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