CN113220718B - 数据查询方法、装置、电子设备以及存储介质 - Google Patents

数据查询方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN113220718B
CN113220718B CN202110548155.9A CN202110548155A CN113220718B CN 113220718 B CN113220718 B CN 113220718B CN 202110548155 A CN202110548155 A CN 202110548155A CN 113220718 B CN113220718 B CN 113220718B
Authority
CN
China
Prior art keywords
data
query request
data query
dimension
database
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.)
Active
Application number
CN202110548155.9A
Other languages
English (en)
Other versions
CN113220718A (zh
Inventor
贺祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110548155.9A priority Critical patent/CN113220718B/zh
Publication of CN113220718A publication Critical patent/CN113220718A/zh
Application granted granted Critical
Publication of CN113220718B publication Critical patent/CN113220718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs

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

数据查询方法、装置、电子设备以及存储介质
技术领域
本申请涉及数据库领域,尤其涉及一种数据查询方法、装置、电子设备以及存储介质。
背景技术
随着网络技术的发展,在网络上的行为会产生数据,这些数据往往被存储在数据库中,以供后续进行查阅。比如,在广告投放过程中,用户对广告的点击行为以及广告投放时投入的费用均会产生数据,这些数据根据其对应的行为能够被分为不同维度的数据,一个维度对应于一个行为。将多个维度的数据进行组合,能够对广告投放的效果进行综合评价。
相关技术中,用户能够通过数据库查询语言(SQL,Structured Query Language)来从数据库中数据,但是不同用户可能会通过结构不同的SQL语句来查询相同的数据,这就导致已经加载至数据缓存中的数据可能会出现未命中的现象,需要在数据库中重新加载数据,这就对数据库造成巨大的查询压力,降低了数据查询的效率。
发明内容
本申请提供一种数据查询方法、装置及系统,以提高数据查询的效率。本申请的技术方案如下:
一方面,提供一种数据查询方法,包括:
获取第一数据查询请求,所述第一数据查询请求用于查询目标对象的至少一个维度的数据;
对所述第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求;
响应于所述数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件,获取所述至少一个维度的数据,所述第二数据查询请求与所述第一数据查询请求的接收间隔符合目标时间条件;
向第一终端和至少一个第二终端返回所述至少一个维度的数据,所述第一终端为所述第一数据查询请求的发送方,所述第二终端为所述第二数据查询请求的发送方。
在一些实施例中,所述对所述第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求包括:
对所述第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求;
对所述时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到所述数据规整后的第一数据查询请求。
在一些实施例中,所述对所述第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求包括:
对所述查询时间字段的两个时间端点进行取整,得到所述两个时间端点分别对应的两个取整时间端点;
采用所述两个取整时间端点,对所述第一数据查询请求中的所述查询时间字段进行更新,得到所述时间聚合处理后的第一数据查询请求。
在一些实施例中,所述对所述时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到所述数据规整后的第一数据查询请求包括下述至少一项:
按照字母表中字母的排列顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求;
按照所述多个字段中数字由小至大的顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求。
在一些实施例中,所述获取所述至少一个维度的数据包括下述任一项:
响应于数据库缓存中存储有所述至少一个维度的数据,从所述数据库缓存中获取所述至少一个维度的数据;
响应于所述数据库缓存中未存储有所述至少一个维度的数据,基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中获取所述至少一个维度的数据。
在一些实施例中,所述基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中获取所述至少一个维度的数据包括:
基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中将所述至少一个维度的数据加载至所述数据库缓存中,从所述数据库缓存中获取所述至少一个维度的数据。
在一些实施例中,所述方法还包括下述任一项:
基于所述至少一个维度的数据,生成所述目标对象的数据报表,所述数据报表用于展示所述至少一个维度的数据;
基于所述至少一个维度的数据,生成所述目标对象的数据图像,所述数据图像用于展示所述至少一个维度的数据。
在一些实施例中,所述方法还包括:
响应于任一账号登录,在所述数据库缓存中加载与所述账号对应的数据。
在一些实施例中,所述在所述数据库缓存中加载与所述账号对应的数据包括下述任一项:
从数据库中将所述账号查询过的数据加载至所述数据库缓存中;
从所述数据库中将所述账号订阅的数据加载至所述数据库缓存中;
从所述数据库中将所述账号查询频率符合目标频率条件的数据加载至所述数据库缓存中。
在一些实施例中,所述方法还包括:
将所述数据库缓存中存储的所述至少一个维度的数据转移至所述数据库缓存中的一个数据块中。
在一些实施例中,所述从所述数据库缓存中获取所述至少一个维度的数据之后,所述方法还包括:
响应于对所述目标对象的第三数据查询请求,从所述数据块中获取与所述第三数据查询请求对应的数据,所述第三数据查询请求用于查询所述至少一个维度的数据中一个维度的数据。
在一些实施例中,所述数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件是指:
所述数据规整后的第一数据查询请求与所述任一数据规整后的第二数据查询请求之间的相似度大于或等于相似度阈值。
一方面,提供一种数据查询装置,包括:
第一数据查询请求获取单元,被配置为执行获取第一数据查询请求,所述第一数据查询请求用于查询目标对象的至少一个维度的数据;
数据规整单元,被配置为执行对所述第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求;
数据获取单元,被配置为执行响应于所述数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件,获取所述至少一个维度的数据,所述第二数据查询请求与所述第一数据查询请求的接收间隔符合目标时间条件;
数据返回单元,被配置为执行向第一终端和至少一个第二终端返回所述至少一个维度的数据,所述第一终端为所述第一数据查询请求的发送方,所述第二终端为所述第二数据查询请求的发送方。
在一些实施例中,所述数据规整单元,被配置为执行对所述第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求;对所述时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到所述数据规整后的第一数据查询请求。
在一些实施例中,所述数据规整单元,被配置为执行对所述查询时间字段的两个时间端点进行取整,得到所述两个时间端点分别对应的两个取整时间端点;采用所述两个取整时间端点,对所述第一数据查询请求中的所述查询时间字段进行更新,得到所述时间聚合处理后的第一数据查询请求。
在一些实施例中,所述数据规整单元,被配置为执行下述至少一项:
按照字母表中字母的排列顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求;
按照所述多个字段中数字由小至大的顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求。
在一些实施例中,所述数据获取单元,被配置为执行下述任一项:
响应于数据库缓存中存储有所述至少一个维度的数据,从所述数据库缓存中获取所述至少一个维度的数据;
响应于所述数据库缓存中未存储有所述至少一个维度的数据,基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中获取所述至少一个维度的数据。
在一些实施例中,所述数据获取单元,被配置为执行基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中将所述至少一个维度的数据加载至所述数据库缓存中,从所述数据库缓存中获取所述至少一个维度的数据。
在一些实施例中,所述装置还包括下述任一个单元:
数据报表生成单元,被配置为执行基于所述至少一个维度的数据,生成所述目标对象的数据报表,所述数据报表用于展示所述至少一个维度的数据;
数据图像生成单元,被配置为执行基于所述至少一个维度的数据,生成所述目标对象的数据图像,所述数据图像用于展示所述至少一个维度的数据。
在一些实施例中,所述装置还包括数据加载单元,被配置为执行响应于任一账号登录,在所述数据库缓存中加载与所述账号对应的数据。
在一些实施例中,所述数据加载单元,被配置为执行下述任一项:
从数据库中将所述账号查询过的数据加载至所述数据库缓存中;
从所述数据库中将所述账号订阅的数据加载至所述数据库缓存中;
从所述数据库中将所述账号查询频率符合目标频率条件的数据加载至所述数据库缓存中。
在一些实施例中,所述装置还包括数据转移单元,被配置将所述数据库缓存中存储的所述至少一个维度的数据转移至所述数据库缓存中的一个数据块中。
在一些实施例中,所述数据获取单元,还被配置为执行响应于对所述目标对象的第三数据查询请求,从所述数据块中获取与所述第三数据查询请求对应的数据,所述第三数据查询请求用于查询所述至少一个维度的数据中一个维度的数据。
在一些实施例中,所述数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件是指:
所述数据规整后的第一数据查询请求与所述任一数据规整后的第二数据查询请求之间的相似度大于或等于相似度阈值。
一方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述数据查询方法。
一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述数据查询方法。
一方面,提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述数据查询方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
通过本申请实施例提供的技术方案,在获取第一数据查询请求之后,能够对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。比较数据规整后的第一数据查询请求和数据规整后的第二数据查询请求。当两个数据规整后的数据查询请求之间符合目标条件时,表示两个数据查询请求为相同的数据查询请求,只需基于第一数据查询请求进行一次数据查询即可,从而提高了数据查询的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据一示例性实施例示出的一种数据查询方法的实施环境示意图。
图2是根据一示例性实施例示出的一种数据查询方法的流程图。
图3是根据一示例性实施例示出的一种数据查询方法的流程图。
图4是根据一示例性实施例示出的一种界面示意图。
图5是根据一示例性实施例示出的一种界面示意图。
图6是根据一示例性实施例示出的一种数据查询方法的架构图。
图7是根据一示例性实施例示出的一种数据查询方法的流程图。
图8是根据一示例性实施例示出的一种数据查询装置的框图。
图9是根据一示例性实施例示出的一种终端的框图。
图10是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
下面对本申请涉及的名词进行介绍。
OLAP(Online Analytical Processing)联机分析处理,在申请中,主要代指实时多维分析。
可选地,本申请实施例提供的电子设备实现为终端或服务器,下面对由终端和服务器构成的实施环境进行介绍。
图1是本申请实施例提供的一种数据查询方法的实施环境示意图,参见图1,该实施环境中可以包括终端101和服务器102。
终端101可以为智能手机、智能手表、台式电脑、手提电脑和膝上型便携计算机等设备中的至少一种。终端101上可以安装并运行有支持数据查询的应用程序,用户可以通过该应用程序来信息数据查询。
终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端101可以仅为几个,或者上述终端101为几十个或几百个,或者更多数量,本申请实施例对终端101的数量和设备类型均不加以限定。终端101可以通过无线网络或有线网络与服务器102相连。
服务器102可以为一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器102对应维护有数据库,终端101能够通过支持数据查询的应用程序来对服务器102维护的数据库进行查询。
可选地,上述服务器102的数量可以更多或更少,本申请实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。
在介绍完本申请实施例提供的实施环境之后,下面将结合上述实施环境,对本申请实施例的应用场景进行介绍,需要说明的是,下述说明过程中的终端也即是上述实施环境中的终端101,服务器也即是上述实施环境中的服务器102。
本申请提供的数据查询方法能够应用在多种数据查询的场景下,比如应用在查询与广告投放效果相关的数据的场景下,或者应用在查询与天气相关的数据的场景下,本申请实施例对此不做限定。
在查询与广告投放效果相关的数据的场景下,广告投放相关的数据包括投放广告的花费数据、广告的曝光数据、广告的点击数据以及投放广告后的销售额数据等,这些不同类型的数据对应于不同的维度。用户能够通过终端选择想要查询的数据,终端基于用户选择的数据触发第一数据查询请求。终端向服务器发送第一数据查询请求,第一数据查询请求用于查询广告的至少一个维度的数据。服务器基于第一数据查询请求,从数据库中获取与第一数据查询请求对应的数据,将数据发送给终端,终端将接收到的数据展示给用户。若用户只想要查询广告的曝光数据,那么终端发送第一数据查询请求也就用于查询广告的曝光数据。服务器接收到第一数据查询请求之后,能够从数据库中获取广告的曝光数据,将广告的曝光数据发送给终端,由终端将广告的曝光数据展示给用户。若用户想要同时查询广告的花费数据和广告的曝光数据,那么终端发送的第一数据查询请求也就用于同时查询广告的花费数据和广告的曝光数据。服务器接收到第一数据查询请求之后,能够从数据库中获取广告的花费数据和广告的曝光数据,将广告的花费数据和广告的曝光数据发送给终端,由终端向用户展示广告的花费数据和广告的曝光数据。在一些实施例中,终端还能够将广告的花费数据和广告的曝光数据进行组合,比如基于数据对应的时间来生成数据报表,数据报表中的第一列展示广告的花费数据,数据报表的第二列展示广告的曝光数据,其中,数据报表相同行的广告的花费数据与广告的曝光数据的产生时间相同。通过查看数据报表,用户就能够得知广告的花费数据和广告的曝光数据之间的关系。另外,终端也能够基于广告的花费数据和广告的曝光数据生成一个折线图,比如横坐标为广告的花费数据,纵坐标为广告的曝光数据,折线图上每个点也就表示在某个广告花费下,广告的曝光数据为多少,通过折线图用户能够更加清楚的得知广告的花费数据和广告的曝光数据之间的关系。
在查询与天气相关的数据的场景下,与天气相关的数据包括气温数据、湿度数据、风速数据以及天气类型数据等,这些不同类型的数据对应于不同的维度。用户能够通过终端选择想要查询的数据,终端基于用户选择的数据触发第一数据查询请求。终端向服务器发送第一数据查询请求,第一数据查询请求用于查询天气的至少一个维度的数据。服务器基于第一数据查询请求,从数据库中获取与第一数据查询请求对应的数据,将数据发送给终端,终端将接收到的数据展示给用户。若用户只想要查询气温数据,那么终端发送的第一数据查询请求也就用于查询气温数据。服务器接收到第一数据查询请求之后,能够从数据库中获取气温数据,将气温数据发送给终端,由终端将气温数据展示给用户。若用户想要同时查询气温数据和湿度数据,那么终端发送的第一数据查询请求也就用于同时查询气温数据和湿度数据。服务器接收到第一数据查询请求之后,能够从数据库中获取气温数据和湿度数据,将气温数据和湿度数据发送给终端,由终端向用户展示气温数据和湿度数据。在一些实施例中,终端还能够将气温数据和湿度数据进行组合,比如基于数据对应的时间来生成数据报表,数据报表中的第一列展示气温数据,数据报表的第二列展示湿度数据,其中,数据报表相同行的气温数据与湿度数据的产生时间相同。通过查看数据报表,用户就能够得知气温数据和湿度数据之间的关系。另外,终端也能够基于气温数据和湿度数据生成图表,比如横坐标为气温数据,纵坐标为湿度数据,图表上每个点也就表示在某个温度下,湿度数据为多少,通过折线图用户能够更加清楚的得知气温数据和湿度数据之间的关系。
当然,上述两种类型的数据仅仅是为了示例而给出的,在其他可能的实施方式中,本申请实施例提供的数据查询方法也能够用于对其他类型的数据进行查询,本申请实施例对此不做限定。
在介绍完本申请实施例的应用场景之后,下面对本申请实施例提供的数据查询方法进行说明。
图2是根据一示例性实施例示出的一种数据查询方法的流程图,如图2所示,方法包括以下步骤。
在步骤S201中,电子设备获取第一数据查询请求,第一数据查询请求用于查询目标对象的至少一个维度的数据。
其中,数据也即是与时间相关的数据,比如在查询与广告投放效果相关的数据的场景中,广告的花费数据包括广告的花费金额和花费时间,广告的曝光数据包括广告的曝光量和曝光时间。
在步骤S202中,电子设备对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。
其中,数据规整为对查询请求进行统一的,不改变查询请求的查询逻辑的处理,其中,不改变查询请求的查询逻辑是指,比如一个查询请求用于查询A数据,那么经过数据规整之后,该查询请求还是用于查询A数据。
在步骤S203中,响应于数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件,电子设备获取该至少一个维度的数据,第二数据查询请求与第一数据查询请求的接收间隔符合目标时间条件。
在步骤S204中,电子设备向第一终端和至少一个第二终端返回至少一个维度的数据,第一终端为第一数据查询请求的发送方,第二终端为第二数据查询请求的发送方。
通过本申请实施例提供的技术方案,在获取第一数据查询请求之后,能够对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。比较数据规整后的第一数据查询请求和数据规整后的第二数据查询请求。当两个数据规整后的数据查询请求之间符合目标条件时,表示两个数据查询请求为相同的数据查询请求,只需基于第一数据查询请求进行一次数据查询即可,从而提高了数据查询的效率。
在一些实施例中,对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求包括:
对第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求。
对时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到数据规整后的第一数据查询请求。
在一些实施例中,对第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求包括:
对查询时间字段的两个时间端点进行取整,得到两个时间端点分别对应的两个取整时间端点。
采用两个取整时间端点,对第一数据查询请求中的查询时间字段进行更新,得到时间聚合处理后的第一数据查询请求。
在一些实施例中,对时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到数据规整后的第一数据查询请求包括下述至少一项:
按照字母表中字母的排列顺序,对多个字段进行排序,得到数据规整后的第一数据查询请求。
按照多个字段中数字由小至大的顺序,对多个字段进行排序,得到数据规整后的第一数据查询请求。
在一些实施例中,获取至少一个维度的数据包括下述任一项:
响应于数据库缓存中存储有至少一个维度的数据,从数据库缓存中获取至少一个维度的数据。
响应于数据库缓存中未存储有至少一个维度的数据,基于第一数据查询请求,在数据库中进行查询,从数据库中获取至少一个维度的数据。
在一些实施例中,基于第一数据查询请求,在数据库中进行查询,从数据库中获取至少一个维度的数据包括:
基于第一数据查询请求,在数据库中进行查询,从数据库中将至少一个维度的数据加载至数据库缓存中,从数据库缓存中获取至少一个维度的数据。
在一些实施例中,方法还包括下述任一项:
基于至少一个维度的数据,生成目标对象的数据报表,数据报表用于展示至少一个维度的数据。
基于至少一个维度的数据,生成目标对象的数据图像,数据图像用于展示至少一个维度的数据。
在一些实施例中,方法还包括:
响应于任一账号登录,在数据库缓存中加载与账号对应的数据。
在一些实施例中,在数据库缓存中加载与账号对应的数据包括下述任一项:
从数据库中将账号查询过的数据加载至数据库缓存中。
从数据库中将账号订阅的数据加载至数据库缓存中。
从数据库中将账号查询频率符合目标频率条件的数据加载至数据库缓存中。
在一些实施例中,方法还包括:
将数据库缓存中存储的至少一个维度的数据转移至数据库缓存中的一个数据块中。
在一些实施例中,从数据库缓存中获取至少一个维度的数据之后,方法还包括:
响应于对目标对象的第三数据查询请求,从数据块中获取与第三数据查询请求对应的数据,第三数据查询请求用于查询至少一个维度的数据中一个维度的数据。
上述步骤S201-S203是本申请实施例提供的数据查询方法的简要说明,下面将结合一些例子,对本申请实施例提供的数据查询方法进行更加详细的说明,参见图3,以电子设备实现为服务器为例,方法包括:
在步骤S301中,服务器获取第一数据查询请求,第一数据查询请求用于查询目标对象的至少一个维度的数据。
其中,数据为与时间相关的数据,比如在查询与天气相关的数据的场景中,气温数据包括气温和气温对应的时间,湿度数据包括湿度和湿度对应的时间。目标对象为数据查询的目标,比如为某个广告或者某个地区的天气等,本申请实施例对此不做限定。数据的维度也即是数据的类型,若目标对象为广告,那么广告的一个维度的数据为广告的花费数据,另一个维度的数据为广告的曝光数据。在一些实施例中,第一数据查询请求为数据库查询语言(SQL)。
在一些实施例中,响应于对目标对象的数据查询操作,终端向服务器发送与该数据查询操作对应的第一数据查询请求。服务器获取第一数据查询请求。
下面通过三个例子来对上述实施例进行说明。
例1、终端上运行有数据查询客户端,数据查询客户端用于进行数据查询。在一些实施例中,数据查询客户端的数据查询界面上显示有待查询的多个对象,响应于对多个对象中的目标对象的选择操作,数据查询客户端显示目标对象可供查询的多个维度。响应于对多个维度中的至少一个维度的选择操作,终端向服务器发送对目标对象的第一数据查询请求,第一数据查询请求用于查询被选中的至少一个维度的数据。服务器获取第一数据查询请求。
比如,参见图4,终端上运行有数据查询客户端,终端显示数据查询客户端的数据查询界面401,数据查询界面401上显示有待查询的多个对象。响应于对多个对象中的目标对象402的选择操作,终端将数据查询客户端的数据查询界面401切换为目标对象的数据选择界面403,数据选择界面403上显示有目标对象可供查询的多个维度。若目标对象为广告,那么数据选择界面403上显示有广告可供查询的广告的花费数据以及广告的曝光数据等,用户能够在数据选择界面403上选择某个维度进行查询,当然,上述维度的类型仅仅是一种示例,本申请实施例对于维度的类型不做限定。响应于对多个维度中的至少一个维度404的选择操作,终端向服务器发送对目标对象的第一数据查询请求,第一数据查询请求携带有目标对象的标识以及被选中的至少一个维度的标识。服务器获取第一数据查询请求。
例2、终端上运行有数据查询客户端,数据查询客户端用于生成数据报表,数据报表用于显示数据。在一些实施例中,数据查询客户端的数据查询界面上显示有待查询的多个对象,响应于对多个对象中的目标对象的选择操作,数据查询客户端显示目标对象可供选择的多个数据报表,每个数据报表对应于目标对象的至少一个维度的数据。应于对多个数据报表中的任一数据报表的选择操作,终端向服务器发送对目标对象的第一数据查询请求,第一数据查询请求用于查询被选中的数据报表对应的至少一个维度的数据。服务器获取第一数据查询请求。
比如,参见图5,终端上运行有数据查询客户端,终端显示数据查询客户端的数据查询界面501,数据查询界面501上显示有待查询的多个对象。响应于对多个对象中的目标对象502的选择操作,终端将数据查询客户端的数据查询界面501切换为目标对象的数据报表选择界面503,数据报表选择界面503上显示有目标对象可供查询的多个数据报表。若目标对象为广告,那么数据报表选择界面503上显示有广告可供查询的第一数据报表、第二数据报表以及第三数据报表等,在一些实施例中,第一数据报表为广告的花费数据报表,第二数据报表为广告的曝光数据报表,第三数据报表为广告的点击数据报表,用户能够在数据报表选择界面503上选择某个数据报表进行查询,当然,上述数据报表的类型仅仅是一种示例,本申请实施例对于数据报表的类型不做限定。响应于对多个数据报表中的任一数据报表504的选择操作,终端向服务器发送对目标对象的第一数据查询请求,第一数据查询请求携带有目标对象的标识以及被选中的数据报表对应的维度的标识。服务器获取第一数据查询请求。
例3、终端上运行有数据查询客户端,数据查询客户端用于进行数据查询。响应于对目标对象的语音查询指令,数据查询客户端显示目标对象可供查询的多个维度。响应于对多个维度中的至少一个维度的语音查询指令,终端向服务器发送对目标对象的第一数据查询请求,第一数据查询请求用于查询被选中的至少一个维度的数据。服务器获取第一数据查询请求。
比如,对目标对象的语音查询指令由目标语音内容触发,终端对获取到的第一语音信息进行语音识别,得到第一语音信息的第一语音内容。响应于识别出的第一语音内容包含目标语音内容,数据查询客户端显示目标对象可供查询的多个维度。终端对获取到的第二语音信息进行语音识别,得到第二语音信息的第二语音内容。响应于识别出的第二语音内容对应于多个维度中的任一维度对应的语音内容匹配,终端向服务器发送对目标对象的第一数据查询请求,第一数据查询请求携带有目标对象的标识以及该任一维度对应的标识。服务器获取第一数据查询请求。
需要说明的是,终端能够通过上述任一种方式来触发对目标对象的第一数据查询请求,本申请实施例对此不做限定。
在步骤S302中,服务器对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。
其中,数据规整为对查询请求进行统一的,不改变查询请求的查询逻辑的处理,不改变查询请求的查询逻辑是指,不改变查询请求的查询目标。比如一个查询请求用于查询A数据,那么经过数据规整之后,该查询请求还是用于查询A数据。在一些实施例中,数据规整也被称为归一处理。在一些实施例中,数据规整也被称为归一化处理或者序列化处理,本申请实施例对此不做限定。
在一些实施例中,服务器对第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求。服务器对时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到数据规整后的第一数据查询请求。
为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
第一部分、对服务器对第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求进行说明。
在一些实施例中,服务器对查询时间字段的两个时间端点进行取整,得到两个时间端点分别对应的两个取整时间端点。服务器采用两个取整时间端点,对第一数据查询请求中的查询时间字段进行更新,得到时间聚合处理后的第一数据查询请求。
其中,查询时间字段用于指示获取数据的时间段,比如,查询时间字段通过两个时间端点来表示该时间段,在基于数据查询请求进行数据查询时,也就是获取该两个时间端点之间的数据。
举例来说,服务器以分钟为最小粒度,对查询时间字段的两个时间端点进行取整,也即是,响应于两个时间端点包括秒,服务器将两个时间端点中的秒归零,将两个时间端点中的分钟进位,得到与两个时间端点分别对应的两个取整时间端点,这种将两个时间端点中的分钟进位的方法,也被称为向上取整。比如,一个时间端点为2021-12-01 11:11:11,那么对该时间端点经过以分钟为最小粒度的取整之后,该时间端点变为一个取整时间端点2021-12-01 11:12:00,取整时间端点相较于原时间端点来说,秒数由11变为0,分钟数由11变为12。另一个时间端点为2021-12-01 12:12:12,那么对该时间端点经过以分钟为最小粒度的取整之后,该时间端点变为另一个取整时间端点2021-12-01 12:13:00,取整时间端点相较于原时间端点来说,秒数由12变为0,分钟数由12变为13。服务器采用两个取整时间端点来替代数据查询字段中的两个时间端点,从而得到时间聚合处理后的第一数据查询请求。通过时间聚合处理,服务器对查询时间字段进行形式统一,便于后续对查询请求进行对比匹配。
需要说明的是,在对时间端点进行取整时,除了能够将时间端点的秒归零,分钟加1之外,也能够将时间端点的秒归零,分钟加上其他数字,本申请实施例对此不做限定。
第二部分、对服务器对时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到数据规整后的第一数据查询请求进行说明。
在一些实施例中,服务器按照字母表中字母的排列顺序,对多个字段进行排序,得到数据规整后的第一数据查询请求。
举例来说,第一数据查询请求包括多个字段,每个字段包括多个字符,每个字符对应于字母表中的一个字母。服务器从多个字段的第一个字符开始比较,将多个字段中第一个字符排序最前的字段放置在第一个位置,将多个字段中第一个字符排序第二靠前的字段放在第二个位置上,以此类推。对于第一个字符相同的多个字段来说,服务器基于多个字段中的第二个字符进行排序,以此类推,直至得到数据规整后的第一数据查询请求。
比如,对于时间聚合处理后的第一数据查询请求“select__time,sumA,dimB,sumB,dimA”来说,其中,select为命令,__time为查询时间字段,sumA、dimB、sumB以及dimA为第一数据查询请求中的其他字段。服务器基于对该时间聚合处理后的第一数据查询请求中的多个字段进行排序,也即是先按照多个字段中的第一个字符在字母表中的位置进行排序,得到“select__time,dimB,dimA,sumA,sumB”。随后服务器依次按照多个字符在字母表中的顺序对“select__time,dimB,dimA,sumA,sumB”进行排序,得到“select__time,dimA,dimB,sumA,sumB”,“select__time,dimA,dimB,sumA,sumB”也即是数据规整后的第一数据查询请求。
在一些实施例中,服务器按照多个字段中数字由小至大的顺序,对多个字段进行排序,得到数据规整后的第一数据查询请求。
举例来说,第一数据查询请求包括多个字段,多个字段包括包含数字的字段。服务器按照数字从大至小的顺序,对多个包含数字的字段进行排序,将包含数字最小的字段放置在第一个位置,将包含数字第二小的字段放置在第二个位置,以此类推。若多个包含数字的字段中存在包含相同数字的字段,那么服务器按照多个包含数字的字段中字符在字母表中的排列顺序,对多个包含数字的字段进行排序,得到数据规整后的第一数据查询请求。
比如,对于时间聚合处理后的第一数据查询请求“select__time,sum2,dim2,sum1,dim1”来说,其中,select为命令,__time为查询时间字段,sum1、dim1、sum2以及dim2为第一数据查询请求中的其他字段。服务器按照字段中数字从小至大的顺序,对该时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到select__time,sum1,dim1,sum2,dim2”。对于多个字段中包含有相同数字的字段,服务器基于字段中字符在字母表中的排列顺序进行排序,得到“select__time,dim1,dim2,sum1,sum2”,“select__time,dim1,dim2,sum1,sum2”也即是数据规整后的第一数据查询请求。
可选地,在步骤S302之后,服务器还能够执行下述步骤S303-S306。
在步骤S303中,服务器获取第二数据查询请求,第二数据查询请求用于查询目标对象的至少一个维度的数据,第二数据查询请求与第一数据查询请求的接收间隔符合目标时间条件。
其中,第二数据查询请求与第一数据查询请求的接收间隔符合目标时间条件是指,接收间隔小于或等于时间间隔阈值,时间间隔阈值由技术人员根据实际情况进行设置,本申请实施例对此不做限定。在一些实施中,第二数据查询请求的接收时间晚于第一数据查询请求的接收时间。
在一些实施例中,第二数据查询请求为数据库查询语言(SQL)。
需要说明的是,第二数据查询请求的获取方式与第一数据查询请求的获取方式属于同一发明构思,实现过程参见上述步骤S301的描述,在此不再赘述。
另外,对数据查询请求的发送终端与第二数据查询请求的发送终端既可以是同一个终端,也可以是不同的终端,本申请实施例对此不做限定。
在步骤S304中,服务器对第二数据查询请求进行数据规整,得到数据规整后的第二数据查询请求。
需要说明的是,服务器对第二数据查询请求进行数据规整的方式与对第一数据查询请求进行数据规整的方式属于同一发明构思,实现过程参见上述步骤S302的描述,在此不再赘述。
在步骤S305中,服务器确定数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间是否符合目标条件。
其中,数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间符合目标条件是指,数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间的相似度大于或等于相似度阈值。若相似度阈值为1,那么也就表示数据规整后的第一数据查询请求与数据规整后的第二数据查询请求完全相同时,才能够符合目标条件。在一些实施中,数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间的相似度采用数据规整后的第一数据查询请求与数据规整后的第二数据查询请求中相同的字符数量来表示。
在一些实施例中,服务器将数据规整后的第一数据查询请求与数据规整后的第二数据查询请求进行比较,得到数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间的相似度。响应于数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间的相似度大于或等于相似度阈值,确定数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间符合目标条件。服务器获取至少一个维度的数据。举例来说,若存在第一数据查询请求“select__time,sumA,dimB,sumB,dimA”,第二数据查询请求“select__time,sumA,sumB,dimB,dimA”,那么服务器对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求“select__time,dimA,dimB,sumA,sumB”,那么服务器对第二数据查询请求进行数据规整,得到数据规整后的第二数据查询请求“select__time,dimA,dimB,sumA,sumB”。服务器将数据规整后的第一数据查询请求与数据规整后的第二数据查询请求进行比较,确定数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之前的相似度为1,也即是完全相同。服务器确定数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间符合目标条件。服务器获取至少一个维度的数据,比如为“AABBCCD”。
在步骤S306中,响应于数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件,服务器获取该至少一个维度的数据。
第二部分、对服务器获取至少一个维度的数据进行说明。
在一些实施例中,服务器基于第一数据查询请求,在数据库缓存中进行查询。响应于数据库缓存中存储有至少一个维度的数据,从数据库缓存中获取至少一个维度的数据。
也即是,基于数据查询请求进行数据查询时,服务器能够先在查询速度较快的数据库存储中进行查询,若数据库缓存中存储有数据查询请求对应的数据时,服务器也就能够直接从数据库缓存中获取该数据,数据查询的效率较高。
举例来说,服务器对第一数据查询请求进行模板匹配,得到第一数据查询请求中查询相关的字段。服务器对与查询相关的字段进行语法分析,生成查询语法分析树,语法分析树用于表示与查询相关的字段之间的语法关系。服务器确定与查询相关的字段所指示的查询对象是否在数据库中存在。响应于查询对象在数据库中存在,服务器将查询语法分析树转化为关系代数表达式,关系代数表达式用于指示数据查询的顺序,在一些实施例中,这个步骤也被称为确定逻辑查询计划。服务器将逻辑查询计划转化为物理查询计划,物理查询计划用于指示在数据查询的操作、数据查询操作的执行顺序、数据查询操作对应的查询代码以及数据查询操作之间的传递方式。服务器将基于物理查询计划在数据库缓存中对至少一个维度的数据进行查询。
在一些实施例中,服务器基于第一数据查询请求,在数据库缓存中进行查询。响应于数据库缓存中未存储有至少一个维度的数据,基于第一数据查询请求,在数据库中进行查询,从数据库中获取至少一个维度的数据。
举例来说,服务器对第一数据查询请求进行模板匹配,得到第一数据查询请求中查询相关的字段。服务器对与查询相关的字段进行语法分析,生成查询语法分析树,语法分析树用于表示与查询相关的字段之间的语法关系。服务器确定与查询相关的字段所指示的查询对象是否在数据库中存在。响应于查询对象在数据库中存在,服务器将查询语法分析树转化为关系代数表达式,关系代数表达式用于指示数据查询的顺序,在一些实施例中,这个步骤也被称为确定逻辑查询计划。服务器将逻辑查询计划转化为物理查询计划,物理查询计划用于指示在数据查询的操作、数据查询操作的执行顺序、数据查询操作对应的查询代码以及数据查询操作之间的传递方式。服务器将基于物理查询计划在数据库缓存中对至少一个维度的数据进行查询。响应于数据库缓存中未存储有至少一个维度的数据,基于物理查询计划,确定在数据库中进行查询的步骤,按照该步骤在数据库中进行查询,从数据库中将至少一个维度的数据加载至数据库缓存中,从数据库缓存中获取至少一个维度的数据。
在一些实施例中,在服务器基于第一数据查询请求,在数据库中进行查询前,服务器能够确定数据库的查询锁是否被其他查询请求占据。若查询锁被其他查询请求占据,那么服务器等待查询锁处于未占据状态时,为第一数据查询请求抢占该查询锁。响应于第一数据查询请求占据该查询锁,服务器基于第一数据查询请求在数据库中进行查询。
通过这种实施方式,服务器能够基于锁机制来对不同的查询请求进行排队,避免大量查询请求同时对数据库进行查询,导致的数据库压力过大的情况。
在上述两个实施例的基础上,可选地,服务器还能够执行下述步骤:
在一些实施例中,服务器将数据库缓存中存储的至少一个维度的数据转移至数据库缓存中的一个数据块中。
通过这种实施方式,在后续数据查询过程中,若还存在对至少一个维度的数据的查询请求,那么服务器能够直接从该数据块中获取数据,无需再从多个数据块中查找数据,数据查询的效率较高。
在一些实施例中,在上述实施方式之后,响应于对目标对象的第三数据查询请求,服务器从数据块中获取与第三数据查询请求对应的数据,第三数据查询请求用于查询至少一个维度的数据中一个维度的数据。也即是,若存在对数据块中部分数据的查询请求,服务器也能够直接从该数据块中获取对应的数据,无需在到数据库中进行查询,提高了数据查询的效率。
在一些实施例中,第一数据查询请求为用户通过终端主动触发的数据查询请求,服务器除了能够基于第一数据查询请求进行数据查询之外,还能够主动进行数据查询,将主动查询的数据加载至数据库缓存中,也即是提前将部分数据加载至数据库缓存中,以提高用户后续查询时的缓存命中率,从而提高数据查询的效率。
在一些实施例中,响应于任一账号登录,在数据库缓存中加载与该账号对应的数据。
其中,在数据库缓存中加载与账号对应的数据包括下述任一项方式,下面将分别对下述方式进行说明。
方式1、响应于任一账号登录,服务器从数据库中将该账号查询过的数据加载至数据库缓存中。
在这种方式下,若一个账号查询过某些数据,那么该账号也可能在后续数据查询过程中重复查询这些数据,当检测到该账号登录时,服务器提前将该账号查询过的数据加载至数据库缓存中,能够提高该账号进行数据查询时的缓存命中率。
举例来说,服务器获取该账号的历史查询记录,从历史查询记录中获取该账号查询过的数据。服务器触发数据查询请求,该数据查询请求用于查询该账号查询过的数据。响应于该数据查询请求,服务器从数据库中查找该账号查询过的数据,将该账号查询过的数据加载至数据库缓存中。
方式2、响应于任一账号登录,服务器从数据库中将账号订阅的数据加载至数据库缓存中。
在这种方式下,若一个账号订阅了一些数据,那么表明该账号的用户对订阅的数据较为感兴趣,当检测到该账号登录时,服务器能够提前将该账号订阅的数据加载至数据库缓存中,以提高该账号进行数据查询时的缓存命中率。
为了对上述实施方式进行更加清楚的说明,下面对该账号订阅数据的方法进行说明。
在一些实施例中,终端上运行有数据查询客户端,用户能够在数据客户端上登录账号。数据查询客户端上显示有待查询的多个对象,响应于对多个对象中的目标对象的选择操作,数据查询客户端显示目标对象可供订阅的多个维度的数据。响应于对任一维度的数据的订阅操作,数据查询客户端向服务器发送数据订阅请求,数据订阅请求中携带有该账号、目标对象的标识以及被选择的维度的标识。服务器将该账号、目标对象的标识和被选择的维度的标识绑定存储,以建立该账号与被选择的维度的数据之间的订阅关系。
在介绍完该账号订阅数据的方法之后,下面对上述实施方式进行说明。
在一些实施例中,响应于该账号登录,服务器查询与该账号具有绑定关系的维度的标识,以及目标对象的标识。基于目标对象的标识以及该维度的标识,从数据库中进行查询。将该账号订阅的数据加载至数据库缓存中。
方式3、响应于任一账号登录,服务器从数据库中将账号查询频率符合目标频率条件的数据加载至数据库缓存中。其中,查询频率符合目标频率条件是指,查询频率大于或等于频率阈值。
在这种方式下,若一个账号频繁对一些数据进行查询,那么该账号也可能在后续数据查询过程中重复查询这些数据,当检测到该账号登录时,服务器提前将该账号查询频率较高的数据加载至数据库缓存中,能够提高该账号进行数据查询时的缓存命中率。
举例来说,经过该账号充分授权的情况下,服务器获取该账号的历史查询记录,从历史查询记录中确定该账号查询次数大于或等于频率阈值的数据。服务器触发数据查询请求,该数据查询请求用于查询该账号查询次数大于或等于频率阈值的数据。响应于该数据查询请求,服务器从数据库中查找该账号查询次数大于或等于频率阈值的数据,将该账号查询次数大于或等于频率阈值的数据加载至数据库缓存中。
需要说明的是,在步骤S306之后,服务器既能够执行下述步骤S307,也能够执行下述步骤S308,或者执行下述步骤S309,本申请实施例对此不做限定。
在步骤S307中,服务器基于该至少一个维度的数据,生成目标对象的数据报表。
在一些实施例中,服务器将至少一个维度的数据中,相同维度的数据设置在数据报表中的同一列中,将不同维度的数据设置在数据报表的不同列中,得到目标对象的数据报表,其中,数据报表中同一行的数据对应的产生时间相同。
在这种实施方式下,服务器能够通过数据报表的形式对查询得到的数据进行可视化,用户通过数据报表就能够直观的看到不同维度的数据,提高了人机交互的效率。
比如服务器基于不同维度的数据对应的时间来生成数据报表,数据报表中的第一列展示广告的花费数据,数据报表的第二列展示广告的曝光数据,其中,数据报表相同行的广告的花费数据与广告的曝光数据的产生时间相同。通过查看数据报表,用户就能够得知广告的花费数据和广告的曝光数据之间的关系。
需要说明的是,在上述说明过程中是以服务器基于至少一个维度的数据,生成数据报表为例进行的,在其他可能的实施方式中,服务器也能够将至少一个维度的数据发送给终端,由终端基于至少一个维度的数据,生成数据报表,本申请实施例对此不做限定。
在步骤S308中,服务器基于该至少一个维度的数据,生成目标对象的数据图像。
在一些实施例中,服务器按照至少一个维度的维度数量,生成目标坐标系,目标坐标系的每个坐标轴对应于一个维度,坐标轴的数量与维度的数量相同。服务器将至少一个维度的数据填充至目标坐标系中,得到目标对象的数据图像。在一些实施例中,数据在目标坐标系中位置与数据的获取时间相关联。
在这种实施方式下,服务器能够通过数据图像的形式对查询得到的数据进行可视化,用户通过数据图像就能够直观的看到不同维度的数据,提高了人机交互的效率。
比如,目标坐标系为二维坐标系,目标坐标系的横坐标为广告的花费数据,纵坐标为广告的曝光数据。服务器基于广告的花费数据和广告的曝光数据,在目标坐标系上确定多个数据点,一个数据点对应的广告的花费数据和广告的曝光数据的产生时间相同。服务器采用支线将多个数据点相连,得到目标对象的折线图,折线图上每个点也就表示在某个广告花费下,广告的曝光数据为多少。通过折线图用户能够更加清楚的得知广告的花费数据和广告的曝光数据之间的关系。
需要说明的是,在上述说明过程中是以服务器基于至少一个维度的数据,生成数据图像为例进行的,在其他可能的实施方式中,服务器也能够将至少一个维度的数据发送给终端,由终端基于至少一个维度的数据,生成数据图像,本申请实施例对此不做限定。
在步骤S309中,服务器向第一终端和至少一个第二终端返回该至少一个维度的数据,第一终端为第一数据查询请求的发送方,第二终端为第二数据查询请求的发送方。
也即是,在数据规整后的第一数据查询请求与数据规整后的第二数据查询请求之间符合目标条件的前提下,服务器无需基于第二数据查询请求进行查询,直接将与第一数据查询请求对应的至少一个维度的信息发送给第二数据查询请求的发送方即可,减少了数据查询的次数,从而减轻了数据库的压力,提高了数据查询的效率。
需要说明的是,上述步骤S301-S309是以服务器获取到第一数据查询请求和第二数据查询请求为例进行的,在其他可能的实施方式中,若服务器目标时间段内同时获取到多个数据查询请求,那么服务器也能够分别对多个数据查询请求进行数据规整,得到多个数据查询请求分别对应的数据规整后的数据查询请求。响应于多个数据规整后的数据查询请求之间符合目标条件,服务器对多个数据规整后的数据查询请求执行一次数据查询操作即可,将该数据查询操作对应的数据发送多个数据规整后的数据查询请求的发送终端,其中,该数据查询操作为多个数据规整后的数据查询请求中发送时间最早的数据查询请求所对应的操作。
下面分别结合图6和图7,以及上述步骤S301-S309,对本申请实施例提供的数据查询方法进行说明。
图6是本申请实施例提供的实现架构图,在一些实施例中,架构包括服务器、数据库(OLAP)以及数据库缓存。服务器用于提供后端服务,后端服务包括提供查询API(Application Programming Interface,应用程序接口),终端上运行的数据查询客户端能够通过该API与服务器建立连接。后端服务还包括主动缓存,主动缓存是指当任一账号登录时,服务器在缓存中加载与该账号对应的数据。后端服务还包括数据规整,用于对获取的查询请求进行数据规整。后端服务还包括引擎查询,引擎查询用于通过查询引擎对数据库进行查询。后端服务还包括缓存查询,缓存查询用于查询数据库缓存。
图7是本申请实施例提供的数据查询方法的流程图,流程包括:获取用户的数据查询请求,对数据查询请求进行查询分析,确定数据查询请求的查询目标。对数据查询请求进行数据规整,得到数据规整后的数据查询请求。基于数据查询请求在数据库缓存中信息数据查询。若数据库缓存包括与数据查询请求对应的数据,那么对该数据进行格式转化,向终端返回格式转化后的数据。若数据库缓存不包括与数据查询请求对应的数据,那么通过数据库引擎在数据库中进行查询,将查询得到的数据加载至数据库缓存中。在一些实施例中,服务器还能够进行主动查询,也即是将与账号对应的数据加载至数据库缓存中。另外,在获取到其他数据查询请求之后,服务器也能够对其他数据查询请求进行数据规整,得到数据规整后的其他数据查询请求。响应于数据规整后的数据查询请求与数据规整后的其他数据查询请求之间符合目标条件,将其他数据查询请求对应的查询数据确定为数据查询请求对应的查询数据,从而无需再基于其他数据查询请求进行数据查询,减少数据查询的次数,提高查询效率。
采用本申请实施例提供的技术方案来生成数据报表时,数据库(查询引擎)的负载大幅减少,且利用率更加均衡。生成不同数据报表时的缓存命中率有大幅提升。查询耗时P99latency(延迟)有大幅下降,其中,P99latency为过去10秒最慢的1%的数据查询请求的平均延迟。
通过本申请实施例提供的技术方案,在获取第一数据查询请求之后,能够对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。比较数据规整后的第一数据查询请求和数据规整后的第二数据查询请求。当两个数据规整后的数据查询请求之间符合目标条件时,表示两个数据查询请求为相同的数据查询请求,只需基于第一数据查询请求进行一次数据查询即可,从而提高了数据查询的效率。
图8是根据一示例性实施例示出的一种数据查询装置的框图。参照图8,该装置包括:第一数据查询请求获取单元801、数据规整单元802、数据获取单元803以及数据返回单元804。
第一数据查询请求获取单元801,被配置为执行获取第一数据查询请求,第一数据查询请求用于查询目标对象的至少一个维度的数据。
数据规整单元802,被配置为执行对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。
数据获取单元803,被配置为执行响应于数据规整后的第一数据查询请求与任一数据规整后的第二数据查询请求之间符合目标条件,获取至少一个维度的数据,第二数据查询请求与第一数据查询请求的接收间隔符合目标时间条件。
数据返回单元804,被配置为执行向第一终端和至少一个第二终端返回至少一个维度的数据,第一终端为第一数据查询请求的发送方,第二终端为第二数据查询请求的发送方。
在一些实施例中,数据规整单元802,被配置为执行对第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求。对时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到数据规整后的第一数据查询请求。
在一些实施例中,数据规整单元802,被配置为执行对查询时间字段的两个时间端点进行取整,得到两个时间端点分别对应的两个取整时间端点。采用两个取整时间端点,对第一数据查询请求中的查询时间字段进行更新,得到时间聚合处理后的第一数据查询请求。
在一些实施例中,数据规整单元802,被配置为执行下述至少一项:
按照字母表中字母的排列顺序,对多个字段进行排序,得到数据规整后的第一数据查询请求。
按照多个字段中数字由小至大的顺序,对多个字段进行排序,得到数据规整后的第一数据查询请求。
在一些实施例中,数据获取单元803,被配置为执行下述任一项:
响应于数据库缓存中存储有至少一个维度的数据,从数据库缓存中获取至少一个维度的数据。
响应于数据库缓存中未存储有至少一个维度的数据,基于第一数据查询请求,在数据库中进行查询,从数据库中获取至少一个维度的数据。
在一些实施例中,数据获取单元803,被配置为执行基于第一数据查询请求,在数据库中进行查询,从数据库中将至少一个维度的数据加载至数据库缓存中,从数据库缓存中获取至少一个维度的数据。
在一些实施例中,装置还包括下述任一个单元:
数据报表生成单元,被配置为执行基于至少一个维度的数据,生成目标对象的数据报表,数据报表用于展示至少一个维度的数据。
数据图像生成单元,被配置为执行基于至少一个维度的数据,生成目标对象的数据图像,数据图像用于展示至少一个维度的数据。
在一些实施例中,装置还包括数据加载单元,被配置为执行响应于任一账号登录,在数据库缓存中加载与账号对应的数据。
在一些实施例中,数据加载单元,被配置为执行下述任一项:
从数据库中将账号查询过的数据加载至数据库缓存中。
从数据库中将账号订阅的数据加载至数据库缓存中。
从数据库中将账号查询频率符合目标频率条件的数据加载至数据库缓存中。
在一些实施例中,装置还包括数据转移单元,被配置将数据库缓存中存储的至少一个维度的数据转移至数据库缓存中的一个数据块中。
在一些实施例中,数据获取单元803,还被配置为执行响应于对目标对象的第三数据查询请求,从数据块中获取与第三数据查询请求对应的数据,第三数据查询请求用于查询至少一个维度的数据中一个维度的数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本申请实施例提供的技术方案,在获取第一数据查询请求之后,能够对第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求。比较数据规整后的第一数据查询请求和数据规整后的第二数据查询请求。当两个数据规整后的数据查询请求之间符合目标条件时,表示两个数据查询请求为相同的数据查询请求,只需基于第一数据查询请求进行一次数据查询即可,从而提高了数据查询的效率。
在本申请实施例中,电子设备可以实现为终端或服务器,首先对终端的结构进行说明:
图9是根据一示例性实施例示出的一种终端的框图,该终端900可以为用户所使用的终端。该终端900可以是:智能手机、智能手表、台式电脑、手提电脑和膝上型便携计算机等设备中的至少一种。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源9013中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选的,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图像、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图像,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选的,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本申请实施例中,电子设备可以实现为服务器,下面对服务器的结构进行说明:
图10是根据一示例性实施例示出的一种服务器1000的框图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1001和一个或一个以上的存储器1002。该存储器1002中存储有至少一条指令,该至少一条指令由该处理器1001加载并执行以实现上述数据查询方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1002,上述指令可由服务器1000的处理器1001执行以完成上述数据查询方法。可选的,存储介质可以是非临时性存储介质,例如,所述非临时性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序可以由电子设备的处理器执行,以实现上述数据查询方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (22)

1.一种数据查询方法,其特征在于,包括:
获取第一数据查询请求,所述第一数据查询请求用于查询目标对象的至少一个维度的数据;
对所述第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求;
获取至少一个第二数据查询请求,所述第二数据查询请求用于查询目标对象的至少一个维度的数据,所述第二数据查询请求与所述第一数据查询请求的接收间隔符合目标时间条件;
对所述第二数据查询请求进行数据规整,得到数据规整后的第二数据查询请求;
响应于所述数据规整后的第一数据查询请求与任一所述数据规整后的第二数据查询请求之间的相似度大于或等于相似度阈值,基于所述第一数据查询请求执行一次数据查询操作,获取所述至少一个维度的数据;
将所述至少一个维度的数据中相同维度的数据设置在数据报表的同一列中,将不同维度的数据设置在所述数据报表的不同列中,得到所述目标对象的数据报表,其中,所述数据报表中同一行的数据对应的产生时间相同,所述数据报表用于展示所述至少一个维度的数据;或,
按照所述至少一个维度的维度数量,生成目标坐标系,将所述至少一个维度的数据填充至所述目标坐标系中,得到所述目标对象的数据图像,其中,所述目标坐标系的每个坐标轴对应于一个维度,坐标轴的数量与维度的数量相同,所述数据图像用于展示所述至少一个维度的数据,所述数据在目标坐标系中位置与数据的获取时间相关联。
2.根据权利要求1所述的数据查询方法,其特征在于,所述对所述第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求包括:
对所述第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求;
对所述时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到所述数据规整后的第一数据查询请求。
3.根据权利要求2所述的数据查询方法,其特征在于,所述对所述第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求包括:
对所述查询时间字段的两个时间端点进行取整,得到所述两个时间端点分别对应的两个取整时间端点;
采用所述两个取整时间端点,对所述第一数据查询请求中的所述查询时间字段进行更新,得到所述时间聚合处理后的第一数据查询请求。
4.根据权利要求2所述的数据查询方法,其特征在于,所述对所述时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到所述数据规整后的第一数据查询请求包括下述至少一项:
按照字母表中字母的排列顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求;
按照所述多个字段中数字由小至大的顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求。
5.根据权利要求1所述的数据查询方法,其特征在于,所述获取所述至少一个维度的数据包括下述任一项:
响应于数据库缓存中存储有所述至少一个维度的数据,从所述数据库缓存中获取所述至少一个维度的数据;
响应于所述数据库缓存中未存储有所述至少一个维度的数据,基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中获取所述至少一个维度的数据。
6.根据权利要求5所述的数据查询方法,其特征在于,所述基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中获取所述至少一个维度的数据包括:
基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中将所述至少一个维度的数据加载至所述数据库缓存中,从所述数据库缓存中获取所述至少一个维度的数据。
7.根据权利要求5所述的数据查询方法,其特征在于,所述方法还包括:
响应于任一账号登录,在所述数据库缓存中加载与所述账号对应的数据。
8.根据权利要求7所述的数据查询方法,其特征在于,所述在所述数据库缓存中加载与所述账号对应的数据包括下述任一项:
从数据库中将所述账号查询过的数据加载至所述数据库缓存中;
从所述数据库中将所述账号订阅的数据加载至所述数据库缓存中;
从所述数据库中将所述账号查询频率符合目标频率条件的数据加载至所述数据库缓存中。
9.根据权利要求5所述的数据查询方法,其特征在于,所述方法还包括:
将所述数据库缓存中存储的所述至少一个维度的数据转移至所述数据库缓存中的一个数据块中。
10.根据权利要求9所述的数据查询方法,其特征在于,所述从所述数据库缓存中获取所述至少一个维度的数据之后,所述方法还包括:
响应于对所述目标对象的第三数据查询请求,从所述数据块中获取与所述第三数据查询请求对应的数据,所述第三数据查询请求用于查询所述至少一个维度的数据中一个维度的数据。
11.一种数据查询装置,其特征在于,包括:
第一数据查询请求获取单元,被配置为执行获取第一数据查询请求,所述第一数据查询请求用于查询目标对象的至少一个维度的数据;
数据规整单元,被配置为执行对所述第一数据查询请求进行数据规整,得到数据规整后的第一数据查询请求;
所述数据规整单元,还被配置为执行获取至少一个第二数据查询请求,所述第二数据查询请求用于查询目标对象的至少一个维度的数据,所述第二数据查询请求与所述第一数据查询请求的接收间隔符合目标时间条件;对所述第二数据查询请求进行数据规整,得到数据规整后的第二数据查询请求;
数据获取单元,被配置为执行响应于所述数据规整后的第一数据查询请求与任一所述数据规整后的第二数据查询请求之间的相似度大于或等于相似度阈值,基于所述第一数据查询请求执行一次数据查询操作,获取所述至少一个维度的数据;
数据报表生成单元,被配置为执行将所述至少一个维度的数据中相同维度的数据设置在数据报表的同一列中,将不同维度的数据设置在所述数据报表的不同列中,得到所述目标对象的数据报表,其中,所述数据报表中同一行的数据对应的产生时间相同,所述数据报表用于展示所述至少一个维度的数据;或,
数据图像生成单元,被配置为执行按照所述至少一个维度的维度数量,生成目标坐标系,将所述至少一个维度的数据填充至所述目标坐标系中,得到所述目标对象的数据图像,其中,所述目标坐标系的每个坐标轴对应于一个维度,坐标轴的数量与维度的数量相同,所述数据图像用于展示所述至少一个维度的数据,所述数据在目标坐标系中位置与数据的获取时间相关联。
12.根据权利要求11所述的数据查询装置,其特征在于,所述数据规整单元,被配置为执行对所述第一数据查询请求中的查询时间字段进行时间聚合处理,得到时间聚合处理后的第一数据查询请求;对所述时间聚合处理后的第一数据查询请求中的多个字段进行排序,得到所述数据规整后的第一数据查询请求。
13.根据权利要求12所述的数据查询装置,其特征在于,所述数据规整单元,被配置为执行对所述查询时间字段的两个时间端点进行取整,得到所述两个时间端点分别对应的两个取整时间端点;采用所述两个取整时间端点,对所述第一数据查询请求中的所述查询时间字段进行更新,得到所述时间聚合处理后的第一数据查询请求。
14.根据权利要求12所述的数据查询装置,其特征在于,所述数据规整单元,被配置为执行下述至少一项:
按照字母表中字母的排列顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求;
按照所述多个字段中数字由小至大的顺序,对所述多个字段进行排序,得到所述数据规整后的第一数据查询请求。
15.根据权利要求11所述的数据查询装置,其特征在于,所述数据获取单元,被配置为执行下述任一项:
响应于数据库缓存中存储有所述至少一个维度的数据,从所述数据库缓存中获取所述至少一个维度的数据;
响应于所述数据库缓存中未存储有所述至少一个维度的数据,基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中获取所述至少一个维度的数据。
16.根据权利要求15所述的数据查询装置,其特征在于,所述数据获取单元,被配置为执行基于所述第一数据查询请求,在数据库中进行查询,从所述数据库中将所述至少一个维度的数据加载至所述数据库缓存中,从所述数据库缓存中获取所述至少一个维度的数据。
17.根据权利要求15所述的数据查询装置,其特征在于,所述装置还包括数据加载单元,被配置为执行响应于任一账号登录,在所述数据库缓存中加载与所述账号对应的数据。
18.根据权利要求17所述的数据查询装置,其特征在于,所述数据加载单元,被配置为执行下述任一项:
从数据库中将所述账号查询过的数据加载至所述数据库缓存中;
从所述数据库中将所述账号订阅的数据加载至所述数据库缓存中;
从所述数据库中将所述账号查询频率符合目标频率条件的数据加载至所述数据库缓存中。
19.根据权利要求15所述的数据查询装置,其特征在于,所述装置还包括数据转移单元,被配置将所述数据库缓存中存储的所述至少一个维度的数据转移至所述数据库缓存中的一个数据块中。
20.根据权利要求19所述的数据查询装置,其特征在于,所述数据获取单元,还被配置为执行响应于对所述目标对象的第三数据查询请求,从所述数据块中获取与所述第三数据查询请求对应的数据,所述第三数据查询请求用于查询所述至少一个维度的数据中一个维度的数据。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至10中任一项所述的数据查询方法。
22.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至10中任一项所述的数据查询方法。
CN202110548155.9A 2021-05-19 2021-05-19 数据查询方法、装置、电子设备以及存储介质 Active CN113220718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110548155.9A CN113220718B (zh) 2021-05-19 2021-05-19 数据查询方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110548155.9A CN113220718B (zh) 2021-05-19 2021-05-19 数据查询方法、装置、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113220718A CN113220718A (zh) 2021-08-06
CN113220718B true CN113220718B (zh) 2023-01-20

Family

ID=77093478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110548155.9A Active CN113220718B (zh) 2021-05-19 2021-05-19 数据查询方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113220718B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294573A (zh) * 2016-07-28 2017-01-04 Tcl集团股份有限公司 一种海量数据实时查询方法及系统
CN107506450A (zh) * 2017-08-28 2017-12-22 深圳市华傲数据技术有限公司 一种用于解决数据高并发访问的方法及装置
CN111841021A (zh) * 2020-07-23 2020-10-30 北京达佳互联信息技术有限公司 账号匹配方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163195B (zh) * 2010-02-22 2013-04-24 北京东方通科技股份有限公司 一种基于分布式、异构数据库统一视图的查询优化方法
CN102629929B (zh) * 2012-04-18 2015-07-08 华为技术有限公司 一种获取数据的方法、系统及装置
CN108776622A (zh) * 2018-06-06 2018-11-09 北京达佳互联信息技术有限公司 数据同步方法、装置、计算机设备及存储介质
CN109492073B (zh) * 2018-10-31 2021-11-16 北京达佳互联信息技术有限公司 日志搜索方法、日志搜索装置和计算机可读存储介质
CN109656958B (zh) * 2018-12-18 2021-11-16 北京小米移动软件有限公司 数据查询方法以及系统
CN111814328B (zh) * 2020-07-07 2024-06-18 浙江工业大学 一种带有飞行区的时空数据立方体的建模与查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294573A (zh) * 2016-07-28 2017-01-04 Tcl集团股份有限公司 一种海量数据实时查询方法及系统
CN107506450A (zh) * 2017-08-28 2017-12-22 深圳市华傲数据技术有限公司 一种用于解决数据高并发访问的方法及装置
CN111841021A (zh) * 2020-07-23 2020-10-30 北京达佳互联信息技术有限公司 账号匹配方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113220718A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN110674022B (zh) 行为数据获取方法、装置及存储介质
CN110278464B (zh) 显示榜单的方法和装置
CN111104980B (zh) 确定分类结果的方法、装置、设备及存储介质
CN111935516B (zh) 音频文件的播放方法、装置、终端、服务器及存储介质
CN112052354A (zh) 视频推荐方法、视频展示方法、装置及计算机设备
CN111459466B (zh) 代码生成方法、装置、设备及存储介质
CN113742366A (zh) 数据处理方法、装置、计算机设备及存储介质
CN110515962B (zh) 缓存数据的方法、装置、电子设备及存储介质
CN111625315A (zh) 页面显示方法、装置、电子设备及存储介质
CN110995842A (zh) 业务数据下载方法、装置、设备及存储介质
CN113032587A (zh) 多媒体信息推荐方法、系统、装置、终端和服务器
CN111064657B (zh) 关注账户分组的方法、装置、系统
CN113204302A (zh) 基于虚拟机器人的操作方法、装置、设备及存储介质
CN111782950A (zh) 样本数据集获取方法、装置、设备及存储介质
CN111563201A (zh) 内容推送方法、装置、服务器及存储介质
CN111275607A (zh) 界面显示方法、装置、计算机设备及存储介质
CN114143280B (zh) 会话显示方法、装置、电子设备及存储介质
CN115134316B (zh) 话题展示方法、装置、终端及存储介质
CN113220718B (zh) 数据查询方法、装置、电子设备以及存储介质
CN114817709A (zh) 排序方法、装置、设备及计算机可读存储介质
CN111125095B (zh) 数据前缀添加的方法、装置、电子设备及介质
CN113064981A (zh) 群组头像生成方法、装置、设备及存储介质
CN111782767A (zh) 问答方法、装置、设备及存储介质
CN112783533A (zh) 版本信息更新方法、装置、终端及存储介质
CN112311652A (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
GR01 Patent grant
GR01 Patent grant