一种linux系统船舶交通管理数据实时双机内存热备方法技术方案

技术编号:21343238 阅读:26 留言:0更新日期:2019-06-13 22:22
本发明专利技术公开了一种linux系统船舶交通管理数据实时双机内存热备方法,包括以下步骤:S1:将主机和备机做相应的配置并提供一致的虚拟IP地址;将主机内存储的船舶交通管理数据发送至备机;S3:启动服务器的业务处理线程的同时启动定时检测线程,S4:备机启动、先启动接收端处理线程接收主机发送的主机内存中的数据;S5:备机向主机请求内存数据同时启动定时检测线程,检测是否是备机模式;S6:备机对接收到数据进行解析处理并保存再通知主机;S7:主机接收到通知后恢复业务处理线程,并实时向备机发送内存中保存的数据;备机接收数据并保存,主机、备机各自独立运行内存数据保持一致。

A real-time dual-computer memory hot standby method for ship traffic management data in Linux system

The invention discloses a real-time dual-computer memory hot standby method for ship traffic management data in Linux system, which includes the following steps: S1: to configure the main engine and standby machine accordingly and provide a consistent virtual IP address; to send the ship traffic management data stored in the main engine to standby machine; S3: to start the service processing thread of the server while starting the timing detection thread; and S4: to start and start the standby machine first. The active receiving end processes the data in the host memory sent by the host; S5: the standby requests the memory data from the host and starts the timing detection thread to check whether it is standby mode; S6: the standby parses the received data and saves it and then notifies the host; S7: the host restores the business processing thread after receiving the notification, and sends the data stored in the memory to the standby in real time; The standby machine receives data and saves it. The main machine and standby machine run memory data independently.

【技术实现步骤摘要】
一种linux系统船舶交通管理数据实时双机内存热备方法
本专利技术涉及双机热备份系统领域,尤其涉及一种linux系统船舶交通管理数据实时双机内存热备方法。
技术介绍
双机热备针对的是服务器的故障。服务器的故障可能由各种原因引起,如设备故障、操作系统故障、软件系统故障等等。由于船舶交通管理服务器中保存了大量业务相关数据,涉及船舶监控、危险预警、航线指引等海事交通管理领域,该服务器同样需要双机热备保证系统稳定运行。双机热备份系统由相应的应用软件进行控制,操作系统和应用程序安装在两台服务器的系统盘上。每一台服务器分配一个固定的IP地址,此外还指定了一个独立IP地址作为集群IP(clusterIP),该IP是双机系统对外提供服务的接口。两台服务器一台成为主机(PrimaryServer),另一台成为备机(StandbyServer),主机与备机之间保持固定时间间隔的心跳信号,通过心跳信号实现两个对等系统之间的周期性的握手,从而能够监视对方的运行状态,进行主机及网络的故障检测。在系统正常情况下,主机占用系统资源并运行所有的服务,为信息系统提供支持,备机通过心跳信号监视主机的运行情况。一旦主机发生故障(如主机故障,网络故障,软件故障等),备机就会自动接管(TakeOver)主机的资源和服务,继续支持信息的运营,从而保证整个双机系统能够不间断的运行(Non-Stop)。主机在恢复运行后,又可以自动获取资源并取代备机。但是目前成熟的双机热备方案都是针对数据库型数据的备份,例如利用heartbeat控制软件所实现的双机热备份系统是一种基于系统镜像的双机系统,实现方法是,主机在出现故障的情况下,集群IP地址无缝地切换到备机,从而客户机对服务器的访问可以由备机来支持。但是两台服务器之间并没有镜像进程完成彻底的内存镜像,因而主机在故障时所运行的数据信息不能切换到备机,造成数据丢失以及服务中断。所以该方案不是严格意义上的系统镜像,实现的是服务一级的切换,并不能实现实时数据的切换。对于非数据库存储型、只依靠系统内存保存运行数据的服务程序更加难以实现双机热备。船舶交通管理系统(VTS)中所使用的服务程序正是上述这种只依靠系统内存保存运行数据的服务程序,因此出现主机和备机中的船舶交通管理数据存在差异,并且在故障发生时不能准确完成数据信息的备份。
技术实现思路
根据现有技术存在的问题,本专利技术公开了一种linux系统船舶交通管理数据实时双机内存热备方法,具体包括以下步骤:S1:将主机和备机做相应的配置并提供一致的虚拟IP地址;S2:启动主机和发送端处理线程使主机和备机开始数据通信,将主机内存储的船舶交通管理数据发送至备机;S3:启动服务器的业务处理线程的同时启动定时检测线程,其中该业务处理线程至少包括轨迹处理服务、监控处理服务、物标处理服务,其中定时检测线程检测是否是主机模式;S4:备机启动、先启动接收端处理线程接收主机发送的主机内存中的船舶交通管理数据;S5:备机向主机请求内存数据同时启动定时检测线程,检测是否是备机模式;S6:主机接收到请求后,暂时将所有业务处理线程挂起将已经运行了一定时间段后产生的所有内存数据发送给备机;备机对接收到数据进行解析处理并保存再通知主机;S7:主机接收到通知后恢复业务处理线程,并实时向备机发送内存中保存的船舶交通管理数据;备机接收数据并保存,主机、备机各自独立运行内存数据保持一致。进一步的,当主机发生故障时则触发主备机切换模式,主机定时检测到本身已变成备机模式,停止发送端处理线程、服务器的业务处理线程和检测线程,同时启动接收端处理线程的备机启动流程,主机完成从主机到备机的切换。进一步的,当备机定时检测到本身已变成主机模式,停止接受端处理线程与检测线程,启动发送端处理线程、服务器的业务处理线程的一系列主机启动流程,备机完成从备机到主机的切换。进一步的,当主机备机切换模式后,主机和备机各自独立运行,其中主机备机内存中数据保持一致。进一步的,所述船舶交通管理数据至少包括船舶轨迹数据、监控物标数据和记录数据。由于采用了上述技术方案,本专利技术提供的本专利技术将创造一种linux系统船舶交通管理数据实时双机内存热备方法,利用单独通讯线程完成彻底的内存镜像、利用keepalived完成主备机切换,以实现对非数据库存储型服务程序无缝的双机热备。因此该系统开创了linux系统船舶交通管理数据实时双机内存热备的先河,同时解决了以往船舶交通管理服务器宕机重启后,轨迹ID变化、锚泊状态变化、轨迹关联状态变化等一系列问题,避免了需要交管人员人工进行恢复的状况,减少风险。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术方法的流程图具体实施方式为使本专利技术的技术方案和优点更加清楚,下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚完整的描述:如图1所示的一种linux系统船舶交通管理数据实时双机内存热备方法,包括以下步骤:S1:主机、备机都安装keepalived软件,并按照主机、备机作好相应配置,对外提供一致的虚拟IP地址。S2:主机启动,先启动发送端处理线程,作用是与备机之间进行通信,将主机内存中的船舶交通管理数据发送给备机。S3:启动服务器的业务处理线程,如轨迹处理服务、监控处理服务、物标处理服务等。启动业务处理线程的同时,也启动定时检测线程,定时检测是否是主机模式。S4:备机启动,先启动接收端处理线程,作用是与主机之间进行通信,接收主机发送的主机内存中的船舶交通管理数据。备机向主机请求内存的船舶交通管理数据,同时也启动定时检测线程,定时检测是否是备机模式。S5:主机接收到请求后,暂时将所有业务处理线程挂起,将已经运行了一定时间段后产生的所有内存数据(轨迹融合数据等)按照模块都发送给备机。S6:备机处理完所有收到的数据,都保存到内存后,再通知主机。主机接收到通知后,恢复业务处理线程,并实时向备机发送内存中保存的数据。S7:备机实时接收从主机发来的船舶交通管理数据,保存到内存中。此时,主、备机各自独立运行,内存中数据一致。S8:若主机发生故障(如主机故障,网络故障,软件故障等),keepalived触发主备机切换,主机定时检测到本身已变成备机模式,停止发送端处理线程、服务器的业务处理线程与检测线程,启动接收端处理线程等一系列备机启动流程,主机完成从主机到备机的切换。S7:备机定时检测到本身已变成主机模式,停止接受端处理线程与检测线程,启动发送端处理线程、服务器的业务处理线程等一系列主机启动流程,备机完成从备机到主机的切换。S8:切换后,主、备机各自独立运行,内存中数据依旧保持一致。进一步的,由于对外提供的是一致的IP,船舶交通管理客户端在主备机切换后也可以保持现有显示状态(雷达视频、轨迹ID、关联状态等),正常使用。进一步的,船舶交通管理数据主要包括:船舶轨迹数据、监控物标数据、记录数据等。船舶轨迹数据细分为AIS静态数据、AIS动态数据、雷达数据、AIS与雷达融合数据、历史轨迹数据,主本文档来自技高网
...

【技术保护点】
1.一种linux系统船舶交通管理数据实时双机内存热备方法,其特征在于包括以下步骤:S1:将主机和备机做相应的配置并提供一致的虚拟IP地址;S2:启动主机和发送端处理线程使主机和备机开始数据通信,将主机内存储的船舶交通管理数据发送至备机;S3:启动服务器的业务处理线程的同时启动定时检测线程,其中该业务处理线程至少包括轨迹处理服务、监控处理服务、物标处理服务,其中定时检测线程检测是否是主机模式;S4:备机启动、先启动接收端处理线程接收主机发送的主机内存中的船舶交通管理数据;S5:备机向主机请求内存数据同时启动定时检测线程,检测是否是备机模式;S6:主机接收到请求后,暂时将所有业务处理线程挂起将已经运行了一定时间段后产生的所有内存数据发送给备机;备机对接收到数据进行解析处理并保存再通知主机;S7:主机接收到通知后恢复业务处理线程,并实时向备机发送内存中保存的船舶交通管理数据;备机接收数据并保存,主机、备机各自独立运行内存数据保持一致。

【技术特征摘要】
1.一种linux系统船舶交通管理数据实时双机内存热备方法,其特征在于包括以下步骤:S1:将主机和备机做相应的配置并提供一致的虚拟IP地址;S2:启动主机和发送端处理线程使主机和备机开始数据通信,将主机内存储的船舶交通管理数据发送至备机;S3:启动服务器的业务处理线程的同时启动定时检测线程,其中该业务处理线程至少包括轨迹处理服务、监控处理服务、物标处理服务,其中定时检测线程检测是否是主机模式;S4:备机启动、先启动接收端处理线程接收主机发送的主机内存中的船舶交通管理数据;S5:备机向主机请求内存数据同时启动定时检测线程,检测是否是备机模式;S6:主机接收到请求后,暂时将所有业务处理线程挂起将已经运行了一定时间段后产生的所有内存数据发送给备机;备机对接收到数据进行解析处理并保存再通知主机;S7:主机接收到通知后恢复业务处理线程,并实时向备机发送内存中保存的船舶交通管理数据;备机接收数据并保存,主机、备机各自独立运行内存数据保持一致。2.根据权利...

【专利技术属性】
技术研发人员:付震朱凌薛辉李东刘磊
申请(专利权)人:大连海大船舶导航国家工程研究中心有限责任公司
类型:发明
国别省市:辽宁,21

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

1