[发明专利]一种通信优化方法及系统有效
申请号: | 201710797002.1 | 申请日: | 2017-09-06 |
公开(公告)号: | CN107526645B | 公开(公告)日: | 2019-01-29 |
发明(设计)人: | 黄浩;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李官 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 后台线程 异步I/O 客户端进程 通信优化 绑定 句柄 线程 处理效率 端口获取 请求事件 传统的 客户 调用 阻塞 创建 服务器 管理 | ||
本发明提供一种通信优化方法及系统,所述的方法包括:S1,为每一个客户端进程创建对应的命名管道;S2,将所有的命名管道句柄绑定到服务器的完成端口上,其中,完成端口运行于后台线程中;S3,通过完成端口获取每一个命名管道上的异步I/O操作,并根据每一个异步I/O操作的类型,调用相应的函数方法进行处理。本发明通过创建一个完成端口,将与客户端进程对应的所有命名管道句柄都绑定到完成端口上,利用完成端口来管理所有客户端的异步I/O操作,而完成端口只需要在一个后台线程中运行即可,因此,实现了通过一个后台线程就可以处理多个客户端的请求事件,相比传统的需要多个线程,避免了线程阻塞的问题,以及提高了CPU的处理效率。
技术领域
本发明涉及通信技术领域,更具体地,涉及一种通信优化方法及系统。
背景技术
在大型开发过程中,为了提高程序的运算效率与稳定性,充分利用计算机CPU的性能,通常会创建多个进程来实现核心的服务功能,由于每个进程都是一个独立的实例,所以会涉及到多进程之间通信的问题。
传统方案是采用多线程技术方案,采用多个线程对多个进程进行管理,即针对每一个客户端进程,就需要一个对应的线程对该客户端进程进行管理,这样在后台的线程会有很多个,会增加程序资源大量的消耗。另外,由于线程太多,CPU需要花费更多的时间来调度和切换这些线程,造成CPU处理效率低下,频繁的线程阻塞和唤醒阻塞对CPU造成的负荷加重,会严重影响程序的运行性能问题。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的通信优化方法及系统。
根据本发明的第一个方面,提供了一种通信优化方法,包括:
S1,为每一个客户端进程创建对应的命名管道,其中,每一个客户端进程通过调用对应命名管道的接口函数与服务器完成异步I/O操作;
S2,将所有的命名管道句柄绑定到服务器的完成端口上,其中,所述完成端口运行于服务器的后台线程中;
S3,通过完成端口获取每一个命名管道上的异步I/O操作,并根据每一个异步I/O操作的类型,调用相应的函数方法进行相应的处理。
本发明的有益效果为:通过在服务器创建一个完成端口,将与客户端进程对应的所有命名管道句柄都绑定到完成端口上,利用完成端口来管理所有客户端的异步I/O操作,而完成端口只需要在一个后台线程中运行即可,因此,实现了通过一个后台线程就可以处理多个客户端的请求事件,相比传统的需要多个线程,避免了线程阻塞的问题,以及提高了CPU的处理效率。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,所述步骤S1中为每一个客户端进程创建对应的命名管道进一步包括:
调用CreatNamePipe接口函数为每一个客户端进程创建对应的命名管道,并保存该接口函数返回的每一个命名管道句柄。
进一步的,所述步骤S1之前还包括:
在服务器定义异步调用overlapped结构体,该结构体用于实现I/O接口的异步调用;
相应地,所述步骤S1还包括:
通过向命名管道上的接口函数传递overlapped结构体参数,实现该接口函数的异步调用。
进一步的,所述步骤S2还包括:
基于接口函数,在服务器上创建完成端口,并保存该接口函数返回的完成端口句柄;
基于该接口函数,将所有命名管道句柄绑定到完成端口上,以便于通过完成端口管理所有的命名管道。
进一步的,所述步骤S3中通过完成端口获取每一个命名管道上的异步I/O操作进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710797002.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种楔形升降调节装置
- 下一篇:一种具有防火风闸功能的水密阀的实现方法及系统