动态更新的虚拟列表视图的制作方法

文档序号:6478740阅读:249来源:国知局
专利名称:动态更新的虚拟列表视图的制作方法
动态更新的虚拟列表视图背景web浏览应用程序一般以列表视图向用户呈现数据。例如,可通过使用诸如键盘、 鼠标等各种控件向上或向下滚动来查看的数据的页面。可查看数据可包括文本、图形、这两 者的组合等,且可按实际列表形式(表格、项目符号条目等)或按自由形式来格式化。在任 一种情况中,web浏览应用程序可向用户呈现任意大小的项目列表。在实际环境中,web应用程序可尝试在用户选择了到数据的链接之后在将该数据 呈现在其用户界面中之前下载整个数据。因为如果数据较大、可用带宽较小、或其它系统资 源造成从web服务器下载数据的限制,则会导致向用户呈现数据时的不可接受的延迟,此 方式因而可能是不可行的。另一替换方式是按组下载数据并随着数据被下载来更新用户界 面。然而,此方式也可能在系统中导致“笨拙”,其中被呈现的网页可能以部分显示、延迟可 能使用户厌烦、且在用户可能仅对数据的特定部分感兴趣时系统资源可能因下载整个数据 而被不必要地占用。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。该概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确 定所要求保护的主题的范围。各实施例涉及在web应用程序中动态地更新虚拟列表视图以使用户在尽管有web 所涉及的固有延迟时也可无缝地访问并管理所呈现的数据。可按组块来下载与虚拟列表视 图相关联的数据且该视图随着用户滚动被更新。通过将用户的滚动与要下载特定的数据组 块耦合,可按高效的方式利用系统资源。可采用其它用户界面控件来快速并高效地访问数 据的各部分以最小化延迟和系统资源占用。通过阅读以下详细描述并查阅相关联的附图,这些和其他特征和优点将是显而易 见的。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的各方面。附图简述

图1是示出服务器与客户机之间的web应用程序中的数据的呈现的概念图;图2示出具有虚拟列表视图的示例网页的屏幕截图;图3示出根据某些实施例的具有相对于在视区中呈现的组块之前和之后的数据 组块的图2的示例虚拟列表视图;图4是根据各实施例的可按组块下载来用于动态地更新虚拟列表视图的数据块 的图示;图5是具有用于高效地访问数据的各部分的其它用户界面控件的图2的示例列表视图的另一屏幕截图;图6示出联网环境,其中可实现各实施例;图7是其中可实现各实施例的示例计算操作环境的框图;以及图8示出根据各实施例的用于动态地更新虚拟列表视图的示例过程的逻辑流程图。详细描述如上文中简要描述的,可通过协调用户的滚动动作与下载数据组块来动态地更新web应用程序中的虚拟列表视图,以使用户可无缝地访问并管理所呈现的数据。在以下详细 描述中,参考了构成其一部分并作为说明示出了各具体实施例或示例的附图。可组合这些 方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此, 以下详细描述并不旨在限制,本发明的范围由所附权利要求及其等效方案来定义。虽然在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一 般上下文中描述了各实施例,但是本领域技术人员会认识到各方面也可以结合其他程序模 块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组 件、数据结构和其他类型的结构。此外,如本领域技术人员理解的,各实施例可以用其他计 算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子 产品、小型计算机、大型计算机等等。各实施例还能在其中任务由通过通信网络链接的远程 处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地 和远程存储器存储设备中。各实施例可被实现为计算机进程(方法)、计算系统、或者如计算机程序产品或计 算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进 程的指令的计算机程序的计算机存储介质。参考图1,示出了服务器与客户机之间的web应用程序中的数据的呈现的概念图。 web应用程序包括各种应用程序,这些应用程序通常具有在客户机设备/应用程序(106)中 的用户界面并与诸如服务器102等数据源交换数据。用于应用程序的实际数据可驻留在一 个或多个数据存储104中且可由服务器102管理。web应用程序的用户界面108允许用户查看数据、对其执行操作、以及提供输入以 改变要发送回数据源的数据。由用户界面呈现的数据可包括文本数据、图形数据或这两者 以各种格式的组合。例如,可将数据作为各种形式的列表、表格、自由形式的文本、页面、以 及其它格式来呈现。下文所述的各实施例涉及诸如以上讨论的web应用程序,但它们不限于web应用 程序。其中系统资源和被交换的数据的量受到限制且以列表视图格式向用户呈现数据的通 过网络交换数据的任何应用程序可根据各实施例实现动态更新方法。此类应用程序的一个 示例是客户机设备上的电子邮件应用程序,该应用程序在电子邮件内容主要驻留在服务器 上的同时向用户提供所接收到的电子邮件的列表(例如,它们的主题行和发送者)。此类电 子邮件应用程序不需要是web应用程序。其可以内联网应用程序且使用不同网络协议(不 必是HTTP)但仍实现如此处所述的各实施例。其中可实现虚拟列表视图的动态更新的其它示例应用程序包括但不限于即时消 息通信应用程序、搜索引擎结果呈现等。此类应用程序也不限于以超文本标记语言(HTML) 来实现。可使用用于浏览应用程序的任何类型的编程语言。此外,虚拟列表视图的宽度和 高度可基于诸如数据块中的行数、滚动速度等特性是动态可变的。图2示出具有虚拟列表视图的示例网页的屏幕截图。如上所述,动态更新的虚拟列表视图可在任何用户界面中实现以向用户以列表形式呈现所交换的数据。示例网页208由典型web浏览器用户界面呈现。该用户界面包括所呈现的网页的统一资源定位符(URL) 212、菜单命令218、以及操作图标216。主要内容在列表视图214中 呈现。示例网页是美国专利局网站的专利法部分。如可见到的,该网页包含每一行都呈现到 法典的具体章节的链接的美国法典的长列表。用户界面能够仅呈现完整列表的有限部分。 列表视图的所呈现的部分被称作视区。滚动条210允许用户在列表上向上和向下滚动并查 看该列表的不同部分。尽管示例列表包括简单行且可以不花非常长的时间来将整个列表下载到客户机, 但是在许多情况中,完整列表视图可能太长以致于无法以一个快速操作来下载,或个别行 可能包括较多数据以使下载操作可能不能跟上用户的滚动动作的步调从而导致呈现的延 迟或系统资源耗尽。图3示出根据某些实施例的具有相对于在视区中呈现的组块之前和之后的数据 组块的图2的示例虚拟列表视图。在根据各实施例的web浏览应用程序中,虚拟列表视图由两个主要部分组成滚 动条310和视区314。这两个元素是分离的,以使得可按需捕捉和处理或丢弃来自滚动条 310的事件。视区包含行的“组块”(例如就HTML而言,组块可以是包含行的表格以及某 些额外元数据的分隔符元素“DIV”)。给予这些组块位置(相对于预定义的基准)属性且 通过修改它们的样式特性,将要可见的任何范围的行放置在视区中是可能的(只要这些行 在客户机上可用)。随着用户滚动,对视图添加或移除组块以维护当前在视区314中可见的 行之上(322)和之下(326)的额外行。为通过减少在客户机与数据源之间交换的数据来最小化系统资源(通信带宽、存 储器等)的消耗,如果用户滚动得比预定义阈值快,则可以不加载数据。根据一实施例,该 阈值被定义为‘如果在过去M微秒中滚动位置改变了超过N行,则用户正滚动得很快。’在 此情况下,视区可保持不变直到滚动放慢,此时仅为滚动条的最终位置加载数据。对供查看的行的选择可在客户机上作为行ID的散列来维护。这使得快速查找能 知晓行是否被选择,且可被枚举以取得所选项目的集合。还可将所选个别项目添加到行选 择,因为行ID已经在客户机上存在。可仅将所选项目添加到散列。对于大范围的选择,行 中的某一些可能不在客户机上存在。在此情况下,可对服务器(数据源)作出同步调用以 重构视图并返回被包括在范围中的行ID的集合。当然,还可在不背离此处所述的原则的情 况下实现维护行ID的其它方法。在实际网络环境中,列表的内容可在数据源中改变。客户机上的web应用程序的 用户界面需要动态地更新以反映此改变。代替预加载整个数据集(这可能是不可行的),根 据各实施例的应用程序可仅加载用户当前正在查看的数据的区域,外加足以在用户短距离 滚动时能够快速更新客户机的数据的区域。在数据源改变时,可在每行的基础上向客户机传播更新。取决于是插入、移除、还 是改变行,服务器可向客户机发送更新视图的最小数据。其可包括受影响的行的ID、用于该 行的新标记、及其在列表中的位置(由前一行的ID指示)。客户机可随后应用这些更新。根据另一实施例,可将水印包括在每一批更新中,因为客户机上的视图可能脱离 与服务器的同步。可随任何列表视图操作(例如,删除、移动)一起将水印送回并与服务器上的当前水印比较。如果水印不匹配,则这可意味着在更新的时刻某些更新一定在途中且 还未被考虑。在此情况下,服务器可通知客户机在应用了这些更新之后重试操作。图4是根据各实施例的可按组块下载来用于动态地更新虚拟列表视图的数据块 的图示。
如上所述,可下载虚拟列表视图中的数据并将其呈现在视区中的块(430)中。根 据一实施例,除当前所查看看的块432之外,还可下载其之前的数据块和其之后的数据块 (两者都包括预定义数量的行)(例如,块N-1、N、以及N+1)。如果用户滚动得比预定义阈 值快,则可跳过任何后续块,直到滚动放慢到阈值之下的等级且可再次下载三个顺序块以 向用户呈现他/她的当前数据行选择。然而,各实施例不限于下载三个顺序的数据块。可基于诸如可用通信带宽、数据的 类型、用户偏好、滚动速度、视区的大小、可用存储器等多个因素将当前所查看的块之前和 之后的任何数量的块下载到客户机。以此方式,在没有客户机与数据源之间的双程流量的 情况下,整个数据的一部分可用于查看。此外,可实现通过使用人工智能来基于下载了多少 数据块及其如何被用户使用的过去信息预测供抢先下载的数据块数量的算法。如上所述,源处的数据可在用户正在客户机上查看一部分时改变。如果某些行在 选择中存在而其它的不在选择中存在,则可作出对数据源的调用以检索丢失的行以使选择 被保留。如果创建或更新了新的行,则不在选择中删除这些行,以再次保留该选择。图5是具有用于高效地访问数据的各部分的其它用户界面控件的图2的示例列表 视图的另一屏幕截图。可在用户界面中提供若干控件特征以动态地更新虚拟列表视图以增强用户体验 以及对数据的访问的简易性。在示例web浏览器用户界面508中,诸如URL 512、操作图标 516、以及滚动条510等标准元素沿着虚拟列表视图514的一部分示出。一个增强控件特征是滚动标记。用户可能在他/她与数据的交互中希望返回到虚 拟列表视图的特定部分。诸如图标542等滚动标记图标可用于在用户指示(例如,在指针 设备上右键点击、选择菜单条项目等)时指示沿着滚动条的位置。在滚动标记特征的进一 步增强中,每一滚动标记图标可与对应于该位置的行相关联且可在不干扰查看体验的情况 下向用户呈现关于该行的概要信息(例如,在用户悬停在滚动标记图标上时在弹出框中)。之前讨论了下载数据的不同方式,其中基于滚动的速度下载了组块。如果用户滚 动得比阈值慢,则连续地更新视图。如果滚动速度超过阈值,则可冻结视图直到滚动再次放 慢且下载了新数据组块以供查看。该阈值可预设或基于系统的选择特性来动态地确定。另 一增强特征控件可包括在用户正快速地滚动通过所传递的数据行的同时向用户呈现所传 递的数据行的预览。该预览可以是基于行的组的,且基于诸如标题、头部、日期等用户定义 (或选择)的参数来归类。例如,如果用户正在快速滚动通过美国法典(标题35),则预览 框(546)可显示诸如 chapter 15 "Plant Patents”、chapter 17 "Designs” 等个别章节, 以阻止用户意外滚过他/她希望查看的行。预览特征可按可由用户选择的任何方式或基于默认参数来结构化。这些参数可包 括组类型、元数据类型、以及排序风格(字母表次序、日期、标题等)。另一增强控件特征被称为跳至控件(544)。此特征允许用户在不必加载整个列表 视图的情况下在大列表中寻找特定位置。例如,行的字母表次序选择可允许用户跳至特定行而不是如图所示地向下滚动到该位置。如在预览特征中一样,跳至控件可以是基于诸如 字母表次序、时间次序、用户定义等多个准则的。根据一实施例,可将跳至控件作为适应一 排序准则的下来菜单来提供。例如,如果列表是以字母表顺序来排序的,则菜单可显示字母 表的字母,或如果是按日期排序的,则菜单可显示日期拾取器。在下来菜单中选择值随后使 得列表寻找等于或在所选值之后的第一行。根据各实施例的动态更新虚拟列表可使用除上文中结合示例应用程序所述的那 些之外的更多或更少组件和特征来实现。实现此类列表视图的应用程序可本地或以联网方 式在一个或多个计算设备中执行。可将数据存储在一个或多个服务器或数据存储中。数据 可以是结构化或非结构化、加密或未加密的。此外,可采用其它方法作为示例增强控件特征 的替换或补充来优化操作。图6是其中可以实现各实施例的示例联网环境。虚拟列表视图的动态更新可在本 地或运行在以分布式方式配置在多个物理和虚拟客户机和服务器中的一个或多个计算设 备上的分布式应用程序中实现。它还可以在非群集系统或利用通过一个或多个网络(例 如,网络660)通信的多个节点的群集系统中实现。这种系统可以包括服务器、客户机、因特网服务提供者、以及通信介质的任何拓扑 结构。同样,系统可具有静态或动态拓扑结构,其中系统的分层结构中服务器和客户机的角 色以及它们的相互关系可由管理员来静态地定义或基于设备可用性、负载平衡等来动态地 定义。术语“客户机”可以表示客户机应用程序或客户机设备。尽管实现动态更新虚拟列 表视图的联网系统可以涉及更多组件,但相关组件仍然结合此图来讨论。如上所述,web应用程序(或实现列表视图更新的任何应用程序)可在客户机设 备654-656或服务器652上执行并由客户机设备653访问。用户可通过网络660访问来自 web服务器662的虚拟列表视图中呈现的数据。web服务器662本身可使用数据存储668 来管理并存储数据或与管理数据存储666的数据库服务器664通信。网络660可以包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、 或因特网。网络660提供此处描述的节点之间的通信。作为示例而非局限,网络660可以 包括诸如有线网络或直接线连接等有线介质,以及诸如声学、RF、红外线和其它无线介质等 无线介质。可以利用计算设备、应用程序、数据资源、数据分布系统的许多其它配置来实现基 于数据类别的用于校准服务器的分布式数据存储。此外,图6中所讨论的联网环境仅用于 说明目的。各实施例不限于示例应用程序、模块、或过程。图7及相关联的讨论旨在提供对适于在其中实现各实施例的计算环境的简要概括描述。参考图7,示出了诸如计算设备700等示例计算操作环境的框图。在基础配置中, 计算设备700可以是客户机设备。计算设备700通常可包括至少一个处理单元702和系统 存储器704。计算设备700还可包括协作执行程序的多个处理单元。取决于计算设备的确 切配置和类型,系统存储器704可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存 等)或是两者的某种组合。系统存储器704通常包括适于控制联网的个人计算机的运作的 操作系统705,诸如来自华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。系统存储器 704还可包括一个或多个软件应用程序,诸如程序模块706、客户机应用程序722、视图模块 724、以及数据检索模块726。
客户机应用程序722可以是以虚拟列表视图向用户呈现来自另一源的数据的任 何应用程序,如web浏览应用程序。数据检索模块726可从诸如web服务器等远程数据源 中检索供呈现的数据。如前所述,由于系统资源限制,下载整个虚拟列表视图可能是不实际 的或不可行的。视图模块724可协调用户的滚动与对应数据组块并允许数据检索模块726 仅检索用户立即查看所需的那些数据组块。视图模块724还可提供如上结合图5所述的增 强控件特征。该基本配置在图7中由虚线708内的组件示出。不必将客户机应用程序722 的功能分配成此处所述的两个不同模块。上述功能可由更多或更少模块执行或全部由相同 应用程序执行。
计算设备700可具有附加特征或功能。例如,计算设备700还可包括附加数据存 储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些其它存储在图7中由 可移动存储709和不可移动存储710示出。计算机存储介质可包括以用于存储诸如计算机 可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易 失性、可移动和不可移动介质。系统存储器704、可移动存储709和不可移动存储710都是 计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、R0M、EEPR0M、闪存或其它存 储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁 性存储设备、或能用于存储所需信息且可以由计算设备700访问的任何其它介质。任何这 样的计算机存储介质都可以是设备700的一部分。计算设备700也可具有诸如键盘、鼠标、 笔、语音输入设备、触摸输入设备等的输入设备712。还可包括输出设备714,如显示器、扬 声器、打印机等。这些设备在本领域中公知且无需在此处详细讨论。计算设备700还可以包含允许该设备诸如在分布式计算环境中,例如在内联网或 互联网中通过无线网络与其它计算设备718通信的通信连接716。其它计算设备718可包 括web服务器、数据库服务器、文件服务器、提供者服务器等。通信连接716是通信介质的 一个示例。通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指 令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信 号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例 而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、 RF、红外线和其他无线介质。所要求保护的主题还包括操作的各方法。这些方法可以用任何数量的方式,包括 本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一 些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可 以仅与执行程序的一部分的机器同在一处。图8示出根据各实施例的用于动态地更新虚拟列表视图的示例过程800的逻辑流 程图。过程800可在任何web应用程序环境中实现。过程800开始于操作802,其中从诸如web浏览器应用程序中的网页的第一视图等 数据源接收用于向用户呈现的初始数据块。处理从操作804继续至操作802。在操作804,由web应用程序向用户呈现所接收到的初始数据块。处理从操作806 移至操作804。在操作806,检测到用户在虚拟列表视图中的滚动操作。如上所述,用户可按缓慢的步调或按比对应用程序可以同时下载并呈现正被滚动通过的数据可行的更快的步调来 滚动。处理从操作808前进至判定操作806。在判定操作808,作出滚动是否比预先确定的阈值更快的判定。如果滚动不比该阈 值更快,则处理移动到操作810,其中连续地更新视图,因为数据交换不是可淹没系统资源 的数据交换。如果滚动比阈值更快,则处理从判定操作808继续至操作812,其中跳过滚动通过 的数据块(不被下载到客户机)。可在该时间帧期间冻结视图且可提供诸如预览特征等额 外增强控件特征。处理从操作812移动至判定操作814。在判定操作814,作出滚动是否放慢到预定义的阈值之下的判定。如果滚动仍在阈 值之上,处理返回到操作812以继续跳过正被滚动通过的数据。如果滚动放慢了,则处理前 进至操作816。在操作816,将包括呈现在视区中的数据块以及所呈现的块之前和之后的预设数 量的数据块下载到客户机。处理从操作816移动至操作818。在操作818,如果在数据源处存在任何改变,则更新数据。处理从操作818继续至 操作820。在操作820,以慢速滚动模式向用户呈现所下载的数据块。在操作820之后,处理 移动至调用进程以进行进一步动作。包括在过程800内的各操作仅出于说明目的。在web应用程序中动态地更新虚拟 列表视图可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同的操 作次序来实现。以上说明书、示例和数据提供了对各实施例组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定 义的主题不必限于上述具体特征或动作。相反,上述具体功能部件和动作是作为实现权利 要求和各实施例的示例形式而公开的。
权利要求
一种至少部分在计算设备中执行的用于动态地更新虚拟列表视图(214)的方法(800),所述方法(800)包括检测(808)用户在呈现所下载的数据的应用程序用户界面(108)的虚拟列表视图(214)呈现中的滚动速度;如果所述滚动速度低于预定义阈值,则继续(810)下载所述数据并连续地在视区(314)中更新所述呈现;如果所述滚动速度高于所述阈值,则跳过(812)对所述用户滚动通过的数据行的块(430)的下载操作,直到所述滚动速度放慢到再次低于所述阈值;在所述滚动速度放慢到再次低于所述阈值时,下载(816)预设数量的块(430),所述预设数量的块(430)包括要呈现在所述视区(314)中的块(432)和所述要呈现的块(432)之前和之后的多个块(430)以及在所述视区(314)中显示(820)要呈现的块(432)。
2.如权利要求1所述的方法(800),其特征在于,每一块中的数据行的数量基于以下集 合中的至少一项来确定可用通信带宽、数据的类型、用户偏好、滚动速度、所述视区(314) 的大小、以及可用存储器。
3.如权利要求1所述的方法(800),其特征在于,要呈现的块(432)之前和之后的块 (430)的数量基于以下集合中的至少一项来确定可用通信带宽、数据的类型、用户偏好、 滚动速度、所述视区(314)的大小、以及可用存储器。
4.如权利要求1所述的方法(800),其特征在于,所述虚拟列表视图(214)包括采用以 下集合中的至少一种形式的文本数据和图形数据中的至少一个标号列表、项目符号列表、 表格、自由形式的文本、以及页面格式。
5.如权利要求1所述的方法(800),其特征在于,还包括向所述虚拟列表视图(214)中的每一块分配相对于预定义基准的位置属性,其中所述 位置属性与行标识符相关联以使任何范围的行可被选择以供在所述视区(314)中呈现。
6.如权利要求5所述的方法(800),其特征在于,所述标识符作为元数据来存储。
7.如权利要求5所述的方法(800),其特征在于,对供查看的行的选择由所述应用程序 作为行标识符上的散列来维护。
8.如权利要求1所述的方法(800),其特征在于,还包括如果选择中的多个行不在执行所述应用程序的客户机(106)处存在,则启动对维护所 述数据的数据源的同步调用以利用所述行标识符来请求丢失的行。
9.如权利要求8所述的方法(800),其特征在于,还包括如果所述数据源处的数据的一部分改变了,则通过提供受影响的数据行的标识符、对 所述数据行的改变、以及所述行的位置指示符来更新所述客户机(106),其中所述更新按以 下两种方式之一来执行在每一行的基础上,和在批量行的基础上。
10.如权利要求9所述的方法(800),其特征在于,还包括将水印包括在来自数据源的每一更新中;将水印从所述客户机(106)发送回所述数据源;以及基于所述数据源处的水印与从所述客户机(106)发送回的水印的比较确定所述客户 机(106)处的所述数据的更新状态。
11.如权利要求1所述的方法(800),其中所述应用程序包括以下各项之一web浏览应用程序、电子邮件应用程序、即时消息通信应用程序、以及搜索引擎应用程序。
12.如权利要求1所述的方法(800),其特征在于,所述滚动速度阈值被定义为在预设 时间段内在滚动位置中超过预先确定数量的行的改变。
13.一种用于动态地更新(800)虚拟列表视图(214)的系统,所述系统包括 用于与数据源交换数据的通信模块;存储器;以及耦合到所述存储器和所述通信模块的、能够执行客户机应用程序(106)的处理器,所 述客户机应用程序被配置成(106)下载(802)用于在视区(314)中显示的第一块和来自所述数据源的要显示的所述第一 块之前和之后的多个块(430)为所述虚拟列表视图(214)中的每一块分配相对于预定义基 准的位置属性,其中所述位置属性与行标识符相关联以使任何范围的行可被选择以供在所 述视区(314)中显示;检测(806)用户的滚动速度; 将所述滚动速度与预定义阈值比较(808)如果所述速度低于所述预定义阈值,则继续(810)下载块(430)中的数据并连续地更 新所述视区(314);如果所述速度高于所述阈值,则跳过(812)对所述用户滚动通过的块(430)的下载,直 到所述速度放慢到低于所述阈值;在所述速度放慢到低于所述阈值时,下载(816)另一预设数量的块(430),所述另一预 设数量的块(430)包括要显示在所述视区(314)中的块(432)和所述要显示的块(432)之 前和之后的多个块(430)以及 更新(820)所述视区(314)。
14.如权利要求13所述的系统,其特征在于,所述客户机应用程序(106)还被配置成 允许所述用户在滚动条上的所选位置处放置标记以指示供后续查看的数据行的位置。
15.如权利要求14所述的系统,其特征在于,所述标记与弹出框相关联,所述弹出框向 所述用户提供关于所选位置处的数据行的概要信息。
16.如权利要求13所述的系统,其特征在于,所述客户机应用程序(106)还被配置成 提供基于准则排序的被跳过的数据行的预览,所述准则包括来自以下集合中的至少一项标题、头部、日期、以及用户定义的属性。
17.如权利要求13所述的系统,其特征在于,所述客户机应用程序(106)还被配置成 响应于来自用户界面菜单的用户选择允许所述用户在没有滚动的情况下跳至所选行,所述用户选择包括基于排序准则的范围选择,所述排序准则包括以下各项之一字母表次 序排序、标题排序、时间顺序排序、以及用户定义排序。
18.一种在其上编码有用于动态地更新虚拟列表视图(214)的指令的计算机可读介 质,所述指令包括下载(802)用于在web应用程序的视区(314)中显示的第一块和来自所述数据源的要 显示的所述第一块之前和之后的预设数量的块(430)向所述虚拟列表视图(214)中的每一块分配(804)相对于预定义基准的位置属性,其 中所述位置属性与行标识符相关联以使任何范围的行可被选择以供在所述视区(314)中显示;检测(806)用户的滚动速度;将所述滚动速度与预定义阈值比较(808);如果所述速度低于所述预定义阈值,则继续(810)下载块(430)中的所述数据并连续 地更新所述视区(314);如果所述速度高于所述阈值,则跳过(812)对所述用户滚动通过的块(430)的下载直 到所述速度放慢到低于所述阈值;在所述速度高于所述阈值时冻结所显示的行并提供基于一准则排序的被跳过的数据 行的预览,所述准则包括来自以下集合的至少一项标题、头部、日期、以及用户定义的属 性;在所述速度放慢到低于所述阈值时,下载(816)另一预设数量的块(430),所述另一预 设数量的块(430)包括要显示在所述视区(314)中的块(432)和所述要显示的块之前和之 后的多个块(430);更新(820)所述视区(314);以及响应于来自用户界面菜单的用户选择允许所述用户在没有滚动的情况下跳至所选行, 所述用户选择包括基于排序准则的范围选择,所述排序准则包括以下各项之一字母表次 序排序、标题排序、时间顺序排序、以及用户定义排序。
19.如权利要求18所述的计算机可读存储介质,其特征在于,所述指令还包括如果所述数据源处的数据的一部分改变了,则通过提供受影响的数据行的标识符、对 所述数据行的改变、以及所述行的位置指示符来更新(818)所述web应用程序,其中所述更 新按以下方式之一来执行在每一行的基础上,和在批量行的基础上。
20.如权利要求18所述的计算机可读存储介质,其特征在于,所述指令还包括通过采用人工智能算法,基于所下载的数据行的历史数量和用户在所下载的行上的活 动来确定要下载的数据行的数量。
全文摘要
动态地更新web应用程序中的虚拟列表视图以使用户在尽管有web所涉及的固有延迟时也可无缝地访问并管理所呈现的数据。按组块来下载与虚拟列表视图相关联的数据且该视图随着用户滚动被更新。通过将用户的滚动与要下载的数据的特定组块耦合,按一高效的方式利用系统资源。采用用于用户界面的额外用户界面控件来快速并高效地访问数据的各部分以最小化延迟和系统资源占用。
文档编号G06F17/00GK101828166SQ200880112411
公开日2010年9月8日 申请日期2008年10月11日 优先权日2007年10月19日
发明者G·P·德苏扎萨纳, J·R·范伊顿, R·L·辛普森, R·慕克吉, S·C·米库拉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1