







技术领域technical field
本发明涉及数据处理领域,具体而言,涉及一种数据协同处理的方法、装置和系统。The present invention relates to the field of data processing, and in particular, to a method, device and system for collaborative data processing.
背景技术Background technique
协同编辑用于表示可以多人同时在线对同一文档进行编辑,常常应用于多人会议等场景中。图1是现有技术中协同编辑文档的示意图。结合图1所示,客户端和即时通信服务器之间维持一个websocket的长链接,当客户端对文档进行修改时,实现方式如下:①客户端通过HTTP通道向协同编辑服务器上报增量改动信息;②协同编辑服务器对请求加上分布时序,异步按照顺序处理文档快照;③协同编辑服务器调用即时通信服务器的信令接口,将对文档的改动发送至即时通信服务器;④即时通信服务器通过长链接向其他客户端广播此次修改;⑤其他客户端接收到消息后合并改动,展示新的文档内容。Collaborative editing is used to indicate that multiple people can edit the same document online at the same time, and is often used in scenarios such as multi-person conferences. FIG. 1 is a schematic diagram of collaboratively editing a document in the prior art. As shown in Figure 1, a long websocket link is maintained between the client and the instant messaging server. When the client modifies the document, the implementation is as follows: 1. The client reports the incremental change information to the collaborative editing server through the HTTP channel; ②The collaborative editing server adds distribution timing to the request, and processes document snapshots asynchronously and sequentially; ③The collaborative editing server calls the signaling interface of the instant messaging server, and sends the changes to the document to the instant messaging server; ④The instant messaging server sends a long link to the instant messaging server. Other clients broadcast the modification; ⑤Other clients merge the modification after receiving the message, and display the new document content.
由此可见,一个客户端对文档的依次修改需要五个步骤才可以展示到其他客户端的页面上,导致反应时间过长,而由在多个用户协作编辑时,每个用户的网络状况不太一样,较长的链路将会放大这种缺陷,从而容易使得个别客户端显示的文档和其他客户端显示的文档存在差异,进而导致部分客户端的体验不佳。It can be seen that it takes five steps for one client to modify the document sequentially before it can be displayed on the pages of other clients, resulting in a long response time. Similarly, a longer link will magnify this defect, which may easily cause differences between documents displayed by individual clients and documents displayed by other clients, resulting in poor experience for some clients.
针对现有技术中由于协同编辑文件时由客户端修改文档至文档显示于客户端之间的链路较长,导致客户端容易出现更新不及时的问题,目前尚未提出有效的解决方案。In the prior art, due to the long link between the modification of the document by the client and the display of the document on the client when the file is collaboratively edited, the client is prone to untimely updating, and no effective solution has been proposed yet.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供了一种数据协同处理的方法、装置和系统,以至少解决现有技术中由于协同编辑文件时由客户端修改文档至文档显示于客户端之间的链路较长,导致客户端容易出现更新不及时的技术问题。Embodiments of the present invention provide a method, device, and system for collaborative data processing, so as to at least solve the problem in the prior art due to a long link between when a client edits a document collaboratively and when the document is displayed on the client. Clients are prone to technical problems with untimely updates.
根据本发明实施例的一个方面,提供了一种数据协同处理的系统,包括:参与目标文件的协同处理的多个客户端;即时通信服务器,与多个客户端通信,即时通信服务器用于接收至少一个第一客户端发送的对目标文件的修改数据,生成修改数据对应的序列标识,并将修改数据广播至第二客户端,其中,第二客户端为多个客户端中除第一客户端之外的其他客户端;在将修改数据广播至第二客户端的同时,即时通信服务器还用于向协同编辑服务器发送修改数据和修改数据对应的序列标识;协同编辑服务器,与即时通信服务器通信,协同编辑服务器用于按照序列标识记录的顺序根据修改数据生成与序列标识对应的快照数据。According to an aspect of the embodiments of the present invention, a system for collaborative data processing is provided, comprising: multiple clients participating in the collaborative processing of target files; an instant messaging server, communicating with the multiple clients, and the instant messaging server for receiving At least one first client sends modification data to the target file, generates a sequence identifier corresponding to the modified data, and broadcasts the modified data to a second client, where the second client is the first client among the multiple clients. Other clients other than the client; while broadcasting the modified data to the second client, the instant messaging server is also used to send the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server; the collaborative editing server communicates with the instant messaging server , the collaborative editing server is configured to generate snapshot data corresponding to the sequence ID according to the modified data according to the sequence of the sequence ID records.
进一步地,即时通信服务器用于按照接收修改数据的顺序生成递增的序列标识。Further, the instant messaging server is configured to generate incremental sequence identifiers according to the order in which the modified data is received.
进一步地,上述系统还包括:待加入客户端,待加入客户端用于向协同编辑服务器发送快照数据获取请求;协同编辑服务器还用于根据快照数据获取请求,并向待加入客户端返回根据序列标识确定的最新的目标快照数据和目标快照数据对应的目标序列标识。Further, the above system also includes: a client to be added, the client to be added is used to send a snapshot data acquisition request to the collaborative editing server; the collaborative editing server is also used to acquire the request according to the snapshot data, and return the according to the sequence to the client to be added. Identifies the determined latest target snapshot data and the target sequence identifier corresponding to the target snapshot data.
进一步地,待加入客户端用于通过任意一个已参与所述协同处理的客户端发送的分享信息,获取目标文件的文件标识,并基于文件标识向协同编辑服务器发送快照数据获取请求。Further, the to-be-joined client is used to obtain the file identifier of the target file through sharing information sent by any client that has participated in the collaborative processing, and send a snapshot data acquisition request to the collaborative editing server based on the file identifier.
进一步地,即时通信服务器还用于保存预设时间段内的修改数据和修改数据对应的序列标识;待加入客户端还用于将目标序列标识和即时通信服务器中的序列标识进行比对,获取大于目标序列标识的其他序列标识,并基于其他序列标识对应的修改数据对目标快照数据进行补偿。Further, the instant messaging server is also used to save the modified data within a preset time period and the sequence identifier corresponding to the modified data; the client to be added is also used to compare the target sequence identifier with the sequence identifier in the instant messaging server, and obtain Other sequence identifiers larger than the target sequence identifier, and the target snapshot data is compensated based on the modified data corresponding to the other sequence identifiers.
进一步地,待加入客户端还用于展示补偿后的目标快照数据。Further, the client to be added is also used to display the compensated target snapshot data.
根据本发明实施例的一个方面,提供了一种数据协同处理的方法,包括:即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,并生成修改数据对应的序列标识;即时通信服务器将修改数据广播至第二客户端,第二客户端为参与目标文件的协同处理的客户端中除第一客户端之外的其他客户端;其中,在将修改数据广播至第二客户端的同时,即时通信服务器向协同编辑服务器发送修改数据和修改数据对应的序列标识,协同编辑服务器按照序列标识记录的顺序根据修改数据生成目标文件的快照数据。According to an aspect of the embodiments of the present invention, a method for collaborative data processing is provided, comprising: an instant messaging server receiving modification data of a target file sent by at least one first client, and generating a sequence identifier corresponding to the modification data; The communication server broadcasts the modified data to the second client, and the second client is other clients except the first client among the clients participating in the cooperative processing of the target file; wherein, after broadcasting the modified data to the second client At the same time, the instant messaging server sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, and the collaborative editing server generates snapshot data of the target file according to the modified data according to the sequence identifier recorded.
进一步地,生成修改数据对应的序列标识,包括:即时通信服务器按照接收修改数据的顺序生成递增的序列标识。Further, generating a sequence identifier corresponding to the modified data includes: the instant messaging server generates an incremental sequence identifier according to the sequence in which the modified data is received.
进一步地,上述方法还包括:即时通信服务器向待加入客户端返回其他序列标识对应的修改数据;其中,待加入客户端从协同编辑服务器处获取协同编辑服务器中最新的目标快照数据和对应的目标序列标识,并将目标序列标识与即时通信服务器中的序列标识进行比对,确定大于目标序列标识的序列标识为其他序列标识。Further, the above method also includes: the instant messaging server returns the modified data corresponding to other sequence identifiers to the client to be added; wherein, the client to be added obtains the latest target snapshot data and the corresponding target in the collaborative editing server from the collaborative editing server. The sequence identifier is compared, and the target sequence identifier is compared with the sequence identifier in the instant messaging server, and the sequence identifier larger than the target sequence identifier is determined as other sequence identifiers.
根据本发明实施例的一个方面,提供了一种数据协同处理的方法,包括:根据分享信息加入目标文件的协同处理,其中,分享信息中包括目标文件的文件标识;根据文件标识获取协同编辑服务器中目标文件最新的目标快照数据和目标快照数据对应的目标序列标识,其中,协同编辑服务器根据即时通信服务器发送的修改数据和对应的序列标识,生成与序列标识对应的快照数据;根据目标序列标识,获取即时通信服务器中接收时间晚于目标快照数据生成时间的修改数据,其中,即时通信服务器接收至少一个客户端发送的修改数据并生成对应的序列标识,将修改数据广播至其他客户端,并同时将修改数据和对应的序列标识发送至协同编辑服务器;根据获取的修改数据对目标快照数据进行补偿。According to an aspect of the embodiments of the present invention, a method for collaborative data processing is provided, including: adding a collaborative processing of a target file according to sharing information, wherein the sharing information includes a file identifier of the target file; obtaining a collaborative editing server according to the file identifier The latest target snapshot data of the target file in the target file and the target sequence identifier corresponding to the target snapshot data, wherein the collaborative editing server generates the snapshot data corresponding to the sequence identifier according to the modified data and the corresponding sequence identifier sent by the instant messaging server; according to the target sequence identifier , obtain the modified data in the instant messaging server whose reception time is later than the generation time of the target snapshot data, wherein the instant messaging server receives the modified data sent by at least one client and generates a corresponding sequence identifier, broadcasts the modified data to other clients, and At the same time, the modified data and the corresponding sequence identifier are sent to the collaborative editing server; the target snapshot data is compensated according to the acquired modified data.
进一步地,根据目标序列标识,获取即时通信服务器中接收时间晚于目标快照数据生成时间的修改数据,包括:将目标序列标识与即时通信服务器中的序列标识进行比对;获取即时通信服务器中大于目标序列标识的序列标识,其中,即时通信服务器按照接收修改数据的顺序生成递增的序列标识;确定获取的修改数据为晚于目标快照数据生成时间的修改数据。Further, according to the target sequence identifier, acquiring the modified data in the instant messaging server whose reception time is later than the generation time of the target snapshot data includes: comparing the target sequence identifier with the sequence identifier in the instant messaging server; The sequence identifier of the target sequence identifier, wherein the instant messaging server generates incremental sequence identifiers in the order in which the modified data is received; it is determined that the acquired modified data is the modified data that is later than the generation time of the target snapshot data.
根据本发明实施例的一个方面,提供了一种数据协同处理的装置,包括:接收模块,用于即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,并生成修改数据对应的序列标识;广播模块,用于即时通信服务器将修改数据广播至第二客户端,第二客户端为参与目标文件的协同处理的客户端中除第一客户端之外的其他客户端;其中,在将修改数据广播至第二客户端的同时,即时通信服务器向协同编辑服务器发送修改数据和修改数据对应的序列标识,协同编辑服务器按照序列标识记录的顺序根据修改数据生成目标文件的快照数据。According to an aspect of the embodiments of the present invention, there is provided an apparatus for data co-processing, including: a receiving module, configured for an instant messaging server to receive modification data of a target file sent by at least one first client, and generate a corresponding data corresponding to the modification data The sequence identifier; the broadcast module is used for the instant messaging server to broadcast the modified data to the second client, and the second client is other clients except the first client among the clients participating in the cooperative processing of the target file; wherein , while broadcasting the modified data to the second client, the instant messaging server sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, and the collaborative editing server generates snapshot data of the target file according to the modified data according to the sequence identifier recorded.
根据本发明实施例的一个方面,提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。According to an aspect of the embodiments of the present invention, a computer storage medium is provided, wherein the computer storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the above-mentioned method steps.
根据本发明实施例的一个方面,提供了一种电子设备,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。According to an aspect of the embodiments of the present invention, an electronic device is provided, including: a processor and a memory; wherein, the memory stores a computer program, and the computer program is adapted to be loaded by the processor and execute the above method steps.
在本发明实施例中,通过即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,生成修改数据对应的序列标识,并将修改数据广播至第二客户端,第二客户端为多个客户端中除第一客户端之外的其他客户端;在将修改数据广播至第二客户端的同时,通过即时通信服务器还向协同编辑服务器发送修改数据和修改数据对应的序列标识,并通过协同编辑服务器按照序列标识记录的顺序根据修改数据生成与序列标识对应的快照数据。上述方案将原本较长的、同步阻塞的协同处理流程拆分成两个异步的短流程,达到了生提升实时性的目的,从而解决了现有技术中由于协同编辑文件时由客户端修改文档至文档显示于客户端之间的链路较长,导致客户端容易出现更新不及时的技术问题。In the embodiment of the present invention, the modification data of the target file sent by at least one first client is received through the instant messaging server, the sequence identifier corresponding to the modification data is generated, and the modification data is broadcast to the second client, the second client It is a client other than the first client among the multiple clients; while broadcasting the modified data to the second client, the instant messaging server also sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, And through the collaborative editing server, the snapshot data corresponding to the sequence ID is generated according to the modified data according to the sequence of the sequence ID records. The above solution splits the originally long, synchronously blocked collaborative processing process into two asynchronous short processes, so as to achieve the purpose of improving real-time performance, thereby solving the problem in the prior art that the client is required to modify the document when the document is collaboratively edited. The link between the documents displayed on the client is long, which makes the client prone to technical problems that the update is not timely.
附图说明Description of drawings
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The accompanying drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the attached image:
图1是现有技术中协同编辑文档的示意图;Fig. 1 is a schematic diagram of collaboratively editing a document in the prior art;
图2是根据本申请实施例的一种数据协同处理的系统的结构图;2 is a structural diagram of a system for collaborative data processing according to an embodiment of the present application;
图3是根据本申请实施例的一种数据协同处理的示意图;3 is a schematic diagram of a data collaborative processing according to an embodiment of the present application;
图4是根据本申请实施例的一种待加入客户端进行数据补偿的示意图;4 is a schematic diagram of data compensation performed by a client to be added according to an embodiment of the present application;
图5是根据本申请实施例的一种数据协同处理的方法;FIG. 5 is a method for collaborative data processing according to an embodiment of the present application;
图6是根据本申请实施例的一种数据协同处理的方法的流程图;6 is a flowchart of a method for collaborative data processing according to an embodiment of the present application;
图7是根据本申请实施例的一种数据协同处理的装置的示意图;以及FIG. 7 is a schematic diagram of an apparatus for collaborative data processing according to an embodiment of the present application; and
图8是根据本申请实施例的一种数据协同处理的装置的示意图。FIG. 8 is a schematic diagram of an apparatus for collaborative data processing according to an embodiment of the present application.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。In order to make those skilled in the art better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only Embodiments are part of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。It should be noted that the terms "first", "second" and the like in the description and claims of the present invention and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence. It is to be understood that the data so used may be interchanged under appropriate circumstances such that the embodiments of the invention described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having" and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those expressly listed Rather, those steps or units may include other steps or units not expressly listed or inherent to these processes, methods, products or devices.
实施例1Example 1
根据本发明实施例,提供了一种数据协同处理的系统实施例,图2是根据本申请实施例的一种数据协同处理的系统的结构图,如图2所示,该系统包括:According to an embodiment of the present invention, an embodiment of a system for collaborative data processing is provided. FIG. 2 is a structural diagram of a system for collaborative data processing according to an embodiment of the present application. As shown in FIG. 2 , the system includes:
参与目标文件的协同处理的多个客户端20;Multiple clients 20 participating in the collaborative processing of target files;
即时通信服务器21,与多个客户端20通信,即时通信服务器21用于接收至少一个第一客户端201发送的对目标文件的修改数据,生成修改数据对应的序列标识,并将修改数据广播至第二客户端202,其中,第二客户端202为多个客户端20中除第一客户端201之外的其他客户端;The instant messaging server 21 communicates with a plurality of clients 20, and the instant messaging server 21 is used to receive the modification data of the target file sent by at least one first client 201, generate the sequence identifier corresponding to the modified data, and broadcast the modified data to a second client 202, wherein the second client 202 is another client except the first client 201 among the multiple clients 20;
在将修改数据广播至第二客户端202的同时,即时通信服务器21还用于向编辑服务器22发送修改数据和修改数据对应的序列标识;While broadcasting the modified data to the second client 202, the instant messaging server 21 is also used to send the modified data and the sequence identifier corresponding to the modified data to the editing server 22;
协同编辑服务器22,与即时通信服务器21通信,协同编辑服务器22用于按照序列标识记录的顺序根据修改数据生成与序列标识对应的快照数据。The collaborative editing server 22 communicates with the instant messaging server 21, and the collaborative editing server 22 is configured to generate snapshot data corresponding to the sequence ID according to the modified data according to the sequence ID recorded.
具体的,上述对目标文件的协同处理指的是允许多个用户同时对同一个文件(即目标文件)共同进行编辑处理,而参与到该协同处理中的客户端即为客户端。Specifically, the above-mentioned collaborative processing of the target file refers to allowing multiple users to edit and process the same file (ie, the target file) simultaneously, and the client participating in the collaborative processing is the client.
对于文件的协同处理,底层会建立一个与之唯一对应的群聊房间,而加入目标文件对应的群聊房间的客户端即为上述多个客户端。每个客户端允许对目标文件进行编辑处理,每个客户端对文档的改动,相当于向该聊天房间里发送消息,该消息即为上述修改数据。For the collaborative processing of files, a unique group chat room will be established at the bottom layer, and the clients that join the group chat room corresponding to the target file are the above multiple clients. Each client is allowed to edit the target file, and each client's modification to the document is equivalent to sending a message to the chat room, and the message is the above modification data.
上述修改数据表示用于对目标文件进行编辑的数据。修改数据可以是客户端根据预设的编码协议,基于对目标文件的修改操作进行编码而得到,其可以包括修改类型(添加、删除、格式改动等)、修改内容(添加的内容、删除内容等)以及修改时间等参数。即时通信服务器在获得修改数据后,根据与编码协议对应的解码协议,即可解析出修改数据中的具体内容。The above-mentioned modification data represents data for editing the target file. The modification data may be obtained by the client through encoding the target file according to a preset encoding protocol, and may include modification type (addition, deletion, format change, etc.), modification content (added content, deleted content, etc. ) and parameters such as modification time. After obtaining the modified data, the instant messaging server can parse out the specific content in the modified data according to the decoding protocol corresponding to the encoding protocol.
上述第一客户端用于表示客户端中,向即时通信服务器发送修改数据的客户端,第二客户端表示客户端中除第一客户端之外的其他客户端。图3是根据本申请实施例的一种数据协同处理的示意图,结合图3所示,当客户端1向即时通信服务器发送修改数据时,客户端2、客户端3和客户端4均为第二客户端,同理的,当客户端2向即时通信服务器发送修改数据时,客户端1、客户端3和客户端4均为第二客户端。The above-mentioned first client is used to refer to the client that sends modified data to the instant messaging server, and the second client refers to other clients except the first client among the clients. Fig. 3 is a schematic diagram of a data collaborative processing according to an embodiment of the present application. With reference to Fig. 3, when
即时通信服务器用于接收任意一个第一客户端发送的修改数据后,为修改数据生成对应的序列标识(seq-id),通过该序列标识即可识别出修改数据到达即时通信服务器的顺序。即时通信服务器还将修改数据广播至其他的第二客户端,第二客户端在接收到修改数据后,基于修改数据对当前的目标文件进行修改,从而能够完成多个客户端对目标文件的协同处理。After receiving the modified data sent by any first client, the instant messaging server generates a corresponding sequence identifier (seq-id) for the modified data, and the sequence in which the modified data arrives at the instant messaging server can be identified through the sequence identifier. The instant messaging server also broadcasts the modified data to other second clients. After the second client receives the modified data, it modifies the current target file based on the modified data, so as to complete the collaboration of multiple clients on the target file. deal with.
在即时通信服务器向第二客户端广播修改数据的同时,即时通信服务器还向协同编辑服务器发送修改数据和修改数据对应的序列标识,以使协同编辑服务器能够根据修改数据对目标文件进行修改后生成目标文件的快照数据,该快照数据也与修改数据的序列标识相对应。在一种可选的实施例中,多个客户端与即时通信服务器之间通过WebSocket通信,即时通信服务器与协同编辑服务器之间通过RabbitMQ等MQ(Message Queue,消息队列)系列的协议进行通信,从而能够实现即时通信服务器与协同编辑服务器之间的解耦。When the instant messaging server broadcasts the modified data to the second client, the instant messaging server also sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, so that the collaborative editing server can modify the target file according to the modified data and generate Snapshot data of the target file, which also corresponds to the sequence ID of the modified data. In an optional embodiment, multiple clients communicate with the instant messaging server through WebSocket, and the instant messaging server and the collaborative editing server communicate through MQ (Message Queue, message queue) series protocols such as RabbitMQ, Therefore, the decoupling between the instant messaging server and the collaborative editing server can be realized.
下面结合图3说明,在本申请上述实施例提供的方案中,多个客户端对目标文件的处理仅需要三个步骤即可完成。下面以客户端1发送修改数据为例进行说明。①当用户在通过客户端1对目标文档进行修改操作时,客户端1向即时通信服务器发送修改数据,即时通信服务器生成修改数据对应的序列标识,并将修改数据进行保存;②即时通信服务器将修改数据广播至客户端2、客户端3和客户端4,客户端2、客户端3和客户端4即可根据修改数据对目标文件进行修改后展示在客户端中;③在即时通信服务器执行步骤②的同时,还将修改数据与其对应的序列标识发送至协同编辑服务器,由协同编辑服务器根据序列标识所表示的修改数据的顺序,依次生成目标文件的快照数据。In the following description with reference to FIG. 3 , in the solution provided by the above-mentioned embodiment of the present application, the processing of the target file by multiple clients can be completed in only three steps. The following takes the
由此可知,本申请上述实施例通过即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,生成修改数据对应的序列标识,并将修改数据广播至第二客户端,第二客户端为多个客户端中除第一客户端之外的其他客户端;在将修改数据广播至第二客户端的同时,通过即时通信服务器还向协同编辑服务器发送修改数据和修改数据对应的序列标识,并通过协同编辑服务器按照序列标识记录的顺序根据修改数据生成与序列标识对应的快照数据。上述方案将原本较长的、同步阻塞的协同处理流程拆分成两个异步的短流程,达到了生提升实时性的目的,从而解决了现有技术中由于协同编辑文件时由客户端修改文档至文档显示于客户端之间的链路较长,导致客户端容易出现更新不及时的技术问题。It can be seen that, in the above-mentioned embodiment of the present application, the modification data of the target file sent by at least one first client is received by the instant messaging server, the sequence identifier corresponding to the modification data is generated, and the modification data is broadcast to the second client. The client is other than the first client among the multiple clients; while broadcasting the modified data to the second client, the instant messaging server also sends the modified data and the sequence corresponding to the modified data to the collaborative editing server ID, and generate snapshot data corresponding to the sequence ID according to the modified data according to the sequence ID recorded by the collaborative editing server. The above solution splits the originally long, synchronously blocked collaborative processing process into two asynchronous short processes, so as to achieve the purpose of improving real-time performance, thereby solving the problem in the prior art that the client is required to modify the document when the document is collaboratively edited. The link between the documents displayed on the client is long, which makes the client prone to technical problems that the update is not timely.
作为一种可选的实施例,即时通信服务器用于按照接收修改数据的顺序生成递增的序列标识。As an optional embodiment, the instant messaging server is configured to generate incremental sequence identifiers in the order in which the modified data is received.
在上述方案中,即时通信服务器在生成修改数据的序列标识时,按照其接收到修改数据的先后顺序,生成递增的序列标识。也即,先达到即时通信服务器的修改数据的序列标识小于后达到即时通信服务器的修改数据的序列标识。In the above solution, when generating the sequence identifier of the modified data, the instant messaging server generates the incremental sequence identifier according to the sequence in which the modified data is received. That is, the sequence identifier of the modified data that reaches the instant messaging server first is smaller than the sequence identifier of the modified data that reaches the instant messaging server later.
通过上述方案生成修改数据的序列标识,即可根据序列标识的大小来确定修改数据达到即时通信服务器的顺序。By generating the sequence identifier of the modified data through the above solution, the sequence in which the modified data reaches the instant messaging server can be determined according to the size of the sequence identifier.
需要说明的是,上述序列标识是按照即时通信服务器接收到修改数据的顺序来生成的,即根据修改数据达到即时通信服务器的顺序来生成的。存在一种情况,客户端1比客户端2先向即时通信服务器发送修改数据,但由于客户端1与即时通信服务器之间的通信链路卡顿或其他原因,导致客户端1发送的修改数据达到即时通信服务器的时间晚于客户端2发送的修改数据,在这种情况下,虽然客户端1发送修改数据的时间早于客户端2,但由于客户端2发送端修改数据优先到达即时通信服务器,因此即时通信服务器为客户端2生成的序列标识仍小于为客户端1生成的序列标识。It should be noted that the above sequence identifiers are generated according to the sequence in which the instant messaging server receives the modified data, that is, generated according to the sequence in which the modified data reaches the instant messaging server. There is a situation where
作为一种可选的实施例,上述系统还包括:待加入客户端,待加入客户端用于向协同编辑服务器发送快照数据获取请求;协同编辑服务器还用于根据快照数据获取请求,并向待加入客户端返回根据序列标识确定的最新的目标快照数据和目标快照数据对应的目标序列标识。As an optional embodiment, the above system further includes: a client to be added, the client to be added is configured to send a snapshot data acquisition request to the collaborative editing server; the collaborative editing server is further configured to acquire the snapshot data according to the request, and send the request to the collaborative editing server. The joining client returns the latest target snapshot data determined according to the sequence identifier and the target sequence identifier corresponding to the target snapshot data.
上述待加入客户端为需要对目标文件进行协同处理的客户端,待加入客户端向协同编辑服务器发送快照数据获取请求,以从协同编辑服务器处获取协同编辑服务器中最新的快照数据,即上述目标快照数据。The above-mentioned client to be added is a client that needs to perform collaborative processing on the target file, and the client to be added sends a snapshot data acquisition request to the collaborative editing server to obtain the latest snapshot data in the collaborative editing server from the collaborative editing server, that is, the above target. Snapshot data.
仍结合图3所示,待加入客户端先执行步骤a2,向协同编辑服务器发送快照数据获取请求,然后协同编辑服务器执行步骤b2,向待加入客户端返回其最新的快照数据及其序列标识,即目标快照数据及其序列标识。通过该方式,使得待加入客户端获取了最新的目标文件。Still as shown in Figure 3, the client to be added first performs step a2, sends a snapshot data acquisition request to the collaborative editing server, and then the collaborative editing server executes step b2, and returns its latest snapshot data and its sequence identifier to the client to be added, That is, the target snapshot data and its sequence ID. In this way, the client to be joined acquires the latest target file.
作为一种可选的实施例,待加入客户端用于通过任意一个已参与所述协同处理的客户端发送的分享信息,获取目标文件的文件标识,并基于文件标识向协同编辑服务器发送快照数据获取请求。As an optional embodiment, the to-be-joined client is used to obtain the file identifier of the target file through sharing information sent by any client that has participated in the collaborative processing, and send snapshot data to the collaborative editing server based on the file identifier Get request.
具体的,上述分享信息可以是包含分享链接的文本、包含分享链接的二维码或其他形式的分享信息,该分享信息中至少包括目标文件的文件标识,即docId,文件标识与文件本身一一对应,也即其为文件的唯一标识。待加入客户端通过该分享信息,即可进入到目标文件的群聊房间,参与到对目标文件的协同处理中。Specifically, the above-mentioned sharing information may be a text containing a sharing link, a QR code containing a sharing link, or other forms of sharing information, and the sharing information at least includes the file identifier of the target file, that is, the docId, and the file identifier and the file itself are one by one. Corresponding, that is, it is the unique identifier of the file. Through the shared information, the client to be joined can enter the group chat room of the target file and participate in the collaborative processing of the target file.
在一种可选的实施例中,在对目标文件进行协同操作的过程中,还需要邀请其他客户端参与对该目标文件的协同处理。因此其中一个已经参与协同处理的客户端将链接通过即时通信软件分享至需要邀请的客户端,该客户端通过获得的链接即可获取到目标文件的文件标识,并能够根据文件标识加入对目标文件的协同处理,并向协同编辑服务器发送快照数据获取请求。In an optional embodiment, other clients need to be invited to participate in the cooperative processing of the target file in the process of performing the cooperative operation on the target file. Therefore, one of the clients that has already participated in the collaborative processing shares the link to the client that needs to be invited through the instant messaging software, and the client can obtain the file ID of the target file through the obtained link, and can join the target file according to the file ID. , and send a snapshot data acquisition request to the collaborative editing server.
作为一种可选的实施例,即时通信服务器还用于保存预设时间段内的修改数据和修改数据对应的序列标识;待加入客户端还用于将目标序列标识和即时通信服务器中的序列标识进行比对,获取大于目标序列标识的其他序列标识,并基于其他序列标识对应的修改数据对目标快照数据进行补偿。As an optional embodiment, the instant messaging server is also used to save the modified data within a preset time period and the sequence identifier corresponding to the modified data; the client to be added is also used to store the target sequence identifier and the sequence in the instant messaging server The identifiers are compared, other sequence identifiers larger than the target sequence identifier are obtained, and the target snapshot data is compensated based on the modified data corresponding to the other sequence identifiers.
在上述方案中,即时通信服务器会保存预设时间段内的修改数据及其序列标识,例如,可以保存七天内的修改数据及其序列标识。In the above solution, the instant messaging server will save the modified data and its sequence identifier within a preset time period, for example, it can save the modified data and its sequence identifier within seven days.
结合图1所示,现有技术中,在需要新加入客户端时,待加入客户端通过步骤a1向协同编辑服务器中请求最新的快照数据,协同编辑服务器通过步骤b1向待加入服务器返回最新的快照数据,然后待加入服务器通过c1即可参与到对文件的协同处理中。但当新客户端加入时,其他的客户端可能还在持续的编辑,这部分改动信息协同编辑服务端可能来不及处理,那么协同编辑服务端的快照就是不完整的,从而会导致新客户端加入时拿到的快照数据也不完整。1, in the prior art, when a new client needs to be added, the client to be added requests the latest snapshot data from the collaborative editing server through step a1, and the collaborative editing server returns the latest snapshot data to the server to be added through step b1. Snapshot data, and then the server to be added can participate in the collaborative processing of files through c1. However, when a new client is added, other clients may continue to edit, and the collaborative editing server may not be able to process this part of the change information, so the snapshot of the collaborative editing server will be incomplete, which will cause the new client to join. The obtained snapshot data is also incomplete.
同样的,在本实施例中,由于即时通信服务器向第二客户端广播修改数据和即时通信服务器向协同编辑服务器发送修改数据是同时进行的,因此难以确保协同编辑服务器中的目标快照数据记录的是最新的目标文件,也即难以确保待加入客户端从协同编辑服务器中能够获取到最新的目标文件对应的快照数据。Similarly, in this embodiment, since the instant messaging server broadcasts the modified data to the second client and the instant messaging server sends the modified data to the collaborative editing server at the same time, it is difficult to ensure that the target snapshot data in the collaborative editing server is recorded. It is the latest target file, that is, it is difficult to ensure that the client to be added can obtain the snapshot data corresponding to the latest target file from the collaborative editing server.
在这种情况下,上述方案采用了补偿的方式来解决上述问题。在上述方案中,在待加入客户端从协同编辑服务器中获取到目标快照数据及其序列标识后,再去访问即时通信服务器,通过将目标序列标识与即时通信服务器中的序列标识进行比较的方式,来确定是否存在晚于目标快照数据的修改数据。如果即时通信服务器中不存在大于目标序列标识的序列标识,则说明目标快照数据为最新的目标文件的快照数据,待加入客户端可以直接显示目标快照数据,而如果即时通信服务器中存在大于目标序列标识的序列标识,则说明在目标快照数据之后,目标文件还进行了其他修改,则待加入客户端需要使用这些在目标快照数据之后的修改数据,对目标快照数据进行补偿,以得到最新的目标文件。In this case, the above solution adopts a compensation method to solve the above problem. In the above solution, after the to-be-joined client obtains the target snapshot data and its sequence identifier from the collaborative editing server, it accesses the instant messaging server, and compares the target sequence identifier with the sequence identifier in the instant messaging server. , to determine if there is modified data later than the target snapshot data. If there is no sequence ID larger than the target sequence ID in the instant messaging server, it means that the target snapshot data is the snapshot data of the latest target file, and the client to be added can directly display the target snapshot data. The sequence identifier of the identifier indicates that other modifications have been made to the target file after the target snapshot data, and the client to be added needs to use these modified data after the target snapshot data to compensate the target snapshot data to obtain the latest target. document.
仍结合图3所示,在执行步骤b2之后,待加入客户端还执行步骤c2访问即时通信客户端,将目标快照数据对应的序列标识与即时通信服务器中记录的序列标识进行比对,并获取大于目标快照数据对应的序列标识的其他标识,使用其他标识对应的修改数据对目标快照数据进行补偿,从而得到最新的目标文件。Still as shown in FIG. 3 , after step b2 is executed, the client to be added also executes step c2 to access the instant messaging client, compares the sequence identifier corresponding to the target snapshot data with the sequence identifier recorded in the instant messaging server, and obtains For other identifiers greater than the sequence identifiers corresponding to the target snapshot data, the target snapshot data is compensated with the modified data corresponding to the other identifiers, thereby obtaining the latest target file.
由此,上述方案通过对从协同编辑服务器中获取的快照数据进行补偿的方案,从而能够保证待加入客户端能够获取到最完整的目标文件,解决了客户端加入时容易产生的部分数据丢失的情况。Therefore, the above solution can ensure that the client to be added can obtain the most complete target file by compensating the snapshot data obtained from the collaborative editing server, and solve the problem of partial data loss that is easy to occur when the client joins. Happening.
图4是根据本申请实施例的一种待加入客户端进行数据补偿的示意图,结合图4所示,即时通信服务器中维护了递增的消息序列,该消息序列由接收到修改数据的序列标识构成。待加入客户端从协同编辑服务器处获取最新的目标快照数据及其seq-id后,向即时通信服务器的消息序列中进行查询,确定是否存在需要补偿的修改数据。在该实例中,客户端从协同编辑服务器中获取到快照数据的seq-id为100,而即时通信服务器的消息序列中的seq-id达到了110,因此,seq-id为101至110的修改数据为待加入客户端需要进行补偿的修改数据。FIG. 4 is a schematic diagram of data compensation performed by a client to be added according to an embodiment of the present application. With reference to FIG. 4 , an incremental message sequence is maintained in the instant messaging server, and the message sequence is composed of a sequence identifier of received modified data. . After the joining client obtains the latest target snapshot data and its seq-id from the collaborative editing server, it queries the message sequence of the instant messaging server to determine whether there is modified data that needs to be compensated. In this example, the seq-id of the snapshot data obtained by the client from the collaborative editing server is 100, while the seq-id in the message sequence of the instant messaging server reaches 110. Therefore, the seq-id of the modification from 101 to 110 The data is the modified data that needs to be compensated by the client to be added.
作为一种可选的实施例,待加入客户端还用于展示补偿后的目标快照数据。As an optional embodiment, the client to be added is also used to display the compensated target snapshot data.
在上述方案中,待加入客户端在加入目标文件的协同处理后,直接显示补偿后的目标快照数据,而可以不显示从协同编辑服务器处获取的快照数据,且不显示补偿的过程。In the above solution, the client to be added directly displays the compensated target snapshot data after joining the collaborative processing of the target file, but may not display the snapshot data obtained from the collaborative editing server, nor the compensation process.
实施例2Example 2
根据本发明实施例,提供了一种数据协同处理的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。According to an embodiment of the present invention, an embodiment of a method for co-processing data is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and , although a logical order is shown in the flowcharts, in some cases steps shown or described may be performed in an order different from that herein.
图5是根据本申请实施例的一种数据协同处理的方法,如图5所示,该方法包括如下步骤:FIG. 5 is a method for collaborative data processing according to an embodiment of the present application. As shown in FIG. 5 , the method includes the following steps:
步骤S502,即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,并生成修改数据对应的序列标识。Step S502, the instant messaging server receives the modification data of the target file sent by at least one first client, and generates a sequence identifier corresponding to the modification data.
上述修改数据表示用于对目标文件进行编辑的数据。修改数据可以是客户端根据预设的编码协议,基于对目标文件的修改操作进行编码而得到,其可以包括修改类型(添加、删除、格式改动等)、修改内容(添加的内容、删除内容等)以及修改时间等参数。即时通信服务器在获得修改数据后,根据与编码协议对应的解码协议,即可解析出修改数据中的具体内容。The above-mentioned modification data represents data for editing the target file. The modification data may be obtained by the client through encoding the target file according to a preset encoding protocol, and may include modification type (addition, deletion, format change, etc.), modification content (added content, deleted content, etc. ) and parameters such as modification time. After obtaining the modified data, the instant messaging server can parse out the specific content in the modified data according to the decoding protocol corresponding to the encoding protocol.
上述第一客户端用于表示客户端中,向即时通信服务器发送修改数据的客户端,第二客户端表示客户端中除第一客户端之外的其他客户端。图3是根据本申请实施例的一种数据协同处理的示意图,结合图3所示,当客户端1向即时通信服务器发送修改数据时,客户端2、客户端3和客户端4均为第二客户端,同理的,当客户端2向即时通信服务器发送修改数据时,客户端1、客户端3和客户端4均为第二客户端。The above-mentioned first client is used to refer to the client that sends modified data to the instant messaging server, and the second client refers to other clients except the first client among the clients. Fig. 3 is a schematic diagram of a data collaborative processing according to an embodiment of the present application. With reference to Fig. 3, when
即时通信服务器用于接收任意一个第一客户端发送的修改数据后,为修改数据生成对应的序列标识(seq-id),通过该序列标识即可识别出修改数据到达即时通信服务器的顺序。After receiving the modified data sent by any first client, the instant messaging server generates a corresponding sequence identifier (seq-id) for the modified data, and the sequence in which the modified data arrives at the instant messaging server can be identified through the sequence identifier.
步骤S504,即时通信服务器将修改数据广播至第二客户端,第二客户端为参与目标文件的协同处理的客户端中除第一客户端之外的其他客户端;其中,在将修改数据广播至第二客户端的同时,即时通信服务器向协同编辑服务器发送修改数据和修改数据对应的序列标识,协同编辑服务器按照序列标识记录的顺序根据修改数据生成目标文件的快照数据。Step S504, the instant messaging server broadcasts the modified data to the second client, and the second client is other clients except the first client among the clients participating in the collaborative processing of the target file; At the same time as the second client, the instant messaging server sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, and the collaborative editing server generates snapshot data of the target file according to the modified data according to the sequence identifier recorded.
具体的,上述对目标文件的协同处理指的是允许多个用户同时对同一个文件(即目标文件)共同进行编辑处理,而参与到该协同处理中的客户端即为客户端Specifically, the above-mentioned collaborative processing of target files refers to allowing multiple users to edit and process the same file (ie, target files) at the same time, and the client participating in the collaborative processing is the client
即时通信服务器还将修改数据广播至其他的第二客户端,第二客户端在接收到修改数据后,基于修改数据对当前的目标文件进行修改,从而能够完成多个客户端对目标文件的协同处理。The instant messaging server also broadcasts the modified data to other second clients. After the second client receives the modified data, it modifies the current target file based on the modified data, so as to complete the collaboration of multiple clients on the target file. deal with.
在即时通信服务器向第二客户端广播修改数据的同时,即时通信服务器还向协同编辑服务器发送修改数据和修改数据对应的序列标识,以使协同编辑服务器能够根据修改数据对目标文件进行修改后生成目标文件的快照数据,该快照数据也与修改数据的序列标识相对应。在一种可选的实施例中,客户端与即时通信服务器之间通过WebSocket通信,即时通信服务器与协同编辑服务器之间通过RabbitMQ等MQ(Message Queue,消息队列)系列的协议进行通信,从而能够实现即时通信服务器与协同编辑服务器之间的解耦。When the instant messaging server broadcasts the modified data to the second client, the instant messaging server also sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, so that the collaborative editing server can modify the target file according to the modified data and generate Snapshot data of the target file, which also corresponds to the sequence ID of the modified data. In an optional embodiment, the client and the instant messaging server communicate through WebSocket, and the instant messaging server and the collaborative editing server communicate through MQ (Message Queue, message queue) series protocols such as RabbitMQ, so that the Realize the decoupling between the instant messaging server and the collaborative editing server.
由此可知,本申请上述实施例中,即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,并生成修改数据对应的序列标识;即时通信服务器将修改数据广播至第二客户端,第二客户端为参与目标文件的协同处理的客户端中除第一客户端之外的其他客户端;其中,在将修改数据广播至第二客户端的同时,即时通信服务器向协同编辑服务器发送修改数据和修改数据对应的序列标识,协同编辑服务器按照序列标识记录的顺序根据修改数据生成目标文件的快照数据。上述方案将原本较长的、同步阻塞的协同处理流程拆分成两个异步的短流程,达到了生提升实时性的目的,从而解决了现有技术中由于协同编辑文件时由客户端修改文档至文档显示于客户端之间的链路较长,导致客户端容易出现更新不及时的技术问题。It can be seen that, in the above-mentioned embodiment of the present application, the instant messaging server receives the modification data of the target file sent by at least one first client, and generates a sequence identifier corresponding to the modified data; the instant messaging server broadcasts the modified data to the second client The second client is other clients except the first client among the clients participating in the collaborative processing of the target file; wherein, while broadcasting the modified data to the second client, the instant messaging server sends a message to the collaborative editing server. The modified data and the sequence identifier corresponding to the modified data are sent, and the collaborative editing server generates snapshot data of the target file according to the modified data according to the sequence of the sequence identifier records. The above solution splits the originally long, synchronously blocked collaborative processing process into two asynchronous short processes, so as to achieve the purpose of improving real-time performance, thereby solving the problem in the prior art that the client is required to modify the document when the document is collaboratively edited. The link between the documents displayed on the client is long, which makes the client prone to technical problems that the update is not timely.
作为一种可选的实施例,生成修改数据对应的序列标识,包括:即时通信服务器按照接收修改数据的顺序生成递增的序列标识。As an optional embodiment, generating a sequence identifier corresponding to the modified data includes: the instant messaging server generates an incremental sequence identifier according to the sequence in which the modified data is received.
在上述方案中,即时通信服务器在生成修改数据的序列标识时,按照其接收到修改数据的先后顺序,生成递增的序列标识。也即,先达到即时通信服务器的修改数据的序列标识小于后达到即时通信服务器的修改数据的序列标识。In the above solution, when generating the sequence identifier of the modified data, the instant messaging server generates the incremental sequence identifier according to the sequence in which the modified data is received. That is, the sequence identifier of the modified data that reaches the instant messaging server first is smaller than the sequence identifier of the modified data that reaches the instant messaging server later.
通过上述方案生成修改数据的序列标识,即可根据序列标识的大小来确定修改数据达到即时通信服务器的顺序。By generating the sequence identifier of the modified data through the above solution, the sequence in which the modified data reaches the instant messaging server can be determined according to the size of the sequence identifier.
需要说明的是,上述序列标识是按照即时通信服务器接收到修改数据的顺序来生成的,即根据修改数据达到即时通信服务器的顺序来生成的。存在一种情况,客户端1比客户端2先向即时通信服务器发送修改数据,但由于客户端1与即时通信服务器之间的通信链路卡顿或其他原因,导致客户端1发送的修改数据达到即时通信服务器的时间晚于客户端2发送的修改数据,在这种情况下,虽然客户端1发送修改数据的时间早于客户端2,但由于客户端2发送端修改数据优先到达即时通信服务器,因此即时通信服务器为客户端2生成的序列标识仍小于为客户端1生成的序列标识。It should be noted that the above sequence identifiers are generated according to the sequence in which the instant messaging server receives the modified data, that is, generated according to the sequence in which the modified data reaches the instant messaging server. There is a situation where
作为一种可选的实施例,上述方法还包括:即时通信服务器向待加入客户端返回其他序列标识对应的修改数据;其中,待加入客户端从协同编辑服务器处获取协同编辑服务器中最新的目标快照数据和对应的目标序列标识,并将目标序列标识与即时通信服务器中的序列标识进行比对,确定大于目标序列标识的序列标识为其他序列标识。As an optional embodiment, the above method further includes: the instant messaging server returns modification data corresponding to other sequence identifiers to the client to be added; wherein the client to be added obtains the latest target in the collaborative editing server from the collaborative editing server The snapshot data and the corresponding target sequence identifiers are compared, and the target sequence identifiers are compared with the sequence identifiers in the instant messaging server, and the sequence identifiers larger than the target sequence identifiers are determined as other sequence identifiers.
上述待加入客户端为需要对目标文件进行协同处理的客户端,待加入客户端向协同编辑服务器发送快照数据获取请求,以从协同编辑服务器处获取协同编辑服务器中最新的快照数据,即上述目标快照数据。The above-mentioned client to be added is a client that needs to perform collaborative processing on the target file, and the client to be added sends a snapshot data acquisition request to the collaborative editing server to obtain the latest snapshot data in the collaborative editing server from the collaborative editing server, that is, the above target. Snapshot data.
在待加入客户端从协同编辑服务器中获取到目标快照数据及其序列标识后,再去访问即时通信服务器,通过将目标序列标识与即时通信服务器中的序列标识进行比较的方式,来确定是否存在晚于目标快照数据的修改数据。如果即时通信服务器中不存在大于目标序列标识的序列标识,则说明目标快照数据为最新的目标文件的快照数据,待加入客户端可以直接显示目标快照数据,而如果即时通信服务器中存在大于目标序列标识的序列标识,则说明在目标快照数据之后,目标文件还进行了其他修改,则待加入客户端从即时通信服务器处获取这些在目标快照数据之后的修改数据,对目标快照数据进行补偿,以得到最新的目标文件。After the to-be-joined client obtains the target snapshot data and its sequence ID from the collaborative editing server, it accesses the instant messaging server, and determines whether there is a target sequence ID by comparing the target sequence ID with the sequence ID in the instant messaging server. Modified data later than the target snapshot data. If there is no sequence ID larger than the target sequence ID in the instant messaging server, it means that the target snapshot data is the snapshot data of the latest target file, and the client to be added can directly display the target snapshot data. The sequence identifier of the identifier indicates that the target file has undergone other modifications after the target snapshot data, and the client to be added obtains these modified data after the target snapshot data from the instant messaging server, and compensates the target snapshot data to Get the latest object file.
在即时通信服务器向待加入客户端返回其他序列标识对应的修改数据之后,待加入客户端换根据即时通信服务器返回的修改数据对目标快照数据进行补偿,从而能够得到最新最完整的目标文件。After the instant messaging server returns the modified data corresponding to other sequence identifiers to the client to be added, the client to be added compensates the target snapshot data according to the modified data returned by the instant messaging server, so that the latest and most complete target file can be obtained.
需要说明的是,本实施例中的数据协同处理的方法可以基于实施例1中的数据协同处理的系统实现,此处不再赘述协同编辑服务器和即时通信服务器的其他实施例。It should be noted that the method for collaborative data processing in this embodiment may be implemented based on the system for collaborative data processing in
实施例3Example 3
根据本发明实施例,提供了一种数据协同处理的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。According to an embodiment of the present invention, an embodiment of a method for co-processing data is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and , although a logical order is shown in the flowcharts, in some cases steps shown or described may be performed in an order different from that herein.
图6是根据本申请实施例的一种数据协同处理的方法的流程图,如图6所示,该方法包括如下步骤:FIG. 6 is a flowchart of a method for collaborative data processing according to an embodiment of the present application. As shown in FIG. 6 , the method includes the following steps:
步骤S602,根据分享信息加入目标文件的协同处理,其中,分享信息中包括目标文件的文件标识。Step S602, adding the collaborative processing of the target file according to the sharing information, wherein the sharing information includes the file identifier of the target file.
本实施例中的步骤可以有待加入客户端执行。The steps in this embodiment may be performed by the joining client.
具体的,上述分享信息可以是包含分享链接的文本、包含分享链接的二维码或其他形式的分享信息,该分享信息中至少包括目标文件的文件标识,即docId,文件标识与文件本身一一对应,也即其为文件的唯一标识。待加入客户端通过该分享信息,即可进入到目标文件的群聊房间,参与到对目标文件的协同处理中。Specifically, the above-mentioned sharing information may be a text containing a sharing link, a QR code containing a sharing link, or other forms of sharing information, and the sharing information at least includes the file identifier of the target file, that is, the docId, and the file identifier and the file itself are one by one. Corresponding, that is, it is the unique identifier of the file. Through the shared information, the client to be joined can enter the group chat room of the target file and participate in the collaborative processing of the target file.
在一种可选的实施例中,在对目标文件进行协同操作的过程中,还需要邀请其他客户端参与对该目标文件的协同处理。因此其中一个已经参与协同处理的客户端将链接通过即时通信软件分享至需要邀请的客户端,该客户端通过获得的链接即可获取到目标文件的文件标识,并能够根据文件标识加入对目标文件的协同处理,并向协同编辑服务器发送快照数据获取请求。In an optional embodiment, other clients need to be invited to participate in the cooperative processing of the target file in the process of performing the cooperative operation on the target file. Therefore, one of the clients that has already participated in the collaborative processing shares the link to the client that needs to be invited through the instant messaging software, and the client can obtain the file ID of the target file through the obtained link, and can join the target file according to the file ID. , and send a snapshot data acquisition request to the collaborative editing server.
步骤S604,根据文件标识获取协同编辑服务器中目标文件最新的目标快照数据和目标快照数据对应的目标序列标识,其中,协同编辑服务器根据即时通信服务器发送的修改数据和对应的序列标识,生成与序列标识对应的快照数据。Step S604, obtaining the latest target snapshot data of the target file in the collaborative editing server and the target sequence identifier corresponding to the target snapshot data according to the file identifier, wherein the collaborative editing server generates a sequence identifier corresponding to the modified data and the corresponding sequence identifier sent by the instant messaging server. Identifies the corresponding snapshot data.
上述待加入客户端为需要对目标文件进行协同处理的客户端,待加入客户端向协同编辑服务器发送快照数据获取请求,以从协同编辑服务器处获取协同编辑服务器中最新的快照数据,即上述目标快照数据。The above-mentioned client to be added is a client that needs to perform collaborative processing on the target file, and the client to be added sends a snapshot data acquisition request to the collaborative editing server to obtain the latest snapshot data in the collaborative editing server from the collaborative editing server, that is, the above target. Snapshot data.
步骤S606,根据目标序列标识,获取即时通信服务器中接收时间晚于目标快照数据生成时间的修改数据,其中,即时通信服务器接收至少一个客户端发送的修改数据并生成对应的序列标识,将修改数据广播至其他客户端,并同时将修改数据和对应的序列标识发送至协同编辑服务器。Step S606, according to the target sequence identifier, obtain the modified data in the instant messaging server whose reception time is later than the generation time of the target snapshot data, wherein the instant messaging server receives the modified data sent by at least one client and generates a corresponding sequence identifier, and the modified data is Broadcast to other clients, and send the modified data and the corresponding sequence identifier to the collaborative editing server at the same time.
在本实施例中,由于即时通信服务器向第二客户端广播修改数据和即时通信服务器向协同编辑服务器发送修改数据是同时进行的,因此难以确保协同编辑服务器中的目标快照数据记录的是最新的目标文件,也即难以确保待加入客户端从协同编辑服务器中能够获取到最新的目标文件对应的快照数据。In this embodiment, since the instant messaging server broadcasts the modified data to the second client and the instant messaging server sends the modified data to the collaborative editing server, it is difficult to ensure that the target snapshot data recorded in the collaborative editing server is the latest. The target file, that is, it is difficult to ensure that the client to be added can obtain the snapshot data corresponding to the latest target file from the collaborative editing server.
在这种情况下,上述方案在从协同编辑服务器中获取到目标快照数据及其序列标识后,还访问了即时通信服务器,从而能够获取在目标快照数据之后的修改数据。In this case, after obtaining the target snapshot data and its sequence identifier from the collaborative editing server, the above solution also accesses the instant messaging server, so that the modified data after the target snapshot data can be obtained.
步骤S608,根据获取的修改数据对目标快照数据进行补偿。Step S608: Compensate the target snapshot data according to the acquired modification data.
待加入客户端需要使用上述在目标快照数据之后的修改数据,对目标快照数据进行补偿,以得到最新的目标文件。The client to be added needs to use the above-mentioned modified data after the target snapshot data to compensate the target snapshot data to obtain the latest target file.
由此可知,本申请上述实施例根据分享信息加入目标文件的协同处理,其中,分享信息中包括目标文件的文件标识;根据文件标识获取协同编辑服务器中目标文件最新的目标快照数据和目标快照数据对应的目标序列标识,其中,协同编辑服务器根据即时通信服务器发送的修改数据和对应的序列标识,生成与序列标识对应的快照数据;根据目标序列标识,获取即时通信服务器中接收时间晚于目标快照数据生成时间的修改数据,其中,即时通信服务器接收至少一个客户端发送的修改数据并生成对应的序列标识,将修改数据广播至其他客户端,并同时将修改数据和对应的序列标识发送至协同编辑服务器;根据获取的修改数据对目标快照数据进行补偿。上述方案将原本较长的、同步阻塞的协同处理流程拆分成两个异步的短流程,达到了生提升实时性的目的,从而解决了现有技术中由于协同编辑文件时由客户端修改文档至文档显示于客户端之间的链路较长,导致客户端容易出现更新不及时的技术问题。It can be seen that the above-mentioned embodiment of the present application adds the collaborative processing of the target file according to the sharing information, wherein the sharing information includes the file identifier of the target file; the latest target snapshot data and target snapshot data of the target file in the collaborative editing server are obtained according to the file identifier. The corresponding target sequence identifier, wherein the collaborative editing server generates snapshot data corresponding to the sequence identifier according to the modified data and the corresponding sequence identifier sent by the instant messaging server; according to the target sequence identifier, obtains the instant messaging server with a receiving time later than the target snapshot Modified data at the time of data generation, wherein the instant messaging server receives modified data sent by at least one client and generates a corresponding sequence identifier, broadcasts the modified data to other clients, and simultaneously sends the modified data and the corresponding sequence identifier to the collaboration Edit server; target snapshot data is compensated based on fetched modified data. The above solution splits the originally long, synchronously blocked collaborative processing process into two asynchronous short processes, so as to achieve the purpose of improving real-time performance, thereby solving the problem in the prior art that the client is required to modify the document when the document is collaboratively edited. The link between the documents displayed on the client is long, and the client is prone to technical problems such as untimely updates.
作为一种可选的实施例,根据目标序列标识,获取即时通信服务器中接收时间晚于目标快照数据生成时间的修改数据,包括:将目标序列标识与即时通信服务器中的序列标识进行比对;获取即时通信服务器中大于目标序列标识的序列标识,其中,即时通信服务器按照接收修改数据的顺序生成递增的序列标识;确定获取的修改数据为晚于目标快照数据生成时间的修改数据。As an optional embodiment, acquiring modified data in the instant messaging server whose reception time is later than the generation time of the target snapshot data according to the target sequence identifier includes: comparing the target sequence identifier with the sequence identifier in the instant messaging server; Acquire a sequence identifier greater than the target sequence identifier in the instant messaging server, wherein the instant messaging server generates an increasing sequence identifier in the order in which the modified data is received; it is determined that the acquired modified data is the modified data that is later than the generation time of the target snapshot data.
在上述方案中,在待加入客户端从协同编辑服务器中获取到目标快照数据及其序列标识后,再去访问即时通信服务器,通过将目标序列标识与即时通信服务器中的序列标识进行比较的方式,来确定是否存在晚于目标快照数据的修改数据。如果即时通信服务器中不存在大于目标序列标识的序列标识,则说明目标快照数据为最新的目标文件的快照数据,待加入客户端可以直接显示目标快照数据,而如果即时通信服务器中存在大于目标序列标识的序列标识,则可以说明在目标快照数据之后,目标文件还进行了其他修改。In the above solution, after the to-be-joined client obtains the target snapshot data and its sequence identifier from the collaborative editing server, it accesses the instant messaging server, and compares the target sequence identifier with the sequence identifier in the instant messaging server. , to determine if there is modified data later than the target snapshot data. If there is no sequence ID larger than the target sequence ID in the instant messaging server, it means that the target snapshot data is the snapshot data of the latest target file, and the client to be added can directly display the target snapshot data. The sequence identifier of the identifier can indicate that the target file has undergone other modifications after the target snapshot data.
实施例4Example 4
根据本发明实施例,提供了一种用于实施上述实施例2的数据协同处理的装置的实施例,图7是根据本申请实施例的一种数据协同处理的装置的示意图,如图7所示,该装置包括:According to an embodiment of the present invention, an embodiment of an apparatus for implementing the data cooperative processing of the above-mentioned
接收模块70,用于即时通信服务器接收至少一个第一客户端发送的对目标文件的修改数据,并生成修改数据对应的序列标识;The receiving module 70 is used for the instant messaging server to receive the modification data of the target file sent by at least one first client, and generate the sequence identifier corresponding to the modification data;
广播模块72,用于即时通信服务器将修改数据广播至第二客户端,第二客户端为参与目标文件的协同处理的客户端中除第一客户端之外的其他客户端;The broadcasting module 72 is used for the instant messaging server to broadcast the modified data to the second client, and the second client is the client other than the first client among the clients participating in the cooperative processing of the target file;
其中,在将修改数据广播至第二客户端的同时,即时通信服务器向协同编辑服务器发送修改数据和修改数据对应的序列标识,协同编辑服务器按照序列标识记录的顺序根据修改数据生成目标文件的快照数据。Wherein, while broadcasting the modified data to the second client, the instant messaging server sends the modified data and the sequence identifier corresponding to the modified data to the collaborative editing server, and the collaborative editing server generates the snapshot data of the target file according to the modified data according to the sequence identifier recorded. .
作为一种可选的实施例,接收模块包括:生成子模块,用于即时通信服务器按照接收修改数据的顺序生成递增的序列标识。As an optional embodiment, the receiving module includes: a generating sub-module for the instant messaging server to generate incremental sequence identifiers according to the order in which the modified data is received.
作为一种可选的实施例,上述装置还包括:返回模块,用于即时通信服务器向待加入客户端返回其他序列标识对应的修改数据;其中,待加入客户端从协同编辑服务器处获取协同编辑服务器中最新的目标快照数据和对应的目标序列标识,并将目标序列标识与即时通信服务器中的序列标识进行比对,确定大于目标序列标识的序列标识为其他序列标识。As an optional embodiment, the above-mentioned device further includes: a return module, used by the instant messaging server to return modified data corresponding to other sequence identifiers to the client to be added; wherein the client to be added obtains the collaborative editing from the collaborative editing server The latest target snapshot data in the server and the corresponding target sequence identifiers, and the target sequence identifiers are compared with the sequence identifiers in the instant messaging server, and the sequence identifiers larger than the target sequence identifiers are determined as other sequence identifiers.
实施例5Example 5
根据本发明实施例,提供了一种用于实施上述实施例3的数据协同处理的装置的实施例,图8是根据本申请实施例的一种数据协同处理的装置的示意图,如图8所示,该装置包括:According to an embodiment of the present invention, an embodiment of an apparatus for implementing the data cooperative processing of the above-mentioned
加入模块80,用于根据分享信息加入目标文件的协同处理,其中,分享信息中包括目标文件的文件标识;The joining module 80 is used to join the collaborative processing of the target file according to the sharing information, wherein the sharing information includes the file identifier of the target file;
第一获取模块82,用于根据文件标识获取协同编辑服务器中目标文件最新的目标快照数据和目标快照数据对应的目标序列标识,其中,协同编辑服务器根据即时通信服务器发送的修改数据和对应的序列标识,生成与序列标识对应的快照数据;The first acquisition module 82 is used for acquiring the latest target snapshot data of the target file in the collaborative editing server and the target sequence identifier corresponding to the target snapshot data according to the file identifier, wherein the collaborative editing server is based on the modified data and the corresponding sequence sent by the instant messaging server. ID, generate snapshot data corresponding to the sequence ID;
第二获取模块84,用于根据目标序列标识,获取即时通信服务器中接收时间晚于目标快照数据生成时间的修改数据,其中,即时通信服务器接收至少一个客户端发送的修改数据并生成对应的序列标识,将修改数据广播至其他客户端,并同时将修改数据和对应的序列标识发送至协同编辑服务器;The second acquiring module 84 is configured to acquire modified data in the instant messaging server whose reception time is later than the generation time of the target snapshot data according to the target sequence identifier, wherein the instant messaging server receives modified data sent by at least one client and generates a corresponding sequence ID, broadcast the modified data to other clients, and send the modified data and the corresponding sequence ID to the collaborative editing server at the same time;
补偿模块86,用于根据获取的修改数据对目标快照数据进行补偿。The compensation module 86 is configured to compensate the target snapshot data according to the acquired modification data.
作为一种可选的实施例,第二获取模块包括:比对子模块,用于将目标序列标识与即时通信服务器中的序列标识进行比对;获取子模块,用于获取即时通信服务器中大于目标序列标识的序列标识,其中,即时通信服务器按照接收修改数据的顺序生成递增的序列标识;确定子模块,用于确定获取的修改数据为晚于目标快照数据生成时间的修改数据。As an optional embodiment, the second obtaining module includes: a comparison sub-module for comparing the target sequence identifier with the sequence identifier in the instant messaging server; an obtaining sub-module for obtaining information in the instant messaging server greater than The sequence identifier of the target sequence identifier, wherein the instant messaging server generates incremental sequence identifiers in the order in which the modified data is received; the determining submodule is used to determine that the acquired modified data is the modified data that is later than the generation time of the target snapshot data.
实施例6Example 6
根据本发明实施例,提供了一种计算机存储介质,计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行实施例2中任意一项的方法步骤。According to an embodiment of the present invention, a computer storage medium is provided, and the computer storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the method steps of any one of
实施例7Example 7
根据本发明实施例,提供了一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行实施例3中的方法步骤。According to an embodiment of the present invention, an electronic device is provided, including: a processor and a memory; wherein, the memory stores a computer program, and the computer program is adapted to be loaded by the processor and execute the method in
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。The above-mentioned serial numbers of the embodiments of the present invention are only for description, and do not represent the advantages or disadvantages of the embodiments.
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above-mentioned embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are only illustrative, for example, the division of the units may be a logical function division, and there may be other division methods in actual implementation, for example, multiple units or components may be combined or Integration into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of units or modules, and may be in electrical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes .
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。The above are only the preferred embodiments of the present invention. It should be pointed out that for those skilled in the art, without departing from the principles of the present invention, several improvements and modifications can be made. It should be regarded as the protection scope of the present invention.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010318433.7ACN111553132B (en) | 2020-04-21 | 2020-04-21 | Data collaborative processing methods, devices and systems |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010318433.7ACN111553132B (en) | 2020-04-21 | 2020-04-21 | Data collaborative processing methods, devices and systems |
| Publication Number | Publication Date |
|---|---|
| CN111553132Atrue CN111553132A (en) | 2020-08-18 |
| CN111553132B CN111553132B (en) | 2024-01-30 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010318433.7AActiveCN111553132B (en) | 2020-04-21 | 2020-04-21 | Data collaborative processing methods, devices and systems |
| Country | Link |
|---|---|
| CN (1) | CN111553132B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112035596A (en)* | 2020-08-31 | 2020-12-04 | 京东数字科技控股股份有限公司 | Text submission method, device, equipment and storage medium |
| CN112905174A (en)* | 2021-01-27 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | Information processing method, device, system and storage medium |
| CN112906355A (en)* | 2021-01-20 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | Collaborative editing method, device, equipment and storage medium |
| CN113472776A (en)* | 2021-06-30 | 2021-10-01 | 亿图软件(湖南)有限公司 | Multi-user real-time cooperation method and system |
| CN113986819A (en)* | 2021-09-28 | 2022-01-28 | 深圳市华阳国际工程设计股份有限公司 | A data transmission control method and system based on a custom format |
| CN114330772A (en)* | 2021-12-28 | 2022-04-12 | 北京字跳网络技术有限公司 | A garbage collection method, system, device, medium and product of a collaborative instance |
| CN114443868A (en)* | 2020-10-30 | 2022-05-06 | 腾讯科技(深圳)有限公司 | Method, device, storage medium and electronic device for generating multimedia list |
| CN114500570A (en)* | 2022-02-09 | 2022-05-13 | 北京字跳网络技术有限公司 | Task processing method, apparatus, electronic device, and computer-readable storage medium |
| CN114997831A (en)* | 2022-06-14 | 2022-09-02 | 中国银行股份有限公司 | Collaborative management method and device for client |
| CN115391327A (en)* | 2021-05-24 | 2022-11-25 | 广州视源电子科技股份有限公司 | Data processing method, device and system |
| CN115544378A (en)* | 2021-06-30 | 2022-12-30 | 上海掌门科技有限公司 | Method, device, medium and program product for collaboration |
| WO2023020092A1 (en)* | 2021-08-17 | 2023-02-23 | 上海幻电信息科技有限公司 | Multi-person collaboration-based resource processing method, apparatus and system |
| CN117113942A (en)* | 2023-10-24 | 2023-11-24 | 杭州百子尖科技股份有限公司 | Model synchronization method and device, electronic equipment and storage medium |
| CN117236865A (en)* | 2023-03-30 | 2023-12-15 | 北京火山引擎科技有限公司 | A data management method, device, electronic equipment and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6983416B1 (en)* | 2000-04-04 | 2006-01-03 | Electronics And Telecommunications Research Institute | System and method for cooperative editing of web document |
| CN105184469A (en)* | 2015-08-26 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | Method and device for collaborative editing of documents |
| US9292482B1 (en)* | 2015-04-30 | 2016-03-22 | Workiva Inc. | System and method for convergent document collaboration |
| CN110750364A (en)* | 2019-09-03 | 2020-02-04 | 苏宁云计算有限公司 | Multi-user online editing management method, device and system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6983416B1 (en)* | 2000-04-04 | 2006-01-03 | Electronics And Telecommunications Research Institute | System and method for cooperative editing of web document |
| US9292482B1 (en)* | 2015-04-30 | 2016-03-22 | Workiva Inc. | System and method for convergent document collaboration |
| CN105184469A (en)* | 2015-08-26 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | Method and device for collaborative editing of documents |
| WO2017031878A1 (en)* | 2015-08-26 | 2017-03-02 | 百度在线网络技术(北京)有限公司 | Method and device for collaborative editing of document |
| CN110750364A (en)* | 2019-09-03 | 2020-02-04 | 苏宁云计算有限公司 | Multi-user online editing management method, device and system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112035596A (en)* | 2020-08-31 | 2020-12-04 | 京东数字科技控股股份有限公司 | Text submission method, device, equipment and storage medium |
| CN114443868A (en)* | 2020-10-30 | 2022-05-06 | 腾讯科技(深圳)有限公司 | Method, device, storage medium and electronic device for generating multimedia list |
| CN112906355A (en)* | 2021-01-20 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | Collaborative editing method, device, equipment and storage medium |
| CN112905174B (en)* | 2021-01-27 | 2022-02-18 | 长沙市到家悠享网络科技有限公司 | Information processing method, device, system and storage medium |
| CN112905174A (en)* | 2021-01-27 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | Information processing method, device, system and storage medium |
| CN115391327A (en)* | 2021-05-24 | 2022-11-25 | 广州视源电子科技股份有限公司 | Data processing method, device and system |
| CN113472776A (en)* | 2021-06-30 | 2021-10-01 | 亿图软件(湖南)有限公司 | Multi-user real-time cooperation method and system |
| CN113472776B (en)* | 2021-06-30 | 2022-12-27 | 亿图软件(湖南)有限公司 | Multi-user real-time cooperation method and system |
| CN115544378A (en)* | 2021-06-30 | 2022-12-30 | 上海掌门科技有限公司 | Method, device, medium and program product for collaboration |
| CN115544378B (en)* | 2021-06-30 | 2025-08-12 | 上海掌门科技集团有限公司 | Method, device, medium and program product for collaboration |
| WO2023020092A1 (en)* | 2021-08-17 | 2023-02-23 | 上海幻电信息科技有限公司 | Multi-person collaboration-based resource processing method, apparatus and system |
| CN113986819A (en)* | 2021-09-28 | 2022-01-28 | 深圳市华阳国际工程设计股份有限公司 | A data transmission control method and system based on a custom format |
| CN114330772A (en)* | 2021-12-28 | 2022-04-12 | 北京字跳网络技术有限公司 | A garbage collection method, system, device, medium and product of a collaborative instance |
| CN114500570B (en)* | 2022-02-09 | 2024-02-13 | 北京字跳网络技术有限公司 | Task processing methods, devices, electronic devices and computer-readable storage media |
| CN114500570A (en)* | 2022-02-09 | 2022-05-13 | 北京字跳网络技术有限公司 | Task processing method, apparatus, electronic device, and computer-readable storage medium |
| WO2023151597A1 (en)* | 2022-02-09 | 2023-08-17 | 北京字跳网络技术有限公司 | Task processing method and apparatus, electronic device, and computer-readable storage medium |
| CN114997831A (en)* | 2022-06-14 | 2022-09-02 | 中国银行股份有限公司 | Collaborative management method and device for client |
| CN117236865A (en)* | 2023-03-30 | 2023-12-15 | 北京火山引擎科技有限公司 | A data management method, device, electronic equipment and storage medium |
| CN117236865B (en)* | 2023-03-30 | 2025-09-26 | 北京火山引擎科技有限公司 | Data management method, device, electronic device and storage medium |
| CN117113942B (en)* | 2023-10-24 | 2024-02-20 | 杭州百子尖科技股份有限公司 | Model synchronization method and device, electronic equipment and storage medium |
| CN117113942A (en)* | 2023-10-24 | 2023-11-24 | 杭州百子尖科技股份有限公司 | Model synchronization method and device, electronic equipment and storage medium |
| Publication number | Publication date |
|---|---|
| CN111553132B (en) | 2024-01-30 |
| Publication | Publication Date | Title |
|---|---|---|
| CN111553132B (en) | Data collaborative processing methods, devices and systems | |
| US8914446B2 (en) | IM continuation across SIP sessions and across clients for point-to-point and multi-user chat | |
| US10715344B2 (en) | Method of establishing a video call using multiple mobile communication devices | |
| JP2010533906A (en) | Method, system and apparatus for sorting topics within a group | |
| JP2009111991A (en) | Computer-readable recording medium and video conference apparatus | |
| CN110391974A (en) | A message synchronization method, server, terminal and system | |
| CN101257375A (en) | Method and device for realizing message synchronization of multiple terminals | |
| CN107707370B (en) | Group communication method, server, terminal, and computer storage medium | |
| CN114979234B (en) | Session control sharing method and system in distributed cluster system | |
| CN113037613A (en) | Online document operation method, message cooperation system and computer storage medium | |
| CN104239403A (en) | Cloud computing-based collaboration collecting and editing auxiliary system | |
| WO2012159315A1 (en) | Method, apparatus and system for displaying picture | |
| CN110620672B (en) | Multi-person session data processing method and device, computer equipment and storage medium | |
| CN100438511C (en) | Method and system for automatic feed backing according to time slot in immediate communication | |
| CN112332995B (en) | Conference state updating method and device, computer equipment and storage medium | |
| CN115277660A (en) | Control method for synchronous reading of documents between APP and small programs during remote double recording | |
| CN109495283B (en) | Method and device for automatically labeling instant messaging discussion group contact persons | |
| CN102185870B (en) | Method and system for realizing mode switch between instant messaging and network conference | |
| JP2007274483A (en) | Dialog method, log server, and terminal | |
| CN105550072A (en) | Data backup method and system | |
| CN113472469A (en) | Data synchronization method, device, equipment and storage medium | |
| CN115706811B (en) | Data processing method and device | |
| CN111104407A (en) | Data local storage method based on XMPP protocol | |
| CN115065944B (en) | Conference information notification method, 5G message center and computer readable storage medium | |
| WO2018214614A1 (en) | A method of establishing a video call using multiple mobile communications devices |
| 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 |