CN103314373A - 移动设备上大数据集的有效处理 - Google Patents
移动设备上大数据集的有效处理 Download PDFInfo
- Publication number
- CN103314373A CN103314373A CN2011800616094A CN201180061609A CN103314373A CN 103314373 A CN103314373 A CN 103314373A CN 2011800616094 A CN2011800616094 A CN 2011800616094A CN 201180061609 A CN201180061609 A CN 201180061609A CN 103314373 A CN103314373 A CN 103314373A
- Authority
- CN
- China
- Prior art keywords
- data
- mobile device
- rolling
- page
- window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及到一种用于有效地获取并在诸如运行IphoneTM操作***的移动设备上显示大数据集的***、方法和计算机程序产品。该方法从服务器上为移动设备获取数据,并在移动设备上的用户界面内以ListView的方式显示多个数据行。该方法将主关键字存储到移动设备上,直到其相应的数据行被显示出为止。该方法对诸如滚动动作和触摸屏手势之类的用户输入作出反应,以便有效地获取和显示大数据集的列表视图子集。当通过移动设备上的大型数据列导航时,该方法通过以下途径加快响应时间:获取数据列表视图中的可显示或可视数据行;在移动设备上预加载该可视行;以及,将可视行绑定到移动设备上的用户界面元素上。
Description
技术领域
本发明通常涉及到移动通信,更具体地,涉及到采用移动设备获取和呈现信息。
背景技术
不具有本地数据库应用程序或不具有足够的本地存储容量的移动设备用户通常无法在不经受响应时间的延迟的前提下获取和显示大数据集。虽然响应时间对用户界面(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 PocketPC规范运行MicrosoftCE操作***的设备、运行MicrosoftMobile Standard操作***的设备、运行MicrosoftMobile 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的操作,但并不限于此。这类移动设备平台的例子包括但不限于来自微软公司的WindowsMobile、来自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行的ListView165,其中,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.结论
虽然上面已经描述了本发明的各种实施例,应当理解的是,它们仅作为示例性呈现而不构成限制。相关领域的技术人员将理解:在不脱离所附的权利要求书中所确定的本发明的精神和范围的情况下,可以在其中进行各种形式和细节上的变化。然而,应当理解的是,本发明并不限于这些实施例。本发明适用于如本文所述进行操作的任何元件。因此,本发明的广度和范围不应受限于任何上述示例性实施例,而是应当仅根据下面的权利要求及其等同物来限定。
Claims (20)
1.一种用于在移动设备上显示数据集的列表视图的计算机执行的方法,其包括:
为移动设备初始化ListView;
接收数据来响应查询,其中,所接收的数据包括来自数据集的多个数据行;
将所接收的数据绑定到用于移动设备用户界面(UI)的多个UI元素上;
定义逻辑数据窗口;
响应于对移动设备的UI内的滚动输入的方向和速度的检测,向所述逻辑数据窗口添加页面;
通过UI接收对活动视图的选择;以及
使用移动设备的UI来显示所述多个数据行中与所述活动视图相对应的部分。
2.如权利要求1所述的方法,进一步包括将ListView划分成虚拟群。
3.如权利要求2所述的方法,其中,所述虚拟群包括向后滚动数据页和向前滚动数据页的记录。
4.如权利要求1所述的方法,其中,所述移动设备运行iPhoneTM操作***。
5.如权利要求1所述的方法,其中,所述ListView是基于UI中多个可视记录和UI中一个可视行的高度的逻辑数据结构。
6.如权利要求1所述的方法,其中,所述定义进一步包括定义逻辑数据窗口具有Nx的尺寸,其中,x是UI页面上可同时显示的记录的数目,并且其中,N是滚动速度。
7.如权利要求6所述的方法,其中,滚动速度以像素/秒来度量。
8.如权利要求6所述的方法,其中,滚动速度是根据先前的滚动速度来预测的。
9.如权利要求6所述的方法,其中,移动设备的UI包括触摸屏显示器;其中,滚动速度是根据滚动手势的力度测量来预测的。
10.如权利要求9所述的方法,其中,滚动手势的力度测量部分地取决于移动设备的触摸屏UI上的摩擦系数。
11.如权利要求1所述的方法,其中,数据集包括混合数据。
12.如权利要求11所述的方法,其中,混合数据包括多媒体数据类型。
13.一种非暂态计算机可读介质,其上存储计算机可执行指令,该指令响应计算设备的执行,使计算机设备执行用于在移动设备上显示数据的操作,该操作包括:
为移动设备初始化ListView;
接收数据来响应查询,其中,所接收的数据包括来自数据集的多个数据行;
将所接收的数据绑定到用于移动设备用户界面(UI)的多个UI元素上;
定义逻辑数据窗口;
响应于对移动设备的UI内的滚动输入的方向和速度的检测,向逻辑数据窗口添加页面;
通过UI接收对活动视图的选择;以及
使用移动设备的UI来显示所述多个数据行中与所述活动视图相对应的部分。
14.一种能够显示数据集的列表视图的***,该***包括:
移动设备,该移动设备包括:
获取模块,其被配置为从数据集中检索数据行来响应查询;
绑定模块,其被配置为将检索到的数据行绑定到用于移动设备的用户界面(UI)的多个UI元素上;
初始化模块,其被配置为基于数据集中的多个记录和移动设备的UI中一行的高度来初始化ListView数据结构;
定义模块,其被配置为定义逻辑数据窗口;
动态翻页模块,其被配置为响应于对移动设备的UI内滚动输入的方向和速度的检测,动态地向逻辑数据窗口添加页面;
接收模块,其被配置为通过UI接收对活动视图的选择;
显示模块,其被配置为使用移动设备的UI来显示所述多个数据行中与所述活动视图相对应的部分。
15.如权利要求14所述的***,其中,与数据集中的记录相对应的主关键字被存储在移动设备上。
16.如权利要求15所述的***,其中,主关键字被存储在移动设备的内存中。
17.如权利要求16所述的***,其中,所述显示模块进一步被配置为在接收模块接收对活动视图的选择后的150毫秒内显示多个数据行的部分。
18.一种计算机程序产品,其包括:计算机可读介质,所述计算机可读介质具有记录在其上的计算机程序逻辑,用于启动处理器从而在用户设备上显示数据集的列表视图;所述计算机程序逻辑包括:
获取装置,用于启动处理器从而从数据集中检索数据行来响应查询;
绑定装置,用于启动处理器从而将检索到的数据行绑定到用户设备的用户界面(UI)的多个UI元素上;
初始化装置,用于启动处理器从而基于数据集中的多个记录和用户设备的UI中一行的高度来初始化ListView数据结构;
定义装置,用于启动处理器从而定义逻辑数据窗口;
翻页装置,用于启动处理器从而响应于对用户设备的UI内的滚动输入的方向和速度的检测来向逻辑数据窗口添加页面;
接收装置,用于启动处理器从而通过UI接收对活动视图选择;
显示装置,用于启动处理器从而使用用户设备的UI来显示所述多个数据行中与所述活动视图相对应的部分。
19.如权利要求18所述的计算机程序产品,其中,用户设备是台式电脑或移动设备中的一个或多个。
20.如权利要求18所述的计算机程序产品,进一步包括优先化装置,用于启动处理器来赋予所述获取装置优于所述显示装置的优先权,从而响应于通过翻页装置检测到的零或接近零的滚动速度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/973,814 US9529866B2 (en) | 2010-12-20 | 2010-12-20 | Efficiently handling large data sets on mobile devices |
US12/973,814 | 2010-12-20 | ||
PCT/US2011/065452 WO2012087809A2 (en) | 2010-12-20 | 2011-12-16 | Efficiently handling large data sets on mobile devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103314373A true CN103314373A (zh) | 2013-09-18 |
CN103314373B CN103314373B (zh) | 2017-09-01 |
Family
ID=46236181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180061609.4A Active CN103314373B (zh) | 2010-12-20 | 2011-12-16 | 移动设备上大数据集的有效处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9529866B2 (zh) |
EP (1) | EP2656195A4 (zh) |
CN (1) | CN103314373B (zh) |
WO (1) | WO2012087809A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103558959A (zh) * | 2013-10-31 | 2014-02-05 | 青岛海信移动通信技术股份有限公司 | 一种应用于Android平台的显示窗口的方法和装置 |
CN106095461A (zh) * | 2016-06-21 | 2016-11-09 | 东软集团股份有限公司 | 在界面中显示组件的方法及装置 |
CN109643209A (zh) * | 2016-08-24 | 2019-04-16 | 微软技术许可有限责任公司 | 在客户端应用中动态地呈现大数据集 |
CN110659285A (zh) * | 2019-08-29 | 2020-01-07 | 北京华天海峰科技股份有限公司 | 试验数据分析方法、装置、计算机设备和存储介质 |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601392B2 (en) | 2007-08-22 | 2013-12-03 | 9224-5489 Quebec Inc. | Timeline for presenting information |
US20120240084A1 (en) * | 2010-08-24 | 2012-09-20 | Michal Polubinski | Graphic User Interface for Interactions with Datasets and Databases and a Method to Manage Information Units |
US9015639B2 (en) * | 2011-02-11 | 2015-04-21 | Linkedin Corporation | Methods and systems for navigating a list with gestures |
JP5451684B2 (ja) * | 2011-05-31 | 2014-03-26 | 楽天株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
US8996987B2 (en) * | 2011-06-30 | 2015-03-31 | Apple Inc. | List view optimization |
US20130067349A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficiently providing data from a virtualized data source |
US10289657B2 (en) | 2011-09-25 | 2019-05-14 | 9224-5489 Quebec Inc. | Method of retrieving information elements on an undisplayed portion of an axis of information elements |
US9235317B2 (en) | 2012-02-01 | 2016-01-12 | Facebook, Inc. | Summary and navigation of hierarchical levels |
US9645724B2 (en) | 2012-02-01 | 2017-05-09 | Facebook, Inc. | Timeline based content organization |
US9557876B2 (en) | 2012-02-01 | 2017-01-31 | Facebook, Inc. | Hierarchical user interface |
US9519693B2 (en) | 2012-06-11 | 2016-12-13 | 9224-5489 Quebec Inc. | Method and apparatus for displaying data element axes |
JP5994543B2 (ja) * | 2012-10-03 | 2016-09-21 | コニカミノルタ株式会社 | 表示システム、表示装置および表示制御プログラム |
US11068931B1 (en) | 2012-12-10 | 2021-07-20 | Integral Ad Science, Inc. | Systems, methods, and media for detecting content viewability |
US9355105B2 (en) * | 2012-12-19 | 2016-05-31 | International Business Machines Corporation | Indexing of large scale patient set |
US10175873B2 (en) * | 2013-01-21 | 2019-01-08 | Salesforce.Com, Inc. | System and method for retrieving data based on scrolling velocity |
US9510055B2 (en) | 2013-01-23 | 2016-11-29 | Sonos, Inc. | System and method for a media experience social interface |
JP5786105B2 (ja) * | 2013-02-28 | 2015-09-30 | 楽天株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、表示制御装置、および表示制御プログラム |
US20140280281A1 (en) * | 2013-03-15 | 2014-09-18 | Klaus-Dieter Scherer | Formatting in a Database |
US9471198B2 (en) | 2013-05-29 | 2016-10-18 | Sap Se | Flip-through presentation of a list |
US9477393B2 (en) | 2013-06-09 | 2016-10-25 | Apple Inc. | Device, method, and graphical user interface for displaying application status information |
CN104238724B (zh) | 2013-06-09 | 2019-03-12 | Sap欧洲公司 | 用于电子设备的基于动作的输入方法和*** |
US9367806B1 (en) | 2013-08-08 | 2016-06-14 | Jasmin Cosic | Systems and methods of using an artificially intelligent database management system and interfaces for mobile, embedded, and other computing devices |
US9442638B2 (en) | 2013-08-22 | 2016-09-13 | Sap Se | Display of data on a device |
WO2015024237A1 (en) * | 2013-08-22 | 2015-02-26 | Successfactors, Inc. | Improved daily task tools that interface with backend systems |
US9595077B1 (en) * | 2014-01-05 | 2017-03-14 | Workday, Inc. | High performance data rendering |
US20150220498A1 (en) | 2014-02-05 | 2015-08-06 | Sonos, Inc. | Remote Creation of a Playback Queue for a Future Event |
US9679054B2 (en) | 2014-03-05 | 2017-06-13 | Sonos, Inc. | Webpage media playback |
JP2015195005A (ja) * | 2014-03-18 | 2015-11-05 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及び記憶媒体 |
US20150324552A1 (en) | 2014-05-12 | 2015-11-12 | Sonos, Inc. | Share Restriction for Media Items |
US20150356084A1 (en) | 2014-06-05 | 2015-12-10 | Sonos, Inc. | Social Queue |
US20160011734A1 (en) * | 2014-07-11 | 2016-01-14 | Siemens Product Lifecycle Management Software Inc. | Virtualized upward scrolling |
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
US10432748B2 (en) | 2014-07-16 | 2019-10-01 | Tensera Networks Ltd. | Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day |
US20160026616A1 (en) * | 2014-07-28 | 2016-01-28 | Microsoft Corporation | Presenting dataset of spreadsheet in form based view |
US9874997B2 (en) | 2014-08-08 | 2018-01-23 | Sonos, Inc. | Social playback queues |
US20160077665A1 (en) * | 2014-09-16 | 2016-03-17 | Microsoft Corporation | Simulating real-time responsiveness for touch displays |
US10645130B2 (en) | 2014-09-24 | 2020-05-05 | Sonos, Inc. | Playback updates |
US9959087B2 (en) | 2014-09-24 | 2018-05-01 | Sonos, Inc. | Media item context from social media |
US9860286B2 (en) * | 2014-09-24 | 2018-01-02 | Sonos, Inc. | Associating a captured image with a media item |
US9690540B2 (en) | 2014-09-24 | 2017-06-27 | Sonos, Inc. | Social media queue |
WO2016049342A1 (en) | 2014-09-24 | 2016-03-31 | Sonos, Inc. | Social media connection recommendations based on playback information |
US9667679B2 (en) | 2014-09-24 | 2017-05-30 | Sonos, Inc. | Indicating an association between a social-media account and a media playback system |
US9886181B2 (en) | 2014-12-15 | 2018-02-06 | Microsoft Technology Licensing, Llc | Scrollbar for dynamic content |
US9858718B2 (en) | 2015-01-27 | 2018-01-02 | Microsoft Technology Licensing, Llc | Dynamically adaptable virtual lists |
US10255302B1 (en) | 2015-02-27 | 2019-04-09 | Jasmin Cosic | Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources |
US10089674B1 (en) * | 2015-03-19 | 2018-10-02 | Amazon Technologies, Inc. | Ordering a set of data associated with an item |
US10261669B2 (en) * | 2015-07-14 | 2019-04-16 | Adobe Inc. | Publishing electronic documents utilizing navigation information |
USD807904S1 (en) * | 2016-07-26 | 2018-01-16 | Caterpillar Inc. | Display screen with animated graphical user interface |
US10372299B2 (en) | 2016-09-23 | 2019-08-06 | Microsoft Technology Licensing, Llc | Preserve input focus in virtualized dataset |
US10084664B1 (en) | 2017-03-21 | 2018-09-25 | International Business Machines Corporation | Dynamic configuration of a scroll feature |
CN107450915B (zh) * | 2017-07-18 | 2020-06-30 | 四川长虹电器股份有限公司 | 一种快速截取多屏幕长图的方法 |
US11922187B2 (en) | 2018-03-05 | 2024-03-05 | Tensera Networks Ltd. | Robust application preloading with accurate user experience |
US11915012B2 (en) | 2018-03-05 | 2024-02-27 | Tensera Networks Ltd. | Application preloading in the presence of user actions |
US20220179668A1 (en) * | 2018-03-05 | 2022-06-09 | Tensera Networks Ltd. | Robust Application Preloading with Accurate User Experience |
US10642441B2 (en) * | 2018-04-27 | 2020-05-05 | International Business Machines Corporation | Optimal window placement system |
CN109725795A (zh) * | 2018-12-27 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 一种用于多视图显示的方法、装置和计算机记录介质 |
CN114144777A (zh) | 2019-07-30 | 2022-03-04 | 腾赛拉网络有限公司 | 用户设备中应用用户界面的预渲染 |
US10997262B2 (en) * | 2019-09-05 | 2021-05-04 | International Business Machines Corporation | Infinite scrolling search |
US11269479B2 (en) * | 2019-12-31 | 2022-03-08 | Google Llc | Automatic focus detection with relative threshold-aware cell visibility for a scrolling cell collection |
EP4104424A4 (en) * | 2020-02-13 | 2024-02-28 | Tensera Networks Ltd. | PRELOADING APPLICATIONS AND IN-APPLICATION CONTENT TO USER DEVICES |
CN112035202B (zh) * | 2020-08-25 | 2021-11-23 | 北京字节跳动网络技术有限公司 | 好友活跃信息的显示方法、装置、电子设备和存储介质 |
CN116670646A (zh) | 2020-12-03 | 2023-08-29 | 腾赛拉网络有限公司 | 预加载具有现有任务的应用 |
WO2022130156A1 (en) | 2020-12-20 | 2022-06-23 | Tensera Networks Ltd. | Preloading of applications transparently to user |
CN112364279B (zh) * | 2021-01-14 | 2021-04-27 | 北京小米移动软件有限公司 | 图片加载方法、装置 |
CN114840284B (zh) * | 2021-12-31 | 2024-04-23 | 厦门市美亚柏科信息股份有限公司 | 一种用于安卓***的实现大规模数据连续显示的方法 |
US20230393726A1 (en) * | 2022-06-02 | 2023-12-07 | Shopify Inc. | Methods and apparatuses for providing condensable user interface |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0762263A2 (en) * | 1995-08-23 | 1997-03-12 | Kabushiki Kaisha Toshiba | System and method for dynamically reconfiguring keyboard assignement based on an external event |
US20040139235A1 (en) * | 2002-11-01 | 2004-07-15 | Gus Rashid | Local intelligence, cache-ing and synchronization process |
CN1834906A (zh) * | 2005-03-15 | 2006-09-20 | 微软公司 | 丰富数据绑定应用程序 |
US20100162126A1 (en) * | 2008-12-23 | 2010-06-24 | Palm, Inc. | Predictive cache techniques |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5165016A (en) | 1985-10-07 | 1992-11-17 | Casio Computer Co., Ltd. | Image data output apparatus with display range designation means |
JP3269849B2 (ja) * | 1992-05-29 | 2002-04-02 | 株式会社日立製作所 | 並列データベース処理システムとその検索方法 |
US5495566A (en) * | 1994-11-22 | 1996-02-27 | Microsoft Corporation | Scrolling contents of a window |
US5757381A (en) * | 1996-04-04 | 1998-05-26 | Sofmap Future Design, Inc. | Methods for fast scrolling of images |
US8479122B2 (en) * | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US6359572B1 (en) * | 1998-09-03 | 2002-03-19 | Microsoft Corporation | Dynamic keyboard |
US7312785B2 (en) | 2001-10-22 | 2007-12-25 | Apple Inc. | Method and apparatus for accelerated scrolling |
US7646927B2 (en) * | 2002-09-19 | 2010-01-12 | Ricoh Company, Ltd. | Image processing and display scheme for rendering an image at high speed |
US7243309B2 (en) * | 2002-12-03 | 2007-07-10 | Intel Corporation | Interface accelerator |
US6978147B2 (en) * | 2003-03-19 | 2005-12-20 | Motorola, Inc. | Wireless messaging device with selectable scroll display and message pre-fetch |
US20040230571A1 (en) * | 2003-04-22 | 2004-11-18 | Gavin Robertson | Index and query processor for data and information retrieval, integration and sharing from multiple disparate data sources |
US8103970B1 (en) * | 2004-03-08 | 2012-01-24 | Cellco Partnership | Method and device for providing a multi-level user interface having a dynamic key assignment for a cellularly communicative device |
JP4188341B2 (ja) | 2005-05-11 | 2008-11-26 | 株式会社東芝 | 携帯型電子機器 |
US20070002018A1 (en) * | 2005-06-30 | 2007-01-04 | Eigo Mori | Control of user interface of electronic device |
US7426696B1 (en) * | 2005-07-15 | 2008-09-16 | Minerva Networks, Inc. | Method and system for image windowing |
US20070067305A1 (en) | 2005-09-21 | 2007-03-22 | Stephen Ives | Display of search results on mobile device browser with background process |
US7664739B2 (en) * | 2006-02-14 | 2010-02-16 | Microsoft Corporation | Object search ui and dragging object results |
US8381121B2 (en) * | 2006-03-01 | 2013-02-19 | Microsoft Corporation | Controlling scroll speed to improve readability |
US8296684B2 (en) * | 2008-05-23 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Navigating among activities in a computing device |
US7978177B2 (en) * | 2006-09-29 | 2011-07-12 | Varia Holdings Llc | Scrolling behavior-influenced algorithm selection to facilitate adaptive scrolling |
US8099710B2 (en) * | 2006-12-14 | 2012-01-17 | Microsoft Corporation | UI behaviors |
US8347225B2 (en) * | 2007-09-26 | 2013-01-01 | Yahoo! Inc. | System and method for selectively displaying web page elements |
US7930646B2 (en) * | 2007-10-19 | 2011-04-19 | Microsoft Corporation | Dynamically updated virtual list view |
KR101447752B1 (ko) * | 2008-03-25 | 2014-10-06 | 삼성전자주식회사 | 터치스크린에서 화면 분할과 화면 표시장치 및 방법 |
US20090288035A1 (en) * | 2008-05-15 | 2009-11-19 | Microsoft Corporation | Scrollable views in a client/server application |
US20100088640A1 (en) * | 2008-10-08 | 2010-04-08 | Belkin International, Inc. | Method And Electrical Device For Displaying Data To A User |
US20100100849A1 (en) * | 2008-10-22 | 2010-04-22 | Dr Systems, Inc. | User interface systems and methods |
US20100269038A1 (en) | 2009-04-17 | 2010-10-21 | Sony Ericsson Mobile Communications Ab | Variable Rate Scrolling |
US8291503B2 (en) * | 2009-06-05 | 2012-10-16 | Microsoft Corporation | Preloading modules for performance improvements |
US20110083082A1 (en) * | 2009-10-02 | 2011-04-07 | Thomas Gottwald | Fractional download based on currently presented portions from large content pages |
US8624925B2 (en) * | 2009-10-16 | 2014-01-07 | Qualcomm Incorporated | Content boundary signaling techniques |
US20110119615A1 (en) * | 2009-11-16 | 2011-05-19 | Apple Inc. | Adaptive Data Loader |
US8826141B2 (en) * | 2010-02-12 | 2014-09-02 | Blackberry Limited | Image-based and predictive browsing |
WO2011104747A1 (ja) * | 2010-02-23 | 2011-09-01 | 三菱電機株式会社 | 地図スクロール装置 |
US8683377B2 (en) * | 2010-05-12 | 2014-03-25 | Adobe Systems Incorporated | Method for dynamically modifying zoom level to facilitate navigation on a graphical user interface |
US9754043B2 (en) * | 2010-07-09 | 2017-09-05 | Facebook, Inc. | Rendering structured documents with place-markers |
US8601052B2 (en) * | 2010-10-04 | 2013-12-03 | Qualcomm Incorporated | System and method of performing domain name server pre-fetching |
-
2010
- 2010-12-20 US US12/973,814 patent/US9529866B2/en active Active
-
2011
- 2011-12-16 WO PCT/US2011/065452 patent/WO2012087809A2/en active Application Filing
- 2011-12-16 CN CN201180061609.4A patent/CN103314373B/zh active Active
- 2011-12-16 EP EP11851814.1A patent/EP2656195A4/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0762263A2 (en) * | 1995-08-23 | 1997-03-12 | Kabushiki Kaisha Toshiba | System and method for dynamically reconfiguring keyboard assignement based on an external event |
US5867729A (en) * | 1995-08-23 | 1999-02-02 | Toshiba America Information Systems, Inc. | System for reconfiguring a keyboard configuration in response to an event status information related to a computer's location determined by using triangulation technique |
US20040139235A1 (en) * | 2002-11-01 | 2004-07-15 | Gus Rashid | Local intelligence, cache-ing and synchronization process |
CN1834906A (zh) * | 2005-03-15 | 2006-09-20 | 微软公司 | 丰富数据绑定应用程序 |
US20100162126A1 (en) * | 2008-12-23 | 2010-06-24 | Palm, Inc. | Predictive cache techniques |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103558959A (zh) * | 2013-10-31 | 2014-02-05 | 青岛海信移动通信技术股份有限公司 | 一种应用于Android平台的显示窗口的方法和装置 |
CN103558959B (zh) * | 2013-10-31 | 2016-08-17 | 青岛海信移动通信技术股份有限公司 | 一种应用于Android平台的显示窗口的方法和装置 |
CN106095461A (zh) * | 2016-06-21 | 2016-11-09 | 东软集团股份有限公司 | 在界面中显示组件的方法及装置 |
CN109643209A (zh) * | 2016-08-24 | 2019-04-16 | 微软技术许可有限责任公司 | 在客户端应用中动态地呈现大数据集 |
CN109643209B (zh) * | 2016-08-24 | 2022-09-13 | 微软技术许可有限责任公司 | 在客户端应用中动态地呈现大数据集 |
CN110659285A (zh) * | 2019-08-29 | 2020-01-07 | 北京华天海峰科技股份有限公司 | 试验数据分析方法、装置、计算机设备和存储介质 |
CN110659285B (zh) * | 2019-08-29 | 2022-12-30 | 北京华天海峰科技股份有限公司 | 试验数据分析方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9529866B2 (en) | 2016-12-27 |
EP2656195A2 (en) | 2013-10-30 |
WO2012087809A2 (en) | 2012-06-28 |
CN103314373B (zh) | 2017-09-01 |
EP2656195A4 (en) | 2016-01-27 |
US20120159393A1 (en) | 2012-06-21 |
WO2012087809A3 (en) | 2012-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103314373A (zh) | 移动设备上大数据集的有效处理 | |
US10394420B2 (en) | Computer-implemented method of generating a content recommendation interface | |
US9898180B2 (en) | Flexible touch-based scrolling | |
AU2013355486B2 (en) | Display device and method of controlling the same | |
CN106462630B (zh) | 用于搜索视频内容的方法、***和介质 | |
US9513769B2 (en) | Methods and systems for non-linear representation of time in calendar applications | |
EP2450781B1 (en) | Mobile terminal and screen change control method based on input signals for the same | |
EP2733628A2 (en) | Screen display method and a mobile terminal | |
US20160132563A1 (en) | Method and device for providing content recommending information to devices | |
US10712897B2 (en) | Device and method for arranging contents displayed on screen | |
JP2013536964A (ja) | アイテムをディスプレーする方法及び装置 | |
CN111104022B (zh) | 显示设备及其控制方法 | |
KR20140079375A (ko) | 다중-컬럼 노트북 상호대화 기법 | |
US20140237357A1 (en) | Two-dimensional document navigation | |
KR102027357B1 (ko) | 외부 기기의 스크린 상에 디스플레이된 정보를 탐색하는 터치 스크린을 가지는 휴대용 기기 및 그의 정보 탐색 방법 | |
CN111176515A (zh) | 显示设备及控制显示设备的方法 | |
US11099731B1 (en) | Techniques for content management using a gesture sensitive element | |
US10152496B2 (en) | User interface device, search method, and program | |
CN101286172A (zh) | 改进的浏览器用户界面 | |
US9200922B1 (en) | Determining user attention | |
CN107016013A (zh) | 信息分享方法、装置和*** | |
US9292151B1 (en) | Mobile computing device user interface for interactive electronic works | |
CA2751091C (en) | Methods and electronic devices for selecting and displaying thumbnails | |
CN105843504B (zh) | 一种窗口调整方法及电子设备 | |
US10656791B2 (en) | Methods, systems, and media for navigating a user interface with a toolbar |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |