[发明专利]一种基于分布式总线的消息处理方法、服务器和系统有效
申请号: | 201210499433.7 | 申请日: | 2012-11-29 |
公开(公告)号: | CN103856440A | 公开(公告)日: | 2014-06-11 |
发明(设计)人: | 林爱民;张迁 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 徐立 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 总线 消息 处理 方法 服务器 系统 | ||
1.一种基于分布式总线的消息处理方法,其特征在于,所述方法包括:
接收来自客户端的请求数据包,并将所述请求数据包存入输入消息队列中;
从所述输入消息队列的队首开始,选取与空闲的消息处理线程数量相等的所述请求数据包,并采用所述空闲的消息处理线程分别对选取的所述请求数据包进行处理,得到应答数据包;
将所述应答数据包发送给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述接收来自客户端的请求数据包,包括:
与所述客户端建立连接,并将建立连接后的所述客户端标记为连接状态;
与处于连接状态的所述客户端建立会话并将建立会话后的所述客户端标记为会话状态,以接收处于会话状态的所述客户端发送的请求数据包。
3.根据权利要求2所述的方法,其特征在于,所述与处于连接状态的所述客户端建立会话之前,所述方法还包括:
判断是否有会话处于空闲状态;
若有会话处于空闲状态,则与处于连接状态的所述客户端建立会话;否则,让所述客户端排队等待空闲的会话,并将排队等待的所述客户端标记为会话排队状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当处于会话状态的所述客户端异常断开时,将与异常断开的所述客户端对应的会话变为保护状态。
5.根据权利要求4所述的方法,其特征在于,在所述判断是否有会话处于空闲状态之前,所述方法还包括:
判断是否有与处于连接状态的所述客户端对应的处于保护状态的会话,若有,则直接与处于连接状态的客户端建立会话。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在收到处于连接状态的所述客户端的尝试会话请求时,若所述客户端已存在进行中的会话,则断开与所述进行中的会话对应的旧连接,并让所述会话与新连接关联。
7.根据权利要求1所述的方法,其特征在于,所述请求数据包为基于二进制通信协议的数据包。
8.根据权利要求7所述的方法,其特征在于,所述请求数据包的包头的格式为:
其中,len表示包长,checksum表示校验和,encrypt+compress表示加密和加压,uin表示客户端唯一标识符,cmd表示命令字,seqno表示请求数据包序列号,body表示包头主体,sockid表示连接状态标识,srcip表示源IP地址。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断是否能够提供所述请求数据包中请求的服务;
若不能提供所述请求数据包中请求的服务,则转发所述请求数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210499433.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:上传动式干碾机
- 下一篇:一种酸槽进酸防酸雾装置