山海鲸可视化B/S架构应用

news2025/1/15 19:54:28

一、什么是B/S架构

BS架构Browser-Server架构是一种常见的软件架构模式,其中系统的核心业务逻辑和数据处理都发生在服务器端(Server),而客户端(Browser)主要负责显示和用户交互。BS架构是与CS(Client-Server)架构相对的概念。

二、什么是山海鲸数字孪生系统架构

山海鲸编辑器是一款免费的零代码数字孪生开发平台,基于自研数字孪生渲染引擎Cetus3D和CaaS架构,不仅可以支持游戏级渲染视效,而且支持BS/CS一键切换

山海鲸可视化系统在搭建的过程中,采用了多层架构模式,每一层逻辑都建立在下一层之上,以便于更加灵活的业务组成形式和部署步骤。

系统总共分为5层,分别是:

(1)数据连接层

在数据接入方面,为了方便各种类型的数据接入,系统采用NodeJS动态加载机制,优化了NodeJS底层虚拟机在加载不同class时的性能,实现了统一数据接口模式之上的数据动态绑定机制,实现了本地文件(Excel、XML、JSON)、数据库(MySQL、PostgreSQL、SQL Server、MongoDB)以及HTTP接口,有了统一数据接口,后期可以很方便地接入其他类型的数据。

(2)数据处理层

基于动态数据连接层之上,我们搭建了数据处理层。数据连接层在实现数据成功连接之后,会将传输的数据流(无论底层是文件,数据库或者HTTP网络接口),均打包成最小的互联网数据Pack,并传递给数据处理层。系统实现了三种数据处理方式,分别是可视化交互(基于用户交互设置的数据处理逻辑),类SQL语句(基于SQL扩展了数据处理逻辑)和JS脚本(通过动态加载JS类实现的数据处理逻辑)。数据处理层接收到数据Stream之后,会重新将数据解包之后逐个应用三种数据处理逻辑,并重新封包交给下一层。

(3)大屏设计层

我们在统一组件接口的基础上,封装了可视化图表、区域地图、鲸孪生等一系列组件,并且组件现在还在持续增加中,这些丰富的组件可以组合设计出各种风格的大屏。同时,我们设计了功能强大的动画系统和交互系统,为组件和大屏提供了非常灵活的动画设置和交互逻辑设置。

(4)大屏分享层

大屏分享层作为应用层,主要提供了友善的用户交互形式,不仅支持传统的的打包成文件分享的方式,同时也支持通过NodeJS实现的自定义实现HTTP协议服务架构,将本地PC直接转换成HTTP SERVER,实现Serverless的浏览器分享模式,进一步增强了用户交互体验。

(5)大屏展示层

最后在基础的四个层级之上,便是用户最终能够访问的大屏展示层。我们通过三种形式提供了大屏展示的应用,分别是软件内的大屏播放模式,浏览器上的大屏直览模式和Viewer中的大屏观察模式。这三种模式均支持在不同的设备和操作系统之上进行播放。

三、以鲸孪生、资源中心为例

(1)鲸孪生

鲸孪生(原城市大师是山海鲸可视化中一个非常重要的组件,用于在组件内编辑 3D 场景。基于自研的数字孪生渲染引擎Cetus3D,山海鲸可以让项目拥有游戏级的视觉表现,提升整个三维场景的表现力。

鲸孪生当中不仅实现了体积云天空、Lensflare、雨雪天气、高度指数雾等等特效,也整合了模型库、PBR材质编辑、植被笔刷、标记点、热力图等等非常好用的3D编辑功能。丰富的模型库资源,也可直接在三维项目中使用。

(2)资源中心

100+图表组件:丰富的组件样式,降低图表设计难度。

200+大屏模版:提供了完整的项目实施模板,可直接套用。

四、山海鲸可视化数字孪生项目实施流程

(1)需求对接

商务经理会和您讨论项目需求,然后整理需求文档发给开发和设计同事进行评估;

(2)签订合同

需求评估完成后,商务经理会给您一份报价单,双方协商一致后签署合作合同,约定项目工期;

(3)组建项目团队

我们会组建由商务同事作为主负责人,项目经理、UI设计师、三维设计师、开发工程师、质量监督专员共同参与的项目团队;

(4)UI平面稿设计

我们会先进行UI平面稿的设计,然后将设计好的平面稿图片发给您进行设计风格、排版和大屏内容的确认;

(5)项目实施稿设计

平面稿定稿后,我们的设计师会基于构造的假数据,使用山海鲸可视化完成项目的实施,然后将实施稿发给您进行查看和测试。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AIGC核心技术剖析】用于 3D 生成的多视图扩散模型

MVDream是一种多视图扩散模型,能够从给定的文本提示生成一致的多视图图像。多视图扩散模型从二维和三维数据中学习,可以实现二维扩散模型的泛化和三维渲染的一致性。我们证明了这样的多视图先验可以作为可推广的 2D 先验,与 3D 表示无关。它可以通过分数蒸馏取样应用于 2D 生…

vue视频直接播放rtsp流;vue视频延迟问题解决;webRTC占cpu太大卡死问题解决;解决webRTC播放卡花屏问题:

播放多个视频 <div class"video-box"><div class"video"><iframe style"width:100%;height:100%;" name"ddddd" id"iframes" scrolling"auto" :src"videoLeftUrl"></iframe>&l…

Python---练习:求世界杯小组赛的总成绩(涉及:布尔类型转换为整型)

案例 世界杯案例 需求&#xff1a; 世界杯案例&#xff0c;世界杯小组赛的比赛规则是我们的球队与其他三支球队进行比赛&#xff0c;然后根据总成绩(积分)确定出线资格。小组赛球队实力已知(提示用户输入各球队实力&#xff09;&#xff0c;我们通过一个数字表示。如果我们赢…

C#冒泡排序算法

冒泡排序实现原理 冒泡排序是一种简单的排序算法&#xff0c;其原理如下&#xff1a; 从待排序的数组的第一个元素开始&#xff0c;依次比较相邻的两个元素。 如果前面的元素大于后面的元素&#xff08;升序排序&#xff09;&#xff0c;则交换这两个元素的位置&#xff0c;使…

yolov5多个框重叠问题

NMS&#xff08;Non-Maximum Suppression&#xff0c;非极大值抑制&#xff09;是一种在计算机视觉和目标检测领域常用的技术。它通常用于在图像或视频中找出物体或目标的位置&#xff0c;并剔除重叠的边界框&#xff0c;以确保最终的检测结果准确且不重叠。 会出现多个框重叠…

2020年12月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python编程(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 要对二维列表所有的数据进行格式化输出,打印成表格形状,程序段如下: ls = [[金京,89],[ 吴树海,80]<

fastadmin框架token验证

在FastAdmin框架中&#xff0c;Token验证是一种常见的身份验证方法&#xff0c;用于确保用户请求的安全性和合法性。本文将介绍如何在FastAdmin框架中实现Token验证。 什么是Token验证&#xff1f; Token验证是一种基于令牌(Token)的身份验证方式。在这种方式下&#xff0c;用…

Docker部署Jumpserver堡垒机

Jumpserver 是全球首款完全开源的堡垒机&#xff0c;使用 GNU GPL v2.0 开源协议&#xff0c;是符合 4A 的专业运维审计系统。 Jumpserver 使用 Python / Django 进行开发&#xff0c;遵循 Web 2.0 规范&#xff0c;配备了业界领先的 Web Terminal 解决方案&#xff0c;交互界面…

Android11修改自动允许连接到建议的WLAN网络

客户的app需要连接指定的wifi,但是会提示下面的对话框(是否允许系统连接到建议的WLAN网络?): 客户需求:不提示这个对话框自动允许。 根据字符串定位到frameworks\opt\net\wifi\service\java\com\android\server\wifi\WifiNetworkSuggestionsManager.java 中的privat…

【C++】-c++的类型转换

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

020-第三代软件开发-日志模块

第三代软件开发-日志模块 文章目录 第三代软件开发-日志模块项目介绍日志模块日志Demo第一代日志系统第二代日志系统 关键字&#xff1a; Qt、 Qml、 日志、 Log、 SQLite 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Ob…

【Java基础面试三十四】、接口中可以有构造函数吗?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;接口中可以有构造函数吗…

Day3 Qt

作业 1. 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到新的界面中 如果账号和密码不…

经典算法试题(一)

文章目录 一、19头牛1、题目2、思路讲解3、代码实现4、结果 二、分钱1、题目2、思路讲解3、代码实现4、结果 三、儿子做题1、题目2、思路讲解3、代码实现4、结果 四、乐队人数1、题目2、思路讲解3、代码实现4、结果 五、靶子趣谈1、题目2、思路讲解3、代码实现4、结果 六、里程…

外骨骼机器人和人形机器人概览

前言&#xff1a;一点思考 外骨骼机器人和人形机器人都曾随着一些爆品的出现火热过一段时间&#xff0c;但总感觉当前技术条件还不成熟&#xff0c;真正能落地的应用场景不多。马斯克在擎天柱发布会上被问到人形机器人的落地与前景问题时并没有给出明确答案&#xff0c;只是用…

《Selenium 2 自动化测试实战》读书笔记

背景 最近在弄 appium&#xff0c;然后顺便发现了 Selenium 框架和这本书&#xff0c;恰好这本书也介绍了一些软件测试 & 自动化测试的理论知识&#xff0c;遂拿过来学习学习。所以本文几乎没有实践内容&#xff0c;大多都是概念和工具的 mark&#xff0c;后续若有实践&am…

bulldog 靶机

bulldog 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 正在开发的如果你正在读这篇文章&#xff0c;你很可能是Bulldog Industries的承包商。恭喜你!我是你们的新老板&#xff0c;组长艾伦布鲁克。CEO解雇了整个开发团队和员工。因此&#xff0c;我们需要迅速招到一…

JVM(Java Virtual Machine)垃圾收集算法篇

前言 本文参考《深入理解Java虚拟机》&#xff0c;主要介绍GC相关的算法&#xff0c;引用计数法、可达性分析算法、垃圾收集算法&#xff08;分代收集理论&#xff0c;标记-清除/整理/复制&#xff09; 本系列其他文章链接&#xff1a; JVM&#xff08;Java Virtual Machine&…

视频监控/安防监控平台EasyCVR新功能——视频播放id调阅来咯

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

中小型企业云存储选型指南:要点与建议

随着信息技术的快速发展&#xff0c;中小型企业越来越依赖于云存储来管理和存储其日益增长的数据。选择适合自己企业的云存储解决方案是确保数据安全、提高工作效率的关键。 选型注意点&#xff1a; 选择适合自己企业的云存储方案 在选择适合自己企业的云存储方案时&#xff…