本发明涉及分布式系统和以太网技术领域,具体涉及一种适用于分布式系统的热备份方法及分布式系统。
背景技术:
热备份是容错系统中的一个重要机制,利用故障点转移的方式保障分布式系统业务的不间断运行。
目前最常见的热备份技术是双机热备系统,通常采用如下两种方案:
采用第三方仲裁机构实现故障检测和双机切换;
不用第三方仲裁机构,通过主备机身份识别,建立主备机之间的心跳通信,在主备机同步工作的前提下,实现主备机故障检测和切换。
上述两种方法均能实现双机热备功能,但是也都存在不足之处。
第一种双机容错技术的缺点是若第三方仲裁机构出现故障,则无法实现双机故障检测;第二种双机容错技术虽然没有利用第三方仲裁机构,但是其只能勉强应付软件接口和设备个数较少的系统,一旦系统较为庞大,或是软件接口较多时,系统实现的复杂性会增加,而可靠性会降低,不适用于分布式系统的热备份。
为了解决上述热备份技术存在的不足,提高系统的可靠性,需要提出一种适用于分布式系统的热备份方法。
技术实现要素:
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现一种适用于分布式系统的热备份方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种适用于分布式系统的热备份方法,该方法适用于分布式系统中多个设备之间不存在主从设备之分的情况,利用dds数据分发服务实现对分布式系统中多个设备的热备份。
优选地,该方法采用固定的一个备用设备节点监控其余设备并作为系统中其余任意一个设备的热备份。
优选地,该方法包括以下步骤:分布式系统中的每个工作设备节点和备用设备节点都是域参与者,系统上电后,每个域参与者通过内置数据写入者发送发布数据包和订阅数据包,通过内置数据读取者接收远程域参与者发送的发布数据包和订阅数据包,当发现一个远程数据写入者或数据读取者时,dds中间件决策本设备节点上是否有匹配的数据读取者或数据写入者,只有当数据写入者和数据读取者有相同的主题、数据类型以及兼容的服务质量策略时,本设备节点与远程设备节点才能进行匹配,分布式系统中的每个工作设备节点和备用设备节点通过这种方式匹配成功后进行相互通信;
在分布式系统中使用dds的liveliness服务质量策略,备用设备节点程序通过该服务质量策略判决一个工作设备节点是否仍处于存活状态,当分布式系统中一个工作设备节点在工作时出现故障导致其自身不再处于存活状态时,意味着该工作设备节点的数据写入者未能在规定的时间内向其它设备节点发送自己的心跳信号,此时备用设备节点将自身的ip地址设置为当前故障设备节点的ip地址,接管故障设备节点的功能,完成了该设备节点的热备份工作。
优选地,分布式系统中的每个工作设备节点和备用设备节点通过如下互发心跳报文的方式监视彼此的活跃状态:每个域参与者通过内置数据写入者发送心跳报文给远程域参与者,通过内置数据读取者接收远程域参与者的心跳报文,用于发现其它域参与者的信息,每个本地域参与者通过组播传输方式周期性地向远程域参与者发送心跳报文,用于刷新其自身活跃状态;每个本地域参与者都在本地数据库中维护着远程参与者的心跳信息,并监视它们的活跃期限。
优选地,每个工作设备节点都将自己的数据读取者和数据写入者信息发送给备用设备节点,备用设备节点都存储系统中每个工作设备节点的数据读取者和数据写入者信息,当备用设备节点替换系统中任意一个工作设备节点时,dds机制将发送消息给系统内所有设备节点。
优选地,分布式系统内的所有设备节点开始正常通信后,系统内的每个工作设备节点周期性地向备用设备节点发布关键的系统状态信息,备用设备节点也要实时订阅每个工作设备节点发布的主题消息。
优选地,采用如下方法监测工作设备节点是否处于存活状态:假设备用设备节点发送心跳报文的周期为t,若系统内备用设备节点在超时时间t内未接收到一个工作设备节点的心跳报文,备用设备节点向该工作设备节点发起询问,询问的超时时间减半为t/2,若又一次询问超时则超时时间再减半为t/4,再次询问,如此反复,直到超时时间小于某个临界值t时,才认为该工作设备节点处于不再存活的状态。
优选地,t>0。
本发明还提供了一种基于主从设备关系的分布式系统,包括所述的方法中涉及的工作设备节点和备用设备节点。
优选地,所述工作设备节点和备用设备节点组成系统的应用层。
(三)有益效果
本发明通过以太网和dds中间件技术,使得分布式系统中所有设备节点能够动态地发现彼此,根据主题、数据类型以及服务质量策略进行匹配,只有匹配成功后才会建立通信连接。一旦检测到系统中某个设备节点不可用时,用备用设备节点替换当前故障的设备节点,重新匹配和建立通信连接,从而实现分布式系统中设备节点的热备份。这种方法适用于分布式系统中多个设备之间没有主从设备之分,采用固定的某个备用设备节点监控其余设备并作为系统中其余任意一个设备的热备份。本发明提出的方法不需要采用仲裁机构,易于实现,具有成本低,可靠性高,具有多机间相互热备份等优点,降低了分布式系统的冗余度,最大限度的保证了分布式系统网络的实时性、可用性和可靠性。
附图说明
图1为本发明的基于监控关系的分布式系统框架示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供了一种适用于分布式系统的热备份方法,该方法通过以太网实现对分布式系统中的多个设备热备份。
该方法适用于分布式系统中多个设备之间不存在主从设备之分的情况。为实现在分布式系统中多个设备的热备份,必须保证各设备节点在动态的加入和退出时不影响其它设备节点的功能,dds中参与通信的所有实体间能够动态地发现对方,然后根据主题、数据类型以及服务质量策略进行匹配,只有匹配成功后才会建立通信连接。
如果分布式系统中的多个设备之间没有主从设备之分,采用固定的某个备用设备节点监控其余设备并作为系统中其余任意一个设备的热备份,利用dds的自动发现机制,一旦检测到系统中某个设备节点不可用时,用备用设备节点替换当前故障的设备节点,重新匹配和建立通信连接,从而实现分布式系统中设备节点的热备份。
该方法采用固定的一个备用设备节点监控其余设备并作为系统中其余任意一个设备的热备份,利用dds(datadistributionservice)数据分发服务实现对分布式系统中多个设备的热备份,具体包括以下步骤:
分布式系统中的每个设备都是域参与者,系统上电后,每个域参与者(包括每个工作设备节点和备用设备节点)通过内置数据写入者发送发布数据包和订阅数据包,通过内置数据读取者接收远程域参与者发送的发布数据包和订阅数据包,当发现一个远程数据写入者或数据读取者时,dds中间件决策本设备节点上是否有匹配的数据读取者或数据写入者,只有当数据写入者和数据读取者有相同的主题、数据类型以及兼容的服务质量策略时,本设备节点与远程设备节点才能进行匹配,分布式系统中的每个工作设备节点和备用设备节点通过这种方式匹配成功后才能进行相互通信;
在分布式系统中使用dds的liveliness服务质量策略,备用设备节点程序通过该服务质量策略判决某个工作设备节点是否仍处于存活状态,当分布式系统中某个工作设备节点在工作时出现故障导致其自身不再处于存活状态时,意味着该工作设备节点的数据写入者未能在规定的时间内向其它设备节点发送自己的心跳信号,此时备用设备节点将自身的ip地址设置为当前故障设备节点的ip地址,接管故障设备节点的功能,完成了该设备节点的热备份工作;
分布式系统中的每个工作设备节点和备用设备节点通过如下互发心跳报文的方式监视彼此的活跃状态:每个域参与者(每个工作设备节点和备用设备节点)通过内置数据写入者发送心跳报文给远程域参与者,通过内置数据读取者接收远程域参与者的心跳报文,用于发现其它域参与者的信息,每个本地域参与者通过高效组播传输方式周期性地向远程域参与者发送心跳报文,用于刷新其自身活跃状态;每个本地域参与者都在本地数据库中维护着远程参与者的心跳信息,并监视它们的活跃期限;
每个工作设备节点都将自己的数据读取者和数据写入者信息发送给备用设备节点,备用设备节点都存储系统中每个工作设备节点的数据读取者和数据写入者信息,当备用设备节点替换系统中任意一个工作设备节点时,dds机制将发送消息给系统内所有设备节点;
分布式系统内的所有设备节点开始正常通信后,系统内的每个工作设备节点周期性地向备用设备节点发布关键的系统状态信息,备用设备节点也要实时订阅每个工作设备节点发布的主题消息;
在监测工作设备节点是否处于存活状态时,采用如下方法:假设备用设备节点发送心跳报文的周期为t,若系统内备用设备节点在超时时间t内未接收到一个工作设备节点的心跳报文,备用设备节点向该工作设备节点发起询问,询问的超时时间减半为t/2,若又一次询问超时则超时时间再减半为t/4,再次询问,如此反复,直到超时时间小于某个临界值t(t>0)时,才认为该工作设备节点处于不再存活的状态。这样做的好处是避免了网络丢包和网络传输延迟等不确定因素,减低了误判的概率,提高了节点监测的准确性和实时性。
基于监控关系的分布式系统框架示意图如图1所示。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
PHP网站源码光明百度网站优化排名推荐重庆关键词排名包年推广推荐青岛网站建设设计公司丽江网站建设揭阳网站优化按天计费价格临猗营销型网站建设推荐鄂州网站优化按天计费价格崇左百度竞价包年推广哪家好临汾百度网站优化延边网站优化按天收费推荐网站优化按天计费哪家好廊坊SEO按天计费价格重庆网站优化软件公司兰州seo网站推广多少钱南充营销型网站建设公司湘潭网站排名优化报价钦州百度网站优化公司海南营销网站价格镇江百姓网标王推广价格阿里百姓网标王推广多少钱南通网站建设公司亳州企业网站建设黑河至尊标王推荐漳州至尊标王哪家好阳江百搜标王公司泰安百度网站优化多少钱坂田百度关键词包年推广怀化营销网站漯河关键词按天计费推荐梧州网站优化按天计费价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运