[发明专利]一种双驱方式的线程池模型无效
申请号: | 201210029122.4 | 申请日: | 2012-02-07 |
公开(公告)号: | CN102662732A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 叶灿才;卢林发;黄家祺 | 申请(专利权)人: | 中山爱科数字科技股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 528400 广东省中山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 方式 线程 模型 | ||
技术领域
本发明涉及计算软件技术领域,特别是具有利用虚拟线程来间接管理网络计算资源的线程池模型。
背景技术
应用服务器通常的实现方法是:主线程在TCP的一个公开端口监听客户端的连接请求,一旦有客户端请求到达,就建立连接,随即创建一个服务子线程来为这个连接服务:主线程返回继续监听,服务子线程处理完客户端请求退出。每次线程的创建和关闭都将极大地占用系统资源。线程池,就是应用进程在启动或运行过程中创建一定数量的线程并存储到一个“池子”中,当客户请求到达时,不是为之创建一个新的服务子线程,而是从已存在的线程池中选一个空闲的线程为新的客户请求服务,服务完成后。子线程再回到空闲线程池中。
常用的线程池模型是:服务器主线程在启动时创建一定数目的线程放入线程池中,当客户请求到来后在线程池中搜索一个空闲的线程,如果存在空闲的线程,则将客户端请求交给它处理,处理完毕后,服务子线程自动挂起以等待主线程的下一次唤醒;如果此时已没有空闲的线程,这说明当前客户请求的数目超过了线程池的大小,此时就丢弃客户的请求。常用的线程池模型已经不能满足云计算、分布式处理、网格计算等技术的发展,同时也不能充分发挥多核处理器的优势。
本申请人的同一天申请的发明专利《一种网络计算资源的管理系统及方法》公开了一种通过虚拟线程来调用和管理网络计算节点的计算资源的方案。为了更好的对线程池进一步完善,本发明针对虚拟线程和本地线程进行了融合,形成了一种新的线程池模型。
发明内容
本发明的目的提出一种区别于现有线程池的模型,它充分的利用了虚拟线程对网络计算节点的计算资源调用和管理,同时适用于并能充分发挥多核处理器的线程池模型。
本发明的双驱方式的线程池模型与现有线程池模型不同,它具有服务线程部和虚拟线程部。其中,服务线程部内服务线程专门为各种应用程序而创建,并一直处于等待状态;虚拟线程部内的虚拟线程为每个计算节点创建,用于获取计算节点的计算资源,并创建时处于挂起状态;被服务线程部的服务线程唤醒并分配任务后就进入请求处理状态。
随着计算节点的增加或删除,虚拟线程部的大小是动态变化的,而服务线程部大小相对固定,主要取决于应用程序的多少。整个线程池模型的大小将随着虚拟线程部而变化,没有固定大小。
进一步,本发明的双驱方式的线程池模型还设有线程控制器,服务线程生成,为服务线程分配的来自虚拟线程部的虚拟线程及其数量、服务线程部的大小都由线程控制器控制。服务线程部、虚拟线程部分别由独立的处理器或相同处理器不同的核心进行控制和处理。
综上所述,本发明的线程池模具有如下显著特点和进步:
1)、具有服务线程部和虚拟线程部,线程池大小根据虚拟线程部虚拟线程多少而变化,而虚拟线程部大小又根据计算节点数变化而自动调整。
2)、服务线程部一开始就处于等待状态,而虚拟线程部处于挂起状态。服务线程部受线程控制器控制和触发,虚拟线程部线程受服务线程部线程控制。
3)、该线程池模型采用虚拟线程对各分布于网络的计算节点资源进行调用,并可结合多核处理器进行独立核心分开处理。
附图说明
图1是线程池模型的结构框图。
具体实施方式
参考图1,本发明的双驱方式的线程池模型与现有的线程池模型不同,它具有服务线程部、虚拟线程部和线程控制器组成。其中服务线程部,由一个或一个以上的服务线程组成,每一种注册的应用程序向服务器首次请求服务时,服务器为每一种不同的服务应用建立至少一个服务线程;虚拟线程部,由一个或一个以上虚拟线程组成,服务器处理器根据各计算节点的配置信息分别为每个计算节点创建至少一个虚拟线程,每一虚拟线程至少与一计算节点本地运行线程关联。线程控制器用于控制服务线程部的服务线程生成,控制为服务线程分配的来自虚拟线程部的虚拟线程及其数量。线程控制器监听来自本地或网络应用程序的连接请求,检索线程池的服务线程部是否存在与该应用程序对应的服务线程,存在则调用该服务线程,否则创建一服务线程。
服务线程部的服务线程创建后一直等待状态;当检测到存在于该线程相关的应用程序获取服务的请求,服务线程运行。并根据线程控制器分配给它的虚拟线程列表分别唤醒虚拟线程部的虚拟线程,完成分布式计算。虚拟线程部的虚拟线程创建时处于挂起状态;被服务线程部的服务线程唤醒并分配任务后就进入请求处理状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山爱科数字科技股份有限公司,未经中山爱科数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210029122.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:热连轧轧制方法及系统
- 下一篇:智能气流推进风机