專利名稱:用于匹配實體的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)獲取和分析的領(lǐng)域,且具體地,涉及用于確定匹配系統(tǒng)接收的實體是否與之前接收的實體相匹配的方法和系統(tǒng)。
背景技術(shù):
在過去5-10年中,在全球的人群中,“搜索”已變成了數(shù)字世界中的現(xiàn)象。在典型的搜索情形中,使用短的搜索查詢來找到大的、或至少較大的文檔。典型的示例是互聯(lián)網(wǎng)搜索引擎或安裝在圖書館計算機(jī)上的用于搜索圖書館中存儲的論文或書籍的搜索引擎。如上所述的傳統(tǒng)的搜索場景與典型的匹配場景不同。在匹配場景中,兩個或更多用戶向系統(tǒng)中輸入數(shù)據(jù),以便找出該數(shù)據(jù)是否與其他用戶輸入的數(shù)據(jù)匹配。即,與搜索場景相反地,向系統(tǒng)中輸入信息的所有用戶都對發(fā)現(xiàn)匹配信息感興趣。在搜索場景中,僅輸入搜索查詢(一般是以一個或若干關(guān)鍵字的形式)的用戶才對匹配結(jié)果感興趣。從技術(shù)角度來看,匹配系統(tǒng)與搜索引擎的不同之處至少在于匹配系統(tǒng)必須對輸入的“查詢”編寫索引,因為查詢還有可能與之前或后續(xù)接收的查詢相匹配。為了區(qū)分“匹配查詢”和常規(guī)搜索查詢, 在本文檔的全文中將“匹配查詢”中發(fā)送至匹配系統(tǒng)的數(shù)據(jù)稱作“實體(entity) ”。匹配系統(tǒng)可以用在很多不同類型的匹配服務(wù)中。這種服務(wù)的示例如在線求職/招募服務(wù)、電子商務(wù)服務(wù)和約會服務(wù)。在現(xiàn)有的匹配系統(tǒng)中,可以將匹配操作看成分為至少兩個子操作插入操作和搜索操作。首先,當(dāng)新用戶向系統(tǒng)發(fā)送實體時,執(zhí)行將實體插入系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中的插入操作。該操作涉及通過將實體編寫進(jìn)索引使得該實體對于其他用戶而言可搜索的步驟,在該步驟中,將實體與索引點(diǎn)相關(guān)聯(lián)以協(xié)助對實體的快速而準(zhǔn)確的檢索。然后,在稍后的階段, 執(zhí)行系統(tǒng)搜索匹配實體的搜索操作。由在系統(tǒng)中發(fā)生的某個事件來發(fā)起該搜索操作。因此可以將這種事件看成“匹配觸發(fā)事件”。在現(xiàn)有的匹配系統(tǒng)中,匹配觸發(fā)事件可以是例如當(dāng)瀏覽求職網(wǎng)站時,用戶按動在他/她的web瀏覽器上向用戶顯示的“搜索匹配工作按鈕”的發(fā)生,或在具有求職應(yīng)用的服務(wù)器中運(yùn)行的定時器的到期。為了查看在上一次匹配觸發(fā)事件發(fā)生之后是否已經(jīng)向系統(tǒng)添加了新的匹配,用戶必須等待下一個匹配觸發(fā)事件的發(fā)生, 即在該示例情況下,再一次等待定時器到期或按壓搜索按鈕。匹配系統(tǒng)如何以及何時執(zhí)行針對潛在匹配的搜索對于感受到的匹配服務(wù)的質(zhì)量而言是關(guān)鍵的。同樣地,在匹配觸發(fā)事件發(fā)生間隔中,存在匹配系統(tǒng)處于“未匹配狀態(tài)”的風(fēng)險,意味著系統(tǒng)可能未意識到在系統(tǒng)中存儲的不同實體彼此匹配。當(dāng)然,這是不期望出現(xiàn)的匹配系統(tǒng)的狀態(tài),因為只要系統(tǒng)未意識到匹配實體的存在,就不能向用戶通知匹配的實體。該事實經(jīng)常降低了用戶感受到的所使用的匹配系統(tǒng)的服務(wù)質(zhì)量。匹配系統(tǒng)如何以及何時執(zhí)行針對潛在匹配的搜索對于匹配系統(tǒng)所需的計算能力來說也是關(guān)鍵的。在現(xiàn)有系統(tǒng)中,在匹配操作中,必須遍歷索引至少兩次;一次是對實體編寫索引時的插入操作期間,以及一次是在尋找匹配實體中遍歷索引時的搜索操作期間。由于典型的匹配系統(tǒng)的索引包括大量數(shù)據(jù),該過程通常是緩慢且消耗計算能力的。
因此,與根據(jù)現(xiàn)有技術(shù)的匹配系統(tǒng)相關(guān)聯(lián)的一個問題是如何增加用戶感受到的所使用的系統(tǒng)的匹配服務(wù)的服務(wù)質(zhì)量。另一個問題是如何減少匹配系統(tǒng)中需要的計算能力。 又一個問題是如何減少在系統(tǒng)中找到所有潛在匹配所需的時間。
發(fā)明內(nèi)容
本發(fā)明的目標(biāo)是解決或至少減輕匹配系統(tǒng)的上述問題中的至少一個。該目標(biāo)由一種能夠確定從第一用戶的客戶端設(shè)備接收的第一實體是否與在索引中已被編寫索引的多個實體中的至少一個相匹配的匹配系統(tǒng)來實現(xiàn),在該索引中,每一個實體與一個或多個索引點(diǎn)相關(guān)聯(lián)。所述匹配系統(tǒng)包括應(yīng)用服務(wù)器(比如Java EE應(yīng)用服務(wù)器),其適于與匹配引擎和客戶端設(shè)備通信。所述匹配引擎適于通過將所述第一實體與所述索引中的一個或多個索引點(diǎn)相關(guān)聯(lián)對所述第一實體編寫索引,且適于通過搜索與所述第一實體相關(guān)聯(lián)的至少一個所述索引點(diǎn)相關(guān)聯(lián)的實體,在所述索引中已被編寫索引的多個實體中搜索匹配所述第一實體的實體。當(dāng)本文中被稱作匹配觸發(fā)事件的事件發(fā)生時,所述匹配系統(tǒng)適于發(fā)起針對與所述第一實體匹配的實體的搜索。所述匹配系統(tǒng)適于將接收到所述第一實體解釋為這種匹配觸發(fā)事件。從而,當(dāng)接收到所述第一實體時,所述匹配系統(tǒng)適于發(fā)起所述搜索。如在背景技術(shù)部分所提到的,在本文中術(shù)語“實體”用于區(qū)分在“匹配查詢”中向匹配系統(tǒng)發(fā)送的數(shù)據(jù)與在搜索查詢中發(fā)送至常規(guī)搜索引擎的數(shù)據(jù)。在本文中實體匹配另一個實體意味著這些實體具有至少一個共同的索引點(diǎn),即,在所述索引中存在與兩個實體都關(guān)聯(lián)的至少一個索引。索引點(diǎn)可以是與在與索引點(diǎn)相關(guān)聯(lián)的實體中找到的符號或符號序列相對應(yīng)的任何符號(比如字符)或符號的序列(比如單詞),或者可以是反映與索引點(diǎn)相關(guān)聯(lián)的實體的一個或若干屬性的符號或符號序列。實體可以是例如文本文件、圖像文件、音頻文件或具有可“翻譯”為單詞或其他符號序列的屬性的任何其他類型的數(shù)據(jù),其中,該其他符號序列可以作為描述與索引點(diǎn)相關(guān)聯(lián)的實體的特征的索引點(diǎn)。匹配系統(tǒng)使用的索引可以是本領(lǐng)域中已知的任何類型的搜索引擎/匹配引擎索引。使用什么類型索引以及如何構(gòu)造和存儲索引數(shù)據(jù)可以變化,以滿足不同的設(shè)計因素,例如適合使用系統(tǒng)的匹配服務(wù)以及在該服務(wù)中使用的實體類型。通過將接收到新的實體解釋為匹配觸發(fā)事件,并從而當(dāng)接收到新的實體時直接執(zhí)行針對匹配實體的搜索,將匹配系統(tǒng)連續(xù)地保持在“匹配狀態(tài)”下,意味著系統(tǒng)一直意識到在系統(tǒng)中存儲的所有實體之間的所有匹配。該特征具有如下效果當(dāng)系統(tǒng)接收到這種匹配實體時,允許匹配系統(tǒng)直接地自動向用戶通知與他/她的實體匹配的新的實體。與在背景技術(shù)部分描述的根據(jù)現(xiàn)有技術(shù)的匹配系統(tǒng)相比較,在以下方面這是有利的為了在執(zhí)行前一個搜索操作之后發(fā)現(xiàn)是否存在與已提交給匹配系統(tǒng)的他/她的實體相匹配的新的實體, 用戶不需要像在實現(xiàn)了時間觸發(fā)搜索操作的匹配系統(tǒng)的情況中一樣等待下一個時間確定的搜索操作發(fā)生,或也不需要像在實現(xiàn)了點(diǎn)擊觸發(fā)的搜索操作的匹配系統(tǒng)的情況中一樣重新按動“搜索匹配按鈕”。從系統(tǒng)的角度來看,該特征的有利之處在于其減少了匹配系統(tǒng)所需的計算能力,因為除非系統(tǒng)從執(zhí)行上一次搜索操作開始已接收到新的實體,否則不需要執(zhí)行搜索。因此,所建議的原理確保了不對已搜索過的實體執(zhí)行冗余搜索。在上述根據(jù)現(xiàn)有技術(shù)的匹配系統(tǒng)中,盡管在執(zhí)行過上一次搜索操作之后尚未向系統(tǒng)提交新的實體,還是可能執(zhí)行搜索操作,且從而執(zhí)行消耗時間和計算能力的索引遍歷。優(yōu)選地,在一個單一操作中執(zhí)行針對與第一實體匹配的實體的搜索以及執(zhí)行第一實體的索引編寫(indexation),使得匹配系統(tǒng)對于每一個匹配操作僅必須遍歷索引一次。 這可以通過如下調(diào)整匹配系統(tǒng)來實現(xiàn)針對第一實體要關(guān)聯(lián)的索引中的每一個索引點(diǎn),將第一實體與該索引點(diǎn)相關(guān)聯(lián),且對標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息進(jìn)行檢索。 一般通過將唯一標(biāo)識索引中該索引點(diǎn)中的實體的實體標(biāo)識參數(shù)進(jìn)行存儲來實現(xiàn)實體與索引點(diǎn)的關(guān)聯(lián)。因此,在該情況下,當(dāng)存儲要與第一實體相關(guān)聯(lián)的索引點(diǎn)中的第一實體的實體標(biāo)識參數(shù)時,可以不付出任何額外成本,在同時檢索其中已存儲的實體標(biāo)識參數(shù)。由于匹配系統(tǒng)中的索引一般在復(fù)雜的數(shù)據(jù)結(jié)構(gòu)中存儲大量數(shù)據(jù),同時執(zhí)行索引編寫和在對索引的一個單一遍歷中進(jìn)行搜索的特征減少了匹配系統(tǒng)所需的計算能力和/或執(zhí)行每一個匹配操作所需的時間,即對新實體編寫索引且搜索與該新實體匹配的實體所需的時間。將在下文中的詳細(xì)描述和所附權(quán)利要求中描述根據(jù)本發(fā)明的匹配系統(tǒng)的更高級特征。本發(fā)明還涉及如權(quán)利要求9所指定的一種方法,其確定從第一用戶的客戶端設(shè)備接收的第一實體是否與在索引中的已被編寫索引的多個實體中的至少一個相匹配,在該索引中,每一個實體與一個或多個索引點(diǎn)相關(guān)聯(lián),且本發(fā)明還涉及如權(quán)利要求17所指定的一種用于引起服務(wù)器節(jié)點(diǎn)執(zhí)行該方法的計算機(jī)程序。此外,本發(fā)明涉及一種包括存儲介質(zhì)的計算機(jī)程序產(chǎn)品,在該存儲介質(zhì)上存儲了這種計算機(jī)程序產(chǎn)品。
當(dāng)結(jié)合附圖閱讀時,通過對本發(fā)明的示例實施例的以下詳細(xì)描述,本發(fā)明的目標(biāo)、 優(yōu)點(diǎn)和效果以及特征將變得更容易理解,其中圖1示出了用于確定系統(tǒng)接收的實體是否與之前接收的實體匹配的示例匹配系統(tǒng)。圖2示出了根據(jù)現(xiàn)有技術(shù)的典型匹配系統(tǒng)如何執(zhí)行匹配操作。圖3示出了由圖1中的匹配系統(tǒng)所執(zhí)行的示例匹配操作。圖4示出了一個匹配場景,該匹配場景說明了由圖1中的匹配系統(tǒng)所實現(xiàn)的優(yōu)點(diǎn)之一。圖5示意性地示出了可以如何執(zhí)行圖3所示的匹配操作的更詳細(xì)的示例。圖6示出了一種信令方案,該信令方案示出了在圖5所示的匹配操作期間,圖1中的匹配系統(tǒng)的不同部件可以被如何配置以彼此通信。圖7示出了可以用于圖1中的匹配系統(tǒng)的索引的示例索引數(shù)據(jù)結(jié)構(gòu)。圖8示出了一個流程圖,該流程圖說明了當(dāng)使用將數(shù)據(jù)如圖7所示結(jié)構(gòu)化的索引時,圖1中的匹配系統(tǒng)可以如何執(zhí)行結(jié)合的搜索和編寫索引操作。圖9示出了一個信令方案,該信令方案示出了當(dāng)使用將數(shù)據(jù)如圖7所示結(jié)構(gòu)化的索引時,匹配系統(tǒng)可以如何執(zhí)行結(jié)合的搜索和編寫索引操作。
具體實施例方式盡管本發(fā)明覆蓋了各種修改和備選構(gòu)造,在附圖中示出了本發(fā)明的實施例,且將在下文中詳細(xì)描述他們。然而應(yīng)當(dāng)理解,這些特定描述和附圖不意在將本發(fā)明限制為所公開的特定形式。相反地,要求保護(hù)的本發(fā)明的范圍預(yù)期包括落入如所附權(quán)利要求中表述的本發(fā)明的范圍中的本發(fā)明的所有修改和備選構(gòu)造。圖1示出了根據(jù)本發(fā)明的示例匹配系統(tǒng)1。匹配系統(tǒng)1適于確定從不同用戶13A、 13B的客戶端設(shè)備15A、15B接收到的實體17A、17B是否彼此匹配。匹配系統(tǒng)1包括web服務(wù)器3、應(yīng)用服務(wù)器5和數(shù)據(jù)庫服務(wù)器11,為了如附圖中雙向箭頭所示的交換數(shù)據(jù),這些服務(wù)器通信性地相連。用戶13A、13B —般經(jīng)由他們的客戶端設(shè)備15A、15B中的web瀏覽器在互聯(lián)網(wǎng)上訪問由匹配系統(tǒng)1提供的匹配服務(wù)。Web服務(wù)器3負(fù)責(zé)處理與客戶端設(shè)備15A、15B的通信, 并負(fù)責(zé)呈現(xiàn)友好且實用的用戶界面。一般地,這是通過構(gòu)建并向客戶端設(shè)備15A、15B傳輸 XHTML(可擴(kuò)展超文本標(biāo)記語言)/HTML網(wǎng)頁來實現(xiàn)的。應(yīng)用服務(wù)器5是負(fù)責(zé)執(zhí)行用軟件實現(xiàn)的匹配服務(wù)的系統(tǒng)的一部分。應(yīng)用服務(wù)器5 包括匹配功能(下文中稱作匹配引擎7),其包括用于確定從一個或若干客戶端設(shè)備13A、 13B接收的實體17A、17B是否彼此匹配所需的全部功能。此處,將匹配引擎7實現(xiàn)為在應(yīng)用服務(wù)器5中的計算機(jī)可讀介質(zhì)8 (比如硬盤驅(qū)動器、ROM (只讀存儲器)、閃存或EEPROM (電子可擦除可編程只讀存儲器))上存儲的計算機(jī)程序。當(dāng)計算機(jī)程序6在應(yīng)用服務(wù)器5中的處理器上運(yùn)行時,其引起應(yīng)用服務(wù)器5執(zhí)行根據(jù)本發(fā)明的匹配操作,下面更詳細(xì)地描述該匹配操作。應(yīng)用服務(wù)器5可以是例如Java EE(企業(yè)版)應(yīng)用服務(wù)器。數(shù)據(jù)庫服務(wù)器11包括數(shù)據(jù)庫12,比如SQL (結(jié)構(gòu)化查詢語言)數(shù)據(jù)庫,其存儲匹配系統(tǒng)1接收的所有實體。當(dāng)在數(shù)據(jù)庫12中存儲新實體時,向其分配唯一標(biāo)識該實體的實體標(biāo)識參數(shù)19A、19B。因此數(shù)據(jù)庫12可以作為實體存儲器,且實體標(biāo)識參數(shù)19A、19B是用于在實體存儲器中尋找實體的關(guān)鍵(key)。下文中將實體標(biāo)識參數(shù)19A、19B稱作實體ID。應(yīng)用服務(wù)器5還包括匹配引擎索引23,其中,將所有實體17A、17B編寫索引以協(xié)助對匹配實體的搜索。索引數(shù)據(jù)的結(jié)構(gòu)化和存儲的方式可以變化,以滿足不同的系統(tǒng)設(shè)計因素。例如,可以將索引數(shù)據(jù)結(jié)構(gòu)化為有序樹數(shù)據(jù)結(jié)構(gòu)(有時稱作“trie”)、二叉樹數(shù)據(jù)結(jié)構(gòu)、散列表或分布式散列表。在該示例實施例中,實體19A、19B是文本字符串,且將索引23 視為存儲包含每一個單詞在內(nèi)的實體17A、17B的實體ID 19A、19B的列表。在一般的匹配引擎索引中,每一個實體與一個或多個索引點(diǎn)相關(guān)聯(lián)。如果一個實體與另一個實體具有至少一個公共的索引點(diǎn),即如果它們都與至少一個公共索引點(diǎn)相關(guān)聯(lián),則可以將稱(或至少某種程度上稱)這個實體與另一個實體匹配。在該示例索引中,每一個單詞21對應(yīng)于索引 23的一個索引點(diǎn)。盡管在該實施例中在應(yīng)用服務(wù)器5的存儲裝置8中存儲索引23,但是索引還可以就存儲在匹配系統(tǒng)1的另一個節(jié)點(diǎn)中,比如分離的“索引數(shù)據(jù)庫服務(wù)器”(未示出) 或數(shù)據(jù)庫服務(wù)器11,或在應(yīng)用服務(wù)器5的高速緩存存儲器中。不應(yīng)當(dāng)將使用什么類型的索引或如何存儲索引解釋為對根據(jù)本發(fā)明的匹配系統(tǒng)1的限制特征。應(yīng)當(dāng)理解,所示匹配系統(tǒng)架構(gòu)僅是示例性的,且可以用很多其他方式來實現(xiàn)匹配系統(tǒng)1。例如,可以在應(yīng)用服務(wù)器5中包括web服務(wù)器3和/或數(shù)據(jù)庫服務(wù)器11,使得整個匹配系統(tǒng)1駐留在一個單一服務(wù)器節(jié)點(diǎn)中,且客戶端設(shè)備13A、i;3B可以通過例如Java ME (微版本)應(yīng)用直接與應(yīng)用服務(wù)器5通信,而不是經(jīng)由web服務(wù)器3與應(yīng)用服務(wù)器5通信。圖2示出了根據(jù)現(xiàn)有技術(shù)的典型匹配系統(tǒng)執(zhí)行匹配操作的方式。
在第一步驟S201中,用戶從他/她的客戶端設(shè)備向匹配系統(tǒng)發(fā)送實體,下文中稱作新實體。當(dāng)接收到新實體時,在步驟S202中,匹配系統(tǒng)發(fā)起將新實體插入到匹配系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中的操作。在步驟S203中執(zhí)行插入操作,該插入操作涉及為新實體編寫索引且一般還涉及存儲新實體。通過遍歷匹配系統(tǒng)的索引并將新實體與一個或多個索引點(diǎn)相關(guān)聯(lián)以讓其對于其他用戶可搜索,來執(zhí)行編寫索引。在步驟S204中,向匹配系統(tǒng)通知向數(shù)據(jù)結(jié)構(gòu)中插入新實體成功。在稍后的時間點(diǎn)上,觸發(fā)匹配系統(tǒng)搜索與新實體匹配的實體的事件發(fā)生。如在背景技術(shù)部分中提到的,可以將發(fā)起針對匹配實體的搜索的這種事件稱作匹配觸發(fā)事件。在現(xiàn)有技術(shù)的匹配系統(tǒng)中,可以在預(yù)定時間點(diǎn)上發(fā)起搜索,在該情況下,匹配觸發(fā)事件一般對應(yīng)于在提供匹配系統(tǒng)的服務(wù)器上運(yùn)行的定時器的到期。由Tt(即“由定時器觸發(fā)的”)代表的圓指示了這種匹配觸發(fā)事件的發(fā)生。在根據(jù)現(xiàn)有技術(shù)的其他匹配系統(tǒng)中,可以通過點(diǎn)擊在他/她的web瀏覽器中顯示給用戶的“搜索匹配按鈕”,由發(fā)送實體的用戶來發(fā)起該搜索。由Tc(即“由點(diǎn)擊觸發(fā)的”)代表的圓指示了這種點(diǎn)擊的發(fā)生,以及因此另一種類型的匹配觸發(fā)事件的發(fā)生。當(dāng)匹配觸發(fā)事件Tt、Tc發(fā)生時,在步驟S205中,系統(tǒng)發(fā)起針對與新實體匹配的實體的搜索。在步驟S206中,在追尋與新實體匹配的實體中,通過再次遍歷索引來執(zhí)行搜索。在步驟S207中,由匹配系統(tǒng)檢索匹配實體,或至少檢索允許標(biāo)識出匹配實體的信息,且在步驟S208中,將匹配實體發(fā)送至用戶的客戶端設(shè)備。因此,將匹配操作視為包括兩個分離的子操作,即在步驟S203中的插入操作以及在步驟S206中的搜索操作。當(dāng)接收到新實體時,一般直接執(zhí)行插入操作,同時在稍后階段由匹配觸發(fā)事件Ττ、Τ。來發(fā)起搜索操作的執(zhí)行。這意味著向匹配系統(tǒng)發(fā)送新實體的用戶在發(fā)現(xiàn)是否存在可用的匹配實體之前,必須等待匹配觸發(fā)事件,且匹配系統(tǒng)處于在新實體的插入和匹配觸發(fā)事件的發(fā)生之間的“未匹配狀態(tài)”,意味著匹配系統(tǒng)未意識到在新實體和在匹配系統(tǒng)中存儲的其他實體之間的任何潛在的匹配。圖3示出了根據(jù)本發(fā)明的匹配系統(tǒng)1執(zhí)行匹配操作的方式示例。此處,在步驟S301中,由匹配系統(tǒng)接收從客戶端設(shè)備發(fā)送的新實體。匹配系統(tǒng)適于將接收到新實體解釋為匹配觸發(fā)事件,且因此當(dāng)接收到新實體時,直接發(fā)起針對匹配實體的搜索。當(dāng)接收到新實體時直接發(fā)起針對匹配實體的搜索不一定意味著匹配系統(tǒng)在接收和搜索之間不采取中間行動,而僅意味著接收觸發(fā)了匹配系統(tǒng)執(zhí)行一個操作鏈,其中搜索操作是該操作鏈中的一個操作。因此,為了讓匹配系統(tǒng)發(fā)起搜索,除了接收到新實體之外的其他事件不是必須要發(fā)生。此處將匹配觸發(fā)事件視為用虛線圓TK(即“通過接收觸發(fā)的”) 來說明。在該實施例中,在步驟S302,匹配系統(tǒng)發(fā)起將在下面更詳細(xì)描述的結(jié)合的插入和搜索操作。因此,在步驟S303中,執(zhí)行向數(shù)據(jù)結(jié)構(gòu)中插入新實體以及搜索與新實體匹配的實體。在步驟S304中,由匹配系統(tǒng)來檢索匹配實體,且在步驟S305中,向用戶的客戶端設(shè)備發(fā)送匹配實體,該用戶是向匹配系統(tǒng)上載新實體的用戶。通過當(dāng)接收到新實體時直接執(zhí)行搜索,將匹配系統(tǒng)連續(xù)地保持在匹配狀態(tài)下。圖4示出了一個場景,該場景說明了由適于當(dāng)接收到新實體時發(fā)起針對匹配實體的搜索的匹配系統(tǒng)所實現(xiàn)的優(yōu)點(diǎn)之一。此處,在第一步驟S401中,匹配系統(tǒng)從第一用戶的客戶端設(shè)備接收第一實體。在步驟S402中,匹配系統(tǒng)通過對第一實體編寫索引以及一般還存儲第一實體,向匹配系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中插入第一實體;并且搜索匹配實體。如與圖2所示的場景一樣,在一個公共操作中執(zhí)行插入和搜索。在步驟S403中,匹配系統(tǒng)向第一用戶通知搜索結(jié)果,在該示例場景中,將該搜索結(jié)果視為否定的?,F(xiàn)在,如果匹配系統(tǒng)是根據(jù)現(xiàn)有技術(shù)的匹配系統(tǒng),則盡管還沒有向系統(tǒng)提交新的實體,也已執(zhí)行了冗余搜索,如附圖中說明搜索操作的被打叉的箭頭所示。然而,使用本發(fā)明提出的匹配操作,將不重復(fù)搜索,直到匹配系統(tǒng)接收到新實體,將其視為在步驟S404中發(fā)生,在步驟S404中,從第二用戶的客戶端設(shè)備向匹配系統(tǒng)發(fā)送第二實體。接收到第二實體觸發(fā)了在步驟S405中執(zhí)行的新的搜索。 在該示例場景中,假定第一實體與第二實體匹配,且作為結(jié)果,在步驟S406A和S406B中,匹配系統(tǒng)通過向第一用戶發(fā)送第二實體以及向第二用戶發(fā)送第一實體,向第一和第二用戶都通知已經(jīng)找到針對他們相應(yīng)實體的匹配。因此,適于實現(xiàn)所建議的匹配操作的匹配系統(tǒng)可以節(jié)約計算能力,因為不執(zhí)行冗余的搜索,且使用匹配系統(tǒng)的服務(wù)的用戶不需要擔(dān)心不被通知存在的匹配,因為只要與他們的實體相匹配的新實體被提交給匹配系統(tǒng),則可以自動地向他們發(fā)出通知。當(dāng)然,在步驟S406A和S406B中,匹配系統(tǒng)不一定向相應(yīng)用戶(即相應(yīng)用戶的客戶端設(shè)備)發(fā)送匹配實體本身。匹配系統(tǒng)可以適于向相應(yīng)用戶發(fā)送標(biāo)識匹配實體的任何信息。例如,如果匹配系統(tǒng)用于在線約會服務(wù)(在該情況下,實體可以對應(yīng)于例如使用該服務(wù)的人員的用戶簡檔或用戶建檔的一部分),在步驟S406A和S406B中,發(fā)送至第一用戶和第二用戶的客戶端設(shè)備的信息可以是在約會服務(wù)上提供的指向匹配用戶的網(wǎng)站上的“個人主頁”的URL(統(tǒng)一資源定位符)。或者,如果例如當(dāng)在步驟S405中發(fā)現(xiàn)匹配時,第一用戶不再登陸在約會服務(wù)上,匹配系統(tǒng)可以適于例如向第二用戶發(fā)送第一實體,同時在SMS消息或電子郵件中向第一用戶發(fā)送指向第二用戶的個人主頁的URL,以及發(fā)送找到新匹配且可以在所附URL上查看該新匹配的信息。根據(jù)另一個實施例,當(dāng)在步驟S405中檢測到匹配時, 匹配系統(tǒng)適于不向第一和第二用戶的用戶設(shè)備發(fā)送任何東西。取而代之地,匹配系統(tǒng)適于在數(shù)據(jù)庫或高速緩存存儲器中存儲該匹配,當(dāng)用戶下一次登陸服務(wù)時,該匹配可被檢索并發(fā)送至用戶,在該情況下,可以在用戶的個人主頁、“歡迎頁面”等等上顯示該匹配。盡管已分別在步驟S303和步驟S402和S405中將插入和搜索結(jié)合單一操作中執(zhí)行,在圖3和4所示的示例匹配操作中,應(yīng)當(dāng)理解可以通過在兩個分離的子操作中執(zhí)行插入和搜索,來執(zhí)行所提出的匹配操作,在該匹配操作中,當(dāng)接收到新實體時發(fā)起搜索,這與圖2 所示的根據(jù)現(xiàn)有技術(shù)的匹配操作是一樣進(jìn)行的(步驟S203和S206)。只要搜索操作由接收到新實體來觸發(fā),且不由任何其他事件觸發(fā),則將匹配系統(tǒng)連續(xù)地保持在匹配狀態(tài),且受益于上述優(yōu)點(diǎn)。然而,在一個單一操作中執(zhí)行插入和搜索的有利之處在于其還減少了匹配系統(tǒng)所需的計算能力和/或減少了執(zhí)行匹配操作所需的時間。現(xiàn)在將結(jié)合圖5來描述使用結(jié)合的插入和搜索的匹配操作。圖5示意性地示出了根據(jù)本發(fā)明的匹配操作的更詳細(xì)的示例。當(dāng)描述圖5時,同時將參考圖1中的匹配系統(tǒng)1。步驟S501-接收并存儲新實體由匹配系統(tǒng)1分別從客戶端設(shè)備15A和15B之一接收新實體17A。在本示例中,實體17A是文本字符串“Blue car”,且因此應(yīng)當(dāng)與包括文本字符串“Blue car”在內(nèi)的其他實體匹配。匹配系統(tǒng)1在數(shù)據(jù)庫12中存儲該新實體17A,因此向其分配具有整數(shù)形式“64” 的實體ID 19A。
步驟S502-預(yù)處理實體在對實體編寫索引之前,可能需要對文本字符串進(jìn)行預(yù)處理。在該示例中,預(yù)處理是非常簡單的操作。將文本字符串末尾的特殊字符“.”移除,將文本字符串表達(dá) (tokenized)為列表22或形成文本字符串的單詞序列,且將所有字符變?yōu)榇髮懽帜?。這是由匹配引擎7的一部分實現(xiàn)的,可以將其稱作預(yù)處理器。盡管在本示例中是簡單的操作,預(yù)處理可以復(fù)雜得多,且涉及諸如同義詞的滋生(stemming)和替換。其還可以涉及移除攜帶非常少信息(從匹配的角度來說)的普通單詞的步驟,如單詞“&”、“&11”、“讓^、“&11(1”等寸。步驟S503-對實體編寫索引且搜索匹配實體現(xiàn)在對新實體17A編寫索引。這是通過將實體與索引23中的一個或若干索引點(diǎn) 21相關(guān)聯(lián)來執(zhí)行的。此處將索引23象征性地示出為包括六個“籃”,每一個籃屬于索引23 的索引點(diǎn)21,在本示例中,該索引點(diǎn)對應(yīng)于在實體存儲器12中存儲的實體17B中出現(xiàn)的單詞。每一個籃中的數(shù)是包括該籃所屬的單詞在內(nèi)的實體17B的實體ID 19B。通過將新實體 17A與對應(yīng)于列表22中的單詞“blue”和“car”的索引點(diǎn)相關(guān)聯(lián)對新實體17A編制索引。 這是通過將新實體17A的實體ID 19A插入這些籃來說明的。因此在這些籃中存儲的其他實體ID是可以被稱為與新實體相匹配的實體的實體ID。正常地,當(dāng)已將新實體與其要關(guān)聯(lián)的所有索引點(diǎn)相關(guān)聯(lián)時,根據(jù)現(xiàn)有技術(shù)的匹配系統(tǒng)一般確認(rèn)插入新實體成功,然后返回“空閑模式”,直到匹配觸發(fā)事件發(fā)生。當(dāng)匹配觸發(fā)事件發(fā)生且要執(zhí)行對與新實體匹配的實體的搜索時,則根據(jù)現(xiàn)有技術(shù)的這種匹配系統(tǒng)必須再次遍歷索引23,以(象征性地)找到新實體的實體ID被存儲在哪些籃中,且檢索在相同籃中存儲的所有其他實體ID。然而根據(jù)本發(fā)明的方面,在將新實體19A的實體ID 17A插入相應(yīng)“籃”中的同時,檢索到匹配實體的實體ID。由于必須遍歷索引23以找到應(yīng)當(dāng)將新實體19A的實體ID 17A插入到哪些籃中,則未付出額外成本就實現(xiàn)了對匹配實體的實體ID 的檢索。總之,所提出的原理讓對新實體17A的索引編寫還導(dǎo)致了對匹配實體的檢索,或者換言之,其允許在對索引23的一次單一遍歷中同時執(zhí)行對實體的索引編寫和對與該實體匹配的實體的檢索。當(dāng)然,將實體與索引點(diǎn)相關(guān)聯(lián)不是通過字面意思上將其實體ID放入 “籃”中來執(zhí)行的。如本領(lǐng)域技術(shù)人員眾所周知的,可以用很多不同方式來設(shè)計索引,且將實體與不同索引點(diǎn)相關(guān)聯(lián)的方式取決于索引的類型。由匹配引擎7的可以被稱作搜索引擎的部分來執(zhí)行上述索引編寫和搜索操作。步驟S504-對匹配項進(jìn)行評分在步驟S503中執(zhí)行的結(jié)合的索引編寫和搜索操作的結(jié)果是標(biāo)識出匹配實體的實體ID的列表25??梢哉J(rèn)為該列表25表示新實體17A的原始匹配結(jié)果。在一些情形中,該列表可能是非常粗放的,且在可以使用匹配結(jié)果之前,需要在評分過程中對列表25進(jìn)行求精。評分是讓匹配系統(tǒng)1從完整的結(jié)果集合25中挑選出重要部分的方式。通常將最不相關(guān)的匹配移除,且按相關(guān)性來排列剩下的匹配。實現(xiàn)評分的最基本方式是統(tǒng)計匹配實體17A與每一個匹配實體共同的索引點(diǎn)21 的數(shù)目。在該示例情況下,具有實體ID “16”的實體具有與新實體17A共同的兩個索引點(diǎn), 因為“16”在列表25中出現(xiàn)了兩次,同時具有實體ID “32”的實體和新實體17A僅具有一個共同的索引點(diǎn)21。因此,匹配系統(tǒng)1可以適于將具有實體ID “16”的實體比具有實體 ID “32”的實體更高的評分。實現(xiàn)評分的另一種簡單而普通的方式是通過使用所謂的逆文檔頻率方法。該方法基本上將不常用的單詞比常用單詞給予更高的評分。結(jié)果是認(rèn)為具有共同的稀少單詞的兩個實體比具有共同的經(jīng)常出現(xiàn)的單詞的兩個實體是更好的匹配。這是用于在常規(guī)搜索應(yīng)用中進(jìn)行評分的普遍方法。為了用逆文檔頻率方法對兩個實體之間的相關(guān)性進(jìn)行評分,假定兩個實體之間的共同單詞是已知的。知道系統(tǒng)中的單詞總數(shù)也是前提條件。然后可以用以下公式來計算每一個單詞的逆文檔頻率
f N]= Ioge 1 + —,其中
V Jt JWt是單詞的權(quán)重,N是系統(tǒng)中實體的總數(shù),且ft是系統(tǒng)中包含該單詞的實體的數(shù)目。這當(dāng)然不是對匹配進(jìn)行評分的最優(yōu)方式??梢詫υu分進(jìn)行很多改進(jìn),以讓其更加智能。 然而,在一些情況下這是足夠好的解決方案。另一個棘手的任務(wù)是如何確定什么應(yīng)當(dāng)被認(rèn)為是匹配以及什么不應(yīng)當(dāng)認(rèn)為是匹配。這一般取決于匹配系統(tǒng)的精確要求。本領(lǐng)域中存在很多方式用于對在搜索中找到的匹配進(jìn)行評分??梢苑謩e地或彼此結(jié)合地,和/或與其他已知的評分原理相結(jié)合的使用上述兩個原理,以獲得描述由原始匹配結(jié)果列表25中的實體ID所標(biāo)識的每一個實體與新實體17A的匹配程度的評分。匹配系統(tǒng)1適于基于評分對列表25進(jìn)行排序,并移除最不相關(guān)的匹配??梢杂善ヅ湟?的被稱作匹配評分器的部分來執(zhí)行上述評分操作。在該示例情況中,評分的結(jié)果(求精的匹配結(jié)果)是僅包含實體ID “16”的“列表” 27。此時,匹配系統(tǒng)1可以適于向以下兩個用戶通知已找到針對他們的相應(yīng)實體的匹配向匹配系統(tǒng)提交新實體17A的用戶以及提交了具有實體ID “16”的老實體的用戶。匹配系統(tǒng)1還可以適于更新保存并保持匹配系統(tǒng)1存儲的所有匹配實體的一些內(nèi)部或外部記錄。因此應(yīng)當(dāng)理解,盡管初始時匹配系統(tǒng)1將與新實體17A具有至少一個共同的索引點(diǎn)的任何實體認(rèn)為是新實體的匹配,在評分過程期間,一般將很多這種“匹配”作為“不匹配”加以拋棄。如上所述,評分過程可能是非常復(fù)雜的,且使用一個或若干評分功能從匹配的總(原始)集合中檢索相關(guān)(求精的)匹配。優(yōu)選地,選擇評分功能為對稱的,或至少盡可能對稱的,意味著如果認(rèn)為“老”實體與新實體匹配,則也應(yīng)當(dāng)認(rèn)為新實體與“老”實體匹配。圖6示出了信令方案,該信令方案示出了在匹配操作期間,圖1中的匹配系統(tǒng)1的不同部件可以被如何配置以彼此通信。當(dāng)描述信令方案時,同時參考圖1中的匹配系統(tǒng)。步驟S601 從客戶端設(shè)備15A、15B的Web瀏覽器向匹配系統(tǒng)1的web服務(wù)器3發(fā)送包含post參數(shù)在內(nèi)的HTTP POST請求,該post參數(shù)包含文本字符串。取決于使用匹配系統(tǒng)1的匹配服務(wù)的類型,文本字符串可以是例如約會服務(wù)的用戶簡檔、電子商務(wù)服務(wù)的商業(yè)廣告、招聘/求職服務(wù)的CV、或匹配系統(tǒng)1應(yīng)當(dāng)匹配的任何其他東西。步驟S602 :web服務(wù)器3在方法調(diào)用中向匹配系統(tǒng)的應(yīng)用服務(wù)器5轉(zhuǎn)發(fā)作為字符串參數(shù)的post-參數(shù)。步驟S603 應(yīng)用服務(wù)器5向數(shù)據(jù)庫12發(fā)送字符串。
步驟S604 數(shù)據(jù)庫12將該字符串存儲為實體17A,并產(chǎn)生該實體的實體ID 19A。步驟S605 將實體ID返回給應(yīng)用服務(wù)器5。步驟S606,應(yīng)用服務(wù)器5用實體內(nèi)容(在本情況中是文本字符串)和實體ID調(diào)用匹配引擎7。此處,匹配引擎7包括用于處理內(nèi)部和外部通信的匹配引擎(iffi)接口 7A。因此該步驟是應(yīng)用服務(wù)器5調(diào)用匹配引擎7來發(fā)起針對于在步驟S602中接收的新實體相匹配的實體的步驟(在本示例實施例中,在對新實體編寫索引期間執(zhí)行該搜索)。由在步驟 S602中接收到新實體來觸發(fā)應(yīng)用服務(wù)器5到匹配引擎7的方法調(diào)用,意味著在步驟S602中接收到實體觸發(fā)了要由匹配系統(tǒng)1執(zhí)行的操作鏈,在該操作鏈中的一個操作是針對與新接收到的實體相匹配的實體的搜索。步驟S607 匹配引擎接口 7A用實體內(nèi)容來調(diào)用匹配引擎7的預(yù)處理器7B,用于對該內(nèi)容進(jìn)行預(yù)處理。步驟S608 預(yù)處理器處理實體內(nèi)容。如上所述,預(yù)處理可以是復(fù)雜的操作。當(dāng)處理文本實體時,該步驟的一個最重要的部分是將文本分段和表達(dá)為單詞。步驟S609 預(yù)處理器7B返回字符串?dāng)?shù)組,每一個字符串對應(yīng)于來自實體內(nèi)容的單詞。因此該字符串/單詞的數(shù)組對應(yīng)于圖5的列表22。步驟S610 匹配引擎7接口 7A用在前一個步驟中從預(yù)處理器7B中接收的單詞數(shù)組和新實體17A的實體ID來調(diào)用搜索引擎7C。步驟S611 搜索引擎7C對單詞數(shù)據(jù)編寫索引,且檢索所有潛在的匹配實體。步驟S612 搜索引擎7C返回原始匹配結(jié)果列表(對應(yīng)于圖5中的列表25),其具有針對在步驟S610中提交給搜索引擎的單詞數(shù)據(jù)中的每一個單詞的條目。例如,對于每一個單詞,將具有與該單詞相匹配的所有實體的實體ID的子列表(對應(yīng)于圖5中由25代表的列表中的“列表” {16}, {16,32})附加到原始匹配結(jié)果列表上。步驟S613 匹配引擎7所執(zhí)行的最后一個步驟是對搜索引擎7C獲得的結(jié)果進(jìn)行評分。因此將在前一個步驟中從搜索引擎7C返回的原始匹配結(jié)果列表轉(zhuǎn)發(fā)給匹配引擎7 的匹配評分器7D。步驟S614 匹配評分器7D針對原始匹配結(jié)果列表中的每一個實體計算評分。如果評分過低,則不再將該實體認(rèn)為是匹配項,且將其從列表中移除。然后匹配評分器一般移除在剩余匹配的列表中出現(xiàn)的任何實體ID重復(fù)項,并基于評分對剩余匹配項進(jìn)行排序。該結(jié)果是求精的匹配結(jié)果列表,比如圖5中由27代表的列表。步驟S615 匹配評分器7D返回求精的匹配結(jié)果列表。該列表可以是匹配實體的實體ID的基于評分排序的列表,或其可以是實體ID和評分參數(shù)的對(pair)的列表,使得返回每一個匹配實體的評分且可以在后面的過程中使用。步驟S616 匹配引擎7接口 7A向應(yīng)用服務(wù)器5返回求精的匹配結(jié)果列表。步驟S617:應(yīng)用服務(wù)器用在求精匹配結(jié)果列表中包括的實體ID來調(diào)用數(shù)據(jù)庫12。步驟S618 數(shù)據(jù)庫12返回具有在求精匹配結(jié)果列表中包括的實體ID的實體的列表,即所有匹配實體的列表。步驟S619 應(yīng)用服務(wù)器5向web服務(wù)器3返回所有匹配實體的列表,附加地還返回每一個實體的評分。步驟S620 :web服務(wù)器3構(gòu)建呈現(xiàn)結(jié)果的XHTML/HTML文檔(即呈現(xiàn)匹配實體和附加的每一個實體的評分)。步驟S621 在HTTP響應(yīng)中,向在步驟S601中發(fā)起HTTP POST請求的客戶端設(shè)備 13A、13B的web瀏覽器發(fā)送該XHTML/HTML文檔。圖7象征性地示出了根據(jù)本發(fā)明的匹配系統(tǒng)1中的匹配引擎索引23中的數(shù)據(jù)的結(jié)構(gòu)。同樣地在本示例情況中,假定要由匹配系統(tǒng)1匹配的實體是文本字符串。此處將索引數(shù)據(jù)視為具有有序樹數(shù)據(jù)結(jié)構(gòu),如前所述,有時將結(jié)構(gòu)稱為“trie”。因此在本示例情況中,可以將匹配引擎索引23稱作是trie或樹類型索引23A。形成在任意文本實體中出現(xiàn)的單詞的字符序列四形成了在分支根節(jié)點(diǎn)31和單詞末節(jié)點(diǎn)33之間的分支或分支的一部分35。使用計算機(jī)科學(xué)術(shù)語,可以將字符序列四稱作構(gòu)成了關(guān)聯(lián)字符數(shù)組(associative char array)。每一個分支根節(jié)點(diǎn)31是樹結(jié)構(gòu)的根節(jié)點(diǎn)(樹根節(jié)點(diǎn))的子節(jié)點(diǎn),并對應(yīng)于唯一的字符或數(shù)。為了說明的目的,在附圖僅示出了兩個分支根節(jié)點(diǎn)31 (對應(yīng)于字符“A”和 “B”)以及假定在系統(tǒng)的實體中出現(xiàn)的一些示例單詞。由虛線橢圓來在途中指示所有單詞末節(jié)點(diǎn)33,且每一個單詞末節(jié)點(diǎn)是樹類型索引23A中的索引點(diǎn)21A,因為每一個索引點(diǎn)/單詞末節(jié)點(diǎn)21/33與包括由從分支根節(jié)點(diǎn)31到單詞末節(jié)點(diǎn)33的字符序列四形成的單詞在內(nèi)的所有實體相關(guān)聯(lián)。即,盡管樹類型索引23A中的索引點(diǎn)21是單一字符節(jié)點(diǎn)33,每一個索引點(diǎn)21對應(yīng)于由在該節(jié)點(diǎn)33結(jié)束的分支或分支的一部分四形成的單詞。具有根據(jù)邏輯樹結(jié)構(gòu)排序的數(shù)據(jù)的樹類型索引23A相比于完整存儲在實體中出現(xiàn)的所有唯一單詞的索引的有利之處在于減少了必須存儲字符的數(shù)目,且因此減少了所需的系統(tǒng)存儲器空間。 可以在例如節(jié)點(diǎn)(比如匹配系統(tǒng)的應(yīng)用服務(wù)器5)的索引數(shù)據(jù)庫或高速緩存存儲器中存儲樹類型索引23A。一般通過存儲樹結(jié)構(gòu)的每一個節(jié)點(diǎn)以及指向該節(jié)點(diǎn)的所有子節(jié)點(diǎn)的指針來存儲樹類型索引23A,或換言之,存儲每一個節(jié)點(diǎn),使得其與包括該節(jié)點(diǎn)的所有子節(jié)點(diǎn)在內(nèi)的子列表相關(guān)聯(lián)。當(dāng)然,根據(jù)樹結(jié)構(gòu)構(gòu)建索引數(shù)據(jù)的上述原理還可應(yīng)用于數(shù)和由符號的關(guān)聯(lián)序列所形成的任何其他信息。因此,樹結(jié)構(gòu)可以包括例如由數(shù)字序列(或使用計算機(jī)科學(xué)術(shù)語,關(guān)聯(lián)整數(shù)數(shù)組)所形成的分支,其在對應(yīng)于數(shù)中的第一數(shù)字的分支根節(jié)點(diǎn)和對應(yīng)于數(shù)中的最后一個數(shù)字的數(shù)末節(jié)點(diǎn)之間關(guān)聯(lián)排序。與基于單詞的情況類似,包括對應(yīng)于在這種分支根節(jié)點(diǎn)和數(shù)末節(jié)點(diǎn)之間形成的數(shù)的數(shù)在內(nèi)的文本實體將與數(shù)末節(jié)點(diǎn)相關(guān)聯(lián),因此該數(shù)末節(jié)點(diǎn)將是樹類型索引23A的索引點(diǎn)。由于符號序列不一定形成單詞或數(shù),項序列-末節(jié)點(diǎn)33可以用于單詞末節(jié)點(diǎn)、數(shù)末節(jié)點(diǎn)、或?qū)?yīng)于在實體中找到的符號序列中的最后一個符號的任何其他樹類型的索引節(jié)點(diǎn)。圖8示出了流程圖,該流程圖說明了當(dāng)匹配系統(tǒng)1的索引23是樹類型索引(比如圖7中由23A代表的樹類型索引)時,可以如何執(zhí)行針對新實體(比如圖1和5中的實體 17A)的結(jié)合的搜索和編寫索引操作。同樣地,假定實體是文本字符串,且假定新實體17A由匹配引擎7的預(yù)處理器7B 進(jìn)行預(yù)處理,使得將文本字符串表達(dá)為形成文本的單詞序列22。一般由匹配引擎7中被稱作搜索引擎7C的部分來執(zhí)行該流程圖中所示的方法步驟。步驟S801 檢索文本字符串中的第一單詞。步驟S802 將樹結(jié)構(gòu)的“當(dāng)前處理的節(jié)點(diǎn)”設(shè)置為樹根節(jié)點(diǎn)。步驟S803 檢索單詞的下一個字符。
步驟S804 執(zhí)行對當(dāng)前節(jié)點(diǎn)是否具有子節(jié)點(diǎn)的檢查。如果當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)存在,則方法進(jìn)行至步驟S807,如果否,則方法進(jìn)行至步驟S805。步驟S805 創(chuàng)建對應(yīng)于當(dāng)前處理字符的子節(jié)點(diǎn)。步驟S806 在父節(jié)點(diǎn)的子列表中存儲子節(jié)點(diǎn)。步驟S807 將樹結(jié)構(gòu)的“當(dāng)前處理的節(jié)點(diǎn)”設(shè)置為該子節(jié)點(diǎn)。步驟S808 執(zhí)行對當(dāng)前處理的單詞是否包括更多字符的檢查。如果單詞中存在更多的字符,則方法返回步驟S803,如果否,則方法進(jìn)行至步驟S809。步驟S809 將新實體17A的實體ID 19A插入當(dāng)前處理的節(jié)點(diǎn),因此該節(jié)點(diǎn)是單詞末節(jié)點(diǎn)33,因為當(dāng)前處理的字符是當(dāng)前處理的單詞的最后一個字符。將實體ID 19A插入當(dāng)前處理的節(jié)點(diǎn)意味著以下述方式在索引存儲器(數(shù)據(jù)庫或高速緩存存儲器)中存儲新實體 17A的實體ID 19A:將其與當(dāng)前處理的節(jié)點(diǎn)相關(guān)聯(lián)。同時,從索引存儲器中檢索與該節(jié)點(diǎn)相關(guān)聯(lián)的所有其他實體ID (如果有的話)。如果其還未與一個或若干實體相關(guān)聯(lián),則因此在該階段,通過將當(dāng)前處理的節(jié)點(diǎn)與新實體17A相關(guān)聯(lián),當(dāng)前處理的節(jié)點(diǎn)變?yōu)樗饕c(diǎn)21A。步驟S810 執(zhí)行對文本字符串是否包括除當(dāng)前處理的單詞之外的更多單詞的檢查。如果文本字符串中存在更多的單詞,則方法返回步驟S801,如果否,則方法結(jié)束,且可以如結(jié)合圖6所示的,將在步驟S809中檢索到的實體ID(針對文本字符串中的每一個單詞) 轉(zhuǎn)發(fā)至匹配引擎7的匹配評分器7D。圖9示出了信令方案,該信令方案示出了當(dāng)匹配系統(tǒng)的索引23是樹類型索引(比如圖7中由23A代表的樹類型索引)時,在圖6中步驟S611中,由搜索引擎7C所執(zhí)行的子步驟。同樣地,假定新實體是圖1和5中的實體17A,因此是文本字符串“blue car. ”。 還假定預(yù)處理器7B(參見圖6)已移除了特殊字符“.”,并將該文本字符串表達(dá)為單詞列表 22。步驟901 用新實體17A的實體ID 19A和字符串?dāng)?shù)組22 ({ ‘blue,,‘car,})來調(diào)用由搜索引擎7C執(zhí)行的索引編寫和搜索操作,其中,每一個字符串對應(yīng)于文本字符串中的單詞。針對字符串?dāng)?shù)組22中的每一個字符串,即在本示例中,針對字符串‘blue’和 ‘car,來執(zhí)行以下由S902-S913代表的步驟。步驟S902 將字符串/單詞表達(dá)為字符數(shù)組,例如{ ‘b,,‘1,,‘u,,‘e,}。步驟S903 將新創(chuàng)建的字符數(shù)組與新實體17A的實體ID 19A —起發(fā)送至索引23、 23A。步驟S904-S907:基于字符數(shù)組,遍歷索引23、23A。創(chuàng)建對應(yīng)于字符序列的且之前未在樹結(jié)構(gòu)中存在的任何節(jié)點(diǎn),并將其如圖8中步驟S805-S806所示的加以存儲。步驟S908 在對應(yīng)于字符‘e’的單詞末節(jié)點(diǎn)33中存儲新實體17A的實體ID 19A, 因此該單詞末節(jié)點(diǎn)33變?yōu)樾聦嶓w17A的索引點(diǎn)21A。同時,檢索在該節(jié)點(diǎn)33中之前存儲的任何實體ID,且因此檢索作為與新實體17A相匹配的實體的實體ID。步驟S909-S913 經(jīng)由樹結(jié)構(gòu)的節(jié)點(diǎn)向搜索引擎7C遞歸地返回包括在步驟S908 中檢索到的實體ID在內(nèi)的列表。
步驟S914 將針對新文本實體17A的所有單詞的、在步驟S908中檢索到的實體ID 的列表結(jié)合為對應(yīng)于圖5中的原始匹配結(jié)果列表25的聚集列表。因此在該示例情況中,該聚集列表將包含包括單詞‘blue’和‘car’的所有實體的實體ID。步驟S915 返回在步驟S914中創(chuàng)建的聚集列表。一般地,如圖6所示,搜索引擎 7C現(xiàn)在使用聚集列表作為輸入?yún)?shù)來調(diào)用匹配評分器7D。本文所述的用于在一個單一操作中執(zhí)行對新實體編寫索引和搜索與新實體匹配的實體的原理還可應(yīng)用于使用索引23、23A的任何類型的匹配系統(tǒng)中,在索引23、23A中,每一個索引點(diǎn)21、21A可以與多個實體17A、17B相關(guān)聯(lián)。更優(yōu)選地,每一個索引點(diǎn)21、21A應(yīng)當(dāng)與具有與索引點(diǎn)對應(yīng)的屬性的所有實體相關(guān)聯(lián),使得當(dāng)新實體與該索引點(diǎn)相關(guān)聯(lián)時,檢索具有該屬性的所有實體。在上述示例中,實體17A、17B是文本字符串,且索引23、23A的每一個索引點(diǎn)21、 21A對應(yīng)于在任何文本字符串中出現(xiàn)的單詞。因此,在這些示例中,可以將索引點(diǎn)21、21A看成是對應(yīng)于要匹配的實體的“語義屬性”,例如,包括單詞‘blue’的屬性。然而,應(yīng)當(dāng)理解, 索引可以反映任何可能的實體屬性。例如,在實體是文本字符串的情況下,匹配系統(tǒng)1可以適于統(tǒng)計每一個實體中的字符數(shù)目,且索引可以包括對應(yīng)于字符數(shù)目或字符數(shù)目區(qū)間的索引點(diǎn)。同樣地,匹配系統(tǒng)1可以包括用于分析實體的文本上下文的邏輯,因此索引的索引點(diǎn)可以對應(yīng)于描述實體的文本上下文的單詞或短語。索引23、23A當(dāng)然還可以包括這些類型的索引點(diǎn)的組合。此外,盡管索引23、23A—般適于通過用單詞來反映實體的屬性來對實體編寫索弓丨,但是實體本身不需要包括單詞。例如,匹配系統(tǒng)1可以用于圖片匹配服務(wù)或音軌匹配服務(wù),在該些情況下,從客戶端設(shè)備13A、i;3B發(fā)送的實體分別是圖片和音軌。當(dāng)用于圖片匹配時,匹配系統(tǒng)1可以包括用于將圖像的“可視屬性”(由構(gòu)成實體的數(shù)字圖像文件的數(shù)據(jù)給出的)轉(zhuǎn)換為可以構(gòu)成索引23、23A中的索引點(diǎn)的單詞或數(shù)的圖像識別軟件。例如,圖像識別軟件可以包括用于確定在圖中中示出了什么對象的功能,例如通過分析圖像中對象的形狀,并將該形狀與預(yù)存儲的形狀進(jìn)行比較來確定,在查找表中,每一個預(yù)存儲的形狀與描述該形狀的單詞相關(guān)聯(lián)。同樣地,其可以適于通過數(shù)字顏色分析來確定圖像的最顯著的顏色或圖像中的特定對象。從而,圖像識別軟件將能夠分析圖像,并確定例如該圖像示出了藍(lán)色汽車(blue car)。在該情況下,圖像識別軟件可以向匹配引擎7提供文本字符串‘blue car’,或已經(jīng)如圖5中字符串?dāng)?shù)組22—樣提供分段文本字符串{ ‘blue’,‘car’},因此匹配引擎7可以如前所述的將圖像實體與索引23、23A中對應(yīng)于單詞‘blue’和‘car’的索引點(diǎn)相關(guān)聯(lián)。因此,在該情況下,索引23、23A中的單詞將不對應(yīng)于在實體中出現(xiàn)的單詞,而是對應(yīng)于通過反映其他實體屬性來描述實體的單詞。以類似方式,匹配系統(tǒng)1可以用于匹配音軌,在該情況下,匹配系統(tǒng)可以包括用于使用波形識別技術(shù)和/或通過分析在提交給系統(tǒng)的音頻文件的音頻文件數(shù)據(jù)內(nèi)容中嵌入的文本信息來分析音軌的軟件。然后可以將音軌的屬性轉(zhuǎn)換為描述這些屬性的單詞或數(shù)(例如歌曲的名稱以及歌手的名字、音軌的每分鐘拍子數(shù)目、音軌的類型等等),因此,可以將音軌與索引23、23A中對應(yīng)于這些屬性的索引點(diǎn)相關(guān)聯(lián)。匹配系統(tǒng)1還可以與外部節(jié)點(diǎn)通信性地相連,該外部節(jié)點(diǎn)適于將實體的屬性變換為可以用作索引點(diǎn)的單詞或數(shù)。例如,匹配系統(tǒng)1可以與Gmcenote 服務(wù)器相連,該服務(wù)器是用于將音軌(即,歌曲)采樣“變換”為歌曲名稱和演唱該歌曲的歌手的名字的服務(wù)器。
應(yīng)當(dāng)理解,對應(yīng)于匹配引擎索引23、23A中的索引點(diǎn)21、21A的符號序列(如單詞或數(shù))不一定對應(yīng)于匹配系統(tǒng)1接收到的文本實體中找到的符號序列,而可能是描述任何類型實體或?qū)嶓w屬性的任何符號序列(即,單詞和/或數(shù))。
權(quán)利要求
1.一種匹配系統(tǒng),能夠確定從第一用戶的客戶端設(shè)備接收的第一實體是否與在索引中已被編寫索引的多個實體中的至少一個相匹配,在所述索引中,每一個實體與一個或多個索引點(diǎn)相關(guān)聯(lián),所述匹配系統(tǒng)包括應(yīng)用服務(wù)器,適于與匹配引擎和所述客戶端設(shè)備通信,所述匹配引擎,適于通過將所述第一實體與所述索引中的一個或多個索引點(diǎn)相關(guān)聯(lián),對所述第一實體編寫索引,以及通過搜索和與所述第一實體相關(guān)聯(lián)的索引點(diǎn)中的至少一個相關(guān)聯(lián)的實體,在所述索引中已被編寫索引的多個實體中搜索匹配所述第一實體的實體,所述匹配系統(tǒng)適于當(dāng)匹配觸發(fā)事件發(fā)生時發(fā)起針對與所述第一實體匹配的實體的搜索,其特征在于,所述匹配系統(tǒng)適于將接收到所述第一實體解釋為匹配觸發(fā)事件,使得當(dāng)接收到所述第一實體時,發(fā)起所述搜索。
2.根據(jù)權(quán)利要求1所述的匹配系統(tǒng),其中,所述匹配引擎適于針對要與所述第一實體相關(guān)聯(lián)的每一個索引點(diǎn),將所述第一實體與該索引點(diǎn)相關(guān)聯(lián),并檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息,從而在對所述索引的一個單次遍歷中對所述第一實體編寫索引且標(biāo)識出與所述第一實體匹配的實體。
3.根據(jù)權(quán)利要求2所述的匹配系統(tǒng),其中,所述實體包括單詞,且所述索引包括索引點(diǎn),其中,每一個索引點(diǎn)對應(yīng)于單詞,且與包括該單詞的實體相關(guān)聯(lián),所述匹配引擎適于針對在所述第一實體中出現(xiàn)的且在所述索引中不存在對應(yīng)的索引點(diǎn)的每一個單詞, 向所述索引添加與該單詞相對應(yīng)的新的索引點(diǎn),并將所述第一實體與所述新的索引點(diǎn)相關(guān)聯(lián),以及針對在所述第一實體中出現(xiàn)的且已在所述索引中存在對應(yīng)的索引點(diǎn)的每一個單詞,將所述第一實體與該索引點(diǎn)相關(guān)聯(lián),并檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息。
4.根據(jù)權(quán)利要求3所述的匹配系統(tǒng),其中,所述索引是樹類型索引,在所述樹類型索引中,將與所述索引點(diǎn)相對應(yīng)的單詞表達(dá)為形成所述單詞的字符序列,所述字符序列根據(jù)有序樹結(jié)構(gòu)進(jìn)行組織,在所述有序樹結(jié)構(gòu)中,每一個序列的第一個字符與分支根節(jié)點(diǎn)相關(guān)聯(lián), 且每一個后續(xù)字符和與前一個字符相關(guān)聯(lián)的節(jié)點(diǎn)的子節(jié)點(diǎn)相關(guān)聯(lián),使得每一個單詞的字符形成在所述分支根節(jié)點(diǎn)和單詞末節(jié)點(diǎn)之間的分支或分支的一部分,所述樹類型索引的索引點(diǎn)對應(yīng)于所述樹結(jié)構(gòu)的單詞末節(jié)點(diǎn),且每一個索引點(diǎn)與包括由在該索引點(diǎn)和所述分支根節(jié)點(diǎn)之間的字符序列形成的單詞的所有實體相關(guān)聯(lián),所述匹配引擎適于將所述第一實體中的每一個單詞表達(dá)為字符序列,且將如此形成的字符序列與所述樹結(jié)構(gòu)中的現(xiàn)有分支或分支的部分相匹配,以及針對未找到匹配的字符序列的每一個單詞,創(chuàng)建新的分支或向現(xiàn)有分支添加子節(jié)點(diǎn), 使得如此形成的分支對應(yīng)于所述單詞的字符序列,并通過將所述第一實體與如此形成的分支的葉節(jié)點(diǎn)相關(guān)聯(lián)來創(chuàng)建新的索引點(diǎn),以及針對找到匹配的字符序列的每一個單詞,將所述第一實體與所述匹配的字符序列的索引點(diǎn)相關(guān)聯(lián),并檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息。
5.根據(jù)前述權(quán)利要求中任一項所述的匹配系統(tǒng),其中,所述匹配引擎包括匹配評分裝置,所述匹配評分裝置適于當(dāng)所述匹配引擎找到和與所述第一實體相關(guān)聯(lián)的至少一個索引點(diǎn)相關(guān)聯(lián)的多個實體時,基于至少一項標(biāo)準(zhǔn)對所述多個實體進(jìn)行評分,所述至少一項標(biāo)準(zhǔn)之一是所述多個實體中的每一個實體與所述第一實體共同具有的索引點(diǎn)的數(shù)目,即,與所述多個實體中的實體相關(guān)聯(lián)、且還與所述第一實體相關(guān)聯(lián)的索引點(diǎn)的數(shù)目。
6.根據(jù)權(quán)利要求5所述的在從屬于權(quán)利要求2至4中任一項時的匹配系統(tǒng),其中,檢索到的標(biāo)識出與每一個索引點(diǎn)相關(guān)聯(lián)的實體的信息是標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的所有實體的實體標(biāo)識參數(shù)的列表,所述匹配引擎適于在所述列表中排列針對所有索引點(diǎn)檢索到的所有實體標(biāo)識參數(shù),以及所述匹配評分裝置適于基于每一個實體的實體標(biāo)識參數(shù)在所述列表中出現(xiàn)的次數(shù)對所述匹配實體進(jìn)行評分。
7.根據(jù)前述權(quán)利要求中任一項所述的匹配系統(tǒng),其中,所述應(yīng)用服務(wù)器適于當(dāng)在所述搜索期間找到至少一個匹配實體時,響應(yīng)于所述匹配觸發(fā)事件,向所述第一用戶的客戶端設(shè)備發(fā)送標(biāo)識出所述至少一個匹配實體的信息。
8.根據(jù)前述權(quán)利要求中任一項所述的匹配系統(tǒng),其中,所述應(yīng)用服務(wù)器適于當(dāng)在所述搜索期間找到之前從第二用戶的客戶端設(shè)備向所述應(yīng)用服務(wù)器發(fā)送的至少一個匹配實體時,響應(yīng)于所述匹配觸發(fā)事件,向所述第二用戶的客戶端設(shè)備發(fā)送標(biāo)識出所述第一實體的信息。
9.一種用于確定從第一用戶的客戶端設(shè)備接收的第一實體是否與在索引中已被編寫索引的多個實體中的至少一個相匹配的方法,在所述索引中,每一個實體與一個或多個索引點(diǎn)相關(guān)聯(lián),所述方法包括步驟-在服務(wù)器節(jié)點(diǎn)中接收所述第一實體;-通過將所述第一實體與所述索引中的一個或多個索引點(diǎn)相關(guān)聯(lián),對所述第一實體編寫索弓丨,以及-通過搜索和與所述第一實體相關(guān)聯(lián)的索引點(diǎn)中的至少一個相關(guān)聯(lián)的實體,在所述索引中已被編寫索引的多個實體中搜索匹配所述第一實體的實體,當(dāng)匹配觸發(fā)事件發(fā)生時,發(fā)起針對與所述第一實體匹配的實體的搜索,其特征在于步驟-將接收到所述第一實體解釋為匹配觸發(fā)事件,從而當(dāng)接收到所述第一實體時,發(fā)起所述搜索。
10.根據(jù)權(quán)利要求9所述的方法,其中,針對要與所述第一實體相關(guān)聯(lián)的每一個索引點(diǎn),通過以下步驟來執(zhí)行搜索匹配實體并對所述第一實體編寫索引的步驟-將所述第一實體與該索引點(diǎn)相關(guān)聯(lián),以及-檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息,從而在對所述索引的一個單次遍歷中對所述第一實體編寫索引且標(biāo)識出與所述第一實體匹配的實體。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述實體包括單詞,且所述索引包括索引點(diǎn), 其中的每一個索引點(diǎn)對應(yīng)于單詞,且與包括該單詞的實體相關(guān)聯(lián),所述方法包括以下步驟針對在所述第一實體中出現(xiàn)的且在所述索引中不存在對應(yīng)的索引點(diǎn)的每一個單詞,-向所述索引添加與該單詞相對應(yīng)的新的索引點(diǎn),以及-將所述第一實體與所述新的索引點(diǎn)相關(guān)聯(lián),以及針對在所述第一實體中出現(xiàn)的且已在所述索引中存在對應(yīng)的索引點(diǎn)的每一個單詞, -將所述第一實體與該索引點(diǎn)相關(guān)聯(lián),以及 -檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述索引是樹類型索引,在所述樹類型索引中,將與所述索引點(diǎn)相對應(yīng)的單詞表達(dá)為形成所述單詞的字符序列,所述字符序列根據(jù)有序樹結(jié)構(gòu)進(jìn)行組織,在所述有序樹結(jié)構(gòu)中,每一個序列的第一個字符與分支根節(jié)點(diǎn)相關(guān)聯(lián), 且每一個后續(xù)字符和與前一個字符相關(guān)聯(lián)的節(jié)點(diǎn)的子節(jié)點(diǎn)相關(guān)聯(lián),使得每一個單詞的字符形成在所述分支根節(jié)點(diǎn)和單詞末節(jié)點(diǎn)之間的分支或分支的一部分,所述樹類型索引的索引點(diǎn)對應(yīng)于所述樹結(jié)構(gòu)的單詞末節(jié)點(diǎn),且每一個索引點(diǎn)與包括由在該索引點(diǎn)和所述分支根節(jié)點(diǎn)之間的字符序列形成的單詞的所有實體相關(guān)聯(lián),所述方法包括以下步驟-將所述第一實體中的每一個單詞表達(dá)為字符序列,以及-將如此形成的字符序列與所述樹結(jié)構(gòu)中的現(xiàn)有分支或分支的一部分相匹配,以及, 針對未找到匹配的字符序列的每一個單詞,-創(chuàng)建新的分支或向現(xiàn)有分支添加子節(jié)點(diǎn),使得如此形成的分支對應(yīng)于所述單詞的字符序列,以及-通過將所述第一實體與如此形成的分支的葉節(jié)點(diǎn)相關(guān)聯(lián)來創(chuàng)建新的索引點(diǎn),以及, 針對找到匹配的字符序列的每一個單詞, -將所述第一實體與所述匹配的字符序列的索引點(diǎn)相關(guān)聯(lián),以及 -檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息。
13.根據(jù)權(quán)利要求9至12中任一項所述的方法,其中,在搜索匹配實體期間,當(dāng)找到和與所述第一實體相關(guān)聯(lián)的至少一個索引點(diǎn)相關(guān)聯(lián)的多個實體時,所述方法還包括以下步驟-基于至少一項標(biāo)準(zhǔn)對所述多個實體進(jìn)行評分,所述至少一項標(biāo)準(zhǔn)之一是所述多個實體中的每一個實體與所述第一實體共同具有的索引點(diǎn)的數(shù)目,即,與所述多個實體中的實體相關(guān)聯(lián)、且還與所述第一實體相關(guān)聯(lián)的索引點(diǎn)的數(shù)目。
14.根據(jù)權(quán)利要求13所述的在從屬于權(quán)利要求10至12中任一項時的方法,其中,檢索到的標(biāo)識出與每一個索引點(diǎn)相關(guān)聯(lián)的實體的信息是標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的所有實體的實體標(biāo)識參數(shù)的列表,所述方法包括以下步驟-在所述列表中排列針對所有索引點(diǎn)檢索到的所有實體標(biāo)識參數(shù),以及-基于每一個實體的實體標(biāo)識參數(shù)在所述列表中出現(xiàn)的次數(shù)對所述匹配實體進(jìn)行評分。
15.根據(jù)權(quán)利要求9至14中任一項所述的方法,其中,當(dāng)在所述搜索期間找到至少一個匹配實體時,所述方法包括以下步驟響應(yīng)于所述匹配觸發(fā)事件,向所述第一用戶的客戶端設(shè)備發(fā)送標(biāo)識出所述至少一個匹配實體的信息。
16.根據(jù)權(quán)利要求9至15中任一項所述的方法,其中,當(dāng)在所述搜索期間找到之前由所述服務(wù)器節(jié)點(diǎn)從第二用戶的客戶端設(shè)備接收的至少一個匹配實體時,所述方法包括以下步驟響應(yīng)于所述匹配觸發(fā)事件,向所述第二用戶的客戶端設(shè)備發(fā)送標(biāo)識出所述第一實體的 fn息ο
17.—種包括計算機(jī)可讀代碼裝置的計算機(jī)程序,當(dāng)在服務(wù)器計算機(jī)上運(yùn)行時,引起所述服務(wù)器計算機(jī)確定從第一用戶的客戶端設(shè)備接收的第一實體是否與在索引中已被編寫索引的多個實體中的至少一個相匹配,在所述索引中,通過讓所述服務(wù)器計算機(jī)執(zhí)行以下步驟,讓每一個實體與一個或多個索引點(diǎn)相關(guān)聯(lián)-通過將所述第一實體與所述索引中的一個或多個索引點(diǎn)相關(guān)聯(lián),對所述第一實體編寫索弓丨,以及-通過搜索和與所述第一實體相關(guān)聯(lián)的至少一個所述索引點(diǎn)相關(guān)聯(lián)的實體,在所述索引中已被編寫索引的多個實體中搜索匹配所述第一實體的實體,當(dāng)匹配觸發(fā)事件發(fā)生時,發(fā)起針對與所述第一實體匹配的實體的搜索, 其特征在于,所述計算機(jī)程序適于引起所述服務(wù)器計算機(jī)將接收到所述第一實體解釋為匹配觸發(fā)事件,從而當(dāng)接收到所述第一實體時,發(fā)起所述搜索。
18.根據(jù)權(quán)利要求17所述的計算機(jī)程序,所述計算機(jī)程序適于引起所述服務(wù)器計算機(jī)執(zhí)行索引編寫和搜索,使得針對要與所述第一實體相關(guān)聯(lián)的每一個索引點(diǎn),所述服務(wù)器計算機(jī)將所述第一實體與該索引點(diǎn)相關(guān)聯(lián),以及檢索標(biāo)識出與該索引點(diǎn)相關(guān)聯(lián)的其他實體的信息,從而在對所述索引的一個單次遍歷中對所述第一實體編寫索引且標(biāo)識出與所述第一實體匹配的實體。
19.一種計算機(jī)程序產(chǎn)品,包括根據(jù)權(quán)利要求17或18所述的計算機(jī)程序和存儲所述計算機(jī)程序的計算機(jī)可讀介質(zhì)。
全文摘要
本發(fā)明涉及一種匹配系統(tǒng),其能夠確定從第一用戶的客戶端設(shè)備接收的第一實體是否與在索引中已被編寫索引的多個實體中的至少一個相匹配,在所述索引中每個實體與一個或多個索引點(diǎn)相關(guān)聯(lián)。所述匹配系統(tǒng)適于通過將所述第一實體與所述索引中的一個或多個索引點(diǎn)相關(guān)聯(lián),對所述第一實體編寫索引;以及通過搜索與所述第一實體具有至少一個共同的索引點(diǎn)的實體,在所述索引中搜索匹配的實體。所述匹配系統(tǒng)適于當(dāng)匹配觸發(fā)事件發(fā)生時,發(fā)起針對匹配的實體的搜索,以及將接收到所述第一實體解釋為這種匹配觸發(fā)事件。從而當(dāng)接收到新實體時,總是直接執(zhí)行搜索。
文檔編號G06F17/30GK102227725SQ200880132172
公開日2011年10月26日 申請日期2008年12月2日 優(yōu)先權(quán)日2008年12月2日
發(fā)明者阿里門迪 卡拉爾多·蒙太羅, 奧洛夫·蘭德斯特羅姆, 理查德·卡爾森, 雅爾瑪·奧爾森 申請人:艾利森電話股份有限公司