CN110276592B - A microservice system business process variability modeling method and system - Google Patents
A microservice system business process variability modeling method and system Download PDFInfo
- Publication number
- CN110276592B CN110276592B CN201910517942.XA CN201910517942A CN110276592B CN 110276592 B CN110276592 B CN 110276592B CN 201910517942 A CN201910517942 A CN 201910517942A CN 110276592 B CN110276592 B CN 110276592B
- Authority
- CN
- China
- Prior art keywords
- variation
- business process
- business
- variant
- point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 263
- 230000008569 process Effects 0.000 title claims abstract description 220
- 230000006870 function Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000000007 visual effect Effects 0.000 abstract description 2
- 230000035772 mutation Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 229910003460 diamond Inorganic materials 0.000 description 5
- 239000010432 diamond Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
Description
技术领域technical field
本发明涉及微服务系统技术领域,特别是指一种微服务系统业务流程可变性建模方法及系统。The present invention relates to the technical field of microservice systems, in particular to a method and system for modeling variability of business processes in microservice systems.
背景技术Background technique
近年来,随着云计算、容器虚拟化和DevOps等技术的迅猛发展,微服务架构正在逐渐兴起,成为开发大型软件系统的首选架构。在微服务架构下,软件系统由一组小型服务(微服务)组成。这些服务在不同的进程上独立运行,彼此之间通过轻量级的通信机制进行交互(例如,RESTful API)。与传统的单体架构相比,微服务架构具有以下优点:提高敏捷性、开发人员的生产力、弹性、可扩展性、可靠性、可维护性、关注点分离以及部署的方便性。由于微服务架构的显著优势,越来越多的互联网公司(例如,Google、eBay、Netflix)将其应用程序从单体架构迁移到微服务架构。In recent years, with the rapid development of technologies such as cloud computing, container virtualization, and DevOps, the microservice architecture is gradually emerging and has become the preferred architecture for developing large-scale software systems. Under a microservices architecture, a software system consists of a set of small services (microservices). These services run independently on different processes and interact with each other through lightweight communication mechanisms (eg, RESTful API). Compared to traditional monolithic architectures, microservice architectures offer the following benefits: increased agility, developer productivity, elasticity, scalability, reliability, maintainability, separation of concerns, and ease of deployment. Due to the significant advantages of the microservice architecture, more and more Internet companies (eg, Google, eBay, Netflix) migrate their applications from the monolithic architecture to the microservice architecture.
单个微服务实现的功能通常非常有限,难以提供复杂的功能,所以往往无法满足实际的业务需求。为了提供更复杂的功能,微服务需要相互协作。将多个服务按照一定的方式协调与组织起来以支持复杂的业务流程,这样的过程称为服务组装。通过服务组装能够将不同时间、机构开发的服务集成到一起,实现功能更复杂、应用价值更高的业务流程。The functions implemented by a single microservice are usually very limited, and it is difficult to provide complex functions, so it often cannot meet actual business needs. To provide more complex functionality, microservices need to cooperate with each other. The process of coordinating and organizing multiple services in a certain way to support complex business processes is called service assembly. Through service assembly, services developed at different times and institutions can be integrated together to realize business processes with more complex functions and higher application value.
为了满足不同的业务需求,微服务系统的业务流程通常存在多个版本。例如,不同的产品类型可能会有不同的销售流程。然而,传统的业务流程建模语言(UML活动图、EPC、YAWL和BPMN等)只能静态地描述业务流程,通常采用两种方法对同一业务流程的不同版本建模:单独建模和一起建模。单独建模易于产生大量相似的业务流程模型,造成大量的重复和冗余。一起建模则易于业务流程模型复杂性的急剧上升,难以分析和维护。由于上述方法不支持可变性描述,依据业务流程描述实现的软件系统缺乏灵活性和适应性,难以快速地响应不断变化的运行环境和业务需求。In order to meet different business requirements, there are usually multiple versions of the business process of the microservice system. For example, different product types may have different sales processes. However, traditional business process modeling languages (UML activity diagrams, EPC, YAWL, and BPMN, etc.) can only describe business processes statically, and usually use two methods to model different versions of the same business process: modeling separately and building together mold. Modeling alone tends to generate a large number of similar business process models, resulting in a lot of duplication and redundancy. Modeling together is prone to a sharp increase in the complexity of the business process model, which is difficult to analyze and maintain. Since the above method does not support variability description, the software system implemented based on business process description lacks flexibility and adaptability, and it is difficult to quickly respond to changing operating environments and business requirements.
近年来,人们面向多种业务流程建模语言研究业务流程可变性建模技术。但是,现有的业务流程可变性建模方法不适用于描述微服务系统业务流程的可变性,原因如下:In recent years, people have researched business process variability modeling techniques for various business process modeling languages. However, existing business process variability modeling methods are not suitable for describing the variability of business processes in microservice systems for the following reasons:
1、传统的业务流程建模语言在较高的抽象层次上描述业务流程,无法精确地描述微服务系统的业务流程,建立的模型很难直接映射到具有实际执行语义的代码,增大了从业务表示到技术实现的难度。1. The traditional business process modeling language describes the business process at a high level of abstraction, and cannot accurately describe the business process of the microservice system. It is difficult to directly map the established model to the code with actual execution semantics, which increases from Difficulty from business representation to technical realization.
2、微服务系统的业务流程是将多个微服务按照一定的方式协调与组织起来而形成的,而现有的方法都是从单个参与者的角度描述业务流程并进行可变性扩展,难以描述多个微服务之间的交互和可变性。2. The business process of the microservice system is formed by coordinating and organizing multiple microservices in a certain way, and the existing methods describe the business process from the perspective of a single participant and expand the variability, which is difficult to describe Interaction and variability between multiple microservices.
发明内容Contents of the invention
本发明要解决的技术问题是提供一种微服务系统业务流程可变性建模方法及系统;为微服务系统的业务流程以及业务流程的可变性提供一种可视化建模方法,降低业务流程模型从业务表示到技术实现的难度,提高微服务系统的开发效率,增加所开发的微服务系统的灵活性和适应性,使得所开发的微服务系统能够快速响应动态运行环境和业务需求。The technical problem to be solved by the present invention is to provide a microservice system business process variability modeling method and system; provide a visual modeling method for the microservice system business process and business process variability, reduce the business process model from From business representation to technical realization, improve the development efficiency of the microservice system, increase the flexibility and adaptability of the developed microservice system, and enable the developed microservice system to quickly respond to the dynamic operating environment and business needs.
为解决上述技术问题,本发明提供一种微服务系统业务流程可变性建模方法,所述方法包括:In order to solve the above technical problems, the present invention provides a microservice system business process variability modeling method, the method comprising:
基于待开发的微服务系统的业务需求,建立所述待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组;Based on the business requirements of the micro-service system to be developed, establish the business process of the micro-service system to be developed, and divide the business processes of different versions corresponding to the same business into the same group;
对于同一组中的业务流程,分析各业务流程间的共性和差异性,识别出变异点,确定每一变异点下可选择的变体,以及变异点和变体之间的选择关系;For business processes in the same group, analyze the commonality and difference between business processes, identify variation points, determine the variants that can be selected under each variation point, and the selection relationship between variation points and variants;
基于每一变异点下可选择的变体,以及变异点和变体之间的选择关系,确定各变异点的类型,并根据各变异点的类型建立可变业务流程模型;Based on the variants that can be selected under each variation point and the selection relationship between the variation point and the variation, determine the type of each variation point, and establish a variable business process model according to the type of each variation point;
基于各版本的业务流程对应的业务需求,为所述可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型。Based on the business requirements corresponding to the business processes of each version, a variant is selected for each variation point in the variable business process model to generate different versions of the business process model.
进一步地,基于待开发的微服务系统的业务需求,建立待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组,包括:Further, based on the business requirements of the microservice system to be developed, establish the business process of the microservice system to be developed, and divide the business processes of different versions corresponding to the same business into the same group, including:
分析待开发的微服务系统的业务需求,基于所述待开发的微服务系统的业务需求建立所述待开发的微服务系统的功能需求集;Analyzing the business requirements of the microservice system to be developed, and establishing a functional requirement set of the microservice system to be developed based on the business requirements of the microservice system to be developed;
根据所述功能需求集分析对应的微服务及其操作,按照预设业务逻辑将各微服务及其操作组织起来,形成所述待开发的微服务系统的业务流程;Analyzing the corresponding microservices and their operations according to the set of functional requirements, organizing the microservices and their operations according to the preset business logic, and forming the business process of the microservice system to be developed;
分析每一业务流程所对应的业务,对业务流程进行分组,将同一业务所对应的不同版本的业务流程划分到同一组。Analyze the business corresponding to each business process, group the business processes, and divide the business processes of different versions corresponding to the same business into the same group.
进一步地,所述变异点表示不同版本的业务流程变化发生的位置;所述变体表示变化的一种实现方案,即一个微服务的操作。Further, the variation point represents the location where the change of the business process of different versions occurs; the variation represents an implementation solution of the change, that is, the operation of a microservice.
进一步地,所述选择关系表示与变异点相关联的变体的选择数量。Further, the selection relationship represents the number of selections of variants associated with the variation points.
进一步地,所述选择关系包括:选择一个变体、选择一个或多个变体、不选择变体或选择一个变体、不选择变体或选择一个或多个变体。Further, the selection relationship includes: selecting one variant, selecting one or more variants, not selecting a variant or selecting one variant, not selecting a variant or selecting one or more variants.
进一步地,所述变异点的类型包括:必选单项变异点、必选多项变异点、可选单项变异点,以及可选多项变异点;其中,Further, the types of variation points include: mandatory single item variation points, mandatory multi-item variation points, optional single item variation points, and optional multi-item variation points; wherein,
所述必选单项变异点表示选择该变异点下的一个变体;必选多项变异点表示选择该变异点下的一个或多个变体;可选单项变异点表示不选择该变异点下的变体或选择该变异点下的一个变体;可选多项变异点表示不选择该变异点下的变体或选择该变异点下的一个或多个变体。The mandatory single variation point means to select a variation under the variation point; the mandatory multiple variation points means to select one or more variations under the variation point; the optional single variation point means not to select the variation under the variation point. The variant of the variation point or select a variation under the variation point; optional multiple variation points means not selecting the variation under the variation point or selecting one or more variations under the variation point.
进一步地,所述根据各变异点的类型建立可变业务流程模型,包括:Further, the establishment of a variable business process model according to the type of each variation point includes:
对于相同的业务流程片段,用原生BPMN元素表示;For the same business process fragment, it is represented by native BPMN elements;
对于不同的业务流程片段,根据相应变异点的类型,使用不同类型的变异点元素进行表示,并使用实现关系元素将变异点元素和变体相关联。For different business process fragments, according to the type of the corresponding variation point, use different types of variation point elements to represent, and use the realization relationship element to associate the variation point element with the variation.
进一步地,所述基于各版本的业务流程对应的业务需求,对所述可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型,包括:Further, based on the business requirements corresponding to each version of the business process, a variant is selected for each variation point in the variable business process model, and different versions of the business process model are generated, including:
对于必选单项变异点,用一个发送任务和接收任务的组合替换;For the mandatory single item variation point, replace it with a combination of sending task and receiving task;
对于必选多项变异点,用一个或多个发送任务和接收任务的组合替换;For mandatory multiple variation points, replace with one or more combinations of sending tasks and receiving tasks;
对于可选单项变异点,如果不选择该变异点下的变体,则忽略,否则用一个发送任务和接收任务的组合替换;For an optional single variation point, if you do not select the variation under the variation point, ignore it, otherwise replace it with a combination of sending task and receiving task;
对于可选多项变异点,如果不选择该变异点下的变体,则忽略,否则用一个或多个发送任务和接收任务的组合替换。For multiple optional variation points, if the variation under this variation point is not selected, it will be ignored; otherwise, it will be replaced by one or more combinations of sending tasks and receiving tasks.
进一步地,所述发送任务表示发起调用微服务操作的请求;所述接收任务表示接收被调用微服务操作的响应。Further, the sending task means initiating a request to call a microservice operation; the receiving task means receiving a response from the called microservice operation.
相应地,为解决上述技术问题,本发明还提供一种微服务系统业务流程可变性建模系统,所述系统包括:Correspondingly, in order to solve the above technical problems, the present invention also provides a microservice system business process variability modeling system, which includes:
业务流程分组模块,所述业务流程分组模块用于基于待开发的微服务系统的业务需求,建立所述待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组;A business process grouping module, the business process grouping module is used to establish the business process of the micro-service system to be developed based on the business requirements of the micro-service system to be developed, and divide the business processes of different versions corresponding to the same business into the same group;
变异点和变体识别模块,所述变异点和变体识别模块用于对于同一组中的业务流程,分析各业务流程间的共性和差异性,识别出变异点,确定每一变异点下可选择的变体,以及变异点和变体之间的选择关系;Variation point and variant identification module, the variation point and variant identification module is used for business processes in the same group, analyze the commonality and difference between each business process, identify the variation point, and determine the possible Selected variants, and the selection relationship between mutation points and variants;
业务流程可变性建模模块,所述业务流程可变性建模模块用于基于每一变异点下可选择的变体,以及变异点和变体之间的选择关系,确定各变异点的类型,并根据各变异点的类型建立可变业务流程模型;A business process variability modeling module, the business process variability modeling module is used to determine the type of each variation point based on the variants that can be selected under each variation point, and the selection relationship between the variation points and the variants, And establish a variable business process model according to the type of each variation point;
可变业务流程模型定制模块,所述可变业务流程模型定制模块用于基于各版本的业务流程对应的业务需求,对所述可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型。A variable business process model customization module, the variable business process model customization module is used to select a variant for each variation point in the variable business process model based on the business requirements corresponding to the business processes of each version, and generate Different versions of business process models.
本发明的上述技术方案的有益效果如下:The beneficial effects of above-mentioned technical scheme of the present invention are as follows:
本发明通过基于待开发的微服务系统的业务需求,建立待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组;对于同一组中的业务流程,分析各业务流程间的共性和差异性,识别出变异点,确定每一变异点下可选择的变体,以及变异点和变体之间的选择关系;基于每一变异点下可选择的变体,以及变异点和变体之间的选择关系,确定各变异点的类型,并根据各变异点的类型建立可变业务流程模型;基于各版本的业务流程对应的业务需求,为可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型。The present invention establishes the business process of the micro-service system to be developed based on the business requirements of the micro-service system to be developed, and divides the business processes of different versions corresponding to the same business into the same group; for the business processes in the same group, analysis Identify the commonality and difference between business processes, identify variation points, determine the variants that can be selected under each variation point, and the selection relationship between variation points and variants; based on the options available for each variation point , and the selection relationship between variation points and variants, determine the type of each variation point, and establish a variable business process model according to the type of each variation point; based on the business requirements corresponding to each version of the business process, the variable business process Each point of variation in the model selects variants to generate different versions of the business process model.
与现有技术相比,一方面,本发明可以更加精确地描述微服务系统的业务流程,建立的业务流程模型易于映射到具有实际执行语义的代码,降低了从业务表示到技术实现的难度,提高了微服务系统的开发效率;另一方面,本发明可以描述微服务系统业务流程的可变性,根据可变业务流程模型开发的微服务系统具有更好的灵活性和适应性,能够快速响应不断变化的运行环境和业务需求。这对基于微服务架构的大型软件系统的开发和维护具有十分重要的意义。Compared with the existing technology, on the one hand, the present invention can more accurately describe the business process of the microservice system, and the established business process model is easy to map to the code with actual execution semantics, reducing the difficulty from business representation to technical implementation. The development efficiency of the microservice system is improved; on the other hand, the present invention can describe the variability of the business process of the microservice system, and the microservice system developed according to the variable business process model has better flexibility and adaptability, and can respond quickly Changing operating environment and business needs. This is of great significance to the development and maintenance of large-scale software systems based on microservice architecture.
附图说明Description of drawings
图1为本发明实施例提供的微服务系统业务流程可变性建模语言VxBPMN4MS的元模型;Fig. 1 is the metamodel of the microservice system business process variability modeling language VxBPMN4MS provided by the embodiment of the present invention;
图2为本发明实施例提供的微服务系统业务流程可变性建模方法的流程示意图;FIG. 2 is a schematic flow diagram of a microservice system business process variability modeling method provided by an embodiment of the present invention;
图3为本发明实施例提供的天气预报查询的可变业务流程模型;Fig. 3 is the variable business process model of the weather forecast query provided by the embodiment of the present invention;
图4为本发明实施例提供的天气预报查询的具体业务流程模型一;Fig. 4 is the specific
图5为本发明实施例提供的天气预报查询的具体业务流程模型二。Fig. 5 is a specific business process model 2 of the weather forecast query provided by the embodiment of the present invention.
具体实施方式detailed description
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。In order to make the technical problems, technical solutions and advantages to be solved by the present invention clearer, the following will describe in detail with reference to the drawings and specific embodiments.
本发明针对现有的业务流程建模方法不能精确地描述微服务系统的业务流程以及描述微服务系统业务流程可变性的问题,提供一种微服务系统业务流程可变性建模方法及系统;采用微服务系统业务流程可变性建模语言VxBPMN4MS实现微服务系统业务流程可变性建模。Aiming at the problem that the existing business process modeling method cannot accurately describe the business process of the micro-service system and describe the variability of the business process of the micro-service system, the present invention provides a micro-service system business process variability modeling method and system; Microservice system business process variability modeling language VxBPMN4MS realizes microservice system business process variability modeling.
本发明实施例提供的微服务系统业务流程可变性建模语言VxBPMN4MS是BPMN的可变性扩展,在描述微服务系统静态业务流程的基础上增加业务流程可变性描述,其元模型如图1所示,各个元素以及元素之间的关系定义如下:The microservice system business process variability modeling language VxBPMN4MS provided by the embodiment of the present invention is a variability extension of BPMN, which adds a business process variability description on the basis of describing the static business process of the microservice system, and its metamodel is shown in Figure 1 , each element and the relationship between elements are defined as follows:
1、协作(Collaboration):表示两个或多个微服务之间的交互,通过交互完成一个业务流程。其有一个必选属性id,表示微服务系统可变业务流程模型的唯一性标识;有两个或多个参与者,表示微服务的操作;有零个或多个消息流,表示微服务之间的调用;有零个或多个实现关系,表示变异点和它的变体之间的关联。1. Collaboration: Indicates the interaction between two or more microservices, and completes a business process through interaction. It has a mandatory attribute id, which represents the unique identification of the variable business process model of the microservice system; two or more participants, representing the operation of the microservice; zero or more message flows, representing the microservice Calls between; there are zero or more realization relationships, which represent the association between a mutation point and its variants.
2、参与者(Participant):表示微服务的操作。其有一个必选属性id,表示微服务操作的唯一性标识;有一个可选属性name,用于描述微服务的操作;有一个可选属性application,表示微服务名,可以通过查询服务注册中心与已有的微服务相绑定;有一个可选属性operation,表示微服务操作名,可以通过查询服务注册中心与已有的微服务操作相绑定;有一个可选属性method,表示微服务操作的HTTP请求方法;有一个可选属性path,表示微服务操作的路径;有一个可选属性request,表示微服务操作的参数,其值满足正则表达式“([a-zA-Z][a-zA-Z_0-9]*,[a-zA-Z]+,(query)|(path);)*”,其中,“[a-zA-Z][a-zA-z_0-9]*”表示参数名,“[a-zA-Z]+”表示参数类型,“(query)|(path)”表示参数风格;有一个可选属性response,表示微服务操作的返回值,其值满足正则表达式“([a-zA-Z][a-zA-Z_0-9]*,[a-zA-Z]+)?”,其中,“[a-zA-Z][a-zA-Z_0-9]*”表示返回值,“[a-zA-Z]+”表示返回值类型;有一个流程,表示微服务操作的执行过程。2. Participant: indicates the operation of the microservice. It has a mandatory attribute id, which represents the unique identifier of the microservice operation; an optional attribute name, which is used to describe the operation of the microservice; an optional attribute application, which represents the name of the microservice, which can be queried by the service registration center Bind to existing microservices; there is an optional attribute operation, indicating the name of the microservice operation, which can be bound to the existing microservice operation by querying the service registry; there is an optional attribute method, indicating the microservice The HTTP request method of the operation; there is an optional attribute path, which indicates the path of the microservice operation; there is an optional attribute request, which indicates the parameters of the microservice operation, and its value satisfies the regular expression "([a-zA-Z][ a-zA-Z_0-9]*,[a-zA-Z]+,(query)|(path);)*", where "[a-zA-Z][a-zA-z_0-9] *" indicates the parameter name, "[a-zA-Z]+" indicates the parameter type, "(query)|(path)" indicates the parameter style; there is an optional attribute response, which indicates the return value of the microservice operation, its value Satisfies the regular expression "([a-zA-Z][a-zA-Z_0-9]*,[a-zA-Z]+)?", where "[a-zA-Z][a-zA -Z_0-9]*" indicates the return value, "[a-zA-Z]+" indicates the return value type; there is a process, which indicates the execution process of the microservice operation.
3、流程(Process):表示微服务操作的执行过程。其有一个必选属性id,表示微服务操作执行过程的唯一性标识;有消息启动事件、消息结束事件、网关、任务和顺序流等元素(有且只有一个消息启动事件和一个消息结束事件)。3. Process: Indicates the execution process of microservice operations. It has a mandatory attribute id, which represents the unique identification of the microservice operation execution process; there are elements such as message start event, message end event, gateway, task and sequence flow (there is and only one message start event and one message end event) .
4、顺序流(SequenceFlow):表示两个节点之间的执行顺序。其有一个必选属性id,表示顺序流的唯一性标识;有一个可选属性name,用于描述顺序流;有一个输入节点和一个输出节点。4. Sequence Flow (SequenceFlow): Indicates the execution sequence between two nodes. It has a mandatory attribute id, which represents the unique identifier of the sequence flow; an optional attribute name, which is used to describe the sequence flow; it has an input node and an output node.
5、任务(Task):表示微服务操作的原子活动(微服务调用除外)。其有一个必选属性id,表示任务的唯一性标识;有一个可选属性name,用于描述任务;有一个输入顺序流和一个输出顺序流。当需要表示微服务调用时,使用任务的子类:发送任务和接收任务。5. Task: Indicates the atomic activity of microservice operations (except for microservice calls). It has a mandatory attribute id, which represents the unique identifier of the task; an optional attribute name, used to describe the task; there is an input sequence flow and an output sequence flow. Use subclasses of Task when you need to represent microservice calls: SendTask and ReceiveTask.
a)发送任务(Send Task):表示发起调用微服务操作的请求。其有一个输出消息流。a) Send Task: Indicates a request to initiate a call to a microservice operation. It has an output message stream.
b)接收任务(Receive Task):表示接收被调用微服务操作的响应。其有一个输入消息流。b) Receive Task (Receive Task): Indicates receiving the response of the called microservice operation. It has an input message stream.
6、消息启动事件(Message Start Event):表示微服务操作的开始。其有一个必选属性id,表示消息启动事件的唯一性标识;有一个可选属性name,用于描述消息启动事件;只有一个输出顺序流,没有输入顺序流。6. Message Start Event: Indicates the start of microservice operation. It has a mandatory attribute id, which represents the unique identifier of the message start event; an optional attribute name, which is used to describe the message start event; there is only one output sequence flow, and no input sequence flow.
7、消息结束事件(Message End Event):表示微服务操作的结束。其有一个必选属性id,表示消息结束事件的唯一性标识;有一个可选属性name,用于描述消息结束事件;只有一个输入顺序流,没有输出顺序流。7. Message End Event: Indicates the end of the microservice operation. It has a mandatory attribute id, which represents the unique identifier of the message end event; an optional attribute name, which is used to describe the message end event; there is only one input sequence flow, and no output sequence flow.
8、网关(Gateway):用于控制流程的执行路径。其有一个必选属性id,表示网关的唯一性标识;有一个可选属性name,用于描述网关。根据选择执行路径的方式,网关分为:8. Gateway: used to control the execution path of the process. It has a mandatory attribute id, which represents the unique identifier of the gateway; an optional attribute name, which is used to describe the gateway. According to the method of selecting the execution path, the gateway is divided into:
a)排他网关(Exclusive Gateway):当流程执行到排他网关时,满足条件的第一条路径执行,其它的路径都不执行。当排他网关有一个输入顺序流和多个输出顺序流时,称为排他分支网关(Exclusive Decision Gateway),当排他网关有多个输入顺序流和一个输出顺序流时,称为排他聚合网关(Exclusive Merge Gateway)。它们成对出现,不允许出现有多个输入顺序流和多个输出顺序流的排他网关。a) Exclusive Gateway: When the process is executed to the exclusive gateway, the first path that meets the conditions is executed, and the other paths are not executed. When the exclusive gateway has one input sequence flow and multiple output sequence flows, it is called an exclusive branch gateway (Exclusive Decision Gateway), and when the exclusive gateway has multiple input sequence flows and one output sequence flow, it is called an exclusive aggregation gateway (Exclusive Decision Gateway). Merge Gateway). They come in pairs, and exclusive gateways with multiple input sequence flows and multiple output sequence flows are not allowed.
b)并行网关(Parallel Gateway):当流程执行到并行网关时,所有的路径同时执行。当并行网关有一个输入顺序流和多个输出顺序流时,称为并行分支网关(ParallelFork Gateway),当并行网关有多个输入顺序流和一个输出顺序流时,称为并行聚合网关(Parallel Join Gateway)。它们成对出现,不允许出现有多个输入顺序流和多个输出顺序流的并行网关。b) Parallel Gateway (Parallel Gateway): When the process is executed to the parallel gateway, all paths are executed simultaneously. When a parallel gateway has one input sequence flow and multiple output sequence flows, it is called a parallel branch gateway (ParallelFork Gateway), and when a parallel gateway has multiple input sequence flows and one output sequence flow, it is called a parallel aggregation gateway (Parallel Join Gateway). They come in pairs, disallowing parallel gateways with multiple input sequence flows and multiple output sequence flows.
9、变异点(Variation Point):表示微服务系统同一业务流程的不同版本发生变化的位置,在此位置上,不同版本的业务流程调用了不同的微服务操作。其有一个必选属性id,表示变异点的唯一性标识;有一个可选属性name,用于描述变异点;有一个必选属性async,值为“true”时,表示异步调用微服务的操作,值为“false”时,表示同步调用微服务的操作。根据变异点下可以选择的变体(每个变体表示变化的一种实现方案,即一个微服务的操作)数量,变异点分为:9. Variation Point: It indicates the position where different versions of the same business process of the microservice system change. At this position, different versions of the business process call different microservice operations. It has a mandatory attribute id, which represents the unique identification of the mutation point; an optional attribute name, used to describe the mutation point; a mandatory attribute async, when the value is "true", it means asynchronously calling the operation of the microservice , when the value is "false", it means that the operation of the microservice is called synchronously. According to the number of variants that can be selected under the mutation point (each variant represents an implementation of the change, that is, the operation of a microservice), the variation points are divided into:
a)必选单项变异点(MS):表示选择该变异点下的一个变体,即调用一个微服务的操作。a) Mandatory Single Variation Point (MS): Indicates selecting a variant under the variation point, that is, calling a microservice operation.
b)必选多项变异点(MM):表示选择该变异点下的一个或多个变体,即调用一个或多个微服务的操作。b) Mandatory multiple mutation points (MM): Indicates the selection of one or more variants under the mutation point, that is, the operation of calling one or more microservices.
c)可选单项变异点(OS):表示不选择该变异点下的变体或选择该变异点下的一个变体,即不调用微服务的操作或调用一个微服务的操作。c) Optional Single Variation Point (OS): Indicates not to select a variation under this variation point or to select a variation under this variation point, that is, not to call an operation of a microservice or to call an operation of a microservice.
d)可选多项变异点(OM):表示不选择该变异点下的变体或选择该变异点下的一个或多个变体,即不调用微服务的操作或调用一个或多个微服务的操作。d) Optional Multiple Variation Point (OM): Indicates not to select the variation under the variation point or to select one or more variations under the variation point, that is, not to call the operation of the microservice or to call one or more microservices The operation of the service.
10、消息流(Message Flow):表示在两个微服务之间传递消息。其有一个必选属性id,表示消息流的唯一性标识;有一个可选属性name,用于描述消息流。当调用微服务的操作时,消息流成对存在,将微服务消费者的发送任务连接到微服务提供者的消息启动事件和将微服务提供者的消息结束事件连接到微服务消费者的接收任务。10. Message Flow: Indicates the transfer of messages between two microservices. It has a mandatory attribute id, which represents the unique identifier of the message flow; an optional attribute name, which is used to describe the message flow. When invoking the operation of the microservice, the message flow exists in pairs, connecting the sending task of the microservice consumer to the message start event of the microservice provider and connecting the message end event of the microservice provider to the reception of the microservice consumer Task.
11、实现关系(IR):表示变异点和相应的变体之间的关联。其有一个必选属性id,表示实现关系的唯一性标识;有一个可选属性name,用于描述实现关系。其将变异点连接到变体的消息启动事件。11. Realization relationship (IR): indicates the association between the variation point and the corresponding variant. It has a mandatory attribute id, which represents the unique identification of the realization relationship; an optional attribute name, which is used to describe the realization relationship. It connects the mutation point to the variant's message start event.
此外,必选单项变异点的图形表示是一个嵌入“S”的实线菱形,必选多项变异点的图形表示是一个嵌入“M”的实线菱形,可选单项变异点的图形表示是一个嵌入“S”的虚线菱形,可选多项变异点的图形表示是一个嵌入“M”的虚线菱形,实现关系的图形表示是一条以实心菱形开始、箭头结束的实线。In addition, the graphic representation of the mandatory single variation point is a solid-line diamond embedded in "S", the graphic representation of the mandatory multiple variation points is a solid-line diamond embedded in "M", and the graphical representation of the optional single variation point is A dashed diamond embedded in an "S", the graphical representation of an optional multivariate point is a dashed diamond embedded in an "M", and the graphical representation of a realization relationship is a solid line beginning with a solid diamond and ending with an arrow.
下面以具体实施例的方式进一步说明本发明的方案:The scheme of the present invention is further described below with the mode of specific embodiment:
第一实施例first embodiment
如图2所示,本实施例提供一种微服务系统业务流程可变性建模方法,所述方法包括:As shown in FIG. 2, this embodiment provides a method for modeling variability of business processes in a microservice system, the method including:
S101,基于待开发的微服务系统的业务需求,建立待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组;S101, based on the business requirements of the micro-service system to be developed, establish the business process of the micro-service system to be developed, and divide the business processes of different versions corresponding to the same business into the same group;
需要说明的是,上述步骤具体为:It should be noted that the above steps are specifically:
分析待开发的微服务系统的业务需求,基于待开发的微服务系统的业务需求建立待开发的微服务系统的功能需求集;Analyze the business requirements of the microservice system to be developed, and establish the functional requirement set of the microservice system to be developed based on the business requirements of the microservice system to be developed;
根据功能需求集分析需要用到的微服务及其操作,按照一定的业务逻辑将各微服务及其操作组织起来,形成待开发的微服务系统的业务流程;Analyze the microservices and their operations that need to be used according to the set of functional requirements, organize each microservice and its operations according to certain business logic, and form the business process of the microservice system to be developed;
分析每一业务流程所对应的业务,对业务流程进行分组,将同一业务所对应的不同版本的业务流程划分到同一组;也即将相似的业务流程划分到同一组中;其中,相似的业务流程具有相似的业务规则/目标。Analyze the business corresponding to each business process, group the business processes, and divide the business processes of different versions corresponding to the same business into the same group; that is, divide similar business processes into the same group; among them, similar business processes have similar business rules/goals.
S102,对于同一组中的业务流程,分析各业务流程间的共性和差异性,识别出变异点,确定每一变异点下可选择的变体,以及变异点和变体间选择关系;S102. For the business processes in the same group, analyze the commonality and difference among the business processes, identify the variation points, determine the variants that can be selected under each variation point, and the selection relationship between the variation points and the variants;
需要说明的是,变异点是对变化发生位置的抽象。在微服务系统同一业务流程的不同版本中,变化的是要调用的微服务操作。变体是对变化备选方案的抽象。变异点可以包含多个变体,每个变体都是一种特定场景下的业务逻辑的实现,提供同类的功能。选择关系定义了与变异点相关联的变体的选择数量,包括四种基本类型:选择一个变体、选择一个或多个变体、不选择变体或选择一个变体、不选择变体或选择一个或多个变体。It should be noted that the mutation point is an abstraction of the position where the change occurs. In different versions of the same business process in the microservice system, what changes is the microservice operation to be called. A variant is an abstraction over alternatives to change. A variation point can contain multiple variants, and each variant is an implementation of business logic in a specific scenario, providing the same function. A selection relationship defines the number of choices for a variant associated with a variation point, and includes four basic types: select a variant, select one or more variants, select no variant or select a variant, select no variant, or Select one or more variants.
S103,基于每一变异点下可选择的变体,以及变异点和变体之间的选择关系,确定各变异点的类型,并根据各变异点的类型建立可变业务流程模型;S103, based on the variants that can be selected under each variation point, and the selection relationship between the variation point and the variation, determine the type of each variation point, and establish a variable business process model according to the type of each variation point;
需要说明的是,上述步骤是将同一组中的业务流程用VxBPMN4MS表示出来,构建可变业务流程模型。对于相同的业务流程片段用原生BPMN元素表示,而不同的业务流程片段则根据变异点和变体之间的关系,使用不同类型的变异点元素,并使用实现关系元素将它们相关联。It should be noted that the above steps are to express the business processes in the same group with VxBPMN4MS to build a variable business process model. The same business process fragments are represented by native BPMN elements, while different business process fragments use different types of variation point elements according to the relationship between variation points and variants, and use realization relationship elements to associate them.
S104,基于各版本的业务流程对应的业务需求,为可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型。S104. Based on the business requirements corresponding to the business processes of each version, a variant is selected for each variation point in the variable business process model, and different versions of the business process model are generated.
需要说明的是,上述步骤是根据微服务系统的具体需求和用户的使用偏好,为可变业务流程模型下的每一个变异点选定变体,派生出具体的业务流程模型。对于必选单项变异点用一个发送任务和接收任务的组合替换;对于必选多项变异点用一个或多个发送任务和接收任务的组合替换;对于可选单项变异点用一个发送任务和接收任务的组合替换或忽略;对于可选多项变异点用一个或多个发送任务和接收任务的组合替换或忽略。It should be noted that the above steps are based on the specific needs of the microservice system and the user's preferences, select a variant for each variation point under the variable business process model, and derive a specific business process model. For a mandatory single variation point, replace it with a combination of sending tasks and receiving tasks; for mandatory multiple variation points, replace it with a combination of one or more sending tasks and receiving tasks; for an optional single variation point, use a combination of sending tasks and receiving tasks A combination of tasks to replace or ignore; for optional multivariate points, replace or ignore with a combination of one or more sending tasks and receiving tasks.
下面结合图3至图5,以一个天气预报查询的微服务系统为例,对本实施例提供的微服务系统业务流程可变性建模方法进行详细的说明。In the following, with reference to FIGS. 3 to 5 , taking a weather forecast query microservice system as an example, the microservice system business process variability modeling method provided in this embodiment will be described in detail.
由于用户的多样性,天气预报查询的业务流程存在多个版本。例如,某一版本的业务流程BP1根据输入的中国省份/直辖市名称和城市名称获得天气预报数据,而另一版本的业务流程BP2根据输入的英文的国外国家名称和城市名称获得英文的天气预报数据,等等。因此,需要用到天气预报和文本翻译两个微服务。天气预报微服务MS1提供四个操作:第一个操作OP1获得支持的中国省份、直辖市名称和与之对应的id;第二个操作OP2获得支持的国外国家名称和与之对应的id;第三个操作OP3根据输入的中国省份/直辖市/国外国家名称或id获得支持的城市名称和与之对应的id;第四个操作OP4根据输入的城市名称或id获得相应的天气预报数据。文本翻译微服务MS2提供两个操作:第一个操作OP1将输入的中文文本翻译成英文文本;第二个操作OP2将输入的英文文本翻译成中文文本。Due to the diversity of users, there are multiple versions of the business process of weather forecast query. For example, a certain version of the business process BP 1 obtains weather forecast data based on the input names of Chinese provinces/municipalities and cities, while another version of the business process BP 2 obtains English weather based on the input English foreign country names and city names Forecast data, etc. Therefore, two microservices, weather forecast and text translation, are needed. The weather forecast microservice MS 1 provides four operations: the first operation OP 1 is supported by the names of Chinese provinces and municipalities and their corresponding ids; the second operation OP 2 is supported by the names of foreign countries and their corresponding ids ; The third operation OP 3 obtains the supported city name and its corresponding id according to the input Chinese province/municipality/foreign country name or id; the fourth operation OP 4 obtains the corresponding weather forecast according to the input city name or id data. The text translation microservice MS 2 provides two operations: the first operation OP 1 translates the input Chinese text into English text; the second operation OP 2 translates the input English text into Chinese text.
根据上述描述,单个微服务实现的功能非常有限,无法满足实际的业务需求,因此需要将它们组装起来以支持复杂的业务流程。对于BP1,需要依次将MS1的OP1、OP3和OP4组装起来,而对于BP2,则需要依次将MS2的OP2、MS1的OP2、OP3、OP4和MS2的OP1组装起来。According to the above description, the functions implemented by a single microservice are very limited and cannot meet the actual business needs, so they need to be assembled to support complex business processes. For BP 1 , OP 1 , OP 3 and OP 4 of MS 1 need to be assembled sequentially, while for BP 2 , OP 2 of MS 2 , OP 2 , OP 3 , OP 4 and MS 2 of MS 1 need to be assembled sequentially OP 1 assembled.
对BP1和BP2进行分析,识别出三个变异点和相应的变体。在变异点一处,可能调用MS2的OP2,也可能不调用微服务的操作;在变异点二处,可能调用MS1的OP1,也可能调用MS1的OP2,或者两者都调用;在变异点三处,可能调用MS2的OP1,也可能不调用微服务的操作。Analysis of BP 1 and BP 2 identified three mutation points and corresponding variants. At the first variation point, the OP 2 of MS 2 may be called, or the operation of the microservice may not be called; at the second variation point, the OP 1 of MS 1 may be called, or the OP 2 of MS 1 may be called, or both Call; at the third point of variation, OP 1 of MS 2 may be called, or the operation of the microservice may not be called.
根据分析的结果,使用VxBPMN4MS对天气预报查询的业务流程进行可变性建模,构建天气预报查询的可变业务流程模型,如图3所示。其中,因为用到了MS1的OP1、OP2、OP3和OP4与MS2的OP1和OP2,所以分别用池来表示它们。因为BP1和BP2都用到了MS1的OP3和OP4,所以使用发送任务和接收任务的组合来表示对它们的调用,且因为调用是同步的,所以它们直接相连。此外,因为在变异点一处,可能调用MS2的OP2,也可能不调用微服务的操作,所以使用可选单项变异点表示;在变异点二处,可能调用MS1的OP1,也可能调用MS1的OP2,或者两者都调用,所以使用必选多项变异点表示;在变异点三处,可能调用MS2的OP1,也可能不调用微服务的操作,所以使用可选单项变异点表示。According to the analysis results, VxBPMN4MS is used to model the variability of the business process of weather forecast query, and a variable business process model of weather forecast query is constructed, as shown in Figure 3. Wherein, since OP 1 , OP 2 , OP 3 and OP 4 of MS 1 and OP 1 and OP 2 of MS 2 are used, they are represented by pools respectively. Because both BP 1 and BP 2 use the OP 3 and OP 4 of MS 1 , the combination of the send task and the receive task is used to represent their invocation, and because the invocation is synchronous, they are directly connected. In addition, because at the first variation point, the OP 2 of MS 2 may be called, or the operation of the microservice may not be called, so an optional single item variation point is used to represent it; at the second variation point, the OP 1 of MS 1 may be called, and also It is possible to call OP 2 of MS 1 , or both, so it is represented by multiple mandatory variation points; at the third variation point, OP 1 of MS 2 may be called, or the operation of the microservice may not be called, so it is possible to use Menu item variation point representation.
根据BP1的描述,在变异点一处不选择变体,在变异点二处选择MS1的OP1,在变异点三处不选择变体,派生出具体的业务流程模型,如图4所示。According to the description of BP 1 , no variation is selected at the first variation point, OP 1 of MS 1 is selected at the second variation point, and no variation is selected at the third variation point, and a specific business process model is derived, as shown in Figure 4 Show.
根据BP2的描述,在变异点一处选择MS2的OP2,在变异点二处选择MS1的OP2,在变异点三处选择MS2的OP1,派生出具体的业务流程模型,如图5所示。According to the description of BP 2 , OP 2 of MS 2 is selected at the first variation point, OP 2 of MS 1 is selected at the second variation point, and OP 1 of MS 2 is selected at the third variation point to derive a specific business process model, As shown in Figure 5.
第二实施例second embodiment
本实施例提供一种微服务系统业务流程可变性建模系统,所述系统包括:This embodiment provides a microservice system business process variability modeling system, the system includes:
业务流程分组模块,所述业务流程分组模块用于基于待开发的微服务系统的业务需求,建立待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组;A business process grouping module, the business process grouping module is used to establish the business process of the micro-service system to be developed based on the business requirements of the micro-service system to be developed, and divide the business processes of different versions corresponding to the same business into the same group ;
变异点和变体识别模块,所述变异点和变体识别模块用于对于同一组中的业务流程,分析各业务流程间的共性和差异性,识别出变异点,确定每一变异点下可选择的变体,以及变异点和变体之间的选择关系;Variation point and variant identification module, the variation point and variant identification module is used for business processes in the same group, analyze the commonality and difference between each business process, identify the variation point, and determine the possible Selected variants, and the selection relationship between mutation points and variants;
业务流程可变性建模模块,所述业务流程可变性建模模块用于基于每一变异点下可选择的变体,以及变异点和变体之间的选择关系,确定各变异点的类型,并根据各变异点的类型建立可变业务流程模型;A business process variability modeling module, the business process variability modeling module is used to determine the type of each variation point based on the variants that can be selected under each variation point, and the selection relationship between the variation points and the variants, And establish a variable business process model according to the type of each variation point;
可变业务流程模型定制模块,所述可变业务流程模型定制模块用于基于各版本的业务流程对应的业务需求,对可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型。A variable business process model customization module, the variable business process model customization module is used to select variants for each variation point in the variable business process model based on the business requirements corresponding to the business processes of each version, and generate different versions business process model.
本实施例中的微服务系统业务流程可变性建模系统与上述第一实施例中的微服务系统业务流程可变性建模方法相对应;其中,该微服务系统业务流程可变性建模系统中的各模块所实现的功能与上述第一实施例中的方法的各流程步骤一一对应,故在此不再赘述。The microservice system business process variability modeling system in this embodiment corresponds to the microservice system business process variability modeling method in the first embodiment above; wherein, the microservice system business process variability modeling system The functions realized by each module correspond one-to-one to each process step of the method in the above-mentioned first embodiment, so details are not repeated here.
本发明通过基于待开发的微服务系统的业务需求,建立待开发的微服务系统的业务流程,并将同一业务对应的不同版本的业务流程划分到同一组;对于同一组中的业务流程,分析各业务流程间的共性和差异性,识别出变异点,确定每一变异点下可选择的变体,以及变异点和变体之间的选择关系;基于每一变异点下可选择的变体,以及变异点和变体之间的选择关系,确定各变异点的类型,并根据各变异点的类型建立可变业务流程模型;基于各版本的业务流程对应的业务需求,为可变业务流程模型中的每一变异点选定变体,生成不同版本的业务流程模型。The present invention establishes the business process of the micro-service system to be developed based on the business requirements of the micro-service system to be developed, and divides the business processes of different versions corresponding to the same business into the same group; for the business processes in the same group, analysis Identify the commonality and difference between business processes, identify variation points, determine the variants that can be selected under each variation point, and the selection relationship between variation points and variants; based on the options available for each variation point , and the selection relationship between variation points and variants, determine the type of each variation point, and establish a variable business process model according to the type of each variation point; based on the business requirements corresponding to each version of the business process, the variable business process Each point of variation in the model selects variants to generate different versions of the business process model.
与现有技术相比,一方面,本发明可以更加精确地描述微服务系统的业务流程,建立的业务流程模型易于映射到具有实际执行语义的代码,降低了从业务表示到技术实现的难度,提高了微服务系统的开发效率;另一方面,本发明可以描述微服务系统业务流程的可变性,根据可变业务流程模型开发的微服务系统具有更好的灵活性和适应性,能够快速响应不断变化的运行环境和业务需求。这对基于微服务架构的大型软件系统的开发和维护具有十分重要的意义。Compared with the existing technology, on the one hand, the present invention can more accurately describe the business process of the microservice system, and the established business process model is easy to map to the code with actual execution semantics, reducing the difficulty from business representation to technical implementation. The development efficiency of the microservice system is improved; on the other hand, the present invention can describe the variability of the business process of the microservice system, and the microservice system developed according to the variable business process model has better flexibility and adaptability, and can respond quickly Changing operating environment and business needs. This is of great significance to the development and maintenance of large-scale software systems based on microservice architecture.
此外,需要说明的是,本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。In addition, it should be noted that those skilled in the art should understand that the embodiments of the embodiments of the present invention may be provided as methods, devices, or computer program products. Accordingly, embodiments of the invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the invention may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。Embodiments of the present invention are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each procedure and/or block in the flowchart and/or block diagram, and a combination of procedures and/or blocks in the flowchart and/or block diagram can be realized by computer program instructions. These computer program instructions may be provided to a general purpose computer, embedded processor, or other programmable data processing terminal processor to produce a machine such that instructions executed by the computer or other programmable data processing terminal processor produce instructions for A device for realizing the functions specified in one or more procedures of a flowchart and/or one or more blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the The instruction means implements the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram. These computer program instructions can also be loaded into a computer or other programmable data processing terminal equipment, so that a series of operational steps are performed on the computer or other programmable terminal equipment to produce computer-implemented processing, thereby The instructions executed above provide steps for implementing the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。While preferred embodiments of the present invention have been described, additional changes and modifications can be made to these embodiments by those skilled in the art once the basic inventive concept is appreciated. Therefore, the appended claims are intended to be construed to cover the preferred embodiment and all changes and modifications which fall within the scope of the embodiments of the present invention.
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。It should also be noted that in this document, the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or terminal device comprising a series of elements includes not only those elements, but also other elements not expressly listed, or elements inherent in such process, method, article or terminal equipment. Without further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article or terminal device comprising said element.
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。The above description is a preferred embodiment of the present invention, it should be pointed out that for those of ordinary skill in the art, without departing from the principle of the present invention, some improvements and modifications can also be made, these improvements and modifications It should also be regarded as the protection scope of the present invention.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517942.XA CN110276592B (en) | 2019-06-14 | 2019-06-14 | A microservice system business process variability modeling method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517942.XA CN110276592B (en) | 2019-06-14 | 2019-06-14 | A microservice system business process variability modeling method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110276592A CN110276592A (en) | 2019-09-24 |
CN110276592B true CN110276592B (en) | 2022-12-06 |
Family
ID=67960826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910517942.XA Active CN110276592B (en) | 2019-06-14 | 2019-06-14 | A microservice system business process variability modeling method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276592B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489572B (en) * | 2020-11-13 | 2023-12-29 | 华为技术有限公司 | Service demand adjustment method and related equipment |
CN112667205B (en) * | 2020-12-19 | 2023-10-10 | 南方电网数字平台科技(广东)有限公司 | Development method and device for power outage arrangement micro-service and computer equipment |
CN113204331B (en) * | 2021-04-02 | 2022-04-15 | 武汉大学 | Business process model-based micro-service design method and system |
CN113420419B (en) * | 2021-05-28 | 2022-04-01 | 浙江大学 | Business process model analysis method under micro-service scene |
CN113506047A (en) * | 2021-09-09 | 2021-10-15 | 国网江苏省电力有限公司营销服务中心 | Electric power marketing business process modeling method and model capable of realizing self-adaptive reconstruction |
CN113961597A (en) * | 2021-10-20 | 2022-01-21 | 广东电网有限责任公司 | Power dispatching service implementation method and device based on business semantics |
CN114356295B (en) * | 2021-12-24 | 2023-05-26 | 北京有竹居网络技术有限公司 | Three-dimensional model construction method and device and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593752A (en) * | 2013-11-29 | 2014-02-19 | 武汉大学 | Business process adaptability configuring method and system based on situation constraint |
CN105760991A (en) * | 2016-02-04 | 2016-07-13 | 北京慧友云商科技有限公司 | Workflow engine establishment method of changeable service flow |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229246A1 (en) * | 2007-03-16 | 2008-09-18 | Squilla John R | Digital system for plastic and cosmetic surgery |
-
2019
- 2019-06-14 CN CN201910517942.XA patent/CN110276592B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593752A (en) * | 2013-11-29 | 2014-02-19 | 武汉大学 | Business process adaptability configuring method and system based on situation constraint |
CN105760991A (en) * | 2016-02-04 | 2016-07-13 | 北京慧友云商科技有限公司 | Workflow engine establishment method of changeable service flow |
Also Published As
Publication number | Publication date |
---|---|
CN110276592A (en) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276592B (en) | A microservice system business process variability modeling method and system | |
US20240204978A1 (en) | Interface for digital operator platform including response caching | |
CN108667925B (en) | Method and system for seamless access of WEB application to distributed system | |
CN103108031B (en) | Cloud-edge topologies | |
US20190026085A1 (en) | Intelligent cloud engineering platform | |
WO2018019232A1 (en) | Method, device and system for stream computation | |
CN104618433B (en) | A kind of service combining method based on eca rule | |
CN100424637C (en) | Systems and methods for building wireless applications | |
CN104484189A (en) | Construction and design method of application interface | |
KR20160019528A (en) | Managing and using remote applications on a mobile device | |
CN101980155A (en) | Method and system for realizing user interface of television, and television | |
Di Martino et al. | Semantic representation of cloud services: a case study for microsoft windows azure | |
CN113971725A (en) | Construction method and system, storage medium and electronic equipment of bank virtual branch | |
CN109857502A (en) | Realize the system architecture that the service logic method and service logic isolated with display are separated with display | |
CN113626128A (en) | Audio-visual media micro-service third-party module access method, system and electronic equipment | |
Thabet et al. | An approach for developing an interoperability mechanism between cloud providers | |
CN108804100A (en) | Create method, apparatus, storage medium and the mobile terminal of interface element | |
CN114117190A (en) | Data processing method, device, storage medium and electronic device | |
EP3575982A1 (en) | Attribute sharing platform for data processing systems | |
CN111062682A (en) | Work order processing method and device | |
Santoro et al. | Virtual earth cloud: a multi-cloud framework for enabling geosciences digital ecosystems | |
CN106331000B (en) | A method and device for determining a service plan | |
Sefid‐Dashti et al. | A reference architecture for mobile SOA | |
CN115774573A (en) | Application integration method and device, electronic equipment and storage medium | |
Team | Cloud-Native Application Architecture: Microservice Development Best Practice |
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 |