本发明属于嵌入式系统分布式计算负载均衡,具体涉及一种嵌入式系统分布式计算的负载均衡方法、模块及使用方法。
背景技术:
1、负载均衡在计算机科学领域具有重大作用。它有助于优化系统性能,通过智能地分配任务和请求到不同的服务器或计算节点,确保每个组件得到均匀负载,提高整个系统的处理效率和响应速度。负载均衡还可以优化资源利用率,通过动态调整任务的分配,避免某个节点负载过重,从而降低资源浪费,提高系统的经济性。同时,负载均衡有助于提高系统的可扩展性,使系统更容易适应不断变化的工作负载和需求,实现灵活的扩展和缩减。其在提高性能、优化资源利用、支持可扩展性和确保可用性等方面发挥着关键作用,是构建健壮、高效系统架构的不可或缺的技术组成部分。
2、在非嵌入式系统中,它常被用在数据中心服务器、web服务器、分布式数据库、云计算平台等大型项目中。它可以将不同请求分发到不同的服务器上,确保每个服务器都得到适量的工作负载,以提高整个数据中心的性能和稳定性。也可以将将请求分配到可用资源最多的服务器上,以确保响应速度快而且服务可用性高。在云环境中,虚拟机和容器的负载均衡是确保资源平等利用的关键。云服务提供商使用负载均衡来管理不同用户的虚拟机实例,以保持整体系统的性能和稳定性。
3、在嵌入式系统的分布式计算中,由于嵌入式系统通常具有有限的计算资源,包括处理器能力、内存和存储空间。负载均衡可以确保每个嵌入式设备都能够得到均匀的负载,避免某些设备过度负载而浪费资源,从而最大限度地优化系统的整体性能。同时,负载均衡也可以通过合理分配任务和计算负载,可以提高整个嵌入式系统的性能。通过将任务分发到性能较好的设备上,负载均衡有助于提高计算效率,加速任务的处理速度。一些实时计算任务,对任务响应时间的要求非常高。负载均衡可以确保任务被分配到能够满足实时性要求的设备上,避免出现任务延迟的情况。然而在现有的嵌入式设备中,通常并不具备分布式计算和负载均衡的能力。
技术实现思路
1、本发明的目的在于提供一种嵌入式系统分布式计算的负载均衡方法、模块及使用方法,通过实时监测各个从设备的性能和负载情况,智能地选择性能优异的从设备,以确保任务能够在整个嵌入式系统中得到均衡分配。
2、为实现上述目的,本发明采用如下技术方案:
3、一种嵌入式系统分布式计算的负载均衡方法,包括以下步骤:
4、将多台运行嵌入式系统的设备连接一起组成分布式计算网络,选择其中一台作为主设备,其余设备作为从设备;
5、实时获取在线的设备列表、设备性能和负载信息;
6、根据需要选择设备性能和负载信息中的一个或多个指标作为评估指标,并对每个评估指标进行归一化处理和分配权重;
7、计算每台设备的每个评估指标和所分配的权重的加权求和,得到每台设备的综合评分;
8、根据设定的阈值舍弃综合评分低于该阈值的低性能设备,并按照综合评分高低对剩余的高性能设备所在设备列表进行排序;
9、按照高性能设备所在设备列表的排序,选择所需数量的高性能设备进行负载分配。
10、一种嵌入式系统分布式计算的负载均衡模块,设置于一台主设备上,用于将该主设备和其他的从设备连接在一起组成一个分布式计算网络,所述主设备和从设备均运行嵌入式系统;实时获取在线的设备列表、设备性能和负载信息;根据需要选择设备性能和负载信息中的一个或多个指标作为评估指标,并对每个评估指标进行归一化处理和分配权重;计算每台设备的每个评估指标和所分配的权重的加权求和,得到每台设备的综合评分;根据设定的阈值舍弃综合评分低于该阈值的低性能设备,并按照综合评分高低对剩余的高性能设备所在设备列表进行排序;按照高性能设备所在设备列表的排序,选择所需数量的高性能设备进行负载分配。
11、进一步地,所述负载均衡模块包括:
12、grpcbus组件,用于将设备连接在一起组成一个分布式计算网络;
13、loaddetection组件,用于通过grpcbus组件实时获取在线的设备列表、设备性能和负载信息;并将设备列表与设备性能、负载信息一一对应,剔除多余信息,制成所需格式的信息列表;
14、algorithmfactory组件,用于获取信息列表,并根据需要选择设备性能和负载信息中的一个或多个指标作为评估指标,并对每个评估指标进行归一化处理和分配权重;计算每台设备的每个评估指标和所分配的权重的加权求和,得到每台设备的综合评分;根据设定的阈值舍弃综合评分低于该阈值的低性能设备,并按照综合评分高低对剩余的高性能设备所在设备列表进行排序;按照高性能设备所在设备列表的排序,选择所需数量的高性能设备进行负载分配。
15、进一步地,评估指标包括cpu占用率、内存占用率、丢包率、处理器速度、内存容量、磁盘速度。
16、进一步地,采用min-max scaling方法进行归一化处理。
17、一种负载均衡模块的使用方法,包括以下步骤:
18、运行位于主设备的负载均衡模块,获取按照综合评分高低排序的高性能设备的设备列表;
19、主设备获取外接数据,通过切片将大数据分成多个小数据,并进行打包和编码;
20、选择所述设备列表中前多个从设备,将每份小数据发送到每个从设备上;
21、每个从设备获取小数据后进行解码,根据解码的数据计算结果,再将该计算结果返回给主设备;
22、主设备收到各个从设备返回的计算结果后,按照时序顺序进度排序,得到最终的结果。
23、进一步地,主设备通过protobuf将小数据进行打包和编码。
24、本发明取得的有益效果:
25、本发明提出的负载均衡方法及模块,不仅能提供分布式计算能力,还能通过合理的任务划分和负载均衡,充分发挥了各个设备的潜能,为实时图像处理等领域的嵌入式系统提供了一种创新的解决方案。本发明不仅可以将复杂任务分解成多个小任务由不同的设备节点处理,还可以将设备节点全部联系起来,形成一个设备列表,能够感知设备的上下线,基于此可以把任务分发给不同设备处理。本发明基于加权进行设备负载均衡,采集的加权维度更加贴合嵌入式设备,更加切合嵌入式设备的性能比较。
26、本发明提出的负载均衡模块能在以下环境场景中发挥至关重要的作用,(1)当用户使用多个摄像头同时拍摄时,负载均衡模块可以智能地将图像处理任务分配给不同的嵌入式处理单元,以提高图像处理速度和效果,这有助于实现更快速、更高质量的图像处理体验。(2)负载均衡模块可以用于优化语音识别任务的负载分配,当用户发出语音指令时,负载均衡模块可以智能地将语音识别任务分配给空闲的嵌入式处理单元,确保快速响应用户指令的同时,有效利用系统资源。
1.一种嵌入式系统分布式计算的负载均衡方法,其特征在于,包括以下步骤:
2.如权利要求1所述的负载均衡方法,其特征在于,评估指标包括cpu占用率、内存占用率、丢包率、处理器速度、内存容量、磁盘速度。
3.如权利要求1所述的负载均衡方法,其特征在于,采用min-max scaling方法进行归一化处理。
4.一种嵌入式系统分布式计算的负载均衡模块,其特征在于,设置于一台主设备上,用于将该主设备和其他的从设备连接在一起组成一个分布式计算网络,所述主设备和从设备均运行嵌入式系统;实时获取在线的设备列表、设备性能和负载信息;根据需要选择设备性能和负载信息中的一个或多个指标作为评估指标,并对每个评估指标进行归一化处理和分配权重;计算每台设备的每个评估指标和所分配的权重的加权求和,得到每台设备的综合评分;根据设定的阈值舍弃综合评分低于该阈值的低性能设备,并按照综合评分高低对剩余的高性能设备所在设备列表进行排序;按照高性能设备所在设备列表的排序,选择所需数量的高性能设备进行负载分配。
5.如权利要求4所述的负载均衡模块,其特征在于,所述负载均衡模块包括:
6.如权利要求4或5所述的负载均衡模块,其特征在于,评估指标包括cpu占用率、内存占用率、丢包率、处理器速度、内存容量、磁盘速度。
7.如权利要求4或5所述的负载均衡模块,其特征在于,采用min-max scaling方法进行归一化处理。
8.一种权利要求4-7任一项所述的负载均衡模块的使用方法,其特征在于,包括以下步骤:
9.如权利要求8所述的使用方法,其特征在于,主设备通过protobuf将小数据进行打包和编码。