数据的查询方法和装置、存储介质及电子装置与流程

文档序号:30997990发布日期:2022-08-03 03:52阅读:80来源:国知局
数据的查询方法和装置、存储介质及电子装置与流程

1.本技术涉及智能家居技术领域,具体而言,涉及一种数据的查询方法和装置、存储介质及电子装置。


背景技术:

2.随着科技的发展,大数据已经遍布社会生活的各个角落,大数据在许多的应用场景中,都需要用到sql(结构化查询语言,structured query language)对多个数据表中的数据进行不等值关联,查询需求的数据,但是在现有技术中,使用sql对数据表进行不等值关联产生的笛卡尔积的数据量会异常庞大,并且随着数据表的数据增多,笛卡尔积过大的问题越来越突出,会占用过多的系统资源导致给处理数据的系统处理带来很大的负担,并且,过大的笛卡尔积会降低对数据的查询效率。
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.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1是根据本技术实施例的一种数据的查询方法的硬件环境示意图;
39.图2是根据本技术实施例的一种数据的查询方法的流程图;
40.图3是根据本技术实施例的关联数据表的示意图;
41.图4是根据本技术实施例的第三数据表的示意图;
42.图5是根据本技术实施例的第二数据表与所述第三数据表关联过程的示意图;
43.图6是根据本技术实施例的第二数据表(表a)与所述第三数据表(表c)匹配过程的示意图;
44.图7是根据本技术实施例的目标数据表的生成示意图;
45.图8是根据本技术实施例的目标数据表的生成流程图;
46.图9是根据本技术实施例的一种数据的查询方法的示意图;
47.图10是根据本技术实施例的一种数据的查询装置的结构框图。
具体实施方式
48.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
49.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
50.根据本技术实施例的一个方面,提供了一种数据的查询方法。该数据的查询方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述数据的查询方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
51.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
52.在本实施例中提供了一种数据的查询方法,应用于上述计算机终端,图2是根据本技术实施例的一种数据的查询方法的流程图,该流程包括如下步骤:
53.步骤s202,接收数据查询请求,其中,所述数据查询请求用于请求查询多个数据表之间的关联数据表满足目标查询条件的数据,所述目标查询条件用于指示查询数据字段和参照数据字段之间的不等值关系;
54.步骤s204,响应所述数据查询请求,根据所述参照数据字段和所述目标查询条件,将所述多个数据表中包括所述参照数据字段的第一数据表扩展为第三数据表,其中,所述第三数据表中携带了用于对数据进行预筛选的筛选条件;
55.步骤s206,根据查询数据字段与所述筛选条件之间的匹配关系,将第二数据表与所述第三数据表关联,得到第四数据表,其中,所述第二数据表为所述多个数据表中包括所述查询数据字段的数据表;
56.步骤s208,从所述第四数据表中查询满足所述目标查询条件的数据,得到目标数据表。
57.通过上述步骤,在接收到对多个数据表之间的关联数据表进行查询的查询请求之后,根据目标查询条件指示的查询数据字段和参照数据字段之间的不等值关系进行查询,首先将包括所述参照数据字段的第一数据表扩展为第三数据表,其中,扩展的内容包括了用于对数据进行预筛选的筛选条件,在后续的关联过程中,先将查询数据字段和筛选条件进行匹配,只将查询数据字段和筛选条件匹配成功的数据才进行关联,查询数据字段和筛选条件未匹配成功的数据不进行关联,在关联之前,通过这一步预筛选操作,大大减少了关联产生的笛卡尔积,避免直接将多个关联数据表进行不等值关联产生庞大的笛卡尔积,其中,笛卡尔积的减少可以有效的提高数据查询的效率,最后根据目标查询条件在关联得到的第四数据表中高效率地查询数据。采用上述技术方案,解决了相关技术中,数据查询的效率低等问题,实现了提高数据查询的效率的技术效果。
58.在上述步骤s202提供的技术方案中,数据查询请求可以但不限于用于请求查询多个数据表之间的关联数据表满足目标查询条件的数据,也就是说,大数据服务器中可以存在多个数据表,比如:表a,表b,表c,表d等等,数据查询请求可以用于查询表a,表b,表c,表d中的关联数据表(表a和表b)的数据。
59.可选地,在本实施例中,多个数据表之间的关联数据表中的关联数据表可以但不限于指具有数据关联关系的多个数据表,比如,图3是根据本技术实施例的关联数据表的示意图,如图3所示,表a和表b为具有数据关联关系的两个数据表,其中,表a和表b的第一列(设备id)都是aaaa,其余列都是描述设备aaaa对应的数据信息,比如,表a中的event_tm代表设备aaaa对应的事件上报时间,表a中的power代表设备aaaa在对应的事件上报时间时的运行功率,表b中的on_tm代表设备aaaa的开机时间,表b中的off_tm代表设备aaaa的关机时间,类似这种通过多个数据表共同承载对同一个关联主体的相关数据,那么这种描述同一个关联主体的相关数据的多个数据表互为关联数据表。
60.可选地,在本实施例中,目标查询条件用于指示查询数据字段和参照数据字段之间的不等值关系,比如,目标查询条件可以为on_tm≤event_tm≤off_tm,上述不等值关系用于指示查询数据字段(event_tm)大于参照数据字段(on_tm),并且,查询数据字段(event_tm)小于参照数据字段(off_tm)。
61.可选地,在本实施例中,查询数据字段可以指待查询的数据,比如,上述查询表a和表b中满足目标查询条件(on_tm≤event_tm≤off_tm)的event_tm对应的数据值,那么,就可以将event_tm作为查询数据字段。
62.可选地,在本实施例中,参照数据字段可以指辅助查询的参照数据,比如,上述表b中的on_tm和off_tm,可以作为辅助和参照,从而根据目标查询条件(on_tm≤event_tm≤
off_tm)来查询表a中满足目标查询条件的event_tm对应的数据值。
63.在上述步骤s204提供的技术方案中,根据所述参照数据字段和所述目标查询条件,将所述多个数据表中包括所述参照数据字段的第一数据表扩展为第三数据表,也就是说,扩展的依据可以但不限于是基于参照数据字段和所述目标查询条件而定的,比如,已知目标查询条件(on_tm≤event_tm≤off_tm)且参照数据字段(on_tm和off_tm),可以扩展设备运行时间落入的10分钟区间,也就是说,on_tm和off_tm之间的时间为设备运行时间,将一天以10分钟为间隔,划分为多个区间,可以扩展上述设备运行时间落入的10分钟区间信息,比如,当on_tm为09:00:10且off_tm为09:15:00时,on_tm和off_tm之间的运行时间为09:00:10~09:15:00,其落入是10分钟区间为以09:00:00~09:10:00和09:10:00~09:20:00两个10分钟区间。
64.在一个示例性实施例中,可以但不限于通过以下方式根据所述参照数据字段和所述目标查询条件,将所述多个数据表中包括所述参照数据字段的第一数据表扩展为第三数据表:根据所述参照数据字段和所述目标查询条件,在所述第一数据表中添加目标扩展字段,得到扩展数据表;根据所述参照数据字段的参照数据值与所述目标扩展字段之间的关系,确定所述参照数据值对应的所述目标扩展字段的扩展数据值,其中,所述目标扩展字段的扩展数据值用于指示所述筛选条件;将所述扩展数据值添加到所述扩展数据表中,得到所述第三数据表。
65.可选地,在本实施例中,目标扩展字段可以但不限于为根据所述参照数据字段和所述目标查询条件确定的,比如,图4是根据本技术实施例的第三数据表的示意图,如图4所示,在基于表b的基础上,扩展了目标扩展字段(on_10min_tm)得到了第三数据表(表c),根据表b中的on_tm和off_tm,得到了时间区间(on~off),指示对应的on_tm和off_tm落入的10分钟区间,添加目标扩展字段目标扩展字段(on_10min_tm),将得到的时间区间的“左端”作为扩展数据值。比如,on_tm(11:15:10)和off_tm(11:20:10)落入时间区间(11:10:00~11:20:00和11:20:00~11:30:00),将时间区间的“左端”作为扩展数据值得到(on_10min_tm)为11:10:00和11:20:00。
66.在一个示例性实施例中,可以但不限于通过以下方式根据所述参照数据字段和所述目标查询条件,在所述第一数据表中添加目标扩展字段,得到扩展数据表:根据所述参照数据字段和所述目标查询条件构造所述目标扩展字段;在所述第一数据表中添加所述目标扩展字段对应的数据列,得到所述扩展数据表。
67.可选地,在本实施例中,参照数据字段和所述目标查询条件构造所述目标扩展字段可以但不限于通过以下方式构造,比如,已知参照数据字段(on_tm和off_tm)、目标查询条件(on_tm≤event_tm≤off_tm),on_tm和off_tm之间的时间差表示设备运行时间,首先可以将所述参照数据字段对应的参照定义域等分为多个数据区间,其中,所述参照定义域为所述参照数据字段允许的所有取值的集合,也就是说,参照定义域可以指设备允许运行的所有时间,将总时间等分为多个数据区间,那么就需要确定等分总时间的目标数据间隔,可以但不限于通过以下方式确定区间间隔:首先获取所述查询数据字段包括的多组数据之间的多组数据间隔;然后根据所述多组数据间隔确定目标数据间隔,其中,所述目标数据间隔用于代表所述多组数据间隔的平均值;比如,获取到多组event_tm对应的数据值,求出平均值10min,将10min作为目标数据间隔,构造得到目标扩展字段:on_10min_tm。
68.在上述步骤s206提供的技术方案中,根据查询数据字段与所述筛选条件之间的匹配关系,将第二数据表与所述第三数据表关联,得到第四数据表,其中,所述第二数据表为所述多个数据表中包括所述查询数据字段的数据表,也就是说,可以但不限于在关联之前,还可以执行一步匹配操作,关联操作是基于匹配关系来进行的,其中,所述匹配关系可以是数值的比对关系,比如,将查询数据字段的数值和对应的筛选条件的数值进行比对,可以但不限于在数值相等的情况下,确定匹配关系为匹配成功;可以但不限于在数值不相等的情况下,确定匹配关系为匹配失败。
69.在一个示例性实施例中,可以但不限于通过以下方式根据查询数据字段与所述筛选条件之间的匹配关系,将第二数据表与所述第三数据表关联,得到第四数据表,其中,所述第二数据表为所述多个数据表中包括所述查询数据字段的数据表:将所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件进行匹配;将所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件匹配成功的数据进行关联,得到第四数据表。
70.可选地,在本实施例中,将所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件进行匹配,可以但不限于通过以下方式,比如,图5是根据本技术实施例的第二数据表与所述第三数据表关联过程的示意图,如图5所示,第二数据表(表a)中的event_tm和第三数据表(表c)中的on_10min_tm进行匹配,将满足筛选条件的数据值进行关联,得到第四数据表(表d),不满足筛选条件的数据值不进行关联。
71.在一个示例性实施例中,可以但不限于通过以下方式将所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件进行匹配:将所述每个查询数据值中的第一数据与所述第三数据表中目标扩展字段的每个扩展数据值中的第二数据进行比对,其中,所述目标扩展字段的扩展数据值用于指示所述筛选条件;在所述第一数据与所述第二数据比对一致的情况下,确定所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件匹配成功。
72.可选地,在本实施例中,将所述每个查询数据值中的第一数据与所述第三数据表中目标扩展字段的每个扩展数据值中的第二数据进行比对,其中,第一数据和第二数据可以但不限于相等,比如,图6是根据本技术实施例的第二数据表(表a)与所述第三数据表(表c)匹配过程的示意图,如图6所示,可以但不限于取event_tm的查询数据值的前4位和on_10min_tm的扩展数据值的前4位进行比对,在数据值相等的情况下,确定筛选条件匹配成功。
73.在上述步骤s208提供的技术方案中,从所述第四数据表中查询满足所述目标查询条件的数据,得到目标数据表可以但不限于通过对第四数据表的数据根据目标查询条件进行数据查询,由于上述预筛选和关联处理,第四数据表包含的笛卡尔积将大大降低。
74.在一个示例性实施例中,可以但不限于通过以下方式从所述第四数据表中查询满足所述目标查询条件的数据,得到目标数据表:获取所述第四数据表包括的所述查询数据字段的查询数据值和所述参照数据字段的参照数据值;从所述第四数据表中删除所述查询数据值和所述参照数据值不满足所述目标查询条件的数据,得到所述目标数据表。
75.可选地,在本实施例中,在获得目标数据表之前,还可以删除所述查询数据值和所述参照数据值不满足所述目标查询条件的数据,比如,图7是根据本技术实施例的目标数据
表的生成示意图,如图7所示,比对event_tm的查询数据值和on_10min_tm的扩展数据值,删除不满足目标查询条件(on_tm≤event_tm≤off_tm)的数据,得到目标数据表。
76.在一个示例性实施例中,可以但不限于通过以下方式从所述第四数据表中删除所述查询数据值和所述参照数据值不满足所述目标查询条件的数据,得到所述目标数据表:从所述第四数据表中删除所述查询数据值和所述参照数据值不满足所述目标查询条件的数据作为候选数据表;从所述候选数据表中删除所述筛选条件,得到所述目标数据表。
77.可选地,在本实施例中,在得到所述目标数据表,还可以将筛选条件删除,图8是根据本技术实施例的目标数据表的生成流程图,如图8所示,首先删除第四数据表中查询数据值和参照数据值不满足目标查询条件的数据作为候选数据表,然后将候选数据表中的筛选条件(on_10min_tm)删除,得到目标数据表。
78.为了更好的理解上述数据的查询方法的过程,以下再结合可选实施例对上述数据的查询方法流程进行说明,但不用于限定本技术实施例的技术方案。
79.在本实施例中提供了一种数据的查询方法,图9是根据本技术实施例的一种数据的查询方法的示意图,如图9所示,主要包括如下步骤:
80.步骤s901:获取a表数据,获取b表数据;
81.步骤s902:根据规则拓展得到b表对应的拓展字段;
82.步骤s903:根据获得的拓展字段,对b表的数据进行拓展,得到c表;
83.步骤s904:将a表和c表进行关联;
84.步骤s905:将关联得到的数据集进行过滤,得到目标数据集。
85.通过以上的实施方式,本技术提出了一种处理大数据表不等值关联过程中产生笛卡尔积的计算方法,通过拓展新的关联关系字段和数据集实现关联复杂度降低。其中,本技术使用时间字段的特征进行拓展,进而也可以推广到其它有特征的字段。
86.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
87.图10是根据本技术实施例的一种数据的查询装置的结构框图;如图10所示,包括:
88.接收模块1002,用于接收数据查询请求,其中,所述数据查询请求用于请求查询多个数据表之间的关联数据表满足目标查询条件的数据,所述目标查询条件用于指示查询数据字段和参照数据字段之间的不等值关系;
89.扩展模块1004,用于响应所述数据查询请求,根据所述参照数据字段和所述目标查询条件,将所述多个数据表中包括所述参照数据字段的第一数据表扩展为第三数据表,其中,所述第三数据表中携带了用于对数据进行预筛选的筛选条件;
90.关联模块1006,用于根据查询数据字段与所述筛选条件之间的匹配关系,将第二数据表与所述第三数据表关联,得到第四数据表,其中,所述第二数据表为所述多个数据表中包括所述查询数据字段的数据表;
91.查询模块1008,用于从所述第四数据表中查询满足所述目标查询条件的数据,得
到目标数据表。
92.通过上述实施例,在接收到对多个数据表之间的关联数据表进行查询的查询请求之后,根据目标查询条件指示的查询数据字段和参照数据字段之间的不等值关系进行查询,首先将包括所述参照数据字段的第一数据表扩展为第三数据表,其中,扩展的内容包括了用于对数据进行预筛选的筛选条件,在后续的关联过程中,先将查询数据字段和筛选条件进行匹配,只将查询数据字段和筛选条件匹配成功的数据才进行关联,查询数据字段和筛选条件未匹配成功的数据不进行关联,在关联之前,通过这一步预筛选操作,大大减少了关联产生的笛卡尔积,避免直接将多个关联数据表进行不等值关联产生庞大的笛卡尔积,其中,笛卡尔积的减少可以有效的提高数据查询的效率,最后根据目标查询条件在关联得到的第四数据表中高效率地查询数据。采用上述技术方案,解决了相关技术中,数据查询的效率低等问题,实现了提高数据查询的效率的技术效果。
93.在一个示例性实施例中,所述扩展模块,包括:
94.第一添加单元,用于根据所述参照数据字段和所述目标查询条件,在所述第一数据表中添加目标扩展字段,得到扩展数据表;
95.确定单元,用于根据所述参照数据字段的参照数据值与所述目标扩展字段之间的关系,确定所述参照数据值对应的所述目标扩展字段的扩展数据值,其中,所述目标扩展字段的扩展数据值用于指示所述筛选条件;
96.第二添加单元,用于将所述扩展数据值添加到所述扩展数据表中,得到所述第三数据表。
97.在一个示例性实施例中,所述第一添加单元,用于:
98.根据所述参照数据字段和所述目标查询条件构造所述目标扩展字段;
99.在所述第一数据表中添加所述目标扩展字段对应的数据列,得到所述扩展数据表。
100.在一个示例性实施例中,所述关联模块,包括:
101.匹配单元,用于将所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件进行匹配;
102.关联单元,用于将所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件匹配成功的数据进行关联,得到第四数据表。
103.在一个示例性实施例中,所述匹配单元,用于:
104.将所述每个查询数据值中的第一数据与所述第三数据表中目标扩展字段的每个扩展数据值中的第二数据进行比对,其中,所述目标扩展字段的扩展数据值用于指示所述筛选条件;
105.在所述第一数据与所述第二数据比对一致的情况下,确定所述第二数据表中所述查询数据字段的每个查询数据值与所述第三数据表中所述筛选条件匹配成功。
106.在一个示例性实施例中,所述查询模块,包括:
107.获取单元,用于获取所述第四数据表包括的所述查询数据字段的查询数据值和所述参照数据字段的参照数据值;
108.删除单元,用于从所述第四数据表中删除所述查询数据值和所述参照数据值不满足所述目标查询条件的数据,得到所述目标数据表。
109.在一个示例性实施例中,所述删除单元,用于:
110.从所述第四数据表中删除所述查询数据值和所述参照数据值不满足所述目标查询条件的数据作为候选数据表;
111.从所述候选数据表中删除所述筛选条件,得到所述目标数据表。
112.本技术的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
113.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
114.s1,接收数据查询请求,其中,所述数据查询请求用于请求查询多个数据表之间的关联数据表满足目标查询条件的数据,所述目标查询条件用于指示查询数据字段和参照数据字段之间的不等值关系;
115.s2,响应所述数据查询请求,根据所述参照数据字段和所述目标查询条件,将所述多个数据表中包括所述参照数据字段的第一数据表扩展为第三数据表,其中,所述第三数据表中携带了用于对数据进行预筛选的筛选条件;
116.s3,根据查询数据字段与所述筛选条件之间的匹配关系,将第二数据表与所述第三数据表关联,得到第四数据表,其中,所述第二数据表为所述多个数据表中包括所述查询数据字段的数据表;
117.s4,从所述第四数据表中查询满足所述目标查询条件的数据,得到目标数据表。
118.本技术的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
119.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
120.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
121.s1,接收数据查询请求,其中,所述数据查询请求用于请求查询多个数据表之间的关联数据表满足目标查询条件的数据,所述目标查询条件用于指示查询数据字段和参照数据字段之间的不等值关系;
122.s2,响应所述数据查询请求,根据所述参照数据字段和所述目标查询条件,将所述多个数据表中包括所述参照数据字段的第一数据表扩展为第三数据表,其中,所述第三数据表中携带了用于对数据进行预筛选的筛选条件;
123.s3,根据查询数据字段与所述筛选条件之间的匹配关系,将第二数据表与所述第三数据表关联,得到第四数据表,其中,所述第二数据表为所述多个数据表中包括所述查询数据字段的数据表;
124.s4,从所述第四数据表中查询满足所述目标查询条件的数据,得到目标数据表。
125.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
126.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
127.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
128.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1