摘要:局域網(wǎng)文件共享是網(wǎng)絡(luò)技術(shù)研究的重要內(nèi)容之一。對局域網(wǎng)文件共享及檢索相關(guān)理論及實現(xiàn)技術(shù)進行了分析,采用B/S結(jié)構(gòu),使用C#編程語言及SQL Server 2008數(shù)據(jù)庫技術(shù)進行分析設(shè)計并實現(xiàn)了系統(tǒng),系統(tǒng)主要功能包括:用戶管理、服務(wù)器及客戶端文件共享與傳輸、實現(xiàn)目錄共享及檢索等功能。系統(tǒng)的實現(xiàn)具有較廣泛的應(yīng)用價值。
關(guān)鍵詞:局域網(wǎng);文件共享;C#;檢索
中圖分類號:TP393文獻標識碼:A
文章編號:1009-3044(2020)29-0070-02
文件共享和傳輸在企業(yè)和個人的T作生活中經(jīng)常遇到,實際解決的方法目前一般是通過傳統(tǒng)存儲設(shè)備,如移動硬盤進行信息共享。但這類方式往往降低了信息傳遞的快速和方便性,同時給病毒和木馬的傳遞帶來了可乘之機。文件共享及檢索系統(tǒng)能讓企業(yè)或個人之間及時方便地共享文件信息、查閱所需文件、上傳下載存儲文件,提高局域網(wǎng)內(nèi)部用戶的工作效率。
1 相關(guān)技術(shù)簡介
1.1 ASP.NET
ASP.NET是.NET FrameWork的一部分,是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過HTTP請求文檔時再在Web服務(wù)器上動態(tài)創(chuàng)建。是新一代Active Server Pages(動態(tài)服務(wù)器頁面)。相比其他技術(shù),ASP.NET能在Web服務(wù)器運行,并將運行結(jié)果以文本格式傳送至客戶端瀏覽器,擁有更高安全性[1]。
1.2 ADO.NET
ADO.NET是由ADO演變而來,ADO.NET是ASP.NET程序與SQL SERVER之間建立數(shù)據(jù)鏈路層的代碼語言,目的是提供程序連接數(shù)據(jù)庫的橋梁。ADO.NET可以實現(xiàn)不同的數(shù)據(jù)庫調(diào)用統(tǒng)一的數(shù)據(jù)庫訪問接口,使得訪問流程更加簡便,并能提高軟件開發(fā)的通用性、靈活性、擴展性和可重塑性[2]。在ADO.NET系統(tǒng)中,DataSet對象和DataAdapter對象共同實現(xiàn)Record-set對象的功能。ADO.NET系統(tǒng)中常用的對象有:Connection、Command、DataAdapter、DataReader和DataSet對象。
1.3 Microsoft SQL Server
SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,是Microsoft公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點。主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
2 文件系統(tǒng)需求分析
通過對現(xiàn)有文件共享系統(tǒng)針對功能和實現(xiàn)方式分析,為了使局域網(wǎng)文件共享及檢索系統(tǒng)能夠方便、靈活地對文件進行共享、上傳、下載、檢索、刪除等操作以及數(shù)據(jù)庫操作管理權(quán)限的限制,同時系統(tǒng)應(yīng)具備可有效、快捷地管理文件信息,提供必需的添加、管理信息,使共享文件更為準確、快捷訪問、易于檢索查詢[3]。確定系統(tǒng)模塊從功能和權(quán)限上分為管理員和用戶兩大功能模塊,兩模塊各自擁有不同權(quán)限。用戶功能包括用戶注冊登錄密碼修改;系統(tǒng)公告信息;目錄創(chuàng)建:實現(xiàn)目錄創(chuàng)建功能,設(shè)置目錄類別和訪問密碼;用戶目錄:上傳文件,對目錄中的文件進行查看、刪除、修改;目錄檢索:按目錄名稱和創(chuàng)建者檢索共享目錄;文件檢索:實現(xiàn)文件檢索功能,按文件名稱和文件所屬用戶名檢索文件。管理員功能包括系統(tǒng)公告管理;群組管理:對群組進行查看、添加、刪除和重新命名功能;用戶管理:對用戶信息進行添加、查看、修改和刪除功能;目錄管理:對用戶所創(chuàng)建目錄進行查看、刪除和修改功能;文件管理:對用戶所上傳文件進行查看、下載和刪除功能;系統(tǒng)管理:管理員設(shè)置、登錄密碼修改等。
3 系統(tǒng)設(shè)計
3.1 系統(tǒng)設(shè)計目標
經(jīng)過系統(tǒng)需求分析,使用系統(tǒng)用戶賬號密碼驗證登錄機制,能夠更好提供用戶訪問系統(tǒng)權(quán)限控制。提供用戶查看、瀏覽、上傳和下載文件。管理員可以設(shè)置不同的用戶群組,根據(jù)其下載文件的不同次數(shù)權(quán)限來劃分。按群組的權(quán)限不同,可分為初級用戶、中級用戶、高級用戶、超級用戶。
系統(tǒng)主要實現(xiàn)目標:1)實現(xiàn)系統(tǒng)需求分析階段所列出的功能;2)界面系統(tǒng)設(shè)計簡潔清晰,方便用戶使用;3)有較高的可靠性;4)具有較高的運行效率。
3.2 系統(tǒng)功能模塊設(shè)計
網(wǎng)絡(luò)文件共享及檢索系統(tǒng)設(shè)計要求在系統(tǒng)功能上做到完善,對于局域網(wǎng)文件共享及檢索系統(tǒng)的功能模塊設(shè)計是關(guān)鍵。對高層模塊,采用以事務(wù)為中心的設(shè)計策略,對低層模塊,采用以變換為中心的設(shè)計策略,這樣提高了模塊內(nèi)聚性,降低模塊間耦合度,從而實現(xiàn)數(shù)據(jù)共享,系統(tǒng)模塊間關(guān)系明確。具體系統(tǒng)功能模塊包括:用戶和管理員模塊。用戶功能模塊有用戶注冊登錄、目錄創(chuàng)建、文件上傳和目錄文件檢索等功能,管理員模塊包括用戶管理、目錄管理、文件和系統(tǒng)管理等功能。
3.3 數(shù)據(jù)庫設(shè)計
3.3.1數(shù)據(jù)流圖
數(shù)據(jù)流圖( Data Flow Diagram DFD)從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達系統(tǒng)的邏輯功能。在數(shù)據(jù)庫設(shè)計階段繪制數(shù)據(jù)流圖的功能在于,方便用戶表達的功能需求和數(shù)據(jù)需求及其之間所存在的聯(lián)系,因為其清晰地表達了數(shù)據(jù)流的情況,有利于數(shù)據(jù)庫的建立。根據(jù)系統(tǒng)分析階段的功能描述,設(shè)計具體數(shù)據(jù)流圖如下圖1所示。
3.3.2 概念模型設(shè)計及轉(zhuǎn)換
在系統(tǒng)需求分析基礎(chǔ)上,根據(jù)數(shù)據(jù)流圖,分析設(shè)計得出系統(tǒng)概念模型,按轉(zhuǎn)換規(guī)則轉(zhuǎn)換為系統(tǒng)的關(guān)系模型,轉(zhuǎn)換后的數(shù)據(jù)表為:1)用戶信息表:用戶賬號信息詳細記錄以及數(shù)據(jù)存儲,(編號、用戶名、密碼、性別、年齡、手機號碼、郵箱、QQ、顯示群組編號、注冊時間);2)群組信息表:每個群組的用戶都具有使用權(quán)限的設(shè)定。管理員可以編寫每個群組名稱、群組編號、群組允許上傳文件數(shù)、群組允許創(chuàng)建目錄數(shù);3)目錄信息表:用戶所創(chuàng)建的目錄信息的數(shù)據(jù)存儲表單(目錄編號,密碼,類別,描述);4)文件信息表:用戶上傳文件信息詳細記錄以及數(shù)據(jù)存儲(文件編號,用戶編號,文件名稱)。
4 系統(tǒng)詳細設(shè)計與實現(xiàn)
篇幅原因,下面給出部分功能模塊的詳細設(shè)計與實現(xiàn)過程。
4.1 用戶登錄模塊設(shè)計與實現(xiàn)
用戶登錄模塊功能設(shè)計及操作流程:用戶在登錄界面輸入用戶名和密碼,系統(tǒng)獲取登錄數(shù)據(jù)后,再進行用戶表數(shù)據(jù)檢索,核對用戶信息用戶名和密碼,如果該用戶存在,系統(tǒng)給予登錄成功提示。登錄錯誤時給予用戶名或密碼錯誤提示。詳細設(shè)計與實現(xiàn):用戶信息通過Session存儲,在后臺通過判斷Session來確定用戶是否登錄,以及用戶的身份。這里要用到數(shù)據(jù)庫中的用戶信息表和管理員信息表。通過SqIHelper類的Execute-forDataSet方法執(zhí)行數(shù)據(jù)集作為查詢數(shù)據(jù),反饋用戶信息表和管理員信息表中的信息:用戶名和密碼。然后進行Session來確定登錄成功信息。用戶登錄遇到錯誤時,系統(tǒng)需做出提示信息。實現(xiàn)其方法是用MessageBox類的Show方法顯示一個對話模擬框,顯示錯誤狀態(tài)信息。
用戶登錄界面如圖2所示。
主要實現(xiàn)代碼如下:
protected void loginbtn_Click(object sender, EventArgs e)(
string err='''';
if (user_name.Text==…)
{ err=”用戶名不能為空!”)
else if (user_password.Text==…)
{err=”密碼不能為空!”;)
if (err!=””){MessageBox.Show(this, err)return;)
DataSet ds=SqlHelper. ExecuteforDataSet(”select*from admin where
Iname=7+user_name.Text+”7 and pwd=¨+ user_password.Text+”¨);
if (ds.Tables[O].Rows.Count>0)
( DataRow dr= ds.Tables[O].Rows[0];
Session[”userid”(用編號)]_dr[”aidfl.ToString0;
Session[”username”(用戶名)]=dr[”Iname”].To-String0;
Session[”userpower”(用戶密碼)]=dr[”byl”].To-String0;
Response.Redirect(”Default.aspx”);]
else
{MessageBox。Show(this,”用戶名或密碼錯誤,請重試!”) return;]
4.2 管理員模塊添加系統(tǒng)公告信息功能實現(xiàn)
管理員為系統(tǒng)的管理者,具備系統(tǒng)最高權(quán)限,可以對系統(tǒng)公告、群組、用戶、目錄、文件、系統(tǒng)等進行管理。管理員模塊主要功能:管理員通過系統(tǒng)公告管理界面添加系統(tǒng)公告基本信息,方便系統(tǒng)其他用戶查詢系統(tǒng)公告信息。
管理員模塊功能實現(xiàn)分別用到了ExecuteNonQuery和Mes-sageBox類的ShowAndRedirect方法,ExecuteNonQuery是執(zhí)行增刪改的方法,返回執(zhí)行命令所影響的行數(shù)。在系統(tǒng)公告方面設(shè)置了內(nèi)容文本可變字符參數(shù)設(shè)置,系統(tǒng)公告信息修改,編輯成功與否都由MessageBox類的函數(shù)方法提示信息。成功編輯系統(tǒng)公告欄后,系統(tǒng)提示操作成功,然后需要跳轉(zhuǎn)到編輯系統(tǒng)公告信息編輯界面。用ShowAndRedirect函數(shù)實現(xiàn)跳轉(zhuǎn)回到該界面。
4.3 檢索模塊創(chuàng)建目錄功能設(shè)計與實現(xiàn)
此頁面實現(xiàn)目錄的創(chuàng)建,可以設(shè)置目錄類別,如果為私有目錄,只能被目錄所有者看到,不允許被檢索。如果設(shè)置密碼,被共享后,被訪問時需要輸入密碼,只有輸入的密碼正確才能訪問目錄。創(chuàng)建的目錄不能大于用戶群組所允許創(chuàng)建的最大目錄數(shù)。
創(chuàng)建目錄功能實現(xiàn):新的目錄創(chuàng)建先設(shè)置Sql和運用Sql-Parameter函數(shù)設(shè)置目錄各項信息參數(shù)(如使目錄信息可變字符長度參數(shù)為“50”),創(chuàng)建目錄成功后運用MessageBox類的Show方法提示目錄創(chuàng)建成功。在用戶填寫各項信息時,如操作影響字符參數(shù),可以用ExecuteNonQuery方法反饋操作正常行數(shù),判斷操作是否成功。例如目錄名輸入操作,如果影響行數(shù)為0,則證明操作是不成功的。大于0證明操作成功。當(dāng)創(chuàng)建目錄成功時用到ShowAndRedirect方法跳轉(zhuǎn)到用戶登錄界面進行登錄操作。
5 結(jié)語
針對網(wǎng)絡(luò)文件共享的需求,在Windows平臺下采用C#編程語言和SQL Server數(shù)據(jù)庫管理系統(tǒng),進行系統(tǒng)分析、設(shè)計,并編碼實現(xiàn)了動態(tài)的、交互的web應(yīng)用程序。系統(tǒng)界面友好,功能較完善。系統(tǒng)在文件共享訪問的權(quán)限控制和系統(tǒng)安全性上尚需進一步的改進和完善。
參考文獻:
[1]張桂林.基于vsftpd的局域網(wǎng)文件共享系統(tǒng)的設(shè)計[J].電腦與信息技術(shù),2019,27(5):55-57.73.
[2]李豐,基于分層技術(shù)的軟件開發(fā)研究[J].信息通信,2020,33(2):196-198.
[3]沈衍冰.P2P文件共享系統(tǒng)的設(shè)計與實現(xiàn)[Dl.南京:東南大學(xué), 2016.
[4]崔一.基于局域網(wǎng)的文件共享系統(tǒng)設(shè)計與實現(xiàn)[J].信息與電腦(理論版),2018(21):93-95.
[5]謝希仁,計算機網(wǎng)絡(luò)[M].7版,北京:電子工業(yè)出版社,2017.
【通聯(lián)編輯:梁書】
作者簡介:謝鋼(1975-),男,湖南婁底人,大學(xué)本科,中級工程師,目前從事信息系統(tǒng)管理、網(wǎng)絡(luò)及接入網(wǎng)技術(shù)研究。