一种被配置为用于保持数据一致性的反应器和方法。所述反应器包括被配置为用于接收更新信息的收件箱。应用操作被配置为用于将更新信息应用于预状态以基于更新信息确定激励状态。响应状态根据所述激励状态得出。响应状态是从反应器看来外部可见的唯一状态。
【技术实现步骤摘要】
本专利技术涉及编程模型,更具体地说,涉及用于松耦合应用的同步 和异步的面向数据编程模型的系统和方法。
技术介绍
在当今的web应用中,浏览器端表示逻辑、服务器端"商业,,逻 辑以及用于持久数据访问和询问的逻辑之间的传统边界迅速变得模 糊。这种边界的模糊在所谓的web混用(mash-up)中尤为显著,所 述web混用通常使用异步("AJAX,,)逻辑在浏览器中一同呈现大量 数据源和表示组件。目前,必须使用数据访问语言、服务器端编程模 型和客户端脚本模型的结合对所述应用编程,这意味着为了在不同层之间移动,不得不全部重写程序或者对程序进行重大改变。所涉及的 大量语言还意味着不付出艰苦的努力就无法很好地构建组件。
技术实现思路
在此提供一种用于全领域web应用以及其它松耦合分布式应用 的统一编程模型,即, 一种能够使用相同的基本编程构造来表示应用 逻辑、用户交互作用和应用逻辑的模型。除了提供单一的编程方法之 外,所述模型还简化了分布式web应用的构建、升级和维护。一种被配置为用于建立和升级程序的反应器及其方法,包括收 件箱(inbox),该收件箱被配置为用于对用于添加和删除操作的更新 束(bundle)进行排队。将应用操作配置为用于将预状态与更新束进 行比较以基于由更新束提供的添加和删除来确定激励状态。根据所述 激励状态得出响应状态。从反应器看来,所述响应状态是外部可见的。一种被配置为用于保持数据一致性的反应器及其方法。反应器包括收件箱,该收件箱被配置为用于接收更新信息。应用操作被配置为 用于将更新信息应用于预状态以基于更新信息来确定激励状态。根据 所述激励状态得出响应状态。所述响应状态是从反应器看来外部可见 的唯一状态。一种在包括计算机可读程序的计算机可用介质上实现的反应器, 其中,所述计算机可读程序在计算机上执行时保持分布式网络中的数据一致性,所述反应器包括收件箱,该收件箱被配置为用于接收更 新信息;应用操作,被配置为用于将更新信息应用于预状态以基于更 新信息来确定激励状态;以及根据所述激励状态的响应状态。所述响 应状态是由分布式网络系统中的其它部件从反应器看来外部可见的 唯一状态。一种在包括计算机可读程序的计算机可用介质上实现的反应器, 其中,所述计算机可读程序在计算机上执行时保持分布式网络中的数 据一致性,所述反应器包括根据至少一个与反应器关联的关系提供的 反应器状态,其中,根据在分布式网络系统中接收的更新信息来修改 所述反应器状态。至少一个规则被配置为用于保持数据一致性,从而 如果一致性被破坏,则反应失败,以致反应器状态回退到启动反应之 前的状态。一种用于在分布式系统中保持数据一致性的方法,包括将更新 信息输入到反应器,以原子方式(atomically )按照任何定单(order) 执行在所有涉及的反应器中的所有规则,以便确定所述反应器以及反 应中的其它反应器的响应状态和未来状态中的至少一个,如果至少一 个规则无法满足,则以原子方式将所有涉及的反应器回退到它们在所 述反应之前的各个状态,如果反应中的所有规则被满足,则产生用于 其它反应器的更新信息,以在整个分布式系统中保持数据一致性。一种被配置为用于保持数据一致性的系统,包括多个反应器, 设置在分布式系统内,其中,每个反应器包括收件箱,被配置为用 于接收更新信息;应用操作,被配置为用于将更新信息应用于预状态 以基于更新信息确定激励状态;以及响应状态,该响应状态根据所述激励状态得出。响应状态是从反应器看来外部可见的唯一状态,其中,每个反应器处于以下两种情况中的至少一种每个反应器异步响应于 来自包括该反应器本身的其它反应器的更新信息;以及每个反应器同 步响应于从其它反应器写入的数据。通过以下对结合附图阅读的本专利技术示例性实施例的详细描述,这 些和其它特征及优点将变得清楚。附图说明将参照附图公开以下对优选实施例的描述中的细节,在附图中 图1是示出根据本专利技术原理的反应器的示例性核心语法的示图; 图2是示出根据本专利技术原理的可由反应器执行的示例性重写规 则的示图3是示出根据本专利技术原理的反应器的框图/流程图4A和图4B是分别示出根据本专利技术原理的对于其它反应器的异步和同步引用的示图;以及图5是示出根据本专利技术原理的反应器的状态和过渡的状态图; 图6是示出根据本专利技术原理的由反应器执行的操作的框图/流程图;以及图7是根据一示例性实施例的构建反应器的与定单无关的声明 规则集合的框图/流程图。具体实施例方式提供一种称为反应器模型的简单和统一的编程模型的内核。反应 器模型适合建立和升级互联网规模的程序。所述程序表征为松耦合分 布式组件的集合,所述松耦合分布式组件被随时聚集,以生成复合应 用。反应器包括两个主要组件可变状态,其形式为关系的固定集合; 以及代码,其形式为datalog样式的规则的固定集合。响应于外部激 励来执行反应器的代码,所述外部激励采用尝试更新反应器的状态的形式。如在典型的进程演算中那样,反应器模型适应分布式的同步执行 的进程的集合。然而,不同于典型的进程演算,可观察行为是状态序 列。类似地,到反应器的接口仅仅是它的状态,而不是消息通道、端 口或方法的集合。此外,同步和异步组件构建两者均是被允许的。在一实施例中,datalog样式的规则允许按照aspect-like以自然的方式 构建分开指定的功能关注事物,由此简化了分布式应用的构建、升级 和维护。本专利技术的实施例可采取全硬件实施例、全软件实施例或包括硬件 部件和软件部件两者的实施例的形式。在优选实施例中,以软件来实 现本专利技术,所述软件包括但不受限于固件、驻留软件、微码等。此外,本专利技术可采取以下形式可从计算机可用或计算机可读介 质访问的计算机程序产品,其提供由计算机或任何指令执行系统使用 或结合计算机或任何指令执行系统使用的程序代码。为了以下的描 述,计算机可用或计算机可读介质可以是任何可包括、存储、交换、 传播或传输程序的装置,所述程序由指令执行系统、设备或装置使用, 或者结合指令执行系统、设备或装置使用。所述介质可以是电、磁、 光、电磁、红外或半导体系统(或设备或装置)或者传播媒介。计算 机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机 盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和 光盘。光盘的当前示例包括压缩盘-只读存储器(CD-ROM)、压 缩盘-读/写(CD-R/W)和DVD。适合存储和/或执行程序代码的数据处理系统可包括至少 一个处 理器,所述处理器通过系统总线直接或间接地耦合到存储器部件。所 述存储器部件可包括在实际执行程序代码期间使用的本地存储器、海 量存储器以及高速緩冲存储器,所述高速緩冲存储器对至少某些程序 代码提供临时存储,以减少在执行期间从海量存储器取回代码的次 数。可直接或通过中间的1/0控制器将输入/输出或1/0装置(包括但 不受限于键盘、显示器、指点装置等)耦合到系统。还可将网络适配器耦合到系统以使得数据处理系统能够通过中装置。调制解调器、有线调制解调器和以太网卡仅仅是几种当前可用 的网络适配器。反应器模型的介绍反应器模型是对以下三篇文献的主要思想的 综合和延伸同步语言(参见,例如,N.Halbwachs的"Synchronous programmin本文档来自技高网...
【技术保护点】
一种用于在分布式网络中保持数据一致性的反应器,所述反应器包括:收件箱,被配置为用于接收更新信息;应用操作,被配置为用于将更新信息应用于预状态,以基于更新信息确定激励状态;以及响应状态,其根据激励状态来确定,所述响应状态是由分布式网络系统中的其它组件从反应器看来外部可见的唯一状态,从而反应器对更新信息作出反应,并在分布式网络中通过其可见状态来启动其它反应,以保持数据一致性。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:马克N维格曼,约翰H菲尔德,玛利亚克里斯蒂娜V马里奈斯库,布鲁斯D卢卡斯,查尔斯F维查,拉法A霍斯,克里斯蒂安斯蒂芬森,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。