CN107968836A - 一种任务分发方法及装置 - Google Patents

一种任务分发方法及装置 Download PDF

Info

Publication number
CN107968836A
CN107968836A CN201711277389.4A CN201711277389A CN107968836A CN 107968836 A CN107968836 A CN 107968836A CN 201711277389 A CN201711277389 A CN 201711277389A CN 107968836 A CN107968836 A CN 107968836A
Authority
CN
China
Prior art keywords
task
cluster server
task requests
queue
server
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
CN201711277389.4A
Other languages
English (en)
Other versions
CN107968836B (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 WELINK Co.,Ltd.
Original Assignee
Beijing Xinghe World Group Co Ltd
Beijing Xinghe Nebula Information 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 Xinghe World Group Co Ltd, Beijing Xinghe Nebula Information Technology Co Ltd filed Critical Beijing Xinghe World Group Co Ltd
Priority to CN201711277389.4A priority Critical patent/CN107968836B/zh
Publication of CN107968836A publication Critical patent/CN107968836A/zh
Application granted granted Critical
Publication of CN107968836B publication Critical patent/CN107968836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network 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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开一种任务分发方法及装置,该方法中,在接收到任务请求后,获取任务请求中包含的任务类型;根据各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,目标集群服务器的服务器类型符合任务请求中包含的任务类型;根据目标集群服务器的工作状态,确定任务请求需调用的目标集群服务器,任务请求需调用的目标集群服务器为第一集群服务器;将任务请求转换为符合第一集群服务器的接口规则的格式,将转换后的任务请求传输至第一集群服务器。该方案使PaaS平台将某一业务系统的任务请求传输至与该业务系统分属不同厂商的集群服务器,打破接口规则对业务系统调用集群服务器的限制,支持调用执行相同类型任务的集群服务器。

Description

一种任务分发方法及装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种任务分发方法及装置。
背景技术
随着云计算及互联网技术的不断革新,PaaS(Platform-as-a-Service,平台即服务)平台被越来越多地应用到各行各业。
其中,PaaS平台能够对接不同厂商的业务系统,以接收各个业务系统传输的任务请求,并且在PaaS平台中集成有各个厂商的集群服务器。PaaS平台与各个集群服务器之间的接口,均遵循集群服务器所属厂商设定的接口规则。在接收到某一业务系统的任务请求之后,PaaS平台根据任务请求确定该业务系统所属的目标厂商,然后将该任务请求传输至目标厂商的集群服务器中,以使目标厂商的集群服务器执行该任务请求相应的操作,从而实现业务系统对集群服务器的调用,使集群服务器为业务系统提供能力支撑。
但是,发明人在本申请的研究过程中发现,由于PaaS平台与各个集群服务器之间的接口遵循厂商设定的接口规则,因此,某一集群服务器只能接收到与该集群服务器同属一个厂商的业务系统发出的任务请求。也就是说,各个业务系统只能调用与自身属于同一厂商的集群服务器,而不同厂商的集群服务器之间不能通用,导致PaaS平台只能将某一业务系统的任务请求传输至与该业务系统属于同一厂商的集群服务器,这使PaaS平台对集群服务器的分配存在不合理的问题,甚至在有些应用场景下会出现某几个集群服务器反复被调用,而其他集群服务器始终处于空闲状态的现象。
发明内容
为了解决现有技术中,PaaS平台对集群服务器的分配不合理的问题,本发明通过以下各个实施例公开一种任务分发方法及装置。
在本发明的第一方面,公开一种任务分发方法,包括:
在接收到各个业务系统生成的任务请求之后,获取所述任务请求中包含的任务类型;
根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型;
根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,其中,所述任务请求需调用的目标集群服务器为第一集群服务器;
将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,并将转换后的任务请求传输至所述第一集群服务器,以便所述第一集群服务器执行所述任务请求对应的操作。
可选的,所述根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,包括:
若所述任务请求中包含优先级参数,并且根据所述优先级参数确定所述任务请求为紧急任务请求,查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
若所述集群队列中存在处于空闲状态的目标集群服务器,选择处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器。
可选的,所述根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,包括:
若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同;
查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求,并选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
可选的,所述依次从所述任务队列中提取任务请求,包括:
按照所述任务请求的生成时间的先后顺序,依次从所述任务队列中提取任务请求;
或者,
根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序;
按照所述各个任务队列的处理顺序,依次从所述各个业务系统的任务队列中提取任务请求。
可选的,在所述依次从所述任务队列中提取任务请求之后,还包括:
设定生成当前提取的任务请求的业务系统为目标业务系统,获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值;
若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,再执行选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器的操作。
可选的,所述将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,包括:
根据预先设定的接口规范文件,检验所述任务请求中包含的参数的合法性,以及所述参数的命名空间的正确性;
若确定所述任务请求中包含的参数合法,以及所述参数的命名空间正确,根据预存的格式转换脚本对所述任务请求进行转换,将所述任务请求转换为符合所述第一集群服务器的接口规则的格式。
可选的,在将所述任务请求转换为符合所述第一集群服务器的接口规则的格式之后,还包括:
检测当前转换后的任务请求是否与之前转换后的任务请求相同,若相同,删除当前转换后的任务请求;
检测转换后的任务请求是否符合所述第一集群服务器的接口规则,若符合,再执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
在本发明的第二方面,公开一种任务分发装置,包括:
类型获取模块,用于在接收到各个业务系统生成的任务请求之后,获取所述任务请求中包含的任务类型;
队列构建模块,用于根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型;
目标确定模块,用于根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,其中,所述任务请求需调用的目标集群服务器为第一集群服务器;
任务传输模块,用于将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,并将转换后的任务请求传输至所述第一集群服务器,以便所述第一集群服务器执行所述任务请求对应的操作。
可选的,所述目标确定模块包括:
第一查询单元,用于若所述任务请求中包含优先级参数,并且根据所述优先级参数确定所述任务请求为紧急任务请求,查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
第一选择单元,用于若所述集群队列中存在处于空闲状态的目标集群服务器,选择处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器。
可选的,所述目标确定模块包括:
任务队列构建单元,若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,所述任务队列构建单元用于分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同;
第二查询单元,用于查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
第二选择单元,用于若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求,并选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
可选的,所述第二选择单元包括:
时间选择单元,用于按照所述任务请求的生成时间的先后顺序,依次从所述任务队列中提取任务请求;
或者,
顺序确定单元,用于根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序;
顺序选择单元,用于按照所述各个任务队列的处理顺序,依次从所述各个业务系统的任务队列中提取任务请求。
可选的,还包括:比较单元,
在所述第二选择单元依次从所述任务队列中提取任务请求之后,设定生成当前提取的任务请求的业务系统为目标业务系统,所述比较单元用于获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值,若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,再触发所述第二选择单元执行选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器的操作。
可选的,所述任务传输模块包括:
检验单元,用于根据预先设定的接口规范文件,检验所述任务请求中包含的参数的合法性,以及所述参数的命名空间的正确性;
转换单元,用于若确定所述任务请求中包含的参数合法,以及所述参数的命名空间正确,根据预存的格式转换脚本对所述任务请求进行转换,将所述任务请求转换为符合所述第一集群服务器的接口规则的格式。
可选的,所述任务传输模块还包括:
第一检测单元,用于在将所述任务请求转换为符合所述第一集群服务器的接口规则的格式之后,检测当前转换后的任务请求是否与之前转换后的任务请求相同,若相同,删除当前转换后的任务请求;
第二检测单元,用于检测转换后的任务请求是否符合所述第一集群服务器的接口规则,若符合,再执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
本发明的又一个方面提供了一种存储介质,存储有计算机可读指令,其中所述计算机可读指令被调用时,执行上述方法。
通过本发明实施例公开的任务分发方法及装置,在获取一个业务系统生成的任务请求之后,PaaS平台通过对任务请求进行转换,会将该任务请求传输至能够执行该任务请求的目标集群服务器中,而该目标集群服务器可属于不同厂商。也就是说,该方法能够使PaaS平台将某一业务系统的任务请求传输至与该业务系统分属不同厂商的集群服务器,打破接口规则对业务系统调用集群服务器的限制,支持调用执行相同类型任务的集群服务器。因此,本发明实施例公开的方法解决了现有技术中,由于PaaS平台只能将某一业务系统的任务请求传输至与该业务系统属于同一厂商的集群服务器,所导致的PaaS平台对集群服务器的分配不合理的问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种任务分发方法的工作流程示意图;
图2(a)为现有技术公开的一种任务分发的应用场景示意图;
图2(b)为本发明实施例公开的一种任务分发的应用场景示意图;
图3为本发明实施例公开的一种任务分发方法中,确定目标集群服务器的工作流程示意图;
图4为本发明实施例公开的又一种任务分发方法的应用场景示意图;
图5为本发明实施例公开的又一种任务分发方法中,确定目标集群服务器的工作流程示意图;
图6为本发明实施例公开的又一种任务分发方法的应用场景示意图;
图7为本发明实施例公开的一种任务分发方法中,对任务请求进行转换的工作流程示意图;
图8为本发明实施例公开的又一种任务分发方法中,对任务请求进行转换的工作流程示意图;
图9为本发明实施例公开的一种任务分发装置的结构示意图。
具体实施方式
为了解决现有技术中,PaaS平台对集群服务器的分配不合理的问题,本发明通过以下各个实施例公开一种任务分发方法及装置。
本发明第一实施例公开一种任务分发方法。所述任务分发方法应用于PaaS平台,该PaaS平台与多个业务系统对接,能够接收各个业务系统传输的任务请求。并且,在该PaaS平台中集成有多个集群服务器,PaaS平台能够与集群服务器之间进行信息传输。
参见图1所示的工作流程示意图,本发明实施例公开的任务分发方法包括以下步骤:
步骤S11、在接收到各个业务系统生成的任务请求之后,获取所述任务请求中包含的任务类型。
本发明实施例中,PaaS平台接收到的业务系统生成的任务请求中可包含多种参数,其中一种参数为任务类型,该任务类型用于指示本次任务请求所需调用的集群服务器的类型。
另外,在所述任务请求中还可以包括其他多种类型的参数,例如可以包括生成该任务请求的业务系统的系统ID、任务ID和任务状态等,当然还可以包括其他类型的参数,本发明实施例对此不做限定。其中,各项参数通常被设置在任务请求的信息头中。
步骤S12、根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型。
PaaS平台中集成的各个集群服务器,预先会在PaaS平台中进行注册,在注册过程中,集群服务器会将自身的服务器类型提交至PaaS平台,从而能够使PaaS平台获取并存储各个集群服务器的服务器类型。
在获取任务请求中包含的任务类型之后,PaaS平台根据预存的各个集群服务器的服务器类型确定目标集群服务器。
其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型,也就是说,所述目标集群服务器能够执行任务请求指示的任务。并且,在确定各个目标集群服务器之后,PaaS平台构建相应的集群队列,该集群队列由各个目标集群服务器构成。这种情况下,若通过任务类型,确定本次任务请求可由不同厂商的集群服务器完成,则集群队列中的各个目标集群服分别为不同厂商设置的集群服务器。
步骤S13、根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器。
其中,所述任务请求需调用的目标集群服务器为第一集群服务器。
PaaS平台在构建集群队列后,根据集群队列中各个目标集群服务器的工作状态确定本次任务请求需调用的目标集群服务器。其中,集群服务器通常包括空闲状态和忙碌状态两种工作状态,该步骤中,PaaS平台会选择处于空闲状态的目标集群服务器作为第一集群服务器。
步骤S14、将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,并将转换后的任务请求传输至所述第一集群服务器,以便所述第一集群服务器执行所述任务请求对应的操作。
由于第一集群服务器与PaaS平台之间的接口符合所述第一集群服务器所属厂商的接口规则,因此PaaS平台在将该任务请求传输至第一集群服务器之前,需要对任务请求进行转换操作,将其转换为符合第一集群服务器的接口规则的格式,然后再将转换后的任务请求传输至第一集群服务器。
第一集群服务器在接收到转换后的任务请求后,能够执行该任务请求指示的操作,从而被生成该任务请求的业务系统调用。
本发明实施例通过步骤S11至步骤S14公开一种任务分发方法,该方法中,PaaS平台在接收到各个业务系统生成的任务请求之后,获取任务请求中包含的任务类型;然后根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,目标集群服务器的服务器类型符合任务请求中包含的任务类型;根据集群队列中各个目标集群服务器的工作状态,确定任务请求需调用的目标集群服务器,即第一集群服务器;然后将任务请求转换为符合第一集群服务器的接口规则的格式,再将转换后的任务请求传输至第一集群服务器。第一集群服务器在接收到该任务请求后,执行该任务请求对应的操作。
通过本发明实施例公开的任务分发方法,在获取一个业务系统生成的任务请求之后,PaaS平台通过对任务请求进行转换,会将该任务请求传输至能够执行该任务请求的目标集群服务器中,而该目标集群服务器可属于不同厂商。也就是说,该方法能够使PaaS平台将某一业务系统的任务请求传输至与该业务系统分属不同厂商的集群服务器,打破接口规则对业务系统调用集群服务器的限制,支持调用执行相同类型任务的集群服务器。因此,本发明实施例公开的方法解决了现有技术中,由于PaaS平台只能将某一业务系统的任务请求传输至与该业务系统属于同一厂商的集群服务器,所导致的PaaS平台对集群服务器的分配不合理的问题。
例如,若某一应用场景中,与PaaS平台对接的业务系统包括业务系统A、业务系统B和业务系统C,在该PaaS平台中集成有集群服务器1、集群服务器2和集群服务器3,其中,业务系统A与集群服务器1属于同一厂商,业务系统B与集群服务器2属于同一厂商,业务系统C与集群服务器3属于同一厂商。
在该应用场景中,参见图2(a)所示的示意图,若采用现有技术的方案进行任务分发,PaaS平台只能将业务系统A产生的任务请求传输至集群服务器1,由集群服务器1执行业务系统A的操作。若业务系统A产生多个任务请求,分别为A-1、A-2和A-3,即使集群服务器2和集群服务器3处于空闲状态,也不会调用集群服务器2和集群服务器3,而是由集群服务器1依次执行任务请求A-1、A-2和A-3。
另外,参见图2(b)所示的示意图,若通过本发明实施例公开的方法进行任务分发,PaaS平台在接收到业务系统A产生的任务请求A-1、A-2和A-3后,若根据任务请求中包含的任务类型,以及预存的各个集群服务器的服务器类型,确定集群服务器2和集群服务器3均可以执行任务请求A-1、A-2和A-3的操作,在集群服务器2和集群服务器3处于空闲状态的情况下,PaaS平台可以分别将各个任务请求转换为符合集群服务器2和集群服务器3的接口规则的格式,将各个任务请求依次传输至集群服务器1、集群服务器2和集群服务器3,例如,可将任务请求A-1传输至集群服务器1,将任务请求A-2转换成符合集群服务器2的接口规则的格式,再将其传输至集群服务器2,将任务请求A-3转换成符合集群服务器3的接口规则的格式,再将其传输至集群服务器3,由三个集群服务器分别执行任务请求A-1、A-2和A-3。
根据上述描述可知,通过本发明实施例公开的方案,能够将某一业务系统的任务请求传输至与该业务系统分属不同厂商的集群服务器,打破接口规则对业务系统调用集群服务器的限制,解决了现有技术中PaaS平台对集群服务器的分配不合理的问题。
在步骤S13中,公开了根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器的操作。根据任务请求的不同,该操作可通过多种方式实现。
在其中一种方式中,所述根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,包括以下步骤:
首先,若所述任务请求中包含优先级参数,并且根据所述优先级参数确定所述任务请求为紧急任务请求,查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
然后,若所述集群队列中存在处于空闲状态的目标集群服务器,选择处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器。
在任务请求中可以包含多种类型的参数,例如生成该任务请求的业务系统的系统ID、任务ID和任务状态等。另外,有些任务请求较为紧急,需要尽快处理,而有些任务请求不太紧急,这种情况下,还可以在任务请求中添加优先级参数,以便通过优先级参数区分该任务请求是否为紧急任务请求。其中,紧急任务请求中包含的优先级参数通常为最高优先级。
若根据任务请求中包含的优先级参数,确定该任务请求为紧急任务请求,则选择集群队列中处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器,由该目标集群服务器执行该任务请求。
在另外一种方式中,参见图3所示的工作流程示意图,所述根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,包括以下步骤:
步骤S21、若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同。
若所述任务请求中不包含优先级参数,则表明该任务请求并非紧急任务请求。另外,若任务请求中包含优先级参数,且优先级参数并非最高优先级,也能够表明该任务请求并非紧急任务请求。
若接收到的各个任务请求并非紧急任务请求,则分别为各个业务系统构建相应的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同。这种情况下,若某一个业务系统生成多个任务请求,且各个任务请求的任务类型不同,则为该业务系统构建多个任务队列。
另外,在为每个业务系统构建任务队列时,可根据各个任务请求生成的时间顺序进行构建,这种情况下,生成时间越早的任务请求在所述任务队列中的排序越靠前。
或者,在本发明实施例中,若优先级参数包括多种,其中,紧急任务请求包括的优先级参数为最高优先级,而非紧急任务请求中包括的优先级参数也不相同。这种情况下,还可以根据优先级参数构建各个业务系统的任务队列,优先级越高的任务请求在任务队列中的排序越靠前。例如,若第一优先级为最高优先级,第二优先级略低于第一优先级,第三优先级低于第二优先级,则紧急任务请求的优先级参数通常为第一优先级,构建任务队列的各个任务请求分别为第二优先级和第三优先级。这种情况下,在构建任务队列时,可将第二优先级的任务请求排在第三优先级的任务请求前面。
若根据优先级为各个业务系统构建任务队列,在提取任务队列中的任务请求时,会优先提取到优先级较高的任务请求,从而能够优先为优先级较高的任务请求分配目标集群服务器。
步骤S22、查询所述集群队列中是否存在处于空闲状态的目标集群服务器。
其中,若是,即所述集群队列中存在处于空闲状态的目标集群服务器,则执行步骤S23的操作,若否,即所述集群队列中不存在处于空闲状态的目标集群服务器,执行步骤S24的操作。
步骤S23、若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求,并选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
该步骤中,若确定集群队列中存在处于空闲状态的目标集群服务器,则依次提取任务队列中的任务请求,为提取的任务请求选择需调用的目标集群服务器,从而能够为任务队列中的各个任务请求选择需调用的目标集群服务器。
另外,在为提取的任务请求选择需调用的目标集群服务器时,可以从处于空闲状态的目标集群服务器中,任选一个目标集群服务器作为需调用的目标集群服务器,或者,还可以从各个处于空闲状态的目标集群服务器中,优先选择计算能力强、存储空间丰富目标集群服务器作为需调用的目标集群服务器。
步骤S24、若所述集群队列中不存在处于空闲状态的目标集群服务器,则等待预设时间,然后返回执行步骤S22的操作,继续查询所述集群队列中是否存在处于空闲状态的目标集群服务器。
若PaaS平台接收到的任务请求并非紧急任务请求,则可通过步骤S21至步骤S24的方案,构建各个业务系统的任务队列,并依此为任务队列中的各个任务请求,为各个任务请求分配相应的目标集群服务器。
上述实施例公开两种确定任务请求需调用的目标集群服务器的方式。其中,若根据任务请求中包含的优先级参数,确定任务请求为紧急任务请求,则直接为该紧急任务请求确定需调用的目标集群服务器。另外,若任务请求并非紧急任务请求,则分别为各个业务系统构建任务队列,依次从任务队列中提取任务请求,并为提取的任务请求确定需调用的目标集群服务器。通过该方案,能够优先处理紧急任务请求,提高对紧急任务请求的处理效率,进一步提高PaaS平台进行任务分发的合理性。
为了明确上述两种确定任务请求需调用的目标集群服务器的方式的区别,公开图4。图4为PaaS平台确定任务请求需调用的目标集群服务器的场景示意图,其中,PaaS平台分别与业务系统A、业务系统B、业务系统C、业务系统D和业务系统E对接,并接收这五个业务系统传输的任务请求。
在接收到各个业务系统传输的任务请求之后,PaaS平台根据各个任务请求中包含的优先级参数,确定业务系统A传输的任务请求A-8、业务系统C传输的任务请求C-3、业务系统B传输的任务请求B-4以及业务系统D传输的任务请求D-4为紧急任务请求,则直接为紧急任务请求确定需调用的目标集群服务器。
若业务系统传输的任务请求中未包括优先级参数,则确定该任务请求为非紧急任务请求,或者根据任务请求中包含的优先级参数确定任务请求为非紧急任务请求,则PaaS平台为业务系统构建相应的任务队列,每个业务系统的任务队列由该业务系统生成非紧急任务请求构成。在图4中,业务系统A生成的任务请求A-1、A-2、A-3和A-4均为非紧急任务队列,则业务系统A的任务队列为:A-1、A-2、A-3和A-4;业务系统B生成的任务请求B-1、B-2和B-3均为非紧急任务队列,则业务系统B的任务队列为:B-1、B-2和B-3;业务系统C生成的任务请求C-1和C-2均为非紧急任务队列,则业务系统C的任务队列为:C-1和C-2;业务系统D生成的任务请求D-1为非紧急任务队列,则业务系统D的任务队列为:D-1;PaaS平台暂时未接收到业务系统E传输的任务请求,则业务系统E的任务队列暂时为空。在创建任务队列后,再依次从各个任务队列中提取任务请求,为提取的任务请求确定需调用的目标集群服务器。
通过图4,可以看出,本发明实施例公开的方案中,PaaS平台在接收到紧急任务请求后,不需要将紧急任务请求放置在任务队列中,而是直接为该紧急任务请求确定需调用的目标集群服务器,从而提高了对紧急任务请求的处理效率。另外,PaaS平台在接收到非紧急任务请求后,根据非紧急任务请求为各个业务系统构建任务队列,依次为任务队列中的任务请求确定需调用的目标集群服务器,从而提高PaaS平台在任务分发过程中的条理性。
进一步的,若PaaS平台为各个业务系统构建了任务队列,需要依次从所述任务队列中提取任务请求,以便为提取的任务请求确定需调用的目标集群服务器。具体的,可以按照所述任务请求的生成时间的先后顺序,依次从所述任务队列中提取任务请求。
或者,所述依次从所述任务队列中提取任务请求,包括以下步骤:
首先,根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序;
然后,按照所述各个任务队列的处理顺序,依次从所述各个业务系统的任务队列中提取任务请求。
PaaS平台通过与多个业务系统对接,以接收各个业务系统传输的任务请求。其中,不同业务系统对任务请求的处理需求不同。例如,若PaaS平台对接的业务系统包括新闻业务系统和制作业务系统,则通常对新闻业务系统的处理需求高于制作业务系统的处理需求。为了满足这一需求,本发明实施例中,可预先在PaaS平台中设置各个业务系统的优先级,并优先处理优先级高的业务系统的任务队列。
这种情况下,在本发明实施例中,根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序,其中,所述业务系统的优先级越高,该业务系统的任务队列的处理顺序越靠前。然后,按照各个任务队列的处理顺序,依次从各个业务系统的任务队列中提取任务请求,具体的,首先从处理顺序在前的任务队列中提取任务请求,在为所述处理顺序在前的任务队列中的各任务请求确定需调用的目标集群服务器之后,再从处理顺序在后的任务队列中提取任务请求。
例如,若PaaS平台对接的业务系统包括新闻业务系统和制作业务系统,并且PaaS平台中预先设置新闻业务系统的优先级高于制作业务系统,则优先提取新闻业务系统的任务队列中的各个任务请求,在为新闻业务系统的任务队列中的各个任务请求确定需调用的目标集群服务器后,再依次提取制作业务系统的任务队列中的各个任务请求。
通过上述步骤,能够使PaaS平台支持业务系统的优先级,根据业务系统的优先级处理各个业务系统的任务队列,满足不同业务系统的实际需求。
在上述实施例中,通过步骤S21至步骤S24公开一种通过构建各个业务系统的任务队列,确定任务请求需调用的目标集群服务器的方案。在实际的应用场景中,一个PaaS平台通常会与多个业务系统相对接,各个业务系统的业务量往往不均匀,在业务系统的高峰期会生成较多任务请求,在业务系统的低谷期生成的任务请求较少。并且,不同业务系统的高峰期和低谷期出现的时间往往不同。也就是说,在某一个时间段内,有可能其中一个业务系统出现较大规模的业务量,从而生成多个任务请求,而其他业务系统生成的任务请求较少。为了避免这种应用场景下,出现某一业务系统任务量暴涨,导致其他业务系统的任务无法执行的问题,以下公开又一实施例,用于确定任务请求需调用的目标集群服务器。
参见图5所示的工作流程示意图,该实施例包括以下步骤:
步骤S31、若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同。
步骤S32、查询所述集群队列中是否存在处于空闲状态的目标集群服务器,若是,执行步骤S33的操作,若否,执行步骤S38的操作。
其中,步骤S31至步骤S32的具体操作过程与步骤S21至步骤S22的具体操作过程相同,可相互参照,此处不再赘述。
步骤S33、若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求。
步骤S34、设定生成当前提取的任务请求的业务系统为目标业务系统,获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值。
在本发明实施例中,PaaS平台预先为各个业务系统设置了可使用集群服务器上限值并存储。例如,业务系统A的可使用集群服务器上限值可设置为8,业务系统C的可使用集群服务器上限值可设置为5。
在提取一个任务请求后,将生成该任务请求的业务系统作为目标业务系统,然后通过查询PaaS平台的存储记录,即可获取目标业务系统预设的可使用集群服务器上限值。
步骤S35、判断所述当前占用的集群服务器数量是否小于所述可使用集群服务器上限值,若是,执行步骤S36的操作,若否,执行步骤S37的操作。
若目标业务系统当前占用的集群服务器数量小于可使用集群服务器上限值,则表明该目标业务系统当前占用的集群服务器数量较小,可继续为该目标业务系统生成的任务请求分配目标集群服务器,从而执行步骤S36的操作。
步骤S36、若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
步骤S37、若所述当前占用的集群服务器数量不小于所述可使用集群服务器上限值(即所述当前占用的集群服务器数量大于或等于所述可使用集群服务器上限值),则等待第一时间段,然后返回执行步骤S35的操作,继续判断所述当前占用的集群服务器数量是否小于所述可使用集群服务器上限值。
其中,第一时间段的具体时长可设置为2秒,当然,也可以将第一时间段设置为其他时长,本发明实施例对此不做限定。
若目标业务系统当前占用的集群服务器数量不小于可使用集群服务器上限值,则表明目标业务系统当前占用的目标集群服务器数量较多。为了避免目标业务系统占用较多的目标集群服务器,剩余的目标集群服务器不够其他业务系统分配使用,影响到其他业务系统的工作,在确定当前占用的集群服务器数量不小于可使用集群服务器上限值之后,则暂时中断为目标业务系统的任务请求选择需调用的目标集群服务器。
步骤S38、若所述集群队列中不存在处于空闲状态的目标集群服务器,则等待预设时间,然后返回执行步骤S32的操作,继续查询所述集群队列中是否存在处于空闲状态的目标集群服务器。
在步骤S31至步骤S38公开的方案中,在依次从任务队列中提取任务请求之后,获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值,若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,再执行选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器的操作。
通过该方案,能够在业务系统当前占用的集群服务器数量小于可使用集群服务器上限值时,为该业务系统生成的任务请求选择需调用的目标集群服务器,并在业务系统当前占用的集群服务器数量不小于可使用集群服务器上限值时,暂时中断为该业务系统的任务请求选择需调用的目标集群服务器。因此,能够避免部分业务系统占用较多的目标集群服务器,导致剩余的目标集群服务器不够其他的业务系统分配使用的问题,从而不会在部分业务系统的任务量暴涨时,影响到其他业务系统的工作。
针对步骤S31至步骤S38所公开的方案,本发明实施例公开了图6。在图6中,PaaS平台为各个业务系统构建相应的任务队列之后,还会统计各个业务系统当前占用的集群服务器数量,并获取各个业务系统预设的可使用集群服务器上限值。例如,在图6中,设定业务系统A和业务系统B可使用集群服务器上限值均为6,并且确定业务系统A和业务系统B当前占用的集群服务器数量均为8,也就是说,业务系统A和业务系统B当前占用的集群服务器数量均不小于可使用集群服务器上限值,则暂时中断为业务系统A和业务系统B进行任务分发。另外,业务系统C可使用集群服务器上限值为6,并且确定业务系统C当前占用的集群服务器数量为5,也就是说,业务系统C当前占用的集群服务器数量小于可使用集群服务器上限值,则可为业务系统C进行任务分发。相应的,在图6中,业务系统D和业务系统E当前占用的集群服务器数量均小于可使用集群服务器上限值,可为业务系统D和业务系统E进行任务分发。
进一步的,在本发明实施例公开的任务分发方法中,还包括:每隔预设周期,统计所述集群队列中各个目标集群服务器的工作状态,和/或统计所述各个业务系统当前占用的集群服务器数量。
在PaaS平台中,每隔预设周期统计集群队列中各个目标集群服务器的工作状态,以确定集群队列中处于空闲状态的目标集群服务器。或者,每隔预设周期,统计各个业务系统当前占用的集群服务器数量,以便PaaS平台判断业务系统当前占用的集群服务器数量是否小于该业务系统的可使用集群服务器上限值,从而确定是否继续为该业务系统进行任务分发。
为了详细阐述如何对任务请求进行转换,作为图1方法的细化,在本发明的另一实施例中,参见图7,步骤S14中所述将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,包括以下步骤:
步骤S41、根据预先设定的接口规范文件,检验所述任务请求中包含的参数的合法性,以及所述参数的命名空间的正确性。
在本发明实施例中,预先在PaaS平台存储各个集群服务器对应的接口规范文件,该接口规范文件记录了遵循各个集群服务器所属厂商设定的接口规则的情况下,任务请求中的参数的格式,以及命名空间的格式。
PaaS平台接收到任务请求后,确定生成该任务请求的业务系统,通过该业务系统确定该业务系统所属的厂商,进而确定与该业务系统属于同一厂商的集群服务器。将与该业务系统属于同一厂商的集群服务器称为同属集群服务器,查找PaaS平台中存储的同属集群服务器的接口规范文件。若任务请求是正确的,则任务请求中的参数的格式符合同属集群服务器的接口规范文件的规定,即参数合法,并且任务请求中各参数的命名空间也符合同属集群服务器的接口规范文件的规定,即命名空间正确。
其中,所述任务请求的参数包括任务请求的任务类型,以及还可以包括任务ID、生成该任务请求的业务系统的系统ID和任务状态等。进一步的,还可以包括该任务请求的优先级参数。
步骤S42、若确定所述任务请求中包含的参数合法,以及所述参数的命名空间正确,根据预存的格式转换脚本对所述任务请求进行转换,将所述任务请求转换为符合所述第一集群服务器的接口规则的格式。
若所述任务请求中包含的参数合法,以及所述参数的命名空间正确,则说明PaaS平台接收到正确的任务请求。这种情况下,则根据预设的格式转换脚本对任务请求进行转换,将该任务请求转换为符合第一集群服务器的接口规则的格式。
其中,在根据预设的格式转换脚本对任务请求进行转换时,所采用的格式转换脚本可以为一个或多个。该格式转换脚本预先被存储在PaaS平台中,能够将接收到的不同业务系统传输的任务请求转换为符合第一集群服务器的接口规则的格式。
通过上述步骤,能够根据预存的格式转换脚本对任务请求进行转换,将该任务请求转换为符合第一集群服务器的接口规则的格式。
进一步的,参见图8所示的示意图,在将所述任务请求转换为符合所述第一集群服务器的接口规则的格式之后,还包括以下步骤:
步骤S43、检测当前转换后的任务请求是否与之前转换后的任务请求相同,若相同,删除当前转换后的任务请求。
其中,若当前转换后的任务请求与之前转换后的任务请求相同,则表明该任务请求为重复的任务请求,将当前转换后的任务请求删除,从而避免为重复的任务请求分配目标集群服务器。
另外,可通过任务请求中包含的任务ID和系统ID,判断当前转换后的任务请求是否与之前转换后的任务请求相同。若当前转换后的任务请求中包含的任务ID和系统ID与之前转换后的任务请求中包含的任务ID和系统ID相同,则说明当前转换后的任务请求与之前转换后的任务请求相同。
步骤S44、检测转换后的任务请求是否符合所述第一集群服务器的接口规则,若符合,再执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
在对任务请求进行转换的过程中,有可能会发生错误,这种情况下,可根据预先存储的第一集群服务器的接口规范文件判断转换后的任务请求是否符合所述第一集群服务器的接口规则。若符合,则表明该任务请求为正确的任务请求,则继续执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
另外,若经过检测,确定转换后的任务请求不符合所述第一集群服务器的接口规则,则说明该任务请求错误,PaaS平台不再将该任务请求传输至第一集群服务器。进一步的,PaaS平台还可以产生相应的错误提示,以提示工作人员检测出现错误任务请求的原因。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
相应的,本发明另一实施例公开一种任务分发装置。该任务分发装置应用于PaaS平台,该PaaS平台与多个业务系统对接,能够接收各个业务系统传输的任务请求。并且,在该PaaS平台中集成有多个集群服务器,PaaS平台能够与集群服务器之间进行信息传输。
参见图9所示的结构示意图,本发明实施例公开的所述任务分发装置包括:类型获取模块100、队列构建模块200、目标确定模块300和任务传输模块400。
其中,所述类型获取模块100,用于在接收到各个业务系统生成的任务请求之后,获取所述任务请求中包含的任务类型。
本发明实施例中,PaaS平台接收到的业务系统生成的任务请求中包含多种参数,其中一种参数为任务类型,该任务类型用于指示本次任务请求所需调用的集群服务器的类型。
所述队列构建模块200,用于根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型。
其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型,也就是说,所述目标集群服务器能够执行任务请求指示的任务。并且,在确定各个目标集群服务器之后,PaaS平台构建相应的集群队列,该集群队列由各个目标集群服务器构成。这种情况下,若通过任务类型,确定本次任务请求可由不同厂商的集群服务器完成,则集群队列中的各个目标集群服分别为不同厂商设置的集群服务器。
所述目标确定模块300,用于根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,其中,所述任务请求需调用的目标集群服务器为第一集群服务器。
PaaS平台在构建集群队列后,根据集群队列中各个目标集群服务器的工作状态确定本次任务请求需调用的目标集群服务器。其中,集群服务器通常包括空闲状态和忙碌状态两种工作状态,该步骤中,PaaS平台会选择处于空闲状态的目标集群服务器作为第一集群服务器。
所述任务传输模块400,用于将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,并将转换后的任务请求传输至所述第一集群服务器,以便所述第一集群服务器执行所述任务请求对应的操作。
由于第一集群服务器与PaaS平台之间的接口符合所述第一集群服务器所属厂商的接口规则,因此PaaS平台在将该任务请求传输至第一集群服务器之前,需要对任务请求进行转换操作,将其转换为符合第一集群服务器的接口规则的格式,然后再将转换后的任务请求传输至第一集群服务器。第一集群服务器在接收到转换后的任务请求后,能够执行该任务请求指示的操作,从而被生成该任务请求的业务系统调用。
本发明实施例公开一种任务分发装置,通过该任务分发装置,在获取一个业务系统生成的任务请求之后,PaaS平台能够对任务请求进行转换,并将该任务请求传输至能够执行该任务请求的目标集群服务器中,而该目标集群服务器可属于不同厂商。也就是说,该装置能够使PaaS平台将某一业务系统的任务请求传输至与该业务系统分属不同厂商的集群服务器,打破接口规则对业务系统调用集群服务器的限制,支持调用执行相同类型任务的集群服务器。因此,本发明实施例公开的装置解决了现有技术中,由于PaaS平台只能将某一业务系统的任务请求传输至与该业务系统属于同一厂商的集群服务器,所导致的PaaS平台对集群服务器的分配不合理的问题。
进一步的,在本发明实施例公开的任务分发装置中,根据任务请求的不同,目标确定模块可以为多种形式。
在其中一种形式中,所述目标确定模块包括:
第一查询单元,用于若所述任务请求中包含优先级参数,并且根据所述优先级参数确定所述任务请求为紧急任务请求,查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
第一选择单元,用于若所述集群队列中存在处于空闲状态的目标集群服务器,选择处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器。
若第一查询单元根据任务请求中包含的优先级参数,确定该任务请求为紧急任务请求,则第一选择单元选择集群队列中处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器,由该目标集群服务器执行该任务请求。
在另外一种形式中,所述目标确定模块包括:
任务队列构建单元,若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,所述任务队列构建单元用于分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同;
第二查询单元,用于查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
第二选择单元,用于若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求,并选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
若PaaS平台接收到的任务请求并非紧急任务请求,则可通过任务队列构建单元、第二查询单元和第二选择单元,构建各个业务系统的任务队列,并依此为任务队列中的各个任务请求,为各个任务请求分配相应的目标集群服务器。
上述实施例公开两种形式的目标确定模块。其中,若根据任务请求中包含的优先级参数,确定任务请求为紧急任务请求,则目标确定模块直接为该紧急任务请求确定需调用的目标集群服务器。另外,若任务请求并非紧急任务请求,则目标确定模块分别为各个业务系统构建任务队列,依次从任务队列中提取任务请求,并为提取的任务请求确定需调用的目标集群服务器。通过该方案,能够优先处理紧急任务请求,提高对紧急任务请求的处理效率,进一步提高PaaS平台进行任务分发的合理性。
进一步的,在本发明实施例公开的任务分发装置中,所述第二选择单元包括:
时间选择单元,用于按照所述任务请求的生成时间的先后顺序,依次从所述任务队列中提取任务请求。
或者,所述第二选择单元包括:
顺序确定单元,用于根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序;
顺序选择单元,用于按照所述各个任务队列的处理顺序,依次从所述各个业务系统的任务队列中提取任务请求。
PaaS平台通过与多个业务系统对接,以接收各个业务系统传输的任务请求。其中,不同业务系统对任务请求的处理需求不同。通过顺序确定单元和顺序选择单元,能够使PaaS平台支持业务系统的优先级,根据业务系统的优先级处理各个业务系统的任务队列,满足不同业务系统的实际需求。
进一步的,在本发明实施例公开的任务分发装置中,还包括:比较单元,
在所述第二选择单元依次从所述任务队列中提取任务请求之后,设定生成当前提取的任务请求的业务系统为目标业务系统,所述比较单元用于获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值,若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,再触发所述第二选择单元执行选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器的操作。
通过比较单元,能够在业务系统当前占用的集群服务器数量小于可使用集群服务器上限值时,为该业务系统生成的任务请求选择需调用的目标集群服务器,并在业务系统当前占用的集群服务器数量不小于可使用集群服务器上限值时,暂时中断为该业务系统的任务请求选择需调用的目标集群服务器。因此,能够避免部分业务系统占用较多的目标集群服务器,导致剩余的目标集群服务器不够其他的业务系统分配使用的问题,从而不会在部分业务系统的任务量暴涨时,影响到其他业务系统的工作。
进一步的,在本发明实施例公开的任务分发装置中,还包括:
统计模块,用于每隔预设周期,统计所述集群队列中各个目标集群服务器的工作状态,和/或统计所述各个业务系统当前占用的集群服务器数量。
在PaaS平台中,通过统计模块能够每隔预设周期统计集群队列中各个目标集群服务器的工作状态,以确定集群队列中处于空闲状态的目标集群服务器。或者,每隔预设周期,统计各个业务系统当前占用的集群服务器数量,以便PaaS平台判断业务系统当前占用的集群服务器数量是否小于该业务系统的可使用集群服务器上限值,从而确定是否继续为该业务系统进行任务分发。
进一步的,在本发明实施例公开的任务分发装置中,所述任务传输模块包括:
检验单元,用于根据预先设定的接口规范文件,检验所述任务请求中包含的参数的合法性,以及所述参数的命名空间的正确性;
转换单元,用于若确定所述任务请求中包含的参数合法,以及所述参数的命名空间正确,根据预存的格式转换脚本对所述任务请求进行转换,将所述任务请求转换为符合所述第一集群服务器的接口规则的格式。
通过所述检验单元和转换单元,能够根据预存的格式转换脚本对任务请求进行转换,将该任务请求转换为符合第一集群服务器的接口规则的格式。
进一步的,所述任务传输模块还包括:
第一检测单元,用于在将所述任务请求转换为符合所述第一集群服务器的接口规则的格式之后,检测当前转换后的任务请求是否与之前转换后的任务请求相同,若相同,删除当前转换后的任务请求;
第二检测单元,用于检测转换后的任务请求是否符合所述第一集群服务器的接口规则,若符合,再执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
通过所述第一检测单元,能够检测当前转换后的任务请求是否为重复的任务请求,若是,则将当前转换后的任务请求删除,从而避免为重复的任务请求分配目标集群服务器。
另外,通过第二检测单元,能够检测转换后的任务请求是否正确,若经过检测,确定该任务请求为正确的任务请求,则继续执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
本发明的又一个方面提供了一种存储介质,存储有计算机可读指令,其中所述计算机可读指令被调用时,执行上述方法。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于……实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (15)

1.一种任务分发方法,其特征在于,包括:
在接收到各个业务系统生成的任务请求之后,获取所述任务请求中包含的任务类型;
根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型;
根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,其中,所述任务请求需调用的目标集群服务器为第一集群服务器;
将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,并将转换后的任务请求传输至所述第一集群服务器,以便所述第一集群服务器执行所述任务请求对应的操作。
2.根据权利要求1所述的任务分发方法,其特征在于,所述根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,包括:
若所述任务请求中包含优先级参数,并且根据所述优先级参数确定所述任务请求为紧急任务请求,查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
若所述集群队列中存在处于空闲状态的目标集群服务器,选择处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器。
3.根据权利要求1所述的任务分发方法,其特征在于,所述根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,包括:
若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同;
查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求,并选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
4.根据权利要求3所述的任务分发方法,其特征在于,所述依次从所述任务队列中提取任务请求,包括:
按照所述任务请求的生成时间的先后顺序,依次从所述任务队列中提取任务请求;
或者,
根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序;
按照所述各个任务队列的处理顺序,依次从所述各个业务系统的任务队列中提取任务请求。
5.根据权利要求3所述的任务分发方法,其特征在于,在所述依次从所述任务队列中提取任务请求之后,还包括:
设定生成当前提取的任务请求的业务系统为目标业务系统,获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值;
若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,再执行选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器的操作。
6.根据权利要求1所述的任务分发方法,其特征在于,所述将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,包括:
根据预先设定的接口规范文件,检验所述任务请求中包含的参数的合法性,以及所述参数的命名空间的正确性;
若确定所述任务请求中包含的参数合法,以及所述参数的命名空间正确,根据预存的格式转换脚本对所述任务请求进行转换,将所述任务请求转换为符合所述第一集群服务器的接口规则的格式。
7.根据权利要求6所述的任务分发方法,其特征在于,在将所述任务请求转换为符合所述第一集群服务器的接口规则的格式之后,还包括:
检测当前转换后的任务请求是否与之前转换后的任务请求相同,若相同,删除当前转换后的任务请求;
检测转换后的任务请求是否符合所述第一集群服务器的接口规则,若符合,再执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
8.一种任务分发装置,其特征在于,包括:
类型获取模块,用于在接收到各个业务系统生成的任务请求之后,获取所述任务请求中包含的任务类型;
队列构建模块,用于根据预存的各个集群服务器的服务器类型,构建由各个目标集群服务器组成的集群队列,其中,所述目标集群服务器的服务器类型符合所述任务请求中包含的任务类型;
目标确定模块,用于根据所述集群队列中各个目标集群服务器的工作状态,确定所述任务请求需调用的目标集群服务器,其中,所述任务请求需调用的目标集群服务器为第一集群服务器;
任务传输模块,用于将所述任务请求转换为符合所述第一集群服务器的接口规则的格式,并将转换后的任务请求传输至所述第一集群服务器,以便所述第一集群服务器执行所述任务请求对应的操作。
9.根据权利要求8所述的任务分发装置,其特征在于,所述目标确定模块包括:
第一查询单元,用于若所述任务请求中包含优先级参数,并且根据所述优先级参数确定所述任务请求为紧急任务请求,查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
第一选择单元,用于若所述集群队列中存在处于空闲状态的目标集群服务器,选择处于空闲状态的目标集群服务器为所述任务请求需调用的目标集群服务器。
10.根据权利要求8所述的任务分发装置,其特征在于,所述目标确定模块包括:
任务队列构建单元,若所述任务请求中不包含优先级参数,或者,根据所述任务请求中包含的优先级参数确定所述任务请求并非紧急任务请求,所述任务队列构建单元用于分别构建各个业务系统的任务队列,其中,每个任务队列中的任务请求所包含的任务类型相同;
第二查询单元,用于查询所述集群队列中是否存在处于空闲状态的目标集群服务器;
第二选择单元,用于若所述集群队列中存在处于空闲状态的目标集群服务器,依次从所述任务队列中提取任务请求,并选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器。
11.根据权利要求10所述的任务分发装置,其特征在于,所述第二选择单元包括:
时间选择单元,用于按照所述任务请求的生成时间的先后顺序,依次从所述任务队列中提取任务请求;
或者,
顺序确定单元,用于根据预先设定的各个业务系统的优先级,确定各个任务队列的处理顺序;
顺序选择单元,用于按照所述各个任务队列的处理顺序,依次从所述各个业务系统的任务队列中提取任务请求。
12.根据权利要求10所述的任务分发装置,其特征在于,还包括:比较单元,
在所述第二选择单元依次从所述任务队列中提取任务请求之后,设定生成当前提取的任务请求的业务系统为目标业务系统,所述比较单元用于获取目标业务系统当前占用的集群服务器数量,以及所述目标业务系统预设的可使用集群服务器上限值,若所述当前占用的集群服务器数量小于所述可使用集群服务器上限值,再触发所述第二选择单元执行选择处于空闲状态的目标集群服务器为提取的任务请求需调用的目标集群服务器的操作。
13.根据权利要求8所述的任务分发装置,其特征在于,所述任务传输模块包括:
检验单元,用于根据预先设定的接口规范文件,检验所述任务请求中包含的参数的合法性,以及所述参数的命名空间的正确性;
转换单元,用于若确定所述任务请求中包含的参数合法,以及所述参数的命名空间正确,根据预存的格式转换脚本对所述任务请求进行转换,将所述任务请求转换为符合所述第一集群服务器的接口规则的格式。
14.根据权利要求13所述的任务分发装置,其特征在于,所述任务传输模块还包括:
第一检测单元,用于在将所述任务请求转换为符合所述第一集群服务器的接口规则的格式之后,检测当前转换后的任务请求是否与之前转换后的任务请求相同,若相同,删除当前转换后的任务请求;
第二检测单元,用于检测转换后的任务请求是否符合所述第一集群服务器的接口规则,若符合,再执行所述将转换后的任务请求传输至所述第一集群服务器的操作。
15.一种存储介质,其特征在于,存储有计算机可读指令,其中所述计算机可读指令被调用时,执行如权利要求1-7中的任一项所述的方法。
CN201711277389.4A 2017-12-06 2017-12-06 一种任务分发方法及装置 Active CN107968836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711277389.4A CN107968836B (zh) 2017-12-06 2017-12-06 一种任务分发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711277389.4A CN107968836B (zh) 2017-12-06 2017-12-06 一种任务分发方法及装置

Publications (2)

Publication Number Publication Date
CN107968836A true CN107968836A (zh) 2018-04-27
CN107968836B CN107968836B (zh) 2020-12-18

Family

ID=61998419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711277389.4A Active CN107968836B (zh) 2017-12-06 2017-12-06 一种任务分发方法及装置

Country Status (1)

Country Link
CN (1) CN107968836B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876122A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 批量工单的处理方法、装置、计算机设备和存储介质
CN109660607A (zh) * 2018-12-05 2019-04-19 北京金山云网络技术有限公司 一种业务请求分发方法、接收方法、装置及服务器集群
CN109947562A (zh) * 2019-03-01 2019-06-28 上海七印信息科技有限公司 一种任务分发限流系统及其任务分配方法
CN110377412A (zh) * 2019-07-24 2019-10-25 湖南快乐阳光互动娱乐传媒有限公司 一种任务调度方法及系统
CN110401659A (zh) * 2019-07-25 2019-11-01 高新兴科技集团股份有限公司 一种业务系统的设备访问方法、设备访问装置和系统
CN110471748A (zh) * 2019-07-04 2019-11-19 口碑(上海)信息技术有限公司 服务器集群的任务处理方法、装置及设备
CN110557424A (zh) * 2018-06-04 2019-12-10 中国移动通信有限公司研究院 群组通信方法及装置、通信设备及存储介质
CN110750341A (zh) * 2018-07-24 2020-02-04 深圳市优必选科技有限公司 任务调度方法、装置、系统、终端设备及存储介质
CN110990145A (zh) * 2019-10-31 2020-04-10 北京浪潮数据技术有限公司 一种分布式系统的后台任务处理机制及方法
CN111062624A (zh) * 2019-12-19 2020-04-24 深圳盈佳信联科技有限公司 一种自动分配和推送的任务管理平台及方法
CN111240862A (zh) * 2020-01-09 2020-06-05 软通动力信息技术(集团)有限公司 一种通用接口平台以及数据转换方法
CN111277628A (zh) * 2020-01-10 2020-06-12 腾讯科技(深圳)有限公司 服务器配置方法、装置及业务服务器
CN111464574A (zh) * 2019-01-21 2020-07-28 阿里巴巴集团控股有限公司 调用、加载、注册、管理方法和路由、服务器、节点和介质
CN112148804A (zh) * 2019-06-28 2020-12-29 京东数字科技控股有限公司 一种数据预处理方法、装置及其存储介质
CN112350952A (zh) * 2020-10-28 2021-02-09 武汉绿色网络信息服务有限责任公司 控制器分配方法、网络业务系统
CN112367433A (zh) * 2020-11-09 2021-02-12 苏州云网通信息科技有限公司 一种把多款PaaS呼叫平台集成的方法
CN116451944A (zh) * 2023-03-28 2023-07-18 北京时代新威信息技术有限公司 合同任务执行方法、系统及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095609A (zh) * 2013-01-09 2013-05-08 大唐软件技术股份有限公司 一种基于物联网终端的接入适配方法和装置
US20130290412A1 (en) * 2012-04-27 2013-10-31 Beijing Founder Apabi Technology Ltd. Method, apparatus, and system for data task processing
CN105049268A (zh) * 2015-08-28 2015-11-11 东方网力科技股份有限公司 分布式计算资源分配系统和任务处理方法
CN105915633A (zh) * 2016-06-02 2016-08-31 北京百度网讯科技有限公司 自动化运维系统和方法
CN105978930A (zh) * 2016-04-15 2016-09-28 深圳市永兴元科技有限公司 网络数据交换方法及装置
CN105991737A (zh) * 2015-02-26 2016-10-05 阿里巴巴集团控股有限公司 分布式任务调度方法及系统
CN106251071A (zh) * 2016-07-27 2016-12-21 浙江大学滨海产业技术研究院 一种支持多种引擎的云工作流实现方法
CN106886503A (zh) * 2017-02-08 2017-06-23 无锡十月中宸科技有限公司 异构系统、数据处理方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290412A1 (en) * 2012-04-27 2013-10-31 Beijing Founder Apabi Technology Ltd. Method, apparatus, and system for data task processing
CN103095609A (zh) * 2013-01-09 2013-05-08 大唐软件技术股份有限公司 一种基于物联网终端的接入适配方法和装置
CN105991737A (zh) * 2015-02-26 2016-10-05 阿里巴巴集团控股有限公司 分布式任务调度方法及系统
CN105049268A (zh) * 2015-08-28 2015-11-11 东方网力科技股份有限公司 分布式计算资源分配系统和任务处理方法
CN105978930A (zh) * 2016-04-15 2016-09-28 深圳市永兴元科技有限公司 网络数据交换方法及装置
CN105915633A (zh) * 2016-06-02 2016-08-31 北京百度网讯科技有限公司 自动化运维系统和方法
CN106251071A (zh) * 2016-07-27 2016-12-21 浙江大学滨海产业技术研究院 一种支持多种引擎的云工作流实现方法
CN106886503A (zh) * 2017-02-08 2017-06-23 无锡十月中宸科技有限公司 异构系统、数据处理方法及装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876122A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 批量工单的处理方法、装置、计算机设备和存储介质
CN108876122B (zh) * 2018-05-31 2024-02-06 康键信息技术(深圳)有限公司 批量工单的处理方法、装置、计算机设备和存储介质
CN110557424B (zh) * 2018-06-04 2022-09-13 中国移动通信有限公司研究院 群组通信方法及装置、通信设备及存储介质
CN110557424A (zh) * 2018-06-04 2019-12-10 中国移动通信有限公司研究院 群组通信方法及装置、通信设备及存储介质
CN110750341A (zh) * 2018-07-24 2020-02-04 深圳市优必选科技有限公司 任务调度方法、装置、系统、终端设备及存储介质
CN110750341B (zh) * 2018-07-24 2022-08-02 深圳市优必选科技有限公司 任务调度方法、装置、系统、终端设备及存储介质
CN109660607B (zh) * 2018-12-05 2021-08-27 北京金山云网络技术有限公司 一种业务请求分发方法、接收方法、装置及服务器集群
CN109660607A (zh) * 2018-12-05 2019-04-19 北京金山云网络技术有限公司 一种业务请求分发方法、接收方法、装置及服务器集群
CN111464574A (zh) * 2019-01-21 2020-07-28 阿里巴巴集团控股有限公司 调用、加载、注册、管理方法和路由、服务器、节点和介质
CN109947562A (zh) * 2019-03-01 2019-06-28 上海七印信息科技有限公司 一种任务分发限流系统及其任务分配方法
CN112148804A (zh) * 2019-06-28 2020-12-29 京东数字科技控股有限公司 一种数据预处理方法、装置及其存储介质
CN110471748A (zh) * 2019-07-04 2019-11-19 口碑(上海)信息技术有限公司 服务器集群的任务处理方法、装置及设备
CN110377412A (zh) * 2019-07-24 2019-10-25 湖南快乐阳光互动娱乐传媒有限公司 一种任务调度方法及系统
CN110401659A (zh) * 2019-07-25 2019-11-01 高新兴科技集团股份有限公司 一种业务系统的设备访问方法、设备访问装置和系统
CN110401659B (zh) * 2019-07-25 2021-11-05 高新兴科技集团股份有限公司 一种业务系统的设备访问方法、设备访问装置和系统
CN110990145A (zh) * 2019-10-31 2020-04-10 北京浪潮数据技术有限公司 一种分布式系统的后台任务处理机制及方法
CN111062624A (zh) * 2019-12-19 2020-04-24 深圳盈佳信联科技有限公司 一种自动分配和推送的任务管理平台及方法
CN111240862A (zh) * 2020-01-09 2020-06-05 软通动力信息技术(集团)有限公司 一种通用接口平台以及数据转换方法
CN111277628A (zh) * 2020-01-10 2020-06-12 腾讯科技(深圳)有限公司 服务器配置方法、装置及业务服务器
CN112350952A (zh) * 2020-10-28 2021-02-09 武汉绿色网络信息服务有限责任公司 控制器分配方法、网络业务系统
CN112367433A (zh) * 2020-11-09 2021-02-12 苏州云网通信息科技有限公司 一种把多款PaaS呼叫平台集成的方法
CN116451944A (zh) * 2023-03-28 2023-07-18 北京时代新威信息技术有限公司 合同任务执行方法、系统及存储介质

Also Published As

Publication number Publication date
CN107968836B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN107968836A (zh) 一种任务分发方法及装置
CN105900064B (zh) 调度数据流任务的方法和装置
US11146497B2 (en) Resource prediction for cloud computing
CN106330576A (zh) 容器化微服务自动伸缩及迁移调度的方法、系统和设备
CN106257893A (zh) 存储服务器任务响应方法、客户端、服务器及系统
CN104008015B (zh) 控制装置和资源控制方法
CN107391268A (zh) 服务请求处理方法及装置
JP4678794B1 (ja) データエントリーシステム
CN109871328B (zh) 一种软件测试方法及装置
CN108681963A (zh) 多区块链整合控制方法、系统、电子装置及存储介质
CN102841846A (zh) 一种基于Hadoop的软件测试方法、装置和系统
CN110389822A (zh) 执行任务的节点调度方法、装置和服务器
CN109754234A (zh) 一种聚合支付方法及装置
CN107239337A (zh) 虚拟化资源的分配和调度方法及系统
CN108632047A (zh) 一种资费数据的确定方法及装置
CN111124791A (zh) 一种系统测试方法及装置
CN111711702B (zh) 一种基于通信拓扑的分布式协同交互方法及系统
CN111953503A (zh) Nfv资源部署编排方法和网络功能虚拟化编排器
CN110084507A (zh) 云计算环境下分级感知的科学工作流调度优化方法
CN109361739A (zh) 一种下载方法、装置、客户端、系统及存储介质
CN106534247B (zh) 表单下载的方法和装置
CN109426554A (zh) 一种服务器的定时实现方法及装置
CN107679766A (zh) 一种群智任务动态冗余调度方法及装置
CN111343240A (zh) 一种服务请求的处理方法、装置、电子设备及存储介质
CN104035821B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201126

Address after: Room 4-15, 4 / F, building 10, East District, No. 10 courtyard, northwest Wangdong Road, Haidian District, Beijing 100193

Applicant after: BEIJING WELINK Co.,Ltd.

Address before: 100084 Haidian District, Haidian District, Beijing, No. four layer 4034

Applicant before: BEIJING GALAXY CLOUD INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: BEIJING GALAXY WORLD GROUP Co.,Ltd.

GR01 Patent grant
GR01 Patent grant