本公開的實施例總體上涉及數據搜索領域,并且具體地,涉及一種處理待搜索對象的方法及裝置。
背景技術:
如今對數據搜索的應用日益增多,搜索服務系統(tǒng)一直致力于為最終用戶提供更好的檢索體驗,改善在海量數據中的檢索結果的準確性、豐富性,同時提高檢索響應時間。為此如何對搜索資源進行合理的配置、存儲和索引即成為很重要的考慮因素,以便于搜索服務系統(tǒng)基于搜索請求進行快速、準確檢索,提高搜索服務系統(tǒng)的穩(wěn)健性及服務質量。在為搜索對象創(chuàng)建索引的傳統(tǒng)技術中,索引創(chuàng)建過程通常耗時、低效。而且,基于所創(chuàng)建的索引來搜索對象的過程同樣可能是低效的,從而導致較長的系統(tǒng)響應時間。這直接降低了用戶體驗。
技術實現要素:
總體上,本公開的實施例通過靈活的分類策略提供一種處理待搜索對象的解決方案。
根據本公開的第一方面,提供一種用于處理待搜索的對象的方法,包括:接收指示與對象有關的約束的第一輸入;接收指示對象所屬的類別的第二輸入;以及基于第一輸入和第二輸入,創(chuàng)建將約束與類別相關聯的分類條件以作為分類策略的一部分,該分類策略用于將對象劃分到類別以建立索引。
在某些實施例中,約束涉及對象的元數據,元數據描述對象的屬性。
在某些實施例中,約束涉及以下至少一項:元數據的范圍、元數據的表達式。
在某些實施例中,元數據的表達式包括以下至少一項:描述元數據的位置的結構化語句,以及描述涉及元數據的查詢的結構化語句。
在某些實施例中,約束涉及所述類別的屬性。
在某些實施例中,類別的屬性包括以下至少一個:類別中包含的對象的數目;以及類別中包含的對象占用的存儲空間的大小。
在某些實施例中,該方法進一步包括:接收修改分類條件的第三輸入;以及響應于接收到第三輸入,修改分類條件。
根據本公開的第二方面,提供一種用于為待搜索的對象建立索引的方法,包括:接收到待搜索的對象;獲取包括一組分類條件的分類策略,分類條件將一組約束與相應的類別相關聯;以及通過匹配分類策略中的分類條件中的約束,將對象劃分到類別中的一個類別,以用于建立搜索索引。
在某些實施例中,其中約束涉及對象的元數據,元數據描述對象的屬性,并且將對象劃分到一個類別包括:獲取對象的元數據;通過將元數據與分類條件中的約束進行匹配,將對象劃分到類別。。
在某些實施例中,其中約束涉及類別的屬性,該方法進一步包括:確定類別中目前包含的對象的數目;以及將對象劃分到類別中包含對象的數目小于預定閾值的類別。在某些實施例中,其中約束涉及類別的屬性,該方法進一步包括:確定類別中目前包含的對象占用的存儲空間的大??;以及將對象劃分到類別中包含對象占用的存儲空間的大小小于預定閾值的類別。
根據本公開的第三方面,提供一種用于處理待搜索的對象的設備,包括:至少一個處理器,被配置為:接收指示與對象有關的約束的第一輸入;接收指示對象所屬的類別的第二輸入;以及基于第一輸入和第二輸入,創(chuàng)建將約束與類別相關聯的分類條件以作為分類策略的一部分,該分類策略用于將對象劃分到類別以建立索引。
根據本公開的第四方面,提供一種用于為待搜索的對象建立索引的設備,包括:至少一個處理器,被配置為:接收到待搜索的對象;獲取包括一組分類條件的分類策略,分類條件將一組約束與相應的類別相關聯;以及通過匹配分類策略中的分類條件中的約束,將對象劃分到類別中的一個類別,以用于建立搜索索引。。
本公開的實施例能夠實現基于策略的對象分類機制,管理用戶將通過改變一些配置項容易地、靈活地實現所期望的分類,以提高搜索系統(tǒng)對最終用戶的服務質量。
附圖說明
結合附圖并參考以下詳細說明,本公開各實施例的上述和其他特征、優(yōu)點及方面將變得更加明顯。在附圖中,相同或相似的附圖標記表示相同或相似的元素,其中:
圖1圖示了本公開的實施例的可應用于其中的搜索處理系統(tǒng)的部分示意;
圖2示出了根據本公開的實施例的用于處理待搜索的對象的方法的流程圖;
圖3示出了根據本公開的實施例的為待搜索對象建立索引的方法的流程圖;
圖4示出了根據本公開的一個實施例的為待搜索對象建立索引的方法的流程圖;以及
圖5圖示了根據本公開的實施例的對象分類裝置示意圖。
具體實施方式
現將結合附圖對本公開的實施例進行具體的描述。應當注意的是,附圖中對相似的部件或者功能組件可能使用同樣的數字標示。所附附圖僅僅旨在說明本公開的實施例。本領域的技術人員可以在不偏離本公開精神和保護范圍的基礎上從下述描述得到替代的實施方式。
如本文中所述,術語“包括”及其各種變體可以被理解為開放式術語,其意味著“包括但不限于”。術語“基于”可以被理解為“至少部分地基于”。術語“一個實施例”可以被理解為“至少一個實施例”。術語“另一實施例”可以被理解為“至少一個其它實施例”。
在一些搜索應用中,尤其在一些企業(yè)搜索系統(tǒng)中,一方面由于對于安全性的考慮,只有那些用戶具有足夠的安全權限的搜索結果能被返回。另一方面,為了更好的可查找性,通常用戶以層級文件夾結構組織文件,并且數據文件具有非常小的交叉鏈接性。這些因素都降低了搜索響應的速度。為了解決這一問題,本公開的實施例提供一種靈活的基于策略的劃分方案,以幫助管理用戶控制劃分行為。有了這些創(chuàng)建的劃分策略,可以將包含這些配置項的配置文件提供給管理用戶,管理用戶將通過改變一些配置項容易地實現他們所期望的劃分??梢岳斫猓竟_的基于策略的對象分類方案并不限于搜索系統(tǒng)的類型,在任何合適的應用場景中均可得到應用
圖1示出了本公開的實施例的可應用于其中的搜索處理系統(tǒng)100的部分示意。通常,搜索處理系統(tǒng)100將海量數據進行處理,以為最終用戶提供按需的檢索服務。在某些實施例中,搜索處理系統(tǒng)100例如可以基于企業(yè)搜索應用場景而建立,用于在企業(yè)內搜索內部資源以滿足各種數據利用需求。
如圖所示,搜索處理系統(tǒng)100包括數據預處理裝置102、信息庫104、對象分類裝置106、對象索引裝置108、索引庫110以及檢索處理裝置112。可以理解,這里僅是為了說明性而給出搜索處理系統(tǒng)100的示例。
數據預處理裝置102可以例如采集各種數據源,數據源可以包括網絡、文檔庫、郵件庫以及包含需要檢索的內容的任何其他主體。這些數據源為搜索處理系統(tǒng)100提供可檢索的數據。這些數據例如常見的網頁,還可以包括各種文件格式的文檔,諸如企業(yè)內部文檔(例如技術文件、數據文件、電子郵件、日程表等)等等。
在本公開中將這些數據稱之為作為典型的資源類型的“文件”。 數據預處理裝置102對這些文件進行分析處理,使用結構化方法來標記文件,并生成相應的格式統(tǒng)一的對象形式,以提供給對象分類裝置106處理。作為示例,可擴展標記語言(extensivemarkuplanguage,xml)和javascript對象表示法(javascriptobjectnotation,json)等都是常用的對象表示方式,易于機器解析和處理,數據預處理裝置102可以將文件以此種格式進行表示。為了討論方便,下文中將每個文件經過數據預處理裝置102所生成的格式統(tǒng)一的對象形式也稱之為“文件對象”或者簡稱為“對象”。
可以理解,作為原始數據的文件與數據預處理裝置102所生成的文件對象具有相互對應關系,該文件對象是對文件的對象表示。作為示例,xml或json形式的文件對象可以包括相對應文件的元數據,其描述文件相關信息,包括例如描述性元素、技術性元素、管理性元素、結構性元素等,這些元素例如作者、標題、主題、位置等簡單信息,還可以包括內容、載體、位置與獲取方式、制作與利用方法等,還可以包括文件的存儲和使用管理相關信息,例如存儲/更新時間、容量大小、詳細的格式信息、制作信息、保護條件、轉換方式、權利管理、電子簽名等等,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能,幫助檢索和確認所需要的文件資源。這些元數據可由數據預處理裝置102自動生成,也可由管理用戶添加,并最終形成統(tǒng)一格式的對象表示文件。
信息庫104可以存儲文件以及經過數據與處理裝置102處理的具有統(tǒng)一格式表示的文件對象。對象分類裝置106將來自信息庫104的待搜索的對象劃分到不同的類別中,使得這些待檢索的內容被切分為多個更小的處理集合(即類別)。也就是說,對象分類裝置106實現了將對象歸入不同類別的“路由”的功能。此后,通過按照類別來為對象建立索引,可以使檢索更有效、響應更快。而且,通過對不同類別中的數據進行隔離,有助于容錯處理。例如當部分數據發(fā)生意料之外的問題(例如崩潰修復或重建)時減小影響。
對象索引裝置108根據配置對每個類別的對象進行例如組詞、 語義分析等處理,建立索引并將索引數據存儲到索引庫110中。檢索處理裝置112響應于最終用戶的檢索請求,查詢索引庫110和信息庫104進行檢索處理,可能的,其還對索引的對象進行其他智能處理。
可以理解,搜索處理系統(tǒng)100中的數據預處理裝置102、對象分類裝置106、對象索引裝置108以及檢索處理裝置112均可實現為獨立的裝置,也可以組合為一個或多個裝置。另外,搜索處理系統(tǒng)100中的信息庫104和索引庫110同樣僅是示例,其可以為獨立的數據庫,也可以組合為一個數據庫,或者可選地與搜索處理系統(tǒng)100中的其他數據庫進行合并等??梢岳斫?,搜索處理系統(tǒng)100對原始數據文件進行各種處理將形成多種不同的形式的“文件”,它們在信息庫104和索引庫110或者其他數據庫中存在不同“版本”,但都由相應的映射關系對應于原始數據文件。
圖2示出了根據本公開的實施例的用于處理待搜索的對象的方法200的流程圖。首先,在步驟202,接收指示與待搜索的對象有關的約束的輸入(稱為“第一輸入”)。在某些實施例中,與待搜索的對象有關的約束可以包括與單個對象的屬性相關的約束,例如這些屬性為對象的元數據所描述的屬性。備選地或附加地,約束可以涉及從搜索處理系統(tǒng)100角度而言與所有對象的類別相關的約束,例如每個類別中的對象數目,等等。
在步驟204,接收指示對象所屬的類別的輸入(稱為“第二輸入”),確定期望該對象被劃分到的類別。也就是說,第二輸入指示了當對象滿足第一輸入所指定的約束時,應當被劃分或者說路由到哪個類別中。
接下來,在步驟206,基于第一輸入和第二輸入,創(chuàng)建將約束與類別相關聯的分類條件。這個分類條件可以被保存為用于對象分類的分類策略的一部分。這樣的分類策略可以隨后被用來將實際待處理的對象劃分到相應的類別中,以便基于類別為待搜索對象建立索引。
在本公開的實施例中,分類策略以及其中的分類條件可以被存儲為配置文件,例如xml文件。這些xml文件可以被用作配置文件。應當理解,這僅僅是示例性的,對象分類策略可以被保存為任何其他形式的文件,例如json文件,等等。下面的表1示出了一個xlm文件形式的分類策略的一部分。
表1
在表1的示例中,包括一個分類條件及缺省類別,該分類條件將約束(即condition="")與類別(即collection="")相關聯。在該示例中,約束與待搜索的對象的屬性有關。另外配置了一個缺省分類(這里是default),在對象不滿足分類條件時,對象將被劃分到該缺省類別中。
為了便于理解圖2中所示的方法200,下面將描述若干示例??梢岳斫?,以下描述僅作為示例給出,本領域技術人員通過閱讀可以得到本公開的構思,但本公開并不限于所給出的示例分類條件。
如以上所描述,對象的元數據可以是描述性元素、技術性元素、管理性元素、結構性元素等。在本公開的一個實施例中,與待搜索的對象有關的約束涉及對象的元數據,表2給出了一個這樣的示例。
表2
表2的示例包括與元數據“file_store”有關的兩個分類條件。具體而言,一個分類條件規(guī)定:如果對象的元數據“file_store”滿足condition="file_store_01"這一約束,就將該對象劃分到“collection1”這一類別中。為了創(chuàng)建該分類條件,根據方法200,用戶可以在步驟202和204分別輸入約束“file_store_01”和類別“collection1”,以便在步驟206創(chuàng)建分類條件<rulecondition="file_store_01"collection="collection1"/>。類似地,用戶可以通過方法200創(chuàng)建另一分類條件,其規(guī)定:如果對象的“file_store”等于“field_store_02”,則對象將被劃分到“collection2”。特別地,在上述示例中,如果到來的對象的元數據值不匹配這兩個分類條件,該對象將被劃分到缺省集合(這里是“default”)。
對象分類裝置106在對對象劃分時的值的比較可以是大小寫敏感的,為了更方便管理用戶配置,還可以在一個約束中使用分隔符來配置多個約束。表3示出了一個這樣的示例。
表3
表3的示例中,在其中的一個分類條件中采用了分隔符,可以將例如對象的元數據的大小寫組合項合并在一個分類條件中。具體而言,“file_store_01”和“file_store_02”可以是對應于元數據值的不同大小寫組合,如果對象的“file_store”等于“file_store_01”或者“file_store_02”,則對象將被劃分到“collection1”。
在另一個示例中,與待搜索的對象有關的約束涉及元數據的范圍。例如,如果管理用戶希望根據對象的內容大小來劃分對象,那么可以如以下配置。
表4
表4的示例包括與元數據“r_content_size”有關的兩個分類條件,并且規(guī)定了元數據值類型為整數(integer)以及值范圍分隔符的形式。具體而言,一個分類條件規(guī)定:如果對象的元數據“r_content_size”滿足condition="40000~80000"這一約束,即對象的內容大小處于40000~80000之間時,就將該對象劃分到“collection1”這一類別中。為了創(chuàng)建該分類條件,根據方法200,用戶可以在步驟202和204分別輸入約束“40000~80000”和類別“collection1”,以便在步驟206創(chuàng)建分類條件<rulecondition="40000~80000""collection="collection1""/>。類似地,用戶可以通過方法200創(chuàng)建另一分類條件,其規(guī)定:如果對象的“r_content_size”處于80000~100000之間,則對象將被劃分到“collection2”。同樣,對未被分類條件覆蓋的對象,缺省類別(這里是“default”)將被使用。
在分類條件的約束涉及元數據的范圍時,配置的分類條件可以是包容性的,即如果一個對象可以滿足兩個分類條件,那么將使用第一分類條件。比如在示例中,如果一個對象的內容大小是8000,那么它將被劃分到“collection1”。
通常配置中字符串是值對比的缺省類型。如果管理用戶希望定義非字符串類型,可以在屬性部分規(guī)定值類型(value-type),例如整數(integer)、雙字節(jié)(double)、時間(datetime)等。對于時間,可以統(tǒng)一為utc時間("yyyy-mm-dd't'hh:mm:ss")。如果形成的文件對象的元數據沒有被正確地使用數據格式,比如將字符串放入整數類型,值對比將退回到使用字符串比較以確定分類。
如果管理用戶對元數據有某些特殊需求,可以考慮使用元數據的常規(guī)表達式來規(guī)定分類的約束。以下是一個示例。
表5
表5的示例包括與元數據“object_name”有關的兩個分類條件。具體而言,一個分類條件規(guī)定:如果對象的元數據“object_name”滿足condition="per."這一約束,即“object_name”以“per”開始,就將該對象劃分到“collection1”這一類別中。為了創(chuàng)建該分類條件,根據方法200,用戶可以在步驟202和204分別輸入約束“per.”和類別“collection1”,以便在步驟206創(chuàng)建分類條件<rulecondition="per."collection="collection1"/>。類似地,用戶可以通過方法200創(chuàng)建另一分類條件,其規(guī)定:如果對象的“object_name”以“ber”開始,則對象將被劃分到“collection2”。特別地,在上述示例中,如果到來的對象的元數據值不匹配這兩個分類條件,該對象將被劃分到缺省集合(這里是“default”)??梢岳斫猓?僅是給出使用常規(guī)表達式的一個示例,在諸如該示例的使用元數據的常規(guī)表達式來規(guī)定分類的約束中,可以通過模糊而非精確的分類匹配而將對象分類,以滿足管理用戶的需要。
對于一些復雜的情形,例如管理用戶希望根據多個路徑路由對象,可以使用描述對象元數據的位置的結構化語句。這種結構化語句的一個例子是xpath。xpath是w3c標準,下面將以其為例來描述一個示例實施例。以下是配置示例。
表6
表6的示例包括與元數據“i_folder_id”和“owner_name”有關的兩個分類條件。具體而言,一個分類條件規(guī)定:xml文件根元素“/dmftdoc”下所有子元素“i_folder_id”中,滿足與“345678”相等這一約束的對象均劃分到“collection1”這一類別中。為了創(chuàng)建該分類條件,根據方法200,用戶可以在步驟202和204分別輸入約束“boolean(/dmftdoc//i_folder_id='3456789')”和類別“collection1”,以便在步驟206創(chuàng)建分類條件<rulecondition="boolean(/dmftdoc//i_folder_id='3456789')"collection="collection1"/>。類似地,用戶可以通過方法200創(chuàng)建另一分類條件,其規(guī)定:xml文件根元素“/dmftdoc”下所有子元素“i_folder_id”和“owner_name”中,如果對象的“i_folder_id”等于456789并且其“owner_name”等于“test”,則對象將被劃分到“collection2”。特別地,在上述示例中,如果到來的對象的元數據值不匹配這兩個分類條件,該對象將被劃分到缺省集合(這里是“default”)??梢酝ㄟ^構造xpath配置復雜的分類條件,例如按照xpath規(guī)范基于多個元數據來劃分類別。
備選地或附加地,可以使用描述涉及對象元數據的查詢的結構化語句來劃分對象。這種結構化語句的一個示例是xquery。xquery也是w3c標準,可以被用于執(zhí)行強大的查詢。以下是根據xquery的劃分對象的配置示例。
表7
表7的示例包括與元數據“object_name”和“key_words”有關的兩個分類條件。具體而言,一個分類條件規(guī)定:xml文檔根元素“/dmftdoc”下,如果對象滿足“object_name”包含“test1234”這一約束,就將該對象劃分到“collection1”這一類別中。為了創(chuàng)建該分類條件,根據方法200,用戶可以在步驟202和204分別輸入約束“boolean(/dmftdoc[dmftmetadata//object_namecontainstext‘test1234’])"和類別“collection1”,以便在步驟206創(chuàng)建分類條件<rulecondition="boolean(/dmftdoc[dmftmetadata//object_namecontainstext‘test1234’])"collection="collection1"/>。類似地,用戶可以通過方法200創(chuàng)建另一分類條件,其規(guī)定:xml文檔根元素“/dmftdoc”下,如果對象“object_name”包含“test3456”以及“key_words”包含“testing”,則對象將被劃分到“collection2”。特別地,在上述示例中,如果到來的對象的元數據值不匹配這兩個分類條件,該對象將被劃分到缺省集合(這里是“default”)。
按照以上分類策略進行劃分,在帶來高效的同時,也帶來了管理上的成本。按照以上分類策略,會導致各個類別的大小不平均,而對應的劃分過程,也會帶來各個類別的訪問量不平均。這兩個維度不平均就要求更加復雜的索引部署方案,因此還可以基于類別的動態(tài)統(tǒng)計來確定分類策略。例如分類條件可以涉及類別的屬性,如 類別中包含的對象的數目或者類別中包含的對象占用的存儲空間的大小。
為此,除了對象元數據之外或者作為替代,在對象分類中,與類別有關的信息也可以被納入考慮。作為示例,在一個實施例中,在為對象分類時,可以保持每個類別具有相同或者近似的對象數目。備選地或附加地,在一些實施例中,可以在對象分類時使每個類別的具有近似的存儲大小。配置示例如下:
表8
表8的示例中,上述兩個分類條件都被配置(即值都為“true”),這時將使用第一分類條件(“weight-collection-size”)即保持每個類別具有近似的對象數目。當然,可以僅配置其中之一。
如果上述分類策略不能滿足管理用戶的需求,那么管理用戶可以配置自定義的劃分。以下是一個實現和配置示例。
表9
表9的示例中,自定義了類“myroutingexample”,規(guī)定了分類涉及的對有關的屬性并規(guī)定了兩個分類條件。作為示例,“my_field”包含“test12345”的文件將被劃分到“collection1”,包含“test3456”的文件將被劃分到“collection2”。還可以簡單地將“contains”變?yōu)椤皊tartswith”或“endswith”等改變操作符等。這種情況下應該實現類myroutingexample以支持所期望的邏輯并將上述配置放入例如對象分類裝置106中以保證按照所期望的分類劃分進行工作。
通過以上示例示出了本公開的幾種分類策略。管理用戶只需要設置配置項即可。這種設置可以手動進行,也可以根據提供的用戶輸入界面進行。顯然的,分類策略的配置是需要根據應用場景縝密考慮的,例如對于分類策略中約束的選取、分類條件的先后順序等,這將直接影響到分類和檢索效果。
完成配置之后,分類策略例如可以保存為配置文件。對象分類裝置106可以對對象進行劃分操作。圖3示出了根據本公開實施例的為待搜索對象建立索引的方法300的流程圖。在步驟302,接收到待搜索的對象。這些對象可以具有統(tǒng)一格式例如xml的包含元數據的文件,其存儲在信息庫104中。然后,在步驟304,獲取包括一組分類條件的分類策略,分類條件將一組約束與相應的類別相關聯。如上所描述,可以按照方法200根據業(yè)務需要,按照所期望的對象分類或路由目標,建立分類策略。在一個如上述的實施例中,分類策略形成xml配置文件,對象分類裝置106可以獲取包含分類策略的配置文件。在步驟306,通過匹配分類策略中的分類條件中的約束,將對象劃分到類別中的一個類別,以用于建立搜索索引。對于待搜索的對象,根據分類條件,逐一劃分到相應的類別,以便對象索引裝置108對其進行進一步的處理和建立索引。以下結合圖4進一步 進行說明。
圖4示出了根據本公開的一個實施例的為待搜索對象建立索引的方法的流程圖。在步驟401,接收到待搜索的對象,之后例如對象分類裝置106在步驟402獲得如以上所描述建立的分類策略并進行解析分類策略也即匹配分類策略中的分類條件中的約束。如果約束涉及對象的元數據,則進行到步驟403,獲取對象的元數據。對象的元數據存在于對象的元數據文件(即文件對象)中,例如如上所述的存儲在信息庫104中xml文件中,因此對象分類裝置106可以從信息庫104中獲得對象的元數據。然后,在步驟404,基于配置的分類策略,將對象的元數據與分類條件中的約束進行匹配,并且響應于匹配結果,將對象劃分到分類策略中配置的類別中?;趯ο蟮姆诸愵悇e,對象索引裝置108可以為對象建立搜索索引。
如果分類策略中涉及劃分的類別的屬性,例如如上所描述的一個示例中,"weight-collection-size"對應的值配置為"true",也即分類條件涉及類別中包含的對象的數目,則進行到步驟405。在步驟405中,統(tǒng)計并確定類別中目前包含的對象的數目,以根據類別的“承載”對象數量情況進行對象的劃分或路由,進而平衡類別中對象的多少,以簡化對象索引部署及提升檢索效率。隨后在步驟406,可以根據類別中包含對象數目的預定閾值來進行對象的劃分或路由,其中一種方式可以是基于最少原則,也即當前類別中對象數目最少的類別為對象劃分的目標類別。替選地,可以預定類別中包括對象數目的閾值,對于小于該閾值的類別,基于合適的甚至隨機的方式將到來的對象劃分或路由到這些類別中?;趯ο蟮姆诸愵悇e,對象索引裝置108可以為對象建立搜索索引。
另一方面,如果分類策略中涉及劃分的類別的屬性,例如如上所描述的一個示例中,"weight-storage-size"對應的值配置為"true",也即分類條件涉及類別中包含的對象占用的存儲空間的大小,則進行到步驟407。在步驟407中,統(tǒng)計并確定類別中目前包含的對象占用的存儲空間的大小,以根據類別的“承載”存儲大小情況進行對 象的劃分或路由,進而平衡類別中存儲空間的多少,以簡化對象索引部署及提升檢索效率。隨后在步驟408,可以根據類別中包含對象占用的存儲空間的大小的預定閾值來進行對象的劃分或路由,其中一種方式可以是基于最小原則,也即當前類別中對象占用的存儲空間的大小最小的類別為對象劃分的目標類別。替選地,可以預定類別中包括對象占用的存儲空間的大小的閾值,對于小于該閾值的類別,基于合適的甚至隨機的方式將到來的對象劃分或路由到這些類別中?;趯ο蟮姆诸愵悇e,對象索引裝置108可以為對象建立搜索索引。
上述方法200、300和400可以由對象分類裝置106來實施,可選地,至少一部分可被實現為軟件模塊。圖5示出了一個可以用來實施本公開的實施例的設備500的示意性框圖。設備500可以充當用于一種對象分類設備例如包括上文描述的對象分類裝置106。
如圖所示,設備500包括中央處理單元(cpu)501,其可以根據存儲在只讀存儲器(rom)502中的計算機程序指令或者從存儲單元708加載到隨機訪問存儲器(ram)503中的計算機程序指令,來執(zhí)行各種適當的動作和處理。在ram503中,還可存儲設備500操作所需的各種程序和數據。cpu501、rom502以及ram503通過總線504彼此相連。輸入/輸出(i/o)接口505也連接至總線504。
設備500中的多個部件連接至i/o接口505,包括:輸入單元506,例如鍵盤、鼠標等;輸出單元507,例如各種類型的顯示器、揚聲器等;存儲單元508,例如磁盤、光盤等;以及通信單元509,例如網卡、調制解調器、無線通信收發(fā)機等。通信單元509允許設備500通過諸如因特網的計算機網絡和/或各種電信網絡與其他設備交換信息/數據。
上文所描述的各個過程和處理,例如方法200、300以及400,可由處理單元501執(zhí)行。例如,在一些實施例中,方法300以及400可被實現為計算機軟件程序,其被有形地包含于機器可讀介質,例如存儲單元508。在一些實施例中,計算機程序的部分或者全部可以 經由rom502和/或通信單元509而被載入和/或安裝到設備500上。當計算機程序被加載到ram503并由cpu501執(zhí)行時,可以執(zhí)行上文描述的方法200、300以及400的一個或多個步驟。
通過以上描述和相關附圖中所給出的教導,這里所給出的本公開的許多修改形式和其它實施方式將被本公開相關領域的技術人員所意識到。因此,所要理解的是,本公開的實施方式并不局限于所公開的具體實施方式,并且修改形式和其它實施方式意在包括在本公開的范圍之內。此外,雖然以上描述和相關附圖在部件和/或功能的某些示例組合形式的背景下對示例實施方式進行了描述,但是應當意識到的是,可以由備選實施方式提供部件和/或功能的不同組合形式而并不背離本公開的范圍。就這點而言,例如,與以上明確描述的有所不同的部件和/或功能的其它組合形式也被預期處于本公開的范圍之內。雖然這里采用了具體術語,但是它們僅以一般且描述性的含義所使用而并非意在進行限制。