[发明专利]一种采用完全端口技术实现50万用户在线通讯的方法无效
| 申请号: | 201110456529.0 | 申请日: | 2011-12-31 |
| 公开(公告)号: | CN102571578A | 公开(公告)日: | 2012-07-11 |
| 发明(设计)人: | 于忠清;栾少春;袁斌;王恒刚;刘伟国;王艳青;许刚 | 申请(专利权)人: | 青岛海尔软件有限公司 |
| 主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
| 代理公司: | 青岛高晓专利事务所 37104 | 代理人: | 张世功 |
| 地址: | 266071 山东省*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 采用 完全 端口 技术 实现 50 用户 在线 通讯 方法 | ||
技术领域:
本发明属于电子通讯计算机控制技术领域,涉及一种Windows2003Server系统中的多用户同时在线通讯的实现方法,特别是一种采用完全端口(IOCP)技术实现50万用户在线通讯的方法,适用于企业内部网络与广义互联网之间建立服务连接。
背景技术:
目前的IT业界,用来作为企业内部网络与广义互联网之间通信的方案中,从连接方式上区分为长链接和短链接。长链接是指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持;短链接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。目前,门户网站和QQ聊天可支持上亿用户同时访问,本质上就是他们采用了短链接技术,其用户在与系统交互的时候,建立链接,交互完毕以后,就断开链接。这样系统资源得到极大的重复利用;而真正实现长链接上万用户同时在线的成熟大型应用当属WOW(魔兽世界)。其最高在线人数达到过100万。他有近300台最高性能服务器建立的集群作支撑。也即是说长链接在保证多用户并发的前提是增加硬件成本。
发明内容:
本发明的目的在于克服现有技术存在的缺点,在对比ActiveMQ、Http、IOCP和穿透技术多项方案的基础上,以IOCP为技术实现的重点,采用IOCP技术在同等级硬件服务器基础上增加用户访问量的解决方案,有效实现50万用户同时在线通讯的技术方法。
为了实现上述目的,本发明的实现包括下列步骤:
(1)、先采用IOCP技术建立Socket服务端即中间件的通讯服务端;
(2)、设定Socket服务端支持的最大同时在线套接字客户端(Socket Client)数量为MaxConnectionNumber,该值可以是10、100、1000或10000;
(3)、再为每个套接字客户端(Socket Client)分配读写内存空间,该空间值为ClientMemorySize,单位为byte,具体值为1024;
(4)、然后建立套接字客户端(Socket Client)模拟程序,链接IOCP服务器,进行通讯,通讯一次的步骤为:
a.Socket Client链接IOCP服务器;
b.Socket Client发送数据包,该数据包小于ClientMemorySize;
c.Socket Client接收数据包;
d.Socket Client关闭与IOCP服务器的链接;
(5)、将Socket Client模拟程序同时开启多个,能够同时模拟多个Socket Client与IOCPServer进行通讯;
(6)、每一个Socket Client成功的通讯一次(由Socket Client断开链接)为一个用户在线,同时开启的Socket Client数量为ClientNumber;
(7)、最后在统计50万成功通讯结束时,其总体耗时间TotalTime为8-12分钟。
本发明与现有技术相比,采用一个终端通信视为一个客户端访问,在只有一台服务器的前提下,采用IOCP技术可承载不低于5万用户的并发访问,具有先进的技术优势:一是IOCP具备可指定的并行处理最大值为10000;二是处理性能良好,验证时间一小时内不间断进行通信收发,IOCPServer运行稳定;三是IOCPServer处理终端通信速度快,按照指定的MaxConnectionNumber进行估算,IOCPServer的吞吐量约为800个/秒;四是实际验证总时长为10.41分,在总时长内完成50万SocketClient的通信访问;其总体工艺过程简单,技术原理可靠,处理信息量大,处理速度快,性能好,节省访问时间,提高网络的有效利用效率。
附图说明:
图1为本发明的工艺步骤流程结构原理示意框图。
具体实施方式:
实施例:
本实施例的实现方法包括下列步骤:
1、采用IOCP技术,建立Socket服务端即中间件的通讯服务端;
2、Socket服务端支持的最大同时在线Socket Client数量为MaxConnectionNumber,该值可以是10、100、1000或10000;
3、为每个Socket Client分配读写内存空间,该空间值为ClientMemorySize(单位:byte)假定该值为1024;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海尔软件有限公司,未经青岛海尔软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110456529.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:即时商品真伪辨识系统及方法
- 下一篇:超亮光谱灯





