CN116954855A - 任务执行方法、装置、系统、电子设备和存储介质 - Google Patents

任务执行方法、装置、系统、电子设备和存储介质 Download PDF

Info

Publication number
CN116954855A
CN116954855A CN202310827352.3A CN202310827352A CN116954855A CN 116954855 A CN116954855 A CN 116954855A CN 202310827352 A CN202310827352 A CN 202310827352A CN 116954855 A CN116954855 A CN 116954855A
Authority
CN
China
Prior art keywords
target
function
task
execution
layer
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
CN202310827352.3A
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.)
Beijing Shuidi Technology Group Co ltd
Original Assignee
Beijing Shuidi Technology Group 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 Shuidi Technology Group Co ltd filed Critical Beijing Shuidi Technology Group Co ltd
Priority to CN202310827352.3A priority Critical patent/CN116954855A/zh
Publication of CN116954855A publication Critical patent/CN116954855A/zh
Pending legal-status Critical Current

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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种任务执行方法、装置、系统、电子设备和存储介质,涉及互联网技术领域,以解决调用链路复杂的技术问题。该方法应用于任务执行系统,任务执行系统包括工具层、聚合层和应用层,该工具层包括多个功能函数,多个功能函数之间为非依存关系;该方法包括:从聚合层中获取目标任务关联的目标流程编排函数;目标流程编排函数是基于Promise定义的,用于指示工具层中执行目标任务的多个目标功能函数以及多个目标功能函数的目标执行顺序;目标任务是基于应用层发起的;按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到用于应用层的任务执行结果。

Description

任务执行方法、装置、系统、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其是涉及一种任务执行方法、装置、系统、电子设备和存储介质。
背景技术
随着前端应用需求的日益丰富,后端任务处理系统处理的任务越来越复杂,对任务的处理逻辑也逐渐复杂。通常,设置不同的JavaScript函数作为功能函数来实现不同的任务需求,并让多个不同JavaScript函数通过相互调用的方式进行通信,来完成任务的执行。
然而,上述任务执行过程中,较复杂的任务对应的JavaScript函数数量会较多,不同JavaScript函数相互依赖调用时,会存在多种同步调用和多种异步调用情况,其调用链路十分复杂,既不便于任务开发用户查询该调用链路,也不利于对任务的维护和二次开发。
发明内容
有鉴于此,本申请提供了一种任务执行方法、装置、系统、电子设备和存储介质,以至少解决调用链路复杂的问题。
根据本申请的第一个方面,提供了一种任务执行方法,应用于任务执行系统,任务执行系统包括工具层、聚合层和应用层,该工具层包括多个功能函数,多个功能函数之间为非依存关系;上述任务执行方法包括:从聚合层中获取目标任务关联的目标流程编排函数;目标流程编排函数是基于Promise定义的,用于指示工具层中执行目标任务的多个目标功能函数以及多个目标功能函数的目标执行顺序;目标任务是基于应用层发起的;按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到用于应用层的任务执行结果。
在一种可能的实现方式中,工具层还包括文件类型为全局变量的声明文件,声明文件包括多个功能函数分别对应的功能提示信息,功能提示信息用于指示对应的功能函数的参数类型和对应的代码提示。
在另一种可能的实现方式中,在从聚合层中获取目标任务的目标流程编排函数之前,上述方法还包括:检测到聚合层上对目标任务的创建请求,在工具层的工具显示界面上显示多个功能函数;响应于对工具显示界面显示的多个功能函数中任一功能函数的触发操作,显示任一功能函数对应的功能提示信息;以及,响应于对工具显示界面显示的多个功能函数中的功能函数执行的选中操作,将选中的功能函数确定为目标功能函数;将选中的多个目标功能函数与目标任务关联后,添加至聚合层,以及,响应于在聚合层输入对目标任务关联的多个目标功能函数的执行逻辑信息,在聚合层构建与目标任务关联的目标流程编排函数。
在另一种可能的实现方式中,上述方法还包括:在聚合层的聚合显示界面上,显示的目标流程编排函数以及目标流程编排函数关联的多个目标功能函数对应的目标功能提示信息。
在另一种可能的实现方式中,从聚合层中获取目标任务关联的目标流程编排函数,包括:聚合层接收到应用层发送的对目标任务的执行请求,以及,按照任务与流程编排函数的关联映射关系,将多个流程编排函数中,与目标任务关联的流程编排函数确定为目标流程编排函数。
在另一种可能的实现方式中,按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到用于应用层的任务执行结果,包括:针对目标执行顺序中为执行位序相邻的任意两个目标功能函数,在调用第一目标功能函数对目标任务执行完成后,生成与第一目标功能函数对应的第一子任务执行结果;在第一子任务执行结果指示第一目标功能函数执行成功时,继续调用第二目标功能函数对目标任务进行执行,得到与第二目标功能函数对应的第二子任务执行结果;其中,第一目标功能函数的执行位序早于第二目标功能函数的执行位序在第一子任务执行结果指示第一目标功能函数执行失败时,停止调用第二目标功能函数对目标任务进行执行;将在调用目标功能函数过程中产生的第一子任务执行结果和/或第二子任务执行结果,作为任务执行结果。
在另一种可能的实现方式中,多个功能函数均为typescript语法结构;声明文件为global.d.ts文件。
根据本申请的第二个方面,提供了一种任务执行装置,应用于任务执行系统,任务执行系统包括工具层、聚合层和应用层,工具层包括多个功能函数,多个功能函数之间为非依存关系;任务执行装置包括:获取单元,用于从聚合层中获取目标任务关联的目标流程编排函数;目标流程编排函数是基于Promise定义的,用于指示工具层中执行目标任务的多个目标功能函数以及多个目标功能函数的目标执行顺序;目标任务是基于应用层发起的;调用单元,用于按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到用于应用层的任务执行结果。
在一种可能的实现方式中,工具层还包括文件类型为全局变量的声明文件,声明文件包括多个功能函数分别对应的功能提示信息,功能提示信息用于指示对应的功能函数的参数类型和对应的代码提示。
在另一种可能的实现方式中,在从聚合层中获取目标任务的目标流程编排函数之前,装置还用于:检测到聚合层上对目标任务的创建请求,在工具层的工具显示界面上显示多个功能函数;响应于对工具显示界面显示的多个功能函数中任一功能函数的触发操作,显示任一功能函数对应的功能提示信息;以及,响应于对工具显示界面显示的多个功能函数中的功能函数执行的选中操作,将选中的功能函数确定为目标功能函数;将选中的多个目标功能函数与目标任务关联后,添加至聚合层,以及,响应于在聚合层输入对目标任务关联的多个目标功能函数的执行逻辑信息,在聚合层构建与目标任务关联的目标流程编排函数。
在另一种可能的实现方式中,该装置还用于:在聚合层的聚合显示界面上,显示的目标流程编排函数以及目标流程编排函数关联的多个目标功能函数对应的目标功能提示信息。
在另一种可能的实现方式中,获取装置具体用于:聚合层接收到应用层发送的对目标任务的执行请求,以及,按照任务与流程编排函数的关联映射关系,将多个流程编排函数中,与目标任务关联的流程编排函数确定为目标流程编排函数。
在另一种可能的实现方式中,调用装置具体用于:针对目标执行顺序中为执行位序相邻的任意两个目标功能函数,在调用第一目标功能函数对目标任务执行完成后,生成与第一目标功能函数对应的第一子任务执行结果;在第一子任务执行结果指示第一目标功能函数执行成功时,继续调用第二目标功能函数对目标任务进行执行,得到与第二目标功能函数对应的第二子任务执行结果;其中,第一目标功能函数的执行位序早于第二目标功能函数的执行位序;在第一子任务执行结果指示第一目标功能函数执行失败时,停止调用第二目标功能函数对目标任务进行执行;在调用目标功能函数过程中产生的第一子任务执行结果和/或第二子任务执行结果,作为任务执行结果。
在另一种可能的实现方式中,多个功能函数均为typescript语法结构;声明文件为global.d.ts文件。
根据本申请的第三个方面,提供了一种电子设备,包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行可执行指令,以实现如第一方面及其任一种可能的实现方式的任务执行方法。
根据本申请的第四个方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面及其任一种可能的实现方式的任务执行方法。
根据本申请的第五个方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一种可能的实现方式的任务执行方法。
本申请提供的上述技术方案至少带来以下有益效果:在任务处理系统中设置有工具层、聚合层和应用层。因工具层的上述功能函数之间是互不依赖关联的,则各个不存在内嵌调用的关系功能函数的调用过程和执行过程均不存在依赖关系,即各个功能函数之间是异步调用,以使在聚合层上通过目标流程编排函数调用组合各个目标功能函数对目标任务进行执行的过程,是异步执行的过程,以降低调用各个目标功能函数的调用链路的复杂度。并且其异步执行的调用链路是基于聚合层的目标流程编排函数定义的,如此,开发用户只用查询、修改目标流程编排函数,就能完成对调用链路的查询、修改,以便于对任务的维护和二次开发。
并且,上述目标流程编排函数是基于Promise定义的,以保证在调用函数过程中函数输入和函数返回两个工作线程能线程同步,从而保证对各个功能函数异步调用执行过程合理性和精准性。
相比于相关技术中通过功能函数与功能函数之间的相互调用,上述通过设置的各个层来实现对任务的异步执行,使得各个任务的执行过程均是基于各个层之间的调用和交互完成,执行流程简单,降低了整个调用链路的复杂度、任务执行速度更快,从而提高了应用层向用户的终端设备反馈任务执行结果的反馈速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据一示例性实施例示出的一种任务执行系统的示意图;
图2是根据一示例性实施例示出的一种任务执行方法的流程图一;
图3是根据一示例性实施例示出的一种任务执行方法的流程图二;
图4是根据一示例性实施例示出的一种任务执行过程的示意图;
图5是根据一示例性实施例示出的一种任务执行装置的框图;
图6是根据一示例性实施例示出的一种电子设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。并且,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
并且,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
在对本申请实施例提供的任务执行方法、装置、系统、电子设备和存储介质进行详细介绍之前,先对本申请实施例涉及的应用场景和实施环境进行简单介绍。
首先,对本申请涉及的应用场景进行简单介绍。
随着前端应用需求的日益丰富,后端任务处理系统处理的任务越来越复杂,对任务的处理逻辑也逐渐复杂。通常,设置不同的JavaScript函数作为功能函数来实现不同的任务需求,并让多个不同JavaScript函数通过相互调用的方式进行通信,来完成任务的执行。
然而,上述任务执行过程中,较复杂的任务对应的JavaScript函数数量会较多,不同JavaScript函数相互依赖调用时,会存在多种同步调用和多种异步调用情况,其调用链路十分复杂,不便于任务开发用户查询该调用链路、不利于对任务的维护和二次开发。
针对上述问题,本申请提供了任务执行方法,应用于任务执行系统,并在任务处理系统中设置有工具层、聚合层和应用层。因工具层的上述功能函数之间是互不依赖关联的,则各个不存在内嵌调用的关系功能函数的调用过程和执行过程均不存在依赖关系,即各个功能函数之间是异步调用,以使在聚合层上通过目标流程编排函数调用组合各个目标功能函数对目标任务进行执行的过程,是异步执行的过程,以降低调用各个目标功能函数的调用链路的复杂度。并且其异步执行的调用链路是基于聚合层的目标流程编排函数定义的,如此,开发用户只用查询、修改目标流程编排函数,就能完成对调用链路的查询、修改,以便于对任务的维护和二次开发。
并且,上述目标流程编排函数是基于Promise定义的,以保证在调用函数过程中函数输入和函数返回两个工作线程能线程同步,从而保证对各个功能函数异步调用执行过程合理性和精准性。
相比于相关技术中通过功能函数与功能函数之间的相互调用,上述通过设置的各个层来实现对任务的异步执行,使得各个任务的执行过程均是基于各个层之间的调用和交互完成,执行流程简单,降低了整个调用链路的复杂度、任务执行速度更快。
其次,下面对本申请涉及的实施架构进行简单介绍。
图1是本申请提供的一种任务执行系统的示意图。如图1所示,该任务执行系统包括工具层101、聚合层102和应用层103,该工具层101、聚合层102和应用层103之间可以通过有线网络或无线网络建立连接。
其中,该任务执行系统可以设置在服务器10上。并且,工具层101用于提供功能函数;聚合层102用于调用组合执行任务所需的各个功能函数;应用层103用于发起任务和接收聚合层反馈的任务执行结果。
在一些实施例中,应用层103还用于与各个用户的各个终端设备11进行交互。具体地,终端设备11上设置有该应用层103对应的应用程序。用户在终端设置104的应用程序上发起对某一任务的任务执行请求时,将该任务执行请求发送至应用层103。应用层103将任务执行请求发送至聚合层102。聚合层102基于流程编排函数和任务之间的映射关系,确定该任务的目标流程编排函数。基于目标流程编排函数,依次从应用层102中调用各个目标功能函数,对该任务进行执行。并将执行该任务产生的任务执行结果发送至应用层103。应用层103将该任务执行结果发送至对应的终端设备11。终端设备11接收该任务执行结果,并展示该任务执行结果。
在一些实施例中,服务器10包含有数据库或与数据库连接,各个功能函数可以存储于工具层101对应的数据库中。
另一些实施例中,服务器10可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对服务器10的具体实现方式也不作限制。
终端设备11可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用内容社区应用(如快手)的设备,本公开对该终端设备11的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
可选地,服务器10可以与至少一个终端设备11连接。本申请对终端设备11的数量及类型均不作限制。
本申请实施例提供的任务执行方法可以应用于前述图1所示的实施架构中的任务执行系统。为了便于理解,以下结合附图对本申请提供的任务执行方法进行具体介绍。
图2是根据一示例性实施例示出的一种任务执行方法的流程图,如图2所示,该任务执行方法包括以下步骤。
其中,工具层用于提供功能函数;聚合层用于调用组合执行任务所需的各个功能函数;应用层用于发起任务和接收聚合层反馈的任务执行结果。
S21,从聚合层中获取目标任务关联的目标流程编排函数。
该目标流程编排函数是基于Promise定义的,用于指示工具层中执行目标任务的多个目标功能函数以及多个目标功能函数的目标执行顺序。上述目标流程编排函数是基于Promise定义的,能保证在调用函数过程中函数输入和函数返回两个工作线程能线程同步,从而保证对各个功能函数异步调用执行过程合理性和精准性。
可理解的是,聚合层上构建了任务与流程编排函数关联关系。目标流程编排函数为多个流程编排函数中,与目标任务关联的流程编排函数。
在一些示例中,流程编排函数包括执行任务所需的各个功能函数,以及,各个功能函数的执行顺序。相应地,目标流程编排函数包括执行目标任务所需的各个目标功能函数,以及,各个目标功能函数的执行顺序。
上述目标任务是在应用层发起后发送至聚合层的。
上述工具层包括多个功能函数,多个功能函数之间为非依存关系。
在一些实施例中,该功能函数可以为异步函数。
进一步地,在一些实施方式中,为了便于在各个功能函应用时或应用后,对功能函数的查阅,工具层还设置有文件类型为全局变量的声明文件,并将多个功能函数中各个功能函数对应的功能提示信息设置在该声明文件中。该功能提示信息用于指示功能函数的参数类型和对应的代码提示。
上述功能提示信息也可以称为函数描述信息。
具体地,多个功能函数均为typescript语法结构;声明文件为global.d.ts文件。可理解的是,以typescript语法结构将多个功能函数以及多个功能函数对应的功能提示信息对应写入在global.d.ts文件。
相应地,多个目标功能函数均为typescript语法结构。以typescript语法结构将多个目标功能函数以及多个目标功能函数对应的目标功能提示信息写入在global.d.ts文件。
基于该实施方式,任务开发时能减少函数直接的直接依赖关系,减少跳跃式代码阅读以及函数调用时有代码提示,极大地提高代码可阅读性。
S22,在应用层,按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到任务执行结果。
上述任务执行结果包括各个目标功能函数执行目标任务时产生的执行结果。
具体地,按照目标执行顺序,依次调用多个目标功能函数,直至多个目标功能函数执行目标任务完成或在对多个目标功能函数依次调用过程中,任一目标功能函数执行目标任务失败,得到任务执行结果。
示例性的,以多个目标功能函数分别为函数A、函数B和函数C为例对上述调用过程作以下说明。其中,执行顺序依次为先调用执行函数A,再调用执行函数B和在调用执行函数C。
场景一,在先调用执行函数A时,产生执行结果为a,并执行结果为a时指示执行成功。继续调用执行函数B,产生执行结果为b,并执行结果为b时指示执行成功。继续调用执行函数C,产生执行结果为c,并执行结果为c时可以指示执行成功或也可以指示失败。该场景一下产生的任务执行结果包括a、b和c。
场景二,在先调用执行函数A时,产生执行结果为a,并执行结果为a时指示执行成功。继续调用执行函数B,产生执行结果为b,并执行结果为d时指示执行成功,停止继续调用执行函数C。该场景二下产生的任务执行结果包括a和d。
该实施步骤中,应用层直接从聚合层中获取的目标流程编排函数,在应用层上利用该获取的目标流程编排函数,执行目标任务,得到的任务执行结果直接用于应用层。
需要说明的是,作为另一种实施方式,先在聚合层上,按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到任务执行结;再将聚合层的任务执行结果返回至应用层,以使任务执行结果应用于应用层。
该实施方式中,将聚合层的任务执行结果返回至应用层,使得应用层能将任务执行结果返回至用户的终端设备,以向用户展示任务执行结果。
通过上述实施例,因工具层的上述功能函数之间是互不依赖关联的,则各个不存在内嵌调用的关系功能函数的调用过程和执行过程均不存在依赖关系,即各个功能函数之间是异步调用,以使在聚合层上通过目标流程编排函数调用组合各个目标功能函数对目标任务进行执行的过程,是异步执行的过程,以降低调用各个目标功能函数的调用链路的复杂度。并且其异步执行的调用链路是基于聚合层的目标流程编排函数定义的,如此,开发用户只用查询、修改目标流程编排函数,就能完成对调用链路的查询、修改,以便于对任务的维护和二次开发。
相比于相关技术中通过功能函数与功能函数之间的相互调用,上述实施例中通过设置的各个层来实现对任务的异步执行,使得各个任务的执行过程均是基于各个层之间的调用和交互完成,执行流程简单,降低了整个调用链路的复杂度、任务执行速度更快。
作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体施过程,本申请实施例提供了以下任务执行方法。结合图2如图3所示,上述步骤S22可以通过以下步骤具体执行。
S221,在依次调用多个目标功能函数执行目标任务过程中,针对目标执行顺序中为执行位序相邻的任意两个目标功能函数,在调用第一目标功能函数对目标任务执行完成后,生成与第一目标功能函数对应的第一子任务执行结果。
S222,在第一子任务执行结果指示第一目标功能函数执行成功时,继续调用第二目标功能函数对目标任务进行执行,得到与第二目标功能函数对应的第二子任务执行结果。
其中,第一目标功能函数的执行位序早于第二目标功能函数的执行位序。
S223,在第一子任务执行结果指示第一目标功能函数执行失败时,停止调用第二目标功能函数对目标任务进行执行。
S224,将在调用目标功能函数过程中产生的第一子任务执行结果和/或第二子任务执行结果,作为任务执行结果。
停止对上述多个目标功能函数进行调用的停止条件为:多个目标功能函数执行目标任务完成或在对多个目标功能函数依次调用过程中,任一目标功能函数执行目标任务失败。
作为一种执行顺序的调用方式,聚合层上的各个流程编排函数还设置了函数对应的指针。该指针用于按照流程编排函数指示的执行顺序,依次移动指针指向的指针地址,指定地址指向调用的功能函数的地址位置。
详细地,目标流程编排函数对应的目标指针指向第一目标功能函数。在第一当第一子任务执行结果指示第一目标功能函数执行成功时,目标指针的指针地址加1,指向第二目标功能函数。在第一当第一子任务执行结果指示第一目标功能函数执行失败时,目标指针的指针地址不加1,即,目标指针的指针地址保持不变。示例性的,多个目标功能函数组成一个函数组[array]。函数组[array]内部设置一个指针,指针初始指向函数组[array]中执行顺序最早的目标功能函数(如函数组中第一个目标功能函数)。函数组[array]的每个目标功能函数通过Promise包裹,经过Promise包裹后可以保证即使是异步的函数也可以按照多个目标功能函数的执行顺序顺序执行,每次目标功能函数执行目标任务完成时,该指针+1,执行函数组[array]中后一位的目标功能函数;函数组[array]中各个目标功能函数执行完成或者函数组[array]中任一目标功能函数执行失败。
作为一种流程编排函数的创建方式,在上述步骤S21之前可以通过以下步骤对上述目标流程编排函数进行创建。
S41,检测到聚合层上对目标任务的创建请求,在工具层的工具显示界面上显示多个功能函数。
聚合层上包括的各个任务是在聚合层上自定义创建的。
在聚合层创建目标任务时,工具层能显示多个功能函数,以供任务创建用户对多个目标功能函数进行选择。
S42,响应于对工具显示界面显示的多个功能函数中任一功能函数的触发操作,显示任一功能函数对应的功能提示信息;以及,响应于对工具显示界面显示的多个功能函数中的功能函数执行的选中操作,将选中的功能函数确定为目标功能函数。
可以根据如图4中图(a)所示的工具显示界面显示的各个功能函数:a1、a2、a3、b1、b2和b3和功能提示信息:a1的函数描述信息、a2的函数描述信息、a3的函数描述信息、b1的函数描述信息、b2的函数描述信息、b3的函数描述信息。该功能提示信息设置在声明文件中,即声明文件包括a1的函数描述信息、a2的函数描述信息、a3的函数描述信息、b1的函数描述信息、b2的函数描述信息、b3的函数描述信息。
基于上述工具显示界面显示的多个功能函数的功能提示信息,任务开发人员能掌握各个功能函数的代码指示和参数类型,便于对目标功能函数的确定,以加快目标任务的创建速度。
S43,将选中的多个目标功能函数与目标任务关联后,添加至聚合层,以及,响应于在聚合层输入对目标任务关联的多个目标功能函数的执行逻辑信息,在聚合层构建与目标任务关联的目标流程编排函数。
上述执行逻辑信息可以为基于Promise,自定义的Promise包裹目标功能函数的顺序。
示例性的,在如图4中图(b)所示聚合显示界面上建立的两个目标任务为A1和B1。将从各个功能函数中选中的a1、a2和a3作为A1的多个目标功能函数,并将A1与a1、a2和a3关联,将关联后的A1与a1、a2和a3添加至聚合层,并将形成的对应目标流程编排函数E添加至聚合层。以及,将从各个功能函数中选中的b1、b2和b3作为B1的多个目标功能函数,并将B1与b1、b2和b3关联,将关联后的B1与b1、b2和b3添加至聚合层,并将形成的对应目标流程编排函数F添加至聚合层。
进一步地,如图4中图(c)所示,应用层中应用A对应的目标任务为A1;应用层中应用B对应的目标任务为B1。应用A被触发启动时,发起的目标任务为A1。应用B被触发启动时,发起的目标任务为B1。
通过上述实施方式中,基于功能提示信息,确定目标任务的目标功能函数;再将确定的多个目标功能函数与该目标任务关联,从而使得目标任务被发起时,自动基于该关联关系确定目标任务的多个目标功能函数;同时目标任务也对应地与目标流程编排函数建立了关联关系,以使目标任务被发起时,基于该目标流程编排函数对多个目标功能函数按序执行。
在一种可能的实施方式中,针对已在聚合层上创建完成目标任务的场景,还可以基于聚合层,执行以下步骤:在聚合层的聚合显示界面上,显示的目标流程编排函数以及目标流程编排函数关联的多个目标功能函数对应的目标功能提示信息。上述显示目标流程编排函数,能便于任务开发人员查询该任务的调用链路;以及,上述在聚合层上显示的目标功能提示信息,能使任务开发人员直接聚合层显示的目标任务直接查阅目标功能函数的代码提示和参数类型提示,省略了任务开发人员切换至存储有目标函数功能的文件进行查询的步骤,从而简化查阅流程,加快任务构建和任务执行的速度。
在一种可能的实施方式中,上述S21可以通过以下方式具体实施:聚合层接收到应用层发送的对目标任务的执行请求,以及,按照任务与流程编排函数的关联映射关系,将多个流程编排函数中,与目标任务关联的流程编排函数确定为目标流程编排函数。
上述实施方式中,基于聚合层中任务与流程编排函数的关联映射关系,直接确定目标任务的关联的目标流程编排函数,以基于目标流程编排函数包括的多个目标功能函数和多个目标功能函数的执行顺序,对目标任务进行执行。
以下结合支付场景为为例,对目标任务的执行流程作以进一步说明。其中,工具层包括的多个功能函数为:用于反洗钱确认的功能函数、用于第三方支付的功能函数、用于普通支付的功能函数、用于获取订单信息的功能函数和用于续期支付的功能函数。应用层发起的目标任务可以为购买支付和订单支付。对应地,聚合层包括用于购买支付函数聚合的目标流程编排函数1和用于订单支付聚合的目标流程编排函数2。
购买支付的目标任务按顺序需要完成以下功能:反洗钱确认、第三方支付和普通支付。应用层接收购买支付的任务请求,在应用层上发起购买支付的目标任务;进一步地,在聚合层调用该目标任务对应的目标流程编排函数1为([用于获取订单信息的功能函数、用于反洗钱确认的功能函数、用于普通支付的功能函数],其他参数),执行该买支付的目标任务。
同理,订单支付的目标任务按顺序需要完成以下功能:获取订单信息、反洗钱确认、第三方支付、续期支付。应用层接收购买支付的任务请求,在应用层上发起购买支付的目标任务;进一步地,在聚合层调用该目标任务对应的目标流程编排函数2为([用于获取订单信息的功能函数、用于反洗钱确认的功能函数、用于第三方支付的功能函数、用于续期支付的功能函数],其他参数),执行该买支付的目标任务。
在上述购买支付或订单支付的目标任务执行期间,根据订单状态的不同和环境的不同,使用对应的目标流程编排函数中Promise包裹的reject(拒绝)和resolve(通过)来确定各个目标功能函数的执行成功与否,来保证是否需要往下继续执行。
为了实现上述功能,任务执行装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种如图5所示的任务执行装置,应用于任务执行系统,任务执行系统包括工具层、聚合层和应用层,工具层包括多个功能函数,多个功能函数之间为非依存关系;该任务执行装置包括:获取单元501和调用单元502。
获取单元501,用于从聚合层中获取目标任务关联的目标流程编排函数;目标流程编排函数是基于Promise定义的,用于指示工具层中执行目标任务的多个目标功能函数以及多个目标功能函数的目标执行顺序;目标任务是基于应用层发起的。
调用单元502,用于按照目标流程编排函数指示的目标执行顺序,依次调用多个目标功能函数执行目标任务,得到用于应用层的任务执行结果。
在一种可能的实现方式中,工具层还包括文件类型为全局变量的声明文件,声明文件包括多个功能函数分别对应的功能提示信息,功能提示信息用于指示对应的功能函数的参数类型和对应的代码提示。
在另一种可能的实现方式中,在从聚合层中获取目标任务的目标流程编排函数之前,该装置还用于:检测到聚合层上对目标任务的创建请求,在工具层的工具显示界面上显示多个功能函数;响应于对工具显示界面显示的多个功能函数中任一功能函数的触发操作,显示任一功能函数对应的功能提示信息;以及,响应于对工具显示界面显示的多个功能函数中的功能函数执行的选中操作,将选中的功能函数确定为目标功能函数;将选中的多个目标功能函数与目标任务关联后,添加至聚合层,以及,响应于在聚合层输入对目标任务关联的多个目标功能函数的执行逻辑信息,在聚合层构建与目标任务关联的目标流程编排函数。
在另一种可能的实现方式中,该装置还用于:在聚合层的聚合显示界面上,显示的目标流程编排函数以及目标流程编排函数关联的多个目标功能函数对应的目标功能提示信息。
在另一种可能的实现方式中,获取装置501具体用于:聚合层接收到应用层发送的对目标任务的执行请求,以及,按照任务与流程编排函数的关联映射关系,将多个流程编排函数中,与目标任务关联的流程编排函数确定为目标流程编排函数。
在另一种可能的实现方式中,调用装置502具体用于:针对目标执行顺序中为执行位序相邻的任意两个目标功能函数,在调用第一目标功能函数对目标任务执行完成后,生成与第一目标功能函数对应的第一子任务执行结果;在第一子任务执行结果指示第一目标功能函数执行成功时,继续调用第二目标功能函数对目标任务进行执行,得到与第二目标功能函数对应的第二子任务执行结果;其中,第一目标功能函数的执行位序早于第二目标功能函数的执行位序;在第一子任务执行结果指示第一目标功能函数执行失败时,停止调用第二目标功能函数对目标任务进行执行;在调用目标功能函数过程中产生的第一子任务执行结果和/或第二子任务执行结果,作为任务执行结果。
在另一种可能的实现方式中,多个功能函数均为typescript语法结构;声明文件为global.d.ts文件。
关于上述实施例中的装置,其中各个单元模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是本申请提供的一种电子设备的示意图。如图6,该电子设备60可以包括至少一个处理器601以及用于存储处理器可执行指令的存储器603。其中,处理器601被配置为执行存储器603中的指令,以实现以下实施例中的任务执行方法。
另外,电子设备60还可以包括通信总线602、至少一个通信接口604、输入设备606和输出设备605。
处理器601可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线602可包括一通路,在上述组件之间传送信息。
通信接口604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
输入设备606用于接收输入信号和输出设备605用于输出信号。
存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器603用于存储执行本申请方案的指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的指令,从而实现本申请方法中的功能。
在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,例如图6中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备60可以包括多个处理器,例如图6中的处理器601和处理器607。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
该电子设备如图6所示包括:处理器601和用于存储处理器601可执行指令的存储器603;其中,处理器601被配置为执行可执行指令,以实现如上述任一种可能的实施方式的任务执行方法。且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,当计算机可读存储介质中的指令由任务执行装置或电子设备的处理器执行时,使得任务执行装置或电子设备能够执行如上述任一种可能的实施方式的任务执行方法。且能达到相同的技术效果,为避免重复,这里不再赘述。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的任务执行方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行如上述任一种可能的实施方式的任务执行方法。且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种任务执行方法,其特征在于,应用于任务执行系统,所述任务执行系统包括工具层、聚合层和应用层,所述工具层包括多个功能函数,所述多个功能函数之间为非依存关系;所述任务执行方法包括:
从所述聚合层中获取目标任务关联的目标流程编排函数;所述目标流程编排函数是基于Promise定义的,用于指示所述工具层中执行所述目标任务的多个目标功能函数以及所述多个目标功能函数的目标执行顺序;所述目标任务是基于所述应用层发起的;
按照所述目标流程编排函数指示的所述目标执行顺序,依次调用所述多个目标功能函数执行所述目标任务,得到用于所述应用层的任务执行结果。
2.根据权利要求1所述的方法,其特征在于,所述工具层还包括文件类型为全局变量的声明文件,所述声明文件包括所述多个功能函数分别对应的功能提示信息,所述功能提示信息用于指示对应的所述功能函数的参数类型和对应的代码提示。
3.根据权利要求2所述的方法,其特征在于,在所述从所述聚合层中获取目标任务的目标流程编排函数之前,所述方法还包括:
检测到所述聚合层上对所述目标任务的创建请求,在所述工具层的工具显示界面上显示所述多个功能函数;
响应于对所述工具显示界面显示的所述多个功能函数中任一功能函数的触发操作,显示所述任一功能函数对应的功能提示信息;以及,响应于对所述工具显示界面显示的所述多个功能函数中的功能函数执行的选中操作,将选中的所述功能函数确定为所述目标功能函数;
将选中的多个目标功能函数与所述目标任务关联后,添加至所述聚合层,以及,响应于在所述聚合层输入对所述目标任务关联的所述多个目标功能函数的执行逻辑信息,在所述聚合层构建与所述目标任务关联的所述目标流程编排函数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述聚合层的聚合显示界面上,显示的所述目标流程编排函数以及所述目标流程编排函数关联的所述多个目标功能函数对应的目标功能提示信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述从所述聚合层中获取目标任务关联的目标流程编排函数,包括:
所述聚合层接收到所述应用层发送的对所述目标任务的执行请求,以及,按照任务与流程编排函数的关联映射关系,将多个所述流程编排函数中,与所述目标任务关联的流程编排函数确定为所述目标流程编排函数。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述按照所述目标流程编排函数指示的所述目标执行顺序,依次调用所述多个目标功能函数执行所述目标任务,得到用于所述应用层的任务执行结果,包括:
针对所述目标执行顺序中为执行位序相邻的任意两个目标功能函数,在调用第一目标功能函数对所述目标任务执行完成后,生成与所述第一目标功能函数对应的第一子任务执行结果;
在所述第一子任务执行结果指示所述第一目标功能函数执行成功时,继续调用第二目标功能函数对所述目标任务进行执行,得到与所述第二目标功能函数对应的第二子任务执行结果;其中,所述第一目标功能函数的执行位序早于所述第二目标功能函数的执行位序;
在所述第一子任务执行结果指示所述第一目标功能函数执行失败时,停止调用第二目标功能函数对所述目标任务进行执行;
将在调用所述目标功能函数过程中产生的所述第一子任务执行结果和/或所述第二子任务执行结果,作为所述任务执行结果。
7.一种任务执行装置,其特征在于,应用于任务执行系统,所述任务执行系统包括工具层、聚合层和应用层,所述工具层包括多个功能函数,所述多个功能函数之间为非依存关系;所述任务执行装置包括:
获取单元,用于从所述聚合层中获取目标任务关联的目标流程编排函数;所述目标流程编排函数是基于Promise定义的,用于指示所述工具层中执行所述目标任务的多个目标功能函数以及所述多个目标功能函数的目标执行顺序;所述目标任务是基于所述应用层发起的;
调用单元,用于按照所述目标流程编排函数指示的所述目标执行顺序,依次调用所述多个目标功能函数执行所述目标任务,得到用于所述应用层的任务执行结果。
8.一种任务执行系统,其特征在于,所述任务执行系统包括工具层、聚合层和应用层,所述工具层包括多个功能函数,所述多个功能函数之间为非依存关系;所述任务执行系统用于执行如权利要求1-6中任一项所述的任务执行方法。
9.一种电子设备,其特征在于,包括:
处理器和用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1-6中任一项所述的任务执行方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的任务执行方法。
CN202310827352.3A 2023-07-06 2023-07-06 任务执行方法、装置、系统、电子设备和存储介质 Pending CN116954855A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310827352.3A CN116954855A (zh) 2023-07-06 2023-07-06 任务执行方法、装置、系统、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310827352.3A CN116954855A (zh) 2023-07-06 2023-07-06 任务执行方法、装置、系统、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116954855A true CN116954855A (zh) 2023-10-27

Family

ID=88441984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310827352.3A Pending CN116954855A (zh) 2023-07-06 2023-07-06 任务执行方法、装置、系统、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116954855A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472478A (zh) * 2023-12-22 2024-01-30 科大讯飞股份有限公司 自动化流程生成方法及相关装置和系统、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472478A (zh) * 2023-12-22 2024-01-30 科大讯飞股份有限公司 自动化流程生成方法及相关装置和系统、设备和存储介质
CN117472478B (zh) * 2023-12-22 2024-04-26 科大讯飞股份有限公司 自动化流程生成方法及相关装置和系统、设备和存储介质

Similar Documents

Publication Publication Date Title
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
CN109189799A (zh) 业务数据查询方法、装置、计算机设备及存储介质
US9268854B2 (en) Analytics based on pipes programming model
WO2019144769A1 (zh) 一种流量切换方法、装置、及计算机设备
CN116954855A (zh) 任务执行方法、装置、系统、电子设备和存储介质
CN110187923A (zh) 一种应用于多cpu板卡的cpu启动方法和装置
CN113282795A (zh) 数据结构图生成及更新方法、装置、电子设备及存储介质
US11763699B1 (en) Change data driven tactile response
CN111626602A (zh) 业务处理方法、业务处理装置、存储介质与电子设备
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
US11887068B2 (en) Transaction settlement method and apparatus
CN113435880A (zh) 一种基于聚合码的支付页面发送方法、装置、设备及介质
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
CN111651158A (zh) 表单页面生成方法、装置、终端及存储介质
CN112330421B (zh) 订单处理方法、装置、电子设备及存储介质
CN109711809A (zh) 商户属性设置方法、装置、计算机设备及存储介质
CN115358853A (zh) 一种订单处理系统、方法、装置、设备以及存储介质
CN114925105A (zh) 保险业务的造数方法及相关设备
CN114741294A (zh) 一种页面的调试方法、装置、设备及存储介质
US20180189169A1 (en) Method,electronic apparatus, system, and storage medium for automated testing of application user interface
WO2022125195A1 (en) Cached balance inspection in real-time card transactions
US11037233B1 (en) Personalized financial account statement
CN116452144A (zh) 工作流处理方法、装置、电子设备、存储介质及程序产品
CN109634500A (zh) 一种用户资料填写方法、装置、终端设备及存储介质
CN113128187B (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