一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据解析方法、装置、设备和介质与流程

2022-04-25 00:07:15 来源:中国专利 TAG:


1.本发明实施例涉及数据处理技术领域,尤其涉及一种数据解析方法、装置、设备和介质。


背景技术:

2.ctcs(chinese train control system,中国列车运行控制系统)是我国为实现铁路信号系统的数字化、网络化、智能化及一体化方向发展,达成高铁战略而制定的列车运行控制系统。ctcs通过与列车进行数据交互以实现对列车的控制。
3.在ctcs正式交付前需要对ctcs进行测试,即由技术人员基于解析后的交互数据对ctcs的运行状态进行判断。目前对于交互数据的解析大多通过代码内的逻辑结构实现,解析效率较低且灵活性较差。


技术实现要素:

4.本技术实施例公开一种数据解析方法、装置、设备和介质,以解决目前对数据进行解析时解析效率较低的问题。
5.第一方面,本发明实施例提供了一种数据解析方法,所述方法包括:
6.根据用户的选择操作,从候选解析文件中确定目标解析文件;
7.根据所述目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信息,对待解析数据进行解析;其中,所述属性信息包括数据长度和释义信息。
8.第二方面,本发明实施例提供了一种数据解析装置,所述装置包括:
9.目标解析文件确定模块,用于根据用户的选择操作,从候选解析文件中确定目标解析文件;
10.数据解析模块,用于根据所述目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信息,对待解析数据进行解析;其中,所述属性信息包括数据长度和释义信息。
11.第三方面,本发明实施例提供了一种设备,所述设备包括:
12.一个或多个处理器;
13.存储装置,用于存储一个或多个程序,
14.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的数据解析方法。
15.第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据解析方法。
16.本发明实施例实现了提高数据解析的效率,增加数据解析的灵活性的效果。
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1a为本发明实施例一提供的一种数据解析方法的流程图;
19.图1b为本发明实施例一提供的一种数据传输的示意图;
20.图1c为本发明实施例一提供的一种获取待解析数据的示意图;
21.图2a为本发明实施例二提供的一种数据解析方法的流程图;
22.图2b为本发明实施例二提供的一种结构体指向的示意图;
23.图2c为本发明实施例二提供的一种数据解析的示意图;
24.图3为本发明实施例三提供的一种数据解析装置的结构示意图;
25.图4为本发明实施例四提供的一种设备的结构示意图。
具体实施方式
26.下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的结构而非全部结构。
27.申请人在研发过程中发现,ctcs在技术规范中按功能可划分为5级,其中ctcs-3级列控系统是我国通过引进、消化和吸收etcs(european train control system,欧洲列车运行控制系统)并结合自身国情制定的具有自主知识产权的列控系统标准。rbc(radio block center,无线闭塞中心)是ctcs-3级列控系统地面设备中最为关键的设备,它根据和其他外部地面设备系统交互得到的线路信息和列车位置信息生成安全控车命令,计算ma(movement authority,行车许可),并通过gsm-r(gsm for railway)无线网络传递给列车,实现rbc控制列车在其覆盖范围内安全且可靠运行。
28.作为sil(safe integrity level,安全完整性等级)为sil4级的安全设备,rbc在正式的产品交付进行正常的使用之前均需要经过严格的测试,测试过程中将会通过大量的测试案例覆盖所有的使用场景。对于每个测试案例的结果判断,测试人员会根据dmi(driver machine interface,司机人机接口)显示及列车实际运行情况进行判断,当出现测试结果与预期不一致的情况则测试人员会对现象进行进一步的分析。
29.dmi显示的为对rbc与列车atp(automatic train protection,列车超速防护系统)交互数据进行解析后的解析数据,测试人员根据解析数据对rbc的运行状态进行判断。目前对于交互数据的解析大多通过代码内的逻辑结构实现,解析效率较低且灵活性较差,这就间接影响了整个测试流程的测试效率。
30.实施例一
31.图1a为本发明实施例一提供的一种数据解析方法的流程图。本实施例可适用于对rbc与atp之间的交互数据进行解析的情况,该方法可以由本发明实施例提供的数据解析装置来执行,所述装置可以由软件和/或硬件的方式来实现。如图1a所示,该方法可以包括:
32.s101、根据用户的选择操作,从候选解析文件中确定目标解析文件。
33.其中,候选解析文件由相关技术人员根据专用格式进行编写,用于对待解析数据进行数据解析的配置文件,其通常为xml格式文件。并且,针对不同场景下采用的不同通信
协议,根据各通信协议规定的数据传输格式,编写有相适应的候选解析文件,用户可根据当前场景下所采用的通信协议,从候选解析文件中确定符合该通信协议的目标解析文件。
34.在一种实施方式中,用户根据待解析数据采用的通信协议,通过前端界面在解析文件文件夹中包括的至少一个候选解析文件中进行选择,其中,各候选解析文件以文件名称作为标识进行区分。根据用户对任一候选解析文件的选择操作,将该候选解析文件作为目标解析文件。在本实施例中,待解析数据可以为任意场景中的数据帧,本实施例并不对待解析数据的数据内容进行任何限定。可选的,待解析数据包括rbc与atp之间的交互数据,为方便对本方案的理解,后续默认将待解析数据视为rbc与atp之间的交互数据。
35.在rbc设备中设置有通信模块,例如gsm-r单元,用于与列车中的atp进行无线通信。通信单元与rbc设备的rbc主机中的通信单元,例如c机,进行连接通信,再由通信单元将接收到的数据传递给rbc主机中的运算单元,例如a/b机,以基于接收到的数据进行逻辑处理。
36.图1b为本发明实施例一提供的一种数据传输的示意图,如图1b所示,其中,列车100中的atp101与rbc设备中的gsm-r单元102之间进行数据交互,gsm-r单元102将接收到的数据发送给rbc主机103中的c机104,c机104再将数据传递给a/b机105进行逻辑处理。本实施中仅以gsm-r单元102作为通信模块、c机104作为通信单元以及a/b机105作为运算单元为例进行解释说明,并不对通信模块、通信单元和运算单元的具体类型进行限定,凡是能够起到相同作用的模块/单元均在本实施例的保护范围中。
37.由于rbc设备中仅由运算单元进行数据处理,通信单元和通信模块仅负责数据的传递,期间数据并未发生变化,因此本实施例将通信模块与运算单元之间传递的数据作为待解析数据。换言之,待解析数据为atp发送给rbc设备的列车运行数据,或者,为rbc设备发送给atp的列车控制数据。
38.s102、根据所述目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信息,对待解析数据进行解析;其中,所述属性信息包括数据长度和释义信息。
39.其中,在任一候选解析文件中包括至少一个候选结构体,且每个候选结构体又包括至少一个候选数据域。候选结构体的作用为承载候选数据域,并对各候选数据域做出一个聚合的组织结构,可以增加该候选解析文件的可读性、逻辑性及可复用性。每一个候选结构体都有一个唯一的标识用于对其进行索引,例如标识为“消息头中的固有变量”的候选结构体,可以包括“车载时间戳”和“车载设备标识号”两个候选数据域。候选数据域是的作用为数据解释,候选数据域被预先赋予有“数据长度”和“释义信息”两种属性信息。“数据长度”用于标定对应的候选数据域在待解析数据中的数据长度,以根据该数据长度进行数据截取,“释义信息”用于对截取数据进行标注,以保证用户知晓各截取数据代表的含义。
40.在一种实施方式中,从目标解析文件中确定预先规定的起始结构体,并根据起始结构体中各候选数据域的排列次序,以及各候选数据域对其他候选结构体的指向关系,对待解析数据进行解析。
41.具体的,确定起始结构体中第一次序候选数据域是否指向任一其他候选结构体,若不指向任一其他候选结构体,则根据第一次序候选数据域的数据长度,从待解析数据的头部进行数据截取,并根据第一次序候选数据域的释义信息对该范围内的截取数据进行标注,生成第一次序候选数据域对应的解析数据。
42.若指向任一其他候选结构体,则根据该其他候选结构体中各候选数据域的排列次序,以及各候选数据域分别对应的数据长度和释义信息,对待解析数据的进行解析。
43.当解析完成后返回起始结构体,确定起始结构体中第二次序候选数据域是否指向任一其他候选结构体,若不指向任一其他候选结构体,则根据第二次序候选数据域的数据长度,从待解析数据的剩余数据的头部继续进行数据截取,并根据第二次序候选数据域的释义信息对该范围内的截取数据进行标注,生成第二次序候选数据域对应的解析数据。
44.若指向任一其他候选结构体,则根据该其他候选结构体中各候选数据域的排列次序,以及各候选数据域分别对应的数据长度和释义信息,对待解析数据的进行解析。
45.以此类推,根据上述实施方式依次遍历起始结构体中所有的候选数据域,从而完成对待解析数据的解析。
46.示例性的,假设起始结构体包括候选数据域1、候选数据域2和候选数据域3,候选数据域2指向其他结构体1,其他结构体1包括候选数据域4和候选数据域5。候选数据域1的“数据长度”为“1bits”,“释义信息”为“时间戳”;候选数据域3的“数据长度”为“2bits”,“释义信息”为“线路描述”;候选数据域4的“数据长度”为“1bits”,“释义信息”为“设备标识号”;候选数据域5的“数据长度”为“2bits”,“释义信息”为“消息类型”。
47.则对待解析数据的解析过程为:候选数据域1不指向任一其他结构体,则截取待解析数据0~1bits的数据,并将“时间戳”作为截取数据的标注,生成候选数据域1对应的解析数据。候选数据域2指向其他结构体1,则截取待解析数据1bits~2bits的数据,并将“设备标识号”作为截取数据的标注,生成候选数据域4对应的解析数据,并继续截取待解析数据2bits~4bits的数据,并将“消息类型”作为截取数据的标注,生成候选数据域5对应的解析数据。候选数据域3不指向任一其他结构体,则截取待解析数据4bits~6bits的数据,并将“线路描述”作为截取数据的标注,生成候选数据域3对应的解析数据。以上,完成对待解析数据的数据解析。
48.rbc设备与atp之间的交互数据依据专有通信协议进行编组,地到车的方向(atp发送数据给rbc设备)和车到地(rbc设备发送数据给atp)的方向采用的通信协议均不同,现有技术通过代码内的逻辑结构进行数据解析,解析的效率较低且灵活性较差。本发明实施例提供的技术方案,通过根据用户的选择操作,从候选解析文件中确定目标解析文件,并根据目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信息,对待解析数据进行解析;其中,属性信息包括数据长度和释义信息,由于预先已为候选解析文件中各候选结构体的候选数据域配置好数据长度和释义信息,当用户根据需求选择目标解析文件后,根据目标解析文件中各候选结构体的候选数据域的数据长度和释义信息,直接对待解析文件进行解析,大大提高了数据解析的效率;并且,用户可根据需求选择不同的目标解析文件对待解析文件进行解析,增加了数据解析的灵活性。
49.本实施例还提供了一种获取待解析数据的实现方式,rbc设备中通信模块与通信单元之间数据传输通常基于交换机实现,以通信模块为gsm-r单元,通信单元为c机,运算单元为a/b机为例,由于a/b机与c机为板卡结构,其间靠机笼内部背板进行连接,无外部接口,而gsm-r单元与c机的硬件接口为rj-45以太网接口,由于c机作为通信单元,整个rbc设备中与主机通信的数据均通过其传递至a/b机,因此gsm-r单元与c机并不是直连关系,而是同其他模块一样经过交换机与c机进行数据通信。
50.基于上述连接关系,本实施例采用交换机镜像的方式抓取gsm-r单元及c机之间的待解析数据,图1c为本发明实施例一提供的一种获取待解析数据的示意图,如图1c所示,gsm-r单元106通过交换机107将数据发送给c机108,以及rbc设备中的其余单元109,本实施例将gsm-r单元106作为镜像源,并通过交换机107将gsm-r单元106的数据发送给镜像目的目标接口110,以获取待解析数据。
51.通过采用交换机镜像的方式获取待解析数据,没有破坏现有的rbc设备的硬件环境,且没有外部信息注入,不会对rbc设备功能产生影响。
52.实施例二
53.图2a为本发明实施例二提供的一种数据解析方法的流程图。本实施例在上述各可选实施例基础上进行优化,如图2a所示,该方法可以包括:
54.s201、去除原始数据中的网络层数据和链路层数据,得到安全数据。
55.其中,原始数据为数据传输过程中传输的所有数据的集合。
56.在一种实施方式中,由于待解析数据为原始数据中的应用层数据,因此在对待解析数据进行解析之前,需要去除掉原始数据中没有实际意义的非应用数据。在接收到原始数据后,确定原始数据是否包含应用层数据,若原始数据不包含应用层数据,则直接丢弃原始数据,例如原始数据为ack(acknowledgement,确认消息),则直接丢弃原始数据;若原始数据包含应用层数据,则去除原始数据中的网络层数据和链路层数据,将剩余数据作为安全数据。
57.s202、在所述安全数据符合预设安全协议的情况下,去除所述安全数据中的安全层数据,并将剩余数据作为待解析数据。
58.其中,预设安全协议是一种为了保证通信安全性的协议,以rbc设备与atp之间的通信为例,预设安全协议可选的包括rssp-ii(铁路安全通信协议-ii)协议。
59.在一种实施方式中,对安全数据进行协议校验,确定安全数据是否符合预设安全协议,若确定安全数据不符合预设安全协议,则直接丢弃安全数据。由于安全协议通过将安全层数据覆盖应用层数据以保证通信安全,因此若确定安全数据符合预设安全协议,则去除安全数据中的安全层数据,将剩余的应用层数据作为待解析数据。
60.s203、根据用户的选择操作,从候选解析文件中确定目标解析文件。
61.s204、从目标解析文件中的候选结构体中确定第一结构体,且将所述第一结构体中的各候选数据域作为第一数据域,并根据各所述第一数据域的次序,以及各所述第一数据域的属性信息,依次对所述待解析数据进行解析。
62.其中,第一结构体表示预先确定的初始结构体。
63.在一种实施方式中,根据各第一数据域的数据长度,以及各第一数据域的次序,依次对待解析数据进行截取,并按照各第一数据域的释义信息对截取数据进行标注,从而得到各第一数据域对应的解析数据。
64.示例性的,假设第一结构体包括第一数据域a、第一数据域b和第一数据域c,第一数据域a的“数据长度”为“1bits”,“释义信息”为“时间戳”;第一数据域b的“数据长度”为“2bits”,“释义信息”为“线路描述”;第一数据域c的“数据长度”为“1bits”,“释义信息”为“设备标识号”。截取待解析数据0~1bits的数据,并将“时间戳”作为截取数据的标注,生成第一数据域a对应的解析数据。截取待解析数据1bits~3bits的数据,并将“线路描述”作为
截取数据的标注,生成第一数据域b对应的解析数据。截取待解析数据3bits~4bits的数据,并将“设备标识号”作为截取数据的标注,生成第一数据域c对应的解析数据。
65.可选的,s204中“根据各所述第一数据域的次序,以及各所述第一数据域的属性信息,依次对所述待解析数据进行解析”,包括以下步骤:
66.确定当前第一数据域是否指向第二结构体;其中,所述第二结构体为除所述第一结构体外的任一所述候选结构体;在不指向所述第二结构体的情况下,根据所述当前第一数据域的所述数据长度,对所述待解析数据的剩余数据进行数据截取,获取目标数据字段;根据所述释义信息对所述目标数据字段进行标注,作为所述当前第一数据域对应的解析数据。
67.在一种实施方式中,第一数据域可能会指向第二结构体,在当前第一数据域不指向第二结构体的情况下,根据当前第一数据域的数据长度,对待解析数据的剩余数据进行数据截取,并根据释义信息对截取数据进行标注,生成当前第一数据域对应的解析数据。
68.可选的,确定当前第一数据域是否指向第二结构体之后,还包括:
69.在指向所述第二结构体的情况下,将所述第二结构体中的各候选数据域作为第二数据域;根据各所述第二数据域的次序,以及各所述第二数据域的属性信息,依次对所述待解析数据的剩余数据进行解析。
70.在一种实施方式中,若当前第一数据域指向第二结构体,则根据各第二数据域的数据长度,以及各第二数据域的次序,依次对待解析数据的剩余数据进行截取,并按照各第二数据域的释义信息对截取数据进行标注,从而得到各第二数据域对应的解析数据。
71.可选的,根据各所述第二数据域的次序,以及各所述第二数据域的属性信息,依次对所述待解析数据的剩余数据进行解析,包括以下步骤:
72.1)在当前第二数据域为目标第二数据域的情况下,确定所述目标第二数据域是否指向第三结构体;其中,所述目标第二数据域为处于最后次序的所述第二数据域,所述第三结构体为除所述第一结构体和所述第二结构体外的任一所述候选结构体。
73.2)在不指向所述第三结构体的情况下,根据所述目标第二数据域的属性信息,对所述待解析数据的剩余数据进行解析,并将次序位于所述当前第一数据域后的第一数据域,作为更新后的当前第一数据域。
74.3)在指向所述第三结构体的情况下,将所述第三结构体中的各候选数据域作为第三数据域,并根据各所述第三数据域的次序,以及各所述第三数据域的属性信息,依次对所述待解析数据的剩余数据进行解析。
75.在一种实施方式中,在目标第二数据域不指向第三结构体的情况下,根据目标第二数据域的数据长度,对待解析数据的剩余数据进行数据截取,并根据释义信息对截取数据进行标注,生成目标第二数据域对应的解析数据。
76.若目标第二数据域指向第三结构体,则根据各第三数据域的数据长度,以及各第三数据域的次序,依次对待解析数据的剩余数据进行截取,并按照各第三数据域的释义信息对截取数据进行标注,从而得到各第三数据域对应的解析数据。
77.示例性的,本实施例对数据解析的具体过程进行举例说明:
78.图2b为本发明实施例二提供的一种结构体指向的示意图,如图2b所示,第一结构体200包括第一数据域201、第一数据域202和第一数据域203和第一数据域204,第一数据域
202指向第二结构体205,第一数据域203指向第二结构体206,第二结构体205包括第二数据域207和第二数据域208,第二结构体206包括第二数据域209和第二数据域210,第二数据域208指向第三结构体211,第三结构体211包括第三数据域212和第三数据域213。
79.根据图2b中的结构体指向形式,对应的数据解析过程如下:
80.图2c为本发明实施例二提供的一种数据解析的示意图,如图2c所示,214表示待解析数据,215表示对应数据域,216表示数据域所属结构体。
81.第一结构体200中第一数据域201不指向第二结构体,则根据第一数据域201的数据长度开始截取待解析数据214,并根据第一数据域201的释义信息对截取数据进行标注,得到第一数据域201对应的解析数据217。
82.第一数据域202指向第二结构体205,则根据第二数据域207的数据长度截取待解析数据214的剩余数据,并根据第二数据域207的释义信息对截取数据进行标注,得到第二数据域207对应的解析数据218。第二数据域208为处于最后次序的第二数据域,即目标第二数据域,且第二数据域208指向第三结构体211,则根据第三数据域212的数据长度截取待解析数据214的剩余数据,并根据第三数据域212的释义信息对截取数据进行标注,得到第三数据域212对应的解析数据219。按照次序,根据第三数据域213的数据长度截取待解析数据214的剩余数据,并根据第三数据域213的释义信息对截取数据进行标注,得到第三数据域213对应的解析数据220。
83.接下来返回第一结构体200,第一数据域203指向第二结构体206,则根据第二数据域209的数据长度截取待解析数据214的剩余数据,并根据第二数据域209的释义信息对截取数据进行标注,得到第二数据域209对应的解析数据221。第二数据域210不指向第三结构体,则根据第二数据域210的数据长度截取待解析数据214的剩余数据,并根据第二数据域210的释义信息对截取数据进行标注,得到第二数据域210对应的解析数据222。
84.接下来返回第一结构体200,第一数据域204不指向第二结构体,则根据第一数据域204的数据长度截取待解析数据214的剩余数据,并根据第一数据域204的释义信息对截取数据进行标注,得到第一数据域204对应的解析数据223。
85.以上完成整个数据解析的过程。值得说明的是,第三结构体中的各第三数据域还可以继续指向其他结构体,流程与上述相同,本实施例不再展开赘述。
86.s205、根据解析结果确定解析数据,并根据预设存储路径对所述解析数据和所述原始数据进行存储;其中,所述预设存储路径包括本地端和数据库中的至少一种。
87.在一种实施方式中,将各数据域对应解析数据的集合作为待解析数据对应的解析数据。得到解析数据之后,将解析数据和原始数据存储在本地端或者数据库中。
88.具体的,若预设存储路径为本地端,则将解析数据和原始数据记录进txt日志文件中,各日志文件还包括日志文件生成时间、原始数据获取时间、获取原始数据的ip地址等便于筛选的附加内容。日志文件可配置为时间模式或容量模式,在时间模式下到达设定时间后即会生成新的日志文件,在容量模式下当日志文本存储大小达到设定存储量后生成新的日志文件进行记录。
89.若预设存储路径为数据库,则将解析数据和原始数据转为json格式后存储至对应的数据库中,数据库以rbc设备为单位,即各rbc设备的解析数据和原始数据存在一个对应数据库中。其中,数据库可选的为mongodb数据库,且预先开启信息存储模式。
90.s206、根据用户的查询指令将所述解析数据和所述原始数据进行可视化展示。
91.在一种实施方式中,用户根据实际业务需求生成查询指令,以对存储的数据进行查看。
92.具体的,查询包括但不限于以下三种形式:
93.a、实时查询
94.原始数据获取及数据解析具备前端界面对数据记录进行展示,测试人员可通过界面列表显示刷新查看最新的原始数据及解析数据,同时列表界面具备一定的缓存能力,测试人员可通过滚动回看一定数量内的记录消息。
95.b、日志查询
96.通过在本地端寻找对应的日志文件进行查询以及编辑处理。
97.c、数据库查询
98.该模式通过springboot实现,后端服务通过查询数据库获取需要进行展示的数据,能够根据数据库的更新实时显示最新的原始数据及解析数据,同时通过网页前端的人机交互还可以进一步对数据进行筛选或是进行图形化的显示。该模式对于数据的查询和过滤比本地查询更加遍历,可以根据时间、特征值等对数据库中所有保存的数据进行查询。此外该模式能够实现多人多地同时查看使用,便于合作形式的问题分析。
99.本发明实施例提供的技术方案,通过去除原始数据中的网络层数据和链路层数据,得到安全数据,并在安全数据符合预设安全协议的情况下,去除安全数据中的安全层数据,并将剩余数据作为待解析数据,实现了对原始数据进行数据过滤及安全性验证的效果;通过从候选结构体中确定第一结构体,且将第一结构体中的各候选数据域作为第一数据域,并根据各第一数据域的次序,以及各第一数据域的属性信息,依次对待解析数据进行解析,实现了提高数据解析的效率,增加数据解析的灵活性的效果;通过根据解析结果确定解析数据,并根据预设存储路径对解析数据和原始数据进行存储,实现了数据存储的效果,为后续进行数据查询奠定了基础;通过根据用户的查询指令将解析数据和原始数据进行可视化展示,满足了用户的数据查询需求,改善了用户体验。
100.实施例三
101.图3为本发明实施例三提供的一种数据解析装置的结构示意图,可执行本发明任一实施例所提供的一种数据解析方法,具备执行方法相应的功能模块和有益效果。如图3所示,该装置可以包括:
102.目标解析文件确定模块31,用于根据用户的选择操作,从候选解析文件中确定目标解析文件;
103.数据解析模块32,用于根据所述目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信息,对待解析数据进行解析;其中,所述属性信息包括数据长度和释义信息。
104.在上述实施例的基础上,所述数据解析模块32,具体用于:
105.从所述候选结构体中确定第一结构体,且将所述第一结构体中的各候选数据域作为第一数据域;
106.根据各所述第一数据域的次序,以及各所述第一数据域的属性信息,依次对所述待解析数据进行解析。
107.在上述实施例的基础上,所述数据解析模块32,具体还用于:
108.确定当前第一数据域是否指向第二结构体;其中,所述第二结构体为除所述第一结构体外的任一所述候选结构体;
109.在不指向所述第二结构体的情况下,根据所述当前第一数据域的所述数据长度,对所述待解析数据的剩余数据进行数据截取,获取目标数据字段;
110.根据所述释义信息对所述目标数据字段进行标注,作为所述当前第一数据域对应的解析数据。
111.在上述实施例的基础上,所述装置还包括第二数据域确定模块,具体用于:
112.在指向所述第二结构体的情况下,将所述第二结构体中的各候选数据域作为第二数据域;
113.根据各所述第二数据域的次序,以及各所述第二数据域的属性信息,依次对所述待解析数据的剩余数据进行解析。
114.在上述实施例的基础上,所述第二数据域确定模块,具体还用于:
115.在当前第二数据域为目标第二数据域的情况下,确定所述目标第二数据域是否指向第三结构体;其中,所述目标第二数据域为处于最后次序的所述第二数据域,所述第三结构体为除所述第一结构体和所述第二结构体外的任一所述候选结构体;
116.在不指向所述第三结构体的情况下,根据所述目标第二数据域的属性信息,对所述待解析数据的剩余数据进行解析,并将次序位于所述当前第一数据域后的第一数据域,作为更新后的当前第一数据域;
117.在指向所述第三结构体的情况下,将所述第三结构体中的各候选数据域作为第三数据域,并根据各所述第三数据域的次序,以及各所述第三数据域的属性信息,依次对所述待解析数据的剩余数据进行解析。
118.在上述实施例的基础上,所述装置还包括待解析数据获取模块,具体用于:
119.去除原始数据中的网络层数据和链路层数据,得到安全数据;
120.在所述安全数据符合预设安全协议的情况下,去除所述安全数据中的安全层数据,并将剩余数据作为所述待解析数据。
121.在上述实施例的基础上,所述装置还包括数据存储模块,具体用于:
122.根据解析结果确定解析数据,并根据预设存储路径对所述解析数据和所述原始数据进行存储;其中,所述预设存储路径包括本地端和数据库中的至少一种。
123.在上述实施例的基础上,所述装置还包括数据查询模块,具体用于:
124.根据用户的查询指令将所述解析数据和所述原始数据进行可视化展示。
125.本发明实施例所提供的一种数据解析装置,可执行本发明任一实施例所提供的一种数据解析方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任一实施例提供的指令有效性的校验方法。
126.实施例四
127.图4为本发明实施例四提供的一种设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性设备400的框图。图4显示的设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
128.如图4所示,设备400以通用计算设备的形式表现。设备400的组件可以包括但不限
于:一个或者多个处理器或者处理单元401,系统存储器402,连接不同系统组件(包括系统存储器402和处理单元401)的总线403。
129.总线403表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
130.设备400典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备400访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
131.系统存储器402可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)404和/或高速缓存存储器405。设备400可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统406可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线403相连。存储器402可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
132.具有一组(至少一个)程序模块407的程序/实用工具408,可以存储在例如存储器402中,这样的程序模块407包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块407通常执行本发明所描述的实施例中的功能和/或方法。
133.设备400也可以与一个或多个外部设备409(例如键盘、指向设备、显示器410等)通信,还可与一个或者多个使得用户能与该设备400交互的设备通信,和/或与使得该设备400能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口411进行。并且,设备400还可以通过网络适配器412与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器412通过总线403与设备400的其它模块通信。应当明白,尽管图中未示出,可以结合设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
134.处理单元401通过运行存储在系统存储器402中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的数据解析方法,包括:
135.根据用户的选择操作,从候选解析文件中确定目标解析文件;
136.根据所述目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信息,对待解析数据进行解析;其中,所述属性信息包括数据长度和释义信息。
137.实施例五
138.本发明实施例五还提供了一种计算机可读存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据解析方法,该方法包括:
139.根据用户的选择操作,从候选解析文件中确定目标解析文件;
140.根据所述目标解析文件中的候选结构体,以及候选结构体中候选数据域的属性信
息,对待解析数据进行解析;其中,所述属性信息包括数据长度和释义信息。
141.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种数据解析方法中的相关操作。本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
142.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
143.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
144.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
145.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献