[發(fā)明專利]一種面向WFS服務(wù)的空間查詢結(jié)果緩存方法有效
| 申請?zhí)枺?/td> | 201710846710.X | 申請日: | 2017-09-19 |
| 公開(公告)號: | CN107622115B | 公開(公告)日: | 2019-11-26 |
| 發(fā)明(設(shè)計)人: | 邵改革;龍燕軍;楊曦;賀楷鍇;劉琳;尹心亮;舒邦杰 | 申請(專利權(quán))人: | 武大吉奧信息技術(shù)有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/2455;G06F16/29 |
| 代理公司: | 11241 北京雙收知識產(chǎn)權(quán)代理有限公司 | 代理人: | 曾曉芒<國際申請>=<國際公布>=<進(jìn)入 |
| 地址: | 430223 湖北省武漢*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 wfs 服務(wù) 空間 查詢 結(jié)果 緩存 方法 | ||
本發(fā)明適用于緩存技術(shù)領(lǐng)域,提供一種面向WFS服務(wù)的空間查詢結(jié)果緩存方法,本發(fā)明建立一級緩存和二級緩存,并公開了空間數(shù)據(jù)查詢的具體緩存流程,這里一級緩存為粗粒度,對應(yīng)查詢結(jié)果的整體輸出;二級緩存為細(xì)粒度,對應(yīng)查詢的單個記錄對象,與數(shù)據(jù)庫每條記錄同等粒度;二級緩存與數(shù)據(jù)庫記錄對應(yīng),并保持與數(shù)據(jù)庫的同步。緩存機制需要維護(hù)一級緩存和二級緩存之間的關(guān)系,當(dāng)一級緩存需要重新生成時,由二級緩存直接生成;二級緩存失效時,由數(shù)據(jù)庫中原始數(shù)據(jù)生成,并及時更新影響到的一級緩存對象。本發(fā)明方空間數(shù)據(jù)查詢結(jié)果分級緩存的方式有效減少重復(fù)對象化和格式化過程,提高了緩存的利用率,壓縮查詢結(jié)果輸出的響應(yīng)時間。
技術(shù)領(lǐng)域
本發(fā)明屬于緩存技術(shù)領(lǐng)域,尤其涉及一種面向WFS服務(wù)的空間查詢結(jié)果緩存方法。
背景技術(shù)
隨著測繪地理信息行業(yè)的飛速發(fā)展,用于描述地理空間實體的位置、形狀、大小等信息的空間數(shù)據(jù)被越來越多的數(shù)據(jù)庫生產(chǎn)廠商支持。空間數(shù)據(jù)往往是以復(fù)合對象或按某種規(guī)則編碼的塊存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫提供擴展的空間數(shù)據(jù)操作函數(shù),以滿足用戶對空間數(shù)據(jù)的查詢、增加、修改等需求。空間數(shù)據(jù)查詢是指從空間數(shù)據(jù)庫中找出滿足約束條件的地理對象,開放地理空間信息聯(lián)盟(OGC)通過制定服務(wù)接口標(biāo)準(zhǔn)來規(guī)范空間數(shù)據(jù)的操作,如Web矢量要素服務(wù)(WFS)主要能力是支持空間數(shù)據(jù)查詢。如果空間查詢操作比較頻繁,容易對數(shù)據(jù)庫形成較大壓力,即使啟用數(shù)據(jù)庫的緩存,減少數(shù)據(jù)庫查詢的時間,但在將查詢結(jié)果對象化的過程中依然消耗了大量時間,尤其數(shù)據(jù)的屬性較多和空間結(jié)構(gòu)較復(fù)雜的情況下,導(dǎo)致查詢結(jié)果輸出的整體性能下降。
WFS服務(wù)空間查詢結(jié)果通常需要先把數(shù)據(jù)庫查詢結(jié)果對象化,然后按照GML或GeoJson等格式化輸出。在利用空間索引查詢的前提下,當(dāng)查詢結(jié)果記錄較多且對象較復(fù)雜時,對象化和格式化的損耗要遠(yuǎn)遠(yuǎn)超過數(shù)據(jù)庫查詢的損耗時間,成為制約服務(wù)整體響應(yīng)性能的瓶頸。目前多采用在客戶端或服務(wù)端緩存整個查詢結(jié)果,以提高WFS服務(wù)查詢結(jié)果數(shù)據(jù)的加載速度。WFS服務(wù)主要使用空間范圍進(jìn)行查詢,數(shù)據(jù)緩存的常見方式是將整個查詢結(jié)果直接保存到緩存中,下一次同樣的查詢(參數(shù)一致)命中緩存,不用與數(shù)據(jù)庫交互,直接返回查詢結(jié)果。這種粗粒度的緩存方法響應(yīng)迅速,符合基本的緩存設(shè)計,但空間范圍的參數(shù)很難保持一致,只要用戶請求范圍稍有差別,以前緩存的整個結(jié)果就不能復(fù)用,不能命中緩存,而且更新了數(shù)據(jù)庫的記錄,粗粒度的緩存會大面積失效,需要重新生成一次。當(dāng)數(shù)據(jù)更新時,緩存機制如果不及時更新,將產(chǎn)生大量的“污染”;如果全部更新,則大量緩存會失效,命中率在其后的某一段時間會非常低。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明的目的在于提供一種面向WFS服務(wù)的空間查詢結(jié)果緩存方法,旨在解決現(xiàn)有空間查詢結(jié)果整體緩存效果差、命中率較低的技術(shù)問題。
本發(fā)明采用如下技術(shù)方案:
所述面向WFS服務(wù)的空間查詢結(jié)果緩存方法包括下述步驟:
S1、構(gòu)建一級緩存和二級緩存;其中一級緩存中保存有由查詢條件生成的唯一標(biāo)識Key、查詢結(jié)果Value以及每條一級緩存對象所包含的二級緩存對象,其中二級緩存包括與數(shù)據(jù)庫中每條記錄唯一鍵對應(yīng)的二級標(biāo)識OID、數(shù)據(jù)庫中單條記錄對象化格式化的結(jié)果Object、以及每條二級緩存對象影響到的一級緩存對象;
S2、接收用戶請求并判斷請求類型;
S3、若用戶請求為查詢請求,根據(jù)查詢條件得到查詢Key值;
S4、判斷一級緩存中是否存在所述查詢Key值;
S5、若存在所述查詢Key值,則直接從一級緩存中返回查詢Key值對應(yīng)的查詢結(jié)果;
S6、若不存在所述查詢Key值,則根據(jù)查詢條件從數(shù)據(jù)庫中得到查詢結(jié)果記錄以及相應(yīng)的唯一鍵集合,即二級標(biāo)識OID集合;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武大吉奧信息技術(shù)有限公司,未經(jīng)武大吉奧信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710846710.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 服務(wù)票據(jù)發(fā)行系統(tǒng)及服務(wù)票據(jù)發(fā)行服務(wù)
- 出租服務(wù)服務(wù)器和出租服務(wù)系統(tǒng)
- 服務(wù)開放方法及系統(tǒng)、服務(wù)開放服務(wù)器
- 基于服務(wù)券服務(wù)的在線企業(yè)服務(wù)平臺
- 退稅服務(wù)系統(tǒng)、退稅服務(wù)平臺及其服務(wù)方法
- 服務(wù)亭(服務(wù)驛站)
- 公共服務(wù)自助服務(wù)機
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法





