一种主、备数据库同步方法和系统与流程

文档序号:15462452发布日期:2018-09-18 18:29阅读:来源:国知局

技术特征:

1.一种主、备数据库同步方法,其特征在于,包括:

主数据库中的数据发生变化,得到变化表,其中,所述变化表包括变化记录号和变化内容;

将所述变化记录号写入失步队列,将所述变化记录号相应的所述变化内容和所述变化位置记载到失步映像区;

根据所述变化记录号写入所述失步队列的先后顺序,将所述失步映像区中相应的变化内容和变化位置进行打包,得到打包数据;

发送所述打包数据至备数据库;

若所述备数据库根据所述打包数据完成数据更新,则发送同步完成信息;

删除所述失步映像区中与所述打包数据对应的变化内容和变化位置,删除所述失步队列中与所述打包数据对应的变化记录号。

2.根据权利要求1所述的主、备数据库同步方法,其特征在于,所述变化内容包括失步类型、记录长度和失步记录内容,其中,所述失步类型包括插入、删除和修改。

3.根据权利要求2所述的主、备数据库同步方法,其特征在于,所述记录长度为非定值。

4.根据权利要求3所述的主、备数据库同步方法,其特征在于,所述方法还包括:

若在预设时间段内未收到所述同步完成信息,则重新发送所述打包数据至所述备数据库。

5.根据权利要求4所述的主、备数据库同步方法,其特征在于,所述方法还包括:

判断每个时间周期内是否收到所述同步完成信息,若是,则表示同步状态正常;若否,则中断当前同步,其中,一个所述时间周期的时间长度大于或等于所述预设时间段。

6.根据权利要求5所述的主、备数据库同步方法,其特征在于,所述方法还包括:

判断所述主数据库和所述备数据库是否处于工作状态,若否,则禁止同步;若是,则正常同步。

7.根据权利要求6所述的主、备数据库同步方法,其特征在于,所述方法还包括:

获取CPU占有率;

判断所述CPU占有率是否超过阈值,若是,则降低发送所述打包数据至所述备数据库的发包速度;若否,则按默认的发包速度发送所述打包数据至所述备数据库。

8.根据权利要求7所述的主、备数据库同步方法,其特征在于,所述主数据库和所述备数据库进行第一次同步时,对所述失步队列和所述失步映像区进行初始化。

9.一种主、备数据库同步系统,其特征在于,包括主数据库、备数据库、失步队列、失步映像区和用于储存工作指令的失步映像注册区,其中,所述工作指令包括:

变化表注册指令,用于在所述主数据库中的数据发生变化时,得到变化表,其中,所述变化表包括变化记录号、变化位置和变化内容;

变化信息记录指令,用于将所述变化记录号写入所述失步队列,将所述变化记录号相应的所述变化内容和变化位置记载到所述失步映像区;

数据打包指令,用于根据所述变化记录号写入所述失步队列的先后顺序,将所述失步映像区中相应的变化内容和变化位置进行打包,得到打包数据;

打包数据发送指令,用于发送所述打包数据至所述备数据库;

同步确认发送指令,用于当所述备数据库根据所述打包数据完成数据更新,则发送同步完成信息;

变化信息删除指令,用于删除所述失步映像区中与所述打包数据对应的变化内容和变化位置,删除所述失步队列中与所述打包数据对应的变化记录号。

10.根据权利要求9所述的主、备数据库同步系统,其特征在于,所述系统还包括用于控制传输数据控制区,所述传输数据控制区包括数据库当前状态字段、发包数字段、当前包重发次数字段、传输失败包数字段和传输状态字段中的一种或多种,其中,

所述数据库当前状态字段,用于判断所述主数据库和所述备数据库是否处于工作状态,若否,则禁止发送打包数据发送指令;若是,则正常发送打包数据发送指令;

所述发包数字段,用于控制CPU占用率,若所述CPU占用率超过阈值,则降低发送所述打包数据至所述备数据库的发包速度;若所述CPU占用率未超过阈值,则按默认的发包速度发送所述打包数据至所述备数据库;

所述当前包重发次数字段,用于在同一个打包数据发送次数超过预设值后,停止发送打包数据发送指令;

所述传输失败包数字段,用于统计打包数据发送失败的次数。

所述传输状态字段,用于判断当前是否正在发送打包数据,若是,则禁止发送打包数据发送指令;若否,则正常发送打包数据发送指令。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1