CN107872517A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN107872517A CN107872517A CN201710992742.0A CN201710992742A CN107872517A CN 107872517 A CN107872517 A CN 107872517A CN 201710992742 A CN201710992742 A CN 201710992742A CN 107872517 A CN107872517 A CN 107872517A
- Authority
- CN
- China
- Prior art keywords
- back end
- target data
- access request
- data
- request
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理方法和装置,所述方法包括:将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据;将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上。根据本发明实施例,减轻了数据中心的处理负担。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种数据处理方法,以及,一种数据处理装置。
背景技术
目前,网络服务通常采用分布式缓存的方式来满足大量的数据访问。具体地,可以在前端设置数据缓存服务器集群,将集群中多个服务器分别作为多个数据节点,由该多个数据节点响应来自用户端的访问请求,从而分散访问请求,只有在数据节点故障或没有所请求数据的情况下,才会让访问请求直接到达后端的存储有大量数据的、但无法处理高并发访问量的数据中心,从而在保证网络服务的同时,避免大量的访问请求访问数据中心,造成数据中心负载过大。
然而,在实际应用中,在多个数据节点中,可能在某个数据节点上存储有某一个热点数据,从而引起大量的访问请求均集中在该数据节点上,以请求访问同一个热点数据。而当数据节点需要同时处理大量的访问请求时,可能会引起该数据节点故障,从而导致大量的访问请求穿透至数据中心,造成数据中心的处理负担过大。
因此,现有技术中的数据处理方法存在着数据中心处理负担过大的问题。
发明内容
本发明实施例针对所要解决的技术问题提供了一种数据处理方法,以及,一种数据处理装置。
为了解决上述问题,本发明提供了一种数据处理方法,所述方法包括:
将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N;
当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N;
将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据;
将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
可选地,所述目标数据与第一数据节点具有预设的对应关系,所述将访问同一个目标数据的N个访问请求调度至对应的数据节点的步骤包括:
将所述N个访问请求发送至与所述目标数据对应的第一数据节点;
当所述第一数据节点为异常节点,针对所述目标数据轮询其他数据节点;
当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点;
当没有数据节点响应轮询时,判定所述N个访问请求调度至所述数据节点失败。
可选地,在所述当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点的步骤之后,所述方法还包括:
建立所述目标数据和响应轮询的第二数据节点之间的对应关系。
可选地,在所述将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上的步骤之后,所述方法还包括:
建立所述目标数据和保存有所述目标数据的至少一个数据节点之间的对应关系。
可选地,所述方法应用于请求调度装置,所述请求调度装置上设置有本地缓存层,在所述将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上的步骤之后,所述方法还包括:
当检测到在预设的第一时间范围内请求访问所述目标数据的访问请求的数量大于预设的第一数量阈值,所述请求调度装置在本地缓存层存储所述目标数据,供多个访问请求在所述请求调度装置访问所述目标数据。
可选地,在所述请求调度装置在本地缓存层存储所述目标数据的步骤之后,所述方法还包括:
当检测到在预设的第二时间范围内请求访问所述本地缓存层的目标数据的访问请求的数量小于预设的第二数量阈值,从所述本地缓存层中删除所述目标数据。
为了解决上述问题,本发明还提供了一种数据处理装置,所述装置包括:
第一调度模块,用于将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N;
M个访问请求提取模块,用于当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N;
第二调度模块,用于将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据;
目标数据保存模块,用于将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
可选地,所述目标数据与第一数据节点具有预设的对应关系,所述第一调度模块包括:
请求发送子模块,用于将所述N个访问请求发送至与所述目标数据对应的第一数据节点;
节点轮询子模块,用于当所述第一数据节点为异常节点,针对所述目标数据轮询其他数据节点;
第二数据节点确定子模块,用于当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点;
调度失败判定子模块,用于当没有数据节点响应轮询时,判定所述N个访问请求调度至所述数据节点失败。
可选地,所述第一调度模块还包括:
数据及节点对应关系建立子模块,用于建立所述目标数据和响应轮询的第二数据节点之间的对应关系。
可选地,所述装置还包括:
数据及节点对应关系建立模块,用于建立所述目标数据和保存有所述目标数据的至少一个数据节点之间的对应关系。
可选地,所述装置上设置有本地缓存层,所述装置还包括:
目标数据缓存模块,用于当检测到在预设的第一时间范围内请求访问所述目标数据的访问请求的数量大于预设的第一数量阈值,所述请求调度装置在本地缓存层存储所述目标数据,供多个访问请求在所述请求调度装置访问所述目标数据。
可选地,所述装置还包括:
目标数据删除模块,用于当检测到在预设的第二时间范围内请求访问所述本地缓存层的目标数据的访问请求的数量小于预设的第二数量阈值,从所述本地缓存层中删除所述目标数据。
与现有技术相比,本发明实施例包括以下优点:
根据本发明实施例,当某个数据节点故障导致访问同一个目标数据的N个访问请求调度失败时,从N个访问请求中提取M个访问请求,并将M个访问请求调度至后端的数据中心,将M个访问请求在后端的数据中心所访问到的目标数据,保存在正常运作的数据节点上,供其他访问请求访问。从而,避免N个访问请求同时访问数据中心,而仅允许数量较少的M个访问请求访问数据中心,减轻了数据中心的处理负担。
附图说明
图1是本发明实施例一的一种数据处理方法的步骤流程图;
图2是本发明实施例二的一种数据处理方法的步骤流程图;
图3是本发明实施例三的一种数据处理装置的结构框图;
图4是本发明实施例四的一种数据处理装置的结构框图;
图5是本发明的一种基于Couchbase集群的数据访问流程示意图;
图6是本发明的一种基于Couchbase集群构建的分布式数据缓存***的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
图1示出了本发明实施例一的一种数据处理方法的步骤流程图,所述方法可以具体包括如下步骤:
步骤101,将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N。
需要说明的是,本发明实施例的数据处理方法可以应用于分布式数据缓存服务器集群。该分布式数据缓存服务器集群可以包括多个数据服务器,可以将多个数据服务器分别作为多个数据节点,可以将数据中心的数据写入至各个数据节点,由分布式的数据节点向用户端提供数据服务。
上述的访问请求可以包括用户端向数据缓存服务器集群发起的访问某个数据的请求。
具体实现中,用户端向数据缓存服务器集群发送针对某个数据的访问请求。可以将访问请求调度至存储有所请求访问数据的某个数据节点,由该数据节点处理该访问请求。
例如,接收到用户端的访问请求,需要获取多媒体数据A,查找到多媒体数据A存储在数据节点01,将该访问请求发送至数据节点01,数据节点01接收到访问请求后,将多媒体数据A返回用户端。
多个的访问请求中,可能存在有N个访问相同数据的访问请求,因此,可以将该N个访问请求所访问的数据,作为上述的目标数据,并确定存储有该目标数据的数据节点,将该N个访问请求调度至该数据节点,使得N个访问请求可以在数据节点访问到目标数据。
步骤102,当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N。
实际应用中,数据节点可能会由于访问量过大、网络抖动、网卡故障、硬盘故障等因素,在当前无法响应访问请求,或者,无法在一定时间内响应访问请求,导致访问请求访问数据节点的数据失败。为了保证访问请求得到及时的响应,通常需要将访问请求调度至后端的数据中心,以供访问请求访问数据中心的数据。其中,数据中心可以包括底层业务层,底层业务层存储有各个数据节点的数据,但由于其处理访问请求的能力有限制,因此无法处理高并发的访问请求。
具体实现中,当N个访问请求调度至数据节点失败,可以从该N个访问请求中,提取一个或多个访问请求,作为上述的M个访问请求。例如,若当前某个数据节点故障,将访问请求调度至故障的数据节点后,则会导致调度失败,针对调度失败的多个访问请求,随机选取出1个访问请求。
通过允许有限数量的访问请求被调度至数据中心,避免N个访问请求均被同时调度至数据中心。
在实际应用中,M的具体数值,本领域技术人员可以根据实际情况设定,本发明实施例对此不做限制。需要说明的在,M的数值越小,数据中心处理访问请求的负担则会越小,但(N-M)个访问请求则需要等待目标数据被存储至数据节点后,才能被调度至数据节点以访问目标数据,影响了请求响应速度。而M的数值越大,虽然会加大数据中心的处理负担,但可以使得M个访问请求即时得到响应,提升了请求响应速度。因此,可以根据数据中心实时的处理负担和响应速度,相应地调整M的具体数值。
步骤103,将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据。
具体实现中,在提取出M个访问请求后,可以将M个访问请求发送至数据中心。由于数据中心存储有全部的数据,M个访问请求可以在数据中心访问到对应的目标数据。
步骤104,将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
具体实现中,可以确定M个访问请求在数据中心所访问的数据,作为目标数据。可以将该目标数据缓存在数据节点上,供还未访问到目标数据的(N-M)个访问请求,在该数据节点上访问目标数据。实际应用中,在将目标数据缓存在任意一个数据节点上之后,可以相应更新目标数据和该数据节点的对应关系。当接收到访问目标数据的访问请求后,根据更新的对应关系,可以确定对应的数据节点,从而将该访问请求调度至该数据节点中。
根据本发明实施例,当某个数据节点故障导致访问同一个目标数据的N个访问请求调度失败时,从N个访问请求中提取M个访问请求,并将M个访问请求调度至后端的数据中心,将M个访问请求在后端的数据中心所访问到的目标数据,保存在正常运作的数据节点上,供其他访问请求访问。从而,避免N个访问请求同时访问数据中心,而仅允许数量较少的M个访问请求访问数据中心,减轻了数据中心的处理负担。
实施例二
图2示出了本发明实施例二的一种数据处理方法的步骤流程图,所述方法可以具体包括如下步骤:
步骤201,将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N。
实际应用中,可以采用Couchbase集群作为分布式数据缓存服务器集群,基于Couchbase集群构建分布式数据缓存***。Couchbase集群本身可以实现缓存数据的备份以及对单点故障的基本处理。同时,Couchbase集群可以水平扩展,即,可以通过增加数据节点的方式增加Couchbase集群的容量。而且,数据节点间没有父子关系或者主从关系,意味着Couchbase在存储容量和性能方面,都可以做到线性扩容。
可以针对Couchbase集群的各个数据节点,设置一个或多个的nginx客户端。其中,在nginx客户端中可以集成有访问请求处理调度模块。该访问请求处理调度模块可以采用lua语言实现连接Couchbase集群各个数据节点的连接协议,从而可以高效地获取Couchbase集群的数据。访问请求处理调度模块可以将访问请求的数据包调度至Couchbase集群。
实际应用中,用户端提交的访问请求可以包括请求命令和数据对象。在接收到用户端的访问请求后,可以根据该访问请求相应请求Couchbase集群的各个数据节点,实现针对数据对象执行请求命令的处理。
例如,用户端访问请求可以为Packet,Packet可以包含Opcode(操作类型,如获取数据命令Get、存入数据命令Set)、Key(对应Couchbase集群中某个数据的数据地址)、extra(附加命令、如设置过期时间)等请求参数的字段。根据用户端的Packet中的请求参数所标识的操作类型,向数据节点发送相应的Send_Packet。若请求失败,则返回空结果,若请求成功,则根据返回的结果进行数据处理。
以下为Packet操作类型为Get操作的一个具体示例:
将Opcode设置为Get,key设置为需要访问的key,向Couchbase服务器发送请求,若访问成功,则返回结果;访问失败,返回空。
以下为Packet操作类型为Set操作的一个具体示例:
将Opcode设置为Set,key设置为需要的key,value设置为缓存内容,extra中设置缓存的过期时间,向couchbase服务器发送请求,若存入成功,则返回成功;存入失败,返回空。
在实际应用中,可以支持多个访问请求同时发送,实现对访问请求的批量处理。为减少连接创建操作,可以设置连接池,从连接池中取出连接,采用取出的连接进行访问请求的处理。
可选地,所述目标数据与第一数据节点具有预设的对应关系,所述步骤201包括:
子步骤S11,将所述N个访问请求分别发送至与所述目标数据对应的第一数据节点;
具体实现中,在分布式数据缓存服务器集群中,可以预置各个数据节点与数据的对应关系,可以根据该对应关系,确定N个访问请求对应的第一数据节点。
实际应用中,对于Couchbase集群的特点,一个Key通常会设置在固定的vBucket上,并分配到一个数据节点上,由该数据节点处理针对该Key的访问请求。即,某个数据Key对应的vBucket和数据节点之间存在唯一的对应关系。在nginx客户端上,可以配置vBucketServerMap,以记录该对应关系。在接收到用户端的Packet,可以提取Packet中的Key,查找对应vBucketID,并根据vBucketID查找对应的数据节点,从而可以将该Pakcet调度至对应的数据节点。
子步骤S12,当所述第一数据节点为异常节点,针对所述目标数据轮询其他数据节点。
子步骤S13,当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点。
由于某个数据节点上可能缓存有热点数据,访问该数据节点的并发量会增大,引起数据节点的处理芯片、操作***的负载过大,导致该数据节点出现宕机或者其他故障,无法及时响应访问请求。
当确定第一数据节点为异常节点,可以针对N个访问请求所请求的目标数据,轮询其他数据节点。当存在有响应的数据节点,可以将响应的数据节点,作为上述的第二数据节点,并将N个访问请求发送至第二数据节点。
对于Couchbase集群的应用场景,当数据节点出现宕机或者其他故障,数据节点可能在预设时间内无响应,Couchbase集群可以向nginx客户端返回0x0007(Vbucket belongsto another server)的结果,从而nginx客户端可以认为该数据节点为异常节点。
当确定异常节点,Nginx客户端中的访问请求处理调度模块,可以进行两个阶段的处理,分别为Failover阶段和Rebalance阶段。Failover阶段中主要的处理是判定异常节点,并获取副本数据,Rebalance阶段中主要的处理是更新数据和数据节点的对应关系,以剔除异常节点。
更具体地,在Failover阶段,nginx客户端可以调用请求处理调度模块,获取Couchbase集群的集群拓扑节点,向其中的全部数据节点发起请求,直到某个数据节点响应。nginx客户端可以将访问请求调度至响应的数据节点。
可选地,当存在响应轮询的第二数据节点时,在所述子步骤S13之后,所述方法可以还包括:
建立所述目标数据和响应轮询的第二数据节点之间的对应关系。
具体实现中,当存在响应轮询的第二数据节点,可以建立目标数据和第二数据节点的对应关系,使得后续的请求目标数据的访问请求,可以根据更新的对应关系,将访问请求调度至第二数据节点,供访问请求在第二数据节点访问目标数据。
对于Couchbase集群的应用场景,当在Failover阶段中,存在响应轮询的数据节点,在Rebalance阶段中,可以针对响应的数据节点,获取其vBucketID,并根据新获取到的vBucketID以及响应的数据节点,更新Nginx客户端上的vBucketServerMap,从而更新了保存Key的vBucketID和数据节点的对应关系。
根据本发明实施例,当存在有响应轮询的第二数据节点,表明第二数据节点存储有访问请求所要访问的目标数据,新建目标数据和第二数据节点的对应关系,使得后续接收到访问目标数据的访问请求时,可以根据更新的对应关系将其调度至对应的第二数据节点,避免将其调度至原有的、已经发生故障的数据节点,提升了数据调度的效率。
子步骤S14,当没有数据节点响应轮询时,判定所述N个访问请求调度至所述数据节点失败。
当没有数据节点响应,表明当前的多个数据节点均不存在访问请求所需要访问的目标数据,无法服务该访问请求,可以判定当前的访问请求调度至数据节点失败,以便触发将访问请求调度至数据中心的处理。
步骤202,当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N。
当确定N个访问请求调度至数据节点失败,可以从调度失败的N个访问请求中,提取出M个访问请求,该M个访问请求均为访问同一个目标数据。
优选地,M可以为1,即,从N个访问请求中提取1个访问请求。当然,在实际应用中,本领域技术人员可以根据实际需要确定M的数量,本发明实施例对此不作限制。
由于N个访问请求均访问同一数据,因此可以随机选取任意一个访问请求,以将该选取的访问请求调度至数据中心。数据中心接收到该访问请求后,可以确定该访问请求所访问的目标数据在数据中心中的实际存储地址,访问请求可以在实际存储地址访问到目标数据。
在实际的应用场景中,Nginx客户端可以调用请求处理调度模块,可以采用不同的保护策略,将穿透至后端底层业务层的请求进行限制。
在其中一种保护策略中,可以对穿透的相同请求加并发锁,只允许一个请求穿透到后端的底层业务层。例如,可以针对请求相同vBucketID的Key的请求加锁。被允许穿透的请求从底层业务层获取到数据后,可以将获取的数据保存在Couchbase集群的某个数据节点上,供其他相同请求获取。从而,在及时响应访问请求的同时,又避免大量的请求访问底层业务层。
在另一种保护策略中,可以限制在预设时间内只允许一定数量的请求穿透至后端的底层业务层,以避免短时间内有大量的请求访问底层业务层。
对于Couchbase集群的应用场景,上述Failover阶段中,Nginx客户端的请求处理调度模块,通过在其他数据节点或者底层业务层获取副本数据之后,可以进入Rebalance阶段。
步骤203,将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据。
步骤204,将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
步骤205,建立所述目标数据和保存有所述目标数据的至少一个数据节点之间的对应关系。
具体实现中,当目标数据保存至数据节点后,可以建立目标数据与该数据节点的对应关系,从而更新多个数据和多个数据节点的对应关系。
对于Couchbase集群的应用场景,当在Failover阶段中,通过穿透至后端底层业务层获取某个Key,在Rebalance阶段中,针对Key的vBucketID,以及vBucketID对应的数据节点,更新Nginx客户端上的vBucketServerMap,从而更新了保存Key的vBucketID和数据节点的对应关系。
根据本发明实施例,当将目标数据保存在某个数据节点后,新建目标数据和保存目标数据的数据节点的对应关系,使得后续接收到访问目标数据的访问请求时,可以根据更新的对应关系将其调度至对应的数据节点,避免将其调度至原有的、已经发生故障的数据节点,提升了数据调度的效率。
步骤206,当检测到在预设的第一时间范围内请求访问所述目标数据的访问请求的数量大于预设的第一数量阈值,所述请求调度装置在本地缓存层存储所述目标数据,供多个访问请求在所述请求调度装置访问所述目标数据。
本发明实施例所提供的数据处理方法可以应用在请求调度装置上。上述的请求调度装置,可以具体为Nginx客户端。Nginx客户端中可以设置有请求处理调度模块,用于调度访问请求至数据节点和数据中心。Nginx客户端中还可以设置有一个本地缓存层,用于在短时间内缓存数据。
具体实现中,可以检测是否在一定时间范围内接收到数量超过预设阈值的多个访问请求,若是,则可以获取多个访问请求所访问的目标数据,将该目标数据缓存在本地缓存层中,供访问请求在本地缓存层访问目标数据。
对于Couchbase集群的应用场景,数据访问具有突发性。如果单个数据节点上保存有热点数据,可能在短时间内有大量的访问请求集中在该数据节点,导致该数据节点在短时间内处理大量的访问请求。为了减轻大量访问请求对单个数据节点的访问压力,可以在Nginx客户端上,增加一个Local Cache(本地缓存层),针对Key相同的请求,均从LocalCache访问数据,当在Local Cache无法访问到数据时,再调度至Couchbase集群的数据节点。
根据本发明实施例,通过在请求调度装置本地缓存数据,使得访问请求可以在请求调度装置本地即可访问到目标数据,而无须调度至数据节点,减轻了数据节点的访问压力。
步骤207,当检测到在预设的第二时间范围内请求访问所述本地缓存层的目标数据的访问请求的数量小于预设的第二数量阈值,从所述本地缓存层中删除所述目标数据。
具体实现中,如果在一定时间范围内,访问本地缓存层中某个数据的访问请求数量减少,则可以从本地缓存层删除该目标数据。实际应用中,Nginx客户端的容量有限,无法缓存大量数据,因此,当某个热点数据的利用率较低时,则可以删除该数据,以便提供空间缓存其他热点数据,避免本地缓存层空间不足无法缓存其他当前利用率较高的热点数据。
根据本发明实施例,通过检测一定时间范围内访问目标数据的访问量,当访问量小于预设阈值时,则从请求调度装置的本地缓存层删除目标数据,避免本地缓存层空间不足而无法缓存其他数据。
实际应用中,还可以在Couchbase集群上设置业务层联动模块。通过业务层联动模块,使得Couchbase集群上某个配置被更新时,进行全局更新。针对于Java应用,在需要访问Couchbase集群的Java应用上,内置和ZK模块(ZooKeeper,分布式应用程序协调服务)交互的模块,当ZK上关于Couchbase集群的配置发生变动时,ZK模块会主动通知各个Java应用,并会将最新的配置文件加载至Java应用上。此外,Nginx客户端可以后台监听ZK,当ZK上关于Couchbase集群的配置发生变动时,可以通知具体的变化内容至后台***,后台***会自动触发将变化内容推送到所有Nginx客户端的共享内存中,并触发生效。
需要补充说明的是,Couchbase集群出现异常节点后,可能在异常节点恢复至健康状态之前,又出现其他的异常节点。该情况会造成整个Couchbase集群处于不稳定状态,导致大量的的数据丢失,使得大量的访问请求需要穿透至后端的底层业务层,导致底层业务层的负载过大。因此,可以通过设置MCS(Moniter and controller system,集群管理)模块,对各个数据节点进行监控,对监测到异常节点进行自动剔除操作,避免引起Couchbase集群的不稳定状态。更具体地,由于在现有技术中对Couchbase集群的节点判定为异常节点的策略中,需要达到比较严苛的条件才会触发。导致的后果是,在某个数据节点故障、访问请求访问该数据节点延迟,但该数据节点又未能达到异常节点的判定条件,无法触发自动剔除操作,从而导致所有访问该数据节点的访问请求均无法得到及时的响应。
MCS模块可以通过三个方面的处理解决上述问题。首先,可以改进Failover策略(异常节点判定)。原有的Failover策略中,当访问延迟超过一个较短的延迟时间阈值,则会判定为异常节点,但由于引起访问延迟的原因可能是瞬时的网络抖动,该数据节点实际上并未发生异常,因此,可以延长判定条件的延迟时间阈值,例如,从5秒延长至60秒。避免在瞬时的网络抖动的情况下错误地剔除正常的数据节点。在延长延迟时间阈值的同时,可以监控Couchbase集群的超时率,当超过一定的超时率阈值时,判定异常节点。例如,某个数据节点超过10%的访问请求存在访问延迟时,可以向Couchbase集群发送命令,以判定该节点为异常节点。其次,在判定异常节点后,在非访问高峰期通过判断策略判定触发执行Rebalance操作(剔除异常节点),其中,判断策略可以包括:集群有且只有低于预设数量阈值的异常节点,其他的节点是健康状态;集群里所有数据节点的内存使用率不超过第一预设使用率阈值;集群各个数据节点的内存使用率不超过第二预设使用率阈值;集群CPU利用率不超过预设CPU利用率阈值;集群各节点的网卡IO不超过输入输出比率阈值;集群的数据节点数不小于预设个数阈值。当满足上述条件后,可以自动执行Rebalance操作,将异常节点从Couchbase集群中剔除,并把拓扑节点同步到Nginx客户端的请求处理调度模块,以及Java应用的业务层。最后,在执行Rebalance操作后,可以判断Rebalance操作是否成功,并将结果反馈给Couchbase集群的管理用户。
现有技术中,通常基于Memcache集群采用一致性哈希算法的方式或基于Redis来构建分布式数据缓存***。然而,基于上述方式构建的缓存***中,在扩容、负载均衡、高可用等多方面均存在不足。
将本发明实施例的数据处理方法应用于基于Couchbase集群构建的分布式数据缓存***后,首先,通过在Nginx客户端上集成请求处理调度模块,从而可以在Nginx客户端直接访问Couchbase集群获取缓存数据,并增强了单点失效可用性,增加数据容错处理,并增加了对后端的底层业务层的保护措施。其次,增加了在Nginx客户端本地的缓存处理,减轻了对Couchbase集群中某单个数据节点的访问压力。再次,增加了对Couchbase集群各个数据节点的监控状态的监控,并对数据节点的超时率进行监控,从而可以判定某个数据节点为异常节点,并将其从Couchbase集群中隔离。进一步地,通过Couchbase集群上某个配置被更新时进行全局更新的方式,在某个集群不健康而需要由其他健康的集群提供服务的情况下,可以将Java应用和Nginx客户端快速地切换访问其他集群,从而降低影响时间。
为了便于本领域技术人员深入理解本发明实施例,以下结合图5至6的具体示例进行说明。
图5是本发明的一种基于Couchbase集群的数据访问流程示意图。从图中可见,用户端user的访问请求发送到Nginx客户端,Nginx客户端根据访问请求在Couchbase集群中请求访问相应的数据,若访问成功则直接返回数据,若访问失败则从底层业务层访问数据,并保存在Couchbase集群。
图6是本发明的一种基于Couchbase集群构建的分布式数据缓存***的结构示意图。从图中可见,缓存***包括Nginx客户端、Java应用、Couchbase集群、网页数据采集器、分布式应用程序协调服务ZK模块、以及集群管理模块MCS。网页数据采集器可以将从网页上采集到的访问请求提交至Nginx客户端。Nginx客户端可以将访问请求调度至Couchbase集群。Couchbase集群的配置更新时,Couchbase集群可以通知ZK模块,ZK模块会主动通知各个Java应用,并会将最新的配置文件加载至Java应用上,Java应用可以根据更新的配置文件访问Couchbase集群。Couchbase集群可以通过MCS模块进行监控,以管理Couchbase集群的Failover操作和Rebalance操作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
图3示出了本发明实施例三的一种数据处理装置的结构框图,所述装置具体可以包括如下模块:
第一调度模块301,用于将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N;
M个访问请求提取模块302,用于当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N;
第二调度模块303,用于将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据;
目标数据保存模块304,用于将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
根据本发明实施例,当某个数据节点故障导致访问同一个目标数据的N个访问请求调度失败时,从N个访问请求中提取M个访问请求,并将M个访问请求调度至后端的数据中心,将M个访问请求在后端的数据中心所访问到的目标数据,保存在正常运作的数据节点上,供其他访问请求访问。从而,避免N个访问请求同时访问数据中心,而仅允许数量较少的M个访问请求访问数据中心,减轻了数据中心的处理负担。
实施例四
图4示出了本发明实施例四的一种数据处理装置的结构框图,所述装置具体可以包括如下模块:
第一调度模块401,用于将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N。
M个访问请求提取模块402,用于当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N。
第二调度模块403,用于将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据。
目标数据保存模块404,用于将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
数据及节点对应关系建立模块405,用于建立所述目标数据和保存有所述目标数据的至少一个数据节点之间的对应关系。
目标数据缓存模块406,用于当检测到在预设的第一时间范围内请求访问所述目标数据的访问请求的数量大于预设的第一数量阈值,所述请求调度装置在本地缓存层存储所述目标数据,供多个访问请求在所述请求调度装置访问所述目标数据。
目标数据删除模块407,用于当检测到在预设的第二时间范围内请求访问所述本地缓存层的目标数据的访问请求的数量小于预设的第二数量阈值,从所述本地缓存层中删除所述目标数据。
可选地,所述目标数据与第一数据节点具有预设的对应关系,所述第一调度模块包括:
请求发送子模块,用于将所述N个访问请求发送至与所述目标数据对应的第一数据节点;
节点轮询子模块,用于当所述第一数据节点为异常节点,针对所述目标数据轮询其他数据节点;
第二数据节点确定子模块,用于当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点;
调度失败判定子模块,用于当没有数据节点响应轮询时,判定所述N个访问请求调度至所述数据节点失败。
可选地,所述第一调度模块401可以还包括:
数据及节点对应关系建立子模块,用于建立所述目标数据和响应轮询的第二数据节点之间的对应关系。
根据本发明实施例,当存在有响应轮询的第二数据节点,表明第二数据节点存储有访问请求所要访问的目标数据,新建目标数据和数据节点的对应关系,使得后续接收到访问目标数据的访问请求时,可以根据更新的对应关系将其调度至对应的第二数据节点,避免将其调度至原有的、已经发生故障的数据节点,提升了数据调度的效率。
根据本发明实施例,当将目标数据保存在某个数据节点后,新建目标数据和保存目标数据的数据节点的对应关系,使得后续接收到访问目标数据的访问请求时,可以根据更新的对应关系将其调度至对应的数据节点,避免将其调度至原有的、已经发生故障的数据节点,提升了数据调度的效率。
根据本发明实施例,通过在请求调度装置本地缓存数据,使得访问请求可以在请求调度装置本地即可访问到目标数据,而无须调度至数据节点,减轻了数据节点的访问压力。
根据本发明实施例,通过检测一定时间范围内访问目标数据的访问量,当访问量小于预设阈值时,则从请求调度装置的本地缓存层删除目标数据,避免本地缓存层空间不足而无法缓存其他数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机***包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储***或任何其他非传输介质,可用于存储可以被计算***访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明实施例是参照根据本发明实施例的方法、终端***(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端***的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端***的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端***以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端***上,使得在计算机或其他可编程终端***上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端***上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端***中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N;
当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N;
将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据;
将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述目标数据与第一数据节点具有预设的对应关系,所述将访问同一个目标数据的N个访问请求调度至对应的数据节点的步骤包括:
将所述N个访问请求发送至与所述目标数据对应的第一数据节点;
当所述第一数据节点为异常节点,针对所述目标数据轮询其他数据节点;
当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点;
当没有数据节点响应轮询时,判定所述N个访问请求调度至所述数据节点失败。
3.根据权利要求2所述的方法,其特征在于,在所述当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点的步骤之后,所述方法还包括:
建立所述目标数据和响应轮询的第二数据节点之间的对应关系。
4.根据权利要求1所述的方法,其特征在于,在所述将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上的步骤之后,所述方法还包括:
建立所述目标数据和保存有所述目标数据的至少一个数据节点之间的对应关系。
5.根据权利要求1所述的方法,其特征在于,所述方法应用于请求调度装置,所述请求调度装置上设置有本地缓存层,在所述将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上的步骤之后,所述方法还包括:
当检测到在预设的第一时间范围内请求访问所述目标数据的访问请求的数量大于预设的第一数量阈值,所述请求调度装置在本地缓存层存储所述目标数据,供多个访问请求在所述请求调度装置访问所述目标数据。
6.根据权利要求5所述的方法,其特征在于,在所述请求调度装置在本地缓存层存储所述目标数据的步骤之后,所述方法还包括:
当检测到在预设的第二时间范围内请求访问所述本地缓存层的目标数据的访问请求的数量小于预设的第二数量阈值,从所述本地缓存层中删除所述目标数据。
7.一种数据处理装置,其特征在于,所述装置包括:
第一调度模块,用于将访问同一个目标数据的N个访问请求调度至对应的数据节点,以供所述N个访问请求在所述数据节点访问所述目标数据;其中,1<N;
M个访问请求提取模块,用于当所述N个访问请求调度至所述数据节点失败时,从所述N个访问请求中提取M个访问请求;其中,1≤M<N;
第二调度模块,用于将提取的所述M个访问请求调度至数据中心;所述数据中心保存有所述目标数据;
目标数据保存模块,用于将所述M个访问请求在所述数据中心访问的目标数据保存在至少一个数据节点上,以供其他访问请求在所述至少一个数据节点上访问所述目标数据。
8.根据权利要求7所述的装置,其特征在于,所述目标数据与第一数据节点具有预设的对应关系,所述第一调度模块包括:
请求发送子模块,用于将所述N个访问请求发送至与所述目标数据对应的第一数据节点;
节点轮询子模块,用于当所述第一数据节点为异常节点,针对所述目标数据轮询其他数据节点;
第二数据节点确定子模块,用于当存在响应轮询的第二数据节点时,将所述N个访问请求发送至所述第二数据节点;
调度失败判定子模块,用于当没有数据节点响应轮询时,判定所述N个访问请求调度至所述数据节点失败。
9.根据权利要求8所述的装置,其特征在于,所述第一调度模块还包括:
数据及节点对应关系建立子模块,用于建立所述目标数据和响应轮询的第二数据节点之间的对应关系。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
数据及节点对应关系建立模块,用于建立所述目标数据和保存有所述目标数据的至少一个数据节点之间的对应关系。
11.根据权利要求7所述的装置,其特征在于,所述装置上设置有本地缓存层,所述装置还包括:
目标数据缓存模块,用于当检测到在预设的第一时间范围内请求访问所述目标数据的访问请求的数量大于预设的第一数量阈值,所述请求调度装置在本地缓存层存储所述目标数据,供多个访问请求在所述请求调度装置访问所述目标数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
目标数据删除模块,用于当检测到在预设的第二时间范围内请求访问所述本地缓存层的目标数据的访问请求的数量小于预设的第二数量阈值,从所述本地缓存层中删除所述目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710992742.0A CN107872517B (zh) | 2017-10-23 | 2017-10-23 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710992742.0A CN107872517B (zh) | 2017-10-23 | 2017-10-23 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107872517A true CN107872517A (zh) | 2018-04-03 |
CN107872517B CN107872517B (zh) | 2020-11-27 |
Family
ID=61753102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710992742.0A Active CN107872517B (zh) | 2017-10-23 | 2017-10-23 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107872517B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494876A (zh) * | 2018-04-12 | 2018-09-04 | 北京达佳互联信息技术有限公司 | 实现服务灰度发布的方法、装置、插件设备和代理服务器 |
CN108776791A (zh) * | 2018-06-07 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 客户身份识别校验方法、装置、计算机设备和存储介质 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN109510867A (zh) * | 2018-10-31 | 2019-03-22 | 恒生电子股份有限公司 | 数据请求处理的方法、装置、存储介质及电子设备 |
CN111506254A (zh) * | 2019-01-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 分布式存储***及其管理方法、装置 |
CN116545784A (zh) * | 2023-07-07 | 2023-08-04 | 国网四川省电力公司信息通信公司 | 多用户场景的数据中心运行控制方法和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000028487A2 (en) * | 1998-11-12 | 2000-05-18 | E*Trade Securities, Inc. | Distributed, high performance architecture for online investment services |
US20100094973A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Random server selection for retrieving fragments under changing network conditions |
CN101986272A (zh) * | 2010-11-05 | 2011-03-16 | 北京大学 | 一种云计算环境下的任务调度方法 |
US20130067108A1 (en) * | 2011-09-14 | 2013-03-14 | Mobitv, Inc. | Fragment server directed device fragment caching |
CN103095788A (zh) * | 2011-11-02 | 2013-05-08 | 佳都新太科技股份有限公司 | 一种基于网络拓扑的云资源调度策略 |
CN104683374A (zh) * | 2013-11-28 | 2015-06-03 | 北京华云网际科技有限公司 | 一种分布式存储的缓存更新方法及分布式存储*** |
-
2017
- 2017-10-23 CN CN201710992742.0A patent/CN107872517B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000028487A2 (en) * | 1998-11-12 | 2000-05-18 | E*Trade Securities, Inc. | Distributed, high performance architecture for online investment services |
US20100094973A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Random server selection for retrieving fragments under changing network conditions |
CN101986272A (zh) * | 2010-11-05 | 2011-03-16 | 北京大学 | 一种云计算环境下的任务调度方法 |
US20130067108A1 (en) * | 2011-09-14 | 2013-03-14 | Mobitv, Inc. | Fragment server directed device fragment caching |
CN103095788A (zh) * | 2011-11-02 | 2013-05-08 | 佳都新太科技股份有限公司 | 一种基于网络拓扑的云资源调度策略 |
CN104683374A (zh) * | 2013-11-28 | 2015-06-03 | 北京华云网际科技有限公司 | 一种分布式存储的缓存更新方法及分布式存储*** |
Non-Patent Citations (1)
Title |
---|
秦秀磊、张文博、魏峻、王伟、钟华、黄涛: "云计算环境下分布式缓存技术的现状与挑战", 《软件学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494876A (zh) * | 2018-04-12 | 2018-09-04 | 北京达佳互联信息技术有限公司 | 实现服务灰度发布的方法、装置、插件设备和代理服务器 |
CN108776791A (zh) * | 2018-06-07 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 客户身份识别校验方法、装置、计算机设备和存储介质 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN109375872B (zh) * | 2018-09-27 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN109510867A (zh) * | 2018-10-31 | 2019-03-22 | 恒生电子股份有限公司 | 数据请求处理的方法、装置、存储介质及电子设备 |
CN109510867B (zh) * | 2018-10-31 | 2021-11-12 | 恒生电子股份有限公司 | 数据请求处理的方法、装置、存储介质及电子设备 |
CN111506254A (zh) * | 2019-01-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 分布式存储***及其管理方法、装置 |
CN111506254B (zh) * | 2019-01-31 | 2023-04-14 | 阿里巴巴集团控股有限公司 | 分布式存储***及其管理方法、装置 |
CN116545784A (zh) * | 2023-07-07 | 2023-08-04 | 国网四川省电力公司信息通信公司 | 多用户场景的数据中心运行控制方法和*** |
CN116545784B (zh) * | 2023-07-07 | 2023-09-08 | 国网四川省电力公司信息通信公司 | 多用户场景的数据中心运行控制方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN107872517B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872517A (zh) | 一种数据处理方法及装置 | |
TWI685226B (zh) | 分散式環境下的服務定址方法及裝置 | |
US8190593B1 (en) | Dynamic request throttling | |
CN100527090C (zh) | 用于动态分配计算机资源的方法 | |
US9495411B2 (en) | Increased parallelism performance of batch requests | |
WO2017167025A1 (zh) | 一种实现任务调度的方法、装置及计算机存储介质 | |
CN106161076B (zh) | 虚拟网络功能扩展方法和装置 | |
CN108268321A (zh) | 用于迁移工作负载的方法和机架*** | |
US10346367B1 (en) | Load shedding techniques for distributed services with persistent client connections to ensure quality of service | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其*** | |
CN103019853A (zh) | 一种作业任务的调度方法和装置 | |
CN106130960B (zh) | 盗号行为的判断***、负载调度方法和装置 | |
CN102577241A (zh) | 分布式缓存资源调度的方法、装置及*** | |
US9736235B2 (en) | Computer system, computer, and load balancing method | |
CN108900626A (zh) | 一种云环境下数据存储方法、装置及*** | |
CN109981702A (zh) | 一种文件存储方法及*** | |
CN110209693A (zh) | 高并发数据查询方法、装置、***、设备及可读存储介质 | |
US7085815B2 (en) | Scalable memory management of token state for distributed lock managers | |
Lin et al. | A load-balancing algorithm for hadoop distributed file system | |
US20220300323A1 (en) | Job Scheduling Method and Job Scheduling Apparatus | |
CN109815204A (zh) | 一种基于拥塞感知的元数据请求分发方法及设备 | |
CN109165096A (zh) | web集群的缓存利用***及方法 | |
CN109982034A (zh) | 视频监控***中的访问请求处理方法及装置 | |
CN104102557B (zh) | 一种基于聚类的云计算平台数据备份方法 | |
Jaiswal et al. | An approach towards the dynamic load management techniques in cloud computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |