CN112395453A - 一种自适应分布式遥感影像缓存及检索方法 - Google Patents
一种自适应分布式遥感影像缓存及检索方法 Download PDFInfo
- Publication number
- CN112395453A CN112395453A CN202011341421.2A CN202011341421A CN112395453A CN 112395453 A CN112395453 A CN 112395453A CN 202011341421 A CN202011341421 A CN 202011341421A CN 112395453 A CN112395453 A CN 112395453A
- Authority
- CN
- China
- Prior art keywords
- remote sensing
- sensing image
- image
- distributed
- query
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000013598 vector Substances 0.000 claims abstract description 63
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000015654 memory Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims 1
- 239000011159 matrix material Substances 0.000 abstract description 28
- 238000004891 communication Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/16—General purpose computing application
- G06F2212/163—Server or database system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/263—Network storage, e.g. SAN or NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/455—Image or video data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种自适应分布式遥感影像缓存及检索方法,属于空间数据信息服务领域。本发明将高频率访问的遥感影像、影像所对应的表单信息、空间查询矢量的查询受理时间和请求次数等信息存储在分布式缓存中;通过在运行面向矩阵的对象存储***主机上的矩阵抽象层中增加一个存储管理器,该存储管理器向其他主机发送高频访问的遥感影像,使得高频率访问的遥感影像在分布式缓存中进行复制存储,提升了多客户并发访问时,***对空间查询矢量请求所要查找的遥感影像响应速度。本发明通过合并影像分块的查询请求,将来自于影像访问接口层的影像访问请求映射到分布式缓存中,减少了需要访问对象存储***的次数,因此减少了影像访问接口层的查询等待时间。
Description
技术领域
本发明属于空间数据信息服务领域,更具体地,涉及一种自适应分布 式遥感影像缓存及检索方法。
背景技术
随着卫星遥感数据的广泛应用,特别是新闻媒体领域,社会高度关注 局部热点区域的人口、生态环境变化,快速查询到卫星遥感影像数据并提 供初步分析结果的重要性日益彰显。应用卫星遥感影像从事公益活动的团 体和个人,往往关注局部地理空间区域、周期性和高频率访问卫星影像。 因此,探索和建立热点区域卫星影像缓存和查询优化方法具有极强的现实 需求和意义。
遥感影像及其分块目前的存储设施包括:分布式文件***、面向矩阵 的对象存储***。第一种,分布式文件***,例如经典的HDFS文件***, 提供高吞吐的数据分块服务,通过将影像切分成多个分块并将这些分块复 制多份存储在多个主机的磁盘文件***中,通过建立这些分块的元数据索 引表的方式提高了遥感影像的吞吐率(吞吐率是指单位时间应用程序能够 读取的字节数,单位通常是MB/S);第二种,面向矩阵的对象存储***, 包括:影像访问接口层、矩阵抽象层、对象存储***,以及其它组成部分; 影像访问接口层是面向矩阵的对象存储***的入口,当该入口接收到空间 矢量查询请求时,会将其转换成矩阵抽象层能够理解的矩阵分块信息,然 后由矩阵抽象层将要查询的矩阵分块信息转换成在对象存储***中存储的 对象地址信息。在查询到对应的影像之后,对象存储***访问影像返回给 矩阵抽象层,矩阵抽象层将影像返回给影像访问接口层;面向矩阵的对象 存储***所包括的其它组成部分,例如,键值对存储***主要用于存储遥 感影像的元数据信息。
分布式文件***存储没有影像热点概念,因此,不提供对访问频率较 高的影像分块更为快速的访问功能。相较于分布式文件***,面向矩阵的 对象存储***具有影像热点概念,通过在其键值存储***中存储影像访问 次数信息,可以知道一段时间内哪一个区域的遥感影像被高频率访问过。 为表述和理解方便,用矩阵对象存储***表示面向矩阵的对象存储***。
但是目前,所有的矩阵对象存储***都不提供热点区域影像分块快速 查询服务。主要的原因有:分布式对象存储数据库***无法准确掌握热点 区域影像的使用情况,对所有的对象访问速度和时间开销都是一定的(主 要受制于客户端与云主机的访问带宽);为提高热点区域影像访问速度,矩 阵对象存储***中的矩阵抽象层需要建立缓存区,用于减少对于对象存储 ***的访问次数;另外,如果将过多的查询请求转发到某个主机上,也会使该主机工作负载增加。
因此,建立适合这种新的存储架构的热点区域影像缓存是提高面向矩 阵的对象存储***影像访问速度的关键。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种自适应分布 式遥感影像缓存及检索方法,其目的在于,用分布式缓存管理缓存使得各 主机工作负载趋于平衡状态,并提升面向矩阵对象存储***响应用户对遥 感影像的查询请求速度。
为实现上述目的,本发明提供了一种自适应分布式遥感影像缓存方法, 包括:
S1.根据空间矢量查询请求发出时间、地理空间范围以及时间范围,从 存储于分布式对象存储数据库中的遥感影像中选择需要缓存在分布式缓存 中的遥感影像;
S2.将选择出的遥感影像存储在分布式缓存中;其中,分布式缓存是由 多个主机当前可用的内存组成的缓存***。
进一步地,步骤S1具体为,
针对同一时刻,同一地理空间范围以及相同时间范围内的遥感影像查 询请求,当请求个数大于第一阈值N时,从分布式对象存储数据库中获取 遥感影像并进行缓存;
针对不同时刻,同一地理空间范围以及相同时间范围内的遥感影像查 询请求,当在指定的时间段内请求次数大于第一阈值N时,从分布式对象 存储数据库中获取遥感影像并进行缓存;
针对不同时刻,同一地理空间范围以及不同时间范围内的遥感影像查 询请求,将查询频率超过第二设定阈值M的遥感影像进行缓存;当两个或 者多个地理空间矢量的查询频率一样时,按照空间矢量的包含关系决定缓 存对应的遥感影像:当空间矢量A包含空间矢量B时,缓存空间矢量A所 对应的遥感影像;当空间矢量之间没有包含关系时,缓存空间矢量A和B 所对应的所有遥感影像。
进一步地,空间矢量的查询频率根据访问次数除以一个设定的时间间 隔得到。
进一步地,当分布式缓存管理的影像数量超过预设上限时,或者当影 像查询请求的响应延迟变长时,触发分布式缓存的清除机制,将设定时间 内最不经常使用的遥感影像删除以存储新的访问频率高的影像。
本发明另一方面提供了一种自适应分布式遥感影像检索方法,包括:
S1.影像访问接口层选择设定时间段内最少使用的存储管理器处理空间 矢量查询请求;
S2.存储管理器在对应主机内存中查找是否存在满足该空间矢量查询请 求所对应的遥感影像;其中,每一个主机上都对应一个存储管理器,负责 将遥感影像存储到分布式缓存***中并负责检索任务;
01.如果存在,则直接由该存储管理器返回该遥感影像;
02.如果不存在,则向分布式缓存发出空间矢量查询请求,由分布式缓 存向分布式对象存储数据库发送查询请求,从分布式对象存储数据库中检 索遥感影像并返回结果,并通知当前主机结果已返回;
03.如果在指定的时间范围内分布式缓存没返回结果,则主机上运行的 存储管理器直接向分布式对象存储数据库发送查询请求,在返回该遥感影 像的同时将其存储到分布式缓存中。
进一步地,向分布式对象存储数据库发送查询请求之前,所述方法还 包括:
将针对同一遥感影像所覆盖的多个空间矢量查询请求进行合并,形成 合并查询子区域集合。
进一步地,所述方法还包括:
判断所查询子区域是否在合并查询子区域集合中,如果不存在,则返 回False;如果存在,通过求得得每一个子区域的开始列与结束列的差之和, 以及每一个子区域的单元个数,计算子区域在笛卡尔积所对应的一维数组 中的偏移位置,得到每一个子区域数据。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够 取得下列有益效果。
(1)本发明将高频率访问的遥感影像、影像所对应的表单信息、空间 查询矢量的查询受理时间和请求次数等信息存储在分布式缓存中;通过在 运行面向矩阵的对象存储***主机上的矩阵抽象层中增加一个存储管理器, 该存储管理器向其他主机发送高频访问的遥感影像,使得高频率访问的遥 感影像在分布式缓存中进行复制存储,提升了多客户并发访问时,***对 空间查询矢量请求所要查找的遥感影像响应速度。
(2)本发明的存储管理器,通过合并影像分块的查询请求,将来自于 影像访问接口层的影像访问请求映射到分布式缓存中,减少了需要访问对 象存储***的次数,因此减少了影像访问接口层的查询等待时间。
(3)本发明的分布式缓存,当管理的影像数量超过预设上限时,或者 当影块查询请求的响应延迟变长时,触发分布式缓存的清除机制;当影像 访问接口层转发空间查询矢量请求时,将影像的查询请求转发到那些响应 速度快的主机上,因此能够降低***响应所需时间。
附图说明
图1是增加了分布式缓存***的矩阵对象存储***架构图;
图2是遥感影像分块的自动化清除流程图;
图3是热点区域遥感影像分块写入分布式缓存流程图;
图4是模拟查询分布式缓存中的四个影像分块的示意图;
图5是从合并查询结果中获取各个子区域数据的算法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的 本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可 以相互组合。
如图1所示,空间矢量查询请求经过影像访问接口层的映射转换之后, 在矩阵抽象层通过解析该空间矢量查询请求地理空间描述信息,查询覆盖 该地理空间范围的遥感影像。在未加入分布式缓存前,矩阵抽象层中的存 储管理器是运行在每一个主机上的模块,该模块以等概率的方式接收空间 查询矢量请求,空间矢量查询请求由矩阵抽象层转换为对象存储***接口 层所要求的请求格式,通过对象存储***接口层检索遥感影像。在加入了 分布式缓存之后,空间矢量查询请求会先从分布式缓存中进行检索,当空 间查询矢量和时间范围约束条件满足时,从分布式缓存***中检索出全部 影像出来;当时间范围部分满足,部分不满足要求时,则从分布式缓存中 获取满足的部分,其余部分仍然通过之前对象存储***接口层访问。
本发明提出的分布式缓存***的存储空间是由多个主机上运行的存储 管理器可用内存空间组成的。因为强调多主机之间的协调存储,使得分布 式缓存***看起来是一个巨型的存储资源池。本发明的缓存方法重点在于 影像分块被分布式缓存后,下一次如果有相同的空间矢量查询请求到达时, 快速地返回查询结果,即采用Redis分布式缓存***,将遥感影像的元数据 作为键,将遥感影像实体数据作为值存储在Redis分布式缓存***中;在该 分布式***中,遥感影像的访问频率、当前在线的主机个数、对等主机的 IP地址和端口号等信息,通过gossip协议在主机与主机之间进行存储和更 新。
本发明提供的一种自适应分布式遥感影像缓存方法,包括:
S1.根据空间矢量查询请求发出时间、地理空间范围以及时间范围,从 存储于分布式对象存储数据库中的遥感影像中选择需要缓存在分布式缓存 中的遥感影像;
步骤S1具体为,针对同一时刻,同一地理空间范围以及相同时间范围 内的遥感影像查询请求,当请求个数大于第一阈值N时,从分布式对象存 储数据库中获取遥感影像并进行缓存;针对不同时刻,同一地理空间范围 以及相同时间范围内的遥感影像查询请求,当在指定的时间段内请求次数 大于第一阈值N时,从分布式对象存储数据库中获取遥感影像并进行缓存; 针对不同时刻,同一地理空间范围以及不同时间范围内的遥感影像查询请求,将查询频率超过第二设定阈值M的遥感影像进行缓存;当两个或者多 个地理空间矢量的查询频率一样时,按照空间矢量的包含关系决定缓存对 应的遥感影像:当空间矢量A包含空间矢量B时,缓存空间矢量A所对应 的遥感影像;当空间矢量之间没有包含关系时,缓存空间矢量A和B所对 应的所有遥感影像。其中,空间矢量的查询频率根据访问次数除以一个设 定的时间间隔得到,例如,一个星期或者一个月。
S2.将选择出的遥感影像存储在分布式缓存中;其中,分布式缓存是由 多个主机当前可用的内存组成的缓存***。
如果分布式缓存中没有多余空间存储该缓存时,将最不经常使用的遥 感影像删除以存储新的访问频率高的影像。假定遥感影像的访问频率会按 照指数函数(1/ex)降低,则用公式ft+1=(1/eft)可以近似表示在时间为t+1时刻 的当前访问次数。当访问次数降低到接近0时,该遥感影像会被清除,如 图2所示,在实际实施过程中可以使用后台守护进程加定时器来实现。触 发该事件的条件包括达到运维管理所要求的缓存清除等情况。
本发明还提供了一种自适应分布式遥感影像检索方法,包括:
S1.影像访问接口层选择设定时间段内最少使用的存储管理器处理空间 矢量查询请求;
存储管理器是运行在每一个主机上的进程,因为主机与主机之间的性 能差异,例如,CPU个数、内存大小,以及访问分布式对象存储时的带宽 都可能不一样。如果在一个性能较差的主机上的存储管理器接收到的空间 矢量查询请求较多,另外一些性能好的主机上存储管理器始终处于等待空 间矢量查询请求时,就会造成整体上查询负载不均衡。本发明所设计的影 像访问接口层记录每一次空间矢量查询请求的发出时间、响应时间、响应主机的IP地址和端口号,根据最近最少使用原理,选择最少使用的存储管 理器处理空间矢量查询请求。
S2.存储管理器在对应主机内存中查找是否存在满足该空间矢量查询请 求所对应的遥感影像;其中,每一个主机上都对应一个存储管理器,负责 将遥感影像存储到分布式缓存***中并负责检索任务;
如图3所示,如果主机存在所请求查询的遥感影像,则直接由该主机 对应存储管理器返回该遥感影像;如果不存在,则向分布式缓存发出空间 矢量查询请求,由分布式缓存向分布式对象存储数据库发送查询请求,从 分布式对象存储数据库中检索遥感影像并返回结果,并通知当前主机结果 已返回;如果在指定的时间范围内分布式缓存没返回结果,则主机上运行 的存储管理器直接向分布式对象存储数据库发送查询请求,在返回该遥感 影像的同时将其存储到分布式缓存中。
向分布式对象存储数据库发送查询请求之前,还应针对同一遥感影像 所覆盖的多个空间矢量查询请求进行合并,以最小化外部存储访问次数;
存储在对象存储***中的遥感影像,也即从对象存储***中检索出的 遥感影像对象,例如,国产GF-3号卫星的幅宽可以高达650公里,从矩阵 抽象层角度来看,就是一个多维巨型矩阵。但在卫星遥感应用的实际过程 中,需要的可能是局部几个,或者几十个矩阵小区域;例如,武汉区域的 影像在对象存储***中是一个长和宽度很大的矩阵对象,假定有一个需要 对东湖、南湖、汤逊湖等湖泊的水质进行监测的应用周期性地通过Web浏 览器发送对应区域的空间矢量查询请求,经过影像访问接口层的映射转换 之后,所需要的都是同一个影像。如果不合并区域查询请求,矩阵抽象层 会分别请求得到东湖区域的影像分块、南湖区域的影像分块、汤逊湖区域 的影像分块。但是,这样就建立和打开了与对象存储***的三次通信连接。 假定每一次通信连接的开销为T,则满足三次空间矢量查询的开销为3T。 为了避免每次查询遥感影像的某个特定子区域都要建立与分布式对象存储 数据库建立通信,本发明利用合并区域查询针对该问题做了优化,将相同 影像不同区域的空间矢量查询合并成一次查询以减少对分布式对象存储数 据库的访问次数。将这些子区域的请求合并成为一个请求。如图4所示的 二维矩阵,假定要访问该遥感影像的四个子区域分别是S1={2,3,1,2}、 S2={2,3,5,6}、S3={5,5,1,2}以及S4={5,5,5,6},分别对应图中加黑色边框部 分。假设与远程设备建立连接的时间开销为T,传输数据的时间是一个常数 C,则四个区域不经过合并查询的时间为4(T+C),合并查询的时间开销为 T+C,速率提高了3倍。针对一个覆盖空间区域大的遥感影像,其对应矩阵 会特别巨大,从该影像中获取子区域的次数也会显著增加,相应地,查询 服务的效率将会得到极大的提升。
合并查询后的结果是影像子区域的笛卡尔积,其实质是一个一维数组。 为了便于理解笛卡尔积结果具体含义,假设有两个影像子区域的查询请求, S1={0,2,5,7},S2={2,3,4,6},则返回的笛卡尔积结果为四个影像子区域 {0,2,5,7}{0,2,4,6}{2,3,5,7}{2,3,4,6}的一维数组形式。如图5所示:提取子区 域分块的流程图包括:判断子区域是否在合并查询子区域集合中,如果不 存在,则返回False。如果存在,则返回所要提取子区域在合并查询子区域 集合中的偏移。由于笛卡尔积的结果使得每一逻辑行包含的矩阵单元个数相同,可以通过合并查询子区域集合中的列起始差得到每一行所包含的矩 阵单元个数。接着,计算子区域所在一维数组中的偏移位置,该偏移位置 等于所有小于所要提取子区域在合并查询子区域集合中的偏移的行起始差 乘以每一行所包含的矩阵单元个数。接着,计算子区域所在行偏移位置, 该偏移位置等于子区域在合并查询子区域集合中的偏移的列起始差之和; 最后,根据所提取子区域分块的行偏移位置、列起始位置,得到每一个区 域像素数据在一维数组的偏移位置。在得到每一子区域信息后,影像访问 接口层为每一个空间矢量查询请求返回对应的影像数据。
为了探究本发明提供的热点区域遥感影像分布式缓存方法是否满足查 询热点区域影像的毫秒级响应要求,本发明实施例在Intel(R)Core(TM)i7 CPU [email protected]的机器上,内存32GB,磁盘为500GB的五个机器上 进行验证。与此同时,将前述主机存储管理器、分布式缓存***以及对象 存储数据库都安装在这五个机器上,采用一个华3交换机为1000MB/s吞吐 率的设备组网,以湖北恩施自治州咸丰县为空间查询矢量,查询2018年到2019年Sentinel2卫星100影像,分别观察多个客户多次请求相同区域的读 延迟以及吞吐率。读延迟是指从客户发出请求到收到响应的平均时间,吞 吐率是指存储管理器在接收多个多线程并发访问时,***为所有用户返回 的影像的总共用时时间。如表1所示,在线程数(表示并发用户的多少) 增加的情况下,读延时迅速减少,而吞吐率则相反,逐渐加大。在首次读 影像块的数据时,延迟1s左右返回结果,后续的读请求返回存储于内存中 的影像块,因此读延迟并没有上升的趋势。在吞吐率方面,由于缓存影像 块从本机内存直接返回,吞吐率也相应的增加。从表1可以看出,通过在 面向矩阵的对象存储***中增加分布式缓存后,高频率访问相同分块的查 询时间逐渐减少。
表1
线程数 | 读延迟(ms) | 吞吐率(MB/s) |
10 | 1111 | 1540 |
20 | 517 | 2114 |
30 | 223 | 2456 |
40 | 168 | 2890 |
50 | 35 | 3420 |
Sentinel2卫星影像的L2级产品的大小为1.02GB,查询和拼接出 恩施自治州咸丰县需要获取每一幅影像的320个子区域。100个用户并发访 问的情况下,不进行合并查询的时间开销是1253ms,合并查询的时间开销 为58ms。这个结果表明,合并子区域查询算法能够有效减少空间矢量查询 请求的服务响应时间。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等 同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种自适应分布式遥感影像缓存方法,其特征在于,包括:
S1.根据空间矢量查询请求发出时间、地理空间范围以及时间范围,从存储于分布式对象存储数据库中的遥感影像中选择需要缓存在分布式缓存中的遥感影像;
S2.将选择出的遥感影像存储在分布式缓存中;其中,分布式缓存是由多个主机当前可用的内存组成的缓存***。
2.根据权利要求1所述的一种自适应分布式遥感影像缓存方法,其特征在于,步骤S1具体为,
针对同一时刻,同一地理空间范围以及相同时间范围内的遥感影像查询请求,当请求个数大于第一阈值N时,从分布式对象存储数据库中获取遥感影像并进行缓存;
针对不同时刻,同一地理空间范围以及相同时间范围内的遥感影像查询请求,当在指定的时间段内请求次数大于第一阈值N时,从分布式对象存储数据库中获取遥感影像并进行缓存;
针对不同时刻,同一地理空间范围以及不同时间范围内的遥感影像查询请求,将查询频率超过第二设定阈值M的遥感影像进行缓存;当两个或者多个地理空间矢量的查询频率一样时,按照空间矢量的包含关系决定缓存对应的遥感影像:当空间矢量A包含空间矢量B时,缓存空间矢量A所对应的遥感影像;当空间矢量之间没有包含关系时,缓存空间矢量A和B所对应的所有遥感影像。
3.根据权利要求2所述的一种自适应分布式遥感影像缓存方法,其特征在于,空间矢量的查询频率根据访问次数除以一个设定的时间间隔得到。
4.根据权利要求2所述的一种自适应分布式遥感影像缓存方法,其特征在于,当分布式缓存管理的影像数量超过预设上限时,或者当影像查询请求的响应延迟变长时,触发分布式缓存的清除机制,将设定时间内最不经常使用的遥感影像删除以存储新的访问频率高的影像。
5.一种自适应分布式遥感影像检索方法,其特征在于,包括:
S1.影像访问接口层选择设定时间段内最少使用的存储管理器处理空间矢量查询请求;
S2.存储管理器在对应主机内存中查找是否存在满足该空间矢量查询请求所对应的遥感影像;其中,每一个主机上都对应一个存储管理器,负责将遥感影像存储到分布式缓存***中并负责检索任务;
01.如果存在,则直接由该存储管理器返回该遥感影像;
02.如果不存在,则向分布式缓存发出空间矢量查询请求,由分布式缓存向分布式对象存储数据库发送查询请求,从分布式对象存储数据库中检索遥感影像并返回结果,并通知当前主机结果已返回;
03.如果在指定的时间范围内分布式缓存没返回结果,则主机上运行的存储管理器直接向分布式对象存储数据库发送查询请求,在返回该遥感影像的同时将其存储到分布式缓存中。
6.根据权利要求5所述的一种自适应分布式遥感影像检索方法,其特征在于,向分布式对象存储数据库发送查询请求之前,所述方法还包括:
将针对同一遥感影像所覆盖的多个空间矢量查询请求进行合并,形成合并查询子区域集合。
7.根据权利要求6所述的一种自适应分布式遥感影像检索方法,其特征在于,所述方法还包括:
判断所查询子区域是否在合并查询子区域集合中,如果不存在,则返回False;如果存在,通过求得得每一个子区域的开始列与结束列的差之和,以及每一个子区域的单元个数,计算子区域在笛卡尔积所对应的一维数组中的偏移位置,得到每一个子区域数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011341421.2A CN112395453B (zh) | 2020-11-25 | 2020-11-25 | 一种自适应分布式遥感影像缓存及检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011341421.2A CN112395453B (zh) | 2020-11-25 | 2020-11-25 | 一种自适应分布式遥感影像缓存及检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395453A true CN112395453A (zh) | 2021-02-23 |
CN112395453B CN112395453B (zh) | 2024-03-19 |
Family
ID=74603909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011341421.2A Active CN112395453B (zh) | 2020-11-25 | 2020-11-25 | 一种自适应分布式遥感影像缓存及检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395453B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934759A (zh) * | 2022-11-30 | 2023-04-07 | 二十一世纪空间技术应用股份有限公司 | 一种面向海量多源异构卫星数据查询的加速计算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160267132A1 (en) * | 2013-12-17 | 2016-09-15 | Hewlett-Packard Enterprise Development LP | Abstraction layer between a database query engine and a distributed file system |
CN106126604A (zh) * | 2016-06-20 | 2016-11-16 | 华南理工大学 | 一种基于分布式数据仓库的社保数据联机分析处理*** |
CN111125392A (zh) * | 2019-12-25 | 2020-05-08 | 华中科技大学 | 一种基于矩阵对象存储机制的遥感影像存储、查询方法 |
-
2020
- 2020-11-25 CN CN202011341421.2A patent/CN112395453B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160267132A1 (en) * | 2013-12-17 | 2016-09-15 | Hewlett-Packard Enterprise Development LP | Abstraction layer between a database query engine and a distributed file system |
CN106126604A (zh) * | 2016-06-20 | 2016-11-16 | 华南理工大学 | 一种基于分布式数据仓库的社保数据联机分析处理*** |
CN111125392A (zh) * | 2019-12-25 | 2020-05-08 | 华中科技大学 | 一种基于矩阵对象存储机制的遥感影像存储、查询方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934759A (zh) * | 2022-11-30 | 2023-04-07 | 二十一世纪空间技术应用股份有限公司 | 一种面向海量多源异构卫星数据查询的加速计算方法 |
CN115934759B (zh) * | 2022-11-30 | 2023-12-22 | 二十一世纪空间技术应用股份有限公司 | 一种面向海量多源异构卫星数据查询的加速计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112395453B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7797275B2 (en) | System and method of time-based cache coherency maintenance in user file manager of object-based storage system | |
CN107346307B (zh) | 分布式缓存***及方法 | |
EP2062123B1 (en) | Automatic load spreading in a clustered network storage system | |
US6370620B1 (en) | Web object caching and apparatus for performing the same | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
US6732117B1 (en) | Techniques for handling client-oriented requests within a data storage system | |
US10025718B1 (en) | Modifying provisioned throughput capacity for data stores according to cache performance | |
JP2004511840A (ja) | 他のノードのキャッシュに基づくあるノードのキャッシュ内のデータの置換管理 | |
CN105635196A (zh) | 一种获取文件数据的方法、***和应用服务器 | |
WO2023185770A1 (zh) | 云上数据缓存方法、装置、设备及存储介质 | |
CN114817195A (zh) | 一种分布式存储缓存管理的方法、***、存储介质及设备 | |
CN114238518A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114844846A (zh) | 一种基于可编程交换机的多级缓存分布式键值存储*** | |
CN112395453B (zh) | 一种自适应分布式遥感影像缓存及检索方法 | |
US11055223B2 (en) | Efficient cache warm up based on user requests | |
CN112559459B (zh) | 一种基于云计算的自适应存储分层***及方法 | |
CN107450860B (zh) | 一种基于分布式存储的地图文件预读方法 | |
CN116541553A (zh) | 一种视频调度方法、装置、设备及可读存储介质 | |
CN113660336B (zh) | 利用kv存储设备的云计算与雾计算*** | |
JPH06290090A (ja) | 遠隔ファイルアクセスシステム | |
JPH05143435A (ja) | データベースシステム | |
CN112130747A (zh) | 分布式对象存储***及数据读写方法 | |
CN109460293B (zh) | 无线云计算***中分布式计算环境下的计算资源选择方法 | |
CN117539915B (zh) | 一种数据处理方法及相关装置 | |
JP2001256098A (ja) | プロキシサーバにおけるキャッシの制御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |