一种同步方法、装置及系统的制作方法

文档序号:8487689阅读:219来源:国知局
一种同步方法、装置及系统的制作方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种同步方法、装置及系统。
【【背景技术】】
[0002]在多系统之间进行交互的情况下,需要对系统之间相关联的操作进行同步,使得系统之间操作的状态能够保持一致。现有技术中实现操作的同步方法是利用XA协议实现的,XA 协议是 X/Open 分布式事务处理(Distributed Transact1n Process1n,DTP)组织定义的协议,X/Open DTP模型包括应用程序、事务管理器、资源管理器和通信资源管理器四部分。在该模型中,资源管理器需要支持XA协议,并根据XA协议中定义的两阶段提交机制,先进行预提交操作,再进行正式提交操作或者执行回滚操作。
[0003]然而,上述操作的同步方法的实现要求参与同步的主体,必须支持XA协议,而且上述操作的同步方法的实现只能保证资源管理器中数据的状态一致性,而不能实现多系统之间的业务操作的状态保持一致,因此,现有技术中的同步方法的可靠性和通用性比较低。

【发明内容】

[0004]有鉴于此,本发明实施例提供了一种同步方法、装置及系统,可以实现提高多系统间同步操作的可靠性和通用性。
[0005]本发明实施例的一方面,提供一种同步方法,包括:
[0006]协调单元接收第一发起单元发送的第一状态信息;所述第一状态信息为所述第一发起单元根据业务逻辑的预操作过程中的执行结果执行相对应的操作后生成的;
[0007]所述协调单元确定与所述第一发起单元对应的参与单元;
[0008]所述协调单元向与所述第一发起单元对应的参与单元,发送所述第一状态信息,以使得所述参与单元根据所述第一状态信息,执行相对应的操作。
[0009]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述协调单元确定与所述第一发起单元对应的参与单元,包括:
[0010]所述协调单元根据所述第一发起单元的流水号、预先获得的第一发起单元的流水号与参与单元的流水号之间的关联关系,确定与所述第一发起单元对应的参与单元。
[0011]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述协调单元根据所述第一发起单元的流水号、预先获得的第一发起单元的流水号与参与单元的流水号之间的关联关系,确定与所述第一发起单元对应的参与单元之前,所述方法还包括:
[0012]所述协调单元根据所述第一发起单元通过交互接口发送的指示,创建所述第一发起单元的流水号;
[0013]所述协调单元根据所述参与单元通过交互接口发送的指示,创建所述参与单元的流水号;
[0014]所述协调单元建立所述第一发起单元的流水号与所述参与单元的流水号之间的关联关系。
[0015]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述相对应的操作包括提交操作,所述第一状态信息包括提交状态;或者,所述相对应的操作包括回滚操作,所述第一状态信息包括回滚状态。
[0016]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述协调单元确定未发送第二状态信息的第二发起单元;
[0017]所述协调单元通过交互接口,从所述第二发起单元获得所述第二状态信息;
[0018]若所述第二状态信息为提交状态或者回滚状态,所述协调单元向与所述第二发起单元对应的参与单元,发送所述第二状态信息,以使得与所述第二发起单元对应的参与单元,根据所述第二状态信息,执行相对应的操作。
[0019]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0020]所述协调单元确定所述参与单元中,未发送所述相对应的操作的执行结果的参与单元;
[0021]所述协调单元通过交互接口,向未发送所述执行结果的参与单元,发送所述第一状态信息,以使得所述未发送所述执行结果的参与单元,根据所述第一状态信息,执行相对应的操作。
[0022]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述交互接口包括表述性状态传递REST-ful接口、简单对象访问协议SOAP接口或者远程过程调用协议RPC接口。
[0023]本发明实施例的一方面,提供一种同步装置,包括:
[0024]交互模块,用于接收第一发起单元发送的第一状态信息;所述第一状态信息为所述第一发起单元根据业务逻辑的预操作过程中的执行结果执行相对应的操作后生成的;
[0025]处理模块,用于确定与所述第一发起单元对应的参与单元;
[0026]所述交互模块,还用于向与所述第一发起单元对应的参与单元,发送所述第一状态信息,以使得所述参与单元根据所述第一状态信息,执行相对应的操作。
[0027]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理模块,具体用于:
[0028]根据所述第一发起单元的流水号、预先获得的第一发起单元的流水号与参与单元的流水号之间的关联关系,确定与所述第一发起单元对应的参与单元。
[0029]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
[0030]创建模块,用于根据所述第一发起单元通过交互接口发送的指示,创建所述第一发起单元的流水号;以及,根据所述参与单元通过交互接口发送的指示,仓Il建所述参与单元的流水号;以及,建立所述第一发起单元的流水号与所述参与单元的流水号之间的关联关系O
[0031]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述相对应的操作包括提交操作,所述第一状态信息包括提交状态;或者,所述相对应的操作包括回滚操作,所述第一状态信息包括回滚状态。
[0032]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理模块,还用于确定未发送第二状态信息的第二发起单元;
[0033]所述交互模块,还用于通过交互接口,从所述第二发起单元获得所述第二状态信息;
[0034]所述交互模块,还用于若所述第二状态信息为提交状态或者回滚状态,向与所述第二发起单元对应的参与单元,发送所述第二状态信息,以使得与所述第二发起单元对应的参与单元,根据所述第二状态信息,执行相对应的操作。
[0035]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理模块,还用于确定所述参与单元中,未发送所述相对应的操作的执行结果的参与单元;
[0036]所述交互模块,还用于通过交互接口,向未发送所述执行结果的参与单元,发送所述第一状态信息,以使得所述未发送所述执行结果的参与单元,根据所述第一状态信息,执行相对应的操作。
[0037]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述交互接口包括表述性状态传递REST-ful接口、简单对象访问协议SOAP接口或者远程过程调用协议RPC接口
[0038]本发明实施例的一方面,提供一种同步系统,包括协调单元、第一发起单元和参与单元;其中,
[0039]所述第一发起单元,用于根据业务逻辑的预操作过程中的执行结果执行相对应的操作,生成第一状态信息,以及向所述协调单元发送所述第一状态信息;
[0040]所述协调单元,用于确定与所述第一发起单元对应的所述参与单元;以及,向与所述第一发起单元对应的所述参与单元,发送所述第一状态信息;
[0041]所述参与单元,用于根据所述第一状态信息,执行相对应的操作。
[0042]由以上技术方案可以看出,本发明实施例具有以下有益效果:
[0043]本发明实施例中,协调单元接收第一发起单元发送的第一状态信息,以及向与所述第一发起单元对应的参与单元,发送所述第一状态信息,以使得所述参与单元根据所述第一状态信息,执行相对应的操作,从而实现参与单元与第一发起单元之间操作同步,以及状态保持一致。本发明实施例所提供的技术方案中,不需要参与同步的主体必须支持XA协议,并且能够实现多系统之间的业务操作的一致性以及状态的一致性,因此,本发明实施例提供的技术方案能够提高多系统间同步操作的可靠性和通用性。
【【附图说明】】
[0044]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0045]图1是本发明实施例所提供的技术方案使用的系统示例图;
[0046]图2是本发明实施例所提供的同步方法的流程示意图;
[0047]图3是本发明实施例所提供的同步方法的实施例七的交互示例图;
[0048]图4是本发明实施例所提供的同步方法的实施例八的交互示例图;
[0049]图5是本发明实施例所提供的同步方法的实施例九的交互示例图;
[0050]图6是本发明实施例所提供的同步方法的实施例十的交互示例图;
[0051]图7是本发明实施例所提供的同步装置的功能方块图;
[0052]图8是本发明实施例所提供的同步系统的结构示例图。
【【具体实施
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1