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].

主站蜘蛛池模板: 91九色最新地址| 久久99热这里只有精品免费看| 国模视频一区二区| 五月天福利视频| 亚洲熟女偷拍| 精品少妇人妻一区二区| 国产乱子伦无码精品小说| 久草热视频在线| 尤物特级无码毛片免费| 国模私拍一区二区| 国产91成人| 国产人碰人摸人爱免费视频| 亚洲精品成人片在线观看 | 天天躁夜夜躁狠狠躁躁88| 国产免费羞羞视频| 亚洲男人的天堂视频| 久久人午夜亚洲精品无码区| 午夜精品久久久久久久无码软件| 国产一级在线观看www色| 婷婷六月综合网| 99热国产在线精品99| 国产另类视频| 欧美性色综合网| 第一区免费在线观看| 国产拍在线| 亚洲色婷婷一区二区| 一个色综合久久| 99热在线只有精品| 久久6免费视频| 国产主播福利在线观看| 婷婷亚洲综合五月天在线| 国产97区一区二区三区无码| 在线欧美a| 欧美一区二区精品久久久| 波多野结衣第一页| 国产91色在线| 成人午夜免费观看| 国内精自视频品线一二区| 天天色综网| 欧美一区二区福利视频| 欧美激情伊人| 国产草草影院18成年视频| 美女扒开下面流白浆在线试听 | 国产婬乱a一级毛片多女| 99ri国产在线| 国产小视频在线高清播放| 亚洲男人的天堂网| 国产色偷丝袜婷婷无码麻豆制服| 国产打屁股免费区网站| 91精品国产麻豆国产自产在线| 久久美女精品国产精品亚洲| 制服丝袜国产精品| 色噜噜综合网| 国产交换配偶在线视频| 啪啪啪亚洲无码| 精品久久久久久中文字幕女| 久久久久国产一区二区| 国产内射一区亚洲| 亚洲午夜久久久精品电影院| 色老头综合网| 日韩精品毛片人妻AV不卡| www.亚洲一区二区三区| 99久久精品国产综合婷婷| 亚洲最大情网站在线观看 | 国产chinese男男gay视频网| 亚洲一级无毛片无码在线免费视频| 国产精品丝袜视频| 无码网站免费观看| 国产va视频| 国产亚洲精品自在久久不卡| 欧美啪啪精品| 无码高潮喷水在线观看| 国产乱人伦AV在线A| 青青久久91| 国产精品极品美女自在线网站| 精品人妻无码区在线视频| 一级在线毛片| 欧洲高清无码在线| 真实国产乱子伦视频| 亚洲人成在线精品| 欧美激情福利| 蜜芽国产尤物av尤物在线看|