本发明涉及轨道交通信号系统,尤其是涉及一种cocc(线网应急指挥中心)非实时通道数据断点续传的实现方法。
背景技术:
cocc线网系统同时接入城市的所有轨道交通的线路,线路和线网的连接存在中断的可能,进而导致cocc存储的信息不完整,所以需要提供数据补传的手段,在通信恢复后通过数据补传的方式来保证cocc存储的数据是不间断的,完整的。现有的断点续传存在系统复杂性高、完整性差、网络流量大和系统效率低下等问题。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种cocc非实时通道数据断点续传的实现方法。
本发明的目的可以通过以下技术方案来实现:
一种cocc非实时通道数据断点续传的实现方法,该方法包括以下步骤:
1)通过设置两台线路侧的通信前置机occ_fep各自独立记录主备机的断点续传内容;
2)断点续传申请消息的发送时机的设定;
3)断点续传消息的处理过程。
优选地,所述的occ_fep作为服务器端,只有主机启动底层的socket监听,等待客户端,即线网侧的通信前置机tcc_fep,申请与其建立连接。
优选地,所述的tcc_fep仅向与其有连接的occ_fep主机请求断点续传数据。
优选地,所述的occ_fep记录断点续传文件的时段由配置文件决定,每次开启新的文件时,检查并删除过期文件。
优选地,所述的断点续传文件包括的消息有:
1)信息源网络状态消息;
2)设备状态全体消息;
3)设备状态变化消息;
4)自动/人工信号模式消息;
5)出入库派班计划消息;
6)列车信息全体消息;
7)列车信息更新消息;
8)列车信息删除消息。
优选地,所述的occ_fep在运行期间,将收到的实时更新消息记录到断点续传文件,并周期性缓存设备状态设备状态全体消息、自动/人工信号模式消息、列车信息全体消息;当与tcc_fep连接中断时,occ_fep立即缓存信息源网络状态消息、设备状态全体消息、自动/人工信号模式消息、列车全体消息。
优选地,所述的occ_fep的断点续传文件使用2行表示一条消息
第1行:utc时间,len;
第2行:文本格式的消息记录。
优选地,所述的断点续传申请消息的发送时机的设定为系统自动和人工手动申请两种;断点续传的数据使用非实时通道;
所述的tcc_fep管理并记录与各线路occ_fep的连接变化情况,每天在数据配置的时间段内,针对最近24小时内tcc_fep与occ_fep断开的时间段进行断点续传申请,每次申请最长时间为1个小时,可多次发送请求报文。
优选地,所述的断点续传消息的处理过程具体包括以下步骤:
步骤s1、tcc_fep向occ_fep发送断点续传请求报文;
步骤s2、occ_fep根据申请消息从本地文件中读取对应时间段的消息数据,将多条消息组合成一个大包,并将消息发送缓冲区压缩后,通过非实时通道中将断点续传数据发给tcc_fep;
步骤s3、tcc_fep收到断点续传数据后,先对消息进行解压缩处理,然后对打包消息进行解析,针对单个消息通过非实时通道转发给tcc_cats;
步骤s4、接收到断点续传开始报文resume_begin,tcc_cats创建一个临时文件,用于存放断点续传数据;
步骤s5、接收到断点续传数据报文resume_data,针对出入库派班计划消息,tcc_cats处理后将其存入数据库;针对其他消息,tcc_cats根据消息更新临时的回放文件,断点续传数据的存储格式保持与回放文件一致;
步骤s6、接收到断点续传结束报文resume_end,tcc_cats将临时回放文件内容覆盖回放文件中指定时间段的内容。
优选地,若在接收到断点续传结束报文resume_end之前,收到了信息源网络状态为中断的消息,tcc_cats则终止本次断点续传过程,删除临时回放文件;
若在接收到断点续传结束报文resume_end之前,再次接收到断点续传开始报文resume_begin,tcc_cats清空临时回放文件的内容,重新开始记录信息;
tcc_cats记录临时回放文件的时间基准使用消息中的时间戳时间,使用断点续传数据记录回放文件时仍须保留间隔5分钟记录一次bitmap。
与现有技术相比,本发明具有以下优点:
1.本发明中,occ_fep主、备机各自独立记录其断点续传文件,针对断点续传时间段内倒机情况,省去了主、备机数据合并的处理,减小了系统的复杂性;
2.本发明中,提供了系统自动申请和人工手动申请两种方式,灵活控制数据补传时间,有效利用空闲时间,尽可能减少对实时通道的影响;
3.本发明中,断点续传消息的传送,包括开始报文,数据报文和结束报文,保证了断点续传消息内容的完整性;
4.本发明中,断点续传消息进行组包并压缩后发送,极大地减少了网络流量,提高了系统的效率。
附图说明
图1为断点续传功能数据流图;
图2为断点续传消息格式示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明cocc非实时通道数据断点续传实现方法,线路侧的通信前置机occ_fep需要将实时发送的消息记录下来,供cocc请求时发送;cocc的请求消息的发送时机分为系统自动和人工手动申请两种;断点续传的数据使用非实时通道,不影响实时通道的数据传输。
两台occ_fep各自独立记录断点续传内容
occ_fep作为服务器端,只有主机启动底层的socket监听,等待客户端,即线网侧的通信前置机tcc_fep,申请与其建立连接。但是,分别作为主机和备机运行的两台occ_fep均接收、处理occ端的所有实时消息,并将其记录到各自的断点续传数据文件中。
因此,虽然在长时间运行过程中,occ_fep有倒机的可能性,而tcc_fep仅向与其有连接的occ_fep主机请求断点续传数据,亦可以保证数据的完整性。
occ_fep记录断点续传文件的时段由配置文件决定,推荐配置为7天。文件以小时为单位,1个小时的数据保存为一个文件,文件命名方式为yyyymmddhh.log。每次开启新的文件时,检查并删除过期文件。
断点续传文件包括的消息有如下几种:
1)信息源网络状态消息
2)设备状态全体消息
3)设备状态变化消息
4)自动/人工信号模式消息
5)出入库派班计划消息
6)列车信息全体消息
7)列车信息更新消息
8)列车信息删除消息
occ_fep在运行期间,将收到的实时更新消息记录到断点续传文件,并周期性缓存设备状态设备状态全体消息、自动/人工信号模式消息、列车信息全体消息。当与tcc_fep连接中断时,occ_fep立即缓存信息源网络状态消息、设备状态全体消息、自动/人工信号模式消息、列车全体消息;
occ_fep的断点续传文件使用2行表示一条消息
第1行:utc时间,len
第2行:文本格式的消息记录
断点续传申请消息的发送时机
tcc_fep管理并记录与各线路occ_fep的连接变化情况,每天在数据配置的时间段内,比如凌晨2点到4点期间,针对最近24小时内tcc_fep与occ_fep断开的时间段进行断点续传申请。为防止单次断点续传申请处理时间过长,每次申请最长时间为1个小时,可以多次发送请求报文。
为了处理中断时间过长、配置时间段内occ_fep和tcc_fep无连接导致自动断点续传没有完成的情况,tcc_fep提供人工发送断点续传申请的菜单,方便操作员灵活控制断点续传过程。
参考图1,举例说明本发明的技术方案中断点续传处理流程:
步骤s1、tcc_fep向occ_fep发送断点续传请求报文
步骤s2、occ_fep根据申请消息从本地文件中读取对应时间段的消息数据,将多条消息组合成一个大包,并将消息发送缓冲区压缩后,通过非实时通道中将断点续传数据发给tcc_fep;
步骤s3、tcc_fep收到断点续传数据后,先对消息进行解压缩处理,然后对打包消息进行解析,针对单个消息通过非实时通道转发给tcc_cats;
步骤s4、接收到断点续传开始报文resume_begin,tcc_cats创建一个临时文件,用于存放断点续传数据;
步骤s5、接收到断点续传数据报文resume_data,针对出入库派班计划消息,tcc_cats处理后将其存入数据库;针对其他消息,tcc_cats根据消息更新临时的回放文件,断点续传数据的存储格式(临时回放文件)保持与回放文件一致;
步骤s6、接收到断点续传结束报文resume_end,tcc_cats将临时回放文件内容覆盖回放文件中指定时间段的内容。
若在接收到断点续传结束报文resume_end之前,收到了信息源网络状态为中断的消息,tcc_cats则终止本次断点续传过程,删除临时回放文件;
若在接收到断点续传结束报文resume_end之前,再次接收到断点续传开始报文resume_begin,tcc_cats清空临时回放文件的内容,重新开始记录信息;
tcc_cats记录临时回放文件的时间基准使用消息中的时间戳时间。使用断点续传数据记录回放文件时仍须保留间隔5分钟记录一次bitmap。
occ_fep的断点续传文件使用2行表示一条消息
第1行:utc时间,len
第2行:文本格式的消息记录
举例说明:
信息源网络状态消息,对应于图2中的messagedata
<len(2)><time(4)><version(2)><msg_id(2)><line_id(2)><status(1)>
(十六进制)000b0000001200020001000601
断点续传文件将储存为:
18,11
0,11,0,0,0,18,0,2,0,1,0,6,1
第1行utc时间可用于时间检索(00000012==18),消息长度len可用于数据安全检查(长度000b==11),为消息中去掉len本身的其他字节个数
第2行:
两个字节的消息长度len:0,11可以用于安全检查
四个字节的utc时间:0,0,0,18可用于时间检索
两个字节的版本信息:0,2亦可以用于安全检查
两个字节的消息编号:0,1
两个字节的线路号:0,6
一个字节的网络状态值:1
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种cocc非实时通道数据断点续传的实现方法,其特征在于,该方法包括以下步骤:
1)通过设置两台线路侧的通信前置机occ_fep各自独立记录主备机的断点续传内容;
2)断点续传申请消息的发送时机的设定;
3)断点续传消息的处理过程。
2.根据权利要求1所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的occ_fep作为服务器端,只有主机启动底层的socket监听,等待客户端,即线网侧的通信前置机tcc_fep,申请与其建立连接。
3.根据权利要求2所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的tcc_fep仅向与其有连接的occ_fep主机请求断点续传数据。
4.根据权利要求2所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的occ_fep记录断点续传文件的时段由配置文件决定,每次开启新的文件时,检查并删除过期文件。
5.根据权利要求2所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的断点续传文件包括的消息有:
1)信息源网络状态消息;
2)设备状态全体消息;
3)设备状态变化消息;
4)自动/人工信号模式消息;
5)出入库派班计划消息;
6)列车信息全体消息;
7)列车信息更新消息;
8)列车信息删除消息。
6.根据权利要求2所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的occ_fep在运行期间,将收到的实时更新消息记录到断点续传文件,并周期性缓存设备状态设备状态全体消息、自动/人工信号模式消息、列车信息全体消息;当与tcc_fep连接中断时,occ_fep立即缓存信息源网络状态消息、设备状态全体消息、自动/人工信号模式消息、列车全体消息。
7.根据权利要求2所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的occ_fep的断点续传文件使用2行表示一条消息
第1行:utc时间,len;
第2行:文本格式的消息记录。
8.根据权利要求1所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的断点续传申请消息的发送时机的设定为系统自动和人工手动申请两种;断点续传的数据使用非实时通道;
所述的tcc_fep管理并记录与各线路occ_fep的连接变化情况,每天在数据配置的时间段内,针对最近24小时内tcc_fep与occ_fep断开的时间段进行断点续传申请,每次申请最长时间为1个小时,可多次发送请求报文。
9.根据权利要求2所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,所述的断点续传消息的处理过程具体包括以下步骤:
步骤s1、tcc_fep向occ_fep发送断点续传请求报文;
步骤s2、occ_fep根据申请消息从本地文件中读取对应时间段的消息数据,将多条消息组合成一个大包,并将消息发送缓冲区压缩后,通过非实时通道中将断点续传数据发给tcc_fep;
步骤s3、tcc_fep收到断点续传数据后,先对消息进行解压缩处理,然后对打包消息进行解析,针对单个消息通过非实时通道转发给tcc_cats;
步骤s4、接收到断点续传开始报文resume_begin,tcc_cats创建一个临时文件,用于存放断点续传数据;
步骤s5、接收到断点续传数据报文resume_data,针对出入库派班计划消息,tcc_cats处理后将其存入数据库;针对其他消息,tcc_cats根据消息更新临时的回放文件,断点续传数据的存储格式保持与回放文件一致;
步骤s6、接收到断点续传结束报文resume_end,tcc_cats将临时回放文件内容覆盖回放文件中指定时间段的内容。
10.根据权利要求9所述的一种cocc非实时通道数据断点续传的实现方法,其特征在于,若在接收到断点续传结束报文resume_end之前,收到了信息源网络状态为中断的消息,tcc_cats则终止本次断点续传过程,删除临时回放文件;
若在接收到断点续传结束报文resume_end之前,再次接收到断点续传开始报文resume_begin,tcc_cats清空临时回放文件的内容,重新开始记录信息;
tcc_cats记录临时回放文件的时间基准使用消息中的时间戳时间,使用断点续传数据记录回放文件时仍须保留间隔5分钟记录一次bitmap。
技术总结