当前位置: 首页 > 专利查询>河海大学专利>正文

具有容错能力的分布式数据处理方法技术

技术编号:23890150 阅读:56 留言:0更新日期:2020-04-22 06:07
本发明专利技术公开了一种具有容错能力的分布式数据处理方法,其中每份数据使用三个实现相同功能的模块同时进行操作,由于三个模块相互独立,同时有两个模块出现相同错误的概率非常小,故可大大提高系统的可靠性,掩蔽掉故障模块的错误,且上述分布式计算方法结合了一种基于分布式编码计算的数据交换算法,既保持了分布式编码计算较低的通信负载,又能将备份的维护与故障恢复效率接近于副本技术,从而在保证了分布式系统的高可靠性的同时降低了通信负载。

Distributed data processing method with fault tolerance

【技术实现步骤摘要】
具有容错能力的分布式数据处理方法
本专利技术涉及分布式计算领域,尤其涉及一种具有容错能力的分布式数据处理方法。
技术介绍
大数据时代数据量的暴增使得分布式计算的重要性迅速增加,许多实际的分布式系统中,瞬态故障(Transientfaults)会导致计算机系统的异常行为,尤其是使用越来越小的晶体管和越来越高硬件的功率密度使得这类故障发生更加频繁。在一些大型分布式系统中,平均每天都会有1%-2%的节点发生失效。这样的错误率不仅降低了分布式系统的可靠性并且影响了系统的性能,在分布式系统中提供有效的容错能力至关重要。分布式系统中传统的容错技术包括副本技术和编码技术等,然而这些技术在实现容错过程中造成较高的通信负载。例如编码技术,由于分布特性,使得编码容错相关的操作需要分布式集群中的多个节点相互协作,从而会导致大量的数据传输,带来较高的通信开销。在基于MapReduce的分布式计算框架中,任务被大致分为Map、Shuffle和Reduce三个阶段。首先,Map阶段每个节点根据预先定义好的Map函数来计算本地的输入数据从而得到中间结果。然后这些中间本文档来自技高网...

【技术保护点】
1.一种具有容错能力的分布式数据处理方法,其特征在于,包括如下步骤:/nS10,将N个节点划分为

【技术特征摘要】
1.一种具有容错能力的分布式数据处理方法,其特征在于,包括如下步骤:
S10,将N个节点划分为个子集群,以将计算任务分配到个子集群上,使各个子集群并行计算;其中,符号表示向下取整,n表示一个子集群中的节点数;
S20,将数据集M划分为份子数据集,分别发送到个子集群上,使每个子集群的数据量为各个子集群将该子集群的数据集B划分为K′个独立的子数据块,每个数据块用bi,1≤i≤K′表示,将每个数据块复制3份,共产生3K′份数据;
S30,各个子群集将3K′份数据按照设定的规则分配到当前子集群的n个节点,使每个节点本地数据集中各个数据块互不相同,若nodek与nodem的下标k+m=n+1,则nodek与nodem所拥有的数据集交集为空,并集为当前子集群数据集的全集,若k+m≠n+1,则nodek与nodem有且仅有两份相同的冗余数据;
S50,各个子集群随机选取一对满足k+m=n+1的校验节点nodek和nodem,子集群中其余各个节点执行步骤S51和S52操作,这两个步骤可以并行执行:
S51,子集群中其余各个节点分别使用CDC算法对本地与nodek冗余存储的数据集所对应的第一中间结果编码得到第一编码结果,将第一编码结果发送给nodek;
S52,子集群中其余各个节点分别使用CDC算法对本地与nodem冗余存储的数据集所对应的第二中间结果编码得到第二编码结果,将第二编码结果发送给nodem;
S60,nodek接收到所有的第一编码结果后,解码S51得到的第一编码结果获得每一份数据的第一解码结果,nodem接收到所有的第二编码结果后,解码S52得到的第二编码结果获得第二解码结果;
S70,nodek依据所述第一解码结果和第一中间结果验证每一份数据的第一编码结果的正确性,若第一编码结果均不正确,则返回执行步骤S50,或,nodem依据所述第二解码结果和第二中间结果验证第二编码结果的正确性,若第二编码结果均不正确,则返回执行步骤S50;若第一编码结果中出现正确编码结果的个数大于等于1,并且第二编码结果中正确编码结果的个数大于等于1,nodek依据第一编码结果中正确的编码结果计算相应节点的正确结果,得到第一运算结果,并且nodem依据第二编码结果中正确的编码结果计算相应节点的正确结果,得到第二运算结果;
S90,各个子集群根据对应的第一运算结果和第二运算结果确定相应子集群的最终结果。


2.根据权利要求1所述的具有容错能力的分布式数据处理方法,其特征在于,步骤S30中,在各个子群集将3K′份数据按照设定的规则分配到当前子集群的n个节点时,还包括:
在各个子群集中,每个节点可分得3K′/n份数据,每个节点分配到的数据集用Bj表示;若nodek与nodem的下标k+m=n+1,那么它们所拥有的数据集交集为空,两者的并集为当前子集群数据集的全集,若k+m≠n+1,那么nodek与nodem有且仅有两份相同的冗余数据bi,bj,若Bk∩Bm={bi,bj},定义为其中,符号表示定义为。


3.根据权利要求2所述的具有容错能力的分布式数据处理方法,其特征在于,步骤S50之前,还包括:
S40,每个节点对本地数据集的每一个数据块执行Map函数G(·),得到中间结果:其中,i代表数据块序号,t代表节点序号,针对不同的计算任务,Map函数可以由用户自定义。


4.根据权利要求1所述的具有容错能力的分布式数据处理方法,其特征在于,n的取值为6,K′的取值为8。


5.根据权利要求4所述的具有容错能力的分布式数据处理方法,其特征在于,步骤S50包括:
各个子集群随机选取一对校验节点nodek和nodem,k+m=7,将各个子集群中其余四个节点记为:nodes,noden,nodep,nodeq,分别在nodes,noden,nodep,nodeq将本地数据集与nodek冗余存储的数据集Rs,k,Rn,k,Rp,k,Rq,k在各自节点算出来的第一中间结果,采用CDC编码得到第一中间结果的编码结果us,k,un,k,up,k,uq,k,确定第一编码...

【专利技术属性】
技术研发人员:谢在鹏张基李博文叶保留毛莺池
申请(专利权)人:河海大学
类型:发明
国别省市:江苏;32

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

1