CN107592313B - 一种数据传输方法和网络设备 - Google Patents
一种数据传输方法和网络设备 Download PDFInfo
- Publication number
- CN107592313B CN107592313B CN201710848197.8A CN201710848197A CN107592313B CN 107592313 B CN107592313 B CN 107592313B CN 201710848197 A CN201710848197 A CN 201710848197A CN 107592313 B CN107592313 B CN 107592313B
- Authority
- CN
- China
- Prior art keywords
- protocol
- server
- data
- packet
- network device
- 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.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据传输方法,在第一网络设备中执行,该网络设备经由服务器与第二网络设备通信连接,且其中设置有电子画板供用户绘制内容,该方法包括:当用户在电子画板上进行绘制操作时,实时采集各绘制点的数据,且每当采集到的数据达到预定阈值时,即将该数据以UDP协议发送到服务器,并由服务器以UPD协议转发给第二网络设备,以便第二网络设备将以UDP协议接收到的数据在其电子画板上实时绘制显示;当用户在电子画板上结束绘制操作后,将所采集到的所有绘制点的数据以TCP协议发送到服务器,并由服务器以TCP协议转发给第二网络设备,以便第二网络设备将以两种协议接收到的数据进行对比后,确定是否需要对以TCP协议接收到的数据进行重新绘制显示。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据传输方法和网络设备。
背景技术
随着各种智能终端的多样化和普及,特别是智能手机,平板电脑,智能电视机的广泛使用,以及高速Wifi相关技术的发展,在智能手机、平板电脑及电脑进行在线教育已经越来越成熟。在线教育(也称为e-Learning)是通过应用信息科技和互联网技术进行课程内容传播分享和快速学习的方法。在线教育的教学方式以网络为介质,通过网络,学生与教师即使相隔万里也可以开展教学活动。此外,借助网络课件学生还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,学习时间不固定的职场人而言网络远程教育是最方便不过的学习方式。
现有的在线教育系统通常包括教师终端和学生终端等设备,教师终端和学生终端可以实现一对一的交互过程。然而,目前的一对一交互过程仍然不够高效智能,需要对其进行改进。
发明内容
鉴于上述问题,本发明提出了一种数据传输方法和网络设备,以力图解决或者至少解决上面存在的问题。
根据本发明的一个方面,提供一种数据传输方法,适于在第一网络设备中执行,第一网络设备经由服务器与第二网络设备通信连接,且第一网路设备中设置有电子画板供用户绘制内容,该方法包括:当用户在电子画板上进行绘制操作时,实时采集各绘制点的数据,且每当采集到的数据达到预定阈值时,即将该数据以UDP协议的方式发送到服务器,以便由服务器以UPD协议的方式转发给第二网络设备,以便第二网络设备根据所述以UDP协议接收到的数据在其电子画板上进行实时绘制显示;以及当用户在电子画板上结束绘制操作后,将所采集到的所有绘制点的数据以TCP协议发送到服务器,以便由服务器以TCP协议的方式转发给第二网络设备,以便第二网络设备将以两种协议接收到的数据进行对比后,确定是否需要对根据以TCP协议接收到的数据进行重新绘制显示。
可选地,在根据本发明的数据传输方法中,第一网络设备和第二网络设备适于均向服务器发送连接包和协议包,以分别与服务器建立通信连接。
可选地,在根据本发明的数据传输方法中,预定阈值为434字节。
可选地,在根据本发明的数据传输方法中,第一网络设备和第二网络设备分别为教师端和学生端,该方法还包括,在教师端和学生端经由服务器建立连接以进行数据包传输之外,通过以下方式传输控制协议包来进行交互:学生端和教师端分别向服务器发送connect协议包和join协议包,以登入服务器连接;学生端将invite协议包发送到服务器,以便由服务器将该协议包转发给教师端,以邀请老师进行辅导;教师端将accecpt协议包或reject协议包发送到服务器,以便由服务器将对应协议包转发给学生端,以接收或拒绝学生端的辅导邀请;以及学生端或教师端在课程辅导完成后,向服务器发送leave协议包以离开辅导课堂,以及发送dis_connect协议包以与服务器断开连接。
可选地,在根据本发明的数据传输方法中,该交互过程还包括步骤:当学生端出现断线异常时,将reconnect协议包和rejoin协议包发送到服务器,以便由服务器将该协议包转发给教师端,以请求重新回到辅导课堂;教师端将re_accept协议包发送到服务器,以便由服务器将该协议包转发给学生端,以重新接受学生端的辅导邀请;以及教师端在完成课程辅导及评价后,向服务器发送finish协议包以完成课堂流程。
可选地,在根据本发明的数据传输方法中,发送端向服务器发送的各协议包、以及由服务器转发的各协议包,均分别以UDP协议和TCP协议的方式各发送一次;以及若接收端先接收完整以其中一种协议方式发送的协议包,则不再接收以另一种协议方式发送的协议包,并将已接收到的以该另一种协议发送的协议包清除。
根据本发明的又一个方面,提供另一种数据传输方法,适于在第二网络设备中执行,第二网络设备经由服务器与第一网络设备通信连接,且第一网络设备和第二网络设备中设置有电子画板供用户显示绘制内容,该方法包括:接收第一网络设备以UDP协议发送到服务器并由服务器以UDP协议转发的绘制点数据,并将接收到的绘制点数据在电子画板上实时绘制显示,其中以UDP协议发送的绘制点数据是用户在第一网络设备的电子画板上进行绘制操作时所实时采集的,且每当采集到的绘制点数据包达到预定阈值时即将该数据以UDP协议发送;以及接收第一网路设备以TCP协议发送到服务器并由服务器以TCP协议转发的绘制点数据,并将以TCP协议接收到的数据与以UDP协议接收到的数据进行对比,以确定是否需要对根据以TCP协议接收到的数据进行重新绘制显示,其中以TCP协议发送的绘制点数据是用户在第一网络设备的电子画板上结束绘制操作后统一发送的。
根据本发明的又一个方面,提供一种网络设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,所述一个或多个程序包括用于执行根据如上所述的数据传输方法的指令。
根据本发明的又一个方面,提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由网络设备执行时,使得该网络设备执行根据如上所述的数据传输方法。
根据本发明的技术方案,学生端和教师端之间的交互过程都经由服务器转发,在交互过程中分别发送控制协议包和数据包。对于数据包,发送端在进行线条绘制时,实时地对绘制点数据进行采集,如果采集到的数据达到434字节,则以UDP协议的方式将该数据发送给服务器,并由服务器继续以UDP协议发送给接收端。之后每采集够434字节的数据则立即以UDP协议进行发送,直到完成最后一次数据发送,这样接收端接到UDP协议的数据就可以进行实时显示,不会让接收端的电子画板长时间空白,从而保证及时的课堂响应。
另一方面,当绘制操作完成后,再将所有采集点数据统一以TCP协议的方式发送给服务器,并由服务器继续以TCP协议转发给接收端。这样,接收端就可以将以TCP协议接收到的数据和以UDP协议发送的数据对比,如果一样则不再重新绘制限制,如果不一样则重新绘制显示。这样在保证有及时的课堂相应的基础上,又保证了数据的完整性,提高了师生之间的课堂体验。
另外,对于各控制协议包,同样分别以TCP协议的方式和UDP协议的方式各发送一次。这样接收端在进行数据接收时,如果先接收完整以TCP协议发送的协议包,则不再接收以UDP协议发送的协议包,并将已接收到的UDP协议的协议包清除,从而可以既提高数据传输效率,又保证数据传输的完整性。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1A示出了根据本发明一个实施例的数据传输系统100的结构框图;
图1B和1C分别示出了第一网络设备110和第二网络设备120上的电子画板示意图;
图2示出了根据本发明一个实施例的网络设备200的结构框图;
图3示出了根据本发明一个实施例的数据传输方法300的流程图;
图4示出了根据本发明另一个实施例的对某线条以UDP协议进行发送和接收的示意图;
图5示出了接收端根据以TCP协议接收到的数据对线条进行重绘的示意图;
图6示出了根据本发明一个实施例的服务器的数据缓存示意图;
图7示出了根据本发明一个实施例的学生端和教师端之间的控制协议包的交互过程示意图;以及
图8示出了根据本发明另一个实施例的数据传输方法800的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1A示出了根据本发明一个实施例的数据传输系统100的示意图。如图中所示,系统100包括第一网络设备110和第二网络设备130,其中,第一网络设备110和第二网络设备120经由服务器120进行数据传输。进一步地,第一网络设备110和第二网络设备130适于均向服务器120发送连接包和协议包,以分别与服务器建立通信连接。
第一网络设备110和第二网络设备130均可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,还可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如手机、平板电脑、个人媒体播放器设备、无线网络浏览设备、可穿戴设备(如智能手表、智能眼镜等)、应用专用设备、或者可以包括上面任何功能的混合设备。
另外,第一网络设备110和第二网络设备130上设置有电子画板,如图1B和图1C所示,用户可在画板上绘制内容并显示,如绘制线条文字等。通常,该电子画板是用户点进某个在线课堂应用并进入课堂后所显现出来的。第一网络设备110和第二网络设备130分别代表学生端和老师端,其中可以设置第一网络设备110为老师端、第二网络设备130为学生端;当然也可以反过来,第一网络设备110为学生端,第二网络设备130为老师端。学生或老师进入在线课堂后,如阿凡题一对一辅导课堂,界面会显示一个电子画板供学生或老师绘制内容,而一端绘制的内容会经由服务器同步转发到另一端,并在另一端的电子画板上实时显示。
应当指出,图1中的数据传输系统100仅是示例性的,在具体的实践情况中,数据传输系统100中可以有不同数量的第一网络设备110和第二网络设备130,本发明对系统100中所包括的第一网络设备110和第二网络设备130的数目不做限制。
图2示出了根据本发明一个实施例的网络设备200的结构框图。在基本的配置202中,网络设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上利用程序数据224进行操作。程序数据224包括指令,在根据本发明的网络设备200中,程序数据224包含用于执行根据本发明的数据传输方法300或800的指令。
网络设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器130的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
网络设备200可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。网络设备200还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,网络设备200被配置为执行根据本发明的数据传输方法300或800。
图3示出了根据本发明一个实施例的数据传输方法300的流程图,该方法适于在网络设备中执行,如在第一网络设备110中执行。如图3所示,方法300始于步骤S320。
在步骤S320中,当用户在电子画板上进行绘制操作时,实时采集各绘制点的数据,且每当采集到的数据达到预定阈值时,即将该数据以UDP协议的方式发送到服务器,以便由所述服务器以UPD协议的方式转发给第二网络设备,以便第二网络设备根据所述以UDP协议接收到的数据在其电子画板上进行实时绘制显示。
通常,UPD数据结构包括UDP包头和UDP包体,UPD包头被分配一个唯一的session_id,用来识别转发对象。通常,UPD数据总长度为450字节,UPD包头为16字节,UDP包体为434字节。因此,根据本发明的一个实施例,预定阈值可以为434字节。也就是,当发送端的用户电子画板上实时划线的时候,缓存区进行数据点的采集,当缓存区采集到的数据点达到434字节的时候就以UDP协议的方式向服务器进行实时数据发送,并继续由服务器以UDP协议的方式转发给数据接收端。每个UDP数据包的发送和到达顺序不需要进行特殊计算,根据实际的网络环境测试,UDP本身存在一定的丢包率,这时接受端以UDP协议接收到数据之后即在其电子画板上进行实时的绘制显示,而丢包的数据暂时先略过不显示。这样就可以能保证接收端同步显示发送端所绘制的内容,虽然可能绘制不完整,是断断续续的线条,但其保证短时间内就有接收端的数据响应,避免了长时间的课堂空白。
图4示出了本发明对某线条所采用的以UDP协议进行发送和接收的示意图。发送端所绘制的线条如图4中顶端线条所示,在进行线条绘制时实时采集各绘制点数据,当已采集数据满足434字节时即将该数据发送服务器并由服务器转发,直到采集到线条末尾的最后一个数据点。此时,不论最后一个数据子包是否满足434字节,均将该数据包发送出去。接收端每接收到一个数据子包,即将该子包所对应的线条内容实时显示,显示的线条如图4下端线条。可以看到,图4中的发送端发送了8个数据子包,传输过程中发生了UDP丢包,因此接收端只接受到了6个数据子包,这6个数据子包显示出了3段分线条,中间另有两段线条暂未显示出来。
随后,在步骤S340中,当用户在电子画板上结束绘制操作后,将所采集到的所有绘制点的数据以TCP协议发送到服务器,以便由所述服务器以TCP协议的方式转发给第二网络设备,以便第二网络设备将以两种协议接收到的数据进行对比后,确定是否需要对根据以TCP协议接收到的数据进行重新绘制显示。
也就是,TCP发送的时间点以用户的绘制操作完成为起点,如笔离开页面,接收端以TCP协议接收到数据包后,先将根据UDP包接收的数量和TC接收的数量做比较来确定是否进行图像的重绘,相同则不用重新绘制,不相同则重新绘制。
这里的数据包采用两种协议方式发送,其中UDP协议传输特点为长(480byte)、定周期(20ms发送一次),允许发生丢包,传输快速实时且能有效降低网络拥塞时数据传输延迟的影响。TCP协议传输时UDP数据的合集,用户完整的单次操作为周期,稳定不会发生丢包,能够保证用户的看到数据完整性。因此,采用两种协议都各发送的方式,既能保证用户数据的完整传输,又能有非常好的感官体验。一般情况下,UDP协议定期发送在前,TCP协议发送在后;而在进行接收时,绝大部份甚至全部UDP协议数据会先于TCP协议数据先接收到。接收到接收端以UDP协议接收到包含线条矢量的数据包后,可能先断断续续显现出来一条线,然后再将以TCP协议接收到的数据包对该线条进行重绘。
图5中示出了接收端根据以TCP协议接收到的数据对线条进行重绘的示意图,其中上端的3条断线为以UDP协议接收到的数据线条。当以TCP协议接收完整数据后,即在该3条断线上对TCP协议数据机型重绘,重绘的线条如图5中下端的完整长线所示。应当理解,在实际操作中,数据的传输与接收是非常快的,因此接收端在显现出UDP的断线后可能瞬间就被TCP的完整线条所覆盖,这整个过程可能在眨眼时间就全部完成,因此能够非常好的保证用户体验,既不会课堂留白太久,也不会遗失课堂信息。
如下示出了一种TCP数据结构,其中messge_version兼容新旧协议数据格式,默认值为0;message_length代表数据长度,其根据实际传输的数据计算;message_type区分包体的数据类型,默认为1,文本类型;message_id,用户校验包体数据校验顺序,1开始。
此外,以UDP协议进行数据传输还可以实现到心跳包的作用,当服务器长时间没有从一端接收到心跳数据包传输时,则可以判定该终端出现了断网或网络崩溃等情况,这时就进行断线重连。根据本发明的一个实施例,服务器还会将所接收的所有数据进行缓存,保证数据的有效恢复。图6示出了根据本发明一个实施例的服务器的数据缓存示意图,数据以列表的形式缓存到服务端redis。这样在一方掉线或网络崩溃等情况出现时,掉线方就能够进行历史数据的拉取并恢复,有效避免信息丢失不会出现。这里,在当意外断网或崩溃后又重连时,服务器可以主动将掉线端错过的数据补发给掉线端;也可以由掉线端主动从服务器中拉取错过的数据。
如前文所述,第一网络设备110和第二网络设备130代表的是在线课堂中的教师端和学生端。根据本发明的一个实施例,在教师端和学生端经由服务器建立连接以进行数据包传输之外,方法300还可以通过以下方式传输控制协议包来进行交互:
学生端和教师端分别向服务器发送connect协议包和join协议包,以登入服务器连接;
学生端将invite协议包发送到服务器,以便由服务器将该协议包转发给教师端,以邀请老师进行辅导;
教师端将accecpt协议包或reject协议包发送到服务器,以便由服务器将对应的accecpt协议包或reject协议包转发给学生端,以接收或拒绝学生端的辅导邀请;
当学生端出现断线异常时,将reconnect协议包和rejoin协议包发送到服务器,以便由服务器将该协议包转发给教师端,以请求重新回到辅导课堂;
教师端将re_accept协议包发送到服务器,以便由服务器将该协议包转发给学生端,以重新接受学生端的辅导邀请;以及
学生端或教师端在课程辅导完成后,向服务器发送leave协议包以离开辅导课堂,以及发送dis_connect协议包以与服务器断开连接。当然,教师端还可以在完成课程辅导及评价后,向服务器发送finish协议包以完成课堂流程,并发送dis_connect协议包到服务器,以离开服务不再接受辅导邀请。
实际操作中,教师端登录服务器之后学生端即在线选择自己期望的老师,发送连接包到服务器上,教师端看到学生端发送的连接请求后,会点拒绝或接收,即邀请和接收机制。需要说明的是,在拒绝操作中,reject协议包可以在教师端主动点击拒绝辅导邀请时向服务器发送,也可以在教师端长时间未响应的情况下向服务器发送,即超时拒绝机制。一般,教师端超时30s未响应,则可默认为教师端拒绝,即发送reject协议包。
图7详细示出了根据本发明一个实施例学生端和教师端之间控制协议包的交互过程,其中各协议包的详细介绍如表1所示:
表1
需要说明的是,leave协议包代表辅导完成和对方角色分开;dis_connect协议包代表断开服务连接,服务完成后任意方都可以主动离开并断开服务器。re_connect协议用于验证用户身份,re_join协议包用于验证课程信息。heartbeat由客户端主动发送,由服务端进行检测;notify由服务器主动发起,用来向非异常端通知异常端的情况。各协议包中的各请求标识释义如表2所示,其中备注中的必需和非必需代表各字段在对应的协议包是否为必需。
表2
根据本发明的又一个实施例,发送端向服务器发送的各协议包、以及由服务器转发的各协议包,均分别以UDP协议和TCP协议的方式各发送一次。若接收端先接收完整以其中一种协议方式发送的协议包,则不再接收以另一种协议方式发送的协议包,并将已接收到的以该另一种协议发送的协议包清除。
也就是,学生端或教师端向服务器发送的各协议包、以及服务器向教师端或学生端转发的各协议包,均分别以UDP协议和TCP协议的方式各发送一次。对于任意协议包,如connect协议包,接收端如果先接收完整以TCP协议发送的connect协议包,则不再接收以UDP协议发送的connect协议包,并将已接收到的以UDP协议发送的connect协议包清除,从而可以既提高数据传输效率,又保证数据传输的完整性。
图8示出了根据本发明另一个实施例的数据传输方法800的流程图,该方法同样适于在网络设备中执行,如在第二网络设备130中执行如图8所示,方法800始于步骤S820。
在步骤S820中,接收第一网络设备以UDP协议发送到服务器并由服务器以UDP协议转发的绘制点数据,并将接收到的绘制点数据在电子画板上实时绘制显示,其中以UDP协议发送的绘制点数据是用户在第一网络设备的电子画板上进行绘制操作时所实时采集的,且每当采集到的绘制点数据包达到预定阈值时即将该数据以UDP协议发送。
随后,在步骤S840中,接收第一网路设备以TCP协议发送到服务器并由服务器以TCP协议转发的绘制点数据,并将以TCP协议接收到的数据与以UDP协议接收到的数据进行对比,以确定是否需要对根据以TCP协议接收到的数据进行重新绘制显示,其中以TCP协议发送的绘制点数据是用户在第一网络设备的电子画板上结束绘制操作后统一发送的。
这里,一对一数据传输方法800的执行逻辑与一对一数据传输方法300的内容相同,其只是从接收端的角度来描述本发明的数据传输方法,其具体细节已在基于图1-图7的描述中详细公开,在此不做赘述。
根据本发明的技术方案,传输数据包和控制协议包均以TCP协议的方式和UDP协议的方式各发送一次,这样接收端在接收数据包时就可以实时绘制显示,并通过快速补包操作显示完整数据。对于控制协议包,接收端如果先接收完整以TCP协议发送的协议包,则不再接收以UDP协议发送的协议包,并将已接收到的UDP协议的协议包清除,从而可以既提高数据传输效率,又保证数据传输的完整性。另外,所有数据交互过程均有服务器转发,这样任一方出现掉线或崩溃现象,均可掉线重连后实现数据恢复。
B9、如B7所述的方法,其中,所述预定阈值为434字节。
B10、如B7所述的方法,其中,其中第一网络设备和第二网络设备分别为教师端和学生端,该方法还包括,在教师端和学生端经由服务器建立连接以进行数据包传输之外,通过以下方式传输控制协议包来进行交互:学生端和教师端分别向服务器发送connect协议包和join协议包,以登入服务器连接;学生端将invite协议包发送到服务器,以便由服务器将该协议包转发给教师端,以邀请老师进行辅导;教师端将accecpt协议包或reject协议包发送到服务器,以便由服务器将对应协议包转发给学生端,以接收或拒绝学生端的辅导邀请;以及学生端或教师端在课程辅导完成后,向服务器发送leave协议包以离开辅导课堂,以及发送dis_connect协议包以与服务器断开连接。
B11、如B10所述的方法,其中,该交互过程还包括步骤:当学生端出现断线异常时,将reconnect协议包和rejoin协议包发送到服务器,以便由服务器将该协议包转发给教师端,以请求重新回到辅导课堂;教师端将re_accept协议包发送到服务器,以便由服务器将该协议包转发给学生端,以重新接受学生端的辅导邀请;以及教师端在完成课程辅导及评价后,向服务器发送finish协议包以完成课堂流程。
B12、如B10或B11所述的方法,其中,发送端向服务器发送的各协议包、以及由服务器转发的各协议包,均分别以UDP协议和TCP协议的方式各发送一次;以及若接收端先接收完整以其中一种协议方式发送的协议包,则不再接收以另一种协议方式发送的协议包,并将已接收到的以该另一种协议所发送的协议包清除。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的数据传输方法。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (14)
1.一种数据传输方法,适于在第一网络设备中执行,所述第一网络设备经由服务器与第二网络设备通信连接,且第一网络设备中设置有电子画板供用户绘制内容,该方法包括:
当用户在电子画板上进行绘制操作时,实时采集各绘制点的数据,且每当采集到的数据达到预定阈值时,即将该数据以UDP协议的方式发送到服务器,以便由所述服务器以UPD协议的方式转发给第二网络设备,以便第二网络设备根据所述以UDP协议接收到的数据在其电子画板上进行实时绘制显示,其中所述第二网络设备每接收到一个UDP数据包,即将该UDP数据包对应的内容在电子画板上显示出来;以及
当用户在电子画板上结束绘制操作后,将所采集到的所有绘制点的数据以TCP协议发送到服务器,该TCP发送的时间点以用户的绘制操作完成为起点,以便由所述服务器以TCP协议的方式转发给第二网络设备,以便第二网络设备将以两种协议接收到的数据进行对比后,确定是否需要对根据以TCP协议接收到的数据进行重新绘制显示之。
2.如权利要求1所述的方法,其中,所述第一网络设备和第二网络设备适于均向服务器发送连接包和协议包,以分别与服务器建立通信连接。
3.如权利要求1所述的方法,其中,所述预定阈值为434字节。
4.如权利要求1所述的方法,其中,第一网络设备和第二网络设备分别为教师端和学生端,该方法还包括,在教师端和学生端经由服务器建立连接以进行数据包传输之外,通过以下方式传输控制协议包来进行交互:
学生端和教师端分别向服务器发送connect协议包和join协议包,以登入服务器连接;
学生端将invite协议包发送到服务器,以便由服务器将该协议包转发给教师端,以邀请老师进行辅导;
教师端将accecpt协议包或reject协议包发送到服务器,以便由服务器将对应协议包转发给学生端,以接收或拒绝学生端的辅导邀请;以及
学生端或教师端在课程辅导完成后,向服务器发送leave协议包以离开辅导课堂,以及发送dis_connect协议包以与服务器断开连接。
5.如权利要求4所述的方法,其中,该交互过程还包括步骤:
当学生端出现断线异常时,将reconnect协议包和rejoin协议包发送到服务器,以便由服务器将该协议包转发给教师端,以请求重新回到辅导课堂;
教师端将re_accept协议包发送到服务器,以便由服务器将该协议包转发给学生端,以重新接受学生端的辅导邀请;以及
教师端在完成课程辅导及评价后,向服务器发送finish协议包以完成课堂流程。
6.如权利要求4或5所述的方法,其中,
发送端向服务器发送的各协议包、以及由服务器转发的各协议包,均分别以UDP协议和TCP协议的方式各发送一次;以及
若接收端先接收完整以其中一种协议方式发送的协议包,则不再接收以另一种协议方式发送的协议包,并将已接收到的以该另一种协议发送的协议包清除。
7.一种数据传输方法,适于在第二网络设备中执行,所述第二网络设备经由服务器与第一网络设备通信连接,且第一网络设备和第二网络设备中设置有电子画板供用户显示绘制内容,该方法包括:
接收第一网络设备以UDP协议发送到服务器并由服务器以UDP协议转发的绘制点数据,并将接收到的绘制点数据在电子画板上实时绘制显示,其中以UDP协议发送的绘制点数据是用户在第一网络设备的电子画板上进行绘制操作时所实时采集的,且每当采集到的绘制点数据包达到预定阈值时即将该数据以UDP协议发送,其中所述第二网络设备每接收到一个UDP数据包,即将该UDP数据包对应的内容在电子画板上显示出来;以及
接收第一网络设备以TCP协议发送到服务器并由服务器以TCP协议转发的绘制点数据,并将以TCP协议接收到的数据与以UDP协议接收到的数据进行对比,以确定是否需要对根据以TCP协议接收到的数据进行重新绘制显示,其中以TCP协议发送的绘制点数据是用户在第一网络设备的电子画板上结束绘制操作后统一发送的,且该TCP发送的时间点以用户的绘制操作完成为起点。
8.如权利要求7所述的方法,其中,所述第一网络设备和第二网络设备适于均向服务器发送连接包和协议包,以分别与服务器建立通信连接。
9.如权利要求7所述的方法,其中,所述预定阈值为434字节。
10.如权利要求7所述的方法,其中,其中第一网络设备和第二网络设备分别为教师端和学生端,该方法还包括,在教师端和学生端经由服务器建立连接以进行数据包传输之外,通过以下方式传输控制协议包来进行交互:
学生端和教师端分别向服务器发送connect协议包和join协议包,以登入服务器连接;
学生端将invite协议包发送到服务器,以便由服务器将该协议包转发给教师端,以邀请老师进行辅导;
教师端将accecpt协议包或reject协议包发送到服务器,以便由服务器将对应协议包转发给学生端,以接收或拒绝学生端的辅导邀请;以及
学生端或教师端在课程辅导完成后,向服务器发送leave协议包以离开辅导课堂,以及发送dis_connect协议包以与服务器断开连接。
11.如权利要求10所述的方法,其中,该交互过程还包括步骤:
当学生端出现断线异常时,将reconnect协议包和rejoin协议包发送到服务器,以便由服务器将该协议包转发给教师端,以请求重新回到辅导课堂;
教师端将re_accept协议包发送到服务器,以便由服务器将该协议包转发给学生端,以重新接受学生端的辅导邀请;以及
教师端在完成课程辅导及评价后,向服务器发送finish协议包以完成课堂流程。
12.如权利要求 10或11所述的方法,其中,
发送端向服务器发送的各协议包、以及由服务器转发的各协议包,均分别以UDP协议和TCP协议的方式各发送一次;以及
若接收端先接收完整以其中一种协议方式发送的协议包,则不再接收以另一种协议方式发送的协议包,并将已接收到的以该另一种协议所发送的协议包清除。
13.一种网络设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-6或7-12中任一项所述的方法的指令。
14.一种存储有程序指令的可读存储介质,当所述程序指令被网络设备读取并执行时,使得所述网络设备执行如权利要求1-6或7-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710848197.8A CN107592313B (zh) | 2017-09-19 | 2017-09-19 | 一种数据传输方法和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710848197.8A CN107592313B (zh) | 2017-09-19 | 2017-09-19 | 一种数据传输方法和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107592313A CN107592313A (zh) | 2018-01-16 |
CN107592313B true CN107592313B (zh) | 2020-07-14 |
Family
ID=61048497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710848197.8A Active CN107592313B (zh) | 2017-09-19 | 2017-09-19 | 一种数据传输方法和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107592313B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277576A (zh) * | 2020-01-14 | 2020-06-12 | 广州华多网络科技有限公司 | 绘制数据展示方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269346A (zh) * | 2013-06-04 | 2013-08-28 | 温才燚 | 一种用于教学的远程交互系统 |
CN103761894A (zh) * | 2014-01-28 | 2014-04-30 | 成都恒轩汇智科技有限公司 | 互动课堂实现方法及交互平台 |
CN104468289A (zh) * | 2014-03-13 | 2015-03-25 | 上海英和文化传播有限公司 | 基于tcp连接的电子教室系统及相应电子教室管理方法 |
CN106310656A (zh) * | 2016-08-30 | 2017-01-11 | 暴风集团股份有限公司 | 一种采用虚拟手柄控制游戏的方法 |
CN106355387A (zh) * | 2016-08-15 | 2017-01-25 | 宁波包豪斯教育科技有限公司 | 网络家教系统及其控制方法 |
-
2017
- 2017-09-19 CN CN201710848197.8A patent/CN107592313B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269346A (zh) * | 2013-06-04 | 2013-08-28 | 温才燚 | 一种用于教学的远程交互系统 |
CN103761894A (zh) * | 2014-01-28 | 2014-04-30 | 成都恒轩汇智科技有限公司 | 互动课堂实现方法及交互平台 |
CN104468289A (zh) * | 2014-03-13 | 2015-03-25 | 上海英和文化传播有限公司 | 基于tcp连接的电子教室系统及相应电子教室管理方法 |
CN106355387A (zh) * | 2016-08-15 | 2017-01-25 | 宁波包豪斯教育科技有限公司 | 网络家教系统及其控制方法 |
CN106310656A (zh) * | 2016-08-30 | 2017-01-11 | 暴风集团股份有限公司 | 一种采用虚拟手柄控制游戏的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107592313A (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102710748B (zh) | 数据获取方法、系统及设备 | |
CN108989488B (zh) | 网络地址转换设备的穿越方法、装置及存储介质 | |
CN103517409B (zh) | 信息传输方法、系统及设备 | |
CN104079571B (zh) | 一种识别Android模拟器的方法及装置 | |
CN110851035B (zh) | 一种会话消息显示方法、装置、电子设备及存储介质 | |
CN101977209A (zh) | 一种网页上实现翻页同步的方法 | |
CN106302827B (zh) | 基于分布式系统的通信方法、设备及分布式系统 | |
CN104243281A (zh) | 基于移动互联网的语音通信方法 | |
CN103793454A (zh) | 用于显示web浏览器的加载状态的设备和方法 | |
CN104468509A (zh) | 手机网络游戏数据传输的方法、系统和手机用户端 | |
CN104361049A (zh) | 一种快速展现数据库数据的方法和系统 | |
CN107592313B (zh) | 一种数据传输方法和网络设备 | |
CN104205743A (zh) | 无线接入网中用于内容分发的方法和装置 | |
CN103874063A (zh) | 电子设备及建立电子设备之间通信的方法 | |
CN111385068B (zh) | 数据传输方法、装置、电子设备及通信系统 | |
CN107276901A (zh) | 集成应用程序的系统及方法及无线路由器及终端 | |
CN114500528A (zh) | 一种基于云平台的数据传输方法及装置 | |
CN108462590A (zh) | 网络流量的监控方法及装置、计算机终端 | |
CN109729061A (zh) | 消息处理方法、装置、设备及可读存储介质 | |
JP2009110041A (ja) | ウェブ画面の共有システム、その共有用端末機およびその共有プログラム | |
CN103609193B (zh) | 识别终端类型的方法及无线接入网设备 | |
CN110738882A (zh) | 一种在线教学显示控制的方法、装置、设备和存储介质 | |
CN109165197B (zh) | 一种文件处理方法、终端及服务器 | |
CN104283762A (zh) | 传输即时通讯会话内容的方法、系统、客户端及服务器 | |
CN104079368B (zh) | 一种应用软件的测试数据传输方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |