多租户工作流隔离数据处理方法、装置以及电子设备与流程
本技术涉及数据处理,尤其是涉及一种多租户工作流隔离数据处理方法、装置以及电子设备。
背景技术:
1、在 saas 化与企业级流程管理系统中,传统多租户工作流平台通常采用全局共享流程模板、统一数据库存储、单引擎驱动执行的基础架构运行。系统通过租户标识区分不同组织数据,将流程模板、流程节点、表单配置、权限规则统一存储在公共数据表中,租户访问流程时由引擎统一加载并通过权限过滤展示对应流程资源。
2、目前主流的多租户工作流系统已在基础隔离与节点差异化能力上取得一定进展:实现了租户级基础数据隔离,支持在公共表单中配置自定义属性字段,并通过条件判断逻辑实现同一流程内不同节点的功能差异化;同时可基于节点维度配置不同的操作权限,使不同角色在不同流程节点拥有对应的查看、编辑、提交等操作能力,一定程度上满足了多租户的基础个性化需求。但是,现有系统仅实现租户级粗粒度数据隔离与节点级权限隔离,导致隔离机制的完整性较低。
技术实现思路
1、本技术的目的在于提供一种多租户工作流隔离数据处理方法、装置以及电子设备,以解决隔离机制的完整性较低的技术问题。
2、第一方面,本技术提供了一种多租户工作流隔离数据处理方法,所述方法包括:
3、获取租户数据、模板数据和工作流数据,基于所述租户数据、所述模板数据和所述工作流数据建立租户基础表、流程节点联动表及下载模板表;
4、对全部的所述租户基础表、所述流程节点联动表以及所述下载模板表均添加第一标识与第二标识的双标识字段,所述第一标识表示以租户id为一级隔离标识,所述第二标识表示以流程节点id为二级隔离标识,以通过所述第一标识与所述第二标识的双层隔离标识使租户与流程节点隔离存储;
5、响应于当前租户针对下载模板的上传操作,将所述当前租户的当前租户id对应的当前第一标识与所述上传操作对应选中的目标流程节点id对应的目标第二标识写入所述下载模板表,以使所述下载模板的租户与流程节点双层联动隔离存储。
6、在一个可能的实现中,在所述基于所述租户数据、所述模板数据和所述工作流数据建立租户基础表、流程节点联动表及下载模板表之后,还包括:
7、在所述流程节点联动表对应的流程表中添加所述第一标识、所述第二标识以及第三标识的加载类型字段;所述流程表中的所述第一标识用于表示流程所属租户,所述流程表中的所述第二标识用于表示流程对应节点,所述第三标识用于表示流程的加载模式;
8、响应于检测到租户进入目标流程节点,获取当前登录用户对应的当前登录第一标识与所述目标流程节点的第一当前节点对应的当前第二标识,并将所述当前登录第一标识和所述当前第二标识同时带入至流程加载接口与下载模板列表接口;
9、响应于针对后端数据库的查询指令,在所述查询指令对应sql语句中添加关于所述当前登录第一标识和所述当前第二标识的目标字段,所述目标字段表示仅返回所述当前登录用户和所述第一当前节点对应的流程模板数据与下载模板元数据,且不加载任何与所述流程模板数据及所述下载模板元数据无关的资源;
10、响应于所述后端数据库对应的前端接收数据,根据节点配置动态渲染流程页面、表单组件、操作按钮与下载模板列表;
11、响应于针对下载模板文件的下载操作,根据所述当前登录第一标识和所述当前第二标识从所述下载模板表中查询所述下载模板文件对应的模板文件路径,通过所述模板文件路径调用poi-tl引擎定向加载所述下载模板文件并填充数据后作为所述下载操作的反馈结果。
12、在一个可能的实现中,在所述对全部的所述租户基础表、所述流程节点联动表以及所述下载模板表均添加第一标识与第二标识的双标识字段之后,还包括:
13、响应于针对图形用户界面中流程节点的配置操作,显示针对下载模板的配置子界面,所述配置子界面用于租户上传新下载模板,以及从已有下载模板库中选择下载模板与所述配置操作对应的第二当前节点绑定;
14、将所述配置子界面对应的所有配置数据统一存储至所述流程节点联动表中对应扩展后的节点联动表;所述节点联动表中每个节点对应绑定多个不同类型的下载模板。
15、在一个可能的实现中,在所述将所述配置子界面对应的所有配置数据统一存储至所述流程节点联动表中对应扩展后的节点联动表之后,还包括:
16、响应于检测到流程运行至所述第二当前节点,根据所述第一标识与所述第二当前节点对应的所述第二标识查询所述节点联动表并自动加载对应表单页面以及显示对应权限按钮并执行对应节点规则,在下载区域显示所述节点联动表中所述第二当前节点对应绑定的所有下载模板。
17、在一个可能的实现中,在所述对全部的所述租户基础表、所述流程节点联动表以及所述下载模板表均添加第一标识与第二标识的双标识字段之后,还包括:
18、对原始租户缓存表进行扩展并新增资源类型字段;所述资源类型字段用于区分流程数据和下载模板,所述资源类型字段包括所述第一标识、所述第二标识、资源类型、缓存键、缓存等级以及缓存失效时间中的至少一种;
19、启动定时任务并将高于预设访问频率的高频访问的目标租户的所述下载模板元数据与模板文件字节流加载至所述目标租户对应租户专属缓存分区;不同租户的缓存分区相互隔离,以防热门租户模板占满全局缓存;
20、建立租户对应独立的poi-tl渲染线程池,并根据租户等级对所述渲染线程池分配不同大小的线程池资源,以使模板渲染资源的隔离分配;
21、建立下载模板专属的节点动态路由组件,根据所述第一标识通过所述节点动态路由组件将下载模板路由至对应租户的所述缓存分区与所述渲染线程池,并根据所述第二标识匹配对应下载模板专属的渲染逻辑。
22、在一个可能的实现中,在所述根据所述第一标识通过所述节点动态路由组件将下载模板路由至对应租户的所述缓存分区与所述渲染线程池,并根据所述第二标识匹配对应下载模板专属的渲染逻辑之后,还包括:
23、响应于针对下载模板的下载请求,优先从所述租户专属缓存分区读取所述模板文件字节流,如果所述租户专属缓存分区未命中则查询数据库与文件系统;
24、在渲染时利用当前租户对应专属的所述渲染线程池执行poi-tl渲染操作,以提升下载模板的下载效率与系统稳定性。
25、在一个可能的实现中,所述基于所述租户数据、所述模板数据和所述工作流数据建立租户基础表、流程节点联动表及下载模板表,包括:
26、基于所述租户数据创建租户基础表,所述租户基础表用于存储租户唯一标识、租户名称、状态和配置数据中的至少一种;所述第一标识作为全局唯一的一级隔离标识,所有流程资源均以所述第一标识的字段进行租户区分;
27、基于所述工作流数据创建流程节点联动表,所述流程节点联动表用于存储流程与节点的关联关系,所述流程节点联动表中的关键字段包括id唯一标识、所属租户、流程 id、节点 id和节点配置数据中的至少一种;
28、基于所述模板数据创建下载模板表,所述下载模板表的关键字段包括:id模板唯一标识、所属租户、关联节点、模板名称、模板类型、模板文件存储路径、模板版本、创建时间以及更新时间中的至少一种;
29、全部表单、权限、缓存数据表均添加有所述第一标识与所述第二标识的双标识字段,以使每一项流程资源均归属到具体租户与具体节点。
30、第二方面,本技术提供了一种多租户工作流隔离数据处理装置,包括:
31、建立模块,用于获取租户数据、模板数据和工作流数据,基于所述租户数据、所述模板数据和所述工作流数据建立租户基础表、流程节点联动表及下载模板表;
32、添加模块,用于对全部的所述租户基础表、所述流程节点联动表以及所述下载模板表均添加第一标识与第二标识的双标识字段,所述第一标识表示以租户id为一级隔离标识,所述第二标识表示以流程节点id为二级隔离标识,以通过所述第一标识与所述第二标识的双层隔离标识使租户与流程节点隔离存储;
33、写入模块,用于响应于当前租户针对下载模板的上传操作,将所述当前租户的当前租户id对应的当前第一标识与所述上传操作对应选中的目标流程节点id对应的目标第二标识写入所述下载模板表,以使所述下载模板的租户与流程节点双层联动隔离存储。
34、第三方面,本技术又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
35、第四方面,本技术又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
36、本技术带来了以下有益效果:
37、本技术提供的一种多租户工作流隔离数据处理方法、装置以及电子设备,能够获取租户数据、模板数据和工作流数据,基于所述租户数据、所述模板数据和所述工作流数据建立租户基础表、流程节点联动表及下载模板表;对全部的所述租户基础表、所述流程节点联动表以及所述下载模板表均添加第一标识与第二标识的双标识字段,所述第一标识表示以租户id为一级隔离标识,所述第二标识表示以流程节点id为二级隔离标识,以通过所述第一标识与所述第二标识的双层隔离标识使租户与流程节点隔离存储;响应于当前租户针对下载模板的上传操作,将所述当前租户的当前租户id对应的当前第一标识与所述上传操作对应选中的目标流程节点id对应的目标第二标识写入所述下载模板表,以使所述下载模板的租户与流程节点双层联动隔离存储;本方案中,通过租户基础表、流程节点关联表以及下载模板表的所有表均增加第一标识与第二标识的双标识字段,而且以租户id即第一标识为一级隔离标识、以节点id即第二标识为二级隔离标识,将所有流程资源与双标识绑定,这种第一标识与第二标识的双层联动隔离标识能够使租户与节点的绑定隔离,将隔离范围从传统的流程数据、节点配置、表单权限延伸至下载模板文件,即将隔离粒度从租户级数据、节点级权限延伸至下载模板等核心业务资源,结合下载模板表实现下载模板的租户与流程节点双层联动隔离,实现全链路资源隔离,突破传统仅租户级粗粒度隔离的局限,构建全链路、细粒度、可扩展的资源隔离机制,使不同租户、同一流程不同节点的下载模板文件完全独立存储与管理,构建全链路、细粒度的资源隔离体系,解决了隔离机制的完整性较低的技术问题,提升了系统扩展性与业务适配性。
38、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com