CN107402779B - 用于云和预置应用集成的兼容框架 - Google Patents

用于云和预置应用集成的兼容框架 Download PDF

Info

Publication number
CN107402779B
CN107402779B CN201611247385.7A CN201611247385A CN107402779B CN 107402779 B CN107402779 B CN 107402779B CN 201611247385 A CN201611247385 A CN 201611247385A CN 107402779 B CN107402779 B CN 107402779B
Authority
CN
China
Prior art keywords
identifier
instructions
cloud
feature
version
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
Application number
CN201611247385.7A
Other languages
English (en)
Other versions
CN107402779A (zh
Inventor
王崇瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of CN107402779A publication Critical patent/CN107402779A/zh
Application granted granted Critical
Publication of CN107402779B publication Critical patent/CN107402779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于由与基于云的应用相关联的服务器计算机经由网络从与预置应用相关联的请求装置接收对与由该基于云的应用提供的应用服务相关联的至少一个特征的请求的系统和方法,该请求包括请求者标识符和请求特征标识符,该方法包括由与该基于云的应用相关联的该服务器计算机基于该请求者标识符确定该请求的版本标识符;由与该基于云的应用相关联的该服务器计算机访问用于该基于云的应用的指令,该指令包括与多个版本标识符相关联的指令,每个版本标识符与至少一个特征标识符相关联;由与该基于云的应用相关联的该服务器计算机解析用于该基于云的应用的该指令以确定与该请求的该版本标识符以及该请求特征标识符相关联的指令子集;由与该基于云的应用相关联的该服务器计算机执行与该请求的该版本标识符以及该请求特征标识符相关联的该指令子集;以及由与该基于云的应用相关联的该服务器计算机经由该网络向该请求装置返回响应,该响应指示已经执行与由该基于云的应用提供的该应用服务相关联的至少一个特征。

Description

用于云和预置应用集成的兼容框架
技术领域
本发明总体涉及一种用于云和预置应用集成的兼容框架。
背景技术
基于云的应用使用远程服务器的网络来储存、管理和处理数据与在本地 或个人计算机上储存、管理和处理数据的传统预置应用相比正变得越来越受 欢迎。某些预置应用与基于云的应用集成在一起。这些集成方案的一个问题 是它们可具有不同的发行周期。例如,基于云的应用可每周开展多次更新, 而预置应用的管理员可能仅希望按季度或半年更新一次集成的预置应用来 管理本地计算机的更换和成本。当不同更新阶段具有许多预置应用时增大了 复杂度,其中大部分预置应用在彼此不同且与基于云的应用不同的版本处。
发明内容
在某些实施方案中,包括计算机程序产品的方法和设备提供一种用于云 和预置应用集成的兼容框架。一方面,与基于云的应用相关联的服务器计算 机可经由网络从与预置应用相关联的请求装置接收对与由该基于云的应用 提供的应用服务相关联的至少一个特征的请求,该请求包括请求者标识符和 请求特征标识符。基于云的应用相关联的服务器计算机可基于该请求者标识 符确定该请求的版本标识符以及用于基于云的应用的指令,该指令包括与多 个版本标识符相关联的指令,每个版本标识符与至少一个特征标识符相关 联。可由该服务器计算机解析用于该基于云的应用的该指令以确定与该请求 的该版本标识符以及该请求特征标识符相关联的指令子集。该服务器计算机 可执行与该请求的该版本标识符以及该请求特征标识符相关联的指令子集, 并且经由该网络向该请求装置返回响应,该响应指示已经执行与由该基于云 的应用提供的该应用服务相关联的至少一个特征。
上述方法、设备和计算机程序产品在某些实施方案中可进一步包括一个 或多个以下特征。在用于该基于云的应用的该指令中储存与新特征标识符和 新版本标识符相关联的新指令子集。在用于该基于云的应用的该指令中储存 与对具有现有特征标识符和现有版本标识符的现有特征的至少一个增强版 相关联的新指令子集,且将该新指令子集与该现有特征标识符和新版本标识 符相关联。该至少一个增强版可包括对与现有特征相关联的指令的错误修正 以及对与现有特征相关联的指令的附加功能。可更新与该现有版本标识符相 关联的该现有特征标识符以指示该现有特征在后续版本标识符的指令中已 过时。基于该请求者标识符确定该请求的版本标识符可包括比较该请求者标 识符与数据库中的请求者标识符以确定与该请求者标识符相关联的版本标 识符。可经由安全超文本传输协议(HTTPS)接收该请求。
附图和以下描述中阐释本文所述的主题的一或多个变型的细节。本文所 述的主题的其它特征和优点将从描述和附图显而易见。
附图说明
附图中的不同附图仅说明本发明的示例性实施例并且不应被解释为限 制本发明的范围。
图1是说明根据某些示例性实施例的联网系统的框图,该联网系统配置 成管理集成的预置和基于云的应用的兼容性。
图2A至图2C说明根据某些示例性实施例的不同更新阶段处的不同预 置应用的复杂度。
图3是根据某些示例性实施例的说明用于接收并处理对应用服务的请求 的方法的多个方面的流程图。
图4是根据某些示例性实施例的说明可安装在机器上的软件架构的实例 的框图。
图5说明根据示例性实施例的呈计算机系统的形式的机器的图示,可在 该计算机系统内执行用于使得该机器执行本文所讨论的任何一种或多种方 法的指令集。
具体实施方式
本文所述的系统和方法涉及一种提供用于云和预置应用集成的兼容框 架。如上文所解释,某些预置应用与基于云的应用集成在一起。例如,某些 实体可能希望从仅预置应用方案缓慢地转变至仅基于云的应用方案。在另一 实例中,某些实体归因于法规遵从或安全和隐私问题而可能无法利用仅基于 云的应用。例如,某些数据出于法规遵从而可能需要保持在企业防火墙内, 且这些约束可能不允许实体利用全部仅基于云的应用。另外,实体可能担忧 敏感数据会储存在云中而不是将敏感数据保持预置。为了解决此类问题,可采取集成方法,其中实体可在本地安装应用并且仍然经由基于云的应用利用 应用功能性。然而,此集成方法引入了许多技术挑战。例如,基于云的应用 开展的更新频率可大于管理员对预置应用要求的更新频率。在一个示例中, 基于云的应用可每周或甚至每天开展多次更新,而预置应用的管理员仅可希 望按季度或半年更新一次集成的预置应用来管理本地计算机的更换和成本。 当每个实体尤其在其中可能具有数百个实体的较大系统中使用应用的不同 版本时,管理基于云的应用和预置应用的多个版本可能变得极其复杂。
因此,本文所述的实施例提供了一种提供用于云和预置应用集成的兼容 框架。在一个实例中,维护一个代码库来支持所有预置应用版本。这样的一 个代码库服务于预置应用中请求,而无关于预置应用所支持的版本。
图1是说明根据某些示例性实施例的联网系统100的框图,该联网系统 配置成管理集成的预置和基于云的应用的兼容性。系统100包括一个或多个 客户端装置,诸如客户端装置110。客户端装置110可包括(但不限于)移 动电话、台式计算机、膝上型计算机、个人数字助理(PDA)、智能电话、 平板计算机、超级笔记本、上网本、膝上型计算机、多处理器系统、基于微 处理器或可编程消费者电子器件、游戏机、机顶盒、车载计算机,或用户可 利用来访问联网系统100的任何其它通信装置。在某些实施例中,客户端装 置110可包括用于(例如,以用户界面的形式)显示信息的显示模块(未示 出)。在进一步实施例中,客户端装置110可包括触摸屏、加速度计、陀螺 仪、相机、麦克风、全球定位系统(GPS)装置等中的一者或多者。
客户端装置110可为用于搜索和显示信息、购买服务或产品等的用户的 装置。在一个示例性实施例中,系统100是电子商务系统,其利用第三方服 务器的预置电子商务软件以及电子商务服务和诸如服务器系统102的基于云 的系统的功能性。
一个或多个用户106可为人、机器或与客户端装置110交互的其它装置。 在示例性实施例中,用户106可能并非系统100的部分,但可经由客户端装 置110或其它装置与系统100交互。例如,用户106可向客户端装置110提 供输入(例如,触摸输入或字母数字输入),且该输入可经由网络104通信 传送至系统100中的其它实体(例如,第三方服务器130、服务器系统102 等)。在此实例中,系统100中的其它实体响应于从用户106接收到输入而 可经由网络104向客户端装置110通信传送信息以呈现于用户106。以此方 式,用户106可使用客户端装置110与系统100中的不同实体交互。
系统100包括网络104。网络104的一个或多个部分可为无线自组织网 络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN (WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因 特网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络、无线 网络、WiFi网络、WiMax网络、其它类型的网络,或两种或两种以上此类 网络的组合。
客户端装置110可经由网络客户端112(例如,浏览器,诸如由华盛顿 州雷德蒙市
Figure BDA0001197396210000041
开发的Internet
Figure BDA0001197396210000042
浏览器)或一个或多个客户 端应用114访问由系统100中的其它实体提供的不同数据和应用。客户端装 置110可包括一个或多个客户端应用114(又称为“app”),诸如(但不限于) 网络浏览器、短信应用、电子邮件(email)应用、电子商务站点应用、绘图 或定位应用等。在某些实施例中,一个或多个应用114可包括在客户端装置 110中的给定装置中,并且配置成本地提供用户接口以及应用的至少某些功 能性。客户端应用114可配置成由于本地不可用的数据和/或处理能力而根据 需要与系统100中的其它实体(例如,第三方服务器130、服务器系统102 等)通信(例如,以访问位置信息、认证用户106、验证支付方法等)。相反 地,一个或多个客户端应用114可不包括在客户端装置110中,且接着客户 端装置110可使用其网络浏览器来访问托管在系统100中的其它实体(例如, 第三方服务器130、服务器系统102等)上的一个或多个应用。
服务器系统102可经由网络104(例如,因特网或广域网(WAN))向 一个或多个第三方服务器130和/或一个或多个客户端装置110提供服务器端 功能性。服务器系统102可包括可与一个或多个数据库126通信耦合的应用 接口(API)服务器120和应用服务器122。数据库126可为储存诸如第三 方信息、请求者标识符、版本标识符等信息的储存装置。服务器系统102可 为根据某些示例性实施例的云计算环境。在一个示例性实施例中,服务器系 统102和与服务器系统102相关联的任何服务器可与基于云的应用相关联。
系统100进一步包括一个或多个第三方服务器130。一个或多个第三方 服务器130可包括一个或多个第三方应用132。在第三方服务器130上执行 的一个或多个第三方应用132可经由API服务器120经由通过API服务器 120提供的程序接口与服务器系统102交互。例如,一个或多个第三方应用 132可经由API服务器120请求来自服务器系统102的信息并且利用该信息 来支持由第三方托管的网站上的一个或多个特征或功能或由第三方托管的应用。第三方网站或应用132例如可提供由服务器系统102中的相关功能性 和数据支持的电子商务服务和特征。
如上文所解释,管理与基于云的应用集成的预置应用面临诸多技术挑 战。例如,实体(例如,向终端用户提供应用服务的公司或个人)可在本地 (例如,在与该实体(第三方服务器130)相关联的一个或多个服务器计算 机)安装某个版本的应用,且本地安装的应用可利用由在云中运行的应用(例 如,服务器系统102)提供的应用服务。在一个示例中,本地安装的应用可 包括小部件,其可用于访问并利用由在云中运行的应用提供的应用服务。一个技术问题是:预置应用和基于云的应用可具有不同的发行周期。例如,基 于云的应用可每周或甚至每天开展多次更新,而预置应用的管理员可能仅希 望按季度或半年更新一次集成的预置应用来管理本地计算机的更换和成本。 当不同更新阶段存在许多预置应用时复杂度增加,其中大部分预置应用处于 彼此不同的版本且与基于云的应用不同的版本。图2A至图2C中说明此案 例的简单实例。
图2A示出了应用的初始版本。在此实例中,初始版本是版本1602。因 为其是第一个版本,所以已安装该应用(例如,第三方应用A、第三方应用 B、第三方应用C)的第三方服务器全部使用初始版本1602且云应用版本也 是版本1602。在示例性实施例中,每个第三方应用可与不同的第三方实体相 关联。例如,第三方应用A可与第三方实体A相关联,第三方应用B可与 第三方实体B相关联,第三方应用C可与第三方实体C相关联,以此类推。 实体可为(例如,经由客户端装置110)向终端用户提供应用服务的公司或 个人。第三方应用可安装在一个或多个第三方服务器130上和/或可安装在一 个或多个客户端装置110上或可由客户端应用114利用。
图2B示出已经发行新版本1605。云应用包括最新版本1605的指令。 第三方应用A的管理员和第三方应用B的管理器并未选择升级至最新版本。 例如,第三方应用A的管理员和第三方应用B的管理器可仅选择每个季度、 半年、一年等升级至新的应用版本。第三方应用C的管理员选择更新至新版 本1605。且新的第三方应用D已安装该应用并且因此还具有最新版本1605。
图2C示出已经发行新版本1608。云应用包括最新版本1608的指令。 第三方应用A和第三方应用B保持在版本1602中。第三方应用C和第三方 应用D保持先前版本1605。且新的第三方应用E已安装该应用并且因此具 有最新版本1608。
如此示例中可知,在任何给定时间需要维护应用的许多不同版本。当每 个实体尤其在其中可能具有数百个实体的较大系统中使用不同版本的应用 时,管理基于云的应用和预置应用的多个版本可能变得极其复杂。
为了解决此类技术挑战,示例实施例提供了要维护的基于云的应用的单 个版本,其可为所有预置应用提供应用服务,而无关于预置应用正利用哪个 版本。每当新特征添加至基于云的应用,其与唯一特征标识符和唯一版本标 识符相关联并且添加至基于云的应用中的指令。版本标识符可与一个或多个 特征标识符相关联。例如,两个新特征(特征A和特征B)可添加至版本 1605。且,两个新特征(特征C和特征D)可添加至版本1068。此类特征的命名惯例可为1605_特征A和1605_特征B,以及1608_特征C和1608_ 特征D。每个特征的命名惯例可与针对该特征执行的指令相关联。因此,当 云应用接收到对特定特征的请求时,其可基于由做出该请求的实体使用的应 用的版本针对该特征执行该指令。例如,将响应于来自具有版本1605或更 高版本的预置应用的对特征A的请求而执行以下指令:
If version>=1605_Feature A
then do[instructions for Feature A…]
end
(说明:
如果版本>=1605_特征A
那么进行[特征A的指令……]
结束)
以此方式,基于云的应用可包括用于应用的多个版本以及一个单指令集 中的多个特征的指令。
管理应用的多个版本的另一技术挑战是如何管理对现有特征的增强或 错误修正。例如,特征A可能需要错误修正或增强版来支持新的装置类型等。 在一个示例中,特征A可用于移动支付功能性并且需要增强版来支持中国的 装置。特征A不能简单地更新,因为该系统需要维持由不希望对应用做出任 何改变以避免任何兼容问题的管理员使用的更旧版本的反向兼容性。本发明 的实施例允许针对应用的最新版本更新或增强特征A,但特征A对于更旧版 本要保持稳定性。
例如,特征A首先引入在版本1605中。1605_特征A中的指令可被拷 贝至最新版本1608_特征A和1608_特征A增强版。以此方式,所有版本1608 和更高版本可充分利用特征A增强版且特征A对于应用版本1605将保持相 同。另外,可改变1605_特征A的指令的命名惯例以指示该特征在未来版本 中已过时。例如,可将命名惯例改变为1605_OBL_特征A。当云应用未来不 再支持版本1605时,这些指令可容易找到并因它们不再需要而进行删除。 例如,该系统可搜索指定版本1605的OBL的任何特征,并且删除与版本1605 的OBL特征相关联的指令子集。以此方式,该指令可容易清除并且保持为 可管理大小。
使用图2C中的实例,第三方应用A和第三方应用B正使用版本1602。 因为特征A引入在版本1605中,所以第三方应用A和B将不受特征A的 任何变化影响。第三方应用C和第三方应用D均使用版本1605,且因为版 本1605的特征A的指令未发生改变,所以第三方应用C和D也不受特征A 的任何变化影响。然而,第三方应用E正使用版本1608,且因此第三方应用E将使用增强特征A。
图3是说明根据某些示例性实施例的用于接收并处理对应用服务的请求 的方法300的多个方面的流程图。为了说明性目的,关于图1的联网系统100 描述方法300。应理解的是,在其它实施例中可利用其它系统配置实践方法 300。
在操作302中,服务器系统102(例如,经由API服务器120)接收对 服务的请求。例如,API服务器120可经由网络从与预置应用相关联的请求 装置(例如,经由第三方应用132从第三方服务器130)接收对与由基于云 的应用提供的应用服务相关联的至少一个特征的请求。可经由HTTP、HTTPS 或其它协议发送该请求。该请求可包括请求者标识符和请求特征标识符。请 求者标识符可与特定实体相关联。请求特征标识符可与由第三方服务器130 经由第三方应用132请求的特定应用服务、特征或功能性相关联。
在操作304中,服务器系统102(例如,经由API服务器120)基于请 求者标识符确定该请求的版本标识符。例如,API服务器120可比较请求者 标识符与储存在一个或多个数据库126中的多个请求者标识符以确定与请求 者标识符相关联的版本标识符。服务器系统102(例如,经由应用服务器122) 可访问基于云的应用的指令,该指令包括与多个版本标识符相关联的指令, 如操作306中所示。每个版本标识符可与至少一个特征标识符相关联。使用 先前讨论的实例,版本1605可包括特征A和特征B。
服务器系统102(例如,经由应用服务器122)可解析基于云的应用的 指令以确定请求应用服务的指令子集,如操作308中所示。例如,应用服务 器122可解析指令以确定与版本标识符(例如,1605)和特征标识符(例如, 特征A)相关联的指令子集。在一个实例中,指令可如下进行结构化:
If version>=1605_Feature A
then do[instructions for Feature A…]
end
In another example,the instructions may be structured as follows:
If version=1605_OBL_Feature A
then do[instructions for Feature A…]
end
(说明:
如果版本>=1605_特征A
那么进行[特征A的指令……]
结束
在另一实例中,指令可如下进行结构化:
如果版本=1605_OBL_特征A
那么进行[特征A的指令……]
结束)
如上文所解释,后一示例可指示此特征(特征A)在后续版本中已过时。
在操作310中,应用服务器122执行指令子集。例如,应用服务器122 将确定因为版本标识符是1605且特征是特征A,所以其应执行上述示例性 指令中的一者。服务器系统102(例如,经由API服务器120)经由网络向 请求装置返回响应,该响应指示已经执行与由基于云的应用提供的应用服务 相关联的至少一个特征,如操作312中所示。可经由HTTP、HTTPS或其它 协议发送该响应。
如上文所解释,新特征和新版本的指令可储存在该指令中。例如,服务 器系统102(例如,经由应用服务器122)可在基于云的应用的指令中储存 与新特征标识符(例如,特征C)和新版本标识符(例如,1608)相关联的 新指令子集。
另外如上文所解释,可对现有特征进行错误修正或增强。因此,服务器 系统102(例如,经由应用服务器122)可在基于云的应用的指令中储存与 对具有现有特征标识符(例如,特征A)和现有版本标识符(例如,1605) 的现有特征的至少一个增强版相关联的新指令子集,并且将新指令子集与现 有特征标识符(例如,特征A)和现有版本标识符(例如,1608)相关联。 该至少一个增强版可包括对与现有特征相关联的指令的错误修正以及对与现有特征相关联的指令的附加功能。可更新与现有版本标识符相关联的现有 特征标识符以指示现有特征在具有后续版本标识符(例如,1605_OBL_特征 A)的指令中已过时。
图4是说明可安装在上述任何一个或多个装置上的软件架构702的框图 700。例如,在不同实施例中,客户端装置110、服务器系统102(包括API 服务器120和应用服务器122)和第三方服务器130可使用软件架构702的 部分或所有元件来实施。图4仅仅是软件架构的非限制性实例,且将明白的 是,可实施许多其它架构以方便本文所述的功能性。在不同实施例中,软件 架构702是由诸如图5的机器900的硬件来实施,该机器900包括处理器910、 存储器930和I/O组件950。在此实例中,软件架构702可被概念化为层堆 叠,其中每一层可提供特定功能性。例如,软件架构702包括诸如操作系统 704、库706、框架708和应用710的层。在操作上,应用710通过软件堆叠 调用应用设计接口(API)调用712,并且响应于API调用712而接收消息 714,这与某些实施例一致。
在不同实施方案中,操作系统704管理硬件资源并且提供公共服务。操 作系统704包括例如内核720、服务722和驱动程序724。内核720用作硬 件与其它软件层之间的抽象层,这与某些实施例一致。例如,除其它功能性 外,内核720还提供存储器管理、处理器管理(例如,调度)、组件管理、 联网和安全设置。服务722可对其它软件层提供其它公共服务。根据某些实 施例,驱动程序724负责控制底层硬件或与底层硬件对接。例如,驱动程序 724可包括显示驱动、相机应用、
Figure BDA0001197396210000101
或低功耗
Figure BDA0001197396210000102
驱动程序、快闪存储 器驱动、串行通信驱动(例如,通用串行总线(USB)驱动程序)、
Figure BDA0001197396210000103
驱动、音频驱动、电源管理驱动等。
在某些实施例中,库706提供由应用710利用的低级公共基础设施。库 706可包括系统库730(例如,C标准库),其可提供诸如存储器分配函数、 字符串操作函数、数学函数等函数。另外,库706可包括API库732,诸如 媒体库(例如,支持不同媒体格式的呈现和操作的库,该媒体格式诸如活动 图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、活动图像专家组 层-3(MP3)、高级音频编码(ACC)、自适应多速率(AMR)、音频编解码 器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG)、图形库(例 如,用于在显示器上二维(2D)和三维(3D)渲染图形内容的OpenGL框 架)、数据库的库(例如,用于提供不同的关系型数据库函数的SQLite)、万 维网库(例如,用于提供网页浏览功能性的WebKit)等)。库706还可包括 各种其它库734以向应用710提供许多其它API。
根据某些实施例,框架708提供可由应用710利用的高级公共基础设施。 例如,框架708提供不同的图形用户界面(GUI)功能、高级资源管理、高 级定位服务等。框架708可提供可由应用710利用的更广范围的其它API, 其中的某些API可专用于特定操作系统704或平台。
在示例性实施例中,应用710包括家庭应用750、联系人应用752、浏 览器应用754、读书器应用756、定位应用758、媒体应用760、短信应用762、 游戏应用764以及各式各样的其它应用,诸如第三方应用756。根据某些实 施例,应用710执行其中定义的功能的程序。可采用不同的程序设计语言来 创建以各种方式结构化的一个或多个应用710,该语言诸如面向对象程序设 计语言(例如,Objective-C、Java或C++)或程序化程序语言(例如,C或 汇编语言)。在具体实例中,第三方应用766(例如,使用除特定平台的厂商 之外的实体的ANDROIDTM或IOSTM软件开发包(SDK)开发的应用)可为 在诸如IOSTM、ANDROIDTM
Figure BDA0001197396210000104
电话或其它移动操作系统的移动 操作系统上运行的移动软件。在此实例中,第三方应用766可调用由操作系 统704提供的API调用712以方便本文所述的功能性。
某些实施例可特别包括电子商务应用767。在某些实施例中,此可为独 立应用,其操作为管理与诸如第三方服务器130或服务器系统102的服务器 系统进行的通信。在其它实施例中,此功能性可与诸如网站的另一应用或提 供产品和服务等的应用集成。电子商务应用767可请求并显示与支付交易、 产品和服务等有关的不同信息,并且可提供使用户经由触摸界面、键盘或使 用机器900的相机装置输入与支付交易(例如)有关的数据、经由I/O组件 950与服务器系统进行的通信以及接收支付相关数据并将其储存在存储器 930中的能力。支付交易以及与支付信息相关联的其它信息和用户输入的呈 现可通过电子商务应用767使用不同框架708、库706元件或在机器900上 操作的操作系统704元件管理。
图5是根据某些实施例的说明能够从机器可读介质(例如,机器可读储 存介质)读取指令并且执行本文所讨论的任何一种或多种方法的机器900的 组件的框图。具体地,图5示出了呈计算机系统的示例性形式的机器900的 图示,在该计算机系统内可执行用于使得机器900执行本文所讨论的任何一 种或多种方法的指令916(例如,软件、程序、应用710、小应用、app或其 它可执行代码)。在替代性实施例中,机器900操作为独立装置或可耦合(例如,联网)至其它机器。在联网部署中,机器900可以服务器机器130、102、 120、122等或服务器-客户端网络环境中的客户端装置110的身份操作,或 操作为对等(或分布式)环境中的对等机器。机器900可包括(但不限于) 服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计 算机、上网本、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴式装置(例如,智能手表)、智能家用装置(例如, 智能设备)、其它智能装置、网络设备、网络路由器、网络交换机、网桥, 或能够循序或以其它方式执行指定机器900采取的动作的指令916的任何机 器。另外,虽然仅说明了单个机器900,但术语“机器”还应被视为包括个 别地或联合地执行指令916以执行本文所讨论的任何一种或多种方法的机器 900的集合。
在不同实施例中,机器900包括处理器910、存储器930和I/O组件950, 其可配置成经由总线902而彼此通信。在示例性实施例中,处理器910(例 如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集 计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专 用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器,或其任何合适 的组合)包括例如可执行指令916的处理器912和处理器914。术语“处理 器”旨在包括多核处理器910,其可包括可同时执行指令916的两个或两个 以上独立处理器912、914(又称为“核心”)。虽然图5示出了多个处理器 910,但机器900可包括具有单个核心的单个处理器910、具有多个核心的单 个处理器910(例如,多核处理器910)、具有单个核心的多个处理器912、914、具有多个核心的多个处理器912、914,或其任何组合。
根据某些实施例,存储器930包括主存储器932、静态存储器934以及 可经由总线902访问处理器910的储存单元936。储存单元936可包括其上 储存具体实施本文所述的任何一种或多种方法或功能的指令916的机器可读 介质938。在机器900执行指令916期间,指令916还可完全或至少驻留在 主存储器932内、静态存储器934内、至少一个处理器910内(例如,处理 器的高速缓冲存储器),或其任何合适组合。因此,在不同实施例中,主存 储器932、静态存储器934和处理器910被视为机器可读介质938。
如本文所使用,术语“存储器”是指能够临时或永久地储存数据的机器 可读介质938,且可被视为包括(但不限于)随机访问存储器(RAM)、只 读存储器(ROM)、缓冲存储器、快闪存储器和高速缓冲存储器。虽然机器 可读介质938在示例性实施例中被示为单个介质,但术语“机器可读介质” 应被视为包括能够储存指令916的单个介质或多个介质(例如,集中式或分 布式数据库或相关高速缓冲存储器和服务器)。术语“机器可读介质”还应 被视为包括能够储存用于由机器(例如,机器900)执行的指令(例如,指 令916)的任何介质或多个介质的组合,使得指令916在由机器900的一个 或多个处理器(例如,处理器910)执行时使得机器900执行本文所述的任 何一种或多种方法。因此,“机器可读介质”是指单个储存设备或装置以及 包括多个储存设备或装置的“基于云”的储存系统或储存网络。术语“机器 可读介质”因此应被视为包括(但不限于)呈固态存储器(例如,快闪存储 器)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只 读存储器(EPROM))或其任何合适组合的形式的一个或多个数据仓库。术 语“机器可读介质”具体排除非法定信号本身。
I/O组件950包括各种组件以接收输入、提供输出、产生输出、传输信 息、交换信息、捕捉测量等。一般来说,将明白的是,I/O组件950可包括 图5中未示出的许多其它组件。I/O组件950根据功能性分组以仅仅用于简 化以下讨论,且分组决无限制。在不同的示例性实施例中,I/O组件950包 括输出组件952和输入组件954。输出组件952包括可视化组件(例如,显 示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显 示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如,扬声器)、 触觉组件(例如,振动马达)、其它信号发生器等。输入组件954包括字母 数字输入组件(例如,键盘、配置成接收字母数字输入的触摸屏、光学键盘, 或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触控板、轨 迹球、操纵杆、运动传感器或其它定点仪器)、触觉输入组件(例如,物理 按钮、提供触摸或触摸手势的位置和力的触摸屏,或其它触觉输入组件)、 音频输入组件(例如,麦克风)等。
在某些进一步示例性实施例中,在各种其它组件中,I/O组件950包括 生物识别组件956、运动组件958、环境组件960或定位组件962。例如,生 物识别组件956包括用于检测表达(例如,手势表达、面部表达、声音表达、 身体姿势或眼球跟踪)、测量生理信号(例如,血压、心率、体温、汗液或 脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基 于脑电图的识别)等的组件。运动组件958包括加速度传感器组件(例如, 加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境 组件960包括(例如)照度传感器组件(例如,光度计)、温度传感器组件 (例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感 器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或 多个麦克风)、距离传感器组件(例如,检测附近对象的红外线传感器)、气 体传感器组件(例如,机器嗅觉检测传感器、用于检测危险气体浓度以保证 安全或测量环境中的污染物的气体检测传感器),或可提供对应于周围物理 测量的指示、测量或信号的其它组件。定位组件962包括定位传感器组件(例 如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,高度计 或检测可推导高度的空气压力的气压计)、定向传感器组件(例如,磁力计)等。
可使用各种技术来实施通信。I/O组件950可包括通信组件964,其可 操作地将机器900分别经由耦合器982和耦合器972耦合至网络980或装置 970。例如,通信组件964包括网络接口组件或与网络980对接的另一合适 装置。在进一步实例中,通信组件964包括有线通信组件、无线通信组件、 蜂窝通信组件、近场通信(NFC)组件、
Figure BDA0001197396210000141
组件(例如,
Figure BDA0001197396210000142
)、
Figure BDA0001197396210000143
组件,以及经由其它型态提供通信的其它通信组件。装置970可为另 一机器900或各种外围组件中的任一者(例如,经由通用串行总线(USB) 耦合的外围装置)。
另外,在某些实施例中,通信组件964检测标识符或包括操作地检测标 识符的组件。例如,通信组件964包括射频识别(RFID)标签读取器组件、 NFC智能标签检测组件、光学读取器组件(例如,用于检测一维条形码(诸 如通用产品代码(UPC)条形码)、多维条形码(诸如快速响应(QR)码)、 Aztec码、数据矩阵、Dataglyph、最大码、PDF417、超码、统一商业代码缩 减码型(UCC RSS)-2D条形码以及其它光学代码)的光学传感器)、声学 检测组件(例如,用于识别标记的音频信号的麦克风)或其任何合适组合。 另外,可经由通信组件964推导各种信息,诸如经由
Figure BDA0001197396210000145
(IP)地 理位置进行的定位、经由
Figure BDA0001197396210000146
信号三角测量进行的定位、经由检测可指 示特定位置的
Figure BDA0001197396210000147
或NFC浮标信号进行的定位,等等。
在各种示例性实施例中,网络980的一个或多个部分可为无线自组织网 络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN (WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因 特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电 话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0001197396210000144
网络、另一类型的 网络,或两种或两种此类网络的组合。例如,网络980或网络980的一部分 可包括无线或蜂窝网络,且耦合器982可为码分多址(CDMA)连接、全球 移动通信系统(GSM)连接或另一类型的蜂窝或无线耦合。在此实例中,耦 合982可实施各种类型的数据传输技术中的任一者,诸如单载波无线电传输 技术(1xRTT)、演变数据优化(EVDO)技术、通用分组无线电服务(GPRS) 技术、增强数据速率的GSM演进(EDGE)技术、第三代合作伙伴计划(3GPP) (包括3G、第四代无线(4G)网络)、通用移动电信系统(UMTS)、高速 分组接入(HSPA)、微波接入全球互通(WiMAX)、长期演变(LTE)标准、 由不同标准设置组织定义的其它技术、其它远程协议或其它数据传输技术。
在示例性实施例中,指令916是通过网络980使用传输介质经由网络接 口装置(例如,包括在通信组件964中的网络接口组件)且利用许多公知传 输协议中的任一者(例如,安全超文本传输协议(HTTP))传输或接收。类 似地,在其它示例性实施例中,指令916是使用传输介质经由耦合器972(例 如,对等耦合器)传输或接收至装置970。术语“传输介质”应被视为包括 能够储存、编码或携带指令916以供机器900执行并且包括数字或模拟通信 信号的任何无形介质或用于方便此类软件的通信的无形介质。
另外,机器可读介质938是非暂时性的(换言之,不具有任何暂时性信 号),因为其并未具体实施传播信号。然而,将机器可读介质938标记为“非 暂时性”不应被解释为意指该介质无法移动;介质938应被视为可从一个物 理位置传输至另一位置。另外,因为机器可读介质938是有形的,所以介质 938可被视为机器可读装置。
以下枚举的实施例描述了本文所讨论的方法、机器可读介质和系统(例 如,机器、装置或其它设备)的不同实施例。
第一实施例提供了一种方法,其包括:由与基于云的应用相关联的服务 器计算机经由网络从与预置应用相关联的请求装置接收对与由该基于云的 应用提供的应用服务相关联的至少一个特征的请求,该请求包括请求者标识 符和请求特征标识符;由与该基于云的应用相关联的该服务器计算机基于该 请求者标识符确定该请求的版本标识符;由与该基于云的应用相关联的该服 务器计算机访问用于该基于云的应用的指令,该指令包括与多个版本标识符 相关联的指令,每个版本标识符与至少一个特征标识符相关联;由与该基于 云的应用相关联的该服务器计算机解析用于该基于云的应用的指令以确定 与该请求的该版本标识符以及该请求特征标识符相关联的指令子集;由与该 基于云的应用相关联的该服务器计算机执行与该请求的该版本标识符以及 该请求特征标识符相关联的该指令子集;以及由与该基于云的应用相关联的 该服务器计算机经由该网络向该请求装置返回响应,该响应指示已经执行与 由该基于云的应用提供的该应用服务相关联的至少一个特征。
第二实施例提供根据第一实施例的方法,该方法进一步包括:在用于该 基于云的应用的该指令中储存与新特征标识符和新版本标识符相关联的新 指令子集。
第三实施例提供根据先前描述的实施例中的任一项的方法,该方法进一 步包括:在用于该基于云的应用的该指令中储存与对具有现有特征标识符和 现有版本标识符的现有特征的至少一个增强版相关联的新指令子集,且将该 新指令子集与该现有特征标识符和新版本标识符相关联。
第四实施例提供根据先前描述的实施例中的任一项的方法,其中该至少 一个增强版包括对与该现有特征相关联的指令的错误修正或与该现有特征 相关联的该指令的附加功能。
第五实施例提供根据先前描述的实施例中的任一项的方法,其中更新与 该现有版本标识符相关联的现有特征标识符以指示该现有特征在具有后续 版本标识符的指令中已过时。
第六实施例提供根据先前描述的实施例中的任一项的方法,其中基于该 请求者标识符确定该请求的该版本标识符包括比较该请求者标识符与数据 库中的请求者标识符以确定与该请求者标识符相关联的版本标识符。
第七实施例提供根据先前描述的实施例中的任一项的方法,其中经由超 文本传输协议(HTTPS)接收该请求。
第八实施例提供一种与基于云的应用相关联的服务器计算机,该服务器 计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的计 算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该一 个或多个处理器执行以使得该服务器计算机执行包括以下项的操作:经由网 络从与预置应用相关联的请求装置接收对与由该基于云的应用提供的应用 服务相关联的至少一个特征的请求,该请求包括请求者标识符和请求特征标 识符;基于该请求者标识符确定该请求的版本标识符;访问用于该基于云的 应用的指令,该指令包括与多个版本标识符相关联的指令,每个版本标识符 与至少一个特征标识符相关联;解析用于该基于云的应用的该指令以确定与 该请求的版本标识符以及该请求特征标识符相关联的指令子集;执行与该请 求的该版本标识符以及该请求特征标识符相关联的该指令子集;以及经由该 网络向该请求装置返回响应,该响应指示已经执行与由该基于云的应用提供 的该应用服务相关联的至少一个特征。
第九实施例提供一种与基于云的应用相关联的服务器计算机,该服务器 计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的计 算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该一 个或多个处理器执行以使得该服务器计算机执行包括根据先前描述的实施 例中的任一项的操作,该操作进一步包括:在用于该基于云的应用的该指令 中储存与新特征标识符和新版本标识符相关联的新指令子集。
第十实施例提供一种与基于云的应用相关联的服务器计算机,该服务器 计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的计 算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该一 个或多个处理器执行以使得该服务器计算机执行包括根据先前描述的实施 例中的任一项的操作,该操作进一步包括:在用于该基于云的应用的该指令 中储存与对具有现有特征标识符和现有版本标识符的现有特征的至少一个 增强版相关联的新指令子集,且将该新指令子集与该现有特征标识符和新版 本标识符相关联。
第十一实施例提供一种与基于云的应用相关联的服务器计算机,该服务 器计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的 计算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该 一个或多个处理器执行以使得该服务器计算机执行包括根据先前描述的实 施例中的任一项的操作,其中该至少一个增强版包括对与该现有特征相关联 的指令的错误修正或与该现有特征相关联的该指令的附加功能。
第十二实施例提供一种与基于云的应用相关联的服务器计算机,该服务 器计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的 计算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该 一个或多个处理器执行以使得该服务器计算机执行包括根据先前描述的实 施例中的任一项的操作,其中更新与该现有版本标识符相关联的现有特征标 识符以指示该现有特征在具有后续版本标识符的指令中已过时。
第十三实施例提供一种与基于云的应用相关联的服务器计算机,该服务 器计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的 计算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该 一个或多个处理器执行以使得该服务器计算机执行包括根据先前描述的实 施例中的任一项的操作,其中基于该请求者标识符确定该请求的版本标识符 包括比较该请求者标识符与数据库中的请求者标识符以确定与该请求者标 识符相关联的版本标识符。
第十四实施例提供一种与基于云的应用相关联的服务器计算机,该服务 器计算机包括:一个或多个硬件处理器;以及与该一个或多个处理器耦合的 计算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该 一个或多个处理器执行以使得该服务器计算机执行包括根据先前描述的实 施例中的任一项的操作,其中经由安全超文本传输协议(HTTPS)接收该请 求。
第十五实施例提供了一种非暂时性计算机可读介质,其包括储存在其上 的指令,该指令可由至少一个处理器执行以使得计算装置执行包括以下项的 操作:经由网络从与预置应用相关联的请求装置接收对与由基于云的应用提 供的应用服务相关联的至少一个特征的请求,该请求包括请求者标识符和请 求特征标识符;基于该请求者标识符确定该请求的版本标识符;访问用于该 基于云的应用的指令,该指令包括与多个版本标识符相关联的指令,每个版 本标识符与至少一个特征标识符相关联;解析用于该基于云的应用的指令以 确定与该请求的该版本标识符以及该请求特征标识符相关联的指令子集;执 行与该请求的该版本标识符以及该请求特征标识符相关联的指令子集;以及 经由该网络向该请求装置返回响应,该响应指示已经执行与由该基于云的应 用提供的该应用服务相关联的至少一个特征。
第十六实施例提供了一种非暂时性计算机可读介质,其包括储存在其上 的指令,该指令可由至少一个处理器执行以使得计算装置执行根据先前描述 的实施例中的任一项的操作,该操作进一步包括:在用于该基于云的应用的 该指令中储存与新特征标识符和新版本标识符相关联的新指令子集。
第十七实施例提供了一种非暂时性计算机可读介质,其包括储存在其上 的指令,该指令可由至少一个处理器执行以使得计算装置执行根据先前描述 的实施例中的任一项的操作,该操作进一步包括:在用于该基于云的应用的 该指令中储存与对具有现有特征标识符和现有版本标识符的现有特征的至 少一个增强版相关联的新指令子集,且将该新指令子集与该现有特征标识符 和新版本标识符相关联。
第十八实施例提供了一种非暂时性计算机可读介质,其包括储存在其上 的指令,该指令可由至少一个处理器执行以使得计算装置执行根据先前描述 的实施例中的任一项的操作,其中该至少一个增强版包括对与该现有特征相 关联的指令的错误修正或与该现有特征相关联的该指令的附加功能。
第十九实施例提供了一种非暂时性计算机可读介质,其包括储存在其上 的指令,该指令可由至少一个处理器执行以使得计算装置执行根据先前描述 的实施例中的任一项的操作,其中更新与该现有版本标识符相关联的该该现 有特征标识符以指示该现有特征在具有后续版本标识符的指令中已过时。
第二十实施例提供了一种非暂时性计算机可读介质,其包括储存在其上 的指令,该指令可由至少一个处理器执行以使得计算装置执行根据先前描述 的实施例中的任一项的操作,其中基于该请求者标识符确定该请求的版本标 识符包括比较该请求者标识符与数据库中的请求者标识符以确定与该请求 者标识符相关联的该版本标识符。
贯穿本说明书,复数形式的实例可实施描述为单个实例的组件、操作或 结构。虽然一种或多种方法的个别操作被说明并且描述为单独操作,但一个 或多个个别操作可同时执行,且并不要求该操作以所图示的顺序执行。在示 例性配置中呈现为单独组件的结构和功能性可实施为组合结构或组件。类似 地,呈现为单个组件的结构和功能性可实施为单独组件。这些和其它变型、 修改、添加及改进落在本文的主题的范围内。
虽然已经参考具体示例性实施例描述了本发明主题的概述,但在不脱离 本发明的实施例的更广范围的情况下可对这些实施例做出不同的修改和改 变。
足够详细地描述本文所说明的实施例以使本领域技术人员能够实践所 公开的教导。可使用其它实施例并从本文所说明的实施例中推导其它实施 例,使得在不脱离本发明的范围的情况下可做出结构和逻辑替换和改变。具 体实施方式因此不应被视为限制意义,且不同实施例的范围仅是由所附权利 要求书连同此类权利要求书所享有的全部等效范围而界定。
如本文所使用,术语“或”可被解释为包括或排除意义。另外,可对本 文描述为单个实例的资源、操作或结构提供复数形式的实例。另外,不同资 源、操作、模块、引擎和数据储存区之间的界线在某种程度上是任意的,且 特定操作是在具体说明性配置的背景中进行说明。还设想到功能性的其它分 配且该分配可落在本发明的不同实施例的范围内。一般来说,在示例性配置 中呈现为单独资源的结构和功能性可实施为组合结构或资源。类似地,呈现 为单个资源的结构和功能性可实施为单独资源。这些和其它变型、修改、添 加和改进落在由所附权利要求书表示的本发明的实施例的范围内。因此,本 说明书和附图应认为是说明性的而非限制性意义。

Claims (17)

1.一种由与基于云的应用相关联的服务器计算机执行的方法,其包括:
在用于该基于云的应用的指令中储存与具有现有特征标识符和现有版本标识符的现有特征的至少一个增强版相关联的新指令子集,且将该新指令子集与该现有特征标识符和新版本标识符相关联;
由与该基于云的应用相关联的服务器计算机经由网络从与预置应用相关联的请求装置接收对与由该基于云的应用提供的应用服务相关联的至少一个特征的请求,该请求包括请求者标识符和请求特征标识符;
由与该基于云的应用相关联的服务器计算机基于该请求者标识符确定该请求的版本标识符;
由与该基于云的应用相关联的服务器计算机访问用于该基于云的应用的指令,该指令包括与多个版本标识符相关联的指令,每个版本标识符与至少一个特征标识符相关联;
由与该基于云的应用相关联的服务器计算机解析用于该基于云的应用的指令以确定与该请求的版本标识符以及该请求特征标识符相关联的指令子集;
由与该基于云的应用相关联的服务器计算机执行与该请求的版本标识符以及该请求特征标识符相关联的该指令子集;以及
由与该基于云的应用相关联的服务器计算机经由该网络向该请求装置返回响应,该响应指示已经执行与由该基于云的应用提供的该应用服务相关联的至少一个特征。
2.如权利要求1所述的方法,其进一步包括:
在用于该基于云的应用的该指令中储存与新特征标识符和新版本标识符相关联的新指令子集。
3.如权利要求1所述的方法,其中该至少一个增强版包括对与该现有特征标识符相关联的新指令子集的错误修正或与该现有特征标识符相关联的新指令子集的附加功能。
4.如权利要求1所述的方法,其中更新与该现有版本标识符相关联的该现有特征标识符以指示该现有特征在具有后续版本标识符的指令中已过时。
5.如权利要求1所述的方法,其中基于该请求者标识符确定该请求的版本标识符包括比较该请求者标识符与数据库中的请求者标识符以确定与该请求者标识符相关联的版本标识符。
6.如权利要求1所述的方法,其中经由安全超文本传输协议(HTTPS)接收该请求。
7.一种与基于云的应用相关联的服务器计算机,其包括:
一个或多个硬件处理器;以及
与该一个或多个处理器耦合的计算机可读介质,该计算机可读介质包括储存在其上的指令,该指令可由该一个或多个处理器执行以使得该服务器计算机执行包括以下的操作:
在用于该基于云的应用的指令中储存与具有现有特征标识符和现有版本标识符的现有特征的至少一个增强版相关联的新指令子集,且将该新指令子集与该现有特征标识符和新版本标识符相关联;
经由网络从与预置应用相关联的请求装置接收对与由该基于云的应用提供的应用服务相关联的至少一个特征的请求,该请求包括请求者标识符和请求特征标识符;
基于该请求者标识符确定该请求的版本标识符;
访问用于该基于云的应用的指令,该指令包括与多个版本标识符相关联的指令,每个版本标识符与至少一个特征标识符相关联;
解析用于该基于云的应用的该指令以确定与该请求的版本标识符以及该请求特征标识符相关联的指令子集;
执行与该请求的版本标识符以及该请求特征标识符相关联的指令子集;以及
经由该网络向该请求装置返回响应,该响应指示已经执行与由该基于云的应用提供的该应用服务相关联的至少一个特征。
8.如权利要求7所述的服务器计算机,所述操作进一步包括:
在用于该基于云的应用的指令中储存与新特征标识符和新版本标识符相关联的新指令子集。
9.如权利要求7所述的服务器计算机,其中该至少一个增强版包括对与该现有特征标识符相关联的该新指令子集的错误修正或与该现有特征标识符相关联的该该新指令子集的附加功能。
10.如权利要求7所述的服务器计算机,其中更新与该现有版本标识符相关联的该现有特征标识符以指示该现有特征在具有后续版本标识符的指令中已过时。
11.如权利要求7所述的服务器计算机,其中基于该请求者标识符确定该请求的版本标识符包括比较该请求者标识符与数据库中的请求者标识符以确定与该请求者标识符相关联的版本标识符。
12.如权利要求7所述的服务器计算机,其中经由安全超文本传输协议(HTTPS)接收该请求。
13.一种非暂时性计算机可读介质,其包括储存在其上的指令,该指令可由至少一个处理器执行以使得计算装置执行包括以下的操作:
在用于基于云的应用的指令中储存与具有现有特征标识符和现有版本标识符的现有特征的至少一个增强版相关联的新指令子集,且将该新指令子集与该现有特征标识符和新版本标识符相关联;
经由网络从与预置应用相关联的请求装置接收对与由基于云的应用提供的应用服务相关联的至少一个特征的请求,该请求包括请求者标识符和请求特征标识符;
基于该请求者标识符确定该请求的版本标识符;
访问用于该基于云的应用的指令,该指令包括与多个版本标识符相关联的指令,每个版本标识符与至少一个特征标识符相关联;
解析用于该基于云的应用的指令以确定与该请求的版本标识符以及该请求特征标识符相关联的指令子集;
执行与该请求的版本标识符以及该请求特征标识符相关联的指令子集;以及
经由该网络向该请求装置返回响应,该响应指示已经执行与由该基于云的应用提供的该应用服务相关联的至少一个特征。
14.如权利要求13所述的非暂时性计算机可读介质,所述操作进一步包括:
在用于该基于云的应用的该指令中储存与新特征标识符和新版本标识符相关联的新指令子集。
15.如权利要求13所述的非暂时性计算机可读介质,其中该至少一个增强版包括对与该现有特征标识符相关联的新指令子集的错误修正或与该现有特征标识符相关联的新指令子集的附加功能。
16.如权利要求13所述的非暂时性计算机可读介质,其中更新与该现有版本标识符相关联的现有特征标识符以指示该现有特征在具有后续版本标识符的指令中已过时。
17.如权利要求13所述的非暂时性计算机可读介质,其中基于该请求者标识符确定该请求的版本标识符包括比较该请求者标识符与数据库中的请求者标识符以确定与该请求者标识符相关联的版本标识符。
CN201611247385.7A 2016-05-20 2016-12-29 用于云和预置应用集成的兼容框架 Active CN107402779B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/160,084 US10560520B2 (en) 2016-05-20 2016-05-20 Compatibility framework for cloud and on-premise application integration
US15/160,084 2016-05-20

Publications (2)

Publication Number Publication Date
CN107402779A CN107402779A (zh) 2017-11-28
CN107402779B true CN107402779B (zh) 2021-10-26

Family

ID=60330664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611247385.7A Active CN107402779B (zh) 2016-05-20 2016-12-29 用于云和预置应用集成的兼容框架

Country Status (2)

Country Link
US (1) US10560520B2 (zh)
CN (1) CN107402779B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10873628B2 (en) * 2017-06-13 2020-12-22 Oracle International Corporation System and method for non-intrusive context correlation across cloud services
US10514935B2 (en) * 2017-10-31 2019-12-24 Salesforce.Com, Inc. System and method for third party application enablement
US10572495B2 (en) * 2018-02-06 2020-02-25 Cisco Technology Inc. Network assurance database version compatibility
US10904115B2 (en) * 2018-11-16 2021-01-26 Cisco Technology, Inc. Anonymous integration of cloud based applications and on-premise network analytics
EP3699754A1 (en) * 2019-02-20 2020-08-26 Hewlett-Packard Enterprise Development LP Feature-based reporting of software versions
US11226839B2 (en) 2019-02-27 2022-01-18 International Business Machines Corporation Maintaining compatibility for complex functions over multiple machine generations
US11313999B2 (en) * 2019-05-22 2022-04-26 Raytheon Company Optical system having integrated primary mirror baffle and shutter mechanism
AU2020353720A1 (en) * 2019-09-25 2022-03-31 Commonwealth Scientific And Industrial Research Organisation Cryptographic services for browser applications
CN112579099A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 代码的部署方法、装置、存储介质及电子设备
US11093236B1 (en) * 2020-03-26 2021-08-17 Atlassian Pty Ltd. Systems and methods for delivering updates to client devices
US11349961B2 (en) * 2020-10-08 2022-05-31 Sage Intacct, Inc. Chained adapters for multiple versions of application programming interface
US11553092B2 (en) * 2021-06-14 2023-01-10 Cisco Technology, Inc. Cloud migration utilities for telephony services
CN115150242B (zh) * 2022-06-23 2023-04-25 北京青云科技股份有限公司 一种PaaS应用的部署方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101361385A (zh) * 2005-11-30 2009-02-04 意大利电信股份公司 用于更新在移动通信终端中的应用的方法和系统
CN102165430A (zh) * 2008-09-29 2011-08-24 微软公司 由单组因特网主控机器提供的多个并行用户体验
US9223599B1 (en) * 2012-03-30 2015-12-29 Zynga Inc. Client-side server for client-side scripting languages
CN105283847A (zh) * 2013-03-15 2016-01-27 微软技术许可有限责任公司 本地存储数据版本控制
CN105635051A (zh) * 2014-10-29 2016-06-01 腾讯科技(深圳)有限公司 数据交互方法及装置、系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2363866B (en) * 2000-05-31 2002-11-06 Intamission Ltd Data processing apparatus, method and system
US7949999B1 (en) * 2007-08-07 2011-05-24 Amazon Technologies, Inc. Providing support for multiple interface access to software services
US8341603B2 (en) * 2008-10-03 2012-12-25 Microsoft Corporation Test case management controller web access
US9158897B2 (en) * 2008-11-15 2015-10-13 Adobe Systems Incorporated Methods and systems for distributing right-protected asset
US9672022B2 (en) * 2010-06-23 2017-06-06 Microsoft Technology Licensing, Llc Applications including multiple experience modules
US9081761B1 (en) * 2010-08-31 2015-07-14 The Mathworks, Inc. Mistake avoidance and correction suggestions
US9350819B2 (en) * 2011-07-21 2016-05-24 Microsoft Technology Licensing, Llc Centralized service for distributed service deployments
US9154540B2 (en) * 2012-12-11 2015-10-06 Microsoft Technology Licensing, Llc Smart redirection and loop detection mechanism for live upgrade large-scale web clusters
WO2014094468A1 (zh) * 2012-12-17 2014-06-26 北京奇虎科技有限公司 实现浏览器数据同步的系统、方法及浏览器客户端
US9524157B2 (en) * 2013-08-06 2016-12-20 Salesforce.Com, Inc. Providing an improved web user interface framework for building web applications
US20150100952A1 (en) * 2013-10-09 2015-04-09 Sap Ag Runtime Version Access Infrastructure
US11102313B2 (en) * 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10341409B2 (en) * 2016-05-09 2019-07-02 International Business Machines Corporation Software version control without affecting a deployed container

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101361385A (zh) * 2005-11-30 2009-02-04 意大利电信股份公司 用于更新在移动通信终端中的应用的方法和系统
CN102165430A (zh) * 2008-09-29 2011-08-24 微软公司 由单组因特网主控机器提供的多个并行用户体验
US9223599B1 (en) * 2012-03-30 2015-12-29 Zynga Inc. Client-side server for client-side scripting languages
CN105283847A (zh) * 2013-03-15 2016-01-27 微软技术许可有限责任公司 本地存储数据版本控制
CN105635051A (zh) * 2014-10-29 2016-06-01 腾讯科技(深圳)有限公司 数据交互方法及装置、系统

Also Published As

Publication number Publication date
CN107402779A (zh) 2017-11-28
US20170339221A1 (en) 2017-11-23
US10560520B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
CN107402779B (zh) 用于云和预置应用集成的兼容框架
US11228546B2 (en) Processing media content in a messaging system
CN107003872B (zh) 集中客户端应用管理
US11907938B2 (en) Redirecting to a trusted device for secured data transmission
US20190268288A1 (en) Generating conversational nodes for a system function
US11888799B2 (en) Adding images via MMS to a draft document
US20180113584A1 (en) Processing actions for apparatuses in specified geolocation
US11003702B2 (en) Snippet generation system
US20160335312A1 (en) Updating asset references
US10402215B2 (en) Find group distribute execute model
US11663617B2 (en) Dynamic file generation system
US10846207B2 (en) Test adaptation system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant