CN116150212B - 数据处理方法及设备 - Google Patents
数据处理方法及设备 Download PDFInfo
- Publication number
- CN116150212B CN116150212B CN202310448411.6A CN202310448411A CN116150212B CN 116150212 B CN116150212 B CN 116150212B CN 202310448411 A CN202310448411 A CN 202310448411A CN 116150212 B CN116150212 B CN 116150212B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- target
- data block
- determining
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及一种数据处理方法及设备,属于数据存储技术领域,该方法包括:获取多个目标查询请求的数据查询结果;每个目标查询请求用于请求查询磁盘中存储的数据块,每个数据块包括原始存储地址不同的至少两条数据;基于数据查询结果确定存在同次查询关系的目标数据块;目标数据块包括原始存储地址不连续的至少两条数据;对目标数据块在磁盘中的存储结构进行重构,重构后的目标数据块中各条数据的重构存储地址连续;可以解决传统的数据处理方式中寻址时长较大,导致数据查询效率较低,磁盘IO消耗过高的问题;可以减少随机寻址的次数,增加顺序寻址的次数,缩短了寻址时长和磁盘IO,提高了数据查询的效率。
Description
技术领域
本申请涉及一种数据处理方法及设备,属于数据存储技术领域。
背景技术
目前,随着数据存储需求的增多,通常使用数据库管理需要存储的数据。数据库获取到待存储的数据后,按照数据入库顺序依次将数据写入磁盘进行存储。
为了提高查询效率,降低磁盘IO消耗,数据库设置有数据的索引结构。在数据查询时,数据库按照索引结构确定待查询数据的存储地址,按照该存储地址进行寻址,得到数据查询结果。
然而,目前数据查询时寻址时长较大,会导致数据查询效率较低,磁盘IO消耗过高的问题。
发明内容
本申请提供了一种数据处理方法及设备,可以解决传统的数据处理方式中寻址时长较大,导致数据查询效率较低,磁盘IO消耗过高的问题。本申请提供如下技术方案:
第一方面,提供一种数据处理方法,所述方法包括:
获取多个目标查询请求的数据查询结果;其中,每个目标查询请求用于请求查询磁盘中存储的数据块,每个数据块包括原始存储地址不同的至少两条数据;
基于所述数据查询结果确定存在同次查询关系的目标数据块;其中,所述目标数据块包括原始存储地址不连续的至少两条数据,所述同次查询关系用于表征不同数据块至少一次被同时查询;
对所述目标数据块在所述磁盘中的存储结构进行重构,重构后的目标数据块中各条数据的重构存储地址连续。
可选地,所述基于所述数据查询结果确定存在同次查询关系的目标数据块,包括:
基于所述数据查询结果中各条数据的每个原始存储地址,将各个数据块划分为每个原始存储地址对应的集合;其中,每个集合内的不同数据块包括同一原始存储地址的数据,不同集合对应的所述同一原始存储地址不同;
确定每个集合中同一数据块的频次;
基于每个原始存储位置对应的集合、以及每个集合中数据块的频次,确定每个集合中的目标数据块。
可选地,所述基于每个原始存储位置对应的集合、以及每个集合中数据块的频次,确定每个集合中的目标数据块,包括:
按照每个集合中各个数据块的频次由高到低的顺序,确定每个集合对应的候选数据块;
确定按照各个集合对应的候选数据块重构时的查询效率;其中,所述查询效率与期望数据查询结果的次数呈正相关关系,所述期望数据查询结果是指查询得到的数据块中各条数据的存储地址连续的数据查询结果;
将查询效率满足预设条件的各个候选数据块确定为所述目标数据块。
可选地,所述确定对各个集合对应的候选数据块重构时的查询效率,包括:
对各个集合对应的候选数据块模拟重构,得到各个数据块中各条数据的模拟重构地址;
确定按照模拟重构地址查询数据时得到所述期望数据查询结果的次数;
确定所述次数与查询总次数的比值,得到所述查询效率。
可选地,所述将查询效率满足预设条件的各个候选数据块确定为所述目标数据块之前,还包括:
在所述查询效率不满足所述预设条件的情况下,按照每个集合中各个数据块的频次由高到低的顺序,更新所述集合对应的候选数据块,并触发执行所述确定对各个集合对应的候选数据块重构时的查询效率的步骤。
可选地,所述将查询效率满足预设条件的各个候选数据块确定为所述目标数据块,包括:
在所述查询效率比原始查询效率提高预设数值的情况下,确定所述查询效率对应的各个候选数据块确定为所述目标数据块;其中,所述原始查询效率是指按照各条的原始存储地址进行数据查询时的查询效率;
或者,
在候选数据块的更新次数达到预设次数后,将最高的查询效率对应的各个候选数据块确定为所述目标数据块。
可选地,所述对所述目标数据块在所述磁盘中的存储结构进行重构,包括:
对于各个目标数据块对应的原始存储地址构成的存储地址范围,在所述存储地址范围内按照原始存储地址从前至后的顺序,对每个原始存储地址对应的目标数据块依次存储,得到重构后的目标数据块;
可选地,所述对所述目标数据块在所述磁盘中的存储结构进行重构,包括:
对于各个目标数据块对应的原始存储地址构成的存储地址范围,在所述存储地址范围内按照各个目标数据块的频次由高到低的顺序,对各个目标数据块依次存储,得到重构后的目标数据块。
可选地,所述获取多个目标查询请求的数据查询结果,包括:
获取数据查询请求,所述数据查询请求包括所述目标查询请求和其它查询请求,所述其它查询请求用于请求查询所述磁盘中存储的一条数据;
从多个数据查询请求中筛选所述目标查询请求。
第二方面,提供一种电子设备,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面提供的数据处理方法。
第三方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现第一方面提供的数据处理方法。
本申请的有益效果至少包括:通过重建数据的存储结构,使得同一次数据查询结果中数据块在磁盘上的存储地址连续分布,可以减少随机寻址的次数,增加顺序寻址的次数,缩短了寻址时长和磁盘IO,提高了数据查询的效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的数据处理方法的流程图;
图2是本申请一个实施例提供的数据查询过程的示意图;
图3是本申请一个实施例提供的磁盘的原始的存储结构的示意图;
图4是本申请一个实施例提供的每个原始存储地址对应的集合的示意图;
图5是本申请一个实施例提供的磁盘的重构后的存储结构的示意图;
图6是本申请另一个实施例提供的磁盘的重构后的存储结构的示意图;
图7是本申请一个实施例提供的数据处理装置的框图;
图8是本申请一个实施例提供的电子设备的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
可选地,本申请以各个实施例提供的数据处理方法用于电子设备中为例进行说明,该电子设备为终端或服务器等具有磁盘的设备,该磁盘用于存储数据,磁盘可以是硬盘或者软盘;终端可以为手机、计算机、平板电脑、扫描仪、电子眼、监控摄像头等,本实施例不对磁盘和电子设备的类型作限定。
图1是本申请一个实施例提供的数据处理方法的流程图,该方法至少包括以下几个步骤:
步骤101,获取多个目标查询请求的数据查询结果;其中,每个目标查询请求用于请求查询磁盘中存储的数据块,每个数据块包括原始存储地址不同的至少两条数据。
磁盘中的每个存储位置用于存储一条数据,该存储位置在磁盘上的地址即为该数据的存储地址。在实施例中,在存储结构本次重构之前,数据的存储地址作为原始存储地址;在存储结构本次重构之后,数据的存储地址作为重构存储地址。
数据的存储顺序与数据的查询顺序无关。即,两条数据可能存储位置相邻,但是在数据查询时可能并不会同时被查询。可选地,磁盘中数据的原始存储地址可以是按照数据库获取数据的顺序确定的,比如:数据库获取到数据1,则将数据1存储至磁盘的存储地址1;获取到数据2,则将数据2存储至磁盘的存储地址2,存储地址2与存储地址1的存储位置连续。或者,磁盘中的原始存储地址可以随机选择的。或者,存储结构的重构次数为至少两次,磁盘中的原始存储地址可以是上一次重构后得到的重构存储地址。本实施例不对数据的原始存储地址的确定方式作限定。
在一个场景中,磁盘存储的数据可以是智慧交通数据,相应地,该数据包括但不限于各个数据采集时刻的车流量数据、和/或车辆位置数据、和/或车辆信息等。目标查询请求可以为查询2023年4月19日的智慧交通数据,此时,数据块包括2023年4月19日的各条智慧交通数据。
在另一个场景中,磁盘存储的数据也可以是电子交易数据,相应地,该数据包括但不限于各个交易时刻不同交易端的订单信息、交易价格等。目标查询请求可以为查询某个交易端的电子交易数据,此时,数据块包括该交易端的电子交易数据。
在其它实施中,磁盘存储数据的场景也可以是其它场景,本实施例不对磁盘存储数据的场景、以及数据块的内容作限定。
本实施例中,电子设备响应于目标查询请求,基于数据的索引表获取该目标查询请求指示的数据块中至少两条数据的原始存储地址;按照该原始存储地址在磁盘中进行寻址;读取原始存储地址存储的数据得到数据查询结果;该数据查询结果即包括目标查询请求指示的数据块。其中,索引表至少存储有每条数据和该数据的原始存储地址。索引表可以是一个或者为至少两个,本实施例不对索引表的数量作限定。
比如:参考图2,电子设备响应于目标查询请求,从索引表A或者索引表B中确定数据块中的两条数据a和b的原始存储地址,然后,在磁盘的存储结构中寻址读取得到数据a和b,得到数据查询结果。根据图2可知,数据a和数据b的存储地址不连续,且距离很远,寻址时长较长,影响数据查询效率。
基于此,本实施例中,电子设备会基于多个目标查询请求的数据查询结果对磁盘的存储结构进行重构,以使重构后的存储结构的寻址时长缩短,以提高数据查询效率。
在一个示例中,获取多个目标查询请求的数据查询结果,包括:在目标查询请求的次数达到预设次数的情况下,获取各次目标查询请求的数据查询结果。
预设次数越高,得到的统计结果越准确,重构效果越好。但是,会影响重构的时效性。基于此,预设次数是基于重构效果和失效因素确定出的数值,预设次数可以是100次,或者是200次等,本实施例不对预设次数的取值作限定。
或者,
在用于请求同一存储地址的数据的目标查询请求的数量达到预设数量的情况下,获取各次目标查询请求的数据查询结果。预设数量小于预设次数,预设数量可以为50次、10次等,本实施例不对预设数量的取值作限定。
在其它实施例中,电子设备也可以通过设置其它触发条件来获取多个目标查询请求的数据查询结果,本实施例不对电子设备获取数据查询结果的时机作限定。
可选地,电子设备获取到的数据查询请求可能不仅包括目标查询请求,还包括其它查询请求,其它查询请求用于请求查询磁盘中存储的一条数据。但是,其它查询请求对于存储结构的重构不具有参考价值,基于此,获取多个目标查询请求的数据查询结果,包括:获取数据查询请求,该数据查询请求包括目标查询请求和其它查询请求;从多个数据查询请求中筛选目标查询请求。
电子设备可以基于每个数据查询请求所请求的数据条数筛选目标查询请求,具体地,在数据条数大于1的情况下确定数据查询请求为目标查询请求。或者,基于数据查询请求携带的时间标识筛选目标查询请求,具体地,在时间标识包括至少两个数据采集时刻的情况下确定数据查询请求为目标查询请求,在实际实现时,电子设备也可以通过其它方式筛选目标查询请求,本实施例在此不对目标查询请求的筛选方式作限定。
步骤102,基于数据查询结果确定存在同次查询关系的目标数据块;其中,目标数据块包括原始存储地址不连续的至少两条数据,同次查询关系用于表征不同数据块至少一次被同时查询。
由于目标数据块具有同次查询关系,说明目标数据块之后被再次同时查询的概率也较大。但是,由于目标数据块的原始存储地址不连续,即存储位置不相邻,就会延长一次数据查询过程中的寻址时长,影响数据查询效率。
比如:多次数据查询结果包括:数据查询结果1:{P1,P7};数据查询结果2:{P1,P2};数据查询结果3:{P1,P2,P4};数据查询结果4:{P1,P2,P3}。各条数据的原始存储地址参考图3,根据图3可知,数据查询结果1中数据的原始存储位置是不连续的,即为目标数据块;数据查询结果2中数据的原始存储位置是连续的,即不是目标数据块;数据查询结果3中数据的原始存储位置是不连续的,即是目标数据块;数据查询结果4中数据的原始存储位置是连续的,即不是目标数据块。对于数据查询结果1和数据查询结果3,消耗的寻址时长大于数据查询结果2和数据查询结果4,影响数据查询效率。
而本实施例中,通过确定出目标数据块,基于目标数据块进行存储结构的重构,以使目标数据块的重构存储地址连续,在目标数据块再次被同时查询时,可以缩短寻址时长,提高数据查询效率。
在一个示例中,基于数据查询结果确定存在同次查询关系的目标数据块,至少包括步骤1021-1023:
步骤1021,基于数据查询结果中各条数据的每个原始存储地址,将各个数据块划分为每个原始存储地址对应的集合。
其中,每个集合内的不同数据块包括同一原始存储地址的数据,不同集合对应的同一原始存储地址不同。
将各个数据块划分为每个原始存储地址对应的集合,包括:对于每个原始存储地址,从各个数据块中确定包括的数据为该原始存储地址的数据块,得到该原始存储地址对应的集合。
比如:第1次数据查询结果为:{P1,P7},记作G1(P1,P7);
l 第2次数据查询结果为:{P3,P8},记作G2(P3,P8);
l 第3次数据查询结果为:{P2,P9,P11},记作G3(P2,P9,P11);
l 第4次数据查询结果为:{P6,P7},记作G4(P6,P7);
l …
l 第11次数据查询结果为:{P1,P7},记作G11(P1,P7);
l …
l 第N次数据查询结果为:{…},记作Gn(...)。
按照原始存储地址进行划分集合后,得到的每个原始存储地址对应的集合如下:
P1对应的集合:{G1(P1,P7),G11(P1,P7),G…(P1,P...)};
P2对应的集合:{G3(P2,P9,P11),G…(P2,P...)};
P3对应的集合:{G2(P3,P8),G…(P3,P...)};
...
Pn对应的集合:{G…(Pn,P...)}。
根据上述内容可知,对于一个集合内会出现存储位置相同的数据块,例如:G1(P1,P7)和G11(P1,P7)。在一个集合内,不需要考虑数据块的查询次序,而是考虑数据块的存储位置。
步骤1022,确定每个集合中同一数据块的频次。
示意性地,可以将同一集合中重复的数据块进行合并,频次用F表示。比如,在步骤1021的示例中,G1(P1,P7)和G11(P1,P7)可以表示为:G(P1,P7)*F(P1,P7)。
基于上述原理,参考图4,步骤1021示例的集合还可以表示如下:
P1对应的集合:{G(P1,P7)*F(P1,P7),G(P1,P...)*F(P1,P...)},记作:S(P1);
P2对应的集合:{G(P2,P9,P11)*F(P2,P9,P11),G(P2,P...)*F(P2,P...)},记作:S(P2);
P3对应的集合:{G(P3,P8)*F(P3,P8),G(P3,P...)*F(P3,P...)},记作:S(P3);
...
Pn对应的集合:{G(Pn,P...)*F(Pn,P...)},记作:S(Pn)。
步骤1023,基于每个原始存储位置对应的集合、以及每个集合中数据块的频次,确定每个集合中的目标数据块。
基于集合和频次确定目标数据块的方式包括但不限于以下几种方式:
第一种:按照每个集合中各个数据块的频次由高到低的顺序,确定每个集合对应的候选数据块;确定按照各个集合对应的候选数据块重构时的查询效率;将查询效率满足预设条件的各个候选数据块确定为目标数据块。
其中,查询效率与期望数据查询结果的次数呈正相关关系。期望数据查询结果是指查询得到的数据块中各条数据的存储地址连续的数据查询结果,比如:上述示例中的数据查询结果2和数据查询结果4。
在一个示例中,确定每个集合对应的候选数据块,包括:对于每个原始存储地址,从该原始存储地址对应的集合中确定未选择过的、且频次最高的数据块作为候选数据块。
在另一个示例中,确定每个集合对应的候选数据块,包括:从各个集合中确定未选择过的、且频次最高的数据块;确定该数据块中各条数据的原始存储地址是否已确定出候选数据块;若存在至少一个原始存储地址未确定出候选数据块,则将该数据块确定为该至少一个原始存储地址的候选数据块;若各个原始存储地址均已确定出候选数据块,则再次执行所述从各个集合中确定未选择过的、且频次最高的数据块;确定该数据块中各条数据的原始存储地址是否已确定出候选数据块的步骤,直至确定出每个集合对应的候选数据块的情况下停止。
在其它实施例中,确定每个集合对应的候选数据块的方式也可以是其它方式,本实施例在此不再一一列举。
可选地,确定对各个集合对应的候选数据块重构时的查询效率,包括:对各个集合对应的候选数据块模拟重构,得到各个数据块中各条数据的模拟重构地址;确定按照模拟重构地址查询数据时得到期望数据查询结果的次数;确定次数与查询总次数的比值,得到查询效率。
其中,模拟重构是指不改变磁盘的实际存储结构,只是假设更改各条数据的存储位置,以确定查询效率。模拟重构方式与实际进行存储结构时的重构方式相同,本部分内容详见步骤103,本实施例在此不作赘述。
确定按照模拟重构地址查询数据时得到期望数据查询结果的次数,包括:从已获取到的数据查询结果中确定模拟重构地址为期望数据查询结果的次数。
比如:在所有的集合:S(P1)、S(P2)、… 、S(Pn)中,确定出每个集合对应的候选数据块如下:
S(P1)中的候选数据块,记作G(S(P1));
S(P2)中的候选数据块,记作G(S(P2));
S(P3) 中的候选数据块,记作G(S(P3));
…
S(Pn) 中的候选数据块,记作G(S(Pn))。
对上述候选数据块进行模拟重构后,得到的存储结构参考图5所示,若G(S(P1)) ={P1,P7},则按照P1,P7存储位置连续的方式模拟重构存储结构;若G(S(P2)) ={P2,P9},则按照P2,P9存储位置连续的方式模拟重构存储结构;若G(S(P3)) ={P3,P8},则在磁盘上按照P3,P8存储位置连续的方式模拟重构存储结构,…,如此循环。得到的存储结构参考图6。
仍以步骤1021中示例的数据查询结果为例,在模拟重构前的期望查询结果分布如下:
第1次数据查询结果为:{P1,P7},地址不连续,不是期望查询结果;
第2次数据查询结果为:{P3,P8},地址不连续,不是期望查询结果;
第3次数据查询结果为:{P2,P9,P11},地址不连续,不是期望查询结果;
第4次数据查询结果为:{P6,P7},地址连续,是期望查询结果;
…
第11次数据查询结果为:{P1,P7},地址不连续,不是期望查询结果;
…
第N次数据查询结果为:{…},…。
若N个数据查询结果中期望查询结果有A次,那么查询效率为:A/N。
而按照图6所示的数据结构进行寻址得到的期望查询结果分布如下:
第1次数据查询结果为:{P1,P7},地址连续,是期望查询结果;
第2次数据查询结果为:{P3,P8},地址连续,是期望查询结果;
第3次数据查询结果为:{P2,P9,P11},地址不连续,不是期望查询结果;
第4次数据查询结果为:{P6,P7},地址不连续,不是期望查询结果;
…
第11次数据查询结果为:{P1,P7},地址连续,是期望查询结果;
…
第N次数据查询结果为:{…},…。
若N个数据查询结果中期望查询结果有B次,那么查询效率为:B/N。
预设条件的实现方式包括但不限于:
1、查询效率比原始查询效率提高预设数值。相应地,将查询效率满足预设条件的各个候选数据块确定为目标数据块,包括:在查询效率比原始查询效率提高预设数值的情况下,确定查询效率对应的各个候选数据块确定为目标数据块。
其中,原始查询效率是指按照各条的原始存储地址进行数据查询时的查询效率。比如:上述示例中的A/N。
预设数值可以为A/N的90%,或者是固定值,本实施例不对预设数值的取值作限定。
2、候选数据块的更新次数达到预设次数。相应地,将查询效率满足预设条件的各个候选数据块确定为目标数据块,包括:在候选数据块的更新次数达到预设次数后,将最高的查询效率对应的各个候选数据块确定为目标数据块。
预设次数可以是10次,或者其它数值,本实施例不对预设次数的取值作限定。
可选地,在查询效率不满足预设条件的情况下,按照每个集合中各个数据块的频次由高到低的顺序,更新集合对应的候选数据块,并触发执行确定对各个集合对应的候选数据块重构时的查询效率的步骤。
更新集合对应的候选数据块时,可以保持频次最高的i个候选数据块不变,按照上述确定候选数据块的确定方式,从未作为候选数据块的数据块中按照频次由高到低的顺序更新频次较低的候选数据块;或者,同时更新所有的候选数据块,i为正整数,本实施例不对候选数据块的更新方式作限定。
第二种:将各个集合中频次最高的数据块确定为目标数据块。
在其它实施例中,确定目标数据块的方式也可以是其它方式,本实施例不对目标数据块的确定方式作限定。
步骤103,对目标数据块在磁盘中的存储结构进行重构,重构后的目标数据块中各条数据的重构存储地址连续。
在一个示例中,对目标数据块在磁盘中的存储结构进行重构,包括:对于各个目标数据块对应的原始存储地址构成的存储地址范围,在存储地址范围内按照原始存储地址从前至后的顺序,对每个原始存储地址对应的目标数据块依次存储,得到重构后的目标数据块。
比如:在所有的集合:S(P1)、S(P2)、… 、S(Pn)中,确定出每个集合对应的目标数据块如下:
S(P1)中的目标数据块,记作G(S(P1));
S(P2)中的目标数据块,记作G(S(P2));
S(P3) 中的目标数据块,记作G(S(P3));
…
S(Pn) 中的目标数据块,记作G(S(Pn))。
若G(S(P1)) ={P1,P7},G(S(P2)) ={P2,P9},G(S(P3)) ={P3,P8}。则按照P1、P2和P3从前至后的顺序,先在磁盘上按照P1,P7重新构建存储结构;再在磁盘上按照P2,P9重新构建存储结构;然后在磁盘上按照P3,P8重新构建存储结构,…,如此循环,得到重构后的目标数据块参考图6。
在另一个示例中,对目标数据块在磁盘中的存储结构进行重构,包括:对于各个目标数据块对应的原始存储地址构成的存储地址范围,在存储地址范围内按照各个目标数据块的频次由高到低的顺序,对各个目标数据块依次存储,得到重构后的目标数据块。
可选地,在对存储结构进行重构的过程中,可以在存储地址范围内优先对目标数据块按照磁盘的存储地址由先到后的顺序进行存储,再将该存储地址范围内除该目标数据块之外的其它数据按照原始存储地址由先到后的顺序进行存储;或者,也可以先将存储地址范围内除该目标数据块之外的其它数据按照原始存储地址由先到后的顺序在存储地址范围内依次进行存储,再将目标数据块在剩余的存储位置依次进行存储,本实施例不对目标数据块和其它数据的重构方式作限定。
可选地,电子设备可以对磁盘的存储结构重构一次,此时,在步骤103之后流程结束;或者,电子设备在满足重构条件的情况下,触发对磁盘的存储结构进行重构的流程,即再次执行步骤101-103。
示意性地,重构条件包括但不限于:在上一次重构的时长达到预设时长;和/或,磁盘新增的数据条数大于或等于预设条数;和/或,电子设备满足获取多个目标查询请求的数据查询结果的触发条件,本实施例不对重构条件的实现方式作限定。
另外,在按照索引表查找磁盘中的数据的情况下,存储结构重构后索引表会按照重构后的存储地址进行更新,以保证数据查找的准确性。
综上所述,本实施例提供的数据处理方法,通过重建数据的存储结构,使得同一次数据查询结果中数据块在磁盘上的存储地址连续分布,可以减少随机寻址的次数,增加顺序寻址的次数,缩短了寻址时长和磁盘IO,提高了数据查询的效率。
另外,由于同一原始存储地址中的数据被查询的次数越多,则统计出的同次查询关系越准确。因此,通过结合每个原始存储地址被查询的频次确定目标数据块,可以提高确定目标数据块的准确性。
另外,由于查询效率越高说明期望数据查询结果越多,因此,通过结合每个原始存储地址被查询的频次和查询效率确定目标数据块,可以进一步提高确定目标数据块的准确性。
图7是本申请一个实施例提供的数据处理装置的框图。该装置至少包括以下几个模块:结果获取模块710、数据确定模块720和结构重构模块730。
结果获取模块710,用于获取多个目标查询请求的数据查询结果;其中,每个目标查询请求用于请求查询磁盘中存储的数据块,每个数据块包括原始存储地址不同的至少两条数据;
数据确定模块720,用于基于所述数据查询结果确定存在同次查询关系的目标数据块;其中,所述目标数据块包括原始存储地址不连续的至少两条数据,所述同次查询关系用于表征不同数据块至少一次被同时查询;
结构重构模块730,用于对所述目标数据块在所述磁盘中的存储结构进行重构,重构后的目标数据块中各条数据的重构存储地址连续。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请一个实施例提供的电子设备的框图。该设备至少包括处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的数据处理方法。
在一些实施例中,电子设备还可选包括有:外围设备接口和至少一个外围设备。处理器801、存储器802和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的数据处理方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的数据处理方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法包括:
获取多个目标查询请求的数据查询结果;其中,每个目标查询请求用于请求查询磁盘中存储的原始存储地址不同的至少两条数据,所述数据查询结果包括所述原始存储地址不同的至少两条数据构成的数据块;
基于所述数据查询结果确定存在同次查询关系的目标数据块;其中,所述目标数据块为数据查询结果中原始存储地址不连续的至少两条数据构成的数据块,所述同次查询关系用于表征不同数据块至少一次被同时查询;
对所述目标数据块在所述磁盘中的存储结构进行重构,重构后的目标数据块中各条数据的重构存储地址连续;
所述基于所述数据查询结果确定存在同次查询关系的目标数据块,包括:基于所述数据查询结果中各条数据的每个原始存储地址,将各个数据块划分为每个原始存储地址对应的集合;其中,每个集合内的不同数据块包括同一原始存储地址的数据,不同集合对应的所述同一原始存储地址不同;确定每个集合中同一数据块的频次;基于每个原始存储位置对应的集合、以及每个集合中数据块的频次,确定每个集合中的目标数据块;
所述基于每个原始存储位置对应的集合、以及每个集合中数据块的频次,确定每个集合中的目标数据块,包括:按照每个集合中各个数据块的频次由高到低的顺序,确定每个集合对应的候选数据块;确定按照各个集合对应的候选数据块重构时的查询效率;其中,所述查询效率与期望数据查询结果的次数呈正相关关系,所述期望数据查询结果是指查询得到的数据块中各条数据的存储地址连续的数据查询结果;将查询效率满足预设条件的各个候选数据块确定为所述目标数据块。
2.根据权利要求1所述的方法,其特征在于,所述确定对各个集合对应的候选数据块重构时的查询效率,包括:
对各个集合对应的候选数据块模拟重构,得到各个数据块中各条数据的模拟重构地址;
确定按照模拟重构地址查询数据时得到所述期望数据查询结果的次数;
确定所述次数与查询总次数的比值,得到所述查询效率。
3.根据权利要求1所述的方法,其特征在于,所述将查询效率满足预设条件的各个候选数据块确定为所述目标数据块之前,还包括:
在所述查询效率不满足所述预设条件的情况下,按照每个集合中各个数据块的频次由高到低的顺序,更新所述集合对应的候选数据块,并触发执行所述确定对各个集合对应的候选数据块重构时的查询效率的步骤。
4.根据权利要求1所述的方法,其特征在于,所述将查询效率满足预设条件的各个候选数据块确定为所述目标数据块,包括:
在所述查询效率比原始查询效率提高预设数值的情况下,确定所述查询效率对应的各个候选数据块确定为所述目标数据块;其中,所述原始查询效率是指按照各条的原始存储地址进行数据查询时的查询效率;
或者,
在候选数据块的更新次数达到预设次数后,将最高的查询效率对应的各个候选数据块确定为所述目标数据块。
5.根据权利要求1至4任一所述的方法,其特征在于,所述对所述目标数据块在所述磁盘中的存储结构进行重构,包括:
对于各个目标数据块对应的原始存储地址构成的存储地址范围,在所述存储地址范围内按照原始存储地址从前至后的顺序,对每个原始存储地址对应的目标数据块依次存储,得到重构后的目标数据块。
6.根据权利要求1至4任一所述的方法,其特征在于,所述对所述目标数据块在所述磁盘中的存储结构进行重构,包括:
对于各个目标数据块对应的原始存储地址构成的存储地址范围,在所述存储地址范围内按照各个目标数据块的频次由高到低的顺序,对各个目标数据块依次存储,得到重构后的目标数据块。
7.根据权利要求1至4任一所述的方法,其特征在于,所述获取多个目标查询请求的数据查询结果,包括:
获取数据查询请求,所述数据查询请求包括所述目标查询请求和其它查询请求,所述其它查询请求用于请求查询所述磁盘中存储的一条数据;
从多个数据查询请求中筛选所述目标查询请求。
8.一种电子设备,其特征在于,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310448411.6A CN116150212B (zh) | 2023-04-24 | 2023-04-24 | 数据处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310448411.6A CN116150212B (zh) | 2023-04-24 | 2023-04-24 | 数据处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116150212A CN116150212A (zh) | 2023-05-23 |
CN116150212B true CN116150212B (zh) | 2023-07-07 |
Family
ID=86356532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310448411.6A Active CN116150212B (zh) | 2023-04-24 | 2023-04-24 | 数据处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150212B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514224B (zh) * | 2012-06-29 | 2017-08-25 | 国际商业机器公司 | 数据库中的数据处理方法、数据查询方法和相应装置 |
CN108897761B (zh) * | 2014-05-27 | 2023-01-13 | 华为技术有限公司 | 一种聚簇存储方法及装置 |
CN114817657A (zh) * | 2022-04-29 | 2022-07-29 | 上海徐毓智能科技有限公司 | 待检索数据处理方法、数据检索方法、电子设备及介质 |
-
2023
- 2023-04-24 CN CN202310448411.6A patent/CN116150212B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116150212A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970870A (zh) | 数据库查询方法和服务器 | |
WO2017050064A1 (zh) | 共享内存数据库的内存管理方法及装置 | |
CN111897818A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN103995684A (zh) | 超高分辨率平台下的海量影像并行处理显示方法及系统 | |
CN111767268A (zh) | 数据库表分区方法、装置、电子设备及存储介质 | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
JPH10333949A (ja) | データ格納制御方式 | |
CN111104178A (zh) | 一种动态库加载方法、终端装置及存储介质 | |
CN113434470B (zh) | 数据分布方法、装置及电子设备 | |
CN109597804B (zh) | 基于大数据的客户合并方法及装置、电子设备及存储介质 | |
CN116150212B (zh) | 数据处理方法及设备 | |
CN113515474A (zh) | 数据处理装置、方法、计算机设备和存储介质 | |
CN112632163A (zh) | 大数据报表导出方法及相关设备 | |
CN113064919A (zh) | 数据处理方法、数据存储系统、计算机设备及存储介质 | |
CN112035524A (zh) | 列表数据查询方法、装置、计算机设备及可读存储介质 | |
CN111459408A (zh) | 一种提升dram中数据查找速率的方法及系统 | |
CN111858581A (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
CN111752941A (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
CN113111013B (zh) | 一种闪存数据块绑定方法、装置及介质 | |
CN113535087B (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
CN114925127A (zh) | 级联结构数据的二维图表生成方法、装置、存储介质 | |
CN114020214A (zh) | 存储集群的扩容方法、装置、电子设备及可读存储介质 | |
CN110928910B (zh) | 高速读写Shapfile中的矢量要素的方法和装置 | |
CN110782389B (zh) | 一种图像数据字节对齐方法和终端 | |
CN113672650A (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 |