一种基于开放消息总线的主备异构系统通信模型同步方法与流程

文档序号:14774333发布日期:2018-06-23 02:39阅读:325来源:国知局
一种基于开放消息总线的主备异构系统通信模型同步方法与流程

本发明涉及一种基于开放消息总线的主备异构系统通信模型同步方法,特别是一种电力系统调度自动化主备前置通信模型同步交互和CIM扩展解析方法,属于基于开放消息总线的主备异构系统通信模型同步方法的创新技术。



背景技术:

基于IEC61970标准CIM模型作为电网模型描述的载体在电力系统调度自动化领域广泛使用。CIM模型描述方式在规范中使用XML标准为载体IEC61970-552,业界称之为CIM/XML标准。目前CIM/XML遵循XML格式标准在计算机领域有大量的开发包支持对XML文件的解析处理,在工程实施方面有丰富的技术支撑。

符合JMS规范的通用、开放性的消息总线ActiveMQ在金融、电信、工控、互联网等多个行业广泛使用,其便利性、开放性在电力行业也得到了认可。使用ActiveMQ进行消息通信有发布订阅的一发多收、消息实时效率高等优点。



技术实现要素:

本发明的目的是提供一种基于开放消息总线的主备异构系统通信模型同步方法。本发明方法基于消息驱动的思路,制定处理CIM扩展规范中的各类保留字、标签符,通过订阅前置通信模型变化消息将扩展模型对象、属性数据映射解析。采用模型同步状态机制反馈前置模型的语法规范性。实现前置扩展模型同步流程化解析和监视。

本发明的目的是通过以下技术方案来实现的:在电力调度自动化系统中通讯厂站、通道、及四遥的前置通信模型变化通过消息总线交互和CIM模型扩展规范解析及语法校验,实现异构系统主备同步的操作共享和转发实时数据的模型支撑功能;在前置通信模型发生变化时将前置通信模型数据通过符合JMS规范的开放消息总线ActiveMQ的消息推送到异构系统,从异构系统加载模型解析并验证映射模型数据实现异构前置通信模型同步共享。

本发明与现有技术相比,具有如下的优点:

1)本发明更新实时,源端系统前置通信模型更新维护时同时出发模型变换消息发布同步通道,对端系统订阅消息实时消费进入模型同步流程启动;

2)本发明进行数据校验,通过前置模型状态迁移过程中定义的正常迁移、异常迁移实现模型数据流的数据正确性和语法规则校验;

3)本发明实现集中管理,通过统一开放的交互消息总线将异构系统交互集成后可高效管理,对模型数据交互流程可从业务应用到底层通信一体监视;

4)本发明规范通用,前置通信模型通过遵循IEC6170CIM/XML标准在不同厂家直接有广泛支持基础,具备先天通用性便于推广。

附图说明

图1为本发明模型校验执行流程图;

图2为本发明上下级调用交互示意图。

具体实施方式

以下将对本发明的优选实施例进行详细的描述;应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。

本发明是一种基于开放性消息总线交互前置通信的同步方法,在电力调度自动化系统中通讯厂站、通道、及四遥的前置通信模型变化通过消息总线交互和CIM模型扩展规范解析及语法校验,实现异构系统主备同步的操作共享和转发实时数据的模型支撑功能;在前置通信模型发生变化时将前置通信模型数据通过符合JMS规范的开放消息总线ActiveMQ的消息推送到异构系统,从异构系统加载模型解析并验证映射模型数据实现异构前置通信模型同步共享。上述前置通信模型信息以XML格式组织表示。

本发明基于开放消息总线的主备异构系统通信模型同步方法,包括有如下步骤:

1)定义解析前置通信模型的状态;

2)将字符流TextMessage类型消息对象作为消息交互类型;

3)定义异构系统模型类型映射关系;

4)执行解析根据前置模型同步状态划分正常状态、告警状态,其他迁移条件均作为错误状态。

本发明基于开放消息总线的主备异构系统通信模型同步方法,包括如下具体步骤:

11)采用符合JMS规范的开放性消息总线ActiveMQ作为异构系统间数据实时通信交互通道;

12)建立异构系统模型类型属性映射的域对应关系表;

13)将前置通信厂站、通道信息、遥测、遥信、遥调和置数测点模型信息以扩展符合IEC61970的公共信息模型CIM扩展规范表示并以XML格式组织;

14)关联信息属性以设备模型和厂站容器模型进行标准关联关系表示;

15)前置通信模型发生更新变化以ActiveMQ字符流的消息类型推送给异构系统同步;

16)在前置模型同步状态过程中完成属性名唯一性校验、属性个数和对象个数一致性校验,对未定义的状态迁移路径报出错误信息;

17)以字符流消息结束符作为前置通信模型完成解析标志。

本发明采用模型变换消息驱动模型实现对CIM扩展模型实时解析,同时对模型语法规范和正确性进行校验,本发明基于开放性消息总线交互前置通信包括通信厂站、通道和点表等信息模型,该方法基于消息驱动的思路,制定处理CIM扩展规范中的各类保留字、标签符,通过订阅前置通信模型变化消息将扩展模型对象、属性数据映射解析。采用模型同步状态机制反馈前置模型的语法规范性。实现前置扩展模型同步流程化解析和监视。

本发明具体操作时,包括如下实施步骤:

1.消息构成

JMS消息头(Header)。消息头包含JMS消息的识别信息和路由信息。

JMS消息属性(Properties)。如果需要除消息头字段以外的值,那么可以使用消息属性。

JMS消息体(Body)。JAVA消息服务规范定义的消息类型有TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage,其中TextMessage是String对象字符串内容;MapMessage是名/值对的集合,名是String对象,值类型可以是任何基本类型;BytesMessage是字节流内容;StreamMessage是输入输出流;ObjectMessage为可序列化对象。

采用发布订阅到方式并通过TextMessage类型的消息体以文本字符流进行数据通信,主题的命名需要全局唯一以业务描述和区域组合标识。前置模型解析过程根据流程定义包括模型同步开始、前置模型加载、前置模型校验、前置模型比较、前置模型保存等流程状态完成。

1.定义JMS消息字符流的组织格式按照CIM规范,头开始标志符“<?”、头结束标志符“?>”、类信息引导符“<”、类属性类信息子节点、类引用关联属性“rdf:resource”“rdf:ID”的开头标签属性值、类结束标志符“</”。

2.订阅前置变化消息通道,接收前置模型数据消息。

3.开始模型同步进入前置模型数据加载、前置模型数据校验、前置模型数据比较和前置模型保存流程环节。

4.反馈前置通信模型同步结果。

以CIM扩展模型交互的JMS字符流示例如下:

<?xml version="1.0"encoding="gbk"?>

<rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:cim="http://iec.ch/TC57/2003/CIM-schema-cim10#"

xmlns:cimNR="http://www.nari-relays.com/CIM/ext-schema#">

<cim:RTUrdf:ID="1407374885322753">

<cim:Naming.name>茂名站</cim:Naming.name>

<cim:Naming.description>茂名站</cim:Naming.description>

<cim:RTU.address>12</cim:RTU.address>

<cim:RTU.RefSubstationrdf:resource="#5066549603991553"/>

</cim:RTU>

<cim:AnalogInputrdf:ID="AI-281478562971653">

<cim:Naming.name>广西转发虚拟厂站系统::大化可调出力</cim:Naming.name>

<cim:AnalogInput.ICCPName>GX_KeDiaoChuLi_DaHuaChang</cim:AnalogInput.ICCPName>

<cim:AnalogInput.MemberOf_ScanBlockrdf:resource="#1688849934319618"/>

<cim:AnalogInput.MemberOf_RTUrdf:resource="#1407374899085313"/>

<cim:AnalogInput.address>537</cim:AnalogInput.address>

<cim:AnalogInput.b>0.000000</cim:AnalogInput.b>

<cim:AnalogInput.k>1.000000</cim:AnalogInput.k>

<cim:AnalogInput.threshold>5.000000</cim:AnalogInput.threshold>

<cim:AnalogInput.reverse>0</cim:AnalogInput.reverse>

<cim:AnalogInput.x1>0</cim:AnalogInput.x1>

<cim:AnalogInput.x2>0</cim:AnalogInput.x2>

<cim:AnalogInput.y1>5000000.000000</cim:AnalogInput.y1>

<cim:AnalogInput.y2>-1000000.000000</cim:AnalogInput.y2>

<cim:AnalogInput.Measurementrdf:resource="#15481132695617538"/>

</cim:AnalogInput>

<cim:Setpointrdf:ID="AO-2251800046927873">

<cim:Naming.name>柔直最大功率限制</cim:Naming.name>

<cim:Setpoint.MemberOf_ScanBlockrdf:resource="#1688850065653762"/>

<cim:Setpoint.MemberOf_RTUrdf:resource="#1407374905245697"/>

<cim:Setpoint.address>7</cim:Setpoint.address>

<cim:Setpoint.RefAdjustObjectrdf:resource="#15481131890900994"/>

</cim:Setpoint>

</rdf:RDF>

以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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