返回信息流谢谢!
这是一条镜像帖。来源:北邮人论坛 / cpp / #88217同步于 2015/7/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【请教】词表的在线动态更新怎么搞啊?
camelBUPT
2015/7/31镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
其实想问问除了双buf方式,有没有其他方式可以
实现?双buf对内存要求很苛刻啊
【 在 nuanyangyang 的大作中提到: 】
: 好熟悉的ID。明明以前问过不少高水平的问题的说……
来自「北邮人论坛手机版」
【 在 camelBUPT 的大作中提到: 】
: 其实想问问除了双buf方式,有没有其他方式可以
: 实现?双buf对内存要求很苛刻啊
:
: ...................
起码要先说
- 什么是“词表”?
- 什么是“在线”?
- 什么是“更新”?
- 什么是“buf”?
比如,我来试着陈述一下楼主的问题:
“
我在维护一个大规模在线学生汉语听写教学软件。软件将教学的内容按‘单元’规划,每个单元包含若干‘课程’,每一课有一个‘词表’,每个词表里面有大约20个生词,每个词包括汉字,以及拼音。软件用于学生课下自行进行练习。学生登陆软件之后,可以开始听写。系统自动按照拼音生成语音,而学生要用纸笔写出汉字。听写结束,显示答案,由学生自行核对答案。
但教师时常会根据实际教学内容,对词表进行调整,即:修改一些课程的词表的内容。
技术的难点是,由于有上万学生同时在线,我们不希望课程会因词表更新而中断;同时,对于正在进行练习的同学,在词表更新后应当得到‘词表已经更新’的通知,以便学生按需要重新进行练习。
由于完全的原子更新不现实,要求每次以‘单元’为单位更新词表。学生开始一个课程时,应当只有两种可能的结果:1、成功打开该课程的词表,或者2、因为从学生开始该单元的联系以后,词表更新了,所以系统提示学生词表已更新,并自动重定向到该单元的界面,并显示该单元每一课的词的数量的增减。
当前的系统中使用了两个缓冲区(buf)来完成更新操作:一个缓冲区在教师的客户端上,另一个在服务区上。教师客户端每次将完整的‘修改集’序列化进缓冲区,发送到服务器;服务器使用缓冲区读到完整的‘修改集’,在解析并验证之后,进行原子的更新。但是,目前发现,由于教师用客户端的内存往往有限(要考虑到移动终端),使用两个buf遇到了内存的瓶颈,现希望改进这种构架。
”
不知道我的叙述是否符合楼主的情景?
=e= 先研究研究
【 在 nuanyangyang 的大作中提到: 】
: 比如,我来试着陈述一下楼主的问题:
: “
: 我在维护一个大规模在线学生汉语听写教学软件。软件将教学的内容按‘单元’规划,每个单元包含若干‘课程’,每一课有一个‘词表’,每个词表里面有大约20个生词,每个词包括汉字,以及拼音。软件用于学生课下自行进行练习。学生登陆软件之后,可以开始听写。系统自动按照拼音生成语音,而学生要用纸笔写出汉字。听写结束,显示答案,由学生自行核对答案。
: ...................
嗯嗯,类似的。就像你遇到的问题一样,双buf对内存要求很高的说,如果词表大的话。
【 在 nuanyangyang 的大作中提到: 】
: 比如,我来试着陈述一下楼主的问题:
: “
: 我在维护一个大规模在线学生汉语听写教学软件。软件将教学的内容按‘单元’规划,每个单元包含若干‘课程’,每一课有一个‘词表’,每个词表里面有大约20个生词,每个词包括汉字,以及拼音。软件用于学生课下自行进行练习。学生登陆软件之后,可以开始听写。系统自动按照拼音生成语音,而学生要用纸笔写出汉字。听写结束,显示答案,由学生自行核对答案。
: ...................
来自「北邮人论坛手机版」