远程教学方法、调度设备、服务器及电子设备与流程

文档序号:22845353发布日期:2020-11-06 16:49阅读:145来源:国知局
远程教学方法、调度设备、服务器及电子设备与流程

本申请涉及在线教育技术领域,具体而言,本申请涉及一种远程教学方法、调度设备、服务器及电子设备。



背景技术:

远程教学是学生与教师、学生与教育组织之间主要采取多种媒体方式进行系统教学和通信联系的教育形式,是将课程传送给一处或多处学生的教育。现代远程教育则是指通过音频、视频(直播或录像)以及包括实时和非实时在内的计算机技术把课程传送到校园外的教育。

现有的远程教育方法,需要人工介入视频的恢复和机器出现故障的恢复,并且如果出现单点故障也无法感知,因此需要人工看守,由此可知,现有的远程教育方法更适合单人、短时间的视频教学,并不适合大规模、长时间的视频教学。



技术实现要素:

本申请实施例提供一种克服上述问题或者至少部分地解决上述问题的远程教学方法、调度设备、服务器及电子设备。

第一方面,提供一种远程教学方法,应用于主调度设备,所述远程教学方法包括:

获取执行时刻为在当前时刻之后预设时长的时刻的教学任务,并作为目标教学任务,从中间件设备中获取服务器集群中各服务器实时上报的第一负载和第二负载,根据各服务器在当前时刻的第一负载,从服务器集群中确定与目标教学任务相关的候选服务器,向候选服务器发送目标教学任务的下载地址,以使得候选服务器根据下载地址下载目标教学任务;

根据候选服务器在目标教学任务的执行时刻时的第二负载,从候选服务器中确定执行目标教学任务的主服务器,向主服务器发送第三指令,以使得主服务器根据第三指令执行目标教学任务;

若根据主服务器在执行目标教学任务时的第二负载确定主服务器发生异常,则根据候选服务器在主服务器发生异常时的第二负载,从候选服务器中确定备用服务器;

向主服务器发送第一指令,向备用服务器发送第二指令,以使得主服务器根据第一指令在预设任务节点停止执行目标教学任务以及备用服务器根据第二指令在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务;

其中,教学方法还包括:根据预设心跳频率向中间件设备发送心跳信息,以使得备用调度设备监控中间件设备中存储的主调度设备的心跳信息是否异常,以及在心跳信息异常时执行调度设备的主备切换;第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

进一步地,向主服务器发送第三指令之后,之后还包括:

获取目标教学任务关联的教师信息,作为目标教师信息,获取服务器集群正在执行的教学任务关联的教师信息,将关联的教师信息为目标教师信息的正在执行的教学任务以及目标教学任务作为待筛选教学任务;

从执行待筛选教学任务的服务器中选择一个服务器作为待保留的服务器;

向执行待筛选任务的服务器中除待保留的服务器之外的其他服务器发送第四指令,以使得接收的第四指令的服务器停止执行待筛选教学任务。

第二方面,提供一种远程教学方法,应用于主服务器,远程教学方法包括:

向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的主服务器在当前时刻的第一负载,向主服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻;

根据下载地址下载目标教学任务;

向中间件设备上报在目标教学任务的执行时刻时的第二负载,以使得主调度设备根据主服务器在目标教学任务的执行时刻时的第二负载,将主服务器确定作为执行目标教学任务的主服务器,并向主服务器发送第三指令;

接收第三指令,根据第三指令执行目标教学任务,并向中间件设备上报执行目标教学任务时的第二负载,以使得若主调度设备根据执行目标教学任务时的第二负载确定主服务器执行目标教学任务发生异常,则发送第一指令;

接收第一指令,根据第一指令在预设任务节点停止执行目标教学任务;

第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

进一步地,远程教学方法还包括:

若在执行目标教学任务时接收到主调度设备发送的第四指令,则根据第四指令停止执行目标教学任务;

其中,第四指令根据目标教学任务关联的教师信息获得。

进一步地,目标教学任务包括预先录制的音视频数据以及互动数据;互动数据用于表征在录制目标教学任务时教师向学生发起的互动操作,互动数据中包括教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息;

执行目标教学任务,包括:

播放音视频数据,当播放至在教师向学生发起的互动操作的时刻对应的帧数时,同时执行互动数据。

第三方面,提供一种远程教学方法,应用于备用服务器,远程教学方法包括:

向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的备用服务器在当前时刻的第一负载,向备用服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻;

根据下载地址下载目标教学任务;

向中间件设备上报在主服务器发生异常时的第二负载,以使得主调度设备根据从中间件设备中获取备用服务器在主服务器发生异常时的第二负载,发送第二指令;

接收第二指令,确定主服务器停止执行目标教学任务的预设任务节点,在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务;

第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

第四方面,提供一种主调度设备,包括;

候选服务器确定模块,用于获取执行时刻为在当前时刻之后预设时长的时刻的教学任务,并作为目标教学任务,从中间件设备中获取服务器集群中各服务器实时上报的第一负载和第二负载,根据各服务器在当前时刻的第一负载,从服务器集群中确定与目标教学任务相关的候选服务器,向候选服务器发送目标教学任务的下载地址,以使得候选服务器根据下载地址下载目标教学任务;

主服务器确定模块,用于根据候选服务器在目标教学任务的执行时刻时的第二负载,从候选服务器中确定执行目标教学任务的主服务器,向主服务器发送第三指令,以使得主服务器根据第三指令执行目标教学任务;

备用服务器获取模块,用于若根据主服务器在执行目标教学任务时的第二负载确定主服务器发生异常,则根据候选服务器在主服务器发生异常时的第二负载,从候选服务器中确定备用服务器;

切换模块,用于向主服务器发送第一指令,向备用服务器发送第二指令,以使得主服务器根据第一指令在预设任务节点停止执行目标教学任务以及备用服务器根据第二指令在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务;

心跳信息发送模块,用于根据预设心跳频率向中间件设备发送心跳信息,以使得备用调度设备监控中间件设备中存储的主调度设备的心跳信息是否异常,以及在心跳信息异常时执行调度设备的主备切换;

第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

进一步地,主调度设备还包括:

教师信息获取模块,用于获取目标教学任务关联的教师信息,作为目标教师信息,获取服务器集群正在执行的教学任务关联的教师信息,将关联的教师信息为目标教师信息的正在执行的教学任务以及目标教学任务作为待筛选教学任务;

筛选模块,用于从执行待筛选教学任务的服务器中选择一个服务器作为待保留的服务器;

第四指令发送模块,用于向执行待筛选任务的服务器中除待保留的服务器之外的其他服务器发送第四指令,以使得接收的第四指令的服务器停止执行待筛选教学任务。

第五方面,提供一种主服务器,包括:

主第一负载发送模块,用于向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的主服务器在当前时刻的第一负载,向主服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻;

主任务下载模块,用于根据下载地址下载目标教学任务;

主第二负载发送模块,用于向中间件设备上报在目标教学任务的执行时刻时的第二负载,以使得主调度设备根据主服务器在目标教学任务的执行时刻时的第二负载,将主服务器确定作为执行目标教学任务的主服务器,并向主服务器发送第三指令;

任务执行模块,用于接收第三指令,根据第三指令执行目标教学任务,并向中间件设备上报执行目标教学任务时的第二负载,以使得若主调度设备根据执行目标教学任务时的第二负载确定主服务器执行目标教学任务发生异常,则发送第一指令;

停止执行模块,用于接收第一指令,根据第一指令在预设任务节点停止执行目标教学任务;

第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

进一步地,主服务器还包括:

第四指令执行模块,用于若在执行目标教学任务时接收到主调度设备发送的第四指令,则根据第四指令停止执行目标教学任务;

其中,第四指令根据目标教学任务关联的教师信息获得。

进一步地,目标教学任务包括预先录制的音视频数据以及互动数据;互动数据用于表征在录制目标教学任务时教师向学生发起的互动操作,互动数据中包括教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息;

任务执行模块执行目标教学任务,包括:

播放音视频数据,当播放至在教师向学生发起的互动操作的时刻对应的帧数时,同时执行互动数据。

第六方面,提供一种备用服务器,包括:

备用第一负载发送模块,用于向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的备用服务器在当前时刻的第一负载,向备用服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻;

备用任务下载模块,用于根据下载地址下载目标教学任务;

备用第二负载发送模块,用于向中间件设备上报在主服务器发生异常时的第二负载,以使得主调度设备根据从中间件设备中获取备用服务器在主服务器发生异常时的第二负载,发送第二指令;

继续执行模块,用于接收第二指令,确定主服务器停止执行目标教学任务的预设任务节点,在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务;

第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

第七方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面、第二方面或者第三方面所提供的方法的步骤。

第八方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面、第二方面或者第三方面所提供的方法的步骤。

本申请实施例提供的远程教学方法、调度设备、服务器、电子设备及计算机程序,通过中间件设备获取服务器的负载,使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,由主调度设备获取服务器集群在当前时刻的第一负载,选择多个候选服务器,并且在下载资源的时候提供候选服务器进行多备份处理,这样当直播任务出现异常的时候,可以无损的切换到备机,不需要再另行下载各种资源,全程无需人工干预,还使得服务器集群在下载教学任务时的负载相对均衡,有利于服务器长期健康运行,在检测到主服务器执行目标教学任务异常时,分别向主服务器和备用服务器发送第一指令和第二指令,使得主服务器在预设任务节点停止执行教学任务,备用服务器在预设任务节点继续执行教学任务,让学生侧感知不到教学任务出现异常,从而更专注的学习。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例的远程教学方法所涉及的实施环境的示意图;

图2为本申请一个实施例的远程教学方法的流程示意图;

图3为本申请实施例的远程教学方法所涉及的实施环境的示意图

图4为本申请另一个实施例的远程教学方法所涉及的实施环境的示意图;

图5为本申请另一个实施例的远程教学方法的流程示意图;

图6为本申请再一个实施例的远程教学方法的流程示意图;

图7为本申请实施例的调度设备和服务器集群的交互示意图;

图8为本申请实施例的一种主调度设备的结构示意图;

图9为本申请实施例的一种主服务器的结构示意图;

图10为本申请实施例的一种备用服务器的结构示意图;

图11为本申请实施例的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请提供的远程教学方法、调度设备、服务器、电子设备及计算机程序,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1为本申请实施例的远程教学方法所涉及的实施环境的示意图,如图1所示,包括主调度设备110、服务器集群120、学生客户端130;

主调度设备110用于统计教学任务,计算教学任务需要的资源,监控服务器集群120中各服务器的负载,根据服务器的负载向服务器集群120中的指定服务器下发指令,例如下载教学任务的指令、执行教学任务的指令等,这样可以使得整个集群处于一个负载均衡的状态,防止单机过热,将发生异常的教学任务在服务器集群120中进行调度。

服务器集群120中包括至少两个服务器,图中示出了3个服务器,分别为服务器1201、服务器1202和服务器1203,每个服务器能够同时下载或者执行多个教学任务,并且每个教学任务在执行前都被同时部署在多个服务器上,应当理解的是,服务器是指向教师客户端130提供远程教学任务的计算机设备,服务器集群实时向主调度设备110上报自身的负载,接收并执行主调度设备110下发的指令,例如下载教学任务或者执行教学任务等,主服务器1201和服务器1202接收到下载某教学任务的指令时,根据指令中指示的存储地址下载该教学任务,之后当服务器1201接收到执行该教学任务的指令时,服务器1201确定自身作为执行该教学任务的主服务器,并且执行该教学任务,在执行教学任务时,服务器1201向学生客户端130推送下载好的教学任务,供学生通过学生客户端130学习。

本申请实施例学生客户端130可以是应用程序形式,也可以是网页形式,能够接收服务器推送的教学任务,供学生听课学习。

图2为本申请一个实施例的远程教学方法的流程示意图,本申请实施例的远程教学方法的执行主体为主调度设备,如图2所示,包括:

s101、获取执行时刻为在当前时刻之后预设时长的时刻的教学任务,并作为目标教学任务,从中间件设备中获取服务器集群中各服务器实时上报的第一负载和第二负载,根据各服务器在当前时刻的第一负载,从服务器集群中确定与目标教学任务相关的候选服务器,向候选服务器发送目标教学任务的下载地址,以使得候选服务器根据下载地址下载目标教学任务。

在本申请实施例的教学任务可以是与教学相关的音频、视频、ppt、文档等等,例如教师讲解初三数学的视频,教学任务既可以是提前录播好的,也可以是实时直播的。

为了保证教学任务能够顺利执行,本申请实施例在教学任务的执行时刻之前的预设时长,就会对教学任务的执行进行部署,比如教学任务的执行时刻为下午两点,那么在下午一点主调度设备就会获取一个小时后,也即下午两点将要执行的教学任务,作为目标教学任务,同时还会获取服务器集群在下午一点时的第一负载。

本申请实施例的服务器集群中的各服务器实时向中间件设备上报第一负载和第二负载,其中第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。第一负载是服务器与存储教学任务的数据源之间进行交互产生的负载,而第二负载是服务器与教师客户端之间进行交互产生的负载,两种负载是相对独立的,考虑到在确定主服务器时需要先下载教学任务,因此主调度设备以第一负载作为选择候选服务器的考量。

通过将负载分为两类,能够更合理地确定下载教学任务的服务器以及执行教学任务的服务器。更重要的是,通过增设中间件设备,使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端。

可选的,本申请实施例的中间件设备可以为zookeeper集群、etcd集群、eureka集群等等,应当理解的是,zookeeper集群是一个分布式的、开放源码的分布式应用程序协调服务,etcd是一个开源的分布式键值存储系统,eureka是netflix开源的服务发现组件,zookeeper集群、etcd集群、eureka集群都可实现上述中间件设备的功能。进一步地,中间件设备采用zookeeper集群,利用zookeeper集群的强一致性特性,能够在服务器集群中的任意一个服务器掉线时,能够立即向主调度设备广播,防止教学任务被下发到已经脱离服务器集群的服务器上。

本申请实施例在定义第一负载时,可以综合考虑服务器在下载教学任务时的硬件消耗,例如cpu使用率、内存使用率、磁盘使用率,以及服务器当前下载教学任务的个数等情况。

本申请实施例可以对当前时刻各服务器的第一负载从小到达进行排序,然后将排序靠前的至少两个服务器作为后续服务器,并向候选服务器发送目标教学任务的下载地址,以使得候选服务器根据下载地址下载目标教学任务,通过根据各服务器在当前时刻的第一负载选择候选服务器,这样设置能够使得服务器集群在下载教学任务时的负载相对均衡,有利于服务器长期健康运行。通过向所有候选服务器发送目标教学任务的下载地址,使得所有候选服务器都能够下载目标教学任务,并保存在服务器的本地存储空间,为后续主服务器执行目标教学任务出现异常时快速切换至备用服务器奠定基础。

s102、根据候选服务器在目标教学任务的执行时刻时的第二负载,从候选服务器中确定执行目标教学任务的主服务器,向主服务器发送第三指令,以使得主服务器根据第三指令执行目标教学任务。

具体的,本申请实施例可以在目标教学任务的执行时刻,从中间件设备中获取各候选服务器的第二负载,选择第二负载最小的服务器作为主服务器。主调度设备通过向主服务器发送第三指令,使得主服务器根据第三指令执行目标教学任务,由于候选服务器中的其他服务器并没有接收到第三指令,因此在达到目标教学任务的执行时刻时并不会执行教学任务。

s103、若根据主服务器在执行目标教学任务时的第二负载确定主服务器发生异常,则根据候选服务器在主服务器发生异常时的第二负载,从候选服务器中确定备用服务器。

主服务器在执行教学任务时,可以采用逐帧推送音/视频的方式,在此基础上,如果检测到音/视频在逐帧推送时出现卡顿、掉线等情况,则可以认为主服务器在执行教学任务时发生异常,还比如如果检测到主服务器出现网络抖动、机器宕机等情况,也可以认为主服务器在执行教学任务时发生了异常。上述使主服务器发生异常的信息都可以通过主服务器的第二负载获得。

当检测到主服务器在执行目标教学任务时出现异常时,需要确定备用服务器,备用服务器可以为在主服务器发生异常时第二负载最小的一个候选服务器。

应当理解的是,备用服务器是从候选服务器中挑选出来的,通过获取各候选服务器在主服务器执行目标教学任务出现异常时的第二负载,也就是与执行教学任务相关的负载,从而选择一个在主服务器执行目标教学任务出现异常时,具有最小第二负载的服务器作为备用服务器。尽管主服务器也属于候选服务器,但由于主服务器已经发生异常,其第一负载必然较高,因此备用服务器也必然不会选择到主服务器。

s104、向主服务器发送第一指令,向备用服务器发送第二指令,以使得主服务器根据第一指令在预设任务节点停止执行目标教学任务以及备用服务器根据第二指令在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务。

具体地,在主服务器执行目标教学任务异常时,主调度设备可以确定主服务器此时执行到的任务节点,任务节点可以是音/视频中的具体帧数,也可以是ppt或者教学文档的具体页数、行数,等等。根据此时执行到的任务节点可以进一步确定主服务器停止执行的任务节点,主服务器停止执行的任务节点可以是刚出现异常时执行到的任务节点,也可以是在刚出现异常时执行到的任务节点之后的任务节点,应当理解的是,从检测到主服务器执行异常,到主服务器停止执行的时间间隔应当较短,例如1秒之内。

本申请实施例通过中间件设备获取服务器的负载,使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,由主调度设备获取服务器集群在当前时刻的第一负载,选择多个候选服务器,并且在下载资源的时候提供候选服务器进行多备份处理,这样当直播任务出现异常的时候,可以无损的切换到备机,不需要再另行下载各种资源,全程无需人工干预,还使得服务器集群在下载教学任务时的负载相对均衡,有利于服务器长期健康运行,在检测到主服务器执行目标教学任务异常时,分别向主服务器和备用服务器发送第一指令和第二指令,使得主服务器在预设任务节点停止执行教学任务,备用服务器在预设任务节点继续执行教学任务,让学生侧感知不到教学任务出现异常,从而更专注的学习。

在上述各实施例的基础上,作为一种可选实施例,远程教学方法还包括:

根据预设心跳频率向中间件设备发送心跳信息,以使得备用调度设备监控中间件设备中存储的主调度设备的心跳信息是否异常,以及在心跳信息异常时执行调度设备的主备切换;第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

备用调度设备能够执行主调度设备的远程教学方法,只不过备用调度设备在主调度设备出现异常前只感知主调度设备的心跳,只有当主调度设备异常时,才会切换为主调度设备执行远程教学方法,本申请实施例通过设置备用调度设备,能够进一步增强远程教学的稳定性。

备用调度设备根据中间件设备中主服务器发送的心跳信息是否符合预设心跳频率,判断主调度设备的心跳信息是否异常,如果心跳信息不符合心跳频率,比如主服务器较长时间没有发送心跳信息,则获知主调度设备发生异常,由备用调度设备执行主备切换,即将原主调度设备切换至备用调度设备,而原备用调度设备切换为主调度设备。

在上述实施例的基础上,本申请实施例选择的候选服务器至少包括:在当前时刻服务器集群中第一负载最小的服务器以及与第一负载最小的服务器具有已下载的、最少相同教学任务的服务器。

例如,存在4个服务器,分布为服务器1~4,若服务器1中下载了教学任务1、2和3,服务器2中下载了教学任务3、4和5,服务器3中下载了教学任务1、3和5,服务器4中下载了教学任务2、4和5,若上述服务器中选择两个候选服务器,并且服务器1是第二负载最小的服务器,那么将服务器4作为第二个候选服务器,因为服务器4和服务器1中相同的教学任务数为0。

本申请实施例通过上述方法选出至少两个候选服务器,一方面能够选择一个负载最小的服务器,使得服务器上的下载任务比较均衡,更合理地利用硬件资源,另一方面选择具有最少相同教学任务的机器,使得两个服务器之间的任务相似度低,可以预防单机的过载,可以确保服务器长时间的稳定状态。

视频回放直播流技术是目前远程教学领域越来越火爆的技术,该技术可以理解为在教师进行远程教学直播时,对远程教学内容进行录制,然后在预设的未来时刻将录制的视频进行回放,从而利用回放的视频代替直播,为了使回放的视频更像是教师在实时直播,通常会创建一个教师使用的教师客户端,当达到预设的未来时刻时,教师客户端从服务器上获取预先录制的视频,然后下发到学生使用的学生客户端,由于学生客户端上看到的是教师客户端发来的视频,因此从视觉感官上会觉得该视频是实时直播的视频。

在上述各实施例的基础上,作为一种可选实施例,本申请的主调度设备还涉及教学任务的冲突检测,由上述实施例可知,每个教学任务都对应这一名教师,而一名教师在同一时间只能直播教学一门课程,如果有多个教学任务都出自同一名教师,那么主调度设备将控制服务器(可能是一个服务器,也可能是多个服务器)仅保留一个教学任务的执行,具体的,向主服务器发送第三指令之后,之后还包括:

s105、获取目标教学任务关联的教师信息,作为目标教师信息,获取服务器集群正在执行的教学任务关联的教师信息,将关联的教师信息为目标教师信息的正在执行的教学任务以及目标教学任务作为待筛选教学任务。

例如若目标教学任务关联的教师信息为张三,那么将张三作为目标教师信息,同时获取服务器集群正在执行的教学任务关联的教师信息,如果正在执行的一个教学任务关联的教师信息也是张三,那么就将该正在执行的教学任务作为一个待筛选任务,显然目标教学任务也属于待筛选教学任务。

s106、从执行待筛选教学任务的服务器中选择一个服务器作为待保留的服务器。

s107、向执行待筛选任务的服务器中除待保留的服务器之外的其他服务器发送第四指令,以使得接收的第四指令的服务器停止执行待筛选教学任务。

由于主调度设备向执行待筛选教学任务的服务器中除待保留的服务器之外的其他服务器发送了第四指令,使得仅有带保留的服务器能够继续执行待筛选教学任务,使得录播的教学任务更符合直播的客观规律。主调度设备将第一负载,也即与执行教学任务相关的负载,作为保留唯一的待筛选任务的依据,能够更合理地利用服务器的硬件资源,确保服务器的长时间稳定。

图3为本申请实施例的远程教学方法所涉及的实施环境的示意图,如图3所示,本申请实施例的调度设备的数量为2,分别为调度设备1和调度设备2,调度设备1和调度设备2向zookeeper集群发送心跳,同时每个调度设备从zookeeper集群中感知另一个调度设备的心跳,当主调度设备的心跳异常时,则备用调度设备进行主备切换,从而实现调度设备的容灾,并且主调度设备还会从zookeeper集群中获取服务器实时上传的健康信息和任务的实时状态,健康信息也即服务器的负载信息,包括服务器下载教学任务的负载和执行教学任务的负载,负载具体可以用内存使用率、cpu使用率、磁盘使用率、任务数进行表征,任务的实时状态包括任务处于下载阶段还是执行阶段,在相应阶段的进度(比如已下载60%,下载速度为50mb/s)等信息。主调度设备根据服务器上传的健康信息和任务的实时状态,下方指令到服务器集群中的相应服务器,并由服务器中的执行器具体下载以及执行目标教学任务,当主调度设备从健康信息中发现服务器异常时,则向监控发出告警信息,开发人员通过监控获知告警信息,对出现异常的服务器进行处理。在本实施例中,中间件设备具体采用zookeeper集群,zookeeper集群中包括多部(图中为2台)zookeeper,zookeeper一方面接受服务器集群上报的监控信息和任务的实时状态,另一方面也接受调度设备发送的心跳。本实施例对服务器集群中服务器的数量不做具体限定,图中示出了3个服务器,每个服务器均配置一个执行器用于具体执行上报负载信息、下载和执行教学任务,执行器在执行教学任务时,具体是通过向教师客户端发送指令,由教师客户端在教学的规定时间通过云平台向用户侧推送教学任务对应的视频。在本实施例中,执行器下载的教学任务存储在腾讯云中的云数据库中,从而教师客户端将云数据库云中存储的教学任务推送至用户侧。进一步的,本申请实施例的云平台可以采用腾讯云(tencentcloud),又称腾讯云计算,是腾讯推出的云端运算服务,提供云服务器、云存储、云数据库和弹性web引擎等基础云服务。

云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。

目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,identity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。

存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundantarrayofindependentdisk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。

本申请实施例通过引入云平台存储教学任务,并通过云平台向学生客户端推送教学任务的相关内容,实现了云教育(cloudcomputingeducation简称:ccedu),是指基于云计算商业模式应用的教育平台服务。在云平台上,所有的教育机构,培训机构,招生服务机构,宣传机构,行业协会,管理机构,行业媒体,法律结构等都集中云整合成资源池,各个资源相互展示和互动,按需交流,达成意向,从而降低教育成本,提高效率。

图4为本申请另一个实施例的远程教学方法所涉及的实施环境的示意图,相比图1,本申请实施例增设了备用调度设备111、中间件设备140以及教师客户端150;

备用调度设备111是与主调度设备110功能完全相同的调度设备,主调度设备110和备用调度设备111均根据预设心跳频率向中间件设备140发送心跳信息,同时各自监听另一个调度设备的心跳信息是否异常,若备用调度设备111监听到主调度设备110心跳信息异常,则进行主备切换,将主调度设备110切换为备用调度设备,备用调度设备111切换为主调度设备。

中间件设备140除了存储主调度设备110和备用调度设备111发送的心跳信息,还存储服务器集群120实时上传的负载,使得主调度设备110从中间件设备中获取服务器集群120中各服务器的负载。

服务器集群120中的服务器向中间件设备140实时上传负载,接收并执行主调度设备110下发的指令,例如下载教学任务或者执行教学任务等,主服务器1201和服务器1202接收到下载某教学任务的指令时,根据指令中指示的存储地址下载该教学任务,之后当服务器1201接收到执行该教学任务的指令时,服务器1201获知自身作为执行该教学任务的主服务器,并且执行该教学任务,在执行教学任务时,服务器1201驱动与该教学任务对应的教师客户端150启动,并向教师客户端150推送该教学任务进行直播。

本申请实施例中的教师客户端的数量不作具体的限定,在图4中以一个教师客户端150为例说明教师客户端的功能,教师客户端150中预先存储了教师信息,从而能够与教学任务相对应,教师客户端150能够受服务器驱动而启动,通过在预设的直播时间点接收教学任务,并向学生客户端130进行直播,使得学生客户端130获得直播的观感体验,应当理解的是,学生客户端130的个数可以为1个,也可以为多个,本实施例中不作具体的限定。

在上述各实施例的基础上,作为一种实施例,主调度设备在直播任务到点发起直播,但是教师客户端失败没有发起直播的时候会触发警告,还比如,在服务器的硬件资源到达瓶颈时,也会发起告警,如果是磁盘告警会发起清理动作,当服务器集群中有服务器超过预设时间服务器没有向中间件设备上报负载也会发起告警,主调度设备可以全方位的了解整个点播系统的运行状态和健康状态,同时主调度设备与企业微信的后台通信连接,主调度设备将报警发送至企业微信,开发人员的微信预先关注企业微信,从而实现微信与企业微信的连接,企业微信将接收到的告警实时触达到开发人员,由开发人员立刻进行故障的处理和点播集群的恢复。

本申请还提供一种远程教学方法,应用于服务器集群中用于执行目标教学任务的主服务器,图5为本申请另一个实施例的远程教学方法的流程示意图,如图5所示,该方法包括:

s201、向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的主服务器在当前时刻的第一负载,向主服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻。

本申请实施例的服务器通过实时向主调度设备发送第一负载,使得主调度设备根据服务器集群中各服务器的第一负载,选择出候选服务器,主调度设备只会向候选服务器发送目标教学任务的下载地址。

s202、根据下载地址下载目标教学任务。

本申请实施例的主服务器在接收第三指令前,还涉及下载目标教学任务的过程,服务器只有下载目标教学任务,后续主调度设备才可能向服务器发送第三指令。主服务器首先向主调度设备发送第二负载,由上述实施例可知,第一负载是与下载教学任务相关的负载,主调度设备通过获取服务器集群中各服务器的第一负载,从服务器集群中选择下载目标教学任务的服务器,也即候选服务器,由此可知,服务器在作为一个教学任务的主服务器之前,需要先作为候选服务器下载该教学任务。

s203、向中间件设备上报在目标教学任务的执行时刻时的第二负载,以使得主调度设备根据主服务器在目标教学任务的执行时刻时的第二负载,将主服务器确定作为执行目标教学任务的主服务器,并向主服务器发送第三指令。

候选服务器通过向主调度设备发送第二负载,使得主调度设备从候选服务器中选择出一个执行目标教学任务的主服务器,并向主服务器发送第三指令。

s204、接收第三指令,根据第三指令执行目标教学任务,并向中间件设备上报执行目标教学任务时的第二负载,以使得若主调度设备根据执行目标教学任务时的第二负载确定主服务器执行目标教学任务发生异常,则发送第一指令;

s205、接收第一指令,根据第一指令在预设任务节点停止执行目标教学任务。

应当理解的是,本申请实施例的服务器集群中的服务器是否为主服务器是针对教学任务而言的,结合上述实施例中服务器存储了若干个教学任务可知,在任意时刻,一个服务器既可以是某一教学任务的主服务器,也可以是某一教学任务的备用服务器。当服务器接收到主调度设备发送的第三指令时,则获知自身作为执行目标教学任务的主服务器,进而执行目标教学任务。

在主服务器执行目标教学任务的过程中,主调度设备会实时监控主服务器执行时是否发生异常,如果发送异常,主调度设备就会向主服务器发送第一指令,第一指令中可以指示主服务器停止执行目标教学任务的预设任务节点,从而使得主服务器根据第一指令在预设任务节点停止执行目标教学任务。

本申请实施例的远程教学方法使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,并且能够在执行目标教学任务出现异常时,及时在预设任务节点停止执行,从而为切换到备用服务器继续执行教学任务奠定了基础。

在上述各实施例的基础上,主服务器在执行目标教学任务时,如果接受到主调度设备发送的第四指令,则根据第四指令停止执行目标教学任务。由上述实施例可知,第四指令是根据目标教学任务关联的教师信息获得的,当主调度设备检测到有同一教师信息的多个教学任务在执行时,将从这些多个教学任务中选出一个教学任务进行保留,而对于没有保留的教学任务,主调度设备都会向执行教学任务的服务器发送第四指令,以停止继续执行任务。

现有的视频回放直播流技术只能播放视频,而没有教师与学生的交互操作,这就存在学生在远程学习时不受教师约束的弊端,而本申请实施例在录制视频时就将教师向学生发起的互动操作进行存储,从而在播放视频时能够同时将课中交互同时播放处理。也就是说,本申请的教学任务除了预先录制的音视频数据,还包括互动数据,其中互动数据用于表征在录制时教师向学生发起的互动操作,互动数据中包括教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息。

本申请实施例在对教学任务进行录制时,可以存储教师向学生发起的互动操作时对应的音视频的帧数,从而服务器在执行教学任务时,当教学任务中的音视频数据播放至上述帧数时,同时执行互动数据。例如,教师在远程教学直播时,向学生发放了答题卡,在对教师远程教学的录制过程中,记录了教师向学生发送答题卡这一互动操作位于录制视频的第500帧,这样当服务器执行到视频的第500帧时,指示教师客户端向学生客户端发放答题卡。

本申请实施例对互动数据采用结构化存储,具体的,将互动数据的具体信息分为以下几项子信息:教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息、交互内容、目标用户以及交互结果,对于每个互动信息,通过解析该互动信息中每项子信息的具体内容,将具体内容分别存储在对应的存储目录中,从而实现结构化的存储。例如,某一交互数据中教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息为第100帧,交互内容为回答某一选择题,目标用户为之前成绩少于60分的学生,交互结果为目标用户对交互内容的答复统计情况,例如80%的人回答正确,那么在对该交互数据进行结构化存储时,将100存入教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息的存储目录,将选择题存入交互内容的存储目录,将之前成绩少于60分的学生的唯一标识存入目标用户的存储目录,将80%存入交互结果的存储目录。

在上述各实施例的基础上,本申请实施例的服务器集群中的各服务器均具备存储空间自动清理的功能,具体的,远程教学方法还包括:在每次下载教学任务后,判断本地存储空间中的剩余存储容量是否低于第一预设阈值;

若低于第一预设阈值,则根据下载教学任务的时刻由远到近的顺序,删除本地存储空间中已下载的教学任务,直至剩余存储容量高于第二预设阈值。

可选的,第一预设阈值可以为本地存储空间的总存储容量的10%,第二预设阈值可以为本地存储空间的总存储容量的80%,本申请实施例对第一预设阈值和第二预设阈值的具体大小范围不作进一步的限定。应当理解的是,每个服务器自身都具有存储教学任务的存储空间,也称之为本地存储空间,在实际应用时,每个服务器自身可以具有100tb(terabyte,万亿字节)的存储空间,比如当本地存储空间中的剩余存储容量小于10tb,则根据下载教学任务的时刻由远到近的顺序,删除本地存储空间中的教学任务,直至剩余存储容量高于80tb。

在上述各实施例的基础上,作为一种可选实施例,本申请实施例的服务器为了进一步节省存储容量,当接收到目标教学任务的下载地址后之后,先查询本地存储空间是否存在该目标教学任务,如果不存在,则下载目标教学任务。

本申请还提供一种远程教学方法,应用于服务器集群中的备用服务器,图6为本申请另一个实施例的远程教学方法的流程示意图,如图6所示,该方法包括:

s301、向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的备用服务器在当前时刻的第一负载,向备用服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻。

本申请实施例的服务器通过实时向主调度设备发送第一负载,使得主调度设备根据服务器集群中各服务器的第一负载,选择出候选服务器,主调度设备只会向候选服务器发送目标教学任务的下载地址。

s302、根据下载地址下载目标教学任务;

s303、向中间件设备上报在主服务器发生异常时的第二负载,以使得主调度设备根据从中间件设备中获取备用服务器在主服务器发生异常时的第二负载,发送第二指令。

s304、接收第二指令,确定主服务器停止执行目标教学任务的预设任务节点,在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务。

应当理解的是,本申请实施例的服务器集群中的服务器是否为备用服务器也是针对教学任务而言的,结合上述实施例中服务器存储了若干个教学任务可知,在任意时刻,一个服务器既可以是某一教学任务的主服务器,也可以是某一教学任务的备用服务器。当服务器接收到主调度设备发送的第二指令时,则获知自身作为继续执行目标教学任务的备用服务器以及主服务器停止执行目标教学任务的预设任务节点,从而在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务。

本申请实施例的远程教学方法能够当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,在主服务器执行目标教学任务出现异常时,由备用服务器及时在预设任务节点继续执行目标教学任务,从而为切换到备用服务器继续执行教学任务奠定了基础,从而让学生在通过学生客户端学习时,尽可能少的感知到教学任务出现异常,更专注的学习。

图7为本申请实施例的调度设备和服务器集群的交互示意图,出于便于理解的考虑,本申请实施例中服务器集群中服务器的个数为三个,分别为第一服务器、第二服务器和第三服务器,如图7所示,交互过程包括:

调度设备获取执行时刻为在当前时刻之后预设时长的时刻的教学任务,并作为目标教学任务;

第一服务器、第二服务器和第三服务器向调度设备发送当前时刻的第一负载;

调度设备接收第一服务器、第二服务器和第三服务器当前时刻的第一负载,根据第一服务器、第二服务器和第三服务器的第一负载,将第一服务器和第二服务器作为候选服务器;

向第一服务器和第二服务器发送目标教学任务的下载地址;

第一服务器和第二服务器根据目标教学任务的下载地址下载目标教学任务;

当达到目标教学任务的执行时刻时,调度设备根据第一服务器和第二服务器发送的第二负载,确定第一服务器为主服务器;

调度设备向第一服务器发送第三指令;

第一服务器根据第三指令执行目标教学任务;

调度设备检测到第一服务器在执行目标教学任务时发生异常,向第一服务器发送第一指令,向第二服务器发送第二指令;

第一服务器根据第一指令在预设任务节点停止执行目标教学任务;

第二服务器根据第二指令在第一服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务。

图8为本申请实施例的一种主调度设备的结构示意图,如图8所示,主调度设备包括:候选服务器确定模块101、主服务器确定模块102、备用服务器获取模块103、切换模块104和心跳信息发送模块105,具体的:

候选服务器确定模块101,用于获取执行时刻为在当前时刻之后预设时长的时刻的教学任务,并作为目标教学任务,从中间件设备中获取服务器集群中各服务器实时上报的第一负载和第二负载,根据各服务器在当前时刻的第一负载,从服务器集群中确定与目标教学任务相关的候选服务器,向候选服务器发送目标教学任务的下载地址,以使得候选服务器根据下载地址下载目标教学任务;第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

主服务器确定模块102,用于根据候选服务器在目标教学任务的执行时刻时的第二负载,从候选服务器中确定执行目标教学任务的主服务器,向主服务器发送第三指令,以使得主服务器根据第三指令执行目标教学任务;

备用服务器获取模块103,用于若根据主服务器在执行目标教学任务时的第二负载确定主服务器发生异常,则根据候选服务器在主服务器发生异常时的第二负载,从候选服务器中确定备用服务器;

切换模块104,用于向主服务器发送第一指令,向备用服务器发送第二指令,以使得主服务器根据第一指令在预设任务节点停止执行目标教学任务以及备用服务器根据第二指令在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务;

心跳信息发送模块105,用于根据预设心跳频率向中间件设备发送心跳信息,以使得备用调度设备监控中间件设备中存储的主调度设备的心跳信息是否异常,以及在心跳信息异常时执行调度设备的主备切换。

本发明实施例提供的主调度设备,具体执行上述方法实施例流程,具体请详见上述应用于主调度设备的远程教学方法的内容,在此不再赘述。本发明实施例提供的主调度设备,通过中间件设备获取服务器的负载,使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,由主调度设备获取服务器集群在当前时刻的第一负载,选择多个候选服务器,并且在下载资源的时候提供候选服务器进行多备份处理,这样当直播任务出现异常的时候,可以无损的切换到备机,不需要再另行下载各种资源,全程无需人工干预,还使得服务器集群在下载教学任务时的负载相对均衡,有利于服务器长期健康运行,在检测到主服务器执行目标教学任务异常时,分别向主服务器和备用服务器发送第一指令和第二指令,使得主服务器在预设任务节点停止执行教学任务,备用服务器在预设任务节点继续执行教学任务,让学生侧感知不到教学任务出现异常,从而更专注的学习。

进一步地,主调度设备还包括:

教师信息获取模块,用于获取目标教学任务关联的教师信息,作为目标教师信息,获取服务器集群正在执行的教学任务关联的教师信息,将关联的教师信息为目标教师信息的正在执行的教学任务以及目标教学任务作为待筛选教学任务;

筛选模块,用于从执行待筛选教学任务的服务器中选择一个服务器作为待保留的服务器;

第四指令发送模块,用于向执行待筛选任务的服务器中除待保留的服务器之外的其他服务器发送第四指令,以使得接收的第四指令的服务器停止执行待筛选教学任务。

图9为本申请实施例的一种主服务器的结构示意图,如图9所示,主服务器包括:主第一负载发送模块201、主任务下载模块202、主第二负载发送模块203、任务执行模块204和停止执行模块205,具体的:

主第一负载发送模块201,用于向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的主服务器在当前时刻的第一负载,向主服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻,第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

主任务下载模块202,用于根据下载地址下载目标教学任务。

主第二负载发送模块203,用于向中间件设备上报在目标教学任务的执行时刻时的第二负载,以使得主调度设备根据主服务器在目标教学任务的执行时刻时的第二负载,将主服务器确定作为执行目标教学任务的主服务器,并向主服务器发送第三指令。

任务执行模块204,用于接收第三指令,根据第三指令执行目标教学任务,并向中间件设备上报执行目标教学任务时的第二负载,以使得若主调度设备根据执行目标教学任务时的第二负载确定主服务器执行目标教学任务发生异常,则发送第一指令。

停止执行模块205,用于接收第一指令,根据第一指令在预设任务节点停止执行目标教学任务。

本发明实施例提供的主服务器,具体执行上述方法实施例流程,具体请详见上述应用于主服务器的远程教学方法的内容,在此不再赘述。本发明实施例提供的主服务器,使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,并且能够在执行目标教学任务出现异常时,及时在预设任务节点停止执行,从而为切换到备用服务器继续执行教学任务奠定了基础。

在上述各实施例的基础上,作为一种可选实施例,主服务器还包括:

第四指令执行模块,用于若在执行目标教学任务时接收到主调度设备发送的第四指令,则根据第四指令停止执行目标教学任务;

其中,第四指令根据目标教学任务关联的教师信息获得。

在上述各实施例的基础上,作为一种可选实施例,目标教学任务包括预先录制的音视频数据以及互动数据;互动数据用于表征在录制目标教学任务时教师向学生发起的互动操作,互动数据中包括教师向学生发起的互动操作的时刻对应的音视频数据的帧数信息;

任务执行模块执行目标教学任务,包括:

播放音视频数据,当播放至在教师向学生发起的互动操作的时刻对应的帧数时,同时执行互动数据。

图10为本申请实施例的一种备用服务器的结构示意图,如图10所示,备用服务器包括:备用第一负载发送模块301、备用任务下载模块302、备用第二负载发送模块303和继续执行模块304,具体的:

备用第一负载发送模块301,用于向中间件设备上报当前时刻的第一负载,以使得主调度设备根据从中间件设备中获取的备用服务器在当前时刻的第一负载,向备用服务器发送目标教学任务的下载地址;目标教学任务的执行时刻为在当前时刻之后预设时长的时刻,第一负载包括与下载教学任务相关的负载,第二负载包括与执行教学任务相关的负载。

备用任务下载模块302,用于根据下载地址下载目标教学任务。

备用第二负载发送模块303,用于向中间件设备上报在主服务器发生异常时的第二负载,以使得主调度设备根据从中间件设备中获取备用服务器在主服务器发生异常时的第二负载,发送第二指令。

继续执行模块304,用于接收第二指令,确定主服务器停止执行目标教学任务的预设任务节点,在主服务器停止执行目标教学任务后,从预设任务节点继续执行目标教学任务。

本申请实施例的备用服务器能够当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,在主服务器执行目标教学任务出现异常时,由备用服务器及时在预设任务节点继续执行目标教学任务,从而为切换到备用服务器继续执行教学任务奠定了基础,从而让学生在通过学生客户端学习时,尽可能少的感知到教学任务出现异常,更专注的学习。

本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:通过在检测到主服务器执行目标教学任务异常时,分别向主服务器和备用服务器发送第一指令和第二指令,使得主服务器在预设任务节点停止执行教学任务,备用服务器在预设任务节点继续执行教学任务,让学生侧感知不到教学任务出现异常,从而更专注的学习。

在一个可选实施例中提供了一种电子设备,如图11所示,图11所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。

处理器4001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条线条表示,但并不表示仅有一根总线或一种类型的总线。

存储器4003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,通过中间件设备获取服务器的负载,使得当服务器集群需要扩容时,直接在中间件设备中注册本机的信息即可发送负载信息以及接受主调度设备发送的指令,而不需要更新主调度设备,避免出现直接向主调度设备暴露自己的地址而导致的改动较大的弊端,由主调度设备获取服务器集群在当前时刻的第一负载,选择多个候选服务器,并且在下载资源的时候提供候选服务器进行多备份处理,这样当直播任务出现异常的时候,可以无损的切换到备机,不需要再另行下载各种资源,全程无需人工干预,还使得服务器集群在下载教学任务时的负载相对均衡,有利于服务器长期健康运行,在检测到主服务器执行目标教学任务异常时,分别向主服务器和备用服务器发送第一指令和第二指令,使得主服务器在预设任务节点停止执行教学任务,备用服务器在预设任务节点继续执行教学任务,让学生侧感知不到教学任务出现异常,从而更专注的学习。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1