我在想,如果有人可以點我在正確的方向,以幫助我設計一個高級算法來解決,如一個問題解釋如下,使用Drools的。Drools的高級算法設計計費系統
讓我們考慮一個計費系統,其中對於給定的月份和給定的服務,我可以從數據庫中獲取數百萬條記錄,如呼叫詳細記錄(CDR),即客戶端ID和許多其他字段想用規則來推理。問題是,我不僅需要根據個人記錄採取行動,還要基於適用於某些聚合的條件。例如,假設在達到特定閾值數量後(即,500之後的每個CDR更便宜),將對所有CDR應用不同的價格。實際上,規則會比這更復雜。
現在,我敢肯定,這個想法是不是所有的這些記錄插入一同進入發動機(KieSession),之後解僱所有的規則。因此,我需要一些Object,我們稱之爲「會計元素」,我可以從每個處理過的記錄中收集所有信息。在這種情況下,我會做:
for each CDR loop:
Insert a record;
Fire all the rules;
Delete the record;
而且裏面的Drools的規則,我需要更新我的會計對象,例如統計爲每個客戶/服務處理的記錄數量。
而且,因爲我也將要採取基於此會計對象的決定,這也將有在KieSession要插入,並保持有貫穿整個會議,對不對?
我很欣賞你能給我關於可能的解決方案/實施任何意見接近使用Drools的這樣一個問題,如果它不請你告訴我,如果我說的是有道理,還是指正。謝謝!