[發(fā)明專利]消息匹配方法、消息匹配裝置及計(jì)算機(jī)程序產(chǎn)品、電子設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 201680002780.0 | 申請(qǐng)日: | 2016-11-16 |
| 公開(kāi)(公告)號(hào): | CN106716420A | 公開(kāi)(公告)日: | 2017-05-24 |
| 發(fā)明(設(shè)計(jì))人: | 李坤 | 申請(qǐng)(專利權(quán))人: | 深圳達(dá)闥科技控股有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 深圳市愛(ài)迪森知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙)44341 | 代理人: | 何婷 |
| 地址: | 518000 廣東省深圳市前海深港合作區(qū)前*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 消息 匹配 方法 裝置 計(jì)算機(jī) 程序 產(chǎn)品 電子設(shè)備 | ||
技術(shù)領(lǐng)域
本發(fā)明實(shí)施方式涉及消息編譯技術(shù)領(lǐng)域,特別是涉及一種消息匹配方法及其匹配裝置。
背景技術(shù)
隨著電子技術(shù)的不斷發(fā)展,各種數(shù)據(jù)和指令傳輸量越來(lái)越大,網(wǎng)絡(luò)系統(tǒng)的負(fù)荷較高。這樣對(duì)于服務(wù)器、客戶端等設(shè)備的消息處理速度要求越來(lái)越高。
慣常的消息處理過(guò)程中,需要執(zhí)行以下的步驟:預(yù)設(shè)與每一類消息定義相對(duì)應(yīng)的識(shí)別與匹配的規(guī)則。然后為每一條接收到的消息在這些預(yù)設(shè)的規(guī)則中進(jìn)行匹配,找到與消息完全匹配的規(guī)則為止。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)存在以下問(wèn)題:在進(jìn)行消息匹配時(shí),各規(guī)則之間是平行獨(dú)立的關(guān)系。消息需要與每一條規(guī)則分別進(jìn)行匹配,每一次的匹配過(guò)程都需要從消息的第一個(gè)字符重新開(kāi)始進(jìn)行,匹配的性能較低,網(wǎng)絡(luò)實(shí)體的負(fù)荷很大。若在消息量較大時(shí),會(huì)出現(xiàn)無(wú)法及時(shí)匹配處理的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施方式主要解決的技術(shù)問(wèn)題是提供一種消息匹配方法、消息匹配裝置及計(jì)算機(jī)程序產(chǎn)品、電子設(shè)備,能夠解決現(xiàn)有技術(shù)中消息匹配性能低,消息量大時(shí)無(wú)法及時(shí)匹配處理的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施方式采用的一個(gè)技術(shù)方案是:提供一種消息匹配方法。該方法包括:合并規(guī)則庫(kù)內(nèi)不同規(guī)則之間的相同的字段;依次搜索與消息的檢索詞相匹配的字段,所述消息由若干具有預(yù)定排列次序的檢索詞組成;直至獲取組成消息的全部檢索詞的已匹配字段,所述已匹配字段組成的規(guī)則為與所述消息匹配的規(guī)則;
所述搜索與消息的檢索詞相匹配的字段,具體包括:在當(dāng)前檢索詞與字段匹配時(shí),確定字段為已匹配字段并搜索與下一個(gè)檢索詞相匹配的字段,以及在當(dāng)前檢索詞與字段不匹配時(shí),回退至最接近的已匹配字段,重新搜索與當(dāng)前檢索詞匹配的字段。
可選地,所述合并不同規(guī)則之間的相同的字段,具體包括:
生成與所述規(guī)則庫(kù)相對(duì)應(yīng)的多叉樹(shù);所述多叉樹(shù)的非終端節(jié)點(diǎn)為不同規(guī)則之間的相同的字段。
可選地,所述生成與所述規(guī)則庫(kù)相對(duì)應(yīng)的多叉樹(shù),具體包括:
創(chuàng)建根節(jié)點(diǎn)并且將規(guī)則作為所述根節(jié)點(diǎn)的子樹(shù);
根據(jù)預(yù)定的單位長(zhǎng)度,將所述子樹(shù)拆分為若干比對(duì)單元;所述單位長(zhǎng)度與所述規(guī)則的字段對(duì)應(yīng);
以根節(jié)點(diǎn)為起點(diǎn),依次序比對(duì)各子樹(shù)的比對(duì)單元;
將相同的比對(duì)單元合并為同一個(gè)節(jié)點(diǎn);
連接所述根節(jié)點(diǎn)及節(jié)點(diǎn),生成所述多叉樹(shù)。
可選地,所述子樹(shù)的最后一個(gè)比對(duì)單元為多叉樹(shù)的葉子節(jié)點(diǎn)。
可選地,所述依次搜索與消息的檢索詞相匹配的字段,直至獲取組成消息的全部檢索詞的已匹配字段,具體包括:從所述多叉樹(shù)的根節(jié)點(diǎn)開(kāi)始,遍歷所述多叉樹(shù)以獲取與所述待匹配消息相匹配的規(guī)則。
可選地,所述在當(dāng)前檢索詞與字段不匹配時(shí),回退至最接近的已匹配字段,重新搜索與當(dāng)前檢索詞匹配的字段,具體包括:
在當(dāng)前檢索詞與多叉樹(shù)的當(dāng)前節(jié)點(diǎn)不匹配時(shí),回退至所述當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)并重新選擇所述父節(jié)點(diǎn)的其它子節(jié)點(diǎn)。
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施方式采用的另一個(gè)技術(shù)方案是:提供一種消息匹配裝置,其中,該裝置包括:
字段合并模塊,用于合并規(guī)則庫(kù)內(nèi)不同規(guī)則之間的相同的字段;
搜索模塊,用于依次搜索與消息的檢索詞相匹配的字段,所述消息由若干具有預(yù)定排列次序的檢索詞組成;以及直至獲取組成消息的全部檢索詞的已匹配字段,所述已匹配字段組成的規(guī)則為與所述消息匹配的規(guī)則;
所述搜索與消息的檢索詞相匹配的字段,具體包括:在當(dāng)前檢索詞與字段匹配時(shí),確定字段為已匹配字段并搜索與下一檢索詞相匹配的字段,以及在當(dāng)前檢索詞與字段不匹配時(shí),回退至最接近的已匹配字段,重新搜索與當(dāng)前檢索詞匹配的字段。
可選地,所述字段合并模塊具體用于:生成與所述規(guī)則庫(kù)相對(duì)應(yīng)的多叉樹(shù);所述多叉樹(shù)的非終端節(jié)點(diǎn)為不同規(guī)則之間的相同的字段。
可選地,所述字段合并模塊具體用于:
創(chuàng)建根節(jié)點(diǎn)并且將規(guī)則作為所述根節(jié)點(diǎn)的子樹(shù);
根據(jù)預(yù)定的單位長(zhǎng)度,將所述子樹(shù)拆分為若干比對(duì)單元;所述單位長(zhǎng)度與所述規(guī)則的字段對(duì)應(yīng);
以根節(jié)點(diǎn)為起點(diǎn),依次序比對(duì)各子樹(shù)的比對(duì)單元;
將相同的比對(duì)單元合并為同一個(gè)節(jié)點(diǎn);
連接所述根節(jié)點(diǎn)及節(jié)點(diǎn),生成所述多叉樹(shù)。
可選地,所述子樹(shù)的最后一個(gè)比對(duì)單元為多叉樹(shù)的葉子節(jié)點(diǎn)。
可選地,所述搜索模塊具體用于:從所述多叉樹(shù)的根節(jié)點(diǎn)開(kāi)始,遍歷所述多叉樹(shù)以獲取與所述待匹配消息相匹配的規(guī)則。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳達(dá)闥科技控股有限公司,未經(jīng)深圳達(dá)闥科技控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680002780.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





