使用JWFD开源工作流引擎ARC实现简易的自动数据处理的一些摸索(一)


使用JWFD开源工作流引擎ARC实现简易的自动数据处理的一些摸索






注释:ARC是指我在JWFD开源工作流引擎中用JAVA语言实现的一种流程自动运行控制算法(该算法的雏形是一种经过改造的图形广度优先遍历算法,经过数次修改,早就和经典的图形广度优先遍历算法在结构上相差很远了,在jwfdv0.94版本中可以找到这个算法的最初形态),

我是一个业余的工作流爱好者,对来自各个专业领域的朋友,同学,专家的意见和建议抱有极大的热情,希望大家多多指教


自动数据处理系统从狭义上来讲就是专门为地理信息系统提供相关数据处理工程任务的一些程序,但是从广义上面来看,自动数据处理的涵盖范围非常广泛,凡是可以编程进行各种数值和非数值计算的工作都可以称为自动数据处理,由于我过去没有从事过这方面的工作,我也是从网友的只言片语中理解到这些东西的含义并在现有代码的基础上加以实现,所以和真正的专业自动数据处理系统的设计水平相差很远,请大家原谅其中包含的错误


一个工作流的图形结构在大多数情况下是非线性的,既存在串行也存在并行的结构,嵌入到流程图的每个节点中的算法模块经过这样的非线性拓扑结构的整合会产生非常复杂的计算过程,虽然每个节点中的算法相对功能单一,但是整个流程的计算能力却会变得非常强大,这也许就是我们希望用工作流系统来实现数据处理的一些原因吧,当然,这只是我的猜想

 

ARC的核心SAN算法模型是一个循环-判断-递归的结构体,要在这个结构体的控制下实现流程的自动运行还只是一种很初级的尝试,利用这种自动运行控制结构实现一种自动化的数据处理,也仅仅是我们的一种摸索。。。。

我觉得用ARC技术实现自动数据处理的最大问题就是由于ARC的结构缺乏灵活性,对由参数改变而引起的计算拓扑结构路径的改变的问题缺乏动态灵活性,更不用说处理由于流程的拓扑结构发生变化而引起的更为灵活的计算结构的变化,如果仅仅只能够实现处理一个事先设计好的计算流程,那么这样和传统的编程技术相比,并没有什么太大的突破.......

但是,饭要一口一口的吃,路要一步一步的走。。。。。虽然目前看起来利用现在的ARC模型来实现自动数据处理显得不是那么灵活,但是我们可以先在循环-判断-递归结构的基础上增加一项反馈处理的模型,把这个固定的计算模型变得稍微灵活一些。然后再说找新的办法去解决更加灵活的问题吧。。。。。。。。

技术的发展就是这样。。。每前进一小步都要付出代价,但是长期坚持下去总会产生一些积极的效果吧

由于工作流引擎的设计和研发有一定的难度和价值,所以从事这方面工作的国内的同志也不少,但是除了学术和大专院校发表的相关论文之外,我还很难得看见国内的厂商发表一些工作流的技术和理论的研究的文章和资料,一花独放不是春啊,光是我们几个做开源的在那里搞,很难成气候,所以我尽量把自己的代码和设计都公开,用意只有一个,让大家有多一些公开研究的话题和思考的方向,其实我一个人搞这个东西,有时候觉得自己每想到一个新的方法来突破原有的体系结构很不容易,但是如果大家都封锁,大家都保守,那么整个行业和领域的技术进步就更加困难了。。。。。

----------------------------------------------------------------------------------------------------------------------

设计原理:

在早期的技术水平下,我们实现一种数据处理系统,都需要预先把处理数据的各个算法,各个子系统都开发好,固化在程序里面,这样设计就好像我们在设计模拟电路的时候,需要先把电路板画好,然后把每个元器件都焊上去,再进行调试和处理。。。不同的应用要做不同的电路板,灵活性就比较差!

如果我们对数据的处理方式和模型发生变化,那么我们的整个程序都需要重新开发,包括底层的算法模块和整个系统结构都要重新开发,这就让这个系统缺乏复用的框架,增加了开发的成本和项目应用的难度。。。。。。

那么,现在随着工作流技术的发展,我们发现如果用工作流技术或者工作流的思路来重新构建数据处理的架构是不是会对前面提到的问题有所帮助呢?

总体设计思路

通过对原有工作流引擎的设计器模块和运行控制模块进行二次开发,形成一个自动数据处理的新架构,改造的主要难点在工作流自动运行控制器中的分支数据传递和中断过程处理

在分支与汇聚节点的数据传递过程中,应该使用什么手段来准确的传递这些参数和计算结果呢?  需要从顶层设计考虑这个问题,如果JWFD的目标仅仅是实现一个自动数据处理系统,那么我没有必要考虑这些问题,但是如果JWFD今后要做到神经网络计算和AI系统的层面

就必须考虑到这些问题,数据和参数的传递不仅仅是针对自动数据处理系统,而要考虑今后神经网络计算和AI系统设计的问题。。。。


。。。。。。。。。。  全文下载


非常感谢CSDN和ITEYE网站对JWFD开源工作流的支持,我会写出更多更好的文章和代码回馈各位网友。。。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JWFD申请到一个论坛专区,希望大家对JWFD的数据结构和设计有什么意见和建议,包括BUG都可以到这个地方来提交 地址是 http://www.openjweb.com/bbs/forum.php?mod=forumdisplay&fid=61 jwfd 工作流设计器V0.91 (本程序的源代码在comsci的其它资源中下载) 名称是 JWFD v0.94工作流源代码 for eclipse(BUG修正版) COMSCI 2005 需要JDK1.4以上 运行方法:双击jwfd.jar运行 QQ:784092877 本工具由JAVA SWING与开源软件JGRAPH包的一些类和方法共同编写的,其中对原JGRAPH包的一些类 和方法进行了修改和完善(原始类不能将图的一些重要属性写入GXL文件,我添加了这几种属性的方法) 现在可以使用的一些功能有: 利用作图工具界面完成流程图的绘制,添加可以处理的节点属性和其他一些通用功能, 利用树型结构显示流程图文件的信息(一个是临时GXL文件目录(GXL_TEMP),一个是保存已经提交的GXL文件的目录(ACTIONED)) 通过点击顶部工具栏的最后一个图标,弹出对话框输入文件名后将图GRAPH保存为GXL文件 把GXL文件提交到数据库中的功能可通过在树型栏目中对已经保存的文件点击右键选择提交流程图来运行 提交完成后,在树型栏中的第二项目,已提交流程中就生成了一个被修改了文件名的项,同时数据库中的 stem_main(节点表)和edge_control(边定义表)中就就完整的图的基本数据,可以供流程运行处理模块使用 (本人使用的是MYSQL数据库,库的名字为new_sys,有三张基本表,建表SQL在包中,请自行修改 JGRAPH中对图和顶点与边的定义与存储结构是非常简洁与实用的,利用数据库或者是GXL文件中的这些数据可以非常简单的处理一个复杂的流程图........... 该工具经过修改后,也可以实现一个实时监控界面和其它的适合于网络结构显示的工具和项目 GXL文件格式就是一种标准XML格式文件.....非常容易处理..可以脱离数据库进行流程图数据管理,效率很高 但是如果写入库中,则可以让程序更灵活一些............. 这些程序是在JBuliderX版本中完成的,我把需要用到的LIB都一起打成一个包..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值