CN106844055B - 一种任务的执行方法和装置 - Google Patents

一种任务的执行方法和装置 Download PDF

Info

Publication number
CN106844055B
CN106844055B CN201710056115.6A CN201710056115A CN106844055B CN 106844055 B CN106844055 B CN 106844055B CN 201710056115 A CN201710056115 A CN 201710056115A CN 106844055 B CN106844055 B CN 106844055B
Authority
CN
China
Prior art keywords
task
tasks
execution
preset value
big data
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
Application number
CN201710056115.6A
Other languages
English (en)
Other versions
CN106844055A (zh
Inventor
刘国栋
苏萌
高体伟
姜楠
连海俊
郭得坡
王峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Percent Technology Group Co ltd
Original Assignee
Beijing Baifendian Information Science & Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baifendian Information Science & Technology Co Ltd filed Critical Beijing Baifendian Information Science & Technology Co Ltd
Priority to CN201710056115.6A priority Critical patent/CN106844055B/zh
Publication of CN106844055A publication Critical patent/CN106844055A/zh
Application granted granted Critical
Publication of CN106844055B publication Critical patent/CN106844055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种任务的执行方法和装置,应用在大数据平台中,用于提高任务的执行效率。该方法包括:接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值;根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。

Description

一种任务的执行方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务的执行方法和装置。
背景技术
在现今的社会,大数据的应用越来越彰显其优势,应用大数据的领域也越来越多,众所周知的如电子商务、O2O、物流配送等。
任务作为大数据平台中数据处理中的最小单元,其数量也呈现出爆发性的增长。任务根据其运行环境的不同可以分为普通任务和大数据平台任务。普通任务可以是运行在一个节点的操作系统上的任务,大数据平台任务可以是运行在大数据平台上的任务。
现有技术中任务管理平台基本都是根据任务提交到的先后顺序将任务提交到大数据平台上运行,往往一些不太重要的任务由于提交的早,可以比另一些比较重要的任务过早执行,任务执行时的灵活性较差,最终导致整体的任务的执行效率较低。
发明内容
本申请实施例提供一种任务的执行方法和装置,应用在大数据平台中,用于提高任务的执行效率。
本申请实施例采用下述技术方案:
一种任务的执行方法,应用在大数据平台中,包括:接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值;根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。
可选地,所述任务具体由大数据平台中的节点执行,则根据所述执行顺序执行所述任务,具体包括:在所述节点的资源占用率低于第一预设阀值时,根据所述执行顺序执行所述任务,其中,所述节点的资源占用率包括所述节点的CPU占用率和内存占用率。
可选地,根据所述执行顺序执行所述任务,具体包括:在大数据平台的资源占用率低于第二预设阀值时,根据所述执行顺序执行所述任务。
可选地,根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值,具体包括:按照如下公式确定所述任务的权值:任务的权值=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值,其中,任务的提交时间为时间戳;任务的优先级标识为数字;第一预设值大于任务的提交时间;第二预设值小于任务的提交时间;第三预设值用于控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于所述优先级标识的数量等级。
可选地,根据所述执行顺序执行所述任务之后,所述方法还包括:返回所述任务的执行状态,其中,所述执行状态包括:执行成功;正在执行;执行失败;等待中或异常终止。
一种任务的执行装置,应用在大数据平台中,包括:接收模块,用于接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;权值确定模块,用于根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值;任务执行模块,用于根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。
可选地,所述任务具体由大数据平台中的节点执行,则所述任务执行模块根据所述执行顺序执行所述任务,具体包括:在所述节点的资源占用率低于第一预设阀值时,所述任务执行模块根据所述执行顺序执行所述任务,其中,所述节点的资源占用率包括所述节点的CPU占用率和内存占用率。
可选地,所述任务执行模块根据所述执行顺序执行所述任务,具体包括:在大数据平台的资源占用率低于第二预设阀值时,所述任务执行模块根据所述执行顺序执行所述任务。
可选地,所述权值确定模块根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值,具体包括:所述权值确定模块按照如下公式确定所述任务的权值:任务的权值=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值,其中,任务的提交时间为时间戳;任务的优先级标识为数字;第一预设值大于任务的提交时间;第二预设值小于任务的提交时间;第三预设值用于控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于所述优先级标识的数量等级。
可选地,所述装置还包括任务状态返回模块,用于根据所述执行顺序执行所述任务之后,返回所述任务的执行状态,其中,所述执行状态包括:执行成功;正在执行;执行失败;等待中或异常终止。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:在大数据平台上执行任务时,首先接收任务,并接收任务的提交时间和任务的优先级标识,其中,接收的任务中包括有大数据任务和普通任务,然后根据任务的提交时间和所述任务的优先级标识,确定任务的权值,最后根据确定的权值确定任务的执行顺序,并根据所述执行顺序执行所述任务。与现有技术中相比,由于现有技术中仅仅根据任务的提交时间这一单一要素来确定任务执行顺序,本申请综合利用任务的提交时间和任务的优先级标识来确定任务执行顺序,因此提高了任务执行时的灵活性,最终提高了任务的执行效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例1提供的任务的执行方法具体实现流程示意图;
图2为本申请实施例2提供的任务的执行方法应用场景示意图;
图3为本申请实施例2提供的任务的执行方法具体实现流程示意图;
图4为本申请实施例3提供的任务的执行装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
实施例1提供了一种任务的执行方法,应用在大数据平台中,用于提高任务的执行效率。其中,本申请中提到的大数据平台可以包括能够执行mapreduce、hive、sqoop等相关任务的hadoop集群。实施例1提供的方法的具体流程示意图如图1所示,包括下述步骤:
步骤S11:接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;
该步骤中提到的任务,根据其运行环境的不同可以分为普通任务和大数据平台任务(简称大数据任务)。普通任务可以是运行在一个节点的操作系统上的任务,该节点可以是在大数据平台的集群中的任意一个机器。大数据平台任务可以是运行在大数据平台上的任务。为说明该处提到的大数据任务和普通任务,以下举例说明,例如,利用MapReduce、Hive、Pig、Spark处理的任务均可以是大数据任务,而Java、Shell、Python类型的任务可以是大数据任务,也可以是普通任务。
该步骤中的任务可以是由用户通过客户端界面提交得到,对于任意一个任务,除了任务本身之外,还可以包括有任务的提交时间和所述任务的优先级标识等。其中,其中任务的提交时间以可以以时间戳的形式存储,具体可以精确到用户提交任务的时间的当前毫秒数。任务的优先级标识代表任务的优先级高低。需说明的是,该实施例中的任务优先级标识可以但不限于为数字,还可以为字母或者其他任意形式。优选地,任务优先级标识具体为数字,数字的值越大代表任务的优先级越高。例如,任务x、任务y和任务z的优先级高低为:任务x>任务y>任务z。
该实施例中任务的优先级标识可以预先设定有多个等级,用户在提交任务时可以选取进而确定该任务的优先级标识。当然,该实施例中任务的优先级标识还可以由用户自定义设定得到,例如,用户在提交任务时,自定义一个数字作为该任务的优先级标识,其中数字越大标识该任务的优先级越高。
另外,步骤S11中除了接收任务的提交时间和所述任务的优先级标识之外,还可以接收任务对应的用户名以及任务类型标识等信息,该处提到任务类型标识,可以用于区分用户提交的任务为普通任务或者是大数据任务。
步骤S12:根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值。
该步骤具体可以按照如下公式确定所述任务的权值:
公式为:任务的权值=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值,其中,
任务的提交时间可以为时间戳,且任务的优先级标识可以具体为数字,第一预设值大于任务的提交时间;第二预设值小于任务的提交时间;第三预设值用于控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于所述优先级标识的数量等级。
当然,本申请实施例中任务的权值的确定方法并不以上述公式为限。一般而言,任务的提交时间越早且任务的优先级标识越高,则任务的权值越高;反之,任务的提交时间越晚且任务的优先级标识越低,则任务的权值越低。
步骤S13:根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。其中,大数据任务和普通任务可以在不同的线程中执行。
如前所述,步骤S11中接收的任务数量由多个,则该步骤则可以根据任务的权值,确定任务的执行顺序,例如,任务的权值越高,则任务的执行顺序越靠前;反之,任务的权值越低,则任务的执行顺序越靠后。
另外,步骤S11中接收的任务包括大数据任务和普通任务,则该步骤可以采用线程的方式,分别执行不同类型的任务,例如,在第一线程中执行大数据任务,在第二线程中执行普通任务。且普通任务一般是由集群中的一个节点上完成,而大数据任务一般是有大数据平台中的集群中的多个节点并行执行完成。
另外,执行任务之后,还可以返回所述任务的执行状态,其中,所述执行状态可以包括:执行成功;正在执行;执行失败;等待中或异常终止。
通过实施例1提供的上述技术方案,在大数据平台上执行任务时,首先接收任务,并接收任务的提交时间和任务的优先级标识,其中,接收的任务中包括有大数据任务和普通任务,然后根据任务的提交时间和所述任务的优先级标识,确定任务的权值,最后根据确定的权值确定任务的执行顺序,并根据所述执行顺序执行所述任务。与现有技术中相比,由于现有技术中仅仅根据任务的提交时间这一单一要素来确定任务执行顺序,本申请综合利用任务的提交时间和任务的优先级标识来确定任务执行顺序,因此提高了任务执行时的灵活性,最终提高了任务的执行效率。
实施例2
为详细说明本申请提供的技术方案,以下结合一个具体实施实例进行说明,具体见实施例2,实施例2提供一种任务的执行方法,用于提高任务的执行效率。
以下首先对该实施例的应用场景做简要介绍。如图2所示,本实施例中的分布式任务提交管理系统采用zookeeper,首先将各个节点注册在zookeeper下并在各个节点中选择出主节点,并在zookeeper中将各个节点建立关联,用于实现分布式任务管理。具体如图2所示,其中,节点2(见图2中的Server2,其他节点类似)为主节点,节点1、节点3和节点4为从节点,另外,客户端1(见图2中的Client1,其他客户端类似)和客户端2均与节点1连接,客户端3与节点3连接,客户端4和客户端5均与节点4连接。图2只是示意性地显示出5个客户端以及4个节点,本申请并不以此个数为限。
上述图2中的客户端提供有客户端界面,用于为用户提供操作窗口,客户端界面的后台具体可以是图2中所示的ZooKeeper Service,用于对用户通过客户端界面提交的任务进行优先级管理,主节点用于监测对应的大数据平台和从节点的操作系统的资源占用情况,并根据任务优先级和资源占用情况将任务发送到从节点中执行,这点后续将详细说明。
上述大致介绍了本实施例中的应用场景,该实施例2的执行步骤具体如图3所示,包括如下步骤:
步骤S31:接收客户端发送的任务以及与任务对应的用户名、优先级标识、提交时间和类型标识。
该步骤的执行主体具体可以为上述提到的ZooKeeper Service来完成。当接收到来自客户端的上述信息后,即可根据任务类型标识判断任务的类型,若任务为普通任务,则存储任务以及与任务对应的用户名、任务优先级标识、任务提交时间和任务类型标识等信息;若任务为大数据任务,设置任务的跟踪参数,存储带有跟踪参数的任务以及与任务对应的用户名、任务优先级标识、任务提交时间和任务类型标识等信息。
上述提到的跟踪参数,可以用于识别任务的来源的节点,任务的提交用户,任务的优先级。因为普通任务是可以本机上执行的,因此不需要跟踪参数,可以直接监控到上述任务的来源的节点,任务的提交用户,任务的优先级等信息。
该步骤中的任务提交时间可以以时间戳的形式存储,具体精确到用户提交任务的时间的当前毫秒数。任务类型标识,用于区分用户提交的任务的类型为普通任务或者是大数据任务。
其中,步骤S31接收的任务一般为多个,例如,任务包括任务x、任务y和任务z,其中,任务x可以为“select*.....”,与任务x对应的用户名为abc1,任务优先级标识为1,任务提交时间为T1,任务类型标识mr为1,用于表示任务x的类型为大数据任务;任务y可以为“echo*.....”,与任务y对应的用户名为abc2,任务优先级标识为2,任务提交时间为T2,任务类型标识mr为0,用于表示任务y的类型为普通任务;任务z可以为“print*.....”,与任务对应的中的用户名为abc3,任务优先级标识为3,任务提交时间为T3,任务类型标识mr为1,用于表示任务z的类型为大数据任务。
该实施例中,任务优先级标识代表任务的优先级高低。需说明的是,任务优先级标识可以但不限于为数字,还可以为字母或者其他任意形式。优选地,该实施例中任务优先级标识为数字,数字的值越大代表任务的优先级越高。例如,任务x、任务y和任务z的优先级高低为:任务x>任务y>任务z。
还需说明的是,在执行步骤S31之前,用户可以通过客户端界面设置任务,以及设置与任务对应的任务优先级标识和任务类型标识等信息。在步骤S31中接收任务之后,还可以设置任务的当前状态为等待状态,并存储任务的当前状态。
步骤S32:根据任务提交时间和任务优先级标识计算任务的分数,并根据任务类型标识将任务及与任务对应的分数写入到与任务类型标识对应的等待存储区。
该步骤根据任务提交时间和任务优先级标识计算任务的分数,相当于实施例1中的权值,具体可以按如下公式确定例如:任务的分数=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值。
其中,第一预设值可以为未来某一天某一时间的毫秒数;第二预设值可以为过去某一天某一时间的毫秒数;第三预设值可以为控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于0.1。因为上述公式中的优先级标识可以是按照0.1的单位递增或递减,例如任务A的优先级标识是0.2,任务B的优先级标识是0.1,任务C的优先级标识是0.1。
通过上述公式即可达到取下效果:同优先级级别标识的任务,先提交的先执行;不同优先级标识的任务,优先级级别高的先执行。
在一种实施方式中,第一预设值可以为15477735530000000,第二预设值可以为1450000000000,第三预设值可以为0.0000001。
另外,本实施例中,ZooKeeper Service中包括两个等待存储区,分别为与普通任务对应的普通任务等待存储区和与大数据任务对应的大数据任务等待存储区,每个等待存储区均以队列的形式存在。
步骤S33:主节点根据从节点的节点状态,获取可执行的从节点,并将等待存储区中分数最高的任务发送给可执行的从节点。
具体地,主节点可以监测与从节点对应的机器的资源占用状态,将资源占用状态低于第一预设阀值(区别于上述公式中的第一预设值)的从节点作为可执行节点。这样可以合理利用资源,加快任务的处理速度,提高任务的处理效率,还能避免发生由资源占用过多而引起机器卡死的现象。
例如:主节点在第一线程中监测与从节点对应的机器的资源占用状态,将资源占用状态低于第一预设阀值的从节点作为可执行节点。在第二线程中监测与从节点对应的机器的资源占用状态,将资源占用状态低于第一预设阀值的节点作为可执行节点。
更进一步地,当主节点监测到的CPU状态低于第一预设阀值的从节点为多个时,主节点从CPU状态低于第一预设阀值的多个节点中随机选择一个作为可执行节点。若没有监测到CPU状态低于第一预设阀值节点,则继续监测。
该步骤中,获取可执行的从节点之后,主节点即可将等待存储区中分数最高的任务发送给可执行的从节点,具体可以是:
主节点在大数据任务等待存储区中获取当前分数最高的大数据任务,并将该分数最高的大数据任务发送给可执行的从节点。例如:主节点在第一线程中将大数据任务等待存储区中的当前分数最高的任务发送给可执行的从节点。
主节点在普通任务等待存储区中获取当前分数最高的普通任务,并将该分数最高的大数据任务发送给可执行的从节点,该出的可执行从节点,可以是与任务提交的客户端对应的节点,具体如图2所示,例如,客户端3提交的普通任务,则该普通任务可以由与客户端3对应的节点3执行完成。例如,在第二线程中将普通任务等待存储区中的当前分数最高的任务发送给可执行从节点。
需说明的是,若主节点将大数据任务等待存储区中的当前分数最高的任务发送给可执行的从节点之前,则主节点还可以监测大数据平台的资源占用情况,若大数据平台的资源占用情况低于第二预设阀值(区别于上述公式中的第二预设值),则将大数据任务等待存储区中的当前分数最高的大数据任务发送给可执行的从节点;若大数据平台的资源占用情况不低于第二预设阀值,则继续监测等待。
另外,步骤S33之前已经完成了节点集群初始化,分布式任务提交管理系统将各个节点的访问地址存储到zookeeper中,因此,主节点可以监控与从节点对应的机器的资源占用状态,主节点监听等待存储区中是否有待执行任务,当监听到等待存储区中有待执行任务时,执行步骤S33。其中,各个节点的访问地址可以为:与节点对应的机器的IP和端口号。从节点对应的机器的资源占用状态包括CPU状态和内存状态。
步骤S34:可执行的从节点执行当前分数最高的任务,并获取任务执行状态,其中,任务执行状态包括执行成功;正在执行;执行失败;等待中或异常终止。
该步骤具体实施时,可执行的从节点解析当前分数最高的任务,生成当前分数最高的任务的可执行文件。例如:可执行的从节点在第一线程中解析当前分数最高的大数据任务,生成当前分数最高的大数据任务的可执行文件;在第二线程中解析当前分数最高的普通任务,生成当前分数最高的普通任务的可执行文件。
然后,可执行的从节点可以在操作系统中创建当前分数最高的任务中的用户名,并切换到该用户名下执行当前分数最高的任务的可执行文件。例如:可执行的从节点的第一线程在操作系统中创建当前分数最高的大数据任务中的用户名,并切换到该用户名下执行当前分数最高的大数据任务的可执行文件;可执行的从节点的第二线程在操作系统中创建当前分数最高的普通任务中的用户名,并切换到该用户名下执行当前分数最高的普通任务的可执行文件。
最后,可执行的从节点生成任务日志,并写入到操作系统中,可执行的从节点接收到当前分数最高的任务返回的执行结果状态。例如:可执行的从节点在第一线程中生成与大数据任务对应的任务日志,并写入到与可执行节点所在的主机的操作系统上,可执行的从节点接收到当前分数最高的大数据任务返回的执行结果状态。可执行的从节点在第二线程中生成与普通任务对应的任务日志,并写入到与可执行节点所在的主机的操作系统上,可执行的从节点接收到当前分数最高的普通任务返回的执行结果状态。该步骤中提到的任务日志包括过程日志和结果日志。
若任务为大数据任务,可执行的从节点还可以检查大数据平台上的当前分数最高的任务的执行情况,如果执行完成,则将当前分数最高的任务的当前状态更新为成功状态,并将当前分数最高的任务的当前状态写入到分布式任务提交管理系统的任务状态池中;如果执行失败,则将当前分数最高的任务的当前状态更新为失败状态,并将当前分数最高的任务的当前状态写入到分布式任务提交管理系统的任务状态池中。
步骤S35:客户端接收到任务状态获取请求后,获取任务的当前状态并返回获取到的结果。
任务的当前状态包括执行成功;正在执行;执行失败;等待中或异常终止等。
通过实施例2提供的上述技术方案,在大数据平台上执行任务时,首先接收任务,并接收任务的提交时间和任务的优先级标识,其中,接收的任务中包括有大数据任务和普通任务,然后根据任务的提交时间和所述任务的优先级标识,确定任务的权值,最后根据确定的权值确定任务的执行顺序,并根据所述执行顺序执行所述任务。与现有技术中相比,由于现有技术中仅仅根据任务的提交时间这一单一要素来确定任务执行顺序,本申请综合利用任务的提交时间和任务的优先级标识来确定任务执行顺序,因此提高了任务执行时的灵活性,最终提高了任务的执行效率。
实施例3
以上皆为本申请的方法实施例,相应地,本申请还提供一种任务的执行装置实施例,应用在大数据平台中,用于提高任务的执行效率,如图4所示,该装置包括:
接收模块41,用于接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;
权值确定模块42,用于根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值;
任务执行模块43,用于根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。
通过实施例3提供的上述技术方案,在大数据平台上执行任务时,接收模块首先接收任务,并接收任务的提交时间和任务的优先级标识,其中,接收的任务中包括有大数据任务和普通任务,然后权值确定模块根据任务的提交时间和所述任务的优先级标识,确定任务的权值,最后任务执行模块根据确定的权值确定任务的执行顺序,并根据所述执行顺序执行所述任务。与现有技术中相比,由于现有技术中仅仅根据任务的提交时间这一单一要素来确定任务执行顺序,本申请综合利用任务的提交时间和任务的优先级标识来确定任务执行顺序,因此提高了任务执行时的灵活性,最终提高了任务的执行效率。
上述任务具体由大数据平台中的节点执行,则所述任务执行模块43根据所述执行顺序执行所述任务,具体包括:在所述节点的资源占用率低于第一预设阀值时,所述任务执行模块根据所述执行顺序执行所述任务,其中,所述节点的资源占用率包括所述节点的CPU占用率和内存占用率。
上述任务执行模块43根据所述执行顺序执行所述任务,具体包括:在大数据平台的资源占用率低于第二预设阀值时,所述任务执行模块根据所述执行顺序执行所述任务。
权值确定模块42根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值,具体包括:所述权值确定模块按照如下公式确定所述任务的权值:任务的权值=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值,其中,任务的提交时间为时间戳;任务的优先级标识为数字;第一预设值大于任务的提交时间;第二预设值小于任务的提交时间;第三预设值用于控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于所述优先级标识的数量等级。
上述装置还包括任务状态返回模块44,用于根据所述执行顺序执行所述任务之后,返回所述任务的执行状态,其中,所述执行状态包括:执行成功;正在执行;执行失败;等待中或异常终止。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (8)

1.一种任务的执行方法,其特征在于,应用在大数据平台中,包括:
接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;
根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值;其中,按照如下公式确定所述任务的权值:任务的权值=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值,其中,任务的提交时间为时间戳;任务的优先级标识为数字;第一预设值大于任务的提交时间;第二预设值小于任务的提交时间;第三预设值用于控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于所述优先级标识的数量等级;
根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。
2.根据权利要求1所述的方法,其特征在于,所述任务具体由大数据平台中的节点执行,则根据所述执行顺序执行所述任务,具体包括:
在所述节点的资源占用率低于第一预设阀值时,根据所述执行顺序执行所述任务,其中,所述节点的资源占用率包括所述节点的CPU占用率和内存占用率。
3.根据权利要求1所述的方法,其特征在于,根据所述执行顺序执行所述任务,具体包括:
在大数据平台的资源占用率低于第二预设阀值时,根据所述执行顺序执行所述任务。
4.根据权利要求1至3任一项所述的方法,其特征在于,根据所述执行顺序执行所述任务之后,所述方法还包括:
返回所述任务的执行状态,其中,所述执行状态包括:执行成功;正在执行;执行失败;等待中或异常终止。
5.一种任务的执行装置,其特征在于,应用在大数据平台中,包括:
接收模块,用于接收任务,并接收所述任务的提交时间和所述任务的优先级标识,其中,所述任务包括大数据任务和普通任务;
权值确定模块,用于根据所述任务的提交时间和所述任务的优先级标识,确定所述任务的权值;其中,按照如下公式确定所述任务的权值:任务的权值=任务的优先级标识+(第一预设值/(任务提交时间-第二预设值))×第三预设值,其中,任务的提交时间为时间戳;任务的优先级标识为数字;第一预设值大于任务的提交时间;第二预设值小于任务的提交时间;第三预设值用于控制(第一预设值/(任务提交时间-第二预设值))×第三预设值的结果小于所述优先级标识的数量等级;
任务执行模块,用于根据确定的权值确定所述任务的执行顺序,并根据所述执行顺序执行所述任务。
6.根据权利要求5所述的装置,其特征在于,所述任务具体由大数据平台中的节点执行,则所述任务执行模块根据所述执行顺序执行所述任务,具体包括:
在所述节点的资源占用率低于第一预设阀值时,所述任务执行模块根据所述执行顺序执行所述任务,其中,所述节点的资源占用率包括所述节点的CPU占用率和内存占用率。
7.根据权利要求5所述的装置,其特征在于,所述任务执行模块根据所述执行顺序执行所述任务,具体包括:
在大数据平台的资源占用率低于第二预设阀值时,所述任务执行模块根据所述执行顺序执行所述任务。
8.根据权利要求5至7任一项所述的装置,其特征在于,所述装置还包括任务状态返回模块,用于根据所述执行顺序执行所述任务之后,返回所述任务的执行状态,其中,所述执行状态包括:执行成功;正在执行;执行失败;等待中或异常终止。
CN201710056115.6A 2017-01-25 2017-01-25 一种任务的执行方法和装置 Active CN106844055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710056115.6A CN106844055B (zh) 2017-01-25 2017-01-25 一种任务的执行方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710056115.6A CN106844055B (zh) 2017-01-25 2017-01-25 一种任务的执行方法和装置

Publications (2)

Publication Number Publication Date
CN106844055A CN106844055A (zh) 2017-06-13
CN106844055B true CN106844055B (zh) 2020-02-28

Family

ID=59121180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710056115.6A Active CN106844055B (zh) 2017-01-25 2017-01-25 一种任务的执行方法和装置

Country Status (1)

Country Link
CN (1) CN106844055B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199912B (zh) * 2017-12-15 2020-09-22 北京奇艺世纪科技有限公司 一种异地多活的分布式消息的管理、消费方法及装置
CN108920269B (zh) * 2018-07-19 2021-03-19 中国联合网络通信集团有限公司 容器的i/o传输任务的调度方法和装置
CN111274067A (zh) * 2018-12-04 2020-06-12 北京京东尚科信息技术有限公司 执行计算任务的方法和装置
CN112698927A (zh) * 2019-10-23 2021-04-23 杭州海康威视数字技术股份有限公司 双向通信方法、装置、电子设备及机器可读存储介质
CN113342493B (zh) * 2021-06-15 2022-09-20 上海哔哩哔哩科技有限公司 任务执行方法、装置及计算机设备
CN113535339B (zh) * 2021-07-19 2022-06-17 赞同科技股份有限公司 一种调用服务的方法以及装置
CN113535369A (zh) * 2021-09-15 2021-10-22 中建电子商务有限责任公司 一种调度任务的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741912A (zh) * 2009-12-30 2010-06-16 中兴通讯股份有限公司 一种处理计算任务的方法、网络设备及分布式网络系统
CN104615488A (zh) * 2015-01-16 2015-05-13 华为技术有限公司 异构多核可重构计算平台上任务调度的方法和装置
CN104714838A (zh) * 2013-12-12 2015-06-17 中国移动通信集团四川有限公司 一种任务调度方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832173B2 (en) * 2009-01-20 2014-09-09 Sap Ag System and method of multithreaded processing across multiple servers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741912A (zh) * 2009-12-30 2010-06-16 中兴通讯股份有限公司 一种处理计算任务的方法、网络设备及分布式网络系统
CN104714838A (zh) * 2013-12-12 2015-06-17 中国移动通信集团四川有限公司 一种任务调度方法及装置
CN104615488A (zh) * 2015-01-16 2015-05-13 华为技术有限公司 异构多核可重构计算平台上任务调度的方法和装置

Also Published As

Publication number Publication date
CN106844055A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106844055B (zh) 一种任务的执行方法和装置
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
WO2020181813A1 (zh) 一种基于数据处理的任务调度方法及相关设备
US9853906B2 (en) Network prioritization based on node-level attributes
CN106411558B (zh) 一种数据流量限制的方法及系统
CN109033814B (zh) 智能合约触发方法、装置、设备及存储介质
CN109710414B (zh) 一种作业调度方法、装置、设备及存储介质
US10691501B1 (en) Command invocations for target computing resources
CN109165158B (zh) 测试用例的调度方法、装置、计算设备及计算机存储介质
US20230229496A1 (en) Allocating resources for network function virtualization
CN110990136B (zh) 一种任务处理方法和任务调度器
CN113626173B (zh) 调度方法、装置及存储介质
EP4006725A1 (en) Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium
CN112631994A (zh) 数据迁移方法及系统
CN111008071A (zh) 任务调度系统、方法和服务器
CN109086128B (zh) 任务调度方法及装置
CN113051245A (zh) 用于迁移数据的方法、装置及系统
CN115686746A (zh) 访问方法、任务处理方法、计算设备及计算机存储介质
CN115329005A (zh) 多集群的协同方法、系统、装置及计算机可读存储介质
EP3346671B1 (en) Service processing method and equipment
CN111352710B (zh) 进程管理方法及装置、计算设备、存储介质
CN114201284A (zh) 定时任务管理方法及系统
CN113032188B (zh) 确定主服务器的方法、装置、服务器及存储介质
CN113656374A (zh) 带有附件的业务报文的处理方法及装置
CN113704355A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100080 No.101, 1st floor, building 14, No.27, Jiancai Chengzhong Road, Haidian District, Beijing

Patentee after: Beijing PERCENT Technology Group Co.,Ltd.

Address before: 100080 15 / F, block a, China Technology Trading Building, 66 North Fourth Ring Road West, Haidian District, Beijing

Patentee before: BEIJING BAIFENDIAN INFORMATION SCIENCE & TECHNOLOGY Co.,Ltd.