[发明专利]一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统在审
申请号: | 201910672206.1 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110380991A | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 罗敏;蒋千军 | 申请(专利权)人: | 成都甄识科技有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863;H04L29/08;G06F9/50 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 黄蓉蓉 |
地址: | 610000 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加速设备 加速系统 网络通信 物联网通信 存储器 网络接口 应用场景 多个网络接口 数据存储程序 网络通信技术 物联网服务器 物联网数据 并行实现 并行执行 串行执行 负载均衡 应用系统 数据处理 通信 带宽 指令 | ||
本发明公开了一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统,涉及网络通信技术领域,本发明的加速系统,包括物联网服务器、网络通信加速设备和各类应用场景端,网络通信加速设备包括存储器、eFPGA和多个网络接口,存储器用于为网络通信加速设备提供数据存储程序,网络接口用于实现与应用场景端通信,eFPGA用于并行实现多个IOCP实例,处理对应网络接口的数据,本发明利用eFPGA技术在应用系统中实现负载均衡,具有并行执行能力,而不是类似CPU等串行执行指令,加快了通信的速度,提高了数据处理的带宽,并且利用多FPGA,可以实现更加大量的物联网数据的接入需求。
技术领域
本发明涉及网络通信技术领域,更具体的是涉及一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统。
背景技术
在数字化时代,特别是随着5G的强势来袭,网络通信是非常重要的,网络通信是把各种设备连接在一起的重要技术手段。随着通信规模的越来越庞大,网络中心节点的设计变得非常重要,因为它是影响通信效率的瓶颈点。
I/O完成端口(I/O Completion Port,简称IOCP)是在Winsock 2.0中引入的内核级完成端口,是一种高效处理各种I/O的机制,由于其在为海量I/O请求提供服务时,处理大量客户端频繁连接,小数据包频繁收发问题时的优越表现,相比于普通的多线程通信,IOCP消耗的系统资源更少且鲁棒性更佳。
物联网是万物相连的,每个物理实体均有一个唯一标识ID,用于接入网络,以便共享服务。物联网需要具备提供大量并发访问服务的能力,通过改进应用程序的性能和提高硬件性能并不能真正解决这个问题,因为单台服务器性能总是有限的,而且网络请求具有突发性,当某些重大事件发生时,网络访问就会极具上升,从而造成网络阻塞。
发明内容
本发明的目的在于:为了解决现有的物联网在面对突发性网络访问大增时,容易造成网络阻塞的问题,本发明提供一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统。
本发明为了实现上述目的具体采用以下技术方案:
一种IOCP机制,包括如下步骤:
S1:启动应用程序,创建一个处理套接字连接事务的主线程和若干个处理异步I/O请求的工作者线程,并且创建工作者线程时,注册一个I/O完成回调函数;
S2:将创建的若干工作者线程以堆栈的方式存入线程池;
S3:发起I/O请求,主线程完成连接后,将I/O请求投入先进先出FIFO消息队列,由工作者线程处理I/O请求,主线程则被解放出来继续侦听新的I/O请求;
S4:线程池以先进后出FIFO方式在若干工作者线程中调度其中一个空闲的工作者线程,使其处理I/O请求;
S5:被调用的工作者线程完成I/O请求后,调用I/O完成回调函数,返回线程池,等待下一次调用。
在将I/O请求投入先进先出FIFO消息队列后,事先创建好的工作者线程从线程池中被唤醒,投入到工作者线程调用方式,相对于在发生I/O请求时才创建线程来说,更快且更有效率;并且线程池采用先进后出FIFO方式在调度工作者线程,减少了工作者线程上下文的切换,在I/O请求完成足够满的情况下,若一个工作者线程处理得过来,就可以始终唤醒同一个工作者线程,这样,IOCP便实现了使用单个或几个线程来处理成千上万客户端的I/O请求,线程空闲时被挂起,不需占用CPU资源。
一种基于eFPGA和IOCP的物联网通信加速系统,包括物联网服务器、网络通信加速设备和各类应用场景端,所述网络通信加速设备包括存储器、eFPGA和多个网络接口,所述存储器用于为网络通信加速设备提供数据存储程序,网络接口用于实现与应用场景端通信,eFPGA用于并行实现多个IOCP实例,处理对应网络接口的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都甄识科技有限公司,未经成都甄识科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910672206.1/2.html,转载请声明来源钻瓜专利网。