本申请涉及计算机,特别是涉及一种流量控制方法、系统、单元以及存储介质。
背景技术:
1、在分布式系统中,为了提高系统的可用性和容错性,通常会采用多集群多活方案。多集群多活方案指的是,在不同的地理位置上部署多集群,并利用该多集群为外界的主体提供服务。
2、目前的多集群多活方案中,采取轮询等策略来实现各个集群之间的流量分配,轮流将外界的请求转发给内部的各个集群,使得各个集群的流量分配从长期来看是接近平均的。
3、但由于各集群的资源分配情况不同,并且还会变化,使得一些集群可能会发生过载或负载不足的情况,因此不能实现很好的负载均衡。可见,在现有的多集群多活方案中,还存在着负载均衡度较低的问题。
技术实现思路
1、基于此,本申请提供了一种流量控制方法、系统、单元以及存储介质,改善了现有技术中多集群多活方案的负载均衡度较低的问题。
2、第一方面,本申请提供了一种流量控制方法,该流量控制方法包括:监控多集群的资源分配情况,并在监控到资源分配情况发生变化时,根据变化后的资源分配情况对各集群的资源分配占比进行更新;将各集群更新后的资源分配占比分别作为各集群的流量分配权重;接收到计算任务请求后,按照各集群的流量分配权重进行流量分配。
3、结合第一方面,在第一方面的第一种可实施方式中,上述监控多集群的资源分配情况,并在监控到资源分配情况发生变化时,根据变化后的资源分配情况对各集群的资源分配占比进行更新的步骤,包括:对多集群中各集群分别已分配的资源量进行监控;监控到资源量发生变化时,计算多集群已分配的资源总量;计算各集群的资源量分别在资源总量中的占比,以更新得到各集群的资源分配占比。
4、结合第一方面,在第一方面的第二种可实施方式中,上述监控多集群的资源分配情况,并在监控到资源分配情况发生变化时,根据变化后的资源分配情况对各集群的资源分配占比进行更新的步骤,包括:对多集群中各集群分别已分配给目标系统的资源分量进行监控;监控到资源分量发生变化时,计算目标系统已占用的资源总量;计算各集群的资源分量分别在资源总量中的占比,以更新得到各集群的资源分配占比。
5、第二方面,本申请还提供了一种流量控制系统,该流量控制系统包括流量控制单元,用于执行执行如第一方面或第一方面的任一项实施方式的流量控制方法;多集群,用于向流量控制单元发送分配信息,使得流量控制单元根据分配信息对多集群的资源分配情况进行监控。
6、结合第二方面,在第二方面的第一种可实施方式中,上述流量控制系统的各集群中还包括一个监控节点,其中:监控节点用于监控所在集群已分配的资源量或者资源分量,并对监控到的资源量或者资源分量进行封装得到分配信息。
7、结合第二方面,在第二方面的第二种可实施方式中,上述流量控制系统的各集群中还包括一个注册中心,其中:注册中心用于管理所在集群的服务注册发现,以允许各集群中的多个服务通过所在集群的注册中心,对所在集群中的其他服务进行远程数据调用。
8、结合第二方面的第二种可实施方式,在第二方面的第三种可实施方式中,上述流量控制系统还包括至少一个分布式存储系统和/或分布式缓存系统,其中:至少一个分布式存储系统和/或分布式缓存系统,用于将具有一致性需求的数据进行存储或缓存,使得多集群通过访问至少一个分布式存储系统和/或分布式缓存系统进行数据交互。
9、第三方面,本申请还提供了一种流量控制单元,该流量控制单元包括监控单元、计算单元以及分配单元,其中,监控模块用于监控多集群的资源分配情况,并在监控到资源分配情况发生变化时,根据变化后的资源分配情况对各集群的资源分配占比进行更新;计算模块用于将各集群更新后的资源分配占比分别作为各集群的流量分配权重;分配模块用于接收到计算任务请求后,按照各集群的流量分配权重进行流量分配。
10、结合第三方面,在第三方面的第一种可实施方式中,上述监控模块具体用于:对多集群中各集群分别已分配的资源量进行监控;监控到资源量发生变化时,计算多集群已分配的资源总量;计算各集群的资源量分别在资源总量中的占比,以更新得到各集群的资源分配占比。
11、结合第三方面,在第三方面的第二种可实施方式中,上述监控模块具体用于:对多集群中各集群分别已分配给目标系统的资源分量进行监控;监控到资源分量发生变化时,计算目标系统已占用的资源总量;计算各集群的资源分量分别在资源总量中的占比,以更新得到各集群的资源分配占比。
12、第四方面,本申请还提供了一种流量控制单元,该流量控制单元包括处理器、收发器和存储器,处理器、收发器和存储器通过总线连接;处理器,用于执行多条指令;收发器,用于与其他设备进行数据交互;存储器,用于存储多条指令,指令适于由处理器加载并执行如第一方面或第一方面的任一项实施方式的流量控制方法。
13、第五方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有多条指令,指令适于由处理器加载并执行如第一方面或第一方面的任一项实施方式的流量控制方法。
14、综上,本申请提供了一种流量控制方法、系统、单元及存储介质,其中,流量控制单元不仅可以在接收到外界的计算任务请求时,按照各集群的流量分配权重进行流量分配,并且还可以在资源分配情况发生变化时,根据该资源分配情况对各集群的流量分配权重进行更新。可见,由于本申请的流量分配过程是根据动态变化的资源分配情况来进行的,因此减少了发生过载或负载不足情况的发生,改善了现有的多集群多活方案的负载均衡度较低的问题。
1.一种流量控制方法,其特征在于,所述流量控制方法包括:
2.根据权利要求1所述的方法,其特征在于,所述监控多集群的资源分配情况,并在监控到所述资源分配情况发生变化时,根据变化后的资源分配情况对各集群的资源分配占比进行更新的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述监控多集群的资源分配情况,并在监控到所述资源分配情况发生变化时,根据变化后的资源分配情况对各集群的资源分配占比进行更新的步骤,包括:
4.一种流量控制系统,其特征在于,所述流量控制系统包括:
5.根据权利要求4所述的流量控制系统,其特征在于,各集群中还包括一个监控节点,其中:
6.根据权利要求4所述的流量控制系统,其特征在于,各集群中还包括一个注册中心,其中:
7.根据权利要求6所述的流量控制系统,其特征在于,所述流量控制系统还包括至少一个分布式存储系统和/或分布式缓存系统,其中:
8.一种流量控制单元,其特征在于,所述流量控制单元包括:
9.一种流量控制单元,其特征在于,所述流量控制单元包括处理器、收发器和存储器,所述处理器、收发器和存储器通过总线连接;所述处理器,用于执行多条指令;所述收发器,用于与其他设备进行数据交互;所述存储器,用于存储所述多条指令,所述指令适于由所述处理器加载并执行权利要求1至3所述的流量控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行权利要求1至3中任一项所述的流量控制方法。