基于分布式存储的电网模型多版本多租户管理系统和方法
【专利摘要】本发明提供一种基于分布式存储的电网模型多租户多版本管理系统与方法,主要包括采用分布式文件存储方式对电网历史、未来多业务模型进行存储管理,提高多版本模型存储容量与可用性;通过独立文件集存储不同版本模型数据,支持多用户构建相互隔离的模型存储与维护工作环境,提高多版本模型数据的隔离性与安全性;使用数据水平切分方式对单个版本模型进行多文件数据水平切分存储,提高模型数据存取性能;支持未来模型版本之间拆分与合并,提高多租户协同建模能力,具备未来版本投在线流程管理;根据模型差异内容进行历史版本模型存储与管理,支持历史模型管理、追溯与使用。
【专利说明】
基于分布式存储的电网模型多版本多租户管理系统和方法
技术领域
[0001] 本发明涉及电力系统自动化电网模型管理技术领域,特别是一种基于分布式存储 的电网模型多版本多租户管理系统及方法。
【背景技术】
[0002] 随着电网规模不断扩大,及其复杂性的增加,多项业务不仅需要调度控制系统能 从年、月、日未来时间维度提前进行建模及分析工作,而且需要根据不同历史时期电网模型 进行静态追忆分析。当前智能电网调度控制系统为实现电网智能化调度提供了良好的支 撑,具备实时和历史模型的构建与管理能力,但无法从全时间维度对电网未来、历史模型进 行构建及管理。
[0003] 近年来,国内外电力系统自动化厂家采用关系型数据库、分布式数据库存储与管 理电网多版本模型,并通过测试系统对模型的更新进行验证,取得了较好的效果。但在许多 性能上还存在不足,如多租户同时维护的未来模型版本数量与存储可扩展性,未来、历史版 本模型维护及使用过程中的数据隔离性与可用性,未来模型拆分、合并效率及投在线流程 管理,以及历史版本模型存取方式及可追溯性等方面。因此,实现全时间维度的电网多版本 模型协同构建及管理对提升电网应用业务分析水平具有重要意义。
【发明内容】
[0004] 本发明要解决的技术问题为:利用分布式存储技术,在模型数据存储隔离的基础 上,提供多租户相互独立的模型维护及使用工作环境,达到多租户未来模型内容共享的协 同建模目的;对未来版本模型投入在线系统提供较完善的静态、动态验证机制与管理流程; 同时对历史版本模型进行存储与管理,以支持历史模型追溯与使用,并能够快速获取历史 版本模型之间的模型差异。
[0005] 本发明采取的技术方案具体为:基于分布式存储的电网模型多版本多租户管理系 统,包括:
[0006] 轻量级文件数据库,用于存储单个版本的电网模型数据,同一版本的不同电网模 型数据文件保存在不同的轻量级文件数据库中;同一版本的所有电网模型数据文件保存在 相同且唯一的目录中;不同版本的电网模型数据文件采用多机分布式存储与地址索引;
[0007] 多机分布式文件存储管理模块,以轻量级文件数据库为存储支持,管理不同版本 电网模型数据的多机分布式存储;所述管理包括存储节点机器的增加;
[0008] 模型工作环境管理模块,包括权限管理单元、访问控制单元和模型存取单元;所述 权限管理单元用于管理用户的维护和管理权限,访问控制单元用于根据用户的权限及管理 维护的需求对已存储的电网模型数据进行访问,模型存取单元用于根据用户的权限及管理 维护的需求对电网模型数据进行存取;
[0009] 及多版本管理模块,为用户对电网模型数据的维护和管理提供管理维护操作支 持;所述管理维护操作包括未来版本的拆分与合并,将未来版本投入在线系统,以及历史版 本追溯。
[0010] 本发明所述电网模型即电网设备及拓扑结构,为现有技术。
[0011] 进一步的,在存储电网模型版本数据时,属于同一版本中同一类型的电网模型数 据文件,采用数据水平切分方式将数据保存于1个以上轻量级文件数据库中。此存储针对某 电网模型数据的数据量较大情况下应用,同时进行多数据文件存储与数据分片位置索引, 可提高多租户模型数据存储的隔离性与存取性能。
[0012] 本发明的管理系统以智能电网调度控制系统D5000平台为基础构建,使用独立于 智能电网调度控制运行系统的软硬件环境,用户可在离线的管理系统中进行建模工作,通 过网络代理机与在线系统进行通信互联,保证在线运行系统的安全运行。
[0013] 本发明系统针对不同版本的电网历史、未来多业务模型数据文件进行多机分布式 存储与地址索引,提高多租户可同时维护未来模型及使用历史模型的版本数量,并支持加 入机器作为新存储节点提高多版本模型存储总容量;在模型数据存储隔离的基础上,提供 多租户相互独立的的模型维护及使用的工作环境,并支持多租户未来版本模型之间的拆分 与合并功能,达到多租户未来模型内容共享的协同建模目的;对未来版本模型投入在线系 统提供较完善的静态、动态验证机制与管理流程;以全量与差异模型共同保存的方式对历 史版本模型进行存储与管理,可以快速获取历史版本模型与两个历史版本之间的模型差 异,并支持历史模型追溯与使用。
[0014] 本发明基于上述系统的基于分布式存储的电网模型多版本多租户管理方法,包括 以下步骤:
[0015] 步骤一,采用模型集作为维护与管理的基本单元,对模型集进行定义:以电网模型 为核心模型集,各业务私有模型为私有模型集;数据表为形成模型集的最小单位,一张数 据表对应一种类型的模型集;支持自定义模型集、表所属模型集;
[0016] 定义服务资源,所述服务资源包括对电网模型版本进行访问、存取的用户权限定 义和操作支持;所述操作支持包括模型存取服务和模型访问服务;
[0017] 步骤二,根据用户选择的需要维护的模型集,快速生成一个模型维护项目,所述模 型维护项目包括存储模型数据的数据库文件,模型数据分片存储的位置索引信息文件,及 记录变更内容的记录文件;
[0018] 所述数据库文件即轻量级文件数据库,其对模型维护项目中所需维护的模型数据 范围及模型数据进行存储,同一版本的不同电网模型数据文件保存在不同的轻量级文件数 据库中;同一版本的所有电网模型数据文件保存在相同且唯一的目录中;
[0019] 步骤三,根据步骤二模型维护项目中数据库文件中的模型数据范围,针对不同版 本的电网历史、未来多业务模型数据文件进行多机分布式存储与地址索引,包括以下步骤:
[0020] 3.1利用模型存取服务分配该模型维护项目所对应的存储机器ip地址和唯一目录 名称,记录创建该版本模型的用户、预计投运时间、模型版本创建时间等信息;
[0021] 3.2通过网络代理获取智能电网调度控制运行系统中的模型数据表结构,根据模 型数据表结构信息在前述模型维护项目的数据库文件中创建相同的数据表;
[0022] 3.3通过高性能数据生成服务从在线运行系统中抽取电网模型数据,根据数据水 平分片信息并发写入对应的模型维护项目的数据库文件中;
[0023] 此时模型维护项目生成完毕,并形成新的电网数据模型版本;
[0024] 上述步骤支持将模型拼接应用提供的(HM/E模型增量文件中的数据导入到未来版 本数据文件中,3.2)、3.3)还支持根据当前已经存在的某一未来版本模型生成所需新的未 来版本。
[0025] 步骤四,对生成的新的电网模型版本分配服务资源,使得电网模型版本数据与服 务资源在逻辑上合成一个独立的模型工作环境。
[0026]经步骤三即生成了独立的模型维护项目即mProject,创建该模型维护项目的用户 使用模型维护界面工具对维护项目的模型数据进行修改,模型维护界面工具将数据修改请 求提交至模型存取服务,模型存取服务根据请求内容对该版本的电网模型文件数据库进行 修改。一个模型存取服务可以统一负责5-10个维护项目的模型存取工作,本发明方法根据 当前活动的模型维护项目个数自适应开启多个模型存取服务。模型存取服务对模型维护 界面工具传入的用户名进行维护权限校验,用户只能对中自身创建的维护项目中模型进行 维护,模型存取服务支持在该维护项目上加入其它参与维护的用户。
[0027]模型存取服务将用户维护的模型变化内容记录在mProject目录中的模型变更记 录文件中,该文件中记录了模型变更内容、模型变更被哪个用户所修改、模型变更时间,及 变更前后状态等信息。
[0028]以未来版本mProject中模型变更记录文件内容为基础,支持未来版本之间相同、 不同模型集的数据拆分与合并。针对相同模型集中的模型表可以将该未来版本的增量模型 按照用户选择需求进行拆分,并生成增量模型部分不冲突的两个独立未来模型版本,从而 达到用户分厂站先后投入的需求;同时支持将两个增量模型部分不冲突的未来模型合并生 成一个未来模型版本,从而达到多责任区厂站同时投运的需求。多租户在各自版本模型环 境中建模范围与侧重点存在差异,但通过上述未来版本模型拆分与合并技术,可以建立以 电网公共模型为核心的全区域、全业务应用的模型集合,提高多租户协同建模能力。
[0029] 应用本发明的系统和方法,用户完成未来模型维护、自审后,可以通过投在线流程 管理工具在多版本管理系统中生成唯一一个备投运模型版本,备投运版本模型以当前在线 系统模型为基础(对在线系统模型维护进行暂时锁定,防止验证过程中在线系统模型变 更),将未来版本的增量融入到备投运版本数据文件中。增量模型融入成功后,流程管理工 具对该备投运版本进行静态验证(电压等级、参数等),支持将增量模型动态下装至在线系 统的动态验证应用服务器(FES、PAS)实时库中,动态验证应用根据实时数据进行二次验证。 通过静态、动态验证的备投运版本允许将增量模型投入在线系统关系型数据库与实时数据 库中使用。
[0030] 备投运版本模型投在线成功后,该版本模型需要作为历史模型进行保存。此时依 靠模型存储元数据服务分配该mProject所对应的存储机器ip、唯一目录名称,投在线操作 用户名、版本投运时间等信息;历史模型管理服务将mProject中各类数据文件保存至指定 目录中。多版本管理系统支持根据用户配置信息,定期从在线系统抽取模型数据生成历史 模型版本。
[0031]历史版本保存的mProject中包含了与上一版本的差异内容与模型集全表数据,由 此每张模型表以第一份保存的历史版本模型数据作为基线,根据版本时间戳及差异内容形 成可追溯的版本树。系统通过叠加不同版本的差异内容得到任两个版本历史模型的变化, 并且可以在不叠加差异内容的情况下直接将任一历史版本全模型数据导出为(HM/E文件供 应用使用。
[0032]本发明的有益效果为:
[0033]本发明提供的离线多版本维护与管理系统独立于在线调度系统构建,在保证未来 多版本建模与历史多版本模型使用的基础上,不影响在线调度系统的正常运行。
[0034]支持用户定制所需维护的不同业务应用领域模型集,采用模型维护项目mProject 作为存储目录保存模型集数据文件,真正做到多租户模型数据之间的存储隔离。
[0035]不同版本模型维护项目mProject分布式存储,提高多租户同时维护及使用的版本 数量与容量;对单个版本中数据量较大表使用数据水平切分存储,提高模型存取性能。
[0036] 支持未来版本模型的拆分与合并,实现未来模型分时段、分范围先后投运的需求; 提供备投运模型的静态、动态验证流程管理机制,提高投在线的正确性与安全性。
[0037] 充分体现历史各版本模型之间的差异变化,提升历史模型回溯能力;充分利用多 机存储容量的优势,历史版本模型保存全量,不需要使用叠加模型增量的方式即可准确、快 速地获取版本模型。
[0038] 实现全时间维度的电网多版本模型管理,可以配合在线系统实时、历史数据,为电 网应用业务全时段分析提供坚实的模型数据支撑。
【附图说明】
[0039]图1所示为本发明的电网模型多版本管理系统结构示意图;
[0040] 图2所示为本发明实施例中模型集定义与模型维护项目示意图;
[0041] 图3所示为本发明实施例中数据与服务资源隔离的模型维护及使用工作区示意 图; 图4所示为本发明实施例中模型变更信息文件格式示意图; 图5所示为本发明实施例中未来版本投在线流程示意图; 图6所示为本发明实施例中未来版本多用户协同建模与历史版本可追溯管理的示意 图。
【具体实施方式】
[0042] 以下结合附图和具体实施例进一步描述。
[0043]图1是本发明的电网模型多租户协同建模及多版本管理系统体系结构。如图1所 示,在电网调度与控制系统(D5000)的平台功能模炔基础上,部署历史、未来多版本模型管 理模块,实现多版本管理系统的构建。该系统需要部署在安全I区网络环境中,与在线系统 通过网络代理进行通信;系统中不需要安装关系型数据库,对单一版本不同模型表数据使 用多个轻量级文件数据库进行存储,并对不同版本模型采用多机分布式存储;系统不进行 前置数据接站工作,可以通过接收运行系统数据转发获取实时数据,通过在线系统CASE数 据断面或历史数据导出获取历史数据;系统支持以(:頂"1^、(:頂/^格式文件为数据源生成 某一版本模型,并支持将某一版本模型导出为tnM/XML、(HM/E格式文件供使用。
[0044]如图2所示,用户可以定义不同应用模型集合并将模型表进行归类,同一张模型表 只能属于一种类型模型集,未来版本模型生成时只需按照所需维护模型集类型选择即可。 模型存储类型信息表如表1所示:
[0045]表1模型存储类型信息表
[0047] 如图2所示,每一张模型表使用一个或多个数据库文件进行存储,采用数据分片常 量(默认5万条)对大表进行水平切分存储,数据表结构与在线系统保持一致。以开关表 breaker为例,如果数据量小于分片常量,则只生成一个breaker. db文件名的数据文件;如 果数据量大于分片常量,则按照主键顺序分多个数据文件存储,如breaker_0. db、breaker_ 1. db、…、breaker_n. db,模型数据存储分片信息表如表2所示。模型存取服务采用自身实现 的SQL-92语法解析器,对分片存储模型表的查询请求进行语法重组、分片查询、结果合并处 理,如查询语句为:
[0048] select id ,name from breaker;
[0049] 模型存取服务根据分片信息使用语法解析器进行语法重组:
[0050] select breaker_0.id,breaker_0.name from breaker as breaker_0;
[0051] select breaker_l.id,breaker_l.name from breaker as breaker_l;
[0052] ???
[0053] select breaker』, id,breaker』.name from breaker as breaker』;
[0054] 在得到重组的分片语句后,服务开启线程池并发访问语句对应的数据文件,在所 有线程数据获取完毕后进行结果合并。模型记录INSERT、UPDATE、DELETE操作时,服务先进 行语法重组,执行阶段时对多数据文件进行attach连接,在全数据集中进行WHERE条件匹配 更新。
[0055]表2模型数据存储分片信息表
[0057]用户可以方便、快捷地根据需求将不同类型的模型集组合构建成一个版本模型维 护项目mPr〇ject,mPr〇jeCt包含了模型集中所有模型表对应的数据库文件、模型维护增量 信息,与之对应的是操作系统中物理存储目录,是存储单个模型版本模型数据的逻辑单位。 在生成未来、历史模型版本时,分布式存储元数据服务在多机中选择一台已存储版本较少、 系统资源占用率较低的机器,达到多版本存储的负载均衡,并在这台机器上分配mProject 的唯一目录路径;根据该版本包含模型集的数据表范围在该目录中生成相应的数据库文 件。模型版本分布式存储元信息表如表3所示。
[0058]表3模型版本分布式存储元信息表
[0060] 如图3所示,在版本模型维护项目mProject包含的数据文件全部生成完毕后,系统 将创建CIM研究模式的小应用内存数据库资源,并对该版本分配相关服务资源,上述资源逻 辑上合成了一个独立的模型工作环境。用户A创建了一个未来模型工作区后,其他用户不具 有该工作区未来模型的维护权限;用户A可以通过界面工具将其他用户加上该工作区模型 维护权限。多版本管理系统中可以启用多个工作区被多个用户同时使用,并且相互隔离互 不影响。
[0061] 如图4所示,在未来版本mProject目录中模型数据文件产生模型修改的同时,模型 存取服务会将差异内容记录在mProject目录中模型变更信息文件model_diff. info。该文 件包含了多次维护产生的差异段,差异段以_M0DEL_VERSI0N_M0DIFY_INF0_结束,其中包 含 Commlnfo、Original Status、Modif iedStatus 三种信息块。Commlnfo 包含记录id、操作时 间、操作类型信息,Original Status包含操作之前记录数据域状态,ModifiedStatus包含操 作之后记录数据域状态。
[0062]模型拆分与合并工具根据model_diff. info文件对差异内容进行展示。用户根据 业务投运需求,通过该工具将变更模型分离出两个集合,在当前模型数据基础上生成两个 未来版本;并可以将两个未来版本的变更进行合并,在当前模型数据基础上生成一个未来 版本,如果两个未来版本变更内容有操作重叠的记录,将采用操作时间较近的记录状态。
[0063]如图5所示,未来版本模型数据不能直接导入在线系统使用,需要在备投运验证环 境中进行,该环境以在线系统当前模型数据为基础,只允许将一个未来版本变更数据进行 导入。模型静态验证可以检查出备投运环境中的设备逻辑正确性,比如设备系数是否越限、 同一间隔内设备电压一致性、前置点号唯一性等。模型动态验证过程首先需要将备投运增 量模型导出CIM/E格式文件并发送给在线系统,在线系统将增量模型更新SCADA、PAS、FES应 用验证服务器。需要观察实时数据刷新是否有异常;PAS验证服务器从SCADA验证服务器获 取断面数据进行状态估计模型收敛性判断,观察状态估计合格率是否正常。模型动态验证 通过后,允许将备投运模型增量导入在线系统关系数据库与应用实时数据库。
[0064] 如图6所示,备投运版本模型投在线成功后需要作为历史模型进行保存,并在表2 中生成历史版本信息,历史模型管理服务将备投运mProject中各类数据文件保存至指定机 器目录中,表2中历史版本根据创建时间形成可追溯的版本树。系统通过叠加不同版本的差 异内容得到任两个版本历史模型的变化,在不叠加差异内容的情况下直接将任一历史版本 全模型数据导出为CM/E文件供应用使用,并且也支持将历史版本模型装载至多版本管理 系统的工作区中,可以配合D5000在线系统历史采样数据进行反演计算。
[0065] 以上所述仅是本发明的基本原理和主要特征,对于本技术领域的技术人员来说, 在不脱离本发明原理的精神和范围的前提下,还可以做出若干改进和润饰,这些改进和润 饰也应视为本发明的保护范围。本发明要求保护范围由所附的权利要求书及其等效物界 定。
【主权项】
1. 基于分布式存储的电网模型多版本多租户管理系统,其特征是,包括: 轻量级文件数据库,用于存储单个版本的电网模型数据,同一版本的不同电网模型数 据文件保存在不同的轻量级文件数据库中;同一版本的所有电网模型数据文件保存在相同 且唯一的目录中;不同版本的电网模型数据文件采用多机分布式存储与地址索引; 多机分布式文件存储管理模块,以轻量级文件数据库为存储支持,管理不同版本电网 模型数据的多机分布式存储;所述管理包括存储节点机器的增加; 模型工作环境管理模块,包括权限管理单元、访问控制单元和模型存取单元;所述权限 管理单元用于管理用户的维护和管理权限,访问控制单元用于根据用户的权限及管理维护 的需求对已存储的电网模型数据进行访问,模型存取单元用于根据用户的权限及管理维护 的需求对电网模型数据进行存取; 及多版本管理模块,为用户对电网模型数据的维护和管理提供管理维护操作支持;所 述管理维护操作包括未来版本的拆分与合并,将未来版本投入在线系统,以及历史版本追 溯。2. 根据权利要求1所述的基于分布式存储的电网模型多版本多租户管理系统,其特征 是,在存储电网模型版本数据时,属于同一版本中同一类型的电网模型数据文件,采用数据 水平切分方式将数据保存于1个以上轻量级文件数据库中。3. 基于权利要求1至2所述系统的基于分布式存储的电网模型多版本多租户管理方法, 其特征是,包括以下步骤: 步骤一,采用模型集作为维护与管理的基本单元,对模型集进行定义:以电网模型为核 心模型集,各业务私有模型为私有模型集;数据表为形成模型集的最小单位,一张数据表对 应一种类型的模型集;支持自定义模型集、表所属模型集; 定义服务资源,所述服务资源包括对电网模型版本进行访问、存取的用户权限定义和 操作支持;所述操作支持包括模型存取服务和模型访问服务; 步骤二,根据用户选择的需要维护的模型集,快速生成一个模型维护项目,所述模型维 护项目包括存储模型数据的数据库文件,模型数据分片存储的位置索引信息文件,及记录 变更内容的记录文件; 所述数据库文件即轻量级文件数据库,其对模型维护项目中所需维护的模型数据范围 及模型数据进行存储,同一版本的不同电网模型数据文件保存在不同的轻量级文件数据库 中;同一版本的所有电网模型数据文件保存在相同且唯一的目录中; 步骤三,根据步骤二模型维护项目中数据库文件中的模型数据范围,针对不同版本的 电网历史、未来多业务模型数据文件进行多机分布式存储与地址索引,包括以下步骤: 3.1) 利用模型存取服务分配该模型维护项目所对应的存储机器ip地址和唯一目录名 称,记录创建该版本模型的用户、预计投运时间、模型版本创建时间等信息; 3.2) 通过网络代理获取智能电网调度控制运行系统中的模型数据表结构,根据模型数 据表结构信息在前述模型维护项目的数据库文件中创建相同的数据表; 3.3) 通过高性能数据生成服务从在线运行系统中抽取电网模型数据,根据数据水平分 片信息并发写入对应的模型维护项目的数据库文件中; 此时模型维护项目生成完毕,并形成新的电网数据模型版本; 步骤四,对生成的新的电网模型版本分配服务资源,使得电网模型版本数据与服务资 源在逻辑上合成一个独立的模型工作环境。
【文档编号】G06F17/30GK105912691SQ201610251205
【公开日】2016年8月31日
【申请日】2016年4月21日
【发明人】李 昊, 翟明玉, 李镇义, 王培 , 季学纯, 陈鹏, 季惠英, 王昌频, 史浩秋, 王玉军, 张瑞, 崔伟业, 卞月峰, 代宇涵, 赵泰峰, 陈军
【申请人】国电南瑞科技股份有限公司, 国电南瑞南京控制系统有限公司, 国家电网公司, 国网山西省电力公司, 国网四川省电力公司