数据存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:26761586 阅读:13 留言:0更新日期:2020-12-18 23:00
本申请实施例公开了一种数据存储方法、装置、电子设备及存储介质。涉及数据存储领域。该方法包括:响应于数据存储请求,将请求存储的第一存储数据存储至内存缓冲区,第一存储数据为存储调用方对应的待存储至硬盘中的数据;当满足写入执行条件时,将写入内存缓冲区的多个第一存储数据组合得到的第二存储数据写入硬盘中,其中,硬盘为机械硬盘;当第二存储数据成功写入硬盘后,将写入内存缓冲区的第一存储数据存储至内存队列中。从而有利于降低硬盘触发磁头的机械运动的次数和运动距离,提升向硬盘中写入数据的性能,有利于更加快速的在硬盘中进行文件存储。

【技术实现步骤摘要】
数据存储方法、装置、电子设备及存储介质
本申请涉及数据存储领域,更具体地,涉及一种数据存储方法、装置、电子设备及存储介质。
技术介绍
在电子设备中,通常会有较多的数据需要进行存储,也会有多种的数据存储方式。例如,在持久化队列的数据存储过程中,会先将数据存储至硬盘中之后,再将存储至硬盘中的数据再存储至内存中。但是,在持久化队列的数据存储过程中,向硬盘中写入数据的性能还有待提升。
技术实现思路
鉴于上述问题,本申请提出了一种数据存储方法、装置、电子设备及存储介质,以改善上述问题。第一方面,本申请提供了一种数据存储方法,所述方法包括:响应于数据存储请求,将请求存储的第一存储数据存储至内存缓冲区,所述第一存储数据为存储调用方对应的待存储至硬盘中的数据;当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,其中,所述硬盘为机械硬盘;当所述第二存储数据成功写入所述硬盘后,将写入所述内存缓冲区的第一存储数据存储至内存队列中。第二方面,本申请提供了一种数据存储装置,所述装置包括:数据缓冲单元,用于响应于数据存储请求,将请求存储的第一存储数据存储至内存缓冲区,所述第一存储数据为存储调用方对应的待存储至硬盘中的数据;持久化写入单元,用于当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,其中,所述硬盘为机械硬盘;内存写入单元,用于当所述第二存储数据成功写入所述硬盘后,将写入所述内存缓冲区的第一存储数据存储至内存队列中。第三方面,本申请提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现上述的方法。第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的方法。本申请提供的一种数据存储方法、装置、电子设备及存储介质,响应于数据存储请求,将请求存储到硬盘中的第一存储数据先存储至内存缓冲区,再当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,然后当所述第二存储数据成功写入所述硬盘后,将写入所述内存缓冲区的第一存储数据存储至内存队列中。从而通过对于写入至内存缓冲区中的多个第一存储数据进行组合的方式,使得可以将多个第一存储数据组合得到一个第二存储数据,继而实现了进行一次向硬盘写入数据的操作,就可以将组合得到第二存储数据的多个第一存储数据写入至硬盘中,降低了写入硬盘的次数。并且,机械硬盘在写入数据的过程中是基于磁头的机械运动了来定位数据写入位置,那么在降低了写入硬盘的次数的情况下,有利于降低硬盘触发磁头的机械运动的次数和运动距离,提升向硬盘中写入数据的性能。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了一种持久化队列的示意图;图2示出了本申请实施例中的一种数据存储方法的应用环境示意图;图3示出了本申请实施例中另一种数据存储方法的应用环境示意图;图4示出了本申请一实施例提出的一种数据存储方法的流程图;图5示出了本申请另一实施例提出的一种数据存储方法的流程图;图6示出了本申请实施例中基于截止时间来确定写入执行条件的示意图;图7示出了本申请实施例中的分多个阶段确定写入执行条件所包括条件内容的示意图;图8示出了本申请实施例中的一种组合得到的第二存储数据的示意图;图9示出了本申请实施例中将第一存储数据的组合后对于存储指令的改变的示意图;图10示出了本申请实施例中对第一存储数据进行拼接得到第二存储数据的示意图;图11示出了本申请实施例中将第一存储数据从内存队列中取出的示意图图12示出了本申请又一实施例提出的一种数据存储方法的流程图;图13示出了本申请又一实施例提出的一种数据存储方法的流程图;图14示出了本申请又一实施例提出的一种数据存储方法的流程图;图15示出了本申请实施例提出的一种数据存储装置的结构框图;图16示出了本申请另一实施例提出的一种数据存储装置的结构框图;图17示出了用于执行根据本申请实施例的数据存储方法的另一种电子设备的结构框图;图18示出了本申请实施例的用于保存或者携带实现根据本申请实施例的数据存储方法的程序代码的存储单元。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。随着计算机系统的功能日益增多,会产生有较多的数据进行存储。例如,对于一些计算机系统派发的数据处理任务,如果不会被立刻进行处理,那么就会将接收到的数据处理任务进行存储。其中,作为一种存储方式,电子设备可以通过持久化队列的方式来对所需存储的数据进行存储。其中,持久化队列是一种可靠的存储方式,如图1所示,持久化队列包括有内存队列,该内存队列是运行于内存中队列,并且内存队列中的数据同时会以文件的形式存储一份在硬盘中,因此持久化队列可以理解为有内存队列以及存储在硬盘中的文件组成,从而使得即使在因为一些原因而造成内存中的数据被清理掉时,也可以从硬盘中恢复数据到内存队列中,以实现持久化队列可靠的数据存储。其中,在通过持久化队列来进行数据存储时,会先将要存储的数据存储一份到硬盘中,然后再将同样的数据存储到队列中。但是,专利技术人在研究中发现,相关的持久化队列的数据存储性能待有待提升。具体的,专利技术人在对相关的持久化队列的数据存储方式进行研究中发现,在相关的方式中是每当有数据需要进行存储时,就会立刻进行一次数据存储操作,而每进行一次数据存储操作则会执行一次向硬盘中写入数据的操作。然而,对于机械硬盘而言,其是通过磁头机械运动进行数据读写位置定位的,而每进行一次数据写入操作都是基于随机写的方式进行的,进而会使得每次执行一次向硬盘中写入数据的操作都需要硬盘先通过磁头机械运动进行数据写入位置的定位,过多的磁头机械运动就会造成数据写入性能受到影响。因此,为了改善上述问题,本申请实施例提供了一种数据存储方法、装置、电子设备及存储介质,通过响应于数据存储请求,将请求存储到硬盘中的第一存储数据先存储至内存缓冲区,再当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,然后当所述第二存储数据成功写入所述硬盘后,将写入所述内存缓冲区的第一存储数据存储至内存队列中。从而通过对于写入至内存缓冲区中的多个第一存储数据进行组合的方式,使得可以将多个第本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n响应于数据存储请求,将请求存储的第一存储数据存储至内存缓冲区,所述第一存储数据为存储调用方对应的待存储至硬盘中的数据;/n当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,其中,所述硬盘为机械硬盘;/n当所述第二存储数据成功写入所述硬盘后,将写入所述内存缓冲区的第一存储数据存储至内存队列中。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
响应于数据存储请求,将请求存储的第一存储数据存储至内存缓冲区,所述第一存储数据为存储调用方对应的待存储至硬盘中的数据;
当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,其中,所述硬盘为机械硬盘;
当所述第二存储数据成功写入所述硬盘后,将写入所述内存缓冲区的第一存储数据存储至内存队列中。


2.根据权利要求1所述的方法,其特征在于,所述当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,包括:
当满足写入执行条件时,基于组提交方式将写入所述内存缓冲区的多个第一存储数据组合为第二存储数据,并将所述第二存储数据写入所述硬盘中。


3.根据权利要求1所述的方法,其特征在于,所述当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,包括:
当满足写入执行条件时,获取写入所述内存缓冲区的多个第一存储数据对应的拼接次序;
基于所述拼接次序,将写入所述内存缓冲区的多个第一存储数据依次拼接得到第二存储数据,其中,在向所述硬盘中写入所述第二存储数据时,拼接次序越靠前的第一存储数据会越优先执行写入操作;
将所述第二存储数据写入所述硬盘中。


4.根据权利要求1所述的方法,其特征在于,所述当满足写入执行条件时,将写入所述内存缓冲区的多个第一存储数据组合得到的第二存储数据写入所述硬盘中,包括:
当有第一存储数据存储至内存缓冲区时,获取写入所述内存缓冲区的多个第一存储数据对应的拼接次序;
基于所述拼接次序,对存储至所述内存缓冲区的所述第一存储数据进行依次拼接,其中,在向所述硬盘中写入所述第二存储数据时,拼接次序越靠前的第一存储数据会越优先执行写入操作;
当满足写入执行条件时,将进行所述拼接得到的第二存储数据写入所述硬盘中。


5.根据权利要求3或4所述的方法,其特征在于,所述获取写入所述内存缓冲区的多个第一存储数据对应的拼接次序,包括:
获取写入所述内存缓冲区的第一存储数据对应的业务类型;
基于所述业务类型,确定写入所述内存缓冲区的多个第一存储数据对应的拼接次序。


6.根据权利要求3或4所述的方法,其特征在于,所述获取写入所述内存缓冲区的多个第一存储数据对应的拼接次序,包括:
获取所述第一存储数据写入所述内存缓冲区的写入时间;
基于所述写入时间,确定写入所述内存缓冲区的多个第一存储数据对应的拼接次序,其中,对应的写入时间越靠前的第一存储数据,所对应的拼接次序越靠前。


7.根据权利要求1所述的方法,其特征在于,所述响应于数据存储请求,将...

【专利技术属性】
技术研发人员:李志涛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1