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.一种记录报文数据的方法,其特征在于,所述方法包括:获取外部传感器发送的报文数据;以单条报文数据为基本压缩元素,对报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存中的报文数据。
【技术特征摘要】
1.一种记录报文数据的方法,其特征在于,所述方法包括:获取外部传感器发送的报文数据;以单条报文数据为基本压缩元素,对报文数据逐条进行流式压缩,对每条压缩后的报文数据进行缓存;每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,并清除缓存中的报文数据。2.根据权利要求1所述的方法,其特征在于,所述以单条报文数据为基本压缩元素,对生成的报文数据逐条进行流式压缩的方法为:每当接收一条报文数据时,如果当前缓存中有报文数据,则以当前缓存中的报文数据为参考数据,对当前接收的报文数据进行压缩,如果当前未缓存有报文数据,则不参考其它报文数据,直接对当前接收的报文数据进行压缩。3.根据权利要求1所述的方法,其特征在于,所述对每条压缩后的报文数据进行缓存,包括:将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述方法还包括:每当所述应用程序异常关闭时,将所述缓存中的报文数据写入预先建立的所述缓存对应的映射文件中;每当所述应用程序启动时,如果所述缓存对应的映射文件不为空,则将所述映射文件中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述映射文件。4.根据权利要求1所述的方法,其特征在于,所述对每条压缩后的报文数据进行缓存,包括:将每条压缩后的报文数据,写入所述应用程序调用的用于报文数据存储的缓存中;所述方法还包括:每当所述应用程序正常关闭时,清空所述缓存中的报文数据,每当所述应用程序异常关闭时,保留所述缓存中的报文数据;每当所述应用程序启动时,如果所述缓存不为空,则将所述缓存中的报文数据,标记为因应用程序异常关闭而丢失的报文数据,写入报文文件中,并清空所述缓存。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述每当缓存的报文数据满足预设导出条件时,将缓存的报文数据写入报文文件中,包括:每当缓存的报文数据的数据量达到预设阈值或在预设时长内未发...
【专利技术属性】
技术研发人员:尤淳,
申请(专利权)人:中国电子科技集团公司第十四研究所,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。