本发明专利技术涉及铁路调度系统技术领域,具体涉及一种实时数据同步的方法。该方法包括在第一节点的状态数据发生变化时,主动将变化的状态数据发送给第二节点;第二节点定时请求第一节点发送第一节点的第一全部状态数据,在状态数据发生更新时,第二节点根据第一全部状态数据更新本地数据;第一节点定时将该第一节点的第二全部状态数据发送给第一节点在状态数据发生更新时,第二节点根据第二全部状态数据更新本地数据。本发明专利技术通过双向交互的方式进行同步,既保证了数据同步的实时性,又避免了由于网络丢包引起的数据丢失引起的同步失败,能够确保状态变化数据被同步,保证最终反馈给用户的数据的准确性,避免了用户的误操作。
A Method, Device and Storage Medium for Real-time Data Synchronization
【技术实现步骤摘要】
一种实时数据同步的方法、装置及存储介质
本专利技术涉及铁路调度系统
,具体涉及一种实时数据同步的方法、装置及存储介质。
技术介绍
在轨道交通自动化
,一个完备调度系统通常由调度工作站、应用服务器和接口服务器组成,调度工作站上部署HMI(HumanMachineInterface,人机界面)程序负责与应用服务器交互;应用服务器上部署应用服务程序负责处理调度系统内部数据并与接口服务器交互;接口服务器上部署接口程序负责与外部系统交互。通常若模块/系统A与模块/系统B持有数据一致且总是A的数据首先发生变化,若A的数据发生变化,我们把数据发生变化的模块/系统A向数据未变化的模块/系统B发送数据包(该数据包使得B的数据与A的数据保持一致)称为一次数据的同步。在调度系统内部会有很多实时数据需要在调度工作站与服务器之间、服务器与服务器之间进行实时同步,例如外部系统的设备状态数据,外部系统的设备状态数据由外部系统发送至调度系统的接口服务器,接口服务器要把这些状态数据同步至应用服务器,应用服务器再将状态数据同步至调度工作站。在现有技术应用中,外部系统设备被抽象为数据对象存在于调度系统数据库,调度系统内部的接口服务程序、应用服务程序和HMI程序通过访问数据库获取到一致的设备对象数据,每一个设备对象其包含有状态数据,设备对象的状态数据作为实时数据需要在接口服务器和应用服务器之间同步、应用服务器和调度工作站之间同步。但是它们之间的同步过程均为单向发送的方式,即接口服务器接收到外部系统发送的变化数据后向应用服务器发送一次变化数据,将应用服务器的数据同步更新与接口服务器保持一致,然后应用服务器再向调度工作站发送变化数据,将调度工作站的数据同步更新与应用服务器保持一致。专利技术人在实践中发现,上述现有技术存在以下缺陷:调度系统内设备进行数据同步时是单向的由数据变化的节点向未变化的节点主动发送一次变化数据从而使双方数据保持一致,但如果数据同步时网络通讯受到干扰,则会产生网络数据包丢失的现象,从而导致该变化数据丢失。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种实时数据同步的方法、装置及存储介质,具体技术方案如下:第一方面,一种实时数据同步的方法,用于第二节点,所述方法包括以下步骤:接收所述第一节点发送的状态变化数据,根据所述状态变化数据更新本地数据;定时请求第一节点发送所述第一节点的第一全部状态数据,根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新本地数据;接收所述第一节点定时发送的所述第一节点的第二全部状态数据,根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新本地数据。第二方面,一种实时数据同步的方法,用于第一节点,所述方法包括以下步骤:向第二节点发送状态变化数据,所述状态变化数据用于触发所述第二节点根据所述状态变化数据更新所述第二节点的本地数据;接收所述第二节点发送的定时请求,根据所述定时请求向所述第二节点发送所述第一节点的第一全部状态数据,所述第一全部状态数据用于触发所述第二节点根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新所述第二节点的本地数据;向所述第二节点定时发送所述第一节点的第二全部状态数据,所述第二全部状态数据用于触发所述第二节点根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新所述第二节点的本地数据。第三方面,一种实时数据同步的装置,用于第二节点,所述装置包括:被动更新模块,用于接收所述第一节点发送的状态变化数据,根据所述状态变化数据更新本地数据;主动更新模块,用于定时请求第一节点发送所述第一节点的第一全部状态数据,根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新本地数据;定时接收更新模块,用于接收所述第一节点定时发送的所述第一节点的第二全部状态数据,根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新本地数据。第四方面,一种实时数据同步的装置,用于第一节点,所述装置包括:主动上报模块,用于向第二节点发送状态变化数据,所述状态变化数据用于触发所述第二节点根据所述状态变化数据更新所述第二节点的本地数据;被动上报模块,用于接收所述第二节点发送的定时请求,根据所述定时请求向所述第二节点发送所述第一节点的第一全部状态数据,所述第一全部状态数据用于触发所述第二节点根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新所述第二节点的本地数据;定时上报模块,用于向所述第二节点定时发送所述第一节点的第二全部状态数据,所述第二全部状态数据用于触发所述第二节点根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新所述第二节点的本地数据。第五方面,一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任意一种一种实时数据同步的方法。本专利技术具有如下有益效果:本专利技术提供了一种实时数据同步的方法,该方法包括在第一节点的状态数据发生变化时,主动将变化的状态数据发送给第二节点;第二节点定时请求第一节点发送第一节点的第一全部状态数据,在状态数据发生更新时,第二节点根据第一全部状态数据更新本地数据;第一节点定时将该第一节点的第二全部状态数据发送给第一节点在状态数据发生更新时,第二节点根据第二全部状态数据更新本地数据。本专利技术在原有的单向同步的方法的基础上增加了同步交互的过程,将单向同步的方式扩展为以双向交互的方式进行同步的双向交互模式,既保证了数据同步的实时性,又避免了由于网络丢包引起的数据丢失引起的同步失败,能够确保状态变化数据被同步,保证最终反馈给用户的数据的准确性,避免了用户的误操作。附图说明图1为本专利技术实施例所涉及的实施环境图;图2为本专利技术一个实施例所提供的一种实时数据同步的方法的流程图;图3为本专利技术另一个实施例提供的一种实时数据同步的装置的结构框图;图4为本专利技术另一个实施例提供的一种实时数据同步的装置的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或本文档来自技高网...
【技术保护点】
1.一种实时数据同步的方法,其特征在于,用于第二节点,所述方法包括以下步骤:接收所述第一节点发送的状态变化数据,根据所述状态变化数据更新本地数据;定时请求第一节点发送所述第一节点的第一全部状态数据,根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新本地数据;接收所述第一节点定时发送的所述第一节点的第二全部状态数据,根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新本地数据。
【技术特征摘要】
1.一种实时数据同步的方法,其特征在于,用于第二节点,所述方法包括以下步骤:接收所述第一节点发送的状态变化数据,根据所述状态变化数据更新本地数据;定时请求第一节点发送所述第一节点的第一全部状态数据,根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新本地数据;接收所述第一节点定时发送的所述第一节点的第二全部状态数据,根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新本地数据。2.根据权利要求1所述的一种实时数据同步的方法,其特征在于,根据所述第一全部状态数据判断是否有状态数据发生更新和/或根据所述第二全部状态数据判断是否有状态数据发生更新的方法,包括以下步骤:将所述第一全部状态数据与本地数据进行比较,在所述第一全部状态数据与本地数据之间存在差异时,判定状态数据发生更新;和/或将所述第二全部状态数据与本地数据进行比较,在所述第二全部状态数据与本地数据之间存在差异时,判定状态数据发生更新。3.根据权利要求1或者2所述的一种实时数据同步的方法,其特征在于,所述状态变化数据是所述第一节点采集到的状态更新的数据。4.一种实时数据同步的方法,其特征在于,用于第一节点,所述方法包括以下步骤:向第二节点发送状态变化数据,所述状态变化数据用于触发所述第二节点根据所述状态变化数据更新所述第二节点的本地数据;接收所述第二节点发送的定时请求,根据所述定时请求向所述第二节点发送所述第一节点的第一全部状态数据,所述第一全部状态数据用于触发所述第二节点根据所述第一全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第一全部状态数据更新所述第二节点的本地数据;向所述第二节点定时发送所述第一节点的第二全部状态数据,所述第二全部状态数据用于触发所述第二节点根据所述第二全部状态数据判断是否有状态数据发生更新,当有状态数据发生更新时,根据所述第二全部状态数据更新所述第二节点的本地数据。5.根据权利要求4所述的一种实时数据同步的方法,其特征在于,所述状态变化数据是所述第一节点采集到的...
【专利技术属性】
技术研发人员:李文琦,魏丙涛,刘振宇,于东波,
申请(专利权)人:郑州轨道交通信息技术研究院,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。