一种通讯报文压缩存储方法

文档序号:7716389阅读:174来源:国知局
专利名称:一种通讯报文压缩存储方法
技术领域
本发明涉及一种通讯报文压缩存储技术。
背景技术
近几年来,随着微电子和信息技术的飞速发展,微机保护装置和微机监控系统在 变电站、电厂、矿场等场合开始普及与推广,同时也促进了以微处理器为核心的智能设备 (IED)在电力系统中的应用,数据化技术开始在变电站综合自动化系统工程中普及。数字化 变电站解决了一次设备之间、二次设备、一次和二次设备之间的信息交换性、互操作性、信 息共享性,传统上的模拟信号将被数据信号代替。为了确保电力系统的安全性,数字化变电站中几乎不存在未被监视的功能单元, 设备状态性量(性能和量化)的采集没有盲区。由于电力设备已经数字化,采用传统意义 上的设备定期检修方式已不再现实,而是通过对整个数字化变电站中所有功能单元的数字 通讯过程进行全部录取,来进行设备的状态检修、故障查找和分析。为对设备健康状态进行 评估,我们需要了解设备整个运行过程,而通讯报文是设备运行情况的最好依据,所以我们 需要对设备的整个报文过程进行录波,以备设备状态检修进行回顾分析。正常情况下,系统以固定时间间隔周期性地对报文进行采集和保存。在产生故障 期内,需要保存的报文信息量相对正常情况会急剧增加。具体地说,在发生故障时,需要对 事故点的前一段时间和事故点后一段时间内的所有通讯报文进行保存。这个时间段的长短 可能影响故障分析的正确性,一个事故点可能因数据保存不完全而不能正确分析,所以通 讯报文保存的时间段不能太短,但如果保存通讯报文的时间段太长,又会导致保存的信息 量过大,占用过多存储空间。在数字化变电站系统中,所需要面对数据信息量是无限的,而我们使用的存储空 间是有限的,一个数字化变电站小则包含几百台智能设备,多则上千台。所需存储的通讯报 文信息量随着时间推移是成等差增长,在出现故障时间段信息量可能会以等比方式增加, 所以再大的磁盘容量也有限的。而为了将通讯报文进行无损保存,利于快速恢复报文的原 始状态,在现有通讯系统中,都只对报文进行1 1的压缩,直接保存通讯报文的原生态,但 这样做的结果是导致需要保存的数据量非常大。为了减小通讯报文的所占用的存储空间,通常采用以下几种方式1、增大通讯报文采样间隔周期。如由原来的1秒钟收发报文一次减少为1分钟或 是5分钟一次。这样可以大量减少原始报文的输入量,以达到尽可能的少保存些数据包。采 用此方法的弊端是所存储的报文只能有部分连续,但不是完整报文的连续性,不能真实反 映设备整个通讯过程。设备的某些故障点就有可能存于两次报文之间,增大通讯报文采样 时间间隔,丢失故障报文的概率也相应大大提高,尤其对于那些故障录波报文的分析,更是 不可取的方法。2、减小事故点记录报文时间段。然而如果时间段设置过短,则一个事故点可能因 数据保存不完全而不能正确分析。
3、只记录越限或变位时刻的报文信息(限值或变位保存)。即当通讯报文中发现 越限参数(超过预设限值)或变位参数时,系统对此时的通讯报文进行保存。限值变位保 存法在整个系统正常运行时,几乎不存在需要保存通讯报文,报文压缩比例是无穷大。即使 在出现少量限值量或变位信息时,通讯报文的存储量也是非常小,只占所有通讯报文的很 小比例。但在越限信息出现的高发时段或频繁发送变位信息时,整个通讯报文压缩保存比 例仍然要接近1 1。并且,限值或变位保存法相当于只是对一个通讯报文的峰值进行保 存,实质上并未保存整个通讯报文的过程,没连续性的通讯报文,是无法分析整个通讯报文 故障发展趋势的。另外,该种方式对通讯报文误码并未进行保存,在通讯误码高发时段,我 们无法通过原始报文分析当前通讯报文误码率高发的原因。4、采用现有的压缩方式对通讯报文压缩。由于通讯报文的结构有其特殊性,采用 现有的压缩方式对通讯报文进行压缩,所得到的压缩比接近于1,压缩效果不明显。由此可见,一种针对通讯报文的有效的压缩存储方法对于现有的数字化电力系统 十分重要。

发明内容
本发明主要解决的技术问题是提供一种通讯报文压缩存储方法,使其在不损伤通 讯报文内容的情况下,有效压缩通讯报文,使用更少的空间存储通讯报文。为了解决上述技术问题,本发明提供了一种通讯报文压缩存储方法,包含以下步 骤A保存各规约中各类通讯报文对应的格式,所述格式由对应的格式特征码构成,为 所述各规约中每类通讯报文设置一个对应的类别标示符;B在获取需要存储的通讯报文时,确定该通讯报文所属的规约和报文类别;C从该通讯报文中找到该规约中该类别报文的格式特征码,去除或替换所述格式 特征码,并在该通讯报文中添加对应的类别标示符;D存储所述包含类别标示符的通讯报文。作为上述技术方案的改进,所述步骤A中,还保存各规约中每类通讯报文的格式 特征码对应的操作,所述操作包含去除指定格式特征码、或将预设字符替换指定的格式特 征码;所述步骤C中,根据所述保存的操作,对所述通讯报文的格式特征码进行去除或 替换操作。作为上述技术方案的改进,所述格式特征码包含用于限制报文格式的各类字符标 示,至少包含以下之一或其任意组合同步字、字节长度、校验码、结束符、请求标示、应答确认标示、错误响应标示。作为上述技术方案的改进,所述步骤C之后,还包含以下步骤对所述通讯报文中除格式特征码之外的部分进行二次压缩;所述步骤D中,保存二次压缩后的通讯报文。作为上述技术方案的改进,所述二次压缩方式为预先保存所述通讯报文中可能出现重复的数据内容,为每个数据内容对应一个索 引号,形成数据词典;
在进行二次压缩时,查找所述数据词典,将所述通讯报文中相应的数据内容替换 为对应的索引号。作为上述技术方案的改进,所述二次压缩方式为将本帧通讯报文的数据内容与前帧通讯报文的数据内容相比较;仅保存有区别的部分数据及所述数据在通讯报文中的位置。作为上述技术方案的改进,所述二次压缩方式为将本帧通讯报文的数据内容与标准报文数据内容相比较,得到本帧通讯报文中各 数据的浮动差值;保存本帧通讯报文中各数据的浮动差值;所述标准报文数据内容为前续收到某帧通讯报文的数据内容,或为预设的固定数 据内容,或为通过对前续通讯报文进行分析得到的最接近当前通讯报文数据的数据内容。作为上述技术方案的改进,所述各规约包含的通讯报文类别包括以下之一或其任 意组合请求报文帧、数据报文帧、应答确认报文帧、错误响应报文帧、误码报文帧;所述误码报文帧不包含格式特征码,所述步骤C中,直接在所述误码报文帧中添 加对应误码报文的类别标识符。作为上述技术方案的改进,所述步骤D中,将同一规约下的通讯报文保存在一个 文件中,对应一个规约标示。作为上述技术方案的改进,在需要恢复所述通讯报文时,根据所存储的报文中的 类别标示符,确定该报文所属的规约和报文类别,去除所述报文中的类别标示符,根据所保 存的报文格式,在所述报文中添加或替换对应的格式特征码,恢复为原始通讯报文。本发明实施方式与现有技术相比,主要区别及其效果在于利用通讯报文的特性, 在存储报文时,将用于限制通讯报文格式的格式特征码去除或替换为更简短的预设字符, 来达到减少通讯报文中与存储无关的冗余信息的效果,在不损伤通讯报文内容的情况下, 有效压缩通讯报文,使用更少的空间存储相同数量的通讯报文。对通讯报文进行二次压缩,根据不同类别通讯报文的特性,采用最合适的二次压 缩方式,包括字典压缩、差值压缩、偏值压缩等,在去除格式特征码的基础上进一步缩小通 讯报文数据内容所占的存储空间,通过有针对性地使用二次压缩方式,使得二次压缩的效 果达到最好。


下面结合附图和具体实施方式
对本发明作进一步详细说明。图1是本发明一较佳实施方式的通讯报文压缩存储方法流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施 方式作进一步地详细描述。本发明一较佳实施方式涉及一种通讯报文压缩存储方法。一般而言,通讯报文包含请求报文、数据报文、应答确认报文、错误响应报文、误码 报文等几类,每类报文有其对应的格式。不同规约下的通讯报文的类别可能有所不同,通讯报文的格式亦各不相同。在本实施方式中,需要预先保存各类规约中各类通讯报文的格 式,其格式由对应的格式特征码构成,包含同步字、字节长度、校验码、结束符、请求标示、应 答确认标示、错误响应标示等。以中华人民共和国电力行业标准DL/T 698.41(电能信息采 集管理系统部分)的数据报文 68 92 00 92 00 68 C4 01 35 64 00 02 FC E8 27 101001 48 15 17 09 09 00 00 57 00 00 00 00 57 00 00 00 00 00 48 41 48 15 17 OlBE 16 为例,其中68 92 00 92 00 68为报文头,报文头中“68”为同步字,共2个同步字;92 00 为字节长度,重复一次;C4 01 35 64 00 02 FC E8 27 101001 48 15 17 09 09 00 00 57 00 00 00 00 57 00 00 00 00 00 48 41 48 15 17 01 为数据区域;BE 为校验码;16 为结 束符。可见,DL/T 698. 41数据报文的格式为“68+字节长度+68+数据区域+校验码+16”。 本实施方式中可以设置专门的格式特征库,保存各类规约中各种通讯报文的格式,并且为 每个格式特征码设置对应的操作,以进行报文的压缩存储。如在压缩存储时去除该格式特 征码,或者用预设的字符替换该格式特征码等等。在上述例子中,格式特征码68、16对应的 操作可以为“删除”。另外,还需为每个类别的通讯报文设置一个类别标示符,同一规约中不 同类别的通讯报文对应不同的类别标示符。不同规约中的通讯报文类别标示符可以重复或 不重复,具体由是否设置规约标示,及存储的方式确定。如可以将从同一通讯设备收到的通 讯报文(符合同一规约)保存在一个文件中,在该文件中保存对应该规约的标示信息,采用 该种方式保存,则不同规约的类别标示符可以重复。具体的通讯报文压缩存储方法如图1所示。在步骤101中,系统获取通讯报文,一般对通讯设备进行报文通讯采集,在采集端 进行报文抓取。另一方法是对通讯报文进行侦听,即在通讯链路中进行双方通讯报文侦听。在步骤102中,确定该通讯报文所属的规约,并分析其报文类别。在步骤103中,根据该通讯报文所属的规约和报文类别对应的报文格式,从该通 讯报文中提取格式特征码,根据预先设置的操作,去除或替换其格式特征码,并在该通讯报 文的最前端添加对应的类别标示符。以 DL/T 698. 41 的数据报文 68 92 00 92 00 68 C4 01 35 64 00 02 FC E8 2710 10 01 48 15 17 09 09 00 00 57 00 00 00 00 57 00 00 00 00 00 48 41 48 15 1701
BE 16为例,在获取该报文后,分析并确定其所属的规约和报文类别,以确定其报文格式 “68+字节长度+68+数据区域+校验码+16”,根据预设的操作删除其中的格式特征码68 (同 步字)和16 (结束符),并在其报文最前端添加对应的类别标示符,类别标示符一般为一个 字节或两个字节长度。通过删除或者替换格式特征码,可以减少大量的报文存储空间,格式 特征码对于传输中的报文而言是必须的,但对于存储状态下的报文而言是冗余的,通过将 这些冗余信息去除,可以实现通讯报文的无损压缩。假设一台通讯设备每2秒钟收发一组DL/T 698的报文,在所有通讯报文误码率为 0的条件下,以一天收发报文的容量为基准,报文压缩字节总数计算公式如下
报文压缩字节总数=(1 _误码率%) χX报文组数X报文压缩数
报文间隔时间(秒)
报文压缩字节总数=(1 - 0%) X 24χ62°χ6° X 2 X 5 = 432000历 = 421.875/
通过以下报文压缩字节总数计算可得知一天可将报文压缩掉432000个字节,约 为 422kb0对于请求报文、应答确认报文、错误响应报文等类别的通讯报文,由于报文整体基 本上都是由格式特征码构成,因此压缩比例更高。如对于应答确认报文,可以直接将其应答 确认标示删除,仅在报文中保留一个表示应答确认的类别标示符,压缩比例接近90%例如DL/T 698规约中的链路层确认帧报文,其格式为报文头+控制字+地址域 +校验码+结束符,假设收到两条该类别的报文,报文一 681A001A0068 80 01356400001A 16,报文二 681A001A0068 C10135640000 5B 16。
权利要求
1.一种通讯报文压缩存储方法,其特征在于,包含以下步骤A保存各规约中各类通讯报文对应的格式,所述格式由对应的格式特征码构成,为所述 各规约中每类通讯报文设置一个对应的类别标示符;B在获取需要存储的通讯报文时,确定该通讯报文所属的规约和报文类别; C从该通讯报文中找到该规约中该类别报文的格式特征码,去除或替换所述格式特征 码,并在该通讯报文中添加对应的类别标示符; D存储所述包含类别标示符的通讯报文。
2.根据权利要求1所述的通讯报文压缩存储方法,其特征在于,所述步骤A中,还保存 各规约中每类通讯报文的格式特征码对应的操作,所述操作包含去除指定格式特征码、或 将预设字符替换指定的格式特征码;所述步骤C中,根据所述保存的操作,对所述通讯报文的格式特征码进行去除或替换 操作。
3.根据权利要求1所述的通讯报文压缩存储方法,其特征在于,所述格式特征码包含 用于限制报文格式的各类字符标示,至少包含以下之一或其任意组合同步字、字节长度、校验码、结束符、请求标示、应答确认标示、错误响应标示。
4.根据权利要求1所述的通讯报文压缩存储方法,其特征在于,所述步骤C之后,还包 含以下步骤对所述通讯报文中除格式特征码之外的部分进行二次压缩; 所述步骤D中,保存二次压缩后的通讯报文。
5.根据权利要求4所述的通讯报文压缩存储方法,其特征在于,所述二次压缩方式为 预先保存所述通讯报文中可能出现重复的数据内容,为每个数据内容对应一个索引号,形成数据词典;在进行二次压缩时,查找所述数据词典,将所述通讯报文中相应的数据内容替换为对 应的索引号。
6.根据权利要求4所述的通讯报文压缩存储方法,其特征在于,所述二次压缩方式为 将本帧通讯报文的数据内容与前帧通讯报文的数据内容相比较;仅保存有区别的部分数据及所述数据在通讯报文中的位置。
7.根据权利要求4所述的通讯报文压缩存储方法,其特征在于,所述二次压缩方式为 将本帧通讯报文的数据内容与标准报文数据内容相比较,得到本帧通讯报文中各数据的浮动差值;保存本帧通讯报文中各数据的浮动差值;所述标准报文数据内容为前续收到某帧通讯报文的数据内容,或为预设的固定数据内 容,或为通过对前续通讯报文进行分析得到的最接近当前通讯报文数据的数据内容。
8.根据权利要求1所述的通讯报文压缩存储方法,其特征在于,所述各规约包含的通 讯报文类别包括以下之一或其任意组合请求报文帧、数据报文帧、应答确认报文帧、错误 响应报文帧、误码报文帧;所述误码报文帧不包含格式特征码,所述步骤C中,直接在所述误码报文帧中添加对 应误码报文的类别标识符。
9.根据权利要求1所述的通讯报文压缩存储方法,其特征在于,所述步骤D中,将同一规约下的通讯报文保存在一个文件中,对应一个规约标示。
10.根据权利要求1至9中任意一项所述的通讯报文压缩存储方法,其特征在于, 在需要恢复所述通讯报文时,根据所存储的报文中的类别标示符,确定该报文所属的 规约和报文类别,去除所述报文中的类别标示符,根据所保存的报文格式,在所述报文中添 加或替换对应的格式特征码,恢复为原始通讯报文。
全文摘要
本发明公开了一种通讯报文压缩存储方法,利用通讯报文的特性,在存储报文时,将用于限制通讯报文格式的格式特征码去除或替换为更简短的预设字符,来达到减少通讯报文中与存储无关的冗余信息的效果,在不损伤通讯报文内容的情况下,有效压缩通讯报文,使用更少的空间存储等量的通讯报文。还对通讯报文进行二次压缩,根据不同类别通讯报文的特性,采用最合适的二次压缩方式,包括字典压缩、差值压缩、偏值压缩等,在去除格式特征码的基础上进一步缩小通讯报文数据内容所占的存储空间,通过有针对性地使用二次压缩方式,使得二次压缩的效果达到最好。
文档编号H04L1/00GK102118293SQ20091020206
公开日2011年7月6日 申请日期2009年12月30日 优先权日2009年12月30日
发明者叶海明, 梁俊, 楼凤丹, 毛以军, 郑翔 申请人:上海可鲁系统软件有限公司, 衢州电力局
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1