并行大型分布系统中事务的切分方法

文档序号:6452755阅读:172来源:国知局
专利名称:并行大型分布系统中事务的切分方法
技术领域
本发明涉及在一个交互式的网络环境中,大型分布式并行数字化数据处理和管理 系统。
背景技术
在一个数字系统中的某一个执行单元被启动后,这个执行过程可能会造成系统中 许多永久存储点(数据库,文件,外部系统等)的内容发生变化。经常,这些变化必须一起 成功或失败,否则系统数据的完整性将被永久性损坏。在目前技术中,保证这种一致性的办 法是采用一个事务管理系统,把所有需要一起发生的变化收集在同一个事务里;在相关的 执行结束后,事务管理系统根据其结果确定所有收集到的改变是否发生,并保证发生的一 致性。在事务收集可能变化的过程中,所有的变化所牵涉到的一些资源(数据)的使用 必须受到限制,因为,在该事务结束之前,其中的资源是不能被使用的,这种限制称为锁定, 事务完的统一性也是建立在这种锁定的基础之上的,否则就无法真正实现事务的完整性。 由此可见,这种锁定必然有可能影响该环境中其他它执行(如果它们需要使用同样资源) 的进展。锁定的时间越长,该事物对系统运行的负面影响也越大。在一个开放合作的环境中,一个事物可能无法选择地牵涉到多个不曾相关的数字 系统。如果其中任何一个系统执行缓慢,其它系统就可能会发现由于其中一些资源经常被 长期锁定造成该系统无法正常向其它执行提供正常服务。以上所述的事务管理系统是成熟技术并被广泛应用。通用事物管理系统大规模用 于开放合作的环境的例子还不存在。为特殊应用(如工作流)设计的长时间事物管理系统 已有很多。

发明内容
本发明所要解决的技术问题是,提供一种并行大型分布系统中事务的切分的方 法,在大型分布式并行数字化数据处理和管理系统中,如果因某个系统执行缓慢,长时间锁 定部分资源,因此造成整个事务执行缓慢时,仍然可以使部分的资源进行解锁,为其他事务 提供相应的服务。为完成上述发明目的,本发明是这样实现的,一种并行型分布系统中事务的切分 方法。它应用于一个开放合作的环境中,该开放合作的环境中的包括若干个服务器和客户 端;每个客户端可以向不同服务器提交任务,每个服务器可以将任务分解为一系列子任务 再次发放给不同的服务器,以此类推;每个任务和子任务的规定和完成的结果都由不可以 改变形成的数据单元来传递;任务完成的过程中可以造成一系列数据存储点的内容改变, 这样一个存储点称为一个资源,一个资源由许多任务共享;一个任务完成过程中所有资源 的操作形成一个事务,该事务有一个管理者;为保证任务完成时不同资源里的数据变化的 一致性,事务管理者有权锁定某些涉及到的资源,拒绝其它事务在这些资源的某些操作,直至事务结束;所述的事务用于管理任务需要的资源管理;其特征在于在该任务涉及的资 源中,每个子任务可以只涉及其中的一部分;这一部分资源的操作可以另立事务管理,从而 实现切割原事务管理的总资源。该方案因在原事务内部开启新事务,同时新事务对应相应的存储点,而新事务的 开启并不会影响整个事务的执行,因此实现了原事务与新事务的并列执行。在一个事务的 执行中,如果某一子系统运行需要很长时间,则事务会锁定所有资源,而使其他系统无法使 用,从而会影响整个系统的性能;而该方案中,由于启动了一个新事务,新事物管理的资源 可以随相应子系统的完成而解锁,使系统得以把这些资源提供给其它任务,大幅度提高系 统的可用性。对上述方案作进一步的限定,当原事务的执行不依赖于子执行的结果时,原事务 保存该子执行的执行者和数据单元;待事务执行成功后,建立新事务,执行该新事务。如事 务所执行失败,其新事务被遗弃。所述的新事务执行失败后,其由于新事务所产生的数据单 元自动保存在该子执行所对应的存储点上;不会对系统文件造成任何改变。对上述方案作进一步的限定,当原事务的执行需要子执行的结果,则原事务收集 资料,建立新事物,并执行新事务。所述的资料包括新事务的执行者和退回执行者以及相关 的执行和退回执行的数据单元。如新事务失败则整个事务回滚。如原事务最终提交成功, 则原事务管理器遗弃保存的新事务的退回者;原事务最终失败,则执行新事务的退回执行。 在执行过程中,由于系统之间的相互依赖关系,可能会出现一种情况就是原事务的执行需 要依赖子执行的结果,这时,就需要由当前原事务收集资料,建立新事务,当然在建立新事 务的同时,还需要考虑到,如果事务不执行成功,而子执行已经执行过了,则需要将新事务 的退回者保存,以便回滚。上述技术方案,主要是用于解决,日常编程中,有一些资源会被长时间占用,而其 他系统又需要这些资源。因此,这些资源只能等原事务执行完毕后才能启动。采用事务切 割后,新事物可以在确实需要资源时才实施锁定,而一旦子任务完成,立即释放所有资源从 而实现资源的提前利用。采用上述事务切分方法去切分事务,在宏观上保证了原事务的基本特性,即所有 资源的变化统一成功或取消;但同时又允许一些重要资源被快速释放。尤其重要的是,这个 方法在的使用是完全本地的操作,即,除了切分点(子任务分配的地方)外,不涉及任何其 它系统,尤其是它不需要原事务管理者对整体的协调有任何更变;在一个大型开放系统中, 这是十分重要的。类比说明为了更加准确的说明本专利优点,下面我们用类比的办法对本专利作进一步的描 述该事务切分的执行原理。假设有一个大型装修项目,它在准备过程中会牵涉到很多各类商家,如建材供应 商,家电供应商,地板供应商,工程队,装饰公司,等等,其中相当部分可能从来不曾合作过。 假设这些商家以及房主都在上述开放系统里有自己的管理系统,而这个装修工程本身被作 为一个任务在该系统里完成,则以下是一个可行的完成办法。总任务被分解为一系列子任务,如地板装修,棚顶及墙壁装修,还有厨房,多媒体 系统等等。每一个子任务又被分为一系列子任务。例如,墙壁装修队需要涂料,它会去自己的供应商处提货;以此类推,整个装修工程就可以完成了。由于我们的例子是由数字系统来完成任务的,它要求所有的活动的成功或失败是 相关的。比如,如果涂料供应商正好缺货,而其他任务都按计划完成,那么地板,厨房,音响 设备就都装在没有粉刷的房间里了。数字系统不像人工系统,除非事先设计好,它没有应变 能力。为了防止这个情况出现,当前系统把所有的资源变化收集在一个事务里。事务中 任何一个失败都导致所有其它资源的变化不发生,称为回滚。在上面例子里,如果涂料断 货,则整个装修回滚,所有任务退回原样,就像任何事都没有发生一样。为了做到这一点,事 务需要锁定它需要的资源。比方说,为了保证涂料不会断货,事务在查到供应商有货的同时 锁定供货商,使之不能给别的客户发货。由于事务必须在任务全部完成只后才能解锁,这样一来,该供货商在这个装修工 程期间就不能给其它顾客发货。这是不能接受的。有了这里的事务切分方法,这个困难就可以如下解决墙壁装修队直接在供货商 除提货,然后保存发票以备退货时用。如果提货失败,整个装修工程失败,全面回滚。如果 成功,提货后马上解锁供应商,使它可以正常为其他客户提供服务。如果装修工程最后因为 其它原因回滚,墙壁装修队拿回滚后的涂料和保存的发票去供货商处退货(反事务)。
权利要求
一种并行型分布系统中事务的切分方法,它应用于一个开放合作的环境中,该开放合作的环境中的包括若干个服务器和客户端;每个客户端可以向不同服务器提交任务,每个服务器可以将任务分解为一系列子任务再次发放给不同的服务器,以此类推;每个任务和子任务的规定和完成的结果都由不可以改变形成的数据单元来传递;任务完成的过程中可以造成一系列数据存储点的内容改变,这样一个存储点称为一个资源,一个资源由许多任务共享;一个任务完成过程中所有资源的操作形成一个事务,该事务有一个管理者;为保证任务完成时不同资源里的数据变化的一致性,事务管理者有权锁定某些涉及到的资源,拒绝其它事务在这些资源的某些操作,直至事务结束;所述的事务用于管理任务需要的资源管理;其特征在于在该任务涉及的资源中,每个子任务可以只涉及其中的一部分;这一部分资源的操作可以另立事务管理,从而实现切割原事务管理的总资源。
2.根据权利要求1所述的一种并行型分布系统中事务的切分方法,其特征在于某任 务执行所用的资源中的一部分的锁定时间需要有别于其余资源的时候,与这些资源相应的 子任务可以另立新事物管理。
3.根据权利要求1所述的一种并行型分布系统中事务的切分方法,其特征在于当原 任务的完成不依赖于子任务的结果时,原事务保存该子执行的执行者和数据单元;待原任 务执行成功后,建立新事务以完成子任务。
4.根据权利要求1所述的一种并行型分布系统中事务的切分方法,其特征在于当原 任务的完成需要子任务的结果时,原事务收集资料,建立新事物并执行子任务。
5.根据权利要求3所述的一种并行型分布系统中事务的切分方法,其特征在于如原 事务所所属任务执行失败,其新事务被遗弃。
6.根据权利要求3所述的一种并行型分布系统中事务的切分方法,其特征在于所述 的新事务执行失败后,其由于新事务所产生的数据单元自动保存在该子执行运行的服务器 上,无信息损失。
7.根据权利要求4所述的一种并行型分布系统中事务的切分方法,其特征在于所述 的资料包括新任务的执行者和退回执行者以及相关的执行和退回执行的数据单元。
8.根据权利要求4所述的一种并行型分布系统中事务的切分方法,其特征在于如新 事务失败则整个事务回滚。
9.根据权利要求4所述的一种并行型分布系统中事务的切分方法,其特征在于如新 事务执行成功,则事务管理器保存新事务的退回者继续执行。
10.根据权利要求9所述的一种并行型分布系统中事务的切分方法,其特征在于原事 务最终提交成功,则原事务管理器遗弃保存的新事务的退回者;原事务最终失败,则执行新 事务的退回执行。
全文摘要
本发明涉及在一个交互式的网络环境中,大型分布式并行数字化数据处理和管理系统。目的是,提供一种并行大型分布系统中事务的切分的方法,在造成整个事务执行缓慢时,仍然可以使部分的资源进行解锁,为其他事务提供相应的服务。其方案是一种并行型分布系统中事务的切分方法,它应用于一个开放合作的环境中,一个任务完成过程中形成一个事务,该事务有一个管理者;为保证任务完成时不同资源里的数据变化的一致性,事务管理者有权锁定某些涉及到的资源;所述的事务用于管理任务需要的资源管理;其特征在于在该任务涉及的资源中,每个子任务可以只涉及其中的一部分;这一部分资源的操作可以另立事务管理,从而实现切割原事务管理的总资源。
文档编号G06F9/50GK101930378SQ201010221669
公开日2010年12月29日 申请日期2010年7月8日 优先权日2010年7月8日
发明者李琳 申请人:度科信息科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1