[發(fā)明專利]一種內(nèi)存數(shù)據(jù)庫高效遠程訪問方法有效
| 申請?zhí)枺?/td> | 201510280435.0 | 申請日: | 2015-05-27 |
| 公開(公告)號: | CN104899274B | 公開(公告)日: | 2018-04-03 |
| 發(fā)明(設(shè)計)人: | 楊慶磊;歐陽磊;劉沾沾;曹山 | 申請(專利權(quán))人: | 北方信息控制集團有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 南京理工大學(xué)專利中心32203 | 代理人: | 王培松,朱顯國 |
| 地址: | 210000 *** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 數(shù)據(jù)庫 高效 遠程 訪問 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及信息通信與數(shù)據(jù)庫領(lǐng)域,具體而言涉及一種內(nèi)存數(shù)據(jù)庫高效遠程訪問的實現(xiàn)方法。
背景技術(shù)
在現(xiàn)有的信息系統(tǒng)中,使用傳統(tǒng)數(shù)據(jù)庫常常因為硬盤I/O讀寫速率的影響而導(dǎo)致信息系統(tǒng)的性能遇到瓶頸。
內(nèi)存數(shù)據(jù)庫因為讀寫都在內(nèi)存中進行,因此可以突破硬盤I/O讀寫的限制而提升信息系統(tǒng)的性能,一般讀寫速度是普通硬盤數(shù)據(jù)庫的10倍以上。
基于上述現(xiàn)狀,現(xiàn)有技術(shù)中開發(fā)了支持傳統(tǒng)SQL語句內(nèi)存數(shù)據(jù)庫。
但隨著而來引發(fā)了新的問題,目前很多系統(tǒng)是分布式或網(wǎng)格的,若該系統(tǒng)使用內(nèi)存數(shù)據(jù)庫,必須保證各個節(jié)點的內(nèi)存數(shù)據(jù)庫數(shù)據(jù)保持一致。另外,目前有些系統(tǒng)對內(nèi)存數(shù)據(jù)進行備份,增加系統(tǒng)可靠性。
這些要求無疑加大系統(tǒng)開發(fā)的難度和風(fēng)險。最好的解決方法是讓多個節(jié)點訪問統(tǒng)一個內(nèi)存數(shù)據(jù)庫,確保系統(tǒng)數(shù)據(jù)一致。
目前現(xiàn)有的實踐中存在一些內(nèi)存數(shù)據(jù)庫遠程訪問的組件產(chǎn)品,但采用的技術(shù)無法發(fā)揮內(nèi)存數(shù)據(jù)庫高效的性能。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種內(nèi)存數(shù)據(jù)庫高效遠程訪問方法,利用該方法不但可以讓多臺主機訪問內(nèi)存數(shù)據(jù)庫,還可以充分發(fā)揮內(nèi)存數(shù)據(jù)庫性能。
本發(fā)明的上述目的通過獨立權(quán)利要求的技術(shù)特征實現(xiàn),從屬權(quán)利要求以另選或有利的方式發(fā)展獨立權(quán)利要求的技術(shù)特征。
為達成上述目的,本發(fā)明提出一種內(nèi)存數(shù)據(jù)庫高效遠程訪問方法,包括:
在同一臺主機上部署組件GSProxy服務(wù)端以及內(nèi)存數(shù)據(jù)庫,該組件GSProxy服務(wù)端提供啟動組件的腳本文件或可執(zhí)行文件,在啟動組件GSProxy服務(wù)端時,組件GSProxy服務(wù)端通過內(nèi)存數(shù)據(jù)庫提供的C-API啟動內(nèi)存數(shù)據(jù)庫;
用戶機上部署組件GSProxy客戶端,用戶可通過該GSProxy客戶端提供的統(tǒng)一接口遠程訪問GSProxy服務(wù)端的內(nèi)存數(shù)據(jù)庫;
當GSProxy服務(wù)端監(jiān)聽到GSProxy客戶端發(fā)起的連接請求時,服務(wù)端分配線程提供客戶端與內(nèi)存數(shù)據(jù)庫的連接與訪問,其中,一個客戶端同時只能連接一個數(shù)據(jù)庫;
GSProxy客戶端在連接成功后向GSProxy服務(wù)端發(fā)起對內(nèi)存數(shù)據(jù)庫的操作請求,GSProxy服務(wù)端的橋接模塊在接收到請求,向GSProxy客戶端返回成功接收請求響應(yīng);
GSProxy服務(wù)端對GSProxy客戶端發(fā)起的操作命令進行調(diào)度:當GSProxy客戶端對內(nèi)存數(shù)據(jù)庫發(fā)起新增、刪除、查詢、修改操作時,對交互線程加互斥鎖并歸入消息隊列進行統(tǒng)一調(diào)度,使各個GSProxy客戶端對內(nèi)存數(shù)據(jù)庫操作的原子性;當消息隊列有消息時,通過消息隊列調(diào)度操作線程按照一定的優(yōu)先級將調(diào)度消息提交至消息下發(fā)模塊;消息下發(fā)模塊將GSProxy客戶端提交的消息請求通過內(nèi)存數(shù)據(jù)庫提供的C-API接口提交至內(nèi)存數(shù)據(jù)庫,并將操作結(jié)果返回給GSProxy客戶端。
進一步的例子中,前述GSProxy服務(wù)端根據(jù)GSProxy客戶端的連接請求分配線程提供客戶端與內(nèi)存數(shù)據(jù)庫的連接與訪問時,通過GSProxy服務(wù)端的橋接模塊監(jiān)聽與GSProxy客戶端的連接,當與GSProxy客戶端進行三次通信握手后,從線程池中獲取空閑線程與GSProxy客戶端保持長連接,并向GSProxy客戶端返回連接結(jié)果。
進一步的例子中,前述GSProxy服務(wù)端根據(jù)GSProxy客戶端的連接請求分配線程提供客戶端與內(nèi)存數(shù)據(jù)庫的連接與訪問時,所述的空閑線程采用Socket通信方式保持與GSProxy客戶端的長連接,該連接通過TCP/IP協(xié)議內(nèi)置的keepalive機制檢測GSProxy客戶端是否在線,并且當發(fā)送的心跳包超過三次未連接時,釋放連接以及將線程歸于線程池。
進一步的例子中,前述消息隊列調(diào)度操作線程按照下述優(yōu)先級將調(diào)度消息提交至消息下發(fā)模塊:
1、查詢操作優(yōu)先級大于增加、刪除、修改優(yōu)先級;
2、新增、刪除、修改操作優(yōu)先級大于事務(wù)提交和回滾優(yōu)先級。
進一步的例子中,在上述優(yōu)先級調(diào)度基礎(chǔ)上,GSProxy服務(wù)端在內(nèi)存數(shù)據(jù)庫中生成一張表用于記錄各個GSProxy客戶端提交的操作請求的歷史記錄,表結(jié)構(gòu)如下:
當GSProxy客戶端提交時操作請求時,解析操作請求并將該操作請求記錄到前述表中,GSProxy服務(wù)端預(yù)測該GSProxy客戶端下兩次提交該類型操作的時間點,根據(jù)預(yù)測的時間點先后順序排列各個GSProxy客戶端操作請求調(diào)度先后順序,以保證響應(yīng)時間符合客戶感知習(xí)慣,其中前述的預(yù)測采用灰色預(yù)測模型GM(1,1)對GSProxy客戶端即將提交時間點進行預(yù)測。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北方信息控制集團有限公司,未經(jīng)北方信息控制集團有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510280435.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種工程塑料保持架注塑模具
- 下一篇:一種用于熱流道系統(tǒng)中的熱咀
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





