WO2017009886A1 - データ取得装置、データ取得方法及びデータ取得プログラム - Google Patents
データ取得装置、データ取得方法及びデータ取得プログラム Download PDFInfo
- Publication number
- WO2017009886A1 WO2017009886A1 PCT/JP2015/069847 JP2015069847W WO2017009886A1 WO 2017009886 A1 WO2017009886 A1 WO 2017009886A1 JP 2015069847 W JP2015069847 W JP 2015069847W WO 2017009886 A1 WO2017009886 A1 WO 2017009886A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- definition
- range
- value
- data
- acquisition
- Prior art date
Links
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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Definitions
- the present invention relates to a data acquisition device, a data acquisition method, and a data acquisition program.
- Patent Document 1 discloses a technique for changing a data acquisition definition by rewriting a data acquisition command issued to a database by an application using data using a database language reissue device before sending it to the database. It is disclosed.
- Patent Document 2 discloses a technique for maintaining consistency when referring to data from the outside by updating the data definition in advance when the data definition needs to be changed.
- Patent Document 1 data that can be acquired at one time remains in one definition section. Therefore, when acquiring data across a plurality of sections, it is necessary to send the same number of data acquisition commands as the data definition section to the database. Therefore, there has been a problem that processing performance deteriorates. Further, the method described in Patent Document 2 has a problem that it is difficult to flexibly change the data acquisition definition because it is necessary to create data for reference in advance.
- An object of the present invention is to acquire data with a single query instruction by rewriting the query instruction in acquiring data across a plurality of definition sections, and to suppress deterioration in performance while ensuring flexibility for changing the definition. To do.
- the data acquisition device is: A command receiving unit that receives data from a database that stores data associated with a definition value, and that receives a query command including a value specification range that specifies a range of definition values corresponding to the data to be acquired; An acquisition definition storage unit that stores acquisition definition information in which a value definition range that defines a range of definition values and an acquisition method for acquiring data from the database are associated; Using the inquiry instruction and the acquisition definition information, it is determined whether or not there is a range that overlaps the value definition range in the value specification range, and if it is determined that there is the overlap range, it is included in the overlap range And an instruction generation unit that generates a data acquisition instruction for acquiring data corresponding to the defined value by an acquisition method corresponding to the value definition range.
- an acquisition definition storage unit that stores acquisition definition information in which a value definition range that defines a range of definition values of data and an acquisition method for acquiring data from a database are associated,
- An instruction that uses a query instruction and acquisition definition information to generate a data acquisition instruction that acquires data corresponding to the definition value included in the range where the value specification range and value definition range overlap with the acquisition method corresponding to the value definition range Since it has a generation unit, it is possible to acquire data with a single data acquisition command in acquiring data across multiple value definition ranges, and to suppress performance degradation while ensuring flexibility for definition changes There is an effect.
- FIG. 3 is a system configuration diagram illustrating a method for using the data acquisition apparatus according to the first embodiment.
- 1 is a block configuration diagram of a data acquisition device according to Embodiment 1.
- FIG. FIG. 3 is a flowchart showing a data acquisition method and data acquisition process of the data acquisition device according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of a database according to the first embodiment.
- FIG. 6 is a diagram illustrating an example of definition axis definition information according to the first embodiment.
- FIG. 6 is a diagram showing an example of acquisition definition information according to the first embodiment.
- FIG. 6 shows an example of undefined information according to the first embodiment.
- FIG. 4 is a diagram illustrating a specific example of an operation of data acquisition processing of the data acquisition device according to the first embodiment.
- FIG. 4 is a diagram illustrating a specific example of an operation of data acquisition processing of the data acquisition device according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of a configuration of an application execution device, a data acquisition device, and a database according to the first embodiment.
- FIG. 4 is a block configuration diagram of a data acquisition device according to a second embodiment.
- FIG. 9 is a flowchart showing an operation of acquisition definition registration processing of an acquisition definition registration unit according to the second embodiment.
- FIG. 5 is a block configuration diagram of a data acquisition device according to a third embodiment.
- FIG. 10 is a flowchart showing instruction generation processing of an instruction generation unit according to the third embodiment.
- FIG. 10 is a diagram illustrating a specific example of an operation of data acquisition processing of the data acquisition device according to the third embodiment.
- FIG. *** Explanation of configuration *** FIG. 1 is a system configuration diagram illustrating a method of using the data acquisition apparatus 100 according to the present embodiment.
- Data acquisition apparatus 100 according to the present embodiment is connected to application execution apparatus 200 and database 300.
- the data acquisition device 100 is disposed between the application execution device 200 and the database 300.
- the application execution device 200 acquires data from the database 300 using the data acquisition device 100.
- the application execution device 200 executes an application program that performs processing using data acquired from the database 300.
- the database 300 stores data used by the application execution device 200.
- the database 300 stores data associated with definition values used for data definition.
- the definition value used for data definition is a variable such as date and time associated with data.
- the data acquisition device 100 acquires data from the database 300 in response to an inquiry command from the application execution device 200.
- FIG. 2 is a diagram illustrating a block configuration of the data acquisition apparatus 100 according to the present embodiment.
- the data acquisition device 100 includes an instruction reception unit 110, an instruction generation unit 120, a data acquisition unit 130, and a data output unit 140. Further, the data acquisition device 100 includes a definition axis information storage unit 150, an acquisition definition storage unit 160, and an undefined information storage unit 170.
- the definition axis information storage unit 150 stores definition axis definition information 151.
- the acquisition definition storage unit 160 stores acquisition definition information 161.
- the undefined information storage unit 170 stores undefined information 171.
- the instruction reception unit 110 receives the inquiry instruction 201 output from the application execution apparatus 200 and outputs the inquiry instruction 201 to the instruction generation unit 120.
- the inquiry command 201 is a command for acquiring data associated with a definition value included in a value specification range that specifies a range of definition values from the database 300.
- the inquiry command 201 includes a value specification range.
- the inquiry command 201 includes a value designation range that designates a date and time range.
- the command reception unit 110 acquires a query command 201 for acquiring data associated with the date and time included in the value specification range from the database 300.
- the definition value may not be a date and time, but may be a variable associated with data and a value used for data definition.
- the definition axis definition information 151 a variable name indicating a definition value that determines a data value definition range is stored.
- the data value definition range is a range of definition values corresponding to data, and is also referred to as a data definition section.
- the definition axis definition information 151 is set with a date and time as a definition value that determines a data value definition range.
- the acquisition definition storage unit 160 stores acquisition definition information 161 in which a value definition range that defines a range of definition values and an acquisition method for acquiring data from the database 300 are associated with each other.
- the acquisition definition information 161 includes a plurality of value definition ranges, and an acquisition method for acquiring data from the database 300 is associated with each value definition range of the plurality of value definition ranges.
- the undefined information storage unit 170 acquires a default value as data corresponding to a definition value included in a non-overlapping range when there is a range that does not overlap any of the value definition ranges of the plurality of value definition ranges.
- the undefined information 171 including is stored.
- the command generation unit 120 uses the query command 201 and the acquisition definition information 161 to determine whether there is a range that overlaps the value definition range in the value specification range. When it is determined that there is an overlapping range, the command generation unit 120 generates a data acquisition command 202 that acquires data corresponding to the definition value included in the overlapping range by an acquisition method corresponding to the value definition range.
- the instruction generation unit 120 is also referred to as an instruction conversion unit that generates a data acquisition instruction by rewriting the inquiry instruction 201.
- the instruction generation unit 120 converts the inquiry instruction 201 into a data acquisition instruction 202 for acquiring data by an acquisition method according to a data definition area, that is, a value definition range.
- the data acquisition unit 130 acquires data as acquisition data 203 from the database 300 using the data acquisition command 202 created by the command generation unit 120.
- the data output unit 140 outputs the acquisition data 203 acquired by the data acquisition unit 130 to the application execution device 200.
- FIG. 3 is a flowchart showing the data acquisition method and data acquisition process S100 of the data acquisition apparatus 100 according to the present embodiment.
- the command receiving unit 110 executes a command receiving process S110 that receives a query command 201 for acquiring data from the database 300 that stores data associated with the definition value.
- the inquiry command 201 includes a value specification range that specifies a range of definition values corresponding to data to be acquired.
- the inquiry command 201 is a command for instructing the data acquisition apparatus 100 to acquire data whose definition value is within the value designation range from the database 300.
- an RDBMS Relational Data Base Management System
- SQL Structured Query Language
- the instruction reception unit 110 outputs the inquiry instruction 201 received from the application execution apparatus 200 to the instruction generation unit 120.
- the command receiving unit 110 opens a standby port.
- the standby port is a communication socket such as TCP (Transmission Control Protocol).
- TCP Transmission Control Protocol
- a communication method of a layer higher or lower than TCP may be used.
- a window message is used for a Windows (registered trademark) server
- a pipe is used for a Unix (registered trademark) server.
- Internal communication such as may be used.
- the command reception unit 110 communicates with the application execution device 200, and an SQL command is transmitted from the application execution device 200 to the command reception unit 110.
- the protocol used for communication is not particularly specified.
- an SQL command is transmitted in plain text as in Telnet, or an SQL command is stored in the body portion using HTTP (HyperText Transfer Protocol). Conceivable. Further, the SQL instruction may be encrypted using a protocol combined with a determined protocol such as SSL (Secure Sockets Layer).
- SSL Secure Sockets Layer
- an SQL instruction is parsed, and a single colon instruction is acquired by searching for a semicolon (;) as an instruction delimiter.
- the command receiving unit 110 passes the SQL command acquired in this way, that is, the query command 201 to the command generating unit 120.
- the instruction generation unit 120 uses the acquisition definition information 161 and the inquiry instruction 201 to determine whether or not there is a range that overlaps the value definition range in the value specification range, and when it is determined that there is an overlapping range, the overlapping range
- An instruction generation process S120 for generating a data acquisition instruction 202 for acquiring data corresponding to the definition value included in the data by an acquisition method corresponding to the value definition range is executed.
- step S1201 the instruction generation unit 120 analyzes the inquiry instruction 201 and extracts a candidate portion to be rewritten.
- the inquiry command 201 includes a table name for designating the database 300 and a column name for designating data to be acquired. Multiple column names may be included.
- the instruction generation unit 120 analyzes the inquiry instruction 201 and extracts a table name and a column name. At this time, the instruction generation unit 120 extracts a table name and a column name from the query instruction 201 using a syntax analyzer or the like.
- step S ⁇ b> 1202 the instruction generation unit 120 determines whether there is a location in the inquiry instruction 201 that needs to be rewritten.
- the command generation unit 120 searches the definition axis definition information 151 using the table name and column name extracted in S1201. When there are a plurality of column names, the command generation unit 120 searches the definition axis definition information 151 using one of the column names and the table name. When the table name and the column name hit the definition axis definition information 151, the instruction generation unit 120 determines that the column name is a portion that needs to be rewritten. If it is determined that there is a portion that needs to be rewritten (YES in S1202), the process proceeds to S1203. If it is determined that there is no portion that needs to be rewritten (NO in S1202), the process proceeds to S1205.
- step S ⁇ b> 1203 the command generation unit 120 acquires definition axis definition information 151, acquisition definition information 161, and undefined information 171 necessary for rewriting the query command 201.
- step S1204 the instruction generation unit 120 rewrites the inquiry instruction 201 using the acquired information. The process of rewriting the inquiry command 201 will be described in detail later.
- step S ⁇ b> 1205 the instruction generation unit 120 outputs the inquiry instruction 201 to the data acquisition unit 130 as the data acquisition instruction 202.
- the instruction generation unit 120 repeatedly executes the processes from S1202 to S1204 until it is determined in S1202 that there is no portion that needs to be rewritten in the inquiry instruction 201. That is, the instruction generation unit 120 repeatedly executes the processing from S1202 to S1204 until it is determined that it is not necessary to rewrite all the column names included in the inquiry instruction 201.
- FIG. 4 is a diagram showing an example of the database 300 according to the present embodiment.
- FIG. 5 is a diagram showing an example of the definition axis definition information 151 according to this embodiment.
- FIG. 6 is a diagram showing an example of the acquisition definition information 161 according to the present embodiment.
- FIG. 7 is a diagram illustrating an example of the undefined information 171 according to the present embodiment.
- FIG. 8 is a diagram showing a specific example of the operation of the instruction conversion process S120 of the instruction generation unit 120 according to the present embodiment. The operation of the instruction conversion process S120 will be specifically described with reference to FIGS.
- the database 300 is assumed to be a power table 301.
- the daily power consumption of a two-story building is stored as data.
- the column names of the power table 301 are date / time, building, 1F, and 2F. Date / time is set to year / month / day.
- the building stores the power consumption of the entire building.
- 1F stores the power consumption of the first floor of the building.
- 2F stores the power consumption of the second floor of the building.
- 2F data is stored from 2014/4/2 in the third row. This means that data has begun to be set from 2014/4/1 to 2F due to the addition of a power meter on the second floor of the building on 2014/4/1.
- the application execution device 200 acquires the daily power consumption of the entire building on a certain date, if the building is specified as the table name, date, and column name in the inquiry command 201, the specified year in the power table 301 Data can be acquired from the column name “building” of the month and day. If no date / time is specified in the inquiry command 201, column name data at all the dates / times is acquired. Similarly, when acquiring the power consumption of the first floor of the building, if 1F is specified as the table name, date and time, and column name in the inquiry command 201, data from the column name “1F” of the specified date in the power table 301 is used. Can be obtained.
- the data acquisition method differs depending on the value definition range based on the date and time of the data. That is, the value definition range 3001 from 2014/3/30 to 2014/3/31 and the value definition range 3001 from 2014/4/1 to 2014/4/3 differ in the data acquisition method of the 2F column. .
- the value definition range 3001a is from 2014/3/30 to 2014/3/31, and the value definition range 3001b is from 2014/4/1 to 2014/4/3.
- the value definition range 3001a and the value definition range 3001a differ in the acquisition method for the data of the 2F column.
- the value definition range 3001 of definition values having different acquisition methods is also referred to as a data definition section.
- the definition axis definition information 151 is set with a table name, a column name in which data for defining a definition section is stored, and a definition value used for defining a value definition range. Define value column name is set.
- the definition axis definition information 151 uses a date / time string representing the measurement time of data as a variable for determining the data definition interval.
- power is set as a table name
- second floor power is set as a column name of data for defining a definition section
- date / time is set as a column name of a definition value used for defining the definition section.
- the acquisition definition information 161 defines a value definition range 3001, that is, a data acquisition method for each definition section.
- the second floor power in the power table 301 is “building -1F "is defined to be acquired.
- the second floor power of the power table is “ "2F" is defined to be acquired. That is, in the acquisition definition information 161 of FIG.
- a default value is set that is returned as the value of the requested data when acquisition of data in a definition section that is not defined in the acquisition definition information 161 is requested.
- a table name, a column name of data for which a default value is set, and a default value are set.
- power is set as the table name
- second floor power is set as the column name
- 0 is set as the default value.
- the undefined information 171 in FIG. 7 includes two definitions of “2013/4/01 to 2014/4/01” and “2014/4/01 to 2015/4/01” of the second floor power in the power table.
- the command receiving unit 110 receives the query command 201 from the application execution apparatus 200 and outputs it to the command generation unit 120.
- the inquiry command 201 describes the following command for acquiring second-order power data from the power table 301.
- Inquiry command 201 SELECT 2nd floor power FROM power No date is specified in the inquiry command 201. Therefore, the inquiry command 201 means obtaining the second floor power at all the dates and times of the power table 301. Therefore, the value specification range 2011 included in the inquiry command 201 is from 2014/3/30 to 2014/4/3.
- the query command may have a date and time designation.
- the following is an example of a query command with date / time designation.
- Query command description example: SELECT 2nd floor power FROM power WHEN Date and time 2014/03/31
- the value specification range is 2014/03/31. Therefore, this inquiry command means that the second floor power in 2014/03/31 of the power table is acquired.
- the command generation unit 120 determines whether or not the date and time value specification range 2011 included in the query command 201 has a range that overlaps each of the plurality of value definition ranges 3001 defined in the acquisition definition information 161. When the instruction generation unit 120 determines that there is an overlapping range, the instruction generation unit 120 generates one data acquisition instruction 202 for acquiring data corresponding to the definition values included in the overlapping range by an acquisition method corresponding to each value definition range 3001. .
- step S1201 the instruction generation unit 120 analyzes the inquiry instruction 201 and extracts a table name and a column name. The extracted column name becomes a candidate for rewriting.
- step S ⁇ b> 1202 the instruction generation unit 120 determines whether there is a location in the inquiry instruction 201 that needs to be rewritten.
- the command generation unit 120 searches the definition axis definition information 151 using the table name and column name extracted in S1201. When the table name and the column name hit the definition axis definition information 151, the instruction generation unit 120 determines that the column name is a portion that needs to be rewritten. Specifically, the command generation unit 120 extracts the table name “power” and the column name “second floor power” from the query command 201 shown in FIG.
- step S ⁇ b> 1203 the command generation unit 120 acquires definition axis definition information 151, acquisition definition information 161, and undefined information 171 necessary for rewriting the query command 201.
- step S1204 the instruction generation unit 120 executes processing for rewriting the column name of the inquiry instruction 201 using the acquired information.
- the command generation unit 120 acquires definition values corresponding to the table name and the column name from the definition axis definition information 151.
- the instruction generation unit 120 uses the acquired definition value to determine whether or not there is a range that overlaps the value definition range 3001 defined in the acquisition definition information 161 in the value specification range 2011 of the definition value included in the query instruction 201. judge. If the instruction generation unit 120 determines that there is an overlapping range, the instruction generation unit 120 rewrites the column name of the inquiry instruction 201 using an acquisition method corresponding to the value definition range 3001 including the overlapping range.
- the instruction generation unit 120 rewrites an instruction for acquiring column name data in a range overlapping the value definition range 3001 to an instruction acquired using an acquisition method corresponding to the value definition range 3001.
- the instruction generation unit 120 sets the rewritten inquiry instruction 201 as the data acquisition instruction 202.
- the command generation unit 120 acquires from the definition axis definition information 151 that the definition value of the second floor power in the power table is a date and time. Therefore, the instruction generation unit 120 includes the value definition ranges 3001a and 3001b defined in the acquisition definition information 161 within the date and time value designation range 2011 “2014/3/30 to 2014/4/3” included in the inquiry command 201. It is determined whether or not there is a range that overlaps with. The instruction generation unit 120 confirms that the value designation range 2011 “from 2014/3/30 to 2014/3/31” overlaps the value definition range 3001a, and the value designation range 2011 “2014/4/1 to 2014/4/3”.
- the command generation unit 120 When it is determined that there is an overlapping range, the command generation unit 120 generates a data acquisition command 202 that acquires data corresponding to the date and time included in the overlapping range by an acquisition method corresponding to the value definition range 3001. Specifically, the instruction generation unit 120 uses the acquisition method “building-1F” corresponding to the value definition range 3001a for the inquiry instruction 201, and “from 2014/3/30 to 2014/3/31”. “2014/4/1 to 2014/4/3” is rewritten into the data acquisition command 202 for acquiring the second floor power by the acquisition method “2F” corresponding to the value definition range 3001b.
- the value specification range 2011 includes a range that does not overlap any of the value definition ranges 3001 of the plurality of value definition ranges 3001, the value specification range 2011 includes a range whose acquisition method is not defined. It means that there is.
- the instruction generation unit 120 includes, in the data acquisition instruction 202, an instruction to acquire a default value as the data value corresponding to the date and time when this acquisition method is included in an undefined range. In FIG. 7, the default value is 0, but other numbers may be used. A character string indicating that the data acquisition method is undefined may be set as a default value.
- the command generation unit 120 uses the definition axis definition information 151 and the acquisition definition information 161 to check whether there is a definition to be applied to the rewriting target candidate. If there is a definition to be applied, the query instruction 201 is converted using the target definition. As the conversion of the inquiry instruction 201, for example, rewriting to a CASE expression is performed. A condition using the definition axis definition information 151 and the acquisition definition information 161 is used in the WHEN phrase of the CASE expression. In the THEN clause, the acquisition definition corresponding to the condition is used. Default values are used for ELSE phrases that do not fall within any defined interval. As described above, the data acquisition command 202 shown in FIG. 8 is generated.
- the data acquisition unit 130 executes a data acquisition execution process S130 that acquires, as the acquisition data 203, data whose column name is the second floor power from the power table 301 of the database 300.
- the data acquisition unit 130 acquires the data acquisition command 202 from the command generation unit 120.
- the data acquisition unit 130 acquires the acquired data 203 corresponding to the data acquisition command 202 from the database 300 by issuing the acquired data acquisition command 202 to the database 300.
- the data acquisition unit 130 uses a method such as JDBC (Java DataBase Connectivity) or ODBC (Open DataBase Connectivity), which is one of standard interfaces for accessing a database from a Java (registered trademark) program.
- the data acquisition command 202 is issued to the database 300.
- the data acquisition unit 130 acquires “4, 3, 2, 3, 3” as the acquisition data 203.
- the data output unit 140 outputs the acquisition data 203 acquired by the data acquisition unit 130 to the application execution device 200 as a result of the inquiry command 201 transmitted from the application execution device 200.
- the data output unit 140 outputs “4, 3, 2, 3, 3” as a result of the inquiry instruction 201.
- the data acquisition device 100 according to the present embodiment is configured so that a query command for acquiring data from a plurality of definition intervals is divided into a plurality of data acquisition commands for each data definition interval. It can be converted into a data acquisition command. Therefore, according to the data acquisition device 100 according to the present embodiment, it is possible to ensure flexibility in changing the data acquisition definition while suppressing deterioration in performance of data acquisition.
- the data acquisition device 100 includes undefined information that holds a default data acquisition definition to be applied to an undefined definition section when an undefined definition section exists in the data acquisition definition. . Therefore, according to the data acquisition device 100 according to the present embodiment, the process can be continued even when data acquisition of an undefined definition section is executed.
- FIG. 9 is a diagram showing an example of the configuration of the application execution device 200, the data acquisition device 100, and the database 300 according to the present embodiment.
- FIG. 10 is a diagram showing another example of the configuration of the application execution device 200, the data acquisition device 100, and the database 300 according to the present embodiment.
- the data acquisition device 100 may be configured to be mounted on the same general-purpose hardware as the application execution device 200 and the database 300.
- General-purpose hardware is a personal computer, a server, or the like.
- the data acquisition device 100 shares hardware resources such as a processor and a storage device with the application execution device 200 and the database 300.
- the data acquisition device 100 does not communicate with each of the application execution device 200 and the database 300.
- communication via the network since communication via the network is not performed, when the network is slow with respect to the amount of data acquired from the database 300, an improvement in performance can be expected.
- the definition axis definition information 151, the acquisition definition information 161, the undefined information 171 and the like may be stored in the external database 400.
- the data acquisition device 100 retrieves information necessary for executing the data acquisition process from the external database 400 when executing the data acquisition process. With the configuration shown in FIG. 10, the resources of the data acquisition apparatus 100 can be reduced.
- the present embodiment has been described using a data definition section determined in one dimension called a time axis, it is also possible to determine data definition sections in a plurality of dimensions as in a three-dimensional space.
- the definition section an example is described as a finite section, but an infinite section that does not particularly define a start time or an end time can also be defined. For example, when switching devices at a certain point in time, it is not necessary to determine the starting point for the section before switching, so it can be created as an infinite section. In such a case, the condition indicating the start time can be omitted, and the condition after conversion can be simplified.
- the CASE expression is used to convert the query instruction into one query instruction.
- UNION can be used. When UNION is used, it is possible to convert it into a single inquiry instruction by expanding it into inquiry instructions that perform SELECT for each section and combining them by UNION.
- an equal sign is put at the start of the inequality sign indicating the definition section of the data so that the definition section does not overlap. Yes.
- it becomes easy to create a process according to the requirements of the system such as whether to add the data at midnight exactly to the previous day or the next day.
- the acquisition definitions in a plurality of sections are the same, the conditions corresponding to these sections can be combined into one. In this case, speed can be improved by simplifying the converted query instruction.
- Embodiment 2 FIG. In the present embodiment, differences from the first embodiment will be mainly described. In this embodiment, the same components as those described in Embodiment 1 are denoted by the same reference numerals, and the description thereof may be omitted.
- FIG. 11 is a diagram showing a block configuration of the data acquisition apparatus 100a according to the present embodiment.
- the data acquisition device 100a according to the present embodiment includes an acquisition definition registration unit 180 in addition to the block configuration of the data acquisition device 100 illustrated in FIG.
- the acquisition definition registration unit 180 registers each value definition range 3001 of a plurality of value definition ranges and a data acquisition method corresponding to each value definition range 3001 of the plurality of value definition ranges in the acquisition definition information 161.
- the acquisition definition registration unit 180 registers each value definition range 3001 of a plurality of value definition ranges so that each value definition range 3001 of the plurality of value definition ranges does not overlap with other value definition ranges.
- the definition of the data acquisition method is defined for a specific value definition range.
- the data value definition range defined in the acquisition definition information 161 allows the existence of overlapping ranges as they are.
- the data acquisition apparatus 100a includes an acquisition definition registration unit 180 that prevents the addition of a value definition range that overlaps the value definition range of data that has already been defined.
- the acquisition definition registration unit 180 is also referred to as a data definition creation unit.
- the data acquisition device 100a further executes an acquisition definition registration process S180 using the acquisition definition registration unit 180.
- FIG. 12 is a flowchart showing the operation of the acquisition definition registration process S180 of the acquisition definition registration unit 180 according to this embodiment.
- the operation of the acquisition definition registration process S180 for adding an acquisition definition to the acquisition definition information 161 in the present embodiment will be described with reference to FIG.
- the acquisition definition registration unit 180 receives an acquisition definition addition request for the acquisition definition information 161.
- the acquisition definition addition request is a request for adding a changed acquisition method to the acquisition definition information 161 when there is a change in the acquisition method of data stored in the database.
- the addition request includes the table name to which the acquisition method is added, the column name of the data to which the acquisition method is added, and the value definition range of the data to which the acquisition method is added, that is, the definition section.
- step S ⁇ b> 182 the acquisition definition registration unit 180 checks whether the value definition range of the data to be added overlaps with the value definition range already existing in the acquisition definition information 161 in response to the received addition request. When there is no duplication (NO in S182), the acquisition definition registration unit 180 adds the acquisition definition of data included in the addition request to the line of the acquisition definition information 161 (S183). If there is an overlap (YES in S182), the acquisition definition registration unit 180 performs processing according to a predetermined handling method (S184).
- a predetermined response method there are the following methods. For example, there are a method of adding a data acquisition definition so that the value definition range of existing data is shortened to avoid duplication, and a method of shortening and adding a value definition range of data to be added. Further, there are a method in which no data acquisition definition is added as an error, a method in which a user who intends to newly add a data acquisition definition, and the like are selected from the above methods.
- Embodiment 3 FIG. In the present embodiment, differences from Embodiments 1 and 2 will be mainly described.
- one type of data such as date and time is used as the data definition value.
- a value definition range is set using definition values determined from a plurality of conditions such as the X-axis and the Y-axis in coordinates, and the value definition range is supported.
- a data acquisition apparatus 100a that can define an acquisition method will be described.
- the same components as those described in the first and second embodiments are denoted by the same reference numerals, and the description thereof is omitted.
- the flow rate flowing through the river per unit time from the water level of the river that is, the amount of water is obtained from the water level table.
- the water level H and the water quantity Q are expressed by the following calculation formulas.
- Q a (H + b) ⁇ 2 (where a and b are constants)
- a and b are constants
- the acquisition data 203 acquired from the water level table is the amount of water per unit time.
- the definition value of the amount of water per unit time is determined from the time and the water level, and the value definition range of the definition value is also determined from the time and the water level.
- FIG. 13 is a diagram showing a block configuration of the data acquisition apparatus 100a according to the present embodiment.
- FIG. 13 is a diagram corresponding to FIG. 2, and differs from FIG. 2 in that instead of the definition axis information storage unit 150 and the acquisition definition storage unit 160 of FIG. A part 182 and a condition definition storage unit 183.
- the ID-specific acquisition definition storage unit 181 stores ID-specific acquisition definition information 1810.
- the domain definition storage unit 182 stores domain definition condition information 1820.
- the condition definition storage unit 183 stores condition definition information 1830.
- the ID-specific acquisition definition information 1810, the domain definition condition information 1820, and the condition definition information 1830 are used for the processing of the instruction generation unit 120, and the definition axis definition information 151, the acquisition definition information 161 described in the first embodiment, It has the same function. Therefore, the ID-specific acquisition definition storage unit 181, the domain condition storage unit 182, and the condition definition storage unit 183 have a configuration corresponding to the definition axis information storage unit 150 and the acquisition definition storage unit 160.
- FIG. 14 is a flowchart showing instruction generation processing S120a of the instruction generation unit 120 according to the present embodiment.
- FIG. 15 is a diagram showing a specific example of the operation of the data acquisition process S100a of the data acquisition device 100a according to the present embodiment. The specific example of FIG. 15 illustrates a case where the data acquisition device 100a has received an inquiry command 201 for acquiring the amount of water for each date and time from the water level table 301a from the application execution device 200.
- a difference from the data acquisition process S100 described in FIG. 3 of the first embodiment is an instruction generation process S120. Since the instruction reception process S110, the data acquisition execution process S130, and the data output process S140 are the same as those in the first embodiment, description thereof is omitted.
- ID-specific acquisition definition information 1810 a definition ID, a table name, a column name, and an acquisition method are set.
- the definition ID is an identifier that uniquely identifies the acquisition method.
- the definition area condition information 1820 is associated with a definition ID and a condition ID.
- the condition ID is an identifier that uniquely identifies the content of the condition.
- a plurality of condition IDs may be associated with one definition ID.
- the condition definition information 1830 the condition ID and the content of the condition are associated with each other.
- a plurality of conditions can be associated with one acquisition method determined from the definition ID by the ID-specific acquisition definition information 1810, the domain condition information 1820, and the condition definition information 1830.
- the domain condition information 1820 by associating the condition IDs of the period 1 and the water level 1 with the water quantity 1, the condition of the period 1 and the water level 1 with respect to the calculation formula 1 which is the method for acquiring the water quantity 1 Can be associated. That is, in the domain condition information 1820, by associating a plurality of condition IDs with a definition ID, a value definition range 3001 determined from a plurality of conditions can be associated with an acquisition method corresponding to the definition ID.
- step S1201a the instruction generation unit 120 analyzes the inquiry instruction 201 and extracts a candidate portion to be rewritten.
- the inquiry command 201 includes a table name for designating the database 300 and a column name for designating data to be acquired. In the present embodiment, a plurality of column names are included.
- the instruction generation unit 120 analyzes the inquiry instruction 201 and extracts a table name and a column name.
- the method for analyzing the inquiry command 201 is the same as that described in the first embodiment. In the example of FIG. 15, the date / time and the amount of water are extracted as the column name and the water level table is extracted as the table name from the inquiry command 210.
- step S1202a the instruction generation unit 120 determines whether or not there is a portion that needs to be rewritten in the inquiry instruction 201.
- the instruction generation unit 120 searches the ID-specific acquisition definition information 1810 using the table name and column name extracted in S1201a.
- the command generation unit 120 searches the ID-based acquisition definition information 1810 using one column name and the table name among the plurality of column names.
- the instruction generation unit 120 determines that the column name is a portion that needs to be rewritten, and acquires the acquisition method and definition corresponding to the hit row. ID is acquired.
- ID is acquired. In the example of FIG.
- the instruction generation unit 120 searches the ID-specific acquisition definition information 1810 by the water level table and the date and time, and searches the ID-specific acquisition definition information 1810 by the water level table and the amount of water. In the example shown in FIG. 15, since the water level table and the water volume are hit in the ID-specific acquisition definition information 1810, the command generation unit 120 uses the water volume 1 and the calculation formula 1, the water volume 2 and the calculation formula as the definition ID and the acquisition method. 2 and get.
- the instruction generation unit 120 acquires domain condition information 1820 and condition definition information 1830 necessary for rewriting the query instruction 201.
- step S1204a the instruction generation unit 120 executes processing for rewriting the inquiry instruction 201 using the acquired information.
- the command generation unit 120 determines whether or not a command statement has been created for all of the definition IDs acquired from the ID-specific acquisition definition information 1810. If it is determined that a statement has been created for all of the definition IDs, the process returns to S1202a. If it is determined that there is an unprocessed definition ID, the process proceeds to S12042a.
- the instruction generation unit 120 searches the domain condition information 1820 using the definition ID of the processing target acquired from the ID-specific acquisition definition information 1810, and acquires the condition ID.
- the instruction generation unit 120 searches the condition definition information 1830 using the condition ID acquired from the domain condition information 1820, and acquires the condition corresponding to the condition ID.
- the instruction generation unit 120 uses the acquired condition to generate a command statement for acquiring column name data by an acquisition method corresponding to the definition ID to be processed when the acquired condition is satisfied.
- the command statement generated here is a partial command statement corresponding to the processing target definition ID among the command statements used in the rewritten query command.
- the command generation unit 120 repeats S12041a and S12042a until command statements are created for all the definition IDs acquired from the ID-specific acquisition definition information 1810. That is, in the example of FIG. 15, since the definition ID is the water amount 1 and the water amount 2, S12041a and S12042a are repeated until a command statement is created for both the water amount 1 and the water amount 2.
- the command generation unit 120 searches the domain condition information 1820 using the water amount 1 that is the definition ID, and acquires the period 1 and the water level 1 as the condition ID.
- the instruction generation unit 120 searches the condition definition information 1830 using the period 1 and the water level 1 acquired from the domain definition condition information 1820.
- the instruction generation unit 120 acquires the date and time from 2013/04/01 to 2014/04/01 as the condition corresponding to the period 1. Further, the command generation unit 120 acquires a water level of 7 or more as a condition corresponding to the water level 1.
- the command generation unit 120 sets the command statement 2021 for calculating the water amount using the calculation formula 1 corresponding to the water amount 1. Generate.
- the command generation unit 120 proceeds to S12042a because the command generation processing for the amount of water 2 is unprocessed (NO in S12041a).
- the command generation unit 120 executes the same process for the water amount 2 as in the case of the water amount 1, and if the date is from 2014/04/01 to 2015/04/01 and the water level is less than 7, the water amount A command statement 2022 for calculating the amount of water is generated by the calculation formula 2 corresponding to 2.
- the instruction generation unit 120 determines that the acquisition method is undefined for data that does not meet any of the above conditions in the water level table 301a.
- the command generation unit 120 generates a command statement 2023 of the ELSE phrase that acquires data that does not satisfy any of the above conditions by a calculation formula set to the default value of the undefined information 171.
- step S1205a the instruction generation unit 120 combines the generated partial instruction sentences and rewrites the column name portion of the query instruction 201 using the combined instruction sentence.
- the instruction generation unit 120 combines the generated three command statements 2021, 2022, and 2023, generates a CASE phrase using the combined command statements, and rewrites the column name portion of the query command 201.
- the instruction generation unit 120 outputs the rewritten inquiry instruction 201 to the data acquisition unit 130 as the data acquisition instruction 202.
- a domain defined by a plurality of conditions can be defined, and a value that changes discontinuously with respect to the domain can be obtained.
- the relationship between the water level and the amount of water in rivers and dams has been described as a specific example.
- the temperature and resistivity at which the resistivity changes discontinuously with respect to the temperature due to a phase change or the like are also defined. Can be satisfied.
- the method of defining a domain by two conditions has been described. However, three condition IDs may be associated with one definition ID in the domain condition information. The number of condition IDs associated with one definition ID may be four or five.
- the data acquisition devices 100 and 100a are computers.
- the data acquisition devices 100 and 100a include hardware such as a processor 901, an auxiliary storage device 902, a memory 903, a communication device 904, an input interface 905, and a display interface 906.
- the processor 901 is connected to other hardware via the signal line 910, and controls these other hardware.
- the input interface 905 is connected to the input device 907.
- the display interface 906 is connected to the display 908.
- the processor 901 is an IC (Integrated Circuit) that performs processing.
- the processor 901 is, for example, a CPU, a DSP (Digital Signal Processor), or a GPU.
- the auxiliary storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or an HDD (Hard Disk Drive).
- the memory 903 is, for example, a RAM (Random Access Memory).
- the communication device 904 includes a receiver 9041 that receives data and a transmitter 9042 that transmits data.
- the communication device 904 is, for example, a communication chip or a NIC (Network Interface Card).
- the communication device 904 is a device for communicating with the application execution device 200 or the database 300 via a network.
- the input interface 905 is a port to which the cable 911 of the input device 907 is connected.
- the input interface 905 is, for example, a USB (Universal Serial Bus) terminal.
- the display interface 906 is a port to which the cable 912 of the display 908 is connected.
- the display interface 906 is, for example, a USB terminal or an HDMI (registered trademark) (High Definition Multimedia Interface) terminal.
- the input device 907 is, for example, a mouse, a keyboard, or a touch panel.
- the display 908 is, for example, an LCD (Liquid Crystal Display).
- the auxiliary storage device 902 stores programs that realize the functions of the command receiving unit 110, the command generation unit 120, the data acquisition unit 130, the data output unit 140, and the acquisition definition registration unit 180 shown in FIGS. Has been.
- the instruction reception unit 110, the instruction generation unit 120, the data acquisition unit 130, the data output unit 140, and the acquisition definition registration unit 180 are collectively referred to as “parts”.
- the program that realizes the function of the “unit” described above is also called a data acquisition program.
- the program that realizes the function of “unit” may be a single program or a plurality of programs.
- a program for realizing the function of “part” is stored in a storage medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. This program is loaded into the memory 903, read into the processor 901, and executed by the processor 901.
- auxiliary storage device 902 also stores an OS (Operating System). Then, at least a part of the OS is loaded into the memory 903, and the processor 901 executes a program that realizes the function of “unit” while executing the OS.
- OS Operating System
- one processor 901 is illustrated, but the data acquisition devices 100 and 100 a may include a plurality of processors 901. A plurality of processors 901 may execute a program for realizing the function of “unit” in cooperation with each other.
- the definition axis information storage unit 150, the acquisition definition storage unit 160, the undefined information storage unit 170, the ID-specific acquisition definition storage unit 181, the domain condition storage unit 182, and the condition definition storage unit 183 shown in FIGS. Is constituted by an auxiliary storage device 902.
- the auxiliary storage device 902 includes definition axis definition information 151, acquisition definition information 161, undefined information 171, ID-specific acquisition definition information 1810, domain condition information 1820, and condition definition information 1830 shown in FIGS. 2, 11, and 13. Is remembered.
- Parts may be provided by “Processing Circuitry”. Further, “part” may be read as “circuit”, “process”, “procedure”, or “processing”. Further, “processing” may be read as “circuit”, “process”, “procedure”, or “part”.
- the “circuit” and the “processing circuit” are not only the processor 901 but also other types of processing circuits such as a logic IC or GA (Gate Array) or ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). Is a concept that also includes
- a program product is a storage medium, a storage device, or the like on which a program that realizes the function described as a “part” is recorded. It is what you are loading.
- the data acquisition apparatus 100 may be realized as software that operates on general-purpose hardware such as a personal computer or a server, or may be realized as dedicated hardware.
- each of the command receiving unit, the command generating unit, the data acquiring unit, the data output unit, and the acquisition definition registering unit constitutes a data acquisition device as an independent functional block.
- the data acquisition device may not be configured as described above, and the configuration of the data acquisition device is arbitrary.
- the command reception unit, the data acquisition unit, and the data output unit may be a single functional block.
- the instruction generation unit may be further divided into a plurality of functional blocks.
- the functional blocks of the data acquisition device are arbitrary as long as the functions described in the above embodiments can be realized. You may comprise a data acquisition apparatus by these functional blocks in what kind of other combination, or arbitrary block configurations.
- the data acquisition device may be a data acquisition system including a plurality of devices instead of a single device.
- Embodiments 1 to 3 have been described, a plurality of these three embodiments may be partially combined. Alternatively, one of these three embodiments may be partially implemented. In addition, these three embodiments may be implemented in any combination as a whole or in part. In addition, said embodiment is an essentially preferable illustration, Comprising: It does not intend restrict
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
特許文献1には、データベース言語再発行装置を使用して、データを利用するアプリケーションがデータベースに対して発行するデータ取得命令を、データベースに送る前に書き換えることで、データ取得定義を変更する技術が開示されている。
また、特許文献2には、データの定義について変更が必要となる場合に、あらかじめデータの定義を更新することで、外部からデータを参照する場合に整合性を保つ技術が開示されている。
また、特許文献2に記載されている方法では、事前に参照用にデータを作成しておく必要があるため、データ取得定義を柔軟に変更することが難しいという課題があった。
定義値に対応付けられたデータを格納するデータベースからデータを取得する問合せ命令であって、取得するデータに対応する定義値の範囲を指定する値指定範囲を含む問合せ命令を受け付ける命令受付部と、
定義値の範囲を定義した値定義範囲と、前記データベースからデータを取得する取得方法とが対応付けられた取得定義情報を記憶する取得定義記憶部と、
前記問合せ命令と前記取得定義情報とを用いて、前記値指定範囲に前記値定義範囲と重なる範囲があるか否かを判定し、前記重なる範囲があると判定した場合に、前記重なる範囲に含まれる定義値に対応するデータを前記値定義範囲に対応する取得方法で取得するデータ取得命令を生成する命令生成部とを備える。
***構成の説明***
図1は、本実施の形態に係るデータ取得装置100の利用方法を示すシステム構成図である。
本実施の形態に係るデータ取得装置100は、アプリケーション実行装置200とデータベース300とに接続される。データ取得装置100は、アプリケーション実行装置200とデータベース300との間に配置される。
アプリケーション実行装置200は、データ取得装置100を利用してデータベース300からデータを取得する。アプリケーション実行装置200は、データベース300から取得したデータを利用して処理を行うアプリケーションプログラムを実行する。
データベース300は、アプリケーション実行装置200が利用するデータを格納する。データベース300は、データの定義に用いられる定義値に対応付けられたデータを格納する。データの定義に用いられる定義値とは、データに対応付けられた日時などの変数である。
データ取得装置100は、アプリケーション実行装置200からの問合せ命令に応じて、データベース300からデータを取得する。
データ取得装置100は、命令受付部110、命令生成部120、データ取得部130、データ出力部140を備える。また、データ取得装置100は、定義軸情報記憶部150、取得定義記憶部160、未定義情報記憶部170を備える。定義軸情報記憶部150は定義軸定義情報151を記憶する。取得定義記憶部160は取得定義情報161を記憶する。未定義情報記憶部170は未定義情報171を記憶する。
データ出力部140は、データ取得部130により取得された取得データ203をアプリケーション実行装置200に出力する。
図3は、本実施の形態に係るデータ取得装置100のデータ取得方法、データ取得処理S100を示すフロー図である。
命令受付部110は、定義値に対応付けられたデータを格納するデータベース300からデータを取得する問合せ命令201を受け付ける命令受付処理S110を実行する。
問合せ命令201は、取得するデータに対応する定義値の範囲を指定する値指定範囲を含む。問合せ命令201は、データ取得装置100に対し、データベース300から定義値が値指定範囲内のデータを取得することを指示する命令である。
本実施の形態では、データベース300にRDBMS(Relational DataBase Management System)を使用し、問合せ命令201にSQL(Structured Query Language)を使用する。
命令受付部110は、アプリケーション実行装置200から受け付けた問合せ命令201を命令生成部120に出力する。
まず、命令受付部110が待ち受け用のポートを開く。待ち受け用のポートは、具体的にはTCP(Transmission Control Protocol)などの通信ソケットである。なお、TCPよりも上位あるいは下位のレイヤーの通信方式を用いてもよい。また、アプリケーション実行装置200とデータ取得装置100とが同一のサーバにインストールされているような場合には、Windows(登録商標)サーバならばウィンドウメッセージ、Unix(登録商標)系のサーバであればパイプなどの内部通信を用いてもよい。
次に、命令受付部110は、アプリケーション実行装置200との間で通信を行い、アプリケーション実行装置200から命令受付部110にSQL命令が送信される。通信に使用するプロトコルに特に指定はないが、例えばTelnetのように平文でSQL命令を送信したり、HTTP(HyperText Transfer Protocol)を使用してそのボディ部にSQL命令を格納したりすることなどが考えられる。また、SSL(Secure Sockets Layer)のように決まったプロトコルと組み合わされたプロトコルを用いて、SQL命令が暗号化されていてもよい。命令受付部110の処理としては、SQL命令のパース処理を行い、命令の区切りとなるセミコロン(;)を探すことにより、1つのSQL命令を取得する。
命令受付部110は、このようにして取得したSQL命令、すなわち問合せ命令201を命令生成部120に渡す。
命令生成部120は、取得定義情報161と問合せ命令201とを用いて、値指定範囲に値定義範囲と重なる範囲があるか否かを判定し、重なる範囲があると判定した場合に、重なる範囲に含まれる定義値に対応するデータを値定義範囲に対応する取得方法で取得するデータ取得命令202を生成する命令生成処理S120を実行する。
書き換えが必要な箇所があると判定された場合(S1202でYES)、S1203に進む。
書き換えが必要な箇所がないと判定された場合(S1202でNO)、S1205に進む。
S1204において、命令生成部120は、取得した情報を使用して、問合せ命令201の書き換えを実行する。問合せ命令201を書き換える処理については、後で詳しく説明する。
命令生成部120は、S1202で問合せ命令201に書き換えが必要な箇所は無いと判定するまで、S1202からS1204の処理を繰り返し実行する。すなわち、命令生成部120は、問合せ命令201に含まれる全ての列名について書き換えの必要が無いと判定するまで、S1202からS1204の処理を繰り返し実行する。
図5は、本実施の形態に係る定義軸定義情報151の例を示す図である。
図6は、本実施の形態に係る取得定義情報161の例を示す図である。
図7は、本実施の形態に係る未定義情報171の例を示す図である。
図8は、本実施の形態に係る命令生成部120の命令変換処理S120の動作の具体例を示す図である。
図4から図8を用いて、命令変換処理S120の動作について具体的に説明する。
電力テーブル301の行には、2階建ての建物の1日の消費電力量がデータとして格納される。電力テーブル301の列名は、日時、建物、1F、2Fである。日時には年/月/日の日時が設定される。建物には、建物全体の消費電力量が格納される。1Fには、建物の1階の消費電力量が格納される。同様に、2Fには、建物の2階の消費電力量が格納される。図4のデータベース300では、2Fのデータは3行目の2014/4/2から格納されている。これは、2014/4/1に建物の2階に電力計が追加されたことで、2014/4/1から2Fにデータが設定され始めたことを意味する。
2014/3/30から2014/3/31までを値定義範囲3001aとし、2014/4/1から2014/4/3までを値定義範囲3001bとする。値定義範囲3001aと値定義範囲3001aとでは、2F列のデータについての取得方法が異なる。このように取得方法が異なる定義値の値定義範囲3001をデータの定義区間とも称する。
図6の1行目では、電力テーブル301における2階電力の定義区間(値定義範囲3001a)「2013/4/01から2014/4/01まで」では、電力テーブル301の2階電力は「建物-1F」で取得されることが定義されている。また、図6の2行目では、電力テーブル301における2階電力の定義区間(値定義範囲3001b)「2014/4/01から2015/4/01まで」では、電力テーブルの2階電力は「2F」で取得されることが定義されている。つまり、図6の取得定義情報161では、2014/3/31までは、2階の消費電力量を直接取得することができないため、建物全体の消費電力量から、1階の消費電力量を引くことで2階の消費電力量を取得すると定義される。また、2014/4/01以降は、2F列にデータが直接格納されているので、その値を取得すると定義される。
未定義情報171には、テーブル名、デフォルト値を設定する対象のデータの列名、デフォルト値が設定されている。図7では、テーブル名に電力、列名に2階電力、デフォルト値に0が設定されている。図7の未定義情報171は、電力テーブルにおける2階電力の「2013/4/01から2014/4/01まで」と「2014/4/01から2015/4/01まで」との2つの定義区間以外の定義区間が、問合せ命令201で指定された場合に2階電力として「0」を取得することを意味する。図6の取得定義情報161の例では、2013/4/1以前や、2015/4/1以降のデータの取得方法について定義していない。このような定義されていない定義区間に対して適用するものが、デフォルト値定義である。
命令受付部110は、アプリケーション実行装置200からの問合せ命令201を受け付け、命令生成部120に出力する。図8に示すように、問合せ命令201には、電力テーブル301から2階電力のデータを取得する次のような命令が記述されている。
問合せ命令201:
SELECT 2階電力
FROM 電力
上記問合せ命令201には日時の指定が無い。よって、問合せ命令201は、電力テーブル301の全ての日時における2階電力を取得することを意味する。よって、問合せ命令201に含まれる値指定範囲2011は2014/3/30から2014/4/3までとなる。
以下に、日時の指定がある問合せ命令の記述例を示す。
問合せ命令の記述例:
SELECT 2階電力
FROM 電力
WHEN 日時=2014/03/31
この問合せ命令では、値指定範囲は2014/03/31となる。よって、この問合せ命令は、電力テーブルの2014/03/31における2階電力を取得することを意味している。
命令生成部120は、問合せ命令201に含まれる日時の値指定範囲2011に、取得定義情報161に定義された複数の値定義範囲3001の各々と重なる範囲があるか否かを判定する。命令生成部120は、重なる範囲があると判定した場合に、重なる範囲に含まれる定義値に対応するデータを各値定義範囲3001に対応する取得方法で取得するデータ取得命令202を1つ生成する。
S1202において、命令生成部120は、問合せ命令201の中に書き換えが必要な箇所があるか否かを判定する。命令生成部120は、S1201で抽出したテーブル名と列名とを用いて、定義軸定義情報151を検索する。命令生成部120は、テーブル名と列名とが定義軸定義情報151にヒットした場合に、その列名を書き換えが必要な箇所であると判定する。
具体的には、命令生成部120は、図8に示す問合せ命令201からテーブル名「電力」と、列名「2階電力」を抽出し、図5の定義軸定義情報151を検索する。図5の定義軸定義情報151では、テーブル名「電力」と列名「2階電力」とがヒットするため、列名「2階電力」は書き換えが必要な箇所であると判定される。すなわち、図8の例では、アプリケーション実行装置200から送られたSQL命令の列名「2階電力」が書き換え対象である。
S1203において、命令生成部120は、問合せ命令201の書き換えに必要な定義軸定義情報151、取得定義情報161、未定義情報171を取得する。
命令生成部120は、定義軸定義情報151から、テーブル名と列名とに対応する定義値を取得する。命令生成部120は、取得した定義値を用いて、問合せ命令201に含まれる定義値の値指定範囲2011に、取得定義情報161に定義された値定義範囲3001と重なる範囲があるか否かを判定する。命令生成部120は、重なる範囲があると判定した場合に、重なる範囲が含まれる値定義範囲3001に対応する取得方法を用いて、問合せ命令201の列名を書き換える。命令生成部120は、値定義範囲3001と重なる範囲の列名のデータを取得する命令を、値定義範囲3001に対応する取得方法を用いて取得する命令に書き換える。命令生成部120は、書き換えた問合せ命令201をデータ取得命令202とする。
命令生成部120は、定義軸定義情報151から電力テーブルの2階電力の定義値は日時であることを取得する。そこで、命令生成部120は、問合せ命令201に含まれる日時の値指定範囲2011「2014/3/30から2014/4/3まで」に、取得定義情報161に定義された値定義範囲3001a,3001bと重なる範囲があるか否かを判定する。
命令生成部120は、値指定範囲2011の「2014/3/30から2014/3/31まで」は値定義範囲3001aと重なり、値指定範囲2011の「2014/4/1から2014/4/3まで」は値定義範囲3001bと重なると判断する。
命令生成部120は、重なる範囲があると判定した場合に、重なる範囲に含まれる日時に対応するデータを値定義範囲3001に対応する取得方法で取得するデータ取得命令202を生成する。具体的には、命令生成部120は、問合せ命令201を、「2014/3/30から2014/3/31まで」は値定義範囲3001aに対応する取得方法「建物―1F」で2階電力を取得し、「2014/4/1から2014/4/3まで」は値定義範囲3001bに対応する取得方法「2F」で2階電力を取得するデータ取得命令202に書き換える。
問合せ命令201の変換としては、例えばCASE式に書き換えを行う。CASE式のWHEN句には、定義軸定義情報151及び取得定義情報161を使用した条件を使用する。THEN句には、その条件に該当する取得定義を使用する。
どの定義区間にも該当しないELSE句にはデフォルト値を使用する。
以上のように、図8に示すデータ取得命令202が生成される。
データ取得部130は、データ取得命令202を用いて、データベース300の電力テーブル301から列名が2階電力のデータを取得データ203として取得するデータ取得実行処理S130を実行する。
データ取得部130は、取得したデータ取得命令202をデータベース300に発行することにより、データベース300からデータ取得命令202に応じた取得データ203を取得する。データ取得部130は、具体的には、Java(登録商標)プログラムからデータベースにアクセスするための標準インタフェースの1つであるJDBC(Java DataBase Connectivity)、あるいは、ODBC(Open DataBase Connectivity)などの方法を用いて、データベース300にデータ取得命令202を発行する。
図8では、データ取得部130は、取得データ203として「4,3,2,3,3」を取得する。
データ出力部140は、データ取得部130により取得された取得データ203を、アプリケーション実行装置200から送信された問合せ命令201に対する結果として、アプリケーション実行装置200に出力する。
図8では、データ出力部140は、問合せ命令201に対する結果として、「4,3,2,3,3」を出力する。
以上のように、本実施の形態に係るデータ取得装置100は、複数の定義区間からデータ取得するための問合せ命令を、データの定義区間毎の複数のデータ取得命令に分割することなく、一つのデータ取得命令に変換することができる。よって、本実施の形態に係るデータ取得装置100によれば、データ取得の性能劣化を抑えながら、データ取得定義の変更に対する柔軟性を確保することができる。
図9は、本実施の形態に係るアプリケーション実行装置200とデータ取得装置100とデータベース300との構成の一例を示す図である。また、図10は、本実施の形態に係るアプリケーション実行装置200とデータ取得装置100とデータベース300との構成の他の例を示す図である。
定義区間については、有限の区間として例を記載しているが、特に開始時点や終了時点を定めないような無限の区間を定めることもできる。例えば、ある時点で機器を切り替えるような場合、切り替え前の区間については開始時点を特に定める必要がないため、無限の区間として作成することができる。このような場合、開始時点をあらわす条件は省略し、変換後の条件を簡略化することができる。
また、図8の例では、CASE式を使用して一つの問合せ命令になるように変換しているが、UNIONを使用することも可能である。UNIONを使用する場合、それぞれの区間ごとにSELECTを行う問合せ命令に展開し、それらをUNIONにより結合することで、一つの問合せ命令に変換することが可能である。
さらに、複数の区間における取得定義が同じである場合、それらの区間に対応する条件を一つにまとめることが可能となる。この場合、変換後の問合せ命令を簡略化されることで速度の向上が見込める。
本実施の形態では、主に、実施の形態1と異なる点について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成については同一の符号を付し、その説明を省略する場合がある。
図11は、本実施の形態に係るデータ取得装置100aのブロック構成を示す図である。
本実施の形態に係るデータ取得装置100aは、図2に示すデータ取得装置100のブロック構成に加え、取得定義登録部180を備える。
取得定義登録部180は、複数の値定義範囲の各値定義範囲3001と、複数の値定義範囲の各値定義範囲3001に対応するデータの取得方法とを、取得定義情報161に登録する。取得定義登録部180は、複数の値定義範囲の各値定義範囲3001が他の値定義範囲と重複しないように、複数の値定義範囲の各値定義範囲3001を登録する。
次に動作について説明する。
本実施の形態に係るデータ取得処理S100の動作は、実施の形態1で説明した。本実施の形態では、データ取得装置100aは、さらに取得定義登録部180を用いた取得定義登録処理S180を実行する。
重複がない場合(S182でNO)、取得定義登録部180は、追加要求に含まれるデータの取得定義を取得定義情報161の行に追加する(S183)。
重複がある場合(S182でYES)、取得定義登録部180は、予め定められた対応方法に従って処理を行う(S184)。
以上のように本実施の形態に係るデータ取得装置100aによれば、取得定義登録部180を有するので、データの定義区間の重複の発生を防止することができ、データ取得時に発生する取得されるデータが不定となるなどの問題を回避することができる。
本実施の形態では、主に、実施の形態1,2と異なる点について説明する。
実施の形態1では、データの定義値として使用されるのは、日時などの1種類のデータであった。本実施の形態では、定義の管理方法を変更することで、座標におけるX軸とY軸のように複数の条件から定められる定義値を用いて値定義範囲を設定し、値定義範囲に対応する取得方法を定義することができるデータ取得装置100aについて説明する。
本実施の形態において、実施の形態1,2で説明したものと同様の構成には同一の符号を付し、その説明を省略する。
Q=a(H+b)^2(ただし、a,bは定数)
しかし、堤防の形状などにより、ある水位から河川の形状が急激に変化するような場合、その水位を境に別の計算式を使用する必要がある場合がある。また、洪水などにより堆積物が川底にたまった場合などにも水位と水量の関係が変化する。したがって、ある河川において水位から水量を求めるためには、時間と水位との両方の条件に基づいて、水量を求める取得方法である計算式を変更する必要が生じる。
本実施の形態では、このように複数の条件から定められる定義値の値定義範囲、すなわち定義区間に応じて、取得方法を切り替えることができるデータ取得装置100aについて説明する。
なお、上記の例では、水位テーブルから取得する取得データ203は、単位時間ごとの水量である。また、単位時間ごとの水量の定義値は時間と水位とから定められ、定義値の値定義範囲も時間と水位とから定められる。
図13は、本実施の形態に係るデータ取得装置100aのブロック構成を示す図である。
図13は図2に対応する図であり、図2と異なる点は、図2の定義軸情報記憶部150と取得定義記憶部160に代えて、ID別取得定義記憶部181と定義域条件記憶部182と条件定義記憶部183とを備える点である。
ID別取得定義記憶部181は、ID別取得定義情報1810を記憶する。
定義域条件記憶部182は、定義域条件情報1820を記憶する。
条件定義記憶部183は、条件定義情報1830を記憶する。
次に、本実施の形態に係るデータ取得装置100aのデータ取得処理S100aについて説明する。
図14は、本実施の形態に係る命令生成部120の命令生成処理S120aを示すフロー図である。
図15は、本実施の形態に係るデータ取得装置100aのデータ取得処理S100aの動作の具体例を示す図である。
図15の具体例では、データ取得装置100aが、アプリケーション実行装置200から、水位テーブル301aから日時毎の水量を取得する問合せ命令201を受信した場合を示している。
ID別取得定義情報1810には、定義IDと、テーブル名と、列名と、取得方法とが設定される。定義IDは取得方法を一意に識別する識別子である。
定義域条件情報1820には、定義IDと、条件IDとが対応付けられている。条件IDは、条件の内容を一意に識別する識別子である。1つの定義IDに複数の条件IDが対応付けられていてもよい。
条件定義情報1830には、条件IDと、条件の内容とが対応付けられている。
具体的には、定義域条件情報1820において、水量1に対し期間1と水位1との条件IDを対応付けることにより、水量1の取得方法である計算式1に対し、期間1かつ水位1という条件を対応付けることができる。すなわち、定義域条件情報1820において、定義IDに複数の条件IDを対応付けることにより、定義IDに対応する取得方法に対し、複数の条件から定まる値定義範囲3001を対応付けることができる。
S1201aにおいて、命令生成部120は、問合せ命令201を解析し、書き換え対象の候補となる箇所を抽出する。問合せ命令201には、データベース300を指定するテーブル名と、取得するデータを指定するための列名とが含まれる。本実施の形態では、列名は複数含まれている。命令生成部120は、問合せ命令201を解析し、テーブル名と列名とを抽出する。問合せ命令201を解析方法は、実施の形態1で説明したものと同様である。
図15の例では、問合せ命令210から、列名として日時及び水量、テーブル名として水位テーブルが抽出される。
図15の例では、命令生成部120は、水位テーブルと日時とでID別取得定義情報1810を検索すると共に、水位テーブルと水量とでID別取得定義情報1810を検索する。図15に示す例では、ID別取得定義情報1810において水位テーブルと水量とがヒットするので、命令生成部120は、定義ID及び取得方法として、水量1及び計算式1と、水量2及び計算式2とを取得する。
書き換えが必要な箇所がないと判定された場合(S1202aでNO)、S1205に進む。
S12041aにおいて、命令生成部120は、ID別取得定義情報1810から取得した定義IDの全てについて命令文を作成したか否かを判定する。
定義IDに全てについて命令文を作成したと判定した場合、処理はS1202aに戻る。
未処理の定義IDがあると判定した場合、処理はS12042aに進む。
命令生成部120は、ID別取得定義情報1810から取得した定義IDに全てについて命令文を作成するまで、S12041aとS12042aとを繰り返す。すなわち、図15の例では、定義IDが水量1と水量2であるため、水量1と水量2との両方について、命令文を作成するまで、S12041aとS12042aとを繰り返す。
次に、命令生成部120は、定義域条件情報1820から取得した期間1と水位1とを用いて、条件定義情報1830を検索する。命令生成部120は、期間1に対応する条件として日時が2013/04/01から2014/04/01までを取得する。また、命令生成部120は、水位1に対応する条件として水位が7以上を取得する。命令生成部120は、日時が2013/04/01から2014/04/01までであり、かつ、水位が7以上の場合は、水量1に対応する計算式1で水量を算出する命令文2021を生成する。図15の命令文2021に示すように、問合せ命令201の列名である水量をCASE式で書き換える場合、WHEN句とTHEN句を作成する。このときWHEN句に使用される条件は、定義域条件情報1820に設定されている複数の条件(期間1及び水位1)を結合したものである。
このとき、命令生成部120は、水量2について、命令文の生成処理が未処理であるため(S12041aでNO)、S12042aに進むものとする。
命令生成部120は、水量2についても水量1の場合と同様の処理を実行し、日時が2014/04/01から2015/04/01までであり、かつ、水位が7より少ない場合は、水量2に対応する計算式2で水量を算出する命令文2022を生成する。
図15の例では、命令生成部120は、生成した3つの命令文2021,2022,2023を結合し、結合した命令文を用いてCASE句を生成し、問合せ命令201の列名部分を書き換える。
命令生成部120は、書き換えた問合せ命令201をデータ取得命令202としてデータ取得部130に出力する。
本実施の形態に係るデータ取得装置によれば、複数の条件から定まる定義域を定義することができ、定義域に対して非連続的に変化するような値を求めることができる。
また、本実施の形態では、2つの条件により定義域を定める方法について説明したが、定義域条件情報において1つの定義IDに対して3つの条件IDを対応付けてもよい。1つの定義IDに対応付ける条件IDの数は4つ、5つなどでもよい。
最後に、図16を用いて、実施の形態1に係るデータ取得装置100,100aのハードウェア構成の一例について説明する。
データ取得装置100,100aは、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、例えば、CPU、DSP(Digital Signal Processor)、GPUである。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
通信装置904は、アプリケーション実行装置200あるいはデータベース300などとネットワークを介して通信を行うための装置である。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
図2、図11及び図13に示す定義軸情報記憶部150、取得定義記憶部160、未定義情報記憶部170、ID別取得定義記憶部181、定義域条件記憶部182、条件定義記憶部183は、補助記憶装置902により構成されている。
補助記憶装置902には、図2、図11及び図13に示す定義軸定義情報151、取得定義情報161、未定義情報171、ID別取得定義情報1810、定義域条件情報1820、条件定義情報1830が記憶されている。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。また、「処理」を「回路」又は「工程」又は「手順」又は「部」に読み替えてもよい。
「回路」及び「プロセッシングサーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
例えば、命令受付部、データ取得部、データ出力部を1つの機能ブロックとしてもよい。また、命令生成部をさらに細かく分けて複数の機能ブロックとしてもよい。データ取得装置の機能ブロックは、上記の実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成でデータ取得装置を構成しても構わない。
また、データ取得装置は、1つの装置でなく、複数の装置から構成されたデータ取得システムでもよい。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (13)
- 定義値に対応付けられたデータを格納するデータベースからデータを取得する問合せ命令であって、取得するデータに対応する定義値の範囲を指定する値指定範囲を含む問合せ命令を受け付ける命令受付部と、
定義値の範囲を定義した値定義範囲と、前記データベースからデータを取得する取得方法とが対応付けられた取得定義情報を記憶する取得定義記憶部と、
前記問合せ命令と前記取得定義情報とを用いて、前記値指定範囲に前記値定義範囲と重なる範囲があるか否かを判定し、前記重なる範囲があると判定した場合に、前記重なる範囲に含まれる定義値に対応するデータを前記値定義範囲に対応する取得方法で取得するデータ取得命令を生成する命令生成部とを備えるデータ取得装置。 - 前記取得定義記憶部は、
前記値定義範囲として複数の値定義範囲を含むと共に、前記複数の値定義範囲の各値定義範囲に前記取得方法が対応付けられた前記取得定義情報を記憶し、
前記命令生成部は、
前記値指定範囲に前記複数の値定義範囲の各値定義範囲と重なる範囲があるか否かを判定し、前記重なる範囲があると判定した場合に、前記重なる範囲に含まれる定義値に対応するデータを前記複数の値定義範囲の各値定義範囲に対応する取得方法で取得する前記データ取得命令を生成する請求項1に記載のデータ取得装置。 - 前記データ取得装置は、
前記命令生成部により生成された前記データ取得命令を用いて前記データベースからデータを取得するデータ取得部を備える請求項2に記載のデータ取得装置。 - 前記命令生成部は、
前記値指定範囲に前記複数の値定義範囲のいずれの値定義範囲とも重ならない範囲があると判定した場合には、前記重ならない範囲に含まれる定義値に対応するデータとしてデフォルト値を取得する命令を前記データ取得命令に含める請求項2または3に記載のデータ取得装置。 - 前記データ取得装置は、
前記重ならない範囲に含まれる定義値に対応するデータとして取得されるデフォルト値を含む未定義情報を記憶する未定義情報記憶部を備える請求項4に記載のデータ取得装置。 - 前記データ取得装置は、
前記複数の値定義範囲の各値定義範囲と前記複数の値定義範囲の各値定義範囲に対応する前記取得方法とを、前記取得定義情報に登録する取得定義登録部を備える請求項2から5のいずれか1項に記載のデータ取得装置。 - 前記取得定義登録部は、
前記複数の値定義範囲の各値定義範囲が他の値定義範囲と重複しないように前記複数の値定義範囲の各値定義範囲を登録する請求項6に記載のデータ取得装置。 - 前記取得定義登録部は、
前記複数の値定義範囲の各値定義範囲が他の値定義範囲と重複する場合、前記複数の値定義範囲の各値定義範囲が他の値定義範囲と重複しないように、前記複数の値定義範囲の各値定義範囲あるいは前記他の値定義範囲を短縮する請求項7に記載のデータ取得装置。 - 前記命令生成部は、
前記問合せ命令を書き換えることにより前記データ取得命令を生成する請求項1から7のいずれか1項に記載のデータ取得装置。 - 前記定義値は、日時である請求項1から8のいずれか1項に記載のデータ取得装置。
- 前記定義値は、複数の条件から定められる請求項1から8のいずれか1項に記載のデータ取得装置。
- 命令受付部が、定義値に対応付けられたデータを格納するデータベースからデータを取得する問合せ命令であって、取得するデータに対応する定義値の範囲を指定する値指定範囲を含む問合せ命令を受け付け、
命令生成部が、定義値の範囲を定義した値定義範囲と、前記データベースからデータを取得する取得方法とが対応付けられた取得定義情報と前記問合せ命令とを用いて、前記値指定範囲に前記値定義範囲と重なる範囲があるか否かを判定し、前記重なる範囲があると判定した場合に、前記重なる範囲に含まれる定義値に対応するデータを前記値定義範囲に対応する取得方法で取得するデータ取得命令を生成するデータ取得方法。 - 定義値に対応付けられたデータを格納するデータベースからデータを取得する問合せ命令であって、取得するデータに対応する定義値の範囲を指定する値指定範囲を含む問合せ命令を受け付ける命令受付処理と、
定義値の範囲を定義した値定義範囲と、前記データベースからデータを取得する取得方法とが対応付けられた取得定義情報と前記問合せ命令とを用いて、前記値指定範囲に前記値定義範囲と重なる範囲があるか否かを判定し、前記重なる範囲があると判定した場合に、前記重なる範囲に含まれる定義値に対応するデータを前記値定義範囲に対応する取得方法で取得するデータ取得命令を生成する命令生成処理とをコンピュータに実行させるデータ取得プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/575,212 US10289719B2 (en) | 2015-07-10 | 2015-07-10 | Data acquisition device, data acquisition method and computer readable medium |
CN201580079792.9A CN107533550B (zh) | 2015-07-10 | 2015-07-10 | 数据取得装置、数据取得方法和计算机能读取的记录介质 |
JP2017528000A JP6366843B2 (ja) | 2015-07-10 | 2015-07-10 | データ取得装置、データ取得方法及びデータ取得プログラム |
PCT/JP2015/069847 WO2017009886A1 (ja) | 2015-07-10 | 2015-07-10 | データ取得装置、データ取得方法及びデータ取得プログラム |
EP15898202.5A EP3321818B1 (en) | 2015-07-10 | 2015-07-10 | Data acquisition device, data acquisition method and data acquisition program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/069847 WO2017009886A1 (ja) | 2015-07-10 | 2015-07-10 | データ取得装置、データ取得方法及びデータ取得プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017009886A1 true WO2017009886A1 (ja) | 2017-01-19 |
Family
ID=57757088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/069847 WO2017009886A1 (ja) | 2015-07-10 | 2015-07-10 | データ取得装置、データ取得方法及びデータ取得プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10289719B2 (ja) |
EP (1) | EP3321818B1 (ja) |
JP (1) | JP6366843B2 (ja) |
CN (1) | CN107533550B (ja) |
WO (1) | WO2017009886A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020245943A1 (ja) * | 2019-06-05 | 2020-12-10 | 三菱電機株式会社 | データベース言語再発行装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11054342B2 (en) * | 2017-02-20 | 2021-07-06 | Lifewhere, Llc | System for abnormal condition detection using nearest neighbor |
US11860901B1 (en) * | 2019-03-29 | 2024-01-02 | Amazon Technologies, Inc. | SQL execution over HTTP for relational databases using connection pooling |
US20210224287A1 (en) * | 2020-01-16 | 2021-07-22 | Oracle International Corporation | Flexible schema tables |
CN115374187B (zh) * | 2022-10-24 | 2023-01-13 | 北京国电通网络技术有限公司 | 指标数据采集方法、装置、电子设备和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954714A (ja) * | 1995-08-11 | 1997-02-25 | Omron Corp | 処理命令変換装置および処理命令変換方法 |
JP2000268052A (ja) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | データ処理システムおよび記録媒体 |
JP2005321849A (ja) * | 2004-05-06 | 2005-11-17 | Fujitsu Ltd | データ分析支援プログラム、データ分析支援方法、およびデータ分析支援装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0687226B2 (ja) | 1989-03-28 | 1994-11-02 | 株式会社日立情報システムズ | データベース管理方式 |
JPH09231116A (ja) | 1996-02-27 | 1997-09-05 | Fujitsu Ltd | データベース言語再発行装置 |
CA2242158C (en) * | 1997-07-01 | 2004-06-01 | Hitachi, Ltd. | Method and apparatus for searching and displaying structured document |
JPH1131097A (ja) | 1997-07-10 | 1999-02-02 | Nippon Telegr & Teleph Corp <Ntt> | 情報管理データが記録されているコンピュータ読み取り可能な記録媒体及び情報管理システム |
GB2343763B (en) | 1998-09-04 | 2003-05-21 | Shell Services Internat Ltd | Data processing system |
JP2001187477A (ja) | 1999-12-28 | 2001-07-10 | Ibm Japan Ltd | 階層リンク・テーブルを備えたデータベース・システム |
JP2001188841A (ja) | 1999-12-28 | 2001-07-10 | Ibm Japan Ltd | 料金計算を行なうためのデータ処理システム |
US6947946B2 (en) | 1999-12-28 | 2005-09-20 | International Business Machines Corporation | Database system including hierarchical link table |
WO2001052173A1 (en) * | 2000-01-13 | 2001-07-19 | Erinmedia, Inc. | Privacy compliant multiple dataset correlation system |
US20020095405A1 (en) * | 2001-01-18 | 2002-07-18 | Hitachi America, Ltd. | View definition with mask for cell-level data access control |
JP2004220393A (ja) | 2003-01-16 | 2004-08-05 | Hitachi Ltd | データベース管理方法及びその実施装置並びにその処理プログラム |
US20060026162A1 (en) * | 2004-07-19 | 2006-02-02 | Zoran Corporation | Content management system |
US8768766B2 (en) * | 2005-03-07 | 2014-07-01 | Turn Inc. | Enhanced online advertising system |
JP5033322B2 (ja) | 2005-11-10 | 2012-09-26 | 株式会社日立製作所 | 連結関係情報を用いた情報管理方法及び装置 |
US20090019003A1 (en) * | 2006-07-25 | 2009-01-15 | Mypoints.Com Inc. | Method for Refining and Selecting Data Repository Members |
US7516128B2 (en) * | 2006-11-14 | 2009-04-07 | International Business Machines Corporation | Method for cleansing sequence-based data at query time |
EP2207093A4 (en) * | 2007-10-05 | 2012-12-26 | Ibm | SYSTEM AND METHOD FOR DATA PROCESSING |
US8078652B2 (en) | 2007-12-06 | 2011-12-13 | Oracle International Corporation | Virtual columns |
JP2010123017A (ja) | 2008-11-21 | 2010-06-03 | Mitsubishi Electric Corp | データベース装置 |
JP2011013910A (ja) | 2009-07-01 | 2011-01-20 | Hitachi Ltd | 企業情報更新処理システム、企業情報更新処理方法、および企業情報更新プログラム |
US20120331006A1 (en) * | 2010-04-16 | 2012-12-27 | Mitsubishi Electric Corporation | Data access method and data access device |
US9137511B1 (en) * | 2011-12-15 | 2015-09-15 | Rawles Llc | 3D modeling with depth camera and surface normals |
US8712994B2 (en) * | 2011-12-29 | 2014-04-29 | Teradata US. Inc. | Techniques for accessing a parallel database system via external programs using vertical and/or horizontal partitioning |
JP5834144B2 (ja) * | 2012-09-13 | 2015-12-16 | 株式会社日立製作所 | プリント基板設計検証システム、プリント基板設計検証方法及び記録媒体 |
US10832313B2 (en) * | 2012-09-29 | 2020-11-10 | Xandr Inc. | Systems and methods for serving secure content |
US9841744B2 (en) * | 2013-05-17 | 2017-12-12 | Mitsubishi Electric Corporation | Programmable controller, peripheral device thereof, and table data access program of programmable controller |
US9811580B2 (en) * | 2013-10-10 | 2017-11-07 | International Business Machines Corporation | Policy based automatic physical schema management |
-
2015
- 2015-07-10 JP JP2017528000A patent/JP6366843B2/ja active Active
- 2015-07-10 CN CN201580079792.9A patent/CN107533550B/zh active Active
- 2015-07-10 US US15/575,212 patent/US10289719B2/en active Active
- 2015-07-10 WO PCT/JP2015/069847 patent/WO2017009886A1/ja active Application Filing
- 2015-07-10 EP EP15898202.5A patent/EP3321818B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954714A (ja) * | 1995-08-11 | 1997-02-25 | Omron Corp | 処理命令変換装置および処理命令変換方法 |
JP2000268052A (ja) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | データ処理システムおよび記録媒体 |
JP2005321849A (ja) * | 2004-05-06 | 2005-11-17 | Fujitsu Ltd | データ分析支援プログラム、データ分析支援方法、およびデータ分析支援装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3321818A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020245943A1 (ja) * | 2019-06-05 | 2020-12-10 | 三菱電機株式会社 | データベース言語再発行装置 |
JPWO2020245943A1 (ja) * | 2019-06-05 | 2020-12-10 | ||
JP7173325B2 (ja) | 2019-06-05 | 2022-11-16 | 三菱電機株式会社 | データベース言語再発行装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2017009886A1 (ja) | 2017-10-12 |
EP3321818A1 (en) | 2018-05-16 |
EP3321818A4 (en) | 2018-12-26 |
US20180150510A1 (en) | 2018-05-31 |
EP3321818B1 (en) | 2022-12-28 |
CN107533550B (zh) | 2019-01-29 |
US10289719B2 (en) | 2019-05-14 |
CN107533550A (zh) | 2018-01-02 |
JP6366843B2 (ja) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6366843B2 (ja) | データ取得装置、データ取得方法及びデータ取得プログラム | |
US7472346B2 (en) | Multidimensional XBRL engine | |
US8712965B2 (en) | Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse | |
US9201989B2 (en) | Interpolation techniques used for time alignment of multiple simulation models | |
KR102036392B1 (ko) | 스크립트 파일 의존관계 및 로드 시점 관리 기법 | |
US10387145B1 (en) | Mapping API parameters | |
US9251222B2 (en) | Abstracted dynamic report definition generation for use within information technology infrastructure | |
JP5677319B2 (ja) | ウェブに基づくダイアグラム視覚性の拡張性 | |
US20200117733A1 (en) | Blockchain integration layer | |
US10666744B2 (en) | Managing discovery and selection of service interface specifications | |
US8688752B2 (en) | Method and system for deploying a model-based application to an application server | |
CN113032393B (zh) | 一种绑定关联对象的方法和装置 | |
US7840603B2 (en) | Method and apparatus for database change management | |
US7434200B2 (en) | Using incremental generation to develop software applications | |
US20170093652A1 (en) | Visualization hypertext | |
WO2022066615A1 (en) | Automatic graph database query construction and execution | |
CN111177089A (zh) | 日志处理代码的生成方法和装置、计算机系统和存储介质 | |
US20170220656A1 (en) | Information Access System | |
CN114969044A (zh) | 一种基于数据湖的物化列创建方法以及数据查询方法 | |
WO2022220982A1 (en) | Database query execution on multiple databases | |
Settle et al. | aMatReader: Importing adjacency matrices via Cytoscape Automation | |
US7567971B2 (en) | Generic symbol referencing mechanism | |
US20170161359A1 (en) | Pattern-driven data generator | |
US20200348949A1 (en) | System and methods for loading objects from hash chains | |
CN110727672A (zh) | 数据映射关系查询方法、装置、电子设备及可读介质 |
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: 15898202 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017528000 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15575212 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015898202 Country of ref document: EP |