[发明专利]服务端基于TCP的交互处理方法有效
申请号: | 201210013898.7 | 申请日: | 2012-01-17 |
公开(公告)号: | CN102546808A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 梁文 | 申请(专利权)人: | 深圳天源迪科信息技术股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/46 |
代理公司: | 深圳市德力知识产权代理事务所 44265 | 代理人: | 林才桂 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种服务端基于TCP的交互处理方法,其包括以下步骤:步骤1、初始化,加载配置信息;步骤2、创建长连接,形成连接池;步骤3、长连接均匀处理异步请求及同步请求,并往IO写数据包;步骤4、线程池起动线程,解释数据包;步骤5,线程通过ID找结果,找到结果则发送并结束请求,若结果为空则等待并再通过ID找结果,直到找到或超时,结束请求。本方法采用NIO和长连接两者的优点解决他们的不足,用少量的长连接解决大并发、交互频繁和伸缩性差问题,比采用传统实现的通讯技术,效率至少提高了10倍以上,且只用一个API和一些配置,支持同步和异步调用,并用线程池异步并发调用自己解释数据包功能实现不同的通讯协议。 | ||
搜索关键词: | 服务端 基于 tcp 交互 处理 方法 | ||
【主权项】:
一种服务端基于TCP的交互处理方法,其特征在于,包括以下步骤:步骤1、初始化,加载配置信息,所述配置信息一并加载到HashMap中;步骤2、创建长连接,形成连接池,所述创建长连接的方式为心跳方式,所述长连接的发送和接收采用异步方式,长连接接收或发送的数据通过四位字节长度的ID和高效的细粒度数据建立关联;步骤3、长连接均匀处理异步请求及同步请求,并往IO写数据包,如果所述长连接处理同步请求需要等待结果,则采用异步API的方式处理,发送并等待结果,如果所述长连接处理异步请求,则发送并结束;所述往IO写数据在开始和结束写一瞬间,用锁保证数据包完整写入IO中,且在每个数据包前面插入四位字节长度的ID;步骤4、IO把数据包交给线程池,线程池起动线程,解释数据包,所述IO接收到数据包后交给线程池,该线程池异步、并发处理每个数据包,所述线程解释数据包,返回一个数据,把ID除以10得到余数,通过余数找到所在的区,从这个区找到HashMap,把ID作为key,返回的数据对象作为值放到HashMap中;步骤5、线程通过ID找结果,若找到结果则发送并结束请求,若结果为空则等待,并再按通过ID找结果,直到找到或超时,结束请求,所述线程通过ID找结果过程采用细粒度的的数据块方式。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳天源迪科信息技术股份有限公司,未经深圳天源迪科信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210013898.7/,转载请声明来源钻瓜专利网。