一种视频课记录在线学习时长的方法技术

技术编号:20015706 阅读:123 留言:0更新日期:2019-01-05 23:16
本发明专利技术公开了一种视频课记录在线学习时长的方法。本发明专利技术通过浏览器客户端不断轮询与服务端协同工作,判断是否一个用户同时在多个浏览器观看视频课,解决了与客户端无关性,并避免重复累加学习时长。本发明专利技术能够保证一个用户同一时间只能打开一个视频播放页面。本发明专利技术解决了在线学习系统中,如何更加准确记录学生的视频课学习时长的问题。避免了多个会话导致重复累加多次,即一个用户同时学习多个视频课累加学习时间的问题。本发明专利技术的s秒的时间间隔大小有考虑到网络传输和服务响应时间;且本发明专利技术通过乐观锁机制确保每次新打开视频播放页面生成起始时间戳t0’和t2不相等。

【技术实现步骤摘要】
一种视频课记录在线学习时长的方法
本专利技术属于计算机web应用领域,尤其是在浏览器运行的应用中准确记录点播视频课程学习时长的方法。
技术介绍
随着互联网普及和web2.0的发展,基于浏览器的web应用越来越受到人们的青睐,请求+响应模式的http协议造就了浏览器web应用的简洁性和易用性,以及技术实现的快捷性。css3、html5的出现,以及ajax技术和json数据格式的流行,使基于http的web系统天生就具备了很多优势,更强的灵活性,更复杂的多样性,更强的扩展性,以及更好的用户体验。http协议是无状态的,无法保持用户状态,但可以通过session或cookie记录标识来保持用户会话,从而使http变成了有状态。这种状态记录方式有某些局限性,都是基于同一个浏览器,并且有时效性,依赖于客户端或服务器端记录。有了会话状态,这样服务器端就会做更多的事情,实现更多功能。另外,因为http是基于短连接的,所以如果web应用中有需要长链接的功能也是比较困难的。虽然最新发布的一些web服务器添加了长连接模块,以及html5中也对http进行了扩展,支持websocket,但还是没有socket简单易用,并且还受浏览器版本限制,只能在支持html5的高版本浏览器和高版本的web服务器上才能支持。
技术实现思路
本专利技术的目的针对现有技术的不足,提供一种视频课记录在线学习时长的方法。本专利技术所采用的技术方案和实现机制如下步骤:步骤(1)用户A登录后,创建session会话,并记录用户信息,打开学习中心。步骤(2)在浏览器打开点播课视频播放页面,向服务器发起请求R0。步骤(3)服务端收到请求R0后,生成起始时间戳t0,并持久化t0到stampA变量中,即:stampA=t0,然后将t0与视频等信息一起传递给客户端浏览器,用户在视频播放页面中观看学习。步骤(4)视频播放页面启动定时器P和定时器Q,其中定时器P用于多页面视频播放检测定时器,定时器Q作为观看时长累加定时器,定时器P和定时器Q均通过ajax方式请求服务端;步骤(5)定时器P以t0为起始值,t0+s秒后向服务器端发送一次请求R1,并携带新的时间戳t1,t1=t0+s。步骤(6)服务器端接收到请求R1时,根据session会话找到用户信息和新时间戳t1,判断t1-tampA的值diff,即diff=t1-tampA,但是当第一次判断时diff=t1-t0;如果diff=s表示正常,此时stampA变量中用t1替代t0,即:stampA=t1。步骤(7)客户端定时器P在下一个t0+2*s秒后继续向服务器端发送R2请求,并携带新的时间戳t2,t2=t0+2*s。步骤(8)服务器端收到请求R2时,同样根据session会话找到用户信息和新时间戳t2,判断t2-stampA的值diff,即:diff=t2-t1,如果diff=s表示正常,此时stampA变量中用t2替代t1,即:stampA=t2。依次类推,轮询验证。以上是用户只打开一个视频播放页面,正常的情况。如果A用户又打开了一个视频播放页面就会出前后两次时间戳差值diff<s的情况,如下所述:步骤(9)此时A用户又打开一个新的视频播放页面,向服务器发起请求R0’,服务器端产生新的起始时间戳t0’,并持久化t0’到stampA变量中,即:stamp=t0’。步骤(10)如果此时第一个视频播放页面刚好执行跟步骤(7)一样的轮询过程时,则此时服务器端收到R3的请求,diff=t3-t2就变成了diff=t3-t0’,由于t2和t0’并不是在同一个时间周期s秒内产生的,所以此时diff不等于s,表示用户A打开了多个视频播放页面。步骤(11)定时器Q间隔一定时间向服务器提交观看时长。视频播放时定时器Q启动,视频暂停时定时器Q停止;diff等于s时,定时器Q继续;diff不等于s时,定时器Q停止。本专利技术中起始时间戳t0必须以服务器时间为准,间隔s秒后由页面将新时间戳传到服务器端;s秒的时间间隔大小要考虑到网络传输和服务响应时间,必须在s秒内完成了传输和响应;通过乐观锁机制确保每次新打开视频播放页面生成起始时间戳t0’和t2不相等。本专利技术有益效果如下:本专利技术能够保证一个用户同一时间只能打开一个视频播放页面。本专利技术解决了在线学习系统中,如何更加准确记录学生的视频课学习时长的问题。避免了多个会话导致重复累加多次,即一个用户同时学习多个视频课累加学习时间的问题。本专利技术通过浏览器客户端不断轮询与服务端协同工作,判断是否一个用户同时在多个浏览器观看视频课,解决了与客户端无关性,并避免重复累加学习时长。本专利技术的s秒的时间间隔大小有考虑到网络传输和服务响应时间;且本专利技术通过乐观锁机制确保每次新打开视频播放页面生成起始时间戳t0’和t2不相等。附件说明图1为本专利技术服务端与客户端时序图。具体实施方式目前浏览器产品众多,一个用户同一台电脑上装多个浏览器是很普遍的现象,并且浏览器版本也不尽相同。同一台电脑终端、同一浏览器或不同浏览器,即使是同一个用户登录,也会产生两个不同的session或cookie。并且有些低版本浏览器不支持长连接。本专利技术就是要解决在这种情况下在线学习系统中,如何更加准确记录学生的视频课学习时长。比如:一个用户在同一台电脑上登录多个浏览器,或者不同电脑上登录,观看点播视频课,如果都按session或cookie记录观看时长,那么多个会话导致重复累加多次,但实际一个用户不可能同时学习多个视频课。为了避免这个问题,本专利技术通过浏览器客户端不断轮询与服务端协同工作,判断是否一个用户同时在多个浏览器观看视频课,解决了与客户端无关性,并避免重复累加学习时长。如图1所示,本专利技术实现机制如下步骤:步骤(1)用户A登录后,创建session会话,并记录用户信息,打开学习中心。步骤(2)在浏览器打开点播课视频播放页面,向服务器发起请求R0。步骤(3)服务端收到请求R0后,生成起始时间戳t0,并持久化t0到stampA变量中,即:stampA=t0,然后将t0与视频等信息一起传递给客户端浏览器,用户在视频播放页面中观看学习。步骤(4)视频播放页面启动定时器P和定时器Q,其中定时器P用于多页面视频播放检测定时器,定时器Q作为观看时长累加定时器,定时器P和定时器Q均通过ajax方式请求服务端;步骤(5)定时器P以t0为起始值,t0+s秒后向服务器端发送一次请求R1,并携带新的时间戳t1,t1=t0+s。步骤(6)服务器端接收到请求R1时,根据session会话找到用户信息和新时间戳t1,判断t1-tampA的值diff,即diff=t1-tampA,但是当第一次判断时diff=t1-t0;如果diff=s表示正常,此时stampA变量中用t1替代t0,即:stampA=t1。步骤(7)客户端定时器P在下一个t0+2*s秒后继续向服务器端发送R2请求,并携带新的时间戳t2,t2=t0+2*s。步骤(8)服务器端收到请求R2时,同样根据session会话找到用户信息和新时间戳t2,判断t2-stampA的值diff,即:diff=t2-t1,如果diff=s表示正常,此时stampA变量中用t2替代t1,即:stampA=t2。依次类推,本文档来自技高网...

【技术保护点】
1.一种视频课记录在线学习时长的方法,其特征在于包括如下步骤:步骤(1)用户A登录后,创建session会话,并记录用户信息,打开学习中心;步骤(2)在浏览器打开点播课视频播放页面,向服务器发起请求R0;步骤(3)服务端收到请求R0后,生成起始时间戳t0,并持久化t0到stampA变量中,即:stampA=t0,然后将t0与视频等信息一起传递给客户端浏览器,用户在视频播放页面中观看学习;步骤(4)视频播放页面启动定时器P和定时器Q,其中定时器P用于多页面视频播放检测定时器,定时器Q作为观看时长累加定时器,定时器P和定时器Q均通过ajax方式请求服务端;步骤(5)定时器P以t0为起始值,t0+s秒后向服务器端发送一次请求R1,并携带新的时间戳t1,t1=t0+s;步骤(6)服务器端接收到请求R1时,根据session会话找到用户信息和新时间戳t1,判断t1‑tampA的值diff,即diff=t1‑tampA,但是当第一次判断时diff=t1‑t0;如果diff=s表示正常,此时stampA变量中用t1替代t0,即:stampA=t1;步骤(7)客户端定时器P在下一个t0+2*s秒后继续向服务器端发送R2请求,并携带新的时间戳t2,t2=t0+2*s;步骤(8)服务器端收到请求R2时,同样根据session会话找到用户信息和新时间戳t2,判断t2‑stampA的值diff,即:diff=t2‑t1,如果diff=s表示正常,此时stampA变量中用t2替代t1,即:stampA=t2;依次类推,轮询验证;步骤(1)~步骤(8)是用户只打开一个视频播放页面,正常的情况,但如果A用户又打开了一个视频播放页面就会出前后两次时间戳差值diff...

【技术特征摘要】
1.一种视频课记录在线学习时长的方法,其特征在于包括如下步骤:步骤(1)用户A登录后,创建session会话,并记录用户信息,打开学习中心;步骤(2)在浏览器打开点播课视频播放页面,向服务器发起请求R0;步骤(3)服务端收到请求R0后,生成起始时间戳t0,并持久化t0到stampA变量中,即:stampA=t0,然后将t0与视频等信息一起传递给客户端浏览器,用户在视频播放页面中观看学习;步骤(4)视频播放页面启动定时器P和定时器Q,其中定时器P用于多页面视频播放检测定时器,定时器Q作为观看时长累加定时器,定时器P和定时器Q均通过ajax方式请求服务端;步骤(5)定时器P以t0为起始值,t0+s秒后向服务器端发送一次请求R1,并携带新的时间戳t1,t1=t0+s;步骤(6)服务器端接收到请求R1时,根据session会话找到用户信息和新时间戳t1,判断t1-tampA的值diff,即diff=t1-tampA,但是当第一次判断时diff=t1-t0;如果diff=s表示正常,此时stampA变量中用t1替代t0,即:stampA=t1;步骤(7)客户端定时器P在下一个t0+2*s秒后继续向服务器端发送R2请求,并携带新的时间戳t2,t2=t0+2*s;步骤(8)服务器端收到请求R2时,同样根据session会话找到用户信息和新时间戳t2,判断t2-stampA的值diff,即:d...

【专利技术属性】
技术研发人员:董振奎
申请(专利权)人:浙江浙大万朋软件有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1