一种数据读取方法及装置制造方法及图纸

技术编号:9618251 阅读:56 留言:0更新日期:2014-01-30 06:02
本申请提供一种数据读取方法及装置,所述方法包括:接收客户端发送的读取请求,所述读取请求包括目标数据的信息;依据所述目标数据的信息从后端数据源Backend中查找目标数据,如果未查找到,则生成与所述目标数据的信息相对应的存在参数,并将所述存在参数缓存至高速缓存Cache,以使所述Cache在所述客户端再次读取所述目标数据时,向所述客户端返回所述Backend未保存所述目标数据的结果。本申请公开的方法和装置,可解决现有技术中Backend响应无效请求造成的处理资源浪费以及性能低的技术问题。

Data reading method and device

This application provides a data reading method and device, the method comprises: receiving a client sends a read request, the read request includes target data information; according to the target data information to find the target data from the backend data source in Backend, if not found, there is generated and the parameter target data corresponding to the information, and the existing parameters of cache to cache Cache, so as to enable the Cache to read the data in the client again, return to the Backend do not save the target data to the client. The method and device disclosed herein can solve the technical problems of waste of processing resources and low performance caused by invalid Backend response in the prior art.

【技术实现步骤摘要】
一种数据读取方法及装置
本申请涉及网络数据处理领域,特别涉及一种数据读取方法及装置。
技术介绍
随着计算机技术的飞速发展,Cache-Based应用模式逐渐融入到人们的日常生活中,所谓Cache-Based应用是指由高速缓存Cache和后端数据源Backend组成的应用。其中,Cache设置在客户端,Backend设置在服务器,Cache中缓存有部分Backend中的数据,在客户端用户需要获取数据时,先判断Cache中是否缓存有该数据,如果是,则从Cache中读取该数据;如果否,则继续判断Backend中是否保存有该数据,如果否,则向客户端返回“无数据”;如果是,则从Backend中读取该数据,并缓存到Cache中,以便客户端下次需要访问这个数据时,可以直接从Cache中读取,提高数据读取速度,缩短应用的响应时间。一般情况下,客户端如果未在Cache中读取到数据,则不论是否能从Backend中读取该数据,都会向Backend发送读取请求,如果Backend中保存有客户端需要的数据,那么读取请求就是有效的,而如果Backend中也没有保存该数据,则认为读取请求是无效的。对于无效请求来说,同样需要Backend查找其保存的数据中是否有客户端需要读取的数据,浪费了Backend的处理资源;另外,相对于Cache来说,Backend对读取请求的响应时间较长,且当读取请求为无效请求时,Backend的处理结果只能向客户端返回“无数据”,Backend对这种无效请求的响应就直接导致了Cache-Based应用的响应时间过长,降低了应用的性能。
技术实现思路
本申请所要解决的技术问题是提供一种数据读取方法,用以解决现有技术中Backend响应无效请求造成的处理资源浪费以及性能低的技术问题。本申请还提供了一种数据读取装置,用以保证上述方法在实际中的实现及应用。为了解决上述问题,本申请公开了一种数据读取方法,包括如下步骤:接收客户端发送的读取请求,所述读取请求包括目标数据的信息;依据所述目标数据的信息从后端数据源Backend中查找目标数据,如果未查找到,则生成与所述目标数据的信息相对应的存在参数,并将所述存在参数缓存至高速缓存Cache,以使所述Cache在所述客户端再次读取所述目标数据时,向所述客户端返回所述Backend未保存所述目标数据的结果。优选的,在所述将所述存在参数缓存至Cache之前,所述方法还包括:设置所述存在参数的有效时长,所述将所述存在参数缓存至Cache,具体包括:通过将所述存在参数及其有效时长缓存至Cache。优选的,所述方法还包括:超过所述存在参数的有效时长后,根据客户端的请求更新所述目标数据对应的存在参数及有效时长。优选的,依据所述Backend的数据更新频率设置所述有效时长。优选的,所述存在参数采用面向对象编程中的对象实现,如果未在Backend中查找到所述目标数据,则将不包含数据的对象缓存至所述Cache;所述Cache向所述客户端返回所述Backend未保存所述目标数据的结果,具体包括:客户端从Cache中获取与目标数据的信息相对应的对象;判断所述对象中是否包含所述目标数据,如果否,则判定所述Cache以及所述Backend中均未保存所述目标数据。优选的,所述存在参数采用存在标识实现,如果未在Backend中查找到所述目标数据,则将目标数据不存在的标识缓存至所述Cache;所述Cache向所述客户端返回所述Backend未保存所述目标数据的结果,具体包括:客户端判断Cache中是否保存所述目标数据,如果否,则判断所述Cache中是否保存有目标数据不存在的标识,如果是,则判定所述Cache以及所述Backend中均未保存所述目标数据。相应地,本申请还公开了一种数据读取装置,该装置包括:接收单元,用于接收客户端发送的读取请求,所述读取请求包括目标数据的信息;生成单元,用于依据所述目标数据的信息从后端数据源Backend中查找目标数据,如果未查找到,则生成与所述目标数据的信息相对应的存在参数;发送单元,用于将所述存在参数缓存至高速缓存Cache,以使所述Cache在所述客户端再次读取所述目标数据时,向所述客户端返回所述Backend未保存所述目标数据的结果。优选的,在所述将所述存在参数缓存至Cache之前,所述装置还包括:设置单元,用于设置所述存在参数的有效时长;所述发送单元,具体用于将所述存在参数及其有效时长缓存至Cache。优选的,所述装置还包括:更新单元,用于在超过所述存在参数的有效时长后,根据客户端的请求更新所述目标数据对应的存在参数及有效时长。优选的,所述设置单元,具体用于依据所述Backend的数据更新频率设置所述有效时长。优选的,所述生成单元生成的存在参数采用面向对象编程中的对象实现,如果未在Backend中查找到所述目标数据,则所述发送单元将不包含数据的对象缓存至所述Cache;所述Cache向所述客户端返回所述Backend未保存所述目标数据的结果,具体包括:客户端从Cache中获取与目标数据的信息相对应的对象;判断所述对象中是否包含所述目标数据,如果否,则判定所述Cache以及所述Backend中均未保存所述目标数据。优选的,所述生成单元生成的存在参数采用存在标识实现,如果未在Backend中查找到所述目标数据,则所述发送单元将目标数据不存在的标识缓存至所述Cache;所述Cache向所述客户端返回所述Backend未保存所述目标数据的结果,具体包括:客户端判断Cache中是否保存所述目标数据,如果否,则判断所述Cache中是否保存有目标数据不存在的标识,如果是,则判定所述Cache以及所述Backend中均未保存所述目标数据。与现有技术相比,本申请包括以下优点:当客户端请求从Backend读取目标数据,且Backend经查找判定其并未存储该目标数据时,则生成一个存在参数,并缓存至Cache中,这样,当客户端再次请求读取这一目标数据时,只需要在读取速度较快的Cache中查找即可(Cache就可以向客户端返回“无数据”的处理结果),而不需要再向Backend发送无效请求,这就可节省Backend查找目标数据的资源;同时,避免Backend响应客户端的读取请求,还能大幅降低Cache-Based应用的响应时间,提高应用的性能。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请数据读取装置实施例1的流程图;图2为本申请中生成存在参数的实施例1的流程图;图3为本申请中生成存在参数的实施例2的流程图;图4为本申请数据读取装置实施例2的流程图;图5为本申请数据读取装置实施例3的流程图;图6为本申请数据读取装置实施例1的示意图;图7为本申请数据读取装置实施例2的示意图;图8为本申请数据读取装置实施例3的示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本文档来自技高网...
一种数据读取方法及装置

【技术保护点】
一种数据读取方法,其特征在于,所述方法包括:接收客户端发送的读取请求,所述读取请求包括目标数据的信息;依据所述目标数据的信息从后端数据源Backend中查找目标数据,如果未查找到,则生成与所述目标数据的信息相对应的存在参数,并将所述存在参数缓存至高速缓存Cache,以使所述Cache在所述客户端再次读取所述目标数据时,向所述客户端返回所述Backend未保存所述目标数据的结果。

【技术特征摘要】
1.一种数据读取方法,其特征在于,所述方法包括:接收客户端发送的读取请求,所述读取请求包括目标数据的信息;依据所述目标数据的信息从后端数据源Backend中查找目标数据,如果未查找到,则生成与所述目标数据的信息相对应的存在参数,向所述客户端反馈所述存在参数,并将所述存在参数缓存至缓存Cache,以使所述Cache在所述客户端再次读取所述目标数据时,通过所述存在参数向所述客户端返回所述Backend未保存所述目标数据的结果;其中,所述与所述目标数据的信息相对应的存在参数,用于表示所述Backend内无所述目标数据的结果;其中,在所述将所述存在参数缓存至Cache之前,所述方法还包括:设置所述存在参数的有效时长,所述将所述存在参数缓存至Cache,具体包括:将所述存在参数及其有效时长缓存至Cache。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:超过所述存在参数的有效时长后,根据客户端的请求更新所述目标数据对应的存在参数及有效时长。3.根据权利要求1所述的方法,其特征在于,依据所述Backend的数据更新频率设置所述有效时长。4.根据权利要求1-3任一项所述的方法,其特征在于,所述存在参数采用面向对象编程中的对象实现,如果未在Backend中查找到所述目标数据,则将不包含数据的对象缓存至所述Cache;所述Cache向所述客户端返回所述Backend未保存所述目标数据的结果,具体包括:客户端从Cache中获取与目标数据的信息相对应的对象;判断所述对象中是否包含所述目标数据,如果否,则判定所述Cache以及所述Backend中均未保存所述目标数据。5.根据权利要求1-3任一项所述的方法,其特征在于,所述存在参数采用存在标识实现,如果未在Backend中查找到所述目标数据,则将目标数据不存在的标识缓存至所述Cache;所述Cache向所述客户端返回所述Backend未保存所述目标数据的结果,具体包括:客户端判断Cache中是否保存所述目标数据,如果否,则判断所述Cache中是否保存有目标数据不存在的标识,如果是,则判定所述Cache以及所述Backend中均未保存所述目标数据。6.一种数据读取装置,其特征在于,所述装置包括:接收单元,用...

【专利技术属性】
技术研发人员:陈坚熊奇李峰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1