应用于电力自动化系统中的图形、模型一体化的版本管理方法

文档序号:6484247阅读:156来源:国知局
专利名称:应用于电力自动化系统中的图形、模型一体化的版本管理方法
技术领域
本发明涉及电力自动化系统中图模库一体化技术,特别是并行编辑、版本管理与回 溯等技术领域。
背景技术
电力自动化系统由于电力网络的不断建设,其数据是不断变化的,而实时系统采集、 存储的数据和当时对应的网络结构、系统配置是对应的如常见的事故追忆功能,就完 全需要对应当时的网络配置(图形、模型配置),这种情况下,保存当时的数据版本就 是必需的。
同时对电网运行方式的研究,为了优化或者进行规划, 一般需要临时调整网络结构 或者设备参数等,进行适当的模拟运行,而且研究的网络数据环境如何与实时运行系统 互不干扰,这也可以通过版本管理功能有效实现。
并且对于较大型系统,如配电网和大型调度,数据维护和录入时不可避免会遇到多 用户并行编辑,如何有效避免冲突,而且每个编辑用户在完整完成自己的作之前,如 何有效保存自己的工作,又不影响实时运行环境可以通过版本管理中版本环境的功能来 有效实现。
目前在电力系统中版本管理方法一般限制于单独的图形,而且图形的版本管理是整 个文件级别,不能管理到单个图元。而且图形和参数一体的版本管理还没有涉及到。所 以整个电网的整体断面很难重现,也不能彻底解决模拟和并行编辑的难题。

发明内容
本发明的目的是为了实现电力自动化系统图模库并行编辑、版本回溯等功能,提出 了一种记录级的版本管理方法。所述的方法是通过如下的技术方案实现的,所述的方法
包括
实际电网所对应的图形、模型数据按照记录集的模式存放于关系数据库中,而且始
终保存一份完整数据即运行版本(Run Version),系统运行的各部分均从其中取数据。 每一编辑者建立一个版本环境,从运行版本签出(Checkout),并将记录置锁,可并行 编辑,此后其他用户不能再修改该数据,但可以读取和引用(所使用的数据是原始记录数据,修改用户在签入(Check In)之前的任何操作均是私有的)。编辑过程中保存的 数据存放在关系库中与原始数据表克隆出的临时表中,并通过特定的编码标识在不同版 本中的修改记录。签入操作时,数据保存至预备版本(Ready Version)中,同时数据 的修改历史保存至相应表的历史顺序记录中,以便回溯。此时可以进行模拟运行的处理, 直至用户应用该版本,从而数据合并到运行版本中,可以用于实时运行。
所述的记录置锁是将签出的记录置上签出者的标志。此后,其他用户无法再签出, 但签出者可反复编辑,直至签入后解锁。
所述的其他用户可以读取和引用他人己签出数据,是该数据被签出时的断面数据, 而签出者在签出之后所做的任何修改,在签入之前是完全私有的,其他用户在此期间是 访问不到签出数据的任何变化。
回溯,是指在一系列的版本发生后,如果需要其中的一个历史版本,可以根据当前 的运行版本数据,结合本要求中提到的历史顺序记录,该历史版本所对应的完整数据, 而不是在不同的历史断面进行完全保存。其主要优势在于保存所占用的资源大量减少, 而且无需其他操作可回溯到任意版本等。而完整保存断面,需要对每个版本进行全数据 保存,占用资源大,且只能回溯到保存断面的版本。
本发明所采用的图形、模型一体化的版本管理方法完全解决了多用户并行编辑冲突 问题;保证了在电力系统运行中可以取得任意时间断面的完整模型,保证事故追忆能有 效进行;并可以在不影响电网运行下进行电网研究,提供有效的电网规划指导。


图1是本发明方法使用的数据流程图。
具体实施例方式
下面根据说明书附图对本发明的技术方案作进一步详细表述。
本发明公开了一种应用于电力自动化系统中的图形、模型一体化的记录级版本管理
方法,其特征在于
始终存在一份完整数据即运行版本,电力自动化系统运行的图形、模型均从中读取, 每一编辑者建立一个版本环境,从运行版本签出,并将记录置锁并行编辑,此后其他用 户不能再修改该数据,但可以读取和引用,所读取和引用的数据是原始记录数据,修改 用户在签入之前的任何操作均是私有的;签入后的数据保存在预备版本中,可以进行模
拟运行的处理,直至用户应用该预备版本,从而将预备版本中的数据合并到运行版本中,
可以用于实时运行;所述的完整数据是实际电网所对应的图形、模型数据;按照记录集的模式存放于关 系数据库中;
所述的记录置锁是将签出的记录置上签出者的标志,此后,其他用户无法再签出, 但签出者可反复编辑,直至签入后解锁;
所述的其他用户可以读取和引用他人已签出数据,是该数据被签出时的断面数据, 而签出者在签出之后所做的任何修改,在签入之前是完全私有的,其他用户在此期间是 访问不到签出数据的任何变化。
1. 图模一体化版本管理实现的关键技术在于版本控制的几个数据库设计,本发明 方法中实现版本控制需要下面四个数据库
1) 临时工作表用户Check Out之后,Check In之前,对表的任何更改(添加、删 除、更改)在存盘时均记录在该表中。临时工作表对用户是透明的。
2) 增量修改表数据Check in时的存放点,保存多个版本的Check in修改部分信 息, 一次导入至当前有效版本。
3) 当前有效表为系统提供有效数据的数据表,如供实时库取值的表。
4) 版本日志表记录不同版本修改前信息所使用的数据表。保存数据以供用户回 溯至某一版本时使用,是多次增量修改表的逆向操作。
前三个表是每个对象具有的,第四个表全系统唯一一张。
2. 版本控制实现过程数据流主要环节和状态有下面四个
1) 保存把内存中保存的修改记录装入临时工作表(临时工作表随需要动态创建)。
2) 签入把签出后多次保存的增量装入增量修改表,同时删除临时工作表。
3) 更新将增量修改表中内容更改到目前的有效表,形成新的版本。
4) 回退按照签入逆向依次回退(任意版本的回退不支持,比较复杂不考虑)。 目前的版本控制只能作到只保留最新版本的全记录,不能任意指定版本的记录,除
非进行回退,到旧版本,切不可逆,无法再回到新版本;最多有一个回退记录。
图形和模型可能处于的三个状态New Check Out (Editing)新签出;Check Out and Saved Check In; Check In and Reversed Deleted 。
图1所示为本发明方法使用的数据流程图。
3. 图模一体化版本管理实现中图模管理的关系
图形和CIM模型数据分别存储于单独的数据库表中,以下分别标识为GraDB和 CIMDB。 GraDB由图形编辑工具GCD维护,CIMDB由CIM数据管理模块CIMMgr维 护。
存在如下确定条件和约定1 )GCD无权处理CIMDB,因此对GCD, CIMDB视为黑箱。由于与GCD与CIMMgr 的层次设计较为分明,GCD不关心CIM数据的存储方式,仅调用接口即可完成所有工 作,因此版本管理时,GCD仅处理自身部分的数据,CIM模型数据只能单独处理。因 此二者的数据一致性维护是个问题。
2) 图形的形数据和SCADA数据考虑Incremental机制,均基于记录级实现,亦即 Check In时,Incremental机制会将本次操作的所有记录以约定的形式提供给系统设定的 接收者。Reverse时与此类似。
3) 任何一个加入版本管理机制的表,均需具备三个固有字段IID、 iVsersion和 iLockFlag字段。
4.通过图形和模型编辑的过程来说明版本控制的具体过程 4.1打开图形
通过关系库接口读图形的关系库表(只能读取的是有效表),解释到图形的私有内 存格式。
4.2进行任意修改前进行Check out
1) 锁定一定的对象,
用户用鼠标拖拽矩形,缩放、定位至欲编辑部分。选择Check out功能。
2) 申请Check out,此时GCD以矩形为条件,结合条件LockFlag字段标志为无人 Lock状态,对各图层进行选取,在所有图层的基本图形存储表中选择记录;
如果锁定失败(正常情况下,是因为有用户已经锁定),checkout失败,返回错误 信息,并可提示正在使用者。
3) 如果没有人锁定,用户checkout成功,设置锁定对象的lockflag标志,此版本 不允许再次checkout;同时向CIMMgr提请锁定。
CIMMgr处理完成,返回OK标志后,GCD记录当前版本的有关信息,允许用户开 始编辑。
4) 不同用户可以同时选择不同区域,锁定一定的对象;修改后save保存到自己的 临时工作表中,再打开是自己的临时工作表+增量修改表+实际有效表
(B用户不能指定打开A的临时工作表,只能打开自己的B临时工作表;修改用 户在Check In之前的任何操作均是私有的) 4.3画图的时候
1) 图形修改后,先将图形存到私有内存。
2) 图形与object的关联,先将图形关联的object存储在图形私有内存
3) 设备参数修改,通过CIMMgr形成CIMMgr进行版本维护的缓存区域。4.4 Save的步骤
1) 画图时,完全不生成模型modd,保存save的时候产生模型model;生成模型 model,生成连接关系保存到图形私有内存
2) 编辑完成,用户点击保存,此时GCD调用与CIMMgr的接口函数,将以上建立 的缓存区域通知CIMMgr,后者根据缓存中的内存结构,分解相应的信息,将数据分别 存入对应数据表的临时工作表,形成有效的连接关系。
若失败要求用户手动修改。修改后继续保存;如果用户不想修改,也可以直接选择 只保存图形的修改参数。
若成功GCD将图形数据更改和新增部分存入临时工作表;若失败,通过接口通知 CIMMgr存储失败,请求回退。否则完成本次编辑。
3) 存储时根据版本信息,新增、修改直接存入临时工作表,删除时则拷贝该记录 至临时工作表,但置删除标记。
4) 保存后再读取数据,再读取数据时候(调用API并传递版本号信息)。其读取过 程为-
先分析临时工作表中该版本的记录,获取键值列表,排除当前有效表中键值在列表 中的记录,全部取出来,然后加上临时工作表中对应版本的非删除记录。
若单条记录取先分析临时工作表中是否存在该记录,未删除则直接取出,若不存 在,回当前有效表取。
5) 保存后再存储数据相对简单,直接在临时工作表添加记录即可。
6) 保存后再编辑
a) 用户查看设备信息此时GCD调用与CIMMgr的接口函数,获取相应信息。
b) 用户对信息再进行修改或新增设备后,如果査询设备的参数,先查询私有内存; 如果没有,再向CIM要,而且还要加上当前的版本信息(CIM去判断一CIM的临时+ 增量+有效)
4.5模拟显示
Saved后如果模拟显示,比如可对编辑图形进行Trace。 当前的状态实际上是(临时工作表+增量修改表+实际有效表) 4.6 check in
Check In版本不允许再编辑,Checkout时检查该版本是否为Check In,否则自动定 义为最新版本。 4.7update
将增量修改表全部一次更新到有效表,形成新的有效表;同时向其他的编辑模块GCD和运行模块GCI发送增量修改的通知,更新图形。 4.8版本回退
建立Version Log用户,每个表对应存在,仅在Check In时处理,将Check In处理的记 录——对应地加入Log表中。
1) 存该表时的处理
新增一->删除标记更改_->拷贝现有记录删除一->拷贝现记录,置为新增标志
2) 编辑与Reverse的对应动作 新增一->删除更改一->还原删除一->恢复
要求每个表均有固定键值,以标识对应记录。且该字段不允许手工修改。 Reverse后删除Version Log中的相应记录(指定版本之后的所有版本记录),同时 有一个表记录Check In和Reverse的记录,类似堆栈的后入先出,Reverse到某一版本 之后的Check In and Merged版本信息全部置为Check In and Reverse。
所述的实现方法可实现于电力调度自动化系统、电力配电自动化系统、变电站自动 化系统、电厂电气监控自动化系统等电力自动化主站系统中。
综上所述,本发明的方法是在图模库一体化技术基础上,通过记录级的数据库存储 模式,实现了版本管理,满足并行编辑、不同版本环境管理、电网络研究等场合。本发 明所要求保护的技术方案由本发明的权利要求所限定。
权利要求
1、一种应用于电力自动化系统中的图形、模型一体化的记录级版本管理方法,其特征在于始终存在一份完整数据即运行版本,电力自动化系统运行的图形、模型均从中读取,每一编辑者建立一个版本环境,从运行版本签出,并将记录置锁并行编辑,此后其他用户不能再修改该数据,但可以读取和引用,所读取和引用的数据是原始记录数据,签出者在签入之前的任何操作均是私有的,签入后的数据保存在预备版本中,可以进行模拟运行的处理,直至用户应用该预备版本,从而将预备版本中的数据合并到运行版本中,用于实时运行;所述的完整数据是实际电网所对应的图形、模型数据,其按照记录集的模式存放于关系数据库中;所述的记录置锁是将签出的记录置上签出者的标志,此后,其他用户无法再签出,但签出者可反复编辑,直至签入后解锁;所述的其他用户可以读取和引用他人已签出数据,是该数据被签出时的断面数据,而签出者在签出之后所做的任何修改,在签入之前是完全私有的,其他用户在此期间是访问不到签出数据的任何变化。
2、 根据权利要求1所述的方法,其特征在于,签出者在编辑过程中保存的数据存 放在关系库和原始数据表克隆出的临时表中,并通过特定的编码标识不同版本的修改记 录。
3、 根据权利要求1所述的方法,其特征在于,签入操作时,数据保存至预备版本, 同时数据的修改历史保存至相应表的历史顺序记录中,以便回溯;所述的回溯,是指在一系列的版本发生后,如果需要其中的一个历史版本,可根据 当前运行版本数据,结合历史顺序记录,还原所需历史版本所对应的完整数据,而不是 在不同的历史断面进行完全保存。
4、 根据权利要求1所述的方法,其特征在于签入后数据保存在预备版本中,其 他用户对该用户的修改是可见的,对于电力自动化系统的运行环境仍然是不可见的,此 时可以对数据进行完整性校验、试运行,通过验证后,执行应用操作,预备版本中的数 据完整合并至运行版本中,整个版本管理操作流程完成。
5、 根据权利要求1所述的方法,其特征在于,每个用户在签入前,建立版本环境 信息,包括版本号的获取,对应的工作数据表克隆工作,而在应用操作完成后,该版本 环境被锁定,工作数据表回收,在版本历史管理中,该版本信息永久保存,以用于版本 回溯。
全文摘要
本发明公开了一种应用于电力自动化系统中的图形、模型一体化的记录级版本管理方法。该方法通过记录级的锁定、签入、签出,有效版本、运行版本等管理技术,实现了并行编辑、版本管理回溯等功能。所述方法包括始终存在一份完整数据,系统运行的图形模型均从中读取。每一编辑者均从该数据签出,并将记录置锁进行编辑,此后其他用户不能再修改该数据,但可以读取和引用。编辑过程中,用户可选择保存,也可以选择进行签入操作,将编辑的所有数据,更新至系统的预备版本中,用户应用时,预备版本将兼并至运行版本中,支持用户回退至一定的早期版本。本发明基于记录级考虑,原则上只要记录级的操作均可恢复。
文档编号G06F17/30GK101526957SQ20091008173
公开日2009年9月9日 申请日期2009年4月9日 优先权日2009年4月9日
发明者丁柏玲, 于晓阳, 张云娜, 建 朱, 华 李, 帅 王, 磊 王 申请人:北京四方继保自动化股份有限公司;北京四方继保工程技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1