CN105117382B - 一种文档协同方法及装置 - Google Patents

一种文档协同方法及装置 Download PDF

Info

Publication number
CN105117382B
CN105117382B CN201510542718.8A CN201510542718A CN105117382B CN 105117382 B CN105117382 B CN 105117382B CN 201510542718 A CN201510542718 A CN 201510542718A CN 105117382 B CN105117382 B CN 105117382B
Authority
CN
China
Prior art keywords
document
client
server
updating
mirror image
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
Application number
CN201510542718.8A
Other languages
English (en)
Other versions
CN105117382A (zh
Inventor
张宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510542718.8A priority Critical patent/CN105117382B/zh
Priority to PCT/CN2015/095366 priority patent/WO2017035961A1/zh
Publication of CN105117382A publication Critical patent/CN105117382A/zh
Application granted granted Critical
Publication of CN105117382B publication Critical patent/CN105117382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种文档协同方法及装置。一方面,本发明实施例通过接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;从而,根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。因此,本发明实施例提供的技术方案用以解决同一文档无法由多个用户同时编辑,导致文档协同效率比较低的问题。

Description

一种文档协同方法及装置
【技术领域】
本发明涉及互联网应用技术领域,尤其涉及一种文档协同方法及装置。
【背景技术】
随着互联网技术的发展,用户越来越多地接触互联网的Web业务。例如,在线实时办公、在线编辑文档等。随着Web业务的不断发展和用户需求的日益增加,出现了多人同时编辑在线文档的需求。然而,实现在线文档协同技术是一项非常复杂且极具挑战性的工作。
然而,现有技术中,基于基线文件实现在线文档协同技术,在客户端与服务器之间维护一个基线文档,通过版本合并实现文档协同。这种技术方案中,当多人同时编辑同一个文档时,用户的输入会因为各自与服务器维护的基线文档不一致而出现冲突,因此必须在一个用户编辑该文档,并将编辑信息合并到基线文档后,才能允许另一个用户编辑该文档,无法实现同一个文档由多个用户同时编辑,导致文档协同效率比较低。
【发明内容】
有鉴于此,本发明实施例提供了一种文档协同方法及装置,用以解决同一文档无法由多个用户同时编辑,导致文档协同效率比较低的问题。
本发明实施例的一方面,提供一种文档协同方法,包括:
接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;
根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;
所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新,包括:
根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新;
根据经过更新的所述第一镜像文档,对所述服务器文档进行更新;
根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据经过更新的所述第一镜像文档,对所述服务器文档进行更新,包括:
将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息;
根据所述第一更新信息,对所述服务器文档进行更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新,包括:
将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息;
根据所述第二更新信息,对所述第二镜像文档进行更新;
将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据针对第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新之前,所述方法还包括:获得并存储所述第一镜像文档和所述第二镜像文档。
本发明实施例的一方面,提供一种文档协同装置,包括:
接收单元,用于接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;
协同单元,用于根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;
所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述协同单元进一步包括:
第一更新模块,用于根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新;
第二更新模块,用于根据经过更新的所述第一镜像文档,对所述服务器文档进行更新;
第三更新模块,用于根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二更新模块,具体用于:
将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息;
根据所述第一更新信息,对所述服务器文档进行更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第三更新模块,具体用于:
将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息;
根据所述第二更新信息,对所述第二镜像文档进行更新;
将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:存储单元,用于获得并存储所述第一镜像文档和所述第二镜像文档。
由以上技术方案可以看出,本发明实施例具有以下有益效果:
本发明实施例提供的技术方案,利用第一镜像文档和第二镜像文档,将针对第一客户端的第一文档的编辑信息,同步到第二客户端的第二文档,实现文档协同技术。与现有技术中基于基线文本实现文档协同技术的方案相比,本发明实施例能够解决同一文档无法由多个用户同时编辑,导致文档协同效率比较低的问题,实现了同一文档可以由多个用户同时编辑,提高了文档协同效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的文档协同方法的流程示意图;
图2是本发明实施例所提供的文档协同方法的实施例的流程示例图;
图3是本发明实施例所提供的用户在线编辑文档的界面示例图;
图4是本发明实施例所提供的文档协同装置的功能方块图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述客户端,但这些客户端不应限于这些术语。这些术语仅用来将客户端彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一客户端也可以被称为第二客户端,类似地,第二客户端也可以被称为第一客户端。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本发明实施例给出一种文档协同方法,请参考图1,其为本发明实施例所提供的文档协同方法的流程示意图,如图所示,该方法包括以下步骤:
S101,接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息。
S102,根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
需要说明的是,S101~S102的执行主体可以为文档协同装置,该装置可以位于服务器端。
需要说明的是,本发明实施例中,所述第一文档以及所述第二文档可以为基于Web的文档,如在线的Word文档、在线的Excel文档等。
需要说明的是,本发明实施例中,所述服务器中维护的文档称为服务器文档,在所述第一客户端中打开的所述服务器文档称为所述第一客户端的第一文档,同理,在所述第二客户端中打开的所述服务器文档称为所述第二客户端的第二文档。
可选地,在本发明实施例的一个可能的实现方式中,若用户当前没有使用输入法,所述第一客户端采集针对所述第一客户端的第一文档的编辑信息。然后,所述第一客户端缓存所述针对所述第一客户端的第一文档的编辑信息。最后,当所述第一客户端与所述服务器之间的网络状态正常时,所述第一客户端向所述服务器发送缓存的所述针对所述第一客户端的第一文档的编辑信息。
在一个具体的实现过程中,请参考图2,其为本发明实施例所提供的文档协同方法的实施例的流程示例图,如图所示,当用户在第一客户端中编辑所述第一文档时,所述第一客户端每间隔一段时间,就检测用户是否正在使用输入法在所述第一文档中进行编辑,如果是,所述第一客户端先不采集用户针对所述第一客户端的第一文档的编辑信息,继续等待下一次检测。反之,如果不是,所述第一客户端采集用户针对所述第一客户端的第一文档的编辑信息。
例如,所述第一客户端可以每间隔2秒钟就进行一次检测。
可以理解的是,所述第一客户端的采集操作能够触发所述第一客户端访问服务器,因此,当检测到用户正在使用输入法在所述第一文档中进行编辑时,先不采集所述编辑信息,使得所述第一客户端每次采集所述编辑信息之间的间隔并不一定是相同的,从而降低了所述第一客户端访问服务器的频率,减少服务器的处理压力。
在一个具体的实现过程中,如图2所示,所述第一客户端采集用户针对所述第一客户端的第一文档的编辑信息后,先在本地的缓存区域内对该编辑信息进行缓存。
在一个具体的实现过程中,如图2所示,所述第一客户端在向所述缓存区域内存入用户针对第一客户端的第一文档的编辑信息后,可以检测所述第一客户端与所述服务器之间的网络状态。若网络状态正常,所述第一客户端将所述缓存区域内缓存的所述针对第一客户端的第一文档的编辑信息发送给所述服务器。反之,若网络状态异常,如网络中断或者不稳定,所述第一客户端不向所述服务器发送针对第一客户端的第一文档的编辑信息,但是可以继续向所述缓存区域内存入采集到的用户针对第一客户端的第一文档的编辑信息,即缓存区域内缓存的编辑信息可以持续保持自更新,直到所述第一客户端与所述服务器之间的网络状态正常。
在一个具体的实现过程中,所述第一客户端在将所述缓存区域中缓存的针对第一客户端的第一文档的编辑信息发送给所述服务器之后,若所述第一客户端接收到所述服务器返回的确认信息,则所述第一客户端获知所述服务器成功收到针对第一客户端的第一文档的编辑信息,则所述第一客户端清空所述缓存区域中缓存的编辑信息。
在一个具体的实现过程中,针对所述第一客户端的第一文档的编辑信息可以包括但不限于:输入的文本、删除的文本、选中的文本以及当前光标所在位置中至少一个。
可选地,在本发明实施例的一个可能的实现方式中,所述服务器预先获得并存储所述第一镜像文档以及所述第二镜像文档。
需要说明的是,所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述服务器与所述第一客户端之间关于所述第一文档的数据同步都需要利用所述第一镜像文档实现。同理,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档,所述服务器与所述第二客户端之间关于所述第二文档的数据同步都需要利用所述第二镜像文档实现。
举例说明,本发明实施例中,服务器根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新的方法可以包括但不限于:
如图2所示,首先,服务器根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新,以实现所述第一文档与所述第一镜像文档的同步。然后,服务器根据经过更新的所述第一镜像文档,对所述服务器文档进行更新,以实现将针对所述第一客户端的第一文档的编辑信息添加到所述服务器文档中。最后,服务器根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新,以实现将针对所述第一客户端的第一文档的编辑信息添加到所述第二镜像文档,以及实现所述第二镜像文档与所述第二文档的同步,这样,针对所述第一客户端的第一文档的编辑信息就可以在所述第二客户端的第二文档中展现。
在一个具体的实现过程中,所述根据经过更新的所述第一镜像文档,对所述服务器文档进行更新的方法可以包括但不限于:
服务器将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息。然后,服务器根据所述第一更新信息,对所述服务器文档进行更新。
如图2所示,在一个具体的实现过程中,所述根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新的方法可以包括但不限于:首先,将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息。然后,根据所述第二更新信息,对所述第二镜像文档进行更新。最后,将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
在一个具体的实现过程中,可以为所述第一镜像文档、所述服务器文档以及所述第二镜像文档分别配置对应的更新模块,这样,可以由相应的更新模块执行自身对应的镜像文档的同步操作。
例如,当所述服务器文档更新之后,所述服务器文档对应的更新模块向其他更新模块发送广播消息,用于告知所述服务器文档有更新。这样,第二镜像文档的更新模块就会收到该广播消息,然后将经过更新的所述服务器文档与所述第二镜像文档进行比较,获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息,进而根据所述第二更新信息,对第二镜像文档进行更新,并下发该第二更新信息给第二客户端,以实现第二镜像文档与所述第二客户端的第二文档之间的同步。
可以理解的是,本发明实施例中,来自第一客户端的第一文档的编辑信息,需要经过第一镜像文档才能同步到服务器文档,同理,服务器文档的更新信息需要经过第二镜像文档才能同步到第二客户端的第二文档。因此,不管是来自客户端的更新,还是来自服务器的更新,都需要经过镜像文档才能实现同步,实现将更新信息同步到客户端,或者将客户端发来的编辑信息同步到服务器,服务器通过相应的镜像文档与每个客户端之间的数据同步都是独立线程,线程之间不互相影响,即使某线程出现异常,也不会影响其他线程中的数据同步,不影响整个系统的数据同步。
现有技术中基于基线文档的在线文档协同技术中,如果正在编辑文档的用户的客户端与服务器之间的网络出现异常,将无法把编辑信息合并到基线文档,导致其他用户也不能编辑文档,需要等待网络恢复正常,将编辑信息合并到基线文档后,才能允许其他用户编辑文档。与该现有技术相比,本发明实施例所提供的上述技术方案,可以解决现有技术中无法同一个文档由多个用户同时编辑的问题,提高了文档协同效率。
例如,请参考图3,其为本发明实施例所提供的用户在线编辑文档的界面示例图,如图所示,可以在用户正在编辑的文档中展现其他用户“dengyulin”在该文档中选中的文本,即“本周”,还可以展现其他用户“张宁”在该文档中选中的文本,即“计划”。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
请参考图4,其为本发明实施例所提供的文档协同装置的功能方块图。如图所示,该装置包括:
接收单元41,用于接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;
协同单元42,用于根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;
所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
在一个具体的实现过程中,所述协同单元42进一步包括:
第一更新模块421,用于根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新;
第二更新模块422,用于根据经过更新的所述第一镜像文档,对所述服务器文档进行更新;
第三更新模块423,用于根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新。
在一个具体的实现过程中,所述第二更新模块422,具体用于:
将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息;
根据所述第一更新信息,对所述服务器文档进行更新。
在一个具体的实现过程中,所述第三更新模块423,具体用于:
将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息;
根据所述第二更新信息,对所述第二镜像文档进行更新;
将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
可选的,在本发明实施例的一个可能的实现方式中,所述装置还包括:存储单元43,用于获得并存储所述第一镜像文档和所述第二镜像文档。
由于本实施例中的各单元能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。
本发明实施例的技术方案具有以下有益效果:
本发明实施例中,通过接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息;从而,根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档。
本发明实施例提供的技术方案,利用第一镜像文档和第二镜像文档,将针对第一客户端的第一文档的编辑信息,同步到第二客户端的第二文档,实现文档协同技术。与现有技术中基于基线文本实现文档协同技术的方案相比,本发明实施例能够解决同一文档无法由多个用户同时编辑,导致文档协同效率比较低的问题,实现了同一文档可以由多个用户同时编辑,提高了文档协同效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种文档协同方法,其特征在于,所述方法包括:
接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息,其中所述第一客户端发送的针对所述第一客户端的第一文档的编辑信息缓存在所述第一客户端本地的缓存区域内,并向所述第一客户端返回确认信息,以用于所述第一客户端清空所述缓存区域内缓存的编辑信息;
根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;
所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档;
所述根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新,包括:
根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新;
根据经过更新的所述第一镜像文档,对所述服务器文档进行更新;
根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据经过更新的所述第一镜像文档,对所述服务器文档进行更新,包括:
将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息;
根据所述第一更新信息,对所述服务器文档进行更新。
3.根据权利要求1所述的方法,其特征在于,所述根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新,包括:
将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息;
根据所述第二更新信息,对所述第二镜像文档进行更新;
将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据针对第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新之前,所述方法还包括:获得并存储所述第一镜像文档和所述第二镜像文档。
5.一种文档协同装置,其特征在于,所述装置包括:
接收单元,用于接收第一客户端发送的针对所述第一客户端的第一文档的编辑信息,其中所述第一客户端发送的针对所述第一客户端的第一文档的编辑信息缓存在所述第一客户端本地的缓存区域内,并向所述第一客户端返回确认信息,以用于所述第一客户端清空所述缓存区域内缓存的编辑信息;
协同单元,用于根据针对所述第一客户端的第一文档的编辑信息、服务器文档、第一镜像文档以及第二镜像文档,对第二客户端的第二文档进行更新;
所述第一镜像文档为所述服务器文档针对的所述第一文档的镜像文档,所述第二镜像文档为所述服务器文档针对的所述第二文档的镜像文档;
所述协同单元进一步包括:
第一更新模块,用于根据针对所述第一客户端的第一文档的编辑信息,对所述第一镜像文档进行更新;
第二更新模块,用于根据经过更新的所述第一镜像文档,对所述服务器文档进行更新;
第三更新模块,用于根据经过更新的所述服务器文档,对所述第二镜像文档以及所述第二客户端的第二文档进行更新。
6.根据权利要求5所述的装置,其特征在于,所述第二更新模块,具体用于:
将经过更新的所述第一镜像文档与所述服务器文档进行比较,以获得经过更新的所述第一镜像文档相对于所述服务器文档的第一更新信息;
根据所述第一更新信息,对所述服务器文档进行更新。
7.根据权利要求5所述的装置,其特征在于,所述第三更新模块,具体用于:
将经过更新的所述服务器文档与所述第二镜像文档进行比较,以获得经过更新的所述服务器文档相对于所述第二镜像文档的第二更新信息;
根据所述第二更新信息,对所述第二镜像文档进行更新;
将所述第二更新信息发送给所述第二客户端,以便于所述第二客户端根据所述第二更新信息,对所述第二文档进行更新。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:存储单元,用于获得并存储所述第一镜像文档和所述第二镜像文档。
CN201510542718.8A 2015-08-28 2015-08-28 一种文档协同方法及装置 Active CN105117382B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510542718.8A CN105117382B (zh) 2015-08-28 2015-08-28 一种文档协同方法及装置
PCT/CN2015/095366 WO2017035961A1 (zh) 2015-08-28 2015-11-24 文档协同方法、装置、设备及非易失性计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510542718.8A CN105117382B (zh) 2015-08-28 2015-08-28 一种文档协同方法及装置

Publications (2)

Publication Number Publication Date
CN105117382A CN105117382A (zh) 2015-12-02
CN105117382B true CN105117382B (zh) 2020-04-28

Family

ID=54665376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510542718.8A Active CN105117382B (zh) 2015-08-28 2015-08-28 一种文档协同方法及装置

Country Status (2)

Country Link
CN (1) CN105117382B (zh)
WO (1) WO2017035961A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022721A (zh) * 2016-05-18 2016-10-12 吉林工程技术师范学院 编辑系统
CN106953924B (zh) * 2017-03-30 2021-05-07 腾讯科技(深圳)有限公司 一种共享信息的处理方法及共享客户端
CN108156239A (zh) * 2017-12-25 2018-06-12 青岛海信电器股份有限公司 一种协作式白板同步显示的方法及装置
CN110019279B (zh) * 2019-04-11 2020-12-04 北京字节跳动网络技术有限公司 在线文档的协同更新方法、装置、设备及存储介质
CN110968994B (zh) * 2019-10-20 2024-02-27 武汉烽火信息集成技术有限公司 一种文档在线编辑方法及服务器
CN112257391A (zh) * 2020-10-26 2021-01-22 苏宁云计算有限公司 在线文档提交方法、装置、计算机设备和存储介质
CN114997114A (zh) * 2021-03-01 2022-09-02 北京字跳网络技术有限公司 文档更新方法、装置、设备和介质
CN113468858B (zh) * 2021-07-21 2023-12-19 山谷网安科技股份有限公司 一种不依赖于客户端环境的office文件在线编辑的方法
CN114172890B (zh) * 2021-11-03 2024-02-27 阿里巴巴(中国)有限公司 文件秒传处理方法、装置、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331685B1 (ko) * 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
JP2007328489A (ja) * 2006-06-07 2007-12-20 Fuji Xerox Co Ltd 文書管理装置及びプログラム
CN101315621B (zh) * 2007-05-29 2010-10-06 北京书生国际信息技术有限公司 一种实现文档共享编辑的方法
GB2464948A (en) * 2008-10-29 2010-05-05 Quolos Limited Online collaboration
WO2012061297A1 (en) * 2010-11-02 2012-05-10 Google Inc. Realtime synchronized document editing by multiple users for blogging
CN102262620B (zh) * 2011-08-04 2014-11-26 无锡永中软件有限公司 一种文档协作方法

Also Published As

Publication number Publication date
CN105117382A (zh) 2015-12-02
WO2017035961A1 (zh) 2017-03-09

Similar Documents

Publication Publication Date Title
CN105117382B (zh) 一种文档协同方法及装置
US10412184B2 (en) System and method for displaying contextual activity streams
JP5855222B2 (ja) 同期デジタルコンテンツ
US20180365254A1 (en) Method and apparatus for processing information flow data
CN113254466B (zh) 一种数据处理方法、装置、电子设备和存储介质
US20190394157A1 (en) Modification of delivered email content
CN107656937B (zh) 用于实现读写数据一致性的方法和装置
US20160156502A1 (en) Message Broker System with Parallel Persistence
US20140149489A1 (en) On-demand session upgrade in a coordination service
CN108712457A (zh) 基于Nginx反向代理的后端服务器动态负载调整方法及装置
CN103281798A (zh) 一种实现修改同步的方法、装置及系统
US10033737B2 (en) System and method for cross-cloud identity matching
CN111639132B (zh) 日志同步方法及设备
CN111625552A (zh) 数据收集方法、装置、设备和可读存储介质
CN104111957A (zh) 一种分布式事务同步的方法及系统
CN106993015A (zh) 交易的同步方法、系统及证券服务器
CN106708879B (zh) 业务数据的处理方法和装置
CN114020819A (zh) 一种多系统参数同步方法及装置
CN110661851A (zh) 数据交换方法和装置
CN107168642B (zh) 一种数据存储方法及系统
CN110958287A (zh) 操作对象数据同步方法、装置及系统
EP2690560B1 (en) Method of benchmarking the behaviour of a replacement information system with the old system
US11145004B2 (en) Network-based synchronization system and method
KR102031589B1 (ko) 관계 체인 처리 방법 및 시스템, 그리고 저장 매체
CN115104295A (zh) 数据处理方法、装置、电子装置及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant