CN113672371A - 任务引擎执行方法及其装置、设备与介质 - Google Patents
任务引擎执行方法及其装置、设备与介质 Download PDFInfo
- Publication number
- CN113672371A CN113672371A CN202110974899.7A CN202110974899A CN113672371A CN 113672371 A CN113672371 A CN 113672371A CN 202110974899 A CN202110974899 A CN 202110974899A CN 113672371 A CN113672371 A CN 113672371A
- Authority
- CN
- China
- Prior art keywords
- subtask
- task
- execution unit
- configuration
- linked list
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013507 mapping Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 29
- 238000011161 development Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
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
本申请公开一种任务引擎执行方法及其装置、设备与介质,所述方法包括:获取配置服务器中任务执行单元相对应的配置实例,配置实例包含任务名称及子任务链表,链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息;解析子任务链表获取其各个节点相对应的子任务的配置信息,根据配置信息确定相应的子任务的运行入口相对应的调用地址;响应微服务架构中在线服务的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务。本申请的应用可解决了对复杂流程的实现逻辑,同时做到对子任务的配置编排,实现子任务的可复用性,提升开发效率。
Description
技术领域
本申请涉及计算机服务领域,尤其涉及一种任务引擎执行方法,此外还涉及该方法相应的装置、设备以及非易失性存储介质。
背景技术
在计算机服务领域中,电商业务领域的逻辑相对来说是比较复杂的,整个领域又可以分为商品,交易,营销,用户,物流,支付等子领域。在每个子领域中又有复杂的业务逻辑。例如,在商品域中,创建商品包含的逻辑就有,创建商品信息、sku信息、分类信息、库存信息、图片信息、标签信息等等。一个创建商品的动作就包含了多个流程任务。同理在交易域中也包含了多个复杂的业务流程,每个流程都可以独立定义为一个完整的流程任务。
对于要实现如此复杂的业务流程来说,代码量是非常庞大的,每个业务子流程之间还有一定的关联性,传统实现这类业务流程是直接创建一个大流程处理方法根据业务逻辑把每个子流程任务顺序调用,得到的结果传给下一个任务,对于不同的业务服务,就需要不同的处理方法。例如商品创建功能,订单创建功能就需要两个大的流程处理方法,传统处理方法中也有使用策略模式来实现,不同的业务功能,但是策略模式的缺点是需要实现共同的接口,需要把所有业务参数内容整合到一个参数中,这样导致了复杂的参数传递。对此,我们提出了两个问题:
问题一:对于电商不同的领域,复杂业务的情况下,各子任务之间的运行流程较为复杂,仅通过共同的接口进行流程的编排整合,无法使各子任务聚合为一个完整的任务执行单元,易在子任务传递参数时发生错误,导致流程中各子任务无法流畅运行,造成整个业务流程的崩溃。
问题二:传统的代码处理业务逻辑都是根据既有的逻辑顺序,编写固定的代码流程,各业务流程中的子任务高度定制化,即通用的子任务也仅能为一个业务流程服务,使开发人员在开发业务流程时无法复用通用的子任务,浪费开发人员的开发时间,影响开发效率。
鉴于各种现有技术均无法满足上述的各种问题,本申请人出于满足该些需求的考虑做出相应的探索。
发明内容
本申请的目的在于满足现有技术的需求或克服现有技术的至少部分不足而提供一种任务引擎执行方法及其相应的装置、电子设备、非易失性存储介质。
为实现本申请的目的,采用如下技术方案:
适应本申请的目的而提出的一种任务引擎执行方法,包括如下步骤:
获取配置服务器中任务执行单元相对应的配置实例,所述配置实例包含任务名称及子任务链表,所述链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息;
解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址;
响应微服务架构中在线服务实例调用所述任务执行单元的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务。
进一步的实施例中,所述子任务链表为单向链表,其每个节点相对应的子任务的配置信息中包括本任务名称及下一子任务名称,通过所述下一任务名称指向下一任务而构成所述的单向链表。
进一步的实施例中,本方法包括前置步骤:
向配置服务器获取任务执行单元编辑页面;
解析显示所述编辑页面以提供该任务执行单元所需的配置要素信息;
响应于所述编辑页面的提交指令,驱动配置服务器根据所述配置要素信息被解析为归属于不同类型而相应创建该任务执行单元的不同子任务配置信息而构造配置实例,所述配置信息包括子任务的本任务名称以及子任务所指向的下一子任务名称。
进一步的实施例中,解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址的步骤,包括:
根据所述配置实例中的子任务链表解析出其各个节点的子任务的配置信息;
解析出各个所述的配置信息,获取其本任务名称及下一子任务名称;
根据各个配置信息的本任务名称确定相应的子任务的运行入口在微服务架构的容器中的调用地址,构造缓存调用表用于缓存子任务的本任务名称到其调用地址的映射关系数据。
较佳的实施例中,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务的步骤,包括:
响应在线服务推送的所述任务调用请求,解析该任务调用请求,获取其所包含的任务名称以确定该请求所指向的任务执行单位;
调用该任务执行单元先前解析的子任务链表中各节点所存储的子任务的配置信息,顺序调用各节点所指向的子任务的调用地址;
通过当前获取所得子任务的所述调用地址,触发运行该子任务;
以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行。
进一步的实施例中,以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行的步骤,包括:
监控所述任务执行单元的子任务链表中各子任务的运行情况,将当前运行的子任务的执行结果信息对应缓存至执行结果缓存表中;
确定所述执行结果缓存表中最新缓存的执行结果信息所表征的运行结果,当所述运行结果为运行失败时,将重新执行该执行结果信息所对应的子任务,直至所述执行结果信息所表征的运行结果为运行成功,运行该子任务的下一子任务;
以此类推,依次缓存所述子任务链表中各子任务的所述执行结果信息至所述执行结果缓存表中,直至完成所述任务执行单元的运行,以清空所述结果缓存表。
进一步的实施例中,所述任务执行单元为如下任意一种:
用于执行商品信息存储的商品创建单元;
用于执行商品订单创建的订单创建单元;
用于执行商品活动创建的活动创建单元;
用于执行直播间创建的直播间创建单元。
适应本申请的目的而提出的一种任务引擎执行装置,其包括:
实例获取模块,用于获取配置服务器中任务执行单元相对应的配置实例,所述配置实例包含任务名称及子任务链表,所述链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息;
配置信息解析模块,用于解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址;
请求响应模块,用于响应微服务架构中在线服务实例调用所述任务执行单元的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务。
进一步的实施例中,所述配置信息解析模块包括:
信息解析子模块,用于根据所述配置实例中的子任务链表解析出其各个节点的子任务的配置信息;
名称获取子模块,用于解析出各个所述的配置信息,获取其本任务名称及下一子任务名称;
缓存调用表构造子模块,用于根据各个配置信息的本任务名称确定相应的子任务的运行入口在微服务架构的容器中的调用地址,构造缓存调用表用于缓存子任务的本任务名称到其调用地址的映射关系数据。
进一步的实施例中,所述请求响应模块包括:
请求解析子模块,用于响应在线服务推送的所述任务调用请求,解析该任务调用请求,获取其所包含的任务名称以确定该请求所指向的任务执行单位;
配置信息获取子模块,用于调用该任务执行单元先前解析的子任务链表中各节点所存储的子任务的配置信息,顺序调用各节点所指向的子任务的调用地址;
子任务运行子模块,用于通过当前获取所得子任务的所述调用地址,触发运行该子任务;
循环执行子模块,用于以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行。
适应本申请的目的而提出的一种电子设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行所述任务引擎执行方法的步骤。
适应本申请的目的而提出的一种非易失性存储介质,其存储有依据所述任务引擎执行方法所实现的计算机程序,所述计算机程序被计算机调用运行时,执行其相应的方法所包括的步骤。
相对于现有技术,本申请的优势如下:
本申请通过构建任务执行引擎,用于配置、解析及执行通用标准化的业务流程的任务执行单元,通过将多个子任务构建为任务执行单元以构造相应的业务流程,聚合各子任务的执行流程,实现复杂的业务逻辑,任务执行单元中通过子任务链表编排各子任务的运行顺序,以便顺序运行各子任务完成在线服务的业务流程,因此可通过任务执行引擎定制各类型的业务流程,区别与传统的策略模式,将所有业务参数整合至同一参数中导致各子任务之间复杂的参数传递,任务执行引擎通过子任务链表编排各子任务之间的数据传递,使数据可层层递进地在各子任务之间进行传输,使各子任务之间的参数的传输较为清晰可视,提升业务流程整体的鲁棒性。
其次,本申请的配置服务器中预先设有多个类型的子任务供开发人员进行任务执行单元的编辑创建以构造复杂的业务流程,各类型的子任务可被开发人员复用,使开发人员不需要在每次开发业务流程时,重复开发通用的子任务而浪费时间,仅需从配置服务器中选定通用的子任务配置到流程中即可,有效地提升了开发人员的开发效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图;
图2为本申请的任务引擎执行方法的典型实施例的流程示意图;
图3为本申请管理端、配置服务器、执行服务器及在线服务之间的交互逻辑的示意图;
图4为图2中步骤S12的实施例的具体步骤所形成的流程示意图;
图5为图2中步骤S13的实施例的具体步骤所形成的流程示意图;
图6为图5中步骤S134的实施例的具体步骤所形成的流程示意图;
图7为本申请关于任务执行单元的编辑的实施例的具体步骤所形成的流程示意图,其为本申请的前置步骤;
图8为本申请的任务引擎执行装置的典型实施例的原理框图;
图9为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个业务服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82或者第三方服务器(未图示)提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
所述的应用程序,是指运行于服务器或终端设备上的应用程序,这一应用程序采用编程的方式实现了本申请的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的非易失性存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本申请的相关装置。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
本申请中适于在终端设备实现的技术方案也可以被编程内置于提供网络直播的应用程序中,作为其一部分扩展功能。所述的网络直播,是指一种基于前述的网络部署架构所实现的一种直播间网络服务。
本申请所称的直播间,是指依靠互联网技术实现的一种视频聊天室,通常具备音视频播控功能,包括主播用户和观众用户,观众用户可以包括已经在平台中注册的注册用户,也可以是未注册的游客用户;可以是关注了主播用户的注册用户,也可以是未关注主播用户的注册或未注册用户。主播用户与观众用户之间可通过语音、视频、文字等公知的线上交互方式来实现互动,一般是主播用户以音视频流的形式为观众用户表演节目,并且在互动过程中还可产生经济交易行为。当然,直播间的应用形态并不局限于在线娱乐,也可推广到其他相关场景中,例如教育培训场景、视频会议场景、产品推介销售场景以及其他任何需要类似互动的场景中。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
请参阅图2,本申请的一种任务引擎执行方法,在其典型实施例中,其包括如下步骤:
步骤S11,获取配置服务器中任务执行单元相对应的配置实例,所述配置实例包含任务名称及子任务链表,所述链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息:
执行服务器获取所述配置服务器中所述任务执行单元相对应的配置实例,该配置实例包含所述任务名称及其子任务链表,该子任务链表中包含多个以一定执行顺序组织的节点,各节点对应储存一个子任务的配置信息。
配置服务器中储存着多个预先设置的任务执行单元,各所述任务执行单元通过其自身子任务链表顺序封装自身所对应的业务中相关的子任务的执行逻辑,配置服务器通过解析管理端针对任一所述任务执行单元自定义的配置要素信息,根据配置要素信息配置该任务执行单元的配置实例中所述子任务链表中子任务的配置信息,触发执行服务器获取该任务执行单元的配置实例进行解析,以响应执行服务的针对该任务执行单元的任务调用请求依照所述子任务链表按序执行子任务,完成该任务执行单元的执行,关于所述任务执行单元的类型,一般包含用于执行商品信息存储的商品创建单元、用于执行商品订单创建的订单创建单元、用于执行商品活动创建的活动创建单元、用于执行直播间创建的直播间创建单元等在线服务中相应业务的任务执行单元。
一种实施例中,配置服务器中预先设有各类型的所述子任务,当其需创建任务执行单元时,仅需调用相应的子任务进行组合,即可完成所述任务执行调用的实例配置的构建,即配置服务器中预设的各类型的子任务可被多次调用,使开发人员在开发任务执行单元时,不需要重新开发子任务进行构建,即需从配置服务器中预设的各类型的子任务中选择该任务执行单元所需的子任务进行组合即可,进而节省了开发人员的开发时间,有效地提升了开发人员开发任务执行单元的开发效率。
所述执行服务器预先从所述配置服务器中获取任意任务执行单元相对应的配置实例进行解析,以为响应微服务架构中的在线服务完成的请求完成所述任务执行单元的执行,为在线服务配置相应的业务,例如,当所述任务执行单元为用于执行商品信息储存的商品创建单元时,其将预先从所述配置服务器中获取该任务执行单元的配置实例进行解析,以完成为在线服务完成该任务执行单元所对应的创建。
所述的任务执行单元中包含的子任务链表一般为单向链表,链表中各节点储存相应的子任务的配置信息,所述配置信息中一般包含表征子任务名称的本任务名称及与其相连的子任务的下一子任务名称,以使各节点之间相互串联,执行服务器在执行所述子任务链表时,从链表的首节点开始,完成该首节点相对应子任务运行后,通过该首节点中子任务的配置信息的下一子任务名称,执行该首节点的下一节点所单元的子任务。
一种实施例中,所述子任务的配置信息除了配备有本任务名称标识自身及下一子任务名称标识其下一串联的子任务外,该配置信息中一般还包含用于运行子任务的调用地址,以便执行服务器运行所述子任务时,通过该子任务的调用地址获取子任务的代码实例进行运行。
请参考图3,图3为本申请各端之间的交互逻辑的示意图,管理端向配置服务器请求配置服务器中预先配置的子任务进行任务执行单元的创建编辑,配置服务器将接收管理端提交的针对该任务执行单元的配置要素信息,以根据该配置要素信息构建该任务执行单元的所述配置实例,便于执行服务器获取该配置实例进行解析,响应在线服务的任务调用请求,顺序运行该配置实例中包含的子任务链表中各子任务,完成所述子任务模块的运行,例如,所述任务调用请求为请求用于商品编辑的商品创建的任务执行单元进行任务创建时,执行服务器响应该请求,并接收在线服务的商品信息,根据该商品信息及所述任务执行单元,顺序执行该任务执行单元的子任务链表中各子任务,以完成所述商品信息所对应的商品的创建;通过上述举例,可以理解,所述配置服务器及执行服务器组成任务引擎,以为管理端及在线服务完成相应任务执行单元所对应的业务的流程。
步骤S12,解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址:
执行服务器获取所述任务执行单元的所述配置实例后,将解析该配置实例中包含的所述子任务链表,获取该子任务链表中各个节点相对应的子任务的配置信息,以根据该些子任务的配置信息确定各子任务的所述调用地址,便于后续通过该些调用地址,运行相对应的子任务。
执行服务器获取所述子任务链表中各节点相对应的子任务的配置信息,根据该些配置信息中包含的本任务名称及下一节点名称,确定该些节点各自对应子任务在所述任务执行单元中的运行顺序,具体的,执行服务器向确定所述子任务链表中的首节点,并根据该首节点的所述配置信息中包含的本任务名称及下一节点名称,确定该首节点对应的子任务及其下一节点,以此类推,直至确定该子任务链表中所有节点所对应的子任务的运行顺序。
当执行服务器解析执行所述子任务链表中任意节点的子任务时,将通过该节点储存的子任务的配置信息中包含的本任务名称,从微服务架构的容器中查询改子任务的执行代码的调用地址,以便根据该调用地址运行所述容器中该子任务的执行代码,执行服务器将该子任务的所述本任务名称及调用入口对应缓存至缓存调用表,以此类推,根据其先前确定所述子任务链表中所有节点所对应的子任务的运行顺序,按序缓存该些节点对应的子任务的所述本任务名称及调用地址至所述缓存调用表中,以便后续执行服务器通过该缓存调用表顺序运行该些子任务的执行代码。
请参考图4,关于执行服务器解析所述任务执行调用的配置实例的具体实施方式,其具体实施步骤如下:
步骤S121,根据所述配置实例中的子任务链表解析出其各个节点的子任务的配置信息:
执行服务器根据所述配置实例中的子任务链表,解析获取该子任务链表中所有节点各种存储的子任务的所述配置信息。
步骤S122,解析出各个所述的配置信息,获取其本任务名称及下一子任务名称:
执行服务器解析获取该些子任务的所述配置信息后,获取该些所述配置信息中各种包含的表征自身子任务名称的所述本任务名称及表征其下一子任务的所述下一子任务名称,以便按照所述子任务链表中各节点的排序,确定该些子任务之间的串联关系。
步骤S123,根据各个配置信息的本任务名称确定相应的子任务的运行入口在微服务架构的容器中的调用地址,构造缓存调用表用于缓存子任务的本任务名称到其调用地址的映射关系数据:
执行服务器根据该些子任务的所述配置信息中包含的本任务名称,将该些本任务名称作为运行入口,在所述为服务机构的容器中查询该些本任务名称各自对应的调用地址,并构造所述缓存调用表,以将表征将该些本任务名称及其对应的调用地址作为所述映射关系数据的缓存至该缓存调用表中。
所述映射关系数据中包含所述本任务名称及其对应的所述调用地址,所述缓存调用表中存储各个所述映射关系数据,以使各本任务名称与其对应的调用地址对应在该缓存调用列表中对应缓存。
所述微服务架构是指执行服务器、配置服务器及在线服务一同组成的服务架构,各端之间相互配合,以完成相应业务的任务的配置、下发、解析及运行的流程,所述微服务架构的容器中存储着各子任务的执行代码及其对应的所述调用地址,该些执行代码及其对应的所述调用地址自身携带相对应的子任务标识进行分类,以便执行服务器通过子任务的所述本任务名称,从该容器中查询该子任务的所述调用地址,并在需运行该子任务时,通过该调用地址运行该子任务的执行代码。
执行服务器在运行任意所述任务执行单元时,一般根据该任务执行单元的所述子任务执行链表各节点所对应的子任务的排序,按序在该任务执行单元所对应的所述缓存调用列表中查询相对应的本任务名称,以确定本任务名称所对应的所述调用地址作为本任务名称所对应的子任务的运行入口,通过所述调用地址运行该子任务的执行代码以运行该子任务。
一种实施例中,所述缓存调用列表按照所述子任务链表中各节点的排序,排序其自身缓存的各所述映射关系数据,以便后续执行服务器运行所述任务执行单元时,不需要参考所述子任务链表中各节点的排序,仅需按照所述缓存调用列表中各映射关系数据的排序,即可顺序运行各子任务,以提升执行服务器执行任务执行单元的效率。
步骤S13,响应微服务架构中在线服务实例调用所述任务执行单元的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务:
执行服务响应所述微服务架构中在线服务的所述任务调用请求,根据所述任务调用请求中的任务名称确定该请求所指向的任务执行单元,调用该任务执行调用先前解析的所述子任务链表,顺序运行所述任务执行单元的配置实例中各子任务,完成该任务执行单元的运行,以完成所述在线服务中相应业务。
当所述微架构中的在线服务需要执行相应的业务时,将向所述执行服务器推送包含执行该业务所需的任务执行单元的所述任务名称的所述任务调用请求,以触发执行服务器根据所述任务调用请求的该任务名称,确定其所需运行的任务执行单元,调用先前解析该任务执行单元的配置实例中的子任务链表,顺序运行该任务执行单元中各子任务,完成该任务执行单元的运行,以完成所述执行服务中所述业务的执行,例如,当所述执行服务需执行的业务为商品创建时,其将向执行服务器推送任务名称为商品创建单元的任务调用请求,以触发执行服务器调用商品创建单元的任务执行单元,顺序运行该任务执行单元中各子任务,以完成该商品创建业务所指向的商品的创建。
一种实施例中,执行服务器响应所述任务调用请求时,根据该请求中包含的任务名称确定该请求所指向的任务执行单元,调用其预先解析该任务执行调用的配置实例中子任务链表所构建的缓存调用列表,根据预先解析所述子任务链表所确定的各子任务的执行顺序,按序根据该些子任务的本任务名称调用该缓存调用列表中缓存的各映射关系数据,通过映射关系数据中调用地址运行相应的子任务,以完成所述任务执行单元中所有子任务的运行。
请参考图5,关于执行服务器根据所述任务调用请求,顺序该请求所指向的任务执行单元中各子任务的具体实施方式,其具体实施步骤如下:
步骤S131,响应在线服务推送的所述任务调用请求,解析该任务调用请求,获取其所包含的任务名称以确定该请求所指向的任务执行单位:
执行调用响应所述在线服务推送的所述任务调用请求,解析该任务调用请求,以获取该请求所包含的任务名称,确定该任务调用请求所指向的任务执行单元。
一种实施例中,当所述在线服务所调用的任务执行单元为商品创建单元等需对象特征信息才可执行的任务执行单元时,在线服务所推送的任务调用请求中包含所述对象特征信息,以便执行服务器执行所述任务执行单元时,将该对象特征信息馈入至该任务执行单元中相应的子任务,以触发子任务根据所述对象特征信息进行运行,例如,当所述任务执行单元为商品创建单元时,其包含的子任务一般有校验商品信息子任务、保存商品信息子任务、保存SKU信息子任务及保存分类信息子任务等等用于执行商品创建业务的子任务,在线服务所推送的任务调用请求中一般包含商品特征信息,即商品的名称、价格、类型等特征信息,以便执行单元将该商品特征信息馈入至所述商品创建单元的各子任务中,触发各子任务根据该商品特征信息进行运行。
步骤S132,调用该任务执行单元先前解析的子任务链表中各节点所存储的子任务的配置信息,顺序调用各节点所指向的子任务的调用地址:
执行服务器确定所述任务调用请求所执行的任务执行单元后,将调用该任务执行单元先前解析的子任务链表中各节点所储存的子任务的配置信息,以按照该子任务链表中各节点的排序,按序调用该些子任务的所述调用地址。
一种实施例中,执行服务器先前解析所述任务执行单元的所述子任务链表时,将该子任务链表中各节点所储存的子任务的配置信息中包含的本任务名称及根据该些本任务名称从微服务框架中的容器所查询获取的调用地址对应构建为映射关系数据,以将该些映射该些数据缓存至缓存调用列表中,其在调用该任务执行单元时,将根据各子任务所对应的节点在所述子任务链表中的排序,按序根据该些子任务的本任务名称查询该缓存调用列表中缓存的各映射关系数据,以获取各映射关系数据的调用地址进行调用。
步骤S133,通过当前获取所得子任务的所述调用地址,触发运行该子任务:
执行服务器通过当前所获取所得子任务的所述调用地址,触发运行该子任务,当完成该子任务的运行后,将根据该子任务的配置信息中包含的下一子任务名称,通过该下一子任务名称所指向的子任务的调用地址,触发运行该子任务,以此类推,完成所述子任务链表中所有节点所对应的子任务的运行。
一种实施例中,所述子任务的执行代码储存至微服务框架的容器中,执行服务器通过子任务的所述调用地址,调用该子任务储存至所述容器的所述执行代码进行执行,以运行该子任务。
步骤S134,以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行:
以此类推,执行服务器根据所述子任务链表中节点所指向的各子任务的排序,按序运行所述任务执行调用的子任务,完成该任务执行单元的运行,以完成所述在线服务推送的任务调用请求的响应,使该在线服务完成所述任务单元请求所对应的业务。
请参考图6,执行服务器在根据所述子任务链表顺序运行各子任务使,将实时监控各子任务的运行情况,并将各子任务的执行结果缓存至执行结果缓存表中,以根据当前子任务的执行结果,判断是否运行下一子任务,其具体实施步骤如下:
步骤S1341,监控所述任务执行单元的子任务链表中各子任务的运行情况,将当前运行的子任务的执行结果信息对应缓存至执行结果缓存表中:
监控所述任务执行单元的子任务链表中各节点所对应的子任务的运行情况,将当前运行的子任务的执行结果信息对应缓存至执行结果缓存表中。
执行服务器每一次运行任意子任务时,将根监控前运行的子任务的运行情况,以记录该子任务的执行结果信息,并将该执行结果信息缓存至所述结果缓存表中,以便后续根据该结果缓存表中所述子任务的执行结果信息,判断是否运行该子任务的下一子任务。
步骤S1342,确定所述执行结果缓存表中最新缓存的执行结果信息所表征的运行结果,当所述运行结果为运行失败时,将重新执行该执行结果信息所对应的子任务,直至所述执行结果信息所表征的运行结果为运行成功,运行该子任务的下一子任务:
执行服务器根据当前运行的子任务在所述结果缓存表中的执行结果信息,判断是否运行当该子任务的下一子任务,具体的,当所述执行结果信息表征所述子任务的运行结果为运行失败时,将重新运行所述子任务,直至该子任务在所述结果缓存表缓存的所述执行结果信息所表征的运行结果为运行成功时,开始运行该子任务的下一子任务。
步骤S1343,以此类推,依次缓存所述子任务链表中各子任务的所述执行结果信息至所述执行结果缓存表中,直至完成所述任务执行单元的运行,以清空所述结果缓存表:
以此类推,执行服务器运行所述子任务链表中任意节点所对应的子任务时,将缓存当前运行的子任务的所述执行结果信息至所述结果缓存表中,并以所述结果缓存链表中最新的所述执行结果信息所表征的运行结果为前提,判断是否运行当前子任务的下一子任务,直至所述子任务链表中最后一个节点所对应的子任务在所述结果缓存表中缓存的执行结果信息表征为运行结果为运行成功时,则表征所述子任务链表所对应的任务执行单元完成运行,同时执行服务器将清空所述结果缓存列表,以便于其他的任务执行单元的执行结果信息的缓存需求。
以上的典型实施例及其变化实施例充分揭示了本申请的数据访问控制方法的实施方案,但是,仍可通过对一些技术手段的变换和扩增而演绎出该方法的多种变化实施例,如下概要说明其他实施例:
一种实施例中,请参考图7,本方法还包括如下由与所述配置服务器建立数据通信链路的管理端执行的前置步骤:
步骤S08,向配置服务器获取任务执行单元编辑页面:
管理端通过向配置服务器推送编辑请求,以便配置服务器响应该请求,向管理端推送所述任务执行单元编辑页面,使管理端可通过该任务执行单元编辑页面进行任务执行单元的编辑及创建。
所述任务执行单元编辑页面中将包含配置服务器中所有预先配置的子任务,以供管理端的开发人员从该些子任务中选择其所需的子任务的配置信息进行编辑,并通过组合其所编辑的子任务创建所述任务执行单元,使开发人员不需要重新开发其所需的子任务,仅需通过配置服务器所提供的子任务进行组合,即可完成其需创建的任务执行单元所需的子任务的构建,大大地提升了开发人员的开发效率。
步骤S09,解析显示所述编辑页面以提供该任务执行单元所需的配置要素信息:
管理端解析显示所述任务执行单元编辑页面,以提供开发人员进行任务执行单元的编辑创建所需的配置要素信息,所述的配置要素信息中包括多个配置服务器中预先设有的子任务,开发人员通过从配置服务器所提供的子任务选定相应的子任务进行自定义操作,以及排序各子任务在任务执行单元中的运行顺序,以将选定的各子任务的本任务名称、各子任务的运行顺序信息以及所述任务执行单元的任务名称封装为所述配置要素信息,以构建其所需的任务执行单元。
具体的,开发人员需通过所述编辑页面开发用于创建商品的任务执行单元时,其可从编辑页面中提供的多个子任务中选择用于校验商品信息的子任务、保存商品信息的子任务、保存SKU信息的子任务、保存商品分类信息的子任务以及保存SEO信息的子任务,并编辑该些子任务在所述任务执行单元的运行顺序,以便管理端将该些子任务的本任务名称、各子任务的运行顺序信息以及所述任务执行单元的任务名称封装为所述配置要素信息,驱动配置服务器根据所述配置要素信息创建所述用于创建商品的任务执行单元。
相应的,所述编辑页面中也提供开发新子任务的服务,以便开发人员在所述编辑页面中开发新的子任务构造相对应的任务执行单元,且新开发的子任务可被配置服务器储存,以便将其提供给其他管理端进行任务执行单元的编辑构建。
步骤S10,响应于所述编辑页面的提交指令,驱动配置服务器根据所述配置要素信息被解析为归属于不同类型而相应创建该任务执行单元的不同子任务配置信息而构造配置实例,所述配置信息包括子任务的本任务名称以及子任务所指向的下一子任务名称:
管理端响应所述编辑页面的提交指令,将该编辑页面中的当前所封装的所述配置要素信息推送至配置服务器中,驱动配置服务器解析该配置要素信息,根据该配置要素信息中包含多个本任务名称及运行顺序信息,确定该配置要素信息所指向的所有子任务及该些子任务的运行顺序,根据该些子任务及该些子任务的运行顺序,创建各子任务各自对应的配置信息中包含的本任务名称及下一子任务名称,并构造依照所述运行顺序信息按序储存该些配置信息的子任务链表,最后将所述配置要素信息中包含的任务名称及所述子任务链表构造为该任务名称所表征的任务执行单元的所述配置实例,并通过所述配置实例中包含的所述任务名称对所述执行单元进行分类。
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种任务引擎执行装置,按照这一思路,请参阅图8,其中的一个典型实施例中,该装置包括:实例获取模块11,用于获取配置服务器中任务执行单元相对应的配置实例,所述配置实例包含任务名称及子任务链表,所述链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息;配置信息解析模块12,用于解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址;请求响应模块13,用于响应微服务架构中在线服务实例调用所述任务执行单元的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务。
进一步的实施例中,所述配置信息解析模块12包括:信息解析子模块,用于根据所述配置实例中的子任务链表解析出其各个节点的子任务的配置信息;名称获取子模块,用于解析出各个所述的配置信息,获取其本任务名称及下一子任务名称;缓存调用表构造子模块,用于根据各个配置信息的本任务名称确定相应的子任务的运行入口在微服务架构的容器中的调用地址,构造缓存调用表用于缓存子任务的本任务名称到其调用地址的映射关系数据。
一种实施例中,所述请求响应模块13包括:请求解析子模块,用于响应在线服务推送的所述任务调用请求,解析该任务调用请求,获取其所包含的任务名称以确定该请求所指向的任务执行单位;配置信息获取子模块,用于调用该任务执行单元先前解析的子任务链表中各节点所存储的子任务的配置信息,顺序调用各节点所指向的子任务的调用地址;子任务运行子模块,用于通过当前获取所得子任务的所述调用地址,触发运行该子任务;循环执行子模块,用于以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行。
为解决上述技术问题,本申请实施例还提供一种计算机设备,用于运行根据所述任务引擎执行方法所实现的计算机程序。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种任务引擎执行方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种任务引擎执行方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行本发明的任务引擎执行装置中的各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有任务引擎执行装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种非易失性存储介质,所述的任务引擎执行方法被编写成计算机程序,以计算机可读指令的形式存储于该存储介质中,计算机可读指令被一个或多个处理器执行时,意味着该程序在计算机中的运行,由此使得一个或多个处理器执行上述任一实施例任务引擎执行方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,通过构建任务执行引擎,用于配置、解析及执行通用标准化的业务流程的任务执行单元,通过将多个子任务构建为任务执行单元以构造相应的业务流程,聚合各子任务的执行流程,实现复杂的业务逻辑,任务执行单元中通过子任务链表编排各子任务的运行顺序,以便顺序运行各子任务完成在线服务的业务流程,因此可通过任务执行引擎定制各类型的业务流程,区别与传统的策略模式,将所有业务参数整合至同一参数中导致各子任务之间复杂的参数传递,任务执行引擎通过子任务链表编排各子任务之间的数据传递,使数据可层层递进地在各子任务之间进行传输,使各子任务之间的参数的传输较为清晰可视,提升业务流程整体的鲁棒性。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种任务引擎执行方法,其特征在于,包括如下步骤:
获取配置服务器中任务执行单元相对应的配置实例,所述配置实例包含任务名称及子任务链表,所述链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息;
解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址;
响应微服务架构中在线服务实例调用所述任务执行单元的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务。
2.根据权利要求1所述的方法,其特征在于,所述子任务链表为单向链表,其每个节点相对应的子任务的配置信息中包括本任务名称及下一子任务名称,通过所述下一任务名称指向下一任务而构成所述的单向链表。
3.根据权利要求1所述的方法,其特征在于,包括前置步骤:
向配置服务器获取任务执行单元编辑页面;
解析显示所述编辑页面以提供该任务执行单元所需的配置要素信息;
响应于所述编辑页面的提交指令,驱动配置服务器根据所述配置要素信息被解析为归属于不同类型而相应创建该任务执行单元的不同子任务配置信息而构造配置实例,所述配置信息包括子任务的本任务名称以及子任务所指向的下一子任务名称。
4.根据权利要求1所述的方法,其特征在于,解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址的步骤,包括:
根据所述配置实例中的子任务链表解析出其各个节点的子任务的配置信息;
解析出各个所述的配置信息,获取其本任务名称及下一子任务名称;
根据各个配置信息的本任务名称确定相应的子任务的运行入口在微服务架构的容器中的调用地址,构造缓存调用表用于缓存子任务的本任务名称到其调用地址的映射关系数据。
5.根据权利要求1所述的方法,其特征在于,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务的步骤,包括:
响应在线服务推送的所述任务调用请求,解析该任务调用请求,获取其所包含的任务名称以确定该请求所指向的任务执行单位;
调用该任务执行单元先前解析的子任务链表中各节点所存储的子任务的配置信息,顺序调用各节点所指向的子任务的调用地址;
通过当前获取所得子任务的所述调用地址,触发运行该子任务;
以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行。
6.根据权利要求5所述的方法,其特征在于,以此类推,顺序运行所述任务执行单元的子任务,完成该任务执行单元的运行的步骤,包括:
监控所述任务执行单元的子任务链表中各子任务的运行情况,将当前运行的子任务的执行结果信息对应缓存至执行结果缓存表中;
确定所述执行结果缓存表中最新缓存的执行结果信息所表征的运行结果,当所述运行结果为运行失败时,将重新执行该执行结果信息所对应的子任务,直至所述执行结果信息所表征的运行结果为运行成功,运行该子任务的下一子任务;
以此类推,依次缓存所述子任务链表中各子任务的所述执行结果信息至所述执行结果缓存表中,直至完成所述任务执行单元的运行,以清空所述结果缓存表。
7.根据权利要求1至6中任一方法,其特征在于,所述任务执行单元为如下任意一种:
用于执行商品信息存储的商品创建单元;
用于执行商品订单创建的订单创建单元;
用于执行商品活动创建的活动创建单元;
用于执行直播间创建的直播间创建单元。
8.一种任务引擎执行装置,其特征在于,其包括:
实例获取模块,用于获取配置服务器中任务执行单元相对应的配置实例,所述配置实例包含任务名称及子任务链表,所述链表包含多个以预定执行顺序组织的节点,每个节点对应存储一个子任务的配置信息;
配置信息解析模块,用于解析所述子任务链表获取其各个节点相对应的子任务的配置信息,根据所述配置信息确定相应的子任务的运行入口相对应的调用地址;
请求响应模块,用于响应微服务架构中在线服务实例调用所述任务执行单元的任务调用请求,根据该请求中的任务名称确定所述的任务执行单元,调用运行该任务执行单元的配置实例中子任务链表的各个节点相对应的子任务。
9.一种电子设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任一项所述的方法的步骤。
10.一种非易失性存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974899.7A CN113672371B (zh) | 2021-08-24 | 2021-08-24 | 任务引擎执行方法及其装置、设备与介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974899.7A CN113672371B (zh) | 2021-08-24 | 2021-08-24 | 任务引擎执行方法及其装置、设备与介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672371A true CN113672371A (zh) | 2021-11-19 |
CN113672371B CN113672371B (zh) | 2024-05-17 |
Family
ID=78545887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110974899.7A Active CN113672371B (zh) | 2021-08-24 | 2021-08-24 | 任务引擎执行方法及其装置、设备与介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672371B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN110399241A (zh) * | 2019-07-10 | 2019-11-01 | 金蝶软件(中国)有限公司 | 任务异常处理方法、装置、计算机设备和可读存储介质 |
CN111031133A (zh) * | 2019-12-12 | 2020-04-17 | 京东数字科技控股有限公司 | 业务引擎的运行方法和装置、存储介质、电子装置 |
CN111092933A (zh) * | 2019-11-20 | 2020-05-01 | 泰康保险集团股份有限公司 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
WO2020237797A1 (zh) * | 2019-05-31 | 2020-12-03 | 烽火通信科技股份有限公司 | 一种微服务框架下动态配置管理方法及系统 |
CN112465448A (zh) * | 2020-11-11 | 2021-03-09 | 中国人民大学 | 基于区块链的跨组织工作流运行方法及系统 |
-
2021
- 2021-08-24 CN CN202110974899.7A patent/CN113672371B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
WO2020237797A1 (zh) * | 2019-05-31 | 2020-12-03 | 烽火通信科技股份有限公司 | 一种微服务框架下动态配置管理方法及系统 |
CN110399241A (zh) * | 2019-07-10 | 2019-11-01 | 金蝶软件(中国)有限公司 | 任务异常处理方法、装置、计算机设备和可读存储介质 |
CN111092933A (zh) * | 2019-11-20 | 2020-05-01 | 泰康保险集团股份有限公司 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
CN111031133A (zh) * | 2019-12-12 | 2020-04-17 | 京东数字科技控股有限公司 | 业务引擎的运行方法和装置、存储介质、电子装置 |
CN112465448A (zh) * | 2020-11-11 | 2021-03-09 | 中国人民大学 | 基于区块链的跨组织工作流运行方法及系统 |
Non-Patent Citations (1)
Title |
---|
何智华, 王力生: "基于Web服务的电子商务业务流程中间件引擎的研究", 计算机应用, no. 11, pages 137 - 140 * |
Also Published As
Publication number | Publication date |
---|---|
CN113672371B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9239705B2 (en) | Method and apparatus for customized software development kit (SDK) generation | |
US8751558B2 (en) | Mashup infrastructure with learning mechanism | |
US20100070553A1 (en) | Dynamic service invocation and service adaptation in bpel soa process | |
US20030055878A1 (en) | Programmatic management of software resources in a content framework environment | |
US7716590B1 (en) | Method and apparatus for dynamically updating a secondary form element based on a selection in a primary form element | |
US20070271107A1 (en) | Context-dependent value help | |
WO2002086679A2 (en) | Service provision system and method | |
US20090070764A1 (en) | Handling queues associated with web services of business processes | |
CN108415710A (zh) | 在智能对话开发平台上发布、调用api的方法和系统 | |
CN111247550A (zh) | 用于区块链网络的计算机化交易管理模块 | |
CN110764752A (zh) | 基于微服务架构实现Restful服务图形化服务编排的系统及其方法 | |
CN111258565A (zh) | 小程序的生成方法、系统、服务器及存储介质 | |
CN110781180A (zh) | 一种数据筛选方法和数据筛选装置 | |
US20050108388A1 (en) | Method, system, and apparatus for scheduling pattern based web services | |
US9996344B2 (en) | Customized runtime environment | |
CN110119269B (zh) | 控制任务对象的方法、装置、服务器及存储介质 | |
CN113672371B (zh) | 任务引擎执行方法及其装置、设备与介质 | |
CN117435215A (zh) | 研发环境部署方法、系统、计算机设备和存储介质 | |
CN114418627A (zh) | 网络广告投放处理方法及其装置、设备、介质、产品 | |
Plale et al. | Data provenance for preservation of digital geoscience data | |
CN113626001A (zh) | 一种基于脚本的api动态编排方法及装置 | |
CN116643854A (zh) | 一种服务编排方法、装置、流程控制器及任务处理器 | |
CN112862500A (zh) | 用户权益处理机动态装配方法及其装置、设备与介质 | |
CN112883300B (zh) | 功能标签定制方法及其装置、设备与介质 | |
CN112966188B (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 |