适应低质量通信链路的高可用软件系统内数据同步方法技术方案

技术编号:23164011 阅读:35 留言:0更新日期:2020-01-21 22:26
本发明专利技术提供了适应低质量通信链路的高可用软件系统内数据同步方法,所述高可用软件系统采用双实例方式,其中一个为主用软件系统,另一个为备用软件系统,并分别部署于两个不同的数据中心,两个数据中心之间通过低质量通信链路互联;所述主用软件系统和备用软件系统之间同步的数据为一个任务带时戳的最终变化数据,不涉及中间变化数据,且对同一仅更新最新数据,历史数据保留,可基于时戳信息回滚;备用软件系统在接收完一条完整的任务最终变化数据后,才更新数据。基于上述方法,可在以低带宽、高抖动、高时延为特征的网络条件下,实现软件系统两个实例之间数据的可靠同步,并且可确保同步数据与软件系统处理逻辑一致,保证实例间平稳接替。

【技术实现步骤摘要】
适应低质量通信链路的高可用软件系统内数据同步方法
本专利技术涉及适应低质量通信链路的高可用软件系统内数据同步方法。
技术介绍
着信息化程度的不断提高,企业对信息系统的依赖程度越来越高,业务系统的连续性和灾难保护的重要性也越来越突出。对某个软件系统而言,为提高该软件系统的高可用特性,一般采用多实例的部署方式,即在多个地点部署该软件系统实例,多个实例之间同步状态数据,主用实例故障时其他实例接替提供服务。在该模式下,多实例间的数同步是否完整成为了实例间接替能否成功的关键。当前,多实例间的同步方式包括以下几种:1、基于存储设备之间的同步或异步同步。该方式通过存储设备捕捉软件系统的IO情况,将每次写数据通过存储之间的链路实时同步至备用软件系统使用的存储。使用该方式,要求存储之间有高速的网络带宽,并且若采用实时同步,还对存储间的高速网络通信时延有很高的要求。该方法无法适应低带宽、高时延、多抖动的网络环境。2、基于数据库间的同步或异步同步。该方式通过数据库之间的同步工具实现两个数据库之间的数据同步或异步备份,该方式同样需要对每个数据库的写操作进行同步,对通信网络带宽要求较高,若采用实时方式,还需要有很低的通信时延。该方法无法适应低带宽、高时延、多抖动的网络环境。3、基于内存同步的同步。内存同步主要采用同步方式,同步多个实例内的内存数据,对网络实时性和带宽要求非常高,无法适应低带宽、高时延、多抖动的网络环境4、上述几种组合同步。多种备份方式组合的使用,可提高多实例软件系统间的高可用能力,但无法改变多种方式对网络的带宽或实时性要求较高的情况。一般而言,实际应用中,上述所说得多实例是指双实例。
技术实现思路
专利技术目的:解决通过低质量通信链路互联的软件系统双实例之间的数据同步,进而实现软件系统更高的高可用特性。技术方案:本专利技术提供了适应低质量通信链路的高可用软件系统内数据同步方法,所述软件系统采用双实例方式,其中一个为主用软件系统,另一个为备用软件系统,分别部署于两个不同的数据中心,所述主用软件系统在第一数据中心,所述备用软件系统在第二数据中心;所述主用软件系统和备用软件系统之间均设置影子系统,主用软件系统对应的是第一影子系统,备用软件系统对应的是第二影子系统;所述主用软件系统对应的第一影子系统监视主用软件系统,获取主用软件系统处理某一个任务结束后最终变化数据集(Packagea),打上时间信息,即时戳信息,发送至备用软件系统对应的第二影子系统,因仅同步最终变化数据,不同步中间变化数据,相比现有方法,可大幅降低同步数据量,进而降低对两个不同中心间网络带宽的要求;所述备用软件系统对应的第二影子系统接收第一影子系统的数据,若因网络抖动导致数据包不正常,则重传,直到完全正确接收第一影子系统传递而来的某一个任务对应的最终变化数据集(Packagea),然后对比时戳信息,依照最新的数据修改备用软件系统的对应的数据信息,历史信息保留。若备用软件系统运行不正常,可自动回滚数据,确保备份系统接替主用系统后的可用性;该方式可保证备份软件系统所修改数据一致性,网络抖动(高时延、间歇断开等网络条件)不会影响到备份软件系统数据同步某一任务变化数据的一致性;综上,本专利技术可适应通过低质量通信链路互联的数据中心间的系统双实例高可用。所述主用软件系统在线承担任务,第一影子系统以任务为单位,实时同步主用软件系统空间中的内存数据、数据库数据和磁盘数据至第一影子系统的临时空间;当所述任务处理完毕,影子系统在临时空间中,将所述任务涉及的数据进行归并、去重,形成任务最终变化数据,同时打上时戳信息,并将任务最终变化数据通过低质量通信链路发送至备用软件系统;所述第二影子系统用于接收第一影子系统发送来的任务最终变化数据,第二影子系统检测接收的数据的完整性,当确认已完整接收任务最终变化数据后,对比时戳信息,依照最新时戳信息在备用软件系统的影子系统的临时空间中恢复数据,包括内存数据、数据库数据和磁盘数据,数据恢复完毕后,将恢复的数据发送至备用软件系统空间,实现实例间的数据同步,若同步后运行不成功,则根据时戳信息,回滚至最近运行状态,保证系统的可用性。所述第一影子系统依托于第一影子空间运行,第二影子系统依托于第二影子空间运行,所述第一影子空间和第二影子空间,相对于主用软件系统和备用软件系统所依托的运行资源是独立的,占有独立的软件进程,有独立的CPU运行空间、内存空间和磁盘空间。所述主用软件系统接到任务后,开始执行任务,具体执行如下步骤:步骤a1,任务调度,为所述任务分配任务ID,所述任务ID贯穿任务执行整个过程,执行过程中的内存数据变化、数据库数据变化、磁盘数据变化均与所述任务ID关联;步骤a2,执行任务,按照主用软件系统功能设计逻辑,执行相关任务;步骤a3,判断是否存在内存变化,若有内存变化,则将变化内存同步至第一影子系统的临时内存空间,再执行步骤a4;若无内存变化,直接执行步骤a4;步骤a4,判断是否存在数据库变化,如有变化,则将变化数据库数据同步至影子系统的临时数据库空间,数据库空间存于内存或磁盘之上,再执行步骤a5;若无变化,直接执行步骤a5;步骤a5,判断是否存在磁盘数据变化,若有变化,则将变化磁盘数据同步至影子系统的临时硬盘空间,再执行步骤a6;若无变化,直接执行步骤a6;步骤a6,判断是否完成任务,若未完成,则跳转至步骤a2,若完成,则结束。在步骤a6中,当完成任务后,第一影子系统开始执行处理过程,具体包括如下步骤:步骤b1,内存数据整理,形成所述任务最终变化的内存数据,同时打上时戳信息;步骤b2,数据库数据整理,形成所述任务最终变化的数据库数据,同时打上时戳信息;步骤b3,磁盘数据整理,形成所述任务最终变化的磁盘数据,同时打上时戳信息;步骤b4,单次任务结果数据同步,向第二数据中心中的第二影子系统发送同步数据。所述第二影子系统用于接收同步数据,具体包括如下步骤:步骤c1,单次任务结果数据接收,接收第一数据中心传递过来的任务最终结果数据;步骤c2,判断是否接收完毕,若接收未完成或者完整性校验不通过,则继续接收,若完成,则继续下一步骤;步骤c3,内存数据恢复,从同步过来的数据中恢复内存数据至临时内存空间;步骤c4,数据库数据恢复,从同步过来的数据中恢复数据库数据至临时数据库空间,数据库空间存于内存或磁盘之上;步骤c5,磁盘数据恢复,从同步过来的磁盘数据中恢复磁盘数据至临时磁盘空间;步骤c6,对比步骤c3~c5中解析出来的时戳信息,若为最新数据,则进行步骤c7,若不是最新数据,则保留本地堆栈中,若堆栈溢出,则删除,且同一任务ID对应同一时戳的内存数据、数据库数据和磁盘数据同步删除;步骤c7,向备用软件系统发送数据,将恢复的内存数据、数据库数据和磁盘数据分别发送至备用软件系统。所述备用软件系统用于接收同步数据,具体包括如下步骤:...

【技术保护点】
1.适应低质量通信链路的高可用软件系统内数据同步方法,其特征在于,所述软件系统采用双实例方式,其中一个为主用软件系统,另一个为备用软件系统,分别部署于两个不同的数据中心,所述主用软件系统在第一数据中心,所述备用软件系统在第二数据中心;/n所述主用软件系统和备用软件系统之间均设置影子系统,主用软件系统对应的是第一影子系统,备用软件系统对应的是第二影子系统;/n所述主用软件系统对应的第一影子系统监视主用软件系统,获取主用软件系统处理一个任务结束后最终变化数据集,打上时间信息,即时戳信息,并发送至备用软件系统对应的第二影子系统;/n所述备用软件系统对应的第二影子系统接收第一影子系统的数据,若因网络抖动导致数据包不正常,则重传,直到完全正确接收第一影子系统传递而来的一个任务对应的最终变化数据集,然后对比时戳信息,依照最新的数据修改备用软件系统的对应的数据信息,历史信息保留;若备用软件系统运行不正常,可自动回滚数据。/n

【技术特征摘要】
1.适应低质量通信链路的高可用软件系统内数据同步方法,其特征在于,所述软件系统采用双实例方式,其中一个为主用软件系统,另一个为备用软件系统,分别部署于两个不同的数据中心,所述主用软件系统在第一数据中心,所述备用软件系统在第二数据中心;
所述主用软件系统和备用软件系统之间均设置影子系统,主用软件系统对应的是第一影子系统,备用软件系统对应的是第二影子系统;
所述主用软件系统对应的第一影子系统监视主用软件系统,获取主用软件系统处理一个任务结束后最终变化数据集,打上时间信息,即时戳信息,并发送至备用软件系统对应的第二影子系统;
所述备用软件系统对应的第二影子系统接收第一影子系统的数据,若因网络抖动导致数据包不正常,则重传,直到完全正确接收第一影子系统传递而来的一个任务对应的最终变化数据集,然后对比时戳信息,依照最新的数据修改备用软件系统的对应的数据信息,历史信息保留;若备用软件系统运行不正常,可自动回滚数据。


2.根据权利要求1所述的方法,其特征在于,所述主用软件系统在线承担任务,第一影子系统以任务为单位,实时同步主用软件系统空间中的内存数据、数据库数据和磁盘数据至第一影子系统的临时空间;当所述任务处理完毕,影子系统在临时空间中,将所述任务涉及的数据进行归并、去重,形成任务最终变化数据,同时打上时戳信息,将任务最终变化数据通过低质量通信链路发送至备用软件系统;
所述第二影子系统用于接收第一影子系统发送来的任务最终变化数据,第二影子系统检测接收的数据的完整性,当确认已完整接收任务最终变化数据后,对比时戳信息,依照最新时戳信息在备用软件系统的影子系统的临时空间中恢复数据,包括内存数据、数据库数据和磁盘数据,数据恢复完毕后,将恢复的数据发送至备用软件系统空间,实现实例间的数据同步,若同步后运行不成功,则根据时戳信息,回滚至最近运行状态。


3.根据权利要求2所述的方法,其特征在于,所述第一影子系统依托于第一影子空间运行,第二影子系统依托于第二影子空间运行,所述第一影子空间和第二影子空间,相对于主用软件系统和备用软件系统所依托的运行资源是独立的,占有独立的软件进程,有独立的CPU运行空间、内存空间和磁盘空间。


4.根据权利要求3所述的方法,其特征在于,所述主用软件系统接到任务后,开始执行任务,具体执行如下步骤:
步骤a1,任务调度,为所述任务分配任务ID,所述任务ID贯穿任务执行整个过程,执行过程中的内存数据变化、数据库数据变化、磁盘数据变化均与所述任务ID关联;
步骤a2,执行任务,按照主用软件系统功能设计逻辑,执行相关任务;
步骤a3,判断是否存在内存变化,若有内存变化,则将变化内存同步至第一影子系统的临时内存空间,再执行步骤a4;若无内存变化,直接执行步骤a4;
步骤a4,判断是否存在数据库变化,如有变化,则将变化数据库数据同步至影子系统的临时数据库空间,数据库空间存于内...

【专利技术属性】
技术研发人员:谢荣平黄太奇卢德兼朱仲马杨柳静余臻周颖耿嘉何锡点王晟安
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:江苏;32

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

1