发明内容
有鉴于此,本发明的主要目的是提供一种电力信息系统组件接口的实现系统及方法,以解决现有技术中利用CIS接口访问CIM模型存在调用复杂、费时的问题。
为解决上述问题,本发明提供的技术方案如下:
一种电力信息系统组件接口的实现系统,包括:
数据层、公共信息模型CIM模型层、静态信息模型SIM模型层以及消息接口层;
所述数据层与所述CIM模型层、所述SIM模型层分别相连,所述消息接口层与所述CIM模型层、所述SIM模型层分别相连,所述CIM模型层与所述SIM模型层相连;
所述数据层用于存储所述电力信息系统所需的数据;
所述SIM模型层包括根据业务关系将CIM模型中若干个CIM类重构并封装获得的若干个消息类;
所述CIM模型层包括所述CIM模型中的未被封装的若干个CIM类;
所述消息接口层包括组件接口规范CIS接口以及消息接口,所述CIS接口用于访问所述CIM模型层中的CIM类和/或基于所述CIM模型层中的CIM类访问所述数据层中的数据,所述消息接口用于访问所述SIM模型层中的消息类和/或基于所述SIM模型层中的消息类访问所述数据层中的数据。
相应的,所述数据层包括可扩展标记语言XML数据模块、关系数据模块以及实时/历史数据模块;
所述XML数据模块用于存储XML数据;
所述关系数据模块用于存储关系数据;
所述实时/历史数据模块用于存储实时数据以及历史数据。
相应的,所述CIS接口包括通用数据访问接口GDA接口、高速传输数据访问接口HSDA接口、通用事件和订阅接口GES接口以及时间序列数据访问接口TSDA接口;
所述GDA接口用于访问所述CIM模型层中的CIM类和/或基于所述CIM模型层中的CIM类访问通用数据;
所述HSDA接口用于访问所述CIM模型层中的CIM类和/或基于所述CIM模型层中的CIM类访问高速数据;
所述GES接口用于访问所述CIM模型层中的CIM类和/或基于所述CIM模型层中的CIM类访问发布与订阅数据;
所述TSDA接口用于访问所述CIM模型层中的CIM类和/或基于所述CIM模型层中的CIM类访问历史数据或实时数据。
相应的,所述消息接口包括消息GDA接口、消息HSDA接口、消息GES接口以及消息TSDA接口;
所述消息GDA接口用于访问所述SIM模型层中的消息类和/或基于所述SIM模型层中的消息类访问通用数据;
所述消息HSDA接口用于访问所述SIM模型层中的消息类和/或基于所述SIM模型层中的消息类访问高速数据;
所述消息GES接口用于访问所述SIM模型层中的消息类和/或基于所述SIM模型层中的消息类访问发布与订阅数据;
所述消息TSDA接口用于访问所述SIM模型层中的消息类和/或基于所述SIM模型层中的消息类访问历史数据或实时数据。
相应的,所述数据层还与所述消息接口层相连;
所述CIS接口还用于直接访问所述数据层中的数据。
相应的,所述GDA接口还用于直接访问所述数据层中的通用数据;
所述HSDA接口还用于直接访问所述数据层中的高速数据;
所述GES接口还用于直接访问所述数据层中的发布与订阅数据;
所述TSDA接口还用于直接访问所述数据层中的历史数据或实时数据。
一种电力信息系统组件接口的实现方法,包括:
根据业务关系将公共信息模型CIM模型中若干个CIM类重构并封装获得若干个消息类;
利用消息接口访问所述消息类和/或基于所述消息类访问数据层中存储的数据;
利用组件接口规范CIS接口访问所述CIM模型中的未被封装的CIM类和/或基于所述CIM模型中的未被封装的CIM类访问所述数据层中存储的数据。
相应的,所述CIS接口包括通用数据访问接口GDA接口、高速传输数据访问接口HSDA接口、通用事件和订阅接口GES接口以及时间序列数据访问接口TSDA接口;
所述利用CIS接口访问所述CIM模型中的未被封装的CIM类和/或基于所述CIM模型中的未被封装的CIM类访问所述数据层中存储的数据,包括:
利用所述GDA接口访问所述CIM模型中的未被封装的CIM类和/或基于所述CIM模型中的未被封装的CIM类访问所述数据层中存储的通用数据;
利用所述HSDA接口访问所述CIM模型中的未被封装的CIM类和/或基于所述CIM模型中的未被封装的CIM类访问所述数据层中存储的高速数据;
利用所述GES接口访问所述CIM模型中的未被封装的CIM类和/或基于所述CIM模型中的未被封装的CIM类访问所述数据层中存储的发布与订阅数据;
利用所述TSDA接口访问所述CIM模型中的未被封装的CIM类和/或基于所述CIM模型中的未被封装的CIM类访问所述数据层中存储的历史数据或实时数据。
相应的,所述消息接口包括消息GDA接口、消息HSDA接口、消息GES接口以及消息TSDA接口;
所述利用消息接口访问所述消息类和/或基于所述消息类访问数据层中存储的数据,包括:
利用消息GDA接口访问所述消息类和/或基于所述消息类访问数据层中存储的通用数据;
利用所述消息HSDA接口访问所述消息类和/或基于所述消息类访问数据层中存储的高速数据;
利用所述消息GES接口访问所述消息类和/或基于所述消息类访问数据层中存储的发布与订阅数据;
利用所述消息TSDA接口访问所述消息类和/或基于所述消息类访问数据层中存储的历史数据或实时数据。
相应的,还包括:
利用所述GDA接口直接访问所述数据层中存储的通用数据;
利用所述HSDA接口直接访问所述数据层中存储的高速数据;
利用所述GES接口直接访问所述数据层中存储的发布与订阅数据;
利用所述TSDA接口直接访问所述数据层中存储的历史数据或实时数据。
由此可见,本发明具有如下有益效果:
本发明融合CIS接口与消息接口,可以根据业务关系将CIM模型中的多个CIM类封装成消息类,即将常用的业务项目涉及的多个CIM类封装为消息类,通过消息接口调用,不常用的少数业务项目涉及的少量CIM类,通过CIS接口调用,这可以将大量CIM类缩减为少量消息类以及少量CIM类,从而减少接口调用量,缩短调用时间。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明一种电力信息系统组件接口的实现系统及方法,是针对现有技术中利用CIS接口访问CIM模型存在调用复杂、费时的问题,提出将常用业务项目所需的多个CIM类封装为消息类,利用消息接口调用,其余CIM类利用CIS接口调用,即融合CIS接口和消息接口,达到减少接口调用次数的目的。
基于上述思想,参见图1所示,本发明实施例电力信息系统组件接口的实现系统,包括:
数据层1、CIM模型层2、SIM(Static Information Model,静态信息模型)模型层3以及消息接口层4。
数据层1与CIM模型层2、SIM模型层3分别相连,消息接口层4与CIM模型层2、SIM模型层3分别相连,CIM模型层2与SIM模型层3相连。
其中,数据层用于存储电力信息系统所需的数据。
SIM模型层包括根据业务关系将CIM模型中若干个CIM类重构并封装获得的若干个消息类。
CIM模型层包括CIM模型中的未被封装的若干个CIM类。
消息接口层包括CIS接口以及消息接口,CIS接口用于访问CIM模型层中的CIM类和/或基于CIM模型层中的CIM类访问数据层中的数据,消息接口用于访问SIM模型层中的消息类和/或基于SIM模型层中的消息类访问数据层中的数据。
即本发明电力信息系统融合CIS接口和消息接口的组件接口的实现系统可以包括以下四个层次:
第一层:数据层。
根据IEC标准使用UML(Unified Modeling Language,统一建模语言)对电力信息系统建立CIM模型,将电力信息系统所需的数据映射到数据库中存储,数据可以以三种形式存储,分别是关系数据、XML(Extensible MarkupLanguage,可扩展标记语言)数据、实时/历史数据。因此,数据层可以包括XML数据模块、关系数据模块以及实时/历史数据模块;XML数据模块用于存储XML数据;关系数据模块用于存储关系数据;实时/历史数据模块用于存储实时数据以及历史数据。
XML为开发具有可扩展性和互操作性的软件提供了一种解决方案。提供了一种独立运行程序的方法来共享数据,可自动描述信息。XML由元素组成,元素中可包含属性和内容,甚至是其它元素,因此元素是可嵌套的。XML有很多先进的特性,促进了计算机行业的极大发展,比如说处理异构数据源之间的交互。利用XML数据模块可以存储XML数据。
关系数据存储在关系数据模块中,例如关系数据库,关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示,数据结构单一。在用户看来,关系模型中数据的逻辑结构可以是一张二维数据表。而实时/历史数据模块则主要存储那些实时性的需要不断更新的数据。
第二层:CIM层。
CIM模型是一个概念模型,描述了电力信息应用中的主要对象,包括与电力运行相关的对象通过提供一种用对象类和属性及他们之间的关系来表示电力系统资源的标准方法,CIM可以实现不同独立开发的系统间的集成。CIM中描述的对象本质上是抽象的,可以用于各种应用。依据国际标准IEC61970、IEC61968建立的根据业务需要所建立的CIM概念模型,可以以UML为基础。
CIM模型的UML建模以静态建模机制为基础,主要使用逻辑视图中的包图和类图来表达电力信息系统中的基本对象及对象间的关系。参见图2所示,CIM模型可以由多个完整的包组合而成,包图是对相关模型元素进行分组的一种通用方式,CIM模型中的各个包都含有多个类图,类图主要由属性及属性之间的关系描述。标准化的CIM模型为电力信息系统中不同的应用和系统间信息的交互和系统的开放性提供了良好的基础。
具体的,在本发明实施例中CIM层包括CIM模型中的未被封装的若干个CIM类。CIM模型中有很多CIM类,在电力信息系统中在处理业务对象时,有一部分业务出现的频率超过设定的阈值,则将这些业务涉及的CIM类按照不同业务分别重构并封装为消息类,则CIM层中包括其余的未被封装的若干个CIM类,这些未被封装的CIM类对应于不常用的一些业务项。
第三层:SIM层。
根据业务关系将CIM模型中若干个CIM类重构并封装获得的若干个消息类。将常用业务根据业务需求对CIM类里的属性重构,重构成消息类,则消息类可以与业务对应。这样,访问一个常用业务时可以直接访问一个消息类,大大的提高接口的调用效率。消息类需要由消息接口访问,其需要满足IEC-61968系列标准。
第四层:消息接口层。
消息接口层中可以包括CIS接口以及消息接口。
对于国际标准IEC-61970系列标准的CIS接口是为EMS-API所用的,这些接口能够通过标准的方法,实现一个应用和其它应用交换信息并获取公用数据,使得不同应用、软件之间实现快速有效的即插即用。CIS规定了应用以标准的方式和其他应用交换信息的接口要求,可以方便的与其他独立开发的应用或系统集成,在访问依照CIM构建的公共信息时需要按其提供的语法和服务来实现。CIS的主要目标是规定在两个或更多的应用之间进行交换消息的内容。
而消息接口符合IEC-61968标准,它的侧重点在于通过消息传输实现应用间的信息交换,通过系统间交换标准的“消息”完成业务功能。IEC-61968定义了电力信息系统中业务系统之间信息交换的标准,通过定义应用间交换的消息类型类规定交换的内容,而消息类型是基于公共信息模型CIM使用可扩展标记语言模式XML来定义。
IEC-61968标准不关心系统如何具体实现,它只注重于不同模块的交互,并对各个组件的接口规范进行定义,从而组成IEC-61968的接口参考模型。
具体的,C IS接口可以包括GDA(Generic Data Access,通用数据访问接口)接口、HSDA(High Speed Data Access,高速传输数据访问)接口、GES(General Eventing and Subscription,通用事件和订阅接口)接口以及TSDA(Time Series Data Access,时间序列数据访问接口)接口;消息接口可以包括消息GDA接口、消息HSDA接口、消息GES接口以及消息TSDA接口。
其中,GDA接口(消息GDA接口)包含用于访问基于CIM层次信息结构的公共数据的API(Application Programming Interface)服务,客户端可以访问另一组间(应用或数据库)或系统维护的数据,不需要了解该系统用于内部数据存储的逻辑模式。这种面向请求应答的服务的意图是同步、非实时地访问复杂数据结构,这不同于SCADA(Supervisory Control And DataAcquisition,数据采集与监视控制)数据的高速数据访问,GDA主要用于访问基于CIM层次的通用数据。
HSDA接口(消息HSDA接口)是在短延迟大量数据传输时较好的选择。HSDA服务器提供的数据可以是多种类型的:1)、从电力信息系统采集的实时数据;2)、描述电力信息系统中量值的计算数据;3)、描述电力信息系统或电力信息系统中设备特性的参数;4)、对实时或计算数据处理进行控制的参数;5)、可以发送到电力系统的控制数据。HSDA接口主要用于访问高速传输的实时数据。
GES接口(消息GES接口)是规定了在一个分布式环境中高效传输事件消息和告警确认消息的接口,短时延大量传输消息时是很好的选择。不仅可以很短的延迟传输少量的数据,还可在短时间内传输大容量数据传输的要求。这是作为其他子系统提供实时数据的监控与数据采集SCADA系统的典型需求,GES主要用于面向请求、应答的通用数据,如发布、订阅数据。
TSDA接口(消息TSDA接口)是规定了时间序列数据的高效传输接口,不仅可以很短的延迟传输少量的数据。还可在短时间内传输大量数据,但延迟可能较长,同时支持时间序列数据的回放功能。这是作为其他子系统提供实时数据的监控与数据采集SCADA系统的典型需求。TSDA接口非常适合于段延迟和大容量数据传输的要求。TSDA的浏览接口用于发现数据,TSDA的数据访问接口用于实际访问数据,TSDA的管理接口用于管理服务器和客户端之间的连接,TSDA的回调接口用于服务器给客户端发送数据。TSDA接口可用于访问历史、实时数据。
组件接口规范CIS规定了组件以标准的方式和其他组件交换信息、访问公共数据的接口。融合CIS接口和消息接口的组件接口也是标准的、通用的,独立于各电力系统具体应用类型,以方便各独立开发的系统或应用实现集成,同时它还要适应中间件的发展。组件接口包含接口功能定义部分和信息交换模型部分,实现信息交换和公共数据访问使用的事件、方法和属性在接口定义部分描述,具体系统间交换的信息内容则在信息交换模型部分定义。
那么,在本发明实施例中GDA接口用于访问CIM模型层中的CIM类和/或基于CIM模型层中的CIM类访问通用数据;HSDA接口用于访问CIM模型层中的CIM类和/或基于CIM模型层中的CIM类访问高速数据;GES接口用于访问CIM模型层中的CIM类和/或基于CIM模型层中的CIM类访问发布与订阅数据;TSDA接口用于访问CIM模型层中的CIM类和/或基于CIM模型层中的CIM类访问历史数据或实时数据。
消息GDA接口用于访问SIM模型层中的消息类和/或基于SIM模型层中的消息类访问通用数据;消息HSDA接口用于访问SIM模型层中的消息类和/或基于SIM模型层中的消息类访问高速数据;消息GES接口用于访问SIM模型层中的消息类和/或基于SIM模型层中的消息类访问发布与订阅数据;消息TSDA接口用于访问SIM模型层中的消息类和/或基于SIM模型层中的消息类访问历史数据或实时数据。
参见图3所示,本发明实施例电力信息系统组件接口的实现系统中数据层1还可以与消息接口层4相连;其中,消息接口层中的CIS接口还可以用于直接访问数据层中的数据。
由于CIS接口可以分为GDA接口、HSDA接口、GES接口以及TSDA接口,那么,具体的,GDA接口还可以用于直接访问数据层中的通用数据;HSDA接口还可以用于直接访问数据层中的高速数据;GES接口还可以用于直接访问数据层中的发布与订阅数据;TSDA接口还可以用于直接访问数据层中的历史数据或实时数据。
参见图4所示,给出了本发明电力信息系统组件接口的实现系统的一种具体实施例。
数据层1可以包括XML数据模块11、关系数据模块12以及实时/历史数据模块13。
消息接口层4包括CIS接口以及消息接口,CIS接口可以包括GDA接口41、HSDA接口42、GES接口43以及TSDA接口44;消息接口可以包括消息GDA接口45、消息HSDA接口46、消息GES接口47以及消息TSDA接口48。
数据层1与CIM模型层2、SIM模型层3、消息接口层4分别相连,消息接口层4与CIM模型层2、SIM模型层3分别相连,CIM模型层2与SIM模型层3相连。
本系统的工作原理是:
根据业务关系将CIM模型中若干个CIM类重构并封装获得若干个消息类,SIM模型层中包含这些消息类,CIM模型层中则包含CIM模型中的未被封装的其余CIM类。对于采集来的数据都存储在数据层,分别以XML数据形式、关系数据形式和实时/历史数据的形式存在,数据根据需求可以有不同的存在形式,也可根据不同的需求利用不同的接口调用数据。
当外部的系统需要访问CIM模型或SIM模型时,由于CIM模型层与SIM模型层均基于CIM模型,则在交互过程中,不需要知道具体的数据如何存储,只需要知道相应的标准接口即可。可以同时调用CIS接口和消息接口,利用消息接口层中的消息接口可以访问SIM模型层中的消息类和/或基于SIM模型层中的消息类访问数据层中存储的数据;利用CIS接口可以访问CIM模型层中的CIM类和/或基于CIM模型层中的CIM类访问数据层中的数据。具体的,可以利用GDA接口访问CIM类和/或基于CIM类访问通用数据;HSDA接口CIM类和/或基于CIM类访问高速数据;GES接口访问CIM类和/或基于CIM类访问发布与订阅数据;TSDA接口访问CIM类和/或基于CIM类访问历史数据或实时数据。可以利用消息GDA接口消息类和/或基于消息类访问通用数据;消息HSDA接口消息类和/或基于消息类访问高速数据;消息GES接口消息类和/或基于消息类访问发布与订阅数据;消息TSDA接口消息类和/或基于消息类访问历史数据或实时数据。
当外部的系统需要进行数据交换和信息共享时,利用CIS接口可以直接访问数据层中存储的数据。具体的,可以利用GDA接口直接访问数据层中的通用数据;HSDA接口直接访问数据层中的高速数据;GES接口直接访问数据层中的发布与订阅数据;TSDA接口直接访问数据层中的历史数据或实时数据。
融合CIS接口和消息接口的组件接口系统包含的是标准化的接口,其中,可以根据不同的需要,调用四种数据访问方式不同的接口HSDA、GDA、TSDA、GES。由于将多个CIM类根据其业务关系封装为消息类,即多个涉及到业务相近的CIM类可以封装为一个消息,可以直接通过消息接口调用消息类,以减少调用CIS接口的次数,对于少数不能封装的CIM类,可直接通过CIS接口调用CIM类。一个CIM类或消息类根据业务的不同可能会由多个接口同时调用,对于模型层的CIM类和消息类,可以根据不同的数据类型分别用四种不同的接口进行调用,高速实时数据使用HSDA接口调用,历史数据使用TSDA接口调用,基于CIM层次的通用数据使用GDA接口调用,对于应答/回复、发布/订阅使用GES接口调用。
这样,本发明融合CIS接口与消息接口,主要目的就是既要解决接口的可扩展性,使其可以无限扩展,又要减小其访问量,节省资源,使其避免开发大量的接口,并耗费时间,从而大大的减少了资金以及时间成本。本发明可以根据业务关系将CIM模型中的多个CIM类封装成消息类,即将常用的业务项目涉及的多个CIM类封装为消息类,通过消息接口调用,不常用的少数业务项目涉及的少量CIM类,通过CIS接口调用,这可以将大量CIM类缩减为少量消息类以及少量CIM类,根据业务的变化,不仅可以对CIM模型或SIM模型进行扩展,而且可以减少接口调用量,缩短调用时间。
相应的,参见图5所示,本发明还提供一种电力信息系统组件接口的实现方法,包括:
步骤101:根据业务关系将CIM模型中若干个CIM类重构并封装获得若干个消息类;
步骤102:利用消息接口访问消息类和/或基于消息类访问数据层中存储的数据;
步骤103:利用CIS接口访问CIM模型中的未被封装的CIM类和/或基于CIM模型中的未被封装的CIM类访问数据层中存储的数据。
其中,消息接口可以包括消息GDA接口、消息HSDA接口、消息GES接口以及消息TSDA接口,则利用消息接口访问消息类和/或基于消息类访问数据层中存储的数据,可以具体包括:
利用消息GDA接口访问消息类和/或基于消息类访问数据层中存储的通用数据;利用消息HSDA接口访问消息类和/或基于消息类访问数据层中存储的高速数据;利用消息GES接口访问消息类和/或基于消息类访问数据层中存储的发布与订阅数据;利用消息TSDA接口访问消息类和/或基于消息类访问数据层中存储的历史数据或实时数据。
CIS接口可以包括通用数据访问接口GDA接口、高速传输数据访问接口HSDA接口、通用事件和订阅接口GES接口以及时间序列数据访问接口TSDA接口,则利用CIS接口访问CIM模型中的未被封装的CIM类和/或基于CIM模型中的未被封装的CIM类访问数据层中存储的数据,可以具体包括:
利用GDA接口访问CIM模型中的未被封装的CIM类和/或基于CIM模型中的未被封装的CIM类访问数据层中存储的通用数据;利用HSDA接口访问CIM模型中的未被封装的CIM类和/或基于CIM模型中的未被封装的CIM类访问数据层中存储的高速数据;利用GES接口访问CIM模型中的未被封装的CIM类和/或基于CIM模型中的未被封装的CIM类访问数据层中存储的发布与订阅数据;利用TSDA接口访问CIM模型中的未被封装的CIM类和/或基于CIM模型中的未被封装的CIM类访问数据层中存储的历史数据或实时数据。
另外,CIS接口可以直接访问数据层中存储的数据,具体的,可以利用GDA接口直接访问数据层中存储的通用数据;利用HSDA接口直接访问数据层中存储的高速数据;利用GES接口直接访问数据层中存储的发布与订阅数据;利用TSDA接口直接访问数据层中存储的历史数据或实时数据。
这样,本发明融合CIS接口与消息接口,可以根据业务关系将CIM模型中的多个CIM类封装成消息类,即将常用的业务项目涉及的多个CIM类封装为消息类,通过消息接口调用,不常用的少数业务项目涉及的少量CIM类,通过CIS接口调用,这可以将大量CIM类缩减为少量消息类以及少量CIM类,从而减少接口调用量,缩短调用时间。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。