公开/公告号CN102663547A
专利类型发明专利
公开/公告日2012-09-12
原文格式PDF
申请/专利权人 积成电子股份有限公司;
申请/专利号CN201210085252.X
申请日2012-03-28
分类号G06Q10/06;G06Q50/06;
代理机构济南舜源专利事务所有限公司;
代理人苗峻
地址 250100 山东省济南市历下区花园路东段188号
入库时间 2023-12-18 06:28:50
法律状态公告日
法律状态信息
法律状态
2015-09-02
授权
授权
2012-11-07
实质审查的生效 IPC(主分类):G06Q10/06 申请日:20120328
实质审查的生效
2012-09-12
公开
公开
技术领域
本发明涉及电力调度自动化领域,尤其涉及一种电力调度自动化主备系统全模型同步过程中保持资源ID不变化的方法。
背景技术
电力调度自动化系统是电网运行控制中枢,承担着组织电网运行、指挥事故处理和恢复等重要任务。提高各级电网调度抵御各类事故、自然灾害和社会突发事件的能力,保证其不间断运行,是电网更好地服务于经济社会发展的关键。为满足调度自动化系统(以下简称主系统)的可靠性要求,要求建设一套完整的调度自动化备用系统(以下简称备系统),具体信息可参见《国家电网公司地县级电网备调建设框架方案》。在备系统与主系统并行运行的过程中,按照电力公司要求要做到主系统的全模型信息能完整的可重复的导入到备系统中,以满足备系统模型信息的免维护要求,避免在备系统侧重复录入模型信息的工作。
在模型同步过程中需要将每个模型资源的通用资源标志符(Uniform Resource Identifier, 简称"Uri")映射为备系统内部使用的资源ID,以提高资源访问和存储等方面的便利性,映射生成的资源ID与Uri都具有唯一性和系统内不重复的特性,以唯一标识每个模型资源对象。同时,备系统内部其他应用会直接使用资源ID进行各种业务处理,甚至在各种形式的物理存储中(如文件、数据库等)记录资源ID。现有公开的模型同步过程,每次模型同步过程模型资源对象的Uri会随机重新分配一个资源ID。这样会造成两次模型同步过程中相同的Uri与资源ID的映射关系发生变化。模型同步完成后,备系统各应用需同步进行更新原本记录资源ID的各类物理存储(文件,数据库等),必然造成备系统大量不必要的工作量。若不进行上述工作,则会导致应用的运行异常,以至于备系统不可用。
发明内容
针对现有技术中存在的上述问题,本发明公开了一种在主备系统全模型同步过程中能保持资源ID不变化的方法。
本发明采用的技术方案如下:
一种电力调度主备系统全模型同步保持资源ID不变化的方法,包括如下步骤:
(1)、在备系统中建立临时模型库和实时模型库,两个模型库中均设有一用于存储本模型库下次可分配的最小资源ID的下一个可分配资源ID存储单元,两模型库分别连接独立的物理存储,其中临时模型库用于存储本次模型同步的模型信息,实时模型库用于存储备系统运行时的模型信息。
(2)开始模型同步,先清空临时模型库中的模型信息,再从实时模型库查询下一个可分配资源ID存储单元,并将查询到的下一个可分配的资源ID写入临时模型库的下一个可分配资源ID存储单元。
通过记录下一个可分配资源ID,可使本次模型同步过程若需分配新的资源ID都从该资源ID向后分配,以保证该资源ID之前的资源ID不会被重新分配,有效避免重复,保证资源ID的唯一性。
(3)、循环读取主系统模型资源对象,根据查询情况将相应的模型信息存入临时模型库:逐个读取主系统提供的模型资源对象,通过该对象的Uri向实时模型库查询对应的资源ID;若查询成功,则可将该资源对象及Uri与资源ID的映射写入临时模型库;若查询失败,则向临时模型库申请下一个可分配的资源ID,再将资源对象及Uri与该资源ID的映射写入临时模型库,同时临时模型库需累加更新下一个可分配资源ID。
本发明在分配资源ID前,先使用Uri访问实时模型库,获取已有资源ID,可保证已有重复的Uri不会被重新分配资源ID而导致资源ID发生变化,防止出现两次模型同步中相同的Uri映射为不同资源ID的问题,同时还可保证没有对应资源ID的Uri最新分配的资源ID不会与已有的资源ID重复。同时,在访问实时模型库获取资源ID时,采用了批次查询的方式,不会对实时模型库带来运行性能上的影响。
(4)、所有模型资源对象读取完毕后,将临时模型库中的模型信息导出并导入实时模型库,结束本次模型同步。向实时模型库导入模型信息时,全部替换实时模型库中的原有模型信息,更新实时模型库。临时模型库中记录的模型资源对象与实时模型库相比,Uri重复的资源对象其对应的资源ID是一致的。
上述步骤所述的模型信息包括模型资源对象及该资源对象的Uri与备系统中资源ID的映射关系。
本发明解决了两次模型同步过程中具有重复Uri的模型资源对象在映射到资源ID时资源ID不一致的问题,与现有技术相比,能有效避免备系统下需读取模型信息应用的各应用在未重新载入Uri与资源ID映射前,无法正常运行的问题,降低记录资源ID的各种大批量物理存储(如大量的记录有资源ID图形文件)需重新转换一遍的工作量,避免其他直接记录资源ID的配置文件,在未重新修正前导致应用无法正常运行的问题。
附图说明
图1是本发明实施方式的流程图。
具体实施方式
下面结合附图对本发明的具体实施步骤进行详细描述:
一种电力调度主备系统全模型同步保持资源ID不变化的方法,该方法实施的前提是主系统已将全模型文件传输到备系统中,在开始模型同步之前先在备系统中建立临时模型库和实时模型库,实时模型库处于连续运行状态,临时模型库仅在模型同步过程中与实时模型库交互。两个模型库中均设有一用于存储本模型库下次可分配的最小资源ID的下一个可分配资源ID存储单元,其中临时模型库用于存储本次模型同步的模型信息,实时模型库用于存储备系统运行时的模型信息。在此建立临时模型库的目的是在模型同步过程结束前新的模型信息不会直接写入实时模型库,以免影响备系统的正常运行(备系统各业务单元均以实时模型库为基础提供各项业务功能),也可有效避免直接写入实时模型库时因写入失败导致的系统崩溃。建立临时模型库还可在全模型同步时清空模型库。
然后开始模型同步过程,具体可分为如下步骤:
S1、全模型同步开始;
S2、清空临时模型库的模型信息;
S3、从实时模型库查询下一个可分配资源ID存储单元,并将查询到的下一个可分配的资源ID写入临时模型库的下一个可分配资源ID存储单元;
S4、读取主系统提供的模型资源对象;
S5、通过该对象的Uri向实时模型库查询对应的资源ID;若存在,则直接进入步骤S6;若不存在,进入步骤S7;
S6、将资源对象及Uri与资源ID的映射写入临时模型库,继续步骤S9;
S7、向临时模型库申请下一个可分配的资源ID,继续步骤S8;
S8、累加更新临时模型库的下一个可分配资源ID,然后进入步骤S6;
S9、检测所有模型资源对象是否读取完毕,若读取完毕,则继续步骤S10;若未读取完毕,则返回步骤S4;
S10、将临时模型库中的模型信息导出;
S11、将模型信息导入实时模型库,向实时模型库导入模型信息时,全部导入,替换实时模型库中的原有模型信息。
S12、本次模型同步结束。
其中,所述模型信息包括模型资源对象及该资源对象的Uri与备系统中资源ID的映射关系。
机译: 主备配置通信控制器及主备系统切换方法
机译: 资源共享的方法和设备,主备保护系统以及存储介质
机译: 支持主备模型的KUBERNETES系统的操作方法