CN108989474A - 分布式节点的服务角色分配方法及分布式数据传输系统 - Google Patents
分布式节点的服务角色分配方法及分布式数据传输系统 Download PDFInfo
- Publication number
- CN108989474A CN108989474A CN201811152222.XA CN201811152222A CN108989474A CN 108989474 A CN108989474 A CN 108989474A CN 201811152222 A CN201811152222 A CN 201811152222A CN 108989474 A CN108989474 A CN 108989474A
- Authority
- CN
- China
- Prior art keywords
- allocated
- node
- distributed
- service
- ratio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了分布式节点的服务角色分配方法及分布式数据传输系统,首先获得用于提供上线服务的N个待分配分布式节点,然后确定出分布式数据传输系统中所有服务角色的已分配节点比例;并基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例,每个待分配服务角色的待分配节点比例表示的就是每个待分配服务角色还需要分配的待分配分布式节点的情况,故而基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及分布式节点的服务角色分配方法及分布式数据传输系统。
背景技术
随着科学技术的不断发展,通信技术也得到了飞速的发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备,享受随着科技发展带来的舒适生活。
为了更好地响应大量用户终端的请求,目前采用的是分布式系统来处理海量用户请求。而由于用户请求的请求数据是不同的,故而分布式系统中的各服务器会承担不同的服务功能。
但是,由于各服务器并不清楚其他服务器承担的服务功能,故而可能会产生大量服务器都承担同一种服务功能的情况,进而导致分布式系统中的服务资源分配失衡。
发明内容
本发明提供了分布式节点的服务角色分配方法及分布式数据传输系统,以解决或者部分解决分布式系统中的服务资源分配失衡的技术问题。
为解决上述技术问题,本发明提供了一种分布式节点的服务角色分配方法,所述方法应用于分布式数据传输系统中,所述方法包括:
获得用于提供上线服务的N个待分配分布式节点,N为正整数;
确定出分布式数据传输系统中所有服务角色的已分配节点比例;
基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
优选的,所述确定出分布式数据传输系统中所有服务角色的已分配节点比例,具体包括:
确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目;
获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目;
将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。
优选的,所述确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例之后,所述方法还包括:
将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色的已分配节点比例。
优选的,所述基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例,具体包括:
利用所述分布式数据传输系统中所有服务角色各自的预设分配节点比例,减去对应的服务角色的已分配节点比例,确定出每个待分配服务角色各自的待分配节点比例。
优选的,所述基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中,具体包括:
按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;
按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。
优选的,所述按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中,具体包括:
按照排序结果,筛选出待分配节点比例最大的待分配服务角色;
利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色。
优选的,按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中,具体包括:
若有两个以上的待分配服务角色的待分配节点比例相同,则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;
利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
本发明的另一个方面,提供了一种分布式数据传输系统,包括:
第一获得模块,用于获得能够提供上线服务的N个待分配分布式节点,N为正整数;
第一确定模块,用于确定出分布式数据传输系统中所有服务角色的已分配节点比例;
第二确定模块,用于基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
第一分配模块,用于基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
优选的,所述第一确定模块,具体包括:
第三确定模块,用于确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目;
第二获得模块,用于获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目;
第四确定模块,用于将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。
优选的,所述分布式数据传输系统还包括:
第三获得模块,用于将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色的已分配节点比例。
优选的,所述第二确定模块,具体用于利用所述分布式数据传输系统中所有服务角色各自的预设分配节点比例,减去对应的服务角色的已分配节点比例,确定出每个待分配服务角色各自的待分配节点比例。
优选的,所述第一分配模块,具体包括:
排序模块,用于按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;
第二分配模块,用于按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。
优选的,所述第二分配模块,具体包括:
筛选模块,用于按照排序结果,筛选出待分配节点比例最大的待分配服务角色;
第四分配模块,用于利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色。
优选的,所述第二分配模块,具体包括:
判断模块,用于若有两个以上的待分配服务角色的待分配节点比例相同,则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;
第五分配模块,用于利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
本发明公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明提供了分布式节点的服务角色分配方法及分布式数据传输系统,首先获得能够提供上线服务的N个待分配分布式节点,然后确定出分布式数据传输系统中所有服务角色的已分配节点比例;并基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例,每个待分配服务角色的待分配节点比例表示的就是每个待分配服务角色还需要分配的待分配分布式节点的情况,故而基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中,能够基于当前的各服务角色的现有分配情况去分配N个待分配分布式节点,故而不会存在大量分布式节点都承担同一种服务功能的情况,能够达到均衡分配的效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种分布式节点的服务角色分配方法的实施过程图;
图2示出了根据本发明一个实施例的分布式数据传输系统的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种分布式节点的服务角色分配方法,该方法应用于分布式数据传输系统中,用以解决现有技术的分布式系统中的服务资源分配失衡的技术问题。
在本实施例的分布式数据传输系统中,涉及有很多个分布式节点,每个分布式节点都会承担各自的服务角色,提供各自的服务功能。
在分布式节点上线时,分布式节点会广播自己能够提供的上线服务功能,而本实施例的主要目的,就是对上线的分布式节点进行服务角色的分配,尽量保证服务资源分配平衡。下面请参看图1,是本实施例的分布式节点的服务角色分配方法的实施过程图,具体的步骤如下:
步骤11,获得用于提供上线服务的N个待分配分布式节点。
在具体的实施过程中,当N个待分配分布式节点上线时,会广播自身能够提供的上线服务功能,故而分布式数据传输系统会获得这N个待分配分布式节点,N为正整数,待分配分布式节点都是上线但是还没有分配服务角色的分布式节点,待分配分布式节点上线的数目不定,在同一时刻可能会出现多个待分配分布式节点上线。
步骤12,确定出分布式数据传输系统中所有服务角色的已分配节点比例。
在本实施例的分布式数据传输系统中,各分布式节点在提供不同的服务功能时,认为其承担了不同的服务角色。故而,在分布式数据传输系统中需要为待分配分布式节点分配服务角色,以使其提供不同的服务功能。
而分布式数据传输系统中提供了很多种服务角色,例如按照功能划分,有查询服务角色、传输服务角色等等,各服务角色之间直接或者间接具有数据交互,各服务角色之间是平等的。另外还可以按照等级划分服务角色,各服务角色之间具有等级差异,例如以及服务角色、二级服务角色、三级服务角色……i级服务角色等等。举例来说,对于提供的传输服务来说,各角色服务有一级传输服务角色、二级传输服务角色、三级传输服务角色。各等级的角色服务可综合形成树状结构,例如,一级传输服务角色为根节点服务角色,二级传输服务角色为子节点服务角色,三级传输服务角色为叶子节点服务角色。
对于分布式数据传输系统中的每种服务角色,都需要分配一个或者多个待分配分布式节点来支持该服务角色对应的服务功能。故而,在为各服务角色分配分布式节点的过程中,必须先确定出分布式数据传输系统中所有服务角色的已分配节点的数目,并且计算出所有服务角色各自的已分配节点比例。
进一步的,所有服务角色的已分配节点比例有两种表现方式。第一种是所有服务角色各自的已分配节点比例,例如有5个服务角色各自分配了1,2,3,4,3个分布式节点,而原本预设的这5个服务角色需要分配的预设节点总数为20,其各自的已分配节点比例分比为:1/20,2/20,3/20,4/20,3/20。另一种方式是,所有服务角色以相互之间的已分配节点比例表示,例如有5个服务角色分配了各自分配了1,2,3,4,3个分布式节点,其相互之间的分配比例为:1:2:3:4:3。
故而,在确定出分布式数据传输系统中所有服务角色的已分配节点比例的具体的实施过程中,首先确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目。例如分布式数据传输系统中有5个服务角色,其各自已分配的分布式节点为4,5,6,5,5。
其次,获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目。举例来说,假设所有服务角色各自的预设分配分布式节点的数目分别为5、5、6、4、10。那么将所有服务角色各自的预设分配分布式节点的数目相加,则得到所有服务角色的预设分配分布式节点的总数目30个。
将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。承接上述举例,将5个服务角色各自的已分配节点和总数目30相比,则获得者5个服务角色各自的已分配节点比例,分别为:4/30,5/30,6/30,5/30,5/30。
进一步的,将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色相互之间的的已分配节点比例。例如,将5个服务角色各自的已分配节点比例一一相比,则得到各服务角色相互之间的的已分配节点比例为:(4/30):(5/30):(6/30):(5/30):(5/30)=4:5:6:5:5。
在确定出分布式数据传输系统中所有服务角色的已分配节点比例之后,则可以执行下面的步骤。
步骤13,基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例。
其中,分布式数据传输系统中所有服务角色各自的预设分配节点是已经预定好分配给各服务角色的分布式节点。而分布式数据传输系统中所有服务角色各自的预设分配节点也具有各自的比例。该比例也有两种表现方式,承接上述举例,5个服务角色各自的预设分配节点比例分别为:6/30,5/30,6/30,7/30,6/30。或者相互之间的预设分配节点比例分别为:6:5:6:7:6。
那么将该比例减去对应的服务角色的已分配节点比例的过程中,各服务角色的预设分配节点比例减去对应的服务角色的已分配节点比例,分别为:
服务角色1:6/30-4/30=2/30。
服务角色2:5/30-5/30=0。
服务角色3:6/30-6/30=0。
服务角色4:7/30-5/30=2/30。
服务角色5:6/30-5/30=1/30。
由此可见,其中有两个服务角色(服务角色2、服务角色3)分配的分布式节点已满足预设的分布式节点的数目,故而这两个服务角色可以去除。剩余的服务角色(服务角色1、服务角色4、服务角色5)都认为是待分配服务角色,其各自的待分配节点比例分别为:2/30,2/30,1/30。
步骤14,基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
进一步的,会根据N个待分配分布式节点各自提供的服务功能,对应分配到对应的待分配服务角色中,进而防止待分配分布式节点提供的功能和服务角色承担的功能不匹配,进而造成待分配分布式节点无法提供服务角色承担的功能的情况出现,能够使得待分配分布式节点提供的功能和分配到的待分配服务角色的功能相对应,能够更好更快地响应用户需求,提高数据交互的效率。
在将所述N个待分配分布式节点分配到对应的待分配服务角色的具体实施过程中,按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。因此,待分配节点比例大的待分配服务角色,表示该待分配服务角色需要分配的待分配节点就多。故而按照排序结果的比例大小来分配N个待分配分布式节点,比例最大的优先分配待分配分布式节点,进而能够保证分配均衡。
举例来说,将服务角色1、服务角色4、服务角色5这三个待分配服务角色,其各自的待分配节点比例按照比例大小进行排序,排序结果则为:2/30,2/30,1/30。或者为2:2:1。也就是说,服务角色1需要分配2个待分配分布式节点,服务角色4需要分配2个待分配分布式节点,服务角色5需要分配1个待分配分布式节点。
进一步的,会按照比例大小将N个待分配分布式节点到依次分配到每个待分配服务角色中,并且每分配一个待分配分布式节点之后,按照比例大小对所述每个待分配服务角色的待分配节点比例进行再次排序,然后根据新的排序结果,再次按照比例大小将剩余的待分配分布式节点到依次分配到每个待分配服务角色中。
作为一种可选的实施例,首先按照排序结果,筛选出待分配节点比例最大的待分配服务角色;然后利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色,然后在对待分配节点比例最大的待分配服务角色分配待分配分布式节点,以此类推,直到将所有的待分配服务角色分派完毕待分配分布式节点为止。
本实施例是优先以比例进行排序,若具有相同比例的两个待分配角色,再判断服务角色的参数(等级、重要程度等等),并进行对应的分配。
举例来说,将服务角色1、服务角色4、服务角色5这三个待分配服务角色,其各自的待分配节点比例按照比例大小进行排序,排序结果则为:服务角色1(2/30),服务角色4(2/30),服务角色5(1/30)。通过对比发现,服务角色1、服务角色4的比例相同,那么则进一步判断服务角色1、服务角色4两个的等级,假设服务角色1的等级最高,那么则优先将N(假设20)个待分配分布式节点中的其中一个待分配分布式节点分配给服务角色1,那么服务角色1的比例则变为1/30。再次对这3个服务角色按照比例进行排序,排序结果为服务角色4(2/30),服务角色1(1/30),服务角色5(1/30)。由此可见,服务角色4的比例最大,那么则将剩余的19个待分配分布式节点中的其中一个待分配分布式节点分配给服务角色4,那么服务角色4的比例则变为1/30。再次按照比例大小进行排序,则排序结果为服务角色4(1/30),服务角色1(1/30),服务角色5(1/30)。这三个比例是一致的,那么则判断服务角色1、服务角色4、服务角色5的三个的等级,假设按照等级高低排序的结果为:服务角色5、服务角色1、服务角色4。那么则依次将待分配分布式节点分配至服务角色5、服务角色1、服务角色4中。
进一步的,若有两个以上的待分配服务角色的待分配节点比例相同,则作为一种可选的方式,可随机分配N个待分配分布式节点中的其中一个待分配分布式节点到两个待分配角色中的其中一个待分配角色中,然后按照比例大小对所有的待分配服务角色的待分配节点比例进行再次排序。
作为一种可选的实施例,若有两个以上的待分配服务角色的待分配节点比例相同,则则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
作为一种可选的实施例,若有两个以上的待分配角色的待分配节点比例相同,则判断两个以上待分配角色的重要程度,重要程度可通过权重值、分值、百分比等等方式表示,以筛选出重要程度最高的待分配服务角色;利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至重要程度最高的待分配服务角色中,并且每分配一个待分配分布式节点至重要程度最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
基于同一发明构思,本实施例提供了一种分布式数据传输系统,参看图2,包括:
第一获得模块21,用于获得能够提供上线服务的N个待分配分布式节点,N为正整数;
第一确定模块22,用于确定出分布式数据传输系统中所有服务角色的已分配节点比例;
第二确定模块23,用于基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
第一分配模块24,用于基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
作为一种可选的实施例,所述第一确定模块22,具体包括:
第三确定模块,用于确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目;
第二获得模块,用于获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目;
第四确定模块,用于将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。
作为一种可选的实施例,所述分布式数据传输系统还包括:
第三获得模块,用于将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色的已分配节点比例。
作为一种可选的实施例,所述第二确定模块23,具体用于利用所述分布式数据传输系统中所有服务角色各自的预设分配节点比例,减去对应的服务角色的已分配节点比例,确定出每个待分配服务角色各自的待分配节点比例。
作为一种可选的实施例,所述第一分配模块24,具体包括:
排序模块,用于按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;
第二分配模块,用于按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。
作为一种可选的实施例,所述第二分配模块,具体包括:
筛选模块,用于按照排序结果,筛选出待分配节点比例最大的待分配服务角色;
第四分配模块,用于利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色。
作为一种可选的实施例,所述第二分配模块,具体包括:
判断模块,用于若有两个以上的待分配服务角色的待分配节点比例相同,则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;
第五分配模块,用于利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
基于与前述实施例中同样的发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明提供了分布式节点的服务角色分配方法及分布式数据传输系统,首先获得用于提供上线服务的N个待分配分布式节点,然后确定出分布式数据传输系统中所有服务角色的已分配节点比例;并基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例,每个待分配服务角色的待分配节点比例表示的就是每个待分配服务角色还需要分配的待分配分布式节点的情况,故而基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中,能够基于当前的各服务角色的现有分配情况去分配N个待分配分布式节点,故而不会存在大量分布式节点都承担同一种服务功能的情况,能够达到均衡分配的效果。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1、一种分布式节点的服务角色分配方法,所述方法应用于分布式数据传输系统中,其特征在于,所述方法包括:
获得用于提供上线服务的N个待分配分布式节点,N为正整数;
确定出分布式数据传输系统中所有服务角色的已分配节点比例;
基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
A2、如A1所述的方法,其特征在于,所述确定出分布式数据传输系统中所有服务角色的已分配节点比例,具体包括:
确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目;
获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目;
将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。
A3、如A2所述的方法,其特征在于,所述确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例之后,所述方法还包括:
将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色的已分配节点比例。
A4、如A1所述的方法,其特征在于,所述基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例,具体包括:
利用所述分布式数据传输系统中所有服务角色各自的预设分配节点比例,减去对应的服务角色的已分配节点比例,确定出每个待分配服务角色各自的待分配节点比例。
A5、如A1所述的方法,其特征在于,所述基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中,具体包括:
按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;
按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。
A6、如A5所述的方法,其特征在于,所述按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中,具体包括:
按照排序结果,筛选出待分配节点比例最大的待分配服务角色;
利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色。
A7、如A5或6所述的方法,其特征在于,按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中,具体包括:
若有两个以上的待分配服务角色的待分配节点比例相同,则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;
利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
B8、一种分布式数据传输系统,其特征在于,包括:
第一获得模块,用于获得能够提供上线服务的N个待分配分布式节点,N为正整数;
第一确定模块,用于确定出分布式数据传输系统中所有服务角色的已分配节点比例;
第二确定模块,用于基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
第一分配模块,用于基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
B9、如B8所述的一种分布式数据传输系统,其特征在于,所述第一确定模块,具体包括:
第三确定模块,用于确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目;
第二获得模块,用于获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目;
第四确定模块,用于将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。
B10、如B9所述的一种分布式数据传输系统,其特征在于,所述分布式数据传输系统还包括:
第三获得模块,用于将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色的已分配节点比例。
B11、如B8所述的一种分布式数据传输系统,其特征在于,所述第二确定模块,具体用于利用所述分布式数据传输系统中所有服务角色各自的预设分配节点比例,减去对应的服务角色的已分配节点比例,确定出每个待分配服务角色各自的待分配节点比例。
B12、如B8所述的一种分布式数据传输系统,其特征在于,所述第一分配模块,具体包括:
排序模块,用于按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;
第二分配模块,用于按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。
B13、如B12所述的一种分布式数据传输系统,其特征在于,所述第二分配模块,具体包括:
筛选模块,用于按照排序结果,筛选出待分配节点比例最大的待分配服务角色;
第四分配模块,用于利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色。
B14、如B12或13所述的一种分布式数据传输系统,其特征在于,所述第二分配模块,具体包括:
判断模块,用于若有两个以上的待分配服务角色的待分配节点比例相同,则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;
第五分配模块,用于利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
C15、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求A1-A7任一项所述方法的步骤。
D16、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求A1-A7任一项所述方法的步骤。
Claims (10)
1.一种分布式节点的服务角色分配方法,所述方法应用于分布式数据传输系统中,其特征在于,所述方法包括:
获得用于提供上线服务的N个待分配分布式节点,N为正整数;
确定出分布式数据传输系统中所有服务角色的已分配节点比例;
基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
2.如权利要求1所述的方法,其特征在于,所述确定出分布式数据传输系统中所有服务角色的已分配节点比例,具体包括:
确定出所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目;
获得所述分布式数据传输系统中所有服务角色各自的预设分配分布式节点的数目,进而获得所述分布式数据传输系统中的预设分配分布式节点的总数目;
将所述分布式数据传输系统中所有服务角色各自的已分配分布式节点的数目,分别和所述分布式数据传输系统中的预设分配分布式节点的总数目相比,确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例。
3.如权利要求2所述的方法,其特征在于,所述确定出所述分布式数据传输系统中所有服务角色各自的已分配节点比例之后,所述方法还包括:
将所述分布式数据传输系统中所有服务角色各自的已分配节点比例一一相比,获得所述分布式数据传输系统中所有服务角色的已分配节点比例。
4.如权利要求1所述的方法,其特征在于,所述基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例,具体包括:
利用所述分布式数据传输系统中所有服务角色各自的预设分配节点比例,减去对应的服务角色的已分配节点比例,确定出每个待分配服务角色各自的待分配节点比例。
5.如权利要求1所述的方法,其特征在于,所述基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中,具体包括:
按照比例大小依次将所述每个待分配服务角色的待分配节点比例进行排序;
按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中。
6.如权利要求5所述的方法,其特征在于,所述按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中,具体包括:
按照排序结果,筛选出待分配节点比例最大的待分配服务角色;
利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至待分配节点比例最大的待分配服务角色中,并且每分配一个待分配分布式节点至待分配节点比例最大的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次按照比例大小进行排序,以筛选出待分配节点比例最大的待分配服务角色。
7.如权利要求5或6所述的方法,其特征在于,按照排序结果,利用分布式锁将所述N个待分配分布式节点分配至对应的待分配服务角色中,具体包括:
若有两个以上的待分配服务角色的待分配节点比例相同,则判断所述两个以上的待分配服务角色的等级,以筛选出等级最高的待分配服务角色;
利用分布式锁将所述N个待分配分布式节点中的一个待分配分布式节点分配至等级最高的待分配服务角色中,并且每分配一个待分配分布式节点至等级最高的待分配服务角色中之后,对所有的待分配服务角色的待分配节点比例再次进行排序,以筛选出待分配节点比例最大的待分配服务角色,并分配待分配分布式节点。
8.一种分布式数据传输系统,其特征在于,包括:
第一获得模块,用于获得能够提供上线服务的N个待分配分布式节点,N为正整数;
第一确定模块,用于确定出分布式数据传输系统中所有服务角色的已分配节点比例;
第二确定模块,用于基于所述所有服务角色的已分配节点比例和所述分布式数据传输系统中所有服务角色的预设分配节点比例,确定出每个待分配服务角色的待分配节点比例;
第一分配模块,用于基于所述每个待分配服务角色的待分配节点比例,利用分布式锁将所述N个待分配分布式节点分配到对应的待分配服务角色中。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811152222.XA CN108989474B (zh) | 2018-09-29 | 2018-09-29 | 分布式节点的服务角色分配方法及分布式数据传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811152222.XA CN108989474B (zh) | 2018-09-29 | 2018-09-29 | 分布式节点的服务角色分配方法及分布式数据传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108989474A true CN108989474A (zh) | 2018-12-11 |
CN108989474B CN108989474B (zh) | 2023-07-28 |
Family
ID=64543226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811152222.XA Active CN108989474B (zh) | 2018-09-29 | 2018-09-29 | 分布式节点的服务角色分配方法及分布式数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989474B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545450A (zh) * | 2019-09-09 | 2019-12-06 | 深圳市网心科技有限公司 | 一种节点分配方法、系统及电子设备和存储介质 |
CN111698311A (zh) * | 2020-06-08 | 2020-09-22 | 星辰天合(北京)数据科技有限公司 | 分布式存储集群的节点控制方法及装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851686A (zh) * | 2005-04-22 | 2006-10-25 | 天津曙光计算机产业有限公司 | 一种自主构造机群操作系统内核的方法及智能构造器 |
US20140047116A1 (en) * | 2012-08-09 | 2014-02-13 | International Business Machines Corporation | Service management modes of operation in distributed node service management |
CN103716351A (zh) * | 2012-09-29 | 2014-04-09 | 阿里巴巴集团控股有限公司 | 信息展现方法及服务器 |
CN107172208A (zh) * | 2017-06-30 | 2017-09-15 | 联想(北京)有限公司 | 服务器的部署方法及其系统 |
-
2018
- 2018-09-29 CN CN201811152222.XA patent/CN108989474B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851686A (zh) * | 2005-04-22 | 2006-10-25 | 天津曙光计算机产业有限公司 | 一种自主构造机群操作系统内核的方法及智能构造器 |
US20140047116A1 (en) * | 2012-08-09 | 2014-02-13 | International Business Machines Corporation | Service management modes of operation in distributed node service management |
CN103716351A (zh) * | 2012-09-29 | 2014-04-09 | 阿里巴巴集团控股有限公司 | 信息展现方法及服务器 |
CN107172208A (zh) * | 2017-06-30 | 2017-09-15 | 联想(北京)有限公司 | 服务器的部署方法及其系统 |
Non-Patent Citations (1)
Title |
---|
谷建华等: "基于无线传感器网络任务描述方式的研究与比较", 《计算机应用研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545450A (zh) * | 2019-09-09 | 2019-12-06 | 深圳市网心科技有限公司 | 一种节点分配方法、系统及电子设备和存储介质 |
CN111698311A (zh) * | 2020-06-08 | 2020-09-22 | 星辰天合(北京)数据科技有限公司 | 分布式存储集群的节点控制方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108989474B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471968B (zh) | 一种数据交换方法、系统以及数据平台服务器 | |
CN108989474A (zh) | 分布式节点的服务角色分配方法及分布式数据传输系统 | |
CN106357738A (zh) | 一种服务器集群的自动化部署方法、装置和系统 | |
JP6865763B2 (ja) | データ処理方法及び装置 | |
CN110046036A (zh) | 一种操作请求分配方法、装置及设备 | |
CN106610871A (zh) | 一种云操作系统架构 | |
US20180033075A1 (en) | Automatic recharge system and method, and server | |
CN110532059B (zh) | K8s集群管理软件的配额管理方法及装置 | |
CN107071074A (zh) | 一种负载均衡方法及web服务器集群系统 | |
US20170142203A1 (en) | Method for host scheduling for container deployment, electronic device and non-transitory computer-readable storage medium | |
CN106372977B (zh) | 一种虚拟账户的处理方法和设备 | |
CN104301439B (zh) | 负载均衡方法、装置及系统 | |
CN108737544A (zh) | Cdn节点调度方法和装置 | |
CN110661719A (zh) | 流量负载均衡方法和装置 | |
CN109062786A (zh) | 测试用例的运行方法、装置及终端 | |
CN105975329B (zh) | 一种虚拟机的创建方法和装置 | |
US10621389B1 (en) | Selecting platform-supported services | |
CN106897890A (zh) | 一种显示电子礼物信息的方法及装置 | |
CN109327555A (zh) | 分布式发号系统、方法及装置 | |
CN106897139A (zh) | 一种业务数据的处理方法和装置 | |
CN110992077B (zh) | 广告费用结算方法、装置、电子设备及存储介质 | |
CN108243229A (zh) | 请求处理方法及装置 | |
CN105320555B (zh) | 在终端上执行任务的方法及装置 | |
CN110297843A (zh) | 用于b/s系统的数据查询方法及系统、终端 | |
CN105871677B (zh) | 应用间共享vpn服务的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230712 Address after: Room 03, 2nd Floor, Building A, No. 20 Haitai Avenue, Huayuan Industrial Zone (Huanwai), Binhai New Area, Tianjin, 300450 Applicant after: 3600 Technology Group Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |