[发明专利]一种数据通信方法、装置及系统有效
申请号: | 201310104766.X | 申请日: | 2013-03-28 |
公开(公告)号: | CN104079398B | 公开(公告)日: | 2019-04-12 |
发明(设计)人: | 张春玮 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L5/00 | 分类号: | H04L5/00 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵囡囡 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据通信 方法 装置 系统 | ||
本发明适用于网络技术领域,提供了一种数据通信方法、装置及系统,包括:创建N个端口通道,将所述N个端口通道注册到选择器中,所述N为大于等于1的整数;通过所述选择器监听所述N个端口通道中的M个第一端口通道对应的端口事件,所述M个第一端口通道为分别与M个通信对端建立连接的端口通道,所述M为大于等于1且小于等于N的整数;根据监听到的端口事件执行数据收发操作;在所述数据收发操作完成之后,断开执行所述数据收发操作的第一端口通道与其对应的通信对端的连接。本发明基于JDK实现端口通道的多路复用,提供了一种高性能的数据通信网络框架,基于该网络框架,能够实现机器之间的多线程、高效率的数据通信。
技术领域
本发明属于网络技术领域,尤其涉及一种数据通信方法、装置及系统。
背景技术
在计算机数据通信过程中,对于单线程的通信方式,在同一时刻只能有一个客户端成功创建连接,并且直到该客户端通信完成后其他客户端才能与服务器进行连接、通信,若当前正在连接的客户端的通信过程占用了很长时间,将导致其他客户端连接超时。
对于多线程的通信方式,由服务器首先创建多个线程,其中一个为主线程,负责服务器与客户端之间网络连接的建立,其他线程为从线程,负责跟已连接的每个客户端进行数据通信。在上述多线程通信过程中,如果在同一时刻有大量的客户端与服务器进行通信,将导致主线程负荷过大,严重影响了通信效率。
因此,综上所述,现行的单线程以及多线程的通信方式通信效率低下,影响了数据通信系统的性能。
发明内容
本发明实施例提供一种数据通信方法,解决现行的单线程以及多线程的通信方式通信效率低下,影响了数据通信系统的性能的问题。
本发明实施例是这样实现的,一种数据通信方法,包括:
创建N个端口通道,将所述端口通道注册到选择器中,所述N为大于等于1的整数;
通过所述选择器监听N个所述端口通道中的M个第一端口通道,所述第一端口通道为与通信对端建立了连接的所述端口通道,所述M为大于等于1且小于等于N的整数;
根据监听到的所述第一端口通道的端口事件执行该第一端口通道的数据收发操作;
在所述数据收发操作完成之后,断开该第一端口通道与其对应的通信对端的连接。
本发明实施例的另一目的在于提供一种数据通信装置,包括:
创建单元,用于创建N个端口通道,将所述端口通道注册到选择器中,所述N为大于等于1的整数;
监听单元,用于通过所述选择器监听N个所述端口通道中的M个第一端口通道,所述第一端口通道为与通信对端建立了连接的所述端口通道,所述M为大于等于1且小于等于N的整数;
执行单元,用于根据监听到的所述第一端口通道的端口事件执行该第一端口通道的数据收发操作;
连接断开单元,用于在所述数据收发操作完成之后,断开该第一端口通道与其对应的通信对端的连接
本发明实施例的另一目的在于提供一种数据通信系统,包括数据处理器和如上所述的数据通信装置;
所述数据处理器用于处理所述数据通信装置产生的回调。
本发明实施例基于JDK实现端口通道的多路复用方案,提供了一种高性能的数据通信网络框架,基于该网络框架,能够实现机器之间的多线程、高效率的数据通信。
附图说明
图1是本发明实施例提供的数据通信方法的实现流程图;
图2是本发明实施例提供的数据通信方法步骤S204的具体实现流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310104766.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种通信线路资源管理系统
- 下一篇:晶体振荡器以及振荡装置