CN110168521B - 数据处理装置及数据处理方法 - Google Patents
数据处理装置及数据处理方法 Download PDFInfo
- Publication number
- CN110168521B CN110168521B CN201780065119.9A CN201780065119A CN110168521B CN 110168521 B CN110168521 B CN 110168521B CN 201780065119 A CN201780065119 A CN 201780065119A CN 110168521 B CN110168521 B CN 110168521B
- Authority
- CN
- China
- Prior art keywords
- data processing
- processing
- unit
- request
- data
- 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.)
- Active
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24561—Intermediate data storage techniques for performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据本发明的一个方式,提供一种数据处理装置。数据处理装置包含数据处理部。数据处理部进行预处理和后处理中的至少一部分,所述预处理是针对由访问共用数据库的多个应用程序之一发出的向共用数据库的数据处理请求的处理,所述后处理是针对根据数据处理请求而从共用数据库回送的检索结果的处理。
Description
技术领域
本发明涉及伴随数据库的检索的数据处理。
背景技术
近年来,将多个传感器/设备连接于网络,对数据进行收集/使用的IoT(Internetof Things)正在被关注。从传感器/设备收集到的数据储存于数据库,被应用程序参照以进行使用。此外,访问数据库的应用程序不限于1个。即,也能够构建多个不同的应用程序共用地访问1个数据库的系统。
现有的数据库接收来自应用程序的数据处理请求,进行该数据处理请求的查询转换等预处理,然后进行检索。并且,现有的数据库,作为选项,有时也进行使用检索结果的统计处理(例如,汇总、过滤、平均值计算以及排序)等后处理。通常,在IoT中,从传感器/设备收集的数据的各个的尺寸虽然小,但是庞大数目的数据被收集并储存于数据库。因此,在IoT中,数据库上施加有大的数据处理负载。因此,特别是在IoT中,在多个应用程序在相同时期对数据库请求数据处理的情况下,数据库的计算能力(CPU(Central ProcessingUnit))以及存储区域(存储器)等硬件资源被特定的应用程序长时间占有,另一方面,剩余的应用程序的等待时间变长。
另外,还假定使用虚拟化技术而使应用程序以及数据库作为同一装置内的不同的虚拟化单元(例如,可以是虚拟机、容器等)而共存。在该情况下,能够针对应用程序用的虚拟化单元以及数据库用的虚拟化单元分别设定能够使用的资源的上限。但是,如果数据库用的虚拟化单元所能利用的硬件资源被特定的应用程序长时间占有,则剩余的应用程序的等待时间仍然变长。
发明内容
本发明的目的在于提高多个应用程序之间的数据库利用的公平性。
根据本发明的一个方式,提供数据处理装置。数据处理装置包含数据处理部。数据处理部进行预处理和后处理中的至少一部分,所述预处理是针对由访问共用数据库的多个应用程序之一发出的向共用数据库的数据处理请求的处理,所述后处理是针对根据数据处理请求而从共用数据库回送的检索结果的处理。
根据本发明的其他方式,提供数据处理装置。数据处理装置包含第1虚拟化单元和第2虚拟化单元。第1虚拟化单元包含第1数据处理部。第2虚拟化单元包含第2数据处理部。第1数据处理部进行预处理和后处理中的至少一部分,所述预处理是针对由访问共用数据库的多个应用程序之一即第1应用程序发出的向共用数据库的第1数据处理请求的处理,所述后处理是针对根据第1数据处理请求而从共用数据库回送的第1检索结果的处理。第2数据处理部进行预处理和后处理中的至少一部分,所述预处理是针对由多个应用程序之一即第2应用程序发出的向共用数据库的第2数据处理请求的处理,所述后处理是针对根据第2数据处理请求而从共用数据库回送的第2检索结果的处理。
根据本发明,能够提高多个应用程序之间的数据库利用的公平性。
附图说明
图1是例示第1实施方式涉及的数据处理装置的框图。
图2是例示包含第1实施方式涉及的数据处理装置的数据处理系统的框图。
图3是例示图2的数据库的框图。
图4是例示包含第1实施方式涉及的数据处理装置的数据处理系统的详情的框图。
图5是例示图2或图4的数据处理系统的动作的流程图。
图6是例示第1实施方式涉及的数据处理装置的硬件结构的框图。
具体实施方式
以下,一边参照附图一边叙述实施方式的说明。另外,以后,对于与已说明的要素相同或类似的要素,标注相同或类似的标号,重复的说明基本省略。例如,在存在多个相同或类似的要素的情况下,有时为了不区别各要素进行说明而使用共同的标号,还有时为了区别各要素进行说明而在该共同的标号的基础上使用分支号。
(第1实施方式)
如图1所例示,第1实施方式涉及的数据处理装置100包含应用程序执行部101和数据处理部102。数据处理装置100典型地是计算机,包含CPU等处理器以及存储器。处理器能够通过执行存储器中加载的规定的程序,从而分别作为应用程序执行部101以及数据处理部102起作用。此外,应用程序不限于安装于数据处理装置100中的应用程序,也可以包含网络应用程序、云应用程序等。
此外,应用程序执行部101以及数据处理部102可以作为数据处理装置100内的1个虚拟化单元(例如,可以是虚拟机或容器等)进行安装,也可以作为不同的虚拟化单元进行安装。并且,应用程序执行部101有时不包含于数据处理装置100,而包含于与该数据处理装置100不同的装置(例如能够称为应用程序装置)中。
应用程序执行部101执行访问共用数据库的多个应用程序之一,发出针对该数据库的数据处理请求(例如,可以是数据参照请求)。应用程序执行部101将发出的数据处理请求向数据处理部102发送。
另外,应用程序执行部101从数据处理部102接收与由该应用程序执行部101已发出的数据处理请求相应的数据库的检索结果、或对该检索结果实施了后述后处理的后处理结果。
数据处理部102从应用程序执行部101接收数据处理请求,针对该数据处理请求进行预处理。预处理例如可以是数据处理请求的查询转换等。数据处理部102将预处理完毕的数据处理请求向数据库(例如,后述的数据库管理装置200)发送。
另外,数据处理部102从该数据库管理装置200接收与预处理完毕的数据处理请求相应的数据库的检索结果。数据处理部102根据需要对检索结果进行后处理。后处理例如可以是使用检索结果的统计处理(例如汇总、过滤、平均值计算或排序)等。具体而言,数据处理部102可以决定在数据处理请求中包含后处理的情况下进行后处理,决定在数据处理请求中不包含后处理的情况下不进行后处理。数据处理部102在进行了后处理的情况下将后处理结果向应用程序执行部101回送,在没有进行后处理的情况下将检索结果向应用程序执行部101回送。
此外,数据处理部102可以作为加入了上述功能的例如共用应用程序进行安装。或者,数据处理部102可以安装加入了上述功能的node.js等网络服务器。另外,应用程序执行部101和数据处理部102之间可以经由用于转换数据处理请求的API(ApplicationProgramming Interface)(例如REST API)等而连接。
数据处理装置100成为图2例示的数据处理系统的一部分。图2的数据处理系统包含数据库管理装置200以及多个数据处理装置100-1、100-2、…,所述多个数据处理装置100-1、100-2、…执行共用地访问该数据库管理装置200的多个应用程序。
此外,多个数据处理装置100-1、100-2、…中包含的数据处理部102-1、102-2、…和数据库管理装置200中的一个或全部可以作为同一计算机(例如,还能以数据处理装置、数据库管理装置等更具体的名称称呼)内的多个不同的虚拟化单元进行安装。具体而言,可以是1个或多个数据处理装置100中包含的数据处理部102和数据库管理装置200作为同一计算机内的多个不同的虚拟化单元进行安装,也可以是多个数据处理装置100中包含的数据处理部102作为同一计算机内的多个不同的虚拟化单元进行安装。
如图3所例示,数据库管理装置200(或数据库用的虚拟化单元)包含数据管理部201和数据记录部202。数据库管理装置200典型地是计算机,包含CPU等处理器、存储器以及辅助存储装置(例如,可以是HDD(Hard Disk Drive)、SSD(Solid State Drive)等)。处理器通过执行存储器中加载的规定的程序,从而能够作为数据管理部201起作用。另外,辅助存储装置作为数据记录部202起作用。
数据管理部201从任意的数据处理装置100(或数据处理用的虚拟化单元)接收预处理完毕的数据处理请求。数据管理部201根据预处理完毕的数据处理请求,对数据记录部202中构建的数据库进行检索。而且,数据管理部201将检索结果向预处理完毕的数据处理请求的发送源即数据处理装置100回送。
另外,数据管理部201通过将从传感器/设备(例如,图4的传感器/设备400)收集到的数据写入至数据记录部202,而更新数据库。
从传感器/设备收集到的数据被数据管理部201写入至数据记录部202,数据记录部202对其进行永久记录。储存于数据记录部202的数据的集合相当于数据库。数据记录部202中构建的数据库通过数据管理部201而根据需要进行检索。
图4例示第1实施方式涉及的数据处理系统300的详情。数据处理系统300包含:多个数据处理用的虚拟化单元310-1、310-2、…;数据库用的虚拟化单元320;消息代理330;以及转换器340。在数据处理系统300中,使用从多个传感器/设备400-1、400-2、…收集到的数据来构建数据库,多个应用程序共用地访问该数据库。
此外,数据处理用的虚拟化单元310能够置换为单独的硬件(例如,数据处理装置100)。同样地,数据库用的虚拟化单元320能够置换为单独的硬件(例如,数据库管理装置200)。
各数据处理用的虚拟化单元310安装应用程序311(311-1、311-2,…)以及网络服务器312(312-1、312-2,…)。应用程序311以及网络服务器312分别对应于应用程序执行部101以及数据处理部102。此外,虽然在图4中未示出,但是网络服务器312可以是加入了与数据处理部102相同的功能的共用应用程序。另外,应用程序311可以通过与数据处理用的虚拟化单元310不同的虚拟化单元(例如能够称为应用程序用的虚拟化单元)或单独的硬件(例如应用程序装置)而进行安装。
应用程序311发出针对通过数据库用的虚拟化单元320而安装的数据库的数据处理请求。应用程序311将发出的数据处理请求向网络服务器312发送。
另外,应用程序311从网络服务器312接收与由该应用程序311已发出的数据处理请求相应的数据库的检索结果、或对该检索结果实施了后处理的后处理结果。
网络服务器312从应用程序311接收数据处理请求,进行针对该数据处理请求的预处理。网络服务器312将预处理完毕的数据处理请求向数据库用的虚拟化单元320发送。
具体而言,网络服务器312在与应用程序311之间建立会话,从应用程序311接收数据处理请求。然后,作为针对数据处理请求的前处理,网络服务器312能够进行(1)HTML(Hyper Text Markup Language)请求的接受、(2)例如JSON(JavaScript(注册商标)ObjectNotation)、XML(Extensible Markup Language)等形式即请求主体的解析处理、以及(3)查询的分析。查询的分析能够包含数据处理请求是数据的写入或检索的哪一个请求的判断、在是检索的请求的情况下检索条件的分析等。
此外,应用程序311与网络服务器312之间可以经由用于转换数据处理请求的API等进行连接。
另外,网络服务器312从该数据库接收与预处理完毕的数据处理请求相应的数据库的检索结果。网络服务器312根据需要对检索结果进行后处理。网络服务器312在进行了后处理的情况下将后处理结果返回给应用程序311,在没有进行后处理的情况下将检索结果返回给应用程序311。
具体而言,网络服务器312从查询控制器321接收与预处理完毕的数据处理请求相应的数据库的检索结果。网络服务器312能够根据需要进行所取得的数据的统计处理、缓存处理等,作为针对检索结果的后处理。
网络服务器312在与查询控制器321之间建立1对1的会话。这里,网络服务器312利用持续维持1对1的会话的简单协议来建立、维持会话,由此能够减小查询控制器321的处理负担。另外,通过在网络服务器312和查询控制器321之间的协议中利用SSL(SecureSockets Layer),还能够提高安全性。
网络服务器312负担这些预处理以及后处理的负载、以及建立维持会话时的大部分的处理负载,由此,查询控制器321的处理负载变小。因此,能够提高针对1个数据库管理装置200而连接有多个数据处理装置100情况下的公平性。
数据库用的虚拟化单元320包含查询控制器321、数据管理器322、数据记录部323、以及消息客户端324。查询控制器321、数据管理器322、以及消息客户端324与数据管理部201对应。数据记录部323与数据记录部202对应。
查询控制器321从任意数据处理用的虚拟化单元310接收预处理完毕的数据处理请求,向数据管理器322发送。另外,查询控制器321从数据管理器322接收检索结果,向该数据处理用的虚拟化单元310回送。
具体而言,查询控制器321与任意数据处理用的虚拟化单元310的网络服务器312建立会话,从网络服务器312接收预处理((1)HTML请求的接受、(2)例如JSON、XML等形式即请求主体的解析处理、以及(3)查询的分析等)完毕的数据处理请求。然后,查询控制器321进行接收到的数据的去串行化处理、以及确认去串行化后的数据的类型等是否合适的处理(验证)。并且,查询控制器321按照由网络服务器312分析出的查询,将数据的检索或写入请求向数据管理器322发送。另外,查询控制器321从数据管理器322接收数据检索或写入结果即数据处理结果,按照与数据处理用的虚拟化单元310的网络服务器312的通信协议进行数据的串行化处理,向网络服务器312回送。
另外,查询控制器321与消息客户端324建立会话,从消息客户端324接收解析处理过的数据,进行数据的去串行化处理以及验证,将数据的写入请求向数据管理器322发送。另外,查询控制器321将从数据管理器322接收到的数据发送给网络服务器312。
数据管理器322从查询控制器321接收数据的检索或写入请求,根据所述数据的检索或写入请求,对数据记录部323中构建的数据库进行检索,或进行数据的写入。数据管理器322将检索结果或写入结果向查询控制器321回送。
另外,数据管理器322从查询控制器321接收从传感器/设备400-1、400-2、…收集到的数据。数据管理器322通过将接收到的数据写入至数据记录部323而更新数据库。
从传感器/设备400-1、400-2、…收集到的数据通过数据管理器322被写入至数据记录部323。数据记录部323中储存的数据的集合相当于数据库。数据记录部323中构建的数据库由数据管理器322根据需要而进行检索。
消息客户端324经由消息代理330接收从传感器/设备400-1、400-2、…收集到的数据,发送给查询控制器321。
消息客户端324与查询控制器321建立会话,从查询控制器321接收串行化后的数据,按照与消息代理330的通信协议进行消息的整形,发送给消息代理330。另外,消息客户端324与消息代理330建立会话,从消息代理330接收从传感器/设备400-1、400-2、…收集到的数据,进行解析处理,向查询控制器321发送。此外,消息客户端324可以不经由查询控制器321,而是直接将进行过解析处理的数据向数据管理器322发送。
消息代理330接收从传感器/设备400发送的数据,发送给数据库用的虚拟化单元320。此外,消息代理330能够直接从传感器/设备400接收数据,也能够经由转换器340或其他功能部进行接收。在图4的例子中,消息代理330经由转换器340接收来自传感器/设备400-1的数据,直接接收来自传感器/设备400-2的数据。另外,消息代理330和转换器340或传感器/设备400之间可以经由用于转换数据的API等进行连接。
转换器340从传感器/设备400(在图4的例子中是传感器/设备400-1)接收数据,实施规定的转换。转换器340将转换完毕的数据发送给消息代理330。转换器340例如可以进行软件安装,通过与数据处理用的虚拟化单元310以及数据库用的虚拟化单元320不同的虚拟化单元来执行,也可以由单独的装置来执行。
传感器/设备400收集规定的数据,将收集到的数据向消息代理330发送。如前所述,有时在传感器/设备400和消息代理330之间还存在转换器340或其他功能部。此外,传感器/设备400以及转换器340可以包含于同一虚拟化单元或装置,也可以包含于不同的虚拟化单元或装置。
在图5中表示数据处理用的虚拟化单元310(或数据处理装置100)以及数据库用的虚拟化单元320(或数据库管理装置200)的动作例。
最初,任意一个应用程序311(或应用程序执行部101)发出针对数据库的数据处理请求(步骤S501)。网络服务器312(或数据处理部102)进行针对步骤S501中发出的数据处理请求的预处理,将预处理完毕的数据处理请求向数据库用的虚拟化单元320(或数据库管理装置200)发送(步骤S502)。
在接下来的步骤S503中,通过以下的处理(1)~(3)实现数据库的检索(或写入)。
(1)查询控制器321(或数据管理部201)根据步骤S502中发送的预处理完毕的数据处理请求,进行接收到的数据的去串行化处理以及验证。并且,查询控制器321按照由网络服务器312分析出的查询,将数据的检索或写入请求向数据管理器322发送。
(2)数据管理器322(或数据管理部201)根据从查询控制器321(或数据管理部201)发送的数据的检索(或写入请求),进行数据记录部323(或数据记录部202)中构建的数据库的检索(或写入)。而且,数据管理器322将检索结果(或写入结果)回送至查询控制器321。
(3)查询控制器321(或数据管理部201)从数据管理器322(或数据管理部201)接收检索(或写入结果),进行数据的串行化处理,并将检索结果向网络服务器312(或数据处理部102)回送。
网络服务器312(或数据处理部102)在与应用程序311以及查询控制器321之间分别建立会话,接收在步骤S503中回送的检索结果(步骤S504),判断在步骤S501中发出的数据处理请求中是否包含后处理(步骤S505)。如果数据处理请求中包含后处理则处理进入步骤S506,如果数据处理请求中不包含后处理则处理进入步骤S507。
在步骤S506中,网络服务器312(或数据处理部102)对检索结果进行后处理,处理进入步骤S507。在步骤S507中,网络服务器312(或数据处理部102)将检索结果(未经过步骤S506的情况)或后处理结果(经过了步骤S506的情况)向应用程序311(或应用程序执行部101)回送。
下面,使用图6对本实施方式涉及的数据处理装置100的硬件结构的一例进行说明。图6是示意性地例示本实施方式涉及的数据处理装置100的硬件结构的一例。
如图6所示,本实施方式涉及的数据处理装置100可以是将控制部601、存储部602、通信接口603、输入装置604、输出装置605、外部接口606、和驱动器607电连接后的计算机600。此外,在图6中,将通信接口以及外部接口分别记载为“通信I/F”以及“外部I/F”。
控制部601包含CPU、RAM(Random Access Memory)、ROM等。CPU将储存于存储部602的程序在RAM中展开。然后,通过CPU解释以及执行该程序,从而控制部601能够执行上述的各种信息处理。
存储部602是所谓的辅助存储装置,可以是例如内置或外设的HDD、SSD、或闪存等半导体存储器。存储部602对由控制部601执行的程序(例如,用于使控制部601执行由数据处理部102进行的各种处理的程序)、由控制部601使用的数据等进行存储。
通信接口603是各种无线通信或有线通信模块,可以是用于经由网络进行无线通信或有线通信的接口。输入装置604可以包含例如触摸屏、键盘、鼠标等用于接收用户输入的装置。
输出装置605例如是显示器、扬声器等用于进行输出的装置。外部接口606是USB(Universal Serial Bus)端口、存储卡槽等,是用于与外部装置连接的接口。
驱动器607例如是CD(Compact Disc)驱动器、DVD(Digital Versatile Disc)驱动器、BD(Blu-ray(注册商标)Disc)驱动器等。驱动器607读入存储介质608中存储的程序和/或数据,转交给控制部601。此外,对于说明过的能存储于所述存储部602的程序以及数据的一部分或全部可以通过驱动器607从存储介质608读入。
存储介质608是以包含计算机在内的机械能够读取的形式,通过电气的、磁的、光学的、机械的或化学作用而储存程序和/或数据的介质。存储介质608例如是CD、DVD、BD等的能够装卸的盘介质,但不限于此,也可能是闪存或其他半导体存储器。
此外,关于数据处理装置100的具体硬件结构,能够根据实施方式适当地进行结构要素的省略、置换以及追加。例如,控制部601可以包含多个处理器。数据处理装置100可以是为所提供的服务专门设计的信息处理装置,也可以是通用的信息处理装置例如智能手机、平板PC(Personal Computer)、笔记本PC、台式PC等。另外,数据处理装置100也可以由多台信息处理装置等构成。
如以上说明,第1实施方式涉及的数据处理装置包含执行数据处理的硬件资源(例如虚拟化单元),通过该硬件资源执行在现有的数据库中伴随检索而进行的预处理(例如查询转换、以及解析处理)、后处理(例如、使用检索结果的统计处理(例如汇总、过滤、平均值计算以及排序)、以及取得的数据的缓存处理)、以及在与数据库管理装置之间建立维持会话的处理的大部分。因此,根据该数据处理装置,数据库中的预处理以及后处理、以及管理会话的处理的大部分负载被除去,因此,即使多个应用程序在相同时期发出了数据处理请求,各个应用程序占有数据库的硬件资源的时间也变短。即,能够提高多个应用程序之间的数据库利用的公平性。此外,由于预处理以及后处理的负载与数据的数量一起增加,所以在对各个尺寸小但数量多的数据进行处理的IoT中,相关负载的除去效果特别大。
此外,在上述说明中,在对由各应用程序发出的数据处理请求进行处理的数据处理装置或虚拟化单元中分散地进行预处理以及后处理这两者,由此,提高数据库利用的公平性。但是,即使在该数据处理装置或虚拟化单元中分散地进行预处理和后处理中的一部分,在数据库中集中地进行剩余部分,也能够在某种程度上得到上述效果。
上述实施方式不过是表示用于帮助理解本发明的概念的具体例子,并不意图限定本发明的范围。实施方式能够在不超出本发明的主旨的范围内,进行各种结构要素的追加、删除或转换。
在上述各实施方式中说明的各种功能部也可以通过使用电路而实现。电路可以是实现特定功能的专用电路,也可以是处理器这样的通用电路。
上述各实施方式的处理的至少一部分通过将通用的计算机用作基本硬件也能够实现。实现上述处理的程序可以存储于计算机能够读取的记录介质而提供。程序作为能够安装的形式的文件或能够执行的形式的文件存储于记录介质。记录介质是磁盘、光盘(CD-ROM、CD-R、DVD等)、磁光盘(MO等)、半导体存储器等。记录介质如果能够存储程序且计算机能够读取,则可以是任意介质。另外,可以将实现上述处理的程序存储于与因特网等网络连接的计算机(服务器),并经由网络下载至计算机(客户端)。
Claims (12)
1.一种数据处理装置,
其具备通过使硬件处理器执行存储于存储器的程序而发挥功能的多个应用程序执行部以及多个数据处理部,
所述多个数据处理部能够共用地访问1个数据库管理装置,且所述多个数据处理部的各自作为不同的虚拟化单元发挥功能,
所述多个应用程序执行部的各自进行:发出数据处理请求并向对应的所述数据处理部发送的处理;以及从对应的所述数据处理部接收针对所述数据处理请求的处理结果的处理,
所述多个数据处理部的各自进行:
第1处理,其对所述数据处理请求进行包含查询转换的预处理,并将该预处理完毕的所述数据处理请求向所述数据库管理装置发送;以及
第2处理,其从所述数据库管理装置接收与所述数据处理请求相应地在所述数据库管理装置中检索的数据库的检索结果,对接收的所述检索结果进行包含规定的统计处理的后处理,并将该后处理的结果作为针对所述数据处理请求的处理结果,向请求源的所述应用程序执行部回送,
并且,所述多个数据处理部的各自在所述第2处理中判断在所述数据处理请求中是否包含后处理,在包含的情况下对所述检索结果进行包含所述规定的统计处理的后处理之后,将该后处理的结果向请求源的所述应用程序执行部回送,另一方面,在所述数据处理请求中不包含后处理的情况下,不对所述检索结果进行所述后处理而进行向请求源的所述应用程序执行部转发的处理。
2.根据权利要求1所述的数据处理装置,其中,
在所述数据库管理装置包含于由虚拟机构成的第1虚拟化单元中的情况下,
所述多个数据处理部包含于由与所述第1虚拟化单元不同的虚拟机构成的第2虚拟化单元。
3.根据权利要求1所述的数据处理装置,其中,
所述多个数据处理部的各自使用1对1地持续维持会话的协议来在与所述数据库管理装置间建立会话,经由所建立的所述会话,进行将所述预处理完毕的所述数据处理请求向所述数据库管理装置发送的处理和接收从所述数据库管理装置回送的所述检索结果的处理中的至少一方。
4.根据权利要求1所述的数据处理装置,其中,
所述多个数据处理部的各自,作为针对所述数据处理请求的预处理,除了所述查询转换之外,还进行对来自所述应用程序执行部的请求的接收以及解析处理,作为针对所述检索结果的后处理,除了所述统计处理之外,还进行对所述检索结果的缓存处理以及会话管理。
5.根据权利要求2所述的数据处理装置,其中,
所述数据库管理装置还包含数据管理部,所述数据管理部进行针对所述数据库的数据的写入以及检索,
所述数据管理部在与所述数据处理部之间建立会话,进行从所述数据处理部接收所述预处理完毕的数据处理请求的处理和将通过检索所述数据库而得到的所述检索结果向所述数据处理部发送的处理中的至少一方,
所述数据管理部进行针对所述预处理完毕的数据处理请求的去串行化处理和针对所述检索结果的发送前的串行化处理中的至少一方。
6.一种数据处理装置,其具备通过使硬件处理器执行存储于存储器的程序而发挥功能的多个应用程序执行部以及第1数据处理部和第2数据处理部,
所述第1数据处理部和所述第2数据处理部能够共用地访问1个数据库管理装置,且所述第1数据处理部和所述第2数据处理部作为不同的虚拟化单元发挥功能,
所述第1数据处理部进行下述的处理:对从所述多个应用程序执行部中的第1应用程序执行部发出的第1数据处理请求进行包含查询转换的预处理,并将该预处理完毕的所述第1数据处理请求向所述数据库管理装置发送;以及从所述数据库管理装置接收与所述第1数据处理请求相应地在所述数据库管理装置中检索的数据库的第1检索结果,对接收的所述第1检索结果进行包含规定的统计处理的后处理,并将该后处理的结果向所述第1应用程序执行部回送,
所述第2数据处理部进行下述的处理:对从所述多个应用程序执行部中的第2应用程序执行部发出的第2数据处理请求进行包含查询转换的预处理,并将该预处理完毕的所述第2数据处理请求向所述数据库管理装置发送;以及从所述数据库管理装置接收与所述第2数据处理请求相应地在所述数据库管理装置中检索的数据库的第2检索结果,对接收的所述第2检索结果进行包含规定的统计处理的后处理,并将该后处理的结果向所述第2应用程序执行部回送,
并且,所述第1数据处理部和所述第2数据处理部分别判断在所述第1数据处理请求和所述第2数据处理请求中是否包含后处理,在包含的情况下对所述第1检索结果和所述第2检索结果进行包含所述规定的统计处理的后处理之后,将该后处理的结果向所述第1应用程序执行部和所述第2应用程序执行部回送,另一方面,在所述第1数据处理请求和所述第2数据处理请求中不包含后处理的情况下,不对所述第1检索结果和所述第2检索结果进行所述后处理而进行向请求源的所述第1应用程序执行部和所述第2应用程序执行部转发的处理,
并且,所述第1数据处理部和所述第2数据处理部分别包含于由虚拟机构成的第1虚拟化单元和第2虚拟化单元中。
7.根据权利要求6所述的数据处理装置,其中,
在所述数据库管理装置包含于由虚拟机构成的第3虚拟化单元中的情况下,
包含所述第1数据处理部的所述第1虚拟化单元以及包含所述第2数据处理部的所述第2虚拟化单元与所述第3虚拟化单元不同。
8.根据权利要求6所述的数据处理装置,其中,
所述第1数据处理部使用1对1地持续维持会话的协议来在与所述数据库管理装置间建立会话,经由所建立的所述会话,进行将所述预处理完毕的第1数据处理请求发送的处理和接收从所述数据库管理装置回送的所述第1检索结果的处理,
所述第2数据处理部使用1对1地持续维持会话的协议来在与所述数据库管理装置间建立会话,经由所建立的所述会话,进行将所述预处理完毕的第2数据处理请求向所述数据库管理装置发送的处理和接收从所述数据库管理装置回送的所述第2检索结果的处理。
9.根据权利要求6所述的数据处理装置,其中,
所述第1数据处理部,作为针对所述第1数据处理请求的预处理,除了所述查询转换之外,还进行对来自所述第1应用程序执行部的请求的接收以及解析处理,作为针对所述第1检索结果的后处理,除了所述统计处理之外,还进行对所述第1检索结果的缓存处理,
所述第2数据处理部,作为针对所述第2数据处理请求的预处理,除了所述查询转换之外,还进行对来自所述第2应用程序执行部的请求的接收以及解析处理,作为针对所述第2检索结果的后处理,除了所述统计处理之外,还进行对所述第2检索结果的缓存处理。
10.根据权利要求7所述的数据处理装置,其中,
包含于所述第3虚拟化单元的所述数据库管理装置,还包含进行针对所述数据库的数据的读写的数据管理部,
所述数据管理部在与所述第1数据处理部之间建立会话,进行从所述第1数据处理部接收所述预处理完毕的第1数据处理请求的处理和将通过检索所述数据库而得到的所述第1检索结果向所述第1数据处理部发送的处理,
所述数据管理部进行针对所述预处理完毕的第1数据处理请求的去串行化处理和针对所述第1检索结果的发送前的串行化处理中的至少一方,
所述数据管理部在与所述第2数据处理部之间建立会话,进行从所述第2数据处理部接收所述预处理完毕的第2数据处理请求的处理和将通过检索所述数据库而得到的所述第2检索结果向所述第2数据处理部发送的处理,
所述数据管理部进行针对所述预处理完毕的第2数据处理请求的去串行化处理和针对所述第2检索结果的发送前的串行化处理中的至少一方。
11.一种数据处理方法,其是由下述的数据处理装置执行的数据处理方法,该数据处理装置通过使硬件处理器执行存储于存储器的程序来进行多个应用程序的执行以及第1数据处理和第2数据处理,所述第1数据处理和所述第2数据处理能够共用地访问1个数据库管理装置,且所述第1数据处理和所述第2数据处理由不同的虚拟化单元执行,
具备:
通过所述多个应用程序中的第1应用程序的执行发出数据处理请求的过程;
通过所述第1数据处理进行下述的处理的过程:对所发出的所述第1数据处理请求进行包含查询转换的预处理,并将该预处理完毕的所述第1数据处理请求向所述数据库管理装置发送;以及从所述数据库管理装置接收与所述第1数据处理请求相应地在所述数据库管理装置中检索的数据库的第1检索结果,对接收的所述第1检索结果进行包含规定的统计处理的后处理,并将该后处理的结果向所述第1应用程序回送;
通过所述多个应用程序中的第2应用程序的执行发出数据处理请求的过程;
通过所述第2数据处理进行下述的处理的过程:对所发出的所述第2数据处理请求进行包含查询转换的预处理,并将该预处理完毕的所述第2数据处理请求向所述数据库管理装置发送;以及从所述数据库管理装置接收与所述第2数据处理请求相应地在所述数据库管理装置中检索的数据库的第2检索结果,对接收的所述第2检索结果进行包含规定的统计处理的后处理,并将该后处理的结果向所述第2应用程序回送,
并且,所述第1数据处理和所述第2数据处理分别判断在所述第1数据处理请求和所述第2数据处理请求中是否包含后处理,在包含的情况下对所述第1检索结果和所述第2检索结果进行包含所述规定的统计处理的后处理之后,将该后处理的结果向所述第1应用程序和所述第2应用程序回送,另一方面,在所述第1数据处理请求和所述第2数据处理请求中不包含后处理的情况下,不对所述第1检索结果和所述第2检索结果进行所述后处理而进行向请求源的所述第1应用程序和所述第2应用程序转发的处理。
12.根据权利要求11所述的数据处理方法,其中,
所述第1数据处理,作为针对所述第1数据处理请求的预处理,除了所述查询转换之外,还进行对来自所述第1应用程序的请求的接收以及解析处理,作为针对所述第1检索结果的后处理,除了所述统计处理之外,还进行对所述第1检索结果的缓存处理以及会话管理,
所述第2数据处理,作为针对所述第2数据处理请求的预处理,除了所述查询转换之外,还进行对来自所述第2应用程序的请求的接收以及解析处理,作为针对所述第2检索结果的后处理,除了所述统计处理之外,还进行对所述第2检索结果的缓存处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-206034 | 2016-10-20 | ||
JP2016206034 | 2016-10-20 | ||
PCT/JP2017/037579 WO2018074479A1 (ja) | 2016-10-20 | 2017-10-17 | データ処理装置およびデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110168521A CN110168521A (zh) | 2019-08-23 |
CN110168521B true CN110168521B (zh) | 2023-08-22 |
Family
ID=62019586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780065119.9A Active CN110168521B (zh) | 2016-10-20 | 2017-10-17 | 数据处理装置及数据处理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11347765B2 (zh) |
EP (1) | EP3531309A4 (zh) |
JP (1) | JP6811251B2 (zh) |
CN (1) | CN110168521B (zh) |
WO (1) | WO2018074479A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995736B (zh) * | 2019-12-13 | 2021-11-30 | 中国兵器装备集团自动化研究所有限公司 | 一种通用的工业物联网设备管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000003367A (ja) * | 1998-06-12 | 2000-01-07 | Mitsubishi Electric Corp | 中継装置及び情報検索システム |
CN1859505A (zh) * | 2006-03-10 | 2006-11-08 | 华为技术有限公司 | 话单查询系统及查询方法 |
JP2009151411A (ja) * | 2007-12-19 | 2009-07-09 | Mitsubishi Electric Corp | データ検索装置及びシステム及びプログラム及びデータ検索方法 |
CN101686212A (zh) * | 2008-09-26 | 2010-03-31 | 阿尔卡特朗讯 | 用于在真实和虚拟社区之间支持可互操作通信的方法 |
CN103886099A (zh) * | 2014-04-09 | 2014-06-25 | 中国人民大学 | 一种模糊概念的语义检索系统及方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04319771A (ja) | 1991-04-19 | 1992-11-10 | Matsushita Electric Ind Co Ltd | オンライン情報検索・更新システム |
JPH0667867A (ja) * | 1992-06-15 | 1994-03-11 | Fuji Xerox Co Ltd | アプリケーションプログラムのデータべースアクセス方式 |
JP3277654B2 (ja) * | 1993-12-20 | 2002-04-22 | 株式会社日立製作所 | 異種データベース・アクセス・システム |
JPH09319757A (ja) | 1996-05-29 | 1997-12-12 | N T T Data Tsushin Kk | 情報検索システム |
US7464147B1 (en) * | 1999-11-10 | 2008-12-09 | International Business Machines Corporation | Managing a cluster of networked resources and resource groups using rule - base constraints in a scalable clustering environment |
US7293286B2 (en) * | 2003-02-20 | 2007-11-06 | Bea Systems, Inc. | Federated management of content repositories |
US8156110B1 (en) * | 2004-01-29 | 2012-04-10 | Teradata Us, Inc. | Rescheduling of modification operations for loading data into a database system |
US7418501B2 (en) * | 2004-04-30 | 2008-08-26 | International Business Machines Corporation | Dynamic extension of network-accessible services |
JP4757038B2 (ja) * | 2006-01-25 | 2011-08-24 | 株式会社日立製作所 | ストレージシステム及び記憶制御装置 |
US7640238B2 (en) * | 2007-01-19 | 2009-12-29 | International Business Machines Corporation | Query planning for execution using conditional operators |
JP2009259039A (ja) | 2008-04-17 | 2009-11-05 | Hitachi Ltd | 複数のデータベースの検索方法及びメタ検索サーバ |
JP5063728B2 (ja) | 2010-03-30 | 2012-10-31 | ヤフー株式会社 | 複数サーバ検索装置及び方法 |
US20130205028A1 (en) | 2012-02-07 | 2013-08-08 | Rackspace Us, Inc. | Elastic, Massively Parallel Processing Data Warehouse |
JP6262505B2 (ja) | 2013-11-29 | 2018-01-17 | Kddi株式会社 | 分散型データ仮想化システム、クエリ処理方法及びクエリ処理プログラム |
US10241839B2 (en) * | 2013-12-04 | 2019-03-26 | Nec Corporation | Method and system for generating a virtual device resource accessible by an application |
-
2017
- 2017-10-17 WO PCT/JP2017/037579 patent/WO2018074479A1/ja active Application Filing
- 2017-10-17 CN CN201780065119.9A patent/CN110168521B/zh active Active
- 2017-10-17 EP EP17861863.3A patent/EP3531309A4/en not_active Ceased
- 2017-10-17 JP JP2018546361A patent/JP6811251B2/ja active Active
- 2017-10-17 US US16/340,671 patent/US11347765B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000003367A (ja) * | 1998-06-12 | 2000-01-07 | Mitsubishi Electric Corp | 中継装置及び情報検索システム |
CN1859505A (zh) * | 2006-03-10 | 2006-11-08 | 华为技术有限公司 | 话单查询系统及查询方法 |
JP2009151411A (ja) * | 2007-12-19 | 2009-07-09 | Mitsubishi Electric Corp | データ検索装置及びシステム及びプログラム及びデータ検索方法 |
CN101686212A (zh) * | 2008-09-26 | 2010-03-31 | 阿尔卡特朗讯 | 用于在真实和虚拟社区之间支持可互操作通信的方法 |
CN103886099A (zh) * | 2014-04-09 | 2014-06-25 | 中国人民大学 | 一种模糊概念的语义检索系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018074479A1 (ja) | 2018-04-26 |
US20190236077A1 (en) | 2019-08-01 |
EP3531309A1 (en) | 2019-08-28 |
EP3531309A4 (en) | 2020-05-13 |
US11347765B2 (en) | 2022-05-31 |
JPWO2018074479A1 (ja) | 2019-02-07 |
CN110168521A (zh) | 2019-08-23 |
JP6811251B2 (ja) | 2021-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10440128B2 (en) | Systems and methods for selecting efficient messaging between services | |
JP6626211B2 (ja) | ショートリンクを処理する方法及び装置並びにショートリンクサーバ | |
US20200028936A1 (en) | Common information model interoperability system | |
US20200099606A1 (en) | Distrubuted testing service | |
US9590859B2 (en) | Discovering resources of a distributed computing environment | |
US10412033B2 (en) | Event notification method, event notification device, and storage medium | |
US12061595B2 (en) | Facilitating performance of database operations using microservices | |
US9374417B1 (en) | Dynamic specification auditing for a distributed system | |
CN105630683B (zh) | 一种云测试体系架构 | |
CN111510330A (zh) | 接口管理装置、方法及存储介质 | |
JP5039946B2 (ja) | クライアント装置およびサーバ装置の間の通信を中継する技術 | |
CN110168521B (zh) | 数据处理装置及数据处理方法 | |
CN112650804B (zh) | 大数据接入方法、装置、系统及存储介质 | |
US20230412694A1 (en) | Communication system for micro-frontends of a web application | |
CN111125257B (zh) | 词典更新方法、装置、设备和存储介质 | |
CN114064429A (zh) | 审计日志的采集方法、装置、存储介质和服务器 | |
CN111937366A (zh) | Web请求处理方法和装置 | |
US11392433B1 (en) | Generation of asynchronous application programming interface specifications for messaging topics | |
Andersson et al. | REST API vs GraphQL: A literature and experimental study | |
WO2019216797A1 (en) | Method and node for managing a request for hardware acceleration by means of an accelerator device | |
CN111090485A (zh) | 面向多集群的帮助数据处理方法及装置、介质和设备 | |
CN117689132A (zh) | 流程表单的处理方法、装置、电子设备及存储介质 | |
CN117992218A (zh) | 硬件设备信息获取方法、装置、设备、云管系统及介质 | |
CN114281853A (zh) | 大数据平台高可用服务巡检方法、系统、终端及存储介质 | |
CN117827624A (zh) | 功能测试方法、装置及存储介质 |
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 |