首页> 中国专利> 综合监控系统多区域数据同步方法

综合监控系统多区域数据同步方法

摘要

本发明公开了一种综合监控系统多区域数据同步方法,其特征在于包括以下步骤:1)同步区域定义:定义控制中心、备用中心、车站、车辆段数据服务器基本信息;2)环形队列和数据服务线程关联:创建与数据服务器相对应的线程,同时与环形队列关联,对全局状态信息进行管理;3)数据提取和标识信息生成与封装:提取需要同步的数据,创建数据描述信息,将描述信息和提取的数据进行封装;4)服务器状态侦测及管理:数据同步线程侦测服务器状态,并更新全局状态信息中对应数据服务器的状态信息;5)数据提交及服务器故障处理;6)数据提交结果标识及数据清理。本发明的综合监控系统数据同步方法可以实现数据同步的高可用性、同步速度快且安全性高。

著录项

  • 公开/公告号CN101519078A

    专利类型发明专利

  • 公开/公告日2009-09-02

    原文格式PDF

  • 申请/专利权人 国电南瑞科技股份有限公司;

    申请/专利号CN200910025921.2

  • 申请日2009-03-13

  • 分类号B61L27/00(20060101);H04L29/08(20060101);G06F17/30(20060101);

  • 代理机构32224 南京纵横知识产权代理有限公司;

  • 代理人董建林;许婉静

  • 地址 210061 江苏省南京市高新技术开发区高新路20号

  • 入库时间 2023-12-17 22:31:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-12-17

    专利权的转移 IPC(主分类):B61L27/00 变更前: 变更后: 登记生效日:20141128 申请日:20090313

    专利申请权、专利权的转移

  • 2011-06-29

    授权

    授权

  • 2009-10-28

    实质审查的生效

    实质审查的生效

  • 2009-09-02

    公开

    公开

说明书

技术领域

本发明涉及一种应用于轨道交通综合监控系统架构上,可以达成将数据在本区域内同步和向其它区域同步的方法,属于地铁自动化技术领域。

背景技术

随着我国地铁自动化领域的快速发展及计算机的普遍应用,在地铁各专业内部存在着各种形式的系统,这些系统确实提高了工作效率,但是同时也形成了一个个分散的“信息孤岛”,彼此孤立的系统无法做到数据共享和数据及时更新。综合监控系统可以将各分散孤立的自动化系统联结为一个有机的整体,从而实现地铁各专业子系统之间的信息互通、资源共享;有效提高各子系统的协调配合能力,高效地实现系统间的联动;极大地提高了地铁全线的整体自动化水平。

在综合监控系统中,数据同步是典型分布式网络应用环境下的数据同步。对于分布式环境下的数据同步一般依赖于数据库开发商提供的技术,但这些技术一般都是同类数据库的同步,限制诸多而且功能较弱。同时,由于综合监控系统有很高的安全性,对数据的可靠性、准确性、实时性和一致性提出了更高的要求,具有如下特点:

1)高可用性

强调系统的高可靠性,在网络出现故障时能保证不影响本地的工作,并且在故障恢复后有很好的手段重新同步数据。此外,通过本地主副数据同步,使本地单一节点在发生故障时仍具有较高的可用性。

2)一致性

在分布式环境中,提供最一致和可靠的数据传输,以保证数据间的一致性不被破坏。

3)实时性

数据同步实时性要求高,在值班节点异常情况下访问备用节点时,能够立刻取得当前数据。

4)海量数据

系统全线正常每天实时产生事件在十万级,异常情况下更多,造成历史数据在不断增长,在数据同步时必须考虑对系统性能的影响。

综上所述,如何在综合监控系统中进行高效、安全的数据同步,是需要解决的重要问题。

发明内容

本发明所要解决的技术问题是提供一种综合监控系统中高可用性、速度快且安全的数据同步方法。

为解决上述技术问题,本发明提供一种综合监控系统多区域数据同步方法,包括以下步骤:

1)同步区域定义:定义控制中心、备用中心、车站、车辆段数据服务器基本信息,包括设备类型、服务名称、IP地址、用户信息、优先级、是否群集。另外,除域内信息外还包括需要同步的其它区域信息;

2)环形队列和数据服务线程关联:根据同步区域定义,创建与数据服务器相对应的线程,同时与环形队列关联,对全局状态信息进行管理;

3)数据提取和标识信息生成与封装:提取需要同步的数据,并相应的创建数据描述信息,包括需要同步结果计数、服务器IP地址、数据类型、数量,将描述信息和提取的数据进行封装;

4)服务器状态侦测及管理:全局状态信息记录了1)中所定义的数据服务器名,标志和状态等信息。数据同步线程侦测服务器状态,并更新全局状态信息中对应数据服务器的状态信息。无故障情况下,线程对全局状态信息中对应数据服务器状态和时标进行更新;当线程检测到数据服务器出现异常,根据异常信息设置状态和时标;若线程出现僵死,结束僵死线程并创建新的对应服务器线程,恢复数据现场;

5)数据提交及服务故障处理:根据4)中提取的数据服务器状态信息,当服务器状态正常时,按照类型为基本模式或者群集模式提交数据到数据服务器;当服务器状态异常时,数据缓存本地目录,等到故障恢复后,立即根据所记录的内容按顺序完成同步。

在本发明中,披露了一种数据同步的区域定义方法。区域定义的结构说明如下:

区域1:本区域的名称。

同步域:其它需要同步的域名称。可以为空,也可以为多个已逗号分开的名称。

区域1服务器1:区域1第一台服务器名称。

地址:区域1服务器1的IP地址。

用户名:区域1服务器1的用户。

密码:区域1服务器1的用户的密码。

服务名:区域1服务器1的数据服务名。

群集标识:标识区域1服务器1是否为群集服务器。

区域1服务器2:区域1第二台服务器名称。

地址:区域1服务器2的IP地址。

用户名:区域1服务器2的用户。

密码:区域1服务器2的用户的密码。

服务名:区域1服务器2的数据服务名。

群集标识:标识区域1服务器2是否为群集服务器。

同步域1服务器1:同步域1第一台服务器名称。

地址:同步域1服务器1的IP地址。

用户名:同步域1服务器1的用户。

密码:同步域1服务器1的用户的密码。

服务名:同步域1服务器1的数据服务名。

群集标识:标识同步域1服务器1是否为群集服务器。

同步区域可以为空,也可以配置多个。区域内服务器可配置一台服务器,也可以多台。每台服务器需要地址、用户名、密码、服务名和群集标识。

除此之外,可以定义同步区域为空,也可以定义多个需要和本区域进行数据同步其它区域的信息,包括区域名称、对应的数据服务器基本信息。

在本发明中,披露了以环形队列作为分发数据缓冲,主线程和子线程按照不同速率访问环形队列,子线程与数据服务器保持数据链进行数据同步的方法,采用环形队列作为数据缓冲区,所有线程使用共享的环形队列,按照先进先出(FIFO)方式访问,根据同步区域定义,创建与数据服务器相对应的线程,同时将环形队列指针作为线程输入参数,使得线程可以访问环形队列进行取数。在线程提取数据的过程中,可以按照时间截取数据,生成数据描述信息,包括同步结果计数、服务器IP地址、数据类型以及数量,然后将数据描述信息和内容共同保存。采用该方法提高了数据读写的速度,并且大大降低了内存的消耗,避免了多个子线程使用多个数据副本而造成的不一致性,并且用于匹配不同速率需求与服务。创建与数据服务器相对应线程,具体为创建多个线程,每个线程对应一个数据服务器,并建立同步数据链接。

环形队列(访问顺序为先进先出FIFO)和从1到n编号的线程组成了共享存储系统,编号为1的线程进行元素入队列(入队,enqueue),编号2~n的线程查看队首元素(front),并且队首访问统计为n-1时删除队首元素(出队,dequeue)。Q.r是最后元素之后空位的下标,Q.f是首元素的下标,[Q.f,Q.r)是队列中所有元素。当Q.f==Q.r时队空,当(Q.r+1)/队列最大个数MAXN==Q.f队列满。

首先,1号线程提取需要同步的数据,可以是满足数据格式的多种来源,按照时间截取100~500毫秒的数据,根据数据类型划分为时序相关和时序无关两类,同时生成数据描述信息,包括同步结果计数、服务器IP地址、数据类型、数量,然后,将数据描述信息及内容组合后入队列Q.r=(Q.r+1)/MAXN。

其次,2~n号线程访问队首元素,读取数据描述信息,比较线程链接的数据服务器地址与头部地址信息是否一致,如果一致,将数据内容通过线程对已链接的服务器进行数据同步,同时记录同步结果。如果同步成功,数据描述信息中的同步结果计数增加1;如果同步失败,将数据内容保存到相应的本地目录,等待服务器正常后再进行同步,保存本地成功后,再将数据描述信息中的同步结果计数增加1。

最后,等到第n个线程同步完毕,此时数据描述信息中的同步结果计数为n-1,这时由最后线程将队列Q.f=(Q.f+1)/MAXN。

在本发明中,披露了一种实现基本模式和集群模式数据同步的方法,其中集群模式采用二阶段提交方法。基本模式是区域内两台数据服务器,不配商用集群软件;集群模式是区域内两台数据服务器带一个阵列,安装集群软件及数据并行处理软件,此时数据服务器实际使用同一份数据实体。

对于基本模式,对应两个完全独立的线程为两台数据服务器提供数据同步,运行方式比集群方式减少了二阶段提交。

对于集群模式,两台数据服务器带一个阵列,安装集群软件及数据并行处理软件,此时数据服务器实际使用同一份数据实体,由于数据服务器使用同一份数据实体,因此在处理上必须保证同步的数据内容不能重复。在数据提交过程中采用二阶段提交,具体包含以下步骤:

1)检测到服务器为集群方式,数据服务器使用同一份数据实体,保证同步的数据内容不能重复,集群数据服务器对应两个活动线程A和B,线程A和B检查到队首,发现有数据需要提交,进行初始化提取数据;

2)活动线程A和B根据相应链接服务器优先级,设置自身优先级;

3)设线程A对应服务器优先级大于B对应的服务器,A进入就绪状态,B进入等待状态;

4)如果A提交成功后,返回状态标志,B丢弃提交数据;

5)如果A提交失败,返回出错标志,B进入提交状态,提交数据;

6)如果A和B都提交失败,A保存数据到本地目录,A和B丢弃提交数据,进入下一次轮询。

在本发明中,披露了一种实现数据提交结果标识及数据清理的数据同步方法,当数据提交结束后,或者增加数据描述信息中同步结果计数,或者清理队列中数据、释放空间。该过程包括:

1)比较线程链接的数据服务器地址与数据描述信息中IP地址是否一致;

2)数据提交成功,数据描述信息中的同步结果计数增加1;

3)数据提交失败,将数据内容保存到相应的本地目录,等待服务器正常后再进行同步,保存本地成功后,再将数据描述信息中的同步结果计数增加1;

5)最后一个线程同步完毕,此时数据描述信息中的同步结果计数为n-1;

6)清理队首数据,释放缓存空间。

在本发明中,披露了一种线程和数据服务器协同工作,通过状态管理提高数据同步可靠性的方法。

为了准确标识数据服务器的运行情况,线程采用轮询的方式对数据服务器状态进行管理,监视数据服务器的在线情况及运行状态。设定数据服务器运行状态分别为启动、在线、就绪、离线、故障和退出,在所述故障和在线时服务器可以登录、但没有响应数据同步请求;在所述启动、离线和退出时服务器无法登录;在所述就绪时为数据服务器的正常状态。具体的对服务器侦测及切换的方法包括以下步骤:

1)当对应线程创建完毕后,先将全局状态信息中相应数据服务器状态设置为启动,并设置时标;

2)线程发送ICMP报文取得服务器的响应,如果响应正常则设置为在线状态,否则设置为离线状态;

3)当有数据需要同步时,服务器为在线状态,则同步数据,若成功,相应设置服务器为就绪状态;

4)若同步失败,则设置为故障状态;

5)当出现网络异常时,即ICMP报文无响应,设置数据服务器为离线状态;

6)如果线程长时间未响应,即全局状态信息中数据服务器的状态时标长时间未更新,此时认为线程异常,结束线程后重新创建。

通过该方法简化了数据同步的处理,可以预先确定服务器状态来提高数据同步的可靠性。

本发明所达到的有益效果:通过以上步骤,本发明的综合监控系统数据同步方法可以实现数据同步的高可用性、同步速度快且安全性高。

附图说明

图1为本发明提供多区域数据同步方法的典型结构图;

图2为本发明方法的处理流程示意图;

图3为本发明中多线程以环形队列为缓冲同步数据的处理流程图;

图4为本发明中集群模式下二阶段提交的处理流程图;

图5为本发明中数据服务器状态管理的状态转换图。

具体实施方式

下面是本发明的一个优选实施例,包括了采用本发明的方法实现的一个具体的综合监控系统多区域数据同步的过程。本发明中的综合监控系统包括控制中心、备用中心、车站和车辆段各为单独的区域,每个区域至少一台服务器;多个车站合并为一个区域,每个区域至少一台服务器;控制中心和备用中心合并为一个区域,每个区域至少一台服务器;控制中心和至少一个车站合并为一个区域,每个区域至少一台服务器;备用中心和至少一个车站合并为一个区域,每个区域至少一台服务器。

综合监控系统进行多区域数据同步,若区域内存在需要进行数据同步的服务器,先对本区域进行数据同步,图1为本发明提供多区域数据同步方法的典型结构图,是区域内数据同步,采用的是基本模式。和是区域间的数据同步,并且控制中心和备用中心采用了集群模式。这种结构满足了综合监控系统的安全性和可靠性,保证区域存在一致的数据副本,而且在出现单点故障时,另一台服务器立刻可以接管,满足了系统实时性的要求。

首先,根据数据同步的配置信息,确定需要进行数据同步的服务器IP地址和用户相关信息,图2为本发明方法的处理流程示意图,由开始读取灵活的配置信息,确定每个区域需要进行同步的服务器,理论上说可以达到区域任意两两组合。由创建环形队列缓冲区,并进行头尾指针初始化。是根据所配置的服务器信息,创建相应的线程与服务器对应。是主线程从队列中提取数据,图3为本发明中多线程以环形队列为缓冲同步数据的处理流程图,主线程根据提取的信息生成描述信息,与数据内容一起存储数据到队列尾主线程顺序检查全局状态信息,检查是否存在数据服务器状态的时标长时间未更新,如果存在认为线程异常,结束线程后重新创建随后,主线程开始轮询,子线程首先判断环形队列是否有数据,如果存在数据需要同步先在全局状态信息中提取相应数据服务器状态。

图5为服务器状态管理的状态转换图,子线程通过ICMP报文侦听服务器响应,若成功则设置对应的服务器在线然后进行数据提交,数据提交成功后相应设置服务器状态为就绪如果发生网络中断,这时候不管服务器是处于在线还是就绪,都会转换为离线当网络恢复后重新转换为在线当数据更新失败时,设置服务器状态为故障等到数据服务器恢复后切换为在线

如果服务器就绪则取环形队列首部数据然后判断本地目录是否有文件未同步若存在,先将队列中提取的数据按时间保存本地同时从本地取最早保存文件,取出数据进行数据同步如果本地没有文件未同步,则直接进行数据同步若服务器没有就绪,则将提取的数据进行本地缓存

图3中线程2~n所进行的工作就是从队首提取数据,进行同步的过程先读取数据描述信息,比较线程链接的数据服务器地址与头部地址信息是否一致,如果一致,将数据内容通过线程对已链接的服务器进行数据同步,同时记录同步结果。如果同步成功,数据描述信息中的同步结果计数增加1;如果同步失败,将数据内容保存到相应本地目录,等待服务器正常后再进行同步,保存本地成功后,再将数据描述信息中的同步结果计数增加1。直到第n个线程同步完毕,此时数据描述信息中的同步结果计数为n-1,清理队首,释放空间。

图4为本发明中集群模式下二阶段提交的处理流程图,当线程对群集服务器进行同步时,首先初始化,判断服务器状态,若异常就直接退出处理。正常情况下,对应服务器优先级高的线程A进入就绪优先级低的线程B等待如果线程A提交数据成功线程B检测到成功,正常退出处理过程如果线程A提交失败线程B检测到未成功,提交数据

根据以上实施例可知,本发明实现了综合监控系统中一种数据同步方法。采用环形队列数据缓冲和多线程机制将数据实时同步到指定区域,使区域的数据保持实时性、完整性和一致性,并且在数据交换模式扩展或者改变时,同样可以增加或改变配置以满足需要。通过该方法使得数据安全得到了较大提高,能解决通常网络和服务器异常时造成数据无法访问的问题。

本发明按照优选实施例进行了说明,应当理解上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号