一种基于动态数据表的工作流管理系统的制作方法
本发明涉及一种数据处理系统,特别是一种基于动态数据表的工作流管理系统。
背景技术:
1、随着企业数字化转型的深入,传统的静态表单和固定流程的工作流系统已难以满足企业快速变化的业务需求,现有技术主要存在以下缺陷:
2、第一,静态表结构难以适应业务变化,传统方案在数据库设计阶段就固化了字段定义,使用预定义的固定表结构,当业务字段发生变化时需要修改数据库表结构,涉及停机维护和数据迁移,缺乏动态扩展能力,影响系统可用性。
3、第二,流程配置与数据操作缺乏联动机制,现有方案中流程节点与数据操作相互独立,缺乏数据驱动层来连接数据变更和流程执行,难以实现数据变化触发流程流转的自动化场景。
4、第三,并发控制和分布式协调能力弱,现有方案多采用单机架构设计,在高并发场景下,缺乏完善的分布式锁机制,难以保证数据操作的一致性。
5、第四,多租户隔离能力不足,大多数系统不支持真正的多租户架构,不同业务分支的数据混存在一起,未考虑租户隔离,容易造成数据越权访问的安全隐患。
6、第五,部署运维复杂,现有方案在部署时需要预装特定的运行环境及依赖,环境兼容性问题突出,增加了运维的复杂度。
7、故此亟需开发一种基于动态数据表的工作流管理系统来解决现有技术中的问题。
技术实现思路
1、本发明的目的在于提供一种基于动态数据表的工作流管理系统,能够提升业务敏捷性、保障系统稳定可靠和降低运维成本,且结构简单,使用方便,以解决上述背景技术中提出的难以适应业务变化、缺乏联动机制、并发控制和分布式协调能力弱、多租户隔离能力不足以及部署运维复杂的问题。
2、为实现上述目的,本发明提供如下技术方案:
3、一种基于动态数据表的工作流管理系统,包括:
4、基础设施层,基于常驻内存框架实现服务,使用内存数据结构存储系统进行缓存和分布式锁,使用关系型数据库进行数据持久化存储;
5、数据访问层,包括动态数据表管理模块、通用数据模型、过滤器引擎、操作日志记录模块、字段验证引擎和数据比对引擎;所述动态数据表管理模块用于实现数据表的元数据定义和运行时创建,所述通用数据模型提供统一的增删改查操作接口;
6、业务逻辑层,包括数据驱动引擎、工作流引擎、审批引擎和事件驱动引擎;所述数据驱动引擎包括数据变更拦截器、规则匹配器、触发条件评估器和锁获取模块,所述数据变更拦截器与通用数据模型的增删改方法耦合,以在数据变更时触发规则匹配器查询驱动规则;所述触发条件评估器与过滤器引擎相连,以评估当前数据是否满足触发条件;所述锁获取模块通过分布式锁函数获取分布式锁后,在事务保护下调用业务逻辑;所述工作流引擎用于管理流程定义、实例化和状态流转;
7、应用服务层,包括多租户隔离模块、多语言支持模块和权限控制模块;所述多租户隔离模块通过业务分支代码实现租户数据隔离;
8、所述数据驱动引擎在数据发生变更时执行以下步骤:拦截数据操作,在数据模型的增删改方法中设置钩子;匹配驱动规则,查询该数据表配置的驱动规则;评估触发条件,使用过滤器引擎评估当前数据是否满足触发条件;获取分布式锁,向所述内存数据结构存储系统发送带有原子性参数的锁获取请求以获取分布式锁;执行驱动逻辑,在事务保护下执行驱动配置的业务逻辑;记录操作日志,将数据变更写入日志表;
9、通过所述动态数据表管理模块实现运行时扩展以避免停机维护,通过所述数据驱动引擎实现数据变化触发流程的闭环,通过所述分布式锁机制确保高并发场景下的数据一致性。
10、通过采用上述技术方案,构建了系统的分层架构,并通过数据驱动引擎在数据变更时执行拦截、匹配、加锁、执行和记录,实现了数据表运行时扩展、数据变化自动触发业务流程闭环以及高并发下数据一致性的整体功能。
11、作为本发明进一步的方案:所述动态数据表管理模块通过字段元数据表存储数据表的字段元数据,包括字段名称、类型、长度、显示配置、验证规则、关联关系,并通过字段分组表实现字段的分组展示;当配置新的数据表时,根据元数据生成建表语句,执行建表语句创建物理表,将元数据缓存至内存数据结构存储系统,创建对应的数据操作日志表;在运行时添加新字段时,执行用于添加字段的表结构修改指令,更新内存数据结构存储系统中的字段元数据缓存,对现有数据的空值填充默认值。
12、通过采用上述技术方案,通过字段元数据表存储配置,并在运行时动态生成建表语句和新增字段语句,实现了数据表结构的灵活扩展、元数据缓存同步以及现有数据默认值填充的功能。
13、作为本发明进一步的方案:所述通用数据模型通过通用模型类实现数据的统一操作,包括:数据查询接口用于查询,数据插入接口用于插入并自动记录操作日志,数据更新接口用于更新并支持字段级变更追踪,数据删除接口用于删除并采用软删除机制。
14、通过采用上述技术方案,通过通用模型类提供统一的增删改查接口,实现了数据操作规范化、操作日志自动记录、字段级变更追踪以及软删除机制的功能。
15、作为本发明进一步的方案:所述字段验证引擎实现多层验证机制,包括:通过字段验证规则表实现字段级别的验证规则,支持表级唯一性检查,通过正则表达式验证字段格式,支持调用自定义脚本语言函数进行复杂验证;所述多层验证机制还包括数据拦截器,所述数据拦截器包括在数据插入前执行预处理的创建拦截器和在数据更新前执行预处理的更新拦截器,所述拦截器通过命名空间动态加载并支持链式调用。
16、通过采用上述技术方案,通过字段验证规则表和数据拦截器,实现了数据操作前的严格格式校验、唯一性检查、自定义复杂验证及链式预处理逻辑的功能。
17、作为本发明进一步的方案:所述系统提供动态模型实例化函数实现数据模型的动态创建,所述动态模型实例化函数从缓存或数据库获取表元数据,获取字段列表和结构化数据字段配置,创建通用模型实例并设置缓存;所述动态模型实例化函数具有延迟加载、缓存优化和类型感知特性,自动识别结构化数据字段并执行序列化与反序列化。
18、通过采用上述技术方案,通过动态模型实例化函数从缓存或数据库获取配置,实现了通用模型的延迟加载、结构化数据的自动识别与序列化处理功能。
19、作为本发明进一步的方案:所述权限控制模块通过权限配置表实现数据权限管理,支持应用用户权限、应用节点用户权限、应用节点用户过滤权限、应用节点规则用户权限、流程节点用户权限、流程节点用户过滤权限、流程节点规则用户权限;通过权限授予方法授予指定对象的权限,通过权限撤销方法撤销指定对象的权限,通过权限使用检查方法检查权限是否正在被使用;权限隔离机制基于业务分支代码的数据隔离、基于用户角色的数据访问控制以及基于流程节点的数据操作权限,所述权限配置表存储于关系型数据库中,并通过所述数据访问层提供的统一接口进行读取和更新,所述权限验证模块在用户访问数据时,通过查询该表并依据业务分支代码和用户角色字段进行权限校验。
20、通过采用上述技术方案,通过权限配置表及多种权限类型,实现了基于业务分支、用户角色和流程节点的细粒度多租户数据隔离与权限管控功能。
21、作为本发明进一步的方案:所述系统采用内存数据结构存储系统与文件结合的多层缓存策略,包括元数据缓存、列表映射缓存和配置缓存;系统集成全文搜索引擎,配置可搜索字段和可过滤字段,在数据变更时自动更新搜索索引以提供全文搜索响应。
22、通过采用上述技术方案,通过多层缓存策略和全文搜索引擎集成,实现了元数据高效缓存、查询条件映射及数据变更后索引自动更新的高性能检索功能。
23、作为本发明进一步的方案:所述工作流引擎使用流程主表、流程版本表、流程节点表、节点连接表、分支规则表、流程分割表定义工作流;当触发流程启动时,通过启动条件检查表检查启动条件,通过流程分割表匹配适用的流程版本,创建流程实例表记录流程实例和流程步骤实例表记录流程步骤实例,执行节点的初始化驱动;流程流转通过流程流转服务实现,支持排他分支和并行分支,分支规则通过过滤器引擎实现。
24、通过采用上述技术方案,通过多张工作流定义表和流转服务,实现了流程启动检查、版本匹配、实例化、节点初始化及排他与并行分支流转控制的功能。
25、作为本发明进一步的方案:所述事件驱动引擎在业务数据满足推送条件时,触发推送事件将请求全局唯一标识符发送至队列,初始化推送消费者从队列获取请求标识符,查询推送配置,根据推送模板和业务数据生成多语言推送内容,将推送内容写入邮件推送表和即时通讯推送表,将推送任务投递至邮件发送队列和即时通讯发送队列;所述多语言推送内容根据用户语言偏好的动态生成,从语言信息表加载系统支持的语言列表,生成支持富文本的超文本标记语言邮件内容。
26、通过采用上述技术方案,通过队列和消费者机制,实现了业务数据触发后根据用户语言偏好动态生成并异步发送多语言富文本推送消息的功能。
27、作为本发明进一步的方案:所述系统支持将整个脚本语言应用打包为单一执行文件,使用归档格式文件将应用代码打包为归档文件,下载脚本语言微执行程序,将自定义配置文件注入至二进制头部,将归档文件追加至脚本语言微执行程序后面,添加执行权限生成执行文件;所述系统通过对象关系映射框架实现数据库连接池机制,在数据驱动执行、流程流转和批量操作场景下使用数据库事务,默认使用可重复读隔离级别。
28、通过采用上述技术方案,通过将脚本应用打包为单一执行文件及使用数据库连接池和事务管理,实现了系统简化部署运维及数据库连接高效复用与一致性保障的功能。
29、与现有技术相比,本发明的有益效果是:
30、1、本发明通过基于元数据动态创建数据表并引入数据驱动引擎,能够实现数据表结构的运行时灵活扩展及数据变更自动触发业务流程的闭环,提升业务敏捷性。
31、2、本发明通过在数据操作中引入分布式锁和事务保护机制,能够确保在高并发场景下数据操作与流程流转的一致性,提升系统的可靠性和稳定性。
32、3、本发明通过多租户隔离模块和细粒度权限控制,能够实现不同租户数据和配置的完全独立,保障系统数据安全。
33、4、本发明通过将应用打包为单一可执行文件,能够简化系统部署与运维流程,避免环境兼容问题。
34、本发明的其他特点和优点将会在下面的具体实施方式、附图中详细的揭露。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com