[發明專利]一種基于activiti自定義表單的高并發工作流審批方法在審
| 申請號: | 202110683401.1 | 申請日: | 2021-06-21 |
| 公開(公告)號: | CN113312181A | 公開(公告)日: | 2021-08-27 |
| 發明(設計)人: | 羅宇豪;徐士強;魏金雷;孫思清 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F16/28;G06F16/23;G06F16/27 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 闞恭勇 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 activiti 自定義 表單 并發 工作流 審批 方法 | ||
本發明提供一種基于activiti自定義表單的高并發工作流審批方法,屬于工作流領域,本發明可以根據公司業務邏輯的不同創建自定義表單和自定義數據庫,根據流程節點的注釋類型不同,對不同類型的流程節點進行不同的處理。創建流程實例時,使用Redis鎖保存流程實例id,實例名稱,進行實例名稱的查重去重。
技術領域
本發明涉及工作流領域,尤其涉及一種基于activiti自定義表單的高并發工作流審批方法。
背景技術
工作流是每個公司涉及到業務工作時都會使用的,現在的開源框架中,activiti和flowable一直獲得國內技術人員的青睞。相對于flowable,activiti的使用人數更多。Activiti5的擴展性強,基本能夠完成國內工作流程中遇到的復雜業務邏輯。Flowable的邏輯接口大部分都是全新的,由公司原使用的activiti5直接跳躍到flowable難度比較大,因此選擇了相對改動比較小的Activiti7。
Acitiviti為了支持復雜的業務邏輯和不同的數據類型及結構,提供了可以直接訪問和修改本地數據庫以及執行自定義sql語句的NactivQuery接口,執行自定義的sql語句,并存入自定義數據庫中。
Redis是一個內存中的數據接口存儲系統,可以用作數據庫、緩存和消息中間件。Redis是一種key-value結構的存儲系統,支持string(字符串)、list(鏈表)、set(集合)、zset(sorted set--有序集合)和hash(哈希類型),是一種高性能的數據存儲系統。可以替代Java中一些非線程安全的類進行高并發操作。
發明內容
為了解決以上技術問題,本發明提供了一種基于activiti自定義表單的高并發工作流審批方法,解決高并發情況下的流程實例名稱查重和審批。
本發明的技術方案是:
一種基于activiti自定義表單的高并發工作流審批方法,根據業務邏輯的不同創建自定義表單和自定義數據庫,根據流程節點的注釋類型不同,對不同類型的流程節點進行不同的處理;創建流程實例時,使用Redis鎖保存流程實例id,實例名稱,進行實例名稱的查重去重。
進一步的,
包括四個部分:自定義數據、基于Redis的緩存實例名稱去重、多線程搶鎖機制的流程審批、自定義節點駁回操作。
其中,
自定義數據:
activiti的內嵌頁面支持接口化開發和自定義表單開發,將公司的業務數據類型通過表單提交、保存到自定義數據庫中。
Activiti的createNactivQuery接口支持基于acitiviti開源框架下運行自定義sql語句,可將公司復雜的業務邏輯處理sql化,通過createNactivQuery(sql)進行數據庫的操作。
制定新的數據表作為系統擴展存儲信息位置,并且信息表包含查詢流程相關內容的信息,包括流程定義關聯、流程實例關聯、當前節點相關信息、上一節點及下一節點相關信息。
基于Redis的緩存實例名稱去重:
Redis作為高新更能key-value數據存儲系統,可作為服務器的緩存,在高并發情況下,將創建的用戶id和實例名稱保存到redis中,將實例名稱作為key加時間鎖,進行創建實例時從Redis獲取實例名稱和用戶id,進行創建操作;當創建成功后釋放鎖,或者超出創建時間創建失敗后釋放Redis鎖。
多線程搶鎖機制的流程審批:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110683401.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:不倒杯
- 下一篇:一種襪子的香氣處理方法





