[发明专利]一种分布式容错系统、设备和方法有效
申请号: | 200910224791.5 | 申请日: | 2009-11-17 |
公开(公告)号: | CN102064954A | 公开(公告)日: | 2011-05-18 |
发明(设计)人: | 阮曙东;张凯;陈生;范世青;陈德贤;朱涛;张维全 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 谢安昆;宋志强 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 容错 系统 设备 方法 | ||
1.一种分布式容错系统,其特征在于,所述系统包括:客户端和服务端;其中,
所述服务端包含一个以上服务节点,每一服务节点用于发布服务,并在发布服务时携带与该服务有关的信息,所述信息包括所述服务节点的信息和所述服务节点的灰度状态;
所述客户端,用于针对每一需要灰度路由的接口,将该接口运行的对应用户的用户参数值传递给自身管理的服务代理,由该服务代理根据传递的用户参数值确定用户的灰度状态;并根据服务节点发布服务时所携带的信息,将所述用户发送的消息路由到与所述用户具有相同灰度状态的服务节点上。
2.根据权利要求1所述的系统,其特征在于,所述客户端通过直接指定IP地址和端口的形式指定与自身相连的服务节点,并获取该服务节点发布服务时所携带的信息;或者,
所述客户端通过由注册器Registry间接获取与自身相连的服务节点;并按照预设的刷新原则从所述注册器上刷新服务列表,所述服务列表中包含了服务节点发布服务时所携带的信息;所述刷新原则为:如果客户端本地服务列表为空且距离上次更新时间大于预设时间,则同步刷新服务列表;如果距离上次刷新时间大于配置的刷新时间,则异步刷新服务列表。
3.根据权利要求1或2所述的系统,其特征在于,所述客户端包括:通信器和服务代理处理模块;所述服务代理处理模块提供了服务代理;
所述通信器为该系统的应用层接口,对每一需要灰度路由的接口,将该接口运行的对应一用户的用户参数值通过调用预先设置的Invoke接口传递给与所述预先设置的Invoke接口具有映射关系的服务代理;
所述服务代理处理模块提供的服务代理还提供了用于注册路由的路由接口,所述路由接口接收传递的用户参数值,并判断所述用户参数值是否满足预设的灰度状态条件,如果满足,则确定所述用户的灰度状态为灰度,如果不满足,则确定所述用户的灰度状态为普通。
4.根据权利要求3所述的系统,其特征在于,所述客户端还包括:客户端业务线程处理模块;
所述客户端业务线程处理模块连接在通信器和服务代理处理模块之间,提供了业务线程,在接收到用户发送的消息时,由自身提供的业务线程将所述消息提供给所述服务代理处理模块;
所述服务代理处理模块根据确定的用户的灰度状态和服务节点发布服务时所携带的信息,并通过自身提供的所述服务代理调用与所述用户具有相同灰度状态的服务节点的接口处理该用户发送的消息。
5.根据权利要求2所述的系统,其特征在于,所述服务节点包括:网络线程处理模块和服务端业务线程处理模块;
所述网络线程处理模块在通过所述服务端支持的端口接收到消息时,判断所述端口对应的Adapter的当前访问量是否已到达预设的阈值,如果是,丢弃所述消息;否则,将所述消息放入Adapter对象对应的消息接收队列中;
所述服务端业务线程处理模块提供业务线程,从其提供的业务线程所属的Adapter对应的消息接收队列中读取消息,对所述消息执行逻辑处理,并在完成处理后,返回相应的消息,将该返回消息放入网络发送队列中;
所述网络线程处理模块在预设时间到达时,从所述网络发送队列中取出并发送该返回消息。
6.根据权利要求5所述的系统,其特征在于,所述消息中携带了该消息的超时时间;
所述网络线程处理模块将所述消息放入Adapter对象对应的消息接收队列中时,记录该消息的入队时间;
所述服务端业务线程处理模块读取消息时,计算该消息在队列中的时间,如果计算的时间超过该消息携带的超时时间,则不对该消息执行逻辑处理;否则,对所述消息执行逻辑处理。
7.一种客户端,其特征在于,所述客户端包括:通信器和服务代理处理模块;所述服务代理处理模块提供了服务代理;
所述通信器为该系统的应用层接口,对每一需要灰度路由的接口,将该接口运行的对应用户的用户参数值传递给由所述服务代理处理模块提供的服务代理;
所述服务代理处理模块提供的所述服务代理接收传递的用户参数值,根据传递的用户参数值确定用户的灰度状态;并根据服务节点发布服务时所携带的与该服务有关的信息,所述信息包括所述服务节点的信息和所述服务节点的灰度状态,将所述用户发送的消息路由到与所述用户具有相同灰度状态的服务节点上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910224791.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种机车空转滑行状态的仿真方法
- 下一篇:RFID标签电路的模拟仿真方法