WO2022104611A1 - 数据分发系统及数据分发方法 - Google Patents
数据分发系统及数据分发方法 Download PDFInfo
- Publication number
- WO2022104611A1 WO2022104611A1 PCT/CN2020/129891 CN2020129891W WO2022104611A1 WO 2022104611 A1 WO2022104611 A1 WO 2022104611A1 CN 2020129891 W CN2020129891 W CN 2020129891W WO 2022104611 A1 WO2022104611 A1 WO 2022104611A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- preset
- product model
- module
- plug
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 179
- 238000009826 distribution Methods 0.000 title claims abstract description 111
- 230000008569 process Effects 0.000 claims description 139
- 238000004422 calculation algorithm Methods 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 52
- 238000003860 storage Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 22
- 230000001960 triggered effect Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000013515 script Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 28
- 230000000694 effects Effects 0.000 description 17
- 238000001914 filtration Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Definitions
- the present disclosure relates to the technical field of data processing networks, and in particular, to a data distribution system and a data distribution method.
- IoT Internet of Things
- IoT platforms usually transmit data to different users in real time, but there is a problem that some users cannot directly use the above data.
- the present disclosure provides a data distribution system and a data distribution method to solve the deficiencies of the related art.
- a data distribution system including a channel configuration module, a data engine module, a data processing module, a rule engine module, a preset database, and an external interface module;
- the channel configuration module is connected with external devices, and is used to convert the acquired device data of each external device into preset product model data and store them in the message queue;
- the data engine module is connected to the channel configuration module, and is used for distributing the preset product model data obtained from the message queue to the preset database or the data engine module, or generating a control instruction and sending it to the a data processing module, the rule engine module;
- the data processing module is configured to select a preset offline algorithm or a real-time algorithm to process the preset product model data in response to the control instruction, and push or store the processing result in real time;
- the rule engine module is used to determine whether the node corresponding to the preset product model data needs to be triggered in response to the control instruction; when triggering is required, the trigger information of the preset type is sent to the node; The preset product model data is sent to an external device;
- the external interface module is configured to feed back the preset product model data from the preset database in response to a call request from an external business system.
- a data distribution system including a channel configuration module and a data engine module; wherein,
- the channel configuration module is connected with external devices, and is used to convert the acquired device data of each external device into preset product model data and store them in the message queue;
- the data engine module is connected with the channel configuration module, and is used for distributing the preset product model data obtained from the message queue.
- the preset product model data includes three types of device data: state parameters, function parameters and trigger parameters.
- it also includes a data processing module; the data processing module is connected with the data engine module;
- the data engine module is further configured to generate a control instruction according to the initial configuration data and send it to the data processing module;
- the data processing module is configured to select a preset offline algorithm or a real-time algorithm to process the preset product model data in response to the control instruction, and push or store the processing result in real time.
- it also includes a rule engine module; the rule engine module is connected with the data engine module;
- the data engine module is further configured to generate a control instruction and send it to the rule engine module when the preset product model data needs to trigger the rule engine;
- the rule engine module is used to determine whether the node corresponding to the preset product model data needs to be triggered in response to the control instruction; when triggering is required, the trigger information of the preset type is sent to the node; The preset product model data is sent to an external device.
- the data engine module is further configured to push the preset product model data to a preset cache, and the cache determines whether the node corresponding to the preset product model data needs to be triggered.
- the external interface module is connected with the data engine module;
- the data engine module is also used to store the preset product model data in the preset database
- the external interface module is configured to feed back the preset product model data from the preset database in response to a call request from an external business system.
- a data distribution method which is applied to the data distribution system of the first aspect, and the method includes:
- a distribution operation is performed on the preset product model data obtained from the message queue.
- the preset product model data includes three types of device data: state parameters, function parameters and trigger parameters.
- a distribution operation is performed on the preset product model data obtained from the message queue, including:
- the initial configuration data includes configuration data representing whether a preset algorithm is used to process the preset product model data;
- the initial configuration data includes configuration data representing that a preset algorithm is used to process the preset product model data
- a data processing algorithm for the preset product model data is acquired;
- the data processing algorithm includes an offline algorithm or a real-time algorithm;
- a distribution operation is performed on the preset product model data obtained from the message queue, including:
- trigger information of a preset type is sent to the node; when triggering is not required, the preset product model data is sent to an external device.
- a distribution operation is performed on the preset product model data obtained from the message queue, including:
- the preset product model data is stored in a preset database based on the preset strategy, so that an external business system can acquire the preset product model data through the preset database.
- obtain device data reported by an external device including:
- the device data When the device data satisfies the preset data protocol, the device data is stored in the first message queue; if the device data does not meet the data protocol, protocol conversion is performed through the SDK to meet the preset data protocol. The device data is stored in the first message queue.
- an electronic device comprising:
- At least one memory for storing a computer program executable by the processor
- the at least one processor is configured to execute a computer program in the at least one memory to implement the method as described above.
- a computer-readable storage medium is provided, and when an executable computer program in the storage medium is executed by a processor, the above-mentioned method can be implemented.
- the data distribution system in the embodiment of the present disclosure includes a channel configuration module and a data engine module; wherein, the channel configuration module is connected to an external device, and is used to connect the acquired devices of each external device
- the data is converted into preset product model data and stored in the message queue;
- the data engine module is connected to the channel configuration module, and is used for distributing the preset product model data obtained from the message queue.
- device data can be uniformly analyzed to realize data distribution, so that users in the data distribution system can directly use the above-mentioned device data, which is beneficial to improve the stability, compatibility and portability of the system.
- Fig. 1 is a block diagram of a data distribution system according to an exemplary embodiment.
- FIG. 2 is a sequence diagram illustrating data distribution according to an exemplary embodiment.
- FIG. 3 is a flow chart of data distribution according to an exemplary embodiment.
- Fig. 4 is a flowchart of a method for configuring a data distribution process according to an exemplary embodiment.
- Fig. 5 is a schematic diagram showing the effect of configuring routing information of a product according to an exemplary embodiment.
- FIG. 6 is a schematic diagram of a tab page for creating a product according to an exemplary embodiment.
- Fig. 7 is a schematic diagram showing the effect of a product queue according to an exemplary embodiment.
- FIG. 8 is a schematic diagram of an access control product scenario according to an exemplary embodiment.
- Fig. 9 is a schematic diagram showing the effect of configuring a routing channel of an access control product according to an exemplary embodiment.
- Fig. 10 is a schematic diagram showing the effect of the definition of an access control product according to an exemplary embodiment.
- FIG. 11 is a schematic diagram of a tab page of a routing channel of an access control product according to an exemplary embodiment.
- FIG. 12 is a schematic diagram of a tab page of a newly added data source according to an exemplary embodiment.
- 13 to 15 are schematic diagrams of tab pages for configuring a MYSQL data table according to an exemplary embodiment.
- 16-20 are schematic diagrams of tab pages for configuring MQTT according to an exemplary embodiment.
- FIG. 21 is a flow chart of creating a workspace area according to an exemplary embodiment.
- FIG. 22 is a schematic diagram showing the effect of a pop-up frame according to an exemplary embodiment.
- FIG. 23 is a flow chart of creating a business process according to an exemplary embodiment.
- Fig. 24 is a schematic diagram showing the effect of a new creation process according to an exemplary embodiment.
- Fig. 25 is a flow chart of acquiring a node plug-in according to an exemplary embodiment.
- Fig. 26 is a schematic diagram showing the effect of a workbench and a node plug-in acquisition according to an exemplary embodiment.
- Fig. 27 is a flow chart showing the configuration of node plug-in information according to an exemplary embodiment.
- FIG. 28 is a schematic diagram showing the effect of configuring a tab page of a MYSQL data table according to an exemplary embodiment.
- FIG. 29 is a flow chart of connecting a node plug-in according to an exemplary embodiment.
- Fig. 30 is a schematic diagram showing the effect of a business process according to an exemplary embodiment.
- Fig. 31 is a flowchart showing a data distribution method according to an exemplary embodiment.
- Fig. 32 is a block diagram of an apparatus for configuring a data distribution process according to an exemplary embodiment.
- FIG. 1 is a block diagram of a data distribution system according to an exemplary embodiment.
- the data distribution system can be a distributed system deployed in the cloud.
- a distributed data distribution system can be a system formed by a group of computers connected to each other through a network to transmit messages and communicate and coordinate their behavior. Different computers interact with each other to achieve a common goal.
- the network can be the Internet of Things (Internet of Things) based on the Internet and/or a telecommunication network, which can be a wired network or a wireless network, for example, it can be a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) ), cellular data communication networks and other electronic networks that can realize the function of information exchange.
- Internet of Things Internet of Things
- a telecommunication network which can be a wired network or a wireless network, for example, it can be a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) ), cellular data communication networks and other electronic networks that can realize the function of information exchange.
- Distributed computing systems may have software plug-ins, such as software objects, or other types of individually addressable isolated entities, such as distributed objects, proxies, actors, virtual plug-ins, and the like.
- each such plugin is individually addressable and has a unique identity (such as an integer, GUID, string, or opaque data structure, etc.) in the distributed system.
- applications can be deployed to reside in a cluster.
- Various systems, plug-ins, and network configurations exist to support distributed computing environments. For example, computing systems may be connected together by wired or wireless systems, by local networks or widely distributed networks. Currently, many networks are coupled to the Internet, which provides an infrastructure for widely distributed computing, and includes many different networks, although any network infrastructure may be used for system-prone communications such as those described in various examples.
- Data distribution systems provide the sharing of computer resources and services through the exchange of communications between computing devices and systems. These resources and services include information exchange, cache storage, and disk storage for objects (eg, files). These resources and services also include the sharing of processing power across multiple processing units for load balancing, resource scaling, specialization of processing, etc.
- a distributed data distribution system may include hosts with network topologies and network infrastructures such as client devices/servers, peer-to-peer, or hybrid architectures.
- a data distribution system includes a channel configuration module Zbridge and a data engine module Zdata.
- the channel configuration module Zbridge is connected with external devices, and is used to convert the acquired device data of each external device into preset product model data and store them in the message queue;
- the data engine module Zdata is connected with the channel configuration module Zbridge, and is used for distributing the preset product model data obtained from the message queue.
- the channel configuration module Zbridge is connected to an external device, and can acquire device data reported by the external device.
- the data distribution system or the channel configuration module can store preset data protocols, such as Message Queuing Telemetry Transport (MQTT), http protocol, XMPP protocol, and CoAP protocol.
- MQTT Message Queuing Telemetry Transport
- the channel configuration module Zbridge can obtain the MQTT protocol and determine whether the device data meets the MQTT protocol. When the device satisfies the MQTT protocol, the channel configuration module Zbridge can store the device data in the MQTT Broker (ie, the first message queue). When the device data does not meet the data protocol, the protocol is converted through the SDK and stored in the first message queue.
- the external devices in this embodiment may include devices that need to be externally connected to the system, such as third-party devices, directly connected devices, edge gateways, etc.; correspondingly, the device data reported by the external devices may include image information collected by cameras , Environmental data collected by temperature and humidity sensors, production data of production equipment, etc. It is understandable that the above-mentioned external devices can be set according to specific scenarios, and device data can be adjusted accordingly according to the external devices, and corresponding solutions fall within the protection scope of the present disclosure.
- routing configuration information has been pre-stored in the channel configuration module Zbridge, and the routing configuration information may include a topic path designated to read device data from the first message queue, product model definition and data analysis.
- the channel configuration module Zbridge can monitor the MQTT data in the first message queue.
- MQTT data exists in the first message queue, it is read, and the MQTT data is converted into preset product model data and stored in the second message queue.
- the second message queue can use one of the following: Message Queue, RabbitMQ, Redis, ZeroMQ, ActiveMQ, Kafka/Jafka.
- the second message queue is implemented using Kafka.
- the routing configuration information may include a preset preset product model, which includes three types of device data: state parameters, function parameters, and trigger parameters.
- the data type and data length of the parameters are set to represent the same Data Format for Class Products
- the state parameter is used to describe the state of the device when it is running, such as the current ambient temperature read by the environment monitoring device.
- the status parameter can support GET and SET request methods, and the application system can read and set the status parameter request.
- Function parameters refer to the capabilities or methods of the device that can be called externally, including input parameters and output parameters. Compared with state parameters, function parameters can implement more complex business logic through an instruction, such as executing a specific special task.
- Trigger parameters refer to events when the device is running, generally including notification information that needs to be perceived and processed externally, and can include multiple output parameters. Information such as the completion of a certain task, or the temperature when a device fails or an alarm, etc., can be subscribed and pushed. That is to say, in this example, from the three functional dimensions of status parameter, function parameter and trigger parameter, it describes what the device is, what it can do, and what information it can provide externally, that is, the definition of device data is completed.
- the channel configuration module Zbridge provides a platform for multi-source heterogeneous devices to convert product models, and divides device data into state parameters, function parameters, and trigger parameters, thus converting the device data of each external device into a preset product model.
- an access control device defines the state parameters of the product model, such as access control ID (guardID), personnel ID (cardID), and direction of entry and exit (direction), and the relevant state parameters in the corresponding device data are respectively represented as data.door, data.person , data.direction, through the configuration information (JS, jar), to realize the mapping of the corresponding state parameters, so as to realize the analysis of the product model.
- guardID access control ID
- cardID personnel ID
- direction of entry and exit direction
- JS configuration information
- all equipment data is converted into preset product model data, which can facilitate the system to process the preset product model data, such as using big data algorithms to process the above data, mining data value or providing users with more information.
- preset product model data such as using big data algorithms to process the above data, mining data value or providing users with more information.
- the preset product model data can be directly used for each part of the system without re-conversion, which improves the efficiency of data utilization.
- the user can realize the data analysis of the product model according to the simple configuration information, which avoids the writing of data analysis codes for various devices separately, and improves the data analysis efficiency.
- the data engine module Zdata is connected to the channel configuration module Zbridge, and can monitor the preset product model data in the second message queue.
- the data engine module Zdata can also be connected to the data processing module Zalgorithm, the rule engine module ZMessage, the external interface module ZOpen and the database, and can arbitrarily control the data processing method (real-time algorithm processing, offline algorithm processing, filtering processing) , data channel selection and data result processing (storage in database, rule engine judgment, push to external business system, direct output to users, etc.), to achieve the purpose of parsing, distributing and storing preset product model data.
- the data engine module Zdata is further provided with a filtering script, such as a JS script or a JAR package, and the filtering script is uploaded or written by the user through the system configuration page.
- a filtering script such as a JS script or a JAR package
- the filtering script is uploaded or written by the user through the system configuration page.
- the data engine module Zdata parses the preset product model and before distribution, the parsed data can be filtered according to the user's subscription requirements, so as to better suit the user's needs. For example, user A wants to obtain 3 types of data in the preset product model, and user B wants to perform calculations based on 5 data in the preset product model, and can filter out the 3 types corresponding to the preset product model in advance through the filtering script or 5 types of data, so as to better adapt to the personalized subscription needs of user A or user B.
- the data distribution system further includes a preset database and an external interface module ZOpen.
- the preset database may include, but is not limited to, a Mysql database, a TiDB database, a FoundationDB database, and the like.
- the default database is implemented using the TiDB database.
- the TiDB database can seamlessly expand horizontally as the data in the system grows. It only needs to add more machines to meet business growth needs, and the application layer does not need to care about storage capacity and throughput.
- the TiDB database can also dynamically adjust the load balance based on factors such as storage, network, distance, etc., to ensure better read and write performance, so as to meet the needs of the data distribution system and improve the scalability, reliability and stability of the system.
- the data engine module Zdata stores the preset product model data in the TiDB database when monitoring the data in the Kafka queue.
- the data stored in the TiDB database may also include result data pushed by the data processing module Zalgorithm, and may also include process data in the first message queue or the second message queue, which can facilitate data query by external systems.
- the business system reads the preset product model data through the external interface module ZOpen of the data distribution system to realize data standard query.
- the data distribution system further includes a data processing module Zalgorithm connected with the data engine module Zdata.
- the data processing module Zalgorithm can be the big data platform Hadoop. Users only need to write the corresponding algorithm and upload it to the data processing module Zalgorithm, which can support offline or real-time data processing and calculation.
- the data engine module Zdata can pre-store initial configuration data, which is pre-configured by the user, and can include configuration information such as whether a data processing algorithm needs to be used, and which algorithm to use when using the data processing algorithm.
- the data processing algorithms include offline algorithms or real-time algorithms. After the preset product model data is obtained from the kafka queue, the initial configuration data can be read to determine whether to trigger the data processing module Zalgorithm.
- the data processing module Zalgorithm can use offline algorithm or real-time algorithm to process the preset product model data, and feed back the processing result to the user and store it locally. That is to say, the data processing module Zalgorithm can also be used as a database to store preset product model data, process data and result data.
- the offline algorithm is implemented using SparkSQL, and the processing results are stored in Hive; the real-time algorithm is implemented using SaprkStreaming, which is pushed in real time through a message queue.
- offline algorithms can include but are not limited to SparkSQL, Hive on Spark, Core, Streaming, MLlib, GraphX, etc.
- real-time algorithms can include but are not limited to Flink, Storm, Spark Streaming, etc.
- real-time algorithms can also be implemented by using one of the above offline algorithms; another example, Offline algorithms can also be implemented by real-time algorithms, and technicians can select appropriate offline algorithms and real-time algorithms according to specific scenarios.
- the above offline algorithms or real-time algorithms also use big data algorithms.
- the big data algorithm can be implemented by algorithms such as neural network algorithms.
- the neural network algorithm processes the images and obtains them. semantics.
- the data distribution system further includes a rule engine module ZMessage, which can store preset rules, such as the ambient temperature does not exceed 50 degrees Celsius, the ambient humidity does not exceed 70%, etc., and can be configured according to specific scenarios. Corresponding rules and corresponding solutions fall into the protection scope of the present disclosure.
- the rule engine module ZMessage is connected with the data engine module Zdata.
- the data engine module Zdata generates a control instruction and sends it to the rule engine module ZMessage when the preset product model data needs to trigger the rule engine, or the data engine module Zdata sends the preset product model data to the key-value storage system Redis, and Redis judges the prediction. Set whether the product model data needs to trigger the rule engine.
- the rule engine module ZMessage is used to determine whether the node corresponding to the preset product model data needs to be triggered in response to the control instruction; when it needs to be triggered, it sends the preset type of trigger information to the node, such as control instructions, alarm information, etc.; when it does not need to be triggered Send preset product model data to an external device.
- the node type such as email, calling a remote interface, short message, etc.
- the sending method or format of the information or data can be adjusted according to the type.
- the triggered node may not support the MQTT protocol.
- the information or data can be parsed by ZEdgeSDK and then sent to the triggered node.
- the data distribution system in the embodiment of the present disclosure includes a channel configuration module Zbridge and a data engine module Zdata; wherein, the channel configuration module Zbridge is connected to an external device for converting the acquired device data of each external device into a preset product
- the model data is stored in the message queue;
- the data engine module Zdata is connected to the channel configuration module Zbridge, and is used for distributing the preset product model data obtained from the message queue.
- device data can be uniformly analyzed to realize data distribution, so that users in the data distribution system can directly use the above-mentioned device data, which is beneficial to improve the stability, compatibility and portability of the system.
- assets refer to external devices that need to be connected externally, and these external devices can use external data and report them.
- MQTT-BROKER is a message queue, which is used for the transfer and transmission of device data.
- ZBridge parses device data into preset product model data.
- ZBridge monitors the data of MQTT-BROKER. When MQTT-BROKER has data, it fetches it, converts it into preset product model data, and distributes the message to the kafka queue.
- the device data transmission based on the MQTT protocol in 2) can also be implemented by ZBridge.
- the initial configuration information in ZBridg may include JS scripts, jar packages, and also python scripts or PHP scripts.
- ZBridge can implement product model conversion based on JS scripts or jar packages written by users.
- ZBridge can parse the JB script based on the JS parsing engine or parse the jar package based on the pf4j plug-in, and then perform product model processing on the data.
- ZData monitors the product model data in kafka and makes judgments in the data engine, and performs the following three operations:
- product model data can be filtered and processed using filtering scripts, or data can be processed using big data/artificial intelligence algorithms.
- the processed result data and process data can be stored directly in the database for later use.
- the business system can read data from the TiDB database through the external interface module ZOpen, and can also perform standard queries.
- the external interface module ZOpen can also read data from the TiDB database as downlink data and send it to ZMessage, which will be sent directly to ZEdge SDK or directly to the device or to determine whether to trigger an action node.
- ZMessage can also read data from the TiDB database as downlink data and send it to ZMessage, which will be sent directly to ZEdge SDK or directly to the device or to determine whether to trigger an action node.
- the type of the node sends emails, calls remote interfaces, sends SMS, etc., or triggers the trigger parameters of the asset type (that is, sent directly to the ZEdge SDK or directly to the device).
- ZData determines whether to use a preset processing algorithm to preset product model data according to the initial setting information. If adopted, it is necessary to further judge the selected algorithm category.
- the category is a real-time algorithm, and SaprkStreaming is used for calculation; another example is an offline algorithm, and SparkSQL is used for calculation, and the processing result is stored in Hive.
- the service subscription method in the initial setting information can be determined, and the data can be pushed in real time through Kafka or stored in the storage node.
- ZData maps the preset product model data to Redis, which is a key-value key-value storage system. Redis can determine whether it needs to notify the triggering rule engine, and if so, it can send control instructions to Zmessage. Zmessage can preprocess the preset product model data and match it with the preset trigger rules to form an event. The trigger action is executed when the event satisfies the trigger rule.
- ZMessage judges whether the rule node needs to be triggered. When it does not need to be triggered, it sends the preset product model data or parses the preset product model data to the ZEdge SDK or sends it directly to the device. When it needs to be triggered, it continues to judge whether to trigger the action node. When a rule node needs to be triggered, it can send emails, call remote interfaces, send text messages, etc. according to the action node type, or trigger the trigger parameters of the asset type (that is, send it directly to the ZEdge SDK or send it directly to the device).
- FIG. 4 is a flowchart of a method for configuring a data distribution process according to an exemplary embodiment, which can be used in the data distribution system shown in FIG. 1 .
- the user can configure the data distribution process on any electronic device in the data distribution system, or access the data distribution system through other electronic devices to configure the data distribution process.
- an electronic device having a display screen capable of triggering operations is used as an execution subject to describe each solution.
- the channel configuration module Zbridge corresponds to a set of message queue plug-ins, a set of database plug-ins or a set of filter script plug-ins.
- the data engine module Zdata corresponds to the configuration information of the business process, that is, the data transmission, calculation and distribution between various modules or plug-ins are realized through the configuration information.
- the data processing module Zalgorithm corresponds to the set of algorithm plug-ins, and the set of database plug-ins.
- the rule engine module ZMessage corresponds to the filter script plug-in collection and the database plug-in collection.
- the external interface module ZOpen corresponds to the database plug-in set and the external interface.
- a database corresponds to a collection of database plugins.
- each of the above modules may be an aggregate of at least one function, and a plug-in is more inclined to one function, so each of the above modules may correspond to at least one kind of plug-in.
- it may be determined which module the plug-in belongs to according to the corresponding relationship between the plug-in and the module. Under the condition that the operation of the data distribution system shown in FIG. 1 is not affected, the variant scheme of dividing each plug-in into each module falls within the protection scope of the present disclosure.
- a data distribution process configuration method includes steps 41 to 43:
- step 41 in response to detecting a triggering operation representing a business process for creating a data distribution service, a workbench for the business process is displayed.
- various plug-in sets may be pre-stored in the electronic device, including an initial plug-in set, a channel plug-in set, and a processing plug-in set.
- Each plug-in in the channel plug-in set is located between each plug-in in the initial plug-in set and each plug-in in the processing plug-in set, or between two plug-ins in the processing plug-in set.
- the initial plug-in set includes a data integration plug-in set
- the channel plug-in set includes a message queue plug-in set
- the processing plug-in set includes a database plug-in set, a filter script plug-in set, an algorithm plug-in set, and a rule engine plug-in set.
- an external interface plug-in set may also be included for establishing a connection between an external device and a database plug-in, a message queue plug-in, or a filter script plug-in.
- Technicians can choose a suitable set of plug-ins according to the scene. . in:
- the data integration plug-in set mainly hides the underlying data details under the unified data logic view through the node plug-in of the routing channel type, so that different data sources can be mapped to the node plug-in.
- the underlying data logic configuration of the node plug-in specifically selects a product data source (as shown in Figure 3), and the product data source information includes routing configuration information, product model definition information and Data parsing information, then select the route that the product data source needs to subscribe to, and select the status parameter in the product model information through data filtering.
- the Create Product button is displayed on the system's display interface.
- the electronic device may pop up a pop-up box in the display interface in response to detecting the triggering operation that characterizes the creation of the product, and the effect is shown in Figure 3.
- the pop-up box includes product-related information, such as product name, product category (such as custom category, general category), node data (such as direct-connected devices, edge gateways, gateway sub-devices, third-party devices, etc.), certification
- the content in the pop-up box can be adjusted according to specific scenarios.
- the electronic device can also fill in various product information and obtain input data according to the user's trigger operation. When it is detected that the user stores the above input data, the electronic device can call the API interface to generate new product information, and display the newly generated related products in the list, the effect is shown in Figure 7.
- the electronic device can display the configuration page of the access control product in response to detecting a trigger operation representing the configuration routing information, as shown in Figures 8 and 9.
- the electronic device can obtain routing information input by the user, such as information configuration of basic routing, communication routing, and custom routing.
- the configuration of the custom routing information is the routing selection after the product information is selected by the later routing channel plug-in data source.
- the electronic device can respond to detecting a trigger operation representing product model information of a configuration product, and obtain product model information input by the user, such as state parameters, function parameters, trigger parameters, and information configuration of the product model DSL. That is, the electronic device can detect that the user clicks the new custom button to pop up a pop-up box, obtain the relevant information entered according to the prompts on the display interface, and configure the information defined by the product model such as status parameters, function parameters, and trigger parameters, and after the product goes online. New information cannot be customized.
- the state parameter information configuration defined by the product model is the product state parameter information that the subsequent routing channel plug-in needs to data filter.
- the database plug-in set is mainly composed of MYSQL data table plug-in, TIDB data table plug-in and HBase data table plug-in to perform operations such as establishment, storage, update, query and deletion of data, corresponding to the data in FIG. 3 .
- Storage node or TiDB database The underlying data logic configuration of these node plug-ins is to select the instance of the data source storage node.
- the information of the storage node instance includes the database version, IPV4 address information, port number, instance name, database name, user name, password and the region where the storage node is located. , select the data table and the table structure information of the data table by selecting the instance of the storage node, or create the data table and the table structure of the data table for the instance by filling in the DDL script data.
- the Add Node button can be displayed on the display interface of the system.
- the electronic device can detect whether the user clicks the above-mentioned add node button, and the electronic device can pop up a pop-up box in the display interface in response to detecting that the user clicks the above-mentioned add node button.
- the pop-up box includes the selected version, connection information, instance name, library name, user name, password, alias, and region.
- the electronic device can also fill in various product information and obtain input data according to the user's trigger operation. When detecting that the user stores the above input data, the electronic device can call the API interface to generate a new storage instance, and display the new storage instance in the list.
- This list is the data source information in the configuration information of the MySQL data table plugin.
- the data table information of the storage instance can be obtained by calling the API interface through the filled-in storage instance information, and various attribute information of the data table can be obtained through the data table information.
- the obtained information is the selected data table and data table structure information in the information configured by the MySQL data table plugin.
- the message queue plug-in set is mainly composed of MQTT message queue plug-in (corresponding to MQTT BROKER in Figure 3), Kafka message queue plug-in (corresponding to apaache kafka in Figure 3) and AMQP message queue plug-in for asynchronous processing, application Decoupling and traffic cutting.
- the underlying data logic of these node plugins is to select the message queue instance of the data source.
- the information of the message queue instance includes TCP connection, WS connection, user name, password, namespace, region and topics topics, which are selected by selecting the instance of the message queue.
- the Add Instance button can be displayed on the display interface of the system.
- the electronic device may pop up a pop-up box in the display interface in response to detecting the trigger operation representing the added instance.
- the pop-up box can include connection information (such as TCP connection, WS connection, username, password, namespace), basic information (such as alias, area, maximum number of topics, description content), etc.
- the pop-up box can be adjusted according to specific scenarios. content in .
- the electronic device can fill in the content of each instance according to the trigger operation of the user, and the electronic device can obtain the input data.
- the electronic device can call the API interface to generate a new queue instance, and display the new queue information in the list. This list is the data source information in the MQTT message queue plugin configuration information.
- the topic selection information after selecting the data source in the configuration information of the MQTT message queue plugin.
- the filter script plug-in set may include a JS script plug-in, a jar package plug-in, a python script plug-in, or a PHP script plug-in, etc., for filtering data to filter out data items required by the user.
- user A wants to obtain 3 items of data in the data
- user B wants to perform calculations based on 5 items of data in the data, and can filter out the corresponding 3 or 5 data in advance through the filtering script, so as to better adapt to A Personalized subscription needs of users or B users.
- technicians can also edit script plug-ins in other programming languages, and corresponding solutions fall within the protection scope of the present disclosure.
- the set of algorithm plug-ins may include offline algorithm plug-ins and real-time algorithm plug-ins, which are used for computing data.
- the offline algorithm plug-ins can include but are not limited to SparkSQL plug-ins, Hive on Spark plug-ins, Core plug-ins, Streaming plug-ins, MLlib plug-ins, GraphX plug-ins, etc.
- real-time algorithms can include but are not limited to Flink plug-ins, Storm plug-ins, and Spark Streaming plug-ins.
- a business process can be created based on the above plug-in.
- create the workspace area Referring to FIG. 21, in step 211, the electronic device may display a first pop-up box in the display area in response to detecting a trigger operation representing the creation of a workspace; the first pop-up box includes the workspace name, alias, logo picture, space At least one item in the description, the effect is shown in Figure 22.
- the electronic device may acquire input data for any item of content in response to detecting a triggering operation representing that item of input.
- the electronic device may save the input data and close the pop-up box to obtain the workspace area in response to detecting the triggering operation representing saving the input data.
- the electronic device can display a button for adding a new workspace area on the display interface.
- a pop-up box in the style of a right drawer can pop up, and the workspace name, alias,
- the electronic device can call the API interface that saves space information. After the interface is called successfully, the relevant information is saved, the pop-up box is closed, and the newly added workspace is displayed in the workspace area.
- the content of the workspace area can also be modified.
- an edit button that needs to modify the content of the workspace can be displayed in the display interface, and a pop-up box in the style of the right drawer will pop up, which contains the relevant content of the workspace, and then fill in the content to be modified, and then click the save button to call the modified space information.
- API interface modify the relevant information and close the pop-up box after the interface call is successful.
- a new business process can be created in each workspace area.
- the electronic device may display an editing area page of the workspace area in the display area in response to detecting a trigger operation representing the editing workspace area; the editing area page includes a new business process button.
- the electronic device may display a new process pop-up box in response to detecting a trigger operation representing a button for selecting a new business process; the new process pop-up box includes a process name and a process description.
- the electronic device may acquire the input data of the process name or process description of the data distribution service in response to detecting the triggering operation representing filling in the process name or process description.
- the electronic device may, in response to detecting a trigger operation representing saving of the input data, save the input data and close the pop-up box to obtain the business process of the data distribution service located in the workspace area.
- a trigger operation representing saving of the input data
- save the input data and close the pop-up box to obtain the business process of the data distribution service located in the workspace area.
- the electronic device may display a list of workspace areas within the interface.
- the user can click a certain workspace to be entered, and the display interface can jump to the page of the editing area of the workbench. Then, the user can click the title of the business process, and a new business process button can pop up below the title. If you click the New Business Process button, a new process pop-up box will pop up.
- the new process pop-up box can include the process name and process description, etc. The effect is shown in Figure 24.
- the user can fill in the process name and process description in the pop-up box, and click the OK button below after filling in.
- the electronic device can call the API interface to save the process information, and after closing the pop-up box, the newly added business process can be displayed under the business process.
- step 42 in response to detecting a triggering operation representing dragging a node plug-in to the canvas, a plurality of node plug-ins of the business process are obtained.
- the electronic device can acquire the node plug-in of the business process of the data distribution service.
- the electronic device may display a workbench of the business process in response to detecting a trigger operation representing opening a business process; the workbench includes an area for displaying several different types of node plug-ins and an area for displaying a canvas .
- the node plug-ins in the workbench are the node plug-ins preset in step 41, and are all displayed in the workbench at this time, which is convenient for the user to select.
- the electronic device may move the dragged node plug-in into the canvas in response to detecting a triggering operation representing dragging of any node plug-in.
- the electronic device may, in response to detecting a triggering operation characterizing saving the node plug-in in the canvas, save the node plug-in located in the canvas and close the workbench to obtain multiple node plug-ins of the business process.
- the workbench shown in Figure 26 includes a node plugin on the left and a canvas on the right.
- the node plugins can include routing channel nodes of data integration type, JS script, SQL script and Jar script nodes of filter script type, MQTT message queue, Kafka message queue and AMQP message queue node of message queue type, MySQL data of data table type Table, TIDB data table and HBase data table nodes, offline computing and real-time computing nodes of algorithm function types, etc. Users can drag the node plug-ins required by the business process into the canvas to generate a basic plug-in.
- the user can arbitrarily process the plug-ins in the plug-in set in series according to the requirements of the data distribution business, so as to achieve the purpose of data acquisition, conversion, filtering, calculation and storage. For example, first select a start node, then add the plug-ins in the channel plug-in set after the start node, and then add the plug-ins in the processing plug-in set, so as to realize the data transmission, processing and distribution of the corresponding message queue. Among them, if no message queue is added, the system will use the pre-set or default message queue for data transmission.
- the plug-in in the processing plug-in can also include the upper-layer business system, and perform data query or real-time display through the external interface Zopen API.
- step 271 an unconfigured plug-in is generated within the canvas.
- the electronic device may open a tab page of the unconfigured plug-in in response to detecting a trigger operation representing editing of an unconfigured plug-in, such as clicking, double-clicking, etc., and the tab page includes information items that need to be configured for the initial node plug-in.
- a trigger operation representing editing of an unconfigured plug-in, such as clicking, double-clicking, etc.
- the tab page includes information items that need to be configured for the initial node plug-in.
- the electronic device may store the input information of each information item and close the tab page of each information item in response to detecting a trigger operation representing saving the input information of each information item to obtain multiple node plug-ins of the business process.
- the user can double-click the routing channel node plug-in in the canvas, and a tab page will be generated on the process workbench.
- This tab page includes the process node name, introduction, data source information, and data filtering.
- the user can first fill in the node name and introduction in the basic information; then, select the data source information, select the data source information, and then select the associated routing information.
- select the data filter click the "Add a row" button below, and a pop-up box will pop up with the list of data sources that can be selected, select the required data source information, and click the OK button to generate the filtered data source.
- click the button to save the plug-in the electronic device can call the API interface of the save routing channel node plug-in to save the routing channel node configuration information, close the tab page after saving successfully, and turn into a complete business process node on the canvas .
- the electronic device can display the tab page of the MYSQL data table according to the user's trigger operation, and the effect is shown in Figure 28.
- the tab page includes: process node type, process node name, introduction, data source, selection data table, data table structure and so on.
- the user can first fill in the node name and introduction in the basic information; then, click a file upload button below, select the required jar script file to upload, and the electronic device can return a file download address after calling the API interface to upload the file successfully, and automatically Fill in a plug-in address information input box; finally, the electronic device can detect that after the user clicks the button to save the plug-in, it can call the API interface for saving the plug-in to save the configuration information of the Jar script node, close the tab page after the save is successful, and in The canvas becomes a complete business process node.
- the electronic device can display the tab page of the MYSQL data table according to the user's trigger operation, and the effect is shown in Figure 16.
- This tab page includes process node type, process node name, introduction, data source, communication protocol (such as TCP, WebSocket), topic, execution action, whether to retain information, whether to delay publishing, message retransmission (such as message sent at most once, The message is sent at least once, the message is only delivered once) and whether to enable group subscription, etc.
- step 43 in response to detecting a triggering operation representing a plug-in connecting each node, configuration information of the business process is obtained, where the configuration information is the data distribution process from the data source end to the data receiving end.
- each node plug-in can be connected to obtain a business process.
- the electronic device can respond to detecting a trigger operation representing connecting two node plug-ins, connect the two node plug-ins.
- the electronic device may call the API interface corresponding to each node plug-in to obtain the configuration information of the business process in response to detecting the triggering operation representing the relationship of the submit node plug-in.
- the business process in the workspace area constitutes a channel for process transmission, calculation, screening and distribution from the data source end to the data receiving end.
- the business process relationship diagram starts from a process start node, and the process start node must first be connected to at least one node plug-in.
- a node plugin can be connected to multiple other nodes, and can also be connected to multiple different nodes.
- this embodiment does not support connection loopback between two nodes. For example, after the A node plug-in is connected to the B node plug-in, the B node plug-in cannot be connected back to the A node plug-in.
- the connection between two node plugins cannot be repeated to create a relationship.
- the electronic device can call the API interface related to each node plug-in to save the business process relationship information, and successfully build a business process after the interface is called successfully. The effect is shown in Figure 30.
- the electronic device can also determine whether the two nodes conform to whether the channel node is located between the initial plug-in set and the processing plug-in set, or between two plug-ins in the processing plug-in set, and only when the conditions are met. Allow the connection, otherwise the connection cannot be made.
- a business process of the data distribution service can be created; then, in the workbench for obtaining the business process, select the node plug-ins required by the data distribution service and move them into the canvas to obtain multiple node plug-ins of the business process. ; After that, connect each node plug-in to get the configuration information of the business process.
- a business process can be established according to the data distribution business, that is, the device data of the data source can be synchronized to various receiving ends through the API interface according to the configuration information of the business process, which can be completed without the user paying attention to the specific implementation logic.
- the data source end and the data receiving end can be separated from each other, the data receiving thread can be elastically scaled, and multiple business processes can be concurrently transformed, which is conducive to making full use of the server's resources and improving the server's data distribution. performance.
- FIG. 31 is a flowchart of a data distribution method according to an exemplary embodiment.
- a data distribution method includes:
- step 311 obtain the device data reported by the external device
- step 312 the device data is converted into preset product model data, and stored in a message queue;
- step 313 a distribution operation is performed on the preset product model data obtained from the message queue.
- the preset product model data includes three types of device data: state parameters, function parameters and trigger parameters.
- the distribution operation of the preset product model data obtained from the second message queue includes:
- the initial configuration data includes configuration data representing whether a preset algorithm is used to process the preset product model data;
- the initial configuration data includes configuration data representing that a preset algorithm is used to process the preset product model data
- a data processing algorithm for the preset product model data is acquired;
- the data processing algorithm includes an offline algorithm or a real-time algorithm;
- a distribution operation is performed on the preset product model data obtained from the message queue, including:
- trigger information of a preset type is sent to the node; when triggering is not required, the preset product model data is sent to an external device.
- a distribution operation is performed on the preset product model data obtained from the message queue, including:
- the preset product model data is stored in a preset database based on the preset strategy, so that an external business system can acquire the preset product model data through the preset database.
- acquiring device data reported by an external device includes:
- the device data When the device data satisfies the preset data protocol, the device data is stored in the first message queue; if the device data does not meet the data protocol, protocol conversion is performed through the SDK to meet the preset data protocol. The device data is stored in the first message queue.
- FIG. 32 shows a device for configuring a data distribution process according to an exemplary embodiment. block diagram.
- a data distribution process configuration device including:
- the workbench display module 321 is used to display the workbench of the business process in response to detecting the trigger operation representing the business process of creating the data distribution service; the workbench includes an area for displaying node plug-ins and an area for displaying canvas;
- the node plug-in obtaining module 322 is configured to obtain a plurality of node plug-ins of the business process in response to detecting the triggering operation representing the dragging of the node plug-in to the canvas;
- the configuration information obtaining module 323 is configured to obtain the configuration information of the business process in response to detecting the trigger operation representing the connection of each node plug-in, where the configuration information is the data distribution process from the data source end to the data receiving end.
- a business process creation module is used to create a business process of a data distribution service
- a node plug-in acquiring module used for selecting the node plug-ins required by the data distribution service in the workbench of the business process and moving them into the canvas to obtain multiple node plug-ins of the business process;
- the workbench includes an area for displaying node plug-ins and The area where the canvas is displayed;
- the configuration information obtaining module is used for connecting each node plug-in to obtain the configuration information of the business process, where the configuration information is the data distribution process from the data source end to the data receiving end.
- the node plug-in of the business process belongs to one of the following: an initial plug-in set, a channel plug-in set, and a processing plug-in set; wherein,
- Each plug-in in the channel plug-in set is located between each plug-in in the initial plug-in set and each plug-in in the processing plug-in set, or between two plug-ins in the processing plug-in set;
- the processing plug-in set includes at least one of the following: a database plug-in set, a filter script plug-in set, and an algorithm plug-in set.
- the initial set of plug-ins includes a data integration plug-in, and the data integration plug-in is a product plug-in mapped with each external device, and is used to select a product data source;
- the channel plug-in set includes a message queue plug-in set, and the message queue plug-in set is used to select a message queue instance of a data source, including at least one of the following: an MQTT message queue plug-in, a Kafka message queue plug-in, and an AMQP message queue plug-in;
- the processing plug-in set includes at least one of the following: a database plug-in set, a filter script plug-in set, and an algorithm plug-in set;
- Each plug-in in the described database plug-in set is used to select the instance of the data source storage node, and the information of the storage node instance, including at least one of the following: MYSQL data table plug-in, TIDB data table plug-in and HBase data table plug-in;
- Each plug-in in the filter script plug-in set is used to select data items required in the data, including at least one of the following: a JS script plug-in, a jar package plug-in, a python script plug-in or a PHP script plug-in;
- Each plug-in in the algorithm plug-in set is used to calculate data, including at least one of the following: offline algorithm plug-in and real-time algorithm plug-in.
- the node plug-in acquiring module includes:
- the node plug-in moving unit is used to move the dragged node plug-in into the canvas in response to detecting a triggering operation representing dragging any node plug-in; the dragged node plug-in is the data distribution service. required plugins;
- a node plug-in saving unit configured to save the node plug-in located in the canvas and close the workbench to obtain the node plug-in of the business process in response to detecting a trigger operation representing saving the node plug-in in the canvas.
- the node plug-in moving unit includes:
- An unconfigured plug-in generating subunit is used to generate an unconfigured plug-in corresponding to the dragged node plug-in within the canvas;
- an input information obtaining subunit configured to obtain input information corresponding to each information item in the tab page through the tab page of the unconfigured plug-in in response to detecting a trigger operation representing editing of the unconfigured plug-in;
- the input information saving subunit is used to save the input information of each information item and close the tab page of each information item in response to detecting a trigger operation representing saving the input information of each information item, and obtain the node plug-in of the business process.
- the configuration information acquisition module includes:
- a node plug-in connection unit configured to connect two node plug-ins that have a logical relationship in response to detecting a triggering operation representing connecting two node plug-ins
- the business process acquisition unit is configured to call the API interface corresponding to each node plug-in to obtain the configuration information of the business process in response to detecting the triggering operation representing the relationship of the submitted node plug-in.
- the apparatus further includes a spatial matching creation module, and the spatial matching creating module includes:
- the first pop-up frame display unit is used to display the first pop-up frame in the display area in response to detecting the trigger operation representing the creation of the workspace;
- the first pop-up frame includes the workspace name, alias, logo picture, and space description at least one of the contents;
- an input data acquisition unit configured to acquire input data for the content in response to detecting a trigger operation representing any content of the input
- the spatial area acquisition unit is used to save the input data and close the pop-up box to acquire the workspace area in response to detecting a triggering operation representing saving the input data.
- the business process creation module includes:
- an editing page display unit for displaying an editing area page of the workspace area in the display area in response to detecting a trigger operation representing the editing workspace area;
- the editing area page includes a new business process button;
- a process pop-up display unit configured to display a newly-created process pop-up box in response to detecting a trigger operation representing a button for selecting a new business process;
- the newly-created process pop-up box includes a process name and a process description;
- an input data acquisition unit configured to acquire the input data of the process name or process description of the data distribution service in response to detecting a trigger operation representing filling in the process name or process description;
- the input data saving unit is configured to save the input data and close the pop-up box in response to detecting a trigger operation representing saving of the input data, and obtain the business process of the data distribution service located in the workspace area.
- the apparatus provided by the embodiment of the present disclosure corresponds to the method shown in FIG. 4 , and the specific content may refer to the content of each embodiment of the method, which will not be repeated here.
- an electronic device comprising:
- At least one memory for storing a computer program executable by the processor
- the at least one processor is configured to execute a computer program in the at least one memory to implement the steps of the above method.
- a computer-readable storage medium including an executable computer program, such as a memory including instructions, and the executable computer program described above can be executed by a processor to implement the steps of the method described in FIG. 1 .
- the readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
- a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage medium
- a device that may contain or store information, such as executable instructions, data, and the like.
- the machine-readable storage medium can be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as compact disc, dvd, etc.), or similar storage media, or a combination thereof.
- a typical implementing device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, email sending and receiving device, game control desktop, tablet, wearable device, or a combination of any of these devices.
- the embodiments of the present application may be provided as a method, or as a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the present application refers to the flow of methods, apparatus (systems), and computer program products according to embodiments of the present application
- these computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer readable memory result in an article of manufacture comprising the instruction means,
- the instruction means implements the functions specified in a flow or flows of the flowcharts and/or a block or blocks of the block diagrams.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (15)
- 一种数据分发系统,其特征在于,包括通道配置模块、数据引擎模块、数据处理模块、规则引擎模块、预设数据库和外部接口模块;所述通道配置模块与外部设备连接,用于将获取的各外部设备的设备数据转换为预设产品模型数据并存储到消息队列;所述数据引擎模块与所述通道配置模块连接,用于将从所述消息队列获取的预设产品模型数据分发给所述预设数据库或者所述数据引擎模块,或者生成控制指令发送给所述数据处理模块、所述规则引擎模块;所述数据处理模块用于响应于所述控制指令选用预设的离线算法或者实时算法来处理所述预设产品模型数据,并实时推送处理结果或者存储处理结果;所述规则引擎模块用于响应于所述控制指令判断所述预设产品模型数据对应的节点是否需要触发;当需要触发时向所述节点发送预设类型的触发信息;当不需要触发时将所述预设产品模型数据发送到外部设备;所述外部接口模块用于响应于外部业务系统的调用请求从所述预设数据库内反馈所述预设产品模型数据。
- 一种数据分发系统,其特征在于,包括通道配置模块和数据引擎模块;其中,所述通道配置模块与外部设备连接,用于将获取的各外部设备的设备数据转换为预设产品模型数据并存储到消息队列;所述数据引擎模块与所述通道配置模块连接,用于将从所述消息队列获取的预设产品模型数据进行分发操作。
- 根据权利要求2所述的数据分发系统,其特征在于,所述预设产品模型数据包括状态参数、功能参数和触发参数三个类型的设备数据。
- 根据权利要求2所述的数据分发系统,其特征在于,还包括数据处理模块;所述数据处理模块与所述数据引擎模块连接;所述数据引擎模块还用于根据初始配置数据生成控制指令并发送给所述数据处理模块;所述数据处理模块用于响应于所述控制指令选用预设的离线算法或者实时算法来处理所述预设产品模型数据,并实时推送处理结果或者存储处理结果。
- 根据权利要求2所述的数据分发系统,其特征在于,还包括规则引擎模块;所述规则引擎模块与所述数据引擎模块连接;所述数据引擎模块还用于在预设产品模型数据需要触发规则引擎时生成控制指令 并发送给所述规则引擎模块;所述规则引擎模块用于响应于所述控制指令判断所述预设产品模型数据对应的节点是否需要触发;当需要触发时向所述节点发送预设类型的触发信息;当不需要触发时将所述预设产品模型数据发送到外部设备。
- 根据权利要求5所述的数据分发系统,其特征在于,所述数据引擎模块还用于将所述预设产品模型数据推送给预设的缓存,由所述缓存确定所述预设产品模型数据对应的节点是否需要触发。
- 根据权利要求2所述的数据分发系统,其特征在于,还包括外部接口模块;所述外部接口模块与所述数据引擎模块连接;所述数据引擎模块还用于将预设产品模型数据存储到预设数据库内;所述外部接口模块用于响应于外部业务系统的调用请求从所述预设数据库内反馈所述预设产品模型数据。
- 一种数据分发方法,其特征在于,应用于权利要求2所述的数据分发系统,所述方法包括:获取外部设备上报的设备数据;将所述设备数据转换为预设产品模型数据,并存储到消息队列;将从所述消息队列获取的预设产品模型数据进行分发操作。
- 根据权利要求8所述的数据分发方法,其特征在于,所述预设产品模型数据包括状态参数、功能参数和触发参数三个类型的设备数据。
- 根据权利要求8所述的数据分发方法,其特征在于,将从所述消息队列获取的预设产品模型数据进行分发操作,包括:获取初始配置数据;所述初始配置数据包括表征是否采用预设算法处理所述预设产品模型数据的配置数据;当所述初始配置数据包括表征采用预设算法处理所述预设产品模型数据的配置数据时,获取用于所述预设产品模型数据的数据处理算法;所述数据处理算法包括离线算法或者实时算法;基于所述离线算法或者所述实时算法处理所述预设产品模型数据,获得处理结果;存储或者推送所述处理结果。
- 根据权利要求8所述的数据分发方法,其特征在于,将从所述消息队列获取的预设产品模型数据进行分发操作,包括:将所述预设产品模型数据推送给缓存,以使所述缓存确定所述预设产品模型数据是 否需要触发规则引擎;响应于需要触发规则引擎时,判断所述预设产品模型数据对应的节点是否需要触发;当需要触发时向所述节点发送预设类型的触发信息;当不需要触发时将所述预设产品模型数据发送到外部设备。
- 根据权利要求8所述的数据分发方法,其特征在于,将从所述消息队列获取的预设产品模型数据进行分发操作,包括:基于所述预设策略将所述预设产品模型数据存储到预设数据库内,以使外部业务系统通过所述预设数据库来获取所述预设产品模型数据。
- 根据权利要求8所述的数据分发方法,其特征在于,获取外部设备上报的设备数据,包括:获取预设数据协议;当若所述设备数据满足所述预设数据协议,将所述设备数据存储到第一消息队列;若所述设备数据不满足所述数据协议,则通过SDK进行协议转换得到满足预设数据协议的设备数据并存储到所述第一消息队列。
- 一种电子设备,其特征在于,包括:至少一个处理器;用于存储所述处理器可执行的计算机程序的至少一个存储器;其中,所述至少一个处理器被配置为执行所述至少一个存储器中的计算机程序,以实现如权利要求8~13任一项所述方法。
- 一种计算机可读存储介质,其特征在于,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如权利要求8~13任一项所述方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080002860.2A CN114830615B (zh) | 2020-11-18 | 2020-11-18 | 数据分发系统及数据分发方法 |
PCT/CN2020/129891 WO2022104611A1 (zh) | 2020-11-18 | 2020-11-18 | 数据分发系统及数据分发方法 |
US17/429,912 US11762719B2 (en) | 2020-11-18 | 2020-11-18 | Data distribution system and data distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/129891 WO2022104611A1 (zh) | 2020-11-18 | 2020-11-18 | 数据分发系统及数据分发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022104611A1 true WO2022104611A1 (zh) | 2022-05-27 |
Family
ID=81708140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/129891 WO2022104611A1 (zh) | 2020-11-18 | 2020-11-18 | 数据分发系统及数据分发方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11762719B2 (zh) |
CN (1) | CN114830615B (zh) |
WO (1) | WO2022104611A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706918A (zh) * | 2022-06-01 | 2022-07-05 | 杭州安恒信息技术股份有限公司 | 一种多类型数据库兼容方法、装置、设备、存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438233A (zh) * | 2021-06-21 | 2021-09-24 | 北京交通大学 | 一种协议之间相互转换的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166813A (zh) * | 2011-12-14 | 2013-06-19 | 中国电信股份有限公司 | 一种支持多厂家设备接入物联网的方法和系统 |
CN108173874A (zh) * | 2018-01-29 | 2018-06-15 | 海尔优家智能科技(北京)有限公司 | 一种智能设备管理方法、平台、系统、介质和设备 |
WO2019243787A1 (en) * | 2018-06-18 | 2019-12-26 | Arm Ip Limited | Pipeline template configuration in a data processing system |
CN111294401A (zh) * | 2020-02-10 | 2020-06-16 | 泰华智慧产业集团股份有限公司 | 一种物联网设备接入方法及装置 |
CN111953777A (zh) * | 2020-08-12 | 2020-11-17 | 北京泊菲莱科技有限公司 | 一种物联网平台接入设备管理系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8839387B2 (en) * | 2009-01-28 | 2014-09-16 | Headwater Partners I Llc | Roaming services network and overlay networks |
US9924044B2 (en) * | 2011-01-20 | 2018-03-20 | Verizon Patent And Licensing Inc. | Recommendations based on real-time usage information |
US10002033B2 (en) * | 2012-02-07 | 2018-06-19 | Microsoft Technology Licensing, Llc | Efficiently receiving messages across a large number of messaging entities |
US8898298B2 (en) * | 2012-08-27 | 2014-11-25 | Sap Se | Process observer and event type linkage |
CN108668357B (zh) * | 2013-05-23 | 2021-07-02 | 华为技术有限公司 | 位置区管理方法及设备 |
EP3019073B1 (en) * | 2013-07-08 | 2022-08-31 | ResMed Sensor Technologies Limited | System for sleep management |
CN105094747B (zh) * | 2014-05-07 | 2018-12-04 | 阿里巴巴集团控股有限公司 | 基于smt的中央处理单元以及用于检测指令的数据相关性的装置 |
US10055708B2 (en) * | 2014-09-09 | 2018-08-21 | Halcyon Consulting, LLC | Vehicle inventory verification system, apparatus and method cross reference to related applications |
US10395177B2 (en) * | 2015-12-10 | 2019-08-27 | Microsoft Technology Licensing, Llc | Optimized execution order correlation with production listing order |
US10282229B2 (en) * | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
CN108156823B (zh) * | 2016-08-31 | 2020-04-14 | 华为技术有限公司 | 一种闪存介质的访问方法及控制器 |
WO2019037846A1 (en) * | 2017-08-23 | 2019-02-28 | NEC Laboratories Europe GmbH | SERVICE LEVEL MONITORING MONITORING METHOD IN A SOFTWARE DEFINED NETWORK AND CORRESPONDING SOFTWARE DEFINED NETWORK |
CN108200190B (zh) | 2018-01-26 | 2019-11-22 | 青岛国信发展(集团)有限责任公司 | 基于云计算的物联网数据服务系统和方法 |
CN111294285B (zh) | 2018-12-07 | 2022-10-28 | 网宿科技股份有限公司 | 一种网络数据的分发方法及负载均衡器 |
CN109889551B (zh) * | 2019-04-16 | 2021-08-27 | 陆伟 | 一种智能硬件接入的物联网云平台的方法 |
US11188396B2 (en) * | 2019-09-09 | 2021-11-30 | International Business Machines Corporation | Pending notification deletion through autonomous removal triggering |
CN111061804B (zh) * | 2019-10-30 | 2023-09-29 | 平安科技(深圳)有限公司 | 基于大数据的异步数据处理方法、装置、设备和存储介质 |
CN111083128A (zh) * | 2019-12-06 | 2020-04-28 | 北京海兰信数据科技股份有限公司 | 船舶数据的处理方法、装置及设备 |
CN111291103B (zh) | 2020-01-19 | 2023-11-24 | 北京有竹居网络技术有限公司 | 接口数据的解析方法、装置、电子设备及存储介质 |
CN111641524A (zh) * | 2020-05-25 | 2020-09-08 | 北京青云科技股份有限公司 | 监控数据处理方法、装置、设备和存储介质 |
-
2020
- 2020-11-18 CN CN202080002860.2A patent/CN114830615B/zh active Active
- 2020-11-18 WO PCT/CN2020/129891 patent/WO2022104611A1/zh active Application Filing
- 2020-11-18 US US17/429,912 patent/US11762719B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166813A (zh) * | 2011-12-14 | 2013-06-19 | 中国电信股份有限公司 | 一种支持多厂家设备接入物联网的方法和系统 |
CN108173874A (zh) * | 2018-01-29 | 2018-06-15 | 海尔优家智能科技(北京)有限公司 | 一种智能设备管理方法、平台、系统、介质和设备 |
WO2019243787A1 (en) * | 2018-06-18 | 2019-12-26 | Arm Ip Limited | Pipeline template configuration in a data processing system |
CN111294401A (zh) * | 2020-02-10 | 2020-06-16 | 泰华智慧产业集团股份有限公司 | 一种物联网设备接入方法及装置 |
CN111953777A (zh) * | 2020-08-12 | 2020-11-17 | 北京泊菲莱科技有限公司 | 一种物联网平台接入设备管理系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706918A (zh) * | 2022-06-01 | 2022-07-05 | 杭州安恒信息技术股份有限公司 | 一种多类型数据库兼容方法、装置、设备、存储介质 |
CN114706918B (zh) * | 2022-06-01 | 2022-09-16 | 杭州安恒信息技术股份有限公司 | 一种多类型数据库兼容方法、装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114830615B (zh) | 2024-05-10 |
CN114830615A (zh) | 2022-07-29 |
US20220350685A1 (en) | 2022-11-03 |
US11762719B2 (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243704B2 (en) | Data pipeline architecture for analytics processing stack | |
WO2022104612A1 (zh) | 数据分发流程配置方法及装置、电子设备、存储介质 | |
US11265378B2 (en) | Cloud storage methods and systems | |
US9450895B2 (en) | Context-aware dynamic policy selection for messaging behavior | |
US10261829B2 (en) | Generating differences for tuple attributes | |
US20190050277A1 (en) | Router management by an event stream processing cluster manager | |
WO2022104611A1 (zh) | 数据分发系统及数据分发方法 | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
KR102565776B1 (ko) | 클라우드 서비스를 위한 방법 및 장치 | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
US9330188B1 (en) | Shared browsing sessions | |
CN114731342A (zh) | 从边缘设备到远程网络的托管数据导出 | |
CN113098942B (zh) | 一种分布式系统的数据处理方法及装置 | |
KR20220082768A (ko) | 클라우드에서의 지능형 비디오 빅데이터 분석 시스템 및 그 방법 | |
García et al. | NUBOMEDIA: an elastic PaaS enabling the convergence of real-time and big data multimedia | |
Tomczak et al. | Development of service composition by applying ICT service mapping | |
US12118111B2 (en) | Edge data processing utilizing per-endpoint subscriber configurable data processing workloads | |
Xu et al. | Roda: a flexible framework for real-time on-demand data aggregation | |
US20240348680A1 (en) | Data plane reduction for eventing components | |
Petrovic | Framework for model-driven semantic-enabled deployment of container-based virtual network functions to support edge computing and future internet services | |
Stoicuta et al. | An OpenNetInf-based cloud computing solution for cross-layer QoS: Monitoring part using iOS terminals | |
Houmani | Data-driven Management Solution for Microservice-based Deep Learning Applications | |
WO2024129064A1 (en) | System and method for ai policy-based auto assurance | |
de Sousa Bastos | Serviços de Computação para Análise de Sentimentos em Sistemas de Vídeo Conferência | |
CN117406960A (zh) | 一种敏捷分析场景的低代码社交数据计算平台和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20961902 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 10/01/2024) |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 10.01.24) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20961902 Country of ref document: EP Kind code of ref document: A1 |