CN107766378A - 请求信息的发送方法及装置、分布式数据库系统 - Google Patents
请求信息的发送方法及装置、分布式数据库系统 Download PDFInfo
- Publication number
- CN107766378A CN107766378A CN201610700415.9A CN201610700415A CN107766378A CN 107766378 A CN107766378 A CN 107766378A CN 201610700415 A CN201610700415 A CN 201610700415A CN 107766378 A CN107766378 A CN 107766378A
- Authority
- CN
- China
- Prior art keywords
- database
- database server
- stored
- distributed
- storage process
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 293
- 230000008569 process Effects 0.000 claims abstract description 178
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 description 28
- 230000014509 gene expression Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种请求信息的发送方法及装置、分布式数据库系统;其中,该方法包括:接收客户端发送的用于请求执行存储过程的第一请求信息;确定分布式数据库中用于执行存储过程的数据库服务器;将第一请求信息发送给确定的数据库服务器。通过本发明,解决了相关技术中无法做到在分布式数据库上实现数据库存储过程的功能的问题。
Description
技术领域
本发明涉及分布式数据库技术领域,具体而言,涉及一种请求信息的发送方法及装置、分布式数据库系统。
背景技术
数据库存储过程是一组预先创建并用指定的名称存储在数据库服务器上的结构化查询语言(Structured Query Language,简称SQL)语句,将使用比较频繁或者比较复杂的操作,预先用SQL语句写好并用一个指定的名称存储起来,以后当需要数据库提供与已定义好的存储过程的功能相同的服务时,只需再次执行该存储过程。
数据库存储过程具有如下优点:
存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,因此使用存储过程可以大大提高数据库执行速度。通常,复杂的业务逻辑需要多条SQL语句。这些语句要分别地从客户机发送到服务器,当客户机和服务器之间的操作很多时,将产生大量的网络传输。
如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输就会大大减少,降低了网络负载。存储过程创建一次便可以重复使用,从而可以减少数据库开发人员的工作量。安全性高,存储过程可以屏蔽对底层数据库对象的直接访问,使用EXECUTE权限调用存储过程,无需拥有访问底层数据库对象的显式权限。
正是由于存储过程的上述优点,目前常用的数据库都支持存储过程,例如MySQL、DB2、Oracle等。
但上述的技术是单数据库服务器的技术,无法做到在分布式数据库上实现数据库存储过程(函数)的功能。
针对相关技术中的上述技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种请求信息的发送方法及装置、分布式数据库系统,以至少解决相关技术中无法做到在分布式数据库上实现数据库存储过程的功能的问题。
根据本发明的一个实施例,提供了一种请求信息的发送方法,包括:接收客户端发送的用于请求执行存储过程的第一请求信息;确定分布式数据库中用于执行存储过程的数据库服务器;将第一请求信息发送给确定的数据库服务器。
可选地,确定分布式数据库中用于执行存储过程的数据库服务器包括:根据预先存储的存储过程的数据字典信息确定数据库服务器;其中,数据字典信息包括:输入参数信息和用于指示将存储过程发送给数据库服务器所使用的分发策略。
可选地,在将第一请求信息发送给确定的数据库服务器之前,方法还包括:使用与输入参数变量对应的值替换第一请求信息中的输入参数变量。
可选地,分发策略包括以下至少之一:按照列表将存储过程分发到与存储过程的分发字段的值对应的数据库服务器中,其中,列表中存储有分布式数据库中的各个数据库服务器与预定值的对应关系;按照范围与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值所在范围对应的数据库服务器中;按照哈希Hash值与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值的Hash值对应的数据库服务器中;随机将存储过程分发到分布式数据库中的一个数据库服务器中,其中,分布式数据库中的各个数据库中存储有相同的信息;将存储过程分发分布式数据库中的所有数据库服务器中。
可选地,在接收客户端发送的用于请求执行存储过程的第一请求信息之前,方法还包括:接收客户端发送的用于请求创建存储过程的第二请求信息;将第二请求信息发送给分布式数据库中的所有数据库服务器。
可选地,在将第二请求信息发送给分布式数据库中的所有数据库服务器之后,方法还包括:接收用于指示所有数据库服务器完成创建存储过程的指示信息;保存数据字典信息。
根据本发明的一个实施例,提供了一种请求信息的发送装置,包括:接收模块,用于接收客户端发送的用于请求执行存储过程的第一请求信息;确定模块,用于确定分布式数据库中用于执行存储过程的数据库服务器;发送模块,用于将第一请求信息发送给确定的数据库服务器。
可选地,确定模块,还用于根据预先存储的存储过程的数据字典信息确定数据库服务器;其中,数据字典信息包括:输入参数信息和用于指示将存储过程发送给数据库服务器所使用的分发策略。
可选地,装置还包括:替换模块,用于使用与输入参数变量对应的值替换第一请求信息中的输入参数变量。
可选地,分发策略包括以下至少之一:按照列表将存储过程分发到与存储过程的分发字段的值对应的数据库服务器中,其中,列表中存储有分布式数据库中的各个数据库服务器与预定值的对应关系;按照范围与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值所在范围对应的数据库服务器中;按照哈希Hash值与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值的Hash值对应的数据库服务器中;随机将存储过程分发到分布式数据库中的一个数据库服务器中,其中,分布式数据库中的各个数据库中存储有相同的信息;将存储过程分发分布式数据库中的所有数据库服务器中。
根据本发明的一个实施例,提供了一种分布式数据库系统,包括:客户端,数据库代理装置,多个数据库服务器;其中,客户端,用于向数据库代理模块发送用于请求执行存储过程的第一请求信息;数据库代理装置,用于在接收到第一请求信息后,确定多个数据库服务器中用于执行存储过程的数据库服务器,以及将第一请求信息发送给确定的数据库服务器。
可选地,数据库代理装置,还用于根据预先存储的存储过程的数据字典信息确定数据库服务器;其中,数据字典信息包括:输入参数信息和用于指示将存储过程发送给数据库服务器所使用的分发策略。
可选地,数据库代理装置,还用于在将第一请求信息发送给确定的数据库服务器之前,将第一请求信息中的输入参数变量用与输入参数变量对应的值替换。
可选地,数据库代理装置,还用于接收客户端发送的用于请求创建存储过程的第二请求信息;以及解析存储过程,确定用于执行创建存储过程的数据库服务器。
根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:接收客户端发送的用于请求执行存储过程的第一请求信息;确定分布式数据库中用于执行存储过程的数据库服务器;将第一请求信息发送给确定的数据库服务器。
通过本发明,由于通过确定分布式数据库中用于执行客户端发送的存储过程的数据库服务器,进而使得在确定的数据库服务器上执行该存储过程,进而在分布式数据库上实现数据库存储过程的功能,因此,可以解决相关技术中无法做到在分布式数据库上实现数据库存储过程的功能的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种请求信息的发送方法的移动终端的硬件结构框图;
图2是根据本发明实施例的请求信息的发送方法的流程图;
图3是根据本发明实施例的请求信息的发送装置的结构框图;
图4是根据本发明实施例提供的分布式数据库系统的结构框图;
图5是根据本发明优选实施例提供的分布式数据库系统的结构示意图;
图6是根据本发明优选实施例提供的数据库代理模块中的执行模块的结构示意图;
图7是根据本发明优选实施例提供的分布式数据库存储过程执行的过程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种请求信息的发送方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的请求信息的发送方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的请求信息的发送方法,图2是根据本发明实施例的请求信息的发送方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收客户端发送的用于请求执行存储过程的第一请求信息;
步骤S204,确定分布式数据库中用于执行存储过程的数据库服务器;
步骤S206,将第一请求信息发送给确定的数据库服务器。
通过上述步骤,由于通过确定分布式数据库中用于执行客户端发送的存储过程的数据库服务器,进而使得在确定的数据库服务器上执行该存储过程,进而在分布式数据库上实现数据库存储过程的功能,因此,可以解决相关技术中无法做到在分布式数据库上实现数据库存储过程的功能的问题。
在本发明的一个实施例中,上述步骤S204可以表现为:根据预先存储的存储过程的数据字典信息确定数据库服务器;其中,数据字典信息包括:输入参数信息和用于指示将存储过程发送给数据库服务器所使用的分发策略。
需要说明的是,上述输入参数信息可以是存储过程的输入参数信息;上述数据字典信息还可以包括:存储过程名称、输出参数信息,存储过程定义等,但并不限于此。
上述分发策略有多种表现形式,在本发明的一个实施例中,上述分发策略可以包括以下至少之一:表现方式一,按照列表将存储过程分发到与存储过程的分发字段的值对应的数据库服务器中,其中,列表中存储有分布式数据库中的各个数据库服务器与预定值的对应关系;表现方式二,按照范围与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值所在范围对应的数据库服务器中;表现方式三,按照哈希Hash值与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值的Hash值对应的数据库服务器中;表现方式四,随机将存储过程分发到分布式数据库中的一个数据库服务器中,其中,分布式数据库中的各个数据库中存储有相同的信息;表现方式五,将存储过程分发分布式数据库中的所有数据库服务器中。
需要说明的是,上述分发字段可以是输入参数的值,但并不限于此。
对于上述表现形式一,也可称为按列表分发,以信息为季度为例进行说明,但并不作为限定,比如第1季度的数据对应数据库服务器1,第2季度的数据对应数据库服务器2,第3季度的数据对应数据库服务器3,第4季度的数据对应数据库服务器4,那么该列表可以表现为:
那么当接收到客户端发送的存储过程中的输入参数为第2季度或者4月份,以输入参数作为分发字段,则应当将该存储过程分发到数据库服务器2上进行执行。
对于上述表现形式二,也可称为按范围分发,以信息为时间为例进行说明,但并不限于此,比如1970年至1979年的数据存储在数据库服务器1上,1980年至1989年的数据存储在数据库服务器2上,1990年至1999年的数据存储在数据库服务器3上;而从客户端接收的存储过程的输入参数为时间为1992;那么应当将存储过程分发到数据库服务器3上进行执行。
对于上述表现形式三,也可称为按Hash分发,以数值1对应数据库服务器1,数值2对应数据库服务器2,数值3对应数据库服务器3,而数据则是按照Hash值与3的取模运算,均分散列地分布到了数据库服务器1、2和3上;当接收到客户端发送的存储过程中的输入参数的值后,将该输入参数的值转化为Hash值,利用转化后的Hash值与3进行取模运算,得到取模运算结果,如果取模运算结果为1,则将该存储过程分发到数据库服务器1中,如果取模运算结果为2,则将该存储过程分发到数据库服务器2中,如果取模运算结果为3,则将该存储过程分发到数据库服务器3中.
对于上述表现形式四,也可以称为按复制分发,即在分布式数据库中的所有数据库服务器有相同的信息,可以称为复制表,那么可以将客户端发送的存储过程分发到任一个数据库服务器中执行。对于上述表现形式五,可以称为无分发,即可以将客户端发送的存储过程分发到所有数据库服务器中执行,比如每个数据库服务器中存储有不同年龄段的员工,而该存储过程的输入参数为每人奖励500员,因而并不需要区分年龄,此时可以按照表现形式五进行分发,即将该存储过程分发到所有数据库服务器中,但并不限于此。
需要说明的是,上述分发策略的几种表现形式可以进行结合使用,比如第一种表现形式和第二种表现形式结合使用,但并不限于此。
需要说明的是,上述存储过程的分发策略可以是预先设定好的,在本发明的一个实施例中,是在创建存储过程时按照存储过程的输入参数进行设定的,但并不限于此,因而,在本发明的一个实施例中,在上述步骤S202之前,上述方法还可以包括:接收客户端发送的用于请求创建存储过程的第二请求信息;将第二请求信息发送给分布式数据库中的所有数据库服务器。需要说明的是,在将第二请求信息发送给分布式数据库中的所有数据库服务器之后,方法还包括:接收用于指示所有数据库服务器完成创建存储过程的指示信息;保存数据字典信息。
在本发明的一个实施例中,在上述步骤S206之前,所述方法还可以包括:使用与输入参数变量对应的值替换第一请求信息中的输入参数变量。即在发送给确定的数据库服务器之前,先将存储过程转化为可以在数据库服务器上执行的存储过程,但并不限于此,比如也可以将输入参数变量和上述第一请求信息分别发送给上述确定的数据库服务器,然后在数据库服务器中将存储过程转化为可执行的存储过程。
需要说明的是,在本发明的一个实施例中,如果涉及输出参数,那么可以向执行了上述存储过程的数据库服务器发送查询输出参数的请求信息,接收该执行了上述存储过程的数据库服务器返回的输出参数的值,但并不限于此,比如也可以不用发送请求信息,而是直接在该执行了上述存储过程的数据库服务器执行完上述存储过程后,接收该执行了上述存储过程的数据库服务器返回的输出参数的值。
可选地,上述步骤的执行主体可以为涉及分布式数据库的终端、设备,基站等,但不限于此。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种请求信息的发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的请求信息的发送装置的结构框图,如图3所示,该装置包括:
接收模块32,用于接收客户端发送的用于请求执行存储过程的第一请求信息;
确定模块34,用于确定分布式数据库中用于执行存储过程的数据库服务器;
发送模块36,用于将第一请求信息发送给确定的数据库服务器。
通过上述装置,由于通过确定模块34确定分布式数据库中用于执行客户端发送的存储过程的数据库服务器,进而使得在确定的数据库服务器上执行该存储过程,在分布式数据库上实现数据库存储过程的功能,因此,可以解决相关技术中无法做到在分布式数据库上实现数据库存储过程的功能的问题。
在本发明的一个实施例中,上述确定模块34,还可以用于根据预先存储的存储过程的数据字典信息确定数据库服务器;其中,数据字典信息包括:输入参数信息和用于指示将存储过程发送给数据库服务器所使用的分发策略。
需要说明的是,上述输入参数信息可以是存储过程的输入参数信息;上述数据字典信息还可以包括:存储过程名称、输出参数信息,存储过程定义等,但并不限于此。
上述分发策略有多种表现形式,在本发明的一个实施例中,上述分发策略可以包括以下至少之一:表现方式一,按照列表将存储过程分发到与存储过程的分发字段的值对应的数据库服务器中,其中,列表中存储有分布式数据库中的各个数据库服务器与预定值的对应关系;表现方式二,按照范围与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值所在范围对应的数据库服务器中;表现方式三,按照哈希Hash值与分布式数据库中的数据库服务器的对应关系,将存储过程分发到与存储过程的分发字段的值的Hash值对应的数据库服务器中;表现方式四,随机将存储过程分发到分布式数据库中的一个数据库服务器中,其中,分布式数据库中的各个数据库中存储有相同的信息;表现方式五,将存储过程分发分布式数据库中的所有数据库服务器中。
需要说明的是,上述分发字段可以是输入参数的值,但并不限于此。
对于上述表现形式一,也可称为按列表分发,以信息为季度为例进行说明,但并不作为限定,比如第1季度的数据对应数据库服务器1,第2季度的数据对应数据库服务器2,第3季度的数据对应数据库服务器3,第4季度的数据对应数据库服务器4,那么该列表可以表现为:
那么当接收到客户端发送的存储过程中的输入参数为第2季度或者4月份,以输入参数作为分发字段,则应当将该存储过程分发到数据库服务器2上进行执行。
对于上述表现形式二,也可称为按范围分发,以信息为时间为例进行说明,但并不限于此,比如1970年至1979年的数据存储在数据库服务器1上,1980年至1989年的数据存储在数据库服务器2上,1990年至1999年的数据存储在数据库服务器3上;而从客户端接收的存储过程的输入参数为时间为1992;那么应当将存储过程分发到数据库服务器3上进行执行。
对于上述表现形式三,也可称为按Hash分发,以数值1对应数据库服务器1,数值2对应数据库服务器2,数值3对应数据库服务器3,而数据则是按照Hash值与3的取模运算,均分散列地分布到了数据库服务器1、2和3上;当接收到客户端发送的存储过程中的输入参数的值后,将该输入参数的值转化为Hash值,利用转化后的Hash值与3进行取模运算,得到取模运算结果,如果取模运算结果为1,则将该存储过程分发到数据库服务器1中,如果取模运算结果为2,则将该存储过程分发到数据库服务器2中,如果取模运算结果为3,则将该存储过程分发到数据库服务器3中.
对于上述表现形式四,也可以称为按复制分发,即在分布式数据库中的所有数据库服务器有相同的信息,可以称为复制表,那么可以将客户端发送的存储过程分发到任一个数据库服务器中执行。对于上述表现形式五,可以称为无分发,即可以将客户端发送的存储过程分发到所有数据库服务器中执行,比如每个数据库服务器中存储有不同年龄段的员工,而该存储过程的输入参数为每人奖励500员,因而并不需要区分年龄,此时可以按照表现形式五进行分发,即将该存储过程分发到所有数据库服务器中,但并不限于此。
需要说明的是,上述存储过程的分发策略可以是预先设定好的,因而,在本发明的一个实施例中,上述接收模块32还可以用于接收客户端发送的用于请求创建存储过程的第二请求信息;上述发送模块36还可以用于将第二请求信息发送给分布式数据库中的所有数据库服务器。需要说明的是,上述接收模块32还可以用于接收用于指示所有数据库服务器完成创建存储过程的指示信息,上述装置还可以包括:保存模块,与上述接收模块32连接,用于保存数据字典信息。
在本发明的一个实施例中,上述装置还可以包括:替换模块,与上述发送模块36连接,用于使用与输入参数变量对应的值替换第一请求信息中的输入参数变量。
需要说明的是,上述替换模块对于该装置是可选的,在该装置不包括替换模块的情况下,上述装置可以将输入参数变量和上述第一请求信息分别发送给上述确定的数据库服务器,在数据库服务器中将存储过程转化为可执行的存储过程。
需要说明的是,在本发明的一个实施例中,如果涉及输出参数,那么上述装置可以向执行了上述存储过程的数据库服务器发送查询输出参数的请求信息,接收该执行了上述存储过程的数据库服务器返回的输出参数的值,但并不限于此,比如也可以不用发送请求信息,而是直接在该执行了上述存储过程的数据库服务器执行完上述存储过程后,接收该执行了上述存储过程的数据库服务器返回的输出参数的值。
可选地,上述装置可以为涉及分布式数据库的终端、设备,基站等,但不限于此。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明实施例,还提供了一种分布式数据库系统,图4是根据本发明实施例提供的分布式数据库系统的结构框图,如图4所示,该系统包括:客户端42,数据库代理装置44,多个数据库服务器46;其中,
客户端42,用于向数据库代理装置44发送用于请求执行存储过程的第一请求信息;
数据库代理装置44,用于在接收到第一请求信息后,确定多个数据库服务器46中用于执行存储过程的数据库服务器46,以及将第一请求信息发送给确定的数据库服务器46。
通过上述系统,由于通过数据库代理装置44确定分布式数据库中用于执行客户端发送的存储过程的数据库服务器,进而使得在确定的数据库服务器上执行该存储过程,在分布式数据库上实现数据库存储过程的功能,因此,可以解决相关技术中无法做到在分布式数据库上实现数据库存储过程的功能的问题。
在本发明的一个实施例中,上述数据库代理装置44,还可以用于根据预先存储的存储过程的数据字典信息确定数据库服务器;其中,数据字典信息包括:输入参数信息和用于指示将存储过程发送给数据库服务器所使用的分发策略。
需要说明的是,上述输入参数信息可以是存储过程的输入参数信息;上述数据字典信息还可以包括:存储过程名称、输出参数信息,存储过程定义等,但并不限于此。
需要说明的是,对于分发策略的解释,可以参考实施例1和2的描述,此处不再赘述。
在本发明的一个实施例中,上述数据库代理装置44,还可以用于在将第一请求信息发送给确定的数据库服务器之前,将第一请求信息中的输入参数变量用与输入参数变量对应的值替换。
需要说明的是,上述数据库代理装置44,还可以用于接收客户端发送的用于请求创建存储过程的第二请求信息;以及解析存储过程,确定用于执行创建存储过程的数据库服务器。
在本发明的一个实施例中,上述数据库代理装置44,还可以用于使用与输入参数变量对应的值替换第一请求信息中的输入参数变量。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行实施例1中的方法的步骤的程序代码。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行实施例1中的方法。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
为了更好地理解本发明,以下结合优选的实施例对本发明做进一步解释。
本发明优选实施例提供了一种分布式数据库系统,其中,该系统包括:
数据库代理模块(相当于上述实施例中的数据库代理装置),负责SQL优化、SQL路由、数据节点的负载均衡、分布式事务的调度和执行等;数据库代理模块和上层的数据库客户端、以及下层的数据库集群之间的通信协议兼容MySQL、DB2、Oracle等数据库;其中,该数据库代理模块包括:
存储过程单元:负责解析分布式存储过程,生成存储过程数据字典信息,并分析创建、执行、删除存储过程的分发策略,然后由SQL路由模块下发到需要执行的数据库服务器;
SQL路由:将SQL语句发送给指定的数据库服务器节点执行,并将结果返回给数据库代理模块的执行模块;
本发明优选实施例还提出了一种实现分布式数据库存储过程的实现方法,能够根据分布策略完成存储过程和函数的功能。
客户端将创建存储过程(函数)发送到数据库代理模块,存储过程(函数)SQL语句含有HINT信息,HINT信息指定哪个入参(或者含有入参的表达式)作为分发字段,另外支持到所有的数据库服务器上都执行和随机挑选一个数据库服务器上执行这两种分发策略。
本发明优选实施例支持五种分发策略:
按列表分发:适用于可枚举的场景(比如1~12月),把每个数据库服务器对应的值列举出来,当分发字段为对应的值时就分发到对应的数据库服务器上;
按范围分发:适用于整数的场景(比如金额、年龄等),每个数据库服务器设置对应的范围,满足该范围就分发到对应的数据库服务器上;
按Hash分发:适用于不可穷举和非范围的场景,将分发字段为Hash的key,算出对应的Hash值,按Hash值分发,使数据能够均匀散列到不同的数据库服务器上;
按复制分发:适用于随机到一个数据库服务器上执行;
无分发:适用于到所有的数据库服务器上执行;
数据库代理模块收到创建存储过程(函数)SQL语句,将其生成语法树,然后分析SQL语句,根据HINT信息分析需要到哪些数据库服务器执行创建存储过程(函数),执行成功后,在数据库代理模块所在服务器上将存储过程(函数)的数据字典信息持久化到文件中,同时内存中也保留一份。
数据字典信息文件包含存储过程名称、入参和出参信息、存储过程定义、分发策略等相关信息。
客户端发送执行存储过程(函数)到数据库代理模块,先将其生成语法树,然后存储过程单元根据本地的数据字典信息里面的分发策略和入参具体的值计算出需要到哪些数据库服务器上执行,由SQL路由下发到数据库服务器执行,收到数据库服务器响应消息后,然后再紧跟着到执行存储过程的数据库服务器查询该存储过程的出参的值,记录在内存中。
执行存储过程(函数)必然支持设置变量,客户端发送设置变量请求到数据库代理模块,数据库代理模块收到请求后,在本地维护变量名称以及对应的值,在本地计算出变量的值,后续SQL语句请求涉及到变量均从本地缓存中获取,用变量具体的值代替变量名下发到数据库服务器上执行。
优选实施例1
基于MySQL分布式集群数据库的语音类业务统计
在该系统中,假设是以地区来分库分表保存语音类业务的数据,同一个数据库分布在不同的DB服务器上,对于用户来说,用户并不需要知道某个语音类业务数据存储在哪个DB服务器上。
本专利实现细节,以南京市语音业务为例,先定义存储过程用来统计南京市语音业务(存储过程定义NJ_Voice_Service_Statistics(AreaID,Voice_ServiceID,@Result),其中AreaID地区编号和Voice_ServiceID语音业务编号为入参,Result为出参),存储过程的分发规则为根据AreaID值进行hash。语音业务表也按照AreaID字段值来进行list(AreaID为语音业务表的其中一个字段);
先通过分布式数据库系统来创建语音业务表和存储过程NJ_Voice_Service_Statistics。
在应用系统运行过程中产生的语音业务数据,通过分布式数据库系统插入到对应的DB服务器上(语音业务表数据按照AreaID字段值list分发)。假设江宁区AreaID为100,玄武区AreaID为101,雨花区AreaID为102,秦淮区AreaID为103,浦口区AreaID为104,栖霞区AreaID为105,分发规则定义为:distributed by list(AreaID)(DB1values in(100),DB2values in(101),DB3values in(102),DB4values in(103),DB5values in(104),DB6values in(105));
当需要统计浦口区的语音业务时,直接调用存储过程(参AreaID为104),分布式数据库系统根据AreaID的值为104分发到DB6服务器统计,并将DB6服务器统计的结果上报给用户。
该系统中语音业务数据十分的庞大,通过分布式数据库系统将数据进行了分库分表之后,数据的分布对用户来说就是透明的,用户很难去执行存储过程,这就是本发现解决的问题,同时分库分表之后,数据按照某种规则分布,分布在多个DB服务器上,对于单个DB服务器来说数据库大大减少了,负荷变小了,处理速度变快了,而且可以并发执行。
图5是根据本发明优选实施例提供的分布式数据库系统的结构示意图,如图5所示,分布式数据库系统包括:
客户端,用于开放给用户以界面的形式通过发送存储过程(函数)SQL语句请求来完成对分布式数据库的访问,分布式数据库对用户体验来讲是透明的;
数据库代理模块主要包括执行和SQL路由两大模块,执行模块将SQL请求经过SQL优化和分布式处理后发送给SQL路由,由SQL路由模块发送到具体的DB服务器执行相应的SQL请求任务。SQL路由模块监听DB服务器的结果消息,将SQL请求的结果返回给执行模块,执行模块经过内部处理运算后,将最终结果发送给客户端,展示给用户。
图6是根据本发明优选实施例提供的数据库代理模块中的执行模块的结构示意图,如图6所示,数据库代理模块的执行模块的结构包括:
线程调度单元:负责处理所有用户客户端的SQL请求,从执行模块的线程池调度一个线程来处理用户的SQL请求。
线程池单元:负责管理执行模块的所有线程的使用和回收。
SQL解析单元:负责将SQL语句解析生成语法树,然后再根据语法树来生成执行计划树。
存储过程单元:将带有分发策略的存储过程语句转化成可在DB服务器执行的存储过程语句。存储过程单元将语句的分发策略持久化到数据字典文件中,同时加载到元数据缓存中,供执行存储过程时使用;
元数据缓存单元:在数据库代理模块启动时将所有表的分发策略加载到缓存中,在处理存储过程语句时也会将分发策略更新到缓存中。元数据缓存单元管理表的分发策略信息,同时提供查询服务;上述各个单元比如存储过程单元,SQL解析单元、线程池单元、线程调度单元都可以与元数据缓存单元连接,但并不限于此。
图7是根据本发明优选实施例提供的分布式数据库存储过程执行的过程示意图,如图7所示,分布式数据库存储过程执行过程分为以下几个步骤:
首先,客户端发送创建存储过程SQL请求,执行模块收到请求后根据SQL语句模板生成语法树,由存储过程单元根据SQL语句的语法树生成执行计划树,存储过程单元分析出涉及到的所有的DB服务器(以两个DB服务器为例),然后通过SQL路由将创建存储过程的请求同时发给两个DB服务器,执行模块收到两个DB服务器回的OK响应消息后,将存储过程定义的数据字典信息持久化到文件中,最后将OK响应消息发送给客户端。
其次,客户端发送set请求将变量的值发送给执行模块,执行模块在会话区中记录变量名以及对应的值,将OK响应消息发送给客户端。
其次,客户端发送执行存储过程(execute:@var1,@var2,@var3)SQL语句请求,执行模块收到请求后,根据存储过程的数据字典信息找到入参信息和分发字段,分析出需要在哪个DB服务器上执行,并将SQL语句请求中入参变量替换成对应具体的值,交由SQL路由发到DB服务器上执行,DB服务器返回响应,如果涉及出参,则继续到刚执行过存储过程的数据库服务器下发查询出参的请求。
最后,向客户端返回响应消息。
由上可知,本发明优选实施例具有以下优势:
1)本发明的存储过程(函数)执行方法解决了存储过程(函数)无法在分布式数据库系统上执行的问题,用户可以根据自己的需要指定分发策略;
2)本发明的存储过程(函数)执行方法可以使存储过程(函数)在分布式数据库的多个数据库服务器上并发执行,可以充分利用每个服务器节点的CPU、硬盘等资源,大大提交了执行效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种请求信息的发送方法,其特征在于,包括:
接收客户端发送的用于请求执行存储过程的第一请求信息;
确定分布式数据库中用于执行所述存储过程的数据库服务器;
将所述第一请求信息发送给确定的所述数据库服务器。
2.根据权利要求1所述的方法,其特征在于,确定分布式数据库中用于执行所述存储过程的数据库服务器包括:
根据预先存储的所述存储过程的数据字典信息确定所述数据库服务器;其中,所述数据字典信息包括:输入参数信息和用于指示将所述存储过程发送给所述数据库服务器所使用的分发策略。
3.根据权利要求2所述的方法,其特征在于,在将所述第一请求信息发送给确定的所述数据库服务器之前,所述方法还包括:
使用与所述输入参数变量对应的值替换所述第一请求信息中的输入参数变量。
4.根据权利要求2所述的方法,其特征在于,所述分发策略包括以下至少之一:
按照列表将所述存储过程分发到与所述存储过程的分发字段的值对应的所述数据库服务器中,其中,所述列表中存储有所述分布式数据库中的各个数据库服务器与预定值的对应关系;
按照范围与所述分布式数据库中的数据库服务器的对应关系,将所述存储过程分发到与所述存储过程的分发字段的值所在范围对应的数据库服务器中;
按照哈希Hash值与所述分布式数据库中的数据库服务器的对应关系,将所述存储过程分发到与所述存储过程的分发字段的值的Hash值对应的数据库服务器中;
随机将所述存储过程分发到所述分布式数据库中的一个数据库服务器中,其中,所述分布式数据库中的各个数据库中存储有相同的信息;
将所述存储过程分发所述分布式数据库中的所有数据库服务器中。
5.根据权利要求2所述的方法,其特征在于,在接收客户端发送的用于请求执行存储过程的第一请求信息之前,所述方法还包括:
接收所述客户端发送的用于请求创建所述存储过程的第二请求信息;
将所述第二请求信息发送给所述分布式数据库中的所有数据库服务器。
6.根据权利要求5所述的方法,其特征在于,在将所述第二请求信息发送给所述分布式数据库中的所有数据库服务器之后,所述方法还包括:
接收用于指示所述所有数据库服务器完成创建所述存储过程的指示信息;
保存所述数据字典信息。
7.一种请求信息的发送装置,其特征在于,包括:
接收模块,用于接收客户端发送的用于请求执行存储过程的第一请求信息;
确定模块,用于确定分布式数据库中用于执行所述存储过程的数据库服务器;
发送模块,用于将所述第一请求信息发送给确定的所述数据库服务器。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,还用于根据预先存储的所述存储过程的数据字典信息确定所述数据库服务器;其中,所述数据字典信息包括:输入参数信息和用于指示将所述存储过程发送给所述数据库服务器所使用的分发策略。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
替换模块,用于使用与所述输入参数变量对应的值替换所述第一请求信息中的输入参数变量。
10.根据权利要求8所述的装置,其特征在于,所述分发策略包括以下至少之一:
按照列表将所述存储过程分发到与所述存储过程的分发字段的值对应的所述数据库服务器中,其中,所述列表中存储有所述分布式数据库中的各个数据库服务器与预定值的对应关系;
按照范围与所述分布式数据库中的数据库服务器的对应关系,将所述存储过程分发到与所述存储过程的分发字段的值所在范围对应的数据库服务器中;
按照哈希Hash值与所述分布式数据库中的数据库服务器的对应关系,将所述存储过程分发到与所述存储过程的分发字段的值的Hash值对应的数据库服务器中;
随机将所述存储过程分发到所述分布式数据库中的一个数据库服务器中,其中,所述分布式数据库中的各个数据库中存储有相同的信息;
将所述存储过程分发所述分布式数据库中的所有数据库服务器中。
11.一种分布式数据库系统,其特征在于,包括:客户端,数据库代理装置,多个数据库服务器;其中,
所述客户端,用于向所述数据库代理模块发送用于请求执行存储过程的第一请求信息;
所述数据库代理装置,用于在接收到所述第一请求信息后,确定所述多个数据库服务器中用于执行所述存储过程的数据库服务器,以及将所述第一请求信息发送给确定的所述数据库服务器。
12.根据权利要求11所述的分布式数据库系统,其特征在于,所述数据库代理装置,还用于根据预先存储的所述存储过程的数据字典信息确定所述数据库服务器;其中,所述数据字典信息包括:输入参数信息和用于指示将所述存储过程发送给所述数据库服务器所使用的分发策略。
13.根据权利要求11所述的分布式数据库系统,其特征在于,所述数据库代理模块,还用于在将所述第一请求信息发送给确定的所述数据库服务器之前,将所述第一请求信息中的输入参数变量用与所述输入参数变量对应的值替换。
14.根据权利要求11所述的分布式数据库系统,其特征在于,所述数据库代理模块,还用于接收所述客户端发送的用于请求创建所述存储过程的第二请求信息;以及解析所述存储过程,确定用于执行创建所述存储过程的数据库服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610700415.9A CN107766378A (zh) | 2016-08-22 | 2016-08-22 | 请求信息的发送方法及装置、分布式数据库系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610700415.9A CN107766378A (zh) | 2016-08-22 | 2016-08-22 | 请求信息的发送方法及装置、分布式数据库系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766378A true CN107766378A (zh) | 2018-03-06 |
Family
ID=61264077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610700415.9A Pending CN107766378A (zh) | 2016-08-22 | 2016-08-22 | 请求信息的发送方法及装置、分布式数据库系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766378A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427695A (zh) * | 2020-04-01 | 2020-07-17 | 山东汇贸电子口岸有限公司 | 一种分布式数据库中存储过程的并发调度装置 |
CN111597160A (zh) * | 2020-04-21 | 2020-08-28 | 中国人民财产保险股份有限公司 | 分布式数据库系统、分布式数据处理方法和装置 |
CN111654542A (zh) * | 2020-06-03 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 代理服务器、执行服务器、接收设备以及任务执行方法 |
CN112241418A (zh) * | 2019-07-17 | 2021-01-19 | 中兴通讯股份有限公司 | 分布式数据库预处理方法及代理层、系统、存储介质 |
CN112307064A (zh) * | 2020-10-29 | 2021-02-02 | 上海达梦数据库有限公司 | 一种数据管理系统、方法及存储介质 |
CN113495921A (zh) * | 2020-04-02 | 2021-10-12 | 北京京东振世信息技术有限公司 | 一种数据库集群的路由方法和装置 |
CN113535724A (zh) * | 2021-07-13 | 2021-10-22 | 蘑菇物联技术(深圳)有限公司 | 数据处理方法、装置及计算机可读存储介质 |
WO2024130795A1 (zh) * | 2022-12-19 | 2024-06-27 | 深圳计算科学研究院 | 一种基于分布式存储调用数据执行的优化方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567006A (zh) * | 2009-05-25 | 2009-10-28 | 中兴通讯股份有限公司 | 一种数据库系统及分布式sql语句执行计划重用方法 |
CN102033912A (zh) * | 2010-11-25 | 2011-04-27 | 北京北纬点易信息技术有限公司 | 一种分布式数据库访问方法及系统 |
US9083670B1 (en) * | 2011-12-05 | 2015-07-14 | Google Inc. | Notifications about users in a social network |
-
2016
- 2016-08-22 CN CN201610700415.9A patent/CN107766378A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567006A (zh) * | 2009-05-25 | 2009-10-28 | 中兴通讯股份有限公司 | 一种数据库系统及分布式sql语句执行计划重用方法 |
CN102033912A (zh) * | 2010-11-25 | 2011-04-27 | 北京北纬点易信息技术有限公司 | 一种分布式数据库访问方法及系统 |
US9083670B1 (en) * | 2011-12-05 | 2015-07-14 | Google Inc. | Notifications about users in a social network |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241418A (zh) * | 2019-07-17 | 2021-01-19 | 中兴通讯股份有限公司 | 分布式数据库预处理方法及代理层、系统、存储介质 |
CN111427695A (zh) * | 2020-04-01 | 2020-07-17 | 山东汇贸电子口岸有限公司 | 一种分布式数据库中存储过程的并发调度装置 |
CN113495921A (zh) * | 2020-04-02 | 2021-10-12 | 北京京东振世信息技术有限公司 | 一种数据库集群的路由方法和装置 |
CN113495921B (zh) * | 2020-04-02 | 2023-09-26 | 北京京东振世信息技术有限公司 | 一种数据库集群的路由方法和装置 |
CN111597160A (zh) * | 2020-04-21 | 2020-08-28 | 中国人民财产保险股份有限公司 | 分布式数据库系统、分布式数据处理方法和装置 |
CN111654542A (zh) * | 2020-06-03 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 代理服务器、执行服务器、接收设备以及任务执行方法 |
CN111654542B (zh) * | 2020-06-03 | 2023-03-31 | 支付宝(杭州)信息技术有限公司 | 代理服务器、执行服务器、接收设备以及任务执行方法 |
CN112307064A (zh) * | 2020-10-29 | 2021-02-02 | 上海达梦数据库有限公司 | 一种数据管理系统、方法及存储介质 |
CN113535724A (zh) * | 2021-07-13 | 2021-10-22 | 蘑菇物联技术(深圳)有限公司 | 数据处理方法、装置及计算机可读存储介质 |
WO2024130795A1 (zh) * | 2022-12-19 | 2024-06-27 | 深圳计算科学研究院 | 一种基于分布式存储调用数据执行的优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766378A (zh) | 请求信息的发送方法及装置、分布式数据库系统 | |
US11128465B2 (en) | Zero-knowledge identity verification in a distributed computing system | |
US10616352B2 (en) | Integrating third-party vendors' APIs | |
US11082226B2 (en) | Zero-knowledge identity verification in a distributed computing system | |
US8930409B2 (en) | System and method for supporting named operations in a distributed data grid | |
CN110188573B (zh) | 分区授权方法、装置、设备及计算机可读存储介质 | |
CN111414381B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107277086B (zh) | 业务处理系统、业务处理方法以及业务更新方法 | |
CN106712981A (zh) | 一种节点变更通知方法及装置 | |
CN113590576A (zh) | 数据库参数调整方法、装置、存储介质以及电子设备 | |
US20220345925A1 (en) | Distribution of Consolidated Analytics Reports in a Wireless Core Network | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
WO2017161989A1 (zh) | 分布式数据库预处理的方法及装置、计算机存储介质 | |
US11620395B1 (en) | Replication of account security configurations | |
EP3583766B1 (en) | Service discovery using attribute matching | |
CN107491700B (zh) | 一种数据访问方法及设备 | |
CN114969441A (zh) | 基于图数据库的知识挖掘引擎系统 | |
KR20100132752A (ko) | 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템 | |
CN112491943B (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
CN111666509A (zh) | 基于跨网络地理数据的云查询方法及系统 | |
CN115809146A (zh) | 定时任务的执行方法及其装置、电子设备 | |
EP2889789A1 (en) | Replication description model for data distribution | |
CN114610803A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
Afonso | Key-Value Storage for handling data in mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180417 Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No. Applicant after: ZTE Corporation Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68 Applicant before: Nanjing Zhongxing New Software Co., Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |