当前位置: 首页 > 专利查询>郑州大学专利>正文

一种实现B3dm模型网络快速传输的方法技术

技术编号:25315300 阅读:445 留言:0更新日期:2020-08-18 22:32
本发明专利技术公开了一种实现B3dm模型网络快速传输的方法,包括跨域问题的解决方法,跨域问题是由于跨域,客户端不能直接通过JavaScript代码中的数据URL访问位于不同域的数据服务器中的3DTiles文件,本发明专利技术通过代理服务去请求数据服务器中的数据,同时代理服务将请求到的数据使用DEFLATE算法压缩后再返回给客户端,再解决跨域请求数据问题的同时减少了三维模型的数据量,提高了网络传输效率,解决了复杂模型或高精度模型加载超时导致浏览失败的问题,同时通过压缩有效避免了网络传输过程中三维模型数据的窃取或篡改,确保了数据的安全性和保密性。

【技术实现步骤摘要】
一种实现B3dm模型网络快速传输的方法
本专利技术涉及计算机领域,具体涉及一种实现B3dm模型网络快速传输的方法。
技术介绍
随着互联网及信息技术的发展与应用,GIS软件已经由传统的C/S架构的二维单机软件发展为B/S架构的3DWebGIS,尤其是Khronos组织发布了WebGL标准,使得在浏览器上进行复杂的三维绘制成为可能,随后涌现出了大批的3DWebGIS,其中Cesium是其中的佼佼者。随着3DWebGIS技术的发展成熟,为数字城市以及智慧城市的建设提供了技术基础。在数字城市和智慧城市的建设过程中,城市的三维模型数据是不可或缺的基础数据,一个城市的建筑三维模型往往数以百万计甚至更多,这使得浏览器往往无力承受,因此必须使用LOD技术对3D模型进行切片降低模型的复杂度和数据量,从而实现在浏览器端加载显示城市级别的海量数据。同样,为了解决海量3D模型数据的网络传输与渲染问题,Cesium平台在glTF模型的基础之上定义了3DTiles这一LOD数据集用于流式传输3D模型,其数据结构如图1所示,Cesium最终加载的三维模型数据便是B3dm格式的数据。虽然Cesium平台将通过LOD技术将3D模型进行切片生成3DTiles数据集,但是当模型较多、数据量过大、网络带宽有限时也难以实现很好的传输与渲染效果,还是会存在模型加载过慢、卡顿的现象。
技术实现思路
针对上述现有技术的不足,本专利技术的目的是提供一种实现B3dm模型网络快速传输的方法,解决现有的Cesium加载B3dm模型数据时间过长的技术问题。本专利技术的目的是这样实现的:一种实现B3dm模型网络快速传输的方法,包括跨域问题的解决方法,跨域问题是浏览器为了安全,位于不同域的客户端脚本不能读写对方的资源,客户端不能直接通过JavaScript脚本代码中的数据url访问数据服务器中得3Dtiles模型,则利用代理服务去请求服务器的数据,解决跨域问题的方法包括以下步骤:a1.客户端请求服务端代理服务;a2.代理服务向服务端请求数据;a3.代理服务向客户端返回步骤a2中请求的数据。所述步骤a1包括以下步骤:1)将3DTiles文件存放在数据服务器数据目录中;2)客户端根据3Dtiles的B3DM资源路径(URL)向代理服务发出资源请求;3)代理服务接到请求后向数据服务器请求B3DM资源,并将请求的数据使用DEFLATE算法压缩后返回客户端4)客户端接收到代理服务返回的压缩后的B3DM数据之后,进行解压并在浏览器端进行渲染。所述步骤a2中包括以下步骤:1)服务端代理服务接收到客户端请求后,服务端代理服务根据客户端传来的数据url向数据服务器发出数据请求,服务器响应代理服务的请求,服务器将3DTiles文件传给代理服务。所述步骤a3中包括以下步骤:1)代理服务从数据服务器请求到数据后,对从数据服务端接收的数据用3DTiles文件的压缩解压方法进行压缩;2)代理服务将步骤1)中压缩后的数据传给客户端后,客户端对接收到的数据用3DTiles文件的压缩解压方法进行解压,如果请求的数据为B3dm模型,对数据解压之后直接在浏览器中进行渲染。所述3DTiles文件的压缩解压方法,包括以下步骤:b1.客户端通过代理服务向服务器请求3DTiles文件的Tileset.json文件,然后对请求到的数据使用DEFLATE算法进行压缩;b2.代理服务将步骤b1中的压缩后的数据传给客户端;b3.客户端对步骤b2中返回的数据使用pako.js进行解压,解析Tileset.json文件得到B3DM模型数据的URL路径,客户端将B3DM模型的URL修改为带有IP地址、端口号和路径的地址的数据URL;b4.客户端请求代理服务进行服务代理,并将修改后的数据URL传给代理服务;b5.代理服务根据请求的B3DM模型URL向数据服务器请求相应3DTiles文件下的B3dm模型数据,数据服务器将代理服务请求的服务返回代理服务;b6.代理服务将请求到的B3DM模型数据使用DEFLATE算法进行压缩;b7.代理服务将压缩后的B3dm模型数据传给客户端,客户端使用pako.js进行解压,在浏览器上进行显示。本专利技术的有益效果是:本专利技术一方面通过代理服务解决客户端对3DTiles文件访问过程中所存在的跨域问题;另一方面,通过对3DTiles文件压缩解压的方式,减少网络传输的数据量,解决数据加载等待时间过长的问题;代理服务请求到3DTiles文件后,首先对数据进行压缩,然后反馈到客户端,客户端接收到数据后进行解压,将最终解压获得的B3dm模型数据显示在浏览器端;通过这一过程不仅提高了三维模型浏览速度,解决了复杂模型或高精度模型加载超时导致浏览失败的问题,同时避免传输过程中三维模型数据的窃取或篡改,确保了数据的安全性和保密性。附图说明图1为现有技术中3DTiles数据基本逻辑框架结构示意图;图2为本专利技术代理服务解决跨域问题的具体流程;图3为本专利技术Tileset.json压缩解压传输流程;图4为本专利技术B3dm数据快速传输过程。具体实施方式以下结合附图对本专利技术作进一步说明。如图2至图4所示,一种实现B3dm模型网络快速传输的方法,包括跨域问题的解决方法,跨域问题是浏览器为了安全,位于不同域的客户端脚本不能读写对方的资源,客户端不能直接通过JavaScript脚本代码中的数据url访问数据服务器中得3Dtiles模型,则利用代理服务去请求服务器的数据,解决跨域问题的方法包括以下步骤:a1.客户端请求服务端代理服务;a2.代理服务向服务端请求数据;a3.代理服务向客户端返回步骤a2中请求的数据。所述步骤a1包括以下步骤:1)客户端将3DTiles文件文件存放在服务器数据目录中;2)客户端根据服务端代理服务的数据url路径来请求服务端代理服务,客户端将3DTiles文件的数据url传给代理服务。所述步骤a2中包括以下步骤:1)服务端代理服务接收到客户端请求后,服务端代理服务根据客户端传来的数据URL向数据服务器发出数据请求,数据服务器响应代理服务的请求,将3DTiles文件传给代理服务。所述步骤a3中包括以下步骤:1)代理服务从数据服务器请求到数据后,对从数据服务端接收的数据用3DTiles文件的压缩解压方法进行压缩;2)代理服务将步骤1)中压缩后的数据传给客户端后,客户端对接收到的数据用3DTiles文件的压缩解压方法进行解压,如果请求的数据为B3dm模型,对数据解压之后直接在浏览器中进行渲染。跨域问题的解决方法的具体过程如下:首先,客户端向服务器请求数据,判断文件是否存在跨域问题,如果不存在跨域问题,数据服务器返回请求的数据,客户端将返回的数据渲染在浏览器中;若存在跨域问题,客户端向代理服务发出服务代理请求,并将3DTiles文件的URL发送到代理服务,代理服务根据数据URL路径请求数据服务器数据目录下的3DTiles文件,数据服务器将代理服务请求的数据返回代理服务,代理服务将请求到的本文档来自技高网...

【技术保护点】
1.一种实现B3dm模型网络快速传输的方法,其特征在于:包括跨域问题的解决方法,跨域问题是浏览器为了安全,位于不同域的客户端脚本不能读写对方的资源,客户端不能直接通过JavaScript脚本代码中的数据url访问数据服务器中得3Dtiles模型,则利用代理服务去请求服务器的数据,解决跨域问题的方法包括以下步骤:a1.客户端请求服务端代理服务;a2.代理服务向服务端请求数据;a3.代理服务向客户端返回步骤a2中请求的数据。/n

【技术特征摘要】
1.一种实现B3dm模型网络快速传输的方法,其特征在于:包括跨域问题的解决方法,跨域问题是浏览器为了安全,位于不同域的客户端脚本不能读写对方的资源,客户端不能直接通过JavaScript脚本代码中的数据url访问数据服务器中得3Dtiles模型,则利用代理服务去请求服务器的数据,解决跨域问题的方法包括以下步骤:a1.客户端请求服务端代理服务;a2.代理服务向服务端请求数据;a3.代理服务向客户端返回步骤a2中请求的数据。


2.根据权利要求1所述的实现B3dm模型网络快速传输的方法,其特征在于:所述步骤a1包括以下步骤:1)将3DTiles文件存放在数据服务器数据目录中;2)客户端根据3Dtiles的B3DM资源路径(URL)向代理服务发出资源请求;3)代理服务接到请求后向数据服务器请求B3DM资源,并将请求的数据使用DEFLATE算法压缩后返回客户端4)客户端接收到代理服务返回的压缩后的B3DM数据之后,进行解压并在浏览器端进行渲染。


3.根据权利要求2所述的实现B3dm模型网络快速传输的方法,其特征在于:所述步骤a2中包括以下步骤:1)服务端代理服务接收到客户端请求后,服务端代理服务根据客户端传来的数据url向数据服务器发出数据请求,服务器响应代理服务的请求,服务器将3DTiles文件传给代理服务。


4.根据权利要求3所述的实现B3dm模型网络快速传输的方法,其特征在于:...

【专利技术属性】
技术研发人员:魏海涛王晓蕾赫晓慧田智慧郭恒亮刘岩
申请(专利权)人:郑州大学
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1