一种事件请求分布式调度方法和系统的制作方法

文档序号:6535109阅读:173来源:国知局
一种事件请求分布式调度方法和系统的制作方法
【专利摘要】本申请提供了一种事件请求分布式调度方法,包括:调度器获取客户群发送的事件请求;所述调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点;所述工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库;所述调度器返回事件处理结果到客户群。本申请还提供了对应的系统。本发明实施例中调度器在分配事件请求时根据自身事件调度策略以及工作节点资源状况进行分配,提高了工作节点的工作效率。
【专利说明】一种事件请求分布式调度方法和系统

【技术领域】
[0001]本申请涉及互联网通信【技术领域】,特别是涉及一种事件请求分布式调度方法和系统。

【背景技术】
[0002]在互联网技术不断发展的今天,越来越多的数据处理依赖较高的计算能力,为了解决单一处理节点无法处理多种多样的工作,以及无法满足越来越搞的计算能力的要求;技术人员提供一种分布式处理方案。
[0003]以Gearman为例,Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。在Gearman中,通过调度器将事件请求队列中的事件按照一定规则分配给各个工作节点,由各个工作节点进行处理后反馈。
[0004]但在实际使用中,本发明的发明人返现Gearman没有时间调度器不能对工作集群实现调度策略,效率较低。


【发明内容】

[0005]本申请所要解决的技术问题是提供一种能够以更高效率调度事件请求的事件请求分布式调度方法和系统。
[0006]为了解决上述问题,本申请公开了一种事件请求分布式调度方法,包括:
调度器获取客户群发送的事件请求;
所述调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点;
所述工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库; 所述调度器返回事件处理结果到客户群。
[0007]进一步,所述调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点包括:
调度器根据心跳包检测判断服务群中正常工作的工作节点;
根据时间调度策略分配所述时间请求到正常工作的工作节点。
[0008]进一步,所述工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库包括:
所述工作节点接收事件请求后,根据自身处理策略进行事件处理形成事件处理结果; 所述工作节点返回事件处理结果到调度器,并保存执行记录到数据库。
[0009]进一步,所述调度器返回事件处理结果到客户群包括:
所述调度器返回事件处理结果到客户群中对应的客户端。
[0010]进一步,所述调度器返回事件处理结果到客户群后还包括:
所述调度器保存执行记录到数据库。
[0011]本申请还提供了一种事件请求分布式调度系统,包括:
调度器,用于获取客户群发送的事件请求;根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点;返回事件处理结果到客户群;
所述工作节点,用于处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库。
[0012]进一步,所述调度器还用于:
根据心跳包检测判断服务群中正常工作的工作节点;
根据时间调度策略分配所述时间请求到正常工作的工作节点。
[0013]进一步,所述工作节点还用于:
接收事件请求后,根据自身处理策略进行事件处理形成事件处理结果;
所述工作节点返回事件处理结果到调度器,并保存执行记录到数据库。
[0014]进一步,所述调度器还用于:
返回事件处理结果到客户群中对应的客户端。
[0015]进一步,所述调度器还用于:
保存执行记录到数据库。
[0016]与现有技术相比,本申请包括以下优点:调度器在分配事件请求时根据自身事件调度策略以及工作节点资源状况进行分配,提高了工作节点的工作效率。
[0017]

【专利附图】

【附图说明】
图1是本发明一种事件请求分布式调度方法一实施例的流程图;
图2是本发明一种事件请求分布式调度系统一实施例的结构示意图。

【具体实施方式】
[0018]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0019]参照图1,示出了本申请一种事件请求分布式调度方法一实施例的流程图;
本发明实施例提供的事件请求分布式调度方法包括如下步骤:
步骤S101、调度器获取客户群发送的事件请求;
客户群包含多个客户端,其中任一客户端均可通过与调度器的链路发送事件请求到调度器。其中客户端与调度器的链路可以通过HTTP或TCP进行。
[0020]调度器获取到事件请求后放入事件队列,等待按照预置规则按序处理。
[0021]所述客户群在发送事件请求到调度器之前可以检测调度器的工作状态,本发明实施例可以配置两个或两个以上的调度器,当客户群检测到主调度器未处于工作状态时,向从调度器发送事件请求。
[0022]步骤S102、调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点;
进一步,所述调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点包括:
调度器根据心跳包检测判断服务群中正常工作的工作节点;
根据时间调度策略分配所述时间请求到正常工作的工作节点。
[0023]调度器通过心跳检测查看服务群中所有工作节点的连接状态,获取在线任务节点的资源状况。调度器在预置状态表中更新服务群中所有工作节点的连接状态和资源状态。
[0024]调度器分配事件请求时的策略可以是多种,根据实际使用需要制定,在本发明实施例中提供两个简单的分配策略,第一按照工作节点的资源占用百分比分配;第二是按照工作节点正在处理的事件请求数进行分配。
[0025]第一种策略具体的,调度器获取到所有工作节点的连接状态和资源状态后,对处于连接状态的工作节点的资源占用百分比按照从低往高排列,将优先级最高的事件请求发送到资源占用百分比最低的工作节点;然后调度器再次获取在线工作节点的资源状况,再次重复上述事件请求分发的步骤,直至事件请求分配完成。
[0026]第二种策略具体的,调度器获取到所有工作节点的连接状态和资源状态后,对处于连接状态的工作节点按照正在处理的事件请求数从低到高排序,将优先级最高的事件请求发送到当前处理事件请求数最低的工作节点;然后调度器再次获取在线工作节点的资源状况,再次重复上述事件请求分发的步骤,直至事件请求分配完成。
[0027]步骤S103、工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库;
进一步,所述工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库包括:
所述工作节点接收事件请求后,根据自身处理策略进行事件处理形成事件处理结果; 所述工作节点返回事件处理结果到调度器,并保存执行记录到数据库。
[0028]步骤S104、调度器返回事件处理结果到客户群。
[0029]进一步,所述调度器返回事件处理结果到客户群包括:
所述调度器返回事件处理结果到客户群中对应的客户端。
[0030]进一步,所述调度器返回事件处理结果到客户群后还包括:
所述调度器保存执行记录到数据库。
[0031]本发明实施例中调度器在分配事件请求时根据自身事件调度策略以及工作节点资源状况进行分配,提高了工作节点的工作效率。
[0032]参照图2是本发明一种事件请求分布式调度系统一实施例的结构示意图;
本申请提供的一种事件请求分布式调度系统,包括客户群21、调度器22和服务群23:调度器22,用于获取客户群21发送的事件请求;根据预置的时间调度和心跳包检测,分配所述事件请求到服务群23中相应工作节点;返回事件处理结果到客户群21 ;
所述工作节点,用于处理事件请求返回事件处理结果到调度器22,并保存执行记录到数据库。
[0033]进一步,所述调度器22还用于:
根据心跳包检测判断服务群23中正常工作的工作节点;
根据时间调度策略分配所述时间请求到正常工作的工作节点。
[0034]进一步,所述工作节点还用于:
接收事件请求后,根据自身处理策略进行事件处理形成事件处理结果;
所述工作节点返回事件处理结果到调度器22,并保存执行记录到数据库。
[0035]进一步,所述调度器22还用于: 返回事件处理结果到客户群21中对应的客户端。
[0036]进一步,所述调度器22还用于:
保存执行记录到数据库。
[0037]所述客户群21在发送事件请求到调度器22之前可以检测调度器22的工作状态,本发明实施例可以配置两个或两个以上的调度器22,当客户群21检测到主调度器22未处于工作状态时,向从调度器22发送事件请求。
[0038]调度器22通过心跳检测查看服务群23中所有工作节点的连接状态,获取在线任务节点的资源状况。调度器22在预置状态表中更新服务群23中所有工作节点的连接状态和资源状态。
[0039]调度器22分配事件请求时的策略可以是多种,根据实际使用需要制定,在本发明实施例中提供两个简单的分配策略,第一按照工作节点的资源占用百分比分配;第二是按照工作节点正在处理的事件请求数进行分配。
[0040]第一种策略具体的,调度器22获取到所有工作节点的连接状态和资源状态后,对处于连接状态的工作节点的资源占用百分比按照从低往高排列,将优先级最高的事件请求发送到资源占用百分比最低的工作节点;然后调度器22再次获取在线工作节点的资源状况,再次重复上述事件请求分发的步骤,直至事件请求分配完成。
[0041]第二种策略具体的,调度器22获取到所有工作节点的连接状态和资源状态后,对处于连接状态的工作节点按照正在处理的事件请求数从低到高排序,将优先级最高的事件请求发送到当前处理事件请求数最低的工作节点;然后调度器22再次获取在线工作节点的资源状况,再次重复上述事件请求分发的步骤,直至事件请求分配完成。
[0042]对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0043]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0044]以上对本申请所提供的一种事件请求分布式调度方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种事件请求分布式调度方法,其特征在于,包括: 调度器获取客户群发送的事件请求; 所述调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点; 所述工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库; 所述调度器返回事件处理结果到客户群。
2.根据权利要求1所述的方法,其特征在于,所述调度器根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点包括: 调度器根据心跳包检测判断服务群中正常工作的工作节点; 根据时间调度策略分配所述时间请求到正常工作的工作节点。
3.根据权利要求2所述的方法,其特征在于,所述工作节点处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库包括: 所述工作节点接收事件请求后,根据自身处理策略进行事件处理形成事件处理结果; 所述工作节点返回事件处理结果到调度器,并保存执行记录到数据库。
4.根据权利要求3所述的方法,其特征在于,所述调度器返回事件处理结果到客户群包括: 所述调度器返回事件处理结果到客户群中对应的客户端。
5.根据权利要求3所述的方法,其特征在于,所述调度器返回事件处理结果到客户群后还包括: 所述调度器保存执行记录到数据库。
6.一种事件请求分布式调度系统,其特征在于,包括: 调度器,用于获取客户群发送的事件请求;根据预置的时间调度和心跳包检测,分配所述事件请求到服务群中相应工作节点;返回事件处理结果到客户群; 所述工作节点,用于处理事件请求返回事件处理结果到调度器,并保存执行记录到数据库。
7.根据权利要求6所述的系统,其特征在于,所述调度器还用于: 根据心跳包检测判断服务群中正常工作的工作节点; 根据时间调度策略分配所述时间请求到正常工作的工作节点。
8.根据权利要求7所述的系统,其特征在于,所述工作节点还用于: 接收事件请求后,根据自身处理策略进行事件处理形成事件处理结果; 所述工作节点返回事件处理结果到调度器,并保存执行记录到数据库。
9.根据权利要求8所述的系统,其特征在于,所述调度器还用于: 返回事件处理结果到客户群中对应的客户端。
10.根据权利要求8所述的系统,其特征在于,所述调度器还用于: 保存执行记录到数据库。
【文档编号】G06F9/46GK104268007SQ201410006102
【公开日】2015年1月7日 申请日期:2014年1月7日 优先权日:2014年1月7日
【发明者】卢长烛, 贾西贝 申请人:深圳市华傲数据技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1