一种分布式数据同步方法技术

技术编号:19971167 阅读:24 留言:0更新日期:2019-01-03 16:42
本发明专利技术公开了一种分布式数据同步方法,针对无线网络环境下信道带宽有限,大多面向无连接的传输模式,信息传输速率低,误码率相对较高,业务容量小的特点,对Gossip协议中通过节点间消息扩散进行数据同步的扩散节点选择机制进行优化,通过心跳指数、带宽、时延抖动、传输路径等约束条件选择最优数据同步节点,有效的提高了分布式数据同步性能。避免在无线网络环境中使用传统Gossip协议时节点间消息随机扩散触发大量无效信息,严重消耗无线网络的通信资源,影响分布式数据同步性能。

A Distributed Data Synchronization Method

The invention discloses a distributed data synchronization method. In view of the characteristics of limited channel bandwidth, mostly for connectionless transmission mode, low information transmission rate, relatively high bit error rate and small traffic capacity in wireless network environment, the dissemination node selection mechanism of data synchronization through message diffusion among nodes in Gossip protocol is optimized through heartbeat index and bandwidth. Optimal data synchronization nodes are selected under constraints such as delay jitter and transmission path, which effectively improves the performance of distributed data synchronization. Avoid the random spread of messages between nodes triggering a large number of invalid information when using traditional Gossip protocol in wireless network environment, which seriously consumes the communication resources of wireless network and affects the performance of distributed data synchronization.

【技术实现步骤摘要】
一种分布式数据同步方法
本专利技术涉及无线网络环境下一种分布式数据同步方法。
技术介绍
Gossip协议是一种洪泛信息发布机制。它的工作原理是:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其他节点,也可能仅知道几个邻居节点,只要这些节可以通过网络连通,最终他们的状态都是一致的。即使有的节点因宕机而重启,有新节点加入,但经过一段时间后,这些节点的状态也会与其他节点达成一致,也就是说,Gossip协议天然具有分布式容错的优点。但Gossip协议的缺点也很明显,在传统的Gossip协议中,节点选择机制均匀随机的,没有考虑到节点的能力、距离的远近、带宽等因素,从而选择最优的节点进行同步扩散,这样导致冗余通信会对网络带宽、CPU资源造成很大的负载,而这些负载又受限于通信频率,该频率又影响着算法收敛的速度。尤其无线环境的网络具有带宽资源有限、链路状态不稳定、通信时延大等特点,随着发送消息数目的增加,消息扩散的负载也随之增加;当网络规模很大时,消息发送的失败率会明显增加。因此,在无线环境中通过Gossip协议实现分布式节点间的数据同步存在性能瓶颈。
技术实现思路
为了克服现有技术的上述缺点,本专利技术提供了一种在无线网络环境下的分布式数据同步方法,旨在克服gossip协议现有的同步机制难以满足无线网络环境下的同步需求,解决了面对无线网络环境信道带宽有限,大多面向无连接的传输模式,信息传输速率低,误码率相对较高,业务容量小的特点时带来的网络资源浪费和分布式协同数据同步性能的问题。本专利技术解决其技术问题所采用的技术方案是:一种分布式数据同步方法,包括如下步骤:步骤一、无线网络环境中,本地节点首先向其它所有节点发送握手信息,并生成邻居节点列表;步骤二、本地节点向邻居节点列表中的所有节点周期性的发送心跳信息,并根据心跳状态即时更新邻居节点列表;步骤三、本地节点计算出所有邻居节点的活跃度并根据活跃指数进行排序;步骤四、每个节点的数据同步采用反熵和谣言两种工作方式开展,反熵同步的时间周期可以根据同步状态动态调整;步骤五、消息需要进行同步扩散时,消息源节点在邻居节点活跃度排序列表中选择k个活跃节点进行数据同步扩散;步骤六、收到扩散消息的邻居节点在自己的邻居节点列表中选择k个活跃节点进行数据同步扩散,若节点收到的扩散消息是重复消息,则该节点停止扩散消息,最终全网控制器节点数据达到最后一致性。与现有技术相比,本专利技术的积极效果是:对Gossip协议中的数据同步扩散的方法进行了优化,避免无线网络中同步扩散大量冗余消息,严重消耗CPU资源和网络资源的现象,可以有效的提高同步质量及无线网络带宽利用率,减轻无线网络的通信负担,确保了同步消息的及时性和全网数据一致性。本专利技术提出的分布式数据同步方法更能满足在无线网络环境下的数据同步,优化后的同步方法其对等的结构符合对于节点的移动性和抗毁性的需求,分布式容错的优点,适合大规模、动态、资源受限的网络环境。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为本专利技术一实施方式中Gossip消息同步扩散全过程示意图。图2为本专利技术一实施方式中Gossip消息同步扩散分示意图一。图3为本专利技术一实施方式中Gossip消息同步扩散分示意图二。图4为本专利技术一实施方式中Gossip消息同步扩散分示意图三。具体实施方式无线网络环境下一种的分布式数据同步方法,如图1所示,通过Gossip协议的消息不断扩散机制,最终达到全网数据统一。其具体包括以下步骤:步骤一、在无线网络环境中,本地节点首先向其它所有节点发送握手信息,将回复握手应答的节点作为本控制器的邻居节点,根据节点间的通断性生成邻居节点列表。步骤二、本地节点向邻居节点列表中的所有节点周期性的发送心跳信息,并根据心跳状态即时更新邻居节点列表:本地节点向邻居节点列表中的所有节点周期性的发送心跳信息,根据心跳失败次数明确节点间的网络连通性,当连续心跳失败次数超过Nmax时,则认为本地节点与该邻居节点间网络连通性失效,将该节点从邻居节点列表中删除并重新发起握手信息。步骤三、各节点计算本节点邻居节点列表中所有邻居的活跃度,并根据活跃度重新对邻居节点列表进行排序,以选择下次需要扩散Gossip消息时的k个邻居节点;计算邻居节点的活跃度,通过考虑各节点间可能共享拥塞路径,造成传输瓶颈,从而影响传输路径的良好度。因此,需要根据本地节点与所有候选邻居节点的心跳参数P1以及传输路径上的可用带宽P2、时延抖动P3、传输路径P4等指标综合计算。活跃度计算公式如下:A=α×P1+β×P2+γ×P3+δ×P4下面分别介绍下各活跃度计算指标条件的定义:1)心跳参数:本地节点向邻居节点列表中的所有节点周期性发送心跳信息,根据收到心跳回复信息来计算各邻居节点的活跃度;由于无线网络环境下的网络资源有限,周期的初始值设置为5s,心跳参数在所有活跃度计算条件中权重α=35%,心跳参数值定义为:其中,n总为本节点向某个邻居节点发送的心跳总次数,n为收到邻居节点回复的心跳应答次数。2)带宽:带宽是消息扩散过程中的重要约束条件,其在活跃度计算条件的权重β=30%,本地节点和邻居节点间的链路有效带宽为B,扩散消息所需带宽Breq,扩散消息带宽占比值表示为带宽占用率越低对网络负荷越小,带宽占比定义为:时延抖动:时延抖动选择本地节点与所有邻居节点间组成链路的时延抖动最大值为参考目标,时延抖动表示为:Tmax=max(T1,T2…Tn),Ti为邻居节点路径中每条链路的时延抖动,将时延抖动用公式转换成最后计算的有效值,时延抖动在所有约束条件中权重γ=20%;P3=Tmax-Ti;3)传输路径:消息在各节点同步过程中,扩散距离的远近也是数据同步的重要指标,优先选择与本地消息源节点近的能更高效更快的完成同步目的,传输路径在所有约束条件中权重δ=15%;因此,根据心跳参数、可用带宽、时延抖动和传输路径和各自在节点的活跃度计算权重,以计算出每个节点的邻居节点活跃度并进行排序,本节点消息扩散时选择活跃度最高的k个节点进行数据同步:k可以根据当前网络特征进行动态调整,当活跃邻居节点数大于4时,所述节点数k设置为4;当活跃邻居节点数小于4时,所述节点数k设置为当前活跃邻居节点数。步骤四、因为无线网络缺乏稳定性,为实现节点间数据能有效同步,每个节点的数据同步结合反熵和谣言两种方式开展,第一种方式为节点启动后,维护一个周期性的定时器T,用于周期性的向邻居节点同步本地已有的全部数据,第二种方式为任意节点收到新的数据源时,仅将新的数据源增量触发一次全网同步。并且用于反熵同步方式维护的周期性定时器T可以根据网络同步状态进行灵活配置和动态调整;无线网络环境下预定义的典型的初始周期为4s。步骤五、新消息需要进行同步扩散时,消息源节点在邻居节点列表中选择2个活跃节点进行数据同步扩散,消息具体扩散如图2所示,节点1根据邻居节点的活跃度计算,选择节点2和节点3作为Gossip消息扩散节点;如图3所示,节点2和节点3收到扩散消息以后,节点2根据邻居节点活跃度进行扩散,选择节点4和节点5进行Gossip消息进行扩散,节点3仍然选择节点1和节点2进行Gossip消息扩散,当节本文档来自技高网...

【技术保护点】
1.一种分布式数据同步方法,其特征在于:包括如下步骤:步骤一、无线网络环境中,本地节点启动首先向其它所有节点周期性发送握手信息,根据握手成功后的邻居节点生成邻居节点列表;步骤二、本地节点向邻居节点列表中的所有节点周期性的发送心跳信息,并根据心跳状态即时更新邻居节点列表;步骤三、本地节点计算出所有邻居节点的活跃度并根据活跃指数进行排序;步骤四、节点间的数据同步采用反熵和谣言两种工作方式开展,节点反熵周期根据网络状态进行动态调整;步骤五、消息需要进行同步扩散时,消息源节点在邻居节点活跃度排序列表中选择k个活跃节点进行数据同步扩散;步骤六、收到扩散消息的邻居节点在自己的邻居节点列表中选择k个活跃节点进行数据同步扩散,若当前节点收到的扩散消息是重复消息,则该节点停止扩散消息,最终全网控制器节点数据达到最后一致性。

【技术特征摘要】
1.一种分布式数据同步方法,其特征在于:包括如下步骤:步骤一、无线网络环境中,本地节点启动首先向其它所有节点周期性发送握手信息,根据握手成功后的邻居节点生成邻居节点列表;步骤二、本地节点向邻居节点列表中的所有节点周期性的发送心跳信息,并根据心跳状态即时更新邻居节点列表;步骤三、本地节点计算出所有邻居节点的活跃度并根据活跃指数进行排序;步骤四、节点间的数据同步采用反熵和谣言两种工作方式开展,节点反熵周期根据网络状态进行动态调整;步骤五、消息需要进行同步扩散时,消息源节点在邻居节点活跃度排序列表中选择k个活跃节点进行数据同步扩散;步骤六、收到扩散消息的邻居节点在自己的邻居节点列表中选择k个活跃节点进行数据同步扩散,若当前节点收到的扩散消息是重复消息,则该节点停止扩散消息,最终全网控制器节点数据达到最后一致性。2.根据权利要求1所述的一种分布式数据同步方法,其特征在于:步骤一所述生成邻居节点列表的方法为:本地节点通过发送的握手信息探测与其它节点间的网络连通性和稳定性,将收到握手应答的节点作为本控制器的活跃邻居节点,生成邻居节点列表。3.根据权利要求1所述的一种分布式数据同步方法,其特征在于:所述反熵工作方式为节点启动后,维护一个周期性的定时器T,用于周期性的向邻居节点同步本地已有的全部数据;所述谣言工作方式为任意节点收到新的数据源时,仅将新的数据源增量触发一次全网同步。4.根据权利要求3所述的一种分布式数据同步方法,其特征在于:T的动态调整方法为:当本次T到期时,检查本节点上轮向所选邻居节点反熵同步的成功率,若反熵同步成功的节点不超过总同步节点的1/2,则新的周期Tnew=2T;若...

【专利技术属性】
技术研发人员:王新姜永广邓伟华亢硕丁锐唐乙双刘健
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:四川,51

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

1