业务缓存的更新方法及装置制造方法及图纸

技术编号:16101983 阅读:34 留言:0更新日期:2017-08-29 22:36
本发明专利技术揭示了一种业务缓存的更新方法及装置。所述方法包括:通过监听数据库中数据表的变化获取数据表变更记录;根据所述数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,所述更新状态结果用于指示所述数据表缓存中的数据表是否更新成功;在所述更新状态结果指示所述数据表缓存中的数据表更新成功时,生成与更新成功的数据表相关的业务记录;根据所述业务记录进行数据组装得到业务数据,将所述业务数据更新至业务缓存中。即通过监听数据库中数据表的变化实时的获取数据表变更记录,然后得到业务记录,并根据业务记录更新业务缓存,由此,实现了业务缓存的实时更新,进而保证了网络服务的准确性,提高了网络服务的准确率。

【技术实现步骤摘要】
业务缓存的更新方法及装置
本专利技术涉及数据库领域,特别涉及一种业务缓存的更新方法及装置。
技术介绍
随着网络技术的快速发展,用户对网络服务的访问速度和准确性提出了更高的要求,为了满足海量用户的访问需求,一般采用在数据库的基础上增加缓存的方法。然而,随着网络环境中业务内容的丰富、用户数量的增加,单层缓存技术已经无法应对数据量的激增。当前被广泛使用的缓存技术是分层缓存技术,即第一级缓存是数据表缓存,即对数据库表进行缓存,第二级缓存是业务缓存,即对业务数据进行缓存。目前,业务缓存的更新方案有两种,第一种是热点更新缓存方案,该方案仅在业务缓存中设置的时间过期用户访问所需的业务数据时才进行更新,第二种是全量定时更新缓存方案,该方案是定时地对业务缓存中的全部业务数据进行更新。由此可知,在数据库表发生变化时,上述两种方案均无法做到实时地更新业务缓存,这将导致业务缓存中的业务数据和数据库表中的数据存在不一致的现象,进而影响网络服务的准确率。
技术实现思路
为了解决相关技术中存在的在分层缓存中无法实时更新业务缓存的问题,本专利技术提供了一种业务缓存的更新方法及装置。一种业务缓存的更新方法,所述方法包括:通过监听数据库中数据表的变化获取数据表变更记录;根据所述数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,所述更新状态结果用于指示所述数据表缓存中的数据表是否更新成功;在所述更新状态结果指示所述数据表缓存中的数据表更新成功时,生成与更新成功的数据表相关的业务记录;根据所述业务记录进行数据组装得到业务数据,将所述业务数据更新至业务缓存中。一种业务缓存的更新装置,所述装置包括:获取模块,用于通过监听数据库中数据表的变化获取数据表变更记录;指示模块,用于根据所述数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,所述更新状态结果用于指示所述数据表缓存中的数据表是否更新成功;生成模块,用于在所述更新状态结果指示所述数据表缓存中的数据表更新成功时,生成与更新成功的数据表相关的业务记录;更新模块,用于根据所述业务记录进行数据组装得到业务数据,将所述业务数据更新至业务缓存中。本专利技术的实施例提供的技术方案可以包括以下有益效果:本方案先通过监听数据库中数据表的变化获取数据表变更记录,根据该数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,这个更新状态结果用于指示所述数据表缓存中的数据表是否更新成功,在更新状态结果指示数据表缓存中的数据表更新成功时,生成与更新成功的数据表相关的业务记录,根据业务记录进行数据组装得到业务数据,将业务数据更新至业务缓存中。由此,在数据库表发生变化时,数据表缓存中的数据表和业务缓存中的业务数据同时得到了更新,以此实现了分层缓存中业务缓存的实时更新,进而保证了网络服务的准确性,提高了网络服务的准确率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1是根据本专利技术所涉及的实施环境的示意图;图2是根据一示例性实施例示出的一种业务缓存的更新方法的流程图;图3是根据另一示例性实施例示出的一种业务缓存的更新方法的流程图;图4是根据另一示例性实施例示出的一种业务缓存的更新方法的流程图;图5根据另一示例性实施例示出的一种业务缓存的更新过程示意图;图6是根据一示例性实施例示出的一种业务缓存的更新装置的框图;图7是根据一示例性实施例示出的添加模块的细节进行描述的框图;图8是是根据另一示例性实施例示出的一种业务缓存的更新装置的框图;图9是根据一示例性实施例示出的一种装置600的硬件结构框图。具体实施方式这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。目前,业务缓存的更新方案有两种,第一种是热点更新缓存方案,该方案仅在业务缓存中用户访问所需的业务数据并且该业务数据超过预设的时间期限时才进行更新,第二种是全量定时更新缓存方案,该方案是定时地对业务缓存中的全部业务数据进行更新。通过以上两种方式,虽然在数据库表发生变化时,数据表缓存都能在短时间内得以更新,但是都无法实时更新业务缓存。其中,热点更新缓存方式的业务缓存需要等待缓存失效(如超过预先设置的过期时间)之后并有客户端请求时,业务缓存才会被更新,而全量定时更新缓存方式,只有在时间达到设定的更新周期时,业务缓存才会被更新。因此通过这两种方式,在分层缓存中都无法实时更新业务缓存,直接降低了网络服务的准确率。图1是根据本专利技术所涉及的实施环境的示意图。该实施环境可以包括:至少一个客户端110和至少一个服务器130。其中,客户端110根据业务需求情况向服务器130执行读请求和写请求。服务器130可以是安装有数据库的服务器,服务器通过运行的数据库,来响应客户端110的读请求或写请求。根据数据库规模大小和稳定性的要求,可以将数据库,业务缓存,数据表缓存分别放在不同的服务器上,也可以将数据库,业务缓存,数据表缓存放在同一个服务器上而且数据库,业务缓存,数据表缓存之间是能相互能访问的。客户端110与服务器130之间的关联方式,包括有线或无线的网络关联方式,以及二者之间往来的数据关联方式,具体的关联方式不受本实施例的限制。图2是根据一示例性实施例示出的一种业务缓存的更新方法的流程图。如图2所示,该业务缓存的更新方法可以包括以下步骤。在步骤S210中,通过监听数据库中数据表的变化获取数据表变更记录。其中,数据库是指按照数据结构来组织、存储和管理数据的仓库,数据表则是包含数据库中所有数据的集合。数据库中数据表的变化是指数据表中的数据进行了插入(insert)、删除(delete)、修改(update)等操作。相应地,数据表变更记录则是记录了对数据表中数据进行的操作属于插入、删除还是修改。本实施例中,数据表变更记录的获取是通过监听数据表的变化实现的。当数据库中数据表发生变化时,数据表变更记录会被写入到一个专用的数据表中,如表名为DateUpdate的数据表,或是写入到一个第三方的消息队列中,如ActiveMQ。通过监听数据库中数据表的变化,对数据表DateUpdate或是ActiveMQ消息队列进行遍历,如果发现数据表DateUpdate或是ActiveMQ消息队列发生了变化,则说明数据库中数据表发生了变化,进而由数据表DateUpdate或是ActiveMQ消息队列中获取到数据表变更记录。进一步地,在获取到数据表变更记录后,可以将该数据表变更记录由数据表DateUpdate或是ActiveMQ消息队列中删除,以此减轻服务器的存储压力。在步骤S230中,根据数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,更新状态结果用于指示数据表缓存中的数据表是否更新成功。其中,更新状态结果用于指示数据表缓存中的数据表是否更新成功。具体而言,根据该变更记录在数据库中查询出数据表更新的相关本文档来自技高网...
业务缓存的更新方法及装置

【技术保护点】
一种业务缓存的更新方法,其特征在于,所述方法包括:通过监听数据库中数据表的变化获取数据表变更记录;根据所述数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,所述更新状态结果用于指示所述数据表缓存中的数据表是否更新成功;在所述更新状态结果指示所述数据表缓存中的数据表更新成功时,生成与更新成功的数据表相关的业务记录;根据所述业务记录进行数据组装得到业务数据,将所述业务数据更新至业务缓存中。

【技术特征摘要】
1.一种业务缓存的更新方法,其特征在于,所述方法包括:通过监听数据库中数据表的变化获取数据表变更记录;根据所述数据表变更记录对数据表缓存中的数据表进行更新,得到更新状态结果,所述更新状态结果用于指示所述数据表缓存中的数据表是否更新成功;在所述更新状态结果指示所述数据表缓存中的数据表更新成功时,生成与更新成功的数据表相关的业务记录;根据所述业务记录进行数据组装得到业务数据,将所述业务数据更新至业务缓存中。2.根据权利要求1所述的方法,其特征在于,所述通过监听数据库中数据表的变化获取数据表变更记录的步骤之前,所述方法还包括:接收客户端发起的写请求,通过响应所述写请求生成所述数据表变更记录。3.根据权利要求1所述的方法,其特征在于,所述根据所述业务记录进行数据组装得到业务数据,将所述业务数据更新至业务缓存中的步骤之前,所述方法还包括:将所述业务记录添加至业务更新集合中;相应地,所述将所述业务记录添加至业务更新集合中的步骤,包括:判断所述业务记录中的业务标识是否存在于预先创建的业务标识集合中,所述业务标识集合用于存储业务缓存中业务数据对应的业务标识;如果不存在,则将所述业务记录过滤;否则,将业务标识存在于所述业务标识集合中的业务记录添加至所述业务更新集合中。4.根据权利要求3所述的方法,其特征在于,所述将所述业务记录添加至业务更新集合中的步骤,包括:根据所述业务记录中的业务标识对所述业务记录进行去重处理,删除业务标识重复的所述业务记录,并将去重处理后的业务记录添加至所述业务更新集合中。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收客户端发送的读请求,并通过响应所述读请求返回业务数据至所述客户端;将返回的所述业务数据对应的业务标识存储至业务标识集合中。6.根据权利要求5所述的方法,其特征在于,所述将返回的所述业务数据对应的业务标识存储至业务标识集合中的步骤之后,所述方法还包括:在所述业务标识集合的存储状态指示所述业务标识集合已存满时,删除所述业务标识集合中存储时间最长的业务标识...

【专利技术属性】
技术研发人员:王绍民刘希伟张华仁曾瑞
申请(专利权)人:聚好看科技股份有限公司
类型:发明
国别省市:山东,37

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

1