[发明专利]内存数据库在线装载方法有效
申请号: | 200910234264.2 | 申请日: | 2009-11-18 |
公开(公告)号: | CN102063439A | 公开(公告)日: | 2011-05-18 |
发明(设计)人: | 陆鑫;王艳蓉;顾全 | 申请(专利权)人: | 南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 陈建和 |
地址: | 211102 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 内存数据库装载方法,将数据库分动态分区和静态分区,分别进行存储,数据库装载步骤按时间的进程顺序进行:1、初始阶段,数据在独立于在线库的维护数据库上修改;2、数据装载开始时,将新库的静态区数据载入内存;3、修改完成即新库的静态区装载完毕;4、旧库动态区的“增加日志”执行完毕;5、数据库服务器通过消息中间件向每个应用进程的数据库连接发送装库切换事件;6、所有应用切换到新库,在动态分区上执行“删除日志”;7、完成旧库卸载,在线库为新库。在新数据库装载时通过先载入新静态分区,新旧库共享动态分区,再将应用进程的数据库连接依次从旧数据库上快速切换到新数据库上,最后卸载旧库,实现内存数据库的在线装载。 | ||
搜索关键词: | 内存 数据库 在线 装载 方法 | ||
【主权项】:
一种内存数据库在线装载方法,其特征是包括对数据的动静分区和数据库装载:数据动、静态分区:将维护数据库时变动,而正常运行时不变的数据存储于静态区;将维护时不变,而运行时动态变动的数据存储于动态区,通过指针将静态区和动态区进行关联;数据库装载步骤按时间的进程顺序进行:第1步:初始阶段,数据在独立于在线库的维护数据库上修改,此时,在线库的数据是旧库,维护库的数据是新库;根据维护时的数据增删情况,记录动态分区的“增加日志”和“删除日志”,由于动态分区的数据修改以在线库为准,不需要记录“修改日志”;第2步:在T1时间点,数据装载开始时,将新库的静态区数据载入内存;并且将新库静态区的对象和旧库的动态区通过指针关联,此时新旧库共享动态数据分区即动态区数据,此时所有进程为旧库的数据应用;第3步:在T2时间点,修改完成即新库的静态区装载完毕,此时内存中同时存在新库静态区,旧库静态区和旧库动态区,需要将修改在运行系统中生效,新库的动态区数据以增量方式更新旧库动态区数据,并且将新静态区的对象和动态区通过指针关联;开始执行旧库动态区的“增加日志”,此时新旧库共享动态数据分区,此时所有进程为旧库的数据应用;第4步:在T3时间点,旧库动态区的“增加日志”执行完毕,此时动态区数据是旧库动态区和新库动态区并集,其中数据的交集是新、旧库静态区都有的对象,这些数据也就是需要保留的在线数据,此时所有进程为旧库应用;第5步:T3‑T4时间段,数据库服务器通过消息中间件向每个应用进程的数据库连接发送装库切换事件,应用进程的数据库连接线程会响应该事件,数据库连接指向静态区的指针会自动切换到新库,连接时会自动切换到新库上;连接线程响应函数是一个轮询过程,同时应用进程通过新的数据库连接将自己缓存的参数刷新一下;在T3‑T4切换的这一个时间段,部分为新库应用,部分为旧库应用,新旧库的静态分区的指针指向同一块共享动态分区,所以动态数据的更新不会中断,这段时间数据更新不会丢失,保证了持续运行;第6步:T4时间点,所有应用切换到新库,在动态分区上执行“删除日志”;第7步:T5时间点,完成旧库卸载,在线库为新库。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司,未经南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910234264.2/,转载请声明来源钻瓜专利网。