CN104917781A - 一种云教室的实现系统、方法及服务器 - Google Patents
一种云教室的实现系统、方法及服务器 Download PDFInfo
- Publication number
- CN104917781A CN104917781A CN201410085193.5A CN201410085193A CN104917781A CN 104917781 A CN104917781 A CN 104917781A CN 201410085193 A CN201410085193 A CN 201410085193A CN 104917781 A CN104917781 A CN 104917781A
- Authority
- CN
- China
- Prior art keywords
- server
- classroom
- cloud
- progress
- cloud classroom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种云教室的实现系统、方法及服务器;其中,所述系统包括:第一服务器,用于根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;还用于接收所述第二服务器发送的第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;至少一个第二服务器,用于接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;两个以上第三服务器,用于为所述第一服务器建立云教室提供数据资源。
Description
技术领域
本发明涉及通信处理技术,具体涉及一种云教室的实现系统、方法及服务器。
背景技术
自互联网普及以来,基于互联网模式的教育产业也不断地发展创新,如电子教室,其就是将传统的面授授课教室搬到互联网上,将面对面的课堂教学实现为远程的、可切换的、可回放等多种功能的虚拟教室。目前的电子教室主要包括两类:一是面向固定用户的电子教室系统;二是面向互联网用户的基于集群(Cluster)系统架构的电子教室平台。
面向固定用户的电子教室系统分为两个部分:学生端子系统和教师端平台。教师端平台在系统架构上主要采用高性能输入输出(I/O)服务器+电子教室软件系统实现。
目前互联网类的虚拟电子教室平台在架构上多采用基于Cluster集群模式的系统架构。在硬件体系上,其包括多台服务器组成的计算平台、FC交换系统以及FC-SAN存储设备;在软件体系上,其采用Cluster集群软件系系统将多台服务器组成一个虚拟服务器,具有负载均衡、I/O负载分配以及管理等功能,而电子教室软件承载在Cluster集群软件系统之上。
无论是单一服务器架构还是基于Cluster集群模式的系统架构,现有的电子教室存在的主要问题在于:能够同时运行的电子教室数量存在数量限制,且每个电子教室可以容纳的学员数量存在数量限制,无法满足更多用户同时授课的场景,且系统平台的扩展较为麻烦和困难;系统在用户较多的高I/O情况下会出现音频质量问题,严重情况下会导致系统崩溃;在授课过程中会因为新用户的加入导致系统性能下降,尤其是新用户不同步学习而是随意播放之前的教学内容时;在多个电子教室同时授课的情况下,对系统平台的整体性能都存在较为严重的影响。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种云教室的实现系统、方法及服务器,能够解决电子教室系统的可扩展性,实现无用户人数限制的云教室。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种云教室的实现系统,所述系统包括:第一服务器、至少一个第二服务器和两个以上第三服务器;其中,
所述第一服务器,用于根据用户发送的云教室建立请求,向所述第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;还用于接收所述第二服务器发送的第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;
所述第二服务器,用于接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述第三服务器,用于为所述第一服务器建立云教室提供数据资源。
上述方案中,所述云教室包括:一个主教室和至少一个扩展教室;
所述第一服务器,还用于设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;还用于当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
上述方案中,所述第一服务器,还用于当有用户退出教室时,修改所述教室的人数。
上述方案中,所述云教室包括:一个主教室和至少一个扩展教室;
所述第一服务器,还用于检测所述云教室中每个教室的数据读写进度,当任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
上述方案中,所述系统还包括第四服务器,用于通过应用编程接口(API,Application Programming Interface)将所述第一服务器发送的第一请求消息发送至第二服务器;将所述第二服务器发送的第一响应消息发送至所述第一服务器;建立所述第一服务器与所述第三服务器的连接。
本发明实施例还提供了一种第一服务器,所述第一服务器包括:发送模块、接收模块和建立模块;其中,
所述发送模块,用于根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述接收模块,用于接收所述第二服务器发送的第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述建立模块,用于根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室。
上述方案中,所述云教室包括:一个主教室和至少一个扩展教室;所述第一服务器还包括:设置模块和业务处理模块;其中,
所述设置模块,用于设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;
所述业务处理模块,用于当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
上述方案中,所述业务处理模块,还用于当有用户退出教室时,修改所述教室的人数。
上述方案中,所述第一服务器还包括:检测模块、比较模块和业务处理模块;其中,
所述检测模块,用于检测所述云教室中每个教室的数据读写进度,将所述每个教室的数据读写进度发送至所述比较模块;
所述比较模块,用于比较任意教室的数据读写进度与预设数据读写进度,获得比较结果,将所述比较结果发送至业务处理模块;
所述业务处理模块,用于当所述比较模块发送的比较结果为任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
本发明实施例还提供了一种云教室的实现方法,应用于云教室的实现系统中,所述系统包括第一服务器、至少一个第二服务器和两个以上第三服务器;所述方法包括:
所述第一服务器根据用户发送的云教室建立请求,向所述第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述第二服务器接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述第一服务器接收所述第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室。
上述方案中,所述云教室包括:一个主教室和至少一个扩展教室;所述方法还包括:
所述第一服务器设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
上述方案中,所述方法还包括:当有用户退出教室时,修改所述教室的人数。
上述方案中,所述云教室包括:一个主教室和至少一个扩展教室;所述方法还包括:
检测所述云教室中每个教室的数据读写进度,当任意教室的数据读写进度与预设数据读写进度相比,超过预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
上述方案中,所述云教室的实现系统还包括第四服务器;
所述第四服务器通过API接口将所述第一服务器发送的第一请求消息发送至第二服务器;将所述第二服务器发送的第一响应消息发送至所述第一服务器;建立所述第一服务器与所述第三服务器的连接。
本发明实施例提供的云教室的实现系统、方法及服务器,通过第一服务器根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;所述第二服务器接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;所述第一服务器接收所述第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;如此,解决了电子教室系统的可扩展性、高I/O情况下对系统性能的影响;实现了无用户人数限制、无空间限制的云教室。
附图说明
图1为本发明实施例的云教室的实现系统的组成结构示意图一;
图2为本发明实施例的云教室的实现系统的组成结构示意图二;
图3为本发明实施例中云教室的组成结构框架的示意图;
图4为本发明实施例的云教室的实现系统中第一服务器的组成结构示意图一;
图5为本发明实施例的云教室的实现系统中第一服务器的组成结构示意图二;
图6为本发明实施例的云教室的实现系统中第一服务器的组成结构示意图三;
图7为本发明实施例的云教室的实现方法的流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
实施例一
图1为本发明实施例的云教室的实现系统的组成结构示意图一;如图1所示,所述系统包括:第一服务器11、至少一个第二服务器12和两个以上第三服务器13;其中,
所述第一服务器11,用于根据用户发送的云教室建立请求,向所述第二服务器12发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;还用于接收所述第二服务器发送的第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;
所述第二服务器12,用于接收所述第一服务器11发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器13的信息;
所述第三服务器13,用于为所述第一服务器11建立云教室提供数据资源。
具体的,本实施例基于可扩展的分布式文件系统,所述第二服务器12为所述分布式文件系统的主服务器(master),用于管理所述分布式文件系统的数据,完成数据服务器中组块(chunk)的分配等工作;所述第三服务器13为所述分布式文件系统的数据服务器,用于存储数据;所述第三服务器13中以组块(chunk)的形式存储数据,即数据存储chunk中,根据客户端的指定的chunk位置和字节范围进行数据的读写;每个chunk会复制到多个数据服务器中,以防止数据丢失用于备份。
所述客户端在本实施例中,可以作为一个集成模块集成在所述第一服务器11中,也可以单独作为一个服务器;图2为本发明实施例的云教室的实现系统的组成结构示意图二;如图2所示,当所述客户端作为一个单独服务器时,即图2中的第四服务器14,所述第四服务器14,用于通过API将所述第一服务器11发送的第一请求消息发送至第二服务器12;将所述第二服务器12发送的第一响应消息发送至所述第一服务器11;建立所述第一服务器11与所述第三服务器13的连接。
这里,所述第四服务器14通过自身的API,实现了第一服务器11与第二服务器12、第一服务器11与第三服务器的交互,从而实现云教室的建立。
具体的,所述第一服务器11通过所述第四服务器14向所述第二服务器12发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;所述第二服务器12可根据自身存储的多个所述第三服务器13的状态信息向所述第一服务器11返回可用的至少一个第三服务器13的信息,也可以向所述第三服务器13发送状态查询指令,获取所述第三服务器13发送的状态信息,将可用的至少一个第三服务器13的信息发送至所述第一服务器11;所述可用的至少一个第三服务器13的信息包括:第三服务器13的标识、数据存储的chunk句柄、所述chunk位置等信息。
所述第一服务器11根据所述可用的至少一个第三服务器13的信息,通过所述第四服务器14与所述可用的至少一个第三服务器13建立连接,依据所述可用的至少一个第三服务器13的数据存储资源建立云教室。
实施例二
在本发明另一个优选的实施例中,基于实施例一所记载的云教室的实现系统,所述云教室包括:一个主教室和至少一个扩展教室;所述第一服务器11,还用于设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;还用于当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
优选地,在本实施例中,所述第一服务器11,还用于当有用户退出教室时,修改所述教室的人数;当所述云教室中所有教室的用户数量为零时,关闭所述云教室,断开与第三服务器的连接。
图3为本发明实施例中云教室的组成结构框架的示意图;如图3所示,每个云教室包括一个主教室31和至少一个扩展教室32;而所述云教室中教室的数量与服务器的数量对应,即一个主教室31对应主服务器33,每个扩展教室32对应一个从服务器34。
这里,所述主服务器33和所述从服务器34均为第三服务器,即所述主服务器33和所述从服务器34均存储数据;但是所述主服务器33中存储有主教室31中的数据信息,管理所述主教室31播放的教学内容;而所述从服务器34中存储的数据信息是所述主服务器33中存储的数据信息的数据副本;所述从服务器34仅用来根据主服务器33的播放进度播放教学内容。
其中,所述第一服务器11可通过检测I/O操作确定是否有用户加入或退出云教室。
实施例三
在本发明另一个优选的实施例中,基于实施例一所记载的云教室的实现系统,所述云教室包括:一个主教室和至少一个扩展教室;所述第一服务器11,还用于检测所述云教室中每个教室的数据读写进度,当任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
其中,所述预设数据读写进度可以是所述云教室中主教室的数据读写进度,也可以是数据读写进度相同的教室数量达到某一阈值数量的教室的数据读写进度,如所述云教室包括一个主教室和三个扩展教室,其中有三个教室的数据读写进度相同,若设定阈值为3,则所述预设数据读写进度为所述三个教室的数据读写进度。
如图3所示,每个云教室包括一个主教室31和至少一个扩展教室32;而所述云教室中教室的数量与服务器的数量对应,即一个主教室31对应主服务器33,每个扩展教室32对应一个从服务器34;其中,所述主服务器33和所述从服务器34均为第三服务器。
本实施例中,每个云教室通过一个主线程和至少一个子线程处理I/O操作;所述至少一个子线程与所述至少一个扩展教室对应,所述扩展教室对应一个从服务器,因而一个子线程对应一个从服务器,即一个子线程对应一个第三服务器;所述主线程用于处理用户的I/O请求,将所述I/O请求分发至各个子线程;所述子线程不仅用于处理所述I/O请求,还用于根据所述I/O请求与所述子线程对应的第三服务器进行数据交互。
这里,由于每个子线程与对应的第三服务器进行数据交互是完全独立的I/O操作,因此必须在第一服务器中进行同步管理,否则会导致同一云教室下的各个教室播放数据内容异步的问题,
具体的,所述第一服务器11通过主线程设置共享区,所述共享区为所述第三服务器13中的数据读写区域,创建用户可将数据写入所述共享区,云教室的所有用户可通过所述共享区读数据信息,即通过所述共享区播放数据内容;通过至少一个子线程异步将数据写入共享区,当数据写入完成后,通过主线程检测所述云教室中每个教室对应的子线程的数据读写进度,当存在有教室的数据读写进度超过预设数据读写进度的预设阈值时,如所述预设阈值可设置为5%,及所述教室的读写进度超过预设数据读写进度的5%时,可指示所述任意教室暂停读写数据,暂停的时间可设定为任意时间,如5s,当暂停时间到时,继续检测每个教室的数据读写进度,当有任意教室的数据读写进度与其他教室的数据读写进度不同步时,继续暂停所述任意教室读写数据;当所有教室的数据读写进度相同时,主线程指示暂停数据读写操作的教室继续读写数据。
实施例四
在本发明另一个优选的实施例中,基于实施例一所记载的云教室的实现系统,本发明实施例还提供一种第一服务器;图4为本发明实施例的云教室的实现系统中第一服务器的组成结构示意图一;如图4所示,所述第一服务器包括:发送模块41、接收模块42和建立模块43;其中,
所述发送模块41,用于根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述接收模块42,用于接收所述第二服务器发送的第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述建立模块43,用于根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室。
其中,本实施例中所述的建立模块43在实际应用中,可由所述第一服务器中的中央处理器(CPU,Central Processing Unit)、或数字信号处理器(DSP,Digital Signal Processor)、或可编程门阵列(FPGA,Field-Programmable GateArray)实现;所述发送模块41在实际应用中,可由发送器或发送天线实现;所述接收模块42在实际应用中,可由接收器或接收天线实现。
实施例五
在本发明另一个优选的实施例中,基于实施例一所记载的云教室的实现系统,本发明实施例还提供一种第一服务器;所述云教室包括:一个主教室和至少一个扩展教室;图5为本发明实施例的云教室的实现系统中第一服务器的组成结构示意图二;如图5所示,所述第一服务器包括:发送模块41、接收模块42、建立模块43、设置模块44和业务处理模块45;其中,
所述发送模块41,用于根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述接收模块42,用于接收所述第二服务器发送的第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述建立模块43,用于根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;
所述设置模块44,用于设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;
所述业务处理模块45,用于当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
优选地,所述业务处理模块45,还用于当有用户退出教室时,修改所述教室的人数。
其中,本实施例中所述的建立模块43、设置模块44和业务处理模块45在实际应用中,均可由所述第一服务器中的CPU、或DSP、或FPGA实现;所述发送模块41在实际应用中,可由发送器或发送天线实现;所述接收模块42在实际应用中,可由接收器或接收天线实现。
实施例六
在本发明另一个优选的实施例中,基于实施例一所记载的云教室的实现系统,本发明实施例还提供一种第一服务器;所述云教室包括:一个主教室和至少一个扩展教室;图6为本发明实施例的云教室的实现系统中第一服务器的组成结构示意图三;如图6所示,所述第一服务器包括:发送模块41、接收模块42、建立模块43、检测模块46、比较模块47和业务处理模块44;其中,
所述发送模块41,用于根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述接收模块42,用于接收所述第二服务器发送的第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述建立模块43,用于根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;
所述检测模块46,用于检测所述云教室中每个教室的数据读写进度,将所述每个教室的数据读写进度发送至所述比较模块47;
所述比较模块47,用于比较任意教室的数据读写进度与预设数据读写进度,获得比较结果,将所述比较结果发送至业务处理模块44;
所述业务处理模块44,用于当所述比较模块47发送的比较结果为任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
其中,本实施例中所述的建立模块43、检测模块46、比较模块47和业务处理模块44在实际应用中,均可由所述第一服务器中的CPU、或DSP、或FPGA实现;所述发送模块41在实际应用中,可由发送器或发送天线实现;所述接收模块42在实际应用中,可由接收器或接收天线实现。
实施例七
在本发明另一个优选的实施例中,基于实施例一所记载的云教室的实现系统,本发明实施例还提供一种云教室的实现方法;图7为本发明实施例的云教室的实现方法的流程示意图;如图7所示,所述方法包括:
步骤701:所述第一服务器根据用户发送的云教室建立请求,向所述第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源。
步骤702:所述第二服务器接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息。
这里,所述第二服务器接收到所述第一请求消息,根据所述第一请求消息中的数据文件大小,可根据自身存储的多个所述第三服务器的状态信息向所述第一服务器返回可用的至少一个第三服务器的信息,也可以向所述第三服务器发送状态查询指令,获取所述第三服务器发送的状态信息,将可用的至少一个第三服务器的信息发送至所述第一服务器;所述可用的至少一个第三服务器的信息包括:第三服务器的标识、数据存储的chunk句柄、所述chunk位置等信息。
步骤703:所述第一服务器接收所述第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室。
这里,所述第一服务器根据所述可用的至少一个第三服务器的信息,与所述可用的至少一个第三服务器建立连接,依据所述可用的至少一个第三服务器的数据存储资源建立云教室。
具体的,本实施例基于可扩展的分布式文件系统,所述第二服务器为所述分布式文件系统的主服务器(master),用于管理所述分布式文件系统的数据,完成数据服务器中组块(chunk)的分配等工作;所述第三服务器为所述分布式文件系统的数据服务器,用于存储数据;所述第三服务器中以组块(chunk)的形式存储数据,即数据存储chunk中,根据客户端的指定的chunk位置和字节范围进行数据的读写;每个chunk会复制到多个数据服务器中,以防止数据丢失用于备份。
所述客户端在本实施例中,可以作为一个集成模块集成在所述第一服务器中,也可以单独作为一个服务器,如图2所示的第四服务器14;当所述客户端作为一个单独服务器(第四服务器)时,通过所述第四服务器的API接口将所述第一服务器发送的第一请求消息发送至第二服务器;将所述第二服务器发送的第一响应消息发送至所述第一服务器;建立所述第一服务器与所述第三服务器的连接。
实施例八
在本发明另一个优选的实施例中,基于实施例七所记载的云教室的实现方法,所述云教室包括:一个主教室和至少一个扩展教室;所述方法还包括:
所述第一服务器设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
优选地,当有用户退出教室时,修改所述教室的人数;当所述云教室中所有教室的用户数量为零时,关闭所述云教室,断开与第三服务器的连接。
如图3所示,每个云教室包括一个主教室31和至少一个扩展教室32;而所述云教室中教室的数量与服务器的数量对应,即一个主教室31对应主服务器33,每个扩展教室32对应一个从服务器34。
这里,所述主服务器33和所述从服务器34均为第三服务器,即所述主服务器33和所述从服务器34均存储数据;但是所述主服务器33中存储有主教室31中的数据信息,管理所述主教室31播放的教学内容;而所述从服务器34中存储的数据信息是所述主服务器33中存储的数据信息的数据副本;所述从服务器34仅用来根据主服务器33的播放进度播放教学内容。
其中,所述第一服务器可通过检测I/O操作确定是否有用户加入或退出云教室。
实施例九
在本发明另一个优选的实施例中,基于实施例七所记载的云教室的实现方法,所述云教室包括:一个主教室和至少一个扩展教室;所述方法还包括:
检测所述云教室中每个教室的数据读写进度,当任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
其中,所述预设数据读写进度可以是所述云教室中主教室的数据读写进度,也可以是数据读写进度相同的教室数量达到某一阈值数量的教室的数据读写进度,如所述云教室包括一个主教室和三个扩展教室,其中有三个教室的数据读写进度相同,若设定阈值为3,则所述预设数据读写进度为所述三个教室的数据读写进度。
如图3所示,每个云教室包括一个主教室31和至少一个扩展教室32;而所述云教室中教室的数量与服务器的数量对应,即一个主教室31对应主服务器33,每个扩展教室32对应一个从服务器34;其中,所述主服务器33和所述从服务器34均为第三服务器。
本实施例中,每个云教室通过一个主线程和至少一个子线程处理I/O操作;所述至少一个子线程与所述至少一个扩展教室对应,所述扩展教室对应一个从服务器,因而一个子线程对应一个从服务器,即一个子线程对应一个第三服务器;所述主线程用于处理用户的I/O请求,将所述I/O请求分发至各个子线程;所述子线程不仅用于处理所述I/O请求,还用于根据所述I/O请求与所述子线程对应的第三服务器进行数据交互。
这里,由于每个子线程与对应的第三服务器进行数据交互是完全独立的I/O操作,因此必须在第一服务器中进行同步管理,否则会导致同一云教室下的各个教室播放数据内容异步的问题,
具体的,所述第一服务器11通过主线程设置共享区,所述共享区为所述第三服务器13中的数据读写区域,创建用户可将数据写入所述共享区,云教室的所有用户可通过所述共享区读数据信息,即通过所述共享区播放数据内容;通过至少一个子线程异步将数据写入共享区,当数据写入完成后,通过主线程检测所述云教室中每个教室对应的子线程的数据读写进度,当存在有教室的数据读写进度超过预设数据读写进度的预设阈值时,如所述预设阈值可设置为5%,及所述教室的读写进度超过预设数据读写进度的5%时,可指示所述任意教室暂停读写数据,暂停的时间可设定为任意时间,如5s,当暂停时间到时,继续检测每个教室的数据读写进度,当有任意教室的数据读写进度与其他教室的数据读写进度不同步时,继续暂停所述任意教室读写数据;当所有教室的数据读写进度相同时,主线程指示暂停数据读写操作的教室继续读写数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (14)
1.一种云教室的实现系统,其特征在于,所述系统包括:第一服务器、至少一个第二服务器和两个以上第三服务器;其中,
所述第一服务器,用于根据用户发送的云教室建立请求,向所述第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;还用于接收所述第二服务器发送的第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室;
所述第二服务器,用于接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述第三服务器,用于为所述第一服务器建立云教室提供数据资源。
2.根据权利要求1所述的系统,其特征在于,所述云教室包括:一个主教室和至少一个扩展教室;
所述第一服务器,还用于设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;还用于当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
3.根据权利要求2所述的系统,其特征在于,所述第一服务器,还用于当有用户退出教室时,修改所述教室的人数。
4.根据权利要求1所述的系统,其特征在于,所述云教室包括:一个主教室和至少一个扩展教室;
所述第一服务器,还用于检测所述云教室中每个教室的数据读写进度,当任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括第四服务器,用于通过应用编程接口API将所述第一服务器发送的第一请求消息发送至第二服务器;将所述第二服务器发送的第一响应消息发送至所述第一服务器;建立所述第一服务器与所述第三服务器的连接。
6.一种第一服务器,其特征在于,所述第一服务器包括:发送模块、接收模块和建立模块;其中,
所述发送模块,用于根据用户发送的云教室建立请求,向第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述接收模块,用于接收所述第二服务器发送的第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述建立模块,用于根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室。
7.根据权利要求6所述的第一服务器,其特征在于,所述云教室包括:一个主教室和至少一个扩展教室;所述第一服务器还包括:设置模块和业务处理模块;其中,
所述设置模块,用于设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;
所述业务处理模块,用于当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
8.根据权利要求7所述的第一服务器,其特征在于,所述业务处理模块,还用于当有用户退出教室时,修改所述教室的人数。
9.根据权利要求6所述的第一服务器,其特征在于,所述第一服务器还包括:检测模块、比较模块和业务处理模块;其中,
所述检测模块,用于检测所述云教室中每个教室的数据读写进度,将所述每个教室的数据读写进度发送至所述比较模块;
所述比较模块,用于比较任意教室的数据读写进度与预设数据读写进度,获得比较结果,将所述比较结果发送至业务处理模块;
所述业务处理模块,用于当所述比较模块发送的比较结果为任意教室的数据读写进度超过预设数据读写进度的预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
10.一种云教室的实现方法,应用于云教室的实现系统中,所述系统包括第一服务器、至少一个第二服务器和两个以上第三服务器;其特征在于,所述方法包括:
所述第一服务器根据用户发送的云教室建立请求,向所述第二服务器发送第一请求消息,所述第一请求消息用于请求为所述云教室分配数据资源;
所述第二服务器接收所述第一服务器发送的第一请求消息,向所述第一服务器发送第一响应消息,所述第一响应消息中包括为所述云教室分配的至少一个第三服务器的信息;
所述第一服务器接收所述第一响应消息,根据所述第一响应消息与对应的至少一个第三服务器建立连接,依据所述至少一个第三服务器建立云教室。
11.根据权利要求10所述的方法,其特征在于,所述云教室包括:一个主教室和至少一个扩展教室;所述方法还包括:
所述第一服务器设置所述主教室和所述至少一个扩展教室的固定人数;设置所述扩展教室的数量;当有新用户加入所述云教室时,确定所述云教室中人数最少的教室,将所述新用户分配至所述教室中,并修改所述教室的人数;当所有教室的人数均达到固定人数时,拒绝所述新用户的加入。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:当有用户退出教室时,修改所述教室的人数。
13.根据权利要求10所述的方法,其特征在于,所述云教室包括:一个主教室和至少一个扩展教室;所述方法还包括:
检测所述云教室中每个教室的数据读写进度,当任意教室的数据读写进度与预设数据读写进度相比,超过预设阈值时,指示所述任意教室暂停读写数据;当所述任意教室的数据读写进度与预设数据读写进度相同时,指示所述任意教室继续读写数据。
14.根据权利要求10所述的方法,其特征在于,所述云教室的实现系统还包括第四服务器;
所述第四服务器通过API接口将所述第一服务器发送的第一请求消息发送至第二服务器;将所述第二服务器发送的第一响应消息发送至所述第一服务器;建立所述第一服务器与所述第三服务器的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410085193.5A CN104917781B (zh) | 2014-03-10 | 2014-03-10 | 一种云教室的实现系统、方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410085193.5A CN104917781B (zh) | 2014-03-10 | 2014-03-10 | 一种云教室的实现系统、方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917781A true CN104917781A (zh) | 2015-09-16 |
CN104917781B CN104917781B (zh) | 2018-06-26 |
Family
ID=54086486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410085193.5A Active CN104917781B (zh) | 2014-03-10 | 2014-03-10 | 一种云教室的实现系统、方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104917781B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790477A (zh) * | 2016-12-12 | 2017-05-31 | 广州杰赛科技股份有限公司 | 实现云教室集群的系统及方法 |
CN107154187A (zh) * | 2017-07-12 | 2017-09-12 | 邯郸学院 | 网络课程互动方法和系统 |
CN112714186A (zh) * | 2020-12-30 | 2021-04-27 | 北京大米科技有限公司 | 推流服务器的分配方法、媒体流的推送方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1193595A2 (en) * | 2000-09-11 | 2002-04-03 | Nec Corporation | Method of distributing a spare time of CPU and system for performing the method |
CN101179536A (zh) * | 2006-12-22 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 实现外网用户与局域网用户即时通信的方法及系统 |
CN101291205A (zh) * | 2008-06-16 | 2008-10-22 | 杭州华三通信技术有限公司 | 传输备份数据的方法、系统、镜像服务器和客户端 |
CN102595208A (zh) * | 2012-01-13 | 2012-07-18 | 河海大学 | 云端控制网络化视频图像处理流媒体服务系统及方法 |
-
2014
- 2014-03-10 CN CN201410085193.5A patent/CN104917781B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1193595A2 (en) * | 2000-09-11 | 2002-04-03 | Nec Corporation | Method of distributing a spare time of CPU and system for performing the method |
CN101179536A (zh) * | 2006-12-22 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 实现外网用户与局域网用户即时通信的方法及系统 |
CN101291205A (zh) * | 2008-06-16 | 2008-10-22 | 杭州华三通信技术有限公司 | 传输备份数据的方法、系统、镜像服务器和客户端 |
CN102595208A (zh) * | 2012-01-13 | 2012-07-18 | 河海大学 | 云端控制网络化视频图像处理流媒体服务系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790477A (zh) * | 2016-12-12 | 2017-05-31 | 广州杰赛科技股份有限公司 | 实现云教室集群的系统及方法 |
CN107154187A (zh) * | 2017-07-12 | 2017-09-12 | 邯郸学院 | 网络课程互动方法和系统 |
CN112714186A (zh) * | 2020-12-30 | 2021-04-27 | 北京大米科技有限公司 | 推流服务器的分配方法、媒体流的推送方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104917781B (zh) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101993915B1 (ko) | 원격으로 액세스되는 데이터의 효율적인 라이브-이송 | |
US20190166192A1 (en) | Method and Device for Storage Resource Allocation for Video Cloud Storage | |
KR102486243B1 (ko) | 데이터 저장소를 파티셔닝하고 리밸런싱하는 기법 | |
CN105979007A (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
CN105683896A (zh) | 跨多个虚拟机共享虚拟硬盘 | |
CN106603692B (zh) | 一种分布式存储系统中的数据存储方法及装置 | |
US20190173948A1 (en) | Reliable data storage for decentralized computer systems | |
CN112910880B (zh) | 虚拟房间创建方法、系统、装置、设备及介质 | |
EP3531264A1 (en) | Data storage, reading, and cleansing method and device, and cloud storage system | |
CN106126374A (zh) | 数据写入方法、数据读取方法及装置 | |
JPWO2017168582A1 (ja) | 画像受信再生装置、画像生成送信装置、表示システム、画像受信再生方法、画像生成送信方法、画像受信再生プログラム及び画像生成送信プログラム | |
CN104901815A (zh) | 一种用户终端的分组方法、会议服务器、会议系统 | |
CN105187256A (zh) | 一种容灾方法、设备和系统 | |
CN105808374A (zh) | 一种快照处理方法及相关设备 | |
CN112121413A (zh) | 功能服务的响应方法、系统、装置、终端及介质 | |
CN104917781A (zh) | 一种云教室的实现系统、方法及服务器 | |
CN111371704B (zh) | 一种数据缓存方法、装置、终端设备和存储介质 | |
CN107301021B (zh) | 一种利用ssd缓存对lun进行加速的方法和装置 | |
CN108234551B (zh) | 一种数据处理方法及装置 | |
US20220103500A1 (en) | Method and device for managing group member, and method for processing group message | |
CN112637626B (zh) | 推流方法、系统、装置、电子设备及存储介质 | |
CN106557522A (zh) | 一种用于提供定时功能的方法与设备 | |
WO2020253490A1 (zh) | 一种资源分配方法、装置及设备 | |
CN110178353A (zh) | 业务处理方法、云服务器和终端设备 | |
CN103297272B (zh) | 设备绑定、解绑定方法和设备缓冲回收池实体设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |