WO2022261810A1 - 数据获取系统的构建方法及装置 - Google Patents
数据获取系统的构建方法及装置 Download PDFInfo
- Publication number
- WO2022261810A1 WO2022261810A1 PCT/CN2021/099995 CN2021099995W WO2022261810A1 WO 2022261810 A1 WO2022261810 A1 WO 2022261810A1 CN 2021099995 W CN2021099995 W CN 2021099995W WO 2022261810 A1 WO2022261810 A1 WO 2022261810A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- node
- module
- processing
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012545 processing Methods 0.000 claims abstract description 715
- 238000010276 construction Methods 0.000 claims abstract description 98
- 238000013461 design Methods 0.000 claims abstract description 45
- 238000005538 encapsulation Methods 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 108010038598 smooth muscle cell-derived migration factor Proteins 0.000 description 18
- 230000008520 organization Effects 0.000 description 11
- 238000003672 processing method Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 7
- 238000005111 flow chemistry technique Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000012938 design process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101150060512 SPATA6 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010619 multiway switching Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- 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
Definitions
- the present invention relates to the technical field of data acquisition, in particular to a method and device for constructing a data acquisition system.
- streaming data is a set of sequential, large, and fast-arriving data sequences.
- a data stream can be regarded as a network that grows infinitely over time.
- a collection of dynamic data In different application fields and different application scenarios, there are huge differences in the acquisition methods and systems of streaming data.
- the present invention provides a method and device for constructing a data acquisition system.
- the present invention by using standard stream processing nodes to construct a data acquisition system, the difficulty of constructing a data acquisition system is reduced, and the present invention can be applied to multiple A scenario for building a data acquisition system is more universal and convenient.
- the present invention provides the following technical solutions:
- a method for constructing a data acquisition system comprising:
- module information and module interconnection information of each of the collection and processing modules various workflows included in the data acquisition system are abstracted;
- the interface application information includes the information provided by each collection and processing module that the workflow passes through for the workflow.
- interface information of the interface based on the data space information of the workflow, the interface application information, and the data processing mode information, determine each data domain included in the processing path of the workflow, wherein the data domain is The workflow has a data area with the same flow data frame granularity during processing, and the level of the data field increases with the increase of the flow data frame granularity;
- each acquisition and processing module that the workflow passes through is determined as a target module, and the data domain information of the workflow is determined, and the data domain information contains information related to the work Attribute information of the data domain where each stream processing node corresponding to the stream is located; interface application information based on the workflow, data processing mode information, data domain information, and module information and module interconnection information of each target module , determining a target module corresponding to each stream processing node corresponding to the workflow, and determining position information of each stream processing node in the corresponding target module;
- each of the collection and processing modules determine each stream processing node corresponding to the collection and processing module, and generate module construction information of the collection and processing module based on the location information of each stream processing node;
- each of the collection and processing modules determine the cross-module interface node of the collection and processing module, based on the cross-module interface node, determine the collection and processing module that has a connection relationship with the collection and processing module, and connect the collection and processing module Connect with the collection and processing modules that have a connection relationship with it;
- each collection processing module For each collection processing module, according to the module construction information of the collection processing module, determine the node information of each stream processing node corresponding to the collection processing module, based on the node information of each stream processing node, Connect each stream processing node of the acquisition processing module with a cross-module interface node using a standardized packaged standard interface to obtain a module design file corresponding to the acquisition processing module, and deploy the module design file to the acquisition In the processing module, the construction of the data acquisition system corresponding to the construction request is completed.
- the determining the cross-module interface node of the acquisition processing module includes:
- cross-module interface node If there is no standard cross-module interface node corresponding to the cross-module interface type, construct the cross-module interface node of the collection and processing module based on the physical layer transmission medium and interface information of the collection and processing module.
- the determining each stream processing node corresponding to the acquisition processing module includes:
- the process of standardized encapsulation of standard interfaces includes:
- For each data interface in the collection and processing module determine the processing unit type of the collection and processing module where each data interface is located;
- each of the data interfaces is standardized and encapsulated to obtain a standard interface corresponding to each data interface.
- a standardized encapsulated standard interface to connect each stream processing node of the acquisition processing module with a cross-module interface node, including:
- For each of the stream processing nodes based on the connection information of the stream processing node, determine the target port of the target connection node corresponding to each port of the stream processing node, and the target connection node is connected to the stream processing node a stream processing node with a node connection relationship, and the target port is a port connected to the stream processing node in the target connection node;
- connection mode of the port is determined based on the node type of the stream processing node where the port is located, and the target connection node corresponding to the port is determined to be connected to the port. Whether the stream processing nodes at the location are all in the same collection and processing module;
- the target connection node corresponding to the port is not in the same collection and processing module as the stream processing node where the port is located, then determine the standard port corresponding to the port in the standard conversion module, and combine the port and the The interfaces between the standard ports corresponding to the ports are standardized and encapsulated, and after the working parameters of the standard conversion module are determined based on the data domain attributes of the ports, the standard conversion module is used to connect the ports with the Inter-module interface node connection, so that the port is connected to the target port corresponding to the port through the inter-module interface node;
- the target connection node corresponding to the port is in the same collection and processing module as the stream processing node where the port is located, standardize the interface between the port and the target port corresponding to the port, so as to A standard interface is obtained, and the connection mode of the port is applied through the standard interface, so that the port is connected to the target port corresponding to the port.
- a construction device for a data acquisition system comprising:
- the response unit is configured to determine the module information and module interconnection information of each collection and processing module contained in the data acquisition system to be constructed in response to the construction request sent by the user for construction of the data acquisition system;
- An abstraction unit configured to abstract various workflows contained in the data acquisition system according to the module information and module interconnection information of each of the collection and processing modules;
- a first determining unit configured to determine the data space information of the data transmitted in each of the workflows based on the number of channels and the length of working time of each of the workflows;
- the second determining unit is configured to, for each of the workflows, determine the data processing mode information and interface application information of the workflow, the interface application information includes each collection and processing module that the workflow passes through Interface information of the interface provided for the workflow; based on the data space information of the workflow, the interface application information and the data processing mode information, determine each data field included in the processing path of the workflow, wherein, the data domain is a data area having the same stream data frame granularity during workflow processing, and the level of the data domain increases as the stream data frame granularity increases;
- the third determining unit is configured to, for each of the workflows, determine each collection and processing module that the workflow passes through as a target module, and determine the data domain information of the workflow, the data domain
- the information includes attribute information of the data domain where each stream processing node corresponding to the workflow is located; interface application information, data processing mode information, data domain information and each target module based on the workflow Module information and module interconnection information, determining the target module corresponding to each stream processing node corresponding to the workflow, and determining the position information of each stream processing node in the corresponding target module;
- a generating unit configured to, for each of the collection and processing modules, determine each stream processing node corresponding to the collection and processing module, and generate module construction information of the collection and processing module based on the location information of each stream processing node;
- the fourth determining unit is configured to, for each of the collection and processing modules, determine a cross-module interface node of the collection and processing module, and determine a collection and processing module that has a connection relationship with the collection and processing module based on the cross-module interface node, and connecting the collection and processing module with the collection and processing module with which it has a connection relationship;
- the connection unit is configured to, for each of the acquisition processing modules, determine the node information of each stream processing node corresponding to the acquisition processing module according to the module construction information of the acquisition processing module, and based on each of the stream processing For the node information of the node, use the standard interface after standardized encapsulation to connect each stream processing node of the acquisition and processing module with the cross-module interface node to obtain the module design file corresponding to the acquisition and processing module, and convert the module design file to Deployed to the acquisition processing module to complete the construction of the data acquisition system corresponding to the construction request.
- the fourth determination unit includes:
- a first determining subunit configured to determine the cross-module interface type of the acquisition processing module
- the first judging subunit is used to judge whether there is a standard cross-module interface node corresponding to the cross-module interface type in the preset standard cross-module interface node library;
- the second determining subunit is configured to use the standard cross-module interface node corresponding to the cross-module interface type as the cross-module of the acquisition processing module if there is a standard cross-module interface node corresponding to the cross-module interface type interface node;
- the generating unit includes:
- An acquisition subunit configured to acquire information about each node type of the acquisition processing module
- the second judging subunit is configured to, for each of the node type information, determine whether there is a standard processing node corresponding to the node type information in the standard node library corresponding to the processing unit type of the acquisition processing module;
- the third determining subunit is configured to use the standard processing node corresponding to the node type information as the stream processing node corresponding to the collection processing module if there is a standard processing node corresponding to the node type information;
- the second construction subunit is configured to construct a stream processing node corresponding to the node type information based on the node information corresponding to the node type information if there is no standard processing node corresponding to the node type information, and The constructed stream processing node is used as the stream processing node corresponding to the acquisition processing module.
- the above-mentioned device optionally, also includes:
- the fifth determining unit is configured to, for each data interface in the collection and processing module, determine the processing unit type of the collection and processing module where each data interface is located;
- the sixth determination unit is configured to determine the data domain attribute of each of the data interfaces, and determine the flow data frame parameters and flow data frame information segment content of each of the data interfaces based on the data domain attributes of each of the data interfaces ;
- the input unit is configured to, for each of the data interfaces, apply the stream data frame parameters and stream data frame information segment content of the data interface to a preset standard stream data frame format module to obtain the standard stream of the data interface data frame format;
- the acquisition unit is configured to standardize and encapsulate each of the data interfaces based on the standard data interface type, working parameters, and standard stream data frame format of each of the data interfaces to obtain a standard interface corresponding to each of the data interfaces.
- connection unit includes:
- a parsing subunit configured to parse the node information of each of the stream processing nodes to obtain the node type and connection information of each of the stream processing nodes;
- the fourth determining subunit is configured to, for each of the stream processing nodes, determine a target port of a target connection node corresponding to each port of the stream processing node based on the connection information of the stream processing node, the target
- the connection node is a stream processing node that has a connection relationship with the stream processing node, and the target port is a port connected to the stream processing node in the target connection node;
- the third judging subunit is configured to, for each port in each of the stream processing nodes, determine the connection mode of the port based on the node type of the stream processing node where the port is located, and determine the port corresponding to the Whether the target connection node and the stream processing node where the port is located are both in the same collection and processing module;
- the first connection subunit is configured to determine the standard corresponding to the port in the standard conversion module if the target connection node corresponding to the port is not in the same collection and processing module as the stream processing node where the port is located port, standardize and encapsulate the interface between the port and the standard port corresponding to the port, and use the standard conversion module to apply the port after determining the working parameters of the standard conversion module based on the data domain attributes of the port
- the port is connected to the cross-module interface node in a connection manner, so that the port is connected to the target port corresponding to the port through the cross-module interface node;
- the second connection subunit is configured to, if the target connection node corresponding to the port and the stream processing node where the port is located are in the same collection and processing module, then perform a connection between the port and the target port corresponding to the port Standardized encapsulation is performed on the interfaces between them to obtain a standard interface, and the connection mode of the port is applied through the standard interface, so that the port is connected to the target port corresponding to the port.
- the present invention has the following advantages:
- the present invention provides a method and device for constructing a data acquisition system, the method comprising: in response to a construction request sent by a user for constructing a data acquisition system, determining the module information and module interaction of the acquisition processing module corresponding to the construction request Connect information, abstract the various workflows contained in the data acquisition system, determine the data space information of the data transmitted in each workflow, determine the various data domains that the workflow passes through in the processing path, and finally determine the Module build information for processing modules. Acquisition and processing modules whose interconnection relationship is determined through cross-module interface nodes. For each collection and processing module, each stream processing node is connected or connected to a cross-module interface node using a standardized packaged standard interface, so as to obtain a module design file with the collection and processing module.
- the stream processing nodes and connection methods in the design files of each module are deployed to the acquisition and processing modules where they are located, and the construction of the entire data acquisition system is completed.
- the method provided by the present invention should be used to abstract the workflow of the data acquisition system into a series of stream processing, abstract the stream processing process into a series of stream processing node connections, and use data space and data domain attributes to describe each stream processing node working parameters, so that the stream processing nodes used to construct the data acquisition system can be determined, and the required data acquisition system can be quickly constructed using the stream processing nodes.
- the stream processing nodes in the constructed data acquisition system are reusable, and can be used in When the system is adjusted or modified, there is no need to redesign, which saves a lot of time, and the construction method of the data system provided by the present invention is simple, uncomplicated and universal. Use the method provided by the invention to construct the required data acquisition system.
- Fig. 1 is a method flowchart of a construction method of a data acquisition system provided by an embodiment of the present invention
- Fig. 2 is another method flowchart of a construction method of a data acquisition system provided by an embodiment of the present invention
- Fig. 3 is another method flowchart of the construction method of a kind of data acquisition system provided by the embodiment of the present invention.
- Fig. 4 is another method flowchart of a construction method of a data acquisition system provided by an embodiment of the present invention.
- FIG. 5 is an example diagram of the definition of a stream data frame format of a stream data frame provided by an embodiment of the present invention
- FIG. 6 is a model schematic diagram of a multi-channel point-to-point interface model provided by an embodiment of the present invention.
- FIG. 7 is an internal implementation block diagram of a multi-channel point-to-point interface model provided by an embodiment of the present invention.
- Fig. 8 is yet another method flowchart of a construction method of a data acquisition system provided by an embodiment of the present invention.
- FIG. 9 is an example diagram of a data format of an index shared memory provided by an embodiment of the present invention.
- FIG. 10 is an example diagram of the relationship between a data space and a data domain of a stream provided by an embodiment of the present invention.
- Fig. 11 is an implementation block diagram of a collection unit for constructing a data acquisition system provided by an embodiment of the present invention.
- FIG. 12 is a schematic diagram of a model of a sensor readout node provided by an embodiment of the present invention.
- Fig. 13 is an implementation block diagram of a data summarization unit for building a data acquisition system provided by an embodiment of the present invention
- FIG. 14 is a block diagram of a data display and recording unit for building a data acquisition system provided by an embodiment of the present invention.
- FIG. 15 is a schematic structural diagram of a construction device for a data acquisition system provided by an embodiment of the present invention.
- the term “comprising”, “comprising” or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, but also includes none. other elements specifically listed, or also include elements inherent in such a process, method, article, or apparatus.
- an element defined by the phrase “comprising a " does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising said element.
- the present invention can be used to build platforms or systems of various data acquisition systems.
- the present invention can be used to build data acquisition systems.
- the data acquisition system constructed by applying the present invention has high reusability and reduces the cost of building data acquisition systems. Design effort to speed up data acquisition system implementation.
- the subject of execution of the method provided by the present invention may be a server or a processor in a platform for constructing a data acquisition system, wherein the processor includes a Field Programmable Gate Array (Field Programmable GateArray, FPGA); one provided by the present invention
- FPGA Field Programmable GateArray
- the user When the user needs to build a data acquisition system, he sends a construction request for building a data acquisition system to the execution subject, and the execution subject responds to the construction request sent by the user for building a data acquisition system, analyzes the construction request, and determines the required Module information and module interconnection information of each acquisition and processing module included in the constructed data acquisition system.
- the acquisition processing module described in the present invention refers to the hardware module that actually works in the data acquisition system, including but not limited to the hardware board for sensor data readout, the FPGA board for completing the data real-time processing function or Other hardware boards or computers containing single-chip microcomputers, CPUs or GPUs, etc.
- Each acquisition and processing module in the present invention is respectively subordinate to a certain module structure layer according to function, position and connection relationship, and all acquisition and processing modules are organized in a hierarchical manner, and the acquisition and processing of the same type with the same function and connection mode Modules are placed on the same module structure level.
- a data acquisition system contains at least one module structure layer, and each module interface layer contains at least one acquisition and processing module; further, when there are multiple module structure layers in the data acquisition system, each module structure layer is divided according to the distance sensor/ The near and far positions of the detectors increase layer by layer in order from near to far.
- Each module structure layer only has direct data channels between its internal collection and processing modules, or between its internal collection and processing modules and its adjacent upper and lower level collection and processing modules, that is, between adjacent module structure layers There is a direct data channel, such as optical fiber, twisted pair, coaxial cable, wireless signal, etc.; there is no direct data channel between non-adjacent module structure layers.
- the module interconnection information of the acquisition processing module in the present invention refers to the upper-lower relationship and the adjacent relationship of the module structure layer where the acquisition processing module is located, as well as the module structure layer where the acquisition processing module is located and the module structure layer Information such as the interconnection mode, number of connections, and transmission capabilities between each acquisition and processing module in the module structure layer of other levels.
- the module information of the collection and processing module in the present invention includes but not limited to the module type of the collection and processing module, interface information, the number of connected sensor channels and module processing capabilities, etc., wherein the interface information includes but is not limited to the number of input interfaces and the number of output interfaces , the interface type and data transmission capability of the input interface and output interface.
- workflows include but are not limited to data flow, command flow, log flow, status flow, and command feedback flow.
- the streams in the present invention have the same data transmission direction and the same processing method.
- a series of data channels with the same data content and data structure frame the data within a certain channel range and time range according to a certain organization method, and send data frames in chronological order.
- the workflow of the entire data acquisition system is abstracted into a corresponding independent workflow.
- the data of sensors/detectors and their corresponding processing methods are abstracted as data streams and the cascade of various stream processing nodes on the data streams, and operations such as parameter configuration and work control of sensors/detectors are abstracted into command streams and their processing nodes Abstract the return result of the read command as a command feedback flow, abstract the output of temperature and voltage sensors on various acquisition and processing modules as a state flow, and abstract various work messages in the system into an emergency message flow according to the degree of urgency and log streams etc.
- the characteristics of streams include but not limited to the type of stream, the data source and generation method of the stream, the transmission direction and final destination of the stream, the number of channels in the stream and the definition of data structure , the types of acquisition and processing modules actually passed through in the transmission of stream data frames, the number of input and output ports of streams in each acquisition and processing module, and the processing methods that need to be performed on streams (such as the number of merge or fan-out operations required and location, and other operations such as flow control, information extraction, and data filtering).
- the data space in the present invention refers to the time range and channel range that all data in the workflow may contain, wherein the time range is determined by the working time length, and the channel range can be determined by the number of channels.
- the interface application information includes each collection and processing module that the workflow passes through as the workflow The interface information of the provided interface; based on the data space information of the workflow, the interface application information and the data processing method information, determine each data field included in the processing path of the workflow, wherein the data A domain is a data area with the same flow data frame granularity during workflow processing, and the level of the data domain increases as the flow data frame granularity increases.
- the interface application information includes the interface information of the interface provided for the workflow by each collection and processing module that the workflow flows through, wherein, the interface provided by the collection and processing module for the workflow includes an input interface and an output interface, and the interface information includes The number of input interfaces and the number of output interfaces.
- the data field in the present invention is a data area that has the same flow data frame granularity in the workflow process, wherein the flow data frame granularity is the number of channels and the size of the time range; wherein, there are levels in the data field, and the level of the data field can be based on
- the granularity of stream data frame is defined according to the granularity of stream data frame.
- the data domain with smaller granularity of stream data frame is defined as low-level data domain, and the data domain with larger granularity of stream data frame is defined as high-level data domain. The larger the value, the higher the level of the data domain.
- the workflow in the present invention contains at least one data domain during the processing process.
- On the processing path of the workflow there are often multiple data domains accompanied by multiple merge or fan-out operations.
- the data field where the flow data frame is located will change. Therefore, the data frame of the low-level data field from multiple ports can be merged to generate a data frame of the high-level data field, and the data frame from the high-level data field can also be passed through
- the fanout operation results in data frames of multiple low-level data fields destined for multiple ports.
- the merging operation can be implemented through the merging node, and the fan-out operation can be implemented through the fan-out node.
- the data domain information also becomes the data domain attribute, wherein, the data domain information is composed of the attribute information of the data domain, and the attribute information includes but not limited to the data organization granularity (channel range and time range size), the channel position and time position offset of the current data domain in its superior data domain, the information fields contained in the stream data frame in the current data domain, and the specific format parameters of each information field, etc.
- the data domain information is composed of the attribute information of the data domain
- the attribute information includes but not limited to the data organization granularity (channel range and time range size), the channel position and time position offset of the current data domain in its superior data domain, the information fields contained in the stream data frame in the current data domain, and the specific format parameters of each information field, etc.
- each collection and processing module that the workflow passes through as a target module determines the data domain information of the workflow, and the data domain information contains information related to the attribute information of the data domain where each stream processing node corresponding to the workflow is located; interface application information, data processing mode information, data domain information, and module information and module interaction of each target module based on the workflow Link information, determine the target module corresponding to each stream processing node corresponding to the workflow, and determine the position information of each stream processing node in the corresponding target module.
- the stream processing node in the present invention is a software process running on FPGA logic unit or CPU that is located on each acquisition processing module and configured through different working parameters to complete specific basic functions.
- the module construction information of the acquisition processing module includes but is not limited to the type of stream processing node running in the acquisition processing module, the working parameters of the stream processing node and its connection information.
- the data processing process of the workflow is abstracted into a series of stream processing that completes data processing operations such as merging, fan-out, broadcasting, information extraction, and filtering Cascading of nodes; further, the data fields of the workflow during the transmission process will change as they pass through the merge node or fan-out node, and the granularity of the current data field will also be inserted into each data field for other flow processing of data processing operations Node; because the location of the merge node and the fan-out node is related to the collection and processing module information and its interconnection information that the workflow passes through, the data domain of each workflow is directly related to the division of the module structure in the data acquisition system .
- each flow processing node of the workflow is assigned to each module structure layer, and the current module structure layer is determined.
- Types of stream processing nodes that need to be run in each collection and processing module data domain information, and connection relationships of stream processing nodes.
- each collection processing module For each collection processing module, determine each stream processing node corresponding to the collection processing module, and generate module construction information of the collection processing module based on the location information of each stream processing node.
- each collection and processing module For each collection and processing module, determine each stream processing node in the collection and processing module, and generate the module construction information of the collection and processing module according to the location information of each flow processing node; wherein the location information includes but not limited to stream Handles node information and connection information for a node.
- each collection processing module determines the cross-module interface node of the collection processing module, determine the collection processing module that has a connection relationship with the collection processing module based on the cross-module interface node, and connect the collection The processing module is connected with the collection and processing module with which it has a connection relationship.
- the interface information of the collection processing module includes, but is not limited to, the interface type and the number of the output interface and the input interface of the collection processing module.
- the functional information of the collection and processing module may specifically include information such as the function of the collection and processing module and the type of operation that the collection and processing module can process the data frame, such as merging, normalizing, decoding, encoding and other operations on the data frame; wherein,
- the cascading information includes the specific position of the data processing module in the data acquisition system to be constructed;
- the module interconnection information includes but is not limited to the information of the acquisition and processing module to be connected to the acquisition and processing module and the corresponding information in the acquisition and processing module. According to the connection information of the stream processing module, the collection and processing module to be connected to the collection and processing module can be determined according to the module connection information, and the collection and processing module to be connected to the collection and processing module can be connected.
- the cross-module interface node of the present invention is a special stream processing node, and the cross-module interface node exists in the form of an FPGA module or a software process, and its function is based on the data transmission channel between two collection and processing modules. Encapsulation, so as to provide a transparent data channel including two directions and multiple point-to-point connections for the transmission of multiple streams between two collection and processing modules, and connect with other stream processing nodes through standard interfaces.
- the specific implementation of the cross-module interface node is related to the type of data channel actually used between the two collection and transmission modules.
- a pair of cross-module interface nodes (located in the two collection and processing modules respectively) needs to be constructed between any two collection and transmission modules.
- multiple groups of cross-module interface nodes need to be constructed. Since there may be multiple flows from two directions (uplink or downlink) between two collection and processing modules for data transmission through the same actual data transmission channel, it is necessary to base Assign information, set the number of uplink ports and downlink ports facing stream processing node side of cross-module interface nodes.
- the connection unit also needs to connect the corresponding data channels between the interconnected collection and processing modules to complete the connection of the cross-module interface node.
- each collection processing module determines the node information of each stream processing node corresponding to the collection processing module, based on the node information of each stream processing node Information, using standardized encapsulated standard interfaces to connect each stream processing node of the collection processing module with the cross-module interface node to obtain a module design file corresponding to the collection processing module, and deploy the module design file to the In the collection and processing module mentioned above, to complete the construction of the data acquisition system corresponding to the construction request.
- the module design file When deploying the module design file to the acquisition and processing module, the module design file can be deployed to the acquisition and processing module by means of FPGA logic compilation and download, CPU process operation, etc. Further, the acquisition and processing module of the deployed module design file is real-life The collection and processing modules of the system; after all the collection and processing modules are deployed, the construction of the data acquisition system is completed.
- the module information and module interconnection information of each collection and processing module included in the data acquisition system to be constructed are determined; according to each Collect the module information and module interconnection information of the processing module, and abstract the various workflows contained in the data acquisition system; based on the number of channels and working time length of each workflow, determine the data space information of the transmitted data in each workflow ;
- the interface application information includes the interface information of the interface provided for the workflow by each collection and processing module that the workflow flows through; based on the workflow According to the data space information, interface application information and data processing information, determine the various data domains included in the workflow processing path; for each workflow, determine each collection and processing module that the workflow flows through as the target module , and determine the data domain information of the workflow; according to the workflow interface application information, data processing method information, data domain information, module information and module interconnection information of each target module, determine
- the module information and module interconnection information of the acquisition processing module corresponding to the construction request are determined, and each workflow in the data acquisition system is abstracted, based on each The data space information transmitted in each workflow, determine the data field information in the processing path of each workflow, and finally determine the module construction information of each collection and processing module; based on the module construction information and cross-module interface nodes, there will be a connection relationship connected to the collection and processing modules; connect the stream processing nodes and cross-module interface nodes in each collection and processing module using standardized encapsulated standard interfaces to obtain the module design files of the collection and processing modules, and deploy the module design files to the collection In the processing module, the construction of the data acquisition system is completed.
- the present invention uses stream processing nodes to build a data acquisition system without designing each functional module, and the stream processing nodes in the constructed data acquisition system have reusability, and do not need to be redesigned when adjusting or modifying the system. It saves a lot of time, and the construction method of the data system provided by the present invention has a simple, uncomplicated and universal construction process, which reduces the difficulty of constructing the data acquisition system, so that non-specialized personnel can also use the present invention
- the provided methods build the required data acquisition system.
- FIG. 2 it is a flowchart of a method for determining cross-module interface nodes of an acquisition processing module provided by an embodiment of the present invention, and the specific description is as follows:
- the cross-module interface type of the acquisition and processing module is determined, and the cross-module interface type is used to represent the type of cross-module interface node required by the acquisition and processing module.
- S202 Determine whether there is a standard cross-module interface node corresponding to the cross-module interface type in the preset standard cross-module interface node library; if there is a standard cross-module interface node corresponding to the cross-module interface type, execute S203: If there is no standard cross-module interface node corresponding to the fast module interface type, execute S204.
- the standard cross-module interface node library is used to save the standard cross-module interface node; in the method provided by the present invention, regardless of the physical layer, link layer and transport layer of the transmission interface between the collection and processing modules Regardless of the method, the transmission interfaces between the acquisition and processing modules are abstracted into a unified model, that is, the form of cross-module interface nodes.
- the specific characteristics are: 1. Cross-module interface nodes always appear in pairs, respectively located in the 2. There is a pair of cross-module interface nodes between every two interconnected collection and processing modules; 3. There may be multiple cross-module interface nodes in a pair of cross-module interface nodes. Stream transmission channel; 4.
- each stream transmission channel is independent of each other; 5.
- Each stream transmission channel in the cross-module interface node is "transparent" to the stream data frame transmitted in it, that is, for each stream
- the ports in the cross-module interface nodes use the same interface.
- the standard cross-module interface node corresponding to the cross-module interface type is used as the cross-module interface node of the acquisition processing module, and the working parameters are configured for the cross-module interface node, so that the cross-module interface node can work according to the working parameters.
- the function information, module construction information, module interconnection information, and port application information of the collection and processing module can be analyzed to obtain the cross-module interface node information of the collection and processing module.
- the cross-module interface node information includes the node position and Working parameters, the obtained working parameters can be configured as a cross-module interface node, or the working parameters can be configured to the standard cross-module interface node corresponding to the cross-module interface type, and the standard cross-module interface node with working parameters configured As a cross-module interface node of the collection and processing module.
- the cross-module interface node in the present invention uses optical fiber, network cable, twisted pair, coaxial cable, computer bus, etc. to connect with the acquisition process that has a connection relationship with the node according to the difference in the physical layer transmission medium and material interface used in the design. module.
- FIG. 3 it is a flowchart of a method for determining each stream processing node corresponding to the acquisition processing module provided by the embodiment of the present invention, and the specific description is as follows:
- each node type information corresponds to a stream processing node
- the node type information includes the node type and Work parameter information.
- the processing unit types of the acquisition processing module include but are not limited to FPGA types and CPU types, and different processing unit types correspond to different standard node libraries.
- a number of standard processing nodes are stored in the standard node library.
- the standard processing nodes in the standard node library include some flow control nodes commonly used in traditional stream processing systems, as well as the specific nodes corresponding to the data acquisition process in this solution.
- a series of standard processing nodes, the unique standard processing nodes in the present invention all have the following characteristics: 1), the interfaces in the nodes are standard interfaces after standardized encapsulation; 2) the functions of the nodes all involve data related to the definition of standardized interface protocols Operation; 3) are all through the abstraction of the common basic data processing process in the data acquisition system, so that a limited type of standard stream processing can be grounded, which covers most of the data processing operations in the data acquisition system.
- the node type information can be traversed through each standard processing node in the standard node library, and then judge whether there is a standard processing node corresponding to the node type information in the standard node library. processing nodes.
- the data frame normalization node which is characterized by: the input and output ports of the node are located in the same data field, and it has multiple input ports and one output port.
- the output of the output port is to send the data frames with the same time coordinates input to all input ports in sequence according to the spatial coordinates, keeping the content of the data frames unchanged, and actually completing the spatial sorting of each data frame;
- the data frame is distributed to nodes (Map_T, Map_S) according to time/space, which is characterized by: the input and output ports of the nodes are located in the same data domain, and there is one input port and multiple output ports. For each data frame arriving at the input port, the node selects a certain output port to output according to the time offset address information (distributed by time) or space offset address information (distributed by space) of its superior data field, which is actually completed Each data frame is parallelized according to a simple hash expression (modulo).
- the data merge node which is characterized in that the input port of the node is located in the low-level data domain, including all the sub-data domain entries of the upper-level data domain (it can be multiple input ports, or it can be sorted by the Regularizer node An input port of ), and the output port is located in the superordinate data domain.
- the operation of merging the data frames of multiple low-level data domains into the data frame of the upper-level data domain is completed.
- the basic implementation algorithm is the bucket sorting algorithm of hardware or software (for dense data organization) or merge sort (for sparse data organization) case), the algorithm implementation parameters are determined by the attributes of the two data domains;
- the data distribution node (Map), whose function is just opposite to the Merge node, is characterized in that the input port of the node is located in the upper-level data domain, and the output ports are respectively connected to each sub-data domain.
- the node determines the route of the data frame (the location of the output port) through the space address information in the data frame, and sends the input data frame to the corresponding output port. Please note that its function is different from that of Map_T and Map_S nodes.
- data feature extraction node which is a stream data processing node that exists in the form of a filter
- the input is a data stream
- the output is a state stream.
- Its feature is to maintain a one-dimensional array, the length of the array is the same as the spatial range of the data field, and it is used to store the data characteristics of the corresponding spatial coordinates. For each data in the flowing data stream, it is stored in the array of the corresponding channel. A two-operand operation, the result of the operation is stored in the array as a new array value.
- the optional two operands include: replacement (used to save the latest data update of each channel), numerical summation (used to save the cumulative energy of a certain channel), plus 1 operation (used to save the cumulative data number of a certain channel )Wait.
- replacement used to save the latest data update of each channel
- numerical summation used to save the cumulative energy of a certain channel
- plus 1 operation used to save the cumulative data number of a certain channel )Wait.
- the data of the array is used as the starting point of the state flow, which can be used to detect the operating state of the system;
- Trigger node which is a stream processing node in the form of a filter, its input is a data stream interface, a command stream interface (or an external trigger signal line), and its output is a data stream interface.
- the command stream is required to send the trigger command frame regularly at the interval of the current data field time width of the data stream, and the trigger command frame will be received in the node.
- the trigger command frame is not empty (or when the trigger signal line has a valid signal)
- select The data frames within a certain time range (time window) before and after the time stamp (or trigger moment) in the current trigger command flow are used to implement the trigger selection operation in the data acquisition system.
- the command distribution node located in the FPGA physical node, its main function is to forward the received command to the path where the command object is received; it is composed of the broadcast node of the command stream and the filter node for judging its path It is composed of the corresponding encoder/decoder; the input is the AXIS interface, and the output is the AXIS interface to the lower node and the SDMF interface to the local node.
- the command feedback flow merging node located in the FPGA physical node, its main function is to summarize the local and subsequent level command feedback flow data frames and forward them to the upper level, and the multiplexer and corresponding encoder of the command feedback flow /decoder configuration.
- the input interface is the AXIS interface from the lower physical node and the SDMF interface from the local node
- the output interface is the AXIS interface sent to the upper physical node.
- the snapshot node located in the software node, its main function is to save a copy of the latest data frame for the input data frame of a flow, for the use of the back-end monitoring system and data analysis system.
- the standard processing nodes contained in the standard node library are not limited to the above-mentioned standard processing nodes, and may also include encoding/interface conversion between the AXIS interface and the SDMF interface inside the FPGA.
- the decoding node decoder/encoder
- the sending/receiving node Transmit/Receive
- the storage node Save
- the display node Display
- the process management node Process Management node
- various nodes for flow control such as flow broadcast (Broadcast), Multiplexing/demultiplexing (Mux/Demux), demultiplexing (Switcher), etc.
- FIFO for data caching
- vFIFO virtual FIFO built using DDR
- each standard processing node is related to the data processing tasks to be executed by the data acquisition system to be built, each standard processing node is a standardized stream processing node, and the data acquisition system constructed using the standard processing node
- the system can complete common online data processing such as data information extraction, case trigger judgment, and case assembly (data merging) in a unified manner.
- the standard processing node corresponding to the node type information is used as the stream processing node corresponding to the collection processing module, and further, the working parameter information in the node type information can be used as the stream processing node The working parameters of the stream processing node to work based on the working parameters.
- the node information corresponding to the node type information determines the node information corresponding to the node type information, and construct a stream processing node corresponding to the node type information according to the node information, and convert the work in the node type information to
- the parameter information is configured as the working parameters of the stream processing node, and the configured stream processing node is used as the stream processing node corresponding to the acquisition processing module; the node information includes the node type, node function and other information of the stream processing node to be constructed . Further, after the stream processing node is constructed, the stream processing node can be saved in the standard node library as a standard stream processing node.
- the standard processing nodes in the standard node library can be directly used.
- the required standard processing nodes do not exist in the standard node library, the required standard processing nodes can be directly constructed.
- Standard processing nodes whose construction is simple and easy to understand, have great convenience, which can further improve the practicability and flexibility of building data processing modules, and the built standard processing nodes are reusable, without repeated construction The same nodes further improve the efficiency of building a data processing system and simplify the process of building a data acquisition system.
- the processing unit types of the acquisition processing module include but are not limited to FPGA types and CPU types.
- S402. Determine the data domain attribute of each of the data interfaces, and determine the stream data frame parameters and stream data frame information segment content of each of the data interfaces based on the data domain attributes of each of the data interfaces.
- the data field attribute can be determined according to the ports at both ends of the data interface, and according to the determined data field attribute, the parameters of the flow data frame and the content of the information segment of the flow data frame can be determined.
- Stream data frame parameters include but not limited to the attribute information of the data space corresponding to the acquisition processing module and the attribute information of the data domain corresponding to the data interface; further, the stream data frame parameters of these data interfaces determine the data acquisition system to be built The time and space scale of the stream data space, the specific format and information extraction method of metadata in the stream data space, the specific length of each information segment in the stream data frame, the organization mode of metadata, etc.; among them, each data interface The stream data frame parameter also determines the mapping relationship between the data blocks in the stream data frame transmitted by the data interface and the data blocks in the stream data frame transmitted by the data interface associated with the data interface.
- the stream data frame information segment which includes but is not limited to: Stream Frame Head, Stream Frame Length, Father Domain Start Time Index, The time offset address of the current data domain in the upper-level data domain,), the starting space coordinates of the parent data domain (Father Domain Start Space Index, the space offset address of the current data domain in the upper-level data domain), and the current data frame contains The number of data blocks (Block Number), the properties of each data block (Block Properties), the data payload (Block Data) of each data block, and the reserved frame tail (Stream Frame Tail) and out-of-band data (Outband Data) , user-defined information field) and other content; wherein the stream data frame header (Stream Frame Head) includes but not limited to: stream ID, data field number, start and stop criteria, empty/non-empty flag and other information; the data block Attributes (Block Properties) include but are not limited to: the start time address (Start Time Index) and start space address (Start Space Index) of the current data block in the current data domain,
- the stream data frame parameters and stream data segment content can be applied to the preset standard stream data frame format template, thereby determining the data The stream data frame format of the stream data frame transmitted by the interface, thereby defining the data structure of the stream data frame of the data interface.
- the definition of the stream data frame format of the stream data frame includes the definition of the stream data frame information segment in the stream data frame format, the definition of the data block attributes in the stream data frame information segment, and the data about the data block in the stream data frame information segment Definition of the payload; specifically, the definition of the stream data frame format of the stream data frame includes the data frame header, the length of the data frame, the starting time coordinates of the parent data field, the starting space coordinates of the parent data field, and the data of the current data frame Number of blocks, data block attributes, data payload of data blocks, out-of-band data, data frame tail, etc.
- the data block attributes may include the starting time address of the current data block in the current data domain, the starting space address of the current data block in the current data domain, the time address length of the current data block, the space address length of the current data block, the data block Data arrays such as length and content such as data.
- the organization of data block properties and its data payload is determined by different data block types.
- FIG. 5 it is an example diagram of the definition of a stream data frame format of a stream data frame provided by an embodiment of the present invention.
- FIG. 5 can also be called an example diagram of the definition of a standard protocol frame format of a stream data frame, as
- the standard protocol frame 502 consists of data frame header, data frame length, parent data field start time coordinates, parent data field start space coordinates, number of data blocks, out-of-band data, data frame tail, multiple data blocks Attributes and their data payloads, where the data block attributes and data payloads exist in pairs.
- data blocks can be divided into four possible types, namely "fixed data width, fixed number of data” type, “fixed data width, variable number of data” type, “data Width change” type and “sub-data frame” type; the structure definition of each type of data block attribute and its corresponding data payload is shown as 501 and 503 in FIG. 5 .
- the working scenario represented by the type of "fixed data width and fixed number of data” is: the data corresponding to each channel at each moment has a fixed length, and all channels within the range of a continuous channel with a certain length in the current data domain, in The data at each moment is continuously output within a time range of a certain length to constitute the content in the data block.
- the data payload contains a certain number of metadata, which are organized in the form of a data matrix, that is, each metadata of each channel within the effective time range is output in sequence according to the order of the channels, and all metadata depends on its presence in the data
- the offset position in the matrix is used to determine its time and space coordinates in the data domain, without explicitly transmitting the time and space coordinate information of each data.
- the data block attribute can be defined by starting time address, time address length, starting space address and space address length.
- the working scenario represented by the "fixed data width, variable number of data” type is: the data corresponding to each channel has a fixed width at each moment, but there will be a random number of channels within the time and space range of the current data domain Output data at random times.
- all the data in the data domain is divided into one or more data blocks for transmission.
- the data payload of each data block contains each metadata that is sequentially output according to the channel and time sequence.
- Each metadata is generated by the currently generated data.
- the space address of the channel in the current data block, the time address in the current data block at the moment corresponding to the current data, and the data content are spliced together, and each metadata also has a certain width.
- the attribute of the data block can be defined by the start time address and the start space address of the current block in the data field, and the total length of the data payload in the data block (data block length).
- a channel may have variable width data at a certain moment. At this time, each such data in the space-time range corresponding to a data field is treated as a separate block, and the data payload is this variable-length data.
- the attribute of the data block can be the starting time address of the current data in the data field , start space address and data block length (that is, the width of the current data) to define.
- the working scenario represented by the "sub-data frame” type is: the data payload of each data block is a complete data frame (sub-data frame) in its subordinate data domain.
- the data block attribute only contains the data of the current sub-data frame Length information (data block length), the time address offset and space address offset of each sub-data frame in the current data domain can be described by the parent data domain start time coordinate and parent data domain start space coordinate in the sub-data frame .
- the stream data frame transmitted by the data interface contains a certain information segment, the specific length of the included information segment, the specific organization of the data block, etc. are all determined by the data frame parameters; among them, in the same data field
- the stream data frames transmitted between the data interfaces of the stream processing nodes below all use the same stream data frame format, that is, the stream data frames transmitted between the data interfaces under the same data domain all adopt the same data structure.
- the stream data frame may flow in a serial frame, and the internal information segments of the stream data frame may also exist in the data of the stream processing node in a parallel manner. interface.
- the present invention standardizes and encapsulates the data interface to obtain a standard interface, and applies the standard interface so that the data frame processed in the data acquisition system to be constructed has a standard transmission form and processing method.
- the standard data interface type specifically includes the following types:
- AXI4-Stream interface (abbreviated as AXIS interface), wherein, the interface is inside the FPGA, the interface used for data transmission between the stream processing node and the link layer interface of the external interface, and is used to transmit standard stream data frame;
- SDMF interface Standard D-Matrix FPGAinterface interface
- the interface is inside the FPGA, the interface used for data transmission between two stream processing nodes, this interface is a custom interface, its basic idea
- SDMF interface Standard D-Matrix FPGAinterface interface
- the file descriptor interface is inside the computer, and the interface is essentially a software interface, which is used for data transmission between the stream processing node and the external communication interface (driver program).
- Standard character device file descriptors (similar to sockets, pipes, and FIFOs) are implemented to conform to the general practice within the operating system;
- SDMS interface Standard D-Matrix Software interface
- this interface is inside the computer, this interface is used for data transmission between stream processing nodes, this interface is a custom interface, its basic design idea It is a task queue + shared memory interface, and each stream processing node is designed as a computer internal process, using shared memory to complete data exchange, and using task queues to be responsible for the transfer of stream data frame processing tasks between processes to reduce unnecessary data replication overhead.
- each data interface of the stream processing node mainly responsible for data processing adopts SDMF interface or SDMS interface.
- the SDMF interface when the SDMF interface transmits data frames, there are two types of data frames: non-empty data frames and empty data frames, and the working sequence of the SDMF interface is different when transmitting non-empty data frames and transmitting empty data frames.
- the interface model encapsulated into the data interface is a multi-way point-to-point interface model.
- the multi-way point-to-point interface model is described.
- the model schematic diagram of the multi-way point-to-point interface model is shown in Figure 6.
- the multi-way point-to-point interface model includes an uplink transport layer and a downlink transport layer. There are multiple uplink transmission channels, and the downlink transmission layer also contains multiple downlink transmission channels.
- each stream transmitted in the data interface is represented as a pair of transparent input/output interface pairs in the model, and each stream is logically independent from each other. Among them, the data interface Each stream transferred corresponds to a data transfer channel.
- each flow has a blocking feature through this data interface, that is, when the data receiving end cannot receive When data (blocking), the sender should stop sending through appropriate data buffering and notification mechanisms until the blocking state ends.
- the system has data compression requirements for some streams, it can also be realized by adding compression/decompression modules that appear in pairs at the sending end and receiving end.
- various interfaces are encapsulated into the same model in the present invention, so that the data transmission process in the data acquisition system separate from data processing.
- each data interface of the stream processing node is preprocessed to define the interface of each data interface and the format of the stream data frame transmitted by the data interface, so that the same
- the data frame transmitted by the data interface defined by the interface definition and the format of the stream data frame has the same characteristics, so that such data interfaces can be connected to each other, and the flexibility is higher when using the stream processing node to build a data processing module.
- the multi-way point-to-point interface model adds different designs according to the situation of the actual data interface.
- the data rate of the uplink channel (data flow/status flow/error report flow) in the constructed data acquisition system is far greater than that of the downlink
- the node, combined with data buffering, implements the blocking characteristics of each flow in the uplink channel.
- nodes such as data frame check code generation/data frame check code check, data frame splitting/reassembly, data compression/decompression, channel arbitration/distribution, etc. are selectively added.
- the present invention provides an internal implementation block diagram of a multi-way point-to-point interface model, specifically as shown in Figure 7, shown in the figure is a fiber channel that only includes the basic physical layer/link layer interface
- the block diagram of the model above contains multiple components, among which data compression and data decompression are optional components, and different components are selected in different data transmission layers.
- the interface of each component in the figure is a unified AXIS interface.
- AXIS interface By selectively adding components to different transmission paths, a variety of standardized components are provided for the data transmission of different streams, and finally ensure that cross-physical nodes transparent connection.
- the unified standard AXIS interface is used in the figure, so for different interfaces (optical fiber, differential cable, network port, etc.) Modules implement support for different interfaces, so as not to affect the design of other parts of the data acquisition system.
- the node information is obtained by parsing the module construction information of the acquisition processing module, and the node information includes information such as the node type, working parameters, and connection information of the stream processing node.
- each of the stream processing nodes based on the connection information of the stream processing node, determine a target port of a target connection node corresponding to each port of the stream processing node, where the target connection node is connected to the The stream processing node has a connection relationship with the stream processing node, and the target port is a port connected to the stream processing node in the target connection node.
- each port in each of the stream processing nodes determine the connection mode of the port based on the node type of the stream processing node where the port is located, and determine the target connection node corresponding to the port and the Whether the stream processing nodes where the port is located are all in the same collection and processing module; if the target connection node corresponding to the port is not in the same collection module as the stream processing node where the port is located, then execute S804; if the The target connection node corresponding to the port is in the same collection and processing module as the stream processing node where the port is located, and S805 is executed.
- the node types of stream processing nodes can be divided into two types, one is a stream processing node in the form of an FPGA module, and the other is in the form of a software process Stream processing nodes.
- the port connection method of the stream processing node in the form of an FPGA module is to generate an FPGA top-level design file, and use the signal in the FPGA top-level design file to directly connect the stream processing node in the form of an FPGA module that needs to be connected, and finally obtain a complete top-level design document.
- connection mode of stream processing nodes in the form of software processes is to use inter-process communication, and the connection is completed by referencing the same shared resources in the stream processing nodes that need to be connected, such as shared memory, semaphore or message queue.
- the stream processing nodes in the form of software processes are connected through the SDMS interface.
- the SDMS interface uses shared memory as a container for data storage, and uses a standard message queue as a channel for task delivery between nodes. Different processes in the same physical node can achieve data interaction by accessing data frames in the same piece of memory, which can reduce the copying overhead caused by data flowing inside the physical node.
- the shared memory management adopts the memory pool management method. When the physical node is initialized, it first applies for a large piece of continuous memory and divides it into two parts, key_shm and aux_shm. Each node applies for shared memory from the memory pool using a method similar to the application method of kernel malloc to allocate memory.
- the shared memory pool is divided into the following two sub-pools: 1) data shared memory key_shm, used to store standard data frames in each stream; 2) index shared memory aux_shm, used to store index information of a data frame.
- the data format of the index contribution memory in the present invention includes the overall description information of the data frame, a data block list and a channel list; wherein, the data block list includes at least one data block, and the channel list includes at least one channel.
- the index contribution memory in the present invention also includes a FrameDescriptor structure, a BlockDescriptor structure and a Struct Channel Descriptor structure; wherein, the FrameDescriptor structure is used to preserve the overall description information for a data frame; the BlockDescriptor structure is used to preserve the data block Description.
- the data format of the indexed shared memory is shown in FIG. 9.
- the data format of the indexed shared memory is composed of a frame descriptor 901, a block descriptor list 902, and a channel descriptor list 903, wherein the block descriptor
- the linked list 902 contains descriptors of 4 data blocks, which are respectively data block 1 descriptor, data block 2 descriptor, data block 3 descriptor and data block 4 descriptor;
- the channel descriptor linked list 903 contains multiple Descriptors, specifically, each channel has two descriptors, as shown in the figure, it specifically includes descriptor 1 and descriptor 2 of channel 1, and descriptor 1 and descriptor 2 of channel 2.
- the frame descriptor 901 is composed of a FrameDescriptor structure 904, which is obtained by encoding the FrameDescriptor structure 904, and the encoding content of the FrameDescriptor structure 904 is as follows:
- the descriptor of the data block in the block descriptor link table is composed of the BlockDescriptor structure 905, which is defined by coding.
- the BlockDescriptor structure 905 in the data block 2 descriptor is used as an example for illustration.
- the BlockDescriptor structure The encoded content of 905 is as follows:
- the channel descriptor in the channel description list is composed of a ChannelDescriptor structure 903, which is defined by coding, and is exemplified by the ChannelDescriptor structure 903 in the No. 2 descriptor of channel 1 in the channel description link list Instructions, the encoded content of the ChannelDescriptor structure 903 is as follows:
- the above content is the content of explaining the data format of the index shared memory based on FIG. 9 .
- the inter-node transmission interface adopts message queues, and the underlying implementation of queues can also be queues based on shared memory and synchronization primitives (semaphore, etc.), or boost.mqueue can also be used.
- the interface is a standard single-producer single-consumer model. The previous node puts the aux_shm_addr type task of the FrameDesc starting address into the queue, and the subsequent node takes the task out of the queue, and accesses the FrameDesc and BlockDesc in aux_shm to complete further data frame analysis.
- the port of the stream processing node in the present invention is connected to the port that has a connection relationship with the port by calling a standardized packaged standard interface, so that the stream processing node can be connected to the stream processing node that has a connection relationship with the stream processing node;
- the ports in the invention need to adopt the same type of standard interface.
- the construction of a data acquisition system for marine time-lapse seismic is taken as an example for illustration, wherein, the data processing module of the data acquisition system for marine time-lapse seismic to be constructed has three parts, which are water Lower streamer system, data collection unit and data display recording unit.
- the collection and processing module can be a basic module for building a data acquisition system, and this module is used to collect electrical signals, where the collection and processing module can be a detector system, further, here The detector system can be called a stream data source module.
- the detector system has different organization and connection relationships, and often shows different hierarchical relationships in space, and has different organizational granularity at different levels; for example: a detector system One front-end electronics chip is responsible for reading the data of 32 channels, one front-end electronics plug-in contains 4 such chips (128 channels/plug-in), one chassis contains 8 front-end electronics plug-ins (1024 channels/chassis) , the entire sub-detector system may contain 8 chassis (8192 channels/system).
- the streaming data source module In addition to showing different levels in space, the streaming data source module also has different hierarchical relationships in the time range of collection based on the spatial hierarchical relationship of the streaming data source module; the streaming data source module reflects these hierarchical relationships in the data organization , so that the data flow collected by the stream data source module has a data space with a related hierarchical relationship, wherein there are data fields with nested levels in the data space, and each data field represents a different data space range and data time organization granularity,
- the data in each data domain has its own time and space range, which is defined as the data domain space.
- the introduction of the data domain space is mainly to achieve the purpose of compressing the data rate by reducing the size of the time and space information segments associated with the data.
- the division of data domains is related to physical factors such as the organization of stream data source modules and the time scale of information processing.
- FIG. 10 it is an example diagram of the relationship between the data space and the data domain in the data stream formed by the electronic signal collected by the stream data source module provided by the present invention
- 1001 in the figure is metadata
- 1002 in the figure, 1003 and 1004 are both data domains; there are 8 data domains 1002 in the figure; 2 data domains 1003 and 1 data domain 1004; among them, each metadata 1001 constitutes the data layer 1 of the first level; 8 data domains 1002 constitute the first level The data layer 2 of the second level; two data fields 1003 constitute the data layer 3 of the third level; one data field 1004 constitutes the data layer 3 of the third level; wherein, the level of the data layer 1 is lower than the level of the data layer 2, and the data The level of layer 2 is lower than that of data layer 3; as shown in the figure, each data field 1002 contains 8 pieces of metadata, and the metadata contained in each data field 1002 is different.
- the data space and data domain of the stream data source module have the following characteristics:
- Each data domain space is spliced by one (the bottom data domain) or multiple sub-data domain spaces;
- the sub-data domain space must be completely included in a higher-level data domain, and the sub-data domain space is not allowed to be included in multiple upper-level data domains of the same layer at the same time;
- the splicing of the parent data domain space by the child data domain space is two-dimensional, that is, the child data domain space may have different granularity from the parent data domain in both time and space dimensions.
- the number of child data domains contained in the parent data domain in the time and space dimensions should be an integer power of 2; among them, the parent data domain and the child data domain are relative, as shown in Figure 10, with a data domain
- the data domain 1003 is the parent data domain of the data domain 1002, wherein each data domain 1002 in the data domain 1003 is a child data domain of the data 1003;
- the construction information is the information for constructing the underwater streamer system, the data collection unit, and the data display and recording unit respectively, and describes the constructed underwater streamer system, the data collection unit, and the data display and recording unit.
- the underwater streamer system is composed of multiple acquisition units.
- the acquisition unit consists of a working state sensor readout node, an SDMF encoder node (also called an SDMF_encoder node), a multiplexer node (also called a MUX node), and a command feedback stream merging node (also called Can be called Reduce_CMD_FB node), command broadcast node (also called Map_CMD node), transport layer interface node, ADC readout node, normalization node (also called Regularizer node), SDMF decoder node (also called SDMF_decoder node) and a merge node (also called a Merge node) are connected to form, wherein, the transport layer interface node supports 8B/10B encoding, verification, and back pressure control functions, and the working status sensor reading node is used to read temperature, Voltage and other parameters
- the command stream is broadcast by the upper node to the local nodes and lower nodes that need command control by the Map_CMD node, and the Reduce_CMD_FB node collects the command feedback sent by each local node and the subsequent acquisition unit Stream data frames and forward them to the upstream.
- the data flow comes from the ADC readout node and the transport layer interface node connected to the subsequent acquisition unit.
- Each acquisition unit contains two ADC readout nodes, and each ADC readout node is responsible for connecting with the ADC data interface and the ADC control interface.
- the ADC data interface and the ADC control interface can be the interface of the stream data source module; the data streams from the two ADC data interfaces are spatially sorted by the Regularizer node and enter the Merge node to complete the data merging.
- the data field is composed of ADC-level data
- the domain is transformed into an acquisition unit-level data domain.
- the second Regularizer node spatially sorts the local data frame and the data frame from the subsequent acquisition unit before uploading. In this way, the data frames from each acquisition unit are uploaded step by step and summarized into the data flow of the entire streamer.
- the status stream comes from a separate working status sensor readout node. Since the status stream is uploaded in units of acquisition units, data merging is not required, so the local status stream and the subsequent status stream are simply multiplexed and uploaded .
- the ADC readout node shown in the figure is a sensor readout node, which can be set according to actual needs.
- FIG 12 it is a schematic diagram of a model of a sensor readout node provided by the present invention.
- all the external interfaces of the flow use the SDMF interface.
- the register device configuration system control in the figure is used to maintain the time according to the timestamp
- the allocated clock/second pulse signal controls the generation of streams, such as generating status streams, data streams, error reporting/command feedback streams, and other streams, etc., and stream scheduling is used to output the generated streams.
- the sensor reading node provided by the present invention has at least one command flow (downlink), one data flow (uplink), and one command feedback flow (used to transmit response information to commands, uplink).
- the data summarizing unit is made up of transport layer interface node, data buffer node (also can be referred to as vFIFO node), SDMF coder node (also can be called as vFIFO node) Can be called SDMF_decoder node), multiplexer node (also called MUX node), normalization node (also called Regularizer node), command feedback stream merge node (also called Reduce_CMD_FB node), command broadcast Node (also called Map_CMD node), SDMF broadcast node (also called SDMF_broadcast node), feature extraction node (also called Feature_extractor node), trigger filter node (also called Trigger node) and merge node ( It can also be called Merge node) connected.
- data buffer node also can be referred to as vFIFO node
- SDMF coder node also can be called as vFIFO node
- MUX node multiplexer node
- normalization node also called Regularizer node
- the transport layer interface connected to the data cache node in the figure is used to connect with the underwater streamer system, where one transport layer interface node is connected to an underwater streamer system, and the transport layer interface node here supports 8B/10B encoding, calibration Functions such as test and back pressure control;
- the transport layer interface node connected with the SDMF encoder node is used to connect with the data display recording unit, where the transport layer interface node can be used as a PCI-E interface and a DMA controller, and also supports 8B/10B encoding, verification, back pressure control, data frame splitting/assembly and other functions.
- the data summary unit includes status flow, command feedback flow, command flow, monitoring flow and data flow.
- the interfaces applied to nodes are different, and different interfaces apply different definitions and transmissions.
- the formats of the streams are different, and the streams output by different interfaces in the figure are represented by different arrows; as shown in the figure, SDMF interfaces have corresponding status streams, command feedback streams, command streams, monitoring streams, and data streams.
- AXI4- The Stream interface has its corresponding status flow, command flow, monitoring flow, and data flow; the data aggregation unit shown in the figure is responsible for information exchange and data aggregation with the four-way underwater streamer system.
- the data flow is cached and normalized by the Regularizer node in the data aggregation unit, and the space-sorted data frames are sent to the two processing nodes.
- the feature extraction node the latest data in each channel is extracted from the data in the data frame, and sent to the software as a monitoring stream for monitoring the operating status of the streamer (vibrator diagram).
- the Trigger node is controlled to output all data frames within the time window to be recorded according to the gun control signal. Due to the limitation of cache space, all the data in a trigger window cannot be fully buffered in the data summary unit. Select an appropriate data field time range in the Merge node to merge these data frames, and finally send them to the data display and recording unit for data Record usage.
- the data display and recording unit is composed of a transport layer interface node, a receiving node (also referred to as a Receive node), and a sending node (also referred to as a Receive node).
- Transmit node broadcast node (also called Broadcast node), display node (also called Display node), merge node (also called Merge node), error check node (also called Error Check node ), process manager node (also called Process Keeper), readback node (also called Load node), command broadcast node (also called Map_CMD node), multi-way switching node (also called Switcher node ), a storage node (also called a Save node), a command console node (also called a CMD Console node), an FFT transformation node, and a result analysis node.
- broadcast node also called Broadcast node
- display node also called Display node
- merge node also called Merge node
- error check node also called Error Check node
- process manager node also called Process Keeper
- readback node also called Load node
- command broadcast node also called Map_CMD node
- multi-way switching node also called Switcher node
- storage node also
- the data display and recording unit is connected to the data summary unit through the transport layer interface.
- the data display and recording unit includes status flow, monitoring flow, command feedback flow, command flow and data flow.
- the types of interfaces used by different nodes are different.
- the formats and definitions of the output streams are also different.
- both the SDMS interface and the file descriptor interface have corresponding status streams, data streams, monitoring streams, and command streams.
- the status flow and monitoring flow are directly connected to the display node to display the current working status of the system, but the error information in the status flow will be reported to the command console to complete the corresponding error handling.
- the command console also serves as the starting point of the command flow and the end point of the command feedback flow.
- the third level of data merging is required to finally obtain all the data in the time window corresponding to each trigger. While these data are being saved, they also need to be sent to a data quality analysis module (FFT, result analysis) for use in quality control.
- FFT data quality analysis module
- the construction of the data acquisition system for offshore time-lapse seismic can be completed.
- the underwater streamer system, the data summarization unit, and the data display record provided by the embodiments of the present invention
- most of the stream processing nodes used are standard stream processing nodes (nodes with solid lines in the figure), such as the command broadcast node in the acquisition unit of the underwater streamer system, and the specifications in the data summary unit
- the process of real-time data collection, transmission, processing, monitoring and system control is abstracted into a series of cascading and combination of stream processing nodes.
- These nodes adopt standard interface mode and standard stream data frame format, and have two implementation modes: hardware (logic module in FPGA) or software (computer process), and stream processing nodes under the same data domain can be connected arbitrarily.
- the basic processing methods of each stream in the data acquisition system are abstracted into a series of standard stream processing nodes, and the modules are improved on the premise of ensuring the real-time data processing capability of the system. Reusability reduces the design workload and accelerates the design and implementation of the entire data acquisition system.
- the method provided by the invention is also a set of open data acquisition system standard framework.
- users can add custom sensor front-end electronics readout nodes and personalized data processing nodes to achieve data acquisition and real-time data processing requirements for various common application scenarios, with Good versatility and scalability.
- the original transmission interface can also be seamlessly replaced, thereby completing the upgrading and transformation of the high-speed transmission interface, thereby simplifying the upgrading and transformation process of the data acquisition system.
- the data acquisition system constructed by applying the method provided by the present invention adopts standard transmission interfaces and data frame protocols between each flow processing node, so it has the characteristics of arbitrary connection, so by increasing the input and output ports of each flow processing node Debug nodes such as analog data source, data protocol check, data frame display, storage, etc. can easily debug a single node, and can also easily insert various debug nodes on the path of each flow, thus greatly simplifying the system debugging process .
- the method for constructing the data acquisition system provided by the present invention does not require the user to have very professional design ability and professional knowledge during application, and the data acquisition system can be freely customized through the connection of simple modules, thereby facilitating the user's use.
- the embodiment of the present invention provides a device for constructing a data acquisition system, which can be applied to a computer device or platform for constructing a data acquisition system.
- the schematic structural diagram of the device provided by the present invention is shown in As shown in Figure 15, the specific instructions are as follows:
- the response unit 1501 is configured to determine the module information and module interconnection information of each collection and processing module included in the data acquisition system to be built in response to the construction request sent by the user for building the data acquisition system;
- An abstraction unit 1502 configured to abstract various workflows contained in the data acquisition system according to the module information and module interconnection information of each of the acquisition processing modules;
- the first determining unit 1503 is configured to determine the data space information of the data transmitted in each of the workflows based on the number of channels and the length of working time of each of the workflows;
- the second determining unit 1504 is configured to, for each of the workflows, determine the data processing mode information and interface application information of the workflow, and the interface application information includes each collection process that the workflow passes through The interface information of the interface provided by the module for the workflow; based on the data space information of the workflow, the interface application information and the data processing mode information, determine each data field included in the processing path of the workflow , wherein, the data domain is a data area having the same stream data frame granularity during workflow processing, and the level of the data domain increases as the stream data frame granularity increases;
- the third determining unit 1505 is configured to, for each of the workflows, determine each collection and processing module that the workflow passes through as a target module, and determine the data field information of the workflow, the data
- the domain information includes attribute information of the data domain where each stream processing node corresponding to the workflow is located; interface application information, data processing mode information, data domain information and each target module based on the workflow module information and module interconnection information, determine the target module corresponding to each stream processing node corresponding to the workflow, and determine the position information of each stream processing node in the corresponding target module;
- the generating unit 1506 is configured to, for each of the collection and processing modules, determine each stream processing node corresponding to the collection and processing module, and generate module construction information of the collection and processing module based on the location information of each stream processing node;
- the fourth determining unit 1507 is configured to, for each of the collection and processing modules, determine the cross-module interface node of the collection and processing module, and determine the collection and processing module that has a connection relationship with the collection and processing module based on the cross-module interface node , and connecting the collection and processing module with its collection and processing modules that have a connection relationship;
- the connection unit 1508 is configured to, for each of the collection processing modules, determine the node information of each stream processing node corresponding to the collection processing module according to the module construction information of the collection processing module, based on each of the stream
- the node information of the processing node is connected with each flow processing node of the acquisition processing module and the cross-module interface node using a standardized interface after encapsulation, and a module design file corresponding to the acquisition processing module is obtained, and the module design The file is deployed to the acquisition processing module to complete the construction of the data acquisition system corresponding to the construction request.
- the module information and module interconnection information of each collection and processing module contained in the data acquisition system to be constructed are determined; according to each Collect the module information and module interconnection information of the processing module, and extract the various workflows contained in the data acquisition system; based on the number of channels and working hours of each workflow, determine the data space for transmitting data in each workflow information; for each workflow, determine the data processing method and interface application information of the workflow, the interface application information includes the interface information of the interface provided for the workflow by each collection and processing module that the workflow flows through; based on the work The data space information, interface application information, and data processing information of the flow determine the various data fields included in the processing path of the workflow; for each workflow, each acquisition and processing module that the workflow passes through is determined as the target module, and determine the data domain information of the workflow; determine each flow corresponding to the workflow according to the interface application information of the workflow, data processing method information, data domain information, module information and module
- the module information and module interconnection information of the acquisition processing module corresponding to the construction request are determined, and each workflow in the data acquisition system is abstracted, based on each The data space information transmitted in each workflow, determine the data field information in the processing path of each workflow, and finally determine the module construction information of each collection and processing module; based on the module construction information and cross-module interface nodes, there will be a connection relationship connected to the collection and processing modules; connect the stream processing nodes and cross-module interface nodes in each collection and processing module using standardized encapsulated standard interfaces to obtain the module design files of the collection and processing modules, and deploy the module design files to the collection In the processing module, the construction of the data acquisition system is completed.
- the present invention uses stream processing nodes to build a data acquisition system without designing each functional module, and the stream processing nodes in the constructed data acquisition system have reusability, and do not need to be redesigned when adjusting or modifying the system. It saves a lot of time, and the construction method of the data system provided by the present invention has a simple, uncomplicated and universal construction process, which reduces the difficulty of constructing the data acquisition system, so that non-specialized personnel can also use the present invention
- the provided methods build the required data acquisition system.
- the device provided by the embodiment of the present invention, the fourth determining unit 1507, may be configured as:
- a first determining subunit configured to determine the cross-module interface type of the acquisition processing module
- the first judging subunit is used to judge whether there is a standard cross-module interface node corresponding to the cross-module interface type in the preset standard cross-module interface node library;
- the second determining subunit is configured to use the standard cross-module interface node corresponding to the cross-module interface type as the cross-module of the acquisition processing module if there is a standard cross-module interface node corresponding to the cross-module interface type interface node;
- the generating unit 1506 may be configured as:
- An acquisition subunit configured to acquire information about each node type of the acquisition processing module
- the second judging subunit is configured to, for each of the node type information, determine whether there is a standard processing node corresponding to the node type information in the standard node library corresponding to the processing unit type of the acquisition processing module;
- the third determining subunit is configured to use the standard processing node corresponding to the node type information as the stream processing node corresponding to the collection processing module if there is a standard processing node corresponding to the node type information;
- the second construction subunit is configured to construct a stream processing node corresponding to the node type information based on the node information corresponding to the node type information if there is no standard processing node corresponding to the node type information, and The constructed stream processing node is used as the stream processing node corresponding to the acquisition processing module.
- the fifth determining unit is configured to, for each data interface in the collection and processing module, determine the processing unit type of the collection and processing module where each data interface is located;
- the sixth determination unit is configured to determine the data domain attribute of each of the data interfaces, and determine the flow data frame parameters and flow data frame information segment content of each of the data interfaces based on the data domain attributes of each of the data interfaces ;
- the input unit is configured to, for each of the data interfaces, apply the stream data frame parameters and stream data frame information segment content of the data interface to a preset standard stream data frame format module to obtain the standard stream of the data interface data frame format;
- the acquisition unit is configured to standardize and encapsulate each of the data interfaces based on the standard data interface type, working parameters, and standard stream data frame format of each of the data interfaces to obtain a standard interface corresponding to each of the data interfaces.
- connection unit 1508 can be configured as:
- a parsing subunit configured to parse the node information of each of the stream processing nodes to obtain the node type and connection information of each of the stream processing nodes;
- the fourth determining subunit is configured to, for each of the stream processing nodes, determine a target port of a target connection node corresponding to each port of the stream processing node based on the connection information of the stream processing node, the target
- the connection node is a stream processing node that has a connection relationship with the stream processing node, and the target port is a port connected to the stream processing node in the target connection node;
- the third judging subunit is configured to, for each port in each of the stream processing nodes, determine the connection mode of the port based on the node type of the stream processing node where the port is located, and determine the port corresponding to the Whether the target connection node and the stream processing node where the port is located are both in the same collection and processing module;
- the first connection subunit is configured to determine the standard corresponding to the port in the standard conversion module if the target connection node corresponding to the port is not in the same collection and processing module as the stream processing node where the port is located port, standardize and encapsulate the interface between the port and the standard port corresponding to the port, and use the standard conversion module to apply the port after determining the working parameters of the standard conversion module based on the data domain attributes of the port
- the port is connected to the cross-module interface node in a connection manner, so that the port is connected to the target port corresponding to the port through the cross-module interface node;
- the second connection subunit is configured to, if the target connection node corresponding to the port and the stream processing node where the port is located are in the same collection and processing module, then perform a connection between the port and the target port corresponding to the port Standardized encapsulation is performed on the interfaces between them to obtain a standard interface, and the connection mode of the port is applied through the standard interface, so that the port is connected to the target port corresponding to the port.
- each embodiment in this specification is described in a progressive manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments.
- the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
- the systems and system embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is It can be located in one place, or it can be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. It can be understood and implemented by those skilled in the art without creative effort.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (10)
- 一种数据获取系统的构建方法,其特征在于,包括:响应于用户发送的用于构建数据获取系统的构建请求,确定所要构建的数据获取系统中所包含的各个采集处理模块的模块信息和模块互连信息;根据各个所述采集处理模块的模块信息和模块互连信息,抽象出所述数据获取系统中包含的各种工作流;基于每种所述工作流的通道数量和工作时间长度,确定每种所述工作流中所传输数据的数据空间信息;对于每种所述工作流,确定所述工作流的数据处理方式信息以及接口应用信息,所述接口应用信息中包含所述工作流所流经的每个采集处理模块为所述工作流提供的接口的接口信息;基于所述工作流的数据空间信息、所述接口应用信息以及所述数据处理方式信息,确定所述工作流的处理路径中包含的各个数据域,其中,所述数据域为工作流在处理过程中具有相同流数据帧粒度的数据区域,所述数据域的等级随着流数据帧粒度的增大而升高;对于每种所述工作流,将所述工作流所流经的每个采集处理模块均确定为目标模块,并确定所述工作流的数据域信息,所述数据域信息中包含与所述工作流对应的每个流处理节点所处的数据域的属性信息;基于所述工作流的接口应用信息、数据处理方式信息、数据域信息以及每个所述目标模块的模块信息和模块互连信息,确定与所述工作流对应的每个流处理节点所对应的目标模块,并确定每个所述流处理节点在与其对应的目标模块中的位置信息;对于每个所述采集处理模块,确定与所述采集处理模块对应的各个流处理节点,基于每个流处理节点的位置信息,生成所述采集处理模块的模块构建信息;对于每个所述采集处理模块,确定所述采集处理模块的跨模块接口节点,基于所述跨模块接口节点,确定与该采集处理模块存在连接关系的采集处理模块,并将所述采集处理模块与其存在连接关系的采集处理模块相连接;对于每个所述采集处理模块,根据所述采集处理模块的模块构建信息,确定与所述采集处理模块对应的每个流处理节点的节点信息,基于每个所述流处理节点的节点信息,使用标准化封装后的标准接口将所述采集处理模块的各个 流处理节点和跨模块接口节点进行连接,得到与所述采集处理模块对应的模块设计文件,将所述模块设计文件部署至所述采集处理模块中,以完成与所述构建请求对应的数据获取系统的构建。
- 根据权利要求1所述的方法,其特征在于,所述确定所述采集处理模块的跨模块接口节点,包括:确定所述采集处理模块的跨模块接口类型;在预设的标准跨模块接口节点库中判断是否存在与所述跨模块接口类型对应的标准跨模块接口节点;若存在与所述跨模块接口类型对应的标准跨模块接口节点,则将与所述跨模块接口类型对应的标准跨模块接口节点作为所述采集处理模块的跨模块接口节点;若不存在与所述跨模块接口类型对应的标准跨模块接口节点,则基于所述采集处理模块的物理层传输介质和接口信息,构建所述采集处理模块的跨模块接口节点。
- 根据权利要求1所述的方法,其特征在于,所述确定与所述采集处理模块对应的各个流处理节点,包括:获取所述采集处理模块的各个节点类型信息;对于每个所述节点类型信息,在与所述采集处理模块的处理单元类型对应的标准节点库中,确定是否存在与所述节点类型信息对应的标准处理节点;若存在与所述节点类型信息对应的标准处理节点,则将与所述节点类型信息对应的标准处理节点作为与所述采集处理模块对应的流处理节点;若未存在与所述节点类型信息对应的标准处理节点,则基于与所述节点类型信息对应的节点信息,构建与所述节点类型信息对应的流处理节点,并将构建的流处理节点作为与所述采集处理模块对应的流处理节点。
- 根据权利要求1所述的方法,其特征在于,标准接口的标准化封装的过程,包括:对于所述采集处理模块中的每个数据接口,确定每个所述数据接口所处的采集处理模块的处理单元类型;确定每个所述数据接口的数据域属性,基于每个所述数据接口的数据域属 性,确定每个所述数据接口的流数据帧参数以及流数据帧信息段内容;对于每个所述数据接口,将所述数据接口的流数据帧参数和流数据帧信息段内容应用于预设的标准流数据帧格式模板,得到所述数据接口的标准流数据帧格式;基于每个所述数据接口的标准数据接口类型、工作参数以及标准流数据帧格式,将每个所述数据接口进行标准化封装,得到与每个数据接口对应的标准接口。
- 根据权利要求1所述的方法,其特征在于,所述基于每个所述流处理节点的节点信息,使用标准化封装后的标准接口将所述采集处理模块的各个流处理节点和跨模块接口节点进行连接,包括:对每个所述流处理节点的节点信息进行解析,得到每个所述流处理节点的节点类型和连接信息;对于每个所述流处理节点,基于所述流处理节点的连接信息,确定所述流处理节点的每个端口所对应的目标连接节点的目标端口,所述目标连接节点为与所述流处理节点存在连接关系的流处理节点,所述目标端口为所述目标连接节点中与所述流处理节点连接的端口;对于每个所述流处理节点中的每个端口,基于所述端口所处的流处理节点的节点类型确定所述端口的连接方式,确定所述端口所对应的目标连接节点与所述端口所处的流处理节点是否均处于同一采集处理模块内;若所述端口所对应的目标连接节点与所述端口所处的流处理节点未处于同一采集处理模块内,则在标准转换模块中确定与所述端口对应的标准端口,将所述端口和与所述端口对应的标准端口之间的接口进行标准化封装,基于所述端口的数据域属性确定标准转换模块的工作参数后,使用所述标准转换模块应用所述端口的连接方式将所述端口与跨模块接口节点连接,使得所述端口通过所述跨模块接口节点与该端口所对应的目标端口相连接;若所述端口所对应的目标连接节点与所述端口所处的流处理节点处于同一采集处理模块内,则对所述端口和所述端口所对应的目标端口之间的接口进行标准化封装,以得到标准接口,通过所述标准接口应用所述端口的连接方式,使得所述端口和所述端口所对应的目标端口相连接。
- 一种数据获取系统的构建装置,其特征在于,包括:响应单元,用于响应于用户发送的用于构建数据获取系统的构建请求,确定所要构建的数据获取系统中所包含的各个采集处理模块的模块信息和模块互连信息;抽象单元,用于根据各个所述采集处理模块的模块信息和模块互连信息,抽象出所述数据获取系统中包含的各种工作流;第一确定单元,用于基于每种所述工作流的通道数量和工作时间长度,确定每种所述工作流中所传输数据的数据空间信息;第二确定单元,用于对于每种所述工作流,确定所述工作流的数据处理方式信息以及接口应用信息,所述接口应用信息中包含所述工作流所流经的每个采集处理模块为所述工作流提供的接口的接口信息;基于所述工作流的数据空间信息、所述接口应用信息以及所述数据处理方式信息,确定所述工作流的处理路径中包含的各个数据域,其中,所述数据域为工作流在处理过程中具有相同流数据帧粒度的数据区域,所述数据域的等级随着流数据帧粒度的增大而升高;第三确定单元,用于对于每种所述工作流,将所述工作流所流经的每个采集处理模块均确定为目标模块,并确定所述工作流的数据域信息,所述数据域信息中包含与所述工作流对应的每个流处理节点所处的数据域的属性信息;基于所述工作流的接口应用信息、数据处理方式信息、数据域信息以及每个所述目标模块的模块信息和模块互连信息,确定与所述工作流对应的每个流处理节点所对应的目标模块,并确定每个所述流处理节点在与其对应的目标模块中的位置信息;生成单元,用于对于每个所述采集处理模块,确定与所述采集处理模块对应的各个流处理节点,基于每个流处理节点的位置信息,生成所述采集处理模块的模块构建信息;第四确定单元,用于对于每个所述采集处理模块,确定所述采集处理模块的跨模块接口节点,基于所述跨模块接口节点,确定与该采集处理模块存在连接关系的采集处理模块,并将所述采集处理模块与其存在连接关系的采集处理模块相连接;连接单元,用于对于每个所述采集处理模块,根据所述采集处理模块的模块构建信息,确定与所述采集处理模块对应的每个流处理节点的节点信息,基于每个所述流处理节点的节点信息,使用标准化封装后的标准接口将所述采集处理模块的各个流处理节点和跨模块接口节点进行连接,得到与所述采集处理模块对应的模块设计文件,将所述模块设计文件部署至所述采集处理模块中,以完成与所述构建请求对应的数据获取系统的构建。
- 根据权利要求6所述的装置,其特征在于,所述第四确定单元,包括:第一确定子单元,用于确定所述采集处理模块的跨模块接口类型;第一判断子单元,用于在预设的标准跨模块接口节点库中判断是否存在与所述跨模块接口类型对应的标准跨模块接口节点;第二确定子单元,用于若存在与所述跨模块接口类型对应的标准跨模块接口节点,则将与所述跨模块接口类型对应的标准跨模块接口节点作为所述采集处理模块的跨模块接口节点;构建子单元,用于若不存在与所述跨模块接口类型对应的标准跨模块接口节点,则基于所述采集处理模块的物理层传输介质和接口信息,构建所述采集处理模块的跨模块接口节点。
- 根据权利要求6所述的装置,其特征在于,所述生成单元,包括:获取子单元,用于获取所述采集处理模块的各个节点类型信息;第二判断子单元,用于对于每个所述节点类型信息,在与所述采集处理模块的处理单元类型对应的标准节点库中,确定是否存在与所述节点类型信息对应的标准处理节点;第三确定子单元,用于若存在与所述节点类型信息对应的标准处理节点,则将与所述节点类型信息对应的标准处理节点作为与所述采集处理模块对应的流处理节点;第二构建子单元,用于若未存在与所述节点类型信息对应的标准处理节点,则基于与所述节点类型信息对应的节点信息,构建与所述节点类型信息对应的流处理节点,并将构建的流处理节点作为与所述采集处理模块对应的流处理节点。
- 根据权利要求6所述的装置,其特征在于,还包括:第五确定单元,用于对于所述采集处理模块中的每个数据接口,确定每个所述数据接口所处的采集处理模块的处理单元类型;第六确定单元,用于确定每个所述数据接口的数据域属性,基于每个所述数据接口的数据域属性,确定每个所述数据接口的流数据帧参数以及流数据帧信息段内容;输入单元,用于对于每个所述数据接口,将所述数据接口的流数据帧参数和流数据帧信息段内容应用于预设的标准流数据帧格式模块,得到所述数据接口的标准流数据帧格式;获取单元,用于基于每个所述数据接口的标准数据接口类型、工作参数以及标准流数据帧格式,将每个所述数据接口进行标准化封装,得到与每个数据接口对应的标准接口。
- 根据权利要求6所述的装置,其特征在于,所述连接单元,包括:解析子单元,用于对每个所述流处理节点的节点信息进行解析,得到每个所述流处理节点的节点类型和连接信息;第四确定子单元,用于对于每个所述流处理节点,基于所述流处理节点的连接信息,确定所述流处理节点的每个端口所对应的目标连接节点的目标端口,所述目标连接节点为与所述流处理节点存在连接关系的流处理节点,所述目标端口为所述目标连接节点中与所述流处理节点连接的端口;第三判断子单元,用于对于每个所述流处理节点中的每个端口,基于所述端口所处的流处理节点的节点类型确定所述端口的连接方式,确定所述端口所对应的目标连接节点与所述端口所处的流处理节点是否均处于同一采集处理模块内;第一连接子单元,用于若所述端口所对应的目标连接节点与所述端口所处的流处理节点未处于同一采集处理模块内,则在标准转换模块中确定与所述端口对应的标准端口,将所述端口和与所述端口对应的标准端口之间的接口进行标准化封装,基于所述端口的数据域属性确定标准转换模块的工作参数后,使用所述标准转换模块应用所述端口的连接方式将所述端口与跨模块接口节点连接,使得所述端口通过所述跨模块接口节点与该端口所对应的目标端口相连接;第二连接子单元,用于若所述端口所对应的目标连接节点与所述端口所处的流处理节点处于同一采集处理模块内,则对所述端口和所述端口所对应的目标端口之间的接口进行标准化封装,以得到标准接口,通过所述标准接口应用所述端口的连接方式,使得所述端口和所述端口所对应的目标端口相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/099995 WO2022261810A1 (zh) | 2021-06-15 | 2021-06-15 | 数据获取系统的构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/099995 WO2022261810A1 (zh) | 2021-06-15 | 2021-06-15 | 数据获取系统的构建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022261810A1 true WO2022261810A1 (zh) | 2022-12-22 |
Family
ID=84526793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/099995 WO2022261810A1 (zh) | 2021-06-15 | 2021-06-15 | 数据获取系统的构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022261810A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009459A (zh) * | 2023-01-18 | 2023-04-25 | 华中科技大学 | 一种数控系统边缘计算模块的数据采集平台及数控系统 |
CN117234977A (zh) * | 2023-11-10 | 2023-12-15 | 浪潮电子信息产业股份有限公司 | 数据处理方法、系统、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268936A1 (en) * | 2012-04-09 | 2013-10-10 | Yu-Hung Hsu | Workflow management system and method |
CN103731298A (zh) * | 2013-11-15 | 2014-04-16 | 中国航天科工集团第二研究院七〇六所 | 一种大规模分布式网络安全数据采集方法与系统 |
-
2021
- 2021-06-15 WO PCT/CN2021/099995 patent/WO2022261810A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268936A1 (en) * | 2012-04-09 | 2013-10-10 | Yu-Hung Hsu | Workflow management system and method |
CN103731298A (zh) * | 2013-11-15 | 2014-04-16 | 中国航天科工集团第二研究院七〇六所 | 一种大规模分布式网络安全数据采集方法与系统 |
Non-Patent Citations (2)
Title |
---|
WANG HONGCHAO, YANG JUNFENG; WANG TIANXING; SUN ZHENGYANG; SONG KEZHU: "Implementation of Versatile Data Display Module for Stream Processing Data Acquisition System", SHUJU CAIJI YU CHULI - JOURNAL OF DATA ACQUISITION & PROCESSING, SHUJU CAIJI YU CHULI, XINXIANG, CN, vol. 36, no. 2, 31 March 2021 (2021-03-31), CN , pages 374 - 383, XP093016112, ISSN: 1004-9037, DOI: 10.16337/j.1004-9037.2021.02.019 * |
WANG TIANXING; YANG JUNFENG; WANG HONGCHAO; YU HONGWEI; SUN ZHENGYANG; ZHANG LEI; LIU RUOLIN: "A Generic Streaming Software Platform Design for High-Energy Physics Data Acquisition Systems", IEEE TRANSACTIONS ON NUCLEAR SCIENCE, IEEE, USA, vol. 68, no. 2, 8 January 2021 (2021-01-08), USA, pages 101 - 109, XP011837727, ISSN: 0018-9499, DOI: 10.1109/TNS.2021.3050140 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009459A (zh) * | 2023-01-18 | 2023-04-25 | 华中科技大学 | 一种数控系统边缘计算模块的数据采集平台及数控系统 |
CN117234977A (zh) * | 2023-11-10 | 2023-12-15 | 浪潮电子信息产业股份有限公司 | 数据处理方法、系统、设备及计算机可读存储介质 |
CN117234977B (zh) * | 2023-11-10 | 2024-02-27 | 浪潮电子信息产业股份有限公司 | 数据处理方法、系统、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220197714A1 (en) | Training a neural network using a non-homogenous set of reconfigurable processors | |
Khriji et al. | Design and implementation of a cloud-based event-driven architecture for real-time data processing in wireless sensor networks | |
US20220198114A1 (en) | Dataflow Function Offload to Reconfigurable Processors | |
JP4889471B2 (ja) | セパレートプロセッシングコンポーネント間のバッファ間データ転送を減らす方法およびシステム | |
JP3929554B2 (ja) | ファイル・オブジェクトの生成をバリデーションし、ファイル・オブジェクトへのメッセージをルーチングする方法 | |
US8438578B2 (en) | Network on chip with an I/O accelerator | |
CN101957863B (zh) | 数据并行处理方法、装置及系统 | |
US20160004578A1 (en) | Realtime processing of streaming data | |
CN111381983B (zh) | 虚拟试验靶场验证系统的轻量级消息中间件系统及方法 | |
US20070011156A1 (en) | RSS enabled logging | |
US20180063290A1 (en) | Networked device management data collection | |
WO2022261810A1 (zh) | 数据获取系统的构建方法及装置 | |
US20040233237A1 (en) | Development environment for DSP | |
CN103268230B (zh) | 用于构建可拓展服务的云计算信息管理平台的方法 | |
Peltenburg et al. | Tens of gigabytes per second JSON-to-Arrow conversion with FPGA accelerators | |
CN116996112A (zh) | 一种遥感卫星数据实时预处理方法 | |
CN113312394B (zh) | 数据获取系统的构建方法及装置 | |
US20190163404A1 (en) | Methods and systems that efficiently store metric data to enable period and peak detection | |
US11687513B2 (en) | Virtual data source manager of data virtualization-based architecture | |
Nath et al. | IrisNet: An architecture for compute-intensive wide-area sensor network services | |
Marcu et al. | In support of push-based streaming for the computing continuum | |
Kiran et al. | A complexity effective communication model for behavioral modeling of signal processing applications | |
CN115051979B (zh) | 监控数据调试系统、方法、车辆和计算机可读存储介质 | |
CN114356688A (zh) | 一种通用数据管理软件架构 | |
Huang et al. | Design of Cloud Platform for Efficient Remote Sensing Big Data Processing Based on Open Stack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21945403 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21945403 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 1205 DATED 04/06/2024) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21945403 Country of ref document: EP Kind code of ref document: A1 |