[发明专利]一种基于记录标记的数据库同步方法有效
申请号: | 201410127885.1 | 申请日: | 2014-04-01 |
公开(公告)号: | CN103886091B | 公开(公告)日: | 2017-08-01 |
发明(设计)人: | 李立亚;李亚洲 | 申请(专利权)人: | 无锡科技职业学院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 无锡盛阳专利商标事务所(普通合伙)32227 | 代理人: | 顾吉云 |
地址: | 214028 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 记录 标记 数据库 同步 方法 | ||
1.一种基于记录标记的数据库同步方法,其特征在于:数据库A、数据库B在同个业务数据表中添加相应的同步标记,数据库操作模块通过所述同步标记同步操作数据库A、数据库B中的记录数据,所述数据库A、数据库B的数据同步方法步骤为:
第一 ,所述数据库A、B均正常运行:
(1)、所述数据库操作模块实行两个数据库正常运行态的操作模式,准备好记录数据,将所述记录的标记作为同步标记,将所述同步标记置为“已同步”状态,在所述数据库A中修改所述记录,如果成功修改则执行步骤(2),否则执行步骤(3);
(2)、在所述数据库B中修改所述记录,将所述数据库B中对应记录的同步标记仍置为“已同步”状态,如果成功修改则执行所述步骤(1),否则执行步骤(4);
(3)、将所述记录的同步标记设置为“需同步”状态,在所述数据库B中修改所述记录和对应的同步标记,如果成功修改则执行步骤(5),否则执行步骤(6);
(4)、设置所述数据库A中所述记录的同步标记为“需同步”状态,执行步骤(5);
(5)、记下所述数据库A、B的运行状态,所述数据库操作模块变迁到单个数据库正常运行态模式;
(6)、所述数据库A、B均不能进行修改,则所述数据库A、B都发生故障,排除所述数据库A、B故障后,执行所述步骤(1);
第二,单个数据库正常运行,假定所述数据库A正常运行,所述数据库B故障:
(1)、所述数据库操作模块实行单个数据库正常运行态的操作模式;
(2)、准备好记录数据,将所述记录的标记作为同步标记,将所述同步标记置为“需同步”状态,在所述数据库A中修改所述记录,如果成功修改则执行步骤(3),否则执行步骤(4);
(3)、检查所述数据库B是否恢复正常,如果恢复正常则执行步骤(5),否则执行所述步骤(1);
(4)、所述数据库A、B均不能进行修改,则所述数据库A、B都发生故障,排除所述数据库A、B故障后,执行步骤(5);
(5)、所述数据库操作模块变迁到数据库同步态模式;
第三,所述数据库同步态模式,即为假定的所述数据库A正常运行,所述数据库B从故障恢复正常运行,所述数据库A中有最新的记录需要同步至所述数据库B中:
(1)、所述数据库操作模块实行数据库同步态的操作模式,则对外仅提供查询数据服务;
(2)、所述数据库A正常运行,以所述数据库A为基准,扫描所述数据库A中的同步标记为“需同步”状态的记录,并同步修改所述数据库B对应的记录,将所述数据库A、B中相应记录的同步标记设置为“已同步”状态,如果成功则执行步骤(3);否则执行步骤(4);
(3)、所述数据库操作模块跃迁至两个数据库正常运行态的操作模式;
(4)、对非正常运行的数据库进行排除故障,执行所述步骤(2);
所述数据库A、B的修改记录操作是对记录的新增、删除、更新操作,在所述数据库A、B均正常运行时,将所述数据库A、B中对应记录的同步标记置为“已同步”状态;
只有一个数据库正常运行时的修改记录操作:
(1)、为新增记录操作时,设置正常运行的数据库的同步标记为“需同步”状态,类型为“新增”,并添加记录到正常运行的数据库中;
(2)、为删除记录操作时,如果正常运行的数据库的同步标记为“需同步”状态,且类型为“新增”,则所述删除记录操作直接删除记录,否则所述删除记录操作仅将正常运行的数据库的同步标记设置为“需同步”状态,类型为“删除”;
(3)、为更新记录操作时,如果正常运行的数据库的同步标记为“需同步”状态,且类型为“新增”,则所述更新记录操作更新记录后保持正常运行的数据库的同步标记不变,否则所述更新记录操作更新记录并将正常运行的数据库的同步标记设置为“需同步”状态,类型为“更新”。
2.根据权利要求1所述的一种基于记录标记的数据库同步方法,其特征在于:所述数据库操作模块对所述数据库A、B的记录查询操作:
(1)、收到记录查询操作请求时,判断所述数据库A、B是否都正常运行并且已同步完成,如果是执行步骤(2),否则执行步骤(3);
(2)、同步标记的过滤条件设置为“已同步”状态,任选一个数据库,查询记录;
(3)、所述数据库A、B是否在同步中,如果是,执行步骤(5);否则执行步骤(4);
(4)、是否有一个数据库可以正常运行,如果是,执行步骤(5);否则执行步骤(6);
(5)、假定所述数据库A是正常运行的同步参考数据库,要删除的记录无需再查询,故将查询过滤条件设置为:不查询同步标记为“需同步”且类型为“删除”的记录,从所述数据库A中查询记录;
(6)、所述数据库A、B都故障,返回查询失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡科技职业学院,未经无锡科技职业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410127885.1/1.html,转载请声明来源钻瓜专利网。