CN105162843A - 一种基于动态规划的快速数据同步方法 - Google Patents
一种基于动态规划的快速数据同步方法 Download PDFInfo
- Publication number
- CN105162843A CN105162843A CN201510473967.6A CN201510473967A CN105162843A CN 105162843 A CN105162843 A CN 105162843A CN 201510473967 A CN201510473967 A CN 201510473967A CN 105162843 A CN105162843 A CN 105162843A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- synchronized
- code
- dynamic programming
- 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
Classifications
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种基于动态规划的快速数据同步方法,包括以下步骤:数据源节点向每一个待同步的节点发送同步通知;待同步的节点根据设定周期生成网络拓扑图并根据更新数据包大小随机休眠一段时间;获取与待同步的节点连通的且已经同步成功的节点,并对每一个节点根据动态规划算法求出代价函数值;代价函数值最小值对应的路径为最短传输路径,根据此路径进行数据传输;传输完成后,比对此次传输的MD5码和接收到的同步通知中的MD5码,若一致则结束本次传输,否则寻找次优路径进行数据传输。与现有技术相比,本发明具有提高数据同步速度、降低服务器负载、提高数据同步系统的可靠性等优点。
Description
技术领域
本发明涉及一种数据同步方法,尤其是涉及一种基于动态规划的快速数据同步方法。
背景技术
在C/S架构系统中,多个客户端都要从服务器获取数据,并保持与服务器的数据同步。在复杂的网络环境下,从服务器传送数据到一个客户端可能要经过多个网络节点,这必然就需要对网络传输路径进行规划。
按照传统的方式,从服务器到客户端选择传输路径时,往往采取固定的几条路径,当某一条路径出现故障时,再选择其他的路径,其效率不能保证,并且需要事先选择好固定的路由,增加了工程实施的工作量。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于动态规划的数据同步方法,通过应用该算法解决多阶段最优决策问题,寻找最佳的传输路径,实现数据的快速同步。
本发明的目的可以通过以下技术方案来实现:
一种基于动态规划的快速数据同步方法,其特征在于,该方法包括以下步骤:
一种基于动态规划的快速数据同步方法,其特征在于,该方法包括以下步骤:
(1)数据源节点获取待同步的节点集合{Nodec};
(2)数据源节点遍历待同步的节点集合{Nodec},向集合中的每一个待同步的节点发送同步通知,包括时间戳、更新数据包大小和数据的MD5码;
(3)待同步的节点根据设定周期生成网络拓扑图;
(4)待同步的节点根据更新数据包大小随机休眠一段时间;
(5)获取与待同步的节点连通的节点集合{Nodet};
(6)遍历集合{Nodet},找到数据已经同步成功的节点集合{Noder};
(7)遍历集合{Noder},对集合中的每一个节点Noder,根据动态规划算法求出代价函数值;
(8)代价函数值最小值对应的路径为最短传输路径,根据此路径进行数据传输;
(9)传输完成后,比对此次传输接收到的MD5码和接收到的同步通知中的MD5码,若一致则结束本次传输,否则执行步骤(10);
(10)寻找次优路径进行数据传输,返回步骤(9)。
所述的步骤(2)中所述的设定周期根据网络稳定性确定,对于不稳定的网络,周期设定在0.5-5小时之间,对于稳定的网络,周期设定在8-48小时之间。
所述的步骤(2)中网络拓扑图包括连通性和带宽信息。
所述的步骤(4)中休眠时间sleepTime(单位为秒)与更新数据包大小dataSize(单位为MB)具体关系为sleepTime=rand()%(unsignedint)(dataSize/10)+1。
所述的步骤(4)中休眠时间的上限为每10Mb一秒。
所述的步骤(7)中动态规划算法具体包括以下子步骤:
(201)设所述的待同步的节点集合{Nodec}中的一具体节点为Nodec,将所述的已经同步成功的节点Noder和Nodec之间划分为N个阶段,并将各阶段状态集合记为Si,其中i=1,2…N;
(202)判断i是否等于N,若是则执行步骤(203),否则执行步骤(204);
(203)计算代价函数值,计算公式为:
,其中Nodej是状态集合SN中的节点;
(204)计算代价函数值,计算公式为:
,其中Nodej是状态集合Si中的节点;Nodek是Nodej在下一阶段的后继节点。
与现有技术相比,本发明具有如下优点:
(1)在数据同步时,解决了求解最优路径的问题,降低了数据同步的代价,提高了数据同步的速度;
(2)使用本发明的数据同步节点优先会从临近节点同步数据,无形中降低了服务器的负载;
(3)当已规划的路径中有节点故障时,系统可以重新生成拓扑,动态跳过故障节点,从次优路径同步数据。
附图说明
图1为本发明网络拓扑结构示意图;
图2为本发明基于动态规划的快速数据同步方法工作流程图;
图3为本发明应用于有轨电车弱电集成系统的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
本发明利用动态规划算法求解各个节点如何找到一条耗时最短的路径来同步数据。如图1所示,S为数据源节点,节点A1、A2、A3、B1、B2、C1、C2、D是从节点S上获取数据的节点。
当节点S需要把数据同步到其他各节点时,整个工作流程如图2所示,具体描述如下:
步骤1:数据源节点S获取待同步的节点集合{Nodec}(对于不同的数据内容,待同步的节点对象可能不同),执行步骤2;
步骤2:数据源节点S遍历待同步的节点集合{Nodec},向集合中的每一个待同步的节点发送同步通知,包括时间戳、更新数据包大小和数据的MD5码,执行步骤3;
步骤3:待同步的节点根据设定周期生成网络拓扑图,其中设定周期视网络稳定性而定,对于不稳定的网络,同步周期可以设定在0.5-5小时之间,而对于可靠的网络,周期可以设定在8-48小时之间,网络拓扑图包括连通性和带宽信息等,执行步骤4;
步骤4:将待同步节点集合中的一个节点记为Nodec,当Nodec收到了数据源节点S发送的同步通知时,待同步的节点根据更新数据包大小随机休眠一段时间,目的是防止所有节点同时进行同步数据,休眠时间的上限为每10Mb一秒,执行步骤5;
步骤5:获取与待同步的节点连通的节点集合{Nodet},执行步骤6;
步骤6:遍历集合{Nodet},找到数据已经同步成功的节点集合{Noder},执行步骤7;
步骤7:遍历集合{Noder},对集合中的每一个节点Noder,根据动态规划算法,将Nodec和Noder之间划分为4个阶段,并将各阶段状态记为Si,其中i=1,2…N,执行步骤8;
步骤8:将i赋值为N,执行步骤9;
步骤9:判断i是否小于N,若是则执行步骤11,否则执行步骤10;
步骤10:计算代价函数值,计算公式为:
,其中Nodej是状态SN中的节点,执行步骤12;
步骤11:计算代价函数值,计算公式为:
,其中Nodej是状态Si中的节点;Nodek是Nodej在下一阶段的后继节点,执行步骤12;
步骤12:将i赋值为i-1,执行步骤13;
步骤13:判断i是否大于等于1,若是则返回步骤9,否则执行步骤14;
步骤14:比较代价函数值f(Noder),最小值对应的路径为最短传输路径,执行步骤15;
步骤15:按最短传输路径进行数据传输,执行步骤16;
步骤16:传输完成后,比对此次传输接收到的MD5码和接收到的同步通知中的MD5码,执行步骤17;
步骤17:判断MD5码是否一致,若一致则执行步骤18,否则执行步骤19;
步骤18:结束本次传输;
步骤19:寻找次优路径进行数据传输,返回步骤16。
在该实施例中,如果只有节点S有数据,那么根据动态规划算法,从S到D的最优路径为:S-A2-B1-C2-D,代价函数值为0.611(带宽倒数求和);
如果节点B2有数据,则从B2到D的最优路径为:
B2-C2-D,代价函数值为0.6;
综合以上两种情况,如果S和B2节点都有数据(B2已经同步完成),根据本算法,节点D优先从B2同步。
该发明已经被应用于卡斯柯有轨电车弱电集成系统中。该系统主要集成了乘客信息系统,电力监控系统,电视监控系统等。该系统通过界面组态的方式提供了良好的用户开发界面和便捷的使用方法,同时提供一个数据共享的平台,使不同子系统的数据深度集成,形成一个有机统一的通用监控平台。
该系统是典型的C/S架构,在控制中心部署服务器,在控制中心,全线车站以及停车场等部署工作站客户端,如图3所示。基于动态规划的数据同步软件部署在各客户端网络节点上,客户端会周期性的获取网络拓扑图。如果服务器数据有更新,会及时的推送数据同步通知到所有的客户端上,客户端收到数据同步通知后,根据数据大小随机休眠一段时间(休眠时间的上限为每10Mb一秒),并运行基于动态规划的数据同步软件,即可完成数据的同步。
以下是关键的实现点:
1.计算网络节点之间的带宽:
可以通过交换机提供的接口获取。
2.时钟同步:
服务器与客户端之间每隔20分钟进行时钟校准。
3.动态规划算法中以时间戳为标识:
服务器的数据每秒更新一次,各客户端节点必须以最新时间的数据为基准进行数据更新。
从系统的开发角度来看,使用该发明方法后,路径规划的复杂度降低了很多,从系统运行的角度来看,其数据同步的速度也得到了很大提高。
Claims (6)
1.一种基于动态规划的快速数据同步方法,其特征在于,该方法包括以下步骤:
(1)数据源节点获取待同步的节点集合{Nodec};
(2)数据源节点遍历待同步的节点集合{Nodec},向集合中的每一个待同步的节点发送同步通知,包括时间戳、更新数据包大小和数据的MD5码;
(3)待同步的节点根据设定周期生成网络拓扑图;
(4)待同步的节点根据更新数据包大小随机休眠一段时间;
(5)获取与待同步的节点连通的节点集合{Nodet};
(6)遍历集合{Nodet},找到数据已经同步成功的节点集合{Noder};
(7)遍历集合{Noder},对集合中的每一个节点Noder,根据动态规划算法求出代价函数值;
(8)代价函数值最小值对应的路径为最短传输路径,根据此路径进行数据传输;
(9)传输完成后,比对此次传输接收到的MD5码和接收到的同步通知中的MD5码,若一致则结束本次传输,否则执行步骤(10);
(10)寻找次优路径进行数据传输,返回步骤(9)。
2.根据权利要求1所述的一种基于动态规划的快速数据同步方法,其特征在于,所述的步骤(2)中所述的设定周期根据网络稳定性确定,对于不稳定的网络,周期设定在0.5-5小时之间,对于稳定的网络,周期设定在8-48小时之间。
3.根据权利要求1所述的一种基于动态规划的快速数据同步方法,其特征在于,所述的步骤(2)中网络拓扑图包括连通性和带宽信息。
4.根据权利要求1所述的一种基于动态规划的快速数据同步方法,其特征在于,所述的步骤(4)中休眠时间sleepTime与更新数据包大小dataSize具体关系为sleepTime=rand()%(unsignedint)(dataSize/10)+1。
5.根据权利要求1或4所述的一种基于动态规划的快速数据同步方法,其特征在于,所述的步骤(4)中休眠时间的上限为每10Mb一秒。
6.根据权利要求1或3所述的一种基于动态规划的快速数据同步方法,其特征在于,所述的步骤(7)中动态规划算法具体包括以下子步骤:
(201)设所述的待同步的节点集合{Nodec}中的一具体节点为Nodec,将所述的已经同步成功的节点Noder和Nodec之间划分为N个阶段,并将各阶段状态集合记为Si,其中i=1,2…N;
(202)判断i是否等于N,若是则执行步骤(203),否则执行步骤(204);
(203)计算代价函数值,计算公式为:
,其中Nodej是状态集合SN中的节点;
(204)计算代价函数值,计算公式为:
,其中Nodej是状态集合Si中的节点;Nodek是Nodej在下一阶段的后继节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510473967.6A CN105162843B (zh) | 2015-08-05 | 2015-08-05 | 一种基于动态规划的快速数据同步方法 |
HK16104670.1A HK1216691A1 (zh) | 2015-08-05 | 2016-04-22 | 種基於動態規劃的快速數據同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510473967.6A CN105162843B (zh) | 2015-08-05 | 2015-08-05 | 一种基于动态规划的快速数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105162843A true CN105162843A (zh) | 2015-12-16 |
CN105162843B CN105162843B (zh) | 2018-11-02 |
Family
ID=54803596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510473967.6A Active CN105162843B (zh) | 2015-08-05 | 2015-08-05 | 一种基于动态规划的快速数据同步方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105162843B (zh) |
HK (1) | HK1216691A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017162079A1 (zh) * | 2016-03-25 | 2017-09-28 | 阿里巴巴集团控股有限公司 | 一种数据的同步方法和装置 |
CN108965259A (zh) * | 2018-06-21 | 2018-12-07 | 佛山科学技术学院 | 一种区块链恶意节点发现与隔离方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534551A (zh) * | 2009-03-25 | 2009-09-16 | 北京科技大学 | 一种基于车辆ad hoc网络拓扑结构的时间同步方法 |
EP1473890B1 (en) * | 2003-04-30 | 2011-07-06 | Harris Corporation | Predictive routing maintenance in a mobile ad hoc network |
CN103986653A (zh) * | 2014-05-29 | 2014-08-13 | 苏州大学 | 一种网络节点及数据传输方法和系统 |
-
2015
- 2015-08-05 CN CN201510473967.6A patent/CN105162843B/zh active Active
-
2016
- 2016-04-22 HK HK16104670.1A patent/HK1216691A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1473890B1 (en) * | 2003-04-30 | 2011-07-06 | Harris Corporation | Predictive routing maintenance in a mobile ad hoc network |
CN101534551A (zh) * | 2009-03-25 | 2009-09-16 | 北京科技大学 | 一种基于车辆ad hoc网络拓扑结构的时间同步方法 |
CN103986653A (zh) * | 2014-05-29 | 2014-08-13 | 苏州大学 | 一种网络节点及数据传输方法和系统 |
Non-Patent Citations (1)
Title |
---|
蒲浩: "基于动态规划的铁路三维空间智能选线方法", 《铁道科学与工程学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017162079A1 (zh) * | 2016-03-25 | 2017-09-28 | 阿里巴巴集团控股有限公司 | 一种数据的同步方法和装置 |
CN108965259A (zh) * | 2018-06-21 | 2018-12-07 | 佛山科学技术学院 | 一种区块链恶意节点发现与隔离方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
HK1216691A1 (zh) | 2016-11-25 |
CN105162843B (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102934087B (zh) | 当侦测到退化网络链路操作时在网络服务器之间迁移虚拟机 | |
CN105357048A (zh) | 网络设备数据同步方法和系统 | |
US9094316B2 (en) | Dynamic name generation | |
CN105072194A (zh) | 一种分布式文件系统中的存储数据修复结构及修复方法 | |
CN105162843A (zh) | 一种基于动态规划的快速数据同步方法 | |
CN114840243A (zh) | 一种分布式边缘节点的操作系统升级系统 | |
CN111092931A (zh) | 电力系统在线超实时仿真的流式数据快速分发方法及系统 | |
CN116760762B (zh) | 去中心化的自组网方法和装置 | |
CN107451254B (zh) | 一种生成数据库表数据唯一标识的方法 | |
US10250477B2 (en) | Method and controller for announcing bandwidth of cluster system | |
CN114363164B (zh) | 云网络服务编排控制方法、系统、存储介质和电子设备 | |
CN106649414A (zh) | 一种数据仓库数据异常的预检测方法和设备 | |
KR101192896B1 (ko) | 결함 허용이 가능한 분산 동기화 방법 및 장치 | |
CN104052624A (zh) | 一种配置管理方法及装置 | |
CN106980528A (zh) | 一种恢复虚拟机的方法和装置 | |
US11368406B2 (en) | Methods and apparatus for path computation in a telecommunications network | |
CN113489648A (zh) | 一种基于sdn的国产平台节能通信方法 | |
GB2537657A (en) | Subsea control system communication network | |
CN102790690B (zh) | 一种分布式业务网络管理方法及系统 | |
CN104683132A (zh) | 一种确定备份时钟源的方法及装置 | |
CN101860027B (zh) | 供电分析与运行方式相结合的电网运行时模型建立方法 | |
CN105704169A (zh) | 一种保持数据一致性的方法、装置及ptn传输设备 | |
CN105282023A (zh) | 一种计算路径的方法及装置 | |
US20220086103A1 (en) | Network bandwidth adjustment method and related product | |
CN114039839B (zh) | 一种电力通信故障修复方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1216691 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |