一种数据处理方法和装置与流程

文档序号:18704085发布日期:2019-09-17 23:23阅读:255来源:国知局
一种数据处理方法和装置与流程

本发明涉及数据处理技术领域,具体为一种数据处理方法和装置。



背景技术:

随着科学的进步,在众多领域的实验中,会产生各种各样的波形数据,由于这些波形数据携带的信息具有重要价值,因此都会将波形数据进行存储,在需要时再对存储的波形数据进行回放。在对波形数据回放过程中,首先需要读取存储波形数据的源码数据,而源码数据一般存储为bin格式或者txt格式文件,通过在源码数据中顺序截取一段一定长度的源码,再一段一段读取所截取的源码,然后将读取到的源码数据解析出消息数据包,并将消息数据包通过显示器显示出来,最后再根据客户选择的消息数据包重新按照顺序截取一段一定长度源码方式,找到消息数据包对应的波形数据包。

但是,由于系统中存储的波形数据的数据量大,而计算机的运行能力有限,在对波形数据进行回放时,计算机需要全速读取存储数据以及解析消息数据包,此时计算机无法响应其他操作,若误操作计算机,容易导致计算机的系统卡死或系统崩溃,以及由于波形数据的数据量大,通过现有技术对波形数据进行回放需要等待时间较长,使得用户体验效果较差。



技术实现要素:

本发明实施例提供了一种数据处理方法和装置,能够部分或全部地解决背景技术中提到的问题,提高用户体验。

为达到上述目的,本发明提供了如下技术方案:

本发明实施例第一方面公开了一种数据处理方法,所述方法包括:

基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件,每个tdms文件包括:存储有消息序号的消息序号组别,存储有消息数据的消息数据组别,存储有波形数据的波形数据组别;每个tdms文件中所存储的消息序号、消息数据和波形数据来源于总线数据中相同的总线消息;在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名;

读取目标消息数据组别中存储的所有消息数据;所述目标消息数据组别为所述目标tdms文件包括的消息数据组别;

获取用户在所述目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号;所述目标消息序号组别为所述目标tdms文件包括的消息序号组别;

从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示;所述目标波形数据组别为所述目标tdms文件包括的波形数据组别。

可选的,所有tdms文件通过预先存储总线数据得到,所有tdms文件的预先存储过程,包括:

获取总线数据,并对总线数据进行拆包处理,得到每一条总线消息的消息序号、消息数据和波形数据;

将每一条总线消息的消息序号和消息数据组合为一维字符串数组并加入第一存储队列,将每一条总线消息的消息序号和波形数据组合为一维u32数组并加入第二存储队列;

读取第一存储队列中的每个一维字符串数组,并在每个一维字符串数组中索引出消息序号;

将索引出的消息序号存储于tdms文件中的消息序号组别;

将一维字符串数组中的消息数据存储于tdms文件中的消息数据组别,并将该消息数据组别中每个消息数据的通道名按照索引出的消息序号命名,每个消息数据本身和其通道名属于同一总线消息;

读取第二存储队列中的每个一维u32数组,并在每个一维u32数组中索引出消息序号;

将一维u32数组中的波形数据存储于tdms文件中的波形数据组别,并将该波形数据组别中每个波形数据的通道名按照索引出的消息序号命名,每个波形数据本身和其通道名属于同一总线消息;

查询tdms文件中已存储的波形数据的数据量是否超过预设值;

若是,则建立新的tdms文件存储总线数据。

可选的,所有tdms文件的预先存储过程,还包括:

在对索引出的消息序号、一维字符串数组中的消息数据以及一维u32数组中的波形数据进行存储时,每累积n个消息序号、n个消息数据和n个波形数据时,进行一次存储。

可选的,读取目标消息数据组别中存储的所有消息数据,包括:

获取所述目标消息序号组别,读取所述目标消息序号组别中所有的消息序号;

在所述目标消息数据组别中获取所述目标消息序号组别中所有的消息序号对应的所有消息数据;

将获取的所有消息数据进行分页处理,并在显示界面上显示所获取的所有消息数据。

可选的,从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示,包括:

确定索引得到的消息序号所对应的通道名;

从所述目标波形数据组别中获取所确定出的通道名下的所有波形数据;

解析获取的所有波形数据,在显示界面显示解析波形数据后得到的波形。

本发明实施例第二方面公开了一种数据处理装置,包括:

获取单元,用于基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件,每个tdms文件包括:存储有消息序号的消息序号组别,存储有消息数据的消息数据组别,存储有波形数据的波形数据组别;每个tdms文件中所存储的消息序号、消息数据和波形数据来源于总线数据中相同的总线消息;在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名;

读取单元,用于读取目标消息数据组别中存储的所有消息数据;所述目标消息数据组别为所述目标tdms文件包括的消息数据组别;

索引单元,用于获取用户在所述目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号;所述目标消息序号组别为所述目标tdms文件包括的消息序号组别;

显示单元,用于从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示;所述目标波形数据组别为所述目标tdms文件包括的波形数据组别。

可选的,还包括:预存储单元;

所述预存储单元包括:

拆包子单元,用于获取总线数据,并对总线数据进行拆包处理,得到每一条总线消息的消息序号、消息数据和波形数据;

组合子单元,用于将每一条总线消息的消息序号和消息数据组合为一维字符串数组并加入第一存储队列,将每一条总线消息的消息序号和波形数据组合为一维u32数组并加入第二存储队列;

第一索引子单元,用于读取第一存储队列中的每个一维字符串数组,并在每个一维字符串数组中索引出消息序号;

第一存储子单元,用于将索引出的消息序号存储于tdms文件中的消息序号组别;

第二存储子单元,用于将一维字符串数组中的消息数据存储于tdms文件中的消息数据组别,并将该消息数据组别中每个消息数据的通道名按照索引出的消息序号命名,每个消息数据本身和其通道名属于同一总线消息;

第二索引子单元,用于读取第二存储队列中的每个一维u32数组,并在每个一维u32数组中索引出消息序号;

第三存储子单元,用于将一维u32数组中的波形数据存储于tdms文件中的波形数据组别,并将该波形数据组别中每个波形数据的通道名按照索引出的消息序号命名,每个波形数据本身和其通道名属于同一总线消息;

查询新建子单元,用于查询tdms文件中已存储的波形数据的数据量是否超过预设值;若是,则建立新的tdms文件存储总线数据。

可选的,所述预存储单元还包括:累积子单元;

累积子单元,用于在对索引出的消息序号、一维字符串数组中的消息数据以及一维u32数组中的波形数据进行存储时,每累积n个消息序号、n个消息数据和n个波形数据时,进行一次存储。

可选的,所述读取单元,包括:

读取子单元,用于获取所述目标消息序号组别,读取所述目标消息序号组别中所有的消息序号;

获取子单元,用于在所述目标消息数据组别中获取所述目标消息序号组别中所有的消息序号对应的所有消息数据;

第一显示子单元,用于将获取的所有消息数据进行分页处理,并在显示界面上显示所获取的所有消息数据。

可选的,所述显示单元,包括:

确定子单元,用于确定索引得到的消息序号所对应的通道名;

获取子单元,用于从所述目标波形数据组别中获取所确定出的通道名下的所有波形单元;

第二显示子单元,用于解析获取的所有波形数据,在显示界面显示解析波形数据后得到的波形。

经上述技术方案可知,本发明实施例公开了一种数据处理方法和装置,通过基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件;读取目标消息数据组别中存储的所有消息数据;所述目标消息数据组别为所述目标tdms文件包括的消息数据组别;获取用户在所述目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号;从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示。本发明实施例的技术方案,在用户需要回放波形数据时,可直接读取消息回放指令信息对应的目标tdms文件下目标消息数据组别中存储的所有消息数据,在用户选择消息数据后,可利用所选择的消息数据的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号,并根据索引得到的消息序号从目标波形数据组别中获取波形数据,最后将读取到的波形数据回放显示出来。整个过程无需读取全部的波形数据,所以系统资源使用率低,一方面计算机能够同时响应其他操作,用户误操作后,也只需重新选择波形数据即可,不会造成系统卡死或系统崩溃,另一方面无需反复读取全部的波形数据也大大缩短了用户回放波形数据等待时间,从而提高了用户体验效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种数据处理方法的流程示意图;

图2为本发明实施例提供的另一种数据处理方法的流程示意图;

图3为本发明实施例提供的另一种数据处理方法的流程示意图;

图4为本发明实施例提供的另一种数据处理方法的流程示意图;

图5为本发明实施例提供的一种数据处理装置的结构示意图;

图6为本发明实施例提供的一种数据处理装置中预存储单元的结构示意图;

图7为本发明实施例提供的一种数据处理装置中读取单元的结构示意图;

图8为本发明实施例提供的一种数据处理装置中显示单元的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明实施例公开了一种数据处理方法和装置,目的在于解决对存储的总线数据进行回放时,由于存储的波形数据的数据量大,且需要两次读取存储的所有波形数据的源码数据并按一定长度顺序截取后才能完成波形数据的回放,以至于回放波形数据时需要使用几乎全部的系统资源,用户误操作时容易导致计算机的系统卡死或系统崩溃,同时需要用户长时间等待,从而带来的用户体验效果差问题。为了能够解决上述问题,本发明实施例公开了一种数据处理装置,该数据处理装置可以承载于上位机、数据分析仪等可实现数据处理的设备。

本发明实施例提供一种数据处理方法,参见图1,上述方法至少包括如下步骤:

步骤s101:基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件。

在步骤s101中,每个tdms(technicaldatamanagementstreaming,技术数据管理流)文件包括:存储有消息序号的消息序号组别,存储有消息数据的消息数据组别,存储有波形数据的波形数据组别;每个tdms文件中所存储的消息序号、消息数据和波形数据来源于总线数据中相同的总线消息;在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名。

用户在所有已存储tdms文件中选择与待回放波形数据对应的tdms文件,用户选择完成后生成消息回放指令信息,消息回放指令信息用于表征用户选择的tdms文件的回放路径,目标tdms文件即为用户选择的tdms文件。在实际应用中,用户每一次选择的tdms文件的数目可以是不同的,如可以是1个、2个、3个、4个、5个等。

其中,tdms文件是以二进制的方式记录通道名,即消息数据组别的通道名和波形数据组别的通道名以二进制的方式记录。

需要说明的是,由于总线数据是由多条总线消息构成,而对每一条总线消息进行拆包后,可以获得每一条总线消息的消息序号、消息数据和波形数据,在多条总线消息中,消息数据和波形数据可能会存在相同,但每一条总线消息的消息序号则是唯一的。在将总线消息存储在tdms文件中时,由于在tdms文件中可以设置组名称、通道名等标签信息,因此,可以采用“消息序号+消息数据”,以及“消息序号+波形数据”的方式对消息数据和波形数据进行存储。具体的,通过唯一的消息序号对消息数据和波形数据分别进行组合,得到组合消息数据和组合波形数据,再对组合消息数据和组合波形数据进行存储。

而为了便于后期对存储的波形数据进行读取,在存储组合消息数据和组合波形数据时,都是以消息序号为索引分组别存储,当需要获取波形数据时,需先通过索引消息序号读取该消息序号对应的消息数据,再通过用户选择的消息数据索引消息序号读取该消息序号对应的波形数据。

组合消息数据的具体存储过程,是索引组合消息数据的消息序号,将消息序号同时作为消息序号组别的数据和消息数据组别的通道名,以及将消息数据作为消息数据组别对应通道名下的数据存储在tdms文件中。其中,这里的对应是指:在消息数据组别中,任一消息数据的通道名所使用的消息序号和消息数据本身来源于同一条总线消息。

而组合波形数据的具体存储过程,则是索引组合波形数据的消息序号,将消息序号组别下的消息序号作为波形数据组别的通道名,以及波形数据作为波形数据组别对应通道名下的数据存储在tdms文件中。其中,这里的对应是指:在波形数据组别中,任一波形数据的通道名所使用的消息序号和波形数据本身来源于同一条总线消息。

通过组合消息数据和组合波形数据的存储过程,保证每个tdms文件中所存储的消息序号、消息数据和波形数据来源于总线数据中相同的总线消息。这样,每个tdms文件中消息序号组别中的消息序号,消息数据组别中的消息数据,以及波形数据组别中的波形数据在数量上是相同的,且是一一对应的。

步骤s102:读取目标消息数据组别中存储的所有消息数据。

需要说明的是,目标消息数据组别为目标tdms文件包括的消息数据组别。因此,查找到目标tdms文件后,就可以在目标tdms文件中查找到目标消息数据组别。

由于在目标消息数据组别存储有消息数据,因此,通过执行步骤s102,可以读取目标消息数据组别中存储的所有消息数据。

步骤s103:获取用户在目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号。

在步骤s103中,目标消息序号组别为目标tdms文件包括的消息序号组别。

需要说明的是,由于在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名,而消息数据是目标消息数据组别中的数据,因此,获取用户在目标消息数据组别中选择的消息数据的通道名,可以利用获取到的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号。

步骤s104:从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示。

在步骤s104中,目标波形数据组别为目标tdms文件包括的波形数据组别。

需要说明的是,由于在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名,因此,可以通过消息序号在波形数据组别中读取到消息序号对应通道名下的波形数据。而目标波形数据组别下存储的是目标波形数据,因此,可以从目标波形数据组别下获取到步骤s103索引得到的消息序号对应通道名下的所有波形数据。然后在将读取到的波形数据解析后回放显示。

本发明实施例通过基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件;读取目标消息数据组别中存储的所有消息数据;获取用户在目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号;从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示。本发明实施例的技术方案,在用户需要回放波形数据时,可直接读取消息回放指令信息对应的目标tdms文件下目标消息数据组别中存储的所有消息数据,在用户选择消息数据后,可利用所选择的消息数据的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号,并根据索引得到的消息序号从目标波形数据组别中获取波形数据,最后将读取到的波形数据回放显示出来。整个过程无需读取全部的波形数据,所以系统资源使用率低,一方面计算机能够同时响应其他操作,用户误操作后,也只需重新选择波形数据即可,不会造成系统卡死或系统崩溃,另一方面无需反复读取全部的波形数据也大大缩短了用户回放波形数据等待时间,从而提高了用户体验效果。

如图2所示,在上述实施例公开的一种数据处理方法中,所有tdms文件通过预先存储总线数据得到,所有tdms文件预先存储的过程包括以下步骤:

步骤s201:获取总线数据,并对总线数据进行拆包处理,得到每一条总线消息的消息序号、消息数据和波形数据。

需要说明的是,对总线数据进行拆包处理为现有技术。由于总线数据是由多条消息构成,在每一条总线消息中包括消息序号、消息数据和波形数据。因此,在对总线数据进行拆包处理后,可以得到的每一条总线消息的消息序号、消息数据和波形数据。在多条总线消息中,每一消息序号都是唯一的。

步骤s202:将每一条总线消息的消息序号和消息数据组合为一维字符串数组并加入第一存储队列,将每一条总线消息的消息序号和波形数据组合为一维u32数组并加入第二存储队列。

需要说明的是,一维字符串数组和一维u32数组都是一种数据类型,一维字符串数组表示若干个字符串的顺序组合,一维u32数组则表示32位无符号数据进行顺序组合。

每一条总线消息的消息序号和消息数据得到的一维字符串数组,作为组合消息数据,而将每一条总线消息的消息序号和波形数据组合为一维u32数组,作为组合波形数据。

该步骤中,将每一条总线消息的消息序号和消息数据组合为一维字符串数组加入第一存储队列和每一条总线消息的消息序号和波形数据组合为一维u32数组加入第二存储队列进行存储。

步骤s203:读取第一存储队列中的每个一维字符串数组,并在每个一维字符串数组中索引出消息序号。

需要说明的是,在第一存储队列中是以消息序号和消息数据组合为一维字符串数组加入的,而在对一维字符串数组进行存储时是对整个一维字符串数组进行存储的,因此需要先读取第一存储队列中的每个一维字符串数组,且在读取时,在每个一维字符串数组中索引出消息序号。

步骤s204:将索引出的消息序号存储于tdms文件中的消息序号组别。

需要说明的是,由于在后期读取消息数据时,是需要使用消息序号组别中的消息序号去读取波形数据组别对应通道名下的波形数据,因此,在存储时,应将步骤s203索引出的消息序号存储于tdms文件中的消息序号组别。

步骤s205:将一维字符串数组中的消息数据存储于tdms文件中的消息数据组别,并将该消息数据组别中每个消息数据的通道名按照索引出的消息序号命名,每个消息数据本身和其通道名属于同一总线消息。

需要说明的是,为了保证后期能够根据用户所选择的消息数据找到用户所需要回放的波形数据,因此,需要先将消息数据存储在tdms文件中的消息数据组别下,并将该消息数据组别中每个消息数据的通道名按照步骤s203索引出的消息序号命名,且每个消息数据本身和其通道名属于同一总线消息。

步骤s206:读取第二存储队列中的每个一维u32数组,并在每个一维u32数组中索引出消息序号。

需要说明的是,在第二存储队列中是以消息序号和波形数据组合为一维u32数组加入的,而在对一维u32数组进行存储时,是需要先读取第二存储队列中的每个一维u32数组,并在每个一维u32数组中索引出消息序号。

步骤s207:将一维u32数组中的波形数据存储于tdms文件中的波形数据组别,并将该波形数据组别中每个波形数据的通道名按照索引出的消息序号命名,每个波形数据本身和其通道名属于同一总线消息。

需要说明的是,由于在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名,且在读取波形数据时,是根据消息数据组别中用户所选择消息数据的通道名所对应消息序号读取波形数据组别中对应通道名下的波形数据,因此,在将一维u32数组中的波形数据存储于tdms文件中的波形数据组别时,将波形数据组别中每个波形数据的通道名按照步骤s206索引出的消息序号命名,使每个波形数据本身和波形数据通道名属于同一总线消息。

步骤s208:查询tdms文件中已存储的波形数据的数据量是否超过预设值,若否,则执行步骤s209,若是,则执行步骤s210。

需要说明的是,在对组合波形数据存储时,是将一维u32数组中的波形数据存储于波形数据组别,由于波形数据组别的波形数据的数据量较大,若将波形数据组别的波形数据存储在一个tdms文件中,将导致tdms文件过大,在对该tdms文件中的波形数据进行回放时,会因为波形数据量大导致回放波形数据时的等待时间较长,不方便读取。因此,为使文件大小合适,方便读取,可对每个tdms文件存储的波形数据量进行控制。具体地,在对波形数据存储时,可先查询tdms文件中的波形数据量是否超过预设值。在实际应用中,预设值以方便读取为标准设置。

步骤s209:在tdms文件中存储波形数据。

步骤s210:建立新的tdms文件存储总线数据。

需要说明的是,由于每个tdms文件中存储的波形数据量有限,而波形数据需要全部进行存储,以构成波形数据的完整性,因此,需要建立新的tdms文件存储的总线数据,从而保证波形数据的完整性,以及在对波形数据进行回放时,避免因波形数据的数据量过大导致用户出现长时间等待。

可选的,所有tdms文件的预先存储过程,还可以包括:

在对索引出的消息序号、一维字符串数组中的消息数据以及一维u32数组中的波形数据进行存储时,每累积n个消息序号、n个消息数据和n个波形数据时,进行一次存储。在实际应用中n的取值可根据实际需求灵活设置,如可设置为100、200等。

需要说明的是,将累积n个消息序号、n个消息数据和n个波形数据后,进行一次存储,可以提高对tdms文件的存储效率。

本发明实施例通过上述公开的数据处理方法,对总线数据中的波形数据和消息数据通过消息序号进行组合后分别存储,并在存储时都以消息序号作为组合波形数据和组合消息数据的通道名,从而提高了对总线数据的存储效率。

基于上述实施例公开的数据处理方法,图1示出的步骤s102中读取目标消息数据组别中存储的所有消息数据的具体实现过程,如图3所示,包括以下步骤:

步骤s301:获取目标消息序号组别,读取目标消息序号组别中所有的消息序号。

需要说明的是,由于tdms文件中包括有消息序号组别,因此,查询到目标tdms文件后,就可以在目标tdms文件中查找到目标消息序号组别。而在目标消息序号组别中包括多个消息序号,因此,在获得目标消息序号组别后,可以读取到目标消息序号组别中所有的消息序号。

步骤s302:在目标消息数据组别中获取目标消息序号组别中所有的消息序号对应的所有消息数据。

需要说明的是,由于在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名,且在对消息数据存储时,是以消息序号进行索引存储的,因此,可以通过目标消息序号组别中所有消息序号在目标消息数据组别中找到各消息序号所对应通道名下的所有消息数据。

步骤s303:将获取的所有消息数据进行分页处理,并在显示界面上显示所获取的所有消息数据。

需要说明的是,分页处理是将步骤s302获取的所有的消息数据进行排序,并将排序好的所有消息数据通过页面显示出来,在显示界面上,每一消息数据在页面上显示的位置信息则是唯一的,即一个显示位置对应一个消息数据。

本发明实施例通过获取目标消息序号组别,读取目标消息序号组别中所有的消息序号;在目标消息数据组别中获取目标消息序号组别中所有的消息序号对应的所有消息数据;将获取的所有消息数据进行分页处理,并在显示界面上显示所获取的所有消息数据。通过上述公开的数据处理方法,根据用户所选择的回放路径,获取存储在目标消息数据组别下的所有消息数据,最后在显示界面上显示。

基于上述实施例公开的数据处理方法,图1示出的步骤s104中目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示的具体实现过程,如图4所示,包括以下步骤:

步骤s401:确定索引得到的消息序号所对应的通道名。

需要说明的是,在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名,因此,需要得到波形数据,应先在得到消息序号后,确定目标消息序号组别中的消息序号所对应的通道名,即消息序号所对应的通道名。

步骤s402:从目标波形数据组别中获取所确定出的通道名下所有波形数据。

由于在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名,因此,可以通过消息序号所对应的通道名确定波形数据组别的通道名。而在对波形数据存储时,是将波形数据存储在波形数据组别的通道名下,因此可以通过目标波形数据组别的通道名获取到该通道名下的所有波形数据。

步骤s403:解析获取的所有波形数据,在显示界面显示解析波形数据后得到的波形。

需要说明的是,波形数据存储是以源码方式存储在txt格式或者bin格式文件中,因此需要对波形数据进行解析,从而获得波形,再将波形呈现给用户。

本发明实施例通过确定索引得到的消息序号所对应的通道名;从目标波形数据组别中获取所确定出的通道名下所有波形数据;解析获取的所有波形数据,在显示界面显示解析波形数据后得到的波形。通过上述公开的数据处理方法,根据索引得到消息序号所对应的通道名从目标波形数据组别中确定该通道名下所有的波形数据,在将波形数据进行解析和显示。使用户在回放波形数据时,缩短用户回放数据等待时间,从而提高了用户体验效果。

与上述本发明实施例提供的数据处理方法相对应,本发明实施例还提供了相应的数据处理装置,如图5所示,为本发明实施例公开的一种数据处理装置的结构示意图,该数据处理装置包括:

获取单元501,用于基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件,每个tdms文件包括:存储有消息序号的消息序号组别,存储有消息数据的消息数据组别,存储有波形数据的波形数据组别;每个tdms文件中所存储的消息序号、消息数据和波形数据来源于总线数据中相同的总线消息;在每个tdms文件中,消息序号组别中的消息序号同时对应作为消息数据组别的通道名和波形数据组别的通道名;

读取单元502,用于读取目标消息数据组别中存储的所有消息数据;所述目标消息数据组别为所述目标tdms文件包括的消息数据组别;

索引单元503,用于获取用户在所述目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号;所述目标消息序号组别为所述目标tdms文件包括的消息序号组别;

显示单元504,用于从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示;所述目标波形数据组别为所述目标tdms文件包括的波形数据组别。

可选的,所述数据处理装置,如图6所示,还包括:预存储单元;

所述预存储单元,包括:

拆包子单元601,用于拆包单元,用于获取总线数据,并对总线数据进行拆包处理,得到每一条总线消息的消息序号、消息数据和波形数据;

组合子单元602,用于将每一条总线消息的消息序号和消息数据组合为一维字符串数组并加入第一存储队列,将每一条总线消息的消息序号和波形数据组合为一维u32数组并加入第二存储队列;

第一索引子单元603,用于读取第一存储队列中的每个一维字符串数组,并在每个一维字符串数组中索引出消息序号;

第一存储子单元604,用于利用索引出的目标消息序号创建所述消息序号组别;

第二存储子单元605,用于将一维字符串数组中的消息数据存储于tdms文件中的消息数据组别,并将该消息数据组别中每个消息数据的通道名按照索引出的消息序号命名,每个消息数据本身和其通道名属于同一总线消息;

第二索引子单元606,用于读取第二存储队列中的每个一维u32数组,并在每个一维u32数组中索引出消息序号;

第三存储子单元607,用于将一维u32数组中的波形数据存储于tdms文件中的波形数据组别,并将该波形数据组别中每个波形数据的通道名按照索引出的消息序号命名,每个波形数据本身和其通道名属于同一总线消息;

查询新建子单元608,用于查询tdms文件中已存储的波形数据的数据量是否超过预设值;若是,则建立新的tdms文件存储总线数据。

可选的,所述数据处理装置,所述预存储单元还包括:累积子单元;

累积子单元,用于在对索引出的消息序号、一维字符串数组中的消息数据以及一维u32数组中的波形数据进行存储时,每累积n个消息序号、n个消息数据和n个波形数据时,进行一次存储。

可选的,如图7所示,所述读取单元502,包括:

读取子单元701,用于获取所述目标消息序号组别,读取所述目标消息序号组别中所有的消息序号;

获取子单元702,用于在所述目标消息数据组别中获取所述目标消息序号组别中所有的消息序号对应的所有消息数据;

第一显示子单元703,用于将获取的所有消息数据进行分页处理,并在显示界面上显示所获取的所有消息数据。

可选的,如图8所示,所述显示单元504,包括:

确定子单元801,用于确定索引得到的消息序号所对应的通道名;

获取子单元802,用于从所述目标波形数据组别中获取所确定出的通道名下的所有波形数据;

第二显示子单元803,用于解析获取的所有波形数据,在显示界面显示解析波形数据后得到的波形。

以上本发明实施例公开的一种数据处理装置中的各个模块单元具体执行过程以及执行原理,可参见本发明上述实施例公开的数据处理方法中有关数据处理的相应部分,这里就不再进行赘述。

本发明实施例通过获取单元基于消息回放指令信息从技术数据管理流tdms文件中查找目标tdms文件;读取单元读取目标消息数据组别中存储的所有消息数据;索引单元获取用户在所述目标消息数据组别中选择的消息数据的通道名,并利用获取的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号;显示单元从目标波形数据组别中读取索引得到的消息序号对应通道名下的所有波形数据,并将读取到的波形数据解析后回放显示。本发明实施例的技术方案,在用户需要回放波形数据时,可直接读取消息回放指令信息对应的目标tdms文件下目标消息数据组别中存储的所有消息数据,在用户选择消息数据后,可利用所选择的消息数据的通道名和目标消息序号组别索引得到与用户选择的消息数据对应的消息序号,并根据索引得到的消息序号从目标波形数据组别中获取波形数据,最后将读取到的波形数据回放显示出来。整个过程无需读取全部的波形数据,所以系统资源使用率低,一方面计算机能够同时响应其他操作,用户误操作后,也只需重新选择波形数据即可,不会造成系统卡死或系统崩溃,另一方面无需反复读取全部的波形数据也大大缩短了用户回放波形数据等待时间,从而提高了用户体验效果。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1