适用于轨道交通现代监控系统通讯规约的重连接方法

文档序号:6329402阅读:198来源:国知局
专利名称:适用于轨道交通现代监控系统通讯规约的重连接方法
适用于轨道交通现代监控系统通讯规约的重连接方法技术领域
本技术发明涉及轨道交通自动化领域,尤其涉及分布式监控系统领域,本技术发明可广泛适用于电气化铁路和城市轨道交通各专业监控系统以及综合监控系统等应用。
背景技术
随着计算机科学和自动化技术的迅速发展,在轨道交通的各个领域,例如电气化铁路和城市地铁等领域,监控系统已经从传统的小型桌面系统向现代的分布式复杂系统发展,其控制的地域范围,流程规模等都迅速增加。而且由于传统方式采用的分立监控系统模式,即存在信号、PSCADA (电力监控)、BAS (环控)等多个独立的监控系统并各有专员进行操作,具有运营成本高,多个系统的信息难以共享等问题,集各子系统功能于一身的综合监控系统逐渐成为新的发展趋势。在综合监控系统中,各个子系统通过集成或互联,实现由同一个上位系统进行监控,从而使得信息可以有效共享,并且减少工作量,降低运营成本。不管是专业监控系统还是综合监控系统,现代监控系统的控制规模、流程结构,工程构架都远为复杂。这就对系统之间以及系统内部的数据通讯提出了更高的要求,要求现代监控系统的数据通讯应当兼具实时、高效、稳定、健壮等特点。
为此,在现代监控系统硬件配置上,数据的发送设备和接收设备间往往通过设立两台独立的交换机等方法同时提供两条独立可用的通讯通道,从而实现硬件通讯设备的热备双冗余,以保障系统通讯硬件的可用性。
另一方面,目前监控系统中的数据通讯软件,通常又被称为通讯规约,一般采用冷备的连接框架。也就是正常运行仅基于一条通讯通道建立一条通讯连接用于传输数据。如果由于通讯故障导致通讯连接失效,那么再尝试切换到另一条通讯通道重新建立一条新的通讯连接代替原来的连接传输数据。由于通讯故障的情况比较复杂,可能发生在通讯过程中的任何一个时刻,因此从发生通讯故障到重新建立通讯连接这一过程中,可能出现数据丢失的情况,也就是接收设备和发送设备之间出现了失步的状况。为此,当重新建立了有效连接之后,必须重新传输全部数据从而重新实现接收设备和发送设备的数据同步。当数据量比较大的时候,例如在综合监控系统应用中,重新同步意味着很大的通讯开销,同时也可能延误新产生数据的传输。特别是由于轨道交通的现场环境复杂,有些地方干扰严重,往往网络状况不稳定,容易出现频繁切换通讯通道的情况。在这种情况下,由于每次切换都需要重新建立连接,所以每次也都需要重新同步数据,从而引起大量数据的重复传输,造成大量额外的通讯开销,甚至可能严重延误重要信号数据的正常传输,造成隐患。尤其在极端情况下,有可能因为过于频繁的通讯通道切换,而出现通讯软件卡死,造成系统瘫痪。
如果只是经过短暂的通讯故障,然后在重新建立连接之后重新同步数据,这时发送的数据大部分,甚至全部都是不需要的,因为在这个过程中可能并没有生成新的数据或者新生成的数据都被缓存在本地,实际上发送设备和接收设备之间并没失步,因此这时也不需要重新同步。但是通讯故障的情况比较复杂,可能发生在通讯过程的任何时刻,而且当通讯过程和本地数据访问交错进行的时候,哪些数据已经传输过就变得无法判断,从而造3成难以有效判断是否发生失步的局面,此时如果重新建立连接后不重新同步,而直接继续传输数据,不但有可能造成数据丢失,还有可能发生数据重复,这就使得重新同步的过程以及由此带来的额外通讯开销不可避免。发明内容
针对现有技术中存在的问题,本发明提出一种适用于现代复杂监控系统的重连接方法,通过引入数据库领域中事务的概念,设定合理的事务类型和操作流程,有效的隔离数据处理和通讯处理的过程,并通过携带状态标识帮助判断是否发生失步,从而避免重建连接后不必要的重新同步过程并显著降低由此带来的通讯开销,提高通讯效率。并且因为在网络频繁通断时可以避免大量的重新同步过程,从而尤其适用于网络不稳定的环境。
本发明的技术方案为一种适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于将对一条连接的操作过程称为一条控制流,所述控制流访问的数据分为本地数据、连接状态数据、通讯数据;控制流的每一个轮次均由两个事务组成,通讯事务和数据事务;控制流即为这种轮次的不断循环,如果一个轮次的通讯是正常的,那么当这一轮次全部完成,也就是通讯事务和数据事务依次正确完成时,控制流在通讯事务中成功的完成了上一个状态的数据的发送以及应答的接收,而连接状态数据保持不变,并且通过完成数据事务而将本地数据更新到下一个状态;如果在通讯事务中出现了问题,那么连接状态数据将随之做相应的更新,但在同一个轮次接下来的数据事务中不允许修改任何本地数据, 本地数据将保持为前一个状态不变;当通讯故障后一个有效的连接被重新建立,如果此时本地数据状态没有发生变化,那么就可以确定本地并没有失步,则接着刚才没有变化的本地数据状态继续传输数据即可。
上述的适用于轨道交通现代监控系统通讯规约的重连接方法,其进一步特征在于所述本地数据,是控制流根据通讯收发的讯息和应用需求而进行处理的当前应用数据的集合;所述连接状态数据,用于表征控制流的当前连接状态;所述通讯数据,包括控制流依据本地数据状态生成的符合一定格式的待发送数据、接收到的待分析数据以及收发过程使用的一些暂存数据。
所述事务是由一组操作组成的一个不成分割的原子过程,即该过程中的所有操作要么全部完成,要么一个都不发生。所述数据事务,完全由一组对本地数据的操作组成,其中不涉及任何通讯操作,也就是在一个数据事务中不允许访问任何通讯数据以及连接状态数据;所述通讯事务,由数据准备并发送——数据接受并分析——连接状态更新这几个步骤组成,在一个通讯事务过程中不允许访问任何本地数据。
上述的适用于轨道交通现代监控系统通讯规约的重连接方法,其进一步特征在于对本地数据的状态进行标识,采用循环递增计数,每一轮次传输数据的同时将本地数据的状态标识携带传输,而对方只要比较连续两次传输来的数据携带的状态标识是否相同就可以确定是否是重复的数据;如果重复,丢弃不处理即可。
当原来的通讯连接因为通讯故障而失效,并且重新建立了有效的通讯连接之后, 接收方可以比较上次记录下的状态标识和新接收到的状态标识,如果一致,那么说明收到了重复的数据,直接丢弃,下一次将是有效的数据;如果连续递增,那么说明收到的正好是需要的数据。这两种情况下,都可以判断没有发生失步,不需要重新同步,直接继续原先的通讯流程即可。
本发明的有益效果本发明提出一种适用于轨道交通现代监控系统的通讯规约软件的重连接方法,通过引入数据库领域中事务的概念,将通讯数据和非通讯数据的操作完全隔离,并且设定合理的事务类型和操作流程,再通过添加和比较状态标识,有效判断发生通讯故障的通讯双方在重新建立有效连接后是否发生失步,从而避免在未失步的情况下仍然进行数据重新同步以及由此带来的不必要的巨大通讯开销。由于这种方式有助于在网络频繁通断的情况下,尽可能减少不必要的数据同步,因而尤其适用于网络状况不稳定的环^Mi ο


图1为现有技术中的冷备连接工作流程图。
图2为本发明实施例的通讯事务流程示意图。
图3为本明实施例的控制流流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细阐述。
当前监控系统中的通讯软件,通常又称为通讯归约,大多采用冷备连接方式。也就是正常运行时仅基于一个可用的通讯通道建立一条连接用于传输通讯数据。如果发生通讯故障,则关闭原有的连接。切换到另一个通讯通道,建立一个新的连接,代替原有的连接传输数据。图1是采用冷备连接方式的通讯规约软件的流程示意图。由于重新建立连接的时延比较大,这个过程中有可能丢失数据,并且没有办法能够有效帮助判断是否发生了通讯数据的丢失,因此必须重新同步数据,从而造成了巨大的额外通讯开销。更为麻烦的是,在一次数据收发过程中有可能存在本地数据的多次访问操作,那么一旦在一次通讯过程中发生通讯故障,那么可能出现本地数据的某些访问操作已经完成,而另一些则没有完成,那么当重新建立了有效的连接之后,不管数据传输是从本地数据的访问尚未开始还是本地数据的访问已经全部完成的状态继续,都会存在问题,前者会造成通讯数据重复,后者则会造成通讯数据丢失。此时,唯一的方法就是重新传输全部数据,因此,重新同步的过程以及由此带来的巨大的额外通讯开销依然是不可避免的。
为了解决这一问题,必须能够对当前的状态进行表征,并且对是否发生失步进行判断。为了做到这一点,这里通过引入数据库的相关概念,对通讯程序的框架进行规范和限制。首先,将对一条连接的操作过程称为一条控制流,并将控制流访问的数据按作用分为三类。
本地数据,也就是控制流根据通讯收发的讯息和应用需求而进行处理的当前应用数据的集合。这类数据的处理不涉及数据传输过程。
连接状态数据,用于表征控制流的当前连接状态。一旦当前连接的状态发生变化, 例如因为通讯故障而失效,或者重新连接成功而新建一个有效的连接,那么将更新连接状态数据。
通讯数据,这包扩控制流依据本地数据状态生成的符合一定格式的待发送数据、 接收到的待分析数据以及收发过程使用的一些暂存数据等,主要用于保障数据传输的正确和高效。
如果控制流对这三类数据的访问操作的顺序没有任何限制,访问过程相互交错并且掺杂在一块,那么一旦发生通讯故障,就没有办法清楚地区分哪些数据已经被访问过,哪些还没有,也就不能确定是否发生了失步,以及重新建立连接后是否需要重新同步数据。为了解决这个问题,这里引入数据库领域的事务的概念。事务是由一组操作组成的一个不成分割的原子过程,即该过程中的所有操作要么全部完成,要么一个都不发生。通过使用事务这个概念,可以对操作进行划分,并定义相应的状态。这里定义两种事物类型。
数据事务。数据事务完全由一组对本地数据的操作组成,其中不涉及任何通讯操作,也就是在一个数据事务中不允许访问任何通讯数据以及连接状态数据。
通讯事务。通讯事务由数据准备并发送——数据接受并分析——连接状态更新这几个步骤组成,图2是通讯事务的流程示意图。其中前两个步骤涉及一系列通讯数据操作, 而第三个步骤存在连接状态数据的更新,同样,在一个通讯事务过程中不允许访问任何本地数据。
规定控制流的每一个轮次均由两个事务组成,首先是一个通讯事务,然后是一个数据事务。而控制流即为这种轮次的不断循环。如果一个轮次的通讯是正常的,那么当这一轮次全部完成,也就是通讯事务和数据事务依次正确完成时,控制流在通讯事务中成功的完成了上一个状态的数据的发送以及应答的接收,而连接状态数据保持不变,并且通过完成数据事务而将本地数据更新到下一个状态。如果在通讯事务中出现了问题,例如通讯故障导致连接失效,那么连接状态数据将随之做相应的更新,但在同一个轮次接下来的数据事务中不允许修改任何本地数据,本地数据将保持为前一个状态不变。这样,通过把通讯数据和非通讯数据隔离,并以事务为单位进行操作。保证了不管连接状态是否发生变化,本地数据要么处于上一个状态,要么更新为下一个状态,而不会处于更新中的一个中间状态。 当通讯故障后一个有效的连接被重新建立,如果此时本地数据状态没有发生变化,并且通讯双方都可以确认这一点,那么就可以确定双方并没有失步,因而不需要通过重新传输全部的数据来重新同步,只需要接着刚才没有变化的本地数据状态继续传输数据即可,此时传输的正是控制流原来传输但没有传输成功的数据。也就相当于重传上一次的数据而已, 这就保证了连接重建的过程中没有丢失数据。
这里还有两个小问题,一方面由于通讯故障类型多样,可能发生在发送数据的过程中,也可能发生在接收应答的过程中。如果是发生在发送数据的过程中,对方尚未收到, 那么再次发送同样的数据,对于对方来说,就相当于第一次发送一样,没有任何问题。但是如果发生在接收对方应答的过程中,那么对方已经收到了上次的数据,再次发送就会导致收到重复的数据,在没有判别和应对的情况下,就会进而导致重复处理数据的问题。另一方面,虽然可以基于事务的概念定义数据状态,但是还必须通讯双方有办法确定状态是否一致才能够判断是否发生了失步。不过考虑到现在本地数据的操作具有原子性,要么处于处理前状态,要么处于处理完状态,不会处于中间状态,这两个问题都变得很容易解决。一个有效的方法就是对本地数据的状态进行标识,最简单的方式可以采用循环递增计数,当然也可以采用其它方式,只要保证每一轮次本地数据处理前和处理完的状态标识不同就可以了。每一轮次传输数据的同时将本地数据的状态标识携带传输,而对方只要比较连续两次传输来的数据携带的状态标识是否相同就可以确定是否是重复的数据。如果重复,丢弃不处理即可。这样就有效避免了重复处理数据的问题。
当原来的通讯连接因为通讯故障而失效,并且重新建立了有效的通讯连接之后, 接收方可以比较上次记录下的状态标识和新接收到的状态标识,如果一致,那么说明收到了重复的数据,直接丢弃,下一次将是有效的数据;如果连续递增,那么说明收到的正好是需要的数据。这两种情况下,都没有发生失步,不需要重新同步,直接继续原先的通讯流程即可。而如果不是这两种情况,那么确实发生了通讯失步,出现了通讯数据丢失,必须通过重新发送全部数据以实现数据同步。图3是控制流流程的示意图。
通过划分事务并且对比状态标识的方法,在通讯出现故障并且重新建立通讯连接之后,可以有效地判断通讯双方是否发生了通讯失步,从而避免在未失步的情况下重新传输全部数据而带来的不必要的巨大额外通讯开销。特别是在网络不稳定的情况下,会出现频繁通断的状况,如果每次故障后重新连接都需要重新同步数据,那么频繁同步数据带来的通讯开销几乎是不可接受的,并且可能造成重要信息传输的严重延误,埋下隐患。文中提出的这种重连接方式可以帮助避免这一状况,从而非常适用于网络状况不好的环境。
本发明提出一种适用于轨道交通现代监控系统的通讯规约的重连接方法,通过引入数据库领域中事务的概念,将通讯数据和非通讯数据的操作完全隔离,并且设定合理的事务类型和操作流程,再通过添加和比较状态标识,有效判断发生通讯故障的通讯双方在重新建立有效连接后是否发生失步,从而避免在未失步的情况下仍然进行数据重新同步以及由此带来的不必要的巨大通讯开销。由于这种方式有助于在网络频繁通断的情况下,尽可能减少不必要的数据同步,因而尤其适用于网络状况不稳定的环境。
虽然本发明已以较佳实施例公开如上,但具体实施例和附图并不是用来限定本发明,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,但同样在本发明的保护范围之内。因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
权利要求
1.一种适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于将对一条连接的操作过程称为一条控制流,所述控制流访问的数据分为本地数据、连接状态数据、通讯数据;控制流的每一个轮次均由两个事务组成,通讯事务和数据事务;控制流即为这种轮次的不断循环,如果一个轮次的通讯是正常的,那么当这一轮次全部完成,也就是通讯事务和数据事务依次正确完成时,控制流在通讯事务中成功的完成了上一个状态的数据的发送以及应答的接收,而连接状态数据保持不变,并且通过完成数据事务而将本地数据更新到下一个状态;如果在通讯事务中出现了问题,那么连接状态数据将随之做相应的更新,但在同一个轮次接下来的数据事务中不允许修改任何本地数据,本地数据将保持为前一个状态不变;当通讯故障后一个有效的连接被重新建立,如果此时本地数据状态没有发生变化,那么当前本地并没有失步,则接着刚才没有变化的本地数据状态继续传输数据即可。
2.根据权利要求1所述的适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于所述本地数据,也就是控制流根据通讯收发的讯息和应用需求而进行处理的当前应用数据的集合;所述连接状态数据,用于表征控制流的当前连接状态;所述通讯数据,包括控制流依据本地数据状态生成的符合一定格式的待发送数据、接收到的待分析数据以及收发过程使用的一些暂存数据。
3.根据权利要求1所述的适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于所述事务是由一组操作组成的一个不成分割的原子过程,即该过程中的所有操作要么全部完成,要么一个都不发生。
4.根据权利要求3所述的适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于所述数据事务,完全由一组对本地数据的操作组成,其中不涉及任何通讯操作,也就是在一个数据事务中不允许访问任何通讯数据以及连接状态数据;所述通讯事务,由数据准备并发送——数据接受并分析——连接状态更新这几个步骤组成,在一个通讯事务过程中不允许访问任何本地数据。
5.根据权利要求1至4之一所述的适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于对本地数据的状态进行标识,采用循环递增计数,每一轮次传输数据的同时将本地数据的状态标识携带传输,而对方只要比较连续两次传输来的数据携带的状态标识是否相同就可以确定是否是重复的数据;如果重复,丢弃不处理即可。
6.根据权利要求1至4之一所述的适用于轨道交通现代监控系统通讯规约的重连接方法,其特征在于当原来的通讯连接因为通讯故障而失效,并且重新建立了有效的通讯连接之后,接收方可以比较上次记录下的状态标识和新接收到的状态标识,如果一致,那么说明收到了重复的数据,直接丢弃,下一次将是有效的数据;如果连续递增,那么说明收到的正好是需要的数据;这两种情况下,都可以判断没有发生失步,不需要重新同步,直接继续原先的通讯流程即可。
全文摘要
本发明提出一种适用于轨道交通现代监控系统的通讯规约软件的重连接技术,通过引入数据库领域中事务的概念,将通讯数据和非通讯数据的操作完全隔离,并且设定合理的事务类型和操作流程,再通过添加和比较状态标识,有效判断发生通讯故障的通讯双方在重新建立有效连接后是否发生失步,从而避免在未失步的情况下仍然进行数据重新同步以及由此带来的不必要的巨大通讯开销。由于这种方式有助于在网络频繁通断的情况下,尽可能减少不必要的数据同步,因而尤其适用于网络状况不稳定的环境。
文档编号G05B9/03GK102508430SQ20111029531
公开日2012年6月20日 申请日期2011年9月29日 优先权日2011年9月29日
发明者戴宏斌 申请人:南京国电南自轨道交通工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1