一種提供決策信息的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種提供決策信息的方法和裝置。
【背景技術(shù)】
[0002]規(guī)則引擎因其靈活性(規(guī)則定制者能基于業(yè)務(wù)程序之外改變程序執(zhí)行邏輯),能節(jié)約軟件研發(fā)成本,降低因開發(fā)周期相對修改規(guī)則更長、耗費(fèi)人力更多而導(dǎo)致的各種風(fēng)險(xiǎn),受到電商研發(fā)領(lǐng)域的重視。
[0003]規(guī)則引擎是專家系統(tǒng)的一個(gè)分支,作為人工智能的一個(gè)分支,它模仿人類的推理方式,運(yùn)用試探方式進(jìn)行推理,并使用人類能理解的術(shù)語解釋和證明它的推理結(jié)論。Rete算法目前作為多數(shù)規(guī)則擎的規(guī)則匹配算法,在1979年由Charles Forgy博士在一篇論文中發(fā)表。
[0004]目前,主流的工作流系統(tǒng)有JBoss Drools Expert, Visual Rules, ILOG等,其中Drools (下面對JBoss Drools Expert都簡稱為Drools)是開源的。Drools規(guī)則引擎包括三部分:規(guī)則庫、匹配引擎和事實(shí)數(shù)據(jù);其中推理引擎包括三部分:模式匹配器、執(zhí)行計(jì)劃和執(zhí)行引擎;各連接部件的工作步驟:
[0005]1.規(guī)則文件在進(jìn)入規(guī)則引擎之前,規(guī)則需要通過編譯器被編譯為Java字節(jié)碼,并存于規(guī)則庫;
[0006]2.推理引擎根據(jù)Rete算法,連接規(guī)則庫中的規(guī)則匹配條件和事實(shí)數(shù)據(jù)進(jìn)行匹配;
[0007]3.按照規(guī)則執(zhí)行計(jì)劃以及規(guī)則的優(yōu)先級設(shè)置生成待執(zhí)行規(guī)則隊(duì)列;
[0008]4.執(zhí)行規(guī)則隊(duì)列中的規(guī)則。
[0009]在電子商務(wù)環(huán)境下,Drools規(guī)則引擎存在如下一些問題:
[0010]1.Drools規(guī)則引擎不支持構(gòu)建規(guī)則決策樹模型,因此無法建立規(guī)則決策樹模型。在電商系統(tǒng)中有一些場景需要用到?jīng)Q策樹模型,如促銷、銷量預(yù)測和價(jià)格調(diào)整等,Drools規(guī)則引擎將無法發(fā)揮作用,從而導(dǎo)致是否促銷、銷量預(yù)測以及價(jià)格調(diào)整等問題無法準(zhǔn)確而快速的解決。
[0011]2.Drools規(guī)則引擎不支持調(diào)用指定范圍的規(guī)則集合,如規(guī)則已經(jīng)分好了組,Drools規(guī)則引擎需要按組調(diào)用該組內(nèi)的所有規(guī)則,導(dǎo)致規(guī)則匹配范圍大、內(nèi)存消耗大和匹配效率低等問題。
【發(fā)明內(nèi)容】
[0012]有鑒于此,本發(fā)明提供一種提供決策信息的方法和裝置,能夠在一些需要用到?jīng)Q策信息的場景時(shí),準(zhǔn)確而快速的解決待決策問題;同時(shí)由于設(shè)定了規(guī)則之間的關(guān)系,因而解決了規(guī)則匹配范圍大、內(nèi)存消耗大和匹配效率低的問題。
[0013]為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種提供決策信息的方法。
[0014]本發(fā)明的提供決策信息的方法包括:接收規(guī)則制定者輸入的規(guī)則文本;所述規(guī)則文本用于描述規(guī)則樹中的多層規(guī)則節(jié)點(diǎn)以及每層規(guī)則節(jié)點(diǎn)與其子規(guī)則節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系;將所述規(guī)則文本編譯為規(guī)則字節(jié)碼,并將該規(guī)則字節(jié)碼以鍵值對的形式進(jìn)行存儲;其中,鍵名為所述規(guī)則文本的規(guī)則名稱;鍵值為規(guī)則名稱所對應(yīng)的規(guī)則字節(jié)碼;接收規(guī)則消費(fèi)者輸入的規(guī)則名稱,并根據(jù)該規(guī)則名稱獲取所對應(yīng)的規(guī)則字節(jié)碼,然后再將所接收的待決策數(shù)據(jù)與該規(guī)則字節(jié)碼進(jìn)行匹配以得到?jīng)Q策結(jié)果并輸出。
[0015]可選地,所述接收規(guī)則制定者輸入的規(guī)則文本的步驟之后包括:接收規(guī)則制定者輸入的規(guī)則文本執(zhí)行選項(xiàng);所述規(guī)則文本執(zhí)行選項(xiàng)包括:執(zhí)行第一條匹配的規(guī)則文本和執(zhí)行所有匹配的規(guī)則文本;對處于同一層的規(guī)則文本:當(dāng)規(guī)則制定者輸入的規(guī)則文本執(zhí)行選項(xiàng)為執(zhí)行第一條匹配的規(guī)則文本時(shí),只執(zhí)行該層第一條匹配的規(guī)則文本;當(dāng)規(guī)則制定者輸入的規(guī)則文本執(zhí)行選項(xiàng)為執(zhí)行所有匹配的規(guī)則文本時(shí),依次執(zhí)行該層所有匹配的規(guī)則文本。
[0016]可選地,所述接收規(guī)則消費(fèi)者輸入的規(guī)則名稱的步驟之前包括:鎖定當(dāng)前所存儲的規(guī)則文本的版本。
[0017]可選地,所述每層規(guī)則節(jié)點(diǎn)與其子規(guī)則節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系包括:節(jié)點(diǎn)所對應(yīng)的規(guī)則文本的規(guī)則序號與其子節(jié)點(diǎn)對應(yīng)的規(guī)則文本的規(guī)則序號之間的包含關(guān)系。
[0018]可選地,所述每層規(guī)則節(jié)點(diǎn)按照優(yōu)先級順序排列,且該優(yōu)先級順序即為該層節(jié)點(diǎn)所對應(yīng)的規(guī)則文本的執(zhí)行順序。
[0019]根據(jù)本發(fā)明的另一方面,提供了一種提供決策信息的裝置。
[0020]本發(fā)明的提供決策信息的裝置,其特征在于,包括:接收模塊,用于接收規(guī)則制定者輸入的規(guī)則文本;所述規(guī)則文本用于描述規(guī)則樹中的多層規(guī)則節(jié)點(diǎn)以及每層規(guī)則節(jié)點(diǎn)與其子規(guī)則節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系;編譯模塊,用于將所述規(guī)則文本編譯為規(guī)則字節(jié)碼,并將該規(guī)則字節(jié)碼以鍵值對的形式進(jìn)行存儲;其中,鍵名為所述規(guī)則文本的規(guī)則名稱;鍵值為規(guī)則名稱所對應(yīng)的規(guī)則字節(jié)碼;決策模塊,用于接收規(guī)則消費(fèi)者輸入的規(guī)則名稱,并根據(jù)該規(guī)則名稱獲取所對應(yīng)的規(guī)則字節(jié)碼,然后再將所接收的待決策數(shù)據(jù)與該規(guī)則字節(jié)碼進(jìn)行匹配以得到?jīng)Q策結(jié)果并輸出。
[0021]可選地,還包括執(zhí)行選項(xiàng)接收模塊,用于接收規(guī)則制定者輸入的規(guī)則文本執(zhí)行選項(xiàng);所述規(guī)則文本執(zhí)行選項(xiàng)包括:執(zhí)行第一條匹配的規(guī)則文本和執(zhí)行所有匹配的規(guī)則文本;對處于同一層的規(guī)則文本:當(dāng)規(guī)則制定者輸入的規(guī)則文本執(zhí)行選項(xiàng)為執(zhí)行第一條匹配的規(guī)則文本時(shí),只執(zhí)行該層第一條匹配的規(guī)則文本;當(dāng)規(guī)則制定者輸入的規(guī)則文本執(zhí)行選項(xiàng)為執(zhí)行所有匹配的規(guī)則文本時(shí),依次執(zhí)行該層所有匹配的規(guī)則文本。
[0022]可選地,還包括鎖定模塊,用于鎖定當(dāng)前所存儲的規(guī)則文本的版本。
[0023]可選地,每層規(guī)則節(jié)點(diǎn)與其子規(guī)則節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系包括:節(jié)點(diǎn)所對應(yīng)的規(guī)則文本的規(guī)則序號與其子節(jié)點(diǎn)對應(yīng)的規(guī)則文本的規(guī)則序號之間的包含關(guān)系。
[0024]可選地,所述每層規(guī)則節(jié)點(diǎn)按照優(yōu)先級順序排列,且該優(yōu)先級順序即為該層節(jié)點(diǎn)所對應(yīng)的規(guī)則文本的執(zhí)行順序。
[0025]根據(jù)本發(fā)明的技術(shù)方案,規(guī)則制定者所輸入的規(guī)則文本按照樹形層次結(jié)構(gòu)組織,規(guī)則之間的關(guān)系明確,因此,能夠在一些需要用到?jīng)Q策信息的場景時(shí),準(zhǔn)確而快速的解決待決策問題;同時(shí)由于增加了規(guī)則文本執(zhí)行選項(xiàng),當(dāng)規(guī)則文本所描述的規(guī)則樹包含大量規(guī)則節(jié)點(diǎn),且規(guī)則文本執(zhí)行選項(xiàng)為執(zhí)行第一條匹配的規(guī)則文本,系統(tǒng)根據(jù)執(zhí)行選項(xiàng)快速的輸出決策結(jié)果,因而提高了系統(tǒng)輸出決策信息的效率,進(jìn)而解決了規(guī)則匹配范圍大、內(nèi)存消耗大和匹配效率低的問題。
【附圖說明】
[0026]附圖用于更好地理解本發(fā)明,不構(gòu)成對本發(fā)明的不當(dāng)限定。其中:
[0027]圖1是根據(jù)本發(fā)明實(shí)施例的一種提供決策信息的方法的示意圖;
[0028]圖2是根據(jù)本發(fā)明實(shí)施例的一種提供決策信息的裝置的示意圖。
【具體實(shí)施方式】
[0029]以下結(jié)合附圖對本發(fā)明的示范性實(shí)施例做出說明,其中包括本發(fā)明實(shí)施例的各種細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識至IJ,可以對這里描述的實(shí)施例做出各種改變和修改,而不會背離本發(fā)明的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結(jié)構(gòu)的描述。
[0030]圖1是根據(jù)本發(fā)明實(shí)施例的一種提供決策信息的方法的示意圖。如圖1所示,該方法主要包括如下的步驟SlO至S12。
[0031]步驟SlO:接收規(guī)則制定者輸入的規(guī)則文本。在該步驟中,規(guī)則文本用于描述規(guī)則樹中的多層規(guī)則節(jié)點(diǎn)以及每層規(guī)則節(jié)點(diǎn)與其子規(guī)則節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系;其中,每層規(guī)則節(jié)點(diǎn)與其子規(guī)則節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系包括:節(jié)點(diǎn)所對應(yīng)的規(guī)則文本的規(guī)則序號與其子節(jié)點(diǎn)對應(yīng)的規(guī)則文本的規(guī)則序號之間的包含關(guān)系;并且每層規(guī)則節(jié)點(diǎn)按照優(yōu)先級順序排列,該優(yōu)先級順序即為該層節(jié)點(diǎn)所對應(yīng)的規(guī)則文本的執(zhí)行順序。
[0032]本實(shí)施例以商品的調(diào)價(jià)規(guī)則樹為例進(jìn)行說明,其中,SKU為商品的庫存量單位,該調(diào)價(jià)規(guī)則樹所對應(yīng)的規(guī)則文本如下:
[0033]1-1
[0034]when (SKU銷量環(huán)比大于5O % )
[0035]yes ;
[0036]1-2(下含 3 條子規(guī)則:2 — 1,2 — 2,2-3)
[0037]when (SKU銷量環(huán)比大于10 % )
[0038]yes ;
[0039]1-3
[0040]when (SKU銷量環(huán)比小于O)
[0041 ] yes ;
[0042]2-1
[0043]when (SKU近一月價(jià)格波動(dòng)次數(shù)大于5)
[0044]yes ;
[0045]2-2 (下含 3 條子規(guī)則:3-1,3-2,3-3)
[0046]when (SKU近一月是否調(diào)過價(jià)格)
[0047]yes ;
[0048]2-3
[0049]when (SKU近一月促銷次數(shù)大于I)
[0050]yes ;
[0051]3-1(下含 3 條子規(guī)則:4-1,4-2,4-3)
[0052]when (SKU 好評率大于 80% )
[0053]yes ;
[0054]3-2
[0055]when (SKU 好評率小于 50% )
[0056]yes ;
[0057]3-3
[0058]when (SKU 評論數(shù)小于 100)
[0059]yes ;
[0060]4-1
[0061]when (SKU 利率大于 10% )
[0062]yes ;
[0063]4-2(下含 3 條子規(guī)則:5-1,5-2,5_3)
[0064]when (SKU 評論數(shù)小于 10% )
[0065]yes ;
[0066]4-3
[0067]when (SKU銷量同比小于10% )
[0068]yes ;
[0069]5-1
[0070]when (SKU庫存小于10000并且SKU銷量同比大于10% ) {
[0071]SKU 調(diào)價(jià) 5%
[0072]yes ;
[0073]}
[0074]5-2
[0075]when (SKU 庫存大于等于 10000)
[0076]yes ;
[0077]5-3
[0078]when (SKU 庫存大于等于 20000)
[0079]yes ;
[0080]上述規(guī)則文本所描述的調(diào)價(jià)