一种基于继承和关联自动推演的子集模型抽取方法及系统
技术领域
本发明涉及电力工程技术领域,具体涉及一种基于继承和关联自动推演的子集模型抽取方法及系统。
背景技术
IEC 61970系列标准经过多年的发展,形成了公共信息模型(CIM),是电力系统管理及其信息交换领域的重要标准,定义了电力系统间进行信息交换的语义。IEC 61970系列标准为信息的标准化共享提供了解决方案,是解决电力系统中存在的“信息孤岛”现象的有效手段。
CIM模型定义了完整的信息交换标准,但在实际应用中,各个业务系统中只使用到了与各自业务相关的部分CIM模型,即各业务系统只使用CIM模型的一个子集。
传统的子集抽取技术,一般是逐个选择业务系统所需的类型、角色及属性,但在实施时有如下的问题:
(1)逐个选择所需的模式及相关联的模式,工作量较大;
(2)手动选择类型和角色,其继承层次、对端角色等容易漏选;
(3)需要对CIM模型中类型的继承层次、角色关联等非常熟悉。
发明内容
为解决上述现有技术中的不足,本发明的目的是提供一种基于继承和关联自动推演的子集模型抽取方法及系统,以抽取子集模型的完整性为目标,只选择业务系统关注的模式,自动推演出所有相关的模式,保证了子集模型抽取的有效性。
本发明的目的是采用下述技术方案实现的:
本发明提供一种基于继承和关联自动推演的子集模型抽取方法,其改进之处在于:
接收用户选择的具体类型;
根据所述用户选择的具体类型,自动推演所述具体类型的继承层次形成子集主干;所述具体类型包括CIM类型;
根据所述子集主干的一个角色自动推演对端角色、对端类型及对端继承层次形成子集主干网;所述对端角色包括CIM角色;所述对端类型包括CIM类型;
根据所述子集主干网选择类型的属性自动推演属性的数据类型形成完整的子集模型。
进一步地:所述根据主动选择的具体类型自动推演类型的继承层次形成子集主干,包括:
根据目标CIM模型主动选择CIM类型作为子集主干类型;
根据所述子集主干类型,查找其继承树上的父类型,形成父类型列表;
根据所述父类型列表进行被动选择递归查找父类型对应的父类型形成子集主干。
进一步地:所述根据所述子集主干的角色自动推演对端角色、类型及其继承层次形成子集主干网,包括:
根据所述子集主干主动选择类型的角色;
根据所述选择的角色,被动选择其对端角色;
根据所述被动选择的对端角色,被动选择对端角色所属类型;
根据所述被动选择的对端角色所属类型,被动选择其继承树上的所有父类型,形成子集主干网。
进一步地:所述根据所述子集主干网选择类型的属性自动推演属性的数据类型形成完整的子集模型,包括:
根据所述子集主干网主动选择类型的属性;
根据选择所述属性,被动选择所述属性的数据类型;
根据所述被动选择的数据类型,被动选择数据类型下的属性;
根据所述被动选择的数据类型下的属性,被动选择属性的数据类型,形成完整的数据类型下的属性的子集模型。
子集主干是指业务所需的类型及其继承层次,即业务所需的核心类型,称为主干;核心类型选择完成后,选择类型与其他类型的关联关系,形成一个网状的相互关系,称为主干网;最后选择类型(核心类型及关联的其他类型)的属性及属性的数据类型,子集主干网结合类型的属性及属性数据类型最终形成的是子集模型。
本发明还提供一种基于继承和关联自动推演的子集模型抽取系统,其改进之处在于:
接收模块,用于接收用户选择的具体类型;
第一推演模块,用于根据所述用户选择的具体类型,自动推演所述具体类型的继承层次形成子集主干;所述具体类型包括CIM类型;
第二推演模块,用于根据所述子集主干的一个角色自动推演对端角色、对端类型及对端继承层次形成子集主干网;
第三推演模块,用于根据所述子集主干网选择类型的属性自动推演属性的数据类型形成完整的子集模型。
进一步地:所述第一推演模块,进一步包括:
第一主动选择单元,用于根据目标CIM模型主动选择CIM类型作为子集主干类型;
递归单元,用于根据所述子集主干类型,查找其继承树上的父类型,形成父类型列表;
第一被动选择单元,用于根据所述父类型列表进行被动选择递归查找所有父类型对应的父类型形成子集主干。
进一步地:所述第二推演模块,进一步包括:
第二主动选择单元,用于根据所述子集主干主动选择类型的角色;
第二被动选择单元,用于根据所述选择的角色,被动选择其对端角色;
第三被动选择单元,用于根据所述被动选择的对端角色,被动选择对端角色所属类型;
第四被动选择单元,用于根据所述被动选择的对端角色所属类型,被动选择其继承树上的所有父类型,形成子集主干网。
进一步地:所述第三推演模块,进一步包括:
第三主动选择单元,用于根据所述子集主干网主动选择类型的第一个属性;
第五被动选择单元,用于根据选择的第一个属性,被动选择第一个属性的数据类型;
第六被动选择单元,用于根据选择的第二个属性,被动选择第二个属性的数据类型;
第七被动选择单元,以此类推,根据所述被动选择的数据类型,被动选择数据类型下的所有属性;
第八被动选择单元,用于根据所述被动选择的数据类型下的所有属性,被动选择所有属性的数据类型,形成完整的数据类型下的所有属性的子集模型。
与最接近的现有技术相比,本发明提供的技术方案具有的有益效果是:
本发明提供的一种基于继承和关联自动推演的子集模型抽取方法及系统,针对CIM模型中继承和关联的特点,以抽取符合目标CIM模型约束的完整子集模型为目标,使用人员只需要关心具体业务系统相关的CIM模式,不必熟悉整个CIM模型,从目标CIM模型中选择与具体业务系统相关的有效部分,自动推演出相关的继承层次及角色关联的其他模式信息,保证抽取的子集模型的完整性和有效性。防止产生间接模式漏选的情况,使用户只需要关心业务系统的需要,不必关心CIM模型中的继承关系、关联关系等具体技术细节。
附图说明
图1是本发明提供的实施例的基于继承和关联自动推演的子集模型抽取方法流程图;
图2是本发明提供的实施例的选择子集类型流程图;
图3是本发明提供的实施例的选择对端角色及类型流程图;
图4是本发明提供的实施例的选择属性数据类型流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
实施例一、
本发明的技术,以抽取符合目标CIM模型约束的子集模型为目标,从目标CIM模型中选择与具体业务系统相关的有效部分,简化对CIM模型的子集抽取方法,保证抽取的子集模型的完整性和有效性。
图1示出了一个实施例的基于继承和关联自动推演的子集模型抽取方法流程图,主要包括以下步骤:
在形成子集主干之前,还包括接收用户选择的具体类型;
S10,根据主动选择的具体类型自动推演类型的继承层次形成子集主干;
在申请实施例中,主动选择是指由用户根据所需业务进行的选择,被动选择是通过根据本申请中的基于继承和关联自动推演的子集模型抽取系统所分析出主动选择所涉及的其他相关模式,例如类A继承自类B,在实际业务中需要类A,由人工选择类A,由于类A继承自类B,所以软件分析出类B也需要选择,类B的选择称为被动选择。
在本实施例中,该步骤主要是依据目标系统的CIM模型,选择子集所需的具体类型,根据类型的继承关系,自动推演出具体类型的继承层次,被动选择类型的继承层次,形成子集主干;参见图2所示,图2为一个实施例的选择子集类型流程图,包括如下步骤:
S101,根据目标CIM模型主动选择CIM类型作为子集主干类型;
具体地,根据所述目标CIM模型选择CIM类型,根据业务系统的不同,选择子集所需的CIM类型。
S102,根据所述子集主干类型,递归查找其继承树上的父类型,形成父类型列表;
具体地,根据CIM模型中的继承层次,查找S101中选择的CIM类型的父类型,将其记为ClassA;根据CIM模型中的继承层次,查找ClassA在CIM模型中的父类型,将其记为ClassB,;重复以上步骤,直至查找到ClassN在CIM模型中没有父类型,ClassA、ClassB、…ClassN组成父类型列表。
S103,根据所述父类型列表进行被动选择所有父类型形成子集主干。
具体地,根据S102选择的父类型列表,加入到子集模型中,从而形成子集主干。
综上所述,对于步骤S10,根据选择的具体CIM类型在目标CIM模型中的继承关系,自动推演CIM类型的所有父类型,加入到子集模型中。只需要选择具体用到的CIM类型,其继承层次自动加入到子集模型中,防止产生漏选继承类型的情况,保证子集模型的完整性。
S20,根据所述子集主干的角色自动推演对端角色、类型及其继承层次形成子集主干网;
在本实施例中,主要是根据主动选择的角色,自动推演出相关的对端角色、对端类型及对端类型的继承层次,并将自动推演出的模式加入到子集模型;参见图3所示,图3为一个实施例的选择对端角色及类型流程图,包括如下步骤:
S201,根据所述子集主干主动选择类型的角色;
具体地,选择业务系统所需的CIM类型中的CIM角色,主动选择加入子集模型;
S202,根据所述选择的角色,被动选择其对端角色;
具体地,根据CIM模型中CIM角色必有对端CIM角色的约束,将对端CIM角色也加入子集模型,保证子集模型的完整性;
S203,根据所述被动选择的对端角色,被动选择对端角色所属类型;
具体地,根据前述所选择的对端CIM角色,从CIM模型中选择CIM角色的所属CIM类型,加入到子集模型;
S204,根据所述被动选择的对端角色所属类型,被动选择其继承树上的所有父类型,形成子集主干网;
具体地,根据前述所选择的CIM类型,根据S10中的方式,选择CIM类型的所有父类型,形成子集主干网,包含子集所需的CIM类型、CIM角色等主干网络。
综上所述,步骤S20,根据选择的具体CIM角色,推演出对端角色,加入到子集模型,将对端角色所属的CIM类型也加入到子集模型,将CIM类型的继承层次也加入到子集模型,保证子集模型的完整性。
S30,根据所述子集主干网选择类型的属性自动推演属性的数据类型形成完整的子集模型;
在本实施例中,主要根据选择的CIM属性,分析出属性的数据类型,以及数据类型相关的其他模式,加入到子集模型中;参见图4所示,图4为一个实施例的选择属性数据类型的流程图,包括如下步骤:
S301,根据所述子集主干网主动选择类型的属性;
具体地,根据S20形成的子集主干网,选择业务系统所需的CIM类型中的CIM属性,主动选择加入子集模型;
S302,根据所述选择的属性,被动选择属性的数据类型;
具体地,根据CIM模型中CIM属性的取值类型,将取值类型加入到子集模型;
S303,根据所述被动选择的数据类型,被动选择数据类型下的所有属性;
具体地,如果取值类型是一个复合的数据类型,将其下的所有属性都加入到子集模型。
S304,根据所述被动选择的数据类型下的所有属性,被动选择属性的数据类型,形成完整的子集模型。
具体地,分析数据类型下属性对应的数据类型,将其加入到子集模型,从而将相关的数据类型加入子集模型。
综上所述,对于步骤S30,通过选择CIM类型下的具体CIM属性,自动推演出属性的数据类型,以及数据类型下的属性的其他数据类型,将推演出的数据类型都加入到子集模型中,实现子集模型的完整抽取。
通过以上方法,可以抽取出一个完整的子集模型,此子集模型仅包含业务所需的模式及间接引用的其他模式信息,保证子集模型的自描述,可作为电力业务系统中的模型数据规范,用于业务系统间的数据交换模式。
实施例二、
基于同样的发明构思,本发明还提供一种基于继承和关联自动推演的子集抽取系统,包括:
接收模块,用于接收用户选择的具体类型;
第一推演模块,用于根据所述用户选择的具体类型,自动推演所述具体类型的继承层次形成子集主干;所述具体类型包括CIM类型;
第二推演模块,用于根据所述子集主干的一个角色自动推演对端角色、对端类型及对端继承层次形成子集主干网;所述对端角色包括CIM角色;所述对端类型包括CIM类型;
第三推演模块,用于根据所述子集主干网选择类型的属性自动推演属性的数据类型形成完整的子集模型。
优选的:所述第一推演模块,进一步包括:
第一主动选择单元,用于根据目标CIM模型主动选择CIM类型作为子集主干类型;
递归单元,用于根据所述子集主干类型,查找其继承树上的父类型,形成父类型列表;
第一被动选择单元,用于根据所述父类型列表进行被动选择递归查找所有父类型对应的父类型形成子集主干。
优选的:所述第二推演模块,进一步包括:
第二主动选择单元,用于根据所述子集主干主动选择类型的角色;
第二被动选择单元,用于根据所述选择的角色,被动选择其对端角色;
第三被动选择单元,用于根据所述被动选择的对端角色,被动选择对端角色所属类型;
第四被动选择单元,用于根据所述被动选择的对端角色所属类型,被动选择其继承树上的所有父类型,形成子集主干网。
优选的:所述第三推演模块,进一步包括:
第三主动选择单元,用于根据所述子集主干网主动选择类型的第一个属性;
第五被动选择单元,用于根据选择的第一个属性,被动选择第一个属性的数据类型;
第六被动选择单元,用于根据选择的第二个属性,被动选择第二个属性的数据类型;
第七被动选择单元,以此类推,根据所述被动选择的数据类型,被动选择数据类型下的所有属性;
第八被动选择单元,用于根据所述被动选择的数据类型下的所有属性,被动选择所有属性的数据类型,形成完整的数据类型下的所有属性的子集模型。
通过基于继承和关联自动推演的子集抽取方法抽取的子集模型,与目标CIM模型完全匹配,通过手动选择指定的业务CIM类型,自动分析引用的CIM模式,在保证子集模型完整性的前提下,保证子集模型的最小化。
本发明以抽取符合目标CIM模型约束的完整子集模型为目标,使用人员只需要关心具体业务系统相关的CIM模式,不必熟悉整个CIM模型,从目标CIM模型中选择与具体业务系统相关的有效部分,自动推演出相关的继承层次及角色关联的其他模式信息,保证抽取的子集模型的完整性和有效性,防止产生模式漏选的情况,使用户只需要关心业务系统的需要,不必关心CIM模型中的继承关系、关联关系等具体技术细节。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。