用于提供服务数据的服务器、方法及系统的制作方法

文档序号:10538843阅读:341来源:国知局
用于提供服务数据的服务器、方法及系统的制作方法
【专利摘要】本发明涉及计算机领域,公开了一种用于提供服务数据的服务器、方法及系统,其中该服务器包括:接收装置,用于接收来自客户端的数据读取请求;以及处理装置,用于从本机缓存内寻找该数据读取请求所请求的数据,并执行以下一者:在找到该数据的情况下,从所述本机缓存将该数据发送至所述客户端;在未找到该数据的情况下,从集群缓存寻找该数据,并将该数据发送至所述客户端。由于本机缓存的数据存取速度要远高于集群缓存因此可极大地提升服务器对数据读取请求的响应速度。
【专利说明】
用于提供服务数据的服务器、方法及系统
技术领域
[0001]本发明涉及计算机领域,具体地,涉及一种用于提供服务数据的服务器、方法及系统。
【背景技术】
[0002]目前,服务器在接收到来自客户的数据服务请求时,多从其磁盘上所存储的数据库内查询相应的数据,并将查询到数据发送给所述客户端,以对所述数据服务请求进行响应。然而,由于通信环境(诸如,网络带宽、信号接收强度、信号干扰等)以及服务器处理速度的限制,导致服务器对来自客户端的数据服务请求的响应时间过长,难以使得操作所述客户端的用户具有良好的服务体验。
[0003]如何提高服务器对数据服务请求的响应速度一致是本领域所致力于解决的一技术难题。

【发明内容】

[0004]本发明的目的是提供一种用于服务器的全新数据处理方式,可助于减小该服务器对数据服务请求的响应时间。
[0005]为了实现上述目的,本发明提供一种用于提供服务数据的服务器,该服务器包括:接收装置,用于接收来自客户端的数据读取请求;以及处理装置,用于从本机缓存内寻找该数据读取请求所请求的数据,并执行以下一者:在找到该数据的情况下,从所述本机缓存将该数据发送至所述客户端;在未找到该数据的情况下,从集群缓存寻找该数据,并将该数据发送至所述客户端。
[0006]其中,所述处理装置还用于在未从所述本机缓存找到所述数据的情况下,将从所述集群缓存找到的所述数据更新至所述本机缓存。
[0007]其中,所述数据读取请求为应用更新请求。
[0008]其中,在所述数据读取请求为应用更新请求的情况下,所述处理装置还用于将所述集群缓存内每个应用的最新版本更新至所述本机缓存。
[0009]相应地,本发明还提供一种数据服务系统,该系统包括:客户端;以及上述服务器。
[0010]相应地,本发明还提供一种用于提供服务数据的方法,该方法包括:接收来自客户端的数据读取请求;以及从本机缓存内寻找该数据读取请求所请求的数据,并执行以下一者:在找到该数据的情况下,从所述本机缓存将该数据发送至所述客户端;在未找到该数据的情况下,从集群缓存寻找该数据,并将该数据发送至所述客户端。
[0011]其中,在未从所述本机缓存找到所述数据的情况下,将从所述集群缓存找到的所述数据更新至所述本机缓存。
[0012]其中,所述数据读取请求为应用更新请求。
[0013]其中,在所述数据读取请求为应用更新请求的情况下,将所述集群缓存内每个应用的最新版本更新至所述本机缓存。
[0014]通过上述技术方案,提供了一种服务器的集群缓存与本机缓存之间的数据更新机制。针对每一数据读取请求,服务器可首先在本机缓存搜索是否存在该数据读取请求所请求的数据,如果存在,可直接将该数据发送给客户端;如果不存在,可从集群缓存内搜索该数据读取请求所请求的数据,并将该数据发送给客户端。一般来说,本机缓存的数据存取速度(其响应时间一般为Ims)要远高于集群缓存(其响应时间一般为10ms),因此可极大地提升服务器对数据读取请求的响应速度。另外,通过本发明所提供的集群缓存与本机缓存之间的数据更新机制,可保证来自大部分客户端的数据读取请求所请求的数据均可从本机缓存内找到,减少需从集群缓存将数据读取请求所请求的数据发送至客户端的几率,提供服务器对大部分数据读取请求的响应速度。
[0015]本发明的其它特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0016]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0017]图1为本发明提供的数据服务系统的结构示意图;
[0018]图2为本发明提供的提供服务数据的方法的流程图;以及
[0019]图3为本发明提供的提供服务数据的方法在数据读取请求为应用更新请求的情况下的流程图。
[0020]附图标记说明
[0021]100 客户端200服务器
[0022]210 接收装置220处理装置
[0023]230 本机缓存240集群缓存
[0024]250数据库
【具体实施方式】
[0025]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0026]在对本发明的【具体实施方式】进行介绍之前,先解释一下以下说明中所涉及的两个概念:“本地缓存”以及“集群缓存” ο “本地缓存”指服务器专用自身的缓存,其响应速度一般为Ims,但容量是固定的。该“本地缓存”的一个典型代表为EhCache,其为一个纯Java的进程内缓存框架,具有快速、精干等特点。“集群缓存”指的是在存在多个服务节点构成服务器集群的情况下,每一服务节点会贡献一部分缓存,这样服务器集群就形成了一个集群缓存,该集群缓存由每一服务节点所贡献的缓存构成。该集群缓存的响应速度较所述本地缓存为慢,一般为10ms,但其容量是可以根据需要进行扩容的,例如可通过加入更多的服务节点或者是服务节点贡献更大容量的缓存来实现该集群缓存的扩容。
[0027]图1为本发明提供的数据服务系统的结构示意图。如图1所示,本发明提供了一种数据服务系统,该系统包含客户端100以及用于提供服务数据的服务器200,该服务器200包括接收装置210、处理装置220、本机缓存230、集群缓存240以及数据库250。其中数据库250存储了有关该数据服务系统所能提供的所有服务内容数据(包含各种类型的数据,诸如用户收藏、用户评论、应用版本、应用礼包、应用其他信息等等),其可定时(例如每隔5分钟)将该服务内容数据更新至所述集群缓存240。所述本机缓存230具有一失效策略,其内的数据在预定时间(例如,5分钟)之后会自动失效。所述接收装置210用于接收来自客户端100的数据读取请求。所述处理装置220用于从本机缓存230内寻找该数据读取请求所请求的数据,并执行以下一者:在找到该数据的情况下,从所述本机缓存230将该数据发送至所述客户端100;在未找到该数据的情况下,从集群缓存240寻找该数据,并将该数据发送至所述客户端100。藉此,通过首先在本机缓存230内寻找数据,并在寻找到数据的情况下将该数据发送至客户端100,从而可提高服务器200对数据读取请求的响应速度。
[0028]需要说明的是,上述介绍中所出现的服务器200包含集群缓存主要是考虑到集群缓存的部分缓存是由该服务器200贡献的,该集群缓存实际上可作为服务器200之外的一独立组件,在此只是出于简化描述的目的而直接将该集群缓存包含在了服务器200内进行介绍。
[0029]其中,所述处理装置220还用于在未从所述本机缓存230找到所述数据的情况下,将从所述集群缓存240找到的所述数据更新至所述本机缓存230。藉此,可增大从本机缓存230内找到数据读取请求所请求的数据的几率,因为在大多数情况下,服务器200可能会在同一时间收到来自多个客户端100相同的请求。例如在圣诞节时期,用户可能会集中对某一以圣诞节为主题的网页进行访问,而在此情况下,虽然对于第一个访问的用户而言,其可能需要从集群缓存获取数据,服务器200的响应速度一般,但对于后续的用户访问而言,均可能从本机缓存230找到所要访问的数据,从而提高了对该后续用户访问的响应速度。
[0030]其中,所述数据读取请求可为应用更新请求。对于该应用更新请求的处理,与上述介绍的针对一般数据读取请求的处理基本一致,即首先从本机缓存230内寻找应用更新请求所针对的应用的最新版本,并在找到该应用的最新版本的情况下,将该应用的最新版本发送至客户端100;在没有从本机缓存230内找到该应用的最新版本的情况下,从集群缓存240内寻找该应用的最新版本,并将该应用的最新版本发送至客户端100。所不同的使,所述处理装置还会将所述集群缓存240内每个应用的最新版本更新至所述本机缓存230,即无论是否从本机缓存230内找到该应用的最新版本,均会将所述集群缓存240内每个应用的最新版本更新至所述本机缓存230。这样主要是考虑了每一客户端100可能所需更新的应用是不同的,而将每一应用的最新版本更新至本机缓存230之后,对于其他客户端100的后续应用更新请求而言,处理装置可直接从本机缓存230找到该应用更新请求所针对的应用的最新版本,并将该最新版本发送给客户端100,提高了对其他客户端100的应用更新请求的响应速度。
[0031]图2为本发明提供的提供服务数据的方法的流程图。相应地,如图2所示,本发明还提供一种用于提供服务数据的方法,该方法包括:接收来自客户端100的数据读取请求;以及从本机缓存230内寻找该数据读取请求所请求的数据,并执行以下一者:在找到该数据的情况下,从所述本机缓存230将该数据发送至所述客户端100;在未找到该数据的情况下,从集群缓存240寻找该数据,并将该数据发送至所述客户端100。其中,在未从所述本机缓存230找到所述数据的情况下,将从所述集群缓存240找到的所述数据更新至所述本机缓存230。
[0032]其中,所述数据读取请求可为应用更新请求。图3为本发明提供的提供服务数据的方法在数据读取请求为应用更新请求的情况下的流程图。如图3所示,在所述数据读取请求为应用更新请求的情况下,所述方法还包括将所述集群缓存240内每个应用的最新版本更新至所述本机缓存230。
[0033]通过本发明的方案,通过首先从本机缓存230寻找数据读取请求所请求的数据,在能够寻找到该数据的情况下,可直接将该数据发送至客户端100,由于本机缓存230的响应速度较快,藉此可提高服务器200对数据读取请求的响应速度。即便是无法从本机缓存230找到所述数据,依旧可从集群缓存240内找到所述数据并将该数据发送给客户端100。而同时将该数据更新本机缓存230,可保证来自其他客户端100的相同数据读取请求所请求的数据可从本机缓存230内找到,提高服务器200对其他客户端100的响应速度。本发明通过对集群缓存240与本机缓存230之间的数据进行灵活调配,可保证大部分数据均可直接从本机缓存230读取,提高服务器200对于客户端100的数据读取请求的响应速度。
[0034]以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0035]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0036]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【主权项】
1.一种用于提供服务数据的服务器,其特征在于,该服务器包括: 接收装置,用于接收来自客户端的数据读取请求;以及 处理装置,用于从本机缓存内寻找该数据读取请求所请求的数据,并执行以下一者: 在找到该数据的情况下,从所述本机缓存将该数据发送至所述客户端; 在未找到该数据的情况下,从集群缓存寻找该数据,并将该数据发送至所述客户端。2.根据权利要求1所述的服务器,其特征在于,所述处理装置还用于在未从所述本机缓存找到所述数据的情况下,将从所述集群缓存找到的所述数据更新至所述本机缓存。3.根据权利要求1所述的服务器,其特征在于,所述数据读取请求为应用更新请求。4.根据权利要求3所述的服务器,其特征在于,在所述数据读取请求为应用更新请求的情况下,所述处理装置还用于将所述集群缓存内每个应用的最新版本更新至所述本机缓存。5.一种数据服务系统,其特征在于,该系统包括: 客户端;以及 根据权利要求1-4中任一项权利要求所述的服务器。6.一种用于提供服务数据的方法,其特征在于,该方法包括: 接收来自客户端的数据读取请求;以及 从本机缓存内寻找该数据读取请求所请求的数据,并执行以下一者: 在找到该数据的情况下,从所述本机缓存将该数据发送至所述客户端; 在未找到该数据的情况下,从集群缓存寻找该数据,并将该数据发送至所述客户端。7.根据权利要求6所述的方法,其特征在于,在未从所述本机缓存找到所述数据的情况下,将从所述集群缓存找到的所述数据更新至所述本机缓存。8.根据权利要求6所述的方法,其特征在于,所述数据读取请求为应用更新请求。9.根据权利要求8所述的方法,其特征在于,在所述数据读取请求为应用更新请求的情况下,将所述集群缓存内每个应用的最新版本更新至所述本机缓存。
【文档编号】G06F17/30GK105897832SQ201510864355
【公开日】2016年8月24日
【申请日】2015年12月1日
【发明人】乔磊
【申请人】乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1