CN112667585B - 在线文档的同步管理方法、装置及设备 - Google Patents

在线文档的同步管理方法、装置及设备 Download PDF

Info

Publication number
CN112667585B
CN112667585B CN201911137325.3A CN201911137325A CN112667585B CN 112667585 B CN112667585 B CN 112667585B CN 201911137325 A CN201911137325 A CN 201911137325A CN 112667585 B CN112667585 B CN 112667585B
Authority
CN
China
Prior art keywords
tab page
editing
editing operation
user account
tab
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
CN201911137325.3A
Other languages
English (en)
Other versions
CN112667585A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911137325.3A priority Critical patent/CN112667585B/zh
Publication of CN112667585A publication Critical patent/CN112667585A/zh
Application granted granted Critical
Publication of CN112667585B publication Critical patent/CN112667585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本申请提供了一种在线文档的同步管理方法、装置、设备及存储介质;方法包括:在基于用户账号登录过的第一标签页中显示在线文档的编辑界面;响应于在编辑界面中接收的编辑操作,在编辑界面中的内容中应用编辑操作以在编辑界面的内容中呈现对应的编辑结果,并将编辑操作发送到基于所述用户账号登录过的第二标签页;当第二标签页显示在线文档的编辑界面时,在第二标签页显示的编辑界面中应用所接收的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。通过本申请,能够针对多标签页的场景实现在线文档的及时同步,确保内容的一致性。

Description

在线文档的同步管理方法、装置及设备
技术领域
本申请涉及互联网的文档处理技术,尤其涉及一种在线文档的同步管理方法、装置、设备及存储介质。
背景技术
在线文档是互联网时代文档编辑的新形态,能够支持用户随时随地的对文档进行编辑、多用户之间的协同编辑等,适应了互联网时代的办公需求,因而得到广泛的应用。
终端设备尤其是移动终端设备中的应用生态日益复杂,用户往往在不同的使用环境中频繁切换,这就导致即使对于同一用户而言,在线文档的编辑场景的也是多样化的。
相关技术提供的在线文档技术,对于同一个在线文档被用户多个场景重复打开编辑的情况,无法保证在线文档的编辑结果的一致性。
发明内容
本申请实施例提供一种线文档的同步管理方法、设备、装置及存储介质,能够在用户编辑在线文档的复杂场景中实现良好的一致性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种在线文档的同步管理方法,包括:
在基于用户账号登录过的第一标签页中显示在线文档的编辑界面;
响应于在所述编辑界面的内容中接收的编辑操作,在所述编辑界面中应用所述编辑操作以在所述编辑界面的内容中呈现对应的编辑结果,并
将所述编辑操作发送到基于所述用户账号登录过的第二标签页;
当所述第二标签页显示所述在线文档的编辑界面时,在所述第二标签页显示的编辑界面的内容中应用所接收的所述编辑操作,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
本申请实施例提供一种在线文档的同步管理装置,包括:
用户登录模块,用于在基于用户账号登录过的第一标签页中显示在线文档的编辑界面;
标签页同步模块,用于响应于在所述编辑界面中接收的编辑操作,在所述编辑界面的内容中应用所述编辑操作以在所述编辑界面的内容中呈现对应的编辑结果,并
将所述编辑操作发送到基于所述用户账号登录过的第二标签页;
编辑操作应用模块,用于当所述第二标签页显示所述在线文档的编辑界面时,在所述第二标签页显示的编辑界面的内容中应用所接收的所述编辑操作,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
在上述方案中,所述用户登录模块,用于:
在终端设备运行的客户端中,基于所述用户账号登录在线文档系统,以在所述客户端的第一标签页中显示在线文档的编辑界面;
所述用户登录模块,还用于:
基于所述用户账号在客户端中登录所述在线文档系统,并在登录时于所使用的客户端的第二标签页中显示所述在线文档的编辑界面,所述客户端包括以下至少一种:
所述终端设备中运行的所述客户端,所述终端设备中运行的不同于所述客户端的其他客户端,或不同于所述终端设备的其他终端设备中运行的任意客户端。
在上述方案中,所述标签页同步模块,还用于:
当所述第一标签页和所述第二标签页基于所述用户账号登录后、且从在线状态转换为离线状态时,
通过共享中间件获取离线状态期间所述第一标签页接收到的编辑操作,将所述编辑操作的编辑类型、编辑位置以及编辑内容组合为编辑数据,并
将所述第一标签页的编辑界面中接收到的编辑操作所对应的编辑数据发送到所述第二标签页。
在上述方案中,所述标签页同步模块,还用于:
通过所述共享中间件获取离线状态期间所述第二标签页接收到的编辑操作,并发送到所述第一标签页;
当所述第一标签页显示所述用户账号对应的编辑界面时,在所述第一标签页显示的编辑界面中应用所接收的编辑操作,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
在上述方案中,所述在线文档的同步管理装置还包括:协同用户模块,还用于:
当所述第一标签页和所述第二标签页从离线状态转换为在线状态时,
通过所述共享中间件向所述在线文档系统提交离线状态期间的收集的编辑操作,以应用到所述在线文档的协同用户账号的编辑界面;
通过所述共享中间件接收在所述离线状态期间所述协同用户账号的编辑操作,并发送到所述第一标签页和所述第二标签页,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
在上述方案中,所述标签页同步模块,还用于:
当所述第一标签页和所述第二标签页运行在终端设备的同一客户端中时,通过运行在所述终端设备的所述共享中间件,从所述第一标签页获取在所述离线状态期间所述第一标签页接收的编辑操作;
当所述第一标签页和所述第二标签页运行在终端设备的不同客户端时,通过所述共享中间件、并经由所述不同客户端之间的进程间通信服务,获取所述第一标签页接收的编辑操作;
当所述第一标签页和所述第二标签页运行在不同终端设备的客户端时,通过所述共享中间件、并经由不同客户端之间的进程间通信服务,以及所述不同终端设备之间的近距离通信服务,从所述第一标签页获取所述第一标签页离线状态期间接收的编辑操作。
在上述方案中,所述标签页同步模块,还用于:
当所述第一标签页和所述第二标签页在所述用户账号登录后保持在线状态时,
通过共享中间件,在所述第一标签页和所述第二标签页上实时同步所述第一标签页和所述第二标签页分别接收的编辑操作,以使所述第一标签页与所述第二标签页分别显示的编辑界面中的内容保持一致。
在上述方案中,所述标签页同步模块,还用于:
通过所述共享中间件,将在所述第一标签页和所述第二标签页上接收的编辑操作发送至在线文档系统,以使所述在线文档系统将所述编辑操作应用到协同用户账号的编辑界面,并
通过所述共享中间件,从所述在线文档系统接收所述协同用户账号针对所述在线文档的编辑操作,并发送到所述第一标签页和所述第二标签页的编辑界面以使所述在线文档对应不同用户账号的编辑界面中的内容一致。
在上述方案中,所述在线文档的同步管理装置还包括:
共享中间件部署模块,用于:
响应于登录所述第一标签页和所述第二标签页的操作,从在线文档系统中获取用于标签页通信的共享中间件,或者激活终端设备中对应所述第一标签页和所述第二标签页的共享中间件,并进行对应所述共享中间件的前端部署,以构建对应所述共享中间件的共享数据队列;
其中,所述共享数据队列用于存储对应所述编辑操作的编辑数据。
在上述方案中,所述在线文档的同步管理装置还包括:
操作冲突处理模块,用于:
当所述第一标签页和所述第二标签页之间的编辑同步过程存在操作冲突时,
确定所述第一标签页中接收到的编辑操作和所述第二标签页中接收到的编辑操作分别对应的时间戳;
根据所述时间戳,确定在所述第一标签页和所述第二标签页中接收到的至少两个编辑操作的执行顺序,并将所述至少两个编辑操作按照所述执行顺序应用到所述第一标签页和所述第二标签页。
在上述方案中,所述操作冲突处理模块,还用于:
当所述用户账号的编辑操作和协同用户账号的编辑操作存在操作冲突时,
发送所述用户账号的编辑操作至在线文档系统,以使所述在线文档系统确定所述用户账号的编辑操作和所述协同用户账号的编辑操作分别对应的时间戳,并根据所述时间戳,确定对应至少两个编辑操作的执行顺序,并将所述至少两个编辑操作按照所述执行顺序分别应用到所述用户账号对应的编辑界面,以及所述协同用户账号的编辑界面上。
在上述方案中,所述编辑操作应用模块还用于:
当所述第一标签页和所述第二标签页同时在显示界面的前台显示对应的编辑界面时,在所述第二标签页显示的编辑界面中实时应用所接收的所述编辑操作;
当所述第一标签页在所述显示界面中前台显示,且所述第二标签页运行在所述显示界面的后台时,对所接收的编辑操作进行记录;
响应于将所述第二标签页切换到所述显示界面的前台的操作,将所接收的编辑操作应用到所述第二标签页的编辑界面。
在上述方案中,所述操作冲突处理模块,还用于:
当所述编辑操作与接收到的其他编辑操作发生冲突时,获取接收到的其他编辑操作所对应的时间戳;
根据所述时间戳,确定所述其他编辑操作的执行顺序,并根据所述执行顺序,将所述其他编辑操作应用到所述第一标签页中以呈现对应的编辑结果。
一种在线文档的同步管理设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的在线文档的同步管理方法。
本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的在线文档的同步管理方法。
本申请实施例具有以下有益效果:
通过本申请实施例提供的技术方案,通过标签页之间对于编辑操作的通信过程,能够实现支持多个标签页在线以及离线状态下的数据同步、数据查看以及数据编辑。
附图说明
图1是本申请实施例提供的在线文档的同步管理系统架构100的一个可选的架构示意图;
图2是本申请实施例提供的在线文档的同步管理终端400的一个可选的结构示意图;
图3A-3B是相关技术中没有拿到离线同步锁的标签页示意图;
图4是本申请实施例提供的在线文档的同步管理方法的整体架构图;
图5是本申请实施例提供的在线文档的同步管理方法的数据交互示意图;
图6A-6D是本申请实施例提供的在线文档的同步管理方法的一个可选的流程示意图;
图7A-7B是本申请实施例提供的在线文档的同步管理方法中的标签页显示示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)在线文档:基于网络来传输和编辑的文档,例如网络中的在线文档系统提供对于在线文档的编辑功能,编辑功能被承载在各种类型的客户端的文档编辑页面中,用户提交的编辑操作将使得客户端中对应的编辑结果,同时编辑操作将被同步到在线文档系统。
作为示例,客户端的类型包括:本地原生客户端(Native APP),内置网络程序(WebAPP,也称为小程序)的混合客户端(Hybrid APP)和浏览器。
2)离线:是指没有网络或者和在线文档系统无法建立连接的场景。
3)离线同步锁:打开文档的标签页产生的离线数据会持久化存储到本地数据库时,这种情况称为标签页拿到该文档的离线同步锁。
4)共享中间件:实现标签页之间数据传输的功能。
5)冲突处理:在多个用户对同一个版本文档进行数据编辑时的数据处理操作,以尽可能的保留多个用户对该文档的修改。
6)协同:是指不同用户共同对同一在线文档进行编辑。
浏览器中同一个文档被多个标签页打开时,只有一个标签页会对本地编辑产生的离线数据持久化存储到本地数据库,拥有持久化存储离线数据库的标签页称之为拿到了该文档的离线同步锁。没有拿到文档离线同步锁的标签页于在线状态下可以正常编辑,产生的数据仅在内存中保存,一旦页面关闭则丢失数据,这里丢失的数据是指会丢失内存中还未同步给服务端的数据,页面关闭的时候,会检测是否有未同步到服务端的数据,如果有未同步到服务端的数据,标签页上会显示提示信息来提示用户。没有拿到文档离线同步锁的标签页在断网离线的情况下,收回文档的编辑权限,仅支持查看。离线同步锁的分配时机如下,标签页打开文档的时候,系统判断是否已有标签页拿到了离线同步锁,如果没有则该标签页占有该文档的离线同步锁,离线同步锁的释放时机通常是标签页关闭或者刷新时。相关技术中,为了简化多标签离线场景下离线数据处理,增设了离线同步锁,但是离线同步锁的存在会导致以下几点缺陷:只有一个标签页能够进行离线编辑,其他标签页仅支持查看数据;拿到离线同步锁的标签页在离线下产生的数据无法同步到其他标签页。本申请实施例提供的在线文档的同步管理方法解决了离线场景下仅有一个标签页能进行离线编辑的问题。所有标签页在离线下都可以正常进行离线编辑,且每个标签页产生的离线数据都能够同步显示到其他的标签页。
本申请实施例提供一种在线文档的同步管理方法、装置、电子设备和存储介质,能够支持多个标签页在线以及离线状态下的数据同步、数据查看以及数据编辑,下面说明本申请实施例提供的在线文档的同步管理设备的示例性应用,本申请实施例提供的在线文档的同步管理设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为在线文档系统。下面,将说明设备实施为终端时示例性应用。
参见图1,图1是本申请实施例提供的在线文档的同步管理系统架构100的一个可选的架构示意图,示例性示出了终端400-1和终端400-2,通过共享中间件500-1和500-2以及网络300连接在线文档系统200,网络300可以是广域网或者局域网,又或者是二者的组合,终端400-1和400-2中安装有多个客户端,各个客户端都可以进行在线文档的显示,并对在线文档进行编辑,对于同一在线文档而言,可以通过同一客户端的不同标签页显示,也可以通过不同客户端的不同标签页显示,还可以通过不同设备的不同标签页显示,同时对于同一文档而言,可以具备不同的编辑用户,图1以如下场景作为示例:两个用户分别使用终端400-1和终端400-2,对同一在线文档进行编辑,其中,终端400-1的客户端上有两个不同的标签页进行同屏显示,在离线和在线场景下,用户A针对标签页1的编辑操作可以通过共享中间件500-1实现标签页之间的通信同步到客户端的标签页2上,同时,在线场景下,该编辑操作也可以通过共享中间件500-1以及在线文档系统200同步到终端400-2上的标签页1和标签2内的在线文档上,被使用终端400-2的用户B看到。用户B针对标签页1的编辑操作可以通过共享中间件500-2实现标签页之间的通信同步到客户端的标签页2上,同时,在线场景下,该编辑操作也可以通过共享中间件500-2以及在线文档系统200同步到终端400-1上的标签页1和标签2内的在线文档上,被使用终端400-1的用户A看到。
参见图2,图2是本申请实施例提供的在线文档的同步管理终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的在线文档的同步管理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:用户登录模块4551、标签页同步模块4552、编辑操作应用模块4553、协同用户模块4554、共享中间件部署模块4555和操作冲突处理模块4556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的在线文档的同步管理装置可以采用硬件方式实现,作为示例,本申请实施例提供的在线文档的同步管理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的在线文档的同步管理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术中由于有离线同步锁的存在,没有拿到离线同步锁的标签页在离线场景下会出现如图3A-3B的提示,图3A-3B是相关技术中没有拿到离线同步锁的标签页示意图,提示信息用于提示该文档已在另一标签页中打开进行离线编辑,编辑功能已在此标签页中停用,并且在用户重新连入网络之前,用户将看不到其他标签页中所做的更改。本申请实施例提供的在线文档的同步管理方法在离线场景下有多个标签对同一个文档进行离线编辑时,不会出现任何提示,多个标签页都可以正常编辑,而且任意标签页产生的离线数据都能同步到本地其他标签页。
在技术实现上可以通过共享中间件作为共享端来实现,参见图4,图4是本申请实施例提供的在线文档的同步管理方法的整体架构图,将针对标签页的编辑操作所产生的数据A、数据B、数据C和数据D提交到可多标签共享的共享中间件,共享中间件负责维护多标签页之间产生的离线数据队列,该离线数据队列可以接受多个标签页提交过来的离线数据,共享中间件接收到本地标签页提交过来的离线数据后,将离线数据放入离线数据队列的同时,将数据协同给本地其他标签页;共享中间件将离线数据队列中的数据依次提交到在线文档系统,由在线文档系统进行冲突处理和分发给其他协作用户,当网络出现异常时,这个数据提交到在线文档系统的队列会卡住且不断重试提交;共享中间件负责接收在线文档系统推送过来的协同操作消息;共享中间件接收到在线文档系统协同过来的操作消息后,对维护的离线数据队列做冲突处理,然后再分发给本地标签页;本地标签页接收到共享中间件分发过来的协同消息后,通过本地冲突处理,将编辑操作应用到用户视图。
参见图5,图5是本申请实施例提供的在线文档的同步管理方法的数据交互示意图,标签页可以将当前页面的用户操作A、本地其他标签页协同过来的用户操作B以及服务端协同过来的其他用户操作(后台协同C)以及类似用户操作X应用到标签页的文档编辑界面,共享中间件负责接收本地标签页提交过来的用户操作,推送用户操作至提交队列,维护操作队列,从操作队列中取数据,以提交用户操作到在线文档系统(后台),协同本地标签页操作到其他标签页(本地协同),以及接收在线文档系统推送的协同消息并协同给本地所有标签页(后台协同),共享中间件负责对本地操作和在线文档系统协同的操作进行冲突处理。
在离线状态下,离线数据由客户端用户编辑产生,该离线数据仅存储在本地,还未同步至在线文档系统,在用户网络恢复后或者下次在线打开时,即有离线状态转变为在线状态时,离线数据会同步至在线文档系统,无论是离线状态还是在线状态,用户编辑产生的数据会先进入一个内存队列进行提交,接着内存队列会和本地的存储在线文档系统进行数据同步,本次存储器和在线文档系统同步结束后,删除已经被同步的本地数据,不占用本地资源,对于用户体验而言,先将用户操作响应到用户视图上再进行数据提交的流程。并且,在离线状态下,所有用户数据只会在本地存储,用户可以正常操作的,对应这些离线操作的数据全部保存在本地,当由离线状态转变为在线状态时,其他用户可能已经产生了很多的数据,因此,需要对用户本地数据和在线文档系统其他用户的数据做冲突处理后再进行同步。
下面将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的在线文档的同步管理方法。
参见图6A,图6A是本申请实施例提供的在线文档的同步管理方法的一个可选的流程示意图,将结合图6A示出的步骤101-102进行说明。
在步骤101中,在终端设备运行的客户端中,基于用户账号登录在线文档系统,以在客户端的第一标签页中显示在线文档的编辑界面。
这里相当于在基于用户账号登录过的第一标签页中显示在线文档的编辑界面。
在一些实施例中,在终端设备运行的客户端中,基于用户账号的身份信息登录在线文档系统,根据在线文档系统下发的编辑界面数据在客户端的第一标签页中显示在线文档的编辑界面,用户可以创建新的在线文档,或者将历史在线文档下载到第一标签页的编辑界面中显示。用户账号的身份信息可以是客户端账号体系中的身份信息,那么这里的客户端后台系统和在线文档系统的账号体系是相通的,用户账号的身份信息也可以是独立于客户端账号体系的身份信息,那么这里用户账号的身份信息是仅针对在线文档的账号体系。
在步骤102中,基于用户账号登录在线文档系统,以在第二标签页中显示在线文档的编辑界面。
在一些实施例中,基于用户的身份信息在客户端中登录在线文档系统,并在登录时于客户端的第二标签页中显示在线文档的编辑界面,客户端包括以下至少一种:终端设备中运行的客户端,终端设备中运行的不同于客户端的其他客户端,或不同于终端设备的其他终端设备中运行的任意客户端。这里,第一标签页和所述第二标签页是通过相同的用户账号登录的。
在一些实施例中,登录第二标签页时可以打开与第一标签页中的在线文档不同的在线文档,在登录阶段,即使两个标签页所打开的文档不同,仍然在后台会进行接下来的编辑操作同步过程,只要在后续过程中在第二标签页中打开了与第一标签页的在线文档相同的在线文档,则可以将编辑操作应用到相同的在线文档中。
这里的第二标签页可以是和第一标签页在同一个客户端中被打开,也可以是从不同的客户端中被打开,例如,第一标签页是网页浏览器上打开的标签页,而第二标签页是通过客户端的小程序打开的标签页,这里的第二标签页可以是和第一标签页在同一终端设备上被打开,也可以是从不同的终端设备上被打开,例如,对于同一个用户而言,第一标签页可以在笔记本电脑上被打开,而第二标签页可以在平板电脑上被打开,并且,第一标签页和第二标签页还可以在不同的客户端且不同的终端设备上被打开,例如,第一标签页在笔记本电脑中的网页浏览器上打开,而第二标签页在平板电脑上的通信客户端的小程序内被打开,这里,不对客户端以及终端设备进行限定。
在一些实施例中,响应于在编辑界面中接收的编辑操作,在编辑界面中应用编辑操作以呈现对应的编辑结果,并将编辑操作发送至用户账号登录的第二标签页。当第二标签页显示用户的编辑界面时,在第二标签页显示的编辑界面中应用所接收的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面的内容保持一致。这里编辑操作发送的过程随着网络状态的变化而改变。
在一些实施例中,基于步骤101和步骤102,用户已经登录了第一标签页和第二标签页,并在第一标签页和第二标签页中打开了在线文档,这里的登录和打开文档均是在网络环境下实现的,接着,网络环境可以从在线状态转变为离线状态。
参见图6B,图6B是本申请实施例提供的在线文档的同步管理方法的一个可选的流程示意图,下面将结合图6B示出的步骤103-108进行说明
在步骤103中,当第一标签页和第二标签页在基于用户账号登录后从在线状态转换为离线状态时,通过共享中间件获取离线状态期间第一标签页接收到的编辑操作。
在步骤104中,将编辑操作的编辑类型、编辑位置以及编辑内容组合为编辑数据,并将第一标签页的编辑界面中接收的编辑操作所对应的编辑数据发送到第二标签页。
在一些实施例中,在执行完步骤104之后,执行步骤105,当第二标签页显示在线文档的编辑界面时,在第二标签页显示的编辑界面的内容中应用所接收到的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。这里第二标签页接收到编辑操作所对应的编辑数据和将编辑操作应用到第二标签页的编辑界面中是两个阶段,在接收编辑操作所对应的编辑数据的阶段中,仅要求第二标签页和第一标签页的登录用户账号相同即可实现,而将编辑操作应用到第二标签页的编辑界面的阶段,需要在第二标签页显示在线文档的编辑界面时实现。
在一些实施例中,编辑操作实际上是以编辑数据的形式进行发送,编辑操作的编辑类型可以是插入操作,可以是删除操作等等,编辑操作的编辑位置是用于指向在在线文档进行编辑操作的位置,可以是某一个段落之前,可以是两个字符中间等等,编辑内容可以是实际输入的内容,例如在字符A和字符B之间插入的内容即为编辑内容,将编辑操作的编辑类型、编辑位置以及编辑内容组合为编辑数据,以使第二标签页接收到编辑数据,并根据编辑数据将编辑操作应用到第二标签页的编辑界面中,这里编辑操作的发送方式适用于本申请任一实施例中的编辑操作发送过程。
参见图6C,基于图6B,图6C是本申请实施例提供的在线文档的同步管理方法的一个可选的流程示意图,步骤103中通过共享中间件获取离线状态期间第一标签页接收的编辑操作,可以具体通过步骤1031-1033实现,这里步骤1031和1033执行不分先后顺序。
在步骤1031中,当第一标签页和第二标签页运行在终端设备的同一客户端中时,通过运行在终端设备的共享中间件,从第一标签页获取在离线状态期间第一标签页接收的编辑操作。
这里的第一标签页和第二标签页运行在用户的终端设备的同一客户端的场景可以为第一标签页和第二标签页是终端设备上的网页浏览器上打开的不同标签页。
在步骤1032中,当第一标签页和第二标签页运行在终端设备的不同客户端时,通过共享中间件、并经由不同客户端之间的进程间通信服务,获取第一标签页接收的编辑操作。
这里的第一标签页和第二标签页运行在用户的终端设备的不同客户端的场景可以为第一标签页和第二标签页是终端设备上的网页浏览器上的标签页和其他客户端的小程序上打开的标签页。
在步骤1033中,当第一标签页和第二标签页运行在不同终端设备的客户端时,通过共享中间件、并经由不同客户端之间的进程间通信服务,以及不同终端设备之间的近距离通信服务,从第一标签页获取第一标签页离线状态期间接收的编辑操作。
这里的第一标签页和第二标签页运行在用户的不同终端设备的客户端的场景可以为第一标签页是笔记本电脑上的网页浏览器上打开的标签页,第二标签页是平板电脑上的客户端的小程序内打开的标签页。
这里不同终端设备中的客户端可以是相同类型的客户端,也可以是不同类型的客户端。对于离线状态期间,第一标签页接收第二标签页的方式,根据第一标签页和第二标签页的不同形态,采用上述类似的处理方式。这里的不同形态是指第一标签页和第二标签页所述的设备差异或者是客户端的差异。
在步骤106中,通过共享中间件获取离线状态期间第二标签页接收的编辑操作。
在步骤107中,将离线状态期间第二标签页接收的编辑操作发送到第一标签页。
在步骤108中,当第一标签页显示用户账号对应的编辑界面时,在第一标签页显示的编辑界面中应用所接收的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,当第一标签页和第二标签页在用户账号登录后从在线状态转换为离线状态时,通过共享中间件获取离线状态期间第一标签页接收到的编辑操作,将编辑操作的编辑类型、编辑位置以及编辑内容组合为编辑数据,并将第一标签页的编辑界面中接收的编辑操作所对应的编辑数据发送到第二标签页。通过共享中间件获取离线状态期间第二标签页接收的编辑操作,并发送到第一标签页。当第一标签页显示用户的编辑界面时,在第一标签页显示的编辑界面中应用所接收的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。基于步骤103-108,可以实现离线状态下不同标签页之间的编辑操作同步。当网络环境恢复后,第一标签页和第二标签页可以从离线状态转变到在线状态,第一标签页和第二标签页依然会进行编辑操作同步,同时,对应用户账号的第一标签页和第二标签页中的编辑操作还会通过在线文档系统同步到协同用户账号所打开的标签页中。
参见图6D,图6D是本申请实施例提供的在线文档的同步管理方法的一个可选的流程示意图,下面将结合图6D示出的步骤109-112进行说明.
在步骤109中,当第一标签页和第二标签页从离线状态转换为在线状态时,通过共享中间件向在线文档系统提交离线状态期间的收集的编辑操作,以应用到在线文档的协同用户账号的编辑界面。
在步骤110中,通过共享中间件接收在离线状态期间协同用户账号的编辑操作。
在步骤111中,将接收到的离线状态期间协同用户账号的编辑操作发送到第一标签页和第二标签页。
在步骤112中,第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,当第一标签页和第二标签页从离线状态转换为在线状态时,通过共享中间件向在线文档系统提交离线状态期间的收集的编辑操作,离线状态期间收集到的编辑操作存储在共享中间件所构造的离线数据队列中,针对离线数据队列中的编辑操作进行与操作相关的冲突处理后,将经过冲突处理之后的编辑操作发送到在线文档系统,由在线文档系统根据接收到的来自于不同用户账号所提交的编辑操作进行冲突处理后,分发到各个协同用户账号,以应用到在线文档的协同用户账号的编辑界面,通过共享中间件接收在离线状态期间协同用户账号的编辑操作,并发送到第一标签页和第二标签页,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,基于步骤101和步骤102,用户账号已经登录了第一标签页和第二标签页,并在第一标签页和第二标签页中打开了在线文档,这里的登录和打开文档均是在网络环境下实现的,接着,网络环境可以继续保持在线状态。
在一些实施例中,当第一标签页和第二标签页在用户账号登录后保持在线状态时,通过共享中间件,在第一标签页和第二标签页之间实时同步第一标签页和第二标签页分别接收的编辑操作,以使第一标签页与第二标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,通过共享中间件将在第一标签页和第二标签页接收的编辑操作发送至在线文档系统,以使在线文档系统将编辑操作应用到协同用户账号的编辑界面,并通过共享中间件从在线文档系统接收协同用户账号针对在线文档的编辑操作,并发送到第一标签页和第二标签页的编辑界面,以使在线文档对应不同用户账号的编辑界面中的内容一致。
在一些实施例中,在线状态期间,第一标签页和第二标签页之间进行本地标签页的同步,登录第一标签页和第二标签页的用户账号和对应协同用户账号的标签页之间也会进行同步,跨用户账号的标签页同步是基于在线文档系统实现的,不同的用户账号所产生的编辑操作在各个文档编辑界面中以不同的标记进行显示,以进行区分显示。用户和协同用户之间的概念是相对关系,对于每个用户而言,其他用户均被称为协同用户。
在一些实施例中,响应于登录第一标签页和第二标签页,从在线文档系统上获取用于标签页通信的共享中间件,或者激活终端设备中对应第一标签页和第二标签页的共享中间件,并进行对应共享中间件的前端部署,以构建对应共享中间件的共享数据队列;其中,共享数据队列用于存储对应编辑操作的编辑数据。
在一些实施例中,共享中间件可以提前预置在各个客户端内,或者共享中间件可以在在线文档系统上注册,在打开在线文档的同时,触发获取共享中间件的获取请求,以获取共享中间件至客户端,使其能够在离线状态下运行在客户端。
在一些实施例中,当第一标签页和第二标签页之间的编辑同步过程存在操作冲突时,确定第一标签页中接收到的编辑操作和第二标签页中接收到的编辑操作分别对应的时间戳;根据时间戳,确定在第一标签页和第二标签页中接收到的至少两个编辑操作的执行顺序,并将至少两个编辑操作按照执行顺序应用到第一标签页和第二标签页。
在一些实施例中,第一标签页和第二标签页之间的同步过程会存在操作冲突,在正常情况下,第一标签页和第二标签页之间的同步按照时间先后顺序进行,在同一时间只存在一个需要同步的操作,只需要将需要同步的操作同步到不同的标签页即可,不存在执行的先后顺序,但是在一些特殊情况下,例如第二标签页的客户端出现卡顿现象,或者出现闪退现象,第二标签页上的编辑操作无法实时提交到共享中间件,而其他标签页仍然是正常接收编辑操作,并把编辑操作提交到了共享中间件,那么共享中间件在同一时间会接收到不同的编辑操作,还有一种情况是,仅对其中一个标签页进行操作,对标签页进行操作时,客户端仍然会存在卡顿,引起卡顿的原因可以是设备终端的存储空间不够,设备终端的操作系统的内存不够等等,对单一标签页进行的操作可能会堆积到某一个时间提交到共享中间件,而对于用户体验而言,用户可以实时看到当前标签页的文档编辑界面应用了实时的编辑操作,但是实际上,这些编辑操作可能还没有提交到共享中间件,在客户端卡顿恢复后,共享中间件接收到多个编辑操作,对这些编辑操作按照时间先后顺序同步其他的标签页。
在一些实施例中,当用户账号的编辑操作和协同用户账号的编辑操作存在操作冲突时,共享中间件将用户账号的编辑操作发送至文档在线系统,以使文档在线系统确定用户账号的编辑操作和协同用户账号的编辑操作分别对应的时间戳;根据时间戳,确定对应至少两个编辑操作的执行顺序,并将至少两个编辑操作按照执行顺序分别应用到用户账号对应的编辑界面,以及协同用户账号的编辑界面。
在一些实施例中,用户账号和协同用户账号之间的编辑操作会存在操作冲突,在正常的在线情况下,不同用户账号和协同用户账号之间的编辑操作会同步到各个用户账号的本地标签页,并同步到其他用户账号的标签页。诸多场景中,用户账号和协同用户账号之间的编辑操作均会存在操作冲突,例如,当某一个用户账号的标签页刚从离线状态转变为在线状态时,共享中间件会积累多个在离线状态期间的编辑操作,将这些编辑操作提交到服务端,服务端对这些编辑操作按照时间顺序同步到其他协同用户账号,例如,在上述情况中,服务端接收到某一个用户账号离线期间的多个编辑操作以及其他协同用户账号保持在线状态下提交的编辑操作。
在一些实施例中,当第一标签页和第二标签页同时在显示界面的前台显示对应的编辑界面时,在第二标签页显示的编辑界面中实时应用所接收的编辑操作;这里的前台显示表征第一标签页和第二标签页均能够直接可视化呈现,当第一标签页在显示界面中前台显示,且第二标签页运行在显示界面的后台时,对所接收的编辑操作进行记录;这里的第二标签页运行在显示界面的后台表征第二标签页当前没有被可视化呈现,第二标签页可以是进行了最小化操作,响应于将第二标签页切换到显示界面的前台的操作,将所接收的编辑操作应用到第二标签页的编辑界面,这里将第二标签页切换到显示界面的前台,即是表征使第二标签页能够当前直接可视化呈现。参见图7A-7B,图7A-7B是本申请实施例提供的在线文档的同步管理方法中的标签页显示示意图,如图7A所示,当第一标签页(标签页1)和第二标签页(标签页2)是在显示界面中同时显示时,对于第一标签页的编辑操作可以实时响应到第一标签页的文档编辑界面,并且将编辑操作响应到第二标签页的文档编辑界面上,在另一种情况下,第二标签页可以仅接收到同步的编辑操作,但是没有应用到第二标签页的文档显示界面中,当在第二标签页中接收到鼠标点击或者其他唤醒触发操作时,在第二标签页中进行文档的刷新或者更新,这样的实施方式可以降低资源的占用。如图7B所示,当第一标签页(标签页1)和第二标签页(标签页2)是在显示界面中互斥显示时,第二标签页可以仅接收到同步的编辑操作,但是没有应用到第二标签页的文档显示界面中,当在第二标签页中接收到鼠标点击或者其他唤醒触发操作时,在第二标签页中进行文档的刷新或者更新,使第二标签页所显示的内容和第一标签页一致,这样的实施方式可以降低资源的占用,另外,第一标签页的编辑操作也可以实时响应到第一标签页面和第二标签页面,即便第二标签页面不是当前进行编辑的标签页,这样的实施方式可以降低用户的延迟感。
在一些实施例中,在编辑界面中应用编辑操作以呈现对应的编辑结果之后,当编辑操作与接收到的其他编辑操作发生冲突时,获取接收到的其他编辑操作所对应的时间戳;根据时间戳,确定其他编辑操作的执行顺序,并根据执行顺序,将其他编辑操作应用到第一标签页中以呈现对应的编辑结果。
在一些实施例中,无论前述编辑操作之间的冲突处理的结果如何,对于当前用户正在编辑界面中进行的编辑操作,都会将编辑操作首先直接应用到文档上,并呈现对应的编辑结果,但是用户的当前编辑操作和接收到的经过共享中间件返回的其他编辑操作也会产生冲突,这里的冲突主要体现为当前编辑操作和接收到的经过共享中间返回的其他编辑操作不一致,这属于本地标签页的上的冲突处理,该冲突处理的方式在于将当前编辑操作所产生的版本和经过共享中间件返回的其他编辑操作所产生的版本进行比对以及更新,如果当前编辑操作所产生的版本和经过共享中间件返回的其他编辑操作所产生的版本进行比对后确定版本一致,则表征用户的当前编辑操作和接收到的经过共享中间件返回的其他编辑操作之间未产生冲突,不需要进行版本更新,如果当前编辑操作所产生的版本和经过共享中间件返回的其他编辑操作所产生的版本进行比对后确定版本不一致,则表征用户的当前编辑操作和接收到的经过共享中间件返回的其他编辑操作之间产生冲突,则需要进行版本更新,即确定其他编辑操作的执行顺序,并根据执行顺序,将其他编辑操作应用到第一标签页中以呈现对应的编辑结果。
下面,将结合一个具体的应用场景对本申请实施例提供的在线文档的同步管理方法进行说明,用户账号A登录即时通信客户端,通过即使通信客户端下载了在线文档的小程序,授权小程序获取即使通信客户端的身份信息来登录在线文档的在线文档系统,在即使通信客户端中的小程序中的编辑界面中编辑文档,在编辑过程中,编辑操作被定期或实时提交到在线文档系统保存;在用户账号A停止编辑该文档后,在即时通信客户端的好友列表中选择了用户账号B,并通过即使通信客户端将编辑之后的文档发送给用户账号B,这里是即时通信客户端发送文档到即时通信客户端的后台,即时通信客户端后台发送文档给用户账号B;用户账号B通过电脑的网页版的即时通信客户端接收了文档,或者用户账号B直接登录在线文档客户端查看用户账号A编辑完成的文档,这里的在线文档客户端可以是原生客户端,也可以是通过浏览器进入的网页版客户端,用户账号B可以对该文档进行编辑,用户账号B也可以直接在接收消息的即使通信客户端中直接打开在线文档分享消息,用户账号A可以随时接入文档的编辑界面,用户账号A和用户账号B可以同时对文档进行编辑。
在两者进行编辑的过程中,用户账号A可以打开多个标签页,用户账号A可以从在线状态转为离线状态,从而不再接收到用户账号B的编辑操作,从而用户帐号A可以专心进行编辑,不被用户账号B的编辑操作所影响,当然,这里的在线状态转为离线状态也可被动断网而造成的,用户账号A仅进行本地标签页同步,此时,无论用户账号A对任意一个标签页进行编辑,其他标签页均会接收到用户账号A的编辑操作,用户账号A可以在编辑的过程中随时转换到其他的标签页进行编辑,即便用户账号A错手关闭了其中一个标签页,剩余的标签页中也会保留下所有编辑操作。此时用户账号B可以仍然是在线状态,也可以同样转化为离线状态。当用户账号B仍然是在线状态时,用户账号B的编辑操作不仅会同步到用户账号B的标签页,还会通过共享中间件提交到在线文档系统后台,根据用户账号A的在线或离线状态来进行用户间的编辑操作同步。当用户账号B也是离线状态时,用户账号B仍然进行用户账号B的标签页间的同步,待到用户账号B恢复在线状态时,开始接收在线文档系统经由共享中间件发送的其他用户的编辑操作,且共享中间件将离线期间的编辑操作提及到在线文档系统以进行同步。
下面继续说明本申请实施例提供的在线文档的同步管理装置455实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的在线文档的同步管理装置455中的软件模块可以包括:用户登录模块4551,用于在基于用户账号登录过的第一标签页中显示在线文档的编辑界面;标签页同步模块4552,用于响应于在编辑界面中接收的编辑操作,在编辑界面的内容中应用编辑操作以在编辑界面的内容中呈现对应的编辑结果,并将编辑操作发送到基于用户账号登录过的第二标签页;编辑操作应用模块4553,用于当第二标签页显示在线文档的编辑界面时,在第二标签页显示的编辑界面的内容中应用所接收的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,用户登录模块4551,用于:在终端设备运行的客户端中,基于用户账号登录在线文档系统,以在客户端的第一标签页中显示在线文档的编辑界面;基于用户账号在客户端中登录在线文档系统,并在登录时于客户端的第二标签页中显示在线文档的编辑界面,客户端包括以下至少一种:终端设备中运行的客户端,终端设备中运行的不同于客户端的其他客户端,或不同于终端设备的其他终端设备中运行的任意客户端。
在一些实施例中,标签页同步模块4552,还用于:当第一标签页和第二标签页在用户登录后、且从在线状态转换为离线状态时,通过共享中间件获取离线状态期间第一标签页接收到的编辑操作,将编辑操作的编辑类型、编辑位置以及编辑内容组合为编辑数据,并将第一标签页的编辑界面中接收到的编辑操作所对应的编辑数据发送到第二标签页。
在一些实施例中,标签页同步模块4552,还用于:通过共享中间件获取离线状态期间第二标签页接收到的编辑操作,并发送到第一标签页;当第一标签页显示用户账号对应的编辑界面时,在第一标签页显示的编辑界面中应用所接收的编辑操作,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,在线文档的同步管理装置455还包括:协同用户模块4554,还用于:当第一标签页和第二标签页从离线状态转换为在线状态时,通过共享中间件向在线文档系统提交离线状态期间的收集的编辑操作,以应用到在线文档的协同用户账号的编辑界面;通过共享中间件接收在离线状态期间协同用户账号的编辑操作,并发送到第一标签页和第二标签页,以使第二标签页与第一标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,标签页同步模块4552,还用于:当第一标签页和第二标签页运行在终端设备的同一客户端中时,通过运行在终端设备的共享中间件,从第一标签页获取在离线状态期间第一标签页接收的编辑操作;当第一标签页和第二标签页运行在终端设备的不同客户端时,通过共享中间件、并经由不同客户端之间的进程间通信服务,获取第一标签页接收的编辑操作;当第一标签页和第二标签页运行在不同终端设备的客户端时,通过共享中间件、并经由不同客户端之间的进程间通信服务,以及不同终端设备之间的近距离通信服务,从第一标签页获取第一标签页离线状态期间接收的编辑操作。
在一些实施例中,标签页同步模块4552,还用于:当第一标签页和第二标签页在用户登录后保持在线状态时,通过共享中间件,在第一标签页和第二标签页上实时同步第一标签页和第二标签页分别接收的编辑操作,以使第一标签页与第二标签页分别显示的编辑界面中的内容保持一致。
在一些实施例中,标签页同步模块4552,还用于:通过共享中间件,将在第一标签页和第二标签页接收的编辑操作发送至在线文档系统,以使在线文档系统将编辑操作应用到协同用户账号的编辑界面,并通过共享中间件,从在线文档系统接收协同用户账号针对在线文档的编辑操作,并发送到第一标签页和第二标签页的编辑界面以使在线文档对应不同用户账号的编辑界面中的内容一致。
在一些实施例中,在线文档的同步管理装置还包括:共享中间件部署模块4555,用于:响应于登录第一标签页和第二标签页的操作,从在线文档系统中获取用于标签页通信的共享中间件,或者激活终端设备中对应第一标签页和第二标签页的共享中间件,并进行对应共享中间件的前端部署,以构建对应共享中间件的共享数据队列;其中,共享数据队列用于存储对应编辑操作的编辑数据。
在一些实施例中,在线文档的同步管理装置还包括:操作冲突处理模块4556,用于:当第一标签页和第二标签页之间的编辑同步过程存在操作冲突时,确定第一标签页中接收到的编辑操作和第二标签页中接收到的编辑操作分别对应的时间戳;根据时间戳,确定在第一标签页和第二标签页中接收到的至少两个编辑操作的执行顺序,并将至少两个编辑操作按照执行顺序应用到第一标签页和第二标签页。
在一些实施例中,操作冲突处理模块4556,还用于:当用户的编辑操作和协同用户的编辑操作存在操作冲突时,发送用户账号的编辑操作至在线文档系统,以使在线文档系统确定用户账号的编辑操作和协同用户账号的编辑操作分别对应的时间戳,并根据时间戳,确定对应至少两个编辑操作的执行顺序,并将至少两个编辑操作按照执行顺序分别应用到用户账号对应的编辑界面,以及协同用户账号的编辑界面上。
在一些实施例中,编辑操作应用模块4553,还用于:
当第一标签页和第二标签页同时在显示界面的前台显示对应的编辑界面时,在第二标签页显示的编辑界面中实时应用所接收的编辑操作;
当第一标签页在显示界面中前台显示,且第二标签页运行在显示界面的后台时,对所接收的编辑操作进行记录;
响应于将第二标签页切换到显示界面的前台的操作,将所接收的编辑操作应用到第二标签页的编辑界面。
在一些实施例中,操作冲突处理模块4556,还用于:在编辑界面中的内容中应用编辑操作以在编辑界面中的内容中呈现对应的编辑结果之后,当编辑操作与接收到的其他编辑操作发生冲突时,获取接收到的其他编辑操作所对应的时间戳;根据时间戳,确定其他编辑操作的执行顺序,并根据执行顺序,将其他编辑操作应用到第一标签页中以呈现对应的编辑结果。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的在线文档的同步管理方法,例如,如图6A-6D示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文档系统中的文档,可以可被存储在保存其它程序或数据的文档的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文档中,或者,存储在多个协同文档(例如,存储一个或多个模块、子程序或代码部分的文档)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例通过标签页之间对于编辑操作的通信过程,能够实现支持多个标签页在线以及离线状态下的数据同步、数据查看以及数据编辑。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (17)

1.一种在线文档的同步管理方法,其特征在于,所述方法包括:
在基于用户账号登录过的第一标签页中显示在线文档的编辑界面,其中,所述第一标签页已经从在线状态转换为离线状态;
响应于在所述编辑界面中接收的编辑操作,通过共享中间件将所述编辑操作产生的编辑数据存储在共享数据队列中,在所述编辑界面的内容中应用所述编辑操作以在所述编辑界面的内容中呈现对应的编辑结果,并
通过所述共享中间件将所述编辑操作发送到基于所述用户账号登录过的第二标签页,其中,所述第二标签页已经从在线状态转换为离线状态,所述共享中间件用于维护所述第一标签页与所述第二标签页之间的共享数据队列,所述共享数据队列用于存储对应所述编辑操作的编辑数据;
当所述第二标签页显示所述在线文档的编辑界面时,在所述第二标签页显示的编辑界面的内容中应用所接收的所述编辑操作,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
2.根据权利要求1所述的方法,其特征在于,所述在基于用户账号登录过的第一标签页中显示在线文档的编辑界面,包括:
在终端设备运行的客户端中,基于所述用户账号登录在线文档系统,以在所述客户端的第一标签页中显示在线文档的编辑界面;
所述方法还包括:
基于所述用户账号在客户端中登录所述在线文档系统,并在登录时于所述客户端的第二标签页中显示所述在线文档的编辑界面。
3.根据权利要求1所述的方法,其特征在于,所述通过所述共享中间件将所述编辑操作发送到基于所述用户账号登录过的第二标签页,包括:
通过所述共享中间件获取离线状态期间所述第一标签页接收到的编辑操作,将所述编辑操作的编辑类型、编辑位置以及编辑内容组合为所述编辑数据,并将所述第一标签页的编辑界面中接收到的编辑操作所对应的编辑数据发送到所述第二标签页。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
通过所述共享中间件获取离线状态期间所述第二标签页接收到的编辑操作,并发送到所述第一标签页;
当所述第一标签页显示所述用户账号对应的编辑界面时,在所述第一标签页显示的编辑界面中应用所接收的编辑操作,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
5.根据权利要求3所述的方法,其特征在于,当所述第一标签页和所述第二标签页从离线状态转换为在线状态时,所述方法还包括:
通过所述共享中间件向所述在线文档系统提交离线状态期间收集的编辑操作,以应用到所述在线文档的协同用户账号的编辑界面;
通过所述共享中间件接收在所述离线状态期间所述协同用户账号的编辑操作,并发送到所述第一标签页和所述第二标签页,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
6.根据权利要求4所述的方法,其特征在于,当所述第一标签页和所述第二标签页从离线状态转换为在线状态时,所述方法还包括:
通过所述共享中间件向所述在线文档系统提交离线状态期间收集的编辑操作,以应用到所述在线文档的协同用户账号的编辑界面;
通过所述共享中间件接收在所述离线状态期间所述协同用户账号的编辑操作,并发送到所述第一标签页和所述第二标签页,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
7.根据权利要求3所述的方法,其特征在于,
所述通过所述共享中间件获取离线状态期间所述第一标签页接收到的编辑操作,包括:
当所述第一标签页和所述第二标签页运行在终端设备的同一客户端中时,通过运行在所述终端设备的所述共享中间件,从所述第一标签页获取在所述离线状态期间所述第一标签页接收的编辑操作;
当所述第一标签页和所述第二标签页运行在终端设备的不同客户端时,通过所述共享中间件、并经由所述不同客户端之间的进程间通信服务,获取所述第一标签页接收的编辑操作;
当所述第一标签页和所述第二标签页运行在不同终端设备的客户端时,通过所述共享中间件、并经由不同客户端之间的进程间通信服务,以及所述不同终端设备之间的近距离通信服务,从所述第一标签页获取所述第一标签页离线状态期间接收的编辑操作。
8.根据权利要求1所述的方法,其特征在于,所述通过所述共享中间件将所述编辑操作发送到基于所述用户账号登录过的第二标签页,包括:
当所述第一标签页和所述第二标签页在所述用户账号登录后保持在线状态时,
通过所述共享中间件,在所述第一标签页和所述第二标签页上实时同步所述第一标签页和所述第二标签页分别接收的编辑操作,以使所述第一标签页与所述第二标签页分别显示的编辑界面中的内容保持一致。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
通过所述共享中间件,将在所述第一标签页和所述第二标签页上接收的编辑操作发送至在线文档系统,以使所述在线文档系统将所述编辑操作应用到协同用户账号的编辑界面,并
通过所述共享中间件,从所述在线文档系统接收所述协同用户账号针对所述在线文档的编辑操作,并发送到所述第一标签页和所述第二标签页的编辑界面,以使所述在线文档对应不同用户账号的编辑界面中的内容一致。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于登录所述第一标签页和所述第二标签页的操作,从在线文档系统中获取用于标签页通信的共享中间件,或者激活终端设备中对应所述第一标签页和所述第二标签页的共享中间件,并进行对应所述共享中间件的前端部署,以构建对应所述共享中间件的共享数据队列。
11.根据权利要求1-10任一项所述的方法,其特征在于,当所述第一标签页和所述第二标签页之间的编辑同步过程存在操作冲突时,所述方法还包括:
确定所述第一标签页中接收到的编辑操作和所述第二标签页中接收到的编辑操作分别对应的时间戳;
根据所述时间戳,确定在所述第一标签页和所述第二标签页中接收到的至少两个编辑操作的执行顺序,并将所述至少两个编辑操作按照所述执行顺序应用到所述第一标签页和所述第二标签页。
12.根据权利要求1-10任一项所述的方法,其特征在于,当所述用户账号的编辑操作和协同用户账号的编辑操作存在操作冲突时,所述方法还包括:
发送所述用户账号的编辑操作至在线文档系统,以使所述在线文档系统确定所述用户账号的编辑操作和所述协同用户账号的编辑操作分别对应的时间戳,并
根据所述时间戳,确定对应至少两个编辑操作的执行顺序,并将所述至少两个编辑操作按照所述执行顺序分别应用到所述用户账号对应的编辑界面、以及所述协同用户账号的编辑界面上。
13.根据权利要求1所述的方法,其特征在于,所述在所述第二标签页显示的编辑界面中应用所接收的所述编辑操作,包括:
当所述第一标签页和所述第二标签页同时在显示界面的前台显示对应的编辑界面时,在所述第二标签页显示的编辑界面中实时应用所接收的所述编辑操作;
当所述第一标签页在所述显示界面中前台显示,且所述第二标签页运行在所述显示界面的后台时,对所接收的编辑操作进行记录;
响应于将所述第二标签页切换到所述显示界面的前台的操作,将所接收的编辑操作应用到所述第二标签页的编辑界面。
14.根据权利要求1-4、7-10或13任一项所述的方法,其特征在于,在所述编辑界面中的内容中应用所述编辑操作以在所述编辑界面中的内容中呈现对应的编辑结果之后,所述方法还包括:
当所述编辑操作与接收到的其他编辑操作发生冲突时,获取接收到的其他编辑操作所对应的时间戳;
根据所述时间戳,确定所述其他编辑操作的执行顺序,并根据所述执行顺序,将所述其他编辑操作应用到所述第一标签页中以呈现对应的编辑结果。
15.一种在线文档的同步管理装置,其特征在于,包括:
用户登录模块,用于在基于用户账号登录过的第一标签页中显示在线文档的编辑界面,其中,所述第一标签页已经从在线状态转换为离线状态;
标签页同步模块,用于响应于在所述编辑界面中接收的编辑操作,通过共享中间件将所述编辑操作产生的编辑数据存储在共享数据队列中,在所述编辑界面的内容中应用所述编辑操作以在所述编辑界面的内容中呈现对应的编辑结果,并
通过所述共享中间件将所述编辑操作发送到基于所述用户账号登录过的第二标签页,其中,所述第二标签页已经从在线状态转换为离线状态,所述共享中间件用于维护所述第一标签页与所述第二标签页之间的共享数据队列,所述共享数据队列用于存储对应所述编辑操作的编辑数据;
编辑操作应用模块,用于当所述第二标签页显示所述在线文档的编辑界面时,在所述第二标签页显示的编辑界面的内容中应用所接收的所述编辑操作,以使
所述第二标签页与所述第一标签页分别显示的编辑界面中的内容保持一致。
16.一种在线文档的同步管理设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至14任一项所述的在线文档的同步管理方法。
17.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至14任一项所述的在线文档的同步管理方法。
CN201911137325.3A 2019-11-19 2019-11-19 在线文档的同步管理方法、装置及设备 Active CN112667585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911137325.3A CN112667585B (zh) 2019-11-19 2019-11-19 在线文档的同步管理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911137325.3A CN112667585B (zh) 2019-11-19 2019-11-19 在线文档的同步管理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112667585A CN112667585A (zh) 2021-04-16
CN112667585B true CN112667585B (zh) 2022-06-07

Family

ID=75400734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911137325.3A Active CN112667585B (zh) 2019-11-19 2019-11-19 在线文档的同步管理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112667585B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132216B (zh) * 2021-04-20 2023-06-27 北京京东振世信息技术有限公司 即时通信方法、装置及可读存储介质和电子设备
CN115481597A (zh) * 2021-05-31 2022-12-16 腾讯科技(深圳)有限公司 电子文档的编辑方法、装置、设备及存储介质
CN113268587A (zh) * 2021-06-07 2021-08-17 统信软件技术有限公司 一种文档显示方法、计算设备及可读存储介质
CN114237464B (zh) * 2021-11-11 2022-11-04 荣耀终端有限公司 一种数据共享方法及电子设备
CN114579014A (zh) * 2022-01-20 2022-06-03 北京达佳互联信息技术有限公司 文档展示方法及装置
CN114528816B (zh) * 2022-01-27 2023-03-17 北京飞书科技有限公司 协同编辑的信息展示方法、装置、电子设备和可读介质
CN114500570B (zh) * 2022-02-09 2024-02-13 北京字跳网络技术有限公司 任务处理方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411977A (zh) * 2015-07-31 2017-02-15 腾讯科技(深圳)有限公司 标签页同步方法、终端、服务器及系统
CN107656988A (zh) * 2017-09-12 2018-02-02 北京北信源软件股份有限公司 文档编辑方法及系统
CN109918601A (zh) * 2019-02-03 2019-06-21 广州视源电子科技股份有限公司 在线文档的编辑方法、装置、计算机设备和存储介质
CN110019279A (zh) * 2019-04-11 2019-07-16 北京字节跳动网络技术有限公司 在线文档的协同更新方法、装置、设备及存储介质
CN110309494A (zh) * 2019-05-31 2019-10-08 深圳壹账通智能科技有限公司 基于页面端同步编辑文档的方法、装置及计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361395B2 (en) * 2011-01-13 2016-06-07 Google Inc. System and method for providing offline access in a hosted document service
CN103685338A (zh) * 2012-08-31 2014-03-26 英业达科技有限公司 在离线时储存目标文档以等待在线时同步的系统及其方法
CN103488754B (zh) * 2013-09-22 2017-03-29 复旦大学 一种异构文档协作云服务间透明互操作的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411977A (zh) * 2015-07-31 2017-02-15 腾讯科技(深圳)有限公司 标签页同步方法、终端、服务器及系统
CN107656988A (zh) * 2017-09-12 2018-02-02 北京北信源软件股份有限公司 文档编辑方法及系统
CN109918601A (zh) * 2019-02-03 2019-06-21 广州视源电子科技股份有限公司 在线文档的编辑方法、装置、计算机设备和存储介质
CN110019279A (zh) * 2019-04-11 2019-07-16 北京字节跳动网络技术有限公司 在线文档的协同更新方法、装置、设备及存储介质
CN110309494A (zh) * 2019-05-31 2019-10-08 深圳壹账通智能科技有限公司 基于页面端同步编辑文档的方法、装置及计算机设备

Also Published As

Publication number Publication date
CN112667585A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN112667585B (zh) 在线文档的同步管理方法、装置及设备
CN101983380B (zh) 文档的同步协作审阅
CN104133828B (zh) 用于html文档的拖放剪贴板
US7721303B2 (en) System for management of interactions between users and software applications in a web environment
US8584081B2 (en) Server side application integration framework
US8990714B2 (en) Replaying captured network interactions
CN107430622A (zh) 用于向用户通知对存储在基于云的文件存储系统中的文件的改变的系统和方法
Strom et al. Concurrency control and view notification algorithms for collaborative replicated objects
EP3547611A1 (en) Communication system, communication method, and information processing apparatus
US20170214726A1 (en) Open Collaboration Board with Multiple Integrated Services
CN108509207A (zh) Web应用程序的跨系统安装
US20120089931A1 (en) Lightweight operation automation based on gui
US20140040924A1 (en) Invocation of additional processing using remote procedure calls
EP3196783A1 (en) Open collaboration board with multiple integrated services
US20220317822A1 (en) Multiple windows for a group-based communication system
Aguilar SignalR Programming in Microsoft ASP. NET
WO2023179549A1 (zh) 一种文档块分享方法、装置、系统及存储介质
EP2715543A2 (en) Redirecting requests to secondary location during temporary outage
Manca et al. Customizable dynamic user interface distribution
CN111309211A (zh) 图片处理方法、装置及存储介质
Shen et al. Achieving data consistency by contextualization in web-based collaborative applications
US12021805B2 (en) Collaboration software development kit
CN114626796A (zh) 任务处理方法、装置、电子设备及存储介质
Ozono et al. A real-time collaborative web page editing system WFE-S based on cloud computing environment
US11659021B2 (en) Asynchronous distributed modular function calling

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40042453

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant