基于bs结构的多分布式数据源管理方法及系统的制作方法_2

文档序号:9727450阅读:来源:国知局
图3可知,图1所示的步骤102进一步包括:
[0070]步骤1021,检查执行数据库操作程序所在代码包;
[0071 ] 步骤1022,在默认数据源第一管理表(tm_datasource)中查询代码包对应中心数据源;
[0072]其中,默认数据源就是系统启动时读取的基本配置的数据源。
[0073]步骤1023,判断代码包对应中心数据源是否存在?如果存在,执行步骤1029,如果不存在,执行步骤1024;
[0074]步骤1024,检查执行数据库操作涉及到的数据表;
[0075]步骤1025,在默认数据源第二管理表(tm_datatable)中查询数据表对应数据源;
[0076]步骤1026,判断数据表对应数据源是否存在?如果存在,执行步骤1027,如果不存在,执行步骤1028;
[0077]步骤1027,切换到数据表对应第二数据源(数据源B),结束;
[0078]步骤1028,使用默认数据源,结束;
[0079]步骤1029,切换到代码包对应第一数据源(数据源A);
[0080]步骤1030,检查执行数据库操作涉及到的数据表;
[0081 ] 步骤1031,在第一数据源(数据源A)对应的第二管理表(tm_datatable)中查询数据表对应数据源;
[0082]步骤1032,判断数据表对应数据源是否存在?如果存在,执行步骤1033,如果不存在,执行步骤1034;
[0083]步骤1033,切换到对应第三数据源(数据源C),结束;
[0084]步骤1034,使用第一数据源(数据源A),结束。
[0085]参照图4所示,为本发明的基于BS结构的多分布式数据源管理系统结构示意图。所述系统包括:
[0086]存储模块401,用于将数据源与代码包对应关系存储于第一管理表中,和/或将数据表与数据源对应关系存储于第二管理表中;
[0087]查找模块402,用于执行数据库操作,检查执行数据库操作所涉及的代码包和/或数据表,根据所述代码包和/或所述数据表,在第一管理表和第二管理表中查找到对应数据源;
[0088]处理模块403,用于对所述数据源进行操作。
[0089]在本发明的一个优选实施例中,所述系统还包括:
[0090]修改模块404,用于接收对于数据源本身的调整或者数据源与代码包对应关系的调整,或者接收数据表与数据源的对应关系的调整,根据所述调整修改所述第一管理表或者第二管理表的对应内容。
[0091]在本发明的一个优选实施例中,所述查找模块402,进一步包括:
[0092]第一检查模块4021,用于检查执行数据库操作程序所在代码包;在默认数据源第一管理表中查询代码包对应中心数据源,或者在默认数据源第二管理表中查询数据表对应数据源;
[0093]第一判断模块4022,用于判断代码包对应中心数据源是否存在,或者数据表对应数据源是否存在;
[0094]第一切换模块4023,用于当代码包或者数据表对应数据源存在,切换到代码包对应第一数据源,或者切换到数据表对应第二数据源;如果不存在对应数据源,使用默认数据源。
[0095]在本发明的一个优选实施例中,所述查找模块402,进一步包括:
[0096]第二检查模块4024,用于检查执行数据库操作涉及到的数据表;在第一数据源对应的第二管理表中查询数据表对应数据源;
[0097]第二判断模块4025,判断数据表对应数据源是否存在;
[0098]第二切换模块4026,用于当数据表对应数据源存在,切换到对应第三数据源,如果不存在,使用第一数据源。
[0099]下面对本发明在具体应用中的实现过程进行详细说明:
[0100]第一步:系统规划及代码分包:
[0101]根据分布式系统规划,明确每个系统主要的管理表,对代码进行相应的分包处理,不同代码包对应不同的分布式系统中心数据源;
[0102]第二步:数据源与代码包关系配置调整;
[0103]如果数据源需要进行相应的调整,这个调整主要是指数据源本身的调整和数据源与包对应关系的调整,数据源本身的调整如:数据源从服务器1迀移至服务器2;数据源与包对应关系的调整如:数据源1原先映射com.hh.a这个包,调整至com.hh.b这个包)需要将数据源和代码包的关系进行对应的配置调整,调整后系统会自动将数据源和代码包关系进行映射;
[0104]第三步:数据源与数据表关系配置调整:
[0105]如果数据表的归属数据源需要进行相应的调整,数据表与数据源的对应关系存储在包对应的中心数据源的第二管理表(tm_datatable)表中,此表中存储了数据表与数据源的对应关系,此表也可以不配置任何关系,这样的话意味着从代码包对应的中心数据源获取数据。当需要将数据源和数据表的关系进行对应的配置调整,调整后系统会自动将数据源和数据表关系进行映射;
[0106]可见,如果系统数据源与数据表关系需要进行调整,只需要在系统界面上修改数据源和数据表的对应关系即可;如果分布式系统的中心数据源(管理表)进行调整,只需要在系统界面上修改数据源和代码包的对应关系即可。
[0107]本发明的关键点是将数据源与数据表之间的关系、数据源与代码包的映射关系结合在一起,并将其关系在数据库中进行映射,使得系统在分布式数据源管理中完全依赖于配置关系,不需要修改代码结构和映射算法。
[0108]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于BS结构的多分布式数据源管理方法,其特征在于,所述方法包括以下步骤: 将数据源与代码包对应关系存储于第一管理表中,和/或将数据表与数据源对应关系存储于第二管理表中; 执行数据库操作,检查执行数据库操作所涉及的代码包和/或数据表,根据所述代码包和/或所述数据表,在第一管理表和第二管理表中查找到对应数据源; 对所述数据源进行操作。2.如权利要求1所述的方法,其特征在于,所述方法还包括以下步骤: 接收对于数据源本身的调整或者数据源与代码包对应关系的调整,或者接收数据表与数据源对应关系的调整,根据所述调整修改所述第一管理表或者第二管理表的对应内容。3.如权利要求1所述的方法,其特征在于,所述在第一管理表和第二管理表中查找到对应数据源的步骤,进一步包括: 检查执行数据库操作程序所在代码包; 在默认数据源第一管理表中查询代码包对应中心数据源; 判断代码包对应中心数据源是否存在,如果存在,切换到代码包对应第一数据源,如果不存在,在默认数据源第二管理表中查询数据表对应数据源; 判断数据表对应数据源是否存在,如果存在,切换到数据表对应第二数据源,结束;如果不存在,使用默认数据源,结束。4.如权利要求3所述的方法,其特征在于,所述切换到代码包对应第一数据源的步骤,进一步包括: 检查执行数据库操作涉及到的数据表; 在第一数据源对应的第二管理表中查询数据表对应数据源; 判断数据表对应数据源是否存在,如果存在,切换到对应第三数据源,结束;如果不存在,使用第一数据源,结束。5.一种基于BS结构的多分布式数据源管理系统,其特征在于,所述系统包括: 存储模块,用于将数据源与代码包对应关系存储于第一管理表中,和/或将数据表与数据源对应关系存储于第二管理表中; 查找模块,用于执行数据库操作,检查执行数据库操作所涉及的代码包和/或数据表,根据所述代码包和/或所述数据表,在第一管理表和第二管理表中查找到对应数据源; 处理模块,用于对所述数据源进行操作。6.如权利要求5所述的系统,其特征在于,所述系统还包括: 修改模块,用于接收对于数据源本身的调整或者数据源与代码包对应关系的调整,或者接收数据表与数据源的对应关系的调整,根据所述调整修改所述第一管理表或者第二管理表的对应内容。7.如权利要求5所述的系统,其特征在于,所述查找模块,进一步包括: 第一检查模块,用于检查执行数据库操作程序所在代码包;在默认数据源第一管理表中查询代码包对应中心数据源,或者在默认数据源第二管理表中查询数据表对应数据源;第一判断模块,用于判断代码包对应中心数据源是否存在,或者数据表对应数据源是否存在; 第一切换模块,用于当代码包或者数据表对应数据源存在,切换到代码包对应第一数据源,或者切换到数据表对应第二数据源;如果不存在对应数据源,使用默认数据源。8.如权利要求7所述的系统,其特征在于,所述查找模块,进一步包括: 第二检查模块,用于检查执行数据库操作涉及到的数据表;在第一数据源对应的第二管理表中查询数据表对应数据源; 第二判断模块,判断数据表对应数据源是否存在; 第二切换模块,用于当数据表对应数据源存在,切换到对应第三数据源,如果不存在,使用第一数据源。
【专利摘要】本发明提供了一种基于BS结构的多分布式数据源管理方法及系统,所述方法包括以下步骤:将数据源与代码包对应关系存储于第一管理表中,和/或将数据表与数据源对应关系存储于第二管理表中;执行数据库操作,检查执行数据库操作所涉及的代码包和/或数据表,根据所述代码包和/或所述数据表,在第一管理表和第二管理表中查找到对应数据源;对所述数据源进行操作。本发明不需要依赖于固定的HASH算法,可以避免因算法缺陷导致的BUG;在数据源对应关系做调整时,不需要对代码进行修改,只需要修改数据源与数据表、数据源和代码包之间的关系即可,维护起来更加方便。本发明可以快捷、方便的实现对数据源管理。
【IPC分类】G06F17/30
【公开号】CN105488174
【申请号】CN201510861212
【发明人】邵珠光, 齐凯, 韩伟, 王秀斌, 刘军
【申请人】北京浩瀚深度信息技术股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月1日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1