CN116069810A - 数据查询方法、装置及终端设备 - Google Patents
数据查询方法、装置及终端设备 Download PDFInfo
- Publication number
- CN116069810A CN116069810A CN202310019267.4A CN202310019267A CN116069810A CN 116069810 A CN116069810 A CN 116069810A CN 202310019267 A CN202310019267 A CN 202310019267A CN 116069810 A CN116069810 A CN 116069810A
- Authority
- CN
- China
- Prior art keywords
- data table
- query
- data
- storage node
- redundant data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出一种数据查询方法和装置及终端设备,涉及计算机技术领域,其中方法包括:获取客户端发送的包括目标维度、关联维度及查询条件的数据查询请求;查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表;分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据查询方法、装置及终端设备。
背景技术
在现今的信息化时代,对信息数据的应用与研究已成为一种趋势,数据库基于其优势,被广泛应用于数据的存储、管理、维护和查询服务中。但在分布式数据库中,为用户提供关联查询服务时,存在查询效率较低的问题。
发明内容
本公开提出一种数据查询方法和装置,以至少解决分布式数据库中,查询效率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,本公开实施例提供一种数据查询方法,包括:
获取客户端发送的数据查询请求,其中,数据查询请求中包括目标维度、关联维度及查询条件;
查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表;
分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。
根据本公开实施例的第二方面,本公开实施例提供一种数据查询装置,包括:
获取模块,用于获取客户端发送的数据查询请求,其中,数据查询请求中包括目标维度、关联维度及查询条件;
确定模块,用于查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表;
查询模块,用于分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。
根据本公开实施例的第三方面,提供一种终端设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如上述第一方面实施例的数据查询方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如上述一方面实施例的数据处查询方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述一方面实施例的数据查询方法。
本公开的实施例提供的技术方案至少带来以下有益效果:在获取客户端发送的包括目标维度、关联维度及查询条件的数据查询请求之后,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表,之后,分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。由此,通过在各存储节点中,预先生成与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息的冗余数据表,之后,通过关联查询各存储节点中的第一数据表及冗余数据表,获取目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为本公开第一实施例提供的一种数据查询方法的流程示意图;
图2为本公开第二实施例提供的另一种数据查询方法的流程示意图;
图3为本公开第三实施例提供的另一种数据查询方法的流程示意图;
图4为本公开第四实施例提供的一种数据查询装置的结构示意图;
图5是根据一示例性实施例示出的一种数据查询的终端设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在分布式数据库中,数据被分散存储在各个存储节点中,当关联查询多张数据表时,需要跨存储节点关联查询。但是,由于各存储节点间通过通信网络连接,当跨存储节点查询时,需要各存储节点之间频繁进行网络通信,从而导致在分布式数据库中,关联查询的效率较低。此外,当跨存储节点关联查询时,可能会对每个存储节点中的待查询表格中的每个数据进行多次遍历,遍历数据量较大,也会导致查询效率较低。
本公开中,通过在各存储节点中,预先生成与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息的冗余数据表,之后,通过关联查询各存储节点中的第一数据表及冗余数据表,获取目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
本公开实施例的数据查询方法,是由本公开实施例提供的数据查询装置(以下简称查询装置)执行,该装置可配置于计算机设备等设备中,以实现对多个数据表关联查询,以解决关联查询效率低的问题。
下面参考附图描述本公开实施例的数据查询方法和装置。
图1为本公开实施例所提供的一种数据查询方法的流程图,包括以下步骤。
步骤101,获取客户端发送的数据查询请求,其中,数据查询请求中包括目标维度、关联维度及查询条件。
本公开中,用户可以在客户端中设置目标查询类型,及各维度对应的取值,并触发查询控件,以获取查询结果。当客户端监测到查询控件被触发时,即可获取到各维度对应的取值及目标查询类型。之后,可以根据各维度对应的取值生成查询条件,并根据预设的关联关系,确定目标查询类型对应的维度,并将目标查询类型对应的设置了取值的维度确定为目标维度,将其余设置了取值的维度确定为关联维度。然后,客户端将目标维度、关联维度及目标维度和关联维度分别对应的查询条件发送给查询装置。
比如,假设数据分为对公客户数据、对私客户数据。则将公客户数据作为主要查询对象时,可以将目标查询类型设置为企业类型。当将私客户数据作为主要查询对象时时,可以将目标查询类型设置为个人类型。预设的关联关系包含各维度与查询类型的对应关系。比如,经营期限起始日期对应企业类型,对公黑名单客户标识对应企业类型,失信执行人标识对应个人类型。
当用户将企业类型设置为目标查询类型,并且设置经营期限起始日期的取值为,20201101-今,失信执行人标识为“否”,则可以将经营期限起始日期设置为目标维度,将失信执行人标识设置为关联维度,并确定目标维度对应的查询条件为经营期限起始日期>=20201101,关联查询维度对应的查询条件为失信执行人标识=“否”。
步骤102,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表。
其中,冗余数据表中包括与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息,且冗余数据表的主键与第一数据表的主键相同。
本公开中,不同维度的数据可能保存在不同的数据表中,以便于数据的管理。因此,可以预设映射关系表,以保存各维度与数据表的对应关系,便于到相应的数据表中获取各维度的数据。比如,经营期限起始日期被保存在“表1”中,可以将经营期限起始日期与“表1”关联存储在映射关系表中。
本公开中,关联维度上的数据和目标维度上的数据可能存储在不同的数据表中,且在分布式数据库中,关联维度上的数据分布式存储在各个存储节点中,同样,目标维度上的数据也分布式存储在各个存储节点中。由于关联维度和目标维度对应的查询类型不同,关联维度和目标维度对应的数据表的主键不同,导致某一存储节点中目标维度上的数据在关联维度上关联的数据可能存储在其他存储节点上。
比如,目标维度对应的数据表的主键为企业编号,关联维度对应的数据表的主键为个人客户编号。企业编号1和个人客户编号1存在关联关系,则企业编号1对应的目标维度上的数据与个人客户编号1对应的关联维度上的数据存在关联关系。但是,由于企业编号1和个人客户编号1不同,因此,企业编号1对应的目标维度上的数据与个人客户编号1对应的关联维度上的数据可能存储在不同的存储节点中。比如,企业编号1对应的目标维度上的数据可能保存在存储节点1中,个人客户编号1对应的关联维度上的数据可能存储在存储节点2中。其中,企业和个人之间的关联关系可以为法定代表人、实际控制人、高管等。
因此,可以对关联维度上的数据进行重分布,以生成各存储节点中包括与其存储的第一数据表中各主键值在关联维度上关联的数据信息的冗余数据表。以实现在各存储节点本地中保存与其存储的第一数据表中各主键值在关联维度上关联的数据信息,为实现本地关联查询提供条件。
比如,假设企业编号1对应的数据在存储节点1中,企业编号2对应的数据在存储节点2中,个人客户编号1对应的数据在存储节点2中,个人客户编号2对应的数据在存储节点1中,企业编号1与个人客户编号1存在关联关系,企业编号2与个人客户编号2存在关联关系。则对人客户编号对应的数据进行重分布,以使个人客户编号1对应的数据保存在存储节点1中,个人客户编号2对应的数据保存在存储节点2中。从而使各存储节点中保存的企业数据和个人客户数据存在关联关系,为实现本地关联查询提供条件。
步骤103,分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。
本公开中,可以根据预设的查询语句格式,各查询条件与第一数据表及冗余数据表的对应关系,以及各查询条件的之间的逻辑关系,生成查询语句。并根据查询语句,分别关联查询各存储节点中第一数据表和冗余数据表,以获取各存储节点输出的目标查询结果。由此,仅对各存储节点中的第一数据表和冗余数据表进行关联查询,避免了各存储节点中各数据表之间的相互关联查询,从而降低了遍历的数据量,进而提高了数据查询的效率。
可选的,当接收到客户端发送的冗余数据删除请求时,删除每个存储节点中的冗余数据表。以释放存储资源。
本公开中,在获取客户端发送的包括目标维度、关联维度及查询条件的数据查询请求之后,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表,之后,分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。由此,通过在各存储节点中,预先生成与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息的冗余数据表,之后,通过关联查询各存储节点中的第一数据表及冗余数据表,获取目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
图2为本公开实施例提供的另一种数据查询方法。
如图2所示,该方法包括:
步骤201,确定各存储节点中的关联维度对应的第二数据表。
本公开中,可以查询预设的映射关系表,确定各存储节点中关联维度对应的第二数据表。
步骤202,获取关联关系表,其中,关联关系表中包括每个第一数据表的主键值与每个第二数据表的主键值的对应关系。
本公开中,可以将关联关系表预设在系统中。关联关系表中可以包括每个存储节点中的第一数据表的各主键值与每个存储节点中的第二数据表的各主键值的对应关系。
比如,假设,存储节点1中的第一数据表中包含的主键值有01、02、03,存储节点2中的第一数据表中包含的主键值有04、05、06,存储节点1中的第二数据表中包含的主键值有11、12、13,存储节点2中的第二数据表中包含的主键值有14、15、16,且01与14存在关联关系,02与15存在关联关系,04与11存在关联关系。则将01与13关联存储在关联关系表,将02与15关联存储在关联关系表,将04与11关联存储在关联关系表。此外,关联关系表中还可以包括各对应关系的关联类型,比如04与11的关联类型为“法定代表人”等。
步骤203,基于关联关系表及每个第二数据表,关联生成冗余数据总表,其中,冗余数据总表的主键与第一数据表的主键相同。
本公开中,可以将第二数据表的主键作为连接字段,以内连接的方式生成以第一数据表中的主键值为主键,包含每个第二数据表中的数据的冗余数据总表。
步骤204,对冗余数据总表中的每个主键值进行映射,确定冗余数据总表中的每个主键值对应的存储节点。
本公开中,可以通过哈希运算等映射算法,计算冗余数据总表中的每个主键值对应的存储节点。需要说明的是,映射算法应与第一数据表的主键值的映射算法相同,从而保证将冗余数据总表中的与第一数据表中的各主键值关联的关联维度上的数据信息,映射到第一数据表中的各主键值对应的存储节点中。
步骤205,将冗余数据总表分布式保存到每个主键值对应的存储节点中,以生成各存储节点中关联维度对应的冗余数据表。
可以理解的是,由于冗余数据总表中各数据中包含的第一数据表中的主键值和第二数据表中的主键值存在关联关系。因此,可以将冗余数据总表中各数据,存储到第一数据表中的主键值对应的存储节点中,生成各存储节点中包含与其存储的第一数据表中的各主键关联的关联维度上的数据的冗余数据表。
可选的,在监测到任一第二数据表更新的情况下,根据更新后的第二数据表,重新生成冗余数据表。从而保证各存储节点中冗余数据表的准确性。
可选的,在任一存储节点中第一数据表、第二数据表及冗余数据表的占用空间大于预设阈值的情况下,扩增存储节点。
步骤206,获取客户端发送的数据查询请求,其中,数据查询请求中包括目标维度、关联维度及查询条件。
步骤207,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表。
步骤208,分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。
本公开中,步骤206-步骤208的具体实现过程,可参见本公开任一实施例的详细描述,在此不再赘述。
本公开中,通过在各存储节点中,预先生成与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息的冗余数据表,之后,通过关联查询各存储节点中的第一数据表及冗余数据表,获取目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
图3为本公开实施例提供的另一种数据查询方法。
如图3所示,该方法包括:
步骤301,获取客户端发送的数据查询请求,其中,数据查询请求中包括目标维度、关联维度及目标维度和关联维度分别对应的查询条件。
步骤302,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的第二数据表,并获取关联关系表。
本公开中,步骤301-步骤302的具体实现过程,可参见本公开任一实施例的详细描述,在此不再赘述。
步骤303,根据目标维度及对应的查询条件,查询第一数据表,以获取第一查询结果。
当直接关联查询各存储节点中的数据表时,可能会对每个存储节点中的待查询表格中的每个数据进行多次遍历,遍历数据量较大,导致查询效率较低。
本公开中,可以先查询第一数据表,获取目标维度的查询条件对应的第一查询结果,之后,再查询第一查询结果关联的满足关联维度的查询条件的第二查询结果,以降低遍历的数据数量,从而提高查询效率。
步骤304,查询关联关系表,确定每个第一查询结果的主键值对应的关联主键值,及关联主键值对应的关联存储节点。
其中,关联主键值为第一查询结果在第二数据表中关联数据的主键值。关联关系表还可以包括第二数据表中关联维度上的数据所在的存储节点。
本公开中,在数据存储的过程中,通过映射算法确定关联维度上的各数据对应的存储节点后,可以根据该数据对应的主键值,及该数据对应的存储节点,更新关联关系表。
步骤305,根据关联主键值、关联维度及对应的查询条件,查询关联存储节点中第二数据表,以获取第二查询结果。
本公开中,可以根据关联主键值、关联维度及对应的查询条件,查询关联存储节点中第二数据表,以获取关联存储节点中的第二数据表中在关联维度上满足关联维度对应的查询条件的关联主键值对应的数据。
步骤306,向客户端返回第一查询结果及第二查询结果。
本公开中,可以直接将第一查询结果及第二查询结果返回给客户端,客户端可以根据关联关系表,将第一查询结果及第二查询结果进行关联,以获取最终的关联查询结果。从而提高了关联效率。
本公开中,在获取客户端发送的包括目标维度、关联维度及目标维度和关联维度分别对应的查询条件的数据查询请求之后,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的第二数据表,并获取关联关系表,之后,根据目标维度及对应的查询条件,查询第一数据表,以获取第一查询结果,查询关联关系表,确定每个第一查询结果的主键值对应的关联主键值,及关联主键值对应的关联存储节点,根据关联主键值、关联维度及对应的查询条件,查询关联存储节点中第二数据表,以获取第二查询结果,然后,向客户端返回第一查询结果及第二查询结果。由此,通过先获取目标维度的查询条件对应的第一查询结果,之后,再查询第一查询结果关联的满足关联维度对应的查询条件的第二查询结果,以降低遍历的数据数量,从而提高查询效率。
图4是根据一示例性实施例示出的一种数据查询装置框图。参照图4,该装置包括获取模块410、确定模块420、查询模块430。
获取模块410,用于获取客户端发送的数据查询请求,其中,数据查询请求中包括目标维度、关联维度及查询条件;
确定模块420,用于查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表;
查询模块430,用于分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。
在本公开实施例一种可能的实现方式中,上述冗余数据表中包括与所在存储节点中的第一数据表关联的关联维度上的数据信息,且冗余数据表的主键与第一数据表的主键相同。
在本公开实施例一种可能的实现方式中,还包括生成模块,用于:
确定各存储节点中的关联维度对应的第二数据表;
获取关联关系表,其中,关联关系表中包括每个第一数据表的主键值与每个第二数据表的主键值的对应关系;
基于关联关系表及每个第二数据表,关联生成冗余数据总表,其中,冗余数据总表的主键与第一数据表的主键相同;
对冗余数据总表中的每个主键值进行映射,确定冗余数据总表中的每个主键值对应的存储节点;
将冗余数据总表分布式保存到每个主键值对应的存储节点中,以生成各存储节点中关联维度对应的冗余数据表。
在本公开实施例一种可能的实现方式中,上述生成模块,还用于:
在监测到任一第二数据表更新的情况下,根据更新后的第二数据表,重新生成冗余数据表。
在本公开实施例一种可能的实现方式中,还包括:
扩增模块,用于在任一存储节点中第一数据表、第二数据表及冗余数据表的占用空间大于预设阈值的情况下,扩增存储节点。
在本公开实施例一种可能的实现方式中,还包括:
删除模块,用于响应于接收到客户端发送的冗余数据删除请求,删除每个存储节点中的冗余数据表。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开中,在获取客户端发送的包括目标维度、关联维度及查询条件的数据查询请求之后,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表,之后,分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。由此,通过在各存储节点中,预先生成与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息的冗余数据表,之后,通过关联查询各存储节点中的第一数据表及冗余数据表,获取目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
图5是根据一示例性实施例示出的一种数据查询的终端设备的框图。
如图5所示,该终端设备500包括:
存储器510及处理器520,连接不同组件(包括存储器510和处理器520)的总线530,存储器510存储有计算机程序,当处理器520执行所述程序时实现本公开实施例所述的数据查询方法。
总线530表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端设备500典型地包括多种电子设备可读介质。这些介质可以是任何能够被终端设备500访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器510还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)540和/或高速缓存存储器550。终端设备500可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统560可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线530相连。存储器510可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块570的程序/实用工具580,可以存储在例如存储器510中,这样的程序模块570包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块570通常执行本公开所描述的实施例中的功能和/或方法。
终端设备500也可以与一个或多个外部设备590(例如键盘、指向设备、显示器591等)通信,还可与一个或者多个使得用户能与该终端设备500交互的设备通信,和/或与使得该终端设备500能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口592进行。并且,终端设备500还可以通过网络适配器593与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器593通过总线530与终端设备500的其它模块通信。应当明白,尽管图中未示出,可以结合终端设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器520通过运行存储在存储器510中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的终端设备的实施过程和技术原理参见前述对本公开实施例的数据查询方法的解释说明,此处不再赘述。
本公开中,在获取客户端发送的包括目标维度、关联维度及查询条件的数据查询请求之后,查询预设的映射关系表,确定各存储节点中目标维度对应的第一数据表,关联维度对应的冗余数据表,之后,分别基于查询条件,关联查询每个存储节点中的第一数据表及冗余数据表,以获取并向客户端发送目标查询结果。由此,通过在各存储节点中,预先生成与对应存储节点中第一数据表的各主键值在关联维度上关联的数据信息的冗余数据表,之后,通过关联查询各存储节点中的第一数据表及冗余数据表,获取目标查询结果。从而在避免了数据的跨存储节点关联的同时,也降低了遍历的数据量,提高了数据查询的效率。
在示例性实施例中,本公开还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由终端设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序由终端设备的处理器执行时,使得终端设备能够执行如前所述的数据查询方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种数据查询方法,其特征在于,包括:
获取客户端发送的数据查询请求,其中,所述数据查询请求中包括目标维度、关联维度及查询条件;
查询预设的映射关系表,确定各存储节点中所述目标维度对应的第一数据表,所述关联维度对应的冗余数据表;
分别基于所述查询条件,关联查询每个所述存储节点中的第一数据表及冗余数据表,以获取并向所述客户端发送目标查询结果。
2.如权利要求1所述的方法,其特征在于,所述冗余数据表中包括与所在存储节点中的第一数据表关联的所述关联维度上的数据信息,且所述冗余数据表的主键与所述第一数据表的主键相同。
3.如权利要求1所述的方法,其特征在于,在所述确定所述关联维度对应的冗余数据表之前,还包括:
确定各所述存储节点中的所述关联维度对应的第二数据表;
获取关联关系表,其中,所述关联关系表中包括每个所述第一数据表的主键值与每个所述第二数据表的主键值的对应关系;
基于所述关联关系表及每个所述第二数据表,关联生成冗余数据总表,其中,所述冗余数据总表的主键与所述第一数据表的主键相同;
对所述冗余数据总表中的每个主键值进行映射,确定所述冗余数据总表中的每个主键值对应的存储节点;
将所述冗余数据总表分布式保存到每个所述主键值对应的存储节点中,以生成各所述存储节点中所述关联维度对应的冗余数据表。
4.如权利要求3所述的方法,其特征在于,还包括:
在监测到任一所述第二数据表更新的情况下,根据更新后的第二数据表,重新生成冗余数据表。
5.如权利要求3所述的方法,其特征在于,还包括:
在任一所述存储节点中第一数据表、第二数据表及冗余数据表的占用空间大于预设阈值的情况下,扩增所述存储节点。
6.如权利要求1所述的方法,其特征在于,还包括:
响应于接收到所述客户端发送的冗余数据删除请求,删除每个所述存储节点中的冗余数据表。
7.一种数据查询装置,其特征在于,包括:
获取模块,用于获取客户端发送的数据查询请求,其中,所述数据查询请求中包括目标维度、关联维度及查询条件;
确定模块,用于查询预设的映射关系表,确定各存储节点中所述目标维度对应的第一数据表,所述关联维度对应的冗余数据表;
查询模块,用于分别基于所述查询条件,关联查询每个所述存储节点中的第一数据表及冗余数据表,以获取并向所述客户端发送目标查询结果。
8.如权利要求7所述的装置,其特征在于,所述冗余数据表中包括与所在存储节点中的第一数据表关联的所述关联维度上的数据信息,且所述冗余数据表的主键与所述第一数据表的主键相同。
9.如权利要求7所述的装置,其特征在于,还包括生成模块,用于:
确定各所述存储节点中的所述关联维度对应的第二数据表;
获取关联关系表,其中,所述关联关系表中包括每个所述第一数据表的主键值与每个所述第二数据表的主键值的对应关系;
基于所述关联关系表及每个所述第二数据表,关联生成冗余数据总表,其中,所述冗余数据总表的主键与所述第一数据表的主键相同;
对所述冗余数据总表中的每个主键值进行映射,确定所述冗余数据总表中的每个主键值对应的存储节点;
将所述冗余数据总表分布式保存到每个所述主键值对应的存储节点中,以生成各所述存储节点中所述关联维度对应的冗余数据表。
10.如权利要求9所述的装置,其特征在于,所述生成模块,还用于:
在监测到任一所述第二数据表更新的情况下,根据更新后的第二数据表,重新生成冗余数据表。
11.如权利要求9所述的装置,其特征在于,还包括:
扩增模块,用于在任一所述存储节点中第一数据表、第二数据表及冗余数据表的占用空间大于预设阈值的情况下,扩增所述存储节点。
12.如权利要求7所述的装置,其特征在于,还包括:
删除模块,用于响应于接收到所述客户端发送的冗余数据删除请求,删除每个所述存储节点中的冗余数据表。
13.一种终端设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的数据查询方法。
14.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如权利要求1-6中任一项所述的数据查询方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310019267.4A CN116069810A (zh) | 2023-01-06 | 2023-01-06 | 数据查询方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310019267.4A CN116069810A (zh) | 2023-01-06 | 2023-01-06 | 数据查询方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069810A true CN116069810A (zh) | 2023-05-05 |
Family
ID=86174334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310019267.4A Pending CN116069810A (zh) | 2023-01-06 | 2023-01-06 | 数据查询方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069810A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076465A (zh) * | 2023-10-16 | 2023-11-17 | 支付宝(杭州)信息技术有限公司 | 一种数据关联查询方法及相关设备 |
-
2023
- 2023-01-06 CN CN202310019267.4A patent/CN116069810A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076465A (zh) * | 2023-10-16 | 2023-11-17 | 支付宝(杭州)信息技术有限公司 | 一种数据关联查询方法及相关设备 |
CN117076465B (zh) * | 2023-10-16 | 2024-04-05 | 支付宝(杭州)信息技术有限公司 | 一种数据关联查询方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107784044B (zh) | 表数据查询方法及装置 | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
CN109213604B (zh) | 一种数据源的管理方法和装置 | |
US10496645B1 (en) | System and method for analysis of a database proxy | |
CN105550270B (zh) | 数据库查询方法和装置 | |
US20190303486A1 (en) | Dynamic hash partitioning for large-scale database management systems | |
CN112463800A (zh) | 数据读取方法、装置、服务器及存储介质 | |
CN111339171A (zh) | 数据查询的方法、装置及设备 | |
CN113760847A (zh) | 日志数据处理方法、装置、设备及存储介质 | |
CN109376173A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN107704475B (zh) | 多层分布式非结构化数据存储方法、查询方法及装置 | |
CN116069810A (zh) | 数据查询方法、装置及终端设备 | |
CN111506613A (zh) | 一种数据记录的关联关系的查询方法、系统、装置及设备 | |
CN114925041A (zh) | 一种数据查询方法及装置 | |
CN113574518A (zh) | 用于减少高速缓存内存占用的高速缓存对象的内存式规范化 | |
CN111400301A (zh) | 一种数据查询方法、装置及设备 | |
CN116610676A (zh) | 一种分布式系统中标识的生成方法、装置、设备及介质 | |
CN107656999B (zh) | 呼叫历史追溯方法、装置、电子设备、存储介质 | |
CN116431615A (zh) | 一种面向复杂业务场景的灵活数据分区路由方法 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
JP2003316811A (ja) | 異種データベース統合システムにおける問い合わせ最適化処理装置、方法、及びその方法をコンピュータに実行させるプログラム | |
CN115455042A (zh) | 数据处理方法、设备以及计算机可读存储介质 | |
CN114063931A (zh) | 一种基于大数据的数据存储方法 | |
CN113419792A (zh) | 一种事件处理方法、装置、终端设备和存储介质 | |
CN113868267A (zh) | 注入时序数据的方法、查询时序数据的方法及数据库系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |