[发明专利]一种面向传感器网络数据的任务调度系统在审
申请号: | 202210539884.2 | 申请日: | 2022-05-18 |
公开(公告)号: | CN114942837A | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 王光耀;李勇波;雷震宇;张子豪;廖明祥 | 申请(专利权)人: | 中国地质大学(武汉) |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 武汉知产时代知识产权代理有限公司 42238 | 代理人: | 孔灿 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 传感器 网络 数据 任务 调度 系统 | ||
本发明公开了一种面向传感器网络数据的任务调度系统,包括:反应器Reactor模型、任务队列和自适应线程池;所述反应器Reactor模型的epoll单元监听网络请求,并将网络请求的类型封装成不同的任务,追加至所述任务队列;所述自适应线程池从所述任务队列中获取分配任务并执行,且自适应线程池的适配器在执行过程中分析任务队列状态和工作线程工作时间,实时计算并调整线程数量。本发明有益效果是:提高网络IO中线程池的利用率,使N1能够与任务的到达频率相匹配,减少空闲线程造成的浪费,使N2能够在服务器性能条件下达到最大。
技术领域
本发明涉及计算机线程管理领域,尤其涉及一种面向传感器网络数据的任务调度系统。
背景技术
在软件业务的解决方案设计中,服务器的工作效率是重中之重,使用多线程技术是提高服务器运行效率的重要手段。多线程充分利用中央处理器(Central ProcessingUnit,CPU)的多核性能,并且将整个进程的运行划分为若干时间片,将多个任务交错分配至时间片中,在宏观看起来就是多个任务同时执行,以此提高多个任务的并发性。
但线程的创建和销毁同样是需要消耗一定的空间和时间资源,设线程创建所需的时间为t1,线程销毁所需的时间为t2,任务执行的时间为t3。如果当任务到来时创建工作线程,且在任务结束时销毁线程,则执行一个任务的实际时间为t1+t3+t2,有效时间比为t3/(t1+t2+t3)。若(t1+t2)<<t3,可以采用这种方式,若(t1+t2)相对于t3不可忽略,甚至(t1+t2)t3,任务执行有效时间比会变小,服务器资源会浪费在创建和销毁线程上。我们希望服务器将更多的资源都投入到任务的执行中,而不是线程创建和销毁上,由此则有了线程池技术。
线程池技术解决了线程创建和销毁占用资源高的问题。在传统线程池中,线程池预先创建最小数量(N1)个线程,N1称为核心线程数,这些线程都处于睡眠(sleep)状态,睡眠状态下线程会让出CPU资源,但是仍然占用内存资源。当一个任务到来时,线程池将任务分配给一个空闲线程,当任务完成时,该线程重新回到空闲状态。当目前的任务超过N1,任务会添加到任务队列等待执行;当任务队列达到最大容量,线程池会创建新的线程,直到线程数量达到最大线程数N2;当线程处于空闲状态达到设定的最大时间T1后,线程池才会销毁该线程,同时回收该线程占用的资源,直到线程数量减少至N1。
在传统线程池中,N1、N2和T1都是由开发人员配置,程序编译后难以修改,一般要通过重新发布程序修改配置。尤其是对N1直接影响网络调度的性能,若N1太小,则程序会经常创建和销毁线程,浪费CPU资源;若N1太大,则会有很多线程长期处于空闲状态无法销毁,造成内存资源浪费。
发明内容
为了提高网络IO中线程池的利用率,本发明使用泊松过程的理论和排队论,设计出一种调节线程池的核心线程数N1和最大线程数N2的线程池。
本发明提供一种面向传感器网络数据的任务调度系统,包括:Reactor模型、任务队列和自适应线程池;
所述Reactor模型的epoll单元监听网络请求,并将网络请求的类型封装成不同的任务,追加至所述任务队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国地质大学(武汉),未经中国地质大学(武汉)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210539884.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置