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

一种面向高速磁浮交通仿真的分布式通信系统维护方法技术方案

技术编号:13424479 阅读:70 留言:0更新日期:2016-07-29 10:20
本发明专利技术涉及一种面向高速磁浮交通仿真的分布式通信系统维护方法,分布式通信系统包括至少一台主机,包括以下步骤:(1)对通信中间件软件结构分层;(2)初始化IP地址列表;(3)工作线程向所有主机依次发送心跳报文,并更新有返回心跳响应报文的主机在IP地址列表中的条目时间戳;(4)根据条目时间戳,判断是否有主机故障,如果是,则转步骤(5),否则,工作线程更新主机在IP地址列表中的条目时间戳;(5)将发生故障的主机定义为故障主机,并将故障信息传递至其他所有主机,然后,修复故障主机,故障修复后,将恢复信息传递至其他所有主机,从而系统恢复正常通信。与现有技术相比,本发明专利技术具有提升系统稳定性和容错性等优点。

【技术实现步骤摘要】

本专利技术属于分布式系统通信领域,尤其是涉及一种面向高速磁浮交通仿真的分布式通信系统维护方法
技术介绍
分布式系统中,各个模块之间均通过交互消息协同完成分布式系统的功能,消息通信的性能和服务质量直接决定了分布式系统实现的服务质量。在高速磁浮交通仿真这种跨平台交互环境中,子系统主机之间互有通信,而且子系统内部的结构时有变化。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种提升系统稳定性和容错性的面向高速磁浮交通仿真的分布式通信系统维护方法。本专利技术的目的可以通过以下技术方案来实现:一种面向高速磁浮交通仿真的分布式通信系统维护方法,所述的分布式通信系统包括至少一台主机,包括以下步骤:(1)对通信中间件软件结构分层;(2)初始化IP地址列表;(3)工作线程向所有主机依次发送心跳报文,并更新有返回心跳响应报文的主机在IP地址列表中的条目时间戳;(4)根据步骤(3)中条目时间戳,判断是否有主机故障,如果是,则转步骤(5),否则,工作线程更新主机在IP地址列表中的条目时间戳;(5)将发生故障的主机定义为故障主机,并将故障信息传递至其他所有主机,然后,修复故障主机,故障修复后,将恢复信息传递至其他所有主机,从而系统恢复正常通信。所述的步骤(1)具体为:采用“数据-逻辑-表现”三层结构的变体,将通信中间件软件结构分成网络通信层、可靠性保障层和IPC层,所述的网络通信层和可靠性保障层均使用自适应通信环境ACE实现,用于完成可靠性保障层中类的设计以及IP地址列表和通信状态维护报文的定义。IP地址列表用来记录网络中主机状态,由可靠性保障层中工作线程CThreadForNetManage负责维护。所述的步骤(2)具体为:当所述的可靠性保障层中的网络管家类完成配置文件的读取时,工作线程将配置文件中读取到的IP地址插入到IP地址列表中,并默认IP地址与主机的连接都是有效的,并将IP地址的插入时间作为时间戳写到IP地址列表中。通信层第一次启动时,其IP地址列表为空,所述的网络管家类为通信中间件中的一个类,其中设有用来初始化和增删相关资源的initNetBoss等函数,本专利技术中主要指CNetBoss类中的initNetBoss等函数。所述的步骤(3)具体为:正常状态下,IP地址列表初始化完成K秒后,0<K<=15,每隔N秒,5≤N≤30,工作线程向所有主机依次发送心跳报文,当工作线程接收到对应序列号的心跳响应报文后,将对应的主机在IP地址列表的条目时间戳更新为接收心跳响应报文的时间点。N默认为15秒,可在配置文件中指定。所述的步骤(4)具体为:判断所述的条目时间戳与当前时间点差值是否大于或等于2N±1秒,如果是,则有主机出现故障,执行步骤(5),否则,工作线程将主机在IP地址列表中的条目时间戳更新到心跳响应报文的时间点。所述的步骤(5)中修复主机故障具体为:将故障主机的条目时间戳中的有效性字段改为无效,且不再向故障主机发送心跳报文,同时通知网络管家类将与故障主机有关的资源删除。此时应用程序如果查询网络状态,也会得到故障不可达的通知。除了更新本地的IP地址列表外,工作线程CThreadNetManage还会向IP地址列表中除了故障主机以外的其他主机广播发送一个主机网络故障广播。所述的步骤(5)中,故障修复后,网络管家类读取配置文件,将有发送需求的主机的IP地址加入到IP地址列表中,然后向这些主机发送心跳报文来测试连接状态,第一个收到该心跳报文的主机将IP地址列表中所有与故障主机有关的条目设为有效,然后向IP地址列表中所有其他主机发送一个主机网络故障修复广播报文。经过短时间的递归式广播,系统在短时间内从故障状态恢复,减少了在异常状态下运行的时间,提高了可靠性。与现有技术相比,本专利技术具有以下优点:(1)本专利技术中网络通信层和可靠性保障层均使用自适应通信环境ACE实现,定义一种子系统之间交互连接信息协议来实时交换连接状态,从而高效的完成整个通信层中状态维护,降低子系统之间的时间耦合,提升系统稳定性和容错性;(2)通过递归式广播,系统在短时间内从故障状态恢复,减少了在异常状态下运行的时间,提高了可靠性。附图说明图1为本专利技术的流程图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。如图1所示,一种面向高速磁浮交通仿真的分布式通信系统维护方法,分布式通信系统包括至少一台主机,包括以下步骤:(1)采用“数据-逻辑-表现”三层结构的变体,将通信中间件软件结构分成网络通信层、可靠性保障层和IPC层,网络通信层和可靠性保障层均使用自适应通信环境ACE实现,用于完成可靠性保障层中类的设计以及IP地址列表和通信状态维护报文的定义。IP地址列表用来记录网络中主机状态,由可靠性保障层中工作线程CThreadForNetManage负责维护。在这个“变形”的分层结构中,各层次之间通过接口进行交互,层次内部高度耦合,层次之间松散耦合。完成可靠性保障层中类的设计:定义CWorkerThread来继承ACE中线程封装类ACE_Task,定义CNetboss类负责了整个层次中原有工作对象的生成、管理以及销毁,CNetboss类是整个可靠性保障性层的核心部分。定义IP地址列表和通信状态维护报文,用来记录网络中主机状态,IP地址列表中每项代表一个与本机连接的主机,由可靠性保障层中工作线程CThreadForNetManage负责维护。通信状态维护报文属于可靠性保障层协议,操作编码从0x01-0x05依次对应数据报文、心跳报文、心跳响应报文、主机网络故障广播和主机网络故障修复广播。(2)通信层第一次启动时,其IP地址列表为空。当可靠性保障层中的网络管家类中的initNetboss(void)函数完成配置文件的读取时,工作线程CThreadNetManage将配置文件中读取到的IP地址插入到IP地址列表中,并默认IP地址与主机的连接都是有效的,并将IP地址的插入时间作为时间戳写到IP地址列表中。网络管家类为通信中间件中的一个类,其中设有用来初始化和增删相关资源的initNetBoss等函数,本专利技术中主要指CNetBoss类中的initNetBoss等函数。(3)正常状态下,IP地址列表初始化完成K秒后,0<K<=15秒,每隔N秒,5≤N≤30,工作线程向所有主机依次发送心跳报文,当工作线程接收到对应序列号的心跳响应报文后,将对应的主机本文档来自技高网...

【技术保护点】
一种面向高速磁浮交通仿真的分布式通信系统维护方法,所述的分布式通信系统包括至少一台主机,其特征在于,包括以下步骤:(1)对通信中间件软件结构分层;(2)初始化IP地址列表;(3)工作线程向所有主机依次发送心跳报文,并更新有返回心跳响应报文的主机在IP地址列表中的条目时间戳;(4)根据步骤(3)中条目时间戳,判断是否有主机故障,如果是,则转步骤(5),否则,工作线程更新主机在IP地址列表中的条目时间戳;(5)将发生故障的主机定义为故障主机,并将故障信息传递至其他所有主机,然后,修复故障主机,故障修复后,将恢复信息传递至其他所有主机,从而系统恢复正常通信。

【技术特征摘要】
1.一种面向高速磁浮交通仿真的分布式通信系统维护方法,所述的分布式通
信系统包括至少一台主机,其特征在于,包括以下步骤:
(1)对通信中间件软件结构分层;
(2)初始化IP地址列表;
(3)工作线程向所有主机依次发送心跳报文,并更新有返回心跳响应报文的
主机在IP地址列表中的条目时间戳;
(4)根据步骤(3)中条目时间戳,判断是否有主机故障,如果是,则转步骤
(5),否则,工作线程更新主机在IP地址列表中的条目时间戳;
(5)将发生故障的主机定义为故障主机,并将故障信息传递至其他所有主机,
然后,修复故障主机,故障修复后,将恢复信息传递至其他所有主机,从而系统恢
复正常通信。
2.根据权利要求1所述的一种面向高速磁浮交通仿真的分布式通信系统维护
方法,其特征在于,所述的步骤(1)具体为:将通信中间件软件结构分成网络通
信层、可靠性保障层和IPC层,所述的网络通信层和可靠性保障层均使用自适应通
信环境ACE实现,用于完成可靠性保障层中类的设计。
3.根据权利要求2所述的一种面向高速磁浮交通仿真的分布式通信系统维护
方法,其特征在于,所述的步骤(2)具体为:当所述的可靠性保障层中的网络管
家类完成配置文件的读取时,工作线程将配置文件中读取到的IP地址插入到IP地
址列表中,并默认IP地址与主机的连接都是有效的,并将IP地址的插入时间作为
时间戳写到IP地址列表中,
所述的网络管家类为通信中间件中的一个类,其中设有用来初始化和增删相关
资源的initNetBoss函数。...

【专利技术属性】
技术研发人员:袁时金马骕穆斌林晔张旭彤
申请(专利权)人:同济大学
类型:发明
国别省市:上海;31

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

1