CN103475905B - 云环境下基于网络连接复用的影像数据块高效传输方法 - Google Patents
云环境下基于网络连接复用的影像数据块高效传输方法 Download PDFInfo
- Publication number
- CN103475905B CN103475905B CN201310442735.5A CN201310442735A CN103475905B CN 103475905 B CN103475905 B CN 103475905B CN 201310442735 A CN201310442735 A CN 201310442735A CN 103475905 B CN103475905 B CN 103475905B
- Authority
- CN
- China
- Prior art keywords
- image data
- data block
- client
- image
- block
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000005540 biological transmission Effects 0.000 title claims abstract description 19
- 238000013480 data collection Methods 0.000 claims abstract description 23
- 238000012795 verification Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种云环境下基于网络连接复用的影像数据块高效传输方法。步骤如下:1)客户端产生目标影像数据所在的空间区域等参数;2)建立与服务器端的连接,发送上一步骤中的各参数进行请求;3)服务器端访问云存储HDFS集群,加载目标分布式影像数据集的元数据;4)根据客户端的请求参数、元数据信息,计算客户端所请求的目标影像块范围;5)服务器从云存储HDFS集群的分布式影像数据集加载目标影像数据块集合;6)将目标影像数据块的元数据信息、影像数据块队列等封装成影像数据帧IDF,并传回客户端;7)客户端对接收到的IDF进行解析和处理。本发明在遥感数据云存储的影像数据高效发布方面,具有十分重要的实际应用价值。
Description
技术领域
本发明涉及计算机应用技术和地理信息科学领域,尤其涉及一种云环境下基于网络连接复用的影像数据块高效传输方法。
背景技术
近年来,随着对地观测技术的迅速发展,高分辨率遥感数据量呈几何级数增长。通过云存储来解决动态增长的海量遥感数据存储管理难题,是一种极具潜力的解决方案。对于大型的高分辨率遥感影像数据,通过分层分块方式进行组织,构建多分辨率层级影像金字塔,使用户可以对指定分辨率层级和空间区域影像进行获取,是实现影像数据高效发布的重要方法。为此,遥感数据云存储平台需要应付大规模影像数据块的并发请求。
目前,在影像数据块的传输方式上,通常是为每一个影像数据块建立一个单独连接。对于云存储分布式文件系统来说,尽管能够通过增加存储节点来应付动态增长的并发连接,但在传输大规模影像块时仍然需要频繁地建立和关闭数据连接,其传输效率仍然十分低下,并且严重浪费并发连接资源。
发明内容
本发明的目的目的是克服现有技术的不足,提供一种云环境下基于网络连接复用的影像数据块高效传输方法。
云环境下基于网络连接复用的影像数据块高效传输方法包括如下步骤:
1)客户端产生需要请求的影像数据集URI、目标影像层级、以及影像中目标区域的外边界范围BBox,其中BBox包含left、right、top和bottom四个参数;
2)客户端建立起与服务器端HTTP连接,通过Post方式发送上一步骤中的各参数进行请求;
3)服务器端接收到客户端请求之后,通过HDFSAPIs访问云存储HDFS集群上对应URI的分布式影像数据集DID-over-HDFS,加载元数据信息;
4)服务器端根据客户端的请求参数、元数据信息中的各层影像范围和影像数据块行列数,计算客户端所请求的目标影像块行列号范围;
5)服务器端根据目标影像块行列号范围,通过HDFSAPI从云存储HDFS集群上的分布式影像数据集上加载目标影像块;
6)服务器端将目标影像数据块的元数据信息、影像数据块队列等封装成影像数据帧IDF,并传回给客户端;
7)客户端对接收到的影像数据帧IDF进行解析和处理,通过读取帧中影像数据块的数量、各影像数据块行列号信息,对影像数据块进行拼接处理,从而获取到目标区域影像数据。
步骤3)所述的分布式影像数据集DID-over-HDFS是由一个大型数据集文件和索引文件构成,在分布式文件系统HDFS上进行存储;将影像数据分层分块后形成的多分辨率层级影像金字塔,基于<M,B>存储模型,有序地组合成一个大型数据集,并在分布式文件系统HDFS上进行分布式存储,其中M为影像数据块的行列位置码,B为影像数据块二进制流;在数据集头部存储元数据信息,包含影像坐标范围、层数、行列数、各层分辨率信息;同时,使用一个基于<M,P>存储模型的索引文件对数据集中的各影像数据块进行索引,通过P来指向数据集中影像数据块的存储位置,从而支持通过行列位置码M来读取影像数据块。
步骤6)所述的影像数据帧IDF分别由头部和数据主体部分组成,头部包括帧的版本号,影像数据块数量,数据主体长度,影像数据元数据长度,元数据序列化对象和元数据对象校验和,数据主体部分采用<M,(L,B)>键值对结构存储,其中M表示影像数据块的行列位置码,L为影像数据块长度,B为影像数据块二进制流。
本发明与现有技术相比具有的有益效果:
(1)大大提高了遥感数据云平台的大规模影像数据块集合传输的效率,有效降低了系统处理大规模并发短连接的资源耗费,为云数据中心建设提供了关键技术;
(2)使用云存储方式和影像数据分层分块组织来实现动态增长的遥感数据存储管理,解决海量高分辨率遥感影像数据存储和发布难题;
附图说明
图1是本发明的影像数据帧结构;
图2是本发明的M-Code结构;
图3是本发明的基于NCM的影像数据传输流程。
具体实施方式
云环境下基于网络连接复用的影像数据块高效传输方法包括如下步骤:
1)客户端产生需要请求的影像数据集URI、目标影像层级、以及影像中目标区域的外边界范围BBox,其中BBox包含left、right、top和bottom四个参数;
2)客户端建立起与服务器端HTTP连接,通过Post方式发送上一步骤中的各参数进行请求;
3)服务器端接收到客户端请求之后,通过HDFSAPIs访问云存储HDFS集群上对应URI的分布式影像数据集DID-over-HDFS,加载元数据信息;
4)服务器端根据客户端的请求参数、元数据信息中的各层影像范围和影像数据块行列数,计算客户端所请求的目标影像块行列号范围;
5)服务器端根据目标影像块行列号范围,通过HDFSAPI从云存储HDFS集群上的分布式影像数据集上加载目标影像块;
6)服务器端将目标影像数据块的元数据信息、影像数据块队列等封装成影像数据帧IDF,并传回给客户端;
7)客户端对接收到的影像数据帧IDF进行解析和处理,通过读取帧中影像数据块的数量、各影像数据块行列号信息,对影像数据块进行拼接处理,从而获取到目标区域影像数据。
步骤3)所述的分布式影像数据集DID-over-HDFS是由一个大型数据集文件和索引文件构成,在分布式文件系统HDFS上进行存储;将影像数据分层分块后形成的多分辨率层级影像金字塔,基于<M,B>存储模型,有序地组合成一个大型数据集,并在分布式文件系统HDFS上进行分布式存储,其中M为影像数据块的行列位置码,B为影像数据块二进制流;在数据集头部存储元数据信息,包含影像坐标范围、层数、行列数、各层分辨率信息;同时,使用一个基于<M,P>存储模型的索引文件对数据集中的各影像数据块进行索引,通过P来指向数据集中影像数据块的存储位置,从而支持通过行列位置码M来读取影像数据块。
步骤6)所述的影像数据帧IDF分别由头部和数据主体部分组成,头部包括帧的版本号,影像数据块数量,数据主体长度,影像数据元数据长度,元数据序列化对象和元数据对象校验和,数据主体部分采用<M,(L,B)>键值对结构存储,其中M表示影像数据块的行列位置码,L为影像数据块长度,B为影像数据块二进制流。
实施例
云环境下基于网络连接复用(NCM,NetworkConnectionMultiplexing)的影像数据块高效传输方法的实施内容包括影像数据帧的定义和影像数据的传输两个部分内容。
(1)基于NCM影像传输的影像数据帧定义
数据帧的概念原先来自协议栈,指数据链路层协议的数据单元。本发明所述的影像数据帧(ImageDataFrame,IDF)是一种特定的影像数据传输格式,对待传输的影像数据块队列进行封装,进而通过应用层的传输协议(如HTTP或FTP等)对影像块进行批量传输。
影像数据帧的结构如图1所示,分别由头部(Header)和数据主体(Body)部分组成,头部包括帧的版本号,影像数据块数量,数据主体长度,元数据长度,元数据序列化对象和元数据对象校验和;数据主体部分则是由影像块数据(Blocks)组成,采用<M,(L,B)>键值对结构来存储。其中:
Ver(Version):一个64位长整形数据,表示该影像数据帧的版本;
Num(BlockNumber):一个64位长整形数据,表示影像数据块的数量;
LB(BodyLength):一个64位长整形数据,表示数据主体部分的数据长度;
LM(MetadataLength):一个64位长整形数据,表示元数据的实际长度;
CM(MetadataCSC32):一个64位长整形数据,表示元数据的校验和;
Mi(M-Code):一个64位长整形数据,表示影像数据块在该区域的行列位置码;
Li(Length):一个64位长整形数据,表示二进制数据的实际长度;
Bi(Block):二进制数据,表示影像数据块的存储数据;
Ci(CSC32):一个64位长整形数据,分别表示帧头、元数据和各影像数据块的校验和。
其中,为保证数据传输过程中的正确性,对序列化后的元数据对象和所有影像数据块分别使用CSC32校验码。客户端可以选择对影像数据块进行快速校验,当发现影像数据块数据错误时,可对特定影像数据块再次发起请求。
位置码M-Code的结构如图2所示,分别采用24位来存储行号和列号,其中第0~23位存储列号,第24~47位存储行号,第48~62位为保留位,第64为有效位。这种结构紧凑的存储方式,有利于数据处理中排序和传输。通过行列号生成M-Code如下:
M=((long)reserved)<<48|((long)row)<<24|((long)col)(1)
反之,客户端通过M-Code获取行列号如下:
reserved=M>>48(2)
row=(M>>24)&0xFFFFFFL(3)
col=M&0xFFFFFFL(4)
其中,设reserved为保留位,row为影像数据块所在的行号,col为列号;符号“<<”为向左移位,符号“>>”为向右移位,“|”为按位求或,“&”为按位求与。
元数据中包含影像信息、影像块数据的行数和列数等,客户端在接收到元数据二进制数之后可反序列化为元数据对象,进而读取元数据各字段信息。具体的元数据格式可根据IDF版本号来指定。
(2)基于NCM的影像数据块传输流程
基于NCM的影像数据块传输流程如图3所示,图中“DID-over-HDFS”是一种建立在云存储分布式文件系统HDFS之上的分布式影像数据集(DID,DistributedImageDataset)容器,主要用于解决HDFS等不适合直接用于存储大规模影像数据块小文件等问题。以HTTP传输为例,影像数据块的获取步骤如下:
1)客户端产生需要请求的影像数据集URI、目标影像层级、以及影像中目标区域的外边界范围BBox(BoundingBox,含left、right、top和bottom四个参数)等参数;
2)客户端建立起与服务器端的连接,并通过Post方式发送上一步骤中的各参数进行请求;
3)服务器端接收到客户端请求之后,通过HDFSAPIs访问云存储HDFS集群上对应URI的分布式影像数据集,并加载元数据信息;
4)服务器端根据客户端的请求参数、元数据信息,计算客户端所请求的目标影像块范围;
5)服务器端根据目标影像块范围,通过HDFSAPI从云存储HDFS集群上的分布式影像数据集中加载目标影像块;
6)服务器端将目标影像数据块的元数据信息、影像数据块队列等封装成影像数据帧IDF,并传回给客户端;
7)客户端对接收到的IDF进行解析和处理。
此外,图3中的ClientAPI用于封装相关HTTP操作,为上层应用提供透明的影像数据访问方式。客户端程序调用ClientAPI相关接口,既可以返回经过拼接完毕的区域影像数据,也可以直接返回IDF数据帧二进制流,供用户的进一步处理。
以上整个影像数据访问流程中,仅用一个HTTP连接来完成云存储平台上目标影像数据块集合的传输,大大减少网络层TCP连接的频繁建立和关闭,提高影像数据块的传输效率,降低了对系统资源的压力。
Claims (1)
1.云环境下基于网络连接复用的影像数据块高效传输方法,其特征在于包括如下步骤:
1)客户端产生需要请求的影像数据集URI、目标影像层级、以及影像中目标区域的外边界范围BBox,其中BBox包含left、right、top和bottom四个参数;
2)客户端建立起与服务器端HTTP连接,通过Post方式发送上一步骤中的各参数进行请求;
3)服务器端接收到客户端请求之后,通过HDFSAPIs访问云存储HDFS集群上对应URI的分布式影像数据集DID-over-HDFS,加载元数据信息;
4)服务器端根据客户端的请求参数、元数据信息中的各层影像范围和影像数据块行列数,计算客户端所请求的目标影像块行列号范围;
5)服务器端根据目标影像块行列号范围,通过HDFSAPI从云存储HDFS集群上的分布式影像数据集上加载目标影像块;
6)服务器端将目标影像数据块的元数据信息、影像数据块队列等封装成影像数据帧IDF,并传回给客户端;
7)客户端对接收到的影像数据帧IDF进行解析和处理,通过读取帧中影像数据块的数量、各影像数据块行列号信息,对影像数据块进行拼接处理,从而获取到目标区域影像数据;
步骤3)所述的分布式影像数据集DID-over-HDFS是由一个大型数据集文件和索引文件构成,在分布式文件系统HDFS上进行存储;将影像数据分层分块后形成的多分辨率层级影像金字塔,基于<M,B>存储模型,有序地组合成一个大型数据集,并在分布式文件系统HDFS上进行分布式存储,其中M为影像数据块的行列位置码,B为影像数据块二进制流;在数据集头部存储元数据信息,包含影像坐标范围、层数、行列数、各层分辨率信息;同时,使用一个基于<M,P>存储模型的索引文件对数据集中的各影像数据块进行索引,通过P来指向数据集中影像数据块的存储位置,从而支持通过行列位置码M来读取影像数据块;
步骤6)所述的影像数据帧IDF分别由头部和数据主体部分组成,头部包括帧的版本号,影像数据块数量,数据主体长度,影像数据元数据长度,元数据序列化对象和元数据对象校验和,数据主体部分采用<M,(L,B)>键值对结构存储,其中M表示影像数据块的行列位置码,L为影像数据块长度,B为影像数据块二进制流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310442735.5A CN103475905B (zh) | 2013-09-25 | 2013-09-25 | 云环境下基于网络连接复用的影像数据块高效传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310442735.5A CN103475905B (zh) | 2013-09-25 | 2013-09-25 | 云环境下基于网络连接复用的影像数据块高效传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475905A CN103475905A (zh) | 2013-12-25 |
CN103475905B true CN103475905B (zh) | 2016-06-15 |
Family
ID=49800582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310442735.5A Active CN103475905B (zh) | 2013-09-25 | 2013-09-25 | 云环境下基于网络连接复用的影像数据块高效传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475905B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9990415B2 (en) | 2014-05-09 | 2018-06-05 | Maeda Corporation | Data structure for representing information using expressions |
CN104486396B (zh) * | 2014-12-10 | 2017-12-26 | 中国电信集团系统集成有限责任公司 | 一种跨平台的网络数据的传输方法 |
CN112632303A (zh) * | 2020-12-30 | 2021-04-09 | 北京超图软件股份有限公司 | 一种影像数据的分布式存储方法、分析方法及装置 |
CN114338718B (zh) * | 2021-12-21 | 2022-09-20 | 浙江大学 | 面向巨量遥感数据的分布式存储方法、装置及介质 |
CN117354069B (zh) * | 2023-12-06 | 2024-02-13 | 自然资源陕西省卫星应用技术中心 | 一种基于数据湖的遥感数据管理系统及方法 |
-
2013
- 2013-09-25 CN CN201310442735.5A patent/CN103475905B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103475905A (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103475905B (zh) | 云环境下基于网络连接复用的影像数据块高效传输方法 | |
US10812589B2 (en) | Storage architecture for heterogeneous multimedia data | |
US20190132392A1 (en) | Storage architecture for heterogeneous multimedia data | |
US10445334B1 (en) | Query transmission in type-limited interchange formats | |
CN108595664B (zh) | 一种hadoop环境下的农业数据监控方法 | |
CN102819530A (zh) | 电子地图的显示方法及装置 | |
CN104657436A (zh) | 基于MapReduce的静态瓦片金字塔并行构建方法 | |
CN104731569B (zh) | 一种数据处理方法及相关设备 | |
CN101661494A (zh) | 一种分布式中间件与数据库数据交互方法 | |
CN107423422A (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
CN103714145A (zh) | 关系型和Key-Value型数据库空间数据索引方法 | |
CN111078961B (zh) | 多数据源查询驱动系统、方法、装置和存储介质 | |
CN104778182B (zh) | 基于HBase的数据导入方法和系统 | |
CN104008134B (zh) | 基于HBase的高效存储方法及系统 | |
US20150331909A1 (en) | Application programming interface for tabular genomic datasets | |
CN106453618A (zh) | 基于G‑Cloud云计算的遥感图像处理服务云平台系统 | |
CN103761291A (zh) | 一种基于聚合请求的地理栅格数据并行读写方法 | |
CN108241676A (zh) | 实现数据同步的方法及设备 | |
Yang et al. | WebGIS performance issues and solutions | |
CN111459943A (zh) | 一种数据处理方法、装置、系统、设备及存储介质 | |
Gómez et al. | Decentralized model persistence for distributed computing | |
CN114372097A (zh) | 一种数据集列序列化的高效连接比对实现方法及装置 | |
de Souza Baptista et al. | NoSQL geographic databases: an overview | |
CN111507430B (zh) | 基于矩阵乘法的特征编码方法、装置、设备及介质 | |
CN116627901A (zh) | 一种自动驾驶多模态数据存储管理方法和系统 |
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 |