发明内容
本公开为了解决上述问题,提出了一种基于增量技术智能站数据类型模板展示方法及系统,本公开基于智能站配置工具,在需要查看数据类型模板信息时所作的算法,采用了增量获取技术,不仅能够使数据在树中能正确无误的展示,而且提高了效率,缩短数据展示的时间。
根据一些实施例,本公开采用如下技术方案:
一种基于增量技术智能站数据类型模板展示方法,包括以下步骤:
导入智能变电站的配置描述文件,在展示数据类型模板信息时,首先获取数据类型模板顶层数据,遍历数据类型模板中所有相应节点,对各节点进行确认,若相应节点中存在子节点,则设置一个临时节点作为其子节点;
利用匹配技术,提取各节点中的所有信息并添加到树的相应的节点下,并将临时节点删除,逐层进行,实现以树形结构进行展示数据类型模板信息。
作为可能的实施例,数据类型模板信息分为逻辑节点类型、数据对象类型、数据属性类型、枚举数据类型四种进行分别展示,其中逻辑节点类型其下所有信息包含所有逻辑节点,逻辑节点引用的DO节点,DO节点引用的DA节点/SDO节点,以及DA引用的枚举数据节点/bType为Struct的BDA节点。数据对象类型其下所有信息包含所有数据对象节点,数据对象节点引用的DA节点,以及DA引用的枚举数据节点。数据属性类型其下所有信息包含所有数据属性节点,数据属性节点引用枚举数据节点,枚举数据类型其下所有信息包含所有的枚举类型节点。
作为可能的实施例,相应的节点分别是指逻辑节点(LNodeType)、数据对象节点(DOType节点)、数据属性节点(DAType节点)以及枚举数据节点(EnumType节点)。
作为可能的实施例,展开顶层节点的同时,将顶层节点下的信息或一同导入,或递归地采用层层获取的方式。
作为可能的实施例,采用pugixml技术对智能变电站的配置描述文件相关信息进行增量提取。
作为可能的实施例,采用pugixml匹配技术,提取相应节点中的所有信息并添加到树的相应节点下。
一种基于增量技术智能站数据类型模板展示系统,包括:
导入模块,被配置为导入智能变电站的配置描述文件,获取数据类型模板顶层数据;
树形结构构建模块,被配置为遍历数据类型模板中所有相应节点,对各节点进行确认,若相应节点中存在子节点,则设置一个临时节点作为子节点,根据各节点和其子节点关系搭建树形结构,并逐层构建;
展示模块,被配置为利用匹配技术,提取各节点中的所有信息并添加到树的相应的节点下,并将临时节点删除,逐层进行,实现以树形结构进行展示数据类型模板信息。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于增量技术智能站数据类型模板展示方法。
一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于增量技术智能站数据类型模板展示方法。
与现有技术相比,本公开的有益效果为:
本公开发明了一种智能变电站配置信息提取和基于增量展示数据类型模板的方案,解决了传统的数据类型模板信息展示速度慢的问题,以树的形式展示数据类型模板,用户一目了然,使用体验感好;
本公开设计了增量获取技术提取相关信息,不仅能够使数据在树中能正确无误的展示,而且提高了效率,缩短数据展示的响应时间,减少一次提取数据的流量,缩短了描述文件展示数据类型模板时间,为工程人员等用户提供了便利。
本公开从匹配展示等各环节都进行了优化,发明了智能变电站数据解析快速匹配显示方案,能够快速提取节点信息,减少了节点提取与匹配时间,解决了智能站描述文件信息提取速度慢的问题。
具体实施方式:
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本实施例使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
正如背景技术中所述的数据类型模板(DataTypeTemplates)往往是占据智能站描述文件的大部分,智能站描述文件越大数据类型模板包含的数据往往就越多,因此在配置工具中展示数据类型模板信息所占的空间越大,展示速度越慢,两者成反比,为了解决上述问题,本公开提供一种基于增量技术智能站数据类型模板展示方法。本公开是基于智能站配置工具已导入智能站描述文件之后进行的展示,智能站描述文件的信息以树形式进行展示。对于数据类型模板信息从4大部分展示:逻辑节点类型、数据对象类型、数据属性类型、枚举数据类型。本公开采用了增量获取技术,不仅能够使数据在树中能正确无误的展示,而且提高了效率,缩短数据展示的时间。
本公开以树的形式展示数据类型模板,树中一个节点在无需展开的情况下,子节点是否存在有很明确的标识。获取数据类型模板顶层数据,默认获取逻辑节点类型的顶层数据。本公开是采用pugixml技术对智能站描述文件相关信息进行增量提取。
以一种典型的实施例,以逻辑节点类型(LNodeType)为例进行详细介绍,在此顶层数据特指逻辑节点。
如图1所示,一种基于增量技术智能站数据类型模板展示方法,包括以下步骤:
步骤1:导入智能站描述文件;
步骤2:逻辑节点(LNodeType)顶层数据展示包括所有的逻辑节点名称和类型。利用pugixml技术遍历数据类型模板中所有逻辑节点,提取其逻辑节点名称和类型等信息,同时,判断一个逻辑节点中是否存在子节点(DO节点),若存在子节点则设置一个临时节点作为树中的子节点,而不是获取其下所有子节点的数据。设置一个临时节点的原因是以树形展示信息时,若其有子节点,那么展示时会与其没有子节点的有所区别,除非设置为没有任何区别,那么此临时节点可以不用设置。若不存在子节点,则此步骤无需操作。
步骤3:对于DO节点,通过使用pugixml匹配技术,通过type属性索引到数据对象类型(DOType)中id属性的值与上述type属性的值一致的节点。以DO节点为父节点,通过判断该DOType下是否存在子节点(DA节点/SDO节点)。若一个DOType节点中存在子节点,则设置一个临时节点作为树中对应节点的子节点,而不是获取其下所有子节点的数据。设置一个临时节点的原因是以树形展示信息时,若其有子节点,那么展示时会与其没有子节点的有所区别,除非设置为没有任何区别,那么此临时节点可以不用设置。对于子节点为SDO节点重复步骤3。对于子节点为DA节点执行步骤4。最后,将以LNodeType为父节点的临时节点删除。
步骤4:对于步骤3中的DA节点,通过使用pugixml匹配技术,通过type属性索引到DAType中id属性的值与上述type属性的值一致的节点。以DA节点为父节点,通过判断该DAType下是否存在子节点(BDA节点)。若一个DAType节点中存在子节点,则设置一个临时节点作为树中对应节点的子节点,而不是获取其下所有子节点的数据。设置一个临时节点的原因是以树形展示信息时,若其有子节点,那么展示时会与其没有子节点的有所区别,除非设置为没有任何区别,那么此临时节点可以不用设置。对于BDA节点bType为Struct的节点重复步骤4。对于BDA节点bType为Enum的节点执行步骤5。当bType为其他时,表示这个节点是最底层节点即叶子节点。最后,将以DOType节点为父节点的临时节点删除。
步骤5:步骤4中的bType为Enum的节点,通过使用pugixml匹配技术,根据该节点的type类型索引到EnumType。以BDA节点为父节点,提取该EnumType的所有子节点(EnumVal)信息。在树中对应BDA节点下创建其所有子节点,子节点的信息即为上述提取的所有子节点(EnumVal节点)信息。至此所有的节点均创建,并以树的形式展示。
其中,获取非顶层数据时,对于数据量较少的模型可以将一个节点下所有子节点(递归过程)全部获取并在树上层层创建,即无需使用临时节点作为子节点,层层获取,这样做的目的是减少了提取次数。
其中,步骤3,4,5均在查看某一个数据对象类型节点下的信息时使用,若不查看该节点包含信息,则步骤3,4,5均不执行。
为验证本实施例的有效性,采用如下实验。
实验过程中使用计算机的CPU为Intel(R)Core(TM)i7-4790,其主频为3.60GHZ;计算机的内存为8GB RAM,其操作系统为64位的Windows10系统。所有的系统均在此环境下运行。本实施例选择的数据集既有小数据集也有大数据集,目的是为了验证本实施例方法不仅在小数据集上能够快速的展示数据类型模板,而且在大数据集上也能够快速的展示信息。数据集在下列表格中按照大小由小到大排序,通过表1可得,数据集越大,往往数据类型模板占据的会越大。从表1看出并不是严格上因数据集大小的增长而数据类型模板大小递增,因为当有重复的节点时可以重复引用。数据集PCS-915A-DA-G-V2.60-2B21C57B220母线保护.icd与35kV智能备投多合一母联-山东鲁能.scd是较小的scl模型。其他是规模较大的scl模型,其中,山东聊城500kV高唐20160607(合与分或).scd是超大的scl模型,大小为109MB,包含了295个IED。
表1数据集统计信息
表2三种系统在不同数据集上展示所需响应时间
以上计算时间均取平均值所得。评价指标均以展示信息所需要的响应时间为准,单位为s。从上表得出,当数据集的规模变大时,所需的响应时间基本呈现递增的趋势。导致这一现象的原因是数据集规模越大,数据类型模板往往所占的空间越大,因此响应时间越长。其中,pcs软件在响应最大的模型山东聊城500kV高唐20160607(合与分或).scd时时间高达3分多钟。通过实验,发现本实施例所提的方法无论在小数据集还是大数据集上在现有系统响应时间少,充分验证了本实施例方法的高效性。
以逻辑节点类型信息展示为例。其基本信息包括数据类型模板中所有的LNodeType,以及LNodeType引用的所有的信息,如DO,DO引用的DA等。
均以树形展示,逻辑节点类型基本层次为LNodeType,LNodeType引用的所有的DO,DO引用的所有的DA,DA引用的枚举类型,特殊情况除外。其中DO引用的是DOType类型,DA引用的是DAType类型节点。如图2所示,其中LNT代表LNodeType。
若DO包含SDO类型,DA中包含BDA类型如图3所示。最终形成的树状结构如图4所示。其中最下方SDO下的省略号代表SDO可能还会包含SDO类型,循环往复直到不再包含SDO类型为止,当然此时会包含DA。同理,BDA下的省略号显而易见,在此不再赘述。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。