CN112558869A - 基于大数据遥感影像缓存方法 - Google Patents
基于大数据遥感影像缓存方法 Download PDFInfo
- Publication number
- CN112558869A CN112558869A CN202011437094.0A CN202011437094A CN112558869A CN 112558869 A CN112558869 A CN 112558869A CN 202011437094 A CN202011437094 A CN 202011437094A CN 112558869 A CN112558869 A CN 112558869A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- cache
- disk
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005192 partition Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000007246 mechanism Effects 0.000 claims abstract description 19
- 238000012163 sequencing technique Methods 0.000 claims abstract description 18
- 230000004931 aggregating effect Effects 0.000 claims abstract description 6
- 238000013500 data storage Methods 0.000 claims abstract description 4
- 238000013467 fragmentation Methods 0.000 claims abstract description 4
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 4
- 230000002776 aggregation Effects 0.000 claims description 8
- 238000004220 aggregation Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 150000001875 compounds Chemical class 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 208000032843 Hemorrhage Diseases 0.000 claims description 2
- 230000008859 change Effects 0.000 claims description 2
- 238000005111 flow chemistry technique Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011545 laboratory measurement Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 239000002699 waste material Substances 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
技术领域
本发明涉及遥感影像大数据读取技术领域,具体来说,涉及一种基于大数据遥感影像缓存方法。
背景技术
遥感影像数据具有单体数据量大,为了应对这一问题目前采取的存储方式是服务阵列模式,将影像数据直接存储在硬盘上,由于受限于网络和磁盘读写的速度,造成后续数据处理以及处理完的成果数据上传至服务器需要花费大量的时间,造成极大的时间成本浪费,而且随着影像数据量的增长,给数据维护造成一定的困扰。
随着近年来技术的发展,出现了分布式应用程序,比如hadoop等框架,可将影像利用分布式数据集轻松的将影像数据存储在数据服务器,同时读取速度有很大的提高,但是由于hadoop等框架的核心存储管理还是将数据存储在硬盘上,受限于硬盘的读写速度。
因此,数据集是应用程序的基础,数据集设计的是否合理,直接影响到系统的成本开销,从而影响数据读取的效率,现有的各种数据集不适合直接应用于存储影像大数据,所以从基础设计显得尤为重要。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于大数据遥感影像缓存方法,能够利用服务器内存资源,将影像大数据划分成多个片段,并读取到内存中,从而大大减少读取等待时间以及上传数据的等待时间,极大提高工作效率。
为实现上述技术目的,本发明的技术方案是这样实现的:一种基于大数据遥感影像缓存方法,该方法包括以下步骤:
S1 分布式缓存应用于海量数据存储,支持集群自动化数据分片,运用哈希算法,进行集群节点移除缓存或添加缓存,运行缓存过程中不改变已存在数据库键值正确节点映射关系及数据一致性;
S2 容错机制,创建数据集之间的依赖关系,根据依赖关系中的数据集节点接收到其他节点发送的信息时标注失效的节点,并广播到整个集群,某个子节点被标注后,其他从节点自行进行复制,生成新的节点并存储,每个新节点存储中包含多个任务,每个任务被分发给各个工作节点并执行;
S3 普通数据流处理方式,将读取的数据集发送到各个子节点中的共享内存中,共享内存中的数据存放硬盘,读取硬盘中的数据进行分割后任务分发;
S4 排序数据流处理方式,将数据集读入工作节点的内存中,工作节点执行进程将内存中的数据进行排序分配给划分好的缓存中,并进行阀值判断,若大于阀值,则将缓存写入磁盘中,并建立索引文件,进行文件合并,以及读取索引文件中的索引数据,进行序列化输出至磁盘;
S5聚合数据输出流处理,获取普通数据流,控制句柄执行写操作,写操作创建磁盘分区后,将分区文件进行合并,同时创建索引文件和磁盘数据文件,若不进行混合操作,则将数据存放于内存中。
进一步地,所述S1中移除缓存或添加缓存进一步包含:
S1.1 基于缓存B失效,沿缓存B逆时针遍历直到下一个缓存C之间的对象,即得到映射到缓存B的对象,变动缓存B的对象,将其重新映射到缓存C;
S1.2在环形哈希空间中,创建添加缓存D,缓存D被映射到对象2和对象3之间,沿缓存D逆时针遍历直到下一个缓存B之间的对象,将该对象重新映射到缓存D上。
进一步地,所述S2中依赖关系的存储运行进一步包含:
S2.1创建不同数据集的依赖关系,通过数据集父子依赖关系重新计算,得到丢失的分区容错率;
S2.2依赖关系的重新计算过程在不同节点中进行,并且依赖关系需要记录并存储粗粒度的转换,不需要记录数据和各种细粒度操作的日志。
进一步地,所述S2.1中依赖关系包含:单一依赖方式和复合依赖方式;
S2.1.1单一依赖方式是基于多个父数据集的某一分区的所有键值,落在子数据集的同一个分区内;
S2.1.2 复合依赖方式是一个父数据集的一个分区对应一个子数据集的多个分区。
进一步地,所述S3中子节点进一步包含:
S3.1 在子节点建立共享内存,存储分配的数据,若分配的数据大于开辟的内存空间时,将共享内存区中的数据以临时文件的方式存放到硬盘;
S3.2硬盘大量的磁盘读写任务完成后,对磁盘中存放的数据与共享内存中的数据进行合并。
进一步地,所述S4排序的数据流处理方式进一步包含:
S4.1 根据不同的算子,将数据写入不同的数据结构,若选用Map数据结构,则通过Map进行聚合,并写入内存,若选用普通join算子,则选用Array数据结构,直接写入内存;
S4.2 每写一条数据进入内存数据结构之后,进行判断,是否达到了某个临界阈值,若达到临界阈值,则将内存数据结构中的数据溢写到磁盘,并清空内存数据结构;
S4.3 根据关键字对内存数据结构中已有的数据进行排序,分批将数据写入磁盘文件,其中,分批数量为一万条
S4.4任务将所有数据写入内存数据结构的过程中,会产生多个临时文件,将临时文件进行合并后读取,依次写入磁盘文件中;
S4.5 基于上述磁盘文件数量的合并获得到带排序的数据流。
进一步地,所述S5中数据输出流处理方式进一步包含:
S5.1在聚合端任务较少的情况下,基于哈希实现机制方式;
S5.2 判断缓存端是否进行混合操作。
进一步地,所述S5.1中基于哈希实现机制的方式进一步包含:
S5.1.1 基于不需要排序和聚合的数据直接写入文件;
S5.1.2 根据聚合任务数量进行判断处理;
S5.1.3 将每一个分区写入一个单独的文件,并将文件进行合并。
进一步地,所述S5.2中判断缓存端是否进行混合操作进一步包含:
S5.2.1 判断内存的容量,若内存容量不足,则进行本地磁盘溢血操作,并将数据写入溢写的临时文件,将内存数据和磁盘溢写的临时文件进行合并,依次进行归并排序;
S5.2.2若未发生溢写,则不需要归并排序;
S5.2.3 根据内存生成合并后的数据文件和索引文件。
进一步地,所述S2中线性模型进一步包含:
线性模型为y = wTx+by = wTx+b,其中,y是预测值,
x = [ x1,x2 ,…,xd]是d维特征向量,w = [w1,w2,… ,wd]是参数,b 是 偏离率,特征集合包括原始的输入特征和转换后的特征,公式为:
ϕk(x) = I = 1∏dxicki,cki∈{0,1}
其中,cki 为一个 boolean变量, 若第i个特征是第k个变换 ϕk 的一部分,则为1,否则为0。
本发明的有益效果:鉴于现有技术中存在的不足,本申请设计了具有数据集的分布式缓存、数据集的容错机制、数据集的弹性机制、并基于内存的数据集,形成了一套完善的数据集管理机制,设计的全新架构的数据集,具有如下有益效果:
1)数据集的分布式缓存:解决在多台计算机上并行处理影像数据;
2)数据集的容错机制:解决数据在各个节点运算时,如果某一个节点挂掉了,如何重新计算该节点数据内容,并且保证该次计算代价最小;
3)数据集的弹性机制:解决运算过程中内存不足时,能够与磁盘进行数据交换;
4)基于内存的数据集:解决数据全部或部分缓存在内存中,以便在多次计算中重复使用;
5)数据集管理机制关系到数据集输出性能和吞吐量,由于数据集管理方式涉及到硬盘的读写和网络的传输,因此数据集管理方式性能的高低直接影响到整个程序的运行效率;
6)采用高效的排序算法:解决内存输出到硬盘或网络输出时数据序列化的时间代价最小,同时需要解决当进行排序时内存放不下所有数据时,如何进行下一步排序;
上述有益效果与现有技术相比,运行效率明显提高,经实验室测算,采用相同的原始影像、相同的计算机硬件设备、网络环境等同等条件下,影像的读取效率提高了10倍,从而大大减少了作业人员在传统数据读取、下载时的等待时间,以及数据上传的等待时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的基于大数据遥感影像缓存方法整体流程框图;
图2是根据本发明实施例所述的基于大数据遥感影像缓存方法可分发式移除缓存原理示意图;
图3是根据本发明实施例所述的基于大数据遥感影像缓存方法分布式缓存原理示意图;
图4是根据本发明实施例所述的基于大数据遥感影像缓存方法单一依赖关系流程框图;
图5是根据本发明实施例所述的基于大数据遥感影像缓存方法复合依赖关系流程框图;
图6是根据本发明实施例所述的基于大数据遥感影像缓存方法普通数据流处理流程框图;
图7是根据本发明实施例所述的基于大数据遥感影像缓存方法排序数据流处理流程框图;
图8是根据本发明实施例所述的基于大数据遥感影像缓存方法聚合数据输出流处理流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图 1-8 所示,根据本发明实施例所述的基于大数据遥感影像缓存方法,该方法包括以下步骤:
步骤一,分布式缓存;
步骤二,容错机制;
步骤三,普通数据流处理方式;
步骤四,排序数据流处理方式;
步骤五,聚合数据输出流处理方式;
在本发明的一个具体实施例中,
步骤一,分布式缓存应用于海量数据存储,支持集群自动化数据分片,运用哈希算法,进行集群节点移除缓存或添加缓存,运行缓存过程中不改变已存在数据库键值正确节点映射关系及数据一致性,移除缓存基于缓存B失效,沿缓存B逆时针遍历直到下一个缓存C之间的对象,即得到映射到缓存B的对象,变动缓存B的对象,将其重新映射到缓存C;添加缓存在环形哈希空间中,创建添加缓存D,缓存D被映射到对象2和对象3之间,沿缓存D逆时针遍历直到下一个缓存B之间的对象,将该对象重新映射到缓存D上即可。
在本发明的一个具体实施例中,
步骤二,容错机制,创建数据集之间的依赖关系,根据依赖关系中的数据集节点接收到其他节点发送的信息时标注失效的节点,并广播到整个集群,某个子节点被标注后,其他从节点自行进行复制,生成新的节点并存储,每个新节点存储中包含多个任务,每个任务被分发给各个工作节点并执行;依赖关系的存储运行进一步包含:
创建不同数据集的依赖关系,通过数据集父子依赖关系重新计算,得到丢失的分区容错率;依赖关系的重新计算过程在不同节点中进行,并且依赖关系需要记录并存储粗粒度的转换,不需要记录数据和各种细粒度操作的日志;其中,单一依赖方式是基于多个父数据集的某一分区的所有键值,落在子数据集的同一个分区内;复合依赖方式是一个父数据集的一个分区对应一个子数据集的多个分区。
在本发明的一个具体实施例中,
步骤三,普通数据流处理方式,将读取的数据集发送到各个子节点中的共享内存中,共享内存中的数据存放硬盘,读取硬盘中的数据进行分割后任务分发,其中,子节点进一步包含:在子节点建立共享内存,存储分配的数据,若分配的数据大于开辟的内存空间时,将共享内存区中的数据以临时文件的方式存放到硬盘;硬盘大量的磁盘读写任务完成后,对磁盘中存放的数据与共享内存中的数据进行合并,将产生大量的磁盘读写操作,以上两个对磁盘的读写操作对整个程序性能的高低有着直接的影响作用。
在本发明的一个具体实施例中,
步骤四,排序数据流处理方式,将数据集读入工作节点的内存中,工作节点执行进程将内存中的数据进行排序分配给划分好的缓存中,并进行阀值判断,若大于阀值,则将缓存写入磁盘中,并建立索引文件,进行文件合并,以及读取索引文件中的索引数据,进行序列化输出至磁盘;排序的数据流处理方式进一步包含:
根据不同的算子,将数据写入不同的数据结构,若选用Map数据结构,则通过Map进行聚合,并写入内存,若选用普通join算子,则选用Array数据结构,直接写入内存,每写一条数据进入内存数据结构之后,进行判断,是否达到了某个临界阈值,若达到临界阈值,则将内存数据结构中的数据溢写到磁盘,并清空内存数据结构;根据关键字对内存数据结构中已有的数据进行排序,分批将数据写入磁盘文件,其中,分批数量为一万条,写入磁盘文件是通过Java的BufferedOutputStream实现,是Java的缓冲输出流,首先会将数据缓冲在内存中,当内存缓冲满溢之后再一次写入磁盘文件中,这样可以减少磁盘10次数,提升性能;任务将所有数据写入内存数据结构的过程中,会产生多个临时文件,将临时文件进行合并后读取,依次写入磁盘文件中,基于上述磁盘文件数量的合并获得到带排序的数据流,此外,由于一个任务就只对应一个磁盘文件,也就意味着该任务为下游存储的任务准备的数据都在这一个文件中,因此还会单独写一份索引文件,其中标识了下游各个任务的数据在文件中的起始偏移量与终点偏移量,带排序的数据流由于有一个磁盘文件合并的过程,因此大大减少了文件数量。比如第一个存储有50个任务,总共有10个进程执行,每个进程执行5个任务,而第二个存储有100个任务。由于每个任务最终只有一个磁盘文件,因此此时每个进程上只有5个磁盘文件,所有进程只有50个磁盘文件(磁盘文件数量 = 上游存储的任务数量)。
在本发明的一个具体实施例中,
步骤五,聚合数据输出流处理包含两种方式,其一,在聚合端任务较少的情况下,基于哈希实现机制方式,获取数据流,控制句柄执行写操作,写操作创建磁盘分区后,将分区文件进行合并,同时创建索引文件和磁盘数据文件;其二,判断缓存端是否进行混合操作,若不进行混合操作,则将数据存放于内存中。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
在具体使用时,根据本发明所述的基于大数据遥感影像缓存方法,读取遥感影像数据具体实施步骤如下:
步骤一,数据读取操作
其一,作业管理人员将要处理的遥感影像数据以作业的方式发布到数据库里后,数据库将需要处理的遥感影像读取到内存中,根据预先设置好的阀值,将内存中的影像进行分块作业;
其二,数据库根据遥感影像的分块内容,计算数据库内的工作节点并将工作节点和数据分配情况进行记录,然后将数据分块分配到相应的工作节点上;
其三,工作节点上的内存接收数据后,根据设置选择普通数据流处理方式还是带排序的数据流处理方式,数据库默认的是普通数据流处理方式;进一步包含:
1)普通数据流处理方式:当分配的数据大于开辟的内存空间时,需要将共享内存区中的数据以临时文件的方式存放到硬盘;
2)带排序的数据流处理方式:工作节执行进程将内存中的数据进行排序分配给划分好的缓存中,并进行阀值判断,若大于阀值后则将缓存写入磁盘中,同时建立索引文件;
其四,当上述步骤都执行完毕后系统会将该数据处理任务下发到指定的作业人员,作业人员可以根据任务ID号直接在系统内进行影像下载操作。
步骤二,数据提交步骤
其一,作业人员将处理的好的影像数据上传至数据库,现在本地客户端选择影像数据后点击上传后,客户端将开启后台多线程任务,自动将影像上传。
其二,数据库接收到客户端上传的影像数据后,将需要处理的影像读取到内存中,根据预先设置好的阀值,将内存中的影像进行分块作业。
其三,根据影像的分块内容,计算数据库内的工作节点并将工作节点和数据分配情况进行记录,然后将数据分块分配到相应的工作节点上;
其四,工作节点上的内存接收数据后,采用聚合数据输出流处理方式进一步包含:
1)获取普通数据流,控制句柄进行写操作,在写入内存是,首先判断是否有聚合操作。如果有则写入内存,如果没有则写入缓存中。
2)在写入操作时,判断是否溢出操作,即写入内容大于申请内存。
3)若有溢出操作则对溢出文件进行合并操作后,写入分区,同时产生索引文件和磁盘数据文件。
4)若没有溢出操作则继续写入内存中。
5)文件合并时,读取索引文件中的索引数据,进行序列化输出至磁盘。
综上所述,借助于本发明的上述技术方案,通过数据集的分布式缓存:解决在多台计算机上并行处理影像数据;数据集的容错机制:解决数据在各个节点运算时,如果某一个节点挂掉了,如何重新计算该节点数据内容,并且保证该次计算代价最小;数据集的弹性机制:解决运算过程中内存不足时,能够与磁盘进行数据交换;基于内存的数据集:解决数据全部或部分缓存在内存中,以便在多次计算中重复使用;数据集管理机制关系到数据集输出性能和吞吐量,由于数据集管理方式涉及到硬盘的读写和网络的传输,因此数据集管理方式性能的高低直接影响到整个程序的运行效率;采用高效的排序算法:解决内存输出到硬盘或网络输出时数据序列化的时间代价最小,同时需要解决当进行排序时内存放不下所有数据时,如何进行下一步排序。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于大数据遥感影像缓存方法,其特征在于,该方法包括以下步骤:
S1 分布式缓存应用于海量数据存储,支持集群自动化数据分片,运用哈希算法,进行集群节点移除缓存或添加缓存,运行缓存过程中不改变已存在数据库键值正确节点映射关系及数据一致性;
S2 容错机制,创建数据集之间的依赖关系,根据依赖关系中的数据集节点接收到其他节点发送的信息时标注失效的节点,并广播到整个集群,某个子节点被标注后,其他从节点自行进行复制,生成新的节点并存储,每个新节点存储中包含多个任务,每个任务被分发给各个工作节点并执行;
S3 普通数据流处理方式,将读取的数据集发送到各个子节点中的共享内存中,共享内存中的数据存放硬盘,读取硬盘中的数据进行分割后任务分发;
S4 排序数据流处理方式,将数据集读入工作节点的内存中,工作节点执行进程将内存中的数据进行排序分配给划分好的缓存中,并进行阀值判断,若大于阀值,则将缓存写入磁盘中,并建立索引文件,进行文件合并,以及读取索引文件中的索引数据,进行序列化输出至磁盘;
S5聚合数据输出流处理,获取普通数据流,控制句柄执行写操作,写操作创建磁盘分区后,将分区文件进行合并,同时创建索引文件和磁盘数据文件,若不进行混合操作,则将数据存放于内存中。
2.根据权利要求1所述的基于大数据遥感影像缓存方法,其特征在于,所述S1中移除缓存或添加缓存进一步包含:
S1.1 基于缓存B失效,沿缓存B逆时针遍历直到下一个缓存C之间的对象,即得到映射到缓存B的对象,变动缓存B的对象,将其重新映射到缓存C;
S1.2在环形哈希空间中,创建添加缓存D,缓存D被映射到对象2和对象3之间,沿缓存D逆时针遍历直到下一个缓存B之间的对象,将该对象重新映射到缓存D上。
3.根据权利要求1所述的基于大数据遥感影像缓存方法,其特征在于,所述S2中依赖关系的存储运行进一步包含:
S2.1创建不同数据集的依赖关系,通过数据集父子依赖关系重新计算,得到丢失的分区容错率;
S2.2依赖关系的重新计算过程在不同节点中进行,并且依赖关系需要记录并存储粗粒度的转换,不需要记录数据和各种细粒度操作的日志。
4.根据权利要求3所述的基于大数据遥感影像缓存方法,其特征在于,所述S2.1中依赖关系包含:单一依赖方式和复合依赖方式;
S2.1.1单一依赖方式是基于多个父数据集的某一分区的所有键值,落在子数据集的同一个分区内;
S2.1.2 复合依赖方式是一个父数据集的一个分区对应一个子数据集的多个分区。
5.根据权利要求1所述的基于大数据遥感影像缓存方法,其特征在于,所述S3中子节点进一步包含:
S3.1 在子节点建立共享内存,存储分配的数据,若分配的数据大于开辟的内存空间时,将共享内存区中的数据以临时文件的方式存放到硬盘;
S3.2硬盘大量的磁盘读写任务完成后,对磁盘中存放的数据与共享内存中的数据进行合并。
6.根据权利要求1所述的基于大数据遥感影像缓存方法,其特征在于,所述S4排序的数据流处理方式进一步包含:
S4.1 根据不同的算子,将数据写入不同的数据结构,若选用Map数据结构,则通过Map进行聚合,并写入内存,若选用普通join算子,则选用Array数据结构,直接写入内存;
S4.2 每写一条数据进入内存数据结构之后,进行判断,是否达到了某个临界阈值,若达到临界阈值,则将内存数据结构中的数据溢写到磁盘,并清空内存数据结构;
S4.3 根据关键字对内存数据结构中已有的数据进行排序,分批将数据写入磁盘文件,其中,分批数量为一万条
S4.4任务将所有数据写入内存数据结构的过程中,会产生多个临时文件,将临时文件进行合并后读取,依次写入磁盘文件中;
S4.5 基于上述磁盘文件数量的合并获得到带排序的数据流。
7.根据权利要求1所述的基于大数据遥感影像缓存方法,其特征在于,所述S5中数据输出流处理方式进一步包含:
S5.1在聚合端任务较少的情况下,基于哈希实现机制方式;
S5.2 判断缓存端是否进行混合操作。
8.根据权利要求7所述的基于大数据遥感影像缓存方法,其特征在于,所述S5.1中基于哈希实现机制的方式进一步包含:
S5.1.1 基于不需要排序和聚合的数据直接写入文件;
S5.1.2 根据聚合任务数量进行判断处理;
S5.1.3 将每一个分区写入一个单独的文件,并将文件进行合并。
9.根据权利要求7所述的基于大数据遥感影像缓存方法,其特征在于,所述S5.2中判断缓存端是否进行混合操作进一步包含:
S5.2.1 判断内存的容量,若内存容量不足,则进行本地磁盘溢血操作,并将数据写入溢写的临时文件,将内存数据和磁盘溢写的临时文件进行合并,依次进行归并排序;
S5.2.2若未发生溢写,则不需要归并排序;
S5.2.3 根据内存生成合并后的数据文件和索引文件。
10.根据权利要求1所述的基于大数据遥感影像缓存方法,其特征在于,所述S2中线性模型进一步包含:
线性模型为y = wTx+by = wTx+b,其中,y是预测值, x = [ x1,x2 ,…,xd]是d维特征向量,w = [w1,w2,… ,wd]是参数,b 是偏离率,特征集合包括原始的输入特征和转换后的特征,公式为:
ϕk(x) = I = 1∏dxicki,cki∈{0,1}
其中,cki 为一个 boolean变量, 若第i个特征是第k个变换 ϕk 的一部分,则为1,否则为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011437094.0A CN112558869B (zh) | 2020-12-11 | 2020-12-11 | 基于大数据遥感影像缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011437094.0A CN112558869B (zh) | 2020-12-11 | 2020-12-11 | 基于大数据遥感影像缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112558869A true CN112558869A (zh) | 2021-03-26 |
CN112558869B CN112558869B (zh) | 2024-07-16 |
Family
ID=75060430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011437094.0A Active CN112558869B (zh) | 2020-12-11 | 2020-12-11 | 基于大数据遥感影像缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112558869B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281244A (zh) * | 2021-11-18 | 2022-04-05 | 中车株洲电力机车有限公司 | 机车制动机、数据存储器及数据校验方法、轨道交通车辆 |
CN114629908A (zh) * | 2022-03-28 | 2022-06-14 | 浙江邦盛科技股份有限公司 | 一种基于服务器节点硬件资源密度的数据分片方法 |
CN114816255A (zh) * | 2022-04-26 | 2022-07-29 | 平安普惠企业管理有限公司 | 基于Spark的文件处理方法、装置、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281376A (zh) * | 2013-05-31 | 2013-09-04 | 武汉大学 | 一种云环境下海量时序遥感影像的自动缓存构建方法 |
US20130282650A1 (en) * | 2012-04-18 | 2013-10-24 | Renmin University Of China | OLAP Query Processing Method Oriented to Database and HADOOP Hybrid Platform |
CN104052824A (zh) * | 2014-07-04 | 2014-09-17 | 哈尔滨工业大学深圳研究生院 | 分布式缓存方法及系统 |
CN106383791A (zh) * | 2016-09-23 | 2017-02-08 | 深圳职业技术学院 | 一种基于非统一内存访问架构的内存块组合方法及装置 |
CN107346307A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 分布式缓存系统及方法 |
CN108124012A (zh) * | 2017-12-21 | 2018-06-05 | 中通服公众信息产业股份有限公司 | 一种基于哈希算法的分布式缓存计算方法 |
CN108600321A (zh) * | 2018-03-26 | 2018-09-28 | 中国科学院计算技术研究所 | 一种基于分布式内存云的图数据存储方法和系统 |
CN108810041A (zh) * | 2017-04-27 | 2018-11-13 | 华为技术有限公司 | 一种分布式缓存系统的数据写入及扩容方法、装置 |
CN109032809A (zh) * | 2018-08-13 | 2018-12-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于遥感影像存储位置的异构并行调度系统 |
CN110276713A (zh) * | 2019-05-06 | 2019-09-24 | 中国科学院计算机网络信息中心 | 一种面向遥感影像数据的高效缓存方法及系统 |
CN111274310A (zh) * | 2018-12-05 | 2020-06-12 | 中国移动通信集团山东有限公司 | 一种分布式数据缓存方法及系统 |
-
2020
- 2020-12-11 CN CN202011437094.0A patent/CN112558869B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130282650A1 (en) * | 2012-04-18 | 2013-10-24 | Renmin University Of China | OLAP Query Processing Method Oriented to Database and HADOOP Hybrid Platform |
CN103281376A (zh) * | 2013-05-31 | 2013-09-04 | 武汉大学 | 一种云环境下海量时序遥感影像的自动缓存构建方法 |
CN104052824A (zh) * | 2014-07-04 | 2014-09-17 | 哈尔滨工业大学深圳研究生院 | 分布式缓存方法及系统 |
CN107346307A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 分布式缓存系统及方法 |
CN106383791A (zh) * | 2016-09-23 | 2017-02-08 | 深圳职业技术学院 | 一种基于非统一内存访问架构的内存块组合方法及装置 |
CN108810041A (zh) * | 2017-04-27 | 2018-11-13 | 华为技术有限公司 | 一种分布式缓存系统的数据写入及扩容方法、装置 |
CN108124012A (zh) * | 2017-12-21 | 2018-06-05 | 中通服公众信息产业股份有限公司 | 一种基于哈希算法的分布式缓存计算方法 |
CN108600321A (zh) * | 2018-03-26 | 2018-09-28 | 中国科学院计算技术研究所 | 一种基于分布式内存云的图数据存储方法和系统 |
CN109032809A (zh) * | 2018-08-13 | 2018-12-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于遥感影像存储位置的异构并行调度系统 |
CN111274310A (zh) * | 2018-12-05 | 2020-06-12 | 中国移动通信集团山东有限公司 | 一种分布式数据缓存方法及系统 |
CN110276713A (zh) * | 2019-05-06 | 2019-09-24 | 中国科学院计算机网络信息中心 | 一种面向遥感影像数据的高效缓存方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281244A (zh) * | 2021-11-18 | 2022-04-05 | 中车株洲电力机车有限公司 | 机车制动机、数据存储器及数据校验方法、轨道交通车辆 |
CN114629908A (zh) * | 2022-03-28 | 2022-06-14 | 浙江邦盛科技股份有限公司 | 一种基于服务器节点硬件资源密度的数据分片方法 |
CN114629908B (zh) * | 2022-03-28 | 2023-10-13 | 浙江邦盛科技股份有限公司 | 一种基于服务器节点硬件资源密度的数据分片方法 |
CN114816255A (zh) * | 2022-04-26 | 2022-07-29 | 平安普惠企业管理有限公司 | 基于Spark的文件处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112558869B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112558869A (zh) | 基于大数据遥感影像缓存方法 | |
US20110153603A1 (en) | Time series storage for large-scale monitoring system | |
CN107368260A (zh) | 基于分布式系统的存储空间整理方法、装置及系统 | |
CN106570145B (zh) | 一种基于分层映射的分布式数据库结果缓存方法 | |
CN112000703B (zh) | 数据入库处理方法、装置、计算机设备和存储介质 | |
US9952798B2 (en) | Repartitioning data in a distributed computing system | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
US20140223444A1 (en) | Resource assignment for jobs in a system having a processing pipeline | |
CN116302574B (zh) | 一种基于MapReduce的并发处理方法 | |
CN115344358A (zh) | 资源调度方法、装置和管理节点 | |
CN112711564B (zh) | 合并处理方法以及相关设备 | |
CN113311994A (zh) | 一种基于高并发的数据缓存方法 | |
JPWO2005106713A1 (ja) | 情報処理方法及び情報処理システム | |
CN117111856A (zh) | 一种数据湖数据处理方法、装置、系统、设备及介质 | |
KR100983479B1 (ko) | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
CN116303246A (zh) | 存储增量统计方法、装置、计算机设备及存储介质 | |
Davidson et al. | Technical review of apache flink for big data | |
CN113835613B (zh) | 一种文件读取方法、装置、电子设备和存储介质 | |
CN113986962A (zh) | 排行榜生成方法、装置、设备及存储介质 | |
CN114116790A (zh) | 数据处理的方法及装置 | |
WO2020078395A1 (zh) | 数据存储方法、装置及存储介质 | |
Weißbach et al. | Performance of Databases Used in Data Stream Processing Environments. | |
CN116069839A (zh) | 一种机器学习中数据的交换系统、方法及装置 | |
CN113553317A (zh) | 基于Hadoop架构的气象水文数据并发处理平台 | |
CN118332024A (zh) | 一种时序数据的处理方法以及装置 |
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 |