CN106817408B - 一种分布式服务器集群调度方法及装置 - Google Patents
一种分布式服务器集群调度方法及装置 Download PDFInfo
- Publication number
- CN106817408B CN106817408B CN201611229087.5A CN201611229087A CN106817408B CN 106817408 B CN106817408 B CN 106817408B CN 201611229087 A CN201611229087 A CN 201611229087A CN 106817408 B CN106817408 B CN 106817408B
- Authority
- CN
- China
- Prior art keywords
- server
- slave
- servers
- client
- called
- 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.)
- Active
Links
Images
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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种分布式服务器集群调度方法及装置,涉及运营平台管理技术领域,方法包括:主服务器接收网络服务器经消息队列服务器发送的执行消息,其中,执行消息中包括各客户端服务器对应的待处理任务;主服务器获取从服务器集群中每个从服务器的状态,从服务器集群中包括至少两个从服务器;主服务器根据待处理任务的客户端服务器的数量、从服务器调用客户端服务器的最大阈值以及每个从服务器的状态,确定需要调用的从服务器;主服务器将执行消息中的各客户端服务器对应的待处理任务分发至需要调用的从服务器。本发明实施例通过调用服务器集群中的从服器,将任务快速下发给任务对应的客户端执行任务,使得客户端的利用最大化,并实现了高可用。
Description
技术领域
本发明涉及运营平台管理技术领域,尤其涉及一种分布式服务器集群调度方法及装置。
背景技术
分布式数据库***已经成为信息处理学科的重要领域,正在迅速发展之中,具有如下有点:1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行***,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的***。2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库***可以在对当前机构影响最小的情况下进行扩充。3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。4、当现有机构中已存在几个数据库***,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库***。5、相等规模的分布式数据库***在出现故障的几率上不会比集中式数据库***低,但由于其故障的影响仅限于局部数据应用,因此就整个***来讲它的可靠性是比较高的。
随着企业业务的快速增长,服务器的数量以及对服务器的维护需求与日俱增,但是现有技术中使用单节点服务器作为任务下发平台,缺少高可用机制、任务执行缓慢、无法及时高效管理计算机机群。
因此,综上所述,现有技术中不能提供一种有效且高效下发任务的方法。
发明内容
本发明提供一种分布式服务器集群调度方法及装置,用于解决现有技术中不能提供一种有效且高效下发任务的方法的问题。
本发明实施例提供一种分布式服务器集群调度方法,所述方法包括:
主服务器接收网络服务器经消息队列服务器发送的执行消息,其中,所述执行消息中包括各客户端服务器对应的待处理任务;
所述主服务器获取从服务器集群中每个从服务器的状态,其中,所述从服务器集群中包括至少两个从服务器;
所述主服务器根据待处理任务的客户端服务器的数量、所述从服务器调用客户端服务器的最大阈值以及每个所述从服务器的状态,确定需要调用的从服务器;
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器。
本发明实施例中,主服务器在接收到待处理任务后,根据从服务器集群中的从服务器的状态,任务数量、每个从服务器能够调用的客户端的最大阈值、每个从服务器现在的运行状态,确定需要调用的从服务器,并将任务下发给这些从服务器。本发明实施例中,通过调用服务器集群中的从服器,能将任务快速下发给任务对应的客户端执行任务,使得客户端的利用最大化,并能够在从服务器集群中有从服务器发生故障时,还能够顺利的将任务下发给客户端,实现了高可用。
进一步地,所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器,包括:
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务切分为各所述需要调用的从服务器对应的任务列表,并将所述任务列表发送给对应的需要调用的从服务器;
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器后,还包括:
针对每个需要调用的从服务器,所述需要调用的从服务器根据接收的任务列表调用对应的客户端服务器;所述需要调用的从服务器接收所述客户端服务器的任务处理结果,并将所述任务处理结果通过所述消息队列服务器发送给所述网络服务器。
本发明实施例中,主服务器将获取到的任务下发给调用任务对应客户端的从服务器,以使从服务器能够确定调用哪些客户端执行任务。
进一步地,所述主服务器获取从服务器集群中每个从服务器的状态,包括:
管理服务器获取从服务器集群中每个从服务器的状态;
所述管理服务器将每个从服务器的状态同步到至少一个备用管理服务器中;
所述主服务器确定所述管理服务器的运行状态是否正常;
若所述主服务器确定所述管理服务器状态异常,则调用所述至少一个备用管理服务器中的任意一个,获取所述从服务器集群中每个从服务器的状态。
本发明实施例中,管理服务器能够将每个从服务器的状态同步到备用管理服务器中,以便在管理服务器发生故障时,还可以及时获取到每个从服务器的状态,实现了高可用。
进一步地,所述管理服务器获取从服务器集群中每个从服务器的状态,包括:
针对从服务器集群中的任意一个从服务器,若所述管理服务器在设定时间内不能获取到所述从服务器的心跳探测信息,则确定所述从服务器的状态异常。
本发明实施例中,每个从服务器都通过心跳探测信息与管理服务器连接,若管理服务器在设定时间内不能接收到某个从服务器的心跳探测消息,则认为该从服务器不能使用,则在主服务器查询状态时,不再提供该从服务器的状态信息。
进一步地,所述方法还包括:
若所述主服务器确定所述从服务器集群中每个从服务器的使用率都等于所述最大阈值时,则新增从服务器,所述新增从服务器注册于所述管理服务器中。
本发明实施例中,当确定现有的从服务器集群已不能满足任务处理的要求,则动态增加从服务器,实现了可扩展性。
本发明还提供一种分布式服务器集群调度装置,包括:
接收单元,用于接收网络服务器经消息队列服务器发送的执行消息,其中,所述执行消息中包括各客户端服务器对应的待处理任务;
获取单元,用于获取从服务器集群中每个从服务器的状态,其中,所述从服务器集群中包括至少两个从服务器;
确定单元,用于根据待处理任务的客户端服务器的数量、所述从服务器调用客户端服务器的最大阈值以及每个所述从服务器的状态,确定需要调用的从服务器;
发送单元,用于将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器。
本发明实施例中,通过调用服务器集群中的从服器,能将任务快速下发给任务对应的客户端执行任务,使得客户端的利用最大化,并能够在从服务器集群中有从服务器发生故障时,还能够顺利的将任务下发给客户端,实现了高可用。
进一步地,所述确定单元,具体用于:
将所述执行消息中的各客户端服务器对应的待处理任务切分为各所述需要调用的从服务器对应的任务列表,并将所述任务列表发送给对应的需要调用的从服务器;
根据接收的任务列表调用对应的客户端服务器;接收所述客户端服务器的任务处理结果,并将所述任务处理结果通过所述消息队列服务器发送给所述网络服务器。
进一步地,所述获取单元,具体用于:
获取从服务器集群中每个从服务器的状态;
将每个从服务器的状态同步到至少一个备用管理服务器中;
确定所述管理服务器的运行状态是否正常;
若确定所述管理服务器状态异常,则调用所述至少一个备用管理服务器中的任意一个,获取所述从服务器集群中每个从服务器的状态。
进一步地,所述获取单元,具体用于:
针对从服务器集群中的任意一个从服务器,若在设定时间内不能获取到所述从服务器的心跳探测信息,则确定所述从服务器的状态异常。
进一步地,所述装置还包括:
动态增加单元,用于若确定所述从服务器集群中每个从服务器的使用率都等于所述最大阈值时,则新增从服务器,所述新增从服务器注册于所述管理服务器中。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式服务器集群调度***的结构示意图;
图2为本发明实施例提供的一种消息队列服务器中消息队列的示意图;
图3为本发明实施例提供的一种分布式服务器集群调度装置的结构示意图;
图4为本发明实施例提供的一种分布式服务器集群调度方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种分布式服务器集群调度方法,如图1所示,包括:
主服务器101,网络服务器102,消息队列服务器103,从服务器104,客户端服务器105以及管理服务器106。
网络服务器102用于对***进行管理,并获取信息反馈给上层或者获取上层的命令并在***中执行命令。在本发明实施例中,网络服务器102可以制定任务,并将任务制作成任务列表,发送给客户端服务器105执行,其中任务列表中的任务于客户端服务器105有对应关系。
例如,在本发明实施例中,网络服务器102制定的任务列表如表1所示,具体为将任务1下发给客户端1,将任务2下发给客户端2,将任务3下发给任务端3。
任务内容 | 客户端列表 |
任务内容1 | 客户端1 |
任务内容2 | 客户端2 |
任务内容3 | 客户端3 |
表1:任务列表
本发明实施例中,主服务器101将任务列表进行封装,封装为一个执行消息,并发送给消息队列服务器103,在本发明实施例中,可选的,如图2所示,消息队列服务器103中按照接收消息的先后,顺序排列着多个消息,假设执行消息为按照顺序的第三个消息,则在消息队列服务器103处理完前两个消息后,则处理本发明实施例中的执行消息。
可选的,在本发明实施例中,消息队列服务器103订阅了网络服务器102的消息,即在网络服务器102中有新增消息时,消息队列服务器103能够获取到该新增消息。
主服务器101接收到消息队列服务器103发送的执行消息后,根据执行消息确定执行消息中的任务列表,例如,本发明实施例中,主服务器101接收到的是上述实施例中表1中的任务列表,则主服务器101则根据任务列表确定需要调用的从服务器集群中的从服务器104。
在本发明实施例中,从服务器集群是具有大量从服务器104的服务器集群,从服务器集群中的从服务器104能够调用客户端服务器105。
可选的,在本发明实施例中,从服务器集群中的每一个从服务器104能够调用客户端服务器105的数量是有最大值的,可以设置为m,即一个从服务器104能够调用m个客户端服务器105。
在本发明实施例中,主服务器101调用从服务器104之前,首先需要确定从服务器集群中每个从服务器104的状态,可选的,在本发明实施例中,从服务器104的状态包括异常状态及正常状态。
在本发明实施例中,主服务器101可以通过管理服务器106来获取从服务器104的状态,当建立从服务器集群时,从服务器集群中的每个从服务器104会向管理服务器106发送连接请求,管理服务器106能够根据连接请求确定从服务器104加入到了从服务器集群中。
从服务器104与管理服务器106在建立连接后,通过心跳探测消息来确定从服务器104是否异常,可选的,若在设定时间内管理服务器106没有接收到从服务器104发送的心跳探测消息,则认为给从服务器104的状态异常。
可选的,在本发明实施例中,管理服务器106中保存了注册在管理服务器105中的所有从服务器104的状态信息表,该表周期性更新。例如如表2所示,管理服务器106中注册了N个从服务器104,管理服务器106中从服务器104的状态信息表更新了1次,则状态信息表中保存了每个从服务器的两个状态。
从服务器 | 状态1 | 状态2 |
从服务器1 | 正常 | 正常 |
从服务器2 | 正常 | 异常 |
…… | …… | …… |
从服务器N | 正常 | 正常 |
表2:管理服务器中的状态信息表
可选的,在本发明实施例中,管理服务器106中还保存了两张状态信息表,一张为从服务器104状态正常的信息表,如表3所示,一张为从服务器104状态异常的信息表,如表4所示。
从服务器 | 状态 |
从服务器1 | 正常 |
从服务器3 | 正常 |
…… | …… |
从服务器N1 | 正常 |
表3:管理服务器中的状态信息表
从服务器 | 状态 |
从服务器2 | 异常 |
从服务器4 | 异常 |
…… | …… |
从服务器N2 | 异常 |
表4:管理服务器中的状态信息表
表3中保存的全部是最新的状态为正常的从服务器104的列表,例如表3中的从服务器1,从服务器3等;可选的,保存的是从服务器104的标识信息,可以为从服务器104的硬件地址或者为其它能够表征从服务器104的唯一性的标识。
表4保存的全部是最新的状态为异常的从服务器104的列表,例如表4中的从服务器2,从服务器4等;可选的,保存的是从服务器104的标识信息,可以为从服务器104的硬件地址或者为其它能够表征从服务器104的唯一性的标识。
可选的,在本发明实施例中,管理服务器106还能够获取状态为正常的从服务器104列表中每个从服务器列表104的工作状态,在本发明实施例中,工作状态指的是每一个从服务器104是否已经调用了客户端服务器105,调用了几个客户端服务器105,如表5所示,在管理服务器106中还保存了状态为正常的从服务器104列表中每个从服务器104的调用的客户端服务器105的数量。
从服务器 | 状态 | 已使用情况 |
从服务器1 | 正常 | 已调用2台 |
从服务器3 | 正常 | 已调用0台 |
从服务器4 | 正常 | 已调用m台 |
…… | …… | …… |
表5:管理服务器中保存的从服务器的工作状态表
主服务器101可以根据表5中的工作状态表确定是否能够调用从服务器104,且还可以使用该从服务器104调用多少台从服务器,例如,在本发明实施例中,从服务器104调用客户端服务器105的最大数量为m,也就是说如表5中的从服务器4,已经调用了m台客户端服务器105,则不能再调用客户端服务器105了。从服务器1已经调用了2台客户端服务器105,则还可以调用m-2台客户端服务器105。
可选的,在本发明实施例中,管理服务器106将获取到的从服务器104的所有信息列表进行底层数据复制,并复制给至少一个备用管理服务器106中,在主服务器101向管理服务器106获取从服务器104的信息时,需要首先判断管理服务器106是否异常,若确定管理服务器106异常,则调用其它的工作正常的任一一个备用管理服务器106来查询从服务器104的状态。
主服务器101根据接收到的任务列表中需要执行任务的客户端服务器105的数量,当前从服务器104的状态以及从服务器104调用客户端服务器105的最大阈值来确定在从服务器集群中调用哪些从服务器104。
在本发明实施例中,假设需要执行任务的客户端服务器105的数量为n,查询到的从服务器集群中共有20台从服务器104,其中有4台从服务器104已调用0台,有10台从服务器104已调用m台,还有6台从服务器104已调用2台,则主服务器101首先确定需要执行任务的客户端服务器105的数量是否满足公式1:
n≤(m-2)×6+4m (公式1)
若满足公式1,例如n=(m-2)×6+4m,则调用从服务集群中除10台已调用m台客户端服务器105的从服务器104以外的所有从服务器104,且4台已调用0台客户端服务器105的从服务器104每台调用m个客户端服务器105,6台已调用2台客户端服务器105的从服务器104每台调用m-2个客户端服务器105。
主服务器101将任务列表中需要执行任务的n个客户端服务器105分发给上述中每个从服务器104,即将n个客户端服务器105的随机分配给10m-12台从服务器104中,每个从服务器104在接收到需要调用的客户端服务器105后,调用对应的客户端服务器105执行任务列表中的任务。
在本发明实施例中,从服务器104接收调用的客户端服务器105的在处理任务后的任务处理结果,并将任务处理结果发送给消息队列服务器103,消息队列服务器103发送给网络服务器102。
可选的,在本发明实施例中,当确定不满足公式1时,可以动态增加从服务器集群中从服务器104的数量,可选的,在本发明实施例中,从数据库中调用新的从服务器104,并将新的从服务器104注册在管理服务器106中。
基于同样的构思,本发明实施例还提供一种分布式服务器集群调度装置,如图3所示,包括:
接收单元301,用于接收网络服务器经消息队列服务器发送的执行消息,其中,所述执行消息中包括各客户端服务器对应的待处理任务;
获取单元302,用于获取从服务器集群中每个从服务器的状态,其中,所述从服务器集群中包括至少两个从服务器;
确定单元303,用于根据待处理任务的客户端服务器的数量、所述从服务器调用客户端服务器的最大阈值以及每个所述从服务器的状态,确定需要调用的从服务器;
发送单元304,用于将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器。
进一步地,所述确定单元303,具体用于:
将所述执行消息中的各客户端服务器对应的待处理任务切分为各所述需要调用的从服务器对应的任务列表,并将所述任务列表发送给对应的需要调用的从服务器;
根据接收的任务列表调用对应的客户端服务器;接收所述客户端服务器的任务处理结果,并将所述任务处理结果通过所述消息队列服务器发送给所述网络服务器。
进一步地,所述获取单元302,具体用于:
获取从服务器集群中每个从服务器的状态;
将每个从服务器的状态同步到至少一个备用管理服务器中;
确定所述管理服务器的运行状态是否正常;
若确定所述管理服务器状态异常,则调用所述至少一个备用管理服务器中的任意一个,获取所述从服务器集群中每个从服务器的状态。
进一步地,所述获取单元302,具体用于:
针对从服务器集群中的任意一个从服务器,若在设定时间内不能获取到所述从服务器的心跳探测信息,则确定所述从服务器的状态异常。
进一步地,所述装置还包括:
动态增加单元305,用于若确定所述从服务器集群中每个从服务器的使用率都等于所述最大阈值时,则新增从服务器,所述新增从服务器注册于所述管理服务器中。
基于同样的构思,本发明还提供一种分布式服务器集群调度方法,如图4所示,包括:
步骤401,主服务器接收网络服务器经消息队列服务器发送的执行消息,其中,所述执行消息中包括各客户端服务器对应的待处理任务;
步骤402,所述主服务器获取从服务器集群中每个从服务器的状态,其中,所述从服务器集群中包括至少两个从服务器;
步骤403,所述主服务器根据待处理任务的客户端服务器的数量、所述从服务器调用客户端服务器的最大阈值以及每个所述从服务器的状态,确定需要调用的从服务器;
步骤404,所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器。
进一步地,所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器,包括:
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务切分为各所述需要调用的从服务器对应的任务列表,并将所述任务列表发送给对应的需要调用的从服务器;
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器后,还包括:
针对每个需要调用的从服务器,所述需要调用的从服务器根据接收的任务列表调用对应的客户端服务器;所述需要调用的从服务器接收所述客户端服务器的任务处理结果,并将所述任务处理结果通过所述消息队列服务器发送给所述网络服务器。
进一步地,所述主服务器获取从服务器集群中每个从服务器的状态,包括:
管理服务器获取从服务器集群中每个从服务器的状态;
所述管理服务器将每个从服务器的状态同步到至少一个备用管理服务器中;
所述主服务器确定所述管理服务器的运行状态是否正常;
若所述主服务器确定所述管理服务器状态异常,则调用所述至少一个备用管理服务器中的任意一个,获取所述从服务器集群中每个从服务器的状态。
进一步地,所述管理服务器获取从服务器集群中每个从服务器的状态,包括:
针对从服务器集群中的任意一个从服务器,若所述管理服务器在设定时间内不能获取到所述从服务器的心跳探测信息,则确定所述从服务器的状态异常。
进一步地,所述方法还包括:
若所述主服务器确定所述从服务器集群中每个从服务器的使用率都等于所述最大阈值时,则新增从服务器,所述新增从服务器注册于所述管理服务器中。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种分布式服务器集群调度方法,其特征在于,所述方法包括:
主服务器接收网络服务器经消息队列服务器发送的执行消息,其中,所述执行消息中包括各客户端服务器对应的待处理任务;
所述主服务器获取从服务器集群中每个从服务器的状态,其中,所述从服务器集群中包括至少两个从服务器;
所述主服务器根据待处理任务的客户端服务器的数量、所述从服务器调用客户端服务器的最大阈值以及每个所述从服务器的状态,确定需要调用的从服务器,其中若满足下列公式,则所述主服务器调用客户端服务器对应的从服务器:
n≤(m-2)×6+4m
其中,n为需要调用的客户端服务器的数量,m为所述从服务器调用所述客户端服务器的最大数量;
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器。
2.根据权利要求1所述的方法,其特征在于,所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器,包括:
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务切分为各所述需要调用的从服务器对应的任务列表,并将所述任务列表发送给对应的需要调用的从服务器;
所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器后,还包括:
针对每个需要调用的从服务器,所述需要调用的从服务器根据接收的任务列表调用对应的客户端服务器;所述需要调用的从服务器接收所述客户端服务器的任务处理结果,并将所述任务处理结果通过所述消息队列服务器发送给所述网络服务器。
3.根据权利要求1所述的方法,其特征在于,所述主服务器获取从服务器集群中每个从服务器的状态,包括:
管理服务器获取从服务器集群中每个从服务器的状态;
所述管理服务器将每个从服务器的状态同步到至少一个备用管理服务器中;
所述主服务器确定所述管理服务器的运行状态是否正常;
若所述主服务器确定所述管理服务器状态异常,则调用所述至少一个备用管理服务器中的任意一个,获取所述从服务器集群中每个从服务器的状态。
4.根据权利要求3所述的方法,其特征在于,所述管理服务器获取从服务器集群中每个从服务器的状态,包括:
针对从服务器集群中的任意一个从服务器,若所述管理服务器在设定时间内不能获取到所述从服务器的心跳探测信息,则确定所述从服务器的状态异常。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述主服务器确定所述从服务器集群中每个从服务器的使用率都等于所述最大阈值时,则新增从服务器,所述新增从服务器注册于所述管理服务器中。
6.一种分布式服务器集群调度装置,其特征在于,包括:
接收单元,用于通过主服务器接收网络服务器经消息队列服务器发送的执行消息,其中,所述执行消息中包括各客户端服务器对应的待处理任务;
获取单元,用于通过所述主服务器获取从服务器集群中每个从服务器的状态,其中,所述从服务器集群中包括至少两个从服务器;
确定单元,用于通过所述主服务器根据待处理任务的客户端服务器的数量、所述从服务器调用客户端服务器的最大阈值以及每个所述从服务器的状态,确定需要调用的从服务器,其中若满足下列公式,则所述确定单元调用客户端服务器对应的从服务器:
n≤(m-2)×6+4m
其中,n为需要调用的客户端服务器的数量,m为所述从服务器调用所述客户端服务器的最大数量;
发送单元,用于通过所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务分发至所述需要调用的从服务器。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,具体用于:
通过所述主服务器将所述执行消息中的各客户端服务器对应的待处理任务切分为各所述需要调用的从服务器对应的任务列表,并将所述任务列表发送给对应的需要调用的从服务器;
通过所述主服务器根据接收的任务列表调用对应的客户端服务器;通过所述主服务器接收所述客户端服务器的任务处理结果,并将所述任务处理结果通过所述消息队列服务器发送给所述网络服务器。
8.根据权利要求6所述的装置,其特征在于,所述获取单元,具体用于:
通过管理服务器获取从服务器集群中每个从服务器的状态;
通过所述管理服务器将每个从服务器的状态同步到至少一个备用管理服务器中;
通过所述主服务器确定所述管理服务器的运行状态是否正常;
若通过所述主服务器确定所述管理服务器状态异常,则调用所述至少一个备用管理服务器中的任意一个,获取所述从服务器集群中每个从服务器的状态。
9.根据权利要求8所述的装置,其特征在于,所述获取单元,具体用于:
针对从服务器集群中的任意一个从服务器,若通过所述管理服务器在设定时间内不能获取到所述从服务器的心跳探测信息,则确定所述从服务器的状态异常。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
动态增加单元,用于若通过所述主服务器确定所述从服务器集群中每个从服务器的使用率都等于所述最大阈值时,则新增从服务器,所述新增从服务器注册于所述管理服务器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611229087.5A CN106817408B (zh) | 2016-12-27 | 2016-12-27 | 一种分布式服务器集群调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611229087.5A CN106817408B (zh) | 2016-12-27 | 2016-12-27 | 一种分布式服务器集群调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106817408A CN106817408A (zh) | 2017-06-09 |
CN106817408B true CN106817408B (zh) | 2020-09-29 |
Family
ID=59110131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611229087.5A Active CN106817408B (zh) | 2016-12-27 | 2016-12-27 | 一种分布式服务器集群调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106817408B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766136A (zh) * | 2017-09-30 | 2018-03-06 | 南威软件股份有限公司 | 一种任务集群调度管理的方法 |
CN109936593B (zh) * | 2017-12-15 | 2022-03-01 | 网宿科技股份有限公司 | 一种消息分发的方法和*** |
CN108282527B (zh) * | 2018-01-22 | 2019-07-09 | 北京百度网讯科技有限公司 | 生成服务实例的分布式***和方法 |
CN108762917A (zh) * | 2018-05-04 | 2018-11-06 | 平安科技(深圳)有限公司 | 访问请求处理方法、装置、***、计算机设备和存储介质 |
CN109032803B (zh) | 2018-08-01 | 2021-02-12 | 创新先进技术有限公司 | 数据处理方法和装置、客户端 |
CN110928673A (zh) * | 2018-09-20 | 2020-03-27 | 北京国双科技有限公司 | 任务的分配方法及装置 |
CN109660607B (zh) * | 2018-12-05 | 2021-08-27 | 北京金山云网络技术有限公司 | 一种业务请求分发方法、接收方法、装置及服务器集群 |
CN109639506A (zh) * | 2019-01-08 | 2019-04-16 | 北京文香信息技术有限公司 | 一种主从控制方法、装置、存储介质及服务器 |
CN111459903A (zh) * | 2019-01-21 | 2020-07-28 | 顺丰科技有限公司 | 数据库管理***及方法 |
CN110262882A (zh) * | 2019-06-17 | 2019-09-20 | 北京思特奇信息技术股份有限公司 | 一种分布式的通讯命令调度***及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521044A (zh) * | 2011-12-30 | 2012-06-27 | 北京拓明科技有限公司 | 一种基于消息中间件的分布式任务调度方法及*** |
CN102739775A (zh) * | 2012-05-29 | 2012-10-17 | 宁波东冠科技有限公司 | 物联网数据采集服务器集群的监控和管理方法 |
CN103973725A (zh) * | 2013-01-28 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 一种分布式协同方法和协同器 |
WO2016039963A3 (en) * | 2014-09-10 | 2016-09-01 | Ebay Inc. | Resource sharing between two resource allocation systems |
CN105991737A (zh) * | 2015-02-26 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 分布式任务调度方法及*** |
CN106027634A (zh) * | 2016-05-16 | 2016-10-12 | 白杨 | 白杨消息端***换服务 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184756A (zh) * | 2013-05-21 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及*** |
CN103336815B (zh) * | 2013-06-27 | 2016-12-28 | 北京京东尚科信息技术有限公司 | 网络广告推送的***和方法 |
CN105959390A (zh) * | 2016-06-13 | 2016-09-21 | 乐视控股(北京)有限公司 | 微服务的统一管理***及方法 |
-
2016
- 2016-12-27 CN CN201611229087.5A patent/CN106817408B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521044A (zh) * | 2011-12-30 | 2012-06-27 | 北京拓明科技有限公司 | 一种基于消息中间件的分布式任务调度方法及*** |
CN102739775A (zh) * | 2012-05-29 | 2012-10-17 | 宁波东冠科技有限公司 | 物联网数据采集服务器集群的监控和管理方法 |
CN103973725A (zh) * | 2013-01-28 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 一种分布式协同方法和协同器 |
WO2016039963A3 (en) * | 2014-09-10 | 2016-09-01 | Ebay Inc. | Resource sharing between two resource allocation systems |
CN105991737A (zh) * | 2015-02-26 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 分布式任务调度方法及*** |
CN106027634A (zh) * | 2016-05-16 | 2016-10-12 | 白杨 | 白杨消息端***换服务 |
Also Published As
Publication number | Publication date |
---|---|
CN106817408A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106817408B (zh) | 一种分布式服务器集群调度方法及装置 | |
CN106789362B (zh) | 一种设备管理方法及网管*** | |
US9911148B2 (en) | Querying for business service processing status information | |
JP4760491B2 (ja) | イベント処理システム、イベント処理方法、イベント処理装置、及び、イベント処理プログラム | |
CN107959705B (zh) | 流式计算任务的分配方法和控制服务器 | |
CN106170016A (zh) | 一种处理高并发数据请求的方法和*** | |
WO2022105138A1 (zh) | 去中心化的任务调度方法、装置、设备及介质 | |
CN109783151B (zh) | 规则变更的方法和装置 | |
US9104486B2 (en) | Apparatuses, systems, and methods for distributed workload serialization | |
CN111526049B (zh) | 运维***、运维方法、电子设备和存储介质 | |
CN110858197A (zh) | 一种同步数据的方法和装置 | |
US10091283B2 (en) | Distributed scheduling systems for digital magazine | |
CN112631805A (zh) | 数据处理方法、装置、终端设备及存储介质 | |
CN106412123B (zh) | 云接入控制器分布式处理终端设备信息的方法和*** | |
CN104484228A (zh) | 基于Intelli-DSC的分布式并行任务处理*** | |
CN110569124A (zh) | 一种任务分配方法和装置 | |
CN111913784A (zh) | 任务调度方法及装置、网元、存储介质 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN111245887B (zh) | Hbase连接动态保持方法、设备、存储介质及*** | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN104486447A (zh) | 基于Big-Cluster的大平台集群*** | |
US20210185123A1 (en) | Distributed information storage system, methods and programs | |
CN115964151A (zh) | 一种面向大数据处理的流计算任务调度***及方法 | |
CN113641498A (zh) | 一种数据核对方法、***、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |