CN109145167B - Icd文件与scd中对应ied的内容差异比较方法 - Google Patents
Icd文件与scd中对应ied的内容差异比较方法 Download PDFInfo
- Publication number
- CN109145167B CN109145167B CN201810699576.XA CN201810699576A CN109145167B CN 109145167 B CN109145167 B CN 109145167B CN 201810699576 A CN201810699576 A CN 201810699576A CN 109145167 B CN109145167 B CN 109145167B
- Authority
- CN
- China
- Prior art keywords
- icd
- scd
- node
- nodes
- ied
- 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
Abstract
本发明公开了ICD文件与SCD中对应IED的内容差异比较方法,包括以下步骤:将ICD侧IED的型号、厂家、版本号属性与SCD侧各IED的型号、厂家、版本号属性进行匹配,获取目标IED;解析ICD侧IED节点的各级子孙内容,存入到链表A;解析SCD侧目标IED的各级子孙内容,存入到链表B;逐行比较链表A中ICD侧与链表B中SCD侧的当前节点的标签、关键属性值,判断ICD侧与SCD侧的当前节点是否相同;若当前节点相同,则分别对各非关键属性以及各级子孙节点进行比较,根据比较结果进行显示;若当前节点不相同,则分别进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示。便于理解ICD侧与SCD侧的相同节点或不同节点的上下文背景,快速而准确地进行比较差异细节。
Description
技术领域
本发明涉及变电站设备,具体涉及ICD文件与SCD中对应IED的内容差异比较方法。
背景技术
智能变电站各设备的正确可靠运行某种程度上依赖于设备能力描述文件ICD与系统配置描述文件SCD中对应IED之间的一致性。而SCD、ICD文件本身属于XML文件,结构较为复杂,代码从几千行到几十万不等,为了确保ICD与系统配置描述文件SCD中对应IED内容之间的一致性,准确而方便地检查两种文件之间的差异,以便发现可能存在的不一致或错误,往往需要研究ICD文件与SCD中IED的内容差异比较方法。
虽然目前有常用的文本编辑软件UltraEdit、Notepad++等能够对两个文本文件进行文字比较,但是由于这些比较软件主要依靠于字符串相似性的比较,没有针对SCD、ICD文件自身的特点,它们的比较结果往往不够理想,存在一些不足,比如两侧节点只要标签名相同、关键属性相同,就能当作是相同节点,可并列显示;在显示两侧不相同的节点时,如果其各级父辈节点相同,就不会显示父辈节点,造成不好理解ICD侧与SCD侧的当前不同节点的上下文背景,影响了对差异内容的定位和理解。
因此,需要ICD文件与SCD中IED的内容差异比较方法,来实现对两种文件中部分差异内容的准确比较,及时发现它们之间的不一致细节。
发明内容
本发明目的在于提供ICD文件与SCD中对应IED的内容差异比较方法,解决上述的问题。
本发明通过下述技术方案实现:
ICD文件与SCD中对应IED的内容差异比较方法,包括以下步骤:
S1、获取ICD侧IED节点的型号、厂家、版本号属性,获取SCD侧所有IED对应的型号、厂家、版本号属性;将ICD侧IED的型号、厂家、版本号属性与SCD侧各IED的型号、厂家、版本号属性进行匹配,获取型号、厂家、版本号属性一致的目标IED;
S2、解析ICD侧IED节点的各级子孙内容,存入到链表A;解析SCD侧目标IED的各级子孙内容,存入到链表B;
S3、逐行比较链表A中ICD侧与链表B中SCD侧的当前节点的标签、关键属性值是否都相同,判断ICD侧与SCD侧的当前节点是否相同;
S4、若ICD侧与SCD侧的当前节点相同,则分别对两侧当前相同节点的各非关键属性以及各级子孙节点进行比较,根据比较结果进行显示;
S5、若ICD侧与SCD侧的当前节点不相同,则进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示。
本发明的原理:从ICD侧提取IED节点的型号、厂家、版本号属性,从SCD侧自动搜索与ICD侧IED节点的型号、厂家、版本号属性匹配的型号、厂家、版本号属性的目标IED,提取ICD侧IED节点的各级子孙内容存储到链表A中,提取目标IED的各级子孙内容存入到链表B,然后通过逐行比较链表A和链表B的ICD侧与SCD侧的当前节点的标签、关键属性值是否都相同。若确定链表A和链表B的ICD侧与SCD侧的当前节点相同,则通过对ICD侧与SCD侧的当前节点相同的各非关键属性进行比较,获取ICD侧与SCD侧的当前相同节点的各非关键属性差异并进行显示。并比较ICD侧与SCD侧的当前相同节点的各级子孙的区别并进行显示。若确定链表A和链表B的ICD侧与SCD侧的当前节点不相同,则分别进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示。操作者在IED节点与目标IED为当前相同节点时获ICD侧与SCD侧各非关键属性的差异以及各级子孙的区别,便于理解ICD侧与SCD侧相同节点的上下文背景,快速而准确的进行比较和修改;操作者在IED节点与目标IED为当前不同节点时获取ICD侧与SCD侧各父辈节点之间的差异;便于理解ICD侧与SCD侧的不同节点的上下文背景,便于快速、准确的对差异内容进行比较和修改。
进一步的,ICD文件与SCD中对应IED的内容差异比较方法,在S1中,所述获取型号、厂家、版本号属性一致的目标IED,包括以下步骤:
将ICD侧IED的型号、厂家、版本号属性组合成IED源头字符串,将SCD侧各IED的型号、厂家、版本号属性组合成比较字符串;将源头字符串分别与SCD侧各IED的比较字符串进行匹配,找到第一个匹配的目标IED。
作为一种优选方式,通过将ICD侧IED的型号、厂家、版本号属性组合成源头字符串与将SCD侧各IED的型号、厂家、版本号属性组合成比较字符串进行快速、准确的匹配,有利于提高匹配的准确性和效率。
进一步的,ICD文件与SCD中对应IED的内容差异比较方法,在S1中,若匹配失败,则手动指定目标IED。
在无法自动搜索匹配到目标IED时通过操作者操作手动指定目标IED,保证IED节点与目标IED之间正常校核。
进一步的,ICD文件与SCD中对应IED的内容差异比较方法,在S3中,所述判断ICD侧与SCD侧的当前节点是否相同,包括以下步骤:
若ICD侧与SCD侧的当前节点的标签名、关键属性值都相同,则判断ICD侧与SCD侧的当前节点相同,反之判断ICD侧与SCD侧的当前节点不相同。
进一步的,ICD文件与SCD中对应IED的内容差异比较方法,在S4中,所述则分别对两侧当前相同节点的各非关键属性进行比较,根据比较结果进行显示,包括以下步骤:
若比较出ICD侧与SCD侧有的属性顺序不同,则标记为“顺乱”,突出显示ICD侧与SCD侧第一个顺序不同的属性及其属性值;若某个非关键属性的属性值不同,则标记为“属不”,突出显示ICD侧与SCD侧的该属性的各自属性值;
获取ICD侧与SCD侧相同节点各自的各级子孙节点;
若ICD侧与SCD侧相同节点不存在各级子孙节点,则获取ICD侧与SCD侧相同节点各自的内容,若ICD侧与SCD侧相同节点各自的内容不同,则标记为“不同”,并在界面上将ICD侧与SCD侧节点并列显示出来;
若ICD侧与SCD侧的各级子孙节点都相同,则ICD侧与SCD侧的当前相同节点及其各级子孙都不显示;
若ICD侧与SCD侧至少有一个不相同的子孙,则显示ICD侧与SCD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,并列显示ICD侧与SCD侧的各级父辈节点的开始行和结束行的内容。
作为一种优选方式,便于操作者在ICD侧与SCD侧的当前节点相同的基础下获取ICD侧与SCD侧的当前相同节点的各非关键属性的顺序不同还是非关键属性的属性值不同,便于操作者清楚直观的获取ICD侧与SCD侧的当前节点相同时各非关键属性的细微差别。循环搜索ICD侧与SCD侧相同节点各自的各级子孙并在ICD侧与SCD侧至少有一个不相同的子孙时才进行显示,并保留该子孙的各级父辈节点,并列显示ICD侧与SCD侧的当前节点的开始行和结束行的内容,便于操作者进行比较和修改。
进一步的,ICD文件与SCD中对应IED的内容差异比较方法,在S5中,所述则进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示,包括以下步骤:
若ICD侧与SCD侧的当前节点的标签、关键属性值都不相同,则首先在链表B中循环查找与ICD侧的当前节点的标签、关键属性值都相同的目标相同节点,然后在链表A中循环查找与SCD侧的当前节点的标签、关键属性值都相同的目标相同节点;
若在链表B中找到对应的目标相同节点,且在链表A中没有找到对应的目标相同节点,则SCD侧的当前节点和目标相同节点之间的各行节点都标记为“新增”,而ICD侧的相应各行都设置为空行;
若在链表B中没有找到对应的目标相同节点,且在链表A中找到对应的目标相同节点,则ICD侧的当前节点和目标相同节点之间的各行节点都标记为“删除”,而SCD侧的相应各行都设置为空行;
若在链表B和链表A中都能找到对应的目标相同节点,则获取ICD侧的当前节点与SCD侧的目标相同节点各自的各级子孙节点,若各级子孙节点都相同,则ICD侧的当前节点与SCD侧的目标相同节点及其各级子孙都不显示;若各级子孙节点至少有一个不相同的子孙,则显示ICD侧与SCD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,获取SCD侧的目标相同节点与SCD侧的当前节点之间的距离m;
同时获取SCD侧的当前节点与ICD侧的目标相同节点各自的各级子孙节点,若各级子孙节点都相同,则SCD侧的当前节点与ICD侧的目标相同节点及其各级子孙都不显示;若各级子孙节点至少有一个不相同的子孙,则显示SCD侧与ICD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,获取ICD侧的目标相同节点与ICD侧的当前节点之间的距离n;
若m小于n,则SCD侧的当前节点和目标相同节点之间的各行节点都标记为“新增”,而ICD侧的相应各行都设置为空行;
若m大于等于n,则ICD侧的当前节点和目标相同节点之间的各行节点都标记为“删除”,而SCD侧的相应各行都设置为空行;
若在链表B和链表A中都没有找到对应的目标相同节点,则ICD侧的当前节点标记为“删除”,SCD侧右侧的当前行设置为空行,同时,SCD侧的当前节点标记为“新增”,SCD侧的当前节点在空行下一行显示内容,ICD侧左侧设置为空行。
作为一种优选方式,便于操作者在ICD侧与SCD侧的当前节点不相同时快速获取IED节点与目标IED之间存在的增加内容或删除内容。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明ICD文件与SCD中对应IED的内容差异比较方法,从ICD侧提取IED节点的型号、厂家、版本号属性,从SCD中自动搜索型号、厂家、版本号属性与ICD侧IED节点的型号、厂家、版本号属性一致的目标IED;
2、本发明ICD文件与SCD中对应IED的内容差异比较方法,操作者在ICD侧IED节点与目标IED为当前相同节点时获ICD侧与SCD侧各非关键属性的差异以及各级子孙的区别,便于理解ICD侧与SCD侧相同节点的上下文背景,快速而准确的实现差异内容的比较,便于操作者进行修改;
3、本发明ICD文件与SCD中对应IED的内容差异比较方法,操作者在IED节点与目标IED为当前不同节点时获取ICD侧与SCD侧各父辈节点之间的差异;便于理解ICD侧与SCD侧的不同节点的上下文背景,便于快速、准确的对差异内容进行比较,便于操作者进行修改。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明的步骤示意图;
图2a为本发明的实施例2示意图;
图2b为本发明的实施例2示意图;
图3为本发明的实施例3示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1所示,本实施例ICD文件与SCD中对应IED的内容差异比较方法,包括以下步骤:
S1、获取ICD侧IED节点的型号、厂家、版本号属性,获取SCD侧所有IED对应的型号、厂家、版本号属性;将ICD侧IED的型号、厂家、版本号属性与SCD侧各IED的型号、厂家、版本号属性进行匹配,获取型号、厂家、版本号属性一致的目标IED;
在S1中,所述获取型号、厂家、版本号属性一致的目标IED,包括以下步骤:
将ICD侧IED的型号、厂家、版本号属性组合成IED源头字符串,将SCD侧各IED的型号、厂家、版本号属性组合成比较字符串;将源头字符串分别与SCD侧各IED的比较字符串进行匹配,找到第一个匹配的目标IED;
在S1中,若匹配失败,则手动指定目标IED;
S2、解析ICD侧IED节点的各级子孙内容,存入到链表A;解析SCD侧目标IED的各级子孙内容,存入到链表B;
S3、逐行比较链表A中ICD侧与链表B中SCD侧的当前节点的标签、关键属性值是否都相同,判断ICD侧与SCD侧的当前节点是否相同;
在S3中,所述判断ICD侧与SCD侧的当前节点是否相同,包括以下步骤:
若ICD侧与SCD侧的当前节点的标签名、关键属性值都相同,则判断ICD侧与SCD侧的当前节点相同,反之判断ICD侧与SCD侧的当前节点不相同;
S4、若ICD侧与SCD侧的当前节点相同,则分别对两侧当前相同节点的各非关键属性以及各级子孙节点进行比较,根据比较结果进行显示;
S5、若ICD侧与SCD侧的当前节点不相同,则进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示。
工作时:从ICD侧提取IED节点的型号、厂家、版本号属性,型号、厂家、版本号属性组合成源头字符串;读取解析SCD文件,获取SCD侧所有IED对应的型号、厂家、版本号属性,将SCD侧各IED的型号、厂家、版本号属性分别组合成比较字符串;通过源头字符串分在SCD中自动搜索各比较字符串进行匹配,获取目标IED。如果自动搜索目标IED匹配失败,则操作者通过手动指定目标IED。提取IED节点的各级子孙内容存储到链表A中,提取目标IED的各级子孙内容存入到链表B,然后通过逐行比较链表A和链表B的ICD侧与SCD侧的当前节点的标签、关键属性值是否都相同。若ICD侧与SCD侧的当前节点的标签名、关键属性值都相同,则确定链表A和链表B的ICD侧与SCD侧的当前节点相同,则通过对ICD侧与SCD侧的当前节点相同的各非关键属性进行比较,获取ICD侧与SCD侧的当前相同节点的各非关键属性差异并进行显示。并比较ICD侧与SCD侧的当前相同节点的各级子孙的区别并进行显示。若ICD侧与SCD侧的当前节点的标签名、关键属性值不全部相同,则确定链表A和链表B的ICD侧与SCD侧的当前节点不相同,则分别进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示。操作者在IED节点与目标IED为当前相同节点时获ICD侧与SCD侧各非关键属性的差异以及各级子孙的区别,便于理解ICD侧与SCD侧相同节点的上下文背景,快速而准确的进行比较和修改;操作者在IED节点与目标IED为当前不同节点时获取ICD侧与SCD侧各父辈节点之间的差异;便于理解ICD侧与SCD侧的不同节点的上下文背景,便于快速、准确的对差异内容进行比较和修改。
实施例2
在实施例1的基础之上,在S4中,所述则分别对当前相同节点的各非关键属性进行比较,根据比较结果进行显示,包括以下步骤:
若比较出ICD侧与SCD侧有的属性顺序不同,则标记为“顺乱”,突出显示ICD侧与SCD侧第一个顺序不同的属性及其属性值;若某个非关键属性值不同,则标记为“属不”,突出显示ICD侧与SCD侧的该属性的各自属性值;
获取ICD侧与SCD侧相同节点各自的各级子孙节点;
若ICD侧与SCD侧相同节点不存在各级子孙节点,则获取ICD侧与SCD侧相同节点各自的内容,若ICD侧与SCD侧相同节点各自的内容不同,则标记为“不同”,并在界面上ICD侧与SCD侧并列显示出来;
若ICD侧与SCD侧的各级子孙节点都相同,则ICD侧与SCD侧的当前相同节点及其各级子孙都不显示;若ICD侧与SCD侧至少有一个不相同的子孙,则显示ICD侧与SCD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,并列显示ICD侧与SCD侧的各级父辈节点的开始行和结束行的内容。
工作时:加载一个ICD文件PCS-931.icd和一个SCD后,选取该SCD中IED 220kV保护装置A作为目标IED,分别解析ICD侧和SCD侧的IED节点的内容进行差异比较,分别解析ICD侧和SCD侧的IED节点及其子孙内容加入到链表A、链表B中。
如图2a所示,通过比较,ICD侧和SCD侧的节点AccessPoint标签名AccessPoint相同、关键属性name的值S1相同,判断ICD侧和SCD侧的节点是相同节点,由于SCD侧节点多了一个属性clock,属于“属不”(属性不同)的比较结果,则ICD侧和SCD侧的节点并列显示,并突出显示SCD侧节点多出的属性及其属性值。
同理,ICD侧和SCD侧的节点LDevice标签名LDevice相同、关键属性inst的值LD0相同,判断ICD侧和SCD侧的节点是相同节点,由于ICD侧和SCD侧的节点的属性desc的属性值不同,一个是LD0,一个是公用,属于“属不”(属性不同)的比较结果,则ICD侧和SCD侧的节点并列显示,并突出显示ICD侧和SCD侧的节点不同的属性值。
通过比较,ICD侧和SCD侧的节点DataSet标签名DataSet相同、关键属性name的值dsRelayDin相同,判断ICD侧和SCD侧的节点是相同节点,ICD侧和SCD侧的其它属性如desc的属性值也相同,但是ICD侧和SCD侧的各属性的顺序不同,属于“顺乱”(顺序混乱)的比较结果,则ICD侧和SCD侧的节点并列显示,并突出显示ICD侧和SCD侧的第一个位置不同的属性及其属性值。
如图2b所示,通过比较,发现两侧DAI节点name属性值dataNs的下属Val节点既是开始节点,同时也是结束节点,两侧的内容不同,属于“不同”的比较结果,则并列显示它们,并突出显示它们不同的文本部分,同时保留其各级父辈<DAI>、<DOI>的节点内容。
实施例3
在实施例1的基础之上,在S5中,所述则分别进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示,包括以下步骤:
若ICD侧与SCD侧的当前节点的标签、关键属性值都不相同,则首先在链表B中循环查找与ICD侧的当前节点的标签、关键属性值都相同的目标相同节点,然后在链表A中循环查找与SCD侧的当前节点的标签、关键属性值都相同的目标相同节点;
若在链表B中找到对应的目标相同节点,且在链表A中没有找到对应的目标相同节点,则SCD侧的当前节点和目标相同节点之间的各行节点都标记为“新增”,而ICD侧的相应各行都设置为空行;
若在链表B中没有找到对应的目标相同节点,且在链表A中找到对应的目标相同节点,则ICD侧的当前节点和目标相同节点之间的各行节点都标记为“删除”,而SCD侧的相应各行都设置为空行;
若在链表B和链表A中都能找到对应的目标相同节点,则获取ICD侧的当前节点与SCD侧的目标相同节点各自的各级子孙节点,若各级子孙节点都相同,则ICD侧的当前节点与SCD侧的目标相同节点及其各级子孙都不显示,若各级子孙节点至少有一个不相同的子孙,则显示ICD侧与SCD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,获取SCD侧的目标相同节点与SCD侧的当前节点之间的距离m;
同时获取SCD侧的当前节点与ICD侧的目标相同节点各自的各级子孙节点,若各级子孙节点都相同,则SCD侧的当前节点与ICD侧的目标相同节点及其各级子孙都不显示,若各级子孙节点至少有一个不相同的子孙,则显示SCD侧与ICD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,获取ICD侧的目标相同节点与ICD侧的当前节点之间的距离n;
若m小于n,则SCD侧的当前节点和目标相同节点之间的各行节点都标记为“新增”,而ICD侧的相应各行都设置为空行;
若m大于等于n,则ICD侧的当前节点和目标相同节点之间的各行节点都标记为“删除”,而SCD侧的相应各行都设置为空行;
若在链表B和链表A中都没有找到对应的目标相同节点,则ICD侧的当前节点标记为“删除”,SCD侧右侧的当前行设置为空行,同时,SCD侧的当前节点标记为“新增”,SCD侧的当前节点在空行下一行显示内容,ICD侧左侧设置为空行。
工作时:加载一个ICD文件PCS-931.icd和一个SCD后,选取该SCD中IED 220kV保护装置A作为目标IED,分别解析ICD侧和SCD侧的IED节点的内容进行差异比较,分别解析ICD侧和SCD侧的IED节点及其子孙内容加入到链表A、链表B中。
如图3所示,通过比较,发现ICD侧和SCD侧的DataSet节点name属性值dsRelayDin的下属FCDA节点有删除、新增的比较结果,ICD侧有3个FCDA节点属于ICD侧有、而SCD侧没有的情况,即属于“删除”的比较结果,显示当前节点,并同时在SCD侧增加空行;SCD侧有3个FCDA节点属于ICD侧没有、而SCD侧有的情况,即属于“新增”的比较结果,显示当前节点,并同时在ICD侧增加空行。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.ICD文件与SCD中对应IED的内容差异比较方法,其特征在于:包括以下步骤:
S1、获取ICD侧IED节点的型号、厂家、版本号属性,获取SCD侧所有IED对应的型号、厂家、版本号属性;将ICD侧IED的型号、厂家、版本号属性与SCD侧各IED的型号、厂家、版本号属性进行匹配,获取型号、厂家、版本号属性一致的目标IED;
S2、解析ICD侧IED节点的各级子孙内容,存入到链表A;解析SCD侧目标IED的各级子孙内容,存入到链表B;
S3、逐行比较链表A中ICD侧与链表B中SCD侧的当前节点的标签、关键属性值是否都相同,判断ICD侧与SCD侧的当前节点是否相同;
S4、若ICD侧与SCD侧的当前节点相同,则分别对两侧当前相同节点的各非关键属性以及各级子孙节点进行比较,根据比较结果进行显示;
S5、若ICD侧与SCD侧的当前节点不相同,则进行交叉比较,查找相同节点获取比较结果,并根据比较结果进行显示,包括以下步骤:
若ICD侧与SCD侧的当前节点的标签、关键属性值都不相同,则首先在链表B中循环查找与ICD侧的当前节点的标签、关键属性值都相同的目标相同节点,然后在链表A中循环查找与SCD侧的当前节点的标签、关键属性值都相同的目标相同节点;
若在链表B中找到对应的目标相同节点,且在链表A中没有找到对应的目标相同节点,则SCD侧的当前节点和目标相同节点之间的各行节点都标记为“新增”,而ICD侧的相应各行都设置为空行;
若在链表B中没有找到对应的目标相同节点,且在链表A中找到对应的目标相同节点,则ICD侧的当前节点和目标相同节点之间的各行节点都标记为“删除”,而SCD侧的相应各行都设置为空行;
若在链表B和链表A中都能找到对应的目标相同节点,则获取ICD侧的当前节点与SCD侧的目标相同节点各自的各级子孙节点,若各级子孙节点都相同,则ICD侧的当前节点与SCD侧的目标相同节点及其各级子孙都不显示,若各级子孙节点至少有一个不相同的子孙,则显示ICD侧与SCD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,获取SCD侧的目标相同节点与SCD侧的当前节点之间的距离m;
同时获取SCD侧的当前节点与ICD侧的目标相同节点各自的各级子孙节点,若各级子孙节点都相同,则SCD侧的当前节点与ICD侧的目标相同节点及其各级子孙都不显示,若各级子孙节点至少有一个不相同的子孙,则显示SCD侧与ICD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,获取ICD侧的目标相同节点与ICD侧的当前节点之间的距离n;
若m小于n,则SCD侧的当前节点和目标相同节点之间的各行节点都标记为“新增”,而ICD侧的相应各行都设置为空行;
若m大于等于n,则ICD侧的当前节点和目标相同节点之间的各行节点都标记为“删除”,而SCD侧的相应各行都设置为空行;
若在链表B和链表A中都没有找到对应的目标相同节点,则ICD侧的当前节点标记为“删除”,SCD侧右侧的当前行设置为空行,同时,SCD侧的当前节点标记为“新增”,SCD侧的当前节点在空行下一行显示内容,ICD侧左侧设置为空行。
2.根据权利要求1所述的ICD文件与SCD中对应IED的内容差异比较方法,其特征在于:在S1中,所述获取型号、厂家、版本号属性一致的目标IED,包括以下步骤:
将ICD侧IED的型号、厂家、版本号属性组合成IED源头字符串,将SCD侧各IED的型号、厂家、版本号属性组合成比较字符串;将源头字符串分别与SCD侧各IED的比较字符串进行匹配,找到第一个匹配的目标IED。
3.根据权利要求1所述的ICD文件与SCD中对应IED的内容差异比较方法,其特征在于:在S1中,若匹配失败,则手动指定目标IED。
4.根据权利要求1所述的ICD文件与SCD中对应IED的内容差异比较方法,其特征在于:在S3中,所述判断ICD侧与SCD侧的当前节点是否相同,包括以下步骤:
若ICD侧与SCD侧的当前节点的标签名、关键属性值都相同,则判断ICD侧与SCD侧的当前节点相同,反之判断ICD侧与SCD侧的当前节点不相同。
5.根据权利要求1所述的ICD文件与SCD中对应IED的内容差异比较方法,其特征在于:在S4中,所述则分别对两侧当前相同节点的各非关键属性以及各级子孙节点进行比较,根据比较结果进行显示,包括以下步骤:
若比较出ICD侧与SCD侧有的属性顺序不同,则标记为“顺乱”,突出显示ICD侧与SCD侧第一个顺序不同的属性及其属性值;若某个非关键属性值不同,则标记为“属不”,突出显示ICD侧与SCD侧的该属性的各自属性值;
获取ICD侧与SCD侧相同节点各自的各级子孙节点;
若ICD侧与SCD侧相同节点不存在各级子孙节点,则获取ICD侧与SCD侧相同节点各自的内容,若ICD侧与SCD侧相同节点各自的内容不同,则标记为“不同”,并在界面上ICD侧与SCD侧并列显示出来;
若ICD侧与SCD侧的各级子孙节点都相同,则ICD侧与SCD侧的当前相同节点及其各级子孙都不显示;若ICD侧与SCD侧至少有一个不相同的子孙,则显示ICD侧与SCD侧不同的子孙节点内容,并保留该子孙的各级父辈节点,并列显示ICD侧与SCD侧的各级父辈节点的开始行和结束行的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810699576.XA CN109145167B (zh) | 2018-06-29 | 2018-06-29 | Icd文件与scd中对应ied的内容差异比较方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810699576.XA CN109145167B (zh) | 2018-06-29 | 2018-06-29 | Icd文件与scd中对应ied的内容差异比较方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109145167A CN109145167A (zh) | 2019-01-04 |
CN109145167B true CN109145167B (zh) | 2021-11-09 |
Family
ID=64802558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810699576.XA Active CN109145167B (zh) | 2018-06-29 | 2018-06-29 | Icd文件与scd中对应ied的内容差异比较方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109145167B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817599B (zh) * | 2021-01-27 | 2023-06-23 | 南京大学 | 软件函数形式语义及形式化证明脚本自动生成方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102005818A (zh) * | 2010-11-10 | 2011-04-06 | 国电南瑞科技股份有限公司 | 一种在线检测scd文件和ied模型一致性的方法 |
CN103218398A (zh) * | 2013-03-13 | 2013-07-24 | 江苏省电力公司电力科学研究院 | 智能变电站scl文件差异性比较方法 |
CN103578048A (zh) * | 2013-11-13 | 2014-02-12 | 国家电网公司 | 一种对智能变电站scl文件配置相关信息校核及比对方法 |
CN103631854A (zh) * | 2013-09-27 | 2014-03-12 | 国家电网公司 | 基于模型对象化语义的icd与scd一致性校验方法 |
CN103761681A (zh) * | 2014-01-17 | 2014-04-30 | 国网四川省电力公司电力科学研究院 | 智能变电站SCD与Excel虚端子表的智能比对方法 |
CN104636490A (zh) * | 2015-02-28 | 2015-05-20 | 国网浙江省电力公司杭州供电公司 | 一种智能变电站scd文件图形化比对方法 |
CN106649501A (zh) * | 2016-10-11 | 2017-05-10 | 国网四川省电力公司电力科学研究院 | 变电站监控数据库访问模型与scd一致性校验系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516541B (zh) * | 2012-06-29 | 2017-08-08 | 北京东土科技股份有限公司 | 基于智能化变电站的配置信息自动管理方法 |
-
2018
- 2018-06-29 CN CN201810699576.XA patent/CN109145167B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102005818A (zh) * | 2010-11-10 | 2011-04-06 | 国电南瑞科技股份有限公司 | 一种在线检测scd文件和ied模型一致性的方法 |
CN103218398A (zh) * | 2013-03-13 | 2013-07-24 | 江苏省电力公司电力科学研究院 | 智能变电站scl文件差异性比较方法 |
CN103631854A (zh) * | 2013-09-27 | 2014-03-12 | 国家电网公司 | 基于模型对象化语义的icd与scd一致性校验方法 |
CN103578048A (zh) * | 2013-11-13 | 2014-02-12 | 国家电网公司 | 一种对智能变电站scl文件配置相关信息校核及比对方法 |
CN103761681A (zh) * | 2014-01-17 | 2014-04-30 | 国网四川省电力公司电力科学研究院 | 智能变电站SCD与Excel虚端子表的智能比对方法 |
CN104636490A (zh) * | 2015-02-28 | 2015-05-20 | 国网浙江省电力公司杭州供电公司 | 一种智能变电站scd文件图形化比对方法 |
CN106649501A (zh) * | 2016-10-11 | 2017-05-10 | 国网四川省电力公司电力科学研究院 | 变电站监控数据库访问模型与scd一致性校验系统及方法 |
Non-Patent Citations (5)
Title |
---|
Efficient maintenance testing in digital substations based on IEC 61850 edition 2;Alexander Apostolov;《Protection and Control of Modern Power Systems》;20171231;全文 * |
基于分层匹配和最长公共子序列的SCD文件比较算法;徐睿等;《计算机系统应用》;20161231;全文 * |
智能变电站SCD智能比对软件的设计与实现;郑永康等;《四川电力技术》;20141031;第37卷(第5期);全文 * |
智能变电站SCD虚连接辅助设计关键技术的研究与开发;田力智;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20170115;第4章 * |
智能变电站图模一体化设计软件实现方案;叶翔等;《江苏电机工程》;20140531;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109145167A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138752B (zh) | 智能变电站scd文件历史回溯差异化比较及展示方法 | |
CN112953737B (zh) | 配置异常检测方法、服务器以及存储介质 | |
CN108388640B (zh) | 一种数据转换方法、装置以及数据处理系统 | |
US7478305B2 (en) | Method and apparatus for interactive generation of device response templates and analysis | |
CN109359841B (zh) | 一种档案可视化的线上线下准实时同步方法及系统 | |
CN107729576A (zh) | 档案的管理方法和系统 | |
CN111291024A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN102567565B (zh) | 一种电缆参数的处理方法和系统 | |
CN107463711A (zh) | 一种数据的标签匹配方法及装置 | |
CN109977383A (zh) | 一种基于Excel的表单信息提取方法 | |
CN114153980A (zh) | 知识图谱构建方法和装置、检查方法、存储介质 | |
Stephan et al. | Using mutation analysis for a model-clone detector comparison framework | |
CN111143370B (zh) | 用于分析多个数据表之间关系的方法、设备和计算机可读存储介质 | |
CN102929999A (zh) | 对比数据异同的方法及装置 | |
CN112672370A (zh) | 网元指标数据的自动检测方法及系统、设备和存储介质 | |
CN111598535A (zh) | 一种基础物料的导入方法、系统、计算机设备 | |
CN109145167B (zh) | Icd文件与scd中对应ied的内容差异比较方法 | |
CN112307124A (zh) | 数据库同步验证方法、装置、设备及存储介质 | |
CN110806977A (zh) | 基于产品需求的测试用例集生成方法、装置及电子设备 | |
CN114661584A (zh) | 一种用于软件测试的测试装置及使用方法 | |
CN113360603A (zh) | 一种合同相似性及合规性检测方法及装置 | |
CN104636471A (zh) | 一种程序代码的查找方法及装置 | |
CN112925874B (zh) | 基于案例标记的相似代码搜索方法及系统 | |
JP4728073B2 (ja) | データベース変更点検索方法および装置 | |
CN112559773A (zh) | 一种知识图谱系统搭建方法及装置 |
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 |