專利名稱:一種多策略-多規(guī)則檢測方案的優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)容檢測領(lǐng)域,尤其涉及一種多策略-多規(guī)則檢測方案的優(yōu)化方法。
背景技術(shù):
在使用多個(gè)含有多條規(guī)則及邏輯關(guān)系的策略對一段內(nèi)容進(jìn)行檢測時(shí),現(xiàn)有技術(shù)有兩種方法分別是I.使用每個(gè)策略分別對待測內(nèi)容進(jìn)行檢測,然后查看是否檢測到滿足檢測策略中的規(guī)則條件的內(nèi)容。 2.使用每個(gè)策略中的規(guī)則分別對待檢測內(nèi)容進(jìn)行檢測,然后通過邏輯關(guān)系判斷是否檢測到滿足各檢測規(guī)則的條件及他們之間邏輯關(guān)系的內(nèi)容?,F(xiàn)有的檢測技術(shù)由于需要應(yīng)用每條策略中的所有規(guī)則對待檢測內(nèi)容進(jìn)行檢測,所以此種檢測方法效率是極其低下的。尤其是在大量不同策略中存在著相同的規(guī)則的情形下,極大的增加了時(shí)間和空間的消耗。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供一種多策略-多規(guī)則檢測方案的優(yōu)化方法本發(fā)明提供的多策略-多規(guī)則檢測方案的優(yōu)化方法,包括以下步驟SI,將策略中的所有規(guī)則加權(quán)歸并,得到所述規(guī)則的權(quán)重值;S2,根據(jù)SI得到的所述權(quán)重值構(gòu)造最優(yōu)檢測流程圖;S3,根據(jù)S2得到的所述最優(yōu)檢測流程圖實(shí)施檢測。優(yōu)選的,SI具體為把所有所述策略中的所有規(guī)則進(jìn)行歸并,并分別記錄引用同一規(guī)則的所述策略的數(shù)量,將所述數(shù)量值作為該規(guī)則的權(quán)重值。優(yōu)選的,S2具體為,為SI加權(quán)歸并后的每條規(guī)則分別創(chuàng)建實(shí)例,在所述最優(yōu)檢測流程圖中創(chuàng)建規(guī)則節(jié)點(diǎn),所述規(guī)則節(jié)點(diǎn)均為相應(yīng)所述實(shí)例的引用,將每個(gè)所述規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則的權(quán)重值及邏輯關(guān)系賦予該規(guī)則節(jié)點(diǎn),使所述規(guī)則節(jié)點(diǎn)成為所述實(shí)例代表的規(guī)則的映射,所述規(guī)則節(jié)點(diǎn)以其所引用的實(shí)例代表的規(guī)則的權(quán)重值和邏輯關(guān)系為排列依據(jù)排列于所述最優(yōu)檢測流程圖上,構(gòu)造所述最優(yōu)檢測流程圖。優(yōu)選的,S 2包括以下步驟S21,在每個(gè)所述實(shí)例中設(shè)置有檢測狀態(tài)標(biāo)記,所述檢測狀態(tài)標(biāo)記用于表示待檢測內(nèi)容是否被相應(yīng)規(guī)則檢測過;S22,將權(quán)重值最高的規(guī)則節(jié)點(diǎn)置于所述最優(yōu)檢測流程圖的左上角;將邏輯關(guān)系為邏輯或的規(guī)則節(jié)點(diǎn)按照所述權(quán)重值由高到低縱向由上向下依次排列于所述最優(yōu)檢測流程圖上;將邏輯關(guān)系為邏輯與的規(guī)則節(jié)點(diǎn)按照所述權(quán)重值由高到低橫向由左向右依次排列于所述最優(yōu)檢測流程圖上;在排列過程中的特殊過程處理若權(quán)重值最高的規(guī)則節(jié)點(diǎn)沒有出現(xiàn)在第一列中,則在保證將所述權(quán)重值最高的規(guī)則節(jié)點(diǎn)插入后第一列規(guī)則節(jié)點(diǎn)的權(quán)重值依然符合由高到低縱向由上向下依次排列的前提下,將所述權(quán)重值最高的規(guī)則節(jié)點(diǎn)插入第一列中的相應(yīng)位置;若待排列規(guī)則節(jié)點(diǎn)的位置已被占用,則比較待排列規(guī)則節(jié)點(diǎn)的權(quán)重值和占位規(guī)則節(jié)點(diǎn)的權(quán)重值,如果占位規(guī)則節(jié)點(diǎn)的權(quán)重值大于或等于待排列規(guī)則節(jié)點(diǎn)的權(quán)重值,則在占位規(guī)則節(jié)點(diǎn)位置正下方插入一行,將待排列規(guī)則節(jié)點(diǎn)置入被占用位置的正下方,用有向線從上到下連接兩個(gè)節(jié)點(diǎn),并標(biāo)記為“不滿足”,然后從下側(cè)規(guī)則節(jié)點(diǎn)處根據(jù)權(quán)重值從大到小繼續(xù)向右依次排列;如果占位規(guī)則節(jié)點(diǎn)的權(quán)重小于待排列規(guī)則節(jié)點(diǎn)的權(quán)重值,則將占位規(guī)則節(jié)點(diǎn)及其右側(cè)所有規(guī)則節(jié)點(diǎn)下移到新的一行中,并將待排列規(guī)則節(jié)點(diǎn)置入原占位規(guī)則節(jié)點(diǎn)的位置,用有向線從上到下連接兩個(gè)規(guī)則節(jié)點(diǎn),并標(biāo)記為“不滿足”,然后從上側(cè)節(jié)點(diǎn)處根據(jù)規(guī)則繼續(xù)向右依次排列規(guī)則節(jié)點(diǎn);特殊過程處理過后,應(yīng)保證當(dāng)前已存在的有向線指向的規(guī)則節(jié)點(diǎn)的權(quán)重值小于或等于有向線起始規(guī)則節(jié)點(diǎn)的權(quán)重值;S23,用有向線從左到右,依次連接每兩個(gè)相鄰的規(guī)則節(jié)點(diǎn),并標(biāo)記為“滿足”; S24,用有向線從上到下,依次連接每個(gè)規(guī)則節(jié)點(diǎn)和相鄰下一行中第一列的規(guī)則節(jié)點(diǎn),并標(biāo)記為“不滿足”;此過程不包括在S22中已構(gòu)造出的有向線所屬的起始規(guī)則節(jié)點(diǎn);S25,根據(jù)每條所述策略中規(guī)則之間的邏輯關(guān)系,遍歷每條橫向有向線上的規(guī)則節(jié)點(diǎn),將符合某條策略時(shí)所述有向線指向的規(guī)則節(jié)點(diǎn)標(biāo)記為“符合策略”;如果某行中最右端的規(guī)則節(jié)點(diǎn)剛好符合某策略,那么在其右端構(gòu)造一個(gè)虛規(guī)則節(jié)點(diǎn),并將其標(biāo)記為“符合策略”;S26,最優(yōu)檢測流程圖構(gòu)造完畢。優(yōu)選的,S3具體為根據(jù)S2中構(gòu)造的最優(yōu)檢測流程圖對待檢測內(nèi)容進(jìn)行檢測。優(yōu)選的,S3包括以下步驟S31,將所述最優(yōu)檢測流程圖左上角的所述規(guī)則節(jié)點(diǎn)設(shè)為檢測起始點(diǎn);S32,沿橫向有向線自左向右依次用所述有向線上的規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則檢測所述待檢測內(nèi)容,并將所述實(shí)例中的檢測狀態(tài)標(biāo)記置為已檢測過;S33,檢測過程中,首先看該規(guī)則節(jié)點(diǎn)是否已被標(biāo)記為“符合策略”,如果是,則報(bào)告檢測結(jié)果并退出檢測流程;如果否,則看被檢測內(nèi)容是否滿足當(dāng)前規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則,并根據(jù)檢測結(jié)果按照S2構(gòu)造的最優(yōu)檢測流程圖中的有向線依次使用規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則對被檢測內(nèi)容進(jìn)行檢測,直到所述最優(yōu)檢測流程圖的最后一行最右端的規(guī)則節(jié)點(diǎn)。本發(fā)明實(shí)現(xiàn)的有益效果是I.本方法首先對各個(gè)策略中的所有規(guī)則進(jìn)行歸并,篩選出所有策略中不重復(fù)的規(guī)貝U,并根據(jù)規(guī)則被策略引用的數(shù)量來確定該規(guī)則的權(quán)重,然后根據(jù)策略從權(quán)重最高的規(guī)則開始構(gòu)建最優(yōu)檢測流程圖,后邊的整個(gè)檢測過程都按照該最優(yōu)檢測流程圖中的流程進(jìn)行,以實(shí)現(xiàn)最優(yōu)且快速的檢測。2.本發(fā)明優(yōu)化了使用含有一個(gè)或多個(gè)規(guī)則的策略檢測內(nèi)容時(shí)的時(shí)間和空間消耗,并通過先檢測大概率事件來削減檢測時(shí)的開銷,不僅提升了檢測程序的性能同時(shí)減少了內(nèi)存空間消耗,另外,在其他領(lǐng)域,如工作流程規(guī)劃等方面也可以應(yīng)用以優(yōu)化流程。3.本發(fā)明不僅優(yōu)化了計(jì)算機(jī)程序中檢測的機(jī)制,同時(shí)由于本發(fā)明的通用性,它還可以對任意可以被拆分為多個(gè)步驟和模塊的工作流程進(jìn)行快速有效的優(yōu)化,從而達(dá)到最高的工作效率。
圖I是策略與其中的規(guī)則關(guān)系示意圖;圖2是現(xiàn)有技術(shù)檢測方法檢測流程示意圖;圖3是依照本發(fā)明的揭示的方法優(yōu)化后的最優(yōu)檢測流程示意圖;圖4是應(yīng)用實(shí)例中構(gòu)造的最優(yōu)檢測流程圖。
具體實(shí)施方式
以下結(jié)合附圖詳述本發(fā)明本發(fā)明提供的多策略-多規(guī)則檢測方案的優(yōu)化方法,包括步驟S1,將策略中的所有規(guī)則加權(quán)歸并,得到所述規(guī)則的權(quán)重值;S2,根據(jù)SI得到的所述權(quán)重值構(gòu)造最優(yōu)檢測流程圖;S3,根據(jù)S2得到的所述最優(yōu)檢測流程圖實(shí)施檢測。SI具體為把所有所述策略中的所有規(guī)則進(jìn)行歸并,并分別記錄引用同一規(guī)則的所述策略的數(shù)量,將所述數(shù)量值作為該規(guī)則的權(quán)重值。S2具體為,為SI加權(quán)歸并后的每條規(guī)則分別創(chuàng)建實(shí)例,在所述最優(yōu)檢測流程圖中創(chuàng)建規(guī)則節(jié)點(diǎn),所述規(guī)則節(jié)點(diǎn)均為相應(yīng)所述實(shí)例的引用,將每個(gè)所述規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則的權(quán)重值及邏輯關(guān)系賦予該規(guī)則節(jié)點(diǎn),使所述規(guī)則節(jié)點(diǎn)成為所述實(shí)例代表的規(guī)則的映射,所述規(guī)則節(jié)點(diǎn)以其所引用的實(shí)例代表的規(guī)則的權(quán)重值和邏輯關(guān)系為排列依據(jù)排列于所述最優(yōu)檢測流程圖上,構(gòu)造所述最優(yōu)檢測流程圖。S2包括步驟S21,在每個(gè)所述實(shí)例中設(shè)置有檢測狀態(tài)標(biāo)記,所述檢測狀態(tài)標(biāo)記用于表示待檢測內(nèi)容是否被相應(yīng)規(guī)則檢測過;S22,將權(quán)重值最高的規(guī)則節(jié)點(diǎn)置于所述最優(yōu)檢測流程圖的左上角;將邏輯關(guān)系為邏輯或的規(guī)則節(jié)點(diǎn)按照所述權(quán)重值由高到低縱向由上向下依次排列于所述最優(yōu)檢測流程圖上;將邏輯關(guān)系為邏輯與的規(guī)則節(jié)點(diǎn)按照所述權(quán)重值由高到低橫向由左向右依次排列于所述最優(yōu)檢測流程圖上;在排列過程中的特殊過程處理若權(quán)重值最高的規(guī)則節(jié)點(diǎn)沒有出現(xiàn)在第一列中,則在保證將所述權(quán)重值最高的規(guī)則節(jié)點(diǎn)插入后第一列規(guī)則節(jié)點(diǎn)的權(quán)重值依然符合由高到低縱向由上向下依次排列的前提下,將所述權(quán)重值最高的規(guī)則節(jié)點(diǎn)插入第一列中的相應(yīng)位置;若待排列規(guī)則節(jié)點(diǎn)的位置已被占用,則比較待排列規(guī)則節(jié)點(diǎn)的權(quán)重值和占位規(guī)則節(jié)點(diǎn)的權(quán)重值,如果占位規(guī)則節(jié)點(diǎn)的權(quán)重值大于或等于待排列規(guī)則節(jié)點(diǎn)的權(quán)重值,則在占位規(guī)則節(jié)點(diǎn)位置正下方插入一行,將待排列規(guī)則節(jié)點(diǎn)置入被占用位置的正下方,用有向線從上到下連接兩個(gè)節(jié)點(diǎn),并標(biāo)記為“不滿足”,然后從下側(cè)規(guī)則節(jié)點(diǎn)處根據(jù)權(quán)重值從大到小繼續(xù)向右依次排列;如果占位規(guī)則節(jié)點(diǎn)的權(quán)重小于待排列規(guī)則節(jié)點(diǎn)的權(quán)重值,則將占位規(guī)則節(jié)點(diǎn)及其右側(cè)所有規(guī)則節(jié)點(diǎn)下移到新的一行中,并將待排列規(guī)則節(jié)點(diǎn)置入原占位規(guī)則節(jié)點(diǎn)的位置,用有向線從上到下連接兩個(gè)規(guī)則節(jié)點(diǎn),并標(biāo)記為“不滿足”,然后從上側(cè)節(jié)點(diǎn)處根據(jù)規(guī)則繼續(xù)向右依次排列規(guī)則節(jié)點(diǎn);特殊過程處理過后,應(yīng)保證當(dāng)前已存在的有向線指向的規(guī)則節(jié)點(diǎn)的權(quán)重值小于或等于有向線起始規(guī)則節(jié)點(diǎn)的權(quán)重值;
S23,用有向線從左到右,依次連接每兩個(gè)相鄰的規(guī)則節(jié)點(diǎn),并標(biāo)記為“滿足” ;S24,用有向線從上到下,依次連接每個(gè)規(guī)則節(jié)點(diǎn)和相鄰下一行中第一列的規(guī)則節(jié)點(diǎn),并標(biāo)記為“不滿足”;此過程不包括在S22中已構(gòu)造出的有向線所屬的起始規(guī)則節(jié)點(diǎn);S25,根據(jù)每條所述策略中規(guī)則之間的邏輯關(guān)系,遍歷每條橫向有向線上的規(guī)則節(jié)點(diǎn),將符合某條策略時(shí)所述有向線指向的規(guī)則節(jié)點(diǎn)標(biāo)記為“符合策略”;如果某行中最右端的規(guī)則節(jié)點(diǎn)剛好符合某策略,那么在其右端構(gòu)造一個(gè)虛規(guī)則節(jié)點(diǎn),并將其標(biāo)記為“符合策略” ;S26,最優(yōu)檢測流程圖構(gòu)造完畢。S3具體為根據(jù)S2中構(gòu)造的最優(yōu)檢測流程圖對待檢測內(nèi)容進(jìn)行檢測。S3包括步驟S31,將所述最優(yōu)檢測流程圖左上角的所述規(guī)則節(jié)點(diǎn)設(shè)為檢測起始點(diǎn);S32,沿橫向有向線自左向右依次用所述有向線上的規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則檢測所述待檢測內(nèi)容,并將所述實(shí)例中的檢測狀態(tài)標(biāo)記置為已檢測過;S33,檢測過程中,首先看該規(guī)則節(jié)點(diǎn)是否已被標(biāo)記為“符合策略”,如果是,則報(bào)告檢測結(jié)果并退出檢測流程;如果否,則看被檢測內(nèi)容是否滿足當(dāng)前規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則,并根據(jù)檢測結(jié)果按照S2構(gòu)造的最優(yōu)檢測流程圖中的有向線依次使用規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則對被檢測內(nèi)容進(jìn)行檢測,直到所述最優(yōu)檢測流程圖的最后一行最右端的規(guī)則節(jié)點(diǎn)。本發(fā)明是在多策略,每條策略含有多個(gè)規(guī)則,各個(gè)規(guī)則之間有一定邏輯關(guān)系,不同策略中可能含有重復(fù)規(guī)則的情況下對檢測流程進(jìn)行優(yōu)化后再進(jìn)行檢測,不采用現(xiàn)有技術(shù)對待檢測內(nèi)容進(jìn)行遍歷式檢測,而通過尋找出一條最優(yōu)的檢測方法,然后按照此最優(yōu)檢測方法進(jìn)行快速檢測的方法。本發(fā)明首先對各個(gè)策略中的所有規(guī)則進(jìn)行歸并,篩選出所有策略中不重復(fù)的規(guī)貝U,并根據(jù)規(guī)則被策略的引用數(shù)量來確定該規(guī)則的權(quán)重,然后根據(jù)策略從權(quán)重最高的規(guī)則開始構(gòu)建一張最優(yōu)檢測流程圖,整個(gè)檢測過程按照該最優(yōu)檢測流程圖中的流程進(jìn)行,以實(shí)現(xiàn)最優(yōu)且快速的檢測。 如圖1,目前有3條策略,其中策略2中的所有規(guī)則及邏輯關(guān)系在策略I中也有。假設(shè)現(xiàn)在有內(nèi)容C待檢測。如果按照現(xiàn)有技術(shù)的檢測流程(如圖2所示),如果待檢測內(nèi)容C可以滿足規(guī)則2和規(guī)則3,那么按照現(xiàn)有技術(shù)的檢測流程將會(huì)執(zhí)行4步操作,即(不滿足)規(guī)則I- > (滿足)規(guī)則2- > (滿足)規(guī)則3- >(報(bào)告)策略2被觸發(fā)。而按照本發(fā)明優(yōu)化后的檢測流程(如圖3所示)只需要3步操作,即(滿足)規(guī)則2- > (滿足)規(guī)則3- > (報(bào)告)策略2被觸發(fā)。就可完成對待測內(nèi)容的檢測。本發(fā)明優(yōu)化了這種使用含有一個(gè)或多個(gè)規(guī)則的策略檢測內(nèi)容時(shí)的時(shí)間和空間消耗,并通過先檢測大概率事件來削減檢測時(shí)的開銷,不僅提升了檢測程序的性能同時(shí)減少了內(nèi)存空間消耗,另外,在其他領(lǐng)域,如工作流程規(guī)劃等方面也可以應(yīng)用以優(yōu)化流程。比如,某公司生產(chǎn)零件A,B,C和D,其中A和C可以組裝成為一個(gè)產(chǎn)品P1,B,C和D可以組裝成為另一個(gè)產(chǎn)品P2。那么在進(jìn)行檢驗(yàn)時(shí)可以先對零件C進(jìn)行檢測。如果不合格,那么兩款產(chǎn)品都不用繼續(xù)檢查下去。因?yàn)楸厝粌煽町a(chǎn)品都有問題。本發(fā)明不僅優(yōu)化了計(jì)算機(jī)程序中檢測的機(jī)制,同時(shí)由于方法的通用性,它還可以對任意可以被拆分為多個(gè)步驟和模塊的工作流程進(jìn)行快速有效的優(yōu)化。從而達(dá)到最高的工作效率。下面以使用本發(fā)明提供的技術(shù)方案對一段文本內(nèi)容進(jìn)行檢測為例詳細(xì)說明本技術(shù)方案的實(shí)施過程根據(jù)實(shí)際檢測需要制定如下十條規(guī)則規(guī)則I :文本中含有身份證號碼規(guī)則2 :文本中含有以holystone, com. cn為后綴的郵件地址規(guī)則3 :文本中含有字符“公司”規(guī)則4 :文本中含有字符“合同”規(guī)則5 :文本中含有字符“工資”規(guī)則6 :文本中含有字符“資料”
規(guī)則7 :文本中含有字符“標(biāo)書”規(guī)則8 :文本中含有字符“競標(biāo)”規(guī)則9 :文本中含有以“http://”開頭的文字規(guī)則10 :文本中含有以“ftp://”開頭的文字根據(jù)實(shí)際檢測需要制定七條策略,每條策略所包含的規(guī)則及規(guī)則間的邏輯關(guān)系如下“&”表示邏輯與,“ I ”表示邏輯或策略I:規(guī)則1&規(guī)則5策略2 :規(guī)則3&規(guī)則4&規(guī)則6策略3 :規(guī)則1&規(guī)則2&規(guī)則3&規(guī)則6策略4:規(guī)則7 I規(guī)則8策略5:規(guī)則3&規(guī)則7策略6 :規(guī)則9 I規(guī)則10策略7:規(guī)則7首先為10 個(gè)規(guī)則創(chuàng)建 10 個(gè)實(shí)例 II,I 2,I 3,I 4,15,16,17,18,19,IlO ;對于10個(gè)規(guī)則,他們的權(quán)重分別為2,1,3,1,1,2,2,1,1,1 ;根據(jù)權(quán)重從大到小排序后的實(shí)例為13,II,16,17,12,14,15,18,19,IlO ;引用相應(yīng)實(shí)例創(chuàng)建規(guī)則節(jié)點(diǎn)N1,N2,N 3,N4,N5,N6,N7,N8,N9,NlO ;構(gòu)造得到如圖4所示最優(yōu)檢測流程圖;依照圖4所示最優(yōu)檢測流程圖對待檢測文本內(nèi)容進(jìn)行檢測。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種多策略-多規(guī)則檢測方案的優(yōu)化方法,其特征在于,包括以下步驟 SI,將策略中的所有規(guī)則加權(quán)歸并,得到所述規(guī)則的權(quán)重值; S2,根據(jù)SI得到的所述權(quán)重值構(gòu)造最優(yōu)檢測流程圖; S3,根據(jù)S2得到的所述最優(yōu)檢測流程圖實(shí)施檢測。
2.根據(jù)權(quán)利要求I所述的多策略-多規(guī)則檢測優(yōu)化方法,其特征在于,SI具體為把所有所述策略中的所有規(guī)則進(jìn)行歸并,并分別記錄引用同一規(guī)則的所述策略的數(shù)量,將所述數(shù)量值作為該規(guī)則的權(quán)重值。
3.根據(jù)權(quán)利要求I所述的多策略-多規(guī)則檢測優(yōu)化方法,其特征在于,S2具體為,為SI加權(quán)歸并后的每條規(guī)則分別創(chuàng)建實(shí)例,在所述最優(yōu)檢測流程圖中創(chuàng)建規(guī)則節(jié)點(diǎn),所述規(guī)貝U節(jié)點(diǎn)均為相應(yīng)所述實(shí)例的引用,將每個(gè)所述規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則的權(quán)重值及邏輯關(guān)系賦予該規(guī)則節(jié)點(diǎn),使所述規(guī)則節(jié)點(diǎn)成為所述實(shí)例代表的規(guī)則的映射,所述規(guī)則節(jié)點(diǎn)以其所引用的實(shí)例代表的規(guī)則的權(quán)重值和邏輯關(guān)系為排列依據(jù)排列于所述最優(yōu)檢測流程圖上,構(gòu)造所述最優(yōu)檢測流程圖。
4.根據(jù)權(quán)利要求3所述的多策略-多規(guī)則檢測優(yōu)化方法,其特征在于,S2包括以下步驟 S21,在每個(gè)所述實(shí)例中設(shè)置有檢測狀態(tài)標(biāo)記,所述檢測狀態(tài)標(biāo)記用于表示待檢測內(nèi)容是否被相應(yīng)規(guī)則檢測過; S22,將權(quán)重值最高的規(guī)則節(jié)點(diǎn)置于所述最優(yōu)檢測流程圖的左上角;將邏輯關(guān)系為邏輯或的規(guī)則節(jié)點(diǎn)按照所述權(quán)重值由高到低縱向由上向下依次排列于所述最優(yōu)檢測流程圖上;將邏輯關(guān)系為邏輯與的規(guī)則節(jié)點(diǎn)按照所述權(quán)重值由高到低橫向由左向右依次排列于所述最優(yōu)檢測流程圖上; 在排列過程中的特殊過程處理若權(quán)重值最高的規(guī)則節(jié)點(diǎn)沒有出現(xiàn)在第一列中,則在保證將所述權(quán)重值最高的規(guī)則節(jié)點(diǎn)插入后第一列規(guī)則節(jié)點(diǎn)的權(quán)重值依然符合由高到低縱向由上向下依次排列的前提下,將所述權(quán)重值最高的規(guī)則節(jié)點(diǎn)插入第一列中的相應(yīng)位置;若待排列規(guī)則節(jié)點(diǎn)的位置已被占用,則比較待排列規(guī)則節(jié)點(diǎn)的權(quán)重值和占位規(guī)則節(jié)點(diǎn)的權(quán)重值,如果占位規(guī)則節(jié)點(diǎn)的權(quán)重值大于或等于待排列規(guī)則節(jié)點(diǎn)的權(quán)重值,則在占位規(guī)則節(jié)點(diǎn)位置正下方插入一行,將待排列規(guī)則節(jié)點(diǎn)置入被占用位置的正下方,用有向線從上到下連接兩個(gè)節(jié)點(diǎn),并標(biāo)記為“不滿足”,然后從下側(cè)規(guī)則節(jié)點(diǎn)處根據(jù)權(quán)重值從大到小繼續(xù)向右依次排列;如果占位規(guī)則節(jié)點(diǎn)的權(quán)重小于待排列規(guī)則節(jié)點(diǎn)的權(quán)重值,則將占位規(guī)則節(jié)點(diǎn)及其右側(cè)所有規(guī)則節(jié)點(diǎn)下移到新的一行中,并將待排列規(guī)則節(jié)點(diǎn)置入原占位規(guī)則節(jié)點(diǎn)的位置,用有向線從上到下連接兩個(gè)規(guī)則節(jié)點(diǎn),并標(biāo)記為“不滿足”,然后從上側(cè)節(jié)點(diǎn)處根據(jù)規(guī)則繼續(xù)向右依次排列規(guī)則節(jié)點(diǎn); 特殊過程處理過后,應(yīng)保證當(dāng)前已存在的有向線指向的規(guī)則節(jié)點(diǎn)的權(quán)重值小于或等于有向線起始規(guī)則節(jié)點(diǎn)的權(quán)重值; S23,用有向線從左到右,依次連接每兩個(gè)相鄰的規(guī)則節(jié)點(diǎn),并標(biāo)記為“滿足”; S24,用有向線從上到下,依次連接每個(gè)規(guī)則節(jié)點(diǎn)和相鄰下一行中第一列的規(guī)則節(jié)點(diǎn),并標(biāo)記為“不滿足”;此過程不包括在S22中已構(gòu)造出的有向線所屬的起始規(guī)則節(jié)點(diǎn); S25,根據(jù)每條所述策略中規(guī)則之間的邏輯關(guān)系,遍歷每條橫向有向線上的規(guī)則節(jié)點(diǎn),將符合某條策略時(shí)所述有向線指向的規(guī)則節(jié)點(diǎn)標(biāo)記為“符合策略”;如果某行中最右端的規(guī)則節(jié)點(diǎn)剛好符合某策略,那么在其右端構(gòu)造一個(gè)虛規(guī)則節(jié)點(diǎn),并將其標(biāo)記為“符合策略”; S26,最優(yōu)檢測流程圖構(gòu)造完畢。
5.根據(jù)權(quán)利要求I所述的多策略-多規(guī)則檢測優(yōu)化方法,其特征在于,S3具體為根據(jù)S2中構(gòu)造的最優(yōu)檢測流程圖對待檢測內(nèi)容進(jìn)行檢測。
6.根據(jù)權(quán)利要求5所述的多策略-多規(guī)則檢測優(yōu)化方法,其特征在于,S3包括以下步驟 S31,將所述最優(yōu)檢測流程圖左上角的所述規(guī)則節(jié)點(diǎn)設(shè)為檢測起始點(diǎn); S32,沿橫向有向線自左向右依次用所述有向線上的規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則檢測所述待檢測內(nèi)容,并將所述實(shí)例中的檢測狀態(tài)標(biāo)記置為已檢測過; S33,檢測過程中,首先看該規(guī)則節(jié)點(diǎn)是否已被標(biāo)記為“符合策略”,如果是,則報(bào)告檢測結(jié)果并退出檢測流程;如果否,則看被檢測內(nèi)容是否滿足當(dāng)前規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則,并根據(jù)檢測結(jié)果按照S2構(gòu)造的最優(yōu)檢測流程圖中的有向線依次使用規(guī)則節(jié)點(diǎn)所引用的實(shí)例代表的規(guī)則對被檢測內(nèi)容進(jìn)行檢測,直到所述最優(yōu)檢測流程圖的最后一行最右端的規(guī)則節(jié)點(diǎn)。
全文摘要
本發(fā)明提供了一種多策略-多規(guī)則檢測方案的優(yōu)化方法,包括步驟S1,將策略中的所有規(guī)則加權(quán)歸并,得到所述規(guī)則的權(quán)重值;S2,根據(jù)S1得到的所述權(quán)重值構(gòu)造最優(yōu)檢測流程圖;S3,根據(jù)S2得到的所述最優(yōu)檢測流程圖實(shí)施檢測。本發(fā)明優(yōu)化了使用含有一個(gè)或多個(gè)規(guī)則的策略檢測內(nèi)容時(shí)的時(shí)間和空間消耗,并通過先檢測大概率事件來削減檢測時(shí)的開銷,不僅提升了檢測程序的性能同時(shí)減少了內(nèi)存空間消耗,另外,在其他領(lǐng)域,如工作流程規(guī)劃等方面也可以應(yīng)用以優(yōu)化流程。
文檔編號G06Q10/04GK102708420SQ201210105609
公開日2012年10月3日 申請日期2012年4月12日 優(yōu)先權(quán)日2012年4月12日
發(fā)明者丁世杰, 劉水 申請人:北京合力思騰科技股份有限公司