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

文档序号:8258732阅读:223来源:国知局
一种数据处理方法和系统的制作方法
【技术领域】
[0001] 本发明涉及计算机和互联网领域,具体涉及一种数据处理方法和系统。
【背景技术】
[0002] 图1为现有的一种数据处理系统的结构图。如图1所示,该数据处理系统包括数 据库服务器110、主缓存服务器(Redis Master) 120、从缓存服务器(Redis Slave) 130和负 载均衡器140,数据库服务器110与主缓存服务器120通信连接,主缓存服务器120与从缓 存服务器130通信连接,且主缓存服务器120和从缓存服务器130均通信连接至负载均衡 器140,负载均衡器140与多个应用服务器150例如网页服务器(Webserver)通信连接。
[0003] 在该数据处理系统中,使用Redis作为数据库服务器110所存储的数据的缓存系 统,且Redis的部署结构为主从架构。应用服务器150进行数据查询时,其读数据请求会首 先到达负载均衡器140,负载均衡器140采用预定的负载均衡算法来从主缓存服务器120和 从缓存服务器130中选择一个,并从所选择的缓存服务器中获取相应数据后,返回给应用 服务器140。
[0004] 通常,缓存服务器中缓存的数据具有过期时间,如不及时进行缓存更新,应用服务 器有可能会从缓存服务器中获取过期的数据。因此,数据库服务器110会按照预定周期对 Redis中缓存的数据进行更新。缓存更新的过程一般为:数据库服务器110将数据写入到 主缓存服务器120,主缓存服务器120将所缓存的数据同步到从缓存服务器130。
[0005] 但是,数据库服务器110中通常存储大量数据,在缓存更新周期到达时,数据库服 务器110需要集中写入大量数据到缓存服务器。而Redis是单线程方式响应请求,由于写 入数据量非常大,在写入数据的同时来自于前端应用服务器150的查询请求会受到阻塞排 队,严重时导致应用服务器150无法和Redis服务建立连接,使得系统的响应时间过长。而 且,主缓存服务器120会同步大量数据到从缓存服务器130,导致从缓存服务器130上出现 加载数据(load data in memory)异常,严重影响前端业务服务器的稳定。

【发明内容】

[0006] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的数据处理方法和系统。
[0007] 根据本发明的一个方面,提供了一种数据处理系统,包括数据库服务器、写处理 器、多个缓存服务器和读处理器,所述写处理器和读处理器中均存储有各缓存服务器与对 该缓存服务器所存储的数据进行更新的写时间段的关联关系,其中:所述写处理器适于在 接收到数据库服务器发送的写数据请求时,根据当前时间从所述多个缓存服务器中选择一 个缓存服务器,其中所述当前时间落入到了所选择的缓存服务器的写时间段内,并根据该 写数据请求将数据库服务器中存储的相应数据条目写入到所选择的缓存服务器中;所述 读处理器适于在接收到应用服务器发送的读数据请求时,根据当前时间从所述多个缓存服 务器中选择一个缓存服务器,其中所述当前时间未落入到所选择的缓存服务器的写时间段 内,并从所选择的缓存服务器获取与该读数据请求对应的数据条目,将获取到的数据条目 返回给应用服务器。
[0008] 可选地,在根据本发明的数据处理系统中,所述多个缓存服务器为两个缓存服务 器,分别为第一缓存服务器和第二缓存服务器,所述第一缓存服务器的写时间段和所述第 二缓存服务器的写时间段是对预定长度的时间段进行划分得到的两个时间段。
[0009] 可选地,在根据本发明的数据处理系统中,所述数据库服务器适于根据对数据条 目的每种查询条件,获取与该查询条件相关联的数据条目,并根据查询条件与数据条目的 关联关系来构造写数据请求,相应地,所述写处理器进一步适于根据该写数据请求将查询 条件以及与该查询条件关联的数据条目相关联的存储到缓存服务器中。
[0010] 可选地,在根据本发明的数据处理系统中,所述读处理器进一步适于根据读数据 请求所携带的查询条件,从缓存服务器获取与该查询条件相关联的数据条目。
[0011] 可选地,在根据本发明的数据处理系统中,数据库服务器中的数据条目是以关系 型数据库方式进行存储;缓存服务器中的数据条目是以查询条件为键、以相关联的数据条 目为值的键-值方式进行存储。
[0012] 可选地,在根据本发明的数据处理系统中,所述第一缓存服务器的写时间段的长 度等于所述第二缓存服务器的写时间段的长度。
[0013] 根据本发明的另一方面,提供了一种数据处理方法,适于在包括数据库服务器、写 处理器、多个缓存服务器和读处理器的数据处理系统中执行,所述数据处理方法包括:在写 处理器和读处理器中存储各缓存服务器与对该缓存服务器所存储的数据进行更新的写时 间段的关联关系;写处理器在接收到数据库服务器发送的写数据请求时,根据当前时间从 所述多个缓存服务器中选择一个缓存服务器,其中所述当前时间落入到了所选择的缓存服 务器的写时间段内,并根据该写数据请求将数据库服务器中存储的相应数据条目写入到所 选择的缓存服务器中;读处理器在接收到应用服务器发送的读数据请求时,根据当前时间 从所述多个缓存服务器中选择一个缓存服务器,其中所述当前时间未落入到所选择的缓存 服务器的写时间段内,并从所选择的缓存服务器获取与该读数据请求对应的数据条目,将 获取到的数据条目返回给应用服务器。
[0014] 可选地,在根据本发明的数据处理方法中,所述多个缓存服务器为两个缓存服务 器,分别为第一缓存服务器和第二缓存服务器,所述第一缓存服务器的写时间段和所述第 二缓存服务器的写时间段是对预定长度的时间段进行划分得到的两个时间段。
[0015] 可选地,根据本发明的数据处理方法还包括:数据库服务器根据对数据条目的每 种查询条件,获取与该查询条件相关联的数据条目,并根据查询条件与数据条目的关联关 系构造写数据请求,将所构造的写数据请求发送到写处理器;所述根据该写数据请求将数 据库服务器中存储的相应数据条目写入到所选择的缓存服务器中,包括:根据该写数据请 求将查询条件以及与该查询条件关联的数据条目相关联的存储到缓存服务器中。
[0016] 可选地,在根据本发明的数据处理方法中,所述从所选择的缓存服务器获取与该 读数据请求对应的数据条目,包括:根据读数据请求所携带的查询条件,从缓存服务器获取 与该查询条件相关联的数据条目。
[0017] 可选地,在根据本发明的数据处理方法中,数据库服务器中的数据条目是以关系 型数据库方式进行存储;缓存服务器中的数据条目是以查询条件为键、以相关联的数据条 目为值的键-值方式进行存储。
[0018] 可选地,在根据本发明的数据处理方法中,所述第一缓存服务器的写时间段的长 度等于所述第二缓存服务器的写时间段的长度。
[0019] 根据本发明的数据处理方案,通过为各缓存服务器分别分配写时间段,在缓存服 务器的写时间段内响应写数据请求,实现缓存的更新,在写时间段之外的时间段响应读数 据请求,完成业务查询,从而隔离了在同一缓存服务器上的读操作和写操作,避免了读操作 与写操作之间的相互影响,使得系统响应时间短,系统性能更加稳定。并且,还取消了缓存 服务器的主从部署方式,这样就不用在各个缓存服务器之间同步数据,消除了大量数据同 步对业务查询的负面影响。
[0020] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0021] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0022] 图1示出了现有的一种数据处理系统的结构图;
[0023] 图2示出了根据本发明一个实施例的数据处理系统的结构图;以及
[0024] 图3示出了根据本发明一个实施例的数据处理方法的流程图。
【具体实施方式】
[0025] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0026] 图2示出了根据本发明一个实施例的数据处理系统的结构图。如图2所示,该数据 处理系统包括数据库服务器210、写处理器220、多个缓存服务器(图中示出了 2个,分别为 第一缓存服务器230和第二缓存服务器240)和读处理器250,写处理器220 -方面与数据 库服务器210通信连接,另一方面与所述多个缓存服务器中的每个缓存服务器通信连接, 读处理器250 -方面与所述多个缓存服务器中的每个缓存服务器通信连接,另一方面与一 个或多个应用服务器260例如网页服务器(Webserver)通信连接。
[0027] 在本发明实施例的数据处理系统中,多个缓存服务器构成数据库服务器210所存 储的数据的缓存系统。应用服务器260需要查询数据时,不需要对数据库服务器210中的 数据进行直接操作,而是从缓存服务器获取需要查询的数据,由于缓存服务器中的数据存 储在内存中,访问速度快,因此能够提高数据查询的速度。另外,由于缓存服务器中缓存的 数据具有过期时间,如不及时进行缓存更新,应用服务器260有可能会从缓存服务器中获 取过期的数据。因此,数据库服务器110会按照预定周期对缓存服务器中缓存的数据进行 更新。
[0028] 缓存内容更新和数据查询操作的流程为:在缓存数据的更新周期中,数据库服务 器210构造写数据请求发送到写处理器220,该写数据请求中携带需要更新到缓存服务器 的数据条目,写处理器220接收到数据库服务器210发送的写数据请求时,根据该写数据请 求将数据库服务
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1