CN101692229A - 基于数据内容的三维空间数据自适应多级缓存系统 - Google Patents
基于数据内容的三维空间数据自适应多级缓存系统 Download PDFInfo
- Publication number
- CN101692229A CN101692229A CN200910063371A CN200910063371A CN101692229A CN 101692229 A CN101692229 A CN 101692229A CN 200910063371 A CN200910063371 A CN 200910063371A CN 200910063371 A CN200910063371 A CN 200910063371A CN 101692229 A CN101692229 A CN 101692229A
- Authority
- CN
- China
- Prior art keywords
- dimensional space
- cache
- data
- space data
- dimensions
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于数据内容的三维空间数据自适应多级缓存系统,该系统的三维空间数据多级缓存采用缓存池的设计思想,通过基于数据内容的三维空间数据分类方法,将三维空间数据在缓存进行分类组织、分池管理;其中包括位于客户端的三维空间数据绘制缓存(一级缓存)、三维空间数据内存缓存(二级缓存)、三维空间数据文件缓存(三级缓存)、以及位于数据库服务器端的三维空间数据引擎服务缓存(四级缓存)。四级缓存分别由各自的缓存管理模块来控制,并通过多级缓存自适应管理模块统一管理客户端和数据库服务器端的多级缓存,自适应对各级缓存进行调整。本发明大幅提高了大规模三维空间数据动态调度的效率,为满足三维实时可视化提供了有效的解决方法。
Description
技术领域
本发明属于地理空间信息系统技术领域,特别是涉及一种基于数据内容的三维空间数据自适应多级缓存系统。
背景技术
随着计算机技术和数据获取技术的迅速发展,具有三维数据处理能力的三维GIS的发展受到了极大的关注,并在日益增长的三维空间信息需求的牵引和蓬勃发展的现代新兴技术的驱动下得到了稳步发展。从二维GIS到三维GIS,虽然空间维数只增加了一维,但基于此既包容了几乎所有丰富的空间信息,也突破了常规二维表示对真实世界表达的束缚,为更好地洞察和理解现实世界提供了多种多样的选择。但是,表达三维GIS数据内容的三维空间数据较之传统的二维空间数据要复杂得多,主要体现在地上地下三维空间实体的语义、几何与纹理等属性多样、数据量庞大、三维空间对象之间的相互关系错综复杂等方面。在现有计算机硬件条件下,TB级的大规模三维空间数据的三维实时可视化是目前三维GIS亟需突破的难题。为了提高三维空间数据从三维空间数据库中动态调度的效率,满足三维实时可视化的快速数据请求,高效的缓存机制成为有效的解决方法之一。
在计算机技术的发展过程中,缓存技术一直具有非常重要的作用,可以有效地减少网络通信量、减轻服务器的负载和降低用户等待时间等。在缓存技术的研究领域,依据缓存技术的应用领域不同,主要有存储器缓存技术、磁盘缓存技术、Web服务器的缓存技术以及数据缓存技术等;根据缓存的应用位置不同可以分为:客户机端数据缓存系统、集中式数据缓存系统、分布式数据缓存系统以及虚拟数据缓存系统等。对于缓存技术论述的相关文献有:R.Karedla,J.S.Love,B.G.Wherry,Caching strategies to improve disk system performance.IEEEComputer,1994;G.Barish,K.Obraczka.World Wide Web Caching:Trends andTechniques.IEEE Communication Magazine Internet Technology Series,2000;涂小朋,汪林林.分布式空间数据库中基于事务的客户端高速缓存技术研究.计算机科学,2004;徐尤南.数据缓冲技术在客户/服务器环境下的应用.计算机应用,2001。
现有的缓存策略主要包括的LFU(Least Frequently Used)、LRU(Least RecentlyUsed)、FIFO队列等,LFU算法关注访问频率,LRU算法关注最近访问的历史,FIFO是一种先入先出队列。LRFU缓冲区页面置换算法结合了LFU和LRU两种置换策略,兼顾访问时间(Recency)和访问次数(Frequency)两个值,其原则是最近的一次访问所占的权值最大,越往后其权值越小。这些经典的缓存策略主要针对非空间数据,利用了时间局部性原理,即最近访问的数据在最近的将来被访问的概率比较大。而三维空间数据具有三维空间局部性的特性,即若一个区域中的数据被访问,那么此区域中其它数据被访问的可能性也很大。因此在三维空间数据的缓存管理技术中三维空间局部性也要被考虑在内,但传统的缓存管理技术对此没有涉及。Jun-KiMin提出的BEAST算法(Buffer Replacement Algorithmusing Spatial and Temporal locality)是在LRU的基础上,考虑了空间局部性,利用两个LRU缓存队列得以实现的,提高了空间数据库的存访效率,但这些算法针对的是空间数据库系统,很难扩展到应用级的系统。Lee D,Choi J,Kim J H,etal.LRFU:a spectrum of policies that subsumes the least recently used and leastfrequently Used Policies.IEEE Trans Computers,2001;Edith Cohen,Haim Kaplan,Uri Zwick.Competitive analysis of the LRFU paging algorithm.Source,LectureNotes In Computer Science,2002;李占胜,毕会娟,李艳平,张立松.一种对LRFU置换策略的自适应改进.计算机工程与应用,2008;李东军,曾国荪.一种基于四叉树的空间数据缓存策略.计算机工程与应用,2008。Min J K.BEAST:a bufferreplacement algorithm using spatial and temporal locality.LNCS 3981:ICCSA 2006,2006。
为了提高空间数据的显示效率,越来越多的GIS商业软件开始采用缓存技术,如ArcGIS提供二维、三维缓存技术,并结合应用需求,支持融合缓存、多图层缓存、按需缓存,满足实际需要。ArcGlobe的缓存通过切片方案(Tiling scheme)预先定义,并分层(Multi-layer)创建。国内SuperMap iServer系列产品提供多级缓存机制,其内嵌的地图网格缓存技术和智能客户端技术,在不同层次上进行性能优化,实现了高效的数据缓存和应用缓存,对应用及其相关数据进行高速缓存,智能客户端技术具有本地缓存、断点续传、本地渲染、即时局部数据获取特点,但是SuperMap iServer主要针对传统的二维空间数据缓存而设计。适用于对象存储网络的分布式多级缓存系统的发明专利在客户端、对象存储节点设置三级缓存提供缓存系统及其缓存策略,但并不适合空间数据的管理特点。Google Earth、Virtual Earth 3D等数字地球系统等通过在客户端建立磁盘文件缓存,来减少访问服务器的次数,提高数据调度的效率,但这些软件主要针对地形和影像进行处理,并未真正处理大规模的三维城市模型数据,而且都难以兼顾地上地下三维空间数据的一体化处理。相关文献有:Yingwei Luo,XiaolinWang,and Zhuoqun Xu,2004.A Cache Mechanism for Component-Based WebGIS;朱欣焰.面向网络的海量影像空间数据在线分发技术.武汉大学学报信息科学版,2003;Amiri,K.,Park,S.,Tewari,R.,Padmanabhan,S,2003:DBProxy:Adynamic data cache for web applications.In:ICDE Conference;http://www.supermap.com.cn/;http://www.esri.com/。
发明内容
本发明的目的在于提高大规模三维空间数据动态调度的效率,解决大规模三维空间数据实时可视化的性能瓶颈,提供一种基于数据内容的三维空间数据自适应多级缓存系统。
一种三维空间数据自适应多级缓存系统,系统包括有客户端和数据库服务器端,客户端和数据库服务器端建立通信连接;包括有四级缓存和相应的各级缓存管理模块,以及位于数据库服务器端的多级缓存自适应管理模块和三维空间数据库,各级缓存中基于三维空间数据的内容类型建立有相应缓存池;所述四级缓存和相应的各级缓存管理模块,即位于客户端的三维空间数据绘制缓存和三维空间数据绘制缓存管理模块、三维空间数据内存缓存和三维空间数据内存缓存管理模块、三维空间数据文件缓存和三维空间数据文件缓存管理模块,以及位于数据库服务器端的三维空间数据引擎服务缓存和三维空间数据引擎服务缓存管理模块;
所述三维空间数据绘制缓存管理模块,用于提供一级缓存,负责实时更新三维空间数据绘制缓存中用于三维场景可视化的三维空间数据;
所述三维空间数据内存缓存管理模块,用于提供二级缓存,负责三维空间数据内存缓存的缓存空间申请、分配与回收,以及缓存中三维空间数据的查找与替换;
所述三维空间数据文件缓存管理模块,用于提供三级缓存,负责三维空间数据文件缓存的三维空间数据组织与管理;
所述三维空间数据引擎服务缓存管理模块,用于提供四级缓存,负责三维空间数据引擎服务缓存的三维空间数据预取、查找与替换;
所述多级缓存自适应管理模块,统一管理四级缓存与相应的各级缓存管理模块,负责各级缓存的一致性维护,以及对各级缓存进行自适应调整。;
其中,三维空间数据绘制缓存、三维空间数据内存缓存、三维空间数据引擎服务缓存和三维空间数据库之间依次建立数据传输通道,三维空间数据文件缓存与三维空间数据内存缓存之间建立数据传输通道;多级缓存自适应管理模块与各级缓存管理模块分别建立传输管理信息的连接,各级缓存管理模块分别与所管理的缓存建立传输管理信息的连接。
而且,三维空间数据自适应多级缓存系统提供用于实现三维场景实时可视化的三维空间数据,当三维场景发生变化需要三维空间数据绘制缓存中没有的新三维空间数据时,进行以下步骤,
步骤2.1,由三维空间数据绘制缓存管理模块向三维空间数据内存缓存管理模块发出数据查询请求;
步骤2.2,三维空间数据内存缓存管理模块在三维空间数据内存缓存中查找,如果命中,则返回命中的数据到三维空间数据绘制缓存;否则未命中,则发送数据查询请求到三维空间数据文件缓存管理模块;
步骤2.3,三维空间数据文件缓存管理模块在三维空间数据文件缓存中查找,如果命中,则从三维空间数据文件缓存中读取命中的数据,返回给三维空间数据内存缓存,由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;否则未命中,则发送数据查询请求到数据库服务器端;
步骤2.4,数据库服务器端接收客户端的数据查询请求,首先验证用户的合法性,合法则建立客户端与数据库服务器端的连接,否则不合法,则拒绝连接,返回连接错误信息;
步骤2.5,建立连接后,数据查询请求由三维空间数据引擎服务缓存管理模块处理,三维空间数据引擎服务缓存管理模块在三维空间数据引擎服务缓存中查找是否命中,如果命中,则将命中的数据返回到客户端,否则未命中,则向三维空间数据库发送数据查询请求;
步骤2.6,三维空间数据库根据数据查询请求查找到命中的数据后,返回该数据到三维空间数据引擎服务缓存,三维空间数据引擎服务缓存管理模块将该数据返回给客户端,并保存在三维空间数据引擎服务缓存中;
步骤2.7,三维空间数据内存缓存管理模块将数据库服务器端所返回命中的数据保存在三维空间数据内存缓存中,并由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;并在客户端资源较空闲时,将该数据保存到三维空间数据文件缓存中。
而且,系统内的三维空间对象通过唯一的三维空间对象ID进行标识,所述三维空间数据内存缓存管理模块和三维空间数据引擎服务缓存管理模块的三维空间对象替换,实现过程包括以下步骤,
步骤3.1,申请缓存空间,从缓存空间划分出三维R树索引数据缓存池、三维空间对象缓存池,配置每个缓存池的大小;
所述三维R树索引数据缓存池,用于存储三维空间数据的三维R树空间索引数据,所述三维R树空间索引数据包括有系统中所有三维空间对象的三维空间对象ID和最小外包围盒;
所述三维空间对象缓存池,用于存储三维空间对象;为三维空间对象缓存池中存有的三维空间对象建立3DSRtree-LRFU链表,所述3DSRtree-LRFU链表基于三维R树索引数据来建立;
步骤3.2,当三维空间数据绘制缓存管理模块发出的数据查询请求是针对三维空间对象的请求时,首先在三维空间对象缓存池中查找是否命中,如果命中,则将命中的三维空间对象访问频率+1,重新计算其最近访问时间和访问频率的综合加权值,更新命中的三维空间对象在3DSRtree-LRFU链表中的位置,进入步骤3.6;否则不命中,进入步骤3.3;
步骤3.3,判断三维空间对象缓存池中是否有空闲空间,如果有则进入步骤3.5,否则按照步骤3.3.1~3.3.3选取待替换的三维空间对象;
步骤3.3.1,在三维R树索引数据缓存池中获取满足数据查询请求的三维空间对象个数为n;
步骤3.3.2,在3DSRtree-LRFU链表的尾部,依次选取n×2个三维空间对象;
步骤3.3.3,在三维R树索引数据缓存池中对选取的n×2个三维空间对象的最小包围盒进行比较,选择与数据查询请求所涉及空间范围最不临近的n个三维空间对象作为待替换的三维空间对象;
步骤3.4,将选定的n个待替换的三维空间对象从3DSRtree-LRFU链表和三维空间对象缓存池中删除,更新3DSRtree-LRFU链表,进入步骤3.5;
步骤3.5,当从三维空间数据文件缓存或三维空间数据引擎服务缓存或三维空间数据库中获取命中的三维空间对象时,将新获取的所有三维空间对象访问频率设为0,计算当前的最近访问时间和访问频率的综合权值,根据该综合权值将新获取的三维空间对象插入到3DSRtree-LRFU链表中;
步骤3.6,替换操作结束。
而且,三维空间数据引擎服务缓存管理模块从申请的缓存空间中划分出空间查询范围缓存池,用于存储已查询过的空间范围,所述三维空间数据引擎服务缓存管理模块的缓存数据查找,实现过程包括以下步骤,
步骤4.1,接收客户端发送的数据查询请求,分析数据查询请求的类型,若为空间范围查询请求,进入步骤4.2,否则为三维空间对象ID查询请求,进入步骤4.5;
步骤4.2,将数据查询请求所涉及空间范围,在空间查询范围缓存池中进行比较,若在空间查询范围缓存池中未找到与该请求所涉及空间范围重合或相交的空间范围,则进入步骤4.3,否则进入步骤4.4;
步骤4.3,以数据查询请求所涉及空间范围作为空间查询条件,在三维空间数据库中查询所有该空间范围内的所有符合要求的三维空间数据,进入步骤4.7;
步骤4.4,在三维R树索引数据缓存池中查找该空间范围内的所有符合查询请求的三维空间对象ID,进入步骤4.5;
步骤4.5,将获取的三维空间对象ID在三维空间对象缓存池中查找,将命中的三维空间对象直接返回,将未命中的三维空间对象ID放在按需查询任务队列中;
步骤4.6,按需查询任务请求队列中的查询任务进行分解,启动多线程向三维空间数据库中提取满足查询请求的三维空间数据;
步骤4.7,将从三维空间数据库获取的三维空间数据返回给客户端,并同时保存在三维空间数据引擎服务缓存中;
步骤4.8,查找结束。
而且,所述三维空间数据引擎服务缓存管理模块的缓存数据预取,实现过程包括以下步骤,
步骤5.1,三维空间引擎服务缓存管理模块建立按需查询任务队列、空间范围预取任务队列和三维空间对象ID预取任务队列,在按需查询任务队列中保存客户端发送过来的全部数据查询请求;
步骤5.2,定时从按需查询任务队列中获取最新的数据查询请求;
步骤5.3,将获取的数据查询请求按照请求时间的先后进行排序,统计分析数据查询请求的空间范围变化趋势,预测得出三维场景视点运动方向和预可见空间范围;
步骤5.4,根据当前场景可见的数据内容得到预取数据类型,将预可见空间范围和预取数据类型存入空间范围预取任务队列;根据预测的三维场景视点运动方向和当前场景内三维空间对象的多细节层次信息,预测可能发生多细节层次变化的三维空间对象,将其ID和预测的多细节层次级别存入三维空间对象ID预取任务队列;
步骤5.5,监测数据库服务器端的资源利用率,当资源较空闲时,启动预取多线程,分别执行空间范围预取任务队列和三维空间对象ID预取任务队列,向三维空间数据库中预取符合数据查询请求的三维空间数据;
步骤5.6,将从三维空间空间数据库中预取的三维空间数据保存在三维空间引擎服务缓存中;
步骤5.7,预取结束。
本发明提供的三维空间数据自适应多级缓存系统通过客户端和数据库服务器端建立自适应的多级缓存及其缓存管理策略,提高了系统I/O处理能力,大幅提高三维空间数据的调度效率,减少大规模三维空间数据网络传输的负担,降低了数据库服务器的工作负载。从而解决了现有三维GIS系统访问请求延迟较大、大规模复杂场景动态漫游不流畅的问题,并且,本发明提出基于数据内容进行三维空间数据缓存,按照三维空间数据类型在缓存中进行分类组织、分池管理,可以进一步提高三维空间数据调度效率。
附图说明
图1为本发明的三维空间数据自适应多级缓存系统示意图;
图2为本发明的三维空间数据多级缓存工作流程图;
图3为本发明的三维空间数据内存缓存与三维空间数据引擎服务缓存的三维空间对象替换算法流程图;
图4为本发明的三维空间数据内存缓存与引擎服务缓存数据查找流程图;
图5为本发明的三维空间数据引擎服务缓存数据预取流程图;
图6为本发明的三维空间数据多级缓存一致性维护流程图;
具体实施方式
以下结合附图详细说明本发明的技术方案:
现有空间数据库系统包括客户端和数据库服务器端,客户端和数据库服务器端建立通信连接,一般是通过高速局域网实现通信连接。由于数据库服务器端采用数据库技术存储海量的三维空间数据,当用户通过客户端观看三维场景时,数据库服务器端向客户端提供相应三维空间数据。因此数据库服务器端一般采用服务器提供三维空间数据库实现,客户端采用PC机实现。本发明在系统中设计了四级缓存和相应的各级缓存管理模块,所谓四级缓存是位于客户端的三维空间数据绘制缓存(一级缓存)、三维空间数据内存缓存(二级缓存)、三维空间数据文件缓存(三级缓存),位于数据库服务器端的三维空间数据引擎服务缓存(四级缓存)。具体实施时,三维空间数据绘制缓存与三维空间数据内存缓存均在客户端内存中实现,三维空间数据文件缓存在客户端硬盘上实现,三维空间数据引擎服务缓存在服务器端的内存中实现,海量三维空间数据库基于典型的商业关系数据库管理系统来实现,部署在数据库服务器端。
本发明的四级缓存分别由各自的缓存管理模块来控制。三维空间数据绘制缓存管理模块负责三维空间数据绘制缓存中三维场景可视化所需三维空间数据的实时更新,通过专门针对快速三维场景可视化的缓存数据组织,减少实时绘制时因频繁的状态切换等原因引起的时间消耗;三维空间数据内存缓存管理模块用于负责客户端三维空间数据内存缓存的缓存空间申请、分配与回收,以及缓存中三维空间数据的快速查找与替换,三维空间数据内存缓存的高命中率可以极大的提高客户端三维空间数据获取的效率;三维空间数据文件缓存管理模块用于负责客户端三维空间数据文件缓存中三维空间数据高效组织与管理,三维空间数据文件缓存的命中可以避免访问数据库服务器,极大减少网络通信量;三维空间数据引擎服务缓存管理模块负责数据库服务器端三维空间数据引擎服务缓存的三维空间数据预取、查找与替换,通过缓存数据预取技术,可以减少访问低速的磁盘存储设备频率,提高数据访问效率;多级缓存自适应管理模块统一管理四级缓存和各级缓存管理模块,统一对各级缓存进行一致性维护,自适应对各级缓存进行缓存空间、缓存替换策略等方面的调整。因此各缓存管理模块要与各自管理的缓存之间建立交换管理信息的连接,多级缓存自适应管理模块则与四个缓存管理模块分别建立交换管理信息的连接。参见图1,为了实现四级缓存,三维空间数据绘制缓存、三维空间数据内存缓存、三维空间数据引擎服务缓存和三维空间数据库之间依次建立数据传输通道,三维空间数据文件缓存与三维空间数据内存缓存之间建立数据传输。本发明的三维空间数据自适应多级缓存系统实现三维场景可视化时,三维场景实时可视化的数据都在三维空间数据绘制缓存中进行管理,当场景更新需要调入新数据时,由三维空间数据绘制缓存管理模块针对客户请求向三维空间数据内存缓存管理模块发出数据查询请求,实施例中的工作流程如图2所示,包括如下步骤,
步骤2.1,由三维空间数据绘制缓存管理模块向三维空间数据内存缓存管理模块发出数据查询请求;
步骤2.2,三维空间数据内存缓存管理模块在三维空间数据内存缓存中查找,如果命中,则返回命中的数据到三维空间数据绘制缓存;否则未命中,则发送数据查询请求到三维空间数据文件缓存管理模块;
步骤2.3,三维空间数据文件缓存管理模块在三维空间数据文件缓存中查找,如果命中,则从三维空间数据文件缓存中读取命中的数据,返回给三维空间数据内存缓存,由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;否则未命中,则发送数据查询请求到数据库服务器端;
步骤2.4,数据库服务器端接收客户端的数据查询请求,首先验证用户的合法性,合法则建立客户端与数据库服务器端的连接,否则不合法,则拒绝连接,返回连接错误信息;
步骤2.5,建立连接后,数据查询请求由三维空间数据引擎服务缓存管理模块处理,三维空间数据引擎服务缓存管理模块在三维空间数据引擎服务缓存中查找是否命中,如果命中,则将命中的数据返回到客户端(同样可以沿数据传输通道返回客户端的三维空间数据内存缓存,由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;并在客户端资源较空闲时,将该数据保存到三维空间数据文件缓存中),否则未命中,则向三维空间数据库发送数据查询请求;
步骤2.6,三维空间数据库根据数据查询请求查找到命中的数据后,返回该数据到三维空间数据引擎服务缓存,三维空间数据引擎服务缓存管理模块将该数据返回给客户端(具体返回到客户端后的处理即为步骤2.7),并保存在三维空间数据引擎服务缓存中;
步骤2.7,三维空间数据内存缓存管理模块将数据库服务器端所返回命中的数据保存在三维空间数据内存缓存中,并由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;并在客户端资源较空闲时,将该数据保存到三维空间数据文件缓存中。
实施例只考虑三维空间数据库提供了所有所需数据的情况,因此如果四级缓存都没有命中,就是在三维空间数据库中通过查询命中。值得注意的是,步骤2.2、2.3、2.5中无论是直接或间接,都是将命中的数据发至三维空间数据绘制缓存,对三维空间数据绘制缓存进行更新以便向用户呈现新的三维场景。为了效率起见,三维空间数据引擎服务缓存中的数据不提交给三维空间数据文件缓存,而是直接更新三维空间数据内存缓存,只在适当时机更新三维空间数据文件缓存。一般是客户端资源较空闲时自动更新三维空间数据文件缓存,或者在客户端的程序关闭的时候,把所有更新的数据一次性存储在三维空间数据文件缓存中。
与二维空间数据相比,三维空间数据要复杂得多,主要体现在地上地下三维目标的语义、几何与纹理等属性多样、数据量庞大、模型之间的相互关系错综复杂等方面。因此,如果将所有类型的三维空间数据混在一起放在缓存中进行管理,势必造成缓存查找的效率不高且更新维护困难等问题。因此,为了提高缓存查找的效率、降低更新维护困难,本发明提出,各级缓存一方面采用缓存池的设计思想进行实现;另一方面通过基于数据内容的三维空间数据分类方法,将三维空间数据进行分类,不同类型的三维空间数据放在不同的缓存池中管理。三维空间数据基于数据内容主要分为以下几种类型:元数据、三维空间索引数据、地形数据、三维模型数据与属性数据,其中三维模型数据按数据内容可进一步划分为地上下建筑模型、交通设施模型、管线模型、地质体模型和其它设施模型。因此具体实施时,可以按照涉及的三维空间数据的类型,为各级缓存分别建立元数据缓存池、三维空间索引数据池、地形数据池等。
以下说明各管理模块的实现:
1.三维空间数据绘制缓存管理模块
本发明的三维空间数据绘制缓存的管理对象为当前帧绘制涉及的所有三维空间数据,直接用于用户三维实时可视化。三维实时可视化过程中帧与帧的之间的视点变化将引起可视数据集的变化,每帧需要的新数据都从三维空间数据内存缓存中获取,并将不需要的数据及时清除。因此,三维空间数据绘制缓存的数据都是从三维空间数据内存缓存中进行实时获取。
为了加速三维场景的绘制速度,实施例的三维空间数据绘制缓存采用场景树组织结构X3D格式构建三维场景模型,三维场景模型的根结点下面分为场景树与空间索引结构。其中场景树下面首先分类为:可视化信息和非可视化信息。这些分类的下面按照空间信息的属性,将其分为不同的层,可视化信息分为建筑层、交通层、管线层、地质体层等;非可视化信息分为工程层、相机路径层等。三维空间绘制缓存中的三维空间数据空间索引采用KD树算法。由于节点在空间分布并不是均匀的,如果按照均匀的方式进行空间剖分的话,遍历过程中的可见性剔除效果就会很差,因此采用非均值剖分的方式构建K-D树。
构造K-D树的过程是从上到下的递归剖分过程,建立代价函数来计算每一种可能的剖分平面所产生的代价函数,代价函数定义如下:
L.surfaceArea*L.numObjects+R.surfaceArea*R.numObjects
其中,L、R分别是左右子树,surfaceArea为左右子树的表面积,numObjects为左右子树的集合物体的个数。
2.三维空间数据内存缓存管理模块和三维空间数据引擎服务缓存管理模块
本发明客户端的三维空间数据内存缓存由三维空间数据内存缓存管理模块来控制,数据库服务器端的三维空间数据引擎服务缓存由三维空间数据引擎服务缓存管理模块来控制。由于三维空间数据内存缓存和三维空间数据引擎服务缓存都是在内存中实现,因此这两个缓存采用了基本一致的缓存数据组织方法和替换策略。三维空间数据内存缓存的高命中率可以减少读取本地硬盘和访问数据库服务器的次数,三维空间数据引擎服务缓存的高命中率可以减少访问三维空间数据库的频率,因此都可以非常明显提高数据调度的效率。
实施例通过基于数据内容的三维空间数据分类方式,三维空间数据内存缓存和三维空间数据引擎服务缓存将缓存空间分为多个独立的缓存池,包括元数据缓存池、三维R树索引数据缓存池、空间范围缓池、三维空间对象缓存池、纹理数据缓存池、共享模型数据缓存池、地形数据缓存池,每个的缓存池都分配一块独立的内存空间进行管理。元数据缓存池用于存储三维空间数据的描述性信息,如工程信息、工作区信息等;三维R树索引数据缓存池存储三维空间数据的三维R树索引数据,可以极大的提高缓存的查找效率;空间范围缓存池存储已查询过的空间范围;三维空间对象缓存池用于存储三维空间对象,三维空间对象是以对象方式存储的三维模型数据的几何数据,每个三维空间对象都通过唯一的ID进行标识;材质数据缓存池用于存储三维模型数据的材质数据;纹理数据缓存池用于存储三维模型数据的纹理数据;共享模型数据缓存池用于存储3ds、CAD等格式的共享模型数据;地形数据缓存池存储数据高程模型(DEM)数据和数字正射影像(DOM)数据,其中地形数据按照金字塔分层组织,金字塔层之间的分辨率保证是2的倍数关系,每个金字塔层的地形数据进行分块,每个数据块进行四叉树编码。具体实施时,系统可以根据实际的三维空间数据的数据量、数据访问频率等统计分析情况,对各缓存池的大小进行自适应调整。
高效的缓存替换算法是提高缓存命中率的关键,目前LRU算法和LFU算法是两种广泛应用的缓存替换算法,LRU算法利用上一次访问的时间特性,对访问特性的变化比较敏感,但没有考虑数据访问的全局特性;LFU算法则使用所有访问的频率信息,考虑数据访问的整体特性,但不能适应数据访问模式的变化和阵发性的访问。将LRU和LFU结合起来的LRFU算法,通过权值函数,兼顾访问时间和访问次数两个值,其原则是最近的一次访问所占的权值最大,越往后其权值越小。但是,LRFU算法未考虑三维空间数据的空间临近性特点,即如果用户访问了某个三维空间对象,用户很可能继续访问该三维空间对象或访问与其空间上临近的三维空间对象,所以在空间上临近的三维空间对象一般具有相似的访问频率。
由于三维R树构造算法充分考虑了三维空间的邻近性原则,三维空间相邻的对象聚集于R树相同的节点或者邻近兄弟节点中,并且其固有的树状层次结构具备从全局空间迅速锁定局部空间的能力,从而加速真三维空间查询,只需极少数的计算量就能从三维空间中获取满足指定查询请求的三维空间数据。因此,本发明以三维R树空间索引为基础,结合三维空间数据的空间区域连续性访问原理,设计了3DSRtree-LRFU(基于三维R树空间索引的LRFU)替换算法。
在3DSRtree-LRFU算法中,通过对LRFU算法中每个在缓存队列中的对象和一个量化对象最近将来被访问可能性的CRF(最近访问时间和访问频率的综合加权)值相关联。设缓存对象被访问n次,则其CRF值为:
CRF是一个介于0和1/2之间的数。3DSRtree-LRFU总是选择缓存链表尾部的空间对象作为替换的牺牲者。在3DSRtree-LRFU中,并不是根据CRF值来选择替换的对象,而是当某个空间对象被访问时根据CRF值来决定空间对象在3DSRtree-LRFU链表中的位置。设当前3DSRtree-LRFU链表长度为L,则将被访问对象插入到队列的CRF×L处。当对象第一次被访问时,n=1,CRF=1/2,则将此对象插入到队列的中间;随着对象被访问次数的增多,CRF渐渐趋向于0,最终插入到链表的头部。
步骤2.2中在三维空间数据内存缓存中查找数据,以及基于本发明设计的3DSRtree-LRFU算法,三维空间数据内存缓存管理模块对三维空间数据内存缓存内的三维空间对象替换流程如图3所示,包括以下步骤:
步骤3.1,申请缓存空间,从缓存空间划分出三维R树索引数据缓存池、三维空间对象缓存池,配置每个缓存池的大小;
所述三维R树索引数据缓存池,用于存储三维空间数据的三维R树空间索引数据。本发明实施例的三维R树空间索引数据包括有系统中所有三维空间对象的ID和最小外包围盒信息,从而在使用三维R树空间索引时,不需要去三维空间数据库中查询索引数据,可以直接从三维R树索引数据缓存池中获取,提高了索引检索的效率。
所述三维空间对象缓存池,用于存储三维空间对象;为三维空间对象缓存池中存有的三维空间对象缓存池建立3DSRtree-LRFU链表,所述3DSRtree-LRFU链表基于三维R树空间索引数据建立。
具体实施时,在客户端系统启动后,首先申请三维空间数据内存缓存的空间,除了考虑三维R树索引数据缓存池和三维空间对象缓存池还对应其它数据类型,将缓存空间分为元数据缓存池、三维R树索引数据缓存池、空间范围缓存池、地形数据缓存池、三维空间对象缓存池、材质数据缓存池、纹理数据缓存池、共享模型数据缓存池和地形数据缓存池,然后初始化每个缓存池的大小。
步骤3.2,当三维空间数据绘制缓存管理模块发出的数据查询请求是针对三维空间对象的请求时,首先查找在三维空间对象缓存池中是否命中,如果命中,则将命中的三维空间对象访问频率+1,重新计算其最近访问时间和访问频率的综合加权值,更新命中的三维空间对象在3DSRtree-LRFU链表中的位置,进入步骤3.6;否则不命中,进入步骤3.3;
步骤3.3,判断三维空间对象缓存池中是否有空闲空间,如果有则进入步骤3.5,否则按照步骤3.3.1~3.3.3选取待替换的三维空间对象;
步骤3.3.1,在三维R树索引数据缓存池中获取满足数据查询请求的三维空间对象个数为n;
步骤3.3.2,在3DSRtree-LRFU链表的尾部,依次选取n×2个三维空间对象;
步骤3.3.3,在三维R树索引数据缓存池中对选取的n×2个三维空间对象的最小包围盒进行比较,选择与数据查询请求所涉及空间范围最不临近的n个三维空间对象作为待替换的三维空间对象;
步骤3.4,将选定的n个待替换的三维空间对象从3DSRtree-LRFU链表和三维空间对象缓存池中删除,更新3DSRtree-LRFU链表,进入步骤3.5;
步骤3.5,当从三维空间数据文件缓存或三维空间数据引擎服务缓存或三维空间数据库中获取命中的三维空间对象时,将新获取的所有三维空间对象访问频率设为0,计算当前的最近访问时间和访问频率的综合权值,根据该综合权值将新获取的三维空间对象插入到3DSRtree-LRFU链表中;
步骤3.6,替换操作结束。
本发明实施例的3DSRtree-LRFU算法利用了三维R树索引在三维空间查询中的优势,充分考虑了三维空间数据的空间临近性的特点,利用了空间区域连续性访问原理,同时结合了时间局部性上经典的LRU算法和LFU算法,具有较好的缓存对象替换效果。
三维空间数据引擎服务缓存管理模块对三维空间数据引擎服务缓存内的三维空间数据替换与上述过程类似,但由于四级缓存机制,步骤3.5中只可能从三维空间数据库中获取命中的三维空间对象。而三维空间数据内存缓存管理模块则还可能从其它缓存获取,包括三维空间数据文件缓存和三维空间数据引擎服务缓存。实施例中,三维空间数据引擎服务缓存也相应设置元数据缓存池、三维R树索引数据缓存池、空间范围缓存池、地形数据缓存池、三维空间对象缓存池、材质数据缓存池、纹理数据缓存池、共享模型数据缓存池和地形数据缓存池。在系统启动时,三维空间数据引擎服务缓存管理模块将元数据和三维R树索引数据从三维空间数据库中提取出来,分别保存到元数据缓存池和三维R树索引数据缓存池,这两个缓存池一般不发生替换操作。空间范围缓存池保存已查询的空间范围信息,当该空间范围内的数据被替换掉后,该空间范围信息也必须从空间范围缓存池中删除。材质数据、纹理数据和共享模型数据都是与三维空间对象建立关联,不保存空间坐标信息,因此材质数据缓存池、纹理数据缓存池和共享模型数据缓存池直接采用LRFU算法实现缓存数据的替换。
在数据库技术支持下,客户端发出的数据查询请求可以包括对空间范围查询请求和三维空间对象ID查询。实施例针对这两种情况,提供三维空间数据引擎服务缓存管理模块的缓存数据查找过程。具体实施时,三维空间数据引擎服务缓存管理模块申请三维空间数据引擎服务缓存空间,监听客户端发出的数据查询请求。三维空间数据引擎服务缓存管理模块接收到客户端发出的数据查询请求后,首先验证客户端的用户信息是否合法,如果合法则建立连接,否则,不合法则拒绝连接,向客户端返回连接错误信息。
建立连接后,进行以下具体步骤,参见图4:
步骤4.1,接收客户端发送的数据查询请求,分析数据查询请求的类型,若为空间范围查询请求,进入步骤4.2,否则为三维空间对象ID查询请求,进入步骤4.5;
其中,空间范围查询请求是指查询条件是给定的矩形、或多边形等空间范围,三维空间对象ID查询是指查询条件是一系列三维空间对象的唯一ID标识号。
步骤4.2,将数据查询请求所涉及空间范围,在空间查询范围缓存池中进行比较,若在空间查询范围缓存池中未找到与该请求所涉及空间范围重合或相交的空间范围,则进入步骤4.3,否则进入步骤4.4;
步骤4.3,以数据查询请求所涉及空间范围作为空间查询条件,在三维空间数据库中查询所有该空间范围内的所有符合要求的三维空间数据,进入步骤5.7;
步骤4.4,在三维R树索引数据缓存池中查找该空间范围内的所有符合查询请求的三维空间对象ID,进入步骤45;
步骤4.5,将获取的三维空间对象ID在三维空间对象缓存池中查找,将命中的三维空间对象直接返回,将未命中的三维空间数据对象ID放在按需查询任务队列中;
按需查询任务队列用于存储未命中的数据查询请求,每个数据查询请求作为队列中的一项,所有未命中的数据查询请求会在这个队列中排队。
步骤4.6,按需查询任务请求队列中的查询任务进行分解,启动多线程向三维空间数据库中提取满足查询请求的三维空间数据(即命中的数据);
步骤4.7,将从三维空间数据库获取的三维空间数据返回给客户端,并同时保存在三维空间数据引擎服务缓存中;
步骤4.8,查找结束。
三维空间数据引擎服务缓存管理模块可通过两种方式实现缓存数据的加载:一是按需加载方式,即在客户端应用程序发出数据查询请求时,对数据查询请求进行处理,并到三维空间数据库中提取满足查询需求的三维空间数据,然后将获取的数据存储在三维空间数据引擎服务缓存中。该方式以上已经作了描述。二是预加载方式,通过对下一步三维场景可视化所需三维空间数据变化的预测,如三维空间对象多细节层次的变化、可视空间范围的变化等,将下一步可能被请求的三维空间数据从三维空间数据库中预先读取出来,预先在三维空间数据引擎服务缓存中管理起来,以便下一步请求这些数据时可以直接从服务缓存获取,以提高数据调度的效率。本发明实施例支持空间范围预取和三维空间对象ID预取,三维空间数据引擎服务缓存数据预取方法如图5所示,包括以下步骤:
步骤5.1,三维空间引擎服务缓存管理模块建立按需查询任务队列、空间范围预取任务队列和三维空间对象ID预取任务队列,在按需查询任务队列中保存客户端发送过来的全部数据查询请求;
空间范围预取任务队列用于保存预测的新空间范围;三维空间对象ID预取任务队列用于保存可能发生多细节层次级数变化的三维空间对象ID及其新的多细节层次级数。
步骤5.2,定时从按需查询任务队列中获取最新的数据查询请求;
即每隔一定的时间(如5秒)都会去按需查询任务队列中查找是否有新的数据查询请求,如果有,则将这些请求信息返回,否则直接返回。
步骤5.3,将获取的数据查询请求按照请求时间的先后进行排序,统计分析数据查询请求的空间范围变化趋势,预测得出三维场景视点运动方向和预可见空间范围;
步骤5.4,根据当前场景可见的数据内容得到预取数据类型,将预可见空间范围和预取数据类型存入空间范围预取任务队列;根据预测的三维场景视点运动方向和当前场景内三维空间对象的多细节层次信息,预测可能发生多细节层次变化的三维空间对象,将其ID和预测的多细节层次级别存入三维空间对象ID预取任务队列;
其中,地形数据的多细节层次是指不同分辨率的金字塔层,而三维模型数据的多细节层次是单个三维空间对象的不同精细程度的模型。三维模型数据多细节层次选择的依据主要根据视点位置与三维空间对象的距离来判断的,根据预测视点运动方向和空间范围变化趋势,可以重新获得视点与三维空间对象之间的距离,从而可以判断是否需要换更高或更低的细节层次。
地形数据多分辨率金字塔的选择可以如下公式,
其中,l为地形数据块的中心位置到视点的距离,d为地形数据块的大小,c为一个可以调节的因子,r为地形数据块粗糙程度。当它们满足f<1这个公式的时候,则需要新分辨率的地形数据块。
步骤5.5,监测数据库服务器端的资源利用率,当资源较空闲时,启动预取多线程,分别执行空间范围预取任务队列和三维空间对象ID预取任务队列,向三维空间数据库中预取符合数据查询请求的三维空间数据;
步骤5.6,将从三维空间空间数据库中预取的三维空间数据保存在三维空间引擎服务缓存中;
步骤5.7,预取结束。
3.三维空间数据文件缓存管理模块
本发明的客户端三维空间数据文件缓存由三维空间数据文件缓存管理模块来管理。三维空间数据文件缓存管理模块设置在客户端硬盘上申请一块连续的硬盘空间,将从数据库服务器端获取的数据写入三维空间数据文件缓存后,再次访问同样的数据时,不需要访问数据库服务器,可以直接从三维空间数据文件缓存中获得,从而减少访问数据库服务器端的次数,减轻了数据库服务器端和网络传输的负担,减少客户端的等待时间。
三维空间数据文件缓存的内容主要包括三维空间数据索引文件和数据文件,通过建立不同类型空间数据的索引文件与针对三维实时可视化等应用的缓存文件存储格式来提高文件缓存的效率。其中三维空间数据索引文件包括地形索引文件、三维几何数据索引文件、纹理数据索引文件和共享模型数据索引文件。数据文件包括地形数据文件,三维模型几何数据文件、材质数据文件、纹理数据文件和共享模型数据文件。三维空间索引文件主要记录:空间对象的ID、空间对象三维包围盒及空间对象在数据文件中的偏移位置。数据文件主要记录:三维空间数据类型,数据长度和实际数据值。由于文件存储结构比较紧凑,三维空间数据文件缓存也可省略分缓存池进行存储的处理。
4.多级缓存自适应管理模块
多级缓存自适应管理模块位于数据库服务器端,用于统一管理客户端和数据库服务器端的多级缓存,负责多级缓存的一致性维护,对各级缓存进行自适应调整。
可以通过多级缓存自适应管理模块提供统一的缓存管理模块注册和查询的接口,客户端的三维空间数据绘制缓存管理模块、三维空间数据内存缓存管理模块、三维空间数据文件缓存管理模块和数据库服务器端的三维空间引擎服务缓存管理模块在使用之前都先到多级缓存自适应管理模块中进行注册,通过多级缓存自适应管理模块中的消息管理接口来提供各级缓存管理模块的消息注册,分发、过滤及处理结果的返回等事务,各级缓存管理模块通过注册感兴趣的消息,监听与自己有关的消息,在收到自己支持的消息后根据自身状态对消息进行响应,并通过消息总线返回处理结果,因此多级缓存自适应管理模块记录了各级缓存管理模块的数据查询请求和数据返回等各种事务,这使多级缓存自适应管理模块能统一的管理各级缓存管理模块,通过对每级缓存的命中率、空间利用率等信息统计,使多级缓存管理模块能够高效的协同工作,自适应的对各级缓存进行缓存空间大小的配置,保证各级缓存都能达到较高的命中率,减少网络访问的通信量,减少按需加载时的低速硬盘存储设备的读取。
多级缓存自适应管理模块是各级缓存管理模块共同工作的核心,通过多级缓存自适应管理模块来完成各级缓存一致性的统一维护,并配合各级缓存管理模块共同保证每级缓存中数据的一致性。实施例的多级缓存自适应管理模块的多级缓存一致性维护实现如图6所示,包括以下步骤:
(1)在三维空间数据引擎服务缓存中维护一个更新列表,定时向三维空间数据库中设置的数据更新日志管理表中查询数据更新信息,若有更新信息,进入以下步骤,否则一致性维护操作结束;
其中,三维空间数据库中的数据更新日志管理表中记录了更新数据信息,包括发生更新的数据ID号、更新时间等信息;
(2)三维空间数据引擎服务缓存管理模块根据数据更新日志管理表中已更新数据的ID号,从三维空间数据库中提取发生更新的三维空间数据,并在三维空间数据引擎服务缓存中查找同样ID的三维空间数据,并采用更新的三维空间数据替代这些三维空间数据,更新三维空间数据引擎服务缓存;
(3)多级缓存自适应管理模块将数据库服务器端的更新数据信息(包括更新的数据ID号、更新时间等信息)发送到客户端,客户端的三维空间数据内存缓存管理模块根据获取的更新数据信息,将发生更新的三维空间数据设置为“脏”块,从数据库服务器端获取更新的三维空间数据后,再将这些三维空间数据的“脏”标志清除;
(4)多级缓存自适应管理模块根据三维空间数据文件缓存的文件头时间戳,将三维空间数据文件缓存中发生变化的三维空间数据设置“脏”标志,并在客户端资源比较空闲的时候,由三维空间数据文件缓存管理模块主动更新三维空间数据文件缓存,并清除“脏”标志;
(5)多级缓存一致性维护结束。
Claims (5)
1.一种基于数据内容的三维空间数据自适应多级缓存系统,系统包括有客户端和数据库服务器端,客户端和数据库服务器端建立通信连接,其特征在于:包括有四级缓存和相应的各级缓存管理模块,以及位于数据库服务器端的多级缓存自适应管理模块和三维空间数据库,各级缓存中基于三维空间数据的内容类型建立有相应缓存池;所述四级缓存和相应的各级缓存管理模块,即位于客户端的三维空间数据绘制缓存和三维空间数据绘制缓存管理模块、三维空间数据内存缓存和三维空间数据内存缓存管理模块、三维空间数据文件缓存和三维空间数据文件缓存管理模块,以及位于数据库服务器端的三维空间数据引擎服务缓存和三维空间数据引擎服务缓存管理模块;
所述三维空间数据绘制缓存管理模块,用于提供一级缓存,负责实时更新三维空间数据绘制缓存中用于三维场景可视化的三维空间数据;
所述三维空间数据内存缓存管理模块,用于提供二级缓存,负责三维空间数据内存缓存的缓存空间申请、分配与回收,以及缓存中三维空间数据的查找与替换;
所述三维空间数据文件缓存管理模块,用于提供三级缓存,负责三维空间数据文件缓存的三维空间数据组织与管理;
所述三维空间数据引擎服务缓存管理模块,用于提供四级缓存,负责三维空间数据引擎服务缓存的三维空间数据预取、查找与替换;
所述多级缓存自适应管理模块,统一管理四级缓存与相应的各级缓存管理模块,负责各级缓存的一致性维护,以及对各级缓存进行自适应调整。;
其中,三维空间数据绘制缓存、三维空间数据内存缓存、三维空间数据引擎服务缓存和三维空间数据库之间依次建立数据传输通道,三维空间数据文件缓存与三维空间数据内存缓存之间建立数据传输通道;多级缓存自适应管理模块与各级缓存管理模块分别建立传输管理信息的连接,各级缓存管理模块分别与所管理的缓存建立传输管理信息的连接。
2.采用权利要求1所述的三维空间数据自适应多级缓存系统,其特征在于:三维空间数据自适应多级缓存系统提供用于实现三维场景实时可视化的三维空间数据,当三维场景发生变化需要三维空间数据绘制缓存中没有的新三维空间数据时,进行以下步骤,
步骤2.1,由三维空间数据绘制缓存管理模块向三维空间数据内存缓存管理模块发出数据查询请求;
步骤2.2,三维空间数据内存缓存管理模块在三维空间数据内存缓存中查找,如果命中,则返回命中的数据到三维空间数据绘制缓存;否则未命中,则发送数据查询请求到三维空间数据文件缓存管理模块;
步骤2.3,三维空间数据文件缓存管理模块在三维空间数据文件缓存中查找,如果命中,则从三维空间数据文件缓存中读取命中的数据,返回给三维空间数据内存缓存,由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;否则未命中,则发送数据查询请求到数据库服务器端;
步骤2.4,数据库服务器端接收客户端的数据查询请求,首先验证用户的合法性,合法则建立客户端与数据库服务器端的连接,否则不合法,则拒绝连接,返回连接错误信息;
步骤2.5,建立连接后,数据查询请求由三维空间数据引擎服务缓存管理模块处理,三维空间数据引擎服务缓存管理模块在三维空间数据引擎服务缓存中查找是否命中,如果命中,则将命中的数据返回到客户端,否则未命中,则向三维空间数据库发送数据查询请求;
步骤2.6,三维空间数据库根据数据查询请求查找到命中的数据后,返回该数据到三维空间数据引擎服务缓存,三维空间数据引擎服务缓存管理模块将该数据返回给客户端,并保存在三维空间数据引擎服务缓存中;
步骤2.7,三维空间数据内存缓存管理模块将数据库服务器端所返回命中的数据保存在三维空间数据内存缓存中,并由三维空间数据内存缓存管理模块返回命中的数据到三维空间数据绘制缓存;并在客户端资源较空闲时,将该数据保存到三维空间数据文件缓存中。
3.根据权利要求1所述的三维空间数据自适应多级缓存系统,其特征在于:系统内的三维空间对象通过唯一的三维空间对象ID进行标识,所述三维空间数据内存缓存管理模块和三维空间数据引擎服务缓存管理模块的三维空间对象替换,实现过程包括以下步骤,
步骤3.1,申请缓存空间,从缓存空间划分出三维R树索引数据缓存池、三维空间对象缓存池,配置每个缓存池的大小;
所述三维R树索引数据缓存池,用于存储三维空间数据的三维R树空间索引数据,所述三维R树空间索引数据包括有系统中所有三维空间对象的三维空间对象ID和最小外包围盒;
所述三维空间对象缓存池,用于存储三维空间对象;为三维空间对象缓存池中存有的三维空间对象建立3DSRtree-LRFU链表,所述3DSRtree-LRFU链表基于三维R树索引数据来建立;
步骤3.2,当三维空间数据绘制缓存管理模块发出的数据查询请求是针对三维空间对象的请求时,首先在三维空间对象缓存池中查找是否命中,如果命中,则将命中的三维空间对象访问频率+1,重新计算其最近访问时间和访问频率的综合加权值,更新命中的三维空间对象在3DSRtree-LRFU链表中的位置,进入步骤3.6;否则不命中,进入步骤3.3;
步骤3.3,判断三维空间对象缓存池中是否有空闲空间,如果有则进入步骤3.5,否则按照步骤3.3.1~3.3.3选取待替换的三维空间对象;
步骤3.3.1,在三维R树索引数据缓存池中获取满足数据查询请求的三维空间对象个数为n;
步骤3.3.2,在3DSRtree-LRFU链表的尾部,依次选取n×2个三维空间对象;
步骤3.3.3,在三维R树索引数据缓存池中对选取的n×2个三维空间对象的最小包围盒进行比较,选择与数据查询请求所涉及空间范围最不临近的n个三维空间对象作为待替换的三维空间对象;
步骤3.4,将选定的n个待替换的三维空间对象从3DSRtree-LRFU链表和三维空间对象缓存池中删除,更新3DSRtree-LRFU链表,进入步骤3.5;
步骤3.5,当从三维空间数据文件缓存或三维空间数据引擎服务缓存或三维空间数据库中获取命中的三维空间对象时,将新获取的所有三维空间对象访问频率设为0,计算当前的最近访问时间和访问频率的综合权值,根据该综合权值将新获取的三维空间对象插入到3DSRtree-LRFU链表中;
步骤3.6,替换操作结束。
4.根据权利要求1所述的三维空间数据自适应多级缓存系统,其特征在于:三维空间数据引擎服务缓存管理模块从申请的缓存空间中划分出空间查询范围缓存池,用于存储已查询过的空间范围,所述三维空间数据引擎服务缓存管理模块的缓存数据查找,实现过程包括以下步骤,
步骤4.1,接收客户端发送的数据查询请求,分析数据查询请求的类型,若为空间范围查询请求,进入步骤4.2,否则为三维空间对象ID查询请求,进入步骤4.5;
步骤4.2,将数据查询请求所涉及空间范围,在空间查询范围缓存池中进行比较,若在空间查询范围缓存池中未找到与该请求所涉及空间范围重合或相交的空间范围,则进入步骤4.3,否则进入步骤4.4;
步骤4.3,以数据查询请求所涉及空间范围作为空间查询条件,在三维空间数据库中查询所有该空间范围内的所有符合要求的三维空间数据,进入步骤4.7;
步骤4.4,在三维R树索引数据缓存池中查找该空间范围内的所有符合查询请求的三维空间对象ID,进入步骤4.5;
步骤4.5,将获取的三维空间对象ID在三维空间对象缓存池中查找,将命中的三维空间对象直接返回,将未命中的三维空间对象ID放在按需查询任务队列中;
步骤4.6,按需查询任务请求队列中的查询任务进行分解,启动多线程向三维空间数据库中提取满足查询请求的三维空间数据;
步骤4.7,将从三维空间数据库获取的三维空间数据返回给客户端,并同时保存在三维空间数据引擎服务缓存中;
步骤4.8,查找结束。
5.根据权利要求1所述的三维空间数据自适应多级缓存系统,其特征在于:所述三维空间数据引擎服务缓存管理模块的缓存数据预取,实现过程包括以下步骤,
步骤5.1,三维空间引擎服务缓存管理模块建立按需查询任务队列、空间范围预取任务队列和三维空间对象ID预取任务队列,在按需查询任务队列中保存客户端发送过来的全部数据查询请求;
步骤5.2,定时从按需查询任务队列中获取最新的数据查询请求;
步骤5.3,将获取的数据查询请求按照请求时间的先后进行排序,统计分析数据查询请求的空间范围变化趋势,预测得出三维场景视点运动方向和预可见空间范围;
步骤5.4,根据当前场景可见的数据内容得到预取数据类型,将预可见空间范围和预取数据类型存入空间范围预取任务队列;根据预测的三维场景视点运动方向和当前场景内三维空间对象的多细节层次信息,预测可能发生多细节层次变化的三维空间对象,将其ID和预测的多细节层次级别存入三维空间对象ID预取任务队列;
步骤5.5,监测数据库服务器端的资源利用率,当资源较空闲时,启动预取多线程,分别执行空间范围预取任务队列和三维空间对象ID预取任务队列,向三维空间数据库中预取符合数据查询请求的三维空间数据;
步骤5.6,将从三维空间空间数据库中预取的三维空间数据保存在三维空间引擎服务缓存中;
步骤5.7,预取结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100633713A CN101692229B (zh) | 2009-07-28 | 2009-07-28 | 基于数据内容的三维空间数据自适应多级缓存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100633713A CN101692229B (zh) | 2009-07-28 | 2009-07-28 | 基于数据内容的三维空间数据自适应多级缓存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101692229A true CN101692229A (zh) | 2010-04-07 |
CN101692229B CN101692229B (zh) | 2012-06-20 |
Family
ID=42080917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100633713A Expired - Fee Related CN101692229B (zh) | 2009-07-28 | 2009-07-28 | 基于数据内容的三维空间数据自适应多级缓存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101692229B (zh) |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
CN101923564A (zh) * | 2010-06-08 | 2010-12-22 | 汪翔云 | 一种基于图片缓存提升网页呈现三维物体性能的方法 |
CN101996242A (zh) * | 2010-11-02 | 2011-03-30 | 江西师范大学 | 基于三维r树索引扩展结构的三维城市模型自适应方法 |
CN102156753A (zh) * | 2011-04-29 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 面向固态硬盘文件系统的数据页缓存方法 |
CN102467521A (zh) * | 2010-11-08 | 2012-05-23 | 北大方正集团有限公司 | 一种易扩展的多级分类检索方法及系统 |
CN102663096A (zh) * | 2012-04-11 | 2012-09-12 | 北京像素软件科技股份有限公司 | 一种基于数据缓存技术读取数据的方法 |
CN102929741A (zh) * | 2012-09-29 | 2013-02-13 | 邹粤林 | 一种提高闪存芯片纠错码使用效率的方法、系统及控制器 |
CN103077209A (zh) * | 2012-12-28 | 2013-05-01 | 深圳先进技术研究院 | 一种支持大规模并发的三维空间数据放置方法 |
CN103092926A (zh) * | 2012-12-29 | 2013-05-08 | 深圳先进技术研究院 | 多层次混合的三维空间索引方法 |
CN103092696A (zh) * | 2012-12-29 | 2013-05-08 | 深圳先进技术研究院 | 三维空间数据预调度方法及其系统 |
CN103167036A (zh) * | 2013-01-28 | 2013-06-19 | 浙江大学 | 基于分布式多级缓存系统的栅格数据存取方法 |
CN103294826A (zh) * | 2013-06-21 | 2013-09-11 | 广东威创视讯科技股份有限公司 | 一种虚拟三维场景的显示方法和系统 |
CN103390061A (zh) * | 2013-07-31 | 2013-11-13 | 浙江大学 | 以用户为中心且基于多级缓存的海洋时空数据访问方法 |
WO2014094234A1 (en) * | 2012-12-18 | 2014-06-26 | Empire Technology Development Llc | Data caching based on social characteristics of users |
CN104133243A (zh) * | 2014-08-05 | 2014-11-05 | 吉林大学 | 一种地震数据可视化方法及装置 |
CN104199949A (zh) * | 2014-09-12 | 2014-12-10 | 中电海康集团有限公司 | 一种实时环境下利用网格实现大规模动态目标可视化方法 |
CN104657380A (zh) * | 2013-11-20 | 2015-05-27 | 青岛海信移动通信技术股份有限公司 | 一种图片加载方法和装置 |
CN104657378A (zh) * | 2013-11-20 | 2015-05-27 | 青岛海信移动通信技术股份有限公司 | 一种文件缓存方法及装置 |
CN103092775B (zh) * | 2013-01-31 | 2015-06-10 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN104991827A (zh) * | 2015-06-26 | 2015-10-21 | 季锦诚 | 云游戏中gpu资源共享的方法 |
CN105447171A (zh) * | 2015-12-07 | 2016-03-30 | 北京奇虎科技有限公司 | 数据缓存方法与装置 |
CN105718481A (zh) * | 2014-12-05 | 2016-06-29 | 星际空间(天津)科技发展有限公司 | 一种海量地形数据组织发布方法 |
CN105988941A (zh) * | 2015-02-28 | 2016-10-05 | 深圳市腾讯计算机系统有限公司 | 缓存数据处理方法和装置 |
CN106021126A (zh) * | 2016-05-31 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 缓存数据处理方法及服务器、配置设备 |
CN106126529A (zh) * | 2016-06-14 | 2016-11-16 | 东南大学 | 一种面向嵌入式的三维空间数据存储方法 |
CN106201918A (zh) * | 2016-07-14 | 2016-12-07 | 合肥易立迅科技有限公司 | 一种基于大数据量和大规模缓存快速释放的方法和系统 |
CN106326301A (zh) * | 2015-07-02 | 2017-01-11 | 富士通株式会社 | 信息处理装置及方法 |
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN106802955A (zh) * | 2017-01-19 | 2017-06-06 | 济南浪潮高新科技投资发展有限公司 | 一种图片数据缓存方法 |
CN107147660A (zh) * | 2017-06-01 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种海量用户高效登录认证方法及系统 |
CN107741962A (zh) * | 2017-09-26 | 2018-02-27 | 平安科技(深圳)有限公司 | 数据缓存方法及服务器 |
CN108132958A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种多级缓存数据存储、查询、调度以及处理方法及装置 |
CN108228624A (zh) * | 2016-12-15 | 2018-06-29 | 深圳市优朋普乐传媒发展有限公司 | 数据获取及更新方法、片单服务系统及片单系统 |
CN108241583A (zh) * | 2017-11-17 | 2018-07-03 | 平安科技(深圳)有限公司 | 薪资计算的数据处理方法、应用服务器及计算机可读存储介质 |
CN108271044A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种信息的处理方法及装置 |
CN108334581A (zh) * | 2018-01-26 | 2018-07-27 | 重庆市地理信息中心 | 面向智能终端地图渲染的空间数据在离线管理和调用方法 |
CN108600320A (zh) * | 2018-03-23 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
CN110336851A (zh) * | 2019-05-06 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 内容访问处理方法、装置、计算机设备和存储介质 |
CN110377572A (zh) * | 2019-07-18 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种缓存空间管理方法、装置、设备及介质 |
CN111898276A (zh) * | 2020-08-04 | 2020-11-06 | 中国南方电网有限责任公司 | 架空线路的模型处理方法、装置、计算机设备和介质 |
CN112083914A (zh) * | 2020-08-31 | 2020-12-15 | 深圳航天科技创新研究院 | 实现对象模型嵌入式操作系统软总线的方法及系统 |
CN112612726A (zh) * | 2020-12-08 | 2021-04-06 | 海光信息技术股份有限公司 | 基于缓存一致性的数据存储方法、装置、处理芯片及服务器 |
CN113364671A (zh) * | 2021-06-28 | 2021-09-07 | 刘文平 | 节省流量电量的跨平台办公实时通讯系统 |
CN114168530A (zh) * | 2021-12-10 | 2022-03-11 | 深圳市毕美科技有限公司 | 三维数据的存储方法、装置、设备及存储介质 |
CN115086706A (zh) * | 2022-08-19 | 2022-09-20 | 摩尔线程智能科技(北京)有限责任公司 | 数据缓存方法及芯片 |
CN116627580A (zh) * | 2023-07-25 | 2023-08-22 | 江苏正泰泰杰赛智能科技有限公司 | 一种网页端的多级缓存的三维模型加载方法 |
CN117708179A (zh) * | 2024-02-02 | 2024-03-15 | 成都深瑞同华科技有限公司 | 电力综合监控系统测点数据缓存方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100394448C (zh) * | 2006-05-17 | 2008-06-11 | 浙江大学 | 基于图像传输的三维远程渲染系统及其方法 |
CN101060418B (zh) * | 2007-05-24 | 2012-01-25 | 上海清鹤数码科技有限公司 | 适用于带时移iptv直播服务器的专用磁盘读写系统 |
-
2009
- 2009-07-28 CN CN2009100633713A patent/CN101692229B/zh not_active Expired - Fee Related
Cited By (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923564A (zh) * | 2010-06-08 | 2010-12-22 | 汪翔云 | 一种基于图片缓存提升网页呈现三维物体性能的方法 |
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
CN101916302B (zh) * | 2010-09-01 | 2012-11-21 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
CN101996242B (zh) * | 2010-11-02 | 2012-11-28 | 江西师范大学 | 基于三维r树索引扩展结构的三维城市模型自适应方法 |
CN101996242A (zh) * | 2010-11-02 | 2011-03-30 | 江西师范大学 | 基于三维r树索引扩展结构的三维城市模型自适应方法 |
CN102467521A (zh) * | 2010-11-08 | 2012-05-23 | 北大方正集团有限公司 | 一种易扩展的多级分类检索方法及系统 |
CN102156753A (zh) * | 2011-04-29 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 面向固态硬盘文件系统的数据页缓存方法 |
CN102156753B (zh) * | 2011-04-29 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 面向固态硬盘文件系统的数据页缓存方法 |
CN102663096B (zh) * | 2012-04-11 | 2015-12-16 | 北京像素软件科技股份有限公司 | 一种基于数据缓存技术读取数据的方法 |
CN102663096A (zh) * | 2012-04-11 | 2012-09-12 | 北京像素软件科技股份有限公司 | 一种基于数据缓存技术读取数据的方法 |
CN102929741B (zh) * | 2012-09-29 | 2013-12-25 | 邹粤林 | 一种提高闪存芯片纠错码使用效率的方法、系统及控制器 |
CN102929741A (zh) * | 2012-09-29 | 2013-02-13 | 邹粤林 | 一种提高闪存芯片纠错码使用效率的方法、系统及控制器 |
WO2014094234A1 (en) * | 2012-12-18 | 2014-06-26 | Empire Technology Development Llc | Data caching based on social characteristics of users |
US10235451B2 (en) | 2012-12-18 | 2019-03-19 | Empire Technology Development Llc | Data caching based on social characteristics of users |
CN103077209B (zh) * | 2012-12-28 | 2016-01-20 | 深圳先进技术研究院 | 一种支持大规模并发的三维空间数据放置方法 |
CN103077209A (zh) * | 2012-12-28 | 2013-05-01 | 深圳先进技术研究院 | 一种支持大规模并发的三维空间数据放置方法 |
CN103092696A (zh) * | 2012-12-29 | 2013-05-08 | 深圳先进技术研究院 | 三维空间数据预调度方法及其系统 |
CN103092926A (zh) * | 2012-12-29 | 2013-05-08 | 深圳先进技术研究院 | 多层次混合的三维空间索引方法 |
CN103092926B (zh) * | 2012-12-29 | 2016-11-23 | 深圳先进技术研究院 | 多层次混合的三维空间索引方法 |
CN103167036A (zh) * | 2013-01-28 | 2013-06-19 | 浙江大学 | 基于分布式多级缓存系统的栅格数据存取方法 |
CN103092775B (zh) * | 2013-01-31 | 2015-06-10 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN103294826A (zh) * | 2013-06-21 | 2013-09-11 | 广东威创视讯科技股份有限公司 | 一种虚拟三维场景的显示方法和系统 |
CN103294826B (zh) * | 2013-06-21 | 2016-08-10 | 广东威创视讯科技股份有限公司 | 一种虚拟三维场景的显示方法和系统 |
CN103390061A (zh) * | 2013-07-31 | 2013-11-13 | 浙江大学 | 以用户为中心且基于多级缓存的海洋时空数据访问方法 |
CN103390061B (zh) * | 2013-07-31 | 2016-12-28 | 浙江大学 | 以用户为中心且基于多级缓存的海洋时空数据访问方法 |
CN104657378A (zh) * | 2013-11-20 | 2015-05-27 | 青岛海信移动通信技术股份有限公司 | 一种文件缓存方法及装置 |
CN104657380A (zh) * | 2013-11-20 | 2015-05-27 | 青岛海信移动通信技术股份有限公司 | 一种图片加载方法和装置 |
CN104133243A (zh) * | 2014-08-05 | 2014-11-05 | 吉林大学 | 一种地震数据可视化方法及装置 |
CN104199949A (zh) * | 2014-09-12 | 2014-12-10 | 中电海康集团有限公司 | 一种实时环境下利用网格实现大规模动态目标可视化方法 |
CN105718481A (zh) * | 2014-12-05 | 2016-06-29 | 星际空间(天津)科技发展有限公司 | 一种海量地形数据组织发布方法 |
CN105718481B (zh) * | 2014-12-05 | 2019-02-12 | 星际空间(天津)科技发展有限公司 | 一种海量地形数据组织发布方法 |
CN105988941B (zh) * | 2015-02-28 | 2020-04-14 | 深圳市腾讯计算机系统有限公司 | 缓存数据处理方法和装置 |
CN105988941A (zh) * | 2015-02-28 | 2016-10-05 | 深圳市腾讯计算机系统有限公司 | 缓存数据处理方法和装置 |
CN104991827A (zh) * | 2015-06-26 | 2015-10-21 | 季锦诚 | 云游戏中gpu资源共享的方法 |
CN106326301A (zh) * | 2015-07-02 | 2017-01-11 | 富士通株式会社 | 信息处理装置及方法 |
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN105447171A (zh) * | 2015-12-07 | 2016-03-30 | 北京奇虎科技有限公司 | 数据缓存方法与装置 |
CN106021126A (zh) * | 2016-05-31 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 缓存数据处理方法及服务器、配置设备 |
CN106126529A (zh) * | 2016-06-14 | 2016-11-16 | 东南大学 | 一种面向嵌入式的三维空间数据存储方法 |
CN106201918A (zh) * | 2016-07-14 | 2016-12-07 | 合肥易立迅科技有限公司 | 一种基于大数据量和大规模缓存快速释放的方法和系统 |
CN106201918B (zh) * | 2016-07-14 | 2019-02-12 | 合肥易立迅科技有限公司 | 一种基于大数据量和大规模缓存快速释放的方法和系统 |
CN108132958A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种多级缓存数据存储、查询、调度以及处理方法及装置 |
CN108228624A (zh) * | 2016-12-15 | 2018-06-29 | 深圳市优朋普乐传媒发展有限公司 | 数据获取及更新方法、片单服务系统及片单系统 |
CN108271044A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种信息的处理方法及装置 |
CN108271044B (zh) * | 2016-12-30 | 2020-11-17 | 华为技术有限公司 | 一种信息的处理方法及装置 |
CN106802955B (zh) * | 2017-01-19 | 2020-06-16 | 浪潮通用软件有限公司 | 一种图片数据缓存方法 |
CN106802955A (zh) * | 2017-01-19 | 2017-06-06 | 济南浪潮高新科技投资发展有限公司 | 一种图片数据缓存方法 |
CN107147660A (zh) * | 2017-06-01 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种海量用户高效登录认证方法及系统 |
CN107741962A (zh) * | 2017-09-26 | 2018-02-27 | 平安科技(深圳)有限公司 | 数据缓存方法及服务器 |
CN108241583A (zh) * | 2017-11-17 | 2018-07-03 | 平安科技(深圳)有限公司 | 薪资计算的数据处理方法、应用服务器及计算机可读存储介质 |
CN108334581A (zh) * | 2018-01-26 | 2018-07-27 | 重庆市地理信息中心 | 面向智能终端地图渲染的空间数据在离线管理和调用方法 |
CN108334581B (zh) * | 2018-01-26 | 2019-02-12 | 重庆市地理信息中心 | 面向智能终端地图渲染的空间数据在离线管理和调用方法 |
CN108600320A (zh) * | 2018-03-23 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
US11307769B2 (en) | 2018-05-24 | 2022-04-19 | Beijing Baidu Netcom Science Technology Co., Ltd. | Data storage method, apparatus and storage medium |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
CN110336851B (zh) * | 2019-05-06 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 内容访问处理方法、装置、计算机设备和存储介质 |
CN110336851A (zh) * | 2019-05-06 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 内容访问处理方法、装置、计算机设备和存储介质 |
CN110377572A (zh) * | 2019-07-18 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种缓存空间管理方法、装置、设备及介质 |
CN110377572B (zh) * | 2019-07-18 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 一种缓存空间管理方法、装置、设备及介质 |
CN111898276A (zh) * | 2020-08-04 | 2020-11-06 | 中国南方电网有限责任公司 | 架空线路的模型处理方法、装置、计算机设备和介质 |
CN112083914A (zh) * | 2020-08-31 | 2020-12-15 | 深圳航天科技创新研究院 | 实现对象模型嵌入式操作系统软总线的方法及系统 |
CN112083914B (zh) * | 2020-08-31 | 2023-09-12 | 深圳航天科技创新研究院 | 实现对象模型嵌入式操作系统软总线的方法及系统 |
CN112612726A (zh) * | 2020-12-08 | 2021-04-06 | 海光信息技术股份有限公司 | 基于缓存一致性的数据存储方法、装置、处理芯片及服务器 |
CN113364671A (zh) * | 2021-06-28 | 2021-09-07 | 刘文平 | 节省流量电量的跨平台办公实时通讯系统 |
CN114168530A (zh) * | 2021-12-10 | 2022-03-11 | 深圳市毕美科技有限公司 | 三维数据的存储方法、装置、设备及存储介质 |
CN115086706A (zh) * | 2022-08-19 | 2022-09-20 | 摩尔线程智能科技(北京)有限责任公司 | 数据缓存方法及芯片 |
WO2024037650A1 (zh) * | 2022-08-19 | 2024-02-22 | 摩尔线程智能科技(北京)有限责任公司 | 数据缓存 |
CN116627580A (zh) * | 2023-07-25 | 2023-08-22 | 江苏正泰泰杰赛智能科技有限公司 | 一种网页端的多级缓存的三维模型加载方法 |
CN116627580B (zh) * | 2023-07-25 | 2023-09-22 | 江苏正泰泰杰赛智能科技有限公司 | 一种网页端的多级缓存的三维模型加载方法 |
CN117708179A (zh) * | 2024-02-02 | 2024-03-15 | 成都深瑞同华科技有限公司 | 电力综合监控系统测点数据缓存方法、装置、设备及介质 |
CN117708179B (zh) * | 2024-02-02 | 2024-05-03 | 成都深瑞同华科技有限公司 | 电力综合监控系统测点数据缓存方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101692229B (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101692229B (zh) | 基于数据内容的三维空间数据自适应多级缓存系统 | |
CN101916302B (zh) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 | |
CN107040422A (zh) | 一种基于物化缓存的网络大数据可视化方法 | |
CN104317669B (zh) | 一种云端异构存储系统及其数据副本管理方法 | |
CN111930767B (zh) | 一种基于多层缓存的矢量瓦片实时切片和更新方法 | |
CN103390061B (zh) | 以用户为中心且基于多级缓存的海洋时空数据访问方法 | |
CN102640125A (zh) | 分布式内容存储和取回 | |
CN103366016A (zh) | 基于hdfs的电子文件集中存储及优化方法 | |
CN101753625A (zh) | 对等网络环境下副本服务的部署及副本创建方法 | |
CN102129472A (zh) | 面向语义搜索引擎的高效混合存储结构的构建方法 | |
CN104111898A (zh) | 基于多维数据相似性的混合存储系统及数据管理方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN116541427B (zh) | 数据查询方法、装置、设备及存储介质 | |
Du et al. | Spatio-temporal data index model of moving objects on fixed networks using hbase | |
CN104035807A (zh) | 一种云存储系统的元数据缓存替换方法 | |
CN103164440A (zh) | 面向虚拟现实的空间数据引擎方法 | |
CN114328535A (zh) | 一种索引查询优化的仓储区块链系统 | |
CN101616177A (zh) | 基于p2p的网络地形系统的数据传输共享方法 | |
CN102904963A (zh) | 一种基于云模型云服务的管理方法及系统 | |
CN109635161B (zh) | 一种海量数据环境下跨域异地协同设计方法 | |
Robert | Data prefetching algorithm in mobile environments | |
CN115952184A (zh) | 一种基于多层缓存的矢量瓦片实时切片和更新方法 | |
Liu et al. | Proactive data caching and replacement in the edge computing environment | |
Miao | Analysis of influencing factors of rural home stay tourism development based on remote sensing assisted operation data collection | |
Zhu et al. | Prediction algorithm based on web mining for multimedia objects in next–generation Digital Earth |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120620 Termination date: 20140728 |
|
EXPY | Termination of patent right or utility model |