亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種規(guī)則處理方法和設(shè)備與流程

文檔序號(hào):12673587閱讀:228來(lái)源:國(guó)知局
一種規(guī)則處理方法和設(shè)備與流程

本申請(qǐng)涉及互聯(lián)網(wǎng)信息處理技術(shù)領(lǐng)域,尤其涉及一種規(guī)則處理方法和設(shè)備。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的用戶通過(guò)互聯(lián)網(wǎng)平臺(tái)執(zhí)行各種與互聯(lián)網(wǎng)相關(guān)聯(lián)的業(yè)務(wù),例如:網(wǎng)上支付業(yè)務(wù)、網(wǎng)上充值業(yè)務(wù)等等。隨著用戶對(duì)互聯(lián)網(wǎng)平臺(tái)上業(yè)務(wù)需求的不斷增加,互聯(lián)網(wǎng)平臺(tái)在給人們的生產(chǎn)生活帶來(lái)便利的同時(shí),也帶來(lái)了一定的風(fēng)險(xiǎn)。例如:用戶的賬戶信息被非法用戶盜取、用戶的銀行賬號(hào)被非法用戶竊取、非法用戶冒充其他用戶的身份進(jìn)行欺詐等等,這些使得互聯(lián)網(wǎng)平臺(tái)中業(yè)務(wù)執(zhí)行的安全性降低。

為了提高互聯(lián)網(wǎng)平臺(tái)的安全性,提出建立互聯(lián)網(wǎng)的風(fēng)險(xiǎn)監(jiān)控識(shí)別平臺(tái),利用風(fēng)險(xiǎn)監(jiān)控識(shí)別平臺(tái)對(duì)用戶在互聯(lián)網(wǎng)平臺(tái)上的用戶行為進(jìn)行監(jiān)控,通過(guò)監(jiān)控及時(shí)發(fā)現(xiàn)非法用戶的非法行為。

然而互聯(lián)網(wǎng)業(yè)務(wù)越來(lái)越復(fù)雜,導(dǎo)致用戶對(duì)互聯(lián)網(wǎng)平臺(tái)的風(fēng)險(xiǎn)監(jiān)控識(shí)別的力度以及監(jiān)控時(shí)效性的要求越來(lái)越高,進(jìn)而使得用于對(duì)用戶行為進(jìn)行分析的規(guī)則數(shù)量也越來(lái)越多。

經(jīng)研究發(fā)展,目前風(fēng)險(xiǎn)監(jiān)控識(shí)別平臺(tái)在利用規(guī)則分析用戶行為時(shí),每運(yùn)行一條規(guī)則,需要將該規(guī)則中所包含的條件運(yùn)算一次,并根據(jù)不同條件的運(yùn)算結(jié)果得到該規(guī)則的執(zhí)行結(jié)果。在這一運(yùn)算過(guò)程中,規(guī)則所包含的條件數(shù)量越多,條件之間的邏輯運(yùn)算越復(fù)雜,那么規(guī)則運(yùn)行時(shí)間越長(zhǎng),進(jìn)而導(dǎo)致系統(tǒng)資源消耗比較大。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本申請(qǐng)實(shí)施例提供了一種規(guī)則處理方法和設(shè)備,用于解決現(xiàn)有技術(shù)中規(guī)則處理時(shí)間較長(zhǎng)導(dǎo)致系統(tǒng)資源消耗比較大的問(wèn)題。

一種規(guī)則處理方法,包括:

獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,其中,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益;

將所述待處理的規(guī)則解析成一棵二叉分析樹,其中,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件;

根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略;

根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。

一種規(guī)則處理設(shè)備,包括:

獲取單元,用于獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,其中,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益;

解析單元,用于將所述待處理的規(guī)則解析成一棵二叉分析樹,其中,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件;

確定單元,用于根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略;

處理單元,用于根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。

本申請(qǐng)有益效果如下:

本申請(qǐng)實(shí)施例獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益;將所述待處理的規(guī)則解析成一棵二叉分析樹,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件;根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略;根據(jù)所述規(guī)則執(zhí)行策略和短路 邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。這樣,在規(guī)則分析階段,將規(guī)則表達(dá)式轉(zhuǎn)換成為二叉分析樹,并基于該二叉分析樹構(gòu)建規(guī)則執(zhí)行策略,進(jìn)而基于該執(zhí)行策略和短路邏輯運(yùn)算規(guī)則對(duì)于規(guī)則進(jìn)行分析,有效縮短了規(guī)則分析時(shí)間,提高規(guī)則分析效率,進(jìn)而減少規(guī)則分析階段的系統(tǒng)資源消耗,有效提升系統(tǒng)性能。

附圖說(shuō)明

為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本申請(qǐng)實(shí)施例提供的一種規(guī)則處理方法的流程示意圖;

圖2為得到的二叉分析樹的示意圖;

圖3為本申請(qǐng)實(shí)施例提供的一種規(guī)則處理設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了實(shí)現(xiàn)本申請(qǐng)的目的,本申請(qǐng)實(shí)施例提供了一種規(guī)則處理方法和設(shè)備,獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益;將所述待處理的規(guī)則解析成一棵二叉分析樹,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件;根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略;根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。這樣,在規(guī)則分析階段,將規(guī)則表達(dá)式轉(zhuǎn)換成為二叉分析樹,并基于該二叉分析樹構(gòu)建規(guī)則執(zhí)行策略,進(jìn)而基于該執(zhí)行策略和短路邏輯運(yùn)算規(guī)則對(duì)于規(guī)則進(jìn)行分析,有效縮短了規(guī)則分析時(shí)間,提高規(guī)則分析效率,進(jìn)而減少規(guī)則分析階段的系統(tǒng)資源消耗,有效提升 系統(tǒng)性能。

下面結(jié)合說(shuō)明書附圖對(duì)本申請(qǐng)各個(gè)實(shí)施例作進(jìn)一步地詳細(xì)描述。顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。

圖1為本申請(qǐng)實(shí)施例提供的一種規(guī)則處理方法的流程示意圖。所述方法可以如下所示。

步驟101:獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能。

其中,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益。

在步驟101中,本申請(qǐng)實(shí)施例研究的對(duì)象為由若干個(gè)執(zhí)行條件通過(guò)邏輯比較符(例如:and或者or)連接組成的規(guī)則,又可以稱為規(guī)則表達(dá)式。例如:待處理的規(guī)則的表達(dá)式為(A and B)or C and(E or F),其中,A、B、C、D、E和F為該規(guī)則的表達(dá)式中的執(zhí)行條件。那么如何快速地完成對(duì)該規(guī)則的分析是本申請(qǐng)所要解決的問(wèn)題。

首先,獲取一條待處理的規(guī)則;其次,對(duì)于獲取到的待處理的規(guī)則,確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能。

本申請(qǐng)實(shí)施例中所記載的執(zhí)行條件的執(zhí)行效能可以是指表征執(zhí)行條件的運(yùn)行收益,例如:運(yùn)行該執(zhí)行條件所消耗的系統(tǒng)資源、系統(tǒng)執(zhí)行該執(zhí)行條件所消耗的時(shí)間等等,執(zhí)行效能屬于執(zhí)行條件的靜態(tài)屬性,可以在執(zhí)行條件運(yùn)行時(shí)收集得到。運(yùn)行收益不同的執(zhí)行條件,所對(duì)應(yīng)的執(zhí)行效能也不同,一般地,運(yùn)行收益比較大的執(zhí)行條件對(duì)應(yīng)的執(zhí)行效能比較高,例如:執(zhí)行條件在運(yùn)行時(shí)所消耗的系統(tǒng)資源較多,說(shuō)明該執(zhí)行條件的運(yùn)行收益較小,對(duì)應(yīng)的該執(zhí)行條件的執(zhí)行效能較低;反之,執(zhí)行條件在運(yùn)行時(shí)所消耗的系統(tǒng)資源較少,說(shuō)明該執(zhí)行條件的運(yùn)行收益較大,對(duì)應(yīng)的該執(zhí)行條件的執(zhí)行效能較高。

下面以執(zhí)行條件的執(zhí)行時(shí)間為例說(shuō)明如何確定所述待處理的規(guī)則中包含 的每一個(gè)執(zhí)行條件的執(zhí)行效能。

首先,針對(duì)所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件,分別計(jì)算每一個(gè)執(zhí)行條件的平均執(zhí)行時(shí)間;

其次,根據(jù)每一個(gè)執(zhí)行條件的平均執(zhí)行時(shí)間,分別確定各個(gè)所述執(zhí)行條件的執(zhí)行效能。

具體地,針對(duì)所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件,執(zhí)行以下操作:

選擇其中一個(gè)執(zhí)行條件,查找該執(zhí)行條件的歷史執(zhí)行記錄中包含的該執(zhí)行條件每一次執(zhí)行的執(zhí)行時(shí)間;

根據(jù)查找到的執(zhí)行時(shí)間,計(jì)算得到該執(zhí)行條件的平均執(zhí)行時(shí)間;

根據(jù)計(jì)算得到的平均執(zhí)行時(shí)間,得到該執(zhí)行條件的執(zhí)行效能。

需要說(shuō)明的是,平均執(zhí)行時(shí)間較短的執(zhí)行條件對(duì)應(yīng)的執(zhí)行效能高于平均執(zhí)行時(shí)間較長(zhǎng)的執(zhí)行條件對(duì)應(yīng)的執(zhí)行效能。

步驟102:將所述待處理的規(guī)則解析成一棵二叉分析樹。

其中,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件。

在步驟102中,首先,確定所述待處理的規(guī)則對(duì)應(yīng)的規(guī)則表達(dá)式;其次,對(duì)所述規(guī)則表達(dá)式進(jìn)行語(yǔ)法分析,得到針對(duì)所述規(guī)則表達(dá)式生成的二叉分析樹。

其中,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件,兩個(gè)所述葉子節(jié)點(diǎn)對(duì)應(yīng)的非葉子節(jié)點(diǎn)為所述規(guī)則中包含的邏輯運(yùn)算符。

假設(shè)待處理的規(guī)則的表達(dá)式為(A and B)or C and(E or F),其中,A、B、C、D、E和F為該規(guī)則的表達(dá)式中的執(zhí)行條件。按照各個(gè)執(zhí)行條件之間的邏輯運(yùn)算符,分析得到該待處理的規(guī)則對(duì)應(yīng)的二叉分析樹,如圖2所示,為得到的二叉分析樹的示意圖。

從圖2中可以看出,二叉分析樹中的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件,每?jī)蓚€(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的非葉子節(jié)點(diǎn)為所述規(guī)則中包含的邏輯運(yùn)算符。

其中,每一個(gè)非葉子節(jié)點(diǎn)可以包含左子樹和右子樹,而左子樹對(duì)應(yīng)邏輯運(yùn) 算符左側(cè)的表達(dá)式,右子樹對(duì)應(yīng)邏輯運(yùn)算符右側(cè)的表達(dá)式。

需要說(shuō)明的是,本申請(qǐng)實(shí)施例中所記載的二叉分析樹中處于二叉分析樹最低層的節(jié)點(diǎn)被稱為葉子節(jié)點(diǎn),即A、B、C、E和F所對(duì)應(yīng)的節(jié)點(diǎn)被稱為葉子節(jié)點(diǎn),其他節(jié)點(diǎn)被稱為非葉子節(jié)點(diǎn),即A和B所對(duì)應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)and(后續(xù)稱該節(jié)點(diǎn)為節(jié)點(diǎn)1)、E和F所對(duì)應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)or(后續(xù)稱該節(jié)點(diǎn)為節(jié)點(diǎn)2)、or對(duì)應(yīng)的節(jié)點(diǎn)和C所對(duì)應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)and(后續(xù)稱該節(jié)點(diǎn)為節(jié)點(diǎn)3)屬于本申請(qǐng)實(shí)施例中所記載的非葉子節(jié)點(diǎn)。圖2中所示的根節(jié)點(diǎn)也可以稱之為非葉子節(jié)點(diǎn)。

仍以圖2中所示的二叉分析樹為例,A和B所對(duì)應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)and的左子樹為A,右子樹為B;根節(jié)點(diǎn)or的左子樹為(A and B),右子樹為C and(E or F)。

需要說(shuō)明的是,由于規(guī)則的表達(dá)式所使用的邏輯運(yùn)算符是雙目運(yùn)算符,那么針對(duì)該規(guī)則的二叉分析樹為一個(gè)完全二叉樹,即二叉樹中任一個(gè)節(jié)點(diǎn)對(duì)應(yīng)兩個(gè)子節(jié)點(diǎn)或者無(wú)子節(jié)點(diǎn)。

步驟103:根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略。

在步驟103中,針對(duì)所述二叉分析樹中每一個(gè)包含邏輯運(yùn)算符的非葉子節(jié)點(diǎn),分別執(zhí)行以下操作:選擇其中一個(gè)非葉子節(jié)點(diǎn);

從所述非葉子節(jié)點(diǎn)開始向下遍歷所述非葉子節(jié)點(diǎn)對(duì)應(yīng)的葉子節(jié)點(diǎn);并

根據(jù)遍歷到的所述葉子節(jié)點(diǎn)對(duì)應(yīng)的執(zhí)行條件的執(zhí)行效能,選擇執(zhí)行效能大于設(shè)定閾值的葉子節(jié)點(diǎn),建立選擇的葉子節(jié)點(diǎn)與所述非葉子節(jié)點(diǎn)之間的映射關(guān)系;

在得到所述二叉分析樹中與每一個(gè)所述非葉子節(jié)點(diǎn)對(duì)應(yīng)的映射關(guān)系時(shí),根據(jù)所述映射關(guān)系,確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略,其中,所述規(guī)則執(zhí)行策略用于表征針對(duì)每一個(gè)非葉子節(jié)點(diǎn)如何選擇優(yōu)先執(zhí)行的葉子節(jié)點(diǎn)的策略。

具體地,將所述二叉分析樹中包含的所有非葉子節(jié)點(diǎn)依次輸入指定隊(duì)列 中,從指定隊(duì)列的隊(duì)頭讀取一個(gè)非葉子節(jié)點(diǎn),并確定該非葉子節(jié)點(diǎn)對(duì)應(yīng)的所有葉子節(jié)點(diǎn);對(duì)于確定的葉子節(jié)點(diǎn),查找每一個(gè)葉子節(jié)點(diǎn)的執(zhí)行效能,選擇其中執(zhí)行效能大于設(shè)定閾值的葉子節(jié)點(diǎn)作為對(duì)該非葉子節(jié)點(diǎn)執(zhí)行操作時(shí)優(yōu)先執(zhí)行的葉子節(jié)點(diǎn)。

可選地,建立選擇的葉子節(jié)點(diǎn)與該非葉子節(jié)點(diǎn)之間的映射關(guān)系。

例如:選擇的非葉子節(jié)點(diǎn)為節(jié)點(diǎn)3,那么遍歷該二叉分析樹,分別比較C、E和F的執(zhí)行效能,選擇其中執(zhí)行效能最大的節(jié)點(diǎn),假設(shè)C、E和F的執(zhí)行效能的大小關(guān)系依次是:C大于E,E大于F,那么可以建立節(jié)點(diǎn)3與C對(duì)應(yīng)的節(jié)點(diǎn)之間的映射關(guān)系;假設(shè)C、E和F的執(zhí)行效能的大小關(guān)系依次是:C小于E,E大于F,那么可以建立節(jié)點(diǎn)3與E對(duì)應(yīng)的節(jié)點(diǎn)之間的映射關(guān)系。

步驟104:根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。

在步驟104中,根據(jù)所述規(guī)則執(zhí)行策略,分別計(jì)算每一個(gè)非葉子節(jié)點(diǎn)的左子樹的邏輯運(yùn)算結(jié)果/右子樹的邏輯運(yùn)算結(jié)果;根據(jù)短路邏輯運(yùn)算規(guī)則和得到的每一個(gè)非葉子節(jié)點(diǎn)的左子樹的邏輯運(yùn)算結(jié)果/右子樹的邏輯運(yùn)算結(jié)果,對(duì)所述待處理的規(guī)則進(jìn)行邏輯運(yùn)算,得到所述待處理的規(guī)則的計(jì)算結(jié)果。

具體地,針對(duì)其中一個(gè)非葉子節(jié)點(diǎn),首先,根據(jù)所述規(guī)則執(zhí)行策略,確定優(yōu)先執(zhí)行操作的葉子節(jié)點(diǎn),并計(jì)算所述葉子節(jié)點(diǎn)所在的子樹的邏輯運(yùn)算結(jié)果,進(jìn)而根據(jù)分別計(jì)算該非葉子節(jié)點(diǎn)的左子樹的邏輯運(yùn)算結(jié)果和右子樹的邏輯運(yùn)算結(jié)果確定出該非葉子節(jié)點(diǎn)的邏輯運(yùn)算結(jié)果;其次,根據(jù)短路邏輯運(yùn)算規(guī)則,判斷所述非葉子節(jié)點(diǎn)的可達(dá)的父節(jié)點(diǎn);最后,迭代的方式對(duì)待處理的規(guī)則進(jìn)行邏輯計(jì)算,得到所述待處理的規(guī)則的計(jì)算結(jié)果。

其中,根據(jù)短路邏輯運(yùn)算規(guī)則,判斷所述非葉子節(jié)點(diǎn)的可達(dá)的父節(jié)點(diǎn)的方式包括:

當(dāng)非葉子節(jié)點(diǎn)的邏輯運(yùn)算結(jié)果確定時(shí),向上查找給非葉子節(jié)點(diǎn)的父節(jié)點(diǎn),并根據(jù)查找到的父節(jié)點(diǎn)的邏輯運(yùn)算符和該葉子節(jié)點(diǎn)的邏輯運(yùn)算結(jié)果,確定所述 父節(jié)點(diǎn)是否可以通過(guò)短路邏輯運(yùn)算規(guī)則直接得到,若可以直接得到,則確定該父節(jié)點(diǎn)是所述非葉子節(jié)點(diǎn)的可達(dá)的父節(jié)點(diǎn);若不可以直接得到,則確定該父節(jié)點(diǎn)不是所述非葉子節(jié)點(diǎn)的可達(dá)的父節(jié)點(diǎn)。

需要說(shuō)明的是,短路邏輯運(yùn)算規(guī)則是指對(duì)于and節(jié)點(diǎn),若該and節(jié)點(diǎn)的一個(gè)子節(jié)點(diǎn)的值為false,那么該and節(jié)點(diǎn)的邏輯運(yùn)算結(jié)果即可確定;對(duì)于or節(jié)點(diǎn),若該or節(jié)點(diǎn)的一個(gè)子節(jié)點(diǎn)的值為ture,那么該or節(jié)點(diǎn)的邏輯運(yùn)算結(jié)果即可確定。

例如:根據(jù)步驟103中分析確定建立節(jié)點(diǎn)3與E對(duì)應(yīng)的節(jié)點(diǎn)之間的映射關(guān)系,那么針對(duì)節(jié)點(diǎn)3這一非葉子節(jié)點(diǎn),優(yōu)先執(zhí)行E對(duì)應(yīng)的節(jié)點(diǎn)所在的右子樹的邏輯運(yùn)算結(jié)果,即EorF的邏輯運(yùn)算結(jié)果,進(jìn)而計(jì)算C and(E or F),得到節(jié)點(diǎn)3的邏輯運(yùn)算結(jié)果,此時(shí)根據(jù)節(jié)點(diǎn)3的邏輯運(yùn)算結(jié)果和短路邏輯運(yùn)算規(guī)則,判斷節(jié)點(diǎn)3的可達(dá)的父節(jié)點(diǎn),由于圖2中所示的表達(dá)式相對(duì)簡(jiǎn)單,假設(shè)節(jié)點(diǎn)3的邏輯運(yùn)算結(jié)果為false,那么判斷節(jié)點(diǎn)3的父節(jié)點(diǎn)的邏輯運(yùn)算符是否為and,若為and,那么繼續(xù)判斷節(jié)點(diǎn)3的父節(jié)點(diǎn)的父節(jié)點(diǎn)的邏輯運(yùn)算符是否為and,若是,繼續(xù)執(zhí)行判斷操作,直至判斷節(jié)點(diǎn)3的父節(jié)點(diǎn)的父節(jié)點(diǎn)的n級(jí)父節(jié)點(diǎn)的邏輯運(yùn)算符為or,停止判斷,那么此時(shí)可以確定節(jié)點(diǎn)3的父節(jié)點(diǎn)的父節(jié)點(diǎn)的n-1級(jí)父節(jié)點(diǎn)為可達(dá)父節(jié)點(diǎn),在這一判斷過(guò)程中,意味著每一次判斷為是的節(jié)點(diǎn)的左子樹無(wú)需進(jìn)行邏輯運(yùn)算,直接可以確定該節(jié)點(diǎn)的邏輯運(yùn)算結(jié)果為false。

在圖2中,假設(shè)節(jié)點(diǎn)3的邏輯運(yùn)算結(jié)果為false,然而節(jié)點(diǎn)3的父節(jié)點(diǎn)的邏輯運(yùn)算符為or,則意味著需要對(duì)根節(jié)點(diǎn)or的左子樹進(jìn)行邏輯運(yùn)算運(yùn)算,在確定左子樹的邏輯運(yùn)算結(jié)果之后,可以確定該二叉分析樹的邏輯運(yùn)算結(jié)果,即得到待處理規(guī)則的邏輯運(yùn)算結(jié)果。

假設(shè)節(jié)點(diǎn)3的邏輯運(yùn)算結(jié)果為true,由于節(jié)點(diǎn)3的父節(jié)點(diǎn)的邏輯運(yùn)算符為or,根據(jù)短路邏輯運(yùn)算規(guī)則,此時(shí)無(wú)需對(duì)根節(jié)點(diǎn)or的左子樹進(jìn)行邏輯運(yùn)算運(yùn)算,即可得到待處理規(guī)則的邏輯運(yùn)算結(jié)果為true,通過(guò)本申請(qǐng)實(shí)施例所記載的方案,可以簡(jiǎn)化規(guī)則表達(dá)式的運(yùn)算量,提升規(guī)則表達(dá)式的分析效率。

此外,在確定所述非葉子節(jié)點(diǎn)的可達(dá)的父節(jié)點(diǎn)時(shí)還可以采用堆棧的方式進(jìn)行確認(rèn),這里不做詳細(xì)描述。

通過(guò)本申請(qǐng)實(shí)施例提供的規(guī)則處理方案,獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益;將所述待處理的規(guī)則解析成一棵二叉分析樹,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件;根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略;根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。這樣,在規(guī)則分析階段,將規(guī)則表達(dá)式轉(zhuǎn)換成為二叉分析樹,并基于該二叉分析樹構(gòu)建規(guī)則執(zhí)行策略,進(jìn)而基于該執(zhí)行策略和短路邏輯運(yùn)算規(guī)則對(duì)于規(guī)則進(jìn)行分析,有效縮短了規(guī)則分析時(shí)間,提高規(guī)則分析效率,進(jìn)而減少規(guī)則分析階段的系統(tǒng)資源消耗,有效提升系統(tǒng)性能。

圖3為本申請(qǐng)實(shí)施例提供的一種規(guī)則處理設(shè)備的結(jié)構(gòu)示意圖。所述規(guī)則處理設(shè)備包括:獲取單元31、解析單元32、確定單元33和處理單元34,其中:

獲取單元31,用于獲取待處理的規(guī)則,并確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,其中,所述執(zhí)行效能用于表征執(zhí)行條件的運(yùn)行收益;

解析單元32,用于將所述待處理的規(guī)則解析成一棵二叉分析樹,其中,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件;

確定單元33,用于根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略;

處理單元34,用于根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果。

在本申請(qǐng)的另一個(gè)實(shí)施例中,所述解析單元32將所述待處理的規(guī)則解析成一棵二叉分析樹,包括:

確定所述待處理的規(guī)則對(duì)應(yīng)的規(guī)則表達(dá)式;

對(duì)所述規(guī)則表達(dá)式進(jìn)行語(yǔ)法分析,得到針對(duì)所述規(guī)則表達(dá)式生成的二叉分析樹,其中,所述二叉分析樹的葉子節(jié)點(diǎn)為所述規(guī)則中包含的執(zhí)行條件,兩個(gè)所述葉子節(jié)點(diǎn)對(duì)應(yīng)的非葉子節(jié)點(diǎn)為所述規(guī)則中包含的邏輯運(yùn)算符。

在本申請(qǐng)的另一個(gè)實(shí)施例中,所述獲取單元31確定所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件的執(zhí)行效能,包括:

針對(duì)所述待處理的規(guī)則中包含的每一個(gè)執(zhí)行條件,分別計(jì)算每一個(gè)執(zhí)行條件的平均執(zhí)行時(shí)間;

根據(jù)每一個(gè)執(zhí)行條件的平均執(zhí)行時(shí)間,分別確定各個(gè)所述執(zhí)行條件的執(zhí)行效能。

在本申請(qǐng)的另一個(gè)實(shí)施例中,所述確定單元33根據(jù)每一個(gè)所述執(zhí)行條件的執(zhí)行效能和所述二叉分析樹的結(jié)構(gòu),確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略,包括:

針對(duì)所述二叉分析樹中每一個(gè)包含邏輯運(yùn)算符的非葉子節(jié)點(diǎn),分別執(zhí)行以下操作:選擇其中一個(gè)非葉子節(jié)點(diǎn);

從所述非葉子節(jié)點(diǎn)開始向下遍歷所述非葉子節(jié)點(diǎn)對(duì)應(yīng)的葉子節(jié)點(diǎn);并

根據(jù)遍歷到的所述葉子節(jié)點(diǎn)對(duì)應(yīng)的執(zhí)行條件的執(zhí)行效能,選擇執(zhí)行效能大于設(shè)定閾值的葉子節(jié)點(diǎn),建立選擇的葉子節(jié)點(diǎn)與所述非葉子節(jié)點(diǎn)之間的映射關(guān)系;

在得到所述二叉分析樹中與每一個(gè)所述非葉子節(jié)點(diǎn)對(duì)應(yīng)的映射關(guān)系時(shí),根據(jù)所述映射關(guān)系,確定所述待處理的規(guī)則的規(guī)則執(zhí)行策略,其中,所述規(guī)則執(zhí)行策略用于表征針對(duì)每一個(gè)非葉子節(jié)點(diǎn)如何選擇優(yōu)先執(zhí)行的葉子節(jié)點(diǎn)的策略。

在本申請(qǐng)的另一個(gè)實(shí)施例中,所述處理單元34根據(jù)所述規(guī)則執(zhí)行策略和短路邏輯運(yùn)算規(guī)則,對(duì)所述待處理的規(guī)則進(jìn)行分析,得到分析結(jié)果,包括:

根據(jù)所述規(guī)則執(zhí)行策略,分別計(jì)算每一個(gè)非葉子節(jié)點(diǎn)的左子樹的邏輯運(yùn)算結(jié)果/右子樹的邏輯運(yùn)算結(jié)果;

根據(jù)短路邏輯運(yùn)算規(guī)則和得到的每一個(gè)非葉子節(jié)點(diǎn)的左子樹的邏輯運(yùn)算 結(jié)果/右子樹的邏輯運(yùn)算結(jié)果,對(duì)所述待處理的規(guī)則進(jìn)行邏輯運(yùn)算,得到所述待處理的規(guī)則的計(jì)算結(jié)果。

需要說(shuō)明的是,本申請(qǐng)實(shí)施例提供的規(guī)則處理設(shè)備可以通過(guò)硬件方式實(shí)現(xiàn),也可以通過(guò)軟件方式實(shí)現(xiàn),這里不做具體限定。

本領(lǐng)域的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、裝置(設(shè)備)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、裝置(設(shè)備)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要 求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1