论文部分内容阅读
摘要:本文主要介绍了一种基于.net 平台的小批量数据的分布式网络存储系统的设计和实现方法,给出了一种适合小数据量数据传输存储的系统设计方案。
关键词:网络存储系统;.net平台;http;iis
Abstract: This paper introduced a kind of small batch data distributed network storage system design and the realization method based on the.Net platform , is proposed for small data quantity data transmission and storage of the system design.
Key words:Network storage system;.Netplatform;HTTP;IIS
1、引言
随着计算机网络的普及和信息化建设的不断发展,一般企业和学校中心机房需要一种存储系统对办公用户或学生提供数据存储的服务。作为一种新型安全的数据存储系统,网络硬盘日益受到人们的欢迎和重视。这种系统能把本地计算机上的数据文件存储在一个公有的数据服务器上,特别适合中小企业和高校计算机用户的工作学习中存储数据的需求。
2、络存储的常见方式和特点
2.1 FTP文件传输
这种基于FTP协议的文件传输方式处理功能强大,支持各种文件格式。缺点在于FTP服务器的设置复杂,特别是针对有特殊需求的大批量企业或学生用户的设置更加繁琐,系统管理员的工作量太大无法满足用户的需要。
2.2 E-MAIL模式
利用internet上提供的电子邮件系统用户能很方便的实现用户间通信,使用方便简单。但是这种服务一般是基于INTERNET的,一旦外网出现故障则局域网络内部的用户无法传输和共享数据文件。用户的数据文件只能以附件的方式发送,文件大小受到了运营商的限制。不适合学校和中小企业的需求。
综上所述在学校或中小企业的局域网络环境下需要一种使用简单,性能稳定,适合小批量数据存储的分布是网络存储系统。本文提出了一种基于.NET平台的解决方案。Web客户端采用C#语言实现。
3、基于 ASP.net平台的网络硬盘存储系统设计
本网络硬盘系统由 基于WEB的客户端、Sqlserver2005数据库服务器、因特网IIS服务器三部分构成(如图1所示)。
图1系统网络结构图
Web客户端采用ASP.NET实现,ASP.NET 是一项微软公司的技术,使嵌入网页中的脚本可由因特网服务器执行。 因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行Windows 2000/2003 Server/VISTA/7上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。
SqlServer2005数据库主要用于存储用户身份数据,用户文件的特性数据,利用数据库管理系统的强大功能能让用户的数据高效快速的进行数据存储和分析,对用户数据进行数据挖掘减小数据的冗余,进一步提高系统的可访问性能。
3.1 网络硬盘的工作原理
该系统主要为用户提供一块在数据服务器上开辟的独立存储空间,在这个空间中属于用户的存储空间里,用户可以像在本地计算机上 操作自己的文件和文件夹。在系统的设计过程中本系统对户存储的文件格式和文件大小应进行了限制,主要是防止用户恶意传输病毒,和对服务器进行攻击。
3.2主要功能模块
3.2.1用户登录和注册功能
系统首先需要对系统内的用户身份进行确认,若用户不具有使用系统的身份,就需要用户注册一个身份。
3.2.2文件系统操作功能
本模块主要实现认证用户新建文件夹、修改文件夹、删除文件夹、移动文件夹、批量添加文件、查看文件、删除文件、上传下载文件、移动文件、搜索文件等功能。
3.3系统实现的关键技术实现
3.3.1 限制文件上传格式
本系统采用了内置的文件上传控件实现文件数据的上传功能,为了避免用户恶意上传可执行的病毒破坏服务器,将文件上传的格式限定为.RAR,.ZIP等格式。具体实现方式 C#代码如下:
protected void Button1_Click(object sender, EventArgs e)
{if (FileUpload1.HasFile) {//如果存在文件
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName);//获取文件扩展名
if (fileExtension != ".rar"|| fileExtension != ".zip")
{ //如果扩展名不等于rar或 zip时
Label1.Text = "文件上传类型不正确,请上传jpg格式";//提示用户重新上传
}
else
{ FileUpload1.PostedFile.SaveAs(Server.MapPath+”\\”+filename);//文件保存
Label1.Text = "文件上传成功";//提示用户成功
}
}
}
3.3.2 文件上传大小的限制
文件上传控件限制了上传单个文件的大小为4M,可以修改配置文件实现文件传输的限制:
在web.config文件中添加如下语句:
修改maxRequestLength可以设定文件上传的大小 单位为:K。
3.3.3 用户权限控制
网络硬盘存储系统给每一个用户分配自己私有的空间,本系统处理的方法是,在用户注册用户名字的时候为用户在文件服务器上分配一个文件夹,这个文件夹以用户名字命名,用户只能访问和操作该文件夹下面的内容,进入系统文件夹绑定于该用户名上,这样登录的合法用户就只能操作自己私有空间上的数据了。
3.3.4 用户注册的实现
用户注册主要是在数据库用户表格中记录用户的基本信息,当用户登录的时候系统查询数据库表中的信息判断用户是否合法。用户注册的C#代码实现如下:
protected void Button4_Click(object sender, EventArgs e)
{string sql = "select * from Users where UserName='" + this.UserName.Text.ToString() + "'";
DataTable table = new DataTable();
DAL.ExecuteSql exec = new DAL.ExecuteSql();
int flag = exec.run(table,sql);
if (flag == 1)
{ if (table.Rows.Count > 0)
{ Response.Write("已經存在该用户名!");}
else
{sql = "insert into Users(UserName,Password,Email) Values('" + this.UserName.Text.ToString() + "','" + this.Password.Text.ToString()+ "','" + this.Email.Text.ToString()
+ "')";
int flag1 = exec.run(sql);
if (flag1 == 1)
{ 。。。。。。。。。。。。。。。 //进入系统}
else
{
Response.Write(exec.ErrorMessage);
}
}
}
else
{ Response.Write(exec.ErrorMessage);}
}
4、结束语
本系统在计算机基础实验室经过一年的试运行,在语言类教学活动中采用了该系统,经过2000人使用累积,验证了该系统的可靠性和实用性,取得了较好的效果。达到了预期的目的。
参考文献:
[1] 陈作聪 ,马玉浩, 张正礼. ASP.NET 网络编程技术与实践[M].清华大学出版社,2008-8.
[2] 李天平. .net深入体验与实战精要[M].电子哦那个也出版社,2009-6.
作者简介:刘明纲(1978.10--),男,汉族,四川成都人,工作单位:成都电子机械高等专科学校 网络中心,职称:将是,学历学位:软件工程硕士,研究方向:软件工程数据库。
注:文章内所有公式及图表请以PDF形式查看。
关键词:网络存储系统;.net平台;http;iis
Abstract: This paper introduced a kind of small batch data distributed network storage system design and the realization method based on the.Net platform , is proposed for small data quantity data transmission and storage of the system design.
Key words:Network storage system;.Netplatform;HTTP;IIS
1、引言
随着计算机网络的普及和信息化建设的不断发展,一般企业和学校中心机房需要一种存储系统对办公用户或学生提供数据存储的服务。作为一种新型安全的数据存储系统,网络硬盘日益受到人们的欢迎和重视。这种系统能把本地计算机上的数据文件存储在一个公有的数据服务器上,特别适合中小企业和高校计算机用户的工作学习中存储数据的需求。
2、络存储的常见方式和特点
2.1 FTP文件传输
这种基于FTP协议的文件传输方式处理功能强大,支持各种文件格式。缺点在于FTP服务器的设置复杂,特别是针对有特殊需求的大批量企业或学生用户的设置更加繁琐,系统管理员的工作量太大无法满足用户的需要。
2.2 E-MAIL模式
利用internet上提供的电子邮件系统用户能很方便的实现用户间通信,使用方便简单。但是这种服务一般是基于INTERNET的,一旦外网出现故障则局域网络内部的用户无法传输和共享数据文件。用户的数据文件只能以附件的方式发送,文件大小受到了运营商的限制。不适合学校和中小企业的需求。
综上所述在学校或中小企业的局域网络环境下需要一种使用简单,性能稳定,适合小批量数据存储的分布是网络存储系统。本文提出了一种基于.NET平台的解决方案。Web客户端采用C#语言实现。
3、基于 ASP.net平台的网络硬盘存储系统设计
本网络硬盘系统由 基于WEB的客户端、Sqlserver2005数据库服务器、因特网IIS服务器三部分构成(如图1所示)。
图1系统网络结构图
Web客户端采用ASP.NET实现,ASP.NET 是一项微软公司的技术,使嵌入网页中的脚本可由因特网服务器执行。 因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行Windows 2000/2003 Server/VISTA/7上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。
SqlServer2005数据库主要用于存储用户身份数据,用户文件的特性数据,利用数据库管理系统的强大功能能让用户的数据高效快速的进行数据存储和分析,对用户数据进行数据挖掘减小数据的冗余,进一步提高系统的可访问性能。
3.1 网络硬盘的工作原理
该系统主要为用户提供一块在数据服务器上开辟的独立存储空间,在这个空间中属于用户的存储空间里,用户可以像在本地计算机上 操作自己的文件和文件夹。在系统的设计过程中本系统对户存储的文件格式和文件大小应进行了限制,主要是防止用户恶意传输病毒,和对服务器进行攻击。
3.2主要功能模块
3.2.1用户登录和注册功能
系统首先需要对系统内的用户身份进行确认,若用户不具有使用系统的身份,就需要用户注册一个身份。
3.2.2文件系统操作功能
本模块主要实现认证用户新建文件夹、修改文件夹、删除文件夹、移动文件夹、批量添加文件、查看文件、删除文件、上传下载文件、移动文件、搜索文件等功能。
3.3系统实现的关键技术实现
3.3.1 限制文件上传格式
本系统采用了内置的文件上传控件实现文件数据的上传功能,为了避免用户恶意上传可执行的病毒破坏服务器,将文件上传的格式限定为.RAR,.ZIP等格式。具体实现方式 C#代码如下:
protected void Button1_Click(object sender, EventArgs e)
{if (FileUpload1.HasFile) {//如果存在文件
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName);//获取文件扩展名
if (fileExtension != ".rar"|| fileExtension != ".zip")
{ //如果扩展名不等于rar或 zip时
Label1.Text = "文件上传类型不正确,请上传jpg格式";//提示用户重新上传
}
else
{ FileUpload1.PostedFile.SaveAs(Server.MapPath+”\\”+filename);//文件保存
Label1.Text = "文件上传成功";//提示用户成功
}
}
}
3.3.2 文件上传大小的限制
文件上传控件限制了上传单个文件的大小为4M,可以修改配置文件实现文件传输的限制:
在web.config文件中添加如下语句:
修改maxRequestLength可以设定文件上传的大小 单位为:K。
3.3.3 用户权限控制
网络硬盘存储系统给每一个用户分配自己私有的空间,本系统处理的方法是,在用户注册用户名字的时候为用户在文件服务器上分配一个文件夹,这个文件夹以用户名字命名,用户只能访问和操作该文件夹下面的内容,进入系统文件夹绑定于该用户名上,这样登录的合法用户就只能操作自己私有空间上的数据了。
3.3.4 用户注册的实现
用户注册主要是在数据库用户表格中记录用户的基本信息,当用户登录的时候系统查询数据库表中的信息判断用户是否合法。用户注册的C#代码实现如下:
protected void Button4_Click(object sender, EventArgs e)
{string sql = "select * from Users where UserName='" + this.UserName.Text.ToString() + "'";
DataTable table = new DataTable();
DAL.ExecuteSql exec = new DAL.ExecuteSql();
int flag = exec.run(table,sql);
if (flag == 1)
{ if (table.Rows.Count > 0)
{ Response.Write("已經存在该用户名!");}
else
{sql = "insert into Users(UserName,Password,Email) Values('" + this.UserName.Text.ToString() + "','" + this.Password.Text.ToString()+ "','" + this.Email.Text.ToString()
+ "')";
int flag1 = exec.run(sql);
if (flag1 == 1)
{ 。。。。。。。。。。。。。。。 //进入系统}
else
{
Response.Write(exec.ErrorMessage);
}
}
}
else
{ Response.Write(exec.ErrorMessage);}
}
4、结束语
本系统在计算机基础实验室经过一年的试运行,在语言类教学活动中采用了该系统,经过2000人使用累积,验证了该系统的可靠性和实用性,取得了较好的效果。达到了预期的目的。
参考文献:
[1] 陈作聪 ,马玉浩, 张正礼. ASP.NET 网络编程技术与实践[M].清华大学出版社,2008-8.
[2] 李天平. .net深入体验与实战精要[M].电子哦那个也出版社,2009-6.
作者简介:刘明纲(1978.10--),男,汉族,四川成都人,工作单位:成都电子机械高等专科学校 网络中心,职称:将是,学历学位:软件工程硕士,研究方向:软件工程数据库。
注:文章内所有公式及图表请以PDF形式查看。