专利名称:一种用于服务器自适应自反馈的多线程控制方法及系统的制作方法
技术领域:
本发明涉及流媒体服务器技术领域,特别是一种用于服务器自适应自反馈的多线程控制方法及系统。
背景技术:
近几年流媒体技术广泛应用于教育,会议,安保,娱乐等领域。流媒体服务器作为流媒体技术的核心,其重要程度不言而喻。流媒体服务器作为流媒体服务提供者,为了适应增长的业务需求,需要具有支持 更多视频观看和更高瞬时视频观看请求能力。要求流媒体服务器支持大容量和高并发能力目前高清视频格式的流行,要求流媒体服务器能够处理更高负载的媒体流,也就是说流媒体服务器需要支持高负载能力。普通控制系统是一种基于恒定参数的数学模型的控制方法,普通控制系统具有一定的适应能力,但是当系统内部特性变化或者外部扰动的变化幅度很大时,系统的性能就会下降,不能够提供足够的性能,甚至还会产生不稳定影响,造成系统的不稳定。
发明内容
本发明的主要目的在于解决现有技术中存在的问题,提供一种用于服务器自适应自反馈的多线程控制方法及系统,基于对可变参数的数学模型的控制,使系统在运行过程中不断完善有关模型,从而合理利用服务器的硬件资源。本发明的目的是通过下述技术方案予以实现的一种用于服务器自适应自反馈的多线程控制方法,其特征在于,包括设置事件,在线程池中查找处于低负载状态的线程,并将待设置事件绑定至该线程;等待事件,监控事件触发条件是否满足,当事件触发条件满足后,进入处理事件过程;处理事件,被绑定线程执行所述事件,完成该事件任务;以及释放事件,从该被绑定线程中释放执行完成的事件。
在所述设置事件过程完成后,还包括有对线程池负载状况的更新步骤将所设置事件的负载量增加到所绑定线程的负载量上,以更新设置后的该线程的
η
总负载量Lt ;单线程的总负载量计算公式为·Α=ΣΕ ,其中,Ei为第i个事件负载权重;n
O
为该线程中的事件个数;根据该更新后的该线程的总负载量Lt,更新计算线程池的平均负载量Ap ;线程池
m
的平均负载量公式为^ =£二其中,Ap为线程池的平均负载量,m为线程池中的线程个
P m ’数。
在所述释放事件过程完成后,还包括有对线程池负载状况的更新步骤将所释放事件的负载量从所绑定线程的负载量上删除,以更新设置后的该线程的
总负载量Lt ;单线程的总负载量计算公式为
权利要求
1.一种用于服务器自适应自反馈的多线程控制方法,其特征在于,包括 设置事件,在线程池中查找处于低负载状态的线程,并将待设置事件绑定至该线程; 等待事件,监控事件触发条件是否满足,当事件触发条件满足后,进入处理事件过程; 处理事件,被绑定线程执行所述事件,完成该事件任务;以及 释放事件,从该被绑定线程中释放执行完成的事件。
2.如权利要求I所述的用于服务器自适应自反馈的多线程控制方法,其特征在于在所述设置事件过程完成后,还包括有对线程池负载状况的更新步骤 将所设置事件的负载量增加到所绑定线程的负载量上,以更新设置后的该线程的总负 载量Lt ;单线程的总负载量计算公式为
3.如权利要求I所述的用于服务器自适应自反馈的多线程控制方法,其特征在于在所述释放事件过程完成后,还包括有对线程池负载状况的更新步骤 将所释放事件的负载量从所绑定线程的负载量上删除,以更新设置后的该线程的总负 载量Lt ;单线程的总负载量计算公式为
4.如权利要求2或3所述的用于服务器自适应自反馈的多线程控制方法,其特征在于所述事件分为读事件、写事件、更新事件、创建事件、关闭事件、空闲事件、超时事件、销毁事件八种基本事件类型;根据各个事件类型的不同定义不同的事件负载权重。
5.如权利要求I所述的用于服务器自适应自反馈的多线程控制方法,其特征在于在所述设置事件过程中,线程是否处于低负载状态是通过负载匹配条件判断的;所述负载匹配条件为Lt < Ap+P ;其中,Lt为该线程的总负载量,Ap为线程池的平均负载量,P为线程匹配阀值。
6.如权利要求5所述的用于服务器自适应自反馈的多线程控制方法,其特征在于所述服务器查找线程负载状况的方式是采用依序循环轮询的方式。
7.如权利要求I所述的用于服务器自适应自反馈的多线程控制方法,其特征在于所述等待事件过程中的事件触发条件为用户指令触发和/或前置事件触发条件。
8.一种用于服务器自适应自反馈的多线程控制系统,其特征在于,包括设置事件模块、等待事件模块、处理事件模块和释放事件模块; 所述设置事件模块,用于在线程池中查找处于低负载状态的线程,并将待设置事件绑定至该线程;所述等待事件模块,用于监控事件触发条件是否满足,当事件触发条件满足后,进入处理事件过程; 所述处理事件模块,用于使被绑定线程执行所述事件,完成该事件任务;以及 所述释放事件模块,用于从该被绑定线程中释放执行完成的事件。
9.如权利要求8所述的用于服务器自适应自反馈的多线程控制系统,其特征在于还设有线程池负载状况计算模块;所述线程池负载状况计算模块包括有线程负载计算模块,线程总负载量存储模块和线程池平均负载量存储模块; 所述线程总负载量存储模块,用于存储各个单线程的总负载量; 所述线程池平均负载量存储模块,用于存储线程池的平均负载量; 所述线程负载计算模块,用于根据设置或释放的事件的事件负载权重计算该事件所绑定线程更新后的总负载量Lt,并将计算结果存储于线程总负载量存储模块中,单线程的总 负载量计算公式为
10.如权利要求9所述的用于服务器自适应自反馈的多线程控制系统,其特征在于所述事件分为读事件、写事件、更新事件、创建事件、关闭事件、空闲事件、超时事件、销毁事件八种基本事件类型;根据各个事件类型的不同定义不同的事件负载权重。
11.如权利要求8所述的用于服务器自适应自反馈的多线程控制系统,其特征在于所述设置事件模块中设有线程匹配模块;所述线程匹配模块,用于通过负载匹配条件判断线程是否处于低负载状态,并将待设置事件绑定至处于低负载状态的线程;所述负载匹配条件为Lt < Ap+P ;其中,Lt为该线程的总负载量,Ap为线程池的平均负载量,P为线程匹配阀值。
12.如权利要求11所述的用于服务器自适应自反馈的多线程控制系统,其特征在于该线程匹配模块查找线程负载状况的方式是采用依序循环轮询的方式。
13.如权利要求8所述的用于服务器自适应自反馈的多线程控制系统,其特征在于所述等待事件模块中的事件触发条件为用户指令触发和/或前置事件触发条件。
全文摘要
本发明提供了一种用于服务器自适应自反馈的多线程控制方法及系统,包括设置事件,在线程池中查找处于低负载状态的线程,并将待设置事件绑定至该线程;等待事件,监控事件触发条件是否满足,当事件触发条件满足后,进入处理事件过程;处理事件,被绑定线程执行所述事件,完成该事件任务;释放事件,从该被绑定线程中释放执行完成的事件。通过该多线程控制方法及系统,基于对可变参数的数学模型的控制,使系统在运行过程中不断完善有关模型,从而合理利用服务器的硬件资源。
文档编号H04L29/08GK102664934SQ20121010001
公开日2012年9月12日 申请日期2012年4月6日 优先权日2012年4月6日
发明者刘卫国, 单衍景, 蒋国兴, 谢泳江, 赵月军 申请人:北京华夏电通科技股份有限公司