CN103607312A - 用于服务器系统的数据请求处理方法及系统 - Google Patents
用于服务器系统的数据请求处理方法及系统 Download PDFInfo
- Publication number
- CN103607312A CN103607312A CN201310633513.1A CN201310633513A CN103607312A CN 103607312 A CN103607312 A CN 103607312A CN 201310633513 A CN201310633513 A CN 201310633513A CN 103607312 A CN103607312 A CN 103607312A
- Authority
- CN
- China
- Prior art keywords
- data
- identifier
- server
- management server
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000013523 data management Methods 0.000 claims abstract description 174
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于服务器系统的数据请求处理方法及系统,属于互联网技术领域。该方法包括:数据管理服务器接收数据请求,数据请求携带数据标识和应用程序标识;数据管理服务器根据数据标识和应用程序标识,在数据管理服务器配置的一级缓存中查询数据标识和应用程序标识对应的数据,一级缓存用于存储至少一个应用程序在第一预设时间段内被访问的数据;当数据管理服务器在一级缓存中查询到数据标识对应的数据时,将数据标识对应的数据返回给数据请求的发送终端。本发明使得即使部分服务器出现故障时,可以通过读取服务器预先设置的缓存,保证应用程序正常运行,避免了由于部分服务器故障,影响服务器系统的响应速度,提高了服务器系统的可用性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种用于服务器系统的数据请求处理方法及系统。
背景技术
随着互联网的迅速发展,越来越多的互联网运营商推出了自己的开放平台。在用户量较大的情况下,平台上运行的第三方应用往往会进行频繁的平台API(Application Programming Interface,应用程序接口)调用。因此,开放平台的后台服务器如何及时响应海量数据请求,成为平台架构过程中必须解决的关键问题。
现有的后台服务器系统一般为分布式结构。该后台服务器系统包括数据管理服务器集群、数据访问服务器集群以及数据库服务器集群。其中,数据管理服务器集群负责所有数据的管理,当收到数据请求后,根据负载情况,将请求分发到负载较轻的数据访问服务器上。该数据访问服务器负责数据的存取,在收到来自数据管理服务器的请求后,数据访问服务器利用其配置的缓存执行数据操作,并将结果返回给数据管理服务器,可以有效的分配数据请求,减少后台服务器系统的负载。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在该后台服务器系统中,如果部分服务器停止运行,会导致整个后台服务器系统的响应速度下降,甚至由于服务器过载导致整个平台的瘫痪,使得服务器系统的可用性较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种用于服务器系统的数据请求处理方法及系统。所述技术方案如下:
一方面,提供了一种用于服务器系统的数据请求处理方法,所述服务器系统包括数据管理服务器、数据访问服务器集群、数据库服务器集群,所述数据访问服务器集群包括多个数据访问服务器,所述方法包括:
所述数据管理服务器接收数据请求,所述数据请求携带数据标识和应用程序标识;
所述数据管理服务器根据所述数据标识和应用程序标识,在所述数据管理服务器配置的一级缓存中查询所述数据标识和应用程序标识对应的数据,所述一级缓存用于存储至少一个应用程序在第一预设时间段内被访问的数据;
当所述数据管理服务器在所述一级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
可选地,所述数据管理服务器根据所述数据标识和应用程序标识,在所述数据管理服务器配置的一级缓存中查询所述数据标识和应用程序标识对应的数据之后,所述方法还包括:
当所述数据管理服务器在所述一级缓存中未查询到所述数据标识对应的数据时,所述数据管理服务器从所述数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发所述数据请求;
当所述选择的数据访问服务器接收到所述数据请求时,根据所述数据标识,在二级缓存中查询所述数据标识对应的数据,所述二级缓存用于存储第二预设时间段内所述选择的数据访问服务器被访问的数据;
当在二级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
可选地,所述数据管理服务器从所述数据访问服务器集群中选择一个数据访问服务器包括:
所述数据管理服务器根据预设转发规则,从所述数据访问服务器集群中选择与所述应用程序标识的哈希值对应的数据访问服务器,所述预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系;
或,
所述数据管理服务器根据各个数据访问服务器的负载情况,从所述数据访问服务器集群中选择负载最低的数据访问服务器。
可选地,根据所述数据标识,在二级缓存中查询所述数据标识对应的数据之后,所述方法还包括:
当在二级缓存中未查询到所述数据标识对应的数据,所述数据访问服务器向所述数据库服务器集群转发所述数据请求;
当所述数据库服务器集群接收到所述数据请求时,根据所述数据标识,查询所述数据标识对应的数据;
所述数据库服务器集群将所述数据标识对应的数据返回给所述数据请求的发送终端。
可选地,所述方法还包括:
当所述数据标识对应数据的在第一预设时间段内被访问且所述一级缓存中所存储数据对应的应用程序包含所述应用程序标识对应的应用程序时,所述数据管理服务器将所述数据标识对应的数据存储于所述一级缓存;
和/或,
当所述数据标识对应数据的在第二预设时间段内被访问时,所述选择的数据访问服务器将所述数据标识对应的数据存储于所述二级缓存。
可选地,数据管理服务器集群包括多个数据管理服务器,所述数据管理服务器为所述数据管理服务器集群中与所述应用程序标识的哈希值对应的数据管理服务器。
另一方面,提供了一种用于服务器系统的数据请求处理系统,所述服务器系统包括数据管理服务器、数据访问服务器集群、数据库服务器集群,所述数据访问服务器集群包括多个数据访问服务器;其中,
所述数据管理服务器接收数据请求,所述数据请求携带数据标识和应用程序标识;
所述数据管理服务器根据所述数据标识和应用程序标识,在所述数据管理服务器配置的一级缓存中查询所述数据标识和应用程序标识对应的数据,所述一级缓存用于存储被至少一个应用程序在第一预设时间段内访问的数据;
当所述数据管理服务器在所述一级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
可选地,所述系统还包括:
当所述数据管理服务器在所述一级缓存中未查询到所述数据标识对应的数据时,所述数据管理服务器从所述数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发所述数据请求;
当所述选择的数据访问服务器接收到所述数据请求时,根据所述数据标识,在二级缓存中查询所述数据标识对应的数据,所述二级缓存用于存储第二预设时间段内所述选择的数据访问服务器被访问的数据;
当在二级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
可选地,所述数据管理服务器用于根据预设转发规则,从所述数据访问服务器集群中选择与所述应用程序标识的哈希值对应的数据访问服务器,所述预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系;或,所述数据管理服务器用于根据各个数据访问服务器的负载情况,从所述数据访问服务器集群中选择负载最低的数据访问服务器。
可选地,所述系统还包括:
当在二级缓存中未查询到所述数据标识对应的数据,所述数据访问服务器向所述数据库服务器集群转发所述数据请求;
当所述数据库服务器集群接收到所述数据请求时,根据所述数据标识,查询所述数据标识对应的数据;
所述数据库服务器集群将所述数据标识对应的数据返回给所述数据请求的发送终端。
可选地,所述系统还包括:
当所述数据标识对应数据的在第一预设时间段内被访问且所述一级缓存中所存储数据对应的应用程序包含所述应用程序标识对应的应用程序时,所述数据管理服务器将所述数据标识对应的数据存储于所述一级缓存;
当所述数据标识对应数据的在第二预设时间段内被访问时,所述选择的数据访问服务器将所述数据标识对应的数据存储于所述二级缓存。
可选地,数据管理服务器集群包括多个数据管理服务器,所述数据管理服务器为所述数据管理服务器集群中与所述应用程序标识的哈希值对应的数据管理服务器。
本发明实施例提供的技术方案带来的有益效果是:
通过在数据管理服务器配置一级缓存,该一级缓存中存储有某一应用程序重要的数据,使得即使部分服务器出现故障时,也可以通过读取服务器预先设置的缓存,保证该应用程序的正常运行,避免了由于部分服务器故障,导致整个服务器系统的响应速度下降,提高了服务器系统的可用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的用于服务器系统的数据请求处理方法流程图;
图2是本发明实施例提供的用于服务器系统的数据请求处理方法流程图;
图3是本发明实施例提供的用于服务器系统的数据请求处理系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的用于服务器系统的数据请求处理方法流程图。该服务器系统包括数据管理服务器、数据访问服务器集群、数据库服务器集群,该数据访问服务器集群包括多个数据访问服务器,该方法包括:
101、该数据管理服务器接收数据请求,该数据请求携带数据标识和应用程序标识。
102、该数据管理服务器根据该数据标识和应用程序标识,在该数据管理服务器配置的一级缓存中查询该数据标识和应用程序标识对应的数据,该一级缓存用于存储至少一个应用程序在第一预设时间段内被访问的数据。
103、当该数据管理服务器在该一级缓存中查询到该数据标识对应的数据时,将该数据标识对应的数据返回给该数据请求的发送终端。
本发明实施例提供的方法,通过在数据管理服务器配置一级缓存,该一级缓存中存储有某一应用程序重要的数据,使得即使部分服务器出现故障时,也可以通过读取服务器预先设置的缓存,保证该应用程序的正常运行,避免了由于部分服务器故障,导致整个服务器系统的响应速度下降,提高了服务器系统的可用性。
可选地,该数据管理服务器根据该数据标识和应用程序标识,在该数据管理服务器配置的一级缓存中查询该数据标识和应用程序标识对应的数据之后,该方法还包括:
当该数据管理服务器在该一级缓存中未查询到该数据标识对应的数据时,该数据管理服务器从该数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发该数据请求;
当该选择的数据访问服务器接收到该数据请求时,根据该数据标识,在二级缓存中查询该数据标识对应的数据,该二级缓存用于存储第二预设时间段内该选择的数据访问服务器被访问的数据;
当在二级缓存中查询到该数据标识对应的数据时,将该数据标识对应的数据返回给该数据请求的发送终端。
可选地,该数据管理服务器从该数据访问服务器集群中选择一个数据访问服务器包括:
该数据管理服务器根据预设转发规则,从该数据访问服务器集群中选择与该应用程序标识的哈希值对应的数据访问服务器,该预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系;
或,
该数据管理服务器根据各个数据访问服务器的负载情况,从该数据访问服务器集群中选择负载最低的数据访问服务器。
可选地,根据该数据标识,在二级缓存中查询该数据标识对应的数据之后,该方法还包括:
当在二级缓存中未查询到该数据标识对应的数据,该数据访问服务器向该数据库服务器集群转发该数据请求;
当该数据库服务器集群接收到该数据请求时,根据该数据标识,查询该数据标识对应的数据;
该数据库服务器集群将该数据标识对应的数据返回给该数据请求的发送终端。
可选地,该方法还包括:
当该数据标识对应数据的在第一预设时间段内被访问且该一级缓存中所存储数据对应的应用程序包含该应用程序标识对应的应用程序时,该数据管理服务器将该数据标识对应的数据存储于该一级缓存;
和/或,
当该数据标识对应数据的在第二预设时间段内被访问时,该选择的数据访问服务器将该数据标识对应的数据存储于该二级缓存。
可选地,数据管理服务器集群包括多个数据管理服务器,该数据管理服务器为该数据管理服务器集群中与该应用程序标识的哈希值对应的数据管理服务器。
图2是本发明实施例提供的用于服务器系统的数据请求处理方法流程图。该服务器系统包括数据管理服务器集群、数据访问服务器集群、数据库服务器集群,该数据管理服务器集群包括多个数据管理服务器,该数据访问服务器集群包括多个数据访问服务器。参见图2,该方法包括:
200、终端向数据管理服务器发送数据请求,该数据请求携带数据标识和应用程序标识。
其中,该数据标识可以为数据名称、数据存储位置等可以标识数据的信息,本发明实施例不做具体限定,该应用程序标识可以为应用程序ID(Identity,标识号码)、应用程序标题等可以标识应用程序的信息,本发明实施例不做具体限定。
其中,该终端可以为固定终端或移动终端,固定终端可以为PC(PersonalComputer,个人电脑)或显示设备,移动终端可以为智能手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)等。
其中,本领域技术人员可以获知,该数据请求包括数据读取请求以及数据存储请求,本发明实施例仅以该数据请求为数据读取请求为例进行说明,在本发明的另一实施例中,该数据请求也可以为数据存储请求,两种数据请求的处理方式类似,本发明实施例不做具体限定。
本发明实施例仅以该数据管理服务器为该数据管理服务器集群中与该应用程序标识的哈希值对应的数据管理服务器为例进行说明。其中,该应用程序标识的哈希值与数据管理服务器的对应关系可由技术人员基于一致性哈希(HASH)算法的负载均衡策略在开发时设置,具有相同应用程序标识的哈希值的数据请求可以分发到同一个数据管理服务器,使得服务器系统可以集中处理某一类的数据请求,加快了服务器系统的响应速度。在本发明的另一实施例中,该数据管理服务器可以为该数据管理服务器集群中任一个数据管理服务器,也可以为该数据管理服务器集群中负载最低的数据管理服务器发送该数据请求,本发明实施例不做具体限定。
如下述表1所示,在该应用程序ID的哈希值与数据管理服务器的对应关系表中,将应用程序ID的哈希值在1~10范围内的数据请求固定分发到数据管理服务器A上,将应用程序ID的哈希值在11~20范围内的数据请求固定分发到数据管理服务器B上。此时,数据管理服务器A就只会处理应用程序ID的哈希值在1~10范围内的数据请求,数据管理服务器B只会处理应用程序ID的哈希值在11~20范围内的数据请求。
表1
应用程序ID的哈希值 | 数据管理服务器 |
1~10 | 数据管理服务器A |
11~20 | 数据管理服务器B |
201、当该数据管理服务器接收到数据请求时,该数据管理服务器根据该数据标识,在一级缓存中查询该数据标识对应的数据。
其中,该数据管理服务器用于接收数据请求,并根据该数据请求携带的数据标识,对该数据标识对应的数据进行存取操作。
本发明实施例采用的一致性哈希算法具有“单调性”,该单调性指即使服务器的数量发生了改变也不会对之前的应用程序ID的哈希值与数据管理服务器之间的映射关系造成巨大的影响。也即是,即使在添加或者删除了某个服务器后,之前的哈希结果还会基本保持不变。当添加了某个数据管理服务器时,应用程序ID的哈希值在1~10范围内的数据请求仍分发到数据管理服务器A,应用程序ID的哈希值在11~20范围内的数据请求仍分发到数据管理服务器B,而新的应用程序ID的哈希值,则会分发到新增加的数据管理服务器。当删除了数据管理服务器B时,应用程序ID的哈希值在1~10范围内的数据请求仍分发到数据管理服务器A,虽然数据管理服务器B删除,基于数据管理服务器所提供的一级缓存机制,数据管理服务器配置的一级缓存仍可以读取,应用程序ID的哈希值在11~20范围内的数据请求,仍可以读取一级缓存中的数据,避免了由于部分服务器故障,导致整个服务器系统的响应速度下降。
在本发明实施例中,该数据管理服务器统计某一应用程序的数据,当该应用程序的某数据在第一预设时间段内被访问时,该数据管理服务器将该数据存储于一级缓存。当一级缓存中某应用程序的数据在第一预设时间段内未被访问时,也即是,该数据在有效时间内未被访问,则在一级缓存中删除该数据,该第一预设时间段可由技术人员设定,本发明实施例不做具体限定。优选地,该第一预设时间段可以为距当前时间20分钟。
可选地,对于该一级缓存中所存储的数据量还可以设置第一阈值。当该一级缓存中所存储的某应用程序在第一预设时间段内被访问数据的数据量大于第一阈值时,如果该应用程序有新数据需要存储于该一级缓存中,则删除该一级缓存中未被访问时间最长的数据,也即是有效时间最短的数据,以存储该新数据,基于这种存储机制,可以保证该应用程序的最常被访问的重要数据存储于该一级缓存中。该第一阈值可由技术人员设定,本发明实施例不做具体限定,优选地,该第一阈值可以为10万。
本实施例仅以一个一级缓存存储一个应用程序的数据为例进行说明,在本发明的另一实施例,一个一级缓存可以存储多个应用程序的数据,本发明实施例不作具体限定。
可选地,每接收一次数据请求,该数据管理服务器统计一次数据库服务器集群中的数据,如果该数据请求对应的数据在第一预设时间段被访问且该一级缓存中所存储数据对应的应用程序包含该数据请求携带的应用程序标识对应的应用程序,则该数据管理服务器将该数据存储于该一级缓存。
本发明实施例所涉及的数据管理服务器均配置有一级缓存,该一级缓存中存储某一应用程序的重要数据,使得当数据管理服务器接收到数据请求时,可以直接根据该数据请求携带的数据标识,在一级缓存中查询该数据标识对应的数据,而不需要对该数据请求进行转发处理,而由于一级缓存中所保存的数据为某一应用程序的重要数据,因此,该数据标识所对应的数据命中一级缓存的可能性很大,这种处理流程加快了服务器系统的响应速度。另外,由于数据管理服务器配置有一级缓存,当部分数据管理服务器出现故障时,该数据管理服务器配置的一级缓存仍可以读取,避免了由于部分服务器故障,导致整个服务器系统的响应速度下降,保证应用程序的正常运行,提高了服务器系统的可用性。
202、当该数据管理服务器在该一级缓存中未查询到该数据标识对应的数据时,该数据管理服务器根据预设转发规则,从该数据访问服务器集群中选择与该应用程序标识的哈希值对应的数据访问服务器,向选择的数据访问服务器转发该数据请求。
其中,该数据访问服务器用于根据数据标识,对该数据标识对应的数据进行存取操作,并对该数据请求进行转发。
其中,该预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系。该预设转发规则可由用户在使用的过程中调整,也可由技术人员在开发时基于一致性哈希算法的负载均衡策略设置。数据管理服务器将具有相同应用程序标识哈希值的数据请求转发到同一个数据访问服务器,该数据访问服务器配置的二级缓存中存储有该类应用程序的数据。使得该数据访问服务器可以集中处理该类应用程序标识哈希值的数据请求,无需进一步将该数据请求转发至数据库服务器集群,加快了服务器系统的响应速度。
本发明实施例仅以在一级缓存中未查询到数据标识对应的数据为例进行说明,在本发明提供的另一实施例中,当该数据管理服务器在该一级缓存中查询到该数据标识对应的数据时,将该数据标识对应的数据返回给该数据请求的发送终端。该数据管理服务器配置的一级缓存中存储有某应用程序在第一预设时间段内被访问的数据,也即是该应用程序的最常被访问的重要数据。该数据管理服务器接收到该应用程序的数据请求时,最有可能在其所配置的一级缓存中查询到该数据标识对应的数据,加快了服务器系统的响应速度。
在本发明实施例中,步骤202是该数据管理服务器从该数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发该数据请求的过程,实际上,步骤202可由以下步骤代替:该数据管理服务器根据各个数据访问服务器的负载情况,从该数据访问服务器集群中选择负载最低的数据访问服务器,向选择的数据访问服务器转发该数据请求。
在本发明实施例中,每个数据访问服务器均负责处理一部分数据请求,处理数据请求的数量可以标识该数据访问服务器的负载情况,如果处理的数据请求的数量多,则该数据访问服务器的负载重,如果处理的数据请求的数量少,则该数据访问服务器的负载轻。数据管理服务器根据各个数据访问服务器的负载情况,从该数据访问服务器集群中选择负载最低的数据访问服务器。
203、当该选择的数据访问服务器接收到该数据请求时,根据该数据标识,在二级缓存中查询该数据标识对应的数据,该二级缓存用于存储预设时间段内被访问的数据。
在本发明实施例中,该数据访问服务器统计第二预设时间段内该数据库服务器集群中被访问的数据,当某数据在第二预设时间段内被访问时,该数据访问服务器将该数据存储于二级缓存。当二级缓存中某数据在第二预设时间段内未被访问时,也即是,该数据在有效时间内未被访问,则在二级缓存中删除该数据。该第二预设时间段可由技术人员设定,本发明实施例不做具体限定。优选地,该第二预设时间段可以为距当前时间2分钟。
可选地,对于该二级缓存中所存储的数据量还可以设置第二阈值。当该二级缓存中所存储的在第二预设时间段内被访问数据的数据量大于第二阈值时,如果有新数据需要存储于该二级缓存中,删除该二级缓存中未被访问时间最长的数据,也即是有效时间最短的数据,以存储该新数据,基于这种存储机制,可以保证最近时间被访问的数据存储于该二级缓存中。该第二阈值可由技术人员设定,本发明实施例不做具体限定,优选地,该第二阈值可以为100万。
可选地,每接收一次数据请求,该数据访问服务器统计一次数据库服务器集群的数据。当该数据请求对应数据在第二预设时间段被访问时,该数据访问服务器将该数据标识对应的数据存储于该二级缓存。
需要说明的是,该一级缓存与该二级缓存所存储的数据的实质相同,均来源于数据库服务器集群的数据。不同的是,该一级缓存旨在存储某一应用程序最重要、最常被访问的数据,该二级缓存旨在存储最近一段时间内被访问的数据。
204、当在二级缓存中未查询到该数据标识对应的数据,该数据访问服务器向该数据库服务器集群转发该数据请求。
其中,该数据库服务器集群用于根据数据标识,对该数据标识对应的数据进行存取操作。该数据库服务器集群包括多个数据库服务器,每个数据库服务器对应保存有数据以及该数据的数据标识。
由于本发明所涉及的一级缓存中存储某一应用程序在第一预设时间段被访问的数据,二级缓存中存储第二预设时间段内被访问的数据,当该一级缓存中所存储数据对应的应用程序不包含该数据请求携带的应用程序标识对应的应用程序且该数据标识对应的数据在第二预设时间段内未被访问时,该数据访问服务器可以将该数据请求向该数据库服务器集群转发。
本发明实施例仅以在二级缓存中未查询到数据标识对应的数据为例进行说明,在本发明提供的另一实施例中,当在二级缓存中查询到该数据标识对应的数据时,该数据访问服务器将该数据标识对应的数据返回给该数据请求的发送终端。该数据访问服务器配置的二级缓存中存储有第二预设时间段内被访问的数据,也即是最近时间内被访问的数据。当数据访问服务器接收到数据请求时,数据访问服务器可以根据该数据请求携带的数据标识,在二级缓存中查询该数据标识对应的数据,而不需要对该数据请求进行转发处理,而由于二级缓存中所保存的数据为最近时间内被访问的数据,因此,该数据标识所对应的数据命中二级缓存的可能性较大,这种处理流程加快了服务器系统的响应速度。
205、当该数据库服务器集群接收到该数据请求时,根据该数据标识,查询该数据标识对应的数据。
在本发明实施例中,当该数据库服务器集群接收到该数据请求时,根据该数据标识,在该数据库服务器集群所存储的多个数据中,查询该数据标识对应的数据。当该数据库服务器查询到该数据标识对应的数据时,将该查询到的该数据标识对应的数据返回给该数据请求的发送终端。当该数据库服务器未查询到该数据标识对应的数据时,该数据库服务器可以向该数据请求发送端返回查询失败信息,也可以不作任何响应,本发明实施例不作具体限定。
206、该数据库服务器集群将该查询到的该数据标识对应的数据返回给该数据请求的发送终端。
在本发明实施例中,该数据库服务器集群将该查询到的数据发送至数据访问服务器,由数据访问服务器将该数据转发至数据管理服务器,再由该数据管理服务器向该数据请求的发送终端返回查询到的数据。
本发明实施例仅以该数据库服务器集群向该数据请求的发送终端返回查询到的数据为例进行说明。而在本发明的另一实施例中,如果是数据管理服务器在其配置的一级缓存中查询到该数据,则数据管理服务器直接向该数据请求的发送终端返回查询到的数据。如果是数据访问服务器在其配置的二级缓存中查询到该数据,则数据访问服务器将该查询到的数据转发至数据管理服务器,由数据管理服务器将该数据向该数据请求的发送终端返回查询到的数据,本发明实施例不做具体限定。
本发明实施例提供的方法,通过在数据管理服务器配置一级缓存,该一级缓存中存储有某一应用程序重要的数据,使得即使部分服务器出现故障时,也可以通过读取服务器预先设置的缓存,保证该应用程序的正常运行,避免了由于部分服务器故障,导致整个服务器系统的响应速度下降,提高了服务器系统的可用性。
图3是本发明实施例提供的用于服务器系统的数据请求处理系统结构示意图。该系统包括数据管理服务器集群、数据访问服务器集群、数据库服务器集群,该数据管理服务器集群包括多个数据管理服务器,该数据访问服务器集群包括多个数据访问服务器;其中,
该数据管理服务器接收数据请求,该数据请求携带数据标识和应用程序标识;
该数据管理服务器根据该数据标识和应用程序标识,在该数据管理服务器配置的一级缓存中查询该数据标识和应用程序标识对应的数据,该一级缓存用于存储被至少一个应用程序在第一预设时间段内访问的数据;
当该数据管理服务器在该一级缓存中查询到该数据标识对应的数据时,将该数据标识对应的数据返回给该数据请求的发送终端。
可选地,该系统还包括:
当该数据管理服务器在该一级缓存中未查询到该数据标识对应的数据时,该数据管理服务器从该数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发该数据请求;
当该选择的数据访问服务器接收到该数据请求时,根据该数据标识,在二级缓存中查询该数据标识对应的数据,该二级缓存用于存储第二预设时间段内该选择的数据访问服务器被访问的数据;
当在二级缓存中查询到该数据标识对应的数据时,将该数据标识对应的数据返回给该数据请求的发送终端。
可选地,该数据管理服务器用于根据预设转发规则,从该数据访问服务器集群中选择与该应用程序标识的哈希值对应的数据访问服务器,该预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系;或,该数据管理服务器用于根据各个数据访问服务器的负载情况,从该数据访问服务器集群中选择负载最低的数据访问服务器。
可选地,该系统还包括:
当在二级缓存中未查询到该数据标识对应的数据,该数据访问服务器向该数据库服务器集群转发该数据请求;
当该数据库服务器集群接收到该数据请求时,根据该数据标识,查询该数据标识对应的数据;
该数据库服务器集群将该数据标识对应的数据返回给该数据请求的发送终端。
可选地,该系统还包括:
当该数据标识对应数据的在第一预设时间段内被访问且该一级缓存中所存储数据对应的应用程序包含该应用程序标识对应的应用程序时,该数据管理服务器将该数据标识对应的数据存储于该一级缓存;
当该数据标识对应数据的在第二预设时间段内被访问时,该选择的数据访问服务器将该数据标识对应的数据存储于该二级缓存。
可选地,数据管理服务器集群包括多个数据管理服务器,该数据管理服务器为该数据管理服务器集群中与该应用程序标识的哈希值对应的数据管理服务器。
本发明实施例提供的系统,通过在数据管理服务器配置一级缓存,该一级缓存中存储有某一应用程序重要的数据,使得即使部分服务器出现故障时,也可以通过读取服务器预先设置的缓存,保证该应用程序的正常运行,避免了由于部分服务器故障,导致整个服务器系统的响应速度下降,提高了服务器系统的可用性。
需要说明的是:上述实施例提供的用于服务器系统的数据请求处理系统在数据请求处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用于服务器系统的数据请求处理系统与用于服务器系统的数据请求处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种用于服务器系统的数据请求处理方法,其特征在于,所述服务器系统包括数据管理服务器、数据访问服务器集群、数据库服务器集群,所述数据访问服务器集群包括多个数据访问服务器,所述方法包括:
所述数据管理服务器接收数据请求,所述数据请求携带数据标识和应用程序标识;
所述数据管理服务器根据所述数据标识和应用程序标识,在所述数据管理服务器配置的一级缓存中查询所述数据标识和应用程序标识对应的数据,所述一级缓存用于存储至少一个应用程序在第一预设时间段内被访问的数据;
当所述数据管理服务器在所述一级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
2.根据权利要求1所述的方法,其特征在于,所述数据管理服务器根据所述数据标识和应用程序标识,在所述数据管理服务器配置的一级缓存中查询所述数据标识和应用程序标识对应的数据之后,所述方法还包括:
当所述数据管理服务器在所述一级缓存中未查询到所述数据标识对应的数据时,所述数据管理服务器从所述数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发所述数据请求;
当所述选择的数据访问服务器接收到所述数据请求时,根据所述数据标识,在二级缓存中查询所述数据标识对应的数据,所述二级缓存用于存储第二预设时间段内所述选择的数据访问服务器被访问的数据;
当在二级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
3.根据权利要求2所述的方法,其特征在于,所述数据管理服务器从所述数据访问服务器集群中选择一个数据访问服务器包括:
所述数据管理服务器根据预设转发规则,从所述数据访问服务器集群中选择与所述应用程序标识的哈希值对应的数据访问服务器,所述预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系;
或,
所述数据管理服务器根据各个数据访问服务器的负载情况,从所述数据访问服务器集群中选择负载最低的数据访问服务器。
4.根据权利要求2所述的方法,其特征在于,根据所述数据标识,在二级缓存中查询所述数据标识对应的数据之后,所述方法还包括:
当在二级缓存中未查询到所述数据标识对应的数据,所述数据访问服务器向所述数据库服务器集群转发所述数据请求;
当所述数据库服务器集群接收到所述数据请求时,根据所述数据标识,查询所述数据标识对应的数据;
所述数据库服务器集群将所述数据标识对应的数据返回给所述数据请求的发送终端。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述数据标识对应数据的在第一预设时间段内被访问且所述一级缓存中所存储数据对应的应用程序包含所述应用程序标识对应的应用程序时,所述数据管理服务器将所述数据标识对应的数据存储于所述一级缓存;
和/或,
当所述数据标识对应数据的在第二预设时间段内被访问时,所述选择的数据访问服务器将所述数据标识对应的数据存储于所述二级缓存。
6.根据权利要求1所述的方法,其特征在于,数据管理服务器集群包括多个数据管理服务器,所述数据管理服务器为所述数据管理服务器集群中与所述应用程序标识的哈希值对应的数据管理服务器。
7.一种用于服务器系统的数据请求处理系统,其特征在于,所述服务器系统包括数据管理服务器、数据访问服务器集群、数据库服务器集群,所述数据访问服务器集群包括多个数据访问服务器;其中,
所述数据管理服务器接收数据请求,所述数据请求携带数据标识和应用程序标识;
所述数据管理服务器根据所述数据标识和应用程序标识,在所述数据管理服务器配置的一级缓存中查询所述数据标识和应用程序标识对应的数据,所述一级缓存用于存储被至少一个应用程序在第一预设时间段内访问的数据;
当所述数据管理服务器在所述一级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
当所述数据管理服务器在所述一级缓存中未查询到所述数据标识对应的数据时,所述数据管理服务器从所述数据访问服务器集群中选择一个数据访问服务器,向选择的数据访问服务器转发所述数据请求;
当所述选择的数据访问服务器接收到所述数据请求时,根据所述数据标识,在二级缓存中查询所述数据标识对应的数据,所述二级缓存用于存储第二预设时间段内所述选择的数据访问服务器被访问的数据;
当在二级缓存中查询到所述数据标识对应的数据时,将所述数据标识对应的数据返回给所述数据请求的发送终端。
9.根据权利要求8所述的系统,其特征在于,所述数据管理服务器用于根据预设转发规则,从所述数据访问服务器集群中选择与所述应用程序标识的哈希值对应的数据访问服务器,所述预设转发规则用于存储应用程序标识的哈希值和数据访问服务器之间的映射关系;或,所述数据管理服务器用于根据各个数据访问服务器的负载情况,从所述数据访问服务器集群中选择负载最低的数据访问服务器。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括:
当在二级缓存中未查询到所述数据标识对应的数据,所述数据访问服务器向所述数据库服务器集群转发所述数据请求;
当所述数据库服务器集群接收到所述数据请求时,根据所述数据标识,查询所述数据标识对应的数据;
所述数据库服务器集群将所述数据标识对应的数据返回给所述数据请求的发送终端。
11.根据权利要求7所述的系统,其特征在于,所述系统还包括:
当所述数据标识对应数据的在第一预设时间段内被访问且所述一级缓存中所存储数据对应的应用程序包含所述应用程序标识对应的应用程序时,所述数据管理服务器将所述数据标识对应的数据存储于所述一级缓存;
当所述数据标识对应数据的在第二预设时间段内被访问时,所述选择的数据访问服务器将所述数据标识对应的数据存储于所述二级缓存。
12.根据权利要求7所述的系统,其特征在于,数据管理服务器集群包括多个数据管理服务器,所述数据管理服务器为所述数据管理服务器集群中与所述应用程序标识的哈希值对应的数据管理服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310633513.1A CN103607312B (zh) | 2013-11-29 | 2013-11-29 | 用于服务器系统的数据请求处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310633513.1A CN103607312B (zh) | 2013-11-29 | 2013-11-29 | 用于服务器系统的数据请求处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103607312A true CN103607312A (zh) | 2014-02-26 |
CN103607312B CN103607312B (zh) | 2017-02-15 |
Family
ID=50125513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310633513.1A Active CN103607312B (zh) | 2013-11-29 | 2013-11-29 | 用于服务器系统的数据请求处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103607312B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068762A (zh) * | 2015-08-06 | 2015-11-18 | 北京奇艺世纪科技有限公司 | 一种数据读取方法及装置 |
CN105141676A (zh) * | 2015-08-11 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种多服务器下的会话保持共享方法及系统 |
CN105141672A (zh) * | 2015-08-03 | 2015-12-09 | 广州神马移动信息科技有限公司 | 一种数据存储方法、装置及系统 |
CN105975352A (zh) * | 2016-04-28 | 2016-09-28 | 努比亚技术有限公司 | 一种缓存数据处理方法及服务器 |
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN106998370A (zh) * | 2017-06-15 | 2017-08-01 | 北京微影时代科技有限公司 | 访问控制方法、装置以及系统 |
CN107220186A (zh) * | 2017-07-03 | 2017-09-29 | 福建新和兴信息技术有限公司 | Android系统中业务对象的缓存管理方法及终端 |
CN107463568A (zh) * | 2016-06-03 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种历史访问数据的获取方法及装置 |
CN109446448A (zh) * | 2018-09-10 | 2019-03-08 | 平安科技(深圳)有限公司 | 数据处理方法和系统 |
WO2019095577A1 (zh) * | 2017-11-14 | 2019-05-23 | 平安科技(深圳)有限公司 | 数据请求处理方法、装置、计算机设备和存储介质 |
CN111683144A (zh) * | 2020-06-08 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 一种访问请求处理的方法、装置、计算机设备及存储介质 |
CN111694505A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508703A (zh) * | 2002-12-18 | 2004-06-30 | 华为技术有限公司 | 一种数据库访问方法及实现该方法的客户机/服务器系统 |
US20070214320A1 (en) * | 2006-03-08 | 2007-09-13 | Microsoft Corporation | Multi-cache cooperation for response output caching |
CN102111452A (zh) * | 2011-03-04 | 2011-06-29 | 江苏天泽信息产业股份有限公司 | 利用分布式数据存储程序存储车载信息的系统及其存储方法 |
CN102523309A (zh) * | 2009-07-31 | 2012-06-27 | 同方威视技术股份有限公司 | 响应客户端的请求获取并返回实时数据的方法和设备 |
-
2013
- 2013-11-29 CN CN201310633513.1A patent/CN103607312B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508703A (zh) * | 2002-12-18 | 2004-06-30 | 华为技术有限公司 | 一种数据库访问方法及实现该方法的客户机/服务器系统 |
US20070214320A1 (en) * | 2006-03-08 | 2007-09-13 | Microsoft Corporation | Multi-cache cooperation for response output caching |
CN102523309A (zh) * | 2009-07-31 | 2012-06-27 | 同方威视技术股份有限公司 | 响应客户端的请求获取并返回实时数据的方法和设备 |
CN102111452A (zh) * | 2011-03-04 | 2011-06-29 | 江苏天泽信息产业股份有限公司 | 利用分布式数据存储程序存储车载信息的系统及其存储方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141672A (zh) * | 2015-08-03 | 2015-12-09 | 广州神马移动信息科技有限公司 | 一种数据存储方法、装置及系统 |
CN105068762A (zh) * | 2015-08-06 | 2015-11-18 | 北京奇艺世纪科技有限公司 | 一种数据读取方法及装置 |
CN105068762B (zh) * | 2015-08-06 | 2018-05-18 | 北京奇艺世纪科技有限公司 | 一种数据读取方法及装置 |
CN105141676A (zh) * | 2015-08-11 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种多服务器下的会话保持共享方法及系统 |
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN105975352B (zh) * | 2016-04-28 | 2019-08-30 | 努比亚技术有限公司 | 一种缓存数据处理方法及服务器 |
CN105975352A (zh) * | 2016-04-28 | 2016-09-28 | 努比亚技术有限公司 | 一种缓存数据处理方法及服务器 |
CN107463568A (zh) * | 2016-06-03 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种历史访问数据的获取方法及装置 |
CN107463568B (zh) * | 2016-06-03 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 一种历史访问数据的获取方法及装置 |
CN106998370A (zh) * | 2017-06-15 | 2017-08-01 | 北京微影时代科技有限公司 | 访问控制方法、装置以及系统 |
CN107220186A (zh) * | 2017-07-03 | 2017-09-29 | 福建新和兴信息技术有限公司 | Android系统中业务对象的缓存管理方法及终端 |
WO2019095577A1 (zh) * | 2017-11-14 | 2019-05-23 | 平安科技(深圳)有限公司 | 数据请求处理方法、装置、计算机设备和存储介质 |
CN109446448A (zh) * | 2018-09-10 | 2019-03-08 | 平安科技(深圳)有限公司 | 数据处理方法和系统 |
WO2020186931A1 (zh) * | 2019-03-15 | 2020-09-24 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
CN111694505A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
CN111694505B (zh) * | 2019-03-15 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
US11822788B2 (en) | 2019-03-15 | 2023-11-21 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Data storage management method and apparatus, and computer-readable storage medium |
CN111683144A (zh) * | 2020-06-08 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 一种访问请求处理的方法、装置、计算机设备及存储介质 |
CN111683144B (zh) * | 2020-06-08 | 2022-06-17 | 北京字节跳动网络技术有限公司 | 一种访问请求处理的方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103607312B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103607312B (zh) | 用于服务器系统的数据请求处理方法及系统 | |
CN110032567B (zh) | 报表查询方法、装置、服务器和存储介质 | |
CN106911780B (zh) | 业务id生成方法、装置及系统 | |
AU2016382908B2 (en) | Short link processing method, device and server | |
US10489476B2 (en) | Methods and devices for preloading webpages | |
WO2021042923A1 (zh) | 数据分片存储方法、装置、终端及计算机可读存储介质 | |
CN110909025A (zh) | 数据库的查询方法、查询装置及终端 | |
CN105302840B (zh) | 一种缓存管理方法与设备 | |
CN111464615A (zh) | 请求处理方法、装置、服务器及存储介质 | |
CN111247518A (zh) | 数据库分片 | |
CN108804234B (zh) | 数据存储系统及其操作方法 | |
CN106951179B (zh) | 一种数据迁移方法及装置 | |
US9928178B1 (en) | Memory-efficient management of computer network resources | |
CN109254981B (zh) | 一种分布式缓存系统的数据管理方法和装置 | |
WO2020094064A1 (zh) | 性能优化方法、装置、设备及计算机可读存储介质 | |
CN112764948A (zh) | 数据发送方法、数据发送装置、计算机设备及存储介质 | |
CN102164309B (zh) | 节目的处理方法和系统以及装置 | |
US10025859B2 (en) | Method and system for second-degree friend query | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
CN109976896B (zh) | 业务排重处理方法和装置 | |
CN110581873B (zh) | 一种跨集群重定向方法及监控服务器 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
CN116069810A (zh) | 数据查询方法、装置及终端设备 | |
CN115480704A (zh) | 数据块组迁移映射表的构建方法、装置、设备及存储介质 | |
CN113672652A (zh) | 一种数据访问方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28 Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08, Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |