首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 碎片数据存储方法、电子设备及系统

碎片数据存储方法、电子设备及系统

阅读:741发布:2020-05-24

专利汇可以提供碎片数据存储方法、电子设备及系统专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种碎片数据存储方法、 电子 设备及系统,所述方法包括:当接收到碎片数据时,从链表中获取当前实体文件;判断所述当前实体文件所在的存储空间是否被写满;当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间;根据所述创建时间与预设的配置时间,确定目标时间;根据所述目标时间确定所述链表中的待遍历存储空间;以所述当前实体文件为起点遍历所述待遍历存储空间;将遍历到的首个空闲存储空间确定为目标存储空间;存储所述碎片数据至所述目标存储空间。本发明能够在保证碎片数据存储效率的前提下,利用被释放的空闲存储空间。,下面是碎片数据存储方法、电子设备及系统专利的具体信息内容。

1.一种碎片数据存储方法,其特征在于,所述方法包括:
当接收到碎片数据时,从链表中获取当前实体文件;
判断所述当前实体文件所在的存储空间是否被写满;
当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间;
根据所述创建时间与预设的配置时间,确定目标时间;
根据所述目标时间确定所述链表中的待遍历存储空间;
以所述当前实体文件为起点遍历所述待遍历存储空间;
将遍历到的首个空闲存储空间确定为目标存储空间;
存储所述碎片数据至所述目标存储空间。
2.如权利要求1所述的碎片数据存储方法,其特征在于,所述判断所述当前实体文件所在的存储空间是否被写满包括:
获取所述当前实体文件所在的存储空间中的所有存储
判断每个存储块中的位图标志位是否被置位;
当每个存储块中的位图标志位均被置位时,确定所述当前实体文件所在的存储空间被写满。
3.如权利要求1所述的碎片数据存储方法,其特征在于,所述方法还包括:
当在所述待遍历存储空间中未遍历到空闲存储空间时,创建第一实体文件;
存储所述碎片数据至所述第一实体文件。
4.如权利要求1所述的碎片数据存储方法,其特征在于,所述存储所述碎片数据至所述目标存储空间包括:
将所述碎片数据的数据量与所述目标存储空间的容量进行比较;
当所述数据量大于所述容量时,按照所述容量切割所述碎片数据,得到第一碎片数据及第二碎片数据,其中,所述第一数据的数据量与所述容量相同,所述第二碎片数据包括除所述第一数据之外的其余数据;
将所述第一碎片数据存储于所述目标存储空间中。
5.如权利要求4所述的碎片数据存储方法,其特征在于,所述方法还包括:
创建第二实体文件,将所述第二碎片数据存储至所述第二实体文件;或者以所述目标存储空间为起点,继续遍历所述待遍历存储空间,将所述第二碎片数据存储至遍历到的空闲的存储空间中。
6.如权利要求1或5中任意一项所述的碎片数据存储方法,其特征在于,所述方法还包括:
获取所述碎片数据的存储位置
记录所述存储位置。
7.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至6中任意一项所述的碎片数据存储方法。
8.根据权利要求7所述的电子设备,其特征在于,所述电子设备为组成内容分发网络或者区块链网络的节点
9.一种碎片数据存储系统,运行于电子设备,其特征在于,所述系统包括:
获取单元,用于当接收到碎片数据时,从链表中获取当前实体文件;
判断单元,用于判断所述当前实体文件所在的存储空间是否被写满;
所述获取单元,还用于当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间;
确定单元,用于根据所述创建时间与预设的配置时间,确定目标时间;
所述确定单元,还用于根据所述目标时间确定所述链表中的待遍历存储空间;
遍历单元,用于以所述当前实体文件为起点遍历所述待遍历存储空间;
所述确定单元,还用于将遍历到的首个空闲存储空间确定为目标存储空间;
存储单元,用于存储所述碎片数据至所述目标存储空间。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有碎片数据存储程序,所述碎片数据存储程序可被一个或者多个处理器执行,以实现如权利要求1至
6中任一项所述的碎片数据存储方法。

说明书全文

碎片数据存储方法、电子设备及系统

技术领域

[0001] 本发明涉及计算机网络技术领域,尤其涉及碎片数据存储方法、电子设备及系统。

背景技术

[0002] 随着存储技术的发展,将系统数据切割成若干个碎片,并以碎片数据的形式进行存储的方式成了趋势,然而,碎片数据被清除后会释放出空闲存储空间,而目前,在保证碎片数据存储效率的前提下,无法同时利用被释放的空闲存储空间,进而导致存储空间的浪费。

发明内容

[0003] 本发明的主要目的在于提供碎片数据存储方法、电子设备及系统,旨在解决在保证碎片数据存储效率的前提下,无法同时利用被释放的空闲存储空间的问题。
[0004] 为实现上述目的,本发明提供一种碎片数据存储方法,所述方法包括:
[0005] 当接收到碎片数据时,从链表中获取当前实体文件;
[0006] 判断所述当前实体文件所在的存储空间是否被写满;
[0007] 当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间;
[0008] 根据所述创建时间与预设的配置时间,确定目标时间;
[0009] 根据所述目标时间确定所述链表中的待遍历存储空间;
[0010] 以所述当前实体文件为起点遍历所述待遍历存储空间;
[0011] 将遍历到的首个空闲存储空间确定为目标存储空间;
[0012] 存储所述碎片数据至所述目标存储空间。
[0013] 优选地,所述判断所述当前实体文件所在的存储空间是否被写满包括:
[0014] 获取所述当前实体文件所在的存储空间中的所有存储
[0015] 判断每个存储块中的位图标志位是否被置位;
[0016] 当每个存储块中的位图标志位均被置位时,确定所述当前实体文件所在的存储空间被写满。
[0017] 优选地,所述方法还包括:
[0018] 当在所述待遍历存储空间中未遍历到空闲存储空间时,创建第一实体文件;
[0019] 存储所述碎片数据至所述第一实体文件。
[0020] 优选地,所述存储所述碎片数据至所述目标存储空间包括:
[0021] 将所述碎片数据的数据量与所述目标存储空间的容量进行比较;
[0022] 当所述数据量大于所述容量时,按照所述容量切割所述碎片数据,得到第一碎片数据及第二碎片数据,其中,所述第一数据的数据量与所述容量相同,所述第二碎片数据包括除所述第一数据之外的其余数据;
[0023] 将所述第一碎片数据存储于所述目标存储空间中。
[0024] 优选地,所述方法还包括:
[0025] 创建第二实体文件,将所述第二碎片数据存储至所述第二实体文件;或者[0026] 以所述目标存储空间为起点,继续遍历所述待遍历存储空间,将所述第二碎片数据存储至遍历到的空闲的存储空间中。
[0027] 优选地,所述方法还包括:
[0028] 获取所述碎片数据的存储位置
[0029] 记录所述存储位置。
[0030] 为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:
[0031] 存储器,存储至少一个指令;及
[0032] 处理器,执行所述存储器中存储的指令以实现所述碎片数据存储方法。
[0033] 优选地,所述电子设备为组成内容分发网络或者区块链网络的节点
[0034] 为实现上述目的,本发明进一步提供一种碎片数据存储系统,所述系统包括:
[0035] 获取单元,用于当接收到碎片数据时,从链表中获取当前实体文件;
[0036] 判断单元,用于判断所述当前实体文件所在的存储空间是否被写满;
[0037] 所述获取单元,还用于当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间;
[0038] 确定单元,用于根据所述创建时间与预设的配置时间,确定目标时间;
[0039] 所述确定单元,还用于根据所述目标时间确定所述链表中的待遍历存储空间;
[0040] 遍历单元,用于以所述当前实体文件为起点遍历所述待遍历存储空间;
[0041] 所述确定单元,还用于将遍历到的首个空闲存储空间确定为目标存储空间;
[0042] 存储单元,用于存储所述碎片数据至所述目标存储空间。
[0043] 优选地,所述判断单元具体用于:
[0044] 获取所述当前实体文件所在的存储空间中的所有存储块;
[0045] 判断每个存储块中的位图标志位是否被置位;
[0046] 当每个存储块中的位图标志位均被置位时,确定所述当前实体文件所在的存储空间被写满。
[0047] 优选地,所述系统还包括:
[0048] 创建单元,用于当在所述待遍历存储空间中未遍历到空闲存储空间时,创建第一实体文件;
[0049] 所述存储单元,还用于存储所述碎片数据至所述第一实体文件。
[0050] 优选地,所述存储单元存储所述碎片数据至所述目标存储空间包括:
[0051] 将所述碎片数据的数据量与所述目标存储空间的容量进行比较;
[0052] 当所述数据量大于所述容量时,按照所述容量切割所述碎片数据,得到第一碎片数据及第二碎片数据,其中,所述第一数据的数据量与所述容量相同,所述第二碎片数据包括除所述第一数据之外的其余数据;
[0053] 将所述第一碎片数据存储于所述目标存储空间中。
[0054] 优选地,所述创建单元,还用于创建第二实体文件,将所述第二碎片数据存储至所述第二实体文件;或者
[0055] 所述遍历单元,还用于以所述目标存储空间为起点,继续遍历所述待遍历存储空间,将所述第二碎片数据存储至遍历到的空闲的存储空间中。
[0056] 优选地,所述获取单元,还用于获取所述碎片数据的存储位置;
[0057] 所述系统还包括:
[0058] 记录单元,用于记录所述存储位置。
[0059] 为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有碎片数据存储程序,所述碎片数据存储程序可被一个或者多个处理器执行,以实现所述的碎片数据存储方法。
[0060] 综上所述,本发明能够当接收到碎片数据时,从链表中获取当前实体文件,判断所述当前实体文件所在的存储空间是否被写满,当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间,根据所述创建时间与预设的配置时间,确定目标时间,根据所述目标时间确定所述链表中的待遍历存储空间,以所述当前实体文件为起点遍历所述待遍历存储空间,将遍历到的首个空闲存储空间确定为目标存储空间,存储所述碎片数据至所述目标存储空间,从而解决了在保证碎片数据存储效率的前提下,无法同时利用被释放的空闲存储空间的问题。附图说明
[0061] 图1为本发明一实施例的流程示意图;
[0062] 图2为本发明一实施例揭露的电子设备的内部结构示意图;
[0063] 图3为本发明碎片数据存储系统的功能模块示意图;
[0064] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
[0065] 主要元件符号说明
[0066] 电子设备 1存储器 12
处理器 13
碎片数据存储系统 11
获取单元 110
判断单元 111
确定单元 112
遍历单元 113
存储单元 114
创建单元 115
记录单元 116
切割单元 117

具体实施方式

[0067] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0068] 本申请说明书权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0069] 需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0070] 本发明提供一种碎片数据存储方法。
[0071] 参照图1,图1为本发明一实施例的流程示意图。根据不同的需求,该流程示意图中步骤的顺序可以改变,某些步骤可以省略。
[0072] 所述碎片数据存储方法应用于一个或者多个电子设备中,所述电子设备是一种能够依据事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述电子设备的硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
[0073] 所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
[0074] 所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于计算(Cloud Computing)的由大量主机或网络服务器构成的云。
[0075] 所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
[0076] 在一实施例中,该方法包括:
[0077] S10,当接收到碎片数据时,从链表中获取当前实体文件。
[0078] 在本发明的至少一个实施例中,所述碎片数据是指存储在碎片文件中的数据。
[0079] 进一步地,所述链表中存储着至少一个实体文件的文件信息。
[0080] 其中,所述文件信息的内容包括,但不限于:文件的创建时间、文件名称等。
[0081] 在本发明的至少一个实施例中,在接收到碎片数据之前,所述方法还包括:
[0082] 所述电子设备获取系统数据及数据的切割长度,根据所述切割长度切割所述系统数据,得到所述碎片数据。
[0083] 其中,所述切割长度可以是自定义配置的,本发明不限制。
[0084] 在本发明的至少一个实施例中,所述电子设备从所述链表中提取最后一个文件信息,并将所述最后一个文件信息对应的文件确定为所述当前实体文件。
[0085] 通过上述实施方式,能够从所述链表中快速确定所述当前实体文件。
[0086] S11,判断所述当前实体文件所在的存储空间是否被写满。
[0087] 在本发明的至少一个实施例中,所述判断所述当前实体文件所在的存储空间是否被写满包括:
[0088] 所述电子设备获取所述当前实体文件所在的存储空间中的所有存储块,进一步地,所述电子设备判断每个存储块中的位图标志位是否被置位,当每个存储块中的位图标志位均被置位时,所述电子设备确定所述当前实体文件所在的存储空间被写满。
[0089] 例如:所述电子设备获取到当前实体文件A所在的存储空间中的所有存储块共15块,进一步地,所述电子设备判断15个存储块中每个存储块的位图标志位是否被置位,当确定15个存储块的位图标志位均为1时,所述电子设备确定所述当前实体文件A所在的存储空间被写满。
[0090] 通过上述实施方式,能够快速确定出所述当前实体文件所在的存储空间的存储状态,以便进一步确定所述碎片数据的存储位置。
[0091] S12,当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间。
[0092] 在本发明的至少一个实施例中,由于所述链表中存储着至少一个实体文件的文件信息,所述文件信息的内容包括创建时间,因此,所述电子设备能从所述最后一个文件信息中提取所述当前实体文件的创建时间。
[0093] 在本发明的至少一个实施例中,当所述当前实体文件所在的存储空间未被写满时,所述电子设备将所述碎片数据存储至所述当前实体文件中的空闲存储块中,进一步地,所述电子设备记录所述碎片数据的存储位置。
[0094] 通过上述实施方式,由于在所述当前实体文件所在的存储空间未被写满时,无需创建新的实体文件或者遍历空闲的存储空间就直接存储,因此能够提高所述碎片数据的存储效率。
[0095] S13,根据所述创建时间与预设的配置时间,确定目标时间。
[0096] 在本发明的至少一个实施例中,所述预设的配置时间可以是根据大数据处理技术确定,也可以是用户配置,所述预设的配置时间可以是一个时间段(如:两个小时),本发明不作限制。
[0097] 在本发明的至少一个实施例中,所述根据所述创建时间与预设的配置时间,确定目标时间包括:
[0098] 所述电子设备获取所述预设的配置时间,进一步地,所述电子设备将所述创建时间与所述预设的配置时间进行相减运算,得到第一时间,将所述第一时间至所述创建时间之间的时间段确定为所述目标时间。
[0099] 例如:所述电子设备获取到预设的配置时间为2个小时,所述创建时间为早上10点,将所述创建时间早上10点减去所述预设的配置时间2个小时,得到所述第一时间为早上8点,进一步地,所述电子设备将早上8点至早上10点之间的时间段确定为所述目标时间。
[0100] 通过确定所述目标时间,能够在遍历空闲的存储空间时,无需遍历所述链表中记录的所有存储空间,而只需遍历创建时间在所述目标时间内的存储空间,不仅能够缩短遍历的时间,还能够避免磁头移动过远而消耗时间。
[0101] S14,根据所述目标时间确定所述链表中的待遍历存储空间。
[0102] 在本发明的至少一个实施例中,所述根据所述目标时间确定所述链表中的待遍历存储空间包括:
[0103] 所述电子设备获取所述链表中记录的每个存储空间对应的第二时间,进一步地,所述电子设备判断每个存储空间的第二时间是否在所述目标时间内,更进一步地,所述电子设备将所述第二时间在所述目标时间内的存储空间确定为所述待遍历存储空间。
[0104] 其中,所述第二时间是指所述链表中的存储空间的创建时间。
[0105] 例如:所述电子设备获取到所述链表中的存储空间有四个,分别为存储空间甲、存储空间乙、存储空间丙及存储空间丁,所述电子设备获取到所述存储空间甲的第二时间为早上12点、所述存储空间乙的第二时间为早上11点、所述存储空间丙的第二时间为早上10点及所述存储空间丁的第二时间为早上9点,所述目标时间为早上11点至下午1点,所述电子设备判断四个存储空间的第二时间是否在早上11点至下午1点内,得到所述存储空间甲及所述存储空间乙为所述待遍历存储空间。
[0106] 通过上述实施方式,能够通过所述目标时间的设定,控制所述待遍历存储空间的数量,进而不仅能够控制所述电子设备遍历所述待遍历存储空间的遍历时间,还能够控制所述电子设备移动磁头的距离,提高所述碎片数据的存储效率。
[0107] S15,以所述当前实体文件为起点遍历所述待遍历存储空间。
[0108] 在发明的至少一个实施例中,所述电子设备以所述当前实体文件为起点遍历所述待遍历存储空间包括:
[0109] 所述电子设备以所述当前实体文件为起点,在所述链表中向前遍历所述待遍历存储空间中是否存在空闲存储空间,当遍历到所述空闲存储空间或者遍历完所述待遍历存储空间时,所述电子设备停止遍历。
[0110] 例如:所述待遍历存储空间中有10个存储空间,以所述当前实体文件为起点,所述电子设备遍历到第5个待遍历存储空间空闲时,或者所述电子设备遍历10个待遍历存储空间后仍未遍历到空闲的存储空间时,所述电子设备停止遍历。
[0111] 由于在存储碎片数据之前,磁头需要移动至碎片数据的存储位置,因此,空闲存储空间距离所述当前实体文件过远,将降低所述碎片数据的存储效率,进而,在未遍历到所述待遍历存储空间中的空闲存储空间时,所述电子设备停止遍历。
[0112] 在发明的至少一个实施例中,所述方法还包括:
[0113] 当在所述待遍历存储空间中未遍历到空闲存储空间时,所述电子设备创建第一实体文件,进一步地,所述电子设备存储所述碎片数据至所述第一实体文件。
[0114] 通过上述实施方式,即使在所述待遍历存储空间中未遍历到空闲的存储空间,所述碎片数据也能够被存储。
[0115] 具体地,所述电子设备创建第一实体文件包括:
[0116] 所述电子设备获取分配的目标身份识别码及获取目标文件名,进一步地,所述电子设备根据所述目标身份识别码及所述目标文件名,在磁盘中占据预设大小的存储空间,得到所述第一实体文件。
[0117] S16,将遍历到的首个空闲存储空间确定为目标存储空间。
[0118] 通过将首个遍历到的空闲存储空间确定为所述目标存储空间,不仅提高了所述目标存储空间的确定速度,还使得被释放的空闲存储空间能够被利用。
[0119] S17,存储所述碎片数据至所述目标存储空间。
[0120] 在发明的至少一个实施例中,所述电子设备存储所述碎片数据至所述目标存储空间包括:
[0121] 所述电子设备将所述碎片数据的数据量与所述目标存储空间的容量进行比较,当所述数据量大于所述容量时,所述电子设备按照所述容量切割所述碎片数据,得到第一碎片数据及第二碎片数据,其中,所述第一数据的数据量与所述容量相同,所述第二碎片数据包括除所述第一数据之外的其余数据,进一步地,所述电子设备将所述第一碎片数据存储于所述目标存储空间中。
[0122] 通过上述实施方式,能够避免因所述碎片数据的数据量大于所述目标存储空间而导致所述碎片数据中的部分数据丢失。
[0123] 在发明的至少一个实施例中,所述方法还包括:
[0124] (1)所述电子设备创建第二实体文件,进一步地,所述电子设备将所述第二碎片数据存储至所述第二实体文件。
[0125] (2)所述电子设备以所述目标存储空间为起点,继续遍历所述待遍历存储空间,进一步地,所述电子设备将所述第二碎片数据存储至遍历到的空闲的存储空间中。
[0126] 具体地,当所述电子设备以所述目标存储空间为起点,在所述待遍历存储空间中未遍历到空闲存储空间时,所述电子设备创建实体文件,并将所述第二碎片数据存储至该实体文件中。
[0127] 在其他实施例中,当确定所述碎片数据的数据量大于所述目标存储空间的容量时,所述电子设备也可以直接创建新的实体文件,并将所述碎片数据存储至所述新的实体文件。
[0128] 在发明的至少一个实施例中,所述方法还包括:
[0129] 所述电子设备获取所述碎片数据的存储位置,进一步地,所述电子设备记录所述存储位置。
[0130] 通过记录所述存储位置,便于后续读取存储在所述存储位置上的所述碎片数据。
[0131] 综上所述,本发明能够当接收到碎片数据时,从链表中获取当前实体文件,判断所述当前实体文件所在的存储空间是否被写满,当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间,根据所述创建时间与预设的配置时间,确定目标时间,根据所述目标时间确定所述链表中的待遍历存储空间,以所述当前实体文件为起点遍历所述待遍历存储空间,将遍历到的首个空闲存储空间确定为目标存储空间,存储所述碎片数据至所述目标存储空间,从而解决了在保证碎片数据存储效率的前提下,无法同时利用被释放的空闲存储空间的问题。
[0132] 参见图2,图2为本发明一实施例揭露的电子设备的内部结构示意图。
[0133] 所述电子设备1可以是组成内容分发网络或者区块链网络的节点。
[0134] 所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如碎片数据存储程序。
[0135] 本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。
[0136] 其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如碎片数据存储程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0137] 处理器13在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器微控制器、微处理器或其他数据处理芯片,用于运行存储器12中存储的程序代码或处理数据,例如执行碎片数据存储程序等。
[0138] 该总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线数据总线、控制总线等。为便于表示,图2中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0139] 示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、判断单元111、确定单元112、遍历单元113、存储单元114、创建单元115、记录单元116及切割单元117。
[0140] 进一步地,电子设备还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
[0141] 可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化用户界面
[0142] 所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
[0143] 其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
[0144] 图2仅示出了具有组件12-13,以及碎片数据存储程序的电子设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0145] 结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种碎片数据存储方法,所述处理器13可执行所述多个指令从而实现:当接收到碎片数据时,从链表中获取当前实体文件;判断所述当前实体文件所在的存储空间是否被写满;当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间;根据所述创建时间与预设的配置时间,确定目标时间;根据所述目标时间确定所述链表中的待遍历存储空间;以所述当前实体文件为起点遍历所述待遍历存储空间;将遍历到的首个空闲存储空间确定为目标存储空间;存储所述碎片数据至所述目标存储空间。
[0146] 参照图3,为本发明碎片数据存储系统的功能模块示意图。所述碎片数据存储系统11包括获取单元110、判断单元111、确定单元112、遍历单元113、存储单元114、创建单元
115、记录单元116及切割单元117。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
[0147] 当接收到碎片数据时,获取单元110从链表中获取当前实体文件。
[0148] 在本发明的至少一个实施例中,所述碎片数据是指存储在碎片文件中的数据。
[0149] 进一步地,所述链表中存储着至少一个实体文件的文件信息。
[0150] 其中,所述文件信息的内容包括,但不限于:文件的创建时间、文件名称等。
[0151] 在本发明的至少一个实施例中,在接收到碎片数据之前,所述方法还包括:
[0152] 所述获取单元110获取系统数据及数据的切割长度,切割单元117根据所述切割长度切割所述系统数据,得到所述碎片数据。
[0153] 其中,所述切割长度可以是自定义配置的,本发明不限制。
[0154] 在本发明的至少一个实施例中,所述获取单元110从所述链表中提取最后一个文件信息,并将所述最后一个文件信息对应的文件确定为所述当前实体文件。
[0155] 通过上述实施方式,能够从所述链表中快速确定所述当前实体文件。
[0156] 判断单元111判断所述当前实体文件所在的存储空间是否被写满。
[0157] 在本发明的至少一个实施例中,所述判断单元111判断所述当前实体文件所在的存储空间是否被写满包括:
[0158] 所述判断单元111获取所述当前实体文件所在的存储空间中的所有存储块,进一步地,所述判断单元111判断每个存储块中的位图标志位是否被置位,当每个存储块中的位图标志位均被置位时,所述判断单元111确定所述当前实体文件所在的存储空间被写满。
[0159] 例如:所述判断单元111获取到当前实体文件A所在的存储空间中的所有存储块共15块,进一步地,所述判断单元111判断15个存储块中每个存储块的位图标志位是否被置位,当确定15个存储块的位图标志位均为1时,所述判断单元111确定所述当前实体文件A所在的存储空间被写满。
[0160] 通过上述实施方式,能够快速确定出所述当前实体文件所在的存储空间的存储状态,以便进一步确定所述碎片数据的存储位置。
[0161] 当所述当前实体文件所在的存储空间被写满时,所述获取单元110获取所述当前实体文件的创建时间。
[0162] 在本发明的至少一个实施例中,由于所述链表中存储着至少一个实体文件的文件信息,所述文件信息的内容包括创建时间,因此,所述获取单元110能从所述最后一个文件信息中提取所述当前实体文件的创建时间。
[0163] 在本发明的至少一个实施例中,当所述当前实体文件所在的存储空间未被写满时,存储单元114将所述碎片数据存储至所述当前实体文件中的空闲存储块中,进一步地,记录单元116记录所述碎片数据的存储位置。
[0164] 通过上述实施方式,由于在所述当前实体文件所在的存储空间未被写满时,无需创建新的实体文件或者遍历空闲的存储空间就直接存储,因此能够提高所述碎片数据的存储效率。
[0165] 确定单元112根据所述创建时间与预设的配置时间,确定目标时间。
[0166] 在本发明的至少一个实施例中,所述预设的配置时间可以是根据大数据处理技术确定,也可以是用户配置,所述预设的配置时间可以是一个时间段(如:两个小时),本发明不作限制。
[0167] 在本发明的至少一个实施例中,所述确定单元112根据所述创建时间与预设的配置时间,确定目标时间包括:
[0168] 所述确定单元112获取所述预设的配置时间,进一步地,所述确定单元112将所述创建时间与所述预设的配置时间进行相减运算,得到第一时间,将所述第一时间至所述创建时间之间的时间段确定为所述目标时间。
[0169] 例如:所述确定单元112获取到预设的配置时间为2个小时,所述创建时间为早上10点,将所述创建时间早上10点减去所述预设的配置时间2个小时,得到所述第一时间为早上8点,进一步地,所述确定单元112将早上8点至早上10点之间的时间段确定为所述目标时间。
[0170] 通过确定所述目标时间,能够在遍历空闲的存储空间时,无需遍历所述链表中记录的所有存储空间,而只需遍历创建时间在所述目标时间内的存储空间,不仅能够缩短遍历的时间,还能够避免磁头移动过远而消耗时间。
[0171] 所述确定单元112根据所述目标时间确定所述链表中的待遍历存储空间。
[0172] 在本发明的至少一个实施例中,所述确定单元112根据所述目标时间确定所述链表中的待遍历存储空间包括:
[0173] 所述确定单元112获取所述链表中记录的每个存储空间对应的第二时间,进一步地,所述确定单元112判断每个存储空间的第二时间是否在所述目标时间内,更进一步地,所述确定单元112将所述第二时间在所述目标时间内的存储空间确定为所述待遍历存储空间。
[0174] 其中,所述第二时间是指所述链表中的存储空间的创建时间。
[0175] 例如:所述确定单元112获取到所述链表中的存储空间有四个,分别为存储空间甲、存储空间乙、存储空间丙及存储空间丁,所述电子设备获取到所述存储空间甲的第二时间为早上12点、所述存储空间乙的第二时间为早上11点、所述存储空间丙的第二时间为早上10点及所述存储空间丁的第二时间为早上9点,所述目标时间为早上11点至下午1点,所述确定单元112判断四个存储空间的第二时间是否在早上11点至下午1点内,得到所述存储空间甲及所述存储空间乙为所述待遍历存储空间。
[0176] 通过上述实施方式,能够通过所述目标时间的设定,控制所述待遍历存储空间的数量,进而不仅能够控制遍历单元113遍历所述待遍历存储空间的遍历时间,还能够控制移动磁头的距离,提高所述碎片数据的存储效率。
[0177] 所述遍历单元113以所述当前实体文件为起点遍历所述待遍历存储空间。
[0178] 在发明的至少一个实施例中,所述遍历单元113以所述当前实体文件为起点遍历所述待遍历存储空间包括:
[0179] 所述遍历单元113以所述当前实体文件为起点,在所述链表中向前遍历所述待遍历存储空间中是否存在空闲存储空间,当遍历到所述空闲存储空间或者遍历完所述待遍历存储空间时,所述遍历单元113停止遍历。
[0180] 例如:所述待遍历存储空间中有10个存储空间,以所述当前实体文件为起点,所述遍历单元113遍历到第5个待遍历存储空间空闲时,或者所述遍历单元113遍历10个待遍历存储空间后仍未遍历到空闲的存储空间时,所述遍历单元113停止遍历。
[0181] 由于在存储碎片数据之前,磁头需要移动至碎片数据的存储位置,因此,空闲存储空间距离所述当前实体文件过远,将降低所述碎片数据的存储效率,进而,在未遍历到所述待遍历存储空间中的空闲存储空间时,所述遍历单元113停止遍历。
[0182] 在发明的至少一个实施例中,所述方法还包括:
[0183] 当在所述待遍历存储空间中未遍历到空闲存储空间时,创建单元115创建第一实体文件,进一步地,所述存储单元114存储所述碎片数据至所述第一实体文件。
[0184] 通过上述实施方式,即使在所述待遍历存储空间中未遍历到空闲的存储空间,所述碎片数据也能够被存储。
[0185] 具体地,所述创建单元115创建第一实体文件包括:
[0186] 所述创建单元115获取分配的目标身份识别码及获取目标文件名,进一步地,所述创建单元115根据所述目标身份识别码及所述目标文件名,在磁盘中占据预设大小的存储空间,得到所述第一实体文件。
[0187] 所述确定单元112将遍历到的首个空闲存储空间确定为目标存储空间。
[0188] 通过将首个遍历到的空闲存储空间确定为所述目标存储空间,不仅提高了所述目标存储空间的确定速度,还使得被释放的空闲存储空间能够被利用。
[0189] 所述存储单元114存储所述碎片数据至所述目标存储空间。
[0190] 在发明的至少一个实施例中,所述存储单元114存储所述碎片数据至所述目标存储空间包括:
[0191] 所述存储单元114将所述碎片数据的数据量与所述目标存储空间的容量进行比较,当所述数据量大于所述容量时,所述存储单元114按照所述容量切割所述碎片数据,得到第一碎片数据及第二碎片数据,其中,所述第一数据的数据量与所述容量相同,所述第二碎片数据包括除所述第一数据之外的其余数据,进一步地,所述存储单元114将所述第一碎片数据存储于所述目标存储空间中。
[0192] 通过上述实施方式,能够避免因所述碎片数据的数据量大于所述目标存储空间而导致所述碎片数据中的部分数据丢失。
[0193] 在发明的至少一个实施例中,所述方法还包括:
[0194] (1)所述创建单元115创建第二实体文件,进一步地,将所述第二碎片数据存储至所述第二实体文件。
[0195] (2)所述遍历单元113以所述目标存储空间为起点,继续遍历所述待遍历存储空间,进一步地,将所述第二碎片数据存储至遍历到的空闲的存储空间中。
[0196] 具体地,当所述遍历单元113以所述目标存储空间为起点,在所述待遍历存储空间中未遍历到空闲存储空间时,所述创建单元115创建实体文件,并将所述第二碎片数据存储至该实体文件中。
[0197] 在其他实施例中,当确定所述碎片数据的数据量大于所述目标存储空间的容量时,所述创建单元115也可以直接创建新的实体文件,并将所述碎片数据存储至所述新的实体文件。
[0198] 在发明的至少一个实施例中,所述方法还包括:
[0199] 所述获取单元110获取所述碎片数据的存储位置,进一步地,所述记录单元116记录所述存储位置。
[0200] 通过记录所述存储位置,便于后续读取存储在所述存储位置上的所述碎片数据。
[0201] 综上所述,本发明能够当接收到碎片数据时,从链表中获取当前实体文件,判断所述当前实体文件所在的存储空间是否被写满,当所述当前实体文件所在的存储空间被写满时,获取所述当前实体文件的创建时间,根据所述创建时间与预设的配置时间,确定目标时间,根据所述目标时间确定所述链表中的待遍历存储空间,以所述当前实体文件为起点遍历所述待遍历存储空间,将遍历到的首个空闲存储空间确定为目标存储空间,存储所述碎片数据至所述目标存储空间,从而解决了在保证碎片数据存储效率的前提下,无法同时利用被释放的空闲存储空间的问题。
[0202] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0203] 所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生依据本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、移动硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态移动硬盘Solid State Disk(SSD))等。
[0204] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0205] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0206] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0207] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0208] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0209] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0210] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈