一种数据处理方法和系统的制作方法_2

文档序号:8258732阅读:来源:国知局
器210中存储的数据条目写入到缓存服务器中,实现缓存内容的更新;应 用服务器260需要查询数据时,构造读数据请求发送到读处理器250,该读数据请求中携带 查询条件,读处理器250接收到应用服务器260发送的读数据请求时,根据该读数据请求包 括的查询条件从缓存服务器获取数据条目,将获取到的数据条目返回给应用服务器260,完 成数据的查询过程。
[0029] 在本发明实施例的数据处理系统中,为进一步提高数据查询的响应速度,还预先 为各缓存服务器分别分配一个写时间段,即每个缓存服务器与一个写时间段相关联,且各 缓存服务器的写时间段互不交叉,并将缓存服务器与写时间段的关联关系存储在写处理器 220和读处理器250中。这样,写处理器220和读处理器250就能够根据所存储的缓存服务 器与写时间段的关联关系,对写数据请求和读数据请求进行控制,在缓存服务器的写时间 段内,对该缓存服务器缓存的内容进行更新,而在除了写时间段之外的其他时间段,可以调 度该缓存服务器对数据查询操作进行响应,使得对于同一缓存服务器而言,不会对该缓存 服务器同时进行读操作和写操作,从而避免读操作与写操作之间的相互影响,使得系统响 应时间短,系统性能更加稳定。
[0030] 具体地,写处理器220在接收到数据库服务器210发送的写数据请求时,将当前时 间与各缓存服务器的写时间段进行比较,来确定当前时间落入到了哪个缓存服务器的写时 间段内,从而选择该缓存服务器,并根据该写数据请求将数据库服务器210中存储的相应 数据条目写入到所选择的缓存服务器中。
[0031] 相应地,读处理器250在接收到应用服务器260发送的读数据请求时,将当前时间 与各缓存服务器的写时间段进行比较,来确定当前时间落入到了哪个缓存服务器的写时间 段内,以排除该缓存服务器,从剩余的缓存服务器中选择(例如按照预定的负载均衡算法 进行选择)一个缓存服务器,并从所选择的缓存服务器获取与该读数据请求对应的数据条 目,将获取到的数据条目返回给应用服务器260。
[0032] 在一种实现方式中,所述多个缓存服务器为两个缓存服务器,分别为第一缓存服 务器230和第二缓存服务器240。在此种情况下,可以将预定长度的时间段划分为两个时间 段,分别为第一时间段和第二时间段,且第一时间段和第二时间段互不交叉,并将第一时间 段分配给第一缓存服务器230,作为第一缓存服务器230的写时间段,将第二时间段分配给 第二缓存服务器240,作为第二缓存服务器240的读时间段。相应地,第二时间段就是第一 缓存服务器230的读时间段,第一时间段就是第二缓存服务器240的读时间段。为方便调 度,可以对所述预定长度的时间段进行平均划分,使得第一时间段的长度等于第二时间段 的长度,其中,这两个时间段的长度可以小于或等于缓存的更新周期。
[0033] 例如,根据数据库服务器210的所存储的数据规模以及系统的数据处理能力,确 定缓存的更新周期小于半小时,则可以对时间进行分片,分片逻辑为将每天中的每个小时 划分为上、下半小时,将上半小时作为第一缓存服务器230的写时间段,将下半小时作为第 二缓存服务器240的写时间段。在此种实现方式下,在每个XX: 00-XX: 30时间段,写业务访 问第一缓存服务器230,读业务访问第二缓存服务器240 ;在每个XX: 30-XX: 00时间段,读业 务访问第一缓存服务器230,写业务访问第二缓存服务器240。这样,在任意时间点读和写 业务都落在了不同的服务实例(即不同的缓存服务器)上。
[0034] 在一种实现方式中,数据库服务器210中的数据条目是以关系型数据库方式进行 存储,所述关系型数据库例如为01^〇1 6、082、1^(^〇8〇代501561^61'和1^501等;各缓存服 务器中的数据条目是以查询条件为键、以相关联的数据条目为值的键-值方式(no sql数 据库)进行存储,例如为redis数据库。其中,redis是一个key-value存储系统,它支持 存储的value类型包括string(字符串)、list (链表)、set (集合)、sorted set (有序集 合)和hash (哈希)类型。这些数据类型都支持push/pop、add/remove及取交集、并集和 差集及等操作,而且这些操作都是原子性的
[0035] 根据上述的数据存储方案,数据库服务器210可以根据对数据条目的每种查询条 件,获取与该查询条件相关联的数据条目,并根据查询条件与数据条目的关联关系来构造 写数据请求。相应地,写处理器220适于根据该写数据请求将查询条件以及与该查询条件 关联的数据条目相关联的存储到缓存服务器中;读处理器250适于根据读数据请求所携带 的查询条件,从缓存服务器获取与该查询条件相关联的数据条目。这样,通过采用离线计算 代替同步计算,进一步提高了高并发环境下的数据查询效率。
[0036] 以下给出一个应用实例。
[0037] 假设数据库服务器210中存储有一张车型报价的数据表,该数据表的结构如下:
[0038]
【主权项】
1. 一种数据处理系统,包括数据库服务器、写处理器、多个缓存服务器和读处理器,所 述写处理器和读处理器中均存储有各缓存服务器与对该缓存服务器所存储的数据进行更 新的写时间段的关联关系,其中: 所述写处理器适于在接收到数据库服务器发送的写数据请求时,根据当前时间从所述 多个缓存服务器中选择一个缓存服务器,其中所述当前时间落入到了所选择的缓存服务器 的写时间段内,并根据该写数据请求将数据库服务器中存储的相应数据条目写入到所选择 的缓存服务器中; 所述读处理器适于在接收到应用服务器发送的读数据请求时,根据当前时间从所述多 个缓存服务器中选择一个缓存服务器,其中所述当前时间未落入到所选择的缓存服务器的 写时间段内,并从所选择的缓存服务器获取与该读数据请求对应的数据条目,将获取到的 数据条目返回给应用服务器。
2. 如权利要求1所述的数据处理系统,所述多个缓存服务器为两个缓存服务器,分别 为第一缓存服务器和第二缓存服务器,所述第一缓存服务器的写时间段和所述第二缓存服 务器的写时间段是对预定长度的时间段进行划分得到的两个时间段。
3. 如权利要求1或2所述的数据处理系统,其中,所述数据库服务器适于根据对数据条 目的每种查询条件,获取与该查询条件相关联的数据条目,并根据查询条件与数据条目的 关联关系来构造写数据请求,相应地,所述写处理器进一步适于根据该写数据请求将查询 条件W及与该查询条件关联的数据条目相关联的存储到缓存服务器中。
4. 如权利要求3所述的数据处理系统,其中,所述读处理器进一步适于根据读数据请 求所携带的查询条件,从缓存服务器获取与该查询条件相关联的数据条目。
5. 如权利要求4所述的数据处理系统,其中,数据库服务器中的数据条目是W关系型 数据库方式进行存储;缓存服务器中的数据条目是W查询条件为键、W相关联的数据条目 为值的键-值方式进行存储。
6. 如权利要求2所述的数据处理系统,其中,所述第一缓存服务器的写时间段的长度 等于所述第二缓存服务器的写时间段的长度。
7. -种数据处理方法,适于在包括数据库服务器、写处理器、多个缓存服务器和读处理 器的数据处理系统中执行,所述数据处理方法包括: 在写处理器和读处理器中存储各缓存服务器与对该缓存服务器所存储的数据进行更 新的写时间段的关联关系; 写处理器在接收到数据库服务器发送的写数据请求时,根据当前时间从所述多个缓存 服务器中选择一个缓存服务器,其中所述当前时间落入到了所选择的缓存服务器的写时间 段内,并根据该写数据请求将数据库服务器中存储的相应数据条目写入到所选择的缓存服 务器中;W及 读处理器在接收到应用服务器发送的读数据请求时,根据当前时间从所述多个缓存服 务器中选择一个缓存服务器,其中所述当前时间未落入到所选择的缓存服务器的写时间段 内,并从所选择的缓存服务器获取与该读数据请求对应的数据条目,将获取到的数据条目 返回给应用服务器。
8. 如权利要求7所述的数据处理方法,所述多个缓存服务器为两个缓存服务器,分别 为第一缓存服务器和第二缓存服务器,所述第一缓存服务器的写时间段和所述第二缓存服 务器的写时间段是对预定长度的时间段进行划分得到的两个时间段。
9. 如权利要求7或8所述的数据处理方法,还包括;数据库服务器根据对数据条目的 每种查询条件,获取与该查询条件相关联的数据条目,并根据查询条件与数据条目的关联 关系构造写数据请求,将所构造的写数据请求发送到写处理器; 所述根据该写数据请求将数据库服务器中存储的相应数据条目写入到所选择的缓存 服务器中,包括:根据该写数据请求将查询条件W及与该查询条件关联的数据条目相关联 的存储到缓存服务器中。
10. 如权利要求9所述的数据处理方法,其中,所述从所选择的缓存服务器获取与该读 数据请求对应的数据条目,包括;根据读数据请求所携带的查询条件,从缓存服务器获取与 该查询条件相关联的数据条目。
【专利摘要】本发明公开了一种数据处理系统,包括数据库服务器、写处理器、多个缓存服务器和读处理器,其中:写处理器适于在接收到数据库服务器发送的写数据请求时,根据当前时间从多个缓存服务器中选择一个缓存服务器,其中所述当前时间落入到了所选择的缓存服务器的写时间段内,并根据该写数据请求将数据库服务器中存储的相应数据条目写入到所选择的缓存服务器中;读处理器适于在接收到应用服务器发送的读数据请求时,根据当前时间从多个缓存服务器中选择一个缓存服务器,其中所述当前时间未落入到所选择的缓存服务器的写时间段内,并从所选择的缓存服务器获取与该读数据请求对应的数据条目返回给应用服务器。本发明还公开了一种对应的数据处理方法。
【IPC分类】G06F3-06, G06F17-30, G06F12-08, G06F9-46
【公开号】CN104572860
【申请号】CN201410790322
【发明人】李荣尊
【申请人】北京皮尔布莱尼软件有限公司
【公开日】2015年4月29日
【申请日】2014年12月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1