CN107533550B - 数据取得装置、数据取得方法和计算机能读取的记录介质 - Google Patents
数据取得装置、数据取得方法和计算机能读取的记录介质 Download PDFInfo
- Publication number
- CN107533550B CN107533550B CN201580079792.9A CN201580079792A CN107533550B CN 107533550 B CN107533550 B CN 107533550B CN 201580079792 A CN201580079792 A CN 201580079792A CN 107533550 B CN107533550 B CN 107533550B
- Authority
- CN
- China
- Prior art keywords
- definition
- range
- value
- data
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 38
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 55
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000003643 water by type Substances 0.000 description 1
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
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
数据取得装置具有:命令受理部(110),其受理从数据库取得数据的包含值指定范围的询问命令(201),所述值指定范围指定与要取得的数据对应的定义值的范围;取得定义存储部(160),其存储将值定义范围和从数据库取得数据的取得方法对应起来的取得定义信息(161);以及命令生成部(120),其判定值指定范围内是否存在与值定义范围重合的范围,在判定为存在重合的范围的情况下,生成利用与值定义范围对应的取得方法取得与重合的范围内包含的定义值对应的数据的数据取得命令(202)。
Description
技术领域
本发明涉及数据取得装置、数据取得方法和数据取得程序。
背景技术
数据库中存储的数据有时需要按照该数据的每个定义区间变更数据取得方法。在从存储各种传感器设备的数据的数据库取得数据的情况下,如果进行了传感器设备的更新等,则需要根据生成数据的时期对数据进行校正后取得该数据。
在专利文献1中公开有如下技术:使用数据库语言再次发行装置,在将利用数据的应用对数据库发行的数据取得命令送到数据库之前对其进行改写,由此对数据取得定义进行变更。
并且,在专利文献2中公开有如下技术:在数据的定义需要变更的情况下,预先对数据的定义进行更新,由此,在从外部参照数据的情况下确保整合性。
现有技术文献
专利文献
专利文献1:日本特开平9-231116号公报
专利文献2:日本特开2004-220393号公报
发明内容
发明要解决的课题
在专利文献1记载的方法中,一次能够取得的数据限于一个定义区间内。因此,在取得跨越多个区间的数据的情况下,需要将与数据的定义区间相同数量的数据取得命令送到数据库。由此,存在处理性能劣化这样的课题。
并且,在专利文献2记载的方法中,需要事前生成数据以用于参照,因此,存在不容易灵活地变更数据取得定义这样的课题。
本发明的目的在于,在跨越多个定义区间的数据取得中,通过对询问命令进行改写而利用一次询问命令取得数据,确保针对定义变更的灵活性并抑制性能的劣化。
用于解决课题的手段
本发明的数据取得装置具有:命令受理部,其受理从存储与定义值对应的数据的数据库取得数据的包含值指定范围的询问命令,所述值指定范围指定与要取得的数据对应的定义值的范围;取得定义存储部,其存储将定义了定义值的范围的值定义范围和从所述数据库取得数据的取得方法对应起来的取得定义信息;以及命令生成部,其使用所述询问命令和所述取得定义信息,判定所述值指定范围内是否存在与所述值定义范围重合的范围,在判定为存在所述重合的范围的情况下,生成利用与所述值定义范围对应的取得方法取得与所述重合的范围内包含的定义值对应的数据的数据取得命令。
发明效果
根据本发明的数据取得装置,具有:取得定义存储部,其存储将定义了数据的定义值的范围的值定义范围和从数据库取得数据的取得方法对应起来的取得定义信息;以及命令生成部,其使用询问命令和取得定义信息,生成利用与值定义范围对应的取得方法取得与值指定范围和值定义范围重合的范围内包含的定义值对应的数据的数据取得命令。因此,发挥如下效果:在跨越多个值定义范围的数据取得中,能够利用一个数据取得命令取得数据,能够确保针对定义变更的灵活性并抑制性能的劣化。
附图说明
图1是示出实施方式1的数据取得装置的利用方法的系统结构图。
图2是实施方式1的数据取得装置的框结构图。
图3是示出实施方式1的数据取得装置的数据取得方法、数据取得处理的流程图。
图4是示出实施方式1的数据库的例子的图。
图5是示出实施方式1的定义轴定义信息的例子的图。
图6是示出实施方式1的取得定义信息的例子的图。
图7是示出实施方式1的未定义信息的例子的图。
图8是示出实施方式1的数据取得装置的数据取得处理的动作的具体例的图。
图9是示出实施方式1的应用执行装置、数据取得装置、数据库的结构的一例的图。
图10是示出实施方式1的应用执行装置、数据取得装置、数据库的结构的另一例的图。
图11是实施方式2的数据取得装置的框结构图。
图12是示出实施方式2的取得定义登记部的取得定义登记处理的动作的流程图。
图13是实施方式3的数据取得装置的框结构图。
图14是示出实施方式3的命令生成部的命令生成处理的流程图。
图15是示出实施方式3的数据取得装置的数据取得处理的动作的具体例的图。
图16是数据取得装置的硬件结构图。
具体实施方式
实施方式1
***结构的说明***
图1是示出本实施方式的数据取得装置100的利用方法的系统结构图。
本实施方式的数据取得装置100与应用执行装置200和数据库300连接。数据取得装置100配置在应用执行装置200与数据库300之间。
应用执行装置200利用数据取得装置100从数据库300取得数据。应用执行装置200执行利用从数据库300取得的数据进行处理的应用程序。
数据库300存储应用执行装置200利用的数据。数据库300存储与在数据的定义中使用的定义值对应的数据。在数据的定义中使用的定义值是与数据对应的日期时间等变量。
数据取得装置100根据来自应用执行装置200的询问命令,从数据库300取得数据。
图2是示出本实施方式的数据取得装置100的块结构的图。
数据取得装置100具有命令受理部110、命令生成部120、数据取得部130、数据输出部140。并且,数据取得装置100具有定义轴信息存储部150、取得定义存储部160、未定义信息存储部170。定义轴信息存储部150存储定义轴定义信息151。取得定义存储部160存储取得定义信息161。未定义信息存储部170存储未定义信息171。
命令受理部110受理从应用执行装置200输出的询问命令201,将其输出到命令生成部120。询问命令201是从数据库300取得与指定定义值的范围的值指定范围内包含的定义值对应的数据的命令。询问命令201包含值指定范围。在本实施方式中,询问命令201包含指定日期时间的范围的值指定范围。命令受理部110取得从数据库300取得与值指定范围内包含的日期时间对应的数据的询问命令201。定义值也可以不是日期时间,只要是与数据对应的变量且是在数据的定义中使用的值即可。
在定义轴定义信息151中存储有表示决定数据的值定义范围的定义值的变量名。数据的值定义范围是与数据对应的定义值的范围,也被称作数据的定义区间。在本实施方式中,在定义轴定义信息151中设定日期时间作为决定数据的值定义范围的定义值。
取得定义存储部160存储将定义了定义值的范围的值定义范围和从数据库300取得数据的取得方法对应起来的取得定义信息161。取得定义信息161包含多个值定义范围,并且,将从数据库300取得数据的取得方法与多个值定义范围中的各个值定义范围对应起来。
未定义信息存储部170存储未定义信息171,该未定义信息171包含在值指定范围内存在与多个值定义范围中的任何值定义范围都不重合的范围的情况下,作为与该不重合的范围内包含的定义值对应的数据而取得的默认值。
命令生成部120使用询问命令201和取得定义信息161,判定值指定范围内是否存在与值定义范围重合的范围。命令生成部120在判定为存在重合的范围的情况下,生成利用与值定义范围对应的取得方法取得与重合的范围内包含的定义值对应的数据的数据取得命令202。命令生成部120也被称作通过改写询问命令201而生成数据取得命令的命令转换部。命令生成部120将询问命令201转换成利用基于数据的定义域即值定义范围的取得方法取得数据的数据取得命令202。
数据取得部130使用由命令生成部120生成的数据取得命令202,从数据库300取得数据作为取得数据203。
数据输出部140将由数据取得部130取得的取得数据203输出到应用执行装置200。
***动作的说明***
图3是示出本实施方式的数据取得装置100的数据取得方法、数据取得处理S100的流程图。
<命令受理处理S110>
命令受理部110执行如下的命令受理处理S110:受理从存储与定义值对应的数据的数据库300取得数据的询问命令201。
询问命令201包含指定与要取得的数据对应的定义值的范围的值指定范围。询问命令201是指示数据取得装置100从数据库300取得定义值在值指定范围内的数据的命令。
在本实施方式中,在数据库30中使用RDBMS(Relational DataBase ManagementSystem:关系数据库管理系统),在询问命令201中使用SQL(Structured Query Language:结构化查询语言)。
命令受理部110将从应用执行装置200受理的询问命令201输出到命令生成部120。
这里,对命令受理处理S110进行详细说明。
首先,命令受理部110打开等待用端口。具体而言,等待用端口是TCP(Transmission Control Protocol:传输控制协议)等的通信插口。另外,也可以使用比TCP更上位或下位的层的通信方式。并且,在应用执行装置200和数据取得装置100安装在同一服务器上的情况下,如果是Windows(注册商标)服务器,则可以使用窗口消息,如果是Unix(注册商标)系统的服务器,则可以使用管等的内部通信。
接着,命令受理部110在与应用执行装置200之间进行通信,从应用执行装置200向命令受理部110发送SQL命令。通信中使用的协议没有特别指定,例如可考虑如Telnet那样以明文方式发送SQL命令,或者使用HTTP(Hyper Text Transfer Protocol:超文本传输协议)在其主体部中存储SQL命令等。并且,也可以使用与SSL(Secure Sockets Layer:安全套接层)那样决定的协议组合而得到的协议对SQL命令进行加密。作为命令受理部110的处理,进行SQL命令的分析处理,搜索作为命令划分的分号(;),由此取得一个SQL命令。
命令受理部110将这样取得的SQL命令即询问命令201转交给命令生成部120。
<命令生成处理S120>
命令生成部120执行如下的命令生成处理S120:使用取得定义信息161和询问命令201,判定值指定范围内是否存在与值定义范围重合的范围,在判定为存在重合的范围的情况下,生成利用与值定义范围对应的取得方法取得与重合的范围内包含的定义值对应的数据的数据取得命令202。
在S1201中,命令生成部120对询问命令201进行分析,提取作为改写对象候选的部位。询问命令201包含指定数据库300的表名和用于指定要取得的数据的列名。可以包含多个列名。命令生成部120对询问命令201进行分析,提取表名和列名。此时,命令生成部120使用句法分析器等,从询问命令201中提取表名和列名。
在S1202中,命令生成部120判定询问命令201中是否存在需要改写的部位。命令生成部120使用在S1201中提取出的表名和列名,检索定义轴定义信息151。命令生成部120在存在多个列名的情况下,使用多个列名中的一个列名和表名,检索定义轴定义信息151。命令生成部120在表名和列名命中定义轴定义信息151的情况下,判定为该列名是需要改写的部位。
在判定为存在需要改写的部位的情况下(S1202:是),进入S1203。
在判定为不存在需要改写的部位的情况下(S1202:否),进入S1205。
在S1203中,命令生成部120取得询问命令201的改写所需要的定义轴定义信息151、取得定义信息161、未定义信息171。
在S1204中,命令生成部120使用所取得的信息,执行询问命令201的改写。改写询问命令201的处理在后面详细说明。
在S1205中,命令生成部120将询问命令201作为数据取得命令202输出到数据取得部130。
命令生成部120反复执行S1202~S1204的处理,直到在S1202中判定为询问命令201中不存在需要改写的部位为止。即,命令生成部120反复执行S1202~S1204的处理,直到判定为询问命令201中包含的全部列名不需要改写成止。
图4是示出本实施方式的数据库300的例子的图。
图5是示出本实施方式的定义轴定义信息151的例子的图。
图6是示出本实施方式的取得定义信息161的例子的图。
图7是示出本实施方式的未定义信息171的例子的图。
图8是示出本实施方式的命令生成部120的命令转换处理S120的动作的具体例的图。
使用图4~图8对命令转换处理S120的动作进行具体说明。
如图4所示,假设数据库300为电力表301。
在电力表301的行中作为数据存储有二层建筑物一天的耗电量。电力表301的列名是日期时间、建筑物、1F、2F。在日期时间中设定年/月/日的日期时间。在建筑物中存储有建筑物整体的耗电量。在1F中存储有建筑物的第1层的耗电量。同样,在2F中存储有建筑物的第2层的耗电量。在图4的数据库300中,从第3行的2014/4/1起存储2F的数据。这意味着在2014/4/1在建筑物的第2层追加了电力计,由此,从2014/4/1起在2F中开始设定数据。
在应用执行装置200取得某年月日的建筑物整体一天的耗电量的情况下,如果在询问命令201中指定表名、日期时间、作为列名的建筑物,则能够从电力表301中的指定年月日的列名“建筑物”中取得数据。在询问命令201中未指定日期时间的情况下,取得全部日期时间的列名的数据。取得建筑物的第1层的耗电量的情况也是同样的,如果在询问命令201中指定表名、日期时间、作为列名的1F,则能够从电力表301中的指定年月日的列名“1F”中取得数据。
但是,在应用执行装置200取得某年月日的建筑物的第2层的耗电量的情况下,数据的取得方法根据基于数据的日期时间的值定义范围而不同。即,在2014/3/30~2014/3/31的值定义范围3001和2014/4/1~2014/4/3的值定义范围3001中,2F列的数据的取得方法不同。
设2014/3/30~2014/3/31为值定义范围3001a,设2014/4/1~2014/4/3为值定义范围3001b。在值定义范围3001a和值定义范围3001b中,2F列的数据的取得方法不同。将这样地取得方法不同的定义值的值定义范围3001也称作数据的定义区间。
如图5所示,在定义轴定义信息151中设定表名、存储有用于定义定义区间的对象数据的列名、设定在值定义范围的定义中使用的定义值的定义值列名。在图5的例子中,在定义轴定义信息151中使用表示数据的计测时间的日期时间列作为用于决定数据的定义区间的变量。在定义轴定义信息151中设定电力作为表名、设定2层电力作为用于定义定义区间的对象数据的列名,设定日期时间作为在定义区间的定义中使用的定义值的列名。
如图6所示,在取得定义信息161中定义每个值定义范围3001即定义区间的数据的取得方法。
在图6的第1行,在电力表301中的2层电力的定义区间(值定义范围3001a)“2013/4/01~2014/4/01”中,定义了在“建筑物-1F”中取得电力表301的2层电力。并且,在图6的第2行,在电力表301中的2层电力的定义区间(值定义范围3001b)“2014/4/01~2015/4/01”中,定义了在“2F”中取得电力表的2层电力。即,在图6的取得定义信息161中,在2014/3/31之前,无法直接取得第2层的耗电量,因此,定义成从建筑物整体的耗电量中减去第1层的耗电量而取得第2层的耗电量。并且,从2014/4/01起,在2F列中直接存储有数据,因此,定义成取得其值。
在图7的未定义信息171中设定在被请求取得未由取得定义信息161定义的定义区间的数据的情况下,作为被请求取得的数据的值而返回的默认值。
在未定义信息171中设定有表名、设定默认值的对象数据的列名、默认值。在图7中,在表名中设定电力,在列名中设定2层电力,在默认值中设定0。图7的未定义信息171意味着,在由询问命令201指定了电力表中的2层电力的“2013/4/01~2014/4/01”和“2014/4/01~2015/4/01”这2个定义区间以外的定义区间的情况下,取得“0”作为2层电力。在图6的取得定义信息161的例子中,未定义2013/4/1以前、2015/4/1以后的数据的取得方法。对这种未定义的定义区间应用的就是默认值定义。
接着,使用图8对数据取得装置100的动作进行详细说明。
<命令受理处理S110的例子>
命令受理部110受理来自应用执行装置200的询问命令201,将其输出到命令生成部120。如图8所示,在询问命令201中记述有从电力表301取得2层电力的数据的如下命令。
询问命令201:
SELECT 2层电力
FROM电力
在上述询问命令201中不存在日期时间的指定。由此,询问命令201意味着取得电力表301的全部日期时间的2层电力。由此,询问命令201中包含的值指定范围2011成为2014/3/30~2014/4/3。
另外,与图8的询问命令201不同,也可以在询问命令中存在日期时间的指定。
下面,示出存在日期时间的指定的询问命令的记述例。
询问命令的记述例:
SELECT 2层电力
FROM电力
WHEN日期时间=2014/03/31
在该询问命令中,值指定范围成为2014/03/31。由此,该询问命令意味着取得电力表的2014/03/31中的2层电力。
<命令生成处理S120的例子>
命令生成部120判定询问命令201中包含的日期时间的值指定范围2011内是否存在与取得定义信息161中定义的多个值定义范围3001分别重合的范围。命令生成部120在判定为存在重合的范围的情况下,生成一个利用与各个值定义范围3001对应的取得方法取得与重合的范围内包含的定义值对应的数据的数据取得命令202。
在S1201中,命令生成部120对询问命令201进行分析,提取表名和列名。提取出的列名成为改写对象候选。
在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。
在S1204中,命令生成部120执行使用所取得的信息对询问命令201的列名进行改写的处理。
命令生成部120从定义轴定义信息151取得与表名和列名对应的定义值。命令生成部120使用所取得的定义值,判定询问命令201中包含的定义值的值指定范围2011内是否存在与由取得定义信息161定义的值定义范围3001重合的范围。命令生成部120在判定为存在重合的范围的情况下,使用与包含重合的范围的值定义范围3001对应的取得方法,对询问命令201的列名进行改写。命令生成部120将取得与值定义范围3001重合的范围的列名的数据的命令,改写成使用与值定义范围3001对应的取得方法取得的命令。命令生成部120将改写后的询问命令201设为数据取得命令202。
使用图8,更加具体地对S1204中的改写列名的处理进行说明。
命令生成部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。
另外,在命令生成部120判定为值指定范围2011内存在与多个值定义范围3001中的任何值定义范围3001都不重合的范围的情况下,意味着值指定范围2011内存在取得方法未定义的范围。命令生成部120将取得默认值作为与该取得方法未定义的范围内包含的日期时间对应的数据的值这样的命令包含到数据取得命令202中。在图7中,默认值为0,但是,也可以是其他数。并且,也可以设定表示数据取得方法未定义的字符串等作为默认值。
如上所述,命令生成部120使用定义轴定义信息151和取得定义信息161,针对改写对象候选确认是否存在要应用的定义。如果存在要应用的定义,则使用作为对象的定义对询问命令201进行转换。
作为询问命令201的转换,例如对CASE式进行改写。在CASE式的WHEN语句中使用利用定义轴定义信息151和取得定义信息161的条件。在THEN语句中使用符合该条件的取得定义。
在不符合任何定义区间的ELSE语句中使用默认值。
如上所述,生成图8所示的数据取得命令202。
<数据取得执行处理S130的例子>
数据取得部130执行如下的数据取得执行处理S130:使用数据取得命令202,从数据库300的电力表301中取得列名为2层电力的数据作为取得数据203。
数据取得部130从命令生成部120取得数据取得命令202。
数据取得部130通过向数据库300发行所取得的数据取得命令202,从数据库300取得与数据取得命令202对应的取得数据203。具体而言,数据取得部130使用用于从Java(注册商标)程序访问数据库的标准接口之一的JDBC(Java DataBase Connectivity)或ODBC(Open DataBase Connectivity)等方法,向数据库300发行数据取得命令202。
在图8中,数据取得部130取得“4、3、2、3、3”作为取得数据203。
<数据输出处理S140的例子>
数据输出部140将由数据取得部130取得的取得数据203作为针对从应用执行装置200发送的询问命令201的结果输出到应用执行装置200。
在图8中,数据输出部140输出“4、3、2、3、3”作为针对询问命令201的结果。
***本实施方式的效果的说明***
如上所述,本实施方式的数据取得装置100能够将用于从多个定义区间取得数据的询问命令转换成一个数据取得命令,而不用将其分割成数据的每个定义区间的多个数据取得命令。由此,根据本实施方式的数据取得装置100,能够抑制数据取得的性能劣化并确保针对数据取得定义变更的灵活性。
本实施方式的数据取得装置100具有未定义信息,该未定义信息保持用于在存在数据取得定义中未定义的定义区间的情况下应用于未定义的定义区间的默认的数据取得定义。由此,根据本实施方式的数据取得装置100,在执行了未定义的定义区间的数据取得的情况下也能够继续进行处理。
***其他结构***
图9是示出本实施方式的应用执行装置200、数据取得装置100、数据库300的结构的一例的图。并且,图10是示出本实施方式的应用执行装置200、数据取得装置100、数据库300的结构的另一例的图。
如图9所示,数据取得装置100也可以构成为搭载在与应用执行装置200和数据库300相同的一个通用硬件上。通用硬件是指个人计算机、服务器等。在该结构中,数据取得装置100与应用执行装置200和数据库300共用处理器和存储装置等硬件资源。这样,数据取得装置100在搭载在与应用执行装置200和数据库300相同的通用硬件上的情况下,不用分别与应用执行装置200和数据库300进行通信。进而,在图9的结构中,不经由网络进行通信,因此,在网络相对于从数据库300取得的数据的量较慢的情况下,预计可提高性能。
并且,如图10所示,定义轴定义信息151、取得定义信息161、未定义信息171等也可以构成为存储在外部数据库400中。数据取得装置100在执行数据取得处理时,从外部数据库400取出执行数据取得处理所需要的信息。通过采用图10这种结构,能够减少数据取得装置100的资源。
另外,在本实施方式中,使用时间轴这样的一维决定的数据定义区间进行了说明,但是,也可以如三维空间那样以多个维度决定数据的定义区间。
关于定义区间,记载了作为有限区间的例子,但是,也可以决定没有特意确定开始时点或结束时点的无限区间。例如,在某时点切换设备的情况下,不需要针对切换前的区间特意确定开始时点,因此,能够作为无限区间生成。这种情况下,能够省略表示开始时点的条件,简化转换后的条件。
并且,在图8的例子中,使用CASE式进行转换以成为一个询问命令,但是,也可以使用UNION。在使用UNION的情况下,展开成按照各个区间进行SELECT的询问命令,通过UNION对它们进行结合,由此能够转换成一个询问命令。
并且,在图8中的对询问命令201进行转换后的数据取得命令202的例子中,在表示数据的定义区间的条件的不等号中,在开始的一方加入等号,使得不会产生定义区间的重复。但是,也可以在结束的一方加入等号,还可以另行追加定义,根据定义判断在哪一方加入等号。在对一天的数据进行累计的情况下,容易生成在昨天和明天中的哪一方添加深夜0时整的数据这样的与系统要件一致的处理。
进而,在多个区间中的取得定义相同的情况下,可以将与这些区间对应的条件汇集成一个。该情况下,通过简化转换后的询问命令,预计可提高速度。
实施方式2
在本实施方式中,主要对与实施方式1的不同之处进行说明。
在本实施方式中,有时对与在实施方式1中说明的结构相同的结构标注相同标号并省略其说明。
***结构的说明***
图11是示出本实施方式的数据取得装置100a的块结构的图。
本实施方式的数据取得装置100a在图2所示的数据取得装置100的块结构的基础上具有取得定义登记部180。
取得定义登记部180在取得定义信息161中登记多个值定义范围中的各个值定义范围3001和与多个值定义范围中的各个值定义范围3001对应的数据的取得方法。取得定义登记部180以使多个值定义范围中的各个值定义范围3001不与其他值定义范围重复的方式,登记多个值定义范围中的各个值定义范围3001。
在实施方式1中,是针对特定的值定义范围定义数据的取得方法的定义。其中,取得定义信息161中定义的数据的值定义范围依然允许重复范围的存在。但是,在多个数据的值定义范围重复的情况下,可能产生应用的数据取得方法的定义不明确或重复进行了数据取得等不良情况。因此,在本实施方式的数据取得装置100a中,具有防止追加与已经定义的数据的值定义范围重复的值定义范围的取得定义登记部180。取得定义登记部180也被称作数据定义生成部。
***动作的说明***
接着,对动作进行说明。
本实施方式的数据取得处理S100的动作在实施方式1中进行了说明。在本实施方式中,数据取得装置100a还执行使用取得定义登记部180的取得定义登记处理S180。
图12是示出本实施方式的取得定义登记部180的取得定义登记处理S180的动作的流程图。使用图12对本实施方式中的在取得定义信息161中追加取得定义的取得定义登记处理S180的动作进行说明。
在S181中,取得定义登记部180受理对取得定义信息161追加取得定义的追加请求。取得定义的追加请求是如下请求:在数据库中存储的数据的取得方法存在变更的情况下等,对取得定义信息161追加变更后的取得方法。追加请求包含追加取得方法的表名、追加取得方法的数据的列名、追加取得方法的数据的值定义范围即定义区间。
在S182中,取得定义登记部180针对受理的追加请求,检查要追加的数据的值定义范围是否不与取得定义信息161中已经存在的值定义范围重复。
在不重复的情况下(S182:否),取得定义登记部180将追加请求中包含的数据的取得定义追加到取得定义信息161的行中(S183)。
在重复的情况下(S182:是),取得定义登记部180按照预定的对应方法进行处理(S184)。
这里,作为预定的对应方法,存在以下方法。例如,存在缩短现有数据的值定义范围而以不重复的方式追加数据的取得定义的方法、缩短要追加的数据的值定义范围而进行追加的方法等。并且,存在不追加错误的数据的取得定义的方法、使要新追加数据的取得定义的用户等从上述方法中进行选择的方法等。
***本实施方式的效果的说明***
如上所述,根据本实施方式的数据取得装置100a,具有取得定义登记部180,因此,能够防止数据的定义区间产生重复,能够避免在取得数据时产生的所取得的数据不确定等问题。
实施方式3
在本实施方式中,主要对与实施方式1、2的不同之处进行说明。
在实施方式1中,作为数据的定义值使用的是日期时间等的一种数据。在本实施方式中,说明如下的数据取得装置100a:通过对定义的管理方法进行变更,使用如坐标中的X轴和Y轴那样根据多个条件确定的定义值来设定值定义范围,能够定义与值定义范围对应的取得方法。
在本实施方式中,对与在实施方式1、2中说明的结构相同的结构标注相同标号并省略其说明。
作为具体例,存在根据水位表求出根据河流水位每单位时间在河中流过的流量即水量的例子。在河流中,水位H和水量Q由以下的计算式表示。
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。
另外,不同ID取得定义信息1810、定义域条件信息1820、条件定义信息1830用于命令生成部120的处理,具有与在实施方式1中说明的定义轴定义信息151和取得定义信息161相同的功能。由此,不同ID取得定义存储部181、定义域条件存储部182、条件定义存储部183是与定义轴信息存储部150和取得定义存储部160相当的结构。
***动作的说明***
接着,对本实施方式的数据取得装置100a的数据取得处理S100a进行说明。
图14是示出本实施方式的命令生成部120的命令生成处理S120a的流程图。
图15示出本实施方式的数据取得装置100a的数据取得处理S100a的动作的具体例的图。
在图15的具体例中,示出数据取得装置100a从应用执行装置200接收到从水位表301a取得每个日期时间的水量的询问命令201的情况。
在本实施方式的数据取得处理S100a中,与在实施方式1的图3中说明的数据取得处理S100的不同之处在于命令生成处理S120。命令受理处理S110、数据取得执行处理S130、数据输出处理S140与实施方式1相同,因此省略说明。
首先,使用图15对不同ID取得定义信息1810、定义域条件信息1820、条件定义信息1830的结构进行说明。
在不同ID取得定义信息1810中设定有定义ID、表名、列名、取得方法。定义ID是唯一识别取得方法的标识符。
在定义域条件信息1820中将定义ID和条件ID对应起来。条件ID是唯一识别条件的内容的标识符。一个定义ID可以对应有多个条件ID。
在条件定义信息1830中将条件ID和条件的内容对应起来。
如上所述,通过不同ID取得定义信息1810、定义域条件信息1820、条件定义信息1830,能够将多个条件与由定义ID确定的一个取得方法对应起来。
具体而言,在定义域条件信息1820中,通过将期间1和水位1的条件ID与水量1对应起来,能够将期间1且水位1这样的条件与作为水量1的取得方法的计算式1对应起来。即,在定义域条件信息1820中,通过将多个条件ID与定义ID对应起来,能够将由多个条件确定的值定义范围3001与对应于定义ID的取得方法对应起来。
接着,使用图14和图15对本实施方式的命令生成部120的命令生成处理S120a进行说明。
在S1201a中,命令生成部120对询问命令201进行分析,提取作为改写对象候选的部位。询问命令201包含指定数据库300的表名和用于指定要取得的数据的列名。在本实施方式中,包含多个列名。命令生成部120对询问命令201进行分析,提取表名和列名。询问命令201的分析方法与实施方式1中说明的方法相同。
在图15的例子中,从询问命令210中,提取作为列名的日期时间和水量以及作为表名的水位表。
在S1202a中,命令生成部120判定在询问命令201中是否存在需要改写的部位。命令生成部120使用在S1201a中提取出的表名和列名,检索不同ID取得定义信息1810。命令生成部120在存在多个列名的情况下,使用多个列名中的一个列名和表名,检索不同ID取得定义信息1810。命令生成部120在表名和列名命中不同ID取得定义信息1810的情况下,判定为该列名是需要改写的部位,取得与命中的行对应的取得方法和定义ID。
在图15的例子中,命令生成部120利用水位表和日期时间检索不同ID取得定义信息1810,并且利用水位表和水量检索不同ID取得定义信息1810。在图15所示的例子中,水位表和水量命中不同ID取得定义信息1810,因此,命令生成部120取得水量1和计算式1以及水量2和计算式2作为定义ID和取得方法。
在判定为存在需要改写的部位的情况下(S1202a:是),进入S1203a。
在判定为不存在需要改写的部位的情况下(S1202a:否),进入S1205。
在S1203a中,命令生成部120取得询问命令201的改写所需要的定义域条件信息1820和条件定义信息1830。
在S1204a中,命令生成部120执行使用所取得的信息改写询问命令201的处理。
在S12041a中,命令生成部120判定是否针对从不同ID取得定义信息1810取得的全部定义ID生成了命令语句。
在判定为针对全部定义ID生成了命令语句的情况下,处理返回S1202a。
在判定为存在未处理的定义ID的情况下,处理进入S12042a。
在S12042a中,命令生成部120使用从不同ID取得定义信息1810取得的处理对象的定义ID检索定义域条件信息1820,取得条件ID。接着,命令生成部120使用从定义域条件信息1820取得的条件ID检索条件定义信息1830,取得与条件ID对应的条件。命令生成部120使用所取得的条件,生成在满足所取得的条件的情况下通过与处理对象的定义ID对应的取得方法取得列名的数据的命令语句。这里生成的命令语句是改写后的询问命令中使用的命令语句中的、与处理对象的定义ID对应的部分命令语句。
命令生成部120反复进行S12041a、S12042a,直到针对从不同ID取得定义信息1810取得的全部定义ID生成命令语句为止。即,在图15的例子中,定义ID为水量1和水量2,因此,反复进行S12041a、S12042a,直到针对水量1和水量2双方生成命令语句为止。
在图15的例子中,命令生成部120使用作为定义ID的水量1检索定义域条件信息1820,取得期间1和水位1作为条件ID。
接着,命令生成部120使用从定义域条件信息1820取得的期间1和水位1检索条件定义信息1830。命令生成部120取得日期时间为2013/04/01~2014/04/01,作为与期间1对应的条件。并且,命令生成部120取得水位为7以上,作为与水位1对应的条件。命令生成部120在日期时间为2013/04/01~2014/04/01且水位为7以上的情况下,生成利用与水量1对应的计算式1计算水量的命令语句2021。如图15的命令语句2021所示,在利用CASE式改写询问命令201的列名即水量的情况下,生成WHEN语句和THEN语句。此时,WHEN语句中使用的条件是对定义域条件信息1820中设定的多个条件(期间1和水位1)进行结合而得到的。
此时,关于水量2,命令语句的生成处理为未处理(S12041a:否),因此,命令生成部120进入S12042a。
关于水量2,命令生成部120执行与水量1的情况相同的处理,在日期时间为2014/04/01~2015/04/01且水位少于7的情况下,生成利用与水量2对应的计算式2计算水量的命令语句2022。
另外,命令生成部120判定为在水位表301a中不符合上述任何条件的数据的取得方法未定义。命令生成部120生成利用被设定成未定义信息171的默认值的计算式取得不符合上述任何条件的数据的ELSE语句的命令语句2023。
在S1205a中,命令生成部120对生成的部分命令语句进行结合,使用结合后的命令语句改写询问命令201的列名部分。
在图15的例子中,命令生成部120对生成的3个命令语句2021、2022、2023进行结合,使用结合后的命令语句生成CASE语句,改写询问命令201的列名部分。
命令生成部120将改写后的询问命令201作为数据取得命令202输出到数据取得部130。
***本实施方式的效果的说明***
根据本实施方式的数据取得装置,能够定义由多个条件确定的定义域,能够针对定义域求出不连续变化的值。
另外,在本实施方式中,作为具体例,对河流或水坝等水位与水量的关系进行了说明,但是,也可以应用于由于相位变化等而使电阻率相对于温度不连续变化的温度和电阻率等。
并且,在本实施方式中,对通过2个条件确定定义域的方法进行了说明,但是,也可以在定义域条件信息中将3个条件ID与一个定义ID对应起来。与一个定义ID对应的条件ID的数量也可以是4个、5个等。
***硬件结构例的说明***
最后,使用图16对实施方式1的数据取得装置100、100a的硬件结构的一例进行说明。
数据取得装置100、100a是计算机。
数据取得装置100、100a具有处理器901、辅助存储装置902、存储器903、通信装置904、输入接口905、显示器接口906这样的硬件。
处理器901经由信号线910而与其它硬件连接,对这些其他硬件进行控制。
输入接口905与输入装置907连接。
显示器接口906与显示器908连接。
处理器901是进行处理的IC(Integrated Circuit:集成电路)。
处理器901例如是CPU、DSP(Digital Signal Processor:数字信号处理器)、GPU。
辅助存储装置902例如是ROM(Read Only Memory:只读存储器)、闪存、HDD(HardDisk Drive:硬盘驱动器)。
存储器903例如是RAM(Random Access Memory:随机存取存储器)。
通信装置904包含接收数据的接收机9041和发送数据的发送机9042。
通信装置904例如是通信芯片或NIC(Network Interface Card:网络接口卡)。
通信装置904是用于经由网络而与应用执行装置200或数据库300等进行通信的装置。
输入接口905是连接输入装置907的缆线911的端口。
输入接口905例如是USB(Universal Serial Bus:通用串行总线)端子。
显示器接口906是连接显示器908的缆线912的端口。
显示器接口906例如是USB端子或HDMI(注册商标)(High Definition MultimediaInterface:高分辨率多媒体接口)端子。
输入装置907例如是鼠标、键盘或触摸面板。
显示器908例如是LCD(Liquid Crystal Display:液晶显示器)。
在辅助存储装置902中存储有实现图2、图11和图13所示的命令受理部110、命令生成部120、数据取得部130、数据输出部140、取得定义登记部180的功能的程序。下面,将命令受理部110、命令生成部120、数据取得部130、数据输出部140、取得定义登记部180统一记作“部”。
实现上述“部”的功能的程序也被称作数据取得程序。实现“部”的功能的程序可以是一个程序,也可以由多个程序构成。并且,实现“部”的功能的程序存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD等存储介质中。
该程序载入到存储器903,读入到处理器901,由处理器901来执行。
进而,在辅助存储装置902中还存储有OS(Operating System:操作系统)。
而且,OS的至少一部分载入到存储器903,处理器901执行OS,并且执行实现“部”的功能的程序。
在图16中,图示出一个处理器901,但是,数据取得装置100、100a也可以具有多个处理器901。
而且,多个处理器901也可以协作执行实现“部”的功能的程序。
并且,表示“部”的处理结果的信息、数据、信号值和变量值作为文件存储在存储器903、辅助存储装置902或处理器901内的寄存器或缓存中。
图2、图11和图13所示的定义轴信息存储部150、取得定义存储部160、未定义信息存储部170、不同ID取得定义存储部181、定义域条件存储部182、条件定义存储部183由辅助存储装置902构成。
在辅助存储装置902中存储有图2、图11和图13所示的定义轴定义信息151、取得定义信息161、未定义信息171、不同ID取得定义信息1810、定义域条件信息1820、条件定义信息1830。
也可以利用“处理电路系统(processing circuitry)”来提供“部”。
并且,也可以将“部”改写成“电路”或“工序”或“步骤”或“处理”。并且,也可以将“处理”改写成“电路”或“工序”或“步骤”或“部”。
“电路”和“处理电路系统”是不仅包含处理器901,而且包含逻辑IC或GA(GateArray:门阵列)或ASIC(Application Specific Integrated Circuit:面向特定用途的集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)这样的其他种类的处理电路的概念。
另外,被称作程序产品的是记录有实现作为“部”说明的功能的程序的存储介质、存储装置等,与外观的形式无关,载入计算机可读取的程序。
本实施方式的数据取得装置100可以作为在个人计算机或服务器这样的通用硬件中进行动作的软件来实现,也可以作为专用硬件来实现。
在上述实施方式中,命令受理部、命令生成部、数据取得部、数据输出部、取得定义登记部分别作为独立的功能块来构成数据取得装置。但是,数据取得装置也可以不是上述结构,数据取得装置的结构是任意的。
例如,可以将命令受理部、数据取得部、数据输出部设为一个功能块。并且,也可以对命令生成部进一步细分而设为多个功能块。数据取得装置的功能块能够实现在上述实施方式中说明的功能即可,是任意的。关于这些功能块,可以由其他任意的组合或任意的块结构构成数据取得装置。
并且,数据取得装置也可以不是一个装置,而是由多个装置构成的数据取得系统。
并且,对实施方式1~3进行了说明,但是,也可以部分地组合实施这3个实施方式中的多个实施方式。或者,还可以部分地实施这3个实施方式中的一个实施方式。而且,还可以作为整体或部分地任意组合实施这3个实施方式。
另外,上述实施方式只是本质上优选的例示,并不意图限制本发明及其应用物和用途的范围,能够根据需要进行各种变更。
标号说明
100、100a:数据取得装置;110:命令受理部;120:命令生成部;130:数据取得部;140:数据输出部;150:定义轴信息存储部;151:定义轴定义信息;160:取得定义存储部;161:取得定义信息;1611:取得方法;170:未定义信息存储部;171:未定义信息;180:取得定义登记部;181:不同ID取得定义存储部;182:定义域条件存储部;183:条件定义存储部;1810:不同ID取得定义信息;1820:定义域条件信息;1830:条件定义信息;200:应用执行装置;201:询问命令;2011:值指定范围;202:数据取得命令;2021、2022、2023:命令语句;203:取得数据;300:数据库;301:电力表;301a:水位表;3001、3001a、3001b:值定义范围;3002:定义值;400:外部数据库;1000:通用硬件;901:处理器;902:辅助存储装置;903:存储器;904:通信装置;905:输入接口;906:显示器接口;907:输入装置;908:显示器;910:信号线;911、912:缆线;9041:接收机;9042:发送机;S100:数据取得处理。
Claims (13)
1.一种数据取得装置,其中,所述数据取得装置具有:
命令受理部,其受理从存储与定义值对应的数据的数据库取得数据的包含值指定范围的询问命令,所述值指定范围指定与要取得的数据对应的定义值的范围;
取得定义存储部,其存储将定义了定义值的范围的值定义范围和从所述数据库取得数据的取得方法对应起来的取得定义信息;以及
命令生成部,其使用所述询问命令和所述取得定义信息,判定所述值指定范围内是否存在与所述值定义范围重合的范围,在判定为存在所述重合的范围的情况下,生成利用与所述值定义范围对应的取得方法取得与所述重合的范围内包含的定义值对应的数据的数据取得命令。
2.根据权利要求1所述的数据取得装置,其中,
所述取得定义存储部存储的所述取得定义信息包含多个所述值定义范围以及与多个所述值定义范围中的各个值定义范围对应的所述取得方法,
所述命令生成部判定所述值指定范围内是否存在与多个所述值定义范围中的各个值定义范围重合的范围,在判定为存在所述重合的范围的情况下,生成利用与多个所述值定义范围中的各个值定义范围对应的取得方法取得与所述重合的范围内包含的定义值对应的数据的所述数据取得命令。
3.根据权利要求2所述的数据取得装置,其中,
所述数据取得装置具有数据取得部,该数据取得部使用由所述命令生成部生成的所述数据取得命令,从所述数据库取得数据。
4.根据权利要求2所述的数据取得装置,其中,
所述命令生成部在判定为所述值指定范围内存在与多个所述值定义范围中的任何值定义范围都不重合的范围的情况下,将取得默认值作为与所述不重合的范围内包含的定义值对应的数据的命令包含到所述数据取得命令中。
5.根据权利要求4所述的数据取得装置,其中,
所述数据取得装置具有未定义信息存储部,该未定义信息存储部存储包含默认值的未定义信息,所述默认值是作为与所述不重合的范围内包含的定义值对应的数据而取得的。
6.根据权利要求2所述的数据取得装置,其中,
所述数据取得装置具有取得定义登记部,该取得定义登记部在所述取得定义信息中登记多个所述值定义范围中的各个值定义范围和与多个所述值定义范围中的各个值定义范围对应的所述取得方法。
7.根据权利要求6所述的数据取得装置,其中,
所述取得定义登记部以使多个所述值定义范围中的各个值定义范围不与其他值定义范围重复的方式,登记多个所述值定义范围中的各个值定义范围。
8.根据权利要求7所述的数据取得装置,其中,
所述取得定义登记部在多个所述值定义范围中的各个值定义范围与其他值定义范围重复的情况下,缩短多个所述值定义范围中的各个值定义范围或所述其他值定义范围,以使多个所述值定义范围中的各个值定义范围不与其他值定义范围重复。
9.根据权利要求1~7中的任意一项所述的数据取得装置,其中,
所述命令生成部通过改写所述询问命令,生成所述数据取得命令。
10.根据权利要求1~8中的任意一项所述的数据取得装置,其中,
所述定义值是日期时间。
11.根据权利要求1~8中的任意一项所述的数据取得装置,其中,
所述定义值由多个条件来确定。
12.一种数据取得方法,其中,
命令受理部受理从存储与定义值对应的数据的数据库取得数据的包含值指定范围的询问命令,所述值指定范围指定与要取得的数据对应的定义值的范围,
命令生成部使用所述询问命令以及将定义了定义值的范围的值定义范围和从所述数据库取得数据的取得方法对应起来的取得定义信息,判定所述值指定范围内是否存在与所述值定义范围重合的范围,在判定为存在所述重合的范围的情况下,生成利用与所述值定义范围对应的取得方法取得与所述重合的范围内包含的定义值对应的数据的数据取得命令。
13.一种记录有数据取得程序的计算机能读取的记录介质,其中,所述数据取得程序使计算机执行以下处理:
命令受理处理,受理从存储与定义值对应的数据的数据库取得数据的包含值指定范围的询问命令,所述值指定范围指定与要取得的数据对应的定义值的范围;以及
命令生成处理,使用所述询问命令以及将定义了定义值的范围的值定义范围和从所述数据库取得数据的取得方法对应起来的取得定义信息,判定所述值指定范围内是否存在与所述值定义范围重合的范围,在判定为存在所述重合的范围的情况下,生成利用与所述值定义范围对应的取得方法取得与所述重合的范围内包含的定义值对应的数据的数据取得命令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/069847 WO2017009886A1 (ja) | 2015-07-10 | 2015-07-10 | データ取得装置、データ取得方法及びデータ取得プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107533550A CN107533550A (zh) | 2018-01-02 |
CN107533550B true CN107533550B (zh) | 2019-01-29 |
Family
ID=57757088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580079792.9A Expired - Fee Related CN107533550B (zh) | 2015-07-10 | 2015-07-10 | 数据取得装置、数据取得方法和计算机能读取的记录介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10289719B2 (zh) |
EP (1) | EP3321818B1 (zh) |
JP (1) | JP6366843B2 (zh) |
CN (1) | CN107533550B (zh) |
WO (1) | WO2017009886A1 (zh) |
Families Citing this family (5)
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 |
SG11202112850TA (en) * | 2019-06-05 | 2021-12-30 | Mitsubishi Electric Corp | Database language re-issue device |
US20210224287A1 (en) * | 2020-01-16 | 2021-07-22 | Oracle International Corporation | Flexible schema tables |
CN115374187B (zh) * | 2022-10-24 | 2023-01-13 | 北京国电通网络技术有限公司 | 指标数据采集方法、装置、电子设备和计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954714A (ja) * | 1995-08-11 | 1997-02-25 | Omron Corp | 処理命令変換装置および処理命令変換方法 |
JP2005321849A (ja) * | 2004-05-06 | 2005-11-17 | Fujitsu Ltd | データ分析支援プログラム、データ分析支援方法、およびデータ分析支援装置 |
CN101815985A (zh) * | 2007-10-05 | 2010-08-25 | 国际商业机器公司 | 处理数据的系统以及方法 |
CN102859497A (zh) * | 2010-04-16 | 2013-01-02 | 三菱电机株式会社 | 数据访问方法及数据访问装置 |
TW201445267A (zh) * | 2013-05-17 | 2014-12-01 | Mitsubishi Electric Corp | 可程式控制器及其周邊裝置、以及可程式控制器之表格資料存取程式 |
Family Cites Families (25)
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 |
JP2000268052A (ja) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | データ処理システムおよび記録媒体 |
JP2001188841A (ja) | 1999-12-28 | 2001-07-10 | Ibm Japan Ltd | 料金計算を行なうためのデータ処理システム |
JP2001187477A (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 |
US7139723B2 (en) * | 2000-01-13 | 2006-11-21 | Erinmedia, Llc | 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 |
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 | 企業情報更新処理システム、企業情報更新処理方法、および企業情報更新プログラム |
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 |
US9811580B2 (en) * | 2013-10-10 | 2017-11-07 | International Business Machines Corporation | Policy based automatic physical schema management |
-
2015
- 2015-07-10 CN CN201580079792.9A patent/CN107533550B/zh not_active Expired - Fee Related
- 2015-07-10 JP JP2017528000A patent/JP6366843B2/ja 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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954714A (ja) * | 1995-08-11 | 1997-02-25 | Omron Corp | 処理命令変換装置および処理命令変換方法 |
JP2005321849A (ja) * | 2004-05-06 | 2005-11-17 | Fujitsu Ltd | データ分析支援プログラム、データ分析支援方法、およびデータ分析支援装置 |
CN101815985A (zh) * | 2007-10-05 | 2010-08-25 | 国际商业机器公司 | 处理数据的系统以及方法 |
CN102859497A (zh) * | 2010-04-16 | 2013-01-02 | 三菱电机株式会社 | 数据访问方法及数据访问装置 |
TW201445267A (zh) * | 2013-05-17 | 2014-12-01 | Mitsubishi Electric Corp | 可程式控制器及其周邊裝置、以及可程式控制器之表格資料存取程式 |
Also Published As
Publication number | Publication date |
---|---|
US20180150510A1 (en) | 2018-05-31 |
US10289719B2 (en) | 2019-05-14 |
EP3321818B1 (en) | 2022-12-28 |
JPWO2017009886A1 (ja) | 2017-10-12 |
WO2017009886A1 (ja) | 2017-01-19 |
EP3321818A4 (en) | 2018-12-26 |
EP3321818A1 (en) | 2018-05-16 |
JP6366843B2 (ja) | 2018-08-01 |
CN107533550A (zh) | 2018-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533550B (zh) | 数据取得装置、数据取得方法和计算机能读取的记录介质 | |
CN103631847B (zh) | 基于上下文的搜索与图形节点相关的数据存储的方法和系统 | |
Abel et al. | The systems integration problem | |
Spector | Data manipulation with R | |
CN101609460B (zh) | 一种支持异构地学数据资源的检索方法及检索系统 | |
CN109086133B (zh) | 在内存中维护数据的方法和系统 | |
CN106547766A (zh) | 一种数据访问方法和装置 | |
US20200342148A1 (en) | Systems and methods for running a simulation | |
CN105917315A (zh) | 数据生成 | |
CN104160398A (zh) | 结构化大对象(lob)数据 | |
CN111797243A (zh) | 知识图谱数据系统构建方法、系统、终端及可读存储介质 | |
EP3743821A1 (en) | Wide key hash table for a graphics processing unit | |
CN110231939B (zh) | 模型生成方法、系统、计算机设备和存储介质 | |
GB2514779A (en) | Information retrieval from a database system | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
JPWO2018087851A1 (ja) | IoTデータ仲介システム | |
CN110378037B (zh) | 基于Ceph的CFD仿真数据存储方法、装置及服务器 | |
CN103365948A (zh) | 数据管理设备和数据管理方法 | |
CN114510491A (zh) | 一种动态随访量表设计方法和系统 | |
CN114385221A (zh) | 一种版本管理方法、装置及电子设备 | |
WO2015172718A1 (zh) | 在存储器中进行多访问的方法、装置和存储系统 | |
Bae et al. | Practical implementation of m4 for web visualization service | |
CN109760044A (zh) | 一种数据处理方法及装置 | |
CN119046382B (zh) | 一种可视化区块链数据存储方法和系统 | |
Syed | Using apache spark for scalable gene sequence analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190129 |