一种网络教学方法及系统的制作方法_5

文档序号:9647255阅读:来源:国知局
49] 在现实情况中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其 它源发送的信息。SSM模型为用户提供了一种能够在用户终端指定组播源的传送服务。SSM 模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其他手段预先知道了组播 源的具体位置。SSM模型使用与ASM/SFM模型不同的组播地址范围,直接在接收者和其指定 的组播源之间建立专用的组播转发路径。
[0350] 局域网传送无需使用服务器,本发明中教师用户终端与学生用户终端通过AC路 由(802. 11AC,第五代无线网络标准,俗称5GWIFI)连接在同一网段。当然,也可以使用P2P 技术进行同屏数据传送。
[0351] 图13是根据本发明的网络教学系统的线程监控示意图。
[0352] 如图所示,所述线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控, 对丢包数据进行补发操作。基本步骤如下:使用序列化工具对mData进行分片处理,按照顺 序读取分片数据对象,将数据片段封装成DatagramPackage,通过UDP组播控制Handler发 送报文,发送控制器休眠60毫秒,释放网络压力,启动数据报文定时重传监听,判断当前发 送的数据报文是否过期,如果过期,则判断为结束当前操作,如果未过期,继续判断是否有 后续数据片段,继续获取数据。
[0353] 本发明使用无线AP基于SSM模型通过UDP协议传送分割好的数据包,SSM模型的 优点在于:降低网络流量,减轻服务器和CPU负荷;减少冗余流量;使多点应用成为可能; 其缺点也比较明显,由于通过UDP协议通信,导致非长连接,存在丢包现象。
[0354]为了去除冗余的同屏指令信息,保证同屏程序高速率、稳定的执行;以及从网络通 信上行(设备至AP)的角度出发,保证上行数据推送的可靠性,对数据准确、高效传送到学 生用户终端提供双重的保障,本发明采用线程监控的方式解决上述问题。
[0355] 具体操作流程如下:
[0356]B1、数据报文发送处理步骤:教师用户终端对发送的数据报文进行签名编号,确保 每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在 234. 5. *. *组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确 保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址。
[0357] B2、自守护线程启动步骤:在数据报文发送后,教师用户终端会启动一个自守护线 程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守 护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文 补发处理,对没有反馈的学生用户终端补充发送数据包。该处理能够有效的避免在教师用 户终端向无线AP进行上行发送UDP数据报文时网络不稳定而带来的数据丢失问题。
[0358]B3、反馈守护线程启动步骤:教师用户终端发送完组播UDP数据包后,当第一次收 到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包 对用户终端的反馈进行保证重传处理,同时停止自守护线程。反馈守护线程的好处是能够 以最小的网络消耗的代价完成数据报文的补发操作,能够以较短的等待时间快速的对单个 数据报文进行包装重传处理。有效的解决了从无线AP将组播报文发送至学生用户终端时, 发生的数据丢失而导致数据不统一的问题。
[0359]B4、报文反馈步骤:学生用户终端的客户端在收到了来自教师用户终端的组播数 据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还 原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
[0360] 图14是根据本发明的网络教学系统的同步再现示意图。
[0361] 如图所示,虚线框部分,所述过期数据处理步骤,用于丢弃系统中的过期数据,保 证网络传输的畅通。对于学生端同屏处理方式,首先判断同屏处理方式,如果是指令同屏, 则接受同屏指令,查找同屏资源,加载同屏画面,合并指令坐标数据,然后描绘图片;如果是 图像同屏,接受图片序列碎片,判断图片是否过期,如果过期,则放弃处理,如果没有过期, 判断图片序列是否接受完全,如果接受不完全,则等待下一序列碎片,当完全接受后,将碎 片合并成图片对象,在本地描绘出图片。
[0362] 所述过期数据是指在网络传送的数据包进行实时监控过程中,当数据包正在网络 中传送时,教师用户终端又发送了新的数据包,教学系统检测到新数据包的存在,这时检测 到的旧数据被视为过期数据。
[0363] 教学系统会将过期数据进行丢弃处理,在教师用户终端、学生用户终端、无线AP 等设备同时对处理过程中的过期数据进行丢弃,用以减轻数据在网络中传送给网络带来的 压力,保证学生用户终端实时显示教师用户终端传送过来的最新数据。
[0364] 图15是根据本发明的网络教学系统的数据包发送确认示意图。
[0365] 如图所示,学生用户终端的客户端在收到了来自教师用户终端的组播数据包时, 会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每 收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。具体的,教师端发送数据 包,学生端获取数据包,教师端实时监控5秒内是否收到学生端数据反馈,如果没有,则重 新补发数据包,如果是,则确认本条数据包发送成功。
[0366] 学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。教师端通过 判断学生端反馈的信息,进行判断学生是否完整的收到了教师之前发送的命令,当教师端 判断学生端已经完整的收到了指令,教师端进行下一步处理(例如,发送指令,声音等);当 教师端判断学生端没有完整的收到指令,则进行重新发送指令的处理,直到学生端完整的 收到。
[0367] 基于此,所述过期数据处理步骤具体过程如下:
[0368] C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学 生用户终端;
[0369] C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则 将报文信息入栈,并反馈信息发送给教师用户终端;
[0370] C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈 中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行 后续处理;
[0371] C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该 收到的数据报文已经过期,系统放弃当前接收到的数据报文。
[0372] C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经 过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢 弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息 进行接收。
[0373] 图16是根据本发明的网络教学系统的同步再现示意图。
[0374] 如图所示,教学课程开始后,教师在其用户终端即教师平板上上课,讲解PPT,通过 SSL加密方式,将教师授课过程的有关数据采集传输至服务器,期间首先建立课堂ID,生成 课堂时间戳,数据则包括教师音频流、文件操作指令、使用的电子文档、教师端压缩图像等, 通过Socket传输给应用服务器集群,以存储至数据库服务集群,根据课堂ID配对,根据课 堂ID及时间戳下发数据,通过Socket传输所述的教师音频流、文件操作指令、教师端压缩 图像和使用的电子文档,通过SSL解密在学生平板上再现。
[0375] 在学生用户终端上的软件客户端或APP中,内置有图像子数据包合并显示模块, 用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生 用户终端上进行显示,完成同屏显示的目的;以及,
[0376]内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户 终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服 务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置 的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成 同屏应用的目的。
[0377] 构建系统服务器学习能力,系统中字典表(数据库表)记录各种文件操作指令,并 通过数据库索引配对,把操作指令指向操作指令对应的实际执行语言,终端通过读取实际 执行语言,完成模拟操作的执行。
[0378]Socket是网络上运行的两个程序之间双向通信的一端,它既可以接受请求,也可 以发送请求,属于常用的网络底层通信方式,通常由IP地址和端口号组成。常用的Socket 类型有两种,一种是流式Socket,一种是数据报式Socket,流式Socket是面向连接的 Socket,针对面向连接的TCP服务应用。本发明在数据传输时可以使用Socket方式。
[0379] 根据本发明的网络教学方法的实时录制过程包括将经过压缩的确定要发送的图 像数据、应用数据、可能使用的电子文档(如PPT)和音频数据分别保存至本地服务器或者 网络服务器的数据库中,如果首先保存到本地服务器中,还将通过网络上传到网络服务器 中。进一步的,还可以将确定要传输给学生用户的原始图像数据保存到服务器上,当用户需 要下载更清晰图像时,可以从这个数据库下载。
[0380] 对于应用数据,例如可以使用时间戳标识+动作类型ID+动作内容数据进行课程 录制。
[0381] ⑴例如:在白板上绘制了一个圈,将记录:14209372114(时间戳)+type:11(画 圆标记)+圆心坐标和半径(内容数据),将此记录通过Socket发送至服务器端保存,可以 再由服务器分发给其他用户。
[0382] (2)例如:在白板上用画笔绘制一条线或书写一个公式,将记录:多边形: 14209372114 (时间戳)+type:2 (绘制类型)+多边形顶点数组坐标(内容数据),将此记录 通过Socket发送至服务器端保存,可以再由服务器分发给其他用户。
[0383] (3)例如:在白板上用画笔绘制一条线或书写一个公式,将记录:画笔: 14209372114 (时间戳)+type:3 (绘制类型)+手指的绘制路径点坐标(内容数据),将此记 录通过Socket发送至服务器端保存,可以再由服务器分发给其他用户。
[0384] ⑷例如:直线:14209372114(时间戳)+type:4(绘制类型)+直线两点坐标(内 容数据),将此记录通过Socket发送至服务器端保存,可以再由服务器分发给课堂用户。
[0385] (5)例如:重绘:14209372114(时间戳)+type:5(绘制类型)。
[0386] (6)例如:清除:14209372114(时间戳)+type:6(绘制类型)。
[0387] 这种方式可以应用于网络教学系统中教师用户使用电子白板讲题、切换题目、文 字表情信息和音频信息等记录。
[0388] 除此之外,电子白板进行操作所生成的动作消息,还包括在所述电子白板上绘制 直线、矩形、圆形或折线中任意一种的动作消息;或者,在所述电子白板上使用橡皮擦工具 进行擦除操作的动作消息;或者,在所述电子白板上加载图片或几何图形的动作消息;或 者,在所述电子白板上新建页或上、下翻页的动作消息中的任意一种。
[0389] 教师用户端通过多媒体白板(电子白板、PPT文档操作等)进行标注和实时音频 讲解,系统通过Socket通信接口,通过SSL(SecuritySocketLayer,安全套接协议层)加 密,对时间戳标识Timestamp、多媒体白板应用数据流标记Type、实时音频Audio,实时传输 至系统Server服务器数据库(ServerDatabase),系统明确定义了数据存储格式,时间戳、 应用数据流、实时音频按固定的数据存储格式(这些数据格式可以使用本领域公知的存储 格式例如mp3)实时存储至Server服务器数据库(ServerDatabase)及服务器存储单元, 实现实时课堂录制。
[0390] 图17和18是根据本发明的网络教学系统获取路径坐标数据的示意图。
[0391] 如图所示,所述Path路径坐标数据的记录过程如下:
[0392]A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏 幕进行初始布局,在屏幕的canvas画布上先设置背景图案;
[0393] //如果是画笔,将当前的记录路径保存到list
[0394] this.mPathPaintlist.add(this.mPathPaint);
[0395] //保存画笔和路径履历
[0396]PathAndPaintpap=newPathAndPaint();
[0397] pap.setPath(newPath(this.mPath));
[0398]pap.setPaint(newPaint(this.mPaint));
[0399]this.mPathAndPaintlist.add(pap);
[0400]A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
[0401]A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的 目标,定位在新建的tempBitmap上;
[0402]A4、通过所述构造后,提取指令堆栈中的坐标指令,--还原,通过temptCanvas 进行从写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上, 这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的canvas,如 temptCanvas.drawPoint,temptCanvasRect等等;
[0403]A5、所有的指令坐标堆栈执行完毕后,执行canvas. drawBitmap(tempBitmap, 0, 0,null);temptCanvas负责的是将各种画笔痕迹画在 tempBitmap上,而canvas负责将tempBitmap绘制到屏幕上。
[0404] 所述动作描绘的逻辑步骤如下所示,其中touchMove函数传入的(floatX,float y)参数分别为横纵轴坐标:
[0406] 图19是根据本发明的网络教学系统的数据流片段分割示意图。
[0407] 如图所示,为了版权保护或者保密的需要,又不会过多影响用户的体验,还可以采 用成本较低并能起到保密作用的方式。也就是说,所有这些录制的数据流,例如教师讲课的 实时音频数据流可以根据时间戳生成的周期分割成片段,比如每隔10秒或者30秒分割一 个片段,并对这些数据流片段使用课程ID和随机编码进行组合命名,并构建数据流片段名 称与时间戳之间的对应关系表。
[0408] 具体的,将所述所有数据流的至少一种分割成数据流片段,这些数据流片段可以 以课程标识和随机产生的编码进行标记,数据流的分割可以参照或者根据时间戳标识的生 成情况对应进行。在进行数据流片段分割后,构建这些数据流片段与时间戳标识的对应关 系表,保存至数据库。在首次点播这些录制课程时,将按照对应关系表顺序传输这些数据流 片段至点播用户终端,使得用户终端可以顺序播放这些数据流,正确显示录制的课程。当保 存到用户终端本地时,这些数据流片段是杂乱的,需要使用对应关系表才可以正确将这些 片段顺序播放出来。
[0409] 也就是说,视频流片段或者音频数据流片段的ID编码采用随机的方式,这些编码 与时间戳形成关系映射表,用户浏览时视频片段和音频片段都下载到本地,但是没有对应 的关系,无法顺序播放,用户首次浏览之后只要不清空缓存,下次浏览时只需要重新下载关 系映射表即可,每次关系映射表的数据被读取以后,将在预定时间后自动与本地时间同步, 从而失去映射意义,达到保护版权的目的,而又不会影响用户的体验。可选的,映射关系表 可以设置有效时间,比如24小时,或48小时,或者任何适当的合法授权时间,映射关系表下 载到终端后,网络教学系统的计时模块开始计时,时间终止时映射关系表自动失效,删除或 粉碎映射关系表数据。
[0410] 时课程的录制可以由具备权限的用户终端进行,比如教师终端或者获得授权的学 生终端,录制得到的数据流可以先保存到本地数据库或者终端数据库,再由这些数据库通 过网络上传到网路服务器,也可以直接保存到远程网络服务器。
[0411]图20是根据本发明的网络教学系统的点播回放的示意图。
[0412] 可以使用Android平板电脑或智能手机连接WIFI/2G/3G/4G网络登录本发明的网 络教学系统,通过课程点播或课程回放列表对录制课程进行点播;点播对应课程获取课程 ID,连接网络教学系统数据库,获取课程ID对应的应用数据流、音频数据流等数据,以及该 课程可能用到的电子文档等各种文件,下载这些电子文档资料到本地,实现对已录制课程 的点播和回放,回放过程支持暂停、播放、结束。
[0413] 各种数据流的存储是单独并且彼此独立的,获取下载的过程也是彼此独立的,还 可以根据需要下载相应的数据,比如用户觉得只需下载音频数据即可,无需传播其他的数 据,就可以通过用户终端的客户端指令只获取想获取的数据,并且进行播放,特别是在网络 状况不佳的情况下。
[0414]图21是根据本发明的网络教学系统的点播回放的另一示意图。
[0415] 为了版权保护或者保密的需要,又不过多影响用户的体验,可以采用成本较低并 能起到一定保密作用的方式。在服务器数据中,将图像数据流、应用数据流和音频数据流 的至少一种分割成数据流片段保存,比如将音频数据流分割成音频数据流片段,这些数据 流片段以课程标识和随机产生的编码进行标记,形成数据流片段与时间戳标识的对应关系 表。数据流的分割可以参照或者根据时间戳标识的生成情况对应进行,用户在首次点播时, 系统服务器按照时间顺序发送这些数据流片段,使得用户可以顺序流畅的回放。当这些数 据流保存到本地缓存时,如果用户再次回放时,就要向服务器请求下载这些数据流片段与 时间戳标识的对应关系表,这样就能正常播放这些数据流。
[0416]多个学
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1