CN115168621A - 数据反馈方法、装置、电子设备和存储介质 - Google Patents
数据反馈方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115168621A CN115168621A CN202210668359.0A CN202210668359A CN115168621A CN 115168621 A CN115168621 A CN 115168621A CN 202210668359 A CN202210668359 A CN 202210668359A CN 115168621 A CN115168621 A CN 115168621A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata information
- data set
- list
- access
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000008569 process Effects 0.000 claims description 21
- 239000000872 buffer Substances 0.000 claims description 20
- 238000009825 accumulation Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000003111 delayed effect Effects 0.000 abstract description 4
- 238000005192 partition Methods 0.000 description 21
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 10
- 230000005611 electricity Effects 0.000 description 9
- 238000012216 screening Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 206010025067 Lung carcinoma cell type unspecified stage I Diseases 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000003814 drug Substances 0.000 description 3
- 229940079593 drug Drugs 0.000 description 3
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 238000010339 medical test Methods 0.000 description 2
- 206010058467 Lung neoplasm malignant Diseases 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 201000005202 lung cancer Diseases 0.000 description 1
- 208000020816 lung neoplasm Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施方式提供了一种数据反馈方法、装置、电子设备和可读存储介质。所述方法包括:解析接收到的数据查询指令,得到所述数据查询指令对应的元数据信息;在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间;基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。通过解析查询指令针对的数据集,在缓存空间中没有该数据集且准入列表中存在该数据集的解析数据,将该数据集读入缓存空间,延缓了缓存空间被占满的速度,提升了数据查询的效率。
Description
技术领域
本说明书中实施方式涉及大数据处理领域,具体涉及一种数据反馈方法、装置、电子设备和存储介质。
背景技术
随着企业数字化程度的不断提升,产生了越来越多的数据。目前,企业在对这些数据进行查询分析的过程中,采用基于内存计算的Presto查询引擎。Presto是一种存储和计算分离的架构,通过在Presto侧部署能在内存缓存文件的Alluxio,能有效缓解网络带宽的压力,还能提升SQL查询语句执行的效率。
现有技术中,通常是将可能会使用的大量数据直接放入Alluxio的缓存空间中,以实现可以较为快速的响应Presto。然而,这种大量数据直接放入Alluxio的缓存空间中,可能导致Alluxio的缓存空间被快速占满,降低了Alluxio的性能。
发明内容
本说明书中多个实施方式提供一种数据反馈方法、装置、电子设备和存储介质,以提供一种能在一定程度上可以提升数据查询语句的执行效率的方法。
本说明书的一个实施方式提供一种数据反馈方法,应用于服务器,包括:解析接收到的数据查询指令,得到所述数据查询指令涉及的元数据信息;其中,所述元数据信息用于表征所述数据查询指令针对的数据集;在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间;基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。
本说明书的一个实施方式提供一种数据反馈装置,包括:数据查询指令解析单元,用于解析接收到的数据查询指令,得到所述数据查询指令对应的元数据信息;其中,所述元数据信息用于表征所述数据查询指令针对的数据集;数据读取单元,用于在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间;查询结果反馈单元,用于基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。
本说明书的一个实施方式提供一种电子设备,所述电子设备包括:存储器,以及与所述存储器通信连接的一个或多个处理器;所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现上述实施方式中任一项所述的方法。
本说明书的一个实施方式提供一种计算机存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任一项所述的方法。
本说明书提供的多个实施方式,通过解析数据查询指令得到对应的元数据信息,在缓存空间中没有该元数据信息表征的数据集且准入列表中存在该元数据信息的情况下,将该数据集读入缓存空间,延缓了缓存空间被占满的速度,在一定程度上提升了数据查询的整体效率。
附图说明
图1所示为本说明书的一个实施方式提供的场景示例应用示意图。
图2所示为本说明书的一个实施方式提供的场景示例应用示意图。
图3所示为本说明书的一个实施方式提供的系统交互示意图。
图4所示为本说明书一个实施方式提供的数据反馈方法的流程示意图。
图5所示为本说明书一个实施方式提供的数据反馈装置示意图。
图6所示为本说明书一个实施方式提供的电子设备示意图。
具体实施方式
概述
在相关技术中,Presto是一种基于内存计算的查询引擎,在Presto执行查询语句的过程中,需要从远程存储服务中下载数据到Presto内存中。为了提升Presto的查询响应速度,可以在Presto侧部署能在内存缓存文件的Alluxio,实现降低了执行查询语句耗费的时长。
然而,文件存储系统中的文件数量通常非常大,而Alluxio中的缓存空间是有限的,不可能将文件存储系统中的文件全部都同步到Alluxio的缓存空间中。在Alluxio的缓存空间不足的情况下,在Alluxio缓存空间中要淘汰掉部分数据,然后再将需要查询的新增数据从远程存储服务下载到Alluxio的缓存空间。这个过程,增加了Presto从远程下载文件的次数,从而降低了数据查询的效率。
因此,有必要提供一种可以提升数据查询效率的方法,可以通过构建一个准入列表,判断数据查询指令针对的数据表的元数据信息是否存在于该准入列表中,如果数据查询指令针对的数据表的元数据信息存在于该准入列表中,该数据表才被存入缓存空间中,可以基于缓存空间中的数据表反馈该数据查询指令。并可以在该数据表被再次查询时,可以直接从缓存空间中读取。可以实现,避免了未被使用的数据集存储入缓存空间,延缓了缓存空间被占满的速度。使得,缓存空间可以在较长时间处于较好的数据处理性能,在一定程度上提升了数据查询的整体效率。
场景示例
请参阅图1,本说明书中提供一种数据反馈系统的应用场景示例。所述数据反馈系统可以包括客户端和服务器。用户可以是企业的数据分析人员,需要对存储在分布式文件系统(Hadoop Distributed File System,HDFS)中的数据表进行查询分析。用户可以向客户端中输入操作指令语句并发送给部署有Presto的服务器。Presto可以对用户输入的操作指令语句进行解析。Presto可以判断该操作指令语句是否为查询语句,如果该操作指令语句是对存储在HDFS中的数据进行增加、修改删除或者新建等操作指令,则可以直接对存储在HDFS中的数据表进行更新即可。如果该操作指令语句是对存储在HDFS中的数据进行查询,那么Presto可以对该数据查询指令进行解析,得到该操作指令语句针对的数据集的访问路径。
在获取到操作指令语句针对的数据集的访问路径之后,服务器可以查找该访问路径是否存在于准入列表中;其中,准入列表用于存储允许进入缓存空间的数据集的访问路径。如果该访问路径不属于准入列表,那么可以直接从HDFS中将数据表或分区表远程读取至运行内存中,可以基于内存中的数据表反馈查询结果。如果该访问路径属于准入列表,那么可以从Alluxio缓存中读取该访问路径表征的数据集。当Alluxio缓存空间中不存在该访问路径表征的数据集的情况下,可以将该访问路径表征的数据集从HDFS远程读取至Alluxio缓存空间中。进而,基于Alluxio缓存空间中的数据表反馈查询结果。
在一些情况下,当Alluxio缓存空间中已经存在该访问路径表征的数据集的情况下,可以直接基于Alluxio缓存空间中的数据表反馈查询结果。
请参阅图2,本说明书中提供一种准入列表选取系统的应用场景示例。部署在服务器上的Presto可以依次解析获取的数据查询指令集合中的历史数据查询指令。服务器依次对客户端输入的数据查询指令集合中的历史数据查询指令进行解析,得到历史数据查询指令针对的访问路径。
服务器可以首先创建一个空的访问路径集合用于存储包括历史数据查询指令针对的数据集的访问路径和历史数据查询指令针对的数据子集的访问路径。在Presto解析历史数据查询指令得到的数据集的访问路径不属于访问路径集合的情况下,将该数据集的访问路径添加到访问路径集合中,并记录该数据集的访问路径的访问频次为一次;在Presto解析历史数据查询指令得到的数据集的访问路径属于访问路径集合的情况下,将该数据集的访问路径的访问频次增加一次。
接着,服务器还可以判断Presto解析历史数据查询指令针对的访问路径表征的是否是数据子集,如果不是数据子集,可以继续解析剩下的历史数据查询指令。如果是数据子集,那么在Presto解析历史数据查询指令得到的数据子集的访问路径不属于访问路径集合的情况下,将该数据子集的访问路径添加到访问路径集合中,并记录该数据子集的访问路径的访问频次为一次;在Presto解析历史数据查询指令得到的数据子集的访问路径属于访问路径集合的情况下,将该数据子集的访问路径的访问频次增加一次。
在得到访问路径集合和统计得到访问路径集合中的访问路径的访问频次之后,服务器可以首先将用户根据业务需求生成的预选列表作为初始准入列表。接着,服务器可以根据访问路径集合中的访问路径对应的访问频次的倒序将访问路径集合中的访问路径且不属于预选列表中的访问路径添加到初始准入列表中。然后,服务器可以获取初始准入列表中的访问路径表征的数据集的数据量,并且将数据量大于预设的单个数据集的数据量的的访问路径从初始准入列表中删除。接着,服务器可以遍历初始准入列表,在初始准入列表中访问路径用于表征数据子集的情况下,如果在初始准入列表中存在与该数据子集对应的数据集的访问路径的情况下,则将该数据子集的访问路径从初始准入列表中删除,从而生成初始准入列表。
在得到初始准入列表后,服务器可以根据预设的准入列表中访问路径的个数依次遍历初始准入列表,将缓存空间容量减去初始准入列表中的访问路径针对的数据集的数据量得到剩余缓存空间容量。在剩余缓存空间容量大于或等于0的情况下,将经过遍历的初始准入列表中的访问路径添加到准入列表中,得到最终的准入列表;其中,当准入列表中的访问路径的数量达到预设的数量之后,停止遍历初始准入列表。
以上所述仅为本说明书提供的几个场景示例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
系统架构
请参阅图3,本说明书实施方式提供一种数据反馈系统。所述数据反馈系统可以包括客户端和服务器。所述客户端可以是具有网络访问能力的电子设备。具体的,例如,客户端可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
示例的方法
请参阅图4,本说明书的一个实施方式提供一种数据反馈方法。所述数据反馈方法可以应用于服务器。所述数据反馈方法可以包括以下步骤。
步骤S110:解析接收到的数据查询指令,得到所述数据查询指令涉及的元数据信息;其中,所述元数据信息用于表征所述数据查询指令针对的数据集。
所述数据查询指令可以是用于查询存储在数据库中的数据和/或查询存储在数据库中的数据之间的运算结果,可以并不涉及对存储在数据库中的数据进行更改。具体的,例如,数据查询指令可以是某银行需要查询2021年度在该银行存款金额大于500,000元的客户的年龄。数据查询指令也可以是某医学研究中心需要查询参加某次临床医学试验的受试者的BMI,但HDFS数据库中只存储有受试者的身高和体重,那么则需要获取数据库中表示身高和体重的数据集,然后根据表示身高和体重的数据集中的身高和体重数据,计算受试者的BMI值。
所述数据集可以用于表示存储在数据库中的数据表和/或分区表。具体的,例如,一张用于存储学生信息的数据表中存储有某小学1-6年级学生的姓名、学号、语文成绩、数学成绩和英语成绩,那么这个用户存储学生信息的数据表可以表示为一个数据集合。其中,在这个用于存储学生信息的数据表中筛选出三年级学生的信息的分区表也可以表示为一个数据集;在这个用于存储学生信息的数据表中筛选出学生的姓名、学号、语文成绩的分区表也可以表示为一个数据集。当然,一个数据集中可以包括多个数据表或者多个分区表,还可以包括多个数据表和分区表的组合。
所述元数据信息可以用于表征存储在数据库中的数据表和/或分区表。具体的,例如,元数据信息可以是数据表和/或分区表的名称。元数据信息也可以是数据表和/或分区表在数据库中的位置信息。具体的,例如,元数据信息可以是数据表和/或分区表的访问路径。在一些实施方式中,元数据信息也可以是用于标识数据表和/或分区表的代码。
解析接收到的数据查询指令可以至少得出以下之一:该数据查询指令针对的数据集的API(Application Programming Interface,应用程序接口)、数据库名称、数据表名称、与数据表对应的访问路径、分区表名称、与分区表对应的访问路径等。具体的,例如,通过Presto解析出数据集的名称和数据集的访问路径,该数据集的访问路径可以唯一指向该数据集。
步骤S120:在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间。
在一些情况下,直接从缓存空间中读取数据查询指令所需要的数据集可以减少网络宽带下载数据的压力,从而节约数据查询指令的执行的时间。但是,由于缓存空间是有限的,当缓存空间满了之后,缓存空间就可能会释放出一些查询频率比较高的数据集,当需要查询该数据集的时候,需要多次从远程数据存储服务器中下载至缓存空间,从而降低了缓存空间的使用性能。因此,可以通过设置一个准入列表,在准入列表中存在数据查询指令针对的元数据信息的情况下,才从缓存空间中读取数据查询指令针对的数据集。
所述准入列表可以用于指引从磁盘还是缓存中获取数据查询指令针对的数据集。具体的,例如,在查询指令针对的数据集的元数据信息属于准入列表中的元数据信息,那么就可以从缓存空间中读取数据查询指令针对的数据集。如果,查询指令针对的数据集的元数据信息不属于准入列表中的元数据信息,那么就可以通过网络将存储在HDFS中的数据集远程读取到运行内存中,在该数据查询指令执行完毕之后,再将该数据集从内存中释放出去。
所述将所述元数据信息表征的数据集读入所述缓存空间的方法可以是在执行数据查询指令的过程中,解析数据查询指令之后得到的元数据信息存在于准入列表中,那么就可以从缓存中读取该数据查询指令针对的数据集。具体的,例如,使用Presto解析数据查询指令得到数据查询指令针对的元数据信息。在该元数据信息属于准入列表的情况下,那么就可以从Alluxio缓存空间中获取该元数据信息表征的数据集。当Alluxio缓存空间中不存在该元数据信息表征的数据集的情况下,可以将该结合标识表征的数据集从HDFS中通过网络远程读入并保存在Alluxio的缓存空间中。
步骤S130:基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。
在一些情况下,如果在查询过程中从远程将数据集读取到内存中,当数据查询指令执行完成之后,再将数据集从内存空间中释放出去,需要多次进行远程数据的读取,降低了数据查询指令执行的速度。因此,对于一些访问频次较高的数据集,可以直接从缓存中进行读取,从而减少了去远程读取数据的次数,在一定程度上提升了数据查询指令执行的效率。
所述基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果的方法,可以是在获取到数据查询指令针对的数据集后,对该数据集中的数据通过数据查询指令进行筛选、计算等得到数据查询结果。具体的,例如,某医学研究中心需要在数据表A中查询参加某药用于肺癌I期临床医学试验的受试者的BMI,其中,数据表A中存储有药品名称、治疗疾病、临床研究阶段、受试者身高、受试者体重,且数据表A属于准入列表。那么可以从缓存中首先可以根据药品名称为某药,治疗疾病为肺癌、临床试验阶段为I期进行筛选,然后根据筛选的结果进行BMI计算得到参加某药用于肺癌I期临床医学试验的受试者的BMI。
通过解析查询指令所需要获取的数据集,在缓存空间中没有该数据集且准入列表中存在该数据集的访问路径的情况下,将该数据集读入缓存空间,从而节约了缓存空间的使用量,延缓了缓存空间可能被占满的时长。在一定程度上提升了数据查询的效率。
在一些实施方式中,所述元数据信息可以包括所表征的数据集的访问路径;所述准入列表包括准入访问路径列表;其中,所述准入访问路径列表中包括多个准入访问路径;其中,所述准入访问路径对应的数据集被允许读入所述缓存空间;在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间,可以包括:在所述准入列表的准入访问路径列表中包括所述访问路径,且所述缓存空间中没有所述访问路径指向的数据集的情况下,将所述访问路径指向的数据集读入所述缓存空间。
在一些情况下,只使用数据表的名称、分区表的名称等元数据信息表征数据集的情况下,可能需要对数据库中所有的数据表都进行一次遍历,在一定程度上降低了在执行数据查询指令的过程中获取数据集的效率。因此,可以构建一个用于指向数据集存储地址的准入访问路径列表,根据准入列表中的准入访问路径准确定位到需要访问的数据集,从而在一定程度上提升了执行查询指令的过程中获取数据集的效率。
所述访问路径可以用于唯一表示该数据集的元数据信息。通过构建访问路径,还可以建立数据集的快速索引,避免了需要遍历存储在数据库中的数据表的情况,从而在一定程度上提升了数据查询的效率。具体的,例如,所述访问路径可以是“E:\DBHOME_2\DATABASE\TEST2FILE.DBF”,通过该访问路径可以直接指向数据集存储在HDFS的位置。
所述准入访问路径列表是用于存储访问路径。具体的,例如,通过解析数据查询指令得到访问路径,通过判断该访问路径是否属于准入列表中的访问路径可以确定数据查询指令需要从缓存空间还是从远程HDFS中获取数据。当访问路径属于准入访问路径列表的情况下,可以从Alluxio缓存空间中获取数据集;当访问路径不属于准入访问路径列表的情况下,可以从HDFS中将数据集远程读取到运行内存中。
在一些实施方式中,所述数据查询指令涉及的元数据信息包括属于所述准入列表的第一元数据信息,和不属于所述准入列表的第二元数据信息;所述方法还可以包括:将所述第二元数据信息表征的数据集从磁盘读入内存空间;所述将所述元数据信息表征的数据集读入所述缓存空间,可以包括:将所述第一元数据表征的数据集读入所述缓存空间;所述基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果,可以包括:基于所述缓存空间中的所述第一元数据信息表征的数据集和所述内存空间中所述第二元数据信息表征的数据集反馈所述数据查询指令的查询结果。
在一些情况下,在一次数据查询指令执行的过程中,由于缓存空间的容量有限,并不是数据查询指令所需要获取的数据集都可以从缓存空间中获取。因此,还有部分数据需要从远程的存储数据的服务器中获取,并将所需要获取的数据集读入服务器的内存空间中,在查询语句执行完毕之后,从内存空间中释放该数据集。
所述第一元数据信息用于表示数据查询指令针对的数据集的元数据信息属于准入列表。所述第二元数据信息用于表示数据查询指令针对的数据集的元数据信息不属于准入列表。
在本实施方式中,数据查询指令针对的数据集为包括能够存储在缓存空间中的数据集和不允许存入缓存空间的数据集。具体的,例如,为了获取某小区每户居民的2021年度7月份的水电费累计使用情况,需要从B1表中获取水费信息,需要从B2表中获取电费信息。由于表示水费信息的B1表不属于准入访问路径列表,而表示电费信息的B2表属于准入访问路径列表。那么服务器就可以从Alluxio缓存空间中读取B2表,从HDFS中远程获取B1表,然后根据筛选条件小区、电费、水费、年度、月份等筛选出每户人家的水费和电费信息,然后根据户号对水费和电费进行累加计算,得到某小区每户居民的2021年度7月份的水电费累计使用情况。
在一些实施方式中,数据反馈方法还可以包括:获取指定时间段内的数据查询指令集合;其中,所述数据查询指令集合中包括多个历史数据查询指令;解析所述历史数据查询指令,得到所述历史数据查询指令涉及的元数据信息;统计所述历史数据查询指令涉及的元数据信息表征的数据集的访问频次;至少根据所述访问频次确定所述准入列表包括的元数据信息。
在一些情况下,由于缓存空间的容量有限,缓存空间的淘汰机制主要是采用自动的LRU的淘汰机制进行淘汰,从而可能会导致访问频次较高的数据被淘汰出缓存空间。为了避免缓存空间被偶尔需要访问的数据集过多的占用,因此,可以通过对在过去的指定时间段内的历史查询指令进行解析,得到历史查询指令需要访问的数据集的元数据信息和该数据集被访问的访问频次,根据访问频次确定需要添加到准入列表中的集合表示,从而可以在一定程度上发挥缓存空间的使用率。
所述数据查询指令集合用于存储在过去某个时间段内的历史数据查询指令。数据查询指令集合可以根据用户需求,以及具体的场景进行选取。具体的,例如,当Presto每时每刻都有大量的数据查询指令执行的时候,那么就可以缩短选取历史查询指令的时间间隔,相对来说生成越短,缓存空间容纳的数据集就越合理。但是当多次生成的准入列表差异较大,也要考虑适当增加选取历史查询指令的时间间隔。
所述访问频次可以是在过去某个时间段内,数据查询指令针对的数据集被访问的次数。具体的,例如,在一周内,Presto一共执行了100,000条数据查询指令。其中,这100,000数据查询指令中有1,500条数据查询指令需要获取数据集A中的数据,那么数据集A对应的元数据信息的访问频次为1,500次。
所述统计所述历史数据查询指令涉及的元数据信息表征的数据集的访问频次的方法可以是解析数据查询指令集合中的历史数据查询指令得到历史数据查询指令针对的元数据信息,当该元数据信息为首次出现的情况下,需要记录该元数据信息,并可以标记该元数据信息的访问频次为1次;当该元数据信息并非首次出现的情况,可以直接将元数据信息的访问频次增加1次,直至数据查询指令集合中的历史数据查询指令被解析完成为止。
所述至少根据所述访问频次确定所述准入列表包括的元数据信息可以是设定一个访问频次阈值,在访问频次大于或等于访问频次阈值的情况下,将该访问频次对应的元数据信息添加到准入列表中。
在一些实施方式中,数据反馈方法还可以包括:获取所述历史数据查询指令涉及的元数据信息表征的数据集的数据量;所述至少根据所述访问频次确定所述准入列表包括的元数据信息,可以包括:根据所述访问频次和所述数据量确定所述准入列表包括的元数据信息。
在一些情况下,数据查询指令集合中的历史数据查询指令进行解析后得到的元数据信息所表征的数据量之和大于缓存空间的容量。因此,还需要根据访问频次和元数据信息所表征的数据量的累计之和共同确定准入列表。
所述根据所述访问频次和所述数据量确定所述准入列表包括的元数据信息的方法可以是根据访问频次对元数据信息按照从高到低的顺序进行排序,并且依次添加到准入列表中。当准入列表中的元数据信息表征的数据集对应的数据量之和小于或者等于缓存空间容量的情况下,继续向准入列表中添加元数据信息,直至准入列表中的元数据信息表征的数据集对应的数据量达到最大限度。避免再次向准入列表中添加元数据信息时,此时的准入列表中的元数据信息表征的数据集对应的数据量超过了缓存空间容量。
在一些实施方式中,所述根据所述访问频次和所述数据量确定所述准入列表包括的元数据信息,可以包括:按照所述访问频次从高至低,累加所述访问频次对应的元数据信息表征的数据集的数据量,得到缓存数据总量;执行前述累加步骤的过程中,在所述缓存数据总量小于或等于缓存空间容量的情况下,将执行所述累加步骤的访问频次对应的元数据信息添加到所述准入列表中。
在一些情况下,根据访问频次和访问频次对应的元数据信息表征的数据集的数据量确定准入列表可以在一定程度上提升数据查询指令的执行效率。因此,可以将访问频次较高的元数据信息,且这些元数据信息表征的数据集的数据量不超过缓存空间容量的元数据信息作为准入列表。
所述缓存数据总量可以是根据访问频次从高到低的顺序,从最高访问频次对应的元数据信息开始计算元数据信息针对的数据集的数据量之和。
所述将执行所述累加步骤的访问频次对应的元数据信息添加到所述准入列表中可以是按照访问频次从高到低的顺序,从最高访问频次对应的元数据信息开始计算元数据信息针对的数据集的缓存数据总量,如果该缓存数据总量小于空间容量,则将该访问频次对应的元数据信息添加到准入列表中。
在一些实施方式中,所述缓存空间具有缓存初始容量;所述准入列表可以包括指定元数据信息;所述方法还可以包括:统计所述指定元数据信息表征的数据集的预占用空间量;将所述缓存初始容量去除所述预占用空间量后,得到所述缓存空间容量。
在一些情况下,根据用户的业务需求,对一些数据集的时效性要求较高。因此,可以将根据用户的业务需求,将对数据查询指令获取查询结果的时效性较高的数据集添加到准入列表中。
所述缓存初始容量可以是整个缓存空间最多能容纳的数据量。具体的,例如,Alluxio的缓存空间最多能容纳1GB的数据量,则缓存初始容量可以是1GB,也可以设置为小于1GB。
所述指定元数据信息用于表示用户指定的需要添加到准入列表中的元数据信息。具体的,例如,在某个时段内,表D的访问频次为1次,根据预设的逻辑规则,表D并不能被判定进入缓存空间,但由于用户根据业务需求分析的需要,因此,可以首先指定元数据信息添加到准入列表中。
所述预占用空间可以是指定元数据信息表征的数据集对应的数据总量。所述剩余空间容量可以是缓存空间容量减去预占用空间后剩余的缓存空间容量。
在本实施方式中,在执行前述累加步骤的过程中,在所述缓存数据总量小于或等于所述剩余空间容量的情况下,将执行所述累加操作的访问频次对应元数据信息添加到准入列表中还需要判断该访问频次对应的元数据信息是否属于指定元数据信息。如果该访问频次对应的元数据信息属于指定元数据信息,那么该访问频次对应的元数据信息不被添加到准入列表中;如果该访问频次对应的元数据信息不属于指定元数据信息,那么该访问频次对应的元数据信息被添加到准入列表中。
在一些实施方式中,所述累加步骤对应有设定次数阈值;在执行前述累加步骤的过程中,在所述缓存数据总量小于或等于所述缓存空间容量的情况下,将执行所述累加步骤的访问频次对应的元数据信息添加到所述准入列表中,直至所述累加步骤的次数达成所述设定次数阈值。
在一些情况下,服务器可以判断是从缓存空间中获取数据还是从远程数据库中获取数据。因此,为了减少服务器判断从哪里获取数据的压力,生成的准入列表的长度不能过长,通过设置一个次数阈值,在准入列表中的元数据信息达到指定次数阈值的情况下,则准入列表中不再添加元数据信息。
在一些实施方式中,所述数据集包括数据子集;所述访问频次包括所述数据子集的访问频次;所述按照所述访问频次从高至低,累加所述访问频次对应的元数据信息表征的数据集的数据量,包括:在所述元数据信息表征的数据集的数据量大于设定阈值的情况下,依照所述数据子集的访问频次从高至低,且满足数据子集的数据总量小于所述设定阈值的情况下,选择最多数量个的数据子集执行所述累加步骤。
在一些情况下,由于某些元数据信息表征的数据集的数据量可能较大,虽然该元数据信息对应的访问频次较高,但如果将该元数据信息表征的数据量全部纳入缓存空间的话,需要占据较大的缓存空间容量,反而可能会降低数据查询指令的执行效率。因此,可以根据该数据集的多个数据子集被访问的频次,并且多个数据子集的累计数据量不超过该数据集的数据量,选取该数据集包括的多个数据子集添加到准入列表中。
所述选择最多数量个的数据子集执行所述累加步骤可以是对该数据集包括的多个数据子集按照访问频次从高到低的顺序进行排序,在访问频次对应的元数据信息表征的数据子集的数据量小于设定的数据量阈值,且多个数据子集的数据量之和小于或等于该数据集的情况下,将多个数据子集对应的元数据信息添加到准入列表中。当然,也可以对访问频次设置阈值,根据多个数据子集对应的访问频次大于设置的阈值,并且多个数据子集的累计数据量不超过该数据集的数据量,选取该数据集包括的多个数据子集添加到准入列表中。
在一些实施方式中,在所述元数据信息表征的数据集的数据量大于设定阈值的情况下,不将所述元数据信息添加至所述准入列表。
在一些情况下,由于元数据信息表征的数据集的数据量过大,占用了过多的缓存空间容量,从而导致有些访问频次也较高的数据集的元数据信息并不被允许进入准入列表中,从而在一定程度上降低了数据查询指令的执行效率。因此,可以通过设定一个阈值,不允许元数据信息表征的数据集的数据量大于该阈值的元数据信息进入准入列表。
在本实施方式中,根据访问频次对元数据信息按照从高到低的顺序进行排序,并且依次添加到准入列表中。当准入列表中的元数据信息表征的数据集对应的数据量之和小于或者等于缓存空间容量,且该元数据信息小于预设数据量阈值的情况下,向准入列表中添加元数据信息,直至准入列表中的元数据信息表征的数据集对应的数据量达到最大限度,即再次向准入列表中添加元数据信息时,此时的准入列表中的元数据信息表征的数据集对应的数据量超过了缓存空间容量。
在一些实施方式中,所述数据集包括数据子集;所述数据集的元数据信息和所述数据子集的元数据信息不同;所述访问频次包括所述数据子集的访问频次;所述方法还可以包括:在所述历史数据查询指令涉及的元数据信息表征数据子集的情况下,对所述数据子集所属的数据集的访问频次做增量操作。
在一些情况下,由于数据查询指令针对的元数据信息并不需要获取一张完整的数据表中的数据,只需要获取一张数据表中的部分数据。因此,还可以统计数据查询指令针对的分区表的访问频次,从而也可以将访问频次较高的分区表添加到准入列表中。
所述数据子集属于与该数据子集对应的数据集的一部分,其数据量小于该数据子集对应的数据集。具体的,例如,数据集C中包括了居民小区、户号、年度、水费、电费,那么数据子集可以是包括了所有数据记录条数的居民小区、户号、年度、水费的水费信息表,也可以是通过筛选出某一个居民小区的户号、年度、水费、电费的信息表。当然,数据子集还可以是截取了部分属性信息和数据记录条数的信息表。
在本实施方式中,对所述数据子集属于的数据集的访问频次做增量操作可以是在解析的数据查询指令针对的元数据信息为一个数据集的数据子集的情况下,除了记录该数据子集和该数据子集的访问频次,还需要记录与该数据子集对应的数据集和与该数据子集对应的数据集的访问频次。
在一些实施方式中,所述数据集包括数据子集;所述数据集的元数据信息和所述数据子集的元数据信息不同;所述访问频次包括所述数据子集的访问频次;所述至少根据所述访问频次确定所述准入列表包括的元数据信息,可以包括:根据所述访问频次,对数据集的元数据信息和数据子集的元数据信息整体排序得到排序列表;顺次选择所述排序列表中的元数据信息添加至所述准入列表;其中,在数据集的元数据信息被选择放入所述准入列表的情况下,所述数据集的数据子集的元数据信息被移出所述排序列表。
在一些情况下,在选取准入列表的过程中,可以根据访问频次对数据集和数据子集对应的元数据信息一起进行排序,从而造成了进入缓存空间的数据集出现重复的现象。因此,在数据集进入准入列表的情况下,不将该数据集包括的数据子集添加到准入列表中。
所述排序列表可以是根据数据子集对应的元数据信息的访问频次和数据集对应的元数据信息对应的访问频次按照从高到低的顺序一起进行排序得到的。具体的,例如,数据集A包括数据子集A1、A2、A3,其中,数据集A的访问频次为200次,数据集A1的访问频次为80,数据集A2的访问频次为70,数据集A3的访问频次为20;数据集B包括数据子集B1、B2、B3,数据集B的访问频次为150,数据集B1的访问频次为60,数据集B2的访问频次为50,数据集B3的访问频次为30。其中,数据集A的数据量超过了阈值1GB,数据集B的数据量小于阈值1GB,数据集A和数据集B的数据子集的数据量均小于1GB。按照访问频次对包括数据子集的数据集进行排序得到的结果为A、B、A1、A2、B1、B2、B3、A3。将访问频次大于25次且数据量小于1GB的数据集添加至准入列表中,则得到的准入列表为B、A1、A2、B3。
在一些实施方式中,在顺次选择所述排序列表中的元数据信息放入所述准入列表的步骤之前,还可以包括:删除所述排序列表中数据量大于设定阈值的数据集或数据子集的元数据信息。
在一些情况下,元数据信息所表征的数据集和/或数据子集的数据量可能大于预设数据量阈值。因此,为了避免单个数据集或者数据子集占据较大的缓存空间,需要将数据集和/或数据子集对应的元数据信息从排序列表中删除。
在一些实施方式中,数据反馈方法还可以包括:接收客户端发送的操作指令集合;其中,所述操作指令集合中至少包括一条操作指令语句;在所述操作指令集合中筛选出用于数据查询的操作指令语句,得到数据查询指令。
在一些情况下,用户可能想要对存储在服务器上的数据集中的数据进行更改的操作指令语句,至少包括以下之一:创建新的数据集、删除数据集中的数据、在数据集中添加数据、对数据集中的数据修改,从而必须要访问存储在服务器上的数据集。因此,可以首先解析该操作指令语句是否为数据查询指令,如果不是,则可以将数据查询指令过滤掉,直接从远程数据库将数据集读取到内存中,更改后再将修改后的数据集返回给远程数据库。当然,在缓存空间中存在该数据集的情况下,还需要对缓存空间中的该数据集进行修改。
示例的装置、电子设备、存储介质和软件
请参阅图5,本说明书的一个实施方式还提供一种数据反馈装置500。所述数据反馈装置500可以包括:数据查询指令解析单元501、数据读取单元502和查询结果反馈单元503。
数据查询指令解析单元501,用于解析接收到的数据查询指令,得到所述数据查询指令对应的元数据信息;其中,所述元数据信息用于表征所述数据查询指令针对的数据集。
数据读取单元502,用于在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间。
查询结果反馈单元503,用于基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。
上述实施方式中,通过解析查询指令所需要获取的数据集,在缓存空间中没有该数据集且准入列表中存在该数据集的访问路径的情况下,将该数据集读入缓存空间,从而节约了缓存空间的使用量,延缓了缓存空间可能被占满的时长。在一定程度上提升了数据查询的效率。
在一些实施方式中,所述元数据信息包括所表征的数据集的访问路径;所述准入列表包括准入访问路径列表;其中,所述准入访问路径列表中包括多个准入访问路径;其中,所述准入访问路径指向的数据集被允许读入所述缓存空间;所述在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间,所述数据读取单元还可以用于在所述准入访问路径列表中包括与所述访问路径相匹配的准入访问路径,且所述缓存空间中没有所述访问路径指向的数据集的情况下,将所述访问路径指向的数据集读入所述缓存空间。
在一些情况下,只使用数据表的名称、分区表的名称等元数据信息表征数据集的情况下,可能需要对数据库中所有的数据表都进行一次遍历,在一定程度上降低了在执行数据查询指令的过程中获取数据集的效率。因此,可以构建一个用于指向数据集存储地址的准入访问路径列表,根据准入列表中的准入访问路径准确定位到需要访问的数据集,从而在一定程度上提升了执行查询指令的过程中获取数据集的效率。
在一些实施方式中,所述数据查询指令涉及的元数据信息包括属于所述准入列表的第一元数据信息,和不属于所述准入列表的第二元数据信息;所述数据反馈装置,还可以包括:第二元数据信息读取单元,用于将所述第二元数据信息表征的数据集从磁盘读入内存空间;第一元数据信息读取单元,用于将所述第一元数据信息表征的数据集读入所述缓存空间;相应的,所述数据反馈单元503还可以用于基于所述缓存空间中的所述第一元数据信息表征的数据集和所述内存空间中所述第二元数据信息表征的数据集反馈所述数据查询指令的查询结果。
在一些情况下,在一次数据查询指令执行的过程中,由于缓存空间的容量有限,并不是数据查询指令所需要获取的数据集都可以从缓存空间中获取。因此,还有部分数据需要从远程的存储数据的服务器中获取,并将所需要获取的数据集读入服务器的内存空间中,在查询语句执行完毕之后,从内存空间中释放该数据集。
在一些实施方式中,所述数据反馈装置500还可以包括:数据查询指令获取单元,用于获取指定时间段内的数据查询指令集合;其中,所述数据查询指令集合中包括多个历史数据查询指令;历史数据查询指令解析单元,用于解析所述历史数据查询指令,得到所述历史数据查询指令涉及的元数据信息;访问频次统计单元,用于统计所述历史数据查询指令涉及的元数据信息表征的数据集的访问频次;准入列表确定单元,用于至少根据所述访问频次确定所述准入列表包括的元数据信息。
在一些情况下,由于缓存空间的容量有限,缓存空间的淘汰机制主要是采用自动的LRU的淘汰机制进行淘汰,从而可能会导致访问频次较高的数据被淘汰出缓存空间。为了避免缓存空间被偶尔需要访问的数据集过多的占用,因此,可以通过对在过去的指定时间段内的历史查询指令进行解析,得到历史查询指令需要访问的数据集的元数据信息和该数据集被访问的访问频次,根据访问频次确定需要添加到准入列表中的集合表示,从而可以在一定程度上发挥缓存空间的使用率。
在一些实施方式中,数据反馈装置还可以包括:数据量获取单元,用于获取所述历史数据查询指令涉及的元数据信息表征的数据集的数据量;相应的,所述准入列表确定单元还可以用于根据所述访问频次和所述数据量确定所述准入列表包括的元数据信息。
在一些情况下,数据查询指令集合中的历史数据查询指令进行解析后得到的元数据信息所表征的数据量之和大于缓存空间的容量。因此,还需要根据访问频次和元数据信息所表征的数据量的累计之和共同确定准入列表。
在一些实施方式中,所述准入列表确定单元还可以包括:缓存数据总量确定单元,用于按照所述访问频次从高至低,累加所述访问频次对应的元数据信息表征的数据集的数据量,得到缓存数据总量;准入列表生成单元,用于执行前述累加步骤的过程中,在所述缓存数据总量小于或等于缓存空间容量的情况下,将执行所述累加步骤的访问频次对应的元数据信息添加到所述准入列表中。
在一些情况下,根据访问频次和访问频次对应的元数据信息表征的数据集的数据量确定准入列表可以在一定程度上提升数据查询指令的执行效率。因此,可以将访问频次较高的元数据信息,且这些元数据信息表征的数据集的数据量不超过缓存空间容量的元数据信息作为准入列表。
在一些实施方式中,所述缓存空间具有缓存初始容量;所述准入列表包括指定元数据信息;所述数据反馈装置500还可以包括:预占用空间量统计单元,用于统计所述指定元数据信息表征的数据集的预占用空间量;缓存空间容量确定单元,用于计算所述缓存初始容量去除所述预占用空间量后,得到所述缓存空间容量。
在一些情况下,根据用户的业务需求,对一些数据集的时效性要求较高。因此,可以将根据用户的业务需求,将对数据查询指令获取查询结果的时效性较高的数据集添加到准入列表中。
在一些实施方式中,所述数据集包括数据子集;所述访问频次包括所述数据子集的访问频次;所述缓存数据总量确定单元还可以包括:数据子集数据量累加单元,用于在所述元数据信息表征的数据集的数据量大于设定阈值的情况下,依照所述数据子集的访问频次从高至低,且满足数据子集的数据总量小于所述设定阈值的情况下,选择最多数量个的数据子集执行对所述数据子集的数据量的累加。
在一些情况下,由于数据查询指令针对的元数据信息并不需要获取一张完整的数据表中的数据,只需要获取一张数据表中的部分数据。因此,还可以统计数据查询指令针对的分区表的访问频次,从而将访问频次较高的分区表添加到准入列表中。
在一些实施方式中,所述数据集包括数据子集;所述数据集的元数据信息和所述数据子集的元数据信息不同,所述数据反馈装置500还可以包括:数据集访问频次增加单元,用于在所述历史数据查询指令涉及的元数据信息表征数据子集的元数据信息的情况下,对所述数据子集所属的数据集的访问频次做增量操作。
在一些情况下,由于数据查询指令针对的元数据信息并不需要获取一张完整的数据表中的数据,只需要获取一张数据表中的部分数据。因此,还可以统计数据查询指令针对的分区表的访问频次,从而将访问频次较高的分区表添加到准入列表中。
在一些实施方式中,所述数据集包括有数据子集;所述数据集的元数据信息和所述数据子集的元数据信息分别具有不同;所述访问频次包括所述数据子集的访问频次;所述准入列表确定单元,可以包括:排序列表确定单元,用于根据所述访问频次,对数据集的元数据信息和数据子集的元数据信息整体排序得到排序列表;准入列表添加单元,顺次选择所述排序列表中的元数据信息添加至所述准入列表;其中,在数据集的元数据信息被选择放入所述准入列表的情况下,删除所述排序列表中属于所述数据集的数据子集的元数据信息被移出所述排序列表。
在一些情况下,在选取准入列表的过程中,可以根据访问频次对数据集和数据子集对应的元数据信息一起进行排序,从而造成了进入缓存空间的数据集出现重复的现象。因此,在数据集进入准入列表的情况下,不将该数据集包括的数据子集添加到准入列表中。
关于数据反馈装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像分割模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图6,本说明实施方式可以提供一种电子设备,所述电子设备包括:
存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,该指令被该一个或多个处理器执行,以使该一个或多个处理器实现上述任一实施方式中的数据反馈方法。
本说明书实施方式还提供一种计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序用于被处理器执行时实现上述任一实施方式中的数据反馈方法。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的数据反馈方法。
可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种数据反馈方法,其特征在于,应用于服务器,所述方法包括:
解析接收到的数据查询指令,得到所述数据查询指令涉及的元数据信息;其中,所述元数据信息用于表征所述数据查询指令针对的数据集;
在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间;
基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。
2.根据权利要求1所述的方法,其特征在于,所述元数据信息包括所表征的数据集的访问路径;所述准入列表包括准入访问路径列表;其中,所述准入访问路径列表中包括多个准入访问路径;其中,所述准入访问路径指向的数据集被允许读入所述缓存空间;所述在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间,包括:
在所述准入访问路径列表中包括与所述访问路径相匹配的准入访问路径,且所述缓存空间中没有所述访问路径指向的数据集的情况下,将所述访问路径指向的数据集读入所述缓存空间。
3.根据权利要求1所述的方法,其特征在于,所述数据查询指令涉及的元数据信息包括属于所述准入列表的第一元数据信息,和不属于所述准入列表的第二元数据信息;所述方法还包括:
将所述第二元数据信息表征的数据集从磁盘读入内存空间;
所述将所述元数据信息表征的数据集读入所述缓存空间,包括:将所述第一元数据表征的数据集读入所述缓存空间;
所述基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果,包括:基于所述缓存空间中的所述第一元数据信息表征的数据集和所述内存空间中所述第二元数据信息表征的数据集反馈所述数据查询指令的查询结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取指定时间段内的数据查询指令集合;其中,所述数据查询指令集合中包括多个历史数据查询指令;
解析所述历史数据查询指令,得到所述历史数据查询指令涉及的元数据信息;
统计所述历史数据查询指令涉及的元数据信息表征的数据集的访问频次;
至少根据所述访问频次确定所述准入列表包括的元数据信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述历史数据查询指令涉及的元数据信息表征的数据集的数据量;
所述至少根据所述访问频次确定所述准入列表包括的元数据信息,包括:根据所述访问频次和所述数据量确定所述准入列表包括的元数据信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述访问频次和所述数据量确定所述准入列表包括的元数据信息,包括:
按照所述访问频次从高至低,累加所述访问频次对应的元数据信息表征的数据集的数据量,得到缓存数据总量;
执行前述累加步骤的过程中,在所述缓存数据总量小于或等于缓存空间容量的情况下,将执行所述累加步骤的访问频次对应的元数据信息添加到所述准入列表中。
7.根据权利要求6所述的方法,其特征在于,所述缓存空间具有缓存初始容量;所述准入列表包括指定元数据信息;所述方法还包括:
统计所述指定元数据信息表征的数据集的预占用空间量;
将所述缓存初始容量去除所述预占用空间量后,得到所述缓存空间容量。
8.根据权利要求6所述的方法,其特征在于,所述数据集包括数据子集;所述访问频次包括所述数据子集的访问频次;所述按照所述访问频次从高至低,累加所述访问频次对应的元数据信息表征的数据集的数据量,包括:在所述元数据信息表征的数据集的数据量大于设定阈值的情况下,依照所述数据子集的访问频次从高至低,且满足数据子集的数据总量小于所述设定阈值的情况下,选择最多数量个的数据子集执行所述累加步骤。
9.根据权利要求5所述的方法,其特征在于,
在所述元数据信息表征的数据集的数据量大于设定阈值的情况下,不将所述元数据信息添加至所述准入列表。
10.根据权利要求4所述的方法,其特征在于,所述数据集包括数据子集;所述数据集的元数据信息和所述数据子集的元数据信息不同;所述访问频次包括所述数据子集的访问频次;所述方法还包括:
在所述历史数据查询指令涉及的元数据信息表征数据子集的情况下,对所述数据子集所属的数据集的访问频次做增量操作。
11.根据权利要求4所述的方法,其特征在于,所述数据集包括数据子集;所述数据集的元数据信息和所述数据子集的元数据信息不同;所述访问频次包括所述数据子集的访问频次;
所述至少根据所述访问频次确定所述准入列表包括的元数据信息,包括:
根据所述访问频次,对数据集的元数据信息和数据子集的元数据信息整体排序得到排序列表;
顺次选择所述排序列表中的元数据信息添加至所述准入列表;其中,在数据集的元数据信息被选择放入所述准入列表的情况下,所述数据集的数据子集的元数据信息被移出所述排序列表。
12.一种数据反馈装置,其特征在于,包括:
数据查询指令解析单元,用于解析接收到的数据查询指令,得到所述数据查询指令对应的元数据信息;其中,所述元数据信息用于表征所述数据查询指令针对的数据集;
数据读取单元,用于在准入列表中存在所述元数据信息,且缓存空间中没有所述元数据信息表征的数据集的情况下,将所述元数据信息表征的数据集读入所述缓存空间;其中,未处于所述准入列表中的元数据信息表征的数据集不被允许读入所述缓存空间;
查询结果反馈单元,用于基于所述缓存空间中的所述元数据信息表征的数据集反馈所述数据查询指令的查询结果。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求1至11任一项所述的方法。
14.一种计算机存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210668359.0A CN115168621A (zh) | 2022-06-14 | 2022-06-14 | 数据反馈方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210668359.0A CN115168621A (zh) | 2022-06-14 | 2022-06-14 | 数据反馈方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115168621A true CN115168621A (zh) | 2022-10-11 |
Family
ID=83486241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210668359.0A Pending CN115168621A (zh) | 2022-06-14 | 2022-06-14 | 数据反馈方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168621A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118410068A (zh) * | 2024-07-02 | 2024-07-30 | 天津南大通用数据技术股份有限公司 | 数据库sql查询优化方法、终端及存储介质 |
-
2022
- 2022-06-14 CN CN202210668359.0A patent/CN115168621A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118410068A (zh) * | 2024-07-02 | 2024-07-30 | 天津南大通用数据技术股份有限公司 | 数据库sql查询优化方法、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934233B2 (en) | Searchable data archive | |
US7243110B2 (en) | Searchable archive | |
KR102005831B1 (ko) | 범위-기반 검색을 위한 데이터 저장 관리 | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
CN111339078A (zh) | 数据实时存储方法、数据查询方法、装置、设备、介质 | |
US8478771B2 (en) | Systems and methods related to a temporal log structure database | |
CN102819586B (zh) | 一种基于高速缓存的url分类方法和设备 | |
US20090210445A1 (en) | Method and system for optimizing data access in a database using multi-class objects | |
CN106354434A (zh) | 日志数据的存储方法及系统 | |
CN108140040A (zh) | 存储器中数据库的选择性数据压缩 | |
CN110928903B (zh) | 数据提取方法及装置、设备和存储介质 | |
CN110637292B (zh) | 用于查询资源高速缓存的系统和方法 | |
CN111324604A (zh) | 数据库表的处理方法、装置、电子设备及存储介质 | |
EP3788505B1 (en) | Storing data items and identifying stored data items | |
JP2019204473A (ja) | Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSに複数の2MB以下の小さなファイルを書き込む方法 | |
CN113468107A (zh) | 数据处理方法、设备、存储介质及系统 | |
CN114281819A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN115168621A (zh) | 数据反馈方法、装置、电子设备和存储介质 | |
CN106383897B (zh) | 数据库容量计算方法和装置 | |
CN105550180A (zh) | 数据处理的方法、装置及系统 | |
CN115203253A (zh) | 看板数据查询方法、装置、计算机终端及存储介质 | |
CN115114293A (zh) | 一种数据库索引的创建方法、相关装置、设备及存储介质 | |
CN116860541A (zh) | 业务数据采集方法、装置、计算机设备和存储介质 | |
CN108984720B (zh) | 基于列存储的数据查询方法、装置、服务器及存储介质 | |
CN116069777A (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 |