CN107451108B - 一种协同编辑文档的方法和*** - Google Patents
一种协同编辑文档的方法和*** Download PDFInfo
- Publication number
- CN107451108B CN107451108B CN201710442854.9A CN201710442854A CN107451108B CN 107451108 B CN107451108 B CN 107451108B CN 201710442854 A CN201710442854 A CN 201710442854A CN 107451108 B CN107451108 B CN 107451108B
- Authority
- CN
- China
- Prior art keywords
- document
- current
- cloud
- version number
- local
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000001360 synchronised effect Effects 0.000 claims abstract description 44
- 150000001875 compounds Chemical class 0.000 abstract description 10
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000002131 composite material Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种协同编辑文档的方法,包括:将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值;根据编辑指令完成对本地的所述文档中对应位置元素的编辑;同步当前本地的所述文档和当前云端的所述文档时,将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素。本发明还提供了一种协同编辑文档的***。本发明能允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率。
Description
技术领域
本发明涉及文档编辑领域,尤其涉及一种协同编辑文档的方法和***。
背景技术
目前多人协作编辑同一份复合文档时,只有第一个打开文档的人拥有写权限,后面打开的人只有只读权限,无法进行编辑。即无法多人同时进行编辑,极大降低了协同效率。
发明内容
本发明实施例提供一种协同编辑文档的方法和***,能允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率。
本发明实施例提供了一种协同编辑文档的方法,包括:
将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值;
根据编辑指令完成对本地的所述文档中对应位置元素的编辑;
同步当前本地的所述文档和当前云端的所述文档时,将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素。
与现有技术相比,本发明实施例公开的一种协同编辑文档的方法通过将储存于云端的文档下载至本地,并备份本地的所述文档的元素的哈希值;完成对本地的所述文档中对应位置元素的编辑后,同步当前本地的所述文档和当前云端的所述文档时,通过对比当前本地的所述文档的元素的哈希值与对应的备份哈希值是否发生变化,确定当前本地文档中哈希值发生变化的元素为第一同步元素,即确定本地的文档中有被编辑过的元素;最后将所述第一同步元素发送至云端,使云端将当前的所述文档中的对应位置的元素替换为所述第一同步元素的技术方案,将本地编辑的内容更新至云端时,基于哈希值的比对,确定本地文档中有被编辑过的元素,并只将本地有进行编辑的元素发送云端,当多端对云端进行协同编辑时,能保留云端之前被其它客户端修改的元素,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
进一步的,所述同步当前本地的所述文档和当前云端的所述文档时还包括:
将当前云端的所述文档中无需被替换为所述第一同步元素的元素的哈希值与对应的所述备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的所述文档中的所述第二同步元素;
将本地的所述文档中与所述第二同步元素对应位置的元素替换为所述第二同步元素。
作为进一步改进方案,基于与备份哈希值的对比,确定云端的文档的元素中除被第一同步元素替换的元素外其它发生变化的元素,即第二同步元素,将本地文档中对应位置的元素替换为第二同步元素,从而实现将云端文档被其它客户端所修改的内容同步回本地的文档。
本发明实施例还提供一种协同编辑文档的方法,包括:
将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
根据编辑指令完成对本地的所述文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,本地的所述文档每一次完成编辑后所更新的版本号不重复;
同步当前本地的所述文档和当前云端的所述文档时,若所述备份版本号不等于当前本地的所述文档的版本号,则,
将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素。
与现有技术相比,本发明实施例公开的一种协同编辑文档的方法通过将储存于云端的文档下载至本地,并获得对应备份哈希值和备份版本号;然后完成对本地的所述文档中对应位置元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号;在同步当前本地的所述文档和当前云端的所述文档时,先通过若对比当前本地的所述文档的版本号不同于所述备份版本号,此时说明本地的文档有被编辑,则进一步基于与备份哈希值的对比,确定当前本地文档中哈希值有发生变化的元素为第一同步元素,即确定本地的文档中有被编辑过的元素;最后将第一同步元素发送至云端以使云端替换文档中的对应位置的元素,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
进一步的,所述若所述备份版本号不等于当前本地的所述文档的版本号还包括:
将当前云端的所述文档中无需被替换为所述第一同步元素的元素的哈希值与对应的所述备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的所述文档中的所述第二同步元素;
将本地的所述文档中与所述第二同步元素对应位置的元素替换为所述第二同步元素。
进一步的,所述同步当前本地的所述文档和当前云端的所述文档时还包括:
若所述备份版本号等于当前本地的所述文档的版本号且不等于当前云端的所述文档的版本号,则获取当前云端的所述文档,并将当前本地的文档替换为所述获取的当前云端的文档;其中,云端的所述文档每同步一次所更新的版本号不重复。
作为本发明实施例的进一步方案,若所述备份版本号等于当前本地的所述文档的版本号且不等于当前云端的所述文档,则说明在当次的同步中,本地的文档没有修改,而当前云端的文档被修改,则可以直接将本地的文档替换为当前云端的文档。
进一步的,所述一种协同编辑文档的方法还包括:
同步当前本地的所述文档和当前云端的所述文档后,获取当前云端的所述文档的版本号,将当前本地的所述文档的版本号替换为所述获取的当前云端的文档的版本号;并,
重新备份所述当前本地的所述文档元素的哈希值,以更新所述备份哈希值;以及重新备份所述当前本地的所述文档的版本号,以更新所述备份版本号。
本发明实施例还提供一种协同编辑文档的方法,包括:
将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
根据编辑指令完成对所述本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,所述本地的文档每一次完成编辑后所更新的版本号不重复;
同步当前本地的所述文档和当前云端的所述文档时,若所述备份版本号同时不等于当前本地的所述文档的版本号和当前云端的所述文档的版本号,则,
将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
若所述备份版本号不等于当前本地的所述文档的版本号且等于当前云端的所述文档的版本号,则将当前本地的所述文档发送至所述云端,以用于所述云端将当前云端的所述文档替换为当前本地的所述文档;其中,当前云端的所述文档每同步一次所更新的版本号不重复。
与现有技术相比,本发明实施例公开的一种协同编辑文档的方法通过将储存于云端的文档下载至本地,并获得备份版本号和哈希值;然后完成对本地的所述文档的编辑,并在完成编辑后更新版本号;在同步当前本地的文档和当前云端的文档时,当对比所述备份版本号不等于当前本地的文档的版本号而等于云端的文档的版本号,则直接将当前本地的文档发送至云端以替换云端的文档;当备份版本号同时不等于当前本地的文档的版本号和当前云端的文档的版本号,则确定当前本地文档中有发生变化的元素为第一同步元素,最后将第一同步元素发送至云端使云端替换文档中的对应位置的技术方案,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
进一步的,所述若所述备份版本号同时不等于当前本地的所述文档的版本号和当前云端的所述文档的版本号还包括:
将当前云端的所述文档中无需被替换为所述第一同步元素的元素的哈希值与对应的所述备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的所述文档中的所述第二同步元素;
将本地的所述文档中与所述第二同步元素对应位置的元素替换为所述第二同步元素。
进一步的,所述同步当前本地的所述文档和当前云端的所述文档时还包括:
若所述备份版本号等于当前本地的所述文档的版本号且不等于当前云端的所述文档的版本号,则获取当前云端的所述文档,并将当前本地的文档替换为所述获取的当前云端的文档。
进一步的,所述一种协同编辑文档的方法还包括:
同步当前本地的所述文档和当前云端的所述文档后,获取当前云端的所述文档的版本号,将当前本地的所述文档的版本号替换为所述获取当前云端的文档的版本号;并,
重新备份所述当前本地的所述文档的元素的哈希值,以更新所述备份哈希值;以及重新备份所述当前本地的所述文档的版本号,以更新所述备份版本号。
本发明实施例还提供一种协同编辑文档的***,包括:
第一本地文档获取单元,用于将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值;
第一编辑单元,用于根据编辑指令完成对本地的所述文档中对应位置元素的编辑;
第一同步单元,用于同步当前本地的所述文档和当前云端的所述文档;所述第一同步单元包括:
第一元素替换模块,用于将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素。
与现有技术相比,本发明实施例公开的一种协同编辑文档的***通过第一本地文档获取单元将云端的文档下载至本地,并获得备份哈希值;然后通过第一编辑单元完成对本地的文档中的编辑;通过第一同步单元同步当前本地的所述文档和当前云端的所述文档,通过第一元素替换模块确定当前本地文档中有发生变化的元素为第一同步元素,并将所述第一同步元素发送至云端以使云端替换当前的所述文档中的对应位置的元素的技术方案,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
本发明实施例还提供一种协同编辑文档的***,包括:
第二本地文档获取单元,用于将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
第二编辑单元,用于根据编辑指令完成对本地的所述文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,本地的所述文档每一次完成编辑后所更新的版本号不重复;
第二同步单元,用于同步当前本地的所述文档和当前云端的所述文档,所述第二同步单元包括:
第二版本号比较模块,用于若所述备份版本号不等于当前本地的所述文档的版本号,则启动第二元素替换模块;
第二元素替换模块,用于将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素。
与现有技术相比,本发明实施例公开的协同编辑文档的***通过本地文档获取单元将云端的文档下载至本地,并获得备份哈希值;然后通过第二编辑单元完成对本地的文档编辑;然后通过第二同步单元同步当前本地的所述文档和当前云端的所述文档,具体,通过第二版本号比较模块若对比所述备份版本号不等于当前本地的所述文档的版本号,则启动第二元素替换模块;最后通过第二元素替换模块确定当前本地文档中发生变化的元素为第一同步元素,最后将所述第一同步元素发送至云端以替换云端的文档中的对应位置的元素的技术方案,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
本发明实施例还提供一种协同编辑文档的***,包括:
第三本地文档获取单元,用于将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
第三编辑单元,用于根据编辑指令完成对所述本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,所述本地的文档每一次完成编辑后所更新的版本号不重复;
第三同步单元,用于同步当前本地的所述文档和当前云端的所述文档,其中,当前云端的所述文档每同步一次所更新的版本号不重复;所述第三同步单元包括:
第三版本号比较模块,用于若所述备份版本号同时不等于当前本地的所述文档的版本号和当前云端的所述文档的版本号,则启动第三元素替换模块;若所述备份版本号不等于当前本地的所述文档的版本号且等于当前云端的所述文档,则启动第三文档替换模块;
第三元素替换模块,用于将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
第三文档替换模块,用于将当前本地的所述文档发送至所述云端,使所述云端将当前云端的所述文档替换为当前本地的所述文档。
与现有技术相比,本发明实施例公开的一种协同编辑文档的***通过第三本地文档获取单元将云端的文档下载至本地,并获得备份版本号和哈希值;然后通过第三编辑单元完成对本地的文档中的编辑;然后通过第三同步单元同步当前本地的所述文档和当前云端的所述文档,具体,通过版本号比较模块判断:若所述备份版本号同时不等于当前本地的所述文档的版本号和当前云端的所述文档的版本号,则启动第三元素替换模块;若所述备份版本号不等于当前本地的所述文档的版本号且等于当前云端的所述文档,则启动第三文档替换模块;然后通过第三元素替换模块确定当前本地文档中有发生变化的元素为第一同步元素;将所述第一同步元素发送云端以替换云端文档中的对应位置的元素;通过第三文档替换模块将当前本地的所述文档发送至云端,以替换当前云端的所述文档的技术方案,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
附图说明
图1是本发明实施例1提供的一种协同编辑文档方法的流程示意图;
图2是本发明实施例2提供的一种协同编辑文档方法的流程示意图;
图3是本发明实施例3提供的一种协同编辑文档方法的流程示意图;
图4是本发明实施例4提供的一种协同编辑文档***的结构示意图;
图5是本发明实施例5提供的一种协同编辑文档***的结构示意图;
图6是本发明实施例6提供的一种协同编辑文档***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例1提供的一种协同编辑文档方法的流程示意图,本实施例包括以下步骤:
S11、将储存于云端的文档下载至本地,并将备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值;
S12、根据编辑指令完成对本地的文档中对应位置元素的编辑;
S13、同步当前本地的文档和当前云端的文档时,将当前本地的文档的元素中哈希值与对应的备份哈希值相比发生变化的元素确定为第一同步元素,并将第一同步元素发送至云端,使云端将当前云端的文档对应位置的元素替换为第一同步元素。
哈希值是用来计算元素的唯一状态,元素的实际哈希值类似复杂无序的数值,如“0ca175b9c0f726a831d895e269332461”;当元素的某个属性值发生变化时,哈希值会随之改变,所以可以通过哈希值是否发生变化来判断元素是否发生变化。所以本发明实施例在从云端下载文档至本地时,先备份本地的文档的元素的哈希值,通过比较文档的哈希值与备份哈希值是否相同,从而确定文档的元素是否有发生变化。
在本实施例的步骤S13中的同步过程中,通过对比哈希值,确定本地的文档发生变化的元素为被编辑过的元素,即第一同步元素;将第一同步元素对应发送至云端替换云端的文档中对应的元素,从而使云端的文档只需更新第一同步元素所对应位置的元素。当多端同时编辑时,能实现各自客户端同步的内容,即实现协同编辑。
步骤S13还可以包括:
将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的文档中的第二同步元素;
将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
优选,步骤S13中,若本地和云端各自的文档的元素的哈希值分别与对应的备份哈希值比较均无发生变化,则无需进行任何操作即可完成同步。
优选,本实施例在完成步骤S13后,进一步的,可以将完成同步的当前本地的文档的元素的哈希值再次进行备份,便于用户下次同步操作。
具体实施时,本实施例先将储存于云端的文档下载至本地,并获得元素的备份哈希值;然后编辑本地的文档;接着同步当前本地的文档和当前云端的文档,具体先确定当前本地文档中有发生变化的元素为第一同步元素,并将第一同步元素发送至云端以使云端替换文档中的对应位置的元素,其次,基于与备份哈希值的比较,确定云端的文档的元素中除被替换为第一同步元素的其它元素中发生变化的元素为第二同步元素,并将本地的文档中对应位置的元素替换为第二同步元素。
本实施例将本地编辑的内容更新至云端时,由于只将本地有进行编辑的元素发送云端,当多端对云端进行协同编辑时,能保留云端之前被其它客户端修改的元素,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
参见图2,图2是本发明实施例2提供的一种协同编辑文档方法的流程示意图。与实施例1相比,本实施例2在进行元素的哈希值比较前还包括先对文档的版本号进行比较。具体,本实施例2包括步骤:
S21、将储存于云端的文档下载至本地,并备份下载至本地的文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的文档的版本号,获得备份版本号;
S22、根据编辑指令完成对本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的文档的版本号,其中,本地的文档每一次完成编辑后所更新的版本号不重复;
S23、同步当前本地的文档和当前云端的文档时,若备份版本号不等于当前本地的文档的版本号,则执行步骤S24;
S24、将当前本地的文档的元素中哈希值与对应的备份哈希值相比发生变化的元素确定为第一同步元素,并将第一同步元素发送至云端,使云端将当前云端的文档对应位置的元素替换为第一同步元素。
其中,步骤S21中,下载至本地的文档保留了云端的文档的版本号,对应也备份了本地的文档的版本号。即下载时,本地的文档的版本号、备份版本号以及云端的文档的版本号此时均相同。
步骤S22完成编辑后更新当前本地的文档的版本号,以用于步骤S23根据与备份版本号比较是否相同来判断当前的本地的文档是否有发生更新。
进一步的,步骤S24还包括:
将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的文档中的第二同步元素;
将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
优选的,步骤S23还可以包括:若备份版本号等于当前本地的文档的版本号且不等于当前云端的文档的版本号,则执行步骤S25:
S25、获取当前云端的文档,并将当前本地的文档替换为获取的当前云端的文档;其中,云端的文档每同步一次所更新的版本号不重复。
当步骤S23判断备份版本号等于当前本地的文档的版本号但不等于当前云端的文档,则说明在当次的同步中,本地的文档没有修改,而当前云端的文档被修改,所以采用步骤S25直接将本地的文档替换为当前云端的文档。
通常,对比两份文档的元素哈希值的工作量远远大于比较两份文档的版本号,与实施例1相比,本实施例在执行同步时,先通过步骤S23的基于版本号进行对比,若判断本地有修改,再通过步骤S24的元素哈希值比较同步更新的元素;若判断本地无修改而云端有修改,则通过步骤S25直接将本地的文档替换为当前云端的文档;大大了减少工作量。
优选的,步骤S23中,若备份版本号均等于当前本地的文档的版本号和当前云端的文档的版本号,则说明此时当前本地的文档的版本号和当前云端的文档均无被编辑,无需进行其它操作。
通过步骤S24或步骤S25完成同步当前本地的文档和当前云端的文档后,还可以包括步骤S26:
S26、获取当前云端的文档的版本号,将当前本地的文档的版本号替换为获取的当前云端的文档的版本号;并,
重新备份当前本地的文档元素的哈希值,以更新备份哈希值;以及重新备份当前本地的文档的版本号,以更新备份版本号。
优选,本实施例的版本号可以采用递增式序号,如数字“1”、“2”、“3”、“4”……,每次更新版本号时在原版本号的基础上加1获得新的版本号。
具体实施时,本实施例先将储存于云端的文档下载至本地,并获得备份哈希值和备份版本号;然后编辑本地的文档;接着同步当前本地的文档和当前云端的文档:在当前本地的文档的版本号不同于备份版本号时,通过先确定当前本地文档中哈希值相比于备份哈希值有发生变化的元素为第一同步元素,并将第一同步元素发送至云端以使云端替换文档中的对应位置的元素;其次,云端的文档中除了需被替换为第一同步元素的元素外的其它元素中,哈希值相比于备份哈希值有变化的元素为第二同步元素,并将本地的文档中对应位置的元素替换为第二同步元素;在备份版本号等于当前本地的文档的版本号且不等于当前云端的文档时,将当前本地的文档替换为获取的当前云端的文档;上述同步完成后,将当前本地的文档的版本号替换为当前云端的文档的版本号,并更新备份哈希值和备份版本号。
本实施例实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率,且同步效率高。
参见图3,图3是本发明实施例3提供的一种协同编辑文档方法的流程示意图,与实施例2相比,本实施例3在文档版本号的比较中当备份版本号同时不等于当前本地的文档的版本号和当前云端的文档的版本号时,执行元素的哈希值比较以替换对应元素,当备份版本号不等于当前本地的文档的版本号且等于当前云端的文档时,直接执行文档替换。具体,本实施例3包括以下步骤:
S31、将储存于云端的文档下载至本地,并备份下载至本地的文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的文档的版本号,获得备份版本号;
S32、根据编辑指令完成对本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的文档的版本号,其中,本地的文档每一次完成编辑后所更新的版本号不重复;
S33、同步当前本地的文档和当前云端的文档时,若备份版本号同时不等于当前本地的文档的版本号和当前云端的文档的版本号,则执行步骤S34;若备份版本号不等于当前本地的文档的版本号且等于当前云端的文档,则执行步骤S35;其中,当前云端的文档每同步一次所更新的版本号不重复;
S34、将当前本地的文档的元素中哈希值与对应的备份哈希值相比发生变化的元素确定为第一同步元素,并将第一同步元素发送至云端,使云端将当前云端的文档对应位置的元素替换为第一同步元素。
S35、则将当前本地的文档发送至云端,以用于云端将当前云端的文档替换为当前本地的文档。
步骤S32完成编辑后更新当前本地的文档的版本号,以用于步骤S33根据备份版本号来判断当前的本地的文档是否有发生更新。
进一步的,步骤S34还可以包括:
将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的文档中的第二同步元素;
将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
进一步的,步骤S33还可以包括:若备份版本号等于当前本地的文档的版本号且不等于当前云端的文档,则执行步骤S36:
S36、获取当前云端的文档,并将当前本地的文档替换为获取的当前云端的文档。
当步骤S33判断备份版本号等于当前本地的文档的版本号且不等于当前云端的文档,则说明在当次的同步中,本地的文档没有修改,而当前云端的文档被修改,所以采用步骤S36直接将本地的文档替换为当前云端的文档。
通常,对比两份文档的元素的工作量大于比较两份文档的版本号,所以先基于版本号进行对比,若判断本地和云端文档均有修改,为了合并两者的修改内容,则通过步骤S34的元素比较从而确定云端文档需要更新的元素;若判断只有本地文档或只有云端文档有修改,则对应通过步骤S35或通过步骤S36进行文档的替换即可。通过本实施例先基于版本号的判断确定需要对应执行的更新操作,在本地和云端两端均修改了文档的内容下执行元素的对比来更新对应的元素,工作量小,且实现协同编辑的目的。
通过步骤S34,或步骤S35,或步骤S36完成同步当前本地的文档和当前云端的文档后,还可以包括步骤S37:
S37、同步当前本地的文档和当前云端的文档后,获取当前云端的文档的版本号,将当前本地的文档的版本号替换为的获取当前云端的文档的版本号;并,重新备份当前本地的文档的元素的哈希值,以更新备份哈希值;以及重新备份当前本地的文档的版本号。
优选,本实施例的版本号可以采用递增式序号,如数字“1”、“2”、“3”、“4”……,每次更新版本号时在原版本号的基础上加1获得新的版本号。
具体实施时,本实施例先将储存于云端的文档下载至本地,并获得备份哈希值和备份版本号;然后编辑本地的文档;接着同步当前本地的文档和当前云端的文档:在备份版本号同时不等于当前本地的文档的版本号和当前云端的文档的版本号时,通过先确定当前本地文档中哈希值相比于备份哈希值有发生变化的元素为第一同步元素,并将第一同步元素发送至云端以使云端替换文档中的对应位置的元素;其次,云端的文档中除了需被替换为第一同步元素的元素外的其它元素中,哈希值相比于备份哈希值有变化的元素为第二同步元素,并将本地的文档中对应位置的元素替换为第二同步元素;在备份版本号不等于当前本地的文档的版本号且等于当前云端的文档的版本号,则将当前本地的文档发送至云端,以使当前云端的文档替换为当前本地的文档;在备份版本号等于当前本地文档的版本号但不等于当前云端文档的版本号时,获得当前云端的文档以将当前本地的文档替换为当前云端的文档;上述同步完成后,将当前本地的文档的版本号替换为当前云端的文档的版本号,并更新备份哈希值和备份版本号。
本实施例实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率,且同步效率高。
参见图4,图4是本发明实施例4提供的一种协同编辑文档***的结构示意图,本实施例具体包括:
第一本地文档获取单元11,用于将储存于云端的文档下载至本地,并备份下载至本地的文档的每一元素的哈希值,获得对应的备份哈希值;
第一编辑单元12,根据编辑指令完成对本地的文档中对应位置元素的编辑;
第一同步单元13,用于同步当前本地的文档和当前云端的文档;同步单元3包括:
第一元素替换模块132,用于将当前本地的文档的元素中哈希值与对应的备份哈希值相比发生变化的元素确定为第一同步元素,并将第一同步元素发送至云端,使云端将当前云端的文档对应位置的元素替换为第一同步元素。
进一步的,第一元素替换模块132还可以用于:
将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的文档中的第二同步元素;
将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
优选,第一同步单元13若本地和云端各自的文档的元素的哈希值分别与备份哈希值相比均无发生变化,则无需进行任何操作即可完成同步。
进一步的,通过第一同步单元13完成同步后,本实施例还可以包括了第一备份更新单元14,用于将完成同步后的当前本地的文档再次进行备份,以更新备份哈希值。
具体实施时,本实施例先通过第一本地文档获取单元11将储存于云端的文档下载至本地,并备份元素的哈希值;然后通过第一编辑单元12然后编辑本地的文档;接着通过第一同步单元13同步当前本地的文档和云端的文档时,由第一元素替换模块132先对比当前本地的文档中元素的哈希值和备份哈希值,确定当前本地文档中有发生变化的元素为第一同步元素,并将第一同步元素发送至云端以使云端替换文档中的对应位置的元素,其次,确定云端的文档中除了被替换为第一同步元素的元素外的其它有发生变化的元素为第二同步元素,并将本地的文档中的对应位置的元素替换为云端的文档中的第二同步元素。
本实施例将本地编辑的内容更新至云端时,由于只将本地有进行编辑的元素发送云端,当多端对云端进行协同编辑时,能保留云端之前被其它客户端修改的元素,实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率的技术效果。
参见图5,图5是本发明实施例5提供的一种协同编辑文档***的结构示意图,本实施例具体包括:
第二本地文档获取单元21,用于将储存于云端的文档下载至本地,并备份下载至本地的文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的文档的版本号,获得备份版本号;
第二编辑单元22,用于根据编辑指令完成对本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的文档的版本号,其中,本地的文档每一次完成编辑后所更新的版本号不重复;
第二同步单元23,用于同步当前本地的文档和当前云端的文档时,第二同步单元23包括:
第二版本号比较模块231,用于若备份版本号不等于当前本地的文档的版本号,则启动第二元素替换模块232;
第二元素替换模块232,用于将当前本地的文档的元素中哈希值与对应的备份哈希值相比发生变化的元素确定为第一同步元素,并将第一同步元素发送至云端,使云端将当前云端的文档对应位置的元素替换为第一同步元素。
通过第二编辑单元22完成编辑后更新当前本地的文档的版本号,用于同步单元23根据备份版本号来判断当前的本地的文档是否有发生更新。
进一步的,第二元素替换模块232还可以用于:
将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的文档中的第二同步元素;
将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
优选的,第二同步单元23还可以包括第二文档替换模块234;第二版本号比较模块231还用于若备份版本号等于当前本地的文档的版本号且不等于当前云端的文档,则启动第二文档替换模块234;
第二文档替换模块234,用于获取当前云端的文档,并将当前本地的文档替换为获取的当前云端的文档;其中,云端的文档每同步一次所更新的版本号不重复。
当通过第二同步单元23的第二版本号比较模块231判断备份版本号等于当前本地的文档的版本号且不等于当前云端的文档,则说明在当次的同步中,本地的文档没有修改,而当前云端的文档被修改,所以采用通过第二文档替换模块234直接将本地的文档替换为当前云端的文档。
优选的,通过第二版本号比较模块231若判断备份版本号均等于当前本地的文档的版本号和当前云端的文档,则说明此时当前本地的文档的版本号和当前云端的文档均无被编辑,无需进行其它操作。
进一步的,通过第二同步单元23完成同步后,本实施例还可以包括第二备份更新单元24,第二备份更新单元24用于获取当前云端的文档的版本号,将当前本地的文档的版本号替换为的获取当前云端的文档的版本号;并,
重新备份当前本地的文档元素的哈希值,以更新备份哈希值;以及重新备份当前本地的文档的版本号,以更新备份版本号。
优选,本实施例的版本号可以采用递增式序号,如数字“1”、“2”、“3”、“4”……,每次更新版本号时在原版本号的基础上加1获得新的版本号。
具体实施时,本实施例先通过第二本地文档获取单元21将储存于云端的文档下载至本地,并获得备份哈希值和备份版本号;然后通过第二编辑单元22编辑本地的文档;接着通过第二同步单元23同步当前本地的文档和当前云端的文档时,先由第二版本号比较模块231在对比当前本地的文档的版本号不同于备份版本号时,启动第二元素替换模块232;在备份版本号等于当前本地的文档的版本号且不等于当前云端的文档,则启动第二文档替换模块234;然后通过第二元素替换模块232、或第二文档替换模块234执行相应的同步操作;完成同步后,通过第二备份更新单元24以更新备份版本号和备份哈希值。
本实施例实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率,且同步效率高。
参见图6,图6是本发明实施例6提供的一种协同编辑文档***的结构示意图,本实施例具体包括:
第三本地文档获取单元31,用于将储存于云端的文档下载至本地,并备份下载至本地的文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的文档的版本号,获得备份版本号;
第三编辑单元32,用于根据编辑指令完成对本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的文档的版本号,其中,本地的文档每一次完成编辑后所更新的版本号不重复;
第三同步单元33,用于同步当前本地的文档和当前云端的文档,其中,当前云端的文档每同步一次所更新的版本号不重复;第三同步单元33包括:
第三版本号比较模块331,用于若备份版本号同时不等于当前本地的文档的版本号和当前云端的文档的版本号,则启动第三元素替换模块332;若备份版本号不等于当前本地的文档的版本号且等于当前云端的文档,则启动第三文档替换模块333;
第三元素替换模块332,用于将当前本地的文档的元素中哈希值与对应的备份哈希值相比发生变化的元素确定为第一同步元素,并将第一同步元素发送至云端,使云端将当前云端的文档对应位置的元素替换为第一同步元素。
第三文档替换模块333,用于将当前本地的文档发送至云端,使云端将当前云端的文档替换为当前本地的文档。
通过第三编辑单元32完成编辑后更新当前本地的文档的版本号,用于第三同步单元3根据备份版本号来判断当前的本地的文档是否有发生更新。
进一步的,第三元素替换模块332还可以用于:
将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的文档中的第二同步元素;
将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
优选的,第三同步单元33还可以包括第四文档替换模块334;版本号比较模块331还可以用于若备份版本号等于当前本地的文档的版本号且不等于当前云端的文档,则启动第四文档替换模块334;
第四文档替换模块334,用于获取当前云端的文档,并将当前本地的文档替换为获取的当前云端的文档。
优选的,通过第三版本号比较模块331若判断备份版本号均等于当前本地的文档的版本号和当前云端的文档,则说明此时当前本地的文档的版本号和当前云端的文档均无被编辑,无需进行其它操作。
进一步的,通过第三同步单元33完成同步后,本实施例还可以包括第三备份更新单元34,第三备份更新单元34用于获取当前云端的文档的版本号,将当前本地的文档的版本号替换为的获取当前云端的文档的版本号;并,重新备份当前本地的文档的元素的哈希值,以更新备份哈希值;以及重新备份当前本地的文档的版本号。
优选,本实施例的版本号可以采用递增式序号,如数字“1”、“2”、“3”、“4”……,每次更新版本号时在原版本号的基础上加1获得新的版本号。
具体实施时,本实施例先通过第三本地文档获取单元31将储存于云端的文档下载至本地,并获得备份版本号和备份哈希值;然后通过第三编辑单元32编辑本地的文档;接着通过第三同步单元33同步当前本地的文档和当前云端的文档时,先由第三版本号比较模块331在备份版本号均不等于当前本地的文档的版本号和云端的第一版本号时,启动第三元素替换模块332;在备份版本号不等于当前本地的文档的版本号而等于当前云端的文档,则启动第三文档替换模块33;在备份版本号等于当前本地的文档的版本号而不等于当前云端的文档,则启动第四文档替换模块334;然后通过第三元素替换模块332、或第三文档替换模块333、或第四文档替换模块334执行相应的同步操作;完成同步后,通过第三备份更新单元34更新备份版本号和备份哈希值。
本实施例实现了允许多人同时编辑一份复合文档,极大提高了多人协同编辑的效率,且同步效率高。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种协同编辑文档的方法,其特征在于,包括:
将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值;
根据编辑指令完成对本地的所述文档中对应位置元素的编辑;
同步当前本地的所述文档和当前云端的所述文档时,将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
所述同步当前本地的所述文档和当前云端的所述文档时还包括:
将当前云端的所述文档中无需被替换为所述第一同步元素的元素的哈希值与对应的所述备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的所述文档中的所述第二同步元素;
将本地的所述文档中与所述第二同步元素对应位置的元素替换为所述第二同步元素。
2.一种协同编辑文档的方法,其特征在于,包括:
将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
根据编辑指令完成对本地的所述文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,本地的所述文档每一次完成编辑后所更新的版本号不重复;
同步当前本地的所述文档和当前云端的所述文档时,若所述备份版本号不等于当前本地的所述文档的版本号,则,
将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
将当前云端的所述文档中无需被替换为所述第一同步元素的元素的哈希值与对应的所述备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的所述文档中的所述第二同步元素;
将本地的所述文档中与所述第二同步元素对应位置的元素替换为所述第二同步元素。
3.如权利要求2所述的一种协同编辑文档的方法,其特征在于,所述同步当前本地的所述文档和当前云端的所述文档时还包括:
若所述备份版本号等于当前本地的所述文档的版本号且不等于当前云端的所述文档的版本号,则获取当前云端的所述文档,并将当前本地的文档替换为所述获取的当前云端的文档;其中,云端的所述文档每同步一次所更新的版本号不重复。
4.如权利要求3所述的一种协同编辑文档的方法,其特征在于,所述一种协同编辑文档的方法还包括:
同步当前本地的所述文档和当前云端的所述文档后,获取当前云端的所述文档的版本号,将当前本地的所述文档的版本号替换为所述获取的当前云端的文档的版本号;并,
重新备份所述当前本地的所述文档元素的哈希值,以更新所述备份哈希值;以及重新备份所述当前本地的所述文档的版本号,以更新所述备份版本号。
5.一种协同编辑文档的方法,其特征在于,包括:
将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
根据编辑指令完成对所述本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,所述本地的文档每一次完成编辑后所更新的版本号不重复;
同步当前本地的所述文档和当前云端的所述文档时,若所述备份版本号同时不等于当前本地的所述文档的版本号和当前云端的所述文档的版本号,则,
将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
将当前云端的所述文档中无需被替换为所述第一同步元素的元素的哈希值与对应的所述备份哈希值相比有发生变化的元素确定为第二同步元素;
获取当前云端的所述文档中的所述第二同步元素;
将本地的所述文档中与所述第二同步元素对应位置的元素替换为所述第二同步元素;
若所述备份版本号不等于当前本地的所述文档的版本号且等于当前云端的所述文档的版本号,则将当前本地的所述文档发送至所述云端,以用于所述云端将当前云端的所述文档替换为当前本地的所述文档;其中,当前云端的所述文档每同步一次所更新的版本号不重复。
6.如权利要求5所述的一种协同编辑文档的方法,其特征在于,所述同步当前本地的所述文档和当前云端的所述文档时还包括:
若所述备份版本号等于当前本地的所述文档的版本号且不等于当前云端的所述文档的版本号,则获取当前云端的所述文档,并将当前本地的文档替换为所述获取的当前云端的文档。
7.如权利要求6所述的一种协同编辑文档的方法,其特征在于,所述一种协同编辑文档的方法还包括:
同步当前本地的所述文档和当前云端的所述文档后,获取当前云端的所述文档的版本号,将当前本地的所述文档的版本号替换为所述获取当前云端的文档的版本号;并,
重新备份所述当前本地的所述文档的元素的哈希值,以更新所述备份哈希值;以及重新备份所述当前本地的所述文档的版本号,以更新所述备份版本号。
8.一种协同编辑文档的***,其特征在于,包括:
第一本地文档获取单元,用于将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值;
第一编辑单元,用于根据编辑指令完成对本地的所述文档中对应位置元素的编辑;
第一同步单元,用于同步当前本地的所述文档和当前云端的所述文档;所述第一同步单元包括:
第一元素替换模块,用于将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
所述第一元素替换模块,还用于将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;获取当前云端的文档中的第二同步元素;将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
9.一种协同编辑文档的***,其特征在于,包括:
第二本地文档获取单元,用于将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
第二编辑单元,用于根据编辑指令完成对本地的所述文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,本地的所述文档每一次完成编辑后所更新的版本号不重复;
第二同步单元,用于同步当前本地的所述文档和当前云端的所述文档,所述第二同步单元包括:
第二版本号比较模块,用于若所述备份版本号不等于当前本地的所述文档的版本号,则启动第二元素替换模块;
第二元素替换模块,用于将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
所述第二元素替换模块,还用于将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;获取当前云端的文档中的第二同步元素;将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
10.一种协同编辑文档的***,其特征在于,包括:
第三本地文档获取单元,用于将储存于云端的文档下载至本地,并备份下载至本地的所述文档的每一元素的哈希值,获得对应的备份哈希值,以及备份下载至本地的所述文档的版本号,获得备份版本号;
第三编辑单元,用于根据编辑指令完成对所述本地的文档中对应位置的元素的编辑,并在完成编辑后更新当前本地的所述文档的版本号,其中,所述本地的文档每一次完成编辑后所更新的版本号不重复;
第三同步单元,用于同步当前本地的所述文档和当前云端的所述文档,其中,当前云端的所述文档每同步一次所更新的版本号不重复;所述第三同步单元包括:
第三版本号比较模块,用于若所述备份版本号同时不等于当前本地的所述文档的版本号和当前云端的所述文档的版本号,则启动第三元素替换模块;若所述备份版本号不等于当前本地的所述文档的版本号且等于当前云端的所述文档,则启动第三文档替换模块;其中,
第三元素替换模块,用于将当前本地的所述文档的元素中哈希值与对应的所述备份哈希值相比发生变化的元素确定为第一同步元素,并将所述第一同步元素发送至所述云端,使所述云端将当前云端的所述文档对应位置的元素替换为所述第一同步元素;
第三文档替换模块,用于将当前本地的所述文档发送至所述云端,使所述云端将当前云端的所述文档替换为当前本地的所述文档;
所述第三元素替换模块,还用于将当前云端的文档中无需被替换为第一同步元素的元素的哈希值与对应的备份哈希值相比有发生变化的元素确定为第二同步元素;获取当前云端的文档中的第二同步元素;将本地的文档中与第二同步元素对应位置的元素替换为第二同步元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710442854.9A CN107451108B (zh) | 2017-06-13 | 2017-06-13 | 一种协同编辑文档的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710442854.9A CN107451108B (zh) | 2017-06-13 | 2017-06-13 | 一种协同编辑文档的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451108A CN107451108A (zh) | 2017-12-08 |
CN107451108B true CN107451108B (zh) | 2021-04-06 |
Family
ID=60486564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710442854.9A Active CN107451108B (zh) | 2017-06-13 | 2017-06-13 | 一种协同编辑文档的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451108B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038232B (zh) * | 2017-12-26 | 2020-12-04 | 广州酷狗计算机科技有限公司 | 网页编辑方法、装置和***、存储介质 |
CN109324923A (zh) * | 2018-08-16 | 2019-02-12 | 黄疆 | 基于云灾备数据备份恢复的处理方法及*** |
CN110807302B (zh) * | 2019-11-04 | 2023-12-19 | 北京联想协同科技有限公司 | 文档协同编辑方法及装置、终端和计算机可读存储介质 |
CN112380813A (zh) * | 2020-11-03 | 2021-02-19 | 中国直升机设计研究所 | 一种基于修订模式的多人文档协作架构及方法 |
CN113190518B (zh) * | 2021-04-12 | 2022-04-15 | 中国人民解放军海军工程大学 | 基于移动云计算的协同编辑中一致性维护方法 |
CN113688608A (zh) * | 2021-08-18 | 2021-11-23 | 上海英方软件股份有限公司 | 一种在线编辑云端Office文件的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105453127A (zh) * | 2014-07-31 | 2016-03-30 | 飞索科技有限公司 | 分布式服务器-客户端环境中的文档同步的方法和*** |
US9401959B1 (en) * | 2015-12-18 | 2016-07-26 | Dropbox, Inc. | Network folder resynchronization |
CN106372179A (zh) * | 2016-08-31 | 2017-02-01 | 上海爱数信息技术股份有限公司 | 一种探测文档变化和同步的方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007328489A (ja) * | 2006-06-07 | 2007-12-20 | Fuji Xerox Co Ltd | 文書管理装置及びプログラム |
CN101655845A (zh) * | 2008-08-21 | 2010-02-24 | 北京亿企通信息技术有限公司 | 一种多人协同工作环境下文档处理的方法 |
CN102457549A (zh) * | 2010-10-28 | 2012-05-16 | 盛乐信息技术(上海)有限公司 | 多个网络存储装置的数据同步***及方法 |
CN103377251B (zh) * | 2012-04-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 用于hdfs的文件比较方法及装置 |
US10303666B2 (en) * | 2015-03-09 | 2019-05-28 | International Business Machines Corporation | File transfer system using file backup times |
-
2017
- 2017-06-13 CN CN201710442854.9A patent/CN107451108B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105453127A (zh) * | 2014-07-31 | 2016-03-30 | 飞索科技有限公司 | 分布式服务器-客户端环境中的文档同步的方法和*** |
US9401959B1 (en) * | 2015-12-18 | 2016-07-26 | Dropbox, Inc. | Network folder resynchronization |
CN106372179A (zh) * | 2016-08-31 | 2017-02-01 | 上海爱数信息技术股份有限公司 | 一种探测文档变化和同步的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107451108A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451108B (zh) | 一种协同编辑文档的方法和*** | |
CN105302533B (zh) | 代码同步方法和装置 | |
CN101453418B (zh) | 客户端与服务器同步的更新方法 | |
US8621375B2 (en) | Associating an object with a relevant data source | |
KR100547896B1 (ko) | 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법 | |
CN101064630B (zh) | 一种数据同步方法及*** | |
CN106776894A (zh) | 日志数据库***和同步方法 | |
CN101754183A (zh) | 一种移动设备自动下载数字内容的方法、设备及*** | |
CN109062601A (zh) | Mes***客户端程序更新方法、装置、设备及介质 | |
CN105610947A (zh) | 一种高可用分布式队列服务实现方法、装置和*** | |
CN111569426A (zh) | 游戏场景的编辑方法、装置、存储介质和电子装置 | |
EP2323453A1 (en) | Method, device and system for executing synchronization | |
US20140317497A1 (en) | Method, Apparatus and System for Changing Font for Application Program | |
CN106250548A (zh) | 一种代码更新方法 | |
EP4050850A1 (en) | Service upgrading method, device and system | |
CN104092777A (zh) | 客户端的布局设定与服务器同步存储的方法及其*** | |
EP2911068B1 (en) | Tree-structure storage method for managing computation offloading data | |
CN105956207A (zh) | 一种基于binlog的可配置的mysql数据库实时同步方法 | |
CN110882535A (zh) | 存档文件的同步方法及装置 | |
CN108650168B (zh) | 多人会话的成员数据获取方法和装置、存储介质、处理器 | |
CN103701841A (zh) | 一种移动终端下载任务列表同步方法与装置 | |
CN105635215A (zh) | 联系人信息的同步方法、装置及云服务器 | |
CN109063135B (zh) | 一种基于多活分布式架构的数据库复制方法及*** | |
CN107786650A (zh) | 一种存储介质和管理策略的同步方法、装置及*** | |
CN110990360A (zh) | 基于网络存储设备的文件同步方法及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |