本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法及系統(tǒng)。
背景技術(shù):
業(yè)務(wù)規(guī)則引擎是一項在線運行業(yè)務(wù)規(guī)則的服務(wù)。通過將業(yè)務(wù)規(guī)則執(zhí)行代碼與業(yè)務(wù)流程管理系統(tǒng)的其他代碼分開,使業(yè)務(wù)人員通過規(guī)則編輯器靈活編輯、調(diào)整業(yè)務(wù)規(guī)則邏輯。
然而,目前的業(yè)務(wù)規(guī)則引擎通常是使用開源的drools工具而實現(xiàn)的。drools工具是基于java程序運行的,而由于java程序自身的并發(fā)處理限制,在一定的javaweb服務(wù)器資源下,業(yè)務(wù)規(guī)則引擎對多進(jìn)程的響應(yīng)時間較長,大大影響了業(yè)務(wù)規(guī)則引擎的處理效率。
技術(shù)實現(xiàn)要素:
為了解決相關(guān)技術(shù)中實現(xiàn)業(yè)務(wù)規(guī)則引擎多進(jìn)程的響應(yīng)時間較長的技術(shù)問題,本發(fā)明提供了一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法及系統(tǒng)。
本發(fā)明實施例提供了一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法,包括:
監(jiān)聽專用web平臺的運行,確定新收事件;
針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對所述新收事件與所述業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與所述新收事件匹配的規(guī)則條件;
對所述規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行。
另外,本發(fā)明實施例提供了一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng),包括:
新收事件確定模塊,用于監(jiān)聽專用web平臺的運行,確定新收事件;
規(guī)則條件確定模塊,用于針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對所述新收事件與所述業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與所述新收事件匹配的規(guī)則條件;
動作執(zhí)行模塊,用于對所述規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行。
此外,本發(fā)明實施例還提供了一種系統(tǒng),包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為執(zhí)行:
監(jiān)聽專用web平臺的運行,確定新收事件;
針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對所述新收事件與所述業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與所述新收事件匹配的規(guī)則條件;
對所述規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行。
本發(fā)明的實施例提供的技術(shù)方案可以包括以下有益效果:
在業(yè)務(wù)規(guī)則引擎的實現(xiàn)過程中,監(jiān)聽專用web平臺的運行,確定新收事件,針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對所述新收事件與所述業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與所述新收事件匹配的規(guī)則條件,對所述規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行,從而通過專用web平臺實現(xiàn)業(yè)務(wù)規(guī)則引擎中的多進(jìn)程執(zhí)行,減短了多進(jìn)程的響應(yīng)時間,大大影響了業(yè)務(wù)規(guī)則引擎的處理效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法流程圖。
圖2是根據(jù)圖1對應(yīng)實施例示出的另一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法流程圖。
圖3是根據(jù)圖2對應(yīng)實施例示出的另一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法流程圖。
圖4是圖1對應(yīng)實施例示出的分布式分配方法中步驟s130的一種具體實現(xiàn)流程圖。
圖5是圖4對應(yīng)實施例示出的分布式分配方法中步驟s132的一種具體實現(xiàn)流程圖。
圖6是根據(jù)一示例性實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)框圖。
圖7是根據(jù)圖6對應(yīng)實施例示出的另一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)框圖。
圖8是根據(jù)圖7對應(yīng)實施例示出的另一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)框圖。
圖9是圖6對應(yīng)實施例示出的業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)中動作執(zhí)行模塊130的框圖。
圖10是圖9對應(yīng)實施例示出的業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)中函數(shù)對象執(zhí)行子模塊132的框圖。
圖11是根據(jù)一示例性實施例示出的一種系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
這里將詳細(xì)地對示例性實施例執(zhí)行說明,其示例表示在附圖中。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法流程圖。如圖1所示,該業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法可以包括以下步驟。
在步驟s110中,監(jiān)聽專用web平臺的運行,確定新收事件。
專用web平臺是進(jìn)行web開發(fā)的專業(yè)平臺。通過專用web平臺,實現(xiàn)軟件的二次開發(fā)。
專用web平臺采用非編碼的方式或者是極少編碼的方式,實現(xiàn)資源的共享,從而節(jié)約開發(fā)成本、提高開發(fā)效率、縮短開發(fā)周期。
在一具體的示例性實施例中,專用web平臺為openresty平臺。openresty平臺是一個基于nginx與lua的高性能web平臺,其內(nèi)部集成了大量精良的lua庫、第三方模塊以及大多數(shù)的依賴項。用于方便地搭建能夠處理超高并發(fā)、擴展性極高的動態(tài)web應(yīng)用、web服務(wù)和動態(tài)網(wǎng)關(guān)。
openresty平臺為開源的專用web平臺,參考https://openresty.org/cn/getting-started.html學(xué)習(xí)如何從最簡單的helloworld開始使用openresty開發(fā)http業(yè)務(wù),或前往https://openresty.org/cn/download.html直接獲取openresty的源代碼包開始體驗。
openresty是國內(nèi)注冊商標(biāo),注冊人為章亦春,商標(biāo)專用期為2016年4月7日至2026年4月6日。
事件可以為專用web平臺接收到的執(zhí)行指令,也可以為其它類型的操作指示。
專用web平臺中,根據(jù)新收事件,當(dāng)存在規(guī)則條件滿足該新收事件時,執(zhí)行對應(yīng)的規(guī)則動作。
在一具體的示例性實施例中,通過監(jiān)聽openresty平臺中的消息總線,確定openresty平臺中新接收的事件。
在步驟s120中,針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對新收事件與業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與新收事件匹配的規(guī)則條件。
業(yè)務(wù)規(guī)則庫是預(yù)先構(gòu)建的,業(yè)務(wù)規(guī)則庫中存儲了多種業(yè)務(wù)規(guī)則。
業(yè)務(wù)規(guī)則是與業(yè)務(wù)相關(guān)的操作規(guī)范、管理章程、規(guī)章制度、行業(yè)標(biāo)準(zhǔn)等。業(yè)務(wù)規(guī)則描述了業(yè)務(wù)過程中重要的且值得記錄的對象、關(guān)系和活動。其中包括業(yè)務(wù)操作中的流程、規(guī)范與策略。業(yè)務(wù)規(guī)則保證了業(yè)務(wù)能滿足其目標(biāo)和義務(wù)。
業(yè)務(wù)規(guī)則包括規(guī)則條件與規(guī)則動作等。
規(guī)則條件是規(guī)則動作觸發(fā)執(zhí)行的條件。
業(yè)務(wù)規(guī)則中,規(guī)則條件是與規(guī)則動作相對應(yīng)的。當(dāng)業(yè)務(wù)規(guī)則中的規(guī)則條件滿足時,則觸發(fā)執(zhí)行相應(yīng)的規(guī)則動作。
在步驟s130中,對規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行。
openresty平臺中,基于lua(一種腳本語言)實現(xiàn)規(guī)則動作的多進(jìn)程執(zhí)行。lua能提供了10k以上的多進(jìn)程執(zhí)行,而java能夠提供的最大多進(jìn)程數(shù)為500,從而通過lua大大提高了業(yè)務(wù)規(guī)則引擎的處理能力。
通過如上所述的方法,在openresty平臺中,基于lua實現(xiàn)業(yè)務(wù)規(guī)則引擎中的多進(jìn)程執(zhí)行,減短了多進(jìn)程的響應(yīng)時間,大大影響了業(yè)務(wù)規(guī)則引擎的處理效率。
圖2是根據(jù)一示例性實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法流程圖。如圖2所示,在圖1對應(yīng)實施例中的步驟s120之前,該業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法還可以包括以下步驟。
在步驟s210中,接收業(yè)務(wù)規(guī)則的界面化編輯。
界面化編輯是在終端顯示界面進(jìn)行的業(yè)務(wù)規(guī)則編輯。
在用戶層面,其可通過界面中預(yù)置的按鈕及輸入框,接收輸入的相關(guān)編輯內(nèi)容。
在步驟s220中,根據(jù)界面化編輯,生成業(yè)務(wù)規(guī)則對應(yīng)的業(yè)務(wù)規(guī)則代碼。
可以理解的是,界面化編輯是面向?qū)ο蟮摹?/p>
根據(jù)面向?qū)ο蟮慕缑婊庉嫞贸绦蛘Z言將編輯內(nèi)容映射成相應(yīng)的業(yè)務(wù)規(guī)則代碼。
通過界面化編輯,使業(yè)務(wù)規(guī)則的創(chuàng)建者或維護(hù)者無需了解程序語言,就能實現(xiàn)業(yè)務(wù)規(guī)則代碼的生成,大大降低了業(yè)務(wù)規(guī)則引擎的使用門檻。
在一具體的示例性實施例中,業(yè)務(wù)規(guī)則代碼是業(yè)務(wù)規(guī)則對應(yīng)的lua語言代碼。
在步驟s230中,將業(yè)務(wù)規(guī)則代碼以業(yè)務(wù)規(guī)則為標(biāo)識存儲于業(yè)務(wù)規(guī)則庫中。
利用如上所述的方法,通過界面化編輯進(jìn)行業(yè)務(wù)規(guī)則的創(chuàng)建并存儲于業(yè)務(wù)規(guī)則庫,大大降低了業(yè)務(wù)規(guī)則引擎的創(chuàng)建及使用門檻,提高了業(yè)務(wù)規(guī)則引擎的使用效率。
圖3是根據(jù)一示例性實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法流程圖。如圖3所示,在圖2對應(yīng)實施例中的步驟s230之前,該業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法還可以包括以下步驟。
在步驟s310中,接收業(yè)務(wù)規(guī)則庫中的更新指令。
可以理解的是,根據(jù)實際需要對業(yè)務(wù)規(guī)則庫中的業(yè)務(wù)規(guī)則進(jìn)行更新,從而更好的滿足業(yè)務(wù)需求。
輸入更新指令的方式有多種,例如通過界面化編輯輸入相應(yīng)的更新指令,又例如,通過對業(yè)務(wù)規(guī)則對應(yīng)的代碼進(jìn)行編輯觸發(fā)輸入相應(yīng)的更新指令。
在步驟s320中,根據(jù)規(guī)則更新,對相應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行代碼更新。
利用如上所述的方法,通過接收更新指令對相應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行更新,從而使業(yè)務(wù)規(guī)則更加適應(yīng)實際業(yè)務(wù)需求,大大提高了業(yè)務(wù)規(guī)則引擎的處理效率。
圖4是根據(jù)一示例性實施例示出的對步驟s130進(jìn)一步的細(xì)節(jié)的描述。該步驟s130可以包括以下步驟。
在步驟s131中,針對每一個與新收事件匹配的規(guī)則條件,將規(guī)則條件對應(yīng)的業(yè)務(wù)規(guī)則解析生成對應(yīng)的函數(shù)對象,并存儲于內(nèi)存中。
解析是對業(yè)務(wù)規(guī)則進(jìn)行語法分析。
函數(shù)對象是類對象,表現(xiàn)出一個函數(shù)的特征。
函數(shù)對象可以定義跨越多次調(diào)用的可持久的部分(類似靜態(tài)局部變量),同時又能從對象的外面進(jìn)行初始化和檢查(和靜態(tài)局部變量不同),從而通過將業(yè)務(wù)規(guī)則解析生成函數(shù)對象,更方便地執(zhí)行業(yè)務(wù)規(guī)則。
在步驟s132中,對內(nèi)存中的函數(shù)對象進(jìn)行多進(jìn)程執(zhí)行。
由于函數(shù)對象存儲于內(nèi)存中,在專用web平臺的運行中執(zhí)行業(yè)務(wù)規(guī)則時,無需頻繁地訪問磁盤,避免引起磁盤的性能瓶頸,大大提高了利用專用web平實現(xiàn)業(yè)務(wù)規(guī)則引擎的開發(fā)效率。
圖5根據(jù)一示例性實施例示出的對圖4中步驟s132進(jìn)一步的細(xì)節(jié)描述。業(yè)務(wù)規(guī)則配置有優(yōu)先級,該步驟s132可以包括以下步驟。
在步驟s1321中,獲取內(nèi)存中每一個函數(shù)對象對應(yīng)的優(yōu)先級。
優(yōu)先級是業(yè)務(wù)規(guī)則的執(zhí)行優(yōu)先順序。
業(yè)務(wù)規(guī)則配置有優(yōu)先級時,在業(yè)務(wù)規(guī)則被解析成函數(shù)對象后,該業(yè)務(wù)規(guī)則對應(yīng)的函數(shù)對象將配置相應(yīng)的優(yōu)先級。
例如,業(yè)務(wù)規(guī)則a配置的優(yōu)先級為1,業(yè)務(wù)規(guī)則b配置的優(yōu)先級為1。將業(yè)務(wù)規(guī)則a解析成函數(shù)對象a1、a2、a3,將業(yè)務(wù)規(guī)則b解析成函數(shù)對象b1、b2,則函數(shù)對象a1、a2、a3對應(yīng)的優(yōu)先級為1,而函數(shù)對象b1、b2對應(yīng)的優(yōu)先級為2。
在步驟s1322中,按照優(yōu)先級的順序,進(jìn)行函數(shù)對象的多進(jìn)程執(zhí)行。
例如,業(yè)務(wù)規(guī)則a配置的優(yōu)先級為1,業(yè)務(wù)規(guī)則b配置的優(yōu)先級為1。將業(yè)務(wù)規(guī)則a解析成函數(shù)對象a1、a2、a3,將業(yè)務(wù)規(guī)則b解析成函數(shù)對象b1、b2,則函數(shù)對象a1、a2、a3對應(yīng)的優(yōu)先級為1,而函數(shù)對象b1、b2對應(yīng)的優(yōu)先級為2。對函數(shù)對象a1、a2、a3和函數(shù)對象b1、b2執(zhí)行時,根據(jù)優(yōu)先級順序,在執(zhí)行完函數(shù)對象a1、a2、a3后,再執(zhí)行函數(shù)對象b1、b2。
利用如上所述的方法,通過獲取各函數(shù)對象的優(yōu)先級,并根據(jù)優(yōu)先級順序進(jìn)行函數(shù)對象的多進(jìn)程執(zhí)行,從而更靈活地進(jìn)行業(yè)務(wù)規(guī)則處理,大大提高了實現(xiàn)業(yè)務(wù)規(guī)則引擎的開發(fā)性能。
下述為本發(fā)明系統(tǒng)實施例,可以用于執(zhí)行上述業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法實施例。對于本發(fā)明系統(tǒng)實施例中未披露的細(xì)節(jié),請參照本發(fā)明業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法實施例。
圖6是根據(jù)一示例性實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)框圖,該系統(tǒng)包括但不限于:新收事件確定模塊110、規(guī)則條件確定模塊120及動作執(zhí)行模塊130。
新收事件確定模塊110,用于監(jiān)聽專用web平臺的運行,確定新收事件;
規(guī)則條件確定模塊120,用于針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對所述新收事件與所述業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與所述新收事件匹配的規(guī)則條件;
動作執(zhí)行模塊130,用于對所述規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行。
上述系統(tǒng)中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。
圖7是根據(jù)圖6對應(yīng)實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)框圖,該系統(tǒng)還包括但不限于:編輯接收模塊210、代碼生成模塊220及規(guī)則存儲模塊230。
編輯接收模塊210,用于接收業(yè)務(wù)規(guī)則的界面化編輯;
代碼生成模塊220,用于根據(jù)所述界面化編輯,生成所述業(yè)務(wù)規(guī)則對應(yīng)的業(yè)務(wù)規(guī)則代碼;
規(guī)則存儲模塊230,用于將所述業(yè)務(wù)規(guī)則代碼以所述業(yè)務(wù)規(guī)則為標(biāo)識存儲于所述業(yè)務(wù)規(guī)則庫中。
圖8是根據(jù)圖7對應(yīng)實施例示出的一種業(yè)務(wù)規(guī)則引擎的實現(xiàn)系統(tǒng)框圖,該系統(tǒng)還包括但不限于:更新指令接收模塊310及規(guī)則更新模塊320。
更新指令接收模塊310,用于接收所述業(yè)務(wù)規(guī)則庫中的更新指令;
規(guī)則更新模塊320,用于根據(jù)所述更新指令,對相應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行更新。
可選的,如圖9所示,圖6中的動作執(zhí)行模塊130包括但不限于:規(guī)則解析子模塊131和函數(shù)對象執(zhí)行子模塊132。
規(guī)則解析子模塊131,用于針對每一個與所述新收事件匹配的規(guī)則條件,將所述規(guī)則條件對應(yīng)的業(yè)務(wù)規(guī)則解析生成對應(yīng)的函數(shù)對象,并存儲于內(nèi)存中;
函數(shù)對象執(zhí)行子模塊132,用于對所述內(nèi)存中的函數(shù)對象進(jìn)行多進(jìn)程執(zhí)行。
可選的,如圖10所示,圖9中的函數(shù)對象執(zhí)行子模塊132包括但不限于:優(yōu)先級獲取單元1321和函數(shù)對象執(zhí)行單元1322。
優(yōu)先級獲取單元1321,用于獲取所述內(nèi)存中每一個函數(shù)對象對應(yīng)的優(yōu)先級;
函數(shù)對象執(zhí)行單元1322,用于按照所述優(yōu)先級的順序,進(jìn)行函數(shù)對象的多進(jìn)程執(zhí)行。
圖11是根據(jù)一示例性實施例示出的一種系統(tǒng)100的框圖。參考圖11,系統(tǒng)100可以包括以下一個或者多個組件:處理組件101,存儲器102,電源組件103,多媒體組件104,音頻組件105,傳感器組件107以及通信組件108。其中,上述組件并不全是必須的,系統(tǒng)100可以根據(jù)自身功能需求增加其他組件或減少某些組件,本實施例不作限定。
處理組件101通??刂葡到y(tǒng)100的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作以及記錄操作相關(guān)聯(lián)的操作等。處理組件101可以包括一個或多個處理器109來執(zhí)行指令,以完成上述操作的全部或部分步驟。此外,處理組件101可以包括一個或多個模塊,便于處理組件101和其他組件之間的交互。例如,處理組件101可以包括多媒體模塊,以方便多媒體組件104和處理組件101之間的交互。
存儲器102被配置為存儲各種類型的數(shù)據(jù)以支持在系統(tǒng)100的操作。這些數(shù)據(jù)的示例包括用于在系統(tǒng)100上操作的任何應(yīng)用程序或方法的指令。存儲器102可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如sram(staticrandomaccessmemory,靜態(tài)隨機存取存儲器),eeprom(electricallyerasableprogrammableread-onlymemory,電可擦除可編程只讀存儲器),eprom(erasableprogrammablereadonlymemory,可擦除可編程只讀存儲器),prom(programmableread-onlymemory,可編程只讀存儲器),rom(read-onlymemory,只讀存儲器),磁存儲器,快閃存儲器,磁盤或光盤。存儲器102中還存儲有一個或多個模塊,該一個或多個模塊被配置成由該一個或多個處理器109執(zhí)行,以完成圖1、圖2、圖3、圖4和圖5任一所示方法中的全部或者部分步驟。
電源組件103為系統(tǒng)100的各種組件提供電力。電源組件103可以包括電源管理系統(tǒng),一個或多個電源,及其他與為系統(tǒng)100生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件104包括在所述系統(tǒng)100和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括lcd(liquidcrystaldisplay,液晶顯示器)和tp(touchpanel,觸摸面板)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。
音頻組件105被配置為輸出和/或輸入音頻信號。例如,音頻組件105包括一個麥克風(fēng),當(dāng)系統(tǒng)100處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器102或經(jīng)由通信組件108發(fā)送。在一些實施例中,音頻組件105還包括一個揚聲器,用于輸出音頻信號。
傳感器組件107包括一個或多個傳感器,用于為系統(tǒng)100提供各個方面的狀態(tài)評估。例如,傳感器組件107可以檢測到系統(tǒng)100的打開/關(guān)閉狀態(tài),組件的相對定位,傳感器組件107還可以檢測系統(tǒng)100或系統(tǒng)100一個組件的位置改變以及系統(tǒng)100的溫度變化。在一些實施例中,該傳感器組件107還可以包括磁傳感器,壓力傳感器或溫度傳感器。
通信組件108被配置為便于系統(tǒng)100和其他設(shè)備之間有線或無線方式的通信。系統(tǒng)100可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如wifi(wireless-fidelity,無線網(wǎng)絡(luò)),2g或3g,或它們的組合。在一個示例性實施例中,通信組件108經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信組件108還包括nfc(nearfieldcommunication,近場通信)模塊,以促進(jìn)短程通信。例如,在nfc模塊可基于rfid(radiofrequencyidentification,射頻識別)技術(shù),irda(infrareddataassociation,紅外數(shù)據(jù)協(xié)會)技術(shù),uwb(ultra-wideband,超寬帶)技術(shù),bt(bluetooth,藍(lán)牙)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,系統(tǒng)100可以被一個或多個asic(applicationspecificintegratedcircuit,應(yīng)用專用集成電路)、dsp(digitalsignalprocessing,數(shù)字信號處理器)、pld(programmablelogicdevice,可編程邏輯器件)、fpga(field-programmablegatearray,現(xiàn)場可編程門陣列)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
該實施例中的系統(tǒng)的處理器執(zhí)行操作的具體方式已經(jīng)在有關(guān)該業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法的實施例中執(zhí)行了詳細(xì)描述,此處將不再做詳細(xì)闡述說明。
可選的,本發(fā)明還提供一種系統(tǒng),執(zhí)行圖1、圖2、圖3、圖4和圖5任一所示的業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法的全部或者部分步驟。所述系統(tǒng)包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為執(zhí)行:
監(jiān)聽專用web平臺的運行,確定新收事件;
針對業(yè)務(wù)規(guī)則庫中的每一個業(yè)務(wù)規(guī)則,對所述新收事件與所述業(yè)務(wù)規(guī)則中的規(guī)則條件進(jìn)行匹配運算,確定與所述新收事件匹配的規(guī)則條件;
對所述規(guī)則條件對應(yīng)的規(guī)則動作進(jìn)行多進(jìn)程執(zhí)行。
該實施例中的系統(tǒng)的處理器執(zhí)行操作的具體方式已經(jīng)在有關(guān)該業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法的實施例中執(zhí)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
在示例性實施例中,還提供了一種存儲介質(zhì),該存儲介質(zhì)為計算機可讀存儲介質(zhì),例如可以為包括指令的臨時性和非臨時性計算機可讀存儲介質(zhì)。該存儲介質(zhì)例如包括指令的存儲器102,上述指令可由系統(tǒng)100的處理器109執(zhí)行以完成上述業(yè)務(wù)規(guī)則引擎的實現(xiàn)方法。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),本領(lǐng)域技術(shù)人員可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。