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

一种教学直播的通讯方法、设备及存储介质与流程

2022-11-13 14:40:11 来源:中国专利 TAG:


1.本技术的实施例涉及一种教学直播的通讯方法、设备及存储介质。


背景技术:

2.随着互联网技术的不断发展,为智慧教育提供了强大的技术支持,比如直播教学的大量开展。在直播教学中,师生之间的互动通常需要im通讯系统作为支持,现有技术中,为了满足师生之间的互动多样化的需求,往往都是采用websocket协议 xmpp/stomp协议的方式进行im通讯系统的设计,然而这种方式存在以下问题:1.面对互动多样化的需求,由于现有的通讯协议规定了开发框架,只能在其基础上开发,导致开发过程中需要的人力物力时间等资源较大;2.服务器接收消息和发送消息数量差别很大,而现有通讯协议的消息体数据冗长体量大,不利于服务器转发,对服务器下发能力考验大。


技术实现要素:

3.为了解决现有技术存在的不足,本技术的目的是提供一种教学直播的通讯方法、设备及存储介质,采用简化的协议数据格式,减小了协议数据的体量,减轻了服务器端的下发压力。
4.本技术提供了一种教学直播的通讯方法,包括:获取各消息发送端的操作信息,按照预设的协议数据的格式生成所述操作信息的第一消息包并发送至服务器端;服务器端或对接收到的第一消息包进行优先级评估后发送至相应的消息接收端,或基于第一消息包中的操作信息生成第二消息包后对所述第二消息包进行优先级评估发送至相应的消息接收端;消息接收端提取所述第一消息包或第二消息包中的操作信息并响应;其中,所述协议数据包括头部字段和主体字段,所述头部字段包括消息类别字段、消息类型字段、消息标识字段、发送端标识字段和接收端标识字段,不同的消息类别字段对应有不同的消息类型字段,主体字段为具体的操作信息内容;其中,所述优先级评估包括:消息质量评估,判断要发送的第一消息包或第二消息包的语法复杂度和内容重复度以优先发送语法复杂度高和内容重复度低的第一消息包或第二消息包;客户端评估,判断各消息发送端和消息接收端的角色级别,以优先传输角色级别高的消息发送端的第一消息包或优先传输服务器端响应生成的第二消息包,并优先向角色级别高的消息接收端发送;字段评估,判断要发送的第一消息包或第二消息包的各字段的优先级,以按照预设的字段优先级顺序发送第一消息包或第二消息包。
5.进一步地,所述协议方法包括心跳机制。
6.进一步地,所述消息类别字段包括:请求消息、聊天消息和客户端状态消息三种取值。
7.进一步地,所述消息类别字段为请求消息时,所述消息类型字段包括查询、设置、
响应和错误四种取值。
8.进一步地,所述消息类别字段为聊天消息时,所述消息类型字段包括:群组聊天、错误和通知三种取值。
9.进一步地,所述消息类别字段为客户端状态消息时,所述消息类型字段包括:下线、上线和错误三种取值。
10.进一步地,所述协议数据还包括确认重传字段。
11.进一步地,所述协议方法包括心跳机制。
12.为实现上述目的,本技术还提供一种电子设备,包括:处理器;存储器,包括一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于实现教学直播的通讯方法。
13.为实现上述目的,本技术还提供一中计算机存储介质,包括承载在非暂态计算机可读介质上的计算机程序,所述计算机程序包括用于执行教学直播的通讯方法的程序代码。
14.相比于现有技术,本技术具有如下的有益效果:本技术摒弃了以往websocket协议 xmpp/stomp协议的开发模式,从实际的教学直播需求出发,优化了协议数据格式,一方面避免了现有协议对实际应用造成的限制,大大减小了开发难度和开发成本,另一方面简化了协议数据,使得协议数据比现有技术中的体量缩小了30%以上,减轻了服务器端的下发压力。
15.本技术的服务器端在转发数据前优化了数据的传输方法,针对性地对消息包发送和接收方的角色级别以及发送内容进行了优先级评估,以及时迅速地先接收方转发一些重要消息,提高了整个教学直播过程中高质量的交互。
16.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。
附图说明
17.结合附图并参考以下具体实施方式,本技术各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同的附图标记表示相同的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
18.图1为实施例1的一种教学直播的通讯方法的流程示意图;图2为本技术协议数据的示意图;图3为第一消息包的协议数据结构的示意图;图4为第二消息包的协议数据结构的示意图;图5为第三消息包的协议数据结构内容的示意图;图6为第四消息包的协议数据结构内容的示意图;图7为第五消息包的协议数据结构内容的示意图;图8为第六消息包的协议数据结构内容的示意图;图9为第七消息包的协议数据结构内容的示意图;
图10为第八消息包的协议数据结构内容的示意图;图11为心跳机制的示意图;图12为本技术一种电子设备的示意框图;图13为本技术一种存储介质的示意图。
具体实施方式
19.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
20.应当理解,本技术的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术的范围在此方面不受限制。
21.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
22.需要注意,本技术中提及的“教师”、“学生”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
23.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
24.下面,将参考附图详细地说明本技术的实施例。
25.图1为本技术实施例提供的一种教学直播的通讯方法的流程示意图。如图1所示,该方法包括如下步骤s101、步骤s102和步骤s103。
26.步骤s101:获取各消息发送端的操作信息,按照预设的协议数据的格式生成所述操作信息的第一消息包并发送至服务器端;步骤s102:服务器端或对接收到的第一消息包进行优先级评估后发送至相应的消息接收端,或基于第一消息包中的操作信息生成第二消息包后对所述第二消息包进行优先级评估发送至相应的消息接收端;步骤s103:消息接收端提取所述第一消息包或第二消息包中的操作信息并响应;其中,所述优先级评估包括:消息质量评估,判断要发送的第一消息包或第二消息包的语法复杂度和内容重复度以优先发送语法复杂度高和内容重复度低的第一消息包或第二消息包;客户端评估,判断各消息发送端和消息接收端的角色级别,以优先传输角色级别高的消息发送端的第一消息包或优先传输服务器端响应生成的第二消息包,并优先向角色级别高的消息接收端发送。
27.在本实施方式中,所述优先级评估包括:消息质量评估,判断要发送的第一消息包或第二消息包的语法复杂度和内容重复度以优先发送语法复杂度高和内容重复度低的;示例性的,如“老师好”、“11”、、“111”和“1”等message(聊天消息),其消息内容的语法复杂度
较低且重复度较高,对于众多的消息接收端来说其意义不大,消息质量低,因此,服务器端会优先发送相对质量高的消息,再发送质量低的消息,甚至,对一些重复度较高和语法复杂度较低的消息放弃发送。
28.客户端评估,判断消息发送端和消息接收端的角色级别,以优先传输角色级别高的消息发送端的第一消息包或其响应响应后的第二消息包,并优先向角色级别高的消息接收端发送。示例性的,角色级别按高低顺序共有管理员、主讲老师、助教和学生等级别,服务器端会优先向发送管理员、主讲老师和助教的消息,并会优先向管理员、主讲老师和助教发送消息。
29.需要说明的是,角色级别不仅可以根据身份等设置,也可以根据实际需求(如根据互动时间和发言质量)作相应调整。
30.需要说明是,还可以通过消息包的字段对不同的消息包进行优先级顺序设置,在发送消息包时,对消息包进行字段优先级评估,是消息包按照预设的字段优先级顺序发送。示例性的,本实施例中,一些消息包的优先传输顺序如下:消息类别字段为message且消息类型字段为notification的消息、消息类别字段为iq且消息类型字段为set的消息、消息类别字段为iq且消息类型字段为get的消息、消息类别字段为presence的消息、消息类别字段为message且消息类型字段为groupchat的消息。
31.需要说明的,客户端发送的消息无需带有发送端标识字段,服务器端可以从session中获取到。
32.其中,协议数据为json格式。
33.其中,所述消息类别字段包括iq(请求消息)、message(聊天消息)和presnce三种取值,所述消息类别字段为iq(请求消息)时,消息类型字段包括get(查询)、set(设置)、result(结果)和error(错误)四种取值;所述消息类别字段为message时,所述消息类型字段type包括:groupchat(群组聊天)、error(错误)和notification(通知)三种取值;所述消息类别字段为客户端状态消息时,所述消息类型字段包括:unavailable(下线)、available(上线)和error(错误)三种取值。
34.例如,当老师要对直播间进行设置信息(如直播间名称、直播间状态、是否允许发言)进行更改时,老师所在client端(客户端)发送根据老师指令信息发送第一消息包,第一消息包内容如图3所示,其中,消息类别字段category的值为iq,消息标识字段id的值为uniq-id,接收端标识字段to的值为/room/abcd即编号为abcd直播间,消息类型字段type的值为set,即设置类消息,body扩展字段里包括request字段和params字段,request的值为/room/update,表示对直播间信息更新,params字段里为具体的直播间设置,其包括name、status和config字段,name字段的值为直播间名称,status字段的值有open和closed可选,表示直播间的状态,config字段用于教学直播中互动的设置,包括allowchat和allowrequstvoice,allowchat和allowrequstvoice字段的值有true和false两种。
35.需要说明的是,当只对某一字段进行设置时,body内只有该设置字段及其值,如只执行禁言操作时,body字段中只有allowchat字段和其值false的信息,并不会有如name字段等未变更字段的信息。
36.sever端(服务器端)收到第一消息包内容后,生成第二消息包,第二消息包内容如图4所示,其中,消息类别字段category的值为message,消息标识字段id的值为uniq-id,发
送端标识字段from的值为/room/abcd即编号为abcd直播间,消息类型字段type的值为notification,body字段内的内容根据第一消息包的内容做相应的修改,body字段内type字段值为chat_room_updated,表示直播件信息更新,其他字段(name字段、status字段、allowchat和allowrequstvoice)及其值信息放入body字段内的detail字段,即具体的更新内容。
37.sever端发送第二消息包至学生client端,学生client端提取所述第二消息包中body字段内的内容,表示接收到直播间具体的更改信息。
38.需要说明的是,当老师发布互动题目时,老师的client端通过http协议发送互动题目相关信息至sever端,sever端按照协议数据格式产生第三消息包并发送至学生client端,即通知学生端有新的互动题目,所述消第三息包内容如图5所示,其中ongoinginteraction的值有interactionid和null两种,interactionid为互动题目的名称。
39.学生client端收到第三消息包后,学生client端通过http协议进行互动题目作答。sever端基于作答内容产生第四消息包并发送至各client端,所述第四消息包内容如图6所示,其中包括互动题目的名称字段interactionid,做答人会话id字段sessionid,做答人答案字段response字段。
40.又例如,当学生想要请求连麦时,学生client端产生对应的第五消息包并发送至sever端,所述第五消息包内容如图7所示,sever端转发第五消息包至老师client端,老师在老师client端响应第五消息包的请求,基于老师的响应产生开始连麦的第六消息包发送至sever端,所述第六消息包内容如图8所示,sever端响应第六消息包的执行连麦指令,并生成表示连麦成功的第七消息包至各client端;所述第七消息包内容如图9所示,当任意client端想要取消连麦时,其client端产生对应的第八消息包并发送至sever端,所述第八消息包内容如图10所示sever端响应第八消息包执行取消连麦指令。
41.其中,所述协议数据还包括确认重传字段ackrequired,其值有true和false两种,需要说明的是,当消息包内容重要时才添加确认重传字段ackrequired。示例性的,对于需要确认重传字段并已成功发送的第一消息包,如果10s内没有收到服务器返回的ack消息包回复,则client需要重新发送,且消息id保持不变。最大重试次数3次。需要说明的是,ack消息包包括第一消息包的id及消息类别字段和消息类型字段,其中消息类别字段category的值有message和iq两种,消息类型字段type有result和error两种,result代表确认收到。
42.需要说明的是,关于直播互动中的client端的其他如举手请求、发送信息等相应消息包的传输原理如上,便不在此赘述。
43.其中,所述协议方法还包括心跳机制,心跳机制采用ping的方式,所述心跳机制的流程示意图如图11所示。
44.图12为本技术一些实施例提供的一种电子设备的示意框图。如图12所示,电子设备130包括处理器131、存储器132和显示装置133。显示装置133配置为直播间。存储器132用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器131用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器131运行时可以执行上文所述的页面展示方法中的一个或多个步骤。存储器132和处理器131可以通过总线系统和/或其它形式的连接机构(未示出)互连。
45.例如,处理器131可以是中央处理单元(cpu)、数字信号处理器(dsp)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如现场可编程门阵列(fpga)等;例如,中央处理单元(cpu)可以为x86或arm架构等。处理器131可以为通用处理器或专用处理器,可以控制电子设备130中的其它组件以执行期望的功能。
46.例如,存储器132可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器131可以运行一个或多个计算机程序模块,以实现电子设备130的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
47.需要说明的是,本技术的实施例中,电子设备130的具体功能和技术效果可以参考上文中关于教学直播的通讯方法的描述,此处不再赘述。
48.图13为本技术一些实施例提供的一种存储介质的示意图。如图13所示,存储介质150用于存储非暂时性计算机可读指令151。例如,当非暂时性计算机可读指令151由计算机执行时可以执行根据上文所述的教学直播的通讯方法中的一个或多个步骤。
49.例如,该存储介质150可以应用于上述电子设备130中。例如,存储介质150可以为图10所示的电子设备130中的存储器132。例如,关于存储介质150的相关说明可以参考图10所示的电子设备130中的存储器132的相应描述,此处不再赘述。
50.需要说明的是,本技术上述的存储介质(计算机可读介质)可以是计算机可读信号介质或者非暂时性计算机可读存储介质或者是上述两者的任意组合。非暂时性计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。非暂时性计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,非暂时性计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是非暂时性计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等,或者上述的任意合适的组合。
51.在一些实施方式中,客户端、服务器可以利用诸如超文本传输协议(hyper texttransfer protocol,http)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(lan),广域网(wan),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网
络),以及任何当前已知或未来研发的网络。
52.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
53.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
54.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
55.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等。
56.在本技术中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
57.在上文中,结合图1至图13描述了本技术实施例提供的教学直播的通讯方法、电子设备及存储介质。本技术实施例提供的教学直播的通讯方法,一方面,在实际的开发中,大大降低了开发难度,提高了开发效率,降低了开发成本,另一方面,通过精简协议数据格式,大大较小了服务器端的下发压力。
58.以上描述仅为本技术的部分实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
59.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组
合的方式实现在多个实施例中。
60.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献