[发明专利]支持Web高并发访问的工业互联网边缘网关设计方法有效
申请号: | 202110103090.7 | 申请日: | 2021-01-26 |
公开(公告)号: | CN112954006B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 黄庆卿;周佳俊;袁雪;盛佳会;李丽;钱春燕;张焱;韩延;谢昊飞 | 申请(专利权)人: | 重庆邮电大学;赛尔网络有限公司 |
主分类号: | H04L67/02 | 分类号: | H04L67/02;H04L12/66;H04L67/10;H04L67/1001;H04L67/60 |
代理公司: | 重庆辉腾律师事务所 50215 | 代理人: | 王海军 |
地址: | 400065 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 web 并发 访问 工业 互联网 边缘 网关 设计 方法 | ||
1.支持Web高并发访问的工业互联网边缘网关设计方法,其特征在于,具体包括以下步骤:
边缘计算节点在IPv6环境下对边缘设备数据进行实时采集;
边缘计算节点在IPv6环境下通过交换机将采集的数据上传到网关Sqlite数据库;
设置线程池的大小,令线程池中每一个线程为一个事件循环,即一个线程为线程和事件绑定的事件循环,一个事件为一个任务请求;即线程池中包括多个IO线程,主线程接受客户端连接,并将客户端的请求进行分发,一个请求发送到一个IO线程;一个IO线程为一个事件循环,主线程将新的请求对象和事件经过绑定分发到线程池中的IO线程中,IO线程通过依次调用已经注册的事件回调函数处理任务请求,并返回请求数据,每个线程在开启时就会一直等待处理新的请求事件到来,将就绪事件添加到就绪链表中依次进行处理,每次IO线程的处理过程即为事件处理循环过程;
线程池的大小根据操作系统的任务类型进行设置,表示为:
其中,C为CPU核心数;wt为平均每个线程的等待时间;tct为平均每个线程的CPU运行时间;
采用Reactor反应模型对客户端的连接请求进行处理并使用主线程将其分发给子线程;所述Reactor反应模型包括一个主反应器、一个接收器以及一个或多个子反应器,主反应器接收任务请求,并将其转发给接收器,接收器与任务请求建立连接,每个新的请求连接会伴随请求事件,将请求事件和连接请求进行绑定后放在子反应器中执行,每个子反应器在一个独立线程中运行并维护一个独立的NIO选择器;Reactor反应模型在分发任务请求的过程包括:
主反应器接受到来自客户端的请求得到网络连接套接字,网络连接套接字和请求连接一一对应,将连接请求套接字和对应的当前循环进行绑定作为请求对象;
将请求事件和请求对象相互绑定成事件循环体,当同一连接的请求事件发生变化时需要重新注册新事件;
将事件循环体放入线程池中的一个工作线程中,交给工作线程完成事件处理,Reactor反应模型主要完成接受新的连接请求,并将连接请求进行上述处理后进行分发给线程池中的工作线程;
使用Round Robin控制线程池中线程的负载,使其达到均衡状态,即每一次把来自用户的请求轮流分配给线程池中的工作线程,从第一个工作线程开始,直到第N个工作线程,具体包括以下步骤:
确定处理线程总数,将请求任务按照时间进行排序分发;
轮询处理器核是否空闲,若空闲则直接处理请求任务,否则等待直到存在空闲的核再处理请求任务;
判断轮询器是否关闭,若关闭则结束流程;否则继续返回轮询处理器核是否空闲;
利用基于边沿触发模型的epoll IO多路复用机制对事件进行监听。
2.根据权利要求1所述的支持Web高并发访问的工业互联网边缘网关设计方法,其特征在于,网关Sqlite数据库与Web服务器之间设置有Redis缓存数据库,将常用数据存放于Redis缓存数据库中,当请求到来时,先从Redis缓存数据库中读取,如果能够直接在Redis缓存数据库中获取需要的信息,则不对网关Sqlite数据库进行读取操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学;赛尔网络有限公司,未经重庆邮电大学;赛尔网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110103090.7/1.html,转载请声明来源钻瓜专利网。