博客文章编辑冲突的解决方法
本文由发表于4年前 | J2EE | 暂无评论 |  被围观 1,905 views+

在没有协同编辑的情况下,即是保证一篇博文如果让多个人同时编辑,可能会出下如下的情况:

20131205-edit001

两个人同时获取到了version1版本的博文,第一个人执行了编辑保存操作保存为了version1_a,而第二个还没有,这个时候,第二个人当前正在编辑的版本并不是第一个刚保存version1_a的,而是在保存之前获取到的那个版本version1,这样,第二个人执行保存的时候,第一个人保存的版本就被version1_b覆盖了。所以,如果不是协同操作(即两个人的操作都是实时可以看到更新的),这个情况下就需要在一个人操作的时候,把博文锁住了。

我们可以在博文的表中添加一个updateTime 更新时间,和updater更新者。

article.updateTime // 更新时间
article.updater // 更新者

其中一个人打开博文编辑页面的时候,立刻进行一次更新updateTime和updater这两个字段的操作,并且每隔两分钟自动保存一次(一定要确保至少更新到了updaeTime和updater这两个字段)

然后,在列表页,判断每一篇博文的updateTime时间是否在两分十秒之内,在两分十秒之内,则再判断updater这个字段是否是当前的访问列表用户,如果不是,则说明该博文最近两分钟内有其他用户正在编辑,可以不显示编辑操作的链接。

为了确保有其他用户编辑的博文不会被第二个用户编辑到,可以在编辑页面进行一个同样的判断,判断博文的updateTime是否在两分十秒内,在则判断updater是否当前的访问者,不是,则会直接不让用户访问该编辑页面了,直接返回一个某用户正在编辑的提示。

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/workaround-blog-post-editing-conflicts.html
关键字:
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2013 12/5
如果您有更好的原创技术博文或者观点,欢迎投稿:admin@itzhai.com,或者关注订阅左侧浮动面板的微信号订阅IT宅itread)发送消息。
文章评论
    没有评论
给我留言

有人回复时邮件通知我
J2EE的相关文章
随机文章 本月热门 热评
1 数据结构笔记 – 排序算法 堆排序算法 2011/9/23
2 使用call和ret实现汇编中的子程序 2011/4/18
3 Chrome插件开发实例 – 开关灯(browser action) 2013/6/5
4 jQuery中使用正则表达式验证电子邮件 2011/5/11
5 Java中内存泄露的分析 2014/11/10
6 乔布斯:遗失的访谈(1995) 2013/5/15
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.