一种智能变电站scd文件快速解析方法

文档序号:8430856阅读:2410来源:国知局
一种智能变电站scd文件快速解析方法
【技术领域】
[0001]本发明涉及智能变电站自动化技术领域,尤其涉及一种智能变电站SCD文件快速解析方法。
【背景技术】
[0002]在智能变电站中,变电站配置描述文件(substat1n configurat1ndescript1n, SCD)描述了包含站内各个智能电子设备(Intelligent Electronic Device,IED)装置的保护定值、数据描述、数据类型、通信参数、控制块参数和装置间的互联关系,尤其是SMV与GOOSE数据类型、描述和短地址等信息。在智能变电站的设计、调试、运维、改造和扩建过程中需要针对SCD文件内容反复修改,从而需要反复打开SCD文件进行解析查看数据信息。目前智能变电站SCD解析的主要工作是通过设计高效的快速解析方法,快速提取SCD文件中站内各个IED装置的数据信息。快速解析方法主要是针对减少内存开销、降低时间消耗、提高查找效率而设计。
[0003]S⑶文件是由SCL语言描述的文本文件,无法直观体现一次系统模型、通信网络配置、逻辑回路配置、装置实例配置、LN功能分配、SMV及G00SE配置等。通过现有的解析方法得到的数据结果非常抽象不利于理解,还需要实现数据内容拼接、比较、交叉查找等方法,在打开SCD文件解析的过程中需要占用系统大量的内存资源,整个流程消耗时间比较漫长,不利于智能变电站的设计、调试、运维、改造和扩建过程中需要针对SCD文件内容反复修改后,需要进行解析查看验证工作。因此,快速解析方法需要实现内存管理机制、高效查找算法和数据实例化操作接口。
[0004]专利CN104346474A公开了一种智能变电站S⑶文件的快速解析方法,其主要是通过分步解析的方法实现,并未从根本上提高解析效率,且应用场合有限。

【发明内容】

[0005]本发明所要解决的技术问题在于,提供一种智能变电站SCD文件快速解析方法减少了内存开销、降低了时间消耗、提高了查找效率。
[0006]为了解决上述技术问题,本发明提供了一种智能变电站SCD文件快速解析方法,包括:
[0007]加载SCD文件,并对SCD文件的节点数据采用深解析、浅拷贝的方法建立树形结构对象;
[0008]根据所述树形结构对象进行数据提取并构建全局哈希表;
[0009]根据所述全局哈希表的映射关系,快速查找SCD文件中全部节点数据。
[0010]进一步的,所述加载SCD文件,并对SCD文件的节点数据采用深解析、浅拷贝的方法建立树形结构对象,具体包括:
[0011]将SCD文件的XML数据一次性完整读入内存中,将其过程所产生的值域数据在原数据基础上按照树形节点进行分割,将每个节点的节点名称、节点值、属性名称、属性值、父节点和子节点通过指针记录,将节点实例化,从而实现深解析;
[0012]在对节点的结构进行组合时,节点优先采用栈内存空间进行分配,当栈内存空间不够时按块分配存储空间,块的大小通过系统处理器缓存或页表大小进行指定,每个节点只对其树形结构进行抽象,值域数据完全由指针进行指向,从而实现浅拷贝,建立树形结构对象。
[0013]进一步的,所述根据所述树形结构对象进行数据提取并构建全局哈希表,具体包括:
[0014]获取所述树形结构对象中的网络通信参数节点指针,并根据所述网络通信参数节点中的子网、网络连接点和地址信息,构建第一哈希表映射关系,所述第一哈希表映射关系支持快速查找的IED装置中的网络通信参数数据信息;
[0015]获取所述树形结构对象中的站内各个装置IED节点指针,根据逻辑设备、逻辑节点、数据集和装置间的互联关系,构建第二哈希表映射关系,所述第二哈希表映射关系支持快速查找IED装置中的SMV、GOOSE发布及订阅数据信息;
[0016]获取所述树形结构对象中的站内各个数据类型模板节点指针,根据模板类型,构建第三哈希表映射关系,所述第三哈希表映射关系支持快速查找的IED装置中的数据集中发布及订阅的数据类型。
[0017]进一步的,所述根据所述全局哈希表的映射关系,快速查找SCD文件中全部节点数据,具体包括:
[0018]当需要提取SCD文件中的节点数据时,采用单通道方式,采用指针按层次遍历树形结构对象,从而获取整个节点数据的提取;
[0019]当需要快速定位并获取网络通信参数、IED装置信息、数据类型模板中的指定模板类型时,通过所述全局哈希表映射关系根据关键字快速查找;
[0020]根据每个数据实例化对象内部数据信息的功能特性,实现一系列通用的数据查找接口函数,用于快速得到IED装置中的网络通信参数、数据集信息、数据类型、数据描述、短地址、和虚端子互联关系。
[0021]实施本发明,具有如下有益效果:
[0022]本发明利用智能变电站配置描述文件,实现了智能变电站配置描述文件快速解析方法。通过内存管理机制优化了内存分配及数据拷贝;建立内部查找算法提高了 SCD文件各个站内IED装置数据信息快速查找;利用SCD文件内部结构封装了数据实例化操作接口,提供了通用数据快速查找方法,简化了解析流程中的反复操作、查找数据。本发明优化内存开销,减低时间消耗,有效指导智能变电站设计、调试、运维、改造和扩建的现场调试工作,极大的提高了现场设计、调试和运维的效率。
【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本发明提供的智能变电站SCD文件快速解析方法的一个实施例的流程示意图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]图1是本发明提供的智能变电站SCD文件快速解析方法的一个实施例的流程示意图,如图1所示,包括步骤:
[0027]S101、加载S⑶文件,并对S⑶文件的节点数据采用深解析、浅拷贝的方法建立树形结构对象。
[0028]具体的,SlOl包括步骤:
[0029]SlOlldf S⑶文件的XML数据一次性完整读入内存中,将其过程所产生的值域数据在原数据基础上按照树形节点进行分割,将每个节点的节点名称、节点值、属性名称、属性值、父节点和子节点通过指针记录,将节点实例化,从而实现深解析;
[0030]具体的,在对XML数据深解析时,每遇到‘〈’符号代表节点的开始,紧接着是节点名称,如果没有遇到‘〉’或V’符号代表有节点属性,遇到空格符号后,代表节点名称的结束,同时代表属性名称的开始,如果遇到‘=’符号后并遇到‘“’符号代表属性值的开始,之后遇到‘”’符号代表属性值的结束,循环查找空格符号、‘=’符号便可以解析当前节点所有的属性名称及属性值,直到遇到‘〈’、‘〉’或V’符号表示所有属性解析完成;其次如果遇到‘〉’符号之后紧接的不是‘〈’符号,代表节点值的开始,直到遇到‘〈’符号代表节点值的结束;再次如果没有遇到‘〉’或V’符号而先遇到‘〈’符号代表子节点的开始,子节点的解析方法和父节点一致,直到遇到符号代表节点的结束。解析过程中遇到的所有‘〈’、
和空格符号都将用‘\0’符号替换,每个节点的节点名称、节点值、属性名称、属性值、父节点和子节点都是通过指针来记录,获取指针指向的数据时可以通过‘\0’符号快速寻值。
[0031]S1012、在对节点的结构进行组合时,节点优先采用栈内存空间进行分配,当栈内存空间不够时按块分配存储空间,块的大小通过系统处理器缓存或页表大小进行指定,每个节点只对其树形结构进行抽象,值域数据完全由指针进行指向,从而实现浅拷贝,建立树形结构对象。获取值域数据不需要进行内存分配和数据拷贝,全部以指针的形式返回。这样可以提高处理器对其访问的命中机率,由于结构与值域的耦合分离以及处理器的快速地址访问机率,其程序访问接口性能会被大大提高。
[0032]S102、根据所述树形结构对象进行数据提取并构建全局哈希表。
[0033]具体的,S102包括步骤:
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1