本发明涉及虚拟仿真领域,特别涉及虚拟仿真实验共享平台架构。
背景技术:
虚拟仿真实验教学依托日趋成熟虚拟现实技术(ar/vr,labview)、多媒体、人机交互、数据库和网络通讯等技术,构建高度仿真的虚拟实验环境和实验对象,学生在虚拟环境中开展实验,达到教学大纲所要求的教学目的,虚拟仿真实验降低成本和风险、模拟现实、使某些正常条件下存在危险性或者无法实现(如核、放射性试验、深海实验)的实验成为可能。
技术实现要素:
针对现有技术中的上述不足,本发明提供了虚拟仿真实验共享平台架构,其突破性解决“电信网、广播电视网和互联网”三网融合技术难题,利用云计算技术与虚拟仿技术的结合,将虚拟仿真实验教学项目内容的运行迁移到云端,统一规划升级各校虚拟仿真实验教学项目接入端口。
为了达到上述发明目的,本发明采用的技术方案为:
虚拟仿真实验共享平台架构,包括:中心管理系统,所述中心管理系统支持若干个分前端系统,所述中心管理系统支持分前端系统的平滑扩容,所述中心管理系统采用b/s架构,通过网页实现对系统整体的控制管理,所述分前端管理系统:由会话资源管理系统、网络测试系统、云资源、门户组成,所述分前端管理系统通过网络传输到客户端,所述客户端包括:手机、vr机顶盒及vr一体机。
进一步,所述中心管理系统包括:管理网站、统一会话调度、业务系统、存储系统,所述统一会话调度:处理用户的登录请求,为用户选择合适的分前端接入,并通过调用其它系统模块实现诸如用户认证操作;所述业务系统:为用户管理、应用管理、产品管理、sp管理和资费管理提供界面化操作;所述存储系统:存储应用安装包、业务资源、广告资源和用户的个性化、敏感数据。
进一步,所述会话资源管理系统实现终端和云端的消息通讯,维护用户整个接入过程的生命周期,通过管理和调度当前分前端系统的云资源实现资源负载均衡;所述门户是业务系统的前台展示界面,用户接入云虚拟仿真实验教学项目平台后首先看到的就是门户,门户提供了产品的展示、以及计费;所述云资源是虚拟仿真实验教学项目应用运行、编码、回传映射和推流的核心部分,直接影响到用户的体验。
进一步,虚拟仿真共享平台通过网络传输可以绑定手机、vr机顶盒及vr一体机屏幕,项目应用的运行实时视频可以同时发送到多个终端设备,实现多个用户分享使用者的虚拟仿真实验教学项目应用带来的乐趣,符合虚拟仿真实验教学项目在家庭中使用的场景。
进一步:所述网络传输包括:运营级的ip网络、运营级的cable网络、家庭wifi环境的传输。
本发明的有益效果为:
1、突破传统虚拟仿真实验教学项目系统的性能局限:共享平台将复杂的运算放在云端进行,对终端侧的要求降低到仅需网络连接、外设接入、视频解码以及提供虚拟仿真实验教学项目显示能力,而这些能力是一个普通机顶盒或虚拟仿真实验教学项目眼镜一体机所具备的基本能力。
2、多种运营商网络的灵活适配:云虚拟仿真实验教学项目平台利用现有的终端形态与多种物理网络形态进行了适配,包括:运营级的ip网络、运营级的cable网络、家庭wifi环境的传输。
3、可管可控、内容保护:基于虚拟仿真共享平台将应用统一部署在云端平台,在多重运营级保护之下,虚拟仿真实验教学项目应用运行安全得到保障,应用数据的存储也远远高于虚拟仿真实验教学项目终端内的保护等级。应用的运行结果以视频流的方式发送到终端,而不携带任何业务数据,因此即便是终端受到安全威胁也不会影响平台业务的开展,更不会影响到其他用户。
4、完美的多屏融合和同屏分享:只要用户具备网络访问能力、拥有解码视频的机顶盒或虚拟仿真实验教学项目眼镜就可以接入应用流化系统;共享平台在云端获取终端的类型、屏幕尺寸和控制方式,为用户运行匹配适合的云端虚拟仿真实验教学项目应用规格,实现应用的多屏应用;当用户更换虚拟仿真实验教学项目终端设备时,云端也同步匹配云端应用的版本以适用于新终端,从而使得用户的获得良好的“多屏融合”的体验;虚拟仿真共享平台在云端可以绑定机顶盒等屏幕,项目应用的运行实时视频可以同时发送到多个终端设备,实现多个用户分享使用者的虚拟仿真实验教学项目应用带来的乐趣,更符合虚拟仿真实验教学项目在家庭中使用的场景。
附图说明
图1为本发明的结构示意图;
图2为本发明实施例中技术接口路径结构图。
具体实施方式
为了使本发明的内容更容易被清楚地理解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,虚拟仿真实验共享平台架构,包括:中心管理系统,所述中心管理系统支持若干个分前端系统,所述中心管理系统支持分前端系统的平滑扩容,所述中心管理系统采用b/s架构,通过网页实现对系统整体的控制管理,所述分前端管理系统:由会话资源管理系统、网络测试系统、云资源、门户组成,所述分前端管理系统通过网络传输到客户端,所述客户端包括:手机、vr机顶盒及vr一体机。
所述中心管理系统包括:管理网站、统一会话调度、业务系统、存储系统,所述统一会话调度:处理用户的登录请求,为用户选择合适的分前端接入,并通过调用其它系统模块实现诸如用户认证操作;所述业务系统:为用户管理、应用管理、产品管理、sp管理和资费管理提供界面化操作;所述存储系统:存储应用安装包、业务资源、广告资源和用户的个性化、敏感数据。所述会话资源管理系统实现终端和云端的消息通讯,维护用户整个接入过程的生命周期,通过管理和调度当前分前端系统的云资源实现资源负载均衡;所述门户是业务系统的前台展示界面,用户接入云虚拟仿真实验教学项目平台后首先看到的就是门户,门户提供了产品的展示、以及计费;所述云资源是虚拟仿真实验教学项目应用运行、编码、回传映射和推流的核心部分,直接影响到用户的体验。虚拟仿真共享平台通过网络传输可以绑定手机、vr机顶盒及vr一体机屏幕,项目应用的运行实时视频可以同时发送到多个终端设备,实现多个用户分享使用者的虚拟仿真实验教学项目应用带来的乐趣,符合虚拟仿真实验教学项目在家庭中使用的场景。所述网络传输包括:运营级的ip网络、运营级的cable网络、家庭wifi环境的传输。
实施例:实验空间:国家虚拟仿真实验教学项目共享服务平台:www.ilab-x.com,
1、技术接口说明:
数据共享通过api(applicationprogramminginterface,应用程序编程接口)完成;基于unity的sdk,方便易用兼容性强,大大降低介入成本,支持主流数据交互方式,包括xml,json,soap,com+,完善的开发文档和7x24技术支持,遵从gpl(gnugeneralpubliclicense,通用公共许可证)协议开源共享;
2、用户身份识别规范:
当用户登录后点击“我要做实验时”,会以参数形式提供token;
链接组成样例:实验平台的urltoken,例如:http://life.scnu.edu.cn/biology/vrlab/co2/token=aaabzkecn4abaaaaaaabhqm%3d.fkf3j5dn6ym0fo3i5cjydzqmr0iwez7qnqiit2mfl6v03jpej%2fr4fmrfqh5kn4yw.tqipoyvkhe2mgoxmime9o554lo6abbcqkzlsqqi4xrq%3d,用户验证时使用xjwt标准,此标准基于jsonwebtoken(jwt)开发,xjwt包含三个参数:header,payload,signature,因此生成token就要先获得这三个参数。
用户验证令牌token
token的组成结构:based64(rawheader)+“.”+base64(rawpayload)“.”+base64(rawsignature)
token组成参数header,payload,signature说明如下:
(1)header:组成结构:[expiry:long][type:byte][issuerid:long],
参数说明:
expiry:过期时间,utc以毫秒为单位,二进制8byte,bigendian;
type:类别,值为二进制,必填,1-json,2-sys.0-保留;
issuerid:由“实验空间”分配给各实验平台的唯一编号,二进制8byte,bigendian。
(2)payload:payload是64bytes的整数倍,其组成结构:aes256(randomlong+body+aespadding,aeskey),其中:aes256是aes256加密算法;randomlong是随机的8byte数字;aespadding是自定义的字符串,为补足64bytes的整数倍;aeskey由科普云生成分配给各实验教学项;
body为utf8编码的json格式字符串,格式如下表:id:用户id;un:用户username;dis:用户姓名显示;
(3)signature组成结构:base64(hmacsha256(based64(rawheader)+“.”+base64(rawpayload)+secretkey)),其中rawheader是上述中生成的header;rawpayload是上述中生成的payload;secretkey是生成aeskey的密码,由共享平台提供;
(4)验证与解密:
使用base64解码signature,通过secretkey验证,如果验证失败,则token失效。使用base64解码header,将得到的过期时间(expiry)和当前时间进行比较,如果已过期,则token失效;如果没有提供headertype,则token失效;使用base64解码,并使用aeskey进行解密,得到的数据前8byte和aespadding数据将被丢弃,返回剩余的数据json。各实验教学项目取得用户数据后,可自行进行保存。
验证返回码及说明:
code值说明:
0:验证成功;
26:token失效;
其他值:系统错误;
3、实验结果数据回传接口:
回传数据接口是指:“实验空间”用户完成实验教学项目后,所产生的实验结果数据,如果有实验报告,则先调用附件上传接口,然后再将这些数据和用户信息一起通过回传数据接口同步至“实验空间”。
(1)实验数据回传字典
序号、字段、字段名称、类型、备注;
1、username、用户名、string;
2、projecttitle、实验名称、string;
3、childprojecttitle、子实验名称、string、可选,适用于一个实验中包含多个子实验项目;
4、status、实验结果、int、1:完成;2:未完成;
5、score、实验成绩、int0-100、百分制;
6、startdate、实验开始时间、time、13位时间戳;
7、enddate、实验结束时间、time13位时间戳;
8、timeused、实验用时、int、分钟;
9、issuerid、接入平台编号、string、由“实验空间”分配给实验教学项目的编号;
10、attachmentid、实验报告(pdf、doc等)、int通过附件上传服务获取到的附件id;
(2)附件上传服务:
接口名称:http://ilab-x.com/project/log/attachment/upload;
调用方法:post;具体情况见下表中案例说明。
文件上传方法:chunk
发送url示例:http://ilab-x.com/project/log/attachment/uploadtotalchunks=totalchunks+¤t=+currentchunk+&filename=filename+&chunksize=size+&xjwt=xjwt(待定),
参数说明:totalchunks:总分片数;current:当前上传的分片数;filename:上传文件的名称;chunksize:分片大小,一般设置为1024*1024;xjwt:使用type=2body=sys生成的xjwt。
调用成功示例:{code:0,“id”:12}其中id为附件在服务器上的id,在上传成绩时,返回id。
调用失败示例:{code:其他值,“系统错误”}
(3)数据格式说明
username:用户名;
projecttitle:项目名称;
childprojecttitle:子项目名称;
status:1;
score:80;
startdate:1522646936000;
enddate:1522647936000;
timeused:15;
issuerid:pk1502;
attachmentid:12;
(4)数据发送接口地址:
接口名称:http://ilab-x.com/project/log/upload;
调用方法:post;具体情况见下面案例说明:
发送url示例:http://ilab-x.com/project/log/uploadxjwt=xjwt(待定),
参数说明:xjwt:使用type=2,body=之前一步生成的json数据,生成的xjwt,
调用成功示例:{code:0,msg:noerror};
调用失败示例:{code:其他值,“系统错误”}。
4实验操作状态回传接口:
此接口适用于用户从“实验空间”平台进入第三方实验平台开始做实验教学项目情况,当用户有操作时,第三方平台可调用此接口,完成实验操作状态的数据回传。
(1)实验操作状态回传数据字典:
序号、字段、字段名称、类型、备注
1、username、用户名、string;
2、issuerid、接入平台编号、string、由“实验空间”分配给各实验平台的唯一编号;
(2)数据发送接口地址:
接口名称:http://ilab-x.com/third/api/test/result/upload,
调用方法:post。具体情况见下面案例说明:
发送url示例:http://ilab-x.com/(待定)third/api/test/result/uploadxjwt=xjwt;
参数说明:xjwt:使用type=2;body=之前一步生成的json数据,生成的xjwt;
调用成功示例:{code:0,msg:noerror};
调用失败示例:{code:其他值,“系统错误”}
以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。