找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2676|回复: 28

关于抢楼帖中,楼层显示不正确的原因解析

admin 发表于 2013-9-2 18:21:11 | 显示全部楼层 |阅读模式
关于会员 hartley 发现的抢楼帖排序后楼层显示不正确,以及超级版主wfr提出的疑问
你好:
今天的抢楼帖出现异常,我也有些不解,第20页http://bbs.cnliti.com/thread-1921849-20-1.html的397楼与398楼在正序排列时为何还出现层号交错?难办的是398层恰好是中奖楼层。

现作出解答

查阅DISCUZ官方文档 抢楼帖在 forum_thread 表中的status 字段值为 37 即二进制 100101


抢楼帖为:回复通知作者 + 枪楼帖 + 缓存帖子位置信息

帖子位置信息被保存至thread_postposition 表内,目的是中间有可能会有帖子被删除不致于引起楼层变化.

参看function_post.php 第532行的函数
function savepostposition($tid, $pid, $returnposition = false) {
        $res = DB::query("INSERT INTO ".DB::table('forum_postposition')." SET tid='$tid', pid='$pid'");
        if(!$returnposition) {
                return $res;
        } else {
                return DB::insert_id();
        }
}

该函数在post_newreply.php 第374 行被调用,在insertpost函数之下.
假设此时服务器瞬时压力过大.造成服务器负载有可能会造成上一次insertpost 的函数被延时执行,然后此时再执行savepostposition会造成楼层显示错乱.
获奖者以楼层显示的ID为准
而hartley 的倒序问题wfr超级版主已经作出了详细解析.

感谢 wfr, hartley 热心D友给本站作出的贡献.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
肖思炙 发表于 2014-9-4 09:04:41 | 显示全部楼层
笨点也好~~~~?
回复 支持 2 反对 0

使用道具 举报

fgevfaqi 发表于 2014-9-25 15:16:54 | 显示全部楼层

不顶不行啊,好东西哦!!

不顶不行啊,好东西哦!!





yylww.com
回复 支持 2 反对 0

使用道具 举报

cw9d045 发表于 2014-11-1 16:12:42 | 显示全部楼层
朋友们,您还在为家里装修要拉网线烦恼吗?还在忧愁每年交昂贵网费吗?还在苦恼出差无法上网吗?还在敢怒不敢言的公司、学校、宿舍限制上网吗?还在每天日夜奔跑网吧吗? 您会想到用3G/4G流量卡,可用了3G/4G流量卡,是不是又担心信号收不到,网速不稳定?高昂的费用让您皱眉呢?没关系,用最新网讯9代永久免费上网卡吧!最新网讯9代安装极其简单,中文全自动作,不管您是老手还是新手,都能轻而易举的使用;使用范围广,不管是笔记本、上网本、平板电脑、还是台式机等,最新接口支持所有设备,即插即用,使用更简单更人性化。它的接收能力超强,最远高达20公里超强信号,传输速率800Mbps(山寨假货、或普通网卡只有54Mbps或150Mbps,鄙视!),网讯9代更是内置18核高性价芯片(山寨假货只有单核或没有,鄙视!),让您体验上网速度尤如飞机般的快,运行速度更加稳定!如此超强网卡形同“天衣无缝”笼罩着整个区域,保证让您物超所值的感受!搭配强大BT27中文版破解工具,无论在农村、还是在山区都能随心所欲实现免费上网,保证让您终身免费上网成为实际!只要投入268元即可解决您燃眉之急,只要268元,您的所有问题将不再是问题!您不用怀疑,购买我们产品均享有30天超长无条件包退包换,确保您有足够的时间体验产品!2年超长免费保修包换新,绝对让您花钱花在刀刃上,使用使在合理上!保证让您买的舒心,用的放心!
抢购热线:
135-44078-543 在线QQ:295818899 官网:cw9d.com












网讯9代 cw9d.com
回复 支持 2 反对 0

使用道具 举报

kqelxeug 发表于 2014-11-9 10:48:24 | 显示全部楼层

晕死也不加点分

晕死也不加点分
回复 支持 2 反对 0

使用道具 举报

Snuyvi 发表于 2014-12-13 05:27:33 | 显示全部楼层
真不错,支持一下!         各种:迷--药, 催—情—水,  迷—奸—水  详询v.ev123.com/vip_cuiyeye15.html      或Q 20454—21441
回复 支持 2 反对 0

使用道具 举报

zzlworld 发表于 2014-12-22 16:25:54 | 显示全部楼层
活动没有了吗?看不到了
回复 支持 2 反对 0

使用道具 举报

lmewd 发表于 2014-12-22 18:10:44 | 显示全部楼层
时时彩平台程序制作出售 www.yacaipt.com












时时彩平台程序制作出售 www.yacaipt.com
回复 支持 2 反对 0

使用道具 举报

cyjqctsp 发表于 2015-1-20 03:47:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 1 反对 1

使用道具 举报

hls_918 发表于 2015-4-22 14:49:12 | 显示全部楼层
支持~祝立体中国越办越好
回复 支持 2 反对 0

使用道具 举报

xielaijun 发表于 2013-9-2 18:43:10 | 显示全部楼层
哦,不是计算机专业的,对这个不是很懂,
但是大致明白了,还是数据量过大导致的吧,
上次wfr超版对于 hartley老兄的另外一个帖子的解释我看了,
这次这个管理员解释的更加清楚,十分感谢!
回复 支持 2 反对 0

使用道具 举报

Mr.silence 发表于 2013-9-2 18:44:50 | 显示全部楼层
一到中奖的区域 就发现层次 错乱  不过这也显得 会员们的激动啊
回复 支持 2 反对 0

使用道具 举报

65184884 发表于 2013-9-2 19:34:52 | 显示全部楼层
呵呵。技术活不太懂。
但相信论坛是公正的!
回复 支持 2 反对 0

使用道具 举报

山巅之鹰 发表于 2013-9-2 19:36:43 | 显示全部楼层
抢楼时间是多少。我明天也想抢一下。

点评

wfr
周一至周六,每天下午的3:00~6:00 .  详情 回复 发表于 2013-9-2 19:51
回复 支持 2 反对 0

使用道具 举报

wfr 发表于 2013-9-2 19:51:51 | 显示全部楼层
山巅之鹰 发表于 2013-9-2 19:36
抢楼时间是多少。我明天也想抢一下。

周一至周六,每天下午的3:00~6:00 .
回复 支持 2 反对 0

使用道具 举报

hartley 发表于 2013-9-3 09:14:16 | 显示全部楼层
本帖最后由 hartley 于 2013-9-3 09:19 编辑

知道了,是否抢到无所谓,就是玩吗。反正也不缺上传量。
发帖就是逗个乐,也给管理者提个醒。
软件还是有 Bug,仔细研究应当有解决的办法,包括倒序显示的问题。
搞技术的人,应当解决发现的问题,而不是仅仅给个合理的解释,这才能提高技术水平。
回复 支持 2 反对 0

使用道具 举报

hartley 发表于 2013-9-3 09:28:01 | 显示全部楼层
关于抢楼中楼层位置问题的建议:
楼层排序不论正序还是倒序,都应以楼层为排序标准,这样就不会发生前面的两个问题。
在不可变更楼层的帖子中,对于帖子删除,应当只删除帖子内容,在帖子内注明帖子已删除即可,
保留原帖位置和发帖痕迹,同时保留发帖计数。
其实对于所有发帖删除都应如此处理,还可以减少因为后面帖子评论前面楼层帖子,由于中间帖子删除造成楼层变化而产生的误解。

点评

事实上DISCUZ的机制已经相当完善,而且流程控制也相当复杂,并非仅仅只是简单的加入一个楼层字段而已. 考虑数据结构问题,并不会在每一个帖子后面增加一个楼层显示的字段,这会引起数据库的容量增大.目前,光回复就有一  详情 回复 发表于 2013-9-3 10:19
回复 支持 2 反对 0

使用道具 举报

admin  楼主| 发表于 2013-9-3 10:19:06 | 显示全部楼层
hartley 发表于 2013-9-3 09:28
关于抢楼中楼层位置问题的建议:
楼层排序不论正序还是倒序,都应以楼层为排序标准,这样就不会发生前面的 ...


事实上DISCUZ的机制已经相当完善,而且流程控制也相当复杂,并非仅仅只是简单的加入一个楼层字段而已.

考虑数据结构问题,并不会在每一个帖子后面增加一个楼层显示的字段,这会引起数据库的容量增大.目前,光回复就有一千多万的数据,所以DISCUZ为了适应大数据,采取了位置缓存策略,将帖子位置缓存至另外一张表(thread_postposition)再使用外键约束的办法来实现.

关于帖子删除,此点并非不可取.
因为就目前而言帖子删除操作是分了几种情况的.
一种是版主门所看到的删除,此时帖子会被转至回收站.管理人员仍然可见,以避免纠纷.
另一种是真删除.管理员所删除的帖子会被永久性删除.
如果要帖子内注明删除即只需要多增加几条判断语句即可.但是即便如此做了也不能解决这个问题.
除非不缓存帖子定位,但是这又会引起服务器的开销
回复 支持 2 反对 0

使用道具 举报

1273010165 发表于 2013-9-3 13:20:42 | 显示全部楼层
确实到了固定的中奖楼层就会乱套,不过只是玩玩而已不必这么认真。

点评

这个不是玩玩而已,主要是关系到服务器系列问题。  详情 回复 发表于 2013-9-3 15:54
回复 支持 2 反对 0

使用道具 举报

zwyuan 发表于 2013-9-3 15:54:19 | 显示全部楼层
1273010165 发表于 2013-9-3 13:20
确实到了固定的中奖楼层就会乱套,不过只是玩玩而已不必这么认真。

这个不是玩玩而已,主要是关系到服务器系列问题。

点评

明白了,谢谢您的指点。  详情 回复 发表于 2013-9-3 22:03
回复 支持 2 反对 0

使用道具 举报

1273010165 发表于 2013-9-3 22:03:22 | 显示全部楼层
zwyuan 发表于 2013-9-3 15:54
这个不是玩玩而已,主要是关系到服务器系列问题。

明白了,谢谢您的指点。
回复 支持 2 反对 0

使用道具 举报

闲云逸浪 发表于 2013-11-4 12:39:24 | 显示全部楼层
屡抢屡不中,有点疲劳感。
回复 支持 1 反对 1

使用道具 举报

swliqi 发表于 2013-11-6 17:03:57 | 显示全部楼层
分享了 不错
回复 支持 1 反对 1

使用道具 举报

swliqi 发表于 2013-11-6 17:04:31 | 显示全部楼层
分享了 不错
回复 支持 1 反对 1

使用道具 举报

xp876SJM 发表于 2014-3-5 15:36:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 1 反对 1

使用道具 举报

wwwvipshopercom 发表于 2014-3-7 11:07:46 | 显示全部楼层
顶起来啊..... ,,,,,,,,
回复 支持 2 反对 0

使用道具 举报

昌庭栋 发表于 2014-6-22 09:40:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 2 反对 0

使用道具 举报

dtctdkdr 发表于 2014-7-7 15:12:47 | 显示全部楼层

怎么就没人拜我为偶像那???

怎么就没人拜我为偶像那???
回复 支持 2 反对 0

使用道具 举报

emkbyjyn 发表于 2014-8-18 18:48:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 2 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条