|  首页  |  资讯  |  评测  |  活动  |  学院  |  访谈  |  专题  |  杂志  |  产服  |  
您现在的位置:硅谷网> 学院> 论文>

基于.net环境下web数据库应用程序效率与数据安全研究

2013-02-26 10:05 作者:徐晖 来源:硅谷网-《硅谷》杂志 HV: 编辑: 【搜索试试
  硅谷网文 据《硅谷》杂志2012年第22期刊文称,伴随信息技术飞速发展,网络已经成为人类日常生活的重要组成部分,网络渗透到大到军事、小到人们的日常购物的社会各个领域。纵观网络的发展历史,网络的安全(包括数据安全)和网络应用程序的运行效率始终是网络用户关注的焦点。.net平台的出现,给基于web的应用开发带来极大的方便,同时提升网络数据访问速度和安全性能。通过对ado和ado.net数据模型的数据处理方式的对比分析,给出web数据库应用程序开发中提高数据安全和页面访问效率的几个有效途径。
  关键词:ado.net;数据安全;效率
  1选用ado.net模型处理数据库
  与以前的ADO不同,ADO.NET从一开始就是为在Web的无连接的工作方式而设计的,并且很容易同XML集成,在关系数据和XML之间架起桥梁,简化了在它们之间移动数据的任务,ADO.NET适合于建立基于web的高效多层数据库应用程序[1]。如图1所示为ado.net对象模型,虚线左边的对象是“连接的”模型,这些模型直接与数据库通信,以管理连接和事务,并可以从数据库检索数据和向数据库提交所做的更改。虚线右边的对象是“断开连接的”对象模型,允许与物理数据断开处理数据。
  
  
  图1ado.net对象模型
  1)多表处理,显著提高数据处理效率。
  如图所示,DataSet对象由数据集DataTable对象和关系DataRelation对象组成,在.net架构中,程序员可以非常方便地使用数据适配器的Fill方法向DataTable对象中填充若干数据表或者视图,同时向dataset对象中添加这些数据表之间的关系,类似于以前版本多表关联,方便实现多表处理。而且这些数据表可以来自同一个或不同的数据库,甚至是非关系数据库的其他数据源。当程序设计人员将这些具有一定内在联系的数据填充到Dataset对象中以后,使用dataset.tables(表名字符串或索引)访问这些表,除非你用clear方法清除,他们一直存在于程序缓存。因为切断技术的应用,对这些表的数据处理不与物理数据库直接发生关系,数据安全性能显著提高,同时在轻松实现多表处理过程中,仅仅是对内存进行数据处理,相对于ado中的RecordSet对象,其数据处理能力和效率要高得多。
  2)在程序中使用ADO.NET数据处理对象模型改变应用程序中传递数据机制,提高数据传递效率。
  在不连续的ADO的记录集中从一个组件到另一个组件的传输使用com封装,而在ADO.NET中传输数据可以直接使用数据集或传递XML流[2]。Xml被称为可扩展标记语言,是基于文本格式的标记来描述结构化的数据及数据传递,由于一开始其产生和设计是适应web应用程序数据的统一表达和数据传输,因此得到快速的发展,很快在新兴的主流编程中普遍应用。ADO.NET中的数据集合是基于XML格式表达和传输的,其一方面XML提供更丰富的数据类型表达,所以没有数据类型的限制,另一方面,由于防火墙一般配置为允许HTML文本通过,阻止系统级请求通过,因此使用XML数据表达的ADO.NET数据可以通过,但ADO的记录集使用com封装,不容许通过。另一个性能差别在于当网络中传输大型ADO记录集或大型ADO.NET数据集的时候,由于基于xml表达的数据结构是统一的,不需要数据类型的转换,所以传输效率大大提高。
  3)ADO.NET数据切断技术提高服务器效率和数据的安全性能。
  在ADO.NET中,打开连接的时间仅足够执行数据库的操纵,其典型数据操纵过程是,通过数据适配器的fill方法填充需要的一个或多个数据表或视图,创建关系,然后在不保持与数据源的进行连接的情况下使用它们,及数据切断(自动),以后可以对内存中的这些数据,使用数据库操纵语言进行需要的操作,最后在使用数据适配器的update方法或其他手段,将改变保存到物理数据库。在ADO中,记录集虽然可以提供不连接的访问,但ADO主要是为连接的访问设计的,存在局限性。ADO和ADO.NET之间的主要区别在于ADO.NET中使用数据适配器对数据集进行灵活控制,而传统的客户端/服务器应用程序中,应用程序运行过程中连接需要保持打开状态。这些打开的数据库链接占用宝贵的系统资源,实现数据处理越复杂(多表处理货同时处理来自多个数据库表)系统资源占用越严重,数据处理效率越低。当Web站点的通信量迅速增加的时候,用传统ADO对象模型处理数据,程序的执行效率是不能接受的。
  在ASP.NETWeb应用程序中,组件彼此之间本来就是不连接的。而基于b/s的web应用程序的工作机制是,浏览器从服务器请求一页;在服务器完成处理并发送该页后,服务器即不再与浏览器有任何连接,直到下一次请求为止,因此ADO.net的数据切断工作机制也是为了适应这样的工作过程中而设计的,不断开的数据库连接本身也是不可行的。
  2使用缓存技术提高页面数据处理速度。
  2.1页面缓存
  生成动态Web页会耗用各种各样的系统资源。当Web服务器收到页面请求时,它通常必须从外部数据源(如数据库或WebService)检索所请求的信息。对这些资源的访问通常需要通过有限的资源池(如数据库连接、套接字或文件描述符)进行。因为Web服务器通常需要处理很多并发请求,所以对这些共享资源的争夺可能会延迟页面请求,直到资源变为可用。在将请求发送给外部数据源之后,仍然必须将结果转换为HTML代码以便进行显示。页面缓存技术的应用会节省生成冗余HTML页的CPU周期,从而缩短响应时间。在ASPX页面的顶部,即在任何输出之前使用:<%@OutputCacheDuration="value"VaryByParam="*"%>实现页面缓存,其中value为以秒为单位的缓存时间的正整数。
  2.2数据缓存
  当业务逻辑可以容忍缓存数据的陈旧时就缓存原始数据;原始数据可以缓存在数据库访问组件和服务代理中;
  缓存处理过的数据以减少处理时间和资源;处理过的数据可以缓存在业务逻辑组件和服务接口中。
  当需要呈现的数据量很大并且控件的呈现时间很长时,缓存呈现数据(比如包含大数据量的Treeview控件)。这种数据应该被缓存在UI控件中
  在应用程序中缓存数据有以下好处:
  减少交互的通讯量----缓存数据能有效减少在进程和机器间的传输量;
  降低系统中的处理量----减少处理次数;
  降低需要做的磁盘访问次数----比如缓存在内存中的数据。
  3尽可能少使用服务器控件,提高页面处理效率
  在ASP.NET中,用于GUI设计和数据处理的控件有两大类,一种是在服务器端运行的被称作WebServerControls的控件,可以在不同的工具箱面板中加入页面使用,也可以在html标记代码中指定ruanat属性值为”server”或”client”,分别表示服务器控件和客户端控件。如:
  <asp:TextBoxid="txtEmpName"size="20"runat="server"/>指定一个文本框为服务器端控件,当应用程序需要对服务器数据库或服务器端文件、目录操作时,这些控件给程序的实现带来极大的方便和灵活性。但这种灵活性是有一定代价的,因为每种服务器端控件消耗服务器上的资源同时,在最终的用户页面呈现时还是要转换为客户端标记,这样的来回转换会降低运行效率。另外,除非控件、网页或应用程序明确地禁止viewstate,控件的状态是包含在viewstate的隐藏域中,并在每次回送中都会被传递,这会引起严重的性能下降。所以在综合网站建设过程中,应当尽可能避免使用服务器控件以提高页面访问效率。
  4使用事务处理,控制数据库并发,提高数据安全
  事务处理是数据库系统提供的数据处理手段,一个数据处理单元完成一个逻辑上的完整操作,它可以由一系列的SQL语句、SELECT、INSERT、UPDATE、DELETE组成的一个功能模块,模块调用过程中设有.net的异常捕获机制,如果在整个的操作中如果中没有出现任何错误,就提交整个的操作,实现数据的物理改变。如果在其中出现任何的问题,出错处理程序就调用回滚机制恢复对数据的操作,不会对物理数据库中的数据进行任何更改[3]。
  事务处理的步骤:
  1)调用Connection对象的BeginTransaction方法来标记事务的开始,使用一系列sql语句创建事务过程。将BeginTransaction方法返回对Transaction的引用分配给登记在事务中的Command对象。
  2)将Transaction对象分配给要执行的Command的Transaction属性。通过活动的Transaction对象对Connection执行Command。
  3)执行所需的命令。
  4)调用事务对象的Commit方法来完成事务,事务处理过程中使用实时错误捕获,如果出现实时错误则调用Rollback方法来取消事务,否则完成数据处理。
  5结论
  在web系统开发中,系统的开发效率和系统运行效率是有矛盾的,系统运行的稳定性和数据安全是首要的,当系统运行效率显得特别重要的时候,开发人员不得不舍弃一部分系统的开发效率,可以用多个方面手段提高页面的访问速度,本文仅仅是从基于.net开发环境,着重对ado.net数据处理机制进行研究分析,提出几个提高web应用系统的效率和数据安全的途径。这些方法应用在学校科技处的科技项目管理系统和成教管理系统开发中,并且取得了预期的效果。
  江苏省现代教育技术研究2012年度重点课题(编号:2012-R-22105);镇江高等专科学校校级科研课题(编号:2012070626)
  作者简介:
  徐晖,硕士,讲师,研究方向:计算机信息技术及其应用,计算机信息管理系统开发;樊为民,副教授,研究方向:计算机应用软件开发。殷晓中,副教授,研究方向:计算机管理系统研发。
【对“基于.net环境下web数据库应用程序效率与数据安全研究”发布评论】

版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
广告
相关
·基于视频会议终端QoS(服务质量)技术方案探析
·基于学习兴趣培养的《C语言程序设计》教学研究
·基于“面向服务架构”SOA的PLM系统浅析
·基于LPC1114的加窗差值FFT算法的谐波检测设计
·三层架构下ADO.NET数据库访问技术的应用探究
·基于SDM模型的250T转炉钢包底吹模型开发
·《硅谷》杂志:基于制品挤压方法的研究
·《硅谷》杂志:环境水中总氮的快速测定方法研究
头条
硅谷网解密:4G网络中的微波传输解决方案 硅谷网解密:4G网络中的微波传输解决方案
在2013年12月4日,工信部向中国移动、中国联通、中国电信颁发TD-LTE(4G)经营许可之后……
·硅谷网解密:4G网络中的微波传输解决方案
·创意产业的批量化规律 工业造型方法论之加减
·《硅谷》杂志:浅谈电信运营商开展IPTV业务
·《硅谷》杂志:新型桌面搜索关键技术的研究与
·硅谷杂志:基于时间技术的搜索引擎排名算法
图文
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
最新
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·利用重力势能做功发电介绍和势能输出系统介绍
·李磊:新时代下电网调度自动化技术的发展分析
·提升企业竞争力以及企业人力资源管理优化思考
·《硅谷》杂志:采油分层测静压工艺技术浅究
热点
·判断连续时间系统的线性非时变性和因果性
·3DMAX+Vary室内漫游动画制作的技法浅析
·长期使人困惑的问题:TCP连接中断的实时检测
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·关于汽轮机油系统失火原因分析及防范措施的一
旧闻
·徐海:智能变坡水槽控制系统的设计与实现
·硅谷杂志:云计算在飞行试验数据处理中的探索
·探讨气体检测中如何应用数字信号处理技术
·博物馆数字化展示应用研究
·硅谷杂志:关于网络安全解决方案的探讨
广告
硅谷影像
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介绍
公关负责人离职背后:危机公关案例分析
公关负责人离职背后:危机公关案例分析
硅谷网解密:4G网络中的微波传输解决方案
硅谷网解密:4G网络中的微波传输解决方案
使用Autoit脚本在虚拟内存盘设置考试模拟系统
使用Autoit脚本在虚拟内存盘设置考试模拟系统
探秘开滦集团设备租赁管理系统的设计和实现
探秘开滦集团设备租赁管理系统的设计和实现
关于我们·About | 联系我们·contact | 加入我们·Join | 关注我们·Invest | Site Map | Tags | RSS Map
电脑版·PC版 移动版·MD版 网站热线:(+86)010-57255600
Copyright © 2007-2020 硅谷网. 版权所有. All Rights Reserved. <京ICP备12003855号-2>