CN103858122B - 保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统 - Google Patents
保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统 Download PDFInfo
- Publication number
- CN103858122B CN103858122B CN201280044493.8A CN201280044493A CN103858122B CN 103858122 B CN103858122 B CN 103858122B CN 201280044493 A CN201280044493 A CN 201280044493A CN 103858122 B CN103858122 B CN 103858122B
- Authority
- CN
- China
- Prior art keywords
- file
- node
- redaction
- replicating
- prestrain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000003362 replicative effect Effects 0.000 claims abstract description 79
- 230000008569 process Effects 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000003860 storage Methods 0.000 claims description 17
- 238000002372 labelling Methods 0.000 claims description 11
- 230000010076 replication Effects 0.000 claims description 4
- 230000006837 decompression Effects 0.000 claims 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000009826 distribution Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 239000002253 acid Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 206010051602 Laziness Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004899 motility Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
说明一种保持被分布至多层客户端/服务器数据处理系统的应用层的多个独立处理从节点(210、210’、210”)部分的复制文件的一致性的方法和系统。复制文件被从主机层的主节点分布。当接收到更新主数据库的更新请求(142)时,复制文件的新版本被首先生成并存储在共享文件系统(160)内。然后,新版本的可用通知被转发至同步从节点,并从那里向所有从节点(210、210’、210”)广播。每个从节点从共享文件系统(160)预加载复制文件的新版本(150)并确认成功结束。当在同步从节点接收到所有确认通知时,预加载完成通知被转发至更新主数据库的主服务器(112),从而承诺数据处理系统使用新版本。此承诺还被向同步从节点转发,其进而承诺复制文件的新版本(150)在旨在为所有从节点(210、210’、210”)跟踪所有复制文件版本的从数据库中的使用。当接收到关于所有从节点(210、210’、210”)的承诺通知时,主服务器(112)确认响应于所接收的更新请求(142)的完成更新。
Description
技术领域
本发明一般涉及数据处理系统,特别涉及分布式客户端/服务器软件结构,更特别地,本发明涉及一种可保持被分布至多个处理节点的高速缓存文件的内容之间的一致性,同时可保证其准实时可用性的方法和系统。
背景技术
在二十世纪八十年代末期出现的客户端/服务器模型是一种多用途且模块化的软件结构,与当时已成规范的集中式、大型机、分时计算相比,其旨在提高易用性、灵活性、互操作性和可扩展性。此后,客户端/服务器结构已经逐步完全地取代了以前的大型机用软件结构。在大型机用软件结构中,所有信息都在中央主机内,用户通过非智能终端与主机互相联系。然而,在各种客户端/服务器结构中,如果仍使用大型机,则大型机仅充当功能强大的服务器的角色,其中,非智能终端也已被智能图形用户界面(GUI)代替,其能够自行处理从服务器接收的数据和向服务器传递的数据。
在现代数据处理系统中,被大量使用并能够支持很多远程客户端的客户端/服务器结构是所谓的三层结构。此结构的一个实施例被用图1说明。主机层100通常围绕数据库系统120建立,数据库系统120可以是任何企业组织、公司和所有者为实施多种商业操作和管理操作而进行的日常操作所必需的所有数据的大或很大的库。数据库主要为关系型数据库,换言之,数据库被关系型数据库管理系统或RDBMS控制。通常,数据库被数据处理系统的管理者通过一台以上的主服务器112从多个GUI 140来管理。管理者一般都是系统的独占用户,其被授权直接更新数据库内容。
如图1所示的示例性的三层系统的中间层或中层是应用层200,组织(数据处理系统的拥有者)的所有特定的软件应用240均被从所述应用层200运行。该特定应用集合,常被称作中间件软件,是组织的专有软件。其用来从其数据库120通过主服务器110为该组织的所有远程客户端服务。远程客户端构成三层结构的第三层300。因此,来自客户端层300的询问被中间层200的特定应用软件基于从主机层100取出的数据进行处理和应答。
在三层结构中,当多名远程客户端需要被服务时,通过在中间层增加独立处理节点以增加数据处理系统的综合处理能力,获得可保持整体性能的系统的可扩展性。因此,应用层200通常包括多个独立处理节点,在以下说明中,独立处理节点被称作从节点210。那么,防止主机层100被来自增多的从节点的过多的数据请求击溃的一种常用手段,是使应用处理240针对只要有必要,就从主数据库取出并存储在每个应用节点的各数据块进行工作。在如图1所示的示例性的系统中,这以应用处理240工作所针对的高速缓存文件250的形式出现,其不会因每次需要时都通过主服务器从主数据库获取而导致长延迟。因此,在如上所述的数据处理系统中,处理能力和应用软件集被根据需要分布即分割至多个节点210,从而达到该系统为所有远程客户端300服务所需的处理能力水平。分布式的高速缓存文件250也是这样。
然而,已经证实:在如上所述的分布式计算环境下,不能同时完全保证某些分布式数据处理系统的期望性质。如图2所示,分布式数据处理系统的这些期望性质40是一致性、可用性、可扩展性。一条被称作CAP定律的定律阐明:分布式系统能够同时满足三个性质中的任意两个性质但不能同时满足所有三个性质。CAP代表一致性、可用性和分割容差(partition tolerance),是由E.Brewer教授于2000年在美国加州大学伯克利分校首次提出的。N.Lynch和S.Gilbert后来在其撰写的论文内论证了该定律,此论文于2002年被发表在ACM SIGACTNews,v.33issue 2,pages 51-59。如上所述,系统的综合处理能力实际是通过分布即分割该至各独立处理节点来获得的,所以CAP分割容差性质是与可扩展性紧密联系的。
在三层结构中,只要被中间层应用使用的数据始终来自主数据库,一致性和可用性41就能够被完全满足。获得这种满足,是以仅因应答来自客户端层300的查询而产生很高的从主机层100到应用层200的下行通信量,以及因应答这些查询而导致主数据库的占有率非常高为代价的。这导致与管理级用户(140)对主数据库的管理和更新相冲突,即使写入数据库的几率通常较低。在客户端层的用户数量增加的情况下,对数据库的访问和数据和应用层之间的网络上的流量明显成为限制性能的瓶颈。
在如图1所示的示例性的3层结构中,为了解决上述数据库占有率以及数据与应用层之间的高流量的问题,通过分布式高速缓存文件250来满足可用性和可扩展性42。然而,在这种情况下,因为高速缓存文件被分布至各独立计算节点,所以不能保证其内容在各从节点之间保持一致,且不能保证其内容与主数据库的内容保持一致。
本发明的目的在于提供一种解决此问题的技术方案。在客户端应用和复制文件被分布至多个独立从节点的三层客户端/服务器结构中,本发明公开一种保持各复制文件内容之间的高度一致性和完全可用性并同时保持相当的可扩展性43的方法和系统。
而且,当参照附图审查下述说明时,本发明的诸多目的、特征和优点对于本领域技术人员来说能够变得显而易见。任何额外的优点均意在被包含在本说明书内。
发明内容
根据一方面,本发明描述了一种保持被分布至多层客户端/服务器数据处理系统的应用层的多个独立处理从节点部分的复制文件的一致性的方法,所述复制文件被从主机层的主节点分布。所述方法包括被用至少数据处理器执行的下述步骤:
-至少在主机层的主服务器处接收更新请求,以更新数据处理系统的主数据库;
-根据所述更新,生成并存储被存储在主机层的共享文件系统内的复制文件的新版本;
-向所有从节点提供复制文件的新版本的可用性通知;
-在每个从节点,启动从共享文件系统预加载复制文件的新版本,而且当预加载结束时,确认预加载成功结束,
·只有当所有从节点确认预加载成功结束时,执行下列步骤:
-在主服务器处接收预加载完成通知;
-从主服务器处用复制文件的新版本的数据来更新主数据库,从而承诺复制文件的新版本被主机层使用;
-承诺复制文件的新版本的在被布置为保持跟踪所有复制文件版本的应用层的从数据库中的使用;
-向主服务器转发所有从节点的承诺通知;
-从主服务器确认响应于接收到的更新请求的更新完成,
·如果不是所有从节点确认预加载成功结束,则在主节点接收错误通知,而不更新主数据库,也不承诺新版本在从数据库中的使用。
由此,本发明提供了一种用于以近似实时的方式响应对信息的查询、并同时在包含响应该查询所需的信息块的可能的大量节点上保证高度一致性的有效方案。因此本发明使得能够以很短的延迟和增强的可扩展性保持高度一致性和可用性。
可选地,本发明可包括以下可选特征中的至少一个:
在本发明中,被称为复制文件的是从主站复制的、并如此被送入从节点以促进相应数据被应用处理所处理的完整文件。他们本身不是从较慢的后端存储器送入高速缓冲存储器的小的数据块。在本发明的背景中,也称为复制品的复制文件实际上是从节点中的应用处理可针对其进行工作而不会经受任何要完成数据的丢失的完整文件。
根据具体但非限制性的实施例,也称为复制品的复制文件是高速缓存文件。
向所有从节点提供复制文件的新版本的可用性通知的步骤包括下列步骤:
-从主服务器向从节点中选定的同步从节点转发复制文件的新版本的可用性通知;
-从同步从节点向所有其它从节点广播所述可用性通知。
确认预加载成功结束的步骤包括从节点向同步从节点的服务器处理确认预加载成功结束的步骤。
一旦所有从节点向同步从节点的服务处理确认预加载成功结束,并且在主服务器处接收到预加载完成通知的步骤之前,同步从节点向主服务器转发所述预加载完成通知。
当承诺复制文件的新版本被主机层使用的步骤结束时,主节点向同步从节点转发承诺通知,然后同步从节点触发承诺复制文件的新版本在从数据库中的使用的步骤。
在被来自用户的信息查询启动的事务开始时,至少在所述事务所所涉及的每个从节点处,应用处理询问从数据库并被指示是否从复制文件的当前版本切换至被预加载的复制文件的新版本。
优选地,在被来自用户的信息查询启动的事务开始时,在所述事务所涉及的每个从节点,应用处理读取复制文件的当前版本的标记,所述标记指示复制文件的新版本是否可用。如果标记指示复制文件的新版本是可用的,则应用处理询问从数据库并被指示是否从复制文件的当前版本切换至复制文件的新版本。
当复制文件的新版本的预加载成功结束时,设置标记;并且当应用处理被首次读取时,重置标记。
被接收的更新请求至少包括更新,而且在共享文件系统内生成并存储的复制文件的新版本的步骤是包括在主服务器中的以下步骤的增量式处理:
从共享文件系统检索复制文件的当前版本并将要被更新的复制文件的当前版本转换成适当格式,
将更新应用至当前版本,然后将复制文件的新版本转换并存储到共享文件系统。
当复制文件被存储在共享文件系统内时,复制文件被压缩。
共享文件系统内存储的复制文件当执行增量式更新时被主服务器解压并转换成适当格式,而当预加载时被从节点解压并转换成适当格式。
如果不是所有从节点都确认预加载成功结束,则主节点向发送所述更新请求的管理者发送错误通知。
主数据库可存储在主机层的单个机器或多个机器中。从数据库可存储在应用层的单个机器或多个机器中。
共享文件系统是网络连接式存储NAS。
根据另一方面,本发明涉及一种被存储在非暂时性计算机可读存储介质中并实行根据以上特征所述的方法的计算机程序产品。
根据另一方面,本发明涉及一种保持包含业务规则的复制文件的一致性的方法,所述复制文件被分布至构成多层客户端/服务器数据处理系统的应用层的一部分的多个独立处理从节点上,所述复制文件被从主机层的主节点分布,其中所述方法包括被用至少数据处理器执行的下述步骤:
-至少在主机层的主服务器处接收更新请求,以更新存储在数据处理系统的主数据库中的业务规则;
-基于所述更新,生成并存储被存储在主机层的共享文件系统内的复制文件的新版本;
-向所有从节点提供复制文件的新版本的可用性通知;
-在每个从节点,启动从共享文件系统预加载复制文件的新版本,而且当预加载结束时,确认预加载成功结束,
·只有当所有从节点确认预加载成功结束时,执行下列步骤:
-在主服务器处接收预加载完成通知;
-从主服务器处用复制文件的新版本的数据来更新主数据库,从而承诺复制文件的新版本被主机层使用;
如果不是所有从节点确认预加载成功结束,则在主节点接收错误通知。
可选地,本发明可包括至少一个以下特征。
有利地,每个业务规则包括标准和内容集合。优选地,每个标准与权重相关联,从而使得在进行搜索时,搜索引擎能够识别最相关的规则。
标准集合包括销售点、国家、国家组、飞行起点国家、飞行目的地和用户简档中的至少一个。
多层客户端/服务器数据处理系统是旅行提供商的库存的一部分。
更一般地,从节点连接到航空公司库存、航空公司出发控制系统、航空公司收益管理系系统、航空公司收益账目系统、航空公司电子票服务器中的至少一个。
本发明的另一方面是一种分布式多层客户端/服务器数据处理系统,该系统包括应用层和主机层,所述应用层包括多个独立处理从节点。所述主机层包括被布置为将复制文件分布至从节点的主节点、主数据库和主服务器。所述主机层包括共享文件系统和主服务器,所述主服务器被布置为接收更新请求以更新主数据库、生成被存储在共享文件系统内的复制文件的新版本、并将所述新版本存储在共享文件系统中。根据本发明的所述系统还包括从数据库,所述从数据库与所有从节点连接,并被布置为保持跟踪所有复制文件版本。所述系统被配置为:
·向所有从节点提供复制文件的新版本的可用性通知;
·在每个从节点处,启动从共享文件系统预加载复制文件的新版本,而且当预加载结束时,确认预加载成功结束;
·只有当所有从节点确认预加载成功结束时,实施下列步骤:在主服务器处接收预加载完成通知;从主服务器用复制文件的新版本的数据更新主数据库从而承诺复制文件的新版本被主机层使用;承诺复制文件的新版本在从数据库中的使用;向主服务器转发所有从节点的承诺通知;从主服务器确认响应于接收到的更新请求的更新完成,
·如果不是所有从节点确认预加载成功结束,则在主节点处接收错误通知,而不更新主数据库,并且不承诺新版本在从数据库中的使用。
附图说明
图1图示标准分布式三层数据处理系统的示例;
图2论述分布式数据处理系统的一致性、可用性和可扩展性;
图3说明根据本发明的示例性数据处理系统,其中,主数据库的内容被以复制文件的形式分布至从节点;
图4包括图4a和图4b,其说明用于获得根据本发明的数据处理系统的分布式复制文件之间的高度一致性的方法的步骤;
图5说明当生成复制文件的新版本(Vn+1)时被执行的增量式更新。
实施例
关于本发明的下述详细的说明参照附图。虽然此说明包括多个示例性实施例,但是其它的实施例是可能存在的,而且在不脱离本发明的精神和范围的前提下,可以对多个被说明的实施例做出变更。
图3说明根据本发明的示例性的分布式数据处理系统,其包括应用层200和也被称作数据层100的主机层100。应用层200包括多个独立处理从节点210、210’、210”。主机层100包括主节点110、主数据库120和主服务器112。主数据库120的内容被以复制文件250、150的形式分布至从节点210、210’、210”,以便在这些从节点210、210’、210”上运行的客户端应用240、240’、240”能够无须询问主数据库120地使用对应的数据块。
主机层100包括含有一台以上的服务器112的主节点110。主机层100负责管理系统的数据库即主数据库120,其一般为一个大或很大的数据库系统,其保持为进行任意类型的大型业务活动所需要的所有数据,包括商业与工业应用、还可能覆盖各种管理活动、教育活动和政府活动。例如,在航空公司和旅行行业,此数据库系统例如可能是全局分布式系统,或GDS。GDS是允许实时访问航线费用、时刻表和可用座位以及一般的任何旅行产品的旅行行业公司妥善设置的任何大型数据处理系统。GDS通过多个在线旅行网站为旅行社和个人提供从世界各地预定保留的座位并生成旅行票的能力。
任意被授权的用户通过主服务器112从系统的用户界面140(通常是图形用户界面(GUI))管理这样的数据库120。数据库的管理级用户是那些被允许更新数据库的内容的用户,例如,就GDS来说,允许其添加或修改适用于预定旅行票的商务规则,或者允许其更改旅行产品报价。这主要包括对旅行产品的当前报价进行更新的情况。因此,必须将更新依次地复制在分布式复制文件内,所述分布式复制文件供在从节点210、210’、210”运行的客户端应用240、240’、240”使用。
主机层110还包括共享文件系统160,例如网络连接式存储或NAS系统160,其旨在保存根据管理级用户的请求生成的复制文件的新版本。用图4进一步解释所述系统的NAS160和其它元器件的用途。图4论述一种保持从节点210、210’、210”的各分布式复制文件与主数据库120的内容一致的方法。
就客户端应用层200而言,其包括多个从节点210、210’、210”,每个从节点均能够为构成所述系统的第三层(未被显示在图3里)的大量远程终端用户服务。例如,在GDS的上述例子中,这些远程终端用户包括常规旅行社的旅行代理和通过公用网(即通过互联网)与在线旅行网站连接的网站的个人用户。这样一来,启动从节点210、210’、210”的应用处理240、240’、240”的很多不同的软件客户端应用能够通过进入到从节点210、210’、210”的共享存储器230、230’、230”内的复制文件来运行。因此,这些应用中的任意应用能够便利地访问这些应用所需的数据,而且不需要为其中的每一个应用程序复制所述数据,从而大幅度地减少存储器使用。在从节点210、210’、210”上运行的应用软件产品的范围和数量可能相当可观,而且实际上仅受所述节点的计算资源的限制。其主要取决于所述数据处理系统的所有者所实施的业务的类型。就GDS而言,在旅行行业,其包括特定应用,诸如如今为所有旅行者提供的电子预定和出票服务以及机场旅客出行控制等。针对任何类型的业务的更普通的应用包括关于商品和服务的可用性、收益管理和收益核算的那些应用。因此,应用层200的用户并不限定为客户,而是还包括负责管理拥有该数据处理系统的公司的资产的专业人士。
所述客户端应用层200还包括从数据库260,其负责存在于每个从节点210、210’、210”的、控制复制文件的新版本(Vn+1)150的调度的特定服务器处理任务220、220’、220”,所述复制文件被任意主服务器112基于所述数据处理系统的管理级用户的请求最初存储在NAS系统160内。实质上,所述从数据库目的在于保持跟踪被保存在从节点210、210’、210”的共享存储器230、230’、230”内的复制文件的版本,以便一方面强制被分布至从节点210、210’、210”的复制文件的新版本150与当前版本250之间的高度一致性,另一方面强化与主数据库120内容的高度一致性。有利地,该从数据库260仅存储与复制文件的版本有关的数据,而不存储该复制文件的内容。
以下,用图4说明使如图3所示的示例性数据处理系统能实现该效果的处理。
所有构建根据本发明的系统的软件构件可由能够在一个或多个互联网络上通信的各种个人计算机或计算机化平台30、30’、30”实现和运行。这样的网络一般是形成企业网络的局域网或LAN。LAN按照标准通信协议集运行。在大多数情况下,使用使互联网的传输控制协议(TCP)与互联网协议(IP)自身关联的TCP/IP协议套件。实际上,通过信息交换来实现各个计算机化平台与软件构件之间的通信。例如,EDIFACT(管理、商业和运输电子数据交换)消息,一个被联合国(UN)组织和国际航空运输协会(IATA)提倡的标准,可以用来在数据处理系统的各个软件构件之间建立通信信道。一般地,通过企业服务总线(未被显示),也被称作服务集成器(SI),交换消息。
图4包括图4a和图4b,其说明用于获得根据本发明的数据处理系统的分布式复制文件之间的高度一致性的方法的步骤,其中,所述数据处理系统已用上一图说明并论述。
用于在所述系统内更新数据的两阶段承诺进程中的第一阶段被显示在图4a里。该阶段被授权的管理级用户触发,通过主节点100的多台主服务器中的一台启动更新事务。从一般的用户界面,通常为图形用户界面(GUI),按照发送1更新请求142至主服务器112的如图5所示的方式执行启动。这是更新数据的处理的第一步骤或步骤1。
负责的主服务器112实施步骤2,当接收到更新请求142时,主服务器112生成对应的复制文件的新版本150(Vn+1)并将其存储在NAS系统160内。为了加速生成新复制文件150,有利地,执行上一版本250的增量式更新。以下,用图5说明增量式更新。无论使用哪种方法,此步骤的最终结果都是使得复制文件的新版本(Vn+1)150在NAS 160针对整个数据处理系统可用。
其次,在步骤3,必须进行新复制文件150的可用性通知。这经由从节点210、210’、210”中的一个从节点(例如如图3所示的从节点210)来实现。为此,负责的主服务器112向服务器处理220、220’、220”(即在该节点和所有其它从节点210’、210”上执行的特定软件任务)发送消息。从那时起,被选定的从节点210于是充当针对系统的所有从节点210、210’、210”的同步点。因此,在本发明的下述说明中,将此从节点210称作“同步从节点”210。从主机层的角度看,所有从节点发挥同样的作用。因此,同步从节点的选择通常是基于工作负荷的考虑。
下一步骤即步骤4包括在同步从节点210的服务处理220任务的控制下向所有其它从节点210’、210”广播复制文件的新版本150的可用性通知。
然后,在步骤5,当接收到新复制文件150的可用性通知时,每个从节点210、210’、210”,包括同步从节点210在内,实施下列两个子步骤:
-复制,即从NAS系统160预加载51新的可用的复制文件150,其已被主管执行更新的主服务器112预先存储在所述NAS 160内。
-一旦预加载已完全结束,每个从节点210、210’、210”的服务器处理220、220’、220”任务向同步从节点210发送回成功结束确认52。
同步从节点210的服务处理任务220还负责收集所有预加载成功结束的确认。当预加载完成时,随即向负责的主服务器112转发在所有从节点210、210’、210”成功完成预加载6的通知。这是整体更新处理的步骤6。在此步骤中,新复制文件150已被预加载在每个从节点210、210’、210”的共享存储器230、230’、230”内,因此可供在这些从节点运行的客户端应用使用。然而,新复制文件150保持不活动的状态,直到执行了更新处理的下列步骤为止。
用于在所述系统内更新数据的处理中的第二阶段被显示在图4b里。在步骤6中,当主服务器接收到新复制文件150被所有从节点210、210’、210”成功预加载完成的通知时,第二阶段开始。同步从节点210的服务处理任务220发出预加载完成的通知。接着,在步骤7,负责的主服务器112将新复制文件150版本(Vn+1)的数据存储在主数据库120内。从而,向整个数据处理系统承诺新版本150的使用。
需要实施步骤8来进一步完成承诺步骤,,即由主服务器112向同步从节点210的服务器处理220任务发出承诺消息,以便通知后者新预加载的复制文件(Vn+1)150已准备好被使用。
在步骤9,当接收到承诺消息时,同步从节点210的服务器处理任务220实际上还在从数据库260内承诺复制数据文件的新版本150。此外,在该阶段,从节点210、210’、210”的客户端应用实际上没有使用已被预加载到各从节点210、210’、210”的新版本150,直到下述切换步骤出现为止。
尽管如此,在步骤10,主服务器112接收来自同步从节点210的服务器处理220任务的回复,该回复通知主服务器完成了在从数据库260内的承诺。在步骤11,向数据处理系统的管理级用户的数据处理装置140进一步传播此回复,以便通知所述管理级用户被请求的更新请求142确实已被承诺,并且到目前为止有效。
然而,当应用处理实际需要复制文件的新版本150以响应对信息的查询时,所述复制文件的新版本150的实际使用将仅在系统内生效。在本发明中,对信息的查询是一种要求对存储在系统内的数据进行检索以执行的查询,而更新请求要求更新要执行的存储数据。因此,所述系统的终端用户(例如顾客或旅行代理)发送对信息的查询,而负责更新与被提供给所述终端用户的产品、服务或信息相关的数据的管理级用户发送关于更新的请求142。当执行一个应用程序时,对应的客户端应用始终从数据库260检查264必须使用所需要的复制文件的哪个版本。如果新版本150是可用的,则使到已被预加载在共享存储器内的该新版本150的切换起作用。该切换在这一点上遵循为数据库事务定义的ACID规则,即:原子性、一致性、隔离性、耐久性,从这个意义上讲,该切换是所谓的原子操作。原子性意味切换被完全执行且不被任何其它处理中断,从而客户端应用不引发延迟。同样的机制被用于所有客户端应用处理。此方案保证来自任意分布式副本的所用数据的高度一致性。因为切换属于原子操作,所以当检索复制文件的新版本150时,不可能冻结应用处理。既然在执行更新处理的早期已经预加载复制文件,在客户端应用访问复制文件的新版本150时,不会进一步引入延时。
可以有利地修改应用处理流程以优化对从数据库260的请求的次数。确切说来,有必要仅在在新高速缓存版本的预加载与在从数据库260中承诺此新版本之间的转换期间访问此同步点。
为此,在预加载操作期间,将“预加载”标识符附加于共享存储器。如果此标识符没有出现,则应用处理将访问高速缓存的最新可用版本,而无需执行对从数据库260的请求。否则,执行对从数据库260的请求,然后使用来自从数据库260的版本。
如果被预加载的版本已在从数据库260进行了承若,则执行上述的切换操作。在此操作中,从共享存储器移除“预加载”标识符。
用以上多张附图说明的机制解释了如何使复制文件准实时地对从节点210、210’、210”可用,该机制清楚地区别系统的两种类型的节点的两种类型的行为:
-主节点110是可能包括多台主服务器112的写入节点。多台主服务器112中的每一台主服务器使得可以通过数据处理系统的任意授权管理级用户经由用户界面140来管理所发布的事务。管理事务意味着最终更新主数据库120。为此,如上所述,管理事务处理首先生成复制文件的新版本(Vn+1)150并将其存储在NAS系统160内。本发明假设:主节点110不知道从节点210、210’、210”的拓扑结构,而且不负责将数据进一步推入从节点210、210’、210”。因此,应用200的可扩展性完全与主节点110无关。
-相反地,从节点210、210’、210”通过直接从共享的NAS系统160预加载复制文件,来自己获得复制文件的只读副本。通过先前提到的企业服务总线或服务集成器(SI),向从节点210、210’、210”广播信息。为了尽可能高地保持性能,有利地将被广播的数据量保持为最小。为了达到此目的,如图4所解释的那样,本发明的方法设法向从节点210、210’、210”仅广播新复制文件的可用性通知,从而允许其从公共的共享文件结构,即NAS 160复制新复制文件150。
准实时复制意味着:管理事务一结束,即在如图4所论述的步骤11中,所有客户端节点都确实能够切换至复制文件的新版本150。此类型的复制也通称为勤奋型复制,其远比通常被形容为懒惰复制的其它类型的较不严格的复制更有约束力。为了获得此结果,本发明将数据流分成控制流和数据流。因此,如上所述,通过服务集成器,向客户端节点广播将使用的复制文件版本的通知。就复制文件的数据而言,使他们从共享文件系统,即NAS系统160可得。只有载有版本的控制流需要通过同步从节点210被传递并路由到应用层200的所有其它从节点210’、210”,而数据能够被并行地直接转移至每一个从节点210、210’、210”。此结构满足在主节点100的服务器112(即写入器)与从节点210、210’、210”之间产生分离的需要。因此,写入器仅需要首先将新数据存入NAS共享文件系统内,然后存储在主数据库120自身内。写入器不需要知道从节点210、210’、210”的拓扑结构的任何信息。主服务器即写入器借助服务集成器向从节点210、210’、210”路由版本信息。
用图5说明写入NAS的共享文件结构。此图说明了在步骤2当生成复制文件的新版本(Vn+1)150时执行增量式更新。
使复制文件可用,即从共享文件结构(例如NAS系统160)公开复制文件可提供额外益处。负责处理更新请求142的主服务器112能够便利地访问NAS的共享文件结构以获取152被所有从节点210、210’、210”当前使用的复制文件的最近版本250。为了便于检索复制文件,而且还为了最小化存储需要,有利地设计为二进制结构的NAS 160。因此,复制文件能够被压缩以进一步限制保存所有的复制文件所需的存储总量。在访问时间与存储要求之间可能必须做出折中,以使得允许在与数据处理系统的期望性能相适应的访问时间内检索复制文件,同时以某种方式限制要求的存储量。还应考虑因转移文件而导致的网络带宽消耗。无论采用哪种折中方案,主服务器都需要将被检索的复制文件转换成业务对象模型(BOM)114,主服务器能够处理所述业务对象模型到服务器存储器。然后,主服务器112可以通过将被请求的更改加入复制文件的当前版本以插入被管理级用户用更新请求142请求的修改,从而实现增量式更新116,。
更确切地,主服务器需要将被检索的复制文件转换成C++业务对象模型114到服务器存储器中。然后,主服务器112可以通过添加更新来针对此C++结构执行增量式更新116。于是,基于此新C++结构生成了新的复制文件。
与来自主数据库120的相应信息的检索相比,此方式能够大幅度地加速用于生成复制文件的新版本的处理。可以实现平均提高一个数量级(10×)的改进。最后,将被更新的复制文件转换并存储回到154NAS共享文件结构160。
以下进一步论述本发明上下文中的高度一致性意味什么,以及如何凭借如上所述的系统和方法在各自在不同的物理机器30、30’、30”上实现的从节点210、210’、210”的所有复制文件中获得高度一致性。
在本发明的数据处理系统中,假设主数据库120被有规律地更新。尽管该特征可能取决于本发明的应用而显著变化,但所考虑的一般更新频率约为每分钟若干次。每次更新产生复制文件的新版本(Vn+1)150。于是,如果从给定版本(例如版本N)的复制文件在给定从节点被读取开始,在任何其它从节点210’、210”上的任何后续读取确实返回相同的复制文件版本N,则高度一致性被实现。明显地,如果与此同时新版本150已被分布,则也可以读取到更高版本。
通过向所有从节点210、210’、210”提供跟踪所有复制文件的有效版本的中心访问点,来实现一致性。优选地,此访问点被实现为在标准关系型数据库管理系统(RDBMS)的控制下运行的数据库的表,以保证满足ACID性能。在本发明的系统中,如图3所示,从数据库260扮演此角色。262显示所存储的版本表的节录。在图示的例子中,BA-NGI与Vn+1相对应,其意指必须使用复制文件的版本(Vn+1),换言之,由旅行供应商英国航空公司(BA)操作的NGI应用的数据。NGI是新一代存储库(New Generation Inventory)的首字母缩略词,区别哪个特定的应用是给定规则数据的所有者,即负责给定的规则数据。存储在从数据库中的中心版本表利用如图4所示的2阶段承诺处理来更新。
然后,当被在从节点上运行的客户端应用启动的每项事务开始时,有效复制文件的版本被从从数据库260的版本表262取出264。如果被发现的有效复制文件版本比当前所用的版本新,则从节点210、210’、210”立即切换到新复制文件(Vn+1)150。如用图4所解释的那样,这是可能的,因为更新的复制文件已被预加载到从节点210、210’、210”的共享存储器230、230’、230”内。在此,值得注意的是:如果被客户端应用启动的事务需要多次访问复制文件,则所述系统设法在此事务有效期间使用相同版本,即使与此同时新版本150已变为可用。这满足适用于数据库事务的ACID规则组中的隔离规则。
为了提供访问共享存储器内的数据的更高水平的性能,可选地跳过在开始每项事务时对从数据库的上述询问264。在这种情况下,存储在共享存储器内的复制文件需要包括一个标记或标志,其指示新版本150是否可用。因此,在开始每项事务时,并不系统地询问从数据库,而是首先检查此标志。如果标志指示没有新版本150可用,则使用当前复制文件。如果标志指示新版本150确实可用,则从从数据库读取版本表262,以使应用处理240、240’、240”能够切换至新的预加载复制文件(Vn+1)。在新版本150的预加载完成时被设置的此标识,在客户端应用已经结束处理其当前事务时被重置。在许多处理访问相同复制文件的环境下,仅有少数在它们中的一个程序重置此标识之前不得不询问从数据库。
为了在生产环境下工作,上述机制也必须是容错的。只有在可以在主数据库中承诺管理事务之前,复制文件确实全部被成功预加载,即被分布并映射到所有从节点的共享存储器内,才能够达到完全一致性。这是强制保证从节点确实能够以原子方式切换至新复制文件。否则,可能存在一些从节点能够切换至新版本而另一些不能的错误情况,因而导致缺少一致性。因此,为了防止此情况发生,当因任何原因而在任意给定从节点上分布失败时,中止全部事务并响应于更新请求而向终端客户发送错误。由于实现了如图4所示的两阶段承诺处理的缘故,这是可能的。在一致性与可用性之间,本发明强调一致性。重要的是强调仍然彻底保持从从节点的读取可用性,并且能够实现接近实时的信息查询。可用性中唯一可能被折中的部分是数据的更新/管理。在本发明的上下文中,此部分远不如读取可用性和所有从节点上分布的复制文件的高度一致性关键。因此,将复制文件成功地分布至每个从节点是本发明的关键部分。如上所述的企业服务总线或服务集成器(SI)用来保证积极参与客户端应用层的从节点组的映像总是可用的。当从节点加入或离开组时,此映象被相应地更新,使得本发明的方法能够被适当实施。
虽然在此说明并描述了本发明的现有优选实施方案,但是可清楚地理解的是:本发明并不仅限于此,可能在以下权利要求的范围内以各种方式实现。
Claims (24)
1.一种保持被分布至数据处理系统的多个从节点的复制文件的副本之间的一致性的方法,该方法包括:
在主服务器中接收更新请求,所述更新请求请求在主数据库中更新复制文件;
基于所述更新请求,在共享文件系统内生成并存储复制文件的新版本;
向所述多个从节点提供复制文件的新版本的可用性通知;
响应于在每个从节点接收到可用性通知,从共享文件系统预加载复制文件的新版本的副本至每个从节点的存储器,而且当预加载结束时,确认预加载成功结束;以及
只有当所述多个从节点中的每个从节点向主服务器确认预加载成功结束时,承诺数据处理系统使用复制文件的新版本。
2.根据权利要求1所述的方法,其中,向多个从节点提供复制文件的新版本的可用性通知包括:
从主服务器向从所述多个从节点中选择的同步从节点转发复制文件的新版本的可用性通知;
从同步从节点向所述多个从节点中的其余的从节点广播所述可用性通知。
3.根据权利要求2所述的方法,其中,
每个从节点向同步从节点的服务器处理确认预加载成功结束。
4.根据权利要求3所述的方法,还包括:
响应于所述多个从节点中的所有其余的从节点向同步从节点的服务器处理确认预加载成功结束,从同步从节点向主服务器转发预加载完成通知。
5.根据权利要求2所述方法,其中,承诺数据处理系统使用复制文件的新版本包括:
从主服务器向同步从节点转发承诺通知,以及
响应于接收到承诺通知,通过同步从节点触发复制文件的新版本在从数据库中的使用。
6.根据权利要求5所述的方法,其中,触发复制文件的新版本在从数据库中的使用包括:
通过复制文件的新版本的版本号更新从数据库中的版本表。
7.根据权利要求1所述的方法,进一步包括:
响应于被来自用户的信息查询启动的事务,询问所述事务所涉及的每个从节点处的从数据库;以及
基于所述询问,指示所述事务所涉及的每个从节点是否从复制文件的当前版本切换至被预加载的复制文件的新版本。
8.根据权利要求7所述的方法,其中,
所述从数据库仅存储与复制文件版本有关的数据。
9.根据权利要求1所述方法,进一步包括:
响应于被来自用户的信息查询启动的事务,在所述事务所涉及的每个从节点中读取复制文件的当前版本的标记,所述标记指示复制文件的新版本是否可用;
响应于所述标记指示复制文件的新版本是可用的,询问所述事务所涉及的每个从节点的从数据库;以及
响应于被询问,指示询问的从节点是否从复制文件的当前版本切换至复制文件的新版本。
10.根据权利要求9所述的方法,其中,
当复制文件的新版本的预加载成功结束时,所述标记被设置;并且当被从节点首次读取时,所述标记被重置。
11.根据权利要求1所述的方法,其中,被接收的更新请求包括针对复制文件的更新,在共享文件系统内生成并存储复制文件的新版本是在主服务器中的增量式处理,该增量式处理包括:
从共享文件系统检索复制文件的当前版本;
将复制文件的当前版本转换成适当格式以被更新,
将更新施加至复制文件的当前版本以生成复制文件的新版本;
将复制文件的新版本进行转换以存储到共享文件系统中;以及
将复制文件的新版本存储到共享文件系统中。
12.根据权利要求11所述的方法,其中,当复制文件被存储在共享文件系统中时,复制文件被压缩;以及将复制文件的当前版本转换为适当格式包括:
通过主服务器解压共享文件系统内存储的复制文件的当前版本;以及
预加载复制文件的新版本的副本包括:
通过每个从节点解压复制文件的新版本。
13.根据权利要求1所述的方法,进一步包括:
响应于所述多个从节点中至少有一个从节点未确认预加载成功结束,从主服务器向所述更新请求的发送者发送错误通知。
14.根据权利要求1所述的方法,其中,
共享文件系统包括网络连接式存储(NAS)。
15.根据权利要求1所述的方法,其中,承诺数据处理系统使用复制文件的新版本包括:
将主数据库中的复制文件更新为复制文件的新版本;
更新被配置为保持跟踪所述多个从节点使用的复制文件版本的从数据库中的数据,所述数据识别要被所述多个从节点使用的复制文件版本;
响应于更新识别从数据库中的复制文件版本的数据,在主服务器中接收承诺所述多个从节点中的每个从节点使用复制文件的新版本的通知。
16.根据权利要求15所述的方法,进一步包括:
响应于所述多个从节点中的每个从节点确认预加载成功结束,在主服务器中接收预加载完成通知,其中,响应于接收到所述预加载完成通知将主数据库中的复制文件更新为复制文件的新版本。
17.一种保持包含业务规则的复制文件的副本之间的一致性的方法,复制文件的副本被分布在数据处理系统的多个从节点上,所述方法包括:
在主服务器中接收更新请求以更新存储在主数据库中的业务规则;
基于更新请求,在共享文件系统中生成并存储复制文件的新版本;
向所述多个从节点提供复制文件的新版本的可用性通知;
响应于在每个从节点处接收到可用性通知,从共享文件系统预加载复制文件的新版本的副本至每个从节点的存储器中,并且当预加载结束时,确认预加载成功结束;以及
只有当所述多个从节点中的所有从节点都确认预加载成功结束时,承诺数据处理系统使用复制文件的新版本。
18.根据权利要求17所述的方法,其中每个业务规则包括标准集合和内容。
19.根据权利要求18所述的方法,其中标准集合中的每个标准与权重相关联。
20.根据权利要求18所述的方法,其中标准集合包括销售点、国家、国家组、飞行起点国家、飞行目的地或用户简档。
21.根据权利要求17所述的方法,其中旅行提供商的库存包括数据处理系统。
22.根据权利要求17所述的方法,其中至少一个从节点连接到航空公司库存、航空公司出发控制系统、航空公司收益管理系统、航空公司收益账目系统、或航空公司电子票服务器。
23.根据权利要求17所述的方法,其中承诺数据处理系统使用复制文件的新版本包括:
承诺复制文件的新版本在被配置为跟踪所有复制文件版本的从数据库中的使用;
将所有从节点的承诺通知转发给主服务器;以及
响应于接收到的更新请求,从主服务器确认更新请求完成。
24.一种分布式数据处理系统,包括:
包括主服务器和共享文件系统的主机层;以及
包括多个从节点的应用层,每个从节点具有存储器并与主机层通信耦合,其中所述主服务器被配置为向所述多个从节点提供在共享文件系统中的复制文件的新版本的可用性通知;
所述多个从节点中的每个从节点被配置为:响应于接收到所述可用性通知,从共享文件系统预加载复制文件的新版本的副本,并在预加载结束时,确认预加载成功结束;以及
主服务器进一步配置为仅响应于所有从节点确认预加载成功结束,而承诺数据处理系统使用复制文件的新版本。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11306011.5 | 2011-08-03 | ||
EP11306011.5A EP2555129B1 (en) | 2011-08-03 | 2011-08-03 | Method and system to maintain strong consistency of distributed replicated contents in a client/server system |
US13/136,576 US8495017B2 (en) | 2011-08-03 | 2011-08-04 | Method and system to maintain strong consistency of distributed replicated contents in a client/server system |
US13/136,576 | 2011-08-04 | ||
PCT/EP2012/064966 WO2013017599A1 (en) | 2011-08-03 | 2012-07-31 | Method and system to maintain strong consistency of distributed replicated contents in a client/server system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103858122A CN103858122A (zh) | 2014-06-11 |
CN103858122B true CN103858122B (zh) | 2016-12-28 |
Family
ID=44534206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280044493.8A Active CN103858122B (zh) | 2011-08-03 | 2012-07-31 | 保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统 |
Country Status (11)
Country | Link |
---|---|
US (1) | US8495017B2 (zh) |
EP (1) | EP2555129B1 (zh) |
JP (1) | JP6165729B2 (zh) |
KR (1) | KR101623663B1 (zh) |
CN (1) | CN103858122B (zh) |
AU (1) | AU2012292068B2 (zh) |
BR (1) | BR112014002501A2 (zh) |
CA (1) | CA2848910C (zh) |
ES (1) | ES2723781T3 (zh) |
WO (1) | WO2013017599A1 (zh) |
ZA (1) | ZA201400774B (zh) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2495079A (en) | 2011-09-23 | 2013-04-03 | Hybrid Logic Ltd | Live migration of applications and file systems in a distributed system |
US9547705B2 (en) | 2011-09-23 | 2017-01-17 | Hybrid Logic Ltd | System for live-migration and automated recovery of applications in a distributed system |
US10311027B2 (en) | 2011-09-23 | 2019-06-04 | Open Invention Network, Llc | System for live-migration and automated recovery of applications in a distributed system |
US10331801B2 (en) | 2011-09-23 | 2019-06-25 | Open Invention Network, Llc | System for live-migration and automated recovery of applications in a distributed system |
US9483542B2 (en) | 2011-09-23 | 2016-11-01 | Hybrid Logic Ltd | System for live-migration and automated recovery of applications in a distributed system |
US9477739B2 (en) * | 2011-09-23 | 2016-10-25 | Hybrid Logic Ltd | System for live-migration and automated recovery of applications in a distributed system |
US20130227101A1 (en) * | 2012-02-27 | 2013-08-29 | Verizon Patent And Licensing, Inc. | Method and system for providing transaction management in a request-oriented service architecture |
US20130227143A1 (en) * | 2012-02-27 | 2013-08-29 | Verizon Patent And Licensing Inc. | Method and system for providing transaction management in a request-oriented service architecture using meta-models |
US9542177B1 (en) * | 2012-10-30 | 2017-01-10 | Amazon Technologies, Inc. | Peer configuration analysis and enforcement |
US9003106B1 (en) * | 2012-11-26 | 2015-04-07 | Emc Corporation | Crash consistency |
US8977830B1 (en) * | 2012-11-26 | 2015-03-10 | Emc Corporation | Crash consistency |
US9197700B2 (en) * | 2013-01-18 | 2015-11-24 | Apple Inc. | Keychain syncing |
US9430545B2 (en) | 2013-10-21 | 2016-08-30 | International Business Machines Corporation | Mechanism for communication in a distributed database |
KR101811158B1 (ko) * | 2013-11-18 | 2017-12-20 | 미쓰비시덴키 가부시키가이샤 | 통신 시스템 및 마스터 장치 |
US9430508B2 (en) | 2013-12-30 | 2016-08-30 | Microsoft Technology Licensing, Llc | Disk optimized paging for column oriented databases |
US9898398B2 (en) | 2013-12-30 | 2018-02-20 | Microsoft Technology Licensing, Llc | Re-use of invalidated data in buffers |
US9723054B2 (en) | 2013-12-30 | 2017-08-01 | Microsoft Technology Licensing, Llc | Hierarchical organization for scale-out cluster |
US20150263900A1 (en) * | 2014-03-11 | 2015-09-17 | Schlumberger Technology Corporation | High performance distributed computing environment particularly suited for reservoir modeling and simulation |
CN105393241B (zh) * | 2014-04-24 | 2017-09-22 | 三菱电机株式会社 | 控制系统、主控站点以及远程站点 |
US10423498B2 (en) * | 2014-06-26 | 2019-09-24 | Sybase, Inc. | Zero data loss transfer protocol |
KR101713537B1 (ko) * | 2014-08-05 | 2017-03-09 | 네이버 주식회사 | 데이터의 일관성을 보장하는 상태기기 기반의 복제 및 체크포인트데이터와 복제로그를 이용한 분산 복구를 처리하는 데이터 복제 방법 및 데이터 저장 시스템 |
CN104361424B (zh) * | 2014-10-11 | 2018-05-04 | 中国电子科技集团公司第十研究所 | 基于企业服务总线的主数据系统集成方法 |
JP2016081349A (ja) * | 2014-10-17 | 2016-05-16 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理システム |
US10303796B2 (en) * | 2015-01-09 | 2019-05-28 | Ariba, Inc. | Updating distributed shards without compromising on consistency |
US9774729B2 (en) * | 2015-03-26 | 2017-09-26 | Futurewei Technologies, Inc. | System and method for mobile core data services |
CN104881444B (zh) * | 2015-05-14 | 2018-08-14 | 微梦创科网络科技(中国)有限公司 | 网站中更新缓存服务器的方法及系统 |
CN106375102B (zh) * | 2015-07-22 | 2019-08-27 | 华为技术有限公司 | 一种服务注册方法、使用方法及相关装置 |
CN105354046B (zh) * | 2015-09-15 | 2019-03-26 | 深信服科技股份有限公司 | 基于共享磁盘的数据库更新处理方法及系统 |
US10496630B2 (en) | 2015-10-01 | 2019-12-03 | Microsoft Technology Licensing, Llc | Read-write protocol for append-only distributed databases |
US10025947B1 (en) | 2015-11-30 | 2018-07-17 | Ims Health Incorporated | System and method to produce a virtually trusted database record |
CN105608229A (zh) * | 2016-01-29 | 2016-05-25 | 锐达互动科技股份有限公司 | 一种主从数据库同步系统及方法 |
CN105744298A (zh) * | 2016-01-30 | 2016-07-06 | 安徽欧迈特数字技术有限责任公司 | 一种基于视频码流技术的工业交换机电口传输方法 |
CN107656937B (zh) * | 2016-07-26 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 用于实现读写数据一致性的方法和装置 |
EP3285220A1 (en) * | 2016-08-18 | 2018-02-21 | Mastercard International Incorporated | Transaction control management |
CN107809326B (zh) * | 2016-09-09 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 数据一致性的处理方法、装置和设备 |
CN108123967A (zh) * | 2016-11-28 | 2018-06-05 | 中国石油天然气股份有限公司 | 一种集群系统的数据同步方法和系统 |
CN108123976B (zh) * | 2016-11-30 | 2020-11-20 | 阿里巴巴集团控股有限公司 | 集群间的数据备份方法、装置及系统 |
CN108574854A (zh) * | 2017-03-10 | 2018-09-25 | 达创科技股份有限公司 | 传输多媒体数据的方法、伺服器及系统 |
US10831719B2 (en) * | 2017-08-29 | 2020-11-10 | Western Digital Technologies, Inc. | File consistency in shared storage using partial-edit files |
KR102442431B1 (ko) * | 2017-10-31 | 2022-09-08 | 아브 이니티오 테크놀로지 엘엘시 | 상태 업데이트의 일관성에 기초하는 컴퓨팅 클러스터 관리 |
CN110019091A (zh) * | 2017-12-03 | 2019-07-16 | 中国直升机设计研究所 | 一种异地数据协同系统 |
CN108052358B (zh) * | 2017-12-12 | 2021-07-13 | 上海天旦网络科技发展有限公司 | 一种分布式部署的系统和方法 |
CN110045912B (zh) | 2018-01-16 | 2021-06-01 | 华为技术有限公司 | 数据处理方法和装置 |
CN110309156A (zh) * | 2018-03-01 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 数据库系统、数据库更新、扩容方法及设备 |
KR102116814B1 (ko) | 2018-06-22 | 2020-05-29 | 주식회사 티맥스 소프트 | 어플리케이션 무중단 배포 시 응용 프로그램 버전 정합성을 위한 방법 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 |
KR102116813B1 (ko) | 2018-06-22 | 2020-05-29 | 주식회사 티맥스 소프트 | 분산 환경 시스템에서의 어플리케이션 무중단 배포 시 불필요한 리소스 인식 및 해제 방안 |
US10922199B2 (en) * | 2018-07-04 | 2021-02-16 | Vmware, Inc. | Role management of compute nodes in distributed clusters |
CN110825309B (zh) * | 2018-08-08 | 2021-06-29 | 华为技术有限公司 | 数据读取方法、装置及系统、分布式系统 |
EP3835959B1 (en) * | 2018-08-24 | 2024-10-30 | Huawei Technologies Co., Ltd. | Data pre-fetching method and device |
CN109165230A (zh) * | 2018-09-11 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种分布式集群管理软件数据同步的方法、装置及设备 |
CN109977168B (zh) * | 2019-03-18 | 2021-11-05 | 武汉达梦数据库股份有限公司 | 基于数据页预加载的数据库数据同步方法及设备 |
CN110008284B (zh) * | 2019-03-18 | 2021-06-22 | 武汉达梦数据库股份有限公司 | 基于数据页预加载及回滚的数据库数据同步方法及设备 |
CN110297640B (zh) * | 2019-06-12 | 2020-10-16 | 北京三快在线科技有限公司 | 模型部署的方法、装置、存储介质及电子设备 |
CN110737670B (zh) * | 2019-10-21 | 2023-06-13 | 中国民航信息网络股份有限公司 | 一种集群数据一致性的保障方法、装置及系统 |
US11455312B1 (en) | 2019-11-20 | 2022-09-27 | Sabre Glbl Inc. | Data query system with improved response time |
CN111147560B (zh) * | 2019-12-18 | 2022-05-17 | 河北远东通信系统工程有限公司 | 基于http协议以及断点续传的数据同步方法 |
CN111240698A (zh) * | 2020-01-14 | 2020-06-05 | 北京三快在线科技有限公司 | 模型部署的方法、装置、存储介质及电子设备 |
CN111273965B (zh) * | 2020-02-17 | 2021-10-29 | 支付宝(杭州)信息技术有限公司 | 一种容器应用启动方法、系统、装置及电子设备 |
CN111930396B (zh) * | 2020-06-29 | 2021-05-11 | 广西东信易联科技有限公司 | 一种基于notify机制的4G路由器中通讯模组的升级方法 |
CN113297231B (zh) * | 2020-07-28 | 2024-12-24 | 阿里巴巴集团控股有限公司 | 数据库处理方法及装置 |
US11647075B2 (en) | 2020-09-22 | 2023-05-09 | Commvault Systems, Inc. | Commissioning and decommissioning metadata nodes in a running distributed data storage system |
US11314687B2 (en) | 2020-09-24 | 2022-04-26 | Commvault Systems, Inc. | Container data mover for migrating data between distributed data storage systems integrated with application orchestrators |
KR102440733B1 (ko) * | 2020-10-26 | 2022-09-05 | 피네보 주식회사 | 결제 처리를 위한 시스템 및 방법 |
CN112307083B (zh) * | 2020-10-28 | 2024-08-06 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置及服务器 |
CN112492026B (zh) * | 2020-11-26 | 2022-08-23 | 郑州师范学院 | 动态云存储环境下混合型自适应副本一致性更新方法 |
CN112699325B (zh) * | 2021-01-14 | 2022-07-26 | 福建天晴在线互动科技有限公司 | 一种缓存二次淘汰保障数据一致性的方法及其系统 |
CN112699139A (zh) * | 2021-01-14 | 2021-04-23 | 福建天晴在线互动科技有限公司 | 一种利用数据服务中心来保证数据一致性的方法及其系统 |
CN113778975B (zh) * | 2021-09-15 | 2023-11-03 | 京东科技信息技术有限公司 | 基于分布式数据库的数据处理方法及装置 |
CN115292278B (zh) * | 2022-07-21 | 2025-01-21 | 东风汽车集团股份有限公司 | 基于主从数据库的配置化bom解算系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003073206A2 (en) * | 2002-02-22 | 2003-09-04 | Bea Systems, Inc. | System and method for using a data replication service to manage a configuration repository |
CN1489052A (zh) * | 2002-10-11 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多节点文件同步系统及方法 |
US7500020B1 (en) * | 2003-12-31 | 2009-03-03 | Symantec Operating Corporation | Coherency of replicas for a distributed file sharing system |
US7624155B1 (en) * | 2001-12-20 | 2009-11-24 | Emc Corporation | Data replication facility for distributed computing environments |
CN102122306A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种数据处理方法及应用该方法的分布式文件系统 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721909A (en) * | 1994-03-30 | 1998-02-24 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US5835757A (en) * | 1994-03-30 | 1998-11-10 | Siemens Telecom Networks | Distributed database management system for servicing application requests in a telecommunications switching system |
US5566304A (en) * | 1995-05-08 | 1996-10-15 | Apple Computer, Inc. | Method of dynamic selection between immediate and delayed read access acknowledgement |
US6411991B1 (en) * | 1998-09-25 | 2002-06-25 | Sprint Communications Company L.P. | Geographic data replication system and method for a network |
US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US20010039548A1 (en) * | 2000-04-27 | 2001-11-08 | Yoshitake Shinkai | File replication system, replication control method, and storage medium |
US6711572B2 (en) * | 2000-06-14 | 2004-03-23 | Xosoft Inc. | File system for distributing content in a data network and related methods |
US6751721B1 (en) * | 2000-08-31 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Broadcast invalidate scheme |
US20040122730A1 (en) * | 2001-01-02 | 2004-06-24 | Tucciarone Joel D. | Electronic messaging system and method thereof |
US20030023898A1 (en) * | 2001-07-16 | 2003-01-30 | Jacobs Dean Bernard | Layered architecture for data replication |
US7571215B2 (en) * | 2001-07-16 | 2009-08-04 | Bea Systems, Inc. | Data replication protocol |
US6917951B2 (en) * | 2001-07-26 | 2005-07-12 | Microsoft Corporation | System and method for replicating data in resource sets |
US7243103B2 (en) * | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
US7305585B2 (en) * | 2002-05-23 | 2007-12-04 | Exludus Technologies Inc. | Asynchronous and autonomous data replication |
TWI256556B (en) * | 2002-07-08 | 2006-06-11 | Via Tech Inc | Distributed concurrent version management system and method |
ATE354905T1 (de) * | 2002-08-29 | 2007-03-15 | Hewlett Packard Co | Verfahren und vorrichtung zur datenverteilung in einem netzwerk |
US20040068523A1 (en) * | 2002-10-07 | 2004-04-08 | Keith Robert Olan | Method and system for full asynchronous master-to-master file synchronization |
US7359926B1 (en) * | 2003-02-13 | 2008-04-15 | Stampede, Technologies, Inc. | System for optimization of database replication/synchronization |
US7567987B2 (en) * | 2003-10-24 | 2009-07-28 | Microsoft Corporation | File sharing in P2P group shared spaces |
US7478400B1 (en) * | 2003-12-31 | 2009-01-13 | Symantec Operating Corporation | Efficient distributed transaction protocol for a distributed file sharing system |
JP2006059319A (ja) * | 2004-07-21 | 2006-03-02 | Ricoh Co Ltd | 情報処理装置、プログラムおよび記憶媒体 |
US20060190549A1 (en) * | 2004-07-23 | 2006-08-24 | Kouichi Teramae | Multi-media information device network system |
US7401192B2 (en) * | 2004-10-04 | 2008-07-15 | International Business Machines Corporation | Method of replicating a file using a base, delta, and reference file |
US7548928B1 (en) * | 2005-08-05 | 2009-06-16 | Google Inc. | Data compression of large scale data stored in sparse tables |
US20070088702A1 (en) * | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US7653668B1 (en) * | 2005-11-23 | 2010-01-26 | Symantec Operating Corporation | Fault tolerant multi-stage data replication with relaxed coherency guarantees |
US8756683B2 (en) * | 2006-12-13 | 2014-06-17 | Microsoft Corporation | Distributed malicious software protection in file sharing environments |
JP2008197779A (ja) * | 2007-02-09 | 2008-08-28 | Fujitsu Ltd | 階層型ストレージ管理システム、階層制御装置、階層間ファイル移動方法、及びプログラム |
US7984202B2 (en) * | 2007-06-01 | 2011-07-19 | Qualcomm Incorporated | Device directed memory barriers |
US7788233B1 (en) * | 2007-07-05 | 2010-08-31 | Amazon Technologies, Inc. | Data store replication for entity based partition |
US8887298B2 (en) * | 2007-07-13 | 2014-11-11 | Microsoft Corporation | Updating and validating documents secured cryptographically |
US20090063503A1 (en) * | 2007-09-05 | 2009-03-05 | Kevin Ward | Method and system for remote cache access |
US7872581B2 (en) * | 2007-09-28 | 2011-01-18 | Nokia Corporation | Method, devices and system for multiple RFID tag read-out |
DE102007048579B4 (de) * | 2007-10-10 | 2016-05-19 | Airbus Operations Gmbh | Mehrzweck-Flugbegleiterpanel |
US20090157766A1 (en) * | 2007-12-18 | 2009-06-18 | Jinmei Shen | Method, System, and Computer Program Product for Ensuring Data Consistency of Asynchronously Replicated Data Following a Master Transaction Server Failover Event |
US8170990B2 (en) * | 2008-05-30 | 2012-05-01 | Hitachi, Ltd. | Integrated remote replication in hierarchical storage systems |
US8301593B2 (en) * | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US7962458B2 (en) * | 2008-06-12 | 2011-06-14 | Gravic, Inc. | Method for replicating explicit locks in a data replication engine |
DE102008035601A1 (de) * | 2008-07-31 | 2010-02-04 | Walter, Thomas, Dr.-Ing. | System zum Verwalten von Dateien |
SE533007C2 (sv) * | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
KR101335101B1 (ko) * | 2009-03-19 | 2013-12-03 | 가부시키가이샤 무라쿠모 | 데이터의 복제 관리 방법 및 시스템 |
US8769055B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Distributed backup and versioning |
US20110016100A1 (en) * | 2009-07-16 | 2011-01-20 | Microsoft Corporation | Multiple fidelity level item replication and integration |
US8683161B2 (en) * | 2009-07-30 | 2014-03-25 | Franz Michael Schuette | Method and apparatus for increasing file copy performance on solid state mass storage devices |
KR101601032B1 (ko) * | 2009-12-01 | 2016-03-08 | 삼성전자주식회사 | 메모리 카드의 장착이 가능한 이동 단말기 및 그의 메모리 카드 관리 방법 |
WO2011083505A1 (en) * | 2010-01-05 | 2011-07-14 | Hitachi, Ltd. | Method and server system for testing and executing migration between virtual servers |
US8837493B2 (en) * | 2010-07-06 | 2014-09-16 | Nicira, Inc. | Distributed network control apparatus and method |
CN103125102B (zh) * | 2010-09-17 | 2016-02-24 | 甲骨文国际公司 | 用于在中间件机器环境中提供基于无限带宽的以太网虚拟集线器可伸缩性的系统和方法 |
US8732108B2 (en) * | 2010-10-07 | 2014-05-20 | International Business Machines Corporation | Rule authoring for events in a grid environment |
US8301600B1 (en) * | 2010-11-15 | 2012-10-30 | Amazon Technologies, Inc. | Failover recovery in a distributed data store |
US8442962B2 (en) * | 2010-12-28 | 2013-05-14 | Sap Ag | Distributed transaction management using two-phase commit optimization |
US9063969B2 (en) * | 2010-12-28 | 2015-06-23 | Sap Se | Distributed transaction management using optimization of local transactions |
-
2011
- 2011-08-03 ES ES11306011T patent/ES2723781T3/es active Active
- 2011-08-03 EP EP11306011.5A patent/EP2555129B1/en active Active
- 2011-08-04 US US13/136,576 patent/US8495017B2/en active Active
-
2012
- 2012-07-31 BR BR112014002501A patent/BR112014002501A2/pt not_active IP Right Cessation
- 2012-07-31 WO PCT/EP2012/064966 patent/WO2013017599A1/en active Application Filing
- 2012-07-31 KR KR1020147005533A patent/KR101623663B1/ko active Active
- 2012-07-31 CN CN201280044493.8A patent/CN103858122B/zh active Active
- 2012-07-31 AU AU2012292068A patent/AU2012292068B2/en active Active
- 2012-07-31 CA CA2848910A patent/CA2848910C/en active Active
- 2012-07-31 JP JP2014523306A patent/JP6165729B2/ja active Active
-
2014
- 2014-01-31 ZA ZA2014/00774A patent/ZA201400774B/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624155B1 (en) * | 2001-12-20 | 2009-11-24 | Emc Corporation | Data replication facility for distributed computing environments |
WO2003073206A2 (en) * | 2002-02-22 | 2003-09-04 | Bea Systems, Inc. | System and method for using a data replication service to manage a configuration repository |
CN1489052A (zh) * | 2002-10-11 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多节点文件同步系统及方法 |
US7500020B1 (en) * | 2003-12-31 | 2009-03-03 | Symantec Operating Corporation | Coherency of replicas for a distributed file sharing system |
CN102122306A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种数据处理方法及应用该方法的分布式文件系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2013017599A1 (en) | 2013-02-07 |
JP2014535081A (ja) | 2014-12-25 |
US8495017B2 (en) | 2013-07-23 |
ZA201400774B (en) | 2015-05-27 |
KR101623663B1 (ko) | 2016-05-23 |
EP2555129A1 (en) | 2013-02-06 |
CA2848910A1 (en) | 2013-02-07 |
JP6165729B2 (ja) | 2017-07-19 |
EP2555129B1 (en) | 2019-02-06 |
BR112014002501A2 (pt) | 2017-03-01 |
US20130036092A1 (en) | 2013-02-07 |
CN103858122A (zh) | 2014-06-11 |
ES2723781T3 (es) | 2019-09-02 |
AU2012292068B2 (en) | 2015-01-22 |
CA2848910C (en) | 2018-09-04 |
KR20140068916A (ko) | 2014-06-09 |
AU2012292068A1 (en) | 2013-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103858122B (zh) | 保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统 | |
US10108632B2 (en) | Splitting and moving ranges in a distributed system | |
CN101278540B (zh) | 用于保持旨在与大型数据库对接的多层软件系统中的缓存内容的一致性的系统和方法 | |
US7958088B2 (en) | Dynamic data reorganization to accommodate growth across replicated databases | |
US8005498B2 (en) | Mobile group data distribution | |
CN106777311B (zh) | 航班舱位状态缓存方法和系统 | |
JP5724735B2 (ja) | データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム | |
CN106255956A (zh) | 基于事务环境中的资源管理器实例感知支持公共事务标识符优化和事务亲密度的系统和方法 | |
US20120233122A1 (en) | System and method for session synchronization with independent external systems | |
CN108133059A (zh) | 含大规模低功率集群的异构数据库系统中联接的有效下推 | |
US20050044190A1 (en) | Configuration information management system, method, program, and program storage device | |
CN104468722A (zh) | 一种航管训练系统中训练数据分类存储的方法 | |
CN109271367A (zh) | 分布式文件系统多节点快照回滚方法及系统 | |
CN106791932A (zh) | 分布式转码系统、方法及其装置 | |
JP7568898B2 (ja) | 通信プログラム、通信方法、及び通信装置 | |
CN101017501B (zh) | 使用分布更新事件的语义网数据选择性跟踪的方法和系统 | |
CN109286642A (zh) | 一种Push主动推送速度优化的方法 | |
JP4007747B2 (ja) | 帳票データ保存管理システム | |
JPH09191319A (ja) | データ回覧システム | |
CN117354141A (zh) | 应用服务管理方法、设备和计算机可读存储介质 | |
KR100945630B1 (ko) | 인터넷 콘텐츠 유통 서비스를 위한 편차보상전송중계방법과, 편차보상 전송중계방법을 이용한 콘텐츠접근제어에 의한 유료 콘텐츠 상거래 방법 | |
Ahmed et al. | A multi-agent based replication strategy for improving availability and maintaining consistency of data in large scale mobile traffic control environments | |
Shah | An online reservation system | |
JPH0495140A (ja) | ワークステーションの保守情報管理方式 | |
JP2004199554A (ja) | 処理結果の出力情報の管理方法および出力方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |