重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
TiDB 是 PingCAP 自主研发的开源分布式关系型数据库,具备商业级数据库的数据可靠性,可用性,安全性等特性,支持在线弹性水平扩展,兼容 MySQL 协议及生态,创新性实现 OLTP 及 OLAP 融合。
10年积累的成都网站制作、成都做网站、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有寒亭免费网站建设让你可以放心的选择与我们合作。
TiDB 3.0 版本显著提升了大规模集群的稳定性,集群支持 150+ 存储节点,300+TB 存储容量长期稳定运行。易用性方面引入大量降低用户运维成本的优化,包括引入 Information_Schema 中的多个实用系统视图、EXPLAIN ANALYZE、SQL Trace 等。在性能方面,特别是 OLTP 性能方面,3.0 比 2.1 也有大幅提升,其中 TPC-C 性能提升约 4.5 倍,Sysbench 性能提升约 1.5 倍,OLAP 方面,TPC-H 50G Q15 因实现 View 可以执行,至此 TPC-H 22 个 Query 均可正常运行。新功能方面增加了窗口函数、视图(实验特性)、分区表、插件系统、悲观锁(实验特性)。
截止本文发稿时 TiDB 已在 500+ 用户的生产环境中长期稳定运行,涵盖金融、保险、制造,互联网, 游戏 等领域,涉及交易、数据中台、 历史 库等多个业务场景。不同业务场景对关系型数据库的诉求可用 “百花齐放”来形容,但对关系数据库最根本的诉求未发生任何变化,如数据可靠性,系统稳定性,可扩展性,安全性,易用性等。请跟随我们的脚步梳理 TiDB 3.0 有什么样的惊喜。
3.0 与 2.1 版本相比,显著提升了大规模集群的稳定性,支持单集群 150+ 存储节点,300+TB 存储容量长期稳定运行,主要的优化点如下:
1. 优化 Raft 副本之间的心跳机制,按照 Region 的活跃程度调整心跳频率,减小冷数据对集群的负担。
2. 热点调度策略支持更多参数配置,采用更高优先级,并提升热点调度的准确性。
3. 优化 PD 调度流程,提供调度限流机制,提升系统稳定性。
4. 新增分布式 GC 功能,提升 GC 的性能,降低大集群 GC 时间,提升系统稳定性。
众所周知,数据库查询计划的稳定性对业务至关重要,TiDB 3.0 版本采用多种优化手段提升查询计划的稳定性,如下:
1. 新增 Fast Analyze 功能,提升收集统计信息的速度,降低集群资源的消耗及对业务的影响。
2. 新增 Incremental Analyze 功能,提升收集单调递增的索引统计信息的速度,降低集群资源的消耗及对业务的影响。
3. 在 CM-Sketch 中新增 TopN 的统计信息,缓解 CM-Sketch 哈希冲突导致估算偏大,提升代价估算的准确性,提升查询计划的稳定性。
4. 引入 Skyline Pruning 框架,利用规则防止查询计划过度依赖统计信息,缓解因统计信息滞后导致选择的查询计划不是最优的情况,提升查询计划的稳定性。
5. 新增 SQL Plan Management 功能,支持在查询计划不准确时手动绑定查询计划,提升查询计划的稳定性。
1. OLTP
3.0 与 2.1 版本相比 Sysbench 的 Point Select,Update Index,Update Non-Index 均提升约 1.5 倍,TPC-C 性能提升约 4.5 倍。主要的优化点如下:
1. TiDB 持续优化 SQL 执行器,包括:优化 NOT EXISTS 子查询转化为 Anti Semi Join,优化多表 Join 时 Join 顺序选择等。
2. 优化 Index Join 逻辑,扩大 Index Join 算子的适用场景并提升代价估算的准确性。
3. TiKV 批量接收和发送消息功能,提升写入密集的场景的 TPS 约 7%,读密集的场景提升约 30%。
4. TiKV 优化内存管理,减少 Iterator Key Bound Option 的内存分配和拷贝,多个 Column Families 共享 block cache 提升 cache 命中率等手段大幅提升性能。
5. 引入 Titan 存储引擎插件,提升 Value 值超过 1KB 时性能,缓解 RocksDB 写放大问题,减少磁盘 IO 的占用。
6. TiKV 新增多线程 Raftstore 和 Apply 功能,提升单节点内可扩展性,进而提升单节点内并发处理能力和资源利用率,降低延时,大幅提升集群写入能力。
TiDB Lightning 性能与 2019 年年初相比提升 3 倍,从 100GB/h 提升到 300GB/h,即 28MB/s 提升到 85MB/s,优化点,如下:
1. 提升 SQL 转化成 KV Pairs 的性能,减少不必要的开销。
2. 提升单表导入性能,单表支持批量导入。
3. 提升 TiKV-Importer 导入数据性能,支持将数据和索引分别导入。
4. TiKV-Importer 支持上传 SST 文件限速功能。
RBAC(Role-Based Access Control,基于角色的权限访问控制) 是商业系统中最常见的权限管理技术之一,通过 RBAC 思想可以构建最简单“用户-角色-权限”的访问权限控制模型。RBAC 中用户与角色关联,权限与角色关联,角色与权限之间一般是多对多的关系,用户通过成为什么样的角色获取该角色所拥有的权限,达到简化权限管理的目的,通过此版本的迭代 RBAC 功能开发完成。
IP 白名单功能(企业版特性) :TiDB 提供基于 IP 白名单实现网络安全访问控制,用户可根据实际情况配置相关的访问策略。
Audit log 功能(企业版特性) :Audit log 记录用户对数据库所执行的操作,通过记录 Audit log 用户可以对数据库进行故障分析,行为分析,安全审计等,帮助用户获取数据执行情况。
加密存储(企业版特性) :TiDB 利用 RocksDB 自身加密功能,实现加密存储的功能,保证所有写入到磁盘的数据都经过加密,降低数据泄露的风险。
完善权限语句的权限检查 ,新增 ANALYZE,USE,SET GLOBAL,SHOW PROCESSLIST 语句权限检查。
1. 新增 SQL 方式查询慢查询,丰富 TiDB 慢查询日志内容,如:Coprocessor 任务数,平均/最长/90% 执行/等待时间,执行/等待时间最长的 TiKV 地址,简化慢查询定位工作,提高排查慢查询问题效率,提升产品易用性。
2. 新增系统配置项合法性检查,优化系统监控项等,提升产品易用性。
3. 新增对 TableReader、IndexReader 和 IndexLookupReader 算子内存使用情况统计信息,提高 Query 内存使用统计的准确性,提升处理内存消耗较大语句的效率。
4. 制定日志规范,重构日志系统,统一日志格式,方便用户理解日志内容,有助于通过工具对日志进行定量分析。
5. 新增 EXPLAIN ANALYZE 功能,提升SQL 调优的易用性。
6. 新增 SQL 语句 Trace 功能,方便排查问题。
7. 新增通过 unix_socket 方式连接数据库。
8. 新增快速恢复被删除表功能,当误删除数据时可通过此功能快速恢复数据。
TiDB 3.0 新增 TiFlash 组件,解决复杂分析及 HTAP 场景。TiFlash 是列式存储系统,与行存储系统实时同步,具备低延时,高性能,事务一致性读等特性。 通过 Raft 协议从 TiKV 中实时同步行存数据并转化成列存储格式持久化到一组独立的节点,解决行列混合存储以及资源隔离性问题。TiFlash 可用作行存储系统(TiKV)实时镜像,实时镜像可独立于行存储系统,将行存储及列存储从物理隔离开,提供完善的资源隔离方案,HTAP 场景最优推荐方案;亦可用作行存储表的索引,配合行存储对外提供智能的 OLAP 服务,提升约 10 倍复杂的混合查询的性能。
TiFlash 目前处于 Beta 阶段,计划 2019 年 12 月 31 日之前 GA,欢迎大家申请试用。
未来我们会继续投入到系统稳定性,易用性,性能,弹性扩展方面,向用户提供极致的弹性伸缩能力,极致的性能体验,极致的用户体验。
稳定性方面 V4.0 版本将继续完善 V3.0 未 GA 的重大特性,例如:悲观事务模型,View,Table Partition,Titan 行存储引擎,TiFlash 列存储引擎;引入近似物理备份恢复解决分布数据库备份恢复难题;优化 PD 调度功能等。
性能方面 V4.0 版本将继续优化事务处理流程,减少事务资源消耗,提升性能,例如:1PC,省去获取 commit ts 操作等。
弹性扩展方面,PD 将提供弹性扩展所需的元信息供外部系统调用,外部系统可根据元信息及负载情况动态伸缩集群规模,达成节省成本的目标。
我们相信战胜“未知”最好的武器就是社区的力量,基础软件需要坚定地走开源路线。截止发稿我们已经完成 41 篇源码阅读文章。TiDB 开源社区总计 265 位 Contributor,6 位 Committer,在这里我们对社区贡献者表示由衷的感谢,希望更多志同道合的人能加入进来,也希望大家在 TiDB 这个开源社区能够有所收获。
TiDB 3.0 GA Release Notes:
这样生成,第一步,用网格建构几何体造型
1.1 用网格立方体指令MeshBox以以下参数在场景中生成一个立方体网格
◆定位方式:中心点
◆X、Y、Z网格数量:1
◆长、宽、高:120mm
4ffb78ff09ca566aa38de58d7b6d2887.png
1.2 选取这个立方体网格,在指令提示栏内键入subdivide指令,对立方体网格进行一次细分操作,回车确认后得到以下结果
0d04b57f2fee50e79c394afac4ae4825.png
▲每一个网格都被细分成4个
1.3 开启网格的控制点(F10键),用SetPt指令与操作轴来调整网格的外形,让它接近图片内底座的外形
f52515a9f6325f37500fd1c217e7e7aa.gif
1.4 使用Gumball操作轴,按住Ctrl+Shift键选取顶部的网格后挤出新网格面,以3轴收缩这些网格面,最后生成底座的凹陷特征
4d5fa7ef768f5106df6afb2ba616cdcc.gif
000a6340ad9d289bd9f32c28a368508c.png
▲得到这个结果
1.5 打开过滤器Filter,只勾选子物体及点和顶点,这样方便我们选取,然后调整顶部的造型
a952c6d5dc6de27fb0e9f3d932c5535f.png
cbaf2ad5ab060eed12f8098e6d46f66b.gif
▲每次操作完成后记得勾选停用过滤器
f7916f50e11c9480cf44a684a6d3ce7e.png
▲得到这个结果
1.6 继续用操作轴、SetPT挤出并调整出底座连接处的形状
1fe6501df44b8a8be92d6d2046aad2f0.gif
a4705350b3c2bd12b72749f9d6f80e11.gif
▲可切换至半透明显示模式,方便选取
第二步,生成环绕圆管造型
2.1 在前视图,Curve指令以放置控制点的方式建立环绕状的曲线,以用作后续生成圆管之用。
f03cc4b53cbfc6590ede9ad67334b767.gif
2.2 先确认已开启了记录建构历史,再用这曲线以Pipe指令生成圆管
d617ea1300c24145011e8d0fe7b29e5e.png
09a998212005b381ee5a68338aa7be7f.gif
▲选项中点击为不加盖
2.3 打开过滤器,只勾选曲线和控制点两项,打开这曲线的控制点来调整它的空间形态,最后使圆管符合参考图的形态
88556dfaede9a727a272934900f7a9ba.gif
▲带有建构历史来生成圆管空间形态
第三步,转换成网格进行编辑
3.1 选取圆管曲面,用Rebuild指令进行曲面重建,参数设定见下图:
24cd0f199d873aae820778487df12d91.gif
3.2 选取重建后的圆管,用Mesh指令以下图所示网格选项把曲面转换成网格,最后删除曲面只保留网格对象
92d2208636e4c465546d8b238e15f1fe.gif
3.3 按着Ctrl+Shift键,按下图所示选取并删除网格
ab673bb74102b000c1276866c9bad5cd.gif
第四步,生成细分曲面
4.1 使用3DFace指令,把底座与管子间以4边结构的方式进行逐一连接,最后再把管子的开口封闭上。
4.2 连接完成后框选整个模型,用Join指令把所有网格组合成一体
4.3 在指令提示栏中键入subdfrommesh指令,选取模型后回车确定,生成细分曲面
5c8045a7b27e55b18d7b46f00b3d3d54.gif
▲4.1-4.3步骤如动图所示
第五步,细分曲面转换成NURBS实体
5.1 当牙刷架的形态确定后,用ToNurbs指令把这个细分曲面转成NURBS曲面,最后组合成一个实体
5b20176e57bdf80ec9b32f59c5813319.gif
第六步,快速渲染
通过快速设定场景、材质、灯光后,切换到光线跟踪显示模式(Cycles引擎),即可快速得到一张效果不错的渲染图
52e36f7035dc277d18ece7a125732e93.png
点击
Rhino 6 渲染公开课_腾讯课堂ke.qq.com
3a7c009a8b39b99ca515fa7d4c568671.png
免费学习Rhino 6 产品渲染教学
欢迎关注Rhino原厂微信公众平台,每周都有新技能分享哦~
fc244b6903c2906cd9e0e4abf8fd76f4.png
相关资源:RHINO犀牛软件入门教程-软考工具类资源-CSDN文库
打开CSDN APP,看更多技术内容
图片跟着鼠标_Rhino细分建模分享 Part2鼠标底部造型与细节_邓凌佳的博...
目前RhinoWIP 还没有直接提供细分顶点、边线与片面的过滤工具,所以选择的时候需要比较细心一些,推荐使用Ctrl+Shift+鼠标左键选取子物件的方式,选取细分特征时双击鼠标左键还可以实现快速 Loop选择,例如上图中最后的RemoveCrease 2.2细分建模...
继续访问
检测鼠标是否双击_Rhino细分建模分享 Part3 鼠标简易结构设计_weixin_39...
这里提供两个方法进行干涉检查,RhinoWIP的新增功能 Clash ,这工具可以分两组选择,然后在两组之间快速的找到干涉的位置。 2.2 第二个方法是使用两组物件之间计算相交线的工具 IntersectTwoSets,见以下GIF: 提示: 如果使用 IntersectTwoSets...
继续访问
pipe flow expert 教程
pipe flow expert 教程 2013版本
PipeTransformer:适用于大规模模型分布式训练的自动化弹性管线
内容导读 本文围绕一篇论文展开,探讨了 PyTorch DDP (torch.nn.parallel) 以及 Pipeline (torch.Distributed.Pipeline) 的加速混合。 本文首发自微信公众号「PyTorch 开发者社区」 论文题目: PipeTransformer: Automated Elastic Pipelining for Distributed Training of Large-scale Models(PipeTransformer: 用于大规模模型分布式训.
继续访问
史上最全三维建模软件汇总_普通网友的博客_最容易入门的...
3、Rhino Rhinocero,简称Rhino,又叫犀牛,是一款三维建模工具。不过不要小瞧它,它的基本操作和AutoCAD有相似之处,拥有AutoCAD基础的初学者更易于掌握犀牛。目前广泛应用于工业设计、建筑、家具、鞋模设计,擅长产品外观造型建模。 4、Zbrush ...
继续访问
OCTO 2.0:美团基于Service Mesh的服务治理系统详解_美团技术团队的博客...
基础设施是指美团现有的服务治理系统OCTO1.0,包括MNS、KMS(鉴权管理服务)、MCC(配置管理中心)、Rhino(熔断限流服务)等。这些系统接入到OCTO 2.0的控制平面,避免过多重构引入的不必要成本。
继续访问
进程(四):进程间通信 —— Queue(队列)和Pipe(管道)
目录 进程间通信 队列 概念介绍 方法介绍 代码实例 生产者消费者模型 JoinableQueue([maxsize]) 管道(了解) 进程间通信 IPC(Inter-Process Communication) 队列 概念介绍 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。 ●Queue([maxsize]) 创建...
继续访问
PIPE 使用介绍
文章目录一、pipe 简介二、pipe 代码示例 一、pipe 简介 pipe 也叫无名管道,有如下特点: 半双工,同一时刻数据只能一端操作 数据只能从一端写入,从另一端读出 存储在内存缓冲区,不存储在文件系统中,只能用于父子进程通信 数据一旦从管道中读走,就从管道中释放空间 二、pipe 代码示例 创建无名管道,其中 fd[0] 固定用于读管道,而 fd[1] 固定用于写管道 一般文件 I/O 的函数都可以用来操作管道( lseek() 除外) 默认情况当管道里没有数据时,另一个进程调用 read(
继续访问
3dmax软件给模型添加标注尺寸教程_3d模型的博客_3dmax做的模型...
步骤一、使用3dmax软件的“工具”—“测量距离”,可以测量任意位置的距离。包括模型之间的尺寸。 步骤二、我们可以看到使用3dmax软件测量距离工具后的模型尺寸结果。接下来我们需要将尺寸数据添加标注到模型上。
继续访问
Rhino5曲面造型插件Autodesk T-Splines v4.0.r11183_rrjjzzyy00的博客...
Rhino5曲面造型插件Autodesk T-Splines v4.0.r11183 Autodesk T-Splines结合了Nurbs和细分表面建模技术的特点,虽然和Nurbs很相似,不过它极大地减少了模型表 面上的控制点数目,可以进行局部细分和合并两个Nurbs面片等操作,使你的建模操作...
继续访问
Go语言并发模型:像Unix Pipe那样使用channel
简介 Go语言的并发原语允许开发者以类似于 Unix Pipe 的方式构建数据流水线 (data pipelines),数据流水线能够高效地利用 I/O和多核 CPU 的优势。 本文要讲的就是一些使用流水线的一些例子,流水线的错误处理也是本文的重点。 阅读建议 数据流水线充分利用了多核特性,代码层面是基于 channel 类型 和 go ...
继续访问
pipe建模工具使用_PDMS进行管道建模的一些方法及操作技巧,快来Get!
2.通过网络实现多专业实时协同设计、真实的现场环境,多个专业组可以协同设计以建立一个详细的3D数字工厂模型,每个设计者在设计过程中都可以随时查看其它设计者正在干什么;3.交互设计过程中,实时三维碰撞检查,PDMS能自动地在元件和各专业设计之间进行碰撞检查,在整体上保证设计结果的准确性;4.拥有独立的数据库结构,元件和设备信息全部可以存储在参数化的元件库和设备库中,不依赖第三方数据库;5.开放的开发...
继续访问
8款超级好用的3D建模软件上下篇_李旭me的博客_3d建模软件
Rhino,又称犀牛,是由美国Robert McNeel公司于1998年推出的一款基于NURBS为主三维建模软件。功能齐全、价格实惠、对用户友好,很多中小工作室都在使用Rhino来设计产品。 作为近年来在工业、建筑等领域最流行的软件,Rhino的建模思路十分自由,但...
继续访问
浅谈管道模型(Pipeline)
本篇和大家谈谈一种通用的设计与处理模型——Pipeline(管道)。 Pipeline简介 Pipeline模型最早被使用在Unix操作系统中。据称,如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明【1】。我认为管道的出现,所要解决的问题,还是软件设计中老生常谈的设计目标——高内聚,低耦合。它以一种“链式模型”来串接不同的程序或者不同...
继续访问
pipe建模工具使用_GraphPipe
软件简介GraphPipe 是甲骨文开源的通用深度学习模型部署框架。官方对 GraphPipe的定义为,这是一种协议和软件集合,旨在简化机器学习模型部署并将其与特定于框架的模型实现分离。甲骨文表示,这一新工具可提供跨深度学习框架的模型通用 API、开箱即用的部署方案以及强大的性能。GraphPipe 为在网络上传递张量数据(tensordata)提供了一个标准、高性能的协议,以及提供了客户端和服务...
继续访问
Select模型(PIPE)
Lin中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种: (1)阻塞I/O (2)非阻塞I/O (3)I/O复用(select和poll) (4)信号驱动I/O(SIGIO) (5)异步I/O 其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准备
继续访问
深入理解PIPE
转载: 在linux中要进行进程间通信有多种方法:pipe、fifo、共享内存,信号量,消息队列,共享文件等等。其中pipe和fifo 使用最广泛,二者的区别为pipe为匿名管道,只能用在有父子关系的进程间通信,而fifo可以通过文件系统中的一个文件取得,所以不受上述限制。作为父子进程间通信的通道,pipe同样可以看作是一个先进先出的
继续访问
最新发布 HQoS配置学习
传统的QoS基于端口进行流量调度,无法区分用户和用户不同的业务。HQoS可以针对每个用户的业务流进行队列调度。
继续访问
犀牛重建曲面_犀牛建模常用命令及思路分析
犀牛建模常用命令及思路分析对于新手刚接触犀牛建模的软件都是比较懵懂,有许多的细节都不太了解,所以需要许多资料和教程来教新手学会这些技能,从建模到渲染这些步骤,好的技术都是不断操练才有所效果的,一起来看看给新人的犀牛建模常用技巧!首先我们大家要对视图进行认识了解视图一般默认为四个视图(正视图、顶视图、透视图、右视图)也可以根据自己的需求更改添加视图点击视图名称右键里面可以根据自己的需要更改视图的模式...
继续访问
Linux网络编程 - 在服务器端运用进程间通信之管道(pipe)
本文主要讲解进程间通信之一的管道(匿名管道)方式,讨论Linux系统中管道的工作原理及其使用方法,并将管道机制运用在Linux网络编程之中。
继续访问
热门推荐 Linux进程间通信分类 以及 pipe的原理实现
一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种
继续访问
Rhino显示左边的工具栏
步骤 顶部菜单“工具” “选项” 左边的“Rhino选项” 展开“工具列” “大小和型式” 勾选“显示边栏” 确定
继续访问
pipe建模工具使用_pipe4.3 petri网软件
【实例简介】petri网建模工具pipe4.3,需要先配置java环境【实例截图】【核心代码】PIPEv4.3.0├── __MACOSX│ └── PIPEv4.3.0└── PIPEv4.3.0├── launch.bat├── launch.sh├── Pipe│ ├── cfg│ │ ├── classification.properties│ │ ├── comp...
继续访问
7分钟学会匿名管道pipe()的使用(内附完整代码测试)
7分钟学会匿名管道pipe()的使用(内附完整代码测试)
继续访问
细分曲面—增加细分曲面对象
NURBS是大部分三维软件支持的一种优秀的建模方式,它能很好的控制物体表面的曲线度,从而创建出更逼真、更生动的造型。NURBS是非均匀有理样条曲线的缩写。 Cinema 4D提供的NURBS建模方式分为细分曲面、挤压、旋转、放样、扫描和贝塞尔6种。 细分曲面 : 挤压 旋转 放样 扫描 贝塞尔 ...
继续访问
Rhino 6 偏移曲面 选项有很多玄机
Rhino 6 偏移曲面 选项 要打开圆角选项 偏移的曲面就是一个整体。 倒角可以选择两面的一面曲线来倒角。
继续访问
linux下面的pipe命令
pipe命令在linux shell中是很重要的概念管道pipe,意思是上一次命令的输出是下一个命令的输入,但是,我们知道,一个命令的输出,是没有固定格式的如ls -l一样,输出的是大段大大段的数据,那么我们怎么把这些数据格式化成为我们下一个命令能用的呢?这就要用linux下面的一些管道命令了;1)cut: cut -d “分隔符” -f "区快" -c "字符界限" 如: cut /et
继续访问
rhino细分工具讲解
pipe建模工具使用
写评论
Gfast管理系统采用go语言开发,基于GF(Go Frame)的后台管理系统,现增加工作流引擎模块开源发布,实现工作流引擎与业务解绑,不同业务数据均可接入,以业务数据驱动的状态机机制,让系统更具可用性,智能应用型,便捷设计性。
主要特性
基于 jsPlumb 可视化设计流程图,接入element-ui前后分离模式,数据与界面分开便于管理和维护,设计器已封装为组件,既可单独将流程设计器使用在其他基于element-ui的前端项目的系统。
支持可视化界面设计,支持拖拽式流程绘制,支持节点属性设置
可支持工作流设计开发管理,流程权限与后台权限双重认证
可以对步骤进行管理、读取、验证流程基本信息是否正确划分权限的人员可对流程进行终止,代审完善的流引擎机制,通过事务控制,流程运行安全稳定
规范的命名空间,可拓展的集成化开发,支持 直线式、会签式、转出式、同步审批式等多格式的工作流格式
可配置流程模型、流程节点规则、分支条件规则等
Gfast 工作流引擎1.0 开源版
链接地址:
界面截图:
演示地址:
登录账号:test
登录密码:123456
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
本节我们分享一个超轻量级的工作流引擎 go-workflow ,基本架构同Activiti工作流有些相似,但是它更精简,更轻量,它是一个工作流微服务。它将所有的无关流程的数据,包括用户、用户组等信息从服务中解耦出去,go-workflow只纪录流程的流转,同时使用json数组替代bpmn来生成流程定义,简化流程定义的生成。
表 procdef 用于保存流程的配置,
主要字段有:
表 proc_inst 用于保存流程实例,当用户启动一个流程时,就会在这个表存入一个流程实例,
主要字段有:
表 execution 用于保存执行流,当用户启动一个流程时,就会生成一条执行流,之后的流程就会按照执行流的顺序流转,
比如:开始-主管审批-财务审批-人事审批-结束 ,
主要的字段有:
表 identitylink 用于保存任务task的候选用户组或者候选用户以及用户所参与的流程信息,
主要字段有
表 task 用于保存任务,
主要字段有:
历史数据表包括 execution_history,identitylink_history,proc_inst_history,task_history这些表字段同正常的表相同,每隔20秒,将已经结束的流程数据会自动迁移过来
启动 go-workflow 微服务后,可以在浏览器中输入: 进行存储
具体见 example.md 说明文档
通过调用 StartProcessInstanceByID 方法来启动流程实例,
主要涉及:
调用方法 Complete()方法来执行任务的审批,
涉及方法:
调用方法 WithDrawTask() 方法来执行任务的撤回
更多内容可以参考其官方 README