CN113778341A - 遥感数据分布式存储方法和装置及遥感数据读取方法 - Google Patents
遥感数据分布式存储方法和装置及遥感数据读取方法 Download PDFInfo
- Publication number
- CN113778341A CN113778341A CN202111091476.7A CN202111091476A CN113778341A CN 113778341 A CN113778341 A CN 113778341A CN 202111091476 A CN202111091476 A CN 202111091476A CN 113778341 A CN113778341 A CN 113778341A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- remote sensing
- distributed
- index file
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 313
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000005516 engineering process Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 60
- 238000013507 mapping Methods 0.000 claims description 26
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种遥感数据分布式存储方法和装置及遥感数据读取方法,其中存储方法包括:获取待存储的遥感影像数据,将遥感影像数据分割为一个以上的存储块;将各存储块对应存储至集群式存储单元中,并创建索引文件,将各存储块缓存至分布式缓存层中。通过创建索引文件将分割得到的各存储块对应缓存至分布式缓存层中,使得在进行海量遥感数据的存储时,采用分布式缓存与分布式对象存储技术的结合,有效提高了遥感影像数据整体的存储性能。并且,通过创建索引文件将分割得到的存储块对应缓存至分布式缓存层中,在进行存储数据的读取时优先由分布式缓存层中进行读取,这也就有效提高了数据访问效率,降低了数据访问延时。
Description
技术领域
本申请涉及遥感数据处理技术领域,尤其涉及一种遥感数据分布式存储方法和装置及遥感数据读取方法。
背景技术
近年来我国卫星产业发展蓬勃,随着高分、资源等系列卫星的成功发射,对地观测数据接收量呈几何指数增长,海量遥感数据的有效存储和标准化管理已经成为当前面临重大挑战之一。传统存储方式主要有直连存储、集中式存储。其中,直连存储简单来说就是计算服务器和存储服务器直连,扩展容量有限。集中式存储主要包括SAN存储、NAS存储等,这种结构的存储,计算服务器和存储服务器分离,存储服务器是一个独立的设备,但是所有文件的读写都需经过一个入口(即,控制器),受控制器影响,集中式存储的扩展能力也是有限的,这就使得在采用上述两种存储方式进行海量遥感数据的存储时存储性能较差。
发明内容
有鉴于此,本申请提出了一种遥感数据分布式存储方法,可以有效提高海量遥感数据的存储性能。
根据本申请的一方面,提供了一种遥感数据分布式存储方法,包括:
获取待存储的遥感影像数据,将所述遥感影像数据分割为一个以上的存储块;
将各所述存储块对应存储至集群式存储单元中,并创建索引文件,将各所述存储块缓存至分布式缓存层中;
其中,所述索引文件用于记录各所述存储块与所述分布式缓存层中的各缓存之间的映射关系。
在一种可能的实现方式中,将所述遥感影像数据分割为一个以上的存储块时,各所述存储块的大小相同。
在一种可能的实现方式中,将各所述存储块对应存储至集群式存储单元中时采用Ceph分布式存储技术进行存储。
在一种可能的实现方式中,采用Ceph分布式存储技术将各所述存储块对应存储至集群式存储单元中时,包括:
对各所述存储块配置对应的标识;
计算各所述存储块的标识的哈希值,并基于各所述存储块的标识的哈希值得到各所述存储块对应的PG序号;
将各所述存储块对应的PG序号映射到所述集群式存储单元的存储服务器中,并将各所述存储块对应存储至相应的所述存储服务器中。
在一种可能的实现方式中,将各所述存储块对应的PG序号映射到所述集群式存储单元的存储服务器中时,基于预设的存储策略配置规则进行;
其中,所述存储策略配置规则包括:一个所述PG序号映射预设个数的所述存储服务器。
在一种可能的实现方式中,创建索引文件,将各所述存储块缓存至分布式缓存层中时,基于对各所述存储块所配置的标识进行。
在一种可能的实现方式中,将各所述存储块缓存至分布式缓存层中时,还包括:根据所述分布式缓存层中各内存的当前存储容量和当前待写入的存储块的大小,对所述分布式缓存层中的内存中已存储的存储块数据进行移除的操作。
根据本申请的另一方面,还提供了一种遥感数据读取方法,包括:
在接收到数据读取指令后,根据所述数据读取指令中待读取数据信息,由索引文件中查询相应的存储信息;
在由所述索引文件中查询到所述存储信息时,由所述索引文件中所记录的所述缓存中读取相应的存储块;
其中,所述索引文件通过在将遥感影像数据写入分布式缓存层时创建得到,用于记录各所述存储块与所述分布式缓存层中的各缓存之间的映射关系。
根据本申请的另一方面,还提供了一种遥感数据分布式存储装置,包括数据获取模块、数据分隔模块、第一存储模块和第二存储模块;
所述数据获取模块,被配置为获取待存储的遥感影像数据;
所述数据分割模块,被配置为将所述遥感影像数据分割为一个以上的存储块;
所述第一存储模块,被配置为将各所述存储块对应存储至集群式存储单元中;
所述第二存储模块,被配置为创建索引文件,将各所述存储块缓存至分布式缓存层中;
其中,所述索引文件用于记录各所述存储块与所述分布式缓存层中的各缓存之间的映射关系。
根据本申请的另一方面,还提供了一种遥感数据读取装置,包括文件查找模块和数据读取模块;
所述文件查找模块,被配置为在接收到数据读取指令后,根据所述数据读取指令中待读取数据信息,由所述分布式缓存层中查找与所述待读取数据信息相对应的索引文件;
所述数据读取模块,被配置为在查找到所述索引文件时,由所述索引文件中所记录的所述缓存中读取相应的存储块。
通过将待存储的遥感影像数据分割成多个存储块,将分割得到的各存储块对应存储至集群式存储单元中,从而实现采用分布式存储技术进行海量遥感数据的存储。同时,还通过创建索引文件将分割得到的各存储块对应缓存至分布式缓存层中,使得在进行海量遥感数据的存储时,采用分布式缓存与分布式对象存储技术的结合,有效提高了遥感影像数据整体的存储性能。并且,通过创建索引文件将分割得到的存储块对应缓存至分布式缓存层中,在进行存储数据的读取时优先由分布式缓存层中进行读取,这也就有效提高了数据访问效率,降低了数据访问延时。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出本申请实施例的遥感数据分布式存储方法的流程图;
图2示出本申请实施例的遥感数据分布式存储方法中采用Ceph分布式对象存储技术进行数据存储时Ceph存储架构图;
图3示出本申请实施例的遥感数据分布式存储方法中遥感数据读写过程的示意图;
图4示出本申请实施例的遥感数据分布式存储装置的结构框图;
图5示出本申请实施例的遥感数据分布式存储设备的结构框图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
图1示出根据本申请一实施例的遥感数据分布式存储方法的流程图。如图1所示,该方法包括:步骤S100,获取待存储的遥感影像数据,将遥感影像数据分割为多个存储块。步骤S200,将各存储块对应存储至集群式存储单元中,并创建索引文件将各存储块缓存至分布式缓存层中。其中,索引文件用于记录各存储块与分布式缓存层中的各缓存之间的映射关系。
此处,需要指出的是,在本申请实施例的方法中,分布式缓存层配置有多个内存缓存,每个内存缓存用于存储不同的存储块。在一种可能的实现方式中,对于分布式缓存层中的每个内存缓存均对应创建有相应的索引文件,通过所创建的索引文件记录内存缓存中所存储的存储块数据。
由此,本申请实施例的遥感数据分布式存储方法,通过将待存储的遥感影像数据分割成多个存储块,将分割得到的各存储块对应存储至集群式存储单元中,从而实现采用分布式存储技术进行海量遥感数据的存储。同时,还通过创建索引文件将分割得到的各存储块对应缓存至分布式缓存层中,使得在进行海量遥感数据的存储时,采用分布式缓存与分布式对象存储技术的结合,有效提高了遥感影像数据整体的存储性能。并且,通过创建索引文件将分割得到的存储块对应缓存至分布式缓存层中,在进行存储数据的读取时优先由分布式缓存层中进行读取,这也就有效提高了数据访问效率,降低了数据访问延时。
其中,需要指出的是,在将待存储的遥感影像数据分割为多个存储块时,可以采用各存储块的大小相同的方式进行分割。即,基于预设大小的存储块,对遥感影像数据进行分割。应当说明的是,所分割的存储块的预设大小可以根据存储系统进行设置,也可以根据实际情况灵活调整。在一种可能的实现方式中,存储块的预设大小可以设置为512KB—4MB,优选为4MB。
同时,还应当指出的是,对遥感影像数据进行分割时可以采用本领域常规的数据分割技术手段来实现,此处不再进行赘述。
并且,在按照预设大小的存储块对遥感影像数据进行分割的过程中,在当前待存储的遥感影像数据的数据总量不能被存储块的预设大小平分时,可以将最后剩余部分的数据作为一个存储块。
举例来说,在存储块的预设大小为40MB,当前待存储的遥感影像数据为403MB时,对该遥感影像数据进行分割时,可以选择将前400MB分割为10个40MB的存储块,再将最后剩余的3MB的数据块作为一个存储块进行存储。
此外,在本申请实施例的方法中,将各存储块对应存储至集群式存储单元中时可以采用Ceph分布式存储技术进行存储。参阅图2,Ceph分布式存储架构包括:最底层的RADOS(分布式对象存储系统)、Ceph存储的基础库LIBRADOS,以及高层应用接口。
其中,Ceph存储的最底层RADOS主要由三部分组成,分别是Ceph OSD、CephMonitor和Ceph MDS。
具体的,OSD是ceph的存储设备,Ceph OSD将数据以存储块的形式存储到集群中的每个节点的物理磁盘上,其中绝大多数工作是由OSD daemon进程实现,它主要用于集群中所有数据与存储块的存储,集群数据的复制、恢复、回补和平衡数据分布,并向其他osd守护进程发送心跳,然后向Monitor提供一些监控信息。
CephMonitor是Ceph存储的监视模块,主要用来监视整个集群的健康状态,保证集群数据的一致性。ClusterMAP描述了存储块的物理位置,以及将存储设备聚合到一起的列表,信息由维护集群成员的守护程序来提供各节点之间的状态、集群配置信息。Cephmonitor map主要包括OSD map、PG map、MDS map和CRUSH等,这些map被统称为集群Map。ceph monitor不存储数据。
Ceph MDS是指元数据服务器,主要功能是保存文件系统的元数据信息,
LIBRADOS是Ceph存储的基础库,其功能是对RADOS进行抽象和封装,并提供API,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如C、C++、Python等。
高层应用接口基于LIBRADOS层开发的有三种接口,分别是RADOSGW、LIBRBD和MDS。其中,RADOSGW和RBD是在LIBRADOS库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。RADOSGW是一套基于当前流行的RESTFUL协议的网关,支持对象存储,兼容S3和Swift。LIBRBD提供分布式的块存储设备接口,支持块存储。MDS提供兼容POSIX的文件系统,支持文件存储。本领域技术人员可以理解的是,应用层就是不同场景下对于Ceph各个应用接口的各种应用方式。
基于以上所述的Ceph分布式存储架构,在本申请实施例的方法中,采用Ceph分布式存储技术将各存储块对应存储至集群式存储单元中时,可以具体通过以下方式来实现。
首先,对各存储块配置对应的标识。然后,计算各存储块的标识的哈希值,并基于各存储块的标识的哈希值得到各存储块对应的PG序号。进而,再将各存储块对应的PG序号映射到集群式存储单元的存储服务器中,并将各存储块对应存储至相应的存储服务器中。
更加具体的,参阅图3,在将待存储的遥感影像数据存储到Ceph集群时,遥感影像数据首先会被分割成多个存储块,每个存储块都对应配置有一个唯一的ID(即,标识号)。其中,在一种可能的实现方式中对于每个存储块所配置的标识的大小可以根据分布式存储系统来确定。即,对每个存储块所配置的ID的大小可以由RADOS进行限定。在本申请实施例的方法中,ID的大小可以设置为4MB。可以理解的是,ID的大小也可以由用户根据实际情况灵活设置,以便实现底层存储的组织管理。因此,当上层应用需要存储尺寸很大的影像文件时,需要将文件切分成统一大小的一系列存储块进行存储。
在当前待存储的遥感影像数据被映射成一个或多个存储块后,再将每个存储块独立地映射到1个PG中去。具体的,在一种可能的实现方式中,可以使用Ceph系统中静态HASH算法计算每个存储块的ID(即,object ID,简称OID)的哈希值,将每个存储块的ID映射为一个近似均匀分布的伪随机值。然后,将映射得到的各伪随机值和MASK按位相与,得到最终的PG序号(PGID)。
需要说明的是,哈希值计算和按位与操作的整体结果事实上是从所有m个PG中近似均匀地随机选择1个。基于这一机制,当有大量存储块和大量PG时,RADOS能够保证存储块和PG之间的近似均匀映射。又因为存储块是由遥感影像文件切分而来的,大部分存储块的尺寸相同,因此,这一映射最终保证了各个PG中存储的存储块的总数据量近似均匀。
在通过上述当时急于各存储块的标识的哈希值得到各存储块对应的PG序号后,即可执行将各存储块对应的PG序号映射到集群式存储单元的存储服务器中,并将各存储块对应存储至相应的存储服务器中的步骤。即,将分割对象的逻辑组织单元的PG值映射到数据的实际存储单元OSD上。
在一种可能的实现方式中,将各存储块对应的PG序号映射到集群式存储单元的存储服务器(即,OSD)中时,可以采用CRUSH算法,将pgid值代入其中,然后得到一组共n个OSD。这n个OSD共同存储和维护一个PG中的所有存储块。n的数值可以根据实际应用中对于可靠性的需求而配置,在生产环境下通常设置为3。具体到每个OSD,则由其上运行的OSD Daemon负责执行映射到本地的Object在本地文件系统中的存储、访问、元数据维护等操作。
其中,需要说明的是,CRUSH算法的结果受到其他因素的影响。其影响因素主要有两个。一个是:当前系统状态,当系统中的OSD状态、数量发生变化时,集群运行过程也可能发生变化,而这种变化将会影响到PG与OSD之间的映射关系。另一个是:存储策略配置,可以指定承载同一个PG的3个OSD分别位于数据中心的不同服务器或机架上,从而进一步改善存储的可靠性。
因此,只有在系统状态和存储策略都不发生变化的时候,PG和OSD之间的映射关系才是固定不变的。在实际使用中,策略一经配置通常不会改变。而系统状态的改变或是因为设备损坏,或是因为存储集群规模扩大。但是Ceph系统本身提供了对这种变化的自动化支持,因而,即便PG与OSD之间的映射关系发生了变化,也并不会对应用产生影响。事实上,Ceph正是利用了CRUSH算法的动态特性,可以将一个PG根据需要动态迁移到不同的OSD组合上,从而自动化地实现高可靠性、数据分布再平衡等特性。
也就是说,在本申请实施例的方法中,将各存储块对应的PG序号映射到集群式存储单元的存储服务器中时,可以基于预设的存储策略配置规则进行。其中,存储策略配置规则包括:一个PG序号映射预设个数的存储服务器。根据前面所述,在一种可能的实现方式中,一个PG序号对应存储服务器的个数可以设置为3个。即,预设个数的取值范围可以设置为1个—3个。
通过上述步骤完成了遥感影像数据从文件到存储块、存储块到PG、PG再到OSD的整个映射过程。
其中,还需要说明的是,参阅图3,在本申请实施例的方法中,当将遥感影像数据切分成多个存储块,并对每个存储块对应配置唯一的标识后,还包括将分割后的各存储块缓存至分布式缓存层中的步骤。即,通过创建索引文件将各存储块缓存至分布式缓存层中的各内存缓存中。
在一种可能的实现方式中,将各存储块缓存至分布式缓存层中时,基于对各存储块所配置的标识进行。
也就是说,在本申请实施例的方法中,对于分布式缓存层中的各内存缓存,均对应配置有唯一的标号。在将遥感影像数据分割成一个或多个存储块后,将存储块同时写入分布式缓存层时,在创建索引文件的过程中,通过将各存储块的标识与各内存缓存的标号进行一一映射,得到各存储块与各内存缓存之间的映射关系,并将该映射关系记录至索引文件中。同时,将该存储块对应写入至相应的内存缓存中。
其中,还需要说明的是,在本申请实施例的方法中,分布式缓存是通过内存来实现的,在一种可能的实现方式中,在将各存储块缓存至分布式缓存层中时,还包括:根据分布式缓存层中各内存的当前存储容量和当前待写入的存储块的大小,对分布式缓存层中的内存中已存储的存储块数据进行移除的操作。具体的,在对分布式缓存层中各内存缓存所存储的数据进行移除时可以通过以下方式来实现。
即,通过检测各内存缓存当前的存储容量,在检测出当前存储容量还能够满足存储块数据的存储时,不进行数据移除,直接将当前要存储的存储块数据缓存至内存中即可。在检测出当前存储容量不足以存储当前的存储块数据时,则根据内存缓存中当前已存储的存储块数据的排序进行数据移除。
其中,对各内存缓存当前的存储容量的检测可以通过各内存缓存的最大数据存储容量,结合已存储的存储块的数量来进行。即,通过统计出已存储的存储块的数量,由已存储的存储块的数量及存储块的预设大小得到内存缓存的已存储容量,然后再对内存缓存的已存储容量与最大存储容量进行比较即可得到内存缓存的当前存储容量。
同时,对内存缓存中当前已存储的各存储块数据进行排序时则可以根据各存储块自存储至内存缓存中后的访问次数进行排序。在对各存储块排序时可以根据各存储块的访问次数由多到少进行排序。
举例来说,在一种可能的实现方式中,分布式缓存层中的各内存为64GB,存储块大小为4MB,那么存储块数量为16384块。各存储块数据在存入内存缓存中时可以按照堆栈的方式顺序缓存至内存中。即,存储块在内存中的写入过程类似于堆栈,只要内存缓存有空间,数据就会被存入缓存中,不会移除任何数据,直至存储空间饱和。同时,在数据写入至内存缓存的过程当中,已存储的存储块数据每被重复访问一次,访问频率加1次,数据会按访问频次进行排序,经常访问的数据在顶部,访问次数少的依次在底部。当内存缓存中没有足够的缓存空间同时还需要再继续写入新的存储块数据时,新写入的存储块数据会直接插入到缓存的存储块数据序列中,同时缓存中位于存储块数据序列最底层的数据会被移除。
进一步地,在本申请实施例的方法中,还包括:统计分布式缓存中各缓存内存储的存储块的访问频率。在统计出分布式缓存中各缓存内存储的存储块的访问频率小于预设频率时,将存储块由缓存内移除。其中,存储块的访问频率可以通过统计预设时间段内的被访问次数来得到。
也就是说,存储中数据是有热点的,数据的访问并不是均匀的,部分数据会经常被访问,因此也称为“热点数据”,为了提高数据读写访问速度,在本申请实施例的方法中,在Ceph对象存储的基础上,通过添加一层内存式缓存层,使得在访问热点数据时,会优先访问缓存中的数据,缩短数据的访问延时。
即,当用户需要读取分布式存储中的遥感影像数据时,调度系统会优先在内存缓存中遍历遥感数据索引文件存储块,如果查询到索引文件存在,则直接读取内存缓存中的分块数据。当内存缓存中不存在所需数据文件的存储块时,则直接从存储中读取数据文件,并将该文件写入内存缓存中,由于内存空间容量时固定的,因此会将访问频次低的数据移出内存缓存,至此完成遥感影像数据存储和读取的完整流程。
相应的,基于前面任一所述的遥感数据分布式存储方法,本申请还提供了一种遥感数据读取方法。需要说明的是,本申请提供的遥感数据读取方法是基于前面任一所述的遥感数据分布式存储方法进行数据存储后进行的。也就是说,本申请实施例的遥感数据读取方法与本申请实施例的遥感数据分布式存储方法均是基于同一数据存储架构进行的。
具体的,本申请提供的遥感数据读取方法包括:在接收到数据读取指令后,根据数据读取指令中待读取数据信息,由索引文件中查询相应的存储信息。在由索引文件中查询到存储信息时,由索引文件中所记录的缓存中读取相应的存储块。其中,索引文件通过在将遥感影像数据写入分布式缓存层时创建得到,用于记录各存储块与分布式缓存层中的各缓存之间的映射关系。在由索引文件中未查询到存储信息时,则直接由集群式存储单元中的存储服务器中进行相应数据的读取。
由此,本申请实施例的遥感数据分布式存储方法和数据读取方法,通过采用分布式缓存+Ceph分布式对象存储技术相结合的方式,有效提高了整体存储的性能,同时还实现了降低单点故障、弹性扩展,性能同步线性增长、易于运维的目的,达到了软硬件升级不需要做数据迁移,高并发时提高数据访问速度的效果。
相应的,基于前面任一所述的遥感数据分布式存储方法,本申请还提供了一种遥感数据分布式存储装置。由于本申请提供的遥感数据分布式存储装置的工作原理与本申请实施例的遥感数据分布式存储方法的原理相同或相似,因此重复之处不再赘述。
参阅图4,本申请提供的遥感数据分布存储装置100包括数据获取模块110、数据分割模块120、第一存储模块130和第二存储模块140。其中,数据获取模块110,被配置为获取待存储的遥感影像数据。数据分割模块,被配置为将遥感影像数据分割为一个以上的存储块。第一存储模块130,被配置为将各存储块对应存储至集群式存储单元中。第二存储模块140,被配置为创建索引文件,将各存储块缓存至分布式缓存层中。其中,索引文件用于记录各存储块与分布式缓存层中的各缓存之间的映射关系。
相应的,基于前面任一的遥感数据读取方法,本申请还提供了一种遥感数据读取装置。由于本申请提供的遥感数据读取装置的工作原理与本申请实施例的遥感数据读取方法的原理相同或相似,因此重复之处不再赘述。
参阅图5,本申请提供的遥感数据读取装置200包括文件查找模块210和数据读取模块220。文件查找模块210,被配置为在接收到数据读取指令后,根据数据读取指令中待读取数据信息,由分布式缓存层中查找与待读取数据信息相对应的索引文件。数据读取模块220,被配置为在查找到索引文件时,由索引文件中所记录的缓存中读取相应的存储块。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种遥感数据分布式存储方法,其特征在于,包括:
获取待存储的遥感影像数据,将所述遥感影像数据分割为一个以上的存储块;
将各所述存储块对应存储至集群式存储单元中,并创建索引文件,将各所述存储块缓存至分布式缓存层中;
其中,所述索引文件用于记录各所述存储块与所述分布式缓存层中的各缓存之间的映射关系。
2.根据权利要求1所述的方法,其特征在于,将所述遥感影像数据分割为一个以上的存储块时,各所述存储块的大小相同。
3.根据权利要求1所述的方法,其特征在于,将各所述存储块对应存储至集群式存储单元中时采用Ceph分布式存储技术进行存储。
4.根据权利要求3所述的方法,其特征在于,采用Ceph分布式存储技术将各所述存储块对应存储至集群式存储单元中时,包括:
对各所述存储块配置对应的标识;
计算各所述存储块的标识的哈希值,并基于各所述存储块的标识的哈希值得到各所述存储块对应的PG序号;
将各所述存储块对应的PG序号映射到所述集群式存储单元的存储服务器中,并将各所述存储块对应存储至相应的所述存储服务器中。
5.根据权利要求4所述的方法,其特征在于,将各所述存储块对应的PG序号映射到所述集群式存储单元的存储服务器中时,基于预设的存储策略配置规则进行;
其中,所述存储策略配置规则包括:一个所述PG序号映射预设个数的所述存储服务器。
6.根据权利要求4所述的方法,其特征在于,创建索引文件,将各所述存储块缓存至分布式缓存层中时,基于对各所述存储块所配置的标识进行。
7.根据权利要求1所述的方法,其特征在于,将各所述存储块缓存至分布式缓存层中时,还包括:根据所述分布式缓存层中各内存的当前存储容量和当前待写入的存储块的大小,对所述分布式缓存层中的内存中已存储的存储块数据进行移除的操作。
8.一种遥感数据读取方法,其特征在于,包括:
在接收到数据读取指令后,根据所述数据读取指令中待读取数据信息,由索引文件中查询相应的存储信息;
在由所述索引文件中查询到所述存储信息时,由所述索引文件中所记录的所述缓存中读取相应的存储块;
其中,所述索引文件通过在将遥感影像数据写入分布式缓存层时创建得到,用于记录各所述存储块与所述分布式缓存层中的各缓存之间的映射关系。
9.一种遥感数据分布式存储装置,其特征在于,包括数据获取模块、数据分隔模块、第一存储模块和第二存储模块;
所述数据获取模块,被配置为获取待存储的遥感影像数据;
所述数据分割模块,被配置为将所述遥感影像数据分割为一个以上的存储块;
所述第一存储模块,被配置为将各所述存储块对应存储至集群式存储单元中;
所述第二存储模块,被配置为创建索引文件,将各所述存储块缓存至分布式缓存层中;
其中,所述索引文件用于记录各所述存储块与所述分布式缓存层中的各缓存之间的映射关系。
10.一种遥感数据读取装置,其特征在于,包括文件查找模块和数据读取模块;
所述文件查找模块,被配置为在接收到数据读取指令后,根据所述数据读取指令中待读取数据信息,由所述分布式缓存层中查找与所述待读取数据信息相对应的索引文件;
所述数据读取模块,被配置为在查找到所述索引文件时,由所述索引文件中所记录的所述缓存中读取相应的存储块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111091476.7A CN113778341A (zh) | 2021-09-17 | 2021-09-17 | 遥感数据分布式存储方法和装置及遥感数据读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111091476.7A CN113778341A (zh) | 2021-09-17 | 2021-09-17 | 遥感数据分布式存储方法和装置及遥感数据读取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778341A true CN113778341A (zh) | 2021-12-10 |
Family
ID=78851850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111091476.7A Pending CN113778341A (zh) | 2021-09-17 | 2021-09-17 | 遥感数据分布式存储方法和装置及遥感数据读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778341A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644202A (zh) * | 2023-06-06 | 2023-08-25 | 北京捷泰云际信息技术有限公司 | 大数据量遥感影像数据的存储方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630919A (zh) * | 2015-12-22 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 存储方法及系统 |
CN108287660A (zh) * | 2017-01-09 | 2018-07-17 | 中国移动通信集团河北有限公司 | 数据存储方法和设备 |
CN108710639A (zh) * | 2018-04-17 | 2018-10-26 | 桂林电子科技大学 | 一种基于Ceph的海量小文件存取优化方法 |
CN109299060A (zh) * | 2018-11-22 | 2019-02-01 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于影像矩形分块的分布式文件方法及系统 |
CN110489059A (zh) * | 2019-07-11 | 2019-11-22 | 平安科技(深圳)有限公司 | 数据集群存储的方法、装置及计算机设备 |
-
2021
- 2021-09-17 CN CN202111091476.7A patent/CN113778341A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630919A (zh) * | 2015-12-22 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 存储方法及系统 |
CN108287660A (zh) * | 2017-01-09 | 2018-07-17 | 中国移动通信集团河北有限公司 | 数据存储方法和设备 |
CN108710639A (zh) * | 2018-04-17 | 2018-10-26 | 桂林电子科技大学 | 一种基于Ceph的海量小文件存取优化方法 |
CN109299060A (zh) * | 2018-11-22 | 2019-02-01 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于影像矩形分块的分布式文件方法及系统 |
CN110489059A (zh) * | 2019-07-11 | 2019-11-22 | 平安科技(深圳)有限公司 | 数据集群存储的方法、装置及计算机设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644202A (zh) * | 2023-06-06 | 2023-08-25 | 北京捷泰云际信息技术有限公司 | 大数据量遥感影像数据的存储方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2758304C (en) | Converting luns into files or files into luns in real time | |
JP6338208B2 (ja) | 仮想マシンのデータへアクセスするための方法および装置 | |
CN109947363B (zh) | 一种分布式存储系统的数据缓存方法 | |
US9189494B2 (en) | Object file system | |
US11093471B2 (en) | Large range lookups for Bϵ-tree | |
US9355121B1 (en) | Segregating data and metadata in a file system | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
US11048678B2 (en) | Bulk-load for B-trees | |
US10983909B2 (en) | Trading off cache space and write amplification for Bε-trees | |
US11169968B2 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
CN113946291A (zh) | 数据访问方法、装置、存储节点及可读存储介质 | |
CN107924334B (zh) | 弹性命名分布式循环缓冲区的重新平衡和弹性存储方案 | |
US10180901B2 (en) | Apparatus, system and method for managing space in a storage device | |
CN113778341A (zh) | 遥感数据分布式存储方法和装置及遥感数据读取方法 | |
CN110018879B (zh) | 应用于分布式系统的延迟加载方法及装置 | |
CN101783814A (zh) | 海量存储系统的元数据存储方法 | |
US11010091B2 (en) | Multi-tier storage | |
CN108958657B (zh) | 一种数据存储方法、存储设备及存储系统 | |
CN115509437A (zh) | 存储系统、网卡、处理器、数据访问方法、装置及系统 | |
CN115904211A (zh) | 一种存储系统、数据处理方法及相关设备 | |
CN110765290A (zh) | 图片存储方法、读取方法、装置及存取系统 | |
CN112052217B (zh) | 快照实现方法及装置 | |
KR100818993B1 (ko) | 블록 가상 할당을 이용한 파일 관리 장치 및 방법 | |
CN117762336A (zh) | 针对Ceph对象的定期删除方法、装置及设备 | |
CN117577163A (zh) | 一种ssd坏块检测方法、装置、计算机设备及存储介质 |
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 |