Process modeling and arrangement method and device based on object design pattern
Through the process modeling and orchestration method based on object design patterns, the complexity and high cost of process orchestration in complex business scenarios such as the telecommunications industry are solved, and the process design is simplified and efficiency improvement is achieved.
Patent Information
- Application Number
- CN202011494329.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-17
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2040-12-17
AI Technical Summary
The existing technology is difficult to effectively solve the complexity and high cost of business process orchestration, especially in the telecommunications industry, which faces the problems of a large number of business elements, complex logic and cross-regional differences.
The process modeling and orchestration method based on object design patterns is adopted, and business elements are abstracted into objects through object modeling steps, a hierarchical object model is established, and the process dynamic orchestration engine is used to dynamically orchestrate the process according to the object model and action mapping relationship.
It reduces the complexity and cost of process design, improves design efficiency and controllability, simplifies post-maintenance, and can adapt to complex business logic and rapidly changing business scenarios.
Smart Images

Figure CN114648281B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the field of computer communication technology, and more specifically to a process modeling and choreography method and device based on an object design pattern. Background Art
[0002] With the development of computer and communication technology, all industries generally have the need for digital transformation. In the business of each industry, the issue of process orchestration is involved. From the perspective of technical implementation, most of the existing technologies remain at the static orchestration stage, that is, before deployment or operation, the execution process and branch logic of the business process need to be determined to form a process template. However, due to the increasing complexity of business, process template design usually requires a large amount of manpower costs.
[0003] Take the telecommunications industry as an example. With the evolution of communication technology, the future-oriented fifth generation mobile communication (5G) technology is gradually becoming popular as the latest generation of cellular mobile communication technology. Due to the continuous upgrading of infrastructure, operators are faced with a large number of new and complex tasks such as 5G service loading, cloud network integration, and cross-regional business platform construction. In this regard, the TeleManagement Forum proposed the concept of "PSR (Product-Service-Resource) Model", that is, products are realized by services, and services include customer-oriented services, namely CFS (Customer Facing Service) and resource-oriented services, namely RFS (Resource Facing Service). Among them, customer-oriented services, namely CFS, are realized based on resource-oriented services RFS, and services as a whole are realized based on resources, namely RES (Resource).
[0004] Specifically, for example, within an operator, there are usually hundreds of access products and functional products. Each product is implemented by different resource services and resource entities. Various products have multiple business actions such as installation, disassembly, relocation, modification, suspension, and restoration. With the existing static process orchestration technology, thousands of charts are often required to be drawn as process templates to fully describe the process. In addition, there are intricate connections between various telecommunications services, and the relationship of mutual dependence and influence is very messy, and the process templates finally formed are also extremely complex. Coupled with the differences in services between regions, the creation and maintenance of process templates based on existing technologies have become increasingly complex and difficult to proceed smoothly.
[0005] For scenarios like the above where there are many business elements, complex associations, and complicated business logic, existing process orchestration models such as traditional flowcharts have many problems such as difficulty in designing, difficulty in understanding, high labor input, and difficulty in later maintenance when expressing processes. They are no longer able to adapt to the increasingly complex business trends in various industries. Various industries, especially the telecommunications industry, are in urgent need of new process orchestration models as solutions. Summary of the invention
[0006] In view of the fact that various industries, especially the telecommunications industry, are in urgent need of new process orchestration models, R&D personnel are considering decoupling capabilities in layers and orchestrating atomic capabilities based on the above PSR model. The purpose of the present disclosure is to provide a process modeling and orchestration method and device based on an object design pattern, which reduces the complexity and cost of process design, improves efficiency, and facilitates later expansion and maintenance through process modeling and dynamic orchestration methods based on object design patterns.
[0007] A brief overview of the disclosure is given below in order to provide a basic understanding of some aspects of the disclosure. However, it should be understood that this overview is not an exhaustive overview of the disclosure. It is not intended to identify the key or important parts of the disclosure, nor is it intended to limit the scope of the disclosure. Its purpose is simply to give some concepts of the disclosure in a simplified form as a prelude to a more detailed description given later.
[0008] According to one aspect of the present disclosure, a process modeling and choreography method based on an object design pattern is provided, comprising an object modeling step and a process dynamic choreography step. The process modeling and choreography method is characterized in that:
[0009] The object modeling step comprises the following steps:
[0010] (1) Object generation step: for multiple business elements of the actual business involved in the process to be choreographed, each business element is abstracted into an object, and a tree-like hierarchical object model is created and organized;
[0011] (2) a labeling step of labeling the attributes, constraints, and relationships of the objects in the hierarchical object model; and
[0012] (3) an action mapping step, in which the business action is abstracted into an object action in the hierarchical object model, and an action mapping relationship between the business action and the object action is established. The object action includes the creation, destruction and modification of the object.
[0013] The process dynamic orchestration step is performed by a dynamic orchestration engine, and includes the following steps:
[0014] (4) a task establishment step, receiving a business action task from an upstream system, converting the business action task into an object action task according to the hierarchical object model and the action mapping relationship, and establishing a task pool to be executed;
[0015] (5) Initialization step: Initialize the object instance space and instance relationship tree. If the object is newly created, the instance space is empty. Otherwise, all existing objects and object relationships are loaded.
[0016] (6) a dynamic orchestration execution step, reading the hierarchical object model, extracting the objects and the annotated attributes, constraints, and relationships therein, dynamically choreographing the process according to the dynamic orchestration rules, and converting the business action tasks into external APIs (Application Programming Interfaces) to be called in sequence; and
[0017] (7) Task archiving step: archiving the object instance space and instance relationship tree after the orchestration is completed for reference in subsequent process orchestration.
[0018] According to another aspect of the present disclosure, a process modeling and choreography apparatus is provided, comprising: a memory on which instructions are stored; and a processor configured to execute the instructions stored on the memory to execute the process modeling and choreography method according to the above aspect of the present disclosure.
[0019] According to another aspect of the present disclosure, a computer-readable storage medium is provided, which includes computer-executable instructions. When the computer-executable instructions are executed by one or more processors, the one or more processors execute the method for process modeling and orchestration according to the above aspects of the present disclosure.
[0020] According to another aspect of the present disclosure, a computer program product is provided, which includes a computer program / instruction, characterized in that when the computer program / instruction is executed by a processor, the steps of the method for process modeling and orchestration described in the above aspects of the present disclosure are implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0022] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:
[0023] Figure 1 An exemplary flow chart of a process modeling and choreography method 100 based on an object design pattern according to an embodiment of the present disclosure is shown;
[0024] Figure 2An exemplary schematic diagram of a hierarchical object model 200 obtained by using the process modeling and choreography method 100 based on the object design pattern according to an embodiment of the present disclosure is shown;
[0025] Figure 3 An exemplary flow chart for illustrating in detail the process dynamic orchestration step S100B of the process modeling and orchestration method 100 based on the object design pattern according to an embodiment of the present disclosure is shown;
[0026] Figure 4 An exemplary schematic diagram of a hierarchical object model 200' in a specific implementation process of process modeling and choreography when the process modeling and choreography method 100 according to an embodiment of the present disclosure is applied to a mobile business scenario;
[0027] Figure 5 An exemplary configuration of a computing device 500 is shown that may implement embodiments according to the present disclosure. DETAILED DESCRIPTION
[0028] The following detailed description is made with reference to the accompanying drawings, and the following detailed description is provided to assist in a comprehensive understanding of the various exemplary embodiments of the present disclosure. The following description includes various details to assist in understanding, but these details are considered to be examples only and not to limit the present disclosure, which is defined by the appended claims and their equivalents. The words and phrases used in the following description are only used to enable a clear and consistent understanding of the present disclosure. In addition, for the sake of clarity and brevity, descriptions of well-known structures, functions, and configurations may be omitted. Those of ordinary skill in the art will recognize that various changes and modifications may be made to the examples described herein without departing from the spirit and scope of the present disclosure.
[0029] The techniques, methods and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, the techniques, methods and devices should be considered as part of the specification.The technology of the present disclosure can be applied to various products.
[0030] For ease of understanding and explanation, the object design pattern-based process modeling and arrangement method and device according to the embodiment of the present disclosure are mainly described by taking the example of the 5G network architecture of the telecommunications industry so far, but this is not restrictive. The technology disclosed in the present disclosure can be applied not only to any general network architecture, such as any existing network architecture or the network architecture of future communication systems, but also not only to the telecommunications industry, but also to any suitable scenario in other industries.
[0031] In the following, the overall process of the process modeling and choreography method based on the object design pattern according to the embodiment of the present disclosure is first described. Figure 1An exemplary flow chart of a process modeling and choreography method 100 based on an object design pattern according to an embodiment of the present disclosure is shown. Preferably, the process modeling and choreography method 100 based on an object design pattern according to an embodiment of the present disclosure can be executed by, for example, a dynamic choreography engine as a process modeling and choreography product, and is generally divided into an object modeling step S100A and a process dynamic choreography step S100B, wherein the object modeling step S100A may include the following steps S110 to S130, and the process dynamic choreography step S100B may include the following steps S140 to S170. The details of each step S110 to S170 are as follows:
[0032] Object generation step S110: for multiple business elements of the actual business involved in the process to be choreographed, abstract each business element into an object, create and organize it into a tree-like hierarchical object model.
[0033] Labeling step S120: labeling the attributes, constraints, and relationships of the objects in the hierarchical object model.
[0034] Action mapping step S130: In the hierarchical object model, business actions are abstracted into object actions, and an action mapping relationship between business actions and object actions is established. The object actions include the creation, destruction and modification of objects. More specifically, the modifications are performed on attributes, and modifications to different attributes can correspond to different business actions. The business actions corresponding to non-leaf objects are implemented by orchestrating related actions on their child objects, which can be understood as internal APIs here; the business actions corresponding to leaf objects are implemented by external APIs provided by external systems. Here, the external API defines the actual executors and calling methods of the business actions, and is also the actual object of process orchestration; for ease of management, it is preferred to unify the naming and calling formats of external APIs, see, for example, the example in Table 1 below, for example, the naming format is "object name_action type", and the calling format is "object name_action type (attribute A=value a, attribute B=value b, ...)
[0035] Task establishment step S140: the dynamic orchestration engine receives a business action task from an upstream system, converts the business action task into an object action task according to the hierarchical object model and the action mapping relationship, and establishes a task pool to be executed (TaskPool);
[0036] Initialization step S150: The dynamic orchestration engine initializes the object instance space (ObjectInstSpace) and the instance relationship tree (ObjectInstTree). If the object is newly created, the instance space is empty, otherwise all existing objects and object relationships are loaded;
[0037] Dynamic orchestration execution step S160: the dynamic orchestration engine reads the hierarchical object model, extracts the objects and the annotated attributes, constraints, and relationships therein, performs dynamic orchestration of the process according to the dynamic orchestration rules, and converts the business action tasks into external APIs to be called in sequence; and
[0038] Task archiving step S170: Archiving the object instance space (ObjectInstSpace) and instance relationship tree (ObjectInstTree) after the arrangement is completed, so as to be referenced in the subsequent process arrangement.
[0039] Among them, in the initialization step S150, in the mobile service application scenario of the telecommunications industry, the so-called object is a newly created situation, for example, it can be a situation where an individual user newly activates a mobile service, that is, a newly activated mobile phone number card service.
[0040] Next, to make the present disclosure easier to understand, Figure 2 An exemplary schematic diagram of a hierarchical object model 200 obtained by using the process modeling and orchestration method 100 based on the object design pattern according to an embodiment of the present disclosure is shown. Specifically, the hierarchical object model 200 is created for a mobile business scenario. For ease of description, only some representative business elements are selected. Figure 1 As described, preferably, in the object generation step S110 of the object modeling step S100A, for multiple business elements of the actual business involved in the process to be choreographed, each business element is abstracted into an object, and a tree-like hierarchical object model is created and organized. For ease of description, Figure 2 The attributes, constraints, relationships, etc. of some objects are also shown.
[0041] like Figure 2As shown, since the creation of the hierarchical object model 200 is generally based on the concept of the aforementioned PSR model, namely the "product-service-resource model", the top-level object ROOT is the root node, which can be understood as corresponding to the product in the PSR model. Under ROOT, there are three objects "Mobile Voice CFS 210", "Mobile Data CFS 220" and "Color Ring Tone CFS 230" as child nodes. Furthermore, under the object "Mobile Voice CFS 210", there are two objects "2G Voice RFS 211" and "VoLTE (Voice over Long-Term Evolution) Voice RFS 212" as child nodes, under the object "Mobile Data CFS 220", there are four objects "2G Internet RFS 221", "3G Internet RFS 222", "4G Internet RFS 223" and "5G Internet RFS 224" as child nodes, and under the object "Color Ringback Tone CFS 230", there are three objects "2G Voice Color Ringback Tone RFS 231", "VoLTE Voice Color Ringback Tone RFS 232" and "Video Color Ringback Tone RFS 233" as child nodes.
[0042] Similarly, under the object "2G Voice RFS 211" as the upper layer RFS, there may be more than one child node as the object of the lower layer RFS. For example, under the object "2G Voice RFS 211", there are two objects "2G UIM (User Identity Module) Authentication RFS 211a" and "2G Core Network Voice RFS 211b" as child nodes. Other objects as the upper layer RFS have objects as the lower layer RFS, such as "VoLTE Voice Function RFS 212a" to "5G Core Network Data 224b". Figure 2 As shown, this is not repeated.
[0043] It should be noted that the hierarchical object model 200 has a tree-like structure, which differs from a tree-like structure in that some child nodes are reused. For example, the object "2G UIM authentication RFS 211a" is both a child node of the object "2G voice RFS 211" and a child node of the object "2G Internet RFS 221".
[0044] exist Figure 2 In the hierarchical object model 200, the RFS node at the bottom layer also has a child node corresponding to the resource (RES, Resource) in the PSR model. For the convenience of the following description, Figure 2Only some lower-level RFS object nodes related to 4G and 5G services are shown, such as "HSS (Home Subscriber Server)" and "UDM (Unified Data Manager)" as child nodes.
[0045] Preferably, in the hierarchical object model 200, between a parent object and a child object, the parent object is composed or implemented by all or part of the child object, and the rules of composition or implementation are defined by the constraints of the child object. Figure 1 As described, it is preferred that in the annotation step S120 of the object modeling step S100A, the attributes, constraints, relationships, etc. of the objects in the hierarchical object model 200 are annotated. The attributes of the object may refer to the description of the identification, characteristics or options possessed by the object; for example, the attributes of the object may describe the definition and value range of the characteristic types such as identification, characteristics, functions, indicators, and states possessed by the corresponding business elements. The constraints of the object may refer to the expression of conditional expressions on the number of sub-objects and the relationship between sub-members, and whether they need to be created and retained; for example, the constraints of the object may describe the existence conditions of the sub-object instance, expressed by a logical expression, wherein the atomic expression of the logical expression may be the judgment of whether the object instance exists, or the judgment of the value of the object instance attribute. The relationship of the object refers to the expression of mutual dependence and influence between multiple business elements corresponding to multiple objects.
[0046] More specifically, refer to Figure 2 Regarding the attributes of objects, for example, the attributes of the object "color ringtone CFS230" are marked including the color ringtone type, where the color ringtone type can be selected from the two options of "voice" and "video". Regarding the constraints of objects, they are mainly expressed based on external objects and the attributes of external objects. For example, the constraint marked for the object "2G voice color ringtone RFS 231" is expressed as "NotExists (VoLTE voice RFS)", that is, the existence condition of the object "2G voice color ringtone RFS 231" is that the VoLTE voice RFS 212 as an external object does not exist. Regarding the relationship between objects, it mainly includes the mutual dependence and influence between objects. The dependency relationship describes the dependency relationship between service elements. For example, when node A depends on node B, it means that only if B exists, A can exist, and if A exists, B must exist. The influence relationship describes the unidirectional action relationship between service elements. For example, when node C affects node D, it means that if node C changes, node D must change accordingly. Conversely, if node D changes, node C may not be affected. For example, for Figure 2The relationships annotated for the object "VoLTE voice RFS 212" in the diagram include "depends on: 4G Internet RFS" and "affects: 2G voice ringback tone RFS, VoTLE voice ringback tone RFS, video ringback tone RFS". The relationship "depends on: 4G Internet RFS" indicates that the object "VoLTE voice RFS 212" may exist only when the object "4G Internet RFS 223" exists, and the existence of the object "VoLTE voice RFS 212" means that the object "4G Internet RFS 223" must exist; and the relationship "affects: 2G voice ringback tone RFS, VoTLE voice ringback tone RFS, video ringback tone RFS" indicates that if the object "VoLTE voice RFS 212" changes, the objects "2G voice ringback tone RFS 231", "VoTLE voice ringback tone RFS232" and "video ringback tone RFS 233" must change, and vice versa. If the "RFS 232" or "Video Ringback Tone RFS 233" changes, the "VoLTE Voice RFS 212" may not change.
[0047] Next, return Figure 1 As the action mapping step S130 of the process modeling and choreography method 100 in the object modeling step S100A, in the hierarchical object model 200, the business action is abstracted into object actions including the creation, destruction and modification of objects, and an action mapping relationship between the business action and the object action is established to complete the preparation work of the subsequent process dynamic choreography step S100B. At this point, the hierarchical object model 200 is constructed.
[0048] According to the above method, a hierarchical object model 200 is created. Since the business process modeling method based on the object design pattern is adopted, the parent-child, dependency, influence and other relationships of business elements are used to express the order of process execution and the event triggering mechanism, and the constraints and existence conditions of business elements are used to express the branches of process execution, so that the expression form of the model and the business logic expression become closer to the actual business, and thus easier to understand; and it can make full use of the encapsulation, isolation, inheritance, polymorphism and other characteristics of the object, simplify the complexity of the process design, greatly improve the efficiency and controllability of the process design, improve the reusability and scalability of the process design, and also facilitate later maintenance. By introducing the object design pattern into process orchestration and design, compared with the traditional process orchestration and design based on process modeling, the process design process is simpler, more efficient and more flexible, and the design efficiency is greatly improved, especially meeting the needs of business scenarios such as the telecommunications industry where there are many business elements and the business logic is particularly complex.
[0049] Next, the details of the process dynamic orchestration step S100B are further described with reference to an example. In the process dynamic orchestration step S100B, the dynamic orchestration engine is generally used to implement the dynamic orchestration of the process according to the hierarchical object model 200 created by the object modeling step S100A and the dynamic orchestration rules to be described later. Figure 1 As described, the process dynamic arrangement step S100B includes steps S140 to S170. The following further decomposes and describes steps S140 to S170 in more detail.
[0050] Figure 3 1 is an exemplary flow chart for describing in detail the process dynamic orchestration step S100B of the process modeling and orchestration method 100 based on the object design pattern according to an embodiment of the present disclosure. Preferably, the dynamic orchestration rules used in the process dynamic orchestration step S100B may include task execution order selection rules, task delivery and triggering rules, and object instance management rules to be described later. Figure 3 The task establishment step S140 and initialization step S150 have been introduced before, and the description is omitted here.
[0051] Next, in the dynamic orchestration execution step S160, for example, the dynamic orchestration engine performs the following operations:
[0052] Step S161: According to the task execution order selection rule, select the task that meets the conditions from the task pool to be executed (TaskPool);
[0053] Step S162: dynamically updating the object instance space (ObjectInstSpace) and the instance relationship tree (ObjectInstTree) during each task execution according to the object instance management rule;
[0054] Step S163: According to the task transfer and triggering rules, a new task is triggered and pushed into the task pool;
[0055] Step S164: Repeat the above steps S161 to S163 until the task pool is empty, and the dynamic orchestration execution step S160 ends.
[0056] When the task to be executed is a task for a leaf object, the dynamic orchestration engine directly calls the external API according to a predefined API naming and calling format.
[0057] In the above-mentioned dynamic orchestration execution step S160, as the basis for the dynamic orchestration of the process, the hierarchical object model 200 created in the object modeling step S100A is included, such as the objects therein and the attributes, constraints, relationships, etc. annotated on each object, as well as the dynamic orchestration rules. An example of the dynamic orchestration rule is described in detail below.
[0058] In the process modeling and choreography method 100 based on the object design pattern according to the embodiment of the present disclosure, preferably, the dynamic choreography rules may include task execution order selection rules, task delivery and triggering rules, and object instance management rules.
[0059] Preferably, the task execution order selection rule may include, for example, the following rules:
[0060] (1) For the type of object action, select in the order of destruction, creation, and modification;
[0061] (2) For a group of objects to be created in the same category, first select objects that do not depend on other objects and are not affected by other objects, as well as objects whose dependent and affected objects have all been completed, until all objects to be created have been created;
[0062] (3) For a group of objects that are to be modified, first select objects that do not depend on other objects and are not affected by other objects, and objects whose dependent and affected objects have all been completed, until all objects to be modified have been modified;
[0063] (4) For a group of objects that are to be destroyed together, first select objects that are not dependent on and do not affect other objects, as well as objects whose dependent and affected objects have all been destroyed, until all objects to be destroyed have been destroyed.
[0064] Preferably, the task transfer and triggering rules may include, for example, the following rules:
[0065] (1) The creation and destruction actions of the parent object will be passed to the child object, triggering the child object to perform the same actions;
[0066] (2) When executing a modification action, first trigger the creation and destruction actions according to the constraints of the object. If the creation and destruction actions are not triggered, execute the modification action and then pass it to the child node;
[0067] (3) When modifying a parent object, if the parent object instance itself actually changes, the modification action is passed to the child object;
[0068] (4) Changes to upstream objects that have a dependency or impact relationship will trigger modification actions on downstream objects.
[0069] Preferably, the object instance management rules may include, for example, the following rules:
[0070] (1) Before creating an instance, first determine whether the constraints of the object are met. Only when the constraints are met can it be created;
[0071] (2) When creating an instance, first check whether the instance exists. If it exists, directly reference it; otherwise, create a new instance;
[0072] (3) When destroying an instance, first determine whether the instance is referenced by other objects. If so, do not actually destroy the instance, but only delete the reference relationship. Otherwise, delete the reference relationship and then delete the instance.
[0073] (4) When modifying an instance, first determine whether the object's constraints are met, and then decide whether to create a new instance or destroy the instance based on the situation. If it is to be retained, perform the modification action.
[0074] Those skilled in the art will appreciate that the above dynamic orchestration rules are exemplary rather than restrictive, and any part of the above rules may be modified, deleted or extended to meet the needs of different specific industries and application scenarios.
[0075] Next, the actual operation process of the process modeling and orchestration method 100 according to the embodiment of the present disclosure is exemplarily described in combination with actual application scenarios. Figure 4 The schematic diagram of the hierarchical object model 200' in the specific implementation process of process modeling and orchestration when the process modeling and orchestration method 100 according to the embodiment of the present disclosure is applied to a mobile service scenario. Here, the mobile service scenario is set as a situation where a user of a certain telecommunications operator upgrades the mobile service from 4G to 5G. Figure 4 In, with Figure 1 The same or corresponding elements are denoted by the same reference numerals and their descriptions are omitted. Figure 1 The differences are mainly explained. Figure 4 Among the object instances displayed in boxes or circles, those represented by black text on a white background are existing object instances, among which those marked with a cross indicate old object instances that need to be destroyed in this business scenario; those represented by white text on a black background are new object instances that need to be created in this business scenario; those represented by black text on a gray background are objects that are not directly related to this business scenario and are shown here only for the completeness of the description.
[0076] In the case of upgrading the mobile service from 4G to 5G, the service process is triggered by modifying the value of the attribute "5G" of the object "mobile data CFS 220" in the hierarchical object model. The dynamic orchestration process performed by the dynamic orchestration engine of the process modeling and orchestration method 100 according to the embodiment of the present disclosure can be specifically shown in the following Table 1:
[0077]
[0078]
[0079] Table 1 Dynamic orchestration process of mobile service scenarios
[0080] In the above Table 1, for the sake of distinction, Figure 4 The UDM and HSS as leaf objects are clearly defined as the UDM and HSS of their parent objects. According to the above Table 1, when the dynamic orchestration engine performs dynamic process orchestration according to the hierarchical object model and dynamic orchestration rules, the order from the initial state to steps 1 to 5 in the first column "Steps" in Table 1 is executed in sequence. Specifically, each object action in the second column of Table 1 is executed in sequence. Among them, in the "Actual Business Actions" in the fifth column of Table 1, the execution of multiple actual business actions corresponding to the same object action of the same step can be carried out in parallel regardless of the order, so as to improve the orchestration efficiency of the dynamic orchestration engine.
[0081] Compared with the existing process orchestration system, which must statically design processes and provide process templates when deployed or running, and has the problems of large workload and poor expression ability (especially in terms of dynamic withdrawal and modification of process support), the process modeling and orchestration method 100 based on the object design pattern according to the embodiment of the present disclosure realizes dynamic process orchestration on the basis of modeling based on the object design pattern, and does not need to design process templates in advance. Instead, the dynamic orchestration engine realizes the orchestration of the process according to the object model and dynamic orchestration rules. On the one hand, it reduces the huge investment in the drawing of process templates in the early stage, and on the other hand, it also improves the expression ability of the process orchestration system, especially can well support the withdrawal and modification of complex processes. Due to the use of the dynamic orchestration method, according to the dynamic orchestration rules determined by the strict design in advance, the orchestration process is based on the business object model and instance data, and the process nodes are dynamically generated. The whole process is driven by data, and all process nodes are adjusted dynamically in real time according to the state of the process operation. Compared with static orchestration, it can better handle various abnormal rollbacks, withdrawal and modification problems in the process of business process operation, reflecting more excellent processing and expression capabilities.
[0082] The process modeling and orchestration method 100 according to the embodiment of the present disclosure is very suitable for scenarios involving many business elements, complex levels, and complex business logic relationships, and is conducive to realizing the hierarchical decoupling of the system. For example, in the telecommunications industry, such as 5G service activation, cross-provincial and municipal cloud network service activation scheduling and other scenarios, this method is very suitable for use. In addition, in other manufacturing industries with similar characteristics, the process modeling and orchestration method 100 according to the embodiment of the present disclosure can also be used to model business processes and realize dynamic scheduling of processes. If the process modeling and orchestration method 100 according to the embodiment of the present disclosure is fully put into use, it is expected to greatly improve the efficiency of development and operation and maintenance, and save a lot of development and operation and maintenance costs for enterprises.
[0083] According to an embodiment of the present disclosure, a process modeling and orchestration device may be provided, including: a memory on which instructions are stored; and a processor configured to execute the instructions stored in the memory to perform the process modeling and orchestration method 100 according to an embodiment of the present disclosure.
[0084] According to an embodiment of the present disclosure, a computer-readable storage medium may also be provided, including computer-executable instructions, which, when executed by one or more processors, enable the one or more processors to perform the process modeling and orchestration method 100 according to an embodiment of the present disclosure.
[0085] According to an embodiment of the present disclosure, a computer program product may also be provided, including a computer program / instruction, characterized in that when the computer program / instruction is executed by a processor, the steps of the process modeling and orchestration method 100 according to the embodiment of the present disclosure are implemented.
[0086] Figure 5 An exemplary configuration diagram of a computing device 500 capable of implementing an embodiment according to the present disclosure is shown.
[0087] The computing device 500 is an example of a hardware device to which the above aspects of the present disclosure can be applied. The computing device 500 can be any machine configured to perform processing and / or computing. The computing device 500 can be, but is not limited to, a workstation, a server, a desktop computer, a laptop computer, a tablet computer, a personal data assistant (PDA), a smart phone, a vehicle-mounted computer, or a combination thereof.
[0088] like Figure 5As shown, the computing device 500 may include one or more elements that can be connected or communicated with the bus 502 via one or more interfaces. The bus 502 may include, but is not limited to: an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus, etc. The computing device 500 may include, for example, one or more processors 504, one or more input devices 506, and one or more output devices 508. The one or more processors 504 may be any kind of processor, and may include, but is not limited to, one or more general-purpose processors or special-purpose processors (such as special-purpose processing chips). The processor 504 may be configured to implement the process modeling and choreography method 100 based on the object design pattern described in the above aspects of the present disclosure. The input device 506 may be any type of input device capable of inputting information to the computing device, and may include, but is not limited to, a mouse, a keyboard, a touch screen, a microphone, and / or a remote controller. The output device 508 may be any type of device capable of presenting information, and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer.
[0089] The computing device 500 may also include or be connected to a non-transitory storage device 314, which may be any non-transitory storage device that can implement data storage, and may include, but is not limited to, a disk drive, an optical storage device, a solid-state memory, a floppy disk, a flexible disk, a hard disk, a tape or any other magnetic medium, a compressed disk or any other optical medium, a cache memory and / or any other storage chip or module, and / or any other medium from which a computer can read data, instructions and / or code. The computing device 500 may also include a random access memory (RAM) 510 and a read-only memory (ROM) 512. The ROM 512 may store programs, utilities or processes to be executed in a non-volatile manner. The RAM 510 may provide volatile data storage and store instructions related to the operation of the computing device 500. The computing device 500 may also include a network / bus interface 516 coupled to a data link 518. The network / bus interface 516 may be any type of device or system capable of enabling communication with an external device and / or network, and may include but is not limited to a modem, a network card, an infrared communication device, a wireless communication device, and / or a chipset (such as a Bluetooth TM equipment, 802.11 equipment, WiFi equipment, WiMax equipment, cellular communication facilities, etc.).
[0090] The present disclosure may be implemented as any combination of an apparatus, a system, an integrated circuit, and a computer program on a non-transitory computer-readable medium. One or more processors may be implemented as an integrated circuit (IC), an application specific integrated circuit (ASIC), or a large scale integrated circuit (LSI), a system LSI, a super LSI, or a super LSI component that performs some or all of the functions described in the present disclosure.
[0091] The present disclosure includes the use of software, applications, computer programs, or algorithms. The software, applications, computer programs, or algorithms may be stored on a non-transitory computer-readable medium to enable a computer such as one or more processors to perform the above steps and the steps described in the accompanying drawings. For example, one or more memories store the software or algorithm in executable instructions, and one or more processors may associate a set of instructions to execute the software or algorithm to provide various functions according to the embodiments described in the present disclosure.
[0092] Software and computer programs (which may also be referred to as programs, software applications, applications, components or code) include machine instructions for a programmable processor and may be implemented in a high-level procedural language, an object-oriented programming language, a functional programming language, a logic programming language, or an assembly language or a machine language. The term "computer-readable medium" refers to any computer program product, apparatus or device for providing machine instructions or data to a programmable data processor, such as magnetic disks, optical disks, solid-state storage devices, memories and programmable logic devices (PLDs), including computer-readable media that receive machine instructions as computer-readable signals.
[0093] For example, computer readable media may include dynamic random access memory (DRAM), random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), compact disk read-only memory (CD-ROM) or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store the desired computer readable program code in the form of instructions or data structures and can be accessed by a general or special purpose computer or a general or special purpose processor. As used herein, disk or disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically by laser. Combinations of the above are also included in the scope of computer readable media.
[0094] The subject matter of the present disclosure is provided as an example of devices, systems, methods and programs for performing the features described in the present disclosure. However, in addition to the above features, other features or variations may also be expected. It is expected that the implementation of the components and functions of the present disclosure may be accomplished with any emerging technology that may replace any of the above-mentioned implementation technologies.
[0095] In addition, the above description provides examples without limiting the scope, applicability or configuration set forth in the claims. Without departing from the spirit and scope of the present disclosure, the functions and arrangements of the elements discussed may be changed. Various embodiments may appropriately omit, replace or add various processes or components. For example, features described with respect to certain embodiments may be combined in other embodiments.
[0096] In addition, in the description of the present disclosure, although operations are depicted in a particular order in the drawings, this should not be understood as requiring that such operations be performed in the particular order shown or in a sequential order, or requiring that all illustrated operations be performed to achieve the desired results. In some cases, multitasking and parallel processing can be advantageous.
Claims
1. A process modeling and choreography method based on an object design pattern, comprising an object modeling step and a process dynamic choreography step, wherein the process modeling and choreography method is characterized in that: The object modeling step comprises the following steps: (1) Object generation step: for multiple business elements of the actual business involved in the process to be choreographed, each business element is abstracted into an object, and a tree-like hierarchical object model is created and organized; (2) a labeling step of labeling the attributes, constraints, and relationships of the objects in the hierarchical object model; as well as (3) an action mapping step, in which the business action is abstracted into an object action in the hierarchical object model, and an action mapping relationship between the business action and the object action is established. The object action includes the creation, destruction and modification of the object. The process dynamic orchestration step is performed by a dynamic orchestration engine, and includes the following steps: (4) a task establishment step, receiving a business action task from an upstream system, converting the business action task into an object action task according to the hierarchical object model and the action mapping relationship, and establishing a task pool to be executed; (5) Initialization step: Initialize the object instance space and instance relationship tree. If the object is newly created, the instance space is empty. Otherwise, all existing objects and object relationships are loaded. (6) a dynamic orchestration execution step, reading the hierarchical object model, extracting the objects and the annotated attributes, constraints, and relationships therein, dynamically choreographing the process according to the dynamic orchestration rules, and converting the business action tasks into external APIs to be called in sequence; as well as (7) Task archiving step: archiving the object instance space and instance relationship tree after the orchestration is completed for reference in subsequent process orchestration.
2. The process modeling and choreography method according to claim 1, wherein: In the hierarchical object model, between a parent object and a child object, the parent object is composed or implemented by all or part of the child object, and the rules of composition or implementation are defined by the constraints of the child object.
3. The process modeling and choreography method according to claim 1, wherein: The attributes of an object are descriptions of the identifiers, characteristics or options that the object possesses; The object constraint refers to the expression of conditional expressions on the number of sub-objects and the relationship between sub-members, and whether they need to be created and retained; The relationship between the objects refers to the expression of mutual dependence and influence between multiple business elements corresponding to multiple objects.
4. The process modeling and choreography method according to claim 1, wherein: The dynamic scheduling rules include: task execution order selection rules, task delivery and triggering rules, and object instance management rules. In the dynamic orchestration execution step, the dynamic orchestration engine performs the following operations: Step (1): selecting a task that meets the conditions from the task pool to be executed according to the task execution order selection rule; Step (2): dynamically updating the object instance space and the instance relationship tree during each task execution process according to the object instance management rule; Step (3): According to the task transfer and triggering rules, a new task is triggered and pushed into the task pool; Step (4): Repeat the above steps (1) to (3) until the task pool is empty and the dynamic orchestration execution step is completed.
5. The process modeling and choreography method according to claim 4, wherein: The task execution order selection rules include the following rules: (1) For the type of object action, select in the order of destruction, creation, and modification; (2) For a group of objects to be created in the same category, first select objects that do not depend on other objects and are not affected by other objects, as well as objects whose dependent and affected objects have all been completed, until all objects to be created have been created; (3) For a group of objects that are to be modified, first select objects that do not depend on other objects and are not affected by other objects, and objects whose dependent and affected objects have all been completed, until all objects to be modified have been modified; (4) For a group of objects that are to be destroyed together, first select objects that are not dependent on and do not affect other objects, as well as objects whose dependent and affected objects have all been destroyed, until all objects to be destroyed have been destroyed.
6. The process modeling and choreography method according to claim 4, wherein: The task transfer and triggering rules include the following rules: (1) The creation and destruction actions of the parent object will be passed to the child object, triggering the child object to perform the same action; (2) When executing a modification action, first trigger the creation and destruction actions according to the constraints of the object. If the creation and destruction actions are not triggered, execute the modification action and then pass it to the child node; (3) When modifying a parent object, if the parent object instance itself actually changes, the modification action is passed to the child object; (4) Changes to upstream objects that have a dependency or impact relationship will trigger modification actions on downstream objects.
7. The process modeling and choreography method according to claim 4, wherein: The object instance management rules include the following rules: (1) Before creating an instance, first determine whether the constraints of the object are met. Only when the constraints are met can it be created; (2) When creating an instance, first check whether the instance exists. If it exists, directly reference it; otherwise, create a new instance; (3) When destroying an instance, first determine whether the instance is referenced by other objects. If so, do not actually destroy the instance, but only delete the reference relationship. Otherwise, delete the reference relationship and then delete the instance. (4) When modifying an instance, you must first determine whether the object's constraints are met, and decide whether to create a new instance or destroy the instance based on the situation. If it is to be retained, perform the modification action.
8. A process modeling and choreography device, comprising: a memory having instructions stored therein; as well as A processor is configured to execute instructions stored in the memory to perform the process modeling and choreography method according to any one of claims 1 to 7.
9. A computer-readable storage medium comprising computer-executable instructions, which, when executed by one or more processors, enable the one or more processors to perform the process modeling and choreography method according to any one of claims 1 to 7.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the process modeling and choreography method described in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Component model supporting dynamic configuration, and component factory
CN102622227A
Interpreted dynamic business component construction method for industrial applications
CN103279358A