[发明专利]一种基于AIO的socket传输系统有效
申请号: | 201510527120.1 | 申请日: | 2015-08-26 |
公开(公告)号: | CN105187519B | 公开(公告)日: | 2019-01-08 |
发明(设计)人: | 林斌 | 申请(专利权)人: | 福建星网锐捷通讯股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 王美花 |
地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 aio socket 传输 系统 | ||
本发明提供一种基于AIO的socket传输系统,所述系统包括数据传输模块、数据拦截器模块以及消息处理模块,所述数据传输模块接收客户端连接请求,在收到连接请求后,系统会新建一个Server ChannelInfo通道,将通道Server ChannelInfo中消息数据发送给数据拦截器模块;数据拦截器模块在消息数据到达消息处理模块中的消息处理器和离开消息处理器时进行消息的拦截和过滤;所述消息处理模块通过消息处理器处理消息,负责消息数据的分发,系统中线程池资源的准备。本发明充分利用了AIO的系统读写能力,可以在单台机器上,通过线程池管理数以万计的连接。实现了底层TCP协议和上层的完全解耦,使得API接口更简单,客户端无需提供任何东西进行操作。
技术领域
本发明涉及Java应用远程调用技术领域,尤其涉及一种基于AIO的socket传输系统。
背景技术
Java发布AIO(异步输入/输出)之后,因为AIO提供的强大性能,所以成为socket编程(套接字编程)的首选。但由于AIO的应用程序编程接口API相对复杂,并且在多线程编程情况下,需要考虑的应用场景比较复杂。现有的RPC(Remote Procedure CallProtocol——远程过程调用协议)调用基本都是在Tcp协议上进行,需要服务端提供socket监听。而大多数RPC框架仍然是基于原始的线程式socket服务器实现,难以在单机上提供数以万计的连接能力。所以推出一个基于AIO的socket传输系统,旨在为用户提供强大的底层通讯功能,而让用户只关注业务,无需面对任何socket编程。并且尽可能的做到轻量化,对外只暴露一个业务接口和一个拦截器接口,使用户不再需要关心底层数据传输。只需要专注在业务上即可。
发明内容
本发明要解决的技术问题,在于提供一种基于AIO的socket传输系统,本发明充分利用了AIO的系统读写能力,可以在单台机器上,通过线程池管理数以万计的连接。实现了底层TCP协议和上层的完全解耦,使得API接口更简单,客户端无需提供任何东西进行操作。
本发明是这样实现的:一种基于AIO的socket传输系统,所述系统包括数据传输模块、数据拦截器模块以及消息处理模块,所述数据传输模块接收客户端连接请求,在收到连接请求后,系统新建一个Server ChannelInfo通道,该通道对象持有了当前连接过来的socket通道,并且会获取在服务器启动的时候设置的参数,将参数设置到ServerChannelInfo通道之中,将通道Server ChannelInfo中消息数据发送给数据拦截器模块;所述数据拦截器模块在消息数据到达消息处理模块中的消息处理器和离开消息处理器时进行消息的拦截和过滤;所述消息处理模块通过消息处理器处理消息,负责消息数据的分发,系统中线程池资源的准备。
进一步地,所述数据传输模块包括socket连接响应器、通道读取响应器以及消息写出响应器;所述socket连接响应器负责接收客户端的socket连接请求,所述通道读取响应器负责从Server ChannelInfo通道中读取消息数据,所述消息写出响应器,负责将消息数据从通道发送。
进一步地,所述消息处理模块包括消息动作类单元、消息请求处理接口单元以及消息处理器;所述消息动作类单元用于给线程池提供消息动作类,并提供调用,负责消息的入口拦截、请求处理、出口拦截以及通道写出操作;所述消息请求处理接口单元,为用户提供消息请求处理接口,使得用户能完成感兴趣的消息的处理,所述消息处理器,负责消息的分发,线程池资源的准备以及消息的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网锐捷通讯股份有限公司,未经福建星网锐捷通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510527120.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于提供存在信息的方法及实体
- 下一篇:一种实现元数据集群的方法及元数据集群