一种基于分组的协同编辑并发加锁方法技术

技术编号:19824899 阅读:17 留言:0更新日期:2018-12-19 15:49
本发明专利技术涉及一种基于分组的协同编辑并发加锁方法,属于计算机科学中的协同编辑领域。本发明专利技术致力于解决多用户N组协同编辑中存在的组间互斥与组内协同的问题,在尽量保证各组编辑时的独立性与完整性的前提下减少冲突等待时间,提升系统效率。本发明专利技术提出了用户优先系数与协作指数的计算方法以及四种并发加锁策略,在用户加入系统发起编辑活动时,首先判断其所在分组,若无分组则建立新组,已有分组则加入其所在组,之后处理其申请加锁区域。在发生冲突时,对与同组成员冲突和与其他组成员冲突采用不同的解决方法,以强化组内的合作性,提高协同编辑系统的并发性,本发明专利技术广泛适用于协同处理图形文档等在二维协同空间中进行协同编辑的应用场景。

【技术实现步骤摘要】
一种基于分组的协同编辑并发加锁方法
本专利技术涉及一种基于分组的协同编辑并发加锁方法,具体涉及多用户N组协同编辑中并发控制方法,属于计算机科学中的协同编辑领域。
技术介绍
随着信息与计算机技术的发展,人们的生活、工作方式越来越呈现出群体性、交互性、分布性和协作性的特点。实时协同编辑系统正是以其为背景诞生的新兴研究领域,是计算机支持协同工作中重要的应用方向[1-3]。对协同编辑系统的研究大多以单个用户为基本单位,而在现实生活中,存在很多多个用户组成一组,组内与组间都存在协同编辑的情况,在这种情况下多组用户同时发出协同需求,每组用户有着类似的协同任务,通常每组成员有一个共同的目标,或是它们之间存在某种联系与交互。协同编辑中广泛采用加锁的方法进行并发控制。加锁的基本思想是修改对共享对象的访问权限,以保证在同一时间该对象只有唯一的访问者。Abdelwahab等人在[4]中提出了floor算法,用户只有在获得访问令牌后才能进行编辑活动,否则将在等待队列中进行等待。floor机制本身的缺陷在于它更适用于单用户就能满足协同需要的场合,不适合多用户实时无约束的协作编辑。Sun在[4]中提出了可选锁机制,只有在语义完整性要求该区域在同一时刻只能被一个用户编辑时,用户在编辑前才需要加锁。这种机制减少了系统开销,更好地满足了协同编辑系统对实时性和无限制[1,5]的要求。专利[6]毛启容等人在[7]中将用户分为了主编和协编,主编负责协调整个加锁及编辑过程,协编作为整个编辑系统的参与者,其所有请求都要经过主编同意才能进行。由以上工作可见,对锁机制的研究大多数是以满足个人意愿为前提,无法适用于需要以小组为单位进行协同编辑的情况。本专利提出的多用户N组协同编辑并发加锁协议,组内数据共享以满足组内协作需求,组间数据合理竞争以实现多组协同编辑。上文中提到的专利申请情况如下:[2]实时协同编辑系统(申请日期:2015-01-21,公开号:CN104615586A)[3]一种图案协同设计中的复杂加锁方法(申请日期:2005-09-16,公开号:CN100346341)[6]协同编辑中数据冲突模块的加锁方法(申请日期:2007-12-2,公开号:CN100568184)上文中提到的文献来源于如下的期刊:[1]SunC,JiaX,ZhangY,etal.AchievingConvergence,Causality-preservation,andIntention-preservationinReal-timeCooperativeEditingSystems[J].ACMTrans.Computer-HumanInteraction,1998,5(1):63--108.[4]AbdelwahabH,KvandeB,KimO,etal.AnInternetCollaborativeEnvironmentforSharingJavaApplications[C]//DistributedComputingSystems,1997.ProceedingsoftheSixthIEEEComputerSocietyWorkshoponFutureTrendsof.IEEE,1997:112-117.[5]EllisCA,GibbsSJ.Concurrencycontrolingroupwaresystems[C]//ACMSIGMODInternationalConferenceonManagementofData.ACM,1989:399-407.[7]MamQR,WangJF,ZhanYZ,.JournalofComputer-AidedDesignandComputerGraphics,2004,16(9):1307-1312.
技术实现思路
本专利技术为解决的技术问题:本专利技术的目的是提出一种基于分组的协同编辑并发加锁方法,以解决多用户N组协同编辑中的并发控制问题。基于已有并发控制方法无法有效解决存在多组用户同时发出协同需求的现状,本专利技术根据组内、组间成员在进行编辑操作时的不同需求,提出N组多用户的并发加锁方法;同时采用可变的加锁粒度,既能满足用户的编辑需求,又能最大程度保证整个系统的编辑效率。本专利技术为解决其技术问题采用如下技术方案:一种基于分组的协同编辑并发加锁方法,包括如下步骤:步骤一、首先将协同操作空间抽象为一个二维共享空间,将编辑对象对应于二维平面上的点,在此平面上资源位置固定,对资源的操作仅存在更新,不存在插入、删除。在用户开始进行协同编辑时,初始化用户的工作区域,每位用户的工作区域用{AU,OU,ewLock,iwLock,FinishO}五元组表示。步骤二、用户采用乐观加锁的方式对协同编辑区域进行加锁,系统分析用户所在分组情况,计算用户优先系数与协作指数,根据用户申请加锁区域与其他用户编辑区域的冲突情况选择并发处理方式。步骤三、实施具体的并发加锁方法,组间冲突采用组间区域占有方法和组间区域抢占方法解决;组内冲突采用组内区域转让方法和组内区域抢占方法解决。如所述步骤一中,五元组中的变量分别表示每位用户申请加锁的区域为、用户实际获得的编辑区域、已被其他用户占有导致申请加锁失败,用户仍希望获得选择等待的区域、其他用户在等待的该用户所拥有的区域、用户在自己工作区域内已编辑完毕的区域。如所述步骤二中,乐观加锁方法为各个客户机都保存一份服务器的锁表副本,每个用户在发出加锁申请后,首先扫描本地锁表,若没有发现冲突则默认加锁成功,直接进行编辑操作并将这些操作保留作为取消操作集,同时扫描服务器锁表。服务器通过在服务器中维护的锁表确定该用户申请的加锁区域是否与其他加锁区域存在冲突。若没有冲突区域,则确认该用户加锁成功并更新服务器锁表;若存在冲突部分,则向用户发送部分区域加锁失败信息,按照加锁协议更新锁表,并在产生冲突的区域按取消操作集取消该用户的编辑操作。优先系数与用户编辑区域被抢占的概率有关,该系数越高,该用户编辑区域被抢占的概率越小。优先系数的计算与四项因素有关,这四项因素记录在用户信息中,分别为该用户编辑时间Time、在该用户所编辑区域等待队列中的用户个数WNum、该用户锁定区域占整个区域的比例LockRRatio以及其所在组现有的成员数GNum。协作指数用于计算当组内有成员退出时,系统默认由哪位成员接受其未编辑的区域。协作指数与两项因素有关,分别为该组优先系数以及该成员在其加锁区域的编辑完成度。如所述步骤三中,组间区域占有方法是指在理想状况下,每组之间互不冲突,且组内分工明确也不存在冲突。此时每加入一位新组员该组的加锁区域将扩大,每有一位成员退出该组加锁区域将减小。该区域可能存在与其他组相冲突的区域。在这种情况下,为防止空闲的区域无法被充分利用,该用户可率先获得未被其他组占有的区域进行编辑,同时选择是加入冲突区域的等待队列中或是撤销该区域的加锁申请。组间区域抢占方法指在时钟信号的触发下,随着组内成员数、其他组与该组产生的冲突数等条件的变化,每位成员的优先系数也会发生变化,总体呈衰减趋势,当其优先系数衰减到一定程度后,系统会强制剥夺其与其他组成员的冲突区域。由于其冲突区域的等待队列中也可能存在本组成员,而用户对于同组成员的资源不能强行占有,因本文档来自技高网
...

【技术保护点】
1.一种基于分组的协同编辑并发加锁方法,其特征包括如下步骤:步骤一、首先将协同操作空间抽象为一个二维共享空间,将编辑对象对应于二维平面上的点,在此平面上资源位置固定,对资源的操作仅存在更新,不存在插入、删除;在有用户开始进行协同编辑时,初始化用户的工作区域,每位用户的工作区域用一个五元组表示;步骤二、用户采用乐观加锁的方式对协同编辑区域进行加锁,系统分析用户所在分组情况,计算用户优先系数与协作指数,根据用户申请加锁区域与其他用户编辑区域的冲突情况选择并发处理方式。步骤三、实施具体的并发加锁方法,组间冲突采用组间区域占有方法和组间区域抢占方法解决;组内冲突采用组内区域转让方法和组内区域抢占方法解决。

【技术特征摘要】
1.一种基于分组的协同编辑并发加锁方法,其特征包括如下步骤:步骤一、首先将协同操作空间抽象为一个二维共享空间,将编辑对象对应于二维平面上的点,在此平面上资源位置固定,对资源的操作仅存在更新,不存在插入、删除;在有用户开始进行协同编辑时,初始化用户的工作区域,每位用户的工作区域用一个五元组表示;步骤二、用户采用乐观加锁的方式对协同编辑区域进行加锁,系统分析用户所在分组情况,计算用户优先系数与协作指数,根据用户申请加锁区域与其他用户编辑区域的冲突情况选择并发处理方式。步骤三、实施具体的并发加锁方法,组间冲突采用组间区域占有方法和组间区域抢占方法解决;组内冲突采用组内区域转让方法和组内区域抢占方法解决。2.如权利要求1所述的一种基于分组的协同编辑并发加锁方法,其特征在于,在确定每位用户的工作区域时,还包括:表示该工作区域的五元组中的变量分别表示每位用户申请加锁的区域、用户实际获得的编辑区域、已被其他用户占有导致申请加锁失败,用户仍希望获得选择等待的区域、其他用户在等待的该用户所拥有的区域、用户在自己工作区域内已编辑完毕的区域。3.如权利要求1所述的一种基于分组的协同编辑并发加锁方法,其特征在于,在计算优先系数和协作指数时,还包括:优先系数与用户编辑区域被抢占的概率有关,该系数越高,该用户编辑区域被抢占的概率越小。优先系数的计算与四项因素有关,这四项因素记录在用户信息中,分别为该用户编辑时间Time、在该用户所编辑区域等待队列中的用户个数WNum、该用户锁定区域占整个区域的比例LockRRatio以及其所在组现有的成员数GNum。协作指数用于计算当组内有成员退出时,系统默认由哪位成员接受其未编辑的区域。协作指数与两项因素有关,分别为该组优先系数...

【专利技术属性】
技术研发人员:秦小麟王沁雪江国华郭帅邵路伊王宁
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1