【技术实现步骤摘要】
数据库数据同步方法、服务器及系统
本申请涉及数据库
,具体而言,涉及一种数据库数据同步方法、服务器及系统。
技术介绍
数据库用于对数据进行储存,并且用户可以通过数据库对数据库中储存的数据进行新增、截取、更新、删除等操作,为了提高数据库的可用性,一般都会设计一个从服务器与主服务器通信连接,用于同步主服务器的预写数据。现有技术中,主服务器和从服务器之间的数据同步方式一般为,主服务器接收消息,根据消息生成预写数据,从服务器定期请求主服务器发送预写数据,并将获取到的预写数据在从服务器中进行执行。但是,上述方法无法保证主服务器和从服务器中预写数据的强一致性。
技术实现思路
有鉴于此,本申请实施例的目的在于提供一种数据库数据同步方法、服务器及系统,能够使得主服务器和从服务器在同一个线程上同步处理相同的预写数据,从而保证了主服务器和从服务器中预写数据的一致性。第一方面,本申请实施例提供一种数据库数据同步方法,该方法应用于主服务器,该方法包括:主服务器获取预写数据;主服务器根据预写数据生成处理预写数据对应的第一请求信息和线程的操作命令,并将操作命令发送给从服务器;其中,操作命令用于指示从服务器根据操作命令重构第二请求信息,根据第二请求信息与主服务器同步在线程上处理预写数据;主服务器根据第一请求与从服务器同步在线程上处理预写数据。可选地,主服务器根据预写数据生成处理预写数据对应的第一请求信息和线程的操作命令之前,上述方法还包括:主服务器获取预写数据的操作键值;主服务器对 ...
【技术保护点】
1.一种数据库数据同步方法,应用于主服务器,其特征在于,所述方法包括:/n所述主服务器获取预写数据;/n所述主服务器根据所述预写数据生成处理所述预写数据对应的第一请求信息和线程的操作命令,并将所述操作命令发送给从服务器;其中,所述操作命令用于指示所述从服务器根据所述操作命令重构第二请求信息,根据所述第二请求信息与所述主服务器同步在所述线程上处理所述预写数据;/n所述主服务器根据所述第一请求与所述从服务器同步在所述线程上处理预写数据。/n
【技术特征摘要】
1.一种数据库数据同步方法,应用于主服务器,其特征在于,所述方法包括:
所述主服务器获取预写数据;
所述主服务器根据所述预写数据生成处理所述预写数据对应的第一请求信息和线程的操作命令,并将所述操作命令发送给从服务器;其中,所述操作命令用于指示所述从服务器根据所述操作命令重构第二请求信息,根据所述第二请求信息与所述主服务器同步在所述线程上处理所述预写数据;
所述主服务器根据所述第一请求与所述从服务器同步在所述线程上处理预写数据。
2.根据权利要求1所述的数据库数据同步方法,其特征在于,所述主服务器根据所述预写数据生成处理所述预写数据对应的第一请求信息和线程的操作命令之前,所述方法还包括:
所述主服务器获取所述预写数据的操作键值;
所述主服务器对所述操作键值进行哈希处理,得到对应的线程编号;
所述主服务器根据所述线程编号,确认所述主服务器和所述从服务器同步处理所述预写数据的线程。
3.根据权利要求1所述的数据库数据同步方法,其特征在于,在将所述操作命令发送给所述从服务器之前,所述方法还包括:
所述主服务器获取所述线程的滑动窗口已处理预写数据的容量;
所述主服务器判断所述已处理预写数据的容量是否不大于预设容量阈值;
若小于所述预设容量阈值,则所述主服务器继续将所述操作命令发送给所述从服务器;
若等于所述预设容量阈值,则所述主服务器暂停将所述操作命令发送给所述从服务器。
4.根据权利要求1所述的数据库数据同步方法,其特征在于,所述方法还包括:
所述主服务器定时检查是否有新的预写数据产生,若有,则通过文件传输接口将所述新的预写数据发送给所述从服务器;
所述主服务器接收所述从服务器同步处理所述新的预写数据的第一反馈信息,其中,所述第一反馈信息用于指示所述从服务器已完成同步处理所述新的预写数据。
5.根据权利要求1所述的数据库数据同步方法,其特征在于,所述方法还包括:
所述主服务器分别获取所述主服务器和所述从服务器预设时间内同步产生的错误率;
所述主服务器判断所述错误率是否大于第一预设阈值,若大于第一预设阈值,则所述主服务器将所述错误率对应的预写数据重新通过文件传输接口发送给所述从服务器;
所述主服务器接收所述从服务器同步处理所述错误率对应的预写数据的第二反馈信息,其中,所述第二反馈信息用于指示所述从服务器已完成同步处理所述错误率对应的预写数据。
6.根据权利要求1-5任一项所述的数据库数据同步方法,其特征在于,所述方法还包括:
所述主服务器分别获取所述主服务器和所述从服务器预设时间内同步所述预写数据的数据量,计算得到所述主服务器和所述从服务器同步所述预写数据的数据量的差值;
所述主服务器判断所述差值是否不大于第二预设阈值时,获取所述主服务器中所述差值对应的所述预写数据的标号及时间点;
所述主服务器根据所述预写数据的标号及时间点,在所述预写数据对应线程上与所述从服务器同步处理所述预写数据。
7.一种数据库数据同步方法,应用于从服务器,其特征在于,所述方法包括:
所述从服务器接收主服务器发送的处理预写数据对应的第一请求信息和线程的操作命令;
所述从服务器根据所述操作命令重构第二请求信息,根据所述第二请求信息与所述主服务器同步在所述线程上处理预写数据。
8.根据权利要求7所述的数据库数据同步方法,其特征在于,所述方法还包括:
所述从服务器接收所述主服务器通过文件传输接口发送的新的预写数据;
所述从服务器根据所述新的预写数据与多个线程的对应关系构建第三请求信息,其中,所述第三请求信息包括所述新的预写数据分别与多个线程的对应关系;
所述从服务器根据所述第三请求信息在对应的多个线程上同步处理所述新的预写数据,并将第一反馈信息发送给所述主服务器,其中,所述第一反馈信息用于指示所述从服务器已完成所述新的预写数据的同步处理。
9.根据权利要求7所述的数据库数据同步方法,其特征在于,所述方法还包括:
所述从服务器接收所述主服务器通过文件传输接口发送的错误率对应的预写数据;
所述从服务器根据错误率对应的预写数据构建第四请求信息,其中,所述第四请求信息包括所述错误率对应的预写数据分别与多个线程的对应关系;
所述从服务器根据所述第四请求信息在对应的多个线程上与所述主服务器同步处理所述错误率对应的预写数据,并将第二反馈信息发送给所述主服务器,其中,所述第二反馈信息用于指示所述从服务器已完成同步处理所述错误率对应的预写数据。
10.一种服务器,应用于主服务器,其特征在于,所述服务器包括:获取模块、生成模块和第一同步处理模块;
所述获取模块,用于获取预写数据;
所述生成模块,用于根据所述预写数据生成处理所述预写数据对应的第一请求信息和线程的操作命令,并将所述操作命令发送给从服务器;其中,所述操作命令用于指示...
【专利技术属性】
技术研发人员:胡方旭,
申请(专利权)人:北京嘀嘀无限科技发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。