基于双通道和RSSP-I的通信方法、装置、电子设备及存储介质转让专利

申请号 : CN202110473775.0

文献号 : CN113411198B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 傅林泰蒋建金夏伟张娟郗上樊昊天李长远于金陆

申请人 : 卡斯柯信号有限公司

摘要 :

本发明涉及一种基于双通道和RSSP‑I的通信方法、装置、电子设备及存储介质,该方法包括以下步骤:步骤1,配置数据初始化,在双CPU上加载各自独立配置信息;步骤2,根据RSSP‑I通信协议发送报文消息;步骤3,根据RSSP‑I通信协议接收报文消息。与现有技术相比,本发明具有保证数据处理过程的安全性和可靠性等优点。

权利要求 :

1.一种基于双通道和RSSP‑I的通信方法,其特征在于,该方法包括以下步骤:步骤1,配置数据初始化,在双CPU上加载各自独立配置信息;

步骤2,根据RSSP‑I通信协议发送报文消息;

步骤3,根据RSSP‑I通信协议接收报文消息;

所述的双CPU包括CPU_A和CPU_B,其中在CPU_A上配置只存在通道1的相关信息,在CPU_B上则只存在通道2的相关信息;

所述的初始化过程中,根据配置分别指定CPU_A、CPU_B为“主”和“从”通道角色;

所述的步骤2具体包括:

201)从应用接口中获取当前用户的应用数据UserData;

202)针对不同类型待发送数据,计算不同安全码;

203)如果通道角色为“从”,则将相应计算结果发送给另一端“主”角色;

204)主通道在接收到从的安全码值以后,并按照RSSP‑I协议要求以及对应消息类型进行组包,组包后数据包中的双通道信息分别采用了“主”、“从”的安全码值;

205)对外发送完整的消息包;

206)至此单包数据处理结束,若存在多条数据则可从步骤201)开始循环处理直至全部完毕。

2.根据权利要求1所述的一种基于双通道和RSSP‑I的通信方法,其特征在于,所述的步骤1中的配置信息包括CRC32生成多项式、SCW常量和时间戳生成多项式。

3.根据权利要求1所述的一种基于双通道和RSSP‑I的通信方法,其特征在于,所述的

202)针对不同类型待发送数据,计算不同安全码具体包括:

202a)如果存在待发送的用户数据,则各通道各自根据生成多项式计算CRC_32,并结合配置信息按照RSSP‑I协议要求计算得出SVC;

202b)如果存在待发送SSE请求,则各通道结合配置信息按照RSSP‑I协议要求计算得出SEQENQ;

202c)如果存在待发送RSD确认,则各通道结合配置信息按照RSSP‑I协议要求计算得出SEQINI。

4.根据权利要求1所述的一种基于双通道和RSSP‑I的通信方法,其特征在于,所述的步骤3具体包括:

301)各通道通过函数接口形式获取待解析的报文消息;

302)针对所有RSSP‑I消息,各通道必须按照RSSP‑I标准协议先进行检查,任意一个检查失败则丢弃数据包,在发送检查结果给另一个通道后等待;

303)根据不同消息类型,进行不同处理逻辑;

304)双通道都接收到对方的结果,并与自身校验进行一致性检查,根据不同结果进行相应处理;

305)接收到的数据若有多条,则返回值步骤301)重新循环解析,否则本轮数据已全部处理完毕;

所述的303)具体包括:

303a)如果消息类型为SSE,则按照RSSP‑I协议要求判定是否需要发送SSR,将结果发送给另一个通道后等待;

303b)如果消息类型为SSR,则按照RSSP‑I协议要求判断是否为有效数据,如果为有效结果,则计算相应的SINITM并缓存,同时将结果发送给另一个通道后等待;

303c)如果消息类型为RSD,则按照RSSP‑I协议要求进行安全校验过程,将结果发送给另一个通道后等待。

5.根据权利要求4所述的一种基于双通道和RSSP‑I的通信方法,其特征在于,所述的

302)中的检查包括:

302a)源地址、目的地址的正确性;

302b)包序列号有效性,此序列号应大于最近到的有效数据包。

6.根据权利要求4所述的一种基于双通道和RSSP‑I的通信方法,其特征在于,所述的

304)中根据不同结果进行相应处理具体包括:

304a)如果结果为一致,则根据不同类型进行如下操作:i.如果消息包为RSD,则安全数据提交给上层应用并按照标准要求更新SINITM;

ii.否则将计算的缓存值准入为正式安全码进行记录,接收SSR后计算的SINIT初始值或者相应的接收时间信息;

304b)如果结果为不一致,则根据不同类型进行如下操作:i.如果消息包为RSD,则需要申请发送SSE,其申请结果需要相互发送再从步骤304)按条件执行;

ii.否则认为数据有无,丢弃该消息内容。

7.一种用于权利要求1所述的基于双通道和RSSP‑I的通信方法的装置,其特征在于,该装置包括:数据配置模块,用于配置数据初始化,在双CPU上加载各自独立配置信息;

报文消息发送模块,用于根据RSSP‑I通信协议发送报文消息;

报文消息接收模块,用于根据RSSP‑I通信协议接收报文消息。

8.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6中任一项所述的方法。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~6中任一项所述的方法。

说明书 :

基于双通道和RSSP‑I的通信方法、装置、电子设备及存储介质

技术领域

[0001] 本发明涉及轨道交通信号系统,尤其是涉及一种基于双通道和RSSP‑I的通信方法。

背景技术

[0002] RSSP‑I协议是适用于封闭式传输系统中的一种通信协议,用于保证在封闭式传输网络中数据的安全性,确保安全相关产品之间数据传输的真实性,及时性,有序性以及完整性。
[0003] 在铁路安全传输通信系统中,除考虑以上网络传输风险之外,还需防御计算机系统自身随机性、系统性失效并保证软件功能正确性,其目的保证系统输出的安全性。按当前安全设计标准,各厂家多采用二乘二取二的冗余架构设计,需要通过安全校核字或第三方仲裁等安全形式对输入/输出消息进行多通道的一致性比较用以控制数据的安全性。
[0004] 现有冗余架构存在对多通道间时序同步的高精度要求,并需消耗额外系统资源或者第三方安全硬件用于保证一致性的正确性。但基于当前铁路系统的高速发展结合自动化方向,其数据规模和时效性要求与日俱增,目前只能通过硬件升级或者软件优化的方式来弥补。

发明内容

[0005] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于双通道和RSSP‑I的通信方法。
[0006] 本发明的目的可以通过以下技术方案来实现:
[0007] 根据本发明的第一个方面,提供了一种基于双通道和RSSP‑I的通信方法,该方法包括以下步骤:
[0008] 步骤1,配置数据初始化,在双CPU上加载各自独立配置信息;
[0009] 步骤2,根据RSSP‑I通信协议发送报文消息;
[0010] 步骤3,根据RSSP‑I通信协议接收报文消息。
[0011] 作为优选的技术方案,所述的步骤1中的配置信息包括CRC32生成多项式、SCW常量和时间戳生成多项式。
[0012] 作为优选的技术方案,所述的双CPU包括CPU_A和CPU_B,其中在CPU_A上配置只存在通道1的相关信息,在CPU_B上则只存在通道2的相关信息。
[0013] 作为优选的技术方案,所述的初始化过程中,根据配置分别指定CPU_A、CPU_B为“主”和“从”通道角色。
[0014] 作为优选的技术方案,所述的步骤2具体包括:
[0015] 201)从应用接口中获取当前用户的应用数据UserData;
[0016] 202)针对不同类型待发送数据,计算不同安全码;
[0017] 203)如果通道角色为“从”,则将相应计算结果发送给另一端“主”角色;
[0018] 204)主通道在接收到从的安全码值以后,并按照RSSP‑I协议要求以及对应消息类型进行组包,组包后数据包中的双通道信息分别采用了“主”、“从”的安全码值;
[0019] 205)对外发送完整的消息包;
[0020] 206)至此单包数据处理结束,若存在多条数据则可从步骤201)开始循环处理直至全部完毕。
[0021] 作为优选的技术方案,所述的202)针对不同类型待发送数据,计算不同安全码具体包括:
[0022] 202a)如果存在待发送的用户数据,则各通道各自根据生成多项式计算CRC_32,并结合配置信息按照RSSP‑I协议要求计算得出SVC;
[0023] 202b)如果存在待发送SSE请求,则各通道结合配置信息按照RSSP‑I协议要求计算得出SEQENQ;
[0024] 202c)如果存在待发送RSD确认,则各通道结合配置信息按照RSSP‑I协议要求计算得出SEQINI。
[0025] 作为优选的技术方案,所述的步骤3具体包括:
[0026] 301)各通道通过函数接口等形式获取待解析的报文消息;
[0027] 302)针对所有RSSP‑I消息,各通道必须按照RSSP‑I标准协议先进行检查,任意一个检查失败则丢弃数据包,在发送检查结果给另一个通道后等待;
[0028] 303)根据不同消息类型,进行不同处理逻辑;
[0029] 304)双通道都接收到对方的结果,并与自身校验进行一致性检查,根据不同结果进行相应处理;
[0030] 305)接收到的数据若有多条,则返回值步骤301)重新循环解析,否则本轮数据已全部处理完毕。
[0031] 作为优选的技术方案,所述的302)中的检查包括:
[0032] 302a)源地址、目的地址的正确性;
[0033] 302b)包序列号有效性,此序列号应大于最近到的有效数据包。
[0034] 作为优选的技术方案,所述的303)具体包括:
[0035] 303a)如果消息类型为SSE,则按照RSSP‑I协议要求判定是否需要发送SSR,将结果发送给另一个通道后等待;
[0036] 303b)如果消息类型为SSR,则按照RSSP‑I协议要求判断是否为有效数据,如果为有效结果,则计算相应的SINITM并缓存,同时将结果发送给另一个通道后等待;
[0037] 303c)如果消息类型为RSD,则按照RSSP‑I协议要求进行安全校验过程,将结果发送给另一个通道后等待。
[0038] 作为优选的技术方案,所述的304)中根据不同结果进行相应处理具体包括:
[0039] 304a)如果结果为一致,则根据不同类型进行如下操作:
[0040] i.如果消息包为RSD,则安全数据提交给上层应用并按照标准要求更新SINITM;
[0041] ii.否则将计算的缓存值准入为正式安全码进行记录,接收SSR后计算的SINIT初始值或者相应的接收时间信息;
[0042] 304b)如果结果为不一致,则根据不同类型进行如下操作:
[0043] i.如果消息包为RSD,则需要申请发送SSE,其申请结果需要相互发送再从步骤304)按条件执行;
[0044] ii.否则认为数据有无,丢弃该消息内容。
[0045] 根据本发明的第二个方面,提供了一种用于所述的基于双通道和RSSP‑I的通信方法的装置,该装置包括:
[0046] 数据配置模块,用于配置数据初始化,在双CPU上加载各自独立配置信息;
[0047] 报文消息发送模块,用于根据RSSP‑I通信协议发送报文消息;
[0048] 报文消息接收模块,用于根据RSSP‑I通信协议接收报文消息。
[0049] 根据本发明的第三个方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现所述的方法。
[0050] 根据本发明的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的方法。
[0051] 与现有技术相比,本发明具有以下优点:
[0052] 1)本发明通过配置形式将双通道安全信息相互独立,保证数据处理过程的安全性和可靠性。
[0053] 2)本发明由原多取多设计方案(例如:2oo2,3oo2)中每个CPU对同一份数据重复计算方式改变为单CPU独立运算单通道,省略接收和发送处理中的双通道重复计算部分,减少CPU资源消耗。
[0054] 3)本发明通过双通道组合方式形成的最终数据不仅符合标准协议要求,也携带双CPU处理是否正确的逻辑属性:即使存在某一单点异常失效情况并且对外输出,此数据也是导向安全侧并由接收方检验其安全性。
[0055] 4)本发明可降低对于原多通道一致性检查的安全算法的依赖,去除第三方硬件仲裁控制数据输出单元。

附图说明

[0056] 图1为本发明的报文时序图;
[0057] 图2为收发报文的整体原理描述图;
[0058] 图3为本发明的发送报文消息主通道处理流程图;
[0059] 图4为本发明的接收报文消息单通道处理流程图;
[0060] 图5为本发明方法的主流程图。

具体实施方式

[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0062] 本发明基于双通道和RSSP‑I的通信方法,该方法采用基于RSSP‑I双通道逻辑结合XooX的安全设计架构,具有节约资源,优化系统性能等优势。
[0063] 核心设计为保证单通道独立计算:
[0064] 表1
[0065]
[0066] 表2
[0067]
[0068] 表3
[0069]
[0070] 其中表1为RSD报文格式,表2为SSE报文格式,表3为SSR报文格式;
[0071] 如上述表所见,RSSP‑I协议中的数据类型分别包含了双通道安全码:RSD(SVC_1\SVC_2)、SSE(SEQENQ_1\SEQENQ_2)、SSR(SEQINI_1\SEQINI_2)
[0072] 根据现有二取二架构方式,在独立CPU运算上单独计算一个安全码,CPUA负责计算SVC_1、SEQENQ_1、SEQINI_1,CPUB负责计算SVC_2、SEQENQ_2、SEQINI_2。
[0073] 如图5所示,本发明具体过程包括:
[0074] 1.配置数据初始化。
[0075] 在双CPU上加载各自独立配置信息(包括CRC32生成多项式、SCW常量、时间戳生成多项式),CPU_A上的配置只存在通道1的相关信息,CPU_B上则只包含通道2部分。
[0076] 并在初始化过程中根据配置分别指定CPU_A、CPU_B为“主”和“从”通道角色。
[0077] 2.发送报文消息。
[0078] 具体步骤如下:
[0079] 1)从应用接口中获取当前用户的应用数据UserData。(该活动需由应用保证双CPU上数据的一致性)
[0080] 2)双CPU根据UserData计算CRC,分别各自获得CRC_1、CRC_2,并结合配置按照RSSP‑I协议要求得出SVC_1、SVC_2
[0081] 3)从通道产生的SVC转发给主通道
[0082] 4)主通道根据固有RSSP‑I协议,对数据包进行组包,添加主备标识、源目地址、合入双重SVC以及CRC等数据字段
[0083] 5)发送数据报文。
[0084] 3.接收报文消息。
[0085] 在接收到数据报文后,由系统分发相同的数据给CPU_A、CPU_B,后续具体步骤如下:
[0086] 1)各自完成对数据包头(源地址、目的地址)和包尾(CRC16)的检测。
[0087] 2)各自通道完成所属通道数据校验过程。其详细算法与标准一致,此专利不详述。
[0088] 3)CPU将检测结果(非布尔变量)互相交换。
[0089] 4)每个CPU将本地校验结果、收到的第二校验结果通过异或运算的最终值作为检查结果。如果结果为0,则表示接收正常,将数据提交给上层。
[0090] 5)若不一致,则丢弃本次数据。
[0091] 具体实施例
[0092] 如图1所示,本发明依然基于标准RSSP‑I标准协议行为,在无法正确接收RSD消息后,发送SSE申请消息,收到相应SSR确认消息包后,最后用于校验和确认RSD消息包的有效性。
[0093] 收发报文的整体原理描述如图2所示,主体原理为单CPU处理单通道逻辑,最终输入输出携带双通道处理信息。
[0094] 设备发送报文消息的处理流程如图3所示,具体步骤如下:
[0095] 1)各通道通过函数接口等形式获取用户待发送的数据UserData;
[0096] 2)针对不同类型待发送数据,计算不同安全码:
[0097] a)如果存在待发送的用户数据,则各通道各自根据生成多项式计算CRC_32,并结合配置信息按照RSSP‑I协议要求计算得出SVC.
[0098] b)如果存在待发送SSE请求,则各通道结合配置信息按照RSSP‑I协议要求计算得出SEQENQ.
[0099] c)如果存在待发送RSD确认,则各通道结合配置信息按照RSSP‑I协议要求计算得出SEQINI.
[0100] 3)如果通道角色为“从”,则将相应计算结果发送给另一端“主”角色。
[0101] 4)主通道在接收到从的安全码值以后,并按照RSSP‑I协议要求以及对应消息类型进行组包,此数据包中的双通道信息分别采用了“主”,“从”的安全码值。
[0102] 5)对外发送完整的消息包
[0103] 6)至此单包数据处理结束,若存在多条数据则可从步骤1)开始循环处理直至全部完毕;
[0104] 设备接收报文消息的处理流程如图4所示,具体步骤如下:
[0105] 1)各通道通过函数接口等形式获取待解析的报文消息;
[0106] 2)针对所有RSSP‑I消息,各通道必须按照RSSP‑I标准协议先进行如下检查,任意一个检查失败则丢弃数据包,在发送检查结果给另一个通道后等待:
[0107] a)源地址、目的地址的正确性;
[0108] b)包序列号有效性,此序列号应大于最近到的有效数据包;
[0109] 3)根据不同消息类型,存在不同处理逻辑:
[0110] a)如果消息类型为SSE,则按照RSSP‑I协议要求判定是否需要发送SSR,将结果发送给另一个通道后等待;
[0111] b)如果消息类型为SSR,则按照RSSP‑I协议要求判断是否为有效数据,如果为有效结果,则计算相应的SINITM并缓存,同时将结果发送给另一个通道后等待;;
[0112] c)如果消息类型为RSD,则按照RSSP‑I协议要求进行安全校验过程,将结果发送给另一个通道后等待;
[0113] 4)在2)或3)处理之后,双通道都接收到对方的结果,并与自身校验进行一致性检查,根据不同结果进行相应处理:
[0114] a)如果结果为一致,则根据不同类型进行如下操作:
[0115] i.如果消息包为RSD,则安全数据提交给上层应用并按照标准要求更新SINITM[0116] ii.否则将计算的缓存值准入为正式安全码进行记录,接收SSR后计算的SINIT初始值或者相应的接收时间信息。
[0117] b)如果结果为不一致,则根据不同类型进行如下操作:
[0118] i.如果消息包为RSD,则需要申请发送SSE,其申请结果需要相互发送再从步骤4)按条件执行;
[0119] ii.否则认为数据有无,丢弃该消息内容;
[0120] 5)接收到的数据若有多条,则返回值步骤1)重新循环解析,否则本轮数据已全部处理完毕。
[0121] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。