一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据存储方法、装置、存储介质及电子装置与流程

2021-10-24 07:41:00 来源:中国专利 TAG:数据存储 装置 方法 存储介质 电子


1.本技术涉及数据存储技术领域,具体而言,涉及一种数据存储方法、装置、存储介质及电子装置。


背景技术:

2.随着互联网应用的高速发展,各应用系统产生的各种影像、图片、音频、视频、文档文件等非结构化数据呈现“爆炸性”增长的势态。海量数据的出现和数据复杂度的增加,对于高效、及时的存储和处理的要求不断提升。而对象存储由于其访问便捷、存储成本低、对象数量支持上千亿、易扩展等特点,受到了广泛的关注和发展,其中,aws(amazon web services)推出了s3(simple storage service)对象存储服务,aws s3凭借其简单、易用的s3 api成为事实上的标准,各主流云存储服务提供商都兼容aws s3的协议。如今,aws s3已广泛应用于备份、存储、归档、以及灾难恢复等各种场景中。
3.在云存储服务中,一个常见的操作是数据上传,aws s3提供了一次性上传和分段上传。对于小数据量的上传,可以采用简单的一次性上传;对于大数据量的上传,分段上传可以避免因网络环境不好导致的一直需要从文件起始位置开始上传的问题,还能使用多线程对不同分段数据进行并发发送,提高网络吞吐量,降低发送时间。
4.但是当分段上传的对象进行覆盖上传时,会重新按照分段上传的流程上传所有分段和数据,而在s3的常见应用场景周期性备份中,通常客户端数据只是进行了部分修改,即使数据并没有进行修改或者仅部分数据进行了修改,也会按照分段上传流程上传所有的数据片。对于大文件而言,重复多次全量上传会占用大量的网络带宽,若我们已经分段上传过的文件仅做了很小的改动,标准的s3分段上传仍然会进行全量的上传。因此标准的s3分段上传并不能很好地解决大文件覆盖上传的问题。
5.针对相关技术中的数据分段上传方式进行数据覆盖上传时耗费资源量大、上传效率低的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本技术提供一种数据存储方法、装置、存储介质及电子装置,以解决相关技术中的数据分段上传方式在数据覆盖上传过程中耗费资源量大、上传效率低的问题。
7.根据本技术的一个方面,提供了一种数据存储方法。该方法包括:判断存储端是否已存储分段上传的目标分段数据;在存储端已存储目标分段数据的情况下,获取待上传数据中与目标分段数据不同的数据,得到增量数据;将增量数据上传至存储端。
8.可选地,目标分段数据中至少包括一个分段数据,每个分段数据的大小为第一预设数据量,待上传数据的大小大于第一预设数据量,获取待上传数据中与目标分段数据不同的数据,得到增量数据包括:将待上传数据按照第二预设数据量进行分片,得到多个分片数据,其中,第二预设数据量大于第一预设数据量;获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据;由多个子增量数据组成增量数据。
9.可选地,目标分段数据中的各个分段数据关联有校验和,各个分段数据关联有校验和构成目标校验和列表,获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据包括:从分片数据的首端每次移动第三预设数据量,直至分片数据的尾端,并在每次移动之后按照第一预设数据量进行一次分块,得到多个第一分块数据;分别计算每个第一分块数据的校验和,并获取与目标校验和列表中的校验和匹配的第一分块数据;将多个第一分块数据中的匹配的第一分块数据删除,得到子增量数据。
10.可选地,在获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据之后,该方法还包括:将相邻两个分片数据中的前一分片数据的尾端子增量数据和后一分片数据的首端子增量数据进行合并,得到合并数据;获取合并数据中与目标分段数据不同的数据,并将不同的数据确定为合并数据对应的子增量数据。
11.可选地,目标分段数据中至少包括一个分段数据,每个分段数据的大小为第一预设数据量,在判断存储端是否已存储分段上传的目标分段数据之后,该方法还包括:在存储端不存在目标分段数据的情况下,将待上传数据按照第一预设数据量进行切分,得到多个分段数据,并计算每个分段数据的校验和;将每个分段数据和分段数据的校验和上传至存储端。
12.可选地,将增量数据上传至存储端包括:将增量数据按照第一预设数据量进行切分,得到多个分段数据,并计算每个分段数据的校验和;将每个分段数据和分段数据的校验和上传至存储端。
13.可选地,在将每个分段数据和分段数据的校验和上传至存储端之后,该方法还包括:根据分段数据的校验和判断多个分段数据中是否存在相同的分段数据,在具有相同的分段数据的情况下,对相同的分段数据执行去重操作。
14.根据本技术的另一方面,提供了一种数据存储装置。该装置包括:判断单元,用于判断存储端是否已存储分段上传的目标分段数据;获取单元,用于在存储端已存储目标分段数据的情况下,获取待上传数据中与目标分段数据不同的数据,得到增量数据;第一上传单元,用于将增量数据上传至存储端。
15.根据本发明实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种数据存储方法。
16.根据本发明实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种数据存储方法。
17.通过本技术,采用以下步骤:判断存储端是否已存储分段上传的目标分段数据;在存储端已存储目标分段数据的情况下,获取待上传数据中与目标分段数据不同的数据,得到增量数据;将增量数据上传至存储端,解决了相关技术中的数据分段上传方式在数据覆盖上传过程中耗费资源量大、上传效率低的问题。通过获取待上传数据中的增量数据,进而达到了减少数据覆盖上传过程中的资源消耗,提高上传效率的效果。
附图说明
18.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实
施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
19.图1是根据本技术实施例提供的数据存储方法的流程图;
20.图2是根据本技术实施例提供的可选的数据存储方法的示意图;
21.图3是根据本技术实施例提供的可选的数据存储方法的示意图;
22.图4是根据本技术实施例提供的数据存储方法中对待上传数据进行分片的示意图;
23.图5是根据本技术实施例提供的数据存储方法中通过rsync算法确定每个分片数据中的子增量数据的示意图;
24.图6是根据本技术实施例提供的数据存储方法中待上传数据的每个分片数据的校验和示意图;
25.图7是根据本技术实施例提供的可选的数据存储方法的示意图;
26.图8是根据本技术实施例提供的数据存储装置的示意图。
具体实施方式
27.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
28.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
29.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.根据本技术的实施例,提供了一种数据存储方法。
31.图1是根据本技术实施例的数据存储方法的流程图。如图1所示,该方法包括以下步骤:
32.步骤s102,判断存储端是否已存储分段上传的目标分段数据。
33.具体地,分段上传的目标分段数据是按照预设的数据量对大文件进行分段后上传的数据,目标分段数据中包含多个分段数据,每个分段数据关联有校验和,目标分段数据关联有校验和列表。
34.而当大文件还未上传至存储端,或者存储端采用的是相关技术中的标准s3分段上传方法上传数据,未计算分段数据的校验和,存储端则不存在目标分段数据。
35.可选地,在本技术实施例提供的数据存储方法中,目标分段数据中至少包括一个分段数据,每个分段数据的大小为第一预设数据量,在判断存储端是否已存储分段上传的目标分段数据之后,该方法还包括:在存储端不存在目标分段数据的情况下;将待上传数据
按照第一预设数据量进行切分,得到多个分段数据,并计算每个分段数据的校验和;将每个分段数据和分段数据的校验和上传至存储端。
36.具体的,本实施例中将按照第一预设数据量进行数据切分、同时计算检验数据的分段上传方式称为快速分段上传,在一种可选的实施方式中,如图2所示,是根据本技术实施例提供的可选的数据存储方法的示意图,也即快速分段上传的示意图,本实施例中的快速分段上传具体可以通过以下步骤实现:
37.步骤一:初始化分段上传:在标准的3s分段上传的原有参数上新增参数:快速分段上传标识(fast)、第一预设数据量(r

part

size),需要说明的是,若指定fast以及r

part

size,则表示启用快速分段上传,当后续上传的分段数据大小等于r

part

size时,计算对应分段数据的弱校验和、强校验和,并保存到存储服务端;若不指定fast和r

part

size,那么执行标准的s3分段上传流程。
38.具体地,标准的s3分段上传流程包括:将待上传文件按照一定大小进行分段;使用初始化分段上传接口(createmultipartupload api)初始化一个分段上传任务;使用分段上传接口(uploadpart api)来并发上传分段,单个分段的大小可以限制为5mb到5gb;完成分段上传或者终止分段上传。
39.步骤二:分段上传:对于客户端来说,分段上传参数和标准的s3分段上传一致,但是为了充分利用快速分段上传的功能,可以尽可能将上传的分段数据的大小设置为r

part

size。对于存储端来说,若初始化分段上传时指定了fast参数,那么存储端除了存储分段数据之外,还会新增操作:检查上传的数据的大小是否等于初始化快速分段上传指定的r

part

size,若相等则计算该分段数据的弱校验和、强校验和,并存储到分段信息中;此外,取消每个分段最小5mb的限制。
40.步骤三:完成分段上传:对于客户端来说,与标准的s3分段上传一致。对于存储端来说,若启用了快速分段上传,那么需要将分段上传过程中计算的弱校验和、强校验和合并,组成一个弱校验和、强校验和列表,作为元数据,当使用元数据查询接口(head object api)查询时,向客户端返回元数据。在合并过程中,若发现存在强校验和一致的分段数据,可以在后台启用一个去重的任务,删除多余的分段数据副本,提高存储空间的利用率。
41.通过本实施例,在大文件第一次快速分段上传时,计算和存储每个分段数据的校验和,在第一次快速分段上传完成后,存储端存储有大文件的分段数据,也即目标分段数据,同时,在大文件的元数据中记录相关分段数据的校验和列表,从而为后续的数据覆盖上传时通过元数据确定待上传数据在存储端是否已存储提供数据基础。
42.步骤s104,在存储端已存储目标分段数据的情况下,获取待上传数据中与目标分段数据不同的数据,得到增量数据。
43.为了提高获取增量数据的效率,可选地,在本技术实施例提供的数据存储方法中,目标分段数据中至少包括一个分段数据,每个分段数据的大小为第一预设数据量,待上传数据的大小大于第一预设数据量,获取待上传数据中与目标分段数据不同的数据,得到增量数据包括:将待上传数据按照第二预设数据量进行分片,得到多个分片数据,其中,第二预设数据量大于第一预设数据量;获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据;由多个子增量数据组成增量数据。
44.具体地,当存储端已存储有采用快速分段上传的目标分段数据的情况下,可以通
过head object api查询目标分段数据的弱校验和、强校验和列表,在客户端执行rsync算法查找出客户端的文件修改的增量数据,并使用快速分段上传上传增量数据。
45.在一种可选的实施方式中,如图3所示,是根据本技术实施例提供的可选的数据存储方法的示意图,也即增量数据的查找以及上传的示意图,本实施例中增量数据的查找以及上传具体可以通过以下步骤实现:
46.步骤一:初始化分段上传:指定参数fast和r

part

size,并启用快速分段上传,其中r

part

size从head object api返回参数中获取。
47.步骤二:采用rsync切片工具检查增量数据:具体地,为了实现增量上传,在客户端运行rsync切片工具,通过rsync切片工具对待上传文件进行切分,并执行rsync算法,检查出待上传文件相对与存储端中的目标分段数据的增量部分,然后执行增量部分的分段上传。
48.其中,如图4所示,是根据本技术实施例提供的数据存储方法中对待上传数据进行分片的示意图,也即rsync切片工具的工作流程图:具体地,为了防止增量数据检测过程影响快速分段上传的速度,提高增量查找效率,采用rsync切片工具对原始大文件进行分片,比如按照1000*r

part

size的大小进行等大小切割,切割后可对所有分片执行并发rsync检查,得到检查结果,其中,灰色为已存储的数据块,白色为增量数据块。
49.需要说明的是,由于采用rsync切片工具进行切分为随机分片,可能导致边界处附近的数据本来存储端已经存在,但由于随机分段被误认为是增量数据,因而,需要对分片数据的边界进行单独处理,可选地,在本技术实施例提供的数据存储方法中,在获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据之后,该方法还包括:将相邻两个分片数据中的前一分片数据的尾端子增量数据和后一分片数据的首端子增量数据进行合并,得到合并数据;获取合并数据中与目标分段数据不同的数据,并将不同的数据确定为合并数据对应的子增量数据。
50.也即,若上一个分片的最后一个数据块为增量且下一个分片的第一个数据块为增量,将两个增量数据合成一个分片,再次执行rsync算法。
51.步骤三:分段上传:对于客户端来说,根据rsync切片工具返回的分片对应的数据块列表,执行并发分段上传。若该数据块在存储端已存在,则在分段上传的时候只需要指定对应的强校验和即可,无需上传数据;否则上传对应的数据块。对于存储端来说,若接收到的请求里只有强校验和,没有数据部分,则根据指定的强校验和,查找到对应的数据块,返回上传成功;对于有数据部分的请求,处理逻辑和之前一样:若数据块的大小和r

part

size一致,则存储端除了存储数据块之外,还需要计算该分段的弱校验和、强校验和,并存储到分段信息中;同时,考虑到增量的数据块可能很小,取消每个分段最小5mb的限制。
52.步骤四:完成分段上传:为了避免数据冗余,可选地,在将每个分段数据和分段数据的校验和上传至存储端之后,该方法还包括:根据分段数据的校验和判断多个分段数据中是否存在相同的分段数据,在具有相同的分段数据的情况下,对相同的分段数据执行去重操作。
53.具体地,对于客户端来说,不做修改。对于存储端来说,需要将分段上传过程中计算的弱校验和、强校验和合并,组成一个弱校验和、强校验和列表,作为新的大文件的元数据。同样,在合并过程中,若发现存在有强校验和一致的数据块,可以在后台启用一个去重
checksum(32bits),md5 checksum(128bits)。客户端在收到这个列表后,对待上传文件做同样的checksum计算,然后和存储端传回的的checksum列表做对比;同步客户端拿到存储端的checksum数组后,把这个数据存到一个哈希表中,取待上传的分片数据(filesrc)的第一个文件块(和存储端的切片大小一样)做rolling checksum计算后在哈希表中查找;如果在表中含有匹配项,说明发现在存储端文件中有潜在相同的文件块,再比较md5的checksum(以避免rolling checksum发生碰撞),若rolling checksum和md5都相同,则说明存储端文件中有相同的数据块;若rolling checksum在哈希表中没有匹配项,就表示存储端不存在该数据块,rsync算法会向后偏移一个字节继续做文件块的匹配校验。当rsync算法移动到客户端文件的结尾时,就找出了客户端文件和存储端文件的相同数据块和不同数据块。
63.通过本实施例,根据指定的r

part

size,以及存储端返回的弱校验和、强校验和列表,对分片分别进行rsync算法比对,找到存储端已存在的大小为r

part

size的分片,以及增量分片,实现了位于两个不同位置的文件的相同数据块以及不同数据块的快速比较。
64.图7是根据本技术实施例的可选的数据存储方法的流程图。如图7所示,该方法包括:
65.在用户每一次进行大文件分段上传前,首先检查存储端该大对象是否已存在;若不存在或者采用的是普通s3分段上传,可以使用快速分段进行第一次对象上传;若该大对象已存在并且采用的是快速分段上传,可进一步向存储端请求已上传的分段的弱校验和、强校验和列表,然后在客户端运行rsync算法找到增量数据,使用快速分段上传上传增量数据。
66.其中,第一次快速分段上传具体地通过以下步骤实现:
67.步骤一:初始化分段上传:在标准的3s分段上传的原有参数上新增参数:快速分段上传标识(fast)、第一预设数据量(r

part

size),需要说明的是,若指定fast以及r

part

size,则表示启用快速分段上传,当后续上传的分段数据大小等于r

part

size时,计算对应分段数据的弱校验和、强校验和,并保存到存储服务端;若不指定fast和r

part

size,那么执行标准的s3分段上传流程。
68.具体地,标准的s3分段上传流程包括:将待上传文件按照一定大小进行分段;使用初始化分段上传接口(createmultipartupload api)初始化一个分段上传任务;使用分段上传接口(uploadpart api)来并发上传分段,单个分段的大小可以限制为5mb到5gb;完成分段上传或者终止分段上传。
69.步骤二:分段上传:对于客户端来说,分段上传参数和标准的s3分段上传一致,但是为了充分利用快速分段上传的功能,可以尽可能将上传的分段数据的大小设置为r

part

size。对于存储端来说,若初始化分段上传时指定了fast参数,那么存储端除了存储分段数据之外,还会新增操作:检查上传的数据的大小是否等于初始化快速分段上传指定的r

part

size,若相等则计算该分段数据的弱校验和、强校验和,并存储到分段信息中;此外,取消每个分段最小5mb的限制。
70.步骤三:完成分段上传:对于客户端来说,与标准的s3分段上传一致。对于存储端来说,若启用了快速分段上传,那么需要将分段上传过程中计算的弱校验和、强校验和合并,组成一个弱校验和、强校验和列表,作为元数据,当使用元数据查询接口(head object api)查询时,向客户端返回元数据。在合并过程中,若发现存在强校验和一致的分段数据,
可以在后台启用一个去重的任务,删除多余的分段数据副本,提高存储空间的利用率。
71.其中,覆盖上传的流程可以通过以下步骤实现:
72.步骤一:初始化分段上传:指定参数fast和r

part

size,并启用快速分段上传,其中r

part

size从head object api返回参数中获取。
73.步骤二:采用rsync切片工具检查增量数据:具体地,为了实现增量上传,在客户端运行rsync切片工具,通过rsync切片工具对待上传文件进行切分,并执行rsync算法,检查出待上传文件相对与存储端中的目标分段数据的增量部分,然后执行增量部分的分段上传。
74.步骤三:分段上传:对于客户端来说,根据rsync切片工具返回的分片对应的数据块列表,执行并发分段上传。若该数据块在存储端已存在,则在分段上传的时候只需要指定对应的强校验和即可,无需上传数据;否则上传对应的数据块。对于存储端来说,若接收到的请求里只有强校验和,没有数据部分,则根据指定的强校验和,查找到对应的数据块,返回上传成功;对于有数据部分的请求,处理逻辑和之前一样:若数据块的大小和r

part

size一致,则存储端除了存储数据块之外,还需要计算该分段的弱校验和、强校验和,并存储到分段信息中;同时,考虑到增量的数据块可能很小,取消每个分段最小5mb的限制。
75.步骤四:完成分段上传:对于客户端来说,不做修改。对于存储端来说,需要将分段上传过程中计算的弱校验和、强校验和合并,组成一个弱校验和、强校验和列表,作为新的大文件的元数据。同样,在合并过程中,若发现存在有强校验和一致的数据块,可以在后台启用一个去重的任务,删除多余的数据块副本,提高存储空间的利用率。
76.通过本技术实施例,大文件在第一次分段上传时计算和存储分段数据块的校验和,分段上传完成时在大文件元数据中记录相关分段的校验和列表;在后续的覆盖上传时,首先查询存储服务器某对象是否已存在,若存在进一步向存储服务器获取该对象的校验和列表,然后在客户端运行rsync算法,查找出待上传的大文件与存储端已存储的对象两者间的不同数据块,在覆盖上传时只需要上传增量数据块,实现大文件的快速覆盖上传。
77.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
78.本技术实施例还提供了一种数据存储装置,需要说明的是,本技术实施例的数据存储装置可以用于执行本技术实施例所提供的用于数据存储方法。以下对本技术实施例提供的数据存储装置进行介绍。
79.图8是根据本技术实施例的数据存储装置的示意图。如图8所示,该装置包括:判断单元10、获取单元20和第一上传单元30。
80.具体地,判断单元10,用于判断存储端是否已存储分段上传的目标分段数据。
81.获取单元20,用于在存储端已存储目标分段数据的情况下,获取待上传数据中与目标分段数据不同的数据,得到增量数据。
82.第一上传单元30,用于将增量数据上传至存储端。
83.本技术实施例提供的数据存储装置,通过判断单元10判断存储端是否已存储分段上传的目标分段数据;获取单元20在存储端已存储目标分段数据的情况下,获取待上传数据中与目标分段数据不同的数据,得到增量数据;第一上传单元30将增量数据上传至存储
端,解决了相关技术中的数据分段上传方式在数据覆盖上传过程中耗费资源量大、上传效率低的问题,通过获取待上传数据中的增量数据,进而达到了减少数据覆盖上传过程中的资源消耗,提高上传效率的效果。
84.可选地,在本技术实施例提供的数据存储装置中,目标分段数据中至少包括一个分段数据,每个分段数据的大小为第一预设数据量,待上传数据的大小大于第一预设数据量,获取单元20包括:分片模块,用于将待上传数据按照第二预设数据量进行分片,得到多个分片数据,其中,第二预设数据量大于第一预设数据量;第一获取模块,用于获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据;组成模块,用于由多个子增量数据组成增量数据。
85.可选地,在本技术实施例提供的数据存储装置中,目标分段数据中的各个分段数据关联有校验和,各个分段数据关联有校验和构成目标校验和列表,第一获取模块包括:分块子模块,用于从分片数据的首端每次移动第三预设数据量,直至分片数据的尾端,并在每次移动之后按照第一预设数据量进行一次分块,得到多个第一分块数据;匹配子模块,用于分别计算每个第一分块数据的校验和,并获取与目标校验和列表中的校验和匹配的第一分块数据;将多个第一分块数据中的匹配的第一分块数据删除,得到子增量数据。
86.可选地,在本技术实施例提供的数据存储装置中,该装置还包括:合并模块,用于在获取每个分片数据中与目标分段数据不同的数据,得到多个子增量数据之后,将相邻两个分片数据中的前一分片数据的尾端子增量数据和后一分片数据的首端子增量数据进行合并,得到合并数据第二获取模块,用于获取合并数据中与目标分段数据不同的数据,并将不同的数据确定为合并数据对应的子增量数据。
87.可选地,在本技术实施例提供的数据存储装置中,目标分段数据中至少包括一个分段数据,每个分段数据的大小为第一预设数据量,该装置还包括:切分单元,用于在判断存储端是否已存储分段上传的目标分段数据之后,在存储端不存在目标分段数据的情况下,将待上传数据按照第一预设数据量进行切分,得到多个分段数据,并计算每个分段数据的校验和;第二上传单元,用于将每个分段数据和分段数据的校验和上传至存储端。
88.可选地,在本技术实施例提供的数据存储装置中,第一上传单元30包括:切分模块,用于将增量数据按照第一预设数据量进行切分,得到多个分段数据,并计算每个分段数据的校验和;上传模块,用于将每个分段数据和分段数据的校验和上传至存储端。
89.可选地,在本技术实施例提供的数据存储装置中,上传模块还包括:去重子模块,用于在将每个分段数据和分段数据的校验和上传至存储端之后,根据分段数据的校验和判断多个分段数据中是否存在相同的分段数据,在具有相同的分段数据的情况下,对相同的分段数据执行去重操作。
90.所述数据存储装置包括处理器和存储器,上述判断单元10、获取单元20和第一上传单元30等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
91.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中的数据分段上传方式在数据覆盖上传过程中耗费资源量大、上传效率低的问题。
92.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/
或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
93.本技术实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种数据存储方法。
94.本技术实施例还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种数据存储方法。本文中的电子装置可以是服务器、pc、pad、手机等。
95.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
96.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
97.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
98.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
99.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
100.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
101.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
102.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
103.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
104.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜