跨数据库查询方法、装置、设备、介质和计算机程序产品与流程

未命名 08-26 阅读:123 评论:0


1.本发明涉及大数据技术领域,特别涉及跨数据库查询方法、装置、设备、介质和计算机程序产品。


背景技术:

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


技术实现要素:

3.本发明的目的在于提供跨数据库查询方法、装置、设备、介质和计算机程序产品,解决现有技术中跨数据库查询资源占用大,耗时长,效率低的技术问题。
4.本发明的第一实施方式公开了一种跨数据库查询方法,用于包括多个数据库的系统,所述方法包括:
5.接收用户的查询请求;
6.进行单数据库查询;
7.判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;
8.基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。
9.可选地,所述基于查询结果确定分页,还包括:
10.根据所述多个数据库的字段和索引特性,分析所述查询结果的结构特性,以提取多个特征字段;
11.将所述多个特征字段组合成数据健值;
12.基于所述数据健值,对所述多个数据库进行条件过滤。
13.可选地,所述判断是否有后序单数据库查询,还包括:
14.判断是否查询到数据,如果是,则判断是否有后序单数据库查询,如果否,则结束跨数据库查询。
15.可选地,所述结束跨数据库查询,还包括:
16.判断是否有前序单数据库查询,如果有,则返回前序单数据库查询,如果没有,则结束跨数据库查询。
17.可选地,所述基于查询结果确定分页,判断是否有下一页数据,包括:
18.判断是否查询到足够的数据,如果是,则结束跨数据库查询,如果否,则基于查询结果确定分页,判断是否有下一页数据。
19.可选地,还包括:
20.基于所述多个数据库中各个数据库的查询效率,优化对所述多个数据库的查询顺序。
21.可选地,还包括:
22.所述结束跨数据库查询还包括:记录当前的查询位置后结束跨数据库查询;
23.下一次进行跨数据库查询时,从记录的所述查询位置开始查询。
24.本发明的第二实施方式公开了一种跨数据库查询装置,用于包括多个数据库的系统,所述装置包括:
25.接收模块,接收用户的查询请求;
26.查询模块,进行单数据库查询;
27.跨库模块,判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;
28.分页模块,基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。
29.本发明的第三实施方式公开了一种电子设备,所述电子设备包括存储有计算机可执行指令的存储器和处理器,当所述指令被所述处理器执行时,使得所述电子设备实施根据本发明的第一实施方式的跨数据库查询方法。
30.本发明的第四实施方式公开了一种计算机存储介质,在所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行根据本发明的第一实施方式的跨数据库查询方法。
31.本发明的第五实施方式公开了一种计算机程序产品,包括计算机可执行指令,所述指令被处理器执行以实施根据本发明的第一实施方式的跨数据库查询方法。
32.本发明实施方式与现有技术相比,主要区别及其效果在于:
33.在本发明中,跨库查询采用分批(分页)查询,循环迭代分步查询实现跨库查询,少量多次查询避免了大查询的超时问题。并且实时输出单页查询结果,数据结果保存到数据集,便于随时了解查询进度及结果。
34.在本发明中,基于多个数据库中各个数据库的查询效率,自动优化对多个数据库的查询顺序,提高了跨数据库查询效率。
35.在本发明中,查询过程中动态提取特征字段组合形成数据健值用于过滤条件,将分页转换为条件过滤来代替常规分页,实现了数据库和代码双重过滤,更好地利用索引,有效避免分页性能问题,提高了分页效率。
36.在本发明中,再次执行查询任务时,自动定位上次查询任务结束时的查询位置继续查询,跳过重复数据查询,避免每次执行查询任务时都需要从头查询。
附图说明
37.图1示出根据本技术的实施例的包括多个数据库的系统的示例性框图。
38.图2示出根据本技术的实施例的跨数据库查询方法的流程图。
39.图3示出基于图2所示的实施例的跨数据库查询方法改进的优选实施例的流程图。
40.图4示出根据本技术的实施例的通过配置和执行查询任务实施跨数据库查询方法的流程图。
41.图5示出根据本技术的实施例的查询模板的示意图。
42.图6示出根据本技术的实施例的跨数据库查询装置的框图。
43.图7示出根据本技术的实施例的电子设备的硬件结构框图。
具体实施方式
44.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
45.软件研发测试阶段需要用到大量的测试数据,尤其在金融领域,业务系统众多,数据依赖十分复杂,测试数据的获取往往是一项非常具有挑战的工作。从现有系统查询存量数据用于测试是数据准备的常用手段之一,然而单次测试活动所需测试数据往往分布在众多业务系统数据库中,需要进行跨数据库联合查询才能得到有效的测试数据。而现有技术需要手动去各个数据库分开查询,跨数据库关联操作复杂,以及需要遍历海量数据搜索相关联的数据,资源占用大,耗时长,效率低;在大批量分页数据查询中,传统分页对于尾部数据、大页码数据的查询性能低;并且多次执行查询任务时存在重复查询的问题。
46.针对上述技术问题,本技术的实施例提供了一种跨数据库查询方法,用于包括多个数据库的系统,本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。图1示出了根据本技术的实施例的包括多个数据库的系统的示例性框图,图2示出了根据本技术的实施例的跨数据库查询方法的流程图,下面结合图1和图2对该跨数据库查询方法进行描述。
47.如图1所示,系统100包括数据库101、数据库102和数据库103。如图2所示,跨数据库查询方法包括:
48.s201,接收用户的查询请求;例如,金融领域的软件测试人员发送数据查询请求,从系统100中获取数据集a、数据集b和数据集c,其中数据集a存储在数据库101、数据集b存储在数据库102、数据集c存储在数据库103。
49.s202,进行单数据库查询;例如,响应于接收到的上述查询请求,先从数据库102中查询属于数据集b的第一页的数据b1。
50.s203,判断是否有后序单数据库查询;
51.s204,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于该关联数据,返回s202进行后序单数据库查询;例如,从数据库102中查询到属于数据集b的第一页的数据b1后,判断属于数据集a和数据集c的第一页的数据还未查询,并且其中,根据已配置的查询顺序,在查询数据库102后查询数据库103,查询数据库103后查询数据库101,则从数据b1中提取关联数据,然后基于该关联数据从后序的数据库103中查询属于数据集c的第一页的数据c1。
52.s205,如果没有,则合并所有单数据库查询结果,并向用户返回合并的单数据库查询结果;例如,在查询到数据b1、数据c1和属于数据集a的第一页的数据a1后,则第一页的数
据都已查询到,对于第一页数据,不再有后序单数据库查询,则将查询到的数据b1、数据c1和数据a1过滤并合并为第一页结果数据集p1,将第一页结果数据集p1返回给上述软件测试人员。
53.s206,基于查询结果确定分页,判断是否有下一页数据;
54.s207,如果有,则基于分页转到下一页数据,返回s202进行下一页的单数据库查询;例如,查询完第一页的数据,即得到第一页结果数据集p1后,进行分页,如果分页后发现数据集a、数据集b和数据集c中还有第二页数据需要查询,则继续重复上述步骤,按顺序依次分别从数据库102中查询数据集b的第二页的数据b2、从数据库103中查询数据集c的第二页的数据c2、从数据库101中查询数据集a的第二页的数据a2。
55.如果没有,则结束跨数据库查询。
56.图3示出了基于图2所示的实施例的跨数据库查询方法改进的优选实施例的流程图,其中:
57.s202具体包括:s301,输入查询过滤条件,根据配置组合sql语句;s302,执行该sql;s303,查询结果处理。s207具体包括设置分页条件,查询下一页数据。
58.在s202和s203之间还包括s304,判断是否查询到数据;在s205和s206之间还包括s305,判断是否查询到足够的数据;在s206之后,跨数据库查询结束之前还包括s306,判断是否有前序单数据库查询。
59.如果s304的判断结果为是,则进行到s203,判断是否有后序单数据库查询,如果s304的判断结果为否,则进行到s306,判断是否有前序单数据库查询。
60.如果s305的判断结果为是,则结束跨数据库查询,如果s305的判断结果为否,则进行到s206,基于查询结果确定分页,判断是否有下一页数据。
61.如果s306的判断结果为是,则在s307返回前序单数据库查询后进行到s206,基于查询结果确定分页,判断是否有下一页数据,如果s306的判断结果为否,则结束跨数据库查询。
62.在本发明中,跨库查询采用分批(分页)查询,循环迭代分步查询实现跨库查询,少量多次查询避免了大查询的超时问题。并且实时输出单页查询结果,数据结果保存到数据集,便于随时了解查询进度及结果。
63.根据本技术的一些实施例,基于查询结果确定分页,还包括:根据多个数据库的字段和索引特性,分析查询结果的结构特性,以提取多个特征字段;将多个特征字段组合成数据健值;基于数据健值,对多个数据库进行条件过滤。
64.在大批量分页数据查询中,传统分页对于尾部数据、大页码数据的查询性能低,本技术中,查询过程中动态提取特征字段组合形成数据健值用于过滤条件,将分页转换为条件过滤来代替常规分页,实现了数据库和代码双重过滤,更好地利用索引,有效避免分页性能问题,提高了分页效率。
65.根据本技术的一些实施例,方法还包括:基于多个数据库中各个数据库的查询效率,优化对多个数据库的查询顺序。例如,在根据图2所示的步骤,首次执行查询时,先实时查询关联数据库信息,根据字段和索引特性,分析结果数据结构特性,提取多个特征字段组合形成数据健值。然后按顺序依次分别从数据库102中查询数据集b的第一页的数据b1、从数据库103中查询数据集c的第一页的数据c1、从数据库101中查询数据集a的第一页的数据
a1后,结合目标库查询效率,确定依次按数据库101、数据库102、数据库103的顺序进行查询效率更高,则查询第二页的数据时,按照该顺序对数据库101、数据库102、数据库103进行查询。
66.在本发明中,基于多个数据库中各个数据库的查询效率,自动优化对多个数据库的查询顺序,提高了跨数据库查询效率。
67.根据本技术的一些实施例,方法还包括:结束跨数据库查询还包括:记录当前的查询位置后结束跨数据库查询。
68.根据本技术的一些实施例,在开始执行跨数据库查询前还包括以下查询配置步骤:
69.配置查询任务;获取数据库信息;基于接收的查询请求生成sql查询集合;获取上次跨数据库查询结束时记录的查询位置开始查询,并从该记录的查询位置开始执行本次跨数据库查询。
70.在本发明中,通过断点续查的方式解决重复数据查询的问题,避免每次执行查询任务时都需要从头查的问题,加快有效数据的查询速度。再次执行查询任务时,自动定位上次查询任务结束时的查询位置,并优先读取上次查询位置然后接着上次查询位置继续查询数据,通过断点续查的方式解决重复数据查询的问题,避免每次执行查询任务时都需要从头查询的问题,加快有效数据的查询速度。
71.根据本技术的跨数据库查询方法可以基于可视化界面实施,具体地,在金融领域的软件测试人员希望从系统100中获取数据集的场景中,金融领域的软件测试人员可以在系统100或与系统100关联的其他系统的可视化界面配置查询任务。图4示出了通过配置和执行查询任务实施跨数据库查询方法的流程图,包括:
72.s410,配置查询元件;查询元件是用于从单一数据库中查询数据的组件,对于每个数据库,查询元件的配置可以包括以下子步骤:s411,配置数据库的链接;s412,导入数据库表;s413,选择数据库表;s414,配置数据库表间的关联字段;s415,配置查询字段;和s416,配置输出字段;然后在s417,生成相应的单数据库查询sql语句。例如,如图5所示,软件测试人员希望从系统100中获取存储在数据库101的数据集、存储在数据库102的数据集和存储在数据库103的数据集,则可以在系统的web可视化界面,基于所要请求查询的数据分别配置针对数据库101的查询元件501、数据库102的查询元件502和数据库103的查询元件503。
73.s420,配置查询模板;查询模板是用于从多个数据库中查询数据的组件,包含多个查询元件及其相互关联关系,配置查询模板包括以下子步骤:s421,选择查询元件;s422,配置查询元件间的关联关系;s423,配置查询字段;s424,配置输出字段;和s425,配置输出结果数据集,其中结果数据集是用于存储、管理查询模板执行结果的组件。例如,软件测试人员在系统的web可视化界面配置如图5所示的查询模板500,由于查询元件503的执行依赖于查询元件502的执行结果,查询元件502的执行依赖于查询元件501的执行结果,或者根据本次查询任务,需在数据库101和数据库102、数据库102和数据库103之间建立连接,以便进行关联查询,则在查询模板500中配置查询元件501和查询元件502之间、查询元件502和查询元件503之间的关联关系。并且配置结果数据集504,用于存储、管理查询模板500执行结果。
74.s430,执行查询模板。例如,根据图2所示的流程步骤执行查询模板500,包括:接收用户配置完成并请求执行查询模板500的指令。然后根据所配置的查询模板500,首先执行
查询元件501,即对数据库101进行单数据库查询;然后判断查询模板500中还有后序查询元件502,则从查询元件501的执行结果中提取关联数据,并基于该关联数据执行查询元件502;然后判断查询模板500中还有后序查询元件503,则从查询元件502的执行结果中提取关联数据,并基于该关联数据执行查询元件503;然后判断查询模板500中没有后序查询元件,则将查询元件501、查询元件502、查询元件503的执行结果(即查询到的数据)合并,并存入结果数据集504中返回给软件测试人员。之后基于上述查询结果确定分页,判断是否有下一页数据,如果有,则重复以上步骤进行下一页数据的查询,如果没有,则结束本次查询任务。
75.图6示出根据本技术的实施例的跨数据库查询装置的框图。该跨数据库查询装置600用于包括多个数据库的系统,该跨数据库查询装置600包括:
76.接收模块601,接收用户的查询请求;
77.查询模块602,进行单数据库查询;
78.跨库模块603,判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向用户返回合并的单数据库查询结果;
79.分页模块604,基于查询结果确定分页,判断是否有下一页数据,如果有,则基于分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。
80.本技术的方法实施例是与本实施例相对应的,本实施例可与本技术的方法实施例互相配合实施。本技术的方法实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在本技术的方法实施例中。
81.图7是实施根据本技术实施例的跨数据库查询的电子设备的硬件结构框图。
82.如图7所示,电子设备700可以包括一个或多个处理器702、与处理器702中的至少一个连接的系统主板708、与系统主板708连接的系统内存704、与系统主板708连接的非易失性存储器(nvm)706、以及与系统主板708连接的网络接口710。
83.处理器702可以包括一个或多个单核或多核处理器。处理器702可以包括通用处理器和专用处理器(例如,图形处理器、应用处理器、基带处理器等)的任何组合。在本发明的实施例中,处理器702可以被配置为执行根据如图1-图5所示的各种实施例的一个或多个实施例。
84.在一些实施例中,系统主板708可以包括任意合适的接口控制器,以向处理器702中的至少一个和/或与系统主板708通信的任意合适的设备或组件提供任意合适的接口。
85.在一些实施例中,系统主板708可以包括一个或多个存储器控制器,以提供连接到系统内存704的接口。系统内存704可以用于加载以及存储数据和/或指令。在一些实施例中电子设备700的系统内存704可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(dram)。
86.nvm 706可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm 706可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(hard disk drive,硬盘驱动器)、cd(compact disc,光盘)驱动器、dvd(digital versatile disc,数字通用光盘)驱动器中的至少一个。
87.nvm 706可以包括安装在电子设备700的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口710通过网络访问nvm 706。
88.特别地,系统内存704和nvm 706可以分别包括:指令720的暂时副本和永久副本。指令720可以包括:由处理器702中的至少一个执行时导致电子设备700实施如图1-图5所示的方法的指令。在一些实施例中,指令720、硬件、固件和/或其软件组件可另外地/替代地置于系统主板708、网络接口710和/或处理器702中。
89.网络接口710可以包括收发器,用于为电子设备700提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(例如,前端模块、天线等)进行通信。在一些实施例中,网络接口710可以集成于电子设备700的其他组件。例如,网络接口710可以集成于处理器702、系统内存704、nvm 706、和具有指令的固件设备(未示出)中的至少一种,当处理器702中的至少一个执行所述指令时,电子设备700实现图1-图5所示的各种实施例的一个或多个实施例。
90.网络接口710可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口710可以是网络适配器、无线网络适配器、电话调制解调器和/或无线调制解调器。
91.在一个实施例中,处理器702中的至少一个可以与用于系统主板708的一个或多个控制器封装在一起,以形成系统封装(sip)。在一个实施例中,处理器702中的至少一个可以与用于系统主板708的一个或多个控制器集成在同一管芯上,以形成片上系统(soc)。
92.电子设备700可以进一步包括:输入/输出(i/o)设备712,与系统主板708连接。i/o设备712可以包括用户界面,使得用户能够与电子设备700进行交互;外围组件接口的设计使得外围组件也能够与电子设备700交互。在一些实施例中,电子设备700还包括传感器,用于确定与电子设备700相关的环境条件和位置信息的至少一种。
93.在一些实施例中,i/o设备712可包括但不限于显示器(例如,液晶显示器、触摸屏显示器等)、扬声器、麦克风、一个或多个相机(例如,静止图像照相机和/或摄像机)、手电筒(例如,发光二极管闪光灯)和键盘。
94.在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
95.在一些实施例中,传感器可包括但不限于陀螺仪传感器、加速度计、近程传感器、环境光线传感器和定位单元。定位单元还可以是网络接口710的一部分或与网络接口710交互,以与定位网络的组件(例如,全球定位系统(gps)卫星)进行通信。
96.可以理解的是,本发明实施例示意的结构并不构成对电子设备700的具体限定。在本技术另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件、或软件和硬件的组合实现。
97.可将程序代码应用于输入指令,以执行本发明描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,包括处理器702的用于处理指令的系统包括具有诸如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
98.程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统
通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本发明中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
99.至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的指令来实现,指令在被处理器读取并执行时使得电子设备能够实现本发明中所描述的实施例的方法。
100.根据本技术的一些实施例,公开了一种计算机存储介质,在该计算机存储介质上存储有指令,当该指令在计算机上运行时,使得该计算机执行根据本技术的实施例的跨数据库查询方法。
101.本技术的方法实施例是与本实施例相对应的,本实施例可与本技术的方法实施例互相配合实施。本技术的方法实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在本技术的方法实施例中。
102.根据本技术的一些实施例,公开了一种计算机程序产品,包括计算机可执行指令,该指令被处理器执行以实施根据本技术的实施例的跨数据库查询方法。
103.本技术的方法实施例是与本实施例相对应的,本实施例可与本技术的方法实施例互相配合实施。本技术的方法实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在本技术的方法实施例中。
104.可以理解的是,此处描述的具体实施例仅仅是为了解释本技术,而非对本技术的限定。此外,为了便于描述,附图中仅示出了与本技术相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在附图中表示类似项。
105.应当理解的是,虽然在本文中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了进行区分,而不能理解为指示或暗示相对重要性。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
106.本技术的说明性实施例包括但不限于跨数据库查询方法、装置、设备、介质和计算机程序产品。
107.将使用本领域技术人员通常采用的术语来描述说明性实施例的各个方面,以将他们工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员来说,使用部分所描述的特征来施行一些替代性实施例是显而易见的。出于解释的目的,阐述了具体的数字和配置,以便对说明性实施例进行更加透彻的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实施替代实施例。在一些其他情况下,本文省略或简化了一些众所周知的特征,以避免使本技术的说明性实施例模糊不清。
108.此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖描述的顺序,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序也可以被重新安排。当所描述的操作完成时,所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
109.说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用表示所描述的实
施例可以包括特定特征、结构或性质,但是每个实施例也可能或不是必需包括特定的特征、结构或性质。而且,这些短语不一定是针对同一实施例。此外,当结合具体实施例描述特定特征,本领域技术人员的知识能够影响到这些特征与其他实施例的结合,无论这些实施例是否被明确描述。
110.除非上下文另有规定,否则术语“包含”、“具有”和“包括”是同义词。短语“a和/或b”表示“(a)、(b)或(a和b)”。
111.如本文所使用的,术语“模块”可以指代,作为其中的一部分,或者包括:用于运行一个或多个软件或固件程序的存储器(共享、专用或组)、专用集成电路(asic)、电子电路和/或处理器(共享、专用或组)、组合逻辑电路、和/或提供所述功能的其他合适组件。
112.在附图中,可能以特定布置和/或顺序示出了一些结构或方法特征。然而,应当理解的是,这样的特定布置和/或排序不是必需的。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来进行说明。另外,特定附图中所包含得结构或方法特征并不意味着所有实施例都需要包含这样的特征,在一些实施例中,可以不包含这些特征或者可以与将这些特征与其他特征进行组合。
113.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合形式来实现。所公开的实施例还可以以承载或储存在一个或多个瞬态或非瞬态的机器可读(例如,计算机可读)存储介质上的指令或程序形式实现,其可以由一个或多个处理器等读取和执行。当指令或程序被机器运行时,机器可以执行前述的各种方法。例如,指令可以通过网络或其他计算机可读介质分发。因此,机器可读介质可以包括但不限于,用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,例如,软盘,光盘,光盘只读存储器(cd-roms),磁光盘,只读存储器(rom),随机存取存储器(ram),可擦除可编程只读存储器(eprom),电子式可清除程序化只读存储器(eeprom),磁卡或光卡,或者用于通过电、光、声或其他形式信号(例如,载波、红外信号、数字信号等)传输网络信息的闪存或有形的机器可读存储器。因此,机器可读介质包括任何形式的适合于存储或传输电子指令或机器(例如,计算机)可读信息的机器可读介质。
114.上面结合附图对本技术的实施例做了详细说明,但本技术技术方案的使用不仅仅局限于本技术实施例中提及的各种应用,各种结构和变型都可以参考本技术技术方案轻易地实施,以达到本文中提及的各种有益效果。在本领域普通技术人员所具备的知识范围内,在不脱离本技术宗旨的前提下做出的各种变化,均应归属于本技术专利涵盖范围。

技术特征:
1.一种跨数据库查询方法,用于包括多个数据库的系统,其特征在于,所述方法包括:接收用户的查询请求;进行单数据库查询;判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。2.根据权利要求1所述的方法,其特征在于,所述基于查询结果确定分页,还包括:根据所述多个数据库的字段和索引特性,分析所述查询结果的结构特性,以提取多个特征字段;将所述多个特征字段组合成数据健值;基于所述数据健值,对所述多个数据库进行条件过滤。3.根据权利要求1所述的方法,其特征在于,所述判断是否有后序单数据库查询,还包括:判断是否查询到数据,如果是,则判断是否有后序单数据库查询,如果否,则结束跨数据库查询。4.根据权利要求3所述的方法,其特征在于,所述结束跨数据库查询,还包括:判断是否有前序单数据库查询,如果有,则返回前序单数据库查询,如果没有,则结束跨数据库查询。5.根据权利要求1所述的方法,其特征在于,所述基于查询结果确定分页,判断是否有下一页数据,包括:判断是否查询到足够的数据,如果是,则结束跨数据库查询,如果否,则基于查询结果确定分页,判断是否有下一页数据。6.根据权利要求1所述的方法,其特征在于,还包括:基于所述多个数据库中各个数据库的查询效率,优化对所述多个数据库的查询顺序。7.根据权利要求1所述的方法,其特征在于,还包括:所述结束跨数据库查询还包括:记录当前的查询位置后结束跨数据库查询;下一次进行跨数据库查询时,从记录的所述查询位置开始查询。8.一种跨数据库查询装置,用于包括多个数据库的系统,其特征在于,所述装置包括:接收模块,接收用户的查询请求;查询模块,进行单数据库查询;跨库模块,判断是否有后序单数据库查询,如果有,则从上述步骤的单数据库查询的结果中提取关联数据,并基于所述关联数据进行后序单数据库查询,如果没有,则合并所有单数据库查询结果,并向所述用户返回合并的单数据库查询结果;分页模块,基于查询结果确定分页,判断是否有下一页数据,如果有,则基于所述分页进行下一页的单数据库查询,如果没有,则结束跨数据库查询。9.一种电子设备,其特征在于,所述电子设备包括存储有计算机可执行指令的存储器和处理器,当所述指令被所述处理器执行时,使得所述电子设备实施根据权利要求1-7中任
一项所述的跨数据库查询方法。10.一种计算机存储介质,其特征在于,在所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行根据权利要求1-7中任一项所述的跨数据库查询方法。11.一种计算机程序产品,其特征在于,包括计算机可执行指令,所述指令被处理器执行以实施根据权利要求1-7中任一项所述的跨数据库查询方法。

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


技术研发人员:黄治军 张同虎 郭晓骞
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.05.24
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐