《并行数据库管理系统及设计方案.pdf》由会员分享,可在线阅读,更多相关《并行数据库管理系统及设计方案.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104239008 A (43)申请公布日 2014.12.24 CN 104239008 A (21)申请号 201310234069.6 (22)申请日 2013.06.07 G06F 9/44(2006.01) G06F 17/30(2006.01) (71)申请人 深圳市并行科技有限公司 地址 广东省深圳市南山区仪学街三坊二巷 501 房 (72)发明人 杨姣 徐淑兰 徐国庆 (54) 发明名称 并行数据库管理系统及设计方案 (57) 摘要 并行数据库管理系统及设计方案, 包括对分 支的选择、 联合、 竞争、 同时这四种操作方式 ; 总 表执行单元通过映射方式。
2、生成和查找到子表执行 单元和子表, 最后将对虚拟的子表的操作转换为 对物理表的操作, 并汇总返回结果。本发明相比 现有的并行数据库基础上具有异构数据库集成、 运行时分支可动态增减、 分支操作方式全面、 分支 (子表)数目无上限等优点, 从而使得引擎用户可 以快速地配置并行计算, 满足了用户备份、 系统集 成、 高性能计算等方面的需求。 (51)Int.Cl. 权利要求书 1 页 说明书 3 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 附图1页 (10)申请公布号 CN 104239008 A CN 104239008 A 1/1 页。
3、 2 1. 本发明提供了一种并行数据库管理系统及方案, 其特征是 : 并行数据库拓展和兼容 多种对分支数据库表的操作方式, 总表操作 MultiDao 可以并行地操作子表。 2. 根据权利要求 1 所述的并行数据库管理系统及方案, 其特征在于 : 并行数据库通过 变量映射的方式查找和生成不同的分支, 有别于传统的通过条件判断语句或条件触发语句 查找和生成分支的方式, 因此使得系统分支可以在任何时间有任意个, 而不是只有有限个 ; 映射规则如下, 设有 i 个变量, Xi 为这些变量的集合, 分支 ( 子表 ) 名称为 Y, 那么找出 一个 Y F(Xi) 的映射, 通过计算映射将 Xi 映射到。
4、 F(Xi)。 3. 根据权利要求 1 所述的并行数据库管理系统及方案, 其特征在于 : 总表操作方式包 括读取和写入两种类型, 通过声明同时、 联合、 竞争、 选择等选择方式, 从而适应不同应用情 景下并行操作需求。 4. 根据权利要求 1 所述的并行数据库管理系统及方案, 其特征在于 : MultiDao 和 VirtualDao 可以生成或运行时获得, 因此系统容易开发简单, 效率高。 5. 根据权利要求 1 所述的并行数据库管理系统及方案, 其特征在于 : VirtualDao 屏蔽 了 PhysicalDao 的差异, 使得系统可以在运行时自动增加分支 ( 子表 ) 及对分支的操作。。
5、 权 利 要 求 书 CN 104239008 A 2 1/3 页 3 并行数据库管理系统及设计方案 技术领域 0001 本发明涉及计算机软件开发领域, 应用于系统集成、 分布式数据库和高性能计算 等方面。具体地, 设计方案通过 VirtualDao 封装具体的 Dao, 形成对单表操作的一致化 ; 通 过 MultiDao 并行地操纵多个 VirtualDao, 实现对多表多库的灵活操作 ; 在 MultiDao 中声 明对分支的选择方式, 及 ID 和虚表名的生成和查找方式, 以提供对并行计算的有效支持。 背景技术 0002 并行数据库是数据库技术和并行计算结合的产物, 是具有并行计算能力。
6、的数据库 系统。 0003 并行数据库通过多个节点并行处理数据库任务, 从而提高数据库系统运行性能和 可用性。 0004 现有的并行数据库技术缺乏对业务需求的多样性的理解, 缺乏对业务配置支撑的 灵活性, 尤其无法突破对数据库分支(子表)的个数限制, 因而使得并行数据库难以使用和 推广。 0005 为了填补了并行数据库在灵活配置和对多种业务兼容等方面的空白, 本发明实现 了总表操作单元对子表操作单元的操作方式的设置, 以及总表根据条件向子表进行映射, 从而使得总表下可以有任意多个子表。 发明内容 0006 发明人使用 MultiDao 表示对总表的执行, VirtualDao 表示对子表 ( 。
7、分支 ) 的执 行, VirtualTable 表示子表, PhysicalDao 表示物理上的对子表的执行单元。 0007 并行数据库管理系统使用了三层体系结构 : 第一层是多表并行层, 通过 MultiDao 通过多个 VirtualDao 操作子表, 实现多表并行计算 ; 第二层是单表集成层, 通过将异构的 各类数据库 Dao 封装在相同的 VirtualDao, 从而实现对 VirtualTable 虚拟表的计算, 达到 对数据源和数据类型的统一透明处理 ; 第三层通过统一的 PhysicalDao, 实现对物理的表 的计算, 具体的表可能分布在不同的数据库介质里面。 0008 发明者。
8、认为 : 对并行数据库的操作方式有两种 : 读取和写入 ( 包括增删改 )。数据 读取包括联合、 选择、 竞争等分支选择方式 : 联合读取就是从一系列子表中读取数据, 最后 拼装成结果集 ; 选择就是假设各个子表数据是一样的, MultiDao 从子表中 ( 随机 ) 选择一 个子表读取结果集 ; 竞争就是假设各个子表数据是一样的, MultiDao 从各个子表读取, 但 是只取最快的那份, 其余的丢弃。数据集写入包括联合、 同时等分支选择方式 : 联合就是将 数据按照规则拆散放到各个分支中, 每个分支得到的是不完整的数据, 但是所有分支数据 的总和是完整数据 ; 同时就是将数据集不拆散, 完。
9、整的保存到各个分支中。 0009 特 定 的 VirtualDao 可 以 对 相 应 的 某 些 特 定 VirtualTable 进 行 操 作, VirtualTable 就是一个虚拟的子表, 表名由 MultiDao 传入的参数映射获得。映射规则是, 设有 i 个变量, Xi 为这些变量的集合, VirtualTable 的名称为 F(Xi), 那么找出一个 说 明 书 CN 104239008 A 3 2/3 页 4 F(Xi), 通过 F(Xi) 可以通过逆映射获得 Xi 中的所需要部分或全部。本并行数据库 设计方案是通过变量映射规则而不是通过条件判断选择分支, 从而获得对多种数据。
10、读写方 式的支持, 这是本发明的特征。 0010 本发明中, MultiDao 是通过模板配置的, 它可以以 “标准” 方式调用 VirtualDao, 而 VirtualDao 将虚拟表 VirtualTable 解释为不同的物理的表, 然后调用 PhysicalDao 执 行对物理的表的操作。 附图说明 0011 图 1 是对并行数据库管理系统层次结构的解释。MultiDao 可以将操作分配到 相应的 VirtualDao, 分配的依据是, MultiDao 所操作的记录根据存取条件按规则映射到 VirtualDao 所对应的 VirtualTable。我们注意到, 第二层有 Virtua。
11、lDao1 和 VirtualDao1 的副本, 这样写只是为了表示 VirtualTable1 和 VirtualTable2 结构一样, 而 VirtualDao2 对应的 VirtualTable3 结构则与前两个表不一样, 可能是同一个类的子类 ; 所有物理的操 作都放到第三层。VirtualDao 调用 PhysicalDao, VirtualTable 解释为 PhysicalTable。 具体实施方式 本发明使用但不限于以下技术手段 : 0012 该并行数据库管理系统的实现有以下步骤 : 1 通过模板生成或通过元模式运行时获得 MultiDao, 系统将 VirtualDao 注。
12、册到 MultiDao 上, 任意的 VirtualTable 都对应且只对应一个 VirtualDao。VirtualDao 也可以 通过模板或元模式自动生成。 , 2. 系统通过使用但不限于数据库或配置文件等方式, 配置 VirtualTable 和 PhysicalTable 之间的一一对应关系。 3. 应用程序调用 MultiDao 并使用一种选择方式映射到子表及对子表的操作 VirtualDao。 4. 系统通过步骤 2 配置的对应关系将 VirtualDao 操作转化成实际的对物理数据库的 操作 PhysicalDao。 5. 如果是更新操作, 则失败后由 MultiDao 回退操。
13、作。 6.MultiDao 获得各个子操作的结果, 汇总处理并返回给应用程序。 0013 下面结合具体的应用场景, 进一步阐明本发明, 本发明可以应用于但不限于以下 情形 : 0014 假设应用系统需要访问两个数据库, 这两个数据库数据完全一样, 一个用来备份, 一个用来做正常业务访问 ; 两个数据库只有地址不一样。 对于任何一个总表, 开发者可按照如下步骤开发和配置 : 1. 系统根据子表结构生成或配置各个子表的虚表 ; 2. 编写系统子表的 PhysicalDao ; 3. 编写系统子表的 VirtualDao, 并将 PhysicalDao 注册到 VirtualDao ; 4. 配置对。
14、总表的并行结构的执行单元 MultiDao, MultiDao 读取方式为选择, 用于对两 个数据库中的子表进行选择性的读取操作 ( 读其中一个子表 ) ; 说 明 书 CN 104239008 A 4 3/3 页 5 5. 配置 MultiDao 写入方式为同时, 用于对两个数据库中的子表进行选择性的写入操 作 ( 同时将数据两个库的子表 ) 6. 配置 MultiDao 的映射方式, 以获得相应的 VirtualTable 和 VirtualDao。 0020 用户管理系统, 拥有不同类型的用户, 每种用户一个表, 用户系统可以根据需要访 问其中的一个表, 也可以访问所有表。 开发者可按照。
15、如下步骤开发和配置 : 1. 系统根据子表结构生成或配置各个用户子表的虚表 ; 2. 编写系统子表的 PhysicalDao, 系统可以通过不同的 PhysicalDao 访问单个的子 表 ; 3. 编写系统子表的 VirtualDao, 并将 PhysicalDao 注册到 VirtualDao ; 4. 配置对总表的并行结构的执行单元 MultiDao, MultiDao 读取方式为联合, 用于对各 个子表 ( 可能为不同数据库 ) 进行同时读取操作 ; 5. 配置 MultiDao 写入方式为联合, 用于将对数据的修改映射到相应的子表进行写入 操作, 比如客户和管理员的数据类型和存储的表是不同的, 对客户类型的数据的修改操作 应该映射到对客户表的修改操作, 对管理员类型的数据的修改操作应该映射到对管理员表 的修改操作 ; 6. 配置 MultiDao 的映射方式, 以获得相应的 VirtualTable 和 VirtualDao。 说 明 书 CN 104239008 A 5 1/1 页 6 图 1 说 明 书 附 图 CN 104239008 A 6 。