一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法及装置与流程

2022-04-09 06:40:20 来源:中国专利 TAG:


1.本技术涉及芯片设计技术领域,尤其涉及一种数据处理方法及装置。


背景技术:

2.当前为了减少数据块占用的存储空间,通常会进行数据压缩。当用户需要获取数据时,传统的压缩方案将整体数据块与压缩后该数据块的存放位置进行映射,便于用户索引。而当用户需要获取不同形式的数据时,例如在滤波场景下,需要获取3
×
3的数据块或5
×
5的数据块。此时,采用上述映射规则计算复杂度较高,无法快速定位数据块中每个数据的位置,存取数据时延较大,影响芯片的工作性能。


技术实现要素:

3.本技术实施例提供了一种数据处理方法及装置,用于提升数据的存取速率,提高芯片处理数据的灵活性。
4.为达到上述目的,本技术实施例提供如下技术方案:
5.第一方面,提供了一种数据处理方法,包括:将目标待压缩数据块划分为多个第一子数据块;其中,目标待压缩数据块包括多个数据,目标待压缩数据块和第一子数据块均是n维数据块,n是大于等于2的整数;对多个第一子数据块分别进行压缩,得到多个第二子数据块;其中,第一子数据块与第二子数据块一一对应;将多个第二子数据块按照预设规则存储;其中,预设规则用于表征多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。
6.通过将目标待压缩数据块进行划分再压缩,有助于提升数据存储效率;经划分的数据块分别进行压缩和存储,当读取数据时,根据压缩规则以及压缩前后数据块一一对应的关系,在压缩后的数据块中快速定位待读数据,有助于提升数据的读取速率,提高芯片处理数据的灵活性。
7.在一种可能的实现方式中,该方法还包括:存储第一信息;其中,第一信息包括目标待压缩数据块的尺寸,第一子数据块的尺寸;第一信息用于确定多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。
8.该种可能的实现方式,通过存储用于计算映射关系的参数信息,用于其他设备计算存储、读取规则。
9.在一种可能的实现方式中,该方法还包括:接收第二设备发送的读取请求,该读取请求包括目标待压缩数据块中待读数据的标识;根据待读数据的标识确定目标第二子数据块的存储空间的标识;其中,目标第二子数据块是多个第二子数据块中的至少一个,;基于目标第二子数据块的存储空间的标识,读取目标第二子数据块;解压缩目标第二子数据块,解压缩后的目标第二子数据块包括待读数据;向第二设备发送待读数据。
10.该种可能的实现方式,提供了读取数据的具体实现方式,通过待读数据的标识确定其所属目标第二子数据块的存储空间的标识,根据目标第二子数据块的存储空间的标识
获取目标第二子数据块,通过解压缩实现获取待读数据。
11.在一种可能的实现方式中,待读数据的标识包括待读数据的起始位置和待读数据的尺寸;根据待读数据的标识确定目标第二子数据块的存储空间的标识,包括:基于待读数据的起始位置和尺寸和第一信息确定目标第一子数据块的标识,目标第一子数据块是多个第一子数据块中的至少一个;基于目标第一子数据块的标识和映射关系,确定目标第二子数据块的存储空间的标识。
12.该种可能的实现方式,提供了获取待读数据所属的目标第二子数据块的标识的具体实现方式。根据第一信息确定待读数据在压缩前经划分的至少一个第一子数据块,根据第一子数据块压缩与第二子数据块的映射规则,快速定位压缩后的数据块,从而实现提升数据读取的效率。
13.在一种可能的实现方式中,第一子数据块的尺寸是目标尺寸,该方法还包括:确定一个子数据块的数据量;基于子数据块的数据量确定子数据块的多种尺寸;基于多种尺寸分别对多个待压缩数据块进行划分,并对划分后的子数据块分别压缩,基于预设规则存储压缩后的子数据块;其中,一种尺寸对应至少一个待压缩数据块;多个待压缩数据块的尺寸相同;统计多个待压缩数据块的处理效率,并将处理效率满足预设条件时对应的尺寸确定为目标尺寸。
14.该种可能的实现方式,提供了子数据块尺寸更新方式,通过计算存储的效率,确定子数据块的尺寸的适应性,适当调整划分子数据块的尺寸,实现存储效率的提升。
15.第二方面,提供了一种计算机设备,包括:用于执行第一方面提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,计算机设备可以包括:划分单元、压缩单元和存储单元;划分单元,用于将目标待压缩数据块划分为多个第一子数据块;其中,目标待压缩数据块包括多个数据,目标待压缩数据块和第一子数据块均是n维数据块,n是大于等于2的整数;压缩单元,用于对多个第一子数据块分别进行压缩,得到多个第二子数据块;其中,第一子数据块与第二子数据块一一对应;存储单元,用于将多个第二子数据块按照预设规则存储;其中,预设规则用于表征多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。
16.第三方面,提供了一种计算机设备,包括:处理器和存储器。处理器与存储器连接,存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法。
17.第四方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行第一方面提供的任意一种方法。
18.第五方面,提供了一种计算机可读存储介质,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
19.第六方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
20.第二方面至第六方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
附图说明
21.图1为本技术实施例提供的一种计算机设备的结构示意图;
22.图2为本技术实施例提供的一种数据存储方法的流程示意图;
23.图3为本技术实施例提供的一种数据块划分示意图;
24.图4为本技术实施例提供的一种数据块划分示意图;
25.图5为本技术实施例提供的一种压缩前数据存储地址示意图;
26.图6为本技术实施例提供的一种压缩后数据存储地址示意图;
27.图7为本技术实施例提供的一种数据读取方法的流程示意图;
28.图8为本技术实施例提供的一种获取待读数据压缩前存储地址示意图;
29.图9为本技术实施例提供的一种计算机设备的组成示意图。
具体实施方式
30.在本技术的描述中,除非另有说明,“/”表示“或”的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
31.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
32.本技术实施例提供了一种数据处理方法,可应用于计算机设备。本技术实施例对计算机设备的具体形式不作任何限制。例如,计算机设备具体可以是终端装置,也可以是网络设备。其中,终端装置可以被称为:终端、用户设备(user equipment,ue)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端装置具体可以是手机、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等。网络设备具体可以是服务器等。其中,服务器可以是一个物理或逻辑服务器,也可以是有两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现服务器的各项功能。
33.在硬件实现上,上述计算机设备可以通过如图1所示的计算机设备实现。如图1所示,为本技术实施例提供的一种计算机设备10的硬件结构示意图。计算机设备10可以用于实现上述计算机设备的功能。
34.图1所示的计算机设备10可以包括:处理器101、存储器102、通信接口103以及总线104。处理器101、存储器102以及通信接口103之间可以通过总线104连接。
35.处理器101是计算机设备10的控制中心,可以是一个通用中央处理单元(central processing unit,cpu),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
36.作为示例,处理器101可以包括一个或多个cpu,例如图1中所示的cpu 0和cpu 1。
37.存储器102可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
38.一种可能的实现方式中,存储器102可以独立于处理器101存在。存储器102可以通过总线104与处理器101相连接,用于存储数据、指令或者程序代码。处理器101调用并执行存储器102中存储的指令或程序代码时,能够实现本技术实施例提供的数据处理方法。
39.另一种可能的实现方式中,存储器102也可以和处理器101集成在一起。
40.通信接口103,用于计算机设备10与其他设备通过通信网络连接,该通信网络可以是以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口103可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
41.总线104,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
42.需要指出的是,图1中示出的结构并不构成对计算机设备10的限定,除图1所示部件之外,计算机设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
43.如图2所示,为本技术提供的一种数据处理方法的流程图。本技术中计算机设备也可以称为第一设备。该方法包括:
44.步骤s201、第一设备将目标待压缩数据块划分为多个第一子数据块;其中,目标待压缩数据块包括多个数据。
45.可以理解的是,数据以二进制的格式存储时,可进一步以多维数据表示。该数据可以是文本、图片、视频等任何类型的数据或对这些数据进行处理后得到的数据。例如,当图片为人脸时,通过进一步处理,得到表征人脸特征的特征数据,该特征数据可以以二进制的格式存储,从而表示成多维数据。
46.目标待压缩数据块是待压缩的n维数据构成的数据块,n是大于等于2的整数。其中,当目标待压缩数据块为二维数据块时,该数据块的尺寸可以表示为w
×
h;当目标待压缩数据块是三维数据块时,该数据块的尺寸可以表示为w
×h×
c。示例性的,当目标待压缩数据块为图片时,目标待压缩数据块中包括多个数据,该多个数据为图片的多个像素值。该像素值可通过亮度和色度来表示。
47.在执行步骤s201之前,第一设备需要获知第一子数据块的尺寸,根据该尺寸对目标待压缩数据块进行划分。
48.可选的,第一设备按照预设的第一子数据块的数据量确定第一子数据块的尺寸。
具体地,如图3所示,假设第一设备压缩尺寸为w
×
h的二维数据块,目标待压缩数据块的数据量为w
×
h。则第一设备需要确定合适的第一子数据块的数据量为a
×
b,得到至少一组a和b表示第一子数据块的尺寸,其中a≤w,b≤h。例如,若预设的第一子数据块的数据量为4kb,即a
×
b的数据量为4kb,则a可以为1,b可以为4。当确定a和b的取值,将w和h分别按照a和b进行划分。划分的结果为m=w/a,n=h/b,其中m表示将w以a为单位划分的个数,n表示将h以b为单位划分的个数。
49.可以理解的是,第一子数据块的a和b是根据w和h分别进行划分得到的,第一子数据块与目标待压缩数据块相同,均是n维数据块,n是大于等于2的整数。
50.可选的,当第一设备确定第一子数据块的数据量对应多组a和b时,第一设备可以在多组a和b中进行随机选取。如上述示例中,第一子数据块的数据量为4kb,a和b的取值还可以分别为2。
51.可选的,第一设备设定第一子数据块的数据量的选取范围。示例性的,a
×
b的选取范围为1kb-4kb。针对该数据量的选取范围,a和b的选取方式存在更多的选择。
52.可选的,第一设备若对a和b的取值有进一步的限定时,则a、b在满足数据量的要求的前提下,进行进一步选择。示例性的,第一设备设定a和/或b的上下限,则在满足第一子数据块的数据量的多个a和b的组合中,进一步针对a和/或b的上下限选取a和b。
53.需要说明的是,如图3所示的示例中,若w和h分别以a和b划分时,存在完全划分与不完全划分两种情况。完全划分是指w与a、h与b为整数倍的关系,即m、n为大于0的整数;而当w与a、h与b不满足整数倍关系时为不完全划分,即m、n为非整数。当不完全划分时,第一设备可以将不足整数倍的部分进行补充,即对m、n进行取整,得到m’、n’。如图4所示,斜线部分为补充的数据。此时,
54.m’=ceil(m)=ceil(w/a);
55.n’=ceil(n)=ceil(h/b);
56.根据m’和n’,得到
57.w’=a
×
ceil(m);
58.h’=b
×
ceil(n);
59.通过上述对m和n进行取整,简化计算过程,便于定位第一子数据块与目标待压缩数据块的关系。
60.步骤s202、第一设备对多个第一子数据块分别进行压缩,得到多个第二子数据块;其中,第一子数据块与第二子数据块一一对应。
61.其中,第一设备采用现有的任意压缩算法对第一子数据块进行压缩。示例性的,如游程编码算法。游程编码是一种常见的压缩算法,又称行程长度编码、变动长度编码等。主要技术是检测重复的比特或字符序列,并用它们的出现次数来代替表示。例如,一段字符序列为aaaabbccccc,通过游程编码可以压缩为4a2b5c。第一设备将压缩后的数据块作为第二子数据块。若字符序列aaaabbccccc为第一子数据块,则4a2b5c为第二子数据块。
62.需要说明的是,第一设备可以在进行压缩前获取压缩算法。示例性的,将目标待压缩数据块以及压缩算法一并发送至第一设备,第一设备根据该压缩算法进行压缩。或者,在第一设备中预设压缩算法,经由第一设备处理的数据均采用该预设的压缩算法。本技术对此不作限制。
63.步骤s203、第一设备将多个第二子数据块按照预设规则存储;其中,该预设规则用于表征多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。
64.预设规则用于表征第一子数据块的标识与其一一对应的第二子数据块的存储空间的标识之间的映射关系。该预设规则可以为公式或表格,用于标识映射关系。
65.其中,第一子数据块的标识包括第一子数据块在目标待压缩数据块中的位置信息。可选的,当目标待压缩数据块为二维数据块时,经过划分的第一子数据块可以通过行列标识,表示该第一子数据块在该目标待压缩数据块中的位置。如图3所示,m为w基于a划分的列数,n为h基于b划分得到的行数,以(n,m)表示第n行,第m列的第一子数据块,其中,1≤m≤m,1≤n≤n。
66.可以理解的是,图3中经划分得到的第一子数据块中的元素的地址如图5所示,其中,起始位置为1,n为1时,该行第一子数据块中的第一行元素的地址为1,
……
,a,
……
,w;第二行元素的地址为w 1,
……
,2
×
w。n为2时,该行第一子数据块中的第一行元素的地址为b
×
w 1,
……
,b
×
w 1 a,
……
,(b 1)
×
w。直到n为n时,该行第一子数据块中的最后一行元素的地址为(h-1)
×
w 1,
……
,h
×
w。
67.第二子数据块的存储空间的标识包括第二子数据块的存储空间的首地址。如图6所示,为用于存储图5中压缩后的第二子数据块的存储空间。其中,每一行的存储空间用于存储一个第二子数据块。具体地,则第一行存储空间用于存储图5中,n为1,m为1对应的阴影数据块经压缩的第二子数据块。其中,该行存储空间的首地址为1,由于该数据块的数据量为a
×
b,则该行中最后一个元素的地址为a
×
b。
68.可以理解的是,图5中的第一子数据块逐行压缩并存储。图6中第二行的存储空间用于存储图5中,以斜线表示的数据块经压缩的第二子数据块,该存储空间的首地址为1
×a×
b 1。类似地,图5中以格纹表示的数据块对应图6中最后一行的存储空间,其首地址为(m-1)
×n×a×
b 1。
69.将第一子数据块的标识与第二子数据块的存储空间的标识建立映射关系,根据该映射关系获知数据在压缩后的数据块的地址,实现压缩前后数据对应关系的建立。
70.需要说明的是,第一设备可以以一个或多个目标待压缩数据块为单位,执行上述步骤s201-s203。示例性的,当第一设备以一个目标待压缩数据块为单位时,则每个目标待压缩数据块均按照上述步骤s201分别确定第一子数据块的尺寸。当第一设备以多个目标待压缩数据块为单位时,例如十个目标待压缩数据块为一个单元,每个单元以相同的第一子数据块的尺寸进行处理,该尺寸可以为每个单元中任意一个目标待压缩数据块按照上述步骤s201确定的第一子数据块的尺寸,或者确定每个单元的总数据量,根据该单元的总数据量采用上述步骤s201确定第一子数据块的尺寸。本技术对此不作限制。
71.可选的,基于同一目标待压缩数据块,以不同的第一子数据块的尺寸进行压缩并存储的处理效率不同。具体地,第一设备通过计算不同的第一子数据块的尺寸对应的处理效率进行比较,选择处理效率较高的第一子数据块的尺寸进行划分。
72.具体地,包括以下步骤s11-s14。
73.s11、第一设备为待压缩数据块确定一个子数据块的数据量。
74.待压缩数据块为任意一个目标待压缩数据块,该子数据块的数据量小于待压缩数据块的数据量。可以理解的是,该子数据块的数据量为第一子数据块的数据量的多种选取
方式中的任意一种。
75.s12、第一设备基于该子数据块的数据量确定子数据块的多种尺寸,基于多种尺寸的子数据块分别对多个待压缩数据块进行划分并压缩。
76.例如,子数据块的尺寸包括第一尺寸和第二尺寸,待压缩数据块包括第一待压缩数据块和第二待压缩数据块,第一待压缩数据块的数据量和第二待压缩数据块的数据量相同。第一设备基于第一尺寸对第一待压缩数据块进行划分并压缩,基于第二尺寸对待压缩数据块进行划分并压缩。
77.s13、第一设备基于上述预设规则将划分后的子数据块进行存储。
78.s14、第一设备统计多个待压缩数据块的处理效率,并将处理效率满足预设条件时对应的尺寸确定为目标尺寸。
79.处理效率可以通过比较多个相同数据量的待压缩数据块分别以不同尺寸进行压缩并存储的时间,时间长表示以该尺寸进行压缩并存储的处理效率低,反之,处理效率高。具体地,预设条件可以为该预设时长,处理时长小于预设时长则表示该处理效率满足预设条件。将满粗预设条件的处理效率所对应的子数据块的尺寸作为目标尺寸,应用于第一子数据块。
80.可以理解的是,上述第一设备是通过一定数据量经不同方式处理所占用的时间来衡量处理效率,类似地,还可以通过计算以不同方式处理不同数据量的速率来衡量处理效率,本技术对此不作限制。
81.通过上述步骤s11-s14,第一设备根据不同子数据块的尺寸,计算在一定数据量下的处理时间,通过比较处理时间的长短,确定该第一子数据块的尺寸对应的处理效率。第一设备通过比较处理效率,选取处理效率较高的第一子数据块的尺寸划分目标待压缩数据块。
82.需要说明的是,不同第一子数据块的尺寸可能对应相同或不同的第一子数据块的数据量。可以理解的是,在图3所示的示例中,a
×
b相同时,a和b的取值不同,第一设备的处理效率也可能不同。
83.可选的,第一设备更新第一子数据块的尺寸。具体地,第一设备根据第一单元的处理效率更新第二单元的第一子数据块的尺寸。其中,第二单元的第一子数据块的尺寸为目标尺寸,第一单元和第二单元中分别包括一个或多个目标待压缩数据块。通过按照上述步骤s201-s203处理第一单元中的数据,并计算第一单元的处理效率。
84.一种可能的实现方式,将第一单元的处理效率与第一条件进行比较,该第一条件由第一设备需要满足的处理效率的上下限构成。示例性的,计算机设备a的处理效率要求在每秒至少处理a数据量,和/或每秒至多处理b数据量。上述a数据量和b数据量构成处理效率的第一阈值范围。若第一单元的处理效率处于该范围内,则表示处理第一单元所划分的第一子数据块的尺寸合适,则目标尺寸与该尺寸相同。若第一单元不处于该第一阈值范围内,则表示处理第一单元所划分的第一子数据块的尺寸不合适,第二单元基于该第一子数据块的尺寸进行调整。例如,第一设备以该尺寸为基础,增大原尺寸的5%,将增大后的尺寸作为目标尺寸。或者,第一设备以该尺寸为基础,减小原尺寸的5%,将减小后的尺寸作为目标尺寸。又或者,针对第二单元,第一设备重新执行步骤s201,重新确定目标尺寸。
85.需要说明的是,增大的量与减小的量可以根据第一单元的处理效率与第一阈值范
围的差距进行调整,本技术不作限制。
86.需要说明的是,上述第一条件与第一设备的属性相关,属性是指第一设备的设备性能。示例性的,第一设备处理数据时在一定数据量内,处理数据量越多,处理效率越高,达到某个峰值时,处理效率不再增长;类似地,处理效率低于某个谷值时,处理效率大幅下降或为零。第一设备可以根据峰谷值确定第一条件,该第一条件可以预设于第一设备中,或后续用户可以进行调整。上述可能的实现方式当第一单元的处理效率处于该第一阈值范围内时,第二单元可以基于该第一子数据块的尺寸继续进行调整。示例性的,为了更快的达到峰值,可以大幅度调整目标尺寸,或者为了保证效率变化幅度不会太大,可以小幅度调整目标尺寸。可以理解的是,该调整为第一设备为了达到峰值或第一条件中效率最高点而进行的,具体实现方式不作限制。
87.可选的,还包括步骤s204、第一设备存储第一信息;其中,该第一信息包括目标待压缩数据块的尺寸,第一子数据块的尺寸;该第一信息用于确定多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。
88.具体地,第一设备存储第一信息,当其他设备需要读取或写入经由第一设备压缩存储的数据时,可以从第一设备中获取第一信息,根据第一信息确定多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系,从而确定数据存储、读取的规则。
89.通过上述方法,在数据块压缩存储之前,进行划分,并建立划分的数据块与压缩后的存储空间之间的映射关系,该映射关系计算方式简便,兼容现有的压缩算法的同时,实现压缩前后数据存储的独立性,便于用户存储。
90.当用户需要读取数据时,第一设备可以执行如图7所示的方法,包括:
91.步骤s701、第一设备接收第二设备发送的读取请求,该读取请求包括目标待压缩数据块中待读数据的标识。
92.具体地,该待读数据的标识包括待读数据的起始位置和尺寸。
93.需要说明的是,本技术中待读数据具有多样的数据形式,根据待读数据的起始位置和尺寸有助于快速定位待读数据。示例性的,待读数据的尺寸可以为3
×
3的数据块。
94.步骤s702、第一设备根据待读数据的标识确定目标第二子数据块的存储空间的标识;其中,目标第二子数据块是多个第二子数据块中的至少一个。
95.具体地,步骤s702包括步骤s702a-s702b。
96.s702a、第一设备基于待读数据的起始位置、待读数据的尺寸和第一信息,确定目标第一子数据块的标识,其中,目标第一子数据块包括多个第一子数据块中的至少一个,目标第一子数据块包括待读数据。
97.具体地,第一设备根据第一信息确定待读数据所属目标待压缩数据块的经划分的多个第一子数据块。如图5所示,为待读数据所属目标待压缩数据块基于a
×
b的尺寸进行划分的结果。根据待读数据的起始位置和待读数据的尺寸,在多个第一子数据块中确定目标第一子数据块。示例性的,假设a》3,b》3,待读数据的起始位置为a,待读数据的尺寸为3
×
3,则定位待读数据的位置所属的目标第一子数据块为图8所示的以斜线表示的数据块。
98.s702b、第一设备基于目标第一子数据块的标识和映射关系,确定目标第二子数据块的存储空间的标识。
99.其中,该映射关系为上述多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。仍如上述示例,该目标第一子数据块对应的目标第二子数据块的存储空间对应于图6所示的第二行存储空间。该目标第二子数据块的标识为该第二行存储空间的首地址。
100.步骤s703、第一设备基于目标第二子数据块的存储空间的标识,读取目标第二子数据块。
101.示例性的,基于目标第二子数据块的存储空间的首地址读取目标第二子数据块。
102.步骤s704、第一设备解压缩目标第二子数据块,解压缩后的目标第二子数据块包括待读数据。
103.解压算法与上述压缩算法对应,本技术不限制其获取的具体方式。第一设备解压缩目标第二子数据块后,得到目标第二子数据块中的所有数据,其中包括待读数据。
104.需要说明的是,该目标第二子数据块中的所有数据中可能包含除待读数据的无效数据。示例性的,目标第一子数据块的划分与所需待读数据之间并不是整数倍的关系,而目标第二子数据块与目标第一子数据块的关系,即为第一子数据块与第二子数据块一一对应的关系。第一设备获取待读数据,需要先解压其所属的待读数据块,解压后得到目标第一子数据块,通过第一信息中目标第一子数据块的尺寸计算待读数据。如图8所示,以斜线表示的目标第一子数据块中除去3
×
3的数据块,其余均为无效数据。第一设备可根据待读数据的尺寸在解压缩后的目标第二子数据块中进一步选取。
105.步骤s705、第一设备向第二设备发送待读数据。
106.可以理解的是,上述步骤s701-s705提供了数据读取方法的具体实现方式。在该种实现方式下,用户通过获取压缩前划分的第一子数据块及目标待压缩数据块的尺寸,确定目标第一子数据块,再根据映射关系确定目标第一子数据块压缩后的目标第二子数据块;通过解压目标第二子数据块,获取待读数据。根据上述方法,第一设备提供了目标待读数据块压缩的索引方式,根据该种数据与其所属数据块的映射关系,提升存取不同数据形式的效率。
107.上述主要从方法的角度对本技术实施例的方案进行了介绍。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
108.本技术实施例可以根据上述方法示例对计算机设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
109.示例性的,图9示出了上述实施例中所涉及的计算机设备(记为计算机设备90)的一种可能的结构示意图,该计算机设备90包括划分单元901、压缩单元902和存储单元903。
划分单元901,用于将目标待压缩数据块划分为多个第一子数据块;其中,目标待压缩数据块包括多个数据。例如,图2所示的步骤s201。压缩单元902,用于对多个第一子数据块分别进行压缩,得到多个第二子数据块;其中,第一子数据块与第二子数据块一一对应。例如,图2所示的步骤s202。存储单元903,用于将多个第二子数据块按照预设规则存储;其中,预设规则用于表征多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。例如,图2所示的步骤s203。
110.可选的,存储单元903,还用于存储第一信息;其中,第一信息包括目标待压缩数据块的尺寸,第一子数据块的尺寸;第一信息用于确定多个第一子数据块的标识与多个第二子数据块的存储空间的标识之间的映射关系。
111.可选的,计算机设备90中还包括接收单元904,用于接收第二设备发送的读取请求,读取请求包括目标待压缩数据块中待读数据的标识。确定单元905,用于根据待读数据的标识确定目标第二子数据块的存储空间的标识;其中,目标第二子数据块是多个第二子数据块中的至少一个。读取单元906,用于基于目标第二子数据块的存储空间的标识,读取目标第二子数据块。解压缩单元907,用于解压缩目标第二子数据块,解压缩后的目标第二子数据块包括待读数据。发送单元908,用于向第二设备发送待读数据。
112.可选的,待读数据的标识包括待读数据的起始位置和尺寸;确定单元905,具体用于基于待读数据的起始位置、待读数据的尺寸和第一信息,确定目标第一子数据块的标识,其中,目标第一子数据块包括多个第一子数据块中的至少一个,目标第一子数据块包括待读数据;基于目标第一子数据块的标识和映射关系确定目标第二子数据块的存储空间的标识。
113.可选的,第一子数据块的尺寸是目标尺寸,确定单元905,还用于确定一个子数据块的数据量;确定单元905,还用于基于子数据块的数据量确定子数据块的多种尺寸;划分单元901,还用于基于所述多种尺寸分别对多个待压缩数据块进行划分;压缩单元902,还用于对划分后的子数据块分别压缩;存储单元903,还用于基于预设规则存储压缩后的子数据块;其中,一种尺寸对应至少一个待压缩数据块;多个待压缩数据块的尺寸相同;计算机设备90中还包括统计单元909,用于统计多个待压缩数据块的处理效率;确定单元905,还用于将处理效率满足预设条件时对应的尺寸确定为目标尺寸。
114.可选的,存储单元903还用于存储计算机执行指令,计算机设备中的其他单元可以根据存储单元903中存储的计算机执行指令执行相应的动作。
115.关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种计算机设备90的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
116.作为示例,结合图1,计算机设备90中的划分单元901、压缩单元902、存储单元903、解压缩单元904和确定单元905中的部分或全部实现的功能可以通过图1中的处理器101执行图1中的存储器102中的程序代码实现。接收单元905还可以通过图1中的通信接口103中的接收单元实现。发送单元908还可以通过图1中的通信接口103中的发送单元实现。
117.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上文提供的任一种计算机设备所执行的方法。
118.关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
119.本技术实施例还提供了一种芯片。该芯片中集成了用于实现上述计算机设备90的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,asic)、微处理器(digital signal processor,dsp),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
120.本技术实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如ssd)等。
121.应注意,本技术实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
122.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
123.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步
骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
124.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献