CN107832415B - 一种comtrade二进制数据文件的快速解析方法 - Google Patents
一种comtrade二进制数据文件的快速解析方法 Download PDFInfo
- Publication number
- CN107832415B CN107832415B CN201711086846.1A CN201711086846A CN107832415B CN 107832415 B CN107832415 B CN 107832415B CN 201711086846 A CN201711086846 A CN 201711086846A CN 107832415 B CN107832415 B CN 107832415B
- Authority
- CN
- China
- Prior art keywords
- byte
- newdata
- state quantity
- channel
- formal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种COMTRADE二进制数据文件的快速解析算法,首先判断所选取的状态量通道的状态信息在哪个字节中,设该字节为Sn,获得所选取的状态量通道在该字节Sn中的具***置forcal以及Sn的值newdata;然后根据对应字节Sn的值newdata及通道在字节Sn中的具***置forcal,通过简单的判断及减法运算确定所选取的状态量通道的状态信息。本发明的核心方法最多需要进行7次减法即可获得所选取的状态量通道的状态信息,大大的提高了效率,思路简单,易于编程实现。
Description
技术领域
本发明涉及电子***录波领域,更具体地,涉及一种COMTRADE二进制数据文件的快速解析方法。
背景技术
近年来,随着电子技术的快速发展,电力***暂态录波明显向高采样率、连续稳态记录和海量存储的趋势发展,这种录波数据海量化趋势已经给各种分析软件增加了不小的计算压力,其中最明显的就是海量录波记录文件解析时间过长而导致的软件效率低下。
为降低海量故障录波数据的存储空间及便于分析电网故障,研究人员分析研究特定的故障时,往往需要将与该故障相关的通道数据从整个数据文件中分离出来,形成新的与特定故障相关的特定数据文件。
IEEE制定的COMTRADE标准,定义了用于含有从电力***或电力***模型得到的暂态波形和事件数据的文件格式,该格式是为了提供一个用于交换数据的易于解释的格式,便于第三方的处理和分析。
COMTRADE标准规定与记录信息相关的文件有4个:头标文件、配置文件、数据文件和信息文件。其中,数据文件记录着每个采样通道中的每个采样数值。数据文件可以是美国标准信息交换码(ASCII)格式或二进制格式。
对于二进制格式的数据文件,采用数据流格式,字格式定义为较小的字节(LSB)在前,最有定义的字节MSB在后。二进制数据文件采用与ASCII数据文件相同的基本格式,但状态通道数据下述方法压缩。状态通道采样数据存储于分组的字节中,每两个字节用于16个状态通道中的每个通道,一个字的意义最小的位用于16个通道中最小的输入通道编号。这样,状态字1(S1)的位0(零位)是数字输入编号1的状态。而状态字2(S2)的位1是数字输入编号18的状态。如果状态通道不可被16除尽,较大的通道必须以零比特填充。
二进制数据文件相对于文本文件,具有占用存储空间较少、存储不存在转换时间(读写不要编解码,直接写值)的优点,有利于降低海量数据文件带来的不利影响,因而当前应用较为广泛。然而,COMTRADE二进制文件状态量的编译码规则较为复杂,将部分通道数据从数据文件中分离的过程中,若按传统的方法进行解析,存在耗时较长的问题。
发明内容
本发明的目的是解决按传统的方法对COMTRADE二进制文件状态量进行解析存在耗时较长的缺陷,提出一种COMTRADE二进制数据文件的快速解析方法。
为实现以上发明目的,采用的技术方案是:
一种COMTRADE二进制数据文件的快速解析方,包括以下步骤:
S1:判断所选取的状态量通道的状态信息在哪个字节中,设该字节为Sn,获得所选取的状态量通道在该字节Sn中的具***置forcal以及Sn的值newdata;
S2:根据对应字节Sn的值newdata及通道在字节Sn中的具***置forcal,通过简单的判断及减法运算确定所选取的状态量通道的状态信息。
优选的是,步骤S2所述forcal的大小范围为8>=forcal>=1,对应Sn的第forcal-1位。
优选的是,步骤S2所述的newdata的大小范围为255>=newdata>=0。
其中所述步骤S2包括以下步骤:
S2.1:令n=7;
S2.2:判断n=forcal-1是否成立,是则跳转到S2.5,否则跳转到S2.3;
S2.3:判断newdata是否大于等于2n,是则令newdata=newdata–2n,然后跳转到S2.4;否则直接跳转到S2.4;
S2.4:令n=n-1,然后跳转到S2.2;
S2.5:判断newdata是否大于等于2n,是则所选取的状态量通道的状态信息为1,否则所选取的状态量通道的状态信息为0,结束。
与现有技术相比,本发明的有益效果是:
本发明的核心方法最多需要进行7次减法即可获得所选取的状态量通道的状态信息,大大的提高了效率,思路简单,易于编程实现。
附图说明
图1为本方法的流程图。
图2为本发明与传统方法的效率对比图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
一种COMTRADE二进制数据文件的快速解析方,如图1所示,包括以下步骤:
S1:判断所选取的状态量通道的状态信息在哪个字节中,设该字节为Sn,获得所选取的状态量通道在该字节Sn中的具***置forcal以及Sn的值newdata;
S2:根据对应字节Sn的值newdata及通道在字节Sn中的具***置forcal,通过简单的判断及减法运算确定所选取的状态量通道的状态信息。
优选的是,步骤S2所述forcal的大小范围为8>=forcal>=1,对应Sn的第forcal-1位。
优选的是,步骤S2所述的newdata的大小范围为255>=newdata>=0。
其中所述步骤S2包括以下步骤:
S2.1:令n=7;
S2.2:判断n=forcal-1是否成立,是则跳转到S2.5,否则跳转到S2.3;
S2.3:判断newdata是否大于等于2n,是则令newdata=newdata–2n,然后跳转到S2.4;否则直接跳转到S2.4;
S2.4:令n=n-1,然后跳转到S2.2;
S2.5:判断newdata是否大于等于2n,是则所选取的状态量通道的状态信息为1,否则所选取的状态量通道的状态信息为0,结束。
本实施例采用国内某直流工程的现场录波数据,总通道数为821,其中模拟量通道数目为414,状态量通道数目为407。采样频率为8000Hz,每通道采样点数为56429。每次获取一个状态量通道的一个采样点的状态信息都必须执行一次算法。在本算例中,获得一个状态量通道的所有状态信息则需要执行56429次算法。比较结果如图2所示。从图2可见,选取的状态量通道数目较多时,传统方法耗时在百秒以上,如果需要解析多个文件,且选取的通道数目更多时,传统方法所耗时间剧增。本专利提出的算法相对传统方法效率提高了约150倍,能较好的解决耗时过长的问题。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (1)
1.一种COMTRADE二进制数据文件的快速解析方法 ,其特征在于,包括以下步骤:
S1:判断所选取的状态量通道的状态信息在哪个字节中,设该字节为Sn,获得所选取的状态量通道在该字节Sn中的具***置forcal以及Sn的值newdata;
S2:根据对应字节Sn的值newdata及通道在字节Sn中的具***置forcal,通过简单的判断及减法运算确定所选取的状态量通道的状态信息;
步骤S2所述forcal的大小范围为8>=forcal>=1,对应Sn的第forcal-1位;
步骤S2所述的newdata的大小范围为255>=newdata>=0;
步骤S2包括以下步骤:
S2.1:令n=7;
S2.2:判断n=forcal-1是否成立,是则跳转到S2.5,否则跳转到S2.3;
S2.3:判断newdata是否大于等于2n,是则令newdata=newdata–2n,然后跳转到S2.4;否则直接跳转到S2.4;
S2.4:令n=n-1,然后跳转到S2.2;
S2.5:判断newdata是否大于等于2n,是则所选取的状态量通道的状态信息为1,否则所选取的状态量通道的状态信息为0,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711086846.1A CN107832415B (zh) | 2017-11-07 | 2017-11-07 | 一种comtrade二进制数据文件的快速解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711086846.1A CN107832415B (zh) | 2017-11-07 | 2017-11-07 | 一种comtrade二进制数据文件的快速解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832415A CN107832415A (zh) | 2018-03-23 |
CN107832415B true CN107832415B (zh) | 2020-12-01 |
Family
ID=61654802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711086846.1A Active CN107832415B (zh) | 2017-11-07 | 2017-11-07 | 一种comtrade二进制数据文件的快速解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832415B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118793B (zh) * | 2022-06-14 | 2023-07-07 | 北京经纬恒润科技股份有限公司 | 一种blf文件解析容错方法、装置及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
CN101937032A (zh) * | 2010-07-14 | 2011-01-05 | 江苏金智科技股份有限公司 | 在继电保护装置中实现录波文件故障回放的方法 |
CN103164538A (zh) * | 2013-04-11 | 2013-06-19 | 深圳市华力特电气股份有限公司 | 一种数据解析方法和装置 |
CN105488058A (zh) * | 2014-09-17 | 2016-04-13 | 华中科技大学 | 一种电力***故障录波格式转换方法 |
-
2017
- 2017-11-07 CN CN201711086846.1A patent/CN107832415B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
CN101937032A (zh) * | 2010-07-14 | 2011-01-05 | 江苏金智科技股份有限公司 | 在继电保护装置中实现录波文件故障回放的方法 |
CN103164538A (zh) * | 2013-04-11 | 2013-06-19 | 深圳市华力特电气股份有限公司 | 一种数据解析方法和装置 |
CN105488058A (zh) * | 2014-09-17 | 2016-04-13 | 华中科技大学 | 一种电力***故障录波格式转换方法 |
Non-Patent Citations (2)
Title |
---|
COMTRADE格式数据文件的解析、显示及分析;蔡春雷 等;《中国计量协会冶金分会2009年会》;20090916;第248-253页 * |
基于COMTRADE 录波文件的单端离线测距方法;王力 等;《数字技术与应用》;20170731;第78-81页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107832415A (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7663511B2 (en) | Dynamic character encoding | |
CN107609350A (zh) | 一种二代测序数据分析平台的数据处理方法 | |
US7958133B2 (en) | Application conversion of source data | |
US20200294629A1 (en) | Gene sequencing data compression method and decompression method, system and computer-readable medium | |
CN102004678B (zh) | 操作***性能分析方法及装置 | |
CN107832415B (zh) | 一种comtrade二进制数据文件的快速解析方法 | |
US8542137B2 (en) | Decoding encoded data | |
CN113297208A (zh) | 数据处理方法及装置 | |
CN106021985A (zh) | 一种基因组数据压缩方法 | |
CN111308147B (zh) | 一种基于信息熵的数据采集装置 | |
CN113010503B (zh) | 一种基于深度学习的工程造价数据智能解析方法及*** | |
CN110021368B (zh) | 比对型基因测序数据压缩方法、***及计算机可读介质 | |
CN115495082B (zh) | Tlv格式数据自动转换方法及相关设备 | |
CN111814417A (zh) | 一种基于字符分隔值文件转换Verilog代码的方法 | |
JP6540340B2 (ja) | 関数呼び出し情報収集方法及び関数呼び出し情報収集プログラム | |
CN114726380B (zh) | 一种监测数据无损压缩方法、装置、设备及可读存储介质 | |
CN110021349B (zh) | 基因数据的编码方法 | |
CN115982436A (zh) | 一种流数据的高效检索、压缩***及压缩方法 | |
CN111370070B (zh) | 一种针对大数据基因测序文件的压缩处理方法 | |
CN105915228A (zh) | 自适应的混合的数据无损压缩方法 | |
US20190361909A1 (en) | Optimizing data conversion using pattern frequency | |
CN110797082A (zh) | 基因测序数据的存储读取方法及*** | |
CN110287147A (zh) | 一种字符串排序方法及装置 | |
CN108804542B (zh) | 一种基于内存运算的快速获取文件增量方法 | |
CN111061528B (zh) | 一种基于32bit数据位的简化编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |