一种面向多学科虚拟实验平台的XML增量传输与交互方法技术

技术编号:6801725 阅读:347 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向多学科虚拟实验平台的XML增量传输与交互方法,属于计算机应用领域。初始化时,服务端将初始场景XML数据缓存和写入磁盘,并建立缓存和文件索引。客户端检测用户的实验操作动作,并将实验命令以及增量的数据封装起来,发送到服务端。解析实验命令,如果是智能指导命令,根据增量数据和缓存的XML数据生成新的XML数据,更新缓存、磁盘文件以及相应的索引,并进行智能指导服务,如果是回退场景命令,根据回退次数和索引信息找到对应的虚拟实验场景XML文件,如果是其它命令,则从缓存中获取XML数据,并发送至相应的应用服务器。否则将服务端得到的处理结果发送至客户端。本发明专利技术可以减少虚拟实验交互过程中的数据传输量,保证整个实验过程的实时性。

【技术实现步骤摘要】

本专利技术属于计算机应用领域,具体涉及一种面向多学科虚拟实验平台的XML增量传输与交互方法,该方法适合于实时交互频繁且数据传输量大的虚拟实验环境,提出了一种新的虚拟实验前后台交互方法。
技术介绍
随着虚拟技术和网络技术的飞速发展,通过信息网络构建的虚拟实验室已经成为可能。虚拟实验教学可以为高校解决元器件不全,高档设备器件奇缺,实验管理困难等问题,同时也有利于学生的创新思维发展,提高学生实践能力,所以为学生提供一个实时和友好的虚拟实验环境越来越重要。XML(Extensible Markup Language)即可扩展标记语言,它与 HTML—样,都是 SGML (Standard Generalized Markup Language,标准通用标记语言)。XML 是 Internet 环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML语言有很好的开放性,通过XML,我们可以在不兼容的系统之间交换数据;更重要的是XML允许通过 HTTP、TCL/IP和其他传输协议交换数据;基于DOM (Document Object Model)的XML解析可以很容易对XML文档实现CRUD(Create、Read、Update and Delete)操作。XML的这些特性, 为虚拟实验前台客户端与后台建模仿真工具的数据通信提供了可靠的保障。多学科虚拟实验平台中,客户端的虚拟实验场景由XML描述组成,运行实验场景需要将前端XML场景发送到后台计算,由后台计算节点解析XML,并对场景仿真建模,求出计算结果。但是由于XML具有自我描述性,使得XML显得冗长,给数据的存储和传输带来极大的不便。一个虚拟实验场景XML文件有几百K的大小,与后台的每一次交互都需要传输大量数据,交互实时性降低。特别是在以下的应用场景时,这种数据传输造成的网络延迟问题将更加暴露无遗。 虚拟实验用户在做实验过程中,需要实时向后台请求智能指导,并及时返回指导信息。每当用户修改了实验场景时,智能指导需要前台发送完整的XML场景数据到后台。 特别当用户多且频繁修改场景时,这种大数据量的网络传输必然造成严重的网络延迟。 运行实验、保存实验和恢复实验等这些实验操作每次都需要向后台仿真计算节点传输的场景数据,而且一次实验过程中,这些操作会被多次使用,这种大数据量的传输引起的网络延迟必然会影响实验的交互实时性。由于XML数据自身的特点,决定了其数据冗余较大,由此造成了传输效率的降低。 针对这些问题,目前提出了许多基于XML数据的压缩技术,比如Xmill、XMLPPM、XMLZip, XPRESS和XGRIND等等。这些压缩方法都有很好的压缩率,可以大大减少网络传输的数据量,提高网络传输效率,但一个几百K大小的XML文件需要几百毫秒的压缩和解压缩的时间。尽管采用压缩技术可以很好地降低网络传输延迟,但却增加了额外的压缩与解压缩处理时间。虚拟实验过程中还存在一个问题,如果用户实验过程中希望回退到前几步的实验场景,可以采用把场景保存到数据库的方法,但这样写数据操作频繁,效率不高,且一次完整实验过程中无用场景数据过大,浪费大量空间。对于以上问题,我们发现虚拟实验的XML场景数据是主要由各种元器件以及之间的连接关系组成的,当修改虚拟实验场景时,可能仅仅是修改了场景中某个器件的属性值, 或者增加了一个新的元器件等等,而这些操作相当于在XML结构中,修改了末端节点的内容或者增加了一个新的节点。基于虚拟实验自身的这些特征,提出了一种XML增量传输与缓存的方式来解决XML数据过大导致网络延迟问题,并在服务端使用二级缓存方法,实现场景的回退功能。
技术实现思路
本专利技术的目的在于提供一种面向多学科虚拟实验平台的XML增量传输与交互方法,该方法可以减少虚拟实验交互过程中的数据传输量,保证整个实验过程的实时性。本专利技术提供的一种面向多学科虚拟实验平台的XML增量传输与交互方法,包括如下步骤(1)初始化客户端虚拟实验场景时,服务端将初始场景XML数据缓存,并根据连接值建立缓存地址索引;同时将XML数据写入磁盘,也根据连接值建立文件索引;(2)虚拟实验客户端检测用户的各种实验操作动作,并将用户的实验命令以及增量的数据封装起来,然后发送到服务端;(3)服务器接收到客户端发送来的数据后,解析数据得到实验命令、操作动作以及XML变动数据;根据解析出的实验命令,并判断是否为智能指导命令;如果是智能指导命令,转入步骤;如果不是智能指导命令,则转入步骤(5);所述智能指导是指根据用户搭建的实验场景智能地给出用户帮助信息,指导用户完成实验任务;(4)根据增量数据和缓存的XML数据生成新的XML数据,更新缓存、磁盘文件以及相应的索引,并进行智能指导服务,转入步骤(7);(5)判断实验命令是否为回退场景命令,如果是,则根据回退次数和索引信息找到对应的虚拟实验场景XML文件,转入步骤(7);如果不是,则跳转到步骤(6);所述回退场景是指将实验场景回退到若干次之前的状态;(6)对于虚拟实验的其它命令,则从缓存中获取XML数据,并发送至相应的应用服务器;(7)将服务端得到的处理结果发送至客户端。本专利技术为提高虚拟实验过程中交互的实时性,采用了一种基于XML的数据增量传输机制,大大减小了网络数据传输量,并缓存服务端的XML场景数据,提出一种新的虚拟实验实时交互方法。本专利技术具有以下几个特点(1)实时性好。采用一种基于事件响应的XML增量传输机制,当实验场景发生变化时,实时向后台发送增量数据。鉴于XML结构的特征,这种增量数据的传输往往只需要传输一个节点数据,或者更多的只是一个节点路径与属性值的数据,大大减少了网络传输的数据量,降低网络数据传输时间,具有很好的交互实时性。这种机制强调空间换取时间,以缓存数据达到减少网络传输时间的目的。(2)为后台仿真计算提供统一的接口,具有很好的扩展性和解耦性。将前台所有的仿真计算请求由服务端调度分发给后台仿真计算节点,降低了前台与后台仿真计算的耦合度。并且此交互模式可以应用到各种支持XML的仿真建模工具中,如Modelic^Matlab、 MateflotLabvei等等,适合多领域、多学科虚拟实验的统一建模,可扩展性强。(3) 一种新的虚拟实验前后台交互模式。传统的虚拟实验客户端需要与后台非结构化存储服务器、仿真计算服务器、Web服务器等等交互通信,实验交互的复杂度高,不易统一管理和维护。本方法中采用约定的通信协议,可以将前台各种服务请求(非结构化存储服务、Web服务、仿真计算服务等等)统一由服务端解析并转发给其它应用服务器处理,降低了实验交互的复杂度,拥有良好的可用性。(4)采用二级缓存实现场景回退。将有限步骤之内的XML数据从内存再缓存到磁盘,可以实现场景的回退,并采用连接监听回收机制,提高内存和磁盘空间有效利用率。当检测到连接断开时,通过缓存索引和文件索引可以迅速定位内存数据与磁盘文件,回收内存和磁盘空间,并更新索引。附图说明图1是本专利技术方法的总体流程图。图2是虚拟实验初始数据缓存流程图。图3是服务端解析并处理实验命令的流程图。图4是智能指导请求处理的流程图。具体实施例方式本专利技术根据XML结构特征以及虚拟实验特点,引入了一种面向多学科虚拟实验平台的XML本文档来自技高网
...

【技术保护点】
1.一种面向多学科虚拟实验平台的XML增量传输与交互方法,包括如下步骤:(1)初始化客户端虚拟实验场景时,服务端将初始场景XML数据缓存,并根据连接值建立缓存地址索引;同时将XML数据写入磁盘,也根据连接值建立文件索引;(2)虚拟实验客户端检测用户的各种实验操作动作,并将用户的实验命令以及增量的数据封装起来,然后发送到服务端;(3)服务器接收到客户端发送来的数据后,解析数据得到实验命令、操作动作以及XML变动数据;根据解析出的实验命令,并判断是否为智能指导命令;如果是智能指导命令,转入步骤(4);如果不是智能指导命令,则转入步骤(5);所述智能指导是指根据用户搭建的实验场景智能地给出用户帮助信息,指导用户完成实验任务;(4)根据增量数据和缓存的XML数据生成新的XML数据,更新缓存、磁盘文件以及相应的索引,并进行智能指导服务,转入步骤(7);(5)判断实验命令是否为回退场景命令,如果是,则根据回退次数和索引信息找到对应的虚拟实验场景XML文件,转入步骤(7);如果不是,则跳转到步骤(6);所述回退场景是指将实验场景回退到若干次之前的状态;(6)对于虚拟实验的其它命令,则从缓存中获取XML数据,并发送至相应的应用服务器;(7)将服务端得到的处理结果发送至客户端。...

【技术特征摘要】

【专利技术属性】
技术研发人员:金海蒋文斌董浩张磊刘超马潇王曙光童围
申请(专利权)人:华中科技大学
类型:发明
国别省市:83

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1