[原创]JWFD工作流引擎设计--节点匹配搜索算法(再讨论)

国产AI芯片实战:用寒武纪MLU370低成本部署DeepSeek-R1,实测推理效果与成本分析 本文详细介绍了寒武纪MLU370芯片在部署DeepSeek-R1大模型时的实战效果与成本优势。通过实测数据对比,MLU370在推理速度、能效比和本地化服务方面表现突出,尤其适合智能客服、内容生成等场景,可显著降低硬件投入和运维成本。 阅读详情

 

 

JWFD工作流引擎设计--节点匹配搜索算法(再讨论)

NMSA  Node matching search algorithm--节点匹配搜索算法说明
   
     只所以要设计这样一个算法,原因是在设计流程引擎的过程中遇到下面的这个问题
   
    “在对称条件下带条件选择的汇聚路由问题”:
  
     问题的严格数学语言描述:在任意一个流程图中,存在N个分支点和M个汇聚点,所有汇聚点和分支点的关系有规则对称和不规则对称两种(图1中的A2的拓扑是 规则对称,A1,A3是不规则对称),每一个分支点的运行路径数S和它的实际分支路径数W有可能不相同,即S<>W和S==W的情况同时存 在,现在的问题是:在规则对称的拓扑结构下(A2),已知分支点的实际运行路径数值S,求图A2中对称汇聚点的实际访问(实际汇聚)数值K
(----图1)

     
   
     问题的描述用比较严格的语言使得这个问题更加像数学问题,其实本来就是个数学问题,只不过我没有找到这个问题的所属的数学领域,干脆自己取个名字-叫流程 拓扑分析方法
    
     该问题的现实描述(现实描述的含义是在实际的开发工作中用比较实际的语言来表述)

     已知流程分支点的运行路径数值S,求流程图中一个汇聚点的实际访问(实际汇聚)数值,通过获取该数值,使得流程运行控制器(流程引擎)能够准确的控制流程 的运转走向,即准确的控制对条件异步汇聚点放行的时机
    
     算法设计思路: 对于标准的对称的流程图而言,一个汇聚点一般来讲是应该对应一个分支点的,也就是说汇聚支路数应该和它前面的分支支路数相吻合(当然,这只是对很规则的对 称流程图模型来讲),那么如果在分支节点中如果出现了条件选择公式(或者智能脚本),那么从这个分支节点所分出来的支路,就不一定都会被选中,
    
     简单举例, 我们在分支节点中嵌入了一个条件表达式
    
     if a>2
       Then goto PATH A B  (实际运行两条分支)
       else goto PATH A B C(实际运行三条分支)
     if a=其它值
        then ..............(更多的情况)
    
     上述表达式中

     流程节点中嵌入的a值一般是要在流程实际运行过程中才能够获得,因为a的值极有可能来自一个嵌入流程的表单,而这个表单要在流程运行的时候才能够被处理, 而处理的结果是实时的传递给流程的,所以从这个方面来讲,通过预先确定a值的方法来回避这个问题是不太现实的
    
(请参考 JE论坛上面大家对这个问题的讨论  http://www.javaeye.com/topic/513430
    
     firebody同志的意见是a值可以放在数据库中
    
     ronghao同志

     意见1是”让这两个节点进行通信,可以在设计期就完成两者的互相映射“
    
     意见2是另一种实现方式是采用token。如下图所示,在OR-split节点token根据实际触发的情况,每个触发的分支产生一个新的子token, 当子 token到达OR-join节点后即可通过其访问到它的父token,再通过父token遍历其子token即可获得OR-split节点实际触发的分 支信息。

图2

     如果要采取其他的方式来处理这个问题,我比较倾向于ronghao同志的意见1,让两个关联节点进行通讯,使其互相映射在这种情况下,a的值一旦在运行状 态下被确定下来,后面和它映射的那个汇聚控制点就立即知道了这个值,那么流程引擎通过简单的运算就可以知道精确控制汇聚放行的条件K值了,这个思路非常不 错。。但是前提是要明确的知道互相映射节点是哪些,要在流程运行之前确定下来这一节点对,这个工作可以通过我设计的节点匹配算法
来完成,也可以在流程设计器设计流程的过程中,通过人工来完成,我个人认为,后者显得更加简洁明了些,但是前者也不失为一种有效的方法

(该算法的伪代码设计说明请参考我的博文 “JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充” 地址:http://comsci.javaeye.com/blog/502102 
该算法的JAVA代码  请参考 JWFD V0.96工作流开发包SRC中的org.jwfd.workflowEngines.Algorithm.TopologyAnalysis.java 文件
文件中有详细的说明  下载地址(本文附件) http://comsci.javaeye.com/blog/478323
旧版本JWFD代码开发包下载  http://d.download.youkuaiyun.com/down/1299903/comsci 
)


(希望同志们对这个问题不要放弃,我觉得里面还有很多东西可以挖掘)
    
    
     如果对采用匹配算法和节点映射都不是很感兴趣,那么ronghao同志的第二种方法-token方法也不错,这样的处理方法也很灵活,但是需要增加流程中 的控制变量,那么总体来讲就设计和开发工作量而言,ronghao同志的第一种处理方法是最优的,特别是通过在流程设计过程中确定下来匹配的节点这个办法 是在原理上和实际上比较易于理解和实现的,前提是流程设计器的设计活动中,系统需要增加一个或者几个变量来做对称节点的匹配映射工作,这个工作如果交给人 工用肉眼来完成,个人觉得显得比较方便。。哈哈,计算机算法在这个方面不如人的肉眼判断拓扑关系那么方便和直观,这也许就是当前和今后人工智能要努力的方 向了
    
     有点感觉,把这个问题的解决方法形成一个体系,并从中总结出一些系统的原理和方法论来,不过这个过程应该比较长

很多理论体系都是在经过比较漫长的岁月的沉淀之后才逐渐形成的,我想工作流系统设计也不例外。。。

【GameFramework框架】一、框架介绍 这是GameFramework框架教程的第一篇,但是博主不准备直接就讲GameFramework框架。【GameFramework框架】二、GameFramework框架介绍了。框架(Framework)通常被理解为一种基础要素的集合,它们用于承载系统的必要功能。约束性:框架定义了解决特定问题的边界,并将相关的软件组件约束在这个范围内,以保持框架的内聚性和解决问题的专注性。支撑性:框架本身不直接解决问题,而是提供一个基础的支撑结构,使得在其上构建的解决方案更为灵活和高效。 阅读详情

相关推荐

第十篇|网络子系统 ②——无损以太网、PFC/ECN、DCQCN 与拥塞可视化

网络部分了解了解

qq_37535542的博客 1876

工作流引擎的设计与实现

第四章  工作流引擎的设计与实现(一)   (2009-03-24 17:26:26) 转载▼ 标签:  工作流数据模型   工作流数据结构   工作流定义   工作流实例   it   分类: 基于工作流的政务系统--设计     工作流引擎的作用是解释流程定义,创建、执行和控制流程实例。对于

陌阡博客 1万+

USB PD快充功率监测仪:高精度嵌入式USB电压电流测量终端

USB供电已从数据接口演进为关键电源总线,尤其在PD快充场景下,工程师亟需对5V–20V宽压范围内的实时电压、电流及瞬时功率进行精准捕获。其底层原理依赖高共模抑制比的高边电流检测与分压采样+ADC数字化处理,结合LDO低噪声供电保障模拟链路精度。该类设备的技术价值在于以低成本实现协议无关的‘电气层可视化’,规避商用ASIC测试仪的黑盒局限,支撑PD充电验证、电源设计调试与教学实验等工程实践。本文介绍的开源USB表即基于N32G430 MCU与INA199电流检测芯片,覆盖USB-C输入/输出双通道监测,具备

weixin_42174098的博客 210

工作流引擎设计与实现·任务的阻塞与执行

节点名称显示名称模型类start开始StartModelapply请假申请TaskModel部门领导审批TaskModelend结束EndModel。

mldong的博客 664

Ferry工单平台部署

ferry工单平台部署

运维求生之路 1897

6种常用数据分析方法详解:从描述统计到时间序列

数据分析是连接数据与业务决策的桥梁。面对海量数据,掌握描述性统计与对比分析可快速了解现状与差距;相关分析与回归分析能揭示变量间的关联与影响大小;聚类分析用于用户分群,时间序列分析则预测未来走势。这些方法广泛应用于用户画像、销量预测、活动效果评估等场景,是数据分析师和运营人员必备的技能。系统掌握这6种核心方法的使用场景、原理逻辑与实操步骤,能够帮助读者建立完整分析框架,真正用数据驱动业务增长。

weixin_34405354的博客 335

算法刷题总结(六)搜索算法

算法解释 搜索算法:在图或树等数据结构中,通过搜索策略遍历节点,寻找可行解或最优解。其中图多是二维矩阵的形式,也可以是自己抽象出的节点和关系。 常见题型 深度优先算法(DFS,deep-first search):向深处去遍历,常用于检测环路、求最大面积等问题。可以通过栈或递归来实现(递归的好处是写起来快,缺点是实际工程应用中不好理解、容易产生栈溢出)。步骤是“修改当前节点状态(是否visited)、递归子节点”等问题。 回溯法(backtracking):一种特殊的DFS算法,常用于排列、组合、选择类

雪糕cool的博客 521

刚体转动欧拉方程:从理论到卫星姿态控制的实践

刚体转动欧拉方程是描述刚体旋转运动的基本动力学方程,在卫星姿态控制、机器人学、航空航天等领域有着广泛应用。本文将详细讲解欧拉方程的物理概念、数学推导、数值计算方法,并重点分析其在卫星姿态控制系统中的具体应用。

ScilogyHunter的博客 644

java工作流实现规则匹配_Java工作流引擎节点接收人设置20种规则讲解一

关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则适配数据库: oralce,mysql,sqlserver,Informix, PostgreSQL 达梦接受人规则,就是为了解决下一步发送人的范围所制定的各种规则。审批、生产环境有很多的不确定性,更多的时候需要自动...

weixin_42520909的博客 532

零件边界线提取处理原理详解

该程序提出了一种高效的点云边界提取方法,通过三阶段处理流程实现零件几何特征的精确提取。首先采用RANSAC算法进行坐标系标准化,包括主平面检测、点云分割和双重旋转对齐。接着使用凹包算法和RANSAC直线拟合提取底面边界。最后通过多方向密度切片分析(Z向100片、X向50片),自动选择高密度切片进行边界提取和直线拟合。算法具有鲁棒性强、处理效率高(支持OpenMP并行计算)和参数可配置等特点,能有效提取零件的几何边界特征,为后续质量检测提供基础。实验结果显示该方法能准确提取零件的多方向边界线。

weixin_45196569的博客 433

9.20华为OD机试真题 新系统 - 简单URL 路径提取器 (Java/Py/C/C++/Js/Go)

9.20华为OD机试真题 新系统 - 简单URL 路径提取器 (Java/Py/C/C++/Js/Go)

算法大师! 351

节点搜索性能改进算法

节点搜索性能改进算法 问题描述 现象描述 在树的应用中,经常要查询树中的某个结点。在树结点不多(1~10W左右)的情况,可能感受不到查询效率带来的影响,但当树结点增加到数千百万计时,查询算法的效率就直接影响到其它功能的实现。下面是本人关于算法改进的一点思路,和大家探讨。其中为我们系统中应用的算法和这里提出的解决方案提供了实现代码和算法执行效率的对照表,最后提供了另一种改进算法的思路。 缺陷

rtyou1234的专栏 896

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

JWFD工作流引擎设计--简单矩阵建模(初步讨论)

作者: comsci 发表于 2010-08-18 11:41 原文链接 阅读: 43 评论: 0 JWFD工作流引擎设计--简单矩阵建模(初步讨论) * 暂时忽略工作流状态的问题,仅仅表示工作流的拓扑结构 * * 为什么要搞这样的东东,jwfd v0.96版本中...

chenglan8953的博客 323

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

[原创]JWFD工作流引擎设计----节点匹配搜索算法(用于解决条件异步汇聚问题)

 本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://blog.youkuaiyun.com/comsci/archive/2009/02/27/4682578.aspx),我现在把我对图例A2的一个解决方案公布出来,请大家多指点 图例 节点匹配搜索算法(用于解决标准对称流程图条件

comsci的专栏 1411

[原创]JWFD工作流引擎设计--简单矩阵建模与应用(初步讨论)

暂时忽略工作流状态的问题,仅仅表示工作流的拓扑结构   为什么要搞这样的东东,jwfd v0.96版本中的引擎算法已经足以应付常见的工作流模型了,其它工作流系统的状态机模型也是比较不错的解决方案.因为在我设计0.96的引擎的时候,由于嵌入式代码模块和外部  数据(表单等)的加入,

comsci的专栏 3037

工作流引擎设计中的遍历算法的问题

今天在普元工作流的论坛上面,有一个帖子,上面有一个流程图,如下       这个流程图的拓扑结构,如果采用图形深度优先遍历算法来遍历一遍,遍历顺序的部分应该是     开始活动-> A-1=>B-4=>E-5=>NEXT    这种运行顺序在实际流程运行过程中显然有问题,实际运行

comsci的专栏 1947

JWFDv0.96开源工作流引擎设计--节点匹配搜索算法设计说明

JWFDv0.96开源工作流引擎设计                        --节点匹配搜索算法设计说明 注:这篇文章中所使用的“函数”就是指JAVA语言中的方法         作者  comsci        四川.成都        最后修改时间    2013.4.1 算法设计说明   (前两年,我曾经公布

comsci的专栏 1421

[原创]工作流自适应引擎的设计思想(初步)

      最近一段时间都在思考这样一个问题:如果我们想让一个工作流引擎能够妥善的处理由用户通过流程设计器设计出来的任意复杂(简单)的流程图,那么对这个工作流引擎的结构设计就必须很灵活,因为如果仅仅依靠一个有限规模的类与方法集合体,我们不太容易很好的处理所有可能遇到的流程图,但是经过我在JWFDv0.94-v0.96这几个版本的流程引擎设计过程中,我发现了一个潜在的,有可能比较

comsci的专栏 2916

[JWFD开源工作流]分支预测算法的出现有两个前驱条件

现在。。。80486DX已经出现。。。。。。。。。。。。。。。。。        在迈向奔腾芯片的道路上,我们遇到一个比较困难的地方        要实现高速数据处理-系统就必须获得预测算法,要做到时空预测,现在显然不太可能,所以只有考虑拓扑分支预测算法,而要实现拓扑分支预测算法,就必须先完成节点匹配搜索算法的升级和非对称拓扑分析算法。。。。 伦理片 http://www.dot

dotedy的博客 460

[原创]JWFDv0.96工作流引擎设计--嵌入公式使用和结构说明

&lt;!-- [if gte mso 9]&gt;&lt;xml&gt;&lt;w:WordDocument&gt;&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;&lt;w:DisplayHorizontalDrawingGridEvery&gt;0&lt;/w:DisplayHorizontalD...

ribishuangba 148

JWFD开源工作流矩阵引擎BUG提示

由于这个测试版本的矩阵引擎在设计的时候,没有考虑到流程图节点数量超过10个以上的问题,导致引擎在进行节点匹配的时候,出现十位数以上的匹配错误,导致引擎运行失败,正在修复这个BUG,请大家注意这个问题。

comsci的专栏 134
上一篇: [原创]工作流自适应引擎的设计思想(初步)
下一篇: [原创]物联网技术与工作流技术的结合
comsci
博客等级 码龄22年 412粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值