[发明专利]基于IOCP机制结合池分片的网络数据通信系统和方法在审

专利信息
申请号: 201711365005.4 申请日: 2017-12-18
公开(公告)号: CN108319505A 公开(公告)日: 2018-07-24
发明(设计)人: 万守杰;乔熙;宋绘宏;陈翔鸣;杨槐晓 申请(专利权)人: 湖北鸿云科技股份有限公司
主分类号: G06F9/52 分类号: G06F9/52;G06F9/50;G06F9/54;H04L12/24
代理公司: 武汉开元知识产权代理有限公司 42104 代理人: 潘杰;李满
地址: 430000 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 网络事件 网络数据通信 调度模块 多线程 网络连接响应模块 请求调度模块 数据发送模块 客户端对象 预处理模块 监听模块 系统性能 响应模块 业务请求 资源抢占 单线程 多核 回调 内存 并发
【说明书】:

发明涉及一种基于IOCP机制结合池分片的网络数据通信系统,其特征在于:它包括网络事件监听模块、网络连接响应模块、网络事件预处理模块、客户端对象片池调度模块、内存片池调度模块、网络事件请求调度模块、网络事件响应模块、业务请求回调模块和数据发送模块,本发明能避免因资源抢占而造成多线程并发变成单线程执行的情况,从根本上提高了系统性能、有效利用多核、多线程所带来的优势。

技术领域

本发明涉及计算机技术领域,具体涉及一种基于IOCP(I/O Completion Port)机制结合池分片的网络数据通信系统和方法。

背景技术

在服务器编程中,为了尽可能的减小系统开销,提升性能,通常会将频繁使用的资源,建立成一个资源池,在模块初始化的时候,将所有资源从物理机内存中分配好,在使用的时候,从资源池中动态获取,使用完了再放入资源池中,从而避免了频繁分配/释放物理机内存的相关操作,减少系统开销。

然而,在实际运用过程中,针对相关资源池操作的线程,通常并不是一个,而是多个线程并发对该资源池进行操作,因此,就会发生资源抢占的情况,解决该问题的方法是,对该资源池进行加锁,限定同一时刻只允许一个线程对该资源池进行操作,以保证资源池数据的正确性及系统的稳定性。其弊端是,将会让其它线程处于资源竞争及阻塞状态,在加锁的这一瞬间,高性能的多线程并发就变成了低性能的单线程操作,从而限制了系统整体性能。

发明内容

本发明的目的在于提供一种基于IOCP机制结合池分片的网络数据通信系统和方法。该系统和方法能避免因资源抢占而造成多线程并发性能下降的情况,从根本上提高了系统性能、有效利用多核、多线程所带来的优势。

为实现上述目的,本发明所设计的基于IOCP机制结合池分片的网络数据通信系统,其特征在于:它包括网络事件监听模块、网络连接响应模块、网络事件预处理模块、客户端对象片池调度模块、内存片池调度模块、网络事件请求调度模块、网络事件响应模块、业务请求回调模块和数据发送模块,其中,网络事件监听模块的客户端接入事件通信端连接网络连接响应模块的客户端接入事件通信端,网络事件监听模块的网络数据收发事件通信端连接网络事件预处理模块的网络数据收发事件通信端,网络连接响应模块的客户端对象资源通信端连接客户端对象片池调度模块的客户端对象资源通信端,网络连接响应模块的实例化客户端对象数据接收事件投递操作输出端连接网络事件监听模块的网络事件监听输入端;

所述网络事件响应模块的内存资源通信端连接内存片池调度模块的内存资源通信端,网络事件响应模块的数据接收事件投递操作输出端连接网络事件监听模块的网络事件监听输入端;

网络连接响应模块的内存资源通信端连接内存片池调度模块的内存资源通信端,网络事件预处理模块的内存资源通信端连接内存片池调度模块的内存资源通信端,网络事件预处理模块的网络数据接收事件调度请求输出端连接网络事件请求调度模块的网络数据接收事件调度请求输入端,网络事件请求调度模块的网络事件派发端连接网络事件响应模块的网络事件输入端,网络事件响应模块的网络数据请求信息输出端连接业务请求回调模块的网络数据请求信息输入端,业务请求回调模块具有网络请求输出端,所述数据发送模块的数据输入端连接业务端的网络响应数据输出端,所述数据发送模块的数据发送输出端连接网络事件监听模块的事件监听输入端。

一种利用上述系统的基于IOCP机制结合池分片的网络数据通信方法,其特征在于,它包括如下步骤:

步骤1:所述网络事件监听模块监听互联网中的客户端接入事件和网络数据收发事件,并将监听到的客户端接入事件发送给网络连接响应模块,将监听到的网络数据收发事件发送给网络事件预处理模块;

步骤2:所述网络连接响应模块根据接收到的客户端接入事件从客户端对象片池调度模块中获取客户端对象实例,并与接入的客户端对象进行映射,形成该接入客户端的实例对象;网络连接响应模块根据新接入的客户端的实体对象从内存片池调度模块中取出对应的内存资源,并投递一次网络接收操作到网络事件监听模块,等待数据接收事件的到来;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北鸿云科技股份有限公司,未经湖北鸿云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711365005.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top