一种服务器集群中计算任务分布式调度装置.pdf

上传人:1*** 文档编号:1520372 上传时间:2018-06-20 格式:PDF 页数:13 大小:998KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410690581.6

申请日:

2014.11.26

公开号:

CN104363300A

公开日:

2015.02.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20141126|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

浙江宇视科技有限公司

发明人:

成浩

地址:

310051浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层

优先权:

专利代理机构:

杭州求是专利事务所有限公司33200

代理人:

叶志坚

PDF下载: PDF下载
内容摘要

本发明公开了一种服务器集群中计算任务分布式调度装置,将来自于前端设备的计算任务调度到所述服务器集群中的处理服务器中进行计算处理,包括用于接受处理服务器的注册,并接收其上报的计算资源信息和负载信息的注册管理模块,用于为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备的分配模块,以及用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务的协调模块。本发明的调度装置降低了管理服务器的工作压力,还自动实现处理服务器过载的自动调整,保障了服务器集群的负载均衡。

权利要求书

权利要求书1.  一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的管理服务器,将来自于前端设备的计算任务调度到所述服务器集群中的处理服务器中进行计算处理,其特征在于,所述调度装置包括注册管理模块、分配模块和协调模块,其中:注册管理模块,用于接受处理服务器的注册,并接收处理服务器上报的计算资源信息和负载信息;分配模块,用于根据所注册的处理服务器的计算资源信息预估出所注册的处理服务器的处理能力,以及对前端设备所产生的计算任务数量的预估,为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备;协调模块,用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务。2.  根据权利要求1所述的调度装置,其特征在于,所述协调模块还用于向发出协助请求的处理服务器返回协调成功或失败的应答消息。3.  根据权利要求1所述的调度装置,其特征在于,所述负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率,所述注册管理模块还用于接收处理服务器上报的负载信息,并结合该处理服务器所发出的协助请求数量及所绑定的前端设备信息,形成负载及处理能力表。4.  根据权利要求3所述的调度装置,其特征在于,所述分配模块还根据注册管理模块形成的所述负载及处理能力表,查找剩余处理能力最大的处理服务器,将新增加的前端设备绑定到所查找到的剩余处理能力最大的处理服务器。5.  根据权利要求3所述的调度装置,其特征在于,所述分配模块还根据注册管理模块形成的所述负载及处理能力表,根据处理服务器发出的协助请求数量,判断出需进行调整的过载处理服务器,将该过载处理服务 器上超出其处理能力的前端设备绑定到其他具有剩余处理能力的处理服务器上。6.  一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的处理服务器,来自于前端设备的计算任务被调度到所述处理服务器中进行计算处理,其特征在于,所述服务器集群还包括管理服务器,所述调度装置包括注册及资源上报模块、计算任务处理模块和请求协助模块,其中:注册及资源上报模块,用于向管理服务器注册,定期采集自身的计算资源信息、负载信息,并上报到管理服务器;计算任务处理模块,用于接收来自前端设备的计算任务并缓存到请求队列,依次对请求队列中的计算任务进行计算处理;请求协助模块,根据计算任务处理模块的请求队列,当请求队列的长度超过规定的阈值时,向管理服务器发送协助请求,协助请求中包括请求队列中排在该阈值之后的计算任务。7.  根据权利要求6所述的调度装置,其特征在于,所述请求协助模块还用于在接收到所述管理服务器返回的协调成功的应答消息后,通知所述计算任务处理模块在请求队列中删除协助请求所携带的计算任务;在接收到所述管理服务器返回的协调失败的应答消息后,通知所述计算任务处理模块保持协助请求所携带的计算任务在请求队列中的位置,继续依次处理。8.  根据权利要求6所述的调度装置,其特征在于,所述负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率。9.  根据权利要求6所述的调度装置,其特征在于,所述来自前端设备的计算任务包括计算任务数据对应的存储位置索引信息,所述计算任务处理模块在计算处理时,先根据所述存储位置索引信息读取计算任务数据,然后对其进行计算处理。

说明书

说明书一种服务器集群中计算任务分布式调度装置
技术领域
本发明属于数据服务技术领域,尤其涉及一种服务器集群中计算任务分布式调度装置。
背景技术
在城市级的智能交通管理系统中,对大量高清卡口、电子警察等前端设备产生的海量过车图片执行分析处理,成为越来越迫切的需求。对过车图片进行智能分析,提取每一辆过车的车牌、车型、车标、车身颜色等结构化信息,一方面可以方便对犯罪嫌疑车进行联动布控、实时捕获。同时,监控中心对图片分析所产生的过车信息进行深度分析,可以实现套牌分析、车辆轨迹跟踪、跟车关联性分析等交通行业的数据应用业务。
对于大规模的智能交通管理系统来说,由于每秒产生的过车图片总量已经达到数千张甚至上万张,因此单一设备节点已经无法完成海量卡口图片的计算任务,必然要部署较多的计算设备对图片进行处理。在大量部署计算设备的情况下,如果不能合理的将海量图片分配到各设备进行处理,一方面造成设备资源的浪费,同时造成图片处理涉及的大量计算任务无法及时完成,影响利用监控系统处理社会治安、突发事件的响应速度。
现有技术中一种较简单的分配策略是:智能交通管理系统的管理用户通过智能交通管理系统的管理配置界面,按照负载均衡的策略,将基本等同数量的卡口,配置绑定到每一台计算设备。例如:1000台卡口及50台处理服务器组成的智能交通管理系统,按照每台处理服务器处理20台卡口的图片进行绑定配置。即:第1到20台卡口,配置到处理服务器1;第21到40台卡口,配置到处理服务器2,以此类推。上述配置策略将下发到卡口,在卡口生成过车图片、并将图片存储到中心存储设备之后,会向对应的处理服务器,发送图片处理请求消息,消息中携带图片的URL路 径信息。处理服务器收到请求消息之后,首先基于图片索引信息从中心存储设备读取图片文件数据,然后对图片文件进行车牌识别等算法处理。
但是由于卡口过车流量具有明显地域性、时间性的特点,例如城市不同地点的卡口的过车流量会有较大差别,白天上下班高峰期与深夜的过车流量也会有较大差别。同时即使是同一卡口的过车流量,也会受各种因素影响,而导致发生较大变化。比如:恶劣天气、道路维修、城市热点区域变更、城市边缘扩展等,都造成某些道路的卡口过车流量发生较大变化。正是由于这些因素,实际应用中卡口过车图片的产生数量是动态变化的,图片计算量也是动态变化的,无法做到在配置时进行准确预估。
因此,这种一次性将卡口配置绑定到图片处理设备的静态任务分配方式,方案灵活性较差,不能根据实际卡口过车流量,动态调整图片处理的计算设备,很可能造成有些计算设备忙、有些计算设备闲,不能充分利用整个集群的计算资源。
现有技术的另一种技术方案是不为卡口配置绑定处理服务器,所有卡口图片的处理服务器,全部由集群的管理节点进行动态分配。集群所有处理服务器由集群管理节点统一管理,管理节点定期收集所有处理服务器的最新计算资源情况(比如CPU占用率、剩余内存等)、设备状态(正常工作、故障状态)等信息。在卡口产生一张过车图片并将图片写入存储设备后,向管理节点发送图片处理请求消息,消息中携带图片文件的URL路径,请求对该图片进行处理。管理节点基于所收集到的计算设备的资源、状态信息,按照负载均衡原则,选择当前计算资源最充足的处理服务器。选择完成后,将图片处理请求消息转发到对应的处理服务器。处理服务器收到请求消息之后,首先基于图片URL地址从存储设备读取图片文件,然后对图片文件进行车牌识别等算法处理。
然而这种技术方案的缺点也是显而易见的,所有卡口的每一张图片在处理服务器处理之前,都要汇聚到管理节点进行分配处理服务器的处理。对于大型智能交通系统,部署了几千甚至上万个的高清卡口、电子警察设备,峰值期间的每秒过车图片总量达到上万张。每一张图片的处理请求都需要汇聚到管理节点进行分配处理,很容易造成管理节点成为整个系统的 处理瓶颈。同时,城市高清卡口系统规模还在不断扩大,城市车辆数量也将不断上涨,这种方案受管理节点的性能瓶颈限制,可扩展性较低。而如果采用扩展管理节点数量的办法来解决这个问题,比如将管理节点从1台扩展为n台,则多个管理节点之间如何进行集群信息同步、如何协调多台管理节点的调度策略,成为很难解决的技术难点。
因此,如何合理的将卡口图片分配给集群的各设备进行处理,充分利用各设备的计算资源,是智能交通管理系统必须解决的关键问题之一。
发明内容
本发明提供了一种服务器处理集群中计算任务分布式调度装置,采用静态绑定和动态调整相结合的机制,既避免了管理服务器成为整个系统的处理瓶颈的同时,又避免了静态绑定时,处理服务器处理任务不均衡,无法充分利用集群计算资源的问题。
为了实现上述目的,本发明技术方案如下:
一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的管理服务器,将来自于前端设备的计算任务调度到所述服务器集群中的处理服务器中进行计算处理,所述调度装置包括注册管理模块、分配模块和协调模块,其中:
注册管理模块,用于接受处理服务器的注册,并接收处理服务器上报的计算资源信息和负载信息;
分配模块,用于根据所注册的处理服务器的计算资源信息预估出所注册的处理服务器的处理能力,以及对前端设备所产生的计算任务数量的预估,为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备;
协调模块,用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务。
进一步地,所述协调模块还用于向发出协助请求的处理服务器返回协调成功或失败的应答消息。
本发明中,所述负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率,所述注册管理模块还用于接收处理服务器上报的负载信息,并结合该处理服务器所发出的协助请求数量及所绑定的前端设备信息,形成负载及处理能力表。
进一步地,所述分配模块还根据注册管理模块形成的所述负载及处理能力表,查找剩余处理能力最大的处理服务器,将新增加的前端设备绑定到所查找到的剩余处理能力最大的处理服务器;所述分配模块还根据注册管理模块形成的所述负载及处理能力表,根据处理服务器发出的协助请求数量,判断出需进行调整的过载处理服务器,将该过载处理服务器上超出其处理能力的前端设备绑定到其他具有剩余处理能力的处理服务器上。
通过建立负载及处理能力表,进一步增加了服务器集群的动态调整能力,对于新增和过载的处理服务器,进行新的绑定。
本发明还提出了一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的处理服务器,来自于前端设备的计算任务被调度到所述处理服务器中进行计算处理,所述服务器集群还包括管理服务器,所述调度装置包括注册及资源上报模块、计算任务处理模块和请求协助模块,其中:
注册及资源上报模块,用于向管理服务器注册,定期采集自身的计算资源信息、负载信息,并上报到管理服务器;
计算任务处理模块,用于接收来自前端设备的计算任务并缓存到请求队列,依次对请求队列中的计算任务进行计算处理;
请求协助模块,根据计算任务处理模块的请求队列,当请求队列的长度超过规定的阈值时,向管理服务器发送协助请求,协助请求中包括请求队列中排在该阈值之后的计算任务。
进一步地,所述请求协助模块还用于在接收到所述管理服务器返回的协调成功的应答消息后,通知所述计算任务处理模块在请求队列中删除协助请求所携带的计算任务;在接收到所述管理服务器返回的协调失败的应答消息后,通知所述计算任务处理模块保持协助请求所携带的计算任务在请求队列中的位置,继续依次处理。
本发明所述来自前端设备的计算任务包括计算任务数据对应的存储位置索引信息,所述计算任务处理模块在计算处理时,先根据所述存储位置索引信息读取计算任务数据,然后对其进行计算处理。在计算任务中带有计算任务数据对应的存储索引信息,而不是计算任务数据本身,可以减少前端设备向处理服务器发送数据的大小,处理服务器仅在进行任务计算时,才调取计算任务数据,降低了网络传输负担。
本发明提出的一种服务器处理集群中计算任务分布式调度装置,通过静态绑定策略将前端设备先静态绑定到对应的处理服务器,然后根据处理服务器的计算任务负载信息,通过动态调整机制,协调其他处理服务器协助处理。本发明的调度装置降低了管理服务器的工作压力,还自动实现处理服务器过载的自动调整,保障了服务器集群的负载均衡。
附图说明
图1为本发明实施例智能交通管理系统组网示意图;
图2为本发明调度装置实施例一结构示意图;
图3为本发明调度装置实施例二结构示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
对于海量来自前端设备的计算任务,往往采用服务器集群来分布式地完成计算任务的处理。本实施例以如图1所示的智能交通管理系统为例,具体阐述一种服务器集群中计算任务分布式调度装置。智能交通管理系统包括前端设备,存储设备,以及管理服务器和至少一个处理服务器,各设备通过广域网连接。多个处理服务器组成服务器集群,负责处理来自前端设备的计算任务,管理服务器负责管理协调服务器集群中各个处理服务器。管理服务器通常位于智能交通管理系统的管理中心,存储设备和处理服务器可以集中放置在管理中心,也可以分布在智能交通管理系统各个分支区域的管理中心,或者与前端设备放置在一起,本发明不限于具体的组 网形式。
前端设备位于智能交通管理系统的各个卡口或电子警察抓拍的路口,通常包括摄像机、编码器等,本实施例将一个卡口的所有设备作为一个前端设备来考虑。前端设备用来抓拍过车的视频图片,将抓拍的图片保存在存储设备,向处理服务器发送处理请求。在智能交通管理系统中,来自前端设备的处理请求就是要进行分布式调度的计算任务。
实施例一,一种服务器集群中计算任务分布式调度装置,应用于管理服务器。该装置包括注册管理模块、分配模块和协调模块,以下分别具体描述。
注册管理模块,用于接受处理服务器的注册,并接收处理服务器上报的计算资源信息和负载信息。
以智能交通管理系统为例,处理服务器在启动时注册到管理服务器的注册管理模块,并发送保活信息保活,多个处理服务器注册到管理服务器成为服务器集群。处理服务器定期向管理服务器的注册管理模块上报自己的计算资源信息和负载信息。从而管理服务器具有了各个处理服务器的IP地址,以及通过保活消息获知处理服务器的状态是否在线或离线信息,并通过定期接收处理服务器的上报获知处理服务器的计算资源信息和负载信息。其中处理服务器的计算资源信息是指该处理服务器的CPU及内存信息,也可以进一步包括CPU和内存的占用率信息。而负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率。
其中处理服务器的处理能力,在处理服务器没有出现计算任务积压的情况下,处理服务器的处理能力就是每秒处理的最大计算任务数量。即缓存中计算任务请求队列的长度不超过规定的阈值时,处理服务器每秒处理的最大计算任务数量。而在处理服务器出现计算任务积压的情况下,即缓存中计算任务请求队列的长度超过规定的阈值时,处理服务器的处理能力即其最大处理能力。总的输入最大速率是指处理服务器所绑定的所有前端设备输入到处理服务器的计算任务的最大输入速率的总和,即处理服务器每秒收到来自各绑定前端设备的计算任务的总数量。每个前端设备的输入最大速率是指处理服务器所绑定的每个前端设备输入到处理服务器的计 算任务的最大输入速率,即处理服务器每秒收到来自每个绑定前端设备的计算任务的数量。
分配模块,用于根据所注册的处理服务器的计算资源信息预估出所注册的处理服务器的预估处理能力,以及对前端设备所产生的计算任务数量的预估,为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备。
本实施例中,前端设备监控经过的车辆,抓拍视频图片,将视频图片存储在存储设备,并向所绑定的处理服务器发送处理请求。因此来自前端设备的处理请求就是要进行分布式调度的计算任务,首先需要根据该前端设备所在的地段以及历史数据,预估经过该地段的车辆流量,即对应的处理请求数量。进一步可以根据所注册的处理服务器的计算资源信息,估计出所注册的处理服务器的预估处理能力,即每秒可以处理的计算任务数量。从而基于负载均衡的原则,为前端设备分配绑定的处理服务器,分配时在配置文件指定该前端设备绑定的处理服务器。需要说明的是,本实施例在为前端设备分配绑定的处理服务器时采用的负载均衡策略,是使各处理服务器所处理的计算任务数量相对均衡,处理能力越大的处理服务器处理的计算任务越多,各处理服务器在运行时的CPU和内存占用率相对均衡,从而避免有个处理服务器很忙,有些处理服务器很空闲的情况。
例如,智能交通管理系统中有2个处理服务器、30个前端设备。处理服务器1的计算资源信息为:Intel E32核CPU、4G内存,预估能够处理300张图片/秒;处理服务器2的计算资源信息为:Intel I74核CPU、8G内存,预估能够处理500张图片/秒。预估前端设备1-12总的处理请求数量不超过300张图片/秒,前端设备13-30总的处理请求书不超过500张图片/秒。则将前端设备1-12分配给处理服务器1,将前端设备13-30分配给处理服务器2。
由于前端设备上线后会注册到智能交通管理系统的视频管理服务器,分配模块可以从智能交通管理系统的视频管理服务器中获取前端设备的信息,以便管理服务器向其下发所绑定处理服务器的信息,从而在前端设备产生计算任务时,向所绑定的处理服务器发送处理请求。分配模块获知 前端设备信息的方法不限于从视频管理服务器调取,也可以从数据库中抓取,或直接在管理中心配置。
具体地在智能交通管理系统中,前端设备发出的处理请求中携带所存储视频图片的图片索引信息,请求处理服务器对视频图片进行识别,识别出视频图片的结构化信息,比如车牌识别、车标识别、车型识别等。这里的图片索引信息指前端设备抓拍的视频图片存储到存储设备后,对应的在存储设备中的存储位置索引信息,一般用URL路径来表示。
从而在前端设备注册上线后,分配模块从配置文件中读取该前端设备所绑定的处理服务器信息,通过配置消息下发到该前端设备。前端设备收到所绑定的处理服务器信息后,就可以将抓拍的视频图片存储在存储设备,并向所绑定的处理服务器发送处理请求,即将计算任务发送给处理服务器。
协调模块,用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务。
本实施例中,处理服务器接收前端设备发来的处理请求消息,解析处理请求消息中的图片索引信息,并根据URL路径从存储设备中读取对应的视频图片,进行图片识别,提取图片中的结构化信息,比如车牌识别、车标识别、车型识别等。
然而由于过车流量受恶劣天气、道路维修、城市热点区域变更、城市边缘扩展等,都会造成某些道路的过车流量发生较大变化,当发生这些情况时,前端设备发出的处理请求数量会发生突变,其绑定的处理服务器负载过大处理不过来。当处理服务器负载过大时,待处理处理请求消息过多,造成请求消息队列出现一定程度的积压时,处理服务器向管理服务器发送协助请求。管理服务器的协调模块接收到处理服务器发来的协助请求后,根据各处理服务器(除请求协助的处理服务器)的负载、能力,选择负载最轻、剩余能力最多的处理服务器,被选择的处理服务器根据协助请求中携带的需要协助处理的图片索引信息,从存储设备中读取视频图片进行图片识别处理。
具体地,协调模块比较其他处理服务器(除发送该协助请求的处理服务器外)的负载信息,找到服务器集群中每秒能处理的计算任务数量大于自身输入的计算任务加协助请求中包含的计算任务的数量的处理服务器,且每秒收到的计算任务最少的处理服务器,来处理该协助请求中的计算任务。如果找到则将协助请求中的计算任务发给所找到的处理服务器,向发出协助请求的处理服务器返回协调成功的应答消息,否则向发出协助请求的处理服务器返回协调失败的应答消息。
实施例二,一种服务器集群中计算任务分布式调度装置,应用于处理服务器。该装置包括:
注册及资源上报模块,用于向管理服务器注册,定期采集自身的计算资源信息、负载信息,并上报到管理服务器。
以智能交通管理系统为例,服务器集群中的处理服务器的注册及资源上报模块在启动时注册到管理服务器,并发送保活信息保活。并定期采集自身的计算资源信息、负载信息,上报到管理服务器。从而管理服务器能够掌握各处理服务器的计算资源信息和负载信息,以便在收到其他处理服务器的协调请求后,根据各处理服务器的负载信息来进行协调。
计算任务处理模块,接收来自前端设备的计算任务并缓存到请求队列,依次对请求队列中的计算任务进行计算处理。
在本实施例中,首先对来自前端设备的计算任务在缓存中排序,形成请求队列,以便在后续根据请求队列的长度判断处理服务器是否过载。
计算任务处理模块在具体处理中,先需要解析出处理请求中包含的图片索引信息,并根据该图片索引信息读取对应的图片数据,进行图片识别。即解析出该处理请求中携带的视频图片的URL路径,并根据该URL路径从存储设备中读取图片数据,进行图片识别。
请求协助模块,根据计算任务处理模块的请求队列,当请求队列的长度超过规定的阈值时,向管理服务器发送协助请求,协助请求中包括请求队列中排在该阈值之后的计算任务。
当计算任务的请求队列超过一定的阈值,比如128个,则将超过该阈值(128个)的计算任务(例如32个)复制到协助请求中,发送给管理服 务器。
请求协助模块还根据接收的来自管理服务器的应答消息,通知计算任务处理模块做如下处理:
如果接收到成功的应答消息,则在请求队列中删除协助请求所携带的计算任务;
如果接收到失败的应答消息,则保持协助请求所携带的计算任务在请求队列中的位置,继续依次处理。
本实施例中,由于各前端设备的计算任务的数量可能在不断变动,特别是出现持续增长的情况下,其绑定的处理服务器可能会持续处于过载状况,这时候需要对处理服务器与前端设备的绑定关系进行动态调整。或者当有新增的前端设备时,需要为新增的前端设备绑定处理服务器。这些情况都需要掌握各个处理服务器的负载信息,为此处理服务器需要定期(例如每小时)收集自身的负载信息,其中处理服务器的计算任务处理能力、总的输入最大速率和每个前端设备的输入最大速率都是以计算任务数量/秒为单位,在本实施例中就是处理请求数量/秒,也即所要识别的图片数量/秒。处理服务器间隔一定的周期如每小时,将本周期内的统计数据上报到管理服务器。
管理服务器在收到处理服务器上报的这些数据后,形成各处理服务器的负载及处理能力表,如表1所示。同时在表1中还记录各处理服务器所发送的协助请求的次数。


表1
本实施例的注册管理模块接收处理服务器上报的负载信息后,结合处理服务器所发出的协助请求数量以及绑定的前端设备信息,形成处理服务器的负载及处理能力表。分配模块从注册管理模块获知表1的数据,对新增的前端设备,以及过载的处理服务器进行动态调整,以下分别描述调整过程。
对于新增的前端设备:在智能交通管理系统中新增加前端设备时,管理服务器的分配模块基于表1,将新增的前端设备自动绑定到剩余处理能力最大的处理服务器。例如对于表1,处理服务器3具有剩余处理能力,则将新增的前端设备绑定到处理服务器3。
需要说明的是,本实施例提到的剩余处理能力,是指处理服务器的最大处理能力与总的输入最大速率的差。当新增加前端设备后,如果各处理服务器都负载较高,例如都满负荷在运行时,没有剩余处理能力,或剩余处理能力还不够处理新增的前端设备的预估的计算任务,则分配模块需要发出告警信息,通知管理人员增加新的处理服务器。
对于过载的处理服务器:分配模块根据表1的数据,对前端设备与处理服务器的绑定关系做出动态的调整,调整策略包括两种:
第一种,每隔一定周期(例如1个月)进行一次判断,对于没有发出过协助请求的处理服务器,说明该处理服务器的计算任务都在其正常的处理能力范围内,不需要进行调整;对于具有协助请求的处理服务器,说明其计算任务超过其处理能力,需要触发调整过程。
另一种是当所有处理服务器的协助请求数量超过一定的阈值(例如10次)触发调整过程。
具体地,调整过程中对于发出过协助请求的处理服务器,将该处理服务器超出其处理能力的部分前端设备,分配给其他处理能力有剩余的处理服务器。
其中,对于新绑定的处理服务器,新绑定的前端设备的计算任务最大输入速率与该处理服务器现有总的最大输入速率之和,不超过该处理服务器的最大处理能力。当处理服务器还没有出现协助请求时,其最大处理能力是无法评估的,因此本实施例中在无法评估时,处理服务器的最大能力等同于默认值,即出现协助请求的处理服务器的最大能力值中的最小值。
下面以表1为例,进行具体说明:
由于处理服务器1出现协助请求,因此需要对处理服务器1进行调整。在表1中,处理服务器3是计算任务输入最轻的处理服务器,且将前端设备3绑定到处理服务器3后,处理服务器3的计算任务输入最大速率不会超过其最大处理能力(320/秒)。因此将前端设备3绑定到处理服务器3,同时更新表1。
在调整后,管理服务器将前端设备3绑定到处理服务器3的信息,通过配置消息下发到前端设备3,前端设备3收到之后,后续的处理请求将发到处理服务器3进行处理。更新后的负载及处理能力表如表2所示:

表2
因此分配模块,首先根据处理服务器发出的协助请求数量,判断出需进行调整的过载处理服务器,然后将该过载处理服务器上超出其处理能力 的前端设备绑定到其他具有剩余处理能力的处理服务器上。
同样,如果其他的处理服务器的剩余处理能力不够处理过载处理服务器上超出其处理能力的前端设备的最大输入速率时,则分配模块需要发出告警信息,通知管理人员增加新的处理服务器。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

一种服务器集群中计算任务分布式调度装置.pdf_第1页
第1页 / 共13页
一种服务器集群中计算任务分布式调度装置.pdf_第2页
第2页 / 共13页
一种服务器集群中计算任务分布式调度装置.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种服务器集群中计算任务分布式调度装置.pdf》由会员分享,可在线阅读,更多相关《一种服务器集群中计算任务分布式调度装置.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104363300 A(43)申请公布日 2015.02.18CN104363300A(21)申请号 201410690581.6(22)申请日 2014.11.26H04L 29/08(2006.01)(71)申请人浙江宇视科技有限公司地址 310051 浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层(72)发明人成浩(74)专利代理机构杭州求是专利事务所有限公司 33200代理人叶志坚(54) 发明名称一种服务器集群中计算任务分布式调度装置(57) 摘要本发明公开了一种服务器集群中计算任务分布式调度装置,将来自于前端设备的计算任务调度到所述服务器集群中。

2、的处理服务器中进行计算处理,包括用于接受处理服务器的注册,并接收其上报的计算资源信息和负载信息的注册管理模块,用于为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备的分配模块,以及用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务的协调模块。本发明的调度装置降低了管理服务器的工作压力,还自动实现处理服务器过载的自动调整,保障了服务器集群的负载均衡。(51)Int.Cl.权利要求书2页 说明书9页 附图1页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2。

3、页 说明书9页 附图1页(10)申请公布号 CN 104363300 ACN 104363300 A1/2页21.一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的管理服务器,将来自于前端设备的计算任务调度到所述服务器集群中的处理服务器中进行计算处理,其特征在于,所述调度装置包括注册管理模块、分配模块和协调模块,其中:注册管理模块,用于接受处理服务器的注册,并接收处理服务器上报的计算资源信息和负载信息;分配模块,用于根据所注册的处理服务器的计算资源信息预估出所注册的处理服务器的处理能力,以及对前端设备所产生的计算任务数量的预估,为前端设备分配绑定的处理服务器,并将绑定的处理服务器。

4、下发到前端设备;协调模块,用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务。2.根据权利要求1所述的调度装置,其特征在于,所述协调模块还用于向发出协助请求的处理服务器返回协调成功或失败的应答消息。3.根据权利要求1所述的调度装置,其特征在于,所述负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率,所述注册管理模块还用于接收处理服务器上报的负载信息,并结合该处理服务器所发出的协助请求数量及所绑定的前端设备信息,形成负载及处理能力表。4.根据权利要求3所述的调度装置,其特征。

5、在于,所述分配模块还根据注册管理模块形成的所述负载及处理能力表,查找剩余处理能力最大的处理服务器,将新增加的前端设备绑定到所查找到的剩余处理能力最大的处理服务器。5.根据权利要求3所述的调度装置,其特征在于,所述分配模块还根据注册管理模块形成的所述负载及处理能力表,根据处理服务器发出的协助请求数量,判断出需进行调整的过载处理服务器,将该过载处理服务器上超出其处理能力的前端设备绑定到其他具有剩余处理能力的处理服务器上。6.一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的处理服务器,来自于前端设备的计算任务被调度到所述处理服务器中进行计算处理,其特征在于,所述服务器集群还包括管理服。

6、务器,所述调度装置包括注册及资源上报模块、计算任务处理模块和请求协助模块,其中:注册及资源上报模块,用于向管理服务器注册,定期采集自身的计算资源信息、负载信息,并上报到管理服务器;计算任务处理模块,用于接收来自前端设备的计算任务并缓存到请求队列,依次对请求队列中的计算任务进行计算处理;请求协助模块,根据计算任务处理模块的请求队列,当请求队列的长度超过规定的阈值时,向管理服务器发送协助请求,协助请求中包括请求队列中排在该阈值之后的计算任务。7.根据权利要求6所述的调度装置,其特征在于,所述请求协助模块还用于在接收到所述管理服务器返回的协调成功的应答消息后,通知所述计算任务处理模块在请求队列中删除。

7、协助请求所携带的计算任务;在接收到所述管理服务器返回的协调失败的应答消息后,通知所述计算任务处理模块保持协助请求所携带的计算任务在请求队列中的位置,继权 利 要 求 书CN 104363300 A2/2页3续依次处理。8.根据权利要求6所述的调度装置,其特征在于,所述负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率。9.根据权利要求6所述的调度装置,其特征在于,所述来自前端设备的计算任务包括计算任务数据对应的存储位置索引信息,所述计算任务处理模块在计算处理时,先根据所述存储位置索引信息读取计算任务数据,然后对其进行计算处理。权 利 要 求 书CN 104363300 A1/9。

8、页4一种服务器集群中计算任务分布式调度装置技术领域0001 本发明属于数据服务技术领域,尤其涉及一种服务器集群中计算任务分布式调度装置。背景技术0002 在城市级的智能交通管理系统中,对大量高清卡口、电子警察等前端设备产生的海量过车图片执行分析处理,成为越来越迫切的需求。对过车图片进行智能分析,提取每一辆过车的车牌、车型、车标、车身颜色等结构化信息,一方面可以方便对犯罪嫌疑车进行联动布控、实时捕获。同时,监控中心对图片分析所产生的过车信息进行深度分析,可以实现套牌分析、车辆轨迹跟踪、跟车关联性分析等交通行业的数据应用业务。0003 对于大规模的智能交通管理系统来说,由于每秒产生的过车图片总量已。

9、经达到数千张甚至上万张,因此单一设备节点已经无法完成海量卡口图片的计算任务,必然要部署较多的计算设备对图片进行处理。在大量部署计算设备的情况下,如果不能合理的将海量图片分配到各设备进行处理,一方面造成设备资源的浪费,同时造成图片处理涉及的大量计算任务无法及时完成,影响利用监控系统处理社会治安、突发事件的响应速度。0004 现有技术中一种较简单的分配策略是:智能交通管理系统的管理用户通过智能交通管理系统的管理配置界面,按照负载均衡的策略,将基本等同数量的卡口,配置绑定到每一台计算设备。例如:1000台卡口及50台处理服务器组成的智能交通管理系统,按照每台处理服务器处理20台卡口的图片进行绑定配置。

10、。即:第1到20台卡口,配置到处理服务器1;第21到40台卡口,配置到处理服务器2,以此类推。上述配置策略将下发到卡口,在卡口生成过车图片、并将图片存储到中心存储设备之后,会向对应的处理服务器,发送图片处理请求消息,消息中携带图片的URL路径信息。处理服务器收到请求消息之后,首先基于图片索引信息从中心存储设备读取图片文件数据,然后对图片文件进行车牌识别等算法处理。0005 但是由于卡口过车流量具有明显地域性、时间性的特点,例如城市不同地点的卡口的过车流量会有较大差别,白天上下班高峰期与深夜的过车流量也会有较大差别。同时即使是同一卡口的过车流量,也会受各种因素影响,而导致发生较大变化。比如:恶劣。

11、天气、道路维修、城市热点区域变更、城市边缘扩展等,都造成某些道路的卡口过车流量发生较大变化。正是由于这些因素,实际应用中卡口过车图片的产生数量是动态变化的,图片计算量也是动态变化的,无法做到在配置时进行准确预估。0006 因此,这种一次性将卡口配置绑定到图片处理设备的静态任务分配方式,方案灵活性较差,不能根据实际卡口过车流量,动态调整图片处理的计算设备,很可能造成有些计算设备忙、有些计算设备闲,不能充分利用整个集群的计算资源。0007 现有技术的另一种技术方案是不为卡口配置绑定处理服务器,所有卡口图片的处理服务器,全部由集群的管理节点进行动态分配。集群所有处理服务器由集群管理节点统一管理,管理。

12、节点定期收集所有处理服务器的最新计算资源情况(比如CPU占用率、剩余内存等)、设备状态(正常工作、故障状态)等信息。在卡口产生一张过车图片并将图片写入说 明 书CN 104363300 A2/9页5存储设备后,向管理节点发送图片处理请求消息,消息中携带图片文件的URL路径,请求对该图片进行处理。管理节点基于所收集到的计算设备的资源、状态信息,按照负载均衡原则,选择当前计算资源最充足的处理服务器。选择完成后,将图片处理请求消息转发到对应的处理服务器。处理服务器收到请求消息之后,首先基于图片URL地址从存储设备读取图片文件,然后对图片文件进行车牌识别等算法处理。0008 然而这种技术方案的缺点也是。

13、显而易见的,所有卡口的每一张图片在处理服务器处理之前,都要汇聚到管理节点进行分配处理服务器的处理。对于大型智能交通系统,部署了几千甚至上万个的高清卡口、电子警察设备,峰值期间的每秒过车图片总量达到上万张。每一张图片的处理请求都需要汇聚到管理节点进行分配处理,很容易造成管理节点成为整个系统的处理瓶颈。同时,城市高清卡口系统规模还在不断扩大,城市车辆数量也将不断上涨,这种方案受管理节点的性能瓶颈限制,可扩展性较低。而如果采用扩展管理节点数量的办法来解决这个问题,比如将管理节点从1台扩展为n台,则多个管理节点之间如何进行集群信息同步、如何协调多台管理节点的调度策略,成为很难解决的技术难点。0009 。

14、因此,如何合理的将卡口图片分配给集群的各设备进行处理,充分利用各设备的计算资源,是智能交通管理系统必须解决的关键问题之一。发明内容0010 本发明提供了一种服务器处理集群中计算任务分布式调度装置,采用静态绑定和动态调整相结合的机制,既避免了管理服务器成为整个系统的处理瓶颈的同时,又避免了静态绑定时,处理服务器处理任务不均衡,无法充分利用集群计算资源的问题。0011 为了实现上述目的,本发明技术方案如下:0012 一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的管理服务器,将来自于前端设备的计算任务调度到所述服务器集群中的处理服务器中进行计算处理,所述调度装置包括注册管理模块、分。

15、配模块和协调模块,其中:0013 注册管理模块,用于接受处理服务器的注册,并接收处理服务器上报的计算资源信息和负载信息;0014 分配模块,用于根据所注册的处理服务器的计算资源信息预估出所注册的处理服务器的处理能力,以及对前端设备所产生的计算任务数量的预估,为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备;0015 协调模块,用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务。0016 进一步地,所述协调模块还用于向发出协助请求的处理服务器返回协调成功或失败的应答消息。。

16、0017 本发明中,所述负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率,所述注册管理模块还用于接收处理服务器上报的负载信息,并结合该处理服务器所发出的协助请求数量及所绑定的前端设备信息,形成负载及处理能力表。0018 进一步地,所述分配模块还根据注册管理模块形成的所述负载及处理能力表,查找剩余处理能力最大的处理服务器,将新增加的前端设备绑定到所查找到的剩余处理能力说 明 书CN 104363300 A3/9页6最大的处理服务器;所述分配模块还根据注册管理模块形成的所述负载及处理能力表,根据处理服务器发出的协助请求数量,判断出需进行调整的过载处理服务器,将该过载处理服务器上超。

17、出其处理能力的前端设备绑定到其他具有剩余处理能力的处理服务器上。0019 通过建立负载及处理能力表,进一步增加了服务器集群的动态调整能力,对于新增和过载的处理服务器,进行新的绑定。0020 本发明还提出了一种服务器集群中计算任务分布式调度装置,应用于所述服务器集群中的处理服务器,来自于前端设备的计算任务被调度到所述处理服务器中进行计算处理,所述服务器集群还包括管理服务器,所述调度装置包括注册及资源上报模块、计算任务处理模块和请求协助模块,其中:0021 注册及资源上报模块,用于向管理服务器注册,定期采集自身的计算资源信息、负载信息,并上报到管理服务器;0022 计算任务处理模块,用于接收来自前。

18、端设备的计算任务并缓存到请求队列,依次对请求队列中的计算任务进行计算处理;0023 请求协助模块,根据计算任务处理模块的请求队列,当请求队列的长度超过规定的阈值时,向管理服务器发送协助请求,协助请求中包括请求队列中排在该阈值之后的计算任务。0024 进一步地,所述请求协助模块还用于在接收到所述管理服务器返回的协调成功的应答消息后,通知所述计算任务处理模块在请求队列中删除协助请求所携带的计算任务;在接收到所述管理服务器返回的协调失败的应答消息后,通知所述计算任务处理模块保持协助请求所携带的计算任务在请求队列中的位置,继续依次处理。0025 本发明所述来自前端设备的计算任务包括计算任务数据对应的存。

19、储位置索引信息,所述计算任务处理模块在计算处理时,先根据所述存储位置索引信息读取计算任务数据,然后对其进行计算处理。在计算任务中带有计算任务数据对应的存储索引信息,而不是计算任务数据本身,可以减少前端设备向处理服务器发送数据的大小,处理服务器仅在进行任务计算时,才调取计算任务数据,降低了网络传输负担。0026 本发明提出的一种服务器处理集群中计算任务分布式调度装置,通过静态绑定策略将前端设备先静态绑定到对应的处理服务器,然后根据处理服务器的计算任务负载信息,通过动态调整机制,协调其他处理服务器协助处理。本发明的调度装置降低了管理服务器的工作压力,还自动实现处理服务器过载的自动调整,保障了服务器。

20、集群的负载均衡。附图说明0027 图1为本发明实施例智能交通管理系统组网示意图;0028 图2为本发明调度装置实施例一结构示意图;0029 图3为本发明调度装置实施例二结构示意图。具体实施方式0030 下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。0031 对于海量来自前端设备的计算任务,往往采用服务器集群来分布式地完成计算任说 明 书CN 104363300 A4/9页7务的处理。本实施例以如图1所示的智能交通管理系统为例,具体阐述一种服务器集群中计算任务分布式调度装置。智能交通管理系统包括前端设备,存储设备,以及管理服务器和至少一个处理服务器,各设备。

21、通过广域网连接。多个处理服务器组成服务器集群,负责处理来自前端设备的计算任务,管理服务器负责管理协调服务器集群中各个处理服务器。管理服务器通常位于智能交通管理系统的管理中心,存储设备和处理服务器可以集中放置在管理中心,也可以分布在智能交通管理系统各个分支区域的管理中心,或者与前端设备放置在一起,本发明不限于具体的组网形式。0032 前端设备位于智能交通管理系统的各个卡口或电子警察抓拍的路口,通常包括摄像机、编码器等,本实施例将一个卡口的所有设备作为一个前端设备来考虑。前端设备用来抓拍过车的视频图片,将抓拍的图片保存在存储设备,向处理服务器发送处理请求。在智能交通管理系统中,来自前端设备的处理请。

22、求就是要进行分布式调度的计算任务。0033 实施例一,一种服务器集群中计算任务分布式调度装置,应用于管理服务器。该装置包括注册管理模块、分配模块和协调模块,以下分别具体描述。0034 注册管理模块,用于接受处理服务器的注册,并接收处理服务器上报的计算资源信息和负载信息。0035 以智能交通管理系统为例,处理服务器在启动时注册到管理服务器的注册管理模块,并发送保活信息保活,多个处理服务器注册到管理服务器成为服务器集群。处理服务器定期向管理服务器的注册管理模块上报自己的计算资源信息和负载信息。从而管理服务器具有了各个处理服务器的IP地址,以及通过保活消息获知处理服务器的状态是否在线或离线信息,并通。

23、过定期接收处理服务器的上报获知处理服务器的计算资源信息和负载信息。其中处理服务器的计算资源信息是指该处理服务器的CPU及内存信息,也可以进一步包括CPU和内存的占用率信息。而负载信息包括处理能力、总的输入最大速率、每个前端设备的输入最大速率。0036 其中处理服务器的处理能力,在处理服务器没有出现计算任务积压的情况下,处理服务器的处理能力就是每秒处理的最大计算任务数量。即缓存中计算任务请求队列的长度不超过规定的阈值时,处理服务器每秒处理的最大计算任务数量。而在处理服务器出现计算任务积压的情况下,即缓存中计算任务请求队列的长度超过规定的阈值时,处理服务器的处理能力即其最大处理能力。总的输入最大速。

24、率是指处理服务器所绑定的所有前端设备输入到处理服务器的计算任务的最大输入速率的总和,即处理服务器每秒收到来自各绑定前端设备的计算任务的总数量。每个前端设备的输入最大速率是指处理服务器所绑定的每个前端设备输入到处理服务器的计算任务的最大输入速率,即处理服务器每秒收到来自每个绑定前端设备的计算任务的数量。0037 分配模块,用于根据所注册的处理服务器的计算资源信息预估出所注册的处理服务器的预估处理能力,以及对前端设备所产生的计算任务数量的预估,为前端设备分配绑定的处理服务器,并将绑定的处理服务器下发到前端设备。0038 本实施例中,前端设备监控经过的车辆,抓拍视频图片,将视频图片存储在存储设备,并。

25、向所绑定的处理服务器发送处理请求。因此来自前端设备的处理请求就是要进行分布式调度的计算任务,首先需要根据该前端设备所在的地段以及历史数据,预估经过该地段的车辆流量,即对应的处理请求数量。进一步可以根据所注册的处理服务器的计算资源说 明 书CN 104363300 A5/9页8信息,估计出所注册的处理服务器的预估处理能力,即每秒可以处理的计算任务数量。从而基于负载均衡的原则,为前端设备分配绑定的处理服务器,分配时在配置文件指定该前端设备绑定的处理服务器。需要说明的是,本实施例在为前端设备分配绑定的处理服务器时采用的负载均衡策略,是使各处理服务器所处理的计算任务数量相对均衡,处理能力越大的处理服务。

26、器处理的计算任务越多,各处理服务器在运行时的CPU和内存占用率相对均衡,从而避免有个处理服务器很忙,有些处理服务器很空闲的情况。0039 例如,智能交通管理系统中有2个处理服务器、30个前端设备。处理服务器1的计算资源信息为:Intel E32核CPU、4G内存,预估能够处理300张图片/秒;处理服务器2的计算资源信息为:Intel I74核CPU、8G内存,预估能够处理500张图片/秒。预估前端设备1-12总的处理请求数量不超过300张图片/秒,前端设备13-30总的处理请求书不超过500张图片/秒。则将前端设备1-12分配给处理服务器1,将前端设备13-30分配给处理服务器2。0040 由。

27、于前端设备上线后会注册到智能交通管理系统的视频管理服务器,分配模块可以从智能交通管理系统的视频管理服务器中获取前端设备的信息,以便管理服务器向其下发所绑定处理服务器的信息,从而在前端设备产生计算任务时,向所绑定的处理服务器发送处理请求。分配模块获知前端设备信息的方法不限于从视频管理服务器调取,也可以从数据库中抓取,或直接在管理中心配置。0041 具体地在智能交通管理系统中,前端设备发出的处理请求中携带所存储视频图片的图片索引信息,请求处理服务器对视频图片进行识别,识别出视频图片的结构化信息,比如车牌识别、车标识别、车型识别等。这里的图片索引信息指前端设备抓拍的视频图片存储到存储设备后,对应的在。

28、存储设备中的存储位置索引信息,一般用URL路径来表示。0042 从而在前端设备注册上线后,分配模块从配置文件中读取该前端设备所绑定的处理服务器信息,通过配置消息下发到该前端设备。前端设备收到所绑定的处理服务器信息后,就可以将抓拍的视频图片存储在存储设备,并向所绑定的处理服务器发送处理请求,即将计算任务发送给处理服务器。0043 协调模块,用于接收所注册的处理服务器过载时发来的协助请求,根据其他处理服务器的处理能力和负载信息,协调具有剩余处理能力的其他处理服务器来协助完成该协助请求包含的计算任务。0044 本实施例中,处理服务器接收前端设备发来的处理请求消息,解析处理请求消息中的图片索引信息,并。

29、根据URL路径从存储设备中读取对应的视频图片,进行图片识别,提取图片中的结构化信息,比如车牌识别、车标识别、车型识别等。0045 然而由于过车流量受恶劣天气、道路维修、城市热点区域变更、城市边缘扩展等,都会造成某些道路的过车流量发生较大变化,当发生这些情况时,前端设备发出的处理请求数量会发生突变,其绑定的处理服务器负载过大处理不过来。当处理服务器负载过大时,待处理处理请求消息过多,造成请求消息队列出现一定程度的积压时,处理服务器向管理服务器发送协助请求。管理服务器的协调模块接收到处理服务器发来的协助请求后,根据各处理服务器(除请求协助的处理服务器)的负载、能力,选择负载最轻、剩余能力最多的处理。

30、服务器,被选择的处理服务器根据协助请求中携带的需要协助处理的图片索引信息,从存储设备中读取视频图片进行图片识别处理。说 明 书CN 104363300 A6/9页90046 具体地,协调模块比较其他处理服务器(除发送该协助请求的处理服务器外)的负载信息,找到服务器集群中每秒能处理的计算任务数量大于自身输入的计算任务加协助请求中包含的计算任务的数量的处理服务器,且每秒收到的计算任务最少的处理服务器,来处理该协助请求中的计算任务。如果找到则将协助请求中的计算任务发给所找到的处理服务器,向发出协助请求的处理服务器返回协调成功的应答消息,否则向发出协助请求的处理服务器返回协调失败的应答消息。0047 。

31、实施例二,一种服务器集群中计算任务分布式调度装置,应用于处理服务器。该装置包括:0048 注册及资源上报模块,用于向管理服务器注册,定期采集自身的计算资源信息、负载信息,并上报到管理服务器。0049 以智能交通管理系统为例,服务器集群中的处理服务器的注册及资源上报模块在启动时注册到管理服务器,并发送保活信息保活。并定期采集自身的计算资源信息、负载信息,上报到管理服务器。从而管理服务器能够掌握各处理服务器的计算资源信息和负载信息,以便在收到其他处理服务器的协调请求后,根据各处理服务器的负载信息来进行协调。0050 计算任务处理模块,接收来自前端设备的计算任务并缓存到请求队列,依次对请求队列中的计。

32、算任务进行计算处理。0051 在本实施例中,首先对来自前端设备的计算任务在缓存中排序,形成请求队列,以便在后续根据请求队列的长度判断处理服务器是否过载。0052 计算任务处理模块在具体处理中,先需要解析出处理请求中包含的图片索引信息,并根据该图片索引信息读取对应的图片数据,进行图片识别。即解析出该处理请求中携带的视频图片的URL路径,并根据该URL路径从存储设备中读取图片数据,进行图片识别。0053 请求协助模块,根据计算任务处理模块的请求队列,当请求队列的长度超过规定的阈值时,向管理服务器发送协助请求,协助请求中包括请求队列中排在该阈值之后的计算任务。0054 当计算任务的请求队列超过一定的。

33、阈值,比如128个,则将超过该阈值(128个)的计算任务(例如32个)复制到协助请求中,发送给管理服务器。0055 请求协助模块还根据接收的来自管理服务器的应答消息,通知计算任务处理模块做如下处理:0056 如果接收到成功的应答消息,则在请求队列中删除协助请求所携带的计算任务;0057 如果接收到失败的应答消息,则保持协助请求所携带的计算任务在请求队列中的位置,继续依次处理。0058 本实施例中,由于各前端设备的计算任务的数量可能在不断变动,特别是出现持续增长的情况下,其绑定的处理服务器可能会持续处于过载状况,这时候需要对处理服务器与前端设备的绑定关系进行动态调整。或者当有新增的前端设备时,需。

34、要为新增的前端设备绑定处理服务器。这些情况都需要掌握各个处理服务器的负载信息,为此处理服务器需要定期(例如每小时)收集自身的负载信息,其中处理服务器的计算任务处理能力、总的输入最大速率和每个前端设备的输入最大速率都是以计算任务数量/秒为单位,在本实施例中就是处理请求数量/秒,也即所要识别的图片数量/秒。处理服务器间隔一定的周期如每小时,将本周期内的统计数据上报到管理服务器。说 明 书CN 104363300 A7/9页100059 管理服务器在收到处理服务器上报的这些数据后,形成各处理服务器的负载及处理能力表,如表1所示。同时在表1中还记录各处理服务器所发送的协助请求的次数。0060 0061。

35、 0062 表10063 本实施例的注册管理模块接收处理服务器上报的负载信息后,结合处理服务器所发出的协助请求数量以及绑定的前端设备信息,形成处理服务器的负载及处理能力表。分配模块从注册管理模块获知表1的数据,对新增的前端设备,以及过载的处理服务器进行动态调整,以下分别描述调整过程。0064 对于新增的前端设备:在智能交通管理系统中新增加前端设备时,管理服务器的分配模块基于表1,将新增的前端设备自动绑定到剩余处理能力最大的处理服务器。例如对于表1,处理服务器3具有剩余处理能力,则将新增的前端设备绑定到处理服务器3。0065 需要说明的是,本实施例提到的剩余处理能力,是指处理服务器的最大处理能力。

36、与总的输入最大速率的差。当新增加前端设备后,如果各处理服务器都负载较高,例如都满负荷在运行时,没有剩余处理能力,或剩余处理能力还不够处理新增的前端设备的预估的计算任务,则分配模块需要发出告警信息,通知管理人员增加新的处理服务器。0066 对于过载的处理服务器:分配模块根据表1的数据,对前端设备与处理服务器的绑定关系做出动态的调整,调整策略包括两种:0067 第一种,每隔一定周期(例如1个月)进行一次判断,对于没有发出过协助请求的处理服务器,说明该处理服务器的计算任务都在其正常的处理能力范围内,不需要进行调整;对于具有协助请求的处理服务器,说明其计算任务超过其处理能力,需要触发调整过程。0068 另一种是当所有处理服务器的协助请求数量超过一定的阈值(例如10次)触发调整过程。说 明 书CN 104363300 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1