Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATABASE EXTENSION METHOD, DATABASE EXTENSION DEVICE AND DATABASE SYSTEM
Document Type and Number:
WIPO Patent Application WO/2014/063474
Kind Code:
A1
Abstract:
Proposed are a database extension method, a database extension device and a database system. The method is applied to a database system comprising a load balancer and a main database, and comprises: the load balancer creating a sub-database; and the load balancer sending a first data synchronization instruction to the main database so as to enable the main database to synchronize data stored therein to the sub-database, the main database being a database which allows a user to perform data read and write operations; the sub-database being a database which only allows a user to perform a data read operation.

Inventors:
QIN JIANXIN (CN)
Application Number:
PCT/CN2013/074296
Publication Date:
May 01, 2014
Filing Date:
April 17, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F17/30
Foreign References:
CN101119414A2008-02-06
CN101916298A2010-12-15
CN101727496A2010-06-09
CN102207937A2011-10-05
US7676516B22010-03-09
Download PDF:
Claims:
权 利 要 求 书

1、 一种数据库扩展方法, 其特征在于, 所述方法应用于 包括负载均衡器和主数据库的数据库系统, 所述方法包括: 所述负载均衡器创建子数据库; 以及

所述负载均衡器向所述主数据库发送第一数据同步指令, 以使所述主数据库将所述主数据库存储的数据同步至所述子 数据库;

其中, 所述主数据库为允许用户进行数据读写操作的数据 库; 所述子数据库为仅允许用户进行数据读操作的数据库。

2、 如权利要求 1 所迷的数据库扩展方法, 其特征在于, 还包括:

所述负载均衡器接收数据写入请求;

所述负载均衡器根据所述数据写入请求, 向所述主数据库 发送数据写入指令, 以将所请求的数据写入所述主数据库; 所述负载均衡器向所述主数据库发送第二数据同步指令,

3、 如权利要求 1 或 2所迷的数据库扩展方法, 其特征在 于, 还包括:

所述负载均衡器接收数据读取请求;

所述负载均衡器根据数据库系统访问策略, 从所述主数据 库和所述子数据库选择匹配的数据库;

所述负载均衡器向所述匹配的数据库发送数据读取指令, 以从所述匹配的数据库读取所请求的数据。

4、 如权利要求 3 所述的数据库扩展方法, 其特征在于, 所述数据库系统访问策略包括数据库系统访问负载均衡策略 和数据库系统访问速度策略中的至少一种。 5、 一种数据库扩展装置, 其特征在于, 所述数据库扩展 装置应用于包括主数据库的数据库系统, 所述数据库扩展装置 包括:

创建单元, 用于创建子数据库;

发送单元, 用于向所述主数据库发送第一数据同步指令, 以使所述主数据库将所述主数据库存储的数据同步至所述子 数据库;

其中, 所述主数据库为允许用户进行数据读写操作的数据 库; 所述子数据库为仅允许用户进行数据读操作的数据库。

6、 如权利要求 5 所述的数据库扩展装置, 其特征在于, 还包括接收单元,

所述接收单元用于接收数据写入请求; 据库发送数据写入指令, 以将所请求的数据写入所述主数据 库, 并且向所述主数据库发送第二数据同步指令, 以使所述主

7、 如权利要求 6 所述的数据库扩展装置, 其特征在于, 还包括选择单元,

所述接收单元还用于接收数据读取请求;

所述选择单元用于根据数据库系统访问策略, 从所述主数 据库和所述子数据库选择匹配的数据库;

所述发送单元还用于向所述匹配的数据库发送数据读取 指令, 以从所述匹配的数据库读取所请求的数据;

其中, 所述数据库系统访问策略包括数据库系统访问负载 均衡策略和数据库系统访问速度策略中的至少一种。

8、 一种数据库系统, 其特征在于, 包括负载均衡器和主 数据库;

所述负载均衡器创建子数据库, 并向所述主数据库发送第 一数据同步指令;

所述主数据库接收所述第一数据同步指令, 并将所述主数 据库存储的数据同步至所述子数据库;

其中, 所述主数据库为允许用户进行数据读写操作的数据 库; 所述子数据库为仅允许用户进行数据读操作的数据库。

9、 如权利要求 8所述的数据库系统, 其特征在于: 所述负载均衡器接收数据写入请求, 并根据所述数据写入 请求向所述主数据库发送数据写入指令;

所述主数据库接收所述数据写入指令, 并将所请求的数据 写入所述主数据库;

所述负载均衡器向所述主数据库发送第二数据同步指令; 以及

所述主数据库接收所述第二数据同步指令, 并将所写入的 数据同步至所述子数据库。

10、 如权利要求 8或 9所述的数据库系统, 其特征在于: 所述负载均衡器接收数据读取请求, 根据数据库系统访问 策略从所述主数据库和所述子数据库选择匹配的数据库, 并向 所述匹配的数据库发送数据读取指令;

所述匹配的数据库接收所述数据读取指令, 并根据所述数 据读取指令提供所请求的数据;

其中, 所述数据库系统访问策略包括数据库系统访问负载 均衡策略和数据库系统访问速度策略中的至少一种。

Description:
数据库扩展方法、 数据库扩展装置和数据库系统 技术领域

本发明涉及信息技术领域, 特别地, 涉及一种数据库扩展方 法、 数据库扩展装置和数据库系统。 背景技术

在数据库访问管理中, 如何根据用户访问量的变化, 灵活地 对数据库进行扩展是目前需要解决的问题。

在现有的 SharePoint等解决方案中,通过将数据库分为不 业务数据库,用户的所有读 /写请求都按照接口分层下发到特定的 数据库中, 从而达到使访问分流以均衡各数据库的负载量 的目 的。 然而这种解决方案的缺点是, 若弹性增加数据库, 会产生数 据读写不一致的问题, 因此只能基于已经设定的数据库提供服 务, 不能适应于用户访问量的增大来弹性增加数据 库, 从而不能 很好的解决分流问题。 发明内容

发明要解决的问题

有鉴于此, 本发明的目的在于提供一种能够对数据库进行 扩 展并同时可以保证数据的一致性的数据库扩展 方法、 数据库扩展 装置和数据库系统。

用于解决问题的方案

为达以上目的, 第一方面, 本发明实施例提供了一种数据库 扩展方法, 应用于包括负载均衡器和主数据库的数据库系 统, 所 述方法包括: 所述负载均衡器创建子数据库; 以及

所述负载均衡器向所述主数据库发送第一数据 同步指令, 以使所述主数据库将所述主数据库存储的数据 同步至所述子 数据库;

其中, 所述主数据库为允许用户进行数据读写操作的 数据 库; 所述子数据库为仅允许用户进行数据读操作的 数据库。

结合第一方面, 在第一种可能的实施方式中, 还包括: 所述负载均衡器接收数据写入请求;

所述负载均衡器根据所述数据写入请求, 向所述主数据库 发送数据写入指令, 以将所请求的数据写入所述主数据库; 所述负载均衡器向所述主数据库发送第二数据 同步指令, 结合第一方面或第一方面的第一种可能的实施 方式, 在第二 种可能的实施方式中, 还包括:

所述负载均衡器接收数据读取请求;

所述负载均衡器根据数据库系统访问策略, 从所述主数据 库和所述子数据库选择匹配的数据库;

所述负载均衡器向所述匹配的数据库发送数据 读取指令, 以从所述匹配的数据库读取所请求的数据。

结合第二种可能的实施方式, 在第三种可能的实施方式 中, 所述数据库系统访问策略包括数据库系统访问 负载均衡策 略和数据库系统访问速度策略中的至少一种。

第二方面, 本发明实施例提供了一种数据库扩展装置, 应用 于包括主数据库的数据库系统, 所述装置包括:

创建单元, 用于创建子数据库;

发送单元, 用于向所述主数据库发送第一数据同步指令, 以使所述主数据库将所述主数据库存储的数据 同步至所述子 数据库;

其中, 所述主数据库为允许用户进行数据读写操作的 数据 库; 所述子数据库为仅允许用户进行数据读操作的 数据库。

结合第二方面, 在第一种可能的实施方式中, 还包括接收 单元; 所述接收单元用于接收数据写入请求; 所述发送单元还 用于根据所述数据写入请求, 向所述主数据库发送数据写入指 令, 以将所请求的数据写入所述主数据库, 并且向所述主数据 库发送第二数据同步指令, 以使所述主数据库将所写入的数据 同步至所述子数据库。

结合第二方面的第一种可能的实施方式, 在第二种可能的实 施方式中, 还包括选择单元, 所述接收单元还用于接收数据读取 请求; 所述选择单元用于根据数据库系统访问策略, 从所述主数 据库和所述子数据库选择匹配的数据库;

所述发送单元还用于向所述匹配的数据库发送 数据读取指 令, 以从所述匹配的数据库读取所请求的数据; 其中, 所述数据 库系统访问策略包括数据库系统访问负载均衡 策略和数据库系 统访问速度策略中的至少一种。

第三方面, 本发明实施例提供了一种数据库系统, 包括负载 均衡器和主数据库, 其中: 所述负载均衡器创建子数据库, 并向 所述主数据库发送第一数据同步指令; 所述主数据库接收所述第 一数据同步指令, 并将所述主数据库存储的数据同步至所述子数 据库; 其中, 所述主数据库为允许用户进行数据读写操作的 数据 库; 所述子数据库为仅允许用户进行数据读操作的 数据库。

结合第三方面, 在第一种可能的实施方式中, 还包括: 所述负载均衡器接收数据写入请求, 并根据所述数据写入请 求向所述主数据库发送数据写入指令;

所述主数据库接收所述数据写入指令, 并将所请求的数据写 入所述主数据库;

所述负载均衡器向所述主数据库发送第二数据 同步指令; 以 及

所述主数据库接收所述第二数据同步指令, 并将所写入的数 据同步至所述子数据库。

结合第三方面或第三方面的第一种可能的实施 方式, 在第二 种可能的实施方式中, 还包括: 所述负载均衡器接收数据读取请 求, 根据数据库系统访问策略从所述主数据库和所 述子数据库选 择匹配的数据库, 并向所述匹配的数据库发送数据读取指令; 所 述匹配的数据库接收所述数据读取指令, 并根据所述数据读取指 令提供所请求的数据; 其中, 所述数据库系统访问策略包括数据 库系统访问负载均衡策略和数据库系统访问速 度策略中的至少 一种。

本发明实施例提供的数据库扩展方法、 装置和数据库系统, 通过创建子数据库, 向主数据库发送数据同步指令, 将主数据库 存储的数据同步到子数据库, 从而不受数据库存储内容的限制, 实现灵活的数据库扩展, 同时保证数据的一致性。

根据本发明所公开的方法和装置的其它特征和 优点将在以 下的并入本文的附图以及下文对本发明的详细 描述中呈现或予 以阐明, 附图和对本发明的详细描述共同用于解释本发 明的特定 原理。 附图说明

应理解, 附图没有必要按比例绘制, 其呈现的是对描述本发 明基本原理的各个特征的某种程度上的简化表 示。 这里公开的本 发明特定的设计特征, 包括例如特定的尺寸、 方向、 位置和形状, 部分地由具体指定的应用和使用环境确定。

图 1显示了根据本发明的一个实施例的数据库扩 方法的流 程图;

图 2显示了根据本发明的一个实施例的数据库扩 方法的写 入数据处理的流程图;

图 3显示了根据本发明的一个实施例的数据库扩 方法的读 取数据处理的流程图;

图 4显示了根据本发明的一个实施例的数据库扩 装置的结 构图;

图 5显示了根据本发明的另一个实施例的数据库 展装置的 结构图;

图 6显示了根据本发明的另一个实施例的数据库 展装置的 结构图;

图 7显示了根据本发明的一个实施例的数据库系 的结构 图。 具体实施方式

下面将详细参考本发明的各实施例, 其示例显示在附图和下 文描述中。 尽管结合示例性实施例描述了本发明, 但应该理解, 本说明书无意将本发明限制于这些示例性实施 例。 相反, 本发明 不仅覆盖这些示例性实施例, 而且也覆盖包含在由所附权利要求 书限定的本发明的实质和范围内的各种替代物 、 修改、 等价物和 其它实施例。

图 1显示了根据本发明的一个实施例的数据库扩 方法的流 程图, 在该实施例中, 该方法应用于包括负载均衡器和主数据库 的数据库系统, 并主要包括以下步骤:

5101 , 所述负载均衡器创建子数据库;

5102 , 所述负载均衡器向所述主数据库发送第一数据 同步指 令, 以使所述主数据库将所述主数据库存储的数据 同步至所述子 数据库;

其中, 所述主数据库为允许用户进行数据读写操作的 数据 库; 所述子数据库为仅允许用户进行数据读操作的 数据库。

该实施例通过创建子数据库, 向主数据库发送数据同步指 令, 将主数据库存储的数据同步到子数据库, 从而实现数据库的 扩展, 同时保证数据的一致性。

以下详细说明该实施例的各步骤的优选实施方 式。

在步骤 S 101中, 主数据库的数量可为一个或多个, 各主数据 库可仅保存特定类型的数据, 也可同时保存各种类型的数据, 因 此对数据库的访问和扩展不受数据库存储内容 的限制。 此外, 优 选在进行任意数据库扩展之前创建主数据库, 更优选在最初设计 数据库系统时就创建主数据库。

在一个优选实施例中, 在步骤 S 101中, 负载均衡器可以根据 用户对主数据库的访问量弹性创建子数据库。 例如, 当用户对主 数据库的访问量超过主数据库的负载阈值时, 负载均衡器可创建 一个或多个子数据库。

负载均衡器可通过各种方式创建子数据库, 例如: 负载均衡 器可根据访问量启用一个或多个备用数据库作 为子数据库等, 本 发明对此不作限定。

在步骤 S 102中, 所述负载均衡器向所述主数据库发送第一数 据同步指令, 以使所述主数据库将所述主数据库存储的数据 同步 至所述子数据库; 从而在数据库扩展的同时保持主数据库和子数 据库的数据一致性。

图 2显示了根据本发明的一个实施例的数据库扩 方法的写 入数据处理的流程图。 其中, 该写入数据处理包括:

5201 , 所述负载均衡器接收数据写入请求;

5202 , 所述负载均衡器根据所接收到的数据写入请求 , 向所 述主数据库发送数据写入指令, 以将所请求的数据写入所述主数 据库;

5203 , 所述负载均衡器向所述主数据库发送第二数据 同步指 令, 以使所述主数据库将所写入的数据同步至所述 子数据库。

优选地, 在主数据库为多个的情况下, 在步骤 S202中, 负载 均衡器可根据数据库系统访问策略从多个主数 据库中选择匹配 的数据库并发送数据写入指令。

图 3显示了根据本发明的一个实施例的数据库扩 方法的读 取数据处理的流程图, 在该实施例中, 该读取数据处理包括:

5301 , 所述负载均衡器接收数据读取请求;

5302 , 所述负载均衡器根据数据库系统访问策略, 从所述主 数据库和所述子数据库选择匹配的数据库;

5303 , 所述负载均衡器向所述匹配的数据库发送数据 读取指 令, 以从所述匹配的数据库读取所请求的数据。

在一个优选的实施方式中, 当接收到数据读取请求时, 所述 负载均衡器可仅从子数据库中选择匹配的数据 库, 从而实现读写 分流, 以进一步提高数据库的总体负载能力, 同时保持数据的一 致性。

优选地, 所述数据库系统访问策略包括数据库系统访问 负载 均衡策略和数据库系统访问速度策略中的至少 一种。 举例来说, 根据数据库系统负载均衡策略, 负载均衡器可基于例如弹性负载 均衡等负载均衡技术根据各数据库负载情况选 择匹配的数据库; 根据数据库系统访问速度策略, 负载均衡器可基于例如 DNS (域 名系统, Domain Name System ) 进行智能匹配, 为发送请求的用 户选择最近的数据库, 例如为电信网络用户选择匹配的电信数据 库, 等等。

优选地, 负载均衡器可支持各种协议类型, 同时支持相应的 会话保持策略和健康检查机制, 从而提供多种协议和业务支持, 可实现 Exchange, sharepoint, SAP等多种业务的负载均衡, 并广 泛应用在公有云和私有云场景中。

图 4显示了根据本发明的一个实施例的数据库扩 装置 400 的结构图, 在该实施例中, 该装置应用于包括主数据库的数据库 系统, 并主要包括:

创建单元 401 , 用于创建子数据库;

发送单元 402 , 用于向所述主数据库发送第一数据同步指令, 以使所述主数据库将所述主数据库存储的数据 同步至所述子数 据库;

其中, 所述主数据库为允许用户进行数据读写操作的 数据 库; 所述子数据库为仅允许用户进行数据读操作的 数据库。

本发明实施例提供的数据库扩展装置,可以通 过创建子数据 库, 并将主数据库数据同步到子数据库, 从而实现负载均衡。

图 5显示了根据本发明的另一个实施例的数据库 展装置 500的结构图, 该实施例的数据库扩展装置 500在图 4所示的实施 例的基础上, 还包括接收单元 403 , 用于接收数据写入请求。 并 向所述主数据库发送数据写入指令, 以将所请求的数据写入所述 主数据库, 并且向所述主数据库发送第二数据同步指令, 以使所 述主数据库将所写入的数据同步至所述子数据 库。

图 6显示了根据本发明的另一个实施例的数据库 展装置 600的结构图, 该实施例的数据库扩展装置 600在图 5所示的实施 例的基础上, 还包括选择单元 404 , 所述接收单元 403还用于接收 数据读取请求; 所述选择单元 404用于根据数据库系统访问策略, 从所述主数据库和所述子数据库选择匹配的数 据库; 所述发送单 元 402还用于向所述匹配的数据库发送数据读取指 令, 以从所述 匹配的数据库读取所请求的数据; 其中, 所述数据库系统访问策 略包括数据库系统访问负载均衡策略和数据库 系统访问速度策 略中的至少一种。

优选地, 所述选择单元 404可仅从子数据库中选择匹配的数 据库,从而实现读写分流, 以进一步提高数据库的总体负载能力, 同时保持数据的一致性。

图 7显示了根据本发明的一个实施例的一种数据 系统 700 , 包括负载均衡器 701和主数据库 702 , 其中:

所述负载均衡器 701创建子数据库 703 , 并向所述主数据库 702发送第一数据同步指令;

所述主数据库 702接收所述第一数据同步指令, 并将所述主 数据库 702存储的数据同步至所述子数据库 703;

其中, 所述主数据库 702为允许用户进行数据读写操作的数 据库; 所述子数据库 703为仅允许用户进行数据读操作的数据库。

在一个优选实施例中, 所述负载均衡器 701接收数据写入请 求, 并根据所述数据写入请求向所述主数据库 702发送数据写入 指令; 所述主数据库 702接收所述数据写入指令, 并将所请求的 数据写入所述主数据库 702 ; 所述负载均衡器 701向所述主数据库 702发送第二数据同步指令; 以及所述主数据库 702接收所述第二 数据同步指令, 并将所写入的数据同步至所述子数据库 703。

在另一优选实施例中, 所述负载均衡器 701接收数据读取请 求, 根据数据库系统访问策略从所述主数据库 702和所述子数据 库 703选择匹配的数据库, 并向所述匹配的数据库发送数据读取 指令; 所述匹配的数据库接收所述数据读取指令, 并根据所述数 据读取指令提供所请求的数据; 其中, 所述数据库系统访问策略 包括数据库系统访问负载均衡策略和数据库系 统访问速度策略 中的至少一种。

优选地, 所述负载均衡器 701可仅从子数据库 703中选择匹配 的数据库, 从而实现读写分流, 进一步提高数据库的总体负载能 力, 同时保持数据的一致性。

上文为了描绘和描述的目的, 呈现了本发明的特定示例性实 施例。 这些示例性实施例并非穷举的, 或将本发明限制为公开的 精确形式, 明显地,根据上述教示的诸多修改和变化都是 可行的。 选择并描述这些示例性实施例是为了解释本发 明的特定原理及 其实际应用, 从而使本领域技术人员制造并使用本发明的各 个示 例性实施例, 及其各种替代物和修改。 事实上本发明的范围由所 附的权利要求书及其等价物限定。

本领域普通技术人员可以意识到, 结合本文中所公开的实施 例描述的各示例的单元及算法步骤, 能够以电子硬件、 或者计算 机软件和电子硬件的结合来实现。 这些功能究竟以硬件还是软件 方式来执行, 取决于技术方案的特定应用和设计约束条件。 专业 技术人员可以对每个特定的应用来使用不同方 法来实现所描述 的功能, 但是这种实现不应认为超出本发明的范围。

所述功能如果以软件功能单元的形式实现并作 为独立的产 品销售或使用时, 可以存储在一个计算机可读取存储介质中。 基 于这样的理解, 本发明的技术方案本质上或者说对现有技术做 出 贡献的部分或者该技术方案的部分可以以软件 产品的形式体现 出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令 用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网 而前述的存储介质包括: U盘、 移动硬盘、 只读存储器 ( ROM , Read-Only Memory )、 随机存取存储器( RAM , Random Access Memory ), 磁碟或者光盘等各种可以存储程序代码的介质 。