CN113268507A - 数据库的数据读取系统及方法、装置、电子设备 - Google Patents
数据库的数据读取系统及方法、装置、电子设备 Download PDFInfo
- Publication number
- CN113268507A CN113268507A CN202110577484.6A CN202110577484A CN113268507A CN 113268507 A CN113268507 A CN 113268507A CN 202110577484 A CN202110577484 A CN 202110577484A CN 113268507 A CN113268507 A CN 113268507A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- database
- request
- data request
- 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.)
- Granted
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/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据领域,公开了一种数据库的数据读取系统及方法、装置、电子设备,包括:数据请求端和数据服务端,数据服务端包括数据中转模块和至少一个数据库,其中,数据请求端,用于向数据服务端发送访问目标数据的第一数据请求;数据中转模块,封装于数据服务端的业务逻辑层,用于基于第一数据请求和数据库信息表生成向目标数据库访问目标数据的第二数据请求;数据库,用于接收数据中转模块发送的第二数据请求,以响应第二数据请求将目标数据发送至数据中转模块,由数据中转模块返回至数据请求端。通过本发明,解决了相关技术中读取服务端数据库中数据效率低的技术问题。
Description
技术领域
本发明涉及大数据领域,具体而言,涉及一种数据库的数据读取系统及方法、装置、电子设备。
背景技术
相关技术中,由于实际生产环境中一个项目往往集成了多种底层数据库,如hdfs、hive、mysql、hbase等,实际上的计算任务需要对接多种底层数据库,从多个底层数据库中读取数据,然后对读取的数据进行计算等各种操作。在实际的对接过程中存在以下几个缺陷:1)不同的计算任务都需要对接多种底层数据库,每个底层数据库都有自己对应的数据读取接口,导致每对接一种底层数据库,就要增加一份数据库接口请求代码,随着数据库种类的增多,用于请求不同种类数据库的代码会越来越多,使得程序变得十分臃肿,不方便代码维护;每个计算任务中都会有接口请求代码,造成了代码重复,而代码重复就会影响开发效率;2)部分计算任务在对接外部存储时,选择先将所需数据持久化到本地磁盘,然后再从本地磁盘进行读取,过程产生大量磁盘读写操作,效率十分低下;3)计算任务将全部数据读取完成之后,再开始进行处理,导致等待全量数据读取时间过长,较为耗时。因此,现有技术中读取服务端数据库中数据效率低。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种数据库的数据读取系统及方法、装置、电子设备,以至少解决相关技术中读取服务端数据库中数据效率低的技术问题。
第一方面,提供了一种数据库的数据读取系统,该系统包括数据请求端和数据服务端,所述数据服务端包括数据中转模块和至少一个数据库,其中,所述数据请求端,用于向所述数据服务端发送访问目标数据的第一数据请求;所述数据中转模块,封装于所述数据服务端的业务逻辑层,用于基于所述第一数据请求和数据库信息表生成向目标数据库访问所述目标数据的第二数据请求;其中,所述数据库信息表存储于所述数据中转模块,且用于表征所述数据中转模块与所述目标数据库之间对接的映射关系;所述至少一个数据库,用于接收所述数据中转模块发送的第二数据请求,以响应所述第二数据请求将所述目标数据发送至所述数据中转模块,由所述数据中转模块返回至所述数据请求端。
在一种可能的实现方式中,所述数据中转模块还用于:解析所述第一数据请求,以得到所述目标数据的数据描述信息和所述目标数据库的唯一标识码;基于所述数据描述信息和所述唯一标识码查询所述数据库信息表,以确定所述目标数据库的位置信息、访问所述目标数据的目标驱动程序对应的目标驱动类型以及所述目标驱动程序对应的目标驱动版本;根据所述目标驱动类型和所述目标驱动版本加载所述目标驱动程序,以生成所述第二数据请求。
在另一种可能的实现方式中,所述数据中转模块具有数据库查询接口,所述数据中转模块还用于:将所述数据库查询接口发送至所述数据请求端;其中,所述数据请求端用于根据所述数据库查询接口获取所述数据库信息表。
在另一种可能的实现方式中,所述数据中转模块包括内存缓存区,所述数据中转模块还用于:根据所述目标数据的数据量为所述目标数据分配目标内存缓存区;将所述目标数据存储至所述目标内存缓存区;将通过所述目标内存缓存区存储的所述目标数据分批发送至所述数据请求端。
第二方面,提供了一种数据库的数据读取方法,包括:接收数据请求端发送的用于访问目标数据的第一数据请求;解析所述第一数据请求,得到所述目标数据的数据描述信息和所述目标数据所在的目标数据库的唯一标识码;根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库,以获取所述目标数据;将所述目标数据发送至所述数据请求端。
在一种可能的实现方式中,所述根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库以获取所述目标数据包括:基于所述数据描述信息和所述唯一标识码查询所述数据库信息表,以确定所述目标数据库的位置信息、访问所述目标数据的目标驱动程序对应的目标驱动类型以及所述目标驱动程序对应的目标驱动版本;其中,所述数据库信息表用于表征所述数据中转模块与所述目标数据库之间对接的映射关系;根据所述目标驱动类型和所述目标驱动版本加载所述目标驱动程序,以生成向所述目标数据库访问所述目标数据的第二数据请求;接收所述目标数据库响应所述第二数据请求所发送的目标数据。
在另一种可能的实现方式中,所述将所述目标数据发送至所述数据请求端包括:根据所述目标数据的数据量为所述目标数据分配目标内存缓存区;将所述目标数据存储至所述目标内存缓存区;将通过所述目标内存缓存区存储的所述目标数据分批发送至所述数据请求端。
第三方面,提供了一种数据库的数据读取装置,包括:接收模块,用于接收数据请求端发送的用于访问目标数据的第一数据请求;解析模块,用于解析所述第一数据请求,得到所述目标数据的数据描述信息和所述目标数据所在的目标数据库的唯一标识码;获取模块,用于根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库,以获取所述目标数据;发送模块,用于将所述目标数据发送至所述数据请求端。
在一种可能的实现方式中,所述获取模块包括:确定单元,用于基于所述数据描述信息和所述唯一标识码查询所述数据库信息表,以确定所述目标数据库的位置信息、访问所述目标数据的目标驱动程序对应的目标驱动类型以及所述目标驱动程序对应的目标驱动版本;其中,所述数据库信息表用于表征所述数据中转模块与所述目标数据库之间对接的映射关系;生成单元,用于根据所述目标驱动类型和所述目标驱动版本加载所述目标驱动程序,以生成向所述目标数据库访问所述目标数据的第二数据请求;接收单元,用于接收所述目标数据库响应所述第二数据请求所发送的目标数据。
在另一种可能的实现方式中,所述发送模块包括:分配单元,用于根据所述目标数据的数据量为所述目标数据分配目标内存缓存区;存储单元,用于将所述目标数据存储至所述目标内存缓存区;发送单元,用于将通过所述目标内存缓存区存储的所述目标数据分批发送至所述数据请求端。
第四方面,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
第五方面,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。
通过本发明实施例提供的数据库的数据读取系统,数据请求端向数据服务端发送访问目标数据的第一数据请求;数据服务端的业务逻辑层中的数据中转模块,基于第一数据请求和数据库信息表生成向目标数据库访问目标数据的第二数据请求;然后目标数据库响应第二数据请求,将目标数据发送至数据中转模块,由数据中转模块返回至数据请求端,从而为读取数据服务端中各种数据库的数据提供了统一的读取方式,能够对接各种底层数据库,简化了对接底层数据库的读取操作,从而解决了相关技术中读取服务端数据库中数据效率低的技术问题,提高了底层数据库数据读取效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例提供的一种数据库的数据读取系统的框架图;
图2是根据本发明实施例提供一种数据中转方法的信息交互图;
图3是本发明实施例的一种数据库的数据读取方法应用于计算机终端的硬件结构框图;
图4是根据本发明实施例的一种数据库的数据读取方法的流程图;
图5是根据本发明实施例的一种数据库的数据读取方法装置;
图6是根据本发明实施例的一种电子设备的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本案的一个应用场景中,对于服务器底层的不同种类数据库,都会有各自对应的数据读取接口,例如,在客户端上用户开发的程序,通过访问底层数据库的数据接口去请求数据,其中,数据请求流程如下:客户端,向数据接口(服务器侧)发送请求命令(即数据请求),请求命令包含了待读取数据的数据描述信息;服务器,通过底层数据库解析该请求命令,并返回相应的数据;最后客户端接收到数据接口返回的数据后,开始计算任务。由于不同种类数据库都有各自对应的数据接口,导致每读取一种数据库中的数据时,就要增加一份数据库接口请求代码,基于不同数据库的接口请求代码越来越多时,导致程序变得十分臃肿,就造成了代码重复,进而影响开发效率。
图1是根据本发明实施例提供的一种数据库的数据读取系统的框架图,如图1所示,该系统包括:数据请求端10和数据服务端20,数据服务端20包括数据中转模块201和至少一个数据库202,其中,
数据请求端10,用于向数据服务端20发送访问目标数据的第一数据请求;
其中,本实施例中的数据请求端可以为客户端或服务器,但不限于此;本发明实施例可应用于客户端与服务器之间的数据中转,或者不同服务器之间的数据中转,在此不做限定。
数据中转模块201,封装于数据服务端20的业务逻辑层,用于基于第一数据请求和数据库信息表生成向目标数据库访问目标数据的第二数据请求;其中,数据库信息表存储于数据中转模块,且用于表征数据中转模块与目标数据库之间对接的映射关系;
本实施例中的数据中转模块201,代表一种统一的数据读取方式,相当于数据中转服务,通过将统一的数据读取代码封装在读取模块中,且该读取模块位于数据服务端的业务逻辑层,也就是说,该数据读取代码封装了多种存储引擎(即读取底层数据库中的多种数据接口),从而能够实现对接各种服务端底层数据库,进而简化了对接底层数据库时的读取操作。
至少一个数据库202,用于接收数据中转模块发送的第二数据请求,以响应第二数据请求将目标数据发送至数据中转模块201,由数据中转模块201返回至数据请求端10。
本实施例中的数据库为一种或多种。
通过本发明实施例提供的数据库的数据读取系统,数据请求端向数据服务端发送访问目标数据的第一数据请求;数据服务端的业务逻辑层中的数据中转模块,基于第一数据请求和数据库信息表生成向目标数据库访问目标数据的第二数据请求;然后目标数据库响应第二数据请求,将目标数据发送至数据中转模块,由数据中转模块返回至数据请求端,从而为读取数据服务端中各种数据库的数据提供了统一的读取方式,能够对接各种底层数据库,简化了对接底层数据库的读取操作,从而解决了相关技术中读取服务端数据库中数据效率低的技术问题,提高了底层数据库数据读取效率。
本发明实施例中提供了一种可能的实现方式,数据中转模块还用于:解析第一数据请求,以得到目标数据的数据描述信息和目标数据库的唯一标识码;基于数据描述信息和唯一标识码查询数据库信息表,以确定目标数据库的位置信息、访问目标数据的目标驱动程序对应的目标驱动类型以及目标驱动程序对应的目标驱动版本;根据目标驱动类型和目标驱动版本加载目标驱动程序,以生成第二数据请求。
在本实施例中,客户端向读取模块(即上述数据中转模块)发送数据读取请求后,数据中转模块解析数据读取请求(即上述第一数据请求),得到数据读取请求中携带的对应数据库的唯一标识码和数据库在数据服务端的位置信息,即数据源位置;其中,每种数据库的唯一标识码对应一种数据源类型;通过解析数据请求,翻译成不同数据库的接口请求方式。
优选地,本实施例中的数据库信息表至少包含5种信息:驱动程序的驱动类型、驱动程序的驱动版本、数据库位置信息、数据库唯一标识码以及数据描述信息。在本实施例中,数据中转服务收到数据请求后,解析出数据请求中的底层数据库唯一标识码,然后通过唯一标识码找到底层数据库对应的驱动信息(即驱动程序的驱动类型和驱动版本)以及地址链接信息。
在一种可能的实现方式中,数据中转模块具有数据库查询接口,数据中转模块还用于:将数据库查询接口发送至数据请求端;其中,数据请求端用于根据数据库查询接口获取数据库信息表。
在本实施例中,数据中转服务(即数据中转模块)需要维护一张底层数据库信息表(即上述数据库信息表),数据中转服务提供数据库列表功能,即向数据请求端提供数据列表接口(即上述数据库查询接口),通过数据列表接口返回数据库唯一标识和数据描述信息,以供数据请求端查询可以使用的数据库,其中,数据中转模块将底层数据库的状态信息(比如数据库的使用状态信息),存储在数据库信息表中。
在一种可能的实现方式中,数据中转模块包括内存缓存区,数据中转模块还用于:根据目标数据的数据量为目标数据分配目标内存缓存区;将目标数据存储至目标内存缓存区;将通过目标内存缓存区存储的目标数据分批发送至数据请求端。
本实施例中,通过在数据中转服务中引入内存缓存区,内存缓存区的具体存储空间受到服务器内存空间的限制,通过引入内存,无需将数据持久化到本地磁盘,避免数据持久化带来的磁盘读写和维护数据源链接,所消耗的资源和数据源同步读写浪费的时间,减少了数据读取时间,从而提升数据的计算效率。
优选地,本实施例通过采用全量读取底层数据库的方式,将全量读取后的目标数据写入内存缓冲区。
优选地,每个数据请求都是独立的缓存区,每个缓存区里面又拆分很多小的缓存区,对应底层的不同种类数据库,即各个缓存区之间是独立的,但是都属于程序内存。
在一个示例中,数据中转服务接收到底层数据库返回的目标数据后,分批次返回给客户端,客户端接收到中转服务返回的数据之后,开始计算任务。例如,基于客户端(即上述数据请求端)需求(例如数据量的大小),把内存缓存区中的目标数据分批次返回给实际请求的客户端,目的是尽快把小批量的数据先返回给客户端,例如,分10批或100批次,将目标数据返回给客户端,让客户端尽快开始进行数据加工处理任务(计算任务),从而避免了一次性读取过多数据,造成长时间的网络传输。由于长时间的网络传输会导致长时间的客户端等待,因此通过上述实施步骤,可以减少客户端读取数据的等待时间,避免在接收数据的过程中堵塞太久,特别是首次接收目标数据的时候,划分的批次越高首次等待的时间就越少,首次接收的等待时间是纯等待时间(因为客户端无数据可以计算),后续接收过程(非首次接受)可实现边读取边计算的逻辑,客户端根据自身计算任务特点,自定义指定划分的批次。
通过本发明实施例,提供一种统一高效的数据中转服务,统一接口之后,开发人员开始计算任务,使得计算任务忽略底层具体实现,通过统一计算任务的数据读取代码来提升整体效率,开发人员只需要从一种接口读取数据,而不需要因底层数据库的不同通过不同的数据接口读取数据,提高了开发人员的开发效率;另外,本发明实施例完全基于内存,无需将数据持久化到本地磁盘,大大减少磁盘读写从而减少时间消耗,引入缓存区机制可以让计算任务实现边读边处理,减少等待数据全量读取的时间。
下面结合一具体实施例对本发明实施例做进一步地说明:
图2是根据本发明实施例提供一种数据中转方法的信息交互图,如图2所示,中转流程包括以下步骤:
S202,客户端(即上述数据请求端)基于计算任务发出数据读取请求(即上述第一数据请求);
S204,服务端(即上述数据服务端)收到客户端的数据读取请求,通过数据中转服务对数据读取请求进行解析,得到数据源类型信息(对应于上述数据库的唯一标识码)和数据源位置信息(即上述数据库位置信息)。
S206,根据数据源类型信息、数据源位置信息以及数据库信息表读取数据。具体包括:判断数据源位置,如果是数据源A,则向数据源A发起请求并读取数据源A数据;如果是数据源B,则向数据源B发起请求,读取数据源B数据;以此类推,系统(服务器底层)可以集成多种数据源,此处数据源数量不设置上限。
S208,从数据库读取的数据存放到内存缓存区。
S210,最后内存缓存区的数据分多次返回给客户端。
通过上述步骤,统一数据访问方式,将多源异构数据源转化为统一访问接口;完全基于内存,整个过程没有持久化数据,减少磁盘读写,提升效率;通过引入内存缓存区机制,多批次返回数据,最大化数据中转效率。
本发明实施例所提供的方法实施例可以在移动终端、服务器、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图3是本发明实施例的一种数据库的数据读取方法应用于计算机终端的硬件结构框图。如图3所示,计算机终端可以包括一个或多个(图3中仅示出一个)处理器302(处理器302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器304,可选地,上述计算机终端还可以包括用于通信功能的传输设备306以及输入输出设备308。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器304可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据库的数据读取方法对应的计算机程序,处理器302通过运行存储在存储器304内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器,也可以包括易失性存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
图4是根据本发明实施例的一种数据库的数据读取方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,接收数据请求端发送的用于访问目标数据的第一数据请求;
步骤S404,解析第一数据请求,得到目标数据的数据描述信息和目标数据所在的目标数据库的唯一标识码;
步骤S406,根据数据描述信息、唯一标识码和数据库信息表访问目标数据库,以获取目标数据;
步骤S408,将目标数据发送至数据请求端。
本发明实施例提供的数据库的数据读取方法,在接收数据请求端发送的用于访问目标数据的第一数据请求后,解析出第一数据请求携带的目标数据的数据描述信息和目标数据所在的目标数据库的唯一标识码,然后根据数据描述信息、唯一标识码和数据库信息表访问目标数据库,以获取目标数据;并将目标数据发送至数据请求端,从而为读取服务端中各种数据库数据提供了统一的读取方式,能够对接各种底层数据库,简化了对接底层数据库的读取操作,从而解决相关技术中读取服务端数据库中数据效率低的技术问题,提高了底层数据库数据读取效率。
在一种可能的实现方式中,根据数据描述信息、唯一标识码和数据库信息表访问目标数据库以获取目标数据包括:基于数据描述信息和唯一标识码查询数据库信息表,以确定目标数据库的位置信息、访问目标数据的目标驱动程序对应的目标驱动类型以及目标驱动程序对应的目标驱动版本;其中,数据库信息表用于表征数据中转模块与目标数据库之间对接的映射关系;根据目标驱动类型和目标驱动版本加载目标驱动程序,以生成向目标数据库访问目标数据的第二数据请求;接收目标数据库响应第二数据请求所发送的目标数据。
在另一种可能的实现方式中,将目标数据发送至数据请求端包括:根据目标数据的数据量为目标数据分配目标内存缓存区;将目标数据存储至目标内存缓存区;将通过目标内存缓存区存储的目标数据分批发送至数据请求端。
上述数据库的数据读取方法实施例的实施方式已由上述数据库的数据读取系统实施例的实施方式揭示,本领域技术人员可以通过数据库的数据读取系统的实施例的实施方式,将其推导并应用于上述数据库的数据读取方法的实施例中。
基于上文各个实施例提供的数据库的数据读取方法,基于同一发明构思,在本实施例中还提供了一种数据库的数据读取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的一种数据库的数据读取方法装置,该装置包括:接收模块50,用于接收数据请求端发送的用于访问目标数据的第一数据请求;解析模块52,连接至上述接收模块50,用于解析第一数据请求,得到目标数据的数据描述信息和目标数据所在的目标数据库的唯一标识码;获取模块54,连接至上述解析模块52,用于根据数据描述信息、唯一标识码和数据库信息表访问目标数据库,以获取目标数据;发送模块56,连接至上述获取模块54,用于将目标数据发送至数据请求端。
可选的,获取模块54包括:确定单元,用于基于数据描述信息和唯一标识码查询数据库信息表,以确定目标数据库的位置信息、访问目标数据的目标驱动程序对应的目标驱动类型以及目标驱动程序对应的目标驱动版本;其中,数据库信息表用于表征数据中转模块与目标数据库之间对接的映射关系;生成单元,用于根据目标驱动类型和目标驱动版本加载目标驱动程序,以生成向目标数据库访问目标数据的第二数据请求;接收单元,用于接收目标数据库响应第二数据请求所发送的目标数据。
可选的,发送模块56包括:分配单元,用于根据目标数据的数据量为目标数据分配目标内存缓存区;存储单元,用于将目标数据存储至目标内存缓存区;发送单元,用于将通过目标内存缓存区存储的目标数据分批发送至数据请求端。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收数据请求端发送的用于访问目标数据的第一数据请求;
S2,解析所述第一数据请求,得到所述目标数据的数据描述信息和所述目标数据所在的目标数据库的唯一标识码;
S3,根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库,以获取所述目标数据;
S4,将所述目标数据发送至所述数据请求端。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
基于上述图4所示方法和图5所示装置的实施例,为了实现上述目的,本发明实施例还提供了一种电子设备,如图6所示,包括存储器62和处理器61,其中存储器62和处理器61均设置在总线63上存储器62存储有计算机程序,处理器61执行计算机程序时实现图2所示的数据库的数据读取方法。
基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个存储器(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
可选地,该设备还可以连接用户接口、网络接口、摄像头、射频(Radio Frequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种电子设备的结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据库的数据读取系统,其特征在于,包括数据请求端和数据服务端,所述数据服务端包括数据中转模块和至少一个数据库,其中,
所述数据请求端,用于向所述数据服务端发送访问目标数据的第一数据请求;
所述数据中转模块,封装于所述数据服务端的业务逻辑层,用于基于所述第一数据请求和数据库信息表生成向目标数据库访问所述目标数据的第二数据请求;其中,所述数据库信息表存储于所述数据中转模块,且用于表征所述数据中转模块与所述目标数据库之间对接的映射关系;
所述至少一个数据库,用于接收所述数据中转模块发送的第二数据请求,以响应所述第二数据请求将所述目标数据发送至所述数据中转模块,由所述数据中转模块返回至所述数据请求端。
2.根据权利要求1所述的系统,其特征在于,所述数据中转模块还用于:
解析所述第一数据请求,以得到所述目标数据的数据描述信息和所述目标数据库的唯一标识码;
基于所述数据描述信息和所述唯一标识码查询所述数据库信息表,以确定所述目标数据库的位置信息、访问所述目标数据的目标驱动程序对应的目标驱动类型以及所述目标驱动程序对应的目标驱动版本;
根据所述目标驱动类型和所述目标驱动版本加载所述目标驱动程序,以生成所述第二数据请求。
3.根据权利要求1所述的系统,其特征在于,所述数据中转模块具有数据库查询接口,所述数据中转模块还用于:
将所述数据库查询接口发送至所述数据请求端;其中,所述数据请求端用于根据所述数据库查询接口获取所述数据库信息表。
4.根据权利要求1所述的系统,其特征在于,所述数据中转模块包括内存缓存区,所述数据中转模块还用于:
根据所述目标数据的数据量为所述目标数据分配目标内存缓存区;
将所述目标数据存储至所述目标内存缓存区;
将通过所述目标内存缓存区存储的所述目标数据分批发送至所述数据请求端。
5.一种数据库的数据读取方法,其特征在于,包括:
接收数据请求端发送的用于访问目标数据的第一数据请求;
解析所述第一数据请求,得到所述目标数据的数据描述信息和所述目标数据所在的目标数据库的唯一标识码;
根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库,以获取所述目标数据;
将所述目标数据发送至所述数据请求端。
6.根据权利要求5所述的方法,其特征在于,所述根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库以获取所述目标数据包括:
基于所述数据描述信息和所述唯一标识码查询所述数据库信息表,以确定所述目标数据库的位置信息、访问所述目标数据的目标驱动程序对应的目标驱动类型以及所述目标驱动程序对应的目标驱动版本;其中,所述数据库信息表用于表征所述数据中转模块与所述目标数据库之间对接的映射关系;
根据所述目标驱动类型和所述目标驱动版本加载所述目标驱动程序,以生成向所述目标数据库访问所述目标数据的第二数据请求;
接收所述目标数据库响应所述第二数据请求所发送的目标数据。
7.根据权利要求5所述的方法,其特征在于,所述将所述目标数据发送至所述数据请求端包括:
根据所述目标数据的数据量为所述目标数据分配目标内存缓存区;
将所述目标数据存储至所述目标内存缓存区;
将通过所述目标内存缓存区存储的所述目标数据分批发送至所述数据请求端。
8.一种数据库的数据读取装置,其特征在于,包括:
接收模块,用于接收数据请求端发送的用于访问目标数据的第一数据请求;
解析模块,用于解析所述第一数据请求,得到所述目标数据的数据描述信息和所述目标数据所在的目标数据库的唯一标识码;
获取模块,用于根据所述数据描述信息、所述唯一标识码和数据库信息表访问所述目标数据库,以获取所述目标数据;
发送模块,用于将所述目标数据发送至所述数据请求端。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至7中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110577484.6A CN113268507B (zh) | 2021-05-26 | 2021-05-26 | 数据库的数据读取系统及方法、装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110577484.6A CN113268507B (zh) | 2021-05-26 | 2021-05-26 | 数据库的数据读取系统及方法、装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268507A true CN113268507A (zh) | 2021-08-17 |
CN113268507B CN113268507B (zh) | 2023-03-14 |
Family
ID=77232890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110577484.6A Active CN113268507B (zh) | 2021-05-26 | 2021-05-26 | 数据库的数据读取系统及方法、装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268507B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590635A (zh) * | 2021-08-23 | 2021-11-02 | 中国银行股份有限公司 | 海外多银行的数据分析系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293887A (zh) * | 2015-05-21 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库处理方法及装置 |
CN111209319A (zh) * | 2018-11-21 | 2020-05-29 | 华为技术有限公司 | 一种数据服务方法及装置 |
CN111367983A (zh) * | 2020-03-10 | 2020-07-03 | 中国联合网络通信集团有限公司 | 数据库访问方法、系统、设备和存储介质 |
CN111444278A (zh) * | 2020-04-01 | 2020-07-24 | Oppo(重庆)智能科技有限公司 | 数据同步方法、装置及中转服务器 |
CN112732839A (zh) * | 2021-01-21 | 2021-04-30 | 云账户技术(天津)有限公司 | 一种数据同步方法及装置 |
-
2021
- 2021-05-26 CN CN202110577484.6A patent/CN113268507B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293887A (zh) * | 2015-05-21 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库处理方法及装置 |
CN111209319A (zh) * | 2018-11-21 | 2020-05-29 | 华为技术有限公司 | 一种数据服务方法及装置 |
CN111367983A (zh) * | 2020-03-10 | 2020-07-03 | 中国联合网络通信集团有限公司 | 数据库访问方法、系统、设备和存储介质 |
CN111444278A (zh) * | 2020-04-01 | 2020-07-24 | Oppo(重庆)智能科技有限公司 | 数据同步方法、装置及中转服务器 |
CN112732839A (zh) * | 2021-01-21 | 2021-04-30 | 云账户技术(天津)有限公司 | 一种数据同步方法及装置 |
Non-Patent Citations (2)
Title |
---|
卫国兵,杨龙: "CARIS HPD多类型数据解析引擎的设计与实现", 《信息系统工程》 * |
李金友,于淼: "Paradox数据库数据读取的实现", 《通化师范学院学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590635A (zh) * | 2021-08-23 | 2021-11-02 | 中国银行股份有限公司 | 海外多银行的数据分析系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113268507B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976667B (zh) | 一种镜像管理方法、装置及系统 | |
CN109871289B (zh) | 一种远程过程调用rpc服务生成方法及装置 | |
CN108259533B (zh) | 一种数据传输方法和装置 | |
CN113067866B (zh) | 异构系统间的批量文件传输方法及装置 | |
CN110019444B (zh) | 一种操作请求处理方法、装置、设备及系统 | |
CN113268507B (zh) | 数据库的数据读取系统及方法、装置、电子设备 | |
CN113434230A (zh) | H5页面的跳转控制方法、装置、存储介质及电子装置 | |
CN114422436B (zh) | 网关、网关控制方法、装置、电子设备和存储介质 | |
CN116737127A (zh) | 低代码开发方法、装置、设备和存储介质 | |
CN113127477A (zh) | 访问数据库的方法、装置、计算机设备和存储介质 | |
CN112214701A (zh) | 页面的展示方法及系统、存储介质、电子装置 | |
CN107347024B (zh) | 一种存储操作日志的方法、设备和系统 | |
CN113746932B (zh) | 网络请求合并方法、装置及电子装置、计算机程序产品 | |
CN116028696A (zh) | 资源信息获取方法、装置、电子设备及存储介质 | |
CN114189457A (zh) | 云资源展示、处理方法、设备及存储介质 | |
CN114064429A (zh) | 审计日志的采集方法、装置、存储介质和服务器 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN112035102A (zh) | 数据接口的配置方法及装置、存储介质、电子装置 | |
CN110928895A (zh) | 一种数据查询、数据表建立方法、装置及设备 | |
CN111381917A (zh) | 一种数据读写方法及装置 | |
CN117883789B (zh) | 数据获取方法、装置、设备、可读存储介质及程序产品 | |
CN110858201A (zh) | 数据处理方法及系统、处理器、存储介质 | |
CN114691051B (zh) | 数据处理方法以及装置 | |
CN115600567B (zh) | 一种报表导出方法及装置 | |
CN112308431A (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 |