CN108153759B - 一种分布式数据库的数据传输方法、中间层服务器及系统 - Google Patents

一种分布式数据库的数据传输方法、中间层服务器及系统 Download PDF

Info

Publication number
CN108153759B
CN108153759B CN201611102927.1A CN201611102927A CN108153759B CN 108153759 B CN108153759 B CN 108153759B CN 201611102927 A CN201611102927 A CN 201611102927A CN 108153759 B CN108153759 B CN 108153759B
Authority
CN
China
Prior art keywords
data
database
server
nodes
data blocks
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
Application number
CN201611102927.1A
Other languages
English (en)
Other versions
CN108153759A (zh
Inventor
郭远胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Henan Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Henan Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Henan Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201611102927.1A priority Critical patent/CN108153759B/zh
Publication of CN108153759A publication Critical patent/CN108153759A/zh
Application granted granted Critical
Publication of CN108153759B publication Critical patent/CN108153759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Abstract

本发明提供了一种分布式数据库数据传输方法、中间层服务器及系统。该分布式数据库数据传输方法包括:接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;将所述N个数据块发送至服务器集群中的N个数据库实例中;更新全局系统表,所述全局系统表中包括各个数据库实例与数据节点的对应关系。本发明实施例通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。

Description

一种分布式数据库的数据传输方法、中间层服务器及系统
技术领域
本发明涉及数据库技术领域,具体涉及一种分布式数据库的数据传输方法、中间层服务器及系统。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,一个技术框架固定、数据库架构稳定的业务系统,其运行性能的好坏绝大部分取决于数据库的性能变化。
Oracle的真正应用集群(Oracle Real Application Cluster,RAC)是典型的shared disk结构,如图1所示,基于shared disk结构的RAC架构包括依次相连的客户端11、服务器集群12和磁盘阵列13。服务器集群12是建立在一个共享的磁盘阵列13之上的,服务器集群12的服务器节点之间采用高速网络互连。服务器集群12中任何一个服务器节点的故障都不会影响客户端进行正常的数据传输,之前连接在故障服务器节点上的请求会被自动转移到正常服务器节点,实现了实例级的高可用。
然而,目前对基于shared disk结构的RAC没有良好的分布式改造方案,存在着较多技术难题。第一,现有的RAC改造成本大:现有的RAC架构数据库为共享式磁盘阵列,若将现有RAC架构数据库直接替换为分布式数据库,对于应用程序的改造较大,成本较高;第二,现有的RAC性能无法线性扩展:现有的RAC在计算层面采用多服务器节点的方式,但是磁盘阵列仍然是一个共享架构,因此这种架构的数据库存在可扩展性的限制,对于大数据量、高并发的场景有一定的局限性,数据集中存放时,对于资源配置要求较高,扩展时会增加磁盘的竞争,为了保证数据的一致性,需要消耗很多额外的资源,获得的扩展能力和增加的资源不成正比,不能实现线性扩展;第三,现有的RAC服务器集群的服务器间易产生竞争:随着服务器节点数的不断增加,服务器节点间通信的成本也会随之增加,通信开销会严重影响服务器集群的处理能力,当到达某个限度时,增加服务器节点可能不会再带来性能上的提高,甚至可能造成性能下降。
发明内容
本发明实施例提供一种分布式数据库的数据传输方法、中间层服务器及系统,用于解决现有的RAC改造成本大的问题。
本发明实施例提供了一种分布式数据库的数据传输方法,包括:
接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;
根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;
将所述N个数据块发送至服务器集群中的N个数据库实例中;
更新全局系统表,所述全局系统表中包括各个数据库实例与数据节点的对应关系;
其中,N为大于等于1的整数;每个数据块中包括至少一个数据节点。
可选地,所述全局系统表中还包括数据节点之间的关联关系;所述方法还包括:
根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目;
将所述N个数据块的副本数据块发送至服务器集群中。
可选地,所述根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目,包括:
根据如下公式获取所述N个数据块对应的副本数据块的数目:
Figure GDA0002993261120000031
其中,
Figure GDA0002993261120000032
为每个数据块对应的副本数据块的数目,每个数据块对应的副本数据块的数目小于等于
Figure GDA0002993261120000033
V为数据块中数据节点的集合,|V|为数据块中数据节点的个数,v为数据块中的数据节点,|A(v)|为数据节点v的副本数目;p为所述数据块实例的数目;D|v|为分布式数据库中与数据节点v相关联的数据节点的数目。
可选地,所述方法还包括:
接收所述客户端发送的数据查询请求;
根据所述全局系统表将所述数据查询请求转发至相应的数据库实例上;
接收所述数据库实例返回的数据,并将所述数据库实例返回的数据发送至所述客户端。
本发明实施例提供了一种中间层服务器,包括:
数据插入请求接收单元,用于接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;
分割单元,用于根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;
数据块发送单元,用于将所述N个数据块发送至服务器集群中的N个数据库实例中;
更新单元,用于更新全局系统表,所述全局系统表中包括各个数据库实例与数据节点的对应关系;
其中,N为大于等于1的整数;每个数据块中包括至少一个数据节点。
可选地,所述全局系统表中还包括数据节点之间的关联关系;
还包括:
副本数据块数目获取单元,用于根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目;
副本数据库发送单元,用于将所述N个数据块的副本数据块发送至服务器集群中。
可选地,所述副本数据块数目获取单元进一步用于:
根据如下公式获取所述N个数据块对应的副本数据块的数目:
Figure GDA0002993261120000041
其中,
Figure GDA0002993261120000042
为每个数据块对应的副本数据块的数目,每个数据块对应的副本数据块的数目小于等于
Figure GDA0002993261120000043
V为数据块中数据节点的集合,|V|为数据块中数据节点的个数,v为数据块中的数据节点,|A(v)|为数据节点v的副本数目;p为所述数据块实例的数目;D|v|为分布式数据库中与数据节点v相关联的数据节点的数目。
可选地,还包括:
数据查询请求接收单元,用于接收所述客户端发送的数据查询请求;
转发单元,用于根据所述全局系统表将所述数据查询请求转发至相应的数据库实例上;
数据发送单元,用于接收所述数据库实例返回的数据,并将所述数据库实例返回的数据发送至所述客户端。
本发明实施例提供一种分布式数据库系统,包括:
服务器集群、磁盘阵列和上述的中间层服务器;
所述中间层服务器、所述服务器集群和所述磁盘阵列依次相连;
所述服务器集群中包括多个服务器节点,每个服务器节点运行一个数据库实例;
所述中间层服务器中保存有全局系统表,所述全局系统表包括各个数据库实例与数据节点的对应关系;
所述中间层服务器用于控制客户端与所述数据库实例之间的数据传输。
可选地,所述磁盘阵列包括多个磁盘,每个磁盘中保存有多个数据节点,每个磁盘对应一个服务器节点。
本发明实施例提供的分布式数据库的数据传输方法、中间层服务器及系统,接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;将所述N个数据块发送至服务器集群中的N个数据库实例中;更新全局系统表,所述全局系统表中包括各个数据库实例与数据节点的对应关系。本发明实施例通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的真正应用集群RAC数据库的架构图;
图2是本发明一个实施例的分布式数据库系统的数据传输方法的流程示意图;
图3是本发明一个实施例的中间层服务器的结构示意图;
图4本发明一个实施例的分布式数据库系统的结构示意图;
图5是本发明一个实施例的中间层服务器的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是本发明一个实施例的分布式数据库系统的数据传输方法的流程示意图。如图2所示,本发明实施例的方法以中间层服务器为执行主体,包括:
S21:接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;
需要说明的是,当用户需要对数据库插入新的数据时,在客户端触发数据插入请求,客户端将用户触发的数据插入请求发送至中间层服务器。
S22:根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;
S23:将所述N个数据块发送至服务器集群中的N个数据库实例中;
需要说明的是,本发明实施例的中间层服务器在接收到输入插入请求时,对待插入的数据进行分割,将待插入的数据尽量均匀的分发至数据库实例中。N为大于等于1的整数;每个数据块中包括至少一个数据节点。
举例来说,待插入的数据中包括9条数据,分布式数据库系统中包括9个服务器节点,每个服务器节点对应一个数据库实例,即包括9个数据库实例。中间层服务器将9条数据分割为9个数据块,每个数据块中包括一个数据节点,将9个数据块分别发送至9个数据库实例中。
S24:更新全局系统表;
可理解的是,本发明实施例中的全局系统表中保存了各个数据库实例与数据节点的对应关系,在执行数据插入请求或者数据删除请求后均需要对全局系统表进行更新。
本发明实施例提供的分布式数据库系统的数据传输方法,通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。
进一步地,所述全局系统表中还包括数据节点之间的关联关系;所述方法还包括:
根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目;
将所述N个数据块的副本数据块发送至服务器集群中。
需要说明的是,本发明实施例为了提高分布式数据库的数据安全性,对同一个数据块要进行冗余存储。数据块冗余存储的副本数据块的数目是根据数据节点之间的关联关系确定的。
举例来说,全局系统表中保存的数据节点之间的关联关系为QQ好友之间的联系。当一个数据节点保存人员A的数据时,人员A有a个QQ好友,则与该数据节点有关联的数据节点便有a个。
具体地,所述根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目,包括:
根据如下公式获取所述N个数据块对应的副本数据块的数目:
Figure GDA0002993261120000071
其中,
Figure GDA0002993261120000081
为每个数据块对应的副本数据块的数目,每个数据块对应的副本数据块的数目小于等于
Figure GDA0002993261120000082
V为数据块中数据节点的集合,|V|为数据块中数据节点的个数,v为数据块中的数据节点,|A(v)|为数据节点v的副本数目;p为所述数据块实例的数目;D|v|为分布式数据库中与数据节点v相关联的数据节点的数目。
举例来说,数据块实例的数目p=9,数据块中包括一个数据节点v。假设数据节点v和其他数据节点没有任何联系,则D|v|=0
那么根据公式(1)可以得到,该数据块的副本数据块的数目为0。
假设数据节点v与其他1个数据节点相关联,则D|v|=1
那么根据公式(1)可以得到,该数据块的副本数据块的数目为1。
可理解的是,本发明实施例为了减小服务器节点之间的通信开销,尽量将具有关联关系的数据节点保存在同一个数据库实例中。同时,为了避免存储空间的浪费,对每个数据库的副本数据块的数目设置上限,即每个数据块对应的副本数据块的数目小于等于
Figure GDA0002993261120000083
进一步地,所述方法还包括:
接收所述客户端发送的数据查询请求;
根据所述全局系统表将所述数据查询请求转发至相应的数据库实例上;
接收所述数据库实例返回的数据,并将所述数据库实例返回的数据发送至所述客户端。
本发明实施例提供的分布式数据库系统的数据传输方法通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。在对数据节点进行冗余存储时,尽量将具有关联关系的数据节点保存在同一个数据库实例中,减小了服务器节点之间的通信开销,提高了服务器集群的数据处理效率。
图3是本发明一个实施例的中间层服务器的结构示意图。如图3所示,本发明实施例的中间层服务器包括数据插入请求接收单元31、分割单元32、数据块发送单元33和更新单元34,具体地:
数据插入请求接收单元31,用于接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;
分割单元32,用于根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;
数据块发送单元33,用于将所述N个数据块发送至服务器集群中的N个数据库实例中;
更新单元34,用于更新全局系统表,,所述全局系统表中包括各个数据库实例与数据节点的对应关系;
其中,N为大于等于1的整数;每个数据块中包括至少一个数据节点。
本发明实施例提供的中间层服务器,通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。
可选地,所述全局系统表中还包括数据节点之间的关联关系;
该中间层服务器还包括:
副本数据块数目获取单元,用于根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目;
副本数据库发送单元,用于将所述N个数据块的副本数据块发送至服务器集群中。
所述副本数据块数目获取单元进一步用于:
根据如下公式获取所述N个数据块对应的副本数据块的数目:
Figure GDA0002993261120000101
其中,
Figure GDA0002993261120000102
为每个数据块对应的副本数据块的数目,每个数据块对应的副本数据块的数目小于等于
Figure GDA0002993261120000103
V为数据块中数据节点的集合,|V|为数据块中数据节点的个数,v为数据块中的数据节点,|A(v)|为数据节点v的副本数目;p为所述数据块实例的数目;D|v|为分布式数据库中与数据节点v相关联的数据节点的数目。
可选地,该中间层服务器还包括:
数据查询请求接收单元,用于接收所述客户端发送的数据查询请求;
转发单元,用于根据所述全局系统表将所述数据查询请求转发至相应的数据库实例上;
数据发送单元,用于接收所述数据库实例返回的数据,并将所述数据库实例返回的数据发送至所述客户端。
本发明实施例的中间层服务器可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
图4本发明一个实施例的分布式数据库系统的结构示意图。如图4所示,本发明实施例的分布式数据库系统包括:
服务器集群43、磁盘阵列44和上述实施例的中间层服务器42;
中间层服务器42、服务器集群43和磁盘阵列44依次相连;
服务器集群43中包括多个服务器节点431,每个服务器节点431运行一个数据库实例;
中间层服务器42中保存有全局系统表,所述全局系统表包括各个数据库实例与数据节点的对应关系;
需要说明的是,本发明实施例的中间层服务器42不存储数据节点,但保存有数据库实例与数据节点的对应关系,当中间层服务器42接收到客户端41的数据查询请求或者数据删除请求时,可以从服务器集群43中确定相应的数据库实例对数据查询请求或者数据删除请求进行响应。
中间层服务器42用于控制客户端41与所述数据库实例之间的数据传输。
本发明实施例的分布式数据库系统,通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。
进一步地,磁盘阵列44包括多个磁盘441,每个磁盘441中保存有多个数据节点,每个磁盘441对应一个服务器节点431。
需要说明的是,本发明实施例将现有的RAC中共享式磁盘阵列中的数据分散存储到多个磁盘上,获取更大的存储容量和更高的并发访问量,在增加服务器节点时性能基本可以实现线性扩展。
图5为本发明实施例的中间层服务器的实体结构示意图。
参照图5,中间层服务器包括:处理器(processor)51、存储器(memory)52、和总线53;其中,
处理器51和存储器52通过总线53完成相互间的通信;
处理器51用于调用存储器52中的程序指令,以执行上述各方法实施例所提供的分布式数据库系统的数据传输方法。
此外,上述的存储器52中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的分布式数据库系统的数据传输方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的分布式数据库系统的数据传输方法。
本发明实施例提供的分布式数据库的数据传输方法、中间层服务器及系统,通过在客户端与数据库实例之间设置中间层服务器,客户端通过所述中间层服务器与所述服务器集群中的数据库实例进行数据传输,对于应用来说是透明的,应用无需改造即可通过中间层服务器实现数据的分布式传输,对RAC改造的成本较低。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种分布式数据库的数据传输方法,其特征在于,包括:
接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;
根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;
将所述N个数据块发送至服务器集群中的N个数据库实例中;
更新全局系统表,所述全局系统表中包括各个数据库实例与数据节点的对应关系;
其中,N为大于等于1的整数;每个数据块中包括至少一个数据节点;
所述全局系统表中还包括数据节点之间的关联关系;所述方法还包括:
根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目;
将所述N个数据块的副本数据块发送至服务器集群中;
所述根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目,包括:
根据如下公式获取所述N个数据块对应的副本数据块的数目:
Figure FDA0002993261110000011
其中,
Figure FDA0002993261110000012
为每个数据块对应的副本数据块的数目,每个数据块对应的副本数据块的数目小于等于
Figure FDA0002993261110000013
V为数据块中数据节点的集合,|V|为数据块中数据节点的个数,v为数据块中的数据节点,|A(v)|为数据节点v的副本数目;p为所述数据块实例的数目;D|v|为分布式数据库中与数据节点v相关联的数据节点的数目。
2.根据权利要求1所述的分布式数据库的数据传输方法,其特征在于,所述方法还包括:
接收所述客户端发送的数据查询请求;
根据所述全局系统表将所述数据查询请求转发至相应的数据库实例上;
接收所述数据库实例返回的数据,并将所述数据库实例返回的数据发送至所述客户端。
3.一种中间层服务器,其特征在于,包括:
数据插入请求接收单元,用于接收客户端发送的数据插入请求,所述数据插入请求中包括待插入的数据;
分割单元,用于根据分布式数据库系统中服务器集群的数据库实例的数目对待插入的数据进行分割,获得N个数据块;
数据块发送单元,用于将所述N个数据块发送至服务器集群中的N个数据库实例中;
更新单元,用于更新全局系统表,所述全局系统表中包括各个数据库实例与数据节点的对应关系;
其中,N为大于等于1的整数;每个数据块中包括至少一个数据节点;
所述全局系统表中还包括数据节点之间的关联关系;
还包括:
副本数据块数目获取单元,用于根据所述数据节点之间的关联关系获取所述N个数据块对应的副本数据块的数目;
副本数据库发送单元,用于将所述N个数据块的副本数据块发送至服务器集群中;
所述副本数据块数目获取单元进一步用于:
根据如下公式获取所述N个数据块对应的副本数据块的数目:
Figure FDA0002993261110000021
其中,
Figure FDA0002993261110000031
为每个数据块对应的副本数据块的数目,每个数据块对应的副本数据块的数目小于等于
Figure FDA0002993261110000032
V为数据块中数据节点的集合,|V|为数据块中数据节点的个数,v为数据块中的数据节点,|A(v)|为数据节点v的副本数目;p为所述数据块实例的数目;D|v|为分布式数据库中与数据节点v相关联的数据节点的数目。
4.根据权利要求3所述的中间层服务器,其特征在于,还包括:
数据查询请求接收单元,用于接收所述客户端发送的数据查询请求;
转发单元,用于根据所述全局系统表将所述数据查询请求转发至相应的数据库实例上;
数据发送单元,用于接收所述数据库实例返回的数据,并将所述数据库实例返回的数据发送至所述客户端。
5.一种分布式数据库系统,其特征在于,包括:
服务器集群、磁盘阵列和权利要求3-4任一项所述的中间层服务器;
所述中间层服务器、所述服务器集群和所述磁盘阵列依次相连;
所述服务器集群中包括多个服务器节点,每个服务器节点运行一个数据库实例;
所述中间层服务器中保存有全局系统表,所述全局系统表包括各个数据库实例与数据节点的对应关系;
所述中间层服务器用于控制客户端与所述数据库实例之间的数据传输。
6.根据权利要求5所述的系统,其特征在于,所述磁盘阵列包括多个磁盘,每个磁盘中保存有多个数据节点,每个磁盘对应一个服务器节点。
CN201611102927.1A 2016-12-05 2016-12-05 一种分布式数据库的数据传输方法、中间层服务器及系统 Active CN108153759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611102927.1A CN108153759B (zh) 2016-12-05 2016-12-05 一种分布式数据库的数据传输方法、中间层服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611102927.1A CN108153759B (zh) 2016-12-05 2016-12-05 一种分布式数据库的数据传输方法、中间层服务器及系统

Publications (2)

Publication Number Publication Date
CN108153759A CN108153759A (zh) 2018-06-12
CN108153759B true CN108153759B (zh) 2021-07-09

Family

ID=62469720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611102927.1A Active CN108153759B (zh) 2016-12-05 2016-12-05 一种分布式数据库的数据传输方法、中间层服务器及系统

Country Status (1)

Country Link
CN (1) CN108153759B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109088947A (zh) * 2018-09-29 2018-12-25 北京奇虎科技有限公司 基于分层传输的数据分发系统、方法及服务器
CN111291124A (zh) * 2020-02-12 2020-06-16 杭州涂鸦信息技术有限公司 一种数据存储方法及其系统和设备
CN111367884A (zh) * 2020-02-26 2020-07-03 卓望数码技术(深圳)有限公司 分片数据库路由方法、系统、设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
CN101471845A (zh) * 2007-12-27 2009-07-01 中国移动通信集团公司 数据块副本数量调整方法及元数据服务器节点
CN101505500A (zh) * 2009-03-11 2009-08-12 中国移动通信集团公司 一种负载均衡设备以及分布式基站系统及其通信方法
CN102118433A (zh) * 2010-12-27 2011-07-06 网宿科技股份有限公司 多层次的分布式集群系统
CN102663117A (zh) * 2012-04-18 2012-09-12 中国人民大学 面向数据库与Hadoop混合平台的OLAP查询处理方法
CN102724103A (zh) * 2011-03-30 2012-10-10 国际商业机器公司 代理服务器、分层次网络系统及分布式工作负载管理方法
CN102937918A (zh) * 2012-10-16 2013-02-20 西安交通大学 一种hdfs运行时数据块平衡方法
CN103188161A (zh) * 2011-12-30 2013-07-03 中国移动通信集团公司 分布式数据加载调度方法与系统
CN103207867A (zh) * 2012-01-16 2013-07-17 联想(北京)有限公司 处理数据块的方法、发起恢复操作的方法和节点
CN103312825A (zh) * 2013-07-10 2013-09-18 中国人民解放军国防科学技术大学 一种数据分布存储方法和装置
CN103425756A (zh) * 2013-07-31 2013-12-04 西安交通大学 一种hdfs中数据块的副本管理策略
CN105052110A (zh) * 2013-12-27 2015-11-11 华为技术有限公司 一种Hadoop集群中数据备份的方法、设备及系统
CN105516313A (zh) * 2015-12-10 2016-04-20 国网四川省电力公司信息通信公司 一种用于大数据的分布式存储系统
CN106066890A (zh) * 2016-06-16 2016-11-02 上海天玑科技股份有限公司 一种分布式高性能数据库一体机系统
CN106095977A (zh) * 2016-06-20 2016-11-09 环球大数据科技有限公司 一种数据库的分布式处理方法及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
CN101471845A (zh) * 2007-12-27 2009-07-01 中国移动通信集团公司 数据块副本数量调整方法及元数据服务器节点
CN101505500A (zh) * 2009-03-11 2009-08-12 中国移动通信集团公司 一种负载均衡设备以及分布式基站系统及其通信方法
CN102118433A (zh) * 2010-12-27 2011-07-06 网宿科技股份有限公司 多层次的分布式集群系统
CN102724103A (zh) * 2011-03-30 2012-10-10 国际商业机器公司 代理服务器、分层次网络系统及分布式工作负载管理方法
CN103188161A (zh) * 2011-12-30 2013-07-03 中国移动通信集团公司 分布式数据加载调度方法与系统
CN103207867A (zh) * 2012-01-16 2013-07-17 联想(北京)有限公司 处理数据块的方法、发起恢复操作的方法和节点
CN102663117A (zh) * 2012-04-18 2012-09-12 中国人民大学 面向数据库与Hadoop混合平台的OLAP查询处理方法
CN102937918A (zh) * 2012-10-16 2013-02-20 西安交通大学 一种hdfs运行时数据块平衡方法
CN103312825A (zh) * 2013-07-10 2013-09-18 中国人民解放军国防科学技术大学 一种数据分布存储方法和装置
CN103425756A (zh) * 2013-07-31 2013-12-04 西安交通大学 一种hdfs中数据块的副本管理策略
CN105052110A (zh) * 2013-12-27 2015-11-11 华为技术有限公司 一种Hadoop集群中数据备份的方法、设备及系统
CN105516313A (zh) * 2015-12-10 2016-04-20 国网四川省电力公司信息通信公司 一种用于大数据的分布式存储系统
CN106066890A (zh) * 2016-06-16 2016-11-02 上海天玑科技股份有限公司 一种分布式高性能数据库一体机系统
CN106095977A (zh) * 2016-06-20 2016-11-09 环球大数据科技有限公司 一种数据库的分布式处理方法及系统

Also Published As

Publication number Publication date
CN108153759A (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
US10726144B1 (en) Token-based storage service
US10685041B2 (en) Database system, computer program product, and data processing method
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
US20170249246A1 (en) Deduplication and garbage collection across logical databases
US20130132408A1 (en) System and Method for Using Bloom Filters to Determine Data Locations in Distributed Data Stores
US10157214B1 (en) Process for data migration between document stores
US20230244694A1 (en) Database system, computer program product, and data processing method
US20110153570A1 (en) Data replication and recovery method in asymmetric clustered distributed file system
US10356150B1 (en) Automated repartitioning of streaming data
US11321283B2 (en) Table and index communications channels
CN110633378A (zh) 一种支持超大规模关系网络的图数据库构建方法
CN104407879A (zh) 一种电网时序大数据并行加载方法
US10515228B2 (en) Commit and rollback of data streams provided by partially trusted entities
CN108153759B (zh) 一种分布式数据库的数据传输方法、中间层服务器及系统
CN105069151A (zh) HBase二级索引构建装置和方法
US10437797B1 (en) In-memory distributed database with a remote data store
CN104539583A (zh) 一种实时数据库订阅系统及方法
CN111159140B (zh) 数据处理方法、装置、电子设备及存储介质
Arrieta-Salinas et al. Classic replication techniques on the cloud
US10102228B1 (en) Table and index communications channels
CN109992575B (zh) 大数据的分布式存储系统
Mo et al. Asynchronous index strategy for high performance real-time big data stream storage
US9460126B1 (en) Rotational maintenance of database partitions
US9996573B1 (en) Distributed system capacity dial-up
KR101654969B1 (ko) 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치

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