一种基于异构多引擎协同的WEB端可视化方法和系统与流程

摘要: 本发明涉及工业仿真模型可视化,特别是涉及一种基于异构多引擎协同的web端可视化方法、一种基于异构多引擎协同的web端可视化系统。背景技术:1、随着现代科学技术的...
一种基于异构多引擎协同的WEB端可视化方法和系统与流程

本发明涉及工业仿真模型可视化,特别是涉及一种基于异构多引擎协同的web端可视化方法、一种基于异构多引擎协同的web端可视化系统。

背景技术:

1、随着现代科学技术的发展,web浏览器技术也得到了快速发展。从只能浏览文字到可以查看图片、视频等富媒体对象,再到2010年前后实现了基于webgl技术,使得在web浏览器中进行三维模型的可视化成为可能。随着技术的进一步发展,在2020年前后一种更高效地三维模型的可视化方法被提出即webgpu技术。这些技术的发展为在web浏览器端进行三维模型的可视化提供了高效的技术解决方案。但随着对三维模型质量要求的不断提升,尤其在cae(计算机辅助工程)、cfd(计算流体)领域其模型关联的节点数量、网格数量以及物理场如温度场、应力场、位移场等都有了数量级的提升,从之前的几个mb到现在的几十到几百个mb,甚至部分模型的数据量已到达几十个gb。另一种实现web浏览器进行三维可视化的方法是通过在服务器端先对三维模型进行可视化,再提取可视化的结果,以一种类似图片流或者视频流的方式实时地推送至web浏览器端,进而实现在web浏览器端进行模型三维可视化的效果。

2、上述通用解决方法已无法满足对仿真结果数据进行实时、高效、个性化的分析要求。采用纯web端技术如webgpu/webgl技术,其能解决模型渲染实时性、高效的问题,但其获取gb级数据将极大地受网络带宽的影响无法快速、高效、实时的处理数据,同时也受端侧内存大小、显存大小的限制,其真实能处理的数据量将是有限的,无法真正满足cae、cfd等真实的工业仿真场景的要求,这些场景网格数据量大部分将达几十gb到几百gb;如果采用纯服务器端渲染,虽能部分解决大规模工业仿真场景对模型可视化的要求,但其不管所要可视化的模型数据量的大小,一律在服务器端进行可视化,将极大地影响人机交互的实时性,同时受网络速率及带宽的影响,部分可视化结果可能存在被丢弃的情况,进而可能影响工业仿真数据分析结果的准确性。

技术实现思路

1、鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于异构多引擎协同的web端可视化方法和相应的一种基于异构多引擎协同的web端可视化系统。

2、本发明公开了一种基于异构多引擎协同的web端可视化方法,所述方法包括:

3、加载工业仿真结果数据并对所述工业仿真结果数据进行分析处理,以及将分析结果构建为通用可视化数据对象并对所述通用可视化数据对象进行缓存管理;

4、获取当前web浏览器的运行参数信息、硬件资源参数信息、所述通用可视化数据对象的数据特征信息以及各候选可视化引擎的引擎特征信息,并构建为特征向量;

5、将所述特征向量输入预训练的异构可视化引擎选择判别模型进行推理,得到各候选可视化引擎的选择概率,根据所述选择概率确定目标可视化引擎;

6、将所述通用可视化数据对象按照所述目标可视化引擎对应的数据格式进行序列化,得到序列化字节流,根据所述目标可视化引擎的类型将所述序列化字节流发送至所述目标可视化引擎,所述目标可视化引擎对所述序列化字节流进行可视化呈现。

7、可选地,对所述通用可视化数据对象进行缓存管理,包括:

8、根据所述通用可视化数据对象被访问的频次,将所述通用可视化数据对象划分为热数据和冷数据;

9、将所述热数据及其序列化后的字节流缓存在内存中;

10、当再次接收到对所述热数据的可视化请求时,直接从内存中读取已缓存的序列化字节流并发送至对应的目标可视化引擎,跳过重新序列化的过程。

11、可选地,获取当前web浏览器的运行参数信息、硬件资源参数信息、所述通用可视化数据对象的数据特征信息以及各候选可视化引擎的引擎特征信息,并构建为特征向量,包括:

12、获取当前web浏览器的运行参数信息,所述运行参数信息至少包括是否支持webassembly、是否支持webnn、是否支持sharedarraybuffer、是否支持wasm-memory-64位、是否支持webgpu、是否支持webgl、是否支持webworker、是否开启了图形加速;

13、获取所述硬件参数信息,所述硬件参数信息至少包括cpu使用率、内存使用量、内存使用量占比、gpu显存使用量、gpu显存使用量占比、网络带宽;

14、获取通用可视化数据对象的数据特征信息,所述数据特征信息至少包括网格节点数、网格单元数、标量场数据量、矢量场数据量以及张量场数据量;

15、获取各候选可视化引擎的引擎特征信息,所述引擎特征信息至少包括是否支持webgpu、是否支持webgl、是否支持webassembly、是否支持服务端绘制以及绘制对象硬件资源使用量;

16、将所述运行参数信息、所述硬件资源参数信息、所述数据特征信息和所述引擎特征信息拼接为所述特征向量。

17、可选地,将所述特征向量输入预训练的异构可视化引擎选择判别模型进行推理,得到各候选可视化引擎的选择概率,根据所述选择概率确定目标可视化引擎,包括:

18、将所述特征向量经由所述异构可视化引擎选择判别模型的输入层输入隐藏层进行多层卷积运算,提取得到的特征传递至注意力层;

19、在所述注意力层中通过随机卷积操作对特征进行增强处理,增强处理得到的特征传递至输出层;

20、输出层基于增强处理得到的特征分配各候选可视化引擎的权重值,并采用softmax方法对权重值进行归一化处理,得到各候选可视化引擎的选择概率;

21、将所述选择概率中概率值最高的候选可视化引擎确定为所述目标可视化引擎。

22、可选地,将所述特征向量输入预训练的异构可视化引擎选择判别模型进行推理之前,所述方法还包括:

23、检测当前web浏览器是否支持webnn接口;

24、若支持webnn接口,则通过所述webwebnn接口结合onnx运行时框架构建的端侧推理平台加载所述异构可视化引擎选择判别模型并进行推理加速;

25、若不支持webwebnn接口,则降级使用webassembly接口结合onnx运行时框架构建的推理平台加载所述异构可视化引擎选择判别模型进行推理。

26、可选地,根据所述目标可视化引擎的类型将所述序列化字节流发送至所述目标可视化引擎,所述目标可视化引擎对所述序列化字节流进行可视化呈现,包括:

27、判断所述目标可视化引擎属于web端渲染引擎还是服务器端渲染引擎;

28、若所述目标可视化引擎属于web端渲染引擎,则将所述序列化字节流通过本地内存传递至所述目标可视化引擎,由所述目标可视化引擎在web浏览器端进行反序列化并执行可视化渲染;

29、若所述目标可视化引擎属于服务器端渲染引擎,则将所述通用可视化数据对象按照服务器端渲染协议进行同步,由所述目标可视化引擎在服务器端完成可视化渲染后将渲染结果以图像流的方式推送至web浏览器端进行呈现。

30、可选地,若所述目标可视化引擎属于服务器端渲染引擎,则将所述通用可视化数据对象按照服务器端渲染协议进行同步,由所述目标可视化引擎在服务器端完成可视化渲染后将渲染结果以图像流的方式推送至web浏览器端进行呈现,包括:

31、向所述目标可视化引擎对应的服务器端渲染服务集群发送创建渲染服务实例的请求信号;

32、所述服务器端渲染服务集群根据所述请求信号创建一个独立的渲染服务实例,所述渲染服务实例与web浏览器端的渲染客户端对象建立一一对应的连接关系;

33、通过所述连接关系将所述通用可视化数据对象按照服务器端渲染协议同步至所述渲染服务实例;

34、所述渲染服务实例对同步后的数据执行可视化渲染,并将渲染结果以图像流方式实时推送至所述渲染客户端对象进行呈现;

35、当接收到关闭渲染服务实例的信号时,所述渲染服务实例释放相关缓存资源后与所述渲染客户端对象断开连接,所述渲染客户端对象在接收到断开连接事件后释放对应的内存对象。

36、本发明还公开了一种基于异构多引擎协同的web端可视化系统,所述系统包括:

37、仿真数据分析服务层,用于加载工业仿真结果数据并对所述工业仿真结果数据进行分析处理,以及将分析结果构建为通用可视化数据对象;

38、通用可视化模型数据服务层,用于对所述通用可视化数据对象进行缓存管理;

39、可视化层的可视化引擎智能调度模块,用于获取当前web浏览器的运行参数信息、硬件资源参数信息、所述通用可视化数据对象的数据特征信息以及各候选可视化引擎的引擎特征信息,并构建为特征向量,将所述特征向量输入预训练的异构可视化引擎选择判别模型进行推理,得到各候选可视化引擎的选择概率,根据所述选择概率确定目标可视化引擎;

40、可视化模型数据适配层,用于将所述通用可视化数据对象按照所述目标可视化引擎对应的数据格式进行序列化,得到序列化字节流,并根据所述目标可视化引擎的类型将所述序列化字节流发送至所述目标可视化引擎;

41、可视化层,还用于接收所述序列化字节流并通过所述目标可视化引擎进行可视化呈现。

42、本发明包括以下优点:

43、本发明加载工业仿真结果数据进行分析处理并将分析结果构建为通用可视化数据对象,获取当前web浏览器的运行参数信息、硬件资源参数信息、通用可视化数据对象的数据特征信息以及各候选可视化引擎的引擎特征信息并构建为特征向量,将特征向量输入预训练的异构可视化引擎选择判别模型进行推理,确定目标可视化引擎,将通用可视化数据对象按照目标可视化引擎对应的数据格式进行序列化得到序列化字节流,根据目标可视化引擎的类型将序列化字节流发送至目标可视化引擎进行可视化呈现。本发明充分发挥了web端实时渲染与服务器端大规模数据处理的优势,实现了面向cae、cfd等场景的准确和高效。