CN101163024A - 对多个网络服务器并行操作的方法和装置 - Google Patents
对多个网络服务器并行操作的方法和装置 Download PDFInfo
- Publication number
- CN101163024A CN101163024A CNA2006101318197A CN200610131819A CN101163024A CN 101163024 A CN101163024 A CN 101163024A CN A2006101318197 A CNA2006101318197 A CN A2006101318197A CN 200610131819 A CN200610131819 A CN 200610131819A CN 101163024 A CN101163024 A CN 101163024A
- Authority
- CN
- China
- Prior art keywords
- software product
- webservers
- network software
- network
- product example
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种对部署在多个网络服务器上的网络软件产品的并行操作的方法和装置,包括步骤:对所述多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;根据所述操作生成对所述一个网络服务器上的该网络软件产品实例的第一请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求;发送所述第一请求给所述一个网络服务器上的该网络软件产品实例,并发送所述等价请求给所述其他网络服务器上的该网络软件产品实例;以及接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
Description
技术领域
本发明涉及网络软件产品操作领域,更具体地涉及一种对部署在多个网络服务器上的网络软件产品并行操作的方法和装置。
背景技术
网络软件产品是指那些部署在网络服务器上的、用户从一般客户端为普通网络浏览器或客户端请求软件通过网络例如互联网或内联网访问以完成某种功能的应用。网络软件产品日益普及,目前已广泛地应用于网络邮件(webmail)、在线零售、在线拍卖、维客(wiki)、博客(weblog)、互联网论坛、在线游戏、企业内容管理、以及应用服务提供(ASP)等领域。例如IBM的IBM Records Manager,就是一种安装在web服务器上的电子记录管理应用。
随着网络软件产品需求量与应用领域的不断扩大,对网络软件产品的正确性、有效性和性能都提出了越来越高的要求,对网络软件产品进行有效的***的测试也成为人们研究的重要课题。
网络软件产品采用B/S(浏览器/服务器)结构及C/S(客户机/服务器)。在这种结构下,用户界面可以通过web浏览器或客户端软件访问服务器中的应用,B/S结构中一部分事务逻辑可以在浏览器端实现,两种结构的主要事务逻辑则都在服务器端通过调用数据库管理***实现。
与此相应,网络软件产品的测试一般包括功能测试、性能测试、可用性测试、客户端兼容性测试、安全性测试等方面。在所有上述测试中,都需要在客户端进行操作,向安装在网络服务器上的软件产品发送请求,从网络服务器获得响应,并对之进行评估。
由于网络软件产品当成商业产品时,通常需要支持不同的操作***、数据库***、网络应用服务器***等,因而这些因素组合起来,实际上对网络软件产品的支持运行环境的种类就有很多。而对网络软件产品进行测试的时候,一些功能就需要在多种甚至所有的环境下测试。
具体地说,由于测试资源有限,所以大多数实际的测试工作都只会测试一部分环境,而不是全部环境。但是当测试出现问题的时候,经常需要在所有的环境中都测试一下,以确定在所有的环境中,到底是哪些环境有问题,哪些环境没有问题。由于软件的执行顺序通常都有很多种排列组合的方式,在实际的测试工作中,一般都只会测试简单的几种。但当这几种出现问题的时候,就需要在多个环境里面,多实验几种执行顺序的组合,来确认出现的问题跟哪些因素相关:执行环境、执行顺序等等。此外,当对部署在网络服务器上的软件产品的网络界面进行测试的时候,需要同时测试多个环境上的界面是否一致。例如一个软件产品支持DB2、Oracle等多种数据库服务器,虽然安装在不同的数据库上时其界面是一致的,但是由于底层实现方法不同,例如在不同的数据库服务器上使用不同的存储过程来实现,有些问题可能会与某个数据库相关,所以需要测试所有的情况。
在这样的时候,就需要针对多个外观上相同或相似的网络服务器进行一系列相同或相似的操作,诸如登陆网络服务器、访问某些网页、点击某些链接或者按钮、填写某些网页上的表单、提交某些网页上的表单、查看操作的结果,等等。
类似地,除了大规模多服务器测试的情况,还有对大规模的服务器进行安装、维护时,安装、维护人员也经常做着重复、批量的工作。
由于需要对一系列相同或相似的网络服务器进行相同或相似的操作,并且需要判断操作的结果,所以这个过程完全或大部分是重复性的工作。如果人工执行,虽然其具有灵活的优点,却会耗费大量时间,而且由于人的生理限制,会导致人的疲劳,有较大可能引入人为的误差。而如果使用自动操作工具(例如自动测试工具,如Rational XDE Tester、RationalFunctional Tester、ROBOT等)来编写自动化操作脚本,在多个网络服务器上自动执行并检验执行结果,虽然其具有一次编写、可以多次重复批量运行的优点,却存在着如下一些缺点,诸如编写、维护脚本的成本很高,修改不方便,只能执行固定好的顺序,不能满足所有操作需求等。而且,当对多个站点同时运行自动操作脚本时,总是需要每个站点一台客户机,单独地进行每台客户机上的操作过程,从而占用大量资源和时间。
显然,本领域中需要一种能够对部署在多个网络服务器上的网络软件产品进行并行操作的方法和装置。
发明内容
本发明的目的在于提出一种可基于用户对一个网络服务器上的软件产品的操作而对部署在多个其他网络服务器上的同一个(或类似的)网络软件产品自动进行并行操作的方法和装置,以便克服现有技术中的上述缺点。
在本发明的一个方面,提供了一种对部署在多个网络服务器上的网络软件产品的并行操作的方法,该方法包括以下步骤:对所述多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;根据所述操作生成对所述一个网络服务器上的该网络软件产品实例的第一请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求;发送所述第一请求给所述一个网络服务器上的该网络软件产品实例,并发送所述等价请求给所述其他网络服务器上的该网络软件产品实例;以及接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
根据本发明的又一个方面,提供了一种网络软件产品测试方法,其中网络软件产品的多个实例分别部署在多个网络服务器上,该方法包括以下步骤:使用上述用于网络软件产品测试的并行网络操作方法进行测试操作。
根据本发明的再一个方面,提供了一种对部署在多个网络服务器上的网络软件产品的并行网络操作装置,该装置包括:接口模块,通过该接口模块对所述多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;生成模块,用于根据所述操作生成对所述一个网络服务器上的该网络软件产品实例的第一请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求;发送模块,用于发送所述第一请求给所述一个网络服务器上的该网络软件产品实例,并发送所述等价请求给所述其他网络服务器上的该网络软件产品实例;以及接收模块,用于接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
根据本发明的另外一个方面,提供了一种网络软件产品测试***,其中网络软件产品的多个实例分别部署在多个网络服务器上,该***包括:上述任何一个用于网络软件产品测试的并行网络操作装置。
本发明还可体现为一种计算机程序产品,包括计算机可读的记录介质,所述记录介质上存储有计算机可读的代码,所述代码包括用于实现上述用于对部署在多个网络服务器上的网络软件产品的并行网络操作的方法的各步骤的、计算机可执行的指令。
本发明包括如下优点:效率高,一次得到多个操作响应结果;不需要准备工作,特别适合对大规模服务器做相同的操作任务,例如测试、安装、维护等操作,或者执行简单试验性质的操作;操作灵活,用户可以根据返回的结果自己作出判断;避免了重复性操作带来的人工误差;以及不需要编写自动操作脚本等等。
附图说明
所附权利要求中阐述了被认为是本发明的特点的新颖特征。但是,通过在结合附图阅读时参照下面对说明性实施例的详细说明将最好地理解发明本身以及其优选使用模式、另外的目标以及优点,其中:
图1示出了现有技术中的网络软件产品的操作***的结构示意图;
图2示出了根据本发明的一个实施例的对部署在多个网络服务器上的网络软件产品的并行网络操作的***的结构示意图;
图3示出了根据本发明的另一个实施例的对部署在多个网络服务器上的网络软件产品的并行网络操作的***的结构示意图;
图4示出了根据本发明的一个实施例的、可包含在图2所示的对部署在多个网络服务器上的网络软件产品的并行网络操作的装置的示意性框图;
图5示出了根据本发明的另一个实施例的、可包含在图3所示的对部署在多个网络服务器上的网络软件产品的并行网络操作的装置的示意性框图;
图6示出了根据本发明的再一个实施例的、可包含在图2所示的对部署在多个网络服务器上的网络软件产品的并行网络操作的装置的示意性框图;
图7示出了根据本发明的一个实施例的用于对部署在多个网络服务器上的网络软件产品的并行网络操作的方法的示意性流程图;以及
图8示出了根据本发明的另一个实施例的用于对部署在多个网络服务器上的网络软件产品的并行网络操作的方法的示意性流程图。
具体实施方式
下文中描述了根据本发明的实施例的对部署在多个网络服务器上的网络软件产品的并行网络操作方法和装置、以及网络软件产品并行测试的方法和***。在下文中的描述中,为了说明的目的,提出大量具体和特定的细节以便使本领域的技术人员能够充分理解本发明。然而,显然,可实施本发明而没有这些细节。在另外的情况中,以框图的形式示出了公知的结构和装置,或者将这些装置省略,以避免不必要地遮掩本发明的实质内容。
根据本发明的方法,用户在前台在某一个网络服务器上进行操作,后台自动把用户对这个网络服务器的请求转发给其他多个内容相同的网络服务器,并从这些服务器上获取服务器的响应。把从其他服务器得到的响应,分别与从前台用户正在访问的服务器得到的响应进行比较,并把比较的结果提供给用户。用户根据这些比较结果,就可以得知其他网络服务器的响应和用户正在访问的网络服务器响应是否一致。这样用户对一个网络服务器进行了一次操作,也同时得知了后台所访问的其他网络服务器的响应是否与当前网络服务器的响应一致。
下面参照附图描述本发明的优选实施例及其与现有技术的对比。
图1示出了现有技术中的网络软件产品的操作***的结构示意图。如图所示,在该***中,需要操作的web软件产品的多个实例分别被部署在多个不同的网络服务器1、2、...N上,并同时使用多个客户机如客户机1、2、...N进操作。这种操作包括测试、安装、维护等。客户机通过TCP/IP协议访问时,网络服务器为Web服务器;客户机通过SMTP协议访问时,网络服务器为邮件服务器;客户机通过FTP协议访问时,网络服务器为FTP服务器;等等。在操作时,需要在N个客户机上分别针对该N个网络服务器上的网络软件产品实例进行操作,分别向该N个网络服务器上的网络软件产品实例发送请求1、2、...N,所述请求经由内联网或互联网根据其本身所包含的地址信息被传送到相应的网络服务器。每个网络服务器接收到网络请求后,由网络服务器上的该网络软件产品实例处理该网络请求,并返回所请求的内容作为响应,例如Web响应内容包括HTML格式的文本、图像等。来自该N个网络服务器的响应1、2、...N经由该内联网或互联网被传送到相应的请求客户机,由客户机呈现在其图形用户界面上,以供用户查看。作为另一种选择,也可以在单个客户机而不是多个客户机上进行操作,这时需要在不同时间针对该N个网络服务器上的网络软件产品实例分别进行操作,分别向它们发送请求并从其接收响应。上述这种重复性的操作,浪费了资源和时间,提高了操作的成本;并且在手动执行时,还可能引入错误,而在通过自动操作脚本自动执行时,一方面编写和维护操作脚本很困难,另一方这种脚本也不会适用于所有情况。
图2示出了根据本发明的一个实施例的对部署在多个网络服务器上的网络软件产品的并行网络操作的***的结构示意图。如图所示,在该并行网络操作的***的结构示意图中,需要操作的网络软件产品的多个实例分别被部署在多个不同的网络服务器1、2、...N上,并仅使用单个客户机进行操作。与现有技术一样,这种操作包括测试、安装、维护等。客户机通过TCP/IP协议访问时,网络服务器为Web服务器;客户机通过SMTP协议访问时,网络服务器为邮件服务器;客户机通过FTP协议访问时,网络服务器为FTP服务器;等等。用户在该客户机上针对部署在其中一个网络服务器1上的该网络软件产品实例进行操作。客户机浏览器或客户端请求装置在将该操作所产生的网络请求1发送给网络服务器1上的该网络软件产品实例的同时,还自动将与该请求1等价的请求2、...N发送给其他网络服务器2、...N中任意多个之上的该网络软件产品实例。所述请求1、2、...N经由内联网或互联网被传送到相应的网络服务器1、2、...N。每个网络服务器1、2、...N上的该网络软件产品实例处理各自的请求,并返回所请求的响应内容,例如Web请求的响应内容包括HTML格式的文本、图像等。来自该N个网络服务器的响应1、2、...N经由该内联网或互联网被传送到该客户机,由客户端浏览器或者客户端请求装置将来自其所操作的网络服务器1的响应内容呈现在其图形用户界面上,并同时将来自其他网络服务器2、...N的响应内容或者各响应内容与来自网络服务器1的响应内容的比较结果呈现在其图形用户界面上,以供用户查看。
图3示出了根据本发明的另一个实施例的对部署在多个网络服务器上的网络软件产品的并行网络操作的***的结构示意图。如图所示,在该并行网络操作的***的结构示意图中,需要操作的网络软件产品的多个实例被部署在多个不同的网络服务器1、2、...N上,并仅使用单个客户机进行操作。在所述客户机和服务器之间设置有代理服务器。和图2所示的***结构类似,只是客户机对所有网络服务器1、2、...、N的相同请求和响应都需要通过代理服务器,代理服务器可以是真实的服务器,也可以是一种虚拟的代理服务器,嵌入到客户机中,或者嵌入到某一个网络服务器中,以该网络服务器为代理。则根据本发明的网络软件产品的并行网络操作装置既可以包含在用户在其上进行操作的客户机之中,也可以包含在设置在客户机和网络服务器之间的代理服务器之中,甚至可以包含在某一个访问的网络服务器中。
图4示出了根据本发明的一个实施例的、可包含在图2所示的对部署在多个网络服务器上的网络软件产品的并行网络操作的装置400的示意性框图,以下对装置400简称为并行网络操作装置。该并行网络操作装置400可在图2所示的客户计算机***中实现。具体地,该并行网络操作装置400可通过在客户计算机***中运行的web浏览器或者客户端软件装置实现,即该并行网络操作装置400的各模块被集成在浏览器或者客户端请求模块中,也可以通过修改浏览器中的现有模块或者通过修改客户端请求模块而实现。
该并行网络操作装置400可用于向部署在多个网络服务器上的同一个网络软件产品的实例发出并行的操作请求,以并行地对部署在多个网络服务器上的该网络软件产品的实例进行操作。优选地,所述多个网络服务器为所述网络软件产品提供了不同的运行环境,例如不同的网络应用服务器***、不同的数据库管理***、不同的操作***、或者不同的硬件平台等。
如图所示,该并行网络操作装置400包括:接口模块401,通过该接口模块对所述多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;生成模块402,用于将由该操作生成的对该一个网络服务器上的该网络软件产品实例的请求生成为对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的等价请求;发送模块403,用于发送该网络请求给所述一个网络服务器上的该网络软件产品实例,并转发所述等价请求给所述其他网络服务器上的该网络软件产品实例;以及接收模块404,用于接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。优选地,该并行网络操作装置400还包括呈现模块407,用于呈现来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。优选地,该并行网络操作装置400还包括比较模块409,其用于比较来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述多个网络服务器上的该网络软件产品实例的响应,并将所述比较的结果提供给所述呈现模块409,而所述接口模块409还被配置为提供所述比较的结果,例如多个响应是否一致等详细信息。图4中比较模块409位于呈现模块407之中,在另外的实施方式中,比较模块409也可以作为一个单独的模块,和呈现模块407、接收模块404相连,完成相同的功能。
优选地,该并行网络操作装置400用于手动操作,在这种情况下,所述接口模块401为用户接口模块,用户通过所述用户接口模块对由该用户接口模块所显示的部署在一个网络服务器上的该网络软件产品实例进行手动网络操作,以进行手动测试、安装、维护等。作为另一种选择,该并行网络操作装置400也可用于自动操作,并且在这种情况下,自动操作工具将与本发明的并行网络操作装置400紧密集成,并通过自动操作脚本经由所述接口模块401进行自动的网络操作。
用户或自动操作工具通过该接口模块401对该网络服务器上的该网络软件产品实例的进行操作,例如为登录网络服务器、访问某些网页、点击某些链接或按钮、填写并提交某些网页上的表单等。这种操作被客户端Web浏览器或客户端请求装置(例如通过一未示出的翻译模块)转换为对所述网络服务器上的该网络软件产品实例的请求,所述请求被传送到生成模块402。生成模块402根据所接收到的对所述网络服务器上的该网络软件产品实例的请求生成对一个或多个其他网络服务器上的该网络软件产品实例的等价请求,并将所述初始请求以及所生成的一个或多个等价的请求传送给发送模块403。然后,发送模块403将所述初始请求以及所生成的等价的请求分别通过网络发送给所述初始网络服务器以及所述一个或多个其他网络服务器上的该网络软件产品实例。或者,所述初始请求也可以在被提供给所述生成模块402的同时,也被提供给发送模块403,并在生成模块402根据该初始请求生成所述等价的请求并将其提供给发送模块403之后,由发送模块403将所述初始请求和所述等价的请求一起通过网络分别发送给所述初始网络服务器和所述其他网络服务器。
在上述实现中,生成模块402和所述发送模块403是分开的模块,且所述发送模块403可以是web浏览器或客户端请求装置中的现有的发送模块。在另一种实现中,所述生成模块402可被集成到发送模块403之中而构成其一部分,且所述发送模块是专用于本发明的发送模块,这或者可通过修改现有的浏览器或客户端请求装置中的发送模块、或者可通过重新创建新的发送模块来完成。
如本领域中的技术人员可理解的,根据所述对初始网络服务器上的网络软件产品实例的初始请求生成多个等价的对其他网络服务器上的该网络软件产品实例的请求可通过修改所述初始请求中的URL或IP地址等方法容易地完成。
所述初始请求以及各等价请求经由该网络浏览器或客户端请求装置所在的客户计算机***的通信接口、通信链路、以及内联网或互联网等被传送到相应的网络服务器上的该网络软件产品实例。各网络服务器上的该网络软件产品实例处理相应的请求,从而生成包含诸如HTML文本、图像等内容的网络响应,并将所述响应通过内联网或互联网、通信链路、通信接口等传送回该网络浏览器或客户端请求装置。网络浏览器或客户端请求装置中的接收模块404接收来自各网络服务器上的该网络软件产品实例的网络响应,并将所述网络响应提供给接口模块401,以便提供给用户或作其他处理。在本发明的一个实施例中,来自在所述网络浏览器或客户端请求装置上针对其进行操作的所述初始网络服务器上的该网络软件产品实例的网络响应以及来自所述其他多个网络服务器上的该网络软件产品实例的各网络响应被一起提供给接口模块401,并由接口模块401显示给用户,以便由用户判断所述各网络服务器上的该网络软件产品实例对所述操作的响应,从而获得该网络软件产品在各不同网络服务器执行环境中的功能、性能、可用性、安全性等。在本发明的另一个实施例中,来自在浏览器或客户端请求装置上针对其进行操作的所述初始网络服务器上的该网络软件产品实例的网络响应被提供(例如,直接提供或通过呈现模块提供)给接口模块401,并由接口模块401显示给用户,而来自所述初始网络服务器上的该网络软件产品实例的网络响应与来自所述其他多个网络服务器上的该网络软件产品实例的各网络响应被一起提供给比较模块407。所述比较模块407比较来自所述初始网络服务器上的该网络软件产品实例的网络响应与来自所述其他多个网络服务器上的该网络软件产品实例的各网络响应,得到表明它们之间的相同点与不同点的比较结果,并将所述比较结果提供给接口模块401。接口模块401将所述比较结果显示给用户,以便由用户判断所述各其他网络服务器上的该网络软件产品实例对所述网络操作的响应与所述初始网络服务器上的该网络软件产品实例对所述网络操作的响应之间的异同,从而获得该网络软件产品在各不同网络服务器执行环境中的功能、性能、可用性、安全性等。
所述比较模块409既可以被配置为比较所述响应的数据,也可以被配置为比较由所述响应所生成的界面的外观显示,也可以被配置为比较所述响应数据以及外观显示两者。
在所述比较模块409被配置为比较由所述响应所生成的界面的外观显示的情况中,可以生成各个网络服务器上的该网络软件产品实例的显示界面(界面对于B/S程序和C/S程序来说更适用一些),并通过接口模块401在多个窗口中显示多个浏览器显示界面或由客户端请求装置显示多个结果的界面,来人工进行判断;或者,可以在生成各个网络服务器上的该网络软件产品实例的显示界面后,不是同时显示出所有的界面,而是由所述比较模块409对这些显示图像进行逐点比较相似程度,并将比较结果通过接口模块401提供给用户。
在所述比较模块409被配置为比较所述响应的数据的情况中,可以比较网络服务器上的该网络软件产品实例返回的所有数据文件的所有内容。可以由所述比较模块409自动过滤掉URL相关的区别。也可以考虑返回的时间顺序,但是一般情况下时间顺序只作为参考。
作为另一种选择,可以生成各个网络服务器的显示界面或由客户端请求装置显示的多个结果界面,然后由所述比较模块409来识别界面上的各种显示对象和控件(如按钮,输入框,文字,表单等等),以进行比较。在这种智能的比较方法中,可以人工设置一些映射关系来辅助比较模块409更好地映射多个界面,例如服务器A上某个路径下的某个界面上的某个表单,对应到服务器B上的某个表单。这种映射关系可以被定制、存储、载入、修改、删除等。这样,如果对一些固定的网络服务器进行很多比较操作,可以通过定制一些这样的映射关系,来方便地进行后续的大量比较操作。这种方法也进一步扩展了本发明的装置400的应用范围。对于很多不太相似或者完全不同的网络服务器,也可以通过本发明的装置400,对上面的一些相对比较固定位置的内容进行大量比较操作。例如,使用本发明的装置400来比较两个不同的网站上面的某支股票的信息。虽然网站格式可能完全不同,但是通过设置这个映射关系,使得本发明的装置400可以自动提取这两个网站上的代表相同含义的股票价格数据,就可以实现比较。如果再实现定时刷新、检测功能,可以用来监测大量具有对应关系的数据。如检测两个高可用性的对等网站(两个网站同时运行,一个是正式网站,另一个是备份。当正式网站出现问题时自动切换到备份网站进行运行),当两个网站某些关键信息不同时,可以采取相应行动。这也类似于“网站防篡改***”。
根据本发明的优选实施例,该并行网络操作装置400还包括配置模块405,该配置模块用于指定要对其上的该网络软件产品实例进行操作的所述一个网络服务器以及要将所述等价的请求转发给其上的该网络软件产品实例的所述其他网络服务器,即设置要当前操作的网络服务器地址和要在后台访问的网络服务器地址。
优选地,用户通过所述接口模块401来对该配置模块405进行设置操作。当然,用户也可以通过该配置模块405本身所带有的用户接口来对该配置模块405进行设置操作。
优选地,在执行对部署在多个网络服务器上的网络软件产品的并行网络操作之前,使用该配置模块405来设置要当前操作的网络服务器地址和要在后台访问的网络服务器地址;或者,也可在执行对部署在多个网络服务器上的网络软件产品的并行网络操作期间,使用该配置模块405来重新设置要当前操作的网络服务器地址和要在后台访问的网络服务器地址。该配置模块405可用来设置部署有要操作的网络软件产品实例的网络服务器的全部或任何部分,作为要在后台访问的网络服务器地址。如本领域的技术人员可知的,该配置模块405可通过诸如指定网络服务器的IP地址、指定网络服务器的URL等方式来指定要对其上的该网络软件产品实例进行操作的所述一个网络服务器以及要将所述等价的请求转发给其上的该网络软件产品实例的所述其他网络服务器。
在本发明的一实施例中,该配置模块405的设置结果被提供给所述转生成模块402,生成模块402根据所述设置结果中指定的要在后台访问的网络服务器地址,来基于所接收到的对当前操作的网络服务器上的网络软件产品实例的请求生成对所述要在后台访问的一个或多个其他网络服务器上的该网络软件产品实例的等价请求,并将所述初始请求以及所生成的一个或多个等价的请求传送给所述发送模块403,然后由发送模块403将其分别发送给所述当前操作的网络服务器以及所述多个指定的其他网络服务器上的该网络软件产品实例。
根据本发明的优选实施例,该并行网络操作装置400还包括切换模块406,该切换模块可用于切换到非同步模式,在所述非同步模式中,本发明的装置400将不自动地在后台生成所述与初始请求等价的请求并将其转发给所述其他网络服务器上的该网络软件产品实例,而是对于单个目标网络服务器进行单独的操作,如在普通网络浏览器中的操作一样。并且该切换模块406还可用于从所述非同步模式切换回到同步模式,即上文中描述的程序在后台发送并行的等价请求的模式。
优选地,该切换模块还可用于将同步模块或非同步模式中当前操作的网络服务器切换为已由所述配置模块405设置好的多个网络服务器中的其他网络服务器。这样,就可以随时可以切换为显示从其他网络服务器返回的响应,并针对所述其他网络服务器进行操作。
尽管以上描述了由单个切换模块406完成在同步模式和非同步模式中相互切换、以及在同步模式或非同步模式中切换当前操作的网络服务器这两个功能,但如本领域的技术人员可以理解的,也可以由两个不同的切换模块分别完成所述两个功能。
优选地,用户通过所述接口模块401来对该切换模块406进行切换操作。当然,用户也可以通过该切换模块406本身所带有的用户接口来对该切换模块406进行切换操作。
当用户访问的多个网络服务器上的该网络软件产品实例的界面不同,或者需要输入的网址不同,或者需要填写的表单数据不同等等时候,可以将根据本发明的并行网络操作装置400切换到非同步模式,这样用户在前台输入的网络操作所产生的请求就不会转发到其他网络服务器。用户可以将前台操作的网络服务器切换到某一个其他网络服务器,输入特定的信息后,再切换到其他网络服务器继续输入。当所有网络服务器上的特定的信息都被输入后,用户可以再切换到同步模式,而继续同时对多个网络服务器进行相同的操作。
根据本发明的优选实施例,该并行网络操作装置400还包括日志记录模块408,该日志记录用于将用户对当前网络服务器上的该网络软件产品实例进行的操作记入日志,和/或将对各网络服务器上的该网络软件产品实例的请求和/或来自各网络服务器上的该网络软件产品实例的响应记入日志。
日志分为网络服务器访问日志和用户操作日志。网络服务器访问日志记录对各个网络服务器上的该网络软件产品实例的访问情况,和接收到的结果。可以调整记录的详细程度,最细可以把网络服务器上的该网络软件产品实例返回的每一个比特都记录下来。这样可以实现根据对这个日志的比较,进一步提供多个网络服务器上的该网络软件产品实例之间相似程度的说明。例如,如果两个网络服务器上的该网络软件产品实例,在相同的用户操作下,返回的结果显示出来是相同的,但是网页上面的某些隐藏字段返回的结果并不相同,就可以通过比较这个详细的日志来发现这个差别。这样可以扩大本发明的装置400的应用范围。而用户操作日志用来记录所有的用户操作,以供日后查阅。
应指出的是,上文中描述的根据本发明的实施例的并行网络操作装置400中的各模块仅是示例性和说明性的,而不是对本发明的限制。在根据本发明的用于对部署在多个网络服务器上的网络软件产品的并行网络操作装置的其他实施例中,可以有不同的模块,可以缺少上述的一些模块,或添加其他模块;上述的一些模块的功能可以被合并到单个功能中,或被分散到多个新的模块中;上述的模块之间的连接关系可能改变;并且各模块的名称可能改变。只要这些模块能够共同实现本发明的基本思想,即基于一网络操作请求自动生成并发送多个等价的网络操作请求给多个网络服务器上的相同的网络软件产品的实例,这些变化就都处于本发明的范围之内。例如,所述生成模块402可被并入一请求生成模块中,该请求生成模块用于根据用户的操作生成针对所述一个网络服务器上的该网络软件产品实例的请求,以及针对所述其他网络服务器上的该网络软件产品实例的等价的请求。
在本发明的一个实施例中,对于B/S结构,该用于对部署在多个网络服务器上的网络软件产品的并行网络操作装置400作为网络浏览器的插件(Plug-in)来实现,即该并行网络操作装置400的上述各模块作为插件被集成到现有的网络浏览器中,与现有的网络浏览器中的各模块的功能相结合,或对现有的网络浏览器中的各模块的功能进行修改,从而使该现有的网络浏览器能够在其原有功能之外,实现根据本发明的功能。由于这种实施例充分利用了现有的浏览器的例如浏览等功能,而无需重新建造新的浏览器,并利用现有的浏览器通常提供的插件接口来实现根据本发明的功能。当然,这并非是对本发明的限制。
在本发明的另一个实施例中,对于B/S结构,该并行网络操作装置400被实现为一个单独的网络浏览器。就是说,重新构建一种新的网络浏览器,该网络浏览器除具有普通网络浏览器的浏览等功能外,还具有本发明的上述各模块的功能。以这种方式,根据本发明的各功能可以与网络浏览器的传统功能紧密地集成在一起,并有利于更充分和更好地实现根据本发明的各功能。
在本发明的再一个实施例中,对于B/S结构,该并行网络操作装置400被实现为一个使用IE内核的网络浏览器。就是说,在IE网络浏览器内核之上,构建一种包括根据本发明的功能的新的网络浏览器。由于采用了现成IE网络浏览器内核,所以极大了便利了这种新的网络浏览器的构建,同时又由于将根据本发明的功能紧密地集成到该新的网络浏览器中,所以有利于更充分和更好地实现根据本发明的各功能。
在本发明的有一个实施例中,对于C/S结构,该并行网络操作装置400被实现为一个客户端请求程序的插件,或者直接和客户端请求程序结合。
作为另一种选择,图5示出了根据本发明的另一个实施例的、可包含在图3所示的用于对部署在多个网络服务器上的网络软件产品的并行网络操作装置500的示意性框图。以下简称装置500为并行网络操作装置500。在该实施例中,该并行网络操作装置500是通过代理服务器实现的,就是说,该并行网络操作装置500中的各模块主要存在于代理服务器中。
如图5所示,该并行网络操作装置500可在与图3所示的客户计算机***相连接的代理服务器中实现。具体地,该并行网络操作装置500优选地可通过在代理服务器中运行的软件来实现,就是说,当所述软件在代理服务器中执行时,所述软件与代理服务器的硬件模块一起形成该并行网络操作装置500的各模块。
该代理服务器530介于用户在其上进行网络操作的客户计算机***520与多个网络服务器之间。该并行网络操作装置500可以在代理服务器530中实现,该并行网络操作装置500的各个部件和图4中的并行网络操作装置400相同,其中相同标号表示相同的部件,不同之处在于实现的位置不同,一个可以在浏览器或客户端请求装置中实现,一个在代理服务器中实现。由于图4的实施方式中已经详细描述了并行网络操作装置的各个部件及其功能,在此不再赘述。
应指出的是,上文中描述的根据本发明的实施例的并行网络操作装置500中的各模块仅是示例性和说明性的,而不是对本发明的限制。在根据本发明的并行网络操作装置500的其他实施例中,可以有不同的模块,可以缺少上述的一些模块,或添加其他模块;上述的一些模块的功能可以被合并到单个功能中,或被分散到多个新的模块中;上述的模块之间的连接关系可能改变;并且各模块的名称可改变。只要这些模块能够共同实现本发明的基本思想,即由代理服务器基于来自于客计算机***的一网络操作请求自动生成并发送多个等价的网络操作请求给多个网络服务器上的相同的网络软件产品实例,则这些变化就都处于本发明的范围之内。例如,所述生成模块502可被并入一请求生成模块中,该请求生成模块用于根据用户的操作生成针对所述一个网络服务器上的该网络软件产品实例的请求,以及针对所述其他网络服务器上的该网络软件产品实例的等价的请求。
在本发明的一个实施例中,该并行网络操作装置500在代理服务器上的各模块可以多种方式例如以插件的形式被集成到现有的代理服务器中,与现有的代理服务器中的各模块的功能相结合,或对现有的代理服务器中的各模块的功能进行修改,从而使该现有的代理服务器能够在其原有功能之外,实现根据本发明的功能。由于这种实施例充分利用了现有的代理服务器的功能,而无需重新建造新的代理服务器,因此,这种实施例是优选的;或者也可被实现为一个单独的代理服务器。实际上,本领域技术人员应该知道:代理服务器只是代理的一种实现方式,也可以将代理装置嵌入到客户机***,甚至嵌入到某一个网络服务器,由该网络服务器充当代理服务器。当然,这并非是对本发明的限制。
图6示出了根据本发明的再一个实施例的、可包含在图2所示的并行网络操作装置的示意性框图。该并行网络操作装置600可在图2所示的客户计算机***中实现。该并行网络操作装置600可用于并行地对部署在多个网络服务器上的同一个网络软件产品的实例进行操作,以并行地对部署在多个网络服务器上的该网络软件产品实例进行操作。
如图所示,该并行网络操作装置600包括图4中的并行网络操作装置的部件:配置模块、切换模块、呈现模块、接口模块和日志记录模块。相同的标号表示相同的模块,并且个模块的功能完全相同。优选地,并行网络操作装置600的生成模块还用于针对所述多个网络服务器中需要操作的多个网络服务器中的每个网络服务器建立一个单独的浏览器进程或者客户端操作进程,对于B/S结构,是生成浏览器进程,对于采用C/S结构,是生成客户端操作进程,其中生成模块生成对所述一个网络服务器上的该网络软件产品实例的请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求是通过如下方式实现的:截获通过输入输出设备、针对所述需要操作的多个网络服务器中的一个网络服务器上的该网络软件产品实例进行的操作,将所述操作转换为对所述需要操作的多个网络服务器中的其他网络服务器上的该网络软件产品实例的虚拟操作,将所述操作提供给对应于所述一个网络服务器的网络浏览器进程或客户端操作进程,并且还将所述操作提供给对应于所述一个网络服务器的网络浏览器进程或客户端操作进程,并将所述虚拟操作提供给对应于所述其他网络服务器的网络浏览器进程或客户端操作进程以由所述网络浏览器进程或客户端操作进程处理从而获得网络输出。
优选地,由相应的所述网络浏览器进程或客户端操作进程分别处理所述操作和虚拟操作从而分别获得所述网络输出和虚拟网络输出包括由所述相应的网络浏览器进程或客户端操作进程根据所述操作和虚拟操作分别生成请求,并分别将所生成的请求由各自浏览器进程或客户端操作进程的发送模块(403-1,403-2,...403-N)发送给所述一个网络服务器上的该网络软件产品实例和所述其他网络服务器上的该网络软件产品实例;由所述相应的网络浏览器进程或客户端操作进程的接收模块(404-1,404-2,...404-N)分别接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应;以及由所述相应的网络浏览器进程或客户端操作进程根据所述响应分别生成所述网络输出和虚拟网络输出。
应指出的是,由于根据本发明的该实施例的并行网络操作装置600不仅可以用来操作该网络软件产品在网络服务器上的行为,而且可以操作该网络软件产品在客户端的行为,例如那些由诸如Javascipt的客户端脚本所执行的行为。
所述输入输出设备可包括一个或多个诸如键盘、鼠标、输入笔等任何输入设备以及一个或多个诸如显示器、打印机等任何输出设备。用户通过所述输入设备操作该并行网络操作装置,并通过所述输出设备接收来自部署在多个网络服务器上的该网络软件产品实例的响应结果,从而操作该网络软件产品。
所述多个网络浏览器进程或客户端操作进程既可以在根据本发明的实施例的该并行网络操作装置600开始运行时创建,也可以在如下文所述的指定需要操作的多个网络服务器之后创建,也可以在该并行网络操作装置600第一次接收到用户对当前操作的一个网络服务器上的该网络软件产品实例的请求时创建。优选地,所述各网络浏览器进程或客户端操作进程是由所述生成模块402通过调用同一网络浏览器程序创建的。所述各网络浏览器进程或客户端操作进程作为独立运行的网络浏览器或客户端操作程序,具有完整的网络浏览器或客户端操作程序的处理网络操作、发送请求和接收网络响应等功能及模块。在此省略对其内部构成及操作的描述。
在本发明的另一些实施例中,所述比较模块409可被配置为识别所述网络输出和所述虚拟网络输出的显示界面中的对象和控件,并基于所述各界面中的对象和控件之间的映射关系进行比较。在这种实施例中,生成模块402优选地还包括设置所述映射关系的模块,其中所述设置好的映射关系可以被定制、存储、载入、修改和删除。在本发明的其他实施例中,所述比较模块409不对所述网络输出和虚拟网络输出的显示界面进行比较,而是由呈现模块407将所述网络输出和虚拟网络输出的显示界面通过接口设备408提供到输入输出设备,由用户进行人工比较。
以上描述了根据本发明的实施例的网络软件产品对多个网络服务器的并行操作装置和***。应指出,所描述的实施例仅是本发明的***和装置的示例性实现,而不意味着本发明局限于这些具体实现。根据所述描述,本领域的技术人员可容易地想到本发明的***和装置的其他实施例。
应指出的是,上文中描述的根据本发明的实施例的并行网络操作装置600中的各模块仅是示例性和说明性的,而不是对本发明的限制。在根据本发明的并行网络操作装置600的其他实施例中,可以有不同的模块,可以缺少上述的一些模块,或添加其他模块;上述的一些模块的功能可以被合并到单个功能中,或被分散到多个新的模块中;上述的模块之间的连接关系可能改变;并且各模块的名称可改变。所有这些变化就都处于本发明的精神和范围之内。
此外,根据以上描述,本领域的技术人员可容易地得到本发明的网络软件产品测试方法以及对部署在多个网络服务器上的网络软件产品的并行操作的方法。图7示出了根据本发明的一个实施例的对部署在多个网络服务器上的网络软件产品的并行操作方法的流程。下面仅参照图7简要介绍根据本发明的实施例的用于对部署在多个网络服务器上的网络软件产品的并行操作方法的各步骤,各步骤中的具体细节可参照以上对根据本发明实现例的网络软件产品测试***以及并行网络操作装置400、500中各模块的操作的描述。
如图7所示,该对部署在多个网络服务器上的网络软件产品的并行操作的方法包括:
在步骤701,分别设置要对其上的网络软件产品实例进行操作的当前网络服务器以及要将等价的请求转发给其上的该网络软件产品实例的其他网络服务器;
在步骤702,在客户端针对部署在多个网络服务器中的所述当前网络服务器上的该网络软件产品实例进行操作;
在步骤703,将由该操作生成的对所述当前网络服务器上的该网络软件产品实例的请求转换为对所述其他网络服务器上的该网络软件产品实例的等价请求;
在步骤704,将对该网络软件产品实例的请求发送给所述当前网络服务器上的该网络软件产品实例,并自动将所述等价请求转发给所述其他网络服务器上的该网络软件产品实例;
在步骤705,接收来自所述当前网络服务器上的该网络软件产品实例的响应以及来自所述多个网络服务器上的该网络软件产品实例的响应;以及
在步骤706,提供来自所述当前网络服务器上的该网络软件产品实例的响应以及来自所述多个网络服务器上的该网络软件产品实例的响应。
优选地,该对部署在多个网络服务器上的网络软件产品的并行操作方法还包括比较来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述多个网络服务器上的该网络软件产品实例的响应的步骤,且所述提供步骤包括提供所述比较的结果。
优选地,该对部署在多个网络服务器上的网络软件产品的并行操作方法还包括切换到非同步模式的步骤,在所述非同步模式中,程序将不自动将所述等价请求转发给所述其他网络服务器上的该网络软件产品实例;以及还包括从所述非同步模式切换回的步骤。并且,优选地,该对部署在多个网络服务器上的网络软件产品的并行操作方法还包括在同步模式或非同步模式中将要对其上的该网络软件产品实例进行操作的所述当前网络服务器切换为所述多个网络服务器中的其他网络服务器的步骤。
优选地,该对部署在多个网络服务器上的网络软件产品的并行操作方法还包括将所述操作记入日志和/或将对各网络服务器上的该网络软件产品实例的所述请求和/或来自各网络服务器上的该网络软件产品实例的所述响应记入日志的步骤。
优选地,所述比较步骤包括比较所述响应的数据以及比较由所述响应所生成的界面的外观显示中的任何一个或两者。
优选地,所述多个网络服务器为所述网络软件产品提供了不同的运行环境。
优选地,所述操作由用户手动进行,且所述提供步骤包括将来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述多个网络服务器上的该网络软件产品实例的响应呈现给用户。
优选地,该方法通过网络浏览器的插件、单独的网络浏览器、使用IE内核的网络浏览器、客户端请求装置插件或和代理服务器中的任何一个实现。
图8示出了根据本发明的另一个实施例的对部署在多个网络服务器上的网络软件产品的并行操作方法的流程。下面仅参照图8简要介绍根据本发明的实施例的用于网络软件产品测试的并行网络操作方法的各步骤,各步骤中的具体细节可参照以上对根据本发明实现例的网络软件产品测试***以及并行网络操作装置600中各模块的操作的描述。
如图8所示,该对部署在多个网络服务器上的网络软件产品的并行操作方法包括:
在步骤801,在客户端针对需要操作的安装有待操作的网络软件产品实例的多个网络服务器中的每个网络服务器建立一个单独的网络浏览器进程或客户端操作进程,对应B/S结构,就是网络浏览器进程,对应C/S结构,就是客户端操作进程;
在步骤802,针对所述需要操作的多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;
在步骤803,截获所述操作,并将所述操作转换为对所述需要操作的多个网络服务器中的其他网络服务器上的该网络软件产品实例的虚拟操作;
在步骤804,将所述操作提供给对应于所述一个网络服务器的网络浏览器进程或客户端操作进程,并将所述虚拟操作提供给对应于所述其他网络服务器的网络浏览器进程或客户端操作进程;
在步骤805,由相应的网络浏览器进程或客户端操作进程分别处理所述操作和虚拟操作而分别获得网络输出和虚拟网络输出;以及
在步骤806,提供所述网络输出和所述虚拟网络输出。
优选地,所述由相应的网络浏览器进程或客户端操作进程分别处理所述操作和虚拟操作并分别生成所述网络输出和虚拟网络输出的步骤包括:由所述相应的网络浏览器进程或客户端操作进程分别根据所述操作和虚拟操作生成请求,并将所述请求分别发送给所述一个网络服务器和所述其他网络服务器上的该网络软件产品实例;由所述相应的网络浏览器进程或客户端操作进程接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应;以及由所述相应的网络浏览器进程或客户端操作进程根据所述响应分别生成所述网络输出和所述虚拟网络输出。
优选地,该对部署在多个网络服务器上的网络软件产品的并行操作方法还包括比较所述输出和所述虚拟输出且提供所述比较的结果的步骤,指定所述需要操作的多个网络服务器以及要对其上的该网络软件产品进行操作的所述一个网络服务器的步骤,切换到非同步模式的步骤,将要对其上的该网络软件产品实例进行操作的所述一个网络服务器切换为所述多个网络服务器中的其他网络服务器中的任何一个的步骤,将所述操作和虚拟操作记入日志和/或将所述相应的请求、来自所述各网络服务器上的该网络软件产品实例的所述响应、以及所述各网络浏览器进程的输出和虚拟输出中的任何一个或多个记入日志的步骤,设置用于比较的映射关系的步骤,对这些步骤的详细描述请参见上文中对根据本发明的实施例的并行网络操作装置600的描述。
优选地,所述操作由用户手动进行,且所述提供步骤包括将所述网络输出和所述虚拟网络输出或两者的比较结果呈现给用户。
优选地,所述浏览器进程是通过调用同一个普通的网络浏览器程序建立的。
以上简要说明了根据本发明的实施例的用于网络软件产品对多个网络服务器的并行网络操作方法的流程。如本领域的技术人员可理解的,所述各步骤仅是对本发明的示例性说明,而不是对本发明的限制。在本发明的其他实施例中,可以省略所述的某些步骤,替换所述的某些步骤,添加新的步骤,合并某些步骤,将某些步骤细分为多个步骤,以及并行执行某些步骤或改变某些步骤的执行顺序。例如,所述并行网络操作方法还可包括一请求生成步骤,该步骤根据来自用户的网络操作生成针对所述一个网络服务器上的该网络软件产品实例的请求,以及针对所述其他网络服务器上的该网络软件产品实例的等价的请求。如本领的技术人员可理解的,该步骤可体现在上述转换步骤、截获步骤、提供步骤等之中,或者说,可由上述一些步骤来实现。只要这些变化体现了本发明的基本思想,即基于来自于客端的网络操作请求自动生成并发送多个等价的网络操作请求给多个网络服务器上的相同的网络软件产品,则这些变化就都处于本发明的范围之内。
在本发明的另一方面,还提供了一种网络软件产品测试方法,该方法包括以下步骤:将该网络软件产品的多个实例分别部署在多个网络服务器上;以及使用上述用于网络软件产品测试的并行网络操作方法进行测试操作。
可在其上实现根据本发明的用于网络软件产品测试的并行网络操作方法及装置的客户计算机***的各个部件都是本领域的技术人员可理解的。
本发明涉及一种用于对部署在多个网络服务器上的网络软件产品的并行操作的方法及装置。根据本发明的一个实施例,该操作方法的各步骤是通过由处理器执行主存储器内包含的指令序列而执行的,各个执行部件也是本领域技术人员可以理解的。在其他可选择实施例中,可使用硬连线的电路来代替或补充计算机软件指令以实现本发明。因此,本发明的实施例不限于硬件电路或软件的任何特定组合。
本发明可以硬件、软件、或硬件与软件的结合的方式实现。本发明可以集中的方式在一个计算机***中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机***中。适于执行本文中描述的各方法的任何计算机***或其他装置都是合适的。一种典型的硬件和软件的组合可以是带有计算机程序的通用计算机***,当该计算机程序被加载和执行时,控制该计算机***而使其执行本文中描述的方式。
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文中描述的方法的所有特征,并且当其被加载到计算机***中时,能够执行这些方法。
尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围;应参照所附权利要求书来确定本发明的范围。
Claims (20)
1.一种对部署在多个网络服务器上的网络软件产品的并行操作的方法,该方法包括以下步骤:
对所述多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;
根据所述操作生成对所述一个网络服务器上的该网络软件产品实例的第一请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求;
发送所述第一请求给所述一个网络服务器上的该网络软件产品实例,并发送所述等价请求给所述其他网络服务器上的该网络软件产品实例;以及
接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
2.根据权利要求1的方法,还包括以下步骤:
针对需要操作的多个网络服务器中的每个网络服务器建立一个单独的浏览器进程或客户端操作进程;
其中,所述生成步骤包括:
截获所述操作,并将所述操作转换为对所述需要的浏览器操作或客户端操作的多个网络服务器中的其他网络服务器上的该网络软件产品实例的虚拟操作;以及
将所述浏览器操作或客户端操作提供给对应于所述一个网络服务器的浏览器进程或客户端操作进程,并将所述虚拟操作提供给对应于所述其他网络服务器的浏览器进程或客户端操作进程;并且
其中,所述发送步骤和接收步骤由相应的所述浏览器进程或客户端操作进程分别执行。
3.根据权利要求1或2的方法,还包括以下步骤:
呈现来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
4.根据权利要求3的方法,还包括以下步骤:
比较来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应,且所述呈现步骤被配置为呈现所述比较的结果。
5.根据权利要求1或2的方法,还包括指定要对其上的该网络软件产品实例进行操作的所述一个网络服务器以及要将所述等价的请求转发给其上的该网络软件产品实例的所述其他网络服务器的步骤,其中该指定所述其他网络服务器的步骤包括指定所述多个网络服务器中的全部或任何部分。
6.根据权利要求1或2的方法,还包括切换到非同步模式的步骤,在所述非同步模式中,将不自动将所述等价的请求转发给所述其他网络服务器上的该网络软件产品实例;以及还包括从所述非同步模式返回的步骤;和/或将要对其上的该网络软件产品实例进行操作的所述一个网络服务器切换为所述其他网络服务器中的任何一个的步骤。
7.根据权利要求4的方法,其中所述比较步骤包括生成来自所述各网络服务器上的该网络软件产品实例的响应的显示界面,并对所述显示界面的图像进行逐点比较。
8.根据权利要求4的方法,其中所述比较步骤包括以下步骤:
生成所述各响应的显示界面;
识别所述界面中的对象和控件;以及
基于所述各界面中的对象和控件之间的映射关系进行比较。
9.一种网络软件产品测试方法,其中网络软件产品的多个实例分别部署在多个网络服务器上,该方法包括以下步骤:
使用根据权利要求1-8中任何一个的用于网络软件产品测试的并行网络操作方法进行测试操作。
10.一种对部署在多个网络服务器上的网络软件产品的并行网络操作装置,该装置包括:
接口模块,通过该接口模块对所述多个网络服务器中的一个网络服务器上的该网络软件产品实例进行操作;
生成模块,用于根据所述操作生成对所述一个网络服务器上的该网络软件产品实例的第一请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求;
发送模块,用于发送所述第一请求给所述一个网络服务器上的该网络软件产品实例,并发送所述等价请求给所述其他网络服务器上的该网络软件产品实例;以及
接收模块,用于接收来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
11.根据权利要求10的装置,其中生成模块还用于:
针对需要测试的多个网络服务器中的每个网络服务器建立一个单独的浏览器进程或客户端操作进程;
其中生成模块生成对所述一个网络服务器上的该网络软件产品实例的请求,以及等价的对所述多个网络服务器中的其他网络服务器上的该网络软件产品实例的请求是通过如下方式实现的:
截获所述操作,并将所述操作转换为对所述需要操作的多个网络服务器中的其他网络服务器上的该网络软件产品实例的虚拟操作;以及
将所述操作提供给对应于所述一个网络服务器的浏览器进程或客户端操作进程,并将所述虚拟操作提供给对应于所述其他网络服务器的浏览器进程或客户端操作进程;并且
其中,所述发送模块和接收模块在相应的浏览器进程或客户端操作进程中实现。
12.根据权利要求10或11的装置,还包括呈现模块,用于呈现来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应。
13.根据权利要求12的装置,还包括比较模块,用于比较来自所述一个网络服务器上的该网络软件产品实例的响应以及来自所述其他网络服务器上的该网络软件产品实例的响应,并且所述呈现模块还用于呈现所述比较的结果。
14.根据权利要求10或11的装置,还包括配置模块,用于指定要对其上的该网络软件产品实例进行操作的所述一个网络服务器以及要将所述等价的请求转发给其上的该网络软件产品实例的所述其他网络服务器,其中,所述指定所述其他网络服务器包括指定所述多个网络服务器中的全部或任何部分。
15.根据权利要求10或11的装置,还包括切换模块,用于切换到非同步模式,在所述非同步模式中,将不自动将所述等价的请求转发给所述其他网络服务器上的该网络软件产品实例;且所述切换模块还被配置为用于从所述非同步模式返回;和/或用于将要对其上的该网络软件产品实例进行操作的所述一个网络服务器切换为所述其他网络服务器中的任何一个。
16.根据权利要求13的装置,其中所述比较模块还用于:
生成来自所述各网络服务器上的该网络软件产品实例的响应的显示界面,并对所述显示界面的图像进行逐点比较。
17.根据权利要求13的装置,其中所述比较模块还用于:
生成所述各响应的显示界面;
识别所述界面中的对象和控件;以及
基于所述各界面中的对象和控件之间的映射关系进行比较。
18.根据权利要求10或11的装置,其中该装置通过网络浏览器的插件、单独的网络浏览器、使用IE内核的网络浏览器、客户端请求装置插件或代理服务器中的一个实现。
19.一种网络软件产品测试***,其中网络软件产品的多个实例分别部署在多个网络服务器上,该***包括:
根据权利要求10-18中任何一个的用于网络软件产品测试的并行网络操作装置。
20.一种计算机程序产品,包括计算机可读的记录介质,所述记录介质上存储有计算机可读的代码,所述代码包括用于实现根据前述方法权利要求中任何一个的方法步骤的、计算机可执行的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101318197A CN100568808C (zh) | 2006-10-12 | 2006-10-12 | 对多个网络服务器并行操作的方法和装置 |
US11/870,479 US20080091775A1 (en) | 2006-10-12 | 2007-10-11 | Method and apparatus for parallel operations on a plurality of network servers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101318197A CN100568808C (zh) | 2006-10-12 | 2006-10-12 | 对多个网络服务器并行操作的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101163024A true CN101163024A (zh) | 2008-04-16 |
CN100568808C CN100568808C (zh) | 2009-12-09 |
Family
ID=39297862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101318197A Expired - Fee Related CN100568808C (zh) | 2006-10-12 | 2006-10-12 | 对多个网络服务器并行操作的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080091775A1 (zh) |
CN (1) | CN100568808C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404140A (zh) * | 2011-10-26 | 2012-04-04 | 深圳第七大道科技有限公司 | 一种分布式服务器的控制方法、装置和*** |
CN102497353A (zh) * | 2011-10-28 | 2012-06-13 | 深圳第七大道科技有限公司 | 多服务器分布式数据处理方法、服务器及*** |
CN104102578B (zh) * | 2014-06-27 | 2017-01-25 | 百度在线网络技术(北京)有限公司 | 测试方法及***、操作端 |
CN107133072A (zh) * | 2017-04-27 | 2017-09-05 | 紫光华山信息技术有限公司 | 一种操作执行方法和装置 |
CN107612775A (zh) * | 2017-09-19 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种节点二级连服务器的dc测试方法与*** |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307300B1 (en) * | 2008-05-13 | 2012-11-06 | Google Inc. | Content resizing and caching in multi-process browser architecture |
US8998544B1 (en) * | 2011-05-20 | 2015-04-07 | Amazon Technologies, Inc. | Load balancer |
CN102999424B (zh) * | 2012-11-27 | 2015-06-17 | 广东欧珀移动通信有限公司 | 一种并行远程自动化测试的方法 |
CN103235758A (zh) * | 2013-05-14 | 2013-08-07 | 盛科网络(苏州)有限公司 | 实现并发性测试脚本的测试平台的方法和装置 |
CN105279061A (zh) * | 2014-06-26 | 2016-01-27 | 西安Tcl软件开发有限公司 | 服务器接口并发测试的方法和装置 |
US9652367B1 (en) * | 2015-10-21 | 2017-05-16 | Sap Portals Israel Ltd. | Exploratory testing on multiple system landscapes |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL130029A (en) * | 1998-06-17 | 2003-01-12 | Ibm | Method of increasing availability in clustered application servers |
JP2003528358A (ja) * | 1998-08-24 | 2003-09-24 | 富士通株式会社 | ワークフローシステムおよび方法 |
US6662217B1 (en) * | 1999-01-19 | 2003-12-09 | Microsoft Corporation | Distributed and automated test administration system for administering automated tests on server computers over the internet |
WO2000068856A2 (en) * | 1999-05-11 | 2000-11-16 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
US6996538B2 (en) * | 2000-03-07 | 2006-02-07 | Unisone Corporation | Inventory control system and methods |
US6675133B2 (en) * | 2001-03-05 | 2004-01-06 | Ncs Pearsons, Inc. | Pre-data-collection applications test processing system |
CA2379090A1 (en) * | 2002-03-27 | 2003-09-27 | Ibm Canada Limited-Ibm Canada Limitee | Efficient server handling of multiple requests from a web browser |
US7853557B2 (en) * | 2002-06-14 | 2010-12-14 | Siebel Systems, Inc. | Method and computer for responding to a query according to the language used |
US20050033818A1 (en) * | 2003-01-16 | 2005-02-10 | Jardin Cary Anthony | System and method for distributed database processing in a clustered environment |
US20040193867A1 (en) * | 2003-03-31 | 2004-09-30 | Zimmer Vincent J | Configurabel network boot management for hetergenous boot options |
US7853663B2 (en) * | 2004-03-12 | 2010-12-14 | Riip, Inc. | Wireless management system for control of remote devices |
US8423950B2 (en) * | 2004-06-25 | 2013-04-16 | International Business Machines Corporation | Method and apparatus for optimizing performance and network traffic in distributed workflow processing |
US7480717B2 (en) * | 2004-07-08 | 2009-01-20 | International Business Machines Corporation | System and method for path saturation for computer storage performance analysis |
US20060026214A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | Switching from synchronous to asynchronous processing |
JP2006086654A (ja) * | 2004-09-14 | 2006-03-30 | Canon Inc | 撮像装置 |
US7657618B1 (en) * | 2004-10-15 | 2010-02-02 | F5 Networks, Inc. | Management of multiple client requests |
JP2007219608A (ja) * | 2006-02-14 | 2007-08-30 | Fujitsu Ltd | 負荷分散処理プログラム及び負荷分散装置 |
US20080004056A1 (en) * | 2006-06-01 | 2008-01-03 | Paul Suzman | Methods and systems for incorporating a voice-attached, tagged rich media package from a wireless camera-equipped handheld mobile device into a collaborative workflow |
-
2006
- 2006-10-12 CN CNB2006101318197A patent/CN100568808C/zh not_active Expired - Fee Related
-
2007
- 2007-10-11 US US11/870,479 patent/US20080091775A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404140A (zh) * | 2011-10-26 | 2012-04-04 | 深圳第七大道科技有限公司 | 一种分布式服务器的控制方法、装置和*** |
CN102404140B (zh) * | 2011-10-26 | 2014-08-20 | 深圳第七大道网络技术有限公司 | 一种分布式服务器的控制方法、装置和*** |
CN102497353A (zh) * | 2011-10-28 | 2012-06-13 | 深圳第七大道科技有限公司 | 多服务器分布式数据处理方法、服务器及*** |
CN102497353B (zh) * | 2011-10-28 | 2015-08-26 | 深圳第七大道网络技术有限公司 | 多服务器分布式数据处理方法、服务器及*** |
CN104102578B (zh) * | 2014-06-27 | 2017-01-25 | 百度在线网络技术(北京)有限公司 | 测试方法及***、操作端 |
CN107133072A (zh) * | 2017-04-27 | 2017-09-05 | 紫光华山信息技术有限公司 | 一种操作执行方法和装置 |
CN107612775A (zh) * | 2017-09-19 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种节点二级连服务器的dc测试方法与*** |
Also Published As
Publication number | Publication date |
---|---|
US20080091775A1 (en) | 2008-04-17 |
CN100568808C (zh) | 2009-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568808C (zh) | 对多个网络服务器并行操作的方法和装置 | |
US11163671B2 (en) | Automatically executing stateless transactions with data dependency in test cases | |
CN106528432B (zh) | 测试场景数据的构建方法及装置、埋点测试方法 | |
CN101821698B (zh) | 用于连接真实世界web应用与3d虚拟世界的方法和装置 | |
CN104536899B (zh) | 一种基于智能集群的软件部署及其维护方法 | |
CN100580672C (zh) | 基于上下文的导航组件和方法 | |
US10095509B2 (en) | Supporting developer-user collaborative software review in IDE | |
CN108572823B (zh) | 基于接口引擎的前后端开发管理方法及*** | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
CN101101550B (zh) | 将新用户界面映射到已有的整合界面的方法和*** | |
US20060230343A1 (en) | Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes | |
CN101193007A (zh) | 统一资源定位符命令测试方法、场景测试方法和相应设备 | |
US6782425B1 (en) | Session based security profile for internet access of an enterprise server | |
CN105808701B (zh) | 实现表单自动化验证及多***间通讯的方法及*** | |
CN101223524A (zh) | 用于填充图形拓扑显示的计算机实现的方法 | |
CN105205757A (zh) | 基于Android的选修*** | |
CN106372175A (zh) | 报表的处理方法、装置和服务器 | |
CN109324864A (zh) | 一种人机交互操作信息的获取方法及装置 | |
US20060168467A1 (en) | Load testing methods and systems with transaction variability and consistency | |
CN103399776B (zh) | 可重用mock创建方法及*** | |
CN106407099B (zh) | 一种测试方法和客户端 | |
CN104468275A (zh) | 一种产业集群创新平台测试装置及方法 | |
US9141721B2 (en) | User specific desktop hyperlinks to relevant documents | |
Pansanato et al. | An evaluation with web developers of capturing user interaction with rich internet applications for usability evaluation | |
Lingam et al. | Supporting end-users in the creation of dependable web clips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091209 Termination date: 20151012 |
|
EXPY | Termination of patent right or utility model |