CN116594977A - 遥感数据的分布式处理系统 - Google Patents
遥感数据的分布式处理系统 Download PDFInfo
- Publication number
- CN116594977A CN116594977A CN202310536829.2A CN202310536829A CN116594977A CN 116594977 A CN116594977 A CN 116594977A CN 202310536829 A CN202310536829 A CN 202310536829A CN 116594977 A CN116594977 A CN 116594977A
- Authority
- CN
- China
- Prior art keywords
- remote sensing
- sensing data
- target
- data
- basic operation
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 288
- 230000000007 visual effect Effects 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 108
- 238000000034 method Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 11
- 108091026890 Coding region Proteins 0.000 claims description 3
- 108700026244 Open Reading Frames Proteins 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000013499 data model Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种遥感数据的分布式处理系统。端侧设备提供的可视化界面用于设置待执行的处理逻辑、待处理的遥感数据的标识、以及待计算的区域范围。云服务器采用分布式系统架构,通过接入节点获取区域范围、处理逻辑和目标遥感数据的标识,向计算节点分发落入区域范围内的目标瓦片的标识,并发送目标遥感数据的标识及处理逻辑。计算节点从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块,并对数据块执行处理逻辑,得到区域范围内的遥感数据处理结果。端侧设备在可视化界面上展示区域范围内的遥感数据处理结果。以瓦片的数据块为处理单位,并发地执行各个目标瓦片的数据块的处理,提升了遥感数据处理的效率,缩短了响应时间。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种遥感数据的分布式处理系统。
背景技术
在遥感数据处理领域,遥感数据的交互式分析系统是一种遥感数据的处理分析云平台,融合了在线结果可视化和离线结果导出功能。在开发者模式下,基于系统提供的海量遥感数据和丰富的基本函数能力,用户可以进行遥感数据处理逻辑的在线项目开发。但是,目前的遥感数据的交互式分析系统,从用户提交代码到系统输出渲染的可视化结果的响应时间较长,遥感数据处理的效率较低。
发明内容
本申请提供一种遥感数据的分布式处理系统,用以解决遥感数据交互式分析系统的响应时间场、遥感数据处理效率低的问题。
一方面,本申请提供一种遥感数据的分布式处理系统,包括:云服务器,
所述云服务器包括:
分布式存储系统,用于存储采集到的遥感数据;
接入节点,用于响应遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识,基于地图空间划分的瓦片,将落入所述区域范围内的目标瓦片的标识分发给计算节点,并向所述计算节点发送所述目标遥感数据的标识及所述处理逻辑;
计算节点,用于根据分发到的目标瓦片的标识,从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块,并对所述数据块执行所述处理逻辑,得到所述目标瓦片内的数据块的处理结果;
所述接入节点还用于输出所述区域范围内的遥感数据处理结果,所述区域范围内的遥感数据处理结果包含各所述目标瓦片内的数据块的处理结果。
另一方面,本申请提供一种遥感数据的分布式处理系统,包括:端侧设备,
所述端侧设备提供可视化界面,所述可视化界面用于确定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围;
响应于运行指令,向云服务器发送遥感数据处理请求,所述遥感数据处理请求包含待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识;
接收所述云服务器发送的所述区域范围内的遥感数据处理结果,所述遥感数据处理结果包括根据落入所述区域范围内的目标瓦片的标识,从分布式存储系统加载所述目标遥感数据落入所述目标瓦片的数据块,并对所述数据块执行所述处理逻辑,得到的所述目标瓦片内的数据块的处理结果;
在所述可视化界面上展示所述区域范围内的遥感数据处理结果。
本申请提供的遥感数据的分布式处理系统,端侧设备提供可视化界面,基于可视化界面用户可以给定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围。响应于运行指令,端侧设备向云服务器发送遥感数据处理请求,所述遥感数据处理请求包含待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识。云服务器包括:分布式存储系统、接入节点和计算节点。分布式存储系统存储采集到的遥感数据。接入节点响应遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识,基于地图空间划分的瓦片,将落入所述区域范围内的目标瓦片的标识分发给计算节点,并向所述计算节点发送所述目标遥感数据的标识及所述处理逻辑。计算节点根据分发到的目标瓦片的标识,从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块,并对所述数据块执行所述处理逻辑,得到所述目标瓦片内的数据块的处理结果。所述接入节点向端侧设备输出所述区域范围内的遥感数据处理结果,所述区域范围内的遥感数据处理结果包含各所述目标瓦片内的数据块的处理结果。端侧设备接收所述云服务器发送的所述区域范围内的遥感数据处理结果,并在所述可视化界面上展示所述区域范围内的遥感数据处理结果。
本申请的方案,云服务器采用分布式系统架构,将待计算的区域范围内的目标遥感数据划分为多个目标瓦片的数据块,将各个目标瓦片的数据块分发到多个计算节点,由各个计算节点分别执行目标遥感数据落入目标瓦片内的数据块的处理,以瓦片的数据块为处理单位,并发地执行各个目标瓦片的数据块的处理,提升了遥感数据处理的效率,缩短了响应时间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请所适用的一种示例性的遥感数据的分布式处理系统的架构图;
图2为本申请一示例性实施例提供的一种云服务器的架构图;
图3为本申请一示例性实施例提供的遥感数据分布式处理的方法流程图;
图4为本申请一示例性实施例提供的可视化界面的示意图;
图5为本申请另一示例性实施例提供的遥感数据的分布式处理的方法流程图;
图6为本申请一示例性实施例提供的一个函数抽象语法树的结构的示意图;
图7为本申请一示例性实施例提供的操作层的示意图;
图8为本申请一示例性实施例提供的基于栅格金字塔实现瓦片内数据块加载的示意图;
图9为本申请实施例提供的一种端侧设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
抽象语法树(Abstract Syntax Tree,简称AST):也称为语法树,描述函数调用的有向无环图(Directed Acyclic Graph,简称DAG),节点(指代函数)之间有依赖关系。
基本操作单元(Operator):系统中设置的对数据的基本操作单元,有既定的输入和输出。
操作层(Operator Level):是指基本操作单元(Operator)根据依赖关系构成的层级。
栅格金字塔:是原始栅格数据集的缩减采样版本,可包含多个缩减采样图层。本申请中是将遥感数据栅格化为原始栅格数据,基于原始栅格数据缩减采样生成多个缩减采样层,得到多层不同分辨率的栅格数据构成的栅格金字塔。栅格金字塔中的各个连续图层均以2:1的比例进行缩减采样。
GeoTiff:是一种基于标签图像文件格式(Tag Image File Format,简称TIFF)的地理空间栅格数据存储格式,也是较通用的栅格数据存储格式之一。
地图空间:是指完整地图空间,也即全球地图空间。
瓦片:是指将地图空间划分成的指定单元大小(如256*256)的子区域,地图空间中不同的瓦片具有不同的标识和坐标范围。
针对现有的遥感数据交互式分析系统的响应时间场、遥感数据处理效率低的问题,本申请提供一种遥感数据的分布式处理系统,包括云服务器和端侧设备。
其中,端侧设备提供可视化界面,基于可视化界面用户可以给定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围。响应于运行指令,端侧设备向云服务器发送遥感数据处理请求,遥感数据处理请求包含待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识。
云服务器包括:分布式存储系统、接入节点和计算节点。分布式存储系统用于存储采集到的遥感数据。接入节点用于响应遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识,基于地图空间划分的瓦片,将落入区域范围内的目标瓦片的标识分发给计算节点,并向计算节点发送目标遥感数据的标识及处理逻辑。计算节点用于根据分发到的目标瓦片的标识,从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块,并对数据块执行处理逻辑,得到目标瓦片内的数据块的处理结果。接入节点还用于向端侧设备输出区域范围内的遥感数据处理结果,区域范围内的遥感数据处理结果包含各目标瓦片内的数据块的处理结果。
端侧设备接收云服务器发送的区域范围内的遥感数据处理结果,并在可视化界面上展示区域范围内的遥感数据处理结果。
本申请提供的遥感数据的分布式处理系统,云服务器采用分布式系统架构,将待计算的区域范围内的目标遥感数据划分为多个目标瓦片的数据块,将各个目标瓦片的数据块分发到多个计算节点,由各个计算节点分别执行目标遥感数据落入目标瓦片内的数据块的处理,以瓦片的数据块为处理单位,并发地执行各个目标瓦片的数据块的处理,提升了遥感数据处理的效率,缩短了响应时间。并且,云服务器的分布式系统架构中,接入节点、计算节点和分布式存储系统各自分离,具备独自扩容、缩容的能力。
图1为本申请所适用的一种示例性的遥感数据的分布式处理系统的架构图,如图1所示,该系统架构包括云服务器、端侧设备和遥感数据服务设备。
其中,云服务器具体可为设置在云端的服务器集群,例如云计算平台等。云服务器与各个端侧设备间具有可通信的通信链路,能够实现云服务器与各个端侧设备间的通信连接。
端侧设备是用户所使用的设备,具体可以是具有网络通信功能、运算功能以及信息显示功能的硬件设备,其包括但不限于用户使用的平板电脑、个人电脑等终端设备,服务平台或机构的服务器等。
遥感数据服务设备是向云服务器提供遥感数据的设备,可以是采集遥感数据的各类传感器,例如卫星、无人机摄影设备、地面物联网设备(IoT)、气象设备等,也可以是其他数据服务平台,此处不做具体限定。
云服务器从遥感数据服务设备获取各类型传感器采集的多源遥感数据,包括但不限于卫星影像、无人机影像、气象数据、IoT数据等。云服务器将获取到的遥感数据进行栅格划分,生成原始栅格数据,并构建遥感数据的栅格金字塔,栅格金字塔包含多层栅格数据,不同层的栅格数据为不同分辨率的遥感数据。云服务器将遥感数据的栅格金字塔存储到分布式存储系统中。另外,云服务器将地图空间(全球地图空间)划分为指定单元大小的瓦片,并确定遥感数据覆盖的瓦片内的数据块在遥感数据中的偏移量,并将遥感数据覆盖的瓦片对应的偏移量作为元数据信息,存储到元信息服务节点。基于瓦片内数据块的偏移量,计算节点可以从分布式存储系统所存储的遥感数据中加载遥感数据落入瓦片内的数据块,而无需加载整个遥感数据。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请一示例性实施例提供的遥感数据的分布式处理系统中云服务器的架构图。如图2所示,云服务器包括分布式存储系统、接入节点和计算节点。如图2中所示,云服务器采用分布式的系统架构,可以包括多个接入节点和多个计算节点。
其中,分布式存储系统用于存储采集到的遥感数据。示例性地,分布式存储系统可以采用如下各类分布式存系统实现:Pangu文件系统、对象存储服务(Object StorageService,简称OSS)、分布式文件系统(Hadoop Distributed File System,简称HDFS),或者其他分布式存储系统,此处不做具体限定。其中,Pangu文件系统是一种常用的分布式文件存储系统。
接入节点用于接收并响应来自端侧设备的遥感数据处理请求,基于遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识,基于地图空间划分的瓦片,将落入区域范围内的目标瓦片的标识分发给计算节点,并向计算节点发送目标遥感数据的标识及处理逻辑。
计算节点包含数据加载器、缓存、操作执行引擎、调度程序等组件,主要负责数据加载、计算、结果缓存和任务调度。具体用于根据分发到的目标瓦片的标识,从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块,并对数据块执行处理逻辑,得到目标瓦片内的数据块的处理结果。
接入节点还用于输出区域范围内的遥感数据处理结果,区域范围内的遥感数据处理结果包含各目标瓦片内的数据块的处理结果。
需要说明的是,遥感数据的分布式处理系统提供丰富的数据模型,包括预定义的基本操作单元、基本函数、基于基本函数实现的系统函数、预定义的数据类型等。
其中,预定义的基本操作单元是实现遥感数据处理过程中使用的基本操作,包括但不限于读取(可表示为OpRead)、表达式(可表示为OpExpression)、更新(可表示为OpUpdateMask),减少中位数(可表示为OpReduceMedian)。其中表达式操作包括各类表达式的操作,包括但不限于比较是否相等、与计算、求和、求差值等。
基本函数是系统提供的用于实现基本操作单元的系统函数,基本函数具有对应的基本操作单元。需要说明的是,对于给定不同输入数据的基本函数,可以封装生成不同的基本操作单元。例如,对于比较是否不等于输入参数的基本函数,对于不同的输入参数3和10,比较遥感数据的一项参数值是否不等于3,与比较遥感数据的一项参数值是否不等于10,可以封装成两个不同的表达式操作(也即两个基本操作单元):OpExpression’0’!=3,OpExpression’0’!=10。
基于定义的基本函数,使用基本函数可以编码实现更复杂计算逻辑的函数。遥感数据的分布式处理系统还提供了基于基本函数实现的系统函数,从而提供丰富的函数能力,供用户选择使用。
预定义的数据类型是系统提供的一些数据类型的定义,包括瓦片类型的定义、瓦片对应执行参数数组的定义、单张遥感影像的定义、包含多张遥感影像的影像集合的定义,以及其他常用数据类型的定义。基于系统提供的标准化的预定义的数据类型,有利于用户编程实现复杂的遥感数据处理逻辑,便于基于瓦片类型扩展新的函数。
另外,遥感数据的分布式处理系统还提供了基本函数、系统函数的参数、实现的处理逻辑、调用方法等信息,便于用户选择使用。用户可以直接选择使用所提供的系统函数实现对遥感数据的处理,或者用户可以基于系统提供的基本函数和系统函数,编码实现自己想要的遥感数据的处理逻辑。
在具体应用时,遥感数据的分布式处理系统通过端侧设备提供可视化界面,通过该可视化界面,用户可以设定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围,并通过可视化界面向端侧设备发出运行指令。响应于运行指令,端侧设备向云服务器发送遥感数据处理请求,遥感数据处理请求包含待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识。云服务器接收到遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识,并对待计算的区域范围内的目标遥感数据执行处理逻辑,得到遥感数据处理结果,将遥感数据处理结果返回给端侧设备。端侧设备在可视化界面上展示区域范围内的遥感数据处理结果。
如图2所示,本实施例提供的遥感数据的分布式处理系统中,云服务器的计算和存储分离,提供定义的数据类型、基本操作单元、基本函数、系统函数等数据模型,函数扩展变得容易,数据以瓦片类型分布在分布式存储系统中,新增函数只需要处理和返回瓦片类型的数据。所提供的定义的数据类型、基本函数、系统函数等可以在可视化界面中展示,用户可以直接引用提供的数据模型,实现遥感数据处理逻辑的编码。云服务器可以部署于云原生环境,接入节点、计算节点和存储节点各自分离,各类节点可以自动检测系统负载情况,并可以独自扩缩容。
图3为本申请一示例性实施例提供的遥感数据分布式处理的方法流程图,如图3所示,基于遥感数据分布式处理系统实现遥感数据的分布式处理的方法流程如下:
步骤S301、端侧设备提供可视化界面,可视化界面用于确定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围。
本实施例中,遥感数据的分布式处理系统提供可视化界面,并通过端侧设备上的客户端展示可视化界面。
示例性地,图4为本实施例提供的可视化界面的示意图,如图4所示,该可视化界面可以包括编码区域、函数列表区域和数据可视化区域。其中,编码区域为进行编写遥感数据的处理逻辑的程序代码的区域,可以使用python等编程语言的语法定义对象和函数,实现遥感数据的处理逻辑。函数列表区域展示系统定义的基本函数、系统函数等函数能力,以供用户编码遥感数据处理逻辑时使用。数据可视化区域提供地图组件,通过地图组件可以指定待计算的区域范围,以及在地图组件上展示遥感数据的处理结果。
在实际应用中,基于系统提供的可视化界面,用户可以使用系统提供的预定义的数据类型、基本函数、系统函数等,编码实现自己想要实现的遥感数据的处理逻辑,并指定待处理的目标遥感数据。其中,目标遥感数据可以是一张遥感影像,也可以是多张遥感影像的集合。系统提供多源的遥感数据,并支持用户通过搜索、指定想要进行处理的目标遥感数据。
基于系统提供的可视化界面中的地图组件,用户可以通过拖拽、缩、放等操作,调整地图组件内当前显示的显示区域。响应于对地图组件内显示区域的调整操作,端侧设备调整显示区域的分辨率和/或中心点位置。进一步地,在调整完成后,端侧设备根据显示区域的分辨率和/或中心点位置,确定待计算的区域范围,以及区域范围的宽度和高度。
可选地,端侧设备可以将整个显示区域作为计算区域,将显示区域的坐标范围,作为待计算的区域范围,将显示区域的宽度和高度作为区域范围的宽度和高度。
可选地,端侧设备将显示区域划分为多个栅格,将一个栅格作为一个计算区域,将各栅格的坐标范围分别作为待计算的区域范围,并将栅格区域的宽度和高度作为对应区域范围的宽度和高度。针对任一栅格,端侧设备向云服务器发送遥感数据处理请求,该请求包含该栅格的坐标范围、宽度和高度。对划分的多个栅格,端侧设备向云服务器发送多个遥感数据处理请求。不同的遥感数据处理请求之间相互独立,云服务器可以并行地处理不同的遥感数据处理请求。
步骤S302、响应于运行指令,端侧设备向云服务器发送遥感数据处理请求,遥感数据处理请求包含待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识。
如图4所示,可视化界面还可以提供操作控件,例如“运行”控件,通过触发“运行”控件可以发出运行指令。
端侧设备响应于运行指令,获取用户通过可视化界面编辑的内容,并向云服务器发送遥感数据处理请求,请求携带待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围。
步骤S303、云服务器的接入节点响应遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识。
如图2所示,云服务器采用分布式系统架构,设置多个接入节点。云服务器通过多个接入节点并行地处理来自一个或者多个端侧设备的遥感数据处理请求,各个遥感数据处理请求相互独立,且并行地处理。
示例性地,云服务器还可以包请求调度节点,该请求调度节点基于各个接入节点负载的遥感数据处理请求的负载均衡策略,向多个接入节点分配遥感数据处理请求。或者各个接入节点采用轮询方式,依次接收遥感数据处理请求,多个接入节点的调度方式此处不做具体限定。
步骤S304、接入节点基于地图空间划分的瓦片,将落入区域范围内的目标瓦片的标识分发给计算节点,并向计算节点发送目标遥感数据的标识及处理逻辑。
本实施例中,接入节点根据地图空间(全球地图空间)划分为的瓦片的坐标范围,将落入(或部分落入)区域范围内的瓦片作为目标瓦片,将目标瓦片作为进行遥感数据处理的单位区域,向各个计算节点分发目标瓦片的标识,并向计算节点发送目标遥感数据的标识及待执行的处理逻辑。各个计算节点负责对分发到的目标瓦片标识的这些目标瓦片内的遥感数据块执行处理逻辑。
步骤S305、计算节点根据分发到的目标瓦片的标识,从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块,并对数据块执行处理逻辑,得到目标瓦片内的数据块的处理结果。
各个计算节点根据分发到的目标瓦片的标识,从述分布式存储系统加载目标遥感数据落入目标瓦片内的数据块,并对数据块执行处理逻辑,得到目标瓦片内的数据块的处理结果。区域范围内各个目标瓦片的数据块的处理结果,构成了整个区域范围内的遥感数据处理结果。
在一可选实施例中,如图2所示,云服务器还包括元信息服务节点。元信息服务节点主要用于生成并存储元数据信息,并将元数据信息提供给接入节点和计算节点。
其中,元数据信息包括地图空间中的瓦片在各遥感数据中的偏移量。元信息服务节点用于确定地图空间中的瓦片在各遥感数据中的偏移量。计算节点从分布式存储系统加载目标遥感数据落入目标瓦片的数据块,具体可以采用如下方式实现:
计算节点根据目标瓦片的标识,从元信息服务节点获取目标瓦片在目标遥感数据中的偏移量。进一步地,计算节点根据目标瓦片在目标遥感数据中的偏移量,从分布式存储系统存储的目标遥感数据中,将落入目标瓦片内的数据块加载到内存中。
示例性地,目标遥感数据可以包括一种或者多张遥感影像(即目标遥感影像)。根据目标瓦片在各目标遥感影像中的偏移量,计算节点可以确定目标瓦片的数据块在各目标遥感影像中的起始位置,从分布式存储系统中各目标遥感影像中该起始位置起读取瓦片大小的数据块,加载到内存中,即可完成各目标遥感影像落入目标瓦片内的数据块的加载。
在一可选实施例中,分布式存储系统存储了遥感数据的栅格金字塔,栅格金字塔中不同层的栅格数据为不同分辨率的遥感数据。
在从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块时,计算节点根据区域范围的分辨率,从栅格金字塔中分辨率对应层的遥感数据中,加载目标遥感数据落入目标瓦片内的数据块。
其中,区域范围的分辨率是指在可视化界面中调整完成后的显示区域的分辨率。
具体地,根据区域范围的分辨率,以及栅格金字塔各层栅格数据的分辨率,若确定栅格金字塔中存在与区域范围的分辨率一致的层,则将与区域范围的分辨率一致的层作为区域范围的分辨率的对应层。若不存在与区域范围的分辨率一致的层,则将区域范围的分辨率且与区域范围的分辨率相差较小的层,作为区域范围的分辨率的对应层。从栅格金字塔中区域范围的分辨率的对应层的遥感数据中,加载目标遥感数据落入目标瓦片内的数据块。
可选地,若加载的数据块的分辨率与区域范围的分辨率不一致,则计算节点可以根据区域范围的分辨率对加载的数据块进行重采样,使得数据块的分辨率与区域范围的分辨率一致,并存储到内存中。另外,基于对函数AST的解析结果,还可以对读取的遥感数据进行区域剪裁、重投影等处理。
可选地,区域范围的分辨率可以通过如下方式确定:遥感数据处理请求还包含区域范围的高度和宽度。接入节点向分发了目标瓦片的标识的计算节点,发送区域范围的高度和宽度。计算节点根据区域范围及区域范围的高度和宽度,确定区域范围的分辨率。
可选地,区域范围的分辨率可以由端侧设备根据显示区域的坐标范围、宽度和高度计算得到,并携带在遥感数据处理请求中发送给云服务器。
在从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块之后,计算节点对目标瓦片内的数据执行处理逻辑,得到目标瓦片内的数据块的处理结果。通过分布式系统架构,多个计算节点可以并行地对各个目标瓦片内的数据块进行加载及执行处理逻辑,提升了遥感数据处理的效率。
步骤S306、接入节点向端侧设备输出区域范围内的遥感数据处理结果,区域范围内的遥感数据处理结果包含各目标瓦片内的数据块的处理结果。
本实施例中,计算节点将落入区域范围内的目标瓦片内的数据块的处理结果返回给接入节点。接入节点汇总各个计算节点发送的落入区域范围内各个目标瓦片内的数据库的处理结果,得到区域范围内的遥感数据处理结果,向端侧设备输出区域范围内的遥感数据处理结果。
步骤S307、端侧设备在可视化界面上展示区域范围内的遥感数据处理结果。
端侧设备接收云服务器发送的区域范围内的遥感数据处理结果,并在可视化界面上展示区域范围内的遥感数据处理结果。
具体地,基于图4所示可视化界面,端侧设备在可视化界面上数据可视化区域提供的地图组件上,展示区域范围内的遥感数据处理结果。
本实施例的方案,基于遥感数据的分布式处理系统,云服务器采用分布式系统架构,多个接入节点并行地处理来自一个或者多个端侧设备的遥感数据处理请求,基于各请求,将待计算的区域范围内的目标遥感数据划分为多个目标瓦片的数据块,将各个目标瓦片的数据块分发到多个计算节点,由各个计算节点分别执行目标遥感数据落入目标瓦片内的数据块的处理,以瓦片的数据块为处理单位,多个计算节点并发地执行各个目标瓦片的数据块的处理,提升了遥感数据处理的效率,缩短了响应时间。并且,云服务器的分布式系统架构中,接入节点、计算节点和分布式存储系统各自分离,具备独自扩容、缩容的能力。
图5为本申请另一示例性实施例提供的遥感数据的分布式处理的方法流程图,在一可选实施例中,步骤S302中端侧设备响应于运行指令,向云服务器发送遥感数据处理请求,具体采用如下方式实现:端侧设备响应于运行指令,将编码区域内的处理逻辑转换为函数抽象语法树,函数抽象语法树包含遥感数据的标识信息;向云服务器发送遥感数据处理请求,遥感数据处理请求包含待计算的区域范围和函数抽象语法树。
进一步地,步骤S303中云服务器的接入节点获取待执行的处理逻辑和待处理的目标遥感数据的标识,具体采用如下方式实现:接入节点接收待执行处理逻辑的函数抽象语法树,函数抽象语法树包含待处理的目标遥感数据的标识。
进一步地,步骤S304中接入节点向计算节点发送目标遥感数据的标识及处理逻辑,具体采用如下方式实现:接入节点解析函数抽象语法树,确定待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系;接入节点向计算节点发送各层级的基本操作单元及依赖关系。
进一步地,步骤S305中计算节点根据分发到的目标瓦片的标识,从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块,并对数据块执行处理逻辑,得到目标瓦片内的数据块的处理结果,具体采用如下方式实现:计算节点根据分发到的目标瓦片的标识,并行地执行第一层级的基本操作单元,从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块;并根据依赖关系逐层执行第二及以下各层级的基本操作单元,且并行执行同一层级的基本操作单元,实现对数据块执行处理逻辑,得到数据块的处理结果。
如图5所示,基于遥感数据分布式处理系统实现遥感数据的分布式处理的方法流程如下:
步骤S501、端侧设备提供可视化界面,可视化界面用于确定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围。
该步骤与前述步骤S301的实现方式一致,具体参见前述实施例的相关内容,此处不再赘述。
步骤S502、响应于运行指令,端侧设备将编码区域内的处理逻辑转换为函数抽象语法树,函数抽象语法树包含遥感数据的标识信息。
如图4所示,可视化界面还可以提供操作控件,例如“运行”控件,通过触发“运行”控件可以发出运行指令。
端侧设备响应于运行指令,获取用户通过可视化界面内编码区域内编辑完成的待执行的处理逻辑(程序代码),将编码区域内的处理逻辑转换为函数抽象语法树,函数抽象语法树包含遥感数据的标识信息。
具体地,端侧设备可以运行遥感数据的分布式处理系统提供的软件开发工具包(Software Development Kit,SDK),来将编码区域内的处理逻辑转换为函数抽象语法树。基于已知的基本函数、处理逻辑(代码)的语法规范,可以实现构建函数抽象语法树的SDK,具体可以采用对应程序语言的构建抽象语法树的SDK实现,此处不做具体限定。
其中,函数抽象语法树(AST)是描述处理逻辑中使用的基本函数间的调用关系(依赖关系)的有向无环图(DAG)。
示例性地,图6为本实施例提供的一个函数抽象语法树的结构的示意图,图6中的方框节点为对遥感数据处理的基本函数,箭头表示基本函数之间的信息流和依赖关系,箭头始端的节点的输出作为箭头末端的节点的输入。按照信息流的流向,图6所示的函数抽象语法树包括如下基本函数:ImageCollention.load、Image.neq(3)、Image.neq(10)、Image.and、Image.updateMask、reduce.median。其中,ImageCollention.load用于加载输入参数指定的影像集合中的多个遥感影像(对应Image)。Image.neq(3)用于比较遥感影像中的像素值是否不等于3,不等于3的像素值置1,等于3的像素值置0。Image.neq(10)用于比较遥感影像中的像素值是否不等于10,不等于10的像素值置1,等于10的像素值置0。Image.and用于对输入的两个影像中相同像素位置的两个像素值进行与运算,如果两个像素值均为非0,则该像素值置1,否则该像素值置0。Image.updateMask用于对遥感影像进行掩膜运算。其中loop节点表示对各遥感影像循环执行下面大括号内的处理。reduce.median用于对指定影像集合中的多个遥感影像经loop内部分处理的结果执行reduce操作,例如reduce操作可以是计算中值。其中,函数抽象语法树中ImageCollention.load的输入参数指定的影像集合中的多个遥感影像,也就是待处理的目标遥感影像,输入参数可以是影像集合的标识,或者是多个遥感影像标识。
步骤S503、端侧设备向云服务器发送遥感数据处理请求,遥感数据处理请求包含待计算的区域范围和函数抽象语法树。
本实施例中,端侧设备向云服务器发送的遥感数据处理请求中包含待计算的区域范围和函数抽象语法树,其中函数抽象语法树包含遥感数据的标识信息。
步骤S504、接入节点响应遥感数据处理请求,获取待计算的区域范围和函数抽象语法树。
如图2所示,云服务器采用分布式系统架构,设置多个接入节点。云服务器通过多个接入节点并行地处理来自一个或者多个端侧设备的遥感数据处理请求,各个遥感数据处理请求相互独立,且并行地处理。
示例性地,云服务器还可以包请求调度节点,该请求调度节点基于各个接入节点负载的遥感数据处理请求的负载均衡策略,向多个接入节点分配遥感数据处理请求。或者各个接入节点采用轮询方式,依次接收遥感数据处理请求,多个接入节点的调度方式此处不做具体限定。
接入节点响应于遥感数据处理请求,从遥感数据处理请求中提取待计算的区域范围和函数抽象语法树。
步骤S505、接入节点解析函数抽象语法树,确定待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系。
本实施例中,接入节点解析函数抽象语法树,将函数抽象语法树所包含的对遥感数据的基本函数,解析为对应的基本操作单元;根据基本函数间的依赖关系,确定基本操作单元的依赖关系和层级信息,其中,任一基本操作单元的输入来自上一层基本操作单元的输出,位于同一层级的基本操作单元间不存在依赖关系。
具体地,根据基本函数间的依赖关系,确定基本操作单元的依赖关系和层级信息时,将基本操作单元中的读操作放入第一个层级,通过将基本操作单元中包含的多个读操作放入第一个层级,通过集中执行第一个层级的多个读操作,实现遥感数据的一次性读取,提升了数据读取性能,使得读取性能最大化。
另外,对于函数抽象语法树中循环执行的基本函数,可以将基本函数的每次执行封装为一个基本操作单元,得到同一基本函数在多次循环中封装成的多个基本操作单元,该多个基本操作单元之间没有依赖关系,放入同一层级中,在执行该层级的基本操作单元时批量、并行地执行,可以提升遥感数据的处理速度,缩短响应时间。
示例性地,基于图6所示的函数抽象语法树,可以确定如图7所示的操作层,假设图6所示的函数抽象语法树中,其中ImageCollention.load的输入参数指定的影像集合包含5个遥感影像,那么分别对5个遥感影像执行1次loop内部分的处理,也即循环执行5次loop内部分的处理。对于loop内部分包含的任一基本函数,作用于5个不同的遥感影像的数据时,封装成5个基本操作单元。如图7所示,基于ImageCollention.load加载5个遥感影像,可以封装成5个读操作OpRead,放入第一层级。5个读操作OpRead的输出分别为加载的5个遥感影像,以其中任一遥感影像为处理对象,执行Image.neq(3)和Image.neq(10),分别封装为OpExpression’0’!=3、OpExpression’0’!=10的基本操作单元,放入第二层级。Image.neq(3)和Image.neq(10)的处理结果作为Image.and的输入,将Image.and封装为OpExpressionAnd基本操作单元,放入第三层级,OpExpression’0’!=3、OpExpression’0’!=10的输出作为OpExpression And的输入。Image.and的处理结果作为Image.updateMask的输入,将Image.updateMask封装为OpUpdateMask基本操作单元,放入第四层级,OpExpression And的输出作为OpUpdateMask输入。将分别作用于5个遥感影像的同一基本函数封装为5个同类基本操作单元,放入同一层级中。对5个遥感影像的循环处理结束得到的5个处理结果作为reduce.median的输入,将reduce.median封装为OpReducemedian基本操作单元,放入第五层级,上一层级的各个Image.updateMask的输出作为OpReducemedian的输出。需要说明的图7中仅示出了基于图6所示的函数抽象语法树确定的基本操作单元的层级信息,并未示出各个基本操作单元之间的依赖关系。
可选地,在接入节点解析函数抽象语法树,确定待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系之后,接入节点还可以根据待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系,确定执行参数数组的长度及预分配信息,并将执行参数数组的长度及预分配信息存储到元信息服务节点。
其中,执行参数数组用于存储基本操作单元的输入数据和输出数据。预分配信息包含各基本操作单元的输入数据和输出数据在执行参数数组中的存储位置。
具体地,根据待执行的基本操作单元的层级信息和依赖关系,从第一层级的基本操作单元开始,在执行参数数组中依次为各个读操作的输出数据分配一个位置。对于下一层级的基本操作单元,其输入数据必定来自上一层级的一个或者多个基本操作单元的输出数据,从而可以确定该基本操作单元的输入数据对应的位置,进一步地,在执行参数数组的可分配位置中为该基本操作单元的输出数据分配位置。对于与当前层级中的基本操作单元的输入数据对应的位置(即为第一位置),若分配了第一位置的基本操作单元的输出不继续被更下层的基本操作单元作为输入,则将第一位置重新作为可分配位置。继续对下一层级的基本操作单元分配位置。在为各层级的基本操作单元预分配位置之后,根据位置分配结果,可以确定执行基本操作单元需要的位置数量,也即执行参数数组的长度。
可选地,从执行参数数组的可分配位置中为基本操作单元的输出数据分配位置时,可以按照数组下标的大小,优先分配数组下标较小的位置,可以合理进行位置预分配,缩短执行参数数组的长度。
可选地,从执行参数数组的可分配位置中为基本操作单元的输出数据分配位置时,还可以优先选择未被分配过的位置,直至分配过的位置数量达到预设数量,优先分配数组下标较小的位置。
本实施例中,接入节点可以基于函数抽象语法树确定的待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系进行缓存,再后续处理相同的函数抽象语法树时,可以直接从缓存中获取对应的待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系,可以避免对相同的函数抽象语法树进行重复地解释,可以提升遥感数据处理效率,缩短响应时间。
另外接入节点还可以缓存经过较耗时计算得到元数据信息,例如给定目标遥感影像的标识确定的遥感数据文件的元数据信息,包括但不限于遥感数据文件的存储地址,文件的经纬度、分辨率、包含遥感影像的数量等属性信息。后续对同一标识进行处理时,可以直接从缓存中获取该标识对应的遥感数据文件的元数据信息,无需重新计算,可以提升遥感数据处理效率,缩短响应时间。
步骤S506、接入节点向计算节点发送各层级的基本操作单元及依赖关系。
步骤S507、接入节点基于地图空间划分的瓦片,将落入区域范围内的目标瓦片的标识分发给计算节点。
上述步骤S507在步骤S504之后执行,与步骤S505-S506可以并行地执行,步骤S507与步骤S505-S506的执行顺序不做具体限定。图5中仅以步骤S507在步骤S506之前执行为例进行示例性地说明。
本实施例中,接入节点根据地图空间(全球地图空间)划分为的瓦片的坐标范围,将落入(或部分落入)区域范围内的瓦片作为目标瓦片,将目标瓦片作为进行遥感数据处理的单位区域,向各个计算节点分发目标瓦片的标识,并向计算节点发送目标遥感数据的标识及待执行的处理逻辑。各个计算节点负责对分发到的目标瓦片标识的这些目标瓦片内的遥感数据块执行处理逻辑。
步骤S508、计算节点根据分发到的目标瓦片的标识,集中地执行第一层级的基本操作单元,从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块。
该步骤中,计算节点根据分发到的目标瓦片的标识,通过集中执行第一个层级的多个读操作(基本操作单元),从分布式存储系统一次性地读取目标遥感数据落入目标瓦片内的数据块,实现遥感数据的一次性读取,提升了数据读取性能,使得读取性能最大化。
在一可选实施例中,元信息服务节点还用于生成并存储地图空间中的瓦片在各遥感数据中的偏移量。该步骤中,计算节点根据目标瓦片的标识,从元信息服务节点获取目标瓦片在目标遥感数据中的偏移量。进一步地,计算节点集中执行第一层级的读操作(基本操作单元),根据目标瓦片在目标遥感数据中的偏移量,从分布式存储系统存储的目标遥感数据中,将落入目标瓦片内的数据块加载到内存中。
示例性地,目标遥感数据可以包括一种或者多张遥感影像(即目标遥感影像)。根据目标瓦片在各目标遥感影像中的偏移量,计算节点可以确定目标瓦片的数据块在各目标遥感影像中的起始位置,从分布式存储系统中各目标遥感影像中该起始位置起读取瓦片大小的数据块,加载到内存中,即可完成各目标遥感影像落入目标瓦片内的数据块的加载。
在一可选实施例中,分布式存储系统存储了遥感数据的栅格金字塔,栅格金字塔中不同层的栅格数据为不同分辨率的遥感数据。
在从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块时,计算节点根据区域范围的分辨率,从栅格金字塔中分辨率对应层的遥感数据中,加载目标遥感数据落入目标瓦片内的数据块。其中,区域范围的分辨率是指在可视化界面中调整完成后的显示区域的分辨率。
具体地,根据区域范围的分辨率,以及栅格金字塔各层栅格数据的分辨率,若确定栅格金字塔中存在与区域范围的分辨率一致的层,则将与区域范围的分辨率一致的层作为区域范围的分辨率的对应层。若不存在与区域范围的分辨率一致的层,则将区域范围的分辨率且与区域范围的分辨率相差较小的层,作为区域范围的分辨率的对应层。从栅格金字塔中区域范围的分辨率的对应层的遥感数据中,加载目标遥感数据落入目标瓦片内的数据块。
可选地,若加载的数据块的分辨率与区域范围的分辨率不一致,则计算节点可以根据区域范围的分辨率对加载的数据块进行重采样,使得数据块的分辨率与区域范围的分辨率一致,并存储到内存中。
可选地,区域范围的分辨率可以通过如下方式确定:遥感数据处理请求还包含区域范围的高度和宽度。接入节点向分发了目标瓦片的标识的计算节点,发送区域范围的高度和宽度。计算节点根据区域范围及区域范围的高度和宽度,确定区域范围的分辨率。
示例性地,图8为本实施例提供的基于栅格金字塔实现瓦片内数据块加载的示意图,如图8所示,分布式存储系统中存储的遥感数据以栅格金字塔的方式存储,栅格金字塔中的不同图层包含不同分辨率的栅格数据。将用户给定的计算区域进行栅格切分,得到多个栅格(图中以4个栅格为例进行示例性地说明),图8中在各个栅格上标出了栅格左上角和右下角的经纬度(图中的经纬度数值仅作为示例,具体数值为随机举例值),可以确定各个栅格的区域范围。基于栅格的坐标范围,将栅格瓦片化,也即确定落入栅格的区域范围内的目标瓦片。将目标瓦片的标识(如图8所示的(0,0)(0,1)(0,2)……(2,2))分发到多个计算节点。计算节点负责根据栅格的分辨率,从栅格金字塔中读取与栅格分辨率对应的层级中目标遥感数据的目标瓦片内数据块。目标遥感数据以数据文件的形式存储,各数据文件包含落入不同瓦片的数据块。
另外,区域范围的分辨率可以由端侧设备根据显示区域的坐标范围、宽度和高度计算得到,并携带在遥感数据处理请求中发送给云服务器。
在从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块之后,计算节点对目标瓦片内的数据执行处理逻辑,得到目标瓦片内的数据块的处理结果。通过分布式系统架构,多个计算节点可以并行地对各个目标瓦片内的数据块进行加载及执行处理逻辑,提升了遥感数据处理的效率。
步骤S509、计算节点根据依赖关系逐层执行第二及以下各层级的基本操作单元,且并行执行同一层级的基本操作单元,实现对数据块执行处理逻辑,得到数据块的处理结果。
本实施例中,第一层级为最上层的层级。对于同一层级的基本操作单元,计算节点可以批量地执行,以提升执行效率。例如,对于第一层级的读取操作,计算节点可以集中执行多个读取操作,进行一次性读取,可以最大化读取性能。对于第二层级的各类计算操作,计算节点可以并行地执行多个计算操作,以提升计算效率。
在一可选实施例中,计算节点从分布式存储系统加载目标遥感数据落入目标瓦片内的数据块之后,计算节点可以从元信息服务节点获取执行参数数组的长度及预分配信息,并构建目标瓦片对应的执行参数数组。
进一步地,计算节点在对目标瓦片的数据块执行基本操作单元时,根据预分配信息确定基本操作单元的输入数据在目标瓦片的执行参数数组中的第一位置,以及基本操作单元的输出数据在目标瓦片的执行参数数组中的第二位置。计算节点从目标瓦片的执行参数数组中的第一位置,读取基本操作单元的输入数据;并将执行基本操作单元得到的输出数据,存储到目标瓦片的执行参数数组中的第二位置。基本操作单元的执行过程中,各个基本操作单元的输入数据和输出数据均在本地执行参数数组中存储,避免了多个计算节点间的数据交换,提升了遥感数据处理效率。
本实施例中,接入节点可以逐层地向计算节点发送基本操作单元,计算节点执行完一层基本操作单元之后,接入节点向计算节点发送下一层级的基本操作单元,以保证数据正确性。
另外,接入节点也可以一次性地向计算节点发送各层基本操作单元,计算节点在执行完上一层级的基本操作单元之后,方可开始执行下一层级的基本操作单元,以保证数据正确性。
步骤S510、接入节点向端侧设备输出区域范围内的遥感数据处理结果,区域范围内的遥感数据处理结果包含各目标瓦片内的数据块的处理结果。
本实施例中,计算节点将落入区域范围内的目标瓦片内的数据块的处理结果返回给接入节点。接入节点汇总各个计算节点发送的落入区域范围内各个目标瓦片内的数据库的处理结果,得到区域范围内的遥感数据处理结果,向端侧设备输出区域范围内的遥感数据处理结果。
步骤S511、端侧设备在可视化界面上展示区域范围内的遥感数据处理结果。
端侧设备接收云服务器发送的区域范围内的遥感数据处理结果,并在可视化界面上展示区域范围内的遥感数据处理结果。
具体地,基于图4所示可视化界面,端侧设备在可视化界面上数据可视化区域提供的地图组件上,展示区域范围内的遥感数据处理结果。
本实施例的方案,将用户编写的处理逻辑转换为函数抽象语法树,云服务器通过解析函数抽象语法树,确定待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系,任一基本操作单元的输入来自上一层基本操作单元的输出,位于同一层级的基本操作单元间不存在依赖关系;在执行各层级基本操作单元时,集中地执行第一层级的读操作,实现遥感数据的一次性读取,提升了数据读取性能,使得读取性能最大化;逐层执行第二及以下各层级的基本操作单元,且并行执行同一层级的基本操作单元,通过合理编排调度各层基本操作单元的执行,可以提升遥感数据的处理速度,缩短响应时间。并且,根据待执行的基本操作单元,以及基本操作单元的层级信息和依赖关系,确定执行参数数组的长度及预分配信息,实现了对遥感数据处理过程中各个基本操作单元的输入输出数据的位置的预分配,避免了多个计算节点间的数据交换,进一步提升了遥感数据处理效率,缩短了响应时间。
图9为本申请实施例提供的一种端侧设备的结构示意图。如图9所示,该端侧设备包括:存储器901和处理器902。存储器901,用于存储计算机执行指令,并可被配置为存储其它各种数据以支持在端侧设备上的操作。处理器902,与存储器901通信连接,用于执行存储器901存储的计算机执行指令,以实现上述任一方法实施例中端侧设备所执行的技术方案,其具体功能和所能实现的技术效果类似,此处不再赘述。
可选的,如图9所示,该端侧设备还包括:防火墙903、负载均衡器904、通信组件905、电源组件906等其它组件。图9中仅示意性给出部分组件,并不意味着端侧设备只包括图9所示组件。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,端侧设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得端侧设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。本申请实施例提供一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中端侧设备的技术方案。可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例提供的技术方案。
上述存储器可以是对象存储(Object Storage Service,OSS)。
上述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如移动热点(WiFi),第二代移动通信系统(2G)、第三代移动通信系统(3G)、第四代移动通信系统(4G)/长期演进(LTE)、第五代移动通信系统(5G)等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘存储器(CD-ROM)、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户属性信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。“多个”的含义是两个以上,除非另有明确具体的限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种遥感数据的分布式处理系统,其特征在于,包括:云服务器,
所述云服务器包括:
分布式存储系统,用于存储采集到的遥感数据;
接入节点,用于响应遥感数据处理请求,获取待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识,基于地图空间划分的瓦片,将落入所述区域范围内的目标瓦片的标识分发给计算节点,并向所述计算节点发送所述目标遥感数据的标识及所述处理逻辑;
计算节点,用于根据分发到的目标瓦片的标识,从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块,并对所述数据块执行所述处理逻辑,得到所述目标瓦片内的数据块的处理结果;
所述接入节点还用于输出所述区域范围内的遥感数据处理结果,所述区域范围内的遥感数据处理结果包含各所述目标瓦片内的数据块的处理结果。
2.根据权利要求1所述的系统,其特征在于,所述接入节点获取待执行的处理逻辑和待处理的目标遥感数据的标识,包括:
所述接入节点接收待执行处理逻辑的函数抽象语法树,所述函数抽象语法树包含待处理的目标遥感数据的标识;
所述接入节点向所述计算节点发送所述目标遥感数据的标识及所述处理逻辑,包括:
所述接入节点解析所述函数抽象语法树,确定待执行的基本操作单元,以及所述基本操作单元的层级信息和依赖关系;
所述接入节点向所述计算节点发送各层级的基本操作单元及所述依赖关系。
3.根据权利要求2所述的系统,其特征在于,所述接入节点解析所述函数抽象语法树,确定待执行的基本操作单元,以及所述基本操作单元的层级信息和依赖关系,包括:
所述接入节点将所述函数抽象语法树所包含的对遥感数据的基本函数,解析为对应的基本操作单元;
根据所述基本函数间的依赖关系,确定所述基本操作单元的依赖关系和层级信息,其中,任一基本操作单元的输入来自上一层基本操作单元的输出,位于同一层级的基本操作单元间不存在依赖关系。
4.根据权利要求3所述的系统,其特征在于,所述根据所述基本函数间的依赖关系,确定所述基本操作单元的依赖关系和层级信息,包括:
将所述基本操作单元中的读操作放入第一个层级。
5.根据权利要求3所述的系统,其特征在于,所述计算节点根据分发到的目标瓦片的标识,从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块,并对所述数据块执行所述处理逻辑,得到所述目标瓦片内的数据块的处理结果,包括:
所述计算节点根据分发到的目标瓦片的标识,集中地执行第一层级的基本操作单元,从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块;
并根据所述依赖关系逐层执行第二及以下各层级的基本操作单元,且并行执行同一层级的基本操作单元,实现对所述数据块执行所述处理逻辑,得到所述数据块的处理结果。
6.根据权利要求3-5中任一项所述的系统,其特征在于,所述接入节点解析所述函数抽象语法树,确定待执行的基本操作单元,以及所述基本操作单元的层级信息和依赖关系之后,还包括:
所述接入节点根据所述待执行的基本操作单元,以及所述基本操作单元的层级信息和依赖关系,确定执行参数数组的长度及预分配信息,所述执行参数数组用于存储所述基本操作单元的输入数据和输出数据,所述预分配信息包含各所述基本操作单元的输入数据和输出数据在所述执行参数数组中的存储位置;
所述接入节点将所述执行参数数组的长度及预分配信息存储到元信息服务节点。
7.根据权利要求6所述的系统,其特征在于,所述计算节点从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块之后,还包括:
所述计算节点从所述元信息服务节点获取所述执行参数数组的长度及预分配信息,并构建所述目标瓦片对应的执行参数数组;
所述计算节点在对所述目标瓦片的数据块执行所述基本操作单元时,根据所述预分配信息确定所述基本操作单元的输入数据在所述目标瓦片的执行参数数组中的第一位置,以及所述基本操作单元的输出数据在所述目标瓦片的执行参数数组中的第二位置,
所述计算节点从所述目标瓦片的执行参数数组中的第一位置,读取所述基本操作单元的输入数据;并将执行所述基本操作单元得到的输出数据,存储到所述目标瓦片的执行参数数组中的第二位置。
8.根据权利要求1所述的系统,其特征在于,还包括:元信息服务节点,用于确定所述地图空间中的瓦片在各遥感数据中的偏移量;
所述计算节点从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片的数据块,包括:
所述计算节点根据目标瓦片的标识,从所述元信息服务节点获取所述目标瓦片在所述目标遥感数据中的偏移量;并根据所述偏移量,从所述分布式存储系统存储的所述目标遥感数据中,将落入所述目标瓦片内的数据块加载到内存中。
9.根据权利要求1或8所述的系统,其特征在于,所述分布式存储系统存储采集到的遥感数据的栅格金字塔,所述栅格金字塔的不同层中包括不同分辨率的遥感数据,
所述计算节点从所述分布式存储系统加载所述目标遥感数据落入所述目标瓦片内的数据块,包括:
所述计算节点根据所述区域范围的分辨率,从所述栅格金字塔中所述分辨率对应层的遥感数据中,加载所述目标遥感数据落入所述目标瓦片内的数据块。
10.根据权利要求9所述的系统,其特征在于,所述遥感数据处理请求还包含所述区域范围的高度和宽度,
所述接入节点还用于向分发了所述目标瓦片的标识的计算节点,发送所述区域范围的高度和宽度;
所述计算节点还用于根据所述区域范围及所述区域范围的高度和宽度,确定所述区域范围的分辨率。
11.一种遥感数据的分布式处理系统,其特征在于,包括:端侧设备,
所述端侧设备提供可视化界面,所述可视化界面用于确定待执行的处理逻辑、待处理的遥感数据的标识信息、以及待计算的区域范围;
响应于运行指令,向云服务器发送遥感数据处理请求,所述遥感数据处理请求包含待计算的区域范围、待执行的处理逻辑和待处理的目标遥感数据的标识;
接收所述云服务器发送的所述区域范围内的遥感数据处理结果,所述遥感数据处理结果包括根据落入所述区域范围内的目标瓦片的标识,从分布式存储系统加载所述目标遥感数据落入所述目标瓦片的数据块,并对所述数据块执行所述处理逻辑,得到的所述目标瓦片内的数据块的处理结果;
在所述可视化界面上展示所述区域范围内的遥感数据处理结果。
12.根据权利要求11所述的系统,其特征在于,
所述可视化界面提供编码区域,所述编码区域用于编辑待执行的处理逻辑、并指定待处理的遥感数据的标识信息;
所述可视化界面提供地图组件,响应于对所述地图组件内显示区域的调整操作,所述端侧设备调整所述显示区域的分辨率和/或中心点位置;根据显示区域的分辨率和/或中心点位置,确定待计算的区域范围,以及所述区域范围的宽度和高度。
13.根据权利要求12所述的系统,其特征在于,所述端侧设备响应于运行指令,向云服务器发送遥感数据处理请求,包括:
所述端侧设备响应于运行指令,将所述编码区域内的处理逻辑转换为函数抽象语法树,所述函数抽象语法树包含所述遥感数据的标识信息;
向云服务器发送遥感数据处理请求,所述遥感数据处理请求包含待计算的区域范围和所述函数抽象语法树。
14.根据权利要求13所述的系统,其特征在于,所述端侧设备根据显示区域的分辨率和/或中心点位置,确定待计算的区域范围,以及所述区域范围的宽度和高度,包括:
所述端侧设备将所述显示区域的坐标范围,作为待计算的区域范围,将所述显示区域的宽度和高度作为所述区域范围的宽度和高度;
或者,
所述端侧设备将所述显示区域划分为多个栅格,将各所述栅格的坐标范围分别作为待计算的区域范围,并将所述栅格区域的宽度和高度作为对应区域范围的宽度和高度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310536829.2A CN116594977A (zh) | 2023-05-10 | 2023-05-10 | 遥感数据的分布式处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310536829.2A CN116594977A (zh) | 2023-05-10 | 2023-05-10 | 遥感数据的分布式处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116594977A true CN116594977A (zh) | 2023-08-15 |
Family
ID=87594866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310536829.2A Pending CN116594977A (zh) | 2023-05-10 | 2023-05-10 | 遥感数据的分布式处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116594977A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131000A (zh) * | 2023-10-23 | 2023-11-28 | 四创科技有限公司 | 一种NetCDF气象数据处理方法及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885584A (zh) * | 2019-01-28 | 2019-06-14 | 中科恒运股份有限公司 | 分布式数据分析平台的实现方法及终端设备 |
WO2020252799A1 (zh) * | 2019-06-18 | 2020-12-24 | 中国科学院计算机网络信息中心 | 一种面向海量遥感影像的并行数据访问方法与系统 |
CN113032604A (zh) * | 2021-05-28 | 2021-06-25 | 航天宏图信息技术股份有限公司 | 一种遥感影像处理方法、装置、电子设备及存储介质 |
CN113254568A (zh) * | 2021-06-29 | 2021-08-13 | 浙江大学 | 一种与地图服务结合的实时分析处理方法、装置及介质 |
-
2023
- 2023-05-10 CN CN202310536829.2A patent/CN116594977A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885584A (zh) * | 2019-01-28 | 2019-06-14 | 中科恒运股份有限公司 | 分布式数据分析平台的实现方法及终端设备 |
WO2020252799A1 (zh) * | 2019-06-18 | 2020-12-24 | 中国科学院计算机网络信息中心 | 一种面向海量遥感影像的并行数据访问方法与系统 |
CN113032604A (zh) * | 2021-05-28 | 2021-06-25 | 航天宏图信息技术股份有限公司 | 一种遥感影像处理方法、装置、电子设备及存储介质 |
CN113254568A (zh) * | 2021-06-29 | 2021-08-13 | 浙江大学 | 一种与地图服务结合的实时分析处理方法、装置及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131000A (zh) * | 2023-10-23 | 2023-11-28 | 四创科技有限公司 | 一种NetCDF气象数据处理方法及终端 |
CN117131000B (zh) * | 2023-10-23 | 2023-12-29 | 四创科技有限公司 | 一种NetCDF气象数据处理方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776699B (zh) | 一种气象数据和卫星遥感数据处理方法及装置 | |
CN113285885B (zh) | 基于服务网格的边缘流量控制方法、设备及存储介质 | |
CN110134755B (zh) | 地图更新方法、装置、设备、服务器及介质 | |
CN116597039B (zh) | 图像生成的方法和服务器 | |
CN116594977A (zh) | 遥感数据的分布式处理系统 | |
US20220053045A1 (en) | Systems and methods for providing real-time streaming data processing at edge servers | |
CN112579118A (zh) | 微服务的配置信息更新方法、装置、系统、介质和设备 | |
CN115150970A (zh) | 一种网络连接的方法及装置 | |
CN110851211A (zh) | 用于显示应用信息的方法、装置、电子设备和介质 | |
CN115495056A (zh) | 分布式图计算系统和方法 | |
CN111767417A (zh) | 应用图片的管理方法、装置、设备及存储介质 | |
CN113791766B (zh) | 组合数据接口的方法、电子设备和可读存储介质 | |
CN115858154A (zh) | 一种异构加速方法、设备、系统及存储介质 | |
CN109614230A (zh) | 资源虚拟化方法、装置和电子设备 | |
CN109902067B (zh) | 文件处理方法、装置、存储介质及计算机设备 | |
KR20220014326A (ko) | Gis 포인트 데이터 렌더링 방법, 장치, 컴퓨터 디바이스 및 저장 매체 | |
CN112632113A (zh) | 一种算子管理方法和算子管理系统 | |
CN113329043A (zh) | 一种数据服务提供方法及装置 | |
CN111898900A (zh) | 基于区块链的空域调配方法及装置 | |
WO2008115033A1 (en) | Method of providing mobile application and computer-readable medium having thereon program performing function embodying the same | |
CN112818266A (zh) | 渲染方法、装置、存储介质及电子设备 | |
CN112835625A (zh) | 流水线配置方法、装置、可读存储介质和电子设备 | |
CN116304164B (zh) | 一种地图编辑方法、系统、设备和介质 | |
CN110019034A (zh) | 表单文件加载方法和装置 | |
CN117724726B (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 |