WWW对大量数据查询的一种实现文档信息
目录
1 三层体系结构的数据库访问技术
一种通用的三层客户端/服务器体系结构如下图1所示
2 问题的提出
3 实际解决方案
1 Piroz Mohseni著
2 Leonid bragiki
3 沈文智
正文
摘要 企业通过服务和数据库技术相结合的办法构建一种三层客户端服务器的体系结构用户通过INTERNET浏览企业信息但是当浏览大量数据库数据时 网络连接常因速度缓慢或因超时而中断。本文介绍了WWW数据库访问技术通过对各种技术进行分析和比较针对新华书店发行集团网站设计的需求采用ASP技术实现数据的分页传输
关键词ASP ADO三层体系结构客户端/服务器分页
目前大多数企业通过服务和数据库技术相结合的办法构建一种三层客户端服务器的体系结构 即客户端浏览器/中间服务器
WEB服务器 /数据库服务器B/W/D 利用I NT ERNET向世界各地发布企业的商业信息。用户为了获得企业的商品信息通过浏览器访问企业的网站某些情况下用户所需的信息量巨大此时企业的网页传输时间漫长或连接超时用户因此放弃浏览信息给企业造成一定的经济损失这当然不是企业所希望的。为了解决这种大数据量的发布问题首先了解一下三层体系结构是怎样处理数据库数据的。
1 三层体系结构的数据库访问技术
一种通用的三层客户端/服务器体系结构如下图1所示这种体系结构与传统的二层C结构比较最大的优点就是将网络通信和数据库操作分离开来并在客户端和WEB服务器间使用多路复用技术减轻了数据库服务器CPU的负载加快数据的处理能力。
图1三层体系结构
在开发基于WWW的数据库应用中关键技术之一在于WEB服务器与数据库服务器之间的连接技术。 目前数据库连接技术可归纳为以下几个方面。
?基于CG I 通用网关接口规范编写的CGI程序该程序既要处理WEB服务器与浏览器之间的信息传输又要处理WEB服务器与数据库的连接、查询和基于查询结果的HT ML页面的产生。
?利用AP I 应用程序接口对WEB服务器的功能进行扩展这种方法较灵活但编程人员需具有一定的编程技巧对AP I详细了解以及对C++等语言的熟练掌握 因此开发周期长成本较高。 目前较流行的API有MICROSOFT公司的ISAPI和NETSCAPE公司的API。
?利用JD B C进行数据库连接采用J AVA语言进行编程 由于J AVA具有较为严格的安全机制 同时它实现了跨平台性 因此它是一种较为热门的技术但JAVA与C++相似开发效率不是很理想。
?利用ASP ACTIVE SERVER PAGES技术 ASP技术基于微软的DCOM 分布式COM标准是微软公司提供的一种服务器端脚本支持环境它通过ADO ACTIVEX DATA OBJECT控件的方式来处理与数据库的连接。
由于ASP技术开发周期短成本低对控件的支持可以开发出较为理想的应用所以 ASP得到广泛的应用。 ASP文件是以.asp为扩展名的文本文件这个文本文件可以包括下列部分文本、 HTML标记、 ASP脚本命令。 ASP文件存放在WEB服务器相应的目录中当客户浏览器从WEB服务器上请求.asp文件时 ASP脚本开始运行将运行结果和.asp中的静态部分组合成标准的HT ML格式传输给客户端浏览器。 A SP对数据库的访问是通过ADO对象来实现的它把数据库查询结果放在HTML页中传给浏览器过程如下图2示。鉴于ASP的优点采用它来解决大容量数据库的访问。
图2 .asp文件处理过程
2 问题的提出
前面已经提到客户端访问企业网站时从数据库中查询出大量数据传送给客户端易造成连接超时而中断传输。作者在开发某新华书店发行集团网站中就遇到类似的情况 由于数据库中书目表记录多达6万多条而在发行行业中有一种分类法称为十大类分类法平均每类书目达五六千种。这样 当各地分销商查询某一类书目时在服务器端采用ASP技术将查询结果存于ADO对象库的RECORDS ET对象中然后将查询结果生成HT ML格式传输给分销商的浏览器。我们可以计算一下每条记录长度为250字节查询一类书目就需至少传输
250*5000即1250K字节的数据通常情况下 网络会因超时而中止连接。因此能否解决这种情况关系到企业网站的生存对其他类似情况也具有实际借鉴意义。
3 实际解决方案
在新华书店发行集团的网站开发中一方面为了避免由于数据整体传送时间过长而导致的断连另一方面为了满足用户浏览数据的局部性要求故将数据化整为零采用分页技术来加快数据的传输。在访问WE B服务器时有两个因素限制了网页的连接时间一是数据库的查询操作另一个是网络传输的数据量。在数据库中的查询可以通过建立索引来解决例如对前面提到的书目表按十大类字段进行索引这样大大加快了数据库查询速度。为了减少网络传输数据量采用分页传输的技术例如客户端查询出五千多条记录可以一次仅
传输二十条记录这样加快网页的连接时间就不会因超时而中断。分页技术用脚本实现部分代码如下set Conn= ("") ‘连接ODBC
"xhsd" ” sa” ” hxrjb1”
‘生成sql语句set = ("") ‘查询结果存于sql Connset session("") =
首先通过A SP的内置对象SERVER创建一CONNEC T I ON对象conn并将其与指定的数据库关联通过该对象的open方法打开。接着可根据系统的实际需求构造满足所需数据的SQL语句然后再通过SERVER对象创建一RecordSet对象并由的方法open取得数据库记录 同时将保存在Session中 以供其他页面使用。为了计算数据记录分多少页必须先定义每页显示的记录数和记录的总数。代码中使用变量Session “PageSize” 标志每页记录数 Session
“PageCount” 标志分页数。下面一段代码功能为显示某一页的记录这一段代码为分页显示的核心代码。
(page-1)*Session( “PageSize “
for i=1 to Session( “PageSize “for j=0 to
"" & (j) .Value & "nextif thenexit forend ifnext
代码通过对象的方法Move将记录指向由page确定的那一页的第一条记录然后用循环语句依次列出每条记录。为了定位在某一页必须使用一参数将页码信息传给服务器此处使用带参数的超级链接来实现。具体代码如下
if page<>1 then
"第一页"
"上一页"end ifif page<>Session( “PageCount” ) then
"下一页"
"最后一页"end if
参考文献
1 Piroz Mohseni著 Web数据库开发人员指南.机械工业出版社。
2 Leonid bragiki Matthew Powell著 Microsoft
Internet Information Server使用大全.人民邮电出版社。
3 沈文智候勇等著 Microsoft IIS网页技术.人民邮电出版社。
Inquire to Mass Data In World Wide Web
Abstract The enterprise desig a three tier architecture ofclienterver through integrating the technology of databaseaccess and www service. Then user may browse all kinds ofenterprise’ s information in Internet. Because of limits ofbandwidth and trafe of mass data the link of networkusually breaks. This paper discusses the technologies ofdatabase access and analyzes these technologies. By thedemand of XinHua BookStore Publishing Group’ s website ASPpaging technology is used to tramit mass data。
Keyword Activex Server Pages ADO Three Tier
Architecture Clienterver Paging
“WWW对大量数据查询的一种实现”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载
快云科技已稳步运行进两年了 期间没出现过线路不稳 客户不满意等一系列问题 本司资质齐全 持有IDC ICP ISP等正规手续 有独特的网站设计理念 在前几天刚是参加过魔方系统举行的设计大赛拿获最佳设计奖第一名 本公司主营产品 香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机 2020年的国庆推出过一款香港的回馈用户特惠机 已作为传家宝 稳定运行 马上又到了...
ShockHosting商家在前面文章中有介绍过几次。ShockHosting商家成立于2013年的美国主机商,目前主要提供虚拟主机、VPS主机、独立服务器和域名注册等综合IDC业务,现有美国洛杉矶、新泽西、芝加哥、达拉斯、荷兰阿姆斯特丹、英国和澳大利亚悉尼七大数据中心。这次有新增日本东京机房。而且同时有推出5折优惠促销,而且即刻使用支付宝下单的话还可获赠10美金的账户信用额度,折扣相比之前的常规...
我们在选择虚拟主机和云服务器的时候,是不是经常有看到有的线路是BGP线路,比如前几天有看到服务商有国际BGP线路和国内BGP线路。这个BGP线路和其他服务线路有什么不同呢?所谓的BGP线路机房,就是在不同的运营商之间通过技术手段时间各个网络的兼容速度最佳,但是IP地址还是一个。正常情况下,我们看到的某个服务商提供的IP地址,在电信和联通移动速度是不同的,有的电信速度不错,有的是移动速度好。但是如果...