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

關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法和存儲(chǔ)系統(tǒng)的制作方法

文檔序號(hào):6441039閱讀:288來(lái)源:國(guó)知局
專利名稱:關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法和存儲(chǔ)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別涉及一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法和存儲(chǔ)系統(tǒng)。
背景技術(shù)
關(guān)系型數(shù)據(jù)庫(kù)是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),是目前最常用的數(shù)據(jù)庫(kù)類型之一,廣泛應(yīng)用在各種軟件系統(tǒng)和互聯(lián)網(wǎng)項(xiàng)目中。在傳統(tǒng)軟件系統(tǒng)或互聯(lián)網(wǎng)項(xiàng)目的構(gòu)建中,在很多時(shí)候會(huì)遇到如下場(chǎng)景:網(wǎng)絡(luò)中存在一個(gè)存儲(chǔ)有海量數(shù)據(jù)的子系統(tǒng)B,能夠提供網(wǎng)絡(luò)運(yùn)行所需的各種數(shù)據(jù),然而由于網(wǎng)絡(luò)布局或者數(shù)據(jù)讀取速度的考慮,通常不采用直接與子系統(tǒng)B進(jìn)行數(shù)據(jù)交互的方法,而是設(shè)置一個(gè)規(guī)模較小的子系統(tǒng)A,子系統(tǒng)A依賴于子系統(tǒng)B中的數(shù)據(jù),通過(guò)對(duì)子系統(tǒng)A中數(shù)據(jù)的讀寫,實(shí)現(xiàn)與子系統(tǒng)B中數(shù)據(jù)的交互。針對(duì)如何實(shí)現(xiàn)上述場(chǎng)景中的子系統(tǒng)A,現(xiàn)有方案中還沒(méi)有提出較明確的解決方案,若在每次訪問(wèn)子系統(tǒng)A時(shí),子系統(tǒng)A都需要從子系統(tǒng)B中同步獲取數(shù)據(jù),則數(shù)據(jù)讀取性能會(huì)非常低下;若采用將從子系統(tǒng)B中得到的數(shù)據(jù)都存儲(chǔ)在子系統(tǒng)A中,由于子系統(tǒng)A的存儲(chǔ)容量限制,在實(shí)際操作中的可行性非常小。

發(fā)明內(nèi)容
本發(fā)明提供的一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法和存儲(chǔ)系統(tǒng),以解決現(xiàn)有技術(shù)中每次訪問(wèn)時(shí)都需要同步獲取數(shù)據(jù)造成數(shù)據(jù)讀取性能低下或是無(wú)法滿足系統(tǒng)存儲(chǔ)容量限制的問(wèn)題。為達(dá)到上述目的,本發(fā)明實(shí)施例采用了如下技術(shù)方案:本發(fā)明實(shí)施例提供了一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法,該方法包括:包括兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表,其中一個(gè)為新生代狀態(tài),另一個(gè)為舊生代狀態(tài)且已存儲(chǔ)數(shù)據(jù)表的主鍵,所述方法包括:將數(shù)據(jù)表的主鍵存入新生代狀態(tài)的索引分區(qū)表中;當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到填充因子時(shí),刪除原舊生代狀態(tài)的索引分區(qū)表中存儲(chǔ)的主鍵以及該主鍵對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng),并創(chuàng)建新的索引分區(qū)表,設(shè)為舊生代狀態(tài),所述新的索引分區(qū)表與新生代狀態(tài)的索引分區(qū)表結(jié)構(gòu)相同;當(dāng)新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿時(shí),將該索引分區(qū)表設(shè)置為舊生代狀態(tài),將所述新創(chuàng)建的索引分區(qū)表設(shè)置為新生代狀態(tài)。本發(fā)明實(shí)施例還提供了一種存儲(chǔ)系統(tǒng),所述系統(tǒng)包括設(shè)置有存儲(chǔ)控制裝置的關(guān)系型數(shù)據(jù)庫(kù),所述關(guān)系型數(shù)據(jù)庫(kù)中包括兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表,其中一個(gè)為新生代狀態(tài),另一個(gè)為舊生代狀態(tài)且已存儲(chǔ)數(shù)據(jù)表的主鍵,所述存儲(chǔ)控制裝置包括設(shè)置單元、存儲(chǔ)單元和更新剔除單元,所述存儲(chǔ)單元,用于將數(shù)據(jù)表的主鍵存入新生代狀態(tài)的索引分區(qū)表中;
所述更新剔除單元,用于當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到填充因子時(shí),刪除原舊生代狀態(tài)的索引分區(qū)表中存儲(chǔ)的主鍵以及該主鍵對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng),并創(chuàng)建新的索引分區(qū)表,設(shè)為舊生代狀態(tài),所述新的索引分區(qū)表與新生代狀態(tài)的索引分區(qū)表結(jié)構(gòu)相同;以及,當(dāng)新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿時(shí),將該索引分區(qū)表設(shè)置為舊生代狀態(tài),將所述新創(chuàng)建的索引分區(qū)表設(shè)置為新生代狀態(tài)。本發(fā)明實(shí)施例的有益效果是:本發(fā)明實(shí)施例采用兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表交替進(jìn)行數(shù)據(jù)存儲(chǔ),并將最新的數(shù)據(jù)存儲(chǔ)在處于新生代狀態(tài)的索引分區(qū)表中,實(shí)現(xiàn)了一種基于LRU機(jī)制的關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)方案。利用本發(fā)明實(shí)施例的存儲(chǔ)方案,能夠較好地對(duì)網(wǎng)絡(luò)中存儲(chǔ)有海量數(shù)據(jù)的子系統(tǒng)中的數(shù)據(jù)進(jìn)行篩選,僅存儲(chǔ)該子系統(tǒng)中的部分?jǐn)?shù)據(jù),既滿足了存儲(chǔ)容量限制的要求,又保證了數(shù)據(jù)讀取性能。


圖1為本發(fā)明實(shí)施例一提供的一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法流程示意圖;圖2為本發(fā)明實(shí)施例二提供的一個(gè)具體應(yīng)用場(chǎng)景的示意圖;圖3為本發(fā)明實(shí)施例二提供的一種存儲(chǔ)系統(tǒng)的結(jié)構(gòu)不意圖;圖4為本發(fā)明實(shí)施例三提供的一種存儲(chǔ)控制裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。本方案的主要技術(shù)構(gòu)思在于,通過(guò)對(duì)數(shù)據(jù)表的主鍵(Primary Key, PK)建立兩個(gè)結(jié)構(gòu)一致的索引分區(qū)表作為基本的數(shù)據(jù)結(jié)構(gòu),當(dāng)前正執(zhí)行主鍵存儲(chǔ)的一個(gè)的索引分區(qū)表為處于新生代狀態(tài)的索引分區(qū)表(或稱之為新生代分區(qū)表),另一個(gè)索引分區(qū)表為處于舊生代狀態(tài)的索引分區(qū)表(或稱之為舊生代分區(qū)表)。在運(yùn)行過(guò)程中,通過(guò)兩個(gè)索引分區(qū)表所存儲(chǔ)的數(shù)據(jù)的新舊角色的替換來(lái)達(dá)到數(shù)據(jù)篩選,剔除舊數(shù)據(jù)并回收相應(yīng)的存儲(chǔ)空間。參見(jiàn)圖1,為本發(fā)明實(shí)施例一提供的一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法,該方法包括:11:設(shè)置兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表存儲(chǔ)數(shù)據(jù)表的主鍵,所述索引分區(qū)表包括第一索引分區(qū)表(如表示為L(zhǎng)lIndex)和第二索引分區(qū)表(如表示為L(zhǎng)2Index),在初始時(shí),將第一索引分區(qū)表設(shè)置為新生代狀態(tài),將第二索引分區(qū)表設(shè)置為舊生代狀態(tài),下文中將處于新生代狀態(tài)的索引分區(qū)表稱之為新生代索引分區(qū)表,將處于舊生代狀態(tài)的索引分區(qū)表稱之為舊生代索引分區(qū)表。本方案并不對(duì)具體的名稱進(jìn)行限定,上述的“新生代”和“舊生代”指示了索引分區(qū)表中存儲(chǔ)數(shù)據(jù)的新舊狀態(tài),新生代狀態(tài)下的索引分區(qū)表存儲(chǔ)了當(dāng)前時(shí)間段內(nèi)最新增加的數(shù)據(jù)以及活躍度較高的數(shù)據(jù),而舊生代狀態(tài)下的索引分區(qū)表中的數(shù)據(jù)存儲(chǔ)了當(dāng)前時(shí)間段之前的數(shù)據(jù)。為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對(duì)功能和作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對(duì)數(shù)量和執(zhí)行次序進(jìn)行限定。本發(fā)明實(shí)施例中仍以存儲(chǔ)海量數(shù)據(jù)的子系統(tǒng)B和規(guī)模較小且依賴于子系統(tǒng)B的子系統(tǒng)A的場(chǎng)景進(jìn)行說(shuō)明,其中,子系統(tǒng)A上具有關(guān)系型數(shù)據(jù)庫(kù)(如Mysql),關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)以行和列的形式存儲(chǔ),一組行和列構(gòu)成一個(gè)數(shù)據(jù)表,由一個(gè)或多個(gè)數(shù)據(jù)表構(gòu)成關(guān)系型數(shù)據(jù)庫(kù)。在該關(guān)系型數(shù)據(jù)庫(kù)中使用了本方案的數(shù)據(jù)存儲(chǔ)方法。當(dāng)存儲(chǔ)的數(shù)據(jù)為涉及用戶資料的數(shù)據(jù)時(shí),數(shù)據(jù)表中存儲(chǔ)用戶資料(UserInf0),數(shù)據(jù)表的主鍵為用戶標(biāo)識(shí)(Userid)。這時(shí),所設(shè)置的索引分區(qū)表中存儲(chǔ)Userid,索引分區(qū)表自身的索引分區(qū)表主鍵表示為Id。參見(jiàn)表I,數(shù)據(jù)表中存儲(chǔ)的UserInfo可以包括姓名(Name)、性別(Gender)、生日(Birthday)、移動(dòng)電話(Mobile)、公司(Company)、血型(Blood)、主頁(yè)(Homepage)、電子郵件(Email)、其他信息(OtherInfo)等內(nèi)容。表I
權(quán)利要求
1.一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表,其中一個(gè)為新生代狀態(tài),另一個(gè)為舊生代狀態(tài)且已存儲(chǔ)數(shù)據(jù)表的主鍵,所述方法包括: 將數(shù)據(jù)表的主鍵存入新生代狀態(tài)的索引分區(qū)表中; 當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到填充因子時(shí),刪除原舊生代狀態(tài)的索引分區(qū)表中存儲(chǔ)的主鍵以及該主鍵對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng),并創(chuàng)建新的索引分區(qū)表,設(shè)為舊生代狀態(tài),所述新的索引分區(qū)表與新生代狀態(tài)的索引分區(qū)表結(jié)構(gòu)相同; 當(dāng)新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿時(shí),將該索引分區(qū)表設(shè)置為舊生代狀態(tài),將所述新創(chuàng)建的索引分區(qū)表設(shè)置為新生代狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:在初始時(shí),創(chuàng)建兩個(gè)結(jié)構(gòu)相同的空的索引分區(qū)表,設(shè)置其中一個(gè)為新生代狀態(tài),另一個(gè)為舊生代狀態(tài); 將數(shù)據(jù)表主鍵先存入新生代狀態(tài)的索引分區(qū)表中; 當(dāng)新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿時(shí),將該索引分區(qū)表設(shè)置為舊生代狀態(tài),原舊生代狀態(tài)的索引分區(qū)表設(shè)置為新生代狀態(tài)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,為索引分區(qū)表設(shè)置極限因子,通過(guò)如下方式獲知新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿: 當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到極限因子時(shí),獲知新生代狀態(tài)的索引分區(qū)表已存儲(chǔ)滿。
4.根據(jù)權(quán)利要求3 所述的方法,其特征在于,所述方法還包括: 每隔預(yù)定時(shí)間檢測(cè)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率; 判斷所述新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到填充因子包括: 根據(jù)檢測(cè)結(jié)果判斷該索引分區(qū)表的存儲(chǔ)率是否達(dá)到填充因子;以及, 判斷所述新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿包括: 根據(jù)檢測(cè)結(jié)果判斷該索引分區(qū)表的存儲(chǔ)率是否達(dá)到極限因子。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述索引分區(qū)表自身的索引分區(qū)表主鍵由依次遞增的數(shù)值構(gòu)成,所述每隔預(yù)定時(shí)間檢測(cè)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率包括 每隔預(yù)定時(shí)間檢測(cè)新生代狀態(tài)的索引分區(qū)表中最后一個(gè)索引分區(qū)表主鍵的數(shù)值,根據(jù)該索引分區(qū)表主鍵的數(shù)值獲知該索引分區(qū)表的存儲(chǔ)率。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 根據(jù)接收到的調(diào)整指示,調(diào)整填充因子、極限因子、和/或所述預(yù)定時(shí)間的數(shù)值。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 當(dāng)刪除所述主鍵對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng)時(shí),若該索引數(shù)據(jù)項(xiàng)中包括正在被使用的第一索引數(shù)據(jù)項(xiàng),則保留該第一索引數(shù)據(jù)項(xiàng),并將第一索引數(shù)據(jù)項(xiàng)對(duì)應(yīng)的主鍵從舊生代狀態(tài)的索引分區(qū)表中寫入新生代狀態(tài)的分區(qū)表中;以及, 當(dāng)舊生代狀態(tài)的索引分區(qū)表中的數(shù)據(jù)被訪問(wèn)時(shí),將被訪問(wèn)的數(shù)據(jù)轉(zhuǎn)移至新生代狀態(tài)的索引分區(qū)表中。
8.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述索引分區(qū)表中為數(shù)據(jù)表的每一主鍵設(shè)置有時(shí)間戳信息,所述方法還包括: 當(dāng)數(shù)據(jù)表的主鍵所對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng)發(fā)生變化時(shí),索引分區(qū)表中更新該數(shù)據(jù)表主鍵所對(duì)應(yīng)的時(shí)間戳信息。
9.一種存儲(chǔ)系統(tǒng),其特征在于,所述系統(tǒng)包括設(shè)置有存儲(chǔ)控制裝置的關(guān)系型數(shù)據(jù)庫(kù),所述關(guān)系型數(shù)據(jù)庫(kù)中包括兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表,其中一個(gè)為新生代狀態(tài),另一個(gè)為舊生代狀態(tài)且已存儲(chǔ)數(shù)據(jù)表的主鍵,所述存儲(chǔ)控制裝置包括存儲(chǔ)單元和更新剔除單元, 所述存儲(chǔ)單元,用于將數(shù)據(jù)表的主鍵存入新生代狀態(tài)的索引分區(qū)表中; 所述更新剔除單元,用于當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到填充因子時(shí),刪除原舊生代狀態(tài)的索引分區(qū)表中存儲(chǔ)的主鍵以及該主鍵對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng),并創(chuàng)建新的索引分區(qū)表,設(shè)為舊生代狀態(tài),所述新的索引分區(qū)表與新生代狀態(tài)的索引分區(qū)表結(jié)構(gòu)相同;以及,當(dāng)新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿時(shí),將該索引分區(qū)表設(shè)置為舊生代狀態(tài),將所述新創(chuàng)建的索引分區(qū)表設(shè)置為新生代狀態(tài)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括定時(shí)服務(wù)器, 所述定時(shí)服務(wù)器,用于每隔預(yù)定時(shí)間檢測(cè)新生代分區(qū)表的存儲(chǔ)率是否達(dá)到的填充因子,并將檢測(cè)結(jié)果通知所述更新剔除單元;以及, 所述定時(shí)服務(wù)器,還用于每隔預(yù)定時(shí)間檢測(cè)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率,判斷該索引分區(qū)表的存儲(chǔ)率是否達(dá)到極限因子,并將檢測(cè)結(jié)果通知更新剔除單元;所述更新剔除單元,用于當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到極限因子時(shí),確認(rèn)新生代狀態(tài)的索引分區(qū)表存儲(chǔ) 滿。
全文摘要
本發(fā)明公開(kāi)一種關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法和存儲(chǔ)系統(tǒng),既能滿足存儲(chǔ)容量限制的要求,又保證了數(shù)據(jù)讀取性能。本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法包括兩個(gè)結(jié)構(gòu)相同的索引分區(qū)表,其中一個(gè)為新生代狀態(tài),另一個(gè)為舊生代狀態(tài)且已存儲(chǔ)數(shù)據(jù)表的主鍵,所述方法包括將數(shù)據(jù)表的主鍵存入新生代狀態(tài)的索引分區(qū)表中;當(dāng)新生代狀態(tài)的索引分區(qū)表的存儲(chǔ)率達(dá)到填充因子時(shí),刪除原舊生代狀態(tài)的索引分區(qū)表中存儲(chǔ)的主鍵以及該主鍵對(duì)應(yīng)的索引數(shù)據(jù)項(xiàng),并創(chuàng)建新的索引分區(qū)表,設(shè)為舊生代狀態(tài),所述新的索引分區(qū)表與新生代狀態(tài)的索引分區(qū)表結(jié)構(gòu)相同;當(dāng)新生代狀態(tài)的索引分區(qū)表存儲(chǔ)滿時(shí),將該索引分區(qū)表設(shè)置為舊生代狀態(tài),將所述新創(chuàng)建的索引分區(qū)表設(shè)置為新生代狀態(tài)。
文檔編號(hào)G06F17/30GK103164431SQ20111041513
公開(kāi)日2013年6月19日 申請(qǐng)日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者國(guó)興旺 申請(qǐng)人:北京神州泰岳軟件股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
桐梓县| 鄂温| 磐安县| 云阳县| 佳木斯市| 错那县| 英山县| 疏附县| 平湖市| 石台县| 高碑店市| 上蔡县| 虞城县| 北票市| 普陀区| 淮北市| 马公市| 密山市| 冕宁县| 大方县| 徐水县| 呼和浩特市| 阿巴嘎旗| 呼伦贝尔市| 原阳县| 唐河县| 衡水市| 嘉祥县| 威宁| 龙泉市| 腾冲县| 鄄城县| 乌恰县| 合水县| 扬州市| 龙井市| 封开县| 靖安县| 广西| 连城县| 仙桃市|