通过推技术实现Web页面进行ADSL测试的方法

文档序号:7953872阅读:194来源:国知局
专利名称:通过推技术实现Web页面进行ADSL测试的方法
技术领域
本发明涉及一种通过推技术实现Web页面进行ADSL测试的方法,尤其涉及一种通过此方法配合的测试硬件可使用Web浏览器进行ADSL测试,属于通信技术领域。
背景技术
随着不对称数字用户线(ADSL)系统容量迅速扩大,业务量急剧猛增,在ADSL新设备安装、原有设备维护中,线路测试问题日渐突出。近两年以来,各个测试厂家逐渐把研发重点放到了ADSL测试设备上,各种各样的ADSL测试设备和测试方案也开始出现在电信市场上,横向比较各个厂家的硬件测试设备,在所能提供的单项测试功能上大同小异,在测试性能和精度上可能各有千秋。这样,如何在单项硬件测试的基础上建立一套完整的、丰富的、综合的ADSL测试专家分析系统成为近期市场上的热点。
文中所述的ADSL测试系统的架构如图1所示,其中,窄带交换机和宽带DSLAM设备,网管服务器都由其他设备生产厂商提供,部署在电信局方现场。而ADSL测试系统作为外接设备,连接到上述各服务器,并负责宽窄带线路的测试功能。
该测试系统包括1.测试硬件,通过测试总线和宽窄带交换机连接在一起,提供了最基本的宽窄带测试功能;2.ADSL测试服务器,作为测试分析服务器,对上接受客户端的测试请求,对下连接测试硬件。ADSL测试服务器会根据故障的不同状况向测试硬件发起不同的单项测试,根据各单项测试的结果进行综合分析判障,并把综合分析结果返回给客户端,而在测试过程中,也会实时发送大量的单项测试结果。3.Web服务器,这里的客户端系统依托于“浏览器/服务器”架构而开发,其设计的基本思想是在服务端位置部署一个Web服务器,系统所有的业务逻辑全部在Web服务器端实现,而客户端只需使用普通的浏览器(比如IE,Netscape等)即可。这样做的优点相当明显,就是客户机上只要装有IE(Windows系统自带)或其他浏览器就可以进行业务操作而不需要安装任何其他软件;而且以后系统更新时也只要更新服务端的Web服务器即可。这种架构部署简单,维护方便,特别适合于客户端部署点多面广的情况。由于现阶段电信局方的ADSL线路的基本维护由各端局的基层线路维护人员完成,这样就要求我们把测试客户端部署到各个端局的前置机上,而一个本地网的端局数量非常之多,如北京网通,一个本地网有一百多个端局,对于一个目前还不是非常成熟,测试手段还需进一步在现场试用和摸索的测试软件来说,频繁的改进和更新是必须的。所以这样的客户端系统的架构非常适合于电信企业的需求和实际的现场情况。4.前台浏览器,可以是任何标准的Web浏览器,比如IE和Netscape,任何操作系统只要安装了浏览器就可以使用本文所述的ADSL测试系统。
客户端浏览器和Web服务器使用一种短连接的交互方式。在此方式下,Web浏览器和服务器之间在没有请求处理时并不保持网络的连接,只有在客户端递交请求页面时才会连接Web服务器。而浏览器发起请求后的一般处理流程如下客户端浏览器进行页面递交即发起请求->Web服务器获取递交的页面,处理客户请求->服务端处理完请求,生成新的结果页面->客户端浏览器获取结果页面并刷新页面。也就是说,如采用普通的方式处理,则一次客户请求只能生成一个结果页面,必须在请求处理完成后才能显示,且请求处理过程中也无法和服务端就当前请求进行其他交互操作。而对于我们的ADSL测试来说,一次综合的分析测试由于会按需进行多次不同的单项测试并分析结果,所以最长可能会需要三分半钟才能完成测试,在测试过程中也能够获取多个单项的中间测试结果。如果采用普通方式来开发Web客户端,客户端发起测试后就会有几分钟看不到任何测试信息的回馈,而且也无法在测试中进行其他交互操作,比如被测线路忙线中,客户端需要实时通知服务端强拆线路或者放弃测试。这些缺陷成为开发Web浏览器方式的ADSL测试客户端的瓶颈。要克服这些缺陷,我们必须解决设计中的两大难题1.解决Web服务器在处理客户请求时,能够通过其他渠道向客户端推出测试的中间结果的难题。
2.解决Web服务器在处理客户请求时,能够同时和客户端对当前处理过程进行交互的难题。

发明内容
本发明的目的是提供一种通过推技术实现Web页面进行ADSL测试的方法,该方法在处理客户端请求时能够实现与客户端之间的交互操作,并控制客户端显示各种中间结果。
为实现以上目的,本发明的技术方案是提供一种通过推技术实现Web页面进行ADSL测试的方法,其特征在于,在Web服务器上以软件方式实现,软件是以C#语言编写,安装在Windows操作系统上,通过和IIS的配合,使用请求页面阻塞的方法维持客户端请求时的网络连接通道,使用推技术在获取中间结果时通过连接通道向客户端推出JavaScript脚本,以控制客户端浏览器显示结果页面.其方法为(1)首先,在客户端的浏览器中部署三个页面测试请求页面,测试交互页面和结果页面,测试请求页面负责递交测试请求,此页面为一个隐藏页面,测试交互页面传递测试中的交互请求,为隐藏页面,测试结果页面负责显示最终测试结果;(2)当Web服务器获取客户递交的请求页面后,Web服务器锁住请求页面不返回,同时向ADSL测试服务器发起测试请求,由于浏览器的页面请求在测试期间并没有返回,所以此时Web服务器和客户浏览器之间的网络连接通道将一直保持着;(3)然后Web服务器向ADSL测试服务器发起测试命令后,ADSL测试服务器开始进行测试流程的控制,在测试过程中,ADSL测试服务器会向Web服务器发送一些单项测试的结果和综合分析结果,测试完成后会发送测试结束标志,Web服务器在收到这些结果后找到原来被保持的网络连接通道,通过此通道向客户浏览器发送script脚本以控制客户端浏览器来显示结果页面,实现推技术的过程;(4)如果测试过程中需要交互,则客户端浏览器可从另一个交互页面发起请求,而Web服务器收到请求后可把请求转送给ADSL测试服务器,实现与客户端之间的交互操作;(5)Web服务器在收到ADSL测试服务器发送的测试结束标志后将会同时返回最初被锁住的客户请求,这样就释放了服务端和客户端的连接通道。
本发明提供的方式适用于“浏览器/服务端”架构下的需要长时间响应的请求处理情形,在此情形下,如果长时间的挂起请求而没有任何响应时会使界面操作者感到不耐烦,并且不能及时地看到当前请求处理的详情,而且也不能在请求处理中实现任何和服务端的交互,比如在测试进行到一半的时候想要停止测试,而如果这时使用本发明提供的方式则能够解决以上所有的问题,从而能够使用户得到更好的界面体验,也能够满足一些必须使用交互操作的情形。
本发明的优点是架构简单而清晰,只需投入少量的技术改造就能使用户得到更好的界面体验,并能更好的在ADSL测试中对测试流程进行微控。


图1为ADSL测试系统架构图;图2为ADSL测试控制交互图;图3为Web服务器软件流程图。
具体实施例方式
以下结合附图和实施例对本发明作进一步说明。
实施例在请求处理过程中,会关联到以下各层次和服务器。
1.客户端浏览器客户端浏览器可以是任何网络浏览器,比如IE或Netscape,浏览器负责显示客户操作界面,此界面是标准的HTML页面,并将客户端的请求页面递交给Web服务器;2.Web服务器Web服务器对下负责接受客户端的页面请求,生成标准的HTML结果页面并传送到客户端以供客户端浏览器显示。Web服务器可接受并发的客户端请求,即一个Web服务器可下挂多个客户浏览器,在该ADSL测试系统中,可以同时接受多个测试请求,并把请求处理对象维持在堆栈中,以便将结果推送到客户端。Web服务器和客户端浏览器通过HTTP协议产生交互。HTTP协议全称超文本传输协议,是一种标准协议,被广泛应用于Web服务器和Web浏览器之间的通信。Web服务器对上连接ADSL测试服务器,将客户端的测试请求转发给ADSL测试服务器处理,并负责接受ADSL测试服务器回送的测试结果,由此生成结果页面以推送给客户端;
3.ADSL测试服务器测试服务器连接并控制测试硬件,负责实际的测试流程控制和综合结果的分析,ADSL测试服务器和Web服务器通过SOCKET连接,两者使用内部协议产生交互。
我们对系统所涉及的参数进行阐述Web服务器收到测试请求时会调用Page_Load()函数,在此函数中对请求进行处理,此函数退出时请求处理即告结束,结果页面将由IIS负责传递给客户端浏览器以供其显示。
Web服务器收到测试请求时会得到一个Page对象,此对象包含了网络连接和Http处理等相关信息,由系统自动生成。Page_Load()函数返回之后此对象即失效。
为了实现阻塞方法,在Page_Load()入口处生成一个系统信号量对象signal。
下面详细说明具体实现方法1.如图2所示,为ADSL测试控制交互图,首先,在客户端的浏览器中部署三个页面测试请求页面,测试交互页面和结果页面,测试请求页面负责递交测试请求,此页面可以是一个隐藏页面,测试交互页面传递测试中的交互请求,可以是隐藏页面,测试结果页面负责显示最终测试结果,将请求页面和结果页面分开是因为Web请求的处理方式是一次递交一次返回的方式,如果结果页面和请求页面相同的话则不能在测试请求处理过程中实时显示多个测试的中间结果了,这是实现推技术的一个关键步骤;2.当Web服务器收到测试请求时不能立即返回结果页面,而应该对此进行阻塞。要阻塞请求处理的话只要阻塞请求处理函数Page_Load()即可,即在Page_Load()函数中挂住线程不退出即可。我们可以使用操作系统的信号量来实现阻塞方法,即在Page_Load()退出前调用signal.wait()方法,这样函数就会阻塞,我们将在测试结束后调用sinal.notify()方法来通知阻塞结束,函数退出;3.如图3所示,为Web服务器软件流程图,由于Web服务器需要并行处理多个客户端浏览器的测试请求,则Web服务器必须保持两个集合,设集合A_Pages保存当前正在处理的所有测试请求页面对象,集合为哈希表的形式,主键是测试的唯一索引号。设集合A_Signals保存当前正在处理的所有信号量对象,集合为哈希表的形式,主键是测试的唯一索引号。Page_Load()方法的大致处理过程如下生成测试索引号,索引号可以是一个全局唯一递增的整数;生成signal对象,将page对象和signal对象保存到对应的集合中;发送测试命令给ADSL测试服务器,测试命令中包含测试索引号;调用signal.wait()方法,阻塞当前线程;4.测试启动后,ADSL测试服务器会多次发送单项的测试结果和综合分析结果给Web服务器。Web服务器在收到各项结果后先根据测试的索引号查询集合A_Pages,获取此测试相关的请求页面对象page。接着分析结果,并通过page对象将结果推送给客户端浏览器,由客户端浏览器显示结果。由于page对象保存着网络连接,所以此方法可行。必须注意,推送给客户端的必须符合Http协议的格式,而且此时连接对应的客户端页面只是隐藏的请求页面,要把结果推送到结果页面中则必须使用JavaScript脚本,利用浏览器能够实时执行JavaScript脚本的特性把脚本推送给客户端,以控制客户端对结果页面进行显示。比如我们在结果页面中写了一个显示结果的JavaScript函数showResult(),又假设结果页面和请求页面又在同一个主页面下,则我们只需推送脚本<scriptlanguage=″javascript″>parent.frame[“result”].showResult(参数1,数2......)</script>即可,客户端浏览器就会执行此脚本,就会调用到结果页面的showResult方法,则会根据不同的参数显示不同的结果。如此,我们就实现了推技术过程;5.如测试过程中需要交互,则通过交互页面递交请求。Web服务器在获取交互页面递交的请求后直接将传入的测试索引号和交互命令转发给ADSL测试服务器,由其进行处理;6.ADSL测试服务器在测试结束时会发送结束消息给Web服务器,此时Web服务器将根据测试索引号索引集合A_signals,获取到测试相关的signal对象,并且调用signal.notify()方法,则最初请求的入口函数Page_Load()将会退出,请求处理完毕。此时还需清除集合A_signals和集合A_pages中和本测试相关的对象。
权利要求
1.一种通过推技术实现Web页面进行ADSL测试的方法,其特征在于,在Web服务器上以软件方式实现,软件是以C#语言编写,安装在Windows操作系统上,通过和IIS的配合,使用请求页面阻塞的方法维持客户端请求时的网络连接通道,使用推技术在获取中间结果时通过连接通道向客户端推出JavaScript脚本,以控制客户端浏览器显示结果页面.其方法为(1)首先,在客户端的浏览器中部署三个页面测试请求页面,测试交互页面和结果页面,测试请求页面负责递交测试请求,此页面为一个隐藏页面,测试交互页面传递测试中的交互请求,为隐藏页面,测试结果页面负责显示最终测试结果;(2)当Web服务器获取客户递交的请求页面后,Web服务器锁住请求页面不返回,同时向ADSL测试服务器发起测试请求,由于浏览器的页面请求在测试期间并没有返回,所以此时Web服务器和客户浏览器之间的网络连接通道将一直保持着;(3)然后Web服务器向ADSL测试服务器发起测试命令后,ADSL测试服务器开始进行测试流程的控制,在测试过程中,ADSL测试服务器会向Web服务器发送一些单项测试的结果和综合分析结果,测试完成后会发送测试结束标志,Web服务器在收到这些结果后找到原来被保持的网络连接通道,通过此通道向客户浏览器发送script脚本以控制客户端浏览器来显示结果页面,实现推技术的过程;(4)如果测试过程中需要交互,则客户端浏览器可从另一个交互页面发起请求,而Web服务器收到请求后可把请求转送给ADSL测试服务器,实现与客户端之间的交互操作;(5)Web服务器在收到ADSL测试服务器发送的测试结束标志后将会同时返回最初被锁住的客户请求,这样就释放了服务端和客户端的连接通道。
全文摘要
本发明涉及一种通过推技术实现Web页面进行ADSL测试的方法,其特征在于,在Web服务器上以软件方式实现,软件是以C#语言编写,安装在Windows操作系统上,通过和IIS的配合,使用请求页面阻塞的方法维持客户端请求时的网络连接通道,使用推技术在获取中间结果时通过连接通道向客户端推出JavaScript脚本,以控制客户端浏览器显示结果页面,本发明的优点是解决了客户端/浏览器架构中的长时间请求处理过程中的结果实时显示和交互问题,使得ADSL测试系统的客户端软件维护简单,部署简单,也节省了成本。
文档编号H04L12/26GK101056212SQ200610025549
公开日2007年10月17日 申请日期2006年4月10日 优先权日2006年4月10日
发明者马轶群 申请人:上海欣泰通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1