[发明专利]一种基于OLTP-OLAP混合关系型数据库系统内部的数据实时同步方法有效
申请号: | 201710600452.7 | 申请日: | 2017-07-21 |
公开(公告)号: | CN107423390B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 陈大伟;韩欣;谢赟 | 申请(专利权)人: | 上海德拓信息技术股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242 |
代理公司: | 上海宣宜专利代理事务所(普通合伙) 31288 | 代理人: | 刘君 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 oltp olap 混合 关系 数据库 系统 内部 数据 实时 同步 方法 | ||
1.一种基于OLTP-OLAP混合关系型数据库系统内部的数据实时同步方法,其特征在于:包括以下步骤:
步骤(1):混合数据库系统通过标准JDBC/ODBC访问接口访问该系统
步骤(2):请求先经过SQL解析层,先后通过data dict cache进行初步的语句合法性检查和语言含义合法性检查,如没通过直接返回相应错误;一旦通过合法性检查和权限检查,进入到SQL分类识别层:属于select查询分析类还是modify类;modify类包括insert类SQL、update类SQL、delete类SQL;
步骤(3):如果是Select查询分析类SQL,该SQL通过解析层后会直接转发至系统中OLAP分析库模块的执行层,直接根据OLAP数据库进行MPP分布式查询,等查询结果汇总后直接回传;
步骤(4):如果检测到是insert类SQL,SQL层会先对原QL进行修饰话字段的去处、简化;然后针对影响的结果临时子集进行内存级别copy,生成两个SQL,原SQL会发往OLTP业务数据库,而简化SQL会发往OLAP分析数据库;
步骤(5):update类SQL、delete类SQL同步骤(4)逻辑;
步骤(6):数据库返回结果会等待业务数据库和分析数据库两条SQL都执行后的结果通知进行汇总,如两条SQL都执行成功则返回成功信息;如有任一系统SQL执行异常,将会通知另一个成功系统进行业务回滚,保证业务和数据一致性;如全部失败,则会整合失败信息,都返回给上层。
2.根据权利要求1所述的一种基于OLTP-OLAP混合关系型数据库系统内部的数据实时同步方法,其特征在于:步骤(4)中当数据库检测到insert类需求时,SQL解析层会将该SQL定性为modify类SQL,即会对先数据库系统中数据产生变化类的请求,此时SQL在数据最佳执行计划时对where筛选条件字段进行过滤,去掉order by返回结果规范化字段,继而对影响的数据字段进行抽取,最终再将insert行为字段进行合并,得到一个只影响数据的最简SQL,继而原SQL继续到达业务数据库的SQL执行层,得到的最简SQL会转发至OLAP层的SQL执行层,继而在修改业务数据库数据的同时修改分析库。
3.根据权利要求1所述的一种基于OLTP-OLAP混合关系型数据库系统内部的数据实时同步方法,其特征在于:步骤(2)中modify类SQL执行时存在OLTP和OLAP两个系统同时执行SQL计划的现象,此时涉及到业务的一个汇总和整体数据一致性问题;在业务系统库执行成功时会返回一个success标记到达结果返回层,而OLAP层执行成功时也会返回相同标记,结果返回层会汇总两条执行总线的双成功标记才会返回上层SQL执行成功,有任何一个返回失败标记则通知另一体统进行业务回滚,同时返回具体错误信息给上层,从而达到业务一致性和数据一致性效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海德拓信息技术股份有限公司,未经上海德拓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710600452.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种画面可换新型装饰画
- 下一篇:古壁画摹制法绘制框架