CN101719148B - 三维空间信息的存储方法、装置、系统及查询系统 - Google Patents
三维空间信息的存储方法、装置、系统及查询系统 Download PDFInfo
- Publication number
- CN101719148B CN101719148B CN2009102382620A CN200910238262A CN101719148B CN 101719148 B CN101719148 B CN 101719148B CN 2009102382620 A CN2009102382620 A CN 2009102382620A CN 200910238262 A CN200910238262 A CN 200910238262A CN 101719148 B CN101719148 B CN 101719148B
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- sub
- module
- spatial information
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种三维空间信息的存储方法、装置、系统及查询系统,其中存储方法包括抽取数据,按照预设的分辨率对通用格式的三维空间数据进行数据抽取,将抽取数据划分为数个规则的子数据块;散列数据,采用基于空间关系的散列函数对子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值;存储数据,按照散列值将对应的子数据块逐个存储,得到散列文件集。本发明提供的三维空间信息的存储方法在数据散列过程中,对抽取数据按小区域进行划分,并根据分辨率不同,保留多个数据备份,在进行数据服务时,不需实时的数据抽取,直接请求所需要的数据进行下载,有效减小了服务器的运算负载,提高了系统的反应速度。
Description
技术领域
本发明涉及地理信息系统技术领域,特别地,涉及一种三维空间信息的存储方法、装置、系统及查询系统。
背景技术
网络地理信息系统(Geographic Information System,GIS)服务,尤其是网络三维GIS服务是目前GIS开发的主流和发展方向,大众对这种服务的需求也越来越大,越来越多的三维GIS功能以网络服务的形式向企业和公众用户提供。与传统的网络服务不同,三维GIS网络服务伴随着海量的空间数据和相关属性数据,这些服务不仅涉及到广大的地理范围,如一个城市,一个省或地区的数据,而且还深入涉及到各行各业,其包含的数据类型有地形、影像,矢量,模型,属性,纹理,声音,文字,多媒体等,数据量非常大。在网络技术日益成熟的情况下,数据组织及其调度效率,即采用何种方式,对这种海量的数据进行组织和调度,以使其能够快速高效的为大众获取,是目前网络三维GIS服务的难题。
现有技术一般使用通用数据格式,以集合的形式统一管理上述数据。为了节约存储资源,一般只在服务器上保留一份代表较大地理范围的最高分辨率的数据,这里称为地图区域,其代表的地理范围一般以一个区域为一个整体。在为用户提供数据服务时,实时的根据用户请求显示区域的大小和分辨率要求进行数据抽取,上述显示区域可能是完整的地图区域范围,也有可能是上述整个地图区域的某一局部。
由于现有技术中的GIS服务器提供数据服务时,用户往往需要的显示区域不是整个地图区域的数据,而是一个小范围内的某一分辨率下的数据。因此在现有技术下,服务器需要调度上述整个地图区域的详细数据,即代表整个大区域的最高分辨率的数据,再根据显示区域的请求参数来抽取出用户需要的数据。这样服务器就有一个复杂的计算过程,需要一定的资源和计算时间。当请求比较多时,这种方式的反应速度就会很慢,甚至造成服务器的瘫痪。
为了节约用户所需数据的检索时间,现有技术采用在服务器上保留一份最高分辨率的数据,同时为该数据建立相应的索引表。如果有数据服务的需求,则首先根据需求在索引表中检索相应的信息,然后再从上述最高分辨率的数据文件中抽取相应的数据。
上述利用索引表检索数据的方式虽然有效节约了用户所需数据的检索时间,但是其不足之处在于:索引表本身会占用一定的存储空间,同时索引表也是需要维护的。由于一个地图区域的地理范围一般比较大,所以其对应的最高分辨率的数据文件也比较大,索引表对应的文件就也比较大,即索引表很复杂,因而占用较大的空间。由于索引表文件比较大,故在检索数据对象时也会花较多的时间,同时,对索引表的维护也比较复杂。
另外,由于一个地图区域的地理范围对应的最高分辨率的数据是一个整体,很难进行划分,因此进行分布式管理比较困难,因而繁重的负载往往集中在一台服务器上,同样会造成服务器反应速度慢,甚至是服务器瘫痪,无法发挥多服务器分布式服务的优势。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何提供一种三维空间信息数据的存储方法和系统,以提高三维空间信息系统中服务器的反应速度进而提高显示区域数据的查询效率。
发明内容
本发明所要解决的技术问题是提供一种三维空间信息的存储方法、装置、系统及查询系统,能够有效提高三维空间信息系统中服务器的反应速度,进而提高用户所需显示区域数据的调度效率。
为了解决上述问题,本发明公开了一种三维空间信息的存储方法,该方法由计算机执行,包括:抽取数据,按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;划分数据块,将上述抽取数据划分为数个规则的子数据块;散列数据,采用基于空间关系的散列函数对上述子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值,该散列值代表上述子数据块的存放地址;存储数据,按照上述散列值将对应的子数据块逐个存储,得到散列文件集。
优选的,上述存储数据步骤还包括:将上述散列文件集按分布式策略进行划分,获得至少两个散列文件子集;将上述散列文件子集分散布局到至少两个服务器节点上进行存储。
优选的,上述存储方法还包括:依据服务请求频率将客户请求服务所需的散列文件数据进行排序;对请求频率高的散列文件数据进行缓存处理。
优选的,上述对请求频率高的散列文件数据进行缓存,具体为:对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
相应的,本发明还提供了针对上述三维空间信息存储方法的存储装置,包括:数据抽取模块,用于按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;数据划分模块,用于将上述抽取数据划分为数个规则的子数据块;数据散列模块,采用基于空间关系的散列函数对上述子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值,上述散列值代表所述子数据块的存放地址;数据存储模块,用于按照上述数据散列模块输出的散列值将对应的子数据块逐个存储,得到散列文件集。
优选的,上述存储装置还包括:排序模块,用于依据服务请求频率将客户请求服务所需的散列文件数据进行排序;缓存模块,用于对请求频率高的散列文件数据进行缓存处理。
优选的,上述缓存模块缓存散列文件数据时采用以下缓存更新机制:对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
进一步,本发明实施例还提供了一种三维空间信息的存储系统,包括主服务器和节点服务器,其中,上述主服务器包括:数据抽取模块,用于按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;数据划分模块,用于将上述抽取数据划分为数个规则的子数据块;数据散列模块,采用基于空间关系的散列函数对上述子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值,上述散列值代表所述子数据块的存放地址;数据存储模块,用于按照上述数据散列模块输出的散列值将对应的子数据块逐个存储,得到散列文件集;分布式运算模块,用于将上述散列文件集按分布式策略进行划分,得到至少两个散列文件子集;分配模块,用于将上述分布式运算模块获得的至少两个散列文件子集分散布局到至少两个节点服务器上进行存储;
每个上述节点服务器包括:数据库模块,用于存储上述分配模块分配的散列文件子集。
优选的,上述节点服务器还包括:请求排序模块,用于依据服务请求频率将客户请求服务所需的散列文件数据进行排序;缓存模块,用于缓存请求频率高的散列文件数据。
优选的,上述缓存模块缓存散列文件数据时采用以下缓存更新机制:
对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;
对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
最后,本发明实施例还提供了一种包括上述任一存储系统的三维空间信息的查询系统,还包括客户端,其中:上述客户端通过网络与上述主服务器和节点服务器通信,用于请求主服务器进行三维空间信息查询。
与现有技术相比,本发明具有以下优点:
采用本发明实施例提供的三维空间信息的存储方法由于在数据散列的过程中,对抽取数据按小区域进行了切割,并根据分辨率不同,保留了多个数据备份,在进行数据服务时,不需要实时的数据抽取,而是直接请求所需要的数据进行下载,有效减小了服务器的运算负载,提高了系统的反应速度,进而提高了服务效率。
附图说明
图1是本发明三维空间信息的存储方法实施例一的示意图;
图2是本发明三维空间信息的存储方法第一优选实施例示意图;
图3是本发明实施例一数据散列的结果示意图;
图4是本发明三维空间信息的存储方法实施例二的示意图;
图5是本发明三维空间信息的存储方法第二优选实施例示意图;
图6是本发明实施例二数据散列的结果示意图;
图7是本发明三维空间数据的存储装置实施例的示意图;
图8是本发明三维空间数据的存储系统实施例的示意图;
图8-A是本发明系统实施例中主服务器的结构示意图;
图8-B是本发明系统实施例中节点服务器的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于:利用地理信息的三维空间特性,通过构建散列函数来表示地块、地物或模型等的空间位置(即现实空间的三维坐标)与其存储位置之间的映射关系,实现海量地理信息的散列存储。
在介绍本发明实施例之前,首先了解一下地图区域、显示区域和分辨率三者之间关系。在以下的实施例中,地图区域是指一个地图要表达的某一地域范围的信息;显示区域是指用户所需要的显示区域,这个区域可能是完整的地图区域,也可能是上述整个地图区域的某一局部;分辨率是指数据的详细程度。对于同一地图区域的三维空间地理信息,分辨率越小则对应的数据量就越小,即三维空间数据的详细程度就越低;反之,分辨率越大则数据量越大,三维空间数据的详细程度就越高。显示区域或地图区域越大且分辨率越低,数据的详细程度就越低,数据量就越小。
参照图1,示出了本发明三维空间信息的存储方法实施例一的示意图,该方法由计算机执行,包括:
步骤11、抽取数据,按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;
具体为,根据不同的分辨率对整个地图区域进行数据抽取,得到不同的抽取数据。每个抽取数据代表上述预设分辨率下的整个地图区域。即,该步骤中,抽取制作后得到的数据与原来没有进行抽取前的数据的覆盖范围是相同的,只是地图的信息详细程度有差别。
步骤12、划分数据,将上述抽取数据划分为数个规则的子数据块;其中,每个子数据块代表上述地图区域中的局部范围信息,包括三维坐标和分辨率信息。每个子数据块的数据量都比较小。
步骤13、散列数据,采用基于空间关系的散列函数对上述子数据块进行散列操作,得到散列值。
上述散列函数用于找到子数据块与数据存放地址之间的映射关系。经过数据散列操作后,每一个子数据块对应一个散列值,该散列值代表对应子数据块的存放地址。
具体为,以上述每个子数据块的坐标参数和分辨率为散列函数的输入,计算上述子数据块散列后的存放地址。其中,上述坐标参数为三维空间坐标,表示物体在三维空间中的位置。
步骤15、存储数据,按上述散列值将对应的子数据块逐个存储,得到散列文件集。具体为将步骤12得到的子数据块按照步骤13得到的散列值存储到服务器的相应位置,全部存储后得到散列文件集。
参照图2,作为本发明三维空间信息的存储方法第一优选实施例,除包括步骤11-15外,还可以包括:
步骤18、依据服务请求频率将客户请求服务所需的散列文件数据进行排序;
步骤19、对请求频率高的散列文件数据进行缓存处理。
优选地,在上述缓存步骤19中,根据数据需要更新的频率,采用不同的缓存机制,具体为:
对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;
对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
即,如果数据为经常需要更新的数据,则使用数据引用更新机制进行缓存,如果数据为不需要经常更新的数据,可以使用数据拷贝更新机制进行缓存。
上述第一优选实施例相较于实施例一,增加了对请求频率比较高的散列文件数据采用缓存机制;进一步,依据数据需要更新的情况,采用不同的缓存更新机制进行缓存的处理方法,有效提高了系统的反应速度。
参照图3,示出了本发明实施例一数据散列的结果示意图。从图上可以看出,通过散列,为三维GIS服务提供一系列小的、具有不同分辨率的、可实时下载的数据块,这些数据块是三维GIS高效服务的基础。该图显示的是数据量比较小的情况,散列后的散列文件存储于服务器的相应存储位置即可。
对于数据量比较大的情况,本发明实施例采用分布式布局对上述步骤15获得的散列文件进一步组织。具体参见图4所示的本发明三维空间信息的存储方法实施例二的示意图。包括:
步骤11、抽取数据,按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;
步骤12、划分数据块,将上述抽取数据划分为数个规则的子数据块;
步骤13、散列数据,采用基于空间关系的散列函数对上述子数据块进行散列操作,得到散列值;
上述散列值代表对应子数据块的存放地址。
步骤15、存储数据,按照上述散列值将对应的子数据块逐个存储,得到散列文件集;
步骤16、将上述散列文件集按分布式策略进行划分,获得至少两个散列文件子集;
具体为:按照一定的划分依据,将步骤15获得的散列文件集划分为至少两份散列文件子集。上述划分依据需要根据数据服务的类型和客户可能访问的具体情况而定,可以是数据类型、服务请求频率或显示区域等其中的一种,或多种因素的组合。例如,可以仅凭数据类型将步骤15得到的散列文件集划分成多份散列文件子集;也可以按照数据类型+请求频率情况将步骤15得到的散列文件集划分成多份散列文件子集,其它情况此处不再举例说明。
步骤17、将上述散列文件子集分散布局到至少两个服务器节点上进行存储。
参照图5,示出了本发明三维空间信息的存储方法第二优选实施例,除包括上述步骤11-17外,还可以包括:
步骤18、依据服务请求频率将客户请求服务所需的散列文件数据进行排序;
步骤19、对请求频率高的散列文件数据进行缓存。
优选地,在上述缓存步骤19中,根据数据需要更新的频率,采用不同的缓存机制进行缓存处理,具体为:
对更新频率高的数据,采用数据引用的缓存更新机制;
对更新频率低的数据,采用数据拷贝的缓存更新机制。
即,如果数据类型为经常需要更新的数据,则使用数据引用的缓存方式;如果数据类型为不需要经常更新的数据,可以使用数据拷贝的缓存方式。
同样,第二优选实施例相较于实施例二,增加了对请求频率比较高的数据,采用缓存机制;进一步,依据数据需要更新的情况,采用不同的缓存更新机制进行缓存;有效提高了系统的反应速度。
而实施例二与实施例一的区别在于,对散列操作后得到的散列文件进行了分布式布局,将散列文件集采用分布式策略分散布局到除了主服务器以外的多个节点服务器上,用户可以直接通过节点服务器进行数据访问和下载,有效减轻的主服务器的负载,平衡了服务器集群中各个服务器的负载,使主服务器负载降到最低。本存储方法第二实施例的结果是散列文件存储于一个分布式的数据服务器群,如图6所示。该服务器群的每个服务节点上存储的仍然是散列文件,用户可以通过主服务器进行请求,并由服务节点直接发送相应的数据,减小了主服务器的工作量,有效提高了数据调度效率。
对应上述三维空间数据存储方法实施例,本发明实施例还提供了一种三维空间数据存储装置。
参照图7,示出了本发明三维空间数据的存储装置实施例的示意图,包括:
数据抽取模块71,用于按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得抽取数据;
数据划分模块72,用于将数据抽取模块71获得的抽取数据划分为数个子数据块;
数据散列模块73,采用基于空间关系的散列函数对数据划分模块72划分后的每个子数据块进行散列操作,得到散列值;
数据存储模块75,用于按照数据散列模块73输出的散列值将对应的子数据块逐个存储,得到散列文件集。
在本发明三维空间数据存储装置的另一优选实施例中,除了包括上述模块71-75,还可以进一步包括:
排序模块77,用于依据服务请求频率将数据存储模块75中的客户请求服务所需的散列文件数据进行排序;
缓存模块79,用于将排序模块77排出的请求频率高的散列文件数据进行缓存处理。
缓存模块79对上述请求频率高的散列文件进行缓存时,采用以下缓存更新机制:
对更新频率高的数据,采用数据引用的缓存更新机制进行缓存;
对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存。采用上述不同的缓存更新机制,可以在不增加数据运算量的条件下,有效保障数据的准确性。
对于地图区域数据量较大的情况,本发明实施例提供了一种三维空间数据存储系统。参照图8,示出了本发明三维空间数据的存储系统实施例的示意图,包括一台主服务器81和多台节点服务器82,共同组成服务器集群。参照图8-A,示出了主服务器的结构示意图,主服务器81包括:
数据抽取模块801,用于按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨下的抽取数据;
数据划分模块802,用于将数据抽取模块801获得的抽取数据划分为数个规则的子数据块;
数据散列模块803,采用基于空间关系的散列函数对数据划分模块802划分后的每个子数据块进行散列操作,得到散列值;
数据存储模块804,用于按照数据散列模块803输出的散列值将对应的子数据块逐个存储,得到散列文件集;
分布式运算模块805,用于将数据存储模块804得到的散列文件集按分布式策略进行划分,得到至少两个散列文件子集;
分配模块807,用于将分布式运算模块805获得的至少两个散列文件子集分散布局到至少两个数据服务器节点上进行存储。
参照图8-B,示出了节点服务器的结构示意图,每台节点服务器82包括:数据库模块802,用于存储主服务器的分配模块807分配的散列文件子集。
优选的,节点服务器82还包括:
排序模块804,用于依据服务请求频率将数据库模块802中客户请求服务所需的散列文件数据进行排序;
缓存模块806,用于将排序模块804排列出的请求频率较高的散列文件数据进行缓存。
其中,缓存模块806对散列文件进行缓存时,采用以下缓存更新机制:
对更新频率高的数据,采用数据引用的缓存更新机制;
对更新频率低的数据,采用数据拷贝的缓存更新机制。
另外,本发明实施例还提供了一种三维空间信息的调度系统,包括客户端和三维空间信息的存储系统,其中,存储系统可以但不限于是上述任一实施例描述的三维空间信息的存储系统;上述客户端通过网络与存储系统的主服务器和节点服务器通信,用于请求主服务器进行地理信息查询。用户利用上述调度系统进行三维空间信息查询时,通过客户端访问主服务器,输入需要显示区域的坐标信息和分辨率信息,主服务器根据用户输入的信息查询显示区域对应的多个数据块的存放地址,根据获得的存放地址调度相应子数据块,这多个部分组合在一起在屏幕上显示出来,就完成了用户对一个大区域的某个小区域在一定显示分辨率下的数据请求和调用。对于数据量较大、散列文件存储于多个节点服务器情况,用户输入需要显示区域的坐标信息和分辨率信息后,主服务器根据构成显示区域需要的多个数据块的存储地址查询到上述多个数据块存储于节点服务器,则可以直接从节点服务器调度相应的各个数据块。有效分担了主服务器的承载,提高了三维空间数据的调度效率,进而提高了调度系统的服务效率。
综上所述,采用本发明实施例提供的三维空间信息的存储方法、装置、系统及调度系统,由于在数据散列的过程中,对抽取数据按小区域进行了切割,并根据分辨率不同,保留了多个数据备份,在进行数据服务时,不需要实时的数据抽取,而是直接请求所需要的散列文件进行下载,有效减小了服务器的运算负载,提高了系统的反应速度,进而提高了服务效率。
另外,由于散列函数是与空间关系相关的,可由所需要数据的空间位置直接计算出数据的存储位置,避免了索引表的使用,提高了系统的反应速度。同时,由于避免了索引表的建立,从而降低了开发难度。在数据更新发生时,可以只更新变化区域的小部分数据,而且不需要更新任何索引文件,有效降低了系统的维护难度和维护成本,提高了系统的可用性。
对于数据量比较大的情况,对散列文件进行分布式管理,对服务器的负载进行均衡处理,充分利用了服务器集群的多服务器的分布优势,避免了现有技术中请求较多时造成服务器瘫痪的情况,提高了系统的工作效率,极大地提高了并发请求的上限。
此外,使用了缓存机制,有效提高了服务器的反应速度。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置和系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种三维空间信息存储方法、三维空间信息存储装置、三维空间信息存储系统及三维空间信息调度系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种三维空间信息的存储方法,其特征在于,该方法由计算机执行,包括:
抽取数据,按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;
划分数据块,将所述抽取数据划分为数个规则的子数据块;
散列数据,采用基于空间关系的散列函数对所述子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值,该散列值代表所述子数据块的存放地址;
存储数据,按照所述散列值将对应的子数据块逐个存储,得到散列文件集。
2.根据权利要求1所述的三维空间信息的存储方法,其特征在于,所述存储数据步骤还包括:
将所述散列文件集按分布式策略进行划分,获得至少两个散列文件子集;
将所述散列文件子集分散布局到至少两个服务器节点上进行存储。
3.根据权利要求1或2所述的三维空间信息的存储方法,其特征在于,还包括:
依据服务请求频率将客户请求服务所需的散列文件数据进行排序;
对请求频率高的散列文件数据进行缓存处理。
4.根据权利要求3所述的三维空间信息的存储方法,其特征在于,所述对请求频率高的散列文件数据进行缓存,具体为:
对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;
对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
5.一种三维空间信息的存储装置,其特征在于,包括:
数据抽取模块,用于按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;
数据划分模块,用于将所述抽取数据划分为数个规则的子数据块;
数据散列模块,采用基于空间关系的散列函数对所述子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值,所述散列值代表所述子数据块的存放地址;
数据存储模块,用于按照所述数据散列模块输出的散列值将对应的子数据块逐个存储,得到散列文件集。
6.根据权利要求5所述的三维空间信息的存储装置,其特征在于,还包括:
排序模块,用于依据服务请求频率将客户请求服务所需的散列文件数据进行排序;
缓存模块,用于对请求频率高的散列文件数据进行缓存处理。
7.根据权利要求6所述的三维空间信息的存储装置,其特征在于,所述缓存模块缓存散列文件数据时采用以下缓存更新机制:
对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;
对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
8.一种三维空间信息的存储系统,其特征在于,包括主服务器和节点服务器,其中,
所述主服务器包括:
数据抽取模块,用于按照预设的分辨率对通用格式的三维空间数据进行数据抽取,获得不同分辨率下的抽取数据;
数据划分模块,用于将所述抽取数据划分为数个规则的子数据块;
数据散列模块,采用基于空间关系的散列函数对所述子数据块进行散列操作,通过以每个子数据块的坐标参数和分辨率为散列函数的输入,得到散列值,所述散列值代表所述子数据块的存放地址;
数据存储模块,用于按照所述数据散列模块输出的散列值将对应的子数据块逐个存储,得到散列文件集;
分布式运算模块,用于将所述散列文件集按分布式策略进行划分,得到至少两个散列文件子集;
分配模块,用于将所述分布式运算模块获得的至少两个散列文件子集分散布局到至少两个节点服务器上进行存储;
每个所述节点服务器包括:
数据库模块,用于存储所述分配模块分配的散列文件子集。
9.根据权利要求8所述的三维空间信息的存储系统,其特征在于,所述节点服务器还包括:
请求排序模块,用于依据服务请求频率将客户请求服务所需的散列文件数据进行排序;
缓存模块,用于缓存请求频率高的散列文件数据。
10.根据权利要求9所述的存储系统,其特征在于,所述缓存模块缓存散列文件数据时采用以下缓存更新机制:
对更新频率高的数据,采用数据引用的缓存更新机制进行缓存处理;
对更新频率低的数据,采用数据拷贝的缓存更新机制进行缓存处理。
11.一种包括权利要求8~10任一权利要求所述的存储系统的三维空间信息的查询系统,其特征在于,还包括客户端,其中:
所述客户端通过网络与所述主服务器和节点服务器通信,用于请求主服务器进行三维空间信息查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102382620A CN101719148B (zh) | 2009-11-24 | 2009-11-24 | 三维空间信息的存储方法、装置、系统及查询系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102382620A CN101719148B (zh) | 2009-11-24 | 2009-11-24 | 三维空间信息的存储方法、装置、系统及查询系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719148A CN101719148A (zh) | 2010-06-02 |
CN101719148B true CN101719148B (zh) | 2012-02-01 |
Family
ID=42433722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102382620A Active CN101719148B (zh) | 2009-11-24 | 2009-11-24 | 三维空间信息的存储方法、装置、系统及查询系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101719148B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916299B (zh) * | 2010-09-01 | 2012-10-10 | 中国地质大学(武汉) | 一种基于文件系统的三维空间数据存储管理方法 |
CN104539681B (zh) * | 2014-12-23 | 2018-04-13 | 北京超图软件股份有限公司 | 分布式gis加速系统和gis服务的处理方法 |
CN104615739B (zh) * | 2015-02-11 | 2018-10-09 | 华中科技大学 | 适用于三维脑组织高分辨海量图集的数据快速归档方法 |
CN109074356A (zh) * | 2015-08-07 | 2018-12-21 | 谷歌有限责任公司 | 用于在低带宽数字地图应用中选择性地并入影像的系统和方法 |
CN105354091A (zh) * | 2015-10-19 | 2016-02-24 | 北京天耀宏图科技有限公司 | 一种基于空间位置的弹性负载均衡方法及系统 |
CN107729577B (zh) * | 2017-11-29 | 2020-06-19 | 厦门市美亚柏科信息股份有限公司 | 一种基于多维哈希表的数据查找方法、终端设备及存储介质 |
CN108304555A (zh) * | 2018-02-05 | 2018-07-20 | 丁武轩 | 分布式地图数据处理方法 |
CN108197323B (zh) * | 2018-02-05 | 2021-03-30 | 深圳市易图资讯股份有限公司 | 应用于分布式系统地图数据处理方法 |
CN110110158B (zh) * | 2019-05-09 | 2021-06-29 | 正元地理信息集团股份有限公司 | 一种三维网格数据的存储空间划分方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7061500B1 (en) * | 1999-06-09 | 2006-06-13 | 3Dlabs Inc., Ltd. | Direct-mapped texture caching with concise tags |
CN101398869A (zh) * | 2008-10-07 | 2009-04-01 | 深圳市蓝韵实业有限公司 | 一种海量数据存储方法 |
-
2009
- 2009-11-24 CN CN2009102382620A patent/CN101719148B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7061500B1 (en) * | 1999-06-09 | 2006-06-13 | 3Dlabs Inc., Ltd. | Direct-mapped texture caching with concise tags |
CN101398869A (zh) * | 2008-10-07 | 2009-04-01 | 深圳市蓝韵实业有限公司 | 一种海量数据存储方法 |
Non-Patent Citations (1)
Title |
---|
刘露等.基于非均匀划分的分布式影像数据索引方法.《计算机工程与科学》.2006,第28卷(第8期),43-45. * |
Also Published As
Publication number | Publication date |
---|---|
CN101719148A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719148B (zh) | 三维空间信息的存储方法、装置、系统及查询系统 | |
CN116089555B (zh) | 基于cim平台三维空间数据的采集与轻量化系统和方法 | |
CN107239531B (zh) | 一种扩展GeoServer发布自定义瓦片WMS服务的实现方法 | |
CN106528773B (zh) | 一种基于Spark平台支持空间数据管理的图计算系统及方法 | |
CN102255930B (zh) | 用于提供虚拟世界的场景数据的方法和系统 | |
CN101370025A (zh) | 地理信息数据的存储方法、调度方法及管理系统 | |
CN104539681B (zh) | 分布式gis加速系统和gis服务的处理方法 | |
CN106372136A (zh) | 分布式缓存系统、方法及存储介质 | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN101741696A (zh) | 一种分布式地理信息环境中的多用户实时协作系统 | |
WO2017206484A1 (zh) | 地理数据呈现方法及装置 | |
CN111914041B (zh) | 一种电网地图矢量数据提供方法 | |
CN115238015A (zh) | 一种基于微服务的时空大数据平台 | |
CN105389367A (zh) | 基于Mongo数据库的电网图形多时态多级分布式存储方法 | |
CN102103657A (zh) | 虚拟世界系统及实现虚拟世界的方法 | |
CN108268614A (zh) | 一种森林资源空间数据的分布式管理方法 | |
CN111913951B (zh) | 一种叠加电网数据的地图矢量数据切片方法 | |
CN102158533A (zh) | 基于QoS的分布式web服务选择方法 | |
CN101616177A (zh) | 基于p2p的网络地形系统的数据传输共享方法 | |
CN116074201A (zh) | 一种矢量地图数据发布为矢量瓦片地图服务的方法和系统 | |
CN103685380A (zh) | 地理信息数据的分发服务方法和系统 | |
CN102710796B (zh) | 一种基于多级分区网络的区域数据下载方法及装置 | |
CN111800742B (zh) | 一种移动位置数据的管理方法、装置、存储介质及终端 | |
KR102716948B1 (ko) | 초연결 디지털 국토 공간정보데이터 생성을 위한 CityGML 기반의 공간정보 파이프라인 자동화시스템 | |
KR102716949B1 (ko) | CityGML 기반의 공간정보 파이프라인 자동화시스템을 이용한 초연결 디지털 국토 공간정보데이터의 생성방법 |
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 |