CN110619019B - 数据的分布式存储方法及系统 - Google Patents
数据的分布式存储方法及系统 Download PDFInfo
- Publication number
- CN110619019B CN110619019B CN201910727287.0A CN201910727287A CN110619019B CN 110619019 B CN110619019 B CN 110619019B CN 201910727287 A CN201910727287 A CN 201910727287A CN 110619019 B CN110619019 B CN 110619019B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- request
- target
- providing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005856 abnormality Effects 0.000 claims abstract description 9
- 239000000284 extract Substances 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000012706 support-vector machine Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000000513 principal component analysis Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 4
- 238000012549 training Methods 0.000 description 16
- 238000012795 verification Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007474 system interaction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于数据处理技术领域,提供了一种数据的分布式存储方法及系统,请求端发送广播请求包;存储提供端提取广播请求包内部的请求描述信息,并基于请求描述信息判断是否为请求端提供存储服务,若判定为请求端提供存储服务,则向请求端返回答复报文;请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端;请求端将目标数据分割为多个数据块,并计算各个数据块的摘要,生成数据块的标识与摘要的对应关系,将全部的数据块发送至目标提供端;目标提供端存储由请求端发送的各个数据块;请求端每隔预设时间间隔根据对目标提供端存储的一个以上的数据块的摘要进行验证,以确定目标提供端对目标数据的存储是否存在异常。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及一种数据的分布式存储方法及系统。
背景技术
当前,在分布式存储的过程中有时会出现:当存储请求端将数据发送至一个存储提供端进行存储后,存储提供端可能由于设备软硬件问题或者人为恶意将部分数据删除,导致存储提供端未能按合约完整且安全地的存储数据。
另一方面,当存储提供端出现存储异常时,存储请求端往往无法及时获悉相关的异常情况,致使存储请求端的用户遭受重大的损失。
发明内容
有鉴于此,本发明实施例提供了一种数据的分布式存储方法及系统,以解决现有技术在分布式存储中存在的存储故障率高以及可监控性差的问题。
本发明实施例的第一方面提供了一种数据的分布式存储方法,包括:请求端发送广播请求包,所述广播请求包中包含请求描述信息;
存储提供端在接收到所述广播请求包后,提取出所述请求描述信息,并基于所述请求描述信息判断是否为所述请求端提供存储服务,若判定为所述请求端提供存储服务,则向所述请求端返回答复报文;所述请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端;所述请求端将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,将全部的所述数据块发送至所述目标提供端;所述目标提供端接收并存储由所述请求端发送的各个数据块;所述请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
本发明实施例的第二方面提供了一种数据的分布式存储系统,包括:请求端以及存储提供端;
所述请求端,用于发送广播请求包,所述广播请求包中包含请求描述信息;所述存储提供端,用于在接收到所述广播请求包后,提取出所述请求描述信息,并基于所述请求描述信息判断是否为所述请求端提供存储服务,若判定为所述请求端提供存储服务,则向所述请求端返回答复报文;所述请求端,还用于从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端;所述请求端,还用于将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,将全部的所述数据块发送至所述目标提供端;所述目标提供端,还用于接收并存储由所述请求端发送的各个数据块;所述请求端,还用于每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
在本发明实施例中,请求端通过发送广播包,通知局域网中所有的存储提供端自己需要异地存储目标数据;存储提供端在接收到广播请求后,根据其中包含的请求描述信息判断自己是否适宜存储目标数据,有选择地返回答复报文,以避免未来出现数据丢失的情况;请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端,以从请求端的角度筛选出一个可靠性最高的存储提供端,减少未来出现数据异常的概率;请求端将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,从而为后续的抽查验证过程提供数据支持;请求端将全部的数据块发送至所述目标提供端,目标提供端接收并存储由所述请求端发送的各个数据块;请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对目标提供端存储的一个以上的数据块的摘要进行验证,从而及时确定所述目标提供端对所述目标数据的存储是否存在异常,最终实现提高数据在分布式存储中的稳定性的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据的分布式存储方法的实现流程图;
图2是本发明实施例提供的数据的分布式存储方法S103的具体实现流程图;
图3是本发明实施例提供的数据的分布式存储方法S104的具体实现流程图;
图4是本发明实施例提供的数据的分布式存储系统的系统交互图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的数据的分布式存储方法的实现流程,该方法流程包括步骤S101至S106。各步骤的具体实现原理如下。
在S101中,请求端发送广播请求包,所述广播请求包中包含请求描述信息。
在本发明实施例中,一个分布式存储系统中包含多个服务器,任何服务器均可以作为请求端或存储提供端,显然,当一个服务器需要将自己本地存储的部分数据(目标数据)在其他的服务器进行存储时,分布式存储系统中的各个服务器就自然的分为了请求端和存储提供端。
请求端在确定了自己希望在异地存储的目标数据后,需要向分布式存储系统所在的局域网中发送广播请求包,显然,在分布式存储系统中的任何其他服务器(即存储提供端)均可以接收到该广播请求包。
值得注意地,广播请求包中包含有请求描述信息,请求描述信息主要用于描述两方面的信息,一方面为请求端的信息,包括:请求端的位置、级别、服务器类型等信息;另一方面为需要被异地存储的目标数据的信息,包括:目标数据的大小、目标数据的重要性、目标数据的类别以及生成时间等。显然,请求端通过广播请求描述信息,可以供存储提供端判断自己是否适合存入请求端希望异地存储的目标数据。
在S102中,存储提供端在接收到所述广播请求包后,提取出所述请求描述信息,并基于所述请求描述信息判断是否为所述请求端提供存储服务,若判定为所述请求端提供存储服务,则向所述请求端返回答复报文。
可以理解地,在实际的分布式存储中,不同的服务器对不同类型的数据的存储能力和安全性的保障程度是不同的,在本发明实施例中,每个存储提供端为了提高数据存储的安全性和完整性,需要首先根据接收到的广播请求包中的请求描述信息判断自己是否适合为请求端提供存储服务。
可选地,由于一个存储提供端对是否为请求端提供存储服务的判断实际上是一个二分类的问题,所以本发明实施例可以通过预设的支持向量机算法对请求描述信息进行分析,具体包括如下两个步骤:
步骤一:将所述请求描述信息转换为描述矩阵,并通过主成分分析算法对所述描述矩阵进行降维处理,生成目标特征矩阵。
在本发明实施例中,根据预设的数据类型和矩阵位置的对应关系,将请求描述信息中各个数据类型对应的数据值存入相应的矩阵位置中,从而生成描述矩阵。显然,描述矩阵可以用于表征请求描述信息,便于代入后续的公式计算中。随后,为了减少后续分类计算的数据量,本发明实施例通过现有的主成分分析算法对描述信息进行降维处理,由于主成分分析算法为现有技术,因此不在此进行详述。
步骤二:根据预先训练出的支持向量机模型对所述目标特征矩阵进行分类,并基于所述目标特征矩阵的类别,确定是否为所述请求端提供存储服务。
具体地,存储提供端需提前根据训练数据训练出支持向量机模型中的分类超平面,具体方法为:存储提供端收集本地存储的正向集合合负向集合,其中,正向集合和负向集合中均包含多个训练矩阵,正向集合中的训练矩阵表征的是该存储提供端可以处理的待存储数据的请求描述信息,负向集合中的训练矩阵表征的是该存储提供端不可以存储的数据的请求描述信息。通过高斯核函数:将各个训练矩阵转化为高维特征空间,生成各个训练矩阵对应的训练参数,其中Pi表示训练矩阵i的训练参数,Xi表示训练矩阵i,X’表示正向集合以及负向集合中全部训练矩阵的平均矩阵,所述平均矩阵中每个元素的元素值为所有训练矩阵相应元素位置的元素值的平均值,δi表示Xi与X’的协方差矩阵。通过现有的支持向量机算法根据正向集合中训练矩阵的训练参数以及负向集合中训练矩阵的训练参数确定出支持向量机模型的分类超平面。
可以理解地,通过调用预先训练出的支持向量机模型,可以判断出目标特征矩阵位于分类超平面的哪一边,进而确定目标特征矩阵的类别。由于预先已经确定了类别与是否提供存储服务的对应关系,所以存储提供端最终可以通过上述方法确定出是否为请求端提供存储服务。显然,存储提供端会根据请求描述信息判断自己是否适宜存储目标数据,从而从存储提供端一侧避免向自己不适合存储的目标数据的请求端返回答复报文,这在一定程度上可以降低未来目标数据出现丢失和被破坏的可能性。
在S103中,所述请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端。
可以理解地,通过上一个步骤,分布式存储系统中的各个存储提供端(除请求端以外的服务器)都会对接收到的广播请求包做一个判断,有一些存储提供端基于S102的判断后会向请求端返回答复报文,另一些存储提供端不会向请求端返回答复报文。在本发明实施例中,由于请求端对一个目标数据只会发送至一个存储提供端进行存储,所以在此需要对向其返回答复报文的存储提供端进行筛选,最终从这些存储提供端中选择一个可靠性最高的作为目标提供端。
在本发明实施例中,通过存储提供端的存储剩余容量以及返回答复报文的时间,对存储提供端的可靠性进行判断。作为本发明的一个实施例,如图2所示,上述S103包括:
S1031,从预设时间段内各个存储提供端返回的所述答复报文中分别提取出存储剩余容量,建立所述存储提供端与所述存储剩余容量的对应关系。
在本发明实施例中,每个存储提供端在生成答复报文时都会将自己的存储剩余容量添加进去,所以请求端可以知晓各个向其返回答复报文的存储提供端的存储剩余容量。
S1032,计算所述请求端接收到各个存储提供端返回的所述答复报文的时间与所述请求端发送广播请求包的时间的时间差,建立所述存储提供端与所述时间差的对应关系。
显然,请求端在步骤S101中发送广播请求包时会记录一次发送时间,在收到各个答复报文后会记录另一个时间,从而请求端计算出各个存储提供端返回的所述答复报文的时间与所述请求端发送广播请求包的时间的时间差。
S1033,通过系数公式计算各个所述存储提供端的存储系数。
可选地,所述系数公式为:其中,Pi为存储提供端i的存储系数,Capi为所述存储提供端i对应的存储剩余容量,Timei为所述存储提供端i对应的所述时间差。
在本发明实施例中,设定存储系数与可靠性成正比,由于存储剩余容量越高,意味着存储提供端有更多的空间对目标数据进行存储,存储可靠性越高,所以存储系数也越高。另一方面,如果接收到一个存储提供端返回的答复报文的时间与发送广播请求包的时间的时间差越大,一般情况下代表着该存储提供端的运行负荷更大,或该存储提供端与请求端的路由表距离较大,这可能会由于数据的长距离传输导致数据丢失或被盗取的可能性增大,所以存储可靠性会降低,存储系数也相应降低。
S1034,将所述存储系数最大的所述存储提供端作为所述目标提供端。
可以理解地,本发明实施例从请求端一侧再一次对未来目标数据存储的服务器进行一次判断和筛选,进一步提高未来数据存储的可靠性。
在S104中,所述请求端将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,将全部的所述数据块发送至所述目标提供端。
值得注意地,由于本发明实施例为了保证及时发现存储过程中发生的数据异常问题,在后续存在一个定时校验的步骤,但是如果将目标数据进行整体校验显然会产生大量的计算负担,当请求端有多个目标数据进行分布式的异地存储时,请求端显然难以实现对所有目标数据进行整体校验。因此本发明实施例需要将一个目标数据分割为多个数据块,并在后续的校验过程中,对部分数据块进行抽查。此外,为了进一步地减小校验时的数据量,本发明实施例在本步骤中计算各个数据块的摘要,以生成并存储所述数据块的标识与所述摘要的对应关系,从而实现在后续的计算过程中通过摘要对各个数据块进行校验的目的。
作为本发明的一个实施例,如图3所示,上述S104包括:
S1041,将所述数据块分成M个特征组,根据预设的扩展规则将所述M个特征组扩展为N个特征组,并分别为所述N个特征组编号。
在本发明实施例中,所述M为大于1的整数,所述N为大于M的整数。
可选地,每个特征组都是由若干个二进制的字符串组成的。可选地,将M个特征组扩展为N个特征组的扩展规则可以为:假设特征组的编号为t,扩展前每个特征组用Xt表示,扩展后的每个特征组用Yt表示,当t≤M时,Yt=Xt;当t>M时,其中,/>为“异或”运算符。
值得注意地,上述扩展规则仅为一个示例,其他的基于原特征组的扩展规则都可以用于扩展特征子组。
S1042,为所述数据块赋予初始摘要,将所述初始摘要按照排列顺序分为L个初始摘要组,并分别为所述初始摘要组编号。
在本发明实施例中所述L为大于1的整数。
示例性地,假设L为5,则将一个预设的初始摘要分为5个初始摘要组,并为各个初始摘要组编号,生成第一初始摘要组、第二初始摘要组、第三初始摘要组、第四初始摘要组以及第五初始摘要组。可以理解地,可以根据实际情况调整初始摘要组的数量。
S1043,设置所述L个缓存组,并分别为所述缓存组编号。
在本发明实施例中,由于后续要进行赋值和移位计算,因此需要设置与初始摘要组数量相同的缓存组。
示例性地,若初始摘要组的数量是5个,则设置5个缓存组,并为各个缓存组编号,生成第一缓存组、第二缓存组、第三缓存组、第四缓存组以及第五缓存组。
S1044,将各个所述初始摘要组的数据分别存入编号相同的所述缓存组中,循环执行N轮移位赋值计算,所述移位赋值计算包括:在将各个缓存组的数据移位存入后一个缓存组内后,将当前的首个缓存组的数据加上目标特征组的数据,作为新的所述首个缓存组的数据,以更新所述首个缓存组,所述目标特征组的编号与当前所述移位赋值计算的轮次相同。
示例性地,假设N为8,则重复执行8次移位赋值计算,第一次移位赋值计算的输入数据为上述的初始摘要组。例如:初始摘要被分为5个初始摘要组,分别为:第一初始摘要组:1001010,;第二初始摘要组:1000111;第三初始摘要组:1010101;第四初始摘要组:1000001;第五初始摘要组:1000000,并将各个所述初始摘要组的数据分别存入编号相同的所述缓存组中,所以在第一轮移位赋值计算开始时,第一缓存组:1001010,;第二缓存组:1000111;第三缓存组:1010101;第四缓存组:1000001;第五缓存组:1000000。随着执行过一次移位赋值计算,在第一轮移位赋值计算结束时,第二缓存组:1001010;第三缓存组:1001111;第四缓存组:1010101;第五缓存组:1000001,而由于更新后的第一缓存组(即当前的首个缓存组)为更新前的首个缓存组的数据加上目标特征组的数据,而目标特征组的编号与当前所述移位赋值计算的轮次相同,所以由于当前轮次为1,所以更新后的第一缓存组的数据为更新前的第一缓存组的数据加上第一特征组的数据,假设第一特征组的数据为1110,则更新后的第一缓存组的数据为:1001010+1110=0101100。(相应地,如果当前轮次为5,则更新后的第一缓存组的数据为更新前的第一缓存组的数据加上第五特征组的数据)
显然,将第一轮移位赋值计算结束后的各个缓存组的数据,作为下一轮移位赋值计算开始时输入的相应的缓存组的数据。
S1045,将经过N轮移位赋值计算后的各个缓存组内数据组合,作为所述数据块的摘要。
如上文示例所述,如果N为8,则在进行了8轮移位赋值计算后,得到该数据块的摘要。在本发明实施例中,由于每一个数据块都有其对应的标识,该标识用于使服务器搜索和确定数据块。所以通过上述的步骤,可以建立起各个数据块的标识与所述摘要的对应关系。随后,将各个数据块及其对应的标识一起发送至目标提供端。
在S105中,所述目标提供端接收并存储由所述请求端发送的各个数据块。
在S106中,所述请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
具体地,所述目标提供端存储的一个以上的数据块的摘要进行验证,包括:
所述请求端每隔预设时间间隔生成一个挑战报文,所述挑战报文包含一个以上的所述数据块的标识,用于指明抽查的数据块;所述请求端在接收到由所述目标提供端根据所述挑战报文返回的所述数据块的摘要后,根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端返回的所述数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
显然,通过上述的对数据块的标识对应的摘要进行抽查,可以在使用较少计算资源的前提下,及时校对目标数据是否出现存储异常。
在本发明实施例中,请求端通过发送广播包,通知局域网中所有的存储提供端自己需要异地存储目标数据;存储提供端在接收到广播请求后,根据其中包含的请求描述信息判断自己是否适宜存储目标数据,有选择地返回答复报文,以避免未来出现数据丢失的情况;请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端,以从请求端的角度筛选出一个可靠性最高的存储提供端,减少未来出现数据异常的概率;请求端将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,从而为后续的抽查验证过程提供数据支持;请求端将全部的数据块发送至所述目标提供端,目标提供端接收并存储由所述请求端发送的各个数据块;请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对目标提供端存储的一个以上的数据块的摘要进行验证,从而及时确定所述目标提供端对所述目标数据的存储是否存在异常,最终实现提高数据在分布式存储中的稳定性的有益效果。
对应于上文实施例所述的数据的分布式存储方法,图4示出了本发明实施例提供的数据的分布式存储系统的系统交互图,为了便于说明,仅示出了与本发明实施例相关的部分。
参照图4,该系统包括:请求端401以及存储提供端402;
所述请求端,用于发送广播请求包,所述广播请求包中包含请求描述信息;
所述存储提供端,用于在接收到所述广播请求包后,提取出所述请求描述信息,并基于所述请求描述信息判断是否为所述请求端提供存储服务,若判定为所述请求端提供存储服务,则向所述请求端返回答复报文;
所述请求端,还用于从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端;
所述请求端,还用于将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,将全部的所述数据块发送至所述目标提供端;
所述目标提供端,还用于接收并存储由所述请求端发送的各个数据块;
所述请求端,还用于每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
可选地,所述基于所述请求描述信息判断是否为所述请求端提供存储服务,包括:将所述请求描述信息转换为描述矩阵,并通过主成分分析算法对所述描述矩阵进行降维处理,生成目标特征矩阵;根据预先训练出的支持向量机模型对所述目标特征矩阵进行分类,并基于所述目标特征矩阵的类别,确定是否为所述请求端提供存储服务。
可选地,所述请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端,包括:从预设时间段内各个存储提供端返回的所述答复报文中分别提取出存储剩余容量,建立所述存储提供端与所述存储剩余容量的对应关系;计算所述请求端接收到各个存储提供端返回的所述答复报文的时间与所述请求端发送广播请求包的时间的时间差,建立所述存储提供端与所述时间差的对应关系;通过公式:计算各个所述存储提供端的存储系数,其中,Pi为存储提供端i的存储系数,Capi为所述存储提供端i对应的存储剩余容量,Timei为所述存储提供端i对应的所述时间差;将所述存储系数最大的所述存储提供端作为所述目标提供端。
可选地,所述计算各个所述数据块的摘要,包括:
将所述数据块分成M个特征组,根据预设的扩展规则将所述M个特征组扩展为N个特征组,并分别为所述N个特征组编号,所述M为大于1的整数,所述N为大于M的整数;为所述数据块赋予初始摘要,将所述初始摘要按照排列顺序分为L个初始摘要组,并分别为所述初始摘要组编号,所述L为大于1的整数;设置所述L个缓存组,并分别为所述缓存组编号;将各个所述初始摘要组的数据分别存入编号相同的所述缓存组中,循环执行N轮移位赋值计算,所述移位赋值计算包括:在将各个缓存组的数据移位存入后一个缓存组内后,将当前的首个缓存组的数据加上目标特征组的数据,作为新的所述首个缓存组的数据,以更新所述首个缓存组,所述目标特征组的编号与当前所述移位赋值计算的轮次相同;将经过N轮移位赋值计算后的各个缓存组内数据组合,作为所述数据块的摘要。
可选地,所述请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,包括:所述请求端每隔预设时间间隔生成一个挑战报文,所述挑战报文包含一个以上的所述数据块的标识,用于指明抽查的数据块;所述请求端在接收到由所述目标提供端根据所述挑战报文返回的所述数据块的摘要后,根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端返回的所述数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
可以理解地,在本发明实施例中,请求端通过发送广播包,通知局域网中所有的存储提供端自己需要异地存储目标数据;存储提供端在接收到广播请求后,根据其中包含的请求描述信息判断自己是否适宜存储目标数据,有选择地返回答复报文,以避免未来出现数据丢失的情况;请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端,以从请求端的角度筛选出一个可靠性最高的存储提供端,减少未来出现数据异常的概率;请求端将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,从而为后续的抽查验证过程提供数据支持;请求端将全部的数据块发送至所述目标提供端,目标提供端接收并存储由所述请求端发送的各个数据块;请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对目标提供端存储的一个以上的数据块的摘要进行验证,从而及时确定所述目标提供端对所述目标数据的存储是否存在异常,最终实现提高数据在分布式存储中的稳定性的有益效果。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部的单元来实现本实施例方案的目的。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部的或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据的分布式存储方法,其特征在于,包括:
请求端发送广播请求包,所述广播请求包中包含请求描述信息;
存储提供端在接收到所述广播请求包后,提取出所述请求描述信息,并基于所述请求描述信息判断自身是否适合为所述请求端提供存储服务,若判定为所述请求端提供存储服务,则向所述请求端返回答复报文;
所述请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端;
所述请求端将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,将全部的所述数据块发送至所述目标提供端;
所述目标提供端接收并存储由所述请求端发送的各个数据块;
所述请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
2.如权利要求1所述的数据的分布式存储方法,其特征在于,所述基于所述请求描述信息判断自身是否适合为所述请求端提供存储服务,包括:
将所述请求描述信息转换为描述矩阵,并通过主成分分析算法对所述描述矩阵进行降维处理,生成目标特征矩阵;
根据预先训练出的支持向量机模型对所述目标特征矩阵进行分类,并基于所述目标特征矩阵的类别,确定是否为所述请求端提供存储服务。
3.如权利要求1所述的数据的分布式存储方法,其特征在于,所述请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端,包括:
从预设时间段内各个存储提供端返回的所述答复报文中分别提取出存储剩余容量,建立所述存储提供端与所述存储剩余容量的对应关系;
计算所述请求端接收到各个存储提供端返回的所述答复报文的时间与所述请求端发送广播请求包的时间的时间差,建立所述存储提供端与所述时间差的对应关系;
通过公式:计算各个所述存储提供端的存储系数,其中,Pi为存储提供端i的存储系数,Capi为所述存储提供端i对应的存储剩余容量,Timei为所述存储提供端i对应的所述时间差;
将所述存储系数最大的所述存储提供端作为所述目标提供端。
4.如权利要求1所述的数据的分布式存储方法,其特征在于,所述计算各个所述数据块的摘要,包括:
将所述数据块分成M个特征组,根据预设的扩展规则将所述M个特征组扩展为N个特征组,并分别为所述N个特征组编号,所述M为大于1的整数,所述N为大于M的整数;
为所述数据块赋予初始摘要,将所述初始摘要按照排列顺序分为L个初始摘要组,并分别为所述初始摘要组编号,所述L为大于1的整数;
设置所述L个缓存组,并分别为所述缓存组编号;
将各个所述初始摘要组的数据分别存入编号相同的所述缓存组中,循环执行N轮移位赋值计算,所述移位赋值计算包括:在将各个缓存组的数据移位存入后一个缓存组内后,将当前的首个缓存组的数据加上目标特征组的数据,作为新的所述首个缓存组的数据,以更新所述首个缓存组,所述目标特征组的编号与当前所述移位赋值计算的轮次相同;
将经过N轮移位赋值计算后的各个缓存组内数据组合,作为所述数据块的摘要。
5.如权利要求1所述的数据的分布式存储方法,其特征在于,所述请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,包括:
所述请求端每隔预设时间间隔生成一个挑战报文,所述挑战报文包含一个以上的所述数据块的标识,用于指明抽查的数据块;
所述请求端在接收到由所述目标提供端根据所述挑战报文返回的所述数据块的摘要后,根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端返回的所述数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
6.一种数据的分布式存储系统,其特征在于,所述系统包括:请求端以及存储提供端;
所述请求端,用于发送广播请求包,所述广播请求包中包含请求描述信息;
所述存储提供端,用于在接收到所述广播请求包后,提取出所述请求描述信息,并基于所述请求描述信息判断自身是否适合为所述请求端提供存储服务,若判定为所述请求端提供存储服务,则向所述请求端返回答复报文;
所述请求端,还用于从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端;
所述请求端,还用于将目标数据分割为多个数据块,并计算各个所述数据块的摘要,生成并存储所述数据块的标识与所述摘要的对应关系,将全部的所述数据块发送至所述目标提供端;
所述目标提供端,还用于接收并存储由所述请求端发送的各个数据块;
所述请求端,还用于每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
7.如权利要求6所述的数据的分布式存储系统,其特征在于,所述基于所述请求描述信息判断自身是否适合为所述请求端提供存储服务,包括:
将所述请求描述信息转换为描述矩阵,并通过主成分分析算法对所述描述矩阵进行降维处理,生成目标特征矩阵;
根据预先训练出的支持向量机模型对所述目标特征矩阵进行分类,并基于所述目标特征矩阵的类别,确定是否为所述请求端提供存储服务。
8.如权利要求6所述的数据的分布式存储系统,其特征在于,所述请求端从预设时间段内向其返回答复报文的存储提供端中选择一个作为目标提供端,包括:
从预设时间段内各个存储提供端返回的所述答复报文中分别提取出存储剩余容量,建立所述存储提供端与所述存储剩余容量的对应关系;
计算所述请求端接收到各个存储提供端返回的所述答复报文的时间与所述请求端发送广播请求包的时间的时间差,建立所述存储提供端与所述时间差的对应关系;
通过公式:计算各个所述存储提供端的存储系数,其中,Pi为存储提供端i的存储系数,Capi为所述存储提供端i对应的存储剩余容量,Timei为所述存储提供端i对应的所述时间差;
将所述存储系数最大的所述存储提供端作为所述目标提供端。
9.如权利要求6所述的数据的分布式存储系统,其特征在于,所述计算各个所述数据块的摘要,包括:
将所述数据块分成M个特征组,根据预设的扩展规则将所述M个特征组扩展为N个特征组,并分别为所述N个特征组编号,所述M为大于1的整数,所述N为大于M的整数;
为所述数据块赋予初始摘要,将所述初始摘要按照排列顺序分为L个初始摘要组,并分别为所述初始摘要组编号,所述L为大于1的整数;
设置所述L个缓存组,并分别为所述缓存组编号;
将各个所述初始摘要组的数据分别存入编号相同的所述缓存组中,循环执行N轮移位赋值计算,所述移位赋值计算包括:在将各个缓存组的数据移位存入后一个缓存组内后,将当前的首个缓存组的数据加上目标特征组的数据,作为新的所述首个缓存组的数据,以更新所述首个缓存组,所述目标特征组的编号与当前所述移位赋值计算的轮次相同;
将经过N轮移位赋值计算后的各个缓存组内数据组合,作为所述数据块的摘要。
10.如权利要求6所述的数据的分布式存储系统,其特征在于,所述请求端每隔预设时间间隔根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端存储的一个以上的数据块的摘要进行验证,包括:
所述请求端每隔预设时间间隔生成一个挑战报文,所述挑战报文包含一个以上的所述数据块的标识,用于指明抽查的数据块;
所述请求端在接收到由所述目标提供端根据所述挑战报文返回的所述数据块的摘要后,根据预先存储的所述数据块的标识与所述摘要的对应关系,对所述目标提供端返回的所述数据块的摘要进行验证,以确定所述目标提供端对所述目标数据的存储是否存在异常。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910727287.0A CN110619019B (zh) | 2019-08-07 | 2019-08-07 | 数据的分布式存储方法及系统 |
PCT/CN2020/092810 WO2021022875A1 (zh) | 2019-08-07 | 2020-05-28 | 数据的分布式存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910727287.0A CN110619019B (zh) | 2019-08-07 | 2019-08-07 | 数据的分布式存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110619019A CN110619019A (zh) | 2019-12-27 |
CN110619019B true CN110619019B (zh) | 2024-03-15 |
Family
ID=68921578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910727287.0A Active CN110619019B (zh) | 2019-08-07 | 2019-08-07 | 数据的分布式存储方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110619019B (zh) |
WO (1) | WO2021022875A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619019B (zh) * | 2019-08-07 | 2024-03-15 | 平安科技(深圳)有限公司 | 数据的分布式存储方法及系统 |
CN111208953A (zh) * | 2020-04-16 | 2020-05-29 | 广东睿江云计算股份有限公司 | 一种分布式存储方法及其装置 |
CN113783907A (zh) * | 2020-06-10 | 2021-12-10 | 神讯电脑(昆山)有限公司 | 资料撷取装置及其档案备份方法 |
CN113014654B (zh) * | 2021-03-04 | 2023-09-29 | 阳光电源股份有限公司 | 数据存储方法、充电桩以及计算机可读存储介质 |
CN116700632B (zh) * | 2023-08-07 | 2023-10-24 | 湖南中盈梦想商业保理有限公司 | 一种高可靠的金融信息数据存储方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107219997A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 一种用于验证数据一致性的方法及装置 |
CN109302495A (zh) * | 2018-11-20 | 2019-02-01 | 北京邮电大学 | 一种数据存储方法及装置 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN109492394A (zh) * | 2018-10-25 | 2019-03-19 | 平安科技(深圳)有限公司 | 异常业务请求的识别方法及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686262B (zh) * | 2009-05-14 | 2012-07-25 | 南京大学 | 一种基于多节点协作的传感器网络存储方法 |
US9661356B2 (en) * | 2009-10-29 | 2017-05-23 | International Business Machines Corporation | Distribution of unique copies of broadcast data utilizing fault-tolerant retrieval from dispersed storage |
US8688907B2 (en) * | 2009-11-25 | 2014-04-01 | Cleversafe, Inc. | Large scale subscription based dispersed storage network |
CN110619019B (zh) * | 2019-08-07 | 2024-03-15 | 平安科技(深圳)有限公司 | 数据的分布式存储方法及系统 |
-
2019
- 2019-08-07 CN CN201910727287.0A patent/CN110619019B/zh active Active
-
2020
- 2020-05-28 WO PCT/CN2020/092810 patent/WO2021022875A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107219997A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 一种用于验证数据一致性的方法及装置 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN109492394A (zh) * | 2018-10-25 | 2019-03-19 | 平安科技(深圳)有限公司 | 异常业务请求的识别方法及终端设备 |
CN109302495A (zh) * | 2018-11-20 | 2019-02-01 | 北京邮电大学 | 一种数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021022875A1 (zh) | 2021-02-11 |
CN110619019A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110619019B (zh) | 数据的分布式存储方法及系统 | |
CN111523890B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN110049087B (zh) | 一种联盟链的可信度验证方法、系统、装置及设备 | |
US20210158353A1 (en) | Methods, systems, apparatuses, and devices for processing request in consortium blockchain | |
CN109889550A (zh) | 一种DDoS攻击确定方法及装置 | |
CN112839017B (zh) | 一种网络攻击检测方法及其装置、设备和存储介质 | |
CN112199412B (zh) | 基于区块链的支付账单处理方法和区块链账单处理系统 | |
CN110046901A (zh) | 联盟链的可信度验证方法、系统、装置及设备 | |
CN111625467B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN113469371A (zh) | 联邦学习方法和装置 | |
CN112732756A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN110781153B (zh) | 基于区块链的跨应用信息共享方法及系统 | |
CN111294553B (zh) | 处理视频监控业务信令的方法、装置、设备和存储介质 | |
CN109741180B (zh) | 区块链连续交易序号生成方法及装置、区块链网络节点 | |
CN115361295B (zh) | 基于topsis的资源备份方法、装置、设备及介质 | |
CN111786940A (zh) | 一种数据处理方法及装置 | |
CN111614726A (zh) | 一种数据转发方法、集群系统及存储介质 | |
CN110995828A (zh) | 一种网络资源缓存方法、装置及系统 | |
CN111211992B (zh) | 一种信息传输方法及装置 | |
CN110620785B (zh) | 一种基于报文标记数据流的并行检测方法、系统及存储介质 | |
CN107248929B (zh) | 一种多维关联数据的强关联数据生成方法 | |
CN112783673A (zh) | 一种调用链的确定方法、装置、计算机设备及存储介质 | |
CN110704451A (zh) | 基于区块链的所有权登记、举证的方法及装置 | |
Moalla et al. | Trust path: a distributed model of search paths of trust in a peer‐to‐peer system | |
CN117376081B (zh) | 一种基于确定性网络的网络维持方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |