[发明专利]服务器集群的事务处理方法无效
申请号: | 201010526954.8 | 申请日: | 2010-10-25 |
公开(公告)号: | CN102457559A | 公开(公告)日: | 2012-05-16 |
发明(设计)人: | 焦旭东;陈志丰 | 申请(专利权)人: | 英业达股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 梁挥;张燕华 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务器 集群 事务处理 方法 | ||
技术领域
本发明涉及一种服务器集群的事务处理方法,特别涉及一种整合服务器集群的所有的节点服务器进行事务处理的方法。
背景技术
服务器集群(cluster)的技术是对外提供统一的服务接口(service),并由多个服务器(server)协调工作,其中每一个服务器被称为集群的一个节点(node)。外部的发起者(sponsor)需要集群进行各种称为“事务(transaction)”的操作,而这种集群中的操作往往需要由多个节点参与才能完成。一个事务可能包含多个步骤(step),且每个步骤可能需要不同的节点负责完成。例如一个事务可能要求将一个资源(resource)在节点之间进行迁移(migrate),则这个事务可能会有“发起事务”、“放弃对指定资源的控制”、“接管指定资源”以及“结束事务”等步骤。
由于事务发生在多个节点上,需要解决节点间信息传递的问题。传统上负责第一个步骤的节点执行完毕后,需要将剩余的步骤的数据传送给负责下一个步骤的节点。一旦某次节点之间传递的信息有所缺漏,就会造成后续的步骤无法执行或是执行失败。因此现有的节点运作方式以及信息传递方式并不可靠。
且在现实情况中会有各种意外情况发生,因此每一个步骤都有失败的可能。然而由于传统的做法上各节点都是独立运作,因此节点之间无法得知彼此执行的状况。如此一来,便无法得知整个事务的执行状况;甚至在发生错误时,连是哪一个节点执行失败都不知道。也就是说,现有的做法具有难以掌控事务的执行情况,以及缺乏甚至是难以执行异常处理的缺点。
发明内容
为了解决上述问题,本发明的目的在于提出一种服务器集群(cluster)的事务(transaction)处理方法,其适用于利用具有多个节点(node)服务器的一服务器集群处理一事务。
为了实现上述目的,本发明提供的服务器集群的事务处理方法包括:接收从一发起者(sponsor)发出的事务,其中事务包括至少一事务步骤(step);将事务的一事务信息储存于一数据库,其中事务信息包括所有事务的事务步骤;通知至少一个节点服务器的一动作服务(action service)程序,依序执行储存于数据库中的事务步骤;以及回报事务的一事务执行结果给发起者,以结束事务。
事务信息可包括每一个事务步骤对应的一节点服务器代号。且每一个节点服务器代号分别对应于节点服务器之一。而“通知至少一个节点服务器的一动作服务程序,依序执行储存于数据库中的事务步骤”的步骤可包括:由数据库依序读取事务信息中彼此对应的事务步骤以及节点服务器代号;以及通知与事务步骤对应的节点服务器的动作服务程序的一动作服务接口,令动作服务程序执行对应的事务步骤。
其中动作服务程序包括:读取事务信息的一事务本文(context,又称为上下文)、对应的事务步骤的一动作参数;依据读取的事务本文以及动作参数执行事务步骤;以及将对应的事务步骤的一目前执行状态回传给事务服务程序,并将目前执行状态写入数据库的事务信息。
根据一实施范例,服务器集群的事务处理方法还可包括:当事务服务程序接收到失败的目前执行状态时,执行一异常处理程序,异常处理程序包括:由最后一个成功的事务步骤开始到第一个事务步骤为止,依序对已经执行过的事务步骤执行反动作(anti-action),以将服务器集群回复到执行事务之前的状态。
上述的服务器集群的事务处理方法可以由一事务服务(transaction server)程序执行。事务服务程序可以配置于服务器集群的节点服务器之一;也可配置于一管理服务器,且管理服务器不属于服务器集群。事务服务程序可通过一统一的事务服务接口(interface)接收事务。而统一的事务服务接口可以是一固定的接口地址(socket address)或是一应用程序接口(application program interface,API)。
综上所述,事务服务程序统整所有节点服务器的动作服务程序以执行事务步骤,并了解事务的所有事务步骤的运作状况。因此节点服务器之间不需要进行多余的数据传递动作,事务服务程序也能够实时发现执行失败等异常,并执行异常处理程序。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1A为一实施范例的服务器集群的示意图;
图1B为另一实施范例的服务器集群的示意图;
图2为一实施范例的事务服务程序的示意图;
图3为一实施范例的动作服务程序的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达股份有限公司,未经英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010526954.8/2.html,转载请声明来源钻瓜专利网。