一种数据处理方法和路由层设备以及系统技术方案

技术编号:14238758 阅读:69 留言:0更新日期:2016-12-21 14:06
本发明专利技术公开了一种数据处理方法和路由层设备以及系统,用于提高数据存储资源的利用效率。本发明专利技术实施例提供一种基于数据处理方法,包括:路由层设备接收客户端发送的数据操作请求,所述数据操作请求包括:待处理数据对应的键key;所述路由层设备根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,所述数据节点集群中包括:至少两个数据节点,所述第一数据节点包括所述至少两个数据节点中的数据节点;所述路由层设备将所述数据操作请求转发给所述第一数据节点,由所述第一数据节点根据所述数据操作请求对所述待处理数据进行业务处理。

Data processing method, routing layer device and system

The invention discloses a data processing method, a routing layer device and a system thereof, which are used for improving the utilization efficiency of data storage resources. The embodiment of the invention provides a data processing method, which is based on the routing layer device receives the data sent by the client request, the data operation request includes data corresponding to the key to key treatment; the routing layer device corresponding to the selected key from the data nodes in the cluster according to the consistency of the hash algorithm first data node that includes the data nodes in the cluster: at least two data node, the first node data including the data node at least two data nodes in the routing layer; the data of equipment operation request is forwarded to the first node from the data, the first data node according to the data request the data to be processed for business process.

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种数据处理方法和路由层设备以及系统
技术介绍
在分布式数据缓存服务中,为具备容灾能力,现有技术中可以利用数据缓存主备双倍机器来保证,数据路由访问为类哈希方式。其表现缺陷为在正常情况下冗余备份造成机器浪费严重。举例说明,基于Keepalived的Redis分布式缓存集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。Redis集群方案中有一种实现方式是采用Keepalived技术保证集群具备容灾和高可用能力。Keepalived是一个用C语言编写的路由选择软件,配合互联网协议虚拟服务器(Internet Protocol Virtual Server,IPVS)负载均衡使用,通过虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)协议提供高可用性能,从而实现一主多备,主挂后备自动选举,漂移虚拟IP,切换速度秒级等功能,切换时可通过运行指定脚本更改业务服务状态。在目前基于主备存储来保证高可靠,具备容灾能力的集群方案中,至少存在如下技术缺陷:前端访问数据对应路由有固定的静态绑定关系,并且冗余备份造成机器浪费严重,在正常情况下备机处于“无用”状态,整体资源成倍浪费。
技术实现思路
本专利技术实施例提供了一种数据处理方法和路由层设备以及系统,用于提高数据存储资源的利用效率。为解决上述技术问题,本专利技术实施例提供以下技术方案:第一方面,本专利技术实施例提供一种基于数据处理方法,包括:路由层设备接收客户端发送的数据操作请求,所述数据操作请求包括:待处理数据对应的键key;所述路由层设备根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,所述数据节点集群中包括:至少两个数据节点,所述第一数据节点包括所述至少两个数据节点中的数据节点;所述路由层设备将所述数据操作请求转发给所述第一数据节点,由所述第一数据节点根据所述数据操作请求对所述待处理数据进行业务处理。第二方面,本专利技术实施例还提供一种路由层设备,包括:接收模块,用于接收客户端发送的数据操作请求,所述数据操作请求包括:待处理数据对应的键key;数据节点选择模块,用于根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,所述数据节点集群中包括:至少两个数据节点,所述第一数据节点包括所述至少两个数据节点中的数据节点;调度模块,用于将所述数据操作请求转发给所述第一数据节点,由所述第一数据节点根据所述数据操作请求对所述待处理数据进行业务处理。第三方面,本专利技术实施例还提供一种分布式缓存系统,包括:客户端、如前述第二方面中所述的路由层设备和数据节点集群,其中,所述客户端,用于向所述路由层设备发送数据操作请求,所述数据操作请求包括:待处理数据对应的键key;所述数据节点集群,包括:至少两个数据节点,所述第一数据节点为所述路由层设备选取出的数据节点;所述第一数据节点,用于根据所述数据操作请求对所述待处理数据进行业务处理。从以上技术方案可以看出,本专利技术实施例具有以下优点:在本专利技术实施例中,首先路由层设备接收客户端发送的数据操作请求,数据操作请求包括:待处理数据对应的键,然后路由层设备根据一致性哈希算法从数据节点集群中选取键对应的第一数据节点,数据节点集群中包括:至少两个数据节点,第一数据节点包括至少两个数据节点中的数据节点,最后路由层设备将数据操作请求转发给第一数据节点,由第一数据节点根据数据操作请求对待处理数据进行业务处理。由于路由层设备能够屏蔽数据节点的选择和调度,为数据调用方提供了类似无差别接入的访问接口,因此可以极大的简化数据访问逻辑。另外,本专利技术实施例中数据节点集群中包括的所有数据节点由路由层设备根据一致性哈希算法来选取其中的一个数据节点进行业务处理,因此单个数据节点之间的业务处理量是均衡的,不需要使用某些数据节点作为冗余备份,因此不会浪费存储资源,提高数据存储资源的利用效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据处理方法的流程方框示意图;图2为本专利技术实施例提供的分布式缓存系统的架构部署示意图;图3为本专利技术实施例提供的路由层设备的业务流程示意图;图4为本专利技术实施例提供的路由层设备执行状态检查的应用场景示意图;图5-a为本专利技术实施例提供的一种路由层设备的组成结构示意图;图5-b为本专利技术实施例提供的另一种路由层设备的组成结构示意图;图5-c为本专利技术实施例提供的一种数据节点选择模块的组成结构示意图;图5-d为本专利技术实施例提供的另一种路由层设备的组成结构示意图;图6为本专利技术实施例提供的数据处理方法应用于服务器的组成结构示意图;图7为本专利技术实施例提供的一种分布式缓存系统的组成结构示意图。具体实施方式本专利技术实施例提供了一种数据处理方法和路由层设备以及系统,用于提高数据存储资源的利用效率。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。以下分别进行详细说明。本专利技术数据处理方法的一个实施例,具体可以应用于对数据的分布式缓存应用场景中,不需要同时设置主备双倍的数据缓存,提高对数据存储资源的利用率,请参阅图1所示,本专利技术一个实施例提供的数据处理方法,可以包括如下步骤:101、路由层设备接收客户端发送的数据操作请求,数据操作请求包括:待处理数据对应的键(英文名称:key)。在本专利技术实施例中,分布式缓存系统中包括有客户端、路由层设备和数据节点集群。其中,客户端是和前端用户对接的,用于实时接收用户发送的访问请求,客户端和路由层设备之间建立有通信连接,客户端接收到前端发送的数据操作请求之后,将该数据操作请求转发给路由层设备。路由层设备首先接收到客户端发送的数据操作请求,路由层设备解析接收到的数据操作请求可以从中提取到在该请求中携带的key,该key对应于前端需要进行操作的待处理数据,例如前端需要对待处理数据进行查询和更新。本专利技术实施例中数据节点集群采用键值对(key-value)的方式缓存有业务数据,前端需要获取数据时先发送所请求的key,由路由层设备通过数据操作请求获取到该key。需要说明的是,在本专利技术的一些实施例中,路由层设备中包括至少一个路由节点,具体可以由该路由节点接收客户端发送的数据操作请求,在实际应用中,客户端从前端用户接收到数据操作请求之后,该客户端可以采用随机的方式从路由层设备中选取一个路由节点,并将该数据操作请求发送给路由节点,本专利技术实施例中路本文档来自技高网...
一种数据处理方法和路由层设备以及系统

【技术保护点】
一种数据处理方法,其特征在于,包括:路由层设备接收客户端发送的数据操作请求,所述数据操作请求包括:待处理数据对应的键key;所述路由层设备根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,所述数据节点集群中包括:至少两个数据节点,所述第一数据节点包括所述至少两个数据节点中的数据节点;所述路由层设备将所述数据操作请求转发给所述第一数据节点,由所述第一数据节点根据所述数据操作请求对所述待处理数据进行业务处理。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:路由层设备接收客户端发送的数据操作请求,所述数据操作请求包括:待处理数据对应的键key;所述路由层设备根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,所述数据节点集群中包括:至少两个数据节点,所述第一数据节点包括所述至少两个数据节点中的数据节点;所述路由层设备将所述数据操作请求转发给所述第一数据节点,由所述第一数据节点根据所述数据操作请求对所述待处理数据进行业务处理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述路由层设备周期性的发送心跳检测包到所述数据节点集群中的所有数据节点;所述路由层设备判断在预置的时间阈值内是否接收到所述数据节点集群中的数据节点发送的心跳响应包;所述路由层设备将没有向所述路由层设备发送心跳响应包的数据节点的节点状态设置为不可用服务。3.根据权利要求2所述的方法,其特征在于,所述路由层设备将没有向所述路由层设备发送心跳响应包的数据节点的节点状态设置为不可用服务之后,所述方法还包括:所述路由层设备向节点状态为不可用服务的第二数据节点继续发送心跳检测包;所述路由层设备在预置的时间阈值内接收到所述第二数据节点发送的心跳响应包时,恢复所述第二数据节点的节点状态为可用状态。4.根据权利要求1所述的方法,其特征在于,所述路由层设备根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,包括:所述路由层设备读取所述数据节点集群中每个数据节点的节点状态,所述节点状态包括:不可用服务,或者可用服务;所述路由层设备从节点状态为可用服务的所有数据节点中根据一致性哈希算法选取所述键对应的第一数据节点。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述路由层设备根据一致性哈希算法从数据节点集群中选取所述键对应的第一数据节点,包括:所述路由层设备加载初始的至少两个数据节点构成一致性哈希节点环;所述路由层设备根据一致性哈希算法计算所述键对应所述一致性哈希节点环上的位置,从该位置出发沿着所述一致性哈希节点环查找,直到遇见的数据节点即为所述键对应的第一数据节点。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述数据节点集群中新增加数据节点时,所述路由层设备将新的数据节点加入到所述一致性哈希节点环中;当所述数据节点集群中存在服务状态为不可服务的数据节点时,所述路由层设备将所述服务状态为不可服务的数据节点从所述一致性哈希节点环中剔除。7.一种路由层设备,其特征在于,包括:接收模块,用于接收客户端发送的数据操作请求,所述数据操作请求包括:待处理数据对应的键key;数据节...

【专利技术属性】
技术研发人员:樊安之陈鼎钟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1