在三维可视化项目中,B/S和C/S架构该如何选择?

一、什么是B/S和C/S

在3D数据可视化中,有两种常见的架构模式:BS(Browser/Server)和CS(Client/Server)

B/S模式

B/S模式是指将3D数据可视化的逻辑和处理放在服务器端,而在客户端使用浏览器进行展示。具体流程如下:

  1. 服务器端处理:服务器端负责处理数据的获取、处理和渲染,通常使用一些服务器端的3D可视化框架或引擎,如three.js、Cesium.js、Mapmost等。
  2. 数据传输:服务器将处理好的3D数据以及相应的渲染指令传输给客户端浏览器。
  3. 客户端展示:客户端浏览器接收到数据和渲染指令后,使用浏览器的3D渲染能力进行展示,用户可以通过浏览器访问网页来进行交互和浏览。

图源https://segmentfault.com/a/1190000044137669

基于 Mapmost 开发的智慧工厂

C/S模式

C/S模式是指将3D数据可视化的逻辑和处理放在客户端,而服务器端主要负责数据的提供和存储。具体流程如下:

  1. 数据获取:客户端向服务器发起请求,获取需要展示的3D数据。
  2. 数据处理与渲染:客户端使用一些3D可视化框架或引擎,如UE,Unitity、Blender等,对获取到的数据进行处理和渲染。
  3. 客户端展示:客户通过安装特定的C端软件,通过打开三维场景项目文件进行展示。

图源https://www.shanhaibi.com/blog/v1/dzx4lpgo5y5xd7p1/

二、 B/S和C/S模式的区别和优劣势

B/S模式(Browser/Server)和C/S模式(Client/Server)是两种常见的软件架构模式,它们在应用程序的分布和交互方式上有一些区别和优劣势。

区别:

架构模式分布方式软件安装数据处理网络通信
B/S模式应用程序的逻辑和处理主要在服务器端,客户端通过浏览器进行展示和交互客户端只需安装浏览器即可,无需安装额外的客户端软件数据的处理和计算主要在服务器端进行,客户端主要用于展示和交互B/S模式中,客户端与服务器之间主要通过HTTP协议进行通信
C/S模式应用程序的逻辑和处理分布在客户端和服务器端,客户端通过专门的客户端软件进行展示和交互客户端需要安装专门的客户端软件才能运行应用程序数据的处理和计算可以在客户端和服务器端进行,客户端具有更多的处理能力而C/S模式中,客户端与服务器之间可以使用更多种类的通信协议,如TCP/IP等

B/S模式的优势包括:

  • 跨平台和易于维护:由于应用程序的逻辑和处理主要在服务器端,客户端只需使用浏览器进行访问,因此可以在不同平台上使用,并且服务器端负责维护和更新。
  • 安全性较高:数据和逻辑都在服务器端处理,客户端无法直接访问和修改,因此可以提供较高的安全性。
  • 简化部署和升级:由于客户端只需安装浏览器,无需安装额外的软件,因此部署和升级较为简单。

图源:https://blog.csdn.net/cchenweiss/article/details/136272386

C/S模式的优势包括:

  • 更快的响应速度:由于应用程序的处理逻辑分布在客户端和服务器端,客户端具有更多的处理能力,可以实现更快的响应速度。
  • 更丰富的功能和交互:客户端拥有更多的处理能力,可以进行更复杂的计算和渲染,提供更丰富的功能和交互体验。
  • 可离线使用:由于数据和逻辑部分在客户端进行处理,C/S应用程序可以在没有网络连接的情况下继续运行。

图源:https://blog.csdn.net/cchenweiss/article/details/136272386


Mapmost秉持着“让人与机器联合创作成为新常态”的理念,综合运用多项前沿技术,以SDK二次开发或零代码的方式为工厂、企业等提供一站式数字李生解决方案,现已广泛应用于各行业数字化项目建设。

点击这里跳转Mapmost官网体验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/890884.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能汽车智能网联

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…

rom定制系列------小米6x_MIUI14_安卓13刷机包修改写入以及功能定制 界面预览

在接待一些定制化系统中。有很多工作室或者一些特殊行业的友友需要在已有固件基础上简略修改其中的功能。方便使用。例如usb调试默认开启。usb安装设置以及usb安装与内置删减一些app的定制服务。今天给友友预览其中小米6X此款机型定制相关的一些界面与功能演示。 定制机型以及…

公司新来的00后测试开发,让我对“跨界”二字有了全新认识

最近,我们部门迎来了一位新面孔——一个00后的年轻人,阿沅。初见他时,我以为他只是众多新入职员工中的普通一员,毕竟他的专业背景与我们的IT行业似乎相去甚远——广告学。然而,他的到来,却如同一阵清风&…

IDEA中的Postfix Completion与Live Templates功能详解

目录 前言1. Postfix Completion(后缀补全)1.1 什么是Postfix Completion1.2 使用Postfix Completion的步骤1.3 Postfix Completion的具体应用1.4 自定义Postfix Completion 2. Live Templates(实时模板)2.1 什么是Live Templates…

聊聊 Facebook Audience Network 绑定收款账号的问题

大家好,我是牢鹅!本篇是Facebook开发者系列的第五篇,最近看见好多群友在群里问这个,说Facebook的变现账户在绑定国内的银行账户时(有些用户反馈就算不是国内的卡也会出现该问题),显示“无法绑定…

【WRF工具】QGis插件GIS4WRF:根据嵌套网格生成namelist.wps文件

【WRF工具】QGis插件GIS4WRF:根据嵌套网格生成namelist.wps文件 准备:WRF嵌套网格QGis根据嵌套网格生成namelist.wps文件检查:根据namelist.wps绘制模拟区域参考GIS4WRF 是一个免费且开源的 QGIS 插件,旨在帮助研究人员和从业者进行高级研究天气研究与预报(WRF)模型的建模…

利用可解释性技术增强制造质量预测模型

概述 论文地址:https://arxiv.org/abs/2403.18731 本研究提出了一种利用可解释性技术提高机器学习(ML)模型性能的方法。该方法已用于铣削质量预测,这一过程首先训练 ML 模型,然后使用可解释性技术识别不需要的特征并去…

Lucene 倒排索引

倒排索引是什么? 【定义】倒排索引(Inverted Index)是一种用于信息检索的数据结构,尤其适用于文本搜索。它与传统索引的主要区别在于,传统索引是根据文档来查找词语的位置,而倒排索引则是根据词语来查找文…

vmware虚拟机 报错:客户机操作系统已禁用 CPU,请关闭或重置虚拟机 的解决方法

打开cpu虚拟化全部进行勾选 ctrl e 进行关机 勾选上打开就好了 如果没有那个选项 关机>打开虚拟机>管理>更改硬件兼容性> 往小处改改> >更改此虚拟机

MySQL连接查询:联合查询

先看我的表结构 emp表 联合查询的关键字(union all, union) 联合查询 基本语法 select 字段列表 表A union all select 字段列表 表B 例子:将薪资低于5000的员工, 和 年龄大于50 岁的员工全部查询出来 第一种 select * fr…

x-file-storage:一款强大的文件聚合存储解决方案

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 dromara/x-file-storage 是一个由 Dromara 社区开发和维护的开源项目,旨在提供一个高效、可靠的文件存储解决方案。该项目以其强大的功能和…

正则表达式-“三剑客”(grep、sed、awk)

1.3正则表达式 正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个串中取出符号某个条件的子串等,在linux中代表自定义的模式模版,linux工具可以用正则表达式过滤文本。Linux…

新版 Notepad++ 下载与安装教程

一、软件准备:麻烦点我 二、双击下载好的 notepad 软件进行安装,选择 “简体中文”。 三、默认 “下一步” 安装。 四、单击 “我接受” 按钮。 五、自定义安装位置,个人建议安装在 D 盘。 六、选择组件,默认 “下一步”。 七、勾…

通过OpenCV实现 Lucas-Kanade 算法

目录 简介 Lucas-Kanade 光流算法 实现步骤 1. 导入所需库 2. 视频捕捉与初始化 3. 设置特征点参数 4. 创建掩模 5. 光流估计循环 6. 释放资源 结论 简介 在计算机视觉领域,光流估计是一种追踪物体运动的技术。它通过比较连续帧之间的像素强度变化来估计图…

C++:list(用法篇+模拟实现)

文章目录 前言一、list 的用法1. list 简介2. 用法代码演示1)头/尾 插/删和迭代器遍历2)insert与erase3)排序sort相关4)其他相关 二、list模拟实现1. 结点类模板list_node2. 定义迭代器1)为什么要专门封装一个迭代器&a…

使用可白嫖的高配置服务器——DAMODEL进行AI开发教程

DAMODEL:DAMODEL 目前DAmodel注册并实名赠送50大洋的免费额度,搭载4090的服务器费用不到2r/h 教程: 完成注册并实名后 在此点击创建实例 选择实例配置 选择镜像,看你使用哪种dl框架 。 实例自带的磁盘会随实例释放。需要自己…

FineReport 图表切换维度

1、导入数据 可以参考导入Excel数据,直接导入数据也可以在数据库建表,Navicat直接导入数据 以下是数据库建表操作 -- 创建表 create table test11 ( orderTime date NULL, -- 下单时间 quantity int NULL -- 数量 ); 导入数据 2、SQL判断统计维度…

Docker 的数据管理

前置资源 Docker的数据管理资源.zip资源-CSDN文库 一、容器中数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 1.数据卷 数据卷是一个供容…

2024 年 Mac 下这些生产力工具,好用到哭

每段关系最终都会结束 即使不是因为别的原因 也会因为死亡 我只知道 你不对她说出来 她就永远不知道 你的心意 她那天离开的时候 才知道一个道理 有时候 保护一样重要的东西的方式 不是守在她旁边 而是离开她 离得远远的远到看起来谁也 不在乎谁一样 今天呢&#x…

Go-知识泛型

Go-知识泛型 1. 认识泛型1.1 不使用泛型1.2 使用泛型 2. 泛型的特点2.1 函数泛化2.2 类型泛化 3. 类型约束3.1 类型集合3.2 interface 类型集合3.2.1 内置interface类型集合3.2.2 自定义interface类型集合3.2.2.1 任意类型元素3.2.2.2 近似类型元素3.2.2.3 联合类型元素 3.2.3 …