首页 / 专利分类库 / 电通信技术 / 一种自适应负载均衡方法及系统

一种自适应负载均衡方法及系统

申请号 CN202410163685.5 申请日 2024-02-05 公开(公告)号 CN118018553A 公开(公告)日 2024-05-10
申请人 湖南长银五八消费金融股份有限公司; 发明人 贺鸿才; 周雁鸣; 李尼科; 鲁健翔; 邹扬; 潘斌; 曾飞龙;
摘要 本 申请 公开了一种自适应负载均衡方法及系统,该方法包括如下步骤:利用redis集群的发布订阅机制建立微服务注册中心;通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;通过celery服务发布定时任务监控所有 服务器 ,以获取所述服务器的资源空闲情况;根据所述资源空闲情况和所述服务信息获取服务吞吐量;通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务;本方法使用redis作为注册中心,celery作为监控,可以快速处理同一时间内多个告警异步任务,避免发生任务拥塞,从而实现任务高并发,并保证任务的可靠性;该系统具有相同的有益效果。
权利要求

1.一种自适应负载均衡方法,其特征在于,包括如下步骤:
利用redis集群的发布订阅机制建立微服务注册中心;
通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;
通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;
根据所述资源空闲情况和所述服务信息获取服务吞吐量;
通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务。
2.根据权利要求1所述的自适应负载均衡方法,其特征在于,所述通过所述微服务注册中心将应用的服务信息保存至所述redis中,具体包括步骤:
通过所述微服务注册中心将应用的服务信息以hash数据结构格式保存至所述redis中。
3.根据权利要求1所述的自适应负载均衡方法,其特征在于,所述通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况之前,还包括步骤:
通过zabbix将一段时间间隔内的调用成功与调用总数之间的比例推送给所述celey服务;
所述celery服务根据所述比例与预设比例阈值进行判断。
4.根据权利要求3所述的自适应负载均衡方法,其特征在于,所述celery服务根据所述比例与预设比例阈值进行判断,具体包括步骤:
当所述比例小于等于所述预设比例阈值时,所述celery服务更新所述服务信息中的可用性为false,则该服务不能被调用;
当所述比例大于所述预设比例阈值时,所述celery服务更新所述服务信息中的可用性为true,则该服务能被调用;
其中,所述服务信息包括:所述可用性。
5.根据权利要求1所述的自适应负载均衡方法,其特征在于,所述根据所述资源空闲情况和所述服务信息获取服务吞吐量,具体包括步骤:
将所述资源空闲情况和所述服务信息通过最小二乘法计算服务吞吐量,其中,所述服务吞吐量的具体计算公式为:
Tpsθ(x1,x2,x3,x4)=θ0+θ1x1+θ2x2+θ3x3+θ4x4
其中,x1表示服务器此时此刻的空闲内存;x2表示服务器此时此刻的空闲cpu;x3表示服务器此时此刻的空闲带宽;x4表示服务器此时此刻的I/O空闲情况。
6.根据权利要求1所述的自适应负载均衡方法,其特征在于,所述通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况之后,还包括步骤:
通过所述celery服务的celery生产者将监控情况推送给celery服务中的redis;
当celery执行者检测到有任务时,执行脚本,以更新所述redis集群中的所述服务信息。
7.根据权利要求1所述的自适应负载均衡方法,其特征在于,所述通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务之前,还包括步骤:
定时将保存在redis集群中的所述服务信息拉取到本地,以更新本地的服务信息。
8.一种自适应负载均衡系统,其特征在于,包括:建立模、保存模块、监控模块、获取模块和调用模块;
所述建立模块,用于利用redis集群的发布订阅机制建立微服务注册中心;
所述保存模块,用于通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;
所述监控模块,用于通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;
所述获取模块,用于根据所述资源空闲情况和所述服务信息获取服务吞吐量;
所述调用模块,用于通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序用于使计算机执行权利要求1‑7任意一项所述的方法。

说明书全文

一种自适应负载均衡方法及系统

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种自适应负载均衡方法及系统。

背景技术

[0002] 目前市面上已经存在的微服务注册中心种类很多,如Zookeeper、Eureka、Consul、nocos等,但这些微服务注册中心都存在着集成度高、内部复杂、功能组件丰富多等特点,也正因为这些特点,导致这些微服务注册中心在使用过程中功能组件过于丰富,从而使系统过于臃肿,当执行系统任务时,会发生任务拥塞,无法及时把控以及无法迅速解决拥塞问题,从而导致维护成本高。
[0003] 鉴于此,提供一种可满足高并发的自适应负载均衡是本领域技术人员亟待解决的技术问题。发明内容
[0004] 为解决上述技术问题,本发明的目的为提供一种自适应负载均衡方法及系统;通过使用redis作为注册中心,celery作为监控,可以快速处理同一时间内多个告警异步任务,避免发生任务拥塞,从而实现任务高并发,并保证任务的可靠性。
[0005] 本发明的第一个目的为提供一种自适应负载均衡方法;
[0006] 本发明提供的技术方案如下:
[0007] 一种自适应负载均衡方法,包括如下步骤:
[0008] 利用redis集群的发布订阅机制建立微服务注册中心;
[0009] 通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;
[0010] 通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;
[0011] 根据所述资源空闲情况和所述服务信息获取服务吞吐量;
[0012] 通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务。
[0013] 优选地,所述通过所述微服务注册中心将应用的服务信息保存至所述redis中,具体包括步骤:
[0014] 通过所述微服务注册中心将应用的服务信息以hash数据结构格式保存至所述redis中。
[0015] 优选地,所述通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况之前,还包括步骤:
[0016] 通过zabbix将一段时间间隔内的调用成功与调用总数之间的比例推送给所述celey服务;
[0017] 所述celery服务根据所述比例与预设比例阈值进行判断。
[0018] 优选地,所述celery服务根据所述比例与预设比例阈值进行判断,具体包括步骤:
[0019] 当所述比例小于等于所述预设比例阈值时,所述celery服务更新所述服务信息中的可用性为false,则该服务不能被调用;
[0020] 当所述比例大于所述预设比例阈值时,所述celery服务更新所述服务信息中的可用性为true,则该服务能被调用;
[0021] 其中,所述服务信息包括:所述可用性。
[0022] 优选地,所述根据所述资源空闲情况和所述服务信息获取服务吞吐量,具体包括步骤:
[0023] 将所述资源空闲情况和所述服务信息通过最小二乘法计算服务吞吐量,其中,所述服务吞吐量的具体计算公式为:
[0024] Tpsθ(x1,x2,x3,x4)=θ0+θ1x1+θ2x2+θ3x3+θ4x4
[0025] 其中,x1表示服务器此时此刻的空闲内存;x2表示服务器此时此刻的空闲cpu;x3表示服务器此时此刻的空闲带宽;x4表示服务器此时此刻的I/O空闲情况。
[0026] 优选地,所述通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况之后,还包括步骤:
[0027] 通过所述celery服务的celery生产者将监控情况推送给celery服务中的redis;
[0028] 当celery执行者检测到有任务时,执行脚本,以更新所述redis集群中的所述服务信息。
[0029] 优选地,所述通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务之前,还包括步骤:
[0030] 定时将保存在redis集群中的所述服务信息拉取到本地,,以更新本地的服务信息。
[0031] 本发明的第二个目的为提供一种自适应负载均衡系统;
[0032] 本发明提供的技术方案如下:
[0033] 一种自适应负载均衡系统,包括:建立模、保存模块、监控模块、获取模块和调用模块;
[0034] 所述建立模块,用于利用redis集群的发布订阅机制建立微服务注册中心;
[0035] 所述保存模块,用于通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;
[0036] 所述监控模块,用于通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;
[0037] 所述获取模块,用于根据所述资源空闲情况和所述服务信息获取服务吞吐量;
[0038] 所述调用模块,用于通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务。
[0039] 本发明的第三个目的为提供一种电子设备;
[0040] 本发明提供的技术方案如下:
[0041] 一种电子设备,包括:
[0042] 至少一个处理器;以及
[0043] 与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行自适应负载均衡方法任意一项所述的方法步骤。
[0044] 本发明的第四个目的为提供一种计算机可读存储介质;
[0045] 本发明提供的技术方案如下:
[0046] 一种计算机可读存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于使计算机执行自适应负载均衡方法任意一项所述的方法步骤。
[0047] 本发明提供了一种自适应负载均衡方法,包括如下步骤:利用redis集群的发布订阅机制建立微服务注册中心;通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;根据所述资源空闲情况和所述服务信息获取服务吞吐量;通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务;本方法使用redis作为注册中心,celery作为监控,可以快速处理同一时间内多个告警异步任务,避免发生任务拥塞,从而实现任务高并发,并保证任务的可靠性。
[0048] 本发明还提供了一种自适应负载均衡系统,由于该系统与该自适应负载均衡方法解决相同的技术问题,属于相同的技术构思,理应具有相同的有益效果,在此不再赘述。附图说明
[0049] 为了更清楚地说明本申请实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050] 图1为本发明实施例中一种自适应负载均衡方法的步骤流程图
[0051] 图2为本发明实施例中一种自适应负载均衡方法的系统流程图;
[0052] 图3为本发明实施例中一种自适应负载均衡系统的结构图;
[0053] 图4为本发明实施例中一种电子设备的结构示意图。

具体实施方式

[0054] 为了使本领域的技术人员更好地理解本申请中的技术方案,下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0055] 如图1至图2所示,本发明实施例提供一种自适应负载均衡方法,包括如下步骤:
[0056] S1.利用redis集群的发布订阅机制建立微服务注册中心;
[0057] 步骤S1中,首先部署celery服务到单独主机,配置celery的数据库与redis,并监控各个应用所在服务器的性能,然后再部署zabbix,用于监控每个应用服务http请求,并将成功与失败的调用结果推送给celery服务;最后再利用redis集群的发布订阅机制建立微服务注册中心;本实施例中利用redis的发布订阅机制来实现服务的注册与发现,然后通过redis建立通道channel,所有应用都能够将自己的对外服务发布到redis,实现服务的注册,,同时所有应用都订阅该通道channel,当有应用发布了自己的服务到redis,订阅了该通道channel的其他应用都可以接收到该服务的信息,其他应用收到这些信息后将该信息保存在本地,当需要调用该服务时,直接查询本地的服务列表调用服务即可;本实施例中采用zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件;本实施例中采用的发布订阅机制是当一个客户端通过PUBLISH命令向订阅者发送信息时,这个客户端被称为发布者;而当一个客户端使用SUBSCRIBE或者PSUBSCRIBE命令接收信息时,,这个客户端被称为订阅者;为了解耦发布者和订阅者之间的关系,Redis使用了频道CHANNEL作为两者的中介;发布者将信息直接发布给频道,而频道负责将信息发送给适当的订阅者;同时发布者和订阅者之间没有相互关系,也不知道对方的存在。
[0058] S2.通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;
[0059] 步骤S2中,所有的应用都订阅步骤S1中通过利用redis建立的通道channel,当应用在启动时将自身所有的服务通过建立的redis的通道channel发布出去,并将服务信息保存到redis中。
[0060] S3.通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;
[0061] 步骤S3中,通过设置celery服务为系统监控,同时通过celery服务发布定时任务监控所有服务器,以获取服务器的资源空闲情况,通过celery定时调度框架的服务器监控、告警方法,可以快速处理同一时间内多个告警异步任务,不会阻塞系统主程序接受其他处理请求;本实施例中的资源空闲情况包括:内存、CPU、带宽和I/O等。
[0062] S4.根据所述资源空闲情况和所述服务信息获取服务吞吐量;
[0063] 步骤S4至步骤S5中,由于每个应用服务受服务器资源的影响,对应应用服务的吞吐量也会受服务器空闲资源的影响,因为每个服务对资源的依赖程度不同,因此可以通过计算出服务的吞吐量,因为提供相同服务的应用可能有很多,但服务可能分布在不同的服务器上,因此服务能够达到的吞吐量也不同,所在的系统空闲资源不同,计算出的服务能达到的吞吐量也不同,而调用方就可以选择吞吐量最高的服务,达到最高的性能,同时可以快速处理同一时间内多个告警异步任务,避免发生任务拥塞,从而实现任务高并发,并保证任务的可靠性。
[0064] 优选地,所述通过所述微服务注册中心将应用的服务信息保存至所述redis中,具体包括步骤:
[0065] 通过所述微服务注册中心将应用的服务信息以hash数据结构格式保存至所述redis中。
[0066] 在实际运用过程中,通过微服务注册中心将应用的服务信息以hash数据结构格式保存至redis中;具体的服务信息如下表1所示:
[0067] 表1服务信息表
[0068]
[0069] 其中,对应的key为服务的名称,value为key‑value键值对,其中ip为服务所属应用所在的服务器ip地址,port为该服务提供服务的端口,isable表示服务是否可用,tps表示通过线性关系以及服务器的空闲资源情况动态计算出来的服务吞吐量,linearrelationship为服务器的空闲资源与吞吐量的线性关系特征值的系数。
[0070] 优选地,所述通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况之前,还包括步骤:
[0071] B1.通过zabbix将一段时间间隔内的调用成功与调用总数之间的比例推送给所述celey服务;
[0072] 步骤B1中,通过部署zabbix来监视系统中产生的参数,在本实施例中,通过部署的zabbix将一段时间间隔内的调用成功与调用总数之间的比例推送给celey服务。
[0073] B2.所述celery服务根据所述比例与预设比例阈值进行判断。
[0074] 步骤B2中,celery服务根据比例与预设比例阈值进行判断:当比例小于等于预设比例阈值时,celery服务更新服务信息中的可用性为false,则该服务不能被调用;当比例大于预设比例阈值时,celery服务更新服务信息中的可用性为true,则该服务能被调用;其中,所述服务信息包括:可用性。
[0075] 优选地,所述根据所述资源空闲情况和所述服务信息获取服务吞吐量,具体包括步骤:
[0076] 将所述资源空闲情况和所述服务信息通过最小二乘法计算服务吞吐量,其中,所述服务吞吐量的具体计算公式为:
[0077] Tpsθ(x1,x2,x3,x4)=θ0x0+θ1x1+θ2x2+θ3x3+θ4x4
[0078] 其中,x1表示服务器此时此刻的空闲内存;x2表示服务器此时此刻的空闲cpu;x3表示服务器此时此刻的空闲带宽;x4表示服务器此时此刻的I/O空闲情况。
[0079] 在实际运用过程中,在服务上线之前、进行性能测试的时候进行的,获取到线性关系后保存到数据库表中进行记录,并在服务发布时,发布到注册中心,而在本实施例中,每个应用在新增服务时,都要进行性能测试,通过多个样本测试数据,利用最小二乘算法计算出服务吞吐量tps与服务器空闲的内存(x1)、CPU(x2)、带宽(x3)、I/O(x4)之间的线性关系,如下:
[0080] Tpsθ(x1,x2,x3,x4)=θ0+θ1x1+θ2x2+θ3x3+θ4x4
[0081] 由于系统资源的数据相差会比较大,因此为了去除不同特征值的量纲以及量纲单位,对数据进行归一化处理,将所有特征值的数据映射到[0,1]范围内。因各个特征值的最大值与最小值为确定值,并相对稳定,因此采用归一化处理的公式如下:
[0082]
[0083] 其中,max为样本数据的最大值,min为样本数据的最小值。
[0084] 可以通过大量的测试样本,来回归出线性关系;假设现在有m个样本,每个样本有4维特征,
[0085] Tps1=θ0x0+θ1x1,1+θ2x1,2+θ3x1,3+θ4x1,4
[0086] Tps2=θ0x0+θ1x2,1+θ2x2,2+θ3x2,3+θ4x2,4
[0087] ...
[0088] Tps1m=θ0x0+θ1xm,1+θ2xm,2+θ3xm,3+θ4xm,4
[0089] 其中,Tpsm表示样本m情况下的服务吞吐量;θ表示需要拟合出来的参数;
[0090] 为方便用矩阵表示,令x0=1,于是上述方程可以用矩阵表示为:
[0091] Tps=Xθ
[0092] 其中,Tps为m×1的向量,代表模型的理论值;θ表示为5×1的向量,X表示m×4维的矩阵,m表示样本的个数,4代表样本的特征数;于是目标损失函数用矩阵表示为:
[0093] J(θ)=||Tps‑Y||2=||Xθ‑Y||2=(Xθ‑Y)T(Xθ‑Y)
[0094] 其中Y是样本的输出向量,维度为m×1;T表示矩阵的转置,矩阵的转置是指将矩阵的行和列互换得到的新矩阵。
[0095] 函数取得极值就是求其导数为0,所以只需要对损失函数求导令其等于0就可以解出θ。矩阵求导属于矩阵微积分的内容,用到的公式如下所示:
[0096]
[0097]
[0098] 如果矩阵A是对称的:
[0099] Ax+ATx=2Ax
[0100] 对目标函数化简:
[0101] J(θ)=θTXTXθ‑θTXTY‑YTXθ+YTY
[0102] 求导令其等于0:
[0103]
[0104] 解得θ=(XTX)‑1XTY,经过推导就得到了θ的解析解,现在只要给了数据,就可以带入解析解中直接算出θ,从而得到线性关系。
[0105] 优选地,所述通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况之后,还包括步骤:
[0106] C1.通过所述celery服务的celery生产者将监控情况推送给celery服务中的redis;
[0107] 步骤C1中,celery服务通过发布定时任务,每间隔一段时间(该时间间隔可以配置,时间越短,实时性更好)会将所监控的应用所在服务器的资源空闲情况记录下来,并推送给celery服务中的redis中。
[0108] C2.当celery执行者检测到有任务时,执行脚本,以更新所述redis集群中的所述服务信息。
[0109] 步骤C2中,由于高并发任务时非常依赖服务器资源的应用,使用celery定时调度框架对高并发任务进行监控存入数据库表中,并通过celery执行者定时把告警任务推入redis消息队列,代替传统的线程池,不会有任务数限制,当告警策略达到上万条时不会堵塞,celery多执行器模式可以同时间快速取出redis中任务并处理;当celery执行者处理完异步任务将结果更新至redis集群中的服务信息中,每个任务都有迹可循;对于长期占用资源的异步任务,通过设置任务超时时间可以使当前celery执行者自我销毁程序重建来释放资源。
[0110] 优选地,所述通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务之前,还包括步骤:
[0111] 定时将保存在redis集群中的所述服务信息拉取到本地,,以更新本地的服务信息。
[0112] 在实际运用过程中,各个应用可以定时将保存在redis中的服务信息拉取到本地,更新本地的服务信息从而释放资源;本实施例中的定时本领域技术人员可以根据实际情况自行配置。
[0113] 如图3所示,本发明实施例还提供了一种自适应负载均衡系统,包括:建立模块、保存模块、监控模块、获取模块和调用模块;
[0114] 所述建立模块,用于利用redis集群的发布订阅机制建立微服务注册中心;
[0115] 所述保存模块,用于通过所述微服务注册中心将应用的服务信息保存至所述redis集群中;
[0116] 所述监控模块,用于通过celery服务发布定时任务监控所有服务器,以获取所述服务器的资源空闲情况;
[0117] 所述获取模块,用于根据所述资源空闲情况和所述服务信息获取服务吞吐量;
[0118] 所述调用模块,用于通过查询本地的所述服务信息调用吞吐量高的服务,以获取目标服务。
[0119] 在实际运用过程中,设置了建立模块、保存模块、监控模块、获取模块和调用模块;保存模块分别与建立模块和获取模块连接;监控模块与获取模块连接;获取模块与调用模块连接;建立模块利用redis集群的发布订阅机制建立微服务注册中心后进入保存模块;在保存模块中,通过微服务注册中心将应用的服务信息保存至redis集群中后进入获取模块中;监控模块通过celery服务发布定时任务监控所有服务器,以获取服务器的资源空闲情况后,将服务器的资源空闲情况发送至获取模块中;获取模块将根据资源空闲情况和服务信息获取服务吞吐量后,将服务吞吐量发送至调用模块中;调用模块则通过查询本地的服务信息调用吞吐量高的服务,以获取目标服务供用户使用;本系统通过设置建立模块、保存模块、监控模块、获取模块和调用模块可以快速处理同一时间内多个告警异步任务,避免发生任务拥塞,从而实现任务高并发,并保证任务的可靠性。
[0120] 进一步的,本申请实施例还公开了一种电子设备,图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
[0121] 图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的自适应负载均衡方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
[0122] 本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0123] 另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
[0124] 其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的自适应负载均衡方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括自适应负载均衡设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
[0125] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM或技术领域内所公知的任意其他形式的存储介质中。
[0126] 进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的自适应负载均衡方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0127] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0128] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0129] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0130] 本申请中如若使用了流程图,则该流程图是用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0131] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
QQ群二维码
意见反馈