跨数据库查询方法、装置、设备、介质和计算机程序产品制造方法及图纸

技术编号:38581942 阅读:7 留言:0更新日期:2023-08-26 23:26
本发明专利技术涉及大数据技术领域,特别涉及跨数据库查询方法,用于包括多个数据库的系统,该方法包括:接收用户的查询请求;进行单数据库查询;判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于关联数据进行后序单数据库查询,如果没有,则合并所有单数据库基于查询结果确定分页,判断是否有下一页数据,如果有,则基于分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。本发明专利技术还涉及跨数据库查询装置、设备、介质和计算机程序产品。介质和计算机程序产品。介质和计算机程序产品。

【技术实现步骤摘要】
跨数据库查询方法、装置、设备、介质和计算机程序产品


[0001]本专利技术涉及大数据
,特别涉及跨数据库查询方法、装置、设备、介质和计算机程序产品。

技术介绍

[0002]软件测试人员在进行测试之前都需要消耗很长时间去准备数据,面对金融领域的业务系统往往都是一个庞大复杂的系统网络,测试数据的准备工作成了一项难度大、门槛高的工作:一个测试案例所需数据往往涉及众多上游系统,并且链路长,涉及到的组件和系统繁多;测试环境的数据在不同业务组件库,脏数据和无效数据干扰大,难以获取到完整的有效数据;目前存数据库查询有效数据是准备测试数据重要手段之一,但是需要遍历海量数据去筛选出完整可用的数据,耗时长,效率低。

技术实现思路

[0003]本专利技术的目的在于提供跨数据库查询方法、装置、设备、介质和计算机程序产品,解决现有技术中跨数据库查询资源占用大,耗时长,效率低的技术问题。
[0004]本专利技术的第一实施方式公开了一种跨数据库查询方法,用于包括多个数据库的系统,所述方法包括:
[0005]接收用户的查询请求;
[0006]进行单数据库查询;
[0007]判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;
[0008]基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。
[0009]可选地,所述基于查询结果确定分页,还包括:
[0010]根据所述多个数据库的字段和索引特性,分析所述查询结果的结构特性,以提取多个特征字段;
[0011]将所述多个特征字段组合成数据健值;
[0012]基于所述数据健值,对所述多个数据库进行条件过滤。
[0013]可选地,所述判断是否有后序单数据库查询,还包括:
[0014]判断是否查询到数据,如果是,则判断是否有后序单数据库查询,如果否,则结束跨数据库查询。
[0015]可选地,所述结束跨数据库查询,还包括:
[0016]判断是否有前序单数据库查询,如果有,则返回前序单数据库查询,如果没有,则结束跨数据库查询。
[0017]可选地,所述基于查询结果确定分页,判断是否有下一页数据,包括:
[0018]判断是否查询到足够的数据,如果是,则结束跨数据库查询,如果否,则基于查询结果确定分页,判断是否有下一页数据。
[0019]可选地,还包括:
[0020]基于所述多个数据库中各个数据库的查询效率,优化对所述多个数据库的查询顺序。
[0021]可选地,还包括:
[0022]所述结束跨数据库查询还包括:记录当前的查询位置后结束跨数据库查询;
[0023]下一次进行跨数据库查询时,从记录的所述查询位置开始查询。
[0024]本专利技术的第二实施方式公开了一种跨数据库查询装置,用于包括多个数据库的系统,所述装置包括:
[0025]接收模块,接收用户的查询请求;
[0026]查询模块,进行单数据库查询;
[0027]跨库模块,判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;
[0028]分页模块,基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。
[0029]本专利技术的第三实施方式公开了一种电子设备,所述电子设备包括存储有计算机可执行指令的存储器和处理器,当所述指令被所述处理器执行时,使得所述电子设备实施根据本专利技术的第一实施方式的跨数据库查询方法。
[0030]本专利技术的第四实施方式公开了一种计算机存储介质,在所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行根据本专利技术的第一实施方式的跨数据库查询方法。
[0031]本专利技术的第五实施方式公开了一种计算机程序产品,包括计算机可执行指令,所述指令被处理器执行以实施根据本专利技术的第一实施方式的跨数据库查询方法。
[0032]本专利技术实施方式与现有技术相比,主要区别及其效果在于:
[0033]在本专利技术中,跨库查询采用分批(分页)查询,循环迭代分步查询实现跨库查询,少量多次查询避免了大查询的超时问题。并且实时输出单页查询结果,数据结果保存到数据集,便于随时了解查询进度及结果。
[0034]在本专利技术中,基于多个数据库中各个数据库的查询效率,自动优化对多个数据库的查询顺序,提高了跨数据库查询效率。
[0035]在本专利技术中,查询过程中动态提取特征字段组合形成数据健值用于过滤条件,将分页转换为条件过滤来代替常规分页,实现了数据库和代码双重过滤,更好地利用索引,有效避免分页性能问题,提高了分页效率。
[0036]在本专利技术中,再次执行查询任务时,自动定位上次查询任务结束时的查询位置继续查询,跳过重复数据查询,避免每次执行查询任务时都需要从头查询。
附图说明
[0037]图1示出根据本申请的实施例的包括多个数据库的系统的示例性框图。
[0038]图2示出根据本申请的实施例的跨数据库查询方法的流程图。
[0039]图3示出基于图2所示的实施例的跨数据库查询方法改进的优选实施例的流程图。
[0040]图4示出根据本申请的实施例的通过配置和执行查询任务实施跨数据库查询方法的流程图。
[0041]图5示出根据本申请的实施例的查询模板的示意图。
[0042]图6示出根据本申请的实施例的跨数据库查询装置的框图。
[0043]图7示出根据本申请的实施例的电子设备的硬件结构框图。
具体实施方式
[0044]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
[0045]软件研发测试阶段需要用到大量的测试数据,尤其在金融领域,业务系统众多,数据依赖十分复杂,测试数据的获取往往是一项非常具有挑战的工作。从现有系统查询存量数据用于测试是数据准备的常用手段之一,然而单次测试活动所需测试数据往往分布在众多业务系统数据库中,需要进行跨数据库联合查询才能得到有效的测试数据。而现有技术需要手动去各个数据库分开查询,跨数据库关联操作复杂,以及需要遍历海量数据搜索相关联的数据,资源占用大,耗时长,效率低;在大批量分页数据查询中,传统分页对于尾部数据、大页码数据的查询性能低;并且多次执行查询任务时存在重复查询的问题。
[0046]针对上述技术问题,本申请的实施例提供了一种跨数据库查询方法,用于包括多个数据库的系统,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。图1示出了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨数据库查询方法,用于包括多个数据库的系统,其特征在于,所述方法包括:接收用户的查询请求;进行单数据库查询;判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。2.根据权利要求1所述的方法,其特征在于,所述基于查询结果确定分页,还包括:根据所述多个数据库的字段和索引特性,分析所述查询结果的结构特性,以提取多个特征字段;将所述多个特征字段组合成数据健值;基于所述数据健值,对所述多个数据库进行条件过滤。3.根据权利要求1所述的方法,其特征在于,所述判断是否有后序单数据库查询,还包括:判断是否查询到数据,如果是,则判断是否有后序单数据库查询,如果否,则结束跨数据库查询。4.根据权利要求3所述的方法,其特征在于,所述结束跨数据库查询,还包括:判断是否有前序单数据库查询,如果有,则返回前序单数据库查询,如果没有,则结束跨数据库查询。5.根据权利要求1所述的方法,其特征在于,所述基于查询结果确定分页,判断是否有下一页数据,包括:判断是否查询到足够的数据,如果是,则结束跨数据库查询,如果否,则基于查询结果确定分页,判断是否有下一页数据。6.根据权利要求1所述的方法,其特征在于,还包括:基于所述多个数据库中各个数据库...

【专利技术属性】
技术研发人员:黄治军张同虎郭晓骞
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1