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

一種索引建立的方法及裝置與流程

文檔序號(hào):12034657閱讀:234來源:國知局
一種索引建立的方法及裝置與流程

本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種索引建立的方法及裝置。



背景技術(shù):

隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,人們通過網(wǎng)絡(luò)獲取數(shù)據(jù)已經(jīng)變得越來越普遍了。

目前,為了能夠讓用戶更方便快捷的查找到所需的數(shù)據(jù),通常需要根據(jù)數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù),在索引庫中建立數(shù)據(jù)對應(yīng)的索引,并把索引庫對外提供給用戶,后續(xù),用戶可以通過使用該索引庫,搜索自己所需的數(shù)據(jù)。

在建立索引庫的整個(gè)過程中,索引管理器首先向索引庫發(fā)送攜帶有待建立索引的數(shù)據(jù)的建立索引請求,而索引庫在接收到建立索引請求后,直接根據(jù)建立索引請求中攜帶的數(shù)據(jù),建立索引。

后續(xù),數(shù)據(jù)庫中的數(shù)據(jù)有可能會(huì)存在更新的情況,如,新增了數(shù)據(jù),為了提高索引庫建立索引的效率,因此,當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)更新后,直接采用增量索引的方式,對數(shù)據(jù)庫中的更新的數(shù)據(jù)建立索引,增量索引指的是只對數(shù)據(jù)庫中有增加、更改、刪除的數(shù)據(jù),建立索引。

索引管理器會(huì)每隔一定的時(shí)間向索引庫發(fā)送攜帶有每個(gè)數(shù)據(jù)的最后更新時(shí)間的增量索引請求,索引庫在接收到索引管理器發(fā)送的增量索引請求后,直接將增量索引請求中攜帶的每個(gè)數(shù)據(jù)的最后更新時(shí)間,與索引庫中每個(gè)數(shù)據(jù)的最后建立索引時(shí)間進(jìn)行對比,如果增量索引請求中攜帶的每個(gè)數(shù)據(jù)的最后更新時(shí)間不超過索引庫中每個(gè)數(shù)據(jù)的最后建立索引時(shí)間,則說明數(shù)據(jù)庫中的數(shù)據(jù)都已經(jīng)在索引庫中建立了索引,也就是說,數(shù)據(jù)庫中的數(shù)據(jù)未出現(xiàn)更新的情況,索引庫根據(jù)該增量索引請求不做任何處理,如果增量索引請求中攜帶的每行數(shù)據(jù)的最后更新時(shí)間超過索引庫中每個(gè)數(shù)據(jù)的最后建立索引時(shí)間,則說明數(shù)據(jù)庫 中存在未在索引庫建立索引的數(shù)據(jù),也就是說,數(shù)據(jù)庫中的數(shù)據(jù)出現(xiàn)了更新的情況,索引庫直接從數(shù)據(jù)庫中獲取更新的數(shù)據(jù),并根據(jù)更新的數(shù)據(jù)建立索引。

但是,在現(xiàn)有技術(shù)中,如果數(shù)據(jù)庫中的數(shù)據(jù)出現(xiàn)更新的情況,索引管理器會(huì)將全部更新的數(shù)據(jù)同時(shí)添加到索引庫中,使索引庫根據(jù)全部更新的數(shù)據(jù)建立索引,這樣在數(shù)據(jù)庫中有大量的數(shù)據(jù)同時(shí)出現(xiàn)更新的情況時(shí),勢必會(huì)給索引庫帶來很大的運(yùn)行壓力。



技術(shù)實(shí)現(xiàn)要素:

本申請實(shí)施例提供一種索引建立的方法及裝置,用以解決現(xiàn)有技術(shù)中在數(shù)據(jù)庫中有大量的數(shù)據(jù)出現(xiàn)更新的情況時(shí),勢必會(huì)給索引庫帶來很大的運(yùn)行壓力的問題。

本申請實(shí)施例提供的一種索引建立的方法,所述方法包括:

確定待建立索引的各數(shù)據(jù);

確定所述各數(shù)據(jù)的數(shù)據(jù)類型;

根據(jù)所述各數(shù)據(jù)的數(shù)據(jù)類型,確定各數(shù)據(jù)的優(yōu)先級(jí);

根據(jù)所述各數(shù)據(jù)的優(yōu)先級(jí),確定為所述各數(shù)據(jù)建立索引的時(shí)間,其中,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩個(gè)數(shù)據(jù)建立索引的時(shí)間也不同;

針對所述各數(shù)據(jù),在確定的為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),為該數(shù)據(jù)建立索引。

本申請實(shí)施例提供的一種索引建立的裝置,所述裝置包括:

數(shù)據(jù)確定模塊,用于確定待建立索引的各數(shù)據(jù);

數(shù)據(jù)類型確定模塊,用于確定所述各數(shù)據(jù)的數(shù)據(jù)類型;

優(yōu)先級(jí)確定模塊,用于根據(jù)所述各數(shù)據(jù)的數(shù)據(jù)類型,確定各數(shù)據(jù)的優(yōu)先級(jí);

索引時(shí)間確定模塊,用于根據(jù)所述各數(shù)據(jù)的優(yōu)先級(jí),確定為所述各數(shù)據(jù)建立索引的時(shí)間,其中,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩 個(gè)數(shù)據(jù)建立索引的時(shí)間也不同;

索引建立模塊,用于針對所述各數(shù)據(jù),在確定的為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),為該數(shù)據(jù)建立索引。

本申請實(shí)施例提供一種索引建立的方法及裝置,該方法在建立索引時(shí),首先確定待建立索引的各數(shù)據(jù),再確定各數(shù)據(jù)的數(shù)據(jù)類型,據(jù)此確定各數(shù)據(jù)的優(yōu)先級(jí),并根據(jù)各數(shù)據(jù)的優(yōu)先級(jí),確定為各數(shù)據(jù)建立索引的時(shí)間,其中,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩個(gè)數(shù)據(jù)建立索引的時(shí)間也不同,針對各數(shù)據(jù),在確定的為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),為該數(shù)據(jù)建立索引。通過上述方法,即使在數(shù)據(jù)庫中有大量的數(shù)據(jù)同時(shí)出現(xiàn)更新時(shí),通過優(yōu)先級(jí)的方式將各數(shù)據(jù)按照不同的時(shí)間分別在索引庫中建立索引,有效的降低了索引庫的運(yùn)行壓力。

附圖說明

此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:

圖1為本申請實(shí)施例提供的索引建立的過程;

圖2為本申請實(shí)施例提供的索引建立系統(tǒng)的示意圖;

圖3為本申請實(shí)施例提供的索引建立的裝置結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。

圖1為本申請實(shí)施例提供的索引建立的過程,具體包括以下步驟:

s101:確定待建立索引的各數(shù)據(jù)。

在實(shí)際應(yīng)用中,為了能夠讓用戶更加快捷的查找到所需的數(shù)據(jù),通常需要根據(jù)數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù),在索引庫建立數(shù)據(jù)對應(yīng)的索引,并把索引庫對外提供給用戶。

在本申請實(shí)施例中,整個(gè)索引建立的系統(tǒng),如圖2所示。

進(jìn)一步的,在為數(shù)據(jù)建立索引的整個(gè)過程中,本申請首先確定待建立索引的各數(shù)據(jù),而確定待建立索引的各數(shù)據(jù)由圖2中所示的索引管理器完成的。

由于索引管理器需要知道到底為哪個(gè)數(shù)據(jù)建立索引,因此,在本申請中,可以通過索引管理器提取所有數(shù)據(jù)對應(yīng)的索引信息表,確定提取的各索引信息表中包含的索引狀態(tài),將索引狀態(tài)為待索引狀態(tài)或失敗狀態(tài)的數(shù)據(jù),作為待建立索引的數(shù)據(jù)。

在此需要說明的是,索引信息表存儲(chǔ)于圖2中的索引信息表庫,每個(gè)數(shù)據(jù)均對應(yīng)對一個(gè)索引信息表,該索引信息表中記錄了數(shù)據(jù)的索引狀態(tài),不同的索引狀態(tài)反映了為數(shù)據(jù)建立索引的情況,可以分為三種索引狀態(tài),即,待索引狀態(tài)、成功狀態(tài)、失敗狀態(tài),也就是說,通過索引狀態(tài)能夠知道該索引信息表對應(yīng)的數(shù)據(jù)是否已經(jīng)在索引庫中建立了索引,并且,為了降低索引信息表庫的存儲(chǔ)壓力,因此,索引信息表中記錄了數(shù)據(jù)的標(biāo)識(shí),后續(xù),索引管理器可在為該索引信息表中對應(yīng)的數(shù)據(jù)進(jìn)行索引時(shí),直接根據(jù)數(shù)據(jù)的標(biāo)識(shí)在數(shù)據(jù)庫中查找到數(shù)據(jù)。

例如,假設(shè)某企業(yè)的為了方便企業(yè)內(nèi)部人員方便快捷的獲取企業(yè)內(nèi)部的業(yè)務(wù)數(shù)據(jù),則建立了索引庫提供給企業(yè)內(nèi)部人員,為了簡單清楚的說明本發(fā)明的實(shí)施步驟,假設(shè)索引信息表庫中只包含有如表1所示的索引信息表:

表1

索引管理器掃描索引信息表庫中如表1所示的索引信息表,提取出表1中包含的待索引狀態(tài)(即,索引狀態(tài)),并將待索引狀態(tài)的業(yè)務(wù)數(shù)據(jù)a作為待建立索引的數(shù)據(jù),并執(zhí)行步驟s102。

s102:確定所述各數(shù)據(jù)的數(shù)據(jù)類型。

s103:根據(jù)所述各數(shù)據(jù)的數(shù)據(jù)類型,確定各數(shù)據(jù)的優(yōu)先級(jí)。

由于在實(shí)際應(yīng)用中,數(shù)據(jù)通常是有類型的,如,每個(gè)數(shù)據(jù)對應(yīng)著不同的業(yè)務(wù)類型,而不同類型的數(shù)據(jù)是有重要性之分的,也有實(shí)時(shí)性之分的,因此,在本申請中,為了降低索引庫為數(shù)據(jù)建立索引的壓力,可將數(shù)據(jù)按照重要性,實(shí)時(shí)性區(qū)分出優(yōu)先級(jí),也就是說,重要性較高、實(shí)時(shí)性較高的數(shù)據(jù)優(yōu)先級(jí)就高,重要性較低、實(shí)時(shí)性較低的數(shù)據(jù)優(yōu)先級(jí)就較低,而在本申請中,可以采用p0、p1、p2……pn的方式來表示優(yōu)先級(jí),其中,n越大,說明優(yōu)先級(jí)越低。

另外,在確定各數(shù)據(jù)的優(yōu)先級(jí)時(shí),也可以不根據(jù)數(shù)據(jù)的類型確定各數(shù)據(jù)的優(yōu)先級(jí),如,可以人工預(yù)先根據(jù)經(jīng)驗(yàn)設(shè)定各數(shù)據(jù)的優(yōu)先級(jí),后續(xù),同步管理器可直接確定預(yù)設(shè)的各數(shù)據(jù)的優(yōu)先級(jí)。

因此,同步管理器在確定出待建立索引的各數(shù)據(jù)后,可確定各數(shù)據(jù)的數(shù)據(jù) 類型,并根據(jù)各數(shù)據(jù)的數(shù)據(jù)類型,確定各數(shù)據(jù)的優(yōu)先級(jí)。

延續(xù)上例,假設(shè)同步管理器確定出業(yè)務(wù)數(shù)據(jù)a的數(shù)據(jù)類型,并根據(jù)該數(shù)據(jù)類型,確定出業(yè)務(wù)數(shù)據(jù)a的優(yōu)先級(jí)為p1,也就是如表1中所示的優(yōu)先級(jí)。

s104:根據(jù)所述各數(shù)據(jù)的優(yōu)先級(jí),確定為所述各數(shù)據(jù)建立索引的時(shí)間。

在本申請中,每個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為該數(shù)據(jù)建立索引的時(shí)間就不同,也就是說,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩個(gè)數(shù)據(jù)建立索引的時(shí)間也不同。

因此,在本申請中,同步管理器在確定出各數(shù)據(jù)的優(yōu)先級(jí)后,索引管理器需要根據(jù)每個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,確定為各數(shù)據(jù)建立索引的時(shí)間,而本申請?jiān)诖颂峁┝艘环N確定各數(shù)據(jù)建立索引的時(shí)間的方式:根據(jù)預(yù)設(shè)的各優(yōu)先級(jí)對應(yīng)的周期,確定為各數(shù)據(jù)建立索引對應(yīng)的周期,根據(jù)為各數(shù)據(jù)建立索引對應(yīng)的周期以及當(dāng)前時(shí)刻,確定為各數(shù)據(jù)建立索引的時(shí)間,也就是說,每個(gè)數(shù)據(jù)對應(yīng)的為該數(shù)據(jù)建立索引的時(shí)間為在當(dāng)前時(shí)刻的基礎(chǔ)上,加上優(yōu)先級(jí)對應(yīng)的周期,其中,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩個(gè)數(shù)據(jù)建立索引對應(yīng)的周期也不同。

延續(xù)上例,假設(shè)p0的周期為0分鐘,p1的周期為1分鐘,p2的周期為2分鐘……pn的周期為n分鐘,相鄰兩個(gè)優(yōu)先級(jí)之間差1分鐘,因此,同步管理器在確定出業(yè)務(wù)數(shù)據(jù)a的優(yōu)先級(jí)p1后,假設(shè)當(dāng)前時(shí)刻為12:10,則索引管理器根據(jù)業(yè)務(wù)數(shù)據(jù)a的優(yōu)先級(jí)p1,確定為業(yè)務(wù)數(shù)據(jù)a建立索引的時(shí)間為12:11。

s105:針對所述各數(shù)據(jù),在確定的為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),為該數(shù)據(jù)建立索引。

在本申請中,針對已經(jīng)確定出優(yōu)先級(jí)的各數(shù)據(jù),當(dāng)為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),索引管理器會(huì)根據(jù)該數(shù)據(jù)對應(yīng)的索引信息表中的數(shù)據(jù)標(biāo)識(shí),從數(shù)據(jù)庫中查詢出該數(shù)據(jù)標(biāo)識(shí)對應(yīng)的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給索引庫中,索引庫為該數(shù)據(jù)建立索引。

另外,由于在實(shí)際應(yīng)用中,不同類型的數(shù)據(jù)在建立索引時(shí),建立的方式通 常是不一樣的,從而導(dǎo)致了在編寫用于建立索引的索引處理工具的代碼不同,也就是說,如果新增一個(gè)數(shù)據(jù)類型的數(shù)據(jù),則需要重新編寫索引處理工具的代碼,因此,在為數(shù)據(jù)建立索引時(shí),可以針對不同類型的數(shù)據(jù),采用不同的索引處理器建立索引,這樣,后續(xù)即使新增加一種類型的數(shù)據(jù),只需要針對該類型的數(shù)據(jù),新增一個(gè)索引處理器即可,無需修改原來的索引處理器的代碼。

在此需要說明的是,索引處理器可以是如圖2所示的indexhandler,針對不同類型的數(shù)據(jù),可以創(chuàng)建不同的indexhandler,后續(xù),可以將各不同的indexhandler共同連接在如圖2所示的任務(wù)分配器上,每次當(dāng)需要為數(shù)據(jù)建立索引時(shí),可以通過該任務(wù)分配器確定出到底需要哪一個(gè)indexhandler來為該數(shù)據(jù)建立索引。

延續(xù)上例,索引管理器在確定出為業(yè)務(wù)數(shù)據(jù)a建立索引的時(shí)間為12:11后,直到索引管理器當(dāng)前查詢出當(dāng)前時(shí)刻為12:11,即,在確定的為該業(yè)務(wù)數(shù)據(jù)a建立索引的時(shí)間到達(dá)時(shí),索引管理器采用業(yè)務(wù)數(shù)據(jù)a對應(yīng)的索引處理工具,根據(jù)索引信息表中的業(yè)務(wù)數(shù)據(jù)a以及用戶a,在數(shù)據(jù)庫中查詢到業(yè)務(wù)數(shù)據(jù)a的全部數(shù)據(jù),將業(yè)務(wù)數(shù)據(jù)a的全部數(shù)據(jù)發(fā)送給索引庫,索引庫為業(yè)務(wù)數(shù)據(jù)a的全部數(shù)據(jù)建立索引。

通過上述方法,即使在數(shù)據(jù)庫中有大量的數(shù)據(jù)同時(shí)出現(xiàn)更新時(shí),通過優(yōu)先級(jí)的方式將各數(shù)據(jù)按照不同的時(shí)間分別在索引庫中建立索引,有效的降低了索引庫的運(yùn)行壓力。

由于在實(shí)際應(yīng)用中,數(shù)據(jù)庫中的數(shù)據(jù)會(huì)出現(xiàn)更新的情況,即,出現(xiàn)新增、更改、刪除的情況,因此,在本申請中,由圖2中所示的同步管理器來定時(shí)監(jiān)測數(shù)據(jù)庫中數(shù)據(jù)的變化,具體的,針對數(shù)據(jù)庫中的任一數(shù)據(jù),通過同步管理器監(jiān)測數(shù)據(jù)庫中的該數(shù)據(jù)對應(yīng)的最后更新時(shí)間是否超過該數(shù)據(jù)對應(yīng)的索引信息表中包含的最后更新時(shí)間,當(dāng)監(jiān)測到數(shù)據(jù)庫中的該數(shù)據(jù)對應(yīng)的最后更新時(shí)間超過該數(shù)據(jù)對應(yīng)的索引信息表中包含的最后更新時(shí)間時(shí),如果該數(shù)據(jù)在對應(yīng)的索引信息表中不存在,則在索引信息表中新增該數(shù)據(jù)并將該數(shù)據(jù)的索引狀態(tài)設(shè)置 為待索引狀態(tài),如果該數(shù)據(jù)已經(jīng)存在于索引信息表中,則直接將該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)更改為待索引狀態(tài)。

例如,同步管理器監(jiān)測數(shù)據(jù)庫中數(shù)據(jù)的變化,假設(shè)數(shù)據(jù)庫中的數(shù)據(jù)b已經(jīng)存在索引信息表中,并且在120:00被更新,此時(shí)同步管理器監(jiān)測到數(shù)據(jù)b對應(yīng)的最后更新時(shí)間12:00超過了該數(shù)據(jù)b對應(yīng)的索引信息表中包含的最后更新時(shí)間11:50,因此,將該數(shù)據(jù)b對應(yīng)的索引信息表中的索引狀態(tài)更改為待索引狀態(tài)。

考慮到實(shí)際應(yīng)用中,為了能夠便于后續(xù)管理和查詢?yōu)閿?shù)據(jù)建立索引的情況,因此,在本申請中,針對任一待建立索引的數(shù)據(jù),當(dāng)為該數(shù)據(jù)建立索引失敗時(shí),通過同步管理器將該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)更改為失敗狀態(tài),并且將該數(shù)據(jù)對應(yīng)的索引信息表中包含的失敗次數(shù)加1,當(dāng)為該數(shù)據(jù)建立索引成功時(shí),通過同步管理器將該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)更改為成功狀態(tài),并且將該數(shù)據(jù)對應(yīng)的索引信息表中包含的失敗次數(shù)置為0,當(dāng)該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)為失敗狀態(tài),且失敗次數(shù)超過預(yù)設(shè)的閾值時(shí),不為該數(shù)據(jù)建立索引。

在此需要說明的是,針對任一待建立索引的數(shù)據(jù),當(dāng)為該數(shù)據(jù)建立索引失敗,但失敗次數(shù)沒有超過預(yù)設(shè)的閾值時(shí),可以通過索引管理器根據(jù)該數(shù)據(jù)的優(yōu)先級(jí)對應(yīng)的周期,確定再次為該數(shù)據(jù)建立索引的時(shí)間(如,可以直接在之前為該數(shù)據(jù)建立索引失敗時(shí)所對應(yīng)時(shí)刻的基礎(chǔ)上,直接加上該數(shù)據(jù)的優(yōu)先級(jí)對應(yīng)的一個(gè)周期),并在再次為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),為該數(shù)據(jù)建立索引。

延續(xù)步驟s105中的例子,索引管理器在為業(yè)務(wù)數(shù)據(jù)a的全部數(shù)據(jù)建立索引的過程中,可能由于系統(tǒng)不穩(wěn)定導(dǎo)致建立索引失敗,則將該業(yè)務(wù)數(shù)據(jù)a對應(yīng)的索引信息表中的索引狀態(tài)更改為失敗狀態(tài),并將該業(yè)務(wù)數(shù)據(jù)a對應(yīng)的索引信息表中包含的失敗次數(shù)加1,如表2所示:

表2

后續(xù),索引管理器確定出為業(yè)務(wù)數(shù)據(jù)a建立索引失敗的失敗次數(shù)沒有超過3次(假設(shè)預(yù)設(shè)的閾值為3次),根據(jù)業(yè)務(wù)數(shù)據(jù)a的優(yōu)先級(jí)對應(yīng)的周期,即,1分鐘,確定再次為業(yè)務(wù)數(shù)據(jù)a建立索引的時(shí)間為12:12(假設(shè)采用上述提到的確定再次為該數(shù)據(jù)建立索引的時(shí)間的方式),在為業(yè)務(wù)數(shù)據(jù)a建立索引的時(shí)間到達(dá)時(shí),即,12:12,再次為業(yè)務(wù)數(shù)據(jù)a的全部數(shù)據(jù)建立索引,并成功的建立了索引,則將該業(yè)務(wù)數(shù)據(jù)a對應(yīng)的索引信息表中的索引狀態(tài)更改為成功狀態(tài),且將該業(yè)務(wù)數(shù)據(jù)a對應(yīng)的索引信息表中包含的失敗次數(shù)置為0,如表3所示:

表3

另外,針對任一待建立索引的數(shù)據(jù),當(dāng)為該數(shù)據(jù)建立索引失敗時(shí),可以在該數(shù)據(jù)對應(yīng)的索引信息表中添加建立索引失敗的原因,后續(xù),可根據(jù)該索引信息表中的建立索引失敗的原因,采取相應(yīng)的措施來防止再次出現(xiàn)這樣的索引失敗。

在實(shí)際應(yīng)用中,有可能存在數(shù)據(jù)庫中的某數(shù)據(jù)被刪除,而索引庫中還存在該數(shù)據(jù)的情況,因此,在本申請中,可以通過同步管理器確定數(shù)據(jù)庫中待刪除的各數(shù)據(jù),根據(jù)確定出的待刪除的各數(shù)據(jù),通過同步管理器將待刪除的各數(shù)據(jù)對應(yīng)的索引信息表進(jìn)行標(biāo)記,后續(xù),通過索引管理器確定標(biāo)記的索引信息表對應(yīng)的數(shù)據(jù)的索引,對確定出的索引進(jìn)行標(biāo)記,索引庫可按照設(shè)定的時(shí)間間隔掃描具有標(biāo)記的索引,并將掃描出的具有標(biāo)記的索引刪除,從而可有效的減少索引庫的高峰壓力。

例如,假設(shè)數(shù)據(jù)庫將數(shù)據(jù)a刪除掉了,此時(shí)同步管理器開始掃描數(shù)據(jù)庫,確定出待刪除的業(yè)務(wù)數(shù)據(jù)a,并根據(jù)確定出待刪除的業(yè)務(wù)數(shù)據(jù)a,直接對待刪除的業(yè)務(wù)數(shù)據(jù)a對應(yīng)的索引信息表進(jìn)行標(biāo)記,如表4所示:

表4

索引管理器在索引庫中確定索引信息表(即,表4)對應(yīng)的業(yè)務(wù)數(shù)據(jù)a的索引,對確定出的索引進(jìn)行標(biāo)記,后續(xù),索引庫可按照設(shè)定的時(shí)間間隔掃描具有標(biāo)記的索引,并將掃描出的具有標(biāo)記的索引刪除。

在此需要說明的是,以上之所以采用將待刪除的各數(shù)據(jù)對應(yīng)的索引信息表進(jìn)行標(biāo)記的方式,主要是因?yàn)闉榱瞬唤o整個(gè)索引建立的系統(tǒng)增加額外的運(yùn)行壓力,只是在索引庫中對確定出的索引進(jìn)行標(biāo)記,表示該數(shù)據(jù)在索引庫中已經(jīng)刪除,但并不是真正的刪除了,只是用戶在搜索與該數(shù)據(jù)相關(guān)的數(shù)據(jù)時(shí),不會(huì)向用戶提供該數(shù)據(jù)。

以上為本申請實(shí)施例提供的一種索引建立的方法,基于同樣的思路,本申請實(shí)施例還提供了一種索引建立的裝置,如圖3所示。

圖3為本申請實(shí)施例提供的索引建立的裝置結(jié)構(gòu)示意圖,所述裝置包括:

數(shù)據(jù)確定模塊301,用于確定待建立索引的各數(shù)據(jù);

數(shù)據(jù)類型確定模塊302,用于確定所述各數(shù)據(jù)的數(shù)據(jù)類型;

優(yōu)先級(jí)確定模塊303,用于根據(jù)所述各數(shù)據(jù)的數(shù)據(jù)類型,確定各數(shù)據(jù)的優(yōu)先級(jí);

索引時(shí)間確定模塊304,用于根據(jù)所述各數(shù)據(jù)的優(yōu)先級(jí),確定為所述各數(shù)據(jù)建立索引的時(shí)間,其中,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩個(gè)數(shù)據(jù)建立索引的時(shí)間也不同;

索引建立模塊305,用于針對所述各數(shù)據(jù),在確定的為該數(shù)據(jù)建立索引的時(shí)間到達(dá)時(shí),為該數(shù)據(jù)建立索引。

所述數(shù)據(jù)確定模塊301具體用于,通過索引管理器提取所有數(shù)據(jù)對應(yīng)的索引信息表,確定提取的各索引信息表中包含的索引狀態(tài),將索引狀態(tài)為待索引狀態(tài)或失敗狀態(tài)的數(shù)據(jù),作為待建立索引的數(shù)據(jù)。

所述裝置還包括:

監(jiān)測模塊306,用于針對數(shù)據(jù)庫中的任一數(shù)據(jù),通過同步管理器監(jiān)測數(shù)據(jù)庫中的該數(shù)據(jù)對應(yīng)的最后更新時(shí)間是否超過該數(shù)據(jù)對應(yīng)的索引信息表中包含的最后更新時(shí)間,當(dāng)監(jiān)測到數(shù)據(jù)庫中的該數(shù)據(jù)對應(yīng)的最后更新時(shí)間超過該數(shù)據(jù)對應(yīng)的索引信息表中包含的最后更新時(shí)間時(shí),如果該數(shù)據(jù)在對應(yīng)的索引信息表中不存在,則在索引信息表中新增該數(shù)據(jù)并將該數(shù)據(jù)的索引狀態(tài)設(shè)置為待索引狀態(tài),如果該數(shù)據(jù)已經(jīng)存在于索引信息表中,則直接將該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)更改為待索引狀態(tài)。

所述索引時(shí)間確定模塊304具體用于,根據(jù)預(yù)設(shè)的各優(yōu)先級(jí)對應(yīng)的周期,確定為所述各數(shù)據(jù)建立索引對應(yīng)的周期,其中,針對任意兩個(gè)數(shù)據(jù),若兩個(gè)數(shù)據(jù)的優(yōu)先級(jí)不同,則為兩個(gè)數(shù)據(jù)建立索引對應(yīng)的周期也不同,根據(jù)為所述各數(shù)據(jù)建立索引對應(yīng)的周期以及當(dāng)前時(shí)刻,確定為所述各數(shù)據(jù)建立索引的時(shí)間。

所述裝置還包括:

索引狀態(tài)更改模塊307,用于針對任一待建立索引的數(shù)據(jù),當(dāng)為該數(shù)據(jù)建立索引失敗時(shí),通過同步管理器將該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)更改為失敗狀態(tài),并且將該數(shù)據(jù)對應(yīng)的索引信息表中包含的失敗次數(shù)加1,當(dāng)為該數(shù)據(jù)建立索引成功時(shí),通過同步管理器將該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)更改為成功狀態(tài),并且將該數(shù)據(jù)對應(yīng)的索引信息表中包含的失敗次數(shù)置為0, 當(dāng)該數(shù)據(jù)對應(yīng)的索引信息表中的索引狀態(tài)為失敗狀態(tài),且失敗次數(shù)超過預(yù)設(shè)的閾值時(shí),不為該數(shù)據(jù)建立索引。

所述裝置還包括:

原因添加模塊308,用于所述索引建立模塊305為該數(shù)據(jù)建立索引失敗時(shí),在該數(shù)據(jù)對應(yīng)的索引信息表中添加建立索引失敗的原因。

所述裝置還包括:

刪除模塊309,用于通過同步管理器確定數(shù)據(jù)庫中待刪除的各數(shù)據(jù),根據(jù)確定出的待刪除的各數(shù)據(jù),通過同步管理器將待刪除的各數(shù)據(jù)對應(yīng)的索引信息表進(jìn)行標(biāo)記,通過索引管理器確定標(biāo)記的索引信息表對應(yīng)的數(shù)據(jù)的索引,對確定出的索引進(jìn)行標(biāo)記,按照設(shè)定的時(shí)間間隔掃描具有標(biāo)記的索引,并將掃描出的具有標(biāo)記的索引刪除。

所述索引建立模塊305具體用于,針對不同類型的數(shù)據(jù),采用不同的索引處理工具建立索引。

在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。

計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信 息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。

本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

以上所述僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
湾仔区| 沽源县| 舒兰市| 旬阳县| 石家庄市| 深泽县| 当雄县| 余干县| 武义县| 中阳县| 龙川县| 紫云| 钦州市| 公主岭市| 南漳县| 宁远县| 四川省| 弋阳县| 吉林省| 米脂县| 松滋市| 吴堡县| 海门市| 涪陵区| 黄骅市| 泸溪县| 宁远县| 普兰县| 侯马市| 香河县| 南宁市| 昭平县| 措勤县| 丹巴县| 六安市| 共和县| 麦盖提县| 冕宁县| 察哈| 新邵县| 三明市|