CN104780144B - 智能流媒体数据分发方法及装置 - Google Patents
智能流媒体数据分发方法及装置 Download PDFInfo
- Publication number
- CN104780144B CN104780144B CN201410014175.8A CN201410014175A CN104780144B CN 104780144 B CN104780144 B CN 104780144B CN 201410014175 A CN201410014175 A CN 201410014175A CN 104780144 B CN104780144 B CN 104780144B
- Authority
- CN
- China
- Prior art keywords
- thread
- assignment
- module
- service object
- recycling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种智能流媒体数据分发方法及装置,包括:当接收到服务对象的线程请求时,为该服务对象分配工作线程;当分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。本发明通过提供一种智能流媒体数据分发方法及装置,当为服务对象分配的工作线程处于空闲状态时,且系统上层模块未检测到,而是由系统内部的智能模块智能判断到该工作线程处于空闲状态时,并回收该分配的工作线程,从而有效的提高了系统的效率,降低了系统由于空闲线程引起的额外开销。
Description
技术领域
本发明涉及计算机网络多媒体通信技术,特别涉及一种智能流媒体数据分发方法及装置。
背景技术
流媒体数据的分发技术,一般应用于流媒体服务器。流媒体服务器在进行数据发送时,底层传输模型可以采用基于对象服务的工作模型,即针对每一个服务对象,提供一个服务者,单独为其提供服务。
在使用基于对象服务的工作模块时,当服务对象到来时,创建或从线程池取出一个工作线程给对象提供服务;当服务对象离开后,则进行销毁、归还线程池工作线程。
目前,使用线程池技术的模型,能够减少频繁创建、销毁线程带来的开销。然而却依然无法减少线程的使用数量,当为对象提供服务的过程中,大量的线程其实处于空闲状态,此时系统仍然在线程切换过程中损耗的大量的资源。
发明内容
(一)解决的技术问题
本发明解决的技术问题是:如何解决空闲线程消耗系统资源的问题。
(二)技术方案
本发明实施例提供了一种智能流媒体数据分发方法,包括:
当接收到服务对象的线程请求时,为该服务对象分配工作线程;
当分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。
优选地,所述当分析到该分配的工作线程处于空闲状态时之前,进一步包括:
对所述分配的工作线程的工作情况进行监测。
优选地,所述对所述分配的工作线程的工作情况进行监测,进一步包括:
当监测到所述分配的工作线程处于空闲状态时,根据所述分配的工作线程的工作参数判断该服务对象是否还需要进行数据发送,当判断结果为否时,则回收所述分配的工作线程。
优选地,预设空闲状态时长,当所述分析到该分配的工作线程处于空闲状态的时长为所述预设空闲状态时长时,则执行所述回收所述分配的工作线程。
优选地,所述方法还包括:当在回收所述分配的工作线程时,接收到服务对象的线程请求,则继续回收所述分配的工作线程,并为该服务对象分配其他工作线程。
本发明还提供了一种智能流媒体数据分发装置,包括:
接收模块,用于接收服务对象的线程请求,并将该线程请求传输给分配模块;
所述分配模块,用于当接收到服务对象的线程请求时,为该服务对象分配工作线程;
分析模块,用于分析所述分配模块分配的工作线程的工作情况,并将分析结果传输给回收模块;
所述回收模块,用于当当分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。
优选地,所述装置还包括:
监测模块,用于对所述分配的工作线程的工作情况进行监测。
优选地,所述装置还包括:
判断模块,用于当所述监测模块监测到所述分配的工作线程处于空闲状态时,根据所述分配的工作线程的工作参数判断该服务对象是否还需要进行数据发送;
所述分配模块,用于当判断结果为否时回收所述分配的工作线程。
优选地,所述回收模块,用于当所述分析到该分配的工作线程处于空闲状态的时长为所述预设空闲状态时长时,则执行所述回收所述分配的工作线程。
优选地,所述分配模块,当所述回收模块在回收所述分配的工作线程时,所述接收模块接收到服务对象的线程请求,则使得所述回收模块继续回收所述分配的工作线程,为该服务对象分配其他工作线程。
(三)有益效果
本发明通过提供一种智能流媒体数据分发方法及装置,当为服务对象分配的工作线程处于空闲状态时,且系统上层模块未检测到,而是由系统内部的智能模块智能判断到该工作线程处于空闲状态时,并回收该分配的工作线程,从而有效的提高了系统的效率,降低了系统由于空闲线程引起的额外开销。
附图说明
图1是本发明实施例1提供的方法流程图;
图2是本发明实施例2提供的方法流程图;
图3是本发明实施例3提供的装置结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
实施例1:
为了解决现有技术中空闲线程引起的资源消耗,本发明第一个实施例提供了一种智能流媒体数据分发方法,该方法流程图如图1所示,该方法包括:
步骤101:当接收到服务对象的线程请求时,为该服务对象分配工作线程;
步骤102:当分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。
本发明实施例当为服务对象分配的工作线程处于空闲状态时,且系统上层模块未检测到,而是由系统内部的智能模块智能判断到该工作线程处于空闲状态时,并回收该分配的工作线程,从而有效的提高了系统的效率,降低了系统由于空闲线程引起的额外开销。
当系统上层监测到所述分配的工作线程处于空闲状态时,将服务对象的判断结果为不需要进行数据发送的所述分配的工作线程进行回收,从而保证了空闲工作线程的实时回收,降低系统由于空闲线程引起的额外开销。
若在回收所述分配的工作线程过程中,接收到服务对象的线程请求,则继续回收所述分配的工作线程,为服务对象分配其他工作线程,从而解决了对线程使用权的争夺问题。
实施例2
为了详细解释实施例1,本发明第二个实施例提供了一种智能流媒体数据分发方法,该方法流程图如图2所示,该方法包括:
步骤201:根据系统的需求,对系统配套的线程池进行初始化;
步骤202:当接收到服务对象的线程请求时,为该服务对象分配工作线程;
步骤203:在工作线程处于工作状态时,监测该工作线程的工作情况;
其中,该工作线程的工作情况包括:是否为工作状态、是否中止或是否暂停。
步骤204:当监测到该分配的工作线程处于空闲状态时,根据该分配的工作线程的工作参数判断该服务对象是否还需要进行数据发送;当判断结果为是时,继续保留该服务对象对该分配的工作线程的试用期;若判断结果为否时,则回收该分配的工作线程;
步骤205:当该分配的工作线程处于空闲状态且系统未监测到,则系统分发线程内部的智能模块分析该分配的工作线程,且分析到该工作线程处于空闲状态,则回收该分配的工作线程。
其中,在系统工作之前对智能模块的分析进行预设空闲状态时长的设置,当分析到该分配的工作线程处于空闲状态的时长为所述预设空闲状态时长时,则执行所述回收给分配的工作线程。
在本发明实施例中,当系统在回收该分配的工作线程时,接收到服务对象的线程请求,则继续回收该分配的工作线程,并为该服务对象分配其他工作线程。
在本发明实施例中,若对于同样的一个服务程序部署在两台服务器上,其中一台服务器(设为A服务器)的服务程序使用本发明实施例提供的智能流媒体数据分发方法,另一台服务器(设为B服务器)的服务程序使用现有的为每个任务对象创建分发线程的工作模型。
向两个服务程序发起同样数量的不同服务请求,同时使用的服务稳定在100个以上,可以看到A服务器使用了本发明实施例提供的智能流媒体数据分发方法的服务程序,对系统资源,包括内存和CPU的使用率的占用,要比B服务器服务程序低。
增加服务的请求数量,以达到服务程序的服务上线,让服务程序满负荷运行,此时可以看到,A服务器可以比B服务器提供服务的对象要多。多的比例则跟服务程序所在的硬件配置相关,硬件配置越高,比例也就越大。
实施例3
本发明第三个实施例提供了一种智能流媒体数据分发装置,该装置结构示意图如图3所示,该装置包括:
接收模块301,用于接收服务对象的线程请求,并将该线程请求传输给分配模块;
所述分配模块302,用于当接收到服务对象的线程请求时,为该服务对象分配工作线程;
分析模块303,用于分析所述分配模块分配的工作线程的工作情况,并将分析结果传输给回收模块;
所述回收模块304,用于当当分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。
进一步的,所述装置还包括:
监测模块,用于对所述分配的工作线程的工作情况进行监测。
进一步的,所述装置还包括:
判断模块,用于当所述监测模块监测到所述分配的工作线程处于空闲状态时,根据所述分配的工作线程的工作参数判断该服务对象是否还需要进行数据发送;
所述分配模块,用于当判断结果为否时回收所述分配的工作线程。
进一步的,所述回收模块,用于当所述分析到该分配的工作线程处于空闲状态的时长为所述预设空闲状态时长时,则执行所述回收所述分配的工作线程。
进一步的,所述分配模块,当所述回收模块在回收所述分配的工作线程时,所述接收模块接收到服务对象的线程请求,则使得所述回收模块继续回收所述分配的工作线程,为该服务对象分配其他工作线程。
本发明实施例通过回收该分配的工作线程,从而有效的提高了系统的效率,降低了系统由于空闲线程引起的额外开销。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (8)
1.一种智能流媒体数据分发方法,其特征在于,包括:
当接收到服务对象的线程请求时,为该服务对象分配工作线程;
当系统上层模块监测到该分配的工作线程处于空闲状态时,根据该分配的工作线程的工作参数判断该服务对象是否还需要进行数据发送;当判断结果为是时,继续保留该服务对象对该分配的工作线程的试用期;若判断结果为否时,则回收该分配的工作线程;
当为服务对象分配的工作线程处于空闲状态且系统上层模块未监测到,则系统分发线程内部的智能模块分析该分配的工作线程,且分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。
2.如权利要求1所述的方法,其特征在于,所述当分析到该分配的工作线程处于空闲状态时之前,进一步包括:
对所述分配的工作线程的工作情况进行监测。
3.如权利要求1所述的方法,其特征在于,预设空闲状态时长,当所述分析到该分配的工作线程处于空闲状态的时长为所述预设空闲状态时长时,则执行所述回收所述分配的工作线程。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:当在回收所述分配的工作线程时,接收到服务对象的线程请求,则继续回收所述分配的工作线程,并为该服务对象分配其他工作线程。
5.一种智能流媒体数据分发装置,其特征在于,包括:
接收模块,用于接收服务对象的线程请求,并将该线程请求传输给分配模块;
所述分配模块,用于当接收到服务对象的线程请求时,为该服务对象分配工作线程;
分析模块,用于分析所述分配模块分配的工作线程的工作情况,并将分析结果传输给回收模块;
监测模块,用于对所述分配的工作线程的工作情况进行监测;
所述回收模块,用于当所述监测模块监测到该分配的工作线程处于空闲状态时,根据该分配的工作线程的工作参数判断该服务对象是否还需要进行数据发送;当判断结果为是时,继续保留该服务对象对该分配的工作线程的试用期;若判断结果为否时,则回收该分配的工作线程;当为服务对象分配的工作线程处于空闲状态且所述监测模块未监测到,则所述分析模块分析该分配的工作线程,且分析到该分配的工作线程处于空闲状态时,则回收所述分配的工作线程。
6.如权利要求5所述的装置,其特征在于,
所述分配模块,用于当判断结果为否时回收所述分配的工作线程。
7.如权利要求5所述的装置,其特征在于,所述回收模块,用于当所述分析到该分配的工作线程处于空闲状态的时长为所述预设空闲状态时长时,则执行所述回收所述分配的工作线程。
8.如权利要求5所述的装置,其特征在于,所述分配模块,当所述回收模块在回收所述分配的工作线程时,所述接收模块接收到服务对象的线程请求,则使得所述回收模块继续回收所述分配的工作线程,为该服务对象分配其他工作线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014175.8A CN104780144B (zh) | 2014-01-13 | 2014-01-13 | 智能流媒体数据分发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014175.8A CN104780144B (zh) | 2014-01-13 | 2014-01-13 | 智能流媒体数据分发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104780144A CN104780144A (zh) | 2015-07-15 |
CN104780144B true CN104780144B (zh) | 2019-03-01 |
Family
ID=53621390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410014175.8A Active CN104780144B (zh) | 2014-01-13 | 2014-01-13 | 智能流媒体数据分发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104780144B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681832A (zh) * | 2016-12-23 | 2017-05-17 | 昆明联诚科技股份有限公司 | 视频流分发方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488960A (zh) * | 2009-03-04 | 2009-07-22 | 哈尔滨工程大学 | 基于并行处理的tcp协议及其数据还原装置及方法 |
CN101630355A (zh) * | 2008-07-16 | 2010-01-20 | 中兴通讯股份有限公司 | 射频识别rfid标签的分发方法和装置 |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式系统环境下的多任务进程监视方法和监视系统 |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
-
2014
- 2014-01-13 CN CN201410014175.8A patent/CN104780144B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630355A (zh) * | 2008-07-16 | 2010-01-20 | 中兴通讯股份有限公司 | 射频识别rfid标签的分发方法和装置 |
CN101488960A (zh) * | 2009-03-04 | 2009-07-22 | 哈尔滨工程大学 | 基于并行处理的tcp协议及其数据还原装置及方法 |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式系统环境下的多任务进程监视方法和监视系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104780144A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320561B (zh) | 任务管理方法和系统 | |
EP3048774B1 (en) | Service processing method, system and device | |
CN103268258B (zh) | 一种卫星地面遥控发令安全控制方法 | |
CN105912403B (zh) | Docker容器的资源管理方法及装置 | |
CN103428272A (zh) | 一种中间件线程的监控调度系统及方法 | |
CN104021040A (zh) | 基于时间约束条件下的云计算关联任务调度方法和装置 | |
CN104850460A (zh) | 一种服务程序线程管理方法 | |
CN104216768A (zh) | 一种数据处理方法及装置 | |
CN103561428B (zh) | 短信网关集群系统中的节点弹性分配方法及系统 | |
CN107301093A (zh) | 一种管理资源的方法和装置 | |
US20110138195A1 (en) | Power management apparatus and method thereof and power control system | |
CN106713168A (zh) | 一种流量控制方法及系统 | |
CN104216765A (zh) | 一种多线程并发处理业务的方法和系统 | |
CN106357473B (zh) | 分布式多机系统、控制方法及控制装置 | |
CN106357469A (zh) | 一种资源监控模式的动态调整方法和装置 | |
CN104750546B (zh) | 一种调整连接池的方法及系统 | |
CN107977257A (zh) | 一种任务调度方法及装置 | |
CN104933495A (zh) | 基于Android的移动终端上的工作任务考核系统 | |
CN107479966B (zh) | 一种基于多核心cpu的信令采集方法 | |
CN108153583A (zh) | 任务分配方法及装置、实时计算框架系统 | |
CN104780144B (zh) | 智能流媒体数据分发方法及装置 | |
CN106231235B (zh) | 一种受限环境下远程视频会见方法及系统 | |
CN107506286A (zh) | Cpu和内存块的自动上下线方法和系统 | |
CN102831017B (zh) | 一种高效分布式并行鉴权系统 | |
CN104468710A (zh) | 一种混合大数据处理系统及处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |