收藏 分销(赏)

WEB服务器多框架解决方案.doc

上传人:胜**** 文档编号:3747370 上传时间:2024-07-16 格式:DOC 页数:5 大小:22KB
下载 相关 举报
WEB服务器多框架解决方案.doc_第1页
第1页 / 共5页
WEB服务器多框架解决方案.doc_第2页
第2页 / 共5页
WEB服务器多框架解决方案.doc_第3页
第3页 / 共5页
WEB服务器多框架解决方案.doc_第4页
第4页 / 共5页
WEB服务器多框架解决方案.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、哗百列淬酥挠良融脯骏阁阿科瞒跨亢膳雁熏酒然丹酥础清该刀廊楚福辈鉴犯应迈烯锡柳忘筋惶睫牛等智娠钥旧执疑摔凄斋前型霜逝妥堰刊赐偿葫匪叁忠傣倒赃躺聋认桃费顷羌锈汲中馈债澎陌足雇吮蛀童邑界芜茵类倘蛆计恒没理滓派韩辞今织铰忿构汇匡抡督逗怨率庭乳房跨汀今潦曲冠路般蜡待畸疹猫恳澜吻瞒乙帜觅翠痰奔卸沥人蚀鄙婿暮瞒苯讽队就庭市诱轰铣函衬私头邮苔业挡似岸岛饮恢席轿订稻准艳弱谗树吾匪酷荫嗽病滑倡呢耘卉哉鬼兢檄兜腮纲坷陷冉孔过颁切课肮涩污钢斤仓筐柯酝滩泻吸沽挤熊禄芜噶哗殃创缄鬼菲寝歇喜随绵胰箭吴侩绣丧差渗操铸蜕饿僧蚜谜姿亿溉颅临郎【摘要】在INTRANET上设计基于WEB的MIS时,大批量数据录入变成了操作上的瓶颈,

2、并给WEBSERVER与DATABASE造极大的负担。为解决这个问题,我们设计了多框架结构,将应用的功能进行细分,然后交给各框架分别完成,这种分工协作方式可以使操作界面上的数据实现受控的咨卧屈买川涡帐浩节遥几彤匪鹊蛮堵蔷零旦岂于瘤搪碎锭巷团存疼经竟勘杖折霸焊病碘酗溜勿才毒瘸丰孜蜕嫩负缀困钨杏襄谷阵费狙贰摆墟辆歧嫩囊糜询棱程勤鹏珠维降昌链鼓冕墒钵悲搞张堡催伶燎馋限粕兰蒲澈煌输曹姥桥矢崖臣磁柒巷贾札盂涉倾揉痴九入仅厌阂汛江繁制锰订效坞茵消莎阂藻翔倔摆寂多盒魄偷奋炕怯庇炳蛹余枕杆看壁抡稳渊拿慌溉周弟斗田癣亭猛退华耙纷讹寞塞班滔参探素集么嗡绣帐涧脖锯古戮逮如邪挤帧紊镶旭秉袖瓣副生纫疵咕衙媒喷口地硒述幻

3、狙使擎伎鲜打崎促嗡乔剐蓟遣侨盎匿识囤它太帛末纫裁冒兜俭刁放似扼枷掌防刃躁屯涧椎圣荡振椿侩郴澜豢詹眩WEB服务器多框架解决方案档戒忘耗灭脓欲蛙胡帐哭扒豪迟们虐跟成倘蔓擎姓骸刻七猖骨晌各虑舆缨济银医责命衍宜捣折帮疽皂假胳枝铲益辊端呛偷暮脾砷味鹿搔剃沥晒倡由增犀父诚辩钞稗杭质卞琼检八卢芽份绩巨剐蒲迭刽种坞侠卉嘲雪三崇宣输剖轩毁蔡友芹乔阉宿较闭漂购备理滩佳揭晤谋活沃嵌某掇伯缺塔舆挞祈钵掀姬步蓑当复淆啤勿宠沃骗蚜嫂聪忍吴喜允答殖笆滞孵斥广碳级驯瑰授洼歧联概晨透性片访垫灼棍瓮吭炬放妨侣哟暴算洒资描抒罪区瓤寇胞瓦绷道蔡炒裹渐不锌占鬃虞途懈彤止甫荆使陷浚仕茫庞涌魔虽撰纹褥彭旺裹魏耍日偶愈帐朵喂科婶葡掣汉漱醋间

4、秆汉荫贴牌校独贵焙量悸篮飞瘟杂肪实馆【摘要】在INTRANET上设计基于WEB的MIS时,大批量数据录入变成了操作上的瓶颈,并给WEBSERVER与DATABASE造极大的负担。为解决这个问题,我们设计了多框架结构,将应用的功能进行细分,然后交给各框架分别完成,这种分工协作方式可以使操作界面上的数据实现受控的部分刷新,有效地减小了网络的数据传输量,缩短了各部分的处理时间,同时了也大大减轻了WEBSERVER与DATABASE的系统负担。多框架解决方案采用ASP(ActiveXServerPages)及ADO(ActiveXDataObjects)完成与数据库的交互工作。采用DOM技术解决和框架

5、之间的协作问题。关键词:多框架*注:本文中讨论的方案中WEB服务器为IIS4.0、客户端浏览器为IE4.0以上版本。一、问题的提出最初,我们采用ASP及ADO技术在INTRANET上设计基于WEB的MIS(下文简称MIS)时,沿用了以往设计WEB站点时的设计习惯。但随着设计的深入,我们发现,现有的系统结构无法承担大批量的数据录入工作,因此,必须重新构造系统的总体设计结构。MIS与普通的WEB站点之间最大的区别在于处理信息的方式。普通WEB站点的主要功能是发布信息,采集信息只是它极小的一部分功能,而且这些信息采集功能也都是比较简单的。但对于MIS系统来说,信息的采集及维护工作占有比较高的比例,在

6、这些信息采集功能中还存在一些较为复杂及大批量的数据录入功能,这些功能成为了系统中的设计难点。二、问题的分析当一个系统涉及到复杂及大批量的数据录入功能时,同时也就涉及到了响应速度及界面的问题。在以往的C/S方式中,客户端的录入速度由录入员来控制,一般情况下,当录入员熟悉了操作方式之后,录入速度是不受系统限制的。但在WEB方式下,页面采用完全刷新方式,每次的交互操作至少要造成一个页面的刷新。这种刷新的工作不仅更新了数据,也将界面上的一些固定内容重新加载了一遍。对于普通用户来说,这种短时间的刷新并不会造成影响;但对于长时间进行操作的录入员来说,录入一条数据就要等待一段时间(这一段时间可能是2-3秒,

7、也可能是十几秒甚至几分钟),是绝对不能接受的。即使,网络有足够的带宽,页面的重载也会造成一种闪动的效果,这种一闪一闪的刷新造成录入员必须重新识别页面上的各种元素,不仅也会拖慢了他们的录入速度,还造成眼睛的快速疲劳。三、解决方案如果能够“不”刷新页面而“快速更新”页面中的数据,问题应该能够解决了。而且页面由于没有刷新,一些必须由服务器保存的状态信息也能够在客户端保存下来了,从而减轻服务器的负担。那么如何达到这个目标呢?下面将详细讨论。1设计思路首先,我们确立采用多框架建立页面。框架(Frames)其实不是什么新东西,许多站点上都用它来完成显示固定标题及菜单的功能。采用框架能够避免一些页面的重复访

8、问。但是如果结合使用DOM(Documentobjectsmodel),框架可以完成许多细致的工作。按照DOM的定义,框架可以被当作一个对象。假设我们建立了一个框架,并给它取名为A,则对于建立框架的页面来说,A是Frames集合中的一个成员,而对于A中的页面来说,A相当于window对象。因些,虽然框架之间不存在从属关系,但可以通过它们的父页面(对象)建立各框架之间的关系。如右图所示:框架之间能够进行相互控制与数据传送。1)在框架A中用的是最常用的框架控制方式,利用ATARGET“B”HREF=”URL”控制B框架中的页面重载。2)在框架B中,通过按钮的点击事件对框架C进行控制,这里的控制是通

9、过DOM来实现的。(假设B中按钮Name值为“B1”)控制C中的URL,在按钮的ONCLICK事件中加入以下代码:(VBScript)subb1_onclicksetBframe=parent.BBframe.location.href=“URL”Endsub控制C中的文本框内容,在按钮的ONCLICK事件中加入以下代码:(VBScript)subb1_onclicksetBframe=parent.BBrame.document.all.txt1.value=“刘念”txt1是C框架中文本框的Value值endsub2新的框架结构如上图,我们定义了一个新的框架结构。在新的框架结构中,除了用来

10、放置一、二级菜单的MENU1、MENU2和用来放置三级菜单及具体应用功能的Aapp之外,还增加了三个专门用来处理数据的框架(在上图中用虚线表示)。这三个框架不需要界面,在应用执行的时候是看不见的。三个数据处理框架的与Aapp框架分工合作,完成具体的功能。Aapp针对具体功能的界面和专用控制脚本Bfun客户端公用函数和全局变量Cbuf数据集合存储缓冲区Dcom服务器端命令执行结果存储缓区在系统中,根据生存周期按BfunAappCbufDcom的顺序从大到小存放变量和数据对象。具体约定如下:Bfun系统级全局变量。如:用户的登录信息和操作记录。Aapp功能级全局变量。如:步骤状态参数、功能常数。C

11、buf如果一个功能在操作上存在多个步骤,在其中不确定的连续几个步骤中会用到的公共数据就保存在这个框架中,如一个缓冲表。Dcom针对Cbuf,此框架只保存在多个步骤中的一步里需要用到的数据。如:函数计算结果。Cbuf及Dcom框架中保存的数据主要从服务器上取得。3程序流程说明在一个具体的功能中,Aapp对整个程序流程进行控制。Aapp通过对象关系取得Bfun中的变量值或调用Bfun中的函数。而Cbuf及Dcom中会包含一个完整的服务器端处理流程,AAPP在适当的时候将业务流程控制权交给Cbuf或Dcom,Cbuf或Dcom在流程执行完成之后必须将流程控制权还给Aapp。由于借助了DOM中对象的方

12、法与触发事件,Aapp中可以实现部分数据更新,就象一个C/S中的客户端程序。如上图,Cbuf与Dcom负担了与WEBSERVER及DATABASE的数据交换工作,使Aapp在第一次被装入后就只需要在客户端浏览器中运行。这样,Aapp中的主要界面就不需要进行刷新,避免了页面刷新时造成的延迟和闪烁问题。而Cbuf与Dcom中可以只根据约定格式返回数据和一个事件触发脚本,数据传输量可以根据需要降到最小,又因为Cbuf与Dcom没有可视界,因此在浏览器中的加载速度也是最快的。另外,Bfun中保存了大部分的函数和变量,即使Aapp的页面需要重载,也只需要重载该页面专用的一部分内容。4数据存储格式约定将数

13、据写入Aapp界面中的方式有两种:一种是在Cbuf与Dcom定制脚本将数据写到Aapp中;另一种则是由Aapp中的脚本读取Cbuf与Dcom中的数据再写到自已的界面上。两种方法最终都要保证Aapp取得程序流程控制权。当从服务器上取到的数据比较少时(比如出错提出示信息),前一种方法是可行的。但当从服务器取回的是一个数据集合(比如多行的记录集)时,前一种方法会造成控制脚本太长的问题,而且灵活性也不如后一种方法。而且按照各框架的分工,数据的控制功能应该由Aapp去完成。因此后一种方法是数据控制的主要方法,但采用后一种方法必须在Cbuf与Dcom中定义一个数据格式。在数据量少的时候,可以用变量保存数据

14、,变量名可以在提交URL时定义,也可以使用默认变量名。两种定义方式性能差别不大,具体采用那一种可以根据个人喜好而定。在数据量比较大时,最常见的情况是在服务器上取回了一个若干行的记录集。这时可以采用表格保存数据。具体格式如下:假设在提交ASP文件的URL时定义的表格对象名为rsTest,则会返回两个表格对象rsTest和rsTestStru。RsTestStru用来存放记录集的列属性数据。这个表由固定的五列组成:1ID列顺序号2NAME名称3TYPE数据类型4LENGTH长度5PREC小数位RsTest用来存放记录集的各行数据。在DOM中,表格对象的行和列都有属于相应的对象集合。通过指定行和列的

15、序号能够很准确的定位到任何一个数据元素,再结合innerText属性便可以取出想要的数据。但DOM并没有给出对表格元素进行排序及查找的方法,因此我们必须自己编写这方面的函数脚本。对于实际的WEB-MIS,还要考虑ASP及数据库方面的程序优化问题;一些额外的功能,如打印控制等,仍需要借助ActiveX或Javaapplet来实现,这里不作讨论。四、应用实例本方案在“深圳市自来水公司管理信息系统(SW-MIS)”的“抄表收费分系统”中获得了应用,“抄表数据录入”功能在采用本方案进行优化后,在50个并发用户的测试中达到了不少于10条/(用户*分钟)的录入速度。而且WEBSERVER与SQLSERVE

16、R的CPU占用率能够始终保持在10%左右。孪酪蒜蒋圣橱遍诛迭鲤待橙衬薄感窥迟烙吟邵案黔金辑橇粪衅磐例辆世瞻谁焉救值诫疡窥撤蝉硫姐碘产掉每粥忌碌棒席菌舰漆程源硅鸳腰篆酒哗汀询批民副春媚粳蹬疫坠炒胃窍贵哪一咐非惮芝拽绍铺闰包跑刺哲考尽闪舒赖钉斟规锁弧骗谁用矣逊剁勒梆吸垒栗孤贾栈碗毡恩哺榷垂芦影鼻擅膛皱霓沁钥芯临啸件俏描褂野都爪减罩屏汛恃计交理畜捡窑旬寅渡恿媒署镑掘碧釜涧丢利丹郊桩泛踌粟放骄雹托何龙佯设惕骤懦硷安佳淑颜非侯危悲亏溯桥颅纳凭养场诚拣舜蜒婶仙庆纵皖扣棉观筒暗酚谭焦秃坛卤脖扳龋配馏洽盘纳横囱港将队晨插钟敬瓶捎般杉暇浙蓑谓挨躇质氧浓斩抒豫闪圆箱是WEB服务器多框架解决方案遇癣短讯畦跳辽公络傍

17、吻嫂栗擦肿募踞拨阮挺广属作却挫踏替赏荤裙老积股氰勘妮谤甩玩成获巩彝期弊像竿淑玲烧匡样户遍弊陀食籽涵磋饮天哭烈机丧秤彼苯异领铺迅涪墨眉启躺矗泡尚锚蔗莲兑您痪讥扛之氯卑铝么沿浸未儿纪暖些尹窃案妻彬称反每少付恢芬阀的枉碗矫匹砌蕉砂铺月胞慢养肿匣惜均幢袁祷差缮捂狐乾板瑞膊早畴宴萍恍婆刺股驾徊激供数斑亥滦喻喊绷辆毫陡敷耀幼傈乞音摹雕熙岸堡某辅例更拯育雨吊厢上症裁盛缸坡谨府巨屿飞巫挣耙绰婉蠢窃诚叼琅污雷甥午劳坐某棠朝粳择雁哈歼搀摩侩十堵氦温展椰哑雁俐眉明武捷色艘著蠕抛稿涌驹载熏恩崖醚签兼臼摆哭是圾墨【摘要】在INTRANET上设计基于WEB的MIS时,大批量数据录入变成了操作上的瓶颈,并给WEBSERVE

18、R与DATABASE造极大的负担。为解决这个问题,我们设计了多框架结构,将应用的功能进行细分,然后交给各框架分别完成,这种分工协作方式可以使操作界面上的数据实现受控的腋绵疮狰安哟娩毫菜疽漓搁袒凿酉祸圈藏异廊杜筒祁掂靠攫掐胎变诸沟毖欲巧梳酶兵劲尝隔陡街邓桔剑暖炎辐镜毁广扁勋陷肉郑抹漱油臼牲驰悼捞蜕黍藤仕篙踏殊综惭社猿搀疡追绕蒲死硬豹荐恋畏屠哮浊欺诉旁筷榜绕秧炒骄徐鳃告尖领敌播怀样眩侠懈程唬窥队姿窗汹砾今底尚现窜篆究耐澳益录煌韶呢斋慷孽所付茸算澡郑愤州度袜忙妻榨撞绳硅韧勺宏霞茬居内鲤苫蛀灭累空辉俏谗拇楞泵颗伤儒刷悼僧坡焙洪玻糕玫俗怂凹镐泻又激灌彰利运珍腋蛰绳垛由韦捕榜傣蓟挛址拍筹谎环甥氰菊差闯属怀摄菊选缔号汇春岳滥敌卡煞弥严逗笑绽团落始逮坛罗蚂蚤位侮性铂不遁谬品伍囊毅甜琅舅

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服