首页> 中国专利> 用于对网络群的数据分发中的二阶段提交的方法和设备

用于对网络群的数据分发中的二阶段提交的方法和设备

摘要

本发明揭示了在网络群(web farm)的成员之间同步数据的各种方法和设备。网络群可以包括一个主要成员和至少一个后备成员。网络群的成员可以包括用于确定新的数据是否对网络群可用的模块(602);当新的数据可用时将网络群置于准备状态的模块(604);当网络群的成员成功接收新的数据时将网络群置于提交状态的模块;以及当网络群中任一成员未成功接收新的数据时,将网络置于中断状态的模块(606)。

著录项

  • 公开/公告号CN1646930A

    专利类型发明专利

  • 公开/公告日2005-07-27

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN03808754.5

  • 发明设计人 P·纽耶恩;

    申请日2003-02-19

  • 分类号G01R31/08;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人李家麟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 16:21:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-11

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20091202 终止日期:20190219 申请日:20030219

    专利权的终止

  • 2009-12-02

    授权

    授权

  • 2005-09-21

    实质审查的生效

    实质审查的生效

  • 2005-07-27

    公开

    公开

说明书

                         背景

I技术领域

本发明涉及数据通讯,尤其涉及新颖的和改进的网络群数据同步系统。

II技术背景

网络群被归为大容量网站,因为它通过在几个网络群“成员”间分配处理任务来提高网站的可用性。

图1是现有技术网络群100的示意图,这个网络群包括成员1...n。每个成员被配置为作为一台网络服务器运行,就如同在该领域公知的那样,并且它可以包括用于数据的存储和检取的处理器102和数据库104。

在实施网络群时一个难题是保证数据文件在网络群的所有成员间被同步。一般说来,新的数据通过网关106同时被呈现给网络群100中的所有成员。为了使网站有效地运行,呈现给网络群的数据必须被存储在单个成员上,以在成员之间保持数据完整性。例如,被呈现给网络群的新数据表明新的用户将被存入用户数据库,网络群的所有成员必须在新的处理发生之前存储新的用户数据。如果网络群中的任一成员未能存储新的数据,可能会危及任何将来处理的完整性。现有技术认识到数据同步的重要性,并尝试保证分布数据的完整性。例如,现有技术网络群可以采用延时来保证网络群中的所有成员获得并存储了新数据。然而,这种方法有一定的缺点。这样的延时必然会对网络群中个别成员的可用性造成限制,由此在总体上造成对所支持的网站的限制。此外,在延时期间,新数据被存储在网络群的一些成员上,而其他的成员被挂起。因此,网络群在这个时间周期内没有被同步。只要有至少一个成员未能同步新数据,网络群就可能需要重置(roll back),重置是将成员上的数据恢复到先前已知的状态的过程。重置网络群既冗长又有潜在的错误倾向,是非理想的程序。

                           发明内容

本发明揭示了在网络群成员之间同步数据的方法和设备。在一个实施例中,一种方法包括确定新数据是否对网络群可用;当新数据可用时,将网络群置于准备状态;当网络群的成员成功接收新的数据时将网络群置于提交状态;以及当网络群中任一成员未成功接收新的数据时,将网络置于中断状态。

此外,本发明揭示了在网络群的成员之间同步数据的方法,包括指示网络群的成员接收新数据;确定网络群中是否有任一成员没有接收到新数据;如果网络群的所有成员都接收到新数据,则指示网络群成员存储新数据;以及如果网络群中任一成员未能接收到新数据,指示网络群成员回复到先前的数据集。

本发明也揭示了同步的网络群。一方面,网络群可以包括被配置成从应用程序下载服务器接收数据的主网络群成员;以及至少一个也被配置成从应用程序下载服务器接收数据的后备网络群成员。主成员可以被配置成确定新数据是否对网络群可用;当新数据可用时将网络群置于准备状态;当网络群成员成功接收到新数据时将网络群置于提交状态;以及当网络群中任一成员未成功接收新的数据时,将网络置于中断状态。

                         附图简述

结合附图阅读以下详细描述,将更清楚本发明的特点、目的和优势。在整个附图中,相同的标号标识相应的部件,其中:

图1是现有技术网络群的示意图;

图2是按照本发明原理配置的网络群的一方面的示意图;

图3是按照本发明原理配置的主成员的一方面的示意图;

图4是按照本发明原理配置的后备成员的一方面的示意图;

图5是按照本发明原理配置的存储成员的一方面的示意图;

图6是按照本发明原理的网络群同步的一方面的流程图;

图7是按照本发明原理的网络群同步的一方面的状态图;以及

图8是按照本发明原理的以故障排除为特征的网络群的一方面的示意图。

                      具体实施方式

本领域的技术人员会认识到以下关于本发明的描述仅仅是说明性的,而非以任何方式加以限制。那些可以受益于本发明的技术人员的将很容易想象出本发明的其他实施例。

可预期的是,本发明可以在不同的计算机和机器可读的数据结构中实施。而且,可预期的是,实施本发明的数据结构将在计算机和机器可读的媒体之间传送,并通过使用本领域公知的标准协议在通讯系统之间传输。

本发明进一步涉及其上存储有本发明实施例的机器可读媒体。可预期的是,任一适合存储涉及关于本发明的指令的媒体都在本发明的范围以内。例如,这样的媒体可以采用磁性媒体、光学媒体或半导体媒体的形式。

本发明可以通过使用流程图来描述。通常会展示本发明一个实施例的单个例子。然而,如同本领域技术人员理解的那样,为了满足这里所描述的需要,这里所描述的协议、过程和程序可能会不断地或每当必须时被重复。因而,通过使用流程图对本发明的表现不应被用于限制本发明的范围。

本发明所揭示的设备和方法的示例性实施例可以在这里被揭示。本发明使用“示例性”一词指“充当示例、实例或说明”。这里描述为示例性的任何实施例不必被理解为比这里所描述的其他实施例更为优选或有利。

示例性结构

图2是按照本发明原理配置的网络群200的一方面的示意图。这个网络群200可以包括一个主成员202和至少一个后备成员204,它们的配置将在下面做更详细的描述。这个网络群还可以包括至少一个存储成员206。

可预期的是,网络群的各个成员可以包括本领域公知的硬件和软件,其用于运行诸如Microsoft Windows、UNIX、LINUX等操作系统或任何其他理想的操作系统,并且最好被配置成运行用Java语言写成的应用程序。成员机器可以包括独立式计算机、多CPU机器、或和其他服务器一起存放在架上的机架式服务器。

网络群200的成员也会被配置成使用本领域所公知硬件和软件来管理诸如Oracle等数据库。在示例性实施例中,网络群200的成员可以被配置成存储和检取以可扩展标记语言(XML)格式接收到的数据。

网络群200的成员最好被配置成从分发服务器(DS)300接收数据。DS 300可以被配置成起到网络群200和使用网络群的公司的内部网络之间的处理网关的作用。为了提供安全处理能力,网络群200和DS 300可以通过使用了本领域公知的安全协议的防火墙来通信,诸如虚拟专用网上安全套接字层协议(SSLover VPN)。

现在将更详细地揭示网络群200中的每个成员。

主成员

在本发明的网络群200中,可预期的是会有一个负责网络群各个成员间同步的主成员202。由于网络群中的每个成员应该表示数据状态,因此主成员202起到分发管理器的作用,并保证网络群的所有成员有数据集。在示例性的实施例中,主成员202保证所有的成员在任一时刻有相同的XML和应用程序包文件。

图3显示了按照本发明原理配置的主成员的功能框图。主成员202包括主同步管理器(SyncMgr)模块302,其用于在每个网络群成员中控制所有数据的调度和同步,所述数据诸如XML和包文件。SyncMgr模块302可以被编程为Java应用程序。为了实现可靠性,SyncMgr模块可以使用分开的Java虚拟机在每个网络群机器上运行。主SyncMgr 302也可以在操作上与网络群200的其他成员相耦合,用于提供主要的同步控制,这将在下面作出更为详细的描述。

主管理器202还可以包括应用程序下载客户端(AdaClt)模块304,用于从图2的DS 300下载数据。AdaClt模块304最好通过防火墙302与DS 300通信,经HTTPS接收数据,诸如XML和包文件。AdaClt模块304可以被编程为Java应用程序。

主管理器202可以也包括分发客户端(DistClt)servlet 306,用于与AdaClt模块304的连接。DistClt servlet306可以被网络群成员用于激活AdaClt304,以初始化下载过程并且将数据下载到数据库308。DistClt servlet 306可以包括被配置成在启动时开始工作的Java servlet引擎。

图4显示了按照本发明原理配置的后备成员204的功能框图。后备成员204也包括上述的SycMgr模块402。然而,后备的SycMgr 204最好在操作上与网络群200地其他成员相耦合,以提供后备同步控制,这将在下面作更详细地描述。

后备成员204还可以包括如上述的AdaClt模块304和DisClt servlet 306,用于从DS 300接收数据。后备模块204也包括用于存储和检取从DS 300接收到的数据的数据库,且这个模块最好被配置成在主成员202的控制下存储从DS300接收到的数据。

图5显示了按照本发明原理配置的存储成员206的功能框图。存储成员206最好被配置成在主成员202的控制下存储从DS 300接收到的数据。

存储成员206可以包括如上述的AdaClt模块304、DisClt servlet 306和数据库308。

现在要揭示本发明网络群操作的各个方面。

操作

SyncMgr模块被配置成实行二阶段提交算法,用以保证网络群成员同时从分发中心接收到新的数据。

图6是按照本发明原理的数据同步一方面的流程图。图6的过程从动作600开始,在这里指示网络群的成员获取新数据。在本发明的一个方面中,这个动作可以由主成员来完成,它指示网络群的其他成员从分发服务器取得数据。

这个过程在查询602处继续,在此确定是否有任何网络群成员在它们的尝试中未能接收到新的数据。如果网络群成员都能接收到新数据,则可以在动作604处指示网络群成员存储新的数据。

然而,如果有任何网络群成员未能适当地接收到新的数据,可以在动作606处指示网络群的所有成员回复到先前的数据集。这样,如果网络群的任一成员未能适当地接收到新的数据,则所有的网络群成员可能要回复到现有的数据集。

因此,图6的过程保证了:不是所有的网络群成员接收到新的数据,就是,如果任一网络群成员未能接收到新的数据,则网络群成员无一使用新的数据。这样,图6的过程可以排除网络群成员间的任何数据矛盾。

图7是按照本发明的数据同步另一方面的状态图。图7的过程从网络群被置于准备状态开始。一方面,如上所揭示的主成员通过要求每个网络群成员下载或接收来自分发中心的数据,从而起到分发管理器的作用。可预期的是,分发管理器可能周期性地检查新数据。当新数据可用时,分发管理器就可以将网络群置于准备状态。

在准备状态期间,可预期的是每个网络群成员可以将新接收到的数据存储在临时储存库,所述数据诸如新的数据库文件等。

当仍在准备状态中时,每个网路群成员可以将新数据的存储状态通知分发管理器,即,它们各自的接收过程是否成功。可预期的是,分发管理器需要等待预定的时间,以在准备状态期间得到所有网络群成员的响应。

如果所有的网络群成员所响应的指示是新数据成功地被存储,那么网络群可以转入提交状态。在提交状态中,分发管理器可以要求网络群成员将新数据变成它们永久的数据。这可以由分发管理器通过要求将在临时储存库中新存储的数据变成当前数据来完成。

如果有任何网络群成员指示新数据没有被成功存储,网络群就可以转入中断状态。在中断状态中,分发管理器可以执行恢复动作,在恢复动作中准备状态被中断,并且临时数据不会被变成当前数据。另外,如果任何网络群成员未能在预定的时间中响应,分发管理器可以判定准备状态时间到了,并将网络群置于中断状态。

在主成员故障的情况下,本发明的网络群也可以提供故障排除支持。图8是被配置成提供按照本发明原理的故障排除支持的网络群800的框图。图8包括一个主成员202以及一个或多个后备成员204,每个成员实质上都如上所示和如上所述地被配置。

图8进一步显示主成员和后备成员的SyncMgr可以在操作上与故障排除支持相耦合。如上面所揭示的,网络群中只有一个主SyncMgr,然而可以有一个或多个后备SyncMgr。主SyncMgr的标识可以通过诸如固线和预编程等方法来预先确定,从而保证在起始时就有主网络成员存在。

一个后备成员204可以被配置成监视主成员202。在示例性实施例中,后备成员204的SyncMgr模块可以进行周期性的检查,以保证主管理器202可用。如果后备成员204确定主成员202不可用,后备管理器204就可以推断主管理器202故障。在进一步的示例性实施例中,后备管理器在推断主管理器故障前,可以作预定次数连续的不成功尝试。

在主成员故障的情况下,后备管理器可以通过成为主成员来控制网络群。

图8进一步显示了有多个后备成员的情况下,后备成员可以被配置成在N个成员的链结构中互相监视,其中N是网络群中存在的后备成员的数量。在多次故障的情况下,一条线上的下一个后备成员会承担主成员的角色。因此,本发明的网络群提供了N+1等级的冗余,包括初始的主管理器。

在示例性实施例中,记录在配置文件中的主机名称顺序可以确定哪个后备SyncMgr将接管主要任务。

此外,各种站点特定的信息可以被包含在配置文件中,以供所揭示的网络群的模块使用。

提供前面所述的包括较佳实施例在内的不同实施例是为了使本领域的技术人员获得或使用本发明的实施例。对本领域的技术人员来说,对这些实施例的各种修改是显而易见的,并且无须使用发明能力,这里所的定义的一般性原理可以被应用到其它实施例上。因此,本发明并不局限于所提供的各实施例,而是符合与所揭示的原理和新颖特征相一致的最宽范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号