APP下载

网络文件共享技术研究

2020-12-01谢钢

电脑知识与技术 2020年29期
关键词:局域网检索

摘要:局域网文件共享是网络技术研究的重要内容之一。对局域网文件共享及检索相关理论及实现技术进行了分析,采用B/S结构,使用C#编程语言及SQL Server 2008数据库技术进行分析设计并实现了系统,系统主要功能包括:用户管理、服务器及客户端文件共享与传输、实现目录共享及检索等功能。系统的实现具有较广泛的应用价值。

关键词:局域网;文件共享;C#;检索

中图分类号:TP393文献标识码:A

文章编号:1009-3044(2020)29-0070-02

文件共享和传输在企业和个人的T作生活中经常遇到,实际解决的方法目前一般是通过传统存储设备,如移动硬盘进行信息共享。但这类方式往往降低了信息传递的快速和方便性,同时给病毒和木马的传递带来了可乘之机。文件共享及检索系统能让企业或个人之间及时方便地共享文件信息、查阅所需文件、上传下载存储文件,提高局域网内部用户的工作效率。

1 相关技术简介

1.1 ASP.NET

ASP.NET是.NET FrameWork的一部分,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建。是新一代Active Server Pages(动态服务器页面)。相比其他技术,ASP.NET能在Web服务器运行,并将运行结果以文本格式传送至客户端浏览器,拥有更高安全性[1]。

1.2 ADO.NET

ADO.NET是由ADO演变而来,ADO.NET是ASP.NET程序与SQL SERVER之间建立数据链路层的代码语言,目的是提供程序连接数据库的桥梁。ADO.NET可以实现不同的数据库调用统一的数据库访问接口,使得访问流程更加简便,并能提高软件开发的通用性、灵活性、扩展性和可重塑性[2]。在ADO.NET系统中,DataSet对象和DataAdapter对象共同实现Record-set对象的功能。ADO.NET系统中常用的对象有:Connection、Command、DataAdapter、DataReader和DataSet对象。

1.3 Microsoft SQL Server

SQL(Structured Query Language,结构化查询语言)是一种数据库查询和程序设计语言,是Microsoft公司推出的关系型数据库管理系统,具有使用方便可伸缩性好与相关软件集成程度高等优点。主要功能就是同各种数据库建立联系,进行沟通,用于存取数据以及查询、更新和管理关系数据库系统。

2 文件系统需求分析

通过对现有文件共享系统针对功能和实现方式分析,为了使局域网文件共享及检索系统能够方便、灵活地对文件进行共享、上传、下载、检索、删除等操作以及数据库操作管理权限的限制,同时系统应具备可有效、快捷地管理文件信息,提供必需的添加、管理信息,使共享文件更为准确、快捷访问、易于检索查询[3]。确定系统模块从功能和权限上分为管理员和用户两大功能模块,两模块各自拥有不同权限。用户功能包括用户注册登录密码修改;系统公告信息;目录创建:实现目录创建功能,设置目录类别和访问密码;用户目录:上传文件,对目录中的文件进行查看、删除、修改;目录检索:按目录名称和创建者检索共享目录;文件检索:实现文件检索功能,按文件名称和文件所属用户名检索文件。管理员功能包括系統公告管理;群组管理:对群组进行查看、添加、删除和重新命名功能;用户管理:对用户信息进行添加、查看、修改和删除功能;目录管理:对用户所创建目录进行查看、删除和修改功能;文件管理:对用户所上传文件进行查看、下载和删除功能;系统管理:管理员设置、登录密码修改等。

3 系统设计

3.1 系统设计目标

经过系统需求分析,使用系统用户账号密码验证登录机制,能够更好提供用户访问系统权限控制。提供用户查看、浏览、上传和下载文件。管理员可以设置不同的用户群组,根据其下载文件的不同次数权限来划分。按群组的权限不同,可分为初级用户、中级用户、高级用户、超级用户。

系统主要实现目标:1)实现系统需求分析阶段所列出的功能;2)界面系统设计简洁清晰,方便用户使用;3)有较高的可靠性;4)具有较高的运行效率。

3.2 系统功能模块设计

网络文件共享及检索系统设计要求在系统功能上做到完善,对于局域网文件共享及检索系统的功能模块设计是关键。对高层模块,采用以事务为中心的设计策略,对低层模块,采用以变换为中心的设计策略,这样提高了模块内聚性,降低模块间耦合度,从而实现数据共享,系统模块间关系明确。具体系统功能模块包括:用户和管理员模块。用户功能模块有用户注册登录、目录创建、文件上传和目录文件检索等功能,管理员模块包括用户管理、目录管理、文件和系统管理等功能。

3.3 数据库设计

3.3.1数据流图

数据流图( Data Flow Diagram DFD)从数据传递和加工角度,以图形方式来表达系统的逻辑功能。在数据库设计阶段绘制数据流图的功能在于,方便用户表达的功能需求和数据需求及其之间所存在的联系,因为其清晰地表达了数据流的情况,有利于数据库的建立。根据系统分析阶段的功能描述,设计具体数据流图如下图1所示。

3.3.2 概念模型设计及转换

在系统需求分析基础上,根据数据流图,分析设计得出系统概念模型,按转换规则转换为系统的关系模型,转换后的数据表为:1)用户信息表:用户账号信息详细记录以及数据存储,(编号、用户名、密码、性别、年龄、手机号码、邮箱、QQ、显示群组编号、注册时间);2)群组信息表:每个群组的用户都具有使用权限的设定。管理员可以编写每个群组名称、群组编号、群组允许上传文件数、群组允许创建目录数;3)目录信息表:用户所创建的目录信息的数据存储表单(目录编号,密码,类别,描述);4)文件信息表:用户上传文件信息详细记录以及数据存储(文件编号,用户编号,文件名称)。

4 系统详细设计与实现

篇幅原因,下面给出部分功能模块的详细设计与实现过程。

4.1 用户登录模块设计与实现

用户登录模块功能设计及操作流程:用户在登录界面输入用户名和密码,系统获取登录数据后,再进行用户表数据检索,核对用户信息用户名和密码,如果该用户存在,系统给予登录成功提示。登录错误时给予用户名或密码错误提示。详细设计与实现:用户信息通过Session存储,在后台通过判断Session来确定用户是否登录,以及用户的身份。这里要用到数据库中的用户信息表和管理员信息表。通过SqIHelper类的Execute-forDataSet方法执行数据集作为查询数据,反馈用户信息表和管理员信息表中的信息:用户名和密码。然后进行Session来确定登录成功信息。用户登录遇到错误时,系统需做出提示信息。实现其方法是用MessageBox类的Show方法显示一个对话模拟框,显示错误状态信息。

用户登录界面如图2所示。

主要实現代码如下:

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 管理员模块添加系统公告信息功能实现

管理员为系统的管理者,具备系统最高权限,可以对系统公告、群组、用户、目录、文件、系统等进行管理。管理员模块主要功能:管理员通过系统公告管理界面添加系统公告基本信息,方便系统其他用户查询系统公告信息。

管理员模块功能实现分别用到了ExecuteNonQuery和Mes-sageBox类的ShowAndRedirect方法,ExecuteNonQuery是执行增删改的方法,返回执行命令所影响的行数。在系统公告方面设置了内容文本可变字符参数设置,系统公告信息修改,编辑成功与否都由MessageBox类的函数方法提示信息。成功编辑系统公告栏后,系统提示操作成功,然后需要跳转到编辑系统公告信息编辑界面。用ShowAndRedirect函数实现跳转回到该界面。

4.3 检索模块创建目录功能设计与实现

此页面实现目录的创建,可以设置目录类别,如果为私有目录,只能被目录所有者看到,不允许被检索。如果设置密码,被共享后,被访问时需要输入密码,只有输入的密码正确才能访问目录。创建的目录不能大于用户群组所允许创建的最大目录数。

创建目录功能实现:新的目录创建先设置Sql和运用Sql-Parameter函数设置目录各项信息参数(如使目录信息可变字符长度参数为“50”),创建目录成功后运用MessageBox类的Show方法提示目录创建成功。在用户填写各项信息时,如操作影响字符参数,可以用ExecuteNonQuery方法反馈操作正常行数,判断操作是否成功。例如目录名输入操作,如果影响行数为0,则证明操作是不成功的。大于0证明操作成功。当创建目录成功时用到ShowAndRedirect方法跳转到用户登录界面进行登录操作。

5 结语

针对网络文件共享的需求,在Windows平台下采用C#编程语言和SQL Server数据库管理系统,进行系统分析、设计,并编码实现了动态的、交互的web应用程序。系统界面友好,功能较完善。系统在文件共享访问的权限控制和系统安全性上尚需进一步的改进和完善。

参考文献:

[1]张桂林.基于vsftpd的局域网文件共享系统的设计[J].电脑与信息技术,2019,27(5):55-57.73.

[2]李丰,基于分层技术的软件开发研究[J].信息通信,2020,33(2):196-198.

[3]沈衍冰.P2P文件共享系统的设计与实现[Dl.南京:东南大学, 2016.

[4]崔一.基于局域网的文件共享系统设计与实现[J].信息与电脑(理论版),2018(21):93-95.

[5]谢希仁,计算机网络[M].7版,北京:电子工业出版社,2017.

【通联编辑:梁书】

作者简介:谢钢(1975-),男,湖南娄底人,大学本科,中级工程师,目前从事信息系统管理、网络及接入网技术研究。

猜你喜欢

局域网检索
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
2019年第4-6期便捷检索目录
基于虚拟局域网的收费系统网络构建
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
《国外医药抗生素分册》第37卷1~6期(2016年)目次检索
专利检索中“语义”的表现
家庭无线局域网的测试方法及应用
国际|标准|检索