Internet of things technology-based service monitoring method and apparatus
By configuring multiple events on the IoT platform and utilizing the event triggering conditions and lifecycles, multi-dimensional monitoring and processing results of IoT data can be summarized and output. This solves the problems of insufficient real-time performance, high frequency, and complexity in existing solutions, and improves the flexibility and efficiency of business monitoring.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-18
- Publication Date
- 2026-07-02
AI Technical Summary
Existing IoT data statistical analysis solutions cannot simultaneously meet the requirements of real-time performance, high frequency, and complexity, and lack flexibility, making it difficult to meet the business monitoring needs of industrial production and daily life.
By configuring multiple events on the IoT platform, including a first event and at least one second event, and utilizing the event's triggering conditions, processing rules, and lifecycle, multi-dimensional monitoring of target businesses and the aggregation and output of multiple processing results can be achieved, supporting flexible business monitoring logic.
It enables multi-dimensional monitoring of business operations and the summary output of multiple processing results, improving the flexibility and efficiency of business monitoring and meeting the actual needs of users.
Smart Images

Figure CN2025143458_02072026_PF_FP_ABST
Abstract
Description
A method and apparatus for business monitoring based on Internet of Things (IoT) technology
[0001] This application claims priority to Chinese Patent Application No. 202411982743.3, filed on December 27, 2024, entitled "A Method and Apparatus for Business Monitoring Based on Internet of Things Technology", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of the Internet of Things (IoT), and more specifically, to a method and apparatus for business monitoring based on IoT technology. Background Technology
[0003] With the rapid development of digitalization, enterprises and organizations have an increasingly strong demand for the effective utilization and in-depth analysis of data, especially in fields such as industrial production and intelligent monitoring, where real-time statistical analysis of IoT data is crucial. Typically, real-time statistical analysis of IoT data not only possesses the characteristics of real-time performance and high frequency, but also involves complex statistical logic due to the wide range of business applications and high degree of specialization. Therefore, in actual industrial production, users often expect, in addition to meeting the basic requirements of real-time performance and high frequency, to also support complex statistical logic and be able to flexibly adjust according to business needs for effective business monitoring.
[0004] Current solutions either only implement simple statistical logic or, while others can implement more complex statistical logic, lack flexibility. It's clear that existing solutions cannot simultaneously meet all the above requirements. Therefore, a business monitoring method is needed that can satisfy user needs and provide better protection for industrial production and daily life. Summary of the Invention
[0005] This application proposes a business monitoring method based on Internet of Things (IoT) technology, which not only enables business monitoring from multiple dimensions, but also summarizes, reprocesses, and outputs the second processing results of multiple second events, thus meeting the monitoring needs of users in their actual business operations.
[0006] Firstly, a method for business monitoring is provided, which is applied to an Internet of Things (IoT) platform that runs on infrastructure connected to IoT devices via a network, and the IoT devices running user-defined business processes.
[0007] The method includes: acquiring configuration information of multiple events in a target service input by a user, wherein the multiple events include a first event and at least one second event, and the configuration information of the multiple events includes configuration information of the first event and configuration information of at least one second event, wherein the configuration information of the first event includes a first triggering condition, a calling rule, and a first processing rule, wherein the first triggering condition is used to indicate the condition for triggering the first event, the calling rule is used to indicate the second processing result of the target data in the second event, and the first processing rule is used to indicate the processing rule of the second processing result in the first event; the configuration information of the second event includes a second triggering condition and a second processing rule, wherein the second triggering condition is used to indicate the condition for triggering the second event, and the second processing rule is used to indicate the processing rule of the target data in the second event; receiving target data from an IoT device; and processing the target data according to the configuration information of the multiple events to obtain the monitoring result of the target service.
[0008] Based on the above technical solution, this application allows users to configure multiple events. That is, target services can be monitored based on multiple user-configured events, and the second processing results of each second event can be called within the first event for further statistical analysis and filtering before output, thus improving the flexibility of service monitoring. This not only enables monitoring of services from multiple dimensions but also allows for the aggregation, reprocessing, and output of the second processing results from multiple second events, meeting the monitoring needs of users in their actual business operations.
[0009] In conjunction with the first aspect, in one possible implementation, target data is processed based on the configuration information of multiple events to obtain monitoring results of the target service, including: triggering a first event when the target data meets a first triggering condition; if the target data meets at least one second triggering condition when the first event is triggered, triggering at least one second event corresponding to each of the at least one second triggering condition; processing the target data according to the second processing rules corresponding to each of the at least one second event to obtain the second processing results of the target data in each of the at least one second event; determining the first processing result of the at least one second processing result in the first event according to the first processing rule and the at least one second processing result; and obtaining the first output result of the first event according to the first processing result, wherein the first output result is the monitoring result of the target service.
[0010] Based on the above technical solution, in this application, each of the second events can only be triggered if the first event is triggered. It can be seen that each of the second events is nested in the first event. Therefore, it is more convenient and faster to call the second processing result, and the specific implementation is simpler.
[0011] In conjunction with the first aspect, in one possible implementation, the configuration information of the first event also includes the execution timing, which is used to indicate the execution timing of the first processing rule. The execution timing depends on the lifecycle of the second event, wherein the lifecycle of the second event is determined based on whether the target data meets the second triggering condition.
[0012] Based on the above technical solution, in this application, the execution conditions in the first event depend on the life cycle of the second event. The first event and the second event realize hierarchical statistical calculation. The life cycle of the second event is subscribed in the first event to run specific calculation logic, thereby improving the flexibility of the calculation.
[0013] In conjunction with the first aspect, in one possible implementation, the configuration information of the first event also includes execution conditions, which are used to determine whether at least one second processing result can execute the first processing rule.
[0014] In conjunction with the first aspect, in one possible implementation, determining the first processing result of at least one second processing result in the first event according to the first processing rule and at least one second processing result includes: when both the execution timing and execution conditions indicate that at least one second processing result can execute the first processing rule, determining the first processing result of at least one second processing result in the first event according to the first processing rule and at least one second processing result.
[0015] In conjunction with the first aspect, in one possible implementation, the configuration information of the second event also includes the identifiers of variables in the second event, which are used to indicate the processing result of the target data in the second event, wherein the calling rules include the identifiers of variables in the second event.
[0016] Based on the above technical solution, this application supports calling the second processing result of the second event in the first event. Each second event can independently calculate the second processing result. Calling the second processing result of the second event in the first event enables further processing of the second processing result, improving the efficiency and flexibility of business monitoring and making the monitoring logic simple and easy to expand.
[0017] In conjunction with the first aspect, in one possible implementation, the configuration information for the second event also includes the event identifier of the second event.
[0018] Based on the above technical solution, this application supports distinguishing different second events by calling the identifier of the first event in the first event.
[0019] In conjunction with the first aspect, in one possible implementation, the configuration information of the first event further includes a first output rule, which is used to indicate the output rule of the first processing result. Based on the first processing result, the first output result of the first event is obtained, including: obtaining the first output result based on the first processing result and the first output rule.
[0020] In conjunction with the first aspect, in one possible implementation, the configuration information of the second event further includes a second output rule, which is used to indicate the output rule of the second processing result. The method further includes: obtaining a second output result of at least one second event based on the second processing result of the target data in each of the at least one second event and at least one output rule. The second output result is a monitoring result of the target service.
[0021] Secondly, this application proposes an apparatus for performing the method described in the first aspect. Specifically, the apparatus may include units and / or modules for performing the method proposed in this application, such as a transceiver module and a processing module.
[0022] In one possible scenario, the device could be an Internet of Things (IoT) platform.
[0023] For example, the device may be a computing device, a server, a cluster of computing devices, a cluster of servers, or a device in a cloud management platform in a cloud service system.
[0024] For example, the device can be a virtual instance, such as a virtual machine, a container bare metal server, etc.
[0025] Thirdly, this application provides an apparatus comprising: at least one processor for executing a computer program or instructions stored in a memory to perform the method described in the first aspect. Optionally, the apparatus further comprises a memory for storing the computer program or instructions. Optionally, the apparatus further comprises a communication interface through which the processor reads the computer program or instructions stored in the memory.
[0026] In one possible scenario, the device could be an Internet of Things (IoT) platform.
[0027] In one implementation, the device is a means for implementing the functions of the above-described method in a chip.
[0028] In another implementation, the device is a chip, chip system, or circuit used to implement the functions of the above methods in a chip.
[0029] Fourthly, this application provides a processor, including: an input circuit, an output circuit, and a processing circuit. The processing circuit is used to receive signals through the input circuit and to transmit signals through the output circuit, causing the processor to execute the method described in the first aspect.
[0030] In specific implementation, the processor can be one or more chips, the input circuit can be input pins, the output circuit can be output pins, and the processing circuit can be transistors, gate circuits, flip-flops, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a transceiver, and the signal output by the output circuit can be, for example, but not limited to, output to and transmitted by a transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as both the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0031] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.
[0032] Fifthly, a processing apparatus is provided, including a processor and a memory. The processor is used to read instructions stored in the memory and to receive signals via a transceiver and transmit signals via a transmitter to execute the method described in the first aspect.
[0033] Optionally, the processor may be one or more, and the memory may be one or more.
[0034] Optionally, the memory may be integrated with the processor, or the memory may be separated from the processor.
[0035] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.
[0036] It should be understood that the relevant data interaction process, such as sending the first information, can be the process of the processor outputting the first information, and the receiving capability information can be the process of the processor receiving input capability information. Specifically, the data output by the processor can be sent to the transmitter, and the input data received by the processor can come from the transceiver. Here, the transmitter and the transceiver can be collectively referred to as the transceiver.
[0037] The processing device mentioned in the fifth aspect above can be one or more chips. The processor in the processing device can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. This memory can be integrated into the processor or located outside the processor and exist independently.
[0038] In a sixth aspect, a computing cluster is provided, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, such that the computing device cluster performs the method described in any possible implementation of the first aspect.
[0039] Optionally, the processor can be a general-purpose processor, which can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. This memory can be integrated into the processor or located outside the processor and exist independently.
[0040] In a seventh aspect, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including the method described in the first aspect.
[0041] Eighthly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method described in the first aspect.
[0042] A ninth aspect provides a chip system including a processor for calling and running a computer program from a memory, causing a device equipped with the chip system to perform the method of the first aspect described above. Attached Figure Description
[0043] Figure 1 is a schematic diagram of a system architecture applicable to an embodiment of this application.
[0044] Figure 2 is a schematic flowchart of a business monitoring method 200 provided in an embodiment of this application.
[0045] Figure 3 is a schematic block diagram of a business monitoring method provided in an embodiment of this application.
[0046] Figure 4 is another schematic flowchart of a business monitoring method provided in an embodiment of this application.
[0047] Figure 5 is a schematic diagram of configuration information for a first triggering condition provided in an embodiment of this application.
[0048] Figure 6 is a schematic diagram of configuration information for a second event provided in an embodiment of this application.
[0049] Figure 7 is a schematic diagram of configuration information for a first event provided in an embodiment of this application.
[0050] Figure 8 is a schematic diagram of a first output rule provided in an embodiment of this application.
[0051] Figure 9 is a schematic diagram of configuration information for multiple events provided in an embodiment of this application.
[0052] Figure 10 is another schematic block diagram of a business monitoring method provided in an embodiment of this application.
[0053] Figure 11 is a schematic block diagram of the apparatus 1200 provided in an embodiment of this application.
[0054] Figure 12 is a schematic block diagram of the device 1300 provided in an embodiment of this application.
[0055] Figure 13 is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application.
[0056] Figure 14 is a schematic diagram of the connection between computing devices 1400A and 1400B via a network according to an embodiment of this application. Detailed Implementation
[0057] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0058] To facilitate understanding of the technical solutions provided in the embodiments of this application, the technical terms involved in this application are briefly introduced below. It should be noted that the introduction of technical terms in this application is only for the purpose of helping to understand the technical solutions and should not be construed as limiting the application.
[0059] 1. Internet of Things (IoT) data
[0060] The Internet of Things (IoT) is a technological concept that can be understood as a system that connects objects or devices in the physical world through a network, enabling them to communicate and exchange data. The core of the IoT is connecting objects or devices to form a network. The IoT can sense changes and states in the physical world, such as temperature, humidity, and light intensity. IoT devices can exchange data; for example, sensors can send data to controllers, and controllers can send commands to actuators. The IoT can achieve intelligence through data analysis and intelligent algorithms, such as predictive maintenance and fault diagnosis. The applications of the IoT are very broad, including smart homes, industrial automation, healthcare, transportation systems, environmental monitoring, agricultural production, energy management, smart cities, and more.
[0061] "IoT data" can be understood as the data generated and collected in the IoT system, which may include: (1) Sensing data: data from devices such as sensors and cameras, such as temperature, humidity, light, sound, etc. (2) Device data: data on the status, behavior, and performance of devices, such as the on / off status, working status, and error logs of devices. (3) User data: data on user behavior, preferences, and needs, such as user location, search history, and user interface interaction records. (4) Environmental data: data in the environment, such as weather, meteorology, and natural disaster data. (5) IoT system data: data generated in the IoT system, such as communication data between devices, system status, and error logs. In general, the characteristics of IoT data include: (1) The amount of IoT data is huge, accompanied by the increase in the number of devices and the increase in the frequency of data collection. (2) IoT data comes from devices and sensors in various industries, and the data types are diverse, such as text data, image data, video data, and audio data. (3) IoT data needs to be processed and analyzed in real time to achieve real-time monitoring and decision-making. (4) IoT data is usually distributed on various devices and sensors and needs to be collected and processed through the network. By collecting, processing, and analyzing IoT data, we can achieve intelligence, real-time processing, and datafication, thereby driving innovation and improvement in products, services, and businesses.
[0062] For example, the IoT data carried in a single IoT message may include information such as the attribute name and corresponding value of the object instance, which can also be understood as "raw data".
[0063] 2. Physical Model
[0064] Generally speaking, an "object model" can be understood as a digital representation or virtual mapping of entities in the physical world (such as sensors, devices, machines, systems, or even places) in the digital world. It defines the attributes, functions, behaviors, and relationships of entity objects, providing a unified data model and interaction interface for Internet of Things (IoT) applications.
[0065] The "standard object model" can be arbitrarily combined to generate new models. For example, a camera and a light can be assembled together to form a light with a camera. The resulting complex object still inherits the model of the basic object, which can meet the needs of complex scenarios and maintain its standard model for interfacing with applications. Typically, under the standard object model, each device corresponds to a unified standard object model, which provides a consistent interface that can be directly applied to the application.
[0066] 3. Calculation Window
[0067] For example, computation windows can be used to define the conditions or configurations of data participating in computation within a data stream. Typical computation windows include condition windows and time windows. A "computation window" describes the conditions under which IoT data can open the window when it is not open, and the conditions under which IoT data can close the window when it is already open. A "condition window" describes a time interval in which the start time of the time interval is considered the window opening time, the end time of the time interval is considered the window closing time, and the time interval itself is considered the window closing time. It can be seen that the opening and closing of a "computation window" is essentially driven by "trigger conditions," which consist of a series of trigger conditions (e.g., opening conditions and closing conditions).
[0068] 4. Calculation Logic
[0069] For example, it can consist of one or more calculation statements. A calculation statement contains the execution condition or timing of the statement, as well as a specific general calculation formula that satisfies certain syntax. The calculation statement usually includes a name, which is used by other statements to call its calculation result.
[0070] For example, the various "processing rules" in the embodiments of this application can be understood as "computational logic".
[0071] 5. Output Logic
[0072] For example, "output logic" can be understood as post-processing of the process execution results to obtain the final output. By designing "output logic," the output results of the process can be better controlled and optimized, thereby achieving better data quality and user experience. For example, "output logic" can be designed to carry the output of calculation results.
[0073] For example, the various "output rules" in the embodiments of this application can be understood as "computation logic".
[0074] 6. Lifecycle
[0075] In this application embodiment, "lifecycle" can be understood as "the lifecycle of an event". Generally, the lifecycle of an event can be understood as the entire process of the event from beginning to end. For example, it can include all states and stages of the event, which describes the different states and stages that the event experiences throughout its entire lifecycle.
[0076] For example, the lifecycle of an event may include "the event begins execution", "the event executes to a certain stage (e.g., an intermediate stage)", "the event execution ends", and so on.
[0077] With the rapid development of digitalization, enterprises and organizations have an increasingly strong demand for the effective utilization and in-depth analysis of data, especially in fields such as industrial production and intelligent monitoring, where real-time statistical analysis of IoT data is crucial. Typically, real-time statistical analysis of IoT data not only possesses the characteristics of real-time performance and high frequency, but also involves complex statistical logic due to the wide range of business areas and high degree of specialization. Therefore, in actual industrial production, users often expect, in addition to meeting the basic requirements of real-time performance and high frequency, to also support complex statistical logic and be able to flexibly adjust according to business needs for business monitoring. Current solutions either only implement simple statistical logic or, while others can implement more complex statistical logic, lack flexibility. It is clear that existing solutions cannot simultaneously meet all the above requirements; therefore, a business monitoring method is needed that can meet user needs and provide better protection for industrial production and daily life.
[0078] In view of this, this application provides a business monitoring method that allows users to configure multiple events. That is, target data of a target business can be monitored based on multiple user-configured events. Furthermore, the processing results of each second event can be invoked within the first event for further statistical analysis and filtering before output, thus improving the flexibility of business monitoring. This not only enables monitoring of the business from multiple dimensions but also allows for the aggregation, reprocessing, and output of the second processing results of multiple second events, meeting the monitoring needs of users in their actual business operations.
[0079] Figure 1 is a schematic diagram of a system architecture applicable to an embodiment of this application. As shown in Figure 1, the system architecture may include an IoT device 110 and an IoT platform 130. Optionally, the system architecture may also include an edge access platform 120.
[0080] The IoT device 110 may include various sensor devices, such as temperature sensors, pressure sensors, humidity sensors, flow sensors, infrared sensors, cameras, etc. The IoT platform 130 may be deployed on infrastructure, which may be cloud infrastructure or infrastructure in a typical scenario. For example, "cloud infrastructure" may include multiple cloud data centers, each containing multiple servers; for example, each server may include cloud service resources to provide corresponding cloud services to users. It should be understood that, typically, "cloud infrastructure" may include providing users with server, storage, network, and virtualization capabilities. For example, in one possible implementation, the IoT device 110 may directly report IoT data to the IoT platform 130.
[0081] In another possible approach, the system architecture may also include an edge access platform 120. The edge access platform 120 can be understood as a bridge connecting the IoT devices 110 and the IoT platform 130. It provides a series of key functions at the edge, close to the data source, to address the challenges of directly connecting a massive number of IoT devices 110 to the IoT platform 130. For example, it reduces data transmission latency, improves data processing efficiency, and enhances system security and reliability. For instance, the edge access platform 120 can receive data from various IoT devices 110, perform preliminary processing and analysis, and then send the processed data or data requiring further analysis to the IoT platform 130. It can also receive instructions from the IoT platform 130 and issue them to the IoT devices 110. Typically, the edge access platform 120 provides device access, protocol parsing, and data processing functions.
[0082] Figure 2 is a schematic flowchart of a business monitoring method 200 provided in this application. For example, the method is applied to the Internet of Things (IoT) platform 130 shown in Figure 1. The IoT platform 130 runs on infrastructure, which is connected to IoT devices via a network. The IoT devices run user-defined business services. As shown in Figure 2, the method includes:
[0083] 201, retrieve configuration information for multiple events in the target business that the user inputs.
[0084] In this embodiment of the application, "target service" can be understood as the service that the user needs to monitor. For example, "target service" can be understood as the Internet of Things service that the user currently needs to monitor. For instance, the "target service" could be the service of monitoring the "temperature, flow rate, and pressure" of a certain device in a certain production process.
[0085] In this embodiment of the application, the multiple events include a first event and at least one second event. The configuration information for the multiple events may include configuration information for the first event and configuration information for at least one second event.
[0086] In this embodiment of the application, the configuration information of the first event includes a first triggering condition, a calling rule, and a first processing rule. The first triggering condition is used to indicate the condition for triggering the first event, the calling rule is used to indicate the second processing result of the target data of the target service in the second event, and the first processing rule is used to indicate the processing rule of the second processing result in the first event.
[0087] For example, the first trigger condition is used to indicate under what conditions the calculation window of the first event is opened. For example, the first trigger condition can also be used to indicate under what conditions the calculation window of the first event is closed. For example, the first trigger condition can also be used to indicate under what conditions one is within the calculation window of the first event. When the calculation window of the first event is open or one is within the calculation window of the first event, it can be understood that the first event has been triggered; when the calculation window of the first event is closed, it can be understood that the first event has exited, the first event has been completed, or the first event has not been triggered.
[0088] In this application embodiment, for example, the specific form of the first processing rule can be an expression, in which case "calling rule" can be understood as "calling expression"; another example is that the specific form of the first processing rule can be user-defined code or instructions, which describe a data processing rule, for example, the data processing rule can indicate the processing rule of the second processing result in the first event. Yet another example is that the specific form of the first processing rule can be a user-defined function, which describes a data processing rule, for example, the data processing rule can indicate the processing rule of the second processing result in the first event. Therefore, this application embodiment does not limit the specific implementation form of the first processing rule; any processing rule that can indicate the second processing result in the first event can be understood as the first processing rule of this application. The specific examples below mainly use expressions as examples to illustrate the processing rules in this application.
[0089] In this embodiment of the application, there may be one or more first processing rules. This application does not limit the number of first processing rules, and those skilled in the art can reasonably design the number of first processing rules according to the specific implementation of the scheme. For example, the number of first processing rules may be the same as the number of second events. For example, at least one first processing rule corresponds one-to-one with at least one second event. In this case, each first processing rule is used to indicate the processing rule of the second processing result of the target data in the corresponding second event in the first event. Alternatively, there may be only one first processing rule. In this case, at least one second processing result is processed using the first processing rule, and so on.
[0090] In some embodiments, the configuration information of the first event may further include the execution timing, which indicates when the first processing rule is executed. In this embodiment, the execution timing depends on the lifecycle of the second event. It can also be understood that the execution timing is related to the lifecycle of the second event. The execution timing of the first processing rule is affected by the lifecycle of the second event; that is, the execution status of the second event determines whether the first processing rule is triggered for execution.
[0091] For example, the execution timing is as follows: the first processing rule is triggered when the second event begins execution. For example, the execution timing is as follows: the first processing rule is triggered when the execution state of the second event changes (e.g., from the start state to the intermediate state, from the intermediate state to the end state, etc.). For example, the execution timing is as follows: the first processing rule is triggered when the second event completes execution. For example, the execution timing is as follows: the first processing rule is triggered when the second event reaches a specific stage or state. Specifically, the execution timing can be flexibly designed by the user based on actual business needs and the lifecycle of the second event; this application does not limit it.
[0092] In this embodiment of the application, there may be one or more execution opportunities. For example, when there are multiple first processing rules, each first processing rule may have its own corresponding execution opportunity. In this case, multiple execution opportunities correspond one-to-one with multiple first processing rules. Alternatively, when there are multiple first processing rules, there may be only one execution opportunity, which can be understood as the execution opportunities for multiple first processing rules being the same.
[0093] In some embodiments, the configuration information of the first event further includes execution conditions, which are used to determine whether the second processing result of the target data in at least one second event can execute the first processing rule.
[0094] In this embodiment of the application, there may be one or more execution conditions. For example, when there are multiple first processing rules, each first processing rule may have a corresponding execution condition. In this case, multiple execution conditions correspond one-to-one with multiple first processing rules. Alternatively, when there are multiple first processing rules, there may be only one execution condition, which can be understood as the execution conditions of multiple first processing rules being the same.
[0095] As an example, when there are multiple first processing rules, each first processing rule has its own execution timing and execution conditions. For instance, suppose there are three first processing rules, in which case each first processing rule can correspond to its own execution timing and execution conditions. For example, the configuration information of the first event includes: first processing rule #1, execution timing #1, and execution condition #1; first processing rule #2, execution timing #2, and execution condition #2; and first processing rule #3, execution timing #3, and execution condition #3.
[0096] Optionally, the configuration information for the first event may also include a first output rule, which is used to indicate the output rule of the first processing result. For example, the first output rule may include one or more. For example, if there are multiple first processing rules, each first processing rule may correspond to one first output rule; or multiple first processing rules may correspond to the same first output rule, and so on.
[0097] In this embodiment, the configuration information of the second event includes a second triggering condition and a second processing rule. The second triggering condition indicates the conditions for triggering the second event, and the second processing rule indicates the processing rules for the target data of the target service in the second event. For example, when there are multiple second events, each second event includes its own second triggering condition and second processing rule.
[0098] In this embodiment of the application, the specific form of the "second processing rule" can be understood with reference to the relevant description in the "first processing rule" above, and will not be repeated here.
[0099] For example, the second trigger condition is used to indicate under what conditions the calculation window of the second event is opened. For example, the second trigger condition can also be used to indicate under what conditions the calculation window of the second event is closed. For example, the second trigger condition can also be used to indicate under what conditions one is within the calculation window of the second event. When the calculation window of the second event is open or one is within the calculation window of the second event, it can be understood that the second event has been triggered; when the calculation window of the second event is closed, it can be understood that the second event has exited, the second event has completed execution, or the second event has not been triggered.
[0100] For example, there is a one-to-one correspondence between multiple first processing rules and multiple second processing rules.
[0101] In some embodiments, the configuration information for the second event further includes identifiers of variables in the second event, which are used to indicate the processing result of the target data in the second event. The calling rules included in the first processing rule can be understood as identifiers of variables in the second event.
[0102] In some embodiments, the configuration information for the second event may also include an identifier for the second event.
[0103] Optionally, the configuration information for the second event may also include a second output rule, which is used to indicate the output rule for the second processing result of the target data in the second event.
[0104] Optionally, the method 200 further includes: receiving a configuration request message from a user, the configuration request message carrying configuration information; and obtaining the configuration information based on the configuration request message. For example, the IoT platform can provide a configuration interface for the user, through which the user inputs configuration information. After the user completes the input, a configuration request message carrying the configuration information can be generated. Alternatively, it can be understood that the IoT platform obtains the configuration information through the configuration request message.
[0105] It should be noted that the "first event" can be referred to as the "parent (main) event," "parent (main) task," "parent (main) procedure," "parent (main) method," "parent (main) rule," "parent (main) function," etc. Similarly, the "second event" can be referred to as the "child (slave) event," "child (slave) task," "child (slave) procedure," "child (slave) method," "child (slave) rule," "child (slave) function," etc. This application does not limit the specific names of the first and second events.
[0106] 202, Receive target data from IoT devices.
[0107] In this application embodiment, the data corresponding to the "target service" is referred to as "target data".
[0108] For example, target data can be directly reported by IoT devices to the IoT platform; alternatively, target data can be first reported by IoT devices to an edge access platform, where the IoT data is processed and / or pre-processed before being reported to the IoT platform. For instance, IoT devices or edge access platforms can periodically report target data. It can be seen that the target data for the target business originates from IoT devices.
[0109] For example, suppose in a smart home IoT system, various IoT devices are installed in different locations in the home. For example, temperature / humidity sensors monitor indoor temperature and humidity, smoke sensors monitor for fire hazards, door and window sensors monitor the opening and closing status of doors and windows, and electricity meter sensors monitor household electricity consumption. These sensors collect relevant data in real time and report it to the IoT platform through an IoT gateway.
[0110] For example, suppose there's a need to monitor temperature, flow rate, and pressure in industrial production. For instance, in a chemical plant's reactor, it's necessary to monitor the reaction temperature, reactant flow rate, and reactor pressure in real time to ensure production safety and product quality. In this scenario, IoT technology can be used for data collection and reporting. Temperature sensors are installed on the reactor to collect reaction temperature data in real time. The sensors transmit the temperature data to the plant's central control system via wired or wireless networks. Flow meters are installed on the reactant pipelines to monitor the reactant flow rate in real time, and the flow meters transmit the data to the central control system via the network. Pressure sensors are installed on the reactor to monitor pressure changes in real time, and the pressure sensors transmit the data to the IoT platform via the network. The IoT platform receives data from each sensor in real time and analyzes and processes it.
[0111] Step 202 above can also be understood as receiving IoT data streams. Typically, IoT devices can report IoT data at high frequencies, thus forming IoT data streams.
[0112] 203. Process the target data based on the configuration information of multiple events to obtain the monitoring results of the target business.
[0113] In one possible implementation, in this embodiment of the application, when processing the target data, the target data can first be processed by the second processing rule to obtain the second processing result, and then the second processing result can be processed according to the first processing rule to obtain the first processing result, thereby obtaining the monitoring result of the target business.
[0114] Specifically, step 203 includes: triggering a first event when the target data meets the first triggering condition.
[0115] In this embodiment of the application, "triggering the first event" can be understood as entering the algorithm (or "program or instruction") corresponding to the first event. It can also be understood as the first triggering condition being the most basic condition; only when the first triggering condition is met can a certain first processing rule be executed subsequently.
[0116] Step 203 further includes: if the target data satisfies at least one second triggering condition when the first event is triggered, at least one second event corresponding to each of the at least one second triggering condition is triggered respectively.
[0117] In the embodiments of this application, "triggering at least one second event" can be understood as entering the algorithm (or "program code or instruction") corresponding to one or more second events, and at this time, the second processing rule of the second event will be executed on the target data.
[0118] Step 203 further includes: processing the target data according to the second processing rule corresponding to each of the at least one second event, to obtain the second processing result of the target data corresponding to each of the at least one second event.
[0119] For example, suppose a second event #A includes a second processing rule #A. In this case, the target data can be processed based on the second processing rule #A to obtain the processing result of the target data in the second event #A. As another example, suppose a second event #B includes a second processing rule #B. In this case, the target data can be processed based on the second processing rule #B to obtain the processing result of the target data in the second event #B.
[0120] Step 203 further includes: determining at least one second processing result as the first processing result of the first event based on the first processing rule and at least one second processing result.
[0121] In some embodiments of this application, when both the execution timing and execution conditions indicate that at least one second processing result can execute the first processing rule, the first processing result of at least one second processing result in the first event is determined according to the first processing rule and at least one second processing result.
[0122] Step 203 further includes: obtaining a first output result of the first event based on the first processing result, wherein the first output result is a monitoring result of the target service.
[0123] Based on the above technical solution, in this application, each of the second events can only be triggered if the first event is triggered. It can be seen that each of the second events is nested in the first event. Therefore, it is more convenient and faster to call the second processing result, and the specific implementation is simpler.
[0124] In one possible implementation, the method 200 further includes: obtaining a first output result based on a first processing result and a first output rule; and / or, the method 200 further includes: obtaining a second output result for at least one second event based on a second processing result for each of at least one second event of the target data and at least one second output rule. In this embodiment, the second output result is also a monitoring result of the target service. It can also be understood that in this embodiment, the configuration information may pre-configure the first output rule for the first event and / or the second output rule for the second event, in which case the corresponding output can be performed according to the user-configured output rules.
[0125] In conjunction with the above method 200, Figure 3 shows another schematic block diagram of the business monitoring method. As shown in Figure 3, the IoT device 110 or the edge access platform 120 can continuously report target data of the target business to the IoT platform 130. The IoT platform 130 can obtain configuration information, which includes configuration information for multiple events, including a first event and at least one second event. For example, as shown in Figure 3, the configuration information for the first event includes a first triggering condition and a first processing rule, wherein the first processing rule includes at least one first processing rule, such as first processing rule #1 and first processing rule #2; and includes execution timing #1, execution timing #2, and execution conditions #1, execution conditions #2, etc. Optionally, the configuration information for the first event also includes a first output rule. As shown in Figure 3, there can be N (N is an integer greater than or equal to 1) second events, and the configuration information for each second event includes a second triggering condition and a second processing rule. Optionally, the configuration information for the second event also includes a second output rule.
[0126] In this embodiment of the application, each second event can be calculated independently of the others, and the first event can call the second processing result of each second event.
[0127] In this embodiment, the identifier of a variable in the second event can be called within the first event. For example, when the first processing rule is expressed as an expression, it supports calling the second processing result of the second event within the first expression (an example of the first processing rule) of the first event. Alternatively, it can be understood that the first and second events share a certain temporary storage logic, with the second event indirectly passing intermediate results to the first event. For example, the processing result of the second event can be called in the following form: $subevent.vars.xxx (an example of "calling an expression") or @subevent.vars.xxx (another example of "calling an expression"). It can also be understood that the target data can be called in the second processing result of the second event using the symbols "$" or "@".
[0128] For example, the symbols "$" or "@" can also be used to call the name of the second event ("name" can also be understood as "identifier"). For example, $subevent, $subevent.name, @subevent, @subevent.name, and so on.
[0129] For example, the first processing rule could be in the form of an expression: "expression":"max(maxTemp,@subevent.vars.maxTemp)". In this expression, @subevent.vars.maxTemp can be understood as the calling rule, @subevent.vars.maxTemp stores the second processing result, and max(maxTemp,@subevent.vars.maxTemp) can be understood as indicating how to process the second processing result called in the calling rule (i.e., @subevent.vars.maxTemp). For example, this expression indicates that the first processing rule is: take the largest value between maxTemp and @subevent.vars.maxTemp. That is, the processing rule for the second processing result is to compare the second processing result with the value stored in maxTemp to find the maximum value between the two. For example, maxTemp might be a default value or the maximum value obtained from the last comparison.
[0130] For example, the lifecycle of a second event can be subscribed to in the first event. That is, whether the first processing rule is executed in the first event can be determined by the execution timing, and the execution timing depends on the lifecycle of the second event. In this embodiment, the lifecycle of the second event is determined based on whether the target data meets the second triggering condition. For example, when the target data meets the second triggering condition, it means the start of the lifecycle of the second event; when the target data does not meet the second triggering condition, it means the end of the lifecycle of the second event. The entire lifecycle of the second event is constituted from the start of the second event to the end of the second event.
[0131] For example, the execution timing could be triggered when the second event finishes executing, i.e., `triggers:["sub_end"]`. Alternatively, the execution timing could be triggered when the second event begins executing, i.e., `triggers:["sub_start"]`, and so on.
[0132] In this embodiment of the application, the event identifier of the second event can be called in the first event. For example, whether to trigger the execution of the first processing rule can be determined by judging the event identifier of the current end of the second event. For example, the judgment can be made by the following statements: "condition":"$subevent.name=='sub1'"; "condition":"$subevent.name=='sub2'".
[0133] It should be noted that, in this embodiment of the application, for example, in the IoT platform 130, a configuration module, a calculation module, and an output module may be included. The configuration module is used to acquire configuration information, the calculation module is used to determine a first processing result of a first event and / or a second processing result of a second event, and the output module is used to output a first output result and / or a second output result. For example, when the configuration module and the calculation module are separate, the configuration information of the target service can be synchronized from the configuration module to the calculation module in some way; if the two are not separated, no additional synchronization process is required.
[0134] Figure 4 is another schematic flowchart of a business monitoring method provided in this application. As an example, as shown in Figure 4, when target data is received, the first triggering condition of the first event can be matched first. The matching results are as follows: (1) triggering the opening of the first calculation window; (2) triggering the closing of the first calculation window; (3) within the first calculation window. Then, when the matching result is triggering the opening of the first calculation window or triggering the opening of the first calculation window, each second event is executed in sequence. For example, when executing each second event, it can be determined whether there is an unexecuted second event. When it is determined that there is still an unexecuted second event, a second event can be selected from the unexecuted second events for execution. For example, the second triggering condition of the second event can be matched (the matching results are as follows: (1) triggering the opening of the second calculation window; (2) triggering the closing of the second calculation window; (3) within the second calculation window). When the calculation window of the second event is open or within the calculation window of the second event, the second processing rule of the second event can be executed. When it is determined that all the second events have been executed, the first processing rule of the first event can be executed, and the output result of the first event can be determined according to the first output rule of the first event.
[0135] The technical solution provided in this application will be described in detail below with reference to Figures 5 to 10, using a specific embodiment.
[0136] Suppose that in a certain production process, the temperature during the production process is 100℃~300℃, and the sensor continuously reports the temperature, flow rate and pressure of the production equipment. It is necessary to count the number of alarms generated, as well as the highest temperature, maximum flow rate and maximum pressure at the time of the alarm.
[0137] Step 1: Create a physical model.
[0138] For example, the object model includes three main parameters: "temp", "vol", and "p", representing temperature, flow rate, and pressure, respectively. In this embodiment, it is assumed that the target data in the reported IoT data stream is retrieved using "@temp", "@vol", and "@p".
[0139] Step 2: Configure the target service's configuration information.
[0140] For example, the first triggering condition of the configured first event is as follows: when the temperature exceeds 300°C, the first calculation window is opened; when the temperature is below 100°C after the first calculation window is opened, the first calculation window is closed; when the temperature is not below 100°C after the first calculation window is opened, the first calculation window is as shown in Figure 5.
[0141] For example, the configuration information for the second event is configured. In this embodiment, there are three second events. For the second event #1 "sub1-Temperature Alarm", the second trigger condition #1 is defined as follows: when the temperature exceeds 500℃, the second calculation window #1 opens; when the temperature is not higher than 500℃ after the second calculation window #1 opens, the second calculation window #1 closes; when the temperature is higher than 500℃ after the second calculation window #1 opens, the temperature is within the second calculation window #1. The second processing rule #1 is: define the variable maxTemp, which takes the maximum temperature value within the second calculation window #1.
[0142] For the second event #2 "sub2-Traffic Alarm", the second trigger condition #2 is defined as: when the traffic is less than 50m. 3 When / h, the second calculation window #2 opens; when the second trigger condition #2 is opened, the flow rate is no higher than 50m. 3 When the flow rate is / h, the second calculation window #2 is closed; when the second calculation window #2 is opened, the flow rate is higher than 50m. 3 When / h, it is within the second calculation window #2. The second processing rule #2 is: define the maxVol variable and take the maximum flow rate value within the second calculation window #2.
[0143] For the second event #3 "sub3-Pressure Alarm", the second triggering condition #3 is defined as follows: when the pressure is less than 100 Pa, the second calculation window #3 opens; when the pressure is not higher than 100 Pa after the second calculation window #3 opens, the second calculation window #3 closes; when the pressure is higher than 100 Pa after the second calculation window #3 opens, the second processing rule #3 is as follows: define a variable maxP, and take the maximum pressure value within the second calculation window #3, as shown in Figure 6.
[0144] For example, as shown in Figure 7, the first processing rule for the first event is configured. This first processing rule includes three first processing rules: first processing rule #1, i.e., "expression":"max(maxTemp,@subevent.vars.maxTemp)", first processing rule #2, i.e., "expression":"max(maxVol,@subevent.vars.maxVol)", and first processing rule #3, i.e., "expression":"max(maxVol,@subevent.vars.maxP)". It can be seen that in these three processing rules, the variables in each second event are called through @subevent.vars.maxTemp, @subevent.vars.maxVol, and @subevent.vars.maxP respectively. That is, the second processing result of the target data in the second event can also be understood as calling the rules.
[0145] As can be seen, the configuration information for the first event includes three first processing rules, three execution times, and three execution conditions. For example, the first processing rule #1, namely: "expression":"max(maxTemp,@subevent.vars.maxTemp)", includes the calling rule @subevent.vars.maxTemp. First processing rule #1 describes finding the largest value among the values stored in maxTemp and @subevent.vars.maxTemp respectively.
[0146] Furthermore, it can be observed that the lifecycle of each second event is subscribed to via "triggers":["sub_end"] (an example of execution timing). This means that the execution of the first processing rule can be triggered when a second event completes. Each calling rule uses @subevent to call the name of each second event. It can also be seen that the configuration information for the first event includes a "condition" (an example of execution conditions). This means that the corresponding processing rule can only be executed if the "condition" is met when each second event completes. For example, for the first processing rule #1 "expression":"max(maxTemp,@subevent.vars.maxTemp)", this processing rule can only be executed after the second event #1, i.e., 'sub1-temperature alarm', has completed. Even if other second events have completed, this processing rule cannot be executed. For example, even if the second events #2 and #3 have completed, this processing rule cannot be executed. Similarly, for the first processing rule #2 "expression":"max(maxVol,@subevent.vars.maxVol)", this rule can only be executed after the second event #2, i.e., 'sub2-flow alarm', has been completed. Even if other second events have been completed, this rule cannot be executed. For example, even if the second events #1 and #3 have been completed, this rule cannot be executed. The same applies to the third processing rule #3 "expression":"max(maxP,@subevent.vars.maxP)". This rule can only be executed after the second event #3, i.e., 'sub3-pressure alarm', has been completed. Even if other second events have been completed, this rule cannot be executed. For example, even if the second events #1 and #2 have been completed, this rule cannot be executed.
[0147] For example, as shown in Figure 8, a first output rule for the first event can be configured. For instance, the first output rule contains four outputs. The alarm count (alarmCount), maximum temperature (maxTemp), maximum flow rate (maxVol), and maximum pressure (maxP) obtained from the first processing rule are mapped to database fields and stored as a data record in the database table.
[0148] Step 3: Process the target data of the target business according to the configuration information of multiple events to obtain the output result of the first event.
[0149] For example, as shown in Table 1, suppose the target data of the target business is reported five times. The target data reported for the first time is: "temp":"100", "vol":"50", "p":"100". Since the first triggering condition of the first event is not met, the first event will not be triggered. Since the first event is not triggered, the various second events will also not be triggered.
[0150] The target data reported for the second time is: "temp":"350", "vol":"40", "p":"30". Since it meets the first trigger condition of the first event (i.e., the opening condition of the first calculation window of the first event), the first event is triggered. It can also be found that the target data also meets the second trigger condition #2 of the second event #2 (i.e., the opening condition of the second calculation window #2 of the second event #2), so the second event #2 is triggered. At this time, the target data is processed in the second event #2 to obtain maxVol = 40. Moreover, the target data also meets the second trigger condition #3 of the second event #3 (i.e., the opening condition of the second calculation window #3 of the second event #3), so the second event #3 is triggered. At this time, the target data is processed in the second event #3 to obtain maxP = 30. Since the target data does not meet the second trigger condition #1 of the second event #1 (i.e., the opening condition of the first calculation window of the first event), the second event #1 is not triggered.
[0151] The target data reported for the third time is: "temp":"550", "vol":"45", "p":"35". It can be seen that the target data still meets the first triggering condition (i.e., the target data is within the first calculation window of the first event), and the target data also meets the second triggering condition #1 of the second event #1 (i.e., the opening condition of the second calculation window #1 of the second event #1). Therefore, the second event #1 is triggered. At this time, the target data is processed in the second event #1 to obtain maxTemp = 550; and the target data meets the second triggering condition #2 (i.e., the target data is within the second calculation window #2 of the second event #2). The target data is processed in the second event #2 to obtain maxVol = 45; the target data also meets the second triggering condition #3 (i.e., the target data is within the second calculation window #3 of the second event #3). The target data is processed in the second event #3 to obtain maxP = 35.
[0152] The target data reported for the fourth time is: "temp":"500", "vol":"50", "p":"100". It can be observed that this target data still satisfies the first trigger condition (i.e., the target data is within the first calculation window of the first event), but it does not satisfy the second trigger condition #1 (i.e., the second calculation window #1 of the second event #1 is closed). Therefore, the second event #1 is completed. It also does not satisfy the second trigger condition #2 (i.e., the second calculation window #2 of the second event #2 is closed), so the second event #2 is completed. Furthermore, it does not satisfy the second trigger condition #3 (i.e., the second calculation window #3 of the second event #3 is closed), so the second event #3 is completed. Since the second events are completed, the first processing rule of the first event can be executed, resulting in the first processing result of the first event: alarmCount = 3, maxTemp = 550, maxVol = 45, maxP = 35.
[0153] The target data reported for the fifth time is: "temp":"50", "vol":"50", "p":"100". It can be seen that the target data does not meet the first trigger condition. Therefore, the first calculation window of the first event is closed, and the first event is completed. At this time, the output can be performed based on the configuration information and the first output rule of the first event. The first output result of the first event is: AlarmCount=3, MaxTemp=550, MaxVol=45, MaxP=35.
[0154] Table 1
[0155] Figure 9 is an example of the configuration information for multiple events shown in this embodiment, and Figure 10 is a schematic block diagram of the method execution process of the above embodiment. As shown in Figure 10, the IoT device 110 or the edge access platform 120 can report the target data of the target service to the IoT platform 130. Each second event can be calculated independently, and the first event can call the second processing result of each second event and output the monitoring result of the target service.
[0156] Based on the above technical solution, this application supports calling the second processing result of a second event within a first event. Each second event can independently calculate its second processing result. Calling the second processing result of a second event within a first event enables further processing of the second processing result, improving the efficiency and flexibility of business monitoring and making the monitoring logic simple and easily extensible. Furthermore, the execution conditions in the first event depend on the lifecycle of the second event. The first and second events implement hierarchical statistical calculations. Subscribing to the lifecycle of the second event within the first event allows for the execution of specific calculation logic, thereby improving computational flexibility. Further, this application supports distinguishing different second events by calling the identifier of the first event within the first event.
[0157] The IoT platform in this application can be understood as both virtual and physical devices. For example, the IoT platform proposed in this application can be applied to computing devices and servers, as well as to components of devices such as chips or circuits. Furthermore, the IoT platform in this application can also be understood as an instance or virtual instance (e.g., a virtual machine, a container, a bare-metal server, etc.).
[0158] It is understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0159] It should also be understood that the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects, and are not used to limit the size, content, order, timing, priority or importance of multiple objects.
[0160] It should also be understood that, in this application, "at least one" means one or more, and "more than one" means two or more. "At least one item" or similar expressions mean one or more items, that is, any combination of these items, including any combination of single items or multiple items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c.
[0161] It should also be understood that, in the various embodiments of this application, determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.
[0162] Those skilled in the art will recognize that, based on the units and algorithm steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0163] This application embodiment can divide the computing device into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the division of functional modules according to each function as an example.
[0164] Figure 11 is a schematic block diagram of the device 1200 provided in an embodiment of this application. As shown in the figure, the device 1200 may include: a transceiver module 1210, a processing module 1220, and an acquisition module 1230.
[0165] In one possible solution, device 1200 can be understood as the Internet of Things (IoT) platform in the embodiments of this application. In this case, device 1200 can be used to implement the functions of the IoT platform in the aforementioned embodiments, or to execute the steps corresponding to the IoT platform in method 200.
[0166] It should also be understood that the device 1200 here is embodied in the form of a functional unit. The term "unit" here may refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors) and memories for executing one or more software or firmware programs, combined logic circuits, and / or other suitable components that support the described functions.
[0167] The apparatus 1200 of each of the above-described schemes has the function of implementing the corresponding steps of the method 200 described above. The function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, a processing module can be replaced by a processor to execute the transmit / receive operations and related processing operations in each method embodiment. Furthermore, the processing module can also be a processing circuit.
[0168] It should be noted that the device in Figure 11 can be the IoT platform in the aforementioned method embodiments, or it can be a chip or chip system corresponding to the IoT platform, such as a system-on-a-chip (SoC). The processing module is the processor, microprocessor, or integrated circuit integrated on the chip. No limitation is made here.
[0169] Figure 12 is a schematic block diagram of another device 1300 provided in an embodiment of this application. As shown, the device 1300 includes at least one processor 1320. The processor 1320 is coupled to a memory and is used to execute instructions stored in the memory to transmit and / or receive signals. Optionally, the device 1300 also includes a memory 1330 for storing instructions. Optionally, the device 1300 also includes a transceiver 1310, and the processor 1320 controls the transceiver 1310 to transmit and / or receive signals.
[0170] It should be understood that the processor 1320 and memory 1330 described above can be combined into a single processing device, with the processor 1320 executing the program code stored in the memory 1330 to achieve the aforementioned functions. In specific implementations, the memory 1330 can be integrated into the processor 1320 or independent of the processor 1320.
[0171] It should also be understood that transceiver 1310 may include a transceiver (or receiver) and a transmitter (or transmitter). The transceiver may further include an antenna, and the number of antennas may be one or more. Transceiver 1310 may have a communication interface or interface circuitry.
[0172] Bus 1340 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 12, but this does not imply that there is only one bus or one type of bus. Bus 1340 can include pathways for transmitting information between various components of device 1300 (e.g., memory 1330, processor 1320, transceiver 1310).
[0173] The memory 1330 stores executable program code, and the processor 1320 executes this executable program code to implement the functions of the aforementioned transceiver module, processing module, and acquisition module, thereby implementing the methods in the embodiments of this application. That is, the memory 1330 stores instructions for executing the above methods. For example, the processor 1320 executes the computer program or instructions stored in the memory 1330 to implement the functions or steps corresponding to the IoT platform in the various embodiments above.
[0174] Figure 13 is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application. The computing device cluster includes at least one computing device. This computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a desktop computer, a laptop computer, or a smartphone, or other terminal device. As shown in Figure 13, the computing device cluster includes at least one computing device 1400. The memory 1430 in one or more computing devices 1400 in the computing device cluster can store the same instructions for performing the actions executed in the above embodiment 200.
[0175] In some possible implementations, the memory 1430 of one or more computing devices 1400 in the computing device cluster may also store partial instructions for performing the actions executed in the method 200 described in the above embodiments. In other words, a combination of one or more computing devices 1400 can jointly execute instructions for performing the actions executed by the method 200 described in the above embodiments.
[0176] For example, in one possible approach, one or more computing devices 1400 may be used to implement the functions of the IoT platform in the foregoing embodiments, or to perform the steps in method 200 corresponding to the IoT platform.
[0177] It should be noted that the memory 1430 in different computing devices 1400 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the computing device 1400. That is, the instructions stored in the memory 1430 of different computing devices 1400 can implement the functions of one or more of the aforementioned transceiver module and processing module.
[0178] Alternatively, the memory 1430 in different computing devices 1400 within the computing device cluster can store different instructions, each used to execute a portion of the functions corresponding to the aforementioned devices 1200-1300. That is, the instructions stored in the memory 1430 of different computing devices 1400 can implement the functions of one or more modules, such as the transceiver module and the processing module.
[0179] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 14 illustrates one possible implementation, where two computing devices 1400A and 1400B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device.
[0180] It should be understood that the functions of computing device 1400A shown in Figure 14 can also be performed by multiple computing devices 1400. Similarly, the functions of computing device 1400B can also be performed by multiple computing devices 1400.
[0181] The connection method between the computing device clusters shown in Figure 14 can be based on the fact that the method provided in this application needs to receive and process target data. Therefore, it is considered that the functions implemented by the processing module are executed by the computing device 1400B, and the functions implemented by the receiving module and the acquisition module are executed by the computing device 1400A.
[0182] In this embodiment, a computer program product containing instructions is also provided. The computer program product may be a software or program product containing instructions capable of running on a computing device cluster or stored on any available medium. When run by the computing device cluster, it causes the computing device cluster to perform the methods provided above, or causes the computing device cluster to implement the functions of the apparatus provided above.
[0183] In this embodiment, a computer-readable storage medium is also provided. This computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method described above.
[0184] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0185] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0186] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0187] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0188] In addition, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0189] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0190] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for business monitoring, characterized in that, The method is applied to an Internet of Things (IoT) platform, which runs on infrastructure. The infrastructure and IoT devices are connected via a network, and the IoT devices run user-defined services. The method includes: The configuration information of multiple events in the target service input by the user is obtained. The multiple events include a first event and at least one second event. The configuration information of the multiple events includes the configuration information of the first event and the configuration information of the at least one second event. The configuration information of the first event includes a first triggering condition, a calling rule, and a first processing rule. The first triggering condition is used to indicate the condition for triggering the first event. The calling rule is used to indicate the second processing result of the target data in the second event. The first processing rule is used to indicate the processing rule of the second processing result in the first event. The configuration information of the second event includes a second triggering condition and a second processing rule. The second triggering condition is used to indicate the condition for triggering the second event. The second processing rule is used to indicate the processing rule of the target data in the second event. Receive the target data from the IoT device; The target data is processed based on the configuration information of the multiple events to obtain the monitoring results of the target service.
2. The method according to claim 1, characterized in that, The step of processing the target data based on the configuration information of the multiple events to obtain the monitoring results of the target service includes: The first event is triggered when the target data meets the first triggering condition; When the first event is triggered, if the target data satisfies at least one second triggering condition, the at least one second event corresponding to each of the at least one second triggering condition is triggered respectively; The target data is processed according to the second processing rule corresponding to each of the at least one second event to obtain the second processing result of the target data in each of the at least one second event; Based on the first processing rule and at least one second processing result, determine the first processing result of the at least one second processing result in the first event; Based on the first processing result, a first output result of the first event is obtained, wherein the first output result is a monitoring result of the target service.
3. The method according to claim 1 or 2, characterized in that, The configuration information for the first event also includes the execution timing, which is used to indicate the execution timing of the first processing rule. The execution timing depends on the lifecycle of the second event, wherein the lifecycle of the second event is determined based on whether the target data meets the second triggering condition.
4. The method according to any one of claims 1 to 3, characterized in that, The configuration information for the first event also includes execution conditions, which are used to determine whether the at least one second processing result can execute the first processing rule.
5. The method according to claim 4, characterized in that, The step of determining the first processing result of the at least one second processing result in the first event based on the first processing rule and at least one second processing result includes: When both the execution timing and the execution conditions indicate that the at least one second processing result can execute the first processing rule, the first processing result of the at least one second processing result in the first event is determined according to the first processing rule and the at least one second processing result.
6. The method according to any one of claims 1 to 5, characterized in that, The configuration information for the first event also includes a first output rule, which indicates the output rule for the first processing result. The step of obtaining the first output result of the first event based on the first processing result includes: Based on the first processing result and the first output rule, the first output result is obtained.
7. The method according to any one of claims 1 to 6, characterized in that, The configuration information for the second event also includes a second output rule, which indicates the output rule for the second processing result. The method further includes: Based on the target data, the second processing result of each of the at least one second event and at least one output rule are used to obtain the second output result of the at least one second event, and the second output result is the monitoring result of the target service.
8. A device for business monitoring, characterized in that, This is applied to an IoT platform, which runs on infrastructure. The infrastructure and IoT devices are connected via a network. The IoT devices run user-defined services, including: an acquisition module, a transceiver module, and a processing module. The acquisition module is used to acquire configuration information of multiple events in the target service input by the user. The multiple events include a first event and at least one second event. The configuration information of the multiple events includes configuration information of the first event and configuration information of the at least one second event. The configuration information of the first event includes a first triggering condition, a calling rule, and a first processing rule. The first triggering condition is used to indicate the condition for triggering the first event. The calling rule is used to indicate the second processing result of the target data in the second event. The first processing rule is used to indicate the processing rule of the second processing result in the first event. The configuration information of the second event includes a second triggering condition and a second processing rule. The second triggering condition is used to indicate the condition for triggering the second event. The second processing rule is used to indicate the processing rule of the target data in the second event. The transceiver module is used to receive the target data from the IoT device; The processing module is used to process the target data according to the configuration information of the multiple events to obtain the monitoring results of the target service.
9. The apparatus according to claim 8, characterized in that, The processing module is used to process the target data according to the configuration information of the multiple events to obtain the monitoring results of the target service, including: When the target data meets the first triggering condition, the processing unit is used to trigger the first event; When the first event is triggered, if the target data satisfies at least one second triggering condition, the processing module is used to trigger the at least one second event corresponding to each of the at least one second triggering condition; The processing module is used to process the target data according to the second processing rules corresponding to each of the at least one second event, and obtain the second processing result of the target data in each of the at least one second event; The processing module is used to determine, based on the first processing rule and at least one second processing result, the first processing result in the first event; The processing module is used to obtain a first output result of the first event based on the first processing result, wherein the first output result is a monitoring result of the target service.
10. The apparatus according to claim 8 or 9, characterized in that, The configuration information for the first event also includes the execution timing, which is used to indicate the execution timing of the first processing rule. The execution timing depends on the lifecycle of the second event, wherein the lifecycle of the second event is determined based on whether the target data meets the second triggering condition.
11. The apparatus according to any one of claims 8 to 10, characterized in that, The configuration information for the first event also includes execution conditions, which are used to determine whether the at least one second processing result can execute the first processing rule.
12. The apparatus according to claim 11, characterized in that, The processing module is configured to determine, based on the first processing rule and at least one second processing result, the first processing result in the first event, including: When both the execution timing and the execution conditions indicate that the at least one second processing result can execute the first processing rule, the processing module is configured to determine, based on the first processing rule and the at least one second processing result, the first processing result in the first event.
13. The apparatus according to any one of claims 8 to 12, characterized in that, The configuration information for the first event also includes a first output rule, which indicates the output rule for the first processing result. The processing module is used to obtain a first output result of the first event based on the first processing result, including: The processing module is used to obtain the first output result based on the first processing result and the first output rule.
14. The apparatus according to any one of claims 8 to 13, characterized in that, The configuration information for the first event also includes a first output rule, which indicates the output rule for the first processing result. The processing module is used to obtain a first output result of the first event based on the first processing result, including: The processing module is used to obtain the first output result based on the first processing result and the first output rule.
15. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute a computer program or instructions stored in the memory of the at least one computing device, so that the cluster of computing devices performs the method as described in any one of claims 1 to 7.
16. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster performs the method as described in any one of claims 1 to 7.
17. A computer-readable storage medium, characterized in that, Includes a computer program or instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1 to 7.