付國華++侯磊
[摘 要]勞動就業(yè)培訓(xùn)數(shù)據(jù)管理系統(tǒng)基于B/S架構(gòu),采用ASP網(wǎng)絡(luò)編程技術(shù)和SQL-Server數(shù)據(jù)庫等網(wǎng)站開發(fā)技術(shù),確定了系統(tǒng)總體架構(gòu)、主要功能和業(yè)務(wù)流程,闡述了系統(tǒng)安全訪問控制、導(dǎo)入導(dǎo)出數(shù)據(jù)、二代身份證閱讀器信息采集、自動統(tǒng)計數(shù)據(jù)信息等關(guān)鍵技術(shù)。
[關(guān)鍵詞]就業(yè)培訓(xùn);管理系統(tǒng);B/S
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-914X(2016)02-0139-02
[Abstract]The solution of labor and employment information management system based on B/S architecture, by integrating such website development technologies as ASP and SQL—Server database. The overall system architecture, main functions and business processes are determined, the pivotal technology of security access control, data import/export, the second generation ID card reader information collection and automatic statistics of information are elucidated. A set of secure,stable and scalable network application system is constructed.It implements the labor employment of informatization and network.
[Key words]Employment training Management system B/S
引言
本文將ASP.NET技術(shù)應(yīng)用到就業(yè)培訓(xùn)信息管理系統(tǒng)中,根據(jù)系統(tǒng)的需求分析和設(shè)計,完成了系統(tǒng)框架搭建、各功能模塊劃分及實現(xiàn)、數(shù)據(jù)庫的創(chuàng)建和系統(tǒng)分層實現(xiàn)等,并將報名培訓(xùn)人數(shù)進(jìn)行分析和統(tǒng)計,報名現(xiàn)場可實現(xiàn)對報名學(xué)員信息的收集和管理。
1 系統(tǒng)設(shè)計
1.1系統(tǒng)總體功能
B/S(browser/server)結(jié)構(gòu)是目前比較流行的項目開發(fā)方式,它具有優(yōu)越的可管理性和可維護(hù)性、先進(jìn)的開發(fā)技術(shù)以及簡單方便等優(yōu)點,同時,它還具有業(yè)務(wù)擴展簡單方便的特點,通過增加網(wǎng)頁即可增加服務(wù)器功能,保證了信息的時效性、準(zhǔn)確性和完整性[1]。
本系統(tǒng)采用 B/S 模式的三層架構(gòu)方式來開發(fā),即表示層、功能層和數(shù)據(jù)層。表示層是用戶和整個系統(tǒng)的接口,用于顯示數(shù)據(jù)以及將數(shù)據(jù)提交到功能層,為用戶提供一種交互式的界面;功能層專門負(fù)責(zé)業(yè)務(wù)邏輯實現(xiàn),它對表示層發(fā)送來的數(shù)據(jù)進(jìn)行操作,將其發(fā)送給數(shù)據(jù)層,或調(diào)用數(shù)據(jù)層中的函數(shù)讀取數(shù)據(jù);數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)信息的存儲、訪問及其優(yōu)化,用于實現(xiàn)與數(shù)據(jù)庫的交互,即完成添加、刪除、查詢和修改數(shù)據(jù)的功能[2]。
該系統(tǒng)具有以下功能:數(shù)據(jù)備份、身份證采集、信息錄入、打印、批量刪除、權(quán)限管理、信息統(tǒng)計、數(shù)據(jù)庫備份、檢索姓名以及信息的批量導(dǎo)入和導(dǎo)出。
1.2系統(tǒng)開發(fā)工具和技術(shù)
在Windows7操作系統(tǒng)下,采用Microsoft Visual Studio 2010作為開發(fā)平臺,應(yīng)用XHTML和JavaScript語言編寫瀏覽器端代碼,以ASP.NET(C#)語言編寫服務(wù)器端代碼,IIS作為HTTP服務(wù)器,處理靜態(tài)HTML頁面訪問,通過ISAPI服務(wù)器擴展調(diào)用服務(wù)器端程序,并將運算結(jié)果以靜態(tài)HTML的形式返回客戶端瀏覽器。服務(wù)器端程序運行在Microsoft.Net Framework4.0類庫之上,通過SQL server身份驗證訪問Microsoft SQL Server2008數(shù)據(jù)庫服務(wù)器。
1.3數(shù)據(jù)庫設(shè)計
根據(jù)系統(tǒng)功能需求分析及勞動就業(yè)培訓(xùn)中心提供的學(xué)員數(shù)據(jù)的實際情況,建立了名為JiuYeManage的數(shù)據(jù)庫[3],本系統(tǒng)數(shù)據(jù)庫一共設(shè)計有16個表,例如:用戶信息表、學(xué)員信息表、實業(yè)培訓(xùn)班表、特種作業(yè)培訓(xùn)班表、角色表等。
2 系統(tǒng)的安全性
本文的安全驗證采用了多層次驗證的思想,具體包括:
(1)用Windows Server中的IIS的身份認(rèn)證。
(2)對數(shù)據(jù)庫進(jìn)行加密,通過SQL server身份驗證訪問數(shù)據(jù)庫服務(wù)器。
(3)用戶和密碼驗證。
用報名信息管理系統(tǒng)中的用戶登陸來驗證身份。用HTML請求的數(shù)據(jù)與數(shù)據(jù)庫中User_List表的用戶名、密碼進(jìn)行驗證,若用戶存在,讀取用戶權(quán)限,進(jìn)入主界面。
(4)session和cookie聯(lián)合驗證。
系統(tǒng)利用session來判斷用戶是否在線,因為這是保存在服務(wù)器的數(shù)據(jù),不會受到客戶端影響。系統(tǒng)在運行過程中為防止系統(tǒng)資源不足,asp.net自動回收進(jìn)程,這會導(dǎo)致session失效。在這種情況下,系統(tǒng)聯(lián)合使用session和cookie來判斷用戶狀態(tài)[4]。如果session里找不到用戶信息時,再去找cookie,同時把用戶信息再次寫入session,當(dāng)離開頁面時,cookie會自動銷毀。
部分驗證程序如下:
if (Session["Role"] == null)
{
string xx = Request.Cookies["Role"].Value;
Session["Role"] = xx;
string b = Request.Cookies["Power"].Value;
Session["Power"] = b;
string c = Request.Cookies["UserName"].Value;
Session["UserName"] = c;
}
(5)權(quán)限驗證。
系統(tǒng)的用戶分為四類:第一類是操作員,一般是報名大廳的信息錄入員,該類用戶可以根據(jù)報名流程對學(xué)員信息進(jìn)行錄入、對信息進(jìn)行修改和刪除;第二類是數(shù)據(jù)處理員,一般是各個科室的工作人員,該類用戶只能修改學(xué)員信息,不能刪除和錄入;第三類是收銀員,只能管理收費、退費;第四類是系統(tǒng)管理員,該類用戶除具備普通管理員權(quán)限外,還可以對系統(tǒng)進(jìn)行管理和維護(hù),包括發(fā)布與管理公告、數(shù)據(jù)庫備份、修改用戶的密碼及權(quán)限等。
由于勞動培訓(xùn)中心不同的部門管理不同的培訓(xùn)班級,因此,操作員和數(shù)據(jù)處理員擁有管理不同班級的權(quán)利。本系統(tǒng)一共存在五個報名班級。系統(tǒng)管理員可以在用戶管理頁面對系統(tǒng)的權(quán)限和權(quán)力進(jìn)行選擇和更改。
3 關(guān)鍵技術(shù)
3.1二代身份證信息采集
本系統(tǒng)通過身份證閱讀器與計算機的USB口相連,進(jìn)行個人信息的采集。身份證閱讀器以無線傳輸方式與居民身份證卡內(nèi)的專用芯片進(jìn)行安全認(rèn)證后,將身份證IC卡芯片內(nèi)的個人信息資料讀出。讀取身份證的信息還需引用身份證閱讀器中的動態(tài)鏈接庫,并對其編寫接口程序,從而實現(xiàn)個人信息在系統(tǒng)中的讀取與存儲。以下是用javascript編寫的身份證信息采集程序片段:
function ReadCard_onclick()
{
var str;
str = SynCardOcx1.FindReader();
if (str<=0)
{
alert(沒有找到讀卡器!)
}
var a;
var nRet;
SynCardOcx1.SetReadType(0);
nRet = SynCardOcx1.ReadCardMsg();
if(nRet==0)
{ var text1= SynCardOcx1.Sex;
if(text1=="1")
{
a="男";
}
else
{
a="女";
}
var text2= SynCardOcx1.Nation;
var a2=test(text2);
//讀取身份證信息到頁面
document.getElementById("t1").value=SynCardOcx1.NameA;
document.getElementById("t2").value=a;
document.getElementById("t3").value=a2;
document.getElementById("t5").value=SynCardOcx1.Address; document.getElementById("t6").value=SynCardOcx1.CardNo;
}
}
3.2報名時間段統(tǒng)計
進(jìn)入報名時間段統(tǒng)計界面,在“分類:”處的下拉框可選擇報名班級,“時間類型:”處的下拉框可選擇按培訓(xùn)時間或報名時間搜索,“時間:”處可選擇查詢的時間段進(jìn)行查詢。若輸入時間格式錯誤,系統(tǒng)將彈出對話框提示。點擊統(tǒng)計匯總按鈕,頁面顯示查詢結(jié)果,系統(tǒng)會按照報名專業(yè)、報名等級進(jìn)行人數(shù)統(tǒng)計,實現(xiàn)優(yōu)惠、退費、應(yīng)收、實收費用的統(tǒng)計功能,同時,將優(yōu)惠、退費人的基本資料顯示出來。
以下為統(tǒng)計等級為初級的培訓(xùn)專業(yè)人數(shù)部分代碼:
for (int i = 0; i < dt.Rows.Count; i++)//循環(huán)查找;
{
string a = dt.Rows[i]["Zhuanye"].ToString();
//在JianDing_ZY表中查找出專業(yè);
System.Web.UI.WebControls.Label lb0
= new System.Web.UI.WebControls.Label();
lb0.ID = "Label0" + i.ToString();
lb0.Text = a;
string sql3 = "select count(*) from JianDing_Class where 申報級別=初級and培訓(xùn)專業(yè)=" + a + "";
//在JianDing_Class表中查找出專業(yè)所對應(yīng)的初級培訓(xùn)人數(shù);
sql3 += sql;
SqlCommand cmd3 = new SqlCommand(sql3, cn);
SqlDataAdapter da3 = new SqlDataAdapter(cmd3);
cn.Open();
int aa3 = Convert.ToInt32(cmd3.ExecuteScalar());
cn.Close();
string b3 = Convert.ToString(aa3);
System.Web.UI.WebControls.Label lb3
//動態(tài)增加lable控件;
lb3.ID = "Label3" + i.ToString();
lb3.Text = "初級:"+ b3 + "人";//顯示人數(shù);
……
}
3.3系統(tǒng)操作日志
本系統(tǒng)采用Log4net 控件來記錄系統(tǒng)日志,它能夠靈活多變地處理log文件,可以將log信息輸出不同的樣式和輸出到不同的地方,如控制臺、文本文件、XML文件,也可以根據(jù)天數(shù)或者文件大小產(chǎn)生新的文件。
引用動態(tài)鏈接庫log4net.dll到項目中,在web.config中對其進(jìn)行配置, Log4net 控件的功能語句如下:log.Error()記錄錯誤日志;log.Fatal()記錄嚴(yán)重錯誤;log.Info()記錄一般信息;log.Debug()記錄調(diào)試信息;log.Warn()記錄警告信息。
3.4數(shù)據(jù)的導(dǎo)入導(dǎo)出
(1)導(dǎo)出班級信息表:主要功能為了導(dǎo)出系統(tǒng)里學(xué)員的班級信息到excel中,便于用戶對學(xué)員的信息進(jìn)行格式的修改和打印。
(2)導(dǎo)入班級信息表:將excel表中的班級信息導(dǎo)入系統(tǒng)中,實現(xiàn)學(xué)員信息的批量導(dǎo)入,提高效率。本系統(tǒng)采用COM組件來操作excel文件,提供了完整的excel操控能力,可以方便的進(jìn)行復(fù)雜操作,導(dǎo)出標(biāo)準(zhǔn)格式的excel文件,確保在將其導(dǎo)入數(shù)據(jù)庫時不會出現(xiàn)錯誤。
4 結(jié)束語
基于B/S模式的實用報名信息管理系統(tǒng)具有較強的適應(yīng)性、有效性及靈活性,已成功應(yīng)用于某市就業(yè)培訓(xùn)管理部門,取得了良好效果。
參考文獻(xiàn)
[1] 李靜, 王軍政, 沈偉. 基于B/S和流媒體技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)研究[J]. 北京理工大學(xué)學(xué)報, 2008, 28(2) :682-686
[2] 王進(jìn).B/S模式下的三層架構(gòu)模式[J].軟件導(dǎo)刊,2011, 10(3) :30-31
[3] 蔣秀英.SQL Server2000數(shù)據(jù)庫與應(yīng)用[M].北京:北方交通大學(xué)出版社,2006:220-301.
[4] 程琪,張白樺.ASP.NET動態(tài)網(wǎng)站開發(fā)項目化教程[M].北京:清華大學(xué)出版社,2010.