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

在用户界面数据收集中保护用户隐私的制作方法

2022-07-11 04:44:24 来源:中国专利 TAG:

在用户界面数据收集中保护用户隐私


背景技术:

1.用户界面促使与各种资源和应用的用户交互。例如,用户界面通常包括各种交互元素,这些交互元素使得用户能够输入数据(例如,使用文本框)、进行数据选择(例如,使用单选按钮、复选框或下拉菜单)、导航到资源或应用页面(例如,通过与嵌入的链接交互)、以及改变用户界面的可视方面(例如,旋转设备、调整窗口大小、滚动到文档的其他部分、或使用缩放控件)。
2.由于用户对给定网站或应用的满意度可能取决于用户对用户界面的体验,因此可以记录与用户界面的用户会话并向发布方回放。一些用户界面(诸如银行网页或应用的用户界面)呈现与用户界面交互的用户的私人数据或其他私人内容。由于该内容通常对评估用户界面的质量和功能没有用,并且不应呈现给其他方,因此应该注意确保这种内容不是回放的一部分。


技术实现要素:

3.一般而言,本说明书中描述的主题的一个创新方面可以体现在包括向客户端设备提供指定发布方的白名单用户界面元素集合的配置数据的方法中。每个白名单用户界面元素是有资格从其从客户端设备收集并传输内容的用户界面元素。事件数据用于其中用户与发布方的一个或多个用户界面交互的用户会话。事件数据包括:指定在用户会话期间呈现的一个或多个用户界面的结构的界面数据;指定与一个或多个用户界面的用户交互的用户交互数据;以及一个或多个第一呈现用户界面元素的内容,第一呈现用户界面元素(i)由一个或多个用户界面呈现,并且(ii)与由配置数据指定的白名单用户界面元素相匹配。客户端设备不提供与由配置数据指定的白名单用户界面元素不匹配的一个或多个第二呈现用户界面元素的内容。基于事件数据生成用户会话的回放。回放呈现:一个或多个用户界面,一个或多个第一呈现用户界面元素的内容,与一个或多个用户界面的用户交互,以及针对一个或多个第二用户界面元素的内容、表示第二用户界面元素的内容同时屏蔽第二用户界面元素的实际内容的屏蔽元素。该方面的其他实施例包括相对应的方法、装置和计算机程序,该计算机程序被配置为执行编码在计算机存储设备上的该方法的动作。
4.这些实施例和其他实施例可以各自可选地包括一个或多个以下特征。在一些方面,配置数据针对每个白名单用户界面元素指定给定标签集中的给定字段。每当所呈现的用户界面元素由给定标签集的给定字段定义时,所呈现的用户界面元素可以与白名单用户界面元素相匹配。给定标签集可以包括文档对象模型的标签,该文档对象模型针对一个或多个用户界面中的每一个用户界面来表示该用户界面的结构。一个或多个用户界面可以包括超文本标记语言(html)文档,并且给定标签集包括html标签。
5.一些方面可以包括:在用户会话的回放期间,检测与在用户会话的回放中由一个或多个用户界面中的至少一个所呈现的用户界面的用户交互,并且响应于检测到用户交互,改变用户界面元素的白名单状态。白名单状态指定内容项目是否包括要从客户端设备收集的内容。改变内容项目的白名单状态可以包括:从指定包括用户界面元素的用户界面
的结构的界面数据中,确定包括用户界面元素的内容的字段。每当该字段在指定白名单内容的白名单上时,从白名单内容中移除该字段。每当该字段不在指定白名单内容的白名单上时,将该字段添加到白名单。
6.在一些方面,生成用户会话的回放可以包括:在指定在用户会话期间呈现的一个或多个用户界面的结构的界面数据中,标识用于给定第二用户界面元素的标签;确定包括给定第二用户界面元素的内容的对象的呈现大小;以及基于对象的呈现大小来确定表示给定第二用户界面元素的内容的屏蔽元素的大小。
7.在一些方面,向客户端设备提供指定白名单用户界面元素集合的配置数据可以包括:响应于应用加载一个或多个用户界面之一,从客户端设备接收对配置数据的请求;以及响应于接收到请求,提供配置数据。
8.可以实施本说明书中描述的主题的特定实施例,以便实现一个或多个以下优点。本文档中描述的技术通过防止从用户的设备收集内容(例如,私人内容或敏感内容)同时仍然收集足够信息以生成用户会话的回放来保护用户的隐私,用户回话的回放准确地反映了呈现(多个)用户界面的方式以及在用户会话期间发生的(多个)用户界面的改变。
9.使用包括文本的对象的大小来适当地确定在回放期间表示文本的屏蔽元素的大小的文本替换技术准确地反映了在不呈现实际文本的情况下呈现文本的方式。与用其他文本替换实际文本的技术相比,这些技术更准确,并且需要更少的处理能力和更少的计算资源来准确地确定文本替换的大小。相对于用其他文本代替私人文本的技术,用非文本表示替换文本通过排除反转这种代替的能力进一步保护了用户的隐私。相对于获得所有对象的大小信息的技术,本文档中描述的用于确定哪些对象收集大小信息的技术降低了获得大小信息的计算成本(例如,在资源、处理能力、时间等方面)。
10.在加载用户界面时提供指定应该被收集到应用(例如,网页浏览器或本地应用)的白名单内容的配置数据使得发布方能够在任何时候更新白名单内容,而不必对网页或本地应用的代码进行编程改变。这实现了收集的数据的快速且动态的改变,而不需要生成、测试和分发更新的耗时且耗力的过程。通过允许发布方在用户会话的回放期间简单地选择应该被列入白名单或从白名单中移除的内容,本文档中描述的用户界面可以进一步简化和提高该过程的速度。
11.本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
12.图1是在其中用户与用户界面交互的示例环境的框图。
13.图2a是在用户会话期间呈现的示例用户界面的图示。
14.图2b示出了用于生成图2a的用户界面的示例超文本标记语言(html)文档的一部分。
15.图2c是图2a的用户界面的一部分的树结构的图示。
16.图3是用于回放用户会话的示例交互界面的图示。
17.图4是用于生成和提供呈现用户会话回放的交互界面的示例过程的流程图。
18.图5是用于更新用户界面元素的白名单状态的示例过程的流程图。
19.不同附图中相同的附图标记和名称表示相同的元素。
具体实施方式
20.本文档中描述的技术允许发布方优化他们的用户界面(例如,网页或应用界面),使得用户具有与用户界面交互的积极体验,同时还保护查看用户界面并与之交互的用户的隐私。随着保护用户隐私的需求日益受到关注,这些技术在任何涉及用户数据的技术中都至关重要。本文档中描述的技术防止从用户设备收集或传送用户数据,确保数据在传输期间不会被拦截或从另一设备窃取。同时,可以收集非常具体的数据(诸如与用户界面的结构和用户界面中呈现的元素的大小相关的数据)以重新创建用户会话,该用户会话准确地反映呈现给用户的用户界面、在用户会话期间发生的用户界面的改变以及在用户会话期间发生的用户交互,而不显示实际的用户数据。
21.例如,银行的网站或移动应用向客户显示他们的余额、交易和用户私人的其他数据。在评估网站或应用的质量时,不需要显示交易和余额的实际文本,并且客户更希望不与收集用户界面数据用于回放和分析的第三方共享这种数据。本文档中描述的技术防止收集这种数据,并且替换回放中的数据,使得回放准确地反映客户所查看的用户界面,但没有用户的实际数据。
22.这些技术还使发布方可以利用他们的用户界面对用户会话期间收集的什么数据进行微调控制。发布方可以简单地通过在回放期间与内容交互(例如,选择)来容易地选择要收集或阻止的内容。例如,如果零售商决定想要查看放在虚拟购物车中的项目数量,以查看用户如何与数量选择器交互并评估数量选择器的功能,则零售商可以在回放其中一个用户会话期间简单地选择数量选择器。当另一客户随后查看相同的网页或应用页面时,使用数量选择器选择的项目数量将被记录,以用于回放该用户会话。零售商稍后可以简单地通过在用户会话的回放期间再次与数量选择器交互(例如,选择)来停止数量的收集。这些都可以在后端(例如,在服务器处)处理,而不必零售商对网页或应用进行任何编程改变。
23.发布方(例如,提供诸如网页和/或应用界面之类的用户界面的实体)通常想要用户界面是用户友好的,使得用户将具有积极体验。具有关于与给定用户界面(例如,网页或应用界面)的用户交互以及在与用户界面的用户会话期间发生的事件的信息,可以帮助发布方快速标识可被改变以改善用户体验的用户界面的方面。这些方面可以使用与用户界面的实际用户交互来标识,从而消除了进行外部用户调查或依赖关于用户界面的主观反馈的需要。相反,用户与用户界面的实际记录的交互和/或基于交互特性的这些用户交互的分类揭示了可以被改变以改善用户体验的用户界面区域。
24.本文档描述了用于防止收集特定内容(例如,可能包括敏感数据或私人数据的内容)的技术。该内容可以在用户会话的回放中用具有相同大小的内容来替换,使得在回放中呈现的(多个)用户界面反映在实际用户会话期间呈现的(多个)用户界面。例如,如果用于替换文本的元素的大小大于实际文本,则这可能导致其他用户界面元素不正确地呈现,例如,屏幕上彼此叠加或处于不正确的位置中。
25.图1是其中用户与用户界面交互的示例环境100的框图。示例环境100包括网络102,诸如局域网(lan)、广域网(wan)、因特网或其组合。网络102连接用户设备120、发布方130、网站140和评估装置110。示例环境100可以包括许多不同的用户设备120、发布方130和
网站140。
26.网站140是与域名相关联并由一个或多个服务器托管的一个或多个资源145。示例网站是html格式的网页的集合,其可以包含文本、图像、多媒体内容和编程元素,诸如脚本。每个网站140由发布方130维护,发布方130是控制、管理和/或拥有网站140的实体。
27.资源145是可以通过网络102提供的任何数据。资源145由与资源145相关联的资源地址来标识。资源包括html页面、文字处理文档和可移植文档格式(pdf)文档、图像、视频和馈送源,仅举几例。资源可以包括内容(诸如单词、短语、图像和声音),内容可以包括嵌入的信息(例如超链接中的元信息)和/或嵌入的指令(例如脚本)。
28.用户设备120(也被称为客户端设备)是能够通过网络102请求和接收资源的电子设备。示例用户设备120包括个人计算机、移动通信设备(例如,平板计算机、智能电话、可穿戴设备等)以及可以通过网络102发送和接收数据的其他设备。用户设备120通常包括一个或多个用户应用121(诸如网络浏览器和/或本地应用)以促使通过网络102发送和接收数据。本地应用是针对特定平台或特定设备开发的应用。发布方130可以开发并向用户设备120提供本地应用。例如,用户可以将本地应用下载到他们的用户设备120。
29.用户设备120可以提交从网站140请求资源145的资源请求122。进而,表示所请求的资源124的数据可以被提供给用户设备120,以用于由用户设备120的网络浏览器呈现。所请求的资源145可以是例如网站140的主页、来自社交网络的网页或另一资源145。表示所请求的资源124的数据可以包括使得内容(例如,嵌入的内容,诸如包括在资源的代码中的文本)在用户设备120处呈现的数据。内容可以包括单独的内容项目,诸如单独的图像、按钮、图标、标志、文本组或其他内容单元。
30.表示所请求的资源124的数据还可以包括使得用户设备120从内容存储150请求远程内容的指令。远程内容可以包括例如图像、周期性地更新的内容、跨多个不同资源使用的内容、或由第三方(例如,除了发布方之外)提供的内容。因此,可以更新或改变远程内容,而不必更新资源代码。
31.本地应用也可以在用户设备120提交或不提交对内容的请求的情况下呈现内容。例如,一些本地应用(例如,游戏)可以呈现存储在用户设备120处的内容,而不需要请求内容。其他本地应用(例如,新闻应用)可以请求并呈现从本地应用的发布方130所维护的应用服务器获得的内容。
32.评估装置110生成并向发布方130的设备提供交互界面,该交互界面利用发布方130的用户界面来呈现用户会话的回放。为了生成交互界面,评估装置110从用户设备120收集事件数据115。如本文档通篇所使用的,短语事件数据是指在用户会话期间从用户设备120获得的数据。用户会话是用户与发布方130的(例如,网站或本地应用的)一个或多个用户界面进行交互的时段。在网站的上下文中,用户会话可以在用户从给定域(例如,example.com)请求第一资源时开始,并且可以在满足会话结束条件时结束。在本地应用的上下文中,用户会话可以在用户启动本地应用时开始,并且可以在满足会话结束条件时结束。当自从用户与来自给定域或本地应用的资源进行交互起经过了指定时间量时,可以认为满足了会话结束条件。例如,如果用户已经30分钟(或某个其他时间量)没有与来自给定域或本地应用的资源进行交互,则可以认为满足了会话结束条件,从而结束会话。
33.当会话终止事件发生时,也可以认为满足了会话结束条件。会话终止事件可以是,
with a user interface of a native application”的美国专利申请第16/038002号中描述的,该专利申请通过引用结合于此。对于一些本地应用,可以通过检测用户交互的拌和(swizzling)方法来获得用户交互数据,如在2019年3月29日提交的题为“capturing and processing interactions with a user interface of a native application”的美国专利申请第16/370574号中描述的,其通过引用结合于此。
41.使用这些技术,用户交互数据可以基于用于生成用户界面的dom或视图树的当前结构来指定与之交互的实际用户界面元素。这允许数据指定动态用户界面的实际元素事件,对于该动态用户界面,可以改变结构和/或可以由用户界面呈现新的元素。例如,如果(例如,基于脚本或响应于用户交互)呈现弹出窗口,并且与弹出窗口的元素进行交互,则交互数据可以指定与之发生交互的弹出窗口的元素,因为该数据将是本地应用的dom结构或视图树的一部分。
42.突变数据可以指定由用户设备120渲染的每个元素,并且突变数据可以被提供给评估装置110(例如,顺序地或以由用户设备120在指定时间内累积的突变数据集的形式)。使用突变数据,评估装置110可以以类似于浏览器执行的方式重建dom。例如,可以通过在资源(或本地应用)的代码中插入突变观察器脚本来获得突变数据。突变观察器脚本可以监视资源的资源结构改变,在用户设备120的本地存储器中记录表示改变的突变数据,并且将突变数据提供给指定位置(例如,评估装置110)。提供突变数据而不是用户会话的记录视频减少了必须记录并通过网络102传送的数据量。这限制了该技术的负面延迟影响和带宽消耗。
43.突变数据指定在用户会话期间发生的用户界面的结构改变。例如,假设用户点击列表中的项目,这使得第一图像被第二图像替换。在该示例中,突变观察器脚本可以在用户界面中检测第一图像的移除和第二图像的添加,并且在用户设备120处存储指定第一图像从用户界面中移除并且第二图像被插入到用户界面中的突变数据。替代地或附加地,突变数据可以直接指定第二图像对第一图像的替换(例如,而不是指定移除突变和添加突变两者)。周期性地,用户设备120可以将突变数据上传(或以其他方式传输)到评估装置110,评估装置110处理突变数据,如下面更详细描述的。在2014年12月31日提交的题为“evaluation of interactions with a user interface”的美国专利第9766769号和2018年7月17日提交的题为“capturing and processing interactions with a user interface of a native application”的美国专利申请第16/038002号中描述了用于获得事件数据并使用该数据来生成和呈现用户会话的回放的示例技术,这些专利通过引用结合于此。
44.在一些实施方式中,通过事件数据115,应用121仅提供由白名单125指定的内容。也就是说,应用121排除与由白名单125指定的白名单内容不匹配的内容。例如,用于收集数据并向评估装置110发送数据的突变观察器脚本和/或其他脚本或代码可以被配置为将没有被包括在白名单125中的内容排除在提供给评估装置110之外。为了便于后续讨论,这种代码被统称为应用121。
45.白名单125可以指定从其可以收集并向评估装置110提供内容(例如,文本、文本表格、图像、视频等)的用户界面元素。可以基于用于生成用户界面的文档或代码的结构来定义用户界面元素。例如,如果用户界面是使用html文档、可扩展标记语言(xml)文档或表示文档的dom来生成的,则白名单用户界面元素可以由节点、标签、标签内的字段或标签内的
属性来定义。例如,白名单125可以指定dom的特定标签、字段、属性或其他结构元素,内容可以从dom上传到评估装置110。
46.白名单125可以包括排除规则,该排除规则定义了应用121可以从哪些用户界面元素获得内容并将内容提供给评估装置110。如果应用121在收集用户会话的事件数据期间遇到白名单对其不包括对应规则的用户界面元素,则应用121可以不向评估装置110提供该结构元素内的内容。相反,应用121可以提供结构数据(例如,包括该用户界面元素的元素的大小),使得可以在回放期间代替实际内容呈现屏蔽元素。以此方式,可以在没有实际内容的情况下生成回放,但是使得元素的大小在回放期间是正确的,并且内容不会在用户会话期间移位到屏幕上与实际位置不匹配的其他位置。
47.在特定示例中,白名单125指定“表单”标签的“值”字段内的内容可以被收集并上传到评估装置110。表单标签的其他字段内的内容将被排除在事件数据115之外,因为这些字段不被包括在白名单125中。
48.发布方130可以为他们的用户界面指定白名单125。例如,发布方130可以选择可以从其收集并从用户设备120向评估装置110提供内容的用户界面元素。在一些实施方式中,发布方130可以为其用户界面生成白名单,并且将该白名单提供给评估装置110。发布方130还可以指定用户界面特定白名单。例如,用于主页的白名单可以不同于用于帐户概览页面的白名单。如下面更详细描述的,发布方130可以通过使用户会话的回放与其用户界面进行交互来生成和更新其白名单。
49.白名单125可以指定不同粒度级别的白名单用户界面元素。例如,发布方130的白名单125可以指定来自表单标签内的内容可以被收集并提供给评估装置110。白名单125还可以指定只有特定类别(例如,“标题”类别)的特定字段(例如,h1字段)内的内容可以被收集并提供给评估装置110。在该示例中,如果特定类别包括其他字段,则这些字段内的内容将被排除在事件数据115之外,并且不被提供给评估装置110。
50.在一些实施方式中,黑名单可以取代白名单。例如,如果黑名单指定特定类别内的内容不能被收集并发送到评估装置110,则应用121将不发送该类别中包括的内容,即使该类别包括白名单125中的标签和/或字段。每个发布方130可以为其用户界面指定一个或多个白名单和一个或多个黑名单。
51.当收集并生成用于用户会话的事件数据115时,应用121可以将在用户会话期间呈现的所呈现的用户界面元素与由白名单125指定的白名单用户界面元素进行比较。例如,应用121可以将定义所呈现的用户界面元素的标签与白名单用户界面元素的标签进行比较。如果存在匹配并且白名单125没有指定特定字段,则应用121可以将该内容包括在发送到评估装置110的事件数据115中。如果白名单125指定特定字段或特定属性,则仅当内容在特定字段或特定属性内时,该内容才被包括在事件数据115中。
52.在特定示例中,事件数据115可以包括一系列数据项目,例如令牌。接口数据可以在一系列数据中包括标签、字段、属性等以及它们在初始dom中的内容。类似地,突变数据可以在一系列数据中包括标签、字段、属性等以及它们在dom的任何经改变部分中的内容。应用121可以将一系列数据项目中的标签、字段、属性等与白名单进行比较。如果一系列数据项目中的内容与白名单不匹配,则应用121可以在事件数据115被发送到评估装置110之前从事件数据115中移除该内容。
53.在一些实施方式中,一些内容可以在不与白名单进行比较的情况下被发送到评估装置110。例如,编程元素(诸如样式字段)包括可用于生成用户会话的准确回放的数据,但不包括敏感数据或私人数据。这种数据可以被发送到评估装置110,而不在白名单125上。例如,应用121可以被配置为收集程序元素集内的文本,并且将该文本包括在事件数据115中。
54.评估装置110可以将白名单125存储在白名单数据存储装置114中。当在用户设备120处加载发布方130的用户界面时,应用121可以请求指定发布方130的白名单的配置数据118。例如,安装在网站上或本地应用内的代码可以使得应用121从评估装置110请求配置数据118。作为响应,评估装置110可以从白名单数据存储装置114获得发布方130的当前白名单125,并且向用户设备120提供指定白名单125的配置数据118。以此方式,应用121可以针对每个用户会话使用最新的白名单125,而不必发布方130为白名单125的每次更新对应用121或用户界面进行任何编程改变。
55.事件数据115可以在一个或多个数据传输中被传输到评估装置110。例如,每种类型的事件数据115可以与每种其他类型的事件数据分开发送。在另一示例中,在页面被加载到用户设备120上之后,每个页面的事件数据115可以被传输到评估装置110。
56.评估装置110从用户设备120接收事件数据115,并且将事件数据115存储在会话数据存储装置112中。例如,评估装置110可以按照会话数据存储装置112中所存储的会话数据的索引来存储事件数据115。对于每个用户会话,会话数据的索引可以包括为该用户会话接收的事件数据115以及可选的附加数据,诸如与用户设备120相关的上下文数据(例如,用户设备120的类型、用户设备120的品牌和型号、设备的硬件和/或软件、设备的地理位置等)。由上下文数据指定的软件可以包括浏览器的类型、浏览器的版本或关于浏览器的其他数据。
57.评估装置110可以索引会话数据存储装置112中的事件数据115和上下文数据。这使得用户能够搜索包括特定事件或属性的用户会话,和/或基于事件或属性来筛选用户会话。例如,评估装置110可以接收对一个或多个属性(例如,浏览器的类型和在用户会话期间发生的事件的类型(例如,一个或多个愤怒点击))的查询。评估装置110可以使用索引来标识每个用户会话,该用户会话是使用由查询指定的浏览器类型而发生的,并且在该用户会话期间发生了由查询指定的类型的事件。评估装置110然后可以提供在交互界面中呈现所标识的用户会话的数据。
58.对于每个用户会话,评估装置110可以使用用户会话的事件数据115来生成用户会话的回放(其可以作为回放数据116来存储并传输)和用户会话的会话活动数据117。评估装置110向发布方130提供回放数据116和会话活动数据117,发布方130提供在用户会话期间呈现的(多个)用户界面。
59.用户会话的回放呈现在用户会话期间呈现的(多个)用户界面、在用户会话期间发生的对(多个)用户界面的可视改变、以及在用户会话期间发生的与(多个)用户界面的用户交互(例如,鼠标移动)。(多个)用户界面的至少一部分的可视改变对应于用户会话的突变数据。例如,用户会话的回放可以向发布方130示出用户界面上的鼠标移动、在用户界面中呈现的项目上的点击等等。
60.用户会话的回放还可以基于所呈现的用户界面元素与由发布方130的白名单125指定的白名单用户界面元素相匹配,来呈现事件数据115中包括的所呈现的用户界面元素
的内容。对于基于用户界面元素与白名单用户界面元素不匹配而没有被包括在事件数据115中的用户界面元素,回放可以呈现表示用户界面元素的内容的屏蔽元素。在特定示例中,用户界面可以类似于用户界面的线框,例如,没有用户界面元素被列入白名单。
61.例如,如果内容是图像,则可以在用户会话的回放中呈现表示图像的空白框。表示图像的空白框可以与图像具有相同的大小(例如,相同的高度和宽度),并且可以在用户界面内在与图像相同的位置中呈现。以此方式,回放准确地反映了非白名单图像是如何呈现在用户界面中的。
62.如果内容是文本,则可以呈现条或其他屏蔽元素来表示文本。例如,具有圆形边缘的条可以呈现在与该条所表示的文本相同的位置中并且具有相同的大小。使用这种条而不是使用替换文本的算法阻止反转替换并确定实际呈现什么文本的能力。此外,基于文本字符的不同宽度,条可以比替换文本更准确地被确定为实际文本的大小。例如,如果使用较宽的字符来替换较窄的字符,则替换文本串的总宽度将大于实际文本的总长度,从而使得替换文本没有准确反映在用户会话期间呈现的文本。这种替换文本可能被呈现在回放中的其他对象上,使得回放期间其他用户界面元素移位,或导致回放中的其他错误,使得回放在评估用户界面的质量时可能是没用的。
63.为了确定非白名单内容的大小,应用121(或评估装置110)可以测量非白名单内容的每个部分在用户界面中呈现时的大小。然而,测量对象的大小在计算上可能是昂贵的。如果非白名单内容是用户界面元素的唯一内容,则评估装置110可以基于包括该内容的对象的大小来确定该内容的屏蔽元素的大小。例如,如果在按钮中包括非白名单文本,则评估装置110可以基于该按钮的大小来确定屏蔽元素的大小,例如,以容纳在该按钮内。
64.一些用户界面元素可以包括白名单内容和非白名单内容。例如,文本块可以包括多个字段,一个是块的标题,并且另一个是用户的帐户信息。在该示例中,标题字段可以(例如,以规则的形式)被包括在白名单中,而账户信息字段可以不在白名单中。在该示例中,账户信息的屏蔽部分可能占据文本块的未知部分,因为没有提供实际文本。例如,账户信息可能因人而异。为了适当地确定文本块的屏蔽元素的大小,应用121可以记录文本块的大小,并且将该信息提供给评估装置110。
65.在回放时,评估装置110可以基于文本块的大小来确定屏蔽元素的大小。由于基于从应用121发送到评估装置110的实际文本,标题中的文本对文本块的位置和大小的贡献是已知的,因此评估装置110可以基于文本块的剩余区域以及可选地文本的两个部分的位置来确定屏蔽元素的大小。例如,如果账户信息在标题下面,并且标题占据文本块的上半部分,则评估装置110可以确定账户信息屏蔽元素的大小以填充文本块的下半部分。
66.在一些情况下,用户界面或用户界面结构的改变会导致用户界面所呈现的内容的大小改变。例如,类的改变可以导致样式元素的改变,样式元素的改变导致用户界面元素的大小改变。为了检测用户界面元素的大小改变,应用121可以在支持的浏览器中使用resizeobserver api(或其他适当的代码)。resizeobserver api检测并报告其中可以放置元素内容的矩形的改变。应用121可以在事件数据115中包括由resizeobserver api报告的数据。评估装置110可以使用指定元素的新大小的数据来在用户会话的回放中重新确定元素的内容的大小。
67.对于不支持resizeobserver api的浏览器,评估装置110可以生成用户界面元素
的分层图,该分层图表示可以引起其他用户界面元素的大小改变的用户界面元素。评估装置110可以使用用户界面的dom来生成该图。嵌套在第二用户界面元素(例如,父节点或祖父节点)内的第一用户界面元素(例如,子节点)的大小会受到第二用户界面元素的改变的影响。评估装置110可以基于事件数据115中所包括的突变数据来检测用户界面元素的改变。如果可能影响非白名单内容的用户界面元素被改变,则评估装置110可以测量包括非白名单内容的用户界面元素的大小。如果大小已经改变,则评估装置110可以在用户界面的回放中的相应时间改变非白名单内容的大小。
68.该图还可以用于确定要测量哪些元素的大小,以确定非白名单内容的大小。例如,应用121或评估装置121可以测量与非白名单内容的父节点相对应的每个用户界面元素的大小,而不测量与其他节点相对应的用户界面元素的大小。
69.会话活动数据117可以向发布方130呈现在用户会话期间发生的事件的列表。当呈现用户会话的回放(例如,显示鼠标移动和可视改变)时,可以突出显示事件的列表,以显示哪个事件对应于正在回放中呈现的可视改变。
70.图2a是在用户会话期间呈现的示例用户界面200的图示。用户界面200是由网络浏览器响应于用户导航到网页的url而呈现的示例购物网页。用户界面200包括具有文本211的页面标题210(“示例购物页面”)。用户界面200还包括具有文本221(“项目1”)的元素220、具有文本231(“项目2”)的元素230、具有文本241(“数量”)和文本输入字段242的表单240、在菜单250中呈现值251(“蓝色”)的下拉菜单250、以及具有文本261(“结帐”)的结帐按钮260。如虚线263所示,查看用户界面的用户将光标聚焦在数量表单240上,然后将光标移动到结帐按钮260上并选择结帐按钮260。
71.呈现用户界面200的用户设备可以向图1的评估装置110提供事件数据。在该示例中,事件数据将包括指定用户界面200的结构的界面数据。事件数据还将包括用户交互数据,该用户交互数据指定光标在数量表单240上的焦点、光标向结帐按钮260的移动以及结帐按钮260的选择。
72.如果文本是白名单内容,则事件数据还可以包括用户界面200中呈现的文本。在该示例中,假设用户界面200的发布方的白名单是图1的白名单115。也就是说,白名单指定表单标签的“值”字段内的内容被列入白名单,“标题”类别的“h1”字段内的内容被列入白名单,以及“按钮类别”内的内容也被列入白名单。
73.现在参考图2b,其示出了用于生成图2a的用户界面的示例html文档270的一部分。具体地,html文档的该部分示出了页面标题210、数量表单240、下拉菜单250和结账按钮260的语言的一部分。然而,html文档270的该部分没有示出生成用户界面200所需的所有语言。
74.从html文档270的该部分可以看出,页面标题210的文本211在标题类别标签的h1字段中。因此,文本211是白名单内容。类似地,数量表单240的文本242在表单标签的值字段中,并且是白名单内容。此外,内容按钮260的文本261在按钮标签内,并且是白名单内容。由于下拉菜单350的文本351在没有被白名单115指定的选择标签的选项值字段内,因此文本351不是白名单内容。因此,在该示例中,文本211、文本242和文本261将被包括在事件数据中。然而,文本251将被阻止进入事件数据,因为该文本不在白名单标签内。对于该示例的其余部分,假设基于包括文本221和231的html文档270(未示出)的标签没有被白名单115指定,则文本221和231也不是白名单内容。
75.图2c是图2a的用户界面的一部分的树结构280的图示。所示部分示出了包括用户界面200中所示的用户界面元素的主体(body)元素的节点、数量表单(form)240及其文本(text)241的划分(div)元素的节点、以及下拉菜单(select)250及其文本(text)251的划分(div)元素的节点。由于下拉菜单250的文本251没有被列入白名单,所以文本251的大小将基于下拉菜单250的大小(例如,基于其中可以放置下拉菜单250的内容的矩形的大小)来确定,因为文本251在下拉菜单250内,并且文本251的节点是下拉菜单250的节点的子节点。
76.图280还可以用于确定何时检查非白名单内容(诸如文本251)的大小。例如,如果主体的样式改变,则这种改变会影响文本251的大小,因为文本251的节点是主体的节点的孙节点。
77.图3是用于回放用户会话的示例交互界面300的图示。交互界面300用图2的用户界面200回放用户会话。例如,图1的评估装置110可以基于从呈现用户界面的用户设备接收的事件数据来生成用户会话的回放。
78.用户界面300包括接收用于标识会话的搜索标准的搜索字段302。例如,假设发布方对标识和/或查看用户在其期间点击了给定网站(或本地应用)的结账按钮304的会话感兴趣,则可以在搜索字段302中输入搜索短语“点击结账”。在提交搜索短语时(例如,输入和键入命令或点击提交按钮),对会话信息的请求被传输到可以包括搜索装置的评估装置110。对会话信息的请求可以包括例如搜索短语、和请求会话信息的发布方的身份、和/或提供与请求相关联的上下文的其他信息。
79.响应于接收到对会话信息的请求,评估装置110可以使用搜索短语“点击结账”来标识用户在其期间点击了给定网站的结账按钮304的一个或多个会话。在一些实施方式中,评估装置110从用户会话的索引中标识响应于搜索短语的会话。例如,索引可以包括将用户动作“点击”和用户界面元素“结帐按钮”与用户在其期间点击了“结帐”按钮304的会话关联起来的一个或多个条目。
80.评估装置110向请求设备提供标识响应于对会话信息的请求的会话的数据。在一些实施方式中,评估装置110可以通过提供关于基于搜索短语标识的一个或多个会话的数据来响应对会话信息的请求。继续上面的示例,评估装置110可以提供基于搜索短语“点击结账”从索引中标识的会话308的列表。如图3所示,用户在其中点击了结帐按钮的会话包括会话1、会话2、会话3、会话4、会话5和会话6。
81.评估装置110还可以响应于对会话信息的请求,为一个或多个所标识的会话提供回放数据和会话活动数据。例如,如图3所示,会话1是阴影的,指示会话1的回放数据可用于回放,以及会话1的会话活动数据可用于呈现。
82.用户界面300包括回放区域306,在回放区域306中,基于回放数据来回放先前的会话。回放区域306包括回放条,该回放条包括播放/暂停部分310、计数器312和滑块部分314。播放/暂停部分310使得发布方能够通过与播放/暂停部分310交互来开始和停止会话的回放。计数器312提供会话的总持续时间(例如,1分50秒)和当前正在呈现的会话的一部分(例如,45秒)。滑块部分314使得发布方能够通过在滑块部分314内滑动滑动元素316来快速移动到会话的其他部分。继续上面的示例,回放区域306正在回放会话1,如会话列表中会话1的阴影所示。
83.会话1的回放示出了基于从发生用户会话的用户设备接收的事件数据来重新创建
图2的用户界面200。具体地,回放示出了:具有文本311的页面标题310,其对应于页面标题和文本211;具有屏蔽元素321的元素320,其对应于元素220和文本221;具有屏蔽元素331的元素330,其对应于元素320和文本321;具有文本341和文本输入字段342的数量表单340,其对应于具有文本241和文本输入字段242的数量表单240;具有屏蔽元素351的下拉菜单350,其对应于具有文本251的下拉菜单250;以及具有文本361的结账按钮360,其对应于具有文本261的结账按钮260。
84.由于元素220和230的文本没有被列入白名单,所以该文本没有被收集并发送到评估装置110。因此,评估装置110生成屏蔽元素321和331以分别表示文本221和231。如上所述,屏蔽元素321和331可以基于包括该文本的元素(即元素220和230)的大小来确定大小。以此方式,屏蔽元素321和331容纳在元素320和330内,这类似于由屏蔽元素321和331表示的文本221和231。类似地,评估装置110包括替代下拉菜单350的文本251的屏蔽元素351,因为下拉菜单350的文本没有被列入白名单。基于下拉菜单350的大小(例如,基于其中可以放置下拉菜单350的内容的矩形区域的大小)来确定该屏蔽元素351的大小。
85.一些屏蔽元素可以包括多个屏蔽元素以表示文本串。例如,可以使用相应的屏蔽元素来屏蔽句子中的每个单词。当生成屏蔽元素时,评估装置110可以在每个单词的开始处开始新的屏蔽元素,并且当遇到指示单词结尾的空格或标点时结束屏蔽元素。
86.文本311、341、342和361被包括在回放中,因为它们对应的用户界面元素的内容被列入白名单。在该示例中,用户界面200的发布方可能想要查看用户如何改变数量表单240中的数量,以确保该表单正常工作以及用户能够没有错误或挫折地指定他们期望的数量。然而,所购买的项目可能被视为敏感信息。因此,表示项目的文本221和231没有被列入白名单,并且在用户会话的回放中使用屏蔽元素321和331来屏蔽。
87.用户界面300包括会话活动区域370,在会话活动区域370中,基于会话活动数据呈现正在回放的会话期间发生的活动。例如,会话活动区域370呈现诸如以下各项的信息:正在回放的会话所发生的时间(例如,天、日期、一天中的时间、和/或年)、用于进行用户会话的浏览器类型、发生用户会话的设备的互联网协议(ip)地址、和/或发生用户会话的用户设备的地理位置。会话活动区域318还可以呈现在会话期间发生的多个活动(例如,多个点击、焦点、页面导航或其他用户交互)。
88.会话活动区域370还标识和/或概述在正在回放的用户会话期间发生的各种活动。例如,会话活动区域370指定,在回放区域306中正在回放的会话期间,用户导航到example.com/products 371,聚焦在页面372内的数量表单340上,点击结帐按钮373,导航到example.com/checkout 374,并且聚焦在地址框375上。会话活动区域370中列出的活动可以按照它们在会话期间发生的次序进行排列。例如,活动371发生在活动372、373、374和375之前。另外,会话活动区域370中列出的活动可以以分层的方式可视地表示。例如,活动372和373中的每一个相对于活动371向右偏移,从而指示活动372和373发生在访问example.com/products 371期间。
89.活动列表370还可以提供关于活动的上下文数据。例如,活动372指示用户交互“聚焦”于数量表单340。活动列表370还可以提供来自与每个活动相关的用户界面的结构的信息。例如,每个活动可以包括来自与来自用户界面结构的分层表示(例如,来自dom)的活动相关联的节点的信息。在特定示例中,活动372示出了提供关于数量表单340的上下文信息
的dom节点的一部分(例如,//报头划分(#header div...)...)。在一些实施方式中,与活动372的用户交互将使得呈现未在活动列表370中呈现的附加上下文信息(例如,提供与活动相关的信息的全套dom节点)。
90.当会话的回放在回放区域306中进行时,与正在呈现的回放部分相对应的活动可以被突出显示。例如,在用户聚焦于数量表单340之后,用户点击了结帐按钮360。当回放示出了鼠标从数量表单340附近移动到结帐按钮360时(如虚线所示),活动373可以被加阴影(或突出显示),以指示与当前正在回放的会话部分相对应的会话活动。当会话的回放到达用户点击结账按钮360所在的点时,回放数据可以使得阴影圆362被呈现,从而向发布方可视地传达用户点击发生以及用户点击结账按钮360的位置。类似的动画可以用于向发布方可视地传达发生了其他交互。例如,参考触摸屏设备,类似的阴影圆可以用于可视地传达用户拍击的发生,并且拉长的阴影动画可以用于示出在触摸屏上的用户滑动或其他手指移动。
91.如上所述,发布方可以从用户界面300(或另一用户界面)请求回放其他会话之一(例如,会话2)。例如,与会话列表308中的会话2的用户交互(例如,点击)可以发起对关于会话2的会话信息的请求。响应于该请求,评估装置110可以向请求设备输出与会话2相关的回放数据和会话活动数据。在接收到回放数据和会话活动数据时,请求设备可以在回放区域306中回放会话2,并且在会话活动区域318中呈现关于会话2期间发生的活动的信息。
92.在一些实施方式中,用户界面300可以包括筛选元素304。筛选元素304使得发布方能够筛选使用例如提交的搜索短语标识的会话。例如,发布方可能只对标识用户在其期间点击了结账按钮360但最终没有进行购买的会话感兴趣。在该示例中,用户可以提交搜索短语“点击结账”,并且与筛选元素304交互以选择仅标识用户在其期间没有进行购买的那些会话的筛选器(例如,通过点击下拉按钮并选择“没有购买”选项)。这使得发布方能够快速标识感兴趣的会话,和/或标识可能阻止这些用户进行购买的原因(例如,用户界面的问题)。
93.这里出于说明的目的提供了示例筛选器,但是可以根据需要使用和指定各种其他筛选器。例如,发布方可能只对评估在特定地理区域(例如,美国东南部、中美洲、欧洲)中执行的那些会话感兴趣,或只对评估用户在其期间在某个指定持续时间之前(例如,在2分钟内)终止会话的那些会话感兴趣。如下面更详细讨论的,提供诸如这些的筛选器和/或与使用筛选器标识的会话相关的分析信息可以向发布方提供关于如何更好地格式化他们的用户界面和/或实现特定商业目标(例如,增加销售)的洞察力。
94.在一些实施方式中,用户界面200的发布方可以通过在用户会话的回放中与用户界面元素简单地交互来更新用户界面200的白名单。例如,如果发布方决定它不需要查看数量表单240中呈现的项目的数量,则发布方可以在回放区域306中选择数量值342。评估装置110可以检测该选择并更新数量表单240的数量值242的白名单状态。在该示例中,评估装置110将(例如通过从白名单120中移除指定该值被列入白名单的“标签:表单;字段:值”)使数量值242的白名单状态改变为非白名单内容。对于与用户界面200的后续用户会话,数量值342将不被收集并被发送到评估装置110。发布方可以通过利用用户界面200在会话1或另一会话的回放中选择值342来将数量值242添加回白名单120。
95.图4是用于生成并提供呈现用户会话的回放的交互界面的示例过程400的流程图。
过程400的操作可以例如由一个或多个数据处理装置(诸如评估装置110)来执行。过程400的操作也可以被实施为存储在非暂时性计算机可读介质上的指令。指令的执行使得一个或多个数据处理装置执行过程400的操作。
96.将配置数据提供给客户端设备(402)。配置数据指定发布方的白名单用户界面元素集合。每个白名单用户界面元素是有资格从其从客户端设备收集并传输内容的用户界面元素。例如,如上所述,配置数据可以指定标签、字段、属性、或可以从其获得并向评估装置发送白名单内容的其他用户界面结构指示符。
97.可以响应于客户端设备加载发布方的用户界面,将配置数据发送到客户端设备。例如,加载用户界面的应用或用户界面本身可以被配置为响应于该加载来请求配置数据。以此方式,当前白名单被提供给客户端设备,以用于收集事件数据以发送到评估装置。
98.从客户端设备接收事件数据(404)。客户端设备可以在用户会话期间或在用户会话结束时收集事件数据并将事件数据发送到评估装置。如上所述,事件数据可以包括指定在用户会话期间呈现的一个或多个用户界面的结构的界面数据,以及指定与一个或多个用户界面的用户交互的用户交互数据。事件数据还可以包括指定在用户会话期间的用户界面的结构变化的突变数据。
99.事件数据还可以包括由一个或多个用户界面呈现并且与由配置数据指定的白名单用户界面元素相匹配的一个或多个所呈现的用户界面元素的内容。例如,呈现发布方的(多个)用户界面的应用可以将用户界面元素与由配置数据指定的白名单用户界面元素进行比较。为了与用户界面元素相匹配,应用可以获得用户界面元素的内容,并且向该内容提供事件数据。对于不匹配的用户界面元素,应用可以阻止收集用户界面元素的内容,并且不向该内容提供事件数据。相反,应用可以向用户界面元素(而不是由用户界面元素呈现的实际内容)提供标识符。
100.基于事件数据生成用户会话的回放(406)。用户会话的回放可以呈现在用户会话期间查看的一个或多个用户界面、与白名单用户界面元素相匹配的一个或多个用户界面元素的内容、与一个或多个用户界面的用户交互。对于与白名单用户界面元素不匹配的用户界面元素的内容,回放可以呈现不具有用户界面元素的内容的用户界面元素。相反,回放可以包括表示内容的屏蔽元素。如上所述,可以基于包括内容的用户界面元素的大小来确定屏蔽元素的大小。
101.图5是用于更新用户界面元素的白名单状态的示例过程500的流程图。过程500的操作可以例如由一个或多个数据处理装置(诸如评估装置110)来执行。过程500的操作也可以被实施为存储在非暂时性计算机可读介质上的指令。指令的执行使得一个或多个数据处理装置执行过程500的操作。
102.在一些实施方式中,在发布方将内容添加到白名单之前,没有发布方的内容被列入白名单。这确保了除非由发布方进行请求,否则不会收集敏感数据。发布方然后可以根据需要将内容添加到白名单。
103.生成与发布方的一个或多个用户界面的用户会话的回放(502)。可以使用图4的过程400来生成回放。
104.检测与回放中呈现的用户界面元素的用户交互(504)。例如,发布方可以选择用户界面元素来改变用户界面元素的内容的白名单状态。如果用户界面元素包括多个内容项目
(例如,多个字段),则可以检测并记录所选择的特定字段。
105.改变用户界面元素的白名单状态(506)。如果用户界面元素或用户界面元素的特定字段当前被包括在发布方的白名单中,则用户界面元素或特定字段的白名单状态可以被更新为不再是白名单。例如,可以从白名单中移除内容的标签或字段。
106.如果用户界面元素或用户界面元素的特定字段当前没有被包括在发布方的白名单中,则该用户界面元素或特定字段的白名单状态可被更新为是白名单。例如,可以将内容的标签或字段添加到白名单。
107.当客户端设备加载发布方的用户界面时,可以将更新后的白名单提供给客户端设备。以此方式,更新后的白名单被用于收集事件数据,以用于后续用户会话的回放。
108.本说明书中描述的主题和操作的实施例可以在数字电子电路中实施,或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实施,或在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为编码在计算机存储介质上的一个或多个计算机程序,即计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器设备供数据处理装置执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个cd、盘或其他存储设备)中。
109.本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的或从其他源接收的数据执行的操作。
110.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实施各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
111.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,标记语言文档中所存储的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或存储在多个协作文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机上执行,或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
112.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。这些过程
和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实施为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
113.举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),以从其接收数据,或向其传送数据,或两者兼有。然而,计算机不需要有这样的设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
114.为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户可以用来向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如可视反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收的请求而向用户设备上的网络浏览器发送网页。
115.本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互),或一个或多个这样的后端组件、中间件组件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网(例如,因特网)和对等网络(例如,自组织对等网络)。
116.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将数据(例如,html页面)传输到客户端设备(例如,为了向与客户端设备交互的用户显示数据并从其接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
117.虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开地或以任何合适
的子组合来实施。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
118.类似地,虽然在附图中以特定的次序描述了操作,但是这不应被理解为要求这些操作以所示的特定次序或顺序次序执行,或要求所有示出的操作都被执行,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包到多个软件产品中。
119.因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中所述的动作可以以不同的次序执行,并且仍能获得期望的结果。此外,附图中描绘的过程不一定需要所示的特定次序或顺序次序来获得期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
再多了解一些

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

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

相关文献