数据的追加写方法、装置、设备以及存储介质制造方法及图纸

技术编号:33032578 阅读:10 留言:0更新日期:2022-04-15 09:09
本公开提供了一种数据的追加写方法、装置、设备以及存储介质,涉及云存储技术领域,可应用于云平台。该方法包括:获取待写入数据,将待写入数据写到磁盘;在内存中写入待写入数据的第一索引信息;响应于确定第二索引信息的数目大于第一预设阈值,将第二索引信息存储在存储硬件中,其中,第二索引信息中包括第一索引信息;在内存中写入与第二索引信息对应的第一标识信息。基于本公开提供的数据的追加写方法提高了用户数据的写入速度,保证了存储系统的整体性能。整体性能。整体性能。

【技术实现步骤摘要】
数据的追加写方法、装置、设备以及存储介质


[0001]本公开涉及计算机领域,具体涉及云存储
,尤其涉及数据的追加写方法、装置、设备以及存储介质。

技术介绍

[0002]目前,主流非易失性存储介质(SSD/HDD)追加写性能远高于随机写。因此,追加写的存储系统往往能够充分发挥硬件性能,很多存储系统都会采用追加写盘的方式提高系统的写入效率。但是,由于追加写改变了原有的数据位置,因此,需要维护一个逻辑地址到物理地址的映射关系,即索引信息。而索引信息的存储和维护方式,将严重影响系统的访问性能。

技术实现思路

[0003]本公开提供了一种数据的追加写方法、装置、设备以及存储介质。
[0004]根据本公开的第一方面,提供了一种数据的追加写方法,包括:获取待写入数据,将待写入数据写到磁盘;在内存中写入待写入数据的第一索引信息;响应于确定第二索引信息的数目大于第一预设阈值,将第二索引信息存储在存储硬件中,其中,第二索引信息中包括第一索引信息;在内存中写入与第二索引信息对应的第一标识信息。
[0005]根据本公开的第二方面,提供了一种数据的追加写装置,包括:第一获取模块,被配置成获取待写入数据,将待写入数据写到磁盘;第一写入模块,被配置成在内存中写入待写入数据的第一索引信息;存储模块,被配置成响应于确定第二索引信息的数目大于第一预设阈值,将第二索引信息存储在存储硬件中,其中,第二索引信息中包括第一索引信息;第二写入模块,被配置成在内存中写入与第二索引信息对应的第一标识信息。
[0006]根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。
[0007]根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。
[0008]根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面中任一实现方式描述的方法。
[0009]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0010]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0011]图1是本公开可以应用于其中的示例性系统架构图;
[0012]图2是根据本公开的数据的追加写方法的一个实施例的流程图;
[0013]图3是根据本公开的数据的追加写方法的另一个实施例的流程图;
[0014]图4是根据本公开的数据的追加写方法的又一个实施例的流程图;
[0015]图5是根据本公开的数据的追加写装置的一个实施例的结构示意图;
[0016]图6是用来实现本公开实施例的数据的追加写方法的电子设备的框图。
具体实施方式
[0017]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0018]需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
[0019]图1示出了可以应用本公开的数据的追加写方法或数据的追加写装置的实施例的示例性系统架构100。
[0020]如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0021]用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送信息等。终端设备101、102、103上可以安装有各种客户端应用。
[0022]终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
[0023]服务器105可以提供各种服务。例如,服务器105可以对从终端设备101、102、103获取的待写入数据进行分析和处理,并生成处理结果(例如在内存中写入待写入数据的索引信息)。
[0024]需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
[0025]需要说明的是,本公开实施例所提供的数据的追加写方法一般由服务器105执行,相应地,数据的追加写装置一般设置于服务器105中。
[0026]应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0027]继续参考图2,其示出了根据本公开的数据的追加写方法的一个实施例的流程200。该数据的追加写方法包括以下步骤:
[0028]步骤201,获取待写入数据,将待写入数据写到磁盘。
[0029]在本实施例中,数据的追加写方法的执行主体(例如图1所示的服务器105)可以获
取待写入数据,并将待写入数据写到磁盘,具体地,会将待写入数据以追加写的方式写到磁盘。其中,上述待写入数据可以是由用户行为实时产生的日志数据,上述执行主体会获取该日志数据,并将该日志数据以追加写的方式写入磁盘的日志流中。其中,磁盘指利用磁记录技术存储数据的存储器。磁盘的日志流(也即日志文件系统)中存储了写到磁盘中的数据,其以独立的日志文件跟踪磁盘内容的变化。而由于磁盘中本来就有数据,所以既想将新数据写入到磁盘中,又要保留原数据,因此上述执行主体会以追加写的方式将待写入数据写到磁盘。
[0030]步骤202,在内存中写入待写入数据的第一索引信息。
[0031]在本实施例中,上述执行主体会在内存中写入待写入数据的第一索引信息。由于追加写改变了原有数据的位置,所以,需要维护一个逻辑地址到物理地址的映射关系,也即索引信息。上述执行主体在将待写入数据追加写到磁盘后,会在内存中写入待写入数据的第一索引信息。从而建立待写入数据的逻辑地址到物理地址本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的追加写方法,包括:获取待写入数据,将所述待写入数据写到磁盘;在内存中写入所述待写入数据的第一索引信息;响应于确定第二索引信息的数目大于第一预设阈值,将所述第二索引信息存储在存储硬件中,其中,所述第二索引信息中包括所述第一索引信息;在所述内存中写入与所述第二索引信息对应的第一标识信息。2.根据权利要求1所述的方法,其中,所述响应于确定第二索引信息的数目大于第一预设阈值,将所述第二索引信息存储在存储硬件中,包括:响应于确定所述第二索引信息的数目大于所述第一预设阈值,将所述第二索引信息进行打包,得到索引集合,其中,所述第二索引信息为历史写入区域中逻辑地址相邻的至少一个索引信息;将所述索引集合存储在所述存储硬件中。3.根据权利要求2所述的方法,还包括:响应于确定所述第二索引信息的数目小于或等于所述第一预设阈值,结束所述待写入数据的写入过程。4.根据权利要求1

3中任一项所述的方法,还包括:响应于接收到数据读取请求,获取所述数据读取请求中的逻辑地址;响应于在所述内存中获取到所述逻辑地址对应的第三索引信息,从所述磁盘中读取所述第三索引信息指向的数据。5.根据权利要求4所述的方法,还包括:响应于在所述内存中获取到所述逻辑地址对应的第二标识信息,从所述存储硬件中读取所述第二标识信息对应的多个索引信息;从所述多个索引信息中确定所述逻辑地址对应的目标索引信息;从所述磁盘中读取所述目标索引信息指向的数据。6.根据权利要求5所述的方法,还包括:响应于未在所述内存中获取到所述第三索引信息或所述第二标识信息,返回空数据。7.根据权利要求1

6中任一项所述的方法,还包括:按照预设周期,将所述内存中的索引信息以检查点的形式写入所述存储硬件,其中,所述检查点用于在系统重启时,从所述存储硬件重新加载索引信息到内存的标记。8.根据权利要求1

7中任一项所述的方法,还包括:将所述磁盘和/或所述存储硬件中的数据流进行分段,得到至少两个数据段;响应于确定所述至少两个数据段中的任一数据段中的空洞个数超出第二预设阈值,将该数据段中的数据和/或索引信息迁移到所述数据流的尾部,清空该数据段的占用空间。9.根据权利要求1

8中任一项所述的方法,其中,所述存储硬件为Apache Pass AEP。10.一种数据的追加写装置,包括:第一获取模块,被配置成获取待写入数据,将所述待写入数据写到磁盘;第一写入模块,被配置成在所述内存中写入所述待写入数据的第一索引信息;存储模块,被配置成响应于确定第二索引信息的数目大于第一预设阈值,将所述第二索引信息存储在存储硬件中,其中,所述第二索引信息中包括所述第一索引信息;
第二写入模块,被配置成在所述内存中写入与所述第二索引信息对应的第一标识信息。11.根据权利要求10所述的装置,其中,所述存...

【专利技术属性】
技术研发人员:易正利
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1