CN111367913A - 一种面向全空间的数据模型的建模方法 - Google Patents
一种面向全空间的数据模型的建模方法 Download PDFInfo
- Publication number
- CN111367913A CN111367913A CN202010139697.6A CN202010139697A CN111367913A CN 111367913 A CN111367913 A CN 111367913A CN 202010139697 A CN202010139697 A CN 202010139697A CN 111367913 A CN111367913 A CN 111367913A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- hash
- nodes
- 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.)
- Pending
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/26—Visual data mining; Browsing structured data
-
- 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/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于Hash地理编码的面向全空间的数据模型的建立方法,包括以下步骤:S1,基于Hash明文地理编码索引的P2P协议文件调度,分别对节点、文件生成基于Hash的地理编码用于索引。S2:基于Hash地理编码索引的数据结点网络搭建;S3:全球虚拟环境数据分享原型与实验平台搭建与评测;S4:多粒度编码规则制定;S5:基于Hash地理编码的空间对象大数据存储;S6:设计NoSQL数据库。本发明的优点是:为多粒度时空数据库或全空间信息系统的建立提供支持;实现数据存储环境与现实世界中对象间相对位置的统一。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种基于Hash地理编码的面向全空间的数据模型的建立方法。
背景技术
众所周知,当今社会的一个重大变化是人工智能(Artificial Intelligence)时代的来临。人工智能产业已经迎来黄金发展期。人工智能时代,整个社会的生活方式发生了巨大变化,人们的工作、娱乐、购物、社交、学习和医疗等越来越依赖互联网和人工智能技术。而人工智能应用中的一个关键技术就是空间数据的结构划分与索引。
国际上宏观空间索引的研究已十分丰富,有诸如Spatial Keys和QuadTiles等剖分和编码机制的研究。较成熟的项目包括商业数据库Oracle中空间数据引擎OracleSpatial和Postgres项目提供的空间数据分布和并行管理模块PostGIS。然而空间数据库与其他学科交叉的研究还刚刚起步。对于虚拟空间中的宏观与微观空间数据联合利用方面,美国PublicVR研究组介绍了以基于虚拟世界进行科学研究的概念[1]。华盛顿大学的研究组在《Science》上发表文章以flodit为例,论述虚拟世界以众包的方式推动科学试验的意义和前景[2]。美国Scripps研究所的研究组在《Structure》上介绍了通过3D动画软件将分子模型嵌入虚拟世界并进行可视化分析的详细流程[3]。法国国家科学研究中心UPR9080实验室的Marc Baaden博士的团队开发了基于GPU着色器语言实现的统一分子可视化算法Hyperballs与Hypersticks[4,5],并基于游戏引擎实现在虚拟世界场景中嵌入三维蛋白质分子,通过联合利用宏观与微观的空间数据,初步探索了游戏引擎模拟的虚拟世界辅助生物学研究的可行性[6],为大数据背景下以虚拟世界游戏化[7]方式利用微观蛋白质分子数据提供了一个实际证明。
在国内,面向宏观空间数据的空间数据引擎的研究已成为研究热点[8-11],
当前对空间数据索引的研究已向多源、多维、多尺度、分布式的趋势发展[12-15],为宏观与微观空间结合的尝试提供了充分的理论积淀与技术保障。2012年北大程承旗等人[16]总结了近10年的研究工作,提出了空间信息剖分组织理论和剖分网格GeoSOT,对基础框架、剖分机理、存储调度机制、索引、表达、计算、应用等方面进行了相对完整的深入研究。文献[17]在分析了传统GIS空间数据模型建模过程的基础上,提出了多粒度时空对象数据模型的建模过程和思路。
由国内外研究现状可知,当前无论是对空间数据库本身的研究还是空间数据库与其他学科交叉的研究,仍未有对支持宏观到微观尺度空间数据获取过渡的多粒度时空数据数据组织问题进行论述并借鉴空间方法开展研究。因此,现有的以地球尺度为代表的宏观空间和以纳米尺度的蛋白质分子为代表的微观空间的数据联合利用场景大多以生硬结合的方式完成[18-23]。
参考文献
[1]Lewis,M.and Jacobson,J.(2002)Game Engines in Scientific Research,Communications of the ACM,45,27-31.
[2]Cooper,S.,Khatib,F.,Treuille,A.,Barbero,J.,Lee,J.,Beenen,M.,Leaver-Fay,A.,Baker,D.,Popovic,Z.and Players,F.(2010)Predicting proteinstructures with a multiplayer online game,Nature,466,756-760.
[3]Johnson,G.T.,Autin,L.,Goodsell,D.S.,Sanner,M.F.and Olson,A.J.(2011)ePMV embeds molecular modeling into professional animation softwareenvironments,Structure,19,293-303.
[4]Chavent,M.,Levy,B.,Krone,M.,Bidmon,K.,Nominé,J.P.,Ertl,T.andBaaden,M.(2011)GPU-powered tools boost molecular visualization,Briefings inBioinformatics.
[5]Chavent,M.,Vanel,A.,Tek,A.,Levy,B.,Robert,S.,Raffin,B.and Baaden,M.(2011)GPU-accelerated atom and dynamic bond visualization using hyperballs:a unified algorithm for balls,sticks,and hyperboloids,J Comput Chem,32,2924-2935.
[6]Lv Z,Tek A,Da Silva F,Empereur-mot C,Chavent M,et al.(2013)GameOn,Science-How Video Game Technology May Help Biologists Tackle VisualizationChallenges.PLoS ONE 8(3):e57990.
doi:10.1371/journal.pone.0057990.March 6,2013.
[7]Sebastian Deterding,Dan Dixon,Rilla Khaled,and Lennart Nacke(2011)."From game design elements to gamefulness:Defining"gamification"".Proceedings of the 15th International Academic MindTrek Conference.pp.9–15.
[8]龚健雅.3维虚拟地球技术发展与应用[J].地理信息世界.2011,9(2):15-17.[20]朱庆.3维GIS技术研究进展[J].地理信息世界.2011,9(2):25-27.
[9]林辉,黄凤茹,闾国年.虚拟地理环境研究的兴起与实验地理学新方向[J].地理学报,2009.64(1):7-20.
[10]李德仁,王树良,李德毅.空间数据挖掘理论与应用[M].科学出版社,2006.
[11]李浩松,朱欣焰,李京伟,陈军.WebGIS空间数据分布式缓存技术研究[J].武汉大学学报(信息科学版).2005,30(12):1092-1095.
[12]朱庆,李晓明,张叶廷,刘刚.一种高效的三维GIS数据库引擎设计与实现[J].武汉大学学报(信息科学版).2011,36(2):127-132.
[13]朱庆,周艳,分布式空间数据存储对象,武汉大学学报·信息科学版,2006,31(5):391-394.
[14]赵春宇,孟令奎,林志勇.一种面向并行空间数据库的数据划分算法研究[J].武汉大学学报(信息科学版),2006,31(11):962-965.
[15]程承旗等.空间信息剖分组织导论.科学出版社.ISBN 9787030332530.
[16]华一新;周成虎.面向全空间信息系统的多粒度时空对象数据模型描述框架.地球信息科学学报,2017,19.9:1142-1149.
[17]Laura Lynn Gonzalez.Powers of Minus Ten.http://powersofminusten.com/.Science,Special Issues 2012,2011International Science&EngineeringVisualization Challenge.http://www.sciencemag.org/site/special/vis2011/.03February 2012.
[18]Bainbridge,W.S.(2007)The scientific research potential of virtualworlds,Science,317.472-476.
[19]Bonetta,L.(2009)New citizens for the life sciences,Cell,138,1043-1045.
[20]Lewis,M.and Jacobson,J.(2002)Game Engines in Scientific Research,Communications of the ACM,45,27-31.
[21]Cooper,S.,Khatib,F.,Treuille,A.,Barbero,J.,Lee,J.,Beenen,M.,Leaver-Fay,A.,Baker,D.,Popovic,Z.and Players,F.(2010)Predicting proteinstructures with a multiplayer online game,Nature,466,756-760.
[22]Johnson,G.T.,Autin,L.,Goodsell,D.S.,Sanner,M.F.and Olson,A.J.(2011)ePMV embeds molecular modeling into professional animation softwareenvironments,Structure,19,293-303.
[23]Mayo,M.J.(2009)Video games:a route to large-scale STEMeducation?,Science,323,79-82。
发明内容
本发明针对现有技术的缺陷,提供了一种面向全空间的数据模型的建模方法,解决了现有技术中存在的缺陷。
为了实现以上发明目的,本发明采取的技术方案如下:
一种基于Hash地理编码的面向全空间的数据模型的建立方法,包括以下步骤:
S1,基于Hash明文地理编码索引的P2P协议文件调度,分别对节点、文件生成基于Hash的地理编码用于索引。
S2:基于Hash地理编码索引的数据结点网络搭建;
每个获取数据节点访问网络时记录其登陆所在地块的地理编码,作为该节点当前地理编码前4n位,并以2n位的二进制用户ID为尾数,组成节点定位编码。节点移动的过程中,当其跨越至其他空间区域,地理编码变动,相应的节点定位编码也重新快速生成。同时,节点将重新计算同本地节点列表中各节点的逻辑距离,向逻辑距离最近的n个节点发送需求数据的地理编码,每个在线节点接收到信息后,本地搜索同时也将该地理编码信息向各自的本地节点列表中发送。以递归法搜索到所需数据之后,将存在数据的节点加入至本地节点列表中,并对数据获取。当节点退出后标识为离线。
S3:全球虚拟环境数据分享原型与实验平台搭建与评测;
利用WebVR引擎作为数据的可视化引擎,对数据的调度时序、渐进式传输规则进行观察。对访问节点兴趣区域AOI进行三维表现,动态反映对兴趣区域内三维数据和用户节点变化的响应策略。对覆盖网络进行可视化表达,对其中有关联的节点之间的联系将着重表达。对不同源的同段数据传输及针对单节点的不同数据流出都采取相应三维可视化方法表现。基于实验数据,通过三维可视化方法对观察到的表现结果进行评测,总结该模型对于多尺度空间数据的支持,数据搜索速度和命中率,以及数据需求跨越从微观到宏观不同尺度时的过渡获取方式的效果。
S4:多粒度编码规则;
将地球表面数据剖分成基本单元并继续剖分至分子尺度,利用Hash函数将各基本单元内地理地址按照剖分等级计算为定长二进制散列明文数值串,形成明文地理编码,对两个尺度间的各个过渡尺度数据进行组织。通过异或运算计算N个邻居单元的相对位置以及数据的相关性,时间复杂度为O(log N),适用于分布式、大数据量索引。基于WebVR引擎向数据存储网络拓展,对宏观向微观跨越过渡的数据调度过程可视化,且数据传输更稳定。
S5:基于Hash地理编码的空间对象大数据存储;
存储体系结构主要由三部分组成:NoSQL数据库、分布式P2P存储和空间数据库引擎。NoSQL数据库使用了Accumulo。分布式P2P存储使用WebVR内部分布式文件系统。
S6:设计NoSQL数据库,子步骤如下:
S61:Hash地理编码Geohash组合;
将检索对象分为点数据、线数据和面数据。
点数据空间信息的基本存储是采用二维坐标。
线数据是矢量的形式。
S62:索引行;
线性索引行分别包括点和线的16位/24位线性参考索引,即Geohash以及hash地理编码的最后16/24位。
线性参考索引的对象包括点数据和线数据,并且点数据和线数据各自使用单个线性参考值作为初始参考。关于这种差异,还需要区分线性参考索引线的格式。显示了点和线数据的不同索引格式。根据地理对象中的条件,线性参考系统使用8位地理对象区段编码。线性参考系统只能在特定地理对象部分下工作。“P”代表点数据,“L”代表线数据。点数据只需要一个值,但是线数据需要两个值来存储起点和终点。点数据的线性参考索引行的行键长度为16字节。行数据的行键是24字节,用“N”来填补空缺。“N”还将线数据的起点和终点分开。
列族仅起区别作用。对于点数据,列限定符存储相应的点标识符,点数据的空间坐标存储在该值中。对于行数据,行键已经定义了它的空间位置,尽管只需要一个行数据实例的时间标识。标识符可以存储大量信息,例如日照时间、隔音条件和热传导。因此,线路数据不仅存储参考信息,还存储真实的情况信息。行数据的属性信息可以存储在该值中。该值可以是简单的数字类型;也可以是结构化字符串。对于行数据,数据格式不仅具有索引功能,还保留了实际数据。这是因为线数据仅通过线性参考系统查询,并且数据结构相对简单。
点数据通过线性参考系统进行索引。
多边形数据具有基本相同的索引行。但是,它存储在不同的表中。行键是hash地理编码。多边形数据索引行使用8位Geohash编码。对于多边形数据,使用空间网格切片,网格分区以空间网格索引存储在多边形数据中。在列键中,列族存储一个元素用于标识。“A”是多边形数据的标识符。通过检索行和列族键,我们可以获得相应的Hash地理编码多边形数据标识符。列可见性可用于访问控制。多边形数据的空间信息存储在值部分中。多边形数据用边界向量表示。
S63:数据行;
点数据和索引行存储在不同的数据表中。列族存储点数据限定符。列族和行索引具有相同的行键,从而将索引和数据行保持在同一区域中。此特定字段不符合“列限定符+值”的格式。该字段仅标识特定列中的“y”或“n”。该字段可以直接筛选限定符列表,并且不需要读取该值。其他点数据信息以“列限定符+值对”的格式存储。空间坐标以一组坐标分量的形式存储。地理对象截面的地理对象线性ID和线性参考值直接存储在该值中。元数据以XML或相应值中的其他结构化数据的形式存储。点数据类型的来源需要区分位移监测、视频监测和温度监测。列族限定符可以任意添加或删除,因此可以将点的存储合并到具有相同点ID的数据中,该数据具有相同的空间位置。列限定符可以分离不同类型的点数据。在时间标识的基础上,将点数据分割成不同的时间点和版本。不同类型的数据存储在特定的存储值中。根据不同的存储方法,点数据可以被分割成单个数据值、小文件或大文件。单个数据值直接存储在值中。小文件以文本或二进制编码的形式存储在值中。大型文件被分发并存储在P2P中,其值是数据的路径。
与点数据不同,面数据可以对应于多个hash地理编码,因此面数据不能使用与点数据类似的方法来存储行键。多边形数据包括空间范围、数据类型和数据列族。空间范围列族包含hash地理编码、坐标范围确定器。hash地理编码的相应值存储在空间编码集中。相应的坐标范围值存储集合的最大值和最小值的经度和纬度。相应的边界矢量值以端对端坐标的形式存储在集合中,或者以其他矢量文件格式存储。数据列族包含元数据、小文件和大文件,如列限定符。类似于点数据行,我们可以根据时间标识区分不同时间和不同版本的数据。
进一步地,S1的子步骤如下:
S11:基于地理相关的Hash明文地理编码数据库建立规则;
需要的原始数据包括矢量、高程、影像、三维网格、三维模型纹理、蛋白质结构数据。在宏观地球尺度上,对矢量数据、高程和影像数据进行多尺度空间划分,每一尺度级别以4位二进制Hash明文保存,划分n次后每块数据可以表示为将n个尺度的Hash明文依照逐渐划分的顺序由高位至低位组合而成的4n位Hash明文,作为其地理编码,同各尺度标识进行映射。对于三维网格与纹理数据,将其所在的前m-1次划分地块的Hash明文依照逐渐划分的顺序由高位至低位组合而成的4(m-1)位Hash明文,三维网格本身以4位Hash明文表示,两相叠加,组合为4m位Hash明文,作为其地理编码,并同各尺度标识和数据名称相映射。对每个三维数据继续进行基于八叉树的划分,以4位记录每次划分,划分k次至分子尺度,建立4k位Hash明文索引,存入数据库。将各类数据的地理编码同其映射存入数据库中的不同字段,并建立索引。
S12:基于Hash地理编码索引的虚拟对等网络搭建;
对于每个用户节点,取当前地理编码前128位,即前8个前缀,作为该节点完整的地理前缀。并以32位的二进制用户ID为尾数,组成用户节点定位编码。
邻居列表结构:节点的邻居信息包括:HashID、IP address和UDP port。节点的邻居列表以一个四叉树结构存储。该四叉树结构共7个层级,每一个层级都以一个前缀标识,叶子节点存储着每个邻居节点的32位二进制用户ID。
逻辑距离:节点A,B的HashID分别是x,y,则A,B间逻辑距离的计算公式为:d(x,y)=x⊕y。由于HashID的生成依赖于地理位置的划分,所以异或算法计算出的值与地理位置相关,逻辑距离越小,它们之间的地理位置越近。
邻居列表生成:节点的敏感区域是以节点为中心半径为r的圆,与这个圆相交的空间四叉树叶子节点的合集就是邻居区域。如果邻居区域内没有节点,则不断增加r的值,以扩大邻居区域,直到邻居区域中包含有节点为止。邻居区域中的所有节点都加入邻居列表。
S13:节点加入\退出网络;每个用户节点登陆网络时:1、生成该用户节点定位编码。2、生成邻居列表。3、根据当前在虚拟空间中的地理位置加载所需数据。
当节点退出网络,其他节点向其定时发送的心跳信息不再接收响应,该节点将被标识为离线,并不会对网络的稳定性造成影响。
S14:节点移动;
节点移动的过程中,当其跃迁至其他地块,地理编码变动。相应的进行如下改动:1、用户节点编码重新快速生成。2、节点根据新进入视景体的数据进行搜索。3、邻居列表重新生成。4、向邻居列表中离开邻居区域的各节点发送离别请求,向进入邻居区域的新邻居列表各节点发送建交请求。
进一步地,S2的子步骤如下:
S21:邻居选择;
emule等用于文件分享的P2P软件只需要数据搜索命中率不为零即可正常运行。而由于地理空间中,要保证地理邻居出现的概率,否则就会出现邻居丢失现象。因此DHT的节点搜索方式不可以直接用到虚拟环境中。
当触发邻居选择事件后,节点首先向邻居列表中的节点发送自己的节点信息I,接收到信息的节点经历一个过程P:根据发送节点的前128位Hash值计算出其地理编码计算,通过异或计算来判断自己是否具有相同地理编码,如果有则仍然保持在邻居列表中,然后将I发送至自己的邻居列表,接收到信息的节点执行过程P。这种递归截至的条件是:当该节点与接收信息中地理编码的第64位至第128位都不同的时候,该节点停止递归。可见搜索完全结束的条件是,所有执行P过程的节点与起始节点都有超过(场景边长/24)的距离。这与Kadmelia中通过深度限制递归次数的方法也不同。这其实是一个分布式遍历的过程。
S22:数据搜索;
数据搜索事件触发时,节点将重新计算同本地节点列表中各节点的逻辑距离,即自己的ID和其他节点ID的异或值。向逻辑距离最近的n个节点发送所需数据的索引值,每个在线的节点接收到信息后,不仅在本地搜索,同时也将该地理编码信息向各自的本地节点列表中发送,依此类推。由小世界理论可知,当按照这种方式递归6次时,一定会找到所需要的数据。我们默认递归8次,并以递归次数作为节点的辐射范围。当搜索到所需数据之后,将存有数据的节点加入至本地节点列表中,并开始进行多源传输。
S23:基于IOCP的大量用户节点服务器;
设计基于IOCP服务器。服务器存储着最新登录的用户的用户名、IP、地理编码信息。每个用户登录网络,都会将自己的信息发给服务器记录,然后就同服务器完全断开连接。当用户登录后,如果在他的用户列表中没有活跃用户,就登陆IOCP服务器,下载最新登录的20个用户信息并且添加到自己的邻居列表当中。完成端口和线程池模型可以最好的利用资源,支持大量用户。
S24:传输策略;
当数据搜索完成后,根据搜索到的数据来源节点列表开始传输数据。缓存机制包含两个方面:一是在发送端,发送文件块时,会利用一个一直运行的线程控制发送数据的字节,这是一个限流的过程;二是在接收端,在文件传输前,首先创建一个和源文件相同大小的缓冲区,传输时每个文件块将对号填坑,依次填满缓冲区。当软件退出时,文件没有全部接收完成,会自行记录下载的数据,下次启动时实现断点续传。在传输的过程中,对模型数据采用zip标准压缩,对纹理数据采用Jpeg2000标准压缩。
S25:文件分布;
为提高数据源的数量,不仅在邻居节点保存完整的数据,也将数据分块后,保存在附近节点中。在数据发布端,将每个文件按照hash算法进行切割与运算,把文件划分成大小相等的块,每个块根据文件地理编码和块内容的HashID生成唯一的标识ID。按照文件HashID与客户端地理编码相近的原则发布以及存储,以备资源的搜索。接收端以文件名为参数进行搜索,在联系人列表中寻找ID与此关键字ID相近的联系人进行询问,如果ID匹配,则能找到拥有文件资源的客户端,则进行资源的请求下载。
进一步地,S3的子步骤如下:
S31:基于图的场景拓扑;
采用层次包围盒来实现场景图形的管理,综合采用包围球和包围盒两种形式来实现场景的包围体层次结构。采用有向无环图结构保存信息。一个场景图包括一个根节点、多级内部的枝节节点,以及多个末端的叶子节点。根节点和枝节节点负责构建图的层次,以及完成某些特定的功能;而叶子节点则保存了某一个或多个可绘制对象的信息。每个节点都维护一个自身的包围体,以此类推,构成一系列分明的层次。
S32:文件元数据划分;
场景图中的节点包括地形、对象等多种类型、根据不同数据类型,采取不同的数据划分方式。
S33:基于四叉树的多尺度地理数据分块;
地理数据包括:对采用Tin三角网构建的地形模型,覆盖在地形表面的真实影像,以及矢量数据。以基于均匀分割的区域四叉树结构划分和索引,四叉树的每一级都代表一个级别的精度。四叉树构建过程为:把整个地形作为根节点,从这个根节点出发,检查根节点是否满足某种分割条件,若不满足,则不分割,并作为叶子节点保存;否则,递归地把根节点不断地分割成相等的四个子节点区域,直到不能再分割为止。最后,将所有叶子节点绘制渲染。
S34:以对象节点为单位的文件分块;
场景中包含多种对象节点,包括:(1)以带有高度属性信息的矢量数据挤压出的建筑信息,(2)通过3DsMax建模导入的三维模型信息,(3)几何体数据。对场景根节点遍历,将根节点下最外层的每个节点作为一个单元。
S35:数据多尺度预处理;
对于地形数据根据四叉树分割的不同层级,划分出LOD数据并存储至外存;对于对象节点,每个节点对象单元都从精致到粗糙生成4级精度数据L1至L4,其中L2和L3为对L1采用塌陷法生成的简化模型,L4利用图像缓存生成的Impostor节点。节点对象单元的纹理依据2:1的长宽比例生成3张简化纹理存储至外存,对应L2-L4四个等级的简化模型。通过调用CUDA库实现了GPGPU将纹理压缩为DTX3格式。不同尺度的外存模型根据需要依次调用,效率比一次性调入mipmap文件要高。
S36:基于剔除结果的数据请求;
对调度前的数据载入采取空间相关调度。对于可以实现动态调度的节点,当某些子节点对场景绘制长期没有参与时,将子节点自动卸载,释放内存空间;反之,也可以即时加载某些不在内存中的子节点,即动态的对其场景子树进行调度控制。
S37:数据定时内存释放;
对调用后数据撤销采用时间相关调度。LOD节点的某个细节层次如果长期不参与场景绘制,则将其卸载,否则将其加载。
与现有技术相比,本发明的优点在于:
1.建立起相应的多粒度下的时空数据库或时空信息系统。这样既能够满足地理现象的时空需求,又能满足应用的多粒度需求。本发明首先提出时空概念模型作为基础,又对时间和空间多尺度进行扩展,形成一个时间空间多尺度的时空数据模型,为多粒度时空数据库或全空间信息系统的建立提供支持。
2.建立一套空间划分与索引机制并抽象为数学模型,可以扩展至真实地理世界划分、三维地球剖分、数据节点网络结构,并作为核心索引数据结构,对三个领域各类对象的位置进行映射。设计基于地理相关的Hash明文地理编码,用以索引用户物理节点、数据节点以及三维空间中的各类元素模型,实现数据存储环境与现实世界中对象间相对位置的统一。
3.以基于异或的比较算法快速计算数据节点间的Hash逻辑距离,并依据异或算法计算的相对距离进一步计算地理世界数据节点地理位置与其他地理位置的映射关系。
4.独创数据节点数据缓存池与适用于空间数据特性的数据分享机制与协调策略,使得空间数据在传输的时候可以依据数据的Hash编码寻找到映射的地理位置相关的节点。
附图说明
图1是本发明研究的技术路线图;
图2是本发明实施例耦合索引结构图;
图3是本发明实施例节点移动示意图;
图4是本发明实施例模型流程图;
图5是本发明实施例地理空间对象大数据混合存储架构示意图;
图6是本发明实施例线性参考索引的格式示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实施例,对本发明做进一步详细说明。
如图1所示,一种基于Hash地理编码的面向全空间的数据模型的建立方法,包括以下步骤:
S1,基于Hash明文地理编码索引的P2P协议文件调度,分别对节点、文件生成基于Hash的地理编码用于索引。
S1的子步骤如下:
S11:基于地理相关的Hash明文地理编码数据库建立规则;
需要的原始数据包括矢量、高程、影像、三维网格、三维模型纹理、蛋白质结构数据。在宏观地球尺度上,对矢量数据、高程和影像数据进行多尺度空间划分,每一尺度级别以4位二进制Hash明文保存,划分n次后每块数据可以表示为将n个尺度的Hash明文依照逐渐划分的顺序由高位至低位组合而成的4n位Hash明文,作为其地理编码,同各尺度标识进行映射。对于三维网格与纹理数据,将其所在的前m-1次划分地块的Hash明文依照逐渐划分的顺序由高位至低位组合而成的4(m-1)位Hash明文,三维网格本身以4位Hash明文表示,两相叠加,组合为4m位Hash明文,作为其地理编码,并同各尺度标识和数据名称相映射。对每个三维数据继续进行基于八叉树的划分,以4位记录每次划分,划分k次至分子尺度,建立4k位Hash明文索引,存入数据库。将各类数据的地理编码同其映射存入数据库中的不同字段,并建立索引,如图2所示。假设m=32,n=32,k=32。
S12:基于Hash地理编码索引的虚拟对等网络搭建;
对于每个用户节点,取当前地理编码前128位,即前8个前缀,作为该节点完整的地理前缀。并以32位的二进制用户ID为尾数,组成用户节点定位编码。
邻居列表结构:节点的邻居信息包括(HashID,IP address,UDP port)。节点的邻居列表以一个四叉树结构存储。该四叉树结构共7个层级,每一个层级都以一个前缀标识,叶子节点存储着每个邻居节点的32位二进制用户ID。
逻辑距离:节点A,B的HashID分别是x,y,则A,B间逻辑距离的计算公式为:d(x,y)=x⊕y。由于HashID的生成依赖于地理位置的划分,所以异或算法计算出的值与地理位置相关,逻辑距离越小,它们之间的地理位置越近。
邻居列表生成:节点的敏感区域是以节点为中心半径为r的圆,与这个圆相交的空间四叉树叶子节点的合集就是邻居区域。如果邻居区域内没有节点,则不断增加r的值,以扩大邻居区域,直到邻居区域中包含有节点为止。邻居区域中的所有节点都加入邻居列表。
S13:节点加入\退出网络;每个用户节点登陆网络时:1、生成该用户节点定位编码。2、生成邻居列表。3、根据当前在虚拟空间中的地理位置加载所需数据。
当节点退出网络,其他节点向其定时发送的心跳信息不再接收响应,该节点将被标识为离线,并不会对网络的稳定性造成影响。
S14:节点移动;
如图3所示,节点移动的过程中,当其跃迁至其他地块,地理编码变动。相应的进行如下改动:1、用户节点编码重新快速生成。2、节点根据新进入视景体的数据进行搜索。3、邻居列表重新生成。4、向邻居列表中离开邻居区域的各节点发送离别请求,向进入邻居区域的新邻居列表各节点发送建交请求。
S2:基于Hash地理编码索引的数据结点网络搭建;
每个获取数据节点访问网络时记录其登陆所在地块的地理编码,作为该节点当前地理编码前4n位,并以2n位的二进制用户ID为尾数,组成节点定位编码。节点移动的过程中,当其跨越至其他空间区域,地理编码变动,相应的节点定位编码也重新快速生成。同时,节点将重新计算同本地节点列表中各节点的逻辑距离,向逻辑距离最近的n个节点发送需求数据的地理编码,每个在线节点接收到信息后,本地搜索同时也将该地理编码信息向各自的本地节点列表中发送。以递归法搜索到所需数据之后,将存在数据的节点加入至本地节点列表中,并对数据获取。当节点退出后标识为离线。
S2的子步骤如下:
S21:邻居选择;
emule等用于文件分享的P2P软件只需要数据搜索命中率不为零即可正常运行。而由于地理空间中,要保证地理邻居出现的概率,否则就会出现邻居丢失现象。因此DHT的节点搜索方式不可以直接用到虚拟环境中。
当触发邻居选择事件后,节点首先向邻居列表中的节点发送自己的节点信息I,接收到信息的节点经历一个过程P:根据发送节点的前128位Hash值计算出其地理编码计算,通过异或计算来判断自己是否具有相同地理编码,如果有则仍然保持在邻居列表中,然后将I发送至自己的邻居列表,接收到信息的节点执行过程P。这种递归截至的条件是:当该节点与接收信息中地理编码的第64位至第128位都不同的时候,该节点停止递归。可见搜索完全结束的条件是,所有执行P过程的节点与起始节点都有超过(场景边长/24)的距离。这与Kadmelia中通过深度限制递归次数的方法也不同。这其实是一个分布式遍历的过程。
S22:数据搜索;
数据搜索事件触发时,节点将重新计算同本地节点列表中各节点的逻辑距离,即自己的ID和其他节点ID的异或值。向逻辑距离最近的n个节点发送所需数据的索引值,每个在线的节点接收到信息后,不仅在本地搜索,同时也将该地理编码信息向各自的本地节点列表中发送,依此类推。由小世界理论可知,当按照这种方式递归6次时,一定会找到所需要的数据。我们默认递归8次,并以递归次数作为节点的辐射范围。当搜索到所需数据之后,将存有数据的节点加入至本地节点列表中,并开始进行多源传输。
S23:基于IOCP的大量用户节点服务器;
由于用户列表分布在多个客户端存储,因此有可能无法加入到网络。极端的情况是,一个节点登录后,他的用户列表中的节点都不在线,此时他就无法加入网络,由此引发信息孤岛现象。为防止这种情况,设计基于IOCP服务器。服务器存储着最新登录的用户的用户名、IP、地理编码信息。每个用户登录网络,都会将自己的信息发给服务器记录,然后就同服务器完全断开连接。当用户登录后,如果在他的用户列表中没有活跃用户,就登陆IOCP服务器,下载最新登录的20个用户信息并且添加到自己的邻居列表当中。完成端口和线程池模型可以最好的利用资源,支持大量用户。
S24:传输策略;
当数据搜索完成后,根据搜索到的数据来源节点列表开始传输数据。
缓存机制包含两个方面:一是在发送端,发送文件块时,会利用一个一直运行的线程控制发送数据的字节,这是一个限流的过程;二是在接收端,在文件传输前,首先创建一个和源文件相同大小的缓冲区,传输时每个文件块将对号填坑,依次填满缓冲区。当软件退出时,文件没有全部接收完成,会自行记录下载的数据,下次启动时实现断点续传。在传输的过程中,对模型数据采用zip标准压缩,对纹理数据采用Jpeg2000标准压缩。
S25:文件分布;
为提高数据源的数量,不仅在邻居节点保存完整的数据,也将数据分块后,保存在附近节点中。在数据发布端,将每个文件按照hash算法进行切割与运算,把文件划分成大小相等的块,每个块根据文件地理编码和块内容的HashID生成唯一的标识ID。按照文件HashID与客户端地理编码相近的原则发布以及存储,以备资源的搜索。接收端以文件名为参数进行搜索,在联系人列表中寻找ID与此关键字ID相近的联系人进行询问,如果ID匹配,则能找到拥有文件资源的客户端,则进行资源的请求下载。
S3:全球虚拟环境数据分享原型与实验平台搭建与评测;
如图4所示,利用WebVR引擎作为数据的可视化引擎,对数据的调度时序、渐进式传输规则进行观察。对访问节点兴趣区域AOI进行三维表现,动态反映对兴趣区域内三维数据和用户节点变化的响应策略。对覆盖网络进行可视化表达,对其中有关联的节点之间的联系将着重表达。对不同源的同段数据传输及针对单节点的不同数据流出都采取相应三维可视化方法表现。基于实验数据,通过三维可视化方法对观察到的表现结果进行评测,总结该模型对于多尺度空间数据的支持,数据搜索速度和命中率,以及数据需求跨越从微观到宏观不同尺度时的过渡获取方式的效果。
S3的子步骤如下:
S31:基于图的场景拓扑;
采用层次包围盒来实现场景图形的管理,综合采用包围球和包围盒两种形式来实现场景的包围体层次结构。采用有向无环图结构保存信息。一个场景图包括一个根节点、多级内部的枝节节点,以及多个末端的叶子节点。根节点和枝节节点负责构建图的层次,以及完成某些特定的功能;而叶子节点则保存了某一个或多个可绘制对象的信息。每个节点都维护一个自身的包围体,以此类推,构成一系列分明的层次。这种层次包围盒图,可以加速正确表达场景图形的信息组成,也可以加速场景对象的裁减、相交测试、碰撞检测等一系列操作。该结构使得每个节点可以有多个父节点。当同一个几何对象需要被多次引用,由多个父节点指向同一个子节点,同每个父节点都指向一个新的子节点的树状结构相比,节点总数减少,内存占用率和场景遍历步数降低,而渲染的最终结果可以保持不变。
S32:文件元数据划分;
场景图中的节点包括地形、对象等多种类型、根据不同数据类型,采取不同的数据划分方式。
S33:基于四叉树的多尺度地理数据分块;
地理数据包括:对采用Tin三角网构建的地形模型,覆盖在地形表面的真实影像,以及矢量数据。因为这些地理数据都是地表数据,在垂直方向极少重叠,因此以基于均匀分割的区域四叉树结构划分和索引,四叉树的每一级都代表一个级别的精度。四叉树构建过程为:把整个地形作为根节点,从这个根节点出发,检查根节点是否满足某种分割条件,若不满足,则不分割,并作为叶子节点保存;否则,递归地把根节点不断地分割成相等的四个子节点区域,直到不能再分割为止。最后,将所有叶子节点绘制渲染。分割的深度越大,得到的分辨率就会越高,即分割深度每提高一层,采样密度提高一倍。对于地球表面则需要对分割方式经过一个从平面投影到经纬度的投影变换。
S34:以对象节点为单位的文件分块;
场景中包含多种对象节点,包括:(1)以带有高度属性信息的矢量数据挤压出的建筑信息,(2)通过3DsMax建模导入的三维模型信息,(3)几何体数据。对场景根节点遍历,将根节点下最外层的每个节点作为一个单元。
S35:数据多尺度预处理;
对于地形数据根据四叉树分割的不同层级,划分出LOD数据并存储至外存;对于对象节点,每个节点对象单元都从精致到粗糙生成4级精度数据L1至L4,其中L2和L3为对L1采用塌陷法生成的简化模型,L4利用图像缓存生成的Impostor节点。节点对象单元的纹理依据2:1的长宽比例生成3张简化纹理存储至外存,对应L2-L4四个等级的简化模型。通过调用CUDA库实现了GPGPU将纹理压缩为DTX3格式。不同尺度的外存模型根据需要依次调用,效率比一次性调入mipmap文件要高。
S36:基于剔除结果的数据请求;
对于大规模的场景,当将大量的模型读入内存时,必然会造成计算机系统的巨大负担,并且可能会导致内存不足。此时就需要一种动态调度的机制。时间是单向的,无法准确预测用户在未来的行为,因此对调度前的数据载入采取空间相关调度。对于可以实现动态调度的节点,当他的某些子节点对场景绘制长期没有参与时,可以将子节点自动卸载,释放内存空间;反之,也可以即时加载某些不在内存中的子节点,即动态的对其场景子树进行调度控制。
S37:数据定时内存释放;
对调用后数据撤销采用时间相关调度。LOD节点的某个细节层次如果长期不参与场景绘制,则将其卸载,否则将其加载。在实现上设计智能指针作为所有节点的基类,有效防止了内存释放不完全导致的泄露。
S4:多粒度编码规则;
将地球表面数据剖分成基本单元并继续剖分至分子尺度,利用Hash函数将各基本单元内地理地址按照剖分等级计算为定长二进制散列明文数值串,形成明文地理编码,可对两个尺度间的各个过渡尺度数据进行组织。通过异或运算计算N个邻居单元的相对位置以及数据的相关性,时间复杂度为O(log N),适用于分布式、大数据量索引。基于WebVR引擎向数据存储网络拓展,可对宏观向微观跨越过渡的数据调度过程可视化,且数据传输更稳定。可见该模型从执行速度上可满足数据获取由宏观到微观尺度跨越的多粒度时空模型。
对于Hash索引跨尺度数据量可行性:选取人手为中尺度参照物,已知地球周长4*107米,人手宽10-1米,分子尺度为10-10米,则从地球到人手尺度跨度为4*108米,处于228米和229米之间,其物理意义为对地球表面划分28次和29次之间,即可达到人手的尺度。同样从人手跨越到分子尺度需要划分次数为26到27次之间。从本课题所提出的极限宏观空间地球到极限微观空间分子尺度的划分次数为54次到56次之间,由于Hash编码长度为2n,可见最小64位Hash编码可以满足这个尺度跨越的索引需求,本课题以4位二进制存储每次划分,因此需要256位Hash编码存储。对于该编码可扩展性,以太阳系到地球的尺度跨越验证:已知太阳系直径120*1011,因此由整个太阳系至地球尺度跨度需要划分18次至19次之间,可见最小32位Hash编码可以满足索引需求。由于异或算法的逐位运算规则,因此按照由宏观到微观尺度的顺序直接连接各Hash编码,进行异或运算可获得合理逻辑距离。该编码规则从数据量上可满足人类认知内的空间尺度跨越。
S5:基于Hash地理编码的空间对象大数据存储;
NoSQL数据库、分布式P2P存储和空间数据库引擎在数据存储管理方面各有优势。我们将三种数据存储模式组合成一个混合体系结构。该体系结构可以管理地理对象空间数据存储,克服传统的数据存储管理方法。NoSQL数据库的设计简单,具有强大的支持一致性。NoSQL可以提高高度动态数据的存储管理效率。此外,NoSQL的列模型扩展了关系数据库的二维表模型,使其更适合储存稀疏矩阵数据。因此,NoSQL可以更好地支持多源异构数据。降维后,地理对象空间数据以一维字符串的形式存储在NoSQL数据库中。分布式P2P存储不仅能存储大数据,而且得益于数据块的冗余拷贝,还能提高数据访问的效率。此外,分布式P2P存储也被用作NoSQL数据库的载体,从而为NoSQL数据库的容量和效率提供了保证。空间数据库引擎无法管理高度动态和异构数据的存储。然而,对于基础地理信息和静态空间数据的管理,它仍然是必不可少的。空间对象大数据混合存储体系结构如图5所示。存储体系结构主要由三部分组成:NoSQL数据库、分布式P2P存储和空间数据库引擎。NoSQL数据库使用了Accumulo。分布式P2P存储使用WebVR内部分布式文件系统。
我们用Hash地理编码连接WebVR和NoSQL数据库。用参考值的点和线数据反映了也近似于动态数据的空间信息。它们在NoSQL数据库中以数据库关键字的形式表示,并起到索引的作用。动态数据的属性值可以用作NoSQL数据库中的值。因此,空间信息的关键字对应于该值。各种类型的数据存储在WebVR分布式P2P存储中,文件路径是存储在NoSQL数据库中相应关键字下的值的一部分。静态数据由空间数据库引擎管理。静态数据通常有一些卷(volumes)。这些数据适用于空间数据库引擎,该引擎可以进一步提供空间分析能力。
S6:NoSQL设计原则;
BigTable用于分发大规模结构化数据。BigTable也是NoSQL数据库的理论原型。BigTable模式的设计原则对Accumulo数据库模型的设计具有直接的指导意义。BigTable使用许多关系数据库实现策略,但是它不支持完整的关系数据模型。BigTable以简单的数据模型为基础,但是它使用户可以动态控制数据布局和格式。BigTable使用关系数据库术语,如表、行和列。BigTable的本质是关键字值映射,具体来说,BigTable是一个稀疏的、分布式的、持久的、多维的排序映射。
BigTable键是三维的,由行键、列键和时间标识组成。
NoSQL数据库在地理空间大数据存储方面具有诸多优势。第一是NoSQL数据库的具有较高的容量输入和输出能力。该功能可以很好地存储地理空间数据。地理空间数据量会随着地理技术的发展迅速增长。因此,传统的基于关系的数据库不适合存储地理空间数据。NoSQL数据库的另一个特性是搜索速度快。该特性也符合地理空间数据存储的要求。地理空间数据管理系统的应用要求系统能快速响应,以满足其他应用的处理需求。
行是表的第一级索引,它可以由任何字节串组成,读写函数都是原子的。BigTable是根据行键的字典来管理的。BigTable将数据分割成多个小片,以实现负载平衡。列是二级索引。列的数量不受限制,可以动态更改。列按照列族进行组织,相同类型的数据属于相同的列族。列族相对固定,列的动态性能反映在列族的添加中。列键以限定符的格式命名。时间标识是三级索引,它可以由客户端分配。它也可以由BigTable管理。时间标识代表不同版本的数据,它们通常按降序排序,因此默认读取的是最新版本的数据。行键决定表数据处理的性能。关系数据库可以由多个列组成,并且可以进行索引,以提供高访问效率,而具有列模型的NoSQL数据库只能通过行键访问数据。因此,行键的设计对于数据存储的管理非常重要。
列族的设计也非常重要。首先,列族不应太大。因为它执行从ram到硬盘的刷新操作,刷新操作会触发其相邻系列,最终这些操作会导致大量I/O操作。第二,原则上,列之间的逻辑关系应该存储在族的同一列中。这是一个逻辑序列,用于在同一位置存储类似的数据。然后,可以以最大效率执行读和写操作。
数据分为两类:索引行和数据行。索引行主要负责地理对象空间数据空间属性的组织和索引,例如线性参考系统。数据行和索引行负责记录属性数据、元数据和实际数据。
S6的子步骤如下:
S61:Hash地理编码Geohash组合;
地理对象数据的检索更加关注动态数据,因为检索对象可以分为点数据、线数据和面数据。
点数据空间信息的基本存储是采用二维坐标,如经纬度坐标或平面投影坐标。根据空间数据的降维,Hash地理编码和Geohash可以结合起来逼近空间点,使结果基本满足数据精度的要求。
线数据通常是矢量的形式。因此,可以采用线性参考系统通过线性参考范围来表示空间信息,这更加简单有效。
多边形数据只能在空间参考系统中演示,而不能在线性参考系统中演示。用空间网格进行分解,可以对空间网格集进行降维存储。多边形数据空间范围的检索也在网格中分解,随后对两个空间网格集进行比较,以确认检索输出,这应该是最后一步。
S62:索引行;
线性索引行分别包括点和线的16位/24位线性参考索引,即Geohash以及
hash地理编码的最后16/24位。
对于线性参考索引,索引条目的线性参考值需要放入行键中。因此,行键的顺序可以用来提高查询的效率。线性参考索引的对象包括点数据和线数据,并且点数据和线数据各自使用单个线性参考值作为初始参考。关于这种差异,还需要区分线性参考索引线的格式。线性参考索引线的格式如图6所示,显示
了点和线数据的不同索引格式。根据地理对象中的条件,线性参考系统使用8位地理对象区段编码。线性参考系统只能在特定地理对象部分下工作。“P”代表点数据,“L”代表线数据。点数据只需要一个值,但是线数据需要两个值来存储起点和终点。点数据的线性参考索引行的行键长度为16字节。行数据的行
键是24字节,用“N”来填补空缺。“N”还将线数据的起点和终点分开。
列族仅起着基本的区别作用。对于点数据,列限定符存储相应的点标识符,点数据的空间坐标存储在该值中。对于行数据,行键已经定义了它的空间位置,尽管只需要一个行数据实例的时间标识。标识符可以存储大量信息,例如日照时间、隔音条件和热传导。因此,线路数据不仅存储参考信息,还存储真实的情况信息。行数据的属性信息可以存储在该值中。该值可以是简单的数字类型;也可以是结构化字符串。对于行数据,数据格式不仅具有索引功能,还保留了实际数据。这是因为线数据仅通过线性参考系统查询,并且数据结构相对简单。
点数据通过线性参考系统进行索引,这些数据包含丰富的信息。
多边形数据具有基本相同的索引行。但是,它存储在不同的表中。行键是hash地理编码。多边形数据索引行使用8位Geohash编码。对于多边形数据,使用空间网格切片,网格分区以空间网格索引存储在多边形数据中。在列键中,列族存储一个元素用于标识。“A”是多边形数据的标识符。通过检索行和列族键,我们可以获得相应的Hash地理编码多边形数据标识符。列可见性可用于访问控制。多边形数据的空间信息存储在值部分中。多边形数据用边界向量表示。
S63:数据行;
点数据和索引行存储在不同的数据表中。列族存储点数据限定符。列族和行索引具有相同的行键,从而将索引和数据行保持在同一区域中。该方法可以提高hash地理编码中点数据的搜索效率。此特定字段不符合“列限定符+值”的格式。该字段仅标识特定列中的“y”或“n”。该字段可以直接筛选限定符列表,并且不需要读取该值。其他点数据信息以“列限定符+值对”的格式存储。空间坐标以一组坐标分量的形式存储。地理对象截面的地理对象线性ID和线性参考值直接存储在该值中。元数据以XML或相应值中的其他结构化数据的形式存储。点数据类型的来源需要区分位移监测、视频监测和温度监测。列族限定符可以任意添加或删除,因此可以将点的存储合并到具有相同点ID的数据中,该数据具有相同的空间位置(可以通过多监视器理解一个位置)。列限定符可以分离不同类型的点数据。在时间标识的基础上,将点数据分割成不同的时间点和版本。不同类型的数据存储在特定的存储值中。根据不同的存储方法,点数据可以被分割成单个数据值、小文件或大文件。单个数据值直接存储在值中。小文件以文本或二进制编码的形式存储在值中。大型文件(如视频文件)被分发并存储在P2P中,其值是数据的路径。
与点数据不同,面数据可以对应于多个hash地理编码,因此面数据不能使用与点数据类似的方法来存储行键。多边形数据包括空间范围、数据类型和数据列族。空间范围列族包含hash地理编码、坐标范围确定器。hash地理编码的相应值存储在空间编码集中。相应的坐标范围值存储集合的最大值和最小值的经度和纬度。相应的边界矢量值以端对端坐标的形式存储在集合中,或者以其他矢量文件格式存储。数据列族包含元数据、小文件和大文件,如列限定符。类似于点数据行,我们可以根据时间标识区分不同时间和不同版本的数据。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (4)
1.一种基于Hash地理编码的面向全空间的数据模型的建立方法,其特征在于,包括以下步骤:
S1,基于Hash明文地理编码索引的P2P协议文件调度,分别对节点、文件生成基于Hash的地理编码用于索引;
S2:基于Hash地理编码索引的数据结点网络搭建;
每个获取数据节点访问网络时记录其登陆所在地块的地理编码,作为该节点当前地理编码前4n位,并以2n位的二进制用户ID为尾数,组成节点定位编码;节点移动的过程中,当其跨越至其他空间区域,地理编码变动,相应的节点定位编码也重新快速生成;同时,节点将重新计算同本地节点列表中各节点的逻辑距离,向逻辑距离最近的n个节点发送需求数据的地理编码,每个在线节点接收到信息后,本地搜索同时也将该地理编码信息向各自的本地节点列表中发送;以递归法搜索到所需数据之后,将存在数据的节点加入至本地节点列表中,并对数据获取;当节点退出后标识为离线;
S3:全球虚拟环境数据分享原型与实验平台搭建与评测;
利用WebVR引擎作为数据的可视化引擎,对数据的调度时序、渐进式传输规则进行观察;对访问节点兴趣区域AOI进行三维表现,动态反映对兴趣区域内三维数据和用户节点变化的响应策略;对覆盖网络进行可视化表达,对其中有关联的节点之间的联系将着重表达;对不同源的同段数据传输及针对单节点的不同数据流出都采取相应三维可视化方法表现;基于实验数据,通过三维可视化方法对观察到的表现结果进行评测,总结该模型对于多尺度空间数据的支持,数据搜索速度和命中率,以及数据需求跨越从微观到宏观不同尺度时的过渡获取方式的效果;
S4:多粒度编码规则;
将地球表面数据剖分成基本单元并继续剖分至分子尺度,利用Hash函数将各基本单元内地理地址按照剖分等级计算为定长二进制散列明文数值串,形成明文地理编码,对两个尺度间的各个过渡尺度数据进行组织;通过异或运算计算N个邻居单元的相对位置以及数据的相关性,时间复杂度为O(log N),适用于分布式、大数据量索引;基于WebVR引擎向数据存储网络拓展,对宏观向微观跨越过渡的数据调度过程可视化,且数据传输更稳定;
S5:基于Hash地理编码的空间对象大数据存储;
存储体系结构主要由三部分组成:NoSQL数据库、分布式P2P存储和空间数据库引擎;NoSQL数据库使用了Accumulo;分布式P2P存储使用WebVR内部分布式文件系统;
S6:设计NoSQL数据库,子步骤如下:
S61:Hash地理编码Geohash组合;
将检索对象分为点数据、线数据和面数据;
点数据空间信息的基本存储是采用二维坐标;
线数据是矢量的形式;
S62:索引行;
线性索引行分别包括点和线的16位/24位线性参考索引,即Geohash以及hash地理编码的最后16/24位;
线性参考索引的对象包括点数据和线数据,并且点数据和线数据各自使用单个线性参考值作为初始参考;关于这种差异,还需要区分线性参考索引线的格式;显示了点和线数据的不同索引格式;根据地理对象中的条件,线性参考系统使用8位地理对象区段编码;线性参考系统只能在特定地理对象部分下工作;“P”代表点数据,“L”代表线数据;点数据只需要一个值,但是线数据需要两个值来存储起点和终点;点数据的线性参考索引行的行键长度为16字节;行数据的行键是24字节,用“N”来填补空缺;“N”还将线数据的起点和终点分开;
列族仅起区别作用;对于点数据,列限定符存储相应的点标识符,点数据的空间坐标存储在该值中;对于行数据,行键已经定义了它的空间位置,尽管只需要一个行数据实例的时间标识;标识符可以存储大量信息,例如日照时间、隔音条件和热传导;因此,线路数据不仅存储参考信息,还存储真实的情况信息;行数据的属性信息可以存储在该值中;该值可以是简单的数字类型;也可以是结构化字符串;对于行数据,数据格式不仅具有索引功能,还保留了实际数据;这是因为线数据仅通过线性参考系统查询,并且数据结构相对简单;
点数据通过线性参考系统进行索引;
多边形数据具有基本相同的索引行;但是,它存储在不同的表中;行键是hash地理编码;多边形数据索引行使用8位Geohash编码;对于多边形数据,使用空间网格切片,网格分区以空间网格索引存储在多边形数据中;在列键中,列族存储一个元素用于标识;“A”是多边形数据的标识符;通过检索行和列族键,我们可以获得相应的Hash地理编码多边形数据标识符;列可见性可用于访问控制;多边形数据的空间信息存储在值部分中;多边形数据用边界向量表示;
S63:数据行;
点数据和索引行存储在不同的数据表中;列族存储点数据限定符;列族和行索引具有相同的行键,从而将索引和数据行保持在同一区域中;此特定字段不符合“列限定符+值”的格式;该字段仅标识特定列中的“y”或“n”;该字段可以直接筛选限定符列表,并且不需要读取该值;其他点数据信息以“列限定符+值对”的格式存储;空间坐标以一组坐标分量的形式存储;地理对象截面的地理对象线性ID和线性参考值直接存储在该值中;元数据以XML或相应值中的其他结构化数据的形式存储;点数据类型的来源需要区分位移监测、视频监测和温度监测;列族限定符可以任意添加或删除,因此可以将点的存储合并到具有相同点ID的数据中,该数据具有相同的空间位置;列限定符可以分离不同类型的点数据;在时间标识的基础上,将点数据分割成不同的时间点和版本;不同类型的数据存储在特定的存储值中;根据不同的存储方法,点数据可以被分割成单个数据值、小文件或大文件;单个数据值直接存储在值中;小文件以文本或二进制编码的形式存储在值中;大型文件被分发并存储在P2P中,其值是数据的路径;
与点数据不同,面数据可以对应于多个hash地理编码,因此面数据不能使用与点数据类似的方法来存储行键;多边形数据包括空间范围、数据类型和数据列族;空间范围列族包含hash地理编码、坐标范围确定器;hash地理编码的相应值存储在空间编码集中;相应的坐标范围值存储集合的最大值和最小值的经度和纬度;相应的边界矢量值以端对端坐标的形式存储在集合中,或者以其他矢量文件格式存储;数据列族包含元数据、小文件和大文件,如列限定符;类似于点数据行,我们可以根据时间标识区分不同时间和不同版本的数据。
2.根据权利要求1所述的方法,其特征在于,S1的子步骤如下:
S11:基于地理相关的Hash明文地理编码数据库建立规则;
需要的原始数据包括矢量、高程、影像、三维网格、三维模型纹理、蛋白质结构数据;在宏观地球尺度上,对矢量数据、高程和影像数据进行多尺度空间划分,每一尺度级别以4位二进制Hash明文保存,划分n次后每块数据可以表示为将n个尺度的Hash明文依照逐渐划分的顺序由高位至低位组合而成的4n位Hash明文,作为其地理编码,同各尺度标识进行映射;对于三维网格与纹理数据,将其所在的前m-1次划分地块的Hash明文依照逐渐划分的顺序由高位至低位组合而成的4(m-1)位Hash明文,三维网格本身以4位Hash明文表示,两相叠加,组合为4m位Hash明文,作为其地理编码,并同各尺度标识和数据名称相映射;对每个三维数据继续进行基于八叉树的划分,以4位记录每次划分,划分k次至分子尺度,建立4k位Hash明文索引,存入数据库;将各类数据的地理编码同其映射存入数据库中的不同字段,并建立索引;
S12:基于Hash地理编码索引的虚拟对等网络搭建;
对于每个用户节点,取当前地理编码前128位,即前8个前缀,作为该节点完整的地理前缀;并以32位的二进制用户ID为尾数,组成用户节点定位编码;
邻居列表结构:节点的邻居信息包括:HashID、IP address和UDP port;节点的邻居列表以一个四叉树结构存储;该四叉树结构共7个层级,每一个层级都以一个前缀标识,叶子节点存储着每个邻居节点的32位二进制用户ID;
逻辑距离:节点A,B的HashID分别是x,y,则A,B间逻辑距离的计算公式为:d(x,y)=x⊕y;由于HashID的生成依赖于地理位置的划分,所以异或算法计算出的值与地理位置相关,逻辑距离越小,它们之间的地理位置越近;
邻居列表生成:节点的敏感区域是以节点为中心半径为r的圆,与这个圆相交的空间四叉树叶子节点的合集就是邻居区域;如果邻居区域内没有节点,则不断增加r的值,以扩大邻居区域,直到邻居区域中包含有节点为止;邻居区域中的所有节点都加入邻居列表;
S13:节点加入\退出网络;每个用户节点登陆网络时:1、生成该用户节点定位编码;2、生成邻居列表;3、根据当前在虚拟空间中的地理位置加载所需数据;
当节点退出网络,其他节点向其定时发送的心跳信息不再接收响应,该节点将被标识为离线,并不会对网络的稳定性造成影响;
S14:节点移动;
节点移动的过程中,当其跃迁至其他地块,地理编码变动;相应的进行如下改动:1、用户节点编码重新快速生成;2、节点根据新进入视景体的数据进行搜索;3、邻居列表重新生成;4、向邻居列表中离开邻居区域的各节点发送离别请求,向进入邻居区域的新邻居列表各节点发送建交请求。
3.根据权利要求2所述的方法,其特征在于,S2的子步骤如下:
S21:邻居选择;
emule等用于文件分享的P2P软件只需要数据搜索命中率不为零即可正常运行;而由于地理空间中,要保证地理邻居出现的概率,否则就会出现邻居丢失现象;因此DHT的节点搜索方式不可以直接用到虚拟环境中;
当触发邻居选择事件后,节点首先向邻居列表中的节点发送自己的节点信息I,接收到信息的节点经历一个过程P:根据发送节点的前128位Hash值计算出其地理编码计算,通过异或计算来判断自己是否具有相同地理编码,如果有则仍然保持在邻居列表中,然后将I发送至自己的邻居列表,接收到信息的节点执行过程P;这种递归截至的条件是:当该节点与接收信息中地理编码的第64位至第128位都不同的时候,该节点停止递归;可见搜索完全结束的条件是,所有执行P过程的节点与起始节点都有超过(场景边长/24)的距离;这与Kadmelia中通过深度限制递归次数的方法也不同;这其实是一个分布式遍历的过程;
S22:数据搜索;
数据搜索事件触发时,节点将重新计算同本地节点列表中各节点的逻辑距离,即自己的ID和其他节点ID的异或值;向逻辑距离最近的n个节点发送所需数据的索引值,每个在线的节点接收到信息后,不仅在本地搜索,同时也将该地理编码信息向各自的本地节点列表中发送,依此类推;由小世界理论可知,当按照这种方式递归6次时,一定会找到所需要的数据;我们默认递归8次,并以递归次数作为节点的辐射范围;当搜索到所需数据之后,将存有数据的节点加入至本地节点列表中,并开始进行多源传输;
S23:基于IOCP的大量用户节点服务器;
设计基于IOCP服务器;服务器存储着最新登录的用户的用户名、IP、地理编码信息;每个用户登录网络,都会将自己的信息发给服务器记录,然后就同服务器完全断开连接;当用户登录后,如果在他的用户列表中没有活跃用户,就登陆IOCP服务器,下载最新登录的20个用户信息并且添加到自己的邻居列表当中;完成端口和线程池模型可以最好的利用资源,支持大量用户;
S24:传输策略;
当数据搜索完成后,根据搜索到的数据来源节点列表开始传输数据;缓存机制包含两个方面:一是在发送端,发送文件块时,会利用一个一直运行的线程控制发送数据的字节,这是一个限流的过程;二是在接收端,在文件传输前,首先创建一个和源文件相同大小的缓冲区,传输时每个文件块将对号填坑,依次填满缓冲区;当软件退出时,文件没有全部接收完成,会自行记录下载的数据,下次启动时实现断点续传;在传输的过程中,对模型数据采用zip标准压缩,对纹理数据采用Jpeg2000标准压缩;
S25:文件分布;
为提高数据源的数量,不仅在邻居节点保存完整的数据,也将数据分块后,保存在附近节点中;在数据发布端,将每个文件按照hash算法进行切割与运算,把文件划分成大小相等的块,每个块根据文件地理编码和块内容的HashID生成唯一的标识ID;按照文件HashID与客户端地理编码相近的原则发布以及存储,以备资源的搜索;接收端以文件名为参数进行搜索,在联系人列表中寻找ID与此关键字ID相近的联系人进行询问,如果ID匹配,则能找到拥有文件资源的客户端,则进行资源的请求下载。
4.根据权利要求3所述的方法,其特征在于,S3的子步骤如下:
S31:基于图的场景拓扑;
采用层次包围盒来实现场景图形的管理,综合采用包围球和包围盒两种形式来实现场景的包围体层次结构;采用有向无环图结构保存信息;一个场景图包括一个根节点、多级内部的枝节节点,以及多个末端的叶子节点;根节点和枝节节点负责构建图的层次,以及完成某些特定的功能;而叶子节点则保存了某一个或多个可绘制对象的信息;每个节点都维护一个自身的包围体,以此类推,构成一系列分明的层次;
S32:文件元数据划分;
场景图中的节点包括地形、对象等多种类型、根据不同数据类型,采取不同的数据划分方式;
S33:基于四叉树的多尺度地理数据分块;
地理数据包括:对采用Tin三角网构建的地形模型,覆盖在地形表面的真实影像,以及矢量数据;以基于均匀分割的区域四叉树结构划分和索引,四叉树的每一级都代表一个级别的精度;四叉树构建过程为:把整个地形作为根节点,从这个根节点出发,检查根节点是否满足某种分割条件,若不满足,则不分割,并作为叶子节点保存;否则,递归地把根节点不断地分割成相等的四个子节点区域,直到不能再分割为止;最后,将所有叶子节点绘制渲染;
S34:以对象节点为单位的文件分块;
场景中包含多种对象节点,包括:(1)以带有高度属性信息的矢量数据挤压出的建筑信息,(2)通过3DsMax建模导入的三维模型信息,(3)几何体数据;对场景根节点遍历,将根节点下最外层的每个节点作为一个单元;
S35:数据多尺度预处理;
对于地形数据根据四叉树分割的不同层级,划分出LOD数据并存储至外存;对于对象节点,每个节点对象单元都从精致到粗糙生成4级精度数据L1至L4,其中L2和L3为对L1采用塌陷法生成的简化模型,L4利用图像缓存生成的Impostor节点;节点对象单元的纹理依据2:1的长宽比例生成3张简化纹理存储至外存,对应L2-L4四个等级的简化模型;通过调用CUDA库实现了GPGPU将纹理压缩为DTX3格式;不同尺度的外存模型根据需要依次调用,效率比一次性调入mipmap文件要高;
S36:基于剔除结果的数据请求;
对调度前的数据载入采取空间相关调度;对于可以实现动态调度的节点,当某些子节点对场景绘制长期没有参与时,将子节点自动卸载,释放内存空间;反之,也可以即时加载某些不在内存中的子节点,即动态的对其场景子树进行调度控制;
S37:数据定时内存释放;
对调用后数据撤销采用时间相关调度;LOD节点的某个细节层次如果长期不参与场景绘制,则将其卸载,否则将其加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010139697.6A CN111367913A (zh) | 2020-03-03 | 2020-03-03 | 一种面向全空间的数据模型的建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010139697.6A CN111367913A (zh) | 2020-03-03 | 2020-03-03 | 一种面向全空间的数据模型的建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111367913A true CN111367913A (zh) | 2020-07-03 |
Family
ID=71208435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010139697.6A Pending CN111367913A (zh) | 2020-03-03 | 2020-03-03 | 一种面向全空间的数据模型的建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367913A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427449A (zh) * | 2019-08-06 | 2019-11-08 | 深圳市爱培科技术股份有限公司 | 一种在嵌入式设备中搜索地理位置信息的方法及系统 |
CN111800742A (zh) * | 2020-05-20 | 2020-10-20 | 北京掌行通信息技术有限公司 | 一种移动位置数据的管理方法、装置、存储介质及终端 |
CN111814328A (zh) * | 2020-07-07 | 2020-10-23 | 浙江工业大学 | 一种带有飞行区的时空数据立方体的建模与查询方法 |
CN112035707A (zh) * | 2020-08-17 | 2020-12-04 | 深圳市中盛瑞达科技有限公司 | 一种作业转换方法及系统 |
CN112699640A (zh) * | 2021-03-23 | 2021-04-23 | 城云科技(中国)有限公司 | 基于PostgreSQL的地理编码方法和系统 |
CN112966055A (zh) * | 2021-03-08 | 2021-06-15 | 苏州中科蓝迪软件技术有限公司 | 一种实体的多粒度时空对象数据库建立方法 |
CN113449152A (zh) * | 2021-06-24 | 2021-09-28 | 西安交通大学 | 图数据预取器及预取方法 |
CN113507108A (zh) * | 2021-06-08 | 2021-10-15 | 西安理工大学 | 一种基于区域划分的配电网线损估计方法 |
CN113595805A (zh) * | 2021-08-23 | 2021-11-02 | 深圳大生活家科技有限公司 | 一种用于局域网内的个人计算机数据共享方法 |
CN114595299A (zh) * | 2022-02-13 | 2022-06-07 | 厦门精图信息技术有限公司 | 基于KingMap MetaEarth的元宇宙时空编码方法 |
WO2022147923A1 (zh) * | 2021-01-11 | 2022-07-14 | 青岛大学 | 一种面向空间数据的区块网安全组织存储映射方法 |
CN115774861A (zh) * | 2022-12-22 | 2023-03-10 | 广东五度空间科技有限公司 | 一种自然资源多源异构数据汇聚融合服务系统 |
CN116450765A (zh) * | 2023-06-16 | 2023-07-18 | 山东省国土测绘院 | 一种多形态地理实体编码一致性处理方法及系统 |
CN116681215A (zh) * | 2023-07-28 | 2023-09-01 | 四川元祉智慧科技有限公司 | 一种城镇燃气管道网格化最小管理单元划分方法 |
CN116860905A (zh) * | 2023-09-04 | 2023-10-10 | 青岛市勘察测绘研究院 | 一种城市信息模型的空间单元编码生成方法 |
CN117082154A (zh) * | 2023-10-16 | 2023-11-17 | 长沙瑞腾信息技术有限公司 | 基于大数据的双路服务器数据存储系统 |
CN117313892A (zh) * | 2023-09-26 | 2023-12-29 | 上海悦普网络科技有限公司 | 文本处理模型的训练装置和方法 |
CN117555978A (zh) * | 2024-01-10 | 2024-02-13 | 中国科学院地理科学与资源研究所 | 一种地理模型输入数据空间范围的智能化确定方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6956898B1 (en) * | 1998-10-02 | 2005-10-18 | Lucent Technologies Inc. | Method and apparatus for dense motion field based coding |
CN102930047A (zh) * | 2012-11-15 | 2013-02-13 | 中国科学院深圳先进技术研究院 | 虚拟地球用户化身节点检索方法及系统 |
CN102982723A (zh) * | 2011-09-06 | 2013-03-20 | 上海博路信息技术有限公司 | 一种基于地理编码的定位方法 |
CN102999585A (zh) * | 2012-11-15 | 2013-03-27 | 深圳先进技术研究院 | 地理位置相关的散列虚拟地理编码方法及系统 |
CN103093499A (zh) * | 2012-12-26 | 2013-05-08 | 深圳先进技术研究院 | 一种适用于网络传输的城市三维模型数据组织方法 |
CN105630968A (zh) * | 2015-12-23 | 2016-06-01 | 华中师范大学 | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 |
CN110825831A (zh) * | 2019-10-30 | 2020-02-21 | 广州海格星航信息科技有限公司 | 数字孪生城市多尺度空间网格编码方法及装置 |
-
2020
- 2020-03-03 CN CN202010139697.6A patent/CN111367913A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6956898B1 (en) * | 1998-10-02 | 2005-10-18 | Lucent Technologies Inc. | Method and apparatus for dense motion field based coding |
CN102982723A (zh) * | 2011-09-06 | 2013-03-20 | 上海博路信息技术有限公司 | 一种基于地理编码的定位方法 |
CN102930047A (zh) * | 2012-11-15 | 2013-02-13 | 中国科学院深圳先进技术研究院 | 虚拟地球用户化身节点检索方法及系统 |
CN102999585A (zh) * | 2012-11-15 | 2013-03-27 | 深圳先进技术研究院 | 地理位置相关的散列虚拟地理编码方法及系统 |
CN103093499A (zh) * | 2012-12-26 | 2013-05-08 | 深圳先进技术研究院 | 一种适用于网络传输的城市三维模型数据组织方法 |
CN105630968A (zh) * | 2015-12-23 | 2016-06-01 | 华中师范大学 | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 |
CN110825831A (zh) * | 2019-10-30 | 2020-02-21 | 广州海格星航信息科技有限公司 | 数字孪生城市多尺度空间网格编码方法及装置 |
Non-Patent Citations (3)
Title |
---|
吕智涵: "基于网络虚拟现实引擎的宏观与微观空间三维可视化技术研究与应用", 《中国海洋大学》 * |
吕智涵等: "BIM Big Data Storage in WebVRGIS", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 * |
吕智涵等: "WebVR - - Web Virtual Reality Engine Based on P2P network", 《JOURNAL OF NETWORKS》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427449A (zh) * | 2019-08-06 | 2019-11-08 | 深圳市爱培科技术股份有限公司 | 一种在嵌入式设备中搜索地理位置信息的方法及系统 |
CN111800742A (zh) * | 2020-05-20 | 2020-10-20 | 北京掌行通信息技术有限公司 | 一种移动位置数据的管理方法、装置、存储介质及终端 |
CN111800742B (zh) * | 2020-05-20 | 2022-10-28 | 北京掌行通信息技术有限公司 | 一种移动位置数据的管理方法、装置、存储介质及终端 |
CN111814328A (zh) * | 2020-07-07 | 2020-10-23 | 浙江工业大学 | 一种带有飞行区的时空数据立方体的建模与查询方法 |
CN112035707A (zh) * | 2020-08-17 | 2020-12-04 | 深圳市中盛瑞达科技有限公司 | 一种作业转换方法及系统 |
WO2022147923A1 (zh) * | 2021-01-11 | 2022-07-14 | 青岛大学 | 一种面向空间数据的区块网安全组织存储映射方法 |
CN112966055A (zh) * | 2021-03-08 | 2021-06-15 | 苏州中科蓝迪软件技术有限公司 | 一种实体的多粒度时空对象数据库建立方法 |
CN112966055B (zh) * | 2021-03-08 | 2023-10-13 | 苏州中科蓝迪软件技术有限公司 | 一种实体的多粒度时空对象数据库建立方法 |
CN112699640A (zh) * | 2021-03-23 | 2021-04-23 | 城云科技(中国)有限公司 | 基于PostgreSQL的地理编码方法和系统 |
CN113507108A (zh) * | 2021-06-08 | 2021-10-15 | 西安理工大学 | 一种基于区域划分的配电网线损估计方法 |
CN113449152B (zh) * | 2021-06-24 | 2023-01-10 | 西安交通大学 | 图数据预取器及预取方法 |
CN113449152A (zh) * | 2021-06-24 | 2021-09-28 | 西安交通大学 | 图数据预取器及预取方法 |
CN113595805A (zh) * | 2021-08-23 | 2021-11-02 | 深圳大生活家科技有限公司 | 一种用于局域网内的个人计算机数据共享方法 |
CN113595805B (zh) * | 2021-08-23 | 2024-01-30 | 海南房小云科技有限公司 | 一种用于局域网内的个人计算机数据共享方法 |
CN114595299A (zh) * | 2022-02-13 | 2022-06-07 | 厦门精图信息技术有限公司 | 基于KingMap MetaEarth的元宇宙时空编码方法 |
CN114595299B (zh) * | 2022-02-13 | 2024-05-17 | 厦门精图信息技术有限公司 | 基于三维gis平台的元宇宙时空编码方法 |
CN115774861A (zh) * | 2022-12-22 | 2023-03-10 | 广东五度空间科技有限公司 | 一种自然资源多源异构数据汇聚融合服务系统 |
CN116450765A (zh) * | 2023-06-16 | 2023-07-18 | 山东省国土测绘院 | 一种多形态地理实体编码一致性处理方法及系统 |
CN116450765B (zh) * | 2023-06-16 | 2023-08-25 | 山东省国土测绘院 | 一种多形态地理实体编码一致性处理方法及系统 |
CN116681215B (zh) * | 2023-07-28 | 2023-11-03 | 四川元祉智慧科技有限公司 | 一种城镇燃气管道网格化最小管理单元划分方法 |
CN116681215A (zh) * | 2023-07-28 | 2023-09-01 | 四川元祉智慧科技有限公司 | 一种城镇燃气管道网格化最小管理单元划分方法 |
CN116860905A (zh) * | 2023-09-04 | 2023-10-10 | 青岛市勘察测绘研究院 | 一种城市信息模型的空间单元编码生成方法 |
CN116860905B (zh) * | 2023-09-04 | 2023-12-08 | 青岛市勘察测绘研究院 | 一种城市信息模型的空间单元编码生成方法 |
CN117313892A (zh) * | 2023-09-26 | 2023-12-29 | 上海悦普网络科技有限公司 | 文本处理模型的训练装置和方法 |
CN117082154A (zh) * | 2023-10-16 | 2023-11-17 | 长沙瑞腾信息技术有限公司 | 基于大数据的双路服务器数据存储系统 |
CN117082154B (zh) * | 2023-10-16 | 2023-12-15 | 长沙瑞腾信息技术有限公司 | 基于大数据的双路服务器数据存储系统 |
CN117555978A (zh) * | 2024-01-10 | 2024-02-13 | 中国科学院地理科学与资源研究所 | 一种地理模型输入数据空间范围的智能化确定方法 |
CN117555978B (zh) * | 2024-01-10 | 2024-03-19 | 中国科学院地理科学与资源研究所 | 一种地理模型输入数据空间范围的智能化确定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367913A (zh) | 一种面向全空间的数据模型的建模方法 | |
Lv et al. | BIM big data storage in WebVRGIS | |
CN107423368B (zh) | 一种非关系数据库中的时空数据索引方法 | |
Nishimura et al. | -HBase: design and implementation of an elastic data infrastructure for cloud-scale location services | |
CN110599490B (zh) | 一种遥感影像数据存储方法和系统 | |
Lv et al. | Webvrgis: A p2p network engine for vr data and gis analysis | |
Malensek et al. | Polygon-based query evaluation over geospatial data using distributed hash tables | |
Jing et al. | An improved distributed storage and query for remote sensing data | |
Wang et al. | Parallel trajectory search based on distributed index | |
Zhong et al. | A distributed geospatial data storage and processing framework for large-scale WebGIS | |
Malensek et al. | Evaluating geospatial geometry and proximity queries using distributed hash tables | |
Tian et al. | A survey of spatio-temporal big data indexing methods in distributed environment | |
CN108268614A (zh) | 一种森林资源空间数据的分布式管理方法 | |
CN116775661A (zh) | 基于北斗网格技术的空间大数据存储与管理方法 | |
Li et al. | Voxel data management and analysis in PostgreSQL/PostGIS under different data layouts | |
Liu et al. | Analysis of spatial indexing mechanism and its application in data management: A case study on spatialite database | |
Yao et al. | LandQ v1: A GIS cluster-based management information system for arable land quality big data | |
Liu et al. | Research on hybrid index based on 3D multi-level adaptive grid and R+ Tree | |
Schön et al. | Storage, manipulation, and visualization of LiDAR data | |
Dong et al. | The skip-octree: a dynamic cloud storage index framework for multidimensional big data systems | |
Wang et al. | Spatial queries based on learned index | |
Simmonds et al. | Antares: A scalable, real-time, fault tolerant data store for spatial analysis | |
Rovers et al. | Using a generic spatial access method for caching and efficient retrieval of vario-scale data in a server-client architecture | |
Zhang et al. | Efficiently managing large-scale raster species distribution data in PostgreSQL | |
Chen et al. | Large vector spatial data storage and query processing using Clickhouse |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200703 |
|
RJ01 | Rejection of invention patent application after publication |