【技术实现步骤摘要】
数据同步方法、装置、设备、系统及存储介质
本申请涉及计算机
,尤其涉及一种数据同步方法、装置、设备、系统及存储介质。
技术介绍
在分布式存储系统中,为了提高可扩展性,会搜采用数据拆分,也叫数据分片,而为了保证单个分片的高可用性,将采用主从模式进行数据存储。当主设备出现故障时,可以从主设备切换至从设备,从而不影响外部系统的访问。主从模式的前提是主从设备之间的数据需要保持一致,也就是说,主从设备之间需要实现数据同步,而为了保证数据同步,最重要的是要保证对这些数据的数据记录的同步,该数据记录可以是数据更新记录、数据设置记录等。在现有技术中,通常基于内存来进行数据记录的同步,该方式具有效率高的特点,然而由于内存中保存的数据记录有限,如果同步中断时间过久,主从设备之间将无法实现数据记录同步,从而降低了数据记录同步的可靠性。
技术实现思路
本申请提供一种数据同步方法、装置、设备、系统及存储介质,从而提高数据记录同步的可靠性。第一方面,本申请提供一种数据同步方法,包括:主设备接收数据记录更新请求,数据记录更新请求包括:第一数据记录的偏置、第一数据记录的标识和第一文件名,第一数据记录为从设备最新同步的数据记录,第一数据记录的偏置为从预设时间到第一数据记录的同步结束时间,从设备接收到的数据记录的大小总和,第一文件名为第一数据记录所属的文件的文件名。主设备根据第一数据记录的偏置判断是否基于内存从第二数据记录开始进行数据记录同步,第二数据记录为第一数据记录的下一条数据记录。若确定不基于内存从第二数据记录开始进行数据记录同步,则主设备根据第一文件名和第一数据记录的标识基于磁盘从 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。