CN104516953B - 一种用于电力调度自动化海量报文的黑匣子*** - Google Patents
一种用于电力调度自动化海量报文的黑匣子*** Download PDFInfo
- Publication number
- CN104516953B CN104516953B CN201410770675.4A CN201410770675A CN104516953B CN 104516953 B CN104516953 B CN 104516953B CN 201410770675 A CN201410770675 A CN 201410770675A CN 104516953 B CN104516953 B CN 104516953B
- Authority
- CN
- China
- Prior art keywords
- message
- file
- index
- black box
- log
- 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
- 238000004458 analytical method Methods 0.000 claims abstract description 25
- 238000012360 testing method Methods 0.000 claims description 45
- 238000012795 verification Methods 0.000 claims description 21
- 239000012634 fragment Substances 0.000 claims description 15
- 230000002123 temporal effect Effects 0.000 claims description 3
- 230000006854 communication Effects 0.000 abstract description 18
- 238000004891 communication Methods 0.000 abstract description 16
- 238000000034 method Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 abstract description 5
- 238000004321 preservation Methods 0.000 abstract description 4
- 241001269238 Data Species 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000011835 investigation Methods 0.000 abstract description 3
- 230000004807 localization Effects 0.000 abstract description 3
- 230000007257 malfunction Effects 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
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/14—Details of searching files based on file metadata
-
- 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/13—File access structures, e.g. distributed indices
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
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)
- Power Engineering (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种用于电力调度自动化海量报文的黑匣子***,本发明涉及一种黑匣子***。目前,已有的网络通信黑匣子或网络通信记录装置基本上只是实现了网络通信报文的存储,并没有支持多维查询的索引机制。本发明包括:报文存储模块;报文索引模块;报文查询模块;报文分析模块;业务语义信息展示模块。本技术方案可以完整真实的保存电力调度自动化网络交互过程的所有报文数据,在后续故障定位时,可以快速按需查询网络通信报文用于故障定位;且查询的报文经黑匣子分析之后,能将详细的语义信息清晰的展示给用户,对排查故障起了很大的帮助。
Description
技术领域
本发明涉及一种黑匣子***,尤指一种用于电力调度自动化海量报文的黑匣子***。
背景技术
随着电力***和计算机技术、通信技术、控制技术的发展,变电站自动化***走向了数字化的时代。IECTC57的第3工作组(WG03)在IEC60870-5的基础上制订了一系列的配套标准,IEC60870-5-101用于常规远动,IEC60870-5-102用于电能累计量传输,IEC60870-5-103用于继电保护信息传输,IEC60870-5-104则是IEC60870-5-101在TCPIP上的应用。随着电子式互感器、智能断路器、通信技术的发展,推动着IEC61850标准的制定。变电站自动化***中,通信***是信息利用和流动的枢纽,通信***的信息吞吐、处理能力、开放程度和运行可靠性是变电站自动化***的主要指标。
数字化变电站中,原先传送模拟量和开关量的大量错综复杂的电缆被一些网络设备和网线光纤所代替,信息的交互由基于硬接线方式改为TCPIP网络通讯方式实现。智能电子设备和通信网络的健康状况将直接影响整个数字化变电站的安全运行。TCPIP网络报文的收发异常或故障均可能导致电力***重大事故。近两年来,调度自动化***在运行中出现了较多异常现象,部分异常现象甚至影响了电网调度运行和集中监控。几年来的自动化运行分析报告显示,除常规功能性缺陷外,仍有大量异常现象难以确定具体原因,只能给出初步判断,不利于调度自动化***异常的消除,成为提升调度自动化***运行水平的瓶颈。
为此如何能完整的记录整个电力调度自动化***中各智能单元之间的通信过程,回放和审视整个通信过程,为事后事故分析提供依据,成为基于IEC60870-5标准的新型数字化变电站急需解决的问题。
现有的技术中有:
1、论文[1]:记录设备的原理框图如图1所示。之所以采用无损记录方式以确保被监听通信报文的完整记录,而没有采用中央处理器(CPU)方式的原因是:当记录多个网口通信时,由于操作***采用分时或中断处理方式,不能确保被监听网络通信在短报文高负载或突变通信流量下形成完整的记录。其只是实现了网络通信数据的实时保存,并没有构建索引,也没有按需查询与展示的功能。
2、专利[2]公开了一种网络通信记录和分析***,如图2所示。其将按时间周期性的形成的文件存入到存储模块24,各报文文件可根据其来源端口及时标信息等进行命名。存储模块24每存储一个报文文件,均将该报文文件的文件名经通信模块25传送至信息分析设备30。专利按来源端口周期性的记录成报文文件,实际上已部分改变记录的网络场景,如不同来源端口的报文会相互影响,无法还原完整的故障场景。只是简单的根据端口来建立索引,无法满足多维查询的要求。
3、专利[3]公开了一种用于数字化变电站网络通信记录装置的存储***软件***框图,如图3所示。其将采集的报文记录数据存入存储***,数据防篡改模块对数据进行处理。专利[3]相对于论文[1]和专利[2]中公开的技术而言,只是增加了数据防篡改处理。该专利也没有索引机制和查询功能。
从论文[1]、专利[2]和专利[3]公开的技术可以看出,已有的网络通信黑匣子或网络通信记录装置基本上只是实现了网络通信报文的存储,并没有支持多维查询的索引机制。
论文[1]:名称为:数字化变电站中网络通信黑匣子的设计和应用,选自:电力***自动化,2008,Vol32,No17,92-94。
专利[2]:名称为:基于IEC61850变电站自动化***的网络通信记录分析***及方法,申请号:2008101329684。
专利[3]:名称为:一种用于数字化变电站网络通信记录装置的存储***,专利号:201220142985.8。
发明内容
本发明要解决的技术问题和提出的技术任务是对现有技术方案进行完善与改进,提供一种用于电力调度自动化海量报文的黑匣子***,以达到高效查询存储的报文的目的。为此,本发明采取以下技术方案。
一种用于电力调度自动化海量报文的黑匣子***,其特征在于包括:
报文存储模块:实时接收报文,按照到达黑匣子的电力调度自动化报文时序顺序存储,存储格式为文件或者数据库;对于文件格式,按时间周期或报文数量或报文文件大小或三种方式组合来根据时序分写成多个文件;
报文索引模块:基于协议或者应用的语义设置索引字段,使用MD-tree在内存和硬盘上构建内存索引和文件索引;
报文查询模块:接受用户的查询请求,查询报文索引模块中构建的内存索引和文件索引,获取符合查询请求的报文或报文在报文文件中的位置及长度,将其返回给用户;若是返回给用户的为报文,用户可以直接用于后续分析;若是返回给用户的为报文在报文文件中的位置及长度,用户根据其获取报文,用于后续分析;
报文分析模块:读取报文查询模块获取的报文文件,解析报文二层、三层、四层直至应用层的所有语义信息;
业务语义信息展示模块:获取报文分析模块解析的不同协议和应用语义信息,通过用户界面形式展示给用户。
本技术方案可以完整真实的保存电力调度自动化网络交互过程的所有报文数据,该黑匣子采用加密校验值防篡改报文,基于认证方式,保证了数据的写入和查询访问的安全性。为解决发生电力故障时责任到人奠定了基础。多维索引文件的构建,在后续故障定位时,可以快速按需查询网络通信报文用于故障定位;且查询的报文经黑匣子分析之后,能将详细的语义信息清晰的展示给用户,对排查故障起了很大的帮助。
作为对上述技术方案的进一步完善和补充,本发明还包括以下附加技术特征。
报文存储模块将文件种类包括:
a)报文文件:报文文件为时戳.dat,其对应的0索引文件为:时戳.idx0、时戳.idx1,时戳.idx1对应的日志文件为时戳.log;
b)报文文件的清单文件:报文文件的清单文件为manifest.dat,写入的内容为报文文件名,即:时戳.dat;
c)日志文件的清单文件:日志文件的清单文件为manifest.log,写入的内容为尚未成功构建1索引文件对应的日志文件名,为时戳.log;若时戳.log对应的1索引文件时戳.idx1已成功构建,则在manifest.log中去除时戳.log记录。
当黑匣子***接收到首个网络通信报文时,黑匣子报文存储模块创建当前报文文件:*.dat,黑匣子报文索引模块创建当前0索引文件:*.idx0,当前1索引文件*.idx1及其日志为*.log;黑匣子报文索引模块将当前报文文件文件名*.dat写入报文文件的清单文件manifest.dat,将当前1索引文件的日志文件名*.log写入日志文件的清单文件manifest.log;后续依据报文文件的清单文件manifest.dat中的报文文件名,访问黑匣子记录的所有报文文件,或按时间范围初步查询到报文所在的报文文件;后续依据日志文件的清单文件manifest.log中的报文文件名,访问到未构建完成的1索引文件对应的日志文件,依据日志文件可以重建其对应的1索引文件。
黑匣子报文存储模块按报文到达时序将报文及其实时计算的报文加密校验值顺序写入到当前报文文件,即:*.dat,将当前报文时戳、报文文件偏移、报文长度、业务类型、源IP、目的IP、应用类型提交给黑匣子报文索引模块;黑匣子报文索引模块将报文时戳、报文文件偏移,报文长度顺序写入当前0索引文件*.idx0,产生报文文件中的报文序号seq_id;将报文序号seq_id、业务类型、源IP、目的IP、应用类型顺序写入当前日志文件*.log,同时使用MD-tree在内存中构建内存索引,达到内存阈值后,写入到当前1索引文件*.idx1;对于1索引文件的写入,若黑匣子***内存大到足以存储当前报文文件的1索引文件的所有索引时,使用MD-tree构建内存索引,在更新报文文件时,一次性将内存索引写入到1索引文件中。
为时间周期、报文数量或报文文件大小设置对应的三个阈值,当任意一个阈值达到时,黑匣子报文存储模块结束当前报文文件*.dat写入,创建下一个报文文件*’.dat;同时,索引模块创建0索引文件*’.idx0、1索引文件*’.idx1及其日志为*’.log;黑匣子报文索引模块将报文文件文件名*’.dat写入报文文件的清单文件manifest.dat,将1索引文件的日志文件名*’.log写入日志文件的清单文件manifest.log;对于本次报文,当前报文文件更新为*’.dat,当前0索引文件为*’.idx0,当前1索引文件为*’.idx1及其日志为*’.log;对于老的日志文件*.log,索引模块将内存中的MD-tree内存索引写入到1索引文件*.idx1中,删除日志文件的清单文件manifest.log中的*.log记录。
黑匣子在写入报文时,需要写入三个文件,即:报文文件,0索引文件和1索引文件的日志文件,间隙性地更新1索引文件;在更新存储报文文件时,更新报文文件的清单文件manifest.dat和当前1索引文件和日志文件的清单文件manifest.log。
黑匣子报文查询模块提供多维数据查询;多维数据包括业务、源IP、目的IP、应用类型、应用数据片段、时间范围中的一种或多种组合。
查询报文时,若需查询当前索引,从MD-tree内存索引和1索引文件中查询报文,否则从1索引文件中查询;
当仅为时间范围查询时,先访问报文文件的清单文件manifest.dat,确定起始时间对应的首个报文文件和结束时间对应的末尾报文文件,再访问首个报文文件的0索引文件,查找起始时间对应的首个报文的报文文件偏移、报文长度,从首个报文文件中依据报文文件偏移和报文长度获取报文内容,使用报文加密校验值对其校验,若校验通过,将该报文输出到结果报文缓存或结果报文文件;访问末尾报文文件的0索引文件,查找结束时间对应的末尾报文的报文文件偏移,报文长度,从末尾报文文件中依据报文文件偏移和报文长度获取报文内容,使用报文加密校验值对其校验,若校验通过,将该报文输出到结果报文缓存或结果报文文件;对首个报文和末尾报文之间的报文,按序对报文文件中的文件校验其报文加密校验值,若校验通过,将该报文输出到结果报文缓存或结果报文文件;
当按业务、源IP、目的IP、应用类型、应用数据片段、时间范围查询时,访问报文文件的清单文件manifest.dat,确定起始时间对应的首个报文文件和结束时间对应的末尾报文文件,再访问首个报文文件的1索引文件,依据对应的业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中获取时戳符合时间范围的列表,依据列表中的报文文件偏移、报文长度从首个报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件;
对于结果报文,报文分析模块将报文应用数据根据业务协议规约作进一步解析,然后将解析结果提交给业务语义信息展示模块,直观的展示给用户;用户可选择将结果报文导出备份。
顺序访问首个报文文件和末尾报文文件之间的报文文件,访问报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中列表,依据列表中的报文文件偏移、报文长度从报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件;
访问末尾报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中获取时戳符合时间范围的列表,依据列表中的报文文件偏移、报文长度从首个报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件。
电力自动化海量报文黑匣子出现异常掉电时,黑匣子索引恢复模块首先从日志清单文件manifest.log中访问索引日志文件名,对于非当前1索引日志文件,读取日志文件中的内容重建该日志对应的1索引文件,构建成功后,将该日志文件名从manifest.log中清除。实现黑匣子***异常掉电重启后最新多维索引文件的重建。
有益效果:
本技术方案完整真实的保存电力调度自动化网络交互过程的所有报文数据,采用加密校验值防篡改报文,基于认证方式,保证了数据的写入和查询访问的安全性,为解决发生电力故障时责任到人的难题奠定了基础。多维索引文件的构建,在后续故障定位时,可以快速按需查询网络通信报文用于故障定位;且查询的报文经黑匣子分析之后,能将详细的语义信息清晰的展示给用户,对排查故障起了很大的帮助。
附图说明
图1是现有的通信黑匣子图。
图2是现有的网络通信和分析***结构图。
图3是现有的数字化变电站网络通信记录装置的存储***软件***结构图。
图4是本发明***结构图。
图5是本发明数据存储索引构建工作流程图。
图6是本发明数据分析还原工作流程图。
具体实施方式
以下结合说明书附图对本发明的技术方案做进一步的详细说明。
本发明包括报文存储模块、报文索引模块、报文查询模块、报文分析模块和业务语义信息展示模块。
报文存储模块实时接收报文,严格按照到达黑匣子的电力调度自动化报文时序顺序存储,存储格式上可以是文件或者数据库。对于文件格式,可按时间周期或报文数量或报文文件大小或三种方式组合来根据时序分写成多个文件。
报文索引模块对从报文中可以基于协议或者应用的语义设置索引字段,使用MD-tree在内存和硬盘上构建内存索引和文件索引。
报文查询模块,接受用户的查询请求,查询报文索引模块中构建的内存索引和文件索引,高效获取符合查询请求的报文或报文在报文文件中的位置及长度,将其返回给用户。若是返回给用户为报文,用户可以直接用于后续分析;若是返回给用户的为报文在报文文件中的位置及长度,用户根据其获取报文,用于后续分析。
报文分析模块读取报文查询模块获取的报文文件,解析报文二层、三层、四层直至应用层的所有语义信息。
业务语义信息展示模块获取报文分析模块解析的不同协议和应用语义信息,通过UI形式展示给用户。
***工作步骤,如图4所示:接收报文,报文周期性的写入按时戳命名的报文文件、按时戳命名的文件名写入清单文件、根据清单文件和报文信息构建索引。
本发明设计的文件种类有:
1、报文文件:时戳.dat,其对应的0索引文件为:时戳.idx0、时戳.idx1,时戳.idx1对应的日志文件为时戳.log。
2、报文文件的清单文件为:manifest.dat,写入的内容为报文文件名,即:时戳.dat。
3、日志文件的清单文件为:manifest.log,写入的内容为尚未成功构建1索引文件对应的日志文件名,如:时戳.log。若时戳.log对应的1索引文件时戳.idx1已成功构建,则需在manifest.log中去除时戳.log记录。
以下时戳以201409182033234、201409182233234为例说明工作过程。
黑匣子***接收到首个网络通信报文时,黑匣子报文存储模块创建当前报文文件:201409182033234.dat,黑匣子报文索引模块创建当前0索引文件:201409182033234.idx0,当前1索引文件201409182033234.idx1及其日志为201409182033234.log。黑匣子报文索引模块将当前报文文件文件名201409182033234.dat写入报文文件的清单文件manifest.dat,将当前1索引文件的日志文件名201409182033234.log写入日志文件的清单文件manifest.log。后续依据报文文件的清单文件manifest.dat中的报文文件名,就可以访问黑匣子记录的所有报文文件,也可以按时间范围初步查询到报文所在的报文文件。后续依据日志文件的清单文件manifest.log中的报文文件名,可以访问到未构建完成的1索引文件对应的日志文件,依据日志文件可以重建其对应的1索引文件。
黑匣子报文存储模块按报文到达时序将报文及其实时计算的报文加密校验值顺序写入到当前报文文件,即:201409182033234.dat,将当前报文时戳、报文文件偏移、报文长度、业务类型、源IP、目的IP、应用类型提交给黑匣子报文索引模块。黑匣子报文索引模块将报文时戳、报文文件偏移,报文长度顺序写入当前0索引文件201409182033234.idx0,产生报文文件中的报文序号seq_id;将报文序号seq_id、业务类型、源IP、目的IP、应用类型顺序写入当前日志文件201409182033234.log,同时使用MD-tree在内存中构建内存索引,达到内存阈值后,写入到当前1索引文件201409182033234.idx1。对于1索引文件的写入,若黑匣子***内存大到足以存储当前报文文件的1索引文件的所有索引时,可以使用MD-tree构建内存索引,在更新报文文件时,一次性将内存索引写入到1索引文件中。
黑匣子报文存储模块结束当前报文文件201409182233234.dat写入,创建下一个报文文件201409182233234.dat的依据是:可按照时间周期,也可按照报文数量或报文文件大小,也可以同时设置以上三个阈值,任意一个阈值达到,结束老报文文件的报文写入,创建新的报文文件201409182233234.dat。同时,索引模块创建0索引文件:201409182233234.idx0,1索引文件201409182233234.idx1及其日志为201409182233234.log。黑匣子报文索引模块将报文文件文件名201409182233234.dat写入报文文件的清单文件manifest.dat,将1索引文件的日志文件名201409182233234.log写入日志文件的清单文件manifest.log。对于本次报文,当前报文文件更新为201409182233234.dat,当前0索引文件为201409182233234.idx0,当前1索引文件为201409182233234.idx1及其日志为201409182233234.log。
对于老的日志文件201409182033234.log,索引模块将内存中的MD-tree内存索引写入到1索引文件201409182033234.idx1中,删除日志文件的清单文件manifest.log中的201409182033234.log记录。
黑匣子在写入报文时,通常需要写入三个文件,即:报文文件,0索引文件和1索引文件的日志文件,间隙性地更新1索引文件。在更新存储报文文件时,还需要更新报文文件的清单文件manifest.dat,当前1索引文件和日志文件的清单文件manifest.log。黑匣子通常只有三个文件的频繁写入,三个文件的间隙性写入。在每秒写入报文个数很大时,若每个报文引起大量文件的写入,会由于硬盘随机写入导致IO性能大幅下降。以当前电力调度自动化***为例,IEC60870-5-104的TCPIP报文,最小60字节,最大308字节。与前置机通信的远动,成百上千,以每秒4MB流量为例,报文数每秒多达13617–69905。本技术方案以尽量少的文件频繁写入能够有效利用硬盘存储IO写入性能,确保实时写入。
电力调度自动化海量报文黑匣子的报文实时写入和实时多维索引构建,可以从黑匣子中按需查询获取报文,用于后续数据分析。
使用电力调度自动化海量报文黑匣子定位故障时,黑匣子报文查询模块可以提供多维数据查询。以IEC60870-5-104为例:多维数据可以是业务、源IP、目的IP、应用类型、应用数据片段、时间范围的任意组合。
查询报文时,若需查询当前索引,从MD-tree内存索引和1索引文件中查询报文,否则只需从1索引文件中查询。
查询实例1:若只是时间范围查询,那么先访问报文文件的清单文件manifest.dat,确定起始时间对应的首个报文文件和结束时间对应的末尾报文文件,再访问首个报文文件的0索引文件,精确查找起始时间对应的首个报文的报文文件偏移、报文长度,从首个报文文件中依据报文文件偏移和报文长度获取报文内容,使用报文加密校验值对其校验,若校验通过,将该报文输出到结果报文缓存或结果报文文件;访问末尾报文文件的0索引文件,精确查找结束时间对应的末尾报文的报文文件偏移,报文长度,从末尾报文文件中依据报文文件偏移和报文长度获取报文内容,使用报文加密校验值对其校验,若校验通过,将该报文输出到结果报文缓存或结果报文文件。对首个报文和末尾报文之间的报文,只需要按序对报文文件中的文件校验其报文加密校验值,若校验通过,将该报文输出到结果报文缓存或结果报文文件。
对于只是时间范围查询,只需要访问报文文件的清单文件manifest.dat一次,首个报文文件的0索引文件一次和末尾报文文件的0索引文件一次就可以通过以上两步查找获取所需的所有结果报文。
查询实例2:如图5所示,按业务、源IP、目的IP、应用类型、应用数据片段、时间范围查询。先访问报文文件的清单文件manifest.dat,确定起始时间对应的首个报文文件和结束时间对应的末尾报文文件,再访问首个报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中获取时戳符合时间范围的(报文文件偏移、报文长度)列表,依据(报文文件偏移、报文长度)列表中的报文文件偏移、报文长度从首个报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件。顺序访问首个报文文件和末尾报文文件之间的报文文件,访问报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中(报文文件偏移、报文长度)列表,依据(报文文件偏移、报文长度)列表中的报文文件偏移、报文长度从报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件。最后访问末尾报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中获取时戳符合时间范围的(报文文件偏移、报文长度)列表,依据(报文文件偏移、报文长度)列表中的报文文件偏移、报文长度从首个报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件。
对于复杂的多维数据报文查找,最坏的情形:需要访问报文文件的清单文件manifest.dat一次,访问首个报文文件一次、及其对应的0索引文件和1索引文件各一次。首个报文文件至末尾报文文件之间的顺序报文文件以及末尾报文文件的访问次数与首个报文文件一样。若首个报文文件、顺序报文文件和末尾报文文件的个数为n,那么访问文件的次数最多为3n+1,次数最少为n+1,表示访问n个1索引文件,没有获得所需的seq_id列表。
对于结果报文,电力调度自动化海量报文黑匣子报文分析模块将报文应用数据根据业务协议规约作进一步解析。然后将解析结果提交给业务语义信息展示模块,直观的展示给用户。当然,用户也可以将结果报文导出备份。
如图6所示,当电力自动化海量报文黑匣子出现异常掉电时,黑匣子索引恢复模块首先从log日志清单文件manifest.log中访问索引日志文件名,对于非当前1索引日志文件,读取日志文件中的内容重建该日志对应的1索引文件,构建成功后,将该日志文件名从manifest.log中清除。
以上图4-6所示的一种用于电力调度自动化海量报文的黑匣子***是本发明的具体实施例,已经体现出本发明突出的实质性特点和显著进步,可根据实际的使用需要,在本发明的启示下,对其结构等方面的等同修改,均在本方案的保护范围之列。
Claims (10)
1.一种用于电力调度自动化海量报文的黑匣子***,其特征在于包括:
报文存储模块:实时接收报文,按照到达黑匣子的电力调度自动化报文时序顺序存储,存储格式为文件或者数据库;对于文件格式,按时间周期或报文数量或报文文件大小或三种方式组合来根据时序分写成多个文件;
报文索引模块:基于协议或者应用的语义设置索引字段,使用MD-tree在内存和硬盘上构建内存索引和文件索引;
报文查询模块:接受用户的查询请求,查询报文索引模块中构建的内存索引和文件索引,获取符合查询请求的报文或报文在报文文件中的位置及长度,将其返回给用户;若是返回给用户的为报文,用户可以直接用于后续分析;若是返回给用户的为报文在报文文件中的位置及长度,用户根据其获取报文,用于后续分析;
报文分析模块:读取报文查询模块获取的报文文件,解析报文二层、三层、四层直至应用层的所有语义信息;
业务语义信息展示模块:获取报文分析模块解析的不同协议和应用语义信息,通过UI形式展示给用户。
2.根据权利要求1所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:报文存储模块中文件种类包括:
a)报文文件:报文文件为时戳.dat,其对应的索引文件为:时戳.idx0、时戳.idx1,时戳.idx1对应的日志文件为时戳.log;
b)报文文件的清单文件:报文文件的清单文件为manifest.dat,写入的内容为报文文件名,即:时戳.dat;
c)日志文件的清单文件:日志文件的清单文件为manifest.log,写入的内容为尚未成功构建1索引文件对应的日志文件名,为时戳.log;若时戳.log对应的1索引文件时戳.idx1已成功构建,则在manifest.log中去除时戳.log记录。
3.根据权利要求2所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:当黑匣子***接收到首个网络通信报文时,黑匣子报文存储模块创建当前报文文件:*.dat,黑匣子报文索引模块创建当前0索引文件:*.idx0,当前1索引文件*.idx1及其日志为*.log;黑匣子报文索引模块将当前报文文件文件名*.dat写入报文文件的清单文件manifest.dat,将当前1索引文件的日志文件名*.log写入日志文件的清单文件manifest.log;后续依据报文文件的清单文件manifest.dat中的报文文件名,访问黑匣子记录的所有报文文件,或按时间范围初步查询到报文所在的报文文件;后续依据日志文件的清单文件manifest.log中的报文文件名,访问到未构建完成的1索引文件对应的日志文件,依据日志文件可以重建其对应的1索引文件。
4.根据权利要求3所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:黑匣子报文存储模块按报文到达时序将报文及其实时计算的报文加密校验值顺序写入到当前报文文件,即:*.dat,将当前报文时戳、报文文件偏移、报文长度、业务类型、源IP、目的IP、应用类型提交给黑匣子报文索引模块;黑匣子报文索引模块将报文时戳、报文文件偏移,报文长度顺序写入当前0索引文件*.idx0,产生报文文件中的报文序号seq_id;将报文序号seq_id、业务类型、源IP、目的IP、应用类型顺序写入当前日志文件*.log,同时使用MD-tree在内存中构建内存索引,达到内存阈值后,写入到当前1索引文件*.idx1;对于1索引文件的写入,若黑匣子***内存大到足以存储当前报文文件的1索引文件的所有索引时,使用MD-tree构建内存索引,在更新报文文件时,一次性将内存索引写入到1索引文件中。
5.根据权利要求4所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:为时间周期、报文数量或报文文件大小设置对应的三个阈值,当任意一个阈值达到时,黑匣子报文存储模块结束当前报文文件*.dat写入,创建下一个报文文件*’.dat;同时,索引模块创建0索引文件*’.idx0、1索引文件*’.idx1及其日志为*’.log;黑匣子报文索引模块将报文文件文件名*’.dat写入报文文件的清单文件manifest.dat,将1索引文件的日志文件名*’.log写入日志文件的清单文件manifest.log;对于本次报文,当前报文文件更新为*’.dat,当前0索引文件为*’.idx0,当前1索引文件为*’.idx1及其日志为*’.log;对于老的日志文件*.log,索引模块将内存中的MD-tree内存索引写入到1索引文件*.idx1中,删除日志文件的清单文件manifest.log中的*.log记录。
6.根据权利要求2所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:黑匣子在写入报文时,需要写入三个文件,即:报文文件,0索引文件和1索引文件的日志文件,间隙性地更新1索引文件;在更新存储报文文件时,更新报文文件的清单文件manifest.dat和当前1索引文件和日志文件的清单文件manifest.log。
7.根据权利要求1所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:黑匣子报文查询模块提供多维数据查询;多维数据包括业务、源IP、目的IP、应用类型、应用数据片段、时间范围中的一种或多种组合。
8.根据权利要求2所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:
查询报文时,若需查询当前索引,从MD-tree内存索引和1索引文件中查询报文,否则从1索引文件中查询;
当仅为时间范围查询时,先访问报文文件的清单文件manifest.dat,确定起始时间对应的首个报文文件和结束时间对应的末尾报文文件,再访问首个报文文件的0索引文件,查找起始时间对应的首个报文的报文文件偏移、报文长度,从首个报文文件中依据报文文件偏移和报文长度获取报文内容,使用报文加密校验值对其校验,若校验通过,将该报文输出到结果报文缓存或结果报文文件;访问末尾报文文件的0索引文件,查找结束时间对应的末尾报文的报文文件偏移,报文长度,从末尾报文文件中依据报文文件偏移和报文长度获取报文内容,使用报文加密校验值对其校验,若校验通过,将该报文输出到结果报文缓存或结果报文文件;对首个报文和末尾报文之间的报文,按序对报文文件中的文件校验其报文加密校验值,若校验通过,将该报文输出到结果报文缓存或结果报文文件;
当按业务、源IP、目的IP、应用类型、应用数据片段、时间范围查询时,访问报文文件的清单文件manifest.dat,确定起始时间对应的首个报文文件和结束时间对应的末尾报文文件,再访问首个报文文件的1索引文件,依据对应的业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中获取时戳符合时间范围的列表,依据列表中的报文文件偏移、报文长度从首个报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件;
对于结果报文,报文分析模块将报文应用数据根据业务协议规约作进一步解析,然后将解析结果提交给业务语义信息展示模块,直观的展示给用户;用户可选择将结果报文导出备份。
9.根据权利要求8所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:
顺序访问首个报文文件和末尾报文文件之间的报文文件,访问报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中列表,依据列表中的报文文件偏移、报文长度从报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件;
访问末尾报文文件的1索引文件,依据业务、源IP、目的IP、应用类型,获取报文序号seq_id的列表,依据报文序号列表中的seq_id,从其对应的0索引文件中获取时戳符合时间范围的列表,依据列表中的报文文件偏移、报文长度从首个报文文件中获取报文内容,使用报文加密校验值对其校验,若校验通过,并使用快速单模匹配算法匹配应用数据片段,若匹配成功,将该报文输出到结果报文缓存或结果报文文件。
10.根据权利要求2所述的一种用于电力调度自动化海量报文的黑匣子***,其特征在于:当电力自动化海量报文黑匣子出现异常掉电时,黑匣子索引恢复模块首先从日志清单文件manifest.log中访问索引日志文件名,对于非当前1索引日志文件,读取日志文件中的内容重建该日志对应的1索引文件,构建成功后,将该日志文件名从manifest.log中清除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410770675.4A CN104516953B (zh) | 2014-12-12 | 2014-12-12 | 一种用于电力调度自动化海量报文的黑匣子*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410770675.4A CN104516953B (zh) | 2014-12-12 | 2014-12-12 | 一种用于电力调度自动化海量报文的黑匣子*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104516953A CN104516953A (zh) | 2015-04-15 |
CN104516953B true CN104516953B (zh) | 2016-03-09 |
Family
ID=52792252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410770675.4A Active CN104516953B (zh) | 2014-12-12 | 2014-12-12 | 一种用于电力调度自动化海量报文的黑匣子*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104516953B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209884B (zh) * | 2018-01-10 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | 一种索引校对方法和装置 |
CN108595511B (zh) * | 2018-03-23 | 2022-04-01 | 中国人民解放军91977部队 | 一种多样化气象水文数据分类存储处理方法和*** |
CN112511213B (zh) * | 2020-11-18 | 2022-07-22 | 四川安迪科技实业有限公司 | 基于日志分析的缺陷定位方法及*** |
CN114567626B (zh) * | 2022-01-24 | 2024-04-02 | 国电联合动力技术有限公司 | 基于互联网的风电机组数据异地传输方法和*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722797A (zh) * | 2012-06-12 | 2012-10-10 | 江苏瑞中数据股份有限公司 | 基于责任区的电力调度自动化***信息分层方法 |
CN102937956A (zh) * | 2012-04-25 | 2013-02-20 | 广东电网公司电力科学研究院 | 一种智能变电站中实时报文的存储方法及其装置 |
CN103678688A (zh) * | 2013-12-27 | 2014-03-26 | 国家电网公司 | 电力自动化通讯全过程报文快速存储及检索方法 |
CN104090939A (zh) * | 2014-06-30 | 2014-10-08 | 国家电网公司 | 智能变电站海量数据存储及快速索引方法 |
-
2014
- 2014-12-12 CN CN201410770675.4A patent/CN104516953B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937956A (zh) * | 2012-04-25 | 2013-02-20 | 广东电网公司电力科学研究院 | 一种智能变电站中实时报文的存储方法及其装置 |
CN102722797A (zh) * | 2012-06-12 | 2012-10-10 | 江苏瑞中数据股份有限公司 | 基于责任区的电力调度自动化***信息分层方法 |
CN103678688A (zh) * | 2013-12-27 | 2014-03-26 | 国家电网公司 | 电力自动化通讯全过程报文快速存储及检索方法 |
CN104090939A (zh) * | 2014-06-30 | 2014-10-08 | 国家电网公司 | 智能变电站海量数据存储及快速索引方法 |
Non-Patent Citations (2)
Title |
---|
云南电网能量管理***独立前置报文监视***的建设与应用;陈飞等;《广东电力》;20121031;第25卷(第10期);第95-98,112页 * |
电力调度自动化***一般及潜伏性故障的排查方法;郑长春等;《电力自动化》;20130131(第1期);第31-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104516953A (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104065521B (zh) | 一种电力网络设备日志和配置文件的采集、分析和发布***及其方法 | |
CN104516953B (zh) | 一种用于电力调度自动化海量报文的黑匣子*** | |
CN112181955B (zh) | 一种用于重载铁路综合大数据平台信息共享的数据规范治理方法 | |
CN101944119B (zh) | 一种智能电子设备的实时事件管理方法 | |
CN104408050A (zh) | 一种测试数据在线自动判读***及方法 | |
CN110147470B (zh) | 一种跨机房数据比对***及方法 | |
CN109274178B (zh) | 一种电力调度前置运行信息的自动化分析***和方法 | |
CN111915099B (zh) | 一种货运信息可视化的货运量预测*** | |
CN106372153A (zh) | 一种基于日志文件***的记录设备故障诊断方法 | |
CN1972287B (zh) | 通讯规约记录分析装置及其分析方法 | |
CN106802928B (zh) | 电网历史数据管理方法及其*** | |
CN103488564A (zh) | 一种分布式实时测试***多路测试数据压缩与归并方法 | |
CN111538720A (zh) | 电力行业基础数据清理的方法及*** | |
CN109992476A (zh) | 一种日志的分析方法、服务器及存储介质 | |
CN105159817A (zh) | 一种日志文件处理***及方法 | |
CN102957202A (zh) | 集成型数据记录分析装置及comtrade分文件方法 | |
CN116501720A (zh) | 一种基于规则引擎的数据治理装置及方法 | |
CN113472881B (zh) | 在线终端设备的统计方法和装置 | |
CN104021079A (zh) | 主机***数据的实时监控与分析***及方法 | |
CN111352818B (zh) | 应用程序性能分析方法、装置、存储介质及电子设备 | |
CN107633056A (zh) | 用于用电信息采集终端的数据管理方法 | |
CN109684158A (zh) | 分布式协调***的状态监控方法、装置、设备及存储介质 | |
CN111143296A (zh) | 变电站scd文件分类方法、装置、终端及存储介质 | |
CN105095047B (zh) | 一种提取底层***行为特征的操作***监控方法及装置 | |
CN116719790A (zh) | 一种变电站二次设备多源数据分析建模*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |