一种记录报文数据的方法和装置制造方法及图纸

技术编号:19139706 阅读:25 留言:0更新日期:2018-10-13 08:36
本发明专利技术涉及一种记录报文数据的方法和装置。所述方法获取外部传感器发送的报文数据;以单条报文数据为基本压缩元素,对报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存中的报文数据;所述装置中,获取模块用于获取应用程序生成的报文数据;缓存模块用于以单条报文数据为基本压缩元素,对生成的报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;写入模块用于每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中。发明专利技术每次压缩的数据量比较小,不会突发性的占用大量的处理资源,从而可以减少应用程序的卡顿。

A method and device for recording message data

The invention relates to a method and device for recording message data. The method obtains the message data sent by the external sensor, streams the message data one by one with a single message data as the basic compression element, caches the compressed message data of each message, and writes the cached message data into the message file whenever the cached message data meets the preset export condition. In the device, the acquisition module is used to obtain the message data generated by the application program; the cache module is used to compress the generated message data one by one with the single message data as the basic compression element, and cache the compressed message data of each one; and the write module is used for each compression element. When the cached message data meets the preset export condition, the cached message data is written to the message file. The invention invents that the amount of data compressed each time is relatively small and does not suddenly occupy a large amount of processing resources, thereby reducing the application's stuck.

【技术实现步骤摘要】
一种记录报文数据的方法和装置
本专利技术属于计算机
,具体涉及一种记录报文数据的方法和装置。
技术介绍
应用程序在运行的过程中接收外部传感器发出的外部数据。一般,基于技术人员的设置,应用程序在接收到一条报文后,记录一条报文数据。报文数据可以帮助技术人员对应用程序进行事后回放、运行状态分析和故障分析等。在早期的技术中,应用程序每生成一条报文数据时,就会将报文数据写入到报文文件中。将报文数据写入到报文文件的处理需要系统程序来执行,首先应用程序生成报文数据后可以向系统程序发送写入申请,然后由系统程序将报文数据写入报文文件中。上述处理过程中,每记录一条报文数据,就需要在应用程序处理和系统程序处理之间进行一次往复切换,而这种切换的时延很高。上述处理中,当缓存的报文数据达到一定数据量时,对缓存的多条报文数据进行整体压缩,这样,需要压缩的数据量比较大,会突发性地占用大量的处理资源,从而,会导致应用程序运行卡顿。
技术实现思路
本专利技术提出一种记录报文数据的方法和装置。为了解决上述技术问题,本专利技术提供一种记录报文数据的方法,所述方法包括:获取外部传感器发送的报文数据;以单条报文数据为基本压缩元素,对报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存中的报文数据。进一步,所述以单条报文数据为基本压缩元素,对生成的报文数据逐条进行流式压缩的方法为:每当接收一条报文数据时,如果当前缓存中有报文数据,则以当前缓存中的报文数据为参考数据,对当前接收的报文数据进行压缩,如果当前未缓存有报文数据,则不参考其它报文数据,直接对当前接收的报文数据进行压缩。进一步,所述对每条压缩后的报文数据进行缓存,包括:将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述方法还包括:每当所述应用程序异常关闭时,将所述缓存中的报文数据写入预先建立的所述缓存对应的映射文件中;每当所述应用程序启动时,如果所述缓存对应的映射文件不为空,则将所述映射文件中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述映射文件。进一步,所述对每条压缩后的报文数据进行缓存,包括:将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述方法还包括:每当所述应用程序正常关闭时,清空所述缓存中的报文数据,每当所述应用程序异常关闭时,保留所述缓存中的报文数据;每当所述应用程序启动时,如果所述缓存不为空,则将所述缓存中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述缓存。进一步,所述每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,包括:每当缓存的报文数据的数据量达到预设阈值或在预设时长内未发生变化时,将缓存的报文数据写入报文文件中本专利技术还提出一种记录报文数据的装置,所述装置包括:获取模块,用于获取应用程序生成的报文数据;缓存模块,用于以单条报文数据为基本压缩元素,对生成的报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;写入模块,用于每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存的报文数据。进一步,所述缓存模块,用于每当生成一条报文数据时,如果当前缓存有报文数据,则以当前缓存的报文数据为参考数据,对当前生成的报文数据进行压缩,如果当前未缓存有报文数据,则不参考其它报文数据,对当前生成的报文数据进行压缩。进一步,所述缓存模块,用于将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述缓存模块,还用于每当所述应用程序异常关闭时,将所述缓存中的报文数据写入预先建立的所述缓存对应的映射文件中;所述写入模块,还用于每当所述应用程序启动时,如果所述缓存对应的映射文件不为空,则将所述映射文件中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述映射文件。进一步,所述缓存模块,用于将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述缓存模块,还用于每当所述应用程序正常关闭时,清空所述缓存中的报文数据,每当所述应用程序异常关闭时,保留所述缓存中的报文数据;所述写入模块,还用于每当所述应用程序启动时,如果所述缓存不为空,则将所述缓存中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述缓存。进一步,所述写入模块,每当缓存的报文数据的数据量达到预设阅值或在预设时长内未发生变化时,将缓存的报文数据写入报文文件中。本专利技术与现有技术相比,其显著优点在于,本专利技术实施例中,采用流式压缩的方式,每生成一条报文数据即可以压缩一条报文数据,每次压缩的数据量比较小,不会突发性的占用大量的处理资源,从而,可以减少应用程序的卡顿。附图说明图1是本专利技术实施例提供的一种记录报文数据的方法的流程示意图;图2是本专利技术实施例提供的一种报文结构体的示意图;图3是本专利技术实施例提供的一种存在数据损坏的报文文件的示意图;图4是本专利技术实施例提供的一种记录报文数据的方法的流程示意图;图5是本专利技术实施例提供的一种记录报文数据的方法的流程示意图;图6是本专利技术实施例提供的一种记录报文数据的装置的结构示意图。具体实施方式容易理解,依据本专利技术的技术方案,在不变更本专利技术的实质精神的情况下,本领域的一般技术人员可以想象出本专利技术记录报文数据的方法和装置的多种实施方式。因此,以下具体实施方式和附图仅是对本专利技术的技术方案的示例性说明,而不应当视为本专利技术的全部或者视为对本专利技术技术方案的限制或限定。为了减少应用程序处理和系统程序处理之间的切换,本专利技术提出了一种新的记录报文数据的处理方式:应用程序每生成一条报文数据时,先对生成的报文数据进行缓存,当缓存的报文数据达到一定数据量时,对缓存的多条报文数据进行整体压缩,再将压缩后的报文数据写入报文文件。这样,将报文数据写入报文文件的频率降低,从而,应用程序处理和系统程序处理之间切换的频率也有所降低,可以降低处理过程的时延。本专利技术实施例提供了一种记录报文数据的方法,该方法可以由终端实现。其中,终端可以是服务器、台式计算机、笔记本计算机、虚拟化设备等,终端中安装有系统程序和应用程序。用户在使用终端的过程中,可以采用本专利技术实施例提供的方法,进行报文数据的记录,最终得到报文文件。该报文文件可以由终端上传给服务器,以提供给相应的技术人员和业务系统,技术人员可以基于报文文件对应用程序进行运行状态分析和故障分析等,业务系统可以基于报文文件进行统计分析、数据回放等。如图1所示,本专利技术一个实施例提供的记录报文数据的方法的处理流程可以包括如下的步骤:步骤101,获取外部传感器发(例如雷达、红外光电、预警卫星)送的外部报文数据。在应用程序运行的过程中,当接收到外部报文数据时,应用程序会调用外部报文接口并输入需要记录的外部报文数据。进而应用程序中负责报文记录的记录模块,对输入的外部报文数据进行内部报文格式化,为该数据添加文件名、函数名、时间戳、报文级别、消息号等信息,即可生成内部报文数据。应用程序每生成一条内部报文数据,则记录可以该条内部报文数据,进行后续的处理步骤102,以单条内部报文数据为本文档来自技高网...

【技术保护点】
1.一种记录报文数据的方法,其特征在于,所述方法包括:获取外部传感器发送的报文数据;以单条报文数据为基本压缩元素,对报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存中的报文数据。

【技术特征摘要】
1.一种记录报文数据的方法,其特征在于,所述方法包括:获取外部传感器发送的报文数据;以单条报文数据为基本压缩元素,对报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存中的报文数据。2.根据权利要求1所述的方法,其特征在于,所述以单条报文数据为基本压缩元素,对生成的报文数据逐条进行流式压缩的方法为:每当接收一条报文数据时,如果当前缓存中有报文数据,则以当前缓存中的报文数据为参考数据,对当前接收的报文数据进行压缩,如果当前未缓存有报文数据,则不参考其它报文数据,直接对当前接收的报文数据进行压缩。3.根据权利要求1所述的方法,其特征在于,所述对每条压缩后的报文数据进行缓存,包括:将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述方法还包括:每当所述应用程序异常关闭时,将所述缓存中的报文数据写入预先建立的所述缓存对应的映射文件中;每当所述应用程序启动时,如果所述缓存对应的映射文件不为空,则将所述映射文件中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述映射文件。4.根据权利要求1所述的方法,其特征在于,所述对每条压缩后的报文数据进行缓存,包括:将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述方法还包括:每当所述应用程序正常关闭时,清空所述缓存中的报文数据,每当所述应用程序异常关闭时,保留所述缓存中的报文数据;每当所述应用程序启动时,如果所述缓存不为空,则将所述缓存中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述缓存。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,包括:每当缓存的报文数据的数据量达到预设阈值或在预设时长内未发...

【专利技术属性】
技术研发人员:尤淳
申请(专利权)人:中国电子科技集团公司第十四研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1