CN105117972A - 电网多环节互动终端集成方法 - Google Patents

电网多环节互动终端集成方法 Download PDF

Info

Publication number
CN105117972A
CN105117972A CN201510455711.2A CN201510455711A CN105117972A CN 105117972 A CN105117972 A CN 105117972A CN 201510455711 A CN201510455711 A CN 201510455711A CN 105117972 A CN105117972 A CN 105117972A
Authority
CN
China
Prior art keywords
service
data
application
interface
message
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.)
Pending
Application number
CN201510455711.2A
Other languages
English (en)
Inventor
汪春
许晓慧
张祥文
刘海璇
田炯
丁浩
郭瑞鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Ningxia Electric Power Co Ltd
Original Assignee
Zhejiang University ZJU
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Ningxia Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU, State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI, State Grid Ningxia Electric Power Co Ltd filed Critical Zhejiang University ZJU
Priority to CN201510455711.2A priority Critical patent/CN105117972A/zh
Publication of CN105117972A publication Critical patent/CN105117972A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种电网多环节互动终端集成方法,包括智能用电信息共享平台,智能用电信息共享平台与企业服务总线、应用内集成总线、服务总线相连接,其中企业服务总线通过消息接口与智能用电双向互动服务平台和智能用电信息共享平台相连接,应用内集成总线通过应用集成接口与双向互动服务终端和智能用电信息共享平台相连接,服务总线通过适配器与用电服务支撑系统和智能用电信息共享平台相连接。发明有益的效果是:本发明建立一种有利于实现电力企业各种分布式应用软件系统的应用间集成,它支会使用不同的计算机语言、操作系统、协议和管理工具,是以松耦合的方式,通过在事件驱动的基础上交换数据的各种应用,通过应用间代理消息的中间件服务实施。

Description

电网多环节互动终端集成方法
技术领域
本发明涉及一种电网多环节互动终端集成方法。
背景技术
应用集成架构描述不同类型的应用进行集成的内容、方法与原则,为应用系统集成提供一个参考框架;应用集成架构既适应同一安全分区内应用集成,又适应于不同安全分区间的应用集成。
应用集成架构承认现有应用系统的边界划分,其关注重点是应用间集成环境与基础框架,关注不同应用之间的接口集成关系,应用集成架构将规范各类应用在信息系统集成时定位与作用。
应用系统集成架构从信息系统本身描述集成时各应用系统间的功能关系,应用集成架构侧重于总线及平台所抽象出的公共服务,关注应用间的通用集成接口设计;而数据集成架构则侧重于集成时数据的组织、质量控制、元数据管理等;技术架构则侧重于应用与数据间集成时所采用的技术实现手段。因此,应用集成架构是数据集成架构实现的必要的前提。
发明内容
本发明要解决上述现有技术的缺点,提供一种电网多环节互动终端集成方法。
本发明解决其技术问题采用的技术方案:这种电网多环节互动终端集成方法,包括智能用电信息共享平台,智能用电信息共享平台与企业服务总线、应用内集成总线、服务总线相连接,其中企业服务总线通过消息接口与智能用电双向互动服务平台和智能用电信息共享平台相连接,应用内集成总线通过应用集成接口与双向互动服务终端和智能用电信息共享平台相连接,服务总线通过适配器与用电服务支撑系统和智能用电信息共享平台相连接。
发明有益的效果是:本发明建立一种有利于实现电力企业各种分布式应用软件系统的应用间集成,它支会使用不同的计算机语言、操作系统、协议和管理工具,是以松耦合的方式,通过在事件驱动的基础上交换数据的各种应用,通过应用间代理消息的中间件服务实施。
附图说明
图1是本发明的结构示意图;
具体实施方式
下面结合附图对本发明作进一步说明:
1.1.概述
应用集成架构描述不同类型的应用进行集成的内容、方法与原则,为应用系统集成提供一个参考框架;应用集成架构既适应同一安全分区内应用集成,又适应于不同安全分区间的应用集成。
应用集成架构承认现有应用系统的边界划分,其关注重点是应用间集成环境与基础框架,关注不同应用之间的接口集成关系,应用集成架构将规范各类应用在信息系统集成时定位与作用。
应用系统集成架构从信息系统本身描述集成时各应用系统间的功能关系,应用集成架构侧重于总线及平台所抽象出的公共服务,关注应用间的通用集成接口设计;而数据集成架构则侧重于集成时数据的组织、质量控制、元数据管理等;技术架构则侧重于应用与数据间集成时所采用的技术实现手段。因此,应用集成架构是数据集成架构实现的必要的前提。双向互动应用集成时首先必须遵循基于IEC61970/61968所规定的集成规范
双向互动应用集成架构在概念上主要包括组成:
■企业服务总线
■双向互动服务平台
■智能用电信息共享平台
■用电服务支撑系统
■双向互动服务平台内部总线
■双向互动服务终端
■应用集成接口
1.2.双向互动应用集成规范
考虑到与双向互动有关的应用之间技术与模型的差异,需要建立一种有利于实现电力企业各种分布式应用软件系统的应用间集成,它支会使用不同的计算机语言、操作系统、协议和管理工具,是以松耦合的方式,通过在事件驱动的基础上交换数据的各种应用,通过应用间代理消息的中间件服务实施
规范应是说明性的,包含所有服务交换需要的前置条件和后置条件、属性、方法和参数,这些服务交换是接口规范的一部分,规范与编程语言无关,并且接口与实现应能够分离,它应独立于中间件
IEC61968是一种电力企业应用集成的一种”公共语言”,它包含了电力企业应用集成的规范,它与IEC61970一起定义了灵活的业务模型,构建了一套标准的电力企业应用集成的接口参考模型,提供了一套规范的信息交换模型与组件接口规范。
IEC61968使用元数据描述应用发布的事件类型.预定接受某事件类型的全部消息的应用一旦查找到信息交换模型中的事件类型的元数据,就可以识别特定事件消息的各域,可以使用元数据作为手段来增加新的事件类型与IEC61968兼容。
对电网模型与集成服务进行综合管理是确保新建、改造后的应用服务能够充分共享、有效集成、“即插即用”的关键。由于接入总线的应用数据源类型繁多,为了保障其数据的可用性,需要借助CIM完成私有数据类型向公共数据类型的转换,因此,基于双向互动集成架构需要具备对元数据进行综合管理的能力,具有模型新建、扩展、维护等各种功能,元数据管理实际上为接入总线上的各类应用提供了一个公共的模型管理入口。对各类集成服务进行综合管理是保障总线可用性的基础手段,服务解决了如何访问数据的语法问题,长期以来,由于缺少对服务可用性的技术验证工具,导致无法从数据层面对接入总线上的服务提出质量要求;客观上阻碍了对数据质量要求较高的应用的接入。
集成规范包含四个方面的内容,即:
●信息模型管理:引入公共信息模型作为初始元模型,按照电网企业实际业务需求进行统一的拓展维护,形成双向互动标准信息模型;并在合适的时候,选择新版本的公共信息模型,合并进入双向互动标准信息模型。
●业务领域定义:把双向互动信息模型按业务领域进行划分,形成多个小规模的模型子集,降低业务集成人员的管理难度,和集成厂商的理解难度。
●业务语境定义:基于业务集成需求,从各个模型子集中抽取合适的元模型组合成合适的动词和名词,生成服务校验规则(ServiceSchema)。并可以基于本体论,添加描述力更强的数据校验规则。
●服务语法定义:基于集成服务的具体技术实现,将服务校验规则映射成为的服务接口定义,比如基于CIMXML的RDF/OWLSchema和基于消息的XMLMessageSchema。在一些的特殊环境下,还可以把名词中的元模型同现有系统中的数据字典进行关联,形成基于IEB服务总线的桥接器。
为了保障能够定义符合IEC61968的消息,需要设计一套业务集成需求驱动的消息定义流程及工具,保障集成服务的即插即用。
IEC61968消息定义需要符合相关的消息定义流程,具体而言,流程按以下顺序执行:
1消息定义首先必须符合CIM,即相关的模型的语义符合CIM及其子集,即首先定义相关子集,在设计时须选择具体的子集来进行定义
2消息定义其次必须定义相关的语境,即通过OWL定义相关的配置文件,用本体语言来实现相关业务规则的限制。配置文件是一套作用在Schema的约束。
3选择相关的动词与名词生成相关消息的Schema
1.3.企业服务总线(ESB)
企业服务总线作为应用集成的一个核心基础设施,它可以被各种中间件技术实现,使得按照SOA架构进行服务集成
1.3.1.ESB虚拟化实现
■位置和标识:参与方不需要知道其他参与方的位置或标识.例如,请求者不需要知道请求是否可以由某个提供者提供服务.可以随意添加或删除服务提供者,而不会带来任何干扰
■交互协议:参与方不需要采用相同的通信协议或交互方式.表达为SOAP/HTTP的请求可能由仅理解JAVA远程方法调用(RMI)的提供者提供服务
■接口:请求者和提供者不需要就公共接口达到协议,可以通过将请求消息转换为提供者所期望的格式来处理此类差异.
■(交互)服务质量(Qos):参与方声明其QoS要求,包括性能和可靠性,请求的授权,消息内容的加密/解密,服务交互的自动审核以及如何对请求进行路由(如根据工作负载分布标准癣请求路由到可用的实现)
ESB模式使得服务请求者不用了解服务提供者的物理实现,它只负责将请求交付给提供所需功能和QoS的服务提供者;当服务提供者接他们要响应的请求,而不知道消息的来源,ESB本身对使用它的服务请求者和提供者均不可见;应用程序逻辑可以使用各种编程模型和技术调用或交付服务,而无需考虑是直接连接还是通过ESB传递的.
ESB支持许多交互类型,包括单向、请求/响应、异步、同步和发布/订阅
1.3.2.ESB基础功能
ESB是一个能够提供与SOA准则一致的逻辑架构基础设施组件
■SOA由一些明确的、可由独立实现的接口定义的服务组成,它们通过能够标识位置透明的通信协议进行松耦合绑定和调用,服务封装成可重用的业务逻辑
■ESB可以作为一个分布式、异构的基础设施实用
■ESB提供一个管理服务基础设施的手段及操作分布式、异构环境的能力
考虑到双向互动应用间集成时的各种环境,ESB总线应具备以下能力
ESB除了上述能力之外,为了满足电力企业的应用集成,还需要提供面向电力应用集成的服务扩展能力。
1.4.双向互动服务平台内部总线
应用轻量级总线平台建立具有海量数据处理能力的双向互动服务平台,该技术的核心是一个强大的基于规则的路由以及媒介引擎,该引擎提供了一个基于POJO的企业应用模式的实现,可以采用其异常强大且十分易用的API(可以说是一种Java的领域定义语言DomainSpecificLanguage)来配置其路由或者中介的规则。通过这种领域定义语言,可以在IDE中用简单的JavaCode就可以写出一个类型安全并具有一定智能的规则描述文件。
该引擎具有独特的技术中立性,为实现该特点,ESB实现了基础服务(如命名服务、事务服务、消息服务)与ESB引擎的完全剥离。ESB引擎能够应用任何符合JAVAEE标准或者CORBA标准的商业应用服务器产品或者是开源应用服务器平台作为基础服务实现平台。
■中立的、开放的适配器技术
大多ESB作为业务集成平台,批量数据传输、高速数据处理并不是ESB产品的技术优势,该平台为实现工业级的传输性能、安全与可靠性要求,满足双向互动中各种类型数据通信采集的特殊应用需求,故优先选用企业级CORBA作为消息总线的实现技术,该服务总线涵盖了其它消息总线产品的技术特性(如编码的逻辑、基于内容的逻辑、消息和数据转换、有效性、中介、对象标识映射、数据压缩),同时,能提供数十倍于传统J2EE应用服务器的数据传输性能,同时能支持大型消息的快速传递。
■消息路由与高级路由策略
一般ESB常见的消息路由技术主要是基于消息内容的动态路由,支持通过XQuery和XPath实现基于消息内容的动态路由。通过对SOAP头、传输头、JMS定制属性、MQ消息头、文件目录、E-mail和消息内容(XML与non-XML)等进行路由判定,满足复杂的路由需求。
●除了实现以上基本的路由策略外,还根据双向互动应用场景实现了扩展路由策略,例如:
●负载均衡的消息路由策略:该路由策略主要应用于面向大量数据(业务)需要并发处理时,总线能够应用多个横向展开部署的同质处理节点来分摊负载,从而保证数据处理的及时性。双向互动集成总线的负载均衡路由技术主要应用负载平均分摊与按系统资源分摊的算法实现。
●异常保护的路由策略:该路由策略主要应用于对某些不可丢失的业务消息处理过程进行保护——当服务对业务消息处理过程中发生异常,双向互动集成总线能够捕获该异常并根据路由要求将被处理的业务消息转发至相应的通道中。
■DSL配置语言
DSL是一种Java的领域定义语言DomainSpecificLanguage,来配置其路由或者中介的规则。通过这种领域定义语言
该平台采用URI在DSL语言来描述各种组件,这样可以方便地与各种传输或者消息模块进行交互,其中包含的模块有HTTP,JMS,SOCKET,JBI,SCA,MINA,WebService,SMTP,FTP等等。这些模块是采用可插拔的方式进行工作的。
●运用FTP适配器与JMS适配器实现了数据文件的下载与读取到消息队列的过程。
●通过ESB引擎的LoadBalance组件,实现了基于消息传递的负载均衡策略,实现对大量采集数据的并行处理。
●通过Bean适配器,实现了对某个JMS消息队列中的数据进行业务处理的逻辑,开发者编写了简单的JAVAPOJO对象,ESB能将来自消息队列的数据指定由该POJO对象的某个业务方法进行处理,对开发人员完全屏蔽了ESB相关技术。
●通过类似编码模式的“doCatch”配置,实现了对ESB中消息处理的容错保护机制,实现了当ESB某个业务处理节点发生故障时,ESB能够捕获该错误,并根据要求将发生错误的数据进行再次路由到其它处理节点。
1.5.智能用电信息共享平台
1.5.1.接口适配器
通过ESB进行应用间的信息交换的方法主要包括:
■业务应用已提供Webservice接口:对于一些已经采用开放标准理念并且拥有Websevice接口的应用,WSDL定义了与应用业务业务逻辑进行直接通信的接口,经常采用直接与服务对话的方法进行访问
■非WebService接口:应用并没有经过Webservice暴露业务逻辑,可以采用一个与应用相关的适配器来满足应用API与ESB间的中间交互
■把适配器接口封装成服务:在一些情况下,适配器并不能提供ESB希望的正确的协议(如JMS),在这种情况下,需要把把适配器封装成服务。
使用适配器从打包的应用中抽取数据和事务信息是一种有效的方式。适配器分为以下四种类别
■应用适配器:
包括各种应用,如Oracle应用,SAPXI等
■技术适配器:
包括XML,COM,CORBA,e‐mail,EJB,Exchange,FIX协议,JDBC,JMS,Jtext,LotusDomino,WebSphereMQ,WebServices等,其中一些技术适配器可以用使用数据处理器,包括EDI数据处理器,SOAP数据处理器等
■主机适配器:包括CICS事务服务器,DB2,IDMS数据库,IMS事务管理器等
■适配器开发工具
组件是符合IEC61968接口协议,即它知道、理解并且满足服务要求,也可以是不符合接口协议的,为了使不答合接口协议的组件能实现它功能,必须先使它符合接口协议,这就需要采用适配器来使其符合IEC61968协议,接口适配器只要使组件符合IEC61968-3后标准中定义的一种或多种特定接口规范,它就可以满足要求
1.5.2.ESB服务扩展
1.5.2.1.公共服务
公共服务包含的API服务是基本的服务,而且是任何遵从公共通用接口标准的组件所需要的。这些基本服务包括以下内容:
1.命名:IECTC57名字空间使CIM可以通过OPC或DAIS接口呈现的一种机制。它本质上是如何通过OPC/DAISAPI(见OPC文件)交换CIM层次结构的协议;
2.增强的资源ID服务:标识类、对象和属性的公共方式;
3.描述:交换CIM资源(类、属性和对象实例)信息的通用方法;
4.IECTC57视图:用标准的方式表现类、属性和对象;
5.连接和事务模块:在组件的配置没有组件执行系统支持的情况下,提供简单的连接和事务支持;在有底层组件执行系统的情况下,这种服务能够显示包含多个信息交换的事务的开始和结束。
1.5.2.1.1.DAF资源标识符接口
定义了用于识别CIM资源(电力系统相关类、属性和对象实例)的通用方法。DAF资源标识符模块定义了一些类和一个服务
DAF资源标识符模块要求统一资源标识符(URI)是唯一的,在一个DAF服务端,资源ID是唯一的。而且,对任何由DAF表格11DAF资源标识符操作服务端展示的资源,仅有一个相关的资源ID和一个相关的URI。DAF的ResourceID服务包括两个方法:get_resource_ids把URI翻译为资源,get_uris把资源翻译为URI。方法get_resource_ids以一组URI作为输入,输出一组对应的资源ID;方法get_uris以一组资源ID作为输入,输出一组对应的URI。
1.5.2.1.2.扩展资源ID服务
实际中有可能一个资源ID与多个URI相关,考虑资源ID服务提供者部署计划和操作应用时,某个变电站母线资源可能和两个URI(名字)相关联,每个URI的产生和不同的遗留应用相关,例如:“utility.com/Planning/Production#Bus123”和“utility.com/EMS/Production#BusAB7”。为了处理这种更加复杂的应用情况,扩展资源ID服务为DAF资源ID中的get_uris方法增加了一个视图名(viewname)参数,这个参数用来决定URI的范围。
1.5.2.1.3.公共服务描述
该模块定义了对CIM资源(电力系统相关的类、属性和对象实例)进行信息交换的通用方法。DAF的资源描述模块定义了一些类和一个方法.
对于返回一个以上资源信息的查询,将返回一个迭代器。资源描述迭代器允许客户端顺序访问大量的查询结果,并同时访问多个资源。这就必须控制同时传送过来的大量的信息。如果需要,也可以覆盖客户端或服务端的查询结果。
客户端和数据提供者应该协同管理迭代器的使用寿命和它消耗的资源。客户端和数据提供者可以分别使用destroy()和next_n()方法来指明要销毁迭代器。
1.5.2.2.通用数据访问(GDA)
这部分包含用于访问基于CIM层次信息结构的公共数据的API服务。换句话说,客户端可以访问另一组件(应用或数据库)或系统维护的数据,不需要了解该系统用于内部数据存储的逻辑模式,CIM的知识已经足够。
这种面向请求应答的服务的意图是同步、非实时地访问复杂数据结构,这不同于SCADA数据的高速数据访问。使用请求应答方式的一个例子是访问持久存储的大量数据,用输电网络的当前状态初始化状态估计应用,然后存储计算结果并通知。
GDA提供了一个通用的请求/应答导向的数据访问机制,它可以被任何一个应用用来访问任何的CIM数据,而且它还能提供独立于查询能力的最终存储机制,这种机制有助于创建CIM数据仓库;状态评价的各种高级应用,可以使用这个数据访问机制并结合公共服务来访问模型库数据。
GDA允许客户端访问由另一个组件(应用或数据库)或系统维护的数据,而不需要知道这些数据内部存储所用的逻辑模式。只要知道存在这个公共模型就足够了。
设计这一服务是为了支持这样的交互作用:需要数据的应用或系统与提供数据的应用的交互可以由独立的机构来开发、提供、维护或运行。为了支持这些目标,GDA的设计被划分为以下三类。
●读访问
●更新访问
●变化通知事件
1.5.2.2.1.读访问
GDA读访问为客户端提供了查询实例数据和元数据的基本功能,以及可以进行更先进的查询过滤和连结的高级功能。
读访问应提供对用复杂模式(特别是用CIM)组织的数据的访问,这包括
■多个类的数据
■多种基本类型的类属性,包括布尔型、整型、浮点型、字符串型和时间类型
■引用关系,可以是单值的或多值的
■继承关系
读访问在设计时应考虑以下内容:
■读访问接口应该提供一个有效的方法来获得和连接大量的相关数据,例如多个实例的指定属性值。在查询大系统时应该提供过滤能力用于限制返回数据的总量;
■接口应该采用一种能够适应CIM未来变化的映射形式。这种映射应该定义CIM中的类、属性以及关联如何对应所建议的接口中的结构和使用模式。
■接口应该以某种支持独立于编程语言的方式来定义GDA。
■GDA不应该包括任何不能提供实现独立性的服务。
■必须能够用相同的方法通过标准映射来访问CIM数据,不用考虑底层的CIM实现。
1.5.2.2.2.GDA资源查询模块
GDA资源查询模块利用在DAF资源标识(DAFResourceIdentifiers)和资源描述(DAFResourceDescription)模块定义的一组类来关联和标识各个类、类的性质和实例。
资源描述是从资源查询服务的操作得到的。资源查询服务接口提供三个基本操作和一个易于使用的高级操作。三个基本操作是:get_values()、get_extent_values()和get_related_values(),而第四个操作get_descendent_values()是这三个基本操作的概括,并能更为优化。
GDA操作说明示例如下:
这个接口上的每一个操作都是执行一个单个查询。查询所返回的每一个资源描述包含所要求的子集的值。返回的属性值出现的顺序和传送给该查询的属性的顺序相同;如果对于一个特定的资源,某个属性值无法从数据提供者得到,或者该属性标识符没有通过验证,该属性值就被忽略。这一特性使得可以把多个查询服务联合成一个查询,其中每一个查询服务回答联合查询的一部分内容。另外,如果属性被确认,但是数据提供者发现它并不是该资源类的成员,就抛出QueryError异常。类似地,如果数据提供者发现一个属性是多值的(一个资源描述不能够描绘一个属性的多个值),也抛出QueryError异常。
■get_values()
这个查询请求由资源标识符确定的一个单个资源的资源描述。如果数据提供者无法辨识这个资源标识符,就抛出UnknownResource异常。
■get_extent_values()
这个查询请求一个给定类的所有资源的描述,即请求该类扩展集的每一个成员。这个类是通过它的类标识ClassID给定的,ClassID是一个资源标识符。
如果数据提供者无法辨识这个资源标识符,就抛出UnknownResource异常。
如果数据提供者验证了这个资源标识符,但是它不表示一个类,就抛出QueryError异常。
■get_related_values()
这个查询请求与一个给定源资源关联的所有资源的描述。这个资源用一个ResourceID来指定,而关联用一个关联结构(下面有定义)来指定。数据提供者获取这个资源的关联,得到零个或多个结果。对每一个结果资源,数据提供者获取其给定的性质,产生一个资源描述,并通过迭代器返回。
如果数据提供者无法辨识这个源资源标识符,就抛出UnknownResource异常。
如果数据提供者没有通过验证关联中指定的属性,就抛出UnknownAssociation异常。
由于数据提供者有时只有部分信息,因此可能会有这样的情况:对于给定的源资源和通过验证的关联,却得不到它的值。在这种情况,也会抛出UnknownAssociation异常。这就把关联值为空的情况和得不到信息的情况区分开来。如数据提供者发现关联中有错,或确定其类型与源资源不兼容(如以下定义),就抛出QueryError异常。
■get_descendent_values()
这个查询是前面所述的查询的一个概括,是为以通用方式形成查询的客户端设计的。它还为数据提供者方提供了优化的最佳时机。
1.5.2.2.3.过滤查询服务
对这个接口的每一次操作都执行一个单个查询。查询所返回的每一个资源描述包含所要求属性子集的值。返回的属性值出现的顺序和传送给该查询的属性的顺序相同,虽然其中一些会被忽略掉。如果对于一个具体的资源,某个属性值无法从数据提供者得到,或者该属性标识符没有通过验证,该性质值就被忽略。这种行为使得可以把多个查询服务联合成一个查询,其中每一个查询服务回答联合查询的一部分内容。
资源描述可用属性过滤器propertyFilters来过滤。
1.5.2.2.4.扩展资源查询服务
对这个接口的每一个操作执行一个单个查询。由一个查询返回的每一个资源描述包含所请求属性子集的值。这些属性值呈现的顺序和传给查询的属性的顺序相同,虽然其中一些属性值可能会被省略。当对特定的资源不能从数据提供者那里获得一个属性值,或该属性标识符是不可识别的,那么就省略这个属性值。这个行为使得联合多个查询服务成为可能,每一个服务回答这个联合查询的一部分。
1.5.2.2.5.GDA更新
GDA更新模块通过提供对元数据和实例数据的有限的写访问来扩展GDA读访问。
资源更新服务
资源更新服务ResourceUpdateService接口提供一些操作,可以用来更新通过GDA读访问可以访问到的数据。
增加和删除资源
对GDA的目的来说,增加一个资源意味着把它加到模型中的一个类。这分两步来完成:
■为该新资源获得一个ResourceID。这可以通过create_resource_ids()操作获得,也可以通过构造一个新的URI引用并使用ResourceIDService将其转化成一个ResourceID的方法获得。注意,这一步并不在模型中创建任何东西,仅仅是分配一个标识符。
■把新资源的rdf:type性质置为一个合适的类。rdf:type性质和想得到的类的ResourceID都是通过ResourceID服务获得的。这个性质可以通过把这一信息加到DifferenceModel的forwardDifferences成员中并将其传给apply_updates()来设置。
相反地,删除一个资源意味着将其从模型的任何一个类中分离出去。要删除一个资源,将能够创建这个资源的语句放在差异模型DifferenceModel的reverseDifferences成员中,然后把差异模型传给apply_updates()。
GDA事件
GDA事件包提供一些方法来通知客户端发生了特定的数据改变和确保一致性的数据访问
1.5.2.2.6.资源变化事件ResourceChangeEvent
这个结构是作为一个表示数据变化的事件传送的。此类型的事件是在数据变化后传递的,表明客户端可以开始读或重读数据。
1.5.2.2.7.事件压缩
并不要求一个实现在每个更新发生时都发出一个事件。数据提供者可以将一系列事务或简单更新组成一个大的单元。这个事务或更新系列可以等同于一个逻辑的或临时的变化编组,一个单个的资源变化事件可以在这个系列的最后一个变化之后发出,覆盖所有的这些变化。这称为事件压缩。
1.5.2.2.8.事件处理导则
描述了一个事件机制,该机制可以看作是DAF事件的一个兼容性扩展。当和DAF事件混和使用时,一个客户端可以收到三种类型事件中的一种。最基本的类型称为通用的更新事件,包含空的affected和verb序列;第二基本的事件类型称为特定的更新事件,仅仅通过数据和非空的affected成员来标识变化的类;最强的事件类型称为扩展的更新事件,通过数据和非空的affected、verb成员来标识变化的类或对象。使用精度取决于数据提供者的能力和更新的本质。一个给定的数据提供者可以根据情况使用这些事件类型中的任何一种。
1.5.2.2.9.GDA服务器的状态和能力
服务器状态ServerStatus
这个类由服务器作为调用状态方法的结果返回
服务器状态ServerState
服务器状态类ServerState的实例描述GDA服务器的状态。这个类有一个称为服务器状态ServerState的单一属性。
ServerState的值将符合下表
服务器能力ServerCapabilities
服务器能力类ServerCapabilities的实例描述GDA服务器的能力。这个类有一个称为服务器能力ServerCapabilities的单一属性。ServerCapabilities的值将如下表:
1.5.2.3.高速数据访问(HSDA)
包含快速访问简单数据结构所需要的API服务,通常把多个实例作为一个数据组来访问,而且需要高效地与客户端内存空间中的变量进行映射。虽然对这些数据组也可能以请求应答数据交换模式来使用这种API,但通常还是预先定义这些数据组并按一定的周期或在变化时发布。
1.5.2.3.1.服务器和会话接口
IServer接口具有下列属性和方法:
■一个只读属性,描述该服务器的状态,例如:服务器状态、启动时间、当前时间、厂商信息,等等。
■create_data_access_session(),用于创建一个会话(Session)对象。
■create_data_access_session_for_view(),用于创建一个会话(Session)对象。如果服务器支持多个层次结构,就可以使用这个方法。每个层次结构对应一个视图。
■find_views(),返回该服务器支持的所有视图。
■一个只读属性,告知该接口所支持的功能。
IDASession接口具有下列属性和方法:
■一个只读的状态属性,告知起始时间、当前时间和组的个数。
■一个属性,存放可选的ShutDown对象。
1.5.2.3.2.浏览接口
这些浏览接口用来显示:
■实例数据,即INode和IItem接口。
■元数据,即IType和IProperty接口。
INode和IItem接口具有下列方法:
■find(),返回由其id指定的一个节点或项的更多信息。
■find_each(),返回由它们的id指定的一些节点或项的更多信息。
■find_by_parent(),返回指定id的一个父对象(节点或项)的所有子对象。
■find_by_type(),递归地返回指定id的一个父对象的具有一个给定类型标识Type.id的所有子对象。
■get_pathnames(),将id翻译为对应的路径名pathname。
■get_ids(),将路径名pathname转换为对应的标识id。
IType接口具有下列方法:
■find(),返回由其id指定的一个类型的更多信息。
■find_by_schema(),返回一个给定id所指定的一个模式所包含的所有类型的标识Type.id。
IProperty接口具有下列方法:
■find(),返回由它们的id所指定的几个性质的更多信息。
■find_by_node(),返回具有一个指定id的一个节点的所有性质。
■find_by_type(),返回具有一个指定id的一个类型的所有性质。
1.5.2.3.3.组管理接口
IGroup接口具有下列方法:
■find_public_groups(),返回所有服务器侧存储的组的更多信息。
■find(),返回由其id所指定的一个服务器侧存储的组的更多信息。
■ccreate_group(),创建一个新的空组。
■crate_group_from_public(),根据一个服务器侧存储的组描述创建一个新的空组。
■emove_public_group(),从该服务器删除指定的服务器侧组描述。
服务器侧组是客户端用来在服务器中保存组描述的服务。
IGroupManager接口具有下列方法:
create_entries(),用来增加一些项。
■validate_entries(),用来检验一些指定的项是否“链接”,即是否出现在该服务器中。
■remove_entries(),从该组删除指定的一些项。
■clone(),创建该组的一个拷贝。
■clone_to_public(),在该服务器中保存该组的一个描述。
1.5.2.3.4.IO接口
IGroupManager是组对象中的一个接口。因此要使用这个接口将要创建一个组对象。
IGroupManager接口具有下列方法:
■sync_read(),返回组内指定项的数据。
■sync_write(),更新组内指定项的数据。
■async_read(),通过Callback对象返回组内指定项的数据。
■async_write(),更新组内指定项的数据;完成写入后通过Callback对象报告相应信息。
■refresh(),请求通过Callback对象发送所有的项。
■cancel(),中断一个异步读、写或更新操作。
方法sync_read()和sync_write()不需要回调对象,而其它方法则需要这个回调对象。
ISimpleIO是会话对象的一个接口,因此不需要组对象。ISimpleIO接口具有下列方法,用来访问不需要组对象的数据:
■read(),读取由其id指定的一些项。
■write(),更新由其id指定的一些项。
■write_with_qt(),更新由Item.id指定的一些项值,包括质量码。
1.5.2.3.5.客户端接口
为了支持异步调用和订阅,客户端应该为每一个会话对象实现一个具有ICallback接口的回调对象,这个ICallback接口包含下列方法:
on_data_change(),接收订阅回调。
■on_read_complete(),接收异步读响应。
■on_write_complete(),接收异步写响应。
■on_cancel_complete(),接收异步撤销响应。
1.5.2.4.通用的事件和订阅(GES)
通用的事件和订阅包含通用的发布/订阅事件/报警功能所需要的API服务。其中包括发布与订阅主题的能力。它还支持事件“广播发送(sendandforget)”数据交换模式,其中事件只简单地发布一次,而在服务器部分并不需要知道将要接收的客户端。例如在报警应用中,需要的是服务器发布报警事件的功能和客户端订阅它所选择报警的功能。
为了提供一个通用的能力,数据通过资源描述(ResourceDescriptions)形式发布,因此不会给服务器管理客户名强加额外负担。客户名管理是将来的DL890.404高速数据访问强加的。而且,高速数据访问并不能满足本部分所预想的通用性要求,因为HSDA是面向SCADA信息模型的,而且缺少通用的和主题订阅的机制。
1.5.2.4.1.浏览接口
INode、IType、IArea、ISource和ICategory接口具有如下公共的方法:
■find(),返回一个用id指定的对象的信息。
■find_each(),返回用各自id指定的多个对象的信息。
■find_by_parent(),返回一个有特定id的父节点的所有子节点。
■find_by_type(),返回一个有特定id的父节点的所有为给定Type.id的子节点。
■get_pathnames(),将多个路径名翻译为对应的id。
■get_ids(),将多个id翻译为路径名。
IArea接口有额外的方法:
■enable_condition(),用于激活属于这个区域(Area)的所有源(Source)的报警报告。
■disable_condition(),用于屏蔽属于这个区域(Area)的所有源(Source)的报警报告。
■ISource接口有额外的方法:
■enable_condition(),用于激活指定源(Source)的报警报告。
■disable_condition(),用于屏蔽指定源(Source)的报警报告。
■translate_to_item_ids(),用于找到对应指定源(Source)的DAISDA节点的标识符。ICategory接口有额外的方法:
■get_event_properties(),用于获得一个服务器可能加到简单事件(SimpleEvent)消息中的用户属性。
IConditionSpace接口有如下方法:
■find(),返回一个用id指定的ConditionSpace的信息。
■find_each(),返回用各自id指定的多个ConditionSpaces的信息。
■find_by_category(),返回指定类别(Category)的所有ConditionSpaces。
■find_by_source(),返回指定源(Source)的所有ConditionSpaces。
■get_pathnames(),将多个路径名翻译为对应的id。
■get_ids(),将多个id翻译为路径名。
ISourceCondition接口有如下方法:
■find(),返回一个用id指定的SourceCondition的信息。
■find_each(),返回用各自id指定的多个SourceCondition的信息。
■ack_condition(),用于确认多个报警,其中每一个报警用报警消息来的确认(Acknowledge)标识来唯一标识。
ISubscription接口具有如下属性和方法:
■query_available_filters(),返回服务器实现的过滤能力。
■create_subscription(),创建一个订阅(Subscription)管理器对象。
■set_filter(),提供一个FilterSpecification给订阅。
■get_filter(),从订阅获得当前的FilterSpecification。
■select_returned_properties(),用于指定应包含在事件消息中的PropertyValue对。
■get_returned_properties(),用于获得当前包含在事件消息中的PropertyValue对。
■refresh(),请求服务器报告所有当前与FilterSpecification匹配的活动的或未确认的条件(Condition)。
■async_read_history(),报告从一个给定时间开始的指定数目的报警和事件。
■cancel(),用于中止一个由refresh()或async_read_history()引起的正在进行的报告
■get_state(),用于获得以下订阅信息:如果是活动的,在一个消息缓冲区发送前的最大等待时间,消息被发送前的最大消息缓冲区大小,以及发送消息前的最小时间。
■set_state(),用于设定上述数据。
■clone(),用于克隆订阅。
■destroy(),用于销毁订阅及其资源。
1.5.2.4.2.客户端接口
为支持订阅,客户端(Client)必须实现一个CallBack对象接口IA&EcallBack,并具有如下方法:
■on_event(),服务器用它来报告与一个活动订阅FilterSpecification相匹配的报警和事件消息。客户端的一个refresh()调用也会引起消息的报告。
■on_read_complete(),用于报告客户端通过调用async_read_history()请求的报警和事件已完成。
1.5.2.5.时间序列数据访问(TSDA)
这部分给出了用于访问历史数据的服务。这个API至少包括HDAIS功能。
1.5.2.6.公共消息接口服务
公共消息接口服务对企业应用间软件基础架构的要求如下:
■应有一个逻辑的信息交换模型(IEM)。它的实现在物理上可以是分布式的,允许以公开的可访问的方式进行组件间的信息交换。
■IEM应维护组件之间信息交换的内容、语法和语义(即含义)的描述。这种描述通常称为元数据(或数据字典)。
■应以计算机可处理的并与平台无关的形式访问IEM。
■通过一个或多个事件在组件之间交换信息,事件的类型在IEM中定义。
目前有两种信息交换模型定义格式,RDF/XML格式与XSD/XML格式,;RDF/XML则适用于电网模型相关数据的集成,而XSD/XML适应面较广,它适应于各种松耦合的基于能力交互的应用与业务集成,因此,IEC619683-10推荐它作为信息交换的方式。
每个IEC61968XMLSchema包括数据内容、格式和结构,因为每种消息类型均表达专门业务相关的内容,因此,需要根据实际业务调整XMLSchema。
符合IEC61968的各类消息在产生与解析时必须遵守IEM规范,一个具体的IEC61968消息通常包括消息类型名称、消息头和消息体三部分内容。消息类型名称用来唯一区别消息类型;消息头包括有关消息类型实例的描述;消息体包括数据定义、格式和关于该种消息类型实例的结构,在消息体中只能使用CIM元素(类、属性、关联、数据类型)来定义实例数据。
消息头主要包括两个基本元素:动词和名词,动词用来标识要采取的动作类型,而名字用来标识交换的主题,消息头中的其它部分均为可选的。
消息体主要包括要交换的消息内容,在消息体定义时,只能使用CIM模型,在所有的消息类型中的CIM模型语义与业务含义应该是相同的。
逻辑层:用面向对象建模方式表示的语义模型,包括所有的CIM建模组件和消息头建模组件
业务模型层:消息类型包括一个可选的消息头和一个必选的消息体,
物理模型层:使用IEC61968XMLSchemas作为实现方式。
1.6.应用集成接口
为了克服数据访问机制的多样化,使用通用接口进行双向互动应用间与应用内的集成
公共信息模型作为所有服务通信的公共语言,然而这些公共服务的不同实现机制使得通用接口并没有必要交互。从一种具体的技术实现映射到另外一种技术实现可以被标准化。使用通用接口技术可以用来访问任意的应用系统,它可以根据不同的环境把与技术无关的通用接口映射到指定的技术上来完成一个给定的服务功能。
应用集成接口应用采通用接口(GID)方式,它应该提供下列创建即插即用架构所需要的关键功能:
■接口是通用的,独立于任意类型的应用程序和集成技术.这将促进支持通用接口的应用程序重用性.
■接口支持Schema发布/发现.Schema是可发现的以利用组件在运行时可以程序自动配置.减少大量的人工配置
■接口支持业务对象命名空间表示,即每一个组件在一个所有应用程序共享的公共命名空间中描述它支持的业务对象实例,如在电力系统CIM模型.这为电力系统工程师提供了一个理解如何组织和访问数据的手段,减少人工配置工作量
为了全面支持CIM,一个通用接口需要具备两个相关机制:
■指定一个组件或者组件封套必须实现的可编程接口
■指定一个CIM如何通过可编程接口暴露出来:可以通过“命名空间”来阐述,一个命名空间不仅仅包括信息类型,而且也包括实例信息。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

Claims (1)

1.一种电网多环节互动终端集成方法,其特征是:包括智能用电信息共享平台,智能用电信息共享平台与企业服务总线、应用内集成总线、服务总线相连接,其中企业服务总线通过消息接口与智能用电双向互动服务平台和智能用电信息共享平台相连接,应用内集成总线通过应用集成接口与双向互动服务终端和智能用电信息共享平台相连接,服务总线通过适配器与用电服务支撑系统和智能用电信息共享平台相连接。
CN201510455711.2A 2015-07-29 2015-07-29 电网多环节互动终端集成方法 Pending CN105117972A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510455711.2A CN105117972A (zh) 2015-07-29 2015-07-29 电网多环节互动终端集成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510455711.2A CN105117972A (zh) 2015-07-29 2015-07-29 电网多环节互动终端集成方法

Publications (1)

Publication Number Publication Date
CN105117972A true CN105117972A (zh) 2015-12-02

Family

ID=54665947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510455711.2A Pending CN105117972A (zh) 2015-07-29 2015-07-29 电网多环节互动终端集成方法

Country Status (1)

Country Link
CN (1) CN105117972A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530249A (zh) * 2015-05-22 2016-04-27 国网青海省电力公司西宁供电公司 一种基于iec61968标准适配器的配网服务集成方法
CN113325810A (zh) * 2021-04-22 2021-08-31 福州汉思信息技术有限公司 一种自动化数据交互方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530249A (zh) * 2015-05-22 2016-04-27 国网青海省电力公司西宁供电公司 一种基于iec61968标准适配器的配网服务集成方法
CN113325810A (zh) * 2021-04-22 2021-08-31 福州汉思信息技术有限公司 一种自动化数据交互方法

Similar Documents

Publication Publication Date Title
CN104410556A (zh) 一种基于iec61970标准的双向互动终端集成架构
CN107766205B (zh) 一种面向微服务调用过程跟踪的监控系统及方法
CN106230987B (zh) 一种基于电力PaaS云平台的信息集成系统及方法
US7370335B1 (en) System and method for providing a public application program interface
US8027922B2 (en) Integration infrastructure
AU2004258349B2 (en) Information access using ontologies
US6745382B1 (en) CORBA wrappers for rules automation technology
US7865597B2 (en) Method for smart device network application infrastructure (SDNA)
US20060195476A1 (en) Platform for data services across disparate application frameworks
CN102523200A (zh) 一种物联网消息处理方法
CN113992769A (zh) 一种工业互联网信息交换方法
CN101276269B (zh) 可扩展资源管理平台
Minbo et al. Research on RFID integration middleware for enterprise information system
CN102255969B (zh) 一种基于表述性状态转移的网络服务安全模型
US8626716B1 (en) Service broker enhancements
Abiteboul et al. The AXML artifact model
CN102073505B (zh) 面向服务组装的声明式事务集成方法和系统
CN105117972A (zh) 电网多环节互动终端集成方法
Bohé et al. Towards low-effort development of advanced IoT applications
Li et al. Flows and views for scalable scientific process integration
Egyhazy et al. Interoperability architecture using RM-ODP
Fileto et al. A survey on information systems interoperability
Afsarmanesh et al. Workflow support for management of information of prodnet ii
Nitsche et al. Using Semantic Web Technologies for Management Application Integration.
Xinyu et al. Study on key technologies of MES/ERP integration based on JCA

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151202

WD01 Invention patent application deemed withdrawn after publication