CN112328222A - 一种动态流程服务接口方法及动态流程服务接口引擎 - Google Patents
一种动态流程服务接口方法及动态流程服务接口引擎 Download PDFInfo
- Publication number
- CN112328222A CN112328222A CN202011343850.3A CN202011343850A CN112328222A CN 112328222 A CN112328222 A CN 112328222A CN 202011343850 A CN202011343850 A CN 202011343850A CN 112328222 A CN112328222 A CN 112328222A
- Authority
- CN
- China
- Prior art keywords
- interface
- service
- definition file
- calling
- flow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 162
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000012986 modification Methods 0.000 abstract description 9
- 230000004048 modification Effects 0.000 abstract description 9
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000004540 process dynamic Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种动态流程服务接口方法及动态流程服务接口引擎。该方法包括:设置一接口,该接口对应动态的流程定义文件,该流程定义文件根据接口需求进行动态更新。本发明在该接口执行的过程中,只需要调用其动态的流程定义文件即可,如果需要重新定义该接口,只需要更改该动态的流程定义文件即可,即实现了只需要一个接口,即可实现不同接口需求,解决了传统接口变更导致的系统停止服务,以及接口变更导致的代码修改的问题,可以快速响应需求变更。
Description
技术领域
本发明涉及电子信息技术领域,具体涉及一种动态流程服务接口方法及动态流程服务接口引擎。
背景技术
现有的服务接口的实现大多为程序代码中固定实现某个功能,当有新的接口需求时,需要通过开发编码实现新需求的服务接口,服务接口的执行过程是将N个原子服务按照指定的执行流程编排实现,重新开发服务接口需要将现有服务停掉,重新部署再启动新的服务接口才可以使用;当一个系统的服务接口原子服务比较固定,服务接口需求变更,仅需要调整原子服务执行顺序与出入参数变动时,按照传统的技术实现会导致服务不能稳定的提供服务,且新的服务接口上线耗时长,现有技术存在缺陷主要有以下几个方面:(1)需要停止正在运行的系统,导致系统不能稳定提供服务;(2)新开发服务接口耗时较长,需要进行编码、调试、测试发布等繁琐流程;(3)服务接口需求变动频繁时,不能快速的拥抱变化。
发明内容
有鉴于此,本发明提供一种动态流程服务接口方法及动态流程服务接口引擎,解决了传统接口变更导致的系统停止服务,以及接口变更导致的代码修改的问题。
为解决上述技术问题,本发明采用的技术方案是:一种动态流程服务接口方法,该方法包括:
设置一接口,该接口对应动态的流程定义文件,该流程定义文件根据接口需求进行动态更新。
优选地,接口对应的流程定义文件存储于一容器内。
优选地,在接口执行过程中,先调用该容器内存储的接口对应的流程定义文件,然后根据该流程定义文件调用与接口对应的原子服务。
优选地,根据该流程文件调用与接口对应的原子服务的过程包括:遍历流程对象中的节点对象。
优选地,遍历流程对象中的节点对象的具体过程为:
判断节点对象是否为分支节点;
如果不是分支节点,则反射调用执行方法,调用与接口对应的子服务的数据逻辑服务,进行数据库操作,并将结果返回;
如果是分支节点则进行表达式判断;
判断条件为真则获取执行节点,然后反射调用执行方法调用与接口对应的子服务器的数据逻辑服务,进行数据库操作,并将结果返回;
如果判断条件不为真,则再次进行循环。
优选地,通过对配置中心进行监测来获取接口需求。
优选地,当配置中心的流程定义文件进行修改时,获取修改之后的流程定义文件,对流程定义文件进行更新。
优选地,流程定义文件被封装成流程对象之后存储于容器中。
一种动态流程服务接口引擎,该引擎至少包括:
一容器,该容器内存储有流程对象;
一调用模块,用于调用该容器中存储的流程对象;以及
一动态监测模块,该动态监测模块用于对配置中心进行实时监测。
优选地,该调用模块包括第一调用模块以及第二调用模块,该第一调用模块用于调用该容器中存储的流程对象,第二调用模块用于根据第一调用模块调用的流程对象,调用与该接口对应的原子服务。
本发明具有的优点和积极效果是:在该接口执行的过程中,只需要调用其动态的流程定义文件即可,如果需要重新定义该接口,只需要更改该动态的流程定义文件即可,即实现了只需要一个接口,即可实现不同接口需求,解决了传统接口变更导致的系统停止服务,以及接口变更导致的代码修改的问题,可以快速响应需求变更。
附图说明
图1是本发明的动态流程服务接口引擎的流程文件初始化过程的结构示意图;
图2是本发明的动态流程服务接口引擎执行流程接口过程的结构示意图;
图3是本发明的动态流程服务接口引擎流程鼎泰修改过程的结构示意图。
具体实施方式
为了更好的理解本发明,下面结合具体实施例和附图对本发明进行进一步的描述。
本发明提供一种动态流程服务接口方法,该方法包括:
设置一接口,该接口对应动态的流程定义文件,该流程定义文件根据接口需求进行动态更新。
具体地,流程定义文件中包括接口执行规则,每一类型的接口对应一流程定义文件,在本发明中,在该接口执行的过程中,只需要调用其动态的流程定义文件即可,如果需要重新定义该接口,只需要更改该动态的流程定义文件即可,即实现了只需要一个接口,即可实现不同接口需求,解决了传统接口变更导致的系统停止服务,以及接口变更导致的代码修改的问题,可以快速响应需求变更。
在本发明的一个具体的实施例中,需要将流程定义文件进行封装,封装成流程对象之后存储于容器中。
具体地,在启动系统时,需要进行流程文件初始化过程,具体为:加载本地流程定义文件,并对流程定义文件进行封装,封装成流程对象,并且存储于容器内,以在接收入参的时候调用该流程对象,具体封装过程为,获取流程定义文件;将获取的流程定义文件反序列化为需要解析的流程对象。
在本发明一个具体的实施例中,接口对应的流程定义文件存储于一容器内,在接口执行过程中,在该实施例中,包括执行流程接口过程以及流程动态修改过程。
具体地,该接口在一个具体地实施例中为微服务API接口,执行流程接口过程中,该微服务API接口接收请求接口的命令,调用接口流程定义文件,其具体过程为:先调用该容器内存储的接口对应的流程定义文件,然后根据该流程定义文件调用与接口对应的原子服务。
进一步地,在本发明的一个具体的实施例中,接口执行过程中,根据该流程文件调用与接口对应的原子服务的过程包括:遍历流程对象中的节点对象。
在本发明的一个具体的实施例中,遍历流程对象中的节点对象的具体过程为:
判断节点对象是否为分支节点;
如果不是分支节点,则反射调用执行方法,调用与接口对应的子服务的数据逻辑服务,进行数据库操作,并将结果返回;
如果是分支节点则进行表达式判断;
判断条件为真则获取执行节点,然后反射调用执行方法调用与接口对应的子服务器的数据逻辑服务,进行数据库操作,并将结果返回;
如果判断条件不为真,则再次进行循环。
在该实施例中,由于流程定义文件处于动态,即随时可能更新,所以在接收到接口入参后,需要对流程定义文件进行解析为流程对象,并且对流程对象进行遍历。
进一步地,还包括对返回结果进行封装的过程,在该实施例中,将返回的结果封装之后传输给接口。
进一步地,流程动态修改过程为:该流程定义文件根据接口需求进行动态更新,在需要更改接口类型时,只需要将容器内的流程定义文件进行更新,使其适用新的接口类型即可。
进一步地,通过对配置中心进行监测来获取接口需求。
运维人员向配置中心写入接口的流程定义文件,本发明中,对配置中心的流程定义文件进行实施监测,当配置中心的流程定义文件进行修改时,获取修改之后的流程定义文件,对容器内的流程定义文件进行更新,更新之后可在接收到接口入参时,调用更新之后的流程定义文件,然后根据更新之后的流程定义文件调用与接口对应的子服务。
本发明提供一种动态流程服务接口引擎,该引擎至少包括:
一容器,该容器内存储有流程对象;
一调用模块,用于调用该容器中存储的流程对象;以及
一动态监测模块,该动态监测模块用于对配置中心进行实时监测。
在本发明中,将流程对象存储于一容器中,在接收到接口入参后,只需要通过调用模块调用容器中的流程对象,进一步地,设置有一动态监测模块,对配置中心进行动态监测,具体监听流程配置变化,并且在流程配置变化后获取最新的流程定义,将新的流程对象更新至容器中,即在本发明中,只需要一个接口,该接口对应动态的流程文件,具体该流程文件可以根据接口需求进行动态更新,即可以通过直接修改或者更新流程定义来实现动态更新接口,解决了传统接口变更导致的系统停止服务,以及接口变更导致的代码修改,可以快速响应需求变更。
本发明包括流程文件初始化过程、执行流程接口过程以及流程动态修改过程。
进一步地,在本发明一个具体的实施例中,还包括一加载模块,以及一封装模块,该加载模块用于在系统启动时加载本地流程定义文件,以实现流程文件的初始化;如图1所示,具体过程为:首先,本发明的动态流程服务接口引擎接收到启动微服务的指令,然后通过加载模块加载本地流程文件,并将该流程定义文件传输给封装模块进行封装,将其封装成流程对象,并将该流程对象存储至容器。
在本发明的一个具体实施例中,该容器为Spring容器。
进一步地,在本发明的一个具体的实施例中,该调用模块包括第一调用模块以及第二调用模块,该第一调用模块用于调用该容器中存储的流程对象,第二调用模块用于根据第一调用模块调用的流程对象,调用与该接口对应的原子服务。
具体地,如图2所示,本发明的动态流程服务接口引擎执行流程接口过程为:
具体地,在接收到接收到接口入参后,第一调用模块读取容器中的流程对象,容器返回流程对象至第二调用模块,第二调用模块反射调用原子服务,即根据该流程文件调用与接口对应的原子服务,并返回结果至本发明的动态流程服务接口引擎,本发明将返回的记过通过封装模块进行封装,返回至接口。
根据该流程文件调用与接口对应的原子服务的过程包括:遍历流程对象中的节点对象。
在本发明的一个具体的实施例中,遍历流程对象中的节点对象的具体过程为:
判断节点对象是否为分支节点;
如果不是分支节点,则反射调用执行方法,调用与接口对应的子服务的数据逻辑服务,进行数据库操作,并将结果返回;
如果是分支节点则进行表达式判断;
判断条件为真则获取执行节点,然后反射调用执行方法调用与接口对应的子服务器的数据逻辑服务,进行数据库操作,并将结果返回;
如果判断条件不为真,则再次进行循环。
在该实施例中,由于流程定义文件处于动态,即随时可能更新,所以在接收到接口入参后,需要对流程定义文件进行解析为流程对象,并且对流程对象进行遍历。
进一步地,如图3所示,本发明的流程动态修改过程具体为:
该流程定义文件根据接口需求进行动态更新,在需要更改接口类型时,只需要将容器内的流程定义文件进行更新,使其适用新的接口类型即可。
进一步地,通过本发明的监测模块对配置中心进行监测来获取接口需求。
运维人员向配置中心写入接口的流程定义文件,本发明中,监测模块对配置中心的流程定义文件进行实施监测,当配置中心的流程定义文件进行修改时,获取修改之后的流程定义文件,对容器内的流程定义文件进行更新,更新之后可在接收到接口入参时,调用更新之后的流程定义文件,然后根据更新之后的流程定义文件调用与接口对应的子服务。
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。
Claims (10)
1.一种动态流程服务接口方法,其特征在于:该方法包括:
设置一接口,该接口对应动态的流程定义文件,该流程定义文件根据接口需求进行动态更新。
2.根据权利要求1所述的动态流程服务接口方法,其特征在于:接口对应的流程定义文件存储于一容器内。
3.根据权利要求2所述的动态流程服务接口方法,其特征在于:在接口执行过程中,先调用该容器内存储的接口对应的流程定义文件,然后根据该流程定义文件调用与接口对应的原子服务。
4.根据权利要求3所述的动态流程服务接口方法,其特征在于:根据该流程文件调用与接口对应的原子服务的过程包括:遍历流程对象中的节点对象。
5.根据权利要求4所述的动态流程服务接口方法,其特征在于:遍历流程对象中的节点对象的具体过程为:
判断节点对象是否为分支节点;
如果不是分支节点,则反射调用执行方法,调用与接口对应的子服务的数据逻辑服务,进行数据库操作,并将结果返回;
如果是分支节点则进行表达式判断;
判断条件为真则获取执行节点,然后反射调用执行方法调用与接口对应的子服务器的数据逻辑服务,进行数据库操作,并将结果返回;
如果判断条件不为真,则再次进行循环。
6.根据权利要求1所述的动态流程服务接口方法,其特征在于:通过对配置中心进行监测来获取接口需求。
7.根据权利要求6所述的,其特征在于:当配置中心的流程定义文件进行修改时,获取修改之后的流程定义文件,对流程定义文件进行更新。
8.根据权利要求2所述的,其特征在于:流程定义文件被封装成流程对象之后存储于容器中。
9.一种动态流程服务接口引擎,其特征在于:该引擎至少包括:
一容器,该容器内存储有流程对象;
一调用模块,用于调用该容器中存储的流程对象;以及
一动态监测模块,该动态监测模块用于对配置中心进行实时监测。
10.根据权利要求9所述的动态流程服务接口引擎,其特征在于:该调用模块包括第一调用模块以及第二调用模块,该第一调用模块用于调用该容器中存储的流程对象,第二调用模块用于根据第一调用模块调用的流程对象,调用与该接口对应的原子服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011343850.3A CN112328222A (zh) | 2020-11-26 | 2020-11-26 | 一种动态流程服务接口方法及动态流程服务接口引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011343850.3A CN112328222A (zh) | 2020-11-26 | 2020-11-26 | 一种动态流程服务接口方法及动态流程服务接口引擎 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328222A true CN112328222A (zh) | 2021-02-05 |
Family
ID=74307957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011343850.3A Pending CN112328222A (zh) | 2020-11-26 | 2020-11-26 | 一种动态流程服务接口方法及动态流程服务接口引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328222A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947963A (zh) * | 2021-02-26 | 2021-06-11 | 平安普惠企业管理有限公司 | 接口运维方法、装置、计算机设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621540A (zh) * | 2009-08-10 | 2010-01-06 | 浙江大学 | 基于bpel引擎组合企业服务总线内部服务的方法 |
CN101655943A (zh) * | 2009-09-14 | 2010-02-24 | 中兴通讯股份有限公司 | 企业应用集成工作流管理方法及系统 |
CN101777004A (zh) * | 2010-01-26 | 2010-07-14 | 北京邮电大学 | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 |
CN104683386A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 可定制响应的桩服务实现方法及装置 |
CN105760196A (zh) * | 2016-02-18 | 2016-07-13 | 福建天晴数码有限公司 | 插件化外挂程序的检测方法及系统 |
CN106296127A (zh) * | 2016-08-10 | 2017-01-04 | 国家电网公司 | 一种智能变电站业务流程的动态构建系统及方法 |
CN108228149A (zh) * | 2016-12-19 | 2018-06-29 | 北京京东尚科信息技术有限公司 | 一种可动态装配服务的app接口适配方法及装置 |
CN109144618A (zh) * | 2018-09-10 | 2019-01-04 | 中铝视拓智能科技有限公司 | 一种业务流程执行方法及相关装置 |
CN110058853A (zh) * | 2019-04-22 | 2019-07-26 | 武汉众邦银行股份有限公司 | 一种基于工作流及权限控制的api流程化方法 |
CN110912724A (zh) * | 2018-09-18 | 2020-03-24 | 亿阳信通股份有限公司 | 一种基于参数驱动的自动业务编排方法及装置 |
CN111738700A (zh) * | 2020-07-24 | 2020-10-02 | 南京梦饷网络科技有限公司 | 用于控制业务流程的方法、计算设备和存储介质 |
-
2020
- 2020-11-26 CN CN202011343850.3A patent/CN112328222A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621540A (zh) * | 2009-08-10 | 2010-01-06 | 浙江大学 | 基于bpel引擎组合企业服务总线内部服务的方法 |
CN101655943A (zh) * | 2009-09-14 | 2010-02-24 | 中兴通讯股份有限公司 | 企业应用集成工作流管理方法及系统 |
CN101777004A (zh) * | 2010-01-26 | 2010-07-14 | 北京邮电大学 | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 |
CN104683386A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 可定制响应的桩服务实现方法及装置 |
CN105760196A (zh) * | 2016-02-18 | 2016-07-13 | 福建天晴数码有限公司 | 插件化外挂程序的检测方法及系统 |
CN106296127A (zh) * | 2016-08-10 | 2017-01-04 | 国家电网公司 | 一种智能变电站业务流程的动态构建系统及方法 |
CN108228149A (zh) * | 2016-12-19 | 2018-06-29 | 北京京东尚科信息技术有限公司 | 一种可动态装配服务的app接口适配方法及装置 |
CN109144618A (zh) * | 2018-09-10 | 2019-01-04 | 中铝视拓智能科技有限公司 | 一种业务流程执行方法及相关装置 |
CN110912724A (zh) * | 2018-09-18 | 2020-03-24 | 亿阳信通股份有限公司 | 一种基于参数驱动的自动业务编排方法及装置 |
CN110058853A (zh) * | 2019-04-22 | 2019-07-26 | 武汉众邦银行股份有限公司 | 一种基于工作流及权限控制的api流程化方法 |
CN111738700A (zh) * | 2020-07-24 | 2020-10-02 | 南京梦饷网络科技有限公司 | 用于控制业务流程的方法、计算设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947963A (zh) * | 2021-02-26 | 2021-06-11 | 平安普惠企业管理有限公司 | 接口运维方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739482B (zh) | 一种基于动态语言的业务逻辑执行系统及方法 | |
CN101840348B (zh) | 数据库中间件系统 | |
CN101707399B (zh) | 电能信息采集方法及系统 | |
CN112738060B (zh) | 微服务数据的处理方法、装置、微服务处理平台及介质 | |
JPH07146844A (ja) | 製造装置の制御および調整を行う統合オートメーション開発システムおよび方法 | |
CN110569250B (zh) | 一种物联网网元的解析库的管理方法及装置 | |
CN106371932A (zh) | 一种基于zookeeper的信息配置方法及装置 | |
CN108021357B (zh) | 程序调用的优化方法及装置 | |
JP2011516987A (ja) | モバイル・デバイス・ソフトウェアの管理方法及び装置 | |
CN112905339B (zh) | 任务调度执行方法、装置及系统 | |
CN112882793B (zh) | 一种容器资源共享的方法和系统 | |
CN105975261A (zh) | 一种面向统一接口调用的运行时系统及运行方法 | |
CN112328222A (zh) | 一种动态流程服务接口方法及动态流程服务接口引擎 | |
CN112132530B (zh) | 可视化动态流程编排方法及系统 | |
CN103699485A (zh) | 应用程序调试方法和装置 | |
CN110162381B (zh) | 一种容器内代理执行方法 | |
CN117032118A (zh) | 基于工业物联网的软plc系统 | |
CN107861807B (zh) | 程序调用的优化方法及装置 | |
CN107908391B (zh) | 程序调用的优化方法及装置 | |
CN108153671B (zh) | 一种面向atml信号的运行时服务的测试系统及方法 | |
EP2375326A1 (en) | Executing operations via asynchronous programming model | |
CN103019927A (zh) | 一种性能测试方法和系统 | |
CN114443292B (zh) | 基于工作流任务调度系统的客户端管理方法、装置、系统 | |
CN100512275C (zh) | 一种面向服务体系结构的服务调试装置及方法 | |
CN115048099A (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 |