一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

提供统一资源定位符预览的制作方法

2022-02-21 04:26:14 来源:中国专利 TAG:

提供统一资源定位符预览


背景技术:

1.统一资源定位符(或url)是用于引用计算机网络(例如因特网)上的可用资源的字符串。示例资源可以是网页、文件、账户、数据库等。统一资源定位符通常称为“网址”。统一资源定位符解析为一种从计算机网络取回资源的机制。例如,域名服务器(dns)服务器可用于将统一资源定位符解析为互联网协议(ip)地址。然后可以使用互联网协议来使用ip地址访问资源。
2.统一资源定位符(或与统一资源定位符相关联的可视化)可以被超链接,使得用户可以简单地选择统一资源定位符(或其可视化)从而触发解析统一资源定位符,并使用所得到的访问机制来访问相应的资源。一些应用还可以提供资源的预览,使得用户在选择超链接之前对资源是什么有一定的了解。例如,可以在社交媒体页面、聊天窗口、文档、电子邮件等中张贴统一资源定位符,从而导致自动向用户显示底层资源的预览。
3.传统上,用于生成预览的机制是基于正在访问的资源类型而预先确定的。例如,如果资源是网页,则网页的标题可能被提取并用于填充预览的一个预定部分。类似地,可以访问网页的其他预定部分并将其填充到预览的其他预定部分中。
4.本文要求保护的主题不限于解决任何缺点或仅在诸如上述那些环境中操作的实施例。相反,提供该背景仅是为了说明可以实践在此描述的一些实施例的一个示例性技术领域。


技术实现要素:

5.本文描述的至少一些实施例涉及提供统一资源定位符的预览的预览提供者计算系统。当在计算系统上(例如在聊天窗口、电子文档等中)表示统一资源定位符(例如,网址)时,对用户查看由该统一资源定位符表示的资源(例如,网页)的预览是有帮助的。这里,当预览提供者提供与统一资源定位符相关联的预览时,预览提供者还准备对该统一资源定位符的选择。毕竟,当预览提供者提供与统一资源定位符相关联的预览时,现在更有可能期望向其提供了预览的用户导航到该统一资源定位符。因此,对与该预览关联的资源的请求可能更可能即将到来。
6.因此,响应于检测到对预览的请求的接收,不仅预览提供者提供预览,而且预览提供者还执行准备动作以准备对与统一资源定位符相关联的资源的请求。仅作为示例,预览提供者可以创建内容、刷新数据和/或改变配置和/或设置以准备更高效地处理对资源的后续请求。作为其他示例,如果对预览的请求包括将查看预览的用户的标识,则预览提供者可能会改变该用户的访问控制、将用户添加到名册等,以期更高效地处理来自该用户的访问资源的请求。在包含受限内容的预览的情况下,即使在提供预览本身之前,预览提供者也可以验证用户是否有查看该受限内容的授权,并且无论是否采取准备行动以预期该用户稍后访问与统一资源定位符相关联的资源。
7.因此,本文描述的原理通过确保具有受限内容的预览不会被不恰当地提供给不应看到该内容的用户来推进提供统一资源定位符的预览的技术领域。潜在地,当用户稍后请
求访问与统一资源定位符相关联的资源时,准备动作还可以允许对资源进行更高效和定制的访问。
8.提供此概述以简化形式介绍选择的概念,这些概念将在下面的详细说明中进一步描述。本概述无意确定要求保护的主题的关键特征或基本特征,也无意用作确定要求保护的主题的范围的帮助。
附图说明
9.为了描述可以获得本发明的上述和其他优点和特征的方式,将通过参考在附图中示出的其具体实施例对以上简要描述的本发明进行更具体的描述。应理解的是,这些附图仅描绘了本发明的典型实施例并且因此不被认为是对其范围的限制,本发明将通过使用附图以额外的特异性和细节来描述和解释,其中:
10.图1图示了其中可以采用本文描述的原理的环境,并且该环境包括在提供统一资源定位符的预览的多个预览提供者和其中可以随时间表示统一资源定位符的多个客户端计算系统之间进行调解的服务器计算系统;
11.图2图示了用于帮助预览提供者向在其中表示了统一资源定位符的客户端计算系统提供统一资源定位符的预览的方法的流程图,;
12.图3图示了将统一资源定位符模式与预览提供者相关联的映射数据结构;
13.图4图示了代表图2的方法的示例的示例方法;
14.图5图示了确保用户同意预览提供者提供预览的方法的流程图;
15.图6图示了将用户映射到预览提供者的示例映射数据结构;
16.图7图示了根据本文描述的原理的用于提供统一资源定位符的预览的方法的流程图;
17.图8图示了预览请求,其包括统一资源定位符,以及潜在地包括将向其显示预览的用户的用户标识;
18.图9图示了其中可以采用本文描述的原理的示例计算机系统。
具体实施方式
19.本文描述的至少一些实施例涉及提供统一资源定位符的预览的预览提供者计算系统。当在计算系统上(例如在聊天窗口、电子文档等中)表示统一资源定位符(例如,网址)时,对用户查看由该统一资源定位符表示的资源(例如,网页)的预览是有帮助的。这里,当预览提供者提供与统一资源定位符相关联的预览时,预览提供者还准备对该统一资源定位符的选择。毕竟,当预览提供者提供与统一资源定位符相关联的预览时,现在更有可能期望向其提供了预览的用户导航到该统一资源定位符。因此,对与该预览关联的资源的请求可能更可能即将到来。
20.因此,响应于检测到对预览的请求的接收,不仅预览提供者提供预览,而且预览提供者还执行准备动作以准备对与统一资源定位符相关联的资源的请求。仅作为示例,预览提供者可以创建内容、刷新数据和/或改变配置和/或设置以准备更有效地处理对资源的后续请求。作为其他示例,如果对预览的请求包括将查看预览的用户的标识,则预览提供者可能会改变该用户的访问控制、将用户添加到名册等,以期更高效地处理来自该用户的访问
资源的请求。在包含受限内容的预览的情况下,即使在提供预览本身之前,预览提供者也可以验证用户是否有查看该受限内容的授权,并且无论是否采取准备行动以预期该用户稍后访问与统一资源定位符相关联的资源。
21.因此,本文描述的原理通过确保具有受限内容的预览不会被不恰当地提供给不应看到该内容的用户来推进提供统一资源定位符的预览的技术领域。潜在地,当用户稍后请求访问与统一资源定位符相关联的资源时,准备动作还可以允许对资源进行更有效和定制的访问。
22.图1图示了其中可以采用文本描述的原理的环境100。环境100包括多个客户端计算系统101和相关联的用户102。在所示示例中,存在四个客户端计算系统101a到101d。然而,省略号101e表示环境100内的客户端计算系统101可以包括任意数量的客户端计算系统101,并且客户端计算系统的数量和身份可以随着时间而改变。每个客户端计算系统101可以如下文针对图9的计算系统900所描述的那样构造。
23.在所示示例中,存在分别对应于每个客户端计算系统101a到101d的四个用户102a到102d。然而,省略号102e表示那些客户端计算系统101的用户102的数量和身份可以同样随时间变化,并且进一步表示单个客户端计算系统可以潜在地具有多个用户,并且给定客户端计算系统的用户也可以随着时间而改变。
24.本文描述的原理可以由预览提供者计算系统来执行。因此,虽然环境100可以包括少至执行提供这里描述的预览的单个预览提供者,但是环境100还潜在地包括多个预览提供者103。虽然不做要求,在通篇频繁描述的一个实施例中,每个预览提供者103可以提供与特定类型或模式的统一资源定位符相关联的预览。也就是说,本文描述的更广泛的原理不限于仅限于提供某些统一资源定位符的预览的预览提供者。
25.预览向用户提供由统一资源定位符表示的资源的一部分内容的视觉表示。例如,如果统一资源定位符是新闻网页,则预览可能会标识新闻媒体,并可能提供一个或几个标题。如果统一资源定位符是与特定产品相关联的电子商务站点的页面,则预览可能会显示该产品以及有关该产品的一些基本信息(并潜在地提供允许用户购买该产品的控件)。如果统一资源定位符是软件开发人员协作站点,则预览可能会显示协作站点的一些可视化,标识未解决的错误,并潜在地提供关闭(即标识为已解决)特定软件错误的控件。
26.每个预览提供者103可以如下文针对图9的计算系统900所描述的那样构造。在图1的示例中,存在三个预览提供者103a到103c。然而,省略号103d表示在环境100内可以有任意数量的预览提供者103,并且预览提供者的数量和身份可以随着时间而改变。例如,如前所述,可能只有少至一个预览提供者。另一方面,可能有无数的预览提供者,或者介于两者之间的任何数量。
27.在客户端计算系统101中可以表示各种统一资源定位符。例如,用户可以将统一资源定位符键入或粘贴到客户端计算系统的相应应用中,或者用户可以接收电子消息或打开包含统一资源定位符的电子文档。
28.在所示示例中,统一资源定位符104a和104b表示在客户端计算系统101a上,统一资源定位符104c到104e表示在客户端计算系统101b上,统一资源定位符104f和104g表示在客户端计算系统101c上,统一资源定位符104h和104i表示在客户端计算系统101d上。统一资源定位符104a到104i在本文中通常统称为统一资源定位符104。虽然统一资源定位符104
被示为同时表示在客户端计算系统101上,但统一资源定位符104可以是在他们各自的客户端计算系统上一次表示一个,也许在不同的时间。
29.统一资源定位符每个都是一串字符。通常,统一资源定位符可能具有共同的模式,即使统一资源定位符不同。例如,不同的统一资源定位符可能仍然具有相同的域名(例如,“contoso.com”)。在图1中,具有共同模式的统一资源定位符由具有相同形状的统一资源定位符表示。然而,不同的统一资源定位符虽然具有相同的共同模式,但由形状相同但大小不同的统一资源定位符来表示。
30.例如,在图1的示例中,统一资源定位符104a、104c和104h都由向下三角形表示,表示这些统一资源定位符遵循相同的第一模式。然而,统一资源定位符104a和104h被示为具有相同大小的向下三角形,表示统一资源定位符104a和104h是相同的。相比之下,统一资源定位符104c显示为更大的尺寸,表示统一资源定位符104c虽然遵循相同的第一模式,但与统一资源定位符104a和104h不同。
31.继续该示例,统一资源定位符104b、104f和104g遵循第二模式,如由每个由圆圈表示的所表示的。然而,虽然统一资源定位符104b和104g相同,但统一资源定位符104f不同。此外,统一资源定位符104e和104i遵循第三模式,如每个都由平行四边形表示所表示的,但是统一资源定位符104e和104i仍然彼此不同。最后,统一资源定位符104d遵循第四模式,由向上三角形表示。
32.在示例实施例中,每个预览提供者103被配置成对于遵循特定模式的统一资源定位符提供预览。例如,预览提供者103a被配置成对于遵循第一模式的统一资源定位符提供预览。因此,预览提供者103a可以对于遵循第一模式的统一资源定位符104a、104c和104h提供预览。因此,预览提供者103a(如统一资源定位符104a、104c和104h)被表示为向下三角形。类似地,预览提供者103b被配置成对于遵循第二模式的统一资源定位符(例如统一资源定位符104b、104f和104g)提供预览,因此类似地由圆圈表示。此外,预览提供者103c被配置成对于遵循第三模式的统一资源定位符(例如统一资源定位符104e和104i)提供预览,因此类似地由平行四边形表示。没有预览提供者被配置成对于遵循第四模式的统一资源定位符(例如统一资源定位符104d)提供预览,因此在预览提供者103中没有形状为向上的三角形的预览提供者。
33.在一个示例中,虽然不是必需的,但是服务器计算系统110在预览提供者103和客户端计算系统101之间进行调解。更具体地,服务器计算系统110通过帮助预览提供者103向在其中表示了统一资源定位符的相应的客户端计算系统101提供统一资源的预览来进行调解。服务器计算系统110可以如下文针对图9的计算系统900所描述的那样构造。
34.图2图示了用于帮助预览提供者向在其中表示了统一资源定位符的客户端计算系统提供统一资源定位符的预览的方法200的流程图。作为示例,方法200可以由图1的服务器计算系统110执行。因此,现在将频繁参考图1的环境100来描述图2的方法200。例如,如果服务器计算系统110是图9的计算系统900,可以由计算系统900响应于一个或多个处理器(例如,至少一个硬件处理单元902)执行在一个或多个计算机可读介质(例如,存储器904)上的计算机可执行指令来执行方法200。那些计算机可执行指令可以被构造成使得当由一个或多个处理器执行时,使计算系统执行方法200。
35.方法200开始于确定在客户端计算系统中表示了统一资源定位符(动作201)。例
如,在此处参考图1称为“主题示例”的示例中,服务器计算系统110确定在客户端计算系统101a中表示了统一资源定位符104a。例如,用户102a可能已经查看了包括统一资源定位符104a的数据结构(例如,文档、窗口、电子通信、网页等)。用户102a也可能已经将统一资源定位符104a键入或粘贴到这样的数据结构中。在图1的主题示例中,方法200然后将继续使统一资源定位符104a的预览显示给客户端计算系统101a的用户102a。预览将使用户对由统一资源定位符104a表示的资源的内容有所了解。例如,资源的部分可能用于填充(在潜在的一些过滤之后)预览的部分。
36.回到图2的方法200,基于统一资源定位符的结构,服务器计算系统110从多个预览提供者中选择一个预览提供者(动作202)。例如,这可以通过将统一资源定位符与统一资源定位符和相应预览提供者的映射进行比较来执行。例如,图3图示了映射数据结构300,其将统一资源定位符模式301与预览提供者103a关联(如双向箭头311所表示),将统一资源定位符模式302与预览提供者103b关联,如双向箭头312所表示,将统一资源定位符模式303与预览提供者103c关联,如双向箭头313所表示。
37.例如,统一资源定位符模式301可以是“*.contoso.com*”(其中“*”是通配符,可以表示任意长度的任何字符串,也可以包括空字符串),表示示例第一模式。因此,“www.contoso.com/dashboard/review.html”、“http://www.upgrade.contoso.com”和“www.myview.contoso.com/myaccount.html”将分别是与统一资源定位符模式301匹配的统一资源定位符,即使这些统一资源定位符彼此不同。作为另一示例,统一资源定位符模式302可能是“*.law*”(表示示例第二模式)并且因此具有“.law”扩展名的任何统一资源定位符都将与该统一资源定位符模式302匹配。作为进一步的示例,统一资源定位符模式303可能是“ftp://*”(表示示例第三模式)并且因此任何文件传输协议统一资源定位符将与该统一资源定位符模式303匹配。
38.当然,这些统一资源定位符模式301至303只是示例,因为本文描述的原理可以应用于任何统一资源定位符模式,无论其宽泛或狭窄,以及如何表达。事实上,如前所述,本文描述的原理甚至不限于仅对于遵循特定模式的可能的统一资源定位符的子集提供预览的预览提供者。此外,虽然在该示例中只有三个统一资源定位符模式,但是这里描述的原理可以扩展到统一资源模式的数量是无数的实施例。
39.在主题示例中,假设统一资源定位符104a是“www.contoso.com/dashboard/review.html”。因此,服务器计算系统110选择预览提供者103a为统一资源定位符104a提供对应的预览(动作202)。
40.返回到图2,响应于基于统一资源定位符的结构选择预览提供者(动作202),服务器计算系统然后促进在其中表示了统一资源定位符的客户端计算系统与基于该统一资源定位符的结构选择的预览提供者之间的通信(动作203)。该通信的目的是使基于统一资源定位符的结构选择的预览提供者能够向在其中表示了统一资源定位符的客户端计算系统提供与统一资源定位符对应的预览。在图1的主题示例中,在客户端计算系统101a中表示统一资源定位符104a,服务器计算系统110促进所选预览提供者103a与客户端计算系统101a之间的通信。这使得所选预览提供者103a向客户端计算系统101a提供统一资源定位符104a的预览。客户端计算系统101a然后可以向用户102a显示统一资源定位符104a的预览。
41.每次服务器计算系统110确定在客户端计算系统101之一内已经表示了统一资源
定位符时,可以重复方法200。例如,在确定已经在客户端计算系统101a中表示了统一资源定位符104b时(动作201),服务器计算系统110可以选择预览提供者103b(动作202),并促进预览提供者103b与客户端计算系统101a之间的通信,使得预览提供者103b可以向客户端计算系统101a提供与统一资源定位符104b相关联的预览(动作203)。这允许客户端计算系统101a向用户102a显示该预览。例如,该统一资源定位符104b可能是“www.mylawoffice.law”,它与图3的示例第二模式302匹配。
42.这里,响应于确定在客户端计算系统101a中表示了统一资源定位符104a而由服务器计算系统110选择的预览提供者(预览提供者103a)不同于响应于确定在同一客户端计算系统101a中表示了统一资源定位符104b而由服务器计算系统110选择的预览提供者(预览提供者103b)。因此,可以向单个客户端计算系统提供来自各种预览提供者的预览。
43.继续,可以在服务器计算系统110确定在客户端计算系统101b中表示了统一资源定位符104c时再次执行方法200(动作201)。在那种情况下,即使统一资源定位符104a不同于统一资源定位符104c,统一资源定位符104c也匹配与在客户端计算系统101a中表示的统一资源定位符104a相同的第一模式。例如,统一资源定位符104c可以是“www.contoso.com/email/userb/main.html”。因此,服务器计算系统110选择预览提供者103a。因此,相同的预览提供者(例如,预览提供者103a)可以向各种不同客户端计算系统提供与特定模式匹配的统一资源定位符的预览。
44.也可以在服务器计算系统110确定在客户端计算系统101b中表示了统一资源定位符104e时执行方法200(动作201),导致预览提供者103c与该统一资源定位符104e匹配(动作202),并且服务器计算系统110促进通信(动作203),使得预览提供者103c向客户端计算系统101b提供该统一资源定位符104e的预览。类似地,当服务器计算系统110确定在客户端计算系统101c中表示了统一资源定位符104f(和统一资源定位符104g)时,服务器计算系统110选择预览提供者103b并调解预览提供者103b将统一资源定位符104f的预览(以及统一资源定位符104g的预览)提供给客户端计算系统101c。同样,当在客户端计算系统101d中表示了统一资源定位符104h时,服务器计算系统110操作使得预览提供者103a向客户端计算系统101d提供统一资源定位符104h的预览。完成该示例,当在客户端计算系统101d中表示了统一资源定位符104i时,服务器计算系统110进行操作以使得预览提供者103c向客户端计算系统101d提供统一资源定位符104i的预览。
45.图4图示了表示图2的方法200的示例的示例方法400。方法400中执行的一些动作由客户端计算系统(例如,主题示例中的客户端计算系统101a)执行,因此在标题“客户端”下的左栏中表示。其他动作由服务器计算系统(例如,图1的服务器计算系统110)执行,因此在标题“服务器”下的中间栏中表示。另外的其他动作由所选择的预览提供者(例如,主题示例中的图1的预览提供者103a)执行,因此在标题“预览提供者”下的右栏中呈现。
46.在方法400中,客户端计算系统通知服务器计算系统在客户端计算系统中表示了统一资源定位符(动作401)。该通知是在适合向用户呈现该统一资源定位符的预览的时间做出的。例如,用户可能已将指针悬停在特定统一资源定位符上,或悬停在与该统一资源定位符相关联的对象上。作为另一示例,用户可能已经在文档内滚动以暴露出现在该文档中的统一资源定位符(或与该统一资源定位符相关联的对象)。作为又一示例,用户可能已经接收到包括统一资源定位符的聊天或即时消息。
47.该通知然后由服务器计算系统接收(动作411),以允许服务器计算系统确定在客户端计算系统中表示了统一资源定位符(动作412)。动作411和412表示执行图2的动作201的方式的示例。然后,服务器计算系统选择预览提供者(动作413),这是图2的动作202的示例。该方法400的其余部分表示服务器计算系统可以促进所选预览提供者与客户端计算系统之间的通信的示例方式(动作203)。
48.具体地,服务器计算系统请求所选择的预览提供者提供对应于统一资源定位符的预览(动作414)。可替代地,服务器计算系统可以指示客户端计算系统做出预览提供者的请求。在任一情况下,所选择的预览提供者接收可包括统一资源定位符的请求(动作421)。所选择的预览提供者然后生成所请求的预览(动作422),并将所请求的预览提供给客户端计算系统(动作423)。在一个实施例中,所选择的预览提供者通过将预览直接发送到客户端计算系统来做到这一点。在另一实施例中,所选择的预览提供者通过将预览发送到服务器计算系统来做到这一点,服务器计算系统接收预览并将预览提供给(动作415)客户端计算系统。无论哪种方式,客户端计算系统都会接收预览(动作402)。这允许客户端计算系统向其用户显示预览(动作403)。
49.在一个实施例中,这种促进通信(动作203)进一步确保客户端计算系统的用户已经同意预览提供者提供预览。这允许用户控制预览提供者是否可以一般地以及对于统一资源定位符的任何给定模式向客户端计算系统提供预览。因此,对于统一资源定位符的给定类别,用户可以挑选和选择哪个预览提供者提供对该用户最有帮助和最有意义的预览。此外,提供具有最高质量感知的预览并吸引更广泛用户的预览提供者往往会被更多地使用。因此,预览变得具有更高的质量和更丰富的内容。
50.图5图示了用于确保用户同意预览提供者提供预览的方法500的流程图。在一个示例中,方法500可以在服务器计算系统从所选择的预览提供者请求预览之前(在图4中的动作414之前)执行。
51.方法500包括确定客户端计算系统的用户是否已经同意与所选择的预览提供者相关联(判定块501)。如果同意(判定块501中的“是”),则该过程继续(动作502),例如继续进行图4中的动作414,并请求来自所选择的预览提供者的预览。
52.可以通过授予用户和预览提供者之间的映射来做出关于同意的确定。相对应的预览提供者可以是用户已经同意的预览提供者,或者由于某种原因,该预览提供者提供预览以将统一资源定位符匹配到该用户是合适的。例如,图6图示了将用户映射到预览提供者的示例映射数据结构600。
53.在图6的示例中,用户a到d(例如,对应于图1的用户102a到102d)被映射到对应的预览提供者。根据示例映射数据结构,用户102a已经同意来自预览提供者103b的预览(但未同意来自预览提供者103a和103c的预览)。此外,用户102b已经同意来自预览提供者103a和103b的预览(但未同意来自预览提供者103c的预览)。此外,用户102c已经同意来自预览提供者103a(但未同意来自预览提供者103b和103c)的预览。最后,用户102d已经同意来自预览提供者103c的预览(但未同意来自预览提供者103a和103b的预览)。
54.在图1的主题示例中,其中已经在客户端计算系统101a中表示了统一资源定位符104a,并且其中预览提供者103a被选择,映射数据结构600可以被参考以确定用户102a(即,用户a)仅同意与预览提供者103b相关联,而不同意与选择的预览提供者103a相关联(判定
块501中的否)。在这种情况下(判定块501中的“否”),服务器计算系统与客户端计算系统通信(动作503)从而确定用户现在是否同意(判定块504)。在这种情况下,可以向用户呈现添加特定预览提供者的选项。这样做时,可以向用户给出预览提供者的特性、预览提供者在预览中强调的内容等。
55.如果用户选择不同意(判定块504中的“否”),则方法500结束(并且方法200和400也结束而没有从所选择的预览提供者提供预览)。如果用户选择同意(判定块504中的“是”),则可以将预览提供者添加到该用户的映射数据结构600,并且方法500此后继续(动作502)。
56.在图1的示例中,注意存在与统一资源定位符的三个模式中的每一种对应的一个预览提供者。在一些实施例中,模式实际上可以重叠。例如,“ftp://contoso.com”满足示例第一模式(因为它包含“contoso.com”)以及示例第三模式(因为它包含“ftp://”)。在这种情况下,预览提供者选择逻辑可以具有优先级以帮助解决选择哪个预览提供者的歧义。可替代地或另外地,可以询问用户以解决歧义。在某些情况下,可以存在多个(甚至极多个)预览提供者提供相同类别或模式的统一资源定位符的预览。在这种情况下,在确定接收该模式的给定统一资源定位符的预览类型时,用户有很大的选择余地。
57.图7图示了根据本文描述的原理的用于提供统一资源定位符的预览的方法700的流程图。方法700可以由例如主题示例中的图1的预览提供者103a来执行。因此,现在将参考图1的环境100来描述图7的方法700。例如,如果预览提供者计算系统103a是图9的计算系统900,则方法700可以响应于一个或多个处理器(例如,至少一个硬件处理单元902)执行在一个或多个计算机可读介质(例如,存储器904)上的计算机可执行指令而由计算系统900执行。那些计算机可执行指令可以被构造成使得当由一个或多个处理器执行时,使计算系统执行方法700。
58.方法700在预览提供者检测到对与统一资源定位符相关联的预览的请求时启动(动作701)。该动作是图4的动作421的示例,其中所选择的预览提供者接收针对预览的请求。图8图示了表示在动作421和701中接收的预览请求的示例的预览请求800。预览请求800包括统一资源定位符801,使得预览提供者可以生成或访问该统一资源定位符801的对应预览。例如,在主题示例中,统一资源定位符801是图1的统一资源定位符104a。潜在地,预览请求800还包括标识要查看预览的用户的用户标识802。例如,在主题示例中,用户标识802将标识客户端计算系统101a的用户102a。
59.响应于接收到针对预览的请求(动作701),预览提供者可以执行多个动作,例如图7的虚线框710中所示的那些动作。例如,响应于接收到针对预览的请求(动作701),预览提供者可以提供预览(动作713)。该动作713是图4的动作423的示例,其中在预览提供者生成或访问统一资源定位符的适当预览之后提供预览(动作422)。
60.可选地,此时执行访问控制,特别是如果将预览限于特定用户和/或用户组。在那种情况下,在提供预览(动作713)之前,预览提供者验证用户(例如,如用户标识802所标识的)是否具有查看预览的授权(判定块711)。如果验证没有导致确定用户被授权查看预览(判定块711中的“否”),则预览提供者不提供预览(动作712)。另一方面,如果验证导致确定用户被授权查看预览(判定块711中的“是”),则预览提供者确实提供预览(动作713)。
61.在一些实施例中,除了提供预览(动作713)之外,预览提供者执行准备动作(动作
714)以准备对与统一资源定位符相关联的资源的后续请求。因为该准备动作在时间上不依赖于何时发送预览的时间(在动作713中),所以在图7中准备动作(动作714)与发送预览(动作713)并行示出。因此,准备动作甚至可以在发送预览之前开始。在任何情况下,准备动作都可以在访问与统一资源定位符相关联的资源的后续请求的很早之前(但在预期访问与统一资源定位符相关联的资源的后续请求的情况下)执行。
62.这种准备可以涉及使对后续请求的响应更高效的动作。例如,预览提供者可以创建将在选择统一资源定位符时呈现的内容,或者可能刷新将在选择统一资源定位符时呈现的数据。如果生成该内容或刷新该数据通常需要大量时间,这将特别有用。例如,如果数据是从许多远程位置收集的遥测数据,则预览提供者可以开始收集信息的过程,并编译收集的信息以更新遥测数据。准备动作还可以包括改变与统一资源定位符相关联的资源的配置的设置。
63.可替代地或另外地,如果预览是针对特定用户的,则准备可以涉及允许对预览请求的响应更适合该用户的动作。例如,预览提供者可以生成针对用户定制的内容,或者刷新与该用户相关的数据。如果用户是已知的,则准备动作可以包括将用户添加到与资源相关联的用户名册中。例如,该资源可能是一个用户团队的协作会话,在这种情况下,该用户可能会被添加到该团队的名册中。准备操作还可能(如果允许用户访问资源是适当的)包括改变将向其显示预览的用户的访问控制设置。因此,当用户稍后请求访问资源时,用户可能会更方便地访问资源。
64.预览提供者可能实际上不执行准备动作本身,但可以使另一个计算系统执行准备动作。该另一个计算系统实际上可能是当用户导航到统一资源定位符时接收针对资源的请求的计算系统。而且,无论预览提供者自己执行准备动作,还是请求其他计算系统执行准备动作,预览提供者都会使准备动作被执行。
65.因此,本文描述的一些实施例允许对提供具有受限内容的预览的访问控制,从而实现对并非对所有用户完全可用的资源的预览。在本文描述的一些实施例替代地或还允许采取准备动作,以便可以更高效和/或适当地处理对与统一资源定位符相关联的资源的后续请求。因此,本文描述的原理推进了提供统一资源定位符预览的技术。
66.如上所述,许多元件可被构造为图9的计算系统900。此外,上述动作可由可执行组件执行,例如计算系统900的可执行组件906。因此,现在将关于图9描述计算系统900。
67.计算系统现在越来越多地采用多种形式。例如,计算系统可以是手持设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心,或者甚至是通常不被视为计算系统的设备,例如可穿戴设备(例如,眼镜、手表、带子等)。在本说明书和权利要求中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),其包括至少一个物理和有形处理器,以及能够在其上具有可由处理器执行的计算机可执行指令的物理和有形存储器。存储器可以采用任何形式并且可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中并且可以包括多个组成计算系统。
68.如图9所示,在其最基本的配置中,计算系统900通常包括至少一个硬件处理单元902和存储器904。存储器904可以是物理系统存储器,其可以是易失性、非易失性、或两者的某种组合。术语“存储器”在本文中还可用于指代诸如物理存储介质的非易失性大容量存储装置。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
69.计算系统900在其上具有通常被称为“可执行组件”的多个结构。例如,计算系统900的存储器904被示为包括可执行组件906。术语“可执行组件”是计算领域的普通技术人员所熟知为一种可以是软件、硬件或其组合的结构的结构的名称。例如,当以软件实现时,本领域普通技术人员将理解可执行组件的结构可包括可在计算系统上执行的软件对象、例程、方法,无论此类可执行组件是否存在于计算机系统的堆中,或可执行组件是否存在于计算机可读存储介质上。
70.在这种情况下,本领域普通技术人员将认识到可执行组件的结构存在于计算机可读介质上,使得当被计算系统的一个或多个处理器(例如,通过处理器线程)解释时,使计算系统执行功能。因此,一旦本领域普通技术人员理解要执行的功能,本领域普通技术人员将理解可用于执行该功能的结构。
71.这种结构可以是处理器直接计算机可读的(如可执行组件是二进制的情况)。可替代地,该结构可以被构造为可解释和/或编译的(无论是在单个阶段还是在多个阶段),以便生成这种可由处理器直接解释的二进制文件。当使用术语“可执行组件”时,对可执行组件的结构的示例类别的这种理解完全在计算领域的普通技术人员的理解之内。
72.术语“可执行组件”也被普通技术人员很好地理解为包括在硬件中排他地或几乎排他地实现的结构,例如在现场可编程门阵列(fpga)、专用集成电路(asic)或任何其他专用电路内。因此,一旦本领域的普通技术人员知道要执行的功能,术语“可执行组件”将指代计算领域的普通技术人员所熟知为可以用软件、硬件或组合实现的结构的结构。在本描述中,也可以使用术语“组件”。如在本说明书和案例中使用的,该术语(无论该术语是否用一个或多个修饰符修饰)也旨在与术语“可执行组件”同义,或者是此类“可执行组件”的特定类型,因此也具有计算领域的普通技术人员很好理解的结构。
73.在以下描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这样的动作以软件实现,则一个或多个处理器(执行该动作的关联计算系统的一个或多个处理器)响应于已经执行了构成可执行组件的计算机可执行指令来指导计算系统的操作。例如,此类计算机可执行指令可以体现在形成计算机程序产品的一个或多个计算机可读介质上。此类操作的一个示例涉及数据操纵。
74.计算机可执行指令(和被操纵的数据)可以存储在计算系统900的存储器904中。计算系统900还可以包含允许计算系统900通过例如网络910与其他计算系统通信的通信信道908。
75.虽然并非所有计算系统都需要用户接口,但在一些实施例中,计算系统900包括用于与用户交互的用户接口912。用户接口912可以包括输出机制912a以及输入机制912b。本文描述的原理不限于精确的输出机制912a或输入机制912b,因为这将取决于设备的性质。然而,输出机制912a可以包括例如扬声器、显示器、触觉输出、全息图、虚拟现实等等。输入机制912b的示例可以包括例如麦克风、触摸屏、全息图、虚拟现实、相机、键盘、鼠标或其他指针输入、任何类型的传感器等等。
76.本文描述的实施例可以包括或利用专用或通用计算系统,该计算系统包括计算机硬件,例如一个或多个处理器和系统存储器,如下文更详细讨论的。本文描述的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算系统访问的任何可用介质。存储计算机可执行
指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,实施例可以包括至少两种截然不同的计算机可读介质:存储介质和传输介质。
77.计算机可读存储介质包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备,或任何其他可用于存储计算机可执行指令或数据结构的形式的所需程序代码模块且可由通用或专用计算系统访问的物理和有形的存储介质。
[0078]“网络”被定义为一个或多个数据链路,其能够在计算系统和/或组件和/或其他电子设备之间传送电子数据。当信息通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)传输或提供到计算系统时,计算系统正确地将该连接视为传输介质。传输介质可包括网络和/或数据链路,其可用于承载计算机可执行指令或数据结构形式的所需程序代码模块,并且可由通用或专用计算系统访问。上述的组合也应包括在计算机可读介质的范围内。
[0079]
此外,在到达各种计算系统组件时,计算机可执行指令或数据结构形式的程序代码模块可以自动从传输介质传输到存储介质(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓存在网络接口组件(例如,“nic”)内的ram中,然后最终传输到计算系统ram和/或计算系统中的低易失性存储介质。因此,应当理解,可读介质可以包括在也(或甚至主要)利用传输介质的计算系统组件中。
[0080]
计算机可执行指令包括例如当在处理器处执行时使通用计算系统、专用计算系统或专用处理设备执行特定功能或功能组的指令和数据。可替代地或另外地,计算机可执行指令可以配置计算系统以执行特定功能或功能组。计算机可执行指令可以是例如二进制文件或者甚至是在被处理器直接执行之前经过某种翻译(例如编译)的指令,例如中间格式指令,例如汇编语言,或者甚至是源代码。
[0081]
本领域技术人员将理解,本发明可以在具有多种类型的计算系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、寻呼机、路由器、交换机、数据中心、可穿戴设备(例如眼镜或手表)等。本发明还可以在分布式系统环境中实施,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算系统都执行任务。在分布式系统环境中,程序组件可能位于本地和远程存储器存储设备中。
[0082]
本领域技术人员还将意识到,本发明可以在由一个或多个数据中心或其部分支持的云计算环境中实施。云计算环境可以是分布式的,尽管这不是必需的。当为分布式时,云计算环境可能分布在一个组织内的国际范围内和/或具有跨多个国家拥有的组件。
[0083]
在本说明书和以下权利要求中,“云计算”被定义为用于实现对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于在正确部署时可以从这种模型中获得的其他众多优势中的任何一个。
[0084]
例如,云计算当前在市场中被采用以便提供对可配置计算资源的共享池的无处不在且方便的按需访问。此外,可配置计算资源的共享池可以通过虚拟化快速配置并以较低的管理工作量或服务提供商交互来释放,然后相应地扩展。
[0085]
云计算模型可以由按需、自助、广泛的网络访问、资源池、快速弹性、可测量的服务
等各种特性组成。云计算模型还可以以各种应用服务模型的形式出现,例如软件即服务(“saas”)、平台即服务(“paas”)和基础设施即服务(“iaas”)。还可以使用不同的部署模型来部署云计算模型,例如私有云、社区云、公共云、混合云等等。在本说明书和权利要求中,“云计算环境”是其中采用云计算的环境。
[0086]
在不脱离其精神或本质特征的情况下,本发明可以以其他特定形式实施。所描述的实施例在所有方面都应被视为说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是由前述说明指示。落入权利要求的等效含义和范围内的所有变化都应包含在其范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献