[发明专利]一种实时数据库跨库SQL交互方法和系统有效
申请号: | 202010473224.X | 申请日: | 2020-05-29 |
公开(公告)号: | CN111752959B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 孙超;史豪杰;翟桂锋;陆鑫;顾全 | 申请(专利权)人: | 南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/242;G06F16/2453;G06Q50/06 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 张倩倩 |
地址: | 211102 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 数据库 sql 交互 方法 系统 | ||
1.一种实时数据库跨库SQL交互方法,其特征是,包括:
以设定的时间间隔获取和更新多个实时数据库的元数据信息;
响应于外部SQL访问请求,对SQL访问请求进行解析,得到所有SQL操作及其所涉及的实时数据库;
根据SQL操作所涉及的实时数据库,将SQL操作分为分别对应单个实时数据库的单库SQL执行序列;
分别对所涉及的各实时数据库执行相应单库SQL执行序列中的SQL操作,得到SQL执行结果数据;
基于所述SQL执行结果数据,根据相应实时数据库的当前元数据信息,构造包括全部SQL操作的执行结果信息的结果数据集;
将结果数据集返回至外部SQL访问请求方;
其中,所述对SQL访问请求进行解析,包括:
进行SQL语法解析,形成语义树;
根据语义树判断SQL访问请求是否为涉及多个实时数据库的跨库请求:若为跨库请求,则扫描语义树,按照实时数据库名将涉及不同实时数据库的SQL操作进行分类,得到分别对应单个实时数据库的单库SQL操作语句;若非跨库请求,则所有SQL操作直接作为单库SQL操作语句。
2.根据权利要求1所述的方法,其特征是,所述元数据信息包括实时数据库的表结构、域数据类型、表间关系。
3.根据权利要求1或2所述的方法,其特征是,方法还包括:构建实时数据库列表,根据各实时数据库的元数据更新结果和更新时间,确定实时数据库列表中各实时数据库的数据更新标志;
获取和更新多个实时数据库的元数据信息包括:
查询实时数据库列表中各实时数据库的数据更新标志,链接未获取元数据信息的实时数据库,以获取相应实时数据库的元数据信息;
响应于元数据信息获取不成功,标记相应实时数据库的数据更新标志为未获取元数据;
响应于元数据信息获取成功,更新实时数据库的元数据信息至元数据缓存;
响应于元数据信息更新成功,更新实时数据库列表中相应实时数据库的数据更新状态为已获取元数据,并根据更新时间置时标;
响应于元数据信息更新不成功,更新相应实时数据库的数据更新标志为未获取元数据;
以设定的轮询间隔周期轮询实时数据库列表,检查是否存在超时未更新元数据信息的实时数据库,若存在则更新相应实时数据库的数据更新标志为未获取元数据;
所述超时未更新元数据信息的实时数据库为:时标对应的更新时间与当前时间之间的间隔大于轮询间隔周期的实时数据库。
4.根据权利要求1所述的方法,其特征是,将SQL操作分为分别对应单个实时数据库的单库SQL执行序列为:按照语义树的逻辑层次关系确定涉及相同实时数据库的SQL操作的执行顺序,形成分别对应单个实时数据库的单库SQL执行序列;
分别对所涉及的实时数据库执行相应单库SQL执行序列中的SQL操作,包括:
根据语义树确定存在依赖关系的SQL操作,形成依赖关系列表;
将相互间不存在依赖关系的SQL操作作为可并行的SQL操作,形成单库SQL并行任务列表;
按照依赖关系列表以及单库SQL并行任务列表执行各单库SQL操作,得到相应的SQL执行结果。
5.根据权利要求4所述的方法,其特征是,按照依赖关系列表以及单库SQL并行任务列表执行各单库SQL操作为:为各可并行执行的单库SQL操作实例化一单库SQL执行容器,同时按照依赖关系列表确定相应单库SQL操作的执行顺序;
单库SQL操作执行完毕后,退出相应单库SQL执行容器的运行,收回相应的运行资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司,未经南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010473224.X/1.html,转载请声明来源钻瓜专利网。