一种基于CIM模型建立电网大数据仓库的方法与流程

文档序号:17160733发布日期:2019-03-20 00:40阅读:350来源:国知局
一种基于CIM模型建立电网大数据仓库的方法与流程

本发明涉及计算机技术,特别涉及数据库技术,尤其涉及一种基于cim模型建立电网大数据仓库的方法。



背景技术:

公共信息模型(cim)是一个抽象模型,描述电力企业的所有主要对象,特别是与电力运行有关的对象。通过提供一种用对象类和属性及他们之间关系来表示电力系统资源的标准方法,cim方便了实现不同卖方独立开发的能量管理系统(ems)应用的集成,多个独立开发的完整ems系统之间的集成,以及ems系统和其它涉及电力系统运行的不同方面的系统,例如发电或配电系统之间的集成。这是通过定义一种基于cim的公共语言(即语法和语义),使得这些应用或系统能够不依赖于信息的内部表示而访问公共数据和交换信息来实现的。

随着电网企业业务的不断发展,例如企业合并整合过程中,现有的cim模型包括经扩展的ecim模型目前已经无法完全满足企业实际业务运作现状,随着企业电网云计算、大数据平台的软硬件安装部署,平台已开始运作,开展大数据仓库建模实施变得尤为重要,大数据仓库建模需以统一的信息模型为基础,因此需要对原有ecim模型和现有的系统、业务进行统一的梳理、分析和比对,并对现有系统、业务与ecim的差异部分进行扩展完善,同时充分考虑未来业务发展需要及跨领域需求,逐步细化完善业务模型,形成适合电网公司企业发展需求的重新构造的cim模型,有效支撑大数据仓库建模实施以及大数据应用,充分发挥公司数据价值,本发明中将cim模型称为标准cim模型,以区别于ecim和重新构造的cim模型。

在创建电网大数据仓库的过程中,由于行业特殊性,很多问题需要解决,例如,现有的电网业务数据库均是独立开发,数据库类型不尽相同,甚至实体表示和描述也不相同,在整合过程中需要大量人力制作映射关系,耗时费力,另外在创建电网大数据仓库之前,已经存在经扩展的cim,即ecim,但是由于业务合并等使得现有的ecim并不能完全满足当前需求。另外,现有技术中的数据清洗工作往往与数据的最终合并工作同时进行或相继进行,虽然做到了同步,但是集中占用大数据仓库的资源,导致对大数据仓库的访问操作经常出现延时。总之,现有的电网公司各个业务系统需要整合,通过大数据仓库实现资源统一,并且现有的大数据仓库创建过程中不能做到全程自动处理,需要更多人为干预,同时数据清洗与大数据仓库的访问往往存在冲突。

针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。因此,本发明提出了一种基于cim模型建立电网大数据仓库的方法,毋庸置疑,本发明的基于cim模型建立电网大数据仓库的方法经过适当的修改同样适于建立其他大数据仓库。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于cim模型建立电网大数据仓库的方法,通过本发明减少电网大数据仓库创建过程中的人为干预,当存在多种数据库类型,甚至存在ecim的情形下,仍然能够更加高效稳定地实现大数据仓库的创建,特别是基于cim模型实现自动创建大数据仓库,并且在创建过程中应用本专利的相关度量及属性及关系度量算法使得实体合并更加准确高效,同时将对于数据的处理,将数据清洗与合并采用不同周期处理方式,避免了可能存在的大数据仓库的访问冲突,增加用户体验。

根据本专利的基于cim模型建立电网大数据仓库的方法,包括:基于多个现有电网业务系统的数据库表结构、ecim模型重新构造cim模型;以所述重新构造的cim模型为标准将所述多个现有电网业务系统以及所述ecim中的数据进行格式转换并存储以建立电网大数据仓库。

优选地,所述基于多个现有电网业务系统的数据库表结构、ecim模型重新构造cim模型包括:从多个现有电网业务系统的数据库表结构中提取实体子集suben1,……,subeni,……,subenn,属性子集subpr1,……,subpri,……,subprn,关联关系子集subre1,……,subrei,……,subren,所述多个电网现有业务系统分别属于不同的数据库类型,i,n为整数,且n>1,1<=i<=n;从ecim中提取实体子集subenn+1、属性子集subprn+1、关联关系子集subren+1,所述ecim是在标准cim基础上扩展后得到的;将所有实体子集合并为一个实体集合seten,将所有的属性子集合并为一个属性集合setpr,将所有的关联关系子集合并为一个关联关系集合setre;以所述实体集合seten、属性集合setpr、关联关系集合setre为基础构建实体关系模型;将所述实体关系模型对象化以得到重新构造的cim模型;

优选地,对于每个现有电网业务系统i,从该现有电网业务系统i的数据库表结构中提取所有实体作为元素存放在实体子集subeni中,将所有实体及其对应的属性成对地作为元素存放在属性子集subpri中,将所有实体间的关联关系以实体、实体、关联关系三者作为元素存放在subrei中。

优选地,从ecim中提取实体子集subenn+1、属性子集subprn+1、关联关系子集subren+1包括:将ecim中的所有类作为元素存放在实体子集subenn+1中,将所有类及其对应的属性以实体和属性的方式成对地作为元素存放在属性子集subprn+1中,将所有类与类之间的关联关系以实体、实体、关联关系三者作为元素存放在subren+1中。

优选地,所述将所有实体子集合并为一个实体集合seten,将所有的属性子集合并为一个属性集合setpr,将所有的关联关系子集合并为一个关联关系集合setre包括:分别创建空的实体集合seten、空的属性集合setpr、空的关联关系集合setre;将从ecim中提取出的实体子集subenn+1中的所有元素存放在所述实体集合seten中,将从ecim中提取出的属性子集subprn+1中的所有元素存放在所述属性集合setpr中,将从ecim中提取出的关联关系子集subenn+1中的所有元素存放在所述关联关系集合setre中;对于每个subeni,逐一将subeni中的每个实体enj合并到所述实体集合seten中,其中1<=j<=m,j,m为整数,且m>1。

优选地,计算每个实体子集subeni中的元素总量,按照每个实体子集subeni中的元素总量的大小,从大到小依次将每个实体子集subeni中的元素合并到所述实体集合seten中。

优选地,所述逐一将subeni中的每个实体enj合并到所述实体集合seten中包括:在enj所在现有电网业务系统i的数据字典中提取对应与enj的描述字符串strj;计算enj的描述字符串strj与实体集合中的每个实体的描述符的字符串之间的相关度量值;如果实体集合seten中不存在相关度量值大于预定相关阈值的实体,则直接将enj存放在所述实体集合seten中;如果实体集合seten中存在相关度量值大于预定相关阈值的实体ent1,……,entk,……entz,k,z为整数,且1<=k<=z,z>0,则将这些实体作为候选实体,并进一步计算这一个或多个候选实体中每个实体entk与enj的属性及关系度量值,如果这一个或多个实体中不存在属性及关系度量值大于预定属性及关系阈值的实体,则直接将enj存放在所述实体集合seten中;如果这一个或多个实体中存在属性及关系度量值大于预定属性及关系阈值的实体entt1,……,entth,……enttx,h,x为整数,且1<=h<=x,x>0,则将enj与属性及关系度量值最大的实体enttmax进行整合。

优选地,所述计算enj的描述字符串strj与实体集合中的每个实体的描述符的字符串之间的相关度量值包括:对于实体集合中的每个实体的描述符的字符串str进行如下处理:计算相关度量值reme=maxl/min(strj,str),其中maxl为strj与str之间所具有的最长连续相同字符数,min(strj,str)为strj与str中字符串长度较短的字符串的字符数。

优选地,所述计算这一个或多个实体中每个实体entk与enj的属性及关系度量值包括:从属性集合setpr中提取所有包括实体entk的元素并存放于集合setprpf中,从所述集合setprpf中的所有元素中提取出属性项并存放于第一属性集合setprf中;

从关联关系集合setre中提取所有包括实体entk的元素并存放于集合setrepf中,从所述集合setrepf中的所有元素中提取出非entk项的实体项并存放于第一关联关系集合setref中;

从属性子集subpri中提取所有包括实体enj的元素并存放于集合setprps中,从所述集合setprps中的所有元素中提取出属性项并存放于第二属性集合setprs中;

从关联关系子集subrei中提取所有包括实体enj的元素并存放于集合setreps中,从所述集合setreps中的所有元素中提取出非enj项的实体项并存放于第二关联关系集合setres中;

计算属性及关系度量值其中∩为交集运算符号,∪为并集运算符号,||为计算集合中元素数量的运算符号,a、b为权重系数,且a>1,b<1,c为比例系数,当|setprf|+|setprs|>|setref|+|setres|时取否则取

优选地,所述直接将enj存放在所述实体集合seten中包括:在标准cim模型中搜索是否存在与实体enj具有相同描述符的类,如果存在某个类与实体enj具有相同的描述符,则以标准cim模型中的该某个类作为实体替换所述集合setprps与所述集合setreps中的所有元素的enj项,然后将标准cim模型中的该某个类作为实体存放在所述实体集合seten中。

优选地,在直接将enj存放在所述实体集合seten中之后,还包括如下步骤:将setprps中的元素直接存放在所述属性集合setpr中,将setreps中的元素直接存放在所述关联关系集合setre中。

优选地,将enj与属性及关系度量值最大的实体enttmax进行整合包括:从属性集合setpr中提取包括实体enttmax项的元素并存放于属性集合setprmax中,并从关联关系集合setre中提取包括实体enttmax项的元素并存放于关联关系集合setremax中;将集合setprps中的元素的实体项替换为实体enttmax并将替换后不在属性集合setprmax中的元素存放于属性集合setpr中;将集合setreps中的实体enj项替换为实体enttmax并将不在关联关系集合setremax中的元素存放到关联关系集合setre中。

优选地,在硬盘上分配存储空间以供所述实体集合seten、属性集合setpr、关联关系集合setre使用,并定期保存现场参数。

优选地,在以所述重新构造的cim模型为标准将所述多个现有电网业务系统以及所述ecim中的数据进行格式转换并存储以建立电网大数据仓库过程中包括数据清洗步骤。

优选地,以第一预定周期对多个现有电网业务系统中的新数据进行数据清洗,以第二预定周期将多个现有电网业务系统中经数据清洗后的新数据合并到电网大数据仓库中,所述第一预定周期小于第二预定周期。

附图说明

图1是根据本发明实施例的基于cim模型建立电网大数据仓库的方法流程图。

具体实施方式

多种方式可以用于实施本发明,包括实施为方法,过程,装置,系统及其结合。在本说明书中,这些实施或者本发明可以采用的任何其他形式可以称为技术。一般而言,可以在本发明的范围内变更公开的方法的步骤顺序。

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

以下结合说明书附图详细描述本发明,尤其是具体的方法步骤和技术效果将在以下内容中予以详细描述。图1示出根据本发明实施例的基于cim模型建立电网大数据仓库的方法流程图。如图1所示,本发明提出的基于cim模型建立电网大数据仓库的方法包括:基于多个现有电网业务系统的数据库表结构、ecim模型重新构造cim模型;以所述重新构造的cim模型为标准将所述多个现有电网业务系统以及所述ecim中的数据进行格式转换并存储以建立电网大数据仓库。其中ecim模型是在标准cim模型基础上扩展得到的,ecim模型中的类与cim模型中的类之间是相交但是不包含的关系,ecim模型中的属性与cim模型中的属性之间是相交但是不包含的关系,ecim模型中的关联关系与cim模型中的关联关系之间是相交但是不包含的关系。所述基于多个现有电网业务系统的数据库表结构、ecim模型重新构造cim模型包括:从多个现有电网业务系统的数据库表结构中提取实体子集suben1,……,subeni,……,subenn,属性子集subpr1,……,subpri,……,subprn,关联关系子集subre1,……,subrei,……,subren,所述多个电网现有业务系统分别属于不同的数据库类型,i,n为整数,且n>1,1<=i<=n;每个实体集subeni中存放多个实体,所述实体用于表示输电线、电站、电厂等电力系统中相关的客体,现有电网业务系统至少包括两种数据库类型;所述数据库表结构为数据库中的表,表结构包括多个字段。接着,从ecim中提取实体子集subenn+1、属性子集subprn+1、关联关系子集subren+1,所述ecim是在标准cim基础上扩展后得到的。具体而言,对于每个现有电网业务系统i,从该现有电网业务系统i的数据库表结构中提取所有实体作为元素存放在实体子集subeni中,更具体地,将该现有电网业务系统i的数据库表结构中提取所有表示实体的字段名称作为元素存放在实体子集subeni中。接着,将所有实体及其对应的属性成对地作为元素存放在属性子集subpri中,更具体地,将所有表示实体的字段名称及其对应的表示属性的字段名称成对地作为元素存放在属性子集subpri中。然后,将所有实体间的关联关系以实体、实体、关联关系三者作为元素存放在subrei中,更具体地,将所有实体间的关联关系以表示实体的字段名称、表示另一实体的字段名称、这两个字段所在同一个表结构中的表名称三者作为元素存放在subrei中。对于ecim模型而言,从ecim模型中可直接提取的是类、属性、以及关联关系,本发明在从ecim中提取实体子集subenn+1的方法是将ecim中的所有类作为元素存放在实体子集subenn+1中,即从ecim中提取所有类,将所有类名称作为元素存放在实体子集subenn+1中,将所有类及其对应的属性以实体和属性的方式成对地作为元素存放在属性子集subprn+1中,即将所有类名称及其对应的属性名称成对地作为元素存放在属性子集subprn+1中,将所有类与类之间的关联关系以实体、实体、关联关系三者作为元素存放在subren+1中,即将所有存在关联关系的两个类的类名称及其之间的关联关系名称三者作为元素存放在subren+1中。也就是说,各个实体子集中的每个元素均表示一个实体,各个属性子集中的每个元素均表示一个实体及其对应的某个属性,各个关联关系子集中的每个元素均表示一个实体、另一个实体及两者的关联关系。为了应对本发明的方法运行过程中出现断电等意外情况,本发明中的各个实体子集、属性子集、关联关系子集均被分配硬盘空间,并且定期对保存现场参数。然后,将所有实体子集合并为一个实体集合seten,将所有的属性子集合并为一个属性集合setpr,将所有的关联关系子集合并为一个关联关系集合setre。具体包括:分别创建空的实体集合seten、空的属性集合setpr、空的关联关系集合setre;即在硬盘空间上为实体集合seten、属性集合setpr、关联关系集合setre分配存储空间,初始状态下,实体集合seten、属性集合setpr、关联关系集合setre均为空集。对于本发明而言,由于存在ecim,并且由于本发明的目的最终是希望整体上基于标准cim进行大数据仓库的创建,因此数据库的合并以ecim作为基础,进而将从ecim中提取出的实体子集subenn+1中的所有元素存放在所述实体集合seten中,将从ecim中提取出的属性子集subprn+1中的所有元素存放在所述属性集合setpr中,将从ecim中提取出的关联关系子集subenn+1中的所有元素存放在所述关联关系集合setre中。进一步,对于每个subeni,逐一将subeni中的每个实体enj合并到所述实体集合seten中,其中1<=j<=m,j,m为整数,且m>1;然后,以所述实体集合seten、属性集合setpr、关联关系集合setre为基础构建实体关系模型。最终,将所述实体关系模型对象化以得到重新构造的cim模型。根据本发明的实施例,为了减少匹配误差,在数据库合并过程中,计算每个实体子集subeni中的元素总量,按照每个实体子集subeni中的元素总量的大小,从大到小依次将每个实体子集subeni中的元素合并到所述实体集合seten中。也就是说,先合并实体总量大的数据库,后合并实体总量小的数据库。

根据本发明的实施例,所述逐一将subeni中的每个实体enj合并到所述实体集合seten中包括:在enj所在现有电网业务系统i的数据字典中提取对应与enj的描述字符串strj;计算enj的描述字符串strj与实体集合中的每个实体的描述符的字符串之间的相关度量值;如果实体集合seten中不存在相关度量值大于预定相关阈值的实体,则直接将enj存放在所述实体集合seten中;如果实体集合seten中存在相关度量值大于预定相关阈值的实体ent1,……,entk,……entz,k,z为整数,且1<=k<=z,z>0,则将这些实体作为候选实体,并进一步计算这一个或多个候选实体中每个实体entk与enj的属性及关系度量值,如果这一个或多个实体中不存在属性及关系度量值大于预定属性及关系阈值的实体,则直接将enj存放在所述实体集合seten中;如果这一个或多个实体中存在属性及关系度量值大于预定属性及关系阈值的实体entt1,……,entth,……enttx,h,x为整数,且1<=h<=x,x>0,则将enj与属性及关系度量值最大的实体enttmax进行整合。其中,所述计算enj的描述字符串strj与实体集合中的每个实体的描述符的字符串之间的相关度量值包括:对于实体集合中的每个实体的描述符的字符串str进行如下处理:计算相关度量值reme=maxl/min(strj,str),其中maxl为strj与str之间所具有的最长连续相同字符数,min(strj,str)为strj与str中字符串长度较短的字符串的字符数。显然即使strj与str具有多个相同的字符,但是如果各个相同的字符不是连续的那么这两个字符串之间的连续相同字符数仅为1,如果strj与str完全相同那么这两个字符串之间的连续相同字符数为str的长度,并且maxl也为str的长度。对于min(strj,str)而言,设strj的长度为l1,str的长度为l2,如果l1<l2,则min(strj,str)的值为l1,否则min(strj,str)的值为l2。

根据本发明的实施例,所述计算这一个或多个实体中每个实体entk与enj的属性及关系度量值包括:从属性集合setpr中提取所有包括实体entk的元素并存放于集合setprpf中,从所述集合setprpf中的所有元素中提取出属性项并存放于第一属性集合setprf中,由于属性集合setpr中存放的元素为实体与属性对,即每个元素包括实体项和属性项,因此第一属性集合setprf中的元素仅为属性项。从关联关系集合setre中提取所有包括实体entk的元素并存放于集合setrepf中,从所述集合setrepf中的所有元素中提取出非entk项的实体项并存放于第一关联关系集合setref中,由于关联关系集合setre中存放的元素由实体、实体及其关联关系三项构成,即每个元素包括实体项、实体项和关联关系项,因此第一关联关系集合setref中的元素全部为非entk实体的实体项;从属性子集subpri中提取所有包括实体enj的元素并存放于集合setprps中,从所述集合setprps中的所有元素中提取出属性项并存放于第二属性集合setprs中,由于属性子集subpri中存放的元素为实体与属性对,即每个元素包括实体项和属性项,因此第二属性集合setprs中的元素仅为属性项。从关联关系子集subrei中提取所有包括实体enj的元素并存放于集合setreps中,从所述集合setreps中的所有元素中提取出非enj项的实体项并存放于第二关联关系集合setres中,由于关联关系子集subrei中存放的元素由实体、实体及其关联关系三项构成,即每个元素包括实体项、实体项和关联关系项,因此第二关联关系集合setres中的元素全部为非entk实体的实体项。接着,计算属性及关系度量值其中∩为交集运算符号,∪为并集运算符号,||为计算集合中元素数量的运算符号,例如|setprf∩setprs|表示集合setprf与集合setprs的交集中的元素数量,|setprf-setprs|为在集合setprf中但不在集合setprs中的元素数量,以此类推。a、b为权重系数,根据仿真模拟获得,且a>1,b<1,优选a=1.2,b=0.65。c为比例系数,当|setprf|+|setprs|>|setref|+|setres|时,否则取

根据本发明的实施例,所述基于多个现有电网业务系统的数据库表结构、ecim模型重新构造cim模型步骤中还利用标准cim模型,其中,所述直接将enj存放在所述实体集合seten中包括:在标准cim模型中搜索是否存在与实体enj具有相同描述符的类,如果存在某个类与实体enj具有相同的描述符,则以标准cim模型中的该某个类作为实体替换所述集合setprps与所述集合setreps中的所有元素的enj项,然后将标准cim模型中的该某个类作为实体存放在所述实体集合seten中。在直接将enj存放在所述实体集合seten中之后,还包括如下步骤:将setprps中的元素直接存放在所述属性集合setpr中,将setreps中的元素直接存放在所述关联关系集合setre中。

根据本发明的实施例,将enj与属性及关系度量值最大的实体enttmax进行整合包括:从属性集合setpr中提取包括实体enttmax项的元素并存放于属性集合setprmax中,并从关联关系集合setre中提取包括实体enttmax项的元素并存放于关联关系集合setremax中;将集合setprps中的元素的实体项替换为实体enttmax并将替换后不在属性集合setprmax中的元素存放于属性集合setpr中;将集合setreps中的实体enj项替换为实体enttmax并将不在关联关系集合setremax中的元素存放到关联关系集合setre中。

根据本发明的实施例,在硬盘上分配存储空间以供所述实体集合seten、属性集合setpr、关联关系集合setre使用,并定期保存现场参数,以使得当出现中断时能够中断结束后恢复现场,以减少时间成本。

根据本发明的实施例,在以所述重新构造的cim模型为标准将所述多个现有电网业务系统以及所述ecim中的数据进行格式转换并存储以建立电网大数据仓库过程中包括数据清洗步骤,并且以第一预定周期对多个现有电网业务系统中的新数据进行数据清洗,以第二预定周期将多个现有电网业务系统中经数据清洗后的新数据合并到电网大数据仓库中,所述第一预定周期小于第二预定周期。

应当理解,在对每一个实体enj的合并工作之前均需对相关集合、参数等做初始化处理,在此不再赘述。

经由本发明的度量算法进行实体、属性、关联关系的合并使得大数据仓库的建立更准确快速,例如,某一现有电网业务系统数据库中实体输电线表示为电力线,另一现有电网业务系统数据库中实体输电线表示为配电线,经由本发明可自动实现数据库合并过程中将两者视为同一客体,最终使得整个大数据仓库中不会出现两个指代同一客体的实体,避免了现有技术中人力手工判断合并方法的费事费力及不准确的问题。综上所述,根据本发明的基于cim模型建立电网大数据仓库的方法,减少了电网大数据仓库创建过程中的人为干预,当存在多种数据库类型,甚至存在ecim的情形下,仍然能够更加高效稳定地实现大数据仓库的创建,特别是基于cim模型实现自动创建大数据仓库,并且在创建过程中应用本专利的相关度量及属性及关系度量算法使得实体合并更加准确高效,同时将对于数据的处理,将数据清洗与合并采用不同周期处理方式,避免了可能存在的大数据仓库的访问冲突,增加了用户体验。

显然,本领域的技术人员应该理解,上述的本发明的各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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