(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211146494.5
(22)申请日 2022.09.20
(71)申请人 金蝶软件 (中国) 有限公司
地址 518000 广东省深圳市南 山区科技园
科技南十二路2号金蝶软件园A座1-8
层
(72)发明人 郭会波 黄银池 郑政芳
(74)专利代理 机构 华进联合专利商标代理有限
公司 44224
专利代理师 胡淑梅
(51)Int.Cl.
G06F 16/27(2019.01)
G06F 16/2453(2019.01)
G06F 16/2455(2019.01)
G06F 16/248(2019.01)
(54)发明名称
跨库数据查询方法、 装置、 计算机设备和存
储介质
(57)摘要
本申请涉及一种跨库数据查询方法、 装置、
计算机设备和存储介质。 该方法包括: 确定基于
跨库查询语句构建的数据库查询树; 数据库查询
树中各节点代表的子语句分别用于从不同数据
库中查询数据; 从数据库查询树中的次根节点起
向下遍历节 点以进行向下推送; 在向下推送完成
后, 从叶子节 点起向上遍历除根节 点之外的各节
点以进行向上推送; 在向上推送完成后, 基于各
已执行的节点的查询结果确定根节点的查询条
件; 基于预设查询数据量和根节 点的查询条件执
行根节点的子语句, 得到根节点对应的查询结
果, 以从根节点开始向下遍历节点进行向下推
送; 根据各节点的查询结果, 生成符合预设查询
数据量的目标查询结果。 采用本方法能够提高查
询效率。
权利要求书3页 说明书15页 附图6页
CN 115221249 A
2022.10.21
CN 115221249 A
1.一种跨库数据查询方法, 其特 征在于, 所述方法包括:
确定基于跨库查询语句 构建的数据库查询树; 所述数据库查询树中各节点分别代表所
述跨库查询语句的子语句; 各 所述子语句分别用于从不同数据库中查询数据;
从所述数据库查询树中的次根节点起向下遍历节点以进行向下推送; 所述向下推送,
是指针对当前遍历 至的有查询条件且未执行的第一节点, 在执行所述第一节点的子语句得
到的查询结果满足预设推送条件的情况下, 将所述第一节点的查询结果作为相应子节点的
查询条件向所述子节点推送; 所述第一节点的查询结果是通过执行所述第一节点的子语
句, 从相应数据库中查询到的数据;
在向下推送完成后, 从叶子节点起向上遍历除根节点之外的各节点以进行向上推送;
所述向上推送, 是在当前遍历 至且未执行的第二节点的子节点的查询结果满足所述预设推
送条件的情况下, 将所述第二节点的子节点的查询结果作为查询条件向所述第二节点推
送, 并执行所述第二节点对应的子语句得到相应查询结果;
在向上推送完成后, 基于各已执 行的节点的查询结果确定根节点的查询条件;
基于预设查询数据量和所述根节点的查询条件执行所述根节点的子语句, 得到所述根
节点对应的、 且符合所述预设查询数据量的查询结果, 以从所述根节点开始向下遍历节点
进行向下推送;
根据各节点的查询结果, 生成符合所述预设查询数据量的目标查询结果。
2.根据权利要求1所述的方法, 其特征在于, 在所述确定基于跨库查询语句构建的数据
库查询树之前, 所述方法还 包括:
确定跨库查询语句中指定的预设查询数据量;
所述确定基于跨库查询语句构建的数据库查询树包括:
将所述跨库查询语句中各 数据库对应的查询语句进行拆分, 得到多个子语句;
将各所述子语句分别作为节点, 并根据各所述子语句所查询的数据表的引用对象之间
的聚合关系确定各节点间的连接关系, 生成数据库查询树。
3.根据权利要求1所述的方法, 其特征在于, 所述从所述数据库查询树中的次根节点起
向下遍历节点以进行向下推送包括:
将所述数据库查询树中的次根节点作为当前遍历至的第一节点;
识别所述第一节点是否有查询条件以及是否已执 行;
若所述第一节点有查询条件且未执行, 则执行所述第一节点的子语句得到查询结果,
在所述第一节点的查询结果满足预设推送条件的情况下, 将所述第一节点的查询结果作为
相应子节点的查询条件向所述子节点推送, 并将相应子节点作为 新的第一节点;
若所述第一节点没有查询条件或已执 行, 则将相应子节点作为 新的第一节点;
返回执行所述识别所述第一节点是否有查询条件以及是否已执 行及后续 步骤。
4.根据权利要求1所述的方法, 其特征在于, 所述在 向下推送完成后, 从叶子节点起向
上遍历除根节点之外的各节点以进行向上推送包括:
将叶子节点作为当前遍历至的第二节点;
识别所述第二节点是否已执 行;
若所述第二节点未执行, 则在相应子节点的查询结果满足所述预设推送条件的情况
下, 将相应子节点的查询结果作为查询条件向所述第二节点推送, 并执行所述第二节点对权 利 要 求 书 1/3 页
2
CN 115221249 A
2应的子语句得到相应查询结果, 将相应父节点作为 新的第二节点;
若所述第二节点已执 行, 则将相应父节点作为 新的第二节点;
返回执行所述识别所述第二节点是否已执 行及后续 步骤。
5.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
在向上推送完成后, 若已执行的节点的数量和未执行且没有查询条件的节点的数量之
和符合所述数据库查询树中除根节点之外的节点的数量, 则
执行所述基于预设查询数据量和所述根节点的查询条件执行所述根节点的子语句, 得
到所述根节点对应的、 且符合所述预设查询数据量的查询结果, 以从所述根节点开始向下
遍历节点进行向下推送及后续 步骤。
6.根据权利要求1所述的方法, 其特征在于, 在所述在 向下推送完成后, 从叶子节点起
向上遍历除根节点之外的各节点以进行向上推送之后, 所述方法还 包括:
在完成第一轮向下推送和向上推送的基础上, 从所述数据库查询树中的次根节点起向
下遍历节点以进行向下推送, 并在向下推送完成后, 从 叶子节点起向上遍历除根节点之外
的各节点以进行向上推送, 以进行第二轮向下推送和向上推送;
所述在向上推送完成后, 基于各已执行的节点的查询结果确定根节点的查询条件包
括:
在完成第二轮向上推送后, 基于各已执 行的节点的查询结果确定根节点的查询条件。
7.根据权利要求6所述的方法, 其特 征在于, 第二轮向上推送包括如下步骤:
从叶子节点起向上遍历除根节点之外的各节点以进行向上推送, 并对当前遍历至且在
本轮向上推送中仍未 执行的节点添加标记;
所述在向上推送完成后, 基于各已执行的节点的查询结果确定根节点的查询条件包
括:
在第二轮向上推送完成后, 基于各已执 行的节点的查询结果确定根节点的查询条件;
若被添加标记的节点的数量和已执行的节点的数量之和符合所述数据库查询树中除
根节点外的节点数量, 则执行所述基于预设查询数据量和所述根节点的查询条件执行所述
根节点的子语句, 得到所述根节点对应的、 且符合所述预设查询数据量的查询结果, 以从所
述根节点开始向下遍历节点进行向下推送及后续 步骤。
8.一种跨库数据查询装置, 其特 征在于, 所述装置包括:
数据库查询树确定模块, 用于确定基于跨库查询语句构建的数据库查询树; 所述数据
库查询树中各节点分别代表所述跨库查询语句的子语句; 各所述子语句分别用于从不同数
据库中查询数据;
下推模块, 用于从所述数据库查询树中的次根节点起向下遍历节点以进行向下推送;
所述向下推送, 是指针对当前遍历至的有查询条件且未执行 的第一节点, 在执行所述第一
节点的子语句得到的查询结果满足预设推送条件的情况下, 将所述第一节点的查询结果作
为相应子节点的查询条件向所述子节点推送; 所述第一节点的查询结果是通过执行所述第
一节点的子语句, 从相应数据库中查询到的数据;
上推模块, 用于在 向下推送完成后, 从叶子节点起向上遍历除根节点之外的各节点以
进行向上推送; 所述向上推送, 是在当前遍历至且未执行 的第二节点的子节点的查询结果
满足所述预设推送条件的情况下, 将所述第二节 点的子节点的查询结果作为查询条件向所权 利 要 求 书 2/3 页
3
CN 115221249 A
3
专利 跨库数据查询方法、装置、计算机设备和存储介质
文档预览
中文文档
25 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共25页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 00:51:00上传分享