CN106202387A - 一种数据一致性并行维护方法 - Google Patents
一种数据一致性并行维护方法 Download PDFInfo
- Publication number
- CN106202387A CN106202387A CN201610537425.5A CN201610537425A CN106202387A CN 106202387 A CN106202387 A CN 106202387A CN 201610537425 A CN201610537425 A CN 201610537425A CN 106202387 A CN106202387 A CN 106202387A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization blocks
- node
- synchronous anchor
- data block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012423 maintenance Methods 0.000 title claims abstract description 22
- 230000001360 synchronised effect Effects 0.000 claims abstract description 63
- 238000012795 verification Methods 0.000 claims description 13
- 238000003491 array Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007711 solidification Methods 0.000 description 2
- 230000008023 solidification Effects 0.000 description 2
- QBPPRVHXOZRESW-UHFFFAOYSA-N 1,4,7,10-tetraazacyclododecane Chemical compound C1CNCCNCCNCCN1 QBPPRVHXOZRESW-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method 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
- G06F16/273—Asynchronous replication or reconciliation
-
- 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
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种数据一致性并行维护方法。本方法为:1)节点向网络中其他节点广播请求当前同步周期的同步块并计算当前同步周期的同步锚,若未获得期望的同步块,则该节点计算已存储同步块的同步锚或初始化一起始同步块S0及其同步锚;2)有数据添加需求的节点i在数据A0中写入当前同步周期的同步锚,并按需生成一数组[A]N;数据A0为需要在同步周期添加到一致性数据中的待添加数据;3)各节点并行完成本节点数组[A]N的构建并进行广播;4)节点对收到的拥有相同同步锚的所有[A]N进行过滤,剔除非法数据,构建下一同步周期的同步块。本发明每个同步块之间的数据可并行产生,同时整个数据结构仍保持在依赖关系上的全局一致性。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种在网络分布式计算环境下具有全局一致性并对并行处理过程友善的数据校验方法。
背景技术
网络分布式计算
在网络环境中的计算单元(包括但不限于计算机)独立运行,通过特定的通讯协议和应用软件协作完成特定的计算任务。当分布式计算需要依赖同一数据集时,所有计算节点依赖中心化的存储管理机制来读写所需数据。这种数据读写方式在获得充分管理的计算条件下适用,在缺少中心化存储管理的场合中,虽然现有的数据校验手段可以解决传输中的验证和纠错,但因没有中心节点提供对数据一致性的追溯手段,无法维护节点间所获数据的一致性,也无法抵御恶意节点在数据上施加干扰。
数字签名
数字签名技术是最常见的数据完整性保护机制,能产生比人类指纹更可靠的“数据指纹”。数据产生者将信息用自己的私钥加密,数据获取者对读到的数据与用数据产生者公钥解密出来的信息做对比,验证信息的完整性。这一特点也可以用于校验数据的一致性。当用这种方式来校验一组数据时,需要在数据产生时遵循一定的串行顺序来产生数据的一致性特征,不支持多节点对同一组数据的并行处理。
数字摘要
是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。同上所述,使用数字摘要来校验一组数据的一致性关系时,也需要遵循特定的串行顺序,因此在多节点并行运算时也将成为处理瓶颈。
对等网络和哈希树
当网络分布式计算环境中不存在特定的优先节点和中心控制节点时,计算节点以对等的方式协同的一种分布式计算方式。对等网络可以利用哈希树的方式来保证共享数据的一致性,但这一方法仅对静态数据有效,无法满足分布式计算的动态计算需求。
校验链表
在离散数据中使用特定的规则,使校验数据形成可追溯的链表,通过对链表的查询可以处理历史数据的一致性校验(参考文献:Haber,S.;Stornetta,W.S.(1991)."How totime-stamp a digital document".Journal of Cryptology 3(2).),但这样的链表仅适用于单机单节点环境下使用,如果想要在分布式环境下使用,则不仅需要中心管理节点来仲裁读写过程,还需要复杂的读写锁来避免访问冲突,对并发的读写请求做串行化处理,读写效率非常低。
大数据技术
大数据技术越来越多的用于互联网分布式应用中来解决某些并行数据问题,由于互联网大数据的离散性和非结构化的特点,大数据技术使用冗余和分布式存储的方式来保证数据的可靠性和读写性能,同时放弃了对数据关系一致性的强制性要求。因此大数据需要花较大的代价解决数据质量,尤其是数据一致性的问题(参考文献:FANW,GEERTSF.Foundations of data quality management[J].Synthesis Lectures on DataManagement,2012,4(5):1-217.)。主要的解决方式是采用数据清洗等后期处理(参考文献:范令,基于MAP-REDUCE的大数据不一致性解决算法,2015年微型机与应用第15期;RAHM E,DO H H.Data cleaning:problems and current approaches[J].IEEE Data Eng.Bull.,2000,23(4):3-13.),尚不能在数据产生时就生成有关数据一致性的相关校验信息。
综上所述,多节点分布式计算的现有方案依赖中心化存储和串行化处理来解决数据一致性问题,在去中心化场景中如果想要保持数据的一致性,则必须依赖数据的串行化操作,串行化方法会阻塞其他节点的操作,即使不存在上下文依赖关系的节点也经常要等待其他节点的操作完成,大大降低操作效率。而采用后处理的方法来解决数据一致性的问题则无法满足分布式系统实时运行中的数据需求。
发明内容
分布式系统中的增量全局数据在由多节点同时操作时,会将操作串行化来保持数据一致性,串行化会降低系统效率。
本发明通过在数据结构中设置一种同步块机制,为并行数据操作提供一致性参考依据,实现多节点并行处理增量全局数据时仍能保持数据的一致性。其中,同步块是由认可公共数据结构的节点共同参与生成的。同步块与节点数据之间的数据结构关系如图1所示,第x同步周期的同步块Sx的唯一数字特征(比如数字摘要)作为第x+1个同步周期内所有后继数据块数组[A]N的依赖参照(本发明中称为同步锚)。在相邻同步周期的两同步块Sx和同步块Sx+1之间允许存在任意多个数据块数组[A]N。每个数据块数组[A]N由多个数据块[A]组成,后继数据块A[n]中包含前一数据块A[n-1]的数字摘要。由于允许同时存在多个[A]N,当网络上的计算节点各自形成[A]N时,可以并行进行互不影响。同步块校验和固化增量数据之间的依赖关系,并为后续增量数据提供依赖参照,使得每个同步块之间的数据可以完全并行产生,同时整个数据结构仍保持在依赖关系上的全局一致性。
本发明的技术方案为:
一种数据一致性并行维护方法,其步骤为:
1)节点向网络中其他节点广播请求当前同步周期的同步块并计算当前同步周期的同步锚,若未获得期望的同步块,则该节点计算已存储的同步块的同步锚或初始化一起始同步块S0及其同步锚,并视该同步锚为当前同步周期的同步锚;
2)有数据添加需求的每一节点i在数据A0中写入当前同步周期的同步锚,并按需生成数据块A1,A2,……An,得到一数组[A]N;数据A0为需要在当前同步周期添加到一致性数据中的待添加数据;An为数组[A]N中的第n个数据块;
3)各节点并行完成本节点数组[A]N的构建并进行广播;
4)节点对收到的拥有相同同步锚的所有[A]N进行过滤,剔除非法数据,构建下一同步周期的同步块。
进一步的,同步锚为同步块的唯一数字特征,第x同步周期的同步块Sx的唯一数字特征作为第x+1个同步周期内所有后继数据块数组的同步锚。
进一步的,第x同步周期的同步块Sx中包含上一同步周期同步块Sx-1的唯一数字特征、同步块标号、自定义的数据以及同步块Sx内容的校验数据。
进一步的,步骤2)中,数组[A]N是任意长度,且不同[A]N的长度相同或不同;其中,在第n次产生的数据块An中包含前一次产生的数据块An-1的同步锚,在A1中包含A0的唯一数字特征。
进一步的,相邻同步周期的同步块Sx和同步块Sx+1之间存在若干数据块数组[A]N;每一数据块数组[A]N包块多个数据块[A],后继数据块An中包含前一数据块An-1的唯一数字特征,在A1中包含A0的唯一数字特征。
进一步的,数据块A0中包含同步锚记录和同步块标号记录、数据块A0自身的标号、自定义数据以及数据块A0自身数据内容的校验数据;数据块An中包含An-1的唯一数字特征、数据块An自身标号、自定义数据以及数据块An自身数据内容的校验数据,在A1中包含A0的唯一数字特征。
进一步的,步骤2)中,节点i独立产生若干数据块添加到该数组[A]N中。
进一步的,步骤2)中,节点i与网络中其他节点协调产生若干数据块添加到该数组[A]N中。
进一步的,步骤4)中,判断[A]N是否拥有相同同步锚的方法为:如果两[A]N中的第一个数据块A0中所包含的同步锚是相同的,则认定这两个[A]N拥有相同的同步锚并属于同一个同步周期。
进一步的,将使用数字特征算法对S0计算所得的结果,作为第一个同步周期同步块S0的同步锚。
进一步的,如果节点i在第x同步周期结束前未能成功完成添加的[A]N,则在第x+1同步周期用第x+1同步周期的同步块的同步锚重新构建[A]N并添加到第x+1同步周期的一致性数据中。
与现有技术相比,本发明的积极效果为:
在无中心控制节点的情况下,各节点并行读写到的数据是缺乏可信赖依据的,本发明通过在数据结构中插入周期性的同步块结构,这个结构被设计为具有数据固化的作用,该固化作用,给每一个并行节点提供了确定的可信赖数据。而这样的结构,并不需要一个中心节点来维护,是由所有节点存储和维护的。
当采用本发明中的方法来构建有一致性要求的公共数据时,在生成同步块以外的时间里,节点可以互不影响的并行产生公共数据,极大地提高了公共数据处理的并行性。
以网络中有i个节点各自生成100个数据块,并行生成100*i个数据块为例,假定i个节点间不存在计算依赖,这也是互联网大数据环境下的普遍情况,即无状态化计算(stateless computing),在不采用本发明的方法时,为了构建一致性数据,需要为这组数据建立唯一校验关系,这样的校验关系必须以一维的串行结构来组织。假设这组串行结构的每次维护操作所花时间为1毫秒,则总耗时100*i毫秒;这种串行结构须通过中心控制节点管理的等待队列来协调,理论上的时间复杂度为O(n),即最坏情况下节点需等待100*i-1毫秒。节点平均等待时间为100*i/2-1毫秒。
当采用本发明的方法时,i个节点无需由中心控制节点来协调等待关系,所有i个节点可以通过广播并行的获得当前同步锚,并以此开始分别维护数据组,同样条件下,节点完成数据生成的耗时为100毫秒,且不随i的增减变化;为了共同固化已产生数据,i个节点还需要协作生成新同步块,因此需要i个节点通过广播交换各数据并共同产生新同步块,该操作在理论上的时间复杂度为O(1),可以在确定的时间内完成,且i越大,相对效率越高。因此数据维护的总耗时为100+2c毫秒(c为常数,反映获得同步锚和生成同步锚的时间)。并行效果要优于传统中心化方法,同时避免了中心化所带来的单点实效隐患。
附图说明
图1示例了本发明中的同步块与节点数据之间的结构关系。其中,数据块An是具有前驱和后继关系的数据结构;同步块Sx是一个周期性产生的数据块,将持续增长的An分割开;在同步块之间可以有多个数据块An并行的产生和增长。
图2示例了本发明的数据结构。其中,同步块Sx中包含上一个同步块Sx-1的唯一数字特征,此外还包含唯一的标号和自定义的数据,以及该同步块内容的校验数据;数据块A0中包含同步锚记录和同步块标号记录、自身标号和自定义数据,以及自身数据内容的校验数据;数据块An(n>0)中包含An-1的唯一数字特征和同步块的标号、自身标号和自定义数据,以及自身数据内容的校验数据,同步锚记录中记录了数据块A0所属同步块的同步锚,同步块标号记录中记录了数据块A0所属同步块的标号。
图3示例了并行一致性数据的典型维护流程图。
图4示例了一致性数据中[A]N的生成流程图。
图5示例了节点响应同步块请求广播时的流程图。
具体实施方式
实施方案一:开放式网络环境下,网络中尚不存在可用同步锚时,并行有n个节点有数据增加和维护需求。
1,如图3所示,有数据维护需求的n个节点向网络其他节点广播同步周期查询,请求获得当前最新同步块,该查询请求广播包中包含节点自身信息和期望维护的数据结构信息、必要的版本信息和通讯协议信息,这些信息可被网络中运行同类计算软件的节点接收和解读。拥有相应同步块和同步锚的节点则响应该请求,并向请求节点回复可用的最新同步块;
2,在给定的时间内未获得期望的同步块,n个节点则各自初始化一个起始同步块S0,S0的内部数据域如图2所示,产生Hash(S0)作为第一个同步周期的同步锚;同时该n个节点对外广播同步块;
3,有数据添加维护需求的n个网络节点各自记录监听获得的同步锚,自主决定采用哪一个同步锚,并如图4所示将该同步锚并写入本节点数据块A0中;
4,(以任意某一节点i为例)节点i按需增长数据块组[A]的长度至[A]N,方法为:
a)独立或与其他节点协调产生A1,在A1中包含A0的数字摘要;
b)独立或与其他节点协调产生An,在An中包含An-1的数字摘要;
c)重复以上直至[A]增长至节点期望的长度,得到数组[A]N。
5,在并行的条件下,各节点完成本节点数据[A]N的构建;同时响应来自其它节点的同步周期查询请求,以便其它节点可以并行的加入此同步周期(如图5所示)。拥有相同同步锚的节点之间通过广播的方式汇集所有[A]N,剔除非法数据,计算Hash([A]N,all);如果若干[A]N的第一个数据块A0中所包含的同步锚是相同的,则认定该若干[A]N是同一个同步块后的数据。
6,n个节点各自单独构建新同步块S1,同步块S1的数据结构如图2所示,将Hash([A]N,all)写入S1,完成S1中其他数据计算,生成正式的S1;
7,同步块S1作为新的同步块,产生Hash(S1)作为新的同步锚,以该同步锚开始新的同步周期。
实施方案二:开放式网络环境下,网络中已存在可用同步锚,并行有n个节点有数据增加和维护需求。
1,如图3所示,有数据维护需求的n个节点向网络其他节点广播同步周期查询,请求当前最新同步块,该广播请求中包含节点自身信息和期望维护的数据结构信息、必要的版本信息和通讯协议信息,这些信息可被网络中运行同类计算软件的节点接收和解读。拥有相应同步块和同步锚的节点则响应该请求,并向请求节点回复可用的最新同步块;
2,有数据维护需求的节点在给定的时间内获得期望的同步块Sx-1,n个节点则各自记录该同步块,生成对应的同步锚Hash(Sx-1),并写入本节点数据块A0中(如图4所示);
3,(以任意某一节点i为例)节点i按需增长数据块组[A]的长度至[A]N,方法为:
a)独立或与其他节点协调产生A1,在A1中包含A0的数字摘要;
b)独立或与其他节点协调产生An,在An中包含An-1的数字摘要;
c)重复以上直至[A]增长至节点期望的长度。
4,在并行的条件下,各节点完成本节点数据[A]N的构建;同时响应来自其它节点的同步周期查询请求,以便其它节点可以并行的加入此同步周期(如图5所示)。拥有相同同步锚的节点之间通过广播的方式汇集所有[A]N,剔除非法数据,计算Hash([A]N,all);如果若干[A]N的第一个数据块A0中所包含的同步锚是相同的,则认定该若干[A]N是同一个同步块后的数据。
5,n个节点各自单独构建新同步块Sx,同步块Sx的数据结构如图2所示,将Hash([A]N,all)写入Sx,完成Sx中其他数据计算,生成正式的Sx;
6,同步块Sx作为新的同步块,重复步骤2开始新的同步周期。
实施方案三:开放式网络环境下,节点本地已存在历史同步锚,并行有n个节点有数据增加和维护需求。
1.如图3所示,有数据维护需求的n个节点向网络其他节点广播同步周期查询,请求当前最新同步块,该广播请求中包含节点自身信息和期望维护的数据结构信息、必要的版本信息和通讯协议信息,这些信息可被网络中运行同类计算软件的节点接收和解读。拥有相应同步块和同步锚的节点则响应该请求,并向请求节点回复可用的最新同步块;
2.有数据维护需求的节点在给定的时间内未收到期望的同步块回应,n个节点则各自将本地已存在的同步块视同为同步块Sx-1,生成对应的同步锚Hash(Sx-1),并写入本节点数据块A0中(如图4所示);
3.(以任意某一节点i为例)节点i按需增长数据块组[A]的长度至[A]N,方法为:
a)独立或与其他节点协调产生A1,在A1中包含A0的数字摘要;
b)独立或与其他节点协调产生An,在An中包含An-1的数字摘要;
c)重复以上直至[A]增长至节点期望的长度。
4.在并行的条件下,各节点完成本节点数据[A]N的构建;同时响应来自其它节点的同步周期查询请求,以便其它节点可以并行的加入此同步周期(如图5所示)。拥有相同同步锚的节点之间通过广播的方式汇集所有[A]N,剔除非法数据,计算Hash([A]N,all);如果若干[A]N的第一个数据块A0中所包含的同步锚是相同的,则认定该若干[A]N是同一个同步块后的数据。
5.n个节点各自单独构建新同步块Sx,同步块Sx的数据结构如图2所示,将Hash([A]N,all)写入Sx,完成Sx中其他数据计算,生成正式的Sx;
6.同步块Sx作为新的同步块,重复步骤2开始新的同步周期。
实施方案四:开放式网络环境下,网络中尚不存在可用同步锚时,并行有n个节点有数据增加和维护需求,数据链同步锚依赖关系由抽象规则描述。
1,如图3所示,有数据维护需求的n个节点向网络其他节点广播请求当前同步块,该广播请求中包含节点自身信息和期望维护的数据结构信息、必要的版本信息和通讯协议信息,这些信息可被网络中运行同类计算软件的节点接收和解读。拥有相应同步锚的节点则响应该请求,并向请求节点回复可用的最新同步块;
2,在给定的时间内未获得期望的同步块,n个节点则各自初始化一个起始同步块S0,S0的内部数据域如图2所示,产生Hash(S0)作为第一个同步周期的同步锚;同时该n个节点对外广播同步锚;
3,有数据添加维护需求的n个网络节点各自记录监听获得的同步块,自主决定采用哪一个同步块来作为当前同步周期的同步块Sx-1,生成对应的同步锚Hash(Sx-1),并将该同步锚并写入本节点数据块A0中(如图4所示);
4,(以任意某一节点i为例)节点i按需增长数据块组[A]N,方法为:
a)定义{fj}x是数字特征依赖规则集合。
b)独立或与其他节点协调产生A0,A1,…,AN,定义数据块集合[A]N={A0,A1,…,AN},相应的数字特征集合为F{[A]N}={FA0,FA1,…,FAN}。同步块S(x-1)和S(x-1)的数字特征FS(x-1),数字特征集合F{[A]N},设φN为F{[A]N}的不含空集的幂集,即 类似的有由依赖规则给出依赖关系FAN=f1(i,φN-1,FS(x-1)),或FAN=f2(i,φN-1),或FAN=f3(φN-1,FS(x-1)),或FAN=f4(φN-1)。且F{[A]N}=F{[A]N-1}∪{FAN}。其中i是节点i的标号。
c)记[A]N中任一数据块为[A],当[A]由数据集合{BM|M>1,M∈自然数集}构成时,有[A]=[B]M,对应的数字特征为F[A]和数字特征集合F{[B]M}={FBM|M>1,M∈自然数集,FBM是数据块BM的数字特征},由依赖规则给出依赖关系,有F[A]=f5(F{[B]M},FS(x-1)),或F[A]=f6(F{[B]M}),或者有F[A]=f7([A])。
5,在并行的条件下,各节点完成本节点数据[A]N的构建。拥有相同同步锚的节点之间通过广播的方式汇集所有[A]N,剔除非法数据,得到各节点共同认可的合法数字特征集合F{[A]all}。
6,n个节点使用F{[A]all}各自单独构建新同步块Sx。
7,同步块Sx作为新的同步块,计算FSx=f8(Sx),FSx作为新的同步锚,以该同步锚开始新的同步周期。
Claims (13)
1.一种数据一致性并行维护方法,其步骤为:
1)节点向网络中其他节点广播请求当前同步周期的同步块并计算当前同步周期的同步锚,若未获得期望的同步块,则该节点计算已存储的同步块的同步锚或初始化一起始同步块S0及其同步锚,并视该同步锚为当前同步周期的同步锚;
2)有数据添加需求的每一节点i在数据A0中写入当前同步周期的同步锚,并按需生成数据块A1,A2,……An,得到一数组[A]N;数据A0为需要在当前同步周期添加到一致性数据中的待添加数据;An为数组[A]N中的第n个数据块;
3)各节点并行完成本节点数组[A]N的构建并进行广播;
4)节点对收到的拥有相同同步锚的所有[A]N进行过滤,剔除非法数据,构建下一同步周期的同步块。
2.如权利要求1所述的方法,其特征在于,同步锚为同步块的唯一数字特征,第x同步周期的同步块Sx的唯一数字特征作为第x+1个同步周期内所有后继数据块数组的同步锚。
3.如权利要求1所述的方法,其特征在于,第x同步周期的同步块Sx中包含上一同步周期同步块Sx-1的唯一数字特征、自定义的数据以及同步块Sx内容的校验数据。
4.如权利要求3所述的方法,其特征在于,第x同步周期的同步块Sx中包含上一同步周期同步块Sx-1的同步块标号。
5.如权利要求1或2或3所述的方法,其特征在于,步骤2)中,构建数组[A]N时,在第n次产生的数据块An中包含前一次产生的数据块An-1的唯一数字特征,在A1中包含A0的唯一数字特征。
6.如权利要求1或2或3所述的方法,其特征在于,相邻同步周期的同步块Sx和同步块Sx+1之间存在若干数据块数组[A]N;每一数据块数组[A]N包块多个数据块[A],后继数据块An中包含前一数据块An-1的唯一数字特征,在A1中包含A0的唯一数字特征。
7.如权利要求1或2或3所述的方法,其特征在于,数据块A0中包含同步锚记录和同步块标号记录、自定义数据以及数据块A0自身数据内容的校验数据;数据块An中包含An-1的唯一数字特征、自定义数据以及数据块An自身数据内容的校验数据,在A1中包含A0的唯一数字特征。
8.如权利要求7所述的方法,其特征在于,数据块A0中包含数据块A0自身的标号;数据块An中包含数据块An自身标号。
9.如权利要求1或2或3所述的方法,其特征在于,步骤2)中,节点i独立产生若干数据块添加到该数组[A]N中。
10.如权利要求1或2或3所述的方法,其特征在于,步骤2)中,节点i与网络中其他节点协调产生若干数据块添加到该数组[A]N中。
11.如权利要求1或2或3所述的方法,其特征在于,步骤4)中,判断[A]N是否拥有相同同步锚的方法为:如果两[A]N中的第一个数据块A0中所包含的同步锚是相同的,则认定这两个[A]N拥有相同的同步锚并属于同一个同步周期。
12.如权利要求1或2或3所述的方法,其特征在于,将使用数字特征算法对S0计算所得的结果,作为第一个同步周期同步块S0的同步锚。
13.如权利要求1或2或3所述的方法,其特征在于,如果节点i在第x同步周期结束前未能成功完成添加的[A]N,则在第x+1同步周期用第x+1同步周期的同步块的同步锚重新构建[A]N并添加到第x+1同步周期的一致性数据中。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610537425.5A CN106202387B (zh) | 2016-07-08 | 2016-07-08 | 一种数据一致性并行维护方法 |
EP17823437.3A EP3483749A4 (en) | 2016-07-08 | 2017-03-23 | METHOD OF PARALLEL MAINTAINING DATA CONSISTENCY |
PCT/CN2017/077834 WO2018006624A1 (zh) | 2016-07-08 | 2017-03-23 | 一种数据一致性并行维护方法 |
US16/098,929 US11036760B2 (en) | 2016-07-08 | 2017-03-23 | Method for parallel maintenance of data consistency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610537425.5A CN106202387B (zh) | 2016-07-08 | 2016-07-08 | 一种数据一致性并行维护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106202387A true CN106202387A (zh) | 2016-12-07 |
CN106202387B CN106202387B (zh) | 2019-05-21 |
Family
ID=57473064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610537425.5A Active CN106202387B (zh) | 2016-07-08 | 2016-07-08 | 一种数据一致性并行维护方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11036760B2 (zh) |
EP (1) | EP3483749A4 (zh) |
CN (1) | CN106202387B (zh) |
WO (1) | WO2018006624A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018006624A1 (zh) * | 2016-07-08 | 2018-01-11 | 苏州超块链信息科技有限公司 | 一种数据一致性并行维护方法 |
CN109614403A (zh) * | 2018-10-24 | 2019-04-12 | 北京三快在线科技有限公司 | 集群服务节点的数据一致性校验方法及装置 |
CN109886048A (zh) * | 2019-02-12 | 2019-06-14 | 苏州超块链信息科技有限公司 | 一种基于密码学难度累积的数据一致性保护方法 |
CN110753103A (zh) * | 2019-10-16 | 2020-02-04 | 长春银彩通信息科技有限公司 | 一种数据分布式高效封存的方法以及系统 |
CN116527555A (zh) * | 2023-06-20 | 2023-08-01 | 中国标准化研究院 | 一种跨平台数据互通一致性测试方法 |
CN117609270A (zh) * | 2024-01-22 | 2024-02-27 | 广东广宇科技发展有限公司 | 一种多维数据分布式并行处理方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259081A (zh) * | 2020-02-04 | 2020-06-09 | 杭州数梦工场科技有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
CN112925775A (zh) * | 2021-02-07 | 2021-06-08 | 浙江免编码科技有限公司 | 一种大数据清洗与分析系统 |
CN113535716B (zh) * | 2021-06-23 | 2024-05-24 | 浙江中控信息产业股份有限公司 | 一种高效的数据存储及查询管理方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292880B1 (en) * | 1998-04-15 | 2001-09-18 | Inktomi Corporation | Alias-free content-indexed object cache |
US20040078637A1 (en) * | 2002-03-27 | 2004-04-22 | Fellin Jeffrey K. | Method for maintaining consistency and performing recovery in a replicated data storage system |
CN101567805A (zh) * | 2009-05-22 | 2009-10-28 | 清华大学 | 并行文件系统发生故障后的恢复方法 |
CN101610225A (zh) * | 2008-06-20 | 2009-12-23 | 华为技术有限公司 | 一种同步处理方法、系统和装置 |
CN101656652A (zh) * | 2008-08-21 | 2010-02-24 | 中国移动通信集团公司 | 动态内容分发的内容同步方法、设备及系统 |
CN101741911A (zh) * | 2009-12-18 | 2010-06-16 | 中兴通讯股份有限公司 | 基于多副本协同的写操作方法、系统及节点 |
US20100257149A1 (en) * | 2009-04-03 | 2010-10-07 | International Business Machines Corporation | Data synchronization and consistency across distributed repositories |
CN102724295A (zh) * | 2012-05-24 | 2012-10-10 | 中国电子科技集团公司第十五研究所 | 数据同步方法及系统 |
CN102750342A (zh) * | 2012-06-07 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种集群文件系统数据一致性的方法 |
CN103729297A (zh) * | 2013-12-31 | 2014-04-16 | 北京理工大学 | 一种基于分层遗传算法的测试用例生成方法 |
CN103729291A (zh) * | 2013-12-23 | 2014-04-16 | 华中科技大学 | 一种基于同步关系的并行动态数据竞争检测系统 |
CN103795754A (zh) * | 2012-10-31 | 2014-05-14 | 中国电信股份有限公司 | 多系统间的数据同步方法和系统 |
CN103793482A (zh) * | 2014-01-16 | 2014-05-14 | 北京恒华伟业科技股份有限公司 | 一种数据同步方法和系统 |
CN103955486A (zh) * | 2014-04-14 | 2014-07-30 | 五八同城信息技术有限公司 | 分布式服务系统及其数据更新、数据查询的方法 |
CN104050270A (zh) * | 2014-06-23 | 2014-09-17 | 成都康赛信息技术有限公司 | 一种基于一致性哈希算法的分布式存储方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590558B2 (en) * | 2000-09-26 | 2009-09-15 | I2 Technologies Us, Inc. | System and method for facilitating electronic commerce transactions |
US6954776B1 (en) * | 2001-05-07 | 2005-10-11 | Oracle International Corporation | Enabling intra-partition parallelism for partition-based operations |
US7159211B2 (en) * | 2002-08-29 | 2007-01-02 | Indian Institute Of Information Technology | Method for executing a sequential program in parallel with automatic fault tolerance |
US7353509B2 (en) * | 2003-05-27 | 2008-04-01 | Akamai Technologies, Inc. | Method and system for managing software installs in a distributed computer network |
US7756051B2 (en) * | 2004-07-02 | 2010-07-13 | Microsoft Corporation | Content distribution using network coding |
US7406597B2 (en) * | 2004-10-29 | 2008-07-29 | International Business Machines Corporation | Methods for efficiently authenticating multiple objects based on access patterns |
US7590668B2 (en) * | 2005-04-15 | 2009-09-15 | Microsoft Corporation | Pausable backups of file system items |
CN101009516B (zh) * | 2006-01-26 | 2011-05-04 | 华为技术有限公司 | 一种进行数据同步的方法、系统及装置 |
US7848261B2 (en) * | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7613770B2 (en) * | 2006-06-30 | 2009-11-03 | Microsoft Corporation | On-demand file transfers for mass P2P file sharing |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
JP5568048B2 (ja) | 2011-04-04 | 2014-08-06 | 株式会社日立製作所 | 並列計算機システム、およびプログラム |
CN102739412A (zh) | 2012-06-13 | 2012-10-17 | 苏州阔地网络科技有限公司 | 一种消息的批量调度控制方法及系统 |
CN103268318B (zh) * | 2013-04-16 | 2016-04-13 | 华中科技大学 | 一种强一致性的分布式键值数据库系统及其读写方法 |
CN106202387B (zh) * | 2016-07-08 | 2019-05-21 | 苏州超块链信息科技有限公司 | 一种数据一致性并行维护方法 |
-
2016
- 2016-07-08 CN CN201610537425.5A patent/CN106202387B/zh active Active
-
2017
- 2017-03-23 EP EP17823437.3A patent/EP3483749A4/en active Pending
- 2017-03-23 WO PCT/CN2017/077834 patent/WO2018006624A1/zh unknown
- 2017-03-23 US US16/098,929 patent/US11036760B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292880B1 (en) * | 1998-04-15 | 2001-09-18 | Inktomi Corporation | Alias-free content-indexed object cache |
US20040078637A1 (en) * | 2002-03-27 | 2004-04-22 | Fellin Jeffrey K. | Method for maintaining consistency and performing recovery in a replicated data storage system |
CN101610225A (zh) * | 2008-06-20 | 2009-12-23 | 华为技术有限公司 | 一种同步处理方法、系统和装置 |
CN101656652A (zh) * | 2008-08-21 | 2010-02-24 | 中国移动通信集团公司 | 动态内容分发的内容同步方法、设备及系统 |
US20100257149A1 (en) * | 2009-04-03 | 2010-10-07 | International Business Machines Corporation | Data synchronization and consistency across distributed repositories |
CN101567805A (zh) * | 2009-05-22 | 2009-10-28 | 清华大学 | 并行文件系统发生故障后的恢复方法 |
CN101741911A (zh) * | 2009-12-18 | 2010-06-16 | 中兴通讯股份有限公司 | 基于多副本协同的写操作方法、系统及节点 |
CN102724295A (zh) * | 2012-05-24 | 2012-10-10 | 中国电子科技集团公司第十五研究所 | 数据同步方法及系统 |
CN102750342A (zh) * | 2012-06-07 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种集群文件系统数据一致性的方法 |
CN103795754A (zh) * | 2012-10-31 | 2014-05-14 | 中国电信股份有限公司 | 多系统间的数据同步方法和系统 |
CN103729291A (zh) * | 2013-12-23 | 2014-04-16 | 华中科技大学 | 一种基于同步关系的并行动态数据竞争检测系统 |
CN103729297A (zh) * | 2013-12-31 | 2014-04-16 | 北京理工大学 | 一种基于分层遗传算法的测试用例生成方法 |
CN103793482A (zh) * | 2014-01-16 | 2014-05-14 | 北京恒华伟业科技股份有限公司 | 一种数据同步方法和系统 |
CN103955486A (zh) * | 2014-04-14 | 2014-07-30 | 五八同城信息技术有限公司 | 分布式服务系统及其数据更新、数据查询的方法 |
CN104050270A (zh) * | 2014-06-23 | 2014-09-17 | 成都康赛信息技术有限公司 | 一种基于一致性哈希算法的分布式存储方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018006624A1 (zh) * | 2016-07-08 | 2018-01-11 | 苏州超块链信息科技有限公司 | 一种数据一致性并行维护方法 |
US11036760B2 (en) * | 2016-07-08 | 2021-06-15 | Suzhou Superblock Chain Information Science & Technology Co., Ltd. | Method for parallel maintenance of data consistency |
CN109614403A (zh) * | 2018-10-24 | 2019-04-12 | 北京三快在线科技有限公司 | 集群服务节点的数据一致性校验方法及装置 |
CN109614403B (zh) * | 2018-10-24 | 2020-03-06 | 北京三快在线科技有限公司 | 集群服务节点的数据一致性校验方法及装置 |
CN109886048A (zh) * | 2019-02-12 | 2019-06-14 | 苏州超块链信息科技有限公司 | 一种基于密码学难度累积的数据一致性保护方法 |
CN109886048B (zh) * | 2019-02-12 | 2023-01-13 | 苏州超块链信息科技有限公司 | 一种基于密码学难度累积的数据一致性保护方法 |
CN110753103A (zh) * | 2019-10-16 | 2020-02-04 | 长春银彩通信息科技有限公司 | 一种数据分布式高效封存的方法以及系统 |
CN116527555A (zh) * | 2023-06-20 | 2023-08-01 | 中国标准化研究院 | 一种跨平台数据互通一致性测试方法 |
CN116527555B (zh) * | 2023-06-20 | 2023-09-12 | 中国标准化研究院 | 一种跨平台数据互通一致性测试方法 |
CN117609270A (zh) * | 2024-01-22 | 2024-02-27 | 广东广宇科技发展有限公司 | 一种多维数据分布式并行处理方法 |
CN117609270B (zh) * | 2024-01-22 | 2024-04-09 | 广东广宇科技发展有限公司 | 一种多维数据分布式并行处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3483749A1 (en) | 2019-05-15 |
CN106202387B (zh) | 2019-05-21 |
WO2018006624A1 (zh) | 2018-01-11 |
EP3483749A4 (en) | 2020-04-29 |
US11036760B2 (en) | 2021-06-15 |
US20190205314A1 (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202387B (zh) | 一种数据一致性并行维护方法 | |
Xu et al. | SlimChain: Scaling blockchain transactions through off-chain storage and parallel processing | |
Rhea et al. | Pond: The {OceanStore} Prototype | |
Qi et al. | A reliable storage partition for permissioned blockchain | |
US9442671B1 (en) | Distributed consumer cloud storage system | |
CN103166785A (zh) | 基于Hadoop的分布式日志分析系统 | |
WO2022027175A1 (en) | Blockchain transaction processing systems and methods | |
US10275400B1 (en) | Systems and methods for forming a fault-tolerant federated distributed database | |
CN105930479A (zh) | 一种数据倾斜处理方法及装置 | |
CN109033475A (zh) | 一种文件存储方法、装置、设备及存储介质 | |
CN103399894A (zh) | 一种基于共享存储池的分布式事务处理方法 | |
WO2013152812A1 (en) | Method and system for storing and reading data in or from a key value storage | |
Al-Mamun et al. | SciChain: Blockchain-enabled lightweight and efficient data provenance for reproducible scientific computing | |
Malkhi et al. | From paxos to corfu: a flash-speed shared log | |
Xian et al. | ICOE: A Lightweight Group-Consensus-Based Off-Chain Execution Model for Smart Contract-Based Industrial Applications | |
Khacef et al. | Trade-off between security and scalability in blockchain design: A dynamic sharding approach | |
Zhang et al. | Model-centric computation abstractions in machine learning applications | |
JPWO2014051071A1 (ja) | 分散ストレージ装置、ストレージノード、データ提供方法およびプログラム | |
Qi et al. | Blockchain based consensus checking in cloud storage | |
Wang et al. | Distributed point-to-point routing method for tasks in cloud control systems | |
WO2022027173A1 (en) | Blockchain transaction processing systems and methods | |
Jeong et al. | High-dimentional data authentication protocol based on hash chain for Hadoop systems | |
Neukirchen | Survey and performance evaluation of DBSCAN spatial clustering implementations for big data and high-performance computing paradigms | |
Gramoli et al. | SQUARE: scalable quorum-based atomic memory with local reconfiguration | |
Shen | Distributed storage system model design in internet of things based on hash distribution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20161228 Address after: Xinghu street Suzhou Industrial Park in Jiangsu province 215000 No. 328 Creative Industry Park 8-202-4 unit Applicant after: Suzhou super block chain Mdt InfoTech Ltd Address before: 100018 Beijing city Chaoyang District local road No. 15 7-4-502 Applicant before: Chen Guangyu |
|
GR01 | Patent grant | ||
GR01 | Patent grant |