系统采用模型集配置信息表对不同模型集所包含的模型类、属性以及属性间的关联关系进行定制,配置信息表由模型集类型名、模型类名、模型类属性名、引用属性4列构成,并按行对模型集信息存储。
业务维护与管理的模型可由公共模型集与业务特有模型集组合形成,在此基础上实现应用维度的电网模型统一构建与管理功能。
2.1.2 未来态模型的定义与维护方式
未来模型版本创建时,必须依据规划或基建任务维护设备的计划投运时间,人工对业务所属模型集和预计投运使用时间进行定义,系统支持以当前时刻运行系统模型或已存在的未来模型版本中相同类别模型作为数据来源创建不同规划投运时间的未来态模型版本。系统通过模型版本生成服务抽取并生成相应模型数据文件,将文件数据装载到该版本目录的文件数据库中。后续用户可使用建模界面工具对创建的未来态模型开展维护定义工作。
2.1.3 未来模型高效存取技术
用户可定义不同应用模型集合并将模型表进行归类,同一模型表只能属于一种类型模型集,未来版本模型生成时只需按照所需维护模型集类型选择即可。模型存储类型信息内容如表1所示。
每一张模型表使用一个或多个数据库文件进行存储,采用数据分片常量(默认为5万条)对大表进行水平切分存储,数据表结构与在线系统保持一致。模型数据存储分片信息如表2所示。模型存取服务采用自身实现的SQL-92语法解析器,对分片存储模型表的查询请求进行语法重组、分片查询、结果合并处理,以断路器breaker为例查询语句为
id, name from breaker;
模型存取服务根据分片信息使用语法解析器进行语法重组:
breaker_0.id, breaker_0.name from breaker as breaker_0;
breaker_1.id, breaker_1.name from breaker as breaker_1;
…
breaker_n.id, breaker_n.name from breaker as breaker_n;
在得到重组的分片语句后,服务开启线程池并发访问语句对应的数据文件,在所有线程数据获取完毕后进行结果合并。模型记录INSERT、UPDATE、DELETE操作时,服务先进行语法重组,执行阶段时对多数据文件进行attach连接,在全数据集中进行WHERE条件匹配更新。
用户可以方便、快捷地根据需求将不同类型的模型集组合构建成一个模型版本,模型版本包含了模型集中所有模型表对应的数据库文件、模型维护增量信息,与之对应的是操作系统中物理存储目录,是存储单个模型版本模型数据的逻辑单位。在生成未来模型版本时,分布式存储元数据服务在多机中选择一台已存储版本较少、系统资源占用率较低的机器,达到多版本存储的负载均衡,并在这台机器上分配模型版本的唯一目录路径;根据该版本包含模型集的数据表范围在该目录中生成相应的数据库文件。模型版本分布式存储元信息表如表3所示。
2.1.4 未来模型建模技术
未来态模型维护环境中包含模型版本的CIM/E文件、存储CIM/E模型数据的文件数据库、供模型编辑工具展示与编辑的未来态应用实时库,不同模型维护环境中上述3种数据资源相互独立。
未来态建模示意如图3所示。未来态模型的维护操作不对实时运行系统的模型产生影响,未来态模型版本生成环境与实时运行环境相对独立。未来态模型版本生成环境采用独立模型存储和独立的模型版本编辑与校验环境。此外,考虑到不同应用的需求,支持对多个模型版本同时进行编辑和维护,多个模型版本维护环境之间相互独立、互不影响。支持上下级调度多用户同时维护未来模型,并且相互具有隔离性。