黃祖皓,趙彥喆,謝毓武,鄭慶華
(廣西科技大學(xué) 電氣電子與計(jì)算機(jī)科學(xué)學(xué)院,廣西 柳州 545616)
干部測評是高校對干部的管理、監(jiān)督、選拔、任用時進(jìn)行的必要考評管理工作??茖W(xué)、精確的對被測對象的客觀評價,關(guān)系到干部的選拔、任用和培養(yǎng)。然而各高校在干部民主測評的方法、流程卻存在著很大差異。
之前的干部測評采用手工測評方式進(jìn)行,存在著工作周期長、工作量大、一般只統(tǒng)計(jì)總分、很難展現(xiàn)投票細(xì)節(jié)等一系列的問題,容易導(dǎo)致測評不到位,測評結(jié)果不能反映干部工作的真實(shí)水平,無法給領(lǐng)導(dǎo)干部更為細(xì)致的反饋。本文研究的內(nèi)容是:針對我校使用傳統(tǒng)方式在干部測評中存在的問題,設(shè)計(jì)開發(fā)一個Web測評系統(tǒng),極大地提高我校干部測評的工作效率和效果。
本項(xiàng)目以VUE、MySQL、Axios、Redis等多項(xiàng)技術(shù)開發(fā)一個干部測評系統(tǒng),實(shí)現(xiàn)一個在線測評管理、用戶管理、數(shù)據(jù)處理系統(tǒng),對干部德、能、績、廉等各個方面進(jìn)行測評,并對測評指標(biāo)賦予權(quán)重化,然后再根據(jù)轉(zhuǎn)換公式計(jì)算出不同被測領(lǐng)導(dǎo)干部的得分,并把結(jié)果呈現(xiàn)給用戶。
測評系統(tǒng)的用戶分為三類:系統(tǒng)管理員,干部,測評人員。系統(tǒng)管理員負(fù)責(zé)基礎(chǔ)數(shù)據(jù)的維護(hù),包括職工數(shù)據(jù)、測評表、測評任務(wù)。干部負(fù)責(zé)提交述職報告和測評。測評人員只負(fù)責(zé)測評。測評進(jìn)行中以及結(jié)束后,管理員可查看統(tǒng)計(jì)分析結(jié)果。
整個系統(tǒng)的大致流程如圖1所示。
圖1 干部測評系統(tǒng)流程
(1)系統(tǒng)管理員創(chuàng)建職工數(shù)據(jù)后,干部和測評人員方能登錄測評系統(tǒng)。
(2)系統(tǒng)管理員創(chuàng)建測評表,創(chuàng)建測評任務(wù),把測評任務(wù)分配給干部作為被測評對象、分配給群眾作為測評人員。
(3)干部登錄后,可管理自己的述職報告。但要在分配到測評任務(wù)后,方能給測評任務(wù)提交述職報告。
(4)在測評任務(wù)的開始時間之后,干部和測評人員開始測評。
(5)測評的起始時間內(nèi),管理員可查看測評完成情況,通知未測評的人員及時測評。
(6)測評結(jié)束后,管理員可查看測評的統(tǒng)計(jì)分析結(jié)果,并下載相關(guān)信息存檔。
職工數(shù)據(jù)主要是測評者和被測評者的個人基本信息,該模塊主要的內(nèi)容就是對這些信息進(jìn)行管理,包括上傳職工信息表、查詢職工的基本信息、修改個人登錄密碼、刪除職工信息等各項(xiàng)內(nèi)容。導(dǎo)入的數(shù)據(jù)文件為Excel格式,首行為(工號,姓名,部門,職務(wù))。由職務(wù)來區(qū)分干部和群眾:職務(wù)為空的為群眾(測評人員)。
該模塊主要對測評表進(jìn)行管理和測評任務(wù)進(jìn)行設(shè)定,如圖2所示。測評表管理包括測評表上傳、瀏覽測評表、刪除測評表、修改測評表基本信息。
圖2 測評表及測評任務(wù)預(yù)設(shè)定
測評表可由下面格式的文本文件上傳(導(dǎo)入)生成。由方括號[]區(qū)分各個測評小節(jié),在每個測評小節(jié)中,每一行對應(yīng)一個測評項(xiàng)。具體示例如下:
[思想政治建設(shè)]
#注釋與說明(#開頭,不會出現(xiàn)在最終測評表中):考察德品
貫徹民主集中制 議事決策規(guī)則健全
班子團(tuán)結(jié),分工合作
[領(lǐng)導(dǎo)能力]
工作目標(biāo)和規(guī)劃 工作思路和舉措
攻堅(jiān)克難、開拓進(jìn)取 管理效率與水平
……
最終生成的測評界面如圖3所示。
圖3 測評表預(yù)覽
測評表創(chuàng)建完成后,可以創(chuàng)建相應(yīng)的測評任務(wù)。測評任務(wù)分為3類:一般任務(wù)、部門內(nèi)任務(wù)、班子測評。一般任務(wù)需要分配被測評對象和測評人;部門內(nèi)的測評僅需分配被測評對象,測評人默認(rèn)為測評對象所在部門的所有人員(包括領(lǐng)導(dǎo)干部和群眾);如果測評任務(wù)的類型為班子測評,則被測評對象,每個部門只能選擇1人,由他代表整個班子進(jìn)行述職報告的提交。
干部述職模塊主要包括干部述職報告的上傳、提交、查看、刪除,如圖4所示。干部擁有提交、查看、刪除報告權(quán)限。測評人員僅可以查看述職報告和刪除測評。管理員擁有全部權(quán)限。管理員、干部、測評人員對于述職報告的權(quán)限。
圖4 操作對象與干部述職表的關(guān)系圖
干部可以用 1 份上傳的述職報告提交給多個測評任務(wù)。在提交述職報告時,干部也可以看到對應(yīng)的測評表內(nèi)容,以便有針對性地陳述自己的工作。
測評模塊主要包括查看述職報告、查看測評任務(wù)和測評開展,如圖5所示。
圖5 職工測評模塊功能預(yù)設(shè)
測評的界面如圖6所示。
圖6 測評界面效果,上方顯示測評任務(wù),左側(cè)為述職報告,右側(cè)為測評項(xiàng)
該模塊主要是通過數(shù)據(jù)采集和數(shù)據(jù)管理來進(jìn)行測評結(jié)果的統(tǒng)計(jì)和展示。在對處級干部進(jìn)行考核中,被測評者的客觀評價,通過對各個指標(biāo)賦予相應(yīng)的測評權(quán)重,然后再根據(jù)統(tǒng)計(jì)公式計(jì)算出最終得分。通過多個報表展示測評的各個方面結(jié)果。
(1)所有部門的測評完成率。可在此處查看未完成測評任務(wù)的部門及個人,以便及時通知。
(2)群眾測評情況。從群眾的角度來展示測評結(jié)果,可以按部門看到每個測評人對所有測評對象的評分情況。從中群眾間的對比中分析/發(fā)現(xiàn)群眾對領(lǐng)導(dǎo)干部的極端意見。
(3)領(lǐng)導(dǎo)測評結(jié)果。從領(lǐng)導(dǎo)干部的角度來展示測評結(jié)果,可以按部門看到每個被測評對象的評分情況。從領(lǐng)導(dǎo)間的對比中分析/發(fā)現(xiàn)領(lǐng)導(dǎo)干部之間的差異。
(4)領(lǐng)導(dǎo)測評分項(xiàng)詳情。對比部門內(nèi)領(lǐng)導(dǎo)間在各個測評細(xì)項(xiàng)上的結(jié)果差異,從各等級票數(shù)/分?jǐn)?shù)來分析/發(fā)現(xiàn)領(lǐng)導(dǎo)在各方面的差異,便于總結(jié)對領(lǐng)導(dǎo)的評價意見,有利于提升該領(lǐng)導(dǎo)的表現(xiàn)。
(5)班子測評結(jié)果。對比單位內(nèi)各部門的班子得分,用于比較部門間的班子得分。
(6)班子測評分項(xiàng)詳情。比較各個班子在班子測評細(xì)項(xiàng)中的差異。
(7)所有測評任務(wù)分?jǐn)?shù)。顯示各個任務(wù)中各被測對象的分?jǐn)?shù)。
(8)計(jì)算成績。此處列出了每個領(lǐng)導(dǎo)所對應(yīng)的測評任務(wù),按任務(wù)組進(jìn)行劃分,有相同任務(wù)的領(lǐng)導(dǎo)放在一個表格中,指定各任務(wù)的權(quán)重后,可計(jì)算出領(lǐng)導(dǎo)的測評總分。此功能也可以在分配完任務(wù)后檢查領(lǐng)導(dǎo)的測評任務(wù)是否正確。
(9)輸出最終結(jié)果。此功能可查看領(lǐng)導(dǎo)的最終得分,并可以導(dǎo)出Excel文件。還可以進(jìn)入領(lǐng)導(dǎo)的界面,查看他們的述職報告、被測評任務(wù)。還可以打包下載所有領(lǐng)導(dǎo)的述職報告,以便存檔。
系統(tǒng)采用主流的Web前后端分離進(jìn)行開發(fā)實(shí)現(xiàn),便于團(tuán)隊(duì)開發(fā)與維護(hù)。前端以Vue和Element-ui框架為基礎(chǔ),實(shí)現(xiàn)用戶數(shù)據(jù)的輸入以及結(jié)果的展示。后端以Java語言為主,采用Spring Boot/Jersey等框架,為前端提供Restful風(fēng)格的訪問接口,實(shí)現(xiàn)數(shù)據(jù)的存儲、處理等功能。
2.1.1 前端界面設(shè)計(jì)
整個界面風(fēng)格如圖7所示,分為3個部分:上方為功能導(dǎo)航區(qū),列出系統(tǒng)的功能類別。上方右側(cè)為個人信息區(qū)域,提供密碼修改和退出登錄功能。中部左側(cè)為每個功能所提供的操作項(xiàng)目。中間部分為數(shù)據(jù)展示及操作區(qū)。
圖7 前端界面的統(tǒng)一風(fēng)格
2.1.2 軟件模塊設(shè)計(jì)圖
軟件開發(fā)分為基礎(chǔ)數(shù)據(jù)維護(hù)、測評表及測評任務(wù)設(shè)定、干部述職、職工測評、報表統(tǒng)計(jì)五大部分,為后端設(shè)計(jì)了如圖8所示的類圖。
2.1.3 restful api設(shè)計(jì)
為適應(yīng)不同客戶端應(yīng)用,系統(tǒng)的前后端接口采用restful api風(fēng)格,部分接口如表1所示。
表1 restfulapi示例
圖8 后端系統(tǒng)的主要類圖
Redis不僅是一個高性能的key-value存儲系統(tǒng),還是一個NOSQL類型數(shù)據(jù)庫,擁有強(qiáng)大的消息隊(duì)列,為高并發(fā)等一系列的問題提供一個緩存方案。Redis作為緩存的作用,能夠減少對數(shù)據(jù)庫的訪問壓力。它位于數(shù)據(jù)庫的前端,訪問數(shù)據(jù)時,首先從Redis中查看該數(shù)據(jù)是否存在:若無,則從數(shù)據(jù)庫中提取到Redis緩存;如果有,則從Redis緩存中讀取,不訪問數(shù)據(jù)庫了。如圖9所示。
圖9 Redis緩存原理圖
系統(tǒng)從2個層面來保證數(shù)據(jù)的安全性與保密性:系統(tǒng)層與應(yīng)用層。
2.3.1 系統(tǒng)安全設(shè)計(jì)
(1)服務(wù)器系統(tǒng)安全。系統(tǒng)運(yùn)行的操作系統(tǒng)為Ubuntu 18.04,數(shù)據(jù)庫為Redis4.0,運(yùn)行環(huán)境OpenJDK-JRE-8.0,Web服務(wù)器為Nginx。
述職報告存儲在本地文件系統(tǒng)中,目錄權(quán)限設(shè)置為用戶本身可訪問,其他用戶均不可訪問,由操作系統(tǒng)來保障數(shù)據(jù)的安全。
系統(tǒng)僅開放80(HTTP)和443(HTTPS)端口,關(guān)閉其他所有的端口,限制所有用戶的遠(yuǎn)程登錄,確保服務(wù)器的安全運(yùn)行。
(2)數(shù)據(jù)庫安全設(shè)計(jì)?;A(chǔ)數(shù)據(jù)存在本地數(shù)據(jù)庫中,禁止遠(yuǎn)程訪問,設(shè)置數(shù)據(jù)庫用戶的復(fù)雜登錄密碼,確保只有應(yīng)用程序能夠訪問數(shù)據(jù)庫。設(shè)計(jì)相應(yīng)的機(jī)制,防止數(shù)據(jù)庫的注入攻擊。
(3)傳輸安全。根據(jù)用戶的網(wǎng)絡(luò)情況,支持 HTTPS 安全傳輸協(xié)議,使數(shù)據(jù)在用戶端瀏覽器和服務(wù)器之間的數(shù)據(jù)傳輸能夠加密進(jìn)行,極大提高數(shù)據(jù)的保密性。
如果僅在用戶的內(nèi)網(wǎng)使用,則無法使用HTTPS協(xié)議,chrome之類的瀏覽器會在地址欄提示“不安全”。這只是chrome瀏覽器暗示所有網(wǎng)站都應(yīng)該使用HTTPS而已,對于無法訪問Internet的內(nèi)部網(wǎng)絡(luò),可適當(dāng)降低傳輸方面的要求。
2.3.2 應(yīng)用安全設(shè)計(jì)
(1)密碼。用戶輸入的密碼,在用戶端即進(jìn)行了加密處理,使用的方法為 SHA256,在目前的條件下,解密仍是不可逆的,保證了用戶的原始密碼。
(2)訪問控制(access control)。用戶登錄后,使用令牌(Token)代替用戶來進(jìn)行資源的訪問,保護(hù)了用戶的信息。
為了確保令牌的安全,設(shè)計(jì)了相應(yīng)的簽名機(jī)制,確保用戶的令牌不被其他用戶冒用。
(3)認(rèn)證(authenticate)。對于所有的系統(tǒng)基礎(chǔ)信息(用戶信息、測評表、測評任務(wù)、統(tǒng)計(jì)報表等),每次訪問都要驗(yàn)證令牌是否是系統(tǒng)管理員所有,防止信息泄露。
對于所有的用戶資源(述職報告、測評任務(wù)等),每次訪問都要進(jìn)行認(rèn)證,確保用戶的令牌與用戶本身一致,防止信息的盜用。
(4)鑒權(quán)(authorize)。系統(tǒng)管理員把測評任務(wù)分配給相關(guān)的領(lǐng)導(dǎo)干部和測評人員后,相應(yīng)對象才擁有對這些任務(wù)及測評表的訪問權(quán)限。
領(lǐng)導(dǎo)干部給測評任務(wù)提交述職報告后,相關(guān)的測評人員對該述職報告才有訪問權(quán)限。
對于所有的測評表、測評任務(wù)、述職報告,每次訪問都要對用戶進(jìn)行鑒權(quán),判斷用戶是否擁有相應(yīng)的權(quán)限,防止信息的泄露。
本文從理論和技術(shù)實(shí)現(xiàn)兩個方面,對基于緩存與消息隊(duì)列的高并發(fā)Web處級干部測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程進(jìn)行了詳細(xì)的介紹。本系統(tǒng)有以下3個特點(diǎn):
(1)無紙化在線測評,使得整個測評過程及結(jié)果都可以清晰可見、并且匿名化適當(dāng)保護(hù)測評者隱私。通過細(xì)致的分析各項(xiàng)測評細(xì)節(jié)、綜合客觀科學(xué)地反映處級干部各方面能力,為組織部選用人才提供可靠參考。
(2)設(shè)計(jì)符合安全要求的數(shù)據(jù)傳輸及訪問授權(quán)機(jī)制,確保測評信息的保密性。由于系統(tǒng)部署在校園內(nèi)網(wǎng),暫時無法采用安全的HTTPS協(xié)議進(jìn)行數(shù)據(jù)的傳輸,因此,在不安全的HTTP協(xié)議上實(shí)現(xiàn)可信的測評是本系統(tǒng)的一個創(chuàng)新點(diǎn)。
(3)設(shè)計(jì)一套高并發(fā)框架,以適應(yīng)測評的高突發(fā)特性。測評通知下發(fā)后,我校數(shù)千職工可能會帶來一些訪問尖峰。借鑒一些緩存、消息隊(duì)列等方案,提高系統(tǒng)吞吐率并進(jìn)行削峰處理,沉穩(wěn)應(yīng)對可能的高并發(fā)訪問。