CN111985191A - 一种多人协同在线文档编辑方法及其装置 - Google Patents
一种多人协同在线文档编辑方法及其装置 Download PDFInfo
- Publication number
- CN111985191A CN111985191A CN202010779139.6A CN202010779139A CN111985191A CN 111985191 A CN111985191 A CN 111985191A CN 202010779139 A CN202010779139 A CN 202010779139A CN 111985191 A CN111985191 A CN 111985191A
- Authority
- CN
- China
- Prior art keywords
- document
- chapter
- user
- server
- request
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012217 deletion Methods 0.000 claims abstract description 11
- 230000037430 deletion Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000013475 authorization Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供了一种多人协同在线文档编辑方法以及装置,该方法和装置包括在创建初始文档时,将文档分拆成若干个章节,文档的每个章节均设计有唯一的标识ID以及所在章节的位置标识,同时会录入多个具有新增、编辑、删除、拖拽操作权限的用户;该方法和装置允许用户对文档进行多人协同在线编辑,对于正在编辑文档的用户,能随时看到当前编辑文档的所有用户,每次新增、编辑、删除以及拖拽完成后本方法会对文档实时保存;采用本发明多人协同在线文档编辑方法以及装置,解决了传统文档不能多人同时协同编辑的问题,保证了编辑内容的共享性、统一性和实效性,提高了文档编辑协同工作的效率,同时也有效提升了文档的安全性,避免由于意外造成数据的丢失。
Description
技术领域
本发明涉及计算机互联网技术领域,尤其涉及一种多人协同在线文档编辑方法及其装置。
背景技术
如今多人在线协作文档编辑器已被广泛应用,但是这些多人在线协作文档编辑器都有一些明显的缺点,现有多人在线协作文档编辑编辑器有的不能控制文档各章节的编辑权限每个用户对文档的使用权限是相同的,当多人同时编辑同一份文档时,所有用户都可以对同一章节进行编辑,会造成内容冲突。有的虽然对编辑权限做了控制,在编辑某一章节时会将文档章节锁定,此时其他用户虽然不能对此章节进行编辑操作,但是也不能进行新增、删除其他章节的编辑操作,只能等待该用户编辑完成后,其他用户才能进行其他章节的编辑操作。而这样会使后续需要对该文档其他章节进行新增、删除或编辑操作的用户等待时间过长,从而会浪费后续用户的时间,甚至会造成因重要文档不能及时编辑完成而对工作造成影响。同时,现有技术也不支持对文档章节进行任意拖拽排序的操作,除此之外,现有技术对正在编辑的文档章节内容也不能实时保存,经常会造成文档数据的丢失。
发明内容
本发明的目的是为了解决传统文档不能同时多人协同在线编辑而造成冲突的问题,提出一种多人协同在线文档编辑方法及其装置,本发明的方法在锁定被编辑文档的章节时,其它章节的操作依然可以正常进行。本发明还提供了对文档章节进行任意拖拽排序的操作以及文档编辑的自动保存功能。
本发明的技术方案之一提供了一种多人协同在线文档编辑方法,其特征在于,该方法包括创建初始文档,将文档分拆成若干个章节,文档的每个章节均设计有唯一的标识ID以及所在章节的位置标识,同时录入多个具有操作权限的用户,多人协同在线对文档章节进行新增、编辑或删除操作;其编辑操作步骤如下:
1)用户A向服务器申请编辑文档某个章节的请求,所述服务器收到所述请求后,通过长连接判断文档所述章节是否有其他用户在操作,如没有,则将此信息返回给所述用户A,告知用户A可以对文档所述章节进行编辑,在所述用户A与所述章节之间建立长连接的同时对长连接添加独占锁;
2)当用户B对文档的同样所述章节向服务器发送编辑请求时,所述服务器收到所述请求后,根据文档所述章节的唯一标识ID发现文档所述章节已添加了长连接独占锁,服务器将此信息返回给所述用户B,告知所述用户B文档所述章节正在被所述用户A编辑,其他用户则不被允许编辑所述章节;
3)当所述用户A对文档所述章节编辑完成后,向服务器发起自动实时保存请求,所述服务器收到所述请求后,自动存储和更新所述用户A编辑修改的文档所述章节内容,并将所述用户A的编辑操作请求推送给所述用户B,同时释放与所述章节的长连接独占锁断开长连接,所述用户B收到服务器推送的编辑文档章节操作后,在本地执行编辑文档所述章节的操作并更新所述章节的内容;
4)所述用户B向服务器发送新增文档某一章节的请求,所述服务器收到所述请求后,根据所述用户B发送的内容,存储新增文档所述章节内容并将新增操作请求推送给所述用户A,所述用户A收到服务器推送的新增文档所述章节请求后,在本地执行新增文档章节的操作并***新增文档的所述章节;
5)所述用户B向所述服务器发送删除文档某一章节的请求,当所述服务器收到所述请求后,根据所述用户B发送的内容,通过文档所述章节的唯一标识ID找到所述章节,删除所述章节,并将删除文档所述章节操作请求推送给所述用户A,所述用户A收到服务器推送的删除所述章节操作请求后,在本地执行删除文档所述章节操作并删除文档的所述章节。
进一步,该方法还包括对文档章节进行任意拖拽排序的操作;当所述用户B向所述服务器发送拖拽文档某一章节到目标章节下方的排序请求,所述服务器收到所述请求后,根据所述用户B发送的内容,通过文档所述章节的唯一标识ID找到源章节和所述目标章节,根据所述目标章节修改所述源章节的排序后,重新对文档所述章节进行排序,并将所述拖拽操作请求推送给所述用户A,用户A收到服务器推送的所述拖拽章节请求后,在本地执行所述拖拽操作并对文档所述章节重新排序。
本发明在所述创建初始文档时同时录入的所述用户具有新增、编辑、删除、拖拽操作权限和查看权限,其他未被录入的用户则只有查看权限。
本发明所述文档内容在数据库中以文档的所述章节为单位存储,每一个所述章节就是一条数据,包括所述章节的唯一标识ID以及所在章节的位置标识、章节所属的文档、章节的内容、章节的上级以及章节的序号等字段,通过这些所述数据在客户端和服务器之间建立起长连接。
所述用户在创建文档时与文档建立了长连接,在编辑章节时与章节建立了长连接;所述长连接用来判断文档章节是否正在被其他客户端编辑以及是否添加了独占锁或断开了独占锁,并通过长连接向服务器申请编辑操作权限请求的用户发送是否可以进行编辑的信息。
本发明所述服务器在收到实时保存请求后,在自动存储和更新用户编辑修改的文档所述章节内容的过程中,客户端实时监听文档所述章节内容的变化,并会在所述章节内容发送变化1-5秒后继续向服务器发送实时保存请求;执行实时保存请求后,在监听到下一次内容发送变化时,再在1-5秒后发送实时保存请求。
本发明的另一技术方案是提供一种多人协同在线文档编辑装置,其特点在于,该装置包括权限验证模块、文档编辑同步模块、文档新增同步模块、文档删除同步模块以及文档拖拽同步模块;其中,
权限验证模块:用于验证用户的编辑操作权限,当用户请求新增、编辑、删除、拖拽操作修改文档某个章节时,首先验证所述用户是否具有文档的操作权限,如果没有则只能查看;如果有则进一步验证请求修改的文档所述章节是否有其他用户正在编辑,如果没有,将所述用户和文档所述章节在客户端和服务器之间建立起长连接,并对所述长连接添加独占锁,此时,其他用户则没有权限编辑文档所述章节;
文档编辑同步模块:用户在文档的编辑过程中,客户端将实时监听文档所述章节内容的修改变化,将修改后的所述章节内容发送给服务器自动实时保存,所述服务器收到自动实时保存请求后,存储用户修改的文档章节内容,并通过所述长连接将实时保存请求推送给其他用户,其他用户收到请求后,在本地执行编辑保存操作完成更新;当文档所述章节内容连续发生变化时,客户端会在每次执行完监听1-5秒后向服务器发送实时保存请求;当编辑完成后,通过所述长连接向服务器推送编辑完成的消息,服务器断开所述长连接并释放所述独占锁,此时,其他用户则可以编辑此章节;
文档新增同步模块:用户向服务器发送新增文档章节的请求,所述服务器收到请求后,存储新增文档所述章节内容,并通过所述长连接将新增文档所述章节操作请求推送给其他用户,其他用户收到请求后,在本地执行新增文档所述章节操作并在文档中***所述新增章节;
文档删除同步模块:用户向服务器发送删除文档章节的请求,服务器收到请求后,在服务器的数据库中删除文档所述章节,并通过所述长连接将删除文档所述章节操作请求推送给其他用户,其他用户收到所述请求后,在本地执行删除所述章节的操作并在文档中删除所述章节。
文档拖拽同步模块:用户向服务器发送将文档某一章节拖拽到目标章节下方的请求,服务器收到请求后,首先判断文档所述两个章节的上级章节是否相同,如果相同则在服务器的数据库中根据目标章节的序号修改所述章节的序号,重新对所述章节的兄弟章节重新排序,并通过所述长连接将拖拽文档所述章节操作请求推送给其他用户,其他用户收到所述请求后,执行拖拽所述章节到目标章节下方的操作并对所述章节的兄弟章节重新排序;如果文档所述两个章节的上级章节不相同,则在服务器的数据库中根据目标章节修改所述章节的上级章节和序号,此时需要对所述章节和所述章节的原兄弟章节、所述章节的新兄弟章节重新排序,并通过所述长连接将所述拖拽排序操作推送给其他用户,其他用户收到请求后,在本地执行拖拽所述章节到所述目标章节下方的操作并对所述章节原兄弟章节和新兄弟章节重新排序。本发明所述文档拖拽同步模块中所述的兄弟章节是指被拖拽章节的上一章节或下一章节。
本发明所述方法可供多个具有操作权限的用户同时在线对同一文档的各个不同章节进行新增、编辑、删除或拖拽排序操作,并可在各自的用户端进行实时保存和更新。
本发明所述方法和装置应用于服务器端,所述服务器端可以为一个或多个服务器;所述客户端或用户可以是笔记本电脑、台式电脑等设备。
本发明的优点和显著效果还在于,通过服务器端接收客户端用户所发送的用于对文档章节进行编辑操作的请求,并将该编辑操作推送给其它客户端用户,从而使得在相互协作的多个用户或客户端用户之间能够及时的将各自客户端所产生的编辑操作同步到其它客户端,各个客户端的用户能够及时根据彼此的编辑内容相应的调整或者修改自己的编辑内容,尽可能地保证了编辑内容的共享性、统一性和实效性,提升了协同工作的效率。
附图说明
图1是本发明方法的流程示意图;其中,连线中的“Y”表示“是”,连线中的“N”表示“否”;
图2是本发明将文档分拆成若干个章节的内容结构示例图;
图3是本发明装置的结构示意图;
图4是本发明装置的验证权限模块示意图;
图5是本发明装置的文档编辑同步模块示意图;
图6是本发明装置的文档新增模块示意图;
图7是本发明装置的文档删除模块示意图;
图8是本发明装置的拖拽文档同步模块示意图。
具体实施方式
以下参照附图以及示例性实施例对本发明的具体实施方式进行详细说明,和对本发明实施例中的技术方案进行清楚、完整地描述。这里所描述的实施例仅仅是本发明的一部分优选实施例。但这些优选实施例并不限定本发明的其它具体实施方式。本发明的技术方案完整地体现在以下的实施例中。
实施例1
实施例1提供一种多人协同在线文档编辑方法,见附图1。本实施例应用于服务器端,该服务器端可以为一个服务器或者多个服务器,所述方法可实现多个客户端用户之间的协同文档编辑,即同时对同一在线文档的各个章节进行编辑,并可以对文档各个章节进行合理的拖拽排序。用户在创建文档时与文档建立了长连接,在编辑章节时与章节建立了长连接。文档拖拽操作中所述的兄弟章节是指被拖拽章节的上一章节或下一章节。本实施例的客户端用户采用台式电脑。
本实施例的具体实施包括以下操作步骤:
参照附图1和附图2,根据本发明的方法步骤,首先创建初始文档,将文档分拆成若干个章节。如附图2所示,本实施例将文档分解为两个章节,即第一章节和第二章节,第一章节又分解为4个子章节,以及第二章节分解为3个子章节,每个子章节包含有各自的内容。文档的每个章节均设计有唯一的标识ID以及所在章节的位置标识,同时录入多个有新增、编辑、删除、拖拽操作权限的客户端用户。本实施例在创建初始文档的同时录入了用户A和用户B,用户A和用户B具有新增、编辑、删除、拖拽操作权限和查看权限,而其他未被录入的客户端用户只有查看的权限。
本发明所述文档内容在数据库中是以文档的所述章节为单位存储的,每一个所述章节就是一条数据,包括所述章节的唯一标识chapterID、章节所属的文档documentID、章节的内容content、章节的上级parentID以及章节的序号sort等字段,通过这些章节数据在客户端和服务器之间建立起长连接。
通过文档的章节数据所建立起来的长连接,用来判断文档的章节是否正在被其他客户端编辑以及是否添加了独占锁或断开了独占锁,并通过长连接向服务器申请编辑操作权限请求的用户发送是否可以进行编辑的信息。
当用户A打开文档时,向服务器申请查询文档内容的请求,服务器收到请求后,将分拆成两个章节以及其章节下若干个子章节的文档,根据章节所属的文档documentID查询到文档的所有章节和章节的内容content,再根据章节的上级parentID以及章节的序号sort等字段,将文档有序的组合返回给用户A,同时通过websocket,用户A与文档在客户端和服务器之间建立一个长连接,用于客户端与服务器之间的信息通信。
参照图1、图4和图5,当用户A向服务器发送对文档第一章节的编辑修改权限请求时,请求内容为{"documentID":15,chapterID:"b4a73d9129cb99e0c933e561f0b415b4",userID:"a415777d2b4418bdab28744602a719b5"},其中document表示正在编辑的文档标识符,chapterID表示正在编辑的章节标识符,userID表示当前的用户标识符。
服务器收到用户A的编辑修改权限请求后,根据文档documentID和章节chapterID判断第一章节没有与其他客户端建立连接,即通过长连接判断没有其他客户端在编辑文档第一章节,并将此信息返回给用户A,告知用户A可以对文档第一章节进行编辑,在用户A与此章节建立连接的同时对长连接添加独占锁。服务器此时会拒绝其他用户对第一章节申请编辑的授权请求。如当用户C对文档同样的第一章节向服务器发送删除的授权请求,以及用户D发送拖拽的授权请求时,服务器收到用户C和用户D的请求后解析请求中的文档documentID以及章节chapterID,发现进程中已有第一章节和用户A建立了长连接,即根据文档所述章节的唯一标识ID发现文档所述章节已添加了长连接独占锁,则拒绝用户C和用户D的请求,并告知用户C和用户D文档第一章节正在被用户A所编辑,其他客户端则不被允许编辑该章节,因而用户C和用户D均被服务器所拒绝,被返回只能查看该章节的信息。只有当用户A发送断开该章节长连接的请求时,服务器才会释放独占锁断开该章节的长连接。如用户B是在服务器释放独占锁断开长连接后发送编辑的授权请求,服务器返回可以编辑第一章节的信息,用户B即可进行编辑第一章节的操作。
参照图5,当所述用户A文档编辑完成后,向服务器发起自动实时保存请求,服务器在收到所述用户A自动实时保存请求后,自动更新和存储所述用户A编辑修改的文档第一章节内容,同时将所述用户A的实时保存请求操作推送给所述用户B,所述用户B收到服务器推送的上述操作后,在本地执行实时保存操作,提取操作中的文档documentID和章节chapterID,根据chapterID找到第一章节的位置,更新第一章节的内容。
文档编辑修改请求内容为{type:"edit","documentID":15,"chapterID":
"ee1df267ed78c68cbe6ba359b631332a","content":"内容",userID:"
f29bb9c64155cbe3d1863b2309914d78"},其中documentID表示正在编辑的文档标识符,chapterID表示第一章节的标识符,content表示修改的内容,userID表示当前的用户标识符。
所述用户A完成对第一章节的编辑任务后在第一章节编辑区域则失去焦点,通过长连接向服务器推送编辑完成的消息,服务器解析消息中的文档documentID、章节chapterID和用户标识符userID完成信息,释放长连接独占锁并断开所述用户A与第一章节的长连接。此时,其他用户则可以编辑此章节。
所述用户A在编辑过程中,客户端会监听第一章节编辑的内容,当内容发生变化时会向服务器发送实时保存请求。当用户不断输入编辑内容的时候,为了防止高频率地向服务器发送请求实时保存的情况,造成服务器压力过大,客户端监听到编辑内容连续发生变化时发送的实时保存请求时,会在1-5秒后向服务器发送请求,在执行完发送请求后监听到下一次内容改变时,再在1-5秒后发送请求实时保存,即当文档内容连续发生变化时会在每次执行完监听1-5秒后向服务器发送实时保存请求,以减少服务器的压力。本发明的文档编辑自动实时保存功能,有效避免了在意外情况下文档编辑数据的丢失。
参照图6,所述用户B向服务器发送新增文档第二章节的请求,服务器收到所述用户B新增文档第二章节的请求后,根据所述用户B发送的请求内容,新增加内容为{type:"add","documentID":15,"parentID":"646f755a45b6ba36977f35f77974e0c5","content":"内容",userID:"8a19e0254900761367009da74178c414"},其中documentID表示正在编辑的文档标识符,parentID表示第二章节的上级标识符,content表示第二章节的内容,userID表示当前用户标识符。
将新增的第二章节存储在数据库中,同时通过长连接将所述用户B的新增第二章节操作请求推送给所述用户A,所述用户A收到服务器推送的新增文档请求操作后,同样在本地执行新增第二章节的操作,提取操作中的文档documentID和上级parentID,根据上级parentID找到第二章节的位置并***新增文档的第二章节。
参照图7,用户B向所述服务器发送删除文档第三章节的请求,。请求内容为{type:"delete","documentID":15,"chapterID":"2d1a0afd15911adbf372cb532138d499"},其中type表示请求操作类型,documentID表示正在编辑的文档ID,chapterID表示第三章节的标识符。
当服务器收到用户B删除文档第三章节的请求后,根据所述用户B发送的内容,通过所述章节的唯一标识chapterID在数据库中找到第三章节并删除第三章节的内容,同时通过长连接将删除文档章节的操作推送给用户A,用户A收到服务器推送的删除文档章节操作信息后,同样在本地执行删除文档第三章节的操作,提取操作中的文档documentID和章节chapterID,根据chapterID找到第三章节的位置并删除文档的第三章节。
参照图2和图8,用户B向所述服务器拖拽文档章节的请求,即发送将第一章节拖拽到第二章节下方的请求,请求内容为:
{type:"sort","documentID":15,"sourceID":"dc29f988be3da2e690304cdad947743d",,targetID:"0946c17f95ee783fc24818a410ea8204"},其中type表示请求操作类型,documentID表示正在编辑的文档ID,sourceID表示第一章节标识符,targetID表示第二章节标识符。
当服务器收到用户B将第一章节拖拽到第二章节下方的请求后,根据所述用户B发送的内容,服务器收到请求后,首先判断文档所述两个章节的上级章节parentID是否相同,如果相同则在服务器的数据库中根据目标章节的序号修改所述章节的序号,重新对所述章节的兄弟章节重新排序;如果文档所述两个章节的上级章节不相同,则在服务器的数据库中根据目标章节修改所述章节的上级章节和序号,对章节和章节的原兄弟章节、章节的新兄弟章节重新排序,并将拖拽排序操作推送给其他用户,其他用户收到请求后,在本地执行拖拽所述章节到所述目标章节下方的操作,并对章节原兄弟章节和新兄弟章节重新排序。
通过上述两个章节的唯一标识sourceID,targetID在数据库中找到第一章节和第二章节,并根据第二章节的序号修改第一章节的排序,之后对第一章节和第二章节的兄弟章节重新排序,同时通过长连接将拖拽文档章节的操作推送给用户A,用户A收到服务器推送的拖拽文档章节操作信息后,同样在本地执行将第一章节拖拽到第二章节下方的操作,提取操作中的文档documentID、sourceID和targetID,根据sourceID和targetID找到第一章节和第二章节,修改第一章节的序号并对第一章节和第二章节的兄弟章节重新排序,并在本地完成实时保存更新操作。
本实施例通过服务器端接收客户端所发送的用于进行编辑操作和实时保存等具体实施操作,完整地实现了本发明的技术方案,从而使得多个客户端之间能够相互协作进行多人协同在线文档编辑工作,并将各自客户端所产生的编辑操作同步到其它客户端,各个客户端用户能够及时根据文档的编辑内容调整和修改自己的编辑内容,使多人同时在线进行同一文档的编辑,尽可能地保证了编辑内容的统一性以及实效性和共享性,使文档编辑工作的效率得到有效提高。
实施例2
实施例2是多人协同在线文档编辑装置的模块组成具体实施例,参照附图3。多人协同在线文档编辑装置包括权限验证模块、文档编辑同步模块、文档新增同步模块、文档删除同步模块以及文档拖拽同步模块。该装置应用于服务器端,该服务器端可以为一个服务器或者多个服务器。该装置的客户端可以是笔记本电脑、台式电脑等计算机设备。
用户A和用户B在打开文档时,每个客户端会通过websocket以客户端用户ID、文档ID在客户端和服务器之间建立长连接,服务器与每个客户端之间通过长连接通信。如用户A与文档建立起长连接,用户B也与文档建立起长连接。其中各模块执行完成各自的功能。
权限验证模块:用于验证客户端用户的编辑操作权限,当用户请求新增、编辑、删除、拖拽操作修改某个章节时,首先验证用户是否具有文档的编辑操作权限,如果没有则只能查看,如果有则进一步验证请求修改的文档章节是否有其他用户正在编辑,如果没有正在编辑的用户,则将客户端用户和文档章节在客户端和服务器之间建立起长连接,并对所述长连接添加独占锁,此时,其他用户则没有权限编辑文档的该章节。
如图4所示,创建文档时除了文档的基本信息之外,需要录入对文档具有新增、修改、删除、拖拽操作权限的客户端用户,只有拥有权限的用户才能对文档进行操作,其他用户则只能查看文档。
本实施例在创建文档时录入了用户A和用户B。当用户A发起对文档的第一章节的编辑请求,服务器在收到请求后,通过第一章节的内容解析到用户A的ID,与数据库存储的ID进行匹配,匹配成功后再验证第一章节是否与其他用户建立了长连接;如果没有,则通过websocket将用户A、第一章节在客户端和服务器之间建立长连接,并对长连接添加独占锁。此时,服务器会拒绝其他用户对第一章节申请编辑的授权请求。当用户B发起新增章节的授权请求时,服务器同样将用户B的ID和数据库中存储的ID进行匹配,匹配成功后用户B则有权限新增章节。而当用户C发起新增章节的请求时,服务器判断用户C的ID和数据库中存储的ID不匹配,用户C则直接返回到只能查看信息状态。当用户D发起拖拽章节的请求时,服务器判断用户D的ID和数据库中存储的ID不匹配,用户D也直接返回到只能查看信息状态。
文档编辑同步模块:用户在文档的编辑过程中,客户端将实时监听文档所述章节内容的变化,将修改的章节内容发送给服务器自动实时保存,服务器收到自动实时保存请求后,存储用户编辑修改的文档内容并通过长连接将实时保存操作请求推送其他用户,其他用户收到操作请求后,在本地执行同样的操作完成章节更新。当文档内容连续发生变化时会在每次执行完监听1-5秒后向服务器发送实时保存请求,;编辑完成后,通过长连接向服务器推送编辑完成的消息,服务器断开长连接并释放独占锁,此时,其他用户则可以编辑此章节;
如图5所示,用户A在编辑第一章节的过程中会监听第一章节的编辑内容,当内容发生变化时,用户A会向服务器发送实时保存的请求;当用户A不断地输入发生变化的内容的时候,为了防止高频率地向服务器发送请求实时保存,造成服务器压力过大,客户端监听到内容发送变化时,会在1-5秒后向服务器发送请求,执行完发送请求后,当监听到下一次内容改变1-5秒后再次发送请求实时保存。服务器收到用户A的请求,将修改的内容存储在数据库同时通过长连接将用户A的操作推送给用户B,用户B则在本地执行请求实时保存的操作,更新第一章节的内容。待用户A完成编辑后,在第一章节区域失去焦点,服务器则释放长连接独占锁并断开用户A与第一章节的长连接。此时,用户B可以编辑第一章节,用户B与第一章节建立了长连接。
文档新增同步模块:用户向服务器发送新增文档章节的请求,服务器收到请求后,存储新增文档的章节内容,并通过长连接将新增文档章节请求操作推送给其他用户,其他用户收到后,在本地执行新增文档章节的操作并在文档中***所述新增章节。
如图6所示,用户B向服务器发送新增文档第二章节的请求,服务器解析请求中的文档documentID、上级parentID以及内容content,在数据库中根据parentID***文档第二章节,同时将用户B的新增章节操作通过长连接推送给用户A,用户A则执行新增第二章节的操作,通过传入的上级parentID找到新增章节的位置并***文档第二章节。
文档删除同步模块:用户向服务器发送删除文档章节的请求,服务器收到请求后,在服务器的数据库中删除文档所述章节,并通过长连接将删除章节请求操作推送给其他用户,其他用户收到后,在本地执行删除章节的操作并在文档中删除所述章节。
如图7所示,用户B向服务器发送删除文档第三章节的请求,服务器解析请求中的文档documentID、章节chapterID,在数据库中通过章节chapterID删除文档第三章节,同时将用户B删除第三章节操作请求通过长连接推送给用户A,用户A则执行删除第三章节请求的操作,并通过章节chapterID删除文档第三章节。
文档拖拽同步模块:用户向服务器发送将某一章节拖拽到目标章节下方的请求,服务器收到请求后,首先判断所述两个章节的上级章节parentID是否相同,如果相同则在服务器的数据库中根据目标章节的序号修改所述章节的序号,重新对所述章节的兄弟章节重新排序,并通过长连接将拖拽操作推送给其他用户,其他用户收到后执行拖拽所述章节到目标章节下方的操作并对所述章节兄弟章节重新排序。如果不同,则在服务器的数据库中根据目标章节修改所述章节的上级parentID和序号sort,此时需要对所述章节的原兄弟章节、所述章节的新兄弟章节重新排序,并通过长连接将拖拽操作推送给其他用户,其他用户收到后在本地执行拖拽所述章节到目标章节下方的操作并对所述章节原兄弟章节和新兄弟章节重新排序。本实施例所述的兄弟章节是指被拖拽章节的上一章节或下一章节。
如图2和图8所示,整个文档是以章节为单位展示的,文档分为两部分,左侧为章节目录,目录是由可拖拽的树形组件根据数据库中存储的数据渲染而成。右侧为章节内容,内容和目录一一对应。用户A可以通过拖拽章节目录进行排序,每个章节的属性中都包括章节ID、序号sort和上级parentID。
例1:用户A执行将第一章节拖拽到第二章节下方的操作时,第一章节的sort为1,第二章节的sort为2,向服务发送拖拽操作请求。服务器解析请求中的sourceID、targetID通过sourceID和targetID查找到第一章节和第二章节,将第一章节的sort在第二章节的sort基础上加0.5,即为2.5然后根据sort大小将第一章节和第二章节重新排序,此时第二章节的sort为1,第一章节的sort为2。排序完成后将拖拽操作推送给用户B,用户B则在本地执行同样的拖拽请求的操作,并通过章节sourceID和targetID对第一章节和第二章节重新排序。
例2:用户A执行将第一章节的子章节1拖拽到第二章节的子章节2下方的操作时,第一章节的子章节1的sort为1,第二章节的子章节2的sort为2,向服务发送拖拽操作请求。服务器解析请求中的sourceID、targetID通过sourceID和targetID查找到第一章节的子章节1和第二章节的子章节2,通过对比两个章节的parentID,发现子章节1和子章节2不属于同一个目录,则在数据库中将子章节1的parentID修改为第二章节,将子章节1的sort在子章节2的sort基础上加0.5,即为2.5然后根据sort大小将子章节1的原兄弟章节和子章节2的兄弟章节重新排序取整,此时子章节1和子章节2都属于第二章节,子章节2的sort为2,子章节1的sort为3。排序完成后将拖拽操作推送给用户B,用户B则在本地执行同样的拖拽请求的操作,并通过章节sourceID和targetID对子章节1的原兄弟章节和新兄弟章节重新排序。
上述两个实施例完整的实现了本发明的方法以及装置的技术方案,从而使得多个客户端之间能够相互协作进行多人协同在线文档编辑工作,使多人同时在线进行同一文档的编辑,尽可能地保证了编辑内容的统一性以及实效性和共享性,使文档编辑工作的效率得到了极大地提高,同时也有效提升了文档的安全性,有效的避免了由于意外造成数据的丢失。
以上实施例仅是本发明的优选实施方式,而并非对本发明技术方案的限制。对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下还可以做出各种改进,这些改进也应视为本发明的保护范围。
Claims (12)
1.一种多人协同在线文档编辑方法,其特征在于,该方法包括创建初始文档,将文档分拆成若干个章节,文档的每个章节均设计有唯一的标识ID以及所在章节的位置标识,同时录入多个具有操作权限的用户,多人协同在线对文档章节进行新增、编辑或删除操作;其编辑操作步骤如下:
1)用户A向服务器申请编辑文档某个章节的请求,所述服务器收到所述请求后,通过长连接判断文档所述章节是否有其他用户在操作,如没有,则将此信息返回给所述用户A,告知用户A可以对文档所述章节进行编辑,在所述用户A与所述章节之间建立长连接的同时对长连接添加独占锁;
2)当用户B对文档的同样所述章节向服务器发送编辑请求时,所述服务器收到所述请求后,根据文档所述章节的唯一标识ID发现文档所述章节已添加了长连接独占锁,服务器将此信息返回给所述用户B,告知所述用户B文档所述章节正在被所述用户A编辑,其他用户则不被允许编辑所述章节;
3)当所述用户A对文档所述章节编辑完成后,向服务器发起自动实时保存请求,所述服务器收到所述请求后,自动存储和更新所述用户A编辑修改的文档所述章节内容,并将所述用户A的编辑操作请求推送给所述用户B,同时释放与所述章节的长连接独占锁断开长连接,所述用户B收到服务器推送的编辑文档章节操作后,在本地执行编辑文档所述章节的操作并更新所述章节的内容;
4)所述用户B向服务器发送新增文档某一章节的请求,所述服务器收到所述请求后,根据所述用户B发送的内容,存储新增文档所述章节内容并将新增操作请求推送给所述用户A,所述用户A收到服务器推送的新增文档所述章节请求后,在本地执行新增文档章节的操作并***新增文档的所述章节;
5)所述用户B向所述服务器发送删除文档某一章节的请求,当所述服务器收到所述请求后,根据所述用户B发送的内容,通过文档所述章节的唯一标识ID找到所述章节,删除所述章节,并将删除文档所述章节操作请求推送给所述用户A,所述用户A收到服务器推送的删除所述章节操作请求后,在本地执行删除文档所述章节操作并删除文档的所述章节。
2.根据权利要求1所述的多人协同在线文档编辑方法,其特征在于,该方法还包括对文档章节进行任意拖拽排序的操作;当所述用户B向所述服务器发送拖拽文档某一章节到目标章节下方的排序请求,所述服务器收到所述请求后,根据所述用户B发送的内容,通过文档所述章节的唯一标识ID找到源章节和目标章节,根据所述目标章节修改所述源章节的排序后,重新对文档所述章节进行排序,并将所述拖拽操作请求推送给所述用户A,用户A收到服务器推送的所述拖拽章节请求后,在本地执行所述拖拽操作并对文档所述章节重新排序。
3.根据权利要求1或2所述的多人协同在线文档编辑方法,其特征在于,在所述创建初始文档时同时录入的所述用户具有新增、编辑、删除、拖拽操作权限和查看权限,其他未被录入的用户则只有查看权限。
4.根据权利要求1所述的多人协同在线文档编辑方法,其特征在于,所述文档内容在数据库中以文档的所述章节为单位存储,每一个所述章节就是一条数据,包括所述章节的唯一标识ID以及所在章节的位置标识、章节所属的文档、章节的内容、章节的上级以及章节的序号等字段,通过这些所述数据在客户端和服务器之间建立起长连接。
5.根据权利要求1或4所述的多人协同在线文档编辑方法,其特征在于,用户在创建文档时与文档建立了长连接,在编辑章节时与章节建立了长连接;所述长连接用来判断文档章节是否正在被其他客户端编辑以及是否添加了独占锁或断开了独占锁,并通过长连接向服务器申请编辑操作权限请求的用户发送是否可以进行编辑的信息。
6.根据权利要求1所述的多人协同在线文档编辑方法,其特征在于,所述服务器在收到实时保存请求后,在自动存储和更新用户编辑修改的文档所述章节内容的过程中,客户端实时监听文档所述章节内容的变化,并会在所述章节内容发送变化1-5秒后继续向服务器发送实时保存请求;执行实时保存请求后,在监听到下一次内容发送变化时,再在1-5秒后发送实时保存请求。
7.根据权利要求1至6所述的多人协同在线文档编辑方法,其特征在于,所述方法可供多个具有操作权限的用户同时在线对同一文档的各个不同章节进行新增、编辑、删除或拖拽排序操作,并可在各自的用户端进行实时保存和更新。
8.根据权利要求1至6所述的多人协同在线文档编辑方法,其特征在于,所述方法应用于服务器端,所述服务器端可以为一个或多个服务器。
9.一种多人协同在线文档编辑装置,其特征在于,该装置包括权限验证模块、文档编辑同步模块、文档新增同步模块、文档删除同步模块以及文档拖拽同步模块;其中,
权限验证模块:用于验证用户的编辑操作权限,当用户请求新增、编辑、删除、拖拽操作修改文档某个章节时,首先验证所述用户是否具有文档的操作权限,如果没有则只能查看;如果有则进一步验证请求修改的文档所述章节是否有其他用户正在编辑,如果没有,将所述用户和文档所述章节在客户端和服务器之间建立起长连接,并对所述长连接添加独占锁,此时,其他用户则没有权限编辑文档所述章节;
文档编辑同步模块:用户在文档的编辑过程中,客户端将实时监听文档所述章节内容的修改变化,将修改后的所述章节内容发送给服务器自动实时保存,所述服务器收到自动实时保存请求后,存储用户修改的文档章节内容,并通过所述长连接将实时保存请求推送给其他用户,其他用户收到请求后,在本地执行编辑保存操作完成更新;当文档所述章节内容连续发生变化时,客户端会在每次执行完监听1-5秒后向服务器发送实时保存请求;当编辑完成后,通过所述长连接向服务器推送编辑完成的消息,服务器断开所述长连接并释放所述独占锁,此时,其他用户则可以编辑此章节;
文档新增同步模块:用户向服务器发送新增文档章节的请求,所述服务器收到请求后,存储新增文档所述章节内容,并通过所述长连接将新增文档所述章节操作请求推送给其他用户,其他用户收到请求后,在本地执行新增文档所述章节操作并在文档中***所述新增章节;
文档删除同步模块:用户向服务器发送删除文档章节的请求,服务器收到请求后,在服务器的数据库中删除文档所述章节,并通过所述长连接将删除文档所述章节操作请求推送给其他用户,其他用户收到所述请求后,在本地执行删除所述章节的操作并在文档中删除所述章节;
文档拖拽同步模块:用户向服务器发送将文档某一章节拖拽到目标章节下方的请求,服务器收到请求后,首先判断文档所述两个章节的上级章节是否相同,如果相同则在服务器的数据库中根据目标章节的序号修改所述章节的序号,重新对所述章节的兄弟章节重新排序,并通过所述长连接将拖拽文档所述章节操作请求推送给其他用户,其他用户收到所述请求后,执行拖拽所述章节到目标章节下方的操作并对所述章节的兄弟章节重新排序;如果文档所述两个章节的上级章节不相同,则在服务器的数据库中根据目标章节修改所述章节的上级章节和序号,此时需要对所述章节和所述章节的原兄弟章节、所述章节的新兄弟章节重新排序,并通过所述长连接将所述拖拽排序操作推送给其他用户,其他用户收到请求后,在本地执行拖拽所述章节到所述目标章节下方的操作并对所述章节原兄弟章节和新兄弟章节重新排序。
10.根据权利要求9所述的多人协同在线文档编辑装置,其特征在于,所述文档拖拽同步模块中所述的兄弟章节是指被拖拽章节的上一章节或下一章节。
11.根据权利要求9所述的多人协同在线文档编辑装置,其特征在于,该装置的模块应用于服务器端,该服务器端可以为一个服务器或者多个服务器。
12.根据权利要求9所述的多人协同在线文档编辑装置,其特征在于,该装置的客户端用户可以是笔记本电脑、台式电脑等设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779139.6A CN111985191B (zh) | 2020-08-05 | 2020-08-05 | 一种多人协同在线文档编辑方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779139.6A CN111985191B (zh) | 2020-08-05 | 2020-08-05 | 一种多人协同在线文档编辑方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111985191A true CN111985191A (zh) | 2020-11-24 |
CN111985191B CN111985191B (zh) | 2024-03-29 |
Family
ID=73445111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010779139.6A Active CN111985191B (zh) | 2020-08-05 | 2020-08-05 | 一种多人协同在线文档编辑方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985191B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651720A (zh) * | 2021-01-04 | 2021-04-13 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 基于web实时造型的铁路BIM***的多用户协作编辑方法及装置 |
CN112784530A (zh) * | 2021-02-08 | 2021-05-11 | 中国工商银行股份有限公司 | 文档修改差异展示方法及装置 |
CN112822232A (zh) * | 2020-12-28 | 2021-05-18 | 浙江中控技术股份有限公司 | 批记录***协同组态实现方法、装置、设备及存储介质 |
CN113128184A (zh) * | 2021-04-23 | 2021-07-16 | 中国工商银行股份有限公司 | 针对多人协同编辑文档的文档内容筛选方法及装置 |
CN113312911A (zh) * | 2021-05-26 | 2021-08-27 | 上海晏鼠计算机技术股份有限公司 | 一种基于大纲的自动授权与文段智能创作方法 |
CN113486197A (zh) * | 2021-06-28 | 2021-10-08 | 特赞(上海)信息科技有限公司 | 多媒体的标签管理方法、装置、设备和存储介质 |
CN113657077A (zh) * | 2021-10-20 | 2021-11-16 | 北京关键科技股份有限公司 | 一种文档可变章节在线编写方法及可读存储介质 |
CN113822024A (zh) * | 2021-09-24 | 2021-12-21 | 杭州同泽信息技术服务有限公司 | 一种支持多人在线编辑财务文档及校验真伪的方法和装置 |
CN114528816A (zh) * | 2022-01-27 | 2022-05-24 | 北京飞书科技有限公司 | 协同编辑的信息展示方法、装置、电子设备和可读介质 |
CN114615535A (zh) * | 2022-02-14 | 2022-06-10 | 北京威尔文教科技有限责任公司 | 同步显示方法、装置、电子设备和可读存储介质 |
CN115061988A (zh) * | 2022-05-27 | 2022-09-16 | 上海鸿翼软件技术股份有限公司 | 一种计算机处理文档编辑冲突优化方法 |
CN116992517A (zh) * | 2023-09-28 | 2023-11-03 | 山东华云三维科技有限公司 | 一种三维cad模型的协同建模方法、服务器及终端 |
CN117113942A (zh) * | 2023-10-24 | 2023-11-24 | 杭州百子尖科技股份有限公司 | 一种模型同步方法、装置、电子设备以及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US6983416B1 (en) * | 2000-04-04 | 2006-01-03 | Electronics And Telecommunications Research Institute | System and method for cooperative editing of web document |
WO2007062949A1 (en) * | 2005-11-29 | 2007-06-07 | International Business Machines Corporation | Allowing multiple users to simultaneously edit a shared electronic document |
US20090006948A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Integrated collaborative user interface for a document editor program |
WO2009061638A1 (en) * | 2007-11-09 | 2009-05-14 | Microsoft Corporation | Collaborative authoring |
CN101763341A (zh) * | 2009-12-23 | 2010-06-30 | 宇龙计算机通信科技(深圳)有限公司 | 一种文本协同方法、***及触摸屏设备 |
CN102436441A (zh) * | 2010-10-26 | 2012-05-02 | 微软公司 | 同步在线文档编辑 |
JP2012150647A (ja) * | 2011-01-19 | 2012-08-09 | Konica Minolta Business Technologies Inc | 文書データ処理装置、文書データ処理システムおよびコンピュータプログラム |
CN102999480A (zh) * | 2012-11-09 | 2013-03-27 | 中国电子科技集团公司第十五研究所 | 编辑文档的方法及*** |
CN103092820A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 一种电子文档协同编辑装置的实现 |
CN103914439A (zh) * | 2013-01-04 | 2014-07-09 | ***通信集团公司 | 一种文档在线编辑方法、设备以及*** |
CN108549623A (zh) * | 2018-04-12 | 2018-09-18 | 北京三快在线科技有限公司 | 协作文档编辑控制方法、装置、电子设备及存储介质 |
CN109445657A (zh) * | 2018-10-17 | 2019-03-08 | 天津字节跳动科技有限公司 | 文档编辑方法和装置 |
CN109714155A (zh) * | 2019-03-13 | 2019-05-03 | 北京信息科技大学 | 一种基于量子密钥分发(qkd)网络的协同编辑***权限管理方法 |
CN110324387A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 基于WebSocket实现文档锁的方法、存储介质、设备及*** |
-
2020
- 2020-08-05 CN CN202010779139.6A patent/CN111985191B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US6983416B1 (en) * | 2000-04-04 | 2006-01-03 | Electronics And Telecommunications Research Institute | System and method for cooperative editing of web document |
WO2007062949A1 (en) * | 2005-11-29 | 2007-06-07 | International Business Machines Corporation | Allowing multiple users to simultaneously edit a shared electronic document |
US20090006948A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Integrated collaborative user interface for a document editor program |
WO2009061638A1 (en) * | 2007-11-09 | 2009-05-14 | Microsoft Corporation | Collaborative authoring |
CN101763341A (zh) * | 2009-12-23 | 2010-06-30 | 宇龙计算机通信科技(深圳)有限公司 | 一种文本协同方法、***及触摸屏设备 |
CN102436441A (zh) * | 2010-10-26 | 2012-05-02 | 微软公司 | 同步在线文档编辑 |
JP2012150647A (ja) * | 2011-01-19 | 2012-08-09 | Konica Minolta Business Technologies Inc | 文書データ処理装置、文書データ処理システムおよびコンピュータプログラム |
CN103092820A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 一种电子文档协同编辑装置的实现 |
CN102999480A (zh) * | 2012-11-09 | 2013-03-27 | 中国电子科技集团公司第十五研究所 | 编辑文档的方法及*** |
CN103914439A (zh) * | 2013-01-04 | 2014-07-09 | ***通信集团公司 | 一种文档在线编辑方法、设备以及*** |
CN110324387A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 基于WebSocket实现文档锁的方法、存储介质、设备及*** |
CN108549623A (zh) * | 2018-04-12 | 2018-09-18 | 北京三快在线科技有限公司 | 协作文档编辑控制方法、装置、电子设备及存储介质 |
CN109445657A (zh) * | 2018-10-17 | 2019-03-08 | 天津字节跳动科技有限公司 | 文档编辑方法和装置 |
CN109714155A (zh) * | 2019-03-13 | 2019-05-03 | 北京信息科技大学 | 一种基于量子密钥分发(qkd)网络的协同编辑***权限管理方法 |
Non-Patent Citations (1)
Title |
---|
郭拥宾;施运梅;李宁;: "基于文档标注和锁的一致性维护方法", 计算机工程与设计, no. 08, 16 August 2016 (2016-08-16) * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022142655A1 (zh) * | 2020-12-28 | 2022-07-07 | 浙江中控技术股份有限公司 | 批记录***协同组态实现方法、装置、设备及存储介质 |
CN112822232A (zh) * | 2020-12-28 | 2021-05-18 | 浙江中控技术股份有限公司 | 批记录***协同组态实现方法、装置、设备及存储介质 |
CN112651720A (zh) * | 2021-01-04 | 2021-04-13 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 基于web实时造型的铁路BIM***的多用户协作编辑方法及装置 |
CN112784530A (zh) * | 2021-02-08 | 2021-05-11 | 中国工商银行股份有限公司 | 文档修改差异展示方法及装置 |
CN113128184A (zh) * | 2021-04-23 | 2021-07-16 | 中国工商银行股份有限公司 | 针对多人协同编辑文档的文档内容筛选方法及装置 |
CN113312911A (zh) * | 2021-05-26 | 2021-08-27 | 上海晏鼠计算机技术股份有限公司 | 一种基于大纲的自动授权与文段智能创作方法 |
CN113312911B (zh) * | 2021-05-26 | 2022-07-12 | 上海晏鼠计算机技术股份有限公司 | 一种基于大纲的自动授权与文段智能创作方法 |
CN113486197A (zh) * | 2021-06-28 | 2021-10-08 | 特赞(上海)信息科技有限公司 | 多媒体的标签管理方法、装置、设备和存储介质 |
CN113822024A (zh) * | 2021-09-24 | 2021-12-21 | 杭州同泽信息技术服务有限公司 | 一种支持多人在线编辑财务文档及校验真伪的方法和装置 |
CN113657077A (zh) * | 2021-10-20 | 2021-11-16 | 北京关键科技股份有限公司 | 一种文档可变章节在线编写方法及可读存储介质 |
CN114528816A (zh) * | 2022-01-27 | 2022-05-24 | 北京飞书科技有限公司 | 协同编辑的信息展示方法、装置、电子设备和可读介质 |
CN114615535A (zh) * | 2022-02-14 | 2022-06-10 | 北京威尔文教科技有限责任公司 | 同步显示方法、装置、电子设备和可读存储介质 |
CN115061988A (zh) * | 2022-05-27 | 2022-09-16 | 上海鸿翼软件技术股份有限公司 | 一种计算机处理文档编辑冲突优化方法 |
CN116992517A (zh) * | 2023-09-28 | 2023-11-03 | 山东华云三维科技有限公司 | 一种三维cad模型的协同建模方法、服务器及终端 |
CN116992517B (zh) * | 2023-09-28 | 2023-12-26 | 山东华云三维科技有限公司 | 一种三维cad模型的协同建模方法、服务器及终端 |
CN117113942A (zh) * | 2023-10-24 | 2023-11-24 | 杭州百子尖科技股份有限公司 | 一种模型同步方法、装置、电子设备以及存储介质 |
CN117113942B (zh) * | 2023-10-24 | 2024-02-20 | 杭州百子尖科技股份有限公司 | 一种模型同步方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111985191B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985191B (zh) | 一种多人协同在线文档编辑方法及其装置 | |
US20190288902A1 (en) | File sharing method, apparatus, and storage medium | |
CN101217431B (zh) | 同步移动终端、网络电视、网络相册的图片的方法及*** | |
US7937752B2 (en) | Systems and methods for authenticating communications in a network medium | |
EP1589722B1 (en) | Method, system, and apparatus for enabling near real time collaboration on an electronic document | |
US8874951B1 (en) | Private peer-to-peer network platform for secure collaborative production and management of digital assets | |
US20150134614A1 (en) | Determining a preferred modified version from among multiple modified versions for synchronized files | |
CN108965217B (zh) | 一种基于c/s架构的多屏幕多媒体交互*** | |
CN106648903B (zh) | 调用分布式文件***的方法和装置 | |
WO2007113836A2 (en) | Peer to peer syncronization system and method | |
KR20010094087A (ko) | 문서 공동 편집 장치 및 그 방법 | |
WO2016022033A1 (en) | An online meeting system and method | |
CN112968977B (zh) | 信息交互方法及装置 | |
JP2023529769A (ja) | グループベースコミュニケーションシステムにおいて組織接続を管理するための方法、装置及びコンピュータプログラム製品 | |
CN103870727B (zh) | 一种统一管理权限的方法及*** | |
WO2019051628A1 (zh) | 一种文件分发、下载方法、分发服务器、客户端及*** | |
CN106713391A (zh) | 一种session信息的共享方法和共享*** | |
CN101252550A (zh) | 自定义信息管理装置、方法及*** | |
CN111586042A (zh) | 一种多屏互动方法、终端及存储介质 | |
KR20130011130A (ko) | 메모 데이터의 동기화를 위한 메모 동기화 시스템, 모바일 시스템 및 메모 동기화 방법 | |
CN112073289A (zh) | 一种即时通信控制方法及装置 | |
CN111651418A (zh) | 一种文档内容下载方法、装置、计算机设备和存储介质 | |
EP2808820A1 (en) | Method of changing password in an industrial automation and control system | |
CN108347449B (zh) | 一种管理远程登录的方法及设备 | |
CN108156201B (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 |