[发明专利]一种基于平行签名唯一性的多维度的冗余编码方法有效
| 申请号: | 201510323289.5 | 申请日: | 2015-06-12 |
| 公开(公告)号: | CN104932886B | 公开(公告)日: | 2018-01-19 |
| 发明(设计)人: | 罗娟;汪明新;周庭梁;张磊;涂维纳;夏伟 | 申请(专利权)人: | 卡斯柯信号有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F11/36 |
| 代理公司: | 上海科盛知识产权代理有限公司31225 | 代理人: | 应小波 |
| 地址: | 200070 上海市闸北区*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 平行 签名 唯一 多维 冗余 编码 方法 | ||
技术领域
本发明涉及一种铁路信号系统的安全编码方法,尤其是涉及一种基于平行签名唯一性的多维度的冗余编码方法。
背景技术
铁路信号系统是列车能够安全运行的重要基础设备,设计高安全性的铁路信号系统的重要性不言而喻,冗余编码技术就是提高系统安全性常用的一种技术,该技术能够被用在包括列车自动保护系统(ATP)和列车自动监控系统(ATS)等多种安全相关的铁路信号系统的子系统中。
目前的安全编码技术,冗余代码中所有的变量由数值域、签名、时间戳和校验域组成,四者满足一定的关系,校验域可以通过数值域、签名和时间戳计算获得,也可以通过数值域、校验域和时间戳反算出签名。系统在运行过程中的某个时刻,可以将变量的数值域和校验域发送给第三方工具或者模块进行签名正确性检查,以此判断系统在运行过程中是否出现寻址错误、硬件失效等故障(随机失效)。如果系统中的变量在同一时间的签名不唯一,就会导致系统的故障可能检测不出来,无法达到预期的错误不可检出率。
现有的编码方法,为了保证冗余代码具有较高的安全性,牺牲了编码软件的可用性和可扩展性,如为了保证签名预先计算而将编码顺序固定,编码过程耗时较长,每次源码做出小的改动均需要整体重新编码;同时也使得冗余代码的效率不够高,冗余代码运行过程中错误难以定位,适用的架构和系统单一等等。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种安全性高、错误不可检出率低且编码顺序灵活,简化编码过程,多样性高,可用性强的基于平行签名唯一性的多维度的冗余编码方法。
本发明的目的可以通过以下技术方案来实现:
一种基于平行签名唯一性的多维度的冗余编码方法,其特征在于,包括以下步骤:
1)将源码分为主程序部分和独立编码部分,首次编码时分别对两部分进行编码,后续修改仅对独立编码部分进行编码;
2)在每次修改源码后,需要重新编码,仅需对有修改的部分进行编码;
3)在保证平行签名唯一的基础上,配置主程序部分和独立编码部分公共变量及其对应位置的签名,配置非编码部分到编码部分输入变量及其签名,配置编码部分到非编码部分输出变量及其签名,配置用于数值计算的汇编宏代码。
所述的首次编码时分别对两部分进行编码具体为:
编码过程中基于公共变量配置文件、输入输出变量配置文件、汇编宏配置文件和两套签名表,对主程序部分和独立编码部分进行平行编码,编码时公共变量、输入变量和输出变量按照配置文件中签名以及相应的规则进行编码,所有变量分配和计算签名后均会对签名进行唯一性检查,并调整有冲突的签名,直到所有被检查的变量签名唯一。
所述的签名一致性检查过程如下:
1)遇到变量声明或定义时,从签名表中为变量分配签名;若遇到数值计算,则计算数值变量的签名;
2)将所分配或计算的签名与签名表中已分配的签名以及当前保存变量签名的列表中的签名进行一致性检查;
3)如果发生冲突,则重新分配签名;
4)重复2),3)步骤,直到分配的签名不与已有签名冲突;
5)根据分配的签名和变量数值域计算变量校验域。
对于主程序部分和独立编码部分进行平行编码时,分别配置两套完全不同的签名表,同时两套签名表中的签名也均与所有配置文件中分配的签名不一致,保证了主程序部分和独立编码部分除公共变量,不会出现相同的签名分配。
对主程序部分内部的签名唯一性通过以下方式保证:编码过程中会对每个变量的最新签名和其他已保存的变量签名以及所有配置文件中已分配的签名进行冲突检测,若检测到冲突,则为变量重新分配签名,直到没有冲突为止;
对独立编码部分内部签名的唯一性通过以下方式保证:变量的签名分配和调整的签名都来自独立编码部分的签名表,签名表中使用过的签名不会重复使用。
对于主程序部分与独立编码公共变量的平行签名唯一性通过以下方式保证:对主程序部分进行编码,若遇到独立编码部分的函数调用,在该函数调用的冗余代码之前调整其中的公共全局变量的签名为预先配置的入口签名,在函数调用之后,调整其中的全局变量的签名为预先配置的出口签名;对独立编码部分的函数进行编码时,如果遇到与主程序部分的公共全局变量,函数内与主程序部分公共全局变量的初始签名按照预先配置的入口签名进行编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡斯柯信号有限公司,未经卡斯柯信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510323289.5/2.html,转载请声明来源钻瓜专利网。





