專利名稱:一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)檢索結(jié)果的反饋顯示技術(shù),尤其是一種通過網(wǎng)絡(luò)在服務(wù)器上檢索詞典類數(shù)據(jù)的反饋和顯示方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)的普及,人們可借助網(wǎng)絡(luò)更加方便的獲取更多的信息,通過網(wǎng)絡(luò)實現(xiàn)資源共享的各種應(yīng)用也進(jìn)一步得到了普及。
通過網(wǎng)絡(luò)在服務(wù)器上特定數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)的檢索是今后數(shù)據(jù)庫資源共享的方式之一。網(wǎng)絡(luò)數(shù)據(jù)庫檢索面臨的問題是在網(wǎng)絡(luò)環(huán)境不佳時,如何滿足用戶對檢索結(jié)果快速反饋的需求,以消除由于網(wǎng)絡(luò)和服務(wù)延遲給用戶帶來的不適感。更具體的,網(wǎng)絡(luò)數(shù)據(jù)庫檢索所面臨的技術(shù)問題在于在不良的網(wǎng)絡(luò)環(huán)境下,如何平衡低網(wǎng)速、低數(shù)據(jù)安全性、數(shù)據(jù)服務(wù)器負(fù)荷與用戶對檢索結(jié)果快速反饋的需求。
本文所述詞典類數(shù)據(jù)具有以下特征檢索關(guān)鍵字與數(shù)據(jù)內(nèi)容之間具有映射關(guān)系,即檢索關(guān)鍵字與數(shù)據(jù)內(nèi)容之間具有一對一的結(jié)構(gòu)特征,通過檢索關(guān)鍵字可獲取相應(yīng)的數(shù)據(jù)內(nèi)容;詞典類數(shù)據(jù)每條記錄之間相互獨立,沒有約束和關(guān)聯(lián)關(guān)系。本發(fā)明中,具有上述特征的數(shù)據(jù)視為詞典類數(shù)據(jù)。
下面以互聯(lián)網(wǎng)電子詞典的應(yīng)用為例,說明現(xiàn)有技術(shù)中所存在的缺陷。
現(xiàn)有的方法之一是采用查詢摘要技術(shù)和分頁檢索技術(shù)。所述查詢摘要技術(shù)是對詞條數(shù)據(jù)進(jìn)行摘要處理,一般檢索時只返回檢索結(jié)果的摘要信息,用戶通過進(jìn)一步深度檢索或以其他的方式獲取檢索結(jié)果的詳細(xì)信息;所述分頁檢索技術(shù)是對查詢結(jié)果進(jìn)行預(yù)拆分,并返回部分?jǐn)?shù)據(jù),根據(jù)用戶端進(jìn)一步的請求信息決定是否追加返回其余數(shù)據(jù)。該方法的缺陷在于由于查詞摘要技術(shù)對詞條解釋信息進(jìn)行簡單的內(nèi)容提取,用戶對檢索結(jié)果的可控性和檢索靈活性較差,因而該方法并不能有效的控制網(wǎng)絡(luò)流量,節(jié)約傳輸資源;另一方面,分頁檢索技術(shù)僅對檢索數(shù)據(jù)進(jìn)行流量上的控制,不能適應(yīng)用戶的個性化查詢要求;并且,服務(wù)器端需要為摘要信息保留數(shù)據(jù)空間,因而增加了服務(wù)器端的資源消耗。
解決上述問題的另一種現(xiàn)有方法是采用對等聯(lián)網(wǎng)(P2P,Peer to Peer)的數(shù)據(jù)共享技術(shù)。所述P2P是共享本地用戶的緩存和歷史查詢結(jié)果,并作為優(yōu)先查詢數(shù)據(jù)源,降低服務(wù)器處理工作量。該技術(shù)的缺陷在于P2P數(shù)據(jù)共享技術(shù)增加了實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)檢索的復(fù)雜度,該技術(shù)要求有單獨的P2P服務(wù)器作為服務(wù)中轉(zhuǎn),對于少量的數(shù)據(jù)交換,P2P技術(shù)實際增加了數(shù)據(jù)傳遞的流程和尋找數(shù)據(jù)源的次數(shù),整體而言在客戶端檢索速度上的提升并不明顯。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法及系統(tǒng),該方法能夠在不穩(wěn)定的網(wǎng)絡(luò)條件下快速且平滑易讀的進(jìn)行數(shù)據(jù)反饋輸出。
為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,包括以下步驟1)服務(wù)器獲取客戶端的檢索關(guān)鍵字,根據(jù)預(yù)置的檢索機(jī)制獲取所述關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);2)將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中還包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽;將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送;3)客戶端對接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則顯示已解析完畢的數(shù)據(jù)。
在上述方法基礎(chǔ)上,2)中進(jìn)一步包括將數(shù)據(jù)塊進(jìn)行拼接后,還在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
在上述方法基礎(chǔ)上,2)中拼接后的父級數(shù)據(jù)塊中進(jìn)一步包括該父級數(shù)據(jù)塊的數(shù)據(jù)塊長度或該父級數(shù)據(jù)塊所采用的壓縮方式。并且可用可順序加/解密的算法對數(shù)據(jù)塊加密。
上述方法基礎(chǔ)上,3)中若數(shù)據(jù)塊解析過程出錯,則尋找與所述出錯數(shù)據(jù)塊的父級數(shù)據(jù)塊同級的數(shù)據(jù)塊的起始標(biāo)簽,并繼續(xù)解析該標(biāo)簽之后的數(shù)據(jù)內(nèi)容。
上述方法基礎(chǔ)中,1)具體為11)根據(jù)客戶端的檢索請求預(yù)置需要查詢的關(guān)鍵字;12)標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;13)根據(jù)11)、12)的預(yù)置進(jìn)行檢索,獲取各數(shù)據(jù)庫中與關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù)。
進(jìn)而,2)中進(jìn)一步為將同一數(shù)據(jù)庫解釋項數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行拼接,拼接后形成的父級數(shù)據(jù)塊中包含該數(shù)據(jù)庫的索引信息。
上述方法中所述編/解碼算法為Bzip算法一種網(wǎng)絡(luò)服務(wù)器,用于實現(xiàn)網(wǎng)絡(luò)詞典類數(shù)據(jù)庫檢索,包括輸入/輸出單元,查詢解析單元、查詢單元、以及數(shù)據(jù)組織單元;所述查詢解析單元根據(jù)服務(wù)器獲取的檢索請求預(yù)置檢索關(guān)鍵字,以及標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;所述查詢單元根據(jù)所述查詢解析單元的預(yù)置進(jìn)行數(shù)據(jù)庫檢索,獲取與關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);所述數(shù)據(jù)組織單元將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽,并且數(shù)據(jù)組織單元將各數(shù)據(jù)塊拼接后由輸入/輸出單元進(jìn)行發(fā)送。
所述服務(wù)器中,所述數(shù)據(jù)組織單元將同一數(shù)據(jù)庫的解釋項數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行拼接,并在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
上述服務(wù)器結(jié)構(gòu)基礎(chǔ)上,還包括緩存單元,根據(jù)統(tǒng)計結(jié)果,動態(tài)存儲檢索頻度高于預(yù)置門限值的數(shù)據(jù)內(nèi)容。
一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng),包括服務(wù)器、客戶端,所述服務(wù)器包括查詢解析單元、查詢單元、以及數(shù)據(jù)組織單元;所述查詢解析單元根據(jù)服務(wù)器獲取的檢索請求預(yù)置檢索關(guān)鍵字,以及標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;所述查詢單元根據(jù)所述查詢解析單元的預(yù)置進(jìn)行數(shù)據(jù)庫檢索,獲取與關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);所述數(shù)據(jù)組織單元將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽,并且數(shù)據(jù)組織單元將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送;所述客戶端包括數(shù)據(jù)解析單元,輸出單元;所述解析單元對客戶端接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則將已解析完畢的數(shù)據(jù)內(nèi)容通過輸出單元輸出。
上述系統(tǒng)結(jié)構(gòu)基礎(chǔ)上,所述數(shù)據(jù)組織單元將同一數(shù)據(jù)庫的解釋項數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行拼接,并在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
上述系統(tǒng)結(jié)構(gòu)基礎(chǔ)上,服務(wù)器還包括緩存單元,根據(jù)統(tǒng)計結(jié)果,動態(tài)存儲檢索頻度高于預(yù)置門限值的數(shù)據(jù)內(nèi)容。
以上技術(shù)方案可以看出,在本發(fā)明提供的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法中,根據(jù)詞典類數(shù)據(jù)的所述特點,服務(wù)器將查詢結(jié)果中以特定關(guān)鍵字的單個解釋項為單元劃分成數(shù)據(jù)塊,并且在數(shù)據(jù)塊中標(biāo)識數(shù)據(jù)塊起始/終止位置,進(jìn)而在客戶端解析到該標(biāo)識后即將該數(shù)據(jù)塊已解析的內(nèi)容進(jìn)行輸出。由此可知,本發(fā)明能夠滿足用戶個性化的檢索需求;并且,在網(wǎng)絡(luò)環(huán)境不佳的情況下,本發(fā)明不必將所有相關(guān)數(shù)據(jù)塊內(nèi)容全部解析完成后再進(jìn)行輸出,而采用數(shù)據(jù)塊邊解析邊進(jìn)行輸出的方式,即檢索關(guān)鍵字的解釋項可逐條的進(jìn)行輸出顯示,因而在客戶端,體現(xiàn)出了較高的反映速度;進(jìn)一步,與現(xiàn)有技術(shù)相比,在平衡低網(wǎng)速、低數(shù)據(jù)安全性、數(shù)據(jù)服務(wù)器負(fù)荷與用戶對檢索結(jié)果快速反饋需求方面,本發(fā)明不需增加系統(tǒng)資源,因而節(jié)省了成本。
進(jìn)一步,由于本發(fā)明中,在數(shù)據(jù)塊進(jìn)行拼接后,還在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。即本發(fā)明中采用多級數(shù)據(jù)塊的概念,在各數(shù)據(jù)塊中均標(biāo)識數(shù)據(jù)塊的起始和終止位置。該技術(shù)特點使得,若客戶端在解析某塊數(shù)據(jù)時發(fā)生錯誤(如未到標(biāo)記語言XML結(jié)束標(biāo)志即遇到數(shù)據(jù)結(jié)尾、出現(xiàn)無法識別的字符串、XML標(biāo)簽缺失等),則客戶端可繼續(xù)向后尋找到可識別的與所述出錯數(shù)據(jù)塊的父級數(shù)據(jù)塊同級的數(shù)據(jù)塊的起始標(biāo)簽,并繼續(xù)解析該標(biāo)簽之后的數(shù)據(jù)內(nèi)容。由上述可知,本發(fā)明具有較高的容錯性。
進(jìn)一步,對于電子詞典中各獨立授權(quán)的詞庫,可分別設(shè)置各數(shù)據(jù)庫的壓縮或加密方式,且在發(fā)送數(shù)據(jù)塊中標(biāo)識所采用的壓縮/加密方式。由于檢索結(jié)果的上述獨立和自描述特性,因而本發(fā)明提高了遠(yuǎn)端數(shù)據(jù)的安全性保障。
本發(fā)明還提供了一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng)。相應(yīng)的,該系統(tǒng)可滿足用戶的個性化檢索需求,具有反饋速度快、容錯性高的優(yōu)點,且該系統(tǒng)與現(xiàn)有技術(shù)相比,不需增加系統(tǒng)資源,節(jié)省了成本。
圖1為本發(fā)明實施例流程圖;
圖2為單本詞典的輸出數(shù)據(jù)格式;圖3為圖為服務(wù)器整體查詢結(jié)果的輸出數(shù)據(jù)格式;圖4為網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng)邏輯圖。
具體實施例方式
本發(fā)明提供了一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其核心思想在于1)服務(wù)器獲取客戶端的檢索請求,根據(jù)預(yù)置的檢索機(jī)制獲取所述檢索請求對應(yīng)的數(shù)據(jù)內(nèi)容;2)將不具有約束或關(guān)聯(lián)關(guān)系的數(shù)據(jù)內(nèi)容劃分為數(shù)據(jù)塊,采用可順序編/解碼的算法分別進(jìn)行壓縮,各數(shù)據(jù)塊中還包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽;將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送;3)客戶端對接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則顯示已解析完畢的數(shù)據(jù)內(nèi)容。
下面以網(wǎng)絡(luò)電子詞典查詞時作為具體實施例,說明本發(fā)明的實現(xiàn)方式。根據(jù)上述的核心思想,本實施例的核心在于用戶在檢索單詞時,一次性取出檢索關(guān)鍵字在選定的一本或幾本詞典中的所有解釋內(nèi)容;由于檢索詞典類數(shù)據(jù)對反饋速度要求較高,進(jìn)而在傳輸過程中,數(shù)據(jù)到達(dá)客戶端一部分之后,即進(jìn)行顯示。
為實現(xiàn)上述功能,本發(fā)明主要包括三個方面的內(nèi)容數(shù)據(jù)檢索邏輯和接口的設(shè)置;傳輸數(shù)據(jù)的組織;客戶端輸出。下面具體說明上述三個方面的實現(xiàn)方法。
數(shù)據(jù)檢索邏輯和接口的設(shè)置。通過在詞典整理時對詞條的解釋信息進(jìn)行細(xì)化和分類,進(jìn)而從數(shù)據(jù)底層對不同檢索頻度的信息進(jìn)行分離,同時結(jié)合實際用戶使用習(xí)慣的分類方式,有利于篩選出用戶真正需要的數(shù)據(jù),從而減少冗余和浪費的數(shù)據(jù)流量。
數(shù)據(jù)引擎從底層的存儲結(jié)構(gòu)提供分類檢索詞條解釋信息的能力,提供一次性檢索一個詞條在多本詞典中解釋信息的接口,并且對應(yīng)于每本詞典,還可以設(shè)置各自獨立的檢索類別掩碼,用于告知數(shù)據(jù)檢索引擎提取檢索詞條在當(dāng)前字典中的分類的解釋信息。數(shù)據(jù)的檢索設(shè)置接口如下形式int SetKey(CibaData& Key);設(shè)置需查詢的單詞;其中,Key為包含設(shè)置信息的數(shù)據(jù)對象。返回值0為設(shè)置成功,非0值為設(shè)置失敗。
int AddDict(int DictIndex,unsigned int DictSearchMask);加入一個欲檢索的詞典;其中DictIndex為加入詞典的索引號,DictSearchMask為32位無符號整數(shù)的分類查詢標(biāo)志,每一位對應(yīng)于單詞的一個分類解釋項,所述分類查詢標(biāo)志與單詞分類解釋項的對應(yīng)關(guān)系可自行定義;該位值為1時,表示查詢此分類(是不是應(yīng)稍微解釋以下)解釋,為0時,表示不查詢此分類解釋;當(dāng)函數(shù)int AddDict返回值為0時,表示欲檢索的詞典添加成功,非0值時,表示欲檢索的詞典添加過程出現(xiàn)異常。
int DoSearch(CibaData**Exp);啟動查詢;查詢接口按照上述設(shè)定的欲查詢單詞和查詢詞典列表以及對每本詞典設(shè)定的分類查詢標(biāo)志進(jìn)行數(shù)據(jù)檢索,并將檢索結(jié)果返回;忽略沒有返回結(jié)果的字典(被檢索詞典中不含被查關(guān)鍵字或該或所查類別信息總長度為0);其中,Exp為指向查詢返回結(jié)果的指針,若返回結(jié)果指針為NULL,則查詢失敗。返回值0為執(zhí)行成功,非0值為查詢過程中出現(xiàn)異常,查詢結(jié)果不可使用;其中,CibaData為與關(guān)鍵字對應(yīng)的檢索結(jié)果,其結(jié)構(gòu)定義如下struct CibaData{
char* data;int len;};由該結(jié)構(gòu)定義可知,本實施例中,一次性檢索并獲取在相應(yīng)詞典以及相應(yīng)分類中的所有與確定關(guān)鍵字對應(yīng)的數(shù)據(jù)內(nèi)容,構(gòu)成該關(guān)鍵字的檢索結(jié)果。
在上述數(shù)據(jù)檢索邏輯和接口設(shè)置的基礎(chǔ)上,參照圖1,即實現(xiàn)步驟11服務(wù)器獲取客戶端的檢索請求,根據(jù)預(yù)置的檢索機(jī)制獲取所述檢索請求對應(yīng)的數(shù)據(jù)內(nèi)容。其具體步驟包括1)設(shè)置需要查詢的關(guān)鍵字;2)設(shè)置所需要查詢的詞典,具體為使用標(biāo)志位表示沒本詞典是否需要被檢索,例如1100001110;其中的每一位分別代表一本詞典,值為1時,表示查詢該標(biāo)志位所對應(yīng)的詞典,為0時,表示不查詢該標(biāo)志位對應(yīng)的詞典;3)根據(jù)1)、2)的設(shè)置,進(jìn)行檢索操作,并返回檢索結(jié)果。
綜上所述,當(dāng)上層網(wǎng)絡(luò)服務(wù)接收到一個查詢請求后(檢索關(guān)鍵字,或者進(jìn)一步包括附屬的檢索選項),將需要檢索的詞條和所有被檢索的詞典信息以及對應(yīng)詞典的分類信息檢索掩碼設(shè)置到檢索接口當(dāng)中,然后一次性執(zhí)行檢索過程并獲得所需數(shù)據(jù)。
傳輸數(shù)據(jù)的組織。目的在于將檢索結(jié)果的數(shù)據(jù)組織成為可進(jìn)行順序的流式讀取的數(shù)據(jù)形式,以使數(shù)據(jù)到達(dá)客戶端后,客戶端每接收到一部分?jǐn)?shù)據(jù)就可以將解析結(jié)果進(jìn)行顯示,而不必將完整數(shù)據(jù)包全部獲取之后再進(jìn)行解碼和顯示,進(jìn)而可滿足用戶對網(wǎng)絡(luò)查詞反饋速度的要求,并且,客戶端將查詢結(jié)果從頭至尾順序顯示,符合正常的閱讀習(xí)慣。參照圖1,傳輸數(shù)據(jù)組織的核心為步驟12以確定關(guān)鍵字的單個解釋項為單元劃分成數(shù)據(jù)塊,即可將關(guān)鍵字的至少一個解釋項數(shù)據(jù)作為一個數(shù)據(jù)塊進(jìn)行處理,采用可順序編/解碼的算法分別對各數(shù)據(jù)塊進(jìn)行壓縮,各數(shù)據(jù)塊中還包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽;將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送。
采用可順序加密/解密和壓縮/解壓縮的分塊編碼手段,使得在支持?jǐn)?shù)據(jù)的流式解碼的同時可將偶然性的數(shù)據(jù)破壞限制在單個數(shù)據(jù)塊內(nèi),避免由于關(guān)聯(lián)加密所產(chǎn)生的整體數(shù)據(jù)破壞;并且,采用由內(nèi)置外的可擴(kuò)展標(biāo)記語言(XML)格式描述數(shù)據(jù)塊信息,包括數(shù)據(jù)塊起始/結(jié)束位置、詞典類型、壓縮標(biāo)志等,使每一個獨立的數(shù)據(jù)塊都具備自我描述能力,整體結(jié)構(gòu)具有良好的容錯能力,進(jìn)而,在任何位置出現(xiàn)的偶然性的數(shù)據(jù)丟失和破壞都能夠被限制在出現(xiàn)問題的數(shù)據(jù)塊的父級數(shù)據(jù)塊之內(nèi),客戶端可以進(jìn)一步選擇拋棄錯誤段繼續(xù)后續(xù)解析顯示或者重新進(jìn)行檢索。
參照圖2,該圖為單個授權(quán)詞典庫的輸出數(shù)據(jù)格式。如圖所示,單個詞典解釋項的數(shù)據(jù)塊結(jié)構(gòu)要求壓縮文本數(shù)據(jù)塊對于匹配的解壓縮算法有自描述能力。圖中所示各字段功能如下數(shù)據(jù)塊長度圖中所示整個數(shù)據(jù)塊在存儲器上所占用的空間計數(shù),包括數(shù)據(jù)塊長度數(shù)據(jù)自身占用的4個字節(jié);字典索引(4字節(jié))標(biāo)識當(dāng)前數(shù)據(jù)塊的出處,詞典索引和詞典類型的對應(yīng)關(guān)系主要用于客戶端使用,作為不同語言類別詞典的劃分依據(jù),通常,所述對應(yīng)關(guān)系一經(jīng)確定不再改變,需要改變時,修改詞典環(huán)境初始化配置文件,并由升級功能通知客戶端同步更新;壓縮標(biāo)志(4字節(jié))用于標(biāo)識該數(shù)據(jù)塊所采用的壓縮方式,使客戶端可采用恰當(dāng)?shù)慕鈮嚎s算法處理當(dāng)前數(shù)據(jù)塊所帶的單詞分類解釋數(shù)據(jù),每本詞典內(nèi)的數(shù)據(jù)采用同一種壓縮方法,正常情況下,詞典的類型影響到所采用的壓縮方式,但沒有嚴(yán)格的約束關(guān)系;壓縮解壓縮的算法在詞典編譯之前確定,并以庫形式提供客戶端使用;壓縮文本數(shù)據(jù)即為根據(jù)用戶請求從當(dāng)前詞典中查詢出的分類解釋數(shù)據(jù);本實施例中,查詢過程僅僅將查詢獲得的分類解釋數(shù)據(jù)塊做簡單拼接,要求使用的解壓縮算法能夠識別每個數(shù)據(jù)段的起始與結(jié)尾,以保證能夠正確的對拼接后的數(shù)據(jù)段正確還原。
在每個壓縮文本數(shù)據(jù)塊中都包含有描述自身分類類別的XML標(biāo)簽,整個拼接后的壓縮文本數(shù)據(jù)塊在解壓縮之后將形成標(biāo)準(zhǔn)的XML文檔,進(jìn)而由客戶端進(jìn)行再解析。
<wordexp_type2>
<wordexp_type2_1>
This is a child type of type2 for the word,the word search engine do not knowthis,in the database,the data combined with other child explain data belongs towordexp_type2 should be treated as one data block,e.g.compress,encrypt and soon.
</wordexp_type2_1>
<wordexp_type2_2>
Just like wordexp_type2_1</wordexp_type2_2>
</wordexp_type2>
上例為對應(yīng)于某一關(guān)鍵字的第二類解釋信息,其中<wordexp_type2>與</wordexp_type2>分別標(biāo)識該第二類解釋信息數(shù)據(jù)的起始與結(jié)尾;并且,根據(jù)標(biāo)簽<wordexp_type2_1>、</wordexp_type2_1>以及標(biāo)簽<wordexp_type2_2>、</wordexp_type2_2>可知,該第二類解釋信息中進(jìn)一步包括了兩個子類解釋信息。
參照圖3,該圖為服務(wù)器整體查詢結(jié)果的輸出數(shù)據(jù)格式。對于每個查詢結(jié)果不為空的詞典,將單本詞典查詢獲得的壓縮文本數(shù)據(jù)塊進(jìn)行簡單拼接作為最終的結(jié)果數(shù)據(jù)。檢索結(jié)果數(shù)據(jù)實際上是以詞條在一本詞典中的一個分類解釋塊為基本單位的串行數(shù)據(jù)流;對于每一個壓縮文本數(shù)據(jù)塊,采用可順序解碼和解密編碼和加密算法,如Bzip壓縮算法和DES加密算法,由于解碼解密結(jié)果為Unicode字串,可以以兩個字節(jié)的0值作為數(shù)據(jù)塊結(jié)束的標(biāo)志和塊間分割符號,在最大限度上保證數(shù)據(jù)的自描述能力。
客戶端輸出。其核心在于實現(xiàn)圖1所示步驟13客戶端對接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則顯示已解析完畢的數(shù)據(jù)內(nèi)容。
當(dāng)服務(wù)器完成檢索,即將獲得的數(shù)據(jù)內(nèi)容以上述數(shù)據(jù)組織方式通過流式Socket(如TCP)向客戶端進(jìn)行反饋;客戶端在收到第一個字節(jié)的數(shù)據(jù)之后,立刻開始進(jìn)行解析,最多獲得12個字節(jié)的數(shù)據(jù)之后,客戶端即可以開始對最先到達(dá)的數(shù)據(jù)進(jìn)行解碼操作,每當(dāng)解析到一個XML標(biāo)簽,客戶端即將其在用戶界面上顯示出來,如此不斷進(jìn)行,客戶端顯示效果即為不斷追加的詞條分類解釋信息,直到所有數(shù)據(jù)接收完畢。
若客戶端在解析數(shù)據(jù)時發(fā)現(xiàn)數(shù)據(jù)錯誤,如未到XML結(jié)束標(biāo)簽即遇數(shù)據(jù)結(jié)尾、出現(xiàn)無法識別的字符串、XML標(biāo)簽缺失等等,則繼續(xù)向后尋找可識別的與出錯位置數(shù)據(jù)塊父級數(shù)據(jù)塊同級的數(shù)據(jù)塊的XML標(biāo)簽繼續(xù)進(jìn)行解析,進(jìn)而避免使整個檢索結(jié)果作廢;只有數(shù)據(jù)破壞至完全無法解析時,客戶端才需重新提交檢索請求。
以上為本發(fā)明所述方法的完整實施例,在上述方法基礎(chǔ)上,本發(fā)明在實際應(yīng)用中可進(jìn)一步根據(jù)客戶需求進(jìn)行檢索請求產(chǎn)生邏輯的設(shè)置。例如1)對于屏幕取詞這類對反饋速度要求較高的應(yīng)用,每次用戶的檢索請求首先導(dǎo)致發(fā)出基本信息檢索請求,并根據(jù)上述提供的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法獲取用戶相應(yīng)數(shù)據(jù)內(nèi)容并顯示反饋信息,同時,提供用戶展開詳細(xì)解釋的鏈接,并在后臺預(yù)取對應(yīng)單詞和詞典的詳細(xì)解釋信息;2)對于被破壞的數(shù)據(jù),只對被破壞的分類和詞典信息進(jìn)行后臺重取,而無需重新進(jìn)行完全檢索;3)對于手工查詞這類對于反饋速度要求不高的應(yīng)用,一次性取回所有用戶指定數(shù)據(jù),并同時對其余數(shù)據(jù)進(jìn)行后臺預(yù)取。
另外,本發(fā)明還可進(jìn)一步擴(kuò)展或采用其他具體實現(xiàn)方式,例如1)本發(fā)明可結(jié)合使用動態(tài)本地緩存技術(shù),對查詢歷史結(jié)果進(jìn)行隱性緩沖,可降低服務(wù)器實際工作量。
2)本發(fā)明中,服務(wù)器可根據(jù)統(tǒng)計結(jié)果,將檢索頻度高于預(yù)置門限值的數(shù)據(jù)單獨拆分出來作為服務(wù)器的前端緩沖,所有只涉及前端緩沖內(nèi)數(shù)據(jù)的檢索請求均不進(jìn)入主數(shù)據(jù)庫檢索,以節(jié)約主數(shù)據(jù)庫的檢索資源。
3)在輸出數(shù)據(jù)組織階段,可以對查詢結(jié)果數(shù)據(jù)進(jìn)行再組織,例如在多本詞典中查詢數(shù)據(jù)時,以本發(fā)明所述的數(shù)據(jù)組織方法為基礎(chǔ),將每本詞典中關(guān)于被檢索關(guān)鍵字的基本信息單獨組織在整個數(shù)據(jù)段的前端,其余詳細(xì)解釋信息則跟在所述基本信息之后。此方法在某些應(yīng)用條件下,可以用相對較少的檢索次數(shù)滿足用戶的需求。
與上述方法相應(yīng),本發(fā)明還提供了一種網(wǎng)絡(luò)服務(wù)器,用于實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)庫檢索,參照圖4,該服務(wù)器主要包括輸入/輸出單元41、查詢解析單元42、查詢單元43,以及數(shù)據(jù)組織單元44;所述查詢解析單元42根據(jù)預(yù)置的數(shù)據(jù)檢索接口預(yù)置服務(wù)器獲取檢索關(guān)鍵字,以及標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;所述查詢解析單元中預(yù)置數(shù)據(jù)檢索接口,具體內(nèi)容參見上文方法實施例中的相應(yīng)說明。
依據(jù)預(yù)置的數(shù)據(jù)檢索接口,當(dāng)查詢解析單元獲取檢索請求后,操作步驟為1)設(shè)置需要查詢的關(guān)鍵字;2)設(shè)置所需要查詢的詞典,使用標(biāo)志位表示沒本詞典是否需要被檢索,例如1100001110;其中的每一位分別代表一本詞典,值為1時,表示查詢該標(biāo)志位所對應(yīng)的詞典,為0時,表示不查詢該標(biāo)志位對應(yīng)的詞典。
所述查詢單元43根據(jù)所述查詢解析單元的預(yù)置進(jìn)行數(shù)據(jù)庫檢索,獲取與關(guān)鍵字對應(yīng)的數(shù)據(jù)內(nèi)容;即根據(jù)查詢解析單元中1)、2)的設(shè)置,進(jìn)行檢索操作,并返回檢索結(jié)果。
所述數(shù)據(jù)組織單元44將不具有約束或關(guān)聯(lián)關(guān)系的數(shù)據(jù)內(nèi)容劃分為數(shù)據(jù)塊,采用可順序編/解碼的算法分別進(jìn)行壓縮,各數(shù)據(jù)塊中包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽,并且數(shù)據(jù)組織單元將各數(shù)據(jù)塊拼接后由輸入/輸出單元41進(jìn)行發(fā)送。
具體的,所述數(shù)據(jù)組織單元中,將數(shù)據(jù)組織成為可進(jìn)行順序的流式讀取的數(shù)據(jù)形式,以使數(shù)據(jù)到達(dá)客戶端后,客戶端每接收到一部分?jǐn)?shù)據(jù)就可以將解析結(jié)果進(jìn)行顯示,而不必將完整數(shù)據(jù)包全部獲取之后再進(jìn)行解碼和顯示。即采用可順序加密/解密和壓縮/解壓縮的分塊編碼手段,使得在支持?jǐn)?shù)據(jù)的流式解碼的同時可將偶然性的數(shù)據(jù)破壞限制在單個數(shù)據(jù)塊內(nèi),避免由于關(guān)聯(lián)加密所產(chǎn)生的整體數(shù)據(jù)破壞;并且,采用由內(nèi)置外的可擴(kuò)展標(biāo)記語言(XML)格式描述數(shù)據(jù)塊信息,包括數(shù)據(jù)塊起始/結(jié)束位置、詞典類型、壓縮標(biāo)志等,使每一個獨立的數(shù)據(jù)塊都具備自我描述能力。數(shù)據(jù)組織格式可參見圖2及圖3。
進(jìn)一步,所述數(shù)據(jù)組織單元將同一數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容的數(shù)據(jù)塊進(jìn)行拼接構(gòu)成一個父級數(shù)據(jù)塊,并在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
在上述服務(wù)器結(jié)構(gòu)基礎(chǔ)上,服務(wù)器中還可進(jìn)一步包括緩存單元,根據(jù)統(tǒng)計結(jié)果,動態(tài)存儲檢索頻度高于預(yù)置門限值的數(shù)據(jù)內(nèi)容。
與上述方法相應(yīng),本發(fā)明還涉及一種包括本發(fā)明服務(wù)器的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng)。除本發(fā)明的服務(wù)器之外,還包括客戶端。
參照圖4,本發(fā)明所述系統(tǒng)的服務(wù)器中主要包括輸入/輸出單元41、查詢解析單元42、查詢單元43、以及數(shù)據(jù)組織單元44;所述查詢解析單元42根據(jù)服務(wù)器獲取的檢索請求預(yù)置檢索關(guān)鍵字,以及標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;所述查詢單元43根據(jù)所述查詢解析單元的預(yù)置進(jìn)行數(shù)據(jù)庫檢索,獲取與關(guān)鍵字對應(yīng)的數(shù)據(jù)內(nèi)容;所述數(shù)據(jù)組織單元44將不具有約束或關(guān)聯(lián)關(guān)系的數(shù)據(jù)內(nèi)容劃分為數(shù)據(jù)塊,采用可順序編/解碼的算法分別進(jìn)行壓縮,各數(shù)據(jù)塊中包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽,并且數(shù)據(jù)組織單元將各數(shù)據(jù)塊拼接后由輸入/輸出單元41進(jìn)行發(fā)送;本發(fā)明所述系統(tǒng)的客戶端主要包括輸入/輸出單元45、數(shù)據(jù)解析單元46,輸出單元(圖中所示為顯示單元47);
所述解析單元46對客戶端通過輸入/輸出單元45接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則將已解析完畢的數(shù)據(jù)內(nèi)容通過顯示單元47顯示輸出。
以上對本發(fā)明所提供的一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于,包括以下步驟1)服務(wù)器獲取客戶端的檢索關(guān)鍵字,根據(jù)預(yù)置的檢索機(jī)制獲取所述關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);2)將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中還包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽;將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送;3)客戶端對接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則顯示已解析完畢的數(shù)據(jù)。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于,2)中進(jìn)一步包括將數(shù)據(jù)塊進(jìn)行拼接后,還在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
3.如權(quán)利要求1或2所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于2)中拼接后的父級數(shù)據(jù)塊中進(jìn)一步包括該父級數(shù)據(jù)塊的數(shù)據(jù)塊長度或該父級數(shù)據(jù)塊所采用的壓縮方式。
4.如權(quán)利要求2所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于3)中若數(shù)據(jù)塊解析過程出錯,則尋找與所述出錯數(shù)據(jù)塊的父級數(shù)據(jù)塊同級的數(shù)據(jù)塊的起始標(biāo)簽,并繼續(xù)解析該標(biāo)簽之后的數(shù)據(jù)內(nèi)容。
5.如權(quán)利要求1所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于所述編/解碼算法為Bzip算法。
6.如權(quán)利要求1所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于2)中還包括用可順序加/解密的算法對數(shù)據(jù)塊加密。
7.如權(quán)利要求1、2、4、5、6其中之一所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于,1)具體為11)根據(jù)客戶端的檢索請求預(yù)置需要查詢的關(guān)鍵字;12)標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;13)根據(jù)11)、12)的預(yù)置進(jìn)行檢索,獲取各數(shù)據(jù)庫中與關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù)。
8.如權(quán)利要求7所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法,其特征在于,2)中進(jìn)一步為將同一數(shù)據(jù)庫解釋項數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行拼接,拼接后形成的父級數(shù)據(jù)塊中包含該數(shù)據(jù)庫的索引信息。
9.一種網(wǎng)絡(luò)服務(wù)器,用于實現(xiàn)網(wǎng)絡(luò)詞典類數(shù)據(jù)庫檢索,包括輸入/輸出單元,其特征在于還包括查詢解析單元、查詢單元、以及數(shù)據(jù)組織單元;所述查詢解析單元根據(jù)服務(wù)器獲取的檢索請求預(yù)置檢索關(guān)鍵字,以及標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;所述查詢單元根據(jù)所述查詢解析單元的預(yù)置進(jìn)行數(shù)據(jù)庫檢索,獲取與關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);所述數(shù)據(jù)組織單元將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽,并且數(shù)據(jù)組織單元將各數(shù)據(jù)塊拼接后由輸入/輸出單元進(jìn)行發(fā)送。
10.如權(quán)利要求9所述的網(wǎng)絡(luò)服務(wù)器,其特征在于所述數(shù)據(jù)組織單元將同一數(shù)據(jù)庫的解釋項數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行拼接,并在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
11.如權(quán)利要求9所述的網(wǎng)絡(luò)服務(wù)器,其特征在于服務(wù)器還包括緩存單元,根據(jù)統(tǒng)計結(jié)果,動態(tài)存儲檢索頻度高于預(yù)置門限值的數(shù)據(jù)內(nèi)容。
12.一種網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng),包括服務(wù)器、客戶端,其特征在于所述服務(wù)器包括查詢解析單元、查詢單元、以及數(shù)據(jù)組織單元;所述查詢解析單元根據(jù)服務(wù)器獲取的檢索請求預(yù)置檢索關(guān)鍵字,以及標(biāo)識需要進(jìn)行檢索的數(shù)據(jù)庫;所述查詢單元根據(jù)所述查詢解析單元的預(yù)置進(jìn)行數(shù)據(jù)庫檢索,獲取與關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);所述數(shù)據(jù)組織單元將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽,并且數(shù)據(jù)組織單元將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送;所述客戶端包括數(shù)據(jù)解析單元,輸出單元;所述解析單元對客戶端接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則將已解析完畢的數(shù)據(jù)內(nèi)容通過輸出單元輸出。
13.如權(quán)利要求12所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng),其特征在于所述數(shù)據(jù)組織單元將同一數(shù)據(jù)庫的解釋項數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行拼接,并在該拼接后形成的父級數(shù)據(jù)塊中用標(biāo)簽標(biāo)識該父級數(shù)據(jù)塊的起始和結(jié)束位置。
14.如權(quán)利要求9所述的網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示系統(tǒng),其特征在于服務(wù)器還包括緩存單元,根據(jù)統(tǒng)計結(jié)果,動態(tài)存儲檢索頻度高于預(yù)置門限值的數(shù)據(jù)內(nèi)容。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)詞典檢索結(jié)果的反饋顯示方法和系統(tǒng),所述方法包括以下步驟1)服務(wù)器獲取客戶端的檢索關(guān)鍵字,根據(jù)預(yù)置的檢索機(jī)制獲取所述關(guān)鍵字對應(yīng)的解釋項數(shù)據(jù);2)將關(guān)鍵字所對應(yīng)的至少一個解釋項數(shù)據(jù)劃分成為一個數(shù)據(jù)塊,采用可順序編/解碼的算法對各數(shù)據(jù)塊分別進(jìn)行壓縮,各數(shù)據(jù)塊中還包含標(biāo)識該數(shù)據(jù)塊起始和結(jié)束位置的標(biāo)簽;將各數(shù)據(jù)塊拼接后進(jìn)行發(fā)送;3)客戶端對接收到的數(shù)據(jù)塊進(jìn)行解析,若解析到所述標(biāo)簽,則顯示已解析完畢的數(shù)據(jù)。本發(fā)明可滿足用戶的個性化檢索需求,具有反饋速度快、容錯性高的優(yōu)點,且與現(xiàn)有技術(shù)相比,不需增加系統(tǒng)資源,節(jié)省了成本。
文檔編號G06F17/30GK1838119SQ20051010540
公開日2006年9月27日 申請日期2005年9月26日 優(yōu)先權(quán)日2005年9月26日
發(fā)明者牛智瀚 申請人:北京金山軟件有限公司