CN102867023B - 一种栅格数据的存储、读取方法及装置 - Google Patents

一种栅格数据的存储、读取方法及装置 Download PDF

Info

Publication number
CN102867023B
CN102867023B CN201210291599.XA CN201210291599A CN102867023B CN 102867023 B CN102867023 B CN 102867023B CN 201210291599 A CN201210291599 A CN 201210291599A CN 102867023 B CN102867023 B CN 102867023B
Authority
CN
China
Prior art keywords
value
raster data
grid cell
original
target
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
CN201210291599.XA
Other languages
English (en)
Other versions
CN102867023A (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 Datum Science & Technology Development Co Ltd
Original Assignee
Beijing Datum Science & Technology Development 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 Datum Science & Technology Development Co Ltd filed Critical Beijing Datum Science & Technology Development Co Ltd
Priority to CN201210291599.XA priority Critical patent/CN102867023B/zh
Publication of CN102867023A publication Critical patent/CN102867023A/zh
Application granted granted Critical
Publication of CN102867023B publication Critical patent/CN102867023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本申请提供了一种栅格数据的存储、读取方法及装置,其中,所述栅格数据存储的方法包括:步骤S101,获取原始栅格数据;步骤S102,依次提取9个连续栅格单元的值;步骤S103,采用第一目标数值代替所述9个连续栅格单元的值并存储在一个目标栅格单元中;步骤S104,若提取到的连续栅格单元不足9个,则将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个原始栅格单元的值并存储在一个目标栅格单元中;步骤S105,判断是否遍历完K*L个栅格单元,若是,则执行步骤S106;若否,则返回步骤S102。本申请可以节省栅格数据的存储空间,提高栅格数据的处理效率。

Description

一种栅格数据的存储、读取方法及装置
技术领域
本申请涉及栅格数据处理的技术领域,特别是涉及到一种栅格数据的存储、读取方法及装置。
背景技术
栅格数据是以二维矩阵的形式来表示空间地物或现象分布的数据组织方式,每个矩阵单位称为一个栅格单元,栅格的每个数据表示地物或现象的属性数据。随着地理信息系统(GIS、Geographic Information System)应用于各个行业,在实际应用中,大量使用海量栅格数据,带来应用系统的存储空间、性能要求与网络传输以及运算量等技术难点。尤其在一些GIS软件中,海量栅格数据的存储管理以及网络传输速率往往是性能瓶颈。
假设栅格数据是由K行L列个栅格单元组成,每个栅格单元存储的是0到9的整数值。若采用普通方法,每个栅格单元用1字节进行存储,则需要K*L个字节,所需的存储空间非常大,这对系统的存储、性能,以及网络的传输效率都要求很高。
因此,本领域技术人员迫切需要解决的一个技术问题在于,如何节省栅格数据的存储空间,提高栅格数据的处理效率。
发明内容
本申请提供一种栅格数据的存储、读取方法及装置,用以节省栅格数据的存储空间,提高栅格数据的处理效率。
为了解决上述问题,本申请公开了一种栅格数据的存储方法,包括:
步骤S101,获取原始栅格数据,所述原始栅格数据包括原始栅格数据基本信息和原始栅格单元的值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数;
步骤S102,在所述K*L个栅格单元中依次从第一个未提取的原始栅格单元开始,按照预设提取方式提取9个连续原始栅格单元的值;
步骤S103,采用第一目标数值代替所述9个连续原始栅格单元的值并存储在一个目标栅格单元中;所述第一目标数值为根据9个连续原始栅格单元的值生成的一个9位整数;所述存储包括将第一目标数值存储为4字节的int型;
步骤S104,若提取到的连续原始栅格单元不足9个,则将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个的原始栅格单元的值并存储在一个目标栅格单元中;所述第二目标数值为根据所述N个连续原始栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述存储包括将第二目标数值存储为4字节的int型;
步骤S105,判断是否遍历完所述K*L个栅格单元,若是,则执行步骤S106;若否,则返回步骤S102;
步骤S106,将所述目标栅格单元的值和目标栅格数据的基本信息组织为目标栅格数据并存储;所述目标栅格单元的值为第一目标数值和/或第二目标数值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、步骤S102中所述的预设提取方式及步骤S104中所述的9-N个特征值。
优选地,所述预设提取方式包括:
按每行或每列提取;
所述按每行提取包括从左到右或从右到左提取;若每行最后提取到的连续原始栅格单元不足9个,则执行步骤S104;
所述按每列提取包括从上到下或从下到上提取;每列最后提取到的连续原始栅格单元不足9个,则执行步骤S104。
优选地,所述预设提取方式包括:
按整个栅格数据提取;所述按整个栅格数据提取包括把所有的行连接起来进行顺次提取;整个栅格数据的最后几个连续栅格单元不足9个,则执行步骤S104。
优选地,所述步骤S103中根据9个连续原始栅格单元的值生成一个9位整数包括:
将所述9个连续原始栅格单元的值,按顺序从高位到低位排列得到一个9位整数;
所述按顺序从高位到低位排列,包括:提取到的第一个栅格单元的值放在最高位,最后一个栅格单元的值放在最低位。
优选地,所述特征值为0到9之间的整数。
本申请实施例还公开了一种栅格数据读取的方法,包括:
步骤S201,读取目标栅格数据,所述目标栅格数据包括目标栅格数据基本信息以及目标栅格单元的值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、预设提取方式及9-N个特征值;所述目标栅格单元的值包括第一目标数值和第二目标数值;所述第一目标数值为根据9个连续栅格单元的值生成的一个9位整数;所述第二目标数值为根据所述N个连续栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述第一目标数值和第二目标数值均存储为4字节的int型;
步骤S202,依据预设提取方式生成预设还原方式;
步骤S203,从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断是否第一目标数值或第二目标数值;若为第一目标数值,则执行步骤S204,若为第二目标数值,则执行步骤S205;
步骤S204,将所述每个第一目标数值还原成9个连续原始栅格单元的值,并按照预设还原方式还原到9个原始栅格单元中;
步骤S205,将所述每个第二目标数值删去9-N个特征值还原成N个原始连续栅格单元的值,并按照预设还原方式还原到N个原始栅格单元中;
步骤S206,判断是否遍历完所述目标栅格数据,若是,则执行步骤S207,若否,则返回步骤S203;
步骤S207,将所述原始栅格单元的值和原始栅格数据基本信息组织为原始栅格数据并存储;所述原始栅格单元的值为第一目标数值和/或第二目标数值。所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数。
优选地,所述依据预设提取方式生成的预设还原方式包括:
若预设提取方式为按每行提取,则预设还原方式为按每行还原;
若预设提取方式为按每列提取,则预设还原方式为按每列还原;
若预设提取方式为按整个栅格数据提取,则预设还原方式为按整个栅格数据还原。
优选地,步骤S203包括:
从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断当前目标栅格数据是否包含特征值,若是,则判定为第二目标数值,若否,则判定为第一目标数值。
本申请实施例还公开了一种栅格数据存储的装置,包括:
原始栅格数据获取模块,用于获取原始栅格数据,所述原始栅格数据包括原始栅格数据基本信息和原始栅格单元的值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数;
栅格单元提取模块,用于在所述K*L个栅格单元中依次从第一个未提取的原始栅格单元开始,按照预设提取方式提取9个连续原始栅格单元的值;
第一目标数值生成模块,用于采用第一目标数值代替所述9个连续原始栅格单元的值并存储在一个目标栅格单元中;所述第一目标数值为根据9个连续原始栅格单元的值生成的一个9位整数;所述存储包括将第一目标数值存储为4字节的int型;
第二目标数值生成模块,用于将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个的原始栅格单元的值并存储在一个目标栅格单元中;所述第二目标数值为根据所述N个连续原始栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述存储包括将第二目标数值存储为4字节的int型;
遍历判断模块,用于判断是否遍历完所述K*L个栅格单元,若是,则调用目标栅格数据存储模块;若否,则返回栅格单元提取模块;
目标栅格数据存储模块,用于将所述目标栅格单元的值和目标栅格数据的基本信息组织为目标栅格数据并存储;所述目标栅格单元的值为第一目标数值和/或第二目标数值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、栅格单元提取模块所述的预设提取方式及第二目标数值生成模块中所述的9-N个特征值。
本申请实施例还公开了一种栅格数据读取的装置,包括:
目标栅格数据读取模块,用于读取目标栅格数据,所述目标栅格数据包括目标栅格数据基本信息以及目标栅格单元的值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、预设提取方式及9-N个特征值;所述目标栅格单元的值包括第一目标数值和第二目标数值;所述第一目标数值为根据9个连续栅格单元的值生成的一个9位整数;所述第二目标数值为根据所述N个连续栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述第一目标数值和第二目标数值均存储为4字节的int型;
预设还原方式生成模块,用于依据预设提取方式生成预设还原方式;
目标数值判断模块,用于从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断是为第一目标数值或第二目标数值;若为第一目标数值,则调用第一目标数值还原模块,若为第二目标数值,则调用第二目标数值还原模块;
第一目标数值还原模块,用于将所述每个第一目标数值还原成9个连续原始栅格单元的值并按照预设还原方式还原到9个原始栅格单元中;
第二目标数值还原模块,用于将所述每个第二目标数值删去9-N个特征值还原成N个原始连续栅格单元的值并按照预设还原方式还原到N个原始栅格单元中;
遍历判断模块,用于判断是否遍历完所述目标栅格数据,若是,则调用原始栅格数据获取模块,若否,则返回目标数值判断模块;
原始栅格数据获取模块,用于将所述原始栅格单元的值和原始栅格数据基本信息组织为原始栅格数据并存储;所述原始栅格单元的值为第一目标数值和/或第二目标数值。所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数。
与现有技术相比,本申请包括以下优点:
第一,本申请对栅格数据中所有栅格单元的值都分布在0到9之间的整数的栅格数据,在原始栅格数据中依次提取9个连续栅格单元,采用占4字节的int型的第一目标数值替代所述9个连续原始栅格单元的值,这样原先需要9个字节的原始栅格数据,采用本申请4个字节即可存储,这样可以大大节省存储空间,而且在进行栅格数据备份时,可以用更少的资源存储同样的信息,充分利用了存储空间。
第二,若所取栅格单元为N不足9个,则补充9-N个特征值后产生第二目标数值代替所述9个连续原始栅格单元的值。这种情况下,原先需要9个字节的原始栅格数据,用4字节仍然可以存储。说明本申请不受栅格单元数的影响,在栅格单元不是9的倍数时仍然可以适用。
第三,对于存储空间较小的栅格文件,读写该栅格文件的操作也相应变少,可以提高栅格数据的处理效率。
第四,现在的GIS软件应用中,客户端一般都是需要通过网络获取远程服务器上的栅格数据,本申请可以用较少的数据量表达同样的栅格单元值信息,这样服务器端相应减少了给客户端的网络数据传输量,从而减少了服务器负担,提高了栅格数据的网络传输效率。
第五,在全球化的搜索引擎应用中,搜索引擎的总服务器位于一个国家,其他国家的服务器需要访问总服务器获取备份数据,采用本申请所述存储方法可以提高获取备份数据的效率,同时存储在本国服务器中也占用较少的存储空间,多个国家存储相同数据,采用本申请中所述存储方法也降低了存储成本。这样当客户端发出搜索信息的请求后,服务器端相应减少给客户端的网络数据传输量,有效改善搜索效率。如果未采用本申请所述方法存储数据,客户端系统一直在忙于等待接收服务器端的栅格数据,这样,系统性能必定下降。使用传统的按每栅格单元最小1字节存储方式,每传输9n个字节,在本申请提的新的方法下,相应的只需要传输4n个字节,大大降低网络传输量,提高系统响应速度,同样,数据量较少的栅格文件,读写文件操作将变少也会提高系统效率。
附图说明
图1是本申请实施例一种栅格数据存储的方法流程图;
图2是本申请实施例中原始栅格数据部分栅格单元的示意图;
图3是本申请对应图2实施例的栅格数据转换示意图;
图4是本申请对应图2实施例使用本申请处理后的部分目标栅格单元示意图;
图5是本申请实施例一种栅格数据读取的方法流程图;
图6是本申请对应图3实施例的栅格数据还原示意图;
图7是本申请实施例一种栅格数据存储的装置结构框图;
图8是本申请实施例一种栅格数据读取的装置结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的核心构思之一在于,针对一类特定类型的栅格数据,即所有栅格单元值都分布在0到9之间的整数的栅格数据,传统做法是,将每个栅格单元的数值用1字节的byte类型来保存,将所有的栅格单元数值写到一个文件中存数。本申请就是改进此类栅格数据的存储方法,对此栅格数据进行存储结构的重新设计,将原始栅格数据依次提取9个栅格单元的值,用占4字节的int型的第一目标数值替代,大大节省了存储空间。当所取栅格单元为N不足9个时,则补充9-N个特征值,用占4字节的int型第二目标数值替代。保证了本申请在栅格单元不是9的倍数时仍然可以适用。而且,原先需要9个字节的原始栅格数据,用4字节仍然可以存储。
以下实施例的描述中,都有本申请实施例
实施例一:
参照图1,示出了本申请一种栅格数据存储的方法实施例的步骤流程图,本申请针对一类特定类型的栅格数据,即所有栅格单元值都分布在0到9之间的整数的栅格数据(比如描述全国56个民族分布情况的栅格数据),本实施例具体可以包括如下步骤:
步骤S101,获取原始栅格数据;
所述原始栅格数据包括原始栅格数据基本信息和原始栅格单元的值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数;
图2原始栅格数据部分栅格单元的示意图。原始神栅格数据的每个栅格单元用byte类型来存储,即每个栅格单元用一字节的大小来存储;连续9个栅格单元,共需要9个字节来存储。
步骤S102,在所述K*L个栅格单元中依次从第一个未提取的原始栅格单元开始,按照预设提取方式提取9个连续原始栅格单元的值;
步骤S103,采用第一目标数值代替所述9个连续原始栅格单元的值并存储在一个目标栅格单元中;
所述第一目标数值为根据9个连续原始栅格单元的值生成的一个9位整数;所述存储包括将第一目标数值存储为4字节的int型;
在具体实现中,可以将所述9个连续原始栅格单元的值,按顺序从高位到低位排列得到一个9位整数;所述按顺序从高位到低位排列,包括:提取到的第一个栅格单元的值放在最高位,最后一个栅格单元的值放在最低位。
以图3为例,分别得到的9个栅格单元值为“3,4,5,7,0,2,5,6,9”,然后将得到的这9个数值,按顺序从高位到地位排列,即“345702569”,第1个栅格单元的值放在最高位,最后一个栅格单元的值放在最低的“个位”上,这样得到一个新的整数345702569。因为任意的9位数都在int类型的表达范围之内,所以我们用4字节的int类型来存储这个新的整数,即将该9位数345702569存储为4字节的int型。
这里需要说明的是,根据在32位或64位系统上,4字节的int所能表达的数值范围是-231至231-1,即-2147483648到2147483647。因此本申请中得到的任意9位数都在int类型的表达范围之内,所以我们用4字节的int类型来存储这个9位整数。在这种情况下,原先需要9字节存储空间的数据,现在只需要4字节的存储空间即可,在进行栅格数据备份时,可以充分利用存储资源,大大节省存储空间。
步骤S104,若提取到的连续原始栅格单元不足9个,则将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个原始栅格单元的值并存储在一个目标栅格单元中;所述第二目标数值为根据所述N个连续原始栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述存储包括将第二目标数值存储为4字节的int型;
步骤S105,判断是否遍历完所述K*L个栅格单元,若是,则执行步骤S106;若否,则返回步骤S102;
步骤S106,将所述目标栅格单元的值和目标栅格数据的基本信息组织为目标栅格数据并存储;所述目标栅格单元的值为第一目标数值和/或第二目标数值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、步骤S102中所述的预设提取方式及步骤S104中所述的9-N个特征值。
用本申请处理后的目标栅格数据部分栅格单元如图4所示。
应用本申请实施例,对原始栅格数据进行组装后再进行存储,可减少存储空间,尤其是对于原始栅格数据中,栅格单元的值大部分分布在0到9之间,并且分布很集中,其他范围数值为所占比重很小时,则可以很大程度的减少存储占用空间。比如全国范围内人口的民族分布情况,以数值0代表汉族,1代表壮族,2代表满族,...,在这种情况下,范围在0到9之间的数据占非常高的比重,也很集中,对这类数据应用本申请实施例能有效利用存储空间,节省栅格数据的存储空间,提高栅格数据的处理效率。
实施例二:
需要说明的是,本申请对提取栅格数据的具体顺序不做要求,只要能按顺序提取完所有的栅格单元就可以,可以按每行对原始栅格数据进行提取,也可以按每列对原始栅格数据进行提取,还可以按整个栅格数据提取,本申请对此不加限定。下面详细说明提取和解析的具体过程。
按每行对原始栅格数据进行提取时,假设栅格的列数为L列,行数为K行;对于每一行x(0<=x<=K),当L是9的倍数时候,每行处理后得到L/9个整数,第i(i>=0且i<=L/9-1,编号从0开始)个处理后的整数是由原栅格单元的第9*i个栅格单元到第9*(i+1)-1个栅格单元的共9个栅格单元连续排列构成一个新的int数值。如此循环处理,直到处理完这一整行的栅格单元。然后再处理下一行,直到处理完所有行的数据。当L不是9的倍数时,每行处理最后一定会剩下N个栅格单元,0<N<9。对此处理方法是:不足9个的补充特征值。所述特征值是0到9之间的整数。这里以0为例,当提取到不足9个栅格单元3、5、7、9、2,则可以补充4个0值栅格单元,最后补充所得的9个连续栅格单元为3、5、7、9、2、0、0、0、0。
与提取相对应的解析过程:当L是9的倍数时,获取原栅格单元的第j(j>=0且j<=L-1)个栅格单元的值办法:读第[j/9](符号[]表示j除9然后取最大整数)个int值,这肯定是个9位数,从左到右以编号1开始取其第(j%9+1)位的数字,即为此行的第j个栅格单元的值。当L不是9的倍数时,在解析时候最后一个整数的前L%9位数分别对应原栅格数据此行的的最后L%9个栅格单元值。
按每列处理时和按每行处理时类似,在此不作赘述。
按整个栅格数据提取时,一共K*L个栅格单元,把所有的行连接起来进行顺次处理,当K*L是9的倍数时,可以得到K*L/9个整数,第i(i>=0且i<=K*L/9-1,编号从0开始)个处理后的整数是由原栅格单元的第[(9*i)/L]行,第9*i-[(9*i)/L]*L列栅格单元开始起,连续9个栅格单元按顺序排列得到一个9位的int型整数。当K*L不是9的倍数时,把所有的行“串”起来,从第一个栅格单元开始,每9个原始栅格单元的值生成一个9位整数,直到整个栅格单元数据的最后几个栅格单元,再按缺少的补充特征的方法进行处理。
与提取相对应的解析过程:当K*L是9的倍数时,获取原栅格单元的第i行((0<=i<=K-1)第j列(j>=0且j<=L-1)个栅格单元的值办法:读处理后的第[(i*L+j)/9]个整数,这是个9位的整数,从左到右,编号从1开始,取其第((i*L+j)%9+1)位数字,即为此原栅格单元的值。当K*L不是9的倍数时,可以得到[K*L/9]+1个整数,其前[K*L/9]个整数的读取与当K*L=9的倍数时候相同处理方法,只有最后一个整数,在写的时候需要最后补充(9-K*L%9)个0以凑够9位;在解析时候最后一个整数的前K*L%9位数分别对应原栅格数据的最后K*L%9个栅格单元值。
实施例三:
以实际项目中的全国地形地貌栅格数据为例,按本申请所述的方法与其他方法生成的栅格数据比较:在全国范围内,同一分辨率为30米的条件下,栅格象素大小为161360*134724的栅格单元中以0到9的值分别代表各种山地,平原的地貌类型。在这种情况下,若采用普通的每个栅格单元用byte类型来存储数据的栅格数据组织方法,则需要的存储空间约为20.25Gb,如果采用本申请所述的方法进行组装存储,则需要的存储空间约为9Gb,节省了11Gb的存储空间,使用约原先一半的存储资源即可存储同样的栅格单元信息,这样不但节省了存储空间,减少了文件读写的数据量,同时也减少了栅格数据的网络传输量,大大提高了系统的性能及用户体验感。
需要说明的是,本申请之所以限制栅格单元的是指,是因为4字节的int型所能表达的数值范围为-2147483648到2147483647,如果栅格单元的值有取值为10的,此时将连续9个栅格单元的值连在一起得到的就不是9位数,并且这个值很可能不在int范围内,也就是大于2147483647。例如,这样的9个栅格单元值10,10,10,10,10,9,9,9,9;连在一起得到“10101010109999”,显然这个数已经超过int的最大值2147483647。但是,如果栅格单元的值在0到9范围之间,任意取9个连续栅格单元并连在一起,并且得到的值绝对不大于2147483647。显然最大的也就是这样的9个连续的栅格单元“9,9,9,9,9,9,9,9,9”,依然可以连在一起,得到“999999999”,而且它明显小于2147483647,所以可行。故本申请实施例仅针对一类特定类型的栅格数据,即所有栅格单元值都分布在0到9之间的整数的栅格数据。显然本申请同样适用于栅格单元的值在[0,8],[0,7],[0,6],[0,5],[0,4],[0,3],[0,2],[0,1]范围内的整数,因为在上述范围内的连续9个栅格单元的值组成的9位数在4字节的int型所能表达的范围内。
需要进一步说明的是,在32位计算机系统上,按本专利方法,可以将普通的9字节减少到只需要4字节;还有一种理论上可行的最小内存布局方式,即以二进制位相连,取代普通的每个栅格单元用1字节相连。数值9需要4位二进制来表示,所以,4字节的32位最可存储8个栅格单元,弱于本专利提出的方法,而且,以4位二进制将8个连续的栅格单元处理成一个新的4字节大整数,存取复杂度远高于本方法。除此之外,理论上没有比本方法更节省存储空间的方法了。
实施例四:
参照图5,示出了本申请的一种栅格数据读取的方法实施例的步骤流程图,本实施例具体可以包括如下步骤:
步骤S201,读取目标栅格数据,所述目标栅格数据包括目标栅格数据基本信息以及目标栅格单元的值;
所述目标栅格数据的基本信息包括原始栅格数据基本信息、预设提取方式及9-N个特征值;所述目标栅格单元的值包括第一目标数值和第二目标数值;所述第一目标数值为根据9个连续栅格单元的值生成的一个9位整数;所述第二目标数值为根据所述N个连续栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述第一目标数值和第二目标数值均存储为4字节的int型;
步骤S202,依据预设提取方式生成预设还原方式;
所述依据预设提取方式生成的预设还原方式包括:
若预设提取方式为按每行提取,则预设还原方式为按每行还原;
若预设提取方式为按每列提取,则预设还原方式为按每列还原;
若预设提取方式为按整个栅格数据提取,则预设还原方式为按整个栅格数据还原;
例如,目标栅格数据为“345702569”,预设提取方式是按每行提取,则对应的预设还原方式是按每行还原,即将目标栅格数据还原为一行,具体还原结果参见图6.
步骤S203,从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断是否第一目标数值或第二目标数值;若为第一目标数值,则执行步骤S204,若为第二目标数值,则执行步骤S205;
在本申请的一种优选实施例中,所述步骤S203可以包括:
从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断当前目标栅格数据是否包含特征值,若是,则判定为第二目标数值,若否,则判定为第一目标数值。
步骤S204,将所述每个第一目标数值还原成9个连续原始栅格单元的值并按照预设还原方式还原到9个原始栅格单元中;
步骤S205,将所述每个第二目标数值删去9-N个特征值还原成N个原始连续栅格单元的值并按照预设还原方式还原到N个原始栅格单元中;
例如,所述第二目标数值为365780000,当读取到的特征值为9-5即特征为4个时,还原后对应的原始栅格数据为3,6,5,7,8。当读取到的特征值为9-7即特征为2个时,还原后对应的原始栅格数据为3,6,5,7,8,0,0.
步骤S206,判断是否遍历完所述目标栅格数据,若是,则执行步骤S207,若否,则返回步骤S203;
步骤S207,将所述原始栅格单元的值和原始栅格数据基本信息组织为原始栅格数据并存储;所述原始栅格单元的值为第一目标数值和/或第二目标数值。所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
实施例五:
在GIS广泛应用于各个行业形式下,越来越多的系统都涉及到分类型栅格数据的处理,非常适合使用本申请进行存取处理,下面以搜索引擎Google为例进行说明。
Google的总部在加利福尼亚,其他国家的服务器访问的是本国的服务器,但是本国服务器需要访问总部的服务器获得备份数据。采用本申请提供的存储方法,原先占用9字节存储空间的数据现在只需要4字节就可以存储,这样大大减少了存储空间。当各国服务器访问总部服务器时,采用本申请所述的方法,由于访问的数据存储空间减少,所以相应的访问时间也会减少,同时备份数据进行远程传输的速率加快,提高了数据远程传输的效率,提高了数据服务的质量。
当各国服务器都选用本申请所述方法存储备份数据后,数据备份节省了大量空间,客户端进行搜索时,通过访问本国服务器,本国服务器提供给客户端的数据存储量也相应减少,这样加快了搜索响应的时间,大大加快了搜索结果数据的传输。使用传统的按每栅格单元最小1字节存储方式,每传输9n个字节,在本申请提的新的方法下,相应的只需要传输4n个字节,大大降低网络传输量,提高系统响应速度,同样,数据量较少的栅格文件,读写文件操作将变少,读取相同数据量36n个字节的的栅格文件,传统方法需要读取9次,使用本申请所述方法只需要读取4次,这样减少了读写文件的操作次数,避免了不必要的读取操作,同时提高了系统效率。
最后,需要补充说明的是现在的GIS软件应用中,客户端一般都是需要通过网络获取远程服务器上的栅格数据,这样,对栅格数据,用越少的数据量表达越多的栅格单元值信息,就意味着服务器端可以减少给客户端的网络数据传输量,从而有效的改善用户的体验感。相反,客户端系统一直在忙于等待接受服务器端的栅格数据,这样,系统性能必定下降。使用传统的按每栅格单元最小1字节存储方式,每传输9n个字节,在本专利提的新的方法下,相应的只需要传输4n个字节,大大降低网络传输量,提高系统响应速度,同样,数据量较少的栅格文件,读写文件操作将变少也会提高系统效率。
实施例六:
参照图7,示出了本申请的一种栅格数据存储的装置实施例的结构框图,本实施例具体可以包括如下模块:
原始栅格数据获取模块301,用于获取原始栅格数据,所述原始栅格数据包括原始栅格数据基本信息和原始栅格单元的值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数;
栅格单元提取模块302,用于在所述K*L个栅格单元中依次从第一个未提取的原始栅格单元开始,按照预设提取方式提取9个连续原始栅格单元的值;
第一目标数值生成模块303,用于采用第一目标数值代替所述9个连续原始栅格单元的值并存储在一个目标栅格单元中;所述第一目标数值为根据9个连续原始栅格单元的值生成的一个9位整数;所述存储包括将第一目标数值存储为4字节的int型;
第二目标数值生成模块304,用于将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个的原始栅格单元的值并存储在一个目标栅格单元中;所述第二目标数值为根据所述N个连续原始栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述存储包括将第二目标数值存储为4字节的int型;
遍历判断模块305,用于判断是否遍历完所述K*L个栅格单元,若是,则调用目标栅格数据存储模块306;若否,则返回栅格单元提取模块302;
目标栅格数据存储模块306,用于将所述目标栅格单元的值和目标栅格数据的基本信息组织为目标栅格数据并存储;所述目标栅格单元的值为第一目标数值和/或第二目标数值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、栅格单元提取模块所述的预设提取方式及第二目标数值生成模块中所述的9-N个特征值。
对于图7所示的装置实施例而言,由于其与图1所示的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
实施例七:
参照图8,示出了本申请的一种栅格数据读取的装置实施例的结构框图,本实施例具体可以包括如下模块:
目标栅格数据读取模块401,用于读取目标栅格数据,所述目标栅格数据包括目标栅格数据基本信息以及目标栅格单元的值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、预设提取方式及9-N个特征值;所述目标栅格单元的值包括第一目标数值和第二目标数值;所述第一目标数值为根据9个连续栅格单元的值生成的一个9位整数;所述第二目标数值为根据所述N个连续栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述第一目标数值和第二目标数值均存储为4字节的int型;
预设还原方式生成模块402,用于依据预设提取方式生成预设还原方式;
目标数值判断模块403,用于从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断是为第一目标数值或第二目标数值;若为第一目标数值,则调用第一目标数值还原模块,若为第二目标数值,则调用第二目标数值还原模块;
在本申请的一种优选实施例中,所述目标数值判断模块403包括:
判断子模块4031,用于依次解析所述目标栅格数据中的栅格单元值,判断当前的栅格单元值是否包含特征值,若是,则判定为目第二目标数值,若否,则判定为第一目标数值。
第一目标数值还原模块405,用于将所述每个第一目标数值还原成9个连续原始栅格单元的值并按照预设还原方式还原到9个原始栅格单元中;
第二目标数值还原模块406,用于将所述每个第二目标数值删去9-N个特征值还原成N个原始连续栅格单元的值并按照预设还原方式还原到N个原始栅格单元中;
遍历判断模块407,用于判断是否遍历完所述目标栅格数据,若是,则调用原始栅格数据获取模块408,若否,则返回目标数值判断模块403;
原始栅格数据获取模块408,用于将所述原始栅格单元的值和原始栅格数据基本信息组织为原始栅格数据并存储;所述原始栅格单元的值为第一目标数值和/或第二目标数值。所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数。
对于图8所示的装置实施例而言,由于其与图6所示的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。以上对本申请所提供的一种栅格数据的存储、读取方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种栅格数据的存储方法,其特征在于,包括:
步骤S101,获取原始栅格数据,所述原始栅格数据包括原始栅格数据基本信息和原始栅格单元的值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数;
步骤S102,在所述K*L个栅格单元中依次从第一个未提取的原始栅格单元开始,按照预设提取方式提取9个连续原始栅格单元的值;
判断提取到的连续原始栅格单元是否足够9个,若是,则执行步骤S103,否则执行步骤S104;
步骤S103,采用第一目标数值代替所述9个连续原始栅格单元的值并存储在一个空的目标栅格单元中;所述第一目标数值为根据9个连续原始栅格单元的值生成的一个9位整数;所述存储包括将第一目标数值存储为4字节的int型;
步骤S104,若提取到的连续原始栅格单元不足9个,则将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个的原始栅格单元的值并存储在一个空的目标栅格单元中;所述第二目标数值为根据所述N个连续原始栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述存储包括将第二目标数值存储为4字节的int型;
步骤S105,判断是否遍历完所述K*L个栅格单元,若是,则执行步骤S106;若否,则返回步骤S102;
步骤S106,将所述目标栅格单元的值和目标栅格数据的基本信息组织为目标栅格数据并存储;所述目标栅格单元的值为第一目标数值和/或第二目标数值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、步骤S102中所述的预设提取方式及步骤S104中所述的9-N个特征值。
2.根据权利要求1所述的方法,其特征在于,所述预设提取方式包括:
按每行或每列提取;
所述按每行提取包括从左到右或从右到左提取;若每行最后提取到的连续原始栅格单元不足9个,则执行步骤S104;
所述按每列提取包括从上到下或从下到上提取;每列最后提取到的连续原始栅格单元不足9个,则执行步骤S104。
3.根据权利要求1所述的方法,其特征在于,所述预设提取方式包括:
按整个栅格数据提取;所述按整个栅格数据提取包括把所有的行连接起来进行顺次提取;整个栅格数据的最后几个连续栅格单元不足9个,则执行步骤S104。
4.根据权利要求1所述的方法,其特征在于,所述步骤S103中根据9个连续原始栅格单元的值生成一个9位整数包括:
将所述9个连续原始栅格单元的值,按顺序从高位到低位排列得到一个9位整数;
所述按顺序从高位到低位排列,包括:提取到的第一个栅格单元的值放在最高位,最后一个栅格单元的值放在最低位。
5.根据权利要求1所述的方法,其特征在于,所述特征值为0到9之间的整数。
6.一种栅格数据的读取方法,其特征在于,包括:
步骤S201,读取目标栅格数据,所述目标栅格数据包括目标栅格数据基本信息以及目标栅格单元的值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、预设提取方式及9-N个特征值;所述目标栅格单元的值包括第一目标数值和第二目标数值;所述第一目标数值为根据9个连续栅格单元的值生成的一个9位整数;所述第二目标数值为根据所述N个连续栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述第一目标数值和第二目标数值均存储为4字节的int型;
步骤S202,依据预设提取方式生成预设还原方式;
步骤S203,从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断是否第一目标数值或第二目标数值;若为第一目标数值,则执行步骤S204,若为第二目标数值,则执行步骤S205;
步骤S204,将所述每个第一目标数值还原成9个连续原始栅格单元的值,并按照预设还原方式还原到9个原始栅格单元中;
步骤S205,将所述每个第二目标数值删去9-N个特征值还原成N个原始连续栅格单元的值,并按照预设还原方式还原到N个原始栅格单元中;
步骤S206,判断是否遍历完所述目标栅格数据,若是,则执行步骤S207,若否,则返回步骤S203;
步骤S207,将所述原始栅格单元的值和原始栅格数据基本信息组织为原始栅格数据并存储;所述原始栅格单元的值为第一目标数值和/或第二目标数值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数。
7.根据权利要求6所述的方法,其特征在于,
所述依据预设提取方式生成的预设还原方式包括:
若预设提取方式为按每行提取,则预设还原方式为按每行还原;
若预设提取方式为按每列提取,则预设还原方式为按每列还原;
若预设提取方式为按整个栅格数据提取,则预设还原方式为按整个栅格数据还原。
8.根据权利要求6所述的方法,其特征在于,步骤S203包括:
从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断当前目标栅格数据是否包含特征值,若是,则判定为第二目标数值,若否,则判定为第一目标数值。
9.一种特殊分类型栅格数据的存储装置,其特征在于,包括:
原始栅格数据获取模块,用于获取原始栅格数据,所述原始栅格数据包括原始栅格数据基本信息和原始栅格单元的值;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数;
栅格单元提取模块,用于在所述K*L个栅格单元中依次从第一个未提取的原始栅格单元开始,按照预设提取方式提取9个连续原始栅格单元的值;
判断模块,用于判断提取到的连续原始栅格单元是否足够9个,若是, 则触发第一目标数值生成模块,否则触发第二目标数值生成模块;
第一目标数值生成模块,用于采用第一目标数值代替所述9个连续原始栅格单元的值并存储在一个空的目标栅格单元中;所述第一目标数值为根据9个连续原始栅格单元的值生成的一个9位整数;所述存储包括将第一目标数值存储为4字节的int型;
第二目标数值生成模块,用于将不足9个连续原始栅格单元的栅格单元数记为N,采用第二目标数值代替所述N个的原始栅格单元的值并存储在一个空的目标栅格单元中;所述第二目标数值为根据所述N个连续原始栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述存储包括将第二目标数值存储为4字节的int型;
遍历判断模块,用于判断是否遍历完所述K*L个栅格单元,若是,则调用目标栅格数据存储模块;若否,则返回栅格单元提取模块;
目标栅格数据存储模块,用于将所述目标栅格单元的值和目标栅格数据的基本信息组织为目标栅格数据并存储;所述目标栅格单元的值为第一目标数值和/或第二目标数值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、栅格单元提取模块所述的预设提取方式及第二目标数值生成模块中所述的9-N个特征值。
10.一种特殊分类型栅格数据的读取装置,其特征在于,包括:
目标栅格数据读取模块,用于读取目标栅格数据,所述目标栅格数据包括目标栅格数据基本信息以及目标栅格单元的值;所述目标栅格数据的基本信息包括原始栅格数据基本信息、预设提取方式及9-N个特征值;所述目标栅格单元的值包括第一目标数值和第二目标数值;所述第一目标数值为根据9个连续栅格单元的值生成的一个9位整数;所述第二目标数值为根据所述N个连续栅格单元的数值补充9-N个特征值后生成的一个9位整数;所述第一目标数值和第二目标数值均存储为4字节的int型;
预设还原方式生成模块,用于依据预设提取方式生成预设还原方式;
目标数值判断模块,用于从第一个未解析的目标栅格数据开始依次解析所述目标栅格数据中的栅格单元值,判断是为第一目标数值或第二目标数 值;若为第一目标数值,则调用第一目标数值还原模块,若为第二目标数值,则调用第二目标数值还原模块;
第一目标数值还原模块,用于将所述每个第一目标数值还原成9个连续原始栅格单元的值并按照预设还原方式还原到9个原始栅格单元中;
第二目标数值还原模块,用于将所述每个第二目标数值删去9-N个特征值还原成N个原始连续栅格单元的值并按照预设还原方式还原到N个原始栅格单元中;
遍历判断模块,用于判断是否遍历完所述目标栅格数据,若是,则调用原始栅格数据获取模块,若否,则返回目标数值判断模块;
原始栅格数据获取模块,用于将所述原始栅格单元的值和原始栅格数据基本信息组织为原始栅格数据并存储;所述原始栅格单元的值为第一目标数值和/或第二目标数值 ;所述原始栅格数据基本信息为:原始栅格数据包括K*L个栅格单元;其中,所述K为行,L为列;所述原始栅格单元的值都是分布在0到9之间的整数。
CN201210291599.XA 2012-08-15 2012-08-15 一种栅格数据的存储、读取方法及装置 Active CN102867023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210291599.XA CN102867023B (zh) 2012-08-15 2012-08-15 一种栅格数据的存储、读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210291599.XA CN102867023B (zh) 2012-08-15 2012-08-15 一种栅格数据的存储、读取方法及装置

Publications (2)

Publication Number Publication Date
CN102867023A CN102867023A (zh) 2013-01-09
CN102867023B true CN102867023B (zh) 2015-06-17

Family

ID=47445892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210291599.XA Active CN102867023B (zh) 2012-08-15 2012-08-15 一种栅格数据的存储、读取方法及装置

Country Status (1)

Country Link
CN (1) CN102867023B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530413B (zh) * 2013-10-28 2017-05-10 北京国双科技有限公司 数据处理方法和装置
CN107992555B (zh) * 2017-11-28 2021-08-24 鲁东大学 一种栅格数据的存储及读取方法
CN107977427B (zh) * 2017-11-28 2021-08-24 鲁东大学 一种分类型栅格数据的存储及读取方法
CN111409078B (zh) * 2020-05-15 2021-06-11 北京创想智控科技有限公司 一种焊接控制方法、装置及设备、可读存储介质
CN112527929B (zh) * 2020-10-20 2023-12-08 深圳银星智能集团股份有限公司 一种栅格地图编码方法及其装置、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0972259B1 (de) * 1997-04-09 2001-09-26 Data Square Corporation Verfahren zur reduzierung des speicherbedarfs und aufbau einer datenbank
WO2002065402A1 (de) * 2001-02-09 2002-08-22 Vodafone Ag Geographisches informationssystem mit rasterdatensatz
CN102508853A (zh) * 2011-09-28 2012-06-20 北京地拓科技发展有限公司 一种填充栅格数据的方法及系统
CN102609329A (zh) * 2011-12-30 2012-07-25 北京地拓科技发展有限公司 一种读写远程服务器上栅格数据的方法及存储管理系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0972259B1 (de) * 1997-04-09 2001-09-26 Data Square Corporation Verfahren zur reduzierung des speicherbedarfs und aufbau einer datenbank
WO2002065402A1 (de) * 2001-02-09 2002-08-22 Vodafone Ag Geographisches informationssystem mit rasterdatensatz
CN102508853A (zh) * 2011-09-28 2012-06-20 北京地拓科技发展有限公司 一种填充栅格数据的方法及系统
CN102609329A (zh) * 2011-12-30 2012-07-25 北京地拓科技发展有限公司 一种读写远程服务器上栅格数据的方法及存储管理系统

Also Published As

Publication number Publication date
CN102867023A (zh) 2013-01-09

Similar Documents

Publication Publication Date Title
CN102867023B (zh) 一种栅格数据的存储、读取方法及装置
CN101661391B (zh) 一种对象序列化方法、对象反序列化方法、装置及系统
CN101512526B (zh) 动态片段映射
CN102411616B (zh) 一种数据存储方法和系统及数据管理方法
CN102446139B (zh) 一种数据存储方法及装置
CN110825733B (zh) 一种面向多采样流的时间序列数据管理方法及系统
CN103870492A (zh) 一种基于键排序的数据存储方法和装置
CN103778135A (zh) 一种实时数据的分布存储和分页查询方法
CN108021333B (zh) 随机读写数据的系统、装置及方法
CN104462141A (zh) 一种数据存储与查询的方法、系统及存储引擎装置
CN107992492B (zh) 一种数据区块的存储方法、读取方法、其装置及区块链
CN102880615A (zh) 一种数据存储方法和装置
CN109271449A (zh) 一种基于文件的分布式存储查询系统及查询方法
CN103002061A (zh) 一种长域名与短域名互相转化的方法及装置
CN105354236A (zh) 一种对账信息生成方法及系统
CN106294825A (zh) 一种excel数据管理方法及系统、客户端、服务端
CN101770367A (zh) .net文件压缩方法和装置
CN100410945C (zh) 一种实现论坛的方法及系统
CN101540785A (zh) 基于iptv系统的网页访问方法、终端和服务平台
CN103425694A (zh) 关系型数据的搜索方法和装置
CN101369953B (zh) 一种字库的网络分发方法及系统
CN111124313A (zh) 电力采集终端数据读写方法、装置和电子设备
CN108243207A (zh) 一种网络云盘的数据存储方法
CN104750743A (zh) 一种交易文件勾对系统和方法
CN107436848B (zh) 一种实现用户数据和压缩数据间转换的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant