增量式索引列表的生成方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及計算機技術領域,特別是涉及一種增量式索引列表的生成方法及裝置。
【背景技術】
[0002]索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結構。由于使用索引可快速訪問數(shù)據(jù)庫表中的特定信息,因此可以基于數(shù)據(jù)庫表中的單列或多列創(chuàng)建索引,形成索引列表。通過創(chuàng)建的索引列表查找相應數(shù)據(jù),加快數(shù)據(jù)的檢索速度,同時也可以提高系統(tǒng)的性會K。
[0003]由于數(shù)據(jù)庫中的數(shù)據(jù)在不斷增加,為了能夠滿足用戶的需求,需要對增加的數(shù)據(jù)創(chuàng)建相應的索引項,進一步對索引列表進行更新。
[0004]現(xiàn)有技術中,當數(shù)據(jù)庫中出現(xiàn)新增數(shù)據(jù)時,是對數(shù)據(jù)庫中的所有數(shù)據(jù)再重新創(chuàng)建對應的索引,生成新的索引列表。由于該方法是對數(shù)據(jù)庫中的所有數(shù)據(jù)創(chuàng)建索引,因此創(chuàng)建索引的過程耗費的時間長,效率低,并且會占用系統(tǒng)較多的資源。另外,由于數(shù)據(jù)庫中的數(shù)據(jù)更新速度非???,數(shù)據(jù)庫中不斷出現(xiàn)新的數(shù)據(jù),一旦數(shù)據(jù)庫中出現(xiàn)新的數(shù)據(jù),就需要對數(shù)據(jù)庫中的所有數(shù)據(jù)創(chuàng)建索引,因此創(chuàng)建索引的過程是多次重復的過程,多次重復的為數(shù)據(jù)庫中所有數(shù)據(jù)創(chuàng)建索引,會加重系統(tǒng)的負擔,甚至可能導致系統(tǒng)癱瘓。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的增量式索引列表的生成方法及裝置。
[0006]基于本發(fā)明的一個方面,提供了一種增量式索引列表的生成方法,包括:
[0007]在按照時間順序存儲有各索引項信息的原索引列表中,讀取所述索引列表中記載的末次索引的時間;
[0008]創(chuàng)建獨立的增量索引列表,采用所述原索引列表相同的存儲格式,對以所述末次索引的時間為起始點的新增索引數(shù)據(jù)進行順序存儲;
[0009 ]結合所述原索引列表和新增的增量索引列表,生成新的索引列表。
[0010]可選地,所述生成新的索引列表之后,還包括:
[0011]使用所述新的索引列表替換所述原索引列表。
[0012]可選地,所述方法還包括:讀取所述原索引列表的末次索引項;
[0013]結合所述原索引列表和新增的增量索引列表,生成新的索引列表,具體包括:以所述原索引列表中的末次索引項為結合點,結合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
[0014]可選地,所述創(chuàng)建獨立的增量索引列表,具體包括:采用與所述原索引列表相同存儲格式的狀態(tài)表作為所述增量索引列表。
[0015]可選地,結合所述原索引列表和所述新增的增量索引列表,生成新的索引列表,具體包括:
[0016]建立第一中間文件textl和第二中間文件text2 ;
[0017]在所述第二中間文件text2中寫入所述新增的增量索引列表;
[0018]將所述第二中間文件text2的內(nèi)容賦予所述第一中間文件textl;
[0019]在承載所述原索引列表的索引文件textO中按時間順序繼續(xù)寫入所述第一中間文件textl的內(nèi)容,以生成所述新的索引列表。
[0020]可選地,所述第一中間文件textl和所述第二中間文件text2的起始狀態(tài)均為空白狀態(tài)。
[0021]可選地,還包括:
[0022]所述新的索引列表生成之后,刪除所述第二中間文件text2中的內(nèi)容;
[0023]若出現(xiàn)另一個新增的增量索引列表,則繼續(xù)將該增量索引列表的內(nèi)容寫入已刪除內(nèi)容的所述第二中間文件text2。
[0024]可選地,還包括:
[0025]若所述新的索引列表生成失敗,則將所述新的索引列表回退至未結合所述新增的增量索引列表的原索引列表狀態(tài)。
[0026]基于本發(fā)明的另一個方面,還提供了一種增量式索引列表的生成裝置,包括:
[0027]讀取模塊,適于在按照時間順序存儲有各索引項信息的原索引列表中,讀取所述索引列表中記載的末次索引的時間;
[0028]倉I鍵模塊,適于創(chuàng)建獨立的增量索引列表,采用所述原索引列表相同的存儲格式,對以所述末次索引的時間為起始點的新增索引數(shù)據(jù)進行順序存儲;
[0029]生成模塊,適于結合所述原索引列表和新增的增量索引列表,生成新的索引列表。
[0030]可選地,所述裝置還包括:
[0031]替換模塊,適于使用所述新的索引列表替換所述原索引列表。
[0032]可選地,所述讀取模塊還適于:讀取所述原索引列表的末次索引項;
[0033]所述生成模塊還適于:以所述原索引列表中的末次索引項為結合點,結合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
[0034]可選地,所述創(chuàng)建模塊還適于:采用與所述原索引列表相同存儲格式的狀態(tài)表作為所述增量索引列表。
[0035]可選地,所述生成模塊還適于:
[0036]建立第一中間文件textl和第二中間文件text2 ;
[0037]在所述第二中間文件text2中寫入所述新增的增量索引列表;
[0038]將所述第二中間文件text2的內(nèi)容賦予所述第一中間文件textl;
[0039]在承載所述原索引列表的索引文件textO中按時間順序繼續(xù)寫入所述第一中間文件textl的內(nèi)容,以生成所述新的索引列表。
[0040]可選地,所述第一中間文件textl和所述第二中間文件text2的起始狀態(tài)均為空白狀態(tài)。
[0041 ] 可選地,所述生成模塊還適于:
[0042]所述新的索引列表生成之后,刪除所述第二中間文件text2中的內(nèi)容;
[0043]若出現(xiàn)另一個新增的增量索引列表,則繼續(xù)將該增量索引列表的內(nèi)容寫入已刪除內(nèi)容的所述第二中間文件text2。
[0044]可選地,所述裝置還包括:
[0045]回退模塊,適于若所述新的索引列表生成失敗,則將所述新的索引列表回退至未結合所述新增的增量索引列表的原索引列表狀態(tài)。
[0046]采用本發(fā)明實施例中的方法,當數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化后,讀取索引列表中記載的末次索引的時間,以末次索引的時間為起始點查找出新增索引數(shù)據(jù),并為新增索引數(shù)據(jù)創(chuàng)建增量索引列表,再將原索引列表與增量索引列表進行結合,生成新的索引列表。與現(xiàn)有技術相比,當數(shù)據(jù)庫中出現(xiàn)新增索引數(shù)據(jù)時,本發(fā)明實施例中僅僅是為新增索引數(shù)據(jù)創(chuàng)建索引,不再是為數(shù)據(jù)庫中的所有數(shù)據(jù)創(chuàng)建索引,由于新增索引數(shù)據(jù)的數(shù)量要遠遠小于與數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)量,因此為新增索引數(shù)據(jù)創(chuàng)建索引耗費的時間短,提高了效率,并且為新增數(shù)據(jù)創(chuàng)建索引的過程較為簡單,不容易出現(xiàn)錯誤,保證了準確率。另外,當數(shù)據(jù)庫中的數(shù)據(jù)更新的速度較快時,數(shù)據(jù)庫中不斷出現(xiàn)新增索引數(shù)據(jù),因此需要多次重復地為新增索引數(shù)據(jù)創(chuàng)建索引,而本發(fā)明實施例僅為新增索引數(shù)據(jù)創(chuàng)建索引,由于新增索引數(shù)據(jù)的數(shù)量相對較少,避免了因多次重復生成大量數(shù)據(jù)對應的索引造成的系統(tǒng)癱瘓。
[0047]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
[0048]根據(jù)下文結合附圖對本發(fā)明具體實施例的詳細描述,本領域技術人員將會更加明了本發(fā)明的上述以及其他目的、優(yōu)點和特征。
【附圖說明】
[0049]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0050]圖1示出了根據(jù)本發(fā)明一個實施例的增量式索引列表的生成方法的處理流程示意圖;
[0051]圖2示出了根據(jù)本發(fā)明一個實施例的生成新的索引列表的處理流程示意圖;
[0052]圖3示出了根據(jù)本發(fā)明一個實施例的原索引列表和增量索引列表結合的處理流程示意圖;
[0053]圖4示出了根據(jù)本發(fā)明一個實施例的新的索引列表生成失敗的處理流程示意圖;
[0054]圖5示出了根據(jù)本發(fā)明一個實施例的新的索引列表生成失敗后的原索引列表和增量索引列表再次結合的處理流程示意圖;
[0055]圖6示出了根據(jù)本發(fā)明一個實施例的增量式索引列表的生成裝置的結構示意圖;以及
[0056]圖7示出了根據(jù)本發(fā)明一個實施例的增量式索引列表的生成裝置的另一種結構示意圖。
【具體實施方式】
[0057]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領域的技術人員。<