CN200810083948.2
2008.04.29
CN101571857A
2009.11.04
驳回
无权
发明专利申请公布后的驳回IPC(主分类):G06F 17/30申请公布日:20091104|||实质审查的生效|||公开
G06F17/30
国际商业机器公司
张 阔; 惠 轶; 孙 伟; 郭常杰; 付荣耀
美国纽约阿芒克
北京市金杜律师事务所
朱海波
本发明公开了一种用于从服务器向客户端传送资源的方法和装置,其中所述资源用于应用程序中的对象。根据本发明,首先确定所述对象所需要的资源。然后,从所述确定的所述对象所需要的资源中,去掉根据统计,使用率小于阈值的那些资源。最后,将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端。根据本发明,可以避免用户在看到WEB页面之前需要等待比较长的时间。
1. 一种用于从服务器向客户端传送资源的方法,所述资源用于应用程序中的对象,所述方法包括步骤:确定所述对象所需要的资源;从所述确定的所述对象所需要的资源中,去掉根据统计,使用率小于阈值的那些资源;将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端。2. 根据权利要求1所述的方法,其中所述应用程序包括WEB应用程序,以及所述对象包括WEB页面。3. 根据权利要求1所述的方法,其中将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端的步骤还包括:将用于侦探资源的使用情况的代码传送给所述客户端。4. 根据权利要求1或3所述的方法,还包括步骤:从所述客户端接收关于资源的使用情况的信息。5. 根据权利要求1所述的方法,其中所述资源包括如下的任何一种或多种:函数;方法;过程;以及子程序。6. 根据权利要求1所述的方法,其中所述资源是用JAVASCRIPT或VBSCRIPT解释性脚本语言编写的代码或代码块。7. 根据权利要求1所述的方法,其中使用率是该WEB页面将要发送给它的那个客户端先前对于各个资源的使用率。8. 根据权利要求1所述的方法,其中使用率是不同于该WEB页面将要发送给它的那个客户端的其他客户端先前对于各个资源的使用率。9. 一种用于从服务器向客户端传送资源的设备,所述资源用于应用程序中的对象,所述设备包括:确定装置,用于确定所述对象所需要的资源;移除装置,用于从所述确定的所述对象所需要的资源中,去掉根据统计,使用率小于阈值的那些资源;发送装置,用于将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端。10. 根据权利要求9所述的设备,其中所述应用程序包括WEB应用程序,以及所述对象包括WEB页面。11. 根据权利要求9所述的设备,其中所述发送装置还用于将用于侦探资源的使用情况的代码传送给所述客户端。12. 根据权利要求9或11所述的设备,还包括:接收装置,用于从所述客户端接收关于资源的使用情况的信息。13. 根据权利要求9所述的设备,其中所述资源包括如下的任何一种或多种:函数;方法;过程;以及子程序。14. 根据权利要求9所述的设备,其中所述资源是用JAVASCRIPT或VBSCRIPT解释性脚本语言编写的代码或代码块。15. 根据权利要求9所述的设备,其中使用率是该WEB页面将要发送给它的那个客户端先前对于各个资源的使用率。16. 根据权利要求9所述的设备,其中使用率是不同于该WEB页面将要发送给它的那个客户端的其他客户端先前对于各个资源的使用率。
用于资源传送的方法和装置 技术领域 本发明涉及数据处理领域,更具体地,本发明涉及用于资源传送的方法和装置。 背景技术 随着AJAX的流行,对于现代的WEB应用程序来说,脚本(例如JAVASCRIPT代码)变得越来越重要,已经成为其不可缺少的部分。 然而,这会带来如下的问题。 把整个JAVASCRIPT代码文件包从服务器侧传输到客户端侧要花比较长的时间,并且把整个JAVASCRIPT代码文件包初始化成机器可执行的文档对象模型(DOM:Document Object Model)树,也是一项费时的任务,尤其是当JAVASCRIPT代码文件包的规模比较大时,但是,单个WEB页面只需要传送JAVASCRIPT代码文件包中的代码的一部分,而不是全部。 更具体地,参考图1,其示意性地示出了资源的依赖关系。响应于客户端请求,服务器向客户端传送HTML代码文件11。而该客户端向用户显示WEB页面12。WEB页面12可以包括各种各样的功能。通过调用各种资源来实现各种功能,资源包括执行特定任务的代码或代码块。一般地,资源可以是函数、方法、过程或子程序。资源可以用例如JAVA或C++之类的编译语言编写,也可以用例如JAVASCRIPT或VBSCRIPT的解释性脚本语言编写。在这里,主要涉及用那些脚本语言编写的代码,在目前,大多数WEB浏览器客户端支持这些代码。用于资源的代码或代码块可以嵌入在HTML代码中,或者HTML代码可以包括参考13外部代码文件14的标签。如图1中所示,外部代码文件14可以是JAVASCRIPT代码文件。 在图1中的WEB页面是一个注册页面,在该注册页面中,用户在文本域中输入例如姓名、地址和电子邮件等之类的信息。HTML包括用于文本区域的代码15a。在处理该代码时,客户端或者说WEB浏览器根据HTML代码15a的规范,显示相对应的文本区域15b。在该例子中,文本区域15b是地址域,并且代码15a调用在由HTML代码文件11所引用的JAVASCRIPT外部文件FORM.JS中的函数ValidateAddress()16来验证由用户输入到该地址域中的数据。而函数ValidateAddress()16还调用一个在另一个JAVASCRIPT外部文件STRING.JS中的方法parse()17来验证由用户输入到该地址域中的数据。 换句话说,对于WEB页面12,只需要JAVASCRIPT外部文件FORM.JS中的函数ValidateAddress()16和JAVASCRIPT外部文件STRING.JS中的方法parse()17,而不需要JAVASCRIPT外部文件FORM.JS中的其他函数和JAVASCRIPT外部文件STRING.JS中的其他方法。但是,在现有的方案中,也把JAVASCRIPT外部文件FORM.JS中的其他函数和JAVASCRIPT外部文件STRING.JS中的其他方法都传输给客户端,从而造成客户端要等比较长的时间来从服务器接收相应文件。 另外,对于某些JAVASCRIPT函数,即使对于WEB页面来说是需要的,但是可能很少会或者根本不使用它们。 然而,在当前,不管对于某些JAVASCRIPT函数的使用率如何,都将这些JAVASCRIPT函数发送给客户端,从而导致用户在能够看到WEB页面之前需要等待比较长的时间。 因此,需要一种方案,能够克服上述问题。 发明内容 根据本发明的第一方面,提出了一种用于从服务器向客户端传送资源的方法,所述资源用于应用程序中的对象,所述方法包括步骤:确定所述对象所需要的资源;从所述确定的所述对象所需要的资源中,去掉根据统计,使用率小于阈值的那些资源;将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端。 根据本发明的第二方面,提出了一种用于从服务器向客户端传送资源的设备,所述资源用于应用程序中的对象,所述设备包括:确定装置,用于确定所述对象所需要的资源;移除装置,用于从所述确定的所述对象所需要的资源中,去掉根据统计,使用率小于阈值的那些资源;发送装置,用于将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端。 根据本发明,可以避免用户在看到WEB页面之前需要等待比较长的时间。 附图说明 通过以下结合附图的说明,并且随着对本发明的更全面了解,本发明的其他目的和效果将变得更加清楚和易于理解,其中: 图1示意性地示出了资源的依赖关系; 图2示出了根据本发明的一个实施方式的资源传送的方法的流程图; 图3示出了根据本发明的一个实施方式的确定一个WEB页面所需要的资源的方法的流程图; 图4示出了根据本发明的一个实施方式的用于资源传送的设备40的方框图。 在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。 具体实施方式 根据本发明的一个实施例,在将一个WEB应用程序的一个WEB页面发送到客户端之前,首先确定该WEB页面所需要的资源,其中所述资源是用例如JAVASCRIPT、VBSCRIPT等之类的解释性脚本语言编写的函数、方法、过程、和/或子程序。并且,可以在该WEB应用程序部署到服务器上时,就确定WEB页面所需要的资源。然后,从所述确定的WEB页面所需要的资源中,去掉根据统计,使用率小于阈值的那些资源。使用率可以是该WEB页面将要发送给它的那个客户端先前对于各个资源的使用率,也可以是不同于该WEB页面将要发送给它的那个客户端的其他客户端先前对于各个资源的使用率。最后,将所述确定的WEB页面所需要的资源中剩余的资源传送给所述客户端。 图2示出了根据本发明的一个实施方式的资源传送的方法的流程图。 首先,在步骤S20,确定一个WEB页面所需要的资源。 图3示出了根据本发明的一个实施方式的确定一个WEB页面所需要的资源的方法的流程图。 首先,在步骤S30,扫描该WEB页面的代码。 使用代码解析工具来自动地扫描该WEB页面的代码。对于本发明,可以使用各种代码解析工具,例如由AOL公司提供的RHINOJAVASCRIPT引擎。 扫描代码包括识别代码中的进入点。 这些进入点包括HTML代码中最初的资源调用。 进入点可以包括: 包括JAVASCRIPTS声明的HTML标签; 与各种WEB页面的元素(例如表项)相关的动作;以及 DOM(文档对象模型)事件。 资源调用可以针对函数、方法、过程或者子程序,或者执行特定任务的任何代码或代码块。尽管结合JAVASCRIPT描述了本发明的实施方式,但本领域的技术人员应当理解,这只是示例性的。事实上,解释性脚本语言也可以是VBSCRIPT。 然后,在步骤S32,遍历每条调用路径,以确定一个WEB页面所需要的资源。 从在步骤S30识别的进入点开始,遍历每条调用路径,以确定一个WEB页面所需要的资源。 直到遇到如下的情况,遍历调用路径才结束: 碰到一个不调用任何资源的资源; 碰到一个调用系统函数的资源。 通过上述步骤S32,可以形成资源的依赖树。 接下来,在步骤S22,从所述确定的一个WEB页面所需要的资源中,去掉根据统计,使用率小于阈值的那些资源。例如,如果一个资源的使用率小于10%,那么为了减轻网络的负担以及减少客户端侧等待的时间,可以不将这个资源发送给客户端。 当然,本领域的技术人员应当理解,上述阈值不一定非要是10%,也可以是5%或15%。其最好是一个可以动态改变的值,其中在网络带宽条件较好的情况下,可以取比较小的值,例如5%,而在网络带宽条件较差的情况下,取比较大的值,例如15%。 另外,本领域的技术人员应当理解,一般情况下,如果一个资源由于其使用率小于一个阈值,从而不向客户端发送时,那么在调用路径中在该资源的下游的资源也不向客户端发送,原因是该资源的下游的资源的调用依赖于该资源。 最后,在步骤S24,将所述确定的一个WEB页面所需要的资源中剩余的资源传送给所述客户端。 在该步骤,将剩余的资源串联成单个文件,并把该文件发送给所述客户端。 其中统计使用率的基本方法如下:对于给定JAVASCRIPT函数,在特定统计时间段内,首先获得其被调用次数及每次的调用时间,计算出其总的访问时间长度(以A表示)。接着计算出该统计时间段内所有的JAVASCRIPT函数的总的访问时间长度(以B表示)。最后计算出该函数的使用率为A/B。而本领域技术人员当然可以采用其他任何一种统计使用率的方法来实现本发明。 其中,使用率可以是该WEB页面将要发送给它的那个客户端先前对于各个资源的使用率,也可以是不同于该WEB页面将要发送给它的那个客户端的其他客户端先前对于各个资源的使用率。 在本发明的一个实施方式中,事先在浏览器(例如firefox浏览器)中安装一个类似firebug插件的浏览器插件,来捕捉所有的JAVASCRIPT函数的调用,以及每次的调用时间。 在本发明的一个实施方式中,步骤S24还包括将用于侦探资源的使用情况的代码发送给所述客户端。 例如,可以向WEB页面中的函数绑定一个侦探(profiling)函数(可以参考dojo中关于JAVASCRIPT AOP(AOP:Aspect-OrientedProgramming,面向方面的编程)的实现),该侦探函数能够记录每次对于JAVASCRIPT函数的调用,并且能记录每次调用的时间。 在本发明的一个实施方式中,用于资源传送的方法还包括步骤S26,用于从所述客户端接收关于资源的使用情况的信息。 可以利用轮询机制从所述客户端接收关于资源的使用情况的信息,即接收侦探数据。例如,每隔10秒向所述客户端轮询1次。 也可以通过WEB页面跳转事件来触发从所述客户端发送关于资源的使用情况的信息。 收到上述关于资源的使用情况的信息后,服务器就可以进行资源的使用率的分析。例如,计算各个函数的使用率。 图4示出了根据本发明的一个实施方式的用于资源传送的设备40的方框图。 如图4所示,设备40包括:确定装置42,用于确定一个WEB页面所需要的资源;移除装置44,用于从所述确定的所述WEB页面所需要的资源中,去掉根据统计,使用率小于阈值的那些资源;以及发送装置46,用于将所述确定的所述WEB页面所需要的资源中剩余的资源传送给客户端。 在本发明的一个实施方式中,所述发送装置46还用于将用于侦探资源的使用情况的代码传送给所述客户端。 在本发明的一个实施方式中,该设备40还包括:接收装置48,用于从所述客户端接收关于资源的使用情况的信息。 其中,所述资源包括如下的任何一种或多种: 函数; 方法; 过程;以及 子程序。 其中,所述资源是用解释性脚本语言编写的代码或代码块 其中,所述解释性脚本语言是JAVASCRIPT或VBSCRIPT。 在本发明的一个实施方式中,使用率是该WEB页面将要发送给它的那个客户端先前对于各个资源的使用率。 在本发明的一个实施方式中,使用率是不同于该WEB页面将要发送给它的那个客户端的其他客户端先前对于各个资源的使用率。 应当注意,为了使本发明更容易理解,上面的描述省略了对于本领域的技术人员来说是公知的、并且对于本发明的实现可能是必需的更具体的一些技术细节。 提供本发明的说明书的目的是为了说明和描述,而不是用来穷举或将本发明限制为所公开的形式。对本领域的普通技术人员而言,许多修改和变更都是显而易见的。 因此,选择并描述实施方式是为了更好地解释本发明的原理及其实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的前提下,所有修改和变更均落入由权利要求所限定的本发明的保护范围之内。
《用于资源传送的方法和装置.pdf》由会员分享,可在线阅读,更多相关《用于资源传送的方法和装置.pdf(13页珍藏版)》请在专利查询网上搜索。
本发明公开了一种用于从服务器向客户端传送资源的方法和装置,其中所述资源用于应用程序中的对象。根据本发明,首先确定所述对象所需要的资源。然后,从所述确定的所述对象所需要的资源中,去掉根据统计,使用率小于阈值的那些资源。最后,将所述确定的所述对象所需要的资源中剩余的资源传送给所述客户端。根据本发明,可以避免用户在看到WEB页面之前需要等待比较长的时间。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1