[發(fā)明專利]一種基于FLEX的圖形數(shù)據(jù)客戶端緩存方法無效
| 申請?zhí)枺?/td> | 201110316660.7 | 申請日: | 2011-10-18 |
| 公開(公告)號: | CN102413170A | 公開(公告)日: | 2012-04-11 |
| 發(fā)明(設(shè)計(jì))人: | 康睿;蔣元晨;陳玉慧;劉嘉華;楊旭斌 | 申請(專利權(quán))人: | 國網(wǎng)電力科學(xué)研究院;南京南瑞集團(tuán)公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 南京知識律師事務(wù)所 32207 | 代理人: | 汪旭東 |
| 地址: | 210003 *** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 flex 圖形 數(shù)據(jù) 客戶端 緩存 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種B/S結(jié)構(gòu)系統(tǒng)下的數(shù)據(jù)緩存技術(shù),尤其是涉及一種基于FLEX的富客戶端圖形應(yīng)用的數(shù)據(jù)緩存方法。
背景技術(shù)
在傳統(tǒng)的FLEX圖形應(yīng)用中,客戶端從服務(wù)端讀取所有圖形渲染需要的數(shù)據(jù),在一般情況下,降低了邏輯的復(fù)雜性,減少開發(fā)難度。但是在本發(fā)明所處的應(yīng)用環(huán)境中,圖形渲染繪制用到的數(shù)據(jù)量大,每次都從服務(wù)端讀取會導(dǎo)致加載時間較長,并且加重網(wǎng)絡(luò)帶寬利用和服務(wù)器負(fù)擔(dān),而服務(wù)端存儲的圖形數(shù)據(jù)更新頻率并不高。本發(fā)明利用一種圖形數(shù)據(jù)的客戶端緩存技術(shù),減少客戶端和服務(wù)端的通信數(shù)據(jù)量,減少數(shù)據(jù)傳輸時間,降低服務(wù)器消耗。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對FLEX圖形應(yīng)用中服務(wù)端需要向客戶端傳輸大量圖形數(shù)據(jù)時,提出的一種客戶端緩存技術(shù)。客戶端請求圖形數(shù)據(jù)時附加本地緩存信息,服務(wù)端分析出客戶端緩存中沒有或者過時的圖形數(shù)據(jù),封裝好要返回給客戶端的數(shù)據(jù)后序列化為二進(jìn)制數(shù)據(jù)傳送到客戶端,客戶端反序列化后更新本地緩存,并使用最新的圖形數(shù)據(jù)進(jìn)行渲染繪制。
本發(fā)明中的數(shù)據(jù)結(jié)構(gòu)包括對渲染畫面和圖形數(shù)據(jù)的定義,渲染畫面和圖形數(shù)據(jù)都有唯一編號,渲染畫面包含一個或多個圖形數(shù)據(jù),數(shù)據(jù)庫中保存了每個圖形數(shù)據(jù)所屬的畫面編號、圖形渲染數(shù)據(jù)和最后更新時間。
本發(fā)明基于服務(wù)端的數(shù)據(jù)結(jié)構(gòu),在客戶端定義了緩存的數(shù)據(jù)結(jié)構(gòu),存儲圖形數(shù)據(jù)的唯一編號、渲染數(shù)據(jù)和最后更新時間,通過編號可以讀取渲染數(shù)據(jù)和最后更新時間。
本發(fā)明首先在客戶端遍歷所有的圖形緩存數(shù)據(jù),讀取唯一編號和最后更新時間,并加上需要渲染的畫面編號,進(jìn)行對象化封裝,使用AMF協(xié)議發(fā)送給服務(wù)端。
服務(wù)端將收到的二進(jìn)制數(shù)據(jù)進(jìn)行反序列化,得到渲染客戶端圖形緩存數(shù)據(jù)和畫面編號。從客戶端圖形緩存信息中解析出緩存的圖形數(shù)據(jù)編號和最后更新時間,此部分?jǐn)?shù)據(jù)定義為A,編號定義為A.id,最后更新時間定義為A.lastUpdateTime。從數(shù)據(jù)庫中查詢到該畫面包含的所有圖形數(shù)據(jù)編號以及這些圖形數(shù)據(jù)的最后更新時間,此部分?jǐn)?shù)據(jù)定義為B,編號定義為B.id,最后更新時間定義為B.lastUpdateTime。定義一個用于返回給客戶端的數(shù)據(jù)結(jié)構(gòu)C,包括編號C.id,是否使用緩存C.useCache,渲染數(shù)據(jù)C.ui,最后更新時間C.lastUpdateTime。遍歷B中的每一個B.id,如果存在A.id=B.id,則比較A.lastUpdateTime和B.lastUpdateTime,如果B.lastUpdateTime>A.lastUpdateTime,則在C中加入一條新數(shù)據(jù),值為:C.id=A.id,C.useCache=false,C.lastUpdateTime=B.lastUpdateTime;如果B.lastUpdateTime<=A.lastUpdateTime,則在C中加入一條新數(shù)據(jù),值為:C.id=A.id,C.useCache=true;如果沒有任何一個A.id與B.id相等,則在C中加入一條新數(shù)據(jù),值為:C.id=B.id,C.useCache=false,C.lastUpdateTime=B.lastUpdateTime。遍歷B完成后,遍歷C,對于C中每一條C.useCache=false的數(shù)據(jù),根據(jù)C.id從數(shù)據(jù)庫中查詢出渲染數(shù)據(jù),放入C.ui。服務(wù)端將C通過AMF協(xié)議傳送給客戶端。
客戶端通過反序列化操作得到C,遍歷C中每一條數(shù)據(jù),如果C.useCache=true,則從本地圖形緩存數(shù)據(jù)中讀出編號為C.id的圖形渲染數(shù)據(jù),放入C.ui;如果C.useCache=false,則將C.id、C.ui和C.lastUpdateTime存入圖形緩存數(shù)據(jù),如果已存在編號與C.id相等的緩存數(shù)據(jù),則先刪除該條數(shù)據(jù)再存入。
客戶端再次遍歷C,按順序?qū).ui進(jìn)行解析渲染,形成最終的渲染畫面。
附圖說明
圖1:本發(fā)明實(shí)施流程圖
圖2:本發(fā)明功能結(jié)構(gòu)圖
圖3:客戶端封裝的查詢參數(shù)
圖4:從數(shù)據(jù)庫中檢索出的圖形數(shù)據(jù)
圖5:對圖形緩存信息和數(shù)據(jù)庫記錄進(jìn)行比較
圖6:根據(jù)比較結(jié)果對返回?cái)?shù)據(jù)進(jìn)行的封裝
圖7:客戶端更新后的圖形緩存數(shù)據(jù)。
具體實(shí)施方式
以下結(jié)合附圖,舉一具體實(shí)例對本發(fā)明的客戶端緩存技術(shù)做進(jìn)一步說明。
圖1所示為實(shí)施流程圖,圖2為功能結(jié)構(gòu)圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國網(wǎng)電力科學(xué)研究院;南京南瑞集團(tuán)公司,未經(jīng)國網(wǎng)電力科學(xué)研究院;南京南瑞集團(tuán)公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110316660.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





