前段時間,JWFD的設計因爲遇到點困難和我忙於作迷你搜索引擎,因此暫停下來,這幾天忽然有了新的靈感,對於前面提到的數據-流程同步控制的問題,有那麼一些想法,可是思考的還不是很透徹和成熟,不過我仍是以爲須要和你們一塊兒分享下這些想法,說不定對你們還有些幫助
流程-數據同步控制是JWFD工做流引擎在開發到v0.96.3版本以後,因爲系統新增長了自動錶單等外部業務數據,使得原有的流程自動運行控制機制沒法適應這種新的狀況,從而出現的新問題,請參考這篇文章
http://comsci.iteye.com/blog/1008791 來詳細瞭解這個問題出現的背景和緣由。。。
咱們給出下面的簡單定義
A是表單數據,B是流程引擎
這個問題的實質就是得到 「A驅動B運行 B依賴A運行 「的算法模型
通過一段時間的思考,我發現採用傳統的方法並非太容易解決這個問題的,因此使用了我之前在強人工智能設計中的思路,請參考這篇文章
http://edu.codepub.com/2009/1103/17319.php 來了解什麼是蹺蹺板算法,其實顧名思義,蹺蹺板算法的實質就是創建對稱的數據平衡態,經過對平衡狀態的控制,來得到咱們所須要的數據,固然,這個思路也不 是很成熟,也未通過什麼實踐的驗證,不過,在這裏我僅僅是借用這種模型來解決工做流的數據流程同步控制的問題,我設想A和B是蹺蹺板的兩端,當咱們僅僅只 得到A的數據源的時候,就能夠驅動B運行,而B一開始運行,又能夠反過來讓A進一步的走下去,這樣就變成一個不停在上下襬動的蹺蹺板,只須要咱們開始對蹺 蹺板的一端施加一個初始的力,流程的全過程就能夠自動的完成,直到整個流程結束。。。。 固然,目前這還僅僅是一個設想,我尚未完成設計,也沒有開始作代碼,但願和你們多討論,集思廣益,一塊兒把工做流的自動運行控制這一有趣的問題研究得更加透徹和明瞭。。。