一种电子白板全网同步撤销和恢复的系统及其方法
【技术领域】
[0001]本发明涉及一种电子白板的技术领域,特别是涉及一种电子白板全网同步撤销和恢复的系统及其方法。
【背景技术】
[0002]电子白板是一种汇集了尖端电子技术、软件技术等多种高科技手段的高新技术产品。结合计算机和投影机,电子白板可以实现无纸化办公及教学,它可以象普通白板或教学黑板一样直接用笔书写,然后输到电脑里去,相对于投影机、普通白板等,电子白板具有自身独特的优点。
[0003]交互式电子白板可以与电脑进行信息通讯,将电子白板连接到计算机,并利用投影机将计算机上的内容投影到电子白板屏幕上。在专门的应用程序的支持下,可以构造一个大屏幕、交互式的协作会议或教学环境,从而可以在电子白板上直接对文件进行编辑、注释、保存等在计算机上可以实现的任何操作。目前,远程互动电子白板系统可广泛应用于多媒体网络会议、远程医疗、军事讲解指挥、车辆调度、教学、演讲、电子商务、工作汇报、产品展示会、培训、科研、工程、项目设计、证券评述、娱乐与演播、体育、地图、气象、天文、交互式简报、宾馆酒店、大中专院校、中小学的电化教学等需要远近程沟通的场所。
[0004]在远程互动电子白板的运用中,对于已添加到电子白板中的错误操作,需要进行撤销操作。此时就需要使用撤销功能,而现有的电子白板的撤销处理过程都是通过本地撤销完成。远程互动式电子白板作为现在和将来白板的发展趋势,电子白板的撤销和恢复也需要进行互动处理,从而达到全网同步的效果。而现有的电子白板的撤销和恢复都是基于客户端的电子白板进行的。
【发明内容】
[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种电子白板全网同步撤销和恢复的系统及其方法,以服务器作为撤销操作的数据来源,来完成整个网络中所有电子白板中错误操作的同步撤销,而电子白板客户端就不需要撤销和恢复相关的功能模块,只需要将撤销和恢复操作当做一般操作来处理,同时对接收到的从电子白板服务器发送过来的撤销和恢复数据也以一般数据来处理。
[0006]为实现上述目的及其他相关目的,本发明提供一种电子白板全网同步撤销和恢复的系统,包括root电子白板服务器、若干子电子白板服务器和若干电子白板客户端;其中,所述root电子白板服务器下连接一个或多个所述子电子白板服务器或所述电子白板客户端,每个所述子电子白板服务器下连接一个或多个所述子电子白板服务器或所述电子白板客户端,从而构成多级树形结构;所述电子白板服务器包含同步数据处理模块、撤销和恢复操作命令处理模块;所述同步数据处理模块包含数据接收模块、数据发送模块和数据同步模块;所述撤销和恢复操作命令处理模块包含撤销和恢复操作控制模块和撤销和恢复操作处理模块;所述电子白板客户端包含操作数据发送模块、操作数据接收处理模块;在电子白板客户端进行全网同步撤销和恢复操作时,由所述root电子白板服务器完成整个系统中所有电子白板的撤销和恢复操作的数据统一控制和管理,其他子电子白板服务器进行撤销和恢复操作数据的上传和下达;而所述电子白板客户端只需要将撤销和恢复操作当做一般操作来处理,同时对接收到的从电子白板服务器发送过来的撤销和恢复数据也按照一般数据来处理。
[0007]根据上述的电子白板全网同步撤销和恢复的系统,其中:所述root电子白板服务器的数据结构中包括一个操作步骤队列和一个撤销恢复控制指针;所述操作步骤队列的元素是一个电子白板对象链表头指针,电子白板对象链表中的每一个元素是一个电子白板对象数据,每个电子白板对象链表包含当前操作时的电子白板中所有电子白板对象数据。
[0008]进一步地,根据上述的电子白板全网同步撤销和恢复的系统,其中:每一次添加、删除和修改电子白板对象表示进行了一次电子白板操作;每一次电子白板操作则添加一个操作步骤队列的元素到操作步骤队列的队尾;新生成的电子白板对象链表中包含的元素是对操作步骤队列的上一次队尾所指向的电子白板对象链表包含的元素,进行本次电子白板操作后得到的
[0009]同时,本发明还提供一种如上述的电子白板全网同步撤销和恢复的系统的撤销和恢复方法,其包括以下步骤:
[0010]步骤S1:电子白板服务器接收网络上传送来的电子白板数据,并判断该电子白板数据的来源;如果是来自父电子白板服务器的数据,则转入步骤S2 ;如果是来自电子白板客户端或者是其它子电子白板服务器的数据,则转入步骤S3 ;
[0011]步骤S2:将本电子白板服务器中的数据与父电子白板服务器数据保持一致,同时将电子白板数据转发给连接在本电子白板服务器的电子白板客户端和子电子白板服务器,最终使整个电子白板系统中所有的电子白板服务器和所有电子白板客户端的数据保持一致;
[0012]步骤S3:解析出电子白板数据中的撤销和恢复操作命令,并判断本电子白板服务器是否是root电子白板服务器;
[0013]如果是root电子白板服务器,则由root电子白板服务器进行撤销和恢复操作处理;
[0014]如果不是root电子白板服务器,则将撤销和恢复操作命令转发给本电子白板服务器的父电子白板服务器;然后对所述父电子白板服务器重新进行上述判断,直至将电子白板数据中的撤销和恢复操作命令传送到root电子白板服务器,由root电子白板服务器进行撤销和恢复操作处理。
[0015]根据上述的电子白板全网同步撤销和恢复的方法,其中:所述root电子白板服务器的数据结构中包括一个操作步骤队列和一个撤销恢复控制指针;所述操作步骤队列的元素是一个电子白板对象链表头指针,电子白板对象链表中的每一个元素是一个电子白板对象数据,每个电子白板对象链表包含当前操作时的电子白板中所有电子白板对象数据。
[0016]进一步地,根据上述的电子白板全网同步撤销和恢复的方法,其中:步骤S3中,若进行撤销操作,则判断撤销恢复控制指针是否与操作步骤队列的头指针指向相同节点,若相同,则为无效撤销命令,不执行任何操作;若不同,则调用撤销和恢复操作处理模块进行撤销操作。
[0017]更进一步地,根据上述的电子白板全网同步撤销和恢复的方法,其中:在进行撤销操作时,将撤销恢复控制指针指向的电子白板对象链表与撤销恢复控制指针减一指向的电子白板对象链表中的元素逐个进行比较,分别找出撤销恢复控制指针指向的电子白板对象链表中被添加、删除和修改的链表元素,同时分别做逆向操作,即添加的链表元素进行删除、删除的链表元素进行添加、修改的元素则使用撤销恢复控制指针减一指向的电子白板对象链表中对应的元素替换;将所有逆向操作所得到的电子白板对象数据发送给所有连接在本电子白板服务器的电子白板客户端和子电子白板服务器,最后将撤销恢复指针减一。
[0018]进一步地,根据上述的电子白板全网同步撤销和恢复的方法,其中:步骤S3中,若进行恢复操作,在撤销和恢复操作控制模块中判断撤销恢复控制指针是否与操作控制队列的队尾指针指向相同节点,若相同,则为无效恢复命令,不执行任何操作;若不同,则调用撤销和恢复操作处理模块进行恢复操作。
[0019]更进一步地,在进行恢复操作时,将撤销恢复控制指针指向电子白板对象链表与撤销恢复控制指针加一指向电子白板对象链表中的元素逐个进行比较,分别找出撤销恢复控制指针加一指向的电子白板对象链表中添加、删除和修改的链表元素;将所有找出的电子白板对象数据发送给所有连接在本电子白板服务器的电子白板客户端和子电子白板服务器,最后将撤销恢复指针加一。
[0020]如上所述,本发明的电子白板全网同步撤销和恢复的系统及其方法,具有以下有益效果:
[0021](I)由root电子白板服务器完成整个系统中所有电子白板的撤销和恢复操作的数据统一控制和管理,其他子电子白板服务器进行撤销和恢复操作数据的上传和下达;
[0022](2)电子白板客户端不需要撤销和恢复相关的功能模块,只需要将撤销和恢复操作当做一般操作来处理,同时对接收到的从电子白板服务器发送过来的撤销和