查看原文
其他

宋关福:分布式GIS与空间区块链技术探索 | GTC主会场报告(视频+PPT+速记)

超图集团 2022-04-26



区块链、人工智能、大数据等新技术与GIS的融合,丰富了GIS技术内容,促进了GIS技术的创新。在2020 GIS 软件技术大会主题大会上,超图集团总裁、董事宋关福博士作《分布式GIS与空间区块链技术探索》报告,介绍了超图分布式GIS技术体系,以及超图在空间区块链的最新探索。


现分享资料如下:


演讲视频


演讲PPT


尊敬的徐冠华部长、郭仁忠院士,各位来宾,大家好!今年GIS软件技术大会的见面方式比较特别,是在北京、上海、广州、成都、武汉、西安六大城市与大家一起“分布式”见面。今天,我要在会上讲分布式GIS,也是挺巧合的。


前几年,有一句话比较热:软件定义世界。其实它还有下半句:数据驱动未来。


事实上,GIS软件技术发展的历史,就是一部程序员不断与增长的空间数据做斗争的历史。我们不断研发新技术,来应对越来越大的数据量。


现在,随着数据采集技术的不断进步和新一代测绘技术的引入,新的数据不断产生,数据量更大,还有手机信令、互联网社交网络等产生的空间大数据,地理空间数据规模正在快速增长。


传统的GIS软件面临一个巨大的挑战:在传统的经典空间数据方面,随着数据量越来越大,它的处理性能越来越低。比如,叠加分析是GIS经典分析功能,当分析对象变成1亿级别,数据量计算速度大幅度下降,且需要10个小时才能完成实验。那么数据再大怎么办?更重要的是,GIS软件基本上无法管理像手机信令这样的大数据。


因此我们探索了新的技术,那就是分布式GIS,来解决高性能计算的难题。


所谓分布式GIS,就是利用多机分布式协同技术和计算资源可以横向扩展的能力,来集群式地处理大量并发的数据,或者分解完成单一复杂任务的GIS技术。


IT界谈狭义的分布式计算,指的是把大的任务做成小的任务。两天之前我发现一个巧合,在刚才蒋文彪主任提到的《自然资源信息化建设总体方案》中,“分布式”出现了31次,巧合的是,“三维”也出现了31次。所以我们说,自然资源信息化建设总体方案就是分布式的三维方案。


所以,“分布式GIS”不是一个新的概念,在20年前,就有学者提出了分布式GIS的概念。但是一直没有真正商业化的分布式GIS技术体系和产品出来。


20年前,三维也出来了,但是今天谈的三维,跟20年前的已经不是一个概念了。同样,今天分布式GIS跟20年前的分布式GIS也不可同日而语。


分布式GIS软件技术的演化经历了一个漫长的过程。2004年,我们率先发布了WebGIS服务集群技术,我认为这是多阶分布式协同的萌芽。后来2011年推出云GIS,做了智能集群。现在我们发展出了云原生GIS技术。这是第一条线索。


第二条线索是:2013年我们发布了GIS分发服务器,是借助互联网内容分发网络做法做的。两三年以前我们推出了边缘GIS技术。


第三条线索就是狭义的分布式。2017年我们发布了空间大数据分析技术,它的处理必须要有分布式的并行计算方法,反过来我们也可以把这种解决新问题的新技术,用来解决整个GIS的管理分析处理。


第四条线索是,要解决空间大数据分布式处理分析,首先要有分布式存储。分布式空间数据存储技术,也可以提升整个GIS分布式存储的能力。还有一新办法——空间区块链,其实它也是一个分布式的空间数据存储延伸技术。


分布式技术经过这么多年不断演化,线索有很多,但也有些零乱,各个产品技术之间没有完全打通。


2019年,我们在规划2020年研发年度工作时(从上一年10月到下一年9月是超图的研发年度),定了这样一个任务:用分布式贯穿所有的产品,用分布式技术贯穿所有的技术领域,在此基础上构建一个分布式GIS技术体系。


当然,这样的任务安排是我们在看到自然资源建设总体方案之前做的。


超图分布式GIS技术体系包含五大技术:分布式空间数据引擎技术、空间区块链技术。在这个基础上,构建分布式空间分析与处理技术,再支撑云原生GIS技术和边缘GIS技术,最上面是端GIS技术。


接下来跟大家汇报一下这五个技术的一些进展和情况。首先是边缘GIS技术。


要认识边缘GIS技术,我们先来看这个图。章鱼是一个奇特的动物,它可以用腿来思考,它有40%的神经原在脑部,60%的神经原分布在在八个腿上。它的腿不但能够感知,还能分析,做出决策判断。


边缘计算类似在云中心之外构建一些服务器。端直接访问云,它的网络延时比较长。我们在靠近端的边缘侧部署了边缘服务器,就近处理端的数据分发,包括计算,可以让网络延时降低,提高整个系统响应性能。


SuperMap iEdge边缘GIS软件可以提供:1、边缘服务聚合,2、边缘服务分发,3、边缘空间分析与处理。


所以形成了云、边、端分布式协同产品。


相比带宽消耗较高、实时性比较差的集中式的云GIS,边缘GIS在边缘的地方分解了带宽的压力,有着低带宽消耗、低网络延时的特点,大大提升了系统响应的速度,整体价值体现为:高性能。


今年SuperMap iEdge边缘服务器新增了对三维场景数据分发功能,包括地形瓦片、S3M瓦片、影像瓦片,可以通过它提升能力。


第二个是云原生GIS技术。


什么是云原生GIS技术?就是原生为云设计,可以充分发挥云的弹性和分布式优势的GIS技术。


云原生一共有五个要素。其中,微服务、容器化和自动编排这三个是云原生GIS技术本身的三个要素。但云原生要做一个应用解决方案,还需要另外两个要素,一个是持续交付,再一个就是DevOps,这两个是流程方法和系统,需要技术支撑,但本身不是技术。


微服务化和容器化是什么情况?传统的WebGIS架构是单体架构,如果某一个模块导致系统死机,那么整个系统就会崩溃,它的稳定性存在一些风险。


于是我们把它微服务化,分成若干个模块,可以独立运行在不同的容器里面,这些容器部署在不同的物理计算机上,实现了服务化的分布式。


它的粒度更细了,弹性更高了。如果某一个模块访问量多了,就可以启动这个模块,而不用重启整个系统,节省资源。第二个就是相互独立,故障隔离。所以它有更好的稳定性和高可用性。


SuperMap GIS 10i(2020)版本提供了更微的GIS服务。2018年我们发布的GIS微服务是GIS功能微服务化,但是GIS组件和C++内核没有解耦分包,实现了微服务治理。2020年版微服务里,我们实现了更微的服务,组件和C++内核可以解耦分包。


2020版微服务是什么?首先是GIS组件有20个,GIS服务有30多个,GIS C++内核是4个,分得非常细。这样做有什么好处?它可以让我们微服务资源消耗降得更低。


这张图中,部署包上的深色代表的是传统的单体架构,浅灰色是2018版微服务,橙色是2020版微服务,随着它的包越来越小,内存占用只有原来的50%,启动时间只有原来的28%。可见,用2020版微服务,可以把性能提升2.5倍,从而实现更好的弹性,更高效的响应。


这是一个云南地质大数据系统项目,这里有400TB空间数据,有400多个服务实例在同时运行。这样一个庞大的系统,采用云原生和微服务,可以大幅度提升系统的稳定性和性能。


上边的例子中有400多个服务实例,那么如果有成百上千的服务要调动,如何实现?这就需要应用SuperMap GIS云原生技术,用SuperMap iManager和kubernetes来实现自动化编排,对多个容器自动化运维管理,可以做到负载均衡、服务自愈、弹性伸缩。


云原生的价值可总结为:高弹性、高可用、高并发。所谓高弹性,就是粒度小了,弹性就高了,当某一个模块访问量大的时候,只要重新启动模块容器即可;高可用,指的是故障发生的频率降低,不容易宕机;高并发是指同样多的计算资源,可以支撑更多的实例运行,并发能力提高。


第三个要介绍的是分布式空间分析与处理技术。


分布式空间分析与处理技术是基于Spark并行计算框架,把单一复杂的任务分解成多个子任务,发送到不同的服务器中去协同计算,再把结果汇总起来,这样可以数量级提升分析处理性能。


分布式空间分析处理,首先要进行空间大数据分析,新的问题有新技术解决;另外就是基于GeoAI算法进行处理,用新技术解决老问题;还能解决经典空间数据分析处理的问题。


在SuperMap GIS 10i(2020)新版本中,分布式空间分析与处理技术新增支撑对三维数据的分布式处理,例如地形、影像数据等多元数据,在数据接入、数据处理、服务发布环节,都可以使用分布式的技术来提升性能。


这其中不得不提支持Web和分布式计算的Geoprocessing,它提供了一种图示化的、所见即所得的方式,用来构建空间数据分析流程、处理建模,还支持分布式处理算子,可用分布式的算法提高性能。同时,它提供了纯Web版本(Web GP),可以与桌面的GP协同。这在国际范围内也是一种创新的尝试。



分布式空间分析与处理技术的价值体现为:高性能,即提高分析处理算法的性能,降低时间消耗。


我们做了某省土地利用(矢量数据)区域汇总分析的测试,4389万记录数据+省区划面数据,如此大量的数据采用传统单机方法需要耗时14.5小时,改为6节点的分布式计算模式后,只需要耗时22分钟,性能提升了40倍。


我们还做了全球各国耕地(栅格数据)面积统计的测试,用传统单机方法,性能遇到瓶颈,只能按照国家拆分进行统计,仅中国区域就要花费10个小时以上。采用分布式计算模式后,可以进行全球247个国家/地区全量计算,总耗时44分钟,性能实现50倍提升。


第四个介绍分布式空间数据引擎技术。


分布式空间数据引擎技术,就是利用多及协同的分布式数据存储技术,突破空间数据库的容量瓶颈,当数据库达到亿级,我们这个技术,可以实现海量空间数据管理,大幅提升性能。


这是分布式存储管理的数据类型,解决了空间大数据的问题和经典数据空间的问题。今年我们新增了对三维空间经典数据分布式。


SuperMap GIS分布式空间数据引擎,有分布式空间文件系统、分布式SQL空间数据库和分布式NoSQL空间数据库。分布式空间文件系统包括HDFS和DSF,分布式SQL空间数据库包括达梦、瀚高、金仓等。


今年,分布式空间数据引擎技术新增支持分布式三维缓存瓦片存储。如倾斜摄影建模数据、点云数据等多源数据,可以把三维瓦片数据存放在MongoDB中,以提高缓存读写的性能。


同时,我们可以使用分布式三维GIS赋能游戏引擎。大家知道GIS有很强的分析功能,用游戏引擎做数字孪生,效果非常好,但是不具备分析功能。


解决这个问题需要把这两者打通,用三维GIS赋能游戏,让游戏可以调大场景的三维数据,同时把游戏引擎的渲染效果赋能三维GIS,以后数据孪生可以做的更酷,功能更强。这就是实力派和偶像派的结合。


我们联合Unreal Engine游戏引擎公司,研发了三维GIS插件——超图三维GIS游戏引擎开发包(SuperMap Scene SDKs 10i(2020) for game engines_Unreal Engine)。


案例:这里的大场景是GIS提供的,效果接近游戏引擎。这些天气效果都可以用游戏引擎Unreal Engine进行渲染,但是数据是在GIS里面管理提供的。这是一个实验室简单示范,真实应用可以做得加漂亮。


我们联合Unity游戏引擎公司,研发了三维GIS插件——超图三维GIS游戏引擎开发包(SuperMap Scene SDKs 10i(2020) for game engines_Unity)。


这是游戏引擎Unity中的一个场景,这里地面地形用的是倾斜摄影三维,建筑是倾斜摄影数据,所以GIS和游戏结合起来,在真实场景可以做游戏,反过来,也可以用游戏渲染效果,提升智慧城市GIS的可视化的效果。



分布式空间数据引擎技术的价值可总结为:大容量和高性能。大容量,就是突破大容量数据的管理;高性能,是指数据大的时候,索引查询的性能大幅度提高。


这是重庆市交通综合信息系统,每月新增30亿条数据,由分布式就能解决大量的数据。


前面的分布式GIS技术都解决了什么问题?


边缘GIS技术解决“高性能”(低时延),云原生GIS技术实现“高并发”、“高可用”、“高弹性”,分布式存储管理实现“大容量”、“高性能”,分布式分析处理就是“高性能”。


除了五个“高”一个“大”以外,分布式技术还可以解决数据可信的问题。


我们用到一个技术,空间区块链技术。


区块链大家不陌生,它就是一种特殊分布式数据处理分析。


它有三个特点,第一是高安全,区块链数据在不同的分布式节点上重复存储,如果一个服务节点一个服务器摧毁了,你的数据可以找回来,保障数据安全。


第二个是可追溯,通过区块链的管理模式,可以很方便地回溯数据变迁过程,可以全流程追溯。


第三就是防篡改。


区块链是怎么实现防篡改的呢?


我们看区块链的一个片断。区块链之所以叫区块链,就是把数据分成若干个区块,把这些区块链接起来就叫区块链。我们这里是一个区块链的四个片段,可以看它是怎么存的。


比如数据头部存了一个Hash,是一种用特殊不可逆的算法形成的特征码。之所以是特征码,是因为如果这个数据被发生了一点点小的改动,这个Hash码就有非常大的变化,很容易会发现被改过了。


而且Hash是错位存储,比如第七块Hash存到第八块头部,第八块存到第九块的头部,这样错位存储,依此类推。这样的存储可以支撑防篡改。


如果我们试图想修改一个块的数据,那么它的特征码就变了,如果不变,系统就就知道你改过了。如果你想达到篡改目的,就必须要修改下一块头部对应的Hash码。但是这些叠加在一块又变了,你还要修改下一个码,所以要想达到这个目的,你必须全部修改一遍。


这时分布式节点派上用场了,分布式节点可以重复存储很多份,你要把所有节点所有块改掉的难度更大了。这就是分布式区块链防篡改的一个原理。对于像比特币这样的区块链,存储份数是几十万份的,根本就没有办法改了。


区块链跟GIS能碰撞出什火花?可以实现空间区块链,它是高可信的空间引擎。


我们要做一个框槛选择,比如,区块链有公有链,也有私有链,这是不开放的,我们可以用的是联盟链、商业区块链,就是把区块链技术产品化。我们可以拿到这些产品到用户的服务器内网上,构建用户的私有链。


联盟链也也很多选择,包括企业以太坊、微软COCO等等。我们选了Hyperledger Fabric,它扩展性好、流行度高、开源可商用。我们也把自己的很多代码也放到Hyperledger Fabric上,让全球用户可以开放使用。


由于空间区块链要解决防篡改的问题,性能比较低,空间消耗比较大,重复存储要消耗十几倍的空间消耗,目前还不能做到把所有的空间数据都上链,只能把关键的、要保护的数据上链。


但是如果管理关键数据量也很大,怎么办?


我们提供了两种方法。一个是直接上链,数据量小的时候,我们直接把空间数据上链;数据量大的时候,把数据存到外部存储,我们选的是新旧文件系统,把它返回到哈希上链,这样解决较大数据的上链问题。


空间区块链技术,实现了空间智能合约,我们叫空间链码。在此基础上我们做一个CouchDB区块链版本,然后在上面构建我们的桌面软件和WEB服务器接口,旁边还有数据历史服务,可以方便大家回溯数据变化过程。还有一个做分布式调度,构建空间区块链的相关应用。


空间智能合约,是空间链码通过数字协约合约,确保用户的操作是有效的,是合法的。同时,也要负责数据组织,负责空间索引。


我们有四个产品跟空间区块链有关。


可以用区块链进行食品溯源,保证食品安全。


用区块链管理宗地变更也很方便,由于宗地的数据有严格的法律意义,如果被改掉了,很容易产生法律纠纷。这些数据可以放到链上管理,防止修改。


区块链应用还有很多,前两天我跟蒋主任讨教了,自然资源部门起码三个领域可以用到空间区块链,比如国土空间规划与用途管制、不动产登记与交易、自然资源与权益管理,这涉及到领导离任审计的事情,非常严肃,要防止大家篡改。


还有其他的一些例子和应用场景比如食品药品溯源监督,重要物品位置,我们都可以用空间区块链上链管理。


区块链跟GIS结合才刚刚开始,我们只是开了一个小小的窗户,还有更多的应用场景和可能性,期待跟大家一起探索。


这是分布式的GIS体系架构图,底层有分布式的空间数据引擎技术和空间区块链技术,上一层是分布式空间分析与处理技术,再往上是云原生GIS技术、边缘GIS技术,顶层是端GIS。


有同事可能会问:云原生到底是不是分布式?我们把它拆开做微服务就是分布式,它是松耦合的。另外边缘GIS本身就是一个分布式的系统,所以这就是一个分布式的技术体系。


分布式GIS价值总结为“五高、一大”:高可用、高并发、高弹性、高性能、高可信和大容量。


我们正式发布了SuperMap GIS 10i (2020),推出了新的GIS基础软件五大技术体系(BitDC),即大数据GIS、人工智能GIS、新一代三维GIS、分布式GIS和跨平台GIS技术体系。


这是GIS软件技术成熟度(光环曲线)2020,从右向左看,跨平台技术已经很成熟,三维GIS也实现了广泛应用;分布式GIS虽然才被归纳出来,但其技术演化已经经历了很长的时间;此外,大数据GIS正在由低谷期向成熟期转移,大数据应用也在不断的产生;人工智能前两年很热,现在正在进入低谷期;空间区块链正在从萌芽期向过渡期转移,未来两三年会非常热闹,但是其技术需要我们共同探索,其应用也需要我们共同去发展。


以上就是我今天给大家汇报的内容。谢谢大家。



【相关阅读】

01 “地理智慧 链接未来”,2020 GIS 软件技术大会主题大会召开

02 徐冠华:地理信息技术助力我国经济发展和社会治理创新,这四点不可少

03 宋超智:我们应比任何时候更重视技术创新和应用实践

04 钟耳顺:基础软件是信息技术之魂,GIS基础软件是地理信息应用的根

05 郭仁忠:基于GIS的智慧城市工程逻辑 | GTC主会场报告(视频+PPT)

06 蒋文彪:自然资源信息化实施的重点与路径 | GTC主会场报告PPT

07 CCTV13:大数据+人工智能+5G+区块链 我国加快推进地理信息技术应用

08 GTC在线专题论坛开播,来看新型智慧城市与数字孪生城市的创新

09 GTC 2020自然资源信息化论坛在线举办

10 GIS基础软件新技术论坛在线举办,新技术你怎么这么酷!

11 “BIM+GIS”与CIM论坛在线举办,地理智慧助力BIM与CIM建设应用

12 热议GIS技术与测绘空间信息服务工作,测绘与空间信息服务论坛在线举办


【往届回顾】

01 聚焦人工智能GIS技术,2019 GIS 软件技术大会在京开幕
02 十二届全国政协副主席王钦敏:加强GIS基础软件建设势在必行
03 GTC2019专题论坛:报告、签约、发布众彩纷呈
04 GIS开发者论坛:由程序员为GTC2019收官
05 2018 GIS 软件技术大会开幕,新技术推动地信产业快速发展
06 爆满,超燃!GTC2018专题论坛现场速递
07 地理智慧,数据驱动 2017 GIS 软件技术大会在京举办
08 爆了!GTC 2017 14个专题论坛匠心呈现,高朋满座流连忘返


GIS软件技术大会会议通知/新闻动态/会议资料-扫码关注我们-


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存