本公開內容的各種實施方式涉及全文搜索領域,并且更具體地,涉及用于基于分類的全文搜索的方法、設備和系統(tǒng)。
背景技術:
隨著互聯網以及數據庫技術的快速發(fā)展,對信息的搜索已經成為廣泛存在的需求。全文搜索(fulltextsearch)是信息搜索領域中一種越來越受歡迎的搜索方法。
通常在全文搜索系統(tǒng)中,搜索引擎將電子文檔的內容解析成全文索引并且將全文索引存儲在索引庫中。每個全文索引可以包括電子文檔的一個或多個字、詞、符號或句子。在使用過程中,搜索引擎使用用戶輸入的關鍵字在索引庫中進行搜索,并且返回與匹配的全文索引對應的電子文檔。然而,這種搜索過程返回的搜索結果通常難以使得用戶滿意,特別是當索引庫中存儲有大量的電子文檔的全文索引時。
技術實現要素:
本公開內容的多種實施方式提供了一種基于分類的全文搜索的方案。
根據本公開內容的第一方面,提供了一種用于全文搜索的方法。該方法包括基于所獲得的電子文檔的內容生成第一全文索引。該方法還包括分類電子文檔以確定電子文檔的類別標識符,以及基于類別標識符生成第二全文索引。該方法進一步包括存儲第一全文索引和第二全文索引。
根據本公開內容的第二方面,提供了一種用于全文搜索的方法。 該方法包括獲取用戶輸入的搜索項,搜索項至少包括與待搜索的電子文檔的類別標識符有關的類別關鍵詞。該方法還包括將搜索項與預定義的多個全文索引進行匹配。多個全文索引至少包括第一全文索引,第一全文索引與通過分類至少一個電子文檔而確定的類別標識符有關。該方法進一步包括基于所匹配的全文索引,確定相關聯的電子文檔。
根據本公開內容的第三方面,提供了一種用于全文搜索的設備。該設備包括至少一個處理單元;以及至少一個存儲器。至少一個存儲器耦合至至少一個處理單元并且在其上存儲指令,指令在由至少一個處理單元執(zhí)行時執(zhí)行包括以下各項的動作:基于所獲得的電子文檔的內容生成第一全文索引;分類電子文檔以確定電子文檔的類別標識符;基于類別標識符生成第二全文索引;以及存儲第一全文索引和第二全文索引。
根據本公開內容的第四方面,提供了一種用于全文搜索的設備。該設備包括至少一個處理單元;以及至少一個存儲器。至少一個存儲器耦合至至少一個處理單元并且在其上存儲指令,指令在由至少一個處理單元執(zhí)行時執(zhí)行包括以下各項的動作:獲取用戶輸入的搜索項,搜索項至少包括與待搜索的電子文檔的類別標識符有關的類別關鍵詞;將搜索項與預定義的多個全文索引進行匹配,多個全文索引至少包括第一全文索引,第一全文索引與通過分類至少一個電子文檔而確定的類別標識符有關;以及基于所匹配的全文索引,確定相關聯的電子文檔。
根據本公開內容的第五方面,提供了一種用于全文搜索的系統(tǒng)。該系統(tǒng)包括根據第三方面描述的用于全文搜索的設備。該系統(tǒng)還包括根據第四方面描述的用于全文搜索的設備。該系統(tǒng)進一步包括全文索引庫,被配置為存儲第一全文索引和第二全文索引。
根據本公開內容的第六方面,提供了一種計算機可讀存儲介質。該計算機可讀存儲介質具有存儲在其上的計算機可讀程序指令。這些計算機可讀程序指令用于執(zhí)行根據以上第一方面所描述的方法的 步驟。
根據本公開內容的第七方面,提供了一種計算機可讀存儲介質。該計算機可讀存儲介質具有存儲在其上的計算機可讀程序指令。這些計算機可讀程序指令用于執(zhí)行根據以上第二方面所描述的方法的步驟。
提供發(fā)明內容部分是為了簡化的形式來介紹對概念的選擇,它們在下文的具體實施方式中將被進一步描述。發(fā)明內容部分無意標識本公開內容的關鍵特征或主要特征,也無意限制本公開內容的范圍。
附圖說明
通過結合附圖對本公開示例性實施例進行更詳細的描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實施例中,相同的參考標號通常代表相同部件。
圖1示出了可以在其中實施本公開內容的多個實施例的環(huán)境的示意圖;
圖2示出了根據本公開內容的實施例的用于全文搜索的方法的流程圖;
圖3a-3b示出了被存儲為樹結構的兩個類別及其子類別的示意圖;
圖4示出了根據本公開內容的實施例的用于全文搜索的方法的流程圖;以及
圖5示出了可以用來實施本公開內容的實施例的示例設備的示意性框圖。
具體實施例
下面將參照附圖更詳細地描述本公開的優(yōu)選實施例。雖然附圖中顯示了本公開的優(yōu)選實施例,然而應該理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施 例是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。
在本文中使用的術語“包括”及其變形表示開放性包括,即“包括但不限于”。除非特別申明,術語“或”表示“和/或”。術語“基于”表示“至少部分地基于”。術語“一個示例實施例”和“一個實施例”表示“至少一個示例實施例”。術語“另一實施例”表示“至少一個另外的實施例”。術語“第一”、“第二”等等可以指代不同的或相同的對象。下文還可能包括其他明確的和隱含的定義。
圖1示出了可以在其中實施本公開內容的多個實施例的環(huán)境100的示意圖。環(huán)境100包括全文搜索系統(tǒng)110,可以用于對一個或多個電子文檔進行索引化,并且可以向用戶提供搜索服務。全文搜索系統(tǒng)110可以包括索引處理設備112,其被配置為針對獲得的電子文檔,生成全文索引。索引處理設備112還可以將生成的全文索引存儲至全文索引庫120中。如本文中所使用的,術語“電子文檔”指的是任何機器可讀格式的文件,包括但不限于pdf文件、txt文件、各種office文件、各種網頁文件等等。全文搜索系統(tǒng)110可以從各種數據源獲得電子文檔。例如,全文搜索系統(tǒng)110可以從各個網站(未示出)抓取網頁文件。在某些示例中,還可以由用戶終端、例如終端a132和/或終端b134向全文搜索系統(tǒng)110提供各種電子文檔。
除了向全文搜索系統(tǒng)110提供電子文檔或者取而代之,終端a132和/或終端b134可以利用全文搜索系統(tǒng)110查詢期望獲得的電子文檔。例如,終端a132和/或終端b134可以將用戶輸入的查詢關鍵詞發(fā)送給全文搜索系統(tǒng)110。全文搜索系統(tǒng)110的查詢處理設備114可以使用查詢關鍵詞,在全文索引庫120中查找匹配的全文索引,并且然后將匹配的全文索引對應的電子文檔提供給相應的終端。在一些情況中,查詢處理設備114可以將查找到的電子文檔的地址提供給相應的終端,從而使得終端的用戶可以根據該地址獲得對應的電子文檔。在一些實施例中,終端a132和/或終端b134可以經由有線和/或無線連接而連接至全文搜索系統(tǒng)110。終端a132和/或終 端b134可以任意類型的移動終端、固定終端或便攜式終端。
應當認識到的是,雖然被示出為兩個分離的設備,在一些實施例中,索引處理設備112和查詢處理設備114可以由單個設備、例如服務器、計算設備等來實現。在另外一些實施例中,索引處理設備112或查詢處理設備114還可以由多個設備、例如服務器、計算設備等來實現。全文搜索系統(tǒng)110有時也可以被稱為搜索引擎。
在已有的全文搜索系統(tǒng)中,電子文檔的內容被解析為一個或多個全文索引,其中每個全文索引可以包括電子文檔的一個或多個字、詞、符號或句子。用戶輸入的關鍵詞被用于與全文索引相匹配,以便查詢電子文檔。如先前提及的,這種全文搜索方法難以返回用戶期望的電子文檔。在一些情況下,通過利用關鍵詞來匹配全文索引,將會返回大量的電子文檔,使得用戶難以從中準確地獲得期望的內容。例如,如果用戶期望查詢由“tom”撰寫的與“數據存儲”領域中的“備份恢復”有關的電子文檔,他可能會嘗試輸入關鍵詞“數據存儲備份修復tom”。全文搜索系統(tǒng)根據用戶輸入的關鍵詞,可能會返回大量的與其他數據存儲領域的其他方面或者由其他作者撰寫的電子文檔。這樣的搜索結果是不準確的,嚴重影響用戶體驗。
根據本公開內容的實施例,提供了一種用于全文搜索的方案。在創(chuàng)建全文索引時,除了基于電子文檔的內容生成全文索引之外,還對電子文檔進行分類,以基于分類結果生成另外的全文索引。與文檔內容有關的全文索引和與文檔類別有關的全文索引均被存儲到例如全文索引庫中。在用戶使用時,用戶可以選擇期望的文檔類別。與文檔類別有關的信息被用作搜索關鍵詞可以與用戶輸入的其他與文檔內容有關的關鍵詞一起,被用于查詢全文索引庫。通過這種方式,可以從全文索引庫中查找到與文檔類別并且還與文檔內容對應的電子文檔,從而減少了搜索結果的范圍并且提高了搜索結果的準確度。
現在參照圖2,其中示出了根據本公開內容的實施例的用于全文搜索的方法200的流程圖。方法200可以用于創(chuàng)建全文索引,并且 可以被實施在例如全文搜索系統(tǒng)110的索引處理設備112處。理解的是,方法200還可以包括附加的步驟和/或省略執(zhí)行示出的步驟。本公開內容的范圍在此方面不受限制。
在步驟210處,基于所獲得的電子文檔的內容生成第一全文索引。第一全文索引是與文檔內容有關的全文索引。在一些實施例中,全文搜索系統(tǒng)110例如可以主動從各種數據源獲取新創(chuàng)建或者更新后的電子文檔。備選地或附加地,各種數據源可以主動向全文搜索系統(tǒng)110傳輸新創(chuàng)建或者更新后的電子文檔。電子文檔可以是任何機器可讀格式的文件并且可以包括任何人類或機器語言的內容。全文搜索系統(tǒng)110的索引處理設備112可以例如提取電子文檔的內容并且將電子文檔的內容劃分成一個或多個全文索引,每個全文索引可以包括一個或多個字、詞、符號或句子。應當認識到,可以采用目前已知的或者未來開發(fā)的各種技術來將電子文檔的內容分解成全文索引。
接下來,方法200行進至步驟220,其中電子文檔被分類以確定電子文檔的類別標識符。在一些實施例中,可以預先設置一個或多個文檔類別。這些文檔類別可以基于對所獲得的電子文檔的分析來設置。備選地或附加地,還可以由全文搜索系統(tǒng)110的用戶或管理者來設置。應當理解的是,本公開內容對于文檔的分類沒有具體的限定,可以從各個方面對文檔進行分類。作為示例但并非限制性地,可以依據文檔的作者、創(chuàng)建時間、創(chuàng)建地點、修改時間、文檔大小、文檔格式、文檔的語言、文檔主題和文檔的可訪問地址中的一項或者多項來確定電子文檔屬于一個或者多個類別。
在一些實施例中,可以獲得電子文檔的元數據,并且可以基于與電子文檔相關聯的元數據來分類電子文檔。電子文檔的元數據可以包括與電子文檔有關的各種說明性信息。電子文檔的元數據可以包括但不限于文檔的作者、創(chuàng)建時間、創(chuàng)建地點、修改時間、文檔大小、文檔格式、文檔的語言、文檔主題、文檔的可訪問地址等等。電子文檔的元數據可以變化,并且每個電子文檔的元數據的信息的 類型也可以不同。在一些實施例中,元數據可以從文檔的數據源獲得。文檔的創(chuàng)建者也可以規(guī)定該文檔的元數據中的一項或多項。
備選地或附加地,可以通過分析電子文檔中的內容的語義來分類電子文檔。可以利用各種目前已知的或者將來要開發(fā)的技術來從文檔的內容的語義中確定文檔的類別。作為示例,可以通過分析文檔內容來確定文檔主題,諸如確定文檔屬于哪個知識領域。在另一個示例中,還可以通過語義分析確定文檔的語言,例如屬于中文、英文、或者其他人類或機器語言。在其他實施例中,還可以由全文搜索系統(tǒng)110的用戶或管理者手動劃分電子文檔的類別。
因此,在一些實施例中,基于所獲得的電子文檔相關聯的元數據或者語義分析的結果,可以將該文檔劃分到相應的預定類別中。例如,如果預先設置了與文檔的作者、創(chuàng)建時間、創(chuàng)建地點、修改時間、文檔大小、文檔格式和/或文檔主題有關的類別,則可以依據當前文檔中的元數據所包含的信息,確定文檔的相應類別。在一些實施例中,可以僅預先設置文檔的分類規(guī)則,并且然后依據所獲得的文檔相關聯的元數據來創(chuàng)建對應的文檔。例如,可以設置對文檔作者進行分類的規(guī)則。如果新獲得的文檔的作者屬于之前創(chuàng)建的某個作者有關的類別,則將該文檔劃分到已有的類別中。如果新獲得的文檔的作者不存在,則可以創(chuàng)建新的作者分類,并且將該文檔劃分到該新創(chuàng)建的類別中。在一些實施例中,還可以預先設置多個類別的劃分準則,并且然后依據該準則來分類電子文檔。例如,可以將文檔大小劃分為巨大、大、中、小和空五個類別。依據新獲得的文檔的大小,將該文檔與五個類別之一相關聯。
在一些實施例中,還可以預先定義多個類別,并且可以確定電子文檔是否屬于這些類別中的一個或多個類別。通常多個類別可以從多個方面來分類該電子文檔。在一些實施例中,電子文檔可以以更精細的方式來劃分。對于預定的類別中的一個或多個類別,還可以繼續(xù)劃分成一個或多個子類別。因此,在確定新獲得的電子文檔屬于某個大的類別時,如果該類別還存在一個或多個子類別,則可 以繼續(xù)確定該電子文檔是否屬于某個子類別。例如,對于某個文檔主題的類別,還可以繼續(xù)定義該主題下的多個更細的主題。應當理解的是,還可以將一個或者多個子類別繼續(xù)細分,并且本公開內容的范圍在此方面不受限制。
在一些實施例中,每個類別和子類別可以具有相關聯的類別標識符,用以在這些類別和子類別之間進行區(qū)別。例如,對于文檔作者的類別,可以將作者的名字作為每個類別的標識符。對于其他類別,也可以類似地進行分配類別標識符。在一些實施例中,當確定所獲得的電子文檔屬于一個或多個類別之后,將這些類別的標識符確定為電子文檔的標識符。如果電子文檔即屬于某個大的類別,又屬于該類別下的某個子類別,則可以將該類別和子類別的標識符均確定為該電子文檔的標識符。
在一些實施例中,每個預定類別及其子類別可以以樹結構被存儲。樹結構的根節(jié)點可以描述該類別,并且每個預定類別及其子類別可以被認為是樹結構中的子節(jié)點。這個樹結構也可以被稱為決策樹。當獲得新的電子文檔時,通過遍歷每個樹結構、例如遍歷樹結構中的每個節(jié)點,可以方便地確定該電子文檔是否屬于該類別或者子類別。在一些實施例中,每個樹結構可以被存儲為一個文件。其他實施例中,多個樹結構還可以被存儲為一個文件。
圖3a-3b圖示了被存儲為樹結構310-320的兩個類別及其子類別的示意圖。在圖3a中,樹結構310與文檔作者的類別有關,其中根節(jié)點312描述該樹結構,并且子節(jié)點314和316指示兩個類別。在圖3b中,樹結構320與文檔主題的類別有關,其中根節(jié)點322描述該樹結構,并且子節(jié)點324指示一個類別。通過遍歷樹結構310和320,可以確定電子文檔是否屬于與某個作者有關的類別,或者其包括的內容是否屬于某個主題以及該主題下的子主題。
在一些實施例中,樹結構還可以動態(tài)地增加。例如,如果確定電子文檔的作者不屬于已有的作者類別中的任何一個,則可以一個節(jié)點,該節(jié)點與該作者的類別有關。然后還可以將該電子文檔劃分 到該類別中。
繼續(xù)參考圖2,方法200行進至步驟230,其中基于類別標識符生成第二全文索引。第二全文索引是與文檔類別有關的索引。在一些實施例中,可以避免第二全文索引與第一全文索引相同。例如,在一些示例中,通過電子文檔的內容得到的第一全文索引可能包括與文檔作者的名字有關的詞語。為了避免后續(xù)可能的搜索錯誤,可以將與文檔類別有關的第二全文索引確定為能夠區(qū)別于第一全文索引。例如,可以為第二全文索引增添前綴,用于區(qū)別于文檔內容有關的第一全文索引。
在一個實施例中,第二全文索引可以包括前綴部分和描述部分,其中前綴部分可以是用于區(qū)別文檔內容有關的索引和文檔類別有關的索引,并且描述部分用于描述文檔的類別標識符。舉例而言,如果確定電子文檔屬于作者為“tom”的類別,則可以生成與文檔作者的類別有關的前綴部分“dt_author”和與該類別的標識符有關的描述部分“tom”。在一些實施例中,也可以將預定的類別或子類別的標識符確定為能夠與第一全文索引區(qū)別,并且因此可以將類別標識符直接確定為第二全文索引。例如,可以將“dt_author_tom”作為作者為“tom”的類別的標識符并且因此可以將它直接用作第二全文索引。
應當認識到的是,如果在步驟220中確定電子文檔屬于多個類別或者一個或多個子類別,則還可以以類似的方式基于每個類別或子類別的標識符來生成相應的第二全文索引。
在方法200的步驟240中,可以存儲第一全文索引和第二全文索引。例如,全文搜索系統(tǒng)110的索引處理設備112可以將第一和第二全文索引存儲至全文索引庫120中。在一些實施例中,還可以將電子文檔的可訪問地址與第一和第二全文索引相關聯地存儲。在另外一些實施例中,還可以將電子文檔的原始內容與第一和第二全文索引相關聯地存儲。通過這樣的方式,當依據第一或第二全文索引搜索到該電子文檔時,可以將該電子文檔的地址或者內容呈現給 用戶以供用戶訪問。
在一些實施例中,還可以基于與電子文檔相關聯的元數據生成第三全文索引,并且存儲第三全文索引。例如,第三全文索引可以與第一和第二全文索引一起被存儲至全文索引庫120中。應當理解的是,第三全文索引可以包括元數據所包括的內容中的一個或多個字、詞、字符或句子。
以上參照圖2描述了創(chuàng)建全文索引的過程。每當接收到新的電子文檔時,均可以根據圖2的方法200為該電子文檔創(chuàng)建全文索引。接下來將參照圖4描述基于建立的全文索引進行搜索的方法400。方法400可以被實施在例如全文搜索系統(tǒng)110的查詢處理設備114處。理解的是,方法400還可以包括附加的步驟和/或省略執(zhí)行示出的步驟。本公開內容的范圍在此方面不受限制。
在步驟410處,獲取用戶輸入的搜索項。用戶可以經由終端發(fā)出查詢請求,并且給出相應的搜索項。在一些實施例中,搜索項可以包括待搜索的電子文檔的內容有關的內容關鍵詞,指示用戶期望獲得其內容中包括所指定的關鍵詞的電子文檔。在一些實施例中,該搜索項還包括與待搜索的電子文檔的類別標識符有關的類別關鍵詞。當基于文檔分類來創(chuàng)建全文索引之后,可以為用戶提供用戶接口,以使得用戶可以選擇相應的類別。在一些實施例中,可以例如經由用戶所使用的終端中的用戶界面接口提供與預定的一個或多個類別對應的選項。用戶可以通過選擇這些選項來確定期望獲取的電子文檔的類別。在一些實施例中,對于包括一個或多個子類別的大類別,還可以繼續(xù)向用戶提供與子類別對應的選項以供選擇。所提供的選項可以由對應的類別或子類別的標識符來指示。
在一些實施例中,響應于用戶對一個或多個選項的選擇,可以基于對應的類別或子類別的標識符來確定類別關鍵詞。不同于與文檔的內容有關的內容關鍵詞(其可能是用戶直接輸入的關鍵詞),類別關鍵詞可以通過用戶對于文檔的類別或子類別的選擇來生成。例如,如果用戶期望獲得作者“tom”撰寫的文檔并且選擇了與該作者 類別對應的選項,則可以生成“dt_author_tom”作為類別關鍵詞。除了向用戶提供選項以供選擇之外或者備選地,用戶還可以直接輸入與所創(chuàng)建的文檔類別全文索引的類型相似的關鍵詞,例如“dt_author_tom”,以便于獲得在該類別中的電子文檔。
接下來,在方法400的步驟420中,將搜索項與預定義的多個全文索引進行匹配。如以上關于方法200所描述的,多個全文索引可以包括與文檔內容有關的第一全文索引和與文檔類別有關的第二內容索引。在一些實施例中,可以將搜索項中的每個關鍵詞、包括文檔內容關鍵詞和類別關鍵詞與每個全文索引進行比較。如果該全文索引中包括一個或多個關鍵詞,則可以確定該全文索引與該關鍵詞相匹配。
在一些實施例中,可以設置搜索項的關鍵詞之間的約束關系。例如,多個文檔內容的關鍵詞之間可以是“和”或者“或”的關系。多個文檔類別的關鍵詞之間可以是“和”或者“或”的關系,并且基于每個類別之下的子類別確定的關鍵詞可以是“或”的關系。在一些實施例中,可以基于這些約束關系在每個電子文檔相關聯的多個全文索引中進行匹配。作為一個示例,假設用戶輸入文檔內容關鍵詞“速度提高”和“存儲空間有效”,并且用戶還選擇了作者類別“tom”和文檔主題類別“數據存儲”以及該類別之下的子類別“備份恢復”和“性能提升”。在獲取相應的類別關鍵詞之后,可以為在每個電子文檔對應的全文索引中查找與“tom”和“數據存儲”和“備份恢復”或“性能提升”有關的關鍵詞匹配的全文索引,此外還要確定該電子文檔的全文索引是否還包括與“速度提高”和“存儲空間有效”這兩個內容關鍵詞匹配的全文索引。如果在某個電子文檔的全文索引中能夠查找到與搜索項的類別關鍵詞以及文檔內容關鍵詞匹配時,則可以確定這些全文索引對應的電子文檔與用戶的搜索項匹配。在一些對于搜索精度要求不高的情況中,如果某個電子文檔的全文索引與一個或多個關鍵詞匹配,也可以確定結果是匹配的。
在方法400的步驟430中,基于所匹配的全文索引,確定相關 聯的電子文檔。通過使用搜索項來查找全文索引,如果查找到滿足條件的全文索引,則可以將該索引對應的電子文檔作為搜索結果返回給用戶。在一些實施例中,可以將電子文檔的可訪問地址返回給用戶。在一些實施例中,可以按照匹配度向用戶提供搜索結果。匹配度可以根據電子文檔相關聯的全文索引與搜索項中的關鍵詞匹配的數目來確定。
以上參照圖2和4描述了本公開內容的各種實施例。通過本公開內容的全文搜索方法,可以為用戶提供更準確的搜索結果。在一些實施例中,由于為電子文檔進行分類,可以檢索出文檔內容是空白的電子文檔。因為雖然由于文檔內容是空白的而無法生成文檔內容有關的全文索引,但是可以依據分類結果為該電子文檔生成對應的文檔類別全文索引。用戶在搜索時可以通過定義相應的類別來查詢該文檔。
圖5示出了可以用來實施本公開內容的實施例的示例設備500的示意性框圖。設備500可以用于實現圖1的索引處理設備112和/或查詢處理設備114。如圖所示,設備500包括中央處理單元(cpu)501,其可以根據存儲在只讀存儲器(rom)502中的計算機程序指令或者從存儲單元508加載到隨機訪問存儲器(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和/或400,可由 處理單元501執(zhí)行。例如,在一些實施例中,方法200和/或400可被實現為計算機軟件程序,其被有形地包含于機器可讀介質,例如存儲單元508。在一些實施例中,計算機程序的部分或者全部可以經由rom502和/或通信單元509而被載入和/或安裝到設備500上。當計算機程序被加載到ram503并由cpu501執(zhí)行時,可以執(zhí)行上文描述的方法200和/或400的一個或多個步驟。
本公開內容可以是系統(tǒng)、方法和/或計算機程序產品。計算機程序產品可以包括計算機可讀存儲介質,其上載有用于執(zhí)行本公開內容的各個方面的計算機可讀程序指令。
計算機可讀存儲介質可以是可以保持和存儲由指令執(zhí)行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是――但不限于――電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數字多功能盤(dvd)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸的電信號。
這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網絡、例如因特網、局域網、廣域網和/或無線網下載到外部計算機或外部存儲設備。網絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網關計算機和/或邊緣服務器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,并轉發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質 中。
用于執(zhí)行本公開內容操作的計算機程序指令可以是匯編指令、指令集架構(isa)指令、機器指令、機器相關指令、微代碼、固件指令、狀態(tài)設置數據、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向對象的編程語言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡—包括局域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現本公開內容的各個方面。
這里參照根據本公開內容實施例的方法、裝置(系統(tǒng))和計算機程序產品的流程圖和/或框圖描述了本公開內容的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現。
這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理器執(zhí)行時,產生了實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數據處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個制造品,其包括實現流程圖和/或框圖中的一個或多個方框中規(guī) 定的功能/動作的各個方面的指令。
也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執(zhí)行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機、其它可編程數據處理裝置、或其它設備上執(zhí)行的指令實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據本公開內容的多個實施例的系統(tǒng)、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現,或者可以用專用硬件與計算機指令的組合來實現。
以上已經描述了本公開內容的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。