CN116911588A - 业务流程执行方法、装置、设备及存储介质 - Google Patents

业务流程执行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116911588A
CN116911588A CN202310907532.2A CN202310907532A CN116911588A CN 116911588 A CN116911588 A CN 116911588A CN 202310907532 A CN202310907532 A CN 202310907532A CN 116911588 A CN116911588 A CN 116911588A
Authority
CN
China
Prior art keywords
target
flow
business process
target business
application program
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
CN202310907532.2A
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.)
Government And Enterprises Customer Branch Office Of China Mobile Communications Co ltd
China Mobile Communications Group Co Ltd
Original Assignee
Government And Enterprises Customer Branch Office Of China Mobile Communications Co ltd
China Mobile Communications 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 Government And Enterprises Customer Branch Office Of China Mobile Communications Co ltd, China Mobile Communications Group Co Ltd filed Critical Government And Enterprises Customer Branch Office Of China Mobile Communications Co ltd
Priority to CN202310907532.2A priority Critical patent/CN116911588A/zh
Publication of CN116911588A publication Critical patent/CN116911588A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种业务流程执行方法、装置、设备及存储介质,包括:在目标业务流程被触发执行的情况下,确定目标业务流程的流程执行逻辑;根据流程执行逻辑调用目标业务流程对应的原子应用程序接口;将各原子应用程序接口返回的数据存储至目标内存;根据目标业务流程的流程配置信息对目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。本发明将各原子应用程序接口返回的数据存储至目标内存,通过读写目标内存保证能力服务被调用时,返回的数据可以快速存储到缓存中,解决了现有技术中数据库频繁读写造成性能损耗高,导致能力服务调用性能降低的技术问题,提高了业务流程的执行效率。

Description

业务流程执行方法、装置、设备及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种业务流程执行方法、装置、设备及存储介质。
背景技术
业务流程研发的一般特点主要是专注于业务流转各节点之间的信息交互,例如每个流程节点提交的内容、提交条件、流程节点的审批人等,目前业务流程一般通过数据库存储,对业务流程节点的信息进行记录跟踪,但是数据库频繁的读写会造成性能损耗高,导致能力服务调用性能降低。
发明内容
本发明的主要目的在于提供了一种业务流程执行方法、装置、设备及存储介质,旨在解决现有技术中数据库频繁读写造成性能损耗高,导致能力服务调用性能降低的技术问题。
为实现上述目的,本发明提供了一种业务流程执行方法,所述方法包括以下步骤:
在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;
根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;
将各原子应用程序接口返回的数据存储至目标内存;
根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。
可选地,所述根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口之后,还包括:
将各原子应用程序接口的运行信息存储至目标数据库;
通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志。
可选地,所述通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志之后,还包括:
根据所述各原子应用程序接口的接口编号从所述运行日志中获取各原子应用程序接口的调用信息;
根据所述调用信息确定所述目标业务流程的调用链拓扑,并对所述调用信息和所述调用链拓扑进行页面级展示。
可选地,所述根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口之后,还包括:
在被调用的原子应用程序接口存在引用规则的情况下,获取所述被调用的原子应用程序接口的规则配置信息;
根据所述规则配置信息查找目标字节码文件,并执行所述目标字节码文件中的代码。
可选地,所述在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑之前,还包括:
接收用户基于图形化设计操作界面的操作信息,根据所述操作信息确定数据源、流程执行逻辑、流程节点以及各流程节点的数据处理配置信息;
根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程;
在接收到打包指令的情况下,将所述目标业务流程导出为镜像或JAR包。
可选地,所述根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程,包括:
根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建初始业务流程;
通过编排代理获取目标部署平台的网关标准;
根据所述网关标准将所述初始业务流程转换为与所述目标部署平台的网关适配的目标业务流程。
可选地,所述在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑之前,还包括:
通过任务执行器定时扫描任务队列,所述任务队列用于存储待执行业务流程;
在扫描到所述任务队列中存在目标业务流程的情况下,触发执行所述目标业务流程。
此外,为实现上述目的,本发明还提出一种业务流程执行装置,所述装置包括:
确定模块,用于在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;
调用模块,用于根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;
存储模块,用于将各原子应用程序接口返回的数据存储至目标内存;
合并模块,用于根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。
此外,为实现上述目的,本发明还提出一种业务流程执行设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务流程执行程序,所述业务流程执行程序配置为实现如上文所述的业务流程执行方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有业务流程执行程序,所述业务流程执行程序被处理器执行时实现如上文所述的业务流程执行方法的步骤。
本发明在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;将各原子应用程序接口返回的数据存储至目标内存;根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。本发明将各原子应用程序接口返回的数据存储至目标内存,通过读写目标内存保证能力服务被调用时,返回的数据可以快速存储到缓存中,解决了现有技术中数据库频繁读写造成性能损耗高,导致能力服务调用性能降低的技术问题,提高了业务流程的执行效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的业务流程执行设备的结构示意图;
图2为本发明业务流程执行方法第一实施例的流程示意图;
图3为本发明业务流程执行方法一实施例中流程引擎的示意图;
图4为本发明业务流程执行方法一实施例中日志分析模块的示意图;
图5为本发明业务流程执行方法一实施例中进行规则配置的示意图;
图6为本发明业务流程执行方法第二实施例的流程示意图;
图7为本发明业务流程执行方法一实施例中流程编排的示意图;
图8为本发明业务流程执行方法一实施例中发布服务至第三方网关的时序图;
图9为本发明业务流程执行方法第三实施例的流程示意图;
图10为本发明业务流程执行方法一实施例中触发业务流程执行的示意图;
图11为本发明业务流程执行方法一实施例中编排服务的示意图;
图12为本发明业务流程执行装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的业务流程执行设备结构示意图。
如图1所示,该业务流程执行设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对业务流程执行设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及业务流程执行程序。
在图1所示的业务流程执行设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;处理器1001、存储器1005可以设置在业务流程执行设备中,所述业务流程执行设备通过处理器1001调用存储器1005中存储的业务流程执行程序,并执行本发明实施例提供的业务流程执行方法。
本发明实施例提供了一种业务流程执行方法,参照图2,图2为本发明业务流程执行方法第一实施例的流程示意图。
本实施例中,所述业务流程执行方法包括以下步骤:
步骤S10:在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如平板电脑、个人电脑、手机等,或者是一种能够实现上述功能的电子设备、业务流程执行设备等。以下以业务流程执行设备(简称执行设备)为例,对本实施例及下述各实施例进行举例说明。
可以理解的是,目标业务流程可以是预先构建的用于实现特定功能的流程,目标业务流程由流程节点组成,每个流程节点可以看做是一个原子应用程接口,原子应用程序接口还可称为原子API(Application Programming Interface),例如目标业务流程包括但不限于:审批流程、监控流程和控制流程等;触发执行包括但不限于定时调度触发、手动触发、输入参数触发等;流程执行逻辑可以是执行目标业务流程中各流程节点的逻辑。
步骤S20:根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口。
可以理解的是,目标业务流程由流程节点组成,每个流程节点可以看做是一个原子应用程序接口;根据流程执行逻辑调用目标业务流程中各流程节点对应的原子应用程序接口。
步骤S30:将各原子应用程序接口返回的数据存储至目标内存。
可以理解的是,原子应用程序接口被调用后,对输入数据进行处理后,返回数据,返回的数据被存储至目标内存中;目标内存可以是预先设定的用于存储业务流程中的运算数据的内存,目标内存包括但不限于JVM内存(Java Virtual Machine),或其他具有相同或相似功能的存储装置。
步骤S40:根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。
可以理解的是,流程配置信息可以是对业务流程中的运算数据进行配置的信息,例如若流程配置信息为:需要合并的流程节点信息,则根据需要合并的流程节点信息将目标内存中存储的相应流程节点的数据进行合并,每个节点调用一个接口,把几个接口不同参数合并起来,一次性返回,返回结果即可称为业务流程的执行结果。
在具体实施中,参照图3,图3为流程引擎的示意图,流程引擎包括服务聚合模块、逻辑重组模块、事务引擎模块和服务转换模块,服务聚合模块用于进行数据合并和服务发布,构建的业务流程的API接口的创建,通过流程引擎中的服务发布模块完成;逻辑重组模块用于对业务流程进行分支判断、逻辑循环识别、串联识别和并联识别;在目标业务流程被触发执行的情况下,通过逻辑重组模块对目标业务流程进行分析,从而确定目标业务流程的流程执行逻辑,通过流程引擎根据流程执行逻辑触发目标业务流程中各流程节点对应的原子API,获取原子API返回的数据,并将该数据存储至JVM内存中,通过流程引擎根据流程配置信息对JVM内存中的数据进行合并后返回,获得目标业务流程的执行结果,目标业务流程执行完毕后,目标业务流程的运行记录被记录在Mongo中;在目标业务流程被执行的过程中,可以使流程引擎直接从JVM内存中获取与目标业务流程相关的数据,避免通过数据库读写信息带来的延迟,在目标业务流程执行的过程中,可直接使流程引擎与JAVA规则配置和公共组件库进行交互,提高能力服务被调用的效率,其中公共组件库可提供字段映射、JSON转xml、XML转JSON和映射配置等功能组件;通过事务引擎模块中的断言机制、正向补偿、超时重试和事务管理可保证流程最终的事务一致性。
进一步地,为了掌握业务流程的运行情况,所述步骤S20之后,还包括:将各原子应用程序接口的运行信息存储至目标数据库;通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志。
可以理解的是,运行信息可以是业务流程执行过程中原子应用程序接口的运行记录信息;日志分析模块可以是用于确定业务流程的运行日志的模块。
在具体实施中,参照图4,图4为日志分析模块的示意图,例如:用户通过API调用或通过调度引擎懂事调用的方式触发目标业务流程执行,根据目标业务流程的流程执行逻辑调用目标业务流程中流程节点的应用程序接口,将应用程序接口的运行记录信息存储到Mongo中,通过日志分析模块从Mongo中读取运行记录信息,对读取到的运行记录信息进行分析,从而确定目标业务流程的运行日志,运行日志的内容包括但不限于:总运行次数、失败次数、平均响应时间、待执行任务、待补偿任务、异步等待队列、已结束流程、已归档流程、流程执行回放等内容,其中待执行任务可以是定时设定的需要执行的业务流程;待补偿任务可以是通过待补偿机制确定的任务:正向补偿:补偿规则是该节点一定要执行通过,才到下一个节点,进入待补偿机制;待补偿机制:假设一个业务流程里面有三个流程节点则对应三个接口,断言里面好几个选择,有些流程节点失败则跳过,业务流程结束后,需要对失败的流程节点进行补偿,把对应的接口再调一次;补偿失败:如果补偿一次之后,该流程节点还是失败的,再放该流程节点放入补偿失败流程去,后续进行人工触发调用和补偿;本实施例中的每个原子API都由API编码唯一标识,通过API编码可对每个原子API的调用情况进行追溯和定位,从而输出每个原子API的运行次数,还可通过各原子API的总运行次数,此外,每个流程节点可单步进行调试,通过流程回放来查看原子API被调用的历史记录。
进一步地,为了对原子应用程序接口进行全生命周期的管控,所述通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志之后,还包括:根据所述各原子应用程序接口的接口编号从所述运行日志中获取各原子应用程序接口的调用信息;根据所述调用信息确定所述目标业务流程的调用链拓扑,并对所述调用信息和所述调用链拓扑进行页面级展示。
可以理解的是,接口编号可以是能够唯一标识原子应用程序接口的编号;调用信息可以是原子应用程序接口被调用执行的信息;调用链拓扑可以是展示全链路端到端的原子应用程序接口的调用情况的拓扑。
在具体实施中,可通过编排分析跟踪模块对全链路端到端的原子应用程序接口的调用情况进行实时跟踪和分析,在原子应用程序接口每次被调用时都会产生唯一流水号,根据该流水号可识别确定是否为同一次服务调用,流水号相同则认为是同一次调用,并记录每一次调用中的每一个路由节点即调用接口与前序调用接口;可通过链路监控组件对运行日志进行实时采集和解析,根据接口编码获取各应用程序接口的调用关系(主调或被调)、调用次数、异常次数、业务流程与使用方之间的交互关系等信息,根据该信息可确定目标业务流程的调用链拓扑,并对调用链拓扑和调用信息进行可视化展示。
进一步地,为了提高业务流程的执行效率,所述步骤S20之后,还包括:在被调用的原子应用程序接口存在引用规则的情况下,获取所述被调用的原子应用程序接口的规则配置信息;根据所述规则配置信息查找目标字节码文件,并执行所述目标字节码文件中的代码。
可以理解的是,引用规则可以是流程节点在执行的过程中需要引用的规则;规则配置信息可以是流程节点引用的规则的信息;目标字节码文件可以是用于存储流程节点引用的规则对应字节码的文件。
在具体实施中,参照图5,图5为进行规则配置的示意图,开发者可通过规则配置界面编写脚本代码,代码被保存至Mongo中,通过规则管理模块对编写的脚本代码进行编译,生成字节码文件落到服务器工程目录下;在目标业务流程被API调用或调度引擎定时调度触发执行的情况下,若被调用的原子应用程序接口存在引用的规则,则根据规则配置信息从服务器文件中查找该流程节点引用规则对应的目标字节码文件,并执行目标字节码文件中的代码,本实施例通过将规则配置的脚本文件生成字节码文件,在目标业务流程被执行的过程中,调用流程节点引用规则的字节码文件进行执行,提高了业务流程的执行效率。
本实施例在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;将各原子应用程序接口返回的数据存储至目标内存;根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。本实施例将各原子应用程序接口返回的数据存储至目标内存,通过读写目标内存保证能力服务被调用时,返回的数据可以快速存储到缓存中,解决了现有技术中数据库频繁读写造成性能损耗高,导致能力服务调用性能降低的技术问题,提高了业务流程的执行效率。
参考图6,图6为本发明业务流程执行方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S10之前,还包括:
步骤S01:接收用户基于图形化设计操作界面的操作信息,根据所述操作信息确定数据源、流程执行逻辑、流程节点以及各流程节点的数据处理配置信息。
可以理解的是,图形化设计操作界面可以是提供图形化设计操作的界面;操作信息可以是用户通过图形化设计操作界面对原子应用程序接口进行操作的信息,例如操作信息包括但不限于:对图形化设计操作界面中的原子应用程序接口进行拖、拉、拽、组合等;数据源可以是业务流程的数据来源,可以引用API、Web Service等输入数据作为数据源;流程执行逻辑可以是业务流程的执行逻辑,流程执行逻辑包括但不限于:判断、循环等;流程节点可以是业务流程中的节点;数据处理配置信息可以是各流程节点对数据进行处理的配置信息。
步骤S02:根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程。
步骤S03:在接收到打包指令的情况下,将所述目标业务流程导出为镜像或JAR包。
可以理解的是,打包指令可以是对目标业务流程对应的服务进行打包的指令。
在具体实施中,通过图形化设计操作界面接收用户对原子应用程序接口的操作信息,根据该操作信息确定业务流程的数据源、流程执行逻辑、流程节点和各流程节点对应的数据处理配置信息,根据上述信息构建目标业务流程,并在接收到打包指令时,将目标业务流程导出为镜像或JAR包,以供后续部署使用。
在一个例子中,参照图7,图7为流程编排的示意图,流程编排可通过图形化设计操作界面呈现,流程编排提供API组件、Web Service组件、Dubbo组件、变量设置、异步队列、异步回调、数据合并、数据拆分、数据转换、js、java脚本等功能,数据转换可以是将返回的数据转换为对应的内容输出,例如性别返回为0或1,将其转换为男或女后再进行显示;用户可通过图形化设计操作界面对展示的原子应用程序接口进行操作,根据用户对API组件或WebService组件的操作,引用API或Web Service作为数据源,根据用户对数据合并、数据转换和js、java脚本组件的操作,确定流程节点的数据处理配置信息,根据用户对原子应用程序接口的操作确定流程节点和流程执行逻辑,在结束编排后,获得目标业务流程,可将目标业务流程保存到Mongo中;本实施例还可对已有的业务流程进行流程节点的增加与裁剪、数据合并及数据拆分等,还可对流程节点的返回值进行修改,无需重新编码,还可在编排设计中按需插入js或java脚本以及异步队列,增加了编排设计中应对业务逻辑多样化的处理能力。
在另一个例子中,业务流程被编排设计完成后会输出对应的业务流程API,用户可直接对该API进行调用,本实施例在接收到打包指令时,可将业务流程对应的服务打包成部署包(Jar包或者镜像容器文件),进行私有化部署,部署到用户指定的环境进行服务,从而实现线上的集中编排,线上线下一体化部署,通过本地化部署满足私有业务、性能等方面的要求,本实施例提出的执行设备包括编排端和运行端,编排段用于设计和编排业务流程,可使用编排功能,并提供运行查看端jar包活镜像生成功能,运行端可使用运行和查看流程功能,不支持编排和打包功能,可提前编写好执行的shell、docker File文件模板及编排应用JAR包;用户通过编排端进行打包的方式包括:(1)①用户选择应用提交打包请求;②压缩编排端的运行文件到jar包;③追加对应应用下的编排流程、API、规则等平台系统数据;④将前端文件替换成运行端模板;⑤保存在可配置的服务器目录下(可调整为前端下载)。(2)①用户选择应用提交打包请求;②压缩编排端的运行文件到jar包;③追加对应应用下的编排流程、API、规则等平台系统数据;④将前端文件替换成运行端模板;⑤生成JAR在可配置的服务器目录下;⑥通过代码执行shell脚本运行dockerFile命令;⑦生成镜像在可配置的服务器目录下(可调整为前端下载)。
进一步地,为了使编排的业务流程与第三方平台适配,以满足多样化场景的使用需求,所述步骤S02,包括:根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建初始业务流程;通过编排代理获取目标部署平台的网关标准;根据所述网关标准将所述初始业务流程转换为与所述目标部署平台的网关适配的目标业务流程。
可以理解的是,初始业务流程可以是基于用户操作构建的还未发布至目标部署平台的业务流程。
应该理解的是,编排代理用于适配第三方平台,通过编排代理获取目标部署平台的网关标准,将初始业务流程按照网关标准发布为与目标部署平台适配的应用程序接口即目标业务流程,从而实现与目标部署平台的适配。
需要说明的是,目前主流的API编排工具在进行业务流程编排的过程中,对拖入的各API节点进行API URL地址的绑定,主要的处理方式为通过手动输入被调用服务的URL地址,存在人工查询效率低、错误率高和存在未授权服务的问题,本实施例提供了与第三方平台对接的能力,可实现对第三方平台的API导入、页面级API获取与查询以及发布,在进行业务流程编排时,拖入API节点并直接下拉选择或查询API进行组合编排,编排完成的API接口通过编排代理适配为与第三方平台的网关相匹配的接口,使得编排的业务流程能够发布到第三方平台。
在一个例子中,参照图8,图8为发布服务至第三方网关的时序图,用户通过编排系统查询能力列表,编排系统向编排代理发送查询能力列表标准接口的指令,编排服务器接收到指令后,进行接口适配处理并向第三方网关发送第三方能力列表查询接口的指令,第三方网关接收到该指令后将结果返回至编排代理,编排代理对接收到的结果进行转换处理并向编排系统返回查询的网关标准,编排系统根据返回的网关标准将初始业务流程转换为与第三方网关适配的目标业务流程,用户还可通过编排系统查询服务列表和发布服务。
本实施例接收用户基于图形化设计操作界面的操作信息,根据所述操作信息确定数据源、流程执行逻辑、流程节点以及各流程节点的数据处理配置信息;根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程。本实施例能够基于用户在图形化设计操作界面的操作信息构建目标业务流程,提高了业务流程的编排效率。
参考图9,图9为本发明业务流程执行方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S10之前,所述方法还包括:
步骤S1:通过任务执行器定时扫描任务队列,所述任务队列用于存储待执行业务流程。
可以理解的是,任务队列可以是存储需要执行的业务流程的队列;通过任务执行器定时扫描任务队列中的业务流程,实现业务流程的定时执行。
步骤S2:在扫描到所述任务队列中存在目标业务流程的情况下,触发执行所述目标业务流程。
可以理解的是,还可通过API触发或手动触发来触发目标业务流程执行。
在具体实施中,参照图10,图10为触发业务流程执行的示意图,调度引擎提供的业务流程的触发方式包括:API触发、手动触发和Quartz调度;假设用户通过API触发或手动触发来触发流程运行,在流程运行的过程中,将流程的运行日志记录在Mongo中;定时调度可通过Quartz调度实现,通过Quartz调度将待安排任务添加至任务队列中,任务队列被存储到Mongo中,通过任务执行器定时扫描任务队列,并在任务队列中扫描到目标业务流程时,触发执行目标业务流程,目标业务流程运行结束后,运行日志被存至Mongo中。
在一个例子中,参照图11,图11为编排服务的示意图,编排服务包括编排设计和编排运行,编排设计主要包括应用管理、流程管理、流程设计、规则管理和API管理,编排设计主要用于在业务流程编排的过程中,对业务流程、各流程节点和API进行配置,API管理可对接入的API生成唯一的接口编码,可通过接口编码对API的调用链拓扑进行追溯和计量;编排运行主要包括流程缓存、流程引擎、规则引擎、事务引擎和日志记录,编排运行主要应用在业务流程编排完成后,当业务流程对应的接口被应用调用时,流程引擎、规则引擎等功能将确保编排后API能够被准确解析,并按照设计的流程执行逻辑被调用,同时,编排服务主要通过缓存存储业务流程运行中的数据,相比数据库的读写速度更快。
本实施例通过任务执行器定时扫描任务队列,所述任务队列用于存储待执行业务流程;在扫描到所述任务队列中存在目标业务流程的情况下,触发执行所述目标业务流程。本实施例通过定时扫描任务队列来对任务队列中的业务流程进行定时触发,能够基于用户的需求对业务流程进行触发,提供了业务流程多样化的调用方式。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有业务流程执行程序,所述业务流程执行程序被处理器执行时实现如上文所述的业务流程执行方法的步骤。
参照图12,图12为本发明业务流程执行装置第一实施例的结构框图。
如图12所示,本发明实施例提出的业务流程执行装置包括:
确定模块10,用于在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;
调用模块20,用于根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;
存储模块30,用于将各原子应用程序接口返回的数据存储至目标内存;
合并模块40,用于根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。
本实施例在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;将各原子应用程序接口返回的数据存储至目标内存;根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。本实施例将各原子应用程序接口返回的数据存储至目标内存,通过读写目标内存保证能力服务被调用时,返回的数据可以快速存储到缓存中,解决了现有技术中数据库频繁读写造成性能损耗高,导致能力服务调用性能降低的技术问题,提高了业务流程的执行效率。
基于本发明上述业务流程执行装置第一实施例,提出本发明业务流程执行装置的第二实施例。
在本实施例中,所述调用模块20,还用于将各原子应用程序接口的运行信息存储至目标数据库;通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志。
所述调用模块20,还用于根据所述各原子应用程序接口的接口编号从所述运行日志中获取各原子应用程序接口的调用信息;根据所述调用信息确定所述目标业务流程的调用链拓扑,并对所述调用信息和所述调用链拓扑进行页面级展示。
所述调用模块20,还用于在被调用的原子应用程序接口存在引用规则的情况下,获取所述被调用的原子应用程序接口的规则配置信息;根据所述规则配置信息查找目标字节码文件,并执行所述目标字节码文件中的代码。
所述确定模块10,还用于接收用户基于图形化设计操作界面的操作信息,根据所述操作信息确定数据源、流程执行逻辑、流程节点以及各流程节点的数据处理配置信息;根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程;在接收到打包指令的情况下,将所述目标业务流程导出为镜像或JAR包。
所述确定模块10,还用于根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建初始业务流程;通过编排代理获取目标部署平台的网关标准;根据所述网关标准将所述初始业务流程转换为与所述目标部署平台的网关适配的目标业务流程。
所述确定模块10,还用于通过任务执行器定时扫描任务队列,所述任务队列用于存储待执行业务流程;在扫描到所述任务队列中存在目标业务流程的情况下,触发执行所述目标业务流程。
本发明业务流程执行装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种业务流程执行方法,其特征在于,所述方法包括:
在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;
根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;
将各原子应用程序接口返回的数据存储至目标内存;
根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。
2.如权利要求1所述的方法,其特征在于,所述根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口之后,还包括:
将各原子应用程序接口的运行信息存储至目标数据库;
通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志。
3.如权利要求2所述的方法,其特征在于,所述通过日志分析模块对所述运行信息进行分析,获得所述目标业务流程的运行日志之后,还包括:
根据所述各原子应用程序接口的接口编号从所述运行日志中获取各原子应用程序接口的调用信息;
根据所述调用信息确定所述目标业务流程的调用链拓扑,并对所述调用信息和所述调用链拓扑进行页面级展示。
4.如权利要求1所述的方法,其特征在于,所述根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口之后,还包括:
在被调用的原子应用程序接口存在引用规则的情况下,获取所述被调用的原子应用程序接口的规则配置信息;
根据所述规则配置信息查找目标字节码文件,并执行所述目标字节码文件中的代码。
5.如权利要求1-4任一项所述的方法,其特征在于,所述在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑之前,还包括:
接收用户基于图形化设计操作界面的操作信息,根据所述操作信息确定数据源、流程执行逻辑、流程节点以及各流程节点的数据处理配置信息;
根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程;
在接收到打包指令的情况下,将所述目标业务流程导出为镜像或JAR包。
6.如权利要求5所述的方法,其特征在于,所述根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建目标业务流程,包括:
根据所述数据源、所述流程执行逻辑、所述流程节点和所述数据处理配置信息构建初始业务流程;
通过编排代理获取目标部署平台的网关标准;
根据所述网关标准将所述初始业务流程转换为与所述目标部署平台的网关适配的目标业务流程。
7.如权利要求1-4任一项所述的方法,其特征在于,所述在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑之前,还包括:
通过任务执行器定时扫描任务队列,所述任务队列用于存储待执行业务流程;
在扫描到所述任务队列中存在目标业务流程的情况下,触发执行所述目标业务流程。
8.一种业务流程执行装置,其特征在于,所述装置包括:
确定模块,用于在目标业务流程被触发执行的情况下,确定所述目标业务流程的流程执行逻辑;
调用模块,用于根据所述流程执行逻辑调用所述目标业务流程对应的原子应用程序接口;
存储模块,用于将各原子应用程序接口返回的数据存储至目标内存;
合并模块,用于根据所述目标业务流程的流程配置信息对所述目标内存中存储的数据进行合并,输出所述目标业务流程的执行结果。
9.一种业务流程执行设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务流程执行程序,所述业务流程执行程序配置为实现如权利要求1至7中任一项所述的业务流程执行方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有业务流程执行程序,所述业务流程执行程序被处理器执行时实现如权利要求1至7任一项所述的业务流程执行方法的步骤。
CN202310907532.2A 2023-07-21 2023-07-21 业务流程执行方法、装置、设备及存储介质 Pending CN116911588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310907532.2A CN116911588A (zh) 2023-07-21 2023-07-21 业务流程执行方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310907532.2A CN116911588A (zh) 2023-07-21 2023-07-21 业务流程执行方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116911588A true CN116911588A (zh) 2023-10-20

Family

ID=88362675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310907532.2A Pending CN116911588A (zh) 2023-07-21 2023-07-21 业务流程执行方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116911588A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472552A (zh) * 2023-12-28 2024-01-30 中电数据产业有限公司 服务场景智能编排及动态调度方法、装置、设备及介质
CN117520181A (zh) * 2023-11-21 2024-02-06 北京领雁科技股份有限公司 一种业务流程的调试方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117520181A (zh) * 2023-11-21 2024-02-06 北京领雁科技股份有限公司 一种业务流程的调试方法、装置、电子设备及存储介质
CN117520181B (zh) * 2023-11-21 2024-05-14 北京领雁科技股份有限公司 一种业务流程的调试方法、装置、电子设备及存储介质
CN117472552A (zh) * 2023-12-28 2024-01-30 中电数据产业有限公司 服务场景智能编排及动态调度方法、装置、设备及介质
CN117472552B (zh) * 2023-12-28 2024-05-28 中电数据产业有限公司 服务场景智能编排及动态调度方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN108876121B (zh) 工单处理方法、装置、计算机设备和存储介质
US7992127B2 (en) Method and system of encapsulating web site transactions for computer-aided generation of web services
CN116911588A (zh) 业务流程执行方法、装置、设备及存储介质
US11667033B2 (en) Systems and methods for robotic process automation
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
CN108874926A (zh) 海量数据查询方法、装置、计算机设备和存储介质
US20110010690A1 (en) System and Method of Automatically Transforming Serial Streaming Programs Into Parallel Streaming Programs
US11240290B2 (en) Application download method and apparatus, application sending method and apparatus, and system
CN112363953B (zh) 基于爬虫技术和规则引擎的接口测试用例生成方法及系统
CN111026634A (zh) 一种接口自动化测试系统、方法、装置及存储介质
CN101866315A (zh) 软件开发工具的测试方法及系统
CN111858727A (zh) 一种基于模板配置的多数据源数据导出系统及方法
CN111367792A (zh) 一种测试方法、装置、存储介质及电子设备
CN113760763A (zh) 软件测试方法、设备、服务器和系统
CN115686606A (zh) 一种项目依赖树的展示方法、装置、系统及介质
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN116185425B (zh) 基于节点组合的事件流程编排方法、装置、设备及介质
CN112346981A (zh) 联调测试覆盖率检测方法及系统
CN109062784B (zh) 接口参数约束代码入口定位方法与系统
CN116719735A (zh) 一种测试用例生成方法及装置
CN111488731A (zh) 文件生成方法、装置、计算机设备以及存储介质
CN115993971A (zh) 活动页面生成方法、计算设备及计算机存储介质
CN111324332A (zh) 大数据任务的处理方法及系统、电子设备、存储介质
CN111881025B (zh) 一种自动化测试任务调度方法、装置及系统
CN109062785B (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