掌桥专利:专业的专利平台
掌桥专利
首页

一种基于领域模型的VR虚拟仿真低代码开发系统

文献发布时间:2023-06-19 19:20:08


一种基于领域模型的VR虚拟仿真低代码开发系统

技术领域

本发明涉及计算机科学与技术领域,尤其涉及一种基于领域模型的VR虚拟仿真低代码开发系统。

背景技术

虚拟现实技术(英文名称:VirtualReality,缩写为VR),是20世纪发展起来的一项全新的实用技术。虚拟现实技术囊括计算机、电子信息、仿真技术,其基本实现方式是计算机模拟虚拟环境从而给人以环境沉浸感。随着社会生产力和科学技术的不断发展,各行各业对VR技术的需求日益旺盛。VR技术也取得了巨大进步,并逐步成为一个新的科学技术领域。

随着VR加速与5G、AI、无人驾驶、工业互联网等新兴技术融合创新,VR产业有望进入加速起飞期,在更广领域实现规模化应用,催生经济发展新动能。

虚拟现实是典型的技术、知识、人才密集型产业,技术创新能够对市场产生巨大的推动作用。

在当下国内VR开发领域,不管是VR游戏、VR教育还是工业仿真应用,普遍受制于开发人才短缺,开发技术栈过窄,受制于三维引擎的封闭性,开发效率低、灵活度低。

发明内容

鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于领域模型的VR虚拟仿真低代码开发系统。

根据本发明的一个方面,提供了一种基于领域模型的VR虚拟仿真低代码开发系统,所述开发系统包括:

从逻辑架构上将VR应用分为展示、逻辑和数据;

客户端包括三维场景、三维模型及外界设备的交互触发和交互处理;

服务端包括服务器;

内容平台。

可选的,所述服务器包括本地服务器和云服务器。

可选的,所述内容平台为基于表单域、流程引擎、规则引擎、算法引擎和主数据及元数据而构建的开发、可视化配置VR应用内容、业务、流程和各模型、参数、行为、算法的异构低代码平台。

可选的,所述服务器端还包括:数据存储集合,包括结构化数据和非结构化数据。

可选的,所述结构化数据是二维数据,包括以横表存储的数据和以纵表存储的数据。

可选的,所述非结构化数据包括音视频、二维图片、三维模型、html、css、json、xml、各类文档。

可选的,所述开发系统还包括:鉴权,用于负责来自于客户端的请求的认证或加密。

可选的,所述客户端包括:

客户端配置单元,用于客户端环境参数配置;

客户端适配单元,用于读取客户端软硬件情况和所述客户端配置单元所配置的参数生成本地全局运行环境参数;

应用组网单元,用于根据所述客户端配置单元和所述客户端适配单元所生成的全局运行态参数,与服务器连接池或其他客户端建立通信链路;

参数获取单元,用于与服务器建立链接后,通过客户端统一接口单元与服务器统一接口单元建立数据交互获取系列参数;

视图获取单元,用于通过HTTP协议获取客户端内嵌的网页视图,所述网页视图由服务器端业务表单建模单元以低代码的方式配置生成;

加载单元,用于将所述参数获取单元从服务器获取的参数和所述视图获取单元从服务器获取的视图加载入本地应用;

渲染单元,基于三维引擎和GPU渲染以上加载的所有内容、视图、模型、参数为客户端呈现三维可视化场景;

执行控制单元,用于控制VR应用的场景、业务流程的执行逻辑;

交互控制单元,通过可视化的规则引擎的配置,定义和驱动客户端交互逻辑、交互流程、输入、输出动作、视觉呈现效果;

数据存储单元将客户端应用所产生的数据进行存储;

统一接口单元,为客户端接口统一管理单元,负责管理客户端与服务器或其他软硬件设备间的数据接口交互;

解密单元和加密单元,用于特殊数据、安全度较高数据的传输加解密;

授权控制单元,通过与服务器端授权单元配合控制应用的可使用性,可按时间、时长、用户数、模块数维度控制。

可选的,所述服务端包括:应用创建单元,为应用生产过程提供服务;

应用建模单元,用于应用整体结构和逻辑建模,以类思维导图的形式编辑和展现整个应用的整体框架;

内容建模单元,用于应用对所涉及到的知识以知识点的方式建模;

业务表单建模单元,为低代码开发单元,用于可视化快速搭建业务系统及相关表单;

执行控制建模单元,基于BPMN可视化流程引擎控制服务器端业务表单建模单元和客户端执行控制;

交互控制建模单元,基于Drools定制化规则引擎负责与客户端交互控制单元配合以控制应用的交互逻辑;

模型定义单元,用于对应用内三维场景和模型参数进行定义和配置;

算法定义单元,负责管理应用所有算法及为算法提供算力;

数据存取单元,为客户端应用和服务器端提供统一操作数据库服务;

网关单元,用于统一接收客户端请求,对请求进行完整性验证、安全、鉴权验证;

统一接口单元,负责管理服务器所有接口的注册、发布、鉴活;

解密单元和加密单元,配合客户端进行特殊数据的传输加解密;

授权控制单元,通过与客户端授权单元配合控制应用的可使用性;

连接池,统一管理与客户端建立的长链接、鉴活,控制请求频率和请求次数。

本发明提供的一种基于领域模型的VR虚拟仿真低代码开发系统,所述开发系统包括:从逻辑架构上将VR应用分为展示、逻辑和数据;客户端包括三维场景、三维模型及外界设备的交互触发和交互处理;服务端包括服务器;内容平台。通过抽象和分离,将VR应用运行态需大量计算的算法、规则等抽离至后端或第三方计算平台,可大幅提升运算速度和客户体验。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种基于领域模型的VR虚拟仿真低代码开发系统的组成框架图;

图2为本发明实施例提供的核心业务参数进行配置示意图;

图3为本发明实施例提供的服务器端示意图;

图4为本发明实施例提供的以某离散制造行业“生产计划”知识点为例,ER展示示意图;

图5为本发明实施例提供的采用关系型数据库的纵表形式存储知识点相关数据示意图;

图6为本发明实施例提供的单元各集成模块之间关系示意图;

图7为本发明实施例提供的低代码表单开发流程示意图;

图8为本发明实施例提供的执行控制建模单元的结构示意图;

图9为本发明实施例提供的交互控制建模单元的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。

下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。

本方案提供了一种解决上述系列问题的系统和方法,从逻辑架构上从将VR应用分为展示、逻辑、数据。如图1所示。在本发明体系中客户端200包含三维场景、三维模型及与外界设备(如触摸屏、鼠标、键盘、手柄等)的交互触发和交互处理;服务器端202可以是本地服务器或云服务器,其核心是内容平台204,该平台是基于表单域、流程引擎、规则引擎、算法引擎和主数据及元数据而构建的开发、可视化配置VR应用内容、业务、流程和各模型、参数、行为、算法的异构低代码平台;服务器端还包括数据存储集合,分为结构化数据/非结构化数据,结构化数据是二维数据,包括以横表存储的数据和以纵表存储的数据,非结构化数据包含音视频、二维图片、三维模型、html、css、json、xml、各类文档等;鉴权主要负责来自于客户端的请求的认证或加密,客户端200和服务器端202之间API接口通过HTTP或TCP协议进行数据交换。

基于本发明提供的系统,将VR应用各层间进行解耦并使用异构的低代码平台对其中的内容、业务、流程等进行可视化建模、灵活配置和调整,异构系统可根据不同场景采用更合适的技术语言,如涉及低代码表单、流程等可采用java语言,算法可采用有更丰富数据处理生态的Python语言,由此大大减轻了三维工程师(如Unity工程师)的工作量和能力要求,使其更能专注于三维视觉呈现和交互表达等VR应用的特色工作。通过以上“小前端大后端的”思想和措施能有效解决传统模式下的“黑盒子”和“死疙瘩”问题,整体应用开发效率和成本也得到大幅提升。

VR相关应用也迎来蓬勃发展进入了各行各业,从最初的小型单体应用逐步进入大型化、复杂化阶段,在此过程中不少研发组织也将分层架构、SOA、服务化等传统软件工程设计思维应用到VR应用开发中,当前常用的技术方案主要是将数据进行统一存储,能对相关小部分核心业务参数进行配置,但无水平拓展灵活性;如图2所示。

当前常用方案中为重客户端技术路径,客户端300包含了VR应用的绝大部分功能和内容,除三维场景、三维模型和交互外还包括业务、表单、流程、规则、算法和逻辑等与三维并无强关系的内容;服务器端302通常包含参数集304用以配置和调整相关核心参数,数据存取大体分为结构化数据和非结构化数据两类。

本发明设计提供了一种基于领域模型的VR虚拟仿真低代码开发系统,从程序类型维度可可分为客户端和服务器端两类,其中服务器端是私有云(本地服务器)或公有云(IaaS),如图3所示:

客户端402包括客户端配置单元406,用于客户端环境参数配置,这些配置包括服务器、网络、带宽、分辨率、画面质量、运行速度等,参数均根据应用情况提供默认值,客户端可根据本地软硬件环境特点基于默认值进行调整和修改;

客户端适配单元410,用于读取客户端软硬件情况和客户端配置单元406所配置的参数生成本地全局运行环境参数;

应用组网单元412,根据客户端配置单元406和客户端适配单元410所生成的全局运行态参数,与服务器连接池478或其他客户端(如游戏组队等)建立通信链路,此链路基于计算机TCP的Keepalive长连接(基于Web的应用可使用HTTP长连接,但本质仍然是TCP),与服务器建立Keepalive是为方便服务器监控应用活跃、掉线,与其他客户端建立Keepalive则是为一些特殊应用如游戏组队、课堂组队等需要客户端之间进行协同的场景。

参数获取单元414,用于与服务器建立链接后,通过客户端统一接口单元428与服务器统一接口单元470建立数据交互获取系列参数,参数按类型分为应用基本数据、内容数据、业务数据、执行控制数据、交互控制数据、模型数据、算法等数据,获取到的运行参数通过将存储入客户端本地硬盘、内存或浏览器缓存,参数获取可根据请求发起者(消费方)所处场景或请求类型分为同步、异步获取或全量、增量获取,参数又可分为静态、动态参数两大类;

视图获取单元416,用于通过HTTP协议获取客户端内嵌的网页视图,该视图由服务器端业务表单建模单元456以低代码的方式配置生成,当VR应用运行在PC端时将大量使用该方式将需三维技术语言实现的功能由后端低代码技术通过简单配置实现,以提升效率;该方式VR客户端程序只是容器,其运行的、数据、内容、显示要素均来自于服务器的低代码配置生成;

加载单元418,用于将参数获取单元414从服务器获取的参数和视图获取单元416从服务器获取的视图,加载入本地应用,其中全局参数一般为异步静态,存储在本地Cache中,局部参数分为局部静态、局部动态参数,局部静态参数同全局参数处理,局部动态参数是同步请求,不在客户端“永久存储”用完即销毁;大部分视图请求为同步请求但可使用“懒加载”来提升客户端响应和加载速度;

渲染单元420,基于三维引擎和GPU渲染以上加载的所有内容、视图、模型、参数等为客户端呈现三维可视化场景;渲染单元可使用于本地客户端机器的硬件配置,也可基于服务器或第三方Cloudrender云渲染的算力资源;

执行控制单元422,用于控制VR应用的场景、业务流程的执行逻辑,其数据来自于服务器端执行控制逻辑建模单元458所使用的流程引擎,通过可视化的流程引擎的配置,定义和驱动客户端业务逻辑和场景流程;

交互控制单元424,VR应用特点之一是交互性,该单元数据来自于服务器交互控制建模单元460所使用的规则引擎,通过可视化的规则引擎的配置,定义和驱动客户端交互逻辑、交互流程、输入、输出动作、视觉呈现效果等;

数据存储单元426,主要将客户端应用所产生的数据进行存储;可分为本地存储和远程服务器存储,本地存储一般是非永久性存储,主要以二进制、JSON、Key/Value、XML、ConfigurationFile等形式存储在Cache缓存或本地硬盘上;远程存储一般存储永久性数据,存储在服务器数据库中,数据库可以是如MySQL类型的关系型数据库或Mongodb类型的非关系型数据库;

统一接口单元428,为客户端接口统一管理单元,负责管理客户端与服务器或其他软硬件设备间的数据接口交互,绑定客户端业务主数据、标识Key等,并根据类型发送或接收请求对数据完整性、安全性进行验证;

解密单元430和加密单元432,用于特殊数据、安全度较高数据的传输加解密,一般在数据量小于64字节时使用DES,数据量大于64字节一般使用Base64;该单元与服务器端解密单元472、加密单元474配合使用保障整个应用的数据安全性;

授权控制单元434,通过与服务器端授权单元476配合控制应用的可使用性,可按时间、时长、用户数、模块数等维度控制。一般情况下ToB商业性应用有此单元。

服务器端404包括应用创建单元450,此模块主要为应用生产过程提供服务;可根据基础模板创建各类型的VR应用,如客户端游戏、网页游戏、教育课程等,可创建和维护应用基本信息、背景信息、运行软硬件、环境要求等。

应用建模单元452,用于应用整体结构和逻辑建模,以类思维导图的形式编辑和展现整个应用的整体框架;其中包含模块、故事线、主流程、主场景、人物、角色/岗位等之间的网状关系定义和配置。

内容建模单元454,用于应用对所涉及到的知识以知识点(知识三要素)的方式建模,此单元把知识点看做一个实体对象(主数据),通过对实体(知识点)的属性及行为的理论、原理、概念、定义、范例和结论的展示来完整表达一个知识点,最后通过ER(实体关系)图来描述该知识点的内部结构与外部关系;以某离散制造行业“生产计划”知识点为例,ER如图4所示;知识点的表达以音视频、PPT、WROD、图片等非结构数据为主且不同知识点具有不同的属性维度,故采用关系型数据库的纵表形式存储知识点相关数据,如图5所示。

业务表单建模单元456,为低代码开发单元,用于可视化快速搭建业务系统及相关表单(界面),业务系统具有复杂性、多样性及足够的灵活性,采用元数据来描述业务和表单(参考图5);单元集成了主题模板设计器、表单设计器、数据库设计器、权限设计器、流程设计器(执行控制建模单元458流程引擎),接口设计器等,同时集成了近100种常用的基础组件可通过可视化方式拖拽使用;单元各集成模块之间关系如图6所示;低代码表单开发流程如图7所示。

执行控制建模单元458,该单元基于BPMN可视化流程引擎控制服务器端业务表单建模单元456和客户端执行控制422,其中456为控制业务流程流转、控制任务流和数据流,422为控制客户端VR场景切换,在部分复杂场景、并行场景、条件场景上课配合规则引擎进行条件计算与决策;该单元包括可视化的流程定义、流程配置、流程执行、流程监控等,其结构如图8所示。

交互控制建模单元460,基于Drools定制化规则引擎负责与客户端交互控制单元424配合以控制应用的交互逻辑,包括可视化规则设计器、规则存储器、引擎执行核心和运行容器;本单元可以让业务人员通过可视化界面轻松定制前后端程序执行逻辑,并使用XML语言来描述规则生成drl文件;它使用申明式编程描述,实现了逻辑和数据分离,支持Rete及回归等算法,它增强了开发效率和扩展性使复杂的逻辑变的轻松易用;交互控制建模单元458核心逻辑如图9所示。

模型定义单元462,用于对应用内三维场景和模型参数进行定义和配置,使用基于纵表的面向对象方法(参见图4)定义三维场景内的模型,模型数据定义分为模型属性数据、模型参数数据和模型行为数据三大类,属性数据是模型基本的、不可分离的固有性质数据,参数数据是由业务上下文定义或模型自身具备及外部交互驱动的数据,行为数据也称作业务数据是一系列业务活动所产生的数据;在运行态,客户端通过参数获取单元414获取所需场景和模型的属性、参数和行为,以根据以上数据动态加载和宣传三维场景和三维模型。

算法定义单元464,负责管理应用所有算法及为算法提供算力,可作为独立服务部署在第三方GPU为主的算力节点上,可为客户端三维程序提供更高效的运行效率和用户体验;此单元使用异构Python语言构建,基于numpy的scipy数学库,内置了统计学、最优解、线性代数、信号处理和图像处理以及常微分方程等方面的cluster聚类算法、constants物理和数学常数、fftpack快速傅里叶变换、integrate积分和常微分方程的求解、interpolate插值和平滑的样条函数、io输入和输出、linalg线性代数、ndimageN维的图像处理、ord回归正交距离、optimize优化和寻根方程、signal信号处理、sparse稀疏矩阵、spatial空间数据结构和算法、special特殊的函数、stats统计分布和函数等;

数据存取单元466,为客户端应用和服务器端提供统一操作数据库服务,该单元屏蔽数据库的复杂性可适配多种数据库类型,包括Oracle、Mysql、MongoDB、HBase、SQLServer、还包括非结构化文件系统FastDFS等;

网关单元468,用于统一接收客户端请求,对请求进行完整性验证、安全、鉴权验证;

统一接口单元470,负责管理服务器所有接口的注册、发布、鉴活等,是接口的总代理;

解密单元472和加密单元474,配合客户端430和432进行特殊数据、安全度较高数据的传输加解密;

授权控制单元476,通过与客户端授权单元434配合控制应用的可使用性,可按时间、时长、用户数、模块数等维度控制。一般情况下ToB商业性应用有此单元。

连接池478,此单元统一管理与客户端建立的长链接、鉴活,控制请求频率和请求次数。

有益效果:通过异构语言,解决现实中三维开发工程师人才短缺和用工成本高问题,可使用其他成本更低、人员规模更大的工种来完成开发工作。

通过异构语言,使其最大化发挥各自语言的特点,如Java的灵活度,Python数据处理能力、Go可更好的与人工智能结合;

通过架构解耦,让三维开发工程师专注于三维视觉呈现和交互表达,业务专家通过可视化低代码平台专注于内容和业务设计;物尽其才使三维呈现效果更逼真,内容和业务也更丰富;

通过低代码平台,让业务/设计人员等非技术人员,具备可视化定义和配置VR应用内容、业务、逻辑、流程的能力,且具备高度灵活性;使其大幅提升开发效率、降低成本;

通过抽象和分离,将VR应用运行态需大量计算的算法、规则等抽离至后端或第三方计算平台,可大幅提升运算速度和客户体验。

以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于低代码区块链平台开发的仿真花共享制造平台
  • 一种基于元代码的低代码开发系统及方法
技术分类

06120115871112