一种文档协同方法及装置的制造方法_3

文档序号:9396848阅读:来源:国知局
过更新的所述第一镜像文档,对所述服务器文档进行更新,以实现将针对所述第一客户端的第一文档的编辑信息添加到所述服务器文档中。最后,服务器根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新,以实现将针对所述第一客户端的第一文档的编辑信息添加到所述第二镜像文档,以及实现所述第二镜像文档与所述第二文档的同步,这样,针对所述第一客户端的第一文档的编辑信息就可以在所述第二客户端的第二文档中展现。
[0068]在一个具体的实现过程中,所述根据经过更新的所述第一镜像文档,对所述服务器文档进行更新的方法可以包括但不限于:
[0069]服务器将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息。然后,服务器根据所述第一更新信息,对所述服务器文档进行更新。
[0070]如图2所示,在一个具体的实现过程中,所述根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新的方法可以包括但不限于:首先,将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息。然后,根据所述第二更新信息,对所述第二镜像文档进行更新。最后,将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
[0071]在一个具体的实现过程中,可以为所述第一镜像文档、所述服务器文档以及所述第二镜像文档分别配置对应的更新模块,这样,可以由相应的更新模块执行自身对应的镜像文档的同步操作。
[0072]例如,当所述服务器文档更新之后,所述服务器文档对应的更新模块向其他更新模块发送广播消息,用于告知所述服务器文档有更新。这样,第二镜像文档的更新模块就会收到该广播消息,然后将经过更新的所述服务器文档与所述第二镜像文档进行比较,获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息,进而根据所述第二更新信息,对第二镜像文档进行更新,并下发该第二更新信息给第二客户端,以实现第二镜像文档与所述第二客户端的第二文档之间的同步。
[0073]可以理解的是,本发明实施例中,来自第一客户端的第一文档的编辑信息,需要经过第一镜像文档才能同步到服务器文档,同理,服务器文档的更新信息需要经过第二镜像文档才能同步到第二客户端的第二文档。因此,不管是来自客户端的更新,还是来自服务器的更新,都需要经过镜像文档才能实现同步,实现将更新信息同步到客户端,或者将客户端发来的编辑信息同步到服务器,服务器通过相应的镜像文档与每个客户端之间的数据同步都是独立线程,线程之间不互相影响,即使某线程出现异常,也不会影响其他线程中的数据同步,不影响整个系统的数据同步。
[0074]现有技术中基于基线文档的在线文档协同技术中,如果正在编辑文档的用户的客户端与服务器之间的网络出现异常,将无法把编辑信息合并到基线文档,导致其他用户也不能编辑文档,需要等待网络恢复正常,将编辑信息合并到基线文档后,才能允许其他用户编辑文档。与该现有技术相比,本发明实施例所提供的上述技术方案,可以解决现有技术中无法同一个文档由多个用户同时编辑的问题,提高了文档协同效率。
[0075]例如,请参考图3,其为本发明实施例所提供的用户在线编辑文档的界面示例图,如图所示,可以在用户正在编辑的文档中展现其他用户“dengyulin”在该文档中选中的文本,即“本周”,还可以展现其他用户“张宁”在该文档中选中的文本,即“计划”。
[0076]本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
[0077]请参考图4,其为本发明实施例所提供的文档协同装置的功能方块图。如图所示,该装置包括:
[0078]接收单元41,用于接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;
[0079]协同单元42,用于根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;
[0080]所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
[0081]在一个具体的实现过程中,所述协同单元42进一步包括:
[0082]第一更新模块421,用于根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新;
[0083]第二更新模块422,用于根据经过更新的所述第一镜像文档,对所述服务器文档进行更新;
[0084]第三更新模块423,用于根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新。
[0085]在一个具体的实现过程中,所述第二更新模块422,具体用于:
[0086]将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息;
[0087]根据所述第一更新信息,对所述服务器文档进行更新。
[0088]在一个具体的实现过程中,所述第三更新模块423,具体用于:
[0089]将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息;
[0090]根据所述第二更新信息,对所述第二镜像文档进行更新;
[0091]将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
[0092]可选的,在本发明实施例的一个可能的实现方式中,所述装置还包括:存储单元43,用于获得并存储所述第一镜像文档和所述第二镜像文档。
[0093]由于本实施例中的各单元能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。
[0094]本发明实施例的技术方案具有以下有益效果:
[0095]本发明实施例中,通过接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;从而,根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
[0096]本发明实施例提供的技术方案,利用第一镜像文档和第二镜像文档,将针对第一客户端的第一文档的编辑信息,同步到第二客户端的第二文档,实现文档协同技术。与现有技术中基于基线文本实现文档协同技术的方案相比,本发明实施例能够解决同一文档无法由多个用户同时编辑,导致文档协同效率比较低的问题,实现了同一文档可以由多个用户同时编辑,提高了文档协同
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1