CN113326026B - 一种微服务业务流程接口的生成方法与终端 - Google Patents
一种微服务业务流程接口的生成方法与终端 Download PDFInfo
- Publication number
- CN113326026B CN113326026B CN202110510006.3A CN202110510006A CN113326026B CN 113326026 B CN113326026 B CN 113326026B CN 202110510006 A CN202110510006 A CN 202110510006A CN 113326026 B CN113326026 B CN 113326026B
- Authority
- CN
- China
- Prior art keywords
- annotation
- interface
- execution unit
- unit
- business process
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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/73—Program documentation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种微服务业务流程接口的生成方法与终端;本发明根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口;本发明通过预设注解对各微服务的方法进行标注,能够根据开发人员提供的注解信息,对聚合/组合类接口所需的业务流程进行自动拼接,让开发人员更专注于组件领域原子性开发,减少聚合、组合类代码硬编码,减少开发成本。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种微服务业务流程接口的生成方法与终端。
背景技术
在大中台、小前台的微服务架构下,大中台按照不同的领域进行拆分成相应的微服务,小前台依赖大中台的微服务快速生产出新的产品或项目。但现有的项目开发总有利用大中台的各微服务能力组装出新的业务流程的需求。如近期在实施某教育产品的过程中,对教务升级操作,不仅仅需要处理年级信息的升级,升级成功后还需要解散本年级下的班级,初始化学年、学期信息,重新进行编班等功能。通常情况下,大家通过编码方式,定义业务流程接口,并对业务接口按需求进行开发,然而这种编码方式将导致业务服务的接口的功能越来越多,增加了系统的资源投入,也不利于后期的运维。再进一步,业务可引入Conductor(一种开源微服务编排框架)进行微服务任务编排,但Conductor接入成本较大,如:需要开发人员在Conductor管理后台配置对应的业务流程,功能上有冲突时,需要修改其源码;在扩展性上,该编排能力没提供单个任务执行完成后的回调,不利于业务扩展;而且Conductor包括了较多的模块,并且依赖了较多的网元,如:Conductor持久化模块使用Dynomite(一种分布式存储代理层),Elasticsearch(一个分布式和RESTful风格的搜索和数据分析引擎)用于索引后端,大大降低了系统的可用性。
发明内容
本发明所要解决的技术问题是:提供一种微服务业务流程接口的生成方法与终端,不需要进行Conductor的引入且能够自动生成业务所需的聚合/组合类接口。
为了解决上述技术问题,本发明采用的技术方案为:
一种微服务业务流程接口的生成方法,包括:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种微服务业务流程接口的生成终端,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口。
本发明的有益效果在于:本发明不需要进行Conductor的引入,通过预设注解对各微服务的方法进行标注,使得系统能够根据开发人员提供的待生成接口的注解信息和各个方法的注解信息,对聚合/组合类接口所需的业务流程进行自动拼接,让开发人员更专注于组件领域原子性开发,减少聚合、组合类代码硬编码,减少开发成本。
附图说明
图1为本发明实施例的一种微服务业务流程接口的生成方法的流程图;
图2为本发明实施例的一种微服务业务流程接口的生成终端的结构图;
图3为本发明实施例的一种微服务业务流程接口的生成方法的接口流程处理示意图;
标号说明:
1、一种微服务业务流程接口的生成终端;2、处理器;3、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1和图3,一种微服务业务流程接口的生成方法,包括:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口。
从上述描述可知,本发明的有益效果在于:本发明不需要进行Conductor的引入,通过预设注解对各微服务的方法进行标注,使得系统能够根据开发人员提供的待生成接口的注解信息和各个方法的注解信息,对聚合/组合类接口所需的业务流程进行自动拼接,让开发人员更专注于组件领域原子性开发,减少聚合、组合类代码硬编码,减少开发成本。
进一步地,所述预设注解的注解属性包括执行单元名称、下级执行单元名称、参数转换函数、执行完成阶段类型、根任务属性以及执行单元完成回调函数;
所述步骤S2具体为:
获取用户为待生成接口定义的所述预设注解的所述根任务属性,判断所述待生成接口是否为根任务,若是则根据所述下级执行单元名称选择对应的所述执行单元并拼接生成上下级业务流程链表,否则不进行处理。
由上述描述可知,注解属性包括下级执行单元名称、根任务属性、用于区分执行单元的执行单元名称、用于定义下一级执行单元输入参数的参数转换函数、用于定义多级执行完成状态类型的执行完成阶段类型以及定义执行单元完成后业务回调处理的执行单元完成回调函数,能够满足开发和运行需求;在生成上下级任务链表前,判断待生成接口是否为根任务,若为根任务,则根据下级执行单元名称得到下一级执行单元,以链表的形式进行任务流程的拼接,直到没有下一级执行单元,从而得到上下级业务流程链表。
进一步地,所述步骤S1中所述将标识有预设注解的方法添加到执行单元列表具体为:
获取标识有预设注解的方法的信息,并按照键值对的方式添加到执行单元列表中,所述键值对中的键为方法名称,且值为所述方法的所述预设注解对应的注解对象,所述注解对象包含所述预设注解的所述注解属性。
由上述描述可知,每个执行单元均包含注解对象,用于根据注解对象的注解属性来完成后续步骤。
进一步地,所述步骤S2和所述步骤S3之间还包括:
S21、对所述上下级业务流程链表进行校验,判断是否符合有向无环的处理逻辑,若是则进入步骤S3,否则返回错误信息。
由上述描述可知,在业务流程链表生成后,需要对其进行有向无环的逻辑判断,从而保证业务流程能够依次执行,不会发生在几个流程间无限循环流转的问题。
进一步地,所述步骤S1还包括:
S11、根据所述注解属性中的所述下级执行单元名称区分主干单元、分支单元和并行单元,并确定所述下一级处理汇聚点,将所述下一级处理汇聚点添加到所述注解对象中;
所述步骤S3之后还包括:
S4、接收所述待生成接口的访问请求,启动任务编排事件,生成抽象执行单元,通过所述抽象执行单元,逐级对所述待生成接口的所述上下级业务流程链表中的所述执行单元进行处理,直至无下一级的所述执行单元。
由上述描述可知,根据下级执行单元名称能够区分出主干单元、分支单元和并行单元,以及下一级处理汇聚点,在访问待生成接口时,通过生成抽象执行单元,逐级对上下级业务流程中的执行单元进行处理,从而有逻辑且完整地对业务流程进行处理。
请参照图2,一种微服务业务流程接口的生成终端,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口。
从上述描述可知,本发明的有益效果在于:本发明不需要进行Conductor的引入,通过预设注解对各微服务的方法进行标注,使得系统能够根据开发人员提供的待生成接口的注解信息和各个方法的注解信息,对聚合/组合类接口所需的业务流程进行自动拼接,让开发人员更专注于组件领域原子性开发,减少聚合、组合类代码硬编码,减少开发成本。
进一步地,所述预设注解的注解属性包括执行单元名称、下级执行单元名称、参数转换函数、执行完成阶段类型、根任务属性以及执行单元完成回调函数;
所述步骤S2具体为:
获取用户为待生成接口定义的所述预设注解的所述根任务属性,判断所述待生成接口是否为根任务,若是则根据所述下级执行单元名称选择对应的所述执行单元并拼接生成上下级业务流程链表,否则不进行处理。
由上述描述可知,注解属性包括下级执行单元名称、根任务属性、用于区分执行单元的执行单元名称、用于定义下一级执行单元输入参数的参数转换函数、用于定义多级执行完成状态类型的执行完成阶段类型以及定义执行单元完成后业务回调处理的执行单元完成回调函数,能够满足开发和运行需求;在生成上下级任务链表前,判断待生成接口是否为根任务,若为根任务,则根据下级执行单元名称得到下一级执行单元,以链表的形式进行任务流程的拼接,直到没有下一级执行单元,从而得到上下级业务流程链表。
进一步地,所述步骤S1中所述将标识有预设注解的方法添加到执行单元列表具体为:
获取标识有预设注解的方法的信息,并按照键值对的方式添加到执行单元列表中,所述键值对中的键为方法名称,且值为所述方法的所述预设注解对应的注解对象,所述注解对象包含所述预设注解的所述注解属性。
由上述描述可知,每个执行单元均包含注解对象,用于根据注解对象的注解属性来完成后续步骤。
进一步地,所述处理器执行所述计算机程序时所述步骤S2和所述步骤S3之间还包括:
S21、对所述上下级业务流程链表进行校验,判断是否符合有向无环的处理逻辑,若是则进入步骤S3,否则返回错误信息。
由上述描述可知,在业务流程链表生成后,需要对其进行有向无环的逻辑判断,从而保证业务流程能够依次执行,不会发生在几个流程间无限循环流转的问题。
进一步地,所述处理器执行所述计算机程序时所述步骤S1还包括:
S11、根据所述注解属性中的所述下级执行单元名称区分主干单元、分支单元和并行单元,并确定所述下一级处理汇聚点,将所述下一级处理汇聚点添加到所述注解对象中;
所述步骤S3之后还包括:
S4、接收所述待生成接口的访问请求,启动任务编排事件,生成抽象执行单元,通过所述抽象执行单元,逐级对所述待生成接口的所述上下级业务流程链表中的所述执行单元进行处理,直至无下一级的所述执行单元。
由上述描述可知,根据下级执行单元名称能够区分出主干单元、分支单元和并行单元,以及下一级处理汇聚点,在访问待生成接口时,通过生成抽象执行单元,逐级对上下级业务流程中的执行单元进行处理,从而有逻辑且完整地对业务流程进行处理。
请参照图1和图3,本发明的实施例一为:
一种微服务业务流程接口的生成方法,包括:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
所述预设注解的注解属性包括执行单元名称、下级执行单元名称、参数转换函数、执行完成阶段类型、根任务属性以及执行单元完成回调函数;
所述步骤S1中所述将标识有预设注解的方法添加到执行单元列表具体为:
获取标识有预设注解的方法的信息,并按照键值对的方式添加到执行单元列表中,所述键值对中的键为方法名称,且值为所述方法的所述预设注解对应的注解对象,所述注解对象包含所述预设注解的所述注解属性;
所述步骤S1还包括:
S11、根据所述注解属性中的所述下级执行单元名称区分主干单元、分支单元和并行单元,并确定所述下一级处理汇聚点,将所述下一级处理汇聚点添加到所述注解对象中。
本实施例中,预设注解为@marshal,在其他等同实施例中,开发者可以通过自定义注解的方式,在符合注解命名规则的情况下自由命名,并在预设框架进行相应配置即可。
@marshal注解包含如下注解属性:
name(执行单元名称):定义业务组件具体功能的名称,为执行单元的拼接提供支持;
next(下级执行单元名称):通过定义下一级执行单元名称(可多选),明确业务的执行流程;
paramFunction(参数转换函数):定义下级执行单元输入参数转换函数;
completionStage(执行完成阶段类型):定义多级执行的完成状态类型;支持任一一个完成处理(anyof)和全部完成处理(allof);
root(根任务属性):定义执行任务是否为根任务,当执行单元定义为根任务时,框架启动时将通过根任务拼装出该业务执行流程;
callback(执行单元完成回调函数):定义执行单元完成后的业务回调处理。
本实施例中,工程启动时,将会扫描工程内所有方法,将带有@marshal的注解,按照kv(key-value)方式加载到执行单元列表中,其中k为name,v为marshal对象。以某教育产品为例,通过扫描得到如下执行单元:
@Marshal
(name="archiveClass",next="initAcademicYear",paramFunction="successUpgradeFunction")
eduAdminArchiveClass()
//归档教学班
@Marshal
(name="archiveTeachingClass",next="initAcademicYear",paramFunction="successUpgradeFunction")
eduAdminArchiveTeachingClass()
//初始化学年
@Marshal(name="initAcademicYear",next="initSemester")
eduAdminInitAcademicYear()
//初始化学期
@Marshal(name="initSemester")
eduAdminInitSemester()
本实施例中,待生成接口为schoolUpgrade的接口,因此开发者对待生成接口作出如下定义:
@Marshal
(name="schoolUpgrade",next="archiveClass,archiveTeachingClass",completionStage="allOf",root=true,callback="upgradeCallbackConsumer")
eduAdminUpgrade()
//归档行政班
系统根据next(下级执行单元名称)属性确定各个执行单元的主干和分支处理逻辑,并确定下一级处理汇聚点,将下一级处理汇聚点记录到marshal中。以待生成接口为例,待生成接口的下级执行单元包括archiveClass和archiveTeachingClass,而由archiveClass和archiveTeachingClass的下级执行单元均为initAcademicYear可以确定下一级处理汇聚点为initAcademicYear执行单元,将其记录到marshal对象中,并确定主干处理逻辑为:
archiveClass和archiveTeachingClass→initAcademicYear→initSemester,无分支处理逻辑。
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
所述步骤S2具体为:
获取用户为待生成接口定义的所述预设注解的所述根任务属性,判断所述待生成接口是否为根任务,若是则根据所述下级执行单元名称选择对应的所述执行单元并拼接生成上下级业务流程链表,否则不进行处理。
所述步骤S2和所述步骤S3之间还包括:
S21、对所述上下级业务流程链表进行校验,判断是否符合有向无环的处理逻辑,若是则进入步骤S3,否则返回错误信息。
本实施例中,获取待生成接口schoolUpgrade的根任务属性root,而root为true,因此根据next(下级执行单元名称)选择对应的执行单元拼接成上下级业务流程链表,并进行有向无环的校验。
有向无环的校验具体为:遍历每条path(起始节点到结束节点之间的路径称之为path),查看path中有没有重复的点。如果有重复的点,则有环,没有重复的节点,则没有环。本实施例中,起始节点到结束节点之间的路径path存在两条,分别为:
开始→archiveTeachingClass→initAcademicYear→initSemester以及开始→archiveClass→initAcademicYear→initSemester,每条path中均无重复的点,即重复执行的执行单元,因此符合有向无环的处理逻辑。
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口。
本实施例中,根据执行单元archiveTeachingClass和archiveClass的输入信息以及执行单元initSemester的输出信息,生成待生成接口schoolUpgrade,并在控制台打印出生成的接口。
所述步骤S3之后还包括:
S4、接收所述待生成接口的访问请求,启动任务编排事件,生成抽象执行单元,通过所述抽象执行单元,逐级对所述待生成接口的所述上下级业务流程链表中的所述执行单元进行处理,直至无下一级的所述执行单元。
本实施例中,在用户访问schoolUpgrade接口时,启动任务编排事件,预设框架采用模板模式,抽象出一层抽象执行单元,逐级对所述待生成接口的所述上下级业务流程链表中的所述执行单元进行处理,直至无下一级的所述执行单元,同时负责根据callback(执行单元完成回调函数)执行完成回调,统一异常处理等公共逻辑。其处理执行单元时可能结构化出4中任务处理单元,包括:
执行主干任务单元:基于同步方式执行主干任务单元;
执行分支任务单元:基于异步方式执行分支单元,仅当业务需要结果时才阻塞返回结果数据;
执行并行主干单元:基于同步方式执行并行单元,依赖completionStage(执行完成阶段类型),处理并行任务的策略,并同时同步执行依赖的汇聚点;
执行并行分支单元,基于异步方式执行并行单元,依赖completionStage(执行完成阶段类型),处理并行任务的策略,并同时异步执行依赖的汇聚点,仅当业务需要结果时才阻塞返回结果数据。
请参照图2,本发明的实施例二为:
一种微服务业务流程接口的生成终端1,包括处理器2、存储器3及存储在存储器3上并可在处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现以上实施例一中的步骤。
综上所述,本发明提供的一种微服务业务流程接口的生成方法与终端,不需要进行Conductor的引入,通过预设注解对各微服务的方法进行标注,轻量级、依赖极少,资源损耗少,且注解属性包含多个内容,能够满足开发和运行需求;系统能够根据开发人员提供的待生成接口的注解信息和各个方法的注解信息,对聚合/组合类接口所需的业务流程进行自动拼接,让开发人员更专注于组件领域原子性开发,减少聚合、组合类代码硬编码,减少开发成本;进行了有向无环的校验,使得业务流程不会出现重复执行的情况;支持串行、并行、依赖、阻塞等待等多种场景,适用性广,且提供回调功能,支持业务流程额外的扩展。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种微服务业务流程接口的生成方法,其特征在于,包括:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
所述步骤S1还包括:
S11、根据所述注解属性中的下级执行单元名称区分主干单元、分支单元和并行单元,并确定下一级处理汇聚点,将所述下一级处理汇聚点添加到所述注解对象中;
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口;
S4、接收所述待生成接口的访问请求,启动任务编排事件,生成抽象执行单元,通过所述抽象执行单元,逐级对所述待生成接口的所述上下级业务流程链表中的所述执行单元进行处理,直至无下一级的所述执行单元;
处理执行单元时结构化出任务处理单元,所述任务处理单元的类型包括:
执行主干任务单元:基于同步方式执行主干任务单元;
执行分支任务单元:基于异步方式执行分支任务单元,仅当业务需要结果时才阻塞返回结果数据;
执行并行主干单元:基于同步方式执行并行主干单元,依赖completionStage,处理并行任务的策略,并同时同步执行依赖的汇聚点;
执行并行分支单元:基于异步方式执行并行分支单元,依赖completionStage,处理并行任务的策略,并同时异步执行依赖的汇聚点,仅当业务需要结果时才阻塞返回结果数据。
2.根据权利要求1所述的一种微服务业务流程接口的生成方法,其特征在于,所述预设注解的注解属性包括执行单元名称、下级执行单元名称、参数转换函数、执行完成阶段类型、根任务属性以及执行单元完成回调函数;
所述步骤S2具体为:
获取用户为待生成接口定义的所述预设注解的所述根任务属性,判断所述待生成接口是否为根任务,若是则根据所述下级执行单元名称选择对应的所述执行单元并拼接生成上下级业务流程链表,否则不进行处理。
3.根据权利要求1所述的一种微服务业务流程接口的生成方法,其特征在于,所述步骤S1中所述将标识有预设注解的方法添加到执行单元列表具体为:
获取标识有预设注解的方法的信息,并按照键值对的方式添加到执行单元列表中,所述键值对中的键为方法名称,且值为所述方法的所述预设注解对应的注解对象,所述注解对象包含所述预设注解的所述注解属性。
4.根据权利要求1所述的一种微服务业务流程接口的生成方法,其特征在于,所述步骤S2和所述步骤S3之间还包括:
S21、对所述上下级业务流程链表进行校验,判断是否符合有向无环的处理逻辑,若是则进入步骤S3,否则返回错误信息。
5.一种微服务业务流程接口的生成终端,其特征在于,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、根据预设框架,扫描工程内的所有方法,并将标识有预设注解的方法添加到执行单元列表;
步骤S1之后还包括:
S11、根据所述注解属性中的下级执行单元名称区分主干单元、分支单元和并行单元,并确定下一级处理汇聚点,将所述下一级处理汇聚点添加到所述注解对象中;
S2、获取用户为待生成接口定义的所述预设注解的注解属性,根据所述注解属性选择对应的所述执行单元并拼接生成上下级业务流程链表;
S3、获取所述待生成接口的输入信息以及所述上下级业务流程链表末端的所述执行单元的输出信息,根据所述输入信息和所述输出信息生成所述待生成接口;
S4、接收所述待生成接口的访问请求,启动任务编排事件,生成抽象执行单元,通过所述抽象执行单元,逐级对所述待生成接口的所述上下级业务流程链表中的所述执行单元进行处理,直至无下一级的所述执行单元;
处理执行单元时结构化出任务处理单元,所述任务处理单元的类型包括:
执行主干任务单元:基于同步方式执行主干任务单元;
执行分支任务单元:基于异步方式执行分支任务单元,仅当业务需要结果时才阻塞返回结果数据;
执行并行主干单元:基于同步方式执行并行主干单元,依赖completionStage,处理并行任务的策略,并同时同步执行依赖的汇聚点;
执行并行分支单元:基于异步方式执行并行分支单元,依赖completionStage,处理并行任务的策略,并同时异步执行依赖的汇聚点,仅当业务需要结果时才阻塞返回结果数据。
6.根据权利要求5所述的一种微服务业务流程接口的生成终端,其特征在于,所述预设注解的注解属性包括执行单元名称、下级执行单元名称、参数转换函数、执行完成阶段类型、根任务属性以及执行单元完成回调函数;
所述步骤S2具体为:
获取用户为待生成接口定义的所述预设注解的所述根任务属性,判断所述待生成接口是否为根任务,若是则根据所述下级执行单元名称选择对应的所述执行单元并拼接生成上下级业务流程链表,否则不进行处理。
7.根据权利要求6所述的一种微服务业务流程接口的生成终端,其特征在于,所述步骤S1中所述将标识有预设注解的方法添加到执行单元列表具体为:
获取标识有预设注解的方法的信息,并按照键值对的方式添加到执行单元列表中,所述键值对中的键为方法名称,且值为所述方法的所述预设注解对应的注解对象,所述注解对象包含所述预设注解的所述注解属性。
8.根据权利要求5所述的一种微服务业务流程接口的生成终端,其特征在于,所述处理器执行所述计算机程序时所述步骤S2和所述步骤S3之间还包括:
S21、对所述上下级业务流程链表进行校验,判断是否符合有向无环的处理逻辑,若是则进入步骤S3,否则返回错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110510006.3A CN113326026B (zh) | 2021-05-11 | 2021-05-11 | 一种微服务业务流程接口的生成方法与终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110510006.3A CN113326026B (zh) | 2021-05-11 | 2021-05-11 | 一种微服务业务流程接口的生成方法与终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113326026A CN113326026A (zh) | 2021-08-31 |
CN113326026B true CN113326026B (zh) | 2023-09-08 |
Family
ID=77415255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110510006.3A Active CN113326026B (zh) | 2021-05-11 | 2021-05-11 | 一种微服务业务流程接口的生成方法与终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326026B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658018B (zh) * | 2022-10-20 | 2023-08-08 | 广东云徙智能科技有限公司 | 一种中台逻辑扩展方法、系统、装置及介质 |
CN115712499A (zh) * | 2022-11-09 | 2023-02-24 | 北京城建设计发展集团股份有限公司 | 一种轨交业务ai芯片驱动任务处理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924185A (zh) * | 2018-06-01 | 2018-11-30 | 中铁程科技有限责任公司 | 接口生成方法及装置 |
CN109634569A (zh) * | 2018-12-13 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 基于注解的流程实现方法、装置、设备及可读存储介质 |
CN110955534A (zh) * | 2019-10-10 | 2020-04-03 | 荣邦科技有限公司 | 一种基于中间件的业务流程自动化系统及方法 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN112418784A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种服务的编排执行系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12001422B2 (en) * | 2019-03-28 | 2024-06-04 | International Business Machines Corporation | Accuracy of QA systems by normalizing logical queries |
-
2021
- 2021-05-11 CN CN202110510006.3A patent/CN113326026B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924185A (zh) * | 2018-06-01 | 2018-11-30 | 中铁程科技有限责任公司 | 接口生成方法及装置 |
CN109634569A (zh) * | 2018-12-13 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 基于注解的流程实现方法、装置、设备及可读存储介质 |
CN110955534A (zh) * | 2019-10-10 | 2020-04-03 | 荣邦科技有限公司 | 一种基于中间件的业务流程自动化系统及方法 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN112418784A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种服务的编排执行系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113326026A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9026901B2 (en) | Viewing annotations across multiple applications | |
CN113326026B (zh) | 一种微服务业务流程接口的生成方法与终端 | |
US20070061354A1 (en) | System for modeling architecture for business systems and methods thereof | |
CN111367818B (zh) | 基于动态数据返回的系统组件测试方法及装置 | |
JP2000148461A (ja) | ソフトウェアモデル及び既存のソ―スコ―ドを同期化させる方法及びその装置 | |
CN106910045A (zh) | 工作流引擎设计方法及系统 | |
CN115061772B (zh) | 一种多领域仿真模型集成方法及系统 | |
CN105159746B (zh) | 面向容错组合web服务的可靠性仿真工具 | |
CN111858355B (zh) | 测试案例处理方法及装置、计算机设备及可读存储介质 | |
CN112947896A (zh) | 一种基于有向图的组件依赖分析方法 | |
CN111259619A (zh) | 配置对象的控制方法、装置、存储介质及验证平台 | |
CN116560629A (zh) | 一种数据传输对象的序列化方法、装置、介质和设备 | |
CN113704123B (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN114936045A (zh) | Mcal的io驱动模块自动配置方法及系统、存储介质 | |
Alvarez-Pérez et al. | Splitting Long Event Sequences Drawn from Cyclic Processes for Discovering Workflow Nets | |
CN118133973B (zh) | 基于大语言模型的报告生成方法及装置 | |
US11966725B2 (en) | Microservice termination while maintaining high availability | |
CN115905402B (zh) | 处理事务日志的方法及装置 | |
TWI765447B (zh) | 劃分服務的解耦系統及其方法 | |
CN111881324B (zh) | 高通量测序数据通用存储格式结构、其构建方法及应用 | |
CN113553329A (zh) | 数据集成系统和方法 | |
CN114265781A (zh) | Cockroach数据库系统存储引擎性能验证的方法 | |
CN116383182A (zh) | 一种大数据清洗方法 | |
CN115390937A (zh) | 一种智能合约运行方法及电子设备 | |
CN118093375A (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 |