本發(fā)明涉及通信技術領域,尤其涉及一種數(shù)據(jù)處理方法和裝置。
背景技術:
虛擬仿真實訓系統(tǒng)是針對特定學科的真實課件內容進行3d數(shù)字內容的模擬開發(fā),并借助3d虛擬環(huán)境或3d立體顯示設備模擬該學科的訓練環(huán)境、條件和流程,高度仿真的訓練環(huán)境,使得用戶能夠獲得和真實世界中一樣或者相近的實訓體驗,達到替代或者部分替代實訓效果的作用,并使得用戶能夠獲得生動直觀的感性認識,增進對抽象的原理的理解。
現(xiàn)有的web嵌入式unity3d(unity3d是由unitytechnologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎)場景,由于unity3d場景自身內嵌于web的原因,其功能受到限制,并不能處理和存儲unity3d場景所產(chǎn)生的大量的交互數(shù)據(jù),而必須將這些數(shù)據(jù)提交到服務器后再由服務器進行相應的處理,這時,當由unity3d場景全權負責交互數(shù)據(jù)的處理和提交時,就會導致unity3d場景的內部邏輯過于復雜而導致運行效率低,還會因unity3d場景將所累積的大量交互數(shù)據(jù)一次性提交到服務器,從而導致帶寬堵塞,傳輸進程緩慢甚至失敗。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法和裝置,以解決現(xiàn)有web嵌入式unity3d場景中因unity3d場景所產(chǎn)生的大量交互數(shù)據(jù)而導致unity3d場景運行效率低,并且在unity3d場景向服務器提交數(shù)據(jù)時因數(shù)據(jù)量大而導致帶寬堵塞,傳輸進程緩慢甚者失敗的問題。
第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,所述方法包括:
當unity3d場景文件加載至瀏覽器時,瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間;
瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間;
瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器。
第二方面,本發(fā)明實施例提供了一種數(shù)據(jù)處理裝置,所述裝置包括
存儲空間劃分單元,用于當unity3d場景文件加載至瀏覽器時,由瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間;
數(shù)據(jù)儲存處理單元,用于由瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間;
數(shù)據(jù)傳輸單元,用于由瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器。
在本發(fā)明實施例中,通過數(shù)據(jù)處理裝置在當unity3d場景文件加載至瀏覽器時,由瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間;再由瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間;由瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器,通過瀏覽器所劃分的臨時存儲空間實現(xiàn)了將unity3d場景所產(chǎn)生的大量交互數(shù)據(jù)分類提交至服務器,減少了網(wǎng)絡傳輸?shù)木徛踔炼氯默F(xiàn)象,并提高數(shù)據(jù)傳輸?shù)恼_有效性。
附圖說明
圖1是本發(fā)明實施例提供的一種數(shù)據(jù)處理方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例提供的一種根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述
交互數(shù)據(jù)對應存儲至所述臨時存儲空間的方法的具體實現(xiàn)流程圖;
圖3是本發(fā)明實施例提供的一種通過瀏覽器前端實時顯示unity3d場景中
需要展示的操作數(shù)據(jù)的方法的具體實現(xiàn)流程圖;
圖4是本發(fā)明實施例提供的一種瀏覽器根據(jù)數(shù)據(jù)類別對應的優(yōu)先級將存儲
至臨時存儲空間的交互數(shù)據(jù)分別傳輸至服務器的方法的具體實現(xiàn)流程圖;
圖5是本發(fā)明實施例提供的一種刪除臨時存儲空間內的交互數(shù)據(jù)的方法的
具體實現(xiàn)流程圖;
圖6是本發(fā)明實施例提供的一種數(shù)據(jù)處理裝置的結構框圖。
具體實施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
應理解,在本發(fā)明各個實施例中,各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內在邏輯確定,而不應對本發(fā)明實施例的實施過程構成任何限定。
以下結合具體實施例對本發(fā)明的實現(xiàn)進行詳細描述:
圖1示出了本發(fā)明實施例提供的一種數(shù)據(jù)處理方法的實現(xiàn)流程,詳述如下:
在步驟s101中,當unity3d場景文件加載至瀏覽器時,瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間。
在本發(fā)明實施例中,unity3d場景文件為用戶進行機電一體化技能實訓虛擬仿真教學所需用的三維動畫場景文件,用戶通過在由該unity3d場景文件所生成的場景中進行虛擬實訓,使得用戶能夠獲得和真實世界中一樣或者相近的實訓體驗,達到替代或者部分替代實訓效果的作用,并使得用戶能夠獲得生動直觀的感性認識,增進對抽象的原理的理解。
在這里,瀏覽器檢測到用戶進入unity3d場景指令時,即unity3d場景文件加載至瀏覽器時,瀏覽器根據(jù)預設的配置文件中包括的數(shù)據(jù)類型相應的劃分瀏覽器的內存空間以作為臨時存儲空間,臨時存儲空間的數(shù)量根據(jù)該預設的配置文件中包括的數(shù)據(jù)類型的數(shù)量來確定,比如,該預設的配置文件中包括3種數(shù)據(jù)類型:安裝操作數(shù)據(jù)、測試操作數(shù)據(jù)和調試操作數(shù)據(jù),或者歷史操作數(shù)據(jù)、錯誤操作數(shù)據(jù)和關鍵操作數(shù)據(jù),那么對應的臨時存儲空間的數(shù)量就為3個。
具體地,臨時存儲空間具體為瀏覽器中用于臨時存儲由unity3d場景所傳送的交互數(shù)據(jù)的內存空間,當不需要再使用該內存空間進行交互數(shù)據(jù)的存放時,瀏覽器會將所劃分的臨時存儲空間刪除以釋放內存空間。
在步驟s102中,瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間。
在本發(fā)明實施例中,用戶在unity3d場景進行互動操作時,例如進行機電一體化的裝調實訓時,隨著時間的推移將產(chǎn)生大量的交互數(shù)據(jù)如接線操作數(shù)據(jù)、測試操作數(shù)據(jù)等,尤其是每個操作步驟的正確/錯誤信息的數(shù)據(jù)量就非常的大,而unity3d場景自身由于以網(wǎng)頁嵌入方式內嵌于瀏覽器的原因,功能受到限制,并不能處理和存儲這些數(shù)據(jù),這時,unity3d通過預先定義的接口函數(shù)將這些交互數(shù)據(jù)導出并發(fā)送至瀏覽器,例如利用承載player(媒體播放)控件api(applicationprogramminginterface應用程序編程接口),利用瀏覽器的處理能力對這些交互數(shù)據(jù)進行處理,以減輕unity3d場景的負擔,提高unity3d場景的運行流暢度。
在這里,從unity3d場景中導出的交互數(shù)據(jù)為unity3d不需要再使用到的操作數(shù)據(jù),這樣不僅可以提供unity3d場景的操作響應速度,而且減少了unity3d場景內大量累積的操作數(shù)據(jù),使得unity3d場景運行更加流暢。
在這里,由于不同瀏覽器所支持的數(shù)據(jù)格式不同,這時,瀏覽器將從unity3d場景中接收的交互數(shù)據(jù)以當前瀏覽器所支持的數(shù)據(jù)格式進行相應存儲,同時,因為unity3d場景中所產(chǎn)生的交互數(shù)據(jù)存在簡單或復雜的多種類型數(shù)據(jù),這里也相應地采取瀏覽器所支持的多種數(shù)據(jù)格式以將這些交互數(shù)據(jù)存儲至由瀏覽器所劃分的臨時存儲空間內,即不同臨時存儲空間根據(jù)不同交互數(shù)據(jù)的格式要求,采用瀏覽器存儲支持的相應數(shù)據(jù)格式對不同類別的交互數(shù)據(jù)進行相應存儲處理,例如,簡單結果信息采用純文本數(shù)據(jù)格式,歷史操作步驟數(shù)據(jù)采用json(javascriptobjectnotation,對象表示法,簡稱json)鍵值對數(shù)據(jù)格式,成績分析等格式復雜數(shù)據(jù)采用復合數(shù)據(jù)加json鍵值對復合數(shù)據(jù)格式,比如對于復雜成績分析數(shù)據(jù),采用多維數(shù)組集合加內層json對象形式進行管理,最外層數(shù)組用于存放格式為短整型無符號的數(shù)字指針,中層數(shù)組用于利用格式化字符串記錄子類別或類別字符信息,最內層json對象形式用于利用json格式以object形式存儲詳細成績分析數(shù)據(jù)。
在這里,瀏覽器從unity3d場景中接收的交互數(shù)據(jù)中包含數(shù)據(jù)類別標識,該數(shù)據(jù)類別標識用于確定瀏覽器所接收的交互數(shù)據(jù)所屬的數(shù)據(jù)類型,以便于可以根據(jù)該數(shù)據(jù)類型對瀏覽器所接收的交互數(shù)據(jù)進行對應分類后,再將分類后的交互數(shù)據(jù)對應存儲至所劃分臨時存儲空間。
具體地,所述臨時存儲空間設有與所述數(shù)據(jù)類別對應的關鍵標識指針,所述數(shù)據(jù)類別所屬的所述臨時存儲空間為根據(jù)所述關鍵標識指針確定的與所述數(shù)據(jù)類別對應的所述臨時存儲空間。例如,所劃分的臨時存儲空間有3個,依次設有0、1、2的關鍵標識指針,其中,關鍵標識指針為0對應的數(shù)據(jù)類別為歷史操作記錄數(shù)據(jù),關鍵標識指針為1對應的數(shù)據(jù)類別為錯誤操作記錄數(shù)據(jù),關鍵標識指針為2對應的數(shù)據(jù)類別為關鍵操作記錄數(shù)據(jù),那么對應的,在關鍵標識為0的臨時存儲空間內所存儲的數(shù)據(jù)為歷史操作記錄數(shù)據(jù),在關鍵標識為1的臨時存儲空間內所存儲的數(shù)據(jù)為錯誤操作記錄數(shù)據(jù),在關鍵標識為2的臨時存儲空間內所存儲的數(shù)據(jù)為關鍵操作記錄數(shù)據(jù)。在這里,數(shù)據(jù)類別也可以理解為操作步驟范圍,屬于同一操作步驟范圍內的數(shù)據(jù)歸為一類數(shù)據(jù),例如,同為裝配的操作步驟范圍內的操作數(shù)據(jù),為裝配操作數(shù)據(jù)。
具體地,所述交互數(shù)據(jù)中包含數(shù)據(jù)類別標識;步驟s102中根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)對應存儲至所述臨時存儲空間的具體實現(xiàn)流程如圖2所示:
在步驟s201中,瀏覽器根據(jù)所述交互數(shù)據(jù)中包含的數(shù)據(jù)類別標識,確定所述交互數(shù)據(jù)對應的數(shù)據(jù)類別。
在步驟s202中,瀏覽器根據(jù)所述數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類,按順序將分類后的所述交互數(shù)據(jù)分別存儲至所述數(shù)據(jù)類別所屬的所述臨時存儲空間。
在本發(fā)明實施例中,在瀏覽器根據(jù)數(shù)據(jù)類別將交互數(shù)據(jù)進行分類后,按照交互數(shù)據(jù)所接收的數(shù)據(jù)類別的先后順序或者按照關鍵標識指針的預設順序將分類后的交互數(shù)據(jù)分別存儲至該交互數(shù)據(jù)的數(shù)據(jù)類別所屬的臨時存儲空間中。例如,瀏覽器所接收的交互數(shù)據(jù)的數(shù)據(jù)類別的先后順序為錯誤操作記錄數(shù)據(jù),關鍵操作記錄數(shù)據(jù)、歷史操作記錄數(shù)據(jù),那么瀏覽器就依次將錯誤操作記錄數(shù)據(jù),關鍵操作記錄數(shù)據(jù)、歷史操作記錄數(shù)據(jù)存儲到這些數(shù)據(jù)類別所對應的臨時存儲空間?;蛘?,按照關鍵標識指針的預設順序:歷史操作記錄數(shù)據(jù)、錯誤操作記錄數(shù)據(jù),關鍵操作記錄數(shù)據(jù),分別將具有對應關鍵標識指針的交互數(shù)據(jù)對應存儲該關鍵標識指針對應的臨時存儲空間。
具體地,在這里,交互數(shù)據(jù)中包含有操作步驟范圍、目標設備和/或目標零件、操作數(shù)據(jù)和/或結果數(shù)據(jù)?;趙ebkit、gecko、chakra的瀏覽器(如charome、firefox、edge),具有強大的javascript處理能力和自身存儲特性,在這里,利用瀏覽器的這一特性,將unity3d場景所產(chǎn)生的交互數(shù)據(jù)進行分類存儲及實時展示處理。在步驟s102之后,還包括通過瀏覽器前端實時顯示unity3d場景中需要展示的操作數(shù)據(jù)的步驟,具體實現(xiàn)流程如圖3所示:
在步驟301中,瀏覽器檢測是否接收到由unity3d場景傳送的實時展示指令;所述實時展示指令包括操作數(shù)據(jù)標識。
在本發(fā)明實施例中,實時展示指令為根據(jù)預先設定的指令集或者根據(jù)對應的配置文件如xml、json、普通文件txt所配置的指令。unity3d場景實時檢測用戶是否觸發(fā)配置在unity3d場景文件中的實時展示指令,如果用戶觸發(fā)了配置在unity3d場景文件中的實時展示指令,unity3d場景將該實時展示指令傳送至瀏覽器,以便于瀏覽器可以根據(jù)該實時展示指令進行相應處理。
在步驟302中,當接收到由unity3d場景傳送的實時展示指令時,瀏覽器根據(jù)所述實時展示指令,將所述操作數(shù)據(jù)標識對應的所述操作數(shù)據(jù)展現(xiàn)在瀏覽器的預設頁面區(qū)域。
在本發(fā)明實施例中,瀏覽器在接收到unity3d場景傳送的實時展示指令后,利用html標簽動態(tài)地將該實時展示指令所對應的操作數(shù)據(jù)添加到瀏覽器的指定頁面區(qū)域中以顯示給對應的用戶,以便于用戶在使用unity3d場景進行技能實訓模擬時,可以精確掌握或者查看自己當前每一步操作所帶來的效果,進一步提高用戶的實訓體驗,提升實訓效果。
在步驟s103中,瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器。
在本發(fā)明實施例中,用戶在unity3d場景中每一次所進行的操作步驟中所產(chǎn)生的交互數(shù)據(jù)中的操作數(shù)據(jù),包括但不限于當前步驟的步驟名、執(zhí)行用戶、步驟序列號(也成為步驟id,可以根據(jù)該步驟id確定對應的操作數(shù)據(jù)或者步驟范圍),該操作數(shù)據(jù)中還包括錯誤次數(shù)或正確次數(shù)等相關數(shù)據(jù)。
在這里,分類后的交互數(shù)據(jù)根據(jù)其預設的優(yōu)先級或者重要程度具有不同的傳輸順序及傳輸方法。具體地,瀏覽器根據(jù)數(shù)據(jù)類別對應的優(yōu)先級將存儲至臨時存儲空間的交互數(shù)據(jù)分別傳輸至服務器的具體實現(xiàn)流程如圖4所示:
在步驟s401中,瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級對存儲至所述臨時存儲空間的所述交互數(shù)據(jù)從高到低進行排序。
在本發(fā)明實施例中,對存儲至所述臨時存儲空間的所述交互數(shù)據(jù)從高到低進行排序,實際上也可以說是對臨時存儲空間內的交互數(shù)據(jù)的傳輸順序,即優(yōu)先傳輸哪個臨時存儲空間內的交互數(shù)據(jù),在這里,瀏覽器根據(jù)數(shù)據(jù)類別對應的優(yōu)先級對臨時存儲空間進行排序。比如,優(yōu)先級最高的為關鍵標識指針為0所屬的數(shù)據(jù)類別,那么,對應的,關鍵標識指針為0的臨時存儲空間內的數(shù)據(jù)優(yōu)先傳輸。
在這里,因為瀏覽器的內存空間是由系統(tǒng)預先分配好的,具有存儲容量限制,因此并不能大量地存儲數(shù)據(jù),特別是unity3d場景所產(chǎn)生的交互數(shù)據(jù)的數(shù)據(jù)量非常大,因此,儲存在臨時存儲空間內的交互數(shù)據(jù)并不是一直保存在瀏覽器中,而必須在該臨時存儲空間內存儲的數(shù)據(jù)量達到預設存儲閾值時,或者臨時存儲空間不足時,將存儲在該臨時存儲空間內的交互數(shù)據(jù)傳輸?shù)椒掌?,由服務器進行相應的處理。
在步驟s402中,瀏覽器根據(jù)同步傳輸規(guī)則將具有最高優(yōu)先級的所述交互數(shù)據(jù)實時傳輸至服務器。
在本發(fā)明實施例中,具有最高優(yōu)先級的交互數(shù)據(jù),采用同步傳輸并鎖定瀏覽器提交方式以保證這部分交互數(shù)據(jù)可以優(yōu)先到達服務器進行保存,因為其他不具有最高優(yōu)先級的交互數(shù)據(jù)是在具有最高優(yōu)先級的交互數(shù)據(jù)的基礎上產(chǎn)生或者進行相應處理,優(yōu)先將該具有最高優(yōu)先級的交互數(shù)據(jù)傳輸至服務器,以便于服務器可以進行相應的處理,可以保證數(shù)據(jù)的正確性及有效性,提高了實訓的效率及正確率。
在這里,具有最高優(yōu)先級的交互數(shù)據(jù)可以在分類存儲至臨時存儲空間后就傳輸至服務器,也可以在該交互數(shù)據(jù)達到臨時存儲空間的預設存儲閾值時再傳輸至服務器。在交互數(shù)據(jù)未根據(jù)數(shù)據(jù)類別進行分類時,所有的交互數(shù)據(jù)均保留在瀏覽器進行相應處理,并不與服務器進行交互,當瀏覽器將交互數(shù)據(jù)進行分類后才將分類的交互數(shù)據(jù)傳輸至服務器。
在步驟s403中,瀏覽器根據(jù)異步傳輸規(guī)則將不具有最高優(yōu)先級的所述交互數(shù)據(jù)按預設存儲規(guī)則自由傳輸至服務器。
在本發(fā)明實施例中,預設存儲規(guī)則為臨時存儲空間的內存空間不足以存放下一交互數(shù)據(jù)或者臨時存儲空間內的交互數(shù)據(jù)達到預設存儲閾值時,觸發(fā)異步傳輸規(guī)則以使得交互數(shù)據(jù)傳輸至服務器。
在這里,為了保證數(shù)據(jù)有序有效地傳輸至服務器,減少數(shù)據(jù)堵塞的情況,在瀏覽器對交互數(shù)據(jù)進行分類后,瀏覽器對臨時存儲空間內存儲的交互數(shù)據(jù)所占用的內存空間進行實時監(jiān)控,在交互數(shù)據(jù)所占用的內存空間達到預設存儲空間時,或者臨時存儲空間不足以存儲下一交互數(shù)據(jù)時,觸發(fā)異步傳輸規(guī)則將該臨時存儲空間內的交互數(shù)據(jù)傳輸至服務器,由服務器進行相應的處理。
在這里,為了避免不具有最高優(yōu)先級的交互數(shù)據(jù)在由瀏覽器到服務器的傳輸過程中因數(shù)據(jù)過多導致傳輸緩慢甚至堵塞的情況,瀏覽器先將臨時存儲空間內包含的步驟序列號提交至服務器進行確認后,根據(jù)服務器保存的結果進行自由異步提交,加快了不具有最高優(yōu)先級的交互數(shù)據(jù)的傳輸效率,提高了用戶的實訓體驗。
在這里,為了能夠及時地對從unity3d場景所產(chǎn)生的交互數(shù)據(jù)進行分類處理,有效地利用瀏覽器器的內存空間,在步驟103之后,還包括如圖5所示的刪除臨時存儲空間內的交互數(shù)據(jù)的具體實現(xiàn)流程:
在步驟s501中,瀏覽器確定存儲至所述臨時存儲空間的所述交互數(shù)據(jù)是否已傳輸至服務器。
在本發(fā)明實施例中,為了出現(xiàn)數(shù)據(jù)漏發(fā)或者漏包的情況,在瀏覽器將交互數(shù)據(jù)發(fā)送出去之后,還要檢測是否接收到由服務器發(fā)送的傳輸反饋消息,根據(jù)該傳輸反饋信息確定這些交互數(shù)據(jù)是否已經(jīng)傳輸至服務器,如果這些交互數(shù)據(jù)沒有傳輸至服務器,瀏覽器將重新發(fā)送這些交互數(shù)據(jù)以保證數(shù)據(jù)能夠正確有效地傳輸至服務器。
在步驟s502中,當存儲至所述臨時存儲空間的所述交互數(shù)據(jù)已傳輸至服務器時,瀏覽器刪除所述臨時存儲空間內的所述交互數(shù)據(jù)。
在本發(fā)明實施例中,當這些交互數(shù)據(jù)確定已傳輸至服務器時,為了使得瀏覽器能夠繼續(xù)存儲由unity3d場景所產(chǎn)生的交互數(shù)據(jù),有效地進行數(shù)據(jù)分類處理,瀏覽器將已經(jīng)成功傳輸至服務器的交互數(shù)據(jù)進行刪除處理,以釋放瀏覽器的內存空間。
在本發(fā)明實施例中,通過在當unity3d場景文件加載至瀏覽器時,由瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間;再由瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間;由瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器,通過瀏覽器所劃分的臨時存儲空間實現(xiàn)了將unity3d場景所產(chǎn)生的大量交互數(shù)據(jù)分類提交至服務器,減少了網(wǎng)絡傳輸?shù)木徛踔炼氯默F(xiàn)象,并提高數(shù)據(jù)傳輸?shù)恼_有效性。
并且,本發(fā)明實施例充分利用了瀏覽器的資源特性,減輕了unity3d場景的負擔,使得unity3d場景運行更加流暢,響應速度更快。而且由于瀏覽器已將數(shù)據(jù)進行分類處理,使得服務器響應瀏覽器的傳輸請求的時間更短,并且服務器的內存和cpu的使用率更低,從而使得服務器的響應速度更快,unity3d場景的運行更加流暢。
本領域普通技術人員可以理解實現(xiàn)上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于一計算機可讀取存儲介質中,上述的存儲介質,如rom/ram、磁盤或光盤等。
圖6示出了本發(fā)明實施例提供的一種數(shù)據(jù)處理裝置7的具體結構框圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。
本發(fā)明實施例提供的一種數(shù)據(jù)處理裝置6,包括存儲空間劃分單元61、數(shù)據(jù)儲存處理單元62和數(shù)據(jù)傳輸單元63;
其中,存儲空間劃分單元61,用于當unity3d場景文件加載至瀏覽器時,由瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間;
數(shù)據(jù)儲存處理單元62,用于由瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間;
數(shù)據(jù)傳輸單元63,用于由瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器。
進一步地,所述交互數(shù)據(jù)中包含數(shù)據(jù)類別標識;所述數(shù)據(jù)處理單元包括數(shù)據(jù)類別確定子單元和數(shù)據(jù)存儲處理子單元;
其中,數(shù)據(jù)類別確定子單元,用于由瀏覽器根據(jù)所述交互數(shù)據(jù)中包含的數(shù)據(jù)類別標識,確定所述交互數(shù)據(jù)對應的數(shù)據(jù)類別;
數(shù)據(jù)存儲處理子單元,用于由瀏覽器根據(jù)所述數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類,按順序將分類后的所述交互數(shù)據(jù)分別存儲至所述數(shù)據(jù)類別所屬的所述臨時存儲空間。
進一步地,所述交互數(shù)據(jù)包括操作數(shù)據(jù)和結果數(shù)據(jù);所述裝置還包括展示指令檢測單元和展示指令處理單元;
其中,展示指令檢測單元,用于由瀏覽器檢測是否接收到由unity3d場景傳送的實時展示指令;所述實時展示指令包括操作數(shù)據(jù)標識;
展示指令處理單元,用于當接收到由unity3d場景傳送的實時展示指令時,由瀏覽器根據(jù)所述實時展示指令,將所述操作數(shù)據(jù)標識對應的所述操作數(shù)據(jù)展現(xiàn)在瀏覽器的預設頁面區(qū)域。
進一步地,所述臨時存儲空間設有與所述數(shù)據(jù)類別對應的關鍵標識指針,所述數(shù)據(jù)類別所屬的所述臨時存儲空間為根據(jù)所述關鍵標識指針確定的與所述數(shù)據(jù)類別對應的所述臨時存儲空間。
進一步地,所述數(shù)據(jù)傳輸單元63,包括優(yōu)先級排序子單元、第一數(shù)據(jù)傳輸子單元和第二數(shù)據(jù)傳輸子單元;
其中,優(yōu)先級排序子單元,用于由瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級對存儲至所述臨時存儲空間的所述交互數(shù)據(jù)從高到低進行排序;
第一數(shù)據(jù)傳輸子單元,用于由瀏覽器根據(jù)同步傳輸規(guī)則將具有最高優(yōu)先級的所述交互數(shù)據(jù)實時傳輸至服務器;
第二數(shù)據(jù)傳輸子單元,用于由瀏覽器根據(jù)異步傳輸規(guī)則將不具有最高優(yōu)先級的所述交互數(shù)據(jù)按預設存儲規(guī)則自由傳輸至服務器。
進一步地,所述裝置還包括傳輸結果確定單元和數(shù)據(jù)刪除處理單元;
其中,傳輸結果確定單元,用于由瀏覽器確定存儲至所述臨時存儲空間的所述交互數(shù)據(jù)是否已傳輸至服務器;
數(shù)據(jù)刪除處理單元,用于當存儲至所述臨時存儲空間的所述交互數(shù)據(jù)已傳輸至服務器時,由瀏覽器刪除所述臨時存儲空間內的所述交互數(shù)據(jù)。
在本發(fā)明實施例中,通過數(shù)據(jù)處理裝置在當unity3d場景文件加載至瀏覽器時,由瀏覽器根據(jù)預設的配置文件將瀏覽器的內存空間劃分為若干個臨時存儲空間;再由瀏覽器接收用戶與unity3d場景所產(chǎn)生的交互數(shù)據(jù),根據(jù)所述交互數(shù)據(jù)對應的數(shù)據(jù)類別將所述交互數(shù)據(jù)進行分類后分別存儲至所述臨時存儲空間;由瀏覽器根據(jù)所述數(shù)據(jù)類別對應的優(yōu)先級將存儲至所述臨時存儲空間的所述交互數(shù)據(jù)分別傳輸至服務器,通過瀏覽器所劃分的臨時存儲空間實現(xiàn)了將unity3d場景所產(chǎn)生的大量交互數(shù)據(jù)分類提交至服務器,減少了網(wǎng)絡傳輸?shù)木徛踔炼氯默F(xiàn)象,并提高數(shù)據(jù)傳輸?shù)恼_有效性。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同裝置來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置和單元的具體工作過程,可以參考前述裝置實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,上述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
上述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
上述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例上述裝置的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上上述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到狀態(tài)或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應上述以權利要求的保護范圍為準。