一种任务分配方法、装置、设备及介质转让专利

申请号 : CN201911017443.0

文献号 : CN110795244B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈天宝

申请人 : 浙江大华技术股份有限公司

摘要 :

本发明关于一种任务分配方法、装置、设备及介质,用以将任务合理地分配给系统中的子节点,优化使用系统的性能资源,避免资源浪费,提高系统稳定性,并避免子节点负载急剧增加。方法应用于由一个主节点和多个子节点组成的任务接入系统,任务接入系统与多个设备连接,包括:主节点接收任务请求,任务请求中包含设备标识和目标任务;在确定设备标识对应的设备首次接入任务接入系统时,主节点基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;在确定设备标识对应的设备非首次接入任务接入系统时,主节点根据所述目标任务所需的负载能力,为目标任务分配子节点。

权利要求 :

1.一种任务分配方法,应用于由一个主节点和多个子节点组成的任务接入系统,所述任务接入系统与多个设备连接,其特征在于,所述方法包括:所述主节点接收任务请求,所述任务请求中包含设备标识和目标任务;所述任务请求中的所述目标任务是关于所述设备标识对应的设备的任务;

在确定所述设备标识对应的设备首次接入所述任务接入系统时,所述主节点基于预先获取的各个子节点的剩余负载能力,为所述目标任务分配子节点;

在确定所述设备标识对应的设备非首次接入所述任务接入系统时,所述主节点根据所述目标任务所需的负载能力,为所述目标任务分配子节点;

所述主节点根据所述目标任务所需的负载能力,为所述目标任务分配子节点,包括:所述主节点确定所述目标任务所需的负载能力小于预设阈值时,所述主节点基于预先记录的设备标识与子节点之间的对应关系,确定所述设备标识对应的目标子节点,并将所述目标子节点确定为处理所述目标任务的子节点;

所述主节点确定所述目标任务所需的负载能力大于或等于预设阈值时,所述主节点确定所述目标任务的类别,基于所述目标任务的类别,为所述目标任务分配子节点;

所述主节点确定所述目标任务的类别,基于所述目标任务的类别,为所述目标任务分配子节点,包括:所述主节点确定所述目标任务的类别;

所述主节点确定所述目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为所述目标任务分配子节点;

所述主节点确定所述目标任务的类别为非首次请求的任务类别时,基于预先记录的设备标识、任务与子节点之间的对应关系,确定所述设备标识和所述目标任务对应的目标子节点,并将所述目标子节点确定为处理所述目标任务的子节点。

2.根据权利要求1所述的方法,其特征在于,在确定所述设备标识对应的设备首次接入所述任务接入系统时,所述主节点基于预先获取的各个子节点的剩余负载能力,为所述目标任务分配子节点之后,所述方法还包括:所述主节点记录所述设备标识与分配的子节点之间的对应关系。

3.根据权利要求1所述的方法,其特征在于,所述主节点确定所述目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为所述目标任务分配子节点之后,所述方法还包括:所述主节点记录所述设备标识、所述任务与分配的子节点之间的对应关系。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述预先记录的设备标识、任务与子节点之间的对应关系中,所述目标子节点处理所述设备标识对应的设备的所述目标任务完成时,删除所述设备标识、所述任务与所述目标子节点的对应关系。

5.一种任务分配装置,应用于由一个主节点和多个子节点组成的任务接入系统,所述任务接入系统与多个设备连接,其特征在于,所述装置包括接收单元、第一确定单元、第二确定单元,其中,所述接收单元,用于接收任务请求,所述任务请求中包含设备标识和目标任务;所述任务请求中的所述目标任务是关于所述设备标识对应的设备的任务;

所述第一确定单元,用于在确定所述设备标识对应的设备首次接入所述任务接入系统时,基于预先获取的各个子节点的剩余负载能力,为所述目标任务分配子节点;

所述第二确定单元,用于在确定所述设备标识对应的设备非首次接入所述任务接入系统时,根据所述目标任务所需的负载能力,为所述目标任务分配子节点;

所述第二确定单元具体用于:

确定所述目标任务所需的负载能力小于预设阈值时,基于预先记录的设备标识与子节点之间的对应关系,确定所述设备标识对应的目标子节点,并将所述目标子节点确定为处理所述目标任务的子节点;

确定所述目标任务所需的负载能力大于或等于预设阈值时,确定所述目标任务的类别,基于所述目标任务的类别,为所述目标任务分配子节点;

所述第二确定单元具体用于:

确定所述目标任务的类别;

确定所述目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为所述目标任务分配子节点;

确定所述目标任务的类别为非首次请求的任务类别时,基于预先记录的设备标识、任务与子节点之间的对应关系,确定所述设备标识和所述目标任务对应的目标子节点,并将所述目标子节点确定为处理所述目标任务的子节点。

6.根据权利要求5所述的装置,其特征在于,所述装置还包括:存储单元,用于记录所述设备标识与分配的子节点之间的对应关系。

7.根据权利要求6所述的装置,其特征在于,所述存储单元还用于:记录所述设备标识、所述任务与分配的子节点之间的对应关系。

8.根据权利要求5所述的装置,其特征在于,所述装置还包括:删除单元,用于确定所述预先记录的设备标识、任务与子节点之间的对应关系中,所述目标子节点处理所述设备标识对应的设备的所述目标任务完成时,删除所述设备标识、所述任务与所述目标子节点的对应关系。

9.一种任务分配设备,其特征在于,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的任务分配方法。

10.一种存储介质,其特征在于,当所述存储介质中的指令由任务分配设备的执行器执行时,使得任务分配设备能够执行如权利要求1至4中任一项所述的任务分配方法。

说明书 :

一种任务分配方法、装置、设备及介质

技术领域

[0001] 本发明涉及负载均衡领域,尤其涉及一种任务分配方法、装置、设备及介质。

背景技术

[0002] 一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求,可以通过负载均衡,将多台这样的服务器组成一个系统,并通过软件技术将所有请求按照一定的规则分摊到所有的服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。
[0003] 负载均衡包含多种工作模式,例如,分离计算,汇总返回模式、超文本传输协议(Hyper Text Transfer Protocol,HTTP)重定向模式、域名系统(Domain Name System,DNS)负载均衡模式,具体如下:
[0004] 分离计算,汇总返回模式:在此工作模式下,负载均衡系统仅对外暴露管理节点的IP地址和服务,管理节点接收到请求后,根据一定的规则将任务下发到系统中的某个子节点,子节点完成计算后,将结果反馈回管理节点,管理节点将结果返回到客户端。
[0005] HTTP重定向模式:在此工作模式下,负载均衡系统同时对外暴露管理节点和子节点的IP地址和服务。管理节点接收到请求后,根据一定的负载均衡规则返回系统中某个子节点的重定向地址,客户端需要再次向该子节点发送请求和获取最终结果。
[0006] DNS负载均衡模式:在此工作模式下,系统中仅包含子节点,需要对外暴露所有子节点的IP地址和服务。需要网站管理员在DNS服务器中配置多个A记录。客户端不通过IP地址直接访问系统,而是需要通过域名访问集群服务,每次客户端请求域名下的服务时,由DNS服务提供商按照设定好的规则返回不同子节点的IP地址,以此实现负载功能。
[0007] 常见的应用于各负载均衡模式中的任务分配算法,例如随机算法、轮询及加权轮询算法、最小连接及加权最小连接、一致性哈希算法,具体如下:
[0008] 随机算法:按权重设置随机概率,在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
[0009] 轮询及加权轮询算法:为第一个请求选择子节点池中的第一个后端服务器,然后按顺序往后依次选择,直到最后一个,然后继续循环此过程;当为不同的子节点设置权重,并根据权重筛选任务处理节点时,为加权轮询算法。
[0010] 最小连接及加权最小连接算法:优先选择连接数最少,也就是负载压力最小的后端服务器;当为不同的服务器设置权重,使服务器建立连接数和其权值成比例时,为加权最小连接算法,最小连接及加权最小连接算法一般用于会话较长的情况下。
[0011] 一致性哈希算法:根据IP地址进行散列,可以保证同一客户端的多次请求被负载到同一子节点;根据URL进行散列,可以保证同一类型的请求被负载到同一子节点,此算法被广泛应用。
[0012] 在应用一致性哈希算法时,可以对设备信息计算进行散列,从而保证特定设备的任务始终分配到同一子节点进行处理,在设备添加时一般不存在性能消耗较高的计算请求,如果采用预分配的方式进行负载,会造成服务器性能资源的极大浪费,并且后续多个设备同时进行性能消耗较高的计算请求时,会导致该子节点负载急剧增加,甚至使该子节点无法正常提供服务。

发明内容

[0013] 本发明提供一种任务分配方法、装置、设备及介质,用以解决因同一子节点同时处理多个设备性能消耗较高的计算任务时,将部分任务切换到另一子节点时产生系统不稳定的问题,实现将任务合理地分配给系统中的子节点,优化使用系统的性能资源,避免资源浪费,提高系统稳定性,并避免子节点负载急剧增加。
[0014] 第一方面,本发明实施例提供一种任务分配方法,应用于由一个主节点和多个子节点组成的任务接入系统,任务接入系统与多个设备连接,方法包括:
[0015] 主节点接收任务请求,任务请求中包含设备标识和目标任务;
[0016] 在确定设备标识对应的设备首次接入任务接入系统时,主节点基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0017] 在确定设备标识对应的设备非首次接入任务接入系统时,主节点根据目标任务所需的负载能力,为目标任务分配子节点。
[0018] 在一种可能的方式中,本发明实施例提供的上述任务分配方法,在确定设备标识对应的设备首次接入任务接入系统时,主节点基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点之后,方法还包括:
[0019] 主节点记录设备标识与分配的子节点之间的对应关系。
[0020] 在一种可能的方式中,本发明实施例提供的上述任务分配方法,主节点根据目标任务所需的负载能力,为目标任务分配子节点,包括:
[0021] 主节点确定目标任务所需的负载能力小于预设阈值时,主节点基于预先记录的设备标识与子节点之间的对应关系,确定设备标识对应的目标子节点,并将目标子节点确定为处理目标任务的子节点;
[0022] 主节点确定目标任务所需的负载能力大于或等于预设阈值时,主节点确定目标任务的类别,基于目标任务的类别,为目标任务分配子节点。
[0023] 在一种可能的方式中,本发明实施例提供的上述任务分配方法,主节点确定目标任务的类别,基于目标任务的类别,为目标任务分配子节点,包括:
[0024] 主节点确定目标任务的类别;
[0025] 主节点确定目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0026] 主节点确定目标任务的类别为非首次请求的任务类别时,基于预先记录的设备标识、任务与子节点之间的对应关系,确定设备标识和目标任务对应的目标子节点,并将目标子节点确定为处理目标任务的子节点。
[0027] 在一种可能的方式中,本发明实施例提供的上述任务分配方法,主节点确定目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点之后,方法还包括:
[0028] 主节点记录设备标识、任务与分配的子节点之间的对应关系。
[0029] 在一种可能的方式中,本发明实施例提供的上述任务分配方法,还包括:
[0030] 确定预先记录的设备标识、任务与子节点之间的对应关系中,目标子节点处理设备标识对应的设备的目标任务完成时,删除设备标识、任务与目标子节点的对应关系。
[0031] 第二方面,本发明实施例提供一种任务分配装置,应用于由一个和多个子节点组成的任务接入系统,任务接入系统与多个设备连接,装置包括:接收单元、第一确定单元、第二确定单元,其中,
[0032] 接收单元,用于接收任务请求,任务请求中包含设备标识和目标任务;
[0033] 第一确定单元,用于在确定设备标识对应的设备首次接入任务接入系统时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0034] 第二确定单元,用于在确定设备标识对应的设备非首次接入任务接入系统时,根据目标任务所需的负载能力,为目标任务分配子节点。
[0035] 在一种可能的方式中,本发明实施例提供的上述任务分配装置,还包括:
[0036] 存储单元,用于记录设备标识与分配的子节点之间的对应关系。
[0037] 在一种可能的方式中,本发明实施例提供的上述任务分配装置中,第二确定单元具体用于:
[0038] 确定目标任务所需的负载能力小于预设阈值时,基于预先记录的设备标识与子节点之间的对应关系,确定设备标识对应的目标子节点,并将目标子节点确定为处理目标任务的子节点;
[0039] 确定目标任务所需的负载能力大于或等于预设阈值时,确定目标任务的类别,基于目标任务的类别,为目标任务分配子节点。
[0040] 在一种可能的方式中,本发明实施例提供的上述任务分配装置中,第二确定单元具体用于:
[0041] 确定目标任务的类别;
[0042] 确定目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0043] 确定目标任务的类别为非首次请求的任务类别时,基于预先记录的设备标识、任务与子节点之间的对应关系,确定设备标识和目标任务对应的目标子节点,并将目标子节点确定为处理目标任务的子节点。
[0044] 在一种可能的方式中,本发明实施例提供的上述任务分配装置,存储单元还用于:
[0045] 记录设备标识、任务与分配的子节点之间的对应关系。
[0046] 在一种可能的方式中,本发明实施例提供的上述任务分配装置,还包括:
[0047] 删除单元,用于确定预先记录的设备标识、任务与子节点之间的对应关系中,目标子节点处理设备标识对应的设备的目标任务完成时,删除设备标识、任务与目标子节点的对应关系。
[0048] 第三方面,本发明实施例提供一种任务分配设备,包括:
[0049] 处理器;
[0050] 用于存储处理器可执行指令的存储器;
[0051] 其中,处理器被配置为执行指令,以实现第一方面中任一项的任务分配方法。
[0052] 第四方面,本发明实施例提供一种计算机可读存储介质,当存储介质中的指令由任务分配设备的执行器执行时,使得任务分配设备能够执行如第一方面中任一项的任务分配方法。
[0053] 本发明的实施例提供的技术方案至少带来以下有益效果:
[0054] 主节点接收任务请求,任务请求中包含设备标识和目标任务,在确定设备标识对应的设备首次接入任务接入系统时,主节点基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点,在确定设备标识对应的设备非首次接入任务接入系统时,主节点根据目标任务所需的负载能力,为目标任务分配子节点。为设备首次接入任务分配子节点时,根据各子节点的剩余负载能力进行分配,为设备非首次接入任务分配子节点时,根据任务所需的负载能力,分配子节点,从任务需要负载能力和各子节点剩余负载能力方面,动态地为设备分配处理任务的子节点,解决因同一子节点同时处理多个设备性能消耗较高的计算任务时,将部分任务切换到另一子节点时产生系统不稳定的问题,实现将任务合理地分配给系统中的子节点,优化使用系统的性能资源,避免资源浪费,提高系统稳定性,并避免子节点负载急剧增加。

附图说明

[0055] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
[0056] 图1是根据一示例性实施例示出的一种任务分配方法的流程图。
[0057] 图2是根据一示例性实施例示出的一种任务分配方法的流程图。
[0058] 图3是根据一示例性实施例示出的一种任务分配方法实施过程中的负载情况示意图。
[0059] 图4是根据一示例性实施例示出的一种任务分配方法实施过程中的负载情况示意图。
[0060] 图5是根据一示例性实施例示出的一种任务分配方法实施过程中的负载情况示意图。
[0061] 图6是根据一示例性实施例示出的一种任务分配方法实施过程中的负载情况示意图。
[0062] 图7是根据一示例性实施例示出的一种任务分配装置的结构示意图。
[0063] 图8是根据一示例性实施例示出的一种任务分配设备结构示意图。
[0064] 图9是根据一示例性实施例示出的另一种任务分配设备结构示意图。

具体实施方式

[0065] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0066] 本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。下面,本发明实施例以视频综合应用平台场景为例,对本发明实施例进行具体说明。
[0067] 在视频综合应用平台中,需要将大量的视频监控设备、信号采集设备以及其他具备特定能力集的设备接入到平台,在平台实现设备在线状态、设备产生的图片及视频等数据的展示、以及平台与设备的交互控制(例如,平台控制某设备的镜头转动、缩放,或者设备向平台上报过车数据、状态数据等)。
[0068] 上述平台中负载向下完成设备接入,向上提供归一化的设备能力集的服务集群整体被称为设备接入服务集群。集群向上提供的能力集中的能力,包括但不限于:
[0069] (1)接收上层下发的设备添加/删除信令,并根据下发的设备信息登录/注销特定设备;
[0070] (2)持续向上层上报设备的在/离线状态;
[0071] (3)对已登录的设备,接收上层下发的设备报警数据订阅/取消订阅信令,并完成特定设备的报警数据获取/取消获取的功能;
[0072] (4)对已登录的设备,接收上层下发的设备控制信令,完成对于特定设备的控制;
[0073] (5)对已登录的设备,接收上层下发的获取/取消设备视频流的信令,从设备获取视频流并上报到上层;
[0074] (6)请求特定设备的视频数据,对特定设备的各种操作信令响应。
[0075] 需要说明的是,上述特定设备可以是平台指定一个或多个设备,也可以是平台指定的具有特定能力的一个或多个设备(例如,多个监控设备,或多个图像采集设备等)。
[0076] 上述各能力视为“待分配的计算任务”,在保证设备量较大的情况下,接入集群整体仍然能够对外提供持续稳定的服务能力,需要使用到负载均衡技术。且从实际应用的角度考虑,上述诸多任务被分配给哪个子节点,一般与设备初次添加时通过登录的子节点有关(因设备操作需要登录句柄)。
[0077] 若这样的相关性较强时,子节点下的多个设备同时出现消耗较高的计算请求(例如,视频预览,视频回放请求)时,会导致该子节点负载急剧增加,甚至无法正常提供服务,并且一个设备的多个性能消耗较高的计算请求分配给多个子节点处理时,也会因上述相关性强的关系,无法完成接入多个子节点。
[0078] 另外,这样的相关性较强时,减轻该子节点负载急剧增加的问题,可以通过将设备当前正在处理的任务以及新请求的任务整体迁移到可以负载的子节点,但这样的解决方式会增加系统的不稳定性,在迁移的过程中会出现,查看设备(镜头被控制转动)的视频流时,无法控制该设备的镜头转动,或者应该持续上报的过车数据停止上报,需要等待设备的所有任务整体迁移到另一个子节点后才能统一恢复,也即出现在迁移过程中,该设备的任务暂定处理或者迁移过程中该设备失效。
[0079] 有鉴于此,本发明实施例提出了一种任务分配方案,应用于由一个主节点和多个子节点组成的任务接入系统,用以将任务合理地分配给系统中子节点,避免子节点负载急剧增加。
[0080] 图1根据一示例性实施例示出的一种任务分配方法示意流程图。如图1所示,本实施例提供的任务分配方法,可以包括以下步骤:
[0081] 步骤S101,主节点接收任务请求,任务请求中包含设备标识和目标任务。
[0082] 具体实施时,主节点接收的任务请求可以是任务接入系统上层(或者平台)发送的信令,任务请求中包含设备标识,设备标识和设备具有对应关系,通过设备标识可以唯一确定一个设备或者功能相同的一类设备,可以通过设备标识,确定需要控制、获取信息、添加或删除等操作任务的设备。
[0083] 任务请求中包含的目标任务,可以是设备添加任务、设备删除任务、设备信息登录、注销设备、设备报警数据订阅任务、取消设备报警数据订阅任务、设备报警数据获取任务、取消设备报警数据获取任务、设备控制任务、获取设备视频流任务、取消获取设备视频流任务,请求设备视频数据、设备操作任务响应等。根据目标任务的不同,可以确定信令或任务请求的属性(或性质),例如,目标任务为设备添加任务时,主节点接收设备添加任务请求或任务添加信令。
[0084] 需要说明的是,任务请求中的目标任务是关于设备标识对应的设备的任务。
[0085] 步骤S102,在确定设备标识对应的设备首次接入任务接入系统时,主节点基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点。
[0086] 具体实施时,主节点可以通过任务请求中的目标任务为设备添加任务,确定设备标识对应的设备首次接入任务接入系统,主节点根据各子节点的剩余负载能力分配一个子节点,例如,选择子节点中剩余负载能力最大的子节点,处理任务请求中设备标识对应的设备的目标任务(设备添加任务),或者根据预设优先级,选择一个子节点。
[0087] 需要说明的是,首次接入任务接入系统的设备,是指之前从未接入过任务接入系统,或者之前从任务接入系统中删除掉的设备,换句话说,首次接入的设备是当前未在系统中的设备。
[0088] 另外,子节点的剩余负载能力,可以通过子节点运行状态确定,也即子节点当前CPU、内存、磁盘IO及带宽,也可以子节点负担的计算能力。
[0089] 一种可能的实施方式中,主节点记录设备标识与分配的子节点之间的对应关系。
[0090] 具体实施时,主节点将设备标识与处理设备标识对应设备的设备添加任务的子节点的对应关系。主节点可以根据设备标识与分配的子节点之间的对应关系,处理设备标识对应设备的目标任务。
[0091] 例如,设备在接入任务接入系统后,又从任务接入系统中删除时,设备再次接入任务接入系统时,主节点可以根据设备标识与分配的子节点之间的对应关系,为设备分配的子节点是对应关系中的子节点,也即前次处理该设备的设备添加任务的子节点。
[0092] 步骤S103,在确定设备标识对应的设备非首次接入任务接入系统时,主节点根据目标任务所需的负载能力,为目标任务分配子节点。
[0093] 具体实施时,主节点通过任务氢气中的目标任务不是设备添加任务,确定设备标识对应的设备非首次接入任务接入系统(设备已在任务接入系统中)时,主节点根据目标任务需要的负载能力,分配子节点处理目标任务。
[0094] 一种可能的实施方式中,主节点确定目标任务所需的负载能力小于预设阈值时,主节点基于预先记录的设备标识与子节点之间的对应关系,确定设备标识对应的目标子节点,并将目标子节点确定为处理目标任务的子节点;
[0095] 主节点确定目标任务所需的负载能力大于或等于预设阈值时,主节点确定目标任务的类别,基于目标任务的类别,为目标任务分配子节点。
[0096] 具体实施时,目标任务所需的负载能力小于预设阈值,目标任务可以是低算力任务,也即处理目标任务需要的负载能力较小,例如设备删除任务、设备信息登录任务、注销设备任务等,主节点根据预先记录的设备标识与子节点之间的对应关系中,与设备标识对应的目标子节点处理目标任务,也即主节点预先记录的设备标识与处理设备标识对应设备的设备添加任务的子节点,处理设备标识对应设备的负载能力小于预设阈值的目标任务。
[0097] 需要说明的是,主节点记录设备标识与分配的子节点之间的对应关系,可以视为第一层负载,第一层负载的作用是,对于一个确定的设备,第一次被添加到任务接入系统时,采用一定的规则(选择剩余负载能力最多的子节点,或者根据预设优先级,选择子节点)被分配到某个子节点进行处理,此时设备与分配的子节点形成了绑定关系,且关于设备的负载能力小于预设阈值的目标任务(后发性低算力任务),均直接根据该绑定关系分配到同一个子节点进行处理。
[0098] 目标任务所需的负载能力大于或等于预设阈值时,目标任务可以是高算力任务,也即处理目标任务需要的负载能力较大,例如获取设备视频流任务、请求设备视频数据等,主节点根据目标任务的类别,分配子节点处理目标任务。
[0099] 一种可能的实施方式中,主节点确定目标任务的类别,基于目标任务的类别,为目标任务分配子节点时,主节点确定目标任务的类别;
[0100] 主节点确定目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0101] 主节点确定目标任务的类别为非首次请求的任务类别时,基于预先记录的设备标识、任务与子节点之间的对应关系,确定设备标识和目标任务对应的目标子节点,并将目标子节点确定为处理目标任务的子节点。
[0102] 具体实施时,目标任务的类别可以是首次请求的任务类别和非首次请求的任务类别,首次请求的任务类别,具体指在任务接入系统中,当前所有正在处理的任务中(或者预设时间内正在处理的任务中),没有关于设备标识对应的设备的目标任务之前,或者设备标识对应的设备的目标任务在任务接入系统中之前没有处理或者执行过的,换句话说,任务接入系统之前和/或正在处理的任务中没有关于设备标识对应的设备的目标任务。
[0103] 例如,主节点可以接收多个客户端发送的任务请求,所有客户端都没有向主节点发送过获取设备A视频流任务请求,并且处理设备A的目标任务“获取视频流任务”需要的负载能力大于预设阈值,则设备A的目标任务“获取视频流任务”的任务类别为首次请求的任务类别。
[0104] 再例如,主节点可以接收多个客户端发送的任务请求,客户端1向主节点发送过获取设备A视频流任务请求,并且处理设备A的目标任务“获取视频流任务”需要的负载能力大于预设阈值,此时,处理设备A的目标任务“获取视频流任务”的子节点已经结束处理,任务接入系统中正在处理的任务中,没有设备A的目标任务“获取视频流任务”,此时客户端2向主节点发送获取设备A视频流任务请求时,则设备A的目标任务“获取视频流任务”的任务类别为首次请求的任务类别。
[0105] 目标任务的类别为首次请求的任务类别时,主节点可以根据各个子节点的剩余负载能力,为目标任务分配子节点,例如,选择剩余负载能力最多的子节点,或者在剩余负载能力大于目标任务所需的负载能力的子节点中,选择剩余负载能力最多的子节点。
[0106] 非首次请求的任务类别,具体指在任务接入系统中,当前所有正在处理的任务中,有关于设备标识对应的设备的目标任务,也就是说,任务接入系统正在执行设备标识对应的设备的目标任务。
[0107] 例如,主节点可以接收多个客户端发送的任务请求,客户端1向主节点发送过获取设备A视频流任务请求,并且处理设备A的目标任务“获取视频流任务”需要的负载能力大于预设阈值,此时,处理设备A的目标任务“获取视频流任务”的子节点M正在进行处理,任务接入系统中正在处理的任务中,有设备A的目标任务“获取视频流任务”,此时客户端2向主节点发送获取设备A视频流任务请求时,则设备A的目标任务“获取视频流任务”的任务类别为非首次请求的任务类别。
[0108] 主节点确定目标任务的类别为首次请求的任务类别时,可以根据各子节点的剩余负载能力,为目标任务分配子节点,例如,选择剩余负载能力最大的子节点处理目标任务,需要说明的是,为目标任务分配子节点,可以不是为处理设备标识对应的设备的设备添加任务的子节点,也不是预先记录的设备标识与子节点之间的对应关系中的子节点,而是根据各子节点的剩余负载能力,为目标任务分配的子节点。
[0109] 主节点确定目标任务的类别为非首次请求的任务类别时,根据预先记录的设备标识、任务与子节点之间的对应关系,其中,主节点接收任务请求中的设备标识和目标任务对应的子节点,确定为处理目标任务的子节点。
[0110] 需要说明的是,主节点记录设备标识、任务与子节点之间的对应关系,可以视为第二层负载,第二层负载的作用是,对于已经记录设备标识与分配的子节点之间的对应关系(第一层负载)的设备,当主节点接收到关于该设备的负载能力等于或者大于预设阈值的目标任务(后发性高算力任务)时,任务接入系统将无视第一层负载确立的任务处理绑定关系,均直接根据第二层负载绑定关系分配到同一个子节点进行处理。
[0111] 主节点记录设备标识、任务与子节点之间的对应关系可以增加新的设备标识、任务与子节点之间的对应关系。
[0112] 例如,确定目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点之后,主节点记录设备标识、任务类别与分配的子节点之间的对应关系。
[0113] 具体实施时,主节点在为目标任务分配子节点后,在预先记录的设备标识、任务与子节点之间的对应关系中,添加接收任务请求中设备标识、目标任务与为目标任务分配的子节点之间的对应关系。
[0114] 主节点记录设备标识、任务与子节点之间的对应关系还可以删除已经记录的设备标识、任务与子节点之间的对应关系。
[0115] 例如,确定预先记录的设备标识、任务与子节点之间的对应关系中,目标子节点处理设备标识对应的设备的目标任务完成时,删除设备标识、任务与目标子节点的对应关系。
[0116] 具体实施时,主节点确定预先记录的设备标识、任务与子节点之间的对应关系中的某一设备标识对应的设备(如,设备A)的任务“获取视频流任务”,处理设备A的获取视频流任务的子节点为子节点M,并且子节点M同时处理客户端1和客户端2发起的关于获取设备A视频流任务,确定子节点M处理完客户端1和客户端2的关于获取设备A视频流任务时,可以在预先记录的设备标识、任务与子节点之间的对应关系中,删除设备A、“获取视频流任务”、子节点M的对应关系。若子节点M结束处理客户端1发起的关于设备A视频任务,但没有结束处理客户端2发起的关于设备A视频任务,则不可以在预先记录的设备标识、任务与子节点之间的对应关系中,删除设备A、“获取视频流任务”、子节点M的对应关系。也即目标子节点处理设备标识对应的设备的目标任务完成时,具体指子节点完全结束处理对应设备的目标任务,或子节点正在处理的任务中,没有设备标识对应的设备的目标任务。
[0117] 图2根据一示例性实施例示出的一种任务分配方法示意流程图。如图2所示,本实施例提供的任务分配方法,应用于由一个主节点和多个子节点组成的任务接入系统,任务接入系统与多个设备连接,可以包括以下步骤:
[0118] 步骤S201,主节点接收任务请求,任务请求中包含设备标识和目标任务。
[0119] 具体实施时,本实施例中多个设备包括但不限定于智能交通相机,主节点接收任务请求中的目标任务,可以包括但不限定于持续性的卡口过车数据上报、设备状态上报、设备行为控制、视频资源获取等任务。需要说明的是,目标任务具体指任务请求中的任务。
[0120] 多个客户端可以向任务接入系统中发送任务请求,通过任务请求中的设备标识和目标任务,可以确定对设备标识对应的设备请求处理的任务,多个客户端可以向任务接入系统发送相同的任务请求,也即多个客户端可以对同一设备请求处理相同任务,例如,客户端1和客户端2,可以同步或异步向任务接入系统发送获取设备A的视频流任务。
[0121] 需要说明的,任务接入系统中,在有新的子节点加入时并不会触发节点间的负载均衡。
[0122] 步骤S202,判断设备标识对应的设备是否首次接入任务接入系统,若是,下一步执行步骤S203,否则,下一步执行步骤S204。
[0123] 具体实施时,主节点可以通过目标任务是设备添加任务确定设备标识对应的设备是首次接入任务接入系统,并执行步骤S203,否则执行步骤S204。
[0124] 需要说明的是,设备在首次接入任务接入系统时,需要主节点为设备分配一个子节点进行设备添加任务,使设备接入任务接入系统中,并且设备添加任务需要的负载能力较少,甚至几乎不需要负载能力。
[0125] 步骤S203,根据各个子节点的剩余负载能力,为目标任务分配子节点。
[0126] 具体实施时,主节点选择剩余负载能力最大的子节点或者根据预设优先级,为处理目标任务的子节点。
[0127] 各个子节点的剩余负载能力,可以由主节点预先获取的,也可以是子节点在剩余负载能力变化时主动通知主节点,剩余负载能力可以是包括但不限于CPU、内存、带宽、磁盘IO等抽象化为计算能力(或者算力),表示子节点还可以进行计算(或负载)的负载能力。
[0128] 步骤S204,判断目标任务所需的负载能力大于或等于预设阈值,若是,下一步执行步骤S207,否则,下一步执行步骤S208。
[0129] 具体实施时,目标任务可以分为初始化任务(设备添加任务)、低负载能力任务(非初始化的低算力任务)和高负载能力任务(非初始化的高算力任务),目标任务不是初始化任务,并且目标任务所需负载能力大于或等于预设阈值的目标任务为高负载能力任务,下一步执行步骤S207,否则为低负载能力任务,下一步执行步骤S208。
[0130] 高负载能力任务反映出处理目标任务需要消耗较多的负载性能或者算力,例如,对设备A的视频预览等,低负载能力任务反映出处理目标任务需要消耗较少的负载性能或者算力(但是,消耗的负载性能或者算力也高于处理初始化任务时的消耗)。
[0131] 步骤S205,记录设备标识与分配的子节点之间的对应关系。
[0132] 具体实施时,任务请求中设备标识对应的设备为首次接入任务接入系统时,记录设备标识与分配处理目标任务(设备添加任务或初始化任务)的子节点之间的对应关系。
[0133] 换种方式说,记录设备标识与分配的子节点之间的对应关系,为设备在首次接入任务接入系统时,主节点为其分配的子节点之间的对应关系,这种对应关系,可以理解为设备与主节点初次将设备负载到子节点时进行的关系绑定。
[0134] 步骤S206,更新处理目标任务的子节点的剩余负载能力。
[0135] 具体实施时,主节点分配处理目标任务的子节点后,可以通过子节点主动上报的方式,或者主节点向子节点请求的方式,更新子节点的剩余负载能力,便于主节点继续分配任务。
[0136] 步骤S207,判断目标任务的类别是否为首次请求的任务类别,若否,下一步执行步骤S209,否则,下一步执行步骤S210。
[0137] 具体实施时,确定目标任务所需的负载能力大于或等于预设阈值后,也即目标任务为高负载能力任务(非初始化的高算力任务),对目标任务的类别进行判断,目标任务的类别不是首次请求的任务类别,是非首次请求的任务类别,也即任务接入系统中当前正在处理的任务中有该目标任务,下一步执行步骤S209,否则,目标任务的类别为首次请求的任务类别,也即任务接入系统中当前正在处理的任务中没有目标任务或者任务接入系统从未处理过目标任务时下一步执行步骤S210。
[0138] 步骤S208,基于预先记录的设备标识与子节点之间的对应关系,确定设备标识对应的目标子节点,并将目标子节点确定为处理目标任务的子节点。
[0139] 具体实施时,目标任务所需的负载能力小于预设阈值,也即目标任务为低负载能力任务(非初始化的低算力任务),根据预先记录的设备标识与子节点之间的对应关系(设备与主节点初次将设备负载到子节点时进行的关系绑定),可以确定设备标识对应的目标子节点,为处理目标任务的子节点。
[0140] 例如,设备A的目标任务为“设备状态上报”,此任务属于低负载能力任务,根据预先记录的设备A标识与主节点初次将设备A负载到子节点M的绑定关系,确定子节点M为处理设备A的目标任务“设备状态上报”的子节点。
[0141] 子节点在处理设备标识对应设备的低负载能力任务时,可以使用剩余负载能力中的预设比例的负载能力进行处理,或者子节点可以将剩余负载能力中的预设比例的负载能力设置为预留负载能力,用于处理与自身具有设备标识与子节点之间的对应关系的设备的低负载能力任务。
[0142] 步骤S209,基于预先记录的设备标识、任务与子节点之间的对应关系,确定设备标识和目标任务对应的目标子节点,并将目标子节点确定为处理目标任务的子节点。
[0143] 具体实施时,目标任务为高负载能力任务,且目标任务的类别为非首次请求的任务类别时,主节点根据预先记录的设备标识、任务与子节点之间的对应关系,确定设备标识和目标任务对应的目标子节点,为处理目标任务的子节点,也即任务接入系统中正在处理的任务中有设备标识对应的目标任务,处理该任务的子节点,分配为处理目标任务的子节点,实现由正在处理设备标识对应设备的目标任务的子节点,在处理目标任务结束之前,同步或异步处理其他客户端发送任务请求中的相同目标任务,而不是由主节点分配给其他子节点,处理相同任务,避免系统中子节点负载急剧增加的问题,实现将任务合理地分配给系统中的子节点,防止出现因频繁切换子节点导致的设备基础服务间歇性不可用问题。
[0144] 步骤S210,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点。
[0145] 具体实施时,目标任务为高负载能力任务,且目标任务的类别为首次请求的任务类别时,也是预先记录的设备标识、任务与子节点之间的对应关系中,没有任务请求中的设备标识和目标任务相对应的子节点。主节点可以根据各子节点的剩余负载能力,为目标任务分配子节点,例如,选择剩余负载能力最大的子节点或者根据预设优先级,为处理目标任务的子节点,还可以根据选择方法,选择一个最优的子节点,为处理目标任务的子节点。
[0146] 步骤S211,记录设备标识、任务与分配的子节点之间的对应关系。
[0147] 具体实施时,目标任务为高负载能力任务,且目标任务的类别为首次请求的任务类别时,主节点为目标任务分配子节点后,在预先记录的设备标识、任务与子节点之间的对应关系中添加任务请求中的设备标识、目标任务与为目标任务分配子节点的对应关系。
[0148] 步骤S212,确定预先记录的设备标识、任务与子节点之间的对应关系中,目标子节点处理设备标识对应的设备的目标任务完成时,删除设备标识、任务与目标子节点的对应关系。
[0149] 具体实施时,预先记录的设备标识、任务与子节点之间的对应关系中,子节点处理与其有对应关系中设备标识对应的设备的目标任务结束时,从预先记录的设备标识、任务与子节点之间的对应关系中,删除该子节点与设备标识、目标任务之间的对应关系,换句话说,某一子节点M,处理多个客户端发起的针对同一设备A的相同高负载能力任务1完全结束时,也即系统中正在进行的任务中,没有关于设备A的高负载能力任务1,删除该设备A、高负载能力任务1与子节点M之间的对应关系。
[0150] 需要说明的是,此步骤可以与上述步骤没有前后关系,可以在任一时刻执行,也可以周期性执行,还可以在任一高负载能力任务结束后执行。
[0151] 图3根据一示例性实施例示出的一种任务分配方法实施过程中的负载情况示意图。图3中示出多个子节点(子节点1、子节点2、子节点3)、多个设备(设备1、设备2、设备3、设备4、设备5),并以设备为智能交通相机为例,列举出关于云台及违法任务和视频预览任务,其中,关于云台及违法任务为本发明实施中的低负载能力任务,视频预览任务为高负载能力任务。各子节点中的长方形表示该子节点的负载能力,颜色为白色的长方形表示剩余负载能力,浅灰色长方形表示正在处理任务占用的负载能力。需要说明的是,图3中示出的子节点数量、设备数量、设备功能数量不能限定实施本发明实施例时的数量条件,而是仅用于举例说明。
[0152] 图3中带有箭头的细实线表示各设备接入系统时,主节点记录的设备标识与子节点之间的对应关系,也即主节点为其分配处理设备添加任务的子节点。
[0153] 客户端A在发出设备1和设备5的违法数据接入或者设备云台控制等低负载能力任务请求时,如图4中示出的带有箭头的虚实线所示,主节点根据记录的设备标识与子节点之间的对应关系,分配处理分配设备1添加任务的子节点1,处理设备1的违法数据接入或者设备云台控制等低负载能力任务,分配处理分配设备5添加任务的子节点3,处理设备5的违法数据接入或者设备云台控制等低负载能力任务。
[0154] 由于子节点1和子节点3处理低负载能力任务,因此负载情况增加,剩余负载能力减少,图3中浅灰色长方形变为图4中黑色长方形,表示子节点的负载情况由少变多。
[0155] 客户端A发出设备1视频预览高负载能力任务请求时,如图5中示出的带有箭头的粗实线所示,因预先记录的设备标识、任务与子节点之间对应关系中没有设备1的视频预览任务,主节点根据各个子节点剩余负载能力,选择剩余负载能力最多的子节点2,将设备1视频预览任务分配给子节点2处理,并将设备1、视频预览任务和子节点2之间对应关系记录下来。
[0156] 由于子节点2处理设备1的视频预览高负载能力任务,使子节点2的负载情况增加(浅灰色长方形变为黑色长方形,白色长方形变为浅灰色长方形及黑色长方形),剩余负载能力减少(白色长方形数量变少)。
[0157] 客户端B也发出设备1视频预览高负载能力任务请求时,如图6中示出的带有箭头的粗实线所示,因主节点预先记录的设备标识、任务与子节点之间对应关系中有设备1、视频预览任务与子节点2之间的对应关系,直接将客户端B发出的关于设备1视频预览任务分配给子节点2处理。
[0158] 子节点2完成客户端A发出的关于设备1视频预览任务,以及也完成客户端B发出的关于设备1视频预览任务时,并且没有处理关于设备1视频预览任务时,主节点,从预先记录的设备标识、任务与子节点之间对应关系中,删除设备1、视频预览任务与子节点2之间的对应关系。
[0159] 若客户端C后续发出设备1视频预览高负载能力任务请求时,因预先记录的设备标识、任务与子节点之间对应关系中没有设备1的视频预览任务,主节点根据各个子节点剩余负载能力,选择剩余负载能力最多的子节点(例如,新添加的子节点4),将设备1视频预览人物分配给子节点4处理。
[0160] 本领域技术人员,应当理解本发明实施例中“设备标识、任务与子节点之间对应关系”与“设备标识与分配的子节点之间的对应关系”是两种本质不同的对应关系。
[0161] 如图7所示,本实施例提供的任务分配装置,应用于由一个主节点和多个子节点组成的任务接入系统,任务接入系统与多个设备连接,包括接收单元701、第一确定单元702、第二确定单元703,其中,
[0162] 接收单元701,用于接收任务请求,任务请求中包含设备标识和目标任务;
[0163] 第一确定单元702,用于在确定设备标识对应的设备首次接入任务接入系统时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0164] 第二确定单元703,用于在确定设备标识对应的设备非首次接入任务接入系统时,根据目标任务所需的负载能力,为目标任务分配子节点。
[0165] 一种可能的实施方式中,本实施例提供的任务分配装置,还包括:
[0166] 存储单元704,用于记录设备标识与分配的子节点之间的对应关系。
[0167] 一种可能的实施方式中,本实施例提供的任务分配装置,第二确定单元703具体用于:
[0168] 确定目标任务所需的负载能力小于预设阈值时,基于预先记录的设备标识与子节点之间的对应关系,确定设备标识对应的目标子节点,并将目标子节点确定为处理目标任务的子节点;
[0169] 确定目标任务所需的负载能力大于或等于预设阈值时,确定目标任务的类别,基于目标任务的类别,为目标任务分配子节点。
[0170] 一种可能的实施方式中,本实施例提供的任务分配装置,第二确定单元703具体用于:
[0171] 确定目标任务的类别;
[0172] 确定目标任务的类别为首次请求的任务类别时,基于预先获取的各个子节点的剩余负载能力,为目标任务分配子节点;
[0173] 确定目标任务的类别为非首次请求的任务类别时,基于预先记录的设备标识、任务类别与子节点之间的对应关系,确定设备标识和目标任务对应的目标子节点,并将目标子节点确定为处理目标任务的子节点。
[0174] 一种可能的实施方式中,本实施例提供的任务分配装置,存储单元704还用于:
[0175] 记录设备标识、任务与分配的子节点之间的对应关系。
[0176] 一种可能的实施方式中,本实施例提供的任务分配装置,还包括:
[0177] 删除单元705,用于确定预先记录的设备标识、任务与子节点之间的对应关系中,目标子节点处理设备标识所属设备的目标任务完成时,删除设备标识、任务与目标子节点的对应关系。
[0178] 基于上述本发明实施例相同构思,图8是根据一示例性实施例示出的任务分配设备800的结构示意图,如图8所示,本发明实施例示出的任务分配设备800包括:
[0179] 处理器810;
[0180] 用于存储处理器810可执行指令的存储器820;
[0181] 其中,处理器810被配置为执行指令,以实现本发明实施例中任务分配方法。
[0182] 在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器820,上述指令可由任务分配装置的处理器810执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。
[0183] 另外,结合图1、2、7所描述的本发明实施例的任务分配方法及装置可以由任务分配设备来实现。图9示出了本发明实施例提供的任务分配设备结构示意图。
[0184] 该任务分配设备可以包括处理器901以及存储有计算机程序指令的存储器902。
[0185] 具体地,上述处理器901可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
[0186] 存储器902可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器902可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器902可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器902可在数据处理装置的内部或外部。在特定实施例中,存储器902是非易失性固态存储器。在特定实施例中,存储器902包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
[0187] 处理器901通过读取并执行存储器902中存储的计算机程序指令,以实现上述实施例中的任务分配方法。
[0188] 在一个示例中,该任务分配设备还可包括通信接口903和总线910。其中,如图9所示,处理器901、存储器902、通信接口903通过总线910连接并完成相互间的通信。
[0189] 通信接口903,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
[0190] 总线910包括硬件、软件或两者,将该任务分配设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其它图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI‑Express(PCI‑X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其它合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线910可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
[0191] 另外,结合上述实施例中的任务分配方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一项任务分配方法。
[0192] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0193] 本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0194] 这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0195] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0196] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0197] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。