一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于缓存库的数据查询方法、装置、存储介质和设备与流程

2022-12-07 20:04:47 来源:中国专利 TAG:
1.本发明涉及数据处理领域,尤其是涉及一种基于缓存库的数据查询方法、装置、存储介质和设备。
背景技术
::2.现有的数据查询方式通常为根据用户需要查询的字段,从数据库中读取对应字段的数据。3.当用户连续多次查询相同字段的数据时,每次查询都需要从数据库中读取对应字段的数据,查询效率较低。技术实现要素:4.本技术实施例提供了一种基于缓存库的数据查询方法、装置、存储介质和设备,能够提高数据查询效率。5.第一方面,本技术实施例提供了一种基于缓存库的数据查询方法,包括以下步骤:响应于对至少一个第一目标字段的数据的查询指令,确定缓冲池中是否包含所述至少一个第一目标字段;其中,所述缓冲池存储有在当前时刻之前的第一时间段内响应于查询指令获取到的目标字段和所述目标字段对应的目标数据;所述缓冲池的目标字段包括第一关联信息;所述第一关联信息用于确定缓存库中与所述缓冲池的目标字段对应的字段的数据是否改变;若所述缓冲池中包含所述至少一个第一目标字段,且根据所述第一目标字段的第一关联信息确定所述缓存库中对应字段的数据未发生改变,从所述缓冲池中获取所述第一目标字段对应的第一目标数据;否则,根据所述至少一个不在所述缓冲池中的第一目标字段,生成用于获取第一目标数据的第一目标任务并发送至缓存库,使缓存库根据所述第一目标任务生成与缓存库中的节点对应的至少一个第一目标子任务并同时发送至对应的节点,接收所述至少一个节点返回的节点数据,根据所述节点数据获取第一目标字段对应的第一目标数据;其中,所述缓存库包括若干个节点,所述若干个节点通过节点互联网络连接;所述缓存库中的各节点存储有预先从目标数据库中抽取的若干字段的数据。6.第二方面,本技术实施例提供了一种基于缓存库的数据查询装置,包括:缓冲池确定模块,用于响应于对至少一个第一目标字段的数据的查询指令,确定缓冲池中是否包含所述至少一个第一目标字段;其中,所述缓冲池存储有第一时间周期内响应于查询指令获取到的第二目标字段和所述第二目标字段对应的第二目标数据;所述缓冲池的目标字段与所述缓存库中的字段具有第一关联信息;所述第一关联信息用于确定缓存库中与所述缓冲池的目标字段对应的字段的数据是否改变;第一查询模块,用于若所述缓冲池中包含所述至少一个第一目标字段,且根据所述第一目标字段的第一关联信息确定所述缓存库中对应字段的数据未发生改变,从所述缓冲池中获取所述至少一个第一目标字段对应的第一目标数据;第二查询模块,用于根据所述至少一个不在所述缓冲池中的第一目标字段,生成用于获取第一目标数据的第一目标任务并发送至缓存库,使缓存库根据所述第一目标任务生成与缓存库中的节点对应的至少一个第一目标子任务并同时发送至对应的节点,接收所述至少一个节点返回的节点数据,根据所述节点数据获取第一目标字段对应的第一目标数据;其中,所述缓存库包括若干个节点,所述若干个节点通过节点互联网络连接,所述缓存库中的各节点存储有预先从目标数据库中抽取的若干字段的数据。7.第三方面,本技术实施例提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的基于缓存库的数据查询方法的步骤。8.第四方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的基于缓存库的数据查询方法的步骤。9.本技术实施例在接收到对第一目标字段的数据的查询指令时,若缓冲池中包含第一目标字段时且缓存库中该字段的数据未发生改变,直接从缓冲池中获取第一目标字段对应的第一目标数据,从而降低重复查询数据的数据处理量;否则通过生成用于获取第一目标数据的第一目标任务并发送至缓存库,缓存库生成并行的各个节点的第一目标子任务,使各个节点同时执行对应的第一目标子任务以提高获取第一目标数据的效率,本技术可以快速得到最新的第一目标数据,提高数据查询效率。10.为了更好地理解和实施,下面结合附图详细说明本发明。附图说明11.图1为本发明一个实施例一种基于缓存库的数据查询方法的流程图;图2为本发明另一个实施例一种数据查询方法的流程图;图3为本发明一个实施例中一种数据查询过程的示意图;图4为本发明一个实施例中用户终端的显示界面的示意图;图5为本发明一个实施例步骤s202的流程图;图6为本发明另一个实施例一种基于缓存库的数据查询方法的流程图;图7为本发明一个实施例一种基于缓存库的数据查询装置的结构示意图;图8为本发明一个实施例一种电子设备的结构示意图。具体实施方式12.为使本技术的目的、技术模块和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。13.应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术实施例保护的范围。14.在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。15.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的方法和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。16.此外,在本技术的描述中,除非另有说明,“若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。17.请参阅图1,本技术实施例提供了一种基于缓存库的数据查询方法,包括以下步骤:s101:响应于对至少一个第一目标字段的数据的查询指令,确定缓冲池中是否包含所述第一目标字段;其中,所述缓冲池存储有在当前时刻之前的第一时间段内响应于查询指令获取到的目标字段和所述目标字段对应的目标数据;所述缓冲池的目标字段包括第一关联信息;所述第一关联信息用于确定缓存库中与所述缓冲池的目标字段对应的字段的数据是否改变;第一目标字段可以为用户在用户终端输入的需要查询的字段。18.在一个实施例中,第一目标字段可以为与缓存库建立连接关系的数据库中的数据表的一个或多个字段。19.缓冲池为用户定义的一个存储区域,缓冲池用于缓存当前时刻之前的第一时间段内查询的目标字段和目标字段对应的目标数据,例如可以是最近几天内查询的目标字段和目标字段对应的目标数据。20.其中,不同的数据可以设置有不同的缓冲池,每一个缓冲池可以对应一个数据集,当每次新接收到用户对某个数据集的某个字段的查询指令时,更新该数据集的缓冲池内存储的数据。21.第一关联信息可以根据目标数据和缓存库对应字段的数据的时间戳信息得到,具体地,当根据时间戳确定目标数据和缓存库对应字段的数据的时间一致时,确定缓存库中的对应字段的数据未发生改变,若缓存库对应字段的数据的时间晚于目标数据的时间,则确定缓存库中的对应字段的数据发生改变。22.s102:若所述缓冲池中包含所述至少一个第一目标字段,且根据所述第一目标字段的第一关联信息确定所述缓存库中对应字段的数据未发生改变,从所述缓冲池中获取所述第一目标字段对应的第一目标数据;确定缓冲池中是否包含第一目标字段可以先确定对第一目标字段对应的数据集,通过查找该数据集对应的缓冲池中是否存在与第一目标字段相同的目标字段,若存在,则确定该数据集对应的缓冲池中包含第一目标字段,否则,确定缓冲池中不包含第一目标字段。当缓冲池中包含第一目标字段,且根据第一关联信息确定缓存库中对应字段的数据未发生改变,直接从缓冲池存储的目标数据中获取对应的第一目标数据。23.在一个实施例中,缓冲池可以包括第一缓冲池和第二缓冲池,其中,第一缓冲池用于存储当前时刻之前的第一时间段内响应于查询指令获取到的目标字段,第二缓冲池用于存储当前时刻之前的第一时间段内响应于查询指令获取到的目标数据。24.在从缓冲池存储的目标数据中获取对应的第一目标数据时,先确定第一缓冲池是否包含第一目标字段,只有当第一缓冲池包含第一目标字段时,再访问第二缓冲池来获取对应的第一目标数据,从而可以降低字段比对的数据量,提高缓冲池的数据比对效率。25.s103:否则,根据所述至少一个不在所述缓冲池中的第一目标字段,生成用于获取第一目标数据的第一目标任务并发送至缓存库,使缓存库根据所述第一目标任务生成与缓存库中的节点对应的至少一个第一目标子任务并同时发送至对应的节点,接收所述至少一个节点返回的节点数据,根据所述节点数据获取第一目标字段对应的第一目标数据;其中,所述缓存库包括若干个节点,所述若干个节点通过节点互联网络连接;其中,所述缓存库可以为高速缓存库,缓存库中存储有预先从目标数据库中抽取的若干字段的原始数据,当缓冲池中不包含第一目标字段时,从缓存库中获取第一目标字段对应的第一目标数据,保证秒级获取大级别量的数据结果,提高数据查询效率。26.本技术需要查询的第一目标字段可以为一个或多个,当第一目标字段至少为两个且缓冲池只包含其中部分第一目标字段时且该部分第一目标字段的数据未发生改变,则从缓冲池中获取该部分第一目标字段对应的第一目标数据,对于缓冲池中不包含的其它第一目标字段或者数据发生改变的第一目标字段,从缓存库中获取该第一目标字段对应的第一目标数据。27.本技术实施例利用缓冲池来存储当前时刻之前的第一时间段内的查询数据,在接收到对第一目标字段的数据的查询指令时,先通过查找缓冲池中以确定是否已查找过相同目标字段的数据,在缓冲池中包含第一目标字段时,直接从缓冲池中获取第一目标字段对应的第一目标数据,当缓冲池中不包含该第一目标字段时,再从缓存库中获取第一目标字段对应的第一目标数据,从而降低重复查询数据的数据处理量,提高查询效率。28.本技术在接收到对第一目标字段的数据的查询指令时,若缓冲池中包含第一目标字段时且缓存库中该字段的数据未发生改变,直接从缓冲池中获取第一目标字段对应的第一目标数据,从而降低重复查询数据的数据处理量;否则,通过生成用于获取第一目标数据的第一目标任务并发送至缓存库,缓存库生成并行的各个节点的第一目标子任务,使各个节点同时执行对应的第一目标子任务以提高获取第一目标数据的效率,本技术可以快速得到最新的第一目标数据,提高数据查询效率。29.步骤s102中,缓冲库存储的数据可以为根据用户的抽取指令,从跟缓冲库已建立连接关系的若干个数据库中抽取得到。30.具体地,如图2所示,在确定对象缓冲池中是否包含所述第一目标字段之前,还包括以下步骤:s201:获取若干个数据库的地址信息,根据所述若干个数据库的地址信息,与所述若干个数据库建立连接关系;若干个数据库可以为一个或一个以上的数据库,数据库的地址信息可以包括数据库的端口、名称、ip地址等信息。若干数据库的地址信息可以由用户通过用户终端输入。31.与所述若干个数据库建立连接关系可以是指用户终端直接与若干个数据库建立通信连接,具体地,可以通过在用户终端加载对应的数据库的连接驱动程序,与若干个数据库建立通信连接。32.其中,数据库的连接驱动程序可以存放在预设的驱动程序存放目录中,在接收到用户输入的地址信息后,响应于用户的数据库连接指令,从预设的驱动程序存放目录加载对应的数据库的连接驱动程序,与若干个数据库建立连接关系。33.对于成功建立连接关系的数据库,可以返回一连接反馈信息至用户终端,用户终端在接收到对应数据的连接反馈信息后,确定数据库与用户终端已成功建立连接。34.s202:响应于抽取指令,基于抽取规则从若干个数据库中抽取若干抽取字段的数据并存储至所述缓存库中;其中,所述抽取指令包括抽取规则和若干抽取字段。35.抽取规则可以包括定时抽取、立即抽取、异常抽取、增量抽取或全量抽取。36.其中,定时抽取用于根据设置的时间计划定时抽取数据;增量抽取可以根据上次抽取结果中的最大时间,将大于该最大时间的数据进行集中抽取,或者,根据增量参数来抽取数据,例如某个字段或某个时间段来抽取相关数据;全量抽取用于抽取数据的全部数据。37.步骤s202中,从若干个数据库抽取数据可以是通过直连对应的数据库来抽取若干抽取字段的数据。38.在一个实施例中,根据所述若干个数据库的地址信息,与所述若干个数据库建立连接关系的步骤具体包括:定义目标数据接口,以使各个待连接的数据库按照所述目标数据接口定义对应的取数接口;通过所述目标数据接口,与各个待连接的数据库对应的取数接口建立连接。39.当存在多个数据库时,可以利用目标数据接口实现用户终端和跨库数据源之间的数据通信。其中,跨库数据源中设置有若干个数据库的数据传输通道,用户可以通过访问跨库数据源来访问对应的数据库,得到对应数据库的数据。40.如图3所示,目标数据接口用于实现用户终端和跨库数据源之间的数据通信。在跨库数据源上可以设置有与多个数据库对应的取数接口,如与oracle数据库对应的oracle取数接口、与mysql数据库对应的mysql取数接口、与hive数据库对应的hive取数接口、与mongodb数据库对应的mongodb取数接口等。41.在定义对应数据库的取数接口时,可以根据对应数据库的数据连接协议来定义取数接口。例如,对于oracle数据库、mysql数据库和hive数据库可以基于jdbc接口定义取数接口,对mongodb数据库可以基于对应的mongodb接口定义取数接口。42.在获取数据时,只需要通过统一的目标数据接口与跨库数据源建立通信连接,再由根据跨库数据源的不同取数接口访问不同的数据库的数据。43.具体地,基于抽取规则从若干个数据库中抽取若干抽取字段的数据并存储至所述缓存库中的步骤包括:根据所述抽取指令确定待抽取的数据库的取数接口信息;根据所述取数接口信息,基于抽取规则,通过对应的数据库的取数接口抽取对应抽取字段的数据并存储至所述缓存库中。44.本技术实施例中,根据若干个数据库的地址信息与若干数据库建立连接关系,通过从源数据库中抽取原始数据到高速缓存库,从而可以保证秒级获取大级别量的数据结果,提高数据查询效率。45.优选地,本技术的缓存库可以采用mpp分布式架构来进行数据传输和协同计算,缓存库包括若干个节点,所述若干个节点通过节点互联网络连接。46.缓存库在接收到第一目标任务后,分别生成并行的各个节点的第一目标子任务并发送给对应的节点,各节点同时执行第一目标子任务来获取节点数据,从而提高数据获取效率。47.节点可以为smp服务器节点,每一个smp服务器节点都拥有独立的磁盘存储和内存系统,在抽取数据库的数据后,可以将该数据存储至与该数据库对应的smp服务器节点的磁盘存储和内存系统中。在使用过程中,smp服务器节点只访问自己的本地资源,各节点之间无共享、独立运行,用户可以根据需要无限扩展节点的数量,具有良好的扩展能力。在一个实施例中,若所述数据库至少为两个,在基于抽取规则从若干个数据库中抽取若干抽取字段的数据并存储至所述缓存库中之后,还包括以下步骤:响应于对至少两个数据库的至少两个数据表的选取指令,显示所述至少两个数据表的若干个字段;响应于对若干个所述字段中的至少两个字段的选取指令,获取所述至少两个数据表的关联关系,根据所述至少两个字段在所述数据表的关联关系以及所述至少两个数据表的关联关系,确定数据显示区域的第一目标字段信息;其中,所述第一目标字段信息包括第一目标字段及所述第一目标字段的显示信息;在获取所述第一目标字段对应的第一目标数据之前,还包括以下步骤:响应于对最大查询内存、每个节点最大查询内存和最大使用内存的配置指令,生成配置信息并发送至服务器,以使服务器根据所述配置信息配置高速缓存库的查询参数。48.具体地,当需要查询的数据量较大或者高速缓存库的并发处理数量较大时,可以通过提高最大查询内存、每个节点最大查询内存和最大使用内存,通过增加高速缓存库的查询内存提高查询性能。49.在获取所述第一目标字段对应的第一目标数据之后,还包括以下步骤:根据所述第一目标字段的显示信息,在数据显示区域显示所述第一目标数据。50.选取指令可以根据用户对至少两个数据库的至少两个数据表的单击、双击等触发操作生成。51.其中,每一个数据表包括至少一个字段,在接收到用户对至少两个数据表的选取指令,显示选取的数据表所包含的若干个字段;选取指令可以根据用户对若干个所述字段中的至少两个字段的拖拽操作生成,具体地,当用户将若干个所述字段中的至少两个字段拖拽至设定的数据选取区域,生成选取指令。52.数据表的关联关系标识用于标识两个数据表的关联关系。53.如图4所示,其为一个实施例中的用户终端的显示界面示意图;用户终端的显示界面包括数据库选取区域、表关系视图区域和数据显示区域。54.在本技术实施例中,当检测到用户将数据库选取区域将至少两个字段拖拽至表关系视图区域时,在表关系视图区域显示至少两个字段对应的两个数据表表1和表2以及两个数据表的关联关系标识。55.数据表的关联关系标识用于标识两个数据表的关联关系。56.两个数据表的关联关系用于确定至少两个数据表的连接顺序以及连接类型,连接顺序用于确定至少两个数据表中的位置关系,如图4中将表1设置为主表,表2为从表,将表1放置在表2之前,为便于描述,以下以表1作为左表,以表2作为右表,对表1和表2的关联关系进行描述。57.对于属于不同数据库的数据表,可以设置对应的数据库标识在表关系视图区域对该数据表进行标识,其中,每一个数据库可以设有对应的数据库标识,例如图4中的数据库标识101和数据库标识102,以便于用户快速识别该数据表所属的数据库信息。58.连接类型可以包括内连接、全连接、左连接和右连接,每一个不同的连接类型可以具有不同的连接类型标识,例如,图4中的连接类型标识103表示表1和表2的连接类型为内连接。59.当连接类型为内连接时,连接结果包含左表与右表中对应的值相等的记录行;当连接类型为全连接时,连接结果包含左表和右表的所有行;当连接类型为左连接时,连接结果包含左表中的所有行;当连接类型为右连接时,连接结果包含右表中的所有行。60.在本技术实施例中,可以根据用户的拖拽顺序确定两个数据表的连接位置,例如图3中先拖拽目标字段对应表1的为左表,后拖拽的目标字段对应的表2为右表,在将数据库选取区域将至少两个字段拖拽至表关系视图区域后,自动两个数据表中字段名称和数据类型一致的字段来建立至少两个数据表的连接关系,默认设置至少两个数据表的连接类型为内连接,也即在连接结果中取两表交集的所有行的数据。61.本技术根据若干个数据库的地址信息与若干数据库建立连接关系,再根据用户在数据库选取区域对不同数据库的不同数据表的不同目标字段的选取指令,建立选取的数据表的关联关系,根据目标字段在数据表的关联关系和至少两个数据表的关联关系,确定数据显示区域的显示字段信息,再通过获取显示字段对应的目标数据,无需事先从数据库中读取大量数据,提高跨库数据查询的效率。62.如图5所示,具体地,步骤s202将若干抽取字段的数据存储至所述缓存库中的步骤具体包括:s301:对所述若干抽取字段的数据进行分片,获取若干个分片数据;s302:将所述若干个分片数据分别存储至所述缓存库下的若干个节点,并生成分片表;其中,所述分片表包括若干个分片数据的若干字段及所述若干个分片数据存储的节点标识;步骤301中,在对若干抽取字段的数据进行分片时,可以采用rand()函数对数据进行随机分片,或者,也可以根据用户需求采用其他现有的分片方式对数据进行分片。63.步骤302中,每一个分片数据可以存储在一个节点中,分片表用于确定各个分片数据存储的节点以及分片数据的内容。64.每个节点的最大查询内存和最大使用内存可以根据用户的配置指令确定,具体地,当需要查询的数据量较大或者高速缓存库的并发处理数量较大时,可以通过提高最大查询内存、每个节点最大查询内存和最大使用内存,通过增加高速缓存库的查询内存提高查询性能。65.传统的行式数据库通常会将数据整行存储,也即将一行中各个字段的数据存储在一起,从而可以快速对某一行的数据进行修改。而在本技术实施例中,由于需要读取对应字段的数据,若行式数据库的方式来存储数据,则在读取数据时会增加大量非必要字段的数据,浪费系统资源和影响数据读取效率。66.因此,在本技术实施例中,将所述若干个分片数据分别存储至所述缓存库下的若干个节点的步骤具体包括:以一个字段确定一个数据列,将属于相同字段的若干数值存放在同一数据列中,在所述缓存库下的若干个节点生成若干数据列。67.其中,所述分片数据包括若干字段及与字段对应的若干数值。68.本技术实施例通过将分片数据在缓存库中存储为列式数据库的方式,使得在读取数据时,只需要读取对应字段的数据列的数据,从而可以提高大数据量数据的读取效率。69.缓存库根据所述第一目标任务生成与缓存库中的节点对应的至少一个第一目标子任务并同时发送至对应的节点的步骤包括:缓存库根据所述第一目标任务和所述分片表,确定所述至少一个第一目标字段对应的至少一个目标节点标识,根据所述至少一个目标节点标识,生成至少一个目标节点的第一目标子任务。70.在本技术实施例中,可以根据第一目标字段获取其存储在缓存库中的目标节点标识,生成各个目标节点的第一目标子任务,从而从各个目标节点获取第一目标数据。71.当第一目标字段为两个以上的字段,且两个以上的字段分别分布在两个或两个以上的不同的目标节点时,根据所述节点数据获取第一目标字段对应的第一目标数据的步骤具体包括:接收所述至少两个目标节点返回的至少两个节点数据;合并所述至少两个节点数据,得到第一目标数据。72.在合并目标数据时,可以根据目标数据对应的字段之间的关联关系来合并至少两个目标数据,以得到第一目标数据。73.字段之间的关联关系可以根据用户输入字段或拖拽字段的操作顺序来确定,例如,先输入或先拖拽的字段位于后输入或后拖拽的字段之后。74.在一个实施例中,本技术的基于缓存库的数据查询方法的执行主体可以为服务器,服务器在执行上述基于缓存库的数据查询方法获得第一目标数据之后,还包括以下步骤:将所述第一目标数据返回至用户终端,以使用户终端在数据显示区域显示所述第一目标数据。75.用户终端可以为发送第一目标字段的数据的查询指令的用户所在的一端,用户终端可以包括但不限于智能手机、笔记本电脑、平板电脑等终端设备。76.现有数据库在取数时,往往通过执行用户的查询sql语句来获取数据库中的数据,由于数据显示区域大小有限,在展示每一页的数据时都执行查询sql语句来获取数据。77.例如,当查询的数据超过1000条且数据显示区域每页可展示1000行数据时,在展示第一页的数据时,需要在数据库中执行select*fromtable语句从第一行开始取出1000行数据;在第二页的数据时,需要再次在数据库中执行select*fromtable语句从第一行开始取出1000行以后的数据,依此类推,随着展示页面越往后,数据查询速度越慢,影响用户体验。78.因此,在本技术实施例中,所述查询指令包括取数阈值;在响应于对第一目标字段的数据的查询指令之前,还包括以下步骤:根据数据显示区域可显示的最大数据行数量确定取数阈值;响应于对至少一个第一目标字段的选取指令,根据所述取数阈值生成至少一个第一目标字段的数据的查询指令;获取所述第一目标字段对应的第一目标数据的步骤包括:依次获取对应取数阈值的数据行的第一目标数据;将所述第一目标数据显示在所述数据显示区域,并响应于数据显示区域的页面切换指令,在所述数据显示区域的显示下一次获取的第一目标数据。79.取数阈值用于限制数据库每次取数的数量,本技术实施例中,取数阈值可以为数据显示区域的最大可显示数据行。80.最大可显示数据行可以根据用户对数据显示区域的显示数据行的配置指令确定,例如,可以设置为每页显示10行,则取数阈值也可以相应地设置为10,在展示页面时,只读取10行数据。81.通过限制第一目标数据每次取数的数据的数量,从而使得每次获取的第一目标数据刚好可以满足数据显示区域的最大可显示数据行,当接收到用户切换数据显示区域的页面切换指令时,再将下一次获取的取数阈值的数据行的第一目标数据显示在数据显示区域,提高数据查询的效率。82.如图6所示,在一个实施例中,所述数据显示区域包括筛选条件文本框区域;在响应于对至少一个第一目标字段的数据的查询指令,确定缓冲池中是否包含所述至少一个第一目标字段之前,还包括以下步骤:s401:响应于将任意字段拖拽至所述筛选条件文本框区域的操作,显示所述任意字段的字段表达式;其中,所述字段表达式包括条件对象、逻辑运算符和值域设置项;s402:接收对所述逻辑运算符和所述值域设置项的设置指令,生成任意字段的筛选条件;s403:根据筛选条件筛选至少一个第一目标字段,生成至少一个第一目标字段的数据的查询指令。83.条件对象为要筛选的字段的名称,当用户添加筛选条件后,自动根据要筛选的字段名称生成条件对象。84.逻辑运算符用于将条件对象和值域设置项连接,以形成条件表达式。逻辑运算符可以包括等于、不等于、包含、不包含、模糊匹配、不匹配、开头为、开头不为、结尾为、结尾不为、为空、不为空等。85.值域设置项是筛选条件的具体值,根据选择的值对数据进行过滤,只显示选择的值所对应的数据。86.需要说明的是,当逻辑运算符为“为空”或“不为空”时,可以不显示值域设置项。87.具体地,当用户选取了“发货区域”“销售省份”“单价”“销售额”这几个字段后,可以进一步设置筛选条件为“发货区域等于东北”,其中,“发货区域”为条件对象,“等于”为逻辑运算符,“东北”为值域设置项,从而获取发货区域为东北的销售省份、单价、销售额等字段的数据。88.本技术实施例中,用户通过设置筛选条件筛选第一目标字段,从而根据筛选条件来缩小查询结果数据集,从而提高查询性能。89.为了保证显示的目标数据的及时更新,本技术实施例在数据显示区域显示所述第一目标数据之后,还包括:按照预设的自动刷新方式刷新所述第一目标字段对应的第一目标数据,在数据显示区域显示刷新后的第一目标数据。90.自动刷新方式可以包括定时刷新、打开时自动刷新、修改组件自动刷新、筛选器切换刷新等多种数据刷新方式。然而,对于跨库数据查询,若是频繁自动刷新,则会占用系统资源,使得查询性能下降。因此,在一个实施例中,所述跨库数据查询方法还包括以下步骤:响应于刷新关闭指令,关闭自动刷新功能。91.本技术实施例中,通过关闭自动刷新功能,避免系统资源的占用,提高数据查询性能。92.如图7所示,本技术实施例还提供了一种基于缓存库的数据查询装置,该方法可以通过软件、硬件或两者的结合实现成为电子设备的全部或一部分。该装置包括:缓冲池确定模块201,用于响应于对至少一个第一目标字段的数据的查询指令,确定缓冲池中是否包含所述至少一个第一目标字段;其中,所述缓冲池存储有在当前时刻之前的第一时间段内响应于查询指令获取到的目标字段和所述目标字段对应的目标数据;所述缓冲池的目标字段包括第一关联信息;所述第一关联信息用于确定缓存库中与所述缓冲池的目标字段对应的字段的数据是否改变;第一查询模块202,用于若所述缓冲池中包含所述至少一个第一目标字段,且根据所述第一目标字段的第一关联信息确定所述缓存库中对应字段的数据未发生改变,从所述缓冲池中获取所述至少一个第一目标字段对应的第一目标数据;第二查询模块203,用于根据所述至少一个不在所述缓冲池中的第一目标字段,生成用于获取第一目标数据的第一目标任务并发送至缓存库,使缓存库根据所述第一目标任务生成与缓存库中的节点对应的至少一个第一目标子任务并同时发送至对应的节点,接收所述至少一个节点返回的节点数据,根据所述节点数据获取第一目标字段对应的第一目标数据;其中,所述缓存库包括若干个节点,所述若干个节点通过节点互联网络连接;所述缓存库中的各节点存储有预先从目标数据库中抽取的若干字段的数据。93.需要说明的是,上述实施例提供的基于缓存库的数据查询装置在执行基于缓存库的数据查询方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分为不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于缓存库的数据查询方法与基于缓存库的数据查询装置属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。94.本实施例提供一种电子设备,可以用于执行本技术实施例的基于缓存库的数据查询方法的全部或部分步骤。对于本实施例中未披露的细节,请参照本技术的方法实施例。95.请参阅图8,图8为本技术实施例提供的电子设备的结构示意图。所述电子设备300可以但不限于是各种服务器、个人计算机、笔记本电脑、智能手机、平板电脑等设备的一个或多个的组合。96.在本技术较佳实施例中,所述电子设备300包括存储器301、至少一个处理器302、至少一条通信总线303及收发器304。97.本领域技术人员应该了解,图8示出的电子设备的结构并不构成本技术实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备300还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。98.在一些实施例中,所述电子设备300是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备300还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。99.需要说明的是,所述电子设备300仅为举例,其他现有的或今后可能出现的电子产品如可适应于本技术,也应包含在本技术的保护范围以内,并以引用方式包含于此。100.在一些实施例中,所述存储器301中存储有计算机程序,所述计算机程序被所述至少一个处理器302执行时实现如所述实施例的基于缓存库的数据查询方法中的全部或者部分步骤。所述存储器301包括只读存储器(read-onlymemory,rom)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。101.在一些实施例中,所述至少一个处理器302是所述电子设备300的控制核心(controlunit),利用各种接口和线路连接整个电子设备300的各个部件,通过运行或执行存储在所述存储器301内的程序或者模块,以及调用存储在所述存储器301内的数据,以执行电子设备300的各种功能和处理数据。例如,所述至少一个处理器302执行所述存储器中存储的计算机程序时实现本技术实施例中所述的基于缓存库的数据查询方法的全部或者部分步骤;或者实现基于缓存库的数据查询方法的全部或者部分功能。所述至少一个处理器302可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。102.在一些实施例中,所述至少一条通信总线303被设置为实现所述存储器301以及所述至少一个处理器302等之间的连接通信。103.所述电子设备300还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。104.本实施例提供一种计算机可读存储介质,其上储存有计算机程序,所述指令适于由处理器加载并执行本技术实施例的基于缓存库的数据查询方法,具体执行过程可以参见方法实施例的具体说明,在此不进行赘述。105.对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术模块的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。106.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。107.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的方法。108.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献