论文部分内容阅读
Web离线应用由于其在网络断开的情况下仍能为用户提供良好的服务而成为当今的一个热点研究问题。许多著名公司和机构相继在自己的产品上发布了离线应用版本,如谷歌公司的Gmail、Google Doc及Adobe公司的AIR等。目前的离线应用主要采用JavaScript脚本以插件形式实现,尽管其具有平台移植性强等特点,但仍存在着不支持服务器端和客户端的联合开发、不能实时监控网络状况等缺点,无法很好地满足实时性要求较高的在线虚拟实验平台的要求。针对虚拟实验环境下的离线应用需求,设计实现了支撑虚拟实验平台的离线机制VEOAS,以保证在网络断开的情况下仍然能够保存、运行虚拟实验平台上的实验,提供良好的离线服务。系统功能包括在网络断开后自动进行计时操作的计时模块;判断网络连通情况以决定从服务器或从本地获取实验数据的网络监测模块;提供对数据库的存储和访问、保存和获取实验数据的数据库访问模块;提供服务器和实验插件之间数据交换的数据交换层模块;保证网络恢复时提供最新实验数据至数据交换层的服务器端缓存管理模块。提出了Ajax异步监控网络的系统设计架构,解决了网络状态探测的实时性问题,并提供了实验数据传输对用户的透明性。采用服务器缓存技术保证TCP连接,在网络恢复后能根据用户session号主动发送最新的实验数据给客户端。运用时间戳标记实验数据重放时间,断网后根据实验数据的时间戳确定当前的实验数据,从而保证实验数据的近似正确性。系统测试与结果分析表明:虚拟实验平台的离线应用系统能在断网时保存及恢复实验数据、显示实验运行结果、能将最新的实验数据更新到服务器,服务器负载减轻10%以上,带宽需求不超过原来的90%。