发明内容
本发明提供一种高速铁路车载设备图形化仿真分析方法,该发明可以很好地克服现有技术存在的分析数据不直观,不具备对数据的检索和仿真分析功能的技术问题。
本发明提供一种高速铁路车载设备图形化仿真分析方法的具体实施方式,具体包括以下步骤:
车载设备通过数据下载模块将车载设备记录下载到计算机中并生成二进制文件;
数据下载模块与文件解析模块相连,二进制文件通过文件解析后生成图形化数据;
时间轴图形化模块将来自文件解析模块的图形化数据以时间为轴线实现数据的图形化,并提供图形化检索,仿真分析功能和动态提示信息;
距离轴图形化模块将来自文件解析模块的图形化数据以距离为轴线实现数据的图形化,并提供图形化检索,仿真分析功能和动态提示信息,动态显示加载动态点的车载设备状态信息和应答器接收状态信息。
作为本发明进一步的实施方式,仿真分析方法还进一步包括以下步骤:
配置管理模块对时间轴图形化模块和距离轴图形化模块的图形化操作以及文件存储进行相应的用户配置设置;
应答器报文模块显示所选应答器组的报文内容;
统计模块统计与分析所选应答器组的报文;
文本信息模块对车载设备记录提供详细的文本内容。
作为本发明进一步的实施方式,仿真分析方法进一步包括时间轴和距离轴屏幕展现数据过程,所述的时间轴和距离轴屏幕展现数据过程包括以下步骤:
S101:定义一系列全局内存数组Total,定义一系列全局内存数组Current;
S102: 清空Total数组,加载文本数据和用户配置数据至Total数组,加载时文本数据按时间或距离进行排序;
S103: 计算数据所表示最大及最小时间或距离范围;
S104:时间轴屏幕中计算屏幕起始时间和屏幕终止时间,距离轴屏幕中计算屏幕起始距离和屏幕终止距离:
S105:清空Current数组;
S106:从Total数组选择主要数据加载至Current数组;
S107: 若是距离轴屏幕,从应答器中获取信号机数据存储到专用数组中;
S108: 按照已定义的图例,通过Current数组在屏幕中绘制数据,若是距离轴,则从专用数组中进行信号机的绘制;
S109:判断是否有数据更新,如果有数据更新,回到步骤S104:
S110:如果没有数据更新,程序结束。
作为本发明进一步的实施方式,所述的时间轴和距离轴屏幕展现数据过程进一步包括数据选择过程,所述的数据选择过程包括以下步骤:
S1061:根据当前时间或距离轴所表示的时间或距离采用二分法在Total数组中进行定位,若定位数据满足条件,即屏幕起始时间或距离≤数据≤屏幕终止时间或距离,将该数据加入Current数组;
S1602:向上查找,从Total数组定位点依次向上查找,如果数据满足条件,即屏幕起始时间或距离≤数据≤屏幕终止时间或距离,将该数据加入Current数组,直到满足条件,即屏幕起始时间或距离>数据,则停止向上查找;
S1603:向下查找,从Total数组定位点依次向下查找,如果数据满足条件,即屏幕起始时间或距离≤数据≤屏幕终止时间或距离,将该数据加入Current数组,直到满足条件,即屏幕终止时间或距离<数据,则停止向下查找;
S1604:Current数组的数据根据时间或距离进行排序。
作为本发明进一步的实施方式,所述的仿真分析方法进一步包括时间轴和距离轴屏幕检索数据过程,所述的时间轴和距离轴屏幕检索数据过程包括以下步骤:
S201:执行展现数据流程;
S202:确定是否在屏幕中进行数据搜索,如果不进行搜索则结束;
S203:如果需要进行检索,则在界面中进行数据搜索设置;
S204:通过条件确定展现数据流程中所定义的Total数组中某一个数组,采用二分法进行数据搜索;
S205:按条件进行数据搜索,是否存在,不存在则结束;
S206:如果存在,根据搜索数据确定当前时间或距离轴所表示的时间或距离。
作为本发明进一步的实施方式,仿真分析方法进一步包括时间轴和距离轴屏幕仿真数据过程,所述的时间轴和距离轴屏幕仿真数据过程包括以下步骤:
S301:执行展现数据流程;
S302:确定是否在屏幕中进行数据仿真,如果不进行仿真则结束;
S303:如果需要进行数据仿真,则设定移动速度,并启动仿真过程;
S304:时间轴屏幕和距离轴屏幕启动展现数据流程;
S305:判断当前时间或距离是否超出最大时间或距离,如果是则结束;
S306:如果没有超出则判断是否停止仿真,如果是则结束;
S307:如果不停止仿真,则执行步骤S304。
作为本发明进一步的实施方式,仿真分析方法进一步包括获取信号机数据过程,所述的获取信号机数据过程包括以下步骤:
S401:在本屏幕按从左至右顺序,获取最左的应答器;
S402:判断是否有数据,如果没有,则执行步骤S406;
S403:如果有数据,则判断应答器是否有效,如果有效则对当前有效应答器的前一个和后一个应答器进行相同位置的信号机的数据比较,以发现数据错误及误差,过程结束;
S404:如果应答器无效则依次向本屏幕前获取次左应答器;
S405:判断应答器是否有数据,如果是则执行步骤S403;
S406:如果没有数据则在本屏幕中获取最左的应答器,判断是否有数据,如果没有数据则结束;
S407:如果有数据,则判断应答器是否有效,如果无效则依次在本屏幕中获取次左的应答器,并继续判断是否有数据;
S408:如果应答器有效,则执行步骤S403。
作为本发明进一步的实施方式,所述应答器无效原则进一步包括:
报文不包含信息机信息包;
应答器无法判断方向有效性;
没有包含方向有效数据。
作为本发明进一步的实施方式,仿真分析方法进一步包括时间轴和距离轴屏幕动态提示信息过程,所述的时间轴和距离轴屏幕动态提示信息过程包括以下步骤:
S501:执行展现数据流程;
S502:判断屏幕中是否显示动态信息,如果否则过程结束;
S503:如果显示动态信息,则启动动态信息显示;
S504:时间轴屏幕和距离轴屏幕绘制动态信息;
S505:判断是否停止动态信息显示,如果是则过程结束;
S506:如果不停止动态信息显示,则判断是否有移动距离,如果否则过程结束;
S507:如果有移动距离则执行步骤S504。
所述的时间轴和距离轴屏幕动态提示信息过程还包括动态信息绘制过程,动态信息绘制过程包括以下步骤:
S5041:从动态点获取在屏幕中的坐标;
S5042:从动态点判断信息框处于动态点位置,根据屏幕能否全部显示信息框信息进行最佳选择;
S5043:加载动态点的相关信息。
作为本发明进一步的实施方式,仿真分析方法进一步包括信息加密过程,车载设备将车载设备记录下载到计算机中并生成二进制文件,通过信息加密过程将该二进制文件进行加密,再通过文件解析后生成图形化数据,并自动加载后为各个功能模块提供数据,所述的信息加密过程包括以下步骤:
S601:读入文件名;
S602:判断文件是否存在,如果不存在则过程结束;
S603:如果文件存在则分块车载设备记录文件;
S604:进行CRC-32算法计算;
S605:判断文件是否全部读入,如果未全部读入则执行步骤S603;
S606:如果文件全部读入,则生成CRC-32算法的32位比特码;
S607:将CRC-32算法生成的32位比特码按照HASH算法再次生成32位比特码;
S608:将两种算法所计算的64位比特码按照加密字符结构插入到文件中,过程结束。
通过应用本发明实施方式所描述的高速铁路车载设备图形化仿真分析装置及其方法,能够实现将高速铁路车载设备记录数据以图形化进行展现、检索及仿真,根据本发明装置和方法所提供一系列的图形操作,使数据分析更具有直观性、快速性和易于学习和操作性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
作为本发明一种高速铁路车载设备图形化仿真分析方法的具体实施方式,如图4所示的是一种高速铁路车载设备图形化仿真分析方法具体应用的高速铁路车载设备图形化仿真分析装置的功能结构框图。
车载设备记录通过数据下载功能生成二进制文件,同时通过信息加密过程对该二进制文件进行加密,通过文件解析后生成图形化数据,并自动加载后为各个功能模块提供数据,以实现相应功能。各模块的具体功能如下所示:
1、参数设定:读写列车参数;
2、数据下载:将车载设备记录下载到计算机中;
3、数据加密:下载数据时,同时进行数据加密,防止人工修改数据;
4、数据解密验证:在文件解析时,先进行解密验证,如果文件已被人工编辑过,解析停止并提示相关信息;如果文件是原始文件,则通过验证,实现文件解析;
5、文件解析:将下载的设备记录文件解析成所需的图像化数据;
6、详细文件信息:对设备记录提供详细的文本内容;
7、统计信息:详细统计与分析所选应答器组的报文;
8、查看应答器报文:显示所选应答器组的报文内容;
9、用户配置信息:对图形化操作以及文件存储进行相应的用户配置设置;
10、时间轴的图形化:以时间为轴线实现数据的图形化,并提供一系列图形化检索、操作、仿真数据、动态提示信息;
11、距离轴的图形化:以距离为轴线实现数据的图形化,并提供一系列图形化检索操作、仿真数据、动态提示信息。
高速铁路车载设备图形化仿真分析装置包括:数据下载模块2、文件解析模块5、图形化模块10,车载设备1通过数据下载模块2将车载设备记录下载到计算机中并生成二进制文件,数据下载模块2与文件解析模块5相连,二进制文件通过文件解析后生成图形化数据,文件解析模块5与图形化模块10相连,实现数据的图形化,并提供图形化检索和仿真分析功能。图形化模块10进一步包括时间轴图形化模块11和距离轴图形化模块12,时间轴图形化模块11和距离轴图形化模块12分别与文件解析模块5相连,时间轴图形化模块11将来自文件解析模块5的图形化数据以时间为轴线实现数据的图形化,并提供图形化检索,仿真分析功能和动态提示信息,距离轴图形化模块12将来自文件解析模块5的图形化数据以距离为轴线实现数据的图形化,并提供图形化检索,仿真分析功能和动态提示信息。
仿真分析装置进一步包括配置管理模块8,配置管理模块8分别与文件解析模块5、时间轴图形化模块11和距离轴图形化模块12相连,配置管理模块8对图形化操作以及文件存储进行相应的用户配置设置。仿真分析装置进一步包括应答器报文模块13,应答器报文模块13与文件解析模块5相连,显示所选应答器组的报文内容。仿真分析装置进一步包括统计模块9,统计模块9与文件解析模块5相连,统计与分析所选应答器组的报文。仿真分析装置进一步包括文本信息模块7,文本信息模块7与文件解析模块5相连,对车载设备记录提供详细的文本内容。
仿真分析装置进一步包括数据加密模块4和数据解密模块6,数据加密模块4与数据下载模块2相连,数据解密模块6与文件解析模块5相连,在数据下载模块2下载数据的同时进行数据加密,数据解密模块6在文件解析模块5进行文件解析时,先进行解密验证,所述的数据加密模块4采用CRC-HASH码加密算法模块。这种加密措施,防止人工编辑数据文件,一旦用户修改了原始数据文件,工具能进行检测并提示;在屏幕中提供多种提示信息(包括应答器、信号机以及当前屏幕任一点相关信息)为快速分析提供了重要的辅助。
仿真分析装置还进一步包括时间轴和距离轴屏幕展现数据模块,所述时间轴和距离轴屏幕展现数据模块包括全局内存数组Total和全局内存数组Current,仿真分析装置展现数据,清空Total数组,加载文本数据和用户配置数据至Total数组,加载时文本数据按时间或距离进行排序,计算数据所表示最大及最小时间或距离范围,时间轴屏幕中计算屏幕起始时间和屏幕终止时间,清空Current数组,从Total数组中选择主要数据,若是距离轴屏幕,从应答器中获取信号机数据存储到专用数组中,按照已定义的图例,通过Current数组在屏幕中绘制数据,若是距离轴,则从专用数组中进行信号机的绘制,同时进行数据更新。
仿真分析装置还进一步包括时间轴和距离轴屏幕检索数据模块,展现数据模块进行数据展现,检索数据模块在屏幕中进行数据搜索设置,并进行数据搜索,根据搜索数据确定当前时间或距离轴所表述的时间或距离;所述仿真分析装置包括时间轴和距离轴屏幕仿真数据模块,展现数据模块进行数据展现后,仿真数据模块设定移动速度,启动数据仿真,时间轴图形化模块11和距离轴图形化模块12启动展现数据模块进行数据展现。
仿真分析装置还进一步包括信号机数据获取模块和动态提示信息模块,仿真分析装置在屏幕从左至右顺序获取应答器信息,并获取有效应答器的有效数据;动态提示信息模块与展现数据模块相连,展现数据模块展现数据,屏幕显示动态信息,按照时间轴屏幕和距离轴屏幕分别启动动态信息显示,并绘制动态信息。
高速铁路车载设备记录的图形化分析工具采用屏幕形式进行图形化分析,分为时间轴屏幕和距离轴屏幕,所包含信息不但体现速度曲线、设备状态、应答器等,还将铁路的信号灯信息(时间轴屏幕)和信号机信息(距离轴屏幕)在屏幕中创造性体现,同时提供展现操作(包括移动屏幕、放大或缩小屏幕显示范围)、检索操作(包括时间定位、地点定位、应答器检索、制动检索、设备故障检索等)和仿真操作,通过直观的图形化数据进行快速的数据分析;查看应答器报文功能和应答器分析及统计功能应用“所见即所得”的视窗概念,在屏幕中选择某一应答器即可获取该应答器报文和应答器的分析及统计信息,报文是文本形式提供,而分析及统计信息是以表格形式提供;设备状态信息(如初始化、正常、错误等)和应答器接收状态(正常接收、报文丢失、解析错误)根据其不同状态以不同颜色在屏幕中显现,体现了直观性;设计了一种加密措施,防止人工编辑数据文件,一旦用户修改了原始数据文件,工具能进行检测并提示;在屏幕中提供多种提示信息(包括应答器、信号机以及当前屏幕任一点相关信息)为快速分析提供了重要的辅助。
高速铁路车载设备记录的图形化分析工具跟现有技术相比,它的核心思想是将主要信息进行图形化,用户在分析数据时只要关心图形信息,根据工具所提供一系列的图形操作,使数据分析更具有直观性、快速性、易于学习性和操作性。图6为高速铁路车载设备记录的图形化分析工具的功能原理图,共有十一个功能模块,分别为参数设定、数据下载、文件解析、数据加密、数据解密验证、用户配置管理、时间轴的图形化、距离轴的图形化、详细文本信息、统计信息和查看应答器报文组成。
作为本发明一种高速铁路车载设备图形化仿真分析方法的具体实施方式,一种高速铁路车载设备图形化仿真分析方法包括以下步骤:
车载设备1通过数据下载模块2将车载设备记录下载到计算机中并生成二进制文件;
数据下载模块2与文件解析模块5相连,二进制文件通过文件解析后生成图形化数据;
时间轴图形化模块11将来自文件解析模块5的图形化数据以时间为轴线实现数据的图形化,并提供图形化检索和仿真分析功能;
距离轴图形化模块12将来自文件解析模块5的图形化数据以距离为轴线实现数据的图形化,并提供图形化检索,仿真分析功能和动态提示信息,动态显示加载动态点的车载设备状态信息和应答器接收状态信息。
仿真分析方法还进一步包括以下步骤:
配置管理模块8对时间轴图形化模块11和距离轴图形化模块12的图形化操作以及文件存储进行相应的用户配置设置;
应答器报文模块13显示所选应答器组的报文内容;
统计模块9统计与分析所选应答器组的报文;
文本信息模块7对车载设备记录提供详细的文本内容。
一、时间轴和距离轴的图形化
1、时间轴和距离轴屏幕展现数据的算法
时间轴和距离轴的图形化采用屏幕形式进行展现数据,其中设定一个当前时间/距离轴,该轴线在屏幕中的位置是固定不变。移动屏幕时,当前轴线所表示的时间/距离发生变化,相应的屏幕信息全部进行刷新。
时间轴和距离轴屏幕展现数据算法是高速铁路车载设备记录的图形化分析工具的核心基础算法,图形化检索数据算法和仿真算法均基于该算法。时间轴和距离轴屏幕展现数据算法的核心是先计算屏幕起始时间/距离和屏幕终止时间/距离;其次通过选择数据算法从Total数组中将数据加入到Current数组中,若是距离轴屏幕,还须从应答器报文中提取信号机信息存储到一个专用数组中;通过Current数组(若是距离轴屏幕还有一个存储信号机的专用数组)进行数据绘制。若有数据更新,整个屏幕获取数据并重绘。
如图5所示,仿真分析方法包括时间轴和距离轴屏幕展现数据过程,所述的时间轴和距离轴屏幕展现数据过程包括以下步骤:
S101:定义一系列全局内存数组Total,定义一系列全局内存数组Current;
S102: 清空Total数组,加载文本数据和用户配置数据至Total数组,加载时文本数据按时间或距离进行排序;
S103: 计算数据所表示最大及最小时间或距离范围;
S104:时间轴屏幕中计算屏幕起始时间和屏幕终止时间,距离轴屏幕中计算屏幕起始距离和屏幕终止距离:
S105:清空Current数组;
S106:从Total数组选择主要数据;
S107: 若是距离轴屏幕,从应答器中获取信号机数据存储到专用数组中;
S108: 按照已定义的图例,通过Current数组在屏幕中绘制数据,若是距离轴,需从专用数组中进行信号机的绘制;
S109:如果有数据更新,回到步骤S104:
S110:如果没有数据更新,程序结束。
时间轴和距离轴屏幕展现数据过程包括数据选择过程,所述的数据选择过程包括以下步骤:
S1061:根据当前时间或距离轴所表示的时间或距离采用二分法在Total数组中进行定位,若定位数据满足条件,即屏幕起始时间或距离≤数据≤屏幕终止时间或距离,将该数据加入Current数组;
S1602:向上查找,从Total数组定位点依次向上查找,如果数据满足条件,即屏幕起始时间或距离≤数据≤屏幕终止时间或距离,将该数据加入Current数组,直到满足条件,即屏幕起始时间或距离>数据,则停止向上查找;
S1603:向下查找,从Total数组定位点依次向下查找,如果数据满足条件,即屏幕起始时间或距离≤数据≤屏幕终止时间或距离,将该数据加入Current数组,直到满足条件,即屏幕终止时间或距离<数据,则停止向下查找;
S1604:Current数组的数据根据时间或距离进行排序。
2、时间轴和距离轴屏幕检索数据的算法
时间轴和距离轴屏幕中检索数据算法是基于展现数据算法上,通过搜索条件确定展现流程中所定义的Total中某一个数组,采用二分法进行数据搜索。如果有符合搜索条件的数据存在,则先根据搜索数据确定当前时间/距离轴所表示的时间/距离,通过展现数据显示搜索结果;否则此次搜索结束。
如图6所示,仿真分析方法进一步包括时间轴和距离轴屏幕检索数据过程,所述的时间轴和距离轴屏幕检索数据过程包括以下步骤:
S201:执行展现数据流程;
S202:确定是否在屏幕中进行数据搜索,如果不进行搜索则结束;
S203:如果需要进行检索,则在界面中进行数据搜索设置;
S204:通过条件确定展现数据流程中所定义的Total数组中某一个数组,采用二分法进行数据搜索;
S205:按条件进行数据搜索,是否存在,不存在则结束;
S206:如果存在,根据搜索数据确定当前时间或距离轴所表示的时间或距离。
3、时间轴和距离轴屏幕仿真数据的算法
仿真数据功能通过自动移动屏幕展现及分析数据。时间轴和距离轴屏幕仿真数据算法是是基于展现数据算法上,通过用户设定移动速度不断进行当前时间/距离轴所表示的时间/距离的累加,每累加一次,重新绘制,并Sleep(500),使屏幕保持连续移动。若当前时间/距离超出最大时间/距离或停止仿真时,此次仿真结束。
如图7所示,仿真分析方法进一步包括时间轴和距离轴屏幕仿真数据过程,所述的时间轴和距离轴屏幕仿真数据过程包括以下步骤:
S301:执行展现数据流程;
S302:确定是否在屏幕中进行数据仿真,如果不进行仿真则结束;
S303:如果需要进行数据仿真,则设定移动速度,并启动仿真过程;
S304:时间轴屏幕和距离轴屏幕启动展现数据流程;
S305:判断当前时间或距离是否超出最大时间或距离,如果是则结束;
S306:如果没有超出则判断是否停止仿真,如果是则结束;
S307:如果不停止仿真,则执行步骤S304。
4、距离轴屏幕信号机数据获取算法及图形设计
信号机的数据来源于应答器报文,首先要判断该应答器是否有效,有效则说明可以从该应答器中获取信息,否则说明该应答器无效。
如图8所示,仿真分析方法包括获取信号机数据过程,所述的获取信号机数据过程包括以下步骤:
S401:在本屏幕按从左至右顺序,获取最左的应答器;
S402:判断是否有数据,如果没有,则执行步骤S406;
S403:如果有数据,则判断应答器是否有效,如果有效则对当前有效应答器的前一个和后一个应答器进行相同位置的信号机的数据比较,以发现数据错误及误差,过程结束;
S404:如果应答器无效则依次向本屏幕前获取次左应答器;
S405:判断应答器是否有数据,如果是则执行步骤S403;
S406:如果没有数据则在本屏幕中获取最左的应答器,判断是否有数据,如果没有数据则结束;
S407:如果有数据,则判断应答器是否有效,如果无效则依次在本屏幕中获取次左的应答器,并继续判断是否有数据;
S408:如果应答器有效,则执行步骤S403。
以下是应答器无效原则:
(1)应答器不包含信号机信息包;
(2)应答器组无法判断其数据的方向有效性(正向有效或反向有效);
(3)应答器没有包含方向有效数据,如应答器是正向有效,但CTCS1包只包含反向有效数据。
在本屏幕按从左至右顺序,获取最左的应答器,如果该应答器包含信号机信息且有效,则进行采集数据。为防止数据不全或检查误差,对所采集数据应答器的前一个应答器和后一个应答器进行相同位置的信号机的数据比较,以发现数据错误及误差。
在距离轴屏幕中,信号机设计为如图10所示的图形。
5、时间轴和距离轴屏幕动态提示信息的算法
为保持屏幕的简洁性和直观性,屏幕中只显示了当前时间/距离点的相关信息,而整个屏幕是一个连续的范围,为查看屏幕中其它时间/距离点的信息,可采用移动屏幕方式改变当前时间/距离点,使屏幕的相关信息进行刷新。为方便查看,在不移动屏幕下,通过动态提示信息实现屏幕任意点的信息查看。
时间轴和距离轴屏幕动态提示信息的算法是获取动态点的位置坐标后,再根据信息框的大小和动态点在屏幕中的位置选择信息框的显示位置,最后加载动态点的相关信息进行显示。此算法已同时应用于动态显示应答器编号和信号机相关信息。
如图9所示,时间轴和距离轴屏幕动态提示信息过程包括以下步骤:
S501:执行展现数据流程;
S502:判断屏幕中是否显示动态信息,如果否则过程结束;
S503:如果显示动态信息,则启动动态信息显示;
S504:时间轴屏幕和距离轴屏幕绘制动态信息;
S505:判断是否停止动态信息显示,如果是则过程结束;
S506:如果不停止动态信息显示,则判断是否有移动距离,如果否则过程结束;
S507:如果有移动距离则执行步骤S504。
所述的时间轴和距离轴屏幕动态提示信息过程还包括动态信息绘制过程,动态信息绘制过程包括以下步骤:
S5041:从动态点获取在屏幕中的坐标;
S5042:从动态点判断信息框处于动态点位置,根据屏幕能否全部显示信息框信息进行最佳选择;
S5043:加载动态点的相关信息。
6、时间轴和距离轴屏幕的图形化定义
在时间轴和距离轴屏幕中对信息进行了图形化定义,其中设备状态信息(如初始化、正常、错误等)和应答器接收状态(正常接收、报文丢失、解析错误)根据其不同状态以不同颜色在屏幕中显现,体现了直观性。
7、数据加密和数据解密验证功能
为防止人工修改数据,设计一种称为CRC-HASH码的加密算法,该算法采用了CRC-32码算法和自定义的HASH算法进行双层加密,充分吸收了CRC-32码的算法简单和开销小的优点,可快速检测文件是否进行人工修改。若用户利用公开的CRC-32算法修改数据文件,还须通过第二层HASH算法的检验,第二层HASH算法采用了防反汇编技术,一般用户很难在短时间内进行攻破,有效拖延了软件的逆向分析,实现了对数据文件的原始性保护。
CRC-HASH码的加密字符结构设计如表1所示。
CRC-HASH码的加密字符结构分为数据包头和数据包信息两部分。数据包头按照已定义设计的结构进行相应值填充,其中将数据包号设计为0号包(数据包未采用0号包进行定义数据),用2个字节(16进制)表示为“00 00”;数据包信息长为8个字节,用字节(16进制)表示为“02”(转换成十进制为2×4=8),校验和和时间周期分别按1个字节和4个字节用16进制的“FF”进行填充。第一层加密字符按CRC-32码计算,第二层按HASH加密算法,计算结果都为4字节长度的加密字符,例如“ 00 02 FF FF FF FF FF C8 40 F1 51 12 3B 7A D7”。
CRC-HASH码的加密字符结构遵循已定义的数据结构,插入到数据文件某一位置,不影响解析程序生成相应的数据文件。
将CRC-HASH码的算法以动态链接库形式实现,供多个平台实现二次开发及调用,对外提供两个函数接口,如表2所示。
将CRC-HASH码的算法以动态链接库形式实现,供多个平台实现二次开发及调用,对外提供两个函数接口,如表2所示。
CRC-HASH码的算法包括了CRC-32算法和自定义的HASH算法,其中CRC-32算法和校验标准多项式均公开,核心算法为自定义的HASH算法。CRC-HASH码的加密工作流程如图11所示。
CRC-HASH码的解密流程是执行一次加密流程后,与文件中的加密字符进行比较,如果计算的加密字符与文件中的加密字符完全符合,则说明文件具有原始性,否则该文件已被人工修改过。CRC-HASH码中的自定义HASH算法采用位与、移位、加法、乘法和模运算等混合运算,例如myHash = (myHash + (CRC + 1) * 0x12345678abf) % 0x81111111b * 0xffffffef,采用混合运算,使反汇编HASH算法难度增加。
如图11所示,信息加密过程包括以下步骤:
S601:读入文件名;
S602:判断文件是否存在,如果不存在则过程结束;
S603:如果文件存在则分块车载设备记录文件;
S604:进行CRC-32算法计算;
S605:判断文件是否全部读入,如果未全部读入则执行步骤S603;
S606:如果文件全部读入,则生成CRC-32算法的32位比特码;
S607:将CRC-32算法生成的32位比特码按自定义的HASH算法再次生成32位比特码;
S608:将两种算法所计算的64位比特码按照已设计的加密字符结构插入到文件中,过程结束。
8、统计信息和查看应答器报文
查看应答器报文功能和应答器分析及统计功能应用“所见即所得”的视窗概念,在屏幕中选择任一应答器即可获取该应答器报文和应答器的分析及统计信息。采用此方式,提高了查看和分析报文的速度,同时也具有很好的直观性和方便性。
在图形界面中,可任意查看多个应答器组报文,每一组应答器报文相互独立并可查看同一组中任何一个报文,设计名为动态查看应答器报文算法,该算法的步骤如下:
(1)解析数据时,将应答器组每一个应答器报文以一个独立的文本进行保存;
(2)保存应答器报文的文本命名规则为:序号_应答器组编号_应答器在本应答器组的位置。如12_1231_0,表示为12为序号,1231为应答器组编号,0表示应答器为应答器组的第1个应答器;
(3)将查看应答器功能形成一个独立的可执行程序,如一个独立的EXE程序;
(4)在屏幕进行图形化时,将应答器图形在屏幕的位置、序号、应答器编号用数组进行保存;
(5)在屏幕中按某一动作(如在图形界面中采用鼠标左键双击动作)选择某一应答器,按应答器在屏幕中的位置查找数组,从数组中获取该应答器的序号和应答器编号,形成应答器报文的文件名,调用查看应答器报文的独立程序(如一个EXE程序),该程序通过文件名加载相应文本文件,若该文本文件不存在,则进行信息提示。查看应答器报文的独立程序能够查看本组中其它应答器报文。
高速铁路车载设备记录的图形化分析工具使图形化的展现、检索及仿真操作应用于铁路行业车载设备运行记录文件的分析,可推广到其它等级和类型的车辆车载设备运行记录的分析。如图12所示是本发明高速铁路车载设备图形化分析方法的时间轴图形化界面,图13是本发明高速铁路车载设备图形化分析方法的距离轴图形化界面。可以看出,利用本发明方法的高速铁路车载设备记录的图形化分析工具与现有技术相比,将数据以图形化进行展现、检索及仿真,将主要信息进行图形化,用户在分析数据时只要关心图形信息,根据方法所提供一系列的图形操作,使数据分析更具有直观性、快速性、易于学习性和操作性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。