任务调度方法和装置制造方法及图纸

技术编号:16345827 阅读:35 留言:0更新日期:2017-10-03 22:18
本发明专利技术提供了任务调度方法和装置,通过对进行跨集群读写的任务所需的网络资源进行分析,以获得读和写所占用网络资源的情况,根据读和写所需的网络资源的情况,对任务进行调度。由于读和写所占用的网络资源的情况,分别体现了将任务调度至读和写时所访问数据所在集群能够节省的网络资源,因而,据此确定任务所调度至的集群能够使得任务实现较少的网络资源占用,解决现有技术中集群间的带宽占用过高的情况。

【技术实现步骤摘要】
任务调度方法和装置
本专利技术涉及计算机技术,尤其涉及一种任务调度方法和装置。
技术介绍
为了提高系统的稳定性和网络中心的数据处理能力及服务能力,通常采用集群技术。集群技术的出现,能够使得服务器相互连接在一起,构成一个集群,多个集群相互连接构成一个分布式系统,该分布式系统内的各个集群运行一系列共同的应用程序。在分布式系统中,可以将所运行的应用程序划分为多个任务,对于单个任务来说,可以将其按照运行的业务类型不同划分至不同的业务单元内,进而将同属于一个业务单元的任务运行于同一个集群上并将这些任务的任务数据也存储该集群上。由于一个业务单元中的一个任务可能会需要读取另一业务单元中的另一任务的任务数据,也就是说在原集群上运行的任务需要依赖另一任务的任务数据。因此,当任务和其所依赖的另一任务的任务数据,即依赖数据,在不同集群上时,该任务会出现跨集群读写的情况,导致占用了大量的带宽。针对这一问题,现有技术中一旦发现某一任务存在跨集群读写的情况,便将该任务调度至其所读取的依赖数据所在的目标集群。但在实际运行过程中仍会出现集群间的带宽占用过高的情况。
技术实现思路
本专利技术提供一种任务调度方法和装置,用于解决现有技术中集群间的带宽占用过高的情况。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供了一种任务调度方法,包括:对进行跨集群读写的任务所需的网络资源进行分析,以获得所述任务跨集群执行读和写所需的网络资源的情况;根据读和写所需的网络资源的情况,对所述任务进行调度。第二方面,提供了一种任务调度装置,包括:分析模块,用于对进行跨集群读写的任务所需的网络资源进行分析,以获得所述任务跨集群执行读和写所需的网络资源的情况;调度模块,用于根据所述读和写所需的网络资源的情况,对所述任务进行调度。本专利技术实施例提供的任务调度方法和装置,通过对进行跨集群读写的任务所需的网络资源进行分析,以获得任务跨集群执行读和写所占用网络资源的情况,根据读和写所需的网络资源的情况,对任务进行调度。由于读和写所占用的网络资源的情况,分别体现了将任务调度至读和写时所访问数据所在集群能够节省的网络资源,因而,据此确定任务所调度至的集群能够使得任务实现较少的网络资源占用,解决现有技术中集群间的带宽占用过高的情况。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术实施例一提供的一种任务调度方法的流程示意图;图2为本专利技术实施例二提供的一种任务调度方法的流程示意图;图3为本专利技术实施例三提供的一种任务调度装置的结构示意图;图4为本专利技术实施例四提供的一种任务调度装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。下面结合附图对本专利技术实施例提供的任务调度方法和装置进行详细描述。实施例一图1为本专利技术实施例一提供的一种任务调度方法的流程示意图,本实施例所提供的方法,可以由分布式系统中的任务管理器执行,如图1所示,方法包括:步骤101、对进行跨集群读写的任务所需的网络资源进行分析,以获得任务跨集群执行读和写所需的网络资源的情况。具体的,分布式系统一般会承载着很多的任务,其中有相当一部分是周期性运行的任务,这些任务可能会每小时、每天或者每周的定期运行,任务运行之前需要访问运行所需的数据,这里所说的访问即读取,任务定期访问的数据会是当时最新的数据,从而保证了运行所获得的结果数据的准确性。在读取数据之后,还需要将所读取到的数据输入到运行的任务中,因此,所读取的数据为任务的输入数据。若该任务访问数据的过程中涉及跨集群读的情况,则会占用一定带宽等网络资源。由于在这种跨集群访问数据的情况下,必然涉及将数据从另一集群读取到任务所运行的集群,此时任务的输入数据便能够体现出跨集群读所占用的网络资源的情况,例如:占用带宽的情况。另外,任务在运行结束后,还需要将任务运行的结果数据返回至任务管理器所最初分配的默认集群,所返回的结果数据需要首先由任务进行输出,所输出的数据称为任务的输出数据,进而将结果数据写入默认集群。若该任务返回结果数据的过程中涉及跨集群写的情况,则同样会占用一定带宽等网络资源。由于跨集群返回结果数据必然涉及将结果数据从任务所运行的集群写入到另一集群,此时任务的输出数据便能够体现出跨集群写所占用的网络资源的情况,例如:占用带宽的情况。通过执行跨集群读和写时,任务所需的网络资源的情况,一方面可以预测出若任务当前所在的原集群与所读取的依赖数据所在集群为不同集群时,任务所占用的网络资源情况,另一方面可以预测出若任务当前所在的原集群与所写入的结果数据所在集群为不同集群时,任务所占用的网络资源情况。作为一种可能的实现方式,历史记录中记录有每一个任务运行在当前所分配的原集群上所输入和输出的数据量,可以根据历史记录,针对每一个任务,获得输入数据的数据量、输出数据的数据量,针对每一个任务计算输入输出比。其中,输入输出比等于输入数据的数据量与输出数据的数据量的比值。步骤102、根据读和写所需的网络资源的情况,对任务进行调度。具体的,若读操作所需的网络资源多于写操作所需的网络资源,将任务调度至所读取的依赖数据所在的目标集群。这是由于跨集群任务的数据存储和任务运行分别位于不同的集群上,输入数据和输出数据分别均存在三种情况:A.存储在任务当前所分配的原集群上;B.存储在任务所待调度至的目标集群上;C.存储在原集群和目标集群之外的集群上。因此,在现有技术的一旦发现某一任务存在跨集群读写的情况,便将该任务调度至其所读取的依赖数据所在的目标集群的情况下,输入数据或输出数据只要不在目标集群上就需要通过跨集群复制或直读直写的方式访问,跨集群任务所产生的跨集群数据量过大时会对网络资源造成压力。在一种可能的情况下,若跨集群任务的输入数据存储于目标集群上并且数据量很大,那么调度该跨集群任务至目标集群可以省去将依赖数据从目标集群读取到原集群的网络资源占用,同时任务的输出数据的数据量很小,那么调度该跨集群任务至目标集群所导致增加的将结果数据从目标集群写入到默认集群的网络资源占用不会很大,从而使得调度引起的跨集群网络资源占用会出现显著降低。也就是说,输入数据的数据量与输出数据的数据量的比值,即输入输出比越大则跨集群网络资源占用降低的情况越显著。作为一种可能的实现方式,可以通过判断任务输入输出比是否大于预设第一阈值预测调度至依赖数据所在的目标集群是否能够有效降低所占用的带宽等网络资源,若是,则将任务调度至所述任务的依赖数据所在的目标集群。其中,第一阈值大于1。相反的,若读操作所需的网络资源不多于写操本文档来自技高网...
任务调度方法和装置

【技术保护点】
任务调度方法,其特征在于,包括:对进行跨集群读写的任务所需的网络资源进行分析,以获得所述任务跨集群执行读和写所需的网络资源的情况;根据读和写所需的网络资源的情况,对所述任务进行调度。

【技术特征摘要】
1.任务调度方法,其特征在于,包括:对进行跨集群读写的任务所需的网络资源进行分析,以获得所述任务跨集群执行读和写所需的网络资源的情况;根据读和写所需的网络资源的情况,对所述任务进行调度。2.根据权利要求1所述的任务调度方法,其特征在于,所述根据读和写所需的网络资源的情况,对所述任务进行调度,包括:若读操作所需的网络资源多于写操作所需的网络资源,将所述任务调度至所读取的依赖数据所在的目标集群。3.根据权利要求1所述的任务调度方法,其特征在于,所述对进行跨集群读写的任务所需的网络资源进行分析,包括:根据历史记录,针对每一个所述任务,获得输入数据的数据量、输出数据的数据量;针对每一个所述任务计算用于指示读和写所需的网络资源的比例的输入输出比;其中,输入输出比等于输入数据的数据量与输出数据的数据量的比值。4.根据权利要求3所述的任务调度方法,其特征在于,所述根据读和写所需的网络资源的情况,对所述任务进行调度,包括:判断所述任务是否满足预设的筛选条件;其中,所述筛选条件包括:所述输入输出比大于预设第一阈值;其中,第一阈值大于1;若满足所述筛选条件,则将所述任务调度至所述任务所读取的依赖数据所在的目标集群。5.根据权利要求4所述的任务调度方法,其特征在于,所述判断所述任务是否满足预设的筛选条件之后,还包括:针对满足所述筛选条件的任务,获得任务标识;生成用于记录所述任务标识的调度信息。6.根据权利要求5所述的任务调度方法,其特征在于,所述若满足所述筛选条件,则将所述任务调度至所述任务所读取的依赖数据所在的目标集群,包括:当接收到待调度任务时,针对所述待调度任务,获得任务标识;若所述待调度任务的任务标识与所述调度信息中的任务标识相匹配,则将所述待调度任务调度至所述待调度任务的依赖数据所在的目标集群。7.根据权利要求5或6所述的任务调度方法,其特征在于,所述获得任务标识,包括:判断所述任务的类型是否为SQL;若所述任务的类型为SQL,对所述任务进行哈希处理,获得哈希摘要,将所述哈希摘要作为所述任务标识;否则,将所述任务的编号作为所述任务标识。8.根据权利要求4所述的任务调度方法,其特征在于,所述筛选条件还包括:输出数据的数据量小于第二阈值;和/或,所占用的集群资源小于预设配额,其中所占用的集群资源包括运行开销、运行频率和集群负载中的至少一个。9.根据权利要求1-6任一项所述的任务调度方法,其特征在于,所述网络资源包括:网络带宽和网络带宽时延积中的至少一个。10.一种任务调度装置,其特征在于,包括:分析模块...

【专利技术属性】
技术研发人员:何乐黄俨史英杰张杰张辰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1