用于更新数据的方法和装置制造方法及图纸

技术编号:20916865 阅读:17 留言:0更新日期:2019-04-20 09:45
本申请实施例公开了用于更新数据的方法和装置。该方法的一具体实施方式包括:响应于接收到查询请求,基于该查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,缓存更新区用于与数据库和缓存进行数据交换;根据查询语句,从数据库获取与该查询语句相匹配的查询结果作为目标查询结果;基于该目标查询结果,生成目标查询结果信息;基于该目标查询结果信息与存储于缓存更新区中的数据的匹配,对存储于该缓存更新区和该缓存中的数据进行更新。该实施方式实现了使用生效时间以外的方式保证缓存中的数据的时效性。

Methods and devices for updating data

The embodiment of this application discloses methods and devices for updating data. One specific embodiment of the method includes: in response to receiving a query request, updating the data in the cache update area based on the query statement included in the query request, in which the cache update area is used for data exchange with the database and the cache; according to the query statement, obtaining the query result matching the query statement from the database as the target query result; Based on the target query result, the target query result information is generated. Based on the matching of the target query result information and the data stored in the cache update area, the data stored in the cache update area and the cache are updated. The implementation realizes the timeliness of the data in the cache by means other than the effective time.

【技术实现步骤摘要】
用于更新数据的方法和装置
本申请实施例涉及计算机
,具体涉及用于更新数据的方法和装置。
技术介绍
随着互联网的发展,缓存(Cache)技术广泛应用于各种检索系统。相关的方式通常是采用简单缓存技术,即以固定的时间段为限,在该时间段内,如果缓存内存在检索结果,则均从缓存中获取;如果超出上述时间段,则需要重新访问实际的后端存储系统。
技术实现思路
本申请实施例提出了用于更新数据的方法和装置。第一方面,本申请实施例提供了一种用于更新数据的方法,该方法包括:响应于接收到查询请求,基于查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,缓存更新区用于与数据库和缓存进行数据交换;根据查询语句,从数据库获取与该查询语句相匹配的查询结果作为目标查询结果;基于目标查询结果,生成目标查询结果信息;基于目标查询结果信息与存储于缓存更新区中的数据的匹配,对存储于缓存更新区和缓存中的数据进行更新。在一些实施例中,上述基于目标查询结果信息与存储于缓存更新区中的数据的匹配,对存储于缓存更新区和缓存中的数据进行更新,包括:响应于确定存储于缓存更新区中的至少一条查询结果信息中不存在与目标查询结果信息相匹配的查询结果信息,将目标查询结果信息写入缓存更新区以及将目标查询结果写入缓存。在一些实施例中,上述基于目标查询结果,生成目标查询结果信息包括:对目标查询结果进行转换,生成与该目标查询结果对应的标识码作为目标查询结果信息。在一些实施例中,该方法还包括:对于存储于缓存更新区中的至少一个查询语句中的查询语句,获取该查询语句被访问的访问信息;基于该查询语句被访问的访问信息,确定是否清除与该查询语句相关的数据。在一些实施例中,上述基于该查询语句被访问的访问信息,确定是否清除与该查询语句相关的数据,包括:基于该查询语句被访问的访问信息中包括的该查询语句的最后一次被访问时间,确定该最后一次被访问时间与当前时间的差值;响应于确定该差值大于预设阈值,确定清除与该查询语句相关的数据。第二方面,本申请实施例提供了一种用于更新数据的装置,该装置包括:更新单元,被配置成响应于接收到查询请求,基于查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,缓存更新区用于与数据库和缓存进行数据交换;获取单元,被配置成根据查询语句,从数据库获取与该查询语句相匹配的查询结果作为目标查询结果;生成单元,被配置成基于目标查询结果,生成目标查询结果信息;匹配单元,被配置成基于目标查询结果信息与存储于缓存更新区中的数据的匹配,对存储于缓存更新区和缓存中的数据进行更新。在一些实施例中,上述匹配单元进一步被配置成:响应于确定存储于缓存更新区中的至少一条查询结果信息中不存在与目标查询结果信息相匹配的查询结果信息,将目标查询结果信息写入缓存更新区以及将目标查询结果写入缓存。在一些实施例中,上述生成单元进一步被配置成:对目标查询结果进行转换,生成与目标查询结果对应的标识码作为目标查询结果信息。在一些实施例中,该装置还包括:确定单元,被配置成对于存储于缓存更新区中的至少一个查询语句中的查询语句,获取该查询语句被访问的访问信息;基于该查询语句被访问的访问信息,确定是否清除与该查询语句相关的数据。在一些实施例中,上述确定单元进一步被配置成:对于存储于缓存更新区中的至少一个查询语句中的查询语句,获取该查询语句被访问的访问信息;基于该查询语句被访问的访问信息中包括的该查询语句的最后一次被访问时间,确定该最后一次被访问时间与当前时间的差值;响应于确定该差值大于预设阈值,清除与该查询语句相关的数据。第三方面,本申请实施例提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。本申请实施例提供的用于更新数据的方法和装置,首先,响应于接收到查询请求,基于查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,缓存更新区用于与数据库和缓存进行数据交换;然后,根据查询语句,从数据库获取与该查询语句相匹配的查询结果作为目标查询结果;接下来,基于所获取的目标查询结果,生成目标查询结果信息;最后,基于该目标查询结果信息与存储于缓存更新区中的数据的匹配,对存储于该缓存更新区和该缓存中的数据进行更新。从而实现了使用生效时间以外的方式保证缓存中的数据的时效性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请的一个实施例可以应用于其中的示例性系统架构图;图2是根据本申请的用于更新数据的方法的一个实施例的流程图;图3是根据本申请实施例的用于更新数据的方法的一个应用场景的时序图;图4是根据本申请的用于更新数据的方法的又一个实施例的流程图;图5是根据本申请的用于更新数据的装置的一个实施例的结构示意图;图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于更新数据的方法或用于更新数据的装置的示例性架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种包含数据库的客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有数据库应用并且支持检索功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。服务器105可以是提供各种服务的服务器,例如为终端设备101、102、103上的应用程序访问数据库提供支持的后台服务器。后台服务器可以对接收到的、终端设备所发送的查询请求进行响应,将与上述查询请求对应的查询结果反馈给终端设备。具体地,后台服务器中可以安装有缓存和缓存更新区,从而可以通过缓存更新区对缓存中的数据进行更新,以保证缓存中的数据的时本文档来自技高网...

【技术保护点】
1.一种用于更新数据的方法,包括:响应于接收到查询请求,基于所述查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,所述缓存更新区用于与数据库和缓存进行数据交换;根据所述查询语句,从所述数据库获取与所述查询语句相匹配的查询结果作为目标查询结果;基于所述目标查询结果,生成目标查询结果信息;基于所述目标查询结果信息与存储于所述缓存更新区中的数据的匹配,对存储于所述缓存更新区和所述缓存中的数据进行更新。

【技术特征摘要】
1.一种用于更新数据的方法,包括:响应于接收到查询请求,基于所述查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,所述缓存更新区用于与数据库和缓存进行数据交换;根据所述查询语句,从所述数据库获取与所述查询语句相匹配的查询结果作为目标查询结果;基于所述目标查询结果,生成目标查询结果信息;基于所述目标查询结果信息与存储于所述缓存更新区中的数据的匹配,对存储于所述缓存更新区和所述缓存中的数据进行更新。2.根据权利要求1所述的方法,其中,所述基于所述目标查询结果信息与存储于所述缓存更新区中的数据的匹配,对存储于所述缓存更新区和所述缓存中的数据进行更新,包括:响应于确定存储于所述缓存更新区中的至少一条查询结果信息中不存在与所述目标查询结果信息相匹配的查询结果信息,将所述目标查询结果信息写入所述缓存更新区以及将所述目标查询结果写入所述缓存。3.根据权利要求2所述的方法,其中,所述基于所述目标查询结果,生成目标查询结果信息包括:对所述目标查询结果进行转换,生成与所述目标查询结果对应的标识码作为目标查询结果信息。4.根据权利要求1-3之一所述的方法,其中,所述方法还包括:对于存储于所述缓存更新区中的至少一个查询语句中的查询语句,获取该查询语句被访问的访问信息;基于该查询语句被访问的访问信息,确定是否清除与该查询语句相关的数据。5.根据权利要求4所述的方法,其中,所述基于该查询语句被访问的访问信息,确定是否清除与该查询语句相关的数据,包括:基于该查询语句被访问的访问信息中包括的该查询语句的最后一次被访问时间,确定该最后一次被访问时间与当前时间的差值;响应于确定该差值大于预设阈值,确定清除与该查询语句相关的数据。6.一种用于更新数据的装置,包括:更新单元,被配置成响应于接收到查询请求,基于所述查询请求中包括的查询语句,对缓存更新区中的数据进行更新,其中,所述缓存更新...

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

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

1