一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

课堂实时交互方法、系统、终端设备及可读存储介质与流程

2022-03-30 10:46:15 来源:中国专利 TAG:


1.本发明涉及终端交互领域,尤其涉及一种课堂实时交互方法、系统、终端设备及可读存储介质。


背景技术:

2.现有的在线课堂交互方法中通常是基于超文本传输协议(hyper text transfer protocol,http)来进行管理的,http面临主要两个缺点:无法做到消息的实时性且服务端无法主动推送信息。基于http的主要解决方案有:基于异步javascript和xml(asynchronous javascript and xml,简称ajax)的轮询,客户端定时或者动态相隔短时间内不断向服务端请求接口,询问服务端是否有新信息;该方案包括多余的空请求、数据获取有延时等缺点。
3.长轮询long poll,其采用的是阻塞性的方案,客户端向服务端发起ajax请求,服务端挂起该请求不返回数据直到有新的数据,客户端接收到数据之后再次执行long poll;该方案中每个请求都挂起了服务器资源,在大量连接的场景下易造成服务器过载。
4.可以看到,基于http协议的方案都非常被动,服务端无法下推消息,仅能由客户端发起请求不断询问是否有新的消息,同时对于客户端与服务端都存在性能消耗。


技术实现要素:

5.为了解决上述技术问题,本技术实施例提供了一种课堂实时交互方法、系统、终端设备及可读存储介质,具体方案如下:
6.第一方面,本技术实施例提供了一种课堂实时交互方法,应用于课堂实时交互系统的服务器,所述课堂实时交互系统还包括用户终端,所述用户终端通过websocket协议与所述服务器通信连接,所述方法包括:
7.根据所述用户终端发送的token信息与所述用户终端建立连接,所述用户终端包括第一终端和第二终端中的任一终端;
8.根据所述第一终端的互动控制指令生成相应的推送信号,其中,所述互动控制指令包括班级创建指令、成员关联指令、课堂开课指令、课堂签到指令、内容推送指令、课堂同步指令、一键控屏指令以及课堂下课指令中的任意一种指令;
9.向所述第二终端发送所述推送信号,以使所述第二终端根据所述互动控制指令执行相应的交互动作。
10.根据本技术实施例的一种具体实施方式,所述根据用户终端发送的token信息与所述用户终端建立连接的步骤,包括:
11.接收所述用户终端发送的token信息;
12.根据所述服务器保存的用户终端连接信息判断所述token信息的有效性;
13.若所述token信息有效,生成与所述用户终端对应的连接通道;
14.若所述token信息无效,不生成与对应用户终端的连接通道。
15.根据本技术实施例的一种具体实施方式,所述服务器支持分布式部署,所述根据所述用户终端发送的token信息与所述用户终端建立连接的步骤之后,所述方法还包括:
16.接收所述用户终端根据固定周期发送的心跳报文;
17.校验所述服务器是否包括所述用户终端对应的连接信息;
18.若所述服务器包括所述用户终端对应的连接信息,则向所述用户终端反馈心跳报文正常的指示信息;
19.若所述服务器不包括所述用户终端对应的连接信息,则不反馈心跳报文正常的指示信息。
20.根据本技术实施例的一种具体实施方式,所述方法还包括:
21.若超过预设心跳时间没有接收到所述用户终端发送的心跳报文,断开与所述用户终端的连接,其中,所述预设心跳时间为预设数量的固定周期。
22.根据本技术实施例的一种具体实施方式,所述方法还包括:
23.当所述服务器与所述用户终端通信异常时,接收所述用户终端发送的断开连接的指示信息;
24.根据所述指示信息断开与所述用户终端的连接。
25.第二方面,本技术实施例提供了一种课堂实时交互系统,所述系统包括:服务器和用户终端,所述用户终端通过websocket协议与所述服务器通信连接,所述用户终端包括第一终端和第二终端;
26.所述服务器包括用户连接模块、信号生成模块以及信号推送模块;
27.所述用户连接模块用于根据所述用户终端发送的token信息与所述用户终端建立连接,所述用户终端包括第一终端和第二终端中的任一终端;
28.所述信号生成模块用于根据所述第一终端的互动控制指令生成相应的推送信号,其中,所述互动控制指令包括班级创建指令、成员关联指令、课堂开课指令、课堂签到指令、内容推送指令、课堂同步指令、一键控屏指令以及课堂下课指令中的任意一种指令;
29.所述信号推送模块用于向所述第二终端发送所述推送信号,以使所述第二终端根据所述互动控制指令执行相应的交互动作。
30.根据本技术实施例的一种具体实施方式,所述服务器支持分布式部署,所述服务器还包括:
31.心跳检测模块,用于接收所述用户终端根据固定周期发送的心跳报文;校验所述服务器是否包括所述用户终端对应的连接信息;若所述服务器包括所述用户终端对应的连接信息,则向所述用户终端反馈心跳报文正常的指示信息;若所述服务器不包括所述用户终端对应的连接信息,则不反馈心跳报文正常的指示信息。
32.根据本技术的一种具体实施方式,所述服务器还包括:
33.异常处理模块,用于当所述服务器与所述用户终端通信异常时,接收所述用户终端发送的断开连接的指示信息;根据所述指示信息断开与所述用户终端的连接。
34.第三方面,本技术实施例还提供了一种终端设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行第一方面所述的课堂实时交互方法。
35.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存
储介质中存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面所述的课堂实时交互方法。
36.本技术实施例提供了一种课堂实时交互方法、系统、终端设备及可读存储介质,课堂实时交互系统包括服务器和用户终端,用户终端通过websocket协议与服务器通信连接,所述方法包括:根据用户终端发送的token信息与用户终端建立连接,用户终端包括第一终端和第二终端中的任一终端;根据第一终端的互动控制指令生成相应的推送信号,其中,互动控制指令包括班级创建指令、成员关联指令、课堂开课指令、课堂签到指令、内容推送指令、课堂同步指令、一键控屏指令以及课堂下课指令中的任意一种指令;向所述第二终端发送推送信号,以使第二终端根据所述互动控制指令执行相应的交互动作。用户终端与服务器之间通过长链接的方式进行数据通信,节省了服务器的流量压力。
附图说明
37.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
38.图1示出了本技术实施例提供的一种课堂实时交互方法的方法流程示意图;
39.图2示出了本技术实施例提供的一种课堂实时交互方法中第一终端的应用交互示意图;
40.图3示出了本技术实施例提供的一种课堂实时交互方法中第二终端的应用交互示意图;
41.图4示出了本技术实施例提供的一种课堂实时交互方法中第一终端和第二终端的应用交互示意图;
42.图5示出了本技术实施例提供的一种课堂实时交互系统的系统结构示意图。
43.附图标记汇总:
44.服务器-500;用户连接模块-501;信号生成模块-502;信号推送模块-503;心跳检测模块-504;异常处理模块-505;
45.用户终端-600;第一终端-601;第二终端-602。
具体实施方式
46.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
47.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一
个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
49.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
50.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
51.参考图1,为本技术实施例提供的一种课堂实时交互方法、系统、终端设备及可读存储介质,应用于课堂实时交互系统的服务器,所述课堂实时交互系统还包括用户终端,所述用户终端通过websocket协议与所述服务器通信连接,所述课堂实时交互方法包括:
52.步骤s101,根据所述用户终端发送的token信息与所述用户终端建立连接,所述用户终端包括第一终端和第二终端中的任一终端;
53.在具体实施例中,所述websocket协议是一种双向通信协议,通过所述websocket协议实现所述服务器与所述用户终端之间的通信,所述用户终端可以主动向服务器发送消息,所述服务器也可以主动向用户终端推送信息,从而实现平等对话。
54.所述用户终端可以为手机、计算机、平板电脑、笔记本电脑等设备中的任意一种终端设备。
55.用户可以通过在终端设备上登录app的方式从而实时同步课堂信息。
56.所述token信息包括用户终端的标识信息,所述token信息为服务器在与用户终端进行通信时需要验证时使用的令牌信息。
57.具体的,用户通过客户端成功连接服务器地址后,传入用户的token信息,所述服务器会自动调用onopen的方法,将对应的用户终端信息保存在所述服务器的存储介质中。
58.所述服务器可以根据存储在服务器的存储介质中的不同token信息,区分连接所述服务器的不同终端。另外,根据token信息的具体内容,所述服务器可以判断连接的用户终端为第一终端还是第二终端。
59.其中,所述第一终端为教师用户所使用的终端设备,所述第二终端为学生用户所使用的终端设备。
60.根据本技术实施例的一种具体实施方式,所述根据用户终端发送的token信息与所述用户终端建立连接的步骤,包括:
61.接收所述用户终端发送的token信息;
62.根据所述服务器保存的用户终端连接信息判断所述token信息的有效性;
63.若所述token信息有效,生成与所述用户终端对应的连接通道;
64.若所述token信息无效,不生成与对应用户终端的连接通道。
65.在具体实施例中,在用户终端与服务器建立连接的过程中,还会判断所述token信息的有效性,若所述token信息有效,则生成服务器与用户终端之间的连接通道,用于推送和接收消息。若所述token信息无效,则不生成服务器与用户终端之间的连接通道,并删除所述无效token信息,从而防止服务器中存储无效token信息。
66.更具体的,当用户终端将token信息发送至服务器中时,若所述服务器检测到所述
token信息已经存储在服务器的存储介质中,说明所述用户终端重复通过websocket协议连接所述服务器,此时,所述服务器会反馈已连接的指示消息给所述用户终端,以防止用户终端重复与所述服务器之间建立连接。
67.在一种实施例中,若用户通过一终端设备向服务器发送的token信息有效,但所述token信息中的终端标识信息与所述用户正在使用的终端设备不一致时,所述服务器会删除根据所述token信息建立的与上一终端设备之间的连接通道,并建立与正在使用的终端设备之间的连接通道。以保证所述服务器始终与用户正在使用的终端设备之间进行数据通信。
68.根据本技术实施例的一种具体实施方式,所述服务器支持分布式部署,所述根据所述用户终端发送的token信息与所述用户终端建立连接的步骤之后,所述方法还包括:
69.接收所述用户终端根据固定周期发送的心跳报文;
70.校验所述服务器是否包括所述用户终端对应的连接信息;
71.若所述服务器包括所述用户终端对应的连接信息,则向所述用户终端反馈心跳报文正常的指示信息;
72.若所述服务器不包括所述用户终端对应的连接信息,则不反馈心跳报文正常的指示信息。
73.在具体实施例中,所述服务器和所述用户终端之间建立连接之后,会通过心跳检测的方式验证服务器与用户终端之间的网络环境是否正常,所述服务器和所述用户终端之间是否可以正常进行数据通信。
74.所述用户终端会间隔固定周期向所述服务器发送心跳报文,所述服务器在收到所述心跳报文后,会回复对应的用户终端心跳报文正常的指示信息。从而确认服务器和所述用户终端正常连接。
75.具体的,所述服务器支持分布式部署,所述服务器会将多个与用户终端的连接信息存储在不同的位置。所述服务器在收到所述心跳报文后,还会检测对应的服务器存储介质中是否包括所述用户终端对应的连接信息,当且仅当服务器存储介质中包括所述用户终端对应的连接信息时,对应的服务器才会向所述用户终端反馈心跳报文正常的指示信息。
76.需知的,所述服务器与用户终端之间进行心跳检测能够确认当前服务器是否可用,当所述服务器处于断开、宕机或重启的情况时,所述用户终端会无法接收所述服务器反馈的心跳报文正常的指示信息,即所述用户终端无法与服务器建立通信连接。此时,所述用户终端会向所述服务器发送重连信号,并重新与所述服务器建立连接。所述重连信号的发送间隔为固定周期。
77.具体的,所述固定周期可以为5秒,也可以为10秒,根据使用课堂实时交互系统的具体的场景进行适应性设置,此处不作限定。
78.根据本技术实施例的一种具体实施方式,所述方法还包括:
79.若超过预设心跳时间没有接收到所述用户终端发送的心跳报文,断开与所述用户终端的连接,其中,所述预设心跳时间为预设数量的固定周期。
80.在具体实施例中,若所述服务器在多个固定周期后仍未接收到所述用户终端发送的心跳报文,则会自动断开与所述用户终端之间的连接关系。
81.举例来说,若所述固定周期为5秒,则所述服务器在15秒后还未收到所述用户终端
发送的心跳报文,则说明所述用户终端不再与服务器建立连接,所述服务器会将与用户终端建立的连接关系断开。
82.根据本技术实施例的一种具体实施方式,所述方法还包括:
83.当所述服务器与所述用户终端通信异常时,接收所述用户终端发送的断开连接的指示信息;
84.根据所述指示信息断开与所述用户终端的连接。
85.在具体实施例中,当服务器检测到所述服务器与所述用户终端之间的通信出现异常状态时,会接收到所述用户终端发送的断开连接的指示信息。所述异常状态包括网络异常状态或其它导致用户终端与服务器之间进行无效通信的异常状态。
86.所述服务器会主动调用websocket协议中的onerror方法进行逻辑处理,所述onerror方法即将所述用户终端与服务器之间建立的连接关系断开。待异常状态解除后,用户可以通过所述用户终端重新建立与服务器之间的连接关系。
87.通过异常状态处理的方法,能够防止服务器出现与用户终端建立的无效连接。
88.步骤s102,根据所述第一终端的互动控制指令生成相应的推送信号,其中,所述互动控制指令包括班级创建指令、成员关联指令、课堂开课指令、课堂签到指令、内容推送指令、课堂同步指令、一键控屏指令以及课堂下课指令中的任意一种指令;
89.在具体实施例中,所述第一终端为教师用户所使用的终端设备,所述教师用户可以通过所述第一终端向服务器发送相应的互动控制指令,以使所述服务器向对应的第二终端进行消息推送。
90.所述互动控制指令中通常包括第二终端的token信息,即所述服务器与第二终端建立的连接通道的指示信息。从而所述第一终端能够通过向服务器发送互动控制指令的方式,向第二终端推送相应的教学内容。
91.具体的,如图2所示,教师用户通过所述第二终端上的app登录至服务器后,可以进行班级管理交互和课堂管理交互,举例来说,在班级管理交互中,可以通过在服务器中建立一个班级进程,并设置班级进程相应的开班时间,班级进程关联的课程信息,以及班级进程关联的学员信息。
92.所述服务器接收到所述班级创建指令、成员关联指令后,即能够在服务器中设置上述班级进程信息。
93.在课堂管理交互中,教师用户可以通过第二终端发送上课通知、学员签到、推送素材、推送任务、推送教师作品、一键控屏等交互指令,以通过服务器对学生用户使用的第二终端实现控制。
94.步骤s103,向所述第二终端发送所述推送信号,以使所述第二终端根据所述互动控制指令执行相应的交互动作。
95.在具体实施例中,所述第一终端在和服务器之间进行班级管理交互时,所述服务器根据所述成员关联指令在存储介质中搜索对应成员的token信息,并将服务器中存储的第二终端token信息与班级进程进行绑定。从而所述服务器能够根据第一终端的交互控制指令,主动向第二终端发送推送信号,以使第二终端执行相应的动作。
96.需知的,所述第二终端与所述服务器之间是根据websocket协议建立的长链接关系,如图3所示,当学生用户通过所述第二终端登录服务器时,可以进入上一次班级进程看
到上一次课程的实时进度信息。
97.当教师用户在第一终端进行课堂管理交互时,所述服务器即根据第一终端发送的具体互动控制指令生成推送信息,并主动搜索第二终端的连接通道,通过与第二终端建立的长链接,发送所述推送消息。
98.如图4所示,举例来说,当教师用户在第一终端进入班级进程时,所述服务器会自动向第二终端已签到学员推送上课通知;
99.当学生用户接到上课通知后,会自动进入课堂页面;
100.当教师在第一终端中切换下一环节,所述服务器会主动向学生用户的第二终端推送自动切换环节消息;
101.当教师用户在第一终端推送教师素材,所述服务器会主动向学生用户的第二终端推送素材消息;
102.当教师用户在第一终端推送任务,所述服务器主动向学生用户的第二终端推送任务消息,学生用户可以在第二终端完成教师推送任务;
103.当教师用户在第一终端推送教师作品,所述服务器主动向学生用户的第二终端推送接收作品消息,学生用户可以在第二终端完成教师用户推送任务;
104.当教师用户在第一终端发送一键控屏,所述服务器主动向学生用户的第二终端发送控屏消息,所述第一终端可以直接控制第二终端的屏幕。
105.本技术实施例提供的课堂实时交互方法,通过websocket协议建立服务器与用户终端之间的长链接,能够避免服务器反复接收用户终端的连接信号,直接根据第一终端的课堂交互指令生成相对应的推送信号,主动向第二终端发送推送信号,从而实现服务器与用户终端之间的实时通信,并大大减小所述服务器和用户终端的性能消耗。
106.参考图5,为本技术实施例提供的一种课堂实时交互系统的系统结构图,本技术实施例提供了一种课堂实时交互系统,如图5所示,所述课堂实时交互系统包括:服务器500和用户终端600,所述用户终端600通过websocket协议与所述服务器500通信连接,所述用户终端600包括第一终端601和第二终端602;
107.所述服务器500包括用户连接模块501、信号生成模块502以及信号推送模块503;
108.所述用户连接模块501用于根据所述用户终端发送的token信息与所述用户终端建立连接,所述用户终端包括第一终端和第二终端中的任一终端;
109.所述信号生成模块502用于根据所述第一终端的互动控制指令生成相应的推送信号,其中,所述互动控制指令包括班级创建指令、成员关联指令、课堂开课指令、课堂签到指令、内容推送指令、课堂同步指令、一键控屏指令以及课堂下课指令中的任意一种指令;
110.所述信号推送模块503用于向所述第二终端发送所述推送信号,以使所述第二终端根据所述互动控制指令执行相应的交互动作。
111.根据本技术实施例的一种具体实施方式,所述服务器500支持分布式部署,所述服务器500还包括:
112.心跳检测模块504,用于接收所述用户终端根据固定周期发送的心跳报文;校验所述服务器是否包括所述用户终端对应的连接信息;若所述服务器包括所述用户终端对应的连接信息,则向所述用户终端反馈心跳报文正常的指示信息;若所述服务器不包括所述用户终端对应的连接信息,则不反馈心跳报文正常的指示信息。
113.根据本技术的一种具体实施方式,所述服务器500还包括:
114.异常处理模块505,用于当所述服务器与所述用户终端通信异常时,接收所述用户终端发送的断开连接的指示信息;根据所述指示信息断开与所述用户终端的连接。
115.另外,本技术实施例还提供了一种终端设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例中的课堂实时交互方法。
116.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例中的课堂实时交互方法。
117.综上所述,本技术实施例提供了一种课堂实时交互方法、系统、终端设备及可读存储介质,用于教育系统中,不同客户端之间的消息传递,主要用于上下课通知,学生自动进入课堂并实时同步教师端的上课信息,给学员推送上课素材,课堂任务,教师作品和控制学员屏幕。该功能基于websocket技术实现不同端之间的消息传递,并与其他端保持着长链接。解决了传统方法中客户端按照某个时间间隔不断的向服务器发送请求,请求服务端的最新数据然后更新客户端显示这一浪费大量流量的交互方式。另外,本技术实施例提供的课堂实时交互系统、终端设备和计算机可读存储介质的具体实时方式可以参考上述方法实施例中的具体实施方式,此处不再一一赘述。
118.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
119.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
120.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献