用于智能变电站icd模型之间的一致性校验方法

文档序号:8528078阅读:422来源:国知局
用于智能变电站icd模型之间的一致性校验方法
【技术领域】
[0001] 本发明涉及一种电力系统领域的方法,具体讲涉及一种用于智能变电站ICD模型 之间的一致性校验方法。
【背景技术】
[0002] 国家电网公司为深化基建标准化建设,加强智能变电站信息模型标准化管理,规 范信息模型的检测要求,颁布了企业标准Q/GDW11156-2014《智能变电站二次系统信息模型 校验规范》(以下简称《规范》),推动智能变电站二次信息模型标准化应用,促进二次系统 信息模型校验的规范化,确保信息模型的有效性、完整性和一致性,确保不同厂家设备的互 操作性。
[0003] 《规范》中第7. 4节定义了不同I⑶模型文件之间的一致性校验,其中包括数据类 型模板冲突性检查和数据类型模板重复定义检查(冗余性检查)。
[0004] 数据类型模板冲突性检查针对不同I⑶模型文件中数据类型模板 〈DataTypeTemplates〉定义的各种数据类型是否存在内容不同、命名相同的情况,若存在, 说明该数据类型模板定义冲突,应进行区分命名。具体的校验内容包括:
[0005] 1)LNodeType是否存在冲突;
[0006] 2)D0Type是否存在冲突;
[0007] 3)DAType是否存在冲突;
[0008] 4)EnumType是否存在冲突。
[0009] 数据类型模板重复定义检查针对不同I⑶模型文件中数据类型模板 〈DataTypeTemplates〉定义的各种数据类型是否存在内容相同、命名不同的情况,若存在, 说明数据类型模板重复定义,应进行统一命名,具体的校验内容包括:
[0010] 1)LNodeType是否存在重复定义;
[0011] 2)DOType是否存在重复定义;
[0012] 3)DAType是否存在重复定义;
[0013] 4)EnumType是否存在重复定义。
[0014]目前,国内外尚未出现不同ICD模型文件数据类型模板冲突性和冗余性校验方 法,而传统的基于模型文本靠人力检查的方法效率十分低下。因此,本发明填补了这一方面 的空白,能够进行快速的、准确的对不同ICD模型文件进行数据类型模板的冲突性和冗余 性校验。

【发明内容】

[0015] 为克服上述现有技术的不足,本发明提供一种用于智能变电站ICD模型之间的一 致性校验方法。
[0016] 实现上述目的所采用的解决方案为:
[0017] 一种用于智能变电站ICD模型之间的一致性校验方法,其中,所述方法包括以下 步骤:
[0018] 1)建立模型结构体;
[0019] 2)输出冲突性校验结果;
[0020] 3)输出冗余性校验结果。
[0021] 局部解析并抽取ICD模型文件的属性信息,并对每个模板子节点的属性信息按照 一定的规则进行连接,生成特征字符串,然后采用MD5散列函数哈希算法计算生成第一层 哈希值,第一层哈希值与对应的属性信息组成第一层哈希表,即第一层哈希-属性信息表;
[0022] 将每个模板的所有子节点计算生成的第一层哈希值按照一定规则相连后,采用 MD5散列函数哈希算法计算生成第二层哈希值,第二层哈希值与对应的模板id组成第二层 哈希表,即模板id-第二层哈希表及第二层哈希-模板id表;
[0023] 所述模板id-第二层哈希表主键为模板id ;
[0024] 所述第二层哈希-模板id表主键为哈希值;
[0025] 第二层哈希值与对应的第一层哈希值组成的哈希关系表。
[0026] 采用SAX技术基于可扩展配置文件解析I⑶模型文件,抽取出I⑶模型文件的属 性信息,并根据属性信息通过哈希计算得到双层嵌套哈希表,包括以下步骤:
[0027] 1)、采用SAX技术按照深度优先的方式对ICD模型文件进行遍历,抽取出ICD模型 的属性信息。
[0028] 2)、属性信息包括以下内容:〈LNodeType〉中<DO>元素及其name、type属性; 〈DOType〉中有效的<SD0>元素及其name、type属性,<DA>元素及其name、bType、type (如果 有)、功能约束FC、有效的<Val>等属性;〈DAType〉中<BDA>元素及其name、bType、type (如 果有)属性;〈EnumType〉中〈EnumVal〉元素及其ord、text属性。
[0029] 3)、将每个模板子节点的属性信息按照以下格式进行连接:
[0030] 元素名:属性名1 =属性值1属性名2 =属性值2......
[0031] 4)、对连接后的属性信息采用MD5散列函数哈希算法计算得到128位的第一层哈 希值,模型文件中所有模板每个子节点的第一层哈希值和对应的属性信息组成第一层哈希 表,即第一层哈希-属性信息表。
[0032] 5)、将每个模板的所有子节点计算生成的第一层哈希值按照一定规则相连,连接 格式如下:哈希值1哈希值2哈希值3……。
[0033] 6)、对由第一层哈希值连接的字符串采用MD5算法得到第二层哈希值,第二层哈 希值与对应的模板id组成第二层哈希表,即模板id-第二层哈希表及第二层哈希-模板id 表;
[0034] 7)、由5)可以看出,第二层哈希表中每个哈希值都是由第一层哈希表中的部分哈 希值连接后采用MD5计算生成,因此第二层哈希值与第一层哈希值存在一对多关系,通过 这种关系得到由第二层哈希值与对应的第一层哈希值组成的哈希关系表。
[0035] 所述模型结构体包含以下内容:哈希关系表、第一层哈希-属性信息表、模板 id-第二层哈希表及第二层哈希-模板id表。
[0036] 根据模型结构体中模板id-第二层哈希表进行冲突性校验,具体步骤为:
[0037] 1)、抽取待检测的两个模型文件的模型结构体;
[0038] 2)、比对两个模型结构体中模板id-第二层哈希表,如果id相同,所对应的第二层 哈希值不同,则发生了冲突;
[0039]3)、发生冲突后,根据哈希关系表,找到发生冲突的第一层哈希值;
[0040]4)、根据特征字符串确定发生冲突的位置;比如特征字符串一个是:DA:bType = VisString255name = mRID,另一个是 DA:bType = Int name = mRID,即可判断哪里发生冲 突了。
[0041] 5)、输出冲突性校验结果。
[0042] 根据模型结构体中第二层哈
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1