CN111510468A - 计算任务的调度方法、装置、服务器及计算系统 - Google Patents

计算任务的调度方法、装置、服务器及计算系统 Download PDF

Info

Publication number
CN111510468A
CN111510468A CN201910092259.6A CN201910092259A CN111510468A CN 111510468 A CN111510468 A CN 111510468A CN 201910092259 A CN201910092259 A CN 201910092259A CN 111510468 A CN111510468 A CN 111510468A
Authority
CN
China
Prior art keywords
workflow
server
scheduling
data
execution
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
Application number
CN201910092259.6A
Other languages
English (en)
Other versions
CN111510468B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910092259.6A priority Critical patent/CN111510468B/zh
Publication of CN111510468A publication Critical patent/CN111510468A/zh
Application granted granted Critical
Publication of CN111510468B publication Critical patent/CN111510468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供了一种计算任务的调度方法、装置、调度服务器、业务服务器、注册服务器及计算系统,包括:获取工作流信息,工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;判断当前是否满足工作流触发条件;若满足,从多个业务服务器中选择第一目标业务服务器;向第一目标业务服务器发送与工作流对应的工作流调度请求;以使第一目标业务服务器执行工作流。本发明实施例,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。

Description

计算任务的调度方法、装置、服务器及计算系统
技术领域
本发明涉及大数据处理技术领域,特别是涉及一种计算任务的调度方法、装置、调度服务器、业务服务器、注册服务器及计算系统。
背景技术
大数据是指通过多种来源搜集而来,且具有多种数据类型的庞大数据集合。通过对大数据进行处理,并将处理结果应用于产品优化及市场分析等领域,可以获得巨大的经济和社会价值。
一个完整的大数据处理流程,可以由一个或者多个工作流组成,一个工作流通常包含多种计算任务,在工作流执行过程中,需要对其中包含的多种计算任务进行调度。
例如,某一完整的处理流程为:对指定时段内进入某地铁站的人流数据进行处理,得到该指定时段进入该地铁站的人员总数,并按照预设方式对人员总数进行显示。上述处理流程中包含2个工作流:工作流一:计算该指定时段进入该地铁站的人员总数;工作流二:按照预设方式对人员总数进行显示。就工作流一而言:由于闸机安装时间、生产厂家的差异,各个闸机记录的人流数据的数据格式可能也不同。因此,工作流一需要包含计算任务一:对各闸机记录的人流数据进行格式归一化的预处理,得到具有相同格式的人流数据;计算任务二:进行人流数据的叠加,得到进入该地铁站的人员总数。这里,计算任务一和计算任务二间具有依赖关系:计算任务二的执行需要依赖计算任务一的执行结果,即:计算任务一与计算任务二为串联关系;对工作流二而言:可以只包含计算任务三:按照预设方式对人员总数进行显示。
通常对工作流进行调度的过程为:在执行工作流的业务服务器上,预先通过编写脚本的方式设定工作流的触发条件;及对工作流中的各计算任务进行逻辑顺序编排。当满足工作流触发条件时,服务器根据编排好的逻辑关系,依次执行各个计算任务。
例如:针对上述工作流一,当满足其触发条件,即当前时刻为指定时段的结束时刻时,先执行计算任务一,再执行计算任务二;针对上述工作流二,当满足其触发条件,即当得到了指定时段进入该地铁站的人员总数时,执行计算任务三。
上述调度方法中,业务服务器既要进行工作流调度,还要执行具体的计算任务,工作流调度和工作流任务执行的耦合性较高,如果需要修改任务之间的逻辑顺序关系,则需要对整个脚本文件进行修改,因此,不便于升级维护。
发明内容
本发明实施例的目的在于提供一种计算任务的调度方法、装置、调度服务器、业务服务器、注册服务器及计算系统,以便于计算系统的升级维护。具体技术方案如下:
第一方面,本发明实施例提供了一种计算任务的调度方法,应用于计算系统中的调度服务器,所述计算系统中还包括:多个业务服务器,所述方法包括:
获取工作流信息;所述工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;
判断当前是否满足所述工作流触发条件;
若满足,从多个业务服务器中选择第一目标业务服务器;
向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,所述获取工作流信息的步骤,包括:
获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
进一步的,所述用户输入的各计算任务的逻辑顺序关系以有向无环图的形式显示。
进一步的,所述计算系统中还包括:注册服务器;
所述从多个业务服务器中选择第一目标业务服务器的步骤,包括:
向所述注册服务器发送负载获取请求;
接收所述注册服务器返回的当前时刻所有业务服务器的负载信息;所述负载信息为所述业务服务器定时向所述注册服务器发送的;
根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
进一步的,所述工作流信息中还包括:工作流标识;在所述向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求的步骤之后,还包括:
判断是否接收到所述第一目标业务服务器返回的调度成功通知,如果是,则确定工作流调度完成;
向所述注册服务器发送工作流执行通知,以使所述注册服务器定时返回与所述工作流标识对应的工作流状态数据,所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据为所述业务服务器在执行所述工作流过程中,定时向所述注册服务器发送的工作流执行状态以及工作流执行过程中产生的数据;
输出所述工作流状态数据。
进一步的,在所述根据所述负载信息,将与所述工作流对应的调度请求发送至负载小于预设阈值的第一目标业务服务器的步骤之后,还包括:
当在第一预设时长内未接收到所述第一目标业务服务器返回的调度成功通知时,将所述工作流调度请求发送至负载小于预设阈值的第二目标业务服务器;所述第一目标业务服务器和所述第二目标业务服务器为不同的业务服务器;
当接收到所述第二目标业务服务器返回的调度成功通知时,确定任务调度完成。
进一步的,在所述向所述注册服务器发送工作流执行通知的步骤之后,还包括:
若在第二预设时长内未接收到所述注册服务器返回的与所述工作流标识对应的工作流状态数据,输出用于提示检查所述工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
进一步的,所述工作流触发条件包括定时触发或事件触发。
进一步的,所述计算系统中还包括:存储服务器;
在所述向所述注册服务器发送工作流执行通知,以使所述注册服务器定时返回与所述工作流标识对应的工作流状态数据的步骤之后,还包括:
向所述存储服务器发送包含认证信息的数据操作请求;所述认证信息为预先向所述存储服务器发送注册请求后,所述存储服务器返回的;
判断是否接收到所述存储服务器返回的操作许可通知;
如果是,则将所述工作流信息和所述工作流状态数据存储至所述存储服务器。
第二方面,本发明实施例提供了一种计算任务的调度方法,其特征在于,应用于调度系统中的业务服务器,所述调度系统中还包括:调度服务器,所述方法包括:
接收所述调度服务器发送的调度请求;
根据所述调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码;
按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,在接收到所述调度服务器发送的调度请求之后,还包括:
向所述调度服务器返回调度成功通知。
进一步的,所述计算系统中还包括:注册服务器;所述方法,还包括:
向所述注册服务器定时发送负载信息。
进一步的,在所述按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流的步骤之后,还包括:
向所述注册服务器定时发送工作流状态数据,以使所述注册服务器在接收到所述调度服务器发送的工作流执行通知后,定时将所述工作流状态数据发送至所述调度服务器;所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据。
第三方面,本发明实施例提供了一种计算任务的调度方法,其特征在于,应用于计算系统中的注册服务器,所述计算系统中还包括:调度服务器和多个业务服务器,所述方法包括:
接收所述业务服务器定时发送的负载信息;
当接收到所述调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至所述调度服务器,以使所述调度服务器根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,在所述将当前时刻业务服务器的负载信息发送至所述调度服务器的步骤之后,还包括:
接收所述第一目标业务服务器定时发送的工作流状态数据;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据;
当接收到所述调度服务器发送的工作流执行通知时,向所述调度服务器定时发送与所述工作流执行通知中的工作流标识对应的工作流状态数据。
第四方面,本发明实施例提供了一种计算任务的调度装置,其特征在于,位于计算系统中的调度服务器,所述计算系统中还包括:多个业务服务器,所述装置包括:
工作流信息获取模块,用于获取工作流信息;所述工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;
条件判断模块,用于判断当前是否满足所述工作流触发条件;
服务器选择模块,用于若满足所述工作流触发条件,从多个业务服务器中选择第一目标业务服务器;
调度请求发送模块,用于向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,所述工作流信息获取模块,具体用于获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
进一步的,所述用户输入的各计算任务的逻辑顺序关系以有向无环图的形式显示。
进一步的,所述计算系统中还包括:注册服务器;
所述服务器选择模块,包括:负载获取请求发送子模块、第一负载信息接收子模块及第一目标服务器确定子模块;
所述负载获取请求发送子模块,用于向所述注册服务器发送负载获取请求;
所述第一负载信息接收子模块,用于接收所述注册服务器返回的当前时刻所有业务服务器的负载信息;所述负载信息为所述业务服务器定时向所述注册服务器发送的;
所述第一目标服务器确定子模块,用于根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
进一步的,所述工作流信息中还包括:工作流标识;
所述装置还包括:第一调度完成确定模块、工作流执行通知发送模块及数据输出模块;
所述第一调度完成确定模块,用于判断是否接收到所述第一目标业务服务器返回的调度成功通知,如果是,则确定工作流调度完成;
所述工作流执行通知发送模块,用于向所述注册服务器发送工作流执行通知,以使所述注册服务器定时返回与所述工作流标识对应的工作流状态数据,所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据为所述业务服务器在执行所述工作流过程中,定时向所述注册服务器发送的工作流执行状态以及工作流执行过程中产生的数据;
所述数据输出模块,用于输出所述工作流状态数据。
进一步的,所述调度请求发送模块,具体用于当在第一预设时长内未接收到所述第一目标业务服务器返回的调度成功通知时,将所述工作流调度请求发送至负载小于预设阈值的第二目标业务服务器;所述第一目标业务服务器和所述第二目标业务服务器为不同的业务服务器;
所述装置还包括:第二调度完成确定模块;
所述第二调度完成确定模块,用于当接收到所述第二目标业务服务器返回的调度成功通知时,确定任务调度完成。
进一步的,所述装置还包括:提示信息输出模块;
所述提示信息输出模块,用于若在第二预设时长内未接收到所述注册服务器返回的与所述工作流标识对应的工作流状态数据,输出用于提示检查所述工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
进一步的,所述工作流触发条件包括定时触发或事件触发。
进一步的,所述计算系统中还包括:存储服务器;
所述装置还包括:数据操作请求发送模块、判断模块及数据存储模块;
所述数据操作请求发送模块,用于向所述存储服务器发送包含认证信息的数据操作请求;所述认证信息为预先向所述存储服务器发送注册请求后,所述存储服务器返回的;
所述判断模块,用于判断是否接收到所述存储服务器返回的操作许可通知;
所述数据存储模块,用于当接收到所述存储服务器返回的操作许可通知时,将所述工作流信息和所述工作流状态数据存储至所述存储服务器。
第五方面,本发明实施例提供了一种计算任务的调度装置,其特征在于,位于调度系统中的业务服务器,所述调度系统中还包括:调度服务器,所述装置包括:
调度请求接收模块,用于接收所述调度服务器发送的调度请求;
获取模块,用于当接收到所述调度服务器发送的调度请求时,根据所述调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码;
工作流执行模块,用于按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,所述装置还包括:调度成功通知发送模块;
所述调度成功通知发送模块,用于在接收到所述调度服务器发送的调度请求之后,向所述调度服务器返回调度成功通知。
进一步的,所述装置还包括:调度成功通知发送模块;
所述调度成功通知发送模块,用于在接收到所述调度服务器发送的调度请求之后,向所述调度服务器返回调度成功通知。
进一步的,所述装置还包括:第一工作流状态数据发送模块;
所述第一工作流状态数据发送模块,用于向所述注册服务器定时发送工作流状态数据,以使所述注册服务器在接收到所述调度服务器发送的工作流执行通知后,定时将所述工作流状态数据发送至所述调度服务器;所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据。
第六方面,本发明实施例提供了一种计算任务的调度装置,其特征在于,位于计算系统中的注册服务器,所述计算系统中还包括:调度服务器和多个业务服务器,所述装置包括:
第二负载信息接收模块,用于接收所述业务服务器定时发送的负载信息;
第二负载信息发送模块,用于当接收到所述调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至所述调度服务器,以使所述调度服务器根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,所述装置还包括:工作流状态数据接收模块和第二工作流状态数据发送模块;
所述工作流状态数据接收模块,用于接收所述第一目标业务服务器定时发送的工作流状态数据;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据;
所述第二工作流状态数据发送模块,用于当接收到所述调度服务器发送的工作流执行通知时,向所述调度服务器定时发送与所述工作流执行通知中的工作流标识对应的工作流状态数据。
第七方面,本发明实施例提供了一种调度服务器,包括处理器和存储器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述应用于计算系统中的调度服务器的任一计算任务的调度方法。
第八方面,本发明实施例提供了一种业务服务器,包括处理器和存储器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述应用于计算系统中的业务服务器的任一计算任务的调度方法。
第九方面,本发明实施例提供了一种注册服务器,包括处理器和存储器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述应用于计算系统中的注册服务器的任一计算任务的调度方法。
第十方面,本发明实施例提供了计算系统,包括调度服务器和业务服务器。
进一步的,所述计算系统,还包括:注册服务器。
第十一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一计算任务的调度方法。
本发明实施例提供的计算任务的调度方法、装置、调度服务器、业务服务器、注册服务器及计算系统,调度服务器获取工作流信息;所述工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;判断当前是否满足所述工作流触发条件;若满足,从多个业务服务器中选择第一目标业务服务器;向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器执行所述工作流。本发明实施例中,调度服务器获取工作流触发条件和工作流中各计算任务的逻辑顺序关系,当满足工作流触发条件时,向选择的目标业务服务器发送工作流调度请求,以使目标业务服务器执行工作流,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的计算系统结构的一种示意图;
图2为本发明实施例提供的计算任务的调度方法应用于图1所述的计算系统中的调度服务器的一种流程示意图;
图3为本发明实施例提供的计算系统结构的另一种示意图;
图4为本发明实施例提供的计算任务的调度方法应用于图3所述的计算系统中的调度服务器的一种流程示意图;
图5为本发明实施例提供的计算任务的调度方法应用于图1所述的计算系统中业务服务器的一种流程示意图;
图6为本发明实施例提供的计算任务的调度方法应用于图3所述的计算系统中业务服务器的一种流程示意图;
图7为本发明实施例提供的计算任务的调度方法应用于图3所述的计算系统中注册服务器的一种流程示意图;
图8为基于图3所示的计算系统的调度方法的一个具体实例交互流程图;
图9a用户输入工作流信息的流程示意图;
图9b~图9e为工作流的任务模型示例图;
图10为包括多个工作流的完整任务流程的处理流程示意图;
图11为本发明实施例提供的一种计算任务的调度装置的结构示意图;
图12为本发明实施例提供的另一种计算任务的调度装置的结构示意图;
图13为本发明实施例提供的又一种计算任务的调度装置的结构示意图;
图14为本发明实施例提供的一种调度服务器的结构示意图;
图15为本发明实施例提供的一种业务服务器的结构示意图;
图16为本发明实施例提供的一种注册服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于计算系统的升级维护,本发明实施例提供了一种计算任务的调度方法、装置、调度服务器、业务服务器、注册服务器及计算系统,以下分别进行详细说明。
为对计算任务进行调度,本发明实施例提供了一种计算系统。如图1所示,该计算系统包括:调度服务器100和多个业务服务器200,调度服务器100与多个业务服务器200通信连接,调度服务器100用于工作流调度,业务服务器200用于工作流任务的执行。
参见图2,图2为本发明实施例提供的计算任务的调度方法应用于调度服务器的一种流程示意图。
上述方法具体包括如下步骤:
步骤201,获取工作流信息,工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系。
本步骤中,获取工作流信息的方法可以为获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。进一步的,还可以是调度服务器通过用户界面,获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
进一步的,用户输入的各计算任务的逻辑顺序关系可以是以有向无环图的形式显示。具体的计算任务逻辑顺序关系可以为串行顺序,也可以是并行顺序,还可以是分支顺序,对于逻辑顺序关系的具体类型,可以根据实际计算任务进行设定,此处不作限定。
工作流触发条件可以为定时触发,或者事件触发,例如:当某一工作流能否开始执行取决于当前时间是否到达预设时间时,其触发条件可以为定时触发;当工作流能否开始执行取决于是否得到某一数据结果,而该数据结果为另一工作流的执行结果时,其触发条件可以为事件触发。
步骤202,判断当前是否满足工作流触发条件。
本实施例中,可以在执行步骤201之后,定期判断当前是否满足工作流触发条件,也可以根据需要不定时地判断当前是否满足工作流触发条件,关于执行步骤202的条件,此处不作限定。
步骤203,若满足,从多个业务服务器中选择第一目标业务服务器。
本步骤中,选择第一目标业务服务器的原则可以为根据当前时刻各业务服务器处理的工作流个数进行选择,也可以为根据当前时刻各业务服务器的资源利用率或负载信息等进行选择,此处不作限定。
步骤204,向第一目标业务服务器发送与工作流对应的工作流调度请求;工作流调度请求中包括:待处理数据标识信息、各计算任务对应的执行代码标识信息以及工作流中各计算任务的逻辑顺序关系。
上述工作流调度请求使得第一目标业务服务器根据待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
具体的,待处理数据标识信息可以便于第一目标业务服务器获得待处理数据,待处理数据标识信息可以为待处理数据的存储位置信息,也可以为与待处理数据对应的编码标识;相应地,各计算任务对应的执行代码标识信息可以便于第一目标业务服务器获得各计算任务对应的执行代码,各计算任务对应的执行代码标识信息可以为各计算任务对应的执行代码的存储位置信息,也可以为与各计算任务执行代码对应的编码标识;本步骤中,对待处理数据标识信息和各计算任务对应的执行代码标识信息的具体内容不作限定。
由上述实施例可见,在本发明实施例中,调度服务器获取工作流触发条件和工作流中各计算任务的逻辑顺序关系,当满足工作流触发条件时,向选择的目标业务服务器发送工作流调度请求,以使目标业务服务器执行工作流,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
参见图3,本实施例还提供了另一种计算系统。如图3所示,该计算系统包括:调度服务器100、多个业务服务器200、注册服务器300及存储服务器400,调度服务器100分别与业务服务器200、注册服务器300及存储服务器400通信连接,注册服务器300分别与多个业务服务器200通信连接。注册服务器300用于向调度服务器发送各个业务服务器的负载信息,及向调度服务器发送业务服务器在计算任务执行过程中的工作流状态数据。存储服务器400用于存储工作流信息及工作流执行过程中的相关工作流状态数据。
本实施例中的注册服务器可以是Zookeeper服务器。
参见图4,图4为本发明实施例提供的计算任务的调度方法应用于图3所述的计算系统中的调度服务器的一种流程示意图,具体步骤如下:
步骤401,获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
步骤402,判断当前是否满足所述工作流触发条件。
步骤401和步骤402的内容分别与步骤201和步骤202相同,此处不再赘述。
步骤403,若满足工作流触发条件,向所述注册服务器发送负载获取请求。
步骤404,接收所述注册服务器返回的当前时刻所有业务服务器的负载信息。
其中,负载信息为所述业务服务器定时向所述注册服务器发送的。
步骤405,根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
步骤406,向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系。
具体的,调度服务器向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求,使得所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
步骤407,判断是否接收到所述第一目标业务服务器返回的调度成功通知。若接收到调度成功通知,则执行步骤408,否则,执行步骤409。
步骤408,确定工作流调度完成。执行步骤411。
步骤409,当在第一预设时长内未接收到所述第一目标业务服务器返回的调度成功通知时,将所述工作流调度请求发送至负载小于预设阈值的第二目标业务服务器。
其中,第一目标业务服务器和所述第二目标业务服务器为不同的业务服务器。
步骤410,当接收到所述第二目标业务服务器返回的调度成功通知时,确定任务调度完成。
本实施例中,当在第一预设时长内未接收到第一目标业务服务器返回的调度成功通知时,可以选择向第二目标业务服务器发送工作流调度请求。在本发明的一个具体实施例中,当在第一预设时长内未接收到第二目标业务服务器返回的调度成功通知时,还可以将工作流调度请求发送至负载小于预设阈值的第三目标业务服务器,以此类推,直至接收到目标服务器返回的调度成功通知后,确定任务调度完成。
步骤411,向所述注册服务器发送工作流执行通知,所述工作流执行通知中包括:与所述工作流对应的工作流标识。
具体的,调度服务器向所述注册服务器发送工作流执行通知,使得所述注册服务器定时返回与所述工作流标识对应的工作流状态数据,所述工作流状态数据为所述业务服务器在执行所述工作流过程中,定时向所述注册服务器发送的工作流执行状态以及工作流执行过程中产生的数据。工作流状态数据可以包括工作流执行进度数据、工作流执行过程中得到的各个计算任务的数据结果以及工作流执行过程中的其他临时状态数据等,对此,不作限定。
步骤412,定时接收注册服务器返回的所述工作流标识对应的工作流状态数据。
步骤413,输出所述工作流状态数据。
调度服务器可以通过用户界面等形式对工作流状态数据进行输出显示,以便于客户实时查看当前时刻的工作流执行进度。
步骤414,向所述存储服务器发送包含认证信息的数据操作请求。
其中,认证信息为预先向所述存储服务器发送注册请求后,所述存储服务器返回的。
步骤415,判断是否接收到所述存储服务器返回的操作许可通知。如果是,执行步骤416。
步骤416,将所述工作流信息和所述工作流状态数据存储至所述存储服务器。
在本步骤中,还可以将除工作流信息和工作流状态数据之外的其他数据存储至存储服务器。例如,其他数据可以为调度服务器的调度日志、用户对调度服务器的操作日志、各个计算任务的执行日志等,此处,对于存储至存储服务器的数据内容不作限定。
本实施例中,还可以包括:步骤417,若在第二预设时长内未接收到所述注册服务器返回的与所述工作流标识对应的工作流状态数据,输出用于提示检查所述工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
输出上述提示信息,可以便于用户及时发现逻辑顺序关系中存在的问题,及时修改,提高调度效率。
本实施例中,调度服务器根据注册服务器发送的负载信息,可以将调度请求发送至负载小于预设阈值的业务服务器,进行工作流的执行,同时,在工作流执行过程中,可以通过注册服务器定时返回的工作流状态数据实时监控工作流执行的进度,及时发现工作流执行过程中出现的问题,提高调度效率。
参见图5,图5为本发明实施例提供的计算任务的调度方法应用于图1所述的计算系统中业务服务器的一种流程示意图,具体步骤如下:
步骤501,接收调度服务器发送的调度请求。
步骤502,根据调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码。
具体的,待处理数据标识信息可以为待处理数据的位置标识,还可以是待处理数据的类型标识等,同样的,各计算任务对应的执行代码的标识信息可以为执行代码的位置标识,还可以是执行代码的类型标识等,通过上述标识信息,可以从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码。
步骤503,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
在本发明实施例中,业务服务器在接收到调度服务器发送的调度请求后,根据请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,按照工作流中各计算任务的逻辑顺序关系,执行工作流,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
参见图6,图6为本发明实施例提供的计算任务的调度方法应用于图3所述的计算系统中业务服务器的一种流程示意图,具体步骤如下:
步骤601,接收调度服务器发送的调度请求。
步骤602,根据所述调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码。
步骤603,向所述调度服务器返回调度成功通知。
步骤604,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
步骤605,向所述注册服务器定时发送工作流状态数据。
具体的,业务服务器向所述注册服务器定时发送工作流状态数据,使得所述注册服务器在接收到所述调度服务器发送的工作流执行通知后,定时将所述工作流状态数据发送至所述调度服务器;所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据。
在本发明实施例中,业务服务器在执行工作流的过程中,定时向注册服务器发送工作流状态数据,以便于调度服务器从注册服务器接收上述工作流状态数据,进而实时监控工作流执行的进度,及时发现工作流执行过程中出现的问题,提高调度效率。
参加图7,图7为本发明实施例提供的计算任务的调度方法应用于图3所述的计算系统中注册服务器的一种流程示意图,具体步骤如下:
步骤701,接收所述业务服务器定时发送的负载信息。
步骤702,当接收到所述调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至所述调度服务器。
具体的,将当前时刻业务服务器的负载信息发送至所述调度服务器,使得所述调度服务器根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,在所述将当前时刻业务服务器的负载信息发送至所述调度服务器的步骤之后,还可以包括:
接收所述第一目标业务服务器定时发送的工作流状态数据;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据;
当接收到所述调度服务器发送的工作流执行通知时,向所述调度服务器定时发送与所述工作流执行通知中的工作流标识对应的工作流状态数据。
在本发明实施例中,注册服务器在接收到调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至调度服务器,以使调度服务器确定第一业务目标服务器,并向第一业务目标服务器发送调度请求,进而使第一业务目标服务器执行工作流任务,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
为体现图3所示计算系统中各个设备间的交互流程,参见图8,图8为应用本发明实施例提供的计算任务的调度方法的一个具体实例交互流程图,具体步骤如下:
步骤800,业务服务器定时向注册服务器发送负载信息。
步骤801,调度服务器获取用户输入的工作流信息,工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系。
步骤802,调度服务器判断当前是否满足工作流触发条件。
步骤803,当满足工作流触发条件时,调度服务器向注册服务器发送负载获取请求。
步骤804,注册服务器向调度服务器返回所有业务服务器当前时刻的负载信息。
步骤805,调度服务器根据负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
步骤806,调度服务器向第一目标业务服务器发送与工作流对应的调度请求,调度请求中包括:工作流标识、待处理数据标识信息、各计算任务对应的执行代码标识信息以及工作流中各计算任务的逻辑顺序关系。
步骤807,调度服务器判断是否接收到第一目标业务服务器返回的调度成功通知。
步骤808,如果是,则调度服务器确定工作流调度完成。
步骤809,第一目标业务服务器根据待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
步骤810,第一目标业务服务器向注册服务器定时发送工作流状态数据。
工作流状态数据可以包括工作流执行进度数据、工作流执行过程中得到的各个计算任务的数据结果以及工作流执行过程中的其他临时状态数据等,对此,不作限定。
工作流状态数据中还可以包括与工作流对应的工作流标识,以便注册服务器对不同工作流的工作流状态数据进行区分。
步骤811,调度服务器向注册服务器发送工作流执行通知,工作流执行通知中包括与工作流对应的工作流标识。
步骤812,注册服务器向调度服务器定时返回与工作流标识对应的工作流状态数据。
与步骤810对应,由于第一目标业务服务器向注册服务器发送的工作流状态数据中包括工作流标识,因此,当调度服务器向注册服务器发送包括工作流标识的工作流执行通知时,注册服务器可以只将与工作流执行通知中的工作流标识对应的工作流状态数据发送至调度服务器,提高数据传输的有效性。
步骤813,调度服务器输出工作流状态数据。
调度服务器可以通过用户界面等形式对工作流状态数据进行输出显示,以便于用户实时查看当前时刻的工作流执行进度。
步骤814,调度服务器向存储服务器发送包含认证信息的数据操作请求。
本步骤中,认证信息为调度服务器预先向存储服务器发送注册请求后,存储服务器返回至调度服务器的。
步骤815,存储服务器向调度服务器返回操作许可通知。
调度服务器在进行数据存储之前,需要向存储服务器发送包含认证信息的数据操作请求,以便存储服务器对认证信息进行验证,可以提高调度服务器和存储服务器在数据传输过程中的安全性,防止数据信息丢失或者被窃取。
步骤816,调度服务器将工作流信息和工作流状态数据存储至存储服务器。
在本步骤中,还可以将除工作流信息和工作流状态数据之外的其他数据存储至存储服务器。例如,其他数据可以为调度服务器的调度日志、用户对调度服务器的操作日志、各个计算任务的执行日志等,此处,对于存储至存储服务器的数据内容不作限定。
进一步的,调度服务器还可以在获得存储服务器返回的操作许可通知之后,按照实际需要,读取存储服务器存储的数据。例如,若当前需要进行调度的工作流中的计算任务逻辑顺序关系与存储服务器存储的某一执行完成的工作流的计算任务逻辑顺序关系相似度较高,此时,调度服务器可以从存储服务器中读取该执行完成的工作流的计算任务逻辑顺序关系,从而使用户对上述已有逻辑顺序关系进行简单修改,得到当前计算任务逻辑顺序关系,从而节省了任务编排时间,提高了计算任务的调度效率。
在步骤807之后,若在第一预设时长内调度服务器未接收到第一目标业务服务器返回的调度成功通知,则会将工作流调度请求发送至负载小于预设阈值的第二目标业务服务器,其中,第一目标业务服务器和第二目标业务服务器为不同的业务服务器;当调度服务器接收到第二目标业务服务器返回的调度成功通知时,确定任务调度完成,第二目标业务服务器执行步骤809-810。
对于步骤812,若在第二预设时长内调度服务器未接收到注册服务器返回的与工作流标识对应的工作流状态数据,则调度服务器可以输出用于提示检查工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
在本发明实施例中,调度服务器获取工作流触发条件和工作流中各计算任务的逻辑顺序关系,当满足工作流触发条件时,向选择的目标业务服务器发送工作流调度请求,以使目标业务服务器执行工作流,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
参见图9a,用户输入工作流信息的过程可以包括如下步骤:
步骤901,创建工作流中的各个计算任务。
本步骤中,可以为各个计算任务创建任务描述信息、选择任务类型等。
步骤902,编排各个计算任务的逻辑顺序关系。
步骤903,判断逻辑顺序关系是否正确。若正确,执行步骤904。
若不正确,可以返回步骤902,重新编排和修改各个计算任务的逻辑顺序关系。在重新编排的过程中,可以根据实际需要对原有的计算任务进行删除、修改等操作。
步骤904,保存各个计算任务及各个计算任务的逻辑顺序关系。
具体的,用户输入工作流信息的方式可以有多种,其中,可以通过调度服务器提供的用户UI(User Interface)界面的形式输入工作流信息。如图9b-9e所示,具体的通过UI界面输入的工作流中的各个计算任务可以是图9b所示的串联模式的,也可以是图9c和图9d所示的并联模式的,还可以是图9d所示的分支模式的,此处,对于各个计算任务的逻辑顺序关系类型不作限定。
用户还可以通过UI界面输入预警邮箱,用于当工作流调度及工作流执行过程出错时,向用户发送预警邮件,以提醒用户对计算任务件的逻辑顺序关系或者服务器的运行状态进行检查。
实际上一个完整的业务流程通常会包含多个工作流,例如:一个完整的大数据处理流程就可能包含多个工作流。本发明实施例可以实现对包含多个工作流的完整业务流程进行调度。
参见图10,当一个完整的业务流程中包括多个工作流时,调度方法可以包括如下步骤:
步骤1001,获取完整处理流程中包括的多个工作流的工作流信息。
步骤1002,判断是否满足当前时刻的第一未调度工作流的触发条件。若是,执行步骤1003。
本步骤中当前时刻的第一未调度工作流指的是在所有未调度的工作流中,需要先调度的工作流,该工作流的执行结果可以为除该工作流之外的其它工作流的触发条件。
步骤1003,向目标业务服务器发送工作流调度请求,完成当前时刻的第一未调度工作流的调度。
目标业务服务器的选择方法可以与步骤203相同,此处不再赘述。
步骤1004,判断完整处理流程中包括的所有工作流是否均已调度完成。若是,执行步骤1005,若否,返回执行步骤1002。
步骤1005,调度结束。
基于同一发明构思,根据本发明上述实施例提供的计算任务的调度方法,相应地,本发明一个实施例还提供了一种计算任务的调度装置,位于计算系统中的调度服务器,计算系统中还包括:多个业务服务器,该装置的结构示意图如图11所示,包括:
工作流信息获取模块1101,用于用于获取工作流信息;工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;
条件判断模块1102,用于判断当前是否满足工作流触发条件;
服务器选择模块1103,用于若满足工作流触发条件,从多个业务服务器中选择第一目标业务服务器;
调度请求发送模块1104,用于向第一目标业务服务器发送与工作流对应的工作流调度请求;工作流调度请求中包括:待处理数据标识信息、各计算任务对应的执行代码标识信息以及工作流中各计算任务的逻辑顺序关系;以使第一目标业务服务器根据待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
进一步的,工作流信息获取模块1101,具体用于获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
进一步的,用户输入的各计算任务的逻辑顺序关系以有向无环图的形式显示。
进一步的,计算系统中还包括:注册服务器;
服务器选择模块1103,包括:负载获取请求发送子模块、第一负载信息接收子模块及第一目标服务器确定子模块;
负载获取请求发送子模块,用于向注册服务器发送负载获取请求;
第一负载信息接收子模块,用于接收注册服务器返回的当前时刻所有业务服务器的负载信息;负载信息为业务服务器定时向注册服务器发送的;
第一目标服务器确定子模块,用于根据负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
进一步的,工作流信息中还包括:工作流标识;
装置还包括:第一调度完成确定模块、工作流执行通知发送模块及数据输出模块;
第一调度完成确定模块,用于判断是否接收到第一目标业务服务器返回的调度成功通知,如果是,则确定工作流调度完成;
工作流执行通知发送模块,用于向注册服务器发送工作流执行通知,以使注册服务器定时返回与工作流标识对应的工作流状态数据,工作流执行通知中包括:与工作流对应的工作流标识;工作流状态数据为业务服务器在执行工作流过程中,定时向注册服务器发送的工作流执行状态以及工作流执行过程中产生的数据;
数据输出模块,用于输出工作流状态数据。
进一步的,调度请求发送模块1104,具体用于当在第一预设时长内未接收到第一目标业务服务器返回的调度成功通知时,将工作流调度请求发送至负载小于预设阈值的第二目标业务服务器;第一目标业务服务器和第二目标业务服务器为不同的业务服务器;
装置还包括:第二调度完成确定模块;
第二调度完成确定模块,用于当接收到第二目标业务服务器返回的调度成功通知时,确定任务调度完成。
进一步的,装置还包括:提示信息输出模块;
提示信息输出模块,用于若在第二预设时长内未接收到注册服务器返回的与工作流标识对应的工作流状态数据,输出用于提示检查工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
进一步的,工作流触发条件包括定时触发或事件触发。
进一步的,计算系统中还包括:存储服务器;
装置还包括:数据操作请求发送模块、判断模块及数据存储模块;
数据操作请求发送模块,用于向存储服务器发送包含认证信息的数据操作请求;认证信息为预先向存储服务器发送注册请求后,存储服务器返回的;
判断模块,用于判断是否接收到所述存储服务器返回的操作许可通知;
数据存储模块,用于当接收到所述存储服务器返回的操作许可通知时,将工作流信息和工作流状态数据存储至存储服务器。
本发明实施例中,调度服务器通过工作流信息获取模块1101获取工作流触发条件和工作流中各计算任务的逻辑顺序关系,当条件判断模块1102判断出当前满足工作流触发条件时,服务器选择模块1103确定第一目标业务服务器,调度请求发送模块1104向第一目标业务服务器发送工作流调度请求,以使第一目标业务服务器执行工作流,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
基于同一发明构思,根据本发明上述实施例提供的计算任务的调度方法,相应地,本发明一个实施例还提供了一种计算任务的调度装置,位于调度系统中的业务服务器,调度系统中还包括:调度服务器,该装置的结构示意图如图12所示,包括:
调度请求接收模块1201,用于接收所述调度服务器发送的调度请求;
获取模块1202,用于当接收到所述调度服务器发送的调度请求时,根据所述调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码;
工作流执行模块1203,用于按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
进一步的,装置还包括:调度成功通知发送模块;
调度成功通知发送模块,用于在接收到所述调度服务器发送的调度请求之后,向调度服务器返回调度成功通知。
进一步的,计算系统中还包括:注册服务器;
装置还包括:第一负载信息发送模块;
第一负载信息发送模块,用于向注册服务器定时发送负载信息。
进一步的,装置还包括:第一工作流状态数据发送模块;
第一工作流状态数据发送模块,用于向注册服务器定时发送工作流状态数据,以使注册服务器在接收到调度服务器发送的工作流执行通知后,定时将工作流状态数据发送至调度服务器;所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据。
本发明实施例中,调度请求接收模块1201在接收到调度服务器发送的调度请求时,获取模块1202获得当前待处理数据和当前各计算任务对应的执行代码,工作流执行模块1203按照工作流中各计算任务的逻辑顺序关系,执行工作流,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
基于同一发明构思,根据本发明上述实施例提供的计算任务的调度方法,相应地,本发明一个实施例还提供了一种计算任务的调度装置,位于计算系统中的注册服务器,计算系统中还包括:调度服务器和多个业务服务器,,该装置的结构示意图如图13所示,包括:
第二负载信息接收模块1301,用于接收业务服务器定时发送的负载信息;
第二负载信息发送模块1302,用于当接收到调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至调度服务器,以使调度服务器根据负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向第一目标业务服务器发送与工作流对应的工作流调度请求;工作流调度请求中包括:待处理数据标识信息、各计算任务对应的执行代码标识信息以及工作流中各计算任务的逻辑顺序关系;以使第一目标业务服务器根据待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
进一步的,装置还包括:工作流状态数据接收模块和第二工作流状态数据发送模块;
工作流状态数据接收模块,用于接收第一目标业务服务器定时发送的工作流状态数据;
第二工作流状态数据发送模块,用于当接收到调度服务器发送的工作流执行通知时,向调度服务器定时发送与工作流执行通知中的工作流标识对应的工作流状态数据。
本发明实施例中,注册服务器中的第二负载信息发送模块1302在接收到调度服务器发送的负载获取请求时,将第二负载信息接收模块1301接收到的当前时刻业务服务器的负载信息发送至调度服务器,以使调度服务器确定第一业务目标服务器,并向第一业务目标服务器发送调度请求,进而使第一业务目标服务器执行工作流任务,实现了工作流调度和工作流任务执行的解耦,因此,便于计算系统的升级维护。
本发明实施例还提供了一种调度服务器,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,
存储器1403,用于存放计算机程序;
处理器1401,用于执行存储器1403上所存放的程序时,实现如下步骤:
获取工作流信息;工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;
判断当前是否满足工作流触发条件;
若满足,从多个业务服务器中选择第一目标业务服务器;
向第一目标业务服务器发送与工作流对应的工作流调度请求;工作流调度请求中包括:待处理数据标识信息、各计算任务对应的执行代码标识信息以及工作流中各计算任务的逻辑顺序关系;以使第一目标业务服务器根据待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
本发明实施例还提供了一种业务服务器,如图15所示,包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信,
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现如下步骤:
当接收到调度服务器发送的调度请求时,根据调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
本发明实施例还提供了一种注册服务器,如图16所示,包括处理器1601、通信接口1602、存储器1003和通信总线1604,其中,处理器1601,通信接口1602,存储器1603通过通信总线1604完成相互间的通信,
存储器1603,用于存放计算机程序;
处理器1601,用于执行存储器1603上所存放的程序时,实现如下步骤:
接收业务服务器定时发送的负载信息;
当接收到调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至调度服务器,以使调度服务器根据负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向第一目标业务服务器发送与工作流对应的工作流调度请求;工作流调度请求中包括:待处理数据标识信息、各计算任务对应的执行代码标识信息以及工作流中各计算任务的逻辑顺序关系;以使第一目标业务服务器根据待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照工作流中各计算任务的逻辑顺序关系,执行工作流。
上述调度服务器、业务服务器及注册服务器提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述调度服务器、业务服务器及注册服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的计算任务的调度方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的计算任务的调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、调度服务器、业务服务器、注册服务器及计算系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (30)

1.一种计算任务的调度方法,其特征在于,应用于计算系统中的调度服务器,所述计算系统中还包括:多个业务服务器,所述方法包括:
获取工作流信息;所述工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;
判断当前是否满足所述工作流触发条件;
若满足,从多个业务服务器中选择第一目标业务服务器;
向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
2.根据权利要求1所述的方法,其特征在于,所述获取工作流信息的步骤,包括:
获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
3.根据权利要求2所述的方法,其特征在于,所述用户输入的各计算任务的逻辑顺序关系以有向无环图的形式显示。
4.根据权利要求1所述的方法,其特征在于,所述计算系统中还包括:注册服务器;
所述从多个业务服务器中选择第一目标业务服务器的步骤,包括:
向所述注册服务器发送负载获取请求;
接收所述注册服务器返回的当前时刻所有业务服务器的负载信息;所述负载信息为所述业务服务器定时向所述注册服务器发送的;
根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
5.根据权利要求4所述的方法,其特征在于,所述工作流信息中还包括:工作流标识;在所述向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求的步骤之后,还包括:
判断是否接收到所述第一目标业务服务器返回的调度成功通知,如果是,则确定工作流调度完成;
向所述注册服务器发送工作流执行通知,以使所述注册服务器定时返回与所述工作流标识对应的工作流状态数据,所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据为所述业务服务器在执行所述工作流过程中,定时向所述注册服务器发送的工作流执行状态以及工作流执行过程中产生的数据;
输出所述工作流状态数据。
6.根据权利要求4所述的方法,其特征在于,在所述根据所述负载信息,将与所述工作流对应的调度请求发送至负载小于预设阈值的第一目标业务服务器的步骤之后,还包括:
当在第一预设时长内未接收到所述第一目标业务服务器返回的调度成功通知时,将所述工作流调度请求发送至负载小于预设阈值的第二目标业务服务器;所述第一目标业务服务器和所述第二目标业务服务器为不同的业务服务器;
当接收到所述第二目标业务服务器返回的调度成功通知时,确定任务调度完成。
7.根据权利要求5所述的方法,其特征在于,在所述向所述注册服务器发送工作流执行通知的步骤之后,还包括:
若在第二预设时长内未接收到所述注册服务器返回的与所述工作流标识对应的工作流状态数据,输出用于提示检查所述工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
8.根据权利要求1所述的方法,其特征在于,所述工作流触发条件包括定时触发或事件触发。
9.根据权利要求5所述的方法,其特征在于,所述计算系统中还包括:存储服务器;
在所述向所述注册服务器发送工作流执行通知,以使所述注册服务器定时返回与所述工作流标识对应的工作流状态数据的步骤之后,还包括:
向所述存储服务器发送包含认证信息的数据操作请求;所述认证信息为预先向所述存储服务器发送注册请求后,所述存储服务器返回的;
判断是否接收到所述存储服务器返回的操作许可通知;
如果是,则将所述工作流信息和所述工作流状态数据存储至所述存储服务器。
10.一种计算任务的调度方法,其特征在于,应用于调度系统中的业务服务器,所述调度系统中还包括:调度服务器,所述方法包括:
接收所述调度服务器发送的调度请求;
根据所述调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码;
按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
11.根据权利要求10所述的方法,其特征在于,在接收到所述调度服务器发送的调度请求之后,还包括:
向所述调度服务器返回调度成功通知。
12.根据权利要求10所述的方法,其特征在于,所述计算系统中还包括:注册服务器;所述方法,还包括:
向所述注册服务器定时发送负载信息。
13.根据权利要求10所述的方法,其特征在于,在所述按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流的步骤之后,还包括:
向所述注册服务器定时发送工作流状态数据,以使所述注册服务器在接收到所述调度服务器发送的工作流执行通知后,定时将所述工作流状态数据发送至所述调度服务器;所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据。
14.一种计算任务的调度方法,其特征在于,应用于计算系统中的注册服务器,所述计算系统中还包括:调度服务器和多个业务服务器,所述方法包括:
接收所述业务服务器定时发送的负载信息;
当接收到所述调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至所述调度服务器,以使所述调度服务器根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
15.根据权利要求14所述的方法,其特征在于,在所述将当前时刻业务服务器的负载信息发送至所述调度服务器的步骤之后,还包括:
接收所述第一目标业务服务器定时发送的工作流状态数据;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据;
当接收到所述调度服务器发送的工作流执行通知时,向所述调度服务器定时发送与所述工作流执行通知中的工作流标识对应的工作流状态数据。
16.一种计算任务的调度装置,其特征在于,位于计算系统中的调度服务器,所述计算系统中还包括:多个业务服务器,所述装置包括:
工作流信息获取模块,用于获取工作流信息;所述工作流信息中包括:工作流触发条件和工作流中各计算任务的逻辑顺序关系;
条件判断模块,用于判断当前是否满足所述工作流触发条件;
服务器选择模块,用于若满足所述工作流触发条件,从多个业务服务器中选择第一目标业务服务器;
调度请求发送模块,用于向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
17.根据权利要求16所述的装置,其特征在于,
所述工作流信息获取模块,具体用于获取用户输入的工作流触发条件和工作流中各计算任务的逻辑顺序关系。
18.根据权利要求17所述的装置,其特征在于,所述用户输入的各计算任务的逻辑顺序关系以有向无环图的形式显示。
19.根据权利要求16所述的装置,其特征在于,所述计算系统中还包括:注册服务器;
所述服务器选择模块,包括:负载获取请求发送子模块、第一负载信息接收子模块及第一目标服务器确定子模块;
所述负载获取请求发送子模块,用于向所述注册服务器发送负载获取请求;
所述第一负载信息接收子模块,用于接收所述注册服务器返回的当前时刻所有业务服务器的负载信息;所述负载信息为所述业务服务器定时向所述注册服务器发送的;
所述第一目标服务器确定子模块,用于根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器。
20.根据权利要求19所述的装置,其特征在于,所述工作流信息中还包括:工作流标识;
所述装置还包括:第一调度完成确定模块、工作流执行通知发送模块及数据输出模块;
所述第一调度完成确定模块,用于判断是否接收到所述第一目标业务服务器返回的调度成功通知,如果是,则确定工作流调度完成;
所述工作流执行通知发送模块,用于向所述注册服务器发送工作流执行通知,以使所述注册服务器定时返回与所述工作流标识对应的工作流状态数据,所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据为所述业务服务器在执行所述工作流过程中,定时向所述注册服务器发送的工作流执行状态以及工作流执行过程中产生的数据;
所述数据输出模块,用于输出所述工作流状态数据。
21.根据权利要求19所述的装置,其特征在于,所述调度请求发送模块,具体用于当在第一预设时长内未接收到所述第一目标业务服务器返回的调度成功通知时,将所述工作流调度请求发送至负载小于预设阈值的第二目标业务服务器;所述第一目标业务服务器和所述第二目标业务服务器为不同的业务服务器;
所述装置还包括:第二调度完成确定模块;
所述第二调度完成确定模块,用于当接收到所述第二目标业务服务器返回的调度成功通知时,确定任务调度完成。
22.根据权利要求20所述的装置,其特征在于,所述装置还包括:提示信息输出模块;
所述提示信息输出模块,用于若在第二预设时长内未接收到所述注册服务器返回的与所述工作流标识对应的工作流状态数据,输出用于提示检查所述工作流信息中各计算任务的逻辑顺序关系是否编排正确的提示信息。
23.根据权利要求16所述的装置,其特征在于,所述工作流触发条件包括定时触发或事件触发。
24.根据权利要求20所述的装置,其特征在于,所述计算系统中还包括:存储服务器;
所述装置还包括:数据操作请求发送模块、判断模块及数据存储模块;
所述数据操作请求发送模块,用于向所述存储服务器发送包含认证信息的数据操作请求;所述认证信息为预先向所述存储服务器发送注册请求后,所述存储服务器返回的;
所述判断模块,用于判断是否接收到所述存储服务器返回的操作许可通知;
所述数据存储模块,用于当接收到所述存储服务器返回的操作许可通知时,将所述工作流信息和所述工作流状态数据存储至所述存储服务器。
25.一种计算任务的调度装置,其特征在于,位于调度系统中的业务服务器,所述调度系统中还包括:调度服务器,所述装置包括:
调度请求接收模块,用于接收所述调度服务器发送的调度请求;
获取模块,用于当接收到所述调度服务器发送的调度请求时,根据所述调度请求中包含的待处理数据标识信息、各计算任务对应的执行代码的标识信息及工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码;
工作流执行模块,用于按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括:调度成功通知发送模块;
所述调度成功通知发送模块,用于在接收到所述调度服务器发送的调度请求之后,向所述调度服务器返回调度成功通知。
27.根据权利要求25所述的装置,其特征在于,所述计算系统中还包括:注册服务器;
所述装置还包括:第一负载信息发送模块;
所述第一负载信息发送模块,用于向所述注册服务器定时发送负载信息。
28.根据权利要求25所述的装置,其特征在于,所述装置还包括:第一工作流状态数据发送模块;
所述第一工作流状态数据发送模块,用于向所述注册服务器定时发送工作流状态数据,以使所述注册服务器在接收到所述调度服务器发送的工作流执行通知后,定时将所述工作流状态数据发送至所述调度服务器;所述工作流执行通知中包括:与所述工作流对应的工作流标识;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据。
29.一种计算任务的调度装置,其特征在于,位于计算系统中的注册服务器,所述计算系统中还包括:调度服务器和多个业务服务器,所述装置包括:
第二负载信息接收模块,用于接收所述业务服务器定时发送的负载信息;
第二负载信息发送模块,用于当接收到所述调度服务器发送的负载获取请求时,将当前时刻业务服务器的负载信息发送至所述调度服务器,以使所述调度服务器根据所述负载信息,选择负载小于预设阈值的业务服务器,作为第一目标业务服务器,向所述第一目标业务服务器发送与所述工作流对应的工作流调度请求;所述工作流调度请求中包括:待处理数据标识信息、所述各计算任务对应的执行代码标识信息以及所述工作流中各计算任务的逻辑顺序关系;以使所述第一目标业务服务器根据所述待处理数据标识信息、所述各计算任务对应的执行代码的标识信息及所述工作流中各计算任务的逻辑顺序关系,从预先保存的待处理数据和各计算任务对应的执行代码中获得当前待处理数据和当前各计算任务对应的执行代码,按照所述工作流中各计算任务的逻辑顺序关系,执行所述工作流。
30.根据权利要求29所述的装置,其特征在于,所述装置还包括:工作流状态数据接收模块和第二工作流状态数据发送模块;
所述工作流状态数据接收模块,用于接收所述第一目标业务服务器定时发送的工作流状态数据;所述工作流状态数据包括:工作流执行状态以及工作流执行过程中产生的数据;
所述第二工作流状态数据发送模块,用于当接收到所述调度服务器发送的工作流执行通知时,向所述调度服务器定时发送与所述工作流执行通知中的工作流标识对应的工作流状态数据。
CN201910092259.6A 2019-01-30 2019-01-30 计算任务的调度方法、装置、服务器及计算系统 Active CN111510468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910092259.6A CN111510468B (zh) 2019-01-30 2019-01-30 计算任务的调度方法、装置、服务器及计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910092259.6A CN111510468B (zh) 2019-01-30 2019-01-30 计算任务的调度方法、装置、服务器及计算系统

Publications (2)

Publication Number Publication Date
CN111510468A true CN111510468A (zh) 2020-08-07
CN111510468B CN111510468B (zh) 2023-05-02

Family

ID=71864622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910092259.6A Active CN111510468B (zh) 2019-01-30 2019-01-30 计算任务的调度方法、装置、服务器及计算系统

Country Status (1)

Country Link
CN (1) CN111510468B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181621A (zh) * 2020-09-27 2021-01-05 中国建设银行股份有限公司 一种任务调度系统、方法、设备及存储介质
CN112367205A (zh) * 2020-11-12 2021-02-12 深圳前海微众银行股份有限公司 一种对http调度请求的处理方法及调度系统
CN112579325A (zh) * 2020-12-29 2021-03-30 上海众源网络有限公司 一种业务对象的处理方法、装置、电子设备和存储介质
CN112732809A (zh) * 2020-12-31 2021-04-30 杭州海康威视系统技术有限公司 一种etl系统及基于etl系统的数据处理方法
CN113485820A (zh) * 2021-08-03 2021-10-08 北京百度网讯科技有限公司 任务调度系统及其实现方法、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015873A1 (en) * 2004-06-25 2006-01-19 International Business Machines Corporation Method and apparatus for optimizing performance and network traffic in distributed workflow processing
CN101692208A (zh) * 2009-10-15 2010-04-07 北京交通大学 实时交通信息处理的任务调度方法与系统
CN103235742A (zh) * 2013-04-07 2013-08-07 山东大学 多核集群服务器上基于依赖度的并行任务分组调度方法
CN104317556A (zh) * 2014-10-22 2015-01-28 华为技术有限公司 一种流式应用升级方法、主控节点及流计算系统
CN108182111A (zh) * 2018-01-23 2018-06-19 百度在线网络技术(北京)有限公司 任务调度系统、方法和装置
CN108958920A (zh) * 2018-07-13 2018-12-07 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015873A1 (en) * 2004-06-25 2006-01-19 International Business Machines Corporation Method and apparatus for optimizing performance and network traffic in distributed workflow processing
CN101692208A (zh) * 2009-10-15 2010-04-07 北京交通大学 实时交通信息处理的任务调度方法与系统
CN103235742A (zh) * 2013-04-07 2013-08-07 山东大学 多核集群服务器上基于依赖度的并行任务分组调度方法
CN104317556A (zh) * 2014-10-22 2015-01-28 华为技术有限公司 一种流式应用升级方法、主控节点及流计算系统
CN108182111A (zh) * 2018-01-23 2018-06-19 百度在线网络技术(北京)有限公司 任务调度系统、方法和装置
CN108958920A (zh) * 2018-07-13 2018-12-07 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181621A (zh) * 2020-09-27 2021-01-05 中国建设银行股份有限公司 一种任务调度系统、方法、设备及存储介质
CN112367205A (zh) * 2020-11-12 2021-02-12 深圳前海微众银行股份有限公司 一种对http调度请求的处理方法及调度系统
CN112367205B (zh) * 2020-11-12 2023-04-18 深圳前海微众银行股份有限公司 一种对http调度请求的处理方法及调度系统
CN112579325A (zh) * 2020-12-29 2021-03-30 上海众源网络有限公司 一种业务对象的处理方法、装置、电子设备和存储介质
CN112732809A (zh) * 2020-12-31 2021-04-30 杭州海康威视系统技术有限公司 一种etl系统及基于etl系统的数据处理方法
CN112732809B (zh) * 2020-12-31 2023-08-04 杭州海康威视系统技术有限公司 一种etl系统及基于etl系统的数据处理方法
CN113485820A (zh) * 2021-08-03 2021-10-08 北京百度网讯科技有限公司 任务调度系统及其实现方法、设备和介质

Also Published As

Publication number Publication date
CN111510468B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN111510468B (zh) 计算任务的调度方法、装置、服务器及计算系统
CN107730196B (zh) 项目进度管理方法及终端设备
CN111078140B (zh) 核电站文件上传管理方法、装置、终端设备及介质
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN110147470B (zh) 一种跨机房数据比对系统及方法
CN113448854A (zh) 一种回归测试方法和装置
CN111784317A (zh) 一种自动缴费的方法和装置
CN102117436A (zh) 专利电子回执文件分析系统及方法
CN115964272A (zh) 交易数据自动化测试方法、装置、设备及可读存储介质
CN111367531A (zh) 代码处理方法及装置
CN103299336A (zh) 信息处理系统、信息处理方法以及存储介质
CN112016285B (zh) 物流信息的处理方法和处理系统
CN109597702B (zh) 消息总线异常的根因分析方法、装置、设备及存储介质
CN111666298A (zh) 基于flink的用户服务类别检测方法、装置、计算机设备
CN113746924B (zh) 一种电网业务数据跨区传输方法及装置
CN114039878B (zh) 一种网络请求的处理方法、装置、电子设备及存储介质
CN113672497B (zh) 无埋点事件的生成方法、装置、设备及存储介质
CN116204428A (zh) 一种测试用例生成方法和装置
CN115277835A (zh) 信息推送方法、装置、存储介质及电子设备
CN115118571A (zh) 业务监控方法、平台、计算机设备及存储介质
CN112860700A (zh) 数据表的生成方法及装置、存储介质及电子装置
CN114648410A (zh) 股票盯盘方法、装置、系统、设备和介质
CN111062792A (zh) 额度调控方法、装置、设备及存储介质
CN113379484B (zh) 订单快速匹配的方法、系统、设备及介质
CN117411895B (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