CN111641678A - 任务调度方法、装置、电子设备及介质 - Google Patents

任务调度方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN111641678A
CN111641678A CN202010358856.1A CN202010358856A CN111641678A CN 111641678 A CN111641678 A CN 111641678A CN 202010358856 A CN202010358856 A CN 202010358856A CN 111641678 A CN111641678 A CN 111641678A
Authority
CN
China
Prior art keywords
task
target
processed
server
tasks
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.)
Pending
Application number
CN202010358856.1A
Other languages
English (en)
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.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202010358856.1A priority Critical patent/CN111641678A/zh
Publication of CN111641678A publication Critical patent/CN111641678A/zh
Pending legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Abstract

本发明涉及负载调配技术领域,提供一种任务调度方法、装置、电子设备及介质。该方法能够提取待处理任务并获取任务信息,任务信息包括目标时间,将待处理任务及任务信息录入至任务列表,并监测任务列表,当监测到待处理任务被成功抢占时,对待处理任务进行锁定,确定抢占成功的目标服务器,当检测到待处理任务在预设时间内未被处理完成时,分割出未处理的目标任务并计算占比,确定目标服务器的处理速率并确定目标空闲服务器,将目标任务分解为多个子任务并分配至目标空闲服务器,当检测到目标任务完成处理时,解锁待处理任务,不仅能够防止任务被重复处理,还能够解决任务被挂起的问题。本发明还涉及区块链技术,所述任务信息存储于区块链中。

Description

任务调度方法、装置、电子设备及介质
技术领域
本发明涉及负载调配技术领域,尤其涉及一种任务调度方法、装置、电子设备及介质。
背景技术
随着互联网技术的发展,互联网上的服务器能够执行用户请求的任务,在实际的应用场景中,当用户请求的任务数量庞大时,单台服务器已经不能确保任务处理的时效,为此,利用多台服务器组成的分布式系统应运而生。
然而,在现有的分布式系统中,当单个任务的任务量较大时,分布式系统中的服务器无法迅速扩展资源,进而造成任务挂起的问题。
因此,如何快速处理任务量较大的任务成了亟需解决的问题。
发明内容
鉴于以上内容,有必要提供一种任务调度方法、装置、电子设备及介质,不仅能够防止所述待处理任务被多个服务器重复处理,还能够使待处理任务快速被处理,解决了待处理任务被挂起的问题。
一种任务调度方法,所述方法包括:
当接收到任务触发请求时,从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间;
将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表;
当监测到所述待处理任务被成功抢占时,对所述待处理任务进行锁定,并确定抢占成功的目标服务器;
当检测到所述待处理任务在预设时间内未被处理完成时,从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务;
计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率;
根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器;
将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器;
当检测到所述目标任务完成处理时,解锁所述待处理任务。
根据本发明优选实施例,所述方法还包括:
当监测到所述待处理任务的抢占状态被修改为已抢占时,确定所述待处理任务被成功抢占;及/或
当监测到所述待处理任务被读取时,确定所述待处理任务被成功抢占。
根据本发明优选实施例,所述根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器包括:
根据所述目标时间及所述预设时间确定剩余时间;
根据所述剩余时间及所述处理速率,得到所述目标服务器在所述剩余时间内完成的任务量,并将得到的任务量确定为第三任务量;
将所述第一任务量与所述第三任务量进行减法运算,得到剩余任务量,所述剩余任务量是指所述目标空闲服务器在所述剩余时间内需完成的任务量;
获取所述配置列表中所有空闲服务器的服务器参数,并获取与所述服务器参数相同的非空闲服务器,所述服务器参数包括CPU型号、内存及硬盘;
确定所述非空闲服务器的处理速率,并以确定的处理速率作为第一处理速率;
从所述第一处理速率中选取速率最高的目标速率,并确定速率为目标速率的空闲服务器的个数,将所述个数、所述目标速率与所述剩余时间进行乘法运算,得到第四任务量,直至所述第四任务量大于或者等于所述剩余任务量时,停止速率的选取;
将选取到的目标速率对应的空闲服务器确定为所述目标空闲服务器。
根据本发明优选实施例,所述将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器包括:
将所述目标任务进行顺序分解,得到多个第一任务及所述多个第一任务的执行顺序;
获取所述多个第一任务之间的依赖关系;
按照所述多个第一任务的执行顺序,对具有依赖关系的第一任务进行合并,得到多个第二任务;
计算所述目标空闲服务器的数量,并将计算得到的数量作为目标数量;
当检测到所述多个第二任务的数量大于所述目标数量时,获取所述多个第二任务中每个第二任务的目标任务量;
依据所述目标任务量及所述目标空闲服务器的目标速率对所述多个第二任务进行合并,直至合并后的任务数量小于或者等于所述目标数量,得到多个子任务;
当所述多个子任务的数量小于所述目标数量时,确定所述多个子任务中每个子任务的任务量,并依据所述目标速率的快慢及所述多个子任务的任务量,将所述多个子任务分配至所述目标空闲服务器。
根据本发明优选实施例,所述方法还包括:
当监测到所述多个子任务中存在任意子任务处理异常时,从所述配置列表中获取新的空闲服务器;
将所述任意子任务发送至所述新的空闲服务器;
当在配置时间内接收到所述新的空闲服务器发送的反馈包时,确定所述任意子任务被成功接收;或者
当在所述配置时间内未接收到所述新的服务器发送的反馈包时,从所述配置列表中重新获取服务器。
根据本发明优选实施例,在解锁所述待处理任务后,所述方法还包括:
获取所述待处理任务的响应结果及所述任务触发请求的请求编号;
根据所述响应结果及所述请求编号生成提示信息;
采用对称加密技术加密所述提示信息,得到密文;
将所述密文发送至指定联系人的终端设备;
当检测到所述密文被解密成功时,更新所述待处理任务的处理状态,并将所述待处理任务从所述任务列表中删除。
根据本发明优选实施例,所述方法还包括:
将所述待处理任务与配置平台的显示页面进行关联,并对所述显示页面的生命周期进行监听;
当监听到所述显示页面处于显示状态时,调用预设接口获取所述待处理任务的处理进程,并将所述处理进程在所述显示页面中显示;
当监听到所述显示页面处于隐藏状态时,隐藏所述待处理任务的处理进程;
当监听到所述显示页面被销毁时,解除所述待处理任务与所述显示页面之间的关联。
一种任务调度装置,所述装置包括:
提取单元,用于当接收到任务触发请求时,从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间;
录入单元,用于将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表;
确定单元,用于当监测到所述待处理任务被成功抢占时,对所述待处理任务进行锁定,并确定抢占成功的目标服务器;
所述确定单元,还用于当检测到所述待处理任务在预设时间内未被处理完成时,从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务;
计算单元,用于计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率;
所述确定单元,还用于根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器;
分解单元,用于将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器;
解锁单元,用于当检测到所述目标任务完成处理时,解锁所述待处理任务。
根据本发明优选实施例,所述确定单元,还用于当监测到所述待处理任务的抢占状态被修改为已抢占时,确定所述待处理任务被成功抢占;及/或
所述确定单元,还用于当监测到所述待处理任务被读取时,确定所述待处理任务被成功抢占。
根据本发明优选实施例,所述确定单元根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器包括:
根据所述目标时间及所述预设时间确定剩余时间;
根据所述剩余时间及所述处理速率,得到所述目标服务器在所述剩余时间内完成的任务量,并将得到的任务量确定为第三任务量;
将所述第一任务量与所述第三任务量进行减法运算,得到剩余任务量,所述剩余任务量是指所述目标空闲服务器在所述剩余时间内需完成的任务量;
获取所述配置列表中所有空闲服务器的服务器参数,并获取与所述服务器参数相同的非空闲服务器,所述服务器参数包括CPU型号、内存及硬盘;
确定所述非空闲服务器的处理速率,并以确定的处理速率作为第一处理速率;
从所述第一处理速率中选取速率最高的目标速率,并确定速率为目标速率的空闲服务器的个数,将所述个数、所述目标速率与所述剩余时间进行乘法运算,得到第四任务量,直至所述第四任务量大于或者等于所述剩余任务量时,停止速率的选取;
将选取到的目标速率对应的空闲服务器确定为所述目标空闲服务器。
根据本发明优选实施例,所述分解单元具体用于:
将所述目标任务进行顺序分解,得到多个第一任务及所述多个第一任务的执行顺序;
获取所述多个第一任务之间的依赖关系;
按照所述多个第一任务的执行顺序,对具有依赖关系的第一任务进行合并,得到多个第二任务;
计算所述目标空闲服务器的数量,并将计算得到的数量作为目标数量;
当检测到所述多个第二任务的数量大于所述目标数量时,获取所述多个第二任务中每个第二任务的目标任务量;
依据所述目标任务量及所述目标空闲服务器的目标速率对所述多个第二任务进行合并,直至合并后的任务数量小于或者等于所述目标数量,得到多个子任务;
当所述多个子任务的数量小于所述目标数量时,确定所述多个子任务中每个子任务的任务量,并依据所述目标速率的快慢及所述多个子任务的任务量,将所述多个子任务分配至所述目标空闲服务器。
根据本发明优选实施例,所述装置还包括:
获取单元,用于当监测到所述多个子任务中存在任意子任务处理异常时,从所述配置列表中获取新的空闲服务器;
发送单元,用于将所述任意子任务发送至所述新的空闲服务器;
所述确定单元,还用于当在配置时间内接收到所述新的空闲服务器发送的反馈包时,确定所述任意子任务被成功接收;或者
所述获取单元,还用于当在所述配置时间内未接收到所述新的服务器发送的反馈包时,从所述配置列表中重新获取服务器。
根据本发明优选实施例,所述获取单元,还用于在解锁所述待处理任务后,获取所述待处理任务的响应结果及所述任务触发请求的请求编号;
所述装置还包括:
生成单元,用于根据所述响应结果及所述请求编号生成提示信息;
加密单元,用于采用对称加密技术加密所述提示信息,得到密文;
所述发送单元,还用于将所述密文发送至指定联系人的终端设备;
更新单元,用于当检测到所述密文被解密成功时,更新所述待处理任务的处理状态,并将所述待处理任务从所述任务列表中删除。
根据本发明优选实施例,所述装置还包括:
关联单元,用于将所述待处理任务与配置平台的显示页面进行关联,并对所述显示页面的生命周期进行监听;
显示单元,用于当监听到所述显示页面处于显示状态时,调用预设接口获取所述待处理任务的处理进程,并将所述处理进程在所述显示页面中显示;
隐藏单元,用于当监听到所述显示页面处于隐藏状态时,隐藏所述待处理任务的处理进程;
解除单元,用于当监听到所述显示页面被销毁时,解除所述待处理任务与所述显示页面之间的关联。
一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,获取所述存储器中存储的指令以实现所述任务调度方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器获取以实现所述任务调度方法。
由以上技术方案可以看出,本发明通过对所述待处理任务进行锁定,防止所述待处理任务被多个服务器重复处理,能够避免资源的浪费,另外,本发明还能够在所述预设时间内未完成处理所述待处理任务时,将未处理的任务进行分解,并将分解得到的多个子任务分配至水平扩展的空闲服务器中,使所述待处理任务能够被快速处理,解决任务被挂起的问题。
附图说明
图1是本发明任务调度方法的较佳实施例的流程图。
图2是本发明任务调度装置的较佳实施例的功能模块图。
图3是本发明实现任务调度方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明任务调度方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述任务调度方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当接收到任务触发请求时,从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间。
需要强调的是,为进一步保证上述任务信息的私密和安全性,上述任务信息还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述任务触发请求是在任务对应的任务开关启动时生成的,进一步地,所述任务开关的启动和关闭的时间可以由所述电子设备调度任务的频率动态确定。更进一步地,所述任务触发请求的信息包括:请求编号、所述待处理任务、任务信息等。
在本发明的至少一个实施例中,所述电子设备从所述任务触发请求中提取待处理任务包括:
所述电子设备确定目标标签,所述目标标签是指与任务对应的标签,进一步地,所述电子设备从所述任务触发请求所携带的所有信息中提取与所述目标标签对应的信息,作为所述待处理任务。
在本发明的至少一个实施例中,所述任务信息包括,但不限于:所述待处理任务的目标身份识别码及所述目标时间等。进一步地,所述任务信息能够从所述任务触发请求中获取。
S11,将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表。
在本发明的至少一个实施例中,所述任务列表中存储至少一个任务及任务对应的任务信息。
在本发明的至少一个实施例中,在将所述待处理任务及所述任务信息录入至所述任务列表之前,所述方法还包括:
所述电子设备获取所述待处理任务的身份识别码作为目标身份识别码,进一步地,所述电子设备检测所述任务列表中是否存在与所述目标身份识别码相同的身份识别码,当所述任务列表中不存在与所述目标身份识别码相同的身份识别码时,所述电子设备将所述待处理任务及所述任务信息录入至所述任务列表中。
通过上述实施方式,能够避免将相同的待处理任务重复添加至所述任务列表中,进而节省所述任务列表的占用内存。
在本发明的至少一个实施例中,所述电子设备获取所述任务列表对应的日志,在所述日志中加入监视代码,所述监视代码执行监测所述任务列表中的任务是否被抢占的事件。
S12,当监测到所述待处理任务被成功抢占时,对所述待处理任务进行锁定,并确定抢占成功的目标服务器。
在本发明的至少一个实施例中,当监测到所述待处理任务被成功抢占时,所述电子设备启动预设插件,并将被成功抢占的所述待处理任务进行勾选,以完成所述待处理任务的锁定。
其中,所述预设插件能够执行对任务的锁定。
通过对所述待处理任务进行锁定,防止所述待处理任务被多个服务器重复处理,进而避免资源的浪费。
在本发明的至少一个实施例中,所述电子设备通过确定抢占成功的目标服务器,以完成所述电子设备向所述目标服务器开放所述待处理任务的处理权限,使所述目标服务器能够处理所述待处理任务。
在本发明的至少一个实施例中,所述方法还包括:
当监测到所述待处理任务的抢占状态被修改为已抢占时,所述电子设备确定所述待处理任务被成功抢占,当监测到所述待处理任务被读取时,所述电子设备确定所述待处理任务被成功抢占。
通过上述实施方式,能够准确地确定所述待处理任务的抢占状态。
S13,当检测到所述待处理任务在预设时间内未被处理完成时,从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务。
在本发明的至少一个实施例中,所述预设时间是根据所述目标时间乘以预设比例得到的,进一步地,所述预设比例是小于1或者小于100%的数值,所述预设比例的具体取值在本发明中不作限制。
在本发明的至少一个实施例中,当在所述预设时间内未接收到所述待处理任务的响应结果时,所述电子设备确定所述待处理任务在所述预设时间内未被处理完成。
在本发明的至少一个实施例中,所述从所述待处理任务中分割出未处理的任务包括:
所述电子设备从所述目标服务器中的处理进程中获取所述待处理任务在所述预设时间内已被处理的任务,所述电子设备将获取到的任务与所述待处理任务进行匹配,进一步地,所述电子设备从所述待处理任务中分割出未被匹配的任务,作为所述未处理的任务。
S14,计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率。
在本发明的至少一个实施例中,所述占比是将所述目标任务的任务量除以所述待处理任务的任务量得到的。
在本发明的至少一个实施例中,所述计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率包括:
所述电子设备确定所述待处理任务的总任务量及所述目标任务的第一任务量,并将所述第一任务量除以所述总任务量,得到所述目标任务在所述待处理任务中的占比,进一步地,所述电子设备将预设值与所述占比的差值乘以所述总任务量,得到所述目标服务器已完成的第二任务量,更进一步地,所述电子设备将所述第二任务量除以所述预设时间,得到所述目标服务器的处理速率。
其中,所述预设值的取值通常为1。
S15,根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器。
在本发明的至少一个实施例中,所述处理速率是指所述目标服务器在单位时间内处理的任务量,进一步地,所述目标空闲服务器是指所述电子设备从所述配置列表中确定的空闲服务器,所述目标空闲服务器及所述目标服务器能够在所述目标时间内完成所述待处理任务的处理。
在本发明的至少一个实施例中,所述配置列表中存储至少一个与所述电子设备通信的服务器,进一步地,所述配置列表中存储的服务器包括空闲服务器及非空闲服务器。
在本发明的至少一个实施例中,所述根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器包括:
所述电子设备根据所述目标时间及所述预设时间确定剩余时间,所述电子设备根据所述剩余时间及所述处理速率,得到所述目标服务器在所述剩余时间内完成的任务量,并将得到的任务量确定为第三任务量,进一步地,所述电子设备将所述第一任务量与所述第三任务量进行减法运算,得到剩余任务量,所述剩余任务量是指所述目标空闲服务器在所述剩余时间内需完成的任务量,所述电子设备获取所述配置列表中所有空闲服务器的服务器参数,并获取与所述服务器参数相同的非空闲服务器,所述服务器参数包括CPU型号、内存及硬盘,更进一步地,所述电子设备确定所述非空闲服务器的处理速率,并以确定的处理速率作为第一处理速率,从所述第一处理速率中选取速率最高的目标速率,并确定速率为目标速率的空闲服务器的个数,将所述个数、所述目标速率与所述剩余时间进行乘法运算,得到第四任务量,直至所述第四任务量大于或者等于所述剩余任务量时,停止速率的选取,所述电子设备将选取到的目标速率对应的空闲服务器确定为所述目标空闲服务器。
在其他实施例中,当未确定到所述目标空闲服务器时,所述电子设备获取所述配置列表中所有服务器的待处理进程及确定所述所有服务器的执行速率,根据所述待处理进程及所述执行速率,确定所述所有服务器中每个服务器处理所述待处理进程所需的时间,所述电子设备从所述所有服务器中选取所述时间最短的待选服务器,直至所述待选服务器能在所述剩余时间内完成所述第四任务量,停止待选服务器的选取。
S16,将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器。
在本发明的至少一个实施例中,所述将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器包括:
所述电子设备将所述目标任务进行顺序分解,得到多个第一任务及所述多个第一任务的执行顺序,进一步地,所述电子设备获取所述多个第一任务之间的依赖关系,按照所述多个第一任务的执行顺序,对具有依赖关系的第一任务进行合并,得到多个第二任务,所述电子设备计算所述目标空闲服务器的数量,并将计算得到的数量作为目标数量,当检测到所述多个第二任务的数量大于所述目标数量时,所述电子设备获取所述多个第二任务中每个第二任务的目标任务量,依据所述目标任务量及所述目标空闲服务器的目标速率对所述多个第二任务进行合并,直至合并后的任务数量小于或者等于所述目标数量,得到多个子任务,当所述多个子任务的数量小于所述目标数量时,所述电子设备确定所述多个子任务中每个子任务的任务量,并依据所述目标速率的快慢及所述多个子任务的任务量,将所述多个子任务分配至所述目标空闲服务器。
通过将所述目标任务分解为多个第一任务,能够使所述电子设备获取到多个第一任务的依赖关系,进而将具有依赖关系的第一任务进行合并,能够避免具有依赖关系的多个第一任务被分配至不同的服务器进行处理,节省服务器等待响应结果的时间,进而在子任务的数量小于所述目标数量时,依据服务器的并发量大小依次分配子任务,使所述待处理任务能够在所述目标时间内被快速完成处理。
在本发明的至少一个实施例中,所述方法还包括:
当监测到所述多个子任务中存在任意子任务处理异常时,所述电子设备从所述配置列表中获取新的空闲服务器,所述电子设备将所述任意子任务发送至所述新的空闲服务器,当在配置时间内接收到所述新的空闲服务器发送的反馈包时,所述电子设备确定所述任意子任务被成功接收,或者当在所述配置时间内未接收到所述新的服务器发送的反馈包时,所述电子设备从所述配置列表中重新获取服务器。
其中,所述配置时间的取值小于所述预设时间的取值。
通过上述实施方式,能够确保异常的子任务被重新发送至新的空闲服务器中处理。
S17,当检测到所述目标任务完成处理时,解锁所述待处理任务。
在本发明的至少一个实施例中,在解锁所述待处理任务后,所述方法还包括:
所述电子设备获取所述待处理任务的响应结果及所述任务触发请求的请求编号,所述电子设备根据所述响应结果及所述请求编号生成提示信息,进一步地,所述电子设备采用对称加密技术加密所述提示信息,得到密文,更进一步地,所述电子设备将所述密文发送至指定联系人的终端设备,当检测到所述密文被解密成功时,所述电子设备更新所述待处理任务的处理状态,并将所述待处理任务从所述任务列表中删除。
其中,所述指定联系人是指控制所述任务触发请求的用户。
通过上述实施方式,能够在所述待处理任务被完成处理时生成所述提示信息,以提醒所述指定联系人进行查收,进而对所述提示信息进行加密,避免所述提示信息被篡改,提高了所述提示信息的安全性。
在本发明的至少一个实施例中,所述方法还包括:
所述电子设备将所述待处理任务与配置平台的显示页面进行关联,并对所述显示页面的生命周期进行监听,当监听到所述显示页面处于显示状态时,所述电子设备调用预设接口获取所述待处理任务的处理进程,并将所述处理进程在所述显示页面中显示,当监听到所述显示页面处于隐藏状态时,所述电子设备隐藏所述待处理任务的处理进程,当监听到所述显示页面被销毁时,所述电子设备解除所述待处理任务与所述显示页面之间的关联。
通过上述实施方式,能够直观地显示任务的处理进程。
由以上技术方案可以看出,本发明通过对所述待处理任务进行锁定,防止所述待处理任务被多个服务器重复处理,能够避免资源的浪费,另外,本发明还能够在所述预设时间内未完成处理所述待处理任务时,将未处理的任务进行分解,并将分解得到的多个子任务分配至水平扩展的空闲服务器中,使所述待处理任务能够被快速处理,解决任务被挂起的问题。
如图2所示,是本发明任务调度装置的较佳实施例的功能模块图。所述任务调度装置11包括提取单元110、录入单元111、确定单元112、计算单元113、分解单元114、解锁单元115、获取单元116、发送单元117、生成单元118、加密单元119、更新单元120、关联单元121、显示单元122、隐藏单元123、解除单元124及检测单元125。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当接收到任务触发请求时,提取单元110从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间。
需要强调的是,为进一步保证上述任务信息的私密和安全性,上述任务信息还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述任务触发请求是在任务对应的任务开关启动时生成的,进一步地,所述任务开关的启动和关闭的时间可以由所述电子设备调度任务的频率动态确定。更进一步地,所述任务触发请求的信息包括:请求编号、所述待处理任务、任务信息等。
在本发明的至少一个实施例中,所述提取单元110从所述任务触发请求中提取待处理任务包括:
所述提取单元110确定目标标签,所述目标标签是指与任务对应的标签,进一步地,所述提取单元110从所述任务触发请求所携带的所有信息中提取与所述目标标签对应的信息,作为所述待处理任务。
在本发明的至少一个实施例中,所述任务信息包括,但不限于:所述待处理任务的目标身份识别码及所述目标时间等。进一步地,所述任务信息能够从所述任务触发请求中获取。
录入单元111将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表。
在本发明的至少一个实施例中,所述任务列表中存储至少一个任务及任务对应的任务信息。
在本发明的至少一个实施例中,在将所述待处理任务及所述任务信息录入至所述任务列表之前,获取单元116获取所述待处理任务的身份识别码作为目标身份识别码,检测单元125检测所述任务列表中是否存在与所述目标身份识别码相同的身份识别码,当所述任务列表中不存在与所述目标身份识别码相同的身份识别码时,所述录入单元111将所述待处理任务及所述任务信息录入至所述任务列表中。
通过上述实施方式,能够避免将相同的待处理任务重复添加至所述任务列表中,进而节省所述任务列表的占用内存。
在本发明的至少一个实施例中,所述获取单元116获取所述任务列表对应的日志,在所述日志中加入监视代码,所述监视代码执行监测所述任务列表中的任务是否被抢占的事件。
当监测到所述待处理任务被成功抢占时,确定单元112对所述待处理任务进行锁定,并确定抢占成功的目标服务器。
在本发明的至少一个实施例中,当监测到所述待处理任务被成功抢占时,所述确定单元112启动预设插件,并将被成功抢占的所述待处理任务进行勾选,以完成所述待处理任务的锁定。
其中,所述预设插件能够执行对任务的锁定。
通过对所述待处理任务进行锁定,防止所述待处理任务被多个服务器重复处理,进而避免资源的浪费。
在本发明的至少一个实施例中,所述确定单元112通过确定抢占成功的目标服务器,以完成所述电子设备向所述目标服务器开放所述待处理任务的处理权限,使所述目标服务器能够处理所述待处理任务。
在本发明的至少一个实施例中,当监测到所述待处理任务的抢占状态被修改为已抢占时,所述确定单元112确定所述待处理任务被成功抢占,当监测到所述待处理任务被读取时,所述确定单元112确定所述待处理任务被成功抢占。
通过上述实施方式,能够准确地确定所述待处理任务的抢占状态。
当检测到所述待处理任务在预设时间内未被处理完成时,所述确定单元112从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务。
在本发明的至少一个实施例中,所述预设时间是根据所述目标时间乘以预设比例得到的,进一步地,所述预设比例是小于1或者小于100%的数值,所述预设比例的具体取值在本发明中不作限制。
在本发明的至少一个实施例中,当在所述预设时间内未接收到所述待处理任务的响应结果时,所述确定单元112确定所述待处理任务在所述预设时间内未被处理完成。
在本发明的至少一个实施例中,所述确定单元112从所述待处理任务中分割出未处理的任务包括:
所述确定单元112从所述目标服务器中的处理进程中获取所述待处理任务在所述预设时间内已被处理的任务,所述确定单元112将获取到的任务与所述待处理任务进行匹配,进一步地,所述确定单元112从所述待处理任务中分割出未被匹配的任务,作为所述未处理的任务。
计算单元113计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率。
在本发明的至少一个实施例中,所述占比是将所述目标任务的任务量除以所述待处理任务的任务量得到的。
在本发明的至少一个实施例中,所述计算单元113计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率包括:
所述计算单元113确定所述待处理任务的总任务量及所述目标任务的第一任务量,并将所述第一任务量除以所述总任务量,得到所述目标任务在所述待处理任务中的占比,进一步地,所述计算单元113将预设值与所述占比的差值乘以所述总任务量,得到所述目标服务器已完成的第二任务量,更进一步地,所述计算单元113将所述第二任务量除以所述预设时间,得到所述目标服务器的处理速率。
其中,所述预设值的取值通常为1。
所述确定单元112根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器。
在本发明的至少一个实施例中,所述处理速率是指所述目标服务器在单位时间内处理的任务量,进一步地,所述目标空闲服务器是指所述确定单元112从所述配置列表中确定的空闲服务器,所述目标空闲服务器及所述目标服务器能够在所述目标时间内完成所述待处理任务的处理。
在本发明的至少一个实施例中,所述配置列表中存储至少一个与所述电子设备通信的服务器,进一步地,所述配置列表中存储的服务器包括空闲服务器及非空闲服务器。
在本发明的至少一个实施例中,所述确定单元112根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器包括:
所述确定单元112根据所述目标时间及所述预设时间确定剩余时间,所述确定单元112根据所述剩余时间及所述处理速率,得到所述目标服务器在所述剩余时间内完成的任务量,并将得到的任务量确定为第三任务量,进一步地,所述确定单元112将所述第一任务量与所述第三任务量进行减法运算,得到剩余任务量,所述剩余任务量是指所述目标空闲服务器在所述剩余时间内需完成的任务量,所述确定单元112获取所述配置列表中所有空闲服务器的服务器参数,并获取与所述服务器参数相同的非空闲服务器,所述服务器参数包括CPU型号、内存及硬盘,更进一步地,所述确定单元112确定所述非空闲服务器的处理速率,并以确定的处理速率作为第一处理速率,从所述第一处理速率中选取速率最高的目标速率,并确定速率为目标速率的空闲服务器的个数,将所述个数、所述目标速率与所述剩余时间进行乘法运算,得到第四任务量,直至所述第四任务量大于或者等于所述剩余任务量时,停止速率的选取,所述确定单元112将选取到的目标速率对应的空闲服务器确定为所述目标空闲服务器。
在其他实施例中,当未确定到所述目标空闲服务器时,所述确定单元112获取所述配置列表中所有服务器的待处理进程及确定所述所有服务器的执行速率,根据所述待处理进程及所述执行速率,确定所述所有服务器中每个服务器处理所述待处理进程所需的时间,所述确定单元112从所述所有服务器中选取所述时间最短的待选服务器,直至所述待选服务器能在所述剩余时间内完成所述第四任务量,停止待选服务器的选取。
分解单元114将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器。
在本发明的至少一个实施例中,所述分解单元114将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器包括:
所述分解单元114将所述目标任务进行顺序分解,得到多个第一任务及所述多个第一任务的执行顺序,进一步地,所述分解单元114获取所述多个第一任务之间的依赖关系,按照所述多个第一任务的执行顺序,对具有依赖关系的第一任务进行合并,得到多个第二任务,所述分解单元114计算所述目标空闲服务器的数量,并将计算得到的数量作为目标数量,当检测到所述多个第二任务的数量大于所述目标数量时,所述分解单元114获取所述多个第二任务中每个第二任务的目标任务量,依据所述目标任务量及所述目标空闲服务器的目标速率对所述多个第二任务进行合并,直至合并后的任务数量小于或者等于所述目标数量,得到多个子任务,当所述多个子任务的数量小于所述目标数量时,所述分解单元114确定所述多个子任务中每个子任务的任务量,并依据所述目标速率的快慢及所述多个子任务的任务量,将所述多个子任务分配至所述目标空闲服务器。
通过将所述目标任务分解为多个第一任务,能够使所述分解单元114获取到多个第一任务的依赖关系,进而将具有依赖关系的第一任务进行合并,能够避免具有依赖关系的多个第一任务被分配至不同的服务器进行处理,节省服务器等待响应结果的时间,进而在子任务的数量小于所述目标数量时,依据服务器的并发量大小依次分配子任务,使所述待处理任务能够在所述目标时间内被快速完成处理。
在本发明的至少一个实施例中,当监测到所述多个子任务中存在任意子任务处理异常时,所述获取单元116从所述配置列表中获取新的空闲服务器,所述发送单元117将所述任意子任务发送至所述新的空闲服务器,当在配置时间内接收到所述新的空闲服务器发送的反馈包时,所述确定单元112确定所述任意子任务被成功接收,或者当在所述配置时间内未接收到所述新的服务器发送的反馈包时,所述获取单元116从所述配置列表中重新获取服务器。
其中,所述配置时间的取值小于所述预设时间的取值。
通过上述实施方式,能够确保异常的子任务被重新发送至新的空闲服务器中处理。
当检测到所述目标任务完成处理时,解锁单元115解锁所述待处理任务。
在本发明的至少一个实施例中,在解锁所述待处理任务后,所述获取单元116获取所述待处理任务的响应结果及所述任务触发请求的请求编号,生成单元118根据所述响应结果及所述请求编号生成提示信息,进一步地,加密单元119采用对称加密技术加密所述提示信息,得到密文,所述发送单元117将所述密文发送至指定联系人的终端设备,当检测到所述密文被解密成功时,更新单元120更新所述待处理任务的处理状态,并将所述待处理任务从所述任务列表中删除。
其中,所述指定联系人是指控制所述任务触发请求的用户。
通过上述实施方式,能够在所述待处理任务被完成处理时生成所述提示信息,以提醒所述指定联系人进行查收,进而对所述提示信息进行加密,避免所述提示信息被篡改,提高了所述提示信息的安全性。
在本发明的至少一个实施例中,关联单元121将所述待处理任务与配置平台的显示页面进行关联,并对所述显示页面的生命周期进行监听,当监听到所述显示页面处于显示状态时,显示单元122调用预设接口获取所述待处理任务的处理进程,并将所述处理进程在所述显示页面中显示,当监听到所述显示页面处于隐藏状态时,隐藏单元123隐藏所述待处理任务的处理进程,当监听到所述显示页面被销毁时,解除单元124解除所述待处理任务与所述显示页面之间的关联。
通过上述实施方式,能够直观地显示任务的处理进程。
由以上技术方案可以看出,本发明通过对所述待处理任务进行锁定,防止所述待处理任务被多个服务器重复处理,能够避免资源的浪费,另外,本发明还能够在所述预设时间内未完成处理所述待处理任务时,将未处理的任务进行分解,并将分解得到的多个子任务分配至水平扩展的空闲服务器中,使所述待处理任务能够被快速处理,解决任务被挂起的问题。
如图3所示,是本发明实现任务调度方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如任务调度程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及获取所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
所述处理器13获取所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13获取所述应用程序以实现上述各个任务调度方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13获取,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的获取过程。例如,所述计算机程序可以被分割成提取单元110、录入单元111、确定单元112、计算单元113、分解单元114、解锁单元115、获取单元116、发送单元117、生成单元118、加密单元119、更新单元120、关联单元121、显示单元122、隐藏单元123、解除单元124及检测单元125。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或获取存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器12可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器获取时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可获取文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种任务调度方法,所述处理器13可获取所述多个指令从而实现:当接收到任务触发请求时,从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间;将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表;当监测到所述待处理任务被成功抢占时,对所述待处理任务进行锁定,并确定抢占成功的目标服务器;当检测到所述待处理任务在预设时间内未被处理完成时,从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务;计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率;根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器;将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器;当检测到所述目标任务完成处理时,解锁所述待处理任务。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种任务调度方法,其特征在于,所述任务调度方法包括:
当接收到任务触发请求时,从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间;
将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表;
当监测到所述待处理任务被成功抢占时,对所述待处理任务进行锁定,并确定抢占成功的目标服务器;
当检测到所述待处理任务在预设时间内未被处理完成时,从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务;
计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率;
根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器;
将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器;
当检测到所述目标任务完成处理时,解锁所述待处理任务。
2.如权利要求1所述的任务调度方法,其特征在于,所述方法还包括:
当监测到所述待处理任务的抢占状态被修改为已抢占时,确定所述待处理任务被成功抢占;及/或
当监测到所述待处理任务被读取时,确定所述待处理任务被成功抢占。
3.如权利要求1所述的任务调度方法,其特征在于,所述根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器包括:
根据所述目标时间及所述预设时间确定剩余时间;
根据所述剩余时间及所述处理速率,得到所述目标服务器在所述剩余时间内完成的任务量,并将得到的任务量确定为第三任务量;
将所述第一任务量与所述第三任务量进行减法运算,得到剩余任务量,所述剩余任务量是指所述目标空闲服务器在所述剩余时间内需完成的任务量;
获取所述配置列表中所有空闲服务器的服务器参数,并获取与所述服务器参数相同的非空闲服务器,所述服务器参数包括CPU型号、内存及硬盘;
确定所述非空闲服务器的处理速率,并以确定的处理速率作为第一处理速率;
从所述第一处理速率中选取速率最高的目标速率,并确定速率为目标速率的空闲服务器的个数,将所述个数、所述目标速率与所述剩余时间进行乘法运算,得到第四任务量,直至所述第四任务量大于或者等于所述剩余任务量时,停止速率的选取;
将选取到的目标速率对应的空闲服务器确定为所述目标空闲服务器。
4.如权利要求1所述的任务调度方法,其特征在于,所述将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器包括:
将所述目标任务进行顺序分解,得到多个第一任务及所述多个第一任务的执行顺序;
获取所述多个第一任务之间的依赖关系;
按照所述多个第一任务的执行顺序,对具有依赖关系的第一任务进行合并,得到多个第二任务;
计算所述目标空闲服务器的数量,并将计算得到的数量作为目标数量;
当检测到所述多个第二任务的数量大于所述目标数量时,获取所述多个第二任务中每个第二任务的目标任务量;
依据所述目标任务量及所述目标空闲服务器的目标速率对所述多个第二任务进行合并,直至合并后的任务数量小于或者等于所述目标数量,得到多个子任务;
当所述多个子任务的数量小于所述目标数量时,确定所述多个子任务中每个子任务的任务量,并依据所述目标速率的快慢及所述多个子任务的任务量,将所述多个子任务分配至所述目标空闲服务器。
5.如权利要求1所述的任务调度方法,其特征在于,所述方法还包括:
当监测到所述多个子任务中存在任意子任务处理异常时,从所述配置列表中获取新的空闲服务器;
将所述任意子任务发送至所述新的空闲服务器;
当在配置时间内接收到所述新的空闲服务器发送的反馈包时,确定所述任意子任务被成功接收;或者
当在所述配置时间内未接收到所述新的服务器发送的反馈包时,从所述配置列表中重新获取服务器。
6.如权利要求1所述的任务调度方法,其特征在于,在解锁所述待处理任务后,所述方法还包括:
获取所述待处理任务的响应结果及所述任务触发请求的请求编号;
根据所述响应结果及所述请求编号生成提示信息;
采用对称加密技术加密所述提示信息,得到密文;
将所述密文发送至指定联系人的终端设备;
当检测到所述密文被解密成功时,更新所述待处理任务的处理状态,并将所述待处理任务从所述任务列表中删除。
7.如权利要求1所述的任务调度方法,其特征在于,所述方法还包括:
将所述待处理任务与配置平台的显示页面进行关联,并对所述显示页面的生命周期进行监听;
当监听到所述显示页面处于显示状态时,调用预设接口获取所述待处理任务的处理进程,并将所述处理进程在所述显示页面中显示;
当监听到所述显示页面处于隐藏状态时,隐藏所述待处理任务的处理进程;
当监听到所述显示页面被销毁时,解除所述待处理任务与所述显示页面之间的关联。
8.一种任务调度装置,其特征在于,所述任务调度装置包括:
提取单元,用于当接收到任务触发请求时,从所述任务触发请求中提取待处理任务,并获取所述待处理任务的任务信息,所述任务信息包括执行所述待处理任务的目标时间;
录入单元,用于将所述待处理任务及所述任务信息录入至任务列表中,并监测所述任务列表;
确定单元,用于当监测到所述待处理任务被成功抢占时,对所述待处理任务进行锁定,并确定抢占成功的目标服务器;
所述确定单元,还用于当检测到所述待处理任务在预设时间内未被处理完成时,从所述待处理任务中分割出未处理的任务,并将未处理的任务确定为目标任务;
计算单元,用于计算所述目标任务在所述待处理任务中的占比,并根据所述占比及所述预设时间确定所述目标服务器的处理速率;
所述确定单元,还用于根据所述目标时间、所述预设时间及所述处理速率从配置列表中确定目标空闲服务器;
分解单元,用于将所述目标任务分解为多个子任务,并将所述多个子任务分配至所述目标空闲服务器;
解锁单元,用于当检测到所述目标任务完成处理时,解锁所述待处理任务。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,获取所述存储器中存储的指令以实现如权利要求1至7中任意一项所述的任务调度方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器获取以实现如权利要求1至7中任意一项所述的任务调度方法。
CN202010358856.1A 2020-04-29 2020-04-29 任务调度方法、装置、电子设备及介质 Pending CN111641678A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010358856.1A CN111641678A (zh) 2020-04-29 2020-04-29 任务调度方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010358856.1A CN111641678A (zh) 2020-04-29 2020-04-29 任务调度方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN111641678A true CN111641678A (zh) 2020-09-08

Family

ID=72331884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010358856.1A Pending CN111641678A (zh) 2020-04-29 2020-04-29 任务调度方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN111641678A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150029A (zh) * 2020-10-09 2020-12-29 浙江专线宝网阔物联科技有限公司 一种支持动态与分散任务分配的区块链弹性架构设计方法
CN113342499A (zh) * 2021-06-29 2021-09-03 中国农业银行股份有限公司 分布式任务调用方法、装置、设备、存储介质、程序产品
CN113723805A (zh) * 2021-08-30 2021-11-30 上海大学 一种无人艇复合任务分配方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115143A1 (en) * 2006-11-10 2008-05-15 International Business Machines Corporation Job Execution Method, Job Execution System, and Job Execution Program
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109255516A (zh) * 2018-07-24 2019-01-22 武汉空心科技有限公司 基于单位时间分配的任务开发方法和系统
CN109901918A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 一种处理超时任务的方法和装置
CN110209496A (zh) * 2019-05-20 2019-09-06 中国平安财产保险股份有限公司 基于数据处理的任务分片方法、装置及分片服务器
WO2020019519A1 (zh) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 任务分配方法及装置
CN110928711A (zh) * 2019-11-26 2020-03-27 多点(深圳)数字科技有限公司 任务处理方法、装置、系统、服务器及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115143A1 (en) * 2006-11-10 2008-05-15 International Business Machines Corporation Job Execution Method, Job Execution System, and Job Execution Program
CN109901918A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 一种处理超时任务的方法和装置
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109255516A (zh) * 2018-07-24 2019-01-22 武汉空心科技有限公司 基于单位时间分配的任务开发方法和系统
WO2020019519A1 (zh) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 任务分配方法及装置
CN110209496A (zh) * 2019-05-20 2019-09-06 中国平安财产保险股份有限公司 基于数据处理的任务分片方法、装置及分片服务器
CN110928711A (zh) * 2019-11-26 2020-03-27 多点(深圳)数字科技有限公司 任务处理方法、装置、系统、服务器及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
程邺华;: "云平台的任务合理化调度模型仿真分析", 计算机仿真, no. 05, 15 May 2016 (2016-05-15) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150029A (zh) * 2020-10-09 2020-12-29 浙江专线宝网阔物联科技有限公司 一种支持动态与分散任务分配的区块链弹性架构设计方法
CN113342499A (zh) * 2021-06-29 2021-09-03 中国农业银行股份有限公司 分布式任务调用方法、装置、设备、存储介质、程序产品
CN113723805A (zh) * 2021-08-30 2021-11-30 上海大学 一种无人艇复合任务分配方法及系统
CN113723805B (zh) * 2021-08-30 2023-08-04 上海大学 一种无人艇复合任务分配方法及系统

Similar Documents

Publication Publication Date Title
CN111641678A (zh) 任务调度方法、装置、电子设备及介质
WO2019075842A1 (zh) 任务分配方法、装置、存储介质和计算机设备
CN112182655A (zh) 多设备间的数据交互方法及相关设备
CN112527310A (zh) 多租户数据隔离方法、装置、计算机设备及存储介质
CN111831485B (zh) 数据恢复方法、装置、电子设备及介质
CN113050900B (zh) 屏幕分享方法、装置、设备及存储介质
CN112494934A (zh) 云游戏数据的处理方法、装置、设备及存储介质
CN112559535B (zh) 基于多线程的异步任务处理方法、装置、设备及介质
CN112948851A (zh) 用户认证方法、装置、服务器及存储介质
CN111796936A (zh) 请求处理方法、装置、电子设备及介质
CN111698126B (zh) 信息监控方法、系统及计算机可读存储介质
CN112148480A (zh) 基于多线程的任务处理方法、装置、设备及存储介质
CN114780930A (zh) 权限管理方法、装置、计算机设备和存储介质
CN108520401B (zh) 用户名单管理方法、装置、平台及存储介质
CN113221154A (zh) 服务密码获取方法、装置、电子设备及存储介质
CN115033365A (zh) 基于人工智能的任务流精准调度方法及相关设备
EP4071600A1 (en) Method and system for generating and executing a software appliance
CN114723394A (zh) 基于人工智能的授信流程配置方法及相关设备
CN111798245B (zh) 数据监控方法、装置、计算机设备及存储介质
CN114675976A (zh) 基于kubernetes的GPU共享方法、装置、设备及介质
CN114697132A (zh) 重复访问请求攻击拦截方法、装置、设备及存储介质
CN112631551A (zh) 随机数生成方法、装置、电子设备及存储介质
CN112559072B (zh) 业务功能启动方法及相关设备
CN110866264A (zh) 一种多芯片多板卡协同运算方法、装置及设备
CN113961292B (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