首页> 中国专利> 移动设备上大数据集的有效处理

移动设备上大数据集的有效处理

摘要

本发明涉及到一种用于有效地获取并在诸如运行Iphone

著录项

  • 公开/公告号CN103314373A

    专利类型发明专利

  • 公开/公告日2013-09-18

    原文格式PDF

  • 申请/专利权人 赛贝斯股份有限公司;

    申请/专利号CN201180061609.4

  • 发明设计人 拉曼·塞斯;

    申请日2011-12-16

  • 分类号G06F17/30;

  • 代理机构北京路浩知识产权代理有限公司;

  • 代理人王朋飞

  • 地址 美国加利福尼亚州

  • 入库时间 2024-02-19 21:23:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-01

    授权

    授权

  • 2014-01-22

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20111216

    实质审查的生效

  • 2013-09-18

    公开

    公开

说明书

技术领域

本发明通常涉及到移动通信,更具体地,涉及到采用移动设备获 取和呈现信息。

背景技术

不具有本地数据库应用程序或不具有足够的本地存储容量的移 动设备用户通常无法在不经受响应时间的延迟的前提下获取和显示 大数据集。虽然响应时间对用户界面(UIs)的有效性很关键,但是 当用户试图导航列表视图时,当前移动操作系统和平台的用户界面无 法在不使用户经受延迟的前提下显示大数据集(即,具有成千上万条 记录的数据集)的列表视图。当获取“混合”数据集时,这种问题更 严重。此类混合数据集可包括文本和诸如图形、音频和视频之类的多 媒体数据的组合。尤其是当数据集包括图形图像和图标时,移动设备 没有有效获取和显示大数据集的能力,这导致移动设备用户界面缺乏 响应能力。

移动计算设备的出现和发展允许用户从几乎任何地方存取相应 信息而不受具体地理位置的约束。例如,当此类用户从一物理位置行 进到另一物理位置时,其可以使用这些设备来查看相关数据。在移动 设备仍旧变得普遍的商业环境中,这点尤其有利。来自不同领域的大 量商业用户依靠该设备来实地存取大数据集的数据。通常将一些企业 和应用数据库的子集下载到这些移动设备上或与其同步,从而用于在 移动设备的用户界面上查看。

虽然移动设备相对较小的体积有助于携带,但该体积也已被证实 为对一些用户和应用程序造成阻碍,对于那些需要从大数据集中获取 和查看数据的企业移动用户来说尤其如此。

尽管移动技术方面已有进步,但在内存容量、数据存储容量、中 央处理器(CPU)容量和网络性能方面,移动设备通常比工作站计算 机的局限性更大。由于这些局限性,一些具有触摸屏界面的移动设备 操作平台,诸如由苹果公司开发的iPhoneTM操作系统、Google公司 的Android平台、Research In Motion(RIM)公司的Blackberry操作 系统以及类似的移动操作系统,不能在单个视图中显示包括大量记录 (即,数据行)的大数据集。当需要获取和显示大数据集的不同部分 时,这些局限性提出了挑战来响应用户在移动设备的用户界面内的滚 动或导航输入。考虑到移动设备的多功能性,理想的情况是通过执行 一种方法使这些移动设备可以快速获取和显示来自服务器端数据库 的大数据集的子集,并在可能断断续续的、不可靠的、偶尔连续的、 可变速(服务质量)的或者暂时不可用的网络能力的环境下有效地显 示这些子集。

随着越来越多的企业应用程序执行从应用服务器到移动设备的 大型数据库同步,需要请求移动设备用户界面有效地显示越来越大的 数据集。尽管较新的移动设备实现了在中央处理器(CPU)、内存容 量和存储容量方面的改进,但是需要消耗大量内存来处理大数据集的 移动应用程序仍然降低了用户对移动平台的体验。例如,传统技术足 以在服务器、工作站和个人电脑上执行对包含10000个图标的数据集 的列表视图的显示,但在移动设备上执行时会引起内存和CPU的性 能问题。一些移动操作系统(OSs)试图通过标记那些需要消耗大量 内存或CPU资源的应用程序进程来解决这些问题,从而可向其它的 应用程序提供额外的资源分配。这种标记可以防止应用程序消耗不成 比例的内存量,但是,这种技术的缺点在于被标记的应用程序的响应 能力会降低。

当用户导航到数据时,用于在移动平台上显示来自大数据集数据 的传统技术依靠实时(just in time)数据检索来获取将被显示的数据 行。然而,当用户通过滚动或者导航到数据行而获取数据行时,经常 会由于与无线环境中的这种实时获取有关的延迟而导致令人不可接 受的、缓慢的UI响应时间。

用来在移动设备上显示大数据集的传统技术包括对大数据集进 行检索并将其局部存储在移动设备上。但是,该技术的缺点是许多移 动设备缺乏用于本地存储和显示大数据集的本地数据库应用程序和/ 或足够的本地存储容量。即使具有相对快速的本地数据库,在没有资 源密集型数据同步以保持移动设备上的数据集更新的条件下,这种技 术仍会导致显示过期数据。该技术的另一个缺点是当检索和存储大数 据集时用户会遇到UI延迟。

尽管通过对索引和查询的优化而提高了数据库的性能,但是,传 统数据库在移动环境下的实施无法在不出现诸如UI延迟和滞后等明 显性能问题的条件下进行扩展以处理大数据集。

传统技术使用户很难浏览或查看那些超出移动设备屏幕当前可 视区域的大数据表。这种限制使传统技术不适用于那些需要在小显示 屏(例如移动设备)上显示长数据列表的应用。

因此,所期望的是以有效和经济的方式获取并在移动设备上快速 显示来自大数据集的数据子集的能力。

进一步需要的是用于响应用户在移动设备界面的滚动和触摸手 势并且只动态显示那些在浏览数据的任何时候都适于移动设备屏幕 的数据的系统、方法和计算机程序产品。由于移动设备往往受资源约 束,还需要能用最少的资源高效获取数据的能力,从而使系统和方法 能扩展以处理非常大的数据集。还需要能够响应用户在触摸屏用户界 面内的触摸手势且只动态显示那些浏览数据的任何时候都适于移动 设备屏幕的数据的能力。

发明内容

本发明的实施例包括用于有效获取将在(诸如但不局限于移动设 备)客户端设备的用户界面(UI)内显示的数据的方法、系统和计算 机程序产品。该方法、系统和计算机程序产品能处理大型数据集而不 需要将整个数据集存储在客户端设备上。本发明的实施例由用户随时 加载可视数据,并将数据绑定到UI元素上。当用户在数据列表视图 内滚动、导航或在任意方向上做手势(即上/下)以便遍历大数据集 时,本发明的实施例动态获取附加数据页,从而给用户这样一个印象: 附加页面已经加载并可显示/供查看。例如,当用户导航到当前浏览 的页面时,获取“向后滚动”和“向前滚动”的数据页。这种向前滚 动和向后滚动页面包括所提取的、与当前浏览页面的前一页和后一页 数据相对应的数据。该方法、系统和计算机程序产品通过调用模块构 建了一个包括可视数据行和逻辑数据窗口的“列表视图(ListView)”。 在一个实施例中,模块驻留在移动设备中。模块从驻留在服务器上的 大数据集中获取可视数据行和逻辑数据窗口所需要的附加页面。该数 据集类似于执行搜索或查询并获取结果集之后的结果集。本实施例 中,该结果集仅具有需要从上到下地显示在客户端设备的UI显示器 中的那些记录的主关键字。所获取的数据与局部存储在移动设备上的 主关键字相对应。该数据获取和显示的方法、系统和计算机程序产品 用作一种机制,当移动设备的用户通过数据集的列表视图进行导航 时,该机制可有效地从服务器中获取大数据集的各部分。

本发明的实施例剖析了用户界面后的手-眼协调的行为元素。该 剖析尝试理解手(在触摸屏界面的情况下)或其他输入设备(例如但 不局限于鼠标)如何与用户界面交互以便指示用户界面显示更多信 息,这些信息随后被可视化地呈现给眼睛。在一个实施例中,在客户 端设备上的应用程序会话期间,该进程可能会重复地继续多次循环。 例如,iPhoneTM的触摸界面使用户可以滑动手指并向下滚动数据列 表来阅读更多的记录。数据列表视图可以根据以每个滑动手势发送到 客户端应用程序的慢速或快速触摸屏事件来缓慢滚动或快速滚动。本 发明的各实施例可有效地处理在具有有限显示尺寸的移动设备上的 大数据集的数据显示。例如,如果数据集中有成千上万条记录,移动 设备每次可能只能显示几行。用户可以滚动数据列表视图来读取数十 条、可能数千条记录,但是,在任一瞬间,仍然只有少数记录对用户 来说是可见的。用户也可以缓慢地、快速地滚动列表或根本不滚动列 表。此时,用户也可能只浏览数据列表视图中的少数记录而不是数千 条记录。在一个实施例中,所有的这些滚动和导航情景在期望的数据 可被查看之前就被处理了,而不会使用户感觉到明显的延迟。

另外,本发明的实施例包括一种方法,通过调用函数从服务器上 获取大数据集子集,该方法在移动设备的用户界面内有效处理大数据 集的导航和显示。该方法包括在移动设备上存储大数据集的行(即数 据记录)的主关键字。在一个实施例中,根据移动设备上发起的查询 或搜索来定义大数据集。例如,移动设备上浏览器会话中的搜索可以 生成对存储在服务器上的大数据集的定义。该方法进一步地包括调用 函数来初始化ListView。在一个实施例中,被初始化的ListView指明 了数据集中可用记录的总数和移动设备的UI中一个可见行的高度 (例如,以像素为单位)。该方法为UI的活动视图区域获取数据,并 将所获取的数据绑定到移动设备的UI元素上。然后,所获取和绑定 的数据作为当前可视行显示在用户界面中。为了优化用户界面的响应 速度,该方法为附加的、与当前可视行相邻的向后滚动和向前滚动数 据页面获取数据并将数据绑定到用户界面元素。以这种方式,该方法 能快速地在移动设备上显示UI中当前可视数据前面和后面的数据。 以这种方式,用户的眼睛在一定程度上受骗而相信在滚动开始之前所 有的数据就被预先加载了。

该方法还包括在移动设备上定义一个移动的逻辑数据窗口。根据 实施例,移动窗口的大小为Nx,其中,x是适合移动设备上的UI页 面的记录的数目,N代表所预测的UI中的滚动/导航速度。该方法还 包括检测滚动和检测导航输入(例如但不局限于滑动手势),并确定 滚动/导航的速度。根据上述速度,该方法动态地向移动数据窗口添 加页面。在一个实施例中,预测的滑动/导航速度由UI内的用户手势 及过去和当前的滚动速度来确定。例如,在具有触摸屏用户界面(UI) 的移动设备中,检测到的手指滑动手势的迅速性会导致较长的滚动。 预测的滚动/导航速度也能通过检测手势的力度来确定。例如,检测 到的滑动手势的力度能被用来确定预测的滚动/导航速度。这样的力 度可以通过例如触摸屏滑动手势的摩擦系数来量度。一旦检测到滚动 /导航已经结束,该方法获取、绑定并在移动设备上UI的活动视图区 域显示用户已经导航到的数据行。

另外,本发明的实施例还包括计算机可读介质,此介质上存储着 计算机可执行指令,当由计算设备执行时,这些指令将会使计算设备 执行用于有效地获取并在移动设备上显示来自大数据集的数据的操 作。

本发明的实施例包括用来获取并在移动设备上显示来自大数据 集的数据的系统。该系统包括移动设备上的UI,用来显示源自远程 数据库的大数据集的数据,其中,所显示的数据是ListView的一部分, ListView包括可见行和驻留在移动设备上的逻辑数据窗口。该系统包 括配置成从服务器获取数据行的模块,那些数据行是为移动设备上的 ListView内的逻辑数据窗口添加可视行和附加数据页面所需要的。本 发明的一个实施例中,该模块驻留在移动设备上。为响应对移动设备 上UI内的导航输入或滚动手势的检测,该系统调用获取模块以从服 务器的数据库中获取数据行,这些数据行与来自移动设备的查询或列 表导航输入相对应。该系统将所获取的数据绑定到移动设备上的UI 元素上。在一个实施例中,该系统包括移动设备上的初始化模块,该 模块被配置成根据数据集中的记录总数和移动设备上UI中的一个可 视(可显示的)行的高度来初始化ListView数据结构。在一个实施例 中,那些驻留在移动设备上的模块是采用脚本语言编写的,这些脚本 语言可以由移动设备读取,移动设备包括但不局限于运行iPhoneTM操作系统的移动设备。在示范性的非限制性实施例中,这些模块可以 用JavaScript编写。

下面将参照附图详细描述本发明的其他特点和优点以及本发明 各种实施例的结构和操作。值得注意的是,本发明并不局限于本文所 描述的具体实施例。这里介绍的这些实施例仅用于说明目的。根据本 文所包含的教导,对相关领域的技术人员而言其他的实施例是显而易 见的。

附图说明

附图被合并到此处并成为说明书的一部分,其与说明书一起阐释 本发明,还起到解释本发明原理并使相关领域的技术人员能制造和使 用本发明的目的。

图1为示例性的分布式系统图,各实施例可以在该系统中实施。

图2阐释了根据本发明实施例的、用来处理客户端设备上大数据 集的系统的模块化视图。

图3-图7阐释了根据本发明实施例的示例性图形用户界面 (GUI),其中,可以获取并在移动设备上显示大数据集。

图8是根据本发明实施例的流程图,其阐释了一些步骤,通过这 些步骤可以获取并在移动设备上显示大数据集。

图9描述了可以在其中实施本发明的示例性计算机系统。

现在将参照附图来描述本发明。图中相同的参考标号通常代表相 同的元件或功能相似的元件。此外,参考标号最左边的数字通常表示 该参考标号首次出现的附图。

具体实施方式

目录

I.引言

II.数据获取和列表视图(ListView)显示系统

III.用于显示ListView的移动设备用户界面的实施例

IV.数据获取和列表视图(ListView)显示方法

V.计算机系统实施的实施例

VI.结论

I.引言

本发明的下述具体描述参考了阐释符合本发明的示例性实施例 的附图。其它实施例也是可能的,而且,在本发明的精神和范围内可 对各实施方式进行修改。因此,该具体描述并不旨在限制本发明。相 反,本发明的范围是由所附的权利要求书来确定的。

如下所述,本发明可采用软件、硬件、固件和/或图中所示出的 实体等不同的实施方式来实现,这对本领域的每个技术人员而言是显 而易见的。本发明不限于专门控制用于实施本发明的硬件的任何实际 软件代码。因此,鉴于本文提供的详细级别,将在理解可对这些实施 方式作出修改和改变的前提下描述本发明的操作行为。

本发明涉及系统、方法和计算机程序产品,其用于有效地获取和 在移动客户端设备上显示数据,其中,数据包括从驻留在远程服务器 上的大数据集中选取的数据的多个子集。各实施方式涉及快速地在移 动设备有限的内容窗口区域中以图形方式显示并提供大数据集的列 表视图。

在本发明的具体描述中,提及到的“一个实施例”、“实施例”“示 例性的实施例”等表明所描述的实施例可以包括特定的特征、结构或 特性,但并不是每个实施例都必须包括那些特定的特征、结构或特性。 而且,这类短语也不一定指相同的实施例。此外,当结合一个实施例 来描述特定的特征、结构或特性时,应该理解,无论是否明确描述, 本领域技术人员的知识将允许其结合其他的实施例来影响这种特征、 结构或特性。

本文中可互换使用的术语“显示器”、“显示屏”和“屏幕”是泛 指且包括任意类型的、连接到计算设备或与计算设备集成的显示设备 或屏幕,以用于通过计算设备用户显示可视的内容。在一个实施例中, 计算设备是移动设备。此类显示屏可包括,例如但不限于,触摸屏液 晶显示器(LCD)。本发明的实施例中,移动设备的UI可在显示器上 显示。在一个实施例中,移动设备的UI包括移动设备显示器的活动 视图范围内所呈现的列表视图的可视行。

除非以不同方式明确声明,本文中可互换使用的用户用于识别个 人用户、软件代理或一组用户和/或一组软件代理。除了需要获取和 查看数据的个人用户以外,软件应用程序或软件代理有时需要获取待 显示的数据。因此,除非特别声明,本文所用的术语“用户”不一定 指的是人。

本发明实施例的具体描述分为几个部分。第一部分描述了用来从 服务器上的大数据集中有效获取数据并在移动客户端设备上显示所 获取的数据的系统。后续部分将描述用于有效获取并在移动客户端设 备上显示数据的用户界面和方法。

II.数据获取和ListView显示系统

图1是示例性的分布式系统100的阐释,可以在该系统中实施此 处所描述的实施方式。分布式系统100包括群集了应用程序128的应 用服务器122。图1所示的示例性实施方式中,应用程序128可以是 关系数据库管理系统(RDBMS)。在另一个实施方式中,应用程序 128可以是SYBASETM无线平台(SUP)的一部分。尽管系统100中描 述了单一移动设备160,可以理解的是多个移动设备160可以通过无 线网络132来访问应用服务器122和数据库130。

移动设备160可以是具有一个或多个处理器、输入设备(例如, 触摸屏、QWERTY键盘、麦克风、触控板、滚动轮、音频命令、跟 踪球或T9键盘)的任意类型的移动计算设备和能通过网络接收和发 送数据的通信基础设施。例如,移动设备160可包括但并不限于个人 数字助理(“PDA”)、iPhoneTM、iPodTM、iTouchTM或iPadTM触控设 备、运行Google公司Android操作系统的设备、根据Microsoft Pocket  PC规范运行MicrosoftCE操作系统的设备、运行Microsoft Mobile Standard操作系统的设备、运行Microsoft Mobile Professional操作系统的设备、运行Symbian操作 系统的设备、运行Palm操作系统的设备、移动电话、设备、智能电话、手持电脑、上网本、掌上电脑、手提电脑、超级移 动电脑或其他相似类型的能够处理指令并在人与其他计算设备之间 收发数据的移动设备。

应用服务器122可以是能将数据从数据库130传递到移动设备 160的任意类型的服务器或计算设备。例如,应用服务器122可以包 括但不限于计算机或可能是服务器机群一部分的计算机机群。

网络132可以是任意网络或者能承载数据通信的网络组合。这 种网络可包括但不局限于有线网络(例如,以太网)或无线网络(例 如,Wi-Fi,3G,和4G)。此外,网络132可以包括但不局限于局域网、 中域网和/或诸如因特网之类的广域网。网络132可以支持协议和包 括但不限于因特网或万维网协议和/或服务的技术。可以根据特定的 应用程序或环境在分布式系统100的组件之间提供中介网络路由器、 网关或服务器(未示出)。

在一个实施例中,应用服务器122包括数据库130。数据库130 可以存储任意类型的数据,包括但不限于文本、图像、音频和视频数 据,这些数据将分别被应用服务器122和移动设备160上托管的应用 程序128和客户端应用程序162使用。尽管所显示的数据库130被 作为应用服务器122的一个组件,但数据库130可以通过局域网、中 域网或广域网的间接连接而通信地联接到应用服务器122上。此外, 尽管只给出了数据库130,必要时可以使用附加的数据库。

传统上,服务器和诸如应用程序128之类的企业应用程序作为本 机应用程序或依赖于平台的应用程序被安装在诸如应用服务器122 之类的专用后端服务器或企业服务器上。尽管这些应用程序具有实用 性,但一直难以从移动设备160中的数据库130及相关数据集124中 快速访问大量数据。当数据集124包括大量来自数据库130、且必须 经由网络132传递的数据时,这个问题是复杂的。即使数据集124包 括来自数据库130的数量相对较小的记录,但当其包括混合数据(即 多媒体数据)时,数据集的大小可能大到足以产生移动检索和显示的 延迟。如果没有响应灵敏的移动用户界面来查看从数据集124中获取 的数据行126的话,移动设备160的用户可能会发现:为了能更快地 查看所获取的数据行126,直接通过应用服务器122访问应用程序128 更可取。例如,花费超过150毫秒的用户界面响应可能会被用户视为 反应迟钝。此外,传统上,创建一个界面来查看来自数据库130及驻 留在应用服务器122上的数据集124的数据的操作一直涉及为移动设 备平台开发专用软件或者使本地数据浏览应用程序成为移动设备平 台或操作系统(OS)的一部分。然而,这些本地移动浏览应用程序 通常不能有效地处理大数据集和包含混合数据的数据集。在移动设备 160上高效获取数据集124中的数据提高了易用性和速度,由此所获 取的数据行126能在移动设备160的UI中查看。本发明实施例的另 外一个优点是使得缺乏足够的处理和存储资源来处理大数据集124 的移动设备160可以被用来查看和导航驻留在应用服务器122中的数 据集124。

在图1、图2所示的示例性数据获取和显示系统100和200中, 从数据库130中获取的数据行126已经返回来响应查询/输入12,然 后被接收到移动设备160上。根据本发明的实施例,与数据集124相 对应的主关键字166被局部存储在移动设备上。在一个实施例中,数 据集124的主关键字166存储在内存中,以便快速访问记录数据库 130。主关键字166所指的实际数据记录被存储在应用服务器122的 数据库130中。数据库124是数据库130的、与主关键字166以及从 客户端应用程序162接收到的查询/输入125相对应的子数据集。当 需要被绑定到移动设备160上的逻辑数据窗口168内的相应UI元素 169上时,所获取的数据行126经由网络132被接收到移动设备160 上。如图1中示例性实施例中所示的,逻辑数据窗口168包括可视行 167、列表视图(ListView)165和UI元素169。下面将在图3-图7 所示的示例性用户界面的上下文中对逻辑数据窗口168的组件和功 能进行描述。

如本文所用的,在一个实施例中,ListView是逻辑数据结构,其 用来存储以图形方式描述来自数据集的数据记录列表所需要的数据。 ListView具有可视行和那些不可见的或在UI内不具有活动聚焦的行。 例如,在ListView显示器中指定的可视行是那些将在图形用户界面 (GUI)中显示的行,其中,可见行是作为搜索或查询的结果而返回 的、较大数据集的子集。ListView保持一个动态的、移动的、由位于 可见行之前和/或之后的数据行组成的数据页面的逻辑数据窗口。在 一个实施例中,包含在ListView中的数据集的数据记录包括混合数 据,例如但不限于与图像数据、音频数据和视频数据中的一个或多个 结合的文本数据。正如本文所用的,ListView便于展示来自数据集的 数据记录的导航列表,那些数据集包含的数据记录比能同时在图形用 户界面(GUI)的活动窗口内显示的数据记录更多。也就是说,ListView 中的数据记录既包括可视行,又包括那些位于超出图形用户界面 (GUI)屏幕的当前可视区域之外的逻辑数据窗口内的数据。根据实 施例,图形用户界面(GUI)屏幕是移动客户端设备的屏幕。在一个 实施例中,ListView通过用户输入、滚动命令、触摸屏滑动/滚动手 势的组合来激活导航,从而使逻辑数据窗口中的各行成为图形用户界 面(GUI)屏幕的当前可视区域的一部分。

数据获取和显示系统100和200是可操作的,从而在获取已获取 的行126和在移动设备160上的逻辑数据窗口168内显示可视行167。 客户端应用程序162和262检测滑动手势并测量手势的速度。在一个 实施例中,该速度是相对于显示器261在滚动一秒中所遍历的像素、 以像素每秒(pps)为单位进行量度的。当客户端应用程序162和262 知道先前的滑动手势有多快时,如果随后再出现相同速度的滑动手 势,它们就能确定屏幕将滚动多少或以什么速度(以像素每秒为单位) 来滚动。客户端应用程序162和262也以像素为单位来确定单一可视 行167的高度。通过确定此高度,客户端应用程序162和262就知道 对于给定的滚动速度(以像素每秒为单位),有多少可视行167被滚 过或导航过。

动态地再次利用距离当前在显示器261内聚焦的可视行167最远 的ListView165的数据行,以便将UI元素169绑定到逻辑数据窗口 168内需要活动聚焦的数据上。

根据本发明的实施例,客户端应用程序162包括被配置为用于 初始化ListView165、定义逻辑数据窗口168、将可视行167的数据绑 定到UI元素169上的各个模块。该模块便于函数调用,以实施上面 所列功能。下面的代码是这些功能的一个实施例。在此示例性的实施 例中,采用JavaScript来实现移动设备160上的函数。正如相关领域 的技术人员所理解的那样,也可以采用其它程序语言和技术来实现以 下程序语言代码示例所列的功能。

正如相关领域的技术人员所理解的那样,上述代码示例所列的一 些函数和变量是可选的,因此,可以不必对所有类型的移动设备160 和客户端设备260都填入这些函数和变量。例如,本发明的一个实施 例中,移动设备160是运行iPhoneTM操作系统(OS)的设备,iPhoneTM操作系统是由Apple公司为具有触摸屏显示器261的iPhoneTM和 iPodTM touch开发的。然而,在本发明的其它实施例中,也可以使用 另一类型的、没有触摸屏显示器的移动设备160。同样地,可以使用 图2所示的个人计算机客户端设备260,并且也可以不包括触摸屏显 示器。因此,对于某些移动设备160和客户端设备260而言, touchStart、touchMove和touchEnd函数是可选的。

在一个实施例中,配置应用程序128,以便经由网络132接收源 自客户端应用程序162的查询/输入125。在一个实施例中,查询/输 入125可以包括在图2所示的显示器261上所显示的UI内的列表导 航手势和输入。用户可以利用图2所示的输入设备263在移动设备 160上选择一个或更多的搜索、查询或列表导航输入。这些查询/输入 125随后经由网络132转发给应用服务器122。

进一步配置应用程序128,以便识别数据库130(包含数据集 124)中的数据的子集。数据集124与所接收的查询/输入125相对应。 在一个实施例中,应用程序128与数据库130交互,以便从与查询/ 输入125相对应的数据集124中检索若干所获取的行126。所获取的 行126经由网络132被接收到移动设备160上。此时,所获取的行 126在移动设备160上填入一个逻辑数据窗口168。逻辑数据窗口 168是包含可视行167的虚拟数据窗口,该可视行167是在移动设备 160的显示器261上显示的、所获取的行126的子集。

根据实施例,应用服务器122可以是一台或多台计算机。例如, 应用服务器122可以在一组计算设备上运行,该组计算设备以群集或 伺服器场的方式运行。在另外一个实施例中,应用服务器122可以是 在后端服务器(未示出)上运行的虚拟机。

如图1所示,移动设备160可以包括客户端应用程序162和本地 主关键数据存储166。如图2所示,移动设备160还可以包括显示器 261和输入设备263。移动设备160的用户可以使用该输入设备263 来启动数据搜索(查询)并在数据列表视图内导航。此外,先前那些 已被接收到移动设备160上、包含在逻辑数据窗口168的可视行167 中并被绑定到UI元素169上的所获取的行126可以显示在显示器261 上。

尽管数据库130在图1和图2中被描述为被本地托管到应用服务 器122上,仍可理解的是数据库130可以是被托管到一个独立的、可 被应用服务器122访问的数据库服务器(未示出)上的远程数据库。

根据实施例,存储在被应用服务器122托管的数据库130中的数 据也可以与驻留在一个或多个客户端设备260中的本地数据存储或 数据库266同步。这里所用的“数据”可以是任何对象,包括但不局 限于可在移动设备160的显示器261或客户端设备260的显示器(未 示出)中显示的任何形式的信息(文本、图像、音频、视频等)。

系统100和200通常是通过移动运营商网络在持续的网络连接上 实施的,而且查询/输入125、所获取的行126和相关信息之间的通信 可以通过网络传输。但是,移动设备160可采用诸如对接底座、广域 网(WAN)、局域网(LAN)、无线局域网(WLAN)、红外线或蓝牙 之类的任何通信方式连接到应用服务器122上,通过该通信方式,应 用服务器122可与移动设备160交互。

在典型的移动环境下,多个移动设备160经由网络132将查询/ 输入125发送给一个或多个应用服务器122。

图2描述了数据获取和显示系统200,在该系统中移动设备160 和客户端设备260能分别通过网络132和232从应用服务器122获取 数据。继续参照图1所示的实施例来描述图2。但是,图2并不局限 于该示例性的实施例。如图2所示,数据获取和显示系统也能在混合 的移动和有线环境中实施。例如,具有与参照图1描述的上述逻辑数 据窗口168类似的特征的逻辑数据窗口268和移动设备160可以在诸 如客户端设备260之类的个人计算机上实施。应用服务器122和客户 端设备260不必是单一的物理计算机,而且实际上可能包括分布在多 个物理位置或网络位置上的若干台计算机。为了说明的目的,移动设 备160、应用服务器122和客户端设备260被描述为是数据获取和显 示系统100和200中的单个访问点。应用服务器122和客户端设备 260也不必是独立的物理计算机,而且,当客户端设备260的功能可 以通过在应用服务器122上运行的虚拟机来实现时,它实际上可能包 括单台计算机。相反地,应用服务器122的功能可以通过在客户端设 备260上执行的虚拟机来实现。

根据本发明的实施例,通过处理来自移动设备160的查询/输入 125和来自客户端设备260的查询/输入225,应用服务器122便于从 数据库130中获取数据。在图2所示的示例性的实施例中,客户端 260是一台托管了客户端应用程序262和本地主关键数据存储266的 个人电脑。客户端应用程序262可以经由网络232将查询/输入255 发送给应用程序128。为此,应用服务器122可以返回用于在客户端 设备260上填入一个虚拟窗口263的所获取的行226。以这种方式, 如上参照图1所述的数据获取和显示系统还可以采用除上述移动设 备160的实施例之外的其他类型的客户端设备来实现。例如,客户端 设备260可以是经由网络232连接到应用服务器122上的工作站、终 端、服务器或个人电脑。网络232可以是如上参照网络132所述的任 何一种形式的网络。网络232也可以是有线网络,例如但不局限于有 线局域网(LANs)、广域网(WANs)、内部网和以太网。

III.用于显示ListView的移动设备用户界面的示例

图3-图7示出了根据本发明的实施例的图形用户界面(GUI)。 参照图1和图2中的实施例来描述如图3-图7所示的图形用户界面 (GUI)。但是,该图形用户界面并不局限于这些示例性的实施例。 图3-图7示出了根据实施例的用于显示来自逻辑数据窗口168的数据 行的示例性列表视图界面300,该逻辑数据窗口168包括ListView165 和具有绑定到UI元素169上的数据的可视行167。

本发明的实施例中,图3-图7中所示的列表视图界面300显示在 具有显示器261的移动设备160上。为说明起见,在移动设备平台具 有触摸屏的前提下描述列表视图界面300的操作,但并不限于此。这 类移动设备平台的例子包括但不限于来自微软公司的Windows  Mobile、来自Apple公司的iPhoneTM操作系统、来自Google公司的 Android和来自Research In Motion("RIM")公司的Blackberry。例如, 图1和图2中的移动设备160可以用来实现该示例中的移动设备。

尽管在图3-图7所示的示例性实施例中,所示出的图形用户界面 为运行iPhoneTM操作系统的移动设备界面,但仍可以理解的是该图 形用户界面可容易地适于在其它移动设备平台和操作系统的显示器、 计算机终端、客户端设备260的显示器、应用服务器122的显示器控 制台或计算设备的其它显示器上执行。

在图3至图7中示出的显示器具有各种图标、命令区和按钮,其 用于启动操作、调用例程、登录显示器、查看数据、滚动数据列表视 图或调用其它功能。启动的操作包括但不局限于向后滚动、向前滚动 以及其他的列表导航输入和手势。为简洁起见,下面仅描述各图与之 前的图或之后的图相比所存在的不同。

图3给出了根据本发明的实施例的示例性列表视图界面300, 其用来显示账户列表,其中,多个UI元素169可显示在显示器261 中,从而使用户能查看所获取的行126。如图3所示,有时存在需要 绑定到显示器261所示的可视行167上的图像/图标UI元素169。

在一个实施例中,用于数据获取和显示的系统包括列表视图界面 300,也包括诸如图4所示的输入设备263之类的输入设备,该输入 设备被配置为允许用户滚动和导航到数据集124中除当前正在显示 的可视行167之外的其它部分。例如,通过在列表视图界面300内移 动指针或光标,用户可以滚动以查看逻辑数据窗口168内的附加行。 在一个实施例中,显示器可以是图9所示的计算机显示器930,而且 列表视图界面300可以是显示界面902。根据本发明的实施例,输入 设备263可以是,但不限于,例如,触摸屏、指点设备、跟踪球、触 摸板、鼠标、键盘、小键盘、游戏操纵杆、语音激活控制系统或用来 在用户和列表视图界面300之间提供交互的其他输入设备。

在图3所示的示例中,在任一时刻,显示器261只能显示四个所 获取的行126(例如,U1-U4)作为列表视图界面300的可视行167。 每个可视行167在列表视图界面300内具有规定的高度,该高度以像 素为单位。但是,用户可能希望向前滚动到(潜在地)那些超出了当 前在列表视图界面300中显示的四行的范围之外的更多数据页。当处 理如图3所示的数据(包括文本、图标和图像)之类的大型混合数据 集时,这就提出了一个挑战。

如果数据集124中存在成千上万条与可视行167相对应的记录, 显示器261每次仍然只能显示四条记录。但是,使用输入设备的用户 能滚动列表视图界面300,并阅读几十条、甚至可能几千条的记录, 而同时,在任何时刻仍然只能查看四个可视行167。可视行167的数 目随着正讨论的移动设备160的形状因素或UI行的设计(即,UI行 和UI元素169的高度,其以像素为单位)而改变。使用输入设备的 用户可以缓慢地、快速地或者不滚动列表视图界面300。通过使用列 表视图界面300,用户可以快速浏览一些可见行167,而不需要将整 个底层数据集124本地存储到移动设备160上。例如,在一个实施例 中,列表视图界面300可连结合上述系统100和系统200的组件一 起使用,以用于在用户选取活动视图后的150秒内查看可视行167。

本发明的实施例中,当检测到的或预测的滚动速度为零或接近零 时,比起其他诸如显示/渲染可视行167之类的任务,优先考虑获取 数据。这是因为诸如列表视图界面300的浏览器界面之类的UI可能 只有一个线程,而且需要在那一个线程中处理JavaScript脚本语言和 UI渲染。这就意味着如果图3-图7所示的窗口正在滚动且试图获取 数据时,除非在滚动速度接近零时优先考虑的是获取数据,否则将会 在显示器中存在虽轻微但仍然引人注意的闪烁。由于不能保证所检测 到的滚动速度会接近零还是等于零(假定本实施例也试图处理快速的 滚动手势),该特定的实施例并不适用于所有的滚动/UI场景。

继续参照图3,显示器261显示数据集124的前四条记录 (U1-U4),而且当用户滚动一页时,快速地从逻辑数据窗口168获 取“向前滚动一页”的页面,以便显示接下来的四条记录。对于每一 个沿列表向下滑动的手势重复以上内容,以便使可视行167随着用户 在列表视图界面300内的滚动而改变。如上参照图1所讨论的,在来 自ListView165的记录实际被显示在显示器261中之前,对其动态加 载、将其添加到逻辑数据窗口168中并绑定到UI元素169上,从而 快速地显示向前滚动的数据页。如果用户通过列表视图界面300内连 续向下滑动的手势而滑动到列表的底部,客户端应用程序162将避免 与一次获取并向数据列表填入四条记录相关联的延迟和效率低下。相 反地,图3所示的示例性实施例采用只具有四行水平UI行的ListView 165,其中,UI行是显示来自所获取的行126的相应数据记录的实际 UI元素169,并且根据数据列表视图中的滚动位置将数据动态地绑定 到UI元素169上。如果滚动速度足够慢且数据交换率又足够快从而 使用户注意不到列表视图界面300内的任何UI响应滞后的话,本实 施例是可以接受的。在用户可以快速使用触摸界面且某一页的数据有 可能不存在的场景下,会减慢UI。

对于进行快速滚动的情况,本发明的实施例为ListView165设计 的逻辑如下:ListView165开始于逻辑数据窗口168,该逻辑数据窗 口168具有的UI行是单个可视页(图3示例中的4)能显示的UI行 的三倍。以这样的方式,移动的逻辑数据窗口168在任何时候都将完 全地适合于列表视图界面300的UI窗口。

下面将在表1中提供逻辑数据窗口168的例子。表1中,R1- R10000代表包含1000条记录的数据集124中的数据记录,U6-U17 代表逻辑数据窗口168内的用户界面记录。

在表1中所提供的例子中,最初只有记录R6-R17将被读入到 ListView165中(即,如行U6-U17所示)。在一个实施例中,具有可 视行167的当前显示页面一直“大约”处于逻辑数据窗口168的中间, 这就是U12。

如表1所示,包含记录R6-R17的虚拟逻辑数据窗口与包含 U6-U17的ListView165保持同步。当用户滚动另一页面时,数据窗 口改变到R7-R17等等。相反,如果用户向上滚动一页,虚拟数据窗 口将是R5-R16。

以这种方式定义的逻辑数据窗口168的一个问题是:如果用户快 速滚动,ListView165可能每秒滚过几十页。当查询/输入125涉及到 快速滚动或快速滑动手势时,返回所获取的行126所需的数据的获取 有可能会出现延迟。同样地,当显示器261力争跟上时,列表视图界 面300内的快速滚动和快速滑动手势可能会导致与可视行167对应的 更新的显示发生延迟。为了处理这种场景,本发明的实施例动态地设 置逻辑数据窗口168和UI窗口的大小。通过计算任一方向上的滚动 速度来确定该大小。在一个实施例中,滚动速度被定义为是用户每秒 滚过的页面数。例如,滚动速度或速率可能会随时间而改变,从而造 成逻辑数据窗口扩大(在更快滚动的情况下)或缩小(在更缓慢滚动 的情况下)。于是,当检测到更快的滚动时,逻辑数据窗口将扩大从 而能包含附加数据页;而当滚动速度减慢时,逻辑数据窗口将缩小从 而包含更少的数据页。

图4描述了具有有限条记录的ListView165。图4的例子中, ListView165具有由用户记录201-212组成的可视行167和那些位于 逻辑数据窗口168内但在显示器261内不可见或没有活动聚焦的行 (例如,用于显示用户记录1-200和213-1000的行)。

在假定显示器261一次只能显示有限数量的记录的前提下,本发 明的实施例优化了ListView165。在一个实施例中,一旦检测到用户 的手势或滚动是用于查看更多数据时,可以通过动态地再利用 ListView165中在显示器261内没有活动视觉聚焦的那部分来避免用 户界面的延迟或将延迟降到最小。

图5显示了那些在优化之前被绑定到ListView165的实际数据 (例如,具有客户记录1-1001的可视行167)。ListView165为显示 器261内的每一UI行保留那些被绑定到UI元素169上的数据。滑动 手势的方向预示着ListView165将要采取何种方式进行滚动。图5所 示的例子中,可以检测到向上滚动534和向下滚动536的手势是沿着 Y轴的。正如相关领域的技术人员所理解的那样,对ListView165来 讲,滚动可以沿着X轴方向,也就是水平定位或水平放置。

图6和图7描述了基于滚动手势的ListView165的优化。继续参 照图1-图5所示的实施例来描述图6和图7。但是图6和图7并不局 限于这些实施例。

通过定义一个移动的窗口开始ListView的优化。在图6所示的实 施例中,大小为Nx的移动窗口被定义为610,其中,x是视觉上适 合一页的记录的数目,而N取决于滚动速度。例如,根据图3所示 的示例性的列表视图界面300,x将会是4,N则通过以像素每秒为 单位测量向上滚动手势534或向下滚动手势536而获得。当滚动条、 光标或其他指针在第一页上时,可视行167在移动设备160的显示器 261内聚焦并显示。此时,ListView165包含24条记录(即R0-R23), 这24条记录被分成3组或3个数据页614、616和618,每页具有8 条记录。在图6所示的示例中,数据页616和618是“向前滚动”页, 在检测到向下滚动536手势情况下,这些数据页被提前加载。当滚动 条在第一页-数据页614上时,不定义“向后滚动”页,而且记录R0 是ListView165内的第一条记录。

图7描述了已经发生向下滚动536手势后ListView165和可视行 167所发生的变化,而且,数据行16-23在新的活动视图736中。此 时,再次定义移动窗口610,并且将其大小重新调整为Nx,其中,N 取决于向下滚动536手势的速度。此时,数据页712被定义为向后滚 动页712。在图7所示的示例中,向后滚动页712将保留用户记录8-15, 以便在检测到向上滚动534手势时能快速地显示向后滚动的数据被。 在活动视图736被设置为行16-23之后,第一数据页被动态地绑定 714,以使向前滚动页716具有相关数据。在图7所示的示例中,向 前滚动页716具有记录32-39,以便响应于对向下滚动536的操作的 检测而快速地显示这些记录。当检测到额外的向上滚动534手势和/ 或向下滚动536手势时,重复执行对ListView的优化,包括定义610 和绑定714动态页。采用这种方式,向后滚动页712和向前滚动页 716都被动态地绑定,以便在用户滚动ListView165时,能快速地在 显示器261中显示可视行167。

IV.数据获取和ListView显示方法

图8是根据本发明的实施例的流程图800,该流程图给出了从大 数据集中获取记录并将其显示在移动设备上的步骤。

根据本发明的实施例,更特别的是,流程图800给出了将应用 服务器上数据库中的数据集快速显示在移动客户端设备上的步骤。继 续参照图1-图7所示的实施例来描述图8。但是,图8并不局限于这 些实施例。请注意,在该流程图中的步骤并不一定必须按所示顺序进 行。

该方法开始于步骤802,并进入到步骤804,在步骤804中,在 移动设备160上检测到对数据库中的行进行的查询/输入,并且该查 询或输入被传送出去。在此步骤中,查询/输入125可从移动设备160 发送到应用服务器122上。查询/输入125可以是初始搜索或查询。 查询/输入也可以是在现有数据列表视图内的导航。发送查询/输入后, 该方法前进到步骤806。

在步骤806中,对ListView165中列表视图界面内的记录的数目 和可视行的高度进行初始化。该ListView的初始化发生在诸如移动设 备160之类的客户端设备的UI中。一旦ListView被初始化,该方法 就前进到步骤808。

在步骤808中,与步骤804中所发送的查询/输入相对应的数据 被接收并被绑定到UI元素169上。本发明的实施例中,用于所接收 的数据的主关键字166被存储在移动设备160的内存中,以便能快速 地执行随后的步骤。根据本实施例,在步骤808中,所获取的行126 被接收,其中,所获取的行126是托管在应用服务器122上的数据库 130内的大数据集124的子集。在数据被接收和绑定到UI元素上之 后,该方法前进到步骤810。

在步骤810中,移动窗口被定义。在一个实施例中,在这一步中 定义的移动窗口的大小为Nx,其中x是适合接收方客户端设备上的 UI页的记录的数目,N代表用户界面内的(预测的)滚动速度。例 如,可根据先前的向上滚动534手势和向下滚动536手势来预测该滚 动速度。在一个实施例中,这一步创建了一个由可视行167组成的逻 辑数据窗口168。在移动窗口被定义之后,控制被传递到步骤812。

在步骤812中,ListView被虚拟地划分,而且在步骤810中所定 义的移动窗口内的记录被动态地绑定到向前滚动页和向后滚动页的 数据页上。在一个实施例中,如果UI中的焦点在移动窗口内的第一 数据页上,那么将没有数据被绑定到向后滚动页上。同样,如果可见 行167是在最后一页上,那么也将没有数据被绑定到向前滚动页上。 在划分ListView并将数据绑定到向前滚动页和向后滚动页上之后,控 制被传递到步骤814。

在步骤814中,判断是否检测到滚动输入或滚动手势。如果确定 检测到滚动输入/手势的话,控制被传递到步骤816。如果确定没有滚 动输入/手势发生的话,那么控制就被传递到步骤822。

在一个实施例中,在步骤816中确定所检测到的滚动的方向和速 度。实施例中,滚动方向可以是沿Y轴、相对于所显示的列表视图 向上或向下(即,垂直列表)。另外,滚动方向可以是沿X轴、相对 于所显示的列表视图向左或向右(即,水平列表)。在一个实施例中, 在这一步中,当在用户界面内发生滚动时,滚动速度是以像素每秒为 单位进行测量的。在滚动方向和速度被确定之后,控制被传递到步骤 818。

在步骤818中,根据步骤816中确定的滚动速度N和滚动方向, 动态地向步骤810中定义的移动窗口添加数据页。动态地向移动窗口 添加完数据页之后,控制被传递到步骤820。

在步骤820中,判断滚动输入或滚动手势是否已经结束。如果确 定滚动输入/手势已经结束的话,控制被传递到步骤822。如果确定滚 动输入/手势正在进行,那么将控制返回到步骤812,在该步骤中, ListView被虚拟地划分,且记录被绑定到向前滚动页和向后滚动页 上。

在步骤822中,与UI的活动视图相对应的数据行被显示。在一 个实施例中,此步骤是通过显示可视行167来执行的,该可视行167 与ListView165中在滚动结束时正处于焦点中的行相对应的。在可视 行被显示后,控制被传送到步骤824,即:该方法结束。

V.计算机系统实施的实例

图9给出了示例性的计算机系统900,在此系统中,本发明的实 施例或其中的一部分可作为计算机可读代码实施。例如,可以利用硬 件、软件、固件、储存有指令的非暂态计算机可读介质或它们的组合、 在计算机系统900中实现图1和图2中的数据获取系统100和200, 其也可以在一个或多个计算机系统或其他处理系统中实现。硬件、软 件或其任意组合可以体现为用于实现图3-图7中的用户界面的任意 模块或组件。

例如,图8中流程图800所示的方法可以在系统900中实施。根 据该示例性的计算机系统900来描述本发明的各种实施例。在阅读该 说明后,对本领域的技术人员而言,如何采用其他计算机系统和/或 计算机架构来实施本发明将变得显而易见。

计算机系统900包括一个或多个处理器,诸如处理器904。处理 器904可以是专用处理器或者通用处理器。处理器904连接到通信基 础设施906(例如,总线或网络)上。

计算机系统900还包括主储存器908,优选为随机存取存储器 (RAM),并且计算机系统900还可以包括辅助存储器910。辅助存 储器910可包括,例如,硬盘驱动器912、可移动存储驱动器914、 闪存、记忆棒和/或任何类似的非易失性存储机制。可移动存储驱动 器914可以包括软盘驱动器、磁带驱动器、光盘驱动器、闪存或诸如 此类的驱动器。可移动存储驱动器914以众所周知的方式对可移动存 储单元918进行读/写。可移动存储单元918可包括软盘、磁带、光 盘等,其可通过可移动存储驱动器914来读取或写入。正如相关领域 的技术人员所知的那样,可移动存储单元918包括非暂态计算机可用 存储介质,在其上存储有计算机软件和/数据。

在备选的实施例中,辅助存储器910可包括其他类似的装置,用 于将计算机程序或其他指令装载到计算机系统900中。此类装置可包 括,例如,可移动存储单元922和接口920。此类装置的例子可包括 程序盒式存储器和盒式存储器接口(例如视频游戏设备中所用的那 些)、可移动存储芯片(例如EPROM或PROM)和相关的插槽,以 及其他可移动存储单元922和允许软件和数据从可移动存储单元922 传输到计算机系统900的接口920。

计算机系统900可能还包括通信接口924。通信接口924允许软 件和数据在计算机系统900和外部设备之间进行传输。通信接口924 可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、PCMCIA 插槽和卡等。通过通信接口924传输的软件和数据是以信号的形式传 输的,它可以是电子的、电磁的、光学的或其他能够由通信接口924 接收的信号。这些信号经由通信路径926被提供给通信接口924。通 信路径926传播信号,并且可以使用电线或电缆、光纤、电话线、蜂 窝电话链接、RF链接或其他通信信道来实施。

在本文档中,术语“计算机程序介质”,“非暂态计算机可读介质” 和“计算机可用介质”一般用来指代诸如可移动存储单元918、可移 动存储单元922、以及安装在硬盘驱动器912中的硬盘之类的介质。 经由通信路径926所传输的信号也可以体现本文中描述的逻辑。计算 机程序介质和计算机可用介质也可以指诸如主存储器908和辅助存 储器910之类的存储器,其可以是半导体存储器(如DRAM等)。这 些计算机程序产品是用于将软件提供给计算机系统900的装置。

计算机程序(也称为计算机控制逻辑)存储在主存储器908和/ 或辅助存储器910中。计算机程序也可以通过通信接口924来接收。 当这样的计算机程序被执行时,其能使计算机系统900执行此处所讨 论的本发明。具体地,当该计算机程序被执行时,其能使处理器904 执行本发明中的进程,例如上述图8中流程图800所示的方法中的步 骤。因此,此类计算机程序代表计算机系统900的控制器。如果采用 软件实施本发明,该软件可存储在计算机程序产品中,并可使用可移 动存储驱动器914、接口920、硬盘驱动器912或者通信接口924将 其加载到计算机系统900中。

本发明还涉及计算机程序产品,包括存储在任何计算机可用介质 中的软件。当在一个或多个数据处理设备中执行这样的软件时,其能 使数据处理设备如本文所述地那样操作。本发明的实施例利用现在已 知或将来可知的任何计算机可用或可读介质。计算机可用介质的实例 包括但不限于主存储设备(例如,任何类型的随机存取存储器)、辅 助存储设备(例如,硬盘驱动器、软盘、CD ROMS、ZIP磁盘、磁 带、磁存储设备、光存储设备、微机电系统、纳米技术存储设备等等) 和通信介质(例如,有线和无线通信网络、局域网、广域网、内部网 等)。

VI.结论

虽然上面已经描述了本发明的各种实施例,应当理解的是,它们 仅作为示例性呈现而不构成限制。相关领域的技术人员将理解:在不 脱离所附的权利要求书中所确定的本发明的精神和范围的情况下,可 以在其中进行各种形式和细节上的变化。然而,应当理解的是,本发 明并不限于这些实施例。本发明适用于如本文所述进行操作的任何元 件。因此,本发明的广度和范围不应受限于任何上述示例性实施例, 而是应当仅根据下面的权利要求及其等同物来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号