公开/公告号CN101526957A
专利类型发明专利
公开/公告日2009-09-09
原文格式PDF
申请/专利权人 北京四方继保自动化股份有限公司;北京四方继保工程技术有限公司;
申请/专利号CN200910081732.7
申请日2009-04-09
分类号G06F17/30(20060101);H02J3/00(20060101);
代理机构11224 北京金阙华进专利事务所(普通合伙);
代理人吴鸿维
地址 100085 北京市海淀区上地信息产业基地四街9号
入库时间 2023-12-17 22:31:46
法律状态公告日
法律状态信息
法律状态
2015-02-04
专利权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150114 申请日:20090409
专利申请权、专利权的转移
2010-09-22
授权
授权
2009-11-04
实质审查的生效
实质审查的生效
2009-09-09
公开
公开
技术领域
本发明涉及电力自动化系统中图模库一体化技术,特别是并行编辑、版本管理与回溯等技术领域。
背景技术
电力自动化系统由于电力网络的不断建设,其数据是不断变化的,而实时系统采集、存储的数据和当时对应的网络结构、系统配置是对应的:如常见的事故追忆功能,就完全需要对应当时的网络配置(图形、模型配置),这种情况下,保存当时的数据版本就是必需的。
同时对电网运行方式的研究,为了优化或者进行规划,一般需要临时调整网络结构或者设备参数等,进行适当的模拟运行,而且研究的网络数据环境如何与实时运行系统互不干扰,这也可以通过版本管理功能有效实现。
并且对于较大型系统,如配电网和大型调度,数据维护和录入时不可避免会遇到多用户并行编辑,如何有效避免冲突,而且每个编辑用户在完整完成自己的工作之前,如何有效保存自己的工作,又不影响实时运行环境可以通过版本管理中版本环境的功能来有效实现。
目前在电力系统中版本管理方法一般限制于单独的图形,而且图形的版本管理是整个文件级别,不能管理到单个图元。而且图形和参数一体的版本管理还没有涉及到。所以整个电网的整体断面很难重现,也不能彻底解决模拟和并行编辑的难题。
发明内容
本发明的目的是为了实现电力自动化系统图模库并行编辑、版本回溯等功能,提出了一种记录级的版本管理方法。所述的方法是通过如下的技术方案实现的,所述的方法包括:
实际电网所对应的图形、模型数据按照记录集的模式存放于关系数据库中,而且始终保存一份完整数据即运行版本(Run Version),系统运行的各部分均从其中取数据。每一编辑者建立一个版本环境,从运行版本签出(Check Out),并将记录置锁,可并行编辑,此后其他用户不能再修改该数据,但可以读取和引用(所使用的数据是原始记录数据,修改用户在签入(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 andSaved 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)任何一个加入版本管理机制的表,均需具备三个固有字段:lID、iVsersion和iLockFlag字段。
4.通过图形和模型编辑的过程来说明版本控制的具体过程
4.1打开图形
通过关系库接口读图形的关系库表(只能读取的是有效表),解释到图形的私有内存格式。
4.2进行任意修改前进行Check out
1)锁定一定的对象,
用户用鼠标拖拽矩形,缩放、定位至欲编辑部分。选择Check out功能。
2)申请Check out,此时GCD以矩形为条件,结合条件LockFlag字段标志为无人Lock状态,对各图层进行选取,在所有图层的基本图形存储表中选择记录;
如果锁定失败(正常情况下,是因为有用户已经锁定),check out失败,返回错误信息,并可提示正在使用者。
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)画图时,完全不生成模型model,保存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。
所述的实现方法可实现于电力调度自动化系统、电力配电自动化系统、变电站自动化系统、电厂电气监控自动化系统等电力自动化主站系统中。
综上所述,本发明的方法是在图模库一体化技术基础上,通过记录级的数据库存储模式,实现了版本管理,满足并行编辑、不同版本环境管理、电网络研究等场合。本发明所要求保护的技术方案由本发明的权利要求所限定。
机译: 物理图形的数学表示的交互图形系统,通过信号来确定与模型有关的信息,这些信息使用机器人或类似模型,特别是应用于机床
机译: 电子文件,例如产品目录,管理方法,例如商品提供者,涉及从导入的文档构建表示模型,将模型应用于文档以及为用户提供者导出存储的模型
机译: 候选者的规范化版本,可在图形状态转换图模型中重用