CN116820709A - 任务链的运行方法、装置、终端及计算机存储介质 - Google Patents

任务链的运行方法、装置、终端及计算机存储介质 Download PDF

Info

Publication number
CN116820709A
CN116820709A CN202310609350.7A CN202310609350A CN116820709A CN 116820709 A CN116820709 A CN 116820709A CN 202310609350 A CN202310609350 A CN 202310609350A CN 116820709 A CN116820709 A CN 116820709A
Authority
CN
China
Prior art keywords
task
node
executed
chain
task chain
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
CN202310609350.7A
Other languages
English (en)
Other versions
CN116820709B (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.)
Jingxin Data Technology Co ltd
Original Assignee
Jingxin Data 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 Jingxin Data Technology Co ltd filed Critical Jingxin Data Technology Co ltd
Priority to CN202310609350.7A priority Critical patent/CN116820709B/zh
Publication of CN116820709A publication Critical patent/CN116820709A/zh
Application granted granted Critical
Publication of CN116820709B publication Critical patent/CN116820709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及数据处理领域,提供一种任务链的运行方法、装置、终端及计算机存储介质。该方法包括:接收任务链运行请求,所述任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息;针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,所述节点为设置在节点网络中的数据处理装置;通过所述第一执行节点执行所述任务链中的待执行任务。通过本申请提供的方案,能够提升任务链运行效率,使得任务链够较好地得到执行。

Description

任务链的运行方法、装置、终端及计算机存储介质
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种任务链的运行方法、装置、终端及计算机存储介质。
背景技术
任务链是一个将多个不同种类型的任务串联起来,按照一定顺序依次执行的方式。当前任务完成时,会自动触发下一个任务进行执行,以此类推,直至所有任务全部运行完成。
从目前任务链的运行模式来看,可分为单机、分布式中心化和分布式去中心化三种运行模式,这三种模式均有各自的不足:(1)单机任务链方式存在自恢复能力不足的问题。单机任务链一般会创建多个线程实现任务执行,每个线程执行一个任务,这种方式虽然实现简单,但存在着极大的问题,例如系统或者服务突然崩溃的情况,会导致任务链一直处于执行中,一般需要人工干预才能解决。(2)分布式中心化任务链方式存在稳定性问题。分布式中心化任务链一般由调度中心和若干个运行节点组成,由调度中心接收任务且进行任务调度来执行任务链。这种方式的稳定性优于单机任务链,但对调度中心的稳定性有较高的要求。若果调度中心出现异常,则会导致任务链无法正常执行,导致任务链一直处于执行中。为了解决这个问题,现有技术一般会通过消息中间件(如kafka、RocketMQ等)来进行运行节点与调度中心的解耦,提升任务链运行的稳定性。但这种方式未能根本解决调度中心异常时所引发的问题。(3)分布式去中心化是一种较理想的运行方式,可以较好地解决任务链运行稳定性和实现错误自恢复,但普遍的技术实现在资源使用率和结合任务对节点综合评估方面存在不足。现有技术一般会采用区块链来实现任务链的去中心化运行。通过区块链实现任务情况的获取,通过区块链智能合约实现运行节点选取,继而实现分布式节点自动执行任务,并将任务结果上链。在节点的选取上,一般会通过智能合约决定运行节点,方式一般为顺序、随机或按机器性能情况选举产生。
综上,目前任务链的的运行模式会使得任务链不能很好地得到执行。
申请内容
本申请的目的在于提供一种任务链的运行方法、装置、终端及计算机存储介质,旨在解决目前任务链不能很好地得到执行的技术问题。
第一方面,本申请提供了一种任务链的运行方法,包括:
接收任务链运行请求,任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息;
针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,节点为设置在节点网络中的数据处理装置;
通过第一执行节点执行任务链中的待执行任务。
本申请实施例提供的任务链的运行方法,接收任务链运行请求之后,针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,以便于基于任务评估线性选举算法考虑各个节点的情况和任务情况,从节点网络中选举出用于执行任务链中的任务的节点,并通过第一执行节点执行任务链中的待执行任务,以避免通过现有的任务链的运行方法执行任务链时,执行效果不好的问题。
第二方面,本申请提供了一种任务链的运行装置,包括:
接收模块,用于接收任务链运行请求,任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息;
确定模块,用于针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,节点为设置在节点网络中的数据处理装置;
执行模块,用于通过第一执行节点执行任务链中的待执行任务。
第三方面,本申请提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现的任务链的运行方法。
第四方面,本申请提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现的任务链的运行方法。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的任务链的运行方法的实现流程示意图。
图2是本申请一实施例提供的任务链的运行方法步骤S12的具体实现流程示意图。
图3是本申请一实施例提供的任务链的运行方法的应用示意图。
图4是是本申请另一实施例提供的任务链的运行方法的具体实现流程示意图。
图5是本申请一实施例提供的任务链的运行装置的结构示意图。
图6是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定装置结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
由于目前的任务链运行技术健壮性、自我恢复能力有所不足,或是执行任务链时,节点负载不均衡,使得任务链不能较好地得到执行。
为此,本申请提供了一种任务链的运行方法,能更合理地实现任务链运行的去中心化运行、实现任务崩溃自恢复,更好地提升任务链的健壮性和资源利用率。
本申请实施例提供的任务链的运行方法可以应用于手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备或服务器上,本申请实施例对终端设备或服务器的具体类型不作任何限制。
请参阅图1,图1是本申请实施例提供的一种任务链的运行方法的实现流程图,包括以下步骤:
S11:接收任务链运行请求,任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息。
在本实施例中,任务链是一个将多个不同种类型的任务串联起来,按照一定顺序依次执行的方式。可以理解的是,当前任务完成时,会自动触发下一个任务进行执行,以此类推,直至任务链中的所有任务全部运行完成。
待执行任务信息指的是需要通过节点网络中的节点来执行的任务。例如,数据采集任务,即需要通过节点网络中的节点通过相应的数据采集算法采集与数据采集任务相对应的数据。
可以理解的是,通过任务链运行请求,可以了解待执行任务的数量,和任务的指标量等情况,以便于后续执行任务的节点能够较好地执行任务。
在一实施例中,任务链中的任务包括数据采集、数据分析、数据清洗、数据融合等多种类型的任务,将这些任务根据数据处理业务逻辑需求,对多个数据处理任务进行动态编排,形成有序的DAG执行步骤。
在本实施例中,在需要执行任务时,第三方的客户端作为任务发起方,将任务链运行请求广播至节点网络中的各个节点,以便于后续便于各个节点根据各个节点的情况,逐一地选举出用于执行任务链中的多个待执行任务信息。
S12:针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,节点为设置在节点网络中的数据处理装置。
在本实施例中,为了便于任务链中的每个待执行任务都能够高效地被执行,针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点。
任务评估线性选举算法,指的是能够基于节点的情况、任务执行情况,从各个节点中选举出能够较好地执行任务链中的任务的算法。
节点网络由多个作为数据处理节点的数据处理装置之间进行通讯连接构成的。例如,数据处理装置A、数据处理装置B、数据处理装置C相互通信连接,即相当于一个节点网络。
例如,基于任务评估线性选举算法,结合节点资源的综合情况、任务的历史运行情况等进行训练,得到模型后科学地实现任务链运行节点的选举,综合评估节点与任务的匹配情况,使更合理地实现任务链运行的去中心化运行、实现任务崩溃自恢复,提升任务链的健壮性和资源利用率。
S13:通过第一执行节点执行任务链中的待执行任务。
在本实施例中,接收任务链运行请求之后,针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,以便于基于任务评估线性选举算法考虑各个节点的情况和任务情况,从节点网络中选举出用于执行任务链中的任务的节点,并通过第一执行节点执行任务链中的待执行任务,以避免通过现有的任务链的运行方法执行任务链时,执行效果不好的问题。
结合图2,在本申请的一个实施例中,针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,包括:
获取节点网络中每个节点的第一运行参数信息。
根据每个节点的第一运行参数信息和任务链运行请求,确定每个节点的第一运行质量值。
根据每个节点的第一运行质量值,从至少两个节点中确定第一执行节点。
在本实施例中,第一运行参数信息指的是节点的参数,例如节点的CPU、内存、磁盘、带宽等参数。
第一运行质量值,用于描述节点用于执行任务时所对应的情况。例如,一个节点用于执行任务时,最好的状态是100分,但当前的运行质量值为60分,表示该节点用于执行任务时,并不能较好地执行任务。
在本实施例中,节点网络中的每个节点在接收到任务链运行请求后,会对外广播自己的运行参数信息,以便于其他的节点能够基于接收到的其他节点的运行参数信息和任务链运行请求,确定每个节点的第一运行质量值,进而地根据每个节点的第一运行质量值,从节点网络中的至少两个节点中确定第一执行节点,比如确定第一运行质量值最大的节点作为第一执行节点。
示例的,结合图3,节点网络中包括节点A、B、C、D、F、N,节点A接收到任务链运行请求后,获取节点网络中自身和其他节点分别对应的运行参数,并进一步地确定每个节点分别对应的第一运行质量值,并在比较每个节点分别对应的第一运行质量值之后,将最优的第一运行质量值对应的节点作为第一执行节点。
在一实施例中,第一运行参数信息包括节点的CPU占用率、内存占用率、磁盘空间、带宽,任务链运行请求包括多个待执行的任务信息、任务的数据量以及指标量。
在本实施例中,获取节点网络中每个节点的第一运行参数信息之后,将每个节点的第一运行参数信息和任务链运行请求中描述的任务的数据量及指标量代入预设计算公式,计算得到每个节点对应的第一运行质量。
即通过以下预设计算公式计算得到每个节点的运行质量值:
f(u,v,x,y,z1,z2)=w1u+w2v+w3x+w4y+w5z1+w6z2+b
其中,u、v、x、y分别为CPU占用率、内存占用率、磁盘空间、带宽,Z1和Z2分别为任务链中任务的数据量及指标量。其中W1至W2分别为:u、v、x、y、Z1、Z2的权重值,b为函数f(u,v,x,y,z1,z2)的偏置项。
可以理解的是,由于每个节点均会收到其他节点广播的运行参数信息,所以各节点通过f(u,v,x,y,z1,z2)进行运行质量计算。
另外,因为系统首次运作时,预设计算公式中的任何权重值和偏置项的影响都是未知的,所以按需求为权重值和偏置项设定,例如,w1-w6设为0.25,b设为0.1。
在一实施例中,每个节点根据节点网络中每个节点的运行参数信息和任务链运行请求,确定节点网络中每个节点的第一运行质量值之后,对包括节点本身的第一运行质量值进行排序,得到运行结果质量列表,并将运行结果质量列表广播给节点网络中的其他节点,由各个节点共同验证当前排序后的运行结果质量列表中记载的数据是否一致,若一致,则共同选择排序最高的的节点作为第一执行节点,并通过该第一执行节点来执行任务链中当前需要执行的待执行任务。
在本申请的一个实施例中,据运行参数信息,确定每个节点的第一运行质量值之后,还包括:
对每个节点的第一运行质量值进行排序,得到运行结果质量列表;
根据每个节点的第一运行质量值,从至少两个节点中确定第一执行节点,包括:
获取每个节点计算得到的运行结果质量列表;
验证每个节点对应的运行结果质量列表中排序后的数据是否一致;
若验证每个节点对应的运行结果质量列表中排序后的数据一致,则将运行结果质量列表中排序最高的节点作为第一执行节点。
在本实施例中,为了能够高效地执行任务链中包括的任务,所以,对每个节点的第一运行质量值进行排序,得到运行结果质量列表,并将运行结果质量列表广播给节点网络中的其他节点,以便于节点网络中的其他节点获取到其他节点处理得到的运行结果质量列表。获取每个节点计算得到的运行结果质量列表,验证每个节点对应的运行结果质量列表中排序后的数据是否一致,若验证每个节点对应的运行结果质量列表中排序后的数据一致,则将运行结果质量列表中排序最高的节点作为第一执行节点。
可以理解的是,第一执行节点可能是节点网络中其他节点,或广播数据的节点本身。
例如,节点A处理到一个运行结果质量列表后,将该运行结果质量列表广播给节点网络中的节点B、节点C,同时节点A还获取节点B、节点C分别广播的运行结果质量列表,并由该节点A、节点B、节点C各自根据自身处理得到的运行结果质量列表,以及从其他节点处获取到的运行结果质量列表,并验证该三个运行结果质量列表中记载的数据是否一致,即运行结果质量列表中记载的各个节点的第一运行质量值以及排序情况,是否一致,若一致,共同选择排序最高的节点作为当前任务的运行节点,例如,节点A来执行任务。
在本申请的一个实施例中,在通过第一执行节点执行任务链中的待执行任务的过程中,还包括:
按预设周期获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息,目标信息包括第二运行参数信息、当前运行评价质量和/或任务参数;
若在预设周期内,获取不到第一执行节点的目标信息,则基于任务评估线性选举算法,从至少两个节点中确定第二执行节点,该至少两个节点中不包括第一执行节点;
通过第二执行节点执行任务链中的待执行任务。
在本实施例,为了实现任务崩溃自恢复,更好地提升任务链的健壮性和资源利用率,按预设周期获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息,目标信息包括第二运行参数信息,若在预设周期内,获取不到第一执行节点的目标信息,则基于任务评估线性选举算法,从至少两个节点中确定第二执行节点,该至少两个节点中不包括第一执行节点,通过第二执行节点执行任务链中的待执行任务。
可以理解的是,预设周期可以按需求设定,比如设定为2秒为一个周期,即表示第一执行节点按预设周期对外广播目标信息。
在一实施例中,第一执行节点执行任务时,按预设周期对外广播自己当前消耗和处理的u、v、x、y、z1和z2,以及当前的运行质量至节点网络中的其他节点,直至执行任务结束。
其中,当前运行质量即第一执行节点执行任务链中的当前待执行任务对应的当前结果值,即当前结果值包括当前运行任务可靠性、当前运行任务QPS和/或当前任务运行耗时,其中当前运行任务可靠性记为q1、当前运行任务每秒查询率(QPS)记为q2、当前任务运行耗时记为q3,这些值通过sigmoid函数处理缩放到0-1区间后通过公式g(q1,q2,q3)计算所得:
sigmoid函数为:
其中e在数学上为自然对数的底数,x为缩放值。
公式g(q1,q2,q3)为:
由于这里参数q1是任务可靠性,可靠性代表任务最终是否运行成功还是失败,对任务的最终结果起关键作用,所以设置其权重最高为3,其次是运行效率的QPS权重为2,至于任务运行耗时,本申请认为当任务运行耗时越多所造成的质量也会逐渐变差,所以将其设置为负数,即该参数越高,则最终的运行质量越低。引入sigmoid函数将q1、q2、q3进行等比例缩放至0-1的区间,最终通过四则运算得出一个0-1的区间再乘以100%可以得出最终的运行质量分值,比如运行了该任务最终的分值:85.56、90.1、60等等。此时,各节点将得到一份数据集合,记为data_list,由于不同特征据有不同的量纲和量纲单位,会对数据分析的结果产生影响,为了消除特征之间的量纲影响,以解决数据指标的可比性,所以对数据集合进行归一化处理,将数据映射到区间[0,1],归一化函数为:
其中x是data_list中某列的原始数据,Xmin和Xmax分别是data_list中的某列的最小值和最大值,Xnorm为归一化后的数据。
结合图4,在本申请的一个实施例中,通过第一执行节点执行任务链中的待执行任务结束之后,还包括:
针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点;
通过第三执行节点执行任务链中的下一个待执行任务,下一个待执行任务为第一执行节点执行的任务链中的任务后待顺序执行的任务。
在本实施例中,由于通过第一执行节点执行任务链中的待执行任务结束之后,其本身的资源情况在相对于节点网络中的其他节点,可能不是最优的,即继续通过第一执行节点来执行任务链中的其他任务,可能不是最好的选择,所以,通过第一执行节点执行任务链中的待执行任务结束之后,针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点,通过第三执行节点执行任务链中的下一个待执行任务,下一个待执行任务为第一执行节点执行的任务链中的任务后待顺序执行的任务。
可以理解的是,第三执行节点与第一执行节点,可能是同一个节点,也可能不是同一个节点。
在本申请的一个实施例中,在针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点之前,还包括:
按预设周期,获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息,目标信息包括第二运行参数信息、运行质量和/或任务参数;
根据每个周期获取得到的目标信息、任务链运行请求和第一预设计算公式,确定多个预测运行质量值,每个周期对应着一个预测运行质量值;
根据每个周期对应的预测运行质量值和运行质量值,确定第一预设计算公式中的权重值和偏置项的梯度值;
根据第一预设计算公式中的权重值和偏置项、梯度值和梯度下降算法,确定新权重值和新偏置项;
根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式;
针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点,包括:
获取节点网络中每个节点的第三运行参数信息;
根据每个节点的第三运行参数信息和任务链运行请求,确定每个节点的第二运行质量值;
根据每个节点的第二运行质量值,从至少两个节点中确定第三执行节点。
在本实施例中,为了能够更好地实现任务链运行节点的选举,综合评估节点与任务的匹配情况,使更合理地实现任务链运行的去中心化运行、实现任务崩溃自恢复,提升任务链的健壮性和资源利用率,按预设周期,获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息,并根据每个周期获取得到的目标信息、任务链运行请求和第一预设计算公式,确定多个预测运行质量值,每个周期对应着一个预测运行质量值,根据每个周期对应的预测运行质量值和运行质量值,确定第一预设计算公式中的权重值和偏置项的梯度值,根据第一预设计算公式中的权重值和偏置项、梯度值和梯度下降算法,确定新权重值和新偏置项,接着根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式。后续继续获取节点网络中每个节点的第三运行参数信息;根据每个节点的第三运行参数信息和任务链运行请求,确定每个节点的第二运行质量值;根据每个节点的第二运行质量值,从至少两个节点中确定第三执行节点,以便于通过第三执行节点执行任务链中的下一个待执行任务,下一个待执行任务为第一执行节点执行的任务链中的任务后待顺序执行的任务。
在一实施例中,按预设周期,获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息,目标信息包括第二运行参数信息、运行质量和/或任务参数;根据每个周期获取得到的目标信息、任务链运行请求和第一预设计算公式,确定多个预测运行质量值,每个周期对应着一个预测运行质量值;根据每个周期对应的预测运行质量值和运行质量值,确定第一预设计算公式中的权重值和偏置项的梯度值;根据第一预设计算公式中的权重值和偏置项、梯度值和梯度下降算法,确定第一权重值和第二偏置项后,按照按预设周期,获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息的步骤及后续步骤,对第一权重值和第二偏置项进行预设次数的迭代,并将完成迭代后的第二权重值作为新权重值,和第二偏置项作为新偏置项。
在另一实施例中,将data_list中的每行的u、v、x、y、z1和z2代入到f(u,v,x,y,z1,z2)公式,得到预测值记为f′,将f′减去结果值g(q1,q2,q3)平方求和取平均得到损失值,用于求得各权重值和偏置项的梯度值,记为L(w1,w2,w3,w4,w5,w6,b),即:
其中,n为data_list的行数,i为第i行的数据,gi(q1,q2,q3)为第i行的结果值,表示从data_list第一行开始,将值代入公式后进行求和。通过L(w1,w2,w3,w4,w5,w6,b)对w1-w6、b求偏导可得:
对w1求偏导:
对w2求偏导:
对w3求偏导:
对w4求偏导:
对w5求偏导:
对w6求偏导:
对b求偏导:
这7个变量视为在曲线上对应w1-w6、b的梯度值,随后利用梯度下降算法计算得到新的权重值和偏置项,本申请中需要设置学习率,本申请中以0.01为例,则有:
此时这里的W1-W6、b是当前的权重值和偏置项,W1next–W6next、bnext是下次的权重值和偏置项。
在本申请的一个实施例中,根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式,包括
获取每个节点确定的新权重值和新偏置项;
验证每个节点确定的新权重值和新偏置项是否一致;
若验证每个节点确定的新权重值和新偏置项一致,则根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式。
在本实施例中,为了更好地提升任务链的健壮性和资源利用率,获取每个节点确定的新权重值和新偏置项;验证每个节点确定的新权重值和新偏置项是否一致;若验证每个节点确定的新权重值和新偏置项一致,则根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式,以便于基于第二预设计算公式重新计算每个节点的第二运行质量值,对每个节点的第二运行质量值进行反归一化处理排序,各节点将反归一化后的排序每个节点的第二运行质量值广播出去,所有节点验证排序后的每个节点的第二运行质量值是否一致,若一致,则共同选择排序最高的节点作为当前任务的运行节点,运行任务链的下个任务。
在一实施例中,各节点共同验证其他节点训练出来的新权重值和新偏置项是否一致,若某个节点不一致,则将无法成为下个任务的运行节点。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例的运行方法,图5示出了本申请实施例提供的任务链的运行装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该装置100包括:
接收模块101,用于接收任务链运行请求,任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息;
确定模块102,用于针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,节点为设置在节点网络中的数据处理装置;
执行模块103,用于通过第一执行节点执行任务链中的待执行任务。
在一实施例中,确定模块102,还用于获取节点网络中每个节点的第一运行参数信息;根据每个节点的第一运行参数信息,确定每个节点的第一运行质量值;根据每个节点的第一运行质量值,从至少两个节点中确定第一执行节点。
在一实施例中,确定模块102,还用于对每个节点的第一运行质量值进行排序,得到运行结果质量列表;获取每个节点计算得到的运行结果质量列表;验证每个节点对应的运行结果质量列表中排序后的数据是否一致;若验证每个节点对应的运行结果质量列表中排序后的数据一致,则将运行结果质量列表中排序最高的节点作为第一执行节点。
在一实施例中,确定模块102,还用于若在预设周期内,获取不到第一执行节点的目标信息,则基于任务评估线性选举算法,从至少两个节点中确定第二执行节点,该至少两个节点中不包括第一执行节点;通过第二执行节点执行任务链中的待执行任务。
在一实施例中,确定模块102,还用于针对任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点;通过第三执行节点执行任务链中的下一个待执行任务,下一个待执行任务为第一执行节点执行的任务链中的任务后待顺序执行的任务。
在一实施例中,确定模块102,还用于按预设周期,获取第一执行节点在执行任务链中的当前待执行任务过程中的目标信息,目标信息包括第二运行参数信息、运行质量和/或任务参数;根据每个周期获取得到的目标信息、任务链运行请求和第一预设计算公式,确定多个预测运行质量值,每个周期对应着一个预测运行质量值;根据每个周期对应的预测运行质量值和运行质量值,确定第一预设计算公式中的权重值和偏置项的梯度值;根据第一预设计算公式中的权重值和偏置项、梯度值和梯度下降算法,确定新权重值和新偏置项;根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式;获取节点网络中每个节点的第三运行参数信息;根据每个节点的第三运行参数信息和任务链运行请求,确定每个节点的第二运行质量值;根据每个节点的第二运行质量值,从至少两个节点中确定第一执行节点。
在一实施例中,确定模块102,还用于获取每个节点确定的新权重值和新偏置项;验证每个节点确定的新权重值和新偏置项是否一致;若验证每个节点确定的新权重值和新偏置项一致,则根据新权重值、新偏置项和第一预设计算公式,得到第二预设计算公式。
图6为本申请一实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个处理器)、存储器61以及存储在存储器61中并可在至少一个处理器60上运行的计算机程序62,处理器60执行计算机程序62时实现上述任意各个运行方法实施例中的步骤。
终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图5仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器61在一些实施例中可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。存储器61在另一些实施例中也可以是终端设备6的外部存储设备,例如终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器61用于存储操作装置、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种终端设备,该终端设备包括:至少一个处理器、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种任务链的运行方法,其特征在于,包括:
接收任务链运行请求,所述任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息;
针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,所述节点为设置在节点网络中的数据处理装置;
通过所述第一执行节点执行所述任务链中的待执行任务。
2.根据权利要求1的方法,其特征在于,所述针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,包括:
获取节点网络中每个节点的第一运行参数信息;
根据每个节点的第一运行参数信息和所述任务链运行请求,确定每个节点的第一运行质量值;
根据每个节点的第一运行质量值,从至少两个节点中确定所述第一执行节点。
3.根据权利要求2的方法,其特征在于,所述根据所述运行参数信息,确定每个节点的第一运行质量值之后,还包括:
对每个节点的第一运行质量值进行排序,得到运行结果质量列表;
所述根据每个节点的第一运行质量值,从至少两个节点中确定所述第一执行节点,包括:
获取每个节点计算得到的运行结果质量列表;
验证每个节点对应的运行结果质量列表中排序后的数据是否一致;
若验证每个节点对应的运行结果质量列表中排序后的数据一致,则将所述运行结果质量列表中排序最高的节点作为所述第一执行节点。
4.根据权利要求1的方法,其特征在于,在通过所述第一执行节点执行所述任务链中的待执行任务的过程中,还包括:
按预设周期获取所述第一执行节点在执行所述任务链中的当前待执行任务过程中的目标信息,所述目标信息包括第二运行参数信息、当前运行评价质量和/或任务参数;
若在预设周期内,获取不到所述第一执行节点的目标信息,则基于任务评估线性选举算法,从至少两个节点中确定第二执行节点,所述至少两个节点中不包括所述第一执行节点;
通过所述第二执行节点执行所述任务链中的待执行任务。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述通过所述第一执行节点执行所述任务链中的待执行任务结束之后,还包括:
针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点;
通过所述第三执行节点执行所述任务链中的下一个待执行任务,所述下一个待执行任务为第一执行节点执行的任务链中的任务后待顺序执行的任务。
6.根据权利要求5的方法,其特征在于,在针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点之前,还包括:
按预设周期,获取所述第一执行节点在执行所述任务链中的当前待执行任务过程中的目标信息,所述目标信息包括第二运行参数信息、运行质量和/或任务参数;
根据每个周期获取得到的所述目标信息、任务链运行请求和第一预设计算公式,确定多个预测运行质量值,每个周期对应着一个预测运行质量值;
根据每个周期对应的所述预测运行质量值和运行质量值,确定所述第一预设计算公式中的权重值和偏置项的梯度值;
根据第一预设计算公式中的权重值和偏置项、所述梯度值和梯度下降算法,确定新权重值和新偏置项;
根据所述新权重值、所述新偏置项和所述第一预设计算公式,得到第二预设计算公式;
所述针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第三执行节点,包括:
获取节点网络中每个节点的第三运行参数信息;
根据每个节点的第三运行参数信息和所述任务链运行请求,确定每个节点的第二运行质量值;
根据每个节点的第二运行质量值,从至少两个节点中确定所述第三执行节点。
7.根据权利要求6的方法,其特征在于,所述根据所述新权重值、所述新偏置项和所述第一预设计算公式,得到第二预设计算公式,包括
获取每个节点确定的新权重值和新偏置项;
验证每个节点确定的新权重值和新偏置项是否一致;
若验证每个节点确定的新权重值和新偏置项一致,则根据所述新权重值、所述新偏置项和所述第一预设计算公式,得到第二预设计算公式。
8.一种任务链的运行装置,其特征在于,包括:
接收模块,用于接收任务链运行请求,所述任务链运行请求用于描述任务链中应依次执行的多个待执行任务信息;
确定模块,用于针对所述任务链中的每个待执行任务,基于任务评估线性选举算法,从至少两个节点中确定第一执行节点,所述节点为设置在节点网络中的数据处理装置;
执行模块,用于通过所述第一执行节点执行所述任务链中的待执行任务。
9.一种终端设备,其特征在于,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如权利要求1至7任一项的任务链的运行方法。
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如权利要求1至7任一项的任务链的运行方法。
CN202310609350.7A 2023-05-26 2023-05-26 任务链的运行方法、装置、终端及计算机存储介质 Active CN116820709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310609350.7A CN116820709B (zh) 2023-05-26 2023-05-26 任务链的运行方法、装置、终端及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310609350.7A CN116820709B (zh) 2023-05-26 2023-05-26 任务链的运行方法、装置、终端及计算机存储介质

Publications (2)

Publication Number Publication Date
CN116820709A true CN116820709A (zh) 2023-09-29
CN116820709B CN116820709B (zh) 2024-06-11

Family

ID=88119475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310609350.7A Active CN116820709B (zh) 2023-05-26 2023-05-26 任务链的运行方法、装置、终端及计算机存储介质

Country Status (1)

Country Link
CN (1) CN116820709B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117332923A (zh) * 2023-10-09 2024-01-02 北京京航计算通讯研究所 一种网状指标体系的赋权方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162388A (zh) * 2019-04-26 2019-08-23 深圳智链物联科技有限公司 一种任务调度方法、系统及终端设备
CN110750341A (zh) * 2018-07-24 2020-02-04 深圳市优必选科技有限公司 任务调度方法、装置、系统、终端设备及存储介质
CN112181612A (zh) * 2020-08-31 2021-01-05 深圳市优必选科技股份有限公司 任务处理方法、装置、电子设备及计算机可读存储介质
CN114140075A (zh) * 2021-11-30 2022-03-04 平安银行股份有限公司 业务处理方法、装置、介质及电子设备
CN114244536A (zh) * 2022-02-24 2022-03-25 恒生电子股份有限公司 一种区块链的业务处理方法、装置、设备及存储介质
CN115499379A (zh) * 2022-11-14 2022-12-20 中国电子信息产业集团有限公司第六研究所 一种基于区块链的信息交互方法、装置、设备及介质
CN115729687A (zh) * 2022-11-25 2023-03-03 招联消费金融有限公司 任务调度方法、装置、计算机设备、存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750341A (zh) * 2018-07-24 2020-02-04 深圳市优必选科技有限公司 任务调度方法、装置、系统、终端设备及存储介质
CN110162388A (zh) * 2019-04-26 2019-08-23 深圳智链物联科技有限公司 一种任务调度方法、系统及终端设备
CN112181612A (zh) * 2020-08-31 2021-01-05 深圳市优必选科技股份有限公司 任务处理方法、装置、电子设备及计算机可读存储介质
CN114140075A (zh) * 2021-11-30 2022-03-04 平安银行股份有限公司 业务处理方法、装置、介质及电子设备
CN114244536A (zh) * 2022-02-24 2022-03-25 恒生电子股份有限公司 一种区块链的业务处理方法、装置、设备及存储介质
CN115499379A (zh) * 2022-11-14 2022-12-20 中国电子信息产业集团有限公司第六研究所 一种基于区块链的信息交互方法、装置、设备及介质
CN115729687A (zh) * 2022-11-25 2023-03-03 招联消费金融有限公司 任务调度方法、装置、计算机设备、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117332923A (zh) * 2023-10-09 2024-01-02 北京京航计算通讯研究所 一种网状指标体系的赋权方法及系统
CN117332923B (zh) * 2023-10-09 2024-03-26 北京京航计算通讯研究所 一种网状指标体系的赋权方法及系统

Also Published As

Publication number Publication date
CN116820709B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
US11325780B2 (en) Method and device for sorting cargo
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
CN111008640A (zh) 图像识别模型训练及图像识别方法、装置、终端及介质
CN116820709B (zh) 任务链的运行方法、装置、终端及计算机存储介质
CN111162934A (zh) 业务服务的测试方法和装置、存储介质、电子装置
CN110377519B (zh) 大数据系统的性能容量测试方法、装置、设备及存储介质
CN109697049A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN116596095A (zh) 基于机器学习的碳排放量预测模型的训练方法及装置
CN113886034A (zh) 任务调度方法、系统、电子设备及存储介质
CN115577858A (zh) 基于区块链的碳排放量预测方法、装置及电子设备
CN111428885A (zh) 一种联邦学习中用户的索引方法及联邦学习装置
CN113094899B (zh) 一种随机潮流计算方法、装置、电子设备及存储介质
CN115756812A (zh) 一种资源调整方法及装置、存储介质
CN109359034A (zh) 一种业务系统测试方法、计算机可读存储介质及终端设备
CN113448747B (zh) 数据传输方法、装置、计算机设备和存储介质
CN112800089B (zh) 一种中间数据存储级别调整方法、存储介质及计算机设备
CN109558222A (zh) 批量业务进程监控方法、装置、计算机及可读存储介质
CN115456014A (zh) 一种控制器识别方法、装置、电子设备和存储介质
CN113705626A (zh) 异常生活保障申请家庭的识别方法、装置及电子设备
CN115329925A (zh) 神经网络结构确定方法及装置以及相关产品
CN110825493A (zh) 一种虚拟机调优的方法及装置
US20190095827A1 (en) Dispatching method and system based on multiple levels of steady state production rate in working benches
CN117453376B (zh) 高通量计算的控制方法、装置、设备及存储介质
CN113449382B (zh) 一种整车排放结果的仿真方法及系统
CN112035533B (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