







摘要:文章研究了基于Spring Cloud框架的信息化企業合同管理系統的設計與實現。該系統具有完備的合同管理功能模塊,實現了信息化企業合同的全生命周期管理,提升了信息化企業合同管理效率和能力。系統采用MyBatis框架和達夢數據庫,確保系統穩定運行和數據安全。同時,系統支持國產化軟硬件環境,實現自主可控。
關鍵詞:Spring Cloud;MyBatis;達夢數據庫;國產化;自主可控
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2025)01-0068-05 開放科學(資源服務) 標識碼(OSID) :
0 引言
21世紀以后,隨著計算機網絡技術的快速發展、數字化技術的日益成熟,企業網絡信息技術辦公依賴性加大。因此,如何更好地利用先進技術,促進企業長期高效發展,成為企業發展規劃中不可忽視的重要課題。同時,在現代企業的經營管理中,合同管理工作也是關鍵的一環。有效加強合同管理工作,對于企業平穩發展至關重要,對有效提高企業效率舉足輕重。但是在信息化企業的合同管理傳統工作中,存在以下問題:
隨著信息化進程的加快,企業對合同管理系統提出了更高的要求。傳統合同管理模式存在靈活性差、成本高、數據孤島、技術依賴和安全隱患等問題,嚴重制約了企業效率和發展。本文基于Spring Cloud、My?Batis和達夢數據庫,設計并實現了一套信息化企業合同管理系統,旨在提升合同管理效率,解決數據孤島問題,并實現技術自主可控,最終促進企業可持續發展,具體問題如下:
1) 靈活性差:其他合同管理系統可能無法較快實現企業復雜多變的業務需求,后期應用擴展、升級難度較大,系統性能無法充分發揮,用戶功能使用受限。
2) 成本較高:企業關注的信息缺乏有效信息化手段,僅通過傳統報表獲取相應數據,導致企業部門間合作不緊密、不協調,業務流程的管控以及監管力度差、信息整合獲取能力不足等問題的產生,使得企業辦公成本上升、運營效率下降、企業辦公成本越來越高等問題日益突出,企業部門之間的協作不緊密、協調性差。
3) 數據孤島:一方面企業各部門所注重的信息缺乏有效的集成管理手段,僅通過傳統報表的方式獲取相應數據,導致企業部門間合作不緊密協調,業務流程管控及監管力度差、信息整合獲取能力不足等問題的產生;另一方面,其他合同管理系統與不同系統之間無法實現數據共享以及集成。這些問題最終導致企業辦公成本越來越高、經營效益越來越低、經營風險越來越大,企業的辦公成本越來越高、經營效益越來越差。
4) 技術依賴:其他合同管理系統可能無法實現與國產數據庫的適配,無法在完全國產化的環境進行穩定運行,不具有自主可控的能力,被國外技術卡住脖頸。
5) 安全隱患:其他合同管理系統可能不存在數據存儲、數據備份、數據容災等相關機制,系統數據的安全性存在嚴重隱患。
本文旨在以企業合同管理現狀為出發點,以先進的管理理念為基礎,結合實際貿易企業管理和業務部門運行情況,借助Spring Cloud框架、MyBatis框架和達夢數據庫對企業合同管理系統進行架構分析。解決靈活性差、成本高、數據孤島、技術依賴和安全隱患等問題,充分提升信息化企業的生存能力。
1 相關技術
1.1 Spring Cloud 框架
Spring Cloud 是一個有序的框架集合,利用SpringBoot的開發便捷性,簡化了諸如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等分布式系統基礎設施的開發。這些基礎設施可以采用SpringBoot的開發風格,一鍵式開機,一鍵式部署[1]。為信息化企業合同管理系統開發提供了簡單易懂、易配置、易維護的分布式開發工具包。開發者可以根據項目需求,選擇和組合相應的組件,快速構建出適合項目需求的基礎運營框架,其生成的Spring應用程序可以獨立運行于操作系統之外[1]。
簡單地說,Spring Cloud框架為系統開發提供了強大的后端支持,充分利用了其優勢,使信息化企業的合同管理系統具有更高的安全性、敏捷性和可擴展性。
1.2 MyBatis 框架
MyBatis[2]是一個開源的Java持久層框架。它支持自定義SQL、存儲過程和高級映射,是一種半自動化的ORM實現,能夠建立實體類和SQL語句之間的映射關系[2]。它避免了幾乎所有JDBC代碼和參數的人為設定,也避免了對結果集的檢索[2]。MyBatis 可與Spring等框架無縫整合,提供更加便捷的數據庫操作方法,供Java開發者使用[2]。具有完全定制的映射機制,可以在SQL、存儲過程和其他高級分類之間快速創建實體類和SQL語句之間的依賴關系,并且相互映射。這是一種半自動的對象關系映射(Object/RelationMapping,簡稱ORM) 實現,ORM隨著面向對象的軟件開發技術的發展而產生[3]。
總之,MyBatis是實現信息化企業合同管理系統數據存儲、數據容災、數據備份的基礎,是一座牢固的橋梁,它連接著應用代碼和達夢數據庫。
1.3 達夢數據庫
達夢數據庫融合當前先進的技術理念和主流數據庫產品的優勢,在多樣化架構、支持超大規模并發交易處理和交易-分析混合業務處理、動態分配計算資源等方面進行了大規模改進,包括靈活性、易用性、可靠性和高安全性等特性,充分滿足不同場景需求的分布式、彈性計算和云計算優勢。從而實現更加精細化的資源利用,降低投入成本。完成國產化適配,使一個數據庫滿足用戶多種需求,讓用戶能更加專注于業務發展。達夢數據庫是信息化企業合同管理系統建設過程中不可或缺的工具,是實現國產自主可控的關鍵組成部分。
2 系統需求分析
實現合同全生命周期管理,具有系統管理、用戶登錄、合同起草、合同審核、簽約、合同管理、合同分析等功能模塊,系統功能模塊如表1所示。
用戶用例圖如圖1所示。
3 系統的功能框架與架構
3.1 系統功能框架
通過對信息化企業合同管理系統用戶需求的層層分析,對系統進行設計。系統基本可分為用戶登錄模塊、系統管理模塊和業務管理模塊三大關鍵模塊。用戶登錄是數據源頭,提供用戶的基礎信息、角色以及權限等信息,用于支撐系統管理模塊、業務管理模塊,系統功能架構圖如圖2所示。
用戶登錄模塊:用戶登錄模塊是用戶與系統交互的門戶,用于實現用戶的登錄和退出登錄,是用戶登錄、退出時發起請求的操作入口。
系統管理模塊是信息化企業合同管理系統運行與維護的重要支撐部分,包含了系統的用戶管理、角色管理、用戶群管理、權限管理、菜單管理及日志管理等功能。系統管理員通過系統管理模塊實現對系統的監控、監管、維護,及時發現處理系統異常或故障,從而保障系統平穩運行。
業務管理模塊是信息化企業合同管理系統的核心部分,是系統主要功能及服務內容所在。該模塊在用戶具體需求的基礎上進行設計與實現,符合用戶的業務流程,如合同起草、合同審核、合同簽署、合同變更、合同分析等。
3.2 系統框架設計
以Node.js為開發環境的信息化企業合同管理系統,是JavaScript的服務器端運行環境,使JavaScript脫離瀏覽器的限制,運行在服務器之中。與PHP、Python 等語言一樣可以進行服務器端程序的開發[4]。Node.js 是一個開源的、跨平臺的JavaScript運行環境,用于在服務器端運行JavaScript代碼。它使得信息化企業合同管理系統可以使用JavaScript來編寫服務器端應用程序,從而簡化了開發過程,提高了開發效率[4]。系統在服務端、前端、數據庫之間產生交互。前端獲取和展示用戶信息、合同信息等數據,通過URL接口地址將傳入參數傳遞給服務器,服務器根據傳入參數了解前端要獲取的數據內容,然后去數據庫查詢并獲取數據,最后將所需數據返回前端,前端即可順利獲取數據,進行相應的頁面展示。系統架構圖如圖3所示。
4 系統設計
4.1 云計算技術在系統中的應用設計
應用云計算技術,搭建私有云,將人員數據、合同數據計算處理程序分解成無數個小程序,然后通過多部服務器組成的系統進行處理和分析這些小程序,得到結果并返回,實現系統的高可用性、可擴展性。具體實現方式為:當涉及HTTP網絡請求的處理時,開發者擁有多樣的選擇[5]。用戶在信息化企業合同管理系統登錄界面輸入用戶名、密碼等登錄驗證信息,點擊“登錄”按鈕后,前端發送HTTP請求,攜帶用戶名、密碼等參數調用login()方法,從而將用戶名、密碼等參數數據發送到服務端。后端向數據庫發送數據請求,查看達夢數據庫的用戶表中是否存在與之匹配的用戶名和密碼。如用戶名與密碼不符或查詢不到用戶名,則出現前端提示登錄失敗的情況;如果用戶名和密碼匹配,系統會跳轉到首頁,此時即登錄成功。用戶登錄時序圖如圖4所示。
4.2 大數據技術在系統中的應用設計
通過大數據存儲與管理,使用存儲器將用戶起草信息采集到的數據存儲起來,建立相應的數據庫,并進行管理和調用。解決復雜結構化、半結構化和非結構化大數據管理與處理技術。借助可靠的分布式文件系統(DFS) 、能效優化的存儲、計算融入存儲、大數據的去冗余及高效低成本的大數據存儲技術,進行合同數據分析和預測。當使用者在新創建合同時,在合同起草模塊點擊“新建”按鈕,填寫合同信息后,點擊“存儲”按鈕,調用Save()方法,同時將數據發送至后端,由后端調用數據庫,將數據信息記錄到達夢數據庫的CM_RECORD數據表中,提示保存成功。返回的數據呈現在合同起草界面。
合同起草保存功能是信息化合同管理系統至關重要的功能,用戶可在系統上起草保存合同信息,以便隨時掌握自己所起草的合同信息。合同起草模塊- 保存時序圖如圖5所示。
4.3 其他技術在系統中的應用設計
通過大數據存儲與管理,使用存儲器將用戶起草信息采集到的數據存儲起來,建立相應的數據庫,并進行管理和調用。解決復雜結構化、半結構化和非結構化大數據管理與處理技術。借助可靠的分布式文件系統(DFS) 、能效優化的存儲、計算融入存儲、大數據的去冗余及高效低成本的大數據存儲技術,進行合同數據分析和預測。當使用者在新創建合同時,在合同起草模塊點擊“新建”按鈕,填寫合同信息后,點擊“存儲”按鈕,調用Save()方法,同時將數據發送至后端,由后端調用數據庫,將數據信息記錄到達夢數據庫的CM_RECORD數據表中,提示保存成功。返回的數據呈現在合同起草界面。
合同起草保存功能是信息化合同管理系統至關重要的功能,用戶可在系統上起草保存合同信息,以便隨時掌握自己所起草的合同信息。合同起草模塊- 保存時序圖如圖5所示。
4.3 其他技術在系統中的應用設計
用戶訪問信息化企業合同管理系統的合同分析界面,在搜索框中輸入合同信息和用戶信息后,點擊回車鍵或“搜索”按鈕,調用CMSearch()方法,將輸入信息發送到系統服務端進行校驗,查看數據庫是否存在相關數據。如果沒有,則校驗失敗,返回提示信息;若搜索到相關資料,則在合同分析的前端界面返回相關資料并顯示。
搜索功能是信息化企業合同管理系統至關重要的功能,用戶可通過輸入合同信息、人員信息等查詢到所需查看的合同,從而進一步了解企業合同簽訂情況。合同分析模塊-搜索時序圖如圖6所示。
4.4 達夢數據庫在系統中的應用設計
選用8.0版本,支持國產化、自主可控的使用需求,根據系統架構等信息,基于達夢數據庫架構。
1) 通過自動故障切換,事務級讀寫負載分離,可調整讀寫分配比例,實現性能在讀多寫少業務場景下的數據庫讀寫分離;通過事務級讀寫負載分離,實現數據存儲過程的讀寫分離。
2) 在數據備份方面,根據信息化企業合同管理系統各模塊應用和數據的特點,系統應制定經濟、可靠且高效的備份策略,以保證資料安全,符合業務連續性的要求。實現方式如下:
① 通過全備份,定期對系統中的所有數據進行全面備份,確保在發生重大故障或災難時,能夠恢復系統到備份時的完整狀態。
② 通過增量備份:系統要定期做增量備份,以全備份為基礎,對上次全備后的數據變化或增量備份后的數據進行全量備份。
③ 通過歸檔日志備份:通過這些日志的應用,保證數據庫在某個特定時間點上能夠恢復,定期備份系統的數據庫存檔日志。
④ 通過邏輯備份:使這些數據結構在需要時,可以通過邏輯備份數據庫中特定的數據結構進行單獨的恢復或遷移。邏輯備份通常在系統變更或升級前執行,以確保變更過程中數據的完整性和可恢復性。
3) 在數據容災方面,信息化企業合同管理系統制定并實施全面的災備與應急解決方案,確保意外發生時,數據能夠安全、快速地恢復。設計實現步驟如下:
① 確定災難發生時的應急響應步驟和流程。
② 將備份數據存儲在可靠和安全的位置,以防止單點故障和數據丟失。
③ 定期恢復備份數據以驗證其完整性和可恢復性。
④ 自動化備份和恢復過程,以減少人為錯誤,并加快恢復時間。
5 系統實現
5.1 云計算技術在系統中的應用實現
信息化企業合同管理系統的主界面入口,即用戶登錄模塊。使用者輸入自己的用戶名、密碼信息登錄系統。若輸入的用戶名不存在,則顯示“用戶名不存在,請用戶核對無誤后再輸入”;若密碼不正確,則提示\"密碼錯誤,請重新輸入”;如輸入正確的用戶名和密碼信息,用戶姓名顯示“已登錄成功”,系統提示“歡迎xxx的到來”。這個模塊是通過云計算技術來實現的。在用戶登錄時,由axios發送請求登錄。發送后,進行表單校驗、發送POST請求、調用login接口等一系列操作。最后將合同信息、用戶信息等返回瀏覽器,跳轉主界面或提示相關報錯信息。部分核心代碼如下:
def login(uesrname,password):
if username not inuser_db:
print“( 用戶名不存在,請檢查無誤后再輸入”)
else:
#加密輸入的密碼并進行對比
encrypted_password = encrypted_password(pass?word)
if user_db[username] == encrypted_password:
print(“f 歡迎,{username}!登錄成功。”)
else:
print“( 密碼錯誤,請重新輸入”)
5.2 其他技術在系統中的應用實現
主要是為了方便用戶對系統中用戶信息的修改、合同信息的修改等功能進行人員信息和合同信息的實時維護。同時也支持多種操作方式,如角色分配、權限分配、角色調整、權限調整等。
如用戶點擊【合同管理】菜單時,系統通過使用Stuls框架調用相關方法,從數據庫抽取信息,返回界面展示。部分核心代碼如下:
# 創建一個新的Cursor對象來執行查詢
cur = conn.cursor()
# 執行查詢
cur.execute(\"SELECT * FROM CM_RECORD\")
# 獲取所有記錄列表
rows = cur.fetchall()
for row in rows:
print(row)
# 關閉Cursor
cur.close()
5.3 大數據技術在系統中的應用實現
附件上傳功能是信息化企業合同管理系統重要功能之一,系統運用大數據技術,從而實現附件上傳功能,用戶可在具備附件上傳功能的模塊對附件進行上傳與下載。部分核心代碼如下:
@RestController
public class FileUploadController {
@PostMapping(\"/upload\")
public String handleFileUpload(@RequestParam(\"file\") MultipartFile file) {
if (file.isEmpty()) {
return \"Please select a file to upload.\";
}
try {
byte[] bytes = file.getBytes();
String uploadDir = \"/path/to/upload/directory/\";
File uploadedFile = new File(uploadDir + file.getO?riginalFilename());
file.transferTo(uploadedFile);
return \"File uploaded successfully!\";
} catch (IOException e) {
e.printStackTrace();
return \"File upload failed!\";
}
}
}
6 結束語
提高生存能力、提高競爭優勢、確保企業持續健康發展是信息化企業合同管理體系的重要手段。此信息化企業合同管理系統以國產化、自主可控為基礎,既可以實現合同的全生命周期管理,又可以提升安全性、降低人力成本、提高工作效率。同時,此企業信息化合同管理系統采用Spring Cloud框架,應用達夢數據庫,設計了一套信息化企業合同管理系統,能夠充分滿足各種類型、各種規模企業的需求。目前此信息化企業合同管理系統仍有改進空間,例如進一步增加智能提醒等功能,減少系統使用過程中的故障。后續將進一步加強系統與企業之間的聯系,優化頂層設計,增進底層基礎,進行全面優化升級,使信息化企業合同管理系統在更多傳統企業中廣泛應用。
參考文獻:
[1] 柴壯.基于Spring Cloud的智能風險防范合同管理系統的設計與實現[D].北京:北京交通大學,2022.
[2] 羅輝瓊,賀超波,李姣姣,等.基于SpringMVC及MyBatis的高校學術成果庫設計與實現[J].現代信息科技,2024,8(4):25-29,35.
[3] 劉雙雙.對象持久化與對象關系映射ORM技術[J].科技廣場,2009(7):225-226.
[4] 鄧杰海,劉薇,湯小燕.基于Node.js的開源架構Electron賦能前端開發[J].現代計算機,2023,29(16):87-92.
[5] 龔駿.基于動態代理的Java聲明式HTTP網絡請求框架的實現[J].互聯網周刊,2024(16):39-41.
【通聯編輯:謝媛媛】