一种多客户端协同分组并发冲突及权限处理方法_2

文档序号:9263530阅读:来源:国知局
更记录及分组数据随之更新。
[0026]上述初始化过程中,初始化的待分组对象的信息可以包括头像、用户名或其他待分组对象的基本信息。
[0027]例如,以两个客户端编辑分组为例,定义:两个客户端分别为Cl、C2,服务器端为S,初始待分组对象分别为ul,u2,...至ulO。
[0028]1.初始状态:服务端S无分组记录和数据,服务端初始版本号为Vs=0,Cl、C2进入分组管理界面,请求服务端S数据,待分组列表里列出ul至ulO,Cl客户端分组版本号Vcl=Vs=O, C2客户端分组版本号Vc2=Vs=0。
[0029]2.Cl客户端添加分组I (gl),Cl客户端的变更记录为:C1 ADD group gl,分组数据为group[0]=gl,Cl客户端版本号+1后Vcl=l。完成该操作后Cl将Cl版本号、变更记录、分组数据自动上传至服务端。
[0030]3.C2在Cl操作过程中,C2也添加分组1,于是C2的变更记录为:C2 ADD groupgl,分组数据为group[0]=gl,Vc2=l,C2将其自动上传至服务端。
[0031]4.服务端S先收到Cl传来的分组结果,S先检查版本号Vs没有上锁,如未上锁且Vs=0〈Vcl,S为可更新数据状态。则服务端S进行如下操作:a) Vs加读写锁;b)保存变更记录Cl ADD group gl ;c)更新分组数据group [0] =gl ;d)更新Vs=I ;e)释放Vs的锁;f)推送通知除Cl之外的其他客户端更新数据,本实施例中推送至C2
5.C2收到S的推送更新通知后做如下操作:a)调用服务端S数据更新接口,获取服务端版本号Vs,服务端分组数据;b)删除C2版本号O至I之间的变更记录;c)更新本地分组数据group[0]=gl ; d)更新本地版本号Vc2=Vs=l。完成后Cl,S,C2数据同步。
[0032]6.如果C2在收到S的推送更新之前向S提交数据,服务端S收到C2传来的数据,S检查版本号Vs此时为锁住状态,hold至Vs锁释放,同步骤4,S检查Vs=l=Vc2,Vs与Vc2版本号冲突,S返回冲突错误消息给C2,
消息内容包括:S版本号Vs=I,S最新分组数据group[0]=gl。
[0033]C2收到S返回的冲突错误消息后,做如下操作:a)删除C2版本号O至I之间的变更记录,b)更新本地分组数据group[0]=gl, c)更新本地版本号Vc2=Vs=l。完成后Cl,S,C2数据同步。
[0034]7.如果C2在收到S的推送更新之后向S提交数据,则服务端继续按步骤4中进行处理C2的分组结果。
[0035]对于C2,在服务端已有Cl的分组结果并推送至C2后,C2再次编辑分组,将ul拖动至分组I的第I格,变更记录为:C2 move ul gl I。
[0036]8.S接收步骤7的C2传来数据,S更新后:变更记录由Cl ADD group gl变为C2move ul gl I ; Vs版本号为2,S推送更新消息给Cl
9.同理5,Cl更新本地数据使其与S同步。
[0037]10.重复步骤2-9操作,直至Cl、C2不再继续进行分组。
[0038]此时,服务端具有几种来自C1、C2的不同版本号的分组信息数据,而客户端C1、C2处显示服务端最新版本的分组信息数据。
本发明方法中的客户端可以为手机、PAD、计算机或其他可互相交互数据及进行数据处理的设备,该方法通过在多客户端协同进行分组操作时,对来自多个客户端的分组数据进行并发冲突判断处理,对正在处理某一分组数据的服务端进行锁定,处理后将服务端更新的分组信息数据推送至其他客户端,再处理来自其他客户端的数据。这种并发冲突及权限处理方法可以使得在多个客户端处同时进行分组处理,方便多用户同时对分组对象进行操作,而互不影响,分组后的结果也可以通过服务端进行共享。
[0039]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何本领域的技术人员在本发明揭露的技术范围内,对本发明所做的变形或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述的权利要求的保护范围为准。
【主权项】
1.一种多客户端协同分组并发冲突及权限处理方法,其特征在于,包括以下步骤: S1:任一客户端每次进入分组操作时,首先从服务器获取服务器上当前的分组信息数据; 52:多个客户端对若干待分组对象进行分组,对任一客户端其分组完成后更新本地的分组信息数据并将分组结果发送至服务端; 53:服务端对最先收到的客户端分组结果进行冲突判断,如不冲突,则按该分组结果更新服务器的分组信息数据,随后更新后的分组信息数据推送至其他客户端;如冲突,返回冲突提示,客户端按服务器当前的分组信息数据更新本地的分组信息数据后再重新提交分组结果后执行步骤S3 ; 54:服务端再依时间顺序对收到的其他客户端分组结果返回步骤S3进行处理,直至多个客户端本次分组结果均处理完毕; S5:多个客户端继续进行分组操作时,返回步骤S2继续执行,直至所有客户端分组操作结束。2.根据权利要求1所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述分组信息数据包括所述待分组对象的若干种组合方式,所述组合方式为按待分组对象的信息进行组合。3.根据权利要求2所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述待分组对象的信息包括头像、用户名或其他待分组对象的基本信息。4.根据权利要求1所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述步骤S2中任一客户端对若干待分组对象进行分组的过程具体为: 521:初始化待分组对象列表,增加一个或多个指定分组,每个指定分组中设置若干数量的空槽; 522:选取若干待分组对象中的一个,将其移动至指定分组的目标空槽处,如该目标空槽处已有分组对象,将目标空槽处的分组对象替换为当前移动的分组对象,如该目标空槽处无分组对象,则将当前移动的分组对象置于目标空槽中,完成对该分组对象的分组; 523:判断是否完成分组,如否则重复步骤S22,如是则执行步骤S24 ; S24:将指定分组的空槽数量及待分组对象在指定分组中所处空槽的位置信息存储为当前的分组结果。5.根据权利要求4所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述步骤S22中移动待分组对象的操作具体为:长按或单击或多次点击以选中一待分组对象,然后拖动选中的待分组对象至目标空槽处,松开拖动操作则完成对该分组对象的分组。6.根据权利要求1所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述分组信息数据包括:版本号、变更记录及分组数据,其中,每个版本号与一组分组数据相对应,所述分组数据包括客户端所执行的分组结果,所述变更记录包括客户端编号及该客户端所执行的分组结果的变更关系,当分组信息数据更新时,版本号、变更记录及分组数据随之更新。7.根据权利要求1所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述步骤S3具体为: S31:检查服务器上当前的分组信息数据是否上锁; 532:如否,则判断为不冲突,并对服务器上当前的分组信息数据进行上锁,如是,则判断为冲突,返回冲突提示,更新本地的分组信息数据,同时保持分组结果直至解锁; 533:将收到的客户端分组结果保存为新的分组信息数据; 534:释放锁,并将新的分组信息数据推送至其他客户端。8.根据权利要求6所述的多客户端协同分组并发冲突及权限处理方法,其特征在于,所述步骤S3还包括:返回冲突提示后,更新本地的分组信息数据具体为:删除本地最近一次变更记录,按当前服务端的分组信息数据更新分组数据,以及更新版本号。
【专利摘要】本发明提供了一种多客户端协同分组的并发冲突及权限处理方法,包括:任一客户端每次进入分组操作时,首先从服务器获取服务器上当前的分组信息数据;多个客户端对若干待分组对象进行分组,并将分组结果发送至服务端;服务端对最先收到的客户端分组结果进行冲突判断,如不冲突,则按该分组结果更新服务器的分组信息数据并将其推送至其他客户端;如冲突,返回冲突提示;服务端依时间顺序对收到的其他客户端分组结果进行处理,可进行多次分组操作时,直至所有客户端分组操作结束。这种并发冲突及权限处理方法可以使得在多个客户端处同时进行分组处理,方便多用户同时对分组对象进行操作,而互不影响,分组后的结果也可以通过服务端进行共享。
【IPC分类】H04L29/08
【公开号】CN104980513
【申请号】CN201510343240
【发明人】卢致宇
【申请人】上海久云信息科技有限公司
【公开日】2015年10月14日
【申请日】2015年6月19日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1