一种基于事件机制的数据一致性控制方法及装置制造方法

文档序号:6628805阅读:135来源:国知局
一种基于事件机制的数据一致性控制方法及装置制造方法
【专利摘要】本发明实施例公开了一种基于事件机制的数据一致性控制方法及装置,一种基于事件机制的数据一致性控制方法,包括以下步骤:依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点;监听所确定的前置事务是否启动;在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点;在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息;根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。应用本发明实施例所提供的技术方案,保证了不能纳入同一个事务但需有序进行处理的数据操作的数据的一致性。
【专利说明】
一种基于事件机制的数据一致性控制方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种基于事件机制的数据一致性控制方法及装置。

【背景技术】
[0002]在计算机系统中,为保证各应用环节所使用的数据的一致性,通用的方法是,将多个数据操作进行捆绑,纳入同一个事务并执行。一个事务就是一个不可分割的工作单位,事务中所包含的数据操作要么都做要么都不做,这样可以保证事务外的数据使用方不会获得该事务在数据处理变化过程中产生的错误数据。
[0003]但在实际应用中,有的场景并不适合将所有的数据操作都纳入同一个事务进行处理。比如,在某场景中,前置数据操作和后序数据操作需要有序进行,即后序数据操作需能够得到前置数据操作的处理结果,但不依赖于前置数据操作的成功。如果将后序数据操作和前置数据操作纳入同一个事务,由于事务的捆绑特性,会导致前置数据操作和后序数据操作要么都成功执行,要么都执行失败,与预期不符,所以不能将二者纳入同一个事务进行处理。另外,当前置数据操作和后序数据操作存在跨地域、跨系统等分布式场景时,大部分情况下也不能将二者纳入同一个事务进行处理。
[0004]目前对于跨事务的数据操作,尤其是对于不能纳入同一个事务但需有序进行处理的数据操作,在保证数据一致性方面还没有比较有效的方法。


【发明内容】

[0005]为解决上述问题,本发明实施例公开了一种基于事件机制的数据一致性控制方法及装置。技术方案如下:
[0006]一种基于事件机制的数据一致性控制方法,包括:
[0007]依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息;
[0008]监听所确定的前置事务是否启动;
[0009]在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点;
[0010]在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息;
[0011]根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
[0012]在本发明的一种【具体实施方式】中,所述监听所确定的前置事务是否启动,包括:
[0013]监测所确定的前置事务是否启动;
[0014]或者,
[0015]监听是否接收到所确定的前置事务的启动的通知消息,如果监听到,则表明所确定的前置事务已启动。
[0016]在本发明的一种【具体实施方式】中,所述在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点,包括:
[0017]在监听到所确定的前置事务启动后,监测当前启动的前置事务是否达到相应的切入点;
[0018]或者,
[0019]在监听到所确定的前置事务启动后,监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已达到相应的切入点。
[0020]在本发明的一种【具体实施方式】中,所述根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动,包括:
[0021]根据所确定的事件的标识,获得执行该事件所需的参数定义;
[0022]根据获得的执行该事件所需的参数定义,为该事件的注册信息中的执行该事件所需的参数赋值,以执行该事件,进而触发该事件对应的后序事务的启动。
[0023]在本发明的一种【具体实施方式】中,所述前置事务的切入点至少包括所述前置事务提交开始时或者所述前置事务提交完成时。
[0024]一种基于事件机制的数据一致性控制装置,包括:
[0025]第一确定单元,用于依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息;
[0026]第一监听单元,用于监听所述第一确定单元所确定的前置事务是否启动;
[0027]第二监听单元,用于在所述第一监听单元监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点;
[0028]第二确定单元,用于在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息;
[0029]事件执行单元,用于根据所述第二确定单元确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
[0030]在本发明的一种【具体实施方式】中,所述第一监听单元具体用于:
[0031]监测所确定的前置事务是否启动;
[0032]或者,
[0033]监听是否接收到所确定的前置事务的启动的通知消息,如果监听到,则表明所确定的前置事务已启动。
[0034]在本发明的一种【具体实施方式】中,所述第二监听单元具体用于:
[0035]在监听到所确定的前置事务启动后,监测当前启动的前置事务是否达到相应的切入点;
[0036]或者,
[0037]在监听到所确定的前置事务启动后,监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已达到相应的切入点。
[0038]在本发明的一种【具体实施方式】中,所述事件执行单元,包括:
[0039]参数定义获得子单元,用于根据所述第二确定单元所确定的事件的标识,获得执行该事件所需的参数定义;
[0040]参数信息赋值子单元,用于根据参数定义获得子单元获得的执行该事件所需的参数定义,为该事件的注册信息中的执行该事件所需的参数赋值,以执行该事件,进而触发该事件对应的后序事务的启动。
[0041]在本发明的一种【具体实施方式】中,所述前置事务的切入点至少包括所述前置事务提交开始时或者所述前置事务提交完成时。
[0042]本发明实施例所提供的技术方案,依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,当监听到当前启动的前置事务达到相应的切入点时,执行在该切入点注册的事件,以触发该事件对应的后序事务的启动。应用本发明实施例所提供的技术方案,在进行事件注册时,根据实际需求,将事件注册在前置事务的不同切入点,在相应的切入点执行各事件以触发各事件对应的后序事务的启动,从而保证了不能纳入同一个事务但需有序进行处理的数据操作的数据的一致性。

【专利附图】

【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本发明实施例中基于事件机制的数据一致性控制方法的一种实施流程图;
[0045]图2为本发明实施例中基于事件机制的数据一致性控制方法的另一种实施流程图;
[0046]图3为本发明实施例中基于事件机制的数据一致性控制装置的一种结构示意图。

【具体实施方式】
[0047]首先对本发明实施例所提供的一种基于事件机制的数据一致性控制方法进行说明,该方法可以包括以下步骤:
[0048]依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息;
[0049]监听所确定的前置事务是否启动;
[0050]在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点;
[0051]在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息;
[0052]根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
[0053]前置事务和后序事务是相对而言,在某一事务中进行事件注册,可以将该事务称之为前置事务,将该事件对应的待启动的事务称之为后序事务。可以理解的是,前置事务和后序事务可以是各自模块内的数据库事务,还可以是一个模块内的不同的数据库事务。这里所说的模块可以是线程、进程、网络socket、或者业务模块等。
[0054]如下例中,后序事务的启动通过在前置事务中注册的事件实现:
[0055]〈前置事务启动〉
[0056]数据操作I
[0057]数据操作2
[0058]......
[0059]事件注册
[0060]......
[0061]数据操作η
[0062]<前置事务提交>
[0063]本发明实施例所提供的技术方案,依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,当监听到当前启动的前置事务达到相应的切入点时,执行在该切入点注册的事件,以触发该事件对应的后序事务的启动。应用本发明实施例所提供的技术方案,在进行事件注册时,根据实际需求,将事件注册在前置事务的不同切入点,在相应的切入点执行各事件以触发各事件对应的后序事务的启动,从而保证了不能纳入同一个事务但需有序进行处理的数据操作的数据的一致性。
[0064]为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065]如图1所示,为本发明实施例提供的一种基于事件机制的数据一致性控制方法的实施流程图,该方法可以包括以下步骤:
[0066]S110,依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点;
[0067]在实际应用中,需预先在前置事务中进行事件注册,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息。
[0068]为便于理解,将每个事件的注册信息中所包含的内容做进一步详细说明。
[0069]该事件的标识:即该事件的注册标识,可以保证该事件的唯一性,也是触发该事件执行的依据;
[0070]该事件所属的前置事务的标识:即将该事件注册在了哪一个前置事务中;
[0071]执行该事件对应的前置事务的切入点:即在前置事务的哪一个切入点执行该事件;
[0072]执行该事件所需的参数信息:即执行该事件需要对其所需的参数赋予何值。
[0073]事件的触发执行取决于具体数据存储的底层框架支持,任何支持事务的数据存储方式至少存在两个触发切入点,分别是:事务提交开始时和事务提交完成时。事务提交开始时是指所有数据操作正常,开始通过数据存储支持进行数据持久化;事务提交完成时是指所有数据变动完成持久化,其他使用方已经可以对其进行数据操作。为满足各种情况下的控制需求,事件的触发执行可以支持以下方式:
[0074]第一种方式:立即同步执行事件;
[0075]第二种方式:立即异步执行事件;
[0076]第三种方式:事件所在事务提交开始时同步执行该事件;
[0077]第四种方式:事件所在事务提交开始时异步执行该事件;
[0078]第五种方式:事件所在事务提交结束时同步执行该事件;
[0079]第六种方式:事件所在事务提交结束时异步执行该事件。
[0080]在前置事务中,预先进行事件注册时,对所注册的事件的标识和执行该事件所需的参数进行定义,这些事件的注册信息和事件定义由事件管理器进行管理和支持。事件管理器依据注册信息中的该事件所属的前置事务的标识和执行该事件对应的前置事务的切入点,可以确定哪些前置事务和其切入点为待监听的前置事务和该前置事务的切入点。
[0081]如例1,对于某一已注册的事件,以A、B、C、D分别表示该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点、执行该事件所需的参数信息,那么对于已注册的事件X、事件Y、事件Z的注册信息可以分别为:
[0082]事件X的注册信息[Ax,Bx, Cx, Dx];
[0083]事件Y的注册信息[AY,Bx, CY, Dy];
[0084]事件Z的注册信息[Az,Bz, Cz, Dz]。
[0085]从上述注册信息可以得知,事件X和事件Y都是注册在前置事务Bx中的事件,切入点Cx和Cy分别为执行事件X和事件Y对应的前置事务Bx的切入点,事件Z是注册在前置事务Bz中的事件,切入点Cz为执行事件Z对应的前置事务Bz的切入点。依据上述注册信息,可以将前置事务Bx和前置事务Bz确定为待监听的前置事务,相应的,前置事务Bx的切入点为Cx和CY,前置事务Bz的切入点为Cz。
[0086]S120,监听所确定的前置事务是否启动;
[0087]步骤SllO确定待监听的前置事务后,对所确定的前置事务进行监听,监听其是否启动。
[0088]在本发明的一种【具体实施方式】中,监听所确定的前置事务是否启动的方法可以是,监测所确定的前置事务是否启动,即由事件管理器采取主动监测的方式,监测所确定的前置事务是否启动。
[0089]在本发明的另一种【具体实施方式】中,监听所确定的前置事务是否启动的方法还可以是,监听是否接收到所确定的前置事务启动的通知消息,如果监听到,则表明所确定的前置事务已启动。
[0090]在这种实施方式中,可以对前置事务进行设定,当前置事务启动时,向事件管理器发送通知消息,由事件管理器监听所接收到的通知消息,判断其是否是所确定的前置事务启动的通知消息,如果是,则表明所确定的前置事务已经启动。
[0091]S130,在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点;
[0092]在实际应用中,可以将多个事件注册在同一个前置事务中,执行每个事件对应相同或不同的该前置事务的切入点。在步骤S120监听到所确定的前置事务启动后,继续监听当前启动的前置事务是否达到相应的切入点。如例I中,事件X和事件Y都注册在前置事务Bx中,其对应的前置事务BX的切入点分别为Cx和CY。当监听到前置事务Bx启动后,继续监听当前启动的前置事务Bx是否达到切入点Cx或CY。
[0093]在本发明的一种【具体实施方式】中,监听当前启动的前置事务是否达到相应的切入点的方法可以是,监测当前启动的前置事务是否达到相应的切入点,即由事件管理器采取主动监测的方式,监测当前启动的前置事务是否达到相应的切入点。
[0094]在本发明的另一种【具体实施方式】中,监听当前启动的前置事务是否达到相应的切入点的方法还可以是,监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已达到相应的切入点。
[0095]在这种实施方式中,可以对前置事务进行设定,当前置事务启动并达到其对应的切入点时,向事件管理器发送通知消息,事件管理器监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已经达到相应的切入点。
[0096]S140,在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息;
[0097]在步骤S130监听到已达到当前启动的前置事务的切入点的情况下,通过该前置事务的切入点,可以确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息。可以理解的是,在预先注册的事件的注册信息中至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息。可以将当前启动的前置事务的切入点与注册信息中的该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点进行匹配,则可以获得相应的事件的注册信息,从而在获得的注册信息中确定该事件的标识和执行该事件所需的参数信息。
[0098]如前面所例举的例I中,如果监听到前置事务Bx已启动,并达到其切入点Cx时,通过该信息可以获得相对应的事件X的注册信息,从事件X的注册信息中可以确定与当前启动的前置事务Bx的切入点Cx对应的事件X的标识为Ax,执行该事件X所需的参数信息为Dxo同样,当达到当前启动的前置事务Bx的切入点Cy时,通过BX、CY信息可以获得相对应的事件Y的注册信息,从事件Y的注册信息中可以确定与当前启动的前置事务Bx的切入点Cy对应的事件Y的标识为Αγ,执行该事件Y所需的参数信息为DY。
[0099]S150,根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
[0100]在步骤S140确定了与当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息,即该事件为注册在当前启动的前置事务的切入点的事件,执行该事件,从而触发该事件对应的后序事务的启动。也就是说,后序事务的启动,进行的数据操作取决于事件注册时的切入点。如果将事件注册的切入点设为事务提交完成时,则可以消除前置事务提交和后序事务执行之间的时间差,从而确保有序独立事务执行时的数据一致性。
[0101]参见图2所示,在本发明的一个实施例中,步骤S150根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动,具体可以包括以下步骤:
[0102]S151,根据所确定的事件的标识,获得执行该事件所需的参数定义;
[0103]如前所述,在前置事务中,预先进行事件注册时,对所注册的事件的标识和执行该事件所需的参数进行定义,这些事件的注册信息和事件定义由事件管理器进行管理和支持。事件管理器根据步骤S140所确定的事件的标识,通过查询方式获得相应的执行该事件所需的参数定义,即事件正确执行所需要的初始化数据定义。
[0104]S152,根据获得的执行该事件所需的参数定义,为该事件的注册信息中的执行该事件所需的参数赋值,以执行该事件,进而触发该事件对应的后序事务的启动。
[0105]在前置事务中进行事件注册时,程序运行上下文处于前置事务中,可以获得前置事务的句柄和底层信息。在步骤S151获得执行该事件所需的参数定义后,根据该参数定义,通过实例化句柄和为该事件的注册信息中的执行该事件所需的参数赋值以完成事件的执行,进而触发该事件对应的后序事务的启动。
[0106]本发明实施例所提供的技术方案,依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,当监听到当前启动的前置事务达到相应的切入点时,执行在该切入点注册的事件,以触发该事件对应的后序事务的启动。应用本发明实施例所提供的技术方案,在进行事件注册时,根据实际需求,将事件注册在前置事务的不同切入点,在相应的切入点执行各事件以触发各事件对应的后序事务的启动,从而保证了不能纳入同一个事务但需有序进行处理的数据操作的数据的一致性。
[0107]相应于上面的方法实施例,本发明还提供一种基于事件机制的数据一致性控制装置,如图3所示,该装置可以包括:
[0108]第一确定单元210,用于依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息;
[0109]第一监听单元220,用于监听所述第一确定单元210所确定的前置事务是否启动;
[0110]第二监听单元230,用于在所述第一监听单元220监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点;
[0111]第二确定单元240,用于在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息;
[0112]事件执行单元250,用于根据所述第二确定单元240确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
[0113]在本发明的一种【具体实施方式】中,所述第一监听单元220具体用于:
[0114]监测所确定的前置事务是否启动;
[0115]或者,
[0116]监听是否接收到所确定的前置事务的启动的通知消息,如果监听到,则表明所确定的前置事务已启动。
[0117]在本发明的一种【具体实施方式】中,所述第二监听单元220具体用于:
[0118]在监听到所确定的前置事务启动后,监测当前启动的前置事务是否达到相应的切入点;
[0119]或者,
[0120]在监听到所确定的前置事务启动后,监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已达到相应的切入点。
[0121]在本发明的一种【具体实施方式】中,所述事件执行单元250,包括:
[0122]参数定义获得子单元,用于根据所述第二确定单元240所确定的事件的标识,获得执行该事件所需的参数定义;
[0123]参数信息赋值子单元,用于根据参数定义获得子单元获得的执行该事件所需的参数定义,为该事件的注册信息中的执行该事件所需的参数赋值,以执行该事件,进而触发该事件对应的后序事务的启动。
[0124]在本发明的一种【具体实施方式】中,所述前置事务的切入点至少包括所述前置事务提交开始时或者所述前置事务提交完成时。
[0125]本发明实施例所提供的装置,依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,当监听到当前启动的前置事务达到相应的切入点时,执行在该切入点注册的事件,以触发该事件对应的后序事务的启动。应用本发明实施例所提供的装置,在进行事件注册时,根据实际需求,将事件注册在前置事务的不同切入点,在相应的切入点执行各事件以触发各事件对应的后序事务的启动,从而保证了不能纳入同一个事务但需有序进行处理的数据操作的数据的一致性。
[0126]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0127]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0128]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0129]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种基于事件机制的数据一致性控制方法,其特征在于,包括: 依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息; 监听所确定的前置事务是否启动; 在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入占.在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息; 根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
2.根据权利要求1所述的方法,其特征在于,所述监听所确定的前置事务是否启动,包括: 监测所确定的前置事务是否启动; 或者, 监听是否接收到所确定的前置事务的启动的通知消息,如果监听到,则表明所确定的前置事务已启动。
3.根据权利要求1所述的方法,其特征在于,所述在监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点,包括: 在监听到所确定的前置事务启动后,监测当前启动的前置事务是否达到相应的切入占.或者, 在监听到所确定的前置事务启动后,监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已达到相应的切入点。
4.根据权利要求1所述的方法,其特征在于,所述根据确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动,包括: 根据所确定的事件的标识,获得执行该事件所需的参数定义; 根据获得的执行该事件所需的参数定义,为该事件的注册信息中的执行该事件所需的参数赋值,以执行该事件,进而触发该事件对应的后序事务的启动。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述前置事务的切入点至少包括所述前置事务提交开始时或者所述前置事务提交完成时。
6.一种基于事件机制的数据一致性控制装置,其特征在于,包括: 第一确定单元,用于依据预先注册的事件的注册信息,确定待监听的前置事务和该前置事务的切入点,每个事件对应一个待启动的后序事务,每个事件的注册信息至少包含该事件的标识、该事件所属的前置事务的标识、执行该事件对应的前置事务的切入点和执行该事件所需的参数信息; 第一监听单元,用于监听所述第一确定单元所确定的前置事务是否启动; 第二监听单元,用于在所述第一监听单元监听到所确定的前置事务启动后,监听当前启动的前置事务是否达到相应的切入点; 第二确定单元,用于在达到当前启动的前置事务的切入点时,确定与该当前启动的前置事务的切入点对应的事件的标识和执行该事件所需的参数信息; 事件执行单元,用于根据所述第二确定单元确定的事件的标识和执行该事件所需的参数信息,执行该事件,以触发该事件对应的后序事务的启动。
7.根据权利要求6所述的装置,其特征在于,所述第一监听单元具体用于: 监测所确定的前置事务是否启动; 或者, 监听是否接收到所确定的前置事务的启动的通知消息,如果监听到,则表明所确定的前置事务已启动。
8.根据权利要求6所述的装置,其特征在于,所述第二监听单元具体用于: 在监听到所确定的前置事务启动后,监测当前启动的前置事务是否达到相应的切入占.或者, 在监听到所确定的前置事务启动后,监听是否接收到当前启动的前置事务达到相应的切入点的通知消息,如果监听到,则表明当前启动的前置事务已达到相应的切入点。
9.根据权利要求6所述的装置,其特征在于,所述事件执行单元,包括: 参数定义获得子单元,用于根据所述第二确定单元所确定的事件的标识,获得执行该事件所需的参数定义; 参数信息赋值子单元,用于根据参数定义获得子单元获得的执行该事件所需的参数定义,为该事件的注册信息中的执行该事件所需的参数赋值,以执行该事件,进而触发该事件对应的后序事务的启动。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述前置事务的切入点至少包括所述前置事务提交开始时或者所述前置事务提交完成时。
【文档编号】G06F9/52GK104239145SQ201410508717
【公开日】2014年12月24日 申请日期:2014年9月28日 优先权日:2014年9月28日
【发明者】樊京鑫, 李顺龙 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1