在实现企业级的日常各种业务场景中,难免会有很多复杂的,需要严格控制分步骤执行的业务功能,那么这个就对业务的配置化提出了更高的要求。

执行控制概述

执行控制是逻辑引擎的核心组成部分,它负责确保逻辑流程按照预定的方式有序执行。通过精确控制任务的执行顺序和条件,执行控制能够避免错误或偏差,保证业务逻辑的正确性和数据的一致性。同时,它还利用并行执行、异步处理等机制优化任务的执行方式,减少等待时间,提高系统的整体运行效率。
例如,用户在线申请贷款,业务系统发起查询用户信息的请求,可能需要调用10个外部接口(多头借贷、黑名单、征信等等),那么最好是能同时触发10个接口的调用,可以减省用户等待时间,那么在调用外部接口的时候,就需要同时发起申请。
所以,逻辑引擎的执行控制是达到如下的目的:

  1. 确保正确性:通过精确控制任务的执行顺序和条件,执行控制能够确保逻辑流程按照预期的方式运行,从而避免错误或偏差。这对于保证业务逻辑的正确性和数据的一致性至关重要。
  2. 提高效率:通过并行执行、异步处理等机制,执行控制可以优化任务的执行方式,减少等待时间,提高整体系统的运行效率。这对于需要处理大量数据或复杂逻辑的应用尤为重要。
  3. 增强灵活性:执行控制允许根据条件动态调整任务的执行路径,使得系统能够灵活应对不同的输入和场景。这种灵活性使得系统更容易适应变化,满足多样化的需求。
  4. 提升可靠性:通过异常处理机制,执行控制能够在遇到错误或异常情况时及时采取措施,如补偿处理、记录日志、通知相关人员等,从而确保系统的稳定性和可靠性。
  5. 简化开发和管理:执行控制通过提供一套清晰的执行规则和机制,使得开发者能够更容易地理解和开发复杂的逻辑流程。同时,它也简化了系统的管理和维护,因为所有的执行逻辑都遵循统一的规则。
  6. 支持复杂业务场景:在现代应用中,业务逻辑往往非常复杂,涉及多个任务、条件和依赖关系。执行控制提供了一种有效的方式来管理和协调这些任务,使得系统能够支持复杂的业务场景。
    在JVS逻辑引擎中,执行控制是确保逻辑流程按照预定方式有序执行的关键机制。它包括了多种执行方式,如串行执行、分支执行、并行执行等,而同步执行、异步执行和异常执行则更多地关联于具体的执行模型和错误处理机制。下面将详细讲解这些执行控制方式:

    串行执行

    • 定义:串行执行是指按照顺序逐个执行的模式。在串行执行中,每个任务依次执行,当前一个任务完成后才会执行下一个任务,后续执行节点的输入可以是前序执行节点的输出,从而实现信息的逐级传递。
    • 适用场景:这种模式适用于需要按照特定的顺序执行任务的场景,确保每个任务的结果被依赖的后续任务正确处理。
    图片
    在串行执行的线条上,可以设置判断条件的计算公式,当公式结果为“真”时

    分支执行

    并行分支是指同时执行多个任务的模式。在并行分支中,任务被分成多个并行的分支执行方向,每个分支可独立执行、可条件判断执行等,这种方式下可以去实现通过条件判断执行满足条件的 原子服务,也可以实现多个并行可独立执行的原子服务,可设置分支判断/执行优先级的顺序

    分支判断执行

    • 定义:分支执行通常指的是根据特定条件选择不同的执行路径。它类似于程序中的条件判断(如if-else语句),允许逻辑引擎根据当前状态或输入数据决定执行哪个分支。
    • 特点:在分支执行中,每个分支可独立执行,并且可设置分支判断/执行优先级的顺序。
    图片
    上述图片是自动同步钉钉的考勤数据的 demo,其中对token进行判断是否已经有该查询的token,如果没有,从钉钉的开放接口获取,如果有,直接读库数据库历史存储的token数据。

    分支并行执行

    • 定义:并行执行是指同时执行多个任务的模式。在并行执行中,任务被分成多个并行的分支执行方向,每个分支可独立执行、可条件判断执行等。
    • 适用场景:这种方式下可以去实现通过条件判断执行满足条件的原子服务,也可以实现多个并行可独立执行的原子服务。它适用于需要同时处理多个任务以提高效率的场景。
    图片
    如上图所示,只要线条上的条件为真或者不配置的时候,系统都会沿着链接线的放下逐步向后执行,这样就实现上图的并行执行的效果。

    同步执行与异步执行

    • 同步执行:同步执行是指按照代码顺序依次执行每个任务,后一个任务必须等待前一个任务完成才能开始执行。这种执行方式简单直观,但可能导致程序在执行耗时任务时卡顿。
    • 异步执行:异步执行允许程序在执行耗时任务时继续执行其他任务,从而提高程序的响应性和效率。
    图片

    异常执行

    • 定义:异常执行通常指的是在逻辑执行过程中遇到错误或异常情况时的处理机制。
    • 处理方式:在逻辑引擎中,异常执行可能包括记录错误日志、抛出异常、错误补偿、通知相关人员等多种处理方式。它对于确保逻辑流程的稳定性和可靠性至关重要。
    图片

    循环执行

    • 定义:循环执行是指重复执行一组任务的模式。在循环执行中,一组任务被反复执行,直到满足特定条件才停止。
    • 适用场景:适用于需要多次执行相同任务的场景。
    • 控制方式:循环执行通常使用条件语句或计数器来控制循环的终止条件。在逻辑引擎中,可以通过配置循环组件来实现循环执行。
    图片
    循环核心要控制循环的退出条件、以及循环体内部的数据与循环体外部的数据如何交互的能力。在线demo:https://logic.bctools.cn
    gitee地址:https://gitee.com/software-minister/jvs-logic


软件部长
43 声望6 粉丝

软件研发行业老司机,提供些踩坑的经验而已