Data processing system and method

11604685 · 2023-03-14

Assignee

Inventors

Cpc classification

International classification

Abstract

A data processing system (10) connected to a plurality of first applications (80) and a plurality of second applications (90) includes a setting information generation function section (20), wherein the setting information generation function section includes a first interface generator (22) configured to generate a first interface for the first applications, a second interface generator (24) configured to generate a second interface for the second applications, and a storage (30) to store common data structure generation source information which is common information based on which the first and second interfaces are generated, and when the common data structure generation source information is updated, the first interface generator and the second interface generator automatically generate the first interface and the second interface, respectively, based on the updated common data structure generation source information.

Claims

1. A data processing system connected to a plurality of first applications and a plurality of second applications, the data processing system comprising: a data processor configured to store and process data; and a setting information generation function section, wherein the setting information generation function section includes: a setting information generator configured to generate a first and a second setting information for the data processor; and a storage to store common data structure generation source information which is common information based on which the first setting information is generated in the setting information generator, and when the common data structure generation source information is updated, the setting information generator automatically generates the first setting information based on the updated common data structure generation source information, and the second setting information based on the generated first setting information, wherein a first interface for the plurality of first applications is generated based on the first setting information, and a second interface for the plurality of second applications is generated based on the second setting information, wherein the first interface is a representational state transformer (REST) application programming interface (API) and the second interface is a message queuing telemetry transport (MQTT) API, and wherein the REST API and the MQTT API are automatically generated symmetrically.

2. A data processing method performed by a data processing system connected to a plurality of first applications and a plurality of second applications, the method comprising: the data processing system storing, in a storage, common data structure generation source information which is common information based on which a first setting information for a data processor of the data processing system is generated; and when the common data structure generation source information is updated, the data processing system automatically generating the first setting information based on the updated common data structure generation source information, and a second setting information for the data processor based on the generated first selling information, wherein a first interface for the plurality of first applications is generated based on the first setting information, and a second interface for the plurality of second applications is generated based on the second setting information, wherein the first interface is a representational state transformer (REST) application programming interface (API) and the second interface is a message queuing telemetry transport (MATT) API, and wherein the REST API and the MQTT API are automatically generated symmetrically.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a conceptual diagram showing a configuration example of a data processing system to which a data processing method of an embodiment of the present invention is applied.

(2) FIG. 2 is a conceptual diagram showing a detailed configuration example of the application-oriented I/F generator and the device-side I/F generator.

(3) FIG. 3 is a conceptual diagram showing a detailed configuration example of a data processor-oriented setting information generator and a data processor.

(4) FIG. 4 is a conceptual diagram showing a detailed configuration example of a data processor-oriented setting information generator and a data processor.

(5) FIG. 5 is a conceptual diagram showing another detailed configuration example of the data processor-specific setting information generator and the data processor.

(6) FIG. 6 is a flowchart depicting an example data processing method.

DETAILED DESCRIPTION

(7) Hereinafter, a data processing system to which a data processing method of an embodiment of the present invention is applied will be described with reference to the drawings.

(8) FIG. 1 is a conceptual diagram showing a configuration example of a data processing system to which a data processing method of an embodiment of the present invention is applied.

(9) The data processing system 10 includes five function sections, that is, an I/F and setting information generation function section 20, an application-specific I/F provider 40, a device-side I/F provider 50, data processor 60, and data processor 70, or part thereof.

(10) The I/F and setting information generation function section 20 includes four function sections, that is, an application-specific I/F generator 22, a device-side I/F generator 24, data processor-specific setting information generator 26, and data processor-specific setting information generator 28, or part thereof.

(11) The I/F and setting information generation function section 20 also includes a common data structure generation source information storage 30 configured to store common data structure generation source information which is common information based on which setting information, etc. of the application-specific I/F generator 22, device-side I/F generator 24, data processor-specific setting information generator 26, and data processor-specific setting information generator 28 is generated, or a file describing the common data structure generation source information. The data structure generation source information may be a csv file that defines a class, an attribute, a relation, and a json file that defines a relation between instances.

(12) The application-specific I/F generator 22, the device-side I/F generator 24, data processor-specific setting information generator 26, and data processor-specific setting information generator 28 generate various information based on the common data structure generation source information stored in the common data structure generation source information storage 30, or the file describing the common data structure generation source information.

(13) That is, the application-specific I/F generator 22 generates an application-specific I/F or API, and outputs it to the application-specific I/F provider 40. The device-side I/F generator 24 generates an I/F or API for a device driver/protocol, etc. converter/sensor/device, etc., and outputs it to the device-side I/F provider 50.

(14) FIG. 2 is a conceptual diagram particularly showing a detailed configuration example of the application-specific I/F generator 22 and the device-side I/F generator 24.

(15) The application-specific I/F generator 22 automatically generates a REST API, which is an application-specific I/F, from the common data structure generation source information stored in the common data structure generation source information storage 30.

(16) Specifically, the application-specific I/F generator 22 uses a csv file that defines a class, an attribute, and a relation and a json file that defines a relation between instances as common data structure generation source information, and collectively generates an instance ID from a device ID and internal name uniquely specified in one device.

(17) The application-specific I/F generator 22 further generates collectively an application-specific I/F (such as an endpoint of a REST API) from the class name, instance ID, and time stamp. The application-specific I/F generator 22 may also automatically generate an API document in the format of json, vmal, etc. by swagger or the like.

(18) The device-side I/F generator 24 further generates collectively a device-side I/F (such as a topic of an MQTT API) from the instance ID and time stamp.

(19) Specifically, the device-side I/F generator 24 also uses a csv file that defines a class, an attribute, and a relation and a json file that defines a relation between instances as common data structure generation source information, and collectively generates an instance ID from the device ID and internal name uniquely specified in one device.

(20) In this way, the data processing system 10 automatically generates a REST API, which is an application-specific I/F, and an MQTT API, which is a device-side I/F, symmetrically as follows:

(21) 1. endpoint of REST API/class name/instance ID/time stamp

(22) 2. topic name of MQTT API/class name/instance ID/time stamp

(23) FIG. 3 is a conceptual diagram showing a detailed configuration example of data processor-specific setting information generator 26 and data processor 60.

(24) Data processor-specific setting information generator 26 generates data processor-specific setting information 27 from a csv file that defines a class, which is included in the common data structure generation source information stored in the common data structure generation source information storage 30, and outputs it to data processor 60.

(25) Data processor 60 includes a database (hereinafter referred to as “DB”) 61, a file server 62, a query controller 63, and a broker 64.

(26) The file server 62 stores data processor-specific setting information 27 output from data processor-specific setting information generator 26. The DB 61 acquires data output from an application 80 via the application-specific I/F provider 40 and the query controller 63, and stores it. The DB 61 also acquires data output from the device driver/protocol etc. converter/sensor/device 90 via the device-side I/F provider 50, the broker 64, and the query controller 63, and stores it.

(27) The query controller 63 determines a type of the data stored in the DB 61 based on the data processor-specific setting information 27 stored in the file server 62, and performs data storing or searching on the DB 61 having an appropriate property determined in advance in accordance with the characteristics of each type of data. Therefore, the data processor-specific setting information 27 stored in the file server 62 may be setting information in a format that enables the query controller 63 to determine whether the data is binary or not (a csv file or the like that defines classes, and defines whether each class is binary data or not).

(28) For example, the type of data includes structured sensor data such as json and binary format media data such as an image. Either type of data is output from the device driver/protocol etc. converter/sensor/device 90, and stored in the DB 61. The query controller 63 determines whether the data stored in the DB 61 is sensor data or media data based on the data processor-specific setting information 27 stored in the file server 62.

(29) The data processor-specific setting information 27 is not necessarily stored in the file server 62, and may be stored in a local memory (not shown) provided in data processor 60. Alternatively, it may be stored in the DB 61 or the query controller 63. In such a case, upon generating the data processor-specific setting information 27, data processor-specific setting information generator 26 writes the data processor-specific setting information 27 in a memory (not shown) of the DB 61 or the query controller 63. Alternatively, the data processor-specific setting information 27 may be acquired by making an inquiry from the DB 61 or the query controller 63 to data processor-specific setting information generator 26.

(30) The broker 64 processes data determined to be binary by the query controller 63 by using setting information such as the data processor-specific setting information 27 stored in the file server 62. Then, the broker 64 provides the processing result to the device-side I/F provider 50 and/or to the application-specific I/F provider 40 via the query controller 63.

(31) FIG. 4 is a conceptual diagram showing a detailed configuration example of data processor-specific setting information generator 28 and data processor 70.

(32) Data processor-specific setting information generator 28 generates data processor-specific setting information 29(#1) from the common data structure generation source information stored in the common data structure generation source information storage 30. Data processor-specific setting information 29(#1) is setting information corresponding to the protocol or network of the application, which is necessary to automatically generate the code of an RPC conversion relay function section 71 provided in data processor 70 and data processor-specific setting information 29(#2). Data processor-specific setting information 29(#1) may also be IDL of gRPC.

(33) Data processor-specific setting information generator 28 outputs data processor-specific setting information 29(#1) to the RPC conversion relay function section 71 of data processor 70. Based on data processor-specific setting information 29(#1), data processor-specific setting information generator 28 may also automatically generate RPC IF (#1) included in the application-specific I/F provider 40, and a code of the RPC conversion relay function section 71 or part thereof.

(34) Data processor-specific setting information generator 28 further generates data processor-specific setting information 29(#2) based on data processor-specific setting information 29(#1). Data processor-specific setting information 29(#2) is setting information generated from data processor-specific setting information 29(#1) and corresponding to the protocol or network of the device driver/protocol etc. converter/sensor/device 90, etc. Data processor-specific setting information 29(#2) may be setting information such as MQTT RPC schemer.

(35) FIG. 5 is a conceptual diagram showing another detailed configuration example of data processor-specific setting information generator 28 and data processor 70.

(36) As shown in FIG. 5, depending on the contents of the common data structure generation source information, data processor-specific setting information generator 28 may generate data processor-specific setting information 29(#2) not based on data processor-specific setting information 29(#1).

(37) As shown in FIG. 4 or 5, upon generating data processor-specific setting information 29(#2), data processor-specific setting information generator 28 may automatically generate RPC IF (#2) included in the application-specific I/F provider 50 and a code of the RPC conversion relay function section 71 or part thereof, based on data processor-specific setting information 29(#2).

(38) Data processor 70 performs, in the RPC conversion relay function section 71, data processing on the setting information, I/F, code, etc. output from data processor-specific setting information generator 28 by an RPC or the like. Then, data processor 70 provides the processing result to the application-specific I/F provider 40 and/or the device-side I/F provider 50.

(39) The application-specific I/F provider 40 provides the application-specific I/F or API output from the application-specific I/F generator 22, and the processing results output from data processors 60 and 70 to the application 80.

(40) The device-side I/F provider 50 provides the I/F or API for the device driver/protocol etc. converter/sensor/device, etc. 90 output from the device-side I/F generator 24, and the processing results output from data processors 60 and 70 to the device driver/protocol etc. converter/sensor/device, etc. 90.

(41) In this manner, the data processing system 10 collectively and symmetrically generates I/Fs or APIs for the application 80 and device driver/protocol etc. converter/sensor/device, etc. 90, and setting information for data processors 60 and 70, or part thereof. In addition, the data processing system 10 automatically generates an API document, a source code of a data processor, etc., a setting file, or part thereof.

(42) Furthermore, in the data processing system 10, when the common data structure generation source information stored in the common data structure generation source information storage unit 30 is updated, the application-specific I/F generator 22, the device-side I/F generator 24, data processor-specific setting information generator 26, and data processor-specific setting information generator 28 automatically generate an application-specific I/F, a device-side I/F, data processor-specific setting information 27, and data processor-specific setting information 29, respectively, based on the updated common data structure generation source information in the above-described manners. In this manner, when the common data structure generation source information is updated, the data processing system 10 collectively and automatically generates an API for the application 80 and an API for the device driver/protocol etc. converter/sensor/device, etc. 90 without any discordance.

(43) As described above, the data processing system 10 utilizes the characteristics of IoT in which many types of application devices are connected to a common data processing system to separate the application-specific I/F generator 22 and the device-side I/F generator 24 from the data processing system (data processors 60 and 70), and collectively and automatically generate consistent I/Fs and setting information, codes, documents, etc. based on the common data structure source generation information stored in the common data structure source generation information storage 30, thereby enabling to flexibly deal with the connection configuration change of the device server/protocol etc. converter/sensor/device, etc. 90, addition of an application 80, and a change of a data model, or the like and also enabling to reduce the operation to maintain consistency between the I/Fs of the entire data processing system 10.

(44) Therefore, use of the data processing system to which the data processing method of the present embodiment is applied enables construction of a common data storage processing system that can be flexibly connected to various application devices and an IoT platform based thereon.

(45) The present invention is not limited to the above embodiments as they are, and can be embodied by modifying structural elements in the implementation stage without departing from the gist thereof. Various inventions can be formed by appropriate combinations of multiple structural elements disclosed in the above embodiments. For example, some structural elements may be deleted from all the structural elements described in the embodiments. Furthermore, structural elements over different embodiments may be appropriately combined.

(46) For example, one system may be realized by any or all of the system configurations shown in FIGS. 2, 3, 4, and 5, or by combining two or more data processors in parallel.