使用JWFD开源工作流引擎ARC实现简易的自动数据处理的一些摸索
注释:ARC是指我在JWFD开源工作流引擎中用JAVA语言实现的一种流程自动运行控制算法(该算法的雏形是一种经过改造的图形广度优先遍历算法,经过数次修改,早就和经典的图形广度优先遍历算法在结构上相差很远了,在jwfdv0.94版本中可以找到这个算法的最初形态),
我是一个业余的工作流爱好者,对来自各个专业领域的朋友,同学,专家的意见和建议抱有极大的热情,希望大家多多指教
自动数据处理系统从狭义上来讲就是专门为地理信息系统提供相关数据处理工程任务的一些程序,但是从广义上面来看,自动数据处理的涵盖范围非常广泛,凡是可以编程进行各种数值和非数值计算的工作都可以称为自动数据处理,由于我过去没有从事过这方面的工作,我也是从网友的只言片语中理解到这些东西的含义并在现有代码的基础上加以实现,所以和真正的专业自动数据处理系统的设计水平相差很远,请大家原谅其中包含的错误
一个工作流的图形结构在大多数情况下是非线性的,既存在串行也存在并行的结构,嵌入到流程图的每个节点中的算法模块经过这样的非线性拓扑结构的整合会产生非常复杂的计算过程,虽然每个节点中的算法相对功能单一,但是整个流程的计算能力却会变得非常强大,这也许就是我们希望用工作流系统来实现数据处理的一些原因吧,当然,这只是我的猜想
ARC的核心SAN算法模型是一个循环-判断-递归的结构体,要在这个结构体的控制下实现流程的自动运行还只是一种很初级的尝试,利用这种自动运行控制结构实现一种自动化的数据处理,也仅仅是我们的一种摸索。。。。
我觉得用ARC技术实现自动数据处理的最大问题就是由于ARC的结构缺乏灵活性,对由参数改变而引起的计算拓扑结构路径的改变的问题缺乏动态灵活性,更不用说处理由于流程的拓扑结构发生变化而引起的更为灵活的计算结构的变化,如果仅仅只能够实现处理一个事先设计好的计算流程,那么这样和传统的编程技术相比,并没有什么太大的突破.......
但是,饭要一口一口的吃,路要一步一步的走。。。。。虽然目前看起来利用现在的ARC模型来实现自动数据处理显得不是那么灵活,但是我们可以先在循环-判断-递归结构的基础上增加一项反馈处理的模型,把这个固定的计算模型变得稍微灵活一些。然后再说找新的办法去解决更加灵活的问题吧。。。。。。。。
技术的发展就是这样。。。每前进一小步都要付出代价,但是长期坚持下去总会产生一些积极的效果吧
由于工作流引擎的设计和研发有一定的难度和价值,所以从事这方面工作的国内的同志也不少,但是除了学术和大专院校发表的相关论文之外,我还很难得看见国内的厂商发表一些工作流的技术和理论的研究的文章和资料,一花独放不是春啊,光是我们几个做开源的在那里搞,很难成气候,所以我尽量把自己的代码和设计都公开,用意只有一个,让大家有多一些公开研究的话题和思考的方向,其实我一个人搞这个东西,有时候觉得自己每想到一个新的方法来突破原有的体系结构很不容易,但是如果大家都封锁,大家都保守,那么整个行业和领域的技术进步就更加困难了。。。。。
----------------------------------------------------------------------------------------------------------------------
设计原理:
在早期的技术水平下,我们实现一种数据处理系统,都需要预先把处理数据的各个算法,各个子系统都开发好,固化在程序里面,这样设计就好像我们在设计模拟电路的时候,需要先把电路板画好,然后把每个元器件都焊上去,再进行调试和处理。。。不同的应用要做不同的电路板,灵活性就比较差!
如果我们对数据的处理方式和模型发生变化,那么我们的整个程序都需要重新开发,包括底层的算法模块和整个系统结构都要重新开发,这就让这个系统缺乏复用的框架,增加了开发的成本和项目应用的难度。。。。。。
那么,现在随着工作流技术的发展,我们发现如果用工作流技术或者工作流的思路来重新构建数据处理的架构是不是会对前面提到的问题有所帮助呢?
总体设计思路
通过对原有工作流引擎的设计器模块和运行控制模块进行二次开发,形成一个自动数据处理的新架构,改造的主要难点在工作流自动运行控制器中的分支数据传递和中断过程处理
在分支与汇聚节点的数据传递过程中,应该使用什么手段来准确的传递这些参数和计算结果呢? 需要从顶层设计考虑这个问题,如果JWFD的目标仅仅是实现一个自动数据处理系统,那么我没有必要考虑这些问题,但是如果JWFD今后要做到神经网络计算和AI系统的层面,就必须考虑到这些问题,数据和参数的传递不仅仅是针对自动数据处理系统,而要考虑今后神经网络计算和AI系统设计的问题。。。。
。。。。。。。。全文下载
http://download.csdn.net/detail/comsci/5219503
非常感谢CSDN和ITEYE网站对JWFD开源工作流的支持,我会写出更多更好的文章和代码回馈各位网友。。。。。