一种电子白板全网同步撤销和恢复的系统及其方法_2

文档序号:8475110阅读:来源:国知局
恢复数据也按照一般数据来处理,从而简化了电子白板客户端的处理。
【附图说明】
[0023]图1显示为本发明的电子白板系统的结构示意图;
[0024]图2显示为本发明的电子白板全网同步撤销和恢复的方法流程图;
[0025]图3显示为本发明中操作步骤队列和撤销恢复控制指针的结构示意图。
【具体实施方式】
[0026]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0027]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028]本发明的电子白板系统的结构如图1所示,包括若干电子白板服务器和若干电子白板客户端。其中,根据连接结构,电子白板服务器又分为root电子白板服务器和子电子白板服务器。具体地,root电子白板服务器下连接一个或多个子电子白板服务器或电子白板客户端,每个子电子白板服务器下连接一个或多个子电子白板服务器或电子白板客户端,从而构成多级树形结构。
[0029]电子白板服务器包含同步数据处理模块、撤销和恢复操作命令处理模块。同步数据处理模块包含数据接收模块、数据发送模块和数据同步模块。撤销和恢复操作命令处理模块包含撤销和恢复操作控制模块和撤销和恢复操作处理模块。电子白板客户端包含操作数据发送模块、操作数据接收处理模块。
[0030]在电子白板客户端进行全网同步撤销和恢复操作时,由root电子白板服务器作来完成整个系统中所有电子白板客户端中的同步撤销和恢复,其他子电子白板服务器进行撤销和恢复操作数据的上传和下达,而电子白板客户端不需要撤销和恢复相关的功能模块,只需要将撤销和恢复操作当做一般操作来处理,同时对接收到的从电子白板服务器发送过来的撤销和恢复数据也按照一般数据来处理。
[0031]参照图2,本发明的电子白板全网同步撤销和恢复的方法包括以下步骤:
[0032]步骤S1:电子白板服务器接收网络上传送来的电子白板数据,并判断该电子白板数据的来源;如果是来自父电子白板服务器的数据,则转入步骤S2 ;如果是来自电子白板客户端或者是其它子电子白板服务器的数据,则转入步骤S3 ;
[0033]具体地,电子白板服务器通过数据接收模块接收网络上传送来的电子白板数据,并判断其是来自本电子白板服务器所连接的电子白板客户端、其它子电子白板服务器,还是来自父电子白板服务器的数据。
[0034]步骤S2:将本电子白板服务器中的数据与父电子白板服务器数据保持一致,同时将电子白板数据转发给连接在本电子白板服务器的电子白板客户端和子电子白板服务器,最终使整个电子白板系统中所有的电子白板服务器和所有电子白板客户端的数据保持一致。
[0035]具体地,如果是来自父电子白板服务器的数据,则调用数据同步模块使得本电子白板服务器中的数据跟父电子白板服务器数据保持一致,同时调用数据发送模块将电子白板数据转发给连接在本电子白板服务器的电子白板客户端和子电子白板服务器,最终使所有的电子白板服务器和所有电子白板客户端的数据保持一致。
[0036]当电子白板数据来自父电子白板服务器时,该父电子白板服务器的电子白板数据必然来自其上一级的父电子白板服务器。以此类推,初始的电子白板数据即来自root电子白板服务器。当root电子白板服务器将数据转发下去时,连接在root电子白板服务器下的所有电子白板客户端跟root电子白板服务器保持数据一致,同时连接在root电子白板服务器下的所有子电子白板服务器也跟root电子白板服务器保持数据一致;而所有连接在root电子白板服务器下的子电子白板服务器又保证,连接在本子电子白板服务器下的所有电子白板客户端和所有子电子白板服务器保持数据与本子电子白板服务器一致。依此类推,就能保证所有的电子白板服务器和所有电子白板客户端的数据保持一致。
[0037]步骤S3:解析出电子白板数据中的撤销和恢复操作命令,并判断本电子白板服务器是否是root电子白板服务器;如果是root电子白板服务器,则由root电子白板服务器进行撤销和恢复操作处理;如果不是root电子白板服务器,则将撤销和恢复操作命令转发给本电子白板服务器的父电子白板服务器。父电子白板服务器再判断本电子白板服务器是否是root电子白板服务器;如果是root电子白板服务器,则由root电子白板服务器进行撤销和恢复操作处理;如果不是root电子白板服务器,则将撤销和恢复操作命令转发给本电子白板服务器的父电子白板服务器。依次类推,直到电子白板数据中的撤销和恢复操作命令传送到root电子白板服务器,由root电子白板服务器进行撤销和恢复操作处理。
[0038]具体地,如果是来自电子白板客户端或者是其它子电子白板服务器的数据,则解析出其中的撤销和恢复操作命令,并判断本电子白板服务器是否是root电子白板服务器。如果是root电子白板服务器,则调用撤销和恢复操作命令处理模块进行撤销和恢复操作处理;如果不是root电子白板服务器,则调用数据发送模块将撤销和恢复操作命令转发给本电子白板服务器的父电子白板服务器;然后再对当前父电子白板重复进行上述操作,直至将撤销和恢复操作命令传送到root电子白板服务器,最终由root电子白板服务器进行撤销和恢复操作处理。
[0039]其中,撤销和恢复操作命令处理模块中涉及所有用于撤销和恢复处理所需要的数据及相关数据结构。
[0040]在本发明的一个优选实施例中,在root电子白板服务器的数据结构中包括一个操作步骤队列和一个撤销恢复控制指针,如图3所示。此操作步骤队列的元素是一个电子白板对象链表头指针,电子白板对象链表中的每一个元素是一个电子白板对象数据,每个电子白板对象链表包含当前操作时的电子白板中所有电子白板对象数据。每一次添加、删除和修改电子白板对象表示进行了一次电子白板操作。每一次电子白板操作则添加一个操作步骤队列的元素到操作步骤队列的队尾;新添加的操作步骤队列元素即一个电子白板对象链表头指针,此指针指向新生成的电子白板对象链表。新生成的电子白板对象链表中包含的元素是对操作步骤队列的上一次队尾所指向的电子白板对象链表包含的元素,进行本次电子白板操作后得到的。
[0041]root电子白板服务器接收到一个撤销或恢复操作命令时,调用其上的撤销和恢复操作控制模块,在此模块中对撤销或恢复操作命令进行具体的控制。
[0042]若为撤销操作命令,在撤销和恢复操作控制模块中判断撤销恢复控制指针是否与操作步骤队列的头指针指向相同节点,若相同,则为无效撤销命令,不执行任何操作;若不同,则调用撤销和恢复操作处理模块。在撤销和恢复操作处理模块中将撤销恢复控制指针指向的电子白板对象链表与撤销恢复控制指针减一指向的电子白板对象链表中的元素逐个进行比较,分别找出撤销恢复控制指针指向的电子白板对象链表中被添加、删除和修改的链表元素,同时分别做逆向操作,即添加的链表元素进行删除、删除的链表元素进行添力口、修改的元素则使用撤销恢复控制指针减一指向的电子白板对象链表中对应的元素替换。逆向操作的链表元素内容即为需要撤销的电子白板对象数据。调用数据发送模块将所有逆向操作所得到的电子白板对象数据以一般的电子白板数据格式发送给所有连接在本电子白板服务器的电子白板客户端和子电子白板服务器,最后将撤销恢复指针减一。
[0043]若为恢复操作命令,在撤销和恢复操作控制模块中判断撤销恢复控制指针是否与操作控制队列的队尾指针指向相同节点,若相同,则为无效恢复命令,不执行任何操作;若不同,则调用撤销和恢复操作处理模块。在撤销和恢复操作处理模块
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1