CN114064710A - 一种数据的查询方法及装置 - Google Patents

一种数据的查询方法及装置 Download PDF

Info

Publication number
CN114064710A
CN114064710A CN202010753719.8A CN202010753719A CN114064710A CN 114064710 A CN114064710 A CN 114064710A CN 202010753719 A CN202010753719 A CN 202010753719A CN 114064710 A CN114064710 A CN 114064710A
Authority
CN
China
Prior art keywords
cache
data
report
accessed
query
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
Application number
CN202010753719.8A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010753719.8A priority Critical patent/CN114064710A/zh
Publication of CN114064710A publication Critical patent/CN114064710A/zh
Pending legal-status Critical Current

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/2455Query execution
    • G06F16/24552Database cache management
    • 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/242Query formulation
    • G06F16/2433Query languages
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及数据库技术领域,公开了一种数据的查询方法及装置,用以提高数据查询的性能。方法包括:根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况。在确定所述第一对象的分值大于设定阈值的情况下,将所述第一对象添加到缓存中。这样,在查询该第一对象时,就可以先在缓存中查询该第一对象,相比在数据库中查询该第一对象可以提高查询的效率。

Description

一种数据的查询方法及装置
技术领域
本申请实施例涉及数据库技术领域,尤其涉及一种数据的查询方法及装置。
背景技术
近年来,随着信息技术的不断发展,数据库作为一种存储海量数据的媒介已被广泛应用。在实际场景应用中,用户大部分操作都会涉及数据查询,通常数据以报表的方式对外呈现。当数据库中的数据达到百万,千万级的时候,通常一个查询操作就需要等待几十秒甚至更长时间,从而给用户带来不好的体验。
如何高效地进行数据查询,提高数据查询的性能是需要解决的技术问题。
发明内容
本申请实施例提供一种数据的查询方法及装置,用以提高数据查询的性能。
第一方面,提供了一种数据的查询方法,首先,可以根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况(访问情况,也可以称为被访问的情况)。然后,在确定所述第一对象的分值大于设定阈值的情况下,将所述第一对象添加到缓存中。第一对象例如可以是第一报表,第一数据库表等。所述缓存例如可以是服务端的缓存。
这样,在查询该第一对象时,就可以先在缓存中查询该第一对象,相比在数据库中查询该第一对象,可以提高查询的效率。
在一种可能的实现中,接收所述第一对象的查询命令。若从所述缓存中能够查询到所述第一对象,则反馈所述缓存中保存的所述第一对象。若从所述缓存中未能查询到所述第一对象,则从数据库中查询所述第一对象,并反馈数据库中保存的所述第一对象。
在一种可能的实现中,所述第一参数可以包括但不限于以下的一种或多种:访问所述第一对象的用户的等级,所述第一对象被访问的次数,所述第一对象被访问的类型,所述第一对象被访问的时间。
一般用户的等级越高,对应的权重值越高,则计算出的第一对象的分值也越高,则该第一对象被添加到缓存中的可能性增大,这样可以优先保证等级较高的重点用户的查询体验。一般被访问的次数越多,对应的权重值越高,则计算出的第一对象的分值也越高,则该第一对象被添加到缓存中的可能性增大,这样可以提高经常被访问的对象的查询体验。另外,在确定第一对象的分数时,也可以参照被访问的类型,被访问的时间等因素,被访问的类型例如查询,更新视图(例如将柱状图更新为折线图,更新也可以称为修改)。不同的访问类型,不同的访问时间可以对应不同的权重值,则计算出的第一对象的分值不同。
在一种可能的实现中,当所述第一对象为第一报表时,所述第一报表中的数据来源于第一数据库表中的数据。当确定第一数据库表被更新完成时,根据更新后的第一数据库表更新所述缓存中的所述第一报表。只要数据库表被更新完成,则即刻对与其关联的报表进行更新。相比于定时更新报表的内容,可以使报表更新的更加及时,提高用户查询报表时的准确性。
在一种可能的实现中,在确定所述第一对象超过预设时长未被访问的情况下,可以将所述第一对象从缓存中删除。针对长时间不被访问的对象,可以将其从缓存中删除,这样可以释放缓存空间,及时清除缓存中不被访问的对象,也可以提高查询其他对象的效率。
第二方面,提供了一种数据的查询装置,所述装置具有实现上述第一方面及第一方面任一可能的实现中的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的功能模块。
第三方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面及第一方面任一可能的实现中执行的方法。
第四方面,本申请提供了一种数据的查询装置,该装置包括处理器和存储器,所述处理器、所述存储器之间电耦合;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述存储器中的部分或者全部计算机程序指令,当所述部分或者全部计算机程序指令被执行时,用于实现上述第一方面及第一方面任一可能的实现的方法的功能。
上述第二方面至第四方面的技术效果可以参照第一方面及第一方面中任一可能的实现中的描述,重复之处不再赘述。
附图说明
图1为本申请实施例中提供的一种数据的查询系统架构示意图;
图2为本申请实施例中提供的一种数据的查询过程示意图;
图3为本申请实施例中提供的一种数据的查询系统架构示意图;
图4a为本申请实施例中提供的一种缓存构建引擎的示意图;
图4b为本申请实施例中提供的一种查询引擎的示意图;
图5为本申请实施例中提供的一种数据的查询过程示意图;
图6为本申请实施例中提供的一种数据的查询装置结构图;
图7为本申请实施例中提供的一种数据的查询装置结构图。
具体实施方式
下面将结合附图,对本申请实施例进行详细描述。
为便于理解本申请实施例,以下对本申请实施例的部分用语进行解释说明,以便于本领域技术人员理解。
1)、数据库表(Data Table),是指数据库最重要的组成部分之一,是一个临时保存数据的网格虚拟表,数据库表可以理解为表示内存中的数据的一个表。
2)、报表,主要是展示数据的值,趋势,比例等,数据来源于数据库表,可以理解为报表是在数据库表中保存的数据的基础上进行分析后得到的。
本申请中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请中所涉及的多个,是指两个或两个以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为便于理解本申请实施例,接下来对本请的应用场景进行介绍,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
如图1所述,提供了一种用户查询数据的架构示意图,用户可以通过应用application查询数据,该应用向服务端发送查询命令,用于查询某些数据。服务端可以从数据库中获取待查询的数据。由于数据库中保存的数据较多,这种直接查询数据库的方式的查询速度通常是比较慢的。基于此,服务端可以建立一个缓存,服务端可以优先从缓存中查询数据,反馈给应用。由于缓存中保存的数据相比数据库保存的数据较少,所以,在缓存中查询数据的方式相比在数据库中查询数据的方式,查询速度是较快的。
另外,数据库本身的性能是低并发访问,缓存本身的性能是高并发访问,也就是在同一时长内,数据库允许的访问量比缓存允许的访问量少很多。这样性能导致,在缓存中查询数据的方式相比在数据库中查询数据的方式,查询速度更快一些。尤其是在前端应用进行高并发访问时,查询速度明显提高。
需要注意的是,本申请中的访问包括查询,还可以包括不同于查询的其它操作,例如更新操作,也可以称为修改操作。
综上,可以得知,通过建立中间缓存层的方式,可以实现从低速低并发数据访问,跨越到高速高并发数据访问,可以提高数据查询的效率。
上述已经介绍了从缓存中查询数据的好处,究竟要将哪些数据添加到缓存中,以提高数据查询的效率,是本申请关注的问题。在本申请中的,根据数据的访问情况,来决定将哪些数据添加到缓存中,以提高用户查询数据的体验。
接下来将结合附图对方案进行详细介绍。
如图2所示,提供了一种查询数据的过程示意图。该查询数据的执行设备可以是任一电子设备,或电子设备中的芯片。
步骤201:根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况。
所述第一参数包括但不限于以下至少一种:访问所述第一对象的用户的等级,所述第一对象被访问的次数,所述第一对象被访问的类型;所述第一对象被访问的时间。
第一参数的不同数值对应的权重值一般不同,通过将权重值进行加权计算,可以得到该第一对象的分值。可以预设一段时间,根据这一段时间的访问情况,确定是否将第一对象添加到缓存中。这一段时间可以是1个小时,12个小时,24小时等。
一般用户的等级越高,对应的权重值越高,则计算出的第一对象的分值也越高,则该第一对象被添加到缓存中的可能性增大,这样可以优先保证等级较高的重点用户的查询体验。示例的,决策层用户(公司领导)权重高,底层用户(公司员工)权重低。针对访问所述第一对象的用户的等级这个参数,其对应的数值例如可以是a,b,c。例如a等级的权重值较高为0.5,b等级的权重值为0.3,c等级的权重值为0.1。例如公司领导的等级为a,公司部分经理的等级为b,公司员工的等级为c。
一般被访问的次数越多,对应的权重值越高,则计算出的第一对象的分值也越高,则该第一对象被添加到缓存中的可能性增大,这样可以提高经常被访问的对象的查询体验。针对第一对象被访问的次数这个参数,其对应的数值例如可以是1,200,5400等。例如数值1-100对应的一个权重值0.5,再例如,数值100-200对应一个权重值0.6。也可以是访问1次,权重值为0.01,则访问10次,即10*0.01=0.1。
另外,在确定第一对象的分数时,也可以参照被访问的类型,被访问的时间等因素。被访问的类型例如查看,更新视图(例如将柱状图更新为折线图)。被访问的时间例如可以是工作时间,非工作时间。不同的访问类型,不同的访问时间可以对应不同的权重值,则计算出的第一对象的分值不同。
此处的第一对象可以是一个报表,也可以是一个数据库表,也可以是其他数据内容。
以下介绍一个示例,例如预先规定a等级的权重值较高为0.5,b等级的权重值为0.3,c等级的权重值为0.1,访问1次权重值为0.01。
报表1,被访问过100次,其中,a等级的用户访问了10次,b等级的用户访问了50次,c等级的用户访问了40次。则报表1的分值为:100*0.01+10*0.5+50*0.3+40*0.1。
报表2,被访问过110次,其中,a等级的用户访问了15次,b等级的用户访问了45次,c等级的用户访问了50次。则报表2的分值为:110*0.01+15*0.5+45*0.3+50*0.1。
步骤202:在确定所述第一对象的分值大于或等于设定阈值的情况下,将所述第一对象添加到缓存中。
所述缓存可以为服务端的缓存。
如果所述第一对象的分值小于或等于所述设定阈值,则可以无需将所述第一对象添加到缓存中。
步骤203:接收所述第一对象的查询命令。
步骤204:若从所述缓存中能够查询到所述第一对象,则反馈所述缓存中保存的所述第一对象。
步骤205:若从所述缓存中未能查询到所述第一对象,则从数据库中查询所述第一对象,并反馈数据库中保存的所述第一对象。
综上,根据用户行为信息,例如访问的次数,访问的类型,访问的时间,以及结合用户等级信息,进行加权,筛选需要预先缓存的对象。有效提高数据缓存的使用命中率,提升缓存效率,使用有限的资源优先保障系统中高等级用户的访问体验。根据不同等级用户的行为数据预测用户后续访问策略,并优先保障高价值用户的系统缓存访问,提升缓存效率与命中率,提升高价值用户系统转化。
在本申请的一个实施例中,所述第一对象为第一报表,所述第一报表中的数据来源于所述第一数据库表中的数据。当确定第一数据库表被更新完成时,根据更新后的第一数据库表更新所述缓存中的所述第一报表。只要数据库表被更新完成,则即刻对与其关联的报表进行更新。相比于定时更新报表的内容,可以使报表更新的更加及时,提高用户查询报表时的准确性。
在本申请的一个实施例中,当确定所述第一对象超过预设时长未被访问的情况下,将所述第一对象从缓存中删除。针对长时间不被访问的对象,可以将其从缓存中删除,这样可以释放缓存空间,及时清除缓存中不被访问的对象,也可以提高查询其他对象的效率。
如图3所示,以第一对象为报表为例,详细说明数据查询系统架构示意图。该系统中主要包括查询引擎和缓存构建引擎,可选地,还可以包括数据抽取-转换-加载(Extract-Transform-Load,ETL)系统,数据仓库(也可以称为数据库),缓存(也可以称为高速缓存)。
缓存构建引擎,主要负责根据报表的访问情况,例如根据用户行为信息(例如访问的次数,访问的类型,访问的时间)以及结合用户等级信息,进行加权,选择需要预先缓存的报表,并从数据仓库中获取该报表的数据后,将该报表告知缓存。
缓存构建引擎还可以根据ETL系统通知的更新完成的数据库表,来更新报表。
查询引擎可以根据报表查询的SQL语句,优先从高速缓存中进行报表查询。
如图4a所示,缓存构建引擎主要包括:用户行为分析组件,报表信息管理组件,缓存刷新管理组件。
用户行为分析组件负责收集用户针对报表的访问行为,根据用户行为信息(例如访问的次数,访问的类型,访问的时间)以及用户等级信息,进行加权,选择需要预先缓存的报表。
报表信息管理组件负责对用户行为分析组件选择出的报表进行查询管理,例如查询报表中使用的数据源信息等。
缓存刷新管理组件负责接收ETL系统或其他数据变化检测系统的信息,在数据库表发生变化后,将涉及的报表进行刷新。
如图4b所示,查询引擎主要包括:协议解析组件、SQL解析组件、查询路由组件、下推管理组件。
协议解析组件负责对外开放的协议解析。
SQL解析组件负责SQL的归一化与解析。
查询路由组件负责根据解析后的SQL情况,优先在缓存中查询。
下推管理组件负责在缓存未命中时,将查询下推到数据库中,可选的,还可以将该本次查询的数据加入缓存中,以便于下次快速查询。
需要注意的是,以上组件的名称仅是一种示例,并不对其功能构成限定。
图5所示,结合图3的系统架构示意图,详细说明报表缓存,报表更新,报表查询的过程。
第一部分,先介绍报表缓存的过程。
缓存构建引擎首先获取用户行为信息以及用户等级信息,然后根据这些信息,进行加权,选择出需要缓存的报表。在确定出需要缓存的报表后,可以向报表系统查询需要缓存的报表所使用的数据库表。也就是向报表系统查询,待缓存的报表的数据来源于哪些数据库表。数据库表中的数据来源于数据仓库。
图2中的步骤201和步骤202可以由此处的缓存构建引擎执行。
第二部分,介绍报表更新的过程。
ETL系统在发现某个数据库表更新了,可以将其通知给缓存构建引擎。例如,ETL系统向缓存构建引擎发送数据处理结束通知,该通知中携带数据库表的标识。缓存构建引擎根据该数据处理结束通知,则可以确定该数据库表更新完成,则可以触发报表更新。在进行报表更新时,可以是缓存构建引擎先匹配与数据库表相关联的报表,也就是确定添加到缓存中的报表中是否存在某些报表的数据来源于ETL系统通知的数据库表。如果存在与数据库表匹配的报表,则可以对该报表进行更新。具体的,可以是缓存构建引擎从数据仓库中获取ETL系统通知的数据库表的内容(该内容已经被更新过了),缓存构建引擎根据从数据仓库中获取到的数据库表的内容对缓存中的与该数据库表相关联的报表进行更新。
例如,一个报表1使用数据库表1和数据库表2中的数据,ETL系统在数据处理结束通知中告知给缓存构建引擎数据库表3,缓存构建引擎可以确定添加到的缓存中的报表与数据库表3没有关联关系,就可以不对报表进行更新。如果ETL系统在数据处理结束通知中告知给缓存构建引擎数据库表2,缓存构建引擎可以确定添加到的缓存中的报表1与数据库表2有关联关系,则可以从数据仓库中查询更新后的数据库表2的数据内容,然后根据更新后的数据库表2的数据内容对报表1进行更新。
此处的ETL系统只是一种示例,在实际实施过程中也可以使用其他数据变化检测系统来触发报表更新。这种刷新方式,打破传统定时刷新的方式,可以保证报表刷新的及时性与准确性。
第三部分,介绍报表查询的过程。
用户通过报表系统来查询报表,报表系统将查询报表的命令发生给查询引擎。查询引擎优先从高速缓存中查询报表,如果高速缓存中无法查询报表,则可以在低速的数据仓库中的查询报表。这种查询方式可以提升用户查询体验。上述图2中的步骤203,步骤204和步骤205可以由此处的查询引擎执行。可选的,查询引擎还可以将本次查询到的报表添加到缓存中,以便提高下次的查询效率。
本申请不仅仅针对大数据报表场景下的报表缓存,在所有的高速访问与低速访问的中间缓存层构建中,都可以根据用户等级与用户行为有选择性的对数据进行预先加载,提升用户的查询效率,尤其针对高等级用户的用户体验。
前文介绍了本申请实施例的查询方法,下文中将介绍本申请实施例中的查询装置。方法、装置是基于同一技术构思的,由于方法、装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
基于与上述查询方法的同一技术构思,如图6所示,提供了一种查询装置600,装置600能够执行上述图2的方法中执行的各个步骤。查询装置600可以为电子设备,也可以为应用于电子设备中的芯片。装置600可以包括:处理模块610,可选的,还包括收发模块620,以及缓存630。
在一种示例中,所述缓存630,用于缓存数据。
在一种示例中,所述处理模块610,用于根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况;以及在确定所述第一对象的分值大于设定阈值的情况下,将所述第一对象添加到缓存中。
在一种示例中,收发模块630,可以用于接收所述第一对象的查询命令;所述处理模块610还用于根据所述查询命令从所述缓存中能够查询到所述第一对象,则通过所述收发模块620反馈所述缓存中保存的所述第一对象;以及在从所述缓存中未能查询到所述第一对象,则从数据库中查询所述第一对象,并通过所述收发模块620反馈数据库中保存的所述第一对象。
在一种示例中,当所述第一对象为第一报表时,所述处理模块610,还用于当确定第一数据库表被更新完成时,根据更新后的第一数据库表更新所述缓存中的所述第一报表;其中,所述第一报表中的数据来源于所述第一数据库表中的数据。
在一种示例中,所述处理模块610,还用于在确定所述第一对象超过预设时长未被访问的情况下,将所述第一对象从所述缓存中删除。
图7是本申请实施例的查询装置700的示意性框图。应理解,所述装置700能够执行上述图2的方法的各个步骤。装置700包括:处理器710,可选的,还包括存储器730和收发器720。该收发器,可以用于接收程序指令并传输至所述处理器,或者,该收发器可以用于该装置与其他通信设备进行通信交互,比如交互控制信令和/或业务数据等。该收发器可以为代码和/或数据读写收发器,或者,该收发器可以为通信处理器与收发机之间的信号传输收发器。所述处理器710和所述存储器730之间电耦合。
示例的,存储器730,用于存储计算机程序;所述处理器710,可以用于调用所述存储器中存储的计算机程序或指令,执行上述的数据的查询方法。
图6中的处理模块610可以通过处理器710来实现,收发模块620可以通过收发器720来实现,缓存630可以通过存储器730来实现。
在一种示例中,所述处理器710,可以用于根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况;在确定所述第一对象的分值大于设定阈值的情况下,将所述第一对象添加到缓存中。
在一种示例中,所述处理器710还可以用于通过收发器720接收所述第一对象的查询命令;所述处理器710,还可以用于若从所述缓存中能够查询到所述第一对象,则反馈所述缓存中保存的所述第一对象;若从所述缓存中未能查询到所述第一对象,则从数据库中查询所述第一对象,并反馈数据库中保存的所述第一对象。
在一种示例中,当所述第一对象为第一报表时,所述处理器710,还可以用于当确定第一数据库表被更新完成时,根据更新后的第一数据库表更新所述缓存中的所述第一报表;其中,所述第一报表中的数据来源于所述第一数据库表中的数据。
在一种示例中,所述处理器710,还可以用于在确定所述第一对象超过预设时长未被访问的情况下,将所述第一对象从所述缓存中删除。
上述的处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器还可以进一步包括硬件芯片或其他通用处理器。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)及其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等或其任意组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。应注意,本申请描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例所述的收发装置、接口电路、或者收发器中可以包括单独的发送器,和/或,单独的接收器,也可以是发送器和接收器集成一体。收发装置、接口电路、或者收发器可以在相应的处理器的指示下工作。可选的,发送器可以对应物理设备中发射机,接收器可以对应物理设备中的接收机。
本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序被计算机执行时,可以使得所述计算机用于执行上述数据的查询方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述提供的数据的查询方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包括有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (11)

1.一种数据的查询方法,其特征在于,所述方法包括:
根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况;
在确定所述第一对象的分值大于设定阈值的情况下,将所述第一对象添加到缓存中。
2.如权利要求1所述的方法,其特征在于,还包括:
接收所述第一对象的查询命令;
若从所述缓存中能够查询到所述第一对象,则反馈所述缓存中保存的所述第一对象;
若从所述缓存中未能查询到所述第一对象,则从数据库中查询所述第一对象,并反馈数据库中保存的所述第一对象。
3.如权利要求1或2所述的方法,其特征在于,所述第一参数为以下至少一种:
访问所述第一对象的用户的等级,所述第一对象被访问的次数,所述第一对象被访问的类型,所述第一对象被访问的时间。
4.如权利要求1-3任一项所述的方法,其特征在于,当所述第一对象为第一报表时,还包括:
当确定第一数据库表被更新完成时,根据更新后的第一数据库表更新所述缓存中的所述第一报表;其中,所述第一报表中的数据来源于所述第一数据库表中的数据。
5.如权利要求1-4任一项所述的方法,其特征在于,还包括:
在确定所述第一对象超过预设时长未被访问的情况下,将所述第一对象从所述缓存中删除。
6.一种数据的查询装置,其特征在于,所述装置包括处理模块和缓存:
所述缓存,用于缓存数据;
所述处理模块,用于根据第一对象的第一参数,确定所述第一对象的分值,所述第一参数用于表征所述第一对象的访问情况;以及在确定所述第一对象的分值大于设定阈值的情况下,将所述第一对象添加到所述缓存中。
7.如权利要求6所述的装置,其特征在于,还包括:
收发模块,用于接收所述第一对象的查询命令;
所述处理模块,还用于根据所述查询命令在从所述缓存中能够查询到所述第一对象,则通过所述收发模块反馈所述缓存中保存的所述第一对象;以及在从所述缓存中未能查询到所述第一对象,则从数据库中查询所述第一对象,并通过所述收发模块反馈数据库中保存的所述第一对象。
8.如权利要求6或7所述的装置,其特征在于,所述第一参数为以下至少一种:
访问所述第一对象的用户的等级,所述第一对象被访问的次数,所述第一对象被访问的类型,所述第一对象被访问的时间。
9.如权利要求1-8任一项所述的装置,其特征在于,当所述第一对象为第一报表时,所述处理模块,还用于当确定第一数据库表被更新完成时,根据更新后的第一数据库表更新所述缓存中的所述第一报表;其中,所述第一报表中的数据来源于所述第一数据库表中的数据。
10.如权利要求1-9任一项所述的装置,其特征在于,所述处理模块,还用于在确定所述第一对象超过预设时长未被访问的情况下,将所述第一对象从所述缓存中删除。
11.一种数据的查询装置,其特征在于,所述装置包括:处理器和存储器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述存储器中的部分或者全部计算机程序指令,当所述部分或者全部计算机程序指令被执行时,用于实现如权利要求1-5任一项所述的方法。
CN202010753719.8A 2020-07-30 2020-07-30 一种数据的查询方法及装置 Pending CN114064710A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010753719.8A CN114064710A (zh) 2020-07-30 2020-07-30 一种数据的查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010753719.8A CN114064710A (zh) 2020-07-30 2020-07-30 一种数据的查询方法及装置

Publications (1)

Publication Number Publication Date
CN114064710A true CN114064710A (zh) 2022-02-18

Family

ID=80227420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010753719.8A Pending CN114064710A (zh) 2020-07-30 2020-07-30 一种数据的查询方法及装置

Country Status (1)

Country Link
CN (1) CN114064710A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116089518A (zh) * 2023-04-07 2023-05-09 广州思迈特软件有限公司 一种数据模型抽取方法及系统、终端、介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116089518A (zh) * 2023-04-07 2023-05-09 广州思迈特软件有限公司 一种数据模型抽取方法及系统、终端、介质

Similar Documents

Publication Publication Date Title
CN104572979B (zh) 一种处理结构化查询语言sql的方法及装置
US20090177844A1 (en) Method of efficiently choosing a cache entry for castout
CN106547828B (zh) 一种基于神经网络的数据库缓存系统及方法
JP2006178554A5 (zh)
US9990403B2 (en) System and a method for reasoning and running continuous queries over data streams
CN109656950B (zh) 递归查询方法、装置、服务器及存储介质
CN107704573A (zh) 一种与业务耦合的智能缓存方法
CN107301215A (zh) 一种搜索结果缓存方法及装置、搜索方法及装置
CN110647542B (zh) 一种数据获取方法和装置
CN112035766A (zh) 网页访问方法、装置、存储介质及电子设备
CN103559307A (zh) 一种查询的缓存方法及装置
CN116226200A (zh) 一种基于bff架构的服务接口数据缓存方法、装置及设备
CN107220287A (zh) 用于日志查询的索引管理方法、装置、存储介质及设备
CN104899249A (zh) 一种海量数据下可靠索引更新系统及方法
CN117472967B (zh) 一种基于数据使用热度的数据生命周期管理方法及系统
CN114064710A (zh) 一种数据的查询方法及装置
CN111488736A (zh) 自学习分词方法、装置、计算机设备和存储介质
CN114428776A (zh) 一种面向时序数据的索引分区管理方法和系统
CN105610881A (zh) 一种分布式缓存范围查询方法、装置及系统
CN107391555B (zh) 一种面向Spark-Sql检索的元数据实时更新方法
CN106991116B (zh) 数据库执行计划的优化方法和装置
CN101136765A (zh) 一种快速访问信息模型的方法
CN117421499A (zh) 前端处理方法、装置、终端设备以及存储介质
CN106251623A (zh) 一种提供道路实时路况服务的系统
CN102004800A (zh) Pdm系统中数据的查询方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20220208

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination