收集与本地存储的数据文件相关联的事务数据的制作方法

文档序号:11407197阅读:149来源:国知局
收集与本地存储的数据文件相关联的事务数据的制造方法与工艺

背景

客户端计算装置可以通过网络从一个或多个服务器请求诸如网页的数据文件。从服务器接收页面或其它文件的客户端计算装置可以将这样的页面或其它文件存储在本地。数据文件的本地存储拷贝可以被呈现以便将来从本地存储区再次显示,而无需对服务器发送第二请求,并且无需第二次向服务器请求数据文件。例如,客户端计算装置可以从服务器接收诸如超文本标记语言(“html”)页面的页面,这包括对将被作为处理html页面的部分而获得的一个或多个数据文件的引用。客户端计算装置然后可以向适当的服务器请求一个或多个数据文件并且处理被请求的数据文件以便显示。此外,客户端计算装置可以将被请求的数据文件中的一个或多个存储在客户端计算装置的本地数据存储区中或客户端计算装置可访问的数据存储区中。一个或多个数据文件的这些本地存储的拷贝然后可以在随后被请求的页面中使用,随后被请求的页面包括对相同的数据文件的引用。

以这种方式,数据文件的本地保存促进对服务器发出请求以便获得数据文件的请求次数的下降。然而,如果需要对本地存储的数据文件的改变,诸如包括与数据文件相关联的事务和互动数据,则客户端计算装置通常必须重新连接到服务器以接收更新版本的数据文件或利用未更新版本的数据文件。

附图简述

由于通过参照当结合附图所作的下列详细描述,前述方面和许多伴随的优势变得更好理解,故它们将变得更加容易领悟,在附图中:

图1描绘说明性操作环境,其中,客户端计算装置可以向服务器请求一个或多个数据文件,并且可以将接收的数据文件中的一个或多个的部分存储在本地数据存储区中。

图2a是图示图1的操作环境内向服务器请求第一数据文件、并且将第一数据文件、脚本和事务数据存储在本地数据存储区中的客户端计算装置的框图。

图2b是图示图1的操作环境内将事务数据发送至服务器以及从服务器接收第二数据文件的客户端计算装置的框图。

图3描绘用于向服务器请求数据文件和用于将数据文件、脚本和事务数据存储到本地数据存储区的客户端计算装置的大体架构。

图4是由客户端计算装置实施的说明性事务数据处理例程的流程图。

详细描述

本公开的大体描述的方面涉及用于收集与从服务器接收的和由客户端计算装置在本地存储的数据文件相关联的事务数据的系统和方法,使得客户端计算装置可以通过在本地收集事务数据对数据文件做出改变,而无需立即重新连接到服务器。如上所论述的,现有系统可以使得客户端计算装置能够存储数据文件的本地拷贝。另外,在现有系统中,在客户端计算装置未连接到服务器的情况下,数据文件的本地存储的拷贝不能被管理。例如,与数据文件相关联的事务数据在不连接到服务器的情况下不能被更新。最终,在本地保存的数据文件与期满数据相关联,所述期满数据促使客户端计算装置将本地保存的版本考虑为过时的或不再有效的。对于在性质上可能遭受改变或易失的数据文件,这样的数据文件通常与通常使得经网络重新连接到服务器成为必需的短期满数据相关联。然而,这样的方法当与现有系统一起使用时的缺点是,对数据文件的改变通常不可由客户端计算装置做出直至网络连接被建立为止。

本公开的方面使得数据文件能够包括以使到服务器的连接请求最小化的方式改变,同时也使得数据文件的一个或多个部分能够由客户端计算装置单独地存储为本地拷贝,使得一个或多个部分可以由客户端计算装置管理。

在某些实施方案中,如本文所公开的服务器可以接收来自客户系统对数据文件的请求。响应于请求,服务器可以向客户端系统发送数据文件。发送至客户端系统的响应也可以包括使得客户端系统能够管理数据文件的脚本。从服务器发送的脚本可以包括执行多个功能的可执行代码。在一方面中,可执行代码可以使得客户端系统能够验证客户端系统和服务器之间的网络连接的可用性。在另一个方面中,可执行代码可以使得客户端系统能够收集和处理与数据文件相关联的事务数据。在又一个方面中,可执行代码可以实现客户端系统和服务器之间的事务数据的同步化。在网络连接可用之后,服务器可以从客户端系统接收对数据文件的改变,并且由此创建包括由客户端系统收集和处理的改变的更新版本的数据文件。

图1描绘说明性操作环境100,其中,客户端计算装置102可以向服务器120请求一个或多个数据文件,并且然后可以将接收的数据文件中的一个或多个的部分本地存储在本地数据存储区112中。描绘的环境100包括由诸如因特网的网络108通信地连接的客户端计算装置102和服务器120。本领域的那些技术人员将意识到,客户端计算装置102可以是能够通过网络通信的若干计算装置,包括但不限于膝上型计算机、个人计算机、平板计算机、电子书阅读器、个人数字助理(pda)、混合pda/移动电话、移动电话、等等。在一些实施方案中,客户端计算装置102可以包括类似于下文相对于服务器120所描述的那些计算机硬件和软件部件的计算机硬件和软件部件。

如图1中进一步图示的,服务器120包括通用数据存储区122或与通用数据存储区122通信。通用数据存储区122可以包括一个或多个类型的数据文件,包括但不限于视频文件、音频文件页面等等。本领域的那些技术人员将领悟,通用数据存储区122对于服务器120而言可以是本地的、对于服务器120而言可以是远程的和/或本身可以是基于网络的服务。

如图示的,客户端计算装置102包括本地数据存储区112或与本地数据存储区112通信。本地数据存储区112可以包括已经由客户端计算装置102从服务器120接收的一个或多个数据文件的共享部分,并且可以包括对一个或多个数据文件的改变。在一些实施方案中,改变可以包括记录在客户端计算装置102上的事务数据。本领域的那些技术人员将领悟,网络108可以是任意有线网络、无线网络或其组合。此外,网络108可以是个人区域网、局域网、广域网、电缆网络、卫星网、蜂窝电话网等或其组合。用于经因特网或其它上述类型的通信网络中的任一进行通信的协议和部件已为计算机通信领域的那些技术人员所熟知,并且因此,不必在本文中更详细地描述。

图2a是图示图1的操作环境100内的客户端计算装置102的框图。如图2a中所示,客户端计算装置102从服务器120请求第一数据文件。客户端计算装置102也将数据文件、脚本和事务数据存储在本地数据存储区112中。出于该示例的目的,“第一数据文件”是指在对由客户端计算装置102收集和处理的第一数据文件的任意改变之前并且在被存储在本地数据存储区112中之前由客户端计算装置102请求并接收的第一数据文件。如图示的,客户端计算装置102将第一数据文件请求发送至服务器120。出于说明性目的,第一数据文件请求可以是对页面的请求。页面可以包括诸如html代码的代码以及其它文本、到其它数据文件的链路或其它可执行代码。例如,由于由安装在客户端计算装置102上的网络浏览器产生的页面请求,故客户端计算装置102可以发送第一数据文件请求。

一旦服务器120接收第一数据文件请求,服务器120就可以从通用数据存储区122检索第一被请求的数据文件。服务器120然后可以将第一被请求的数据文件发送至客户端计算装置102。发送至客户端计算装置102的响应也可以包括代表客户端计算装置管理由客户端计算装置提供的附加功能的可执行代码。在—个方面中,可执行代码可以使得客户端计算装置102能够验证在客户端计算装置102和服务器之间的网络连接的可用性。在另一个方面中,可执行代码可以使得客户端计算装置102能够收集和处理与数据文件相关联的事务数据。在又一个方面中,可执行代码可以实现客户端计算装置102和服务器120之间的事务数据的同步化。

用作说明地,脚本可以包括能够独立于在客户端计算装置102上运行的任意其它应用和/或操作系统的可执行代码。可执行代码可以是促进客户端计算装置102的管理的java脚本文件。例如,当用户在客户端计算装置102的本地用户接口上工作时,在客户端计算装置102上的java脚本文件可以使得在客户端计算装置102上输入的事务数据与所接收的第一数据文件能够集成。java脚本文件也使得能够在客户端计算装置102上提供用户接口,该用户接口在连接到或不连接到远程服务器的情况下支持用户。对客户端计算装置102的管理也可以包括:使用java脚本文件来确定是否存在与服务器120的网络连接以及使得客户端计算装置102能够在每当客户端计算装置102和服务器120之间再次建立网络连接时将事务数据发送至服务器120。事务数据可以针对在客户端计算装置102上执行的各事务进行发送。事务数据也可以定期地从客户端计算装置102被发送至服务器120,独立于所执行的事务。

当客户端计算装置102从服务器120接收第一数据文件时,客户端计算装置102可以诸如通过将图形图像渲染在用户接口上来处理第一数据文件。例如,如果第一数据文件是可以被显示的页面、视频或其它文件,则客户端计算装置可以呈现第一数据文件以便显示。如果第一数据文件包括音频数据,则客户端计算装置可以促使对音频数据的回放。如果第一数据文件包括对附加数据文件的嵌入引用,诸如图像、包含附加代码的文件、视频等等,则客户端计算装置102可以从服务器120和/或一个或多个附加服务器(未图示)请求附加数据文件。可选地包括与页面相关联的或由页面引用的附加数据文件的页面内容可以被呈现以便显示例如作为经导航接口(诸如安装在客户端计算装置102上的网络浏览器)显示的用户接口。

如上所论述的,客户端计算装置102可以将对第一数据文件做出的任意改变存储在本地数据存储区112中,任意改变如所指示的在客户端计算装置上的事务数据输入。例如,第一数据文件可以是与将货物交付给客户相关联的文件。客户端计算装置102可以是由交付合伙人(associate)使用的手持装置。交付合伙人可能希望输入与将货物交付给客户的尝试相关联的事务数据。合伙人使货物到达客户的尝试失败以及货物的成功交付各自可以是在不连接到服务器的情况下由交付合伙人在手持装置上输入的事务数据的示例。

在一些实施方案中,第一数据文件可以与短期满数据相关联。在这样的情况下,对第一数据文件所作的连续的改变可以重写先前对数据文件所作的并且存储在本地数据存储区112上的改变。在上文的示例中,货物的成功交付可以重写先前记录的失败尝试。或者,对第一数据文件所作的所有改变可以连同相关联的序列标识符被存储在本地数据存储区112上,并且在重新连接之后,仅最新的改变可以被传输至服务器120。在上述示例中,失败的尝试将被存储在本地数据存储区112上,而成功的交付细节在重新连接之后将被转移至服务器。在其它实施方案中,所作的所有改变连同相关联的序列标识符可以被传输至服务器120。在上述示例中,所有失败和成功尝试的细节将被转移至服务器。在各实施方案中,脚本可以与期满准则相关联。在一些方面中,期满准则可以是基于与脚本相关联的版本标识符。版本标识符可以包括版本号、时间标记等等。类似地,将哪个数据传输至服务器120的决策可以基于期满准则。期满准则可以包括时间段。期满准则也可以包括对数据文件所作的连续改变的阈值数量。

在一些实施方案中,被包括在从服务器120接收的第一数据文件中(或在从服务器120接收的附加数据文件中)的诸如javascript的代码可以由客户端计算装置102执行以便管理客户端计算装置,包括输入这样的事务数据。存储在本地数据存储区中的信息可以包括例如脚本连同在客户端计算装置102处记录的事务数据。

图2b是图示图1的操作环境100内将事务数据发送至服务器120以及从服务器120接收第二数据文件的客户端计算装置102的框图。为了该示例的目的,“第二数据文件”是指在事务数据已经被发送至服务器120之后由客户端计算装置102接收的数据文件。例如,第二数据文件可以包括先前发送到客户端计算装置102的第一数据文件和由客户端计算装置102发送的事务数据两者。如图示的,图2b中所描绘的框在图2a中的框已经发生之后发生,但是在上文相对于图2a所描述的正在接收第一数据文件和下文相对于图2b所描述的正在接收第二数据文件之间可能已经由客户端计算装置102接收其它数据文件(未示出)。

如图2b中所图示,在使用脚本来确定网络连接存在之后,客户端计算装置102将事务数据发送至服务器120。出于说明性目的,事务数据可以是在客户端计算装置102上记录的与所执行的事务有关的信息,如上所论述的。所执行的事务可以是交付,并且事务数据可以包括交付细节。一旦在客户端计算装置102和服务器120之间建立网络连接,服务器120就可以接收事务数据并且可以将事务数据与来自通用数据存储区122的一个或多个数据文件合并。

服务器120可以将第二数据文件发送至客户端计算装置102。如将领悟的,不必要的是,服务器120实际上存储已修改的第二数据文件。例如,在一些实施方案中,由于已修改的第二数据文件由服务器120构建,故它可以被发送至客户端计算装置102。

当客户端计算装置102从服务器120接收已修改的第二数据文件时,客户端计算装置102可以从本地数据存储区112检索被包括在第一数据文件中的或与第一数据文件一起被包括的脚本。视情况,对于给定的数据文件类型,客户端计算装置102然后可以呈现第二数据文件的内容(如根据已修改的第一数据文件的内容确定的)以便显示、回放等等。客户端计算装置102然后可以将附加事务数据记录在使用脚本加载的已修改的第二数据文件上。这样的事务数据可以在本地被存储在本地数据存储区112上,直至与服务器120再次建立网络连接为止。

图3描绘用于向服务器120请求数据文件和用于将数据文件、脚本和事务数据存储到本地数据存储区112的客户端计算装置102的大体架构。图3中所描绘的客户端计算装置102的实施方案包括可以被用来实施本公开的方面的计算机硬件和软件部件的布置。本领域的那些技术人员将领悟,客户端计算装置102可以包括比图3中所示的那些部件更多的(或更少的)部件。然而,不必示出所有这些通常常规的部件以便提供可实施性公开。如图3中所示,客户端计算装置102包括处理单元304、网络接口306、计算机可读介质驱动器307和输入/输出装置接口320,所有这些可以借助通信总线相互通信。如图示的,客户端计算装置102可选地与显示器302和输入装置324相关联或通信。网络接口306可以为客户端计算装置102提供到一个或多个网络或计算系统的连接性。处理单元304可以因此经网络从其它计算系统或服务接收信息和指令。处理单元304也可以与存储器310往返通信并且经输入/输出装置接口320进一步为可选显示器302提供输出信息。输入/输出装置接口320可以接受来自诸如键盘、鼠标、数字笔、触摸屏的可选输入装置324的输入或经动作捕捉记录的手势。

存储器310包含计算机程序指令,处理单元304执行所述计算机程序指令以便实施本公开的一个或多个实施方案。存储器310大体包括ram、rom和/或其它永久或非暂态存储器。存储器310可以存储操作系统314,该操作系统314提供计算机程序指令以便由处理单元304在客户端计算装置102的一般管理和操作中使用。存储器310可以进一步包括用于实施本公开的方面的其它信息。例如,在一个实施方案中,存储器310包括用户接口模块312,该用户接口模块312促进用户接口的产生(诸如通过为用户接口模块提供指令)以便显示在计算装置上。例如,用户接口可以经导航接口(诸如安装在计算装置102上的网络浏览器)来显示。此外,存储器310可以包括上文所论述的本地数据存储区112或与本地数据存储区112通信。

除了用户接口模块312之外,存储器310可以包括可以由处理单元304执行的本地存储模块325。在一个实施方案中,本地存储模块325可以被用来实施本公开的各种方面,诸如比较一个或多个数据文件以识别可能已经由客户端计算装置存储在本地的事务数据,如下文进一步描述的。在本公开的某些实施方案中,服务器120可以包括类似于被图示为客户端计算装置102的部分的部件工作的若干部件,包括用户接口模块,处理单元、计算机可读介质驱动器等等。

图4是由客户端计算装置102实施以使本地数据存储区112和服务器120之间的数据文件和事务数据同步的说明性方法400的流程图。说明性方法400可以至少部分地由高速缓存模块325实施。虽然方法400使用单个数据文件或分组数据文件的示例来图示,但是在一些实施方案中,图示的方法可以针对通用数据存储区122中的各数据文件和/或本地数据存储区中的各数据文件或针对数据文件的子集来实施。例如,在一些实施方案中,服务器120可以修改通用数据存储区122中的各数据文件以包括在周期性基础上(诸如每夜、每周等)接收的事务数据。在其它实施方案中,服务器120可以修改通用数据存储区122中的一个或多个数据文件以包括响应于触发事件所接收的事务数据,所述触发事件诸如事务数据的创建或修改或新数据文件被存储在通用数据存储区122中。在其它实施方案中,图示的方法400可以响应于客户端计算装置(诸如客户端计算装置102)从服务器120请求数据文件来实施。

方法400在框402处开始,然后进入框404,在框404处,客户端计算装置102从服务器120或另一个服务器接收第一数据文件和脚本。第一数据文件可以是存储在通用数据存储区122中或在另一个数据存储区中的任意数据文件。脚本可以是用以实现在客户端计算装置102上实施的各种管理和控制功能的各种可执行代码中的一个,诸如java脚本文件或另一个类型的文件。如先前所描述的,管理和控制功能能够包括对事务数据的收集和处理、对客户端计算装置102和服务器之间的网络连接性的验证以及客户端计算装置102上和服务器上的事务数据与第一数据文件的集成。

在框406处,客户端计算装置102上的脚本通过接受客户端计算装置的本地用户接口上的操作来实现对第一数据文件上的事务数据的收集和处理。如果客户端计算装置102上的脚本在框408处确定不存在为了将事务数据发送至服务器120的到网络的连接,则客户端计算装置102继续记录事务数据,并且将已收集且已处理的事务数据保存在本地数据存储区112上。相反,如果客户端计算装置102上的脚本在框408处确定存在到网络的连接,则客户端计算装置102上的脚本进入框410,在框410处,客户端计算装置102将事务数据发送至服务器120以便获得与服务器120同步。服务器120可以将这样的事务数据保存在通用数据存储区122上。在框410处,当网络连接被确定为存在时,服务器120也可以将更新的数据发送至客户端计算装置102。

上文贯穿本公开所论述的方法可能导致较小的和/或较少的数据文件从服务器120被发送到客户端计算装置102,因为先前在本地存储的共享部分可以仅被发送一次,而不是针对随后的数据文件请求再次发送。此外或可替代地,上述方法可导致从客户端计算装置102到服务器120的连接或请求的数量减少,因为内容可以被包括在单个数据文件中,其中相同的内容可能另外被分割成多个数据文件以便利用其它系统的现有全文件高速缓存。如将领悟的,实现对数据文件的部分的高速缓存和本公开的其它方面可以针对各种数据文件类型来实施。据此,通过网络可访问的许多类型的内容可以受益于本公开的方面。

需理解的是,不一定所有的目的或优势可以根据本文中所描述的任意特定实施方案实现。因此,例如,本领域的那些技术人员将认识到,某些实施方案可以被配置成以实现或优化如本文所教导的一个优点或一组优点的方式操作,而不一定实现如本文所教导或建议的其它目的或优点。

本文中所描述的所有过程可以在由一个或多个通用计算机或处理器执行的软件代码模块中实现或经所述软件代码模块充分地自动化。代码模块可以存储在任意类型的计算机可读介质或其它计算机存储装置中。一些或所有方法可以在专门的计算机硬件中选择地被实现。此外,本文所提及的部件可以在硬件、软件、固件或其组合中被实施。

除非特别地声明,否则尤其诸如“能够(can)”、“可(could)”、“可能(might)”或“可以(may)”的条件语言在上下文内以其它方式被理解为一般使用以表达某些实施方案包括而其它实施方案不包括某些特征、元件和/或步骤。因此,这样的条件语言大体不旨在暗示,特征、元件和/或步骤无论如何是一个或多个实施方案所需要的,或一个或多个实施方案必定包括(在有或无用户输入或提示的情况下)决定这些特征、元件和/或步骤是否被包括在任意特定实施方案中或将在任意特定实施方案中被执行的逻辑。

本文中所描述的和/或在附图中描绘的流程图中的任意过程描述、元件或框应理解为作为潜在地表示包括用于实施过程中的具体逻辑功能或元件的一个或多个可执行指令的代码模块、代码片段或代码的部分。替代实施被包括在本文中所描述的实施方案的范围内,其中,元件或功能可以被删除、以与示出或论述的顺序不同的顺序(包括大致同时或以颠倒的顺序)被执行,这取决于所涉及的功能性,如将由本领域的那些技术人员所理解的。

应强调,可以对上述实施方案做出许多变化和修改,上述实施方案的元件将被理解为在其它可接受的示例当中。本文所有这样的修改和变化旨在被包括在本公开的范围内并且受到所附权利要求的保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1