錢哨 李揮劍 董乾坤
摘 要:黨的干部教育培訓(xùn)工作是黨的事業(yè)的重要組成部分,有別于傳統(tǒng)國民教育和市場化培訓(xùn)。其中干部培訓(xùn)的報名組織工作是最困難的環(huán)節(jié),這是由于培訓(xùn)學(xué)員流動性大、人員眾多、層次多樣、頻次較高的特點造成的?;谖⑿殴娞柕母刹颗嘤?xùn)系統(tǒng)研發(fā),從培訓(xùn)報名的業(yè)務(wù)和數(shù)據(jù)交換模型入手,詳細分析了培訓(xùn)報名數(shù)據(jù)集成的關(guān)鍵技術(shù),包括基于微信公眾號報名系統(tǒng)的數(shù)據(jù)安全性、消息推送技術(shù)、數(shù)據(jù)交換技術(shù)和統(tǒng)一權(quán)限管理技術(shù)。最后通過系統(tǒng)運行實證了系統(tǒng)的安全、可信和穩(wěn)定性,對全國干訓(xùn)行業(yè)的培訓(xùn)報名組織具有很好的推廣應(yīng)用價值。
關(guān)鍵詞:微信公眾號;數(shù)據(jù)集成;培訓(xùn)報名;REDIS;數(shù)據(jù)安全;日志跟蹤;消息推送;WEBAPI
中圖分類號:TP393? ?文獻標志碼:A? ? ? ? ? 文章編號:1673-8454(2020)16-0086-04
一、引言
《2010—2020年干部教育培訓(xùn)改革綱要》確定了“目前干部教育培訓(xùn)渠道將多元化,需要加快建設(shè)干部教育培訓(xùn)的網(wǎng)絡(luò)平臺,推進干部教育培訓(xùn)管理系統(tǒng)建設(shè),將干部培訓(xùn)學(xué)習(xí)情況納入干部人事檔案[1]”等一系列干部教育的培訓(xùn)改革模式創(chuàng)新機制,基于此,“交通運輸部管理干部學(xué)院培訓(xùn)學(xué)習(xí)管理系統(tǒng)建設(shè)工程”于2017年開始建設(shè)實施,其目標是利用信息化手段實現(xiàn)對干部教育培訓(xùn)的全流程再造。
黨校/干部培訓(xùn)教育領(lǐng)域,既有別于國民教育,也有別于完全市場化的培訓(xùn)機構(gòu)[2],其主要行業(yè)特點為:①人員流動性大。黨校/干部培訓(xùn)教育近幾年來發(fā)展較快,人員規(guī)模逐年上升,市場規(guī)模也不斷擴大。一般省級規(guī)模的黨校/干部學(xué)員年均培訓(xùn)人員都在數(shù)萬人次規(guī)模,同時辦班頻次較高,3—5天的短訓(xùn)班比例較高;②行政主導(dǎo)與市場主導(dǎo)并行。黨校/干部培訓(xùn)教育一部分是完成行政主導(dǎo)的培訓(xùn)任務(wù),另一方面需要完成自主辦學(xué)的市場主導(dǎo)過程,二者并存在黨校/干部培訓(xùn)教育的辦學(xué)過程中比較突出;③要求服務(wù)質(zhì)量較高。參訓(xùn)人員職務(wù)職級一般較高,對服務(wù)質(zhì)量要求較高。[3-5]
在培訓(xùn)業(yè)務(wù)生命周期中,干部培訓(xùn)報名業(yè)務(wù)是至關(guān)重要的一環(huán),而傳統(tǒng)培訓(xùn)報名一般是通過電子郵件、傳真、電話方式搜集報名信息,整理匯總成Excel電子文件,宣傳渠道窄,勞動強度大,招生成本高,工作效率低,信息準確性差。基于微信公眾號平臺的干部教育培訓(xùn)報名系統(tǒng)與培訓(xùn)系統(tǒng)的數(shù)據(jù)集成的實現(xiàn)為上述問題提供了一種行之有效的技術(shù)解決方案。
二、干部教育培訓(xùn)報名業(yè)務(wù)和技術(shù)模型
1.業(yè)務(wù)模型
如圖1所示,干部教育培訓(xùn)報名的業(yè)務(wù)流程共分為五個部分,其中S101—S104為培訓(xùn)系統(tǒng)中的業(yè)務(wù)模塊,S105為微信公眾號平臺報名模塊,可以理解為微信公眾平臺的報名模塊是培訓(xùn)系統(tǒng)外接的數(shù)據(jù)抓手。
按照圖1模型,基于微信公眾號的培訓(xùn)報名業(yè)務(wù)流程主要包括:①培訓(xùn)計劃是培訓(xùn)工作起始點,培訓(xùn)系統(tǒng)中的計劃模塊需要在年初將各類培訓(xùn)計劃錄入至系統(tǒng)后,形成年度各類培訓(xùn)計劃內(nèi)容,并通過管理部門下發(fā)至各培訓(xùn)業(yè)務(wù)部門執(zhí)行。②培訓(xùn)計劃下達至業(yè)務(wù)部門后,業(yè)務(wù)部門根據(jù)培訓(xùn)計劃類型填報項目基本數(shù)據(jù),生成培訓(xùn)項目并同時生成培訓(xùn)報名二維碼。③依據(jù)培訓(xùn)項目,可以建立多個培訓(xùn)班次,并具體填寫培訓(xùn)班次地點、時間、內(nèi)容、費用、課程等信息。④生成的培訓(xùn)二維碼可隨培訓(xùn)發(fā)文下達至各單位,待培學(xué)員通過掃描二維碼直接進入微信公眾號的培訓(xùn)項目報名界面,選擇具體培訓(xùn)班次后填報個人信息。另一方面,培訓(xùn)學(xué)員也可以通過關(guān)注微信公眾號并注冊后,搜索具體的培訓(xùn)班次信息內(nèi)容。
微信公眾號的報名系統(tǒng)以月為單位展示培訓(xùn)項目列表信息,學(xué)員進入具體培訓(xùn)項目可選擇該月可報名班次列表信息,選擇單人、多人、導(dǎo)入報名方式,填寫報名信息并提交。系統(tǒng)支持取消或修改報名信息。
2.技術(shù)模型
網(wǎng)絡(luò)構(gòu)架層面,培訓(xùn)系統(tǒng)部署在培訓(xùn)單位私有云環(huán)境下,主要完成培訓(xùn)業(yè)務(wù)的全生命周期;而微信公眾號是部署在公有云環(huán)境下的獨立報名系統(tǒng),與培訓(xùn)系統(tǒng)之間是數(shù)據(jù)集成與交換關(guān)系。
數(shù)據(jù)層面,培訓(xùn)業(yè)務(wù)數(shù)據(jù)是典型的關(guān)系型數(shù)據(jù)庫,培訓(xùn)計劃、項目、班級、學(xué)員之間的ER關(guān)系已經(jīng)確定并成庫,因此對應(yīng)的微信公眾號平臺下開發(fā)的報名系統(tǒng),其項目、班級、學(xué)員之間的ER關(guān)系需要與前者相一致[6],關(guān)鍵技術(shù)結(jié)構(gòu)如下:培訓(xùn)項目、班次信息需要在培訓(xùn)系統(tǒng)外網(wǎng)接口上發(fā)布WEBAPI接口[6-8],通過AES數(shù)據(jù)對稱加密的格式進行發(fā)布,調(diào)用接口時驗證調(diào)用方是否注冊生效來判斷是否下發(fā)數(shù)據(jù)接口,其中API調(diào)用包括:數(shù)據(jù)加密要求,AES;數(shù)據(jù)格式形式,JSON;數(shù)據(jù)傳輸形式,在線服務(wù)接口;數(shù)據(jù)傳輸頻率,使用消息的模式及時推送并獲取[9]。
通過WEBAPI接口的數(shù)據(jù)集成關(guān)系,可以實現(xiàn)班次同步接口,由培訓(xùn)管理系統(tǒng)推送,公眾號程序接收,單向傳輸,支持增、刪、改;可以實現(xiàn)學(xué)員同步接口,現(xiàn)有公眾號報名的學(xué)員,公眾號程序推送,培訓(xùn)管理系統(tǒng)接收,單向傳輸,支持增、刪、改;可以實現(xiàn)學(xué)員報名程序集成多人報名,培訓(xùn)管理系統(tǒng)學(xué)員報名集成多人報名程序,通過傳遞班次編號、班次名稱,鏈接的形式集成。具體邏輯關(guān)系參照圖2所示。
三、培訓(xùn)報名數(shù)據(jù)集成關(guān)鍵技術(shù)研究
1.數(shù)據(jù)安全性關(guān)鍵技術(shù)
鑒于學(xué)員報名數(shù)據(jù)安全性考慮,首先需要在系統(tǒng)數(shù)據(jù)交換前對數(shù)據(jù)進行加密工作,采用的是AES數(shù)據(jù)加密算法。本次AES數(shù)據(jù)加密專指庫外的數(shù)據(jù)加密,可有效減輕數(shù)據(jù)庫服務(wù)器加/解密鑰負擔(dān),同時數(shù)據(jù)交換服務(wù)器可將密鑰與臨時性數(shù)據(jù)分開,數(shù)據(jù)的傳輸過程中數(shù)據(jù)可信度增強。通過JAVA開發(fā)類庫調(diào)用“AES/ECB/PKCS7Padding”對稱加解密[10-12],形成交換數(shù)據(jù)的I/O關(guān)系可實現(xiàn)數(shù)據(jù)交換前的加密過程。其中重點為:①對數(shù)據(jù)庫中的索引數(shù)據(jù)項不要實施加密;②對數(shù)據(jù)庫中的主鍵和外鍵不要實施加密;③對于需要進行計算的數(shù)據(jù)項不實施加密。[9][10][13]
另一方面是在數(shù)據(jù)交換前需要在WEBAPI中設(shè)置應(yīng)用的唯一標識AppID,其中包含了數(shù)據(jù)發(fā)送方的AppKey(數(shù)據(jù)加密前的公匙,相當(dāng)于賬號)和AppSecret(私匙,相當(dāng)于密碼),以及token:令牌(過期失效)。數(shù)據(jù)發(fā)送端服務(wù)器向數(shù)據(jù)接收端服務(wù)器請求授權(quán)時,需要帶上AppKey和AppSecret(需存在服務(wù)器端),數(shù)據(jù)接收端服務(wù)器將驗證AppKey和AppSecret在DB中有無記錄,如果有則生成一串唯一的字符串(token令牌),數(shù)據(jù)發(fā)送端服務(wù)器再返回給數(shù)據(jù)接收端服務(wù)器,只有合法的token令牌才能進行交換,以確保數(shù)據(jù)的安全性。同時AppID與AppSecret換取的令牌超時時長為7200秒[9][10],超時后需要再次換取才允許通信。最后是需要在WEBAPI中指定接口僅針對固定IP開放,其他非法IP無法訪問。
2.消息推送的關(guān)鍵技術(shù)
學(xué)員在微信端注冊個人信息成功后,將向消息服務(wù)器發(fā)送一條新增學(xué)員的消息。收到當(dāng)前消息后,消息服務(wù)器將立即推送給所有訂閱了消息服務(wù)的系統(tǒng)。培訓(xùn)系統(tǒng)接口配置中因訂閱當(dāng)前消息,會及時收到此消息,根據(jù)新增消息類型判斷當(dāng)前自身是否有通訊令牌,如果有令牌并且沒有超時的情況下,培訓(xùn)學(xué)習(xí)平臺會直接帶著令牌并攜帶消息中新增學(xué)員的ID去微信公眾平臺獲取相關(guān)的學(xué)員信息;如果令牌已經(jīng)超時,培訓(xùn)系統(tǒng)會重新獲取令牌后,再次去獲取當(dāng)前新增的學(xué)員信息。[16][18]
如果學(xué)員在微信公眾平臺取消了報名,當(dāng)取消成功后,也會立即推送一條刪除消息到消息中心,此時訂閱消息中心的培訓(xùn)系統(tǒng)收到消息后,根據(jù)消息類型和學(xué)員的ID,執(zhí)行培訓(xùn)學(xué)習(xí)平臺的學(xué)員刪除。
上述的數(shù)據(jù)集成交互業(yè)務(wù)的技術(shù)是基于kafka的消息發(fā)布/訂閱模式,kafka具有低耦合、可靠投遞、高并發(fā)、容錯性、異步處理等特點,可以將消息快速并及時地推送到第三方系統(tǒng)。
3.數(shù)據(jù)日志跟蹤關(guān)鍵技術(shù)
微信公眾號報名系統(tǒng)會將系統(tǒng)中所有相關(guān)的程序代碼根據(jù)日志的級別(普通信息、警告信息、調(diào)試信息、錯誤信息)進行記錄,日志內(nèi)容包括操作時間、操作人、操作的內(nèi)容、當(dāng)前數(shù)據(jù)情形。
數(shù)據(jù)日志的跟蹤關(guān)鍵技術(shù)是通過Log4j開源項目日志管理項目,它提供了便捷的分類的日志記錄(包括ERROR、WARN、INFO、DEBUG 四種常用級別),詳細記錄每種操作的日志以及級別,配合Linux運維可以快速定位每一步的操作,以及數(shù)據(jù)的流轉(zhuǎn)與系統(tǒng)的當(dāng)前運行情況,分析消息的內(nèi)容來判斷當(dāng)前系統(tǒng)的情況,以及操作人和操作的當(dāng)前數(shù)據(jù)情形,快速排查并分析問題。[19]
4.數(shù)據(jù)交換REDIS緩存關(guān)鍵技術(shù)
微信公眾號報名系統(tǒng)面向全國用戶使用,存在很高的并發(fā)量,因此為減少數(shù)據(jù)庫的吞吐量需要把大量數(shù)據(jù)進行緩存操作。如讀取某報名項目信息操作,當(dāng)?shù)谝粋€學(xué)員讀取時,系統(tǒng)將返回給該學(xué)員報名項目信息并同時放入緩存中。待其他學(xué)員訪問時,直接將緩存報名項目數(shù)據(jù)快速傳輸其他學(xué)員。如有交換過來新增報名項目,系統(tǒng)發(fā)現(xiàn)后將立即更新緩存,使緩存為最新數(shù)據(jù)。[19][20]
該功能實現(xiàn)的關(guān)鍵技術(shù)是REDIS,其本身具備速度快,支持豐富的數(shù)據(jù)類型,并且支持事務(wù),同時REDIS具務(wù)數(shù)據(jù)的持久化,這樣即使服務(wù)器出現(xiàn)異常宕機重啟也會保證數(shù)據(jù)不丟失。
5.統(tǒng)一權(quán)限管理關(guān)鍵技術(shù)
微信公眾平臺的后臺有新聞通知等各個模塊,但是對于各個模塊的操作人是不同的,因為系統(tǒng)本身定義了相關(guān)的角色,并將角色賦予相關(guān)的用戶。當(dāng)用戶登錄時,系統(tǒng)會自動獲取當(dāng)前用戶人員的權(quán)限與角色,只有符合同樣角色與權(quán)限的用戶才可以操作相應(yīng)的角色與權(quán)限的功能,保證系統(tǒng)使用上的安全。
統(tǒng)一權(quán)限管理的關(guān)鍵技術(shù)是SHIRO,是一個強大且易用的JAVA安全框架,執(zhí)行身份的驗證、授權(quán)、密碼和會話的管理,并具備了豐富的API接口。
四、結(jié)語
經(jīng)報名系統(tǒng)后臺數(shù)據(jù)查詢,基于微信公眾號平臺的培訓(xùn)報名系統(tǒng)于2019年度7月份至12月份完成報名人員共計3394人,涉及72個培訓(xùn)項目、143個培訓(xùn)班。報名人員涉及全國所有省份,不少來自于西部欠發(fā)達地區(qū),普遍反映高效便捷。微信公眾號的培訓(xùn)報名很大程度上解決了交通運輸行業(yè)人員點多線廣和移動業(yè)務(wù)處理的需求,徹底解決了干部培訓(xùn)前期招生宣傳繁瑣、信息收集整理困難、學(xué)員與培訓(xùn)單位需求不暢和宣傳渠道窄的問題,解決了傳統(tǒng)人工招生宣傳成本高、效率低、信息可信性差的問題。另一方面,微信公眾號報名可以有效降低招生過程的成本支出,如人工費、材料費、通信費、差旅費等支出,對于提高培訓(xùn)單位的品牌效益,提高干部培訓(xùn)行業(yè)的整體形象和信息化水平具有深遠的意義和影響。
參考文獻:
[1]中共中央辦公廳. 2010-2020年干部教育培訓(xùn)改革綱要[Z].2010.8.
[2]李明,伍良啟,羅秋蘭.基于微信公眾平臺的國培項目培訓(xùn)管理信息系統(tǒng)的設(shè)計與實現(xiàn)研究[J].工業(yè)和信息化教育,2019(11):73-79.
[3]劉剛,王當(dāng),孫沛等.淺談微信公眾平臺在教育培訓(xùn)的實現(xiàn)[J].電腦知識與技術(shù),2018(1):142-143.
[4]鐘勁鋒.基于微信公眾平臺的招生信息系統(tǒng)設(shè)計與實現(xiàn)[D].廣州:廣東工業(yè)大學(xué),2018.
[5]夏從林.基于微信公眾平臺的新生報名系統(tǒng)的設(shè)計與實現(xiàn)[J].江蘇科技信息,2017(28):51-52.
[6]劉慶.基于微信招生服務(wù)平臺的設(shè)計與實現(xiàn)[J].網(wǎng)絡(luò)空間安全,2016,7(5):37-38+52.
[7]蘇雪林,夏凌云,董國卿,等.基于微信的英語等級考試報名系統(tǒng)的設(shè)計與實現(xiàn)[J].微型電腦應(yīng)用,2017,33(6):53-56.
[8]龔蘭蘭,凌興宏.基于微信公眾號的有書共讀系統(tǒng)的設(shè)計與實現(xiàn)[J].工業(yè)控制計算機,2020,33(1):100-102+105.
[9]李亞紅.基于AES算法的敏感數(shù)據(jù)庫智能加密方法研究[J].南陽理工學(xué)院學(xué)報,2019,11(2):31-35.
[10]王勁東.基于高級數(shù)據(jù)加密標準AES的數(shù)據(jù)庫加密技術(shù)研究與實現(xiàn)[D].西安:西安電子科技大學(xué),2011.
[11]陳作新,王玉香,劉大鵬.高校圖書館微信公眾平臺設(shè)計與實現(xiàn)——以遼寧科技大學(xué)圖書館為例[J].情報探索,2016(1):72-79.
[12]趙斌.基于微信平臺的餐飲綜合管理系統(tǒng)的設(shè)計與實現(xiàn)[D].長沙:湖南大學(xué),2016.
[13]胡賽.微信公眾平臺在圖書館信息服務(wù)中的應(yīng)用[J].信息與電腦(理論版),2017(20):87-89.
[14]龔讓聲,李素桂,林敏.微信公眾平臺二次開發(fā)關(guān)鍵技術(shù)[J].電子技術(shù)與軟件工程,2018(3):46-47.
[15]陳甫.微信公眾號服務(wù)網(wǎng)站在 BAE3.0 上的設(shè)計與實現(xiàn)[J].電腦編程技巧與維護,2014(14):88-90.
[16]劉強.基于微信的校園信息服務(wù)系統(tǒng)設(shè)計研究[D].新鄉(xiāng):河南師范大學(xué),2014.
[17]戴晟暉.微信公眾平臺搭建、開發(fā)與實踐指南[M].北京:中國鐵道出版社,2014.
[18]龔書,鄭豐.B/S架構(gòu)的職業(yè)院校招生報名管理系統(tǒng)設(shè)計[J].吉首大學(xué)學(xué)報(自然科學(xué)版),2015,36(3):25-28.
[19]唐燕,劉仁權(quán),白俊,等.Web Service技術(shù)在高校微信開發(fā)中的應(yīng)用[J].信息技術(shù),2015(4):44-47+50.
[20]錢志勇.微信公眾平臺應(yīng)用開發(fā)實踐[M].北京:機械工業(yè)出版社,2013.(編輯:魯利瑞)