国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種搜索引擎索引功能的測試方法和裝置制造方法

      文檔序號:6487669閱讀:216來源:國知局
      一種搜索引擎索引功能的測試方法和裝置制造方法
      【專利摘要】本申請?zhí)峁┝艘环N搜索引擎索引功能的測試方法和裝置,其中的方法具體包括:利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎;將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。本申請能夠提高搜索引擎索引功能的測試效率。
      【專利說明】一種搜索引擎索引功能的測試方法和裝置
      【技術(shù)領(lǐng)域】
      [0001]本申請涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,特別是涉及一種搜索引擎索引功能的測試方法和裝置。
      【背景技術(shù)】
      [0002]搜索引擎是指根據(jù)一定的策略,運(yùn)用特定的計(jì)算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng),其所實(shí)現(xiàn)的功能概括來說就是數(shù)據(jù)預(yù)處理、建立索引和接受查詢請求并返回結(jié)果。其中,數(shù)據(jù)預(yù)處理是指根據(jù)搜索引擎要求,把經(jīng)各種渠道獲得的數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù);建立索引是指根據(jù)結(jié)構(gòu)化數(shù)據(jù)中的各種字段建立相應(yīng)的索引;接受查詢請求并返回結(jié)果是指使用查詢關(guān)鍵詞對建立的索引進(jìn)行檢索,并返回檢索到的索引所指向的結(jié)構(gòu)化數(shù)據(jù)。
      [0003]一般來說,搜索引擎版本的更新是很頻繁的,而在每次更新完畢后都要對更新后的搜索引擎(相對于更新前的舊版本搜索引擎,更新完畢后的搜索引擎可以稱為新版本搜索引擎)進(jìn)行功能和性能測試以判斷其是否滿足功能與性能要求。
      [0004]現(xiàn)有技術(shù)一種搜索引擎索引功能的測試方法,通過檢索的間接手段來完成搜索引擎索引功能的測試;該間接檢索預(yù)置檢索結(jié)果和相應(yīng)的檢索條件,并依據(jù)該檢索條件在索引的結(jié)構(gòu)化數(shù)據(jù)下進(jìn)行相關(guān)的檢索,并通過對比實(shí)際檢索結(jié)果和預(yù)置檢索結(jié)果,若二者相同則測試通過,否則測試不通過。
      [0005]為了保證測試的覆蓋率,現(xiàn)有技術(shù)的間接檢索需要遍歷所有的索引;然而搜索引擎的索引數(shù)目眾多,且單個(gè)索引下面的數(shù)據(jù)記錄的數(shù)量也巨大,在實(shí)際應(yīng)用中,間接檢索需要對數(shù)億條數(shù)據(jù)記錄進(jìn)行逐個(gè)的檢索,導(dǎo)致測試時(shí)間的增加和測試效率的降低。而目前敏捷開發(fā)導(dǎo)致搜索引擎版本的更新周期縮短到3天甚至更短,故現(xiàn)有技術(shù)在測試效率上很難滿足搜索引擎版本的更新速度的要求。
      [0006]總之,需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是:如何能夠提高搜索引擎索引功能的測試效率。

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

      [0007]本申請所要解決的技術(shù)問題是提供一種搜索引擎索引功能的測試方法和裝置,能夠提高搜索引擎索引功能的測試效率。
      [0008]為了解決上述問題,本申請公開了一種搜索引擎索引功能的測試方法,包括:
      [0009]利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎;
      [0010]將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。
      [0011]優(yōu)選的,所述將舊版索引文件和新版索引文件作為文件流進(jìn)行內(nèi)容的對比的步驟進(jìn)一步包括:
      [0012]將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部或部分內(nèi)容的對比。
      [0013]優(yōu)選的,所述將舊版索引文件和新版索引文件作為文件流,進(jìn)行部分內(nèi)容的對比的步驟,進(jìn)一步包括:
      [0014]分別提取舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù);所述相同位置區(qū)間用于表示從所述舊版索引文件流和新版索引文件流提取數(shù)據(jù)時(shí)采用的區(qū)間位置相同;
      [0015]分別對所述舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù)進(jìn)行比較,在所有相同位置區(qū)間的數(shù)據(jù)比較結(jié)果均為相同時(shí)測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在不同時(shí)測試不通過。
      [0016]優(yōu)選的,可以通過下列步驟提取文件流上區(qū)間的數(shù)據(jù):
      [0017]獲取文件流的文件指針;
      [0018]通過文件指針偏移的方式確定區(qū)間的起端位置,并依據(jù)文件指針從區(qū)間的起端位置起讀取文件流上長度與區(qū)間長度相應(yīng)的數(shù)據(jù)。
      [0019]優(yōu)選的,可以通過下列步驟獲取區(qū)間的起端位置:
      [0020]依據(jù)預(yù)置的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,獲取各區(qū)間的起端位置;所述獲取過程包括:將在前區(qū)間的起始位置與在前區(qū)間的區(qū)間長度及在前區(qū)間與在后區(qū)間的區(qū)間間隔長度之和作為在后區(qū)間的起端位置。
      [0021]優(yōu)選的,可以通過下列步驟獲取區(qū)間的起端位置:
      [0022]確定文件流長度和區(qū)間個(gè)數(shù);
      [0023]產(chǎn)生數(shù)值在文件流長度范圍內(nèi)的數(shù)量與二倍于區(qū)間個(gè)數(shù)相應(yīng)的隨機(jī)數(shù);
      [0024]依據(jù)所述隨機(jī)數(shù)獲取各區(qū)間的起始位置。
      [0025]優(yōu)選的,所述文件流為文本流或者二進(jìn)制流。
      [0026]另一方面,本申請還公開了一種搜索引擎索引功能的測試裝置,包括:
      [0027]索引模塊,用于利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎;
      [0028]對比模塊,用于將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對t匕,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。
      [0029]優(yōu)選的,所述對比模塊進(jìn)一步包括:
      [0030]全部對比子模塊,用于將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部內(nèi)容的對比;或者
      [0031]部分對比子模塊,用于將舊版索引文件和新版索引文件作為文件流,進(jìn)行部分內(nèi)容的對比。
      [0032]優(yōu)選的,所述部分對比子模塊進(jìn)一步包括:
      [0033]區(qū)間提取單元,用于分別提取舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù);所述相同位置區(qū)間用于表示從所述舊版索引文件流和新版索引文件流提取數(shù)據(jù)時(shí)采用的區(qū)間位置相同;及
      [0034]比較單元,用于分別對所述舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù)進(jìn)行比較,在所有相同位置區(qū)間的數(shù)據(jù)比較結(jié)果均為相同時(shí)測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在不同時(shí)測試不通過。
      [0035]優(yōu)選的,所述裝置還包括:用于提取文件流上區(qū)間的數(shù)據(jù)的文件流區(qū)間數(shù)據(jù)提取模塊;
      [0036]所述文件流區(qū)間數(shù)據(jù)提取模塊進(jìn)一步包括:
      [0037]指針獲取子模塊,用于獲取文件流的文件指針;及
      [0038]讀取子模塊,用于通過文件指針偏移量的方式確定區(qū)間的起端位置,并依據(jù)文件指針從區(qū)間的起端位置起讀取文件流上長度與區(qū)間長度相應(yīng)的數(shù)據(jù)。
      [0039]優(yōu)選的,所述裝置還包括:用于獲取區(qū)間的起端位置的起端位置獲取模塊;
      [0040]所述起端位置獲取模塊進(jìn)一步包括:
      [0041]預(yù)置獲取子模塊,用于依據(jù)預(yù)置的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,獲取各區(qū)間的起端位置;所述獲取過程包括:將在前區(qū)間的起始位置與在前區(qū)間的區(qū)間長度及在前區(qū)間與在后區(qū)間的區(qū)間間隔長度之和作為在后區(qū)間的起端位置。
      [0042]優(yōu)選的,所述裝置還包括:用于獲取區(qū)間的起端位置的起端位置獲取模塊;
      [0043]所述起端位置獲取模塊進(jìn)一步包括:
      [0044]確定子模塊,用于確定文件流長度和區(qū)間個(gè)數(shù);
      [0045]隨機(jī)數(shù)子模塊,用于產(chǎn)生數(shù)值在文件流長度范圍內(nèi)的數(shù)量與二倍于區(qū)間個(gè)數(shù)相應(yīng)的隨機(jī)數(shù);
      [0046]隨機(jī)獲取子模塊,用于依據(jù)所述隨機(jī)數(shù)獲取各區(qū)間的起始位置。
      [0047]優(yōu)選的,所述文件流為文本流或者二進(jìn)制流。
      [0048]與現(xiàn)有技術(shù)相比,本申請具有以下優(yōu)點(diǎn):
      [0049]本申請利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)的新版索引文件,并基于文件流對比的方式對舊版索引文件和新版索引文件進(jìn)行測試,得到相應(yīng)的測試結(jié)果;本申請只需將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比即可完成新版本搜索引擎索引功能的測試,由于能夠避免現(xiàn)有技術(shù)中對數(shù)億條數(shù)據(jù)記錄進(jìn)行逐個(gè)的檢索,因此能夠有效提高搜索引擎索引功能的測試效率。
      【專利附圖】

      【附圖說明】
      [0050]圖1是本申請一種搜索引擎索引功能的測試方法實(shí)施例的流程圖;
      [0051]圖2是本申請一種搜索引擎索引功能的測試裝置實(shí)施例的結(jié)構(gòu)圖。
      【具體實(shí)施方式】
      [0052]為使本申請的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本申請作進(jìn)一步詳細(xì)的說明。
      [0053]參照圖1,示出了本申請一種搜索引擎索引功能的測試方法實(shí)施例的流程圖,具體可以包括:
      [0054]步驟101、利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎;
      [0055]本【技術(shù)領(lǐng)域】內(nèi),公知的是,索引技術(shù)是搜索引擎的核心技術(shù)之一。搜索引擎要對所收集到的信息進(jìn)行整理、分類、索引以產(chǎn)生索引庫;通常索引庫用于存儲根據(jù)結(jié)構(gòu)化數(shù)據(jù)中的各種字段建立相應(yīng)的索引,索引文件用于存儲索引到被索引的原始數(shù)據(jù)的聯(lián)系。
      [0056]本申請采用基準(zhǔn)數(shù)據(jù)作為被索引的原始數(shù)據(jù),其可以是各種結(jié)構(gòu)化數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù);例如,結(jié)構(gòu)化數(shù)據(jù)的一種示例為數(shù)據(jù)庫的行數(shù)據(jù),也即數(shù)據(jù)記錄;非結(jié)構(gòu)化的一種示例為互聯(lián)網(wǎng)文章,其它結(jié)構(gòu)化數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù)的示例相互參照即可。
      [0057]在本申請的一種應(yīng)用示例中,利用搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)的索引文件的過程可以進(jìn)一步包括:對基準(zhǔn)數(shù)據(jù)進(jìn)行分詞;在分詞結(jié)果中查找與索引相應(yīng)的詞,并記錄索引到基準(zhǔn)數(shù)據(jù)的聯(lián)系信息到索引文件。
      [0058]其中,分詞技術(shù)是利用一定的規(guī)則和詞庫,切分出一個(gè)句子中的詞,為自動索引做好準(zhǔn)備,在此不作贅述。索引到基準(zhǔn)數(shù)據(jù)的聯(lián)系信息通常可以包括匹配到詞的標(biāo)識信息和該詞在基準(zhǔn)數(shù)據(jù)中的位置信息等等。
      [0059]以結(jié)構(gòu)化數(shù)據(jù)為例,假設(shè)基準(zhǔn)數(shù)據(jù)存儲于數(shù)據(jù)庫中,索引為“中國”,某條數(shù)據(jù)記錄的內(nèi)容包括“中國共產(chǎn)黨”,則可以對“中國共產(chǎn)黨”進(jìn)行分詞得到“中國”和“共產(chǎn)黨”,并記錄該條數(shù)據(jù)記錄的字段名稱、數(shù)據(jù)記錄編號和“中國”在該條數(shù)據(jù)記錄中的位置到“中國”的索引文件。
      [0060]以非結(jié)構(gòu)化數(shù)據(jù)為例,假設(shè)索引為“房地產(chǎn)”,基準(zhǔn)數(shù)據(jù)包括文章A、B、C,其中文章B,C中都包含“房地產(chǎn)”,A中包含“中國”,則“房地產(chǎn)”的索引文件中可以記錄文章B、文章B中“房地產(chǎn)”的位置,文章C、文章C中“房地產(chǎn)”的位置等信息。
      [0061]步驟102、將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。
      [0062]本申請實(shí)施例中,假設(shè)新版本搜索引擎的版本編號為N,則舊版本搜索引擎的版本編號可以為[1,N-1]內(nèi)的任一自然數(shù)。
      [0063]在本申請的一種實(shí)施例中,可以利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到所述舊版索引文件,并保存至相應(yīng)的數(shù)據(jù)結(jié)構(gòu);這樣,每次進(jìn)行搜索引擎索引功能的測試時(shí),只需從所述數(shù)據(jù)結(jié)構(gòu)中取出所述舊版索引文件即可。
      [0064]在本申請的另一種實(shí)施例中,可以在每次進(jìn)行搜索引擎索引功能的測試時(shí),利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到所述舊版索引文件。
      [0065]文件流是對文件進(jìn)行操作的統(tǒng)一接口,文件可以轉(zhuǎn)換為流的邏輯設(shè)備,流屏蔽了設(shè)備的具體特性,所以,應(yīng)用程序可以相同的形式對各種文件進(jìn)行操作。
      [0066]通常,文件流具有兩種模式:文本流和二進(jìn)制流。其中,文本流是把文件當(dāng)作一個(gè)字符流,在某些語言中,對文本流進(jìn)行操作時(shí),會作一些轉(zhuǎn)換,也就是說,文本流屏蔽了文件的實(shí)質(zhì)內(nèi)容;二進(jìn)制流與文件中的內(nèi)容是一一對應(yīng)的一連串字節(jié)構(gòu)成的。在對文件進(jìn)行存取時(shí),可以混合使用這兩種流模式,但通常使用同一種流模式來對文件進(jìn)行存取。
      [0067]在具體實(shí)現(xiàn)中,可以基于語言的open(打開)方法將索引文件轉(zhuǎn)換為文件流。
      [0068]例如,可以基于Python語言的open方法得到二進(jìn)制流或文本流,其中,indexdata為文件名:
      [0069]1.以二進(jìn)制流打開 filestream = open(' /indexdata' , 1 rb1 )
      [0070]2.以文本流打開 filestream = open(' /indexdata' , ' r')[0071]又如,在C++的fstream類中,有一個(gè)用于打開文件的成員函數(shù)open(),其原型是:
      [0072]void open (const char*filename, int mode, int access);
      [0073]參數(shù):
      [0074]filename:要打開的文件名
      [0075]mode:要打開文件的方式
      [0076]access:打開文件的屬性
      [0077]打開文件的方式在類ios中定義,常用的值ios::binary:以二進(jìn)制方式打開文件,缺省的方式是文本方式。
      [0078]如果想以二進(jìn)制輸入方式打開文件c: config.sys,則可以執(zhí)行如下語句:
      [0079]fstream filel ;
      [0080]filel.0pen(〃 c:config.sys" ,ios:: binary|ios::1n,0);
      [0081]需要說明的是,上述Python、C++語目只是作為不例,但并不作為本申請的應(yīng)用限制;實(shí)際上,基于Java、Php、VB等語言的open方法將索引文件轉(zhuǎn)換為文件流,也是可行的。
      [0082]本申請實(shí)施例中,因?yàn)楸凰饕幕鶞?zhǔn)數(shù)據(jù)集是已知確定的,理論上采用兩個(gè)版本的搜索引擎索引同樣的基準(zhǔn)數(shù)據(jù)集,得到的索引文件也應(yīng)該是同樣的,對同樣的索引文件進(jìn)行文件流處理,其據(jù)此形成的文件流應(yīng)該也是一樣的,故本申請基于文件流對比的方式對舊版索引文件和新版索引文件進(jìn)行測試,不僅能夠達(dá)到測試的準(zhǔn)確性和細(xì)粒度的要求;更重要的是,本申請只需基于文件流對`比的方式對比丨日版索引文件和新版索弓丨文件的內(nèi)容即可完成新版本搜索引擎索引功能的測試,由于能夠避免現(xiàn)有技術(shù)中對數(shù)億條數(shù)據(jù)記錄進(jìn)行逐個(gè)的檢索,因此能夠有效提高搜索引擎索引功能的測試效率。
      [0083]在本申請實(shí)施例中,所述步驟102可以進(jìn)一步包括:將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部或部分內(nèi)容的對比。
      [0084]關(guān)于將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部內(nèi)容的對比的方案,在具體實(shí)現(xiàn)中,可以以文件流的方式分別從所述舊版索引文件和新版索引文件中讀取全部的數(shù)據(jù),然后對二者的讀取結(jié)果進(jìn)行比較即可。其中,Python、C++、Java、Php、VB等語言均提供了用于讀取指定大小的數(shù)據(jù)的函數(shù),及用于比較兩項(xiàng)數(shù)據(jù)內(nèi)容是否相等的函數(shù)。
      [0085]在此對將舊版索引文件和新版索引文件作為文件流,進(jìn)行部分內(nèi)容的對比的方案進(jìn)行詳細(xì)說明。
      [0086]在本申請的一種優(yōu)選實(shí)施例中,所述將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部或部分內(nèi)容的對比的步驟,可以進(jìn)一步包括:
      [0087]子步驟Al、分別提取舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù);所述相同位置區(qū)間用于表示從所述舊版索引文件流和新版索引文件流提取數(shù)據(jù)時(shí)采用的區(qū)間位置相同;
      [0088]子步驟A2、分別對所述舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù)進(jìn)行比較,在所有相同位置區(qū)間的數(shù)據(jù)比較結(jié)果均為相同時(shí)測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在不同時(shí)測試不通過。
      [0089]本申請實(shí)施例中,可采用上述基于語言的open(打開)方法將舊版索引文件和新版索引文件轉(zhuǎn)換為舊版索引文件流和新版索引文件流。[0090]在具體實(shí)現(xiàn)中,可以基于語言的比較方法比較相同位置區(qū)間的數(shù)據(jù)。
      [0091]例如,C++語言的 extern int memcmp (void*buf I, void*buf2, unsigned intcount);
      [0092]用法:#include〈string.h>
      [0093]功能:比較內(nèi)存區(qū)域buf I和buf2的前count個(gè)字節(jié)。
      [0094]說明:當(dāng)buf I < buf2時(shí),返回值< 0
      [0095]當(dāng) buf I = buf2 時(shí),返回值=0
      [0096]當(dāng) bufl > buf2 時(shí),返回值> 0
      [0097]又如Python 的 cmp (filestreaml, filestream2)函數(shù)也可以對 fiIestreaml 和filestream2兩塊數(shù)據(jù)進(jìn)行比較,若相等則返回0,若不等則返回非O。Java>Php>VB等語言的相關(guān)參數(shù)相互參照即可。
      [0098]需要說明的是,在存在一個(gè)以上相同位置區(qū)間時(shí),在所有區(qū)間的大小為內(nèi)存最小單元的整數(shù)倍的數(shù)據(jù)比較結(jié)果均為0時(shí),才可認(rèn)為測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在非0值時(shí),即可認(rèn)為測試不通過。
      [0099]如果將一個(gè)文件流看做一個(gè)全序集T,全序集T用于囊括文件流的全部內(nèi)容,則本申請的區(qū)間可以理解為全序集的子集S,子集S用于囊括文件流的部分內(nèi)容。
      [0100]在具體實(shí)現(xiàn)中,假設(shè)文件流的長度為L (這里L(fēng)的單位可用字節(jié)、位等描述),則全序集T可用[0,L-1]的閉區(qū)間來表示,那么,本申請的區(qū)間可以為[0,L-1]的子集。
      [0101]由于相同位置區(qū)間的數(shù)據(jù)才有可比性,故本申請采用“相同位置區(qū)間”這個(gè)技術(shù)術(shù)語,意在強(qiáng)調(diào)需要從所述舊版索引文件流和新版索引文件流的相同位置區(qū)間提取數(shù)據(jù)。
      [0102]在本申請的一種優(yōu)選實(shí)施例中,可以通過下列步驟提取文件流上區(qū)間的數(shù)據(jù):
      [0103]子步驟B1、獲取文件流的文件指針;
      [0104]子步驟B2、通過文件指針偏移的方式確定區(qū)間的起端位置,并依據(jù)文件指針從區(qū)間的起端位置起讀取文件流上長度與區(qū)間長度相應(yīng)的數(shù)據(jù)。
      [0105]其中,所述文件指針偏移用于將文件指針偏移至區(qū)間的起端位置。
      [0106]假設(shè)以文件流的起點(diǎn)為0標(biāo)記點(diǎn),則可以通過讀文件指針+偏移量的方式來確定一個(gè)區(qū)間的起端位置;也即,所述文件指針偏移用于將文件指針從當(dāng)前位置偏移至區(qū)間的起端位置。
      [0107]例如,C++語言提供的函數(shù)int fseek(FILE*stream, long offset, int origin)可以將文件指針從一個(gè)位置偏移到另一個(gè)位置,其中,
      [0108]第一個(gè)參數(shù)stream為文件指針
      [0109]第二個(gè)參數(shù)offset為偏移量,正數(shù)表示正向偏移,負(fù)數(shù)表示負(fù)向偏移
      [0110]第三個(gè)參數(shù)origin設(shè)定從文件的哪里開始偏移
      [0111]又如,C++提供的函數(shù)string fread(int handle, int length)能夠從文件指針讀取length個(gè)字節(jié)的數(shù)據(jù)。
      [0112]同理,Python的seek()、read()函數(shù)也可以實(shí)現(xiàn)類似fseek()和fread()的功能,seek (long offset, int origin)可用于將文件指針從一個(gè)位置origin偏移到另一個(gè)位置origin+off set, read (int length)用于從文件指針位置起讀取length個(gè)字節(jié)的數(shù)據(jù)。另夕卜,Java、Php、VB等語言的相關(guān)參數(shù)相互參照即可,在此不作贅述。[0113]在實(shí)際應(yīng)用中,本申請實(shí)施例中的區(qū)間具有如下屬性:
      [0114]屬性1、區(qū)間個(gè)數(shù);
      [0115]區(qū)間的數(shù)目可以為一個(gè),可以為一個(gè)以上。
      [0116]在僅存在一個(gè)區(qū)間時(shí),所述文件指針偏移用于將文件指針從文件流的起點(diǎn)位置偏移至區(qū)間的起端位置。假設(shè)文件流的起點(diǎn)為0標(biāo)記點(diǎn),則可以將文件指針偏移至A以確定區(qū)間的起端位置,然后從位置A起讀取長度B的數(shù)據(jù)即可,該區(qū)間可以表示為[0+A、0+A+B],在不特殊說明的情況下,本申請實(shí)施例中的A、B、C、D等表示偏移量,均為正整數(shù)。
      [0117]在存在一個(gè)以上區(qū)間時(shí),需要確定多個(gè)區(qū)間的起端位置,所述文件指針偏移用于將文件指針從當(dāng)前位置偏移至第一區(qū)間的起端位置,以及,將文件指針從第一區(qū)間的起端位置偏移至第二區(qū)間的起端位置。
      [0118]假設(shè)針對第一區(qū)間,區(qū)間的起端位置為0+A,預(yù)置區(qū)間長度為B,則第一個(gè)區(qū)間可以表示為[0+A、0+A+B],可以讀取[0+A、0+A+B]這一段長度為B的數(shù)據(jù);針對第二區(qū)間,區(qū)間的起端位置為0+A+B+C,預(yù)置區(qū)間長度為D,則第二區(qū)間可以表示為[0+A+B+C、0+A+B+C+D],可以讀取[0+A+B+C、0+A+B+C+D]這一段長度為D的數(shù)據(jù)。
      [0119]假設(shè)文件指針的起始點(diǎn)為0,則與上述一個(gè)以上區(qū)間相應(yīng)的讀取過程包括:
      [0120]步驟S1、通過seek(A,0)函數(shù)將文件指針偏移至A ;
      [0121]步驟S2、通過read (B)函數(shù)從位置A起讀取B長度的數(shù)據(jù);
      [0122]步驟S3、通過seek(B+C,A)函數(shù)將文件指針偏移至A+B+C ;
      [0123]步驟S4、通過read (D)函數(shù)從位置A+B+C起讀取D長度的數(shù)據(jù)。
      [0124]屬性2、區(qū)間長度;
      [0125]對一個(gè)區(qū)間而言,可以用其區(qū)間的起端位置和末端位置的絕對值表示區(qū)間長度,可以直接從區(qū)間的起端位置起讀取區(qū)間長度的數(shù)據(jù)。例如,[0+A、0+A+B]、[0+A+B、0+A+B+C]、[0+A+B+C、0+A+B+C+D]的區(qū)間長度分別為 B、C、D。
      [0126]需要說明的是,一個(gè)文件流上若干個(gè)區(qū)間的長度可以相等或不等,也即,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要,設(shè)置B、C、D為相等或不等。
      [0127]另外,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要,設(shè)置區(qū)間長度的大小為內(nèi)存最小單元的整數(shù)倍。
      [0128]屬性3、區(qū)間間隔。
      [0129]本申請實(shí)施例的區(qū)間間隔可以表示為相鄰區(qū)間之間的間隔,具體可用在后區(qū)間的起端位置與在前相同位置區(qū)間的末端位置的差值表示。例如,[0+A、0+A+B]和[0+A+B、0+A+B+C]的區(qū)間間隔為 0,[0+A.0+A+B]和[0+A+B+C.0+A+B+C+D]的區(qū)間間隔為 C。
      [0130]相對于全部內(nèi)容的對比,部分內(nèi)容的對比具有如下優(yōu)點(diǎn):
      [0131]1、由于部分內(nèi)容的長度肯定小于全部內(nèi)容的長度的,在對比的內(nèi)容長度小的情況下,對比效率會提高,對比時(shí)間會減少,從而能夠進(jìn)一步提高搜索引擎索引功能的測試效率;
      [0132]2、全部內(nèi)容是固定的、一成不變的,而區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔中任一發(fā)生變化都會引起部分內(nèi)容的變化,故部分內(nèi)容是靈活的:區(qū)間個(gè)數(shù)可多可少,區(qū)間長度可大可小、區(qū)間布置可疏可密等等;總之,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需求,調(diào)整區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔中的一項(xiàng)或多項(xiàng),以達(dá)到部分內(nèi)容的對比的靈活實(shí)施。[0133]需要說明的是,由于被索引的基準(zhǔn)數(shù)據(jù)集是已知確定的,理論上采用兩個(gè)版本的搜索引擎索引同樣的基準(zhǔn)數(shù)據(jù)集,得到的索引文件也應(yīng)該是同樣的,對同樣的索引文件進(jìn)行文件流處理,其據(jù)此形成的文件流應(yīng)該也是一樣的,故本申請基于文件流部分內(nèi)容對比的方式對舊版索引文件和新版索引文件進(jìn)行測試,仍然能夠達(dá)到測試的準(zhǔn)確性和細(xì)粒度的要求;
      [0134]更重要的是,由于部分內(nèi)容的長度肯定小于全部內(nèi)容的長度的,在對比的內(nèi)容長度小的情況下,對比效率會提高,對比時(shí)間會減少,從而能夠進(jìn)一步提高搜索引擎索引功能的測試效率。
      [0135]需要說明的是,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要,設(shè)置一個(gè)文件流上若干個(gè)區(qū)間之間的間隔相等或不等。
      [0136]本申請可用提供下列獲取區(qū)間的起端位置的方案:
      [0137]方案1、
      [0138]在本申請的一種優(yōu)選實(shí)施例中,可以依據(jù)預(yù)置的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,獲取各區(qū)間的起端位置;具體而言,可以將在前區(qū)間的起始位置與在前區(qū)間的區(qū)間長度及在前區(qū)間與在后區(qū)間的區(qū)間 間隔長度之和作為在后區(qū)間的起端位置。
      [0139]在本申請的一種應(yīng)用示例中,可以預(yù)置所有區(qū)間的區(qū)間長度相等,以及,所有相鄰區(qū)間的區(qū)間間隔相等。假設(shè)文件流的長度為100,也即文件流的全序集T可用[0,99]的閉區(qū)間來表示,那么可以預(yù)置區(qū)間個(gè)數(shù)為10,區(qū)間長度為2,區(qū)間間隔為8 ;—種區(qū)間的起端位
      置的示例可為0+2、0+2+2+8、0+2+2+8+2+8......,這樣,形成的10個(gè)區(qū)間可表示為[2,4],
      [12,14],[22,24]......[92,94] ?
      [0140]在本申請的一種應(yīng)用示例中,可以預(yù)置所述區(qū)間的區(qū)間長度為等差數(shù)列,以及,所有相鄰區(qū)間的區(qū)間間隔呈等差數(shù)列。假設(shè)文件流的長度為100,也即文件流的全序集T可用[0,99]的閉區(qū)間來表示,那么可以預(yù)置區(qū)間個(gè)數(shù)為8,預(yù)置第一個(gè)區(qū)間的區(qū)間長度為2,隨后的區(qū)間長度遞增,公差為1,以及預(yù)置第一個(gè)區(qū)間和第二個(gè)區(qū)間的區(qū)間間隔為2,隨后的區(qū)間間隔遞增,公差為2 ;則一種區(qū)間的起端位置的示例可以為0+2、0+2+2+2、
      0+2+2+2+2+1+2+2,0+2+2+2+2+1+2+2+2+1+1......,這樣,形成的10個(gè)相同位置區(qū)間可以
      表示為[2,4], [6,9], [13,17],[23,28], [36,42], [52,59], [70,78], [90,99] ?
      [0141]當(dāng)然,上述只是作為示例,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需求,預(yù)置各種區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度。例如,如果希望提高測試的準(zhǔn)確率,可以預(yù)置盡量多的區(qū)間個(gè)數(shù),盡量大的區(qū)間長度和盡量小的區(qū)間間隔長度;又如,如果希望提高測試效率,則可以預(yù)置盡量少的區(qū)間個(gè)數(shù)、盡量小的區(qū)間長度和盡量大的區(qū)間間隔長度;再如,可以預(yù)置合適的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,以達(dá)到測試準(zhǔn)確率和測試效率的最優(yōu)等等。本申請對具體的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度的預(yù)置方式不加以限制。
      [0142]方案2、
      [0143]在本申請的另一種優(yōu)選實(shí)施例中,所述獲取區(qū)間的起端位置的方案步驟,可以進(jìn)一步包括:
      [0144]子步驟Cl、確定文件流長度和區(qū)間個(gè)數(shù);
      [0145]子步驟C2、產(chǎn)生數(shù)值在文件流長度范圍內(nèi)的數(shù)量與二倍于區(qū)間個(gè)數(shù)相應(yīng)的隨機(jī)數(shù);[0146]子步驟C3、依據(jù)所述隨機(jī)數(shù)獲取各區(qū)間的起始位置。
      [0147]在本申請的一種應(yīng)用示例中,所述子步驟C3可以進(jìn)一步包括:對所述隨機(jī)數(shù)進(jìn)行奇偶編號,相鄰偶編號隨機(jī)數(shù)與奇編號隨機(jī)數(shù)之差為區(qū)間長度,將奇編號的隨機(jī)數(shù)作為區(qū)間的起端位置。
      [0148]假設(shè)文件流長度為L,區(qū)間個(gè)數(shù)為M,則可以采用隨機(jī)算法產(chǎn)生[0,L_1]內(nèi)的2M個(gè)隨機(jī)數(shù),假設(shè)2M個(gè)隨機(jī)數(shù)的編號為1,2,3,。。。,2M-L2M,那么編號2與I的隨機(jī)數(shù)的差為區(qū)
      間長度,編號4與3的隨機(jī)數(shù)的差為區(qū)間長度,并且可以依據(jù)該編號為1,3,5......2M-3,
      2M-1的隨機(jī)數(shù)作為區(qū)間的起端位置。
      [0149]當(dāng)然上述只是作為示例,也可以將偶編號的隨機(jī)數(shù)作為區(qū)間的起端位置
      [0150]需要說明的是,上面以語言的打開、獲取、比較方法為例對本申請的文件流操作進(jìn)行了說明,實(shí)際上,本申請并不限制于特定的語言及語言中的特定函數(shù),其它的任意的能夠?qū)崿F(xiàn)文件流操作的函數(shù)、方法等技術(shù)手段都是可行的。
      [0151]與前述方法實(shí)施例相應(yīng),本申請還公開了一種搜索引擎索引功能的測試裝置實(shí)施例,參照圖2所示的結(jié)構(gòu)圖,具體可以包括:
      [0152]索引模塊201,用于利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎 '及
      [0153]對比模塊202,用于將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。
      [0154]在本申請實(shí)施例中,優(yōu)選的是,所述文件流為文本流或者二進(jìn)制流。
      [0155]在本申請的一種優(yōu)選實(shí)施例中,所述對比模塊202可以進(jìn)一步包括:
      [0156]全部對比子模塊,用于將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部內(nèi)容的對比;或者
      [0157]部分對比子模塊,用于將舊版索引文件和新版索引文件作為文件流,進(jìn)行部分內(nèi)容的對比。
      [0158]在本申請的另一種優(yōu)選實(shí)施例中,所述部分對比子模塊可以進(jìn)一步包括:
      [0159]區(qū)間提取單元,用于分別提取舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù);所述相同位置區(qū)間用于表示從所述舊版索引文件流和新版索引文件流提取數(shù)據(jù)時(shí)采用的區(qū)間位置相同;及
      [0160]比較單元,用于分別對所述舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù)進(jìn)行比較,在所有相同位置區(qū)間的數(shù)據(jù)比較結(jié)果均為相同時(shí)測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在不同時(shí)測試不通過。
      [0161]在本申請的再一種優(yōu)選實(shí)施例中,所述裝置還包括用于提取文件流上區(qū)間的數(shù)據(jù)的文件流區(qū)間數(shù)據(jù)提取模塊;
      [0162]所述文件流區(qū)間數(shù)據(jù)提取模塊可以進(jìn)一步包括:
      [0163]指針獲取子模塊,用于獲取文件流的文件指針;
      [0164]讀取子模塊,用于通過文件指針偏移量的方式確定區(qū)間的起端位置,并依據(jù)文件指針從區(qū)間的起端位置起讀取文件流上長度與區(qū)間長度相應(yīng)的數(shù)據(jù)。
      [0165]在本申請的一種優(yōu)選實(shí)施例中,所述裝置還可以包括:用于獲取區(qū)間的起端位置的起端位置獲取模塊;
      [0166]所述起端位置獲取模塊可以進(jìn)一步包括:
      [0167]預(yù)置獲取子模塊,用于依據(jù)預(yù)置的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,獲取各區(qū)間的起端位置;所述獲取過程包括:將在前區(qū)間的起始位置與在前區(qū)間的區(qū)間長度及在前區(qū)間與在后區(qū)間的區(qū)間間隔長度之和作為在后區(qū)間的起端位置。
      [0168]在本申請的另一種優(yōu)選實(shí)施例中,所述裝置還可以包括:用于獲取區(qū)間的起端位置的起端位置獲取模塊;
      [0169]所述起端位置獲取模塊可以進(jìn)一步包括:
      [0170]確定子模塊,用于確定文件流長度和區(qū)間個(gè)數(shù);
      [0171]隨機(jī)數(shù)子模塊,用于產(chǎn)生數(shù)值在文件流長度范圍內(nèi)的數(shù)量與二倍于區(qū)間個(gè)數(shù)相應(yīng)的隨機(jī)數(shù);
      [0172]隨機(jī)獲取子模塊,用于依據(jù)所述隨機(jī)數(shù)獲取各區(qū)間的起始位置。
      [0173]對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
      [0174]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
      [0175]本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
      [0176]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
      [0177]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
      [0178]盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。
      [0179]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。[0180]以上對本申請所提供的一種搜索引擎索引功能的測試方法和裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
      【權(quán)利要求】
      1.一種搜索引擎索引功能的測試方法,其特征在于,包括: 利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎; 將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。
      2.如權(quán)利要求1所述的方法,其特征在于,所述將舊版索引文件和新版索引文件作為文件流進(jìn)行內(nèi)容的對比的步驟進(jìn)一步包括: 將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部或部分內(nèi)容的對比。
      3.如權(quán)利要求2所述的方法,其特征在于,所述將舊版索引文件和新版索引文件作為文件流,進(jìn)行部分內(nèi)容的對比的步驟,進(jìn)一步包括: 分別提取舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù);所述相同位置區(qū)間用于表示從所述舊版索引文件流和新版索引文件流提取數(shù)據(jù)時(shí)采用的區(qū)間位置相同; 分別對所述舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù)進(jìn)行比較,在所有相同位置區(qū)間的數(shù)據(jù)比較結(jié)果均為相同時(shí)測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在不同時(shí)測試不通過。
      4.如權(quán)利要求3所述的方法,其特征在于,通過下列步驟提取文件流上區(qū)間的數(shù)據(jù): 獲取文件流的文件指針; 通過文件指針偏移的方式確定區(qū)間的起端位置,并依據(jù)文件指針從區(qū)間的起端位置起讀取文件流上長度與區(qū)間長度相應(yīng)的數(shù)據(jù)。
      5.如權(quán)利要求4所述的方法,其特征在于,通過下列步驟獲取區(qū)間的起端位置: 依據(jù)預(yù)置的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,獲取各區(qū)間的起端位置;所述獲取過程包括:將在前區(qū)間的起始位置與在前區(qū)間的區(qū)間長度及在前區(qū)間與在后區(qū)間的區(qū)間間隔長度之和作為在后區(qū)間的起端位置。
      6.如權(quán)利要求4所述的方法,其特征在于,通過下列步驟獲取區(qū)間的起端位置: 確定文件流長度和區(qū)間個(gè)數(shù); 產(chǎn)生數(shù)值在文件流長度范圍內(nèi)的數(shù)量與二倍于區(qū)間個(gè)數(shù)相應(yīng)的隨機(jī)數(shù); 依據(jù)所述隨機(jī)數(shù)獲取各區(qū)間的起始位置。
      7.如權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,所述文件流為文本流或者二進(jìn)制流。
      8.一種搜索引擎索引功能的測試裝置,其特征在于,包括: 索引模塊,用于利用新版本搜索引擎對基準(zhǔn)數(shù)據(jù)進(jìn)行索引,得到相應(yīng)新版索引文件;其中,新版本搜索引擎為待測試的搜索引擎; 對比模塊,用于將舊版索引文件和所述新版索引文件作為文件流進(jìn)行內(nèi)容的對比,若相同則測試通過,若不同則測試不通過;其中,舊版索引文件為利用舊版本搜索引擎對所述基準(zhǔn)數(shù)據(jù)進(jìn)行索引得到。
      9.如權(quán)利要求8所述的裝置,其特征在于,所述對比模塊進(jìn)一步包括: 全部對比子模塊,用于將舊版索引文件和新版索引文件作為文件流,進(jìn)行全部內(nèi)容的對比;或者 部分對比子模塊,用于將舊版索引文件和新版索引文件作為文件流,進(jìn)行部分內(nèi)容的對比。
      10.如權(quán)利要求9所述的裝置,其特征在于,所述部分對比子模塊進(jìn)一步包括: 區(qū)間提取單元,用于分別提取舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù);所述相同位置區(qū)間用于表示從所述舊版索引文件流和新版索引文件流提取數(shù)據(jù)時(shí)采用的區(qū)間位置相同;及 比較單元,用于分別對所述舊版索引文件流和新版索引文件流的若干個(gè)相同位置區(qū)間的數(shù)據(jù)進(jìn)行比較,在所有相同位置區(qū)間的數(shù)據(jù)比較結(jié)果均為相同時(shí)測試通過,在相同位置區(qū)間的數(shù)據(jù)比較結(jié)果中存在不同時(shí)測試不通過。
      11.如權(quán)利要求10所述的裝置,其特征在于,還包括:用于提取文件流上區(qū)間的數(shù)據(jù)的文件流區(qū)間數(shù)據(jù)提取模塊; 所述文件流區(qū)間數(shù)據(jù)提取模塊進(jìn)一步包括: 指針獲取子模塊,用于獲取文件流的文件指針;及 讀取子模塊,用于通過文件指針偏移量的方式確定區(qū)間的起端位置,并依據(jù)文件指針從區(qū)間的起端位置起讀取文件流上長度與區(qū)間長度相應(yīng)的數(shù)據(jù)。
      12.如權(quán)利要求11所述的裝置,其特征在于,還包括:用于獲取區(qū)間的起端位置的起端位置獲取模塊; 所述起端位置獲取模塊進(jìn)一步包括: 預(yù)置獲取子模塊,用于依據(jù)預(yù)置的區(qū)間個(gè)數(shù)、區(qū)間長度和區(qū)間間隔長度,獲取各區(qū)間的起端位置;所述獲取過程包括:將在前區(qū)間的起始位置與在前區(qū)間的區(qū)間長度及在前區(qū)間與在后區(qū)間的區(qū)間間隔長度之和作為在后區(qū)間的起端位置。
      13.如權(quán)利要求11所述的裝置,其特征在于,還包括:用于獲取區(qū)間的起端位置的起端位置獲取模塊; 所述起端位置獲取模塊進(jìn)一步包括: 確定子模塊,用于確定文件流長度和區(qū)間個(gè)數(shù); 隨機(jī)數(shù)子模塊,用于產(chǎn)生數(shù)值在文件流長度范圍內(nèi)的數(shù)量與二倍于區(qū)間個(gè)數(shù)相應(yīng)的隨機(jī)數(shù); 隨機(jī)獲取子模塊,用于依據(jù)所述隨機(jī)數(shù)獲取各區(qū)間的起始位置。
      14.如權(quán)利要求8至13中任一項(xiàng)所述的裝置,其特征在于,所述文件流為文本流或者二進(jìn)制流。
      【文檔編號】G06F17/30GK103577487SQ201210279847
      【公開日】2014年2月12日 申請日期:2012年8月7日 優(yōu)先權(quán)日:2012年8月7日
      【發(fā)明者】羅峰, 黃蘇支, 李娜 申請人:億贊普(北京)科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1