專利名稱:一種初始過濾規(guī)則集的匹配方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通信領(lǐng)域,特別是一種初始過濾規(guī)則集的匹配方法及系統(tǒng)。
背景技術(shù):
@#Ntijal(Internet Protocol Multimedia Subsystem, IMS) ^ 承分層的設(shè)計(jì)理念,將控制面與業(yè)務(wù)面分層。控制層不提供業(yè)務(wù),只提供業(yè)務(wù)層必要的觸發(fā),從而實(shí)現(xiàn)動(dòng)態(tài)、靈活地為用戶配置各種不同業(yè)務(wù)的目的。為此,在IMS的業(yè)務(wù)數(shù)據(jù)中設(shè)計(jì)了可根據(jù)需要靈活配置的過濾規(guī)則集,則業(yè)務(wù)觸發(fā)的關(guān)鍵在于初始過濾規(guī)則集(Initial Filter Criteria, IFC)與消息的匹配。IFC中的業(yè)務(wù)點(diǎn)觸發(fā)器包括五種不同的類型1 >it^^—^iHfeiK (Request Uniform Resource Identifier, Request URI) 根據(jù)會(huì)話開始協(xié)議(Session Initiation Protocol,SIP)消息中的Request URI進(jìn)行匹配。2、SIP方法(Method)根據(jù)SIP消息的請(qǐng)求方法進(jìn)行匹配。3、SIP頭域(Header)根據(jù)SIP消息中不同的頭域進(jìn)行匹配。4、會(huì)話場景(Session Case)根據(jù)當(dāng)前會(huì)話場景(主叫已注冊(cè)、主叫未注冊(cè)、被叫已注冊(cè)、被叫未注冊(cè))進(jìn)行匹配。5、會(huì)話描述(Session Description, SDP)根據(jù)SIP消息中SDP內(nèi)容進(jìn)行匹配。目前只有TS29. 228中對(duì)IFC的結(jié)構(gòu)有所介紹,而對(duì)于具體的匹配方法則沒有提及?,F(xiàn)有技術(shù)中最簡單的方法就是首先對(duì)組成IFC的所有業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,然后根據(jù)優(yōu)先級(jí)對(duì)組成IFC的各業(yè)務(wù)點(diǎn)觸發(fā)器組進(jìn)行相應(yīng)的邏輯運(yùn)算,最終得到IFC的匹配結(jié)果。 這種匹配方法雖然直觀,但運(yùn)算復(fù)雜度比較高。例如組成IFC的業(yè)務(wù)點(diǎn)觸發(fā)器數(shù)目為n,每兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組成一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組,單個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器匹配耗時(shí)為tl,兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器之間或兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組之間的邏輯運(yùn)算耗時(shí)為t2,則上述匹配方法的復(fù)雜度分析如下1、對(duì)η個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,耗時(shí)為n*tl ;2、業(yè)務(wù)點(diǎn)觸發(fā)器組內(nèi)的邏輯運(yùn)算,耗時(shí)為n/2*t2 ;3、業(yè)務(wù)點(diǎn)觸發(fā)器組間的邏輯運(yùn)算,耗時(shí)為(n/2_l)*t2 ;4、IFC 匹配的總耗時(shí)為 n*tl+(n_l)*t2。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種IFC的匹配方法,用以提高IFC的匹配效率。本發(fā)明實(shí)施例提供的一種IFC的匹配方法,IFC由觸發(fā)點(diǎn)和應(yīng)用服務(wù)器組成,觸發(fā)點(diǎn)由一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器使用與(AND)、或(0R)、非(NOT)根據(jù)需要組合形成,該方法包括根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。本發(fā)明實(shí)施例提供的一種IFC的匹配系統(tǒng),IFC由觸發(fā)點(diǎn)和應(yīng)用服務(wù)器組成,觸發(fā)點(diǎn)由一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器使用AND、OR、NOT根據(jù)需要組合形成,該系統(tǒng)包括第一匹配單元,用于根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;第二匹配單元,用于將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。通過以上技術(shù)方案可知,本發(fā)明實(shí)施例在對(duì)IFC進(jìn)行匹配的過程中,根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。因此,本發(fā)明實(shí)施例對(duì)IFC進(jìn)行匹配時(shí)能夠提高匹配效率,縮短匹配時(shí)間。
圖1為本發(fā)明方法的具體實(shí)施例的流程示意圖;圖2為本發(fā)明實(shí)施例對(duì)于CNF匹配運(yùn)算的流程示意圖;圖3為本發(fā)明實(shí)施例對(duì)于DNF匹配運(yùn)算的流程示意圖;圖4為本發(fā)明系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例中,IFC由觸發(fā)點(diǎn)和應(yīng)用服務(wù)器組成,觸發(fā)點(diǎn)由一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器使用與AND、或OR、非NOT根據(jù)需要組合形成。
觸發(fā)點(diǎn)由一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器使用AND、OR、NOT根據(jù)需要組合形成,包括組,至少兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器形成一組,同組中的業(yè)務(wù)點(diǎn)觸發(fā)器的組值相同;連接正則表達(dá)式(Conjunctive Normal i^orm,CNF),組內(nèi)使用OR對(duì)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行連接,組間使用AND進(jìn)行連接;分離正則表達(dá)式(Disjunctive Normal i^orm,DNF),組內(nèi)使用AND對(duì)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行連接,組間使用OR進(jìn)行連接。圖1為本發(fā)明方法的具體實(shí)施例的流程示意圖。參見圖1所示,本發(fā)明實(shí)施例進(jìn)行IFC的匹配方法包括以下幾個(gè)步驟步驟101 根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤。步驟102 將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。這里,如果所述邏輯運(yùn)算中采用AND組合,且不存在匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為正確;如果所述邏輯運(yùn)算中采用OR組合,且不存在匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為錯(cuò)誤。對(duì)于所述CNF,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器, 組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的組。圖2為本發(fā)明實(shí)施例對(duì)于CNF運(yùn)算的流程示意圖,參見圖2所示,本發(fā)明實(shí)施例對(duì)于CNF的匹配運(yùn)算包括以下幾個(gè)步驟步驟201 從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算。步驟202 判斷運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果是否為正確,如果是,則執(zhí)行步驟206,否則執(zhí)行步驟203。步驟203 判斷是否運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,如果是,則執(zhí)行步驟204, 否則返回步驟202。步驟204 判斷所述最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果是否為正確,如果是,則執(zhí)行步驟206,否則執(zhí)行步驟205。步驟205 確定本組的匹配結(jié)果為錯(cuò)誤,且確定所述CNF的匹配結(jié)果為錯(cuò)誤,結(jié)束所述CNF的匹配運(yùn)算。步驟206 確定本組的匹配結(jié)果為正確,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算。這里,如果運(yùn)算到了最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為正確,則確定所述 CNF的匹配結(jié)果為正確。對(duì)于所述DNF,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器, 組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的組。圖3為本發(fā)明實(shí)施例對(duì)于DNF運(yùn)算的流程示意圖,參見圖3所示,本發(fā)明實(shí)施例對(duì)于DNF的運(yùn)算包括以下幾個(gè)步驟步驟301 從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算。步驟302 判斷運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果是否為錯(cuò)誤,如果是,則執(zhí)行步驟306,否則執(zhí)行步驟303。步驟303 判斷是否運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,如果是,則執(zhí)行步驟304, 否則返回步驟302。步驟304 判斷所述最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果是否為錯(cuò)誤,如果是,則執(zhí)行步驟306,否則執(zhí)行步驟305。步驟305 確定本組的匹配結(jié)果為正確,且確定所述DNF的匹配結(jié)果為正確,結(jié)束所述DNF的匹配運(yùn)算。步驟306 確定本組的匹配結(jié)果為錯(cuò)誤,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算。這里,如果運(yùn)算到了最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為錯(cuò)誤,則確定所述 DNF的匹配結(jié)果為錯(cuò)誤。下面來分析本發(fā)明實(shí)施例提供的IFC的匹配方法的復(fù)雜度。例如組成IFC的業(yè)務(wù)點(diǎn)觸發(fā)器數(shù)目為n,每兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組成一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組,單個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器匹配耗時(shí)為tl,兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器之間或兩個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組之間的邏輯運(yùn)算耗時(shí)為t2,則本發(fā)明實(shí)施例提供的IFC的匹配方法的復(fù)雜度分析如下1、對(duì)η個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配最好情況是只需要匹配到首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,最壞情況是需要匹配η個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器。按照復(fù)雜度分析中經(jīng)常使用的方式,假定各種情況出現(xiàn)的概率相同,則需要對(duì)ηΛ個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,耗時(shí)為 n/2*tl ;2、η/2個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組成的業(yè)務(wù)點(diǎn)觸發(fā)器組數(shù)目為η/4,與1相同道理,假設(shè)各種情況出現(xiàn)的概率相同,折算出的業(yè)務(wù)點(diǎn)觸發(fā)器組內(nèi)邏輯運(yùn)算耗時(shí)為n/4*t2 ;3、η/4個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器組組間進(jìn)行邏輯運(yùn)算,耗時(shí)為(n/4_l)/2*t2 ;4、IFC 匹配的平均耗時(shí)為 l/2*[n*tl+(3/4*n_l)*t2]。將上述結(jié)果l/2*[n*tl+(3/4*n-l)*t2]與現(xiàn)有技術(shù)中IFC匹配方法復(fù)雜度分析結(jié)果n*tl+(n-l)*t2對(duì)比,可以看出,本發(fā)明實(shí)施例提供的IFC的匹配方法比現(xiàn)有技術(shù)中的 IFC匹配方法在效率上提高了一倍多。進(jìn)一步分析可知,對(duì)于類似于IFC的其它多層嵌套結(jié)構(gòu)組合而成的邏輯運(yùn)算,亦可借鑒本發(fā)明實(shí)施例提供的方法來解決,以提高效率。如[(Al OR A2)AND(A3 OR A4)]0R[(A5 OR A6)AND(A7 OR A8)]。對(duì)最內(nèi)層以O(shè)R連接的節(jié)點(diǎn)進(jìn)行邏輯運(yùn)算時(shí),運(yùn)算到第一個(gè)為正確的節(jié)點(diǎn)即可結(jié)束;對(duì)中間層以AND連接的節(jié)點(diǎn)組進(jìn)行邏輯運(yùn)算時(shí),遇到第一個(gè)為錯(cuò)誤的節(jié)點(diǎn)組即可結(jié)束; 對(duì)最外層以O(shè)R連接的節(jié)點(diǎn)組進(jìn)行邏輯運(yùn)算時(shí),遇到第一個(gè)為正確的節(jié)點(diǎn)組即可結(jié)束。圖4為本發(fā)明系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。參見圖4所示,本發(fā)明提供的一種IFC的匹配系統(tǒng)包括第一匹配單元41,用于根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容, 對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;第二匹配單元42,用于將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。這里,所述第二匹配單元42還用于如果所述邏輯運(yùn)算中采用AND組合,且不存在匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為正確;如果所述邏輯運(yùn)算中采用OR組合,且不存在匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為錯(cuò)誤。一個(gè)實(shí)施例,CNF匹配運(yùn)算單元,用于對(duì)CNF進(jìn)行匹配運(yùn)算,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的組。所述CNF匹配運(yùn)算單元用于從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算;在進(jìn)行組內(nèi)匹配運(yùn)算時(shí),若運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,則確定本組的匹配結(jié)果為正確,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算;若運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,且最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果仍為錯(cuò)誤時(shí),則確定本組的匹配結(jié)果為錯(cuò)誤, 且確定所述CNF的匹配結(jié)果為錯(cuò)誤,結(jié)束所述CNF的匹配運(yùn)算;若運(yùn)算到最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為正確,則確定所述CNF的匹配結(jié)果為正確。另一個(gè)實(shí)施例,DNF匹配運(yùn)算單元,用于對(duì)DNF進(jìn)行匹配運(yùn)算,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的組。所述DNF匹配運(yùn)算單元用于從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算;在進(jìn)行組內(nèi)匹配運(yùn)算時(shí),若運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤,則確定本組的匹配結(jié)果為錯(cuò)誤,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算;若運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,且最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果仍為正確時(shí),則確定本組的匹配結(jié)果為正確, 且確定所述DNF的匹配結(jié)果為正確,結(jié)束所述DNF的匹配運(yùn)算;若運(yùn)算到最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為錯(cuò)誤,則確定所述DNF的匹配結(jié)果為錯(cuò)誤。通過以上技術(shù)方案可知,本發(fā)明實(shí)施例在對(duì)IFC進(jìn)行匹配的過程中,根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。因此,本發(fā)明實(shí)施例對(duì)IFC進(jìn)行匹配時(shí)能夠提高匹配效率,縮短匹配時(shí)間。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對(duì)本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種初始過濾規(guī)則集IFC的匹配方法,IFC由觸發(fā)點(diǎn)和應(yīng)用服務(wù)器組成,觸發(fā)點(diǎn)由一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器使用與AND、或OR、非NOT根據(jù)需要組合形成,其特征在于,該方法包括根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從會(huì)話開始協(xié)議SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器, 則所述OR組合的匹配結(jié)果為正確。
2.如權(quán)利要求1所述的方法,其特征在于,如果所述邏輯運(yùn)算中采用AND組合,且不存在匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為正確;如果所述邏輯運(yùn)算中采用OR組合,且不存在匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述 OR組合的匹配結(jié)果為錯(cuò)誤。
3.如權(quán)利要求1所述的方法,其特征在于,組內(nèi)使用OR對(duì)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行連接,組間使用AND進(jìn)行連接的連接正則表達(dá)式CNF,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的組。
4.如權(quán)利要求3所述的方法,其特征在于,對(duì)于所述CNF的匹配運(yùn)算包括從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算;在進(jìn)行組內(nèi)匹配運(yùn)算時(shí),若運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,則確定本組的匹配結(jié)果為正確,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算;若運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,且最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果仍為錯(cuò)誤時(shí),則確定本組的匹配結(jié)果為錯(cuò)誤,且確定所述CNF的匹配結(jié)果為錯(cuò)誤,結(jié)束所述CNF的匹配運(yùn)算;若運(yùn)算到最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為正確,則確定所述CNF的匹配結(jié)果為正確。
5.如權(quán)利要求1所述的方法,其特征在于,組內(nèi)使用AND對(duì)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行連接,組間使用OR進(jìn)行連接的分離正則表達(dá)式DNF,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的組。
6.如權(quán)利要求5所述的方法,其特征在于,對(duì)于所述DNF的匹配運(yùn)算包括從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算;在進(jìn)行組內(nèi)匹配運(yùn)算時(shí),若運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤,則確定本組的匹配結(jié)果為錯(cuò)誤,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算;若運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,且最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果仍為正確時(shí),則確定本組的匹配結(jié)果為正確,且確定所述DNF的匹配結(jié)果為正確,結(jié)束所述DNF的匹配運(yùn)算;若運(yùn)算到最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為錯(cuò)誤,則確定所述DNF的匹配結(jié)果為錯(cuò)誤。
7.一種初始過濾規(guī)則集IFC的匹配系統(tǒng),IFC由觸發(fā)點(diǎn)和應(yīng)用服務(wù)器組成,觸發(fā)點(diǎn)由一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器使用與AND、或OR、非NOT根據(jù)需要組合形成,其特征在于,該系統(tǒng)包括第一匹配單元,用于根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從會(huì)話開始協(xié)議SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,如果從SIP消息中提取相應(yīng)的內(nèi)容與該業(yè)務(wù)點(diǎn)觸發(fā)器中的預(yù)設(shè)內(nèi)容一致,則該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,否則,該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤;第二匹配單元,用于將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器, 則所述OR組合的匹配結(jié)果為正確。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二匹配單元還用于如果所述邏輯運(yùn)算中采用AND組合,且不存在匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為正確;如果所述邏輯運(yùn)算中采用OR組合,且不存在匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述 OR組合的匹配結(jié)果為錯(cuò)誤。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,進(jìn)一步包括連接正則表達(dá)式CNF匹配運(yùn)算單元,用于對(duì)組內(nèi)使用OR對(duì)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行連接,組間使用AND進(jìn)行連接的CNF進(jìn)行匹配運(yùn)算,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的組。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述CNF匹配運(yùn)算單元用于從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算;在進(jìn)行組內(nèi)匹配運(yùn)算時(shí),若運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為正確,則確定本組的匹配結(jié)果為正確,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算;若運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,且最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果仍為錯(cuò)誤時(shí),則確定本組的匹配結(jié)果為錯(cuò)誤,且確定所述CNF的匹配結(jié)果為錯(cuò)誤,結(jié)束所述CNF 的匹配運(yùn)算;若運(yùn)算到最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為正確,則確定所述CNF的匹配結(jié)果為正確。
11.如權(quán)利要求7所述的系統(tǒng),其特征在于,進(jìn)一步包括分離正則表達(dá)式DNF匹配運(yùn)算單元,用于對(duì)組內(nèi)使用AND對(duì)業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行連接,組間使用OR進(jìn)行連接的DNF進(jìn)行匹配運(yùn)算,組內(nèi)匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,組間匹配運(yùn)算的終止條件是出現(xiàn)匹配結(jié)果為正確的組。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述DNF匹配運(yùn)算單元用于從首個(gè)組中的首個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器開始匹配運(yùn)算;在進(jìn)行組內(nèi)匹配運(yùn)算時(shí),若運(yùn)算到的業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果為錯(cuò)誤,則確定本組的匹配結(jié)果為錯(cuò)誤,結(jié)束本組的匹配運(yùn)算,且進(jìn)入下一個(gè)組的匹配運(yùn)算;若運(yùn)算到本組最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器,且最后一個(gè)業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果仍為正確時(shí),則確定本組的匹配結(jié)果為正確,且確定所述DNF的匹配結(jié)果為正確,結(jié)束所述DNF 的匹配運(yùn)算;若運(yùn)算到最后一個(gè)組,且最后一個(gè)組的匹配結(jié)果仍為錯(cuò)誤,則確定所述DNF的匹配結(jié)果為錯(cuò)誤。
全文摘要
本發(fā)明公開了一種初始過濾集的匹配方法及系統(tǒng),該方法包括根據(jù)業(yè)務(wù)點(diǎn)觸發(fā)器的類型從SIP消息中提取相應(yīng)的內(nèi)容,對(duì)組成觸發(fā)點(diǎn)的業(yè)務(wù)點(diǎn)觸發(fā)器進(jìn)行匹配,獲得該業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果;將一個(gè)以上業(yè)務(wù)點(diǎn)觸發(fā)器的匹配結(jié)果按照組合形式進(jìn)行邏輯運(yùn)算,獲得IFC的匹配結(jié)果,其中,如果所述邏輯運(yùn)算中采用AND組合,且存在一個(gè)以上匹配結(jié)果為錯(cuò)誤的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述AND組合的匹配結(jié)果為錯(cuò)誤;如果所述邏輯運(yùn)算中采用OR組合,且存在一個(gè)以上匹配結(jié)果為正確的業(yè)務(wù)點(diǎn)觸發(fā)器,則所述OR組合的匹配結(jié)果為正確。因此,應(yīng)用本發(fā)明,在對(duì)IFC進(jìn)行匹配時(shí)能夠提高匹配效率,縮短匹配時(shí)間。
文檔編號(hào)H04L29/06GK102271135SQ201110234448
公開日2011年12月7日 申請(qǐng)日期2011年8月16日 優(yōu)先權(quán)日2011年8月16日
發(fā)明者姚進(jìn)華, 師亞剛 申請(qǐng)人:大唐移動(dòng)通信設(shè)備有限公司