999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于.NET的在線學習系統中的實時考勤方法研究

2008-12-31 00:00:00熊蜀峰褚龍現
電腦知識與技術 2008年20期

摘要:在線學習技術是現代教育發展的一個方向,如何有效地對學員進行管理也成為在線學習模式下一個亟待解決了問題。本文對在線學習模式下考勤管理進行了深入研究,針對在線學習中的學員流動頻繁,考勤的實時性要求比較高的特點,以基于.NET的在線學習系統的實際開發為例,從考勤模塊的總體設計到考勤信息的實時存取實現方法等方面進行了詳細闡述。

關鍵詞:在線學習;E-learning;在線考勤

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)20-30264-03

Research of Real-time Attendance Method for E-learning System Based on .NET Framework

XIONG Shu-feng, CHU Long-xian, LI Bo

(Software College of Pingdingshan University, Pingdingshan 467000, China)

Abstract: E-learning technology is the direction of modern education development. How to manage the students effectively in E-learning is the next problem that has to be solved imperatively. In this article, it had done a deep research for attendance management in E-learning pattern. The research took an E-learning system's actual development with .NET platform as an example and aimed at the characteristic that the students flowed frequently and the attendance required timeliness in order to expatiate the system design of attendance module and the accessing method of attendance information.

Key words: online study; e-learning; online attendance

1 引言

目前,多數高等院校都架設了校園網,校園網不但是高校師生獲取信息的便捷手段,也是提高辦公效率, 實現無紙化辦公的重要手段, 同時隨著高等教育改革的進一步發展,建立在計算機網絡基礎上的“在線學習”技術(e-learning)正日益成為教育發展的一個方向, 在線學習技術的出現使得網絡教學、遠程教學成為可能[1]。在線學習系統中,以學員自主學習為主,但不排除個別學員曠課,遲到等情況。因此為在線學習系統增加一個考勤模塊,便可以實時掌握學員的考勤情況[2]。本文結合實際應用,深入討論在線學習模式下的實時考勤方法。

2 考勤模塊總體設計

在實際應用中,考勤信息結構主要包括學號、姓名、登錄時間、簽到時間、位置、IP地址、班級號等。每天學員上課登錄系統后,系統自動在簽到用戶列表中加入學員登錄情況信息,登錄流程如圖1所示。

當教師需要掌握學員考勤情況時,可以向學員發出指令要求學員點擊系統提供的“簽到”按鈕。學員簽到后,考勤信息表中“簽到時間”和“位置”自動更新為當前時間和學員當前位置。考勤模塊提供的主要方法及描述如下:

(1)InsertOnlineUser():插入一條新的登錄學員信息;

(2)UpdateOnline():更新學員的簽到時間和位置;

(3)DeleteOnlineUser():刪除一位學員信息;

(4)ClearExptionUser():清除超時學員信息;

(5)GetOnlineUserTable():獲取滿足條件的在線學員信息表;

(6)GetPlace():獲取學員當前所在位置。

3 考勤信息保存方式

目前WEB應用中對于用戶在線狀態的監控,通常使用session方式。session機制是一種服務器端的機制,服務器使用一種類似于散列表的結構來保存信息。程序一般都是在用戶做log off的時候發個指令去刪除session,然而瀏覽器從來不會主動在關閉之前通知服務器它將要被關閉,因此服務器根本不會有機會知道瀏覽器已經關閉。服務器會一直保留這個會話對象直到它處于非活動狀態超過設定的間隔為止。在線學習系統中對學員考勤信息的實時性要求比較高,無法使用session方式,因此信息表的保存方式是考勤模塊實現過程中需要解決的一個關鍵問題。本文針對實時考勤的特點,提出了3種候選解決方法:

(1)采用靜態變量方式;

(2)緩存數據表方式;

(3)數據庫存儲方式。

3.1 采用靜態變量方式

靜態變量存放在內存的全局數據區,在程序整個運行期間都不釋放,因此當在線學習系統執行服務時,可以使用靜態變量保存用戶考勤信息。首先定義在線學員數據結構,用于存儲每一位學員的考勤信息,結構如下:

public struct learner

{

public string number; //學號

public string name;//姓名

public DateTime lasttime;//簽到時間

public DateTime curtime; //登錄時間

public string ip;//IP地址

public string location;//位置

public int class_id;//班級號

}

其次,聲明ArrayList類型靜態變量_allusert和_activeuser,分別用于存儲所有已登錄用戶和活動用戶。當用戶登錄后,調用AddUserToOnline()方法將當前用戶加入_activeuser列表。類中定義ClearExptionUser()方法,用于檢測清理非活動用戶(用戶簽到時間在某個時限之外,則被置為非活動用戶),當用戶簽到時間超過時限時,調用MoveUser()方法,將用戶從_activeuser轉移到_alluser中。類中的其他方法執行時,首先調用ClearExptionUser()方法,清理非活動用戶。

asp.net應用程序運行在應用程序域中,每次應用程序域重啟,程序中的靜態變量都會重置。因此,此種方式穩定性受應用程序域影響。重啟有很多原因,有些因素由服務器控制,也有些是網站原因,比如,網站的目錄被修改,web.config 被修改等等。

3.2 緩存數據表方式

ASP.NET 提供了兩種可以用來創建高性能Web應用程序的緩存類型。第一種叫做輸出緩存,它允許將動態頁或用戶控件響應存儲在輸出流(從發起服務器到請求瀏覽器)中任何具備HTTP 1.1緩存功能的設備上。當后面的請求發生時,不執行頁或用戶控件代碼,緩存的輸出用于滿足該請求[3]。第二種類型的緩存是傳統的應用程序數據緩存,可以使用它以編程方式將任意對象(例如數據集)存儲到服務器內存,這樣應用程序可以節省重新創建這些對象所需的時間和資源。本文使用應用程序數據緩存。

在類中定義方法BuildCacheOnlineTable(),該方法內聲明一張DataTable,用于保存學員信息,并調用HttpRuntime.Cache.Add()方法將DataTable添加到HttpRuntime.Cache對象中,該對象具有依賴項、過期和優先級策略以及一個委托。類中聲明一個OnRemove()方法,做為緩存被移除時的回調方法,在OnRemove()方法中向應用程序日志中插入一條記錄,記錄緩存被移除的時間及原因等。

BuildCacheOnlineTable()部分代碼如下:

DataTable dt = new DataTable(); //聲明數據表

DataColumn col1 = dt.Columns.Add(\"ID\", typeof(Int32)); //加入ID列,int類型

col1.AllowDBNull = 1; //不允許為空

col1.AutoIncrement = true; //列值自動遞增

col1.AutoIncrementSeed = 1; //列起始值為1

col1.AutoIncrementStep = 1; //增量為1

col1.Unique = true; //唯一性約束

DataColumn col2 = dt.Columns.Add(\"number\", typeof(String));//加入“number”列,字符串類型

col2.AllowDBNull = true;//不允許為空

col2.Unique = true;//唯一性約束

加入其余列的代碼省略……

HttpRuntime.Cache.Add(\"UserOnlineTable\",dt,1,DateTime.Now.AddYears(10), TimeSpan.Zero, CacheItemPriority.Normal, callback);//將DataTable加入到緩存中

關于HttpRuntime.Cache.Add方法的部分參數說明如下:

UserOnlineTable: 用于引用該項的緩存鍵;

dt: 要添加到緩存的項,及用戶數據表;

1:表示該項緩存沒有依賴項;

CacheItemPriority.Normal: 本次緩存對象的優先級為普通;

callback: 在從緩存中移除對象時所調用的委托。當從緩存中刪除應用程序的對象時,可使用它來通知應用程序。

3.3 數據庫存儲方式

第3種方式即采用數據庫存儲,將考勤信息保存到一張數據表中。根據待存儲信息,最終設計的數據庫表如圖2所示。

數據庫表的訪問通過DAL(數據訪問層)層所提供的方法,包括數據庫的連接,記錄的增加、刪除、修改等操作。部分代碼如下:

Database data = new Database();//初始化數據庫操作類

SqlParameter[] prams = {//sql語句參數的賦值data.MakeInParam(\"@UserID\",SqlDbType.Char,16,userid), //輸入參數userid

data.MakeInParam(\"@UserName\",SqlDbType.Char,50,username), //輸入參數username

……

};

int retval = data.RunProc(\"proc_tbTmp_Insert\", prams);//調用存儲過程,插入用戶信息

當用戶簽到時執行UpdateOnline()方法,更新學員的簽到時間和所在位置,每天學員登錄時,程序自動調用DeleteOnlineUser()方法,刪除前一天的學員考勤信息。教師或者管理員端調用GetOnlineUserTable()方法獲取對應班級的學員考勤信息,可導出到Excel文件保存。

在實際應用中,本文采用數據庫存儲方式。考勤情況如圖3所示。

4 結束語

針對在線學習模式下的考勤管理,本文設計了實時考勤模塊,并提供了三種方式處理學員考勤信息,其中靜態變量方式存取速度比較快,但是由于多種因素制約,穩定性不高;緩存數據表方式穩定性取決于服務器的負載情況,當負載較時,緩存對象會被移除,由于有回調方法的機制,可以在緩存被移除時采取相應措施,對于提高穩定性有一定的作用。數據庫存儲方式訪問速度與效率稍低,但穩定性方面優于前兩者。最后,希望本文所做的工作能對在線學習系統以及智能考勤系統的開發人員有所啟發。

參考文獻:

[1] Henry P. E-learning technology, content and services[J]. Education + Training, 2001,43(4):249-255.

[2] 黃麗雯,等. 智能考勤模式的研究與開發[J]. 重慶工學院學報,2007,21(1):110-112

[3] http://msdn.microsoft.com/library/CHS/cpref/html/frlrfSystemWebHttpRuntimeClassCacheTopic.asp[EB/OL].

主站蜘蛛池模板: 久久96热在精品国产高清| 91成人试看福利体验区| 欧美成人二区| 2021国产精品自产拍在线| 欧美区一区二区三| 欧美一级大片在线观看| 国产欧美日韩综合一区在线播放| 免费Aⅴ片在线观看蜜芽Tⅴ | 亚洲一级毛片在线观| 无码日韩精品91超碰| 亚洲另类国产欧美一区二区| 成人在线视频一区| 久久午夜影院| 亚洲自偷自拍另类小说| 国产杨幂丝袜av在线播放| 999精品在线视频| 91亚洲精品国产自在现线| 亚洲国产天堂久久综合| 亚洲精品另类| 欧美一级爱操视频| 亚洲国产精品人久久电影| 伊人精品成人久久综合| 99久久精品免费视频| 成年A级毛片| 国产成人精品午夜视频'| 9久久伊人精品综合| 亚洲精品在线影院| 一级毛片在线播放免费观看| 色播五月婷婷| 天堂网国产| 成年女人a毛片免费视频| 久久中文字幕2021精品| 国产福利2021最新在线观看| 亚洲精品欧美重口| 午夜日b视频| 欧美日韩亚洲综合在线观看 | 国内99精品激情视频精品| 中文字幕自拍偷拍| 十八禁美女裸体网站| 国产精品自在在线午夜区app| 日韩毛片在线视频| 欧美国产菊爆免费观看| 亚洲乱伦视频| 欧美在线一级片| 久久国产精品麻豆系列| 久久久久人妻精品一区三寸蜜桃| 国产午夜看片| 亚洲精品成人福利在线电影| 国产精品jizz在线观看软件| 国产最新无码专区在线| 国产JIZzJIzz视频全部免费| 亚洲欧洲日韩综合| 国产女人水多毛片18| 国产黑丝视频在线观看| 午夜视频日本| 网久久综合| 午夜一级做a爰片久久毛片| 极品av一区二区| 99青青青精品视频在线| 久久综合AV免费观看| 色丁丁毛片在线观看| 热99精品视频| 欧美三級片黃色三級片黃色1| 一级黄色欧美| 伊人婷婷色香五月综合缴缴情| 亚洲一级无毛片无码在线免费视频 | 久久网欧美| 亚洲人妖在线| 久久婷婷色综合老司机| 男女精品视频| 亚洲国产成人综合精品2020| 国产精品亚洲天堂| 久久久久人妻精品一区三寸蜜桃| 欧日韩在线不卡视频| 无码精品国产dvd在线观看9久| h视频在线观看网站| 国产成人久久综合777777麻豆| 欧美精品二区| 欧美人在线一区二区三区| 爆操波多野结衣| 国产91无毒不卡在线观看| 亚洲成年人片|