电网企业cim模型增量比较工具的制作方法

文档序号:6597731阅读:151来源:国知局

专利名称::电网企业cim模型增量比较工具的制作方法
技术领域
:本发明涉及模型增量比较方法,尤其涉及一种电力系统电网企业IEC61970公共信息模型CIM(CommonInformationModel)的模型增量比较工具。
背景技术
:CIM模型即公共信息模型,是网络管理中的基础模块,它对于综合利用管理数据,成功建立管理体系有着重要意义。通过公共信息模型,可以提供更好的解决方案,促使管理系统更加协力地工作。公共信息模型由一个核心模块和一组由核心模型延伸出来的通用模型组成,分别定义了需要管理的从网络、操作系统到应用程序各个层面上的服务、网络、应用、用户和数据库等主要技术域。公共信息模型(CIM),目前为2.2版,以类似对象设计图和称为受管对象格式(M0F)的模型的中性语言描述的形式,提供了一个数据建模环境。在这一点上,CIM建模环境和M0F与统一建模语言(UML)、接口定义语言(IDL)很相似。IEC61970公共信息模型CIM(CommonInformationModel)在电力系统中已有很广泛成熟的应用,基于CM的电力系统模型往往采用XML文件来描述,CMXML/RDF模型文件反映电网结构和运行参数,定义了电网设备的信息模型,并已成为工业标准。通用信息模型CIM是电力企业应用集成的重要工具,它包括公用类、属性、关系等,其类(Class)及对象(Object)是抽象的,可以用于许多电力系统应用定义信息交换模型。CIM提供了一个关于电力能量管理系统信息的全面逻辑视图,是一个代表电力企业所有主要对象的抽象模型,包括了这些对象的公有类和属性,以及它们之间的关系。—个全量的电网模型CIM文件包括了非常详尽的信息,而且基于XML/RDF格式,所以文件一般都比较大,使用CIM模型文件的系统在获取CM文件之后通常会进行以下操作解析CM文件,获取系统所关心的模型信息;存储CIM模型至数据库;每次CIM模型发生变化之后,使用CIM模型文件的系统又要重新解析新的全量的CM模型文件。大多数模型增量处理的过程如下(1)选择需要比较的CIM模型文件;(2)选择前一个版本的模型版本;[OOO9](3)开始进行CIM增量比较;(4)生成CIM增量文件;(5)根据生成的CIM增量文件,存储新的CIM模型版本。通常解析全量CIM模型文件会存在几个问题(1)对CIM文件的解析会花费比较多的时间和占用较大的资源;(2)全量存储新的CIM模型过于浪费存储空间。所以,一般使用CIM模型文件的系统只需要得到模型的增量信息即可,所以很有必要开发一种CIM模型比较的工具来解决这个问题,通过该CIM模型比较工具,生成CIM模型增量文件。有鉴于此,本发明旨在提供一种电网企业CIM模型增量比较工具。
发明内容本发明针对现有全量CIM模型文件对CIM文件的解析会花费比较多的时间和占用较大的资源以及全量存储新的CIM模型过于浪费存储空间的不足,提供一种电网企业CM模型增量比较工具。为了达到以上目的,本发明的技术解决方案如下—种电网企业CIM模型增量比较工具,包括以下步骤A)解析新版本全量CIM文件;B)建立CIM模型集合A;C)获取存储的前一个CIM模型集合B;D)基于模型比较规则算法进行模型增量比较;E)生成模型增量文件;F)根据模型增量文件存储新版本CIM模型。所述步骤D)包括步骤D1)判断对象是否是新对象,即判断集合A中某个对象是否在集合B中存在,若是,则对象加入集合的插入项;若否,则遍历对象;步骤D2)判断对象是否已过时,即判断集合A中的某个对象是否在集合B中不存在,若是,则对象加入集合的删除项;若否,则遍历对象;步骤D3)判断对象是否已更改,即判断集合A中某个对象在集合B中存在但其CM属性或关联关系发生了变化,若是,则对象加入集合的更新项;若否,则遍历属性和对象。所述步骤Dl)包括步骤Dla)计算集合A-集合B;步骤Dlb)遍历对象;步骤Dlc)判断对象是否是新对象,若是,则执行步骤Dld);若否,则执行步骤Die);步骤Dld)对象加入集合的插入项;步骤Dle)判断遍历对象是否结束,若是,则执行步骤D2);若否,则执行步骤Dlb)。所述步骤D2)包括步骤D2a)计算集合B_集合A;步骤D2b)遍历对象;步骤D2c)判断对象是否已过时,若是,则执行步骤D2d);若否,则执行步骤D2e);步骤D2d)对象加入集合的删除项;步骤D2e)判断遍历对象是否结束,若是,则执行步骤D3a);若否,则执行步骤D2b)。所述步骤D3)包括步骤D3a)计算集合A&集合B;步骤D3b)遍历对象;步骤D3c)遍历属性;4步骤D3d)判断属性或关联关系是否变化,若是,则执行步骤D3e);若否,则执行步骤D3f);步骤D3e)对象加入集合的更新项;步骤D3f)判断遍历属性是否结束,若是,则执行步骤D3g);若否,则执行步骤D3c);步骤D3g)判断遍历对象是否结束,若是,则算法结束;若否,则执行步骤D3b)。本发明由于采用了以上技术方案,使之与现有技术相比,本发明具有以下优点本发明对CIM文件的解析会花费较少的时间和占用较小的资源,全量存储新的CIM模型节省存储空间。图1为本发明的电网企业CM模型增量比较工具的流程图。图2为本发明中的基于模型比较规则算法进行模型增量比较的具体流程图。具体实施例方式下面结合附图和实施例对本发明作详细说明。参看图l,本发明的一种电网企业CM模型增量比较工具,包括以下步骤A)解析新版本全量CM文件;B)建立CM模型集合A;C)获取存储的前一个CIM模型集合B;D)基于模型比较规则算法进行模型增量比较;E)生成模型增量文件;F)根据模型增量文件存储新版本CIM模型。参看图2,本实施例中,本发明中的基于模型比较规则算法进行模型增量比较具体包括以下步骤步骤D1)判断对象是否是新对象,即判断集合A中某个对象是否在集合B中存在,若是,则对象加入集合的插入项;若否,则遍历对象;步骤D2)判断对象是否已过时,即判断集合A中的某个对象是否在集合B中不存在,若是,则对象加入集合的删除项;若否,则遍历对象;步骤D3)判断对象是否已更改,即判断集合A中某个对象在集合B中存在但其CM属性或关联关系发生了变化,若是,则对象加入集合的更新项;若否,则遍历属性和对象。所述步骤D1)包括步骤Dla)计算集合A-集合B;步骤Dlb)遍历对象;步骤Dlc)判断对象是否是新对象,若是,则执行步骤Dld);若否,则执行步骤Die);步骤Dld)对象加入集合的插入项;步骤Dle)判断遍历对象是否结束,若是,则执行步骤D2);若否,则执行步骤Dlb)。所述步骤D2)包括5步骤D2a)计算集合B-集合A;步骤D2b)遍历对象;步骤D2c)判断对象是否已过时,若是,则执行步骤D2d);若否,则执行步骤D2e);步骤D2d)对象加入集合的删除项;步骤D2e)判断遍历对象是否结束,若是,则执行步骤D3a);若否,则执行步骤D2b)。所述步骤D3)包括步骤D3a)计算集合A&集合B;步骤D3b)遍历对象;步骤D3c)遍历属性;步骤D3d)判断属性或关联关系是否变化,若是,则执行步骤D3e);若否,则执行步骤D3f);步骤D3e)对象加入集合的更新项;步骤D3f)判断遍历属性是否结束,若是,则执行步骤D3g);若否,则执行步骤D3c);步骤D3g)判断遍历对象是否结束,若是,则算法结束;若否,则执行步骤D3b)。实际使用中,当一个全量的CIM模型文件提交到业务系统时,业务系统必须识别出哪些对象是原来存在的,哪些是新增的,哪些是被删除的。首先,增量处理最重要的环节是如何识别模型对象,S卩如何识别一个模型对象在CIM历史模型版本中的模型对象是否保持不变。当业务系统具有完善的对象管理功能时,通常可以用业务系统中的模型对象关键字来识别对象,此时增量处理相对简单。而当模型CIM文件中的对象命名无法作为主键时,模型对象识别就必须引入其他的业务属性,按照一定的规则,根据若干属性进行识别。这种规则通常需要根据业务系统的特点和专业知识来制定。其次,CIM模型文件内容较多,关系复杂,我们需要高效的解析CIM模型文件找出差异变化,所以必须设计高效的比较算法。本发明中CIM模型比较规则为全量CMXML模型文件中标识一个模型对象有一些基本属性,如命名cim:Naming,name禾口rdf:ID。cim:Naming.name在一个CIM模型文件中可能会重名,不能使用它作为模型比较的依据。在一个CIM模型文件中是用rdf:ID来唯一标识对象,但是rdf:ID没有实际的业务含义,只是在这个CIM模型文件中唯一,另外一个全量CIM模型文件中同一个对象的rdf:ID就可能发生了变化,所以也不能使用rdf:ID作为模型比较的依据。实际上,识别一个模型对象是否在不同的CIM模型文件中是同一个,不仅需要模型的命名和其自身业务属性,还需要结合其相关的拓扑结构信息来判断。本发明根据电网模型的特点,研究并设计了具体的模型比较规则,用来对不同CIM模型版本中的模型对象进行识别。对于不同类型的模型对象,其比较规则也是不同的,具体比较业务规则如下CIM模型比较规则<table>tableseeoriginaldocumentpage7</column></row><table>该规则可以有效地对华东EMS导出的模型文件进行增量处理。实现中,需要根据业务规则,先处理能识别的对象,然后处理依赖于这些对象的其他对象。在规则设计时,需要考虑相互依赖关系,规则中被依赖的对象本身必须是可识别的。本发明中CIM模型比较算法包括算法流程CIM模型比较规则是用来比较两个模型对象是否是同一个模型对象,而如何遍历所有模型对象进行比较,需要设计高效的比较算法,图2是模型比较算法的具体流程。假设新的CIM模型文件的模型对象集合为A,前一个CIM模型版本的模型对象集合为B,集合B采取模型适配器模式,可以由用户根据适配器接口进行定制,比如从用户数据库读取模型生成集合B。算法优化建立模型对象关键字,在上述比较算法流程中,我们要判断该对象是否是新对象或者对象是否已过时,就必须找出两个模型版本中同一个模型对象。如何快速地从一个模型版本中找到另一个模型版本中对应的模型对象呢?这里可以在前面比较规则基础上,根据每一个模型的name、模型对象类型和其关联对象,按照一定的算法,为每一个模型对象建立关键字,关键字是其唯一身份标识,记录于该模型对象的CIM属性localname当中,所以localname在一个CM模型中唯一。建立唯一标识localname的好处是可以在下次进行模型比较时,对于新的CIM模型文件中每一个模型对象,计算出其localname,根据这个localname与存储的前一版本CIM模型中的每一个对象的localname进行比较,如果能找到匹配的localname,则这两个模型对象一定是同一个模型对象,这样就可以极大地提高模型比较效率。本发明的CIM模型比较算法中,比如计算集合A相比于集合B的变化,在A集合中的某一个对象,先计算出它的localname,然后找出集合B中是否存在相同localname的对象,如果存在说明该对象不是新对象,如果不存在相同localname的就必须根据前面的比较规则循环遍历所有相同类型对象进行判断。只有遍历完所有对象才能确定该对象是否是新对象。缓存机制另外,CIM模型比较算法采用了缓存机制,可以明显提高比较效率。如果集合A内的对象A1是新对象则缓存A1的状态,Al从集合A中删除;如果集合B内的对象Bl是过时对象则缓存Bl的状态,Bl从集合B中删除;如果Al与Bl是同一个对象,则在Al中记录其关联对象为B1,在B1中记录其关联对象为Al。综上所述,本发明对CIM文件的解析会花费较少的时间和占用较小的资源,全量存储新的CIM模型节省存储空间。当然,本
技术领域
内的一般技术人员应当认识到,上述实施例仅是用来说明本发明,而并非用作对本发明的限定,只要在本发明的实质精神范围内,对上述实施例的变化、变型等都将落在本发明权利要求的范围内。权利要求一种电网企业CIM模型增量比较工具,其特征在于,包括以下步骤A)解析新版本全量CIM文件;B)建立CIM模型集合A;C)获取存储的前一个CIM模型集合B;D)基于模型比较规则算法进行模型增量比较;E)生成模型增量文件;F)根据模型增量文件存储新版本CIM模型。2.根据权利要求1所述的电网企业CIM模型增量比较工具,其特征在于,所述步骤D)包括步骤Dl)判断对象是否是新对象,即判断集合A中某个对象是否在集合B中存在,若是,则对象加入集合的插入项;若否,则遍历对象;步骤D2)判断对象是否已过时,即判断集合A中的某个对象是否在集合B中不存在,若是,则对象加入集合的删除项;若否,则遍历对象;步骤D3)判断对象是否已更改,即判断集合A中某个对象在集合B中存在但其CIM属性或关联关系发生了变化,若是,则对象加入集合的更新项;若否,则遍历属性和对象。3.根据权利要求2所述的电网企业CIM模型增量比较工具,其特征在于,所述步骤D1)包括步骤Dla)计算集合A-集合B;步骤Dlb)遍历对象;步骤Dlc)判断对象是否是新对象,若是,则执行步骤Dld);若否,则执行步骤Dle);步骤Dld)对象加入集合的插入项;步骤Dle)判断遍历对象是否结束,若是,则执行步骤D2);若否,则执行步骤Dlb)。4.根据权利要求2所述的电网企业CIM模型增量比较工具,其特征在于,所述步骤D2)包括步骤D2a)计算集合B-集合A;步骤D2b)遍历对象;步骤D2c)判断对象是否已过时,若是,则执行步骤D2d);若否,则执行步骤D2e);步骤D2d)对象加入集合的删除项;步骤D2e)判断遍历对象是否结束,若是,则执行步骤D3a);若否,则执行步骤D2b)。5.根据权利要求2所述的电网企业CIM模型增量比较工具,其特征在于,所述步骤D3)包括步骤D3a)计算集合A&集合B;步骤D3b)遍历对象;步骤D3c)遍历属性;步骤D3d)判断属性或关联关系是否变化,若是,则执行步骤D3e);若否,则执行步骤D3f);步骤D3e)对象加入集合的更新项;步骤D3f)判断遍历属性是否结束,若是,则执行步骤D3g);若否,则执行步骤D3c);步骤D3g)判断遍历对象是否结束,若是,则算法结束;若否,则执行步骤D3b)。全文摘要本发明涉及一种电力系统电网企业IEC61970公共信息模型CIM(CommonInformationModel)的模型增量比较工具,包括以下步骤A)解析新版本全量CIM文件;B)建立CIM模型集合A;C)获取存储的前一个CIM模型集合B;D)基于模型比较规则算法进行模型增量比较;E)生成模型增量文件;F)根据模型增量文件存储新版本CIM模型。本发明对CIM文件的解析会花费较少的时间和占用较小的资源,全量存储新的CIM模型节省存储空间。文档编号G06F17/50GK101789042SQ20101010261公开日2010年7月28日申请日期2010年1月29日优先权日2010年1月29日发明者吴湘,吴超,张韧,徐尧强,施绮,李灿,陈琰,马欢申请人:华东电网有限公司;上海东云信息技术发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1