欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng)的制作方法

文檔序號(hào):7725782閱讀:215來源:國知局
專利名稱:一種虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)應(yīng)用領(lǐng)域,為B/S模式的系統(tǒng),針對(duì)虛擬實(shí)驗(yàn)平臺(tái),主要實(shí)現(xiàn)了一種在平臺(tái)上運(yùn)行離線應(yīng)用交互系統(tǒng),讓網(wǎng)絡(luò)狀況對(duì)于用戶來說是透明的,即用戶在做虛擬實(shí)驗(yàn)的過程中感受不到網(wǎng)絡(luò)的變化。
背景技術(shù)
在現(xiàn)代社會(huì)中,我們的學(xué)習(xí)和生活在很大程度上依賴互聯(lián)網(wǎng),我們通過網(wǎng)絡(luò)來獲得需要的信息。對(duì)于網(wǎng)絡(luò)獲取信息來說,重要的一點(diǎn)就是需要用戶實(shí)時(shí)在線,以便用戶能夠準(zhǔn)確及時(shí)地和服務(wù)器交互。下面介紹一下虛擬實(shí)驗(yàn)平臺(tái)的總體結(jié)構(gòu),虛擬實(shí)驗(yàn)平臺(tái)分為三個(gè)部分,分別是客戶端、服務(wù)器端、平臺(tái)數(shù)據(jù)庫。我們開發(fā)出的實(shí)驗(yàn)作為客戶端插件直接進(jìn)行加載,它包括私有交互接口和數(shù)據(jù)交換公共接口,私有交互接口提供私有數(shù)據(jù)存儲(chǔ)服務(wù),數(shù)據(jù)交換公共接口提供計(jì)算通信服務(wù)和存儲(chǔ)通信服務(wù);服務(wù)器端主要負(fù)責(zé)請(qǐng)求解析、任務(wù)調(diào)度和通信管理, 其中,通信管理包括仿真計(jì)算控制和實(shí)驗(yàn)數(shù)據(jù)處理兩個(gè)模塊;私有數(shù)據(jù)存儲(chǔ)服務(wù)和存儲(chǔ)通信服務(wù)通過平臺(tái)數(shù)據(jù)庫的標(biāo)準(zhǔn)數(shù)據(jù)存取訪問接口進(jìn)行數(shù)據(jù)的訪問;離線應(yīng)用位于客戶端應(yīng)用插件端、服務(wù)器端和本地,通過在本地開辟存儲(chǔ)區(qū)域來保證用戶在斷網(wǎng)的情況下系統(tǒng)正常工作。虛擬實(shí)驗(yàn)教學(xué)平臺(tái)要求在不穩(wěn)定的網(wǎng)絡(luò)環(huán)境當(dāng)中依然能夠工作,因此要求系統(tǒng)有良好的離線功能。所謂離線,指的是用戶能夠在沒有網(wǎng)絡(luò)的情況下仍然可以進(jìn)行工作,并且當(dāng)網(wǎng)絡(luò)環(huán)境恢復(fù)后,用戶之前進(jìn)行的操作能夠自動(dòng)地同步到服務(wù)器上。目前,離線應(yīng)用可以分為兩種,一種是桌面應(yīng)用,包括以Adobe A^框架來進(jìn)行封裝的和IBM Lotus Notes等,它主要突出的是本地?cái)?shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)的交互,目前比較流行的應(yīng)用包括TwhirKReadAir等;另一種則是近年來比較熱門的Web離線應(yīng)用,它的主要目的是使Web程序讓用戶對(duì)網(wǎng)絡(luò)透明,用戶在各項(xiàng)網(wǎng)絡(luò)資源在用戶不知道的情況下體驗(yàn)離線如在線的感覺。其中最具代表的為基于 Google Gears 的離線應(yīng)用,主要應(yīng)用有 Google Docs、Gmail、Google Reader 等。下面分別介紹兩種離線應(yīng)用的原理。桌面應(yīng)用以Adobe A^框架為例,A^離線程序包括本地SQLite數(shù)據(jù)庫、本地文件系統(tǒng)、網(wǎng)絡(luò)監(jiān)測器和本地控制程序四個(gè)部分,本地控制程序響應(yīng)網(wǎng)絡(luò)監(jiān)測器的結(jié)果,根據(jù)用戶狀態(tài)是否在線來判斷本地SQLite數(shù)據(jù)庫、本地文件系統(tǒng)是否需要進(jìn)行交互,如果離線,則將用戶的更新進(jìn)行本地保存,待網(wǎng)絡(luò)恢復(fù)時(shí)連接服務(wù)器,上傳保存的文件和數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行更新;Web應(yīng)用框架桌面應(yīng)用類似,除了本地 SQLite數(shù)據(jù)庫、本地文件系統(tǒng)、網(wǎng)絡(luò)監(jiān)測器之外,還有一個(gè)資源管理器和同步引擎,這是由 Web程序本身的特性決定的,由于Web程序的資源均在服務(wù)器上,如果網(wǎng)絡(luò)斷開,那么網(wǎng)絡(luò)的連接資源需要下載到本地,并且由本地資源模塊進(jìn)行管理,而同步引擎也和本地資源模塊進(jìn)行交互,獲得信息,和服務(wù)器的修改時(shí)間進(jìn)行比對(duì),將最新修改數(shù)據(jù)上傳到服務(wù)器。虛擬實(shí)驗(yàn)離線應(yīng)用需要一個(gè)本地客戶端直接對(duì)本地?cái)?shù)據(jù)庫進(jìn)行操作,基于這種情
4況,我們采用了 Google Gears框架來開發(fā),GoogleGears運(yùn)用了在本地的SQLite數(shù)據(jù)庫, 能夠輕松實(shí)現(xiàn)在本地對(duì)信息的存取。本文介紹的離線應(yīng)用,基于Google Gears框架。離線應(yīng)用在我們虛擬實(shí)驗(yàn)系統(tǒng)中,是非常有必要的,對(duì)于虛擬實(shí)驗(yàn)來說,最重要的體驗(yàn)就是實(shí)驗(yàn)操作過程的完整性,這和實(shí)驗(yàn)本身設(shè)計(jì)過程的嚴(yán)密性是同等重要的,網(wǎng)絡(luò)是一個(gè)不可測的平臺(tái),時(shí)常會(huì)有不穩(wěn)定和擁擠的可能,而做實(shí)驗(yàn)則需要一個(gè)穩(wěn)定的環(huán)境,所以,離線應(yīng)用成為了讓我們的系統(tǒng)能夠更穩(wěn)定運(yùn)行的必要條件。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),該系統(tǒng)是讓用戶在虛擬實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)時(shí),如果遇到短暫的網(wǎng)絡(luò)斷開或者網(wǎng)絡(luò)不穩(wěn)定的情況,仍然能夠正常運(yùn)行,顯示正確的實(shí)驗(yàn)結(jié)果,給用戶良好的體驗(yàn)。本發(fā)明提供的一種虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,該系統(tǒng)包括設(shè)置在客戶端的離線應(yīng)用插件和數(shù)據(jù)交換層插件,設(shè)置在服務(wù)器端的離線應(yīng)用緩存,設(shè)置在本地端的SQLite本地資源數(shù)據(jù)庫和離線應(yīng)用插件接口,離線應(yīng)用插件接口包括本地資源訪問接口和資源下載接口;數(shù)據(jù)交換層插件用于負(fù)責(zé)客戶端實(shí)驗(yàn)插件和服務(wù)器端的數(shù)據(jù)進(jìn)行交互,向?qū)嶒?yàn)插件發(fā)送實(shí)驗(yàn)場景數(shù)據(jù)、實(shí)驗(yàn)期間數(shù)據(jù)和實(shí)驗(yàn)結(jié)果數(shù)據(jù);接收實(shí)驗(yàn)插件發(fā)送的實(shí)驗(yàn)場景數(shù)據(jù)和實(shí)驗(yàn)操作數(shù)據(jù),通過網(wǎng)絡(luò)將實(shí)驗(yàn)數(shù)據(jù)發(fā)給仿真計(jì)算控制模塊,并且獲取仿真計(jì)算控制模塊產(chǎn)生的實(shí)驗(yàn)結(jié)果數(shù)據(jù),并且通過資源下載接口將數(shù)據(jù)存儲(chǔ)在SQLite本地資源數(shù)據(jù)庫;當(dāng)網(wǎng)絡(luò)斷開時(shí),數(shù)據(jù)交換層插件將獲得離線計(jì)時(shí)器的計(jì)時(shí)數(shù)據(jù),此時(shí),數(shù)據(jù)交換層插件通過本地資源訪問接口從SQLite本地資源數(shù)據(jù)庫獲得實(shí)驗(yàn)結(jié)果數(shù)據(jù);當(dāng)網(wǎng)絡(luò)恢復(fù)后,將從離線應(yīng)用緩存獲取最新的實(shí)驗(yàn)結(jié)果數(shù)據(jù);離線應(yīng)用插件包括網(wǎng)絡(luò)狀態(tài)監(jiān)視器和離線計(jì)時(shí)器,其中,網(wǎng)絡(luò)狀態(tài)監(jiān)視器負(fù)責(zé)監(jiān)控網(wǎng)絡(luò)狀態(tài),并將網(wǎng)絡(luò)實(shí)時(shí)狀態(tài)告知離線計(jì)時(shí)器;離線計(jì)時(shí)器在網(wǎng)絡(luò)斷開時(shí)啟動(dòng),并將計(jì)時(shí)數(shù)據(jù)告訴數(shù)據(jù)交換層插件;此時(shí),離線應(yīng)用插件和數(shù)據(jù)交換層插件交互,并將網(wǎng)絡(luò)斷開時(shí)的新數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層;SQLite本地資源數(shù)據(jù)庫提供實(shí)驗(yàn)數(shù)據(jù)給本地資源訪問接口和從資源下載接口獲取實(shí)驗(yàn)數(shù)據(jù);本地資源訪問接口從SQLite本地資源數(shù)據(jù)庫獲取實(shí)驗(yàn)數(shù)據(jù),將其發(fā)送給數(shù)據(jù)交換層插件;資源下載接口從數(shù)據(jù)交換層插件下載實(shí)驗(yàn)數(shù)據(jù)并且將其發(fā)送給SQLite本地資源數(shù)據(jù)庫;離線應(yīng)用緩存在網(wǎng)絡(luò)斷開時(shí)獲取仿真計(jì)算控制模塊計(jì)算的實(shí)驗(yàn)結(jié)果數(shù)據(jù),在網(wǎng)絡(luò)恢復(fù)時(shí),服務(wù)器端離線應(yīng)用緩存和數(shù)據(jù)交換層插件進(jìn)行交互,將實(shí)驗(yàn)結(jié)果數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層插件;仿真計(jì)算控制模塊在網(wǎng)絡(luò)斷開后隨即提供實(shí)驗(yàn)結(jié)果數(shù)據(jù)給離線應(yīng)用緩存。本發(fā)明針對(duì)的是在網(wǎng)絡(luò)短時(shí)間斷開和網(wǎng)絡(luò)抖動(dòng)的情況,當(dāng)這種情況超過離線計(jì)時(shí)器的初值時(shí),系統(tǒng)提示用戶網(wǎng)絡(luò)斷開,告知用戶選擇可選操作,如保存實(shí)驗(yàn)、退出實(shí)驗(yàn)等。本發(fā)明可以讓用戶在虛擬實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)時(shí),如果遇到短暫的網(wǎng)絡(luò)斷開或者網(wǎng)絡(luò)不穩(wěn)定的情況,仍然能夠正常運(yùn)行,顯示正確的實(shí)驗(yàn)結(jié)果,讓用戶能夠更加穩(wěn)定和通順地進(jìn)行實(shí)驗(yàn)。


圖1是虛擬實(shí)驗(yàn)平臺(tái)總體框架圖。圖2是虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用的總體流程圖。圖3是虛擬實(shí)驗(yàn)平臺(tái)網(wǎng)絡(luò)連通時(shí)客戶端離線應(yīng)用插件和數(shù)據(jù)交換層交互流程圖。圖4是虛擬實(shí)驗(yàn)平臺(tái)網(wǎng)絡(luò)斷開時(shí)本地端離線應(yīng)用插件和數(shù)據(jù)交換層交互的流程圖。圖5是虛擬實(shí)驗(yàn)平臺(tái)網(wǎng)絡(luò)連通時(shí)本地端離線應(yīng)用插件將新數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層的流程圖。圖6是虛擬實(shí)驗(yàn)平臺(tái)網(wǎng)絡(luò)恢復(fù)后數(shù)據(jù)交換層和服務(wù)器端離線應(yīng)用緩存進(jìn)行交互的流程圖。
具體實(shí)施例方式下面就附圖以及實(shí)例對(duì)整個(gè)虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng)做進(jìn)一步的分析。離線應(yīng)用在虛擬實(shí)驗(yàn)平臺(tái)上分別屬于三個(gè)部分,分別是客戶端、本地端和服務(wù)器??蛻舳税▽?shí)驗(yàn)插件1、離線應(yīng)用插件2和數(shù)據(jù)交換層插件3 ;本地端包括SQLite 本地資源數(shù)據(jù)庫4,本地資源訪問接口 5,資源下載接口 6 ;服務(wù)器端包括離線應(yīng)用緩存7,仿真計(jì)算控制模塊8。這里的客戶端指的是瀏覽器其中,設(shè)置在客戶端的離線應(yīng)用插件2和數(shù)據(jù)交換層插件3,設(shè)置在服務(wù)器端的離線應(yīng)用緩存7,設(shè)置在本地端的SQLite本地資源數(shù)據(jù)庫4和離線應(yīng)用插件接口(包括本地資源訪問接口 5和資源下載接口 6)。下面就系統(tǒng)的各部分的交互關(guān)系如下。實(shí)驗(yàn)插件1只和數(shù)據(jù)交換層插件3交互,向數(shù)據(jù)交換層插件3發(fā)送實(shí)驗(yàn)場景數(shù)據(jù)和實(shí)驗(yàn)操作數(shù)據(jù),從數(shù)據(jù)交換層插件3獲取實(shí)驗(yàn)場景數(shù)據(jù)、實(shí)驗(yàn)期間數(shù)據(jù)和實(shí)驗(yàn)結(jié)果數(shù)據(jù)。數(shù)據(jù)交換層插件3是客戶端的一個(gè)插件,負(fù)責(zé)客戶端實(shí)驗(yàn)插件和服務(wù)器端的數(shù)據(jù)進(jìn)行交互,在這里,客戶端離線應(yīng)用插件和數(shù)據(jù)交換層在一個(gè)層,所以,它們之間的數(shù)據(jù)交互通過函數(shù)調(diào)用的方法來實(shí)現(xiàn)。實(shí)驗(yàn)器件數(shù)據(jù)指的是每一個(gè)在場景中的器件,它們都有一個(gè)自己的信息,這些信息以XML的形式存在,器件的每一項(xiàng)信息都是一個(gè)標(biāo)簽,用XML表示的好處是因?yàn)樗哂锌缙脚_(tái)、可移植性強(qiáng)等特點(diǎn);實(shí)驗(yàn)場景數(shù)據(jù)指的是在實(shí)驗(yàn)面板上搭建的場景的信息,它除了包含實(shí)驗(yàn)器件信息之外,還包含了器件間的連接等關(guān)系;實(shí)驗(yàn)結(jié)果數(shù)據(jù)指的是在實(shí)驗(yàn)運(yùn)行過程中從服務(wù)器返回的數(shù)據(jù),實(shí)驗(yàn)插件1將獲得的實(shí)驗(yàn)結(jié)果數(shù)據(jù)進(jìn)行解析和顯示。離線應(yīng)用插件2包括網(wǎng)絡(luò)狀態(tài)監(jiān)視器21和離線計(jì)時(shí)器22,其中,網(wǎng)絡(luò)狀態(tài)監(jiān)視器 21負(fù)責(zé)監(jiān)控網(wǎng)絡(luò)狀態(tài),并將網(wǎng)絡(luò)實(shí)時(shí)狀態(tài)告知離線計(jì)時(shí)器22 ;離線計(jì)時(shí)器22在網(wǎng)絡(luò)斷開時(shí)啟動(dòng),并將計(jì)時(shí)數(shù)據(jù)告訴數(shù)據(jù)交換層插件3,此時(shí),離線應(yīng)用插件2和數(shù)據(jù)交換層插件3交互,并將網(wǎng)絡(luò)斷開時(shí)的新數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層。數(shù)據(jù)交換層插件3獲取實(shí)驗(yàn)插件1發(fā)送的實(shí)驗(yàn)數(shù)據(jù),通過網(wǎng)絡(luò)將實(shí)驗(yàn)數(shù)據(jù)發(fā)給仿真計(jì)算控制模塊8,并且獲取仿真計(jì)算控制模塊8 產(chǎn)生的實(shí)驗(yàn)結(jié)果數(shù)據(jù),并且通過資源下載接口 6將數(shù)據(jù)存儲(chǔ)在SQLite本地資源數(shù)據(jù)庫4 ;當(dāng)網(wǎng)絡(luò)斷開時(shí),數(shù)據(jù)交換層插件3將獲得離線計(jì)時(shí)器22的計(jì)時(shí)數(shù)據(jù),此時(shí),本地端離線應(yīng)用插件(即離線應(yīng)用本地端總稱)和數(shù)據(jù)交換層3交互。交互過程為,數(shù)據(jù)交換層插件3通過本地資源訪問接口 5從SQLite本地資源數(shù)據(jù)庫4獲得實(shí)驗(yàn)結(jié)果數(shù)據(jù);當(dāng)網(wǎng)絡(luò)恢復(fù)后,將從離線應(yīng)用緩存7獲取最新的實(shí)驗(yàn)結(jié)果數(shù)據(jù)。SQLite本地資源數(shù)據(jù)庫4提供實(shí)驗(yàn)數(shù)據(jù)給本地資源訪問接口 5和從資源下載接口 6獲取實(shí)驗(yàn)數(shù)據(jù)。本地資源訪問接口 5從SQLite本地資源數(shù)據(jù)庫4獲取實(shí)驗(yàn)數(shù)據(jù),將其發(fā)送給數(shù)據(jù)交換層插件3。資源下載接口 6從數(shù)據(jù)交換層插件3下載實(shí)驗(yàn)數(shù)據(jù)并且將其發(fā)送給SQLite本地資源數(shù)據(jù)庫4。離線應(yīng)用緩存7在網(wǎng)絡(luò)斷開時(shí)獲取仿真計(jì)算控制模塊8計(jì)算的實(shí)驗(yàn)結(jié)果數(shù)據(jù),在網(wǎng)絡(luò)恢復(fù)時(shí),服務(wù)器端離線應(yīng)用緩存7和數(shù)據(jù)交換層插件3進(jìn)行交互,將實(shí)驗(yàn)結(jié)果數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層插件。仿真計(jì)算控制模塊8在網(wǎng)絡(luò)斷開后隨即提供實(shí)驗(yàn)結(jié)果數(shù)據(jù)給離線應(yīng)用緩存7。整個(gè)離線應(yīng)用的運(yùn)行流程如下(1)實(shí)驗(yàn)初始化時(shí),客戶端離線應(yīng)用插件從客戶端數(shù)據(jù)交換層獲取實(shí)驗(yàn)器件信息和實(shí)驗(yàn)場景信息;(2)本地端離線應(yīng)用插件將實(shí)驗(yàn)場景和實(shí)驗(yàn)器件信息保存在本地?cái)?shù)據(jù)庫中。本地端離線應(yīng)用插件包括本地資源訪問接口、資源下載接口和本地?cái)?shù)據(jù)庫,本地?cái)?shù)據(jù)庫選擇的是SQLite數(shù)據(jù)庫。為了使本地端離線應(yīng)用插件和客戶端離線應(yīng)用插件之間要互相通信,該方法使用了開源的瀏覽器擴(kuò)展Google Gears的API,該插件提供了一系列能夠?qū)⒕W(wǎng)絡(luò)資源下載到本地并且保存的接口。本地端離線應(yīng)用插件通過資源下載接口將實(shí)驗(yàn)器件信息和實(shí)驗(yàn)場景信息保存在本地?cái)?shù)據(jù)庫。(3)如果用戶產(chǎn)生開始實(shí)驗(yàn)操作,則轉(zhuǎn)至步驟,如果沒有,則轉(zhuǎn)至步驟(3)。(4)離線應(yīng)用監(jiān)測網(wǎng)絡(luò)狀態(tài),如果網(wǎng)絡(luò)狀態(tài)良好,則轉(zhuǎn)至步驟(5),如果網(wǎng)絡(luò)狀態(tài)不好,則轉(zhuǎn)至步驟(9)。監(jiān)測網(wǎng)絡(luò)狀態(tài)是由客戶端離線應(yīng)用插件中的一部分,它是在網(wǎng)絡(luò)狀態(tài)監(jiān)視器模塊中,在啟動(dòng)離線應(yīng)用之后,該模塊也隨即啟動(dòng),并且在整個(gè)實(shí)驗(yàn)過程中,一直處于監(jiān)聽狀態(tài), 讓實(shí)時(shí)反饋網(wǎng)絡(luò)狀態(tài)。對(duì)于網(wǎng)絡(luò)狀態(tài)的定義,即網(wǎng)絡(luò)在一個(gè)足夠小的時(shí)間閾值(通常設(shè)定為5-15s)內(nèi), 是連通的,那么定義為網(wǎng)絡(luò)狀態(tài)良好,如果在一個(gè)足夠小的時(shí)間閾值內(nèi),是斷開的,那么定義為網(wǎng)絡(luò)狀態(tài)不好。(5)如果有新的實(shí)驗(yàn)數(shù)據(jù)產(chǎn)生,則轉(zhuǎn)至步驟(6),如果沒有新數(shù)據(jù),則轉(zhuǎn)至步驟 ⑶。網(wǎng)絡(luò)斷開時(shí)本地產(chǎn)生的新數(shù)據(jù)的定義分為兩個(gè)部分,一、如果用戶在網(wǎng)絡(luò)斷開時(shí)進(jìn)行實(shí)驗(yàn)保存等存儲(chǔ)實(shí)驗(yàn)信息的操作,此時(shí)存儲(chǔ)的數(shù)據(jù)即為新數(shù)據(jù),通常是實(shí)驗(yàn)場景數(shù)據(jù); 二、如果服務(wù)器端離線應(yīng)用緩存產(chǎn)生了新的數(shù)據(jù),即網(wǎng)絡(luò)在之前處于斷開狀態(tài),通常是實(shí)驗(yàn)
7結(jié)果數(shù)據(jù)。(6)本地端離線應(yīng)用插件將網(wǎng)絡(luò)斷開時(shí)的新數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層。這里新數(shù)據(jù)的定義是,如果在網(wǎng)絡(luò)斷開的時(shí)候,用戶進(jìn)行了保存實(shí)驗(yàn)場景等將數(shù)據(jù)保存在本地的操作,那么此時(shí)保存在本地的數(shù)據(jù)叫做新數(shù)據(jù)。具體發(fā)送過程如下。流程圖如圖5所示。(6. 1)檢查本地?cái)?shù)據(jù)更新狀態(tài)變量。(6. 2)如果變量值為true,則轉(zhuǎn)至步驟(6. 3),如果為false,則結(jié)束該過程。(6. 3)本地端資源訪問接口將數(shù)據(jù)取出發(fā)送給數(shù)據(jù)交換層。(7)數(shù)據(jù)交換層和服務(wù)器端離線應(yīng)用緩存進(jìn)行交互。轉(zhuǎn)至步驟(10)。這個(gè)步驟是發(fā)生在網(wǎng)絡(luò)斷開后再恢復(fù)的情況下,此時(shí),服務(wù)器計(jì)算出的實(shí)驗(yàn)結(jié)果數(shù)據(jù)均保存在服務(wù)器端離線應(yīng)用緩存中,所以,當(dāng)網(wǎng)絡(luò)恢復(fù)后,數(shù)據(jù)交換層需要和服務(wù)器端離線應(yīng)用緩存進(jìn)行交互,獲取最新的實(shí)驗(yàn)結(jié)果數(shù)據(jù)。如圖6所示,具體過程如下(7. 1)如果記錄離線應(yīng)用緩存數(shù)量的變量大于0,那么轉(zhuǎn)至步驟(7. 2),否則結(jié)束該過程。以上的變量的定義為離線應(yīng)用緩存已經(jīng)存儲(chǔ)實(shí)驗(yàn)數(shù)據(jù)的數(shù)量。(7. 2)服務(wù)器端離線應(yīng)用緩存取出待發(fā)送的實(shí)驗(yàn)數(shù)據(jù)。(7. 3)服務(wù)器發(fā)送該數(shù)據(jù)到數(shù)據(jù)交換層。(7. 4)數(shù)據(jù)交換層接收實(shí)驗(yàn)數(shù)據(jù)并進(jìn)行處理。(7. 5)記錄服務(wù)器端離線應(yīng)用緩存數(shù)量的變量進(jìn)行減一操作。轉(zhuǎn)至步驟(7. 1)。(8)客戶端離線應(yīng)用插件和數(shù)據(jù)交換層交互。轉(zhuǎn)至步驟(10)。這里的交互的內(nèi)容是從服務(wù)器傳回來的實(shí)驗(yàn)的中間結(jié)果數(shù)據(jù),它也是以XML的形式進(jìn)行傳輸,實(shí)驗(yàn)收到這個(gè)數(shù)據(jù),則會(huì)進(jìn)行XML解析和實(shí)驗(yàn)中間結(jié)果的顯示??蛻舳穗x線應(yīng)用插件和數(shù)據(jù)交換層交互的具體過程如下。流程圖如圖3所示。(8. 1)數(shù)據(jù)交換層獲得實(shí)驗(yàn)過程中的中間結(jié)果數(shù)據(jù)。(8. 2)客戶端離線應(yīng)用插件從數(shù)據(jù)交換層獲取數(shù)據(jù)。(8.3)如果用戶產(chǎn)生新的實(shí)驗(yàn)操作,則轉(zhuǎn)至步驟(8. 4),如果沒有,則轉(zhuǎn)至步驟 (8. 6)。這里的新的實(shí)驗(yàn)操作主要指的是保存實(shí)驗(yàn)場景、恢復(fù)實(shí)驗(yàn)場景、停止實(shí)驗(yàn)等,依照具體實(shí)驗(yàn)而定。(8. 4)數(shù)據(jù)交換層將產(chǎn)生的數(shù)據(jù)進(jìn)行發(fā)送。產(chǎn)生的數(shù)據(jù)為進(jìn)行新的實(shí)驗(yàn)操作之后的數(shù)據(jù)。(8. 5)數(shù)據(jù)交換層等待新的數(shù)據(jù)返回。轉(zhuǎn)至步驟(8. 1)。新的數(shù)據(jù)為服務(wù)器計(jì)算產(chǎn)生的新的數(shù)據(jù)。(8. 6)本地端離線應(yīng)用插件將數(shù)據(jù)進(jìn)行保存。進(jìn)行實(shí)驗(yàn)中間結(jié)果數(shù)據(jù)保存的工作依然是由本地的資源下載接口獲取,并且保存在SQLite本地資源數(shù)據(jù)庫。(9)本地端離線應(yīng)用插件和數(shù)據(jù)交換層交互。本地端離線應(yīng)用插件和數(shù)據(jù)交換層交互的具體過程如下。流程圖如圖4所示。(9. 1)客戶端離線應(yīng)用插件啟動(dòng)離線計(jì)時(shí)器。
該計(jì)時(shí)器是在網(wǎng)絡(luò)斷開時(shí)由客戶端離線應(yīng)用插件啟動(dòng)的,離線計(jì)時(shí)器初始值的大小根據(jù)不同的實(shí)驗(yàn)來確定。根據(jù)實(shí)驗(yàn)結(jié)果的返回的速度,實(shí)驗(yàn)的類型分為操作型實(shí)驗(yàn)、觀測型實(shí)驗(yàn)兩類。操作型實(shí)驗(yàn)是指用戶搭建該實(shí)驗(yàn)場景來解決其在該門課程中遇到的問題或者需要驗(yàn)證的實(shí)驗(yàn)結(jié)果;觀測型實(shí)驗(yàn)是指用戶加載已經(jīng)搭建好的實(shí)驗(yàn)場景來實(shí)現(xiàn)對(duì)一些實(shí)驗(yàn)現(xiàn)象的觀察和實(shí)驗(yàn)器件的認(rèn)知等;操作型實(shí)驗(yàn)的離線計(jì)時(shí)器初始值一般設(shè)定為15s-60s,觀測型實(shí)驗(yàn)的離線計(jì)時(shí)器一般設(shè)定為60-180S。(9. 2)通知本地端離線應(yīng)用插件網(wǎng)絡(luò)狀況。這里的通知網(wǎng)絡(luò)狀況的過程即啟動(dòng)本地端SQLite數(shù)據(jù)庫,并且將要進(jìn)行數(shù)據(jù)獲取的過程。(9. 3)數(shù)據(jù)交換層獲取本地端離線應(yīng)用插件的實(shí)驗(yàn)數(shù)據(jù)。本地端離線應(yīng)用插件的本地資源訪問接口從SQLite本地資源數(shù)據(jù)庫中獲取實(shí)驗(yàn)需要的結(jié)果數(shù)據(jù),這里的結(jié)果數(shù)據(jù)指的是在數(shù)據(jù)庫中保存的之前網(wǎng)絡(luò)狀態(tài)良好時(shí)的結(jié)果數(shù)據(jù),對(duì)實(shí)驗(yàn)顯示進(jìn)行模擬,主要目的是讓用戶感覺到實(shí)驗(yàn)還在繼續(xù)運(yùn)行。這里我們運(yùn)用了用戶對(duì)于實(shí)驗(yàn)結(jié)果比實(shí)驗(yàn)過程更加關(guān)心的原則,即能將實(shí)驗(yàn)最后正確的結(jié)果返回并保存。如果遇到對(duì)實(shí)驗(yàn)過程顯示的現(xiàn)象要求嚴(yán)格的實(shí)驗(yàn),我們會(huì)利用網(wǎng)絡(luò)斷開的時(shí)間, 提示用戶,由于網(wǎng)絡(luò)問題,現(xiàn)在的數(shù)據(jù)為陳舊數(shù)據(jù),過一個(gè)時(shí)間閾值將會(huì)進(jìn)行更新,并且在網(wǎng)絡(luò)連通好了之后,會(huì)將所有的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行保存,并自動(dòng)進(jìn)行實(shí)驗(yàn)現(xiàn)象的重新回放。(9. 4)如果用戶產(chǎn)生保存實(shí)驗(yàn)場景數(shù)據(jù)操作,則轉(zhuǎn)至步驟(9. 5),如果沒有,則轉(zhuǎn)至步驟(9. 6)。(9. 5)本地端離線應(yīng)用插件將實(shí)驗(yàn)場景進(jìn)行保存。這里同樣是+對(duì)實(shí)驗(yàn)場景進(jìn)行保存同樣是在本地的SQLite數(shù)據(jù)庫中。(9. 6)如果用戶產(chǎn)生恢復(fù)實(shí)驗(yàn)場景數(shù)據(jù)操作,則轉(zhuǎn)至步驟(9. 3),如果沒有,則轉(zhuǎn)至步驟(9. 7)。(9.7)如果離線計(jì)時(shí)器超過規(guī)定時(shí)長,則轉(zhuǎn)至步驟(9. 8),如果沒有,則轉(zhuǎn)至步驟 (9. 3)。離線計(jì)時(shí)器超過規(guī)定時(shí)長的定義是,客戶端離線應(yīng)用插件中的離線計(jì)時(shí)器有一個(gè)初始值,隨著網(wǎng)絡(luò)斷開,初始值逐漸遞減,當(dāng)值減為0時(shí),即定義為超過計(jì)時(shí)器規(guī)定時(shí)長。(9. 8)通知用戶網(wǎng)絡(luò)斷開。這個(gè)通知為客戶端離線應(yīng)用插件發(fā)出的,直接在實(shí)驗(yàn)上進(jìn)行顯示,提示用戶網(wǎng)絡(luò)斷開。(10)如果用戶產(chǎn)生結(jié)束實(shí)驗(yàn)的操作,那么結(jié)束實(shí)驗(yàn),整個(gè)離線應(yīng)用運(yùn)行結(jié)束,如果沒有,則轉(zhuǎn)至步驟G)。本領(lǐng)域技術(shù)人員應(yīng)該理解,以上所述僅為本發(fā)明的一個(gè)實(shí)例,并非用于聲明本發(fā)明的保護(hù)范圍,凡在本發(fā)明的原則之內(nèi)做的任何修改、改進(jìn)、等同替換等,均在本發(fā)明的保護(hù)之內(nèi)。
權(quán)利要求
1.一種虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,該系統(tǒng)包括設(shè)置在客戶端的離線應(yīng)用插件( 和數(shù)據(jù)交換層插件(3),設(shè)置在服務(wù)器端的離線應(yīng)用緩存(7),設(shè)置在本地端的SQLite本地資源數(shù)據(jù)庫(4)和離線應(yīng)用插件接口,離線應(yīng)用插件接口包括本地資源訪問接口 (5)和資源下載接口 (6);數(shù)據(jù)交換層插件C3)用于負(fù)責(zé)客戶端實(shí)驗(yàn)插件和服務(wù)器端的數(shù)據(jù)進(jìn)行交互,向?qū)嶒?yàn)插件(1)發(fā)送實(shí)驗(yàn)場景數(shù)據(jù)、實(shí)驗(yàn)期間數(shù)據(jù)和實(shí)驗(yàn)結(jié)果數(shù)據(jù);接收實(shí)驗(yàn)插件(1)發(fā)送的實(shí)驗(yàn)場景數(shù)據(jù)和實(shí)驗(yàn)操作數(shù)據(jù),通過網(wǎng)絡(luò)將實(shí)驗(yàn)數(shù)據(jù)發(fā)給仿真計(jì)算控制模塊(8),并且獲取仿真計(jì)算控制模塊(8)產(chǎn)生的實(shí)驗(yàn)結(jié)果數(shù)據(jù),并且通過資源下載接口(6)將數(shù)據(jù)存儲(chǔ)在SQLite本地資源數(shù)據(jù)庫;當(dāng)網(wǎng)絡(luò)斷開時(shí),數(shù)據(jù)交換層插件(3)將獲得離線計(jì)時(shí)器02)的計(jì)時(shí)數(shù)據(jù),此時(shí),數(shù)據(jù)交換層插件C3)通過本地資源訪問接口( 從SQLite本地資源數(shù)據(jù)庫(4) 獲得實(shí)驗(yàn)結(jié)果數(shù)據(jù);當(dāng)網(wǎng)絡(luò)恢復(fù)后,將從離線應(yīng)用緩存(7)獲取最新的實(shí)驗(yàn)結(jié)果數(shù)據(jù);離線應(yīng)用插件(2)包括網(wǎng)絡(luò)狀態(tài)監(jiān)視器和離線計(jì)時(shí)器(22),其中,網(wǎng)絡(luò)狀態(tài)監(jiān)視器負(fù)責(zé)監(jiān)控網(wǎng)絡(luò)狀態(tài),并將網(wǎng)絡(luò)實(shí)時(shí)狀態(tài)告知離線計(jì)時(shí)器02);離線計(jì)時(shí)器02)在網(wǎng)絡(luò)斷開時(shí)啟動(dòng),并將計(jì)時(shí)數(shù)據(jù)告訴數(shù)據(jù)交換層插件(3);此時(shí),離線應(yīng)用插件(2)和數(shù)據(jù)交換層插件(3)交互,并將網(wǎng)絡(luò)斷開時(shí)的新數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層;SQLite本地資源數(shù)據(jù)庫(4)提供實(shí)驗(yàn)數(shù)據(jù)給本地資源訪問接口( 和從資源下載接口(6)獲取實(shí)驗(yàn)數(shù)據(jù);本地資源訪問接口( 從SQLite本地資源數(shù)據(jù)庫(4)獲取實(shí)驗(yàn)數(shù)據(jù),將其發(fā)送給數(shù)據(jù)交換層插件(3);資源下載接口(6)從數(shù)據(jù)交換層插件C3)下載實(shí)驗(yàn)數(shù)據(jù)并且將其發(fā)送給SQLite本地資源數(shù)據(jù)庫⑷;離線應(yīng)用緩存(7)在網(wǎng)絡(luò)斷開時(shí)獲取仿真計(jì)算控制模塊(8)計(jì)算的實(shí)驗(yàn)結(jié)果數(shù)據(jù),在網(wǎng)絡(luò)恢復(fù)時(shí),服務(wù)器端離線應(yīng)用緩存(7)和數(shù)據(jù)交換層插件(3)進(jìn)行交互,將實(shí)驗(yàn)結(jié)果數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層插件;仿真計(jì)算控制模塊(8)在網(wǎng)絡(luò)斷開后隨即提供實(shí)驗(yàn)結(jié)果數(shù)據(jù)給離線應(yīng)用緩存(7)。
2.根據(jù)權(quán)利要求1所述的虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,本地端離線應(yīng)用插件按下述過程將網(wǎng)絡(luò)斷開時(shí)的新數(shù)據(jù)發(fā)送給數(shù)據(jù)交換層(al)檢查本地?cái)?shù)據(jù)更新狀態(tài)變量;(a2)如果變量值為true,則轉(zhuǎn)至步驟(a3),如果為false,則結(jié)束該過程; (a3)本地端資源訪問接口將數(shù)據(jù)取出發(fā)送給數(shù)據(jù)交換層。
3.根據(jù)權(quán)利要求1所述的虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,服務(wù)器端離線應(yīng)用緩存和數(shù)據(jù)交換層進(jìn)行交互的過程如下(bl)如果記錄離線應(yīng)用緩存數(shù)量的變量大于0,那么轉(zhuǎn)至步驟0^2),否則結(jié)束該過程; (b2)服務(wù)器端離線應(yīng)用緩存取出待發(fā)送的實(shí)驗(yàn)數(shù)據(jù); (b3)服務(wù)器發(fā)送該數(shù)據(jù)到數(shù)據(jù)交換層;(b4)數(shù)據(jù)交換層接收實(shí)驗(yàn)數(shù)據(jù)并調(diào)用實(shí)驗(yàn)插件的相關(guān)接口進(jìn)行實(shí)驗(yàn)數(shù)據(jù)的顯示和其余操作的處理;(b5)記錄服務(wù)器端離線應(yīng)用緩存數(shù)量的變量進(jìn)行減一操作,然后轉(zhuǎn)至步驟(bl)。
4.根據(jù)權(quán)利要求1所述的虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,離線應(yīng)用插件和數(shù)據(jù)交換層交互的具體過程如下(Cl)數(shù)據(jù)交換層獲得實(shí)驗(yàn)過程中的中間結(jié)果數(shù)據(jù); (c2)離線應(yīng)用插件從數(shù)據(jù)交換層獲取數(shù)據(jù);(c3)如果用戶產(chǎn)生新的實(shí)驗(yàn)操作,則轉(zhuǎn)至步驟(c4),如果沒有,則轉(zhuǎn)至步驟(c6);(c4)數(shù)據(jù)交換層將產(chǎn)生的數(shù)據(jù)進(jìn)行發(fā)送;(c5)數(shù)據(jù)交換層等待新的數(shù)據(jù)返回,然后轉(zhuǎn)至步驟(cl);(c6)本地端離線應(yīng)用插件將數(shù)據(jù)進(jìn)行保存。
5.根據(jù)權(quán)利要求1所述的虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,本地端離線應(yīng)用插件和數(shù)據(jù)交換層交互的過程為(dl)客戶端離線應(yīng)用插件啟動(dòng)計(jì)時(shí)器;(d2)通知本地端離線應(yīng)用插件網(wǎng)絡(luò)狀況;(d3)數(shù)據(jù)交換層獲取本地端離線應(yīng)用插件的實(shí)驗(yàn)數(shù)據(jù);(d4)如果用戶產(chǎn)生保存實(shí)驗(yàn)場景數(shù)據(jù)操作,則轉(zhuǎn)至步驟(d5),如果沒有,則轉(zhuǎn)至步驟 (d6);(d5)本地端離線應(yīng)用插件將實(shí)驗(yàn)場景進(jìn)行保存;(d6)如果用戶產(chǎn)生恢復(fù)實(shí)驗(yàn)場景數(shù)據(jù)操作,則轉(zhuǎn)至步驟(d3),如果沒有,則轉(zhuǎn)至步驟 (d7);(d7)如果離線計(jì)時(shí)器超過規(guī)定時(shí)長,則轉(zhuǎn)至步驟(d8),否則轉(zhuǎn)至步驟(d3); (d8)通知用戶網(wǎng)絡(luò)斷開。
6.根據(jù)權(quán)利要求1所述的虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,離線應(yīng)用插件( 和數(shù)據(jù)交換層插件C3)交互的過程為數(shù)據(jù)交換層插件C3)通過本地資源訪問接口 (5)從SQLite本地資源數(shù)據(jù)庫(4)獲得實(shí)驗(yàn)結(jié)果數(shù)據(jù);當(dāng)網(wǎng)絡(luò)恢復(fù)后,將從離線應(yīng)用緩存 (7)獲取最新的實(shí)驗(yàn)結(jié)果數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種虛擬實(shí)驗(yàn)平臺(tái)離線應(yīng)用交互系統(tǒng),其特征在于,該系統(tǒng)包括設(shè)置在客戶端的離線應(yīng)用插件和數(shù)據(jù)交換層插件,設(shè)置在服務(wù)器端的離線應(yīng)用緩存,設(shè)置在本地端的SQLite本地資源數(shù)據(jù)庫和離線應(yīng)用插件接口,離線應(yīng)用插件接口包括本地資源訪問接口和資源下載接口。是個(gè)發(fā)明針對(duì)的是在網(wǎng)絡(luò)短時(shí)間斷開和網(wǎng)絡(luò)抖動(dòng)的情況,在這種情況超過離線計(jì)時(shí)器的初值時(shí),提示用戶網(wǎng)絡(luò)斷開,告知用戶選擇可選操作,如保存實(shí)驗(yàn)、退出實(shí)驗(yàn)等。本發(fā)明可以讓用戶在虛擬實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)時(shí),如果遇到短暫的網(wǎng)絡(luò)斷開或者網(wǎng)絡(luò)不穩(wěn)定的情況,仍然能夠正常運(yùn)行,顯示正確的實(shí)驗(yàn)結(jié)果,讓用戶能夠更加穩(wěn)定和通順地進(jìn)行實(shí)驗(yàn)。
文檔編號(hào)H04L29/08GK102325159SQ201110199078
公開日2012年1月18日 申請(qǐng)日期2011年7月14日 優(yōu)先權(quán)日2011年7月14日
發(fā)明者劉超, 張磊, 王曙光, 童圍, 董浩, 蔣文斌, 金海 , 馬瀟 申請(qǐng)人:華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青州市| 盐山县| 富宁县| 拜泉县| 玉树县| 环江| 旬阳县| 修水县| 漯河市| 比如县| 宁都县| 图木舒克市| 天等县| 寿宁县| 昭苏县| 普陀区| 会东县| 基隆市| 德惠市| 安多县| 玛曲县| 忻城县| 虞城县| 宁化县| 敦煌市| 紫金县| 行唐县| 如东县| 武宣县| 缙云县| 庆云县| 夏邑县| 安化县| 尉犁县| 出国| 疏附县| 抚远县| 陕西省| 乃东县| 平凉市| 成武县|