CN104519120B - 业务对象附件和过期统一资源定位符 - Google Patents
业务对象附件和过期统一资源定位符 Download PDFInfo
- Publication number
- CN104519120B CN104519120B CN201410503366.0A CN201410503366A CN104519120B CN 104519120 B CN104519120 B CN 104519120B CN 201410503366 A CN201410503366 A CN 201410503366A CN 104519120 B CN104519120 B CN 104519120B
- Authority
- CN
- China
- Prior art keywords
- attachment
- accessory
- cache
- url
- client device
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/08—Annexed information, e.g. attachments
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了一种计算机实施的方法。该方法包括请求对象的细节和与对象相关联的附件。每个附件的附件细节可以包括附件名称和附件ID。响应于选择与对象相关联的附件,可以确定高速缓冲存储器是否已经包括所选择的附件。如果高速缓冲存储器包括所选择的附件,则可以从附件高速缓冲存储器中检索所选择的附件。如果高速缓冲存储器不包括所选择的附件,则可以使用附件URL下载附件。附件URL可以基于附件ID请求和生成。所下载的附件还可以被存储在附件高速缓冲存储器中。
Description
技术领域
本发明涉及业务对象附件和过期统一资源定位符(URL)。
背景技术
附件可以与消息(例如,电子邮件消息)一起发送到消息的接收者。附件可以包括不能包括在消息中的信息或者可以以不同于消息格式的格式来提供信息。能够与消息一起发送的附件的示例包括文档和图像。
附件可以与消息一起发送或者到附件的链接可以与消息一起提供。到附件的链接为消息的接收者提供了选择是否下载附件的选项。为了安全,这些链接在设定的时间段内有效。如果用户在所设定的时间段期间不下载附件,则用户可能不能下载附件。因为用户不总是立即使用链接下载附件或者因为下载附件可能花费很长时间,例如,由于网络带宽或文件的大小,因此,在附件被下载之前,在链接中设定的时间段可能过期。
发明内容
一种计算机实施的方法,可以包括请求对象和接收包括与对象相关联的附件的附件细节的对象。每个附件的附件细节可以包括附件名称和附件ID。响应于显示与对象相关联的附件的附件细节的请求,可以显示与对象相关联的每个附件的附件名称。响应于选择一个附件,可以确定包括存储在附件高速缓冲存储器中的附件的列表是否包括所选择的附件的附件ID。如果列表包括所选择的附件的附件ID,则可以从附件高速缓冲存储器中检索所选择的附件。如果列表不包括所选择的附件的附件ID,则可以使用附件统一资源定位符(URL)下载附件。可以使用附件ID来请求附件URL。所下载的附件还可以被存储在附件高速缓冲存储器中。当预定条件发生时,附件高速缓冲存储器可以被重置。
附图说明
附图示出了各种实施例,并且还与描述一起用来说明实施例的原理并使本领域技术人员能够制作和使用实施例。
图1是示出其中客户端设备(client device)经由网络连接到应用服务器的网络环境的示例实施例的框图。
图2示出了根据本公开的实施例的处理接收附件的请求的方法。
图3示出了可以用来重置存储所下载的附件的高速缓冲存储器的条件的示例。
图4示出了根据本公开的实施例的处理客户端设备接收附件的请求的方法。
图5示出了根据本公开的实施例的可以用来请求附件的用户界面。
图6示出了根据本公开的实施例的可以用来显示所请求的附件的用户界面。
图7是可以与本公开的实施例一起使用的示范性计算机***的框图。
具体实施方式
本公开的实施例提供用于下载附件到客户端设备的***和方法。附件可以与业务对象相关联。该方法可以由客户端设备和/或与客户端设备相关联的服务器执行。
一种在客户端设备接收附件的方法可以包括请求对象的细节和与对象相关联的附件。每个附件的附件细节可以包括唯一附件ID。响应于对与对象相关联的附件的选择,可以对于高速缓冲存储器是否已经包括所选择的附件做出确定。如果高速缓冲存储器包括所选择的附件,则可以从附件高速缓冲存储器中检索所选择的附件。如果高速缓冲存储器不包括所选择的附件,则可以使用附件URL下载附件。可以基于附件ID请求和生成附件URL。所下载的附件还可以被存储在附件高速缓冲存储器中。
与先前的方法不同,当附件信息被发送给用户时,URL可以不被提供给用户。当用户请求附件时,URL可以被提供给用户。可以基于分配给附件的唯一附件ID来请求URL。因此,用户可能没有过期URL的问题。
此外,在从外部源下载所请求的附件之前,可以进行确定,以便确定所请求的附件是否已经存储在高速缓冲存储器中。如果所请求的附件已经被存储在高速缓冲存储器中,则可能不必从外部源再次下载附件。因此,可以减少用来下载所请求的附件的时间和资源。
图1是示出其中客户端设备102、104或106经由网络110连接到应用服务器108的网络环境100的示例实施例的框图。客户端设备102、104或106可以运行提供在各个客户端设备102、104或106上的应用,或者可以运行由应用服务器108经由网络110提供的基于网络的应用。由客户端设备102、104或106运行的应用可以向应用服务器108和/或数据存储设备112发送数据和从应用服务器108和/或数据存储设备112接收数据。可以由客户端设备102、104或106生成、显示和处理所述数据。所述数据可以包括对象(例如,业务对象、消息、电子邮件)和与对象相关联的附件。
在应用服务器108或数据存储设备112中的存储器可以包括、指向、参考(reference)或存储对象储存库(repository)(例如,业务对象储存库)。对象储存库可以响应于来自客户端设备102、104或106的请求而访问对象。
业务对象可以包括业务***中的业务实体(例如,雇员或销售订单)。业务对象可以包括函数(以方法的形式)和数据(以属性的形式)。业务对象可以包括多个层,包括核心层、整合层(integrity layer)、接口层(interface layer)和接入层。核心层可以表示对象的固有数据(例如,雇员或客户的名称、年龄、地址)。整合层可以包括对象的业务逻辑。对象的业务逻辑可以包括用于一致地嵌入环境中的业务规则和关于应用到对象类型的值或域的约束。接口层可以供应用于访问对象类型、定义对象的到外部应用的接口的有效选项。接入层可以定义允许对对象数据的外部访问的技术。
与附件相关联的业务对象可以包括对附件对象的一个或多个参考(reference)。例如,与附件相关联的业务对象可以以面向对象的方式表示给客户端,其中业务对象包括对附件对象的参考的列表。每个附件对象可以包括与各个附件相关的信息,诸如附件名称、附件ID、附件描述、或附件大小。
附件可以包括数据或与对象相关联的文件(例如,业务对象附件)。附件可以不是对象的一部分,但是可以被对象参考。例如,对象可以包括参考附件的消息。在一个实施例中,消息包括关于附件的信息,但是不会包括附件本身。附件可以包括静态图像或视频图像、文本或多媒体文档、电子邮件消息、音频片段、语音记录、或其它信息。业务对象附件的特定类型可以包括JPEG、可移植网络图形(PNG)、可移植文档格式(PDF)、以及演示(PPT)。附件可以从应用服务器108或数据存储设备112加载到客户端设备102、104或106。在另一个实施例中,附件可以从外部服务器(例如,远程服务器120)加载到应用服务器108或数据存储设备112。附件与其相关联的对象的源可以与附件的源不同。例如,对象的源可以来自内部网络内的存储设备,而附件的源可以来自在内部网络外部的源。
网络110可以是内部网络、外部网络、或可以包括互联网的多个不同的互连的网络。远程服务器120可以经由外部网络连接到内部网络,内部网络将客户端设备102、104或106连接到应用服务器108。
响应于由操作客户端设备102、104或106的用户做出的请求,对象和/或附件可以显示在客户端设备102、104或106上。基于所显示的数据,用户可以为组织做出业务决策。用户可以经由客户端设备102、104或106发出用于组织的指令。
客户端设备102、104、106可以包括,例如,移动设备(例如,移动电话或智能电话)、个人计算机、平板、终端设备、或个人数字助理(PDA)。客户端设备102、104、106可以包括输入设备(例如,触摸屏、触摸垫、鼠标或键盘)以便从用户接收命令。
数据存储设备112可以是数据仓库(data warehouse)。数据仓库可以执行数据清理、整合(integration)、变换和刷新。数据存储设备112可以是内存数据库(in-memorydatabase)(例如,HANA数据库)。
在另一个实施例中,客户端设备102、104、106中的一个或多个可以是显示由应用服务器108提供的信息的终端。应用服务器可以响应于在客户端设备102、104、106发出的命令,在客户端设备102、104、106上运行应用和显示信息。在这个实施例中,可以仅仅在客户端设备102、104、106显示信息而无需将数据对象或附件下载到客户端设备102、104、106。
图2示出了根据本公开的实施例的处理接收附件的请求的方法200。方法200可以响应于用户210做出的请求来执行。用户210可以经由客户端设备上的输入设备做出请求。方法200的步骤可以由客户端设备和/或服务器执行。
用户210可以请求一个或多个对象的细节(方框212)。该请求可以响应于由用户接收的通知或基于用户想要执行的操作而做出。对于对象的请求可以响应于用户在客户端设备上的应用中运行操作来自动地做出。用户可以通过选择由客户端设备显示的可用的业务对象中的一个来做出请求。客户端设备可以显示其细节能够被请求的对象的列表。业务对象可以以允许用户在所显示的业务对象上点击以接收所选择的业务对象的另外的细节的图形格式来显示。响应于选择,用户界面窗口可以被打开为具有所选择的业务对象的细节(例如,见图5)。
响应于对于一个或多个对象的细节的请求,对象细节可以被发送到用户(方框214)。对象细节可以从存储对象细节的存储器(例如,在服务器或存储设备上的存储器)中检索。对象细节可以包括对附件是否与对象相关联的指示。
基于对象细节,用户可以请求附件列表(方框216)。响应于请求,所请求的附件列表可以被发送并显示给用户(方框218)。在另一个实施例中,附件列表可以被包括为发送给用户的对象细节的一部分(方框214)。
附件列表可以为用户提供与对象相关联的一个或多个附件。附件列表可以包括关于附件的信息而无需包括附件。每个附件的细节可以包括附件名称、附件类型、附件ID、附件描述、以及附件大小中的一个或多个。附件列表可以指示哪些附件能够被用户下载。由于客户端设备和/或用户的安全性设置,一些附件可能不能被用户下载。
在一个实施例中,附件的细节可以包括附件的预览(例如,低分辨率的图像)或附件的一部分(例如,对文档的介绍、附件的概要、或者视频的预定数量的帧)。
附件ID可以是基于附件的细节和/或在附件和相关的对象之间的关联性而创建的唯一ID。附件ID可以被客户端设备、应用服务器、以及其它***使用来识别附件。唯一ID可以基于附件和/或附件与其相关联的对象的属性的组合。例如,唯一ID可以基于对象ID、类别类型(class type)、以及对象类型的组合。附件ID可以在附件与对象相关联时被创建。在一个实施例中,附件ID可以在附件被用户上载并链接到业务对象之后被创建。在另一个实施例中,当附件被存储在后端服务器一侧时,一组不同的参数可以被用来生成附件ID。
在一个实施例中,附件列表不包括用于附件的附件统一资源定位符(URL)。附件URL提供附件的位置,从该位置可以下载附件。使用附件URL,客户端设备可以下载附件。URL可以指向在客户端设备的网络内的位置,或者指向在客户端设备所位于的网络的外部的位置。当URL被选择时,客户端设备可以向网络服务器发送请求,而网络服务器可以将URL所参考(reference)的附件发送到客户端设备。使用URL,客户端设备可以直接地从附件的源请求附件,而无需经由中间服务器(例如,图1中的应用服务器108)做出请求。
基于附件列表中的信息,用户可以选择将要下载到客户端设备的附件(方框220)。所述选择可以包括选择将要下载的附件的附件ID。
响应于所述选择,可以请求附件URL(方框222)。对附件URL的请求可以向后端服务器(例如,高级业务应用编程***)做出。所述请求可以包括其附件URL被请求的附件ID。
基于所述请求,可以生成附件URL(方框224)。可以通过使用附件ID找到附件并基于附件的位置生成URL来生成附件URL。使用具有后端应用编程接口的特定组件基于给定的附件ID检索附件数据,能够在后端服务器上定位附件。所述组件可以由若干应用重新使用,所述应用包括,例如,推广时间线应用(Promotion Timeline application)。当附件原始数据(例如JPEG图像)被保存在数据库(例如,数据库)中时,URL可以以这样一种方式被构建:指向在请求时递送附件原始数据(例如,JPEG图像)的组件的网络服务。
URL可以包括一个或多个安全性特征。例如,URL可以包括URL将会过期的过期日期(expiration date)和/或谁可以访问URL的限制。所述过期日期可以是基于URL何时被生成或者URL何时被第一次访问。在一个实施例中,URL可以在被访问预定次数之后过期。可以为做出对附件的请求的用户或客户端设备创建唯一URL。URL可以包括用于改进的性能的哈希字符串(hash string)。
附件URL可以由客户端设备接收(方框226)以用于下载附件。因为URL是在用户的要求下生成的,所以可能不存在URL过期的问题。
方法200可以包括确定所选择的附件是否已经被存储在高速缓冲存储器中(方框228)。所述确定可以通过将所请求的附件的附件ID与已经存储在高速缓冲存储器中的附件的附件ID进行比较来做出。高速缓冲存储器可以是客户端设备中的存储器,其被用于在数据被请求之前该数据的临时存储或者用于可能被再次使用的数据的临时存储。在一个实施例中,高速缓冲存储器可以是并非客户端设备的一部分、但是与客户端设备相关联的存储器(例如,经由内部网络耦合到客户端设备的存储器)。
如果高速缓冲存储器不包括附件(方框228中的“否”),则附件可以被下载到客户端设备(方框230)。可以基于所生成的附件URL来下载附件。所下载的附件还可以被存储在高速缓冲存储器中。将附件存储在高速缓冲存储器中可以包括将所存储的附件的ID添加到被高速缓冲存储的附件的列表。
如果高速缓冲存储器包括附件(方框228中的“是”),则附件可以直接地被从高速缓冲存储器中检索(方框232),而无需从远程或后端服务器下载附件。从高速缓冲存储器检索附件可以节省下载附件所需的时间,并减少下载附件所需的资源(例如,网络带宽或定位附件)。从高速缓冲存储器检索附件还允许用户在URL可能由于后端服务器所包括的过期时戳而过期时、在网络关闭(down)时、或者在客户端设备没有连接到网络时,检索期望的附件。
在附件被检索之后,附件可以被用户使用(方框234)。例如,用户可以基于附件中的信息做出决定,打印附件,修改附件的内容,或者将附件与其它业务对象相关联。将附件与其它业务对象相关联可以包括将附件的唯一ID提供给新的业务对象,而无需附上实际的附件。
存储所下载的附件的高速缓冲存储器可以在预定条件发生时被重置(方框240)。条件可以基于时间、高速缓冲存储器中的信息量(例如,填满数据的百分比)、由用户执行的操作、安全性威胁、使用客户端设备的用户的改变、对于对象做出请求的应用的状态、运行新的搜索查询、或者附件的大小。所述条件可以包括在处于脱机模式的客户端设备改变为其中附件能够被下载的联机模式时重置高速缓冲存储器。
图3示出了可以用来重置存储所下载的附件的高速缓冲存储器的条件310的示例。当条件310中的一个或多个被满足时,可以激活附件高速缓冲存储器重置事件(ACRE)320。业务对象条件连词330可以确定必须满足全部条件还是一些条件以便重置高速缓冲存储器。例如,ACRE1可以要求全部条件被满足以便重置高速缓冲存储器。其它ACRE 320事件可能只需要所述条件中的一个为真以重置高速缓冲存储器(例如,ACRE2、ACRE3或ACRE4)。用户可以定制重置高速缓冲存储器的条件310。
用来存储附件的高速缓冲存储器可以是客户端设备中专用于存储附件的预定量的存储器。在其它实施例中,全部可用的存储器可以被用于附件高速缓冲存储器。因此,用于附件高速缓冲存储器的存储器的量可以基于使用可用存储器的其它资源而改变。
在一个实施例中,替代重置高速缓冲存储器,高速缓冲存储器中的附件中的一个或多个可以被删除,而其它附件仍保留在高速缓冲存储器中。例如,如果用于将被下载的新的附件的空间量不足,则可以删除满足预定条件的其它附件中的一个。用于将被删除的附件的预定条件可以是最旧的附件、最大的附件、或最少被访问的附件。在另一个实施例中,当特定用户结束他的会话时,可以删除与该用户相关联的一个或多个附件。
图4示出了根据本公开的实施例的处理客户端设备接收附件的请求的方法400。方法400可以由客户端设备执行。
客户端设备可以请求对象的细节(方框410)。用户可以通过选择由客户端设备显示的可用的对象中的一个来做出请求。客户端设备可以显示使用客户端设备的用户能够请求其细节的对象的列表。
响应于请求,对象细节可以由服务器发送并由客户端设备接收(方框412)。可以从存储对象细节的存储器(例如,服务器或存储设备上的存储器)接收对象细节。对象细节可以包括与对象相关联的附件。关于相关联的附件的信息可以不包括实际附件和用于下载附件的URL。
在客户端设备接收对象细节之后,用户可以选择显示关于与对象相关联的附件的信息。响应于请求,客户端设备可以显示关于与对象相关联的附件的信息(方框414)。关于相关联的附件的信息可以包括附件的名称、附件的大小、附件ID、附件的类型、附件描述、以及使用客户端设备的用户是否可以将附件下载到客户端设备。在一个实施例中,只有允许被用户下载的附件的信息可以被显示给用户。在另一个实施例中,所显示的关于与对象相关联的附件的信息可以包括哪些附件被正用来请求附件的客户端设备支持。例如,特定的客户端设备可能不支持附件,因为客户端设备不能下载超过特定大小的附件,或者客户端设备不包括用于显示一定类型的附件的应用。
基于所显示的信息,用户可以选择将被下载到客户端设备的附件(方框416)。所述选择可以包括选择附件ID或附件名称。
响应于所述选择,客户端设备可以确定所选择的附件是否已经存储在客户端设备的高速缓冲存储器中(方框418)。所述确定可以通过将所请求的附件的附件ID与已经存储在高速缓冲存储器中的附件的附件ID进行比较来做出。
如果高速缓冲存储器不包括附件(方框418中的“否”),则客户端设备可以请求所选择的附件的URL(方框420)。所述对URL的请求可以被发送到服务器。服务器可以基于所请求的附件的ID来定位附件并基于所请求的附件的位置生成URL。
客户端设备可以从服务器接收所生成的URL(方框422),并将附件下载到客户端设备(方框424)。所下载的附件还可以被存储在客户端设备的高速缓冲存储器中(方框426)。附件可以基于所生成的附件URL来下载,并存储在高速缓冲存储器中。将附件存储在高速缓冲存储器中还可以包括将所存储的附件的ID添加到被高速缓冲存储的附件的列表中。
如果高速缓冲存储器包括附件(方框418中的“是”),则附件可以直接地被从高速缓冲存储器中检索(方框428),而无需从远程或后端服务器下载附件。从高速缓冲存储器检索附件可以节省下载附件所需的时间,并减少下载所需的资源(例如,网络带宽或定位附件)。从高速缓冲存储器检索附件还允许用户在URL可能由于包括在URL中的过期时戳而过期时检索期望的附件。
所下载的附件或从高速缓冲存储器检索的附件可以被客户端设备使用(方框430)。例如,用户可以基于附件中的信息做出决定、打印、或者修改附件的内容。
在一个实施例中,客户端设备可以是在应用服务器(例如,图1中示出的应用服务器108)上运行应用的终端。在这个实施例中,服务器可以在客户端设备上显示用户界面,并且用户可以经由显示在客户端设备上的用户界面做出请求。附件可以被下载到服务器,并且服务器的高速缓冲存储器可以存储所下载的附件。所请求的附件可以被服务器显示在客户端设备上而不必将附件发送到客户端设备。在这个实施例中,同一个服务器可以下载附件和生成用于下载附件的URL,或者不同的服务器可以用来执行这些步骤。
如果服务器的高速缓冲存储器被用来存储下载的附件,则高速缓冲存储器可以存储由多个客户端设备请求的附件。原来由一个客户端设备请求的在服务器的高速缓冲存储器中的附件可能被显示在请求同一个附件的其它客户端设备上。
在另一个实施例中,显示与所请求的对象相关联的附件可以包括显示关于高速缓冲存储器中哪些附件可用以及哪些附件仍需要下载的信息。因此,用户可以基于高速缓冲存储器中的附件的可用性(availability)来做出关于将请求哪些附件的决定。
图5示出了根据本公开的实施例的可以用来请求附件的用户界面。用户界面可以显示在客户端设备500上。客户端设备500可以包括显示器510,用于显示关于业务对象(例如,用于推广时间线的业务对象)的信息。响应于用户命令,业务对象细节可以显示为具有附件的列表520。附件的列表520可以包括与业务对象相关联并且能够由用户下载到客户端设备的多个附件。如图5中所示,附件列表520包括每个附件的名称、附件的类型、以及附件的大小。响应于用户选择所述附件中的一个(例如,attachment1.ppt),客户端设备可以发送对附件URL的请求并使用附件URL下载附件。
图6示出了根据本公开的实施例的可以用来显示所请求的附件的用户界面。用户界面可以显示在客户端设备600上。客户端设备600可以包括显示器610,以显示附件(例如,attachment1.ppt)。附件可以在其被从高速缓冲存储器中检索之后或者在其被使用附件URL从服务器下载之后被显示。用户可以使用导航控件620导航到下一个附件,而无需回到可用的附件的列表(图5中示出)。响应于选择导航控件620中的一个,客户端设备可以通过从高速缓冲存储器获得附件或使用附件URL从服务器获得附件来显示下一个附件。
一些实施例可以包括被写为一个或多个软件组件的上述方法。这些组件以及与每一个组件相关联的功能可以由客户端、服务器、分布式或对等的计算机***来使用。这些组件可以以与一个或多个编程语言相对应的计算机语言来编写,所述编程语言诸如,功能性语言、说明性语言、过程语言、面向对象的语言、更低级语言等。它们可以经由各种应用编程接口链接到其它组件,然后被编译为用于服务器或客户端的一个完整的应用。或者,组件可以以服务器和客户端应用来实施。而且,这些组件可以经由各种分布式编程协议链接在一起。一些示例实施例可以包括远程过程调用,远程过程调用被用来在分布式编程环境之间实施这些组件中的一个或多个。例如,逻辑级(logiclevel)可以驻留在第一计算机***上,第一计算机***位于远离包含界面级(例如,图形用户界面)的第二计算机***的位置。这些第一和第二计算机***能够以服务器-客户端、对等、或者一些其它的配置来配置。客户端能够在复杂度方面从移动和手持设备变化到瘦客户端(thin client),再到胖客户端(thick client)或者甚至是其它服务器。
上面例示的软件组件被作为指令有形地(tangibly)存储在计算机可读存储介质上。术语“计算机可读存储介质”应当被认为包括存储一组或多组指令的单个介质或多个介质。术语“计算机可读存储介质”应当被认为包括任何能够经过一组物理变化以物理地存储、编码、或者携载一组指令的物理物品,所述指令由计算机***运行,使得计算机***执行任何这里描述、表现、或例示的方法或过程步骤。计算机可读存储介质的示例包括,但是不限于:磁介质,诸如硬盘、软盘和磁带;光学介质,诸如CD-ROM、DVD和全息照相设备;磁光介质;以及硬件设备,其被特别地配置为存储和运行,诸如,专用集成电路(“ASIC”)、可编程逻辑器件(“PLD”)、以及ROM和RAM设备。计算机可读指令的示例包括机器代码,诸如由编译器产生的,以及包含由使用解释器的计算机运行的更高级代码的文件。例如,本公开的实施例可以使用Java、C++、或其它面向对象的编程语言和开发工具来实施。本公开的另一个实施例可以以硬接线的电路(hard-wired circuitry)取代机器可读的软件指令或者与机器可读的软件指令组合来实施。
图7是示范性计算机***700的框图。计算机***700包括处理器705,其运行存储在计算机可读存储介质755上的软件指令或代码,以执行以上例示的本公开的实施例。计算机***700包括介质读取器740,以从计算机可读存储介质755中读取指令,并将指令存储在存储器710或随机存取存储器(RAM)715中。存储器710提供了用于保存静态数据的较大空间,其中,至少一些指令能够被存储用于以后的运行。所存储的指令还可以被编译以生成其它表现形式的指令并且被动态地存储在RAM 715中。处理器705从RAM715中读取指令,并且按照指令执行动作。根据本公开的一个实施例,计算机***700还包括:输出设备725(例如,显示器),用于向用户提供至少一些运行的结果作为输出,所述输出包括但不限于视觉信息;以及输入设备730,用于向用户或另一个设备提供用于输入数据和/或与计算机***700进行交互的装置。这些输出设备725和输入装置730中的每一个能够通过一个或多个另外的***设备相连,以便进一步扩展计算机***700的能力。网络通信器735可以被提供来将计算机***700连接到网络750并进而连接到与网络750相连接的其它设备,包括,例如,其它客户端、服务器、数据存储器、以及接口。计算机***700的模块经由总线745互相连接。计算机***700包括数据源接口720以访问数据源760。数据源760能够经由以硬件或软件实施的一个或多个抽象层来访问。例如,数据源760可以通过网络750访问。在一些实施例中,数据源760可以经由抽象层(诸如,语义层)访问。
数据源是信息资源。数据源包括能够进行数据存储和检索的数据的源。数据源可以包括数据库,诸如,关系数据库、交易数据库、层级数据库、多维数据库(例如,联机分析处理(Online Analytic Processing)-OLAP)、面向对象的数据库、等等。进一步的数据源包括表列数据(tabular data)(例如,电子数据表文件、定界文本文件)、用标记语言标记的数据(例如,XML数据)、交易数据、非结构化数据(例如,文本文件、屏幕抓取)、层级数据(例如,文件***中的数据、XML数据)、文件、多个报告、以及任何其它能够通过建立的协议访问的、由底层软件***(例如,企业资源计划***)产生的数据源,所述协议诸如开放式数据库连接性(ODBC)、等等。数据源还可以包括这样的数据源:其中数据没有被有形地存储或者是短暂的,诸如,数据流、广播数据、等等。这些数据源能够包括相关联的数据基础、语义层、管理***、安全***、等等。
语义层是覆盖一个或多个数据源的抽象。其去除了用户在编写查询时掌握已有查询语言的各种技巧(subtleties)的需要。所提供的抽象包括数据源的元数据描述。元数据能够包括对用户有含义的术语,以取代数据源使用的逻辑或物理描述。例如,普通的业务术语,以取代表格和栏目名称。这些术语能够被本地化(localized)和/或是领域专用的。层可以包括与底层数据相关联的逻辑,这允许其自动地公式化用于对底层数据源的运行的查询。逻辑包括到数据源的连接、用于数据源的结构、以及数据源的各个方面。一些语义层能够被公布,从而其能够被许多客户端和用户所共享。一些语义层在对应于底层数据源的结构的粒度(granularity)或者在语义层实施安全性。语义层的特定形式包括描述底层数据源并利用底层数据定义维度(dimensions)、属性和量度(measures)的数据模型对象。所述对象能够表现维度成员之间的关系,提供与底层数据相关联的计算。
在以上描述中,阐述了许多具体的细节,以便提供对本公开的实施例的全面的理解。但是,本领域技术人员将认识到,各种实施例能够无需一个或多个所述具体的细节,或者用其它方法、组件、技术等,而被实践。在其它实例中,熟知的操作或结构不被示出或详细描述,以避免模糊本公开的各方面。
虽然这里例示和描述的过程包括一系列步骤,但是应当理解,本公开的不同实施例不受所例示的步骤的顺序的限制,因为除了这里所示出和描述的以外,一些步骤可以以不同的次序发生,一些步骤可以与其它步骤同时发生。此外,并不是所有例示的步骤都被要求实施根据本公开的方法。而且,应当理解,所述过程可以与这里例示和描述的装置和***相关联地实施,以及与未示出的其它***相关联地实施。
本公开的实施例的上述描述和例示,包括摘要中的描述,并不是意图穷举或将实施例精确地限制在所公开的形式。虽然为了例示的目的而在这里描述了实施例中的特定实施例以及实施例的示例,但是相关领域技术人员将认识到,在本公开的范围内能够进行各种等效的修改。能够按照上述详细描述对实施例做出这些修改。
Claims (20)
1.一种计算机实施的方法,包括:
请求对象的细节;
接收包括与所述对象相关联的附件的附件细节的对象细节,每个附件的附件细节包括附件名称和附件ID,其中基于所述附件的细节和/或所述附件和相关的对象之间的关联性来生成所述附件ID;
响应于对于显示与所述对象相关联的附件的附件细节的请求,至少显示与所述对象相关联的每个附件的附件名称;
响应于从与所述对象相关联的附件中选择一个附件,确定包括存储在附件高速缓冲存储器中的附件的列表是否包括所选择的附件的附件ID;
如果所述列表包括所选择的附件的附件ID,则从所述附件高速缓冲存储器中检索所选择的附件;以及
如果所述列表不包括所选择的附件的附件ID,则:
使用所述附件ID请求所选择的附件的URL;
接收所选择的附件的URL;
使用所述URL下载所选择的附件;以及
将下载的附件存储在所述附件高速缓冲存储器中。
2.如权利要求1所述的方法,其中,所述附件细节还包括附件大小和附件描述。
3.如权利要求1所述的方法,其中,所述附件ID是基于对象ID、类别和对象类型生成的每个附件的唯一ID。
4.如权利要求1所述的方法,其中,所述URL包括过期时间,在该过期时间之后,所述URL变为无效。
5.如权利要求1所述的方法,还包括当预定条件发生时,重置所述附件高速缓冲存储器。
6.如权利要求5所述的方法,其中,所述预定条件包括请求所述对象的应用被关闭、所述附件高速缓冲存储器达到预设大小限制、新的搜索被运行、所述附件高速缓冲存储器中的附件数量达到预设附件限制、以及请求所述对象的用户改变中的至少一个。
7.如权利要求1所述的方法,还包括当存储在所述附件高速缓冲存储器中的附件满足预定条件时,删除存储在所述附件高速缓冲存储器中的至少一个附件。
8.如权利要求1所述的方法,其中,从后端服务器接收所选择的附件的URL,所述后端服务器基于所述附件ID确定所选择的附件的位置并且基于所选择的附件的位置生成所选择的附件的URL。
9.如权利要求8所述的方法,其中,所述URL是为对于所述URL做出请求的特定用户生成的,并且只有所述特定用户能够使用所述URL下载所述附件。
10.一种计算机实施的方法,包括:
从客户端设备接收对于对象的第一请求;
检索和发送所请求的对象的细节,所述对象的细节包括与所述对象相关联的附件的附件细节,并且每个附件的附件细节包括附件名称和附件ID,其中基于所述附件的细节和/或所述附件和相关的对象之间的关联性来生成所述附件ID;
从所述客户端设备接收对于从与所述对象相关联的附件中选择的附件的第二请求,第二请求包括所选择的附件的附件ID;
确定附件高速缓冲存储器是否包括所选择的附件;
如果所述附件高速缓冲存储器包括所选择的附件,则从所述附件高速缓冲存储器中检索所选择的附件并将所选择的附件提供给所述客户端设备;
如果所述附件高速缓冲存储器不包括所选择的附件,则:
基于所述附件ID确定所选择的附件的位置;
基于所选择的附件的位置生成所选择的附件的URL;
使用所述URL下载所选择的附件;
将下载的附件存储在所述附件高速缓冲存储器中;以及
将所选择的附件的数据提供给所述客户端设备。
11.如权利要求10所述的方法,其中,所述附件细节还包括附件大小和附件描述。
12.如权利要求10所述的方法,其中,所述附件ID是基于对象ID、类别和对象类型而生成的唯一ID。
13.如权利要求10所述的方法,其中,所述URL包括过期时间,在该过期时间之后,所述URL变为无效。
14.如权利要求10所述的方法,还包括当预定条件发生时,重置所述附件高速缓冲存储器。
15.如权利要求14所述的方法,其中,所述预定条件包括请求所述对象的应用被关闭、所述附件高速缓冲存储器达到预设大小限制、新的搜索被运行、所述附件高速缓冲存储器中的附件数量达到预设附件限制、以及请求所述对象的用户改变中的至少一个。
16.如权利要求10所述的方法,还包括当存储在所述附件高速缓冲存储器中的附件满足预定条件时,删除存储在所述附件高速缓冲存储器中的至少一个附件。
17.如权利要求10所述的方法,其中,所述附件高速缓冲存储器是从所述客户端设备接收请求的服务器的一部分。
18.如权利要求10所述的方法,其中,所述附件高速缓冲存储器是对于所述对象做出请求的所述客户端设备的一部分。
19.如权利要求10所述的方法,其中,所述附件是从包括所述客户端设备的内部网络外部的外部服务器下载的。
20.一种非瞬时计算机可读介质,包含程序指令,其中,由计算机***的一个或多个处理器运行所述程序指令使得所述一个或多个处理器执行以下步骤:
在客户端设备上显示用户界面;
从所述客户端设备接收对于业务对象的第一请求;
检索并向所述客户端设备发送所请求的业务对象的细节,所述业务对象的细节包括与所述业务对象相关联的附件的附件细节,每个附件的附件细节包括附件名称、附件ID和附件大小,并且所述附件细节不包括所述附件,其中,所述附件ID是基于业务对象ID、类别和业务对象类型而生成的唯一ID;
在所述客户端设备上的用户界面中显示附件列表,所述附件列表包括与所述业务对象相关联的附件;
从所述客户端设备接收对于从所述附件列表中选择的附件的第二请求,第二请求包括所选择的附件的附件ID;
确定所述客户端设备上的附件高速缓冲存储器是否包括所选择的附件;
如果所述附件高速缓冲存储器包括所选择的附件,则从所述附件高速缓冲存储器中检索所选择的附件并在所述客户端设备上显示所选择的附件;
如果所述附件高速缓冲存储器不包括所选择的附件,则:
基于所述附件ID确定所选择的附件的位置;
基于所选择的附件的位置生成所选择的附件的URL,所述URL包括过期时间,在该过期时间之后,所述URL变为无效;
将所生成的URL发送到所述客户端设备;
使用所述URL将所选择的附件下载到所述客户端设备;
将下载的附件存储在所述附件高速缓冲存储器中;以及
在所述客户端设备上显示下载的附件;
当预定条件发生时,重置所述附件高速缓冲存储器,所述预定条件包括请求所述业务对象的应用被关闭、所述附件高速缓冲存储器达到预设大小限制、新的搜索被运行、所述附件高速缓冲存储器中的附件数量达到预设附件限制、以及请求所述业务对象的用户改变中的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/040,067 US9854052B2 (en) | 2013-09-27 | 2013-09-27 | Business object attachments and expiring URLs |
US14/040,067 | 2013-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104519120A CN104519120A (zh) | 2015-04-15 |
CN104519120B true CN104519120B (zh) | 2020-05-19 |
Family
ID=51687805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410503366.0A Active CN104519120B (zh) | 2013-09-27 | 2014-09-26 | 业务对象附件和过期统一资源定位符 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9854052B2 (zh) |
EP (1) | EP2854048B1 (zh) |
CN (1) | CN104519120B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652191B2 (en) | 2014-12-31 | 2020-05-12 | C. Douglass Thomas | Data transmission management for computer based inter-user communication |
CN105743777A (zh) * | 2016-04-29 | 2016-07-06 | 乐视控股(北京)有限公司 | 一种使邮件中附件链接失效的方法、装置及*** |
CN106375451A (zh) * | 2016-09-06 | 2017-02-01 | 北京恒华伟业科技股份有限公司 | 一种信息的获取方法及*** |
US11354309B2 (en) * | 2017-09-14 | 2022-06-07 | Sony Corporation | Information processing apparatus and information processing method |
CN109840156B (zh) * | 2017-11-29 | 2023-04-25 | 腾讯科技(武汉)有限公司 | 一种数据缓存方法及其设备、存储介质、终端 |
US10884800B2 (en) | 2019-02-26 | 2021-01-05 | Sap Se | Server resource balancing using a suspend-resume strategy |
US10884801B2 (en) | 2019-02-26 | 2021-01-05 | Sap Se | Server resource orchestration based on application priority |
US11042402B2 (en) | 2019-02-26 | 2021-06-22 | Sap Se | Intelligent server task balancing based on server capacity |
US11307898B2 (en) | 2019-02-26 | 2022-04-19 | Sap Se | Server resource balancing using a dynamic-sharing strategy |
US11126466B2 (en) | 2019-02-26 | 2021-09-21 | Sap Se | Server resource balancing using a fixed-sharing strategy |
KR102431950B1 (ko) * | 2021-02-09 | 2022-08-16 | 브라이튼코퍼레이션 주식회사 | 비주얼콘텐츠 제작관리 플랫폼 제공방법 및 제공시스템 |
CN113612678B (zh) * | 2021-07-15 | 2023-03-31 | 中标软件有限公司 | 一种邮件附件下载使用的安全防护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564257B1 (en) * | 1999-12-09 | 2003-05-13 | International Business Machines Corporation | Repository protection by URL expiration |
CN1615629A (zh) * | 2001-12-20 | 2005-05-11 | 法国电信公司 | 在服务器与客户机终端之间使用缓存管理来发送对象的方法、相应的传输***、服务器及终端 |
CN101595462A (zh) * | 2007-01-31 | 2009-12-02 | 高通股份有限公司 | 用以减少多级高速缓冲存储器层级中的掷出的设备和方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864837A (en) | 1996-06-12 | 1999-01-26 | Unisys Corporation | Methods and apparatus for efficient caching in a distributed environment |
US6397203B1 (en) * | 1998-09-30 | 2002-05-28 | International Business Machines Corporation | Defining object classes to match corresponding specialized data types in a relational database |
US6529948B1 (en) | 1999-08-31 | 2003-03-04 | Accenture Llp | Multi-object fetch component |
US6360252B1 (en) | 1999-09-20 | 2002-03-19 | Fusionone, Inc. | Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient |
AR028658A1 (es) | 2000-06-01 | 2003-05-21 | Aerocast Com Inc | Metodo de indicacion de buen estado holistico y aparato de distribucion de posibilidad de indicacion. |
US20020016718A1 (en) * | 2000-06-22 | 2002-02-07 | Rothschild Peter A. | Medical image management system and method |
US6785712B1 (en) * | 2000-09-21 | 2004-08-31 | Rockwell Collins, Inc. | Airborne e-mail data transfer protocol |
US20030177124A1 (en) * | 2002-03-18 | 2003-09-18 | Al Sauri | System for searching secure servers |
US20040010543A1 (en) * | 2002-07-15 | 2004-01-15 | Steven Grobman | Cached resource validation without source server contact during validation |
US7596523B2 (en) | 2002-09-09 | 2009-09-29 | Barra, Inc. | Method and apparatus for network-based portfolio management and risk-analysis |
US7340680B2 (en) | 2004-06-14 | 2008-03-04 | Sap Aktiengesellschaft | SAP archivlink load test for content server |
US7933965B2 (en) | 2004-06-30 | 2011-04-26 | Jumpstart Wireless Corporation | Computer program code device for extending business systems to a mobile workforce |
EP1889423A1 (en) | 2005-05-16 | 2008-02-20 | Mandalogo Ltd | A system and method for transferring email file attachments over a telecommunication network using a peer-to-peer connection |
CA2615747C (en) | 2005-07-22 | 2014-05-13 | Research In Motion Limited | A secure method of synchronizing cache contents of a mobile browser with a server field |
CA2513010A1 (en) | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device |
WO2008005102A2 (en) | 2006-05-13 | 2008-01-10 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8381180B2 (en) | 2006-09-08 | 2013-02-19 | Sap Ag | Visually exposing data services to analysts |
US9262763B2 (en) * | 2006-09-29 | 2016-02-16 | Sap Se | Providing attachment-based data input and output |
US8112747B2 (en) | 2006-11-27 | 2012-02-07 | Sap Ag | Integrated software support for a distributed business application with seamless backend communications |
US7788138B2 (en) | 2007-10-25 | 2010-08-31 | Sap Ag | Method of developing specific content and creating standardized content from the specific content |
US20090307302A1 (en) | 2008-06-06 | 2009-12-10 | Snap-On Incorporated | System and Method for Providing Data from a Server to a Client |
EP2339798B1 (en) | 2009-12-23 | 2012-10-10 | Research In Motion Limited | Method for partial loading and viewing a document attachment on a portable electronic device |
JP4848462B2 (ja) * | 2010-03-04 | 2011-12-28 | 株式会社モルフォ | 圧縮画像の部分伸長方法および画像処理装置 |
US9031971B2 (en) | 2010-07-23 | 2015-05-12 | Qualcomm Incorporated | Flexible data download models for augmented reality |
US8543554B1 (en) | 2010-08-10 | 2013-09-24 | ScalArc Inc. | Method and system for transparent database query caching |
US8438474B1 (en) | 2011-04-27 | 2013-05-07 | Google Inc. | Speculative rendering during cache revalidation |
US8880652B2 (en) * | 2011-09-14 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Heuristic browser predictive pre-caching |
US9199202B2 (en) | 2011-09-15 | 2015-12-01 | Sartorius Stedim Biotech Gmbh | Filter element attachment, filter cartridge, and filter system |
US9055043B2 (en) * | 2011-11-10 | 2015-06-09 | Qualcomm Incorporated | Adaptive media sharing |
US20130124193A1 (en) | 2011-11-15 | 2013-05-16 | Business Objects Software Limited | System and Method Implementing a Text Analysis Service |
US9300611B2 (en) * | 2013-03-26 | 2016-03-29 | Dropbox, Inc. | Content-item linking system for messaging services |
-
2013
- 2013-09-27 US US14/040,067 patent/US9854052B2/en active Active
-
2014
- 2014-09-26 CN CN201410503366.0A patent/CN104519120B/zh active Active
- 2014-09-26 EP EP14186606.1A patent/EP2854048B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564257B1 (en) * | 1999-12-09 | 2003-05-13 | International Business Machines Corporation | Repository protection by URL expiration |
CN1615629A (zh) * | 2001-12-20 | 2005-05-11 | 法国电信公司 | 在服务器与客户机终端之间使用缓存管理来发送对象的方法、相应的传输***、服务器及终端 |
CN101595462A (zh) * | 2007-01-31 | 2009-12-02 | 高通股份有限公司 | 用以减少多级高速缓冲存储器层级中的掷出的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104519120A (zh) | 2015-04-15 |
EP2854048B1 (en) | 2018-07-11 |
US20150095403A1 (en) | 2015-04-02 |
US9854052B2 (en) | 2017-12-26 |
EP2854048A1 (en) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104519120B (zh) | 业务对象附件和过期统一资源定位符 | |
US11907237B2 (en) | Gathering and contributing content across diverse sources | |
JP5592505B2 (ja) | トピックに基づいて調整可能なデーター・フィードの総計 | |
JP4812747B2 (ja) | 情報を取り込み抽出する方法及びシステム | |
US7877682B2 (en) | Modular distributed mobile data applications | |
TWI450107B (zh) | 用於網路資料使用平臺之方法及電腦可讀儲存媒體 | |
US8806345B2 (en) | Information exchange using generic data streams | |
US20110313969A1 (en) | Updating historic data and real-time data in reports | |
US8452733B2 (en) | Data decay management | |
US20140019843A1 (en) | Generic annotation framework for annotating documents | |
US10620970B2 (en) | Request processing by a runtime agent in a network system | |
US8788533B2 (en) | Read access logging | |
US8538980B1 (en) | Accessing forms using a metadata registry | |
US9607012B2 (en) | Interactive graphical document insight element | |
US10313421B2 (en) | Providing Odata service based on service operation execution flow | |
US20140143248A1 (en) | Integration to central analytics systems | |
US20130227422A1 (en) | Enterprise portal smart worklist | |
GB2520668A (en) | Portal environment and method for operating a portal environment | |
US8671078B2 (en) | Sharing parts of a document using search framework | |
US20120131027A1 (en) | Method and management apparatus of dynamic reconfiguration of semantic ontology for social media service based on locality and sociality relations | |
US20170034266A1 (en) | System and Method for the Departmentalization of Structured Content on a Website (URL) through a Secure Content Management System | |
US20140143278A1 (en) | Application programming interface layers for analytical applications | |
US10021167B2 (en) | Accessing mobile documents | |
US20230401212A1 (en) | System for creating and accessing digital cards stored in decentralized content storage | |
US20230401178A1 (en) | Control system for controlling management of digital cards stored in decentralized content storage |
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 |