混合文档的协同编辑方法及装置制造方法及图纸

技术编号:35448039 阅读:12 留言:0更新日期:2022-11-03 12:01
本说明书一个或多个实施例提供一种混合文档的协同编辑方法,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;所述方法包括:针对所述混合文档中的每一文档内容对象分别创建相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;确定针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操作;将所述原始原子操作扩展为针对所述混合文档的扩展原子操作;将所述扩展原子操作发送至所述文档协同编辑系统的服务端,以共享至对所述混合文档进行协同编辑的其他客户端。混合文档进行协同编辑的其他客户端。混合文档进行协同编辑的其他客户端。

【技术实现步骤摘要】
混合文档的协同编辑方法及装置


[0001]本说明书一个或多个实施例涉及协同编辑领域,尤其涉及一种混合文档的协同编辑方法及装置。

技术介绍

[0002]在实际生活中,经常需要多人对同一文档进行编辑。传统的处理方式将文档在各用户之间反复传递、反复更新,但这种传统的处理方式可能存在文档丢失或者文档版本不正确等一些列问题,导致工作效率低下,无法满足需求。为解决前述缺陷,提出了文档协同编辑。
[0003]在相关技术中,文档协同编辑通过协同调度算法实现了多用户同时编辑同一个仅包含一种协同文档模型的单一文档。

技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种混合文档的协同编辑方法及装置,可以实现对包含对应于多种不同编辑器的文档内容的混合文档的协同编辑。
[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种混合文档的协同编辑方法,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;所述方法包括:
[0007]针对所述混合文档中的每一文档内容对象分别创建相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;其中,对于采用不同类型的文档编辑器的多个文档内容对象,相应协同文档实例采用的协同文档模型也不同;
[0008]确定针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操作;
[0009]将所述原始原子操作扩展为针对所述混合文档的扩展原子操作,所述扩展原子操作包含产生所述原始原子操作的协同文档实例的实例标识、该协同文档实例采用的协同文档模型的类型信息以及所述原始原子操作;
[0010]将所述扩展原子操作发送至所述文档协同编辑系统的服务端,以共享至对所述混合文档进行协同编辑的其他客户端。
[0011]根据本说明书一个或多个实施例的第二方面,提出了一种混合文档的协同编辑方法,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;针对所述混合文档中的每一文档内容对象分别创建有相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;其中,对于采用不同类型的文档编辑器的多个文档内容对象,相应协同文档实例采用的协同文档模型也不同;所述方法包括:
[0012]接收文档协同编辑系统的服务端发送的针对所述混合文档的扩展原子操作;所述扩展原子操作由针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操
作扩展所得,包含产生所述原始原子操作的协同文档实例的实例标识、该协同文档实例采用的协同文档模型的类型信息以及所述原始原子操作;
[0013]基于所述扩展原子操作包含的协同文档模型的类型信息,对所述扩展原子操作进行解析;
[0014]将解析得到的原子操作发送至与所述扩展原子操作包含的实例标识对应的协同文档实例进行处理。
[0015]根据本说明书一个或多个实施例的第三方面,提出了一种混合文档的协同编辑装置,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;所述装置包括:
[0016]实例创建单元,用于针对所述混合文档中的每一文档内容对象分别创建相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;其中,对于采用不同类型的文档编辑器的多个文档内容对象,相应协同文档实例采用的协同文档模型也不同;
[0017]原始原子操作确定单元,用于确定针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操作;
[0018]原始原子操作扩展单元,用于将所述原始原子操作扩展为针对所述混合文档的扩展原子操作,所述扩展原子操作包含产生所述原始原子操作的协同文档实例的实例标识、该协同文档实例采用的协同文档模型的类型信息以及所述原始原子操作;
[0019]扩展原子操作发送单元,用于将所述扩展原子操作发送至所述文档协同编辑系统的服务端,以共享至对所述混合文档进行协同编辑的其他客户端。
[0020]根据本说明书一个或多个实施例的第四方面,提出了一种混合文档的协同编辑装置,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;针对所述混合文档中的每一文档内容对象分别创建有相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;其中,对于采用不同类型的文档编辑器的多个文档内容对象,相应协同文档实例采用的协同文档模型也不同;所述装置包括:
[0021]扩展原子操作接收单元,用于接收文档协同编辑系统的服务端发送的针对所述混合文档的扩展原子操作;所述扩展原子操作由针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操作扩展所得,包含产生所述原始原子操作的协同文档实例的实例标识、该协同文档实例采用的协同文档模型的类型信息以及所述原始原子操作;
[0022]扩展原子操作解析单元,用于基于所述扩展原子操作包含的协同文档模型的类型信息,对所述扩展原子操作进行解析;
[0023]原子操作发送单元,用于将解析得到的原子操作发送至与所述扩展原子操作包含的实例标识对应的协同文档实例进行处理。
[0024]根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
[0025]处理器;
[0026]用于存储处理器可执行指令的存储器;
[0027]其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面所述的方法。
[0028]根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,
其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面所述方法的步骤。
[0029]由以上技术方案可见,本说明书一个或多个实施例中,处于文档协同编辑系统中对混合文档进行协同编辑的客户端将该混合文档创建为多个单独的协同文档实例,模拟出一种支持多种协同文档模型的混合协同文档模型,使得混合文档能够适应于协同编辑的场景,将本地用户针对该混合文档发起的协议编辑指令确定为针对该混合文档中的协同文档实例的原始原子操作,并将该原始原子操作扩展为扩展原子操作,使得可以区分出各原始原子操作对应的协同文档实例并指明该协同文档实例的协同文档模型,进而将该扩展原子操作发送至处于文档协同编辑系统的服务端,以共享至对该混合文档进行协同编辑的其他客户端,使得其他客户端可根据接收到的扩展原子操作将对应的原子操作准确下发至各协同文档实例,从而完成本地用户发起的协同编辑指令,实现对混合文档的协同编辑。
附图说明
[0030]图1是一示例性实施例提供的一种支持混合文档的协同编辑的文档协同编辑系统的架构示意图。
[0031]图2是一示例性实施例提供的一种应用于文档协同编辑系统中对所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种混合文档的协同编辑方法,其特征在于,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;所述方法包括:针对所述混合文档中的每一文档内容对象分别创建相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;其中,对于采用不同类型的文档编辑器的多个文档内容对象,相应协同文档实例采用的协同文档模型也不同;确定针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操作;将所述原始原子操作扩展为针对所述混合文档的扩展原子操作,所述扩展原子操作包含产生所述原始原子操作的协同文档实例的实例标识、该协同文档实例采用的协同文档模型的类型信息以及所述原始原子操作;将所述扩展原子操作发送至所述文档协同编辑系统的服务端,以共享至对所述混合文档进行协同编辑的其他客户端。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在产生所述原始原子操作的协同文档实例执行所述原始原子操作后,对该协同文档实例产生的原始更新数据进行持久化存储;其中,持久化存储的所述原始更新数据被标记为与产生所述原始原子操作的协同文档实例相关。3.根据权利要求2所述的方法,其特征在于,所述对所述混合文档进行持久化,包括:将所述原始更新数据扩展为相应的扩展更新数据,所述扩展更新数据包含所述原始更新数据和产生所述原始更新数据的协同文档实例的实例标识;对所述扩展更新数据进行持久化存储。4.一种混合文档的协同编辑方法,其特征在于,应用于文档协同编辑系统中对所述混合文档进行协同编辑的客户端,所述混合文档包含对应于多种类型的文档编辑器的文档内容对象;所述混合文档中的每一文档内容对象分别创建有相应的协同文档实例,所述协同文档实例通过协同文档模型参与协同编辑;其中,对于采用不同类型的文档编辑器的多个文档内容对象,相应协同文档实例采用的协同文档模型也不同;所述方法包括:接收文档协同编辑系统的服务端发送的针对所述混合文档的扩展原子操作;所述扩展原子操作由针对所述混合文档中的协同文档实例的协同编辑指令对应的原始原子操作扩展所得,包含产生所述原始原子操作的协同文档实例的实例标识、该协同文档实例采用的协同文档模型的类型信息以及所述原始原子操作;基于所述扩展原子操作包含的协同文档模型的类型信息,对所述扩展原子操作进行解析;将解析得到的原子操作发送至与所述扩展原子操作包含的实例标识对应的协同文档实例进行处理。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在接收到所述扩展原子操作后,对所述扩展原子操作进行操作变换或者操作求逆;所述基于所述扩展原子操作包含的协同文档模型的类型信息,对所述扩展原子操作进行解析,包括:
基于所述扩展原子操作包含的协同文档模型的类型信息,对完成了操作变换或者操作求逆后的扩展原子操作进行解析。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:在接收到文档协同编辑系统的服务端发送的多个针对所述混合文档的扩展原子操作的情况下,将相邻且包含同一协同文档实例的实例标识的多个扩展原子操作划分至同一组;针对同一组内的多个扩展原子操作进行统一处理。7.根据权利要求4所述的方法...

【专利技术属性】
技术研发人员:马兴驰
申请(专利权)人:钉钉中国信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1