CN102262564A - 视频监控平台***的线程池结构及实现方法 - Google Patents

视频监控平台***的线程池结构及实现方法 Download PDF

Info

Publication number
CN102262564A
CN102262564A CN 201110234302 CN201110234302A CN102262564A CN 102262564 A CN102262564 A CN 102262564A CN 201110234302 CN201110234302 CN 201110234302 CN 201110234302 A CN201110234302 A CN 201110234302A CN 102262564 A CN102262564 A CN 102262564A
Authority
CN
China
Prior art keywords
thread
task
formation
binding
pool
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.)
Pending
Application number
CN 201110234302
Other languages
English (en)
Inventor
谢晓霞
于新强
黄博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Tianxiang Shilian Network Technology Co Ltd
Original Assignee
Tianjin Tianxiang Shilian Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Tianxiang Shilian Network Technology Co Ltd filed Critical Tianjin Tianxiang Shilian Network Technology Co Ltd
Priority to CN 201110234302 priority Critical patent/CN102262564A/zh
Publication of CN102262564A publication Critical patent/CN102262564A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Closed-Circuit Television Systems (AREA)

Abstract

本发明的视频监控平台***的线程池结构及实现方法,包括:管理线程、任务队列、空闲线程队列、绑定任务线程队列、消息回调。管理线程从任务队列取得任务;根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程添加到繁忙线程队列,线程执行任务后均会返回线程池;能够避免频繁创建和销毁线程带来的不稳定性以及开销;上层应用的错误不会引起线程池异常;本发明构建了一个通用的线程池体系结构,可以让开发人员方便、快捷地在这个体系上开发适用于大规模并发稳定的应用服务;线程池的结构具有高度的抽象性,从而简化了工作,提高了工作效率。

Description

视频监控平台***的线程池结构及实现方法
技术领域
本发明涉及视频监控的技术领域,具体说是一种适用于多线程处理环境、能够提供稳定运行的视频监控平台***的线程池结构及实现方法。
背景技术
Linux作为服务器的***平台,一般都须要求高可靠的7*24小时运行的应用服务程序,其中网络通信服务又占了很大的比重,这就对这些应用***的并发处理能力、稳定性等方面提出了很高的要求。通常情况下,为了满足应用程序在性能上的要求,一般会采用多线程模式,但这种模式消耗在创建和销毁线程上的时间或者资源太多,所以采用线程池方式。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在有需求时唤醒线程执行这些任务。线程池的线程都是后台线程.每个线程都使用配置的堆栈大小,以默认的优先级运行,并处于多线程单元中.适用于boss/work、生产者/消费者等线程模型。
如果线程池所有线程都拥有任务时,线程池将创建一定数量的新线程,但线程的数目永远不会超过最大值。
发明内容
本发明要解决的技术问题是提供一种适用于多线程处理环境、能够提供稳定运行的视频监控平台***的线程池结构及实现方法。
本发明为解决公知技术中存在的技术问题所采取的技术方案是:
本发明的视频监控平台***的线程池结构,包括:管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号;任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程队列取得相应绑定线程,并让其执行已绑定的任务回调,执行完后该线程回到绑定任务线程队列中,直到上层应用解除绑定,解除绑定后线程进入空闲线程队列;消息回调,线程池处理完上层应用任务请求后,将结果通过消息回调通知上层应用。
视频监控平台***的线程池实现方法,包括以下步骤:
1)上层应用通过线程池任务接口将任务投递添加到任务队列; 
2)管理线程从任务队列取得任务;
3)根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程到繁忙线程队列,分别执行相应任务回调;
4)上述两个相应的线程执行任务后分别返回线程池;
5)将处理任务结果通过消息回调向上层应用进行通知。
包括管理线程在内的所有线程空闲时均为挂起即睡眠状态,需要时才将其唤醒。
本发明具有的优点和积极效果是: 
本发明的视频监控平台***的线程池结构及实现方法,能够避免频繁创建和销毁线程带来的不稳定性以及开销;上层应用的错误不会引起线程池异常;本发明构建了一个通用的线程池体系结构,可以让开发人员方便、快捷地在这个体系上开发适用于大规模并发稳定的应用服务;线程池的结构具有高度的抽象性,这样开发人员不用再关心线程的具体处理或管理逻辑,只需关心具体的客户请求任务处理,从而简化了工作,提高了工作效率;本发明的视频监控平台***的线程池结构及实现方法适用于多种线程模型,例如Boss/Work、生产者/消费者等。
附图说明
图1是本发明的视频监控平台***的线程池的示意图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明。
图1是本发明的视频监控平台***的线程池的示意图。  
如图1所示,本发明的视频监控平台***的线程池结构,包括:管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号;任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程队列取得相应绑定线程,并让其执行已绑定的任务回调,执行完后该线程回到绑定任务线程队列中,直到上层应用解除绑定,解除绑定后线程进入空闲线程队列;消息回调,线程池处理完上层应用任务请求后,将结果通过消息回调通知上层应用。
视频监控平台***的线程池实现方法,包括以下步骤:
1)上层应用通过线程池任务接口将任务投递添加到任务队列; 
2)管理线程从任务队列取得任务;
3)根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程到繁忙线程队列,分别执行相应任务回调;
4)上述两个相应的线程执行任务后分别返回线程池;
5)将处理任务结果通过消息回调向上层应用进行通知。
包括管理线程在内的所有线程空闲时均为挂起即睡眠状态,需要时才将其唤醒。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例公开如上,然而,并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当然会利用揭示的技术内容作出些许更动或修饰,成为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围内。

Claims (3)

1.一种视频监控平台***的线程池结构,其特征在于,包括:管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号;任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程队列取得相应绑定线程,并让其执行已绑定的任务回调,执行完后该线程回到绑定任务线程队列中,直到上层应用解除绑定,解除绑定后线程进入空闲线程队列;消息回调,线程池处理完上层应用任务请求后,将结果通过消息回调通知上层应用。
2.一种基于权利要求1所述线程池结构的视频监控平台***的线程池实现方法,包括以下步骤:
1)上层应用通过线程池任务接口将任务投递添加到任务队列; 
2)管理线程从任务队列取得任务;
3)根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程到繁忙线程队列,分别执行相应任务回调;
4)上述两个相应的线程执行任务后分别返回线程池;
5)将处理任务结果通过消息回调向上层应用进行通知。
3.根据权利要求2所述的视频监控平台***的线程池实现方法,其特征在于:包括管理线程在内的所有线程空闲时均为挂起即睡眠状态,需要时才将其唤醒。
CN 201110234302 2011-08-16 2011-08-16 视频监控平台***的线程池结构及实现方法 Pending CN102262564A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110234302 CN102262564A (zh) 2011-08-16 2011-08-16 视频监控平台***的线程池结构及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110234302 CN102262564A (zh) 2011-08-16 2011-08-16 视频监控平台***的线程池结构及实现方法

Publications (1)

Publication Number Publication Date
CN102262564A true CN102262564A (zh) 2011-11-30

Family

ID=45009201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110234302 Pending CN102262564A (zh) 2011-08-16 2011-08-16 视频监控平台***的线程池结构及实现方法

Country Status (1)

Country Link
CN (1) CN102262564A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164267A (zh) * 2013-03-29 2013-06-19 汉柏科技有限公司 无锁消息队列实现方法
CN103218264A (zh) * 2013-03-26 2013-07-24 广东威创视讯科技股份有限公司 基于线程池的多线程有限状态机切换方法及装置
CN103473129A (zh) * 2013-09-18 2013-12-25 柳州市博源环科科技有限公司 线程数目可伸缩的多任务队列调度***及其实现方法
WO2014082562A1 (en) * 2012-11-29 2014-06-05 Tencent Technology (Shenzhen) Company Limited Method, device, and system for information processing based on distributed buses
CN106095546A (zh) * 2016-06-01 2016-11-09 深圳市永兴元科技有限公司 云计算平台的任务管理方法及装置
CN106371907A (zh) * 2016-08-30 2017-02-01 乐视控股(北京)有限公司 任务的执行方法及装置
CN106383749A (zh) * 2016-09-14 2017-02-08 郑州云海信息技术有限公司 一种线程管理方法及装置
CN106502773A (zh) * 2016-10-09 2017-03-15 武汉斗鱼网络科技有限公司 具有同步回调信息功能的数据异步处理方法及模块
CN106547612A (zh) * 2016-10-18 2017-03-29 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN106559447A (zh) * 2015-09-25 2017-04-05 中兴通讯股份有限公司 Jslee容器的业务处理方法及***
CN106648646A (zh) * 2016-12-13 2017-05-10 深圳市元征软件开发有限公司 线程管理方法及装置
CN106874083A (zh) * 2017-01-03 2017-06-20 杭州医学院 一种数采***人机接口任务调度方法
CN107491350A (zh) * 2017-09-05 2017-12-19 武汉斗鱼网络科技有限公司 接口任务调用方法及装置
CN107832146A (zh) * 2017-10-27 2018-03-23 北京计算机技术及应用研究所 高可用集群***中的线程池任务处理方法
CN107945430A (zh) * 2017-11-24 2018-04-20 上海动联信息技术股份有限公司 一种用于智能pos机的基于串口的双向并发通讯方法
CN108616606A (zh) * 2018-08-01 2018-10-02 湖南恒茂高科股份有限公司 一种物联网通信方法及装置
CN108810557A (zh) * 2017-07-10 2018-11-13 北京视联动力国际信息技术有限公司 一种视频处理方法、装置、电子设备和存储介质
CN109388485A (zh) * 2018-09-26 2019-02-26 广州虎牙信息科技有限公司 一种任务执行线程的处理方法、装置、设备及存储介质
CN112035255A (zh) * 2020-08-28 2020-12-04 北京浪潮数据技术有限公司 线程池资源管理任务处理方法、装置、设备及存储介质
CN112148493A (zh) * 2020-09-30 2020-12-29 武汉中科通达高新技术股份有限公司 一种流媒体任务管理方法及装置、数据服务器
CN113391896A (zh) * 2021-06-15 2021-09-14 北京京东振世信息技术有限公司 任务处理方法及装置、存储介质及电子设备
CN113722078A (zh) * 2021-11-02 2021-11-30 西安热工研究院有限公司 一种基于线程池高并发数据库访问方法、***及设备
CN116578404A (zh) * 2023-07-07 2023-08-11 北京趋动智能科技有限公司 线程管理方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588316A (zh) * 2004-06-29 2005-03-02 北京大学 应用服务器的性能优化方法
CN101599027A (zh) * 2009-06-30 2009-12-09 中兴通讯股份有限公司 一种线程池管理方法及其***
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法
CN101738997A (zh) * 2009-10-30 2010-06-16 深圳市科陆电子科技股份有限公司 多线程电力负控***及控制方法
WO2011012157A1 (en) * 2009-07-28 2011-02-03 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for processing events in a telecommunications network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588316A (zh) * 2004-06-29 2005-03-02 北京大学 应用服务器的性能优化方法
CN101599027A (zh) * 2009-06-30 2009-12-09 中兴通讯股份有限公司 一种线程池管理方法及其***
WO2011012157A1 (en) * 2009-07-28 2011-02-03 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for processing events in a telecommunications network
CN101738997A (zh) * 2009-10-30 2010-06-16 深圳市科陆电子科技股份有限公司 多线程电力负控***及控制方法
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014082562A1 (en) * 2012-11-29 2014-06-05 Tencent Technology (Shenzhen) Company Limited Method, device, and system for information processing based on distributed buses
CN103218264A (zh) * 2013-03-26 2013-07-24 广东威创视讯科技股份有限公司 基于线程池的多线程有限状态机切换方法及装置
CN103164267A (zh) * 2013-03-29 2013-06-19 汉柏科技有限公司 无锁消息队列实现方法
CN103473129A (zh) * 2013-09-18 2013-12-25 柳州市博源环科科技有限公司 线程数目可伸缩的多任务队列调度***及其实现方法
CN103473129B (zh) * 2013-09-18 2017-01-18 深圳前海大数金融服务有限公司 线程数目可伸缩的多任务队列调度***及其实现方法
CN106559447A (zh) * 2015-09-25 2017-04-05 中兴通讯股份有限公司 Jslee容器的业务处理方法及***
CN106095546A (zh) * 2016-06-01 2016-11-09 深圳市永兴元科技有限公司 云计算平台的任务管理方法及装置
CN106371907A (zh) * 2016-08-30 2017-02-01 乐视控股(北京)有限公司 任务的执行方法及装置
CN106383749A (zh) * 2016-09-14 2017-02-08 郑州云海信息技术有限公司 一种线程管理方法及装置
CN106502773A (zh) * 2016-10-09 2017-03-15 武汉斗鱼网络科技有限公司 具有同步回调信息功能的数据异步处理方法及模块
CN106547612B (zh) * 2016-10-18 2020-10-20 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN106547612A (zh) * 2016-10-18 2017-03-29 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN106648646A (zh) * 2016-12-13 2017-05-10 深圳市元征软件开发有限公司 线程管理方法及装置
CN106874083A (zh) * 2017-01-03 2017-06-20 杭州医学院 一种数采***人机接口任务调度方法
CN106874083B (zh) * 2017-01-03 2019-06-28 杭州医学院 一种数采***人机接口任务调度方法
CN108810557A (zh) * 2017-07-10 2018-11-13 北京视联动力国际信息技术有限公司 一种视频处理方法、装置、电子设备和存储介质
CN107491350A (zh) * 2017-09-05 2017-12-19 武汉斗鱼网络科技有限公司 接口任务调用方法及装置
CN107491350B (zh) * 2017-09-05 2018-08-10 武汉斗鱼网络科技有限公司 接口任务调用方法及装置
CN107832146A (zh) * 2017-10-27 2018-03-23 北京计算机技术及应用研究所 高可用集群***中的线程池任务处理方法
CN107945430A (zh) * 2017-11-24 2018-04-20 上海动联信息技术股份有限公司 一种用于智能pos机的基于串口的双向并发通讯方法
CN108616606B (zh) * 2018-08-01 2021-10-26 湖南恒茂高科股份有限公司 一种物联网通信方法及装置
CN108616606A (zh) * 2018-08-01 2018-10-02 湖南恒茂高科股份有限公司 一种物联网通信方法及装置
CN109388485A (zh) * 2018-09-26 2019-02-26 广州虎牙信息科技有限公司 一种任务执行线程的处理方法、装置、设备及存储介质
CN112035255A (zh) * 2020-08-28 2020-12-04 北京浪潮数据技术有限公司 线程池资源管理任务处理方法、装置、设备及存储介质
CN112148493A (zh) * 2020-09-30 2020-12-29 武汉中科通达高新技术股份有限公司 一种流媒体任务管理方法及装置、数据服务器
CN113391896A (zh) * 2021-06-15 2021-09-14 北京京东振世信息技术有限公司 任务处理方法及装置、存储介质及电子设备
CN113391896B (zh) * 2021-06-15 2023-09-22 北京京东振世信息技术有限公司 任务处理方法及装置、存储介质及电子设备
CN113722078A (zh) * 2021-11-02 2021-11-30 西安热工研究院有限公司 一种基于线程池高并发数据库访问方法、***及设备
CN116578404A (zh) * 2023-07-07 2023-08-11 北京趋动智能科技有限公司 线程管理方法、装置、存储介质及电子设备
CN116578404B (zh) * 2023-07-07 2024-01-19 北京趋动智能科技有限公司 线程管理方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN102262564A (zh) 视频监控平台***的线程池结构及实现方法
US8381212B2 (en) Dynamic allocation and partitioning of compute nodes in hierarchical job scheduling
US8140668B2 (en) Pre-scheduling the timelines of virtual machines
CN107025139A (zh) 一种基于云计算的高性能计算调度框架
CN101694633A (zh) 计算机作业调度设备、方法及***
US7493436B2 (en) Interrupt handling using simultaneous multi-threading
US20150095917A1 (en) Distributed uima cluster computing (ducc) facility
CN104572290A (zh) 消息处理线程的控制方法及装置
CN101464810A (zh) 服务程序处理方法及服务器
US11182217B2 (en) Multilayered resource scheduling
US8671306B2 (en) Scaling out a messaging system
US20200186594A1 (en) Rule-based action triggering in a provider network
CN102902589A (zh) 一种集群mic作业的管理及调度方法
CN102833310A (zh) 一种基于虚拟化技术的工作流引擎集群***
Simoncelli et al. Stream-monitoring with blockmon: convergence of network measurements and data analytics platforms
US9832137B1 (en) Provisioning system and method for a distributed computing environment using a map reduce process
Frantz et al. An efficient orchestration engine for the cloud
CN113424152A (zh) 多租户分布式***中的基于工作流的调度和批处理
Megino et al. Managing the atlas grid through harvester
CN104468710A (zh) 一种混合大数据处理***及处理方法
Liu et al. KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes
CN103514036A (zh) 一种用于事件触发和批量处理的调度***和方法
CN103019844B (zh) 一种支持多线程调用mpi函数的方法和装置
CN102681885A (zh) 一种业务分离的媒资***
CN105700949A (zh) 一种多核处理器下的数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111130