用于执行网页的防病毒扫描的系统和方法与流程

文档序号:15164356发布日期:2018-08-14 17:17阅读:263来源:国知局

本发明涉及用于对网页执行防病毒扫描的系统和方法,以及尤其涉及分配防病毒服务器的预留吞吐量的系统和方法。



背景技术:

由服务器处理的信息量每天都在不断增长。在由服务器进行数据处理的过程中未经调节的请求流经常导致服务器的非工作状态。故障源于请求队列的过载和计算机技术的资源的物理限制。为了监控服务器资源上的负载,使用多种方法来分析请求流和请求队列。由于请求数量的不可控制的增加,使监控过程更困难。

正在负责处理请求的计算机系统的关机对基于发送或接收请求而运作的复杂计算机系统的吞吐量造成损害。就这一点而言,提及的系统中的一些系统中断任务的执行并进入等待模式,直到完成请求执行。一种这类系统为使用远程计算机系统或服务器针对恶意代码的存在而扫描文件的系统。在这种情况下,存在这类系统的有效性的基本指标之一(检测的水平)的下降。

一种用于执行请求的常见架构使用至少三个部件:生成并编写请求的元件、通信信道、和处理所接收的请求并发起响应的元件。生成并编写请求的元件可以为安装在计算机系统上的应用程序。处理所接收的请求的元件可以为服务器类型的计算机系统,该计算机系统包含数据或功能的存储库,将借助这些数据或功能处理请求并产生对该请求的响应。通信信道为实现数据从一个元件到另一个元件的传送的已知类型的连接。

尽管已知技术可以执行请求的执行过程的某种监控,但是已知技术在执行网页的防病毒扫描时不识别防病毒服务器的预留吞吐量的最佳分配。本发明实现该问题的有效解决方案。



技术实现要素:

公开了控制防病毒服务器的吞吐量的系统和方法。本发明的技术效果提高了在执行网页的防病毒扫描时防病毒服务器的预留吞吐量的使用的有效性。所述技术效果通过根据从用于扫描网页的防病毒系统的客户端模块向防病毒服务器分派信息的所选速度分配防病毒服务器的预留吞吐量的一部分用于执行网页的防病毒扫描来实现。使用速度选择规则,基于用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集、用于扫描网页的防病毒系统的客户端模块与防病毒服务器之间的通信信道容量、以及防病毒服务器的预留吞吐量来确定分派信息的速度。

在一个示例性方面中,提供了一种用于通过防病毒系统执行网页的防病毒扫描的系统。所述系统包括:防病毒服务器;和用于扫描网页的所述防病毒系统的客户端模块。所述客户端模块配置成:检测正在打开的网页的采用标记语言的文本;生成用于所述防病毒扫描的打开的所述网页的采用所述标记语言的文本集;确定所述客户端模块与所述防病毒服务器之间的通信信道的容量;以及确定所述防病毒服务器的预留吞吐量。所述防病毒服务器配置成:基于用于所述防病毒扫描的正在打开的所述网页的生成的采用标记语言的所述文本集、确定的所述通信信道的所述容量、和确定的所述防病毒服务器的所述预留吞吐量来选择从所述客户端模块向所述防病毒服务器分派信息的速度;以及基于选择的信息分派速度,分配确定的所述防病毒服务器的所述预留吞吐量的一部分,用于执行正在打开的所述网页的生成的采用标记语言的所述文本集的所述防病毒扫描;以及使用所述防病毒服务器的所述预留吞吐量的所分配的所述部分来执行正在打开的所述网页的生成的采用标记语言的所述文本集的所述防病毒扫描。

在另一个示例性方面中,所述防病毒服务器还配置成还基于来自规则数据库的至少一个速度选择规则来选择从用于扫描网页的所述防病毒系统的所述客户端模块向所述防病毒服务器分派信息的所述速度。

在另一个示例性方面中,配置成检测正在打开的网页的采用标记语言的文本的所述客户端模块还配置成:检测与所述网络浏览器的图形用户界面的一系列交互的成功执行,所述一系列交互表示在所述网络浏览器中打开所述网页。

在另一个示例性方面中,配置成检测正在打开的网页的采用标记语言的文本的所述客户端模块还配置成:检测通过位于正在打开的所述网页上的超链接的转换。

在另一个示例性方面中,配置成检测正在打开的网页的采用标记语言的文本的所述客户端模块还配置成:检测由所述网络浏览器生成的一个或多个事件,所述一个或多个事件指示正在打开的所述网页的文件对象的改变。

在另一个示例性方面中,配置成生成用于所述防病毒扫描的正在打开的所述网页的采用所述标记语言的所述文本集的所述客户端模块还配置成添加包含采用编程语言的程序文本的插入的字符串。

在另一个示例性方面中,配置成生成用于所述防病毒扫描的正在打开的所述网页的采用所述标记语言的所述文本集的所述客户端模块还配置成添加正在打开的所述网页的采用标记语言的文本的包含标签的字符和字符串。

在另一个示例性方面中,配置成确定所述客户端模块与所述防病毒服务器之间的所述通信信道的所述容量的所述客户端模块还配置成:分派包含预定尺寸的采用标记语言的已验证的文本集的多个请求、检测所述请求的接收、以及计算传输预定尺寸的采用标记语言的所述已验证的文本集所花费的时间。

在另一个示例性方面中,配置成确定所述防病毒服务器的所述预留吞吐量的所述客户端模块还配置成:执行预定尺寸的采用标记语言的已验证的文本集的被迫防病毒扫描,以及计算扫描所述已验证的文本集所花费的时间。

在另一个示例性方面中,提供了一种用于通过防病毒系统执行网页的防病毒扫描的方法。所述方法包括:从网络浏览器应用程序的客户端模块接收基于正在打开的网页的标记语言生成的文本集,用于防病毒扫描;接收所述客户端模块与所述防病毒服务器之间的通信信道的容量的指示;确定所述防病毒服务器的预留吞吐量;基于接收的用于所述防病毒扫描的正在打开的所述网页的采用标记语言的所述文本集、接收的所述通信信道的所述容量、和确定的所述防病毒服务器的所述预留吞吐量来选择从所述客户端模块向所述防病毒服务器分派信息的速度;基于选择的信息分派速度,分配确定的所述防病毒服务器的所述预留吞吐量的一部分,用于执行正在打开的所述网页的生成的采用标记语言的所述文本集的所述防病毒扫描;以及通过所述防病毒服务器,使用所述防病毒服务器的所述预留吞吐量的所分配的所述部分来执行正在打开的所述网页的生成的采用标记语言的所述文本集的所述防病毒扫描。

根据另一个示例性方面,提供了一种用于通过防病毒系统执行网页的防病毒扫描的方法。所述方法包括:通过所述防病毒系统的客户端模块检测正在打开的网页的采用标记语言的文本;生成正在打开的所述网页的采用所述标记语言的文本集,用于所述防病毒扫描;确定所述客户端模块与防病毒服务器之间的通信信道的容量;确定所述防病毒服务器的预留吞吐量;以及根据基于确定的所述通信信道的所述容量和确定的所述防病毒服务器的所述预留吞吐量所选择的分派信息速度,向所述防病毒服务器发送正在打开的所述网页以执行所述防病毒扫描。

根据另一个示例性方面,提供了一种计算机可读介质,其包括多个指令,这些指令包括用于执行本文中所公开的方法中的任一方法的计算机可执行指令。

以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的或主要的要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且示例性指出的特征。

附图说明

并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。

图1示出根据示例性方面的用于扫描网页的防病毒系统和防病毒服务器的框图。

图2示出根据示例性方面的用于在执行网页的防病毒扫描时分配防病毒服务器的一部分预留吞吐量的示例性系统的框图。

图3示出根据示例性方面的用于在执行网页的防病毒扫描时分配防病毒服务器的一部分预留吞吐量的方法的流程图。

图4示出根据示例性方面的其上可实施所公开的系统和方法的通用计算机系统的示例的框图。

具体实施方式

本文中在用于执行网页的防病毒扫描的系统、方法和计算机程序产品的背景下描述示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。

网络浏览器为设计成接收且处理用于接入因特网(以访问网页)的用户请求、将请求发送到因特网、以及处理来自因特网(包含该网页的服务器)的对该请求的响应的应用程序(硬件或软件)。网络浏览器的主要功能为处理且显示响应于请求而接收的网页。网络浏览器扩展(也称为网络浏览器附加装置或网络浏览器插件程序(plug-in))为由网络浏览器发起的软件部件,该软件部件改变或扩展网络浏览器的功能性能力。

网页为具有以标记语言(例如以超文本标记语言(hypertextmarkuplanguage,html))组成的文本的文件。例如根据html的规则和规范的采用标记语言的网页的文本(在本文中也简称为“标记文本”)可以包含具有以其它编程语言(诸如javascript、ecma-262)编写的程序文本的字符和字符串,上述字符和字符串需要被标记语言的标签(诸如<script>、</script>)分隔。为了执行采用编程语言的程序文本的字符串和字符,网络浏览器可以使用包含用于该程序文本或代码的编译器或解释器的附加工具、扩展或库(api)。

在一些情况下,网页可以专门被创建或修改以在被网络浏览器打开和处理时,执行恶意行为。为了创建或修改这类网页以执行恶意行为,黑客可以创建不同的标记文本并将其插入到正在打开的网页的文本中,网络浏览器对该不同的标记文本的处理导致恶意行为的执行。即,采用标记语言的文本(浏览器对其的处理导致恶意行为的执行)包含采用标记语言的字符或字符串(网络浏览器对其的处理执行恶意行为)。

代码注入或更具体地网络注入是用于开发网络浏览器的技术,其中,在打开网页的过程中插入起初不属于正在打开的网页的采用标记语言的文本。插入的文本可以包含采用标记语言的文本,伴随插入有采用编程语言(诸如采用javascript)的程序文本。例如,网络注入经常被木马银行应用程序用来对用户银行账户执行恶意行为。已知的木马zeus和spyeye首先将使用网络注入来危害银行网站并改变其内容。

浏览器对其的处理导致恶意行为的执行的采用标记语言的文本的另一示例为使用特定标签的标记文本的字符或字符串,这些标签被表征为可疑的,这是因为它们有能力并入外部文件和媒介,诸如<iframe>、<object>、<embed>。标签内的文本可以包含去往未知的或可疑的资源的链接。特别感兴趣的是在标签中使用的属性。例如,影响正在被显示的信息的外观的属性可以表示在页面查看时使用隐匿性技术掩盖或掩饰恶意行为的企图,例如,使可见尺寸最小化的属性宽度/高度(0至10像素)的非常小的值、使信息排列在不可见区域中的定位技巧(例如,“位置:绝对的”)、以及用于控制如何在网页上呈现内容的其它样式表技巧(例如,“显示:无”)。

为了在打开网页时提供安全,可以执行正在被打开的网页的防病毒扫描。网页的防病毒扫描为针对以下这样的标记文本的存在性扫描采用标记语言的网页的文本:网络浏览器对该标记文本的处理导致恶意行为的执行。网页的防病毒扫描借助防病毒系统来完成,该防病毒系统配置用于网页的防病毒扫描。

图1示出根据示例性方面的用于扫描网页的防病毒系统100的示例。系统100包括用于扫描网页110的防病毒系统100的客户端模块102,该客户端模块102配置成使用可用通信信道120将请求130发送到用于扫描网页的防病毒服务器140。

在一个示例性方面中,用于扫描网页110的防病毒系统的客户端模块102配置成采集并处理被网络浏览器应用程序104打开的采用标记语言的网页110的文本。在一个示例性方面中,用于扫描网页110的防病毒系统的客户端模块102为以浏览器扩展的形式体现的可安装模块。在该情况下,防病毒系统利用安装的模块扫描在网络浏览器104中打开的所有网页。在另一个示例性方面中,用于扫描网页110的防病毒系统的客户端模块102被实施为采用标记语言的被打开的网页的文本的字符串,其中插入有采用编程语言(诸如javascript)的应用程序文本,在网页所有者的命令下添加该应用程序文本。在该情况下,客户端模块102在打开网页之后切换到激活状态,以及防病毒系统执行仅打开的网页的扫描,其中,客户端模块102添加到网页的采用标记语言的文本中。

在一个示例性方面中,用于扫描网页110的防病毒系统的客户端模块102可以不具有在具有用于打开网页的网络浏览器104的计算机系统101上执行网页的防病毒扫描的功能。而是,基于已被采集且处理的被打开的网页的文本,用于网页110的防病毒扫描的防病毒系统的客户端模块102编写用于扫描采用标记语言的网页的文本的请求130并使用可用通信信道120将该请求130发送到防病毒服务器140。

通信信道120是用于在用于扫描网页110的防病毒系统的客户端模块102与防病毒服务器140之间传输信息的连接。通信信道120可以为提供从消息源向用户传输电信号的一系列完整的技术手段中的任一者,包括借助因特网和其它网络。通信信道120的容量为通过信息传输信道可传输的每单位时间的信息单位的最大量。

在用于网页的防病毒扫描的系统中的防病毒服务器140可以为这样的计算机服务器系统,该计算机服务器系统配置成执行在从用于扫描网页110的防病毒系统的客户端模块102接收的请求130中包含的正在被打开的网页的文本的字符和字符串的防病毒扫描。防病毒服务器140可以包含或连接到用于执行防病毒扫描的数据库,诸如恶意网络应用程序的描述的数据库或采用标记语言的文本的数据库(浏览器对其的处理导致恶意行为的执行)。

为了在执行网页的防病毒扫描时确保控制防病毒服务器140的吞吐量,在执行网页的防病毒扫描时使用一系统来分配防病毒服务器的一部分预留吞吐量。

图2示出根据示例性方面的用于在执行网页的防病毒扫描时分配防病毒服务器的一部分预留吞吐量的示例性系统200的结构图。在一个示例性方面中,用于在执行网页的防病毒扫描时分配防病毒服务器的一部分预留吞吐量的系统200包括检测模块220、确定模块230、选择模块240和数据库250。

检测模块220配置成检测正在打开的网页210的采用标记语言的文本、生成正在打开的网页的采用标记语言的文本集用于防病毒扫描、以及将用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集发送到选择模块240。

在一些示例性方面中,检测模块220可以位于用于扫描网页110的防病毒系统的客户端模块102中且使用其功能。用户借助网络浏览器打开网页210。检测模块220配置成检测正在打开的网页210的采用标记语言的文本。

在一些示例性方面中,检测模块220通过精确地定位与网络浏览器的图形用户界面的一系列交互的成功执行来检测打开的网页210的采用标记语言的文本,上述一系列交互表示对于在网络浏览器中网页的请求并且打开该网页,例如:网络浏览器的url字符串输入字段的激活、在活跃的输入字段中输入url字符串的字符、以及按下回车键。在所请求网页存在以及存储所请求网页的采用标记语言的文本的网络服务器可用或用于该文本的动态创建的工具可用的情况下,上文提及的行为的执行结果将为检测到正在打开的网页210的采用标记语言的文本。在另一个示例性方面中,检测模块220通过利用位于已打开网页上的超链接识别网页转换来检测正在打开的网页210的采用标记语言的文本。利用网页上的超链接的每一成功转换实现了检测正在打开的网页210的采用标记语言的文本。在存在多个正在打开的网页的情况下,随着打开这些网页将依次进行每个网页的采用标记语言的文本的检测。在另一个示例性方面中,检测模块220通过分析改变正在打开的网页的事件来检测正在打开的网页210的采用标记语言的文本。例如,检测模块220可以配置成将由网络浏览器应用程序分派的一个或多个html突变通知(例如借助mutationevent处理程序或mutationobserver回调函数),检测作为对网页文件的结构的任何改变(包括属性修改、文本修改、或名称修改)的通知。在分析过程中,检测模块220检测采用标记语言的网页的附加的新字符或字符串,这些新字符或字符串由该通知的出现所产生。

在正在打开的网页210的采用标记语言的文本的检测之后,检测模块220生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集。在一些示例性方面中,用于防病毒扫描的正在打开的网页的采用标记语言的文本集为网页的采用标记语言或在为防病毒扫描所准备的标记语言的标签的背景下采用其它编程语言(诸如javascript)的文本的字符或字符串的集合。该集合可以包含多个网页的采用标记语言的文本字符或字符串。

检测模块220可以通过将正在打开的网页的采用标记语言的各个文本字符或字符串添加到该集合中而生成正在打开的网页的采用标记语言的文本集。在一个示例性方面中,正在打开的网页的整个文本被添加到该集合,例如在正在打开的网页的采用标记语言的整个文本的尺寸未超过给定值的情况下。在另一个示例性方面中,检测模块220通过仅添加包含采用编程语言的程序文本插入的那些字符串以及在在它们之前和之后出现的正在打开的网页的采用标记语言的文本的多行而生成正在打开的网页的采用标记语言的文本集。在另一个示例性方面中,检测模块220通过仅添加正在打开的网页的采用标记语言的文本字符和字符串而生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集,上述文本字符和字符串包含标签,诸如<iframe>,</iframe>等。在另一个示例性方面中,检测模块220通过例如在重复打开网页(更新网页显示)期间排除正在打开的网页的采用标记语言的文本的先前已分派的那些行和列而生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集。在存在几个正在打开的网页的情况下或如果网页具有带有很多嵌入网页和超链接的复杂结构,则检测模块220可以通过从各个正在打开的网页交替地添加采用标记语言的文本字符串或字符而生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集。

在生成期间,用于防病毒扫描的正在打开的网页的采用标记语言的文本集可以在尺寸上或在时间段上受限制。用于防病毒扫描的打开的网页的采用标记语言的文本集的最大尺寸可以是用于防病毒扫描的打开的网页的采用标记语言的文本集可包含的信息的字符或字节的最大数量。用于生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集的时间段可以是生成用于防病毒扫描的打开的网页的采用标记语言的文本集所耗费的时间段。

在一个示例性方面中,在生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集的(有时冗长的)时间段的过程中,用户可以继续打开各种网页,这些网页的采用标记语言的各个文本字符和字符串依次进入正在生成的集合中。在另一个示例性方面中,在短时间段期间生成正在打开的网页的采用标记语言的文本集,以及在生成过程中仅添加例如将采用编程语言javascript的程序文本包含在标签<script></script>中的那些字符串或字符。

在完成生成之后,检测模块220将用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集发送到选择模块240。

确定模块230可以配置成确定在用于扫描网页110的防病毒系统的客户端模块102与防病毒服务器140之间的通信信道容量、确定防病毒服务器140的预留吞吐量、以及将关于计算的通信信道容量和确定的防病毒服务器140的预留吞吐量的数据发送到选择模块240。

在一些示例性方面中,吞吐量(productivity)为计算机在一时间单位内可完成的工作量。例如,可以将该参数定义为在给定时间内执行的任务数量。防病毒服务器140在执行网页的防病毒扫描中的吞吐量为采用标记语言的文本字符或字节的数量(在一段时间内其防病毒扫描可以由防病毒服务器140来执行)。在一些示例性方面中,防病毒服务器在执行网页的防病毒扫描中的峰值吞吐量可以为采用标记语言的文本字节或字符的最大数量(其防病毒扫描可以由防病毒服务器来执行而无过载)。在一些示例性方面中,防病毒服务器在执行网页的防病毒扫描中的当前吞吐量可以为采用标记语言的文本字节或字符的数量(其防病毒扫描可以由防病毒服务器在当前时刻来执行)。因此,确定模块230可以将预留吞吐量计算为防病毒服务器的峰值吞吐量和当前吞吐量之间的差值,如通过采用标记语言的附加数量的文本字符或字节(其防病毒扫描可以由防病毒服务器执行以达到其峰值吞吐量)所测量的。

在一个示例性方面中,确定模块230可以位于用于扫描网页110的防病毒系统的客户端模块102中且使用其功能。在该情况下,确定模块230配置成通过如下方式确定在用于扫描网页110的防病毒系统的客户端模块102与防病毒服务器140之间的通信信道容量:将包含已知尺寸的采用标记语言的已验证文本集的请求从用于扫描网页110的防病毒系统的客户端模块分派到防病毒服务器140、确认接收该请求、以及计算发送该已知尺寸的采用标记语言的已验证文本集所花费的时间。确定模块230可以通过如下方式确定防病毒服务器140的预留吞吐量:周期性地执行所接收的该已知尺寸的采用标记语言的已验证文本集的“强迫式”防病毒扫描,以及计算其扫描所花费的时间。确定模块230再次扫描先前已验证的文本集,该文本集的内容被“强迫”视为未知的。这将导致使用全部的防病毒服务器能力来执行扫描。接收的集合的尺寸是已知的,以及防病毒服务器140能够在执行防病毒扫描期间给出关于扫描或当前吞吐量结束的通知,这使得可以计算防病毒服务器140的预留吞吐量。换句话说,由于接收的集合的尺寸和扫描裁决已从先前的检查得知,因此基于关于强迫式再扫描的结果的信息,确定模块230能够得出关于防病毒服务器140的当前执行的结论。一段时间后,可以再次扫描同一集合,迫使服务器认为该集合是未知的。

在替选的示例性方面中,确定模块230可以位于防病毒服务器140中且使用其功能。在该情况下,确定模块230通过如下方式确定在用于扫描网页110的防病毒系统的客户端模块与防病毒服务器140之间的通信信道容量:将包含已知尺寸的采用标记语言的已验证文本集的请求(对请求的响应)从防病毒服务器140分派到用于扫描网页110的防病毒系统的客户端模块102、确认接收已知尺寸的采用标记语言的已验证文本集、以及计算传输所花费的时间。在该情况下,确定模块230具有对关于防病毒服务器140的预留吞吐量的数据的持续访问权。

确定模块230持续地保持关于用于扫描网页110的防病毒系统的客户端模块与防病毒服务器140之间的通信信道容量的最新信息,以及因此不必须依赖于检测模块220的工作结果。确定模块230将关于计算的通信信道容量和确定的防病毒服务器140的预留吞吐量的数据发送到选择模块240。

选择模块240配置成:使用来自规则数据库250的一个或多个速度选择规则,基于用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集、确定的通信信道容量和确定的防病毒服务器140的预留吞吐量来选择从用于扫描网页110的防病毒系统的客户端模块向防病毒服务器140分派信息的速度。选择模块240还可以配置成:考虑到选择的信息分派速度而计算防病毒服务器140的确定的预留吞吐量中的执行用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集的防病毒扫描所需的那部分,以及分配计算的防病毒服务器140的预留吞吐量的那部分。

在一个示例性方面中,选择模块240可以位于防病毒服务器140中,以及配置成:使用来自规则数据库250的速度选择规则、基于从检测模块220和确定模块230接收的数据来选择从用于扫描网页110的防病毒系统的客户端模块102向防病毒服务器140分派信息的速度。

在一些示例性方面中,从用于扫描网页110的防病毒系统的客户端模块向防病毒服务器140分派信息的速度可以用用于防病毒扫描的正在打开的网页的采用标记语言的文本每秒所占用的字节数来表示,该文本由用于扫描网页110的防病毒系统的客户端模块102以请求的形式分派给防病毒服务器140。

用于扫描网页110的防病毒系统的客户端模块102与防病毒服务器140之间的信息交换通过将请求发送到防病毒服务器140并接收响应来完成。例如,再一次参照图1,请求130可以为由用于对网页110进行防病毒扫描的防病毒系统的客户端模块102分派到防病毒服务器140的超文本传输协议(hypertexttransferprotocol,http)消息。http消息为http通信的基础单位,其由八位字节的结构化序列组成、根据http句法来编写、且通过可用连接来传输。http消息可以为两种类型:从客户端到服务器的请求和从服务器到客户端的响应。请求(响应)130的核心包括作为请求或响应的有效负荷所传输的信息。应当理解,本发明的特定方面可以使用除了http的其它通信协议来实现,以及可以使用具有不同句法的请求和响应的协议,诸如简单网络管理协议(simplenetworkmanagementprotocol,snmp)。

选择模块240可以配置成通过针对一个或多个请求130指定请求有效负荷尺寸(requestpayloadsize,rps)132和请求发送时间间隔(requestsendingtimeinterval,rsti)134来改变分派信息的速度。在一些示例性方面中,防病毒服务器140相对于与客户端模块102的通信改变其行为以实施如由选择模块240所配置的新rps和rsti设置。在一些示例性方面中,请求130的有效负荷尺寸132可以为除了用于分派请求所需的服务命令和信息之外被传输的数据的字节数,该数据诸如http请求的报头和crlf之后的数据。例如,有效负荷可以为打开的网页的采用标记语言的文本集的字符串和字符。在一些示例性方面中,发送多个请求130之间的时间间隔134(例如rsti)可以为两次连续分派请求130之间的时间段。

如上所述,选择模块240可以使用来自规则数据库250的一个或多个速度选择规则。速度选择规则可以为选择模块240选择从用于扫描网页110的防病毒系统的客户端模块102向防病毒服务器140分派信息的速度所利用的一组条件。在一些示例性方面中,速度选择规则可以包括针对防病毒服务器140的预留吞吐量、通信信道容量、和用于防病毒扫描的正在打开的网页的采用标记语言的文本集的尺寸的条件。

规则数据库250配置成存储速度选择规则。不同种类的数据库可以被用作规则数据库250,即:分层的(tdms、system2000)、神经网络(cerebrum、сronospro、dbvist)、关联式(microsoftsql)、面向对象的对象-关系(oraclepostgresqltm)、功能性的等等。可以借助防病毒服务器140补充或更新规则数据库250。

在一些示例性方面中,速度选择规则可以配置成基于通信信道容量限制防病毒服务器140的整体预留吞吐量的利用率,以及可以具有如下条件列表:如果防病毒服务器140的预留吞吐量大于通信信道容量,同时正在打开的网页的采用标记语言的文本集的尺寸具有比一秒内的容量值大的值,则选择等于或小于通信信道容量的信息分派速度。例如,选择模块240可以确定上述速度选择规则的条件通过如下情况来满足:预留吞吐量为500,000字节/秒、通信信道容量为125,000字节/秒、以及用于防病毒扫描的正在打开的网页的采用标记语言的文本集的尺寸为1,000,000字节。在该情况下,通信信道容量将防病毒服务器140的整体预留吞吐量的利用率限制在125,000字节/秒的级别。因此,选择模块240通过将请求有效负荷尺寸132变化为12,500字节的值以及将请求发送时间间隔134变化为0.1秒来将分派信息速度确定为125,000字节/秒。

在另一个示例性方面中,速度选择规则可以配置成使用预留吞吐量的值来防止通信信道120的完全利用,以及可以具有如下条件列表:如果防病毒服务器140的预留吞吐量小于通信信道容量,同时用于防病毒扫描的打开的网页的采用标记语言的文本集的尺寸具有比一秒内的容量值大的值,则选择等于或小于防病毒服务器140的预留吞吐量的信息分派速度。例如,选择模块240确定上述条件组通过如下情况来满足:确定的预留吞吐量为100,000字节/秒、确定的通信信道容量为250,000字节/秒、以及检测的用于防病毒扫描的正在打开的网页的采用标记语言的文本集的尺寸为1,000,000字节。在该情况下,防病毒服务器的预留吞吐量的值不允许通信信道容量的完全利用并将其限制到100,000字节/秒的级别。因此,选择模块240通过将请求有效负荷尺寸132变化为10,000字节的值以及将请求发送时间间隔134变化为0.1秒来将分派信息速度确定为100,000字节/秒。

在另一个示例性方面中,速度选择规则可以配置成由于使服务器过载的风险而阻止防病毒服务器140的使用,以及具有如下条件列表:如果预留吞吐量趋于零、通信信道容量不为零、以及用于防病毒扫描的正在打开的网页的采用标记语言的文本集的尺寸具有比每秒容量值更大的值,则选择信息分派速度为零,以及在几秒的额外生成期间,发送正在打开的网页的生成的采用标记语言的文本集。例如,选择模块240可以确定上述条件组通过如下情况来得以满足:确定的预留吞吐量为0字节/秒、通信信道容量为250,000字节/秒、以及用于防病毒扫描的正在打开的网页的采用标记语言的文本集的尺寸为1,000,000字节。在该情况下,由于过载风险,不期望的是以常规方式使用防病毒服务器140。因此,选择模块240通过将请求有效负荷尺寸132变化为0字节的值以及将请求发送时间间隔134变化为0秒来将分派信息速度选择为0字节/秒,以及在10秒的额外生成期间,发送网页的生成的采用标记语言的文本集。

选择模块240还可以在考虑到所选的信息分派速度的情况下计算确定的防病毒服务器140的预留吞吐量中的用于执行正在打开的网页的生成的采用标记语言的文本集的防病毒扫描的那部分。响应于此,选择模块240分配所计算的防病毒服务器140的预留吞吐量中的那部分。

基于所选的信息分派速度,选择模块240可以计算防病毒服务器140的预留吞吐量中的执行用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集的防病毒扫描的那部分。例如,响应于确定信息分派速度等于100,000字节/秒、防病毒服务器的预留吞吐量等于500,000字节/秒、以及用于防病毒扫描的网页的采用标记语言的文本集的尺寸等于1,000,000字节,选择模块240将以100,000字节/秒计算达10秒作为防病毒服务器140的预留吞吐量的分配的那部分。

然后选择模块240以100,000字节/秒分配防病毒服务器的预留吞吐量的那部分达10秒并且发起正在打开的网页的防病毒扫描的执行。因此,防病毒服务器140在分配了上述部分之后的预留吞吐量将为400,000字节/秒,达10秒。在10秒之后,防病毒扫描完成以及防病毒服务器将再次具有500,000字节/秒的预留吞吐量。

在一个示例性方面中,选择模块240通过向接收的请求指派优先级来分配且利用防病毒服务器140的预留吞吐量的那部分。在另一个示例性方面中,选择模块240通过访问防病毒服务器140的未用资源(ram、处理器时间等)来分配且利用防病毒服务器140的预留吞吐量的那部分。

尽管图2示出了防病毒系统200的客户端模块120的单个检测模块220和确定模块230部分以及防病毒服务器140的单个选择模块240部分,但是本发明的示例性方面可以使用防病毒系统200的不同配置,这些不同配置具有许多模块和/或不同地位于客户端侧和服务器侧。例如,在一个示例性方面中,用于扫描网页的防病毒系统100可以具有用于扫描网页110的防病毒系统的多个模块102和一个可用通信信道120,用于扫描网页110的防病毒系统的多个模块102中的每一者通过该可用通信信道120连接到一个防病毒服务器140。例如,在将三个网络浏览器安装在用户的计算机系统101上的情况下,系统100可以具有多个模块102。用于扫描网页110的防病毒系统的一个客户端模块可以各自地被安装在两个网络浏览器上,以网络浏览器的扩展的形式来实现。在第三网络浏览器上,可以打开网页,其中,用于扫描网页110的防病毒系统的客户端模块102以网页的javascript模块部分的形式来实现。在该情况下,用于分配防病毒服务器的预留吞吐量中的用以执行网页的防病毒扫描的那部分的系统可以包括三个检测模块220、一个确定模块230、和连接到规则数据库250的一个选择模块240。在这种情况下,为了均匀分布,将通信信道容量分布在检测模块220之间。例如,通信信道容量的值可以被分为三个相等部分。

在另一个示例性方面中,用于扫描网页的防病毒系统100可以具有用于扫描网页110的防病毒系统的多个模块102和对应于每个模块的单独的可用的通信信道120,该单独的可用的通信信道120将用于扫描网页110的防病毒系统的客户端模块中的每一者连接到一个防病毒服务器140。例如,当个人计算机系统(安装有网络浏览器和用于扫描网页110的防病毒系统的客户端模块102,其以网络浏览器的扩展的形式来实现)上的三个用户打开网页时,存在的多个防病毒服务器140中仅一个防病毒服务器在给定时间是可用的。在该情况下,用于分配防病毒服务器的预留吞吐量中的用以执行网页的防病毒扫描的那部分的系统可以包括三个检测模块220、三个确定模块230、和连接到规则数据库250的一个选择模块240。在这种情况下,为了均匀分布,将防病毒服务器140的预留吞吐量分布在确定模块230之间。例如,防病毒服务器140的预留吞吐量的值可以被分为三个相等部分。

在另一个示例性方面中,用于扫描网页的防病毒系统可以具有用于扫描网页110的防病毒系统的一个客户端模块102和相应的通信信道120,用于扫描网页110的防病毒系统的客户端模块102通过该通信信道120连接到多个防病毒服务器140。例如,当计算机系统(安装有网络浏览器和用于扫描网页110的防病毒系统的客户端模块102,该客户端模块以网络浏览器的扩展的形式来实现)上的一个用户打开网页时,三个防病毒服务器140是可用的。在该情况下,用于分配防病毒服务器的预留吞吐量中的用以执行网页的防病毒扫描的那部分的系统可以包括一个检测模块220、一个确定模块230、和连接到规则数据库250的三个选择模块240。在这种情况下,为了均匀分布,将用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集分布在确定模块230上。例如,正在打开的网页的生成的采用标记语言的文本集被分为三个相等部分。

图3示出根据示例性方面的用于在执行网页的防病毒扫描时分配防病毒服务器的一部分预留吞吐量的方法300的流程图。

在步骤310中,检测模块220检测正在打开的网页210的采用标记语言的文本。在一些示例性方面中,检测模块220检测与网络浏览器的图形用户界面的一系列交互的成功执行,上述一系列交互表示在网络浏览器中打开网页。在一些示例性方面中,检测模块220检测通过位于正在打开的网页上的超链接的转换。在一些示例性方面中,检测模块220检测由网络浏览器生成的一个或多个事件,该一个或多个事件指示正在打开的网页的文件对象的改变。

在步骤311中,检测模块220生成用于防病毒扫描的正在打开的网页的采用标记语言的文本集、以及将用于防病毒扫描的正在打开的网页的生成的文本集发送到选择模块240。在一些示例性方面中,检测模块220通过添加正在打开的网页的采用标记语言的文本的包含标签的字符和字符串来生成文本集。在其它示例性方面中,检测模块220通过添加包含采用编程语言的程序文本的插入的字符串来生成文本集。

在步骤312中,确定模块230确定用于扫描网页110的防病毒系统的客户端模块102与防病毒服务器140之间的通信信道容量。在一些示例性方面中,确定模块230分派包含预定尺寸的采用标记语言的已验证的文本集的多个请求、检测请求的接收、以及计算传输预定尺寸的采用标记语言的该已验证的文本集所花费的时间。

在步骤313中,确定模块230确定防病毒服务器140是否具有预留吞吐量。在确定模块230为客户端模块102的一部分的一些示例性方面中,防病毒服务器140可以接收如由客户端模块102确定的预留吞吐量的指示。在一些示例性方面中,防病毒服务器140可以将预留吞吐量确定为防病毒服务器的峰值吞吐量和当前吞吐量之间的差值,如通过其防病毒扫描可以由防病毒服务器执行以达到其峰值吞吐量的采用标记语言的文本字符或字节的附加数量所测量的。

如果在步骤313中,在防病毒服务器中存在预留吞吐量,则确定模块230将关于用于扫描网页110的防病毒系统的客户端模块102与防病毒服务器140之间的确定的通信信道容量的数据和关于确定的防病毒服务器140的预留吞吐量的数据发送到选择模块240。因此,在一些示例性方面中,防病毒服务器140可以从客户端模块102接收基于用于防病毒扫描的正在打开的网页的标记语言生成的文本集、以及客户端模块与防病毒服务器之间的通信信道的容量的指示。

在步骤314中,选择模块240基于用于防病毒扫描的正在打开的网页的生成的采用标记语言的文本集、确定的通信信道容量、和确定的防病毒服务器140的预留吞吐量来选择从用于扫描网页110的防病毒系统的客户端模块102到防病毒服务器140的信息分派速度。在一个示例性方面中,防病毒服务器可以基于来自规则数据库250的一个或多个速度选择规则来选择从用于扫描网页的防病毒系统的客户端模块向防病毒服务器分派信息的速度。

在步骤315中,选择模块240在考虑所选的信息分派速度的情况下计算确定的防病毒服务器140的预留吞吐量中的执行正在打开的网页的生成的采用标记语言的文本集的防病毒扫描所需的那部分。在步骤316中,选择模块240分配确定的防病毒服务器140的预留吞吐量的所计算部分。然后防病毒服务器140可以使用防病毒服务器的预留吞吐量的所分配的部分来执行打开的网页的生成的采用标记语言的文本集的防病毒扫描。

如果在步骤313中不存在留给防病毒服务器的预留吞吐量(即,步骤313的“否”分支),则确定模块230将用于防病毒扫描的打开的网页的生成的文本集发送到检测模块220,用于为了防病毒扫描而正在打开的网页的生成的采用标记语言的文本集的重复生成。

图4为示出其上可根据示例性方面实施用于扫描网页的系统和方法的方面的通用计算机系统20的示意图。计算机系统20可以配置成前面所描述的计算机系统101或防病毒服务器140。

如所示,该计算机系统20(其可以是个人计算机或服务器)包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。如将由本领域的普通技术人员所领会,系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。系统存储器可以包括永久性存储器(rom)24和随机存取存储器(random-accessmemory,ram)25。基本输入/输出系统(basicinput/outputsystem,bios)26可以存储用于在计算机系统20的元件之间的信息传输的基本程序,例如在使用rom24加载操作系统时的那些基本程序。

计算机系统20还可以包括用于读取和写入数据的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28、以及用于读取和写入可移动光盘31(诸如cd-rom、dvd-rom和其它光学介质)的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息介质为用于存储计算机系统20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。

示例性方面包括借助控制器55使用连接到系统总线23的硬盘27、可移动磁盘29和可移动光盘31的系统。将由本领域的普通技术人员所理解,也可以利用能够以计算机可读的形式存储数据的任何类型的介质56(固态驱动器、闪存卡、数字硬盘、随机存取存储器(ram)等等)。

计算机系统20具有可以存储操作系统35的文件系统36、以及额外的程序应用37、其它程序模块38和程序数据39。计算机系统20的用户可以使用键盘40、鼠标42、或本领域的普通技术人员已知的任何其它输入设备(诸如但不限于麦克风、操纵杆、游戏控制器、扫描器等)输入命令和信息。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是本领域的普通技术人员将领会,输入设备也可以以其它方式来连接,诸如但不限于借助并行端口、游戏端口、或通用串行总线(universalserialbus,usb)来连接。监控器47或其它类型的显示设备也可以通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以装备有其它的外围输出设备(未示出),例如扬声器、打印机等。

计算机系统20可以使用与一个或多个远程计算机49的网络连接而工作在网络环境中。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括在描述计算机系统20的性质时使用的上述元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。

网络连接可以形成局域计算机网络(local-areacomputernetwork,lan)50和广域计算机网络(wide-areacomputernetwork,wan)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在lan或wan网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,计算机系统20可以采用调制解调器54或本领域的普通技术人员所熟知的实现与广域计算机网络(诸如因特网)的通信的其它模块。调制解调器54可以是内部设备或外部设备,可以通过串行端口46连接到系统总线23。本领域的普通技术人员将领会,所述网络连接是使用通信模块建立一个计算机与另一个计算机的连接的许多熟知方式的非限制性示例。

在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或它们的任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括ram、rom、eeprom、cd-rom、闪存或其它类型的电存储介质、磁存储介质或光存储介质,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。

在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、组件、或使用硬件(例如通过专用集成电路(applicationspecificintegratedcircuit,asic)或现场可编程门阵列(field-programmablegatearray,fpga))实现的组件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在通用计算机(例如上文在图3中更详细描述的通用计算机)的处理器上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所列举的任何特定的实现方式。

为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定于实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。

此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。

本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1