CN116126500A - 一种海量遥感影像调度效率优化的方法 - Google Patents

一种海量遥感影像调度效率优化的方法 Download PDF

Info

Publication number
CN116126500A
CN116126500A CN202310103320.9A CN202310103320A CN116126500A CN 116126500 A CN116126500 A CN 116126500A CN 202310103320 A CN202310103320 A CN 202310103320A CN 116126500 A CN116126500 A CN 116126500A
Authority
CN
China
Prior art keywords
image
data
thread
memory
view
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
Application number
CN202310103320.9A
Other languages
English (en)
Other versions
CN116126500B (zh
Inventor
张震
孙何凌
朱建坤
丁静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University of Science and Technology
Original Assignee
Anhui University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University of Science and Technology filed Critical Anhui University of Science and Technology
Priority to CN202310103320.9A priority Critical patent/CN116126500B/zh
Publication of CN116126500A publication Critical patent/CN116126500A/zh
Application granted granted Critical
Publication of CN116126500B publication Critical patent/CN116126500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种海量遥感影像调度效率优化的方法,具体包括以下步骤:S1、通过缓存机制申请一段连续的内存,构成环形缓存区,在闭环的内存地址内进行数据存储和清除;S2、通过预取机制提前将用户可能需要的影像数据读入环形缓存区进行调度;S3、通过多线程机制,将影像调度的步骤划分为影像检索线程、I/O线程和影像可视化线程进行执行;本发明通过对影像的存储,读取及调度三个方面的优化,提高了影像的读取效率。

Description

一种海量遥感影像调度效率优化的方法
技术领域
本发明属于数据调度技术领域,尤其涉及一种海量遥感影像调度效率优化的方法。
背景技术
随着我国遥感技术的不断发展,以及全球遥感卫星的爆发式增长,遥感影像数据的规模不断增大,大数据时代的到来,使得传统的单片机处理模式已经不能满足遥感影像存储,调度和处理的需求,并行架构更有利于遥感影像的处理。而计算机硬件和软件的飞速发展,极大地带动了遥感领域的技术创新,同时计算机技术的局限,同样局限着遥感技术的发展。现阶段,由于遥感影像数据量庞大的自身特性,在用户加载读取影像数据时,存在较长的加载时长,无法及时响应的问题。现有的研究多针对特定算法和数据场景下的并行处理,消耗大量的时间用于计算出合理的调度策略,不利于提高人机交互体验。仅从算法调度层面,无法有效降低遥感影像的调度时间。因此,本发明针对以上需求提出了一种海量影像调度效率优化的方法。
发明内容
针对现有技术的不足,本发明提供了一种海量遥感影像调度效率优化的方法,解决了上述问题。
为实现以上目的,本发明通过以下技术方案予以实现:一种海量遥感影像调度效率优化的方法,包括:
S1、通过缓存机制申请一段连续的内存,构成环形缓存区,在闭环的内存地址内进行数据存储和清除;
S2、通过预取机制提前将用户可能需要的影像数据读入环形缓存区进行调度;
S3、通过多线程机制,将影像调度的步骤划分为影像检索线程、I/O线程和影像可视化线程进行执行。
在上述技术方案的基础上,本发明还提供以下可选技术方案:
进一步的技术方案:所述S1的具体操作步骤为:
S101、为环形缓存区设置两类指针,即读指针和写指针,读指针指向环形缓存区中正在被读取的数据,写指针指向环形缓存区中可写的内存,无需再次分配、释放内存空间;
S102、环形缓存区与外存进行数据交换映射时,采用组相联映射方法;
S103、当环形缓存区已满,而需要新的数据调入时,涉及数据的调入与调出,采用LRU算法,将最近最少使用的数据块调出缓存区,载入新的数据块。
进一步的技术方案:所述S2具体步骤包括:
S201、将视图的漫游方向分为10个类别,包括视图平面漫游的8个方向以及视图缩小和视图放大;
S202、在将预取瓦块存储到环形队列内存中时,按照这10个类别分块存储,每一类别的预取瓦块存储到连续的内存中,并在每一区块的起始位置创建指针;
S203、当视图范围向某一方向改变时,通过指针快速定位到该方位的影像瓦块的缓存位置。
进一步的技术方案:所述S3中:
所述影像检索线程负责根据前端的数据请求从PostgreSQL数据库集群中检索所需影像的属性信息;
所述I/O线程负责从HDFS文件系统的分布式集群中将当前视图所需的影像瓦块数据和需要预取的影像瓦块数据读取至环形缓存区中;
所述影像可视化线程负责从环形缓存区中将影像瓦块数据读取至用户视图。
进一步的技术方案:所述影像瓦块的预取机制分为基于广度预取和基于深度预取,其中,基于广度预取用于视图平移操作场景下的影像瓦片数据预取,目的是预取与当前视图区域空间邻接的影像瓦片数据;基于深度预取机制用于地图缩放操作下的影像瓦片数据预取,目的是预取与当前视图区域相邻缩放层级的影像瓦片数据。
有益效果
本发明提供了一种海量遥感影像调度效率优化的方法,与现有技术相比具备以下有益效果:
1、本发明通过在内存中选取固定的一段内存地址,构成环形缓存区,节省了申请和释放内存空间的时间,在此基础上设置预取机制,提前将用户可能需要的影像数据读入环形缓存区进行调度,降低了时间成本,设置三个线程,并发地对影像进行调度处理,提高了影像可视化效率,使得人机交互性进一步提升。
附图说明
图1本发明影像调度优化流程图;
图2环形缓存区示意图;
图3基于广度预取模型示意图;
图4基于深度预取模型示意图;
图5PostgreSQL数据库集群部署。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述。
请参阅图1~5,为本发明一种实施例提供的,一种海量遥感影像调度效率优化的方法,包括以下步骤:
S1、通过缓存机制申请一段连续的内存,构成环形缓存区,在闭环的内存地址内进行数据存储和清除;
S2、通过预取机制提前将用户可能需要的影像数据读入环形缓存区进行调度;
S3、通过多线程机制,将影像调度的步骤划分为影像检索线程、I/O线程和影像可视化线程进行执行。
具体地,如图2所示,关于缓存机制本发明申请了一段连续的内存空间,通过环形的内存设计让数据的存储和释放都在一个闭环的内存地址内。为确保环形缓存内输入/输出顺序的正确性,为环形缓存区设置两类指针——读指针和写指针。读指针指向环形缓存区中正在被读取的数据,写指针指向环形缓存区中可写的内存。通过移动读指针和写指针就可以实现缓存区的数据读取和写入。传统链表缓冲区在进行写入的时候,可能会分配存储空间用于存储新元素;在读出时,可能会释放废弃元素的存储空间。而环形缓冲区的所有存储空间都是提前分配,所有的写入和读出操作都是在一个固定的存储空间内进行,对于数据已读出的缓存区仅清空数据但不释放存储空间。所以环形方式相比普通链表方式,少掉了对于缓存区元素所用存储空间的分配、释放。利用组相联映射方式,实现内存与外存的地址映射,有利于加速影像的检索速率。缓存区写满时,采用LRU策略将缓存区内最近最少使用的数据块换出,写入新的需要调入的数据。
具体地,关于预取机制,为了能在用户发出视图范围改变的信号时快速做出响应,本发明将视图的漫游方向分为10个类别,包括视图平面漫游的8个方向,以及视图缩小和视图放大。在将预取瓦块存储到环形队列内存中时,按照这10个类别分块存储,每一类别的预取瓦块存储到连续的内存中,并在每一区块的起始位置创建指针。当视图范围向某一方向改变时,通过指针快速定位到该方位的影像瓦块的缓存位置。
受二叉树遍历算法的启发,将影像瓦块的预取机制分为基于广度预取和基于深度预取。
(1)基于广度预取用于视图平移操作场景下的影像瓦片数据预取,目的是预取与当前视图区域空间邻接的影像瓦片数据。图3为基于广度预取模型示意图,预取范围的边长为当前视图范围的2倍。
(2)基于深度预取机制用于地图缩放操作下的影像瓦片数据预取,目的是预取与当前视图区域相邻缩放层级的影像瓦片数据。图4为基于深度预取模型示意图,图左侧为影像金字塔,设当前视图的缩放比例对应的影像金字塔层级为k级,则从存储系统中预取k+1级和k-1级影像金字塔瓦块至缓存中。
具体地,关于多线程机制,本发明将影像调度的步骤划分为三个线程执行,包括影像检索线程、I/O线程和影像可视化线程。
影像检索线程负责根据前端的数据请求从PostgreSQL数据库集群中检索所需影像的属性信息。如图5所示,为提高PostgreSQL数据库集群的并发性和容量扩展性,按照3级Hilbert格网将不同编码的影像元数据存储到不同的数据库中,并按照1级Hilbert格网划分方式将这64个数据库部署到4台服务器上。集群中的每台服务器都通过一条子线程进行访问,当用户的请求的数据存储在某台服务器中时,唤醒子线程按照空间索引进行数据检索。
I/O线程负责从HDFS文件系统的分布式集群中将当前视图所需的影像瓦块数据和需要预取的影像瓦块数据读取至环形缓存区中。I/O线程读取数据时,首先需要获取DistributeFileSystem()实例,该实例通过open()方法调用RPC机制访问NameNode节点来获取所请求数据块的描述信息和位置信息,再通过获取到的信息到DataNode上进行读取。
影像可视化线程负责从环形缓存区中将影像瓦块数据读取至用户视图。当用户检索影像数据时,在I/O线程将影像瓦块数据读取到环形缓存区中的第一个内存中后唤醒影像可视化线程,并将指向缓存地址的指针传递给影像可视化线程,影像可视化线程通过指针开始读取数据至用户视图。当用户视图范围改变时,影像可视化线程将移出视图范围的数据的指针返回给I/O线程,由I/O线程清空数据缓存,同时在环形缓存区中寻找可用的预取数据,将数据读取至视图,并将读取的数据信息提交给I/O线程,从而使I/O线程减少新一轮预取数据的读取量。
由于影像检索线程、I/O线程和影像可视化线程并不是在同一时间开始执行,I/O线程应等待内存中数据存储空间为空时才可以写入数据;而影像可视化线程需要等待内存中数据存储空间不为空时才可以读取数据。对于这两个等待过程,要用通过指针来调节。为环形缓冲区设置两类指针,“Iswriting”和“Isreading”。
Iswriting:如果该标识符为“True”,说明该缓存区正在被I/O线程写入数据。因此,若影像可视化线程读取数据过快,会在该缓存区处暂停。等待I/O线程写入完成,并将“Iswriting”标识符重置为“False”后,此时影像可视化线程可以对该缓存区内的数据进行读取。
Isreading:如果该标识符为“True”,说明该缓存区内的数据正在被影像可视化线程使用,此时,I/O线程不可以对该内存缓冲区进行读写。当数据移出视图范围,且I/O线程接收到缓存清空指令后,I/O线程会将该标识符重置为“False”并清空该缓存区,这时I/O线程可写入数据至该缓存中。
本发明通过缓存机制、预取机制和多线程机制对影像调度进行优化,并从数据检索、传输、可视化等多方面进行全面优化;在缓存机制中,通过设置环形缓存结构,减少了内存的申请和释放时间,通过组相联映射和URL调度算法,优化了数据块的交换效率,通过将影像进行分级存储,实现预取机制,减少数据块频繁调入调出内存,实现快速读取;构建影像检索线程、I/O线程和影像可视化线程,多线程并发进行,提高调度效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性地包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (5)

1.一种海量遥感影像调度效率优化的方法,其特征在于,包括以下步骤:
S1、通过缓存机制申请一段连续的内存,构成环形缓存区,在闭环的内存地址内进行数据存储和清除;
S2、通过预取机制提前将用户可能需要的影像数据读入环形缓存区进行调度;
S3、通过多线程机制,将影像调度的步骤划分为影像检索线程、I/O线程和影像可视化线程进行执行。
2.根据权利要求1所述的海量遥感影像调度效率优化的方法,其特征在于,所述S1的具体操作步骤为:
S101、为环形缓存区设置两类指针,即读指针和写指针,读指针指向环形缓存区中正在被读取的数据,写指针指向环形缓存区中可写的内存,无需再次分配、释放内存空间;
S102、环形缓存区与外存进行数据交换映射时,采用组相联映射方法;
S103、当环形缓存区已满,而需要新的数据调入时,涉及数据的调入与调出,采用LRU算法,将最近最少使用的数据块调出缓存区,载入新的数据块。
3.根据权利要求1所述的海量遥感影像调度效率优化的方法,其特征在于,所述S2具体步骤包括:
S201、将视图的漫游方向分为10个类别,包括视图平面漫游的8个方向以及视图缩小和视图放大;
S202、在将预取瓦块存储到环形队列内存中时,按照这10个类别分块存储,每一类别的预取瓦块存储到连续的内存中,并在每一区块的起始位置创建指针;
S203、当视图范围向某一方向改变时,通过指针快速定位到该方位的影像瓦块的缓存位置。
4.根据权利要求1所述的海量遥感影像调度效率优化的方法,其特征在于,所述S3中:
所述影像检索线程负责根据前端的数据请求从PostgreSQL数据库集群中检索所需影像的属性信息;
所述I/O线程负责从HDFS文件系统的分布式集群中将当前视图所需的影像瓦块数据和需要预取的影像瓦块数据读取至环形缓存区中;
所述影像可视化线程负责从环形缓存区中将影像瓦块数据读取至用户视图。
5.根据权利要求1所述的海量遥感影像调度效率优化的方法,其特征在于,所述影像瓦块的预取机制分为基于广度预取和基于深度预取;
其中,
基于广度预取用于视图平移操作场景下的影像瓦片数据预取,目的是预取与当前视图区域空间邻接的影像瓦片数据;
基于深度预取机制用于地图缩放操作下的影像瓦片数据预取,目的是预取与当前视图区域相邻缩放层级的影像瓦片数据。
CN202310103320.9A 2023-02-13 2023-02-13 一种海量遥感影像调度效率优化的方法 Active CN116126500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310103320.9A CN116126500B (zh) 2023-02-13 2023-02-13 一种海量遥感影像调度效率优化的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310103320.9A CN116126500B (zh) 2023-02-13 2023-02-13 一种海量遥感影像调度效率优化的方法

Publications (2)

Publication Number Publication Date
CN116126500A true CN116126500A (zh) 2023-05-16
CN116126500B CN116126500B (zh) 2024-03-29

Family

ID=86298959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310103320.9A Active CN116126500B (zh) 2023-02-13 2023-02-13 一种海量遥感影像调度效率优化的方法

Country Status (1)

Country Link
CN (1) CN116126500B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111540A1 (en) * 2002-12-10 2004-06-10 Narad Charles E. Configurably prefetching head-of-queue from ring buffers
CN107077334A (zh) * 2014-12-27 2017-08-18 英特尔公司 从多维阵列预取多维元素块的硬件装置和方法
US20180165204A1 (en) * 2016-12-12 2018-06-14 Intel Corporation Programmable Memory Prefetcher
CN108768884A (zh) * 2018-04-27 2018-11-06 江苏中科芯核电子科技有限公司 一种基于环形缓冲区的无线通信数据处理方法
CN109964207A (zh) * 2016-11-11 2019-07-02 微软技术许可有限责任公司 用于时间行程调试和分析的基于高速缓存的跟踪
US20200104164A1 (en) * 2018-09-28 2020-04-02 Intel Corporation Memory system architecture for multi-threaded processors
CN111291016A (zh) * 2020-02-19 2020-06-16 江苏易图地理信息科技股份有限公司 一种海量遥感影像数据分层混合存储与索引方法
CN111723221A (zh) * 2020-06-19 2020-09-29 珠江水利委员会珠江水利科学研究院 基于分布式架构的海量遥感数据处理方法及系统
CN112416816A (zh) * 2020-12-08 2021-02-26 上证所信息网络有限公司 一种一写多读高并发无锁环形缓存及其实现方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111540A1 (en) * 2002-12-10 2004-06-10 Narad Charles E. Configurably prefetching head-of-queue from ring buffers
CN107077334A (zh) * 2014-12-27 2017-08-18 英特尔公司 从多维阵列预取多维元素块的硬件装置和方法
CN109964207A (zh) * 2016-11-11 2019-07-02 微软技术许可有限责任公司 用于时间行程调试和分析的基于高速缓存的跟踪
US20180165204A1 (en) * 2016-12-12 2018-06-14 Intel Corporation Programmable Memory Prefetcher
CN108768884A (zh) * 2018-04-27 2018-11-06 江苏中科芯核电子科技有限公司 一种基于环形缓冲区的无线通信数据处理方法
US20200104164A1 (en) * 2018-09-28 2020-04-02 Intel Corporation Memory system architecture for multi-threaded processors
CN111291016A (zh) * 2020-02-19 2020-06-16 江苏易图地理信息科技股份有限公司 一种海量遥感影像数据分层混合存储与索引方法
CN111723221A (zh) * 2020-06-19 2020-09-29 珠江水利委员会珠江水利科学研究院 基于分布式架构的海量遥感数据处理方法及系统
CN112416816A (zh) * 2020-12-08 2021-02-26 上证所信息网络有限公司 一种一写多读高并发无锁环形缓存及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张军等: "通用图形处理器缓存子系统性能优化方法综述", 计算机研究与发展, vol. 57, no. 6, 30 June 2020 (2020-06-30), pages 1191 - 1207 *

Also Published As

Publication number Publication date
CN116126500B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN110825748B (zh) 利用差异化索引机制的高性能和易扩展的键值存储方法
US11392570B2 (en) Key-value store system
CN108009008B (zh) 数据处理方法和系统、电子设备
CN103885728B (zh) 一种基于固态盘的磁盘缓存系统
CN114546296B (zh) 一种基于zns固态硬盘的全闪存系统和地址映射方法
US6941432B2 (en) Caching of objects in disk-based databases
CN106575297B (zh) 使用盲更新操作的高吞吐量数据修改
US9779027B2 (en) Apparatus, system and method for managing a level-two cache of a storage appliance
Zhou et al. Spitfire: A three-tier buffer manager for volatile and non-volatile memory
US9734059B2 (en) Methods and apparatus for data cache way prediction based on classification as stack data
US10409728B2 (en) File access predication using counter based eviction policies at the file and page level
US20070255909A1 (en) System and method for garbage collection in heterogeneous multiprocessor systems
US20140115291A1 (en) Numa optimization for garbage collection of multi-threaded applications
CN104598394A (zh) 一种可动态分配的数据缓存方法及系统
CN114969069A (zh) 一种应用于键值存储系统的热度感知本地更新方法
CN101116062A (zh) 用于实现组合式数据/相关性高速缓存的方法和装置
CN116126500B (zh) 一种海量遥感影像调度效率优化的方法
CN110046107A (zh) 存储器地址转换
KR20230017244A (ko) 코어 대 코어 캐시 스태싱 및 타깃 발견
CN112650694B (zh) 一种数据读取方法、装置、缓存代理服务器及存储介质
CN104112024A (zh) 数据库的高性能查询方法和装置
US11314645B1 (en) Cache stash relay
US20010032297A1 (en) Cache memory apparatus and data processing system
KR20220154612A (ko) 파일 속성에 따른 캐시 관리 방법 및 파일 속성에 따라 동작하는 캐시 관리 장치
US11768772B2 (en) Accumulators corresponding to bins in memory

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