
信創版干部人事檔案管理系統的安裝與使用這些年單位里搞信創替代最讓我頭疼的其實不是操作系統本身而是那堆跑在Windows上的業務系統。尤其是干部人事檔案管理系統數據敏感、流程嚴格、操作權限又多稍微有點閃失就麻煩。最近我們總算把整套系統遷移到了信創環境用的麒麟V10服務器版加國產數據庫過程中踩了不少坑也積累了一些經驗。我把從環境準備到系統上線、再到日常使用中常見的幾個問題完整梳理一遍希望對正在做同類遷移的運維或者檔案管理員有點用。這套系統說白了就是把傳統的紙質人事檔案電子化——從人員基本信息、履歷材料、考核材料到學歷學位、培訓經歷、任免調動、薪酬待遇等全部歸檔到數據庫里再按權限開放給組織人事部門查詢、統計、借閱審批。信創版要解決的不僅是功能對等更重要的是跑在國產CPU、國產操作系統、國產數據庫之上從硬件到軟件整個鏈路都自主可控。1. 項目背景與部署思路1.1 為什么檔案管理系統要優先遷移信創很多單位做信創遷移時通常會先拿OA、郵件這種非核心系統練手但干部人事檔案系統往往排在后面原因很簡單——高風險、高要求、高敏感。數據一旦出問題不是重啟能解決的。但從另一個角度看這類系統恰恰是最該先遷的。檔案管理系統的數據格式相對標準化字段固定、流程固定不像OA那樣天天有新需求。而且它是典型的內網系統用戶量不大并發壓力低非常適合作為信創落地的樣板工程。我們用下來最大的感受是只要基礎環境穩定應用層面其實比想象中遷移起來省事。從技術選型上說信創環境下的國產化棧目前已經成熟到足夠支撐這類管理系統了。芯片層面有鯤鵬、飛騰、龍芯、海光等選擇操作系統主流是麒麟和統信UOS數據庫可以用達夢、人大金倉、GaussDB等中間件有東方通TongWeb、金蝶天燕等。我們這次選的是麒麟V10 鯤鵬920 達夢8 東方通TongWeb的組合整體跑下來性能和穩定性都不錯。1.2 整體架構與部署流程設計整個部署架構其實不復雜一臺服務器就夠了。生產環境建議用兩臺做雙機熱備數據庫放到單獨的主機上。我們測試階段是一臺服務器同時跑Web中間件和數據庫資源也夠用因為檔案系統的訪問量確實不高關鍵是數據處理時別卡頓。部署流程大體分五步走系統環境準備操作系統安裝、網絡配置、時鐘同步、安全加固基礎軟件安裝JDK、數據庫、中間件應用部署上傳應用包、配置數據源、初始化數據庫腳本數據遷移把舊系統的歷史數據導入新系統做數據清洗和目錄建庫聯調測試功能驗證、權限驗證、歸檔流程測試剛開始我們想跳過流程直接裝結果后面在權限配置上反復折騰。建議還是按部就班來每一步做完都做個簡單驗證后面出了問題也好定位。2. 環境準備與基礎軟件安裝2.1 服務器硬件與操作系統選型信創服務器現在可選的范圍挺廣不管是華為泰山、浪潮、中科曙光還是其他品牌的機器核心問題就一個CPU架構和操作系統要匹配好。比如鯤鵬920是ARM架構飛騰也是ARM龍芯是LoongArch海光則是x86架構。選操作系統時一定要確認對應的版本是否支持你這個CPU。我們用的是麒麟V10服務器版。麒麟系統分桌面版和服務器版千萬別裝混了。服務器版有兩個內核分支一個是4.19的內核兼容性更好另一個是5.10的內核對較新的硬件支持更好。如果是鯤鵬920這種新平臺建議直接用5.10內核的版本。判斷方法很簡單安裝時可以在啟動菜單里看到選擇也可以進系統后用uname -r查看。注意安裝系統時選擇語言和時區務必選亞洲/上海否則后面日志時間、檔案借閱時間戳全對不上排查起來很頭疼。裝完系統第一步是配置靜態IP因為服務器IP變了會導致配置的數據庫連接、中間件地址全部失效。麒麟系統改IP可以編輯/etc/sysconfig/network-scripts/ifcfg-ensxxx文件把BOOTPROTOstatic然后添加IPADDR、NETMASK、GATEWAY、DNS。改完重啟網絡服務nmcli con reload nmcli con up ensxxx2.2 麒麟系統的初始化配置四件套服務器安裝完后有四件事必須做第一件事配好軟件源。很多人在麒麟上安裝軟件失敗就是因為默認源沒配好或者連不上。麒麟V10自帶的源如果用的是內網環境需要掛載安裝光盤或者配置本地源。一個常見做法是把系統ISO掛載到/mnt/cdrom然后新建repo文件指向它mount /dev/cdrom /mnt/cdrom cat /etc/yum.repos.d/local.repo EOF [local] namelocal baseurlfile:///mnt/cdrom enabled1 gpgcheck0 EOF yum clean all yum makecache第二件事關閉防火墻或者放行對應端口。檔案系統涉及Web訪問、數據庫連接等默認防火墻策略會攔截。如果你只是內網測試可以直接停掉防火墻systemctl stop firewalld systemctl disable firewalld sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config生產環境別這么干按端口精細化放行。Web端口通常是8080或8443數據庫端口達夢默認是5236把這些端口加入白名單即可。第三件事同步服務器時間。檔案系統的時間戳非常重要借閱記錄、審核時間、材料歸檔時間差一分鐘都可能造成業務問題。如果內網有NTP服務器配置一下yum install -y chrony cat /etc/chrony.conf EOF server 192.168.1.10 iburst EOF systemctl enable chronyd --now chronyc sources -v第四件事配置主機名和hosts文件。后面裝數據庫和中間件時大概率要通過主機名互相訪問先把/etc/hosts配好能省很多麻煩。2.3 JDK與國產中間件的安裝配置檔案管理系統大多數基于Java開發所以JDK是必須的。信創環境下強烈建議使用配套的國產化OpenJDK版本比如畢昇JDK華為、麒麟自帶的OpenJDK。直接安裝麒麟源里的OpenJDK就行或者解壓官方大版本JDK到/usr/local/java然后配環境變量export JAVA_HOME/usr/local/java/jdk-17.0.2 export PATH$JAVA_HOME/bin:$PATH export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar配置完之后在/etc/profile里追加就行記得source /etc/profile生效。驗證是否裝好用java -version看輸出如果是openjdk version 17.0.2 這種就說明OK。中間件方面東方通TongWebTongWeb 7.0是基于Java EE規范的應用服務器在國企和黨政機關用得比較多對國產化環境適配也做得比較好。它本質上跟Tomcat類似但多了一些管理和集群功能而且通過了等保和密評適配安全策略更全。解壓后啟動腳本在bin/startserver.shcd /opt/tongweb/bin ./startserver.sh默認端口是8080。啟動完訪問http://IP:8080/看到管理控制臺頁面就表示中間件起來了。3. 檔案管理系統的部署與初始化3.1 應用包結構分析與上傳檔案管理系統一般交付物就是一個WAR包或者一個解壓后的業務目錄。我們拿到手的是一個名字類似filearchive-web.war的包內部結構無非是靜態資源、WEB-INF/classes下的配置文件、lib目錄下的依賴jar包。部署前先把結構看明白尤其是配置文件這樣后面改數據源連接才能找到地方。上傳WAR包到TongWeb的自動部署目錄通常是/opt/tongweb/webapps然后重啟中間件讓它自動解壓。或者直接用TongWeb管理控制臺上傳操作界面類似Tomcat Manager。我習慣手動丟目錄里因為WAR包解壓后能直觀看到配置文件在哪。上傳完記得檢查解壓后的WEB-INF/classes/application.properties或者jdbc.properties所有的數據源、Redis連接、文件存儲路徑配置都在這里。3.2 達夢數據庫的初始化與腳本導入檔案系統使用的是達夢8數據庫。達夢對Oracle兼容性做得好一些SQL語法上也比較接近Oracle。新裝達夢之后先初始化實例cd /opt/dmdbms/bin ./dminit PATH/opt/dmdbms/data DB_NAMEARCHIVE INSTANCE_NAMEDMSERVER PORT_NUM5236然后用./dmserver /opt/dmdbms/data/DAMENG/dm.ini啟動數據庫服務。達夢默認用戶名密碼是SYSDBA/SYSDBA登進去之后先建表空間和用戶CREATE TABLESPACE TS_ARCHIVE DATAFILE /opt/dmdbms/data/TS_ARCHIVE.DBF SIZE 1024 AUTOEXTEND ON NEXT 100 MAXSIZE 20480; CREATE USER ARCHIVE IDENTIFIED BY Archive2024 DEFAULT TABLESPACE TS_ARCHIVE; GRANT DBA TO ARCHIVE;對系統初始化腳本比較穩妥的做法是執行全庫腳本也就是建表、建索引、初始化字典數據一起跑。一般交付方會提供一個init.sql或者install.sql直接執行./disql ARCHIVE/Archive2024localhost:5236 -e set CHAR_CODEUTF8 -f /home/migration/init.sql提醒一下執行腳本之前先檢查字符集。如果數據庫建庫時不是UTF8后面中文全部亂碼特別是檔案材料里的姓名和單位名稱亂碼基本等于整個庫廢了。檢查方式很簡單執行SELECT * FROM v$parameter WHERE name LIKE %CHAR%;或者初始化時指定CHARSET11代表UTF-8。3.3 數據源配置與中間件聯調數據庫初始化完成后回到應用配置。修改application.properties中數據源相關配置spring.datasource.urljdbc:dm://127.0.0.1:5236/ARCHIVE spring.datasource.usernameARCHIVE spring.datasource.passwordArchive2024 spring.datasource.driver-class-namedm.jdbc.driver.DmDriver改完之后重啟TongWeb讓應用重新加載配置。查看啟動日志看到類似Started FileArchiveApplication這樣的信息說明應用啟動成功。這時訪問http://IP:8080/filearchive-web/應該能看到登錄頁面。登錄頁面能出來但登錄報錯大概率是應用連不上數據庫。這個時候不要慌逐步排查先用達夢客戶端連一下數據庫disql ARCHIVE/Archive2024127.0.0.1:5236能連上說明數據庫和用戶沒問題再看中間件日志里報的異常棧是網絡不通、賬號密碼錯還是驅動類找不到如果是驅動找不到把達夢的JDBC驅動jar包DmJdbcDriver18.jar放到WEB-INF/lib下重啟這個環節我卡過一次原因是應用自帶的是MySQL驅動整個換成達夢驅動光改連接串沒改driver-class-name折騰了半天才反應過來。4. 人事檔案數據遷移與目錄建庫4.1 檔案分類與代碼表初始化系統能登錄后先別急著導數據。先把基礎代碼表搞定比如檔案分類代碼十大類、人員狀態代碼在職、離休、退休、離職等、材料類型代碼履歷材料、自傳材料、考核考察材料、學歷學位材料、政審材料、黨團材料、獎勵材料、違紀違法材料、工資待遇材料、其他材料。這些代碼表一般都在初始化SQL里預置好了但為了保險起見我建議切到管理端把每個代碼表都打開看一眼。特別是十大類代碼因為后續檔案目錄排序、材料歸類全靠它。如果分類代碼對不上導進去的數據在目錄樹里顯示就是亂的。代碼表驗證方法也很簡單用檔案編號去反查分類名稱如果對應關系不對手動在代碼維護頁面改一下即可。這一步感覺枯燥但它是整個檔案系統數據呈現的基礎。4.2 歷史數據清洗與批量導入接下來就是最棘手的歷史數據遷移。舊系統可能是十幾年前的FoxPro單機版也可能是某個老式B/S系統。數據導出的方式各不相同但最終要做的事是一樣的清洗、匹配、導入。我們的做法是把舊數據先導成Excel然后在Excel里做預處理人員基本信息確保姓名字段不要有空格、身份證號18位、出生日期格式統一為yyyy-MM-dd單位名稱使用標準全稱避免同一個單位存在區委組織部區組織部兩種寫法材料分類每條材料記錄必須標注分類代碼否則導入完成后材料都跑到其他類下面導入方式也有講究。如果系統自帶導入功能直接在管理后臺導Excel就行如果沒有就得走數據庫腳本。我們用的環境既有Excel導入模板也能用SQL腳本批量處理。我的建議是先用小批量測試數據試一次比如導5個人看看效果確認沒問題再全量執行。批量導入SQL腳本的一個思路是先把Excel轉成CSV然后用達夢的dmfldr工具快