[发明专利]一种基于netty的大规模并发数据转发方法有效
申请号: | 201610993370.9 | 申请日: | 2016-11-11 |
公开(公告)号: | CN106790347B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 张驰;王英利;段平;钞振华;李冠男;周侗;李佳 | 申请(专利权)人: | 南通大学;云南师范大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 226000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 netty 大规模 并发 数据 转发 方法 | ||
1.一种基于netty的大规模并发数据转发方法,其特征在于:
步骤一:初始化类型为NioEventLoopGroup的线程组clientLoopGroup,启动类型为Bootstrap的数据转发器进程引导器并进行相关设置;
步骤二:构建一个用于I/O事件处理的内隐类,并将其挂接到数据转发器进程的主通道内;
步骤三:利用步骤一中启动的数据转发器进程引导器,向接收转发数据的远程主机进行N次预连接,并将生成的N个连接通道保存在类型为ArrayBlockingQueue的通道队列queue中,同时初始化一个类型为HashMap的哈希表hash来存储已被使用的通道;
步骤四:初始化类型为NioEventLoopGroup的主线程组与从线程组bossLoopGroup和workLoopGroup;
步骤五:启动类型为ServerBootstrap的数据接收器进程引导器,并进行相关设置;
步骤六:构造主拦截器,用于接收数据进行处理,并利用步骤三中所创建的通道,将数据转发给数据接收主机;
步骤七:构建一个用于I/O事件处理的内隐类,并将其挂接到数据接收器进程的主通道内;
步骤八:利用步骤五中所构建的数据接收器引导器来绑定数据接收器进程端口,监听TCP端口发送过来的数据。
2.按照权利要求1所述的一种基于netty的大规模并发数据转发方法,其特征在于:所述步骤一中相关设置具体包括:
a) 将线程组clientLoopGroup与数据转发器进程引导器进行关联;
b) 设置clientLoopGroup的通道类型为NioSocketChannel;
c) 设置参数SO_KEEPALIVE, TCP_NODELAY的值为true。
3.按照权利要求1所述的一种基于netty的大规模并发数据转发方法,其特征在于:所述步骤二中内隐类的构造方法具体为:继承类型为ChannelInitializerSocketChannel的类,并重载其方法 initChannel;
在该方法中对所在通道添加类型为ChannelInboundHandlerAdapter的拦截器。
4.按照权利要求1所述的一种基于netty的大规模并发数据转发方法,其特征在于:所述步骤三中通道队列queue所存储的对象为通道对象, 哈希表hash所存储的对象为一组Key,Value键值对,其中Key对应使用该通道的主机标示信息,Value对应被使用的通道对象。
5.按照权利要求1所述的一种基于netty的大规模并发数据转发方法,其特征在于:所述步骤三中N设置为100000。
6.按照权利要求1所述的一种基于netty的大规模并发数据转发方法,其特征在于:所述步骤五中相关设置具体包括:
a) 将主、从线程组bossLoopGroup和workLoopGroup与数据接收器进程引导器进行关联;
b) 设置主、从线程组的通道类型为NioServerSocketChannel。
7.按照权利要求1所述的一种基于netty的大规模并发数据转发方法,其特征在于:所述步骤六中的主拦截器构造方法具体为:创建一个派生自ChannelInboundHandlerAdapter的新类,并重载channelRead方法来实现数据读取之后的转发操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学;云南师范大学,未经南通大学;云南师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610993370.9/1.html,转载请声明来源钻瓜专利网。