【技术实现步骤摘要】
一种防止页面配置多用户同时编辑的方法
[0001]本专利技术涉及计算机程序设计
,具体而言,涉及一种防止页面配置多用户同时编辑的方法。
技术介绍
[0002]对于一些Web后台管理系统,很多重要配置往往不允许多用户同时编辑。为了避免多用户同时编辑相互覆盖的问题,一般这些后台管理系统都会使用乐观锁来避免多用户同时编辑相互覆盖,但乐观锁只是在html表单提交时才会判断正在编辑的内容是否已经被他用户修改,如果html表单内容很多,会使得用户需要花费大量时间重新编辑。
[0003]以往的乐观锁方式在避免多用户同时编辑相互覆盖时,用户在进入页面时是无法了解当前页面是否已经有用户正在编辑,即使已经有用户先进入页面编辑,后进入的用户依然能在自己的浏览器中进行编辑。
[0004]而在最后提交时,只有先提交的用户才能正常编辑。在实际情况中,往往是编辑少量内容的用户先提交,编辑大量内容的用户会晚提交,使得编辑大量内容的用户最后提交失败而导致返工需要重新编辑。
技术实现思路
[0005]鉴于此,本专利技术的目 ...
【技术保护点】
【技术特征摘要】
1.一种防止页面配置多用户同时编辑的方法,其特征在于,包括以下步骤:S1、服务器初始化页面路径;S2、浏览器给不同的页面分配不同的CID;S3、浏览器通过Websocket协议连接至服务器建立通信,访问Web页面;S4、当进入不允许多用户编辑的Web页面后,浏览器通过Websocket定时向服务器报告自身所在的页面报告;S5、服务器根据搜集的所述页面报告,响应所述Web页面,告知Web页面当前是否有其他用户已经在编辑;如已经有其他用户在编辑则锁定html表单,并提示当前页面已经有其他用户正在编辑;如没有其他用户在编辑则html表单解锁;在某个浏览器连续数个报告周期没有新报告至服务器端时,认定浏览器已退出此页面则html表单解锁。2.根据权利要求1所述的防止页面配置多用户同时编辑的方法,其特征在于,所述服务器初始化页面路径的方法包括:服务器调用initLockMap函数,占用者映射表记为M,并作为全局变量,页面路径为Key,值包含当前占用者的CID标识号及最后报告时间T。3.根据权利要求1所述的防止页面配置多用户同时编辑的方法,其特征在于,所述浏览器给不同的页面分配不同的CID的方法包括:浏览器调用genCID函数,所述genCID函数使用UUIDv4分配一个随机字符串作为CID,并将所述CID保存于页面对象中;所述CID驻留在页面上,在每次打开或者刷新页面时都会重新分配。4.根据权利要求1所述的防止页面配置多用户同时编辑的方法,其特征在于,所述S4步骤的所述浏览器通过Websocket定时向服务器报告自身所在的页面报告的方法包括:当进入不允许多用户编辑的Web页面后,浏览器通过Websocket每1秒调用一次reportPage函数,从页面属性中的位置
‑
路径名属性获取当前的页面路径作为Path,并从window中的CID获取当前页面的CID,然后通过Websocket向服务器发送页面报告;所述页面...
【专利技术属性】
技术研发人员:蒋烁淼,周逸灵,
申请(专利权)人:上海驻云信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。