基于异构信息模型映射的配网信息交互方法及系统与流程

文档序号:12863872阅读:203来源:国知局
基于异构信息模型映射的配网信息交互方法及系统与流程

本发明涉及电力系统信息集成领域,尤其涉及的是一种基于异构信息模型映射的配网信息交互方法及系统。



背景技术:

智能电网的快速发展带来了大量跨系统互动业务。由于各业务部门引入的分布式应用系统互不兼容,用电客户需要在各子系统间来回切换,导致重复工作、效率低下,形成“信息孤岛”。这不仅提高了信息交换的难度,也带来了管理障碍。标准化是保障数据一致性、消除“信息孤岛”的有效武器,构建国际通用的标准及统一语义的电网信息模型是较为理想的技术路线和发展方向。针对电力企业的集成需求,国际电工委员会(internationalelectrotechnicalcommission,iec)制定了一系列国际标准,用于规范系统或应用间信息交互的语法、语义、格式及接口。iec61970系列标准定义的cim(commoninformationmodel,公共信息模型)模型为异构系统间信息交互提供了公共语义基础,也使得数据交互具有灵活性和可扩展性;iec61968标准主要关注配电自动化系统的信息交互,其定义的接口参考模型(interfacereferencemodel,irm)规定了信息交换格式,有利于消除异构系统和应用间的信息孤岛。

标准化的统一信息模型是实现信息集成和数据交互的基础。cim/xml将cim表述为使用rdf/xml作为交换具体系统模型语言的rdfschema词汇集。iec61970标准采用基于该词汇集的xml文件来描述能够映射到cim模型中的电力系统交互数据,并以此为载体,实现异构子系统间的数据交换。由于xml的开放性和灵活性,用户可定义私有标签,即私有扩展。国内外制定了一系列一致性测试方案,用于检验模型的标准化程度,避免因模型版本和私有扩展存在差异导致高级应用和业务系统不满足统一的语义、语法,影响信息集成效率和互操作成功率。

为了满足信息集成和数据交互的需求,除了标准化,信息模型的差异化比对和融合也尤为关键;然而电力系统信息模型的无缝融合始终是一项国际化难题。由于模型规模庞大、程度复杂,而且亟待融合的模型双方都处于动态更新中,造成交互语义的不可解析,从而使组件间的数据无法共享,智能配电网信息集成难以实现。模型互不兼容问题可能阻碍智能配电网的全局信息交互,为此,iectc57专门成立第19工作组来解决iec61970、iec61968和iec61850之间协调、融合和互操作的难题。但是,到目前为止仍存在大量技术难点需要解决和完善。国家电网公司也积极开展了部分基于信息模型标准的互操作试验和试点工程,但与真正实现深入的模型间融合仍有巨大差距。

面对大量的系统异构,目前信息模型分析技术仅限于模型层的比较和数据层的一致性校验,未涉及到基于模型映射的信息交互。



技术实现要素:

本发明所要解决的技术问题是提供一种基于异构信息模型映射的配网信息交互方法及系统,解决传统互操作试验、以及电力企业信息集成过程中因模型异构导致的语义冲突问题。

为解决上述问题,本发明提出一种基于异构信息模型映射的配网信息交互方法,包括以下步骤:

s1:获取至少两个不同版本的cim/xml电网模型的基本模型,分别解析为本体语言描述的本体模型;

s2:针对两个本体模型,遍历本体模型内所有模型元素,根据不同本体模型中的元素间的相似度高低得到元素间的若干最优映射关系;

s3:将每对最优映射关系以一条xpath路径表达式格式存储;

s4:遍历全部xpath路径表达式,将映射关系文件的全部xpath路径翻译成包含相应模板规则的一xslt脚本,所述模板规则包括模式和模板,所述模式用于在源xml文档中定位节点,所述模板用于定义对应节点的映射处理规则;

s5:获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,遍历全部待转换节点,与所述xslt脚本完成模式匹配和模板匹配,通过xslt处理器完成各节点的转换,形成目标xml文档。

根据本发明的一个实施例,所述步骤s1包括以下步骤:

s11:存储至少两个不同版本的cim/xml电网模型的基本模型至数据仓库;

s12:根据源xml文件对应的第一版本,导入第一版本对应的cim/xml电网模型的基本模型;

s13:对所述第一版本对应的cim/xml电网模型的基本模型进行解析,并校验该cim/xml电网模型的基本模型的rdf语法格式,若结果为是,则继续;

s14:将所述第一版本对应的cim/xml电网模型的基本模型在内存中转换为第一本体模型,导入rdfs规则文档,完成rdfs模式验证,检查所述第一本体模型是否符合rdfs定义的通用规则,若结果为是,则继续;

s15:根据目标xml文件对应的第二版本,导入第二版本对应的cim/xml电网模型的基本模型;

s16:对所述第二版本对应的cim/xml电网模型的基本模型进行解析,并校验该cim/xml电网模型的基本模型的rdf语法格式,若结果为是,则继续;

s17:将所述第二版本对应的cim/xml电网模型的基本模型在内存中转换为第二本体模型,导入rdfs规则文档,完成rdfs模式验证,检查所述第二本体模型是否符合rdfs定义的通用规则,若结果为是,则继续。

根据本发明的一个实施例,所述步骤s2包括:遍历两个本体模型内的所有模型元素,判断元素中的名称和结构的相似度,以相似度高的作为最优映射关系,得到若干最优映射关系,元素与元素之间为一对一映射关系或一对多映射关系。

根据本发明的一个实施例,所述判断元素中的名称和结构的相似度,以相似度高的元素之间的关系作为最优映射关系包括:

首先判断两个模型间元素中的名称,若相似度为100%,则将相应元素之间的关系作为最优映射关系;否则再判断两个模型间元素中的结构的相似度,在名称和结构的相似度分别超过一定值时,对两个模型间元素中的名称和结构的相似度进行加权求和,计算综合匹配度,以综合匹配度高的作为元素间的最优映射关系。

根据本发明的一个实施例,所述步骤s5包括以下步骤:

s51:创建一新的转换工厂实例,进行xslt处理;

s52:获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,抽取所有待转换节点组装成源节点树;

s53:深度遍历源节点树中的全部待转换节点,并一一与xslt脚本中的每条模板规则的模式进行比较,若模式匹配且存在匹配的模板,则引用对应模板处理该待处理节点,并将转换结构插入目标节点树;

s54:完成全部待转换节点的xslt转换后,得到组装的目标节点树,根据目标节点树输出目标xml文档。

根据本发明的一个实施例,还包括步骤s6:运用一致性测试工具测试生成的目标xml文档是否符合信息交互的语义规范,生成验证文档。

根据本发明的一个实施例,所述xpath路径表达式包括:源模型节点名、目标模型节点名、源模型类名、目标模型类名、原模型属性名、目标模型属性名及映射转换操作。

本发明还提供一种基于异构信息模型映射的配网信息交互系统,包括:

数据仓库模块,用于存储至少两个不同版本的cim/xml电网模型的基本模型,至少能够与源xml文档和目标xml文档的版本对应;

数据库连接模块,用于从所述数据仓库模块中获取两个不同版本的cim/xml电网模型的基本模型,并分别解析为本体语言描述的本体模型;

映射模块,用于:

针对两个本体模型,遍历本体模型内所有模型元素,根据不同本体模型中的元素间的相似度高低得到元素间的若干最优映射关系;

将每对最优映射关系以一条xpath路径表达式格式存储;以及

转换模块,用于:

遍历全部xpath路径表达式,将映射关系文件的全部xpath路径翻译成包含相应模板规则的一xslt脚本,所述模板规则包括模式和模板,所述模式用于在源xml文档中定位节点,所述模板用于定义对应节点的映射处理规则;

获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,遍历全部待转换节点,与所述xslt脚本完成模式匹配和模板匹配,通过xslt处理器完成各节点的转换,形成目标xml文档。

根据本发明的一个实施例,还包括模型数据输入模块,用于导入与导出所述待处理的源xml文档。

根据本发明的一个实施例,还包括:

用户登录模块,用于电力企业用户身份的认证,以实现访问;

用户界面模块,用于异构信息模型映射的解析结果、映射结果、转换结果的显示;

用户操作模块,用于解析结果、映射结果、转换结果的管理与修正。

采用上述技术方案后,本发明相比现有技术具有以下有益效果:

本发明解决电网企业信息集成在语义规范上的不一致以及互操作过程中出现的模型不匹配问题,便于异构cim模型的维护和升级,可以为电力运营商在规范企业级消息总线、维护各系统厂商模型与消息一致性方面提供很好的支撑;

本发明提出的信息交互机制基于可扩展样式表语言xslt,从数据层实现对交互消息xml文件格式的转换,即可以实现异构信息模型映射的配网信息交互;

本发明提出的信息交互系统,既可以实现总线上实时交互信息的采集与处理,对总线交互信息进行在线转换与验证,也可以离线对交互的消息进行转换与验证。

附图说明

图1为本发明一实施例的基于异构信息模型映射的配网信息交互方法的流程示意图;

图2为本发明一实施例的模型映射转换原理示意图;

图3为本发明一实施例的基于异构信息模型映射的配网信息交互方法的架构图;

图4为本发明一实施例的基于异构信息模型映射的配网信息交互系统的架构图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。

参看图1,本发明提出一种基于异构信息模型映射的配网信息交互方法,包括以下步骤:

s1:获取至少两个不同版本的cim/xml电网模型的基本模型,分别解析为本体语言描述的本体模型;

s2:针对两个本体模型,遍历本体模型内所有模型元素,根据不同本体模型中的元素间的相似度高低得到元素间的若干最优映射关系;

s3:将每对最优映射关系以一条xpath路径表达式格式存储;

s4:遍历全部xpath路径表达式,将映射关系文件的全部xpath路径翻译成包含相应模板规则的一xslt脚本,所述模板规则包括模式和模板,所述模式用于在源xml文档中定位节点,所述模板用于定义对应节点的映射处理规则;

s5:获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,遍历全部待转换节点,与所述xslt脚本完成模式匹配和模板匹配,通过xslt处理器完成各节点的转换,形成目标xml文档。

参看图1-3,下面对基于异构信息模型映射的配网信息交互方法进行具体的描述,但不应以此为限。

cim/xml电网模型的基本模型是现有的模型,具有多个版本,随着cim模型的版本更新和应用领域的不断拓展,产生了大量异构的电力系统交互数据。配电网交互数据量大,且交互信息多变,在异构xml数据间人工完成匹配映射是对人力的极大消耗,且容易出现错漏。xml将数据与显示分开,若要显示文档中的数据,就要给xml文档添加样式信息。一种选择是使用css(cascadingstylesheets,层叠样式表),另一种选择就是使用xslt。xslt比css要复杂很多,功能也更强大。css不能对源xml文档的数据进行计算、整理和排序,而这些在xslt中容易实现。

在步骤s1中,获取至少两个不同版本的cim/xml电网模型的基本模型进行解析,并分别转换为本体语言描述的本体模型。通过解析,可以将模型内的各个信息元素分解出来,从而可以在完成对cim模型xmi文件的本体解析后,建立哈希表以节点形式存储模型信息,构建待映射元素集,提升了模型解析与读取的效率和准确度。

本体语言具有强语义和较为完备的逻辑推理机制,因此使用本体解析可以得到cim模型的所有信息。可选的,cim的本体模型由owl语言描述,可由rdfs规则验证。owl语言包含三种子语言,为owl-lite、owl-dl及owl-full。

具体的,步骤s1进一步包括以下步骤:

s11:存储至少两个不同版本的cim/xml电网模型的基本模型至数据仓库;

s12:根据源xml文件对应的第一版本,导入第一版本对应的cim/xml电网模型的基本模型;

s13:对所述第一版本对应的cim/xml电网模型的基本模型进行解析,并校验该cim/xml电网模型的基本模型的rdf语法格式,若结果为是,则继续;若结果为否,则报出语法错误提示;

s14:将所述第一版本对应的cim/xml电网模型的基本模型在内存中转换为第一本体模型,导入rdfs规则文档,完成rdfs模式验证,检查所述第一本体模型是否符合rdfs定义的通用规则,若结果为是,则继续;

s15:根据目标xml文件对应的第二版本,导入第二版本对应的cim/xml电网模型的基本模型;

s16:对所述第二版本对应的cim/xml电网模型的基本模型进行解析,并校验该cim/xml电网模型的基本模型的rdf语法格式,若结果为是,则继续;若结果为否,则报出语法错误提示;

s17:将所述第二版本对应的cim/xml电网模型的基本模型在内存中转换为第二本体模型,导入rdfs规则文档,完成rdfs模式验证,检查所述第二本体模型是否符合rdfs定义的通用规则,若结果为是,则继续。

模型转换是在两个模型之间进行的,在具有多个版本的模型时,可以分别执行基于异构信息模型映射的配网信息交互方法来一一进行转换。

在步骤s2中,针对两个本体模型,遍历本体模型内所有模型元素,根据不同本体模型中的元素间的相似度高低得到元素间的若干最优映射关系。

由于版本更新时,大部分元素信息都做了保留,只有少部分的名称或结构上的更新,因而只要对两个模型解析出来的元素的相似度进行分析,尤其是名称和结构的相似度,如果相似度高,说明相应的两个元素之间是对应的,可以发生映射转换。

较佳的,步骤s2包括:遍历两个本体模型内的所有模型元素,判断元素中的名称和结构的相似度,以相似度高的作为最优映射关系,得到若干最优映射关系,元素与元素之间为一对一映射关系或一对多映射关系。

更佳的,判断元素中的名称和结构的相似度,以相似度高的元素之间的关系作为最优映射关系进一步包括:

首先判断两个模型间元素中的名称,若相似度为100%,则将相应元素之间的关系作为最优映射关系;否则再判断两个模型间元素中的结构的相似度,在名称和结构的相似度分别超过一定值时,对两个模型间元素中的名称和结构的相似度进行加权求和,计算综合匹配度,以综合匹配度高的作为元素间的最优映射关系。

基于待映射元素集的名称及结构相似度,可以导出映射转换规则库。

在步骤s3中,将每对最优映射关系以一条xpath路径表达式进行存储。为了方便后续的转换脚本生成,将映射关系以xpath形式存储成xml文件。

xpath路径表达式可以包括:源模型节点名、目标模型节点名、源模型类名、目标模型类名、原模型属性名、目标模型属性名及映射转换操作等,具体根据存储内容及路径而定。

在步骤s4中,遍历全部xpath路径表达式,将映射关系文件的全部xpath路径翻译成包含相应模板规则的一xslt脚本,模板规则包括模式和模板,所述模式用于在源xml文档中定位节点,所述模板用于定义对应节点的映射处理规则。为该脚本添加模型版本、编码、命名空间等信息。

为了实现xml转换,需要将映射关系文件的所有xpath路径翻译成xslt脚本。xslt脚本中包含一系列模板规则。模板规则由模式和模板两部分组成,模式用于在xml源文档中定位节点,模板为所有节点定义处理规则。每个模板规则都由标签<xsl:template>标明,用属性match来指定模式,由元素内容构成模板,并通过模板的实例化来构成结果树。指定模式的属性可以包括源xml文档版本的类、属性及关联关系(元素,或称元数据信息),后续通过相应的元素进行定位。

扩展样式表转换语言(extensiblestylesheetlanguagetransformation,xslt)可实现xml数据的转换,即将xml源树转换为xml结果树。电力系统信息模型数据层采用扁平的cim/rdf格式,属于良构(well-formed)的xml文档。xslt技术能对树状结构存储的xml文档进行转换,并可以控制输出的格式。因此,可以运用xslt语言完成异构信息模型的数据层转换。

在步骤s5中,获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,遍历全部待转换节点,与所述xslt脚本完成模式匹配和模板匹配,通过xslt处理器完成各节点的转换,形成目标xml文档。

应用转换引擎读取并解析待转换的源xml文档,同时加载xslt脚本,实现异构模型间交互数据的自动转换。

具体的,步骤s5(转换引擎)进一步包括以下步骤:

s51:创建一新的转换工厂实例,进行xslt处理;转换工厂实例可以通过java转换工厂(transformerfactory)创建;

s52:获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,抽取所有待转换节点组装成源节点树;

s53:深度遍历源节点树中的全部待转换节点,并一一与xslt脚本中的每条模板规则的模式进行比较,若模式匹配且存在匹配的模板,则引用对应模板处理该待处理节点,并将转换结构插入目标节点树;如果找不到相匹配的模板,意味着找不到映射对象,即源模型中的该节点在映射到新模型的过程中被删除;

s54:完成全部待转换节点的xslt转换后,得到组装的目标节点树,根据目标节点树输出目标xml文档。

运用java转换工厂(transformerfactory)作为xslt处理器,解析出源xml文档中的类、属性及关联关系,深度遍历所有待转换节点,与xslt脚本完成模式匹配及模板匹配,用xslt处理器完成对节点集的相应转换操作,将分散的数据段拼接整合,形成完整的目标xml文档。

xpath作为在xslt中使用的一种表达式语言,能够识别xml文档中的组成元素,选择文档中的所有节点。xpath位置路径(locationpath)能够很好的存储映射关系中的每个映射节点、其子节点及转换操作,从而生成对应的xslt脚本。xslt处理过程包含四个要素:输入xml文档、输入xslt脚本、xslt处理器及输出xml文档。xslt脚本本身也是一种良构的xml文档,与源模型xml文档一样作为xslt处理器的输入,在转换过程中不被修改。

在一个实施例中,基于异构信息模型映射的配网信息交互方法还可以包括步骤s6:运用一致性测试工具测试生成的目标xml文档是否符合信息交互的语义规范,生成验证文档。转换出的xml文档若能通过所述一致性测试,则说明转换得到的数据符合新版本模型语义,信息交互成功。

一致性测试工具基于cimschema和cimprofile的本体集成验证方法来分析模型与语义的一致性。

本发明实施例是从实际的cim/xml(公共信息模型commoninformationmodel/可扩展标记语言extensiblemarkuplanguage)电网模型中解析出元数据信息,运用基于本体的模型映射算法处理元数据信息,生成最优映射关系集,并存储成xpath路径格式。将路径表达式翻译成一系列模板规则,用模板规则属性来定位xml源文档的节点,由元素内容构成的模板为节点定义处理规则,并通过模板的实例化来构成结果树。运用java转换工厂作为xslt处理器,遍历每个节点,并一一与xslt样式表中的每条模板规则的模式进行比较,处理与模板模式相匹配的节点,并将转换结果插入目标节点树。为了验证信息交互过程中xml数据与模型的语义一致性,提出采用一致性测试工具,运用基于cimschema和cimprofile的本体集成验证方法来进行验证。这种信息交互方法能够充分利用xslt技术在数据转换方面的优势,实现电网异构模型cim/xml元数据层的语义识别、交互与验证。

参看图4,本发明还提供一种基于异构信息模型映射的配网信息交互系统,包括:

数据仓库模块,用于存储至少两个不同版本的cim/xml电网模型的基本模型,至少能够与源xml文档和目标xml文档的版本对应;

数据库连接模块,用于从所述数据仓库模块中获取两个不同版本的cim/xml电网模型的基本模型,并分别解析为本体语言描述的本体模型;

映射模块,用于:

针对两个本体模型,遍历本体模型内所有模型元素,根据不同本体模型中的元素间的相似度高低得到元素间的若干最优映射关系;

将每对最优映射关系以一条xpath路径表达式格式存储;以及

转换模块,用于:

遍历全部xpath路径表达式,将映射关系文件的全部xpath路径翻译成包含相应模板规则的一xslt脚本,所述模板规则包括模式和模板,所述模式用于在源xml文档中定位节点,所述模板用于定义对应节点的映射处理规则;

获取待处理的源xml文档,解析出所述源xml文档中的类、属性及关联关系作为待转换节点,遍历全部待转换节点,与所述xslt脚本完成模式匹配和模板匹配,通过xslt处理器完成各节点的转换,形成目标xml文档。

根据本发明的一个实施例,还包括模型数据输入模块,用于导入所述待处理的源xml文档。

根据本发明的一个实施例,还包括:

用户登录模块,用于电力企业用户身份的认证,以实现访问;

用户界面模块,用于异构信息模型映射的解析结果、映射结果、转换结果的显示;

用户操作模块,用于解析结果、映射结果、转换结果的管理与修正。

数据仓库模块、数据库连接模块和数据输入模块属于物理层,映射模块以及转换模块属于功能层,用户登录模块、用户界面模块和用户操作模块属于用户层。

参看图4,功能层又分为模型层和数据层,模型层提出基于本体的异构信息模型映射算法,通过对模型节点名称和结构相似度的计算生成映射关系集,通过逐一计算综合评价指标,将指标最优的映射关系以路径表达式格式输出。以模型层映射关系为基础,在数据层生成模型数据的转换脚本,完成配电网异构模型的实例数据解析和转换。信息交互系统以webservice形式从信息交互总线接收符合iec61968标准格式的消息,提取消息体内的cim/rdf实例数据输入xslt处理器,转换输出新版本下的实例数据并封装成iec61968消息发送到信息交互总线。本发明解决电网企业异构信息模型间信息交互的难题,提升配网各系统交互效率,协助维护交互数据的一致性,便于实现,为智能配电网异构信息模型间的信息集成。

本发明能够解析cim/xml电网模型(包含扩展模型),并对cim/xml电网模型提供元素映射关机搜索、建立与筛选。在此基础上,将映射关系翻译成xslt转换脚本,对源xml文档进行解析、转换并测试其语义一致性。能够规范企业集成总线上交互信息的语义,利于电网异构模型的管理、维护与升级。

本发明虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1