CN111092933A - 用于微服务架构的业务流程管理方法、系统、介质及电子设备 - Google Patents
用于微服务架构的业务流程管理方法、系统、介质及电子设备 Download PDFInfo
- Publication number
- CN111092933A CN111092933A CN201911151725.XA CN201911151725A CN111092933A CN 111092933 A CN111092933 A CN 111092933A CN 201911151725 A CN201911151725 A CN 201911151725A CN 111092933 A CN111092933 A CN 111092933A
- Authority
- CN
- China
- Prior art keywords
- task
- service
- micro
- event code
- message event
- 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 115
- 230000008569 process Effects 0.000 title claims abstract description 87
- 238000007726 management method Methods 0.000 title claims abstract description 32
- 230000004044 response Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 abstract description 4
- 238000010168 coupling process Methods 0.000 abstract description 4
- 238000005859 coupling reaction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000036541 health Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了用于微服务架构的业务流程管理方法、系统、介质及电子设备,其响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例;根据业务流程实例中当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务;以及响应于该微服务模块完成执行任务的消息,继续执行业务流程实例中的下个任务节点。本发明实施例的方案降低了业务流程管理与各微服务系统之间的耦合度,使得整个系统更易于维护和易于扩展。
Description
技术领域
本发明涉及微服务架构,尤其涉及用于微服务架构的业务流程管理方法、装置、介质及电子设备。
背景技术
现有的微服务架构系统中,将巨大而且复杂的业务系统根据业务逻辑拆分为多个较小且业务较简单的微服务模块。每个微服务模块主要负责某些特定业务功能,可以独立开发和部署,由此降低了系统开发的复杂度,但同时也引入了各个微服务模块间复杂的通信机制。因为,通常完成一项工作需要各微服务模块之间的合作,而每个微服务模块只专注于本身的业务功能,缺乏对整体业务流程的管理和监控。并且当涉及多个微服务模块合作的业务流程发生改变时,系统的开发和维护也会变得非常复杂。以保险公司的养老云平台为例,与养老业务相关的多个特定业务功能可采用微服务模块的形式独立开发,但每个保险公司的养老云平台会对应多家养老机构,不同养老机构虽然各个业务功能模块基本类似,但处理业务的流程可能会有各自的个性化需求,当具体业务执行流程发生变化时,还是需要大量的重新开发工作。
发明内容
本发明实施例的目的在于提供用于微服务架构的业务流程管理方法、系统、介质及电子设备,以更灵活性、更易于可扩展的方式管理各微服务模块之间的协同工作。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种用于微服务架构的业务流程管理方法,包括:响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例,所述流程模板中包括按预设次序执行的一个或多个任务节点,每个任务节点对应一条待执行任务并设置有与该任务节点关联的消息事件码;根据当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务;以及响应于该微服务模块完成任务的消息,继续执行业务流程实例中的下个任务节点。
在本发明的一些实施例中,该方法还可包括根据待执行的业务建立与该业务对应的流程模板;并建立该流程模板中每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。
在本发明的一些实施例中,可以通过将所述消息事件码映射至微服务模块的访问地址来建立每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。
在本发明的一些实施例中,该方法还可包括将执行与当前任务节点对应的待执行任务所需的数据参数与所述消息事件码发送至与该消息事件码关联的微服务模块;以及响应于该微服务模块完成任务的消息,从中提取微服务模块返回的数据参数,并将其传递至该业务流程实例中的下个任务节点。
在本发明的一些实施例中,可以将每个任务节点的消息事件码至少关联至两个或更多个用于执行该任务节点对应的待执行任务的微服务模块。
在本发明的一些实施例中,该方法还可包括:响应于微服务模块状态的变化,自动更新消息事件码与微服务模块之间的关联。
在本发明的一些实施例中,该方法还可包括:响应于微服务模块的更替或升级,将消息事件码关联至更替后或升级后的微服务模块。
根据本发明实施例的第二方面,提供了一种用于微服务架构的业务流程管理系统,包括实例生成模块和流程执行模块。其中实例生成模块用于响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例,所述流程模板中包括按预设次序执行的一个或多个任务节点,每个任务节点对应一条待执行任务并设置有与该任务节点关联的消息事件码。其中流程执行模块用于根据当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务;以及响应于该微服务模块完成任务的消息,继续执行业务流程实例中的下个任务节点。
根据本发明实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现如上述实施例中第一方面所述的方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括处理器和存储器,其中存储器用于存储可执行指令;所述处理器被配置为经由执行所述可执行指令来执行如上述实施例中第一方面所述的方法。
本发明实施例的技术方案可以包括以下有益效果:
通过将任务节点与消息事件码关联以及将消息事件码与微服务关联形成的双重关联让任务节点与微服务模块之间构成动态的松耦合,从而避免了任务节点与微服务模块直接绑定导致的当微服务模块发生改变或者业务流程发生改变时需要通知多个微服务系统甚至可能需要大量的重新开发工作的问题,而是只要修改与消息事件码的关联或映射即可,每个微服务模块可以独立开发、部署和/或维护而不影响其他系统功能,使得采用微服务架构的系统更加容易维护,也更加便于扩展,各微服务的组合也更加灵活。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的一个实施例的用于微服务架构的业务流程管理方法的流程图;
图2示意性示出了根据本发明的一个实施例的入住流程业务的流程模板示意;
图3示意性示出了根据本发明的一个实施例的入住流程业务的流程模板定义过程的示意图;
图4示意性示出了根据本发明的一个实施例的消息事件码与微服务模块的关联或配置界面示意图;
图5示意性示出了根据本发明一个实施例的用于微服务架构的业务流程管理系统的功能模块框图;
图6示意性示出了根据本发明一个实施例的用于微服务架构的业务流程管理系统的结构框图;
图7示意性示出了根据本发明一个实施例的用于微服务架构的业务流程管理系统的业务流程实例的运行过程示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性示出了根据本发明的一个实施例的用于微服务架构的业务流程管理方法的流程图,该管理方法的执行主体可以是服务器或用于进行业务流程管理的任何一个或多个计算装置及其组合等等。如图1所示,该方法主要包括步骤S110、步骤S120和步骤S130,以下详细进行说明:
在步骤S110中,响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例,流程模板中包括按预设次序执行的一个或多个任务节点,每个任务节点对应一条待执行任务并设置有与该任务节点关联的消息事件码。在本发明的实施例中,可以为每种类型的业务预先设置相应的流程模板。仍以保险公司的养老业务为例,其中可包括多种具体的业务类型,例如入住流程业务、搬离流程业务、调换流程业务、健康检查流程业务、照护流程业务等等。对于刚刚要进入养老机构的客户需要办理入住养老院结构的手续,这是可以启动入住流程业务,来办理相关人员的入住流程。对于想离开养老院的客户可以请求启动搬离流程业务来办理相关人员的搬离流程。对于入住老人对当前入住的房间和/或床位不满意时可以请求启动调换流程业务,办理房间调换和/或床位调换等流程。健康检查流程业务可以办理相关人员的健康检查流程的业务,比如,在一定的时间对相应人员执行相应的健康检查项目。照护流程业务可以负责对于根据入住人员的个人情况定制的照护流程。例如比如有的老人可能卧病在床,需要每两小时去查看状态和每半天换一次药,又比如有的老人身体比较健康,只需要每天去询问一次老人的身体情况即可。应当理解的是,以上几种业务仅仅是示意性的,本文对此不进行任何限制。
与每种类型业务对应的流程模板中包括按预设次序执行的一个或多个任务节点,每个任务节点对应一条待执行任务,通过这些任务按次序执行来共同完成该类型业务对应的功能。以入住流程业务为例,其对应的流程模板如图2所示的,可包括三个串行执行的任务节点:创建入住订单节点、生成合同节点和办理居民入住节点。创建入住订单节点对于的待执行的任务为创建入住订单的任务;生成合同节点对应的待执行的任务为生成合同的任务;办理居民入住节点对应的待执行任务为办理居民入住的任务。在本发明的实施例中,与每个任务节点对应的待执行任务都可以由分别独立开发的具有执行相应任务功能的微服务模块来完成执行。例如创建入住订单的任务可以由订单微服务模块来具体执行,生成合同的任务由合同微服务模块来执行;办理居民入住的任务由居民微服务来执行。这些微服务模块可以由同一机构或不同的机构采用不同的技术开发。可以通过每个微服务模块对外提供的微服务访问地址或微服务调用接口对其进行访问或调用。在本发明的实施例中,流程模板中每个任务节点都设置有与该任务节点关联的消息事件码,每个任务节点的消息事件码还会被映射或关联至能够执行该任务节点对应的待执行任务的一个或多个微服务模块。这样,当业务流程执行到该任务节点时,可以调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务。
在为业务设置好相应的流程模板后,当收到具体启动业务的请求,可以调用与该业务对应的流程模板生成业务流程实例。仍以办理入住业务为例,当将收到的启动办理入住业务的请求时,可以从该请求中提取执行该业务所需的相关参数或属性数据(例如入住人员姓名、身份证号、入住时间等等)发送至办理入住流程模板,从而得到办理入住流程实例,并从第一个任务节点开始执行该流程实例。
继续参考图1,在步骤S120,根据当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务。如上文提到的,在创建流程模板时,需要为每个任务节点设置消息事件码,并将每个任务节点的消息事件码映射或关联至能够执行该任务节点对应的待执行任务的一个或多个微服务模块。这样,当业务流程执行到该任务节点时,就可以调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务。如上文提到的,可以通过每个微服务模块对外提供的微服务访问地址或微服务调用接口对其进行访问或调用。因此,可以通过将任务节点的消息事件码映射至微服务模块的访问地址来建立每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。在获得微服务模块的访问地址后,可以将执行与当前任务节点对应的待执行任务所需的数据参数和消息事件码发送至与该消息事件码关联的微服务模块来执行相应任务。
在步骤S130,响应于该微服务模块完成该任务节点对应的待执行任务的消息,继续执行业务流程实例中的下个任务节点。每个微服务模块在完成任务后,可以将与处理结果相关的数据参数包含在完成任务的消息中返回至该业务流程实例。当收到自该微服务模块返回的完成任务的消息时,可以从中提取该微服务模块返回的数据参数,并将其传递至该业务流程实例中的下个任务节点继续执行,直至流程结束。
在前述实施例的技术方案中,并非将任务节点直接绑定至相应的微服务模块以及按照业务对各微服务模块进行直接组合,而是采用了双重关联的动态耦合形式,将每个任务节点关联至消息事件码,同时将消息事件码关联至微服务,这样当业务流程发生改变时不需要通知参与流程的各个微服务模块,只要改变任务节点关联的消息事件码即可,同时当微服务模块发生变化或升级时,而不需通知所有与其合作的其他微服务模块,而是修改其微服务模块与消息事件码之间的关联或映射即可,由此降低各微服务系统间的耦合度和系统维护的复杂度,使得系统更容易可扩展性,更易于维护。
图3示意性示出了根据本发明的一个实施例的入住流程业务的流程模板定义过程的示意图。如图3所示,用户可以根据需要选取一个或多个任务节点,并设置各任务节点的执行次序。比如,某个用户可以选取创建入住订单、生成合同节点和办理入住节点三个任务节点。但是,另一个用户也可以根据需要,不选择创建入住订单节点,比如该用户认为可以用合同编号代替订单编号以节约流程和时间,则其只选择生成合同节点和办理入住节点。图3所示的入住流程业务包括三个任务节点,分别是创建入住订单节点、生成合同节点和办理入住节点。创建入住订单节点和订单微服务模块可以通过第一消息事件码关联。生成合同节点和合同微服务模块可以通过第二消息事件码关联。办理居民入住节点和居民微服务模块可以通过第三消息事件码关联。第一、第二和第三消息事件码例如可以是E0001、E0002和E0003的形式。如图3所示,在创建流程模块时会为每个任务节点设置相应消息事件码,并且会建立该流程模板中每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。
图4示意性示出了根据本发明的一个实施例的消息事件码与微服务模块的关联或配置界面示意图。如图4所示,建立该流程模板中每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联可以是通过将消息事件码映射至微服务模块的访问地址来完成的。优选的,为了便于维护消息事件码与微服务模块的关联信息,还可以记录建立该消息事件码与微服务模块之间关联的创建人、创建时间、更新人和更新时间中的一个或者多个。在优选的实施例中,每个消息事件码可以关联一个或多个微服务模块。可以按照创建人的权限、创建时间、更新时间或默认次序等来选择其中一个为服务模块。所选择的微服务模块失效时,可以自动选择与该消息事件码关联的其他微服务模块来执行相同的业务功能,从而改善了系统的可靠性和稳定性。
在又一个实施例中,可以将每个任务节点的消息事件码至少关联两个或更多个用于执行该任务节点对应的待执行任务的微服务模块,将其中一个微服务模块作为主微服务模块,而将其余微服务模块作为备用微服务模块,在主微服务模块不能及时执行待执行任务时,由其中一个备用微服务模块代替主微服务模块执行待执行任务。例如,第一消息事件码E0001关联于两个订单微服务模块,在主订单微服务模块故障时,由备用订单微服务模块代替主订单微服务模块执行待执行任务。优选的,为了保证两个或更多个微服务模块内的数据的一致性,该方法还可以包括:对于能执行同一待执行任务的两个或更多个微服务模块,当其中一个微服务模块内的数据发生更新时,将更新的数据同步到该两个或更多个微服务模块中的其他微服务模块。该实施例的技术方案实现了微服务模块的自动切换,减少了待执行任务不能得到及时响应所产生的延迟。
在本发明的一个实施例中,该方法可以包括响应于微服务模块状态的变化,自动更新消息事件码与微服务模块之间的关联。比如,当微服务模块的访问地址发生改变,直接修改访问地址就可以改变消息事件码与该微服务模块之间的关联即可,而不需要通知与之协作共同处理业务的其他微服务模块。在又一个实施例中,该方法还可以包括响应于微服务模块的更替或升级,将消息事件码关联至更替后或升级后的微服务模块。比如,响应于系统的更新或者维护,加入新的升级后的微服务模块代替旧的微服务模块,停止旧的微服务模块,响应于微服务模块的更替或升级,自动将消息事件码关联至更替后或升级后的微服务模块。在该实施例中,某个微服务模块的更替或升级不影响与之协作共同处理业务的其他微服务模块,使得系统更易于扩展和维护。
图5给出了根据本发明一个实施例的用于微服务架构的业务流程管理系统500的功能模块框图。尽管该框图以功能上分开的方式来描述组件,但这样的描述仅为了说明的目的。图中所示组件可以任意地进行组合或被分为独立的软件、固件和/或硬件组件。并且无论这样的组件是如何被组合或划分的,它们都可以在同一主机或多个主机上执行,其中多个主机可以是由一个或多个网络连接。
如图5所示,该系统500包括实例生成模块501和流程执行模块 502。其中实例生成模块501用于响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例。这里的流程模板如上文结合图1-4所述的实施例中的流程模板相同,在此不再赘述。流程执行模块 502用于如上文结合图1所介绍的方法根据当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务;以及响应于该微服务模块完成任务的消息,继续执行业务流程实例中的下个任务节点。
在本发明的一些实施例中,该系统500还可以包括模板管理模块 (未示出),用于如上文结合介绍的方式根据待执行的业务建立与该业务对应的流程模板;以及建立该流程模板中每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。在一些实施例中,该模板管理模块可以通过将所述消息事件码映射至微服务模块的访问地址来建立每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。
图6示意性示出了根据本发明又一个实施例的用于微服务架构的业务流程管理系统的系统架构图。该业务流程管理系统的系统架构可以分为三层,自下至上分别为数据持久层、领域服务层和应用服务层。数据持久层可以使用MySQL数据库储存业务流程管理系统运行所需的管理数据和流程数据。领域服务层为业务流程管理系统的核心功能模块所在。领域服务层可以用于为应用服务层提供流程模板管理、流程部署管理、流程历史管理和流程运行管理等服务。领域服务层与各微服务系统之间可以通过消息队列系统进行信息交互。业务流程管理系统不处理具体的业务逻辑,无需了解各微服务系统如何处理业务,只负责将业务流程所需的数据参数在各微服务系统间传递,并根据各系统的处理结果控制业务流程走向。应用服务层例如可以提供有关流程设计、流程部署、模板查询、流程查询和流程管理有关的服务。各微服务系统例如可以提供有关发起流程、任务提醒、完成任务和流程追踪的服务。工作流引擎是业务流程管理系统的一部分,例如,工作流引擎可以是Activiti工作流引擎。工作流引擎可以为业务流程管理系统提供了根据不同决定信息的流转处理规则和路径。决定信息例如可以是有关角色、分工和条件等的信息。应当理解的是,微服务系统对应于本发明之前的一些实施例中提及的微服务模块。换言之,在本发明的实施例中,微服务模块也可以称为微服务系统。
图7示意性示出了根据本发明一个实施例的用于微服务架构的业务流程管理系统的业务流程实例的运行过程示意图。在流程模板设计及启用的过程中,可以根据不同的业务场景设计出不同类型的流程模板。流程模板可以由多个任务节点、网关条件判断和子流程等节点组成。开始节点关联了发起流程实例需要的数据参数,不同的任务节点代表了同一个或多个微服务系统需要完成的操作。操作即是指前述的待执行任务。该任务节点关联了发送到各微服务系统的数据参数以及各微服务系统需要返回的数据参数,同时定义该任务节点关联的特定的消息事件码。这些配置完成后,启用该流程模板。在消息事件码的配置过程中,可以在消息队列系统中建立并保存消息事件码与各微服务系统的关联关系,从而在接收到该事件码的消息时,将消息中的数据发送到关联的微服务系统。例如,将开始节点通过相应的消息事件码关联于第一微服务系统。将第二任务节点通过相应的消息事件码关联于第二微服务系统。将第三任务节点通过相应的消息事件码关联于第三微服务系统。在流程实例的运行过程中,根据业务需要将发起流程消息事件码、流程模板编码、数据参数发送到消息队列系统,消息队列系统根据消息事件码调用工作流系统发起一个流程,同时将流程模板编码以及需要传递的数据参数告知工作流系统,工作流系统根据流程模板编码找到已经启用的流程模板,生成一个新的流程实例,同时将收到的数据参数与该流程实例关联起来。流程向下流转,执行到任务节点时,创建一条待执行任务,同时触发任务节点创建监听器,此时数据库查询到该任务节点关联消息事件码、需要发送给微服务系统的数据参数,将这些信息发送到消息队列系统,消息队列系统接到消息后,查询该消息事件码对应的微服务系统,将消息中的数据发送给微服务系统,微服务系统做相应的操作、处理,当微服务完成这项任务操作后,发送工作流完成任务的消息事件码,以及相关数据参数到消息队列系统,消息队列系统调用工作流服务,完成该任务节点。流程继续向下流转,直至该流程结束。
在本发明的又一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序或可执行指令,当所述计算机程序或可执行指令被执行时实现如前述实施例中所述的技术方案,此处不再赘述。在本发明的实施例中,计算机可读存储介质可以是任何能够存储数据且可以被计算装置读取的有形介质。计算机可读存储介质的实例包括硬盘驱动器、网络附加存储器(NAS)、只读存储器、随机存取存储器、CD- ROM、CD-R、CD-RW、磁带以及其它光学或非光学数据存储装置。计算机可读存储介质也可以包括分布在网络耦合计算机系统上的计算机可读介质,以便可以分布式地存储和执行计算机程序或指令。
在本发明的又一个实施例中,还提供了一种电子设备,包括处理器和存储器,其中所述存储器用于存储可由处理器执行的可执行指令,其中所述处理器被配置为执行存储器上存储的可执行指令,所述可执行指令被执行时实现前述任一实施例中介绍的技术方案,此处不再赘述。
本说明书中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个说明书中各地方的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。
本说明书中“包括”和“具有”以及类似含义的术语表达,意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备并不限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。“一”或“一个”也不排除多个的情况。另外,本申请附图中的各个元素仅仅为了示意说明,并非按比例绘制。
虽然本发明已经通过上述实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。
Claims (10)
1.一种用于微服务架构的业务流程管理方法,包括:
响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例,所述流程模板中包括按预设次序执行的一个或多个任务节点,每个任务节点对应一条待执行任务并设置有与该任务节点关联的消息事件码;
根据当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务;
响应于该微服务模块完成任务的消息,继续执行业务流程实例中的下个任务节点。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
根据待执行的业务建立与该业务对应的流程模板;
建立该流程模板中每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。
3.根据权利要求2所述的方法,其特征在于,通过将所述消息事件码映射至微服务模块的访问地址来建立每个任务节点的消息事件码与用于执行该任务节点对应的待执行任务的微服务模块之间的关联。
4.根据权利要求1-3任一项所述的方法,其特征在于,该方法还包括:
将执行与当前任务节点对应的待执行任务所需的数据参数与所述消息事件码发送至与该消息事件码关联的微服务模块;以及
响应于该微服务模块完成任务的消息,从中提取微服务模块返回的数据参数,并将其传递至该业务流程实例中的下个任务节点。
5.根据权利要求1-3中任一项所述的方法,其特征在于,其中每个任务节点的消息事件码至少关联两个或更多个用于执行该任务节点对应的待执行任务的微服务模块。
6.根据权利要求1-3中任一项所述的方法,其特征在于,该方法还包括:
响应于微服务模块状态的变化,自动更新消息事件码与微服务模块之间的关联。
7.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
响应于微服务模块的更替或升级,将消息事件码关联至更替后或升级后的微服务模块。
8.一种用于微服务架构的业务流程管理系统,包括:
实例生成模块,用于响应于收到启动业务的请求,调用与该业务对应的流程模板生成业务流程实例,所述流程模板中包括按预设次序执行的一个或多个任务节点,每个任务节点对应一条待执行任务并设置有与该任务节点关联的消息事件码;
流程执行模块,用于根据当前任务节点的消息事件码调用与该消息事件码关联的微服务模块来执行与该任务节点对应的待执行任务;以及响应于该微服务模块完成任务的消息,继续执行业务流程实例中的下个任务节点。
9.一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现权利要求1-7任一项所述的方法。
10.一种电子设备,包括处理器和存储器,其中存储器用于存储可执行指令;所述处理器被配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151725.XA CN111092933A (zh) | 2019-11-20 | 2019-11-20 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151725.XA CN111092933A (zh) | 2019-11-20 | 2019-11-20 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111092933A true CN111092933A (zh) | 2020-05-01 |
Family
ID=70393598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911151725.XA Pending CN111092933A (zh) | 2019-11-20 | 2019-11-20 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092933A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338646A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种微服务架构的管理方法以及相关装置 |
CN111626602A (zh) * | 2020-05-25 | 2020-09-04 | 泰康保险集团股份有限公司 | 业务处理方法、业务处理装置、存储介质与电子设备 |
CN111666100A (zh) * | 2020-05-13 | 2020-09-15 | 深圳思为科技有限公司 | 软件框架生成方法、装置、电子设备及存储介质 |
CN111754200A (zh) * | 2020-06-29 | 2020-10-09 | 深圳前海微众银行股份有限公司 | 一种业务处理方法及装置 |
CN111949326A (zh) * | 2020-08-03 | 2020-11-17 | 杭州当虹科技股份有限公司 | 一种基于Activiti的微服务工作流方法 |
CN112035235A (zh) * | 2020-09-02 | 2020-12-04 | 中国平安人寿保险股份有限公司 | 任务调度方法、系统、设备及存储介质 |
CN112085201A (zh) * | 2020-09-22 | 2020-12-15 | 广州医药信息科技有限公司 | 一种基于微服务应用的逻辑推演方法 |
CN112153108A (zh) * | 2020-08-14 | 2020-12-29 | 中国科学院电子学研究所苏州研究院 | 一种面向微服务架构的消息传输系统及其方法 |
CN112182363A (zh) * | 2020-09-05 | 2021-01-05 | 南方电网数字电网研究院有限公司 | 基于微服务框架的智能稽查方法、装置、设备及存储介质 |
CN112200505A (zh) * | 2020-12-04 | 2021-01-08 | 望海康信(北京)科技股份公司 | 跨业务系统的流程监控装置、方法及相应设备和存储介质 |
CN112418784A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种服务的编排执行系统及方法 |
CN112732432A (zh) * | 2020-07-15 | 2021-04-30 | 武汉众邦银行股份有限公司 | 一种跨应用的工作流处理方法 |
CN112817717A (zh) * | 2021-01-28 | 2021-05-18 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN113034049A (zh) * | 2021-04-23 | 2021-06-25 | 中国建设银行股份有限公司 | 业务流程编排方法、装置、设备及存储介质 |
CN113377371A (zh) * | 2021-06-02 | 2021-09-10 | 五八到家有限公司 | 多场景配置方法、系统、设备及介质 |
CN113657750A (zh) * | 2021-08-16 | 2021-11-16 | 中通服网络信息技术有限公司 | 自定义可视化流程引擎 |
CN113672371A (zh) * | 2021-08-24 | 2021-11-19 | 广州华多网络科技有限公司 | 任务引擎执行方法及其装置、设备与介质 |
CN113762652A (zh) * | 2020-06-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 业务流程控制方法、装置、设备及计算机可读存储介质 |
CN114548897A (zh) * | 2022-01-10 | 2022-05-27 | 北京思特奇信息技术股份有限公司 | 一种微服务组合订单引擎系统及其微服务调用方法 |
CN114816791A (zh) * | 2022-04-18 | 2022-07-29 | 北京有竹居网络技术有限公司 | 数据服务提供方法、装置、介质及电子设备 |
CN114971506A (zh) * | 2021-02-26 | 2022-08-30 | 中国移动通信集团广东有限公司 | 流程引擎与业务事件处理分离的系统及方法 |
CN115883635A (zh) * | 2022-11-11 | 2023-03-31 | 埃夫特智能装备股份有限公司 | 一种异构形态的多实例多数据源微服务系统及方法 |
CN116700938A (zh) * | 2023-08-07 | 2023-09-05 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种交易审批业务的流程处理方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250199A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
CN109104483A (zh) * | 2018-08-10 | 2018-12-28 | 北京东软望海科技有限公司 | 一种基于事件通知的微服务动态负载均衡的方法及装置 |
US20190019121A1 (en) * | 2017-07-11 | 2019-01-17 | Jpmorgan Chase Bank, N.A. | Systems and methods for distributed business process management |
CN109670686A (zh) * | 2018-12-05 | 2019-04-23 | 泰康保险集团股份有限公司 | 构建业务流程模板的方法、设备及业务流程管理系统 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
-
2019
- 2019-11-20 CN CN201911151725.XA patent/CN111092933A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250199A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
US20190019121A1 (en) * | 2017-07-11 | 2019-01-17 | Jpmorgan Chase Bank, N.A. | Systems and methods for distributed business process management |
CN109104483A (zh) * | 2018-08-10 | 2018-12-28 | 北京东软望海科技有限公司 | 一种基于事件通知的微服务动态负载均衡的方法及装置 |
CN109670686A (zh) * | 2018-12-05 | 2019-04-23 | 泰康保险集团股份有限公司 | 构建业务流程模板的方法、设备及业务流程管理系统 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666100A (zh) * | 2020-05-13 | 2020-09-15 | 深圳思为科技有限公司 | 软件框架生成方法、装置、电子设备及存储介质 |
CN111666100B (zh) * | 2020-05-13 | 2023-12-15 | 深圳思为科技有限公司 | 软件框架生成方法、装置、电子设备及存储介质 |
CN111338646A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种微服务架构的管理方法以及相关装置 |
CN111626602A (zh) * | 2020-05-25 | 2020-09-04 | 泰康保险集团股份有限公司 | 业务处理方法、业务处理装置、存储介质与电子设备 |
CN113762652A (zh) * | 2020-06-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 业务流程控制方法、装置、设备及计算机可读存储介质 |
CN111754200A (zh) * | 2020-06-29 | 2020-10-09 | 深圳前海微众银行股份有限公司 | 一种业务处理方法及装置 |
CN112732432A (zh) * | 2020-07-15 | 2021-04-30 | 武汉众邦银行股份有限公司 | 一种跨应用的工作流处理方法 |
CN112732432B (zh) * | 2020-07-15 | 2021-07-06 | 武汉众邦银行股份有限公司 | 一种跨应用的工作流处理方法 |
CN111949326A (zh) * | 2020-08-03 | 2020-11-17 | 杭州当虹科技股份有限公司 | 一种基于Activiti的微服务工作流方法 |
CN112153108A (zh) * | 2020-08-14 | 2020-12-29 | 中国科学院电子学研究所苏州研究院 | 一种面向微服务架构的消息传输系统及其方法 |
CN112035235A (zh) * | 2020-09-02 | 2020-12-04 | 中国平安人寿保险股份有限公司 | 任务调度方法、系统、设备及存储介质 |
CN112182363B (zh) * | 2020-09-05 | 2024-02-02 | 南方电网数字电网研究院有限公司 | 基于微服务框架的智能稽查方法、装置、设备及存储介质 |
CN112182363A (zh) * | 2020-09-05 | 2021-01-05 | 南方电网数字电网研究院有限公司 | 基于微服务框架的智能稽查方法、装置、设备及存储介质 |
CN112085201B (zh) * | 2020-09-22 | 2021-05-18 | 广州医药信息科技有限公司 | 一种基于微服务应用的逻辑推演方法 |
CN112085201A (zh) * | 2020-09-22 | 2020-12-15 | 广州医药信息科技有限公司 | 一种基于微服务应用的逻辑推演方法 |
CN112418784A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种服务的编排执行系统及方法 |
CN112418784B (zh) * | 2020-11-11 | 2021-11-30 | 北京京航计算通讯研究所 | 一种服务的编排执行系统及方法 |
CN112200505A (zh) * | 2020-12-04 | 2021-01-08 | 望海康信(北京)科技股份公司 | 跨业务系统的流程监控装置、方法及相应设备和存储介质 |
CN112200505B (zh) * | 2020-12-04 | 2022-02-08 | 望海康信(北京)科技股份公司 | 跨业务系统的流程监控装置、方法及相应设备和存储介质 |
CN112817717A (zh) * | 2021-01-28 | 2021-05-18 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN112817717B (zh) * | 2021-01-28 | 2024-02-09 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN114971506A (zh) * | 2021-02-26 | 2022-08-30 | 中国移动通信集团广东有限公司 | 流程引擎与业务事件处理分离的系统及方法 |
CN113034049A (zh) * | 2021-04-23 | 2021-06-25 | 中国建设银行股份有限公司 | 业务流程编排方法、装置、设备及存储介质 |
CN113377371A (zh) * | 2021-06-02 | 2021-09-10 | 五八到家有限公司 | 多场景配置方法、系统、设备及介质 |
CN113377371B (zh) * | 2021-06-02 | 2024-08-13 | 五八到家有限公司 | 多场景配置方法、系统、设备及介质 |
CN113657750A (zh) * | 2021-08-16 | 2021-11-16 | 中通服网络信息技术有限公司 | 自定义可视化流程引擎 |
CN113672371A (zh) * | 2021-08-24 | 2021-11-19 | 广州华多网络科技有限公司 | 任务引擎执行方法及其装置、设备与介质 |
CN113672371B (zh) * | 2021-08-24 | 2024-05-17 | 广州华多网络科技有限公司 | 任务引擎执行方法及其装置、设备与介质 |
CN114548897A (zh) * | 2022-01-10 | 2022-05-27 | 北京思特奇信息技术股份有限公司 | 一种微服务组合订单引擎系统及其微服务调用方法 |
CN114816791A (zh) * | 2022-04-18 | 2022-07-29 | 北京有竹居网络技术有限公司 | 数据服务提供方法、装置、介质及电子设备 |
CN115883635A (zh) * | 2022-11-11 | 2023-03-31 | 埃夫特智能装备股份有限公司 | 一种异构形态的多实例多数据源微服务系统及方法 |
CN116700938A (zh) * | 2023-08-07 | 2023-09-05 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种交易审批业务的流程处理方法、电子设备及存储介质 |
CN116700938B (zh) * | 2023-08-07 | 2023-10-27 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种交易审批业务的流程处理方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092933A (zh) | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 | |
US11812282B2 (en) | Collaborative computing and electronic records | |
US8423514B2 (en) | Service provisioning | |
JP6231020B2 (ja) | クラウドコンピューティング環境におけるプロセスの調整 | |
US9946802B2 (en) | Site-wide navigation element for user activity in a social networking site | |
US20110313966A1 (en) | Activity schemes for support of knowledge-intensive tasks | |
CN103038788A (zh) | 提供多个网络资源 | |
CN103827832B (zh) | 用于在事务中间件机器环境中持久化事务记录的系统与方法 | |
CN103154942A (zh) | 企业应用工作中心 | |
CN110428217A (zh) | 一种erp系统 | |
US9741065B2 (en) | Automated guidance for selecting components of an it solution | |
CN108156030A (zh) | 一种配置策略同步的方法及装置 | |
CN114493185A (zh) | 审批处理方法、装置、系统、电子设备、存储介质及产品 | |
CN109726546A (zh) | 一种权限管理方法及装置 | |
CN110413262A (zh) | 一种业务功能的管理方法、装置及系统 | |
CN110852571B (zh) | 加盟商的房源管理方法、计算机可读存储介质及服务器 | |
US20230325951A1 (en) | System and method for conversion achievement | |
CN117350654A (zh) | 审核人信息的动态配置方法、系统、电子设备及存储介质 | |
CN108200139A (zh) | 一种服务集成平台 | |
CN112785248A (zh) | 人力资源数据跨组织交互方法、装置、设备和存储介质 | |
CN106230625B (zh) | 一种在SolrCloud集群中动态创建域的方法及装置 | |
CN112418796B (zh) | 子流程任务节点激活方法、装置、电子设备及存储介质 | |
JP2018173954A (ja) | クラウド−ローカル間切り替え並びに医療画像及びデータの同期 | |
CN106133708B (zh) | 信息处理系统 | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200501 |
|
RJ01 | Rejection of invention patent application after publication |