你好,我是大智。
很多同学对数字孪生特别感兴趣,经常有同学问我:
有幸参与或指导过一些数字孪生的科研、商业项目,把我的一些经验分享一下。
如果独立开发数字孪生系统,对技术要求还是比较高的,具体要掌握哪些技能呢?
在数字孪生系统中,Unity用于前端呈现,是整个系统的一部分,可以称之为数字孪生中的“数字”。
数字孪生,更重要的是“孪生”。孪生代表了什么呢?是与现实世界的同步。
所以数字孪生系统除了前端可视化的展示,更重要的是数据的采集同步。
那么一个完整的数字孪生系统如何架构呢?最简单的系统架构是这样的。
这种是最简单的数字孪生系统架构,用Unity开发可视化部分,需要啥数据从外部系统接入啥数据。有些小项目(外包10W以内)用这种架构完全就可以搞定。
这种架构的优点是简单,你只需要掌握Unity开发和一些网络开发的技能就可以。
缺点呢?有很多。
针对上面这些问题,架构可以如何改进呢?
这个架构引进了一个数据服务器,这个数据服务器在这是做什么的呢?
这个服务器主要是用来中转数据,与外部系统的数据连接都由这个服务器负责。但通常监控系统中的视频流还是客户端直接连接。
针对1.0架构中的几个问题,数据服务器可以解决:
但是2.0架构中也存在问题,那就是数据服务器的压力太大,职责太多,它需要负责:
所以演化到3.0的架构时,提高服务端的并发能力,可以将数据服务器根据需要进行拆分,加入数据库,这里面没有一个固定的架构模式,初步是将数据、应用模块拆分开,有计算量较大的模块(比如AI预测、数据分析等等)可以单独再拆分出来。
比如:
数字孪生全栈开发能架构到这一步基本上就能Hold住几十万的项目了。
这里面需要的技能主要包括:
3.0的架构再往后演进,就需要很强的服务器开发能力了,主要核心目标还是提高服务端的并发能力,加入分布式等等,此处就不再多说了。
对于Unity数字孪生全栈开发你还有什么想知道的?可以评论告诉我,下次继续分享。