A business process construction method and system for supporting IoT integration for business users

By extending the BPMN2.0 specification, adding IoT service-oriented task elements, and supporting the integration of IoT event streams, it solves the problems of inconvenient integration of IoT event streams and difficulty in customizing complex event modes in the business process model in the existing technology, realizing business user-friendly IoT event stream integration and complex event processing, reducing the load of the process engine.

CN114723407BActive Publication Date: 2025-03-28NORTH CHINA UNIVERSITY OF TECHNOLOGY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210384943.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-09-15
Filing Date
2022-04-13
Publication Date
2025-03-28
Estimated Expiration
2042-04-13

AI Technical Summary

Technical Problem

The prior art is difficult to easily and friendlyly integrate IoT event flows in business process models, especially for non-CEP expert users, which cannot support the customization of complex event modes, and the process engine load is relatively large.

Method used

By extending elements in the BPMN2.0 specification, adding IoT service task elements are supported to integrate IoT event flows. Business users can define IoT data sources, simple event patterns and complex event patterns through wizard steps, generate executable SQL strings and computational job files for CEP engine complex event detection.

Benefits of technology

It realizes business user-friendly IoT event stream integration, supports explicit modeling of complex event processing modes, reduces the consumption of process engine load, and improves the flexibility and efficiency of business processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114723407B_ABST
    Figure CN114723407B_ABST
Patent Text Reader

Abstract

The present invention provides a business process construction method for supporting IOT integration for business users, which constructs a business process model supporting IOT event flow integration based on BPMN2.0 specification, and the method comprises: S1, extending IOT service-type task elements in activity elements based on BPMN2.0 specification to support event mode definitions of different types of IOT event flows; S2, in response to business user needs, constructing a business process model supporting IOT event flow integration based on the extended BPMN2.0 specification, and saving the model to generate a bpmn20.xml file. The present invention can support business users to explicitly model complex event processing patterns of IOT event flows according to business needs without having to master complex stream data processing logic and code writing capabilities, and proposes a support framework that separates complex event processing of IOT event flows from business process execution to execute IOT-aware business processes, which can effectively reduce the consumption of process engine load.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of business process model construction and deployment, and more specifically, to business process model construction and deployment of IoT event streams integrated into business processes, and more specifically, to a business process model construction method, deployment method and system supporting IoT event stream integration based on BPMN2.0. Background Art

[0002] In modern organizational management activities, organizational structures and process operations constitute the vertical and horizontal management lines within modern enterprises. The vertical management line clarifies the division of labor among organizational members (the strategic goals of the enterprise, the functions of departments and job responsibilities, etc.), and the horizontal management line clarifies the collaboration of organizational members. This way of both division of labor and cooperation constitutes the horizontal and vertical operation and management model of the enterprise. BPMS (Business Process Management System) standardizes, normalizes and automates these management lines through modern workflow software technology, thereby effectively improving business operation efficiency, reducing costs, and providing guarantees for achieving the strategic goals of the enterprise. At present, there is a large category of process-oriented information systems (PAIS) supported by business process management (BPM) in the industry. Enterprise users use PAIS to design business process models and derive business process instances in the process engine to support their operational activities, manage and deploy their resources and knowledge assets to achieve their business goals.

[0003] The IoT big data generated by devices and sensors on the industrial IoT can reflect the state of the physical world in real time. Integrating IoT big data into BPM can timely perceive environmental changes, improve the flexibility of PAIS, and effectively improve the capabilities and operating efficiency of PAIS by accurately allocating resources. It should be noted that BPMN (Business Process Modeling Notation) is an open standard maintained by the OMG (the object management group), which contains a series of standard symbols required for the construction of business process models, mainly flow object elements, data elements, connection object elements, swimlane elements, etc. Users can use the symbols provided by BPMN to graphically draw and build business process models. At present, a lot of relevant research has been carried out on integrating IoT into business process models, which can be mainly divided into two aspects: describing basic information such as IoT devices and IoT events in business process models and defining and executing event flows generated by IoT devices. Most of these two methods are implemented by extending the basic elements of BPMN2.0. However, there are still the following deficiencies in how business users (non-CEP (complex event processing) experts who are not familiar with stream data processing rules) can conveniently and friendly define and execute event flows generated by IoT devices in business processes:

[0004] 1. In terms of business process model construction, the basic elements provided in the BPMN2.0 specification do not support explicit representation of complex event processing for IoT event streams. When using the basic elements / symbols provided by the BPMN2.0 specification to access IoT event streams during the construction of business process models, business users can only use pre-defined events or write various complex event processing logics by themselves. This requires business users to be proficient in business process model construction and stream data processing technology, which places high demands on business users. At present, relevant research cannot support business users to define complex event processing (CEP) patterns in business processes based on personalized business needs and different types of IoT event streams.

[0005] 2. In terms of business process execution, using traditional process engines to process business processes that integrate IoT event streams requires continuous cyclic calculations and storage status comparisons, calculations, and judgments, which places a heavy load on the process engine.

[0006] Therefore, how to integrate IoT event streams into business process models to meet the needs of ordinary business users is an urgent problem that needs to be solved. Summary of the invention

[0007] Therefore, the purpose of the present invention is to overcome the defects of the above-mentioned prior art and provide a new business process model construction and deployment method that supports IoT event stream integration, and a construction and deployment system.

[0008] According to a first aspect of the present invention, a method for constructing a business process model that supports IoT event flow integration is provided, which constructs a business process model that supports IoT event flow integration based on the BPMN2.0 specification. The method comprises: S1, based on the BPMN2.0 specification, extending the IoT service-type task element in the activity element to support event pattern definition of different types of IoT event flows; S2, in response to business user needs, constructing a business process model that supports IoT event flow integration based on the extended BPMN2.0 specification, and saving the model to generate a bpmn20.xml file.

[0009] Preferably, the IoT service-type task element extended in step S1 includes at least two custom attributes: an IoT service attribute and an event pattern definition attribute, wherein: the IoT service attribute includes the source address information and detailed data attribute information of the IoT event stream, and is configured as the following mode: IoTSource = {SID, SName, Source, AttributeSet}, wherein IoTSource represents the IoT service attribute, SID represents the unique identifier of the IoT event stream corresponding to the IoT service, SName represents the name of the IoT event stream corresponding to the IoT service, Source includes the source address and subject information of the IoT event stream, AttributeSet includes the name and data type of the data attribute in the IoT event stream; the event pattern definition attribute includes event pattern information based on user personalized definition of the IoT service.

[0010] In some embodiments of the present invention, step S2 includes: S21, in response to business user needs, obtaining IoT data sources, and the business user selects the required IoT event stream and source address information of the event stream and detailed data attribute information. S22, defining the simple event pattern of the IoT event stream selected in step S21, preferably, defining the simple event pattern in the following manner: event = {name, attribute, conditions}, wherein event represents a simple event, name represents the name of the simple event definition, attribute represents the data attribute information of the IoT event stream selected by the user, and conditions represents the conditional constraints on the attribute, which may include comparison with constants or process variables, wherein the process variable may be an input or output variable of a predecessor element of the IoTService Task element in the process. S23, based on the defined simple event pattern, a user-customized definition of a complex event pattern is performed, preferably, a complex event pattern is defined by combining simple event patterns, and the complex event pattern is defined as an individual pattern or a combined pattern, wherein the individual pattern includes a simple event single execution pattern or a simple event loop execution pattern; the combined pattern is formed by pattern matching the following operators: Pattern Quantifiers operator, used to indicate the number of occurrences that meet the simple event definition; Pattern Operators operator, used to define the sequence satisfied by the simple event to be identified; Pattern Timers operator, used to specify the maximum event span of the pattern sequence in the complex event pattern. S24, based on the complex event pattern definition of step S23, a business process supporting IoT event stream integration is generated, and the business process is parsed, the complex event pattern definition information defined by the user is parsed to generate an event pattern name that uniquely identifies the event pattern and an executable SQL string, which are stored in the event pattern definition attribute under the IoT service-type task element in the BPMN process file, and the unique identifier, address and subject information of the IoT data source and the name and data type of the data attribute used are stored in the IoT service attribute under the IoT service-type task element.

[0011] According to a second aspect of the present invention, a business process model deployment method supporting IoT event stream integration is provided, which is used to deploy a business process model supporting IoT event stream integration built based on the BPMN2.0 specification in a BPM engine, the method comprising: P1, obtaining a business process model supporting IoT event stream integration built using the method described in the first aspect of the present invention; P2, parsing the business process model supporting IoT event stream integration to obtain a complex event detection calculation job file corresponding to a complex event pattern definition and a bpmn20.xml file with extended event receiving capabilities, so that the IoT service-type task element can be executed; P3, deploying the complex event detection calculation job file corresponding to the complex event pattern definition on a CEP engine, and deploying the bpmn20.xml file with extended event receiving capabilities on a BPM engine.

[0012] In some embodiments of the present invention, the step P2 includes: P21, parsing the business process model supporting IoT event flow integration, obtaining the event pattern name of the complex event pattern definition information and its corresponding executable SQL string from the event pattern definition attribute under the IoT service-type task element, and obtaining the IoT data source address and subject information from the IoT service attribute under the IoT service-type task element; P22, according to the event pattern name, executable SQL string, IoT data source address and subject information obtained in step P21, code mapping and code composition are performed to finally form the corresponding complex event detection calculation job file that can be processed by the CEP engine; P23, packaging, saving and deploying the complex event detection calculation job file generated in step P22. Preferably, the step P2 also includes: P24, according to the event pattern name information of the complex event pattern obtained in step P21, determining the output subject information of the complex event detection result that the business user is interested in, and mapping the IoT service-type task to an executable process fragment; P25, splicing and combining the executable process fragment in step P24 with the original BPMN process.

[0013] In some embodiments of the present invention, the executable process fragment includes: a first service task node, which is used to subscribe to the result event of the complex event detection calculation of the CEP engine to the message middleware according to the event pattern name in the event pattern definition information as the subject information of the complex event detection calculation result, wherein the CEP engine is an engine for executing complex event detection calculation job files; a message event receiving node, which is used to receive the result event of the complex event detection calculation of the CEP engine from the message middleware; and a second service task node, which is used to cancel the subscription to the result event of the complex event detection calculation of the CEP engine of the message middleware.

[0014] Preferably, the executable process fragment is spliced ​​and combined with the original BPMN process in the following manner: connect all the incoming lines from the predecessor nodes of the original IoT service-type task element to the current IoT service-type task element to the first service task node in the executable process fragment; connect the outgoing lines of the second service task node in the executable process fragment to all the outgoing line nodes of the original IoT service-type task element; delete the current IoT service-type task element and the associated outgoing and incoming lines.

[0015] According to a third aspect of the present invention, there is provided a business process model construction and deployment system supporting IoT event flow integration, the system comprising: a business process modeling tool for business users to construct a business process model integrating IoT events based on the method described in the first aspect of the present invention; a parser for parsing business processes, and generating a BPMN process with extended event receiving capabilities and a computational job file for complex event detection of a CEP engine according to the process structure and complex event pattern definition; a deployer for deploying a BPMN process on a BPM engine based on the method described in the second aspect of the present invention, and a computational job file for complex event detection on a CEP engine; a BPM engine for processing the flow of business process tasks in a business process; a CEP engine for executing the computational job file for complex event detection generated by the parser; and a message middleware for communicating messages between the BPM engine and the CEP engine.

[0016] Compared with the prior art, the advantages of the present invention are: the present invention proposes a business process model construction and deployment method that supports IoT integration and is friendly to business users. The method can support business users to explicitly model complex event processing patterns of IoT event streams according to business needs, without having to master complex stream data processing logic and code writing capabilities. The modeling method of integrating CEP events in business processes can support CEP event reception for sequential or concurrent execution. In terms of process execution, a support framework that separates complex event processing of IoT event streams from business process execution is proposed to execute IoT-aware business processes, which can effectively reduce the consumption of process engine load. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The embodiments of the present invention are further described below with reference to the accompanying drawings, in which:

[0018] Figure 1 A schematic diagram of IoT data source selection in a business process model construction wizard page according to an embodiment of the present invention;

[0019] Figure 2 A schematic diagram of an example simple event pattern definition according to an embodiment of the present invention;

[0020] Figure 3A schematic diagram of an example simple event pattern definition according to an embodiment of the present invention;

[0021] Figure 4 A schematic diagram of complex event pattern definition according to an embodiment of the present invention;

[0022] Figure 5 A schematic diagram of BPMN2.0 standard element expansion according to an embodiment of the present invention;

[0023] Figure 6 A schematic diagram of a deployment system architecture for building a business process model supporting IoT event stream integration according to an embodiment of the present invention;

[0024] Figure 7 A flowchart of a business process of an example scenario constructed according to the prior art of an embodiment of the present invention;

[0025] Figure 8 The figure is a flowchart of constructing an example scenario business process according to an embodiment of the present invention. DETAILED DESCRIPTION

[0026] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail by specific embodiments below. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0027] The purpose of the present invention is to solve the problem that the existing business processes are not friendly enough to non-CEP expert users in terms of integrating IoT event streams and cannot support complex event pattern definitions, as well as the problem that the existing process processing engines are overloaded. A new business process modeling method and deployment method that supports IoT event stream integration is proposed. The method of the present invention is oriented to business users, so that business users do not have to be proficient in stream data processing technology to build business process models that support IoT integration, while reducing the load consumption of the process engine. The present invention implements support for the construction of business process models that integrate IoT event streams by extending the elements in the BPMN2.0 specification, and at the same time adds a corresponding engine to implement the execution of business processes that integrate IoT event streams. The following details the expansion of the BPMN2.0 specification, the construction of business process models based on the expansion, and the deployment of business process models in conjunction with the accompanying drawings.

[0028] Since the basic elements provided in the BPMN2.0 specification do not support explicit representation of complex event processing for IoT event streams, that is, there are no elements in BPMN2.0 that support business users who are not CEP experts to define customized IoT complex event patterns. Therefore, the present invention expands the BPMN2.0 specification and adds task elements to support the construction of business processes that integrate IoT event streams. In order to better understand the present invention, we first briefly introduce the activity elements of BPMN2.0. The so-called activity elements refer to the work performed during the execution of a business process. Among them, activities are divided into two categories: tasks (atomic) and sub-processes (compound). Tasks are the smallest working units in the business process model and cannot be further decomposed. Sub-processes can be further decomposed into a series of sub-activities. The present invention mainly expands the task element. According to the execution semantics of the task, the task category can be divided into:

[0029] Normal task (NoneTask): The default task type, the execution semantics of the task is not specified;

[0030] Send Task: Send a message to an external participant. Once the message is sent, the task is completed.

[0031] ReceiveTask: Wait for and receive messages sent from external participants. Once the messages are received, the task is completed.

[0032] UserTask: A manual task completed with the assistance of an application, such as a task picked up and executed from a task list, such as the task of entering household registration information into a computer during household registration.

[0033] Manual Task: A purely manual task without any process engine or application assistance, such as the review of submitted household registration information.

[0034] ServiceTask: Calls a certain type of service, which can be a web service or an automated application.

[0035] Script Task: defines an execution script to be executed by the process engine.

[0036] The present invention is to expand the service task element, expand the IoT service task (IoTService Task) element in the activity element of BPMN2.0, and on this basis, add two custom attributes IoTSource (IoT service attribute) and EventPattern (event pattern definition attribute) to IoTService Task, where the IoTSource attribute is used to save the unique identifier, source address information and data attribute information used by the IoT event flow, and the EventPattern attribute is an event pattern definition based on IoTSource, where:

[0037] IoTSource attributes: Contains the unique identifier, source address information, and detailed data attribute information of the IoT event stream. IoTSource can be represented as a four-tuple as follows: IoTSource = {SID, SName, Source {Address, Topic}, AttributeSet {AttName, Type}}; where SID represents the unique identifier of each IoT event stream, which is a combination of English characters and numbers; SName represents the name of the IoT event stream corresponding to the IoT service; Source contains the source address (Address) and topic information (Topic) of the IoT event stream; AttributeSet contains the name (AttName) and data type (Type) of the data attribute in the event stream.

[0038] EventPattern attribute (event pattern definition attribute): It is an event pattern definition attribute based on IoTSource. The event pattern is defined by the business user based on the selected IoT data source and the metadata information provided by it. Events can be divided into simple events and complex events. Complex events are composed of one or more events that conform to a certain pattern. For example, in the field of elderly care and health, the heart rate value of the elderly after lying in bed can reflect some potential dangers, but the elderly lying in bed is a simple event, and the heart rate is another simple event. The heart rate value of the elderly after lying in bed is a complex event composed of two simple events. If the heart rate value of the elderly lying in bed suddenly increases, it is necessary to notify the caregiver to check and feedback the elderly's situation. The bed pressure sensor in the IoT scenario can reflect whether the elderly are in bed in real time, and the bracelet can measure the heart rate value of the elderly in real time. By integrating the real-time event streams of the bed pressure sensor and the bracelet into the business process field, the current status and heart rate value of the elderly lying in bed can be reflected in real time. Once it is detected that the heart rate value of the elderly after lying in bed exceeds the set threshold for two consecutive times, an early warning, inspection and feedback can be immediately issued. According to an example of the present invention, "bed pressure value > 0" and "heart rate value > 140" are two simple events respectively, while "bed pressure value > 0 and then heart rate value > 140" constitutes a complex event. Under the prior art, such complex events require professional complex event processing logic to implement complex event definition. The present invention proposes that the definition of event patterns based on BPMN2.0 element extension can be completed using wizard steps, which has low requirements for business users. When saving, the parser module automatically generates a calculation job file for complex event detection of the CEP engine corresponding to the complex event pattern.

[0039] Therefore, through the above two attributes, wizard steps can be implemented to assist business users in defining complex event processing for IoT event streams.

[0040] When business users define IoT complex event patterns through extended IoT service task elements, it includes three parts: selection of IoT data source, definition of simple event pattern, and definition of complex event pattern. The following describes each part in detail:

[0041] 1) IoT data source selection

[0042] Through the selection of IoT data source, the specific IoT event stream (of interest to business users) processed by the IoTServiceTask element is clarified, and metadata information of the event stream of interest to business users is provided. For example, still taking the above example, there are two types of IoT data source names in the example: bedSensor and heartRateSensor, which represent two different types of encapsulated IoT event streams. Among them, the IoT event stream encapsulated by bedSensor contains the data attribute of bed pressure "bedPressure"; the event stream encapsulated by heartRateSensor contains the data attribute of heart rate "heartRate"; bedPressure and heartRate are AttName in AttributeSet in IoTSource. Business users are interested in complex events composed of bed pressure (bedPressure) and heart rate (heardRate). As Figure 1 As shown in the figure, two types of IoT data sources, "bedSensor" and "heardRateSensor", are selected on the wizard page. Among them, "bedSensor" contains metadata information of bed pressure data, including: elderly ID, timestamp, bed pressure, etc.; "heartRateSensor" contains metadata information of heart rate stream data, including: elderly ID, timestamp, heart rate value, etc.

[0043] 2) Simple event pattern definition

[0044] Simple event pattern definition provides support for complex event pattern definition. Simple event pattern definition is similar to the where clause in SQL statement. A simple event pattern definition can be expressed as follows:

[0045] event = {name, attribute, conditions}, mainly defines the conditions that business users must meet for the event flow attributes of interest in a specific event flow, and provides support for the definition of complex event patterns. By selecting the attribute provided by the IoT event flow, the event flow attribute information of interest is determined, and conditions impose conditional constraints on the attribute of interest. Conditions supports basic conditional expressions and aggregate conditional expressions. Depending on the selected options, the wizard page visualizes the conditions required for different types of expressions. In addition, the composition of conditions can connect multiple constraints through logical operators to form more complex conditional constraints. The specific operators in conditions are shown in Table 1 below, including comparison operators, aggregation operators, and logical operators. Among them, the comparison operators are greater than (>), greater than or equal to (>=), less than (<), less than or equal to (<=), and not equal to (≠); the aggregation operators are average (Avg), statistical count (Count), maximum value (Max), minimum value (Min), and sum (Sum); the logical operators are and (&), or (||), and not (!). Comparison operators are used to impose conditional constraints on the data attributes of the IoT event flow, including comparisons with constants or process variables. A process variable can be an input or output variable of a predecessor element of an IoTService Task element in the process.

[0046] Table 1

[0047]

[0048] Still taking the above example, a simple event pattern is defined based on the selected IoT data source. Figure 2 As shown in the figure, it is a simple event pattern definition e1 after selecting the "bedSensor" IoT data source, which represents the event (lying in bed) when the bed pressure data (bedPressure) is greater than 0. Figure 3 As shown, it is a simple event pattern definition e2 after selecting the "heartRateSensor" IoT data source, which represents the event of the heart rate value (heartRate)>=160. Figure 3 In the Value input box, you can enter a certain constant, such as "160", or you can assign a value by selecting a process variable. For example, the predecessor element "Given User Range" task in the process outputs the normal heart rate threshold of the elderly. Here you can associate it with the output parameter of this task and assign a value based on the output parameter value of this task when the business process is executed.

[0049] 3) Complex event pattern definition

[0050] Complex event pattern definition is used to combine / define the defined simple event patterns, that is, to define the pattern sequence satisfied by these simple event patterns, and to define complex event patterns by combining simple event patterns. Complex event patterns support individual patterns and combined patterns. Individual pattern definitions can be single execution patterns, that is, simple event patterns, or they can be changed to cyclic execution patterns by specifying Range / Repeat in Pattern Quantifiers. Combined pattern definition mainly performs certain pattern matching on multiple defined simple event patterns through Pattern Quantifiers, Pattern Operators, and Pattern Timers operators. As shown in Table 1, Pattern Quantifiers indicates the number of occurrences that meet the definition of a simple event pattern. The number of occurrences can be 0, 1 or more, 0 or 1, any number within a range, etc.; Pattern Operators define the pattern sequence satisfied by the simple event pattern to be identified, which is composed of simple event patterns customized by business users. The pattern sequence can be that other events can exist between two events or that no other events can exist between two events; Pattern Timers specifies the maximum time span of the pattern sequence in the complex event pattern, and supports static time intervals and dynamic time intervals. The static time interval refers to a specific time interval, and the dynamic time interval refers to the time interval defined by the interval expression. The specific classification and description of the three types of operators are shown in Table 2.

[0051] Table 2

[0052]

[0053] Still taking the above example, Figure 4 As shown, a complex event pattern definition Pattern(e1 e2{2,}) is constructed based on a simple event pattern definition, which indicates a complex event pattern in which e2 occurs twice in succession after e1 occurs. This complex event pattern can represent a complex event in which the heart rate of an elderly person exceeds a set threshold twice in succession after lying in bed.

[0054] After building a business process that supports IoT event stream integration, the business user saves it to generate a .bpmn20.xml file, wherein when saving, the complex event pattern information personalized by the business user is parsed to obtain the event pattern name that uniquely identifies the event pattern and the executable SQL string, which are stored in the EventPattern attribute under the IoTService Task node, and the unique identifier, address and subject information of the IoT data source and the usage data attribute information are stored in the IoT Source attribute, thereby completing the construction of the business process that supports IoT event streams. According to one embodiment of the present invention, when saving, the main process of parsing the executable SQL code that constitutes the CEP event pattern according to the wizard page includes the following steps:

[0055] 1. Obtain the information defined and input by the user on the wizard page, including: the selected IoT data source information (for example, the two types of IoT data sources "bedSensor" and "heardRateSensor" selected in the previous example), simple event pattern information (for example, e1 and e2 defined in the previous example), complex event pattern information (for example, Pattern (e1 e2{2,}) defined in the previous example), and other specific information;

[0056] 2. Generate an event pattern name that uniquely identifies the event pattern based on the acquired information, map and combine it with the CEP event pattern definition SQL code, and obtain an executable SQL string for the CEP engine;

[0057] 3. Save the event pattern name and SQL string that uniquely identifies the event pattern in the EventPattern attribute of the IoTService Task element in the BPMN process (.bpmn20.xml) file, and store the SID, SName, address and topic information of the IoT data source and the data attribute information used in the IoTSource attribute under the IoTService Task element.

[0058] According to an example of the present invention, within 2 hours, the heart rate value has been within the normal set threshold range (for example, <100) and then suddenly the heart rate value increases sharply to exceed the dangerous threshold value (for example, >=140). The SQL code generated by the event pattern definition of the CEP is shown in Table 3 below:

[0059] Table 3

[0060]

[0061] In order to ensure the executability of the business process model built to support IoT event stream integration, such as Figure 5As shown, the IoTService Task element extended by the present invention inherits the model association and attributes of the activity element and is compatible with the graphical model. Among them, EventPattern is used to store the complex event pattern definition constructed by the business user, including the event pattern name that uniquely identifies the event pattern and the complex event pattern string; and IoTSource saves the static resource data provided in the IoT service used by the business user, including the SID, SName, address and topic information of the IoT stream data and the data attribute information used, and parses and maps them to IoService Task as attributes for storage. The information provided in EventPattern and IoTSource will be used to combine into a computational job file for complex event detection of the CEP engine during process parsing, deployed to the CEP engine when the process instance is started, and passed to the business process execution phase.

[0062] After the business process model is built, it needs to be parsed and deployed on the business process engine to execute the tasks corresponding to the business process, including two stages: parsing and deployment. According to one embodiment of the present invention, the present invention parses the constructed business process model that supports IoT event stream integration, including: code mapping and code composition of the executable SQL string of the complex event pattern and the IoT data source information (static information), and obtains the calculation job file of the CEP engine complex event detection for the complex event pattern; parses the IoTService Task element in the business process model, obtains the bpmn20.xml file that extends the event receiving capability, and makes the IoTService Task element executable.

[0063] According to one embodiment of the present invention, the executable SQL string of the complex event pattern and the IoT data source information (static information) are parsed to obtain a computational job file for complex event detection of the CEP engine for the complex event pattern, wherein the computational job file for complex event detection at least includes the following parts: flow environment code, table environment code, CEP event pattern executable SQL code, and output result code. The generation of the computational job file for complex event detection of the CEP engine mainly includes the following steps: 1. Parse the business process .bpmn20.xml file to determine whether it contains an IoTServiceTask element; 2. If the IoTService Task element is found, obtain the event pattern name, executable SQL string, and IoT data source address, subject information, and data attribute information used from the attributes EventPattern and IoTSource attributes that uniquely identify the event pattern; 3. According to the basic information of the acquired data source and executable SQL string, the parser module performs code mapping and combination between flow environment creation, table environment creation, complex event pattern executable code, and output, and finally generates a computational job file for complex event detection of the CEP engine; 4. Package the generated computational job file into a jar package and save and deploy it.

[0064] According to one embodiment of the present invention, parsing the IoTService Task element in the business process model so that the IoTService Task element can be executed includes the following steps:

[0065] 1. Parse the process model and determine whether the node is an IoTService Task element;

[0066] 2. If the node is an IoTService Task element, obtain the IoT Source and EventPatern selected by the business user, determine the event source information, user-defined CEP and other information.

[0067] 3. Parse and map it into an executable process fragment, which is characterized in that the process fragment contains at least the following parts:

[0068] The first service task node has two main functions: subscribe to the CEP engine complex event detection calculation result event to the message middleware according to the subject information of the complex event detection calculation result obtained by the event pattern name that uniquely identifies the event pattern in the event pattern definition; start the complex event calculation of the CEP engine and start the CEP complex event calculation;

[0069] The function of receiving message event node is to receive the calculation result event of complex event detection from the CEP engine of the message middleware.

[0070] Second service task node 2: The function of this task node is to cancel the subscription to the complex event detection defined in the IoTService Task element, that is, to terminate the CEP engine's calculation of the complex event.

[0071] 4. Combine the parsed process fragments with the original BPMN process, which mainly includes the following steps:

[0072] Connect all the incoming lines from the predecessor nodes of the original IoTService Task element to this IoTService Task element to the first service task node in the process segment;

[0073] The outgoing line of the second service task node in the process fragment is connected to all the outgoing line nodes of the original IoTService Task element;

[0074] Delete the IoTService Task element and the associated outgoing and incoming lines.

[0075] After the business process is parsed, it must be deployed in the business engine for execution. In the present invention, the deployment includes two parts: deploying the .bpmn20.xml file of the constructed business process model integrating the IoT event flow on the business process engine and deploying the computational job file of the parsed CEP engine complex event detection on the CEP engine.

[0076] According to one embodiment of the present invention, the present invention provides a support framework that integrates a BPM engine and an event stream engine to effectively execute a business process instance that integrates an IoT event stream, such as Figure 6As shown, the system includes: a business process modeling tool for business users to build a business process model integrating IoT events; a parser for parsing business processes, generating BPMN process files with extended event receiving capabilities and calculation job files for complex event detection of CEP engine according to process structure and complex event pattern definition; a deployer for deploying BPMN process files on BPM engine and calculation job files for complex event detection on CEP engine; BPM engine for processing business process task flow in business processes; CEP engine for executing complex event detection calculation job files generated by the parser; and message middleware for communication of messages between BPM engine and CEP engine. In this system, according to the business process model deployed on the business process engine, after the business user starts the process instance, when the execution flow of the process instance reaches the IoTService Task element, the BPM engine automatically subscribes to the complex events defined in the business process to the message middleware and starts to monitor the result events. At the same time, the CEP engine performs real-time event flow calculation, and the communication between the two is inseparable from the message middleware component. After the CEP engine completes the real-time event flow calculation, the result event generated is published to the message middleware. After the IoTService Task element listens to the result event, the BPM engine throws a signal event. After the signal is thrown, the BPM engine automatically captures the event within the process instance scope and performs subsequent process execution. When the IoTService Task element task ends, it automatically cancels the subscription to the result event to the message middleware component.

[0077] In order to better understand the present invention, the difference between the present invention and the prior art is described in detail below with an example.

[0078] In the field of elderly care and health, the heart rate of the elderly in bed can reflect some potential dangers. If the heart rate of the elderly in bed suddenly increases, the caregiver needs to be notified to check and provide feedback on the elderly. The bed pressure sensor in the IoT scenario can reflect whether the elderly are in bed in real time, and the bracelet can measure the heart rate of the elderly in real time. By integrating the real-time event streams of the bed pressure sensor and the bracelet into the business process field, the current status and heart rate of the elderly in bed can be reflected in real time. Once the heart rate of the elderly in bed exceeds the set threshold for two consecutive times, an early warning, inspection and feedback can be issued immediately.

[0079] The business process model for the above scenario is constructed by writing service task handlers using traditional BPMN, such as Figure 7As shown, the process of the entire scenario is: specify the user range to be monitored, perform bed pressure and heart rate monitoring to obtain bed pressure and heart rate data; then compare the data and enter the feedback process. If the heart rate of the elderly person in bed exceeds the threshold for two consecutive times, the caregiver will be reminded. The caregiver will check the elderly person's condition, notify relevant personnel after feedback, and if the elderly person is not detected in bed, the bed pressure monitoring activity will be cycled again to continue monitoring. When the method of the present invention is used to model the business process of the same scenario, such as Figure 8 As shown, after specifying the monitoring user range, the IoTService Task element is used to define the complex event of "After lying in bed, the heart rate value exceeds the threshold for two consecutive times". After the result event is generated, the task stops and the caregiver is notified. The caregiver will check, give feedback and notify relevant personnel. It can be seen that it is simpler and more intuitive to build a business process using the method of the present invention.

[0080] The present invention proposes a method for building and deploying a business process model that supports IoT integration and is friendly to business users. This method can support business users to explicitly model complex event processing patterns of IoT event streams based on business needs, without having to master complex stream data processing logic and code writing capabilities. The modeling method of integrating CEP events in business processes can support the reception of CEP events to be executed sequentially or concurrently. In terms of process execution, a support framework that separates complex event processing of IoT event streams from business process execution is proposed to execute IoT-aware business processes, which can effectively reduce the consumption of process engine load.

[0081] It should be noted that although the above describes the various steps in a specific order, it does not mean that the various steps must be executed in the above specific order. In fact, some of these steps can be executed concurrently or even in a different order as long as the required functions can be achieved.

[0082] The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.

[0083] Computer readable storage medium can be a tangible device that holds and stores instructions used by an instruction execution device. Computer readable storage medium can include, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a protruding structure in a groove on which instructions are stored, and any suitable combination thereof.

[0084] The embodiments of the present invention have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A method for constructing a business process model supporting IoT event stream integration, which constructs a business process model supporting IoT event stream integration based on BPMN2.0 specification, characterized in that: The method comprises: S1. Based on the BPMN2.0 specification, the IoT service task element is extended in the activity element to support event pattern definitions of different types of IoT event flows; wherein the extended IoT service task element includes at least two custom attributes: IoT service attribute and event pattern definition attribute, wherein: The IoT service attribute includes the source address information and detailed attribute information of the IoT event stream, and is configured as follows: IoTSource={SID, SName, Source, AttributeSet}, where IoTSource represents the IoT service attribute, SID represents the unique identifier of the IoT event stream corresponding to the IoT service, SName represents the name of the IoT event stream corresponding to the IoT service, Source includes the source address and subject information of the IoT event stream, and AttributeSet includes the name and data type of the data attribute in the IoT event stream; The event pattern definition attribute includes event pattern information based on user personalized definition of IoT service; S2. In response to business user needs, a business process model that supports IoT event flow integration is built based on the extended BPMN2.0 specification, and the model is saved to generate a bpmn20.xml file.

2. The method according to claim 1, characterized in that The step S2 comprises: S21. In response to business user needs, obtain an IoT data source, from which the business user selects the required IoT event stream and source address information of the event stream and detailed data attribute information; S22, defining a simple event pattern of the IoT event stream selected in step S21; S23, performing user-customized definition of complex event patterns based on the defined simple event patterns; S24. Generate a business process that supports IoT event flow integration based on the complex event pattern definition in step S23, and parse it. Parse the complex event pattern definition information customized by the user to generate an event pattern name that uniquely identifies the event pattern and an executable SQL string, which are stored in the event pattern definition attribute under the IoT service-type task element in the BPMN process file. Also, store the unique identifier, address and subject information of the IoT data source and the name and data type of the data attribute used in the IoT service attribute under the IoT service-type task element.

3. The method according to claim 2, characterized in that In step S22, the simple event pattern is defined in the following manner: event={name,attribute,conditions} Among them, event represents a simple event, name represents the name of the simple event definition, attribute represents the data attribute information of the IoT event stream selected by the user, and conditions represents the conditional constraints on the attribute, including conditional constraints related to process variables and conditional constraints related to constants.

4. The method according to claim 3, characterized in that In step S23, a complex event pattern is defined by combining simple event patterns, and the complex event pattern is defined as an individual pattern or a combined pattern, wherein: The individual modes include a simple event single execution mode or a simple event loop execution mode; The combination pattern is constructed by pattern matching the following operators: Pattern Quantifiers operator, used to indicate the number of occurrences that meet the definition of a simple event; Pattern Operators, which are used to define the sequence of simple events to be identified; The Pattern Timers operator is used to specify the maximum event span of a pattern sequence in a complex event pattern.

5. A method for deploying a business process model supporting IoT event stream integration, which is used to deploy a business process model supporting IoT event stream integration built based on BPMN2.0 specification in a BPM engine, characterized in that: The method comprises: P1. Obtain a business process model supporting IoT event stream integration constructed by using the method described in any one of claims 1 to 4; P2. Parse the business process model supporting IoT event stream integration to obtain a complex event detection calculation job file corresponding to the complex event pattern definition and a bpmn20.xml file that extends event receiving capabilities, so that the IoT service-type task element can be executed; P3. Deploy the complex event detection calculation job file corresponding to the complex event pattern definition on the CEP engine, and deploy the bpmn20.xml file that extends the event receiving capability on the BPM engine.

6. The method according to claim 5, characterized in that The step P2 comprises: P21. Parse the business process model supporting IoT event stream integration, obtain the event pattern name of the complex event pattern definition information and its corresponding executable SQL string from the event pattern definition attribute under the IoT service-type task element, and obtain the IoT data source address and subject information from the IoT service attribute under the IoT service-type task element; P22. According to the event pattern name, executable SQL string, IoT data source address and subject information obtained in step P21, code mapping and code composition are performed to finally form a corresponding complex event detection calculation job file that can be processed by the CEP engine; P23. Package, save and deploy the complex event detection computing job file generated in step P22.

7. The method according to claim 6, characterized in that The step P2 further comprises: P24. According to step P21, the event pattern name information of the complex event pattern is obtained, the output topic of the complex event detection result that the business user is interested in is determined, and the IoT service task is mapped into an executable process fragment; P25. Combine the executable process fragment in step P24 with the original BPMN process.

8. The method according to claim 7, characterized in that The executable process fragments include: A first service task node is used to determine the subject of the complex event detection calculation result according to the event pattern name information in the event pattern definition information, and subscribe to the result event of the complex event detection calculation of the CEP engine to the message middleware, wherein the CEP engine is an engine for executing the calculation job file of the complex event detection; The message event receiving node is used to receive the result event of the complex event detection calculation of the CEP engine from the message middleware; The second service task node is used to cancel the subscription to the result event of the complex event detection calculation of the CEP engine of the message middleware.

9. The method according to claim 8, characterized in that Combine the executable process fragment with the original BPM process in the following ways: Connect all the incoming lines from the predecessor nodes of the original IoT service task element to the current IoT service task element to the first service task node in the executable process segment; Connect the outgoing line of the second service task node in the executable process fragment to all the outgoing line nodes of the original IoT service task element; Delete the current IoT service task element and its associated outgoing and incoming lines.

10. A business process model construction and deployment system supporting IoT event stream integration, characterized in that: The system comprises: A business process modeling tool for business users to build a business process model integrating IoT events based on the method described in any one of claims 1 to 4; Parser, used to parse business processes, generate BPMN processes with extended event receiving capabilities and calculation job files for complex event detection of CEP engine according to process structure and complex event pattern definition; A deployer, for deploying a BPMN process on a BPM engine based on the method of any one of claims 6 to 9, and for deploying a computational job file for complex event detection on a CEP engine; BPM engine, used to process the flow of business process tasks in business processes; CEP engine, used to execute the computational job files for complex event detection generated by the parser; Message middleware, used for message communication between the BPM engine and the CEP engine.

11. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and the computer program can be executed by a processor to implement the steps of any method described in claims 1-4, 5-9.

12. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, enables the electronic device to implement the steps of the method as described in any one of claims 1-4, 5-9.

Citation Information

Patent Citations

  • Foam flotation modeling method and system based on complex event processing and Petri net

    CN110119583A

  • Workflow construction system and method for working platform

    CN110717656A