劉同洋, 陳 光, 任卓君
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
?
網(wǎng)絡(luò)遠(yuǎn)程實驗平臺信息導(dǎo)入和智能匹配功能的設(shè)計
劉同洋, 陳 光, 任卓君
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)

根據(jù)網(wǎng)絡(luò)遠(yuǎn)程實驗教師管理平臺的實際需求,利用ASP.NET技術(shù)、C#編程語言以及SQL數(shù)據(jù)庫技術(shù),設(shè)計了采用B/S模式的網(wǎng)絡(luò)遠(yuǎn)程實驗信息批量導(dǎo)入管理功能。基于學(xué)生信息管理機制,教師利用Web瀏覽器通過互聯(lián)網(wǎng)連接到遠(yuǎn)程實驗平臺,將輸入的學(xué)生注冊信息進(jìn)行系統(tǒng)識別,判斷輸入的信息是否有效并給予相應(yīng)提示。然后將輸入有效的學(xué)生信息與系統(tǒng)中已成功注冊信息進(jìn)行匹配,將未匹配的信息進(jìn)行批量導(dǎo)入,同時以網(wǎng)頁的形式顯示已錄入的學(xué)生信息以便于教師查看與核對。此功能不僅實現(xiàn)了對信息輸入有效性的識別,而且也實現(xiàn)了學(xué)生信息的高效錄入和智能匹配,為網(wǎng)絡(luò)遠(yuǎn)程實驗平臺的信息管理提供一定程度的便捷。
網(wǎng)絡(luò)遠(yuǎn)程實驗; 批量導(dǎo)入; 智能匹配; SQL數(shù)據(jù)庫
隨著網(wǎng)絡(luò)遠(yuǎn)程控制的不斷發(fā)展,高校實驗室的封閉式管理將逐漸轉(zhuǎn)變?yōu)殚_放式管理。實驗室全天候開放實驗設(shè)備,學(xué)生通過網(wǎng)絡(luò)遠(yuǎn)程實驗的方法,便可訪問到實驗室的資源,從而進(jìn)行遠(yuǎn)程實驗[1-3]。
作為網(wǎng)絡(luò)遠(yuǎn)程實驗的一個案例,根據(jù)本學(xué)院現(xiàn)代通信網(wǎng)絡(luò)應(yīng)用實踐這門課程,本課題組研發(fā)了基于B/S架構(gòu)的網(wǎng)絡(luò)遠(yuǎn)程實驗平臺。通過該平臺,學(xué)生可以不局限于時間、空間,利用個人PC機上的Web瀏覽器登錄到網(wǎng)絡(luò)遠(yuǎn)程實驗平臺,從而進(jìn)行相關(guān)的網(wǎng)絡(luò)實驗。然而在該遠(yuǎn)程實驗管理平臺上,學(xué)生首次登錄遠(yuǎn)程實驗平臺時需要注冊,由于學(xué)生數(shù)量較大,導(dǎo)致增加了教師的工作量。如何更加高效和智能地將首次登錄的學(xué)生注冊信息錄入到系統(tǒng)中成為亟待解決的問題。本文針對這一實際需求,設(shè)計與實現(xiàn)了網(wǎng)絡(luò)遠(yuǎn)程實驗平臺信息批量導(dǎo)入功能。通過學(xué)生信息的批量及智能化錄入,既減輕實驗室管理人員的工作負(fù)擔(dān),使得網(wǎng)絡(luò)遠(yuǎn)程實驗的管理更加高效、便捷,同時又避免未選修該門課程的用戶占用實驗室資源,從而減輕了實驗室的壓力。最終完善了由遠(yuǎn)程實驗平臺對學(xué)生信息、實驗信息以及設(shè)備信息的統(tǒng)一管理[4-5]。
1.1 平臺的硬件組成
實驗室硬件拓?fù)浣Y(jié)構(gòu)如圖1所示。學(xué)生通過連接互聯(lián)網(wǎng)訪問網(wǎng)絡(luò)實驗室的SSL/VPN[6-9]防火墻,通過權(quán)限認(rèn)證后即可進(jìn)入實驗室內(nèi)部網(wǎng)絡(luò)。網(wǎng)絡(luò)設(shè)備的訪問都是以B/S模式呈現(xiàn)給學(xué)生的,學(xué)生只要點擊相應(yīng)網(wǎng)絡(luò)設(shè)備的鏈接即可登入該設(shè)備進(jìn)行實驗。

圖1 平臺的硬件組成
1.2 平臺的軟件組成
本平臺采用了ASP.NET技術(shù)方案(Windows XP+IIS6.0+Sql2005+VS2008/C#)。.NET技術(shù)可以使各種應(yīng)用程序通過Internet進(jìn)行通訊和共享數(shù)據(jù),而不受操作系統(tǒng)、設(shè)備或編程語言的限制[10]。ASP.NET中采用B/S(Browser/Server瀏覽器/服務(wù)器)結(jié)構(gòu)的應(yīng)用體系、C#編程語言、Sql Server數(shù)據(jù)庫管理系統(tǒng)以及ASP.NET服務(wù)器技術(shù)[11]。
2.1 實現(xiàn)思路
信息批量導(dǎo)入功能是在教師管理機制的基礎(chǔ)上進(jìn)行設(shè)計的。其基本思路是,學(xué)生在首次登錄到網(wǎng)絡(luò)遠(yuǎn)程實驗平臺進(jìn)行實驗時,注冊信息要先經(jīng)過教師認(rèn)證,即教師首先通過Web瀏覽器進(jìn)行SSL/VPN認(rèn)證,然后登錄到教師管理平臺,由于學(xué)生學(xué)號唯一,因此在頁面中以一定學(xué)號范圍輸入未被認(rèn)證的學(xué)生注冊信息,點擊批量添加,觸發(fā)Button_Click事件,從而自動連接后臺數(shù)據(jù)庫并將輸入信息傳送到后臺數(shù)據(jù)庫表中,實現(xiàn)批量導(dǎo)入到遠(yuǎn)程服務(wù)器內(nèi)。已被認(rèn)證的用戶信息會通過ASP.NET中GridView控件來動態(tài)顯示在教師管理web頁面上[12]。在錄入學(xué)生注冊信息時,系統(tǒng)自動進(jìn)行智能匹配,若沒按照正規(guī)的填寫方式進(jìn)行填寫,則會提示請輸入完整的學(xué)生信息。系統(tǒng)要根據(jù)其身份信息對其進(jìn)行身份認(rèn)證,認(rèn)證成功后,便可登錄實驗平臺進(jìn)行遠(yuǎn)程實驗。
2.2 設(shè)計流程
圖2為信息批量導(dǎo)入功能程序設(shè)計流程圖。

2.3 功能實現(xiàn)
2.3.1 構(gòu)建后臺數(shù)據(jù)庫
數(shù)據(jù)庫是一個信息系統(tǒng)應(yīng)用程序的重要組成部分。在計算機中,它是一個數(shù)據(jù)存儲的集合,是一個組織數(shù)據(jù)的規(guī)范。存在它里面的數(shù)據(jù)都是按照一定的結(jié)構(gòu)來組織的。在日常工作中,常常需要把某些相關(guān)的數(shù)據(jù)存儲在數(shù)據(jù)庫中,然后對它們進(jìn)行管理:數(shù)據(jù)的添加、刪除、修改和查詢[13]。本文采用操作簡單、界面友好、與Windows平臺很好地融合的SQL Serve數(shù)據(jù)庫管理系統(tǒng),為了實現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程實驗平臺信息批量導(dǎo)入功能,對學(xué)生學(xué)號、所在專業(yè)、所在院校等數(shù)據(jù)搭建了數(shù)據(jù)庫,便于對數(shù)據(jù)的查詢和管理。本文采用的數(shù)據(jù)庫管理系統(tǒng)為SQL Server 2005,數(shù)據(jù)庫命名為db_management,學(xué)生的注冊信息存放在db_student表中。其中db_student表如表1所示。數(shù)據(jù)列stu_ID為學(xué)生學(xué)號,設(shè)置為主鍵,學(xué)號唯一。數(shù)據(jù)列stu_Major為學(xué)生所在專業(yè)、數(shù)據(jù)列stu_College學(xué)生所在院校。

表1 數(shù)據(jù)表db_student
2.3.2 存儲學(xué)生基本信息
數(shù)據(jù)庫db_management中的db_student表中存放學(xué)生的基本信息,數(shù)據(jù)庫中的用戶信息的更新由web應(yīng)用程序中的控件來觸發(fā)。本文中分別自定義的db類中的GreatDs()方法和Dosql()方法用來實現(xiàn)數(shù)據(jù)庫的查詢與更新,其中在db類中先定義一個數(shù)據(jù)路連接字符串connstring,字符串需要服務(wù)器、數(shù)據(jù)庫及安全性聲明等,創(chuàng)建SqlConnection數(shù)據(jù)庫連接對象,根據(jù)connstring字符串打開數(shù)據(jù)庫連接,在GreatDs()方法中創(chuàng)建SqlDataAdapter、DataSet對象實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢[14-15]。然后聲明一個公共、靜態(tài)、不需要返回值的方法DoSql(string sql),方法實現(xiàn)數(shù)據(jù)庫寫操作。然后定義一個SqlCommand對象實例,調(diào)用該對象的ExecuteNonQuery()方法執(zhí)行SQL操作字符串,實現(xiàn)把學(xué)生基本信息寫入,最后存入數(shù)據(jù)庫,主要實現(xiàn)代碼如下:
public class db //定義數(shù)據(jù)庫類
{
public static string connstring = "server=localhost;user id =sa;password=lrbt;database=db_liutongyang"; //連接字符串
public static void DoSql(string sql) //操作數(shù)據(jù)庫方法聲明
{
SqlConnection conn = new SqlConnection(); //創(chuàng)建SqlConnection對象
conn.ConnectionString = connstring; //執(zhí)行連接
conn.Open(); //打開連接
SqlCommand cmd = new SqlCommand(sql, conn); //執(zhí)行命令
cmd.ExecuteNonQuery(); //執(zhí)行數(shù)據(jù)庫更新操作
conn.Close();
}
public static DataSet GreatDs(string sql) //數(shù)據(jù)庫顯示方法聲明
{
SqlConnection myconn = new SqlConnection(connstring.ToString());
myconn.Open();
SqlDataAdapter mydr = new SqlDataAdapter(sql, myconn); //創(chuàng)建適配器對象
DataSet myds = new DataSet(); //創(chuàng)建數(shù)據(jù)集對象
mydr.Fill(myds); //進(jìn)行填充
return myds;
}
}
2.3.3 已認(rèn)證學(xué)生信息的顯示機制
教師登錄到網(wǎng)絡(luò)遠(yuǎn)程實驗平臺中的教師管理頁面時,頁面會顯示出已經(jīng)過認(rèn)證的學(xué)生注冊信息,包括:學(xué)生學(xué)號、學(xué)生專業(yè)以及學(xué)生院校。當(dāng)有新的用戶添加成功后,會更新當(dāng)前的顯示信息。通過GridView控件來實現(xiàn)此功能,主要實現(xiàn)代碼:
protected void Page_Load(object sender, EventArgs e)
{
string sql = "select * from db_student"; //SQL查詢字符串
DataTable dt = new DataTable(); //創(chuàng)建數(shù)據(jù)集對象
dt = db.GreatDs(sql).Tables[0];
if (dt.Rows.Count > 0) //判斷是否存在已認(rèn)證的學(xué)生注冊信息
{
this.GridView1.Visible = true; //指定GridView控件可見
this.GridView1.DataSource = dt; //綁定數(shù)據(jù)
GridView1.DataBind(); //指定數(shù)據(jù)源
}
}
2.3.4 批量導(dǎo)入學(xué)生注冊信息
當(dāng)教師查詢到學(xué)生的注冊信息未被認(rèn)證時,則需要將學(xué)生信息錄入到系統(tǒng)中,一般學(xué)生的特點是以學(xué)號為主,因此通過學(xué)生學(xué)號作為唯一的標(biāo)識,將學(xué)生的學(xué)號以一定的范圍進(jìn)行批量導(dǎo)入。
(1)教師若在TextBox控件中輸入學(xué)生學(xué)號為空或信息不完整時,系統(tǒng)會自動提示請輸入完整的數(shù)據(jù)信息,主要代碼如下:
if (TextBox1.Text == "" & TextBox2.Text == "")
{
Response.Write("");
}
(2)教師在TextBox控件中輸入的學(xué)生學(xué)生信息已被成功認(rèn)證并存儲在系統(tǒng)中,則系統(tǒng)提示該學(xué)生學(xué)號已存在,請更換輸入信息,主要代碼如下:
string sql = "select * from db_student where stu_ID='" + TextBox1.Text + "'";
DataTable dt = new DataTable();
dt = db.GreatDs(sql).Tables[0];
if (dt.Rows.Count > 0)
{
Response.Write("");
}
(3) 若以上條件都滿足的(1)、(2)情況下,點擊Button控件后,觸發(fā)Button_Click事件,即連接SQL Server數(shù)據(jù)庫,將前臺TextBox控件中輸入的數(shù)據(jù)自動傳送到后臺數(shù)據(jù)庫,實現(xiàn)學(xué)生信息的批量導(dǎo)入,并存儲新添加的數(shù)據(jù)以及更新原先的數(shù)據(jù)表,最后通過GridView控件顯示在頁面上。
else
{
for (int i = Convert.ToInt32(TextBox1.Text); i< Convert.ToInt32(TextBox2.Text); i++)
{
string sqls = "insert into db_student(stu_ID,stu_Major,stu_College) values( '"+i.ToString()+"','"+TextBox3.Text.Trim()+"','"+TextBox4.Text.Trim()+"')";
db.DoSql(sqls);
}
this.TextBox1.Text = "";
this.TextBox2.Text = "";
this.TextBox3.Text = "";
this.TextBox4.Text = "";
Response.Write("");
string sql3 = "select stu_ID as '學(xué)生學(xué)號',stu_Major as '所屬專業(yè)',stu_College as '所屬學(xué)院'from db_student";
DataTable dt3 = new DataTable();
dt3 = db.GreatDs(sql3).Tables[0];
this.GridView1.Visible = true;
this.GridView1.DataSource = dt3;
GridView1.DataBind();
}
3.1 已認(rèn)證學(xué)生信息的顯示功能驗證
教師通過瀏覽器登錄到網(wǎng)絡(luò)遠(yuǎn)程實驗平臺的教師管理頁面上,可以看到頁面上以一定的排序顯示已成功認(rèn)證的學(xué)生注冊信息,包括學(xué)生的學(xué)號、專業(yè)、院校。表明學(xué)生信息已存儲在數(shù)據(jù)庫內(nèi)。
3.2 信息批量導(dǎo)入功能驗證
教師登錄到網(wǎng)絡(luò)遠(yuǎn)程實驗的管理頁面,可對學(xué)生的注冊信息進(jìn)行批量導(dǎo)入,輸入學(xué)生學(xué)號的范圍、所屬專業(yè)以及所屬學(xué)院,點擊批量導(dǎo)入控件即可實現(xiàn)對信息的批量導(dǎo)入。同時,在新的頁面提示添加成功。最后將用戶信息寫入到數(shù)據(jù)庫內(nèi),并更新管理頁面中的學(xué)生信息。
基于ASP.NET技術(shù)方案和B/S模式的網(wǎng)絡(luò)遠(yuǎn)程實驗平臺可以為學(xué)生提供一個基于互聯(lián)網(wǎng)的遠(yuǎn)程實驗平臺,突破了時間、空間的限制,大大提高了實驗的靈活性。在遠(yuǎn)程實驗平臺中加入信息批量導(dǎo)入功能,能夠有效地將學(xué)生信息錄入系統(tǒng)數(shù)據(jù)庫內(nèi)。用戶遠(yuǎn)程使用實驗室資源需要進(jìn)行信息的認(rèn)證,在成功認(rèn)證前無法登錄到實驗頁面。而教師在批量導(dǎo)入用戶信息時未輸入完整信息,Web頁面將會給出相應(yīng)的警告提示,使實驗平臺更加智能化與人性化。同時,系統(tǒng)還提示教師輸入的學(xué)生信息是否已存在,以方便實驗室管理員實時了解學(xué)生信息的錄入情況,從而幫助管理員更加高效地管理實驗室。另外,也避免了未選修該門課程的部分用戶占用實驗室資源。此功能在實驗室教師管理中,具有較強的應(yīng)用價值。
[1] 吳軍強.遠(yuǎn)程網(wǎng)絡(luò)實驗系統(tǒng)的研究與實現(xiàn)[J].電腦知識與技術(shù),2012,8(11):2460-2463.
[2] 何懷文,肖 濤,陳子醉.基于Internet的遠(yuǎn)程網(wǎng)絡(luò)實驗開放平臺的設(shè)計與教學(xué)應(yīng)用[J].現(xiàn)代計算機,2013,12:68-75.
[3] 陳 瑩.遠(yuǎn)程網(wǎng)絡(luò)教育的現(xiàn)狀及發(fā)展前景[J].電腦知識與技術(shù),2011,7(18):4515-4516.
[4] 郭 放,陳 光.現(xiàn)代通信網(wǎng)絡(luò)應(yīng)用實踐[M].北京:中國水利水電出版社,2009:280-296.
[5] 謝希仁.計算機網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,1999:236-253.
[6] 狄衛(wèi)華. SSL VPN方案設(shè)計[J].科技資訊,2006(7):2-3.
[7] 肖 濤,程 東,何懷文.SSL VPN在遠(yuǎn)程網(wǎng)絡(luò)實驗室的應(yīng)用與實現(xiàn)[J].實驗科學(xué)與技術(shù),2011,9(1):30-31.
[8] 周 航,任國恒,朱欣穎.SSL VPN技術(shù)在數(shù)字化校園中的應(yīng)用[J].智能計算機與應(yīng)用,2013,3(2):32-33.
[9] 簡清明.SSL VPN及其在安全遠(yuǎn)程訪問中的應(yīng)用[J].四川理工學(xué)院學(xué)報(自然科學(xué)版),2005, 18(1):57-59.
[10] 朱 曄.ASP.NET 第一步[M].北京:清華大學(xué)出版社,2007:31-55.
[11] 朱印宏,蘇震巍.ASP.NET 3.5+SQL Server網(wǎng)站模塊化開發(fā)全程實錄[M].北京:清華大學(xué)出版社,2009:1-4.
[12] 劉麗霞,李俊民.C#范例開發(fā)大全[M].北京:清華大學(xué)出版社,2010:320-322.
[13] 秦 婧.21天學(xué)通C#[M].北京:電子工業(yè)出版社,2011:282.
[14] 明日科技,王小科,趙會東. ASP.NET 程序開發(fā)范例寶典[M].北京: 人民郵電出版社,2012:315-316.
[15] 明日科技,房大偉. ASP.NET開發(fā)經(jīng)典模塊大全[M].北京: 人民郵電出版社,2010:283-284.
Design of Information Batch Import and Smart Match Function Based on Network Remote Experimental Platform
LIUTong-yang,CHENGuang,RENZhuo-jun
(Department of Information Science and Technology, Donghua University, Shanghai 201620, China)
According to the demands of teacher management platform in network remote experiment , this paper uses of ASP.NET technology, C# language and SQL database technology, designs the information batch import function of the network remote experiment using B/S mode. Based on the mechanism of student information management, teachers use Web browser to connect to the remote experimental platform via the Internet. To begin with, the inputted student registration information is identified by the system, and the system determines whether the input is valid and gives the administrator the appropriate prompts. Then, the techers make the inputted valid users' information match with the information which is successfully registered by system. At the end, the unmatched information will do the batch import. At the same time, the techers will display the inputted student information in the form of the web so that teachers could scan and check the information. In this process, the teacher not only could achieve the recognition of the validity of the information input, but also could implement efficient entry of student information and smart match. And it provides convenience for the information management of the network remote experiment.
network remote experiment; batch import; smart match; SQL database
2014-04-21
上海市教育科學(xué)2011年度重點項目(A1119)
劉同洋(1988-),男,山東濱州人,碩士生,研究方向:計算機網(wǎng)絡(luò)通信。
Tel.:13817050421;E-mail:tengfeiyan110@126.com
陳光(1957-),男,廣東汕頭人,教授,研究方向:無線移動能信,電磁場理論等。
TP315
A
1006-7167(2015)01-0126-04