一种数据同步方法及交互式电子白板、服务器与流程

文档序号:21038463发布日期:2020-06-09 20:32阅读:201来源:国知局
一种数据同步方法及交互式电子白板、服务器与流程

本申请涉及现代教学技术领域,尤其涉及一种数据同步方法及交互式电子白板、服务器。



背景技术:

交互式电子白板为交互式办公教学一体机,具有支持多人同屏书写、网络白板、多端远程互动的功能,通常应用于双师课堂、互动课堂、专递课堂等互动教学场景以及视频会议软件,通常由手写屏幕、微控制器、投影机及通讯单元等基本单元构成,交互式电子白板通过通讯单元和远程的其他交互式电子白板实现数据传输。

在使用过程中,交互式电子白板与其他电子白板进行通讯的过程:作为主讲端的交互式电子白板上传数据,由服务器保存数据,再通知作为听讲端的其他交互式电子白板更新数据,以达到数据同步的功能。

然而,现有的交互式电子白板的数据同步方法仅适用于交互的电子白板较少的情况,当主讲端和听讲端数量较多的情况下,由于各端的网络情况不同,将会导致听讲端在同步主讲端数据的过程中,数据的输出时序和输入时序不一致,出现乱序的问题。



技术实现要素:

本申请实施例通过提供一种数据同步方法、交互式电子白板、服务器、计算机存储介质及交互式办公教学系统,解决了现有技术中由于网络等原因导致的交互式电子白板在数据同步过程中存在的数据乱序的技术问题。

第一方面,本申请通过本申请的一实施例提供如下技术方案:

一种数据同步方法,应用于第一电子白板中,所述方法包括:当第一用户在所述第一电子白板上进行第n手写操作时,获得所述第n手写操作对应的第n笔迹数据;生成与所述第n笔迹数据对应的第n本地序列号;基于所述第n笔迹数据和所述第n本地序列号,生成第n待同步数据包;将所述第n待同步数据包发送给服务器,以使得所述服务器通知第二电子白板获取所述第n待同步数据包,并根据所述第n本地序列号对所述第n笔迹数据进行显示,n为正整数。

在一个实施例中,在所述基于所述第n笔迹数据和所述第n本地序列号,生成第n待同步数据包之前,还包括:向所述服务器发送第n请求,所述第n请求用于向所述服务器获取第n服务器序列号;接收所述服务器发送的所述第n服务器序列号;所述基于所述第n笔迹数据和所述第n本地序列号,生成第n待同步数据包,包括:基于所述第n服务器序列号、所述第n本地序列号和所述第n笔迹数据,生成所述第n待同步数据包。

在一个实施例中,所述将所述第n待同步数据包发送给服务器之后,还包括:向所述服务器发送第n+1请求以使所述服务器返回第n+1服务器序列号,所述第n+1服务器序列号用于在获取到所述第一用户在所述第一电子白板上进行第n+1手写操作对应的第n+1笔迹数据后,与所述第n+1笔迹数据生成第n+1待同步数据包。

第二方面,本申请通过本申请的一实施例提供如下技术方案:

一种数据同步方法,应用于服务器中,所述方法包括:接收第一电子白板发送的第n待同步数据包,所述第n待同步数据包包含第n本地序列号和第n笔迹数据,所述第n笔迹数据为第一用户在所述第一电子白板上进行第n手写操作的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号;基于所述第n待同步数据包,生成第n同步信息;将所述第n同步信息发送给第二电子白板,以使得所述第二电子白板基于所述第n同步信息从所述服务器中下载所述第n待同步数据包,并根据所述第n本地序列号对所述第n笔迹数据进行显示,n为正整数。

在一个实施例中,在所述接收第一电子白板发送的第n待同步数据包之前,还包括:接收所述第一电子白板发送的第n请求,所述第n请求用于向所述服务器获取第n服务器序列号;基于所述第n请求,将所述第n服务器序列号发送给所述第一电子白板,以使所述第一电子白板基于所述第n服务器序列号、所述第n本地序列号和所述第n笔迹数据,生成所述第n待同步数据包。

在一个实施例中,所述基于所述第n待同步数据包,生成第n同步信息,包括:从所述第n待同步数据包提取所述第n服务器序列号;基于所述第n服务器序列号,生成所述第n同步信息。

在一个实施例中,在所述将所述第n同步信息发送给第二电子白板后,还包括:基于所述第二电子白板发送的数据请求信息,将所述第n待同步数据包及第m待同步数据包发送给所述第二电子白板,所述数据请求信息为所述第二电子白板在接收到所述服务器发送的所述第n同步信息后,基于所述第n同步信息生成的信息;其中,所述第m待同步数据包为所述服务器已经存有但所述第二电子白板未收到的待同步数据包,所述第m待同步数据包包括第m服务器序列号、第m本地序列号和第m笔迹数据,所述第m笔迹数据为第一用户在所述第一电子白板上进行第m手写操作的笔迹数据,所述第m本地序列号为所述第一电子白板在获取到所述第m笔迹数据后,生成的与所述第m笔迹数据对应的本地序列号,所述第一电子白板获取所述第m笔迹数据的时间早于获取所述第n笔迹数据的时间,所述第m服务器序列号为所述第一电子白板在获取到所述第m笔迹数据后,向所述服务器发送第n+1请求后所述服务器返回的服务器序列号,m为正整数。

第三方面,本申请通过本申请的一实施例提供如下技术方案:

一种数据同步方法,应用于第二电子白板中,所述方法包括:接收服务器下发的第n同步信息;基于所述第n同步信息,从所述服务器中下载第n待同步数据包,所述第n待同步数据包包含第n笔迹数据、第n本地序列号,所述第n笔迹数据为第一用户在第一电子白板上进行第n手写操作时所述第一电子白板获取到的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号;从所述第n待同步数据包中提取所述第n笔迹数据及所述第n本地序列号;基于所述第n本地序列号,对所述第n笔迹数据进行显示,n为正整数。

在一个实施例中,所述第n同步信息包括第n服务器序列号,所述第n服务器序列号为所述第一电子白板在获取到所述第n笔迹数据后,向所述服务器发送第n请求后所述服务器返回的服务器序列号;所述基于所述第n同步信息,从所述服务器中下载所述第n待同步数据包,包括:从所述第n同步信息中提取所述第n服务器序列号;基于所述第n服务器序列号,从所述服务器中下载所述第n待同步数据包。

在一个实施例中,所述基于所述第n服务器序列号,从所述服务器中下载所述第n待同步数据包,包括:基于所述第n服务器序列号和所述第二电子白板存储的已有服务器序列号,生成一数据请求信息,所述数据请求信息用于从所述服务器中下载所述第n待同步数据包及第m待同步数据包,所述第m待同步数据包为所述服务器已经存有但所述第二电子白板未收到的待同步数据包,所述第m待同步数据包包括第m服务器序列号、第m本地序列号和第m笔迹数据,所述第m笔迹数据为所述第一用户在所述第一电子白板上进行第m手写操作的笔迹数据,所述第m本地序列号为所述第一电子白板在获取到所述第m笔迹数据后,生成的与所述第m笔迹数据对应的本地序列号,所述第一电子白板获取所述第m笔迹数据的时间早于获取所述第n笔迹数据的时间,所述第m服务器序列号为所述第一电子白板在获取到所述第m笔迹数据后,向所述服务器发送第n+1请求后所述服务器返回的服务器序列号;将所述数据请求信息发送给所述服务器;接收所述服务器发送的所述第n待同步数据包及所述第m待同步数据包,m为正整数。

在一个实施例中,所述从所述第n待同步数据包中提取所述第n笔迹数据及所述第n本地序列号,包括:从所述第n待同步数据包中提取所述第n笔迹数据及所述第n本地序列号,从所述第m待同步数据包中提取所述第m笔迹数据和所述第m本地序列号;所述基于所述第n本地序列号,对所述第n笔迹数据进行同步显示,包括:基于所述第n本地序列号和所述第m本地序列号,对所述第n笔迹数据和所述第m笔迹数据进行显示。

第四方面,本申请通过本申请的一实施例提供如下技术方案:

一种交互式电子白板,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时可以实现如上述第一方面或第三方面中任一实施例所述的方法步骤。

第五方面,本申请通过本申请的一实施例提供如下技术方案:

一种服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时可以实现如上述第二方面任一实施例所述的方法步骤。

第六方面,本申请通过本申请的一实施例提供如下技术方案:

一种计算机存储介质,其上存储有计算机程序,包括:该程序被处理器执行时可以实现如上述第一方面或第二方面或第三方面中任一实施例所述的方法步骤。

第七方面,本申请通过本申请的一实施例提供如下技术方案:

一种交互式办公教学系统,包括:如上述第四方面所述的交互式电子白板;如上述第五方面所述的服务器。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本申请中第一电子白板作为数据上传端,在上传第n笔迹数据之前,先将第n笔迹数据添加第n本地序列号后,生成第n待同步数据包上传给服务器;服务器在收到第n待同步数据包,发送第n同步信息给第二电子白板以通知第二电子白板获取所述第n待同步数据包;第二电子白板在收到第n同步信息后,基于第n同步信息从所述服务器中下载第n待同步数据包,基于第n待同步数据包中的第n本地序列号对所述第n笔迹数据进行同步显示。本申请针对网络不稳定等原因导致的交互式白板数据乱序问题,依照代表输入时序的第n本地序列号,对第n笔迹数据进行同步显示,能够保证第n笔迹数据的输出时序和输入时序一致,从而解决了现有技术中由于网络等原因导致的交互式电子白板在数据同步过程中存在的数据乱序的技术问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例一所提供的一种数据同步方法的流程图;

图2为本申请实施例二所提供的一种数据同步方法的流程图;

图3为本申请实施例三所提供的一种数据同步方法的流程图;

图4为本申请实施例四所提供的一种交互式电子白板的结构图;

图5为本申请实施例五所提供的一种服务器的结构图;

图6为本申请实施例六所提供的一种交互式电子白板的结构图;

图7为本申请实施例七所提供的一种计算机存储介质的结构图;

图8为本申请实施例八所提供的一种计算机存储介质的结构图;

图9为本申请实施例九所提供的一种计算机存储介质的结构图;

图10为本申请实施例十所提供的一种交互式办公教学系统的结构图。

具体实施方式

本申请实施例通过提供一种数据同步方法、交互式电子白板、服务器、计算机存储介质及交互式办公教学系统,解决了现有技术中由于网络等原因导致的交互式电子白板在数据同步过程中存在的数据乱序的技术问题。

本申请实施例的技术方案为解决上述技术问题,总体思路如下:

第一电子白板作为数据上传端,在上传第n笔迹数据之前,先将第n笔迹数据添加第n本地序列号后,生成第n待同步数据包上传给服务器;服务器在收到第n待同步数据包,发送第n同步信息给第二电子白板以通知第二电子白板获取所述第n待同步数据包;第二电子白板在收到第n同步信息后,基于第n同步信息从所述服务器中下载第n待同步数据包,基于第n待同步数据包中的第n本地序列号对所述第n笔迹数据进行显示,n为正整数。本申请针对网络不稳定等原因导致的数据乱序问题,依照代表输入时序的第n本地序列号,对第n笔迹数据进行显示,能够保证第n笔迹数据的输出时序和输入时序一致,从而解决了网络不稳定等原因导致的数据乱序问题。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

实施例一

如图1所示,本实施例提供了一种数据同步方法,应用于第一电子白板中。

需要说明的是,第一电子白板为交互式办公教学一体机,具有支持多人同屏书写、网络白板、多端远程互动的功能,通常应用于双师课堂、互动课堂、专递课堂等互动教学场景以及视频会议中,通常由手写屏幕、微控制器、投影机及通讯单元等基本单元构成,手写屏幕支持在上面任意书写、绘画,微控制器对用户在手写屏幕的书写内容进行采集,以获取用户的输入数据,投影仪将pc端的内容投影到手写屏幕上;第一电子白板还可以通过网络与其他办公室、会议室、教室等的第二电子白板进行交流,以特定频率将采集到的各输入数据传送给第二电子白板。对于接收数据的第二电子白板来说,按照接收顺序将各输入数据进行输出,并对未提笔的连续书写的各输入数据,按照接收顺序进行依次连线,从而获取第一用户在第一电子白板上的手写操作。

为了方便理解,本实施例中将第一电子白板作为数据的上传端,将第二电子白板作为数据的接收端进行叙述,而实际应用过程中,第二电子白板也具有和第一电子白板相同的功能,第一电子白板和第二电子白板既可以为数据的上传端,也可以为数据的接收端。

所述方法包括:

步骤s101:当第一用户在第一电子白板上进行第n手写操作时,获得第n手写操作对应的第n笔迹数据。

在实际应用中,当第一用户在第一电子白板任意书写时,第一电子白板采集第一用户触摸操作的各触点对应的各触点数据,以特定频率对采集到的触点数据进行打包,从而获得多个与书写对应的笔迹数据。其中,触点为第一用户在第一电子白板书写时的触摸点,触点数据为该触点所对应的坐标等描述信息。

需要说明的是,特定频率与采样周期成倒数关系,例如:特定频率为50次/秒,采样周期则为20毫秒/次,以特定频率对采集到的数据进行打包是指:每隔一个采样周期,对该采集周期内采集到的触点数据进行打包,生成该采样周期对应的手写操作下的笔迹数据,即一个采集周期对应一个手写操作,一个手写操作对应一个笔迹数据,一个采样周期中,第一用户可对一个或一个以上的多个触点进行触摸操作,那么,一个笔迹数据可包含一个或多个触点所对应的触点数据。

例如:第一用户意图在第一电子白板上输入一条直线,第一电子白板对第一用户触摸操作的各触点对应的各触点数据进行采集,并以50次/秒的特定频率(每20毫秒/次的采集周期)对采集到的触点数据进行打包,那么,依照采集的先后顺序,在第一采集周期,获得第一手写操作对应的第一笔迹数据;在第二采集周期,获得第二手写操作对应的第二笔迹数据;……;在第n采集周期,获得第n手写操作对应的第n笔迹数据;……以此类推。

本实施例中,第n手写操作,为第一用户在第n采集周期对第一电子白板对多个触点的触摸操作,第n笔迹数据为第n手写操作对应的多个触点所对应的触点数据,其中,当第一用户在第一电子白板书写时,以开始书写的时间点为起点、以采集周期为一个步长,第n采集周期为第n个步长所对应的采集周期。

步骤s102:生成与所述第n笔迹数据对应的第n本地序列号。

实际应用中,本地序列号的生成规则如下:按照获得笔迹数据的顺序,每获得一个笔迹数据,为该笔迹数据生成一个对应的本地序列号,各本地序列号按照生成的顺序以设定步长依次递增,相邻的两个本地序列号之间间隔设定步长,设定步长可以根据需要进行设置。

例如:当获得第n笔迹数据,自动生成第n本地序列号num;当获得第n+1笔迹数据时,生成第n+1本地序列号为num+1(1为设定步长),那么,num比num+1大,代表第n笔迹数据在第n+1笔迹数据之前输入。

由于本地序列号与笔迹数据一一对应,并且,本地序列号按照获得笔迹数据的顺序生成并递增,因此,本地序列号能够代表笔迹数据的输入时序。

步骤s103:基于第n笔迹数据和第n本地序列号,生成第n待同步数据包。

申请人在长期的研究过程中,发现现有技术中存在如下问题:

第一用户在第一电子白板上持续手写操作时,由于网络的原因,数据包在上传过程中将存在乱序的问题,进而导致服务器接收到的数据包乱序,作为数据接收端的第二电子白板对下载的乱序数据包进行显示时将出现乱序,出现输出时序和上传端的输入时序不一致的问题。

下面通过举例对上述上传过程中存在的数据包乱序,导致输出时序和上传端的输入时序不一致的问题进行说明,以便于对该技术问题理解更透彻,具体如下:

第一用户在第一电子白板上连续进行手写操作时,先后获得了笔迹数据a和笔迹数据b。但由于网络的原因,导致先写的笔迹数据a后传给服务器,而后写的笔迹数据b却先传给服务器,出现同一用户在同一端输入的数据在上传时出现乱序问题;服务器并不清楚笔迹数据a和笔迹数据b是否乱序,会按照接收顺序存储并通知第二电子白板按照上传的顺序下载,第二电子白板会首先下载笔迹数据b进行显示,然后下载笔迹数据a进行显示,显然和输入时序不一致。

为了解决上述上传过程中存在的数据乱序导致的输出时序和输入时序不一致的问题,本实施例为要上传的笔迹数据添加能够代表笔迹数据输入时序的本地序列号后,生成待同步数据包进行上传,即使在上传的过程中出现乱序的问题,第二电子白板从服务器中下载到乱序的待同步数据包后,也能基于待同步数据包中的本地序列号判断待同步数据包是否存在乱序,进而对乱序的待同步数据包进行显示顺序的调整,以达到输出时序和输入时序同步的效果。

步骤s104:将第n待同步数据包发送给服务器,以使得服务器通知第二电子白板获取第n待同步数据包,并根据所述第n本地序列号对第n笔迹数据进行显示。

为了解决上述上传过程中存在的数据乱序导致的输出时序和输入时序不一致的问题,本申请还提供一种可选的实施例,具体包括:

在步骤s103之前,向服务器发送第n请求,第n请求用于向服务器获取第n服务器序列号;接收服务器发送的第n服务器序列号;

所述基于第n笔迹数据和第n本地序列号,生成第n待同步数据包,包括:基于第n服务器序列号、第n本地序列号和第n笔迹数据,生成第n待同步数据包。

实际应用中,本实施例为要上传的笔迹数据添加能够代表笔迹数据输入时序的服务器序列号后,生成待同步数据包进行上传,即使在上传的过程中出现乱序的问题,第二电子白板从服务器中下载到乱序的待同步数据包后,也能基于待同步数据包中的服务器序列号判断待同步数据包是否存在乱序,进而对乱序的待同步数据包进行显示顺序的调整,以达到输出时序和输入时序同步的效果。

需要说明的是,第n服务器序列号为服务器基于第n请求的接收时序分配的,代表第n请求的接收时序,在第n请求能够代表第n笔迹数据的输入时序的前提下,第n服务器序列号代表第n笔迹数据的输入时序。

服务器中,第n服务器序列号的生成规则如下:根据特定顺序生成的序列号中排在当前不可用的序列号后的第一个当前可用的序列号,例如:按照递增的顺序生成序列号,其中1、2、3、4已被使用,属于当前不可用的序列号,而排在当前不可用的序列号后的第一个当前可用的序列号为5,则将5作为第n服务器序列号发送给第一电子白板。

第n服务器序列号和第n本地序列号并不一定相同,一方面,第n服务器序列号的分配规则可能不一样,另一方面,服务器分配的服务器序列号除了发送给第一电子白板外,还可以发送给请求服务器序列号的其他电子白板。

作为一种可选的实施例,步骤s104之后,还包括:

向所述服务器发送第n+1请求以使所述服务器返回第n+1服务器序列号,所述第n+1服务器序列号用于在获取到所述第一用户在所述第一电子白板上进行第n+1手写操作对应的第n+1笔迹数据后生成第n+1待同步数据包。

申请人在长期的研究过程中,发现现有技术中还存在如下问题:申请服务器序列号的请求,作为数据的一种形式,同样会由于网络的问题,存在乱序的问题,进而导致申请的服务器序列号不能够代表笔迹数据的输入时序。沿用上述例子进行说明:先写的笔迹数据a的请求a由于网络的原因,而后传给服务器,而后写的笔迹数据b的请求b却先传给服务器,服务器基于请求b分配的服务器序列号显然早于基于请求a分配的服务器序列号,此时服务器序列号并不能代表笔迹数据a和笔迹数据b的输入时序。

为了解决上述申请服务器序列号的请求,同样会由于网络的问题,存在乱序的问题,进而导致申请的服务器序列号不能够代表笔迹数据的输入时序的问题,本实施例在上一个笔迹数据对应的待同步数据包发送后,再进行下一个笔迹数据的服务器序列号的请求,严格保证请求、服务器序列号、第一用户输入的笔迹数据的时序一致,使服务器序列号能够代表笔迹数据的输入时序,保证后续第二电子白板从服务器中下载到乱序的待同步数据包后,也能基于待同步数据包中的服务器序列号判断待同步数据包是否存在乱序,进而对乱序的待同步数据包进行显示顺序的调整,以达到输出时序和输入时序同步的效果。

具体的,当第一用户在第一电子白板上进行第n手写操作和第n+1手写操作时,获得第n手写操作对应的第n笔迹数据及第n本地序列号、第n+1手写操作对应的第n+1笔迹数据及第n+1本地序列号;向服务器发送第n请求,第n请求用于向服务器获取第n服务器序列号;接收服务器发送的第n服务器序列号;基于第n服务器序列号、第n本地序列号和第n笔迹数据,生成第n待同步数据包;将第n待同步数据包发送给服务器;当第n待同步数据包发送后,向服务器发送第n+1请求,第n+1请求用于向服务器获取第n+1服务器序列号;接收服务器发送的第n+1服务器序列号;基于第n+1服务器序列号、第n+1本地序列号和第n+1笔迹数据,生成第n+1待同步数据包;将第n+1待同步数据包发送给服务器…….

作为一种可选的实施例,作为上传端的第一电子白板,在获得第n笔迹数据、对应的第n本地序列号及第n服务器序列号后,将其更新到第一电子白板的已有数据数表中。

申请人在在长期的研究过程中,发现现有技术中存在如下问题:由于网络的原因,上传端在上传的过程中可能会出现待同步数据包丢失的问题,致使服务器不能接收到待同步数据包,进而致使作为数据接收端的第二电子白板不能不能显示作为数据上传端的第一电子白板共享的数据。

为解决上述上传端在上传的过程中可能会出现待同步数据包丢失的问题,第一电子白板在获得第n笔迹数据和对应的第n本地序列号及第n服务器序列号后,将其更新到已有数据数表中,以便于丢失的待同步数据包的重传,具体的,服务器在接收到上传端在上传的待同步数据包后,会根据待同步数据包中的本地序列号或服务器序列号,与数据库中已有的本地序列号或服务器序列号比较,判断是否存在丢失的待同步数据包,若存在,服务器将给第一电子白板反馈丢失的待同步数据包,第一电子白板在收到反馈后,会将从已有数据数表中获取丢失的待同步数据包进行重传。

作为一种可选的实施例,步骤s103具体包括:基于第n服务器序列号、第n本地序列号、第n笔迹数据及第一电子白板的第一标识,生成第n待同步数据包。

申请人在长期的研究过程中,发现现有技术中存在如下问题:

交互式教学场景中,上传数据的客户端可能为一个及一个以上的多个,对于同一客户端又可以支持多人同屏书写功能。对于不同的客户端、同一客户端的不同用户的数据,若不进行区分,后续作为接收端的第二电子白板对这些来源不同的数据进行显示时,可能会存在将来源不同的两个数据之间进行连线,从而使得下载数据的客户端在显示数据时和上传数据的客户端输入的数据完全不同,出现显示混乱的问题。

下面通过举例对上述存在显示混乱的问题进行说明,以便于对该技术问题理解更透彻,具体如下:

电子白板a上传了笔迹数据a、笔迹数据b,笔迹数据a、笔迹数据b之间为连接的直线;电子白板b上传了笔迹数据c、笔迹数据d,笔迹数据c、笔迹数据d之间为连接的直线;若上传端未对笔迹数据a、笔迹数据b、笔迹数据c、笔迹数据d的来源进行区分,那么电子白板c在显示笔迹数据a、笔迹数据b、笔迹数据c、笔迹数据d时,则会直接将笔迹数据a、笔迹数据b、笔迹数据c、笔迹数据d对应的点直接连接进行显示,显然和电子白板a、电子白板b上传的数据是完全不同的。

为了解决显示混乱的问题,本实施例在上传待同步数据包的时候,将不同的客户端、同一客户端的不同用户的数据携带上对应的标识,以进行区分。针对上传数据的客户端为多个的情况,第一标识可以为网络端口标识、设备编号标识等具有唯一标识性的标识信息。针对同一客户端的多个用户的情况,对不同用户进行区分的第一标识可以为:与未提笔的连续书写操作相关的标识信息,即针对每一个未提笔的连续书写操作,视为同一用户的操作,第一电子白板生成一个与其唯一对应的标识信息。

本实施例通过第一标识将不同的客户端、同一客户端的不同用户的数据进行区分,作为接收端的第二电子白板对经过区分的同一来源的数据进行显示和连线,则不会出现显示混乱的问题。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

本申请中第一电子白板作为数据上传端,在上传第n笔迹数据之前,先将第n笔迹数据添加第n本地序列号后,生成第n待同步数据包上传给服务器;服务器在收到第n待同步数据包,发送第n同步信息给第二电子白板以通知第二电子白板获取第n待同步数据包;第二电子白板在收到第n同步信息后,基于第n同步信息从服务器中下载第n待同步数据包,基于第n待同步数据包中的第n本地序列号对第n笔迹数据进行显示。本申请针对公网不稳定等原因导致的数据乱序问题,依照代表输入时序的第n本地序列号,对第n笔迹数据进行显示,能够保证第n笔迹数据的输出时序和输入时序一致,从而解决了网不稳定等原因导致的数据乱序问题。

实施例二

如图2所示,本实施例提供了一种数据同步方法,应用于服务器中,所述方法包括:

步骤s201:接收第一电子白板发送的第n待同步数据包,第n待同步数据包包含第n本地序列号和第n笔迹数据,第n笔迹数据为第一用户在第一电子白板上进行第n手写操作的笔迹数据,第n本地序列号为第一电子白板在获取到第n笔迹数据后,生成的与第n笔迹数据对应的本地序列号。

需要说明的是,第n手写操作、第n笔迹数据、第n本地序列号在实施例一中已进行了相应的解释,此处不在赘述。

步骤s202:基于第n待同步数据包,生成第n同步信息。

具体的,从第n待同步数据包中提取与第n笔迹数据对应的第n本地序列号,基于第n本地序列号,生成第n同步信息。由于第n本地序列号是基于第n笔迹数据生成的,与第n笔迹数据成一一对应关系,因此,基于该对应关系,能够使第二电子白板基于第n本地序列号,成功从服务器中下载与第n本地序列号对应的第n待同步数据包。

步骤s203:将第n同步信息发送给第二电子白板,以使得第二电子白板基于第n同步信息从服务器中下载第n待同步数据包,并根据第n本地序列号对第n笔迹数据进行显示,n为正整数。

作为一种可选的实施例,在步骤s201之前,还包括:

接收第一电子白板发送的第n请求,第n请求用于向服务器获取第n服务器序列号;

基于第n请求,将第n服务器序列号发送给第一电子白板以使第一电子白板基于第n服务器序列号、第n本地序列号和第n笔迹数据,生成第n待同步数据包。对应的,步骤s201中接收的第n待同步数据包,还包含第n服务器序列号。

需要说明的是,服务器在接收到包含第n服务器序列号的第n待同步数据包后,以键值对key-value的方式将第n待同步数据包存储在redis数据库中,其中,key是第n服务器序列号,value是第n笔迹数据。采用redis数据库进行存储,能够维护数据的缓存队列,保证数据的时序性,有利于后续读取数据的快速性。

作为一种可选的实施例,步骤s202包括:

从第n待同步数据包提取第n服务器序列号;基于第n服务器序列号,生成第n同步信息。

实际应用中,由于第n服务器序列号是在获得第n笔迹数据后基于第n请求获得的,与第n笔迹数据成一一对应关系,因此,基于该对应关系,能够使第二电子白板基于第n服务器序列号,成功从服务器中下载与第n服务器序列号对应的第n待同步数据包。

本实施例中,相比于本地序列号,基于服务器序列号生成第n同步信息,具有如下优点:

第一、服务器序列号为服务器维护的序列号,其可能包含第一电子白板申请的序列号和其他电子白板申请的序列号,是一套针对多端统一分配的序列号,多端上传的待同步数据包携带的服务器序列号不会存在相同的情况,那么服务器只需基于该统一分配的不会相同的服务器序列号生成同步信息,即可统一管理多个上传端的数据同步消息,不用管理多套同步消息,管理简洁不易出错,占用系统资源少。如果基于本地序列号生成第n同步信息,由于来自不同电子白板的本地序列号可能存在相同的情况,那么服务器管理的第n同步信息可能包含相同的本地序列号,此时,为将不同来源对应的第n同步信息区分开,会加上标识进行区分,那么服务器管理将管理来源不同的多套第n同步消息,第n同步信息将变得复杂。

第二、服务器序列号所对应的待同步数据包按照服务器序列号分配时的特定规则顺序依次顺序存储在服务器的redis数据库中。基于服务器序列号生成第n同步信息,后续第二电子白板从第n同步信息中提取服务器序列号,以从服务器中请求下载相应的待同步数据包时,由于待同步数据包是按照服务器序列号顺序排列在redis数据库中的,因此,服务器能够快速定位并获取到待同步数据包。而本地序列号是第一电子白板自身管理的一套序列号,在待同步数据包上传到服务器的数据库中进行存储时,存储顺序不能保证,后续第二电子白板基于本地序列号请求下载相应的待同步数据包时,由于待同步数据包在数据库中的存储顺序无法保证,那么服务器基于本地序列号定位待同步数据包的速度将大大降低。同时,来自不同电子白板的待同步数据包携带的本地序列号可能存在相同的情况,此时,定位数据的过程如下:首先,需要基于标识区分待同步数据包的来源,然后再定位到该标识下该本地序列号所对应的待同步数据包,此过程多了标识区分的过程,显然将致使定位到待同步数据包的速度下降。

作为一种可选的实施例,第n待同步数据包中还包括:第一电子白板的第一标识。

具体的,针对上传数据的客户端为多个的情况,第一标识可以为网络端口标识、设备编号标识等具有唯一标示性的标识信息。对不同用户进行区分的第一标识可以为:与未提笔的连续书写操作相关的标识信息,即针对每一个未提笔的连续书写操作,视为同一用户的操作,第一电子白板生成一个与其唯一对应的标识信息。

本实施例中接收的第n待同步数据包包括第一标识,第一标识将不同客户端、同一客户端的不同用户上传的待同步数据包进行区分,以使作为接收端的第二电子白板从服务器中下载携带有第一标识的待同步数据包,并通过第一标识区分数据来源,对同一来源的数据进行显示和连线,避免对来源不同的数据进行连线显示,出现显示混乱的问题。

作为一种可选的实施例,在步骤s203后,还包括:

接收第二电子白板发送的数据请求信息,数据请求信息为第二电子白板在接收到服务器发送的第n同步信息后,基于第n同步信息生成的信息;

基于第二电子白板发送的数据请求信息,将第n待同步数据包及第m待同步数据包发送给第二电子白板;

其中,第m待同步数据包为服务器已经存有但第二电子白板未收到的待同步数据包,第m待同步数据包包括第m服务器序列号、第m本地序列号和第m笔迹数据,第m笔迹数据为第一用户在第一电子白板上进行第m手写操作的笔迹数据,第m本地序列号为第一电子白板在获取到第m笔迹数据后,生成的与第m笔迹数据对应的本地序列号,第一电子白板获取第m笔迹数据的时间早于获取第n笔迹数据的时间,第m服务器序列号为第一电子白板在获取到第m笔迹数据后,向服务器发送第m请求后所述服务器返回的服务器序列号,m为正整数。

具体的,数据请求信息包括第m服务器序列号及第n服务器序列号,和/或,第n服务器序列号及第二电子白板存储的已有服务器序列号,其中,已有服务器序列号为第二电子白板已从服务器中下载的待同步数据包对应的服务器序列号,其中,第m服务器序列号为位于第n服务器序列号与第二电子白板存储的已有服务器序列号之间的序列号;

基于第二电子白板发送的数据请求信息,将第n待同步数据包及第m待同步数据包发送给第二电子白板,具体包括:从数据请求信息中提取第m服务器序列号及第n服务器序列号,和/或,第n服务器序列号及第二电子白板存储的已有服务器序列号;基于提取得到的第m服务器序列号及第n服务器序列号,和/或,第n服务器序列号及第二电子白板存储的已有服务器序列号,从redis数据库中读取第n服务器序列号对应的第n待同步数据包以及第m服务器序列号对应的第m待同步数据包,将第n待同步数据包及第m待同步数据包发送给第二电子白板。

需要说明的是,第m待同步数据包可以包含一个或多个待同步数据包,第m手写操作,为第一用户在第m采集周期对第一电子白板对多个触点的触摸操作,第m笔迹数据为第m手写操作对应的多个触点所对应的触点数据,其中,当第一用户在第一电子白板书写时,以开始书写的时间点为起点、以采集周期为一个步长,第m采集周期为第m个步长所对应的采集周期。

申请人在长期的研究过程中,发现现有技术中存在如下问题:

由于公网网络不稳定的原因,第二电子白板可能会存在断网的情况,或者第二电子白板处于其他原因导致的离线状态,导致数据同步信息不能成功通知到第二电子白板,以致第二电子白板不能及时对笔迹数据进行更新,将会存在大量遗漏的待同步数据包。

为解决上述公网网络不稳定导致的数据同步信息不能成功通知到第二电子白板,以致第二电子白板不能及时对笔迹数据进行更新的问题,本申请设置了容错机制,支持读取历史数据。即只要第二电子白板发起携带有第n服务器序列号及第二电子白板存储的已有服务器序列号的数据请求信息,和/或,第n服务器序列号以及第m服务器序列号,服务器就能够识别出第m待同步数据包属于第二电子白板遗漏的待同步数据包,进而将第n待同步数据包及第m待同步数据包发送给第二电子白板。

作为一种可选的实施例,步骤s203,包括:

将所述第n同步信息发送给订阅服务器,并通过所述订阅服务器将所述第n同步信息转发送给所述第二电子白板,其中,所述订阅服务器通过消息队列遥测传输协议mqtt(messagequeuingtelemetrytransport,消息队列遥测传输协议)协议与所述第二电子白板交互。采用订阅服务器转发第n同步信息,能够分担服务器的负荷量。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

本申请中第一电子白板作为数据上传端,在上传第n笔迹数据之前,先向服务器申请代表第n笔迹数据输入时序的第n服务器序列号,将第n笔迹数据添加第n服务器序列号,生成第n待同步数据包上传给服务器;服务器在收到第n待同步数据包,发送第n同步信息给第二电子白板以通知第二电子白板获取第n待同步数据包;第二电子白板在收到第n同步信息后,基于第n同步信息从服务器中下载第n待同步数据包,基于第n待同步数据包中的第n服务器序列号对第n笔迹数据进行同步显示。本申请针对网络不稳定等原因导致的数据乱序问题,依照代表输入时序的第n服务器序列号,对第n笔迹数据进行同步显示,能够保证第n笔迹数据的输出时序和输入时序一致,从而解决了网络不稳定等原因导致的数据乱序问题。

实施例三

如图3所示,本实施例提供了一种数据同步方法,应用于第二电子白板中,第二电子白板具有和第一电子白板相同的功能,为了方便理解,本实施例中将第一电子白板作为数据的上传端,将第二电子白板作为数据的接收端进行叙述,第二电子白板作为数据的接收端,按照接收顺序将各输入数据进行输出,并对未提笔的连续书写的各输入数据,按照接收顺序进行依次连线,从而获取第一用户在第一电子白板上的手写操作。需要说明的是,实际应用过程中,第一电子白板和第二电子白板既可以为数据的上传端,也可以为数据的接收端,不进行限制。

所述方法包括:

步骤s301:接收服务器下发的第n同步信息。

步骤s302:基于第n同步信息,从服务器中下载第n待同步数据包,第n待同步数据包包含第n笔迹数据、第n本地序列号,所述第n笔迹数据为第一用户在第一电子白板上进行第n手写操作时所述第一电子白板获取到的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号。

具体的,从第n同步信息中提取第n本地序列号,基于第n本地序列号,从服务器中下载第n待同步数据包。由于第n本地序列号是基于第n笔迹数据生成的,与第n笔迹数据成一一对应关系,因此,基于该对应关系,第二电子白板能够基于第n本地序列号,成功从服务器中下载与第n本地序列号对应的第n待同步数据包。

步骤s303:从所述第n待同步数据包中提取所述第n笔迹数据及所述第n本地序列号。

需要说明的是,第二电子白板在获得了第n待同步数据包后,需要将对应的第n本地序列号添加到第二电子白板存储的已有本地序列号数表中,已有本地序列号数表中存储有已有本地序列号,已有本地序列号为第二电子白板已从服务器中下载的待同步数据包对应的本地序列号,原因如下:

申请在在长期的研究过程中,发现现有技术中存在如下问题:

由于公网网络不稳定的原因,第二电子白板可能会存在断网的情况,或者第二电子白板处于其他原因导致的离线状态,第二电子白板将收不到服务器发送的数据同步信息,导致第二电子白板不能及时对笔迹数据进行更新,将会存在大量遗漏的待同步数据包。

为确定第二电子白板是否存在大量遗漏的待同步数据包,本申请的第二电子白板在获得了第n笔迹数据后,需要将第n本地序列号添加到第二电子白板存储的已有本地序列号数表中,以便于后续第二电子白板在获取到其他待同步数据包对应的本地序列号后,和已有本地序列号数表存储的已有本地序列号作对比,以确定出是否存在遗漏的待同步数据包,若存在,就需要从服务器上下载遗漏的待同步数据包。

步骤s304:基于所述第n本地序列号,对所述第n笔迹数据进行显示,n为正整数。

申请人在长期的研究过程中,发现现有技术中还存在如下问题:

由于数据接收端在接收到数据时,是按照接收顺序进行接收和连线的,若第二电子白板由于网络的原因,在下载数据的过程中存在的数据乱序,将致使笔迹数据在显示端的输出时序和书写端的输入时序不一致。

下面通过举例对上述在下载数据的过程中存在的数据乱序的问题进行说明,以便于对该技术问题理解更透彻,具体如下:

电子白板a先后依次采集到笔迹数据a、笔迹数据b、笔迹数据c,并上传给服务器,笔迹数据a、笔迹数据b、笔迹数据c对应的笔迹为字母“v”(按照书写顺序,笔迹数据a对应左上方的点,笔迹数据b对应下方的转折点,笔迹数据c对应右上方的点),服务器依次将笔迹数据a的同步消息1、笔迹数据b的同步消息2、笔迹数据c的同步消息3发给电子白板b,电子白板b先后依次接收到了同步消息1、同步消息2、同步消息3、并先后通过数据同步信息1请求下载笔迹数据a、数据同步信息2请求下载笔迹数据b、数据同步信息3请求下载笔迹数据c、由于网络的原因,笔迹数据b在笔迹数据a之前到达电子白板b,那么,笔迹数据b、笔迹数据a、笔迹数据c在电子白板b呈现的为:笔迹数据b对应下方的转折点连接笔迹数据a对应左上方的点,笔迹数据a对应左上方的点再连接笔迹数据c对应右上方的点,致使笔迹数据的输出时序和输入时序不一致。这种情况是在发送了数据同步信息后下载数据的短时间过程中存在乱序的问题。

为解决上述问题,协议约定通信的第二电子白板和第一电子白板双方,本地序列号的分配规则一致,也就是说,该协议下通信的电子白板的本地序列号基于同一分配规则进行分配,并且通信各方均遵守此协议。本申请引入本地序列号,第一电子白板在上传数据时便添加了代表第n笔迹数据的输入时序的第n本地序列号,第二电子白板在收到第n本地序列号后,与本地存储的已有本地序列号进行比较,根据协议规定的本地序列号的分配规则,就能够清楚地获知短期内是否存在乱序的笔迹数据对应的本地序列号;若不存在,则直接将第n笔迹数据进行显示;若存在,则等待接收乱序的笔迹数据,获取到乱序的笔迹数据后,根据本地序列号的顺序进行排序显示。

由于本地序列号的分配规则顺序是各电子白板本地所维护的一套序列号,序列号是严格按照分配规则和顺序递增或递减的,因此,若第二电子白板与第一电子白板的本地序列号的分配规则一致,那么根据收到的第n本地序列号与本地存储的已有本地序列号,就能够清楚地获知短期内是否存在乱序的笔迹数据对应的本地序列号。

例如:第一电子白板的本地序列号的分配规则为:按照获得笔迹数据的顺序,每获得一个笔迹数据,为该笔迹数据生成一个对应的本地序列号,各本地序列号按照生成的顺序以设定步长依次递增,相邻的两个本地序列号之间间隔设定步长,设定步长可以根据需要进行设置,起始本地序列号为0。若第二电子白板本地存储的已有本地序列号为3,第n本地序列号为4,根据本地序列号的分配规则,知晓并不存在乱序的笔迹数据对应的本地序列号,直接对第n笔迹数据进行显示;若第二电子白板本地存储的已有本地序列号为2,第n本地序列号为4,那么,第二电子白板就能够获知本地序列号为3的第m笔迹数据未接收到,等待接收本地序列号为3的第m笔迹数据,当接收到第m笔迹数据后,依次将第n笔迹数据、第m笔迹数据进行显示。

需要说明的是,当存在多个上传端时,对笔迹数据的显示是基于本地序列号而不是服务器序列号,原因在于,当存在多个上传端时,由于服务器序列号是针对一个以上的电子白板的由服务器统一维护的一套序列号,针对同一电子白板上传的数据来说,对应的服务器序列号可能是不连续的。例如:针对电子白板a上传的笔迹数据a(本地序列号为1)、笔迹数据b(本地序列号为2)、笔迹数据c(本地序列号为3),笔迹数据a对应的服务器序列号为1,笔迹数据b对应的服务器序列号为3,笔迹数据c对应的服务器序列号为7,由于网络原因,笔迹数据c在笔迹数据b之前到达电子白板b,电子白板b最先收到了笔迹数据a,那么本地存储的已有服务器序列号为1,然后收到了笔迹数据c,此时,基于服务器序列号7和服务器序列号1,由于服务器序列号的无规律性,是不清楚存在哪些服务器序列号对应的笔迹数据未被下载的。

作为一种可选的实施例,第n同步信息包括第n服务器序列号,第n服务器序列号为第一电子白板在获取到第n笔迹数据后,向服务器发送第n请求后服务器返回的服务器序列号,步骤s302包括:

从第n同步信息中提取第n服务器序列号,第n服务器序列号为第一电子白板在获取到所述第n笔迹数据后,向服务器发送第n请求后服务器返回的服务器序列号;

基于第n服务器序列号,从服务器中下载第n待同步数据包,第n待同步数据包还包含第n服务器序列号。

实际应用中,由于第n服务器序列号是在获得第n笔迹数据后基于第n请求获得的,与第n笔迹数据成一一对应关系,因此,基于该对应关系,能够使第二电子白板基于第n服务器序列号,成功从服务器中下载与第n服务器序列号对应的第n待同步数据包。

本实施例中,相比于基于第n本地序列号,从服务器中下载第n待同步数据包的方式,从第n同步信息中提取第n服务器序列号,基于第n服务器序列号,从服务器中下载第n待同步数据包的方式,具有如下优点:

第一、由于服务器序列号为服务器维护的序列号,其可能包含第一电子白板申请的序列号和其他电子白板申请的序列号,是一套针对多端统一分配的序列号,多端上传的待同步数据包携带的服务器序列号不会存在相同的情况,那么,第二电子白板在获取到服务器序列号后,直接和已有服务器序列号数表中的已有服务器序列号进行比较,能够快速确定出需要下载的待同步数据包。如果基于本地序列号,由于来自不同电子白板的本地序列号可能存在相同的情况,那么,第二电子白板在获取到本地序列号后,根据本地序列号确定哪些是需要下载的待同步数据包时,首先需要根据标识区分本地序列号的来源,然后再将其与该标识对应的已有本地序列号数表中的已有本地序列号进行比较,确定该标识下需要下载的待同步数据包。此过程需要第二电子白板针对每一个标识的本地序列号均建立一个数表,并且确定需要下载的待同步数据包的过程也变得更加复杂。

第二、服务器序列号所对应的待同步数据包按照服务器序列号分配时的特定规则顺序依次顺序存储在服务器的redis数据库中,基于服务器序列号从服务器中下载待同步数据包时,服务器能够快速的定位并获取到待同步数据包,因此,下载数据的速度更快。如果基于本地序列号,由于本地序列号不是服务器所维护的序列号,待同步数据包的存储顺序不能保证,且来自不同电子白板的本地序列号可能存在相同的情况,那么基于本地序列号从服务器中下载待同步数据包时,下载的速度将大大降低。

作为一种可选的实施例,基于第n服务器序列号,从服务器中下载第n待同步数据包,包括:

基于第n服务器序列号和第二电子白板存储的已有服务器序列号,生成一数据请求信息,数据请求信息用于从服务器中下载第n待同步数据包及第m待同步数据包;

其中,所述第m待同步数据包为所述服务器已经存有但所述第二电子白板未收到的待同步数据包,所述第m待同步数据包包括第m服务器序列号、第m本地序列号和第m笔迹数据,所述第m笔迹数据为所述第一用户在所述第一电子白板上进行第m手写操作的笔迹数据,所述第m本地序列号为所述第一电子白板在获取到所述第m笔迹数据后,生成的与所述第m笔迹数据对应的本地序列号,所述第一电子白板获取所述第m笔迹数据的时间早于获取所述第n笔迹数据的时间,所述第m服务器序列号为所述第一电子白板在获取到所述第m笔迹数据后,向所述服务器发送第m请求后所述服务器返回的服务器序列号;第m服务器序列号为位于第n服务器序列号与第二电子白板存储的已有服务器序列号之间的序列号;

将所述数据请求信息发送给所述服务器;

接收所述服务器发送的所述第n待同步数据包及所述第m待同步数据包。

具体的,数据请求信息包括第m服务器序列号及第n服务器序列号,和/或,第n服务器序列号及第二电子白板存储的已有服务器序列号,其中,已有服务器序列号为第二电子白板已从服务器中下载的待同步数据包对应的服务器序列号,第m服务器序列号为位于第n服务器序列号与第二电子白板存储的已有服务器序列号之间的序列号,其中,

已有服务器序列号存储在第二电子白板的已有服务器序列号数表中,每当第二电子白板接收到待同步数据包后,需要将对应的服务器序列号添加到第二电子白板更新到的已有服务器序列号数表中,以便于后续第二电子白板在获取到其他待同步数据包对应的服务器序列号后,和已有服务器序列号数表存储的已有服务器序列号作对比,以确定出是否存在遗漏的待同步数据包,若存在,就需要从服务器上下载遗漏的待同步数据包。

申请人在长期的研究过程中,发现现有技术中存在如下问题:

由于公网网络不稳定的原因,第二电子白板可能会存在断网的情况,或者第二电子白板处于其他原因导致的离线状态,第二电子白板将收不到服务器发送的数据同步信息,导致第二电子白板不能及时对笔迹数据进行更新,将会存在大量遗漏的待同步数据包。

为解决上述公网网络不稳定导致第二电子白板存在大量遗漏的待同步数据包的问题,本申请设置了容错机制,支持读取历史数据,即用于下载待同步的数据请求消息不仅包含当前接收到的第n同步消息携带的第n服务器序列号,还包含第m服务器序列号,和/或第二电子白板存储的已有服务器序列号,用于下载第n待同步数据包及除第n待同步数据包外的第m待同步数据包。即使第二电子白板出现断网或者离线,当网络恢复正常或在线时,只要接收到最新的第n同步消息,第二电子白板就能够根据第n同步消息携带的第n服务器序列号和第二电子白板存储的已有服务器序列号,确定出第m待同步数据包属于遗漏的待同步数据包,进而基于数据请求信息,从服务器上下载除第n待同步数据包外的第m待同步数据包。

下面通过举例对本实施例进行详细地说明,具体如下:

电子白板a在收到服务器序列号为3的待同步数据包后断网了,断网的期间,服务器发布了同步消息a(携带有服务器序列号为4)、同步消息b(携带有服务器序列号为5)、同步消息c(携带有服务器序列号为6),电子白板a网络恢复后收到了服务器发布同步消息d(携带有服务器序列号为7),电子白板a只需基于同步消息d携带的服务器序列号7和存储的已有服务器序列号3,就可以确定服务器序列号为4、5、6对应的待同步数据包被遗漏,那么电子白板a将通过数据请求信息(携带服务器序列号4、5、6、7),从服务器中下载服务器序列号4、5、6、7对应的待同步数据包。

作为一种可选的实施例,第n待同步数据包还包括第一电子白板的第一标识;

步骤s303,具体包括:从第n待同步数据包中提取第n笔迹数据、第n本地序列号及第一标识;

步骤s304,具体包括:基于第n本地序列号及第一标识,对第n笔迹数据进行显示。

申请人在长期的研究过程中,发现现有技术中存在如下问题:

交互式教学场景中,上传数据的客户端可能为一个及一个以上的多个,对于同一客户端又可以支持多人同屏书写功能。对于不同的客户端、同一客户端的不同用户的数据,若不进行区分,后续第二电子白板在对这些来源不同的数据进行显示时,可能会存在将来源不同的两个数据之间进行连线,从而使得下载数据的客户端在显示数据时和上传数据的客户端输入的数据完全不同,出现显示混乱的问题。

为了解决上述显示混乱的问题,本实施例中,对于作为显示端的第二电子白板来说,尤其是在第二电子白板由于断网和离线而存在大量遗漏的待同步数据包时,当第二电子白板接收到携带有标识的多个待同步数据包需要显示时,首先基于标识将来源不同的待同步数据包进行区分,然后对具有同一标识的待同步数据包,基于本地序列号的顺序,对具有同一标识的笔迹数据进行排序显示,以避免多个第二电子白板对这些来源不同的数据进行连线,从而使得下载数据的客户端在显示数据时和上传数据的客户端输入的数据完全不同,出现显示混乱的问题。

需要说明的是,针对上传数据的客户端为多个的情况,第一标识可以为网络端口标识、设备编号标识等具有唯一标识性的标识信息。针对同一客户端的多个用户的情况,对不同用户进行区分的第一标识可以为:与未提笔的连续书写操作相关的标识信息,即针对每一个未提笔的连续书写操作,视为同一用户的操作,第一电子白板生成一个与其唯一对应的标识信息。

下面通过举例对本实施例进行详细地说明,具体如下:

电子白板c收到第n待同步数据包(本地序列号为1,标识为m,笔迹数据为a)、第m待同步数据包(本地序列号为3,标识为n,笔迹数据为b)、第三待同步数据包(本地序列号为2,标识为m,笔迹数据为c)、第四待同步数据包(本地序列号为4,标识为n,笔迹数据为d)。

针对上述接收到的待同步数据包,电子白板c首先从各个待同步数据包中提取标识、本地序列号、笔迹数据;

然后,基于标识m、n,将待同步显示的笔迹数据a、b、c、d分成两组,一组是来源于m的笔迹数据a、c,一组是来源于n的笔迹数据b、d;

对经过分组的每一组笔迹数据,按照本地序列号进行排序显示。针对来源于m的笔迹数据a、c,笔迹数据a对应的本地序列号为1,笔迹数据c对应的本地序列号为2,那么,笔迹数据a和笔迹数据c的显示顺序应该是笔迹数据a、笔迹数据c。针对来源于n的笔迹数据b、d,笔迹数据b对应的本地序列号为3,笔迹数据d对应的本地序列号为4,那么,笔迹数据b和笔迹数据d的显示顺序应该是笔迹数据b、笔迹数据d。而对于不同组的笔记数据,不会对其进行排序、连线、显示。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

本申请中第一电子白板作为数据上传端,在上传第n笔迹数据之前,先向服务器申请代表第n笔迹数据输入时序的第n服务器序列号,将第n笔迹数据添加第n服务器序列号,生成第n待同步数据包上传给服务器;服务器在收到第n待同步数据包,发送第n同步信息给第二电子白板以通知第二电子白板获取第n待同步数据包;第二电子白板在收到第n同步信息后,基于第n同步信息从服务器中下载第n待同步数据包,基于第n待同步数据包中的第n服务器序列号对第n笔迹数据进行同步显示。本申请针对公网不稳定等原因导致的数据乱序问题,依照代表输入时序的第n服务器序列号,对第n笔迹数据进行同步显示,能够保证第n笔迹数据的输出时序和输入时序一致,从而解决了网不稳定等原因导致的数据乱序问题。

实施例四

如图4所示,本实施例提供了一种交互式电子白板100,包括:触控显示屏110、通讯装置120、存储器130、处理器140及存储在所述存储器130上并可在所述处理器140上运行的计算机程序131,其特征在于,所述处理器140执行所述程序131时可以实现如下方法步骤:

当第一用户在所述第一电子白板上进行第n手写操作时,获得所述第n手写操作对应的第n笔迹数据;生成与所述第n笔迹数据对应的第n本地序列号;基于所述第n笔迹数据和所述第n本地序列号,生成第n待同步数据包;将所述第n待同步数据包发送给服务器,以使得所述服务器通知第二电子白板获取所述第n待同步数据包,并根据所述第n本地序列号对所述第n笔迹数据进行显示,n为正整数。

在具体实施过程中,处理器140执行程序131时,还可以实现实施例一中的任一方式步骤。

实施例五

如图5所示,本实施例提供了一种服务器200,包括:存储器210、通讯装置220、处理器230及存储在所述存储器210上并可在所述处理器230上运行的计算机程序211,所述处理器230执行所述程序211时可以实现如下方法步骤:

接收第一电子白板发送的第n待同步数据包,所述第n待同步数据包包含第n本地序列号和第n笔迹数据,所述第n笔迹数据为第一用户在所述第一电子白板上进行第n手写操作的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号;基于所述第n待同步数据包,生成第n同步信息;将所述第n同步信息发送给第二电子白板,以使得所述第二电子白板基于所述第n同步信息从所述服务器中下载所述第n待同步数据包,并根据所述第n本地序列号对所述第n笔迹数据进行显示,n为正整数。

在具体实施过程中,处理器230执行程序211时,还可以实现实施例二中的任一方法步骤。

实施例六

如图6所示,本实施例提供了一种交互式电子白板300,包括:触控显示屏310、通讯装置320、存储器330、处理器340及存储在所述存储器330上并可在所述处理器340上运行的计算机程序331,其特征在于,所述处理器340执行所述程序331时可以实现如下方法步骤:

接收服务器下发的第n同步信息;基于所述第n同步信息,从所述服务器中下载所述第n待同步数据包,所述第n待同步数据包包含所述第n笔迹数据、第n本地序列号,所述第n笔迹数据为第一用户在第一电子白板上进行第n手写操作时所述第一电子白板获取到的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号;从所述第n待同步数据包中提取所述第n笔迹数据及所述第n本地序列号;基于所述第n本地序列号,对所述第n笔迹数据进行显示,n为正整数。

在具体实施过程中,处理器340执行程序331时,还可以实现实施例三中的任一方式步骤。

实施例七

如图7所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现以下步骤:

当第一用户在所述第一电子白板上进行第n手写操作时,获得所述第n手写操作对应的第n笔迹数据;生成与所述第n笔迹数据对应的第n本地序列号;基于所述第n笔迹数据和所述第n本地序列号,生成第n待同步数据包;将所述第n待同步数据包发送给服务器,以使得所述服务器通知第二电子白板获取所述第n待同步数据包,并根据所述第n本地序列号对所述第n笔迹数据进行显示,n为正整数。

在具体实施过程中,该计算机程序411被处理器执行时,可以实现实施例一中的任一方法步骤。

实施例八

如图8所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现以下步骤:

接收第一电子白板发送的第n待同步数据包,所述第n待同步数据包包含第n本地序列号和第n笔迹数据,所述第n笔迹数据为第一用户在所述第一电子白板上进行第n手写操作的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号;基于所述第n待同步数据包,生成第n同步信息;将所述第n同步信息发送给第二电子白板,以使得所述第二电子白板基于所述第n同步信息从所述服务器中下载所述第n待同步数据包,并根据所述第n本地序列号对所述第n笔迹数据进行显示,n为正整数。

在具体实施过程中,该计算机程序511被处理器执行时,可以实现实施例二中的任一方法步骤。

实施例九

如图9所示,本实施例提供了一种计算机可读存储介质600,其上存储有计算机程序611,该计算机程序611被处理器执行时实现以下步骤:

接收服务器下发的第n同步信息;基于所述第n同步信息,从所述服务器中下载所述第n待同步数据包,所述第n待同步数据包包含所述第n笔迹数据、第n本地序列号,所述第n笔迹数据为第一用户在第一电子白板上进行第n手写操作时所述第一电子白板获取到的笔迹数据,所述第n本地序列号为所述第一电子白板在获取到所述第n笔迹数据后,生成的与所述第n笔迹数据对应的本地序列号;从所述第n待同步数据包中提取所述第n笔迹数据及所述第n本地序列号;基于所述第n本地序列号,对所述第n笔迹数据进行显示,n为正整数。

在具体实施过程中,该计算机程序611被处理器执行时,可以实现实施例三中的任一方法步骤。

实施例十

如图10所示,本实施例提供了一种交互式办公教学系统700,包括:如实施例四所述的交互式电子白板100;如实施例五所述的服务器200;如实施例所述的交互式电子白板300。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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