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

一種實現(xiàn)分布式存儲的內(nèi)存數(shù)據(jù)庫系統(tǒng)及應(yīng)用的制作方法

文檔序號:6462648閱讀:375來源:國知局
專利名稱:一種實現(xiàn)分布式存儲的內(nèi)存數(shù)據(jù)庫系統(tǒng)及應(yīng)用的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機通信領(lǐng)域,尤其涉及內(nèi)存數(shù)據(jù)庫技術(shù)領(lǐng)域。
背景技術(shù)
現(xiàn)在在通信信息領(lǐng)域,數(shù)據(jù)庫是越來越重要了。但是隨著業(yè)務(wù)量的增加, 數(shù)據(jù)庫的性能無法達到要求正越來越成為一個讓人頭疼的問題。幾種主流數(shù)據(jù)
庫0racle、 DB2、 Sqlserver、 Sybase等,都會碰到性能無法滿足要求的問題。 因為他們的數(shù)據(jù)庫訪問都只能做到毫秒級。對數(shù)據(jù)庫進行優(yōu)化對數(shù)據(jù)庫訪問數(shù) 率的提高的貢獻最多只有30%。很多時候,都被迫修改業(yè)務(wù)流程,減少訪問數(shù)據(jù) 庫的次數(shù)。
為了提高性能,大家都公認(rèn)使用內(nèi)存數(shù)據(jù)庫是一種很好的方式。因為內(nèi)存數(shù) 據(jù)庫的訪問可以提高到微秒級別。 一些公司也都開發(fā)出了自己的內(nèi)存數(shù)據(jù)庫產(chǎn) 品,如Oracle的TimesTen等。但是這些廠家的內(nèi)存數(shù)據(jù)庫都有如下缺點
由于需要對自身數(shù)據(jù)庫的sql語句原封不動的進行解析,從而造成內(nèi)存數(shù) 據(jù)庫的性能浪費性;
只支持自身生產(chǎn)的數(shù)據(jù)庫產(chǎn)品,沒有通用性。

發(fā)明內(nèi)容
鑒于上述的分析,本發(fā)明旨在提供一種實現(xiàn)分布式存儲的內(nèi)存數(shù)據(jù)庫系統(tǒng) 及應(yīng)用,通過引入接口機,實現(xiàn)了內(nèi)存數(shù)據(jù)庫的分布式存儲。 本發(fā)明的目的主要是通過以下技術(shù)方案實現(xiàn)的
本發(fā)明提供了一種實現(xiàn)分布式存儲的 存數(shù)據(jù)庫系統(tǒng),所述系統(tǒng)包括接口機和多個內(nèi)存數(shù)據(jù)庫,其中,
所述接口機,用于存儲真實數(shù)據(jù)庫中各個數(shù)據(jù)庫表和內(nèi)存數(shù)據(jù)庫的對應(yīng)關(guān)
系,并且在接收到訪問客戶端的sql請求后,根據(jù)所述sql請求中的數(shù)據(jù)庫表, 將所述sql請求分發(fā)到相應(yīng)的內(nèi)存數(shù)據(jù)庫中;
所述內(nèi)存數(shù)據(jù)庫,用于從接口機查詢得到自己負(fù)責(zé)的數(shù)據(jù)庫表的信息,然 后從對應(yīng)的真實數(shù)據(jù)庫中讀入該數(shù)據(jù)庫表中的數(shù)據(jù),并且,當(dāng)接收到所述接口 機分發(fā)的sql請求時,所述內(nèi)存數(shù)據(jù)庫根據(jù)所述接口機分發(fā)的sql請求執(zhí)行相應(yīng) 的查詢或非查詢操作。
進一步地,所述系統(tǒng)還包括
控制臺,用于根據(jù)用戶的要求對整個內(nèi)存數(shù)據(jù)庫系統(tǒng)進行配置,并通過和 接口機交互使配置生效。
進一步地,所述內(nèi)存數(shù)據(jù)庫還包括 定時器,用于設(shè)定時間間隔;
同步單元,用過根據(jù)定時器設(shè)定的時間間隔,定時讀出發(fā)生改動變化的數(shù) 據(jù)內(nèi)容,并將其同步到相應(yīng)的真實數(shù)據(jù)庫中。
本發(fā)明還提供了 一種利用上述內(nèi)存數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)分布式存儲的方 法,所述方法包括
步驟A:內(nèi)存數(shù)據(jù)庫從接口機查詢得到自己負(fù)責(zé)的數(shù)據(jù)庫表的信息,然后 從對應(yīng)的真實數(shù)據(jù)庫中讀入該數(shù)據(jù)庫表中的數(shù)據(jù);
步驟B:當(dāng)接口機在接收到訪問客戶端的sql請求后,根據(jù)所述sql請求中 的數(shù)據(jù)庫表及所述接口機存儲的真實數(shù)據(jù)庫中各個數(shù)據(jù)庫表和內(nèi)存數(shù)據(jù)庫的對 應(yīng)關(guān)系,將所述sql請求分發(fā)到相應(yīng)的內(nèi)存數(shù)據(jù)庫中;步驟C:所述內(nèi)存數(shù)據(jù)庫根據(jù)接口機收分發(fā)得到的sql請求,對內(nèi)存數(shù)據(jù)庫 中的數(shù)據(jù)進行查詢或非查詢操作。
進一步地,所述步驟C具體包括
所述內(nèi)存數(shù)據(jù)根據(jù)接口機分發(fā)得到的sql請求進行判斷
如果是查詢操作,則返回查詢到的數(shù)據(jù)集,如果非查詢操作,則對數(shù)據(jù)進
行相應(yīng)的刪除、修改、添加操作,并將將數(shù)據(jù)進行的刪除、修改、添加操作的
具體信息寫入文件進行記錄。
進一步地,所述方法還包括
根據(jù)設(shè)定的時間間隔,定時讀出經(jīng)過非查詢操作發(fā)生變化的數(shù)據(jù),并將其 同步到相應(yīng)的真實數(shù)據(jù)庫中。
進一步地,所述步驟C中,當(dāng)所述內(nèi)存數(shù)據(jù)庫收到接口機分發(fā)的多個sql 請求時,對所述sql請求依次串行處理。
進一步地,所述sql請求至少包括以下字段
操作類型、數(shù)據(jù)庫表名、操作的具體信息、操作的流水號。
本發(fā)明有益效果如下
本發(fā)明通過引入接口機,實現(xiàn)了內(nèi)存數(shù)據(jù)庫的分布式存儲,實現(xiàn)起來比較 筒單,并且成本比較低。
本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分的從說明 書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可 通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲
3曰
付》


圖1為本發(fā)明實施例所述系統(tǒng)的結(jié)構(gòu)示意圖; 圖2為本發(fā)明實施例所述方法的流程示意圖3為本發(fā)明實施例所述方法中,內(nèi)存數(shù)據(jù)庫和真實數(shù)據(jù)庫同步過程的流 程示意圖。
具體實施例方式
下面結(jié)合附圖來具體描述本發(fā)明的優(yōu)先實施例,其中,附圖構(gòu)成本申請一
部分,并與本發(fā)明的實施例一起用于闡釋本發(fā)明的原理。
首先結(jié)合附圖對本發(fā)明實施例所述內(nèi)存數(shù)據(jù)庫系統(tǒng)進行詳細(xì)說明。
如圖1所示,圖l為本發(fā)明實施例所述內(nèi)存數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)示意圖,具
體可以包括接口機、控制臺、多個內(nèi)存數(shù)據(jù)庫,下面對各個部分進行詳細(xì)闡述。
接口機,主要負(fù)責(zé)sql消息的分發(fā)、存儲過程的實現(xiàn)和整個內(nèi)存數(shù)據(jù)庫系統(tǒng) 的管理;具體的說就是,所述接口機中預(yù)先存儲有真實數(shù)據(jù)庫的多個數(shù)據(jù)庫表 和內(nèi)存數(shù)據(jù)庫的對應(yīng)關(guān)系,當(dāng)所述接口機在接收到訪問客戶端的sql請求后,根 據(jù)該sql請求中的涉及到的數(shù)據(jù)庫表,將該sql請求分發(fā)到相應(yīng)的內(nèi)存數(shù)據(jù)庫。
內(nèi)存數(shù)據(jù)庫,多個內(nèi)存數(shù)據(jù)庫對應(yīng)多個真實數(shù)據(jù)庫,其主要負(fù)責(zé)真實數(shù)據(jù) 庫的多張數(shù)據(jù)庫表的訪問,即當(dāng)內(nèi)存數(shù)據(jù)庫啟動的時候,所述內(nèi)存數(shù)據(jù)庫通過 從接口機存儲的真實數(shù)據(jù)庫的多個數(shù)據(jù)庫表和內(nèi)存數(shù)據(jù)庫的對應(yīng)關(guān)系進行查 詢,得到自己負(fù)責(zé)的數(shù)據(jù)庫表的信息,然后從這些數(shù)據(jù)庫表對應(yīng)的真實數(shù)據(jù)庫 中讀入這些數(shù)據(jù)庫表的數(shù)據(jù)內(nèi)容;并且,當(dāng)所述內(nèi)存數(shù)據(jù)庫收到接口機分發(fā)的 sql請求后,根據(jù)該sql請求的信息進行判斷如果是查詢操作,則返回查詢需 要的數(shù)據(jù)集,如果是非查詢操作,則根據(jù)sql請求的操作類型對數(shù)據(jù)作相應(yīng)的更改,然后將該數(shù)據(jù)的修改內(nèi)容以一定格式寫入文件。
其中,所述sql消息至少包括如下字段1、操作類型,如添加、刪除、 修改、查詢、執(zhí)行存儲過程;2、數(shù)據(jù)庫表名;3、操作的具體信息添加、刪 除、修改、查詢、執(zhí)行存儲過程的時候所需要的信息,如添加的時候,添加的 字段的值,刪除的時候刪除記錄的特征等;4、操作的流水號,即每次操作被賦 予的一個ID。
控制臺,用戶通過所述控制臺對整個內(nèi)存數(shù)據(jù)庫系統(tǒng)進行配置,并通過和 接口機交互使配置生效;配置內(nèi)容包括內(nèi)存數(shù)據(jù)庫的IP、將真實數(shù)據(jù)庫中的哪 些數(shù)據(jù)庫表的信息提取進內(nèi)存數(shù)據(jù)庫系統(tǒng)進行管理、以及一些其他的相關(guān)參數(shù)。
下面結(jié)合附圖對利用本發(fā)明實施例所述系統(tǒng)實現(xiàn)數(shù)據(jù)分布式存儲的方法進 4亍詳細(xì)i兌明。
如圖2所示,圖2為所述方法的流程示意圖,具體可以包括以下步驟 步驟201:接口機收到訪問客戶端的sql請求;
步驟202:接口機根據(jù)及時到的sql請求中涉及到的數(shù)據(jù)庫表分發(fā)sql請求 到內(nèi)存數(shù)據(jù)庫;
步驟203:收到sql請求的內(nèi)存數(shù)據(jù)庫判斷該sql請求是否是查詢操作,如 果是查詢操作,執(zhí)行步驟206;如果是非查詢操作,執(zhí)行步驟204;
步驟204:對內(nèi)存數(shù)據(jù)庫中的數(shù)據(jù)進行相應(yīng)的修改、刪除、添加等操作,然 后將數(shù)據(jù)進行的刪除、修改、添加操作的具體信息寫入預(yù)定的文件進行記錄, 然后執(zhí)行步驟205;
步驟205:內(nèi)存數(shù)據(jù)庫將進行非查詢操作的結(jié)果發(fā)送給接口機;
步驟206:根據(jù)sql請求中查詢內(nèi)容在內(nèi)存數(shù)據(jù)庫中查詢相應(yīng)的數(shù)據(jù),并將查詢到的結(jié)果返回給接口機;
步驟207:接口機將接收到的查詢操作的結(jié)果或者非查詢操作的結(jié)果返回給 訪問客戶端。
本發(fā)明實施例所述方法還包括內(nèi)存數(shù)據(jù)庫定時將發(fā)生修改、刪除、添加 等非查詢操作的數(shù)據(jù)通過訪問真實數(shù)據(jù)庫,同步到真實數(shù)據(jù)庫中,具體如圖3 所示,可以包括以下步驟
步驟301:內(nèi)存數(shù)據(jù)庫根據(jù)sql請求的非查詢操作,對其中的數(shù)據(jù)進行了修 改、刪除或添加等操作;
步驟302:內(nèi)存數(shù)據(jù)庫將發(fā)生修改、刪除或添加等操作的數(shù)據(jù)寫入預(yù)定的文 件中;
步驟303:內(nèi)存數(shù)據(jù)庫定時掃描步驟302中的文件,并讀出文件中的內(nèi)容, 將其中的數(shù)據(jù)通過訪問真實數(shù)據(jù)庫的方式同步到相應(yīng)的真實數(shù)據(jù)庫中。
綜上所述,本發(fā)明實施例提供了 一種實現(xiàn)分布式存儲的內(nèi)存數(shù)據(jù)庫系統(tǒng)及 應(yīng)用,通過引入接口機,實現(xiàn)了內(nèi)存數(shù)據(jù)庫的分布式存儲,實現(xiàn)起來十分簡單, 具有以下優(yōu)點
由于是和真實數(shù)據(jù)庫中的部分?jǐn)?shù)據(jù)庫表對應(yīng),所以在現(xiàn)場施工的時候不用 新增設(shè)備,直接在真實數(shù)據(jù)庫的設(shè)備上實現(xiàn)就可以了;
由于接口機收到的sql請求已經(jīng)是由訪問客戶端將數(shù)據(jù)的處理邏輯進行了封 裝,所以不再需要sql語句的解析過程,這樣就不會造成內(nèi)存數(shù)據(jù)庫的性能浪費 問題;
由于各個單獨的內(nèi)存數(shù)據(jù)庫,對接收到的非查詢操作都是串行處理,且每 次操作都只在自己單獨負(fù)責(zé)的數(shù)據(jù)庫表中執(zhí)行,所以就成功地避免了數(shù)據(jù)爭搶導(dǎo)致死鎖、臟讀、臟寫的發(fā)生,內(nèi)存數(shù)據(jù)庫也不用為自己負(fù)責(zé)的數(shù)據(jù)庫表建立 鎖。
對數(shù)據(jù)修改的記錄通過寫文件的方式,這樣就可以避免系統(tǒng)異常或者宕機 以后出現(xiàn)內(nèi)存數(shù)據(jù)庫和真實數(shù)據(jù)庫數(shù)據(jù)不同步的現(xiàn)象發(fā)生。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護 范圍應(yīng)該以權(quán)利要求書的保護范圍為準(zhǔn)。
權(quán)利要求
1、一種實現(xiàn)分布式存儲的內(nèi)存數(shù)據(jù)庫系統(tǒng),其特征在于,包括接口機和多個內(nèi)存數(shù)據(jù)庫,其中,所述接口機,用于存儲真實數(shù)據(jù)庫中各個數(shù)據(jù)庫表和內(nèi)存數(shù)據(jù)庫的對應(yīng)關(guān)系,并且在接收到訪問客戶端的sql請求后,根據(jù)所述sql請求中的數(shù)據(jù)庫表,將所述sql請求分發(fā)到相應(yīng)的內(nèi)存數(shù)據(jù)庫中;所述內(nèi)存數(shù)據(jù)庫,用于從接口機查詢得到自己負(fù)責(zé)的數(shù)據(jù)庫表的信息,然后從對應(yīng)的真實數(shù)據(jù)庫中讀入該數(shù)據(jù)庫表中的數(shù)據(jù),并且,當(dāng)接收到所述接口機分發(fā)的sql請求時,所述內(nèi)存數(shù)據(jù)庫根據(jù)所述接口機分發(fā)的sql請求執(zhí)行相應(yīng)的查詢或非查詢操作。
2、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 控制臺,用于根據(jù)用戶的要求對整個內(nèi)存數(shù)據(jù)庫系統(tǒng)進行配置,并通過和接口機交互使配置生效。
3、 根據(jù)權(quán)利要求1或2的系統(tǒng),其特征在于,所述內(nèi)存數(shù)據(jù)庫還包括 定時器,用于設(shè)定時間間隔;同步單元,用過根據(jù)定時器設(shè)定的時間間隔,定時讀出發(fā)生改動變化的數(shù) 據(jù)內(nèi)容,并將其同步到相應(yīng)的真實數(shù)據(jù)庫中。
4、 利用權(quán)利要求1所述的內(nèi)存數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)分布式存儲的方法,所 述方法包括步驟A:內(nèi)存數(shù)據(jù)庫從接口機查詢得到自己負(fù)責(zé)的數(shù)據(jù)庫表的信息,然后 從對應(yīng)的真實數(shù)據(jù)庫中讀入該數(shù)據(jù)庫表中的數(shù)據(jù);步驟B:當(dāng)接口機在接收到訪問客戶端的sql請求后,根據(jù)所述sql請求中 的數(shù)據(jù)庫表及所述接口機存儲的真實數(shù)據(jù)庫中各個數(shù)據(jù)庫表和內(nèi)存數(shù)據(jù)庫的對應(yīng)關(guān)系,將所述sql請求分發(fā)到相應(yīng)的內(nèi)存數(shù)據(jù)庫中;步驟C:所述內(nèi)存數(shù)據(jù)庫根據(jù)接口機收分發(fā)得到的sql請求,對內(nèi)存數(shù)據(jù)庫 中的數(shù)據(jù)進行查詢或非查詢操作。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟C具體包括 所述內(nèi)存數(shù)據(jù)根據(jù)接口機分發(fā)得到的sql請求進行判斷 如果是查詢操作,則返回查詢到的數(shù)據(jù)集,如果非查詢操作,則對數(shù)據(jù)進行相應(yīng)的刪除、修改、添加操作,并將將數(shù)據(jù)進行的刪除、修改、添加操作的 具體信息寫入文件進行記錄。
6、 根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述方法還包括 根據(jù)設(shè)定的時間間隔,定時讀出經(jīng)過非查詢操作發(fā)生變化的數(shù)據(jù),并將其同步到相應(yīng)的真實凝:據(jù)庫中。
7、 根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述步驟C中,當(dāng)所述 內(nèi)存數(shù)據(jù)庫收到接口機分發(fā)的多個sql請求時,對所述sql請求依次串行處理。
8、 根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述sql請求至少包括 以下字,殳操作類型、數(shù)據(jù)庫表名、操作的具體信息、操作的流水號。
全文摘要
本發(fā)明公開了一種實現(xiàn)分布式存儲的內(nèi)存數(shù)據(jù)庫系統(tǒng)及應(yīng)用,其中,所述系統(tǒng)包括接口機和多個內(nèi)存數(shù)據(jù)庫,所述接口機用于存儲真實數(shù)據(jù)庫中各個數(shù)據(jù)庫表和內(nèi)存數(shù)據(jù)庫的對應(yīng)關(guān)系,并且在接收到訪問客戶端的sq1請求后,根據(jù)所述sq1請求中的數(shù)據(jù)庫表,將所述sq1請求分發(fā)到相應(yīng)的內(nèi)存數(shù)據(jù)庫中;所述內(nèi)存數(shù)據(jù)庫用于從接口機查詢得到自己負(fù)責(zé)的數(shù)據(jù)庫表的信息,然后從對應(yīng)的真實數(shù)據(jù)庫中讀入該數(shù)據(jù)庫表中的數(shù)據(jù),并且,當(dāng)接收到所述接口機分發(fā)的sq1請求時,所述內(nèi)存數(shù)據(jù)庫根據(jù)所述接口機分發(fā)的sq1請求執(zhí)行相應(yīng)的查詢或非查詢操作。本發(fā)明通過引入接口機,實現(xiàn)了內(nèi)存數(shù)據(jù)庫的分布式存儲,實現(xiàn)起來比較簡單,并且成本比較低。
文檔編號G06F17/30GK101587476SQ20081009763
公開日2009年11月25日 申請日期2008年5月22日 優(yōu)先權(quán)日2008年5月22日
發(fā)明者馮宇翔 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
龙山县| 榆中县| 韩城市| 应城市| 虞城县| 广元市| 石城县| 五常市| 洱源县| 沁源县| 汤阴县| 灵宝市| 宝丰县| 新密市| 金华市| 饶河县| 隆林| 固原市| 博罗县| 固安县| 施甸县| 嫩江县| 吴江市| 康定县| 黔西| 瓦房店市| 独山县| 资阳市| 遵义县| 融水| 天全县| 弋阳县| 清远市| 蒙城县| 铜鼓县| 大连市| 永善县| 吐鲁番市| 新干县| 南召县| 武汉市|