缓存数据同步方法、系统和装置制造方法及图纸

技术编号:13745935 阅读:32 留言:0更新日期:2016-09-23 23:26
本发明专利技术公开了缓存数据同步方法、系统和装置,所述方法包括:工作装置访问管理装置,获取包含有待同步的数据库配置信息和当前同步点信息的同步任务信息;工作装置根据待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从待同步的数据库中依次抓取出当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。应用本发明专利技术所述方案,能够降低对业务程序的侵入性和提高业务的执行效率。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,特别涉及缓存数据同步方法、系统和装置
技术介绍
当数据库中的数据在缓存系统中作了缓存时,需要保证缓存系统中的缓存数据与数据库中的源数据的一致性。现有技术中,主要采用以下方式来保持所述一致性:当业务程序需要更新数据库中的某一数据时,计算出该数据对应的缓存数据的key,然后同步更新缓存数据。但是,上述方式会对业务程序产生很大的侵入性,而且也会增加业务执行的平均时耗,降低业务的执行效率。
技术实现思路
有鉴于此,本专利技术提供了缓存数据同步方法、系统和装置,能够降低对业务程序的侵入性和提高业务的执行效率。具体技术方案如下:一种缓存数据同步方法,该方法包括:工作装置访问管理装置,获取包含有待同步的数据库配置信息和当前同步点信息的同步任务信息;所述工作装置根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。根据本专利技术一优选实施例,所述在抓取到一个更新事件之后,则更新缓存
系统中与抓取到的更新事件对应的缓存数据包括:所述工作装置在抓取到一个更新事件之后,则对其进行解析,得到一条数据库更新记录;所述工作装置在缓存系统中写入解析得到的数据库更新记录对应的锁,并在所述锁的有效期内,更新缓存系统中与解析得到的数据库更新记录对应的缓存数据。根据本专利技术一优选实施例,所述更新缓存系统中与抓取到的更新事件对应的缓存数据包括:所述工作装置删除缓存系统中与抓取到的更新事件对应的缓存数据。根据本专利技术一优选实施例,该方法进一步包括:业务程序访问一个数据库之前,访问缓存系统,若未在缓存系统中找到所需的访问数据,或者,在缓存系统中找到访问数据但访问数据处于不可用状态,则访问数据库,并将得到的访问数据写入到缓存系统中。根据本专利技术一优选实施例,该方法进一步包括:若在缓存系统中找到访问数据,且访问数据处于可用状态,则业务程序使用位于缓存系统中的访问数据。根据本专利技术一优选实施例,该方法进一步包括:所述工作装置定期地向所述管理装置反馈当前的任务延迟信息,所述当前的任务延迟信息为:当前处理的更新事件在数据库中的发生时间与对该更新事件对应的缓存数据进行更新的时间之间的时间差,以便所述管理装置在接收到的时间差大于预定阈值时,将缓存系统中对应于所述待同步的数据库的缓存数据标记为不可用状态,否则,标记为可用状态。一种缓存数据同步方法,该方法包括:管理装置接受工作装置的访问,为所述工作装置分配包含有待同步的数据库配置信息和当前同步点信息的同步任务信息,以便所述工作装置根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,
从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。根据本专利技术一优选实施例,该方法进一步包括:所述管理装置接收所述工作装置定期反馈来的当前的任务延迟信息,所述当前的任务延迟信息为:当前处理的更新事件在数据库中的发生时间与对该更新事件对应的缓存数据进行更新的时间之间的时间差,若确定接收到的时间差大于预定阈值,则将缓存系统中对应于所述待同步的数据库的缓存数据标记为不可用状态,否则,标记为可用状态,处于不可用状态的缓存数据将不能被业务程序使用。一种工作装置,包括:获取模块和同步模块;所述获取模块,用于访问管理装置,获取包含有待同步的数据库配置信息和当前同步点信息的同步任务信息,并将所述同步任务信息发送给所述同步模块;所述同步模块,用于根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。根据本专利技术一优选实施例,所述同步模块进一步用于,在抓取到一个更新事件之后,则对其进行解析,得到一条数据库更新记录,并在缓存系统中写入解析得到的数据库更新记录对应的锁,在所述锁的有效期内,更新缓存系统中与解析得到的数据库更新记录对应的缓存数据。根据本专利技术一优选实施例,所述同步模块在抓取到一个更新事件之后,则删除缓存系统中与抓取到的更新事件对应的缓存数据。根据本专利技术一优选实施例,所述同步模块进一步用于,定期地向所述管理装置反馈当前的任务延迟信息,所述当前的任务延迟信息为:当前处理的更新事件在数据库中的发生时间与对该更新事件对应的缓存数据进行更新的时间之
间的时间差,以便所述管理装置在接收到的时间差大于预定阈值时,将缓存系统中对应于所述待同步的数据库的缓存数据标记为不可用状态,否则,标记为可用状态,处于不可用状态的缓存数据将不能被业务程序使用。一种管理装置,包括:分配模块;所述分配模块,用于接受工作装置的访问,为所述工作装置分配包含有待同步的数据库配置信息和当前同步点信息的同步任务信息,以便所述工作装置根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。根据本专利技术一优选实施例,所述管理装置中进一步包括:标记模块;所述标记模块,用于接收所述工作装置定期反馈来的当前的任务延迟信息,所述当前的任务延迟信息为:当前处理的更新事件在数据库中的发生时间与对该更新事件对应的缓存数据进行更新的时间之间的时间差,若确定接收到的时间差大于预定阈值,则将缓存系统中对应于所述待同步的数据库的缓存数据标记为不可用状态,否则,标记为可用状态,处于不可用状态的缓存数据将不能被业务程序使用。一种缓存数据同步系统,包括上述工作装置以及上述管理装置。由以上介绍可以看出,本专利技术所述方案中,可直接根据数据库更新事件来更新缓存数据,从而可在对业务程序透明的情况下实现缓存数据的同步,进而避免了现有技术中存在的问题,降低了对业务程序的侵入性和提高了业务的执行效率。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于所属领域技术人员来
说,还可以根据这些附图获得其他的附图。图1为本专利技术数据库、缓存系统、管理装置、工作装置以及业务程序之间的交互方式示意图。图2为本专利技术缓存数据同步方法实施例的流程图。图3为本专利技术工作装置31实施例的组成结构示意图。图4为本专利技术管理装置32实施例的组成结构示意图。【具体实施方式】针对现有技术中存在的问题,本专利技术中提出一种缓存数据同步方案,能够降低对业务程序的侵入性和提高业务的执行效率。为此,本专利技术在现有的数据库和缓存系统之外,增设了管理(manager)装置和工作(worker)装置,其中,管理装置主要负责同步任务的分配(调度),工作装置主要负责同步任务的执行。相应的,图1为本专利技术数据库、缓存系统、管理装置、工作装置以及业务程序之间的交互方式示意图。所述交互包括两个过程,本文档来自技高网
...

【技术保护点】
一种缓存数据同步方法,其特征在于,该方法包括:工作装置访问管理装置,获取包含有待同步的数据库配置信息和当前同步点信息的同步任务信息;所述工作装置根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。

【技术特征摘要】
1.一种缓存数据同步方法,其特征在于,该方法包括:工作装置访问管理装置,获取包含有待同步的数据库配置信息和当前同步点信息的同步任务信息;所述工作装置根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。2.根据权利要求1所述的缓存数据同步方法,其特征在于,所述在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据包括:所述工作装置在抓取到一个更新事件之后,则对其进行解析,得到一条数据库更新记录;所述工作装置在缓存系统中写入解析得到的数据库更新记录对应的锁,并在所述锁的有效期内,更新缓存系统中与解析得到的数据库更新记录对应的缓存数据。3.根据权利要求1所述的缓存数据同步方法,其特征在于,所述更新缓存系统中与抓取到的更新事件对应的缓存数据包括:所述工作装置删除缓存系统中与抓取到的更新事件对应的缓存数据。4.根据权利要求1所述的缓存数据同步方法,其特征在于,该方法进一步包括:业务程序访问一个数据库之前,访问缓存系统,若未在缓存系统中找到所需的访问数据,或者,在缓存系统中找到访问数据但访问数据处于不可用状态,则访问数据库,并将得到的访问数据写入到缓存系统中。5.根据权利要求4所述的缓存数据同步方法,其特征在于,该方法进一步包括:若在缓存系统中找到访问数据,且访问数据处于可用状态,则业务程序使用位于缓存系统中的访问数据。6.根据权利要求5所述的缓存数据同步方法,其特征在于,该方法进一步包括:所述工作装置定期地向所述管理装置反馈当前的任务延迟信息,所述当前的任务延迟信息为:当前处理的更新事件在数据库中的发生时间与对该更新事件对应的缓存数据进行更新的时间之间的时间差,以便所述管理装置在接收到的时间差大于预定阈值时,将缓存系统中对应于所述待同步的数据库的缓存数据标记为不可用状态,否则,标记为可用状态。7.一种缓存数据同步方法,其特征在于,该方法包括:管理装置接受工作装置的访问,为所述工作装置分配包含有待同步的数据库配置信息和当前同步点信息的同步任务信息,以便所述工作装置根据所述待同步的数据库配置信息访问待同步的数据库,并按照发生时间由先到后的顺序,从所述待同步的数据库中依次抓取出所述当前同步点之后的各更新事件,在抓取到一个更新事件之后,则更新缓存系统中与抓取到的更新事件对应的缓存数据。8.根据权利要求7所述的缓存数据同步方法,其特征在于,该方法进一步包括:所述管理装置接收所述工作装置定期反馈来的当前的任务延迟信息,所述当前的任务延迟信息为:当前处理的更新事件在数据库中的发生时间与对该更新事件对应的缓存数据进行更新的时间之间的时间差,若确定接收到的时间差大于预定阈...

【专利技术属性】
技术研发人员:李俊
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1