数据库WWW对大量数据查询的一种实现

www qqcom  时间:2021-02-08  阅读:()

WWW对大量数据查询的一种实现

目录

1 三层体系结构的数据库访问技术

一种通用的三层客户端/服务器体系结构如下图1所示

2 问题的提出

3 实际解决方案

1 Piroz Mohseni著

2 Leonid bragiki

3 沈文智

正文

摘要 企业通过服务和数据库技术相结合的办法构建一种三层客户端服务器的体系结构用户通过INTERNET浏览企业信

息但是当浏览大量数据库数据时 网络连接常因速度缓慢或因超时而中断。本文介绍了WWW数据库访问技术通过对各种技术进行分析和比较针对新华书店发行集团网站设计的需求采用ASP技术实现数据的分页传输

关键词ASP ADO三层体系结构客户端/服务器分页

目前大多数企业通过服务和数据库技术相结合的办法构建一种三层客户端服务器的体系结构 即客户端浏览器/中间服务器

WEB服务器 /数据库服务器B/W/D 利用INT ERNET向世界各地发布企业的商业信息。用户为了获得企业的商品信息通过浏览器访问企业的网站某些情况下用户所需的信息量巨大此时企业的网页传输时间漫长或连接超时用户因此放弃浏览信息给企业造成一定的经济损失这当然不是企业所希望的。为了解决这种大数据量的发布问题首先了解一下三层体系结构是怎样处理数据库数据的。

1 三层体系结构的数据库访问技术

一种通用的三层客户端/服务器体系结构如下图1所示这种体系结构与传统的二层C结构比较最大的优点就是将网络通信和数据库操作分离开来并在客户端和WEB服务器间使用多路复用技术减轻了数据库服务器CPU的负载加快数据的处理能力。

图1三层体系结构

在开发基于WWW的数据库应用中关键技术之一在于WEB服务器与数据库服务器之间的连接技术。 目前数据库连接技术可归纳为以下几个方面。

? 基于CGI 通用网关接口规范编写的CGI程序该程序既要处理WEB服务器与浏览器之间的信息传输又要处理W EB服务器与数据库的连接、查询和基于查询结果的H TML页面的产生。

? 利用A P I 应用程序接口对WEB服务器的功能进行扩展这种方法较灵活但编程人员需具有一定的编程技巧对AP I详细了解 以及对C++等语言的熟练掌握 因此开发周期长成本较高。 目前较流行的AP I有MICROS OFT公司的I SAP I和NETSCAPE公司的AP I。

? 利用J DBC进行数据库连接采用JA VA语言进行编程 由于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 实际解决方案

在新华书店发行集团的网站开发中一方面为了避免由于数据整体传送时间过长而导致的断连另一方面为了满足用户浏览数据的局部

性要求故将数据化整为零采用分页技术来加快数据的传输。在访问WEB服务器时有两个因素限制了网页的连接时间一是数据库的查询操作另一个是网络传输的数据量。在数据库中的查询可以通过建立索引来解决例如对前面提到的书目表按十大类字段进行索引这样大大加快了数据库查询速度。为了减少网络传输数据量采用分页传输的技术例如客户端查询出五千多条记录可以一次仅传输二十条记录这样加快网页的连接时间就不会因超时而中断。分页技术用onepage.asp脚本实现部分代码如下set Conn=Server. ("n") ‘连接ODBC

Conn.Open "xhsd" ” sa”  ” hxrjb1”

 ‘生成sql语句set =Server.CreateObject ("adodb.recordset") ‘查询结果存于

.Open sql Connset session("") =

首先通过A SP的内置对象SERVER创建一CONNEC T I ON对象conn并将其与指定的数据库关联通过该对象的open方法打开。接着可根据系统的实际需求构造满足所需数据的SQL语句然后再通过SERVER对象创建一RecordSet对象并由的方法open取得数据库记录 同时将保存在Session中 以供其他页面使用。为了计算数

据记录分多少页必须先定义每页显示的记录数和记录的总数。代码中使用变量Session  “PageSize” 标志每页记录数 Session

 “PageCount” 标志分页数。下面一段代码功能为显示某一页的记录这一段代码为分页显示的核心代码。

.MoveFi t

.Move (page-1)*Sess ion( “PageSi ze “for i=1 to Session( “PageSize “

Respoe.Write "for j=0 to -1

Respoe.Write "" & .Fields(j) .Value & "next

Respoe.Write "

.MoveNextif .EOF thenexit forend if

next

Respoe.Write "

Respoe.Write "

代码通过对象的方法Move将记录指向由page确定的那一页的第一条记录然后用循环语句依次列出每条记录。为了定位在某一页必须使用一参数将页码信息传给服务器此处使用带参数的超级链接来实现。具体代码如下if page<>1 then

Respoe.Write "第一页"

Respoe.Write"上一页"end ifif page<>Session( “PageCount” ) then

Respoe.Write "下一页"

Respoe.Write "最后一页"end if

Respoe.Write "

参考文献

1 Piroz Mohseni著 Web数据库开发人员指南.机械工业出版社。

2 Leonid bragiki Matthew Powell著 MicrosoftInternet Information Server 4.0使用大全.人民邮电出版社。

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

georgedatacenter:美国VPS可选洛杉矶/芝加哥/纽约/达拉斯机房,$20/年;洛杉矶独立服务器39美元/月

georgedatacenter怎么样?georgedatacenter这次其实是两个促销,一是促销一款特价洛杉矶E3-1220 V5独服,性价比其实最高;另外还促销三款特价vps,大家可以根据自己的需要入手。georgedatacenter是一家成立于2019年的美国vps商家,主营美国洛杉矶、芝加哥、达拉斯、新泽西、西雅图机房的VPS、邮件服务器和托管独立服务器业务。georgedatacen...

iHostART:罗马尼亚VPS/无视DMCA抗投诉vps;2核4G/40GB SSD/100M端口月流量2TB,€20/年

ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...

10gbiz七月活动首月半价$2.36/月: 香港/洛杉矶CN2 GIA VPS

10gbiz怎么样?10gbiz 美国万兆带宽供应商,主打美国直连大带宽,真实硬防。除美国外还提供线路非常优质的香港、日本等数据中心可供选择,全部机房均支持增加独立硬防。洛杉矶特色线路去程三网直连(电信、联通、移动)回程CN2 GIA优化,全天低延迟。中国大陆访问质量优秀,最多可增加至600G硬防。香港七星级网络,去程回程均为电信CN2 GIA+联通+移动,大陆访问相较其他香港GIA线路平均速度更...

www qqcom为你推荐
印章制作word里如何制作公章?weipin唯品金融是什么?大家基本都怎么用呢?缓冲区溢出教程适合黑客初级学者使用的黑客工具有那些 、flash导航条谁来帮我看看这样的flash导航条 下面的页面该怎么设计bluestacksbluestacks到底是叫蓝手指还是叫蓝叠淘宝店推广淘宝店铺推广有哪些渠道?网易公开课怎么下载网易公开课的视频该如何下载?腾讯文章为什么最近腾讯网的文章评论都看不到雅虎天盾雅虎天盾、瑞星杀毒软件、瑞星防火墙、卡卡上网安全助手能同时使用吗?ios系统ios系统的手机有哪些?
国外虚拟空间 免费网站空间申请 cn域名价格 siteground gitcafe 轻博 建站代码 什么是服务器托管 vip购优惠 支付宝扫码领红包 中国电信宽带测速 脚本大全 ping值 此网页包含的内容将不使用安全的https 香港打折信息 美国达拉斯 低价 性能测试工具 neicun crontab 更多