使用自动浏览群集更新提示模型的制作方法

未命名 08-22 阅读:130 评论:0


1.实施例一般涉及网络通信性能,并且更具体地涉及使用自动浏览群集更新提示模型。


背景技术:

2.用户选择网页内容并接收对象的网页传输是互联网用户的互联网体验的核心部分。尽管用户的体验通常是单一选择,随后查看在屏幕上呈现的网页,但是在屏幕上呈现网页的过程可涉及大量资源(例如页面对象)和多个从用户系统到提供网页资源的一个或多个网络服务器的请求/响应往返通信。另外,每个资源可以与多个不同阶段相关联,作为将资源(或与资源相关联的对象)包含在呈现给用户的网页中的一部分。作为网页一部分的每个资源以及与每个资源相关联的每个阶段都可能导致装置用户所经历的整个页面加载时间为延迟。各种技术允许向浏览器发送关于用于呈现网页的资源(“提示”)的信息,并且浏览器可以使用这些提示来改善该网页的加载时间。


技术实现要素:

3.除了其他方面,本文描述了系统和方法通过使用自动浏览群集来生成和更新用于机器生成提示的提示模型来改进预提取提示。一些实施例在具有页面提取器(例如在网络浏览器中实现)的与内容服务器和提示机器通信(例如通过通信网络通信)的客户端机器的上下文中操作。提示机器可以包括浏览群集,其响应于更新触发而自主地提取(例如加载、呈现等)网页。例如,更新触发可以对应于来自客户端计算机的网页请求、调度的提示模型更新、过时和/或不完整提示模型的确定等。随着自动浏览群集提取网页,它们可以生成提示反馈,其关于使用哪些资源(例如数据元素)来加载网页、关于加载那些资源的定时等。可以由提示机器使用提示反馈来生成和/或更新提示模型,其可以用于机器生成提示。可以向客户端计算机(例如,以及自动浏览群集)提供提示以改善页面加载定时和/或提供其他特征。
4.提示机器的一些实施例可以响应于提示请求(例如网页请求)而向客户端计算机提供初步提示功能,例如当用于所请求网页的提示模型不足时(例如不可用、过时等)。例如,当客户端机器请求网页时,提示机器可以确定是否已经为用于所请求网页的机器生成提示开发了足够的提示模型。如果是的话,提示机器则可以向请求客户端机器提供机器生成提示。如果不是的话,提示机器则可以机器生成初步提示(例如通过自动提取所请求网页一次或多次以基于有限获得的提示反馈来生成初步提示模型)。在一些实施方式中,提示机器可以同时触发自动浏览群集以生成(例如,和/或开始生成、调度生成、更新等)用于网页的足够的(非初步)提示模型,随后从所述提示模型机器生成提示。例如,可以响应于随后对网页的请求而基于足够的提示模型提供提示。
附图说明
5.本公开结合附图来描述:
6.图1示出了为各种实施例提供上下文的说明性通信系统环境;
7.图2示出了根据各种实施例的用于使用自动浏览群集来实现更新提示模型的说明性通信环境的一部分的框图;
8.图3a示出了根据各种实施例的用于使用自动服务器群集来实现机器生成提示的说明性架构;
9.图3b示出了根据各种实施例的用于使用自动服务器群集来实现机器生成提示的另一个说明性架构;
10.图4示出了根据各种实施例的用于使用自动浏览群集来机器生成提示的说明性方法的流程图;
11.图5提供了计算机系统的一个实施例的示意图,所述计算机系统可以执行本文所述的发明的方法,和/或例如可以用作客户端机器、内容服务器、提示机器130或任何其他这样的计算机或装置的任何一部分;和
12.图6示出了根据一组实施例可以使用的网络系统的示意图。
13.在附图中,类似的部件和/或特征可以具有相同的参考标号。此外,相同类型的各种部件可以通过参考标号之后的第二标号区分,其区分类似的部件。如果在说明书中仅使用第一参考标号,该描述则适用于具有相同第一参考标号的任何一个相似的组件,而不管第二参考标号如何。
具体实施方式
14.在以下描述中,阐述了许多具体细节以提供对本发明的透彻理解。然而,本领域的普通技术人员应该理解,本发明可以在没有这些具体细节的情况下实施。在一些情况下,未详细示出电路、结构和技术,以免模糊本发明。
15.实施例在通过自动浏览群集生成机器驱动的提示以及将这些机器生成提示提供给客户端机器的上下文下操作。如本文所用,“自动浏览群集”一般地旨在包括实现一个或多个“浏览引擎”实例以执行用于机器生成提示的提示反馈收集功能和页面提取的任何一个或多个计算平台。每个浏览引擎实例都可以实现为完整的网络浏览器应用、用于提取页面资源并收集页面加载定时信息的脚本组、用于爬取网页并生成提示反馈的“机器人”(bot)组,和/或以任何其他合适的方式实现。自动浏览群集的计算平台和/或浏览引擎实例可以根据并置架构、分布式架构、基于云的架构和/或任何其他合适的架构来实现。例如,本文将一些实施例被描述为将自动浏览群集实现为“提示后端”的一部分。使用术语“后端”仅旨在增加某些功能分组的清晰度,并且不旨在限制那些实施例的架构或自动浏览群集的位置(例如“后端”可以与其他提示机器功能并置,可通过一个或多个网络由那些其他功能访问,和/或以任何其他合适的方式实施)。
16.如本文所使用的,“客户端”或“客户端机器”通常旨在包括任何涉及网络事务(例如呈现网页)的计算平台,并且不旨在限于任何特定的网络架构、协议等。例如,在一些实施方式中,客户端机器可以在“客户端-服务器”(例如使用客户端-服务器类型的协议的客户端-服务器架构)的上下文下与服务器机器(例如提示机器)交互。其他实施方式可以在对等
(peer-to-peer)上下文或任何其他合适的上下文下操作。在这种情况下,特定的机器可以充当特定事务的客户端,并且在其他事务中的作为服务器或其他功能(例如,根据对等和/或其他协议,同一台机器可以作为一个事务的“客户端”和另一事务的服务器)。
17.如本文所用,“网页事务”通常是指客户端机器与另一机器(例如服务器计算机)之间的通信以将多个对象传送到客户端机器,所述多个对象可以作为网页的一部分呈现给用户。如本文所用,“网页”旨在广义地指通过通信网络发送并且由多个页面资源组成的任何类型的页面。例如,网页可以是在万维网通信中使用的典型网页、应用(例如应用程式等)的页面(例如屏幕)或任何其他类型的网页。此外,对“网络”的引用并不限于互联网或万维网;相反,“网络”可以包括任何公共或专用通信网络。此外,诸如“页面提取器”之类的术语不旨在限于网络浏览器中的任何特定过程;相反,这样的术语可以指用于在浏览器或其他应用中加载和/或呈现网页及其资源的终端用户体验的任何过程或过程组(即,本文使用“呈现”和“加载”以通常表示使用资源来制定页面)。在一个示例中,网页可以包括网络浏览器页面;页面提取器可以包括网络浏览器;并且资源可以包括网络浏览器使用(例如在一些或全部实例中需要)的统一资源定位符(url)、超文本标记语言(html)对象、脚本、cookie和/或其他服务器端对象以呈现网页。在另一个示例中,网页可以包括应用程式(例如,或任何其他应用)的屏幕;页面提取器可以包括应用程式(例如应用程式处理输入/输出交互的部分);并且资源可以是所呈现屏幕的视听内容。
18.在“提示”、“提示信息”等的上下文中描述实施例。如本文所用,提示通常包括关于提供给页面提取器(或者客户端机器的任何合适部件或客户端机器的代理系统)的用于呈现网页的资源的任何信息,以帮助改进该页面提取器用于该网页的页面加载定时。如本文所用,术语“资源”通常是指数据元素(例如文件、脚本等)、数据元素(例如网页等)的集合或者数据元素的标识符或数据元素的集合(例如,统一资源定位符(url)、脚本调用等)。在某些实例中,资源可以嵌入其他资源中和/或可以包括其他资源的集合。有关资源的信息可能包括:作为事务一部分请求的所有资源的列表、在客户端装置的输出上呈现初始不完整网页所需的资源的列表、与客户端装置或在客户端装置上操作的处理相关联的cookie组(和/或那些cookie的散列版本)、与一个或多个网页资源或客户端进程相关联的cookie组(和/或那些cookie的散列版本)、与每个资源相关联的定时组、与整个页面呈现进程相关联的定时组、资源之间的关系组、与高速缓存的资源、资源大小、资源类型、资源指纹或校验和、页面上的资源位置、cookie元数据、重定向链、事务期间可用于一些资源的替代内容源用户(例如内容传递网络)相关联的细节、事务期间使用的域(包括期望每个域被提取的对象的数量)、安全连接元数据、安全套接层(ssl)服务器证书和/或撤销列表信息的细节,和/或任何其他这样的细节。
19.在各种实施例中,在页面提取器或浏览引擎实例已经完成加载和/或呈现网页之后,其可以提供提示反馈信息,所述提示反馈信息可以包括和/或用于导出任何用于后续网页事务的提示信息(例如包括上述任何提示信息)。可以以任何合适的方式捕获反馈信息,包括通过客户端机器,通过在客户端装置上操作的页面提取器,通过网络服务器,通过客户端装置和网络服务器之间的通信路径中的代理服务器,通过在提示服务的控制下的自动页面提取器,通过自动浏览群集的浏览引擎实例,通过初步提示生成器,或者通过任何其他涉及网页事务的装置。提示可用于改进网页事务中的网页加载时间。例如,可以通过降低从经
由页面提取器的用户选择至响应于该选择对用户完成呈现网页的整体时间。这种改进还可以通过降低呈现网页的不完整版本的初始时间来实现,这可能对用户目的有用。在一个可能的实施例中,整体时间降低可能源于:结合其他反馈信息使用延迟信息来确定页面提取器有多积极地尝试预提取子资源作为未来网页事务实例的一部分。
20.提示和反馈信息的示例可以在以下专利/申请中找到:标题为“基于服务器的嵌入式网页反馈和性能改进”的美国专利申请序列号14/729,949;标题为“用于优化的网络浏览的基于浏览器的反馈”的美国专利申请序列号13/372,347;标题为“使用提示功能的辅助的浏览”的美国专利号9,037,638;标题为“使用通过聚合tcp传输的http的更快的网络浏览”的美国专利申请序列号14/212,538;标题为“高速缓存提示系统”的美国专利申请序列号14/276,936;以及标题为“使用客户端机器驱动的反馈以改进网页加载的服务器机器驱动的提示生成”的美国专利申请序列号14/729,949;其中的每一个都为了本技术中的所有目的而明确地通过引用并入。
21.这种网页中使用的资源可能包括html文件、级联样式表(css)文件、图像文件、视频文件或任何其他此类资源。对网页事务的不同实例的引用指的是由不同客户端机器在不同时间执行的事务,或者在不同时间由单个客户端机器执行的相同事务。这些网页事务的不同实例可能包括作为网页事务一部分的资源的变化,这些变化可能是由于跨不同客户端机器的定制,或者随着时间对网页的更新。此外,不同的网页和不同的网页事务可以包括相同或相似的资源。在某些实施例中,如果根url相似,或者如果用于两个网页事务资源组之间存在足够程度的共通性,针对在一个网页事务中看到的资源生成的反馈信息和提示可以被应用为单独网页的事务中的提示。
22.此外,如本文所用,“根”是指由用户选择或动作直接发起的网页事务的初始部分。例如,用户点击网页链接会发起对该链接的根请求。根响应是直接响应于该根请求的响应。根响应还包括根资源。该根资源包括使页面提取器能够直接或间接标识呈现和展示完整网页所需的其他资源的信息。在一些情况下,“根”资源可以包括页面上的内联框架(iframe)中的主要子资源(例如子资源(sub-resource))等(例如,其中多个内联框架中的每一个分开地从不同的内容服务器中提示)。
[0023]“重定向”是指将请求客户端装置指向资源的不同源的对根请求的响应。例如,客户端装置可以发送根请求并接收回重定向响应。客户端装置然后可以将重定向子请求发送到重定向响应中指示的重定向目标。在某些实施例中,对重定向子请求的响应便可以包括反馈脚本或提示。因此,尽管某些实施例描述了具有根请求和响应的操作,但是在各种实施例中,本文描述的任何根、子或重定向响应可以包括如本文的各种实施例中所描述的反馈脚本。
[0024]“子”请求和响应是后续请求和响应,其由嵌入或计算的对根资源或其他子资源中的其他资源的引用直接或间接地导致。子资源、请求和响应始终是由直接响应于用户动作的根从用户动作中移除的一个或多个步骤。子资源可能包括对额外子资源的引用,从而产生一系列请求和响应。上述每个请求和响应可以是超文本传输协议(http)请求和响应,包括http头部和相关消息。在各种实施例中,可以使用其他通信协议。
[0025]
图1示出了提供各种实施例的上下文的说明性通信系统环境100。通信系统环境100包括通过通信网络140通信的客户端机器110、内容服务器120(例如网络服务器)和提示
机器130。网络140可以包括任何一个或多个合适的通信网络和/或通信链路,包括任何广域网(wan)、局域网(lan)、专用网络、公共网络(例如互联网)、有线网络、无线网络等等。典型地,通信系统环境100可以包括许多通过通信网络140与多个内容服务器120连接的客户端机器110。
[0026]
如本文所述,根据各种实施例,内容服务器120可以直接和/或经由通信网络140与一个或多个提示机器130通信,和/或客户端机器110可以直接和/或经由通信网络140(例如在内容服务器的指示下)与提示机器130通信。一些实施例旨在改进组成网页、应用的屏幕和/或其他类似网页上下文的资源的加载和呈现。在这样的上下文中,客户端机器110可能通常提出对由内容服务器120提供(例如托管)的网页的请求。加载和呈现所请求的网页可涉及随后请求和接收组成网页的多个(有时是大量)资源(例如可视内容、音频内容、可执行脚本等)。可以通过在特定时间请求资源(例如,通过以特定顺序预提取资源等)来改进这种网页的加载和呈现,并且可以指示客户端机器使用“提示”来达到这种改进,如本文所述。可以通过url、url和正则表达式的组合、脚本或其他类似技术在提示组中标识资源。还可以通过支持预先解析域名,预先建立tcp连接,预先建立安全连接,预先确定和最小化重定向链以及可以在内容加载前执行以改进整体页面加载性能的类似功能的提示,改进这种网页的加载和呈现。此外,可传送需要资源的概率以及浏览器应给予其的优先级,以进一步改进页面加载时间。另外,可以将与给定资源相关联的各种图像、视频和文档格式作为提示预先发送到装置,由此允许呈现器动态地适应网络条件和约束并且最小化与所预提取资源相关联的数据业务。此外,提示可能会指导对cdn、高速缓存或其他服务器位置的选择,以改进页面加载时间。
[0027]
客户端机器110可以被实现为具有存储资源、处理资源和网络通信资源的任何合适的计算装置。例如,客户端机器110可以是台式计算机、平板计算机、膝上型计算机、移动电话、个人数据助理、使用网络的可穿戴装置、使用网络的家用电器等。每个客户端机器110包括一个或多个页面提取器115。页面提取器115可以包括在客户端机器110中实现的任何系统,其允许网页事务,并且至少部分地用于呈现网页并且经由客户端机器110的输出装置将其呈现给用户。
[0028]
内容服务器120通常可以包括用于经由通信网络140向客户端机器110提供(例如托管和/或以其他方式提供对其的访问)网页内容的任何一个或多个计算环境。例如,内容服务器120可以包括网络服务器、内容分发网络(cdn)、高速缓存等。如图所示,内容服务器120可以包括存储有网页125的一个或多个数据存储系统或与其通信。如本文所述,假设网页125由多个资源127组成。例如,加载其中一个网页125可以涉及请求、接收和呈现组成网页125的资源127。由内容服务器120提供的网页125的一些或全部资源127可以存储在数据存储系统中,或者一些或全部资源127可以远离内容服务器120存储。
[0029]
一个或多个提示机器130可被实现为一个或多个独立服务器计算机,实现为一个或多个内容服务器120的一部分,和/或以用于保持和更新提示信息135的任何其他合适方式(例如根据来自客户端机器110的提示反馈147,根据从提示信息135计算的提示150等)实现。提示信息135可以存储在一个或多个数据存储中,所述数据存储是提示机器130的一部分、与提示机器130耦合或通信,或采取任何其他适合方式。实施例支持不同类型的提示信息135和从其生成的提示150,包括例如关于呈现网页125需要哪些页面对象127的信息、关
于那些页面对象127的定时信息(例如应该请求页面对象127的顺序和定时)等。提示信息135可以以任何合适的方式保持、计算、更新等,包括根据从一个或多个客户端机器110接收到的提示反馈147。提示机器130的实施例将机器学习技术应用于来自多个相关网页事务(例如,来自呈现相同(或足够相似)的网页的多个客户端机器110的多个实例)的提示反馈147。所接收的提示反馈147可以用于改良、完善、更新、加强或以其他方式改进由提示机器130保持的机器驱动的提示模型,由此促进优化提示的生成和通信。
[0030]
客户端机器110可根据从提示信息135生成的提示150来呈现所请求网页125,该提示150有效地预测客户端机器110将在何时需要哪些资源127来最优地呈现网页125;客户端机器110实际上可以至少根据接收到的提示150来呈现网页125;客户端机器110可以监视网页125的实际呈现,以确定哪些资源127实际用于根据哪些定时呈现页面;并且所监视的信息可以被反馈(即,作为提示反馈147)给提示机器130,用于更新提示信息135并且改良将来提示150的生成。
[0031]
一些实施例以计算生成的方式(例如,基于反馈和分析由机器生成,而不是基于假设由编码器手动生成)生成和处理提示。如本文所述,可以通过使用自动浏览群集(作为提示机器130的一部分)来重复加载网页并且生成和传送它们自已的提示反馈147以用于开发提示模型,从而增强这种机器生成的提示。提示机器130的一些实施例可以响应于提示请求(例如网页请求141)而向客户端机器110提供初步提示功能(例如作为提示150),例如当提示所请求网页的提示模型不可用、过时或类似。例如,当客户端机器110请求网页时,提示机器130可以确定是否存在用于所请求的网页的机器生成提示的可用提示模型。如果是的话,提示机器130则可以向请求客户端机器110提供机器生成提示150。如果不是的话,提示机器130则可以机器生成初步提示150(例如通过一次或多次自动本地提取所请求网页来生成初步提示模型)。
[0032]
在一些实施方式中,提示机器130可以同时触发自动浏览群集以生成(例如,和/或更新等)用于网页的非初步提示模型,随后从所述非初步提示模型机器生成非初步提示150。例如,可以响应于随后对网页的请求而提供非初步提示150。随着时间,可以基于由自动浏览群集生成的提示反馈147和/或由客户端机器110生成的提示反馈147生成和/或更新提示模型。例如,利用自动浏览群集来生成提示反馈147的一些实施例可以以不从一些或任何客户端机器110中接收提示反馈147的方式来实现(例如,一些或所有客户机器110可能不被配置为或不能够生成提示反馈147)。
[0033]
图2示出根据各种实施例的用于使用自动浏览群集来实现提示模型更新的说明性通信环境200的一部分的框图。图2示出了通过网络140与提示机器130进行通信的客户端机器110,其可以是上面参考图1描述的系统的实施方式。一些描述涉及客户端机器110的部件和提示机器130的部件之间的通信,然而这些仅仅是作为功能和连接的一般说明。参与图1所述,并如图2一般地所示,提示机器130可以与客户端机器110(通过网络140)直接通信,仅经由一个或多个内容服务器120与客户端机器110通信(例如,其中提示机器130通过一个或多个网络140与内容服务器120通信和/或是一个或多个内容服务器120的一部分),通过一个或多个网络140与一个或多个内容服务器120和客户端机器110通信等等。例如,可以在不涉及任何内容服务器120的情况下,仅通过经过一个或多个内容服务器120或以任何合适的组合来在客户端机器110和提示机器130之间处理提示功能。
[0034]
如图所示,客户端机器110可以包括页面提取器115,例如网络浏览器。页面提取器115的实施例可以包括呈现引擎210、资源引擎220和客户端提示子系统230。呈现引擎210可以经由客户端机器110的图形用户界面(gui)215呈现用于消耗(例如显示等)的网页的资源。例如,呈现引擎210可以处理html代码、脚本、页面对象等以经由gui 215有效地提供网页的用户体验。
[0035]
当网页被请求时,资源引擎220可以生成对所请求网页的资源的请求,通过网络140将这些请求传送给一个或多个内容服务器120,响应于请求而接收资源,并且处理响应。为了说明的目的,用户可以经由gui 215请求网页(例如通过输入网址),资源引擎220可以获得呈现所请求网页所需的一些或全部资源(例如根据html代码、脚本、cookie、页面对象等),并且呈现引擎210可以处理所获得的资源以经由gui 215有效地提供所请求网页的用户体验(通过使用资源呈现网页)。
[0036]
如本文所述,页面提取器115的实施例可以使用客户端提示子系统230来利用提示。可以在网络事务中的任何或所有阶段利用提示功能。一个阶段是网页请求阶段,在此期间可以向一个或多个内容服务器120(例如由资源引擎220)做出各种资源请求,并且可以向客户端提示子系统230做出对与这些资源相关的提示的请求(例如由客户端提示子系统230),所述请求与那些资源请求相当。例如,响应于用户请求网页,资源引擎220可以开始请求url(例如根url和子url),并且客户端提示子系统230可以向提示机器130发出指示这些url的一个或多个请求,寻求相关提示。另一个阶段是反馈阶段。正在加载网页的资源时,正在呈现页面时等,客户端提示子系统230可以收集反馈信息,如上所述(例如,关于呈现网页涉及哪些资源、关于资源的定时信息等)。在网页已经被呈现引擎210呈现之后(或者在呈现期间,经由gui 215呈现给用户之后,已经呈现多个页面和聚集反馈之后,或者在任何其他适当的时间),客户端提示子系统230可以将提示反馈发送到提示机器130以用于为网页和/或资源(例如任何调用那些资源的网页)生成未来提示。如本文所述,客户端提示子系统230的一些实施方式利用了提示,但不提供提示反馈(即,它们利用根据由提示机器130和/或其他客户端机器110生成的提示反馈生成的提示)。
[0037]
如图所示,提示机器130的实施例可以包括通信子系统250、初步提示子系统260和提示后端280。通信子系统250的实施例可以促进提示机器130和客户端计算机110之间以及提示机器130和内容服务器120之间的通信功能。例如,通信子系统250可以与任何合适的协议、物理和/或逻辑端口、数据报格式,和/或用于通过公共和/或专用网络、有线和/或无线网络、本地和/或远程网络、安全和/或不安全的网络等通信的任何其他功能交互。在各种实施例中,通信子系统250可以与客户端机器110、自动浏览群集285等通信(例如发送和/或接收)并处理提示请求和提示反馈。通信子系统250的一些实施例还可以处理来自内容服务器120的资源等的通信以供自动浏览群集285使用。尽管示出为设置在提示后端280外部的提示机器130的单个部件,但通信子系统250的实施例可以以分布在各个位置中的多个部件来实现。例如,自动浏览群集285的一些实施方式具有通信子系统250的部分的本地实例,通过所述通信子系统250与内容服务器120、提示机器130的其他部件等进行通信。
[0038]
提示后端280的实施例可以包括提示模型子系统270、提示信息存储135和提示模型数据存储275。提示模型数据存储275和提示信息存储135可以以在相同的数据存储中或位于一个或多个位置中的多个数据存储来实现。数据存储可以包括任何合适的机器可读存
储。通常,提示信息存储135的实施例可以存储可以从其生成提示模型的任何类型的提示反馈信息。例如,提示信息可以包括页面加载定时信息、关于资源是否以及如何作为加载网页的一部分呈现的信息、关于随着时间加载资源的统计和/或趋势等。提示模型子系统270的实施例可以使用存储在提示信息存储135中的提示信息来生成提示模型。提示模型可以被存储在提示模型数据存储275中,并且可以包括用于通知预提取用于呈现相关联的网页的资源的任何信息。
[0039]
提示机器130的实施例可以以各种方式生成在机器生成提示中使用的提示信息。如图所示,一些实施例可以从客户端机器110、自动浏览群集285和/或初步提示子系统260获得提示信息。上面描述了从客户端机器110接收提示信息。例如,在客户端机器110的页面提取器115加载网页之后(例如,或者在加载期间,或者在任何合适的时间),客户端提示子系统230可以将提示反馈传送给关于与网页相关的资源加载的一个或多个提示机器130。由客户端机器110提供的提示反馈信息可以被通信子系统250接收并存储在提示信息存储135中。一旦存储在提示信息存储135中,或者在任何其他适当的时间,提示信息可以被提示模型子系统270用来生成新的提示模型以存储在提示模型数据存储275中和/或更新(例如修复、确认、替换和/或以其他方式影响)与网页相关联的存储的提示模型。
[0040]
提示信息也可以由自动浏览群集285生成并从其接收。自动浏览群集285可以包括一个或多个浏览引擎实例,其可以实现为完整的网络浏览器、浏览器脚本组、一个或多个“机器人”和/或以任何其他合适的方式来实现。在一些实施方式中,自动浏览群集285可以包括(或模拟)多个不同的浏览环境,例如不同的浏览器品牌、移动版本与桌面版本的浏览器、不同版本的浏览器、具有不同插件组的浏览器(例如,对脚本解析的不同支持级别,处理某些文件类型等)等。自动浏览群集285可以一次或多次自主加载网页(或网页的一部分),并且可以根据加载收集和/或生成提示反馈。例如,自动浏览群集285的一个或多个浏览引擎实例可以多次(例如,并行地)加载特定网页以生成提示反馈,其关于网页在特定时间的加载行为、网页在延长的时间帧内的加载行为、在一系列浏览器类型上网页的加载行为等等。由自动浏览群集285生成的提示反馈的类型可以与由客户端机器110生成的提示反馈的类型相同或不同。在任何合适的时间(例如在每次加载网页之后,在多次加载网页之后,周期性地等),自动浏览群集285可以将提示反馈传送给提示信息存储135(例如直接地,经由通信子系统250,或者以任何其他合适的方式传送)。提示信息可以被提示模型子系统270用来生成新的提示模型以存储在提示模型数据存储275中和/或更新(例如修复、确认、替换和/或以其他方式影响)与网页相关联的存储的提示模型。
[0041]
在任何特定时间,提示模型可以以不同的网页的不同级别的充足性存储在提示模型数据存储275中。例如,在特定时间,特定网页可以存在或不存在提示模型,提示模型可以是不完整的(例如缺少信息,接收到少于阈值数量的反馈样本等),用于网页的提示模型可能已过时或陈旧(例如,如果自从接收到网页的提示信息以来已经过去了一段时间,提示模型则可能被认为具有较高的不准确性的可能性)等等。在一些实施例中,提示模型可以仅由自动浏览群集285生成和/或更新。在其他实施例中,提示模型可以进一步由客户端机器110生成和/或更新。例如,在一些实施例中,一些或全部客户端机器110未被配置为和/或不能够生成和传送提示反馈;使得那些客户端机器110无助于生成提示模型。
[0042]
提示机器130的一些实施例可以确定是否触发一个或多个提示模型的更新。在一
些实施方式中,提示机器130包括检测用于更新与网页相关联的提示模型的更新触发的装置,其中提示模型是存储在提示模型数据存储275中的多个提示模型中的一个。触发更新可以驱动创建新的提示模型和/或更新现有的提示模型。这种确定可以通过提示机器130的任何合适的部件(例如通过提示模型子系统270)以多种方式进行。在一些情况下,客户端计算机110请求网页时触发了更新。例如,当客户端计算机110请求网页时,实施例可以确定(例如通过咨询提示模型子系统270)提示模型数据存储275中是否存在足够的提示模型。如果是的话,则可以将机器生成提示提供回客户端机器110以用于预提取与加载所请求网页相关联的资源。如果在提示模型数据存储275中没有足够的提示模型,提示模型子系统270则可以指导生成和/或更新提示模型。这可以涉及指导自动浏览群集285生成提示反馈和/或涉及生成初步提示响应,如下面更全面描述的。
[0043]
在其他情况下,根据时间表或任何其他指令(例如传送给提示机器130的人类或自动化命令)来触发更新。提示模型子系统270的实施方式可以保持指导自动浏览群集285爬取某些网页的时间表。例如,可以设置时间表以确保以至少最小频率从每个网页(例如,提示模型存储在提示模型数据存储275中的每个网页)接收提示反馈。一些这样的时间表可以仅考虑从自动浏览群集285接收的提示反馈,而其他这样的时间表可以考虑从客户端计算机110接收的提示反馈(即,时间表可以是静态的或动态的)。此外,时间表可以考虑附加类型的信息,例如多频繁地更新特定网页(或网页类型),可用基础设施容量(例如,为了避免过大带宽和/或其他低效率,时间表可以考虑非高峰使用时间等)等。
[0044]
响应于确定需要更新,提示模型子系统270或提示机器130的任何其他合适的部件可指导自动浏览群集285生成足够的提示反馈以用于生成提示模型。例如,提示模型子系统270可以响应于确定更新与特定网页相关联的特定提示模型而发布更新触发。响应于更新触发,自动浏览群集285可以提取网页(例如根据一个或多个浏览器环境提取一次或多次)以生成用于呈现特定网页的资源的页面提取数据。在一些实施例中,页面提取数据可以用于生成提示反馈,其可以存储在提示信息存储135中。例如,提示机器130的实施例包括用于响应于检测到更新触发而提取网页以生成用于呈现网页的资源的页面提取数据的装置;用于根据页面提取数据生成提示反馈的装置;以及用于将提示反馈传送到提示服务器以便提示服务器更新提示模型的装置。存储的提示信息可以被提示模型子系统270用来生成一个或多个提示模型,其可以存储在提示模型数据存储275中。在随后的一些时间,如果从稍后请求的客户端(相同或不同的客户端机器110)接收到对网页的另一请求,则可以使用所生成的和/或更新的提示模型来机器生成提示,其可以被提供给稍后请求的客户端。
[0045]
一些实施例在网页请求时没有足够提示模型的情况下,向请求客户端机器110提供初步提示响应。例如,当通信子系统250接收到网页请求时,它可以咨询提示模型子系统270以确定是否存在足够的用于所请求网页的提示模型。如果不是的话,即使这些提示基于有限的提示信息,但是仍然可能期望机器生成提示。提示机器130的实施例包括初步提示子系统260,其可以基于有限的提示信息来机器生成提示。例如,初步提示子系统260可以包括一个或多个浏览引擎实例,其可以与自动浏览群集285的浏览引擎实例相似或相同。初步提示子系统260可以加载一些或全部所请求网页一次或多次以生成初步提示反馈信息。初步反馈信息可用于生成初步提示模型,并相应地生成初步提示响应。实施方式以响应可以基本上实时地传送给请求客户端机器110的方式生成初步提示响应。如在该上下文中所使用
的,“基本上实时”旨在暗示对请求客户端机器110来说足够快的定时,以有用于影响对与导致生成初步响应的网页请求相关联的资源的预提取(例如,类似于在请求时定时具有足够提示模型)。
[0046]
图1和2示出了客户端机器110与提示机器130的所有各种部件位于网络140的不同侧上。然而,所示出的架构仅用于简化描述,并不旨在限制可能的替代实施方式。例如,虽然自动浏览群集285被示出为提示后端280的一部分,但是自动浏览群集285的一些部分(例如一个或多个自动浏览引擎实例)可以在初步提示子系统260中,在一个或多个客户端机器110等实现(例如,或者提示后端280可以与初步提示子系统260并置和/或远离初步提示子系统260)。图3a和3b示出了各种替代架构,可通过所述替代架构实现系统,例如图1和2所述的那些。
[0047]
首先转到图3a,示出了根据各种实施例用于使用自动服务器群集来实现机器生成提示的说明性架构300a。架构300a包括通过网络140与提示机器130和内容服务器120通信的客户端机器110。这架构300a与图1和2中所示的架构类似。例如,客户端机器110设置在网络140的客户端侧,并且初步提示子系统260的初步提示功能和提示后端280子系统的非初步提示功能设置在网络的提供者侧(例如在公共节点中,在回程网络的多个节点中等)。
[0048]
图3b示出了根据各种实施例的用于使用自动服务器群集来实现机器生成提示的另一个说明性架构300b。架构300b包括通过第一网络140a与提示机器130和内容服务器120通信的客户端机器110,以及通过第二网络140b通信的提示机器130的各个部分。如图所示,初步提示子系统260可以通过第二网络140b与提示后端280分开。例如,一些或全部提示后端280(例如自动浏览群集285)可以是基于云的,或者以其他方式为远程的或分布的。
[0049]
在一些这样的架构300b中,第一网络140a与第二网络140b相比具有相对较高的延迟(例如和/或更高的可靠性等)。例如,第一网络是卫星网络,第二网络是回程网络。根据某些这样的架构,客户端机器110仅通过提供者侧基础设施的一个或多个节点与内容服务器120通信,并且一些或全部提示机器130可以设置在所述一个或多个节点中。例如,客户端机器110(例如页面提取器)可以被配置为代理客户端,并且提示机器130(例如通信子系统)可以被设置在网络的网关或核心节点中并且被配置为代理服务器;使得来自客户端机器110的所有网页请求经过提示机器130的至少一部分(例如被其截获等)。在这样的实施方式中,初步提示子系统260可以经由回程网络比客户端机器110经由卫星网络更快地从内容服务器120提取所请求网页的资源(例如,特别是给定资源请求的多次往返、资源响应等)。通过更快地提取资源,在一些情况下,初步提示子系统260可以及时生成初步提示响应并将其传送给请求客户端机器110以提供有用的预提取提示(即使那些提示基于有限的初步提示信息)。
[0050]
图4示出根据各种实施例的用于使用自动浏览群集来机器生成提示的说明性方法400的流程图。方法400的实施例可以通过任何合适的系统来实现,例如参照图1-3b描述的系统。方法400可以在阶段404开始,其中通过检测用于更新与网页相关联的提示模型的更新触发。提示模型可以是保持在提示服务器的多个提示模型的其中一个,用于通知预提取用于呈现相关联网页的资源。在一些实施例中,可以确定是否在阶段402触发更新,并且可以响应于在阶段402确定触发更新而在阶段404检测到更新触发。
[0051]
在阶段402确定是否触发更新可以基于多个触发事件。一个这样的事件是预先调
度的模型更新。例如,模型更新的时间表可以由提示服务器和/或任何其他合适的位置保持,并且可以根据时间表来提供更新触发。另一个这样的事件是确定提示模型过时、不可用或有其他不足。例如,提示服务器可以响应于对该网页的客户端请求,响应于多个网页的自动化网页爬取,或以任何其他适合方式,确定用于网页的提示模型是否足以用于机器生成提示。一些实施方式仅基于存在或不存在提示模型来确定不足,而其他实施方式可以使用各种度量来确定现有提示模型是否足够(例如,基于为网页和/或网页上的特定资源等已经接收的阈值数量的提示反馈样本)。另一个这样的事件是接收到客户端对网页的请求。例如,在阶段420,可以从客户端接收用于提取网页的提示请求。该请求可以被视为更新触发,或者可以响应于接收请求而生成更新触发。例如,在阶段420接收到提示请求之后,可以在阶段404检测到更新触发,并且在阶段402进行确定以触发更新,因为该请求针对具有不足够的提示模型的网页。在一些实施例中,如果在阶段402确定不触发更新(例如,在阶段420接收到调用足够的提示模型的提示请求),则可以在阶段424传送基于模型的提示响应(例如响应于提示请求从提示服务器传送到请求客户端)。例如,可以根据足够和/或更新的提示模型来生成基于模型的提示响应。
[0052]
在阶段408,响应于在阶段404检测到更新触发,实例可以由自动浏览群集提取网页,以生成用于呈现网页的资源的页面提取数据。例如,可以通过自动浏览群集的一个或多个浏览实例多次提取网页。在一些实施方式中,根据不同的浏览环境(例如不同的网络浏览器、移动与桌面浏览器、具有不同脚本解析能力的浏览器等)来提取网页。生成的页面提取数据可以包括关于与网页加载有关的资源加载的任何有用信息。例如,页面提取数据可以包括资源加载时间信息、呈现信息(例如关于资源在网页上的位置的信息等)等。
[0053]
在阶段412,可以由自动浏览群集根据页面提取数据生成提示反馈。在阶段416,可以将提示反馈从自动浏览群集传送到提示服务器,从而由提示服务器更新提示模型。在一些实施例中,根据提示反馈更新提示模型,并且在阶段424,可以根据更新的提示模型来传送基于模型的提示响应。
[0054]
在一些实施例中,当在阶段420接收到提示请求并且在阶段402确定触发更新时,可以在阶段430由提示服务器生成初步提示响应。例如,提示服务器的引擎(例如,自动浏览群集和/或任何合适的部件)可以提取网页一次或多次以根据初步提示模型生成初步提示反馈、初步提示模型,以及初步提示响应。在一些这样的实施例中,响应于提示请求,可以在阶段434将初步提示响应基本上实时地从自动浏览群集传送到请求客户端(即,没有可观的延迟,使得客户端可以将其用于改善网页的提取作为对应于所接收的提示请求的网络事务的一部分)。
[0055]
图5提供了计算机系统500的一个实施例的示意图,所述计算机系统500可以执行本文所述的发明的方法,和/或例如可以用作客户端机器110、内容服务器120、提示机器130或任何其他这样的计算机或装置的任何一部分。应该注意的是,图5仅旨在提供对各种部件的一般性说明,其中可适当地使用任何或全部部件。因此,图5广泛地说明了单独的系统元件如何以相对分离或相对更集成的方式来实现。
[0056]
计算机系统500被示为包括可以经由总线505电耦合(或者可以适当地以其他方式进行通信)的硬件元件。硬件元件可以包括一个或多个处理器510,其中包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如数字信号处理芯片、图形加速芯片
和/或类似处理器);一个或多个输入装置515,其可以包括但不限于鼠标、键盘、触摸屏和/或类似物;以及一个或多个输出装置520,其可以包括但不限于显示装置、打印机和/或类似装置。
[0057]
计算机系统500可以进一步包括一个或多个存储装置525(和/或与之通信),所述存储装置525可以包括但不限于本地和/或网络可访问存储和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储装置,诸如随机存取存储(“ram”)和/或只读存储(“rom”)的固态存储装置,其可以是可编程的、闪存可更新的和/或类似的。计算机系统500还可以包括通信子系统530,其可以包括但不限于调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或芯片组(例如802.11装置、wifi装置、wimax装置、蜂窝通信设施等)和/或类似物。通信子系统530可以允许数据与网络(例如以下面描述的网络为一个示例)和/或本文描述的任何其他装置交换。在许多实施例中,计算机系统500将进一步包括工作存储535,其可以包括ram或rom装置,如上所述。
[0058]
计算机系统500还可以包括示为当前位于工作存储535内的软件元件,包括操作系统540和/或其他代码(例如一个或多个应用545),其可以包括本发明的计算机程序和/或者可以被设计为实施本发明的方法和/或配置本发明的系统,如本文所述。仅作为示例,参照以上讨论的方法描述的一个或多个过程可以实现为可由计算机(和/或计算机内的处理器)执行的代码和/或指令。这些指令和/或代码组可以存储在计算机可读存储介质(例如上述的存储装置525)上。在一些情况下,存储介质可以并入计算机系统内,例如系统500。在其他实施例中,存储介质可以与计算机系统(即,可移除介质,例如压缩光盘等)分开,和/或提供在安装包中,使得存储介质可以用于编程其上存储有指令/代码的通用计算机。这些指令可以采用可由计算机系统500执行的可执行代码的形式,和/或可以采取源代码和/或可安装代码的形式,在编译和/或安装在计算机系统500上时(例如使用各种通常可用的编译器、安装程序、压缩/解压缩实用程序等中的任何一种),则采取可执行代码的形式。在某些实施例中,这可以包括页面提取器功能,并且可以包括分离的页面提取器模块作为这页面提取器功能的一部分,其由允许在这种计算机系统500的输出装置520上显示网页的过程执行。
[0059]
对于本领域技术人员显而易见的是,可以根据具体要求做出实质性的变化。例如,也可以使用定制的硬件,和/或可以用硬件、软件(包括便携式软件,例如小应用程序等)或两者来实现特定的元件。此外,可以使用对其他计算装置(例如网络输入/输出装置)的连接。
[0060]
在一个方面,本发明采用计算机系统(例如计算机系统500)来执行本发明的方法。根据实施例组,计算机系统500响应于处理器510执行包含在工作存储535中的一个或多个指令的一个或多个序列(其可以被并入到操作系统540和/或其他代码,例如应用545)来执行这些方法的一些或全部过程。这样的指令可以从另一个机器可读介质(例如一个或多个存储装置525)读入到工作存储535中。仅仅作为示例,工作存储535中包含的指令序列的执行可能导致处理器510执行本文描述的方法的一个或多个过程。
[0061]
本文使用的术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统500实现的实施例中,各种机器可读介质可涉及向处理器510提供用于执行的指令/代码,和/或可能用于存储和/或携带这样的指令/代码(例如作为信号)。在许多实施方式中,计算机可读介质是物理和/或有形的存储介
质。这种介质可以采取许多形式,包括但不限于非易失性介质。非易失性介质包括例如光盘或磁盘,例如存储装置525。物理和/或有形计算机可读介质的常见形式包括例如软盘、硬盘、磁带或任何其他磁介质、cd-rom或任何其他光介质、基于固态电路的存储或任何其他其他存储芯片或软片,或计算机可以从其读取指令和/或代码的任何其他介质。将一个或多个指令的一个或多个序列携带到处理器510以供执行可涉及各种形式的机器可读介质。仅作为示例,指令可以最初被携带在远程计算机的存储上。远程计算机可将指令加载到其动态存储中,并通过传输介质将指令作为信号发送,以由计算机系统500接收和/或执行。
[0062]
通信子系统530(和/或其部件)通常将接收信号,并且总线505然后可以将信号(和/或由信号携带的数据、指令等)携带到工作存储535,处理器510从工作存储535检索并执行指令。由工作存储535接收的指令可以在由处理器510执行之前或之后可选地存储在存储装置525上。
[0063]
图6示出了根据一些实施例可以使用的网络系统600的示意图。在这样的实施例中,网络系统600可以表示任何数量的客户端和服务器装置,其使内容能够作为跨过网络的网页事务的一部分从内容提供者传送到用户系统。系统600可以包括一个或多个用户计算机605,例如用于实现图1的客户端机器110的计算机。用户计算机605可以是通用个人计算机和/或可以具有多种应用中的任何应用,包括被配置为执行本发明的方法的一个或多个应用以及一个或多个办公应用、数据库客户端和/或服务器应用和页面提取器应用。可选地,用户计算机605可以是任何其他电子装置,例如瘦客户端机器、使用互联网的移动电话、平板计算机、平板手机、可穿戴装置、使用互联网的装置和/或个人数字助理(pda),其能够经由网络(例如下面描述的网络610)进行通信和/或显示和导航网页或其他类型的电子文档。尽管示例性系统600被示出为具有三个用户计算机605a-c,但是可以支持任意数量的用户计算机。
[0064]
本发明的某些实施例在网络环境中操作,其可以包括网络610,例如用于实现图1的网络140。网络610可以是本领域技术人员熟悉的任何类型的网络,其可以支持使用任何一种各种商业可用协议的数据通信,包括但不限于tcp/ip、udp/ip、sna、ipx等。仅作为示例,网络610可以是局域网(“lan”),包括但不限于以太网网络、令牌环网络等和/或类似网络;广域网(wan);虚拟网络,包括但不限于虚拟专用网络(“vpn”);互联网;内联网;外联网;公共交换电话网(“pstn”);红外网络;无线网络,包括但不限于在任何ieee 802.11协议族或任何其他无线协议下运行的网络;和/或这些和/或其他网络的任何组合。
[0065]
本发明的实施例可以包括一个或多个服务器615(或者类似类型的计算系统)。服务器615的实施例可以用于实现内容服务器120和/或提示机器130。如上所述,提示机器130还可以是一个或多个内容服务器120的一部分和/或一个或多个客户端机器110的一部分,其可以实现为一个或多个服务器615。每个服务器615可以配置有操作系统,包括但不限于以上讨论的任何操作系统,以及任何商业(或免费)可用的服务器操作系统。每个服务器615还可以运行一个或多个应用,其可以被配置为向一个或多个用户计算机605和/或其他服务器615提供服务。
[0066]
仅作为示例,服务器615中的一个可以是网络服务器,其可以仅作为示例用于处理对来自用户计算机605的网页或其他电子文档的请求。网络服务器还可以运行各种服务器应用,包括http服务器、ftp服务器、cgi服务器、数据库服务器、脚本服务器等。在本发明的
一些实施例中,网络服务器可以被配置为服务可以在一个或多个用户计算机605上的页面提取器内操作的网页,以执行本发明的方法。在某些实施例中,服务器615还可以包括cdn装置,其从替代服务器提供与作为网页事务中的特定对象的源的主内容服务器相似或相同的内容。
[0067]
在一些实施例中,服务器615可以包括一个或多个应用服务器,其可以包括可由在用户计算机605和/或其他服务器615中的一个或多个上运行的客户端访问的一个或多个应用。仅作为示例,服务器615可以是能够响应于用户计算机605和/或其他服务器615而执行程序或脚本的一个或多个通用计算机,包括但不限于网络应用(其在一些情况下可能被配置为执行本发明的方法)。仅作为示例,网络应用可以被实现为以任何适当的编程语言编写的一个或多个脚本或程序。应用服务器还可以包括数据库服务器,其可以处理来自运行在用户计算机605和/或另一服务器615上的客户端(视乎取决于配置器,包括数据库客户端、api客户端、页面提取器等)的请求。在一些实施例中,根据本发明的实施例,应用服务器可以动态地创建用于显示信息的网页,例如显示为本文所讨论的各种页面提取器的一部分的信息。由应用服务器提供的数据可以被格式化为网页(例如包括html、脚本等)和/或可以经由内容服务器120被转发到用户计算机605。类似地,内容服务器120可以从用户计算机605接收网页请求和/或输入数据和/或将网页请求和/或输入数据转发到应用服务器。在一些情况下,内容服务器120可以与应用服务器集成。
[0068]
根据另外的实施例,一个或多个服务器615可以用作文件服务器和/或可以包括实现本发明的方法所需的一个或多个文件(例如应用代码、数据文件等),其由用户计算机605和/或另一个服务器615上运行的应用并入。替代地,如本领域技术人员将理解的,文件服务器可以包括所有必要的文件,允许用户计算机605和/或服务器615远程调用这样的应用。应该注意,参照本文中的各种服务器(例如应用服务器、数据库服务器、网络服务器、文件服务器等)描述的功能可以由单个服务器和/或多个专用服务器来执行,这取决于特定于实施方式的需求和参数。
[0069]
在某些实施例中,系统可以包括一个或多个数据库620,例如用于实现由各种实施例的系统和方法使用的提示信息数据存储135、提示模型数据存储275和/或任何其他合适的数据存储。这样的数据库可以包括网络事务历史和从该网络事务历史导出的提示的存储。任何与创建这种提示有关的支持细节都可以另外存储在这样的数据库中。数据库620的位置是任意的:仅作为示例,数据库620a可以停留在位于(和/或驻留在)服务器615a(和/或用户计算机605)的存储介质上。替代地,数据库620b可以远离任何或所有计算机605或服务器615a、b,只要数据库620b可以与这些中的一个或多个(例如经由网络610)进行通信即可。在特定的实施例组中,数据库620可以停留在本领域技术人员熟悉的存储区域网络(“san”)中。类似地,用于执行归属于计算机605或服务器615的功能的任何必要文件可以根据需要本地和/或远程地存储在相应的计算机上。在实施例组中,数据库620可以是适合于响应于sql格式化的命令而存储、更新和检索数据的关系数据库。例如,数据库可以由数据库服务器控制和/或保持,如上所述。
[0070]
在本文所述的任何实施例中,还可以使用超文本传输协议安全协定(https)来实现任何通信、超文本协议(http)请求或响应、网页事务、网页事务的一部分,或可全部或部分使用http的任何通信的任何组合。https的使用涉及加密和各种安全措施,而本文描述的
任何实施例可适用于实现本文描述的系统和方法,从而以多种方式调节与https相关联的加密和安全性。
[0071]
在某些实施例中,涉及本文描述的任何通信的代理装置可以被提供有与https通信相关联的细节,以便实现本文描述的任何代理装置功能。这些细节可以由用户装置在用户同意的情况下提供,以允许代理装置或提示机器装置与用户通信的交互。这可以使代理能够对https通信进行解密以允许本文描述的任何功能。还可以由内容服务器或内容服务器操作者提供这种允许解密的细节,以使代理装置能够与内容提供者的通信进行交互。对于本文中描述的与客户端侧功能或页面提取器功能相关的实施例的各方面,某些实施例可以以上述用于代理装置的相同实施方式起作用。此功能也可以用于任何其他服务器侧或内容装置。
[0072]
在其他实施例中,除了https通信的代理解密之外,用户装置上的浏览器可以独立于原始https通信与代理装置或提示机器装置交互,以向代理装置或提示机器装置提供https通信的细节。在用户装置页面提取器中,这可能涉及使用页面提取器模块、页面提取器插件或页面提取器,其具有专用核心功能,以在它们被加密之前观察https通信。如果需要,与代理装置或提示机器装置的独立通信然后可能额外受到类似于用于原始https通信的安全性的安全性保护。对于本文描述的可涉及与内容提供者系统或反向代理系统集成的实施例而言,在内容提供者系统或反向代理接收的https通信可在内容提供者系统或反向代理解密https通信之后用作本文描述的实施例的一部分。因此,可以利用用于客户端机器、代理装置和内容提供者装置的https通信来执行本文描述的任何“观察”或“标识”功能。类似地,除了上面描述的https之外,本文描述的任何实施例可以用其他安全连接和通信系统或协议来实现。
[0073]
本文描述的某些实施例涉及代理装置或代理系统。如本文所述,代理装置可以是作为系统的一部分操作的一个或多个装置,以截获用户装置和内容装置之间的通信。这种代理对于用户和内容装置可以是明晰的,或者可以对于用户和内容装置是明显的多步骤通信路径的一部分。在某些实施例中,代理装置可以用作转发代理系统的一部分,其中来自用户装置组的通信全部经由转发代理系统传送到更广泛的网络(例如互联网)。在替代实施例中,代理装置可以用作反向代理系统的一部分,其中反向代理系统作为到多个内容服务器装置的访问路径来操作。显而易见的是,本文描述为包括代理的实施例将适用于转发代理系统和反向代理系统,以及包含代理的系统的任何配置,前题是对于特定系统结构有适当的调节。
[0074]
本文公开的方法包括用于实现所述方法的一个或多个动作。在不脱离权利要求的范围的情况下,方法和/或动作可以彼此互换。换句话说,除非指定了特定的动作顺序,否则在不脱离权利要求的范围的情况下,可以修改具体动作的顺序和/或使用。
[0075]
所述的功能可以用硬件、软件、固件或其任何组合来实现。如果以软件实现,则可以将功能作为一个或多个指令存储在有形的计算机可读介质上。存储介质可以是可由计算机访问的任何可用的有形介质。作为示例而非限制,这种计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储装置,或者可以是用于以指令或数据结构的形式携带或存储期望的程序代码并且可以由计算机访问的任何其他有形介质。这里使用的盘(disk)和盘(disc)包括压缩光盘(cd)、激光盘、光盘、数字多功能盘
(dvd)、软盘和盘,其中盘(disk)通常磁性地再现数据,而盘(disc)以激光光学地再现数据。
[0076]
计算机程序产品可以执行本文提出的某些操作。例如,这样的计算机程序产品可以是其上具有有形地存储(和/或编码)的指令的计算机可读有形介质,所述指令可由一个或多个处理器执行以执行本文描述的操作。计算机程序产品可以包括包装材料。软件或指令也可以通过传输介质传输。例如,可以使用诸如同轴电缆、光纤电缆、双绞线、数字用户线(dsl)等传输介质,或诸如红外线、无线电或微波等无线技术来从网站、服务器或其他远程源传输软件。
[0077]
此外,用于执行本文描述的方法和技术的模块和/或其他合适的装置可以通过合适的终端和/或耦合到服务器等来下载和/或以其他方式获得,以便于传送用于执行本文描述的方法的装置。替代地,可以经由存储装置(例如ram、rom、诸如cd或软盘等物理存储介质)来提供本文描述的各种方法,使得用户终端和/或基站在将存储装置耦合或提供给装置时可以获得各种方法。此外,可以利用用于将本文所述的方法和技术提供给装置的任何其他合适的技术。实现功能的特征还可以物理地位于各位置,包括分布成使得部分功能在不同的物理位置实现。
[0078]
在描述本发明时,将使用以下术语:除非上下文另有明确规定,否则单数形式冠词“a”、“an”和“the”包括复数指示物。因此,例如对项目的引用包括对一个或多个项目的引用。术语“一个”(one)或“一个”(ones)是指一个、两个或更多个,并且通常适用于选择一些或全部数量。术语“多个”是指两个或更多个项目。术语“约”意味着数量、尺寸、大小、配方、参数、形状和其他特征不需要是精确的,但可以按期望大致和/或更大或更小,反映可接受的公差、转换因子、舍入、测量误差等以及本领域技术人员已知的其他因素。术语“基本上”是指所述特性、参数或值不需要精确地实现,但是偏差或变化(包括例如公差、测量误差、测量精度限制和本领域技术人员已知的其他因素)可以以不妨碍该特性旨在提供的效果的程度发生。本文可以用范围格式表示或呈现数值数据。应该理解,这样的范围格式仅仅为了方便和简洁而使用,并且因此应该被灵活地解释为不仅包括作为范围界限明确列举的数值,而且还被解释为包括所有个别数值或包含在该范围内的子范围,如同每个数值和子范围被明确列举一样。作为说明,“约1至5”的数值范围应被解释为不仅包括明确列举的约1至约5的值,而且还包括所指示的范围内的个别值和子范围。因此,包括在该数值范围内的是诸如2、3和4的个别值以及诸如1-3、2-4和3-5等的子范围。同样的原则适用于仅列举一个数值(例如“大于大约1”)的范围,并且不管所描述的范围的宽度或特征如何都应该适用。为了方便起见,可以在共同清单中呈现多个项目。但是,这些清单应该被解释为列表中的每个成员都被个别地标识为独立且唯一的成员。因此,不应该仅仅基于它们在共同组中表述而没有相反的指示,便将这种清单的任何成员解释为等同于同一清单中任何其他成员事实上的等同物。此外,当术语“和”和“或”与项目列表一起使用时,它们应被广泛地解释为任何一个或多个列出的项目可以单独使用或与其他列出的项目组合使用。术语“替代地”是指选择两个或更多个替代方案中的一个,并且不旨在将选择限制于仅列出的替代方案或一次仅列出所列出的替代方案的其中一个,除非上下文另有明确指示。如本文所使用的术语“耦合”不要求部件直接彼此连接。相反,该术语旨在还包括具有间接连接的配置,其中一个或多个其他部件可以被包括在所耦合的部件之间。例如,这样的其他组件可以包括放大器、衰减器、隔
离器、定向耦合器、冗余开关和类似组件。此外,如本文所用,包括在权利要求书中使用的,由“至少一个”开头的项目列表中使用的“或”指示分离列表,使得例如“a、b或c中的至少一个”表示a或b或c或ab或ac或bc或abc(即a和b和c)。此外,术语“示例性”并不意味着所描述的示例比其他示例更优选或更好。类似地,诸如“优化”之类的术语不旨在将实施例限制为最佳方法或结果,而是意图表达寻求移向最优结果(例如改善等)。如这里所使用的,元件的“组”旨在表示“一个或多个”那些元件,除非明确要求该组具有多于一个或明确允许为空集。
[0079]
在不脱离由所附权利要求限定的教导的技术的情况下,可以对本文描述的技术进行各种改变、替换和改变。此外,本公开和权利要求的范围不限于上述过程、机器、产品、物质组成、装置、方法和动作的特定方面。可以利用执行与本文描述的相应方面基本上相同的功能或实现基本上相同结果的目前存在或以后开发的过程、机器、产品、物质组成、装置、方法或动作。因此,所附权利要求在其范围内包括这样的过程、机器、产品、物质组成、装置、方法或动作。

技术特征:
1.一种使用与机器驱动的提示服务器通信的自动浏览群集更新提示模型的方法,所述方法包括:检测用于更新与网页相关联的提示模型的更新触发,所述提示模型是保持在提示服务器的多个提示模型中的一个,用于通知预提取用于呈现相关联网页的资源;由自动浏览群集响应于所述检测而提取网页,以生成用于呈现网页的资源的页面提取数据;由自动浏览群集根据页面提取数据生成提示反馈;和将提示反馈从自动浏览群集传送到提示服务器,从而由提示服务器更新提示模型。2.根据权利要求1所述的方法,其中响应于从请求客户端接收到用于提取网页的提示请求而检测到更新触发。3.根据权利要求2所述的方法,还包括:响应于检测到更新触发,由提示服务器生成初步页面提取数据;由提示服务器根据初步页面提取数据生成初步提示响应;和响应于提示请求,基本上实时地将初步提示响应从提示服务器传送到请求客户端。4.根据权利要求1所述的方法,其中响应于代理请求者对网页的自动爬取而检测到更新触发。5.根据权利要求1所述的方法,其中响应于确定用于网页的提示模型不存在于提示服务器中而检测到更新触发。6.根据权利要求1所述的方法,其中响应于确定提示服务器中用于网页的提示模型不完整和/或过时而检测到更新触发。7.根据权利要求1至6中任一项所述的方法,其中资源组中的至少一个是网页的统一资源定位符(url)。8.根据权利要求1至7中任一项所述的方法,其中页面提取数据包括每个用于呈现网页的资源的页面加载定时信息。9.根据权利要求1至8中任一项所述的方法,其中所述提取包括多次提取网页以生成页面提取数据。10.根据权利要求1至9中任一项所述的方法,其中自动浏览群集包括多个网络浏览器实例。

技术总结
实施例试图通过使用自动浏览群集来生成和更新用于机器生成提示的提示模型来改进预提取提示。例如,提示机器可以包括浏览群集,其响应于更新触发(例如客户端网页请求、调度的网页爬取等)而自主地提取网页,并且生成定时和/或其他提示相关的反馈,其关于哪些资源用于加载所提取网页。提示机器可以使用提示反馈来生成和/或更新提示模型,其可以用于机器生成提示。一些实施例可以响应于客户端提示请求而提供初步提示功能,例如当用于所请求页面的提示模型不足时(例如不可用、过时等)。例如,如果没有足够的提示模型,提示机器可以提取页面以生成初步提示反馈,其可被用于机器生成初步提示。提示。提示。


技术研发人员:埃里克
受保护的技术使用者:维尔塞特公司
技术研发日:2015.10.20
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐