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

一種處理增量索引合并失敗的方法及裝置的制造方法

文檔序號(hào):9350010閱讀:318來源:國(guó)知局
一種處理增量索引合并失敗的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種處理增量索引合并失敗的方法及裝置。
【背景技術(shù)】
[0002]近年來,數(shù)據(jù)庫得到越來越廣泛的應(yīng)用,其中索引作為數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。
[0003]在數(shù)據(jù)庫中,索引相對(duì)于數(shù)據(jù)庫的SQL語句執(zhí)行得更快。索引的作用相當(dāng)于圖書的目錄,可以根據(jù)目錄中的頁碼快速找到所需的內(nèi)容。當(dāng)數(shù)據(jù)庫中有大量記錄時(shí),若要對(duì)數(shù)據(jù)庫進(jìn)行查詢,若采用非索引的方式搜索,需要將所有記錄一一取出,和查詢條件進(jìn)行一一對(duì)比,然后返回滿足條件的記錄,會(huì)消耗大量數(shù)據(jù)庫系統(tǒng)時(shí)間,導(dǎo)致大量磁盤I/O操作;若采用索引的方式搜索,在索引中找到符合查詢條件的索引值,可快速找到數(shù)據(jù)庫中對(duì)應(yīng)的記錄。
[0004]數(shù)據(jù)庫中增加新的數(shù)據(jù),不僅需要更新數(shù)據(jù)庫本身,還需要更新與數(shù)據(jù)庫對(duì)應(yīng)的索引。新增加的索引會(huì)根據(jù)新增加的數(shù)據(jù)而產(chǎn)生,為了使索引與更新后的數(shù)據(jù)庫相匹配,需要同步更新索引,即將新增加的索引合并到總索引中。在合并的過程中,會(huì)有一定的概率發(fā)生合并錯(cuò)誤的情況?,F(xiàn)有技術(shù)中,需要監(jiān)測(cè)工具對(duì)合并過程進(jìn)行實(shí)時(shí)監(jiān)測(cè),若發(fā)生合并失敗的狀況,會(huì)根據(jù)監(jiān)測(cè)到的問題,重新建立新的索引。在此過程中,大部分將新增加的索引合并到總索引的操作是會(huì)成功的。若每次合并過程都加入監(jiān)測(cè)工具,監(jiān)測(cè)工具實(shí)時(shí)的監(jiān)控合并的過程,會(huì)占用較多的系統(tǒng)資源,影響數(shù)據(jù)庫更新的效率。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供一種處理增量索引合并失敗的方法及裝置,用在不需要監(jiān)測(cè)工具來實(shí)時(shí)監(jiān)測(cè)合并的過程的情況下,處理發(fā)生合并增量索引和總索引合并失敗的情況。
[0006]根據(jù)本公開實(shí)施例的第一方面,提供一種處理增量索引合并失敗的方法,在服務(wù)器端,包括:
[0007]執(zhí)行將增量索引合并到總索引的處理;
[0008]判斷所述處理是否失敗;
[0009]在所述處理失敗時(shí),重新執(zhí)行所述處理;
[0010]當(dāng)重新執(zhí)行的所述處理失敗時(shí),重新創(chuàng)建所述增量索引。
[0011]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:無需監(jiān)測(cè)工具來實(shí)時(shí)監(jiān)測(cè)合并的過程,就可以處理增量索引合并失敗的問題,降低了系統(tǒng)資源的消耗的同時(shí),提高了總索引更新的效率。
[0012]在一個(gè)實(shí)施例中,在所述處理失敗時(shí),重新執(zhí)行所述處理,包括:
[0013]在所述處理失敗時(shí),將所述總索引回滾到合并所述增量索引前的起始狀態(tài);
[0014]重新將所述增量索引合并到所述總索引。
[0015]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:保證了總索引始終維持在正確的狀態(tài)下,保證了總索引的所有數(shù)據(jù)的可靠性和準(zhǔn)確性。
[0016]在一個(gè)實(shí)施例中,所述重新將所述增量索引合并到所述總索引,包括:
[0017]重新執(zhí)行至少一次將所述增量索引合并到所述總索引的處理,其中:
[0018]在每重新執(zhí)行一次之后,判斷本次執(zhí)行是否成功,當(dāng)本次執(zhí)行失敗時(shí),繼續(xù)重新執(zhí)行所述處理,直到執(zhí)行成功時(shí)結(jié)束、或者直到重新執(zhí)行的失敗次數(shù)達(dá)到預(yù)設(shè)閾值時(shí),停止重新執(zhí)行所述處理。
[0019]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:在無需監(jiān)測(cè)工具進(jìn)行實(shí)時(shí)監(jiān)控的情況下,通過本實(shí)施例的方法推斷出將增量索引合并到總索引失敗的原因,系統(tǒng)無需承擔(dān)監(jiān)測(cè)工具進(jìn)行實(shí)時(shí)監(jiān)測(cè)所消耗的系統(tǒng)資源,保證了系統(tǒng)的高效運(yùn)行效率。
[0020]在一個(gè)實(shí)施例中,所述當(dāng)重新執(zhí)行的所述處理失敗時(shí),重新創(chuàng)建所述增量索引,包括:
[0021]當(dāng)所述重新執(zhí)行的失敗次數(shù)達(dá)到預(yù)設(shè)閾值時(shí),重新創(chuàng)建所述增量索引。
[0022]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:判斷重新執(zhí)行的失敗次數(shù)是否達(dá)到預(yù)設(shè)閾值的數(shù)值,使用預(yù)設(shè)閾值時(shí),可以避免系統(tǒng)進(jìn)行額外的合并操作,同時(shí)不至于因?yàn)閳?zhí)行合并操作太少,導(dǎo)致錯(cuò)過正確的增量索引。
[0023]在一個(gè)實(shí)施例中,在重新創(chuàng)建所述增量索引之前,包括如下步驟S51:
[0024]在步驟S51中,刪除所述增量索引。
[0025]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:在根據(jù)生成原增量索引的數(shù)據(jù),重新創(chuàng)建一個(gè)新的增量索引之前,刪除原增量索引,可以避免不同增量索引之間的相互干擾,使索引更新系統(tǒng)運(yùn)行更穩(wěn)定。
[0026]根據(jù)本公開實(shí)施例的第二方面,提供一種處理增量索引合并失敗的裝置,在服務(wù)器端,包括:
[0027]合并模塊,用于執(zhí)行將增量索引合并到總索引的處理;
[0028]判斷模塊,用于判斷所述處理是否失?。?br>[0029]重執(zhí)模塊,用于在所述處理失敗時(shí),重新執(zhí)行所述處理;
[0030]重建模塊,用于當(dāng)重新執(zhí)行的所述處理失敗時(shí),重新創(chuàng)建所述增量索引。
[0031 ] 在一個(gè)實(shí)施例中,所述合并模塊,包括:
[0032]回滾子模塊,用于在所述處理失敗時(shí),將所述總索引回滾到合并所述增量索引前的起始狀態(tài);
[0033]合并子模塊,用于重新將所述增量索引合并到所述總索引。
[0034]在一個(gè)實(shí)施例中,所述合并子模塊,還用于重新執(zhí)行至少一次將所述增量索引合并到所述總索引的處理,其中:在每重新執(zhí)行一次之后,判斷本次執(zhí)行是否成功,當(dāng)本次執(zhí)行失敗時(shí),繼續(xù)重新執(zhí)行所述處理,直到執(zhí)行成功時(shí)結(jié)束、或者直到重新執(zhí)行的失敗次數(shù)達(dá)到預(yù)設(shè)閾值時(shí),停止重新執(zhí)行所述處理。
[0035]在一個(gè)實(shí)施例中,所述重建模塊,包括:
[0036]重建子模塊,用于當(dāng)所述重新執(zhí)行的失敗次數(shù)達(dá)到預(yù)設(shè)閾值時(shí),重新創(chuàng)建所述增量索引。
[0037]在一個(gè)實(shí)施例中,所述裝置還包括:
[0038]刪除模塊,用于在所述重建模塊重新創(chuàng)建所述增量索引之前,刪除所述增量索引。
[0039]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0040]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【附圖說明】
[0041]附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0042]圖1為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的方法流程圖;
[0043]圖2為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的方法流程圖;
[0044]圖3為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的方法流程圖;
[0045]圖4為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的方法流程圖;
[0046]圖5為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的方法流程圖;
[0047]圖6為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的裝置框圖;
[0048]圖7為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的裝置框圖;
[0049]圖8為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的裝置框圖;
[0050]圖9為本發(fā)明一示例性實(shí)施例示出的一種處理增量索引合并失敗的裝置框圖;
【具體實(shí)施方式】
[0051]以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0052]數(shù)據(jù)庫中增加新的數(shù)據(jù),不僅需要更新數(shù)據(jù)庫本身,還需要更新與數(shù)據(jù)庫對(duì)應(yīng)的索引。新增加的索引會(huì)根據(jù)新增加的數(shù)據(jù)而產(chǎn)生,為了使索引與更新后的數(shù)據(jù)庫相匹配,需要同步更新索引,即將新增加的索引合并到總索引中。索引與數(shù)據(jù)庫之間的關(guān)系,相當(dāng)于一本書的目錄與正文之間關(guān)系。所有索引數(shù)據(jù)分布在多個(gè)服務(wù)器下對(duì)應(yīng)數(shù)據(jù)庫中的多個(gè)分表中,索引分片是在每個(gè)服務(wù)器單獨(dú)進(jìn)行,根據(jù)分片總數(shù),將該服務(wù)器數(shù)據(jù)均勻的分布到各個(gè)索引分片中。
[0053]當(dāng)數(shù)據(jù)庫中有大量記錄時(shí),對(duì)數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行查詢有兩種方式。第一種搜索的方式是搜索整個(gè)數(shù)據(jù)庫,將查詢條件與數(shù)據(jù)庫中的所有數(shù)據(jù)進(jìn)行逐一對(duì)比,然后返回符合查詢條件的數(shù)據(jù);第二種搜索的方式是在搜索引擎中建立索引,在索引中找到符合查詢條件的記錄,再根據(jù)索引與數(shù)據(jù)庫的對(duì)應(yīng)關(guān)系,快捷的查詢到數(shù)據(jù)庫中對(duì)應(yīng)的記錄。采用第一種查詢方式,會(huì)消耗大量數(shù)據(jù)庫系統(tǒng)資源,同時(shí)造成大量磁盤I/O操作;采用第二種方式,雖然索引本身也占據(jù)一定的物理存儲(chǔ)空間,但是在查詢數(shù)據(jù)時(shí),可以大大加快檢索速度,避免大量不必要的磁盤I/O操作。
[0054]圖1是根據(jù)一示例性實(shí)施例示出的一種處理增量索引合并失敗的方法流程圖,如圖1所示,該處理增量索引合并失敗的方法用于服務(wù)器端,包括以下步驟S11-S14:
[0055]在步驟Sll中,執(zhí)行將增量索引合并到總索引的處理;
[0056]在步驟S12中,判斷所述處理是否失??;
[0057]在步驟S13中,在所述處理失敗時(shí),重新執(zhí)行所述處理;
[0058]在步驟S14中,當(dāng)重新執(zhí)行的所述處理失敗時(shí),重新創(chuàng)建所述增量索引。
[0059]在一個(gè)實(shí)施例中,當(dāng)數(shù)據(jù)庫中的增加新的數(shù)據(jù)時(shí),索引也需要實(shí)時(shí)的做出相應(yīng)的變更。將變更的索引數(shù)據(jù)存儲(chǔ)在增量索引中,當(dāng)該增量索引滿足預(yù)設(shè)的條件的時(shí)候,嘗試將該增量索引合并到總索引中,在合并的過程中是依此將增量索引中的信息寫入總索引中的,在這個(gè)過程中,可能會(huì)出現(xiàn)據(jù)合并錯(cuò)誤的情況。在沒有監(jiān)測(cè)工具來實(shí)時(shí)監(jiān)測(cè)合并過程的情況下,只需要判斷總索引是否完整且正確的接收了增量索引中的內(nèi)容,即判斷增量索引合并是否成功。在合并成功的情況下,開始下一輪的合并增量索引的過程,即根據(jù)新的數(shù)據(jù)生成新的增量索引,嘗試將新的索引合并到總索引中;在合并失敗的情況下,首先將總索引回滾到合并該增量索引之前的狀態(tài),然后重新合并該增量索引到總索引中。當(dāng)增量索引合并到總索引的失敗次數(shù)達(dá)到預(yù)設(shè)閾值時(shí),不再重新執(zhí)行增量索引合并到總索引的處理,根據(jù)生成原增量索引的信息創(chuàng)建一個(gè)新的增量索引。
[0060]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:無需監(jiān)測(cè)工具來實(shí)時(shí)監(jiān)測(cè)增量索引與總索引合并的過程,就可以處理增量索引合并失敗的問題,降低了系統(tǒng)資源的消耗的同時(shí),提高了總索引更新的效率。
[0061]在一個(gè)實(shí)施例中,如圖2所示,還包括如下步驟S21-S22:
[0062]在步驟S21中,在所述處理失敗時(shí),將所述總索引回滾到合并所述增量索引前的起始狀態(tài);
[006
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
登封市| 永济市| 水富县| 剑川县| 绍兴县| 邵阳县| 灌阳县| 屏东县| 行唐县| 滦平县| 万宁市| 自贡市| 景洪市| 建始县| 托克逊县| 绥江县| 崇文区| 沅陵县| 海门市| 大石桥市| 溧阳市| 天气| 白沙| 井陉县| 台中市| 宿松县| 兴安县| 洛阳市| 同江市| 株洲县| 阜城县| 宁海县| 岱山县| 加查县| 盐城市| 宜兰市| 剑河县| 开阳县| 平舆县| 屏东市| 邢台县|