面向调控云的模型数据治理系统设计和实现∗

2021-06-29 08:41顾叶青施建华
计算机与数字工程 2021年6期
关键词:调度调控对象

梁 阳 顾叶青 施建华 卢 敏

(1.南瑞集团有限公司(国网电力科学研究院有限公司) 南京 211106)

(2.国网浙江省电力有限公司 杭州 310007)

1 引言

调控云平台建设是国调中心及各级省调近年的一项重点工作,通过调控云平台电网模型数据平台的建设,实现电网模型数据在调控云端的统一汇集与全局共享。在调控云平台建设之前,IEC 61970系列标准提出的公用信息模型(common in⁃formation model,CIM)[1]在电网建模方面得到广泛的应用[2~6]。虽然各电网业务系统及应用均遵照CIM标准,然而对标准的理解及应用需求的偏差,造成各系统分散建模、自成体系,难以做到模型数据全局共享及业务协同。基于IEC技术标准,文献[7]对比了CIM/E[8]和CIM/XML[9~10]的差异,并应用CIM/E技术标准提出了基于CIM/E实现模型信息一体化管理的方案,解决了调度中心之间及调度中心内部各专业之间的模型信息共享问题。为了解决长期以来横向上个应用系统间电网模型数据结构不统一、缺乏有效关联,文献[11]阐述了调控云的整体架构及调控云的未来应用展望。在此基础上,文献[12]提出了面向调控云的电力调度通用数据对象结构化设计及应用。文献[13]提出了基于调控云的电网模型数据管理策略,文献[14]提出基于调控云的网络分析服务架构,文献[15]提出基于调控云的电网调控数据信息共享的研究。上述文献[11~15]为本文提供了基础研究方法和成果,遗憾的是暂未研究调控云模型数据云平台中模型数据治理的相关工作及探讨调控云模型数据与现有调度系统中模型数据之间的关系。目前国调中心及各级省调统推部署了调控云模型维护客户端,该客户端支持调控云的模型手动维护功能,考虑到现有电网模型数据量巨大,人工直接在调控云上从零开始维护模型的工作量难以估算。同时,考虑到现有调度自动化系统(D5000、OMS)中都拥有各自的电网模型数据,如果直接在调控云上维护模型数据,未来多业务系统之间的电网模型互联互通也是棘手的难题。

为减少重复性工作和提高工作效率,本文设计并实现了面向调控云的模型数据治理系统。本系统秉持“源端分责维护,全局纵横共享”的原则,按照一定的规则抽取源端(D5000、OMS)中的电网模型数据,并利用治理规则对源端数据的参数进行结构化、规范化、标准化治理,最后通过匹配、同步将治理后的参数同步至调控云模型数据云平台。本系统主要贡献如下。

1)提供存量数据治理功能,提高存量电网模型维护上云的工作效率,保证调控云的模型数据的一致性、完整性和准确性。

2)提供增量数据治理功能,自动根据源端模型增量维护情况分类打标签,实现常态化、流程化模型上云。

3)自动建立源端系统与调控云模型映射关系,从而消除“竖井式”业务模式和信息“孤岛”。

4)提供了友好的系统界面,能够满足自动化运维人员日常模型上云工作。

2 调控云模型与系统框架

2.1 调控云模型

调控云模型数据结构设计坚持唯一性、通用性、扩展性、差异性和一致性五大原则,并通过元数据(Meta)、数据字典(Dic)的基本方法来管理和实现模型的标准化设计和可扩展需求。其中,元数据包括元数据对象(MetaObject)、元数据表(MetaT⁃able)、元数据表属性(MetaProperty)和元数据表属性字典(MetaPropertyDic)。元数据对象、表和属性可实现电网模型数据结构的可扩展性,即在不改变程序代码的前提下,实现对象、表或者属性的新增、修改、生效和失效,同时自动创建(CREATE)和更新(ALTER)模型数据物理表结构。元数据表属性字典抽象出电网模型数据结构的外键约束关系从而保证电网模型数据的完整性和一致性。数据字典即Key-Value键值对,在电网领域可以分为通用类、容器类、发输变电设备类等。数据字典的建立可以实现电网模型数据中属性值的手动选择或自动生成进而保证电网模型数据的规范性。

调控云元数据的E-R图如图1所示。

图1 调控云元数据E-R图

2.2 系统框架

系统采用Java EE架构进行设计开发,按照功能主要分为数据抽取,数据转换,数据匹配,数据同步,系统设置五大模块,框架如图2所示。

图2 系统框架图

数据抽取模块即将保存在源端(D5000、OMS)中的模型数据根据预先梳理好的规则抽取到待治理临时库。数据转换模块即对源端的模型数据参数按照调控云的模型规范进行治理,包括参数的规范性、设备挂接关系等。数据匹配模块即将OMS与调控云模型进行名称完全/模糊匹配,最终由人工确认建立OMS与调控云的模型映射关系。数据同步模块即将治理完成后的模型数据批量导入调控云标准模型数据结构库中,并生成调控云的唯一标志ID。系统设置模块包括抽取规则、属性映射关系的配置、治理规则的配置及同步界面方案配置等。

3 系统设计与实现

3.1 数据抽取模块

数据抽取结合<<电力调度通用数据对象结构化设计>>,按一定的规则从数据源端抽取模型数据,抽取范围为10kV及以上厂站、线路及站内关联设备,保证调控云模型与源端实际应用所需的模型数据量的一致性,即“定义规则,确保一致”。

3.1.1 抽取规则

在电网实际生产环境下,同一条跨网线路,线路两端厂站所管辖的自动化运维人员可能会各自建模,这就会导致现有调度自动化系统中存在部分冗余和垃圾数据,因此制定抽取规则对源端的对象数据进行筛选显得尤为重要。同时,由于D5000对象和调控云对象划分粒度不同,比如D5000的厂站存于同一张表,交流线路和T接支线存于同一张表而调控云的对象分类更加细化,每个对象都单独定义对象表,因此每个调控云对象都要定义相应的抽取规则。由于抽取规则的不确定性,在实际使用过程中经常出现规则的更改或者补充,所以抽取规则必须支持可配置化。以变电站为例,抽取规则如下。

D5000源端抽取规则:厂站分类为{系统变}且所属应用同时含SCADA、PAS且厂站类型不为{换流站}或者厂站分类为{用户变}或者厂站类型为{线端连接站};电压等级为{10kV,20kV,35kV,110kV,220kV,500kV};运行状态为{正常投运}。

OMS源端抽取规则:变电站类型为{公用变,用户变};变电站性质不为{监控中心};变电站名称不为空;运行状态为{投运};电压等级为{10kV,20kV,35kV,110kV,220kV,500kV};所属上级不为空。

3.1.2 属性映射

以调控云<<电力调度通用数据对象结构化设计>>中元数据定义的的数据结构为基准,建立D5000、调控云及OMS的设备表属性的对应关系,保证调控云模型数据的完整性和正确性,即“确定来源,保证质量”。

由于调控云的模型是基于电力调度通用数据对象结构化设计的,而现有调度自动化系统中的数据对象是基于CIM设计,因此系统之间的表结构存在很大的差异,需要建立表结构的属性映射关系,保证不同系统之间模型数据物理含义的一致性,以变电站为例,属性映射关系如图3所示。

3.1.3 抽取过程

1)针对存量数据:对于每一类数据对象,一次性全部抽取;

2)针对增量数据:基于消息触发机制,当源端数据发生变化的时候,消息队列中会增加一条<对象类型,对象ID,对象更新标志(I:插入,U:更新,D:删除),处理标志位…>的消息记录,根据消息队列实现增量数据的抽取及打标签。

具体算法实现步骤如下:

步骤一:该系统每1min轮询消息队列,将查询到的消息缓存下来,一直轮询直到5min内没有新增的消息记录为止,对缓存下来的消息进行多线程处理。首先对消息进行对象类型的分类,将同一个对象类型的消息分组,按不同组分别读取抽取规则配置表中配置的抽取规则,将满足抽取规则的数据增量抽取到系统内存。

步骤二:如果抽取到数据则表示该数据需要同步到调控云,再根据模型映射关系表判断该对象ID是否有相应的调控云ID,如果有则判断参数是否发生变更,发生变更则打“更新”标签;未发生变更则不做任何操作并更新消息队列中的处理标志位为3。如果该对象ID没有找到相应的调控云ID,则打“新建”标签。

步骤三:如果没有抽取到数据则表示该数据不需要同步到调控云,再根据模型映射关系表判断该对象ID是否有相应的调控云ID,如果有则判断消息中的更新标志是否为D(删除),是则打“删除”标签,否则打“退役”标签。如果该对象ID没有找到相应的调控云ID,则不做任何操作并更新消息队列中的处理标志位为3。

步骤四:如果抽取的数据打了“新建”、“更新”、“退役”标签,再读取属性映射关系配置表,按照属性映射将抽取过来的数据插入到临时表中。如果该对象ID对应的数据成功入库则更新消息队列中的处理标志位为1,表示抽取成功。否则为2,表示抽取失败。

3.2 数据转换模块

按照预先编制好的数据转换规则,将源端D5000、OMS符合抽取规则的原始数据自动翻译、转换成符合调控云数据规范的值,即“定义规则,程序转换”。

调控云<<电力调度通用数据对象结构化设计>>中元数据表属性字典(MetaPropertyDic)规范了数据结构的外键约束关系,比如变电站的电压等级(TOP_AC_VOLTAGE_TYPE)引用了通用类数据字典(SG_DIC_VOLTAGETYPE),并且在数据库层面加上了强约束关系。因此将源端数据转换成符合调控云字典编码规范的值是无法逾越的障碍,否则会因违反强约束关系导致源端数据无法同步到调控云,治理规则主要包括规则名称、规则作用的对象,规则作用的表、规则作用的属性、规则转换脚本、规则引用的JAVA方法,是否启用,排序等。流

图4 数据转换流程

3.2.1 编制治理规则

以对象属性作为最基本的单位,通过规则编辑器进行规则的编制,加入到规则库中供程序自动转换。通过规则编制可视化界面,可以方便管理员对规则进行编制。以变电站为例,治理规则如下。

1)D5000治理规则:变电站名称:截取全路径名称中的名称,比如“华东。徐圩”截取“徐圩”;调度机构:截取全路径名称中的区域,比如“华东。徐圩”截取“华东”;电压等级:根据D5000里的电压等级中文名转换成调控云中电压等级字典编码;

2)OMS治理规则:变电站名称取OMS中的名称;调度机构:根据OMS中的调度机构转换成调控云中调度机构编码;根据OMS里的电压等级中文名转换成调控云中电压等级编码。

3.2.2 数据划分

由于模型数据归属于不同级别的调度机构,因此需要对模型数据按权限进行划分,以便不同调度机构用户快速识别所属调度管辖的模型数据并对其进行治理、确认、同步。按照调控云的设计规范,使用<<电力调度通用数据对象结构化设计>>中对象的拥有者作为模型数据的权限划分标识属性。

3.3 数据匹配模块

将D5000的模型数据同步至调控云,系统自动建立两系统模型映射/匹配关系;将OMS的模型数据与调控云的模型数据按照一定规则进行完全/模糊匹配,匹配结果由自动化运维人员统一确认,确认之后自动建立OMS与调控云的匹配关系并将OMS参数同步至调控云,即“程序匹配,人工确认”。

针对不同的对象,其匹配条件存在一定的差异,比如变电站将调度机构、电压等级、名称作为匹配项而变压器将所属变电站、电压等级、名称作为匹配项。按照匹配精确度不同,又可以将匹配规则分为完全匹配、模糊匹配和人工匹配。

1)完全匹配

完全匹配即匹配规则中的所有匹配项的数据完全一样,则表示完全匹配。

以变电站为例,完全匹配规则为调度机构一致;电压等级一致;变电站名称一致。

2)模糊匹配

模糊匹配即匹配规则中的部分匹配项的数据存在上下级调度关系(比如华东分调和江苏省调、江苏省调和南京地调)、名称相似(比如南京电站和南京变)等,则表示模糊匹配。

以变电站为例,模糊匹配规则为

(1)调度机构一致或者两者为上下级关系或者为空;

(2)电压等级一致或者为空;

(3)变电站名称一致或者相似。

①同义词转换:kV、kv、千伏统一转换成kV;

②去除停用词:变电站、电站、变、站。

3)人工匹配

通过人工确认、手动拖拽的方式,将两条数据强行配对,从而建立不同系统之间的模型映射关系。

3.4 数据同步模块

由用户检查所在调度管辖范围内的模型数据,确认无误之后,将治理后的模型数据从临时表中同步到调控云正式表,并生成调控云的唯一标识ID,即:“分责检查,同步上云”。具体流程步骤为

步骤一:导出Excel,检查数据治理情况,包括正确性、规范性和完整性;

步骤二:检查数据发现参数缺失,则在源端维护;

步骤三:检查数据发现没有问题,则同步至调控云。

流程图如图5所示。

图5 数据同步流程

3.4.1 调控云ID

调控云模型数据以ID编码作为唯一标识,同一对象的基本信息、静态参数、动态参数等信息唯一标识一致。参照<<电力调度通用数据对象结构化设计>>,在同步的过程中为每个设备对象生成全局唯一的ID编码,ID编码生成规则为:对象编码(4位)+拥有者(6位)+对象随机序列码(不同对象的随机序列码的长度不同)。

3.4.2 参数同步及映射关系

将治理之后且符合调控云规范的参数同步(同步界面方案可动态配置)至调控云中并自动保存源端ID和调控云ID的映射关系,为运行数据云平台的建设、云端应用提供基础数据支撑。

3.5 系统设置模块

为了系统定制方便和部署配置简单,提供了抽取规则配置、属性映射配置、治理规则配置和同步界面方案配置等界面。管理员通过系统配置模块为不同现场配置来满足各个现场的实际需求,尽可能实现通用配置最大化,定制开发最小化。抽取规则配置表详细记录了源端是哪,源端表与目的端表的映射关系及源端的抽取规则等配置信息。属性映射关系配置表详细记录了源端模式名、源端表名、源端属性名、目的端模式名、目的端表名和目的端属性名等配置信息。治理规则配置表详细记录了对象编码、治理规则名称及治理规则(JAVA方法或者脚本)等配置信息,每个对象对应多个治理规则分别负责不同对象属性参数值的转换功能。同步界面方案配置表详细记录了对象表的哪些属性可显示,可编辑等信息。令A={x|x∈RULE_NO=PAGE-19,DISP_STATE=true的 属 性},B={x|x∈RULE_NO=PAGE-20,DISP_STATE=true的属性},源端(D5000)数据同步时,将A属性集合的值同步到调控云。源端(OMS)数据同步时,将B-(A∩B)的属性集合的值同步到调控云。

4 应用分析

目前,调控云上部署了多个应用,包括模型维护客户端(ModelClient)和模型数据匹配工具(Mod⁃elMatch),模型维护客户端主要功能是维护调控云的模型数据,模型数据匹配工具主要功能是匹配现有调度系统与调控云上的模型数据。模型数据治理系统(ModelGovern)与上述应用系统的功能有效性对比结果如图6所示,模型维护客户端仅支持F1功能,模型匹配工具仅支持F4和F5功能,模型数据治理系统不仅支持单条及批量数据维护上云(F1-F3)功能,同时支持与现有调度系统的模型数据匹配(F4-F5)的功能。

图6 不同系统之间功能对比

4.1 数据治理流程图

数据治理流程如图7所示。

图7 模型数据治理流程

4.2 存量数据治理展示

如图8所示,展开<模型中心数据治理>树形结构,选择待治理的数据对象,比如“变电站”,右侧表格会列出从三区模型中心按照抽取规则导入的登录用户所在地区且具备维护权限的待治理设备列表。点击右侧表格上方工具栏的<治理>按钮,对抽取到的模型数据进行批量治理。“治理完成”之后,点击右侧表格上方工具栏的<导出>按钮,系统将治理后的结果导出为Excel方便供用户核对检查。

如图9所示,选择<未同步>标签页,勾选需要同步到调控云的数据,点击按钮<同步>将选中的数据同步到调控云。

如图10所示,在树形结构中展开,选择一种数据对象,比如“变电站”,右侧表格会列出所有已匹配的变电站数据。点击<待匹配>按钮,切换自动名称完全匹配、自动名称模糊匹配和手动拖拽匹配不同匹配模式,表格会列出待确认的程序自动匹配结果,选择表格数据,点击<匹配>按钮,建立OMS与调控云的模型映射关系。

图8 数据治理页面

图9 数据同步页面

图10 数据匹配页面

4.3 增量数据治理展示

如图11所示,点击<模型中心>,在树形结构中选择一种数据对象,比如“变电站”,右侧卡片会列出所有当前登录账号具备维护权限的新建、更新、删除、退役的变电站增量数据。自动化运维人员进入每一个标签页,点击<同步至调控云>按钮,就可以完成将该模型数据从模型中心同步至调控云。实际应用表明该系统满足自动化运维人员常态化模型上云工作。

图11 增量数据治理页面

5 结语

本文在调控云建设的大背景下,分析电网模型数据云平台建设需求,设计并实现了面向调控云的模型数据治理系统。该系统设计分为数据抽取、数据转换、数据匹配、数据同步、系统设置五大模块,完成将源端(比如D5000、OMS)的存量和增量的模型数据结构化、规范化、标准化同步到调控云的功能,并自动建立起源端与调控云的模型映射关系,为之后从源端定时抽取运行数据上云做准备。系统具备一定的通用性,可根据不同现场的实际需求灵活配置。该系统已经部署并运用在全国多家网省公司,运行状态良好,支撑了全国多家网省公司的电网模型上调控云的工作。

猜你喜欢
调度调控对象
基于智慧高速的应急指挥调度系统
基于半划分调度的Linux 实时调度算法改进*
基于CE-PF算法的舰载机离场调度优化问题
水资源平衡调度在农田水利工程中的应用
楼市调控是否放松
瘤胃调控剂对瘤胃发酵的影响
晒晒全国优秀县委书记拟推荐对象
如何调控困意
攻略对象的心思好难猜
图说车事