
技术摘要:
本公开提供了一种业务流程控制方法,包括:获取用于请求处理业务流程中原子业务的请求,其中,业务流程中包括具有依赖关系的N个原子业务,其中,N为大于1的整数;从配置中心获取与请求对应的目标流程控制规则,其中,配置中心中配置有K条流程控制规则,其中,K为大于1 全部
背景技术:
随着业务功能日趋丰富,业务流程愈发复杂。以互联网金融交易为例,交易场景和 支付方式日趋丰富,交易流程愈发复杂,开发人员为保证交易流程的安全性,一般是在每个 交易环节的业务实现方法内,编写特定的合法性安全校验代码。 但是,采用相关技术进行合法性安全校验,需要维护的安全校验代码越来越复杂 繁重,大量人工梳理和修改代码的工作难以保障交易安全和适应敏捷开发和持续交付。
技术实现要素:
有鉴于此,本公开提供了一种业务流程控制方法、一种业务流程控制装置、一种电 子设备和一种计算机可读存储介质。 本公开的一个方面提供了一种业务流程控制方法,包括:获取用于请求处理业务 流程中原子业务的请求,其中,上述业务流程中包括具有依赖关系的N个原子业务,其中,N 为大于1的整数;从配置中心获取与上述请求对应的目标流程控制规则,其中,上述配置中 心中配置有K条流程控制规则,其中,K为大于1的整数;以及根据上述目标流程控制规则对 上述请求进行安全校验控制。 根据本公开的实施例,上述目标流程控制规则包括目标业务识别策略和目标流程 控制策略。 根据本公开的实施例,上述根据上述目标流程控制规则对上述请求进行安全校验 控制包括:根据上述目标业务识别策略确定与上述请求对应的原子业务类型;根据上述请 求对应的原子业务类型和对应的前序链路,依据上述目标流程控制策略,确定上述请求是 否合法;以及在确定上述请求合法的情况下,执行与上述请求对应的业务逻辑。 根据本公开的实施例,上述根据上述请求对应的原子业务类型和对应的前序链 路,依据上述目标流程控制策略,确定上述请求是否合法包括:从上述目标流程控制策略中 查找与上述前序链路匹配的M条业务处理链路,其中,M为大于或等于1的整数;判断上述M条 业务处理链路中是否存在目标链路;其中,上述目标链路包含与上述请求对应的原子业务 类型;当上述M条业务处理链路中存在目标链路时,确定上述请求合法;当上述M条业务处理 链路中不存目标链路时,确定上述请求不合法。 根据本公开的实施例,上述判断上述M条业务处理链路中是否存在目标链路包括: 针对每一条上述业务处理链路,将上述业务处理链路中的可重复序列进行延展,得到延展 后的M条业务处理链路;当上述延展后的M条业务处理链路中存在任意一条业务处理链路包 含与上述请求对应的原子业务类型时,确定上述M条业务处理链路中存在目标链路;当上述 延展后的M条业务处理链路中没有一条业务处理链路包含与上述请求对应的原子业务类型 4 CN 111598575 A 说 明 书 2/15 页 时,确定上述M条业务处理链路中不存在目标链路。 根据本公开的实施例,上述方法还包括:在执行与上述请求对应的业务逻辑之后, 识别上述前序链路中的可重复序列;对上述前序链路中的可重复序列进行去重处理;以及 将上述与上述请求对应的原子业务类型追加至去重处理后的前序链路中,生成新的前序链 路。 根据本公开的实施例,上述方法还包括:在执行与上述请求对应的业务逻辑之后, 判断上述业务逻辑是否执行成功;以及在执行成功的情况下,识别上述前序链路中的可重 复序列。 根据本公开的实施例,上述从配置中心获取与上述请求对应的目标流程控制规则 包括:对上述请求进行解析,确定与上述请求对应的目标资源地址;以及根据与上述请求对 应的目标资源地址从上述配置中心获取上述目标流程控制规则,其中,上述配置中心中配 置的每条流程控制规则具有对应的资源地址。 根据本公开的实施例,上述目标流程控制规则包括目标业务识别策略,上述根据 与上述请求对应的目标资源地址从上述配置中心获取上述目标流程控制规则包括:根据与 上述请求对应的目标资源地址,从上述配置中心获取与上述目标资源地址对应的目标业务 识别策略;根据上述目标业务识别策略确定用于识别业务类型的识别字段;以及根据上述 用于识别业务类型的识别字段,确定与上述请求对应的原子业务类型。 本公开的另一个方面提供了一种业务流程控制装置,包括:第一获取模块,用于获 取用于请求处理业务流程中的原子业务的请求,其中,上述业务流程中包括具有依赖关系 的N个原子业务,其中,N为大于1的整数;第二获取模块,用于从配置中心获取与上述请求对 应的目标流程控制规则,其中,上述配置中心中配置有K条流程控制规则,其中,K为大于1的 整数;以及控制模块,用于根据上述目标流程控制规则对上述请求进行安全校验控制。 本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用 于存储一个或多个指令,其中,当上述一个或多个指令被上述一个或多个处理器执行时,使 得上述一个或多个处理器实现如上所述的方法。 本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令, 所述指令在被执行时用于实现如上所述的方法。 本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指 令,所述指令在被执行时用于实现如上所述的方法。 根据本公开的实施例,因为采用了获取用于请求处理业务流程中的原子业务的请 求,然后从配置中心获取与该请求对应的目标流程控制规则,并根据目标流程控制规则对 该请求进行安全校验控制的技术手段,由于可以通过配置中心统一调整和动态配置流程控 制规则,将流程控制逻辑抽象成一套通用的规则校验逻辑,独立于实现业务功能的代码,实 现了业务功能逻辑和流程控制逻辑的解耦,无需在每个业务环节的业务实现方法内编写特 定的合法性安全校验代码。所以至少部分地克服了相关技术中需要维护的安全校验代码越 来越复杂繁重,大量人工梳理和修改代码的工作难以保障业务安全和适应敏捷开发和持续 交付的技术问题,进而达到了保障业务安全和适应敏捷开发和持续交付的技术效果。 5 CN 111598575 A 说 明 书 3/15 页 附图说明 通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和 优点将更为清楚,在附图中: 图1示意性示出了根据本公开实施例的可以应用业务流程控制方法及装置的示例 性系统架构; 图2示意性示出了根据本公开实施例的业务流程控制方法的流程图; 图3示意性示出了根据本公开实施例的业务流程的示意图; 图4示意性示出了根据本公开实施例的从配置中心获取与请求对应的目标流程控 制规则的流程图; 图5示意性示出了根据本公开实施例的根据目标流程控制规则对请求进行安全校 验控制的流程图; 图6示意性示出了根据本公开实施例的根据请求对应的原子业务类型和对应的前 序链路,依据目标流程控制策略,确定请求是否合法的流程图; 图7示意性示出了根据本公开实施例的预先配置的多条流程控制策略的示意图; 图8示意性示出了根据本公开实施例的判断M条业务处理链路中是否存在目标链 路的流程图; 图9示意性示出了根据本公开另一实施例的业务流程控制方法的流程图; 图10示意性示出了根据本公开另一实施例的业务流程控制方法的流程图; 图11示意性示出了根据本公开实施例的业务流程控制装置的框图;以及 图12示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统 的框图。