数据同步方法、装置、设备、系统及存储介质制造方法及图纸

技术编号:19266908 阅读:21 留言:0更新日期:2018-10-27 04:18
本申请提供一种数据同步方法、装置、设备、系统及存储介质,包括:接收数据记录更新请求,该请求包括:第一数据记录的偏置、第一数据记录的标识和第一文件名,第一数据记录为从设备最新同步的数据记录,第一数据记录的偏置为从预设时间到第一数据记录的同步结束时间,从设备接收到的数据记录的大小总和,第一文件名为第一数据记录所属的文件的文件名;根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,第二数据记录为第一数据记录的下一条数据记录;若确定不基于内存从第二数据记录开始进行数据记录同步,则根据第一文件名和第一数据记录的标识基于磁盘从第二数据记录开始进行数据记录同步。从而提高数据同步可靠性。

【技术实现步骤摘要】
数据同步方法、装置、设备、系统及存储介质
本申请涉及计算机
,尤其涉及一种数据同步方法、装置、设备、系统及存储介质。
技术介绍
在分布式存储系统中,为了提高可扩展性,会搜采用数据拆分,也叫数据分片,而为了保证单个分片的高可用性,将采用主从模式进行数据存储。当主设备出现故障时,可以从主设备切换至从设备,从而不影响外部系统的访问。主从模式的前提是主从设备之间的数据需要保持一致,也就是说,主从设备之间需要实现数据同步,而为了保证数据同步,最重要的是要保证对这些数据的数据记录的同步,该数据记录可以是数据更新记录、数据设置记录等。在现有技术中,通常基于内存来进行数据记录的同步,该方式具有效率高的特点,然而由于内存中保存的数据记录有限,如果同步中断时间过久,主从设备之间将无法实现数据记录同步,从而降低了数据记录同步的可靠性。
技术实现思路
本申请提供一种数据同步方法、装置、设备、系统及存储介质,从而提高数据记录同步的可靠性。第一方面,本申请提供一种数据同步方法,包括:主设备接收数据记录更新请求,数据记录更新请求包括:第一数据记录的偏置、第一数据记录的标识和第一文件名,第一数据记录为从设备最新同步的数据记录,第一数据记录的偏置为从预设时间到第一数据记录的同步结束时间,从设备接收到的数据记录的大小总和,第一文件名为第一数据记录所属的文件的文件名。主设备根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,第二数据记录为第一数据记录的下一条数据记录。若确定不基于内存从第二数据记录开始进行数据记录同步,则主设备根据第一文件名和第一数据记录的标识基于磁盘从第二数据记录开始进行数据记录同步。本申请的有益效果包括:在本申请中,主设备可以根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步。若确定基于内存从第二数据记录开始进行数据记录同步,则主设备基于内存进行数据记录同步,这种方式可以保证数据同步效率。若确定不基于内存从第二数据记录开始进行数据记录同步,则主设备根据第一文件名和第一数据记录的标识基于磁盘从第二数据记录开始进行数据记录同步。这种方式可以提高数据同步可靠性,因此通过本申请提供的技术方案一方面可以保证数据同步效率,另一方面可以提高数据同步可靠性。可选地,主设备根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,包括:主设备判断第一数据记录的偏置是否属于预设偏置区间。若第一数据记录的偏置属于预设偏置区间,则主设备确定基于内存从第二数据记录开始进行数据记录同步。若第一数据记录的偏置不属于预设偏置区间,则主设备确定基于磁盘从第二数据记录开始进行数据记录同步。其中,预设偏置区间为内存中存储的数据记录对应的偏置区间。通过该方法可以有效的判断是否基于内存从第二数据记录开始进行数据记录同步。可选地,主设备根据第一文件名和第一数据记录的标识基于磁盘从第二数据记录开始进行数据记录同步,包括:主设备根据第一文件名和第一数据记录的标识在磁盘中查找第二数据记录。主设备在磁盘中查找到第二数据记录之后,从第二数据记录开始进行数据记录同步。可选地,从第二数据记录开始进行数据记录同步,包括:主设备开启新线程。主设备通过新线程从第二数据记录开始进行数据记录同步。本申请的有益效果包括:主设备通过开启新线程从第二数据记录开始进行数据记录同步的方式,不会影响其他业务的进程,从而可以保证主设备的可靠性。可选地,主设备通过新线程从第二数据记录开始进行数据记录同步之后,还包括:主设备设置从设备的状态为第一状态,第一状态用于表示从设备的数据记录同步任务处于待完成状态。可选地,该方法还包括:主设备通过主线程检测从设备的状态。若从设备的状态为第一状态,则主设备确定第三数据记录的偏置和第二文件名,其中,第三数据记录为主设备与从设备之间当前最新同步的数据记录,第三数据记录的偏置为从预设时间到第三数据记录的同步结束时间从设备接收到的数据记录的大小总和,第二文件名为第三数据记录所属的文件的文件名。主设备判断第二文件名和第三文件名是否相同,第三文件名为主设备中第四数据记录所属的文件的文件名,第四数据记录为主设备当前最新的数据记录。若第二文件名和第三文件名不同,则主设备将还未同步的至少一条数据记录中的每条数据记录作为新的第一数据记录,并继续执行:根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步。可选地,该方法还包括:若第二文件名和第三文件名相同,则主设备判断第三数据记录的偏置和第四数据记录的偏置是否相同,第四数据记录的偏置为从预设时间到第四数据记录的生成结束时间主设备生成的数据记录的大小总和。若第三数据记录的偏置和第四数据记录的偏置相同,则主设备设置从设备的状态为第二状态,第二状态用于表示从设备的数据记录同步任务处于已完成状态。可选地,该方法还包括:若第四数据记录的偏置与第三数据记录的偏置之差小于或等于预设门限值,则主设备通过主进程将未同步的数据记录写入内存中,并基于内存同步未同步的数据记录。从而提高数据同步效率。可选地,该方法还包括:主设备设置从设备的状态为第三状态,第三状态用于表示基于内存同步未同步的数据记录。可选地,该方法还包括:若第四数据记录的偏置与第三数据记录的偏置之差大于预设门限值,则主设备将还未同步的至少一条数据记录中的每条数据记录作为新的第一数据记录,并继续执行:根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步。可选地,该方法还包括:若第二文件名和第三文件名不同,或者,第三数据记录的偏置和第四数据记录的偏置不同,则主设备向从设备发送第四数据记录的偏置和第三文件名。若第二文件名和第三文件名相同,且,第三数据记录的偏置和第四数据记录的偏置相同,则主设备向从设备发送第三数据记录的偏置和第二文件名。下面提供一种数据同步装置、设备、系统、存储介质及计算机程序产品。其效果可参考方法部分的效果,下面对此不再赘述。第二方面,本申请提供一种数据同步装置,包括:接收模块,用于接收数据记录更新请求,数据记录更新请求包括:第一数据记录的偏置、第一数据记录的标识和第一文件名,第一数据记录为从设备最新同步的数据记录,第一数据记录的偏置为从预设时间到第一数据记录的同步结束时间,从设备接收到的数据记录的大小总和,第一文件名为第一数据记录所属的文件的文件名。判断模块,用于根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,第二数据记录为第一数据记录的下一条数据记录。同步模块,用于若确定不基于内存从第二数据记录开始进行数据记录同步,则根据第一文件名和第一数据记录的标识基于磁盘从第二数据记录开始进行数据记录同步。可选地,判断模块具体用于:判断第一数据记录的偏置是否属于预设偏置区间。若第一数据记录的偏置属于预设偏置区间,则确定基于内存从第二数据记录开始进行数据记录同步。若第一数据记录的偏置不属于预设偏置区间,则确定基于磁盘从第二数据记录开始进行数据记录同步。其中,预设偏置区间为内存中存储的数据记录对应的偏置区间。可选地,同步模块具体用于:根据第一文件名和第一数据记录的标识在磁盘中查找第二数据记录。在磁盘中查找到第二数据记录之后,从第二数据记录开始进行数据记录同本文档来自技高网...

【技术保护点】
1.一种数据同步方法,其特征在于,包括:主设备接收数据记录更新请求,所述数据记录更新请求包括:第一数据记录的偏置、所述第一数据记录的标识和第一文件名,所述第一数据记录为所述从设备最新同步的数据记录,所述第一数据记录的偏置为从预设时间到所述第一数据记录的同步结束时间,所述从设备接收到的数据记录的大小总和,所述第一文件名为所述第一数据记录所属的文件的文件名;所述主设备根据所述第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,所述第二数据记录为所述第一数据记录的下一条数据记录;若确定不基于所述内存从所述第二数据记录开始进行数据记录同步,则所述主设备根据所述第一文件名和所述第一数据记录的标识基于磁盘从所述第二数据记录开始进行数据记录同步。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:主设备接收数据记录更新请求,所述数据记录更新请求包括:第一数据记录的偏置、所述第一数据记录的标识和第一文件名,所述第一数据记录为所述从设备最新同步的数据记录,所述第一数据记录的偏置为从预设时间到所述第一数据记录的同步结束时间,所述从设备接收到的数据记录的大小总和,所述第一文件名为所述第一数据记录所属的文件的文件名;所述主设备根据所述第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,所述第二数据记录为所述第一数据记录的下一条数据记录;若确定不基于所述内存从所述第二数据记录开始进行数据记录同步,则所述主设备根据所述第一文件名和所述第一数据记录的标识基于磁盘从所述第二数据记录开始进行数据记录同步。2.根据权利要求1所述的方法,其特征在于,所述主设备根据所述第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,包括:所述主设备判断所述第一数据记录的偏置是否属于预设偏置区间;若所述第一数据记录的偏置属于所述预设偏置区间,则所述主设备确定基于内存从所述第二数据记录开始进行数据记录同步;若所述第一数据记录的偏置不属于所述预设偏置区间,则所述主设备确定基于所述磁盘从所述第二数据记录开始进行数据记录同步;其中,所述预设偏置区间为所述内存中存储的数据记录对应的偏置区间。3.根据权利要求1或2所述的方法,其特征在于,所述主设备根据所述第一文件名和所述第一数据记录的标识基于磁盘从所述第二数据记录开始进行数据记录同步,包括:所述主设备根据所述第一文件名和所述第一数据记录的标识在所述磁盘中查找所述第二数据记录;所述主设备在所述磁盘中查找到所述第二数据记录之后,从所述第二数据记录开始进行数据记录同步。4.根据权利要求3所述的方法,其特征在于,所述从所述第二数据记录开始进行数据记录同步,包括:所述主设备开启新线程;所述主设备通过所述新线程从所述第二数据记录开始进行数据记录同步。5.根据权利要求4所述的方法,其特征在于,所述主设备通过所述新线程从所述第二数据记录开始进行数据记录同步之后,还包括:所述主设备设置所述从设备的状态为第一状态,所述第一状态用于表示所述从设备的数据记录同步任务处于待完成状态。6.根据权利要求5所述的方法,其特征在于,还包括:所述主设备通过主线程检测所述从设备的状态;若所述从设备的状态为所述第一状态,则所述主设备确定第三数据记录的偏置和第二文件名,其中,所述第三数据记录为所述主设备与所述从设备之间当前最新同步的数据记录,所述第三数据记录的偏置为从所述预设时间到所述第三数据记录的同步结束时间所述从设备接收到的数据记录的大小总和,所述第二文件名为所述第三数据记录所属的文件的文件名;所述主设备判断所述第二文件名和第三文件名是否相同,所述第三文件名为所述主设备中第四数据记录所属的文件的文件名,所述第四数据记录为所述主设备当前最新的数据记录;若所述第二文件名和所述第三文件名不同,则所述主设备将还未同步的至少一条数据记录中的每条数据记录作为新的第一数据记录,并继续执行:根据所述第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步。7.根据权利要求6所述的方法,其特征在于,还包括:若所述第二文件名和所述第三文件名相同,则所述主设备判断所述第三数据记录的偏置和所述第四数据记录的偏置是否相同,所述第四数据记录的偏置为从所述预设时间到所述第四数据记录的生成结束时间所述主设备生成的数据记录的大小总和;若所述第三数据记录的偏置和所述第四数据记录的偏置相同,则所述主设备设置所述从设备的状态为第二状态,所述第二状态用于表示所述从设备的数据记录同步任务处于已完成状态。8.根据权利要求7所述的方法,其特征在于,还包括:若所述第四数据记录的偏置与所述第三数据记录的偏置之差小于或等于预设门限值,则所述主设备通过所述主进程将未同步的数据记录写入所述内存中,并基于所述内存同步未同步的数据记录。9.根据权利要求8所述的方法,其特征在于,还包括:所述主设备设置所述从设备的状态为第三状态,所述第三状态用于表示基于所述内存同步未同步的数据记录。10.根据权利要求7-9任一项所述的方法,其特征在于,还包括:若所述第四数据记录的偏置与所述第三数据记录的偏置之差大于所述预设门限值,则所述主设备将还未同步的至少一条数据记录中的每条数据记录作为新的第一数据记录,并继续执行:根据所述第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步。11.根据权利要求7-9任一项所述的方法,其特征在于,还包括:若所述第二文件名和所述第三文件名不同,或者,所述第三数据记录的偏置和所述第四数据记录的偏置不同,则所述主设备向所述从设备发送所述第四数据记录的偏置和所述第三文件名;若所述第二文件名和所述第三文件名相同,且,所述第三数据记录的偏置和所述第四数据记录的偏置相同,则所述主设备向所述从设备发送所述第三数据记录的偏置和所述第二文件名。12.一种数据同步装置,其特征在于,包括:接收模块,用于接收数据记录更新请求,所述数据记录更新请求包括:第一数据记录的偏...

【专利技术属性】
技术研发人员:廖洪流
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1