首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:成都甄识科技有限公司

摘要:本发明公开了一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统,涉及网络通信技术领域,本发明的加速系统,包括物联网服务器、网络通信加速设备和各类应用场景端,网络通信加速设备包括存储器、eFPGA和多个网络接口,存储器用于为网络通信加速设备提供数据存储程序,网络接口用于实现与应用场景端通信,eFPGA用于并行实现多个IOCP实例,处理对应网络接口的数据,本发明利用eFPGA技术在应用系统中实现负载均衡,具有并行执行能力,而不是类似CPU等串行执行指令,加快了通信的速度,提高了数据处理的带宽,并且利用多FPGA,可以实现更加大量的物联网数据的接入需求。

主权项:1.一种IOCP机制,其特征在于,包括如下步骤:S1:启动应用程序,创建一个处理套接字连接事务的主线程和若干个处理异步IO请求的工作者线程,并且创建工作者线程时,注册一个IO完成回调函数;S2:将创建的若干工作者线程以堆栈的方式存入线程池;S3:发起IO请求,主线程完成连接后,将IO请求投入先进先出FIFO消息队列,由工作者线程处理IO请求,主线程则被解放出来继续侦听新的IO请求;S4:线程池以先进后出FIFO方式在若干工作者线程中调度其中一个空闲的工作者线程,使其处理IO请求;S5:被调用的工作者线程完成IO请求后,调用IO完成回调函数,返回线程池,等待下一次调用。

全文数据:一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统技术领域本发明涉及网络通信技术领域,更具体的是涉及一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统。背景技术在数字化时代,特别是随着5G的强势来袭,网络通信是非常重要的,网络通信是把各种设备连接在一起的重要技术手段。随着通信规模的越来越庞大,网络中心节点的设计变得非常重要,因为它是影响通信效率的瓶颈点。IO完成端口IOCompletionPort,简称IOCP是在Winsock2.0中引入的内核级完成端口,是一种高效处理各种IO的机制,由于其在为海量IO请求提供服务时,处理大量客户端频繁连接,小数据包频繁收发问题时的优越表现,相比于普通的多线程通信,IOCP消耗的系统资源更少且鲁棒性更佳。物联网是万物相连的,每个物理实体均有一个唯一标识ID,用于接入网络,以便共享服务。物联网需要具备提供大量并发访问服务的能力,通过改进应用程序的性能和提高硬件性能并不能真正解决这个问题,因为单台服务器性能总是有限的,而且网络请求具有突发性,当某些重大事件发生时,网络访问就会极具上升,从而造成网络阻塞。发明内容本发明的目的在于:为了解决现有的物联网在面对突发性网络访问大增时,容易造成网络阻塞的问题,本发明提供一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统。本发明为了实现上述目的具体采用以下技术方案:一种IOCP机制,包括如下步骤:S1:启动应用程序,创建一个处理套接字连接事务的主线程和若干个处理异步IO请求的工作者线程,并且创建工作者线程时,注册一个IO完成回调函数;S2:将创建的若干工作者线程以堆栈的方式存入线程池;S3:发起IO请求,主线程完成连接后,将IO请求投入先进先出FIFO消息队列,由工作者线程处理IO请求,主线程则被解放出来继续侦听新的IO请求;S4:线程池以先进后出FIFO方式在若干工作者线程中调度其中一个空闲的工作者线程,使其处理IO请求;S5:被调用的工作者线程完成IO请求后,调用IO完成回调函数,返回线程池,等待下一次调用。在将IO请求投入先进先出FIFO消息队列后,事先创建好的工作者线程从线程池中被唤醒,投入到工作者线程调用方式,相对于在发生IO请求时才创建线程来说,更快且更有效率;并且线程池采用先进后出FIFO方式在调度工作者线程,减少了工作者线程上下文的切换,在IO请求完成足够满的情况下,若一个工作者线程处理得过来,就可以始终唤醒同一个工作者线程,这样,IOCP便实现了使用单个或几个线程来处理成千上万客户端的IO请求,线程空闲时被挂起,不需占用CPU资源。一种基于eFPGA和IOCP的物联网通信加速系统,包括物联网服务器、网络通信加速设备和各类应用场景端,所述网络通信加速设备包括存储器、eFPGA和多个网络接口,所述存储器用于为网络通信加速设备提供数据存储程序,网络接口用于实现与应用场景端通信,eFPGA用于并行实现多个IOCP实例,处理对应网络接口的数据。进一步的,所述网络通信加速设备还包括PCIe卡槽,所述PCIe卡槽用于扩展多个网络通信加速设备集成,实现更大规模的应用。进一步的,所述应用场景端为家电、移动终端、监控、智能建筑、交通、环境监测等物联网应用场景。进一步的,所述应用场景端与网络通信加速设备采用Socket通信。进一步的,所述eFPGA为嵌入式FPGA,采用Xilinx的HLS技术和VHDL技术联合开发实现收发数据、数据交互等业务逻辑。进一步的,所述网络接口数量不大于128。本发明的有益效果如下:1、本发明利用eFPGA技术在应用系统中实现负载均衡,具有并行执行能力,而不是类似CPU等串行执行指令,加快了通信的速度,提高了数据处理的带宽,并且利用多FPGA,可以实现更加大量的物联网数据的接入需求。附图说明图1是本发明具体实施方式的机制工作流程示意图。图2是本发明具体实施方式的系统结构示意图。图3是本发明具体实施方式的网络通信加速设备结构示意图。图4是本发明具体实施方式的并行运行多个IOCP实例的示意图。具体实施方式为了本技术领域的人员更好的理解本发明,下面结合附图和以下实施例对本发明作进一步详细描述。实施例1如图1所示,本实施例提供一种IOCP机制,包括如下步骤:S1:启动应用程序,创建一个处理套接字连接事务的主线程和N个处理异步IO请求的工作者线程,并且创建工作者线程时,注册一个IO完成回调函数;S2:将创建的若干工作者线程以堆栈的方式存入线程池;S3:发起IO请求,建立Sockt连接,主线程完成连接后,将Sockt与IOCP关联,将IO请求投入先进先出FIFO消息队列,由工作者线程处理IO请求,主线程则被解放出来继续侦听新的IO请求;S4:线程池以先进后出FIFO方式在若干工作者线程中调度其中一个空闲的工作者线程,使其处理IO请求;S5:被调用的工作者线程完成IO请求后,调用IO完成回调函数,返回线程池,等待下一次调用。在将IO请求投入先进先出FIFO消息队列后,事先创建好的工作者线程从线程池中被唤醒,投入到工作者线程调用方式,相对于在发生IO请求时才创建线程来说,更快且更有效率;并且线程池采用先进后出FIFO方式在调度工作者线程,减少了工作者线程上下文的切换,在IO请求完成足够满的情况下,若一个工作者线程处理得过来,就可以始终唤醒同一个工作者线程,这样,IOCP便实现了使用单个或几个线程来处理成千上万客户端的IO请求,线程空闲时被挂起,不需占用CPU资源。如图2和图3所示,本实施例还提供一种基于eFPGA和IOCP的物联网通信加速系统,包括物联网服务器、网络通信加速设备和各类应用场景端,所述应用场景端为家电、移动终端、监控、智能建筑、交通、环境监测等物联网应用场景,应用场景端与网络通信加速设备采用Socket通信,本实施例的各单元遵守相同的通信协议,所述网络通信加速设备包括电源、存储器、eFPGA、PCIe卡槽和多个网络接口,电源用于为设备提供工作用电,所述存储器用于为网络通信加速设备提供数据存储程序,网络接口用接收和发送Socket通信包,网络接口的数量不大于128,PCIe卡槽用于扩展多个网络通信加速设备集成,实现更大规模的应用,如图4所示,eFPGA用于并行实现多个IOCP实例,每一IOCP实例对应一个网络接口,eFPGA用于处理对应网络接口的数据,eFPGA为嵌入式FPGA,采用Xilinx的HLS技术和VHDL技术联合开发实现收发数据、数据交互等业务逻辑。本实施例的加速系统提高了网络接入的数量,采用PCIe技术,可根据需要扩展应用,并且由于eFPGA可以实现并行执行IOCP实例,运行效率高,加速了网络通信的数据带宽,并且由于系统遵守相同的通信协议,易于系统间的拓展应用。以上所述,仅为本发明的较佳实施例,并不用以限制本发明,本发明的专利保护范围以权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

权利要求:1.一种IOCP机制,其特征在于,包括如下步骤:S1:启动应用程序,创建一个处理套接字连接事务的主线程和若干个处理异步IO请求的工作者线程,并且创建工作者线程时,注册一个IO完成回调函数;S2:将创建的若干工作者线程以堆栈的方式存入线程池;S3:发起IO请求,主线程完成连接后,将IO请求投入先进先出FIFO消息队列,由工作者线程处理IO请求,主线程则被解放出来继续侦听新的IO请求;S4:线程池以先进后出FIFO方式在若干工作者线程中调度其中一个空闲的工作者线程,使其处理IO请求;S5:被调用的工作者线程完成IO请求后,调用IO完成回调函数,返回线程池,等待下一次调用。2.一种基于eFPGA和IOCP的物联网通信加速系统,其特征在于,包括物联网服务器、网络通信加速设备和各类应用场景端,所述网络通信加速设备包括存储器、eFPGA和多个网络接口,所述存储器用于为网络通信加速设备提供数据存储程序,网络接口用于实现与应用场景端通信,eFPGA用于并行实现多个IOCP实例,处理对应网络接口的数据。3.根据权利要求2所述的一种基于eFPGA和IOCP的物联网通信加速系统,其特征在于,所述网络通信加速设备还包括PCIe卡槽,所述PCIe卡槽用于扩展多个网络通信加速设备集成。4.根据权利要求2所述的一种基于eFPGA和IOCP的物联网通信加速系统,其特征在于,所述应用场景端为家电、移动终端、监控、智能建筑、交通、环境监测及其他物联网应用场景。5.根据权利要求2所述的一种基于eFPGA和IOCP的物联网通信加速系统,其特征在于,所述应用场景端与网络通信加速设备采用Socket通信。6.根据权利要求2所述的一种基于eFPGA和IOCP的物联网通信加速系统,其特征在于,所述eFPGA为嵌入式FPGA,采用Xilinx的HLS技术和VHDL技术联合开发实现业务逻辑。7.根据权利要求2所述的一种基于eFPGA和IOCP的物联网通信加速系统,其特征在于,所述网络接口数量不大于128。

百度查询: 成都甄识科技有限公司 一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。