CN114861611A - 一种超文本协同编辑方法、装置和设备 - Google Patents
一种超文本协同编辑方法、装置和设备 Download PDFInfo
- Publication number
- CN114861611A CN114861611A CN202210515712.1A CN202210515712A CN114861611A CN 114861611 A CN114861611 A CN 114861611A CN 202210515712 A CN202210515712 A CN 202210515712A CN 114861611 A CN114861611 A CN 114861611A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- collaborative
- content change
- editing
- 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.)
- Pending
Links
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
- 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/103—Workflow collaboration or project management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
Abstract
本发明公开了一种超文本协同编辑方法、装置和设备,方法包括:接收浏览器端发送的实例创建事件消息,记录并返回当前协同用户的用户信息,以使浏览器端将协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;接收浏览器端发送的内容变更事件消息,记录并返回当前协同用户在文本中的输入位置信息以及目标文本的内容变更信息,以使所述浏览器端在各协同用户的目标文本编辑页面中进行实时显示。本发明能够实现浏览器端上的多用户同时在线协同编辑同一目标文本,从而无需再借助独立的协同协同编辑文档工具来实现,提高用户办公体验。
Description
技术领域
本发明属于超文本协同编辑技术领域,具体涉及一种超文本协同编辑方法、装置和设备。
背景技术
在信息技术高速发展的时代,办公工具的信息化建设对于促进信息交流、知识共享和提升工作效率等方面具有重要作用。其中,多用户之间的协同编辑工具在日常工作中被广泛应用,因此,提升协同编辑工具的性能对于提升工作效率显得尤为重要。
协同编辑是指支持多人在不同终端对同一文档进行共同编辑的功能。目前也有一些关于协同编辑功能的工具,其处理机制几乎一致,即通过客户端和服务端之间进行通信连接,并支持多个用户在页面对同一文档进行编辑。但现有的大部分工具采用的是抢占式编辑策略,这种方式处理过程较为简单,但却不能较好的实现用户操作意图的一致性,即页面会出现很多与用户操作意图不相符的问题,导致用户协同编辑体验较差;此外,目前多人进行协同编辑文档主要是借助于协同编辑文档工具(例如腾讯文档、钉钉文档、谷歌文档等)实现,而无法直接在常规网页和浏览器中直接进行多人协同编辑,且文档内容的更新及查阅均依赖于用户主动访问协同编辑文档工具来实现,协同进度不够直观,用户体验较差。
发明内容
本发明的目的是提供一种超文本协同编辑方法、装置和设备,用于解决现有技术中存在的至少一个技术问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供一种超文本协同编辑方法,包括:
接收浏览器端发送的实例创建事件消息,根据所述实例创建事件消息,将获取到的当前协同用户信息返回至所述浏览器端,以使所述浏览器端将当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
接收所述浏览器端发送的内容变更事件消息,根据所述内容变更事件消息,将获取到的用户当前输入位置信息和文本内容变更信息返回至所述浏览器端,以使所述浏览器端将用户当前输入位置信息和文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,所述浏览器端嵌设有slate-react超文本编辑器,用于供各协同用户对目标文本进行协同编辑;所述浏览器端设有第一socket端,所述第一socket端基于Websocket协议进行消息传输。
第二方面,本发明提供一种超文本协同编辑装置,包括:
第一信息获取模块,用于接收浏览器端发送的实例创建事件消息,根据所述实例创建事件消息,将获取到的当前协同用户信息返回至所述浏览器端,以使所述浏览器端将当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
第二信息获取模块,用于接收所述浏览器端发送的内容变更事件消息,根据所述内容变更事件消息,将获取到的用户当前输入位置信息和文本内容变更信息返回至所述浏览器端,以使所述浏览器端将用户当前输入位置信息和文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,所述浏览器端嵌设有slate-react超文本编辑器,用于供各协同用户对目标文本进行协同编辑;所述浏览器端设有第一socket端,所述第一socket端基于Websocket协议进行消息传输。
第三方面,本发明提供一种超文本协同编辑方法,包括:
监听协同实例创建事件,并在监听到创建事件发生时将实例创建事件消息发送至服务器,以使所述服务器根据所述实例创建事件消息获取当前协同用户信息;
接收所述当前协同用户信息,并将所述当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
监听内容变更事件,并在监听到变更事件发生时将内容变更事件消息发送至所述服务器,以使所述服务器根据所述内容变更事件消息获取用户当前输入位置信息和文本内容变更信息;
接收所述用户当前输入位置信息和所述文本内容变更信息,并将所述用户当前输入位置信息和所述文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,各协同用户基于slate-react超文本编辑器对目标文本进行协同编辑;所述服务器设有第二socket端,所述第二socket端基于Websocket协议进行消息传输。
在一种可能的设计中,在监听协同实例创建事件之前,所述方法还包括:
接收用户的加入协同请求,根据所述加入协同请求调用New Collaboration插件函数创建协同实例,并调用handle Join Edit插件函数将用户加入到目标文本的协同编辑中。
在一种可能的设计中,在监听内容变更事件之前,所述方法还包括:
获取用户的协同编辑操作,根据所述协同编辑操作调用handle Push CurrentSelection插件函数将用户输入的文本信息发送至第一socket端;
调用handle Send Operations插件函数对用户输入位置进行定位,并将用户输入位置放置在待发送列表中,同时,调用get Edit Content插件函数获取用户输入内容,以使所述第一socket端将用户输入内容和待发送列表中的用户输入位置发送至所述服务器。
在一种可能的设计中,所述文本内容变更信息在目标文本编辑页面中的显示方法包括:
将slate-react超文本编辑器的children数组设置为value,并将文本内容变更信息传递给所述children数组;
根据所述children数组生成渲染组件,其中,所述渲染组件包括Element组件和Text组件;
将所述Element组件和Text组件渲染到目标文本编辑页面进行实时显示。
在一种可能的设计中,当所述目标文本为视频文件时,所述方法还包括:
利用python和celery技术来分布式引用ffmpeg工具,以对视频文件进行转码,并将转码后的视频文件发送至服务器。
第四方面,本发明提供一种超文本协同装置,包括:
第一监听模块,用于监听协同实例创建事件,并在监听到创建事件发生时将实例创建事件消息发送至服务器,以使所述服务器根据所述实例创建事件消息获取当前协同用户信息;
第一显示模块,用于接收所述当前协同用户信息,并将所述当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
第二监听模块,用于监听内容变更事件,并在监听到变更事件发生时将内容变更事件消息发送至所述服务器,以使所述服务器根据所述内容变更事件消息获取用户当前输入位置信息和文本内容变更信息;
第二显示模块,用于接收所述用户当前输入位置信息和所述文本内容变更信息,并将所述用户当前输入位置信息和所述文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,各协同用户基于slate-react超文本编辑器对目标文本进行协同编辑;所述服务器设有第二socket端,所述第二socket端基于Websocket协议进行消息传输。
第五方面,本发明提供一种计算机设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第三方面任意一种可能的设计中所述的超文本协同编辑方法。
第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第三方面任意一种可能的设计中所述的超文本协同编辑方法。
第七方面,本发明提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第三方面任意一种可能的设计中所述的超文本协编辑方法。
有益效果:
本申请通过在浏览器端中内嵌slate-react超文本编辑器,并通过在浏览器端和服务器之间建立socket连接,并基于Websocket协议进行消息传输,从而可以实现浏览器端上的多用户同时在线协同编辑同一目标文本,从而无需再借助独立的协同协同编辑文档工具来实现;同时,通过实时定位协同用户的输入位置并实时更新目标文本,能够很好实现用户操作意图的一致性,提高用户办公体验。
附图说明
图1为本实施例中的超文本协编辑方法的交互流程示意图。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
为了解决现有技术中的文本协同编辑方法需要借助于协同编辑文档工具实现,而无法直接在常规网页中直接进行多人协同编辑的问题,本实施例提供了一种超文本协同编辑方法,该方法通过在浏览器端中内嵌slate-react超文本编辑器,并通过在浏览器端和服务器之间建立socket连接,并基于Websocket协议进行消息传输,从而可以实现浏览器端上的多用户同时在线协同编辑同一目标文本,从而无需再借助独立的协同协同编辑文档工具来实现;同时,通过实时定位协同用户的输入位置并实时更新目标文本,能够很好实现用户操作意图的一致性,提高用户办公体验。以下通过具体实施例对该方法进行具体说明。
其中,本实施例中的超文本协同编辑方法通过超文本协同编辑系统实现,在超文本协同编辑系统中包括若干个浏览器端和至少一个服务器,每一浏览器端嵌设有slate-react超文本编辑器,用于供各协同用户对目标文本进行协同编辑;每一浏览器端设有第一socket端,每一服务器中设有第二socket端,所述第一socket端和所述第二socket端基于Websocket协议进行消息传输。
其中,需要说明的是,以下所定义的“第一”或“第二”仅仅是为了对各用户使用的浏览器端进行区分,并不构成实质上的区别或限定。
如图1所示,本实施例中的超文本协同编辑方法的交互流程,可以但不限于包括有如下步骤S1~S8实现:
S1.由第一浏览器端接收目标文本的初始用户A的文本编辑操作,以编辑目标文本;
具体的,在S1中,第一浏览器端是指初始用户A当前使用的浏览器端,在第一浏览器端中内嵌有slate-react超文本编辑器,该slate-react提供有API(ApplicationProgramming Interface,应用程序编程接口),并可根据该API接口自定义插件操作栏的相关功能。例如:自定义上传文件功能,则通过create插件函数创建文件实例,获取用户A选择的文件对象,然后将该文件对象上传至服务器,服务器可以是阿里云等,文件上传方法可以是通过阿里云的oss(Object Storage Service,对象存储方法)来上传文件对象;并且,还可以在回调函数中获取文件链接,调用富文本插件方法来传入文件链接,并渲染在网页显示端。
S2.由第一浏览器端将所述目标文本的编辑更新内容基于socket连接发送至服务器,并由服务器将目标文本存储在数据库中;
具体的,在S2中,当第一浏览器端监听到初始用户A对目标文本进行编辑后,对变化的超文本内容向服务器发出变更请求,待服务器反馈后,在服务器中记录或保存最新的超文本内容。
S3.由第二浏览器端监听协同实例创建事件,并在监听到创建事件发生时将实例创建事件消息发送至服务器;
其中,需要说明的是,所述第二浏览器端是指除初始用户A之外的其他协同用户使用的浏览器端,因此,所述第二浏览器端可能有多个,当然,可以理解的,这里的第一浏览器端和第二浏览器端仅仅是用于对不同用户使用的浏览器端进行区分,并不具有限制作用,且实际上其他协同用户可能与初始用户A使用同一浏览器端,则此时第二浏览器端等同于第一浏览器端。
具体的,在S3中,在监听协同实例创建事件之前,所述方法还包括:
由第二浏览器端接收用户的加入协同请求,根据所述加入协同请求调用NewCollaboration插件函数创建协同实例,并调用handle Join Edit插件函数将用户加入到目标文本的协同编辑中。
例如:协同用户B通过编辑器工具栏插件在第二浏览器端中发起加入协同请求,则第二浏览器端接收协同用户B的加入协同请求,根据所述加入协同请求调用NewCollaboration插件函数创建协同实例,并调用handle Join Edit插件函数将用户加入到目标文本的协同编辑中,以使得协同用户B与初始用户A共同编辑同一目标文本。
S4.由服务器接收所述实例创建事件消息,根据所述实例创建事件消息,将获取到的当前协同用户信息返回至所述浏览器端;
具体的,在S4中,服务器将当前协同用户的用户信息返回至协同用户B所在的第二浏览器端以及初始用户A所在的第一浏览器端,当然,可以理解的是,若协同用户不仅包括用户B,还包括用户C、用户D等,则服务器会将当前协同用户的用户信息返回至所有用户各自所在浏览器端。
S5.由浏览器端接收当前协同用户的用户信息,并将当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
具体的,在S5中的浏览器端包括第一浏览器端和第二浏览器端,则每一浏览器端将接收到的当前协同用户信息分别在各自的目标文本编辑页面中进行实时显示。
S6.由浏览器端监听内容变更事件,并在监听到变更事件发生时将内容变更事件消息发送至所述服务器;
具体的,在S6中,在监听内容变更事件变更之前,所述方法还包括:
接收用户的协同编辑操作,根据所述协同编辑操作调用handle Push CurrentSelection插件函数将用户输入的文本信息发送至第一socket端,以使所述第一socket端对内容变更事件进行监听;
调用handle Send Operations插件函数对用户输入位置进行定位,将用户输入位置放置在待发送列表中,同时,调用get Edit Content插件函数获取用户输入内容,以使所述第一socket端将用户输入内容和待发送列表中的用户输入位置发送至所述服务器。
S7.由所述服务器根据所述内容变更事件消息获取用户当前输入位置信息和文本内容变更信息;
具体的,在S7中,服务器将当前协同用户在文本中的输入位置信息以及目标文本的内容变更信息返回至协同用户B所在的第二浏览器端以及初始用户A所在的第一浏览器端,当然,可以理解的是,若协同用户不仅包括用户B,还包括用户C、用户D等,则服务器会将当前协同用户在文本中的输入位置信息以及目标文本的内容变更信息返回至所有用户各自所在浏览器端。
S8.由浏览器端将所述用户当前输入位置信息和所述文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,需要说明的是,在浏览器端接收服务器的当前协同用户在文本中的输入位置信息以及目标文本的内容变更信息时,将会触发光标指令,从而在文本编辑界面通过光标展示用户输入位置信息,其中,光标展示内容包括用户ID(Identity Document),从而使得其他协同编辑用户实时获知当前正在进行协同编辑的所有用户信息和用户位置信息。
具体的,在S8中,所述目标文本的内容变更信息在目标文本编辑页面中的显示方法包括:
将slate-react超文本编辑器的children(子)数组设置为value(值),并将文本内容变更信息传递给所述children数组;
根据所述children数组生成渲染组件,其中,所述渲染组件包括Element(元素)组件和Text(文本)组件;
将所述Element组件和Text组件渲染到目标文本编辑页面进行实时显示。
在一种可能的设计中,当所述目标文本为视频文件时,所述方法还包括:
利用python和celery技术来分布式引用ffmpeg工具,以对视频文件进行转码,并将转码后的视频文件发送至服务器。
其中,需要说明的是,当用户上传视频文件后,浏览器端将基于python和celery技术来分布式引用ffmpeg工具对视频文件进行转码,优选的,转码格式为M3U8格式;其中,M3U8视频格式是某些移动设备例如安卓,苹果手机浏览器缓存视频的专用视频格式,只是它的编码格式是UTF-8格式;M3U8格式特点是带有一个目录信息或文件,而许多安卓设备或者IOS设备的浏览器缓存的视频格式都为M3U8,因此需要进行转码才可以播放。
在一种可能的设计中,用户在上传视频文件后,浏览器端可通过go和ffmpeg技术实现播放实时视频水印。
基于上述公开的内容,本实施例通过在浏览器端中内嵌slate-react超文本编辑器,并通过在浏览器端和服务器之间建立socket连接,并基于Websocket协议进行消息传输,从而可以实现浏览器端上的多用户同时在线协同编辑同一目标文本,从而无需再借助独立的协同协同编辑文档工具来实现;同时,通过实时定位协同用户的输入位置并实时更新目标文本,能够很好实现用户操作意图的一致性,提高用户办公体验。
本实施例第二方面提供了一种实现如第一方面或第一方面任意一种可能的设计中所述的方法的虚拟装置,包括:
第二方面,本发明提供一种超文本协同编辑装置,包括:
第一信息获取模块,用于接收浏览器端发送的实例创建事件消息,根据所述实例创建事件消息,将获取到的当前协同用户信息返回至所述浏览器端,以使所述浏览器端将当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
第二信息获取模块,用于接收所述浏览器端发送的内容变更事件消息,根据所述内容变更事件消息,将获取到的用户当前输入位置信息和文本内容变更信息返回至所述浏览器端,以使所述浏览器端将用户当前输入位置信息和文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,所述浏览器端嵌设有slate-react超文本编辑器,用于供各协同用户对目标文本进行协同编辑;所述浏览器端设有第一socket端,所述第一socket端基于Websocket协议进行消息传输。
本实施例第二方面提供的前述装置的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的方法,于此不再赘述。
本实施例第三方面提供了另一种实现如第一方面或第一方面任意一种可能的设计中所述的方法的虚拟装置,包括:
第一监听模块,用于监听协同实例创建事件,并在监听到创建事件发生时将实例创建事件消息发送至服务器,以使所述服务器根据所述实例创建事件消息获取当前协同用户信息;
第一显示模块,用于接收所述当前协同用户信息,并将所述当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
第二监听模块,用于监听内容变更事件,并在监听到变更事件发生时将内容变更事件消息发送至所述服务器,以使所述服务器根据所述内容变更事件消息获取用户当前输入位置信息和文本内容变更信息;
第二显示模块,用于接收所述用户当前输入位置信息和所述文本内容变更信息,并将所述用户当前输入位置信息和所述文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,各协同用户基于slate-react超文本编辑器对目标文本进行协同编辑;所述服务器设有第二socket端,所述第二socket端基于Websocket协议进行消息传输。
本实施例第三方面提供的前述装置的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的方法,于此不再赘述。
本实施例第四方面提供一种计算机设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第三方面任意一种可能的设计中所述的超文本协同编辑方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(Random-AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First Input Last Output,FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器;所述收发器可以但不限于为WiFi(无线保真)无线收发器、蓝牙无线收发器、GPRS(General Packet RadioService,通用分组无线服务技术)无线收发器和/或ZigBee(紫蜂协议,基于IEEE802.15.4标准的低功耗局域网协议)无线收发器等。此外,所述计算机设备还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例第四方面提供的前述计算机设备的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的方法,于此不再赘述。
本实施例第五方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第三方面任意一种可能的设计中所述的超文本协同编辑方法。
其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例第五方面提供的前述计算机设备的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的方法,于此不再赘述。
本实施例第六方面提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第三方面任意一种可能的设计中所述的超文本协编辑方法。
本实施例第六方面提供的前述计算机可读存储介质的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的方法,于此不再赘述。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种超文本协同编辑方法,其特征在于,包括:
接收浏览器端发送的实例创建事件消息,根据所述实例创建事件消息,将获取到的当前协同用户信息返回至所述浏览器端,以使所述浏览器端将当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
接收所述浏览器端发送的内容变更事件消息,根据所述内容变更事件消息,将获取到的用户当前输入位置信息和文本内容变更信息返回至所述浏览器端,以使所述浏览器端将用户当前输入位置信息和文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,所述浏览器端嵌设有slate-react超文本编辑器,用于供各协同用户对目标文本进行协同编辑;所述浏览器端设有第一socket端,所述第一socket端基于Websocket协议进行消息传输。
2.一种超文本协同编辑装置,其特征在于,包括:
第一信息获取模块,用于接收浏览器端发送的实例创建事件消息,根据所述实例创建事件消息,将获取到的当前协同用户信息返回至所述浏览器端,以使所述浏览器端将当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
第二信息获取模块,用于接收所述浏览器端发送的内容变更事件消息,根据所述内容变更事件消息,将获取到的用户当前输入位置信息和文本内容变更信息返回至所述浏览器端,以使所述浏览器端将用户当前输入位置信息和文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,所述浏览器端嵌设有slate-react超文本编辑器,用于供各协同用户对目标文本进行协同编辑;所述浏览器端设有第一socket端,所述第一socket端基于Websocket协议进行消息传输。
3.一种超文本协同编辑方法,其特征在于,包括:
监听协同实例创建事件,并在监听到创建事件发生时将实例创建事件消息发送至服务器,以使所述服务器根据所述实例创建事件消息获取当前协同用户信息;
接收所述当前协同用户信息,并将所述当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
监听内容变更事件,并在监听到变更事件发生时将内容变更事件消息发送至所述服务器,以使所述服务器根据所述内容变更事件消息获取用户当前输入位置信息和文本内容变更信息;
接收所述用户当前输入位置信息和所述文本内容变更信息,并将所述用户当前输入位置信息和所述文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,各协同用户基于slate-react超文本编辑器对目标文本进行协同编辑;所述服务器设有第二socket端,所述第二socket端基于Websocket协议进行消息传输。
4.根据权利要求3所述的超文本协同编辑方法,其特征在于,在监听协同实例创建事件之前,所述方法还包括:
接收用户的加入协同请求,根据所述加入协同请求调用New Collaboration插件函数创建协同实例,并调用handle Join Edit插件函数将用户加入到目标文本的协同编辑中。
5.根据权利要求3所述的超文本协同编辑方法,其特征在于,在监听内容变更事件之前,所述方法还包括:
获取用户的协同编辑操作,根据所述协同编辑操作调用handle Push CurrentSelection插件函数将用户输入的文本信息发送至第一socket端;
调用handle Send Operations插件函数对用户输入位置进行定位,并将用户输入位置放置在待发送列表中,同时,调用get Edit Content插件函数获取用户输入内容,以使所述第一socket端将用户输入内容和待发送列表中的用户输入位置发送至所述服务器。
6.根据权利要求3所述的超文本协同编辑方法,其特征在于,所述文本内容变更信息在目标文本编辑页面中的显示方法包括:
将slate-react超文本编辑器的children数组设置为value,并将文本内容变更信息传递给所述children数组;
根据所述children数组生成渲染组件,其中,所述渲染组件包括Element组件和Text组件;
将所述Element组件和Text组件渲染到目标文本编辑页面进行实时显示。
7.根据权利要求3所述的超文本协同编辑方法,其特征在于,当所述目标文本为视频文件时,所述方法还包括:
利用python和celery技术来分布式引用ffmpeg工具,以对视频文件进行转码,并将转码后的视频文件发送至服务器。
8.一种超文本协同装置,其特征在于,包括:
第一监听模块,用于监听协同实例创建事件,并在监听到创建事件发生时将实例创建事件消息发送至服务器,以使所述服务器根据所述实例创建事件消息获取当前协同用户信息;
第一显示模块,用于接收所述当前协同用户信息,并将所述当前协同用户信息在各协同用户的目标文本编辑页面中进行实时显示;
第二监听模块,用于监听内容变更事件,并在监听到变更事件发生时将内容变更事件消息发送至所述服务器,以使所述服务器根据所述内容变更事件消息获取用户当前输入位置信息和文本内容变更信息;
第二显示模块,用于接收所述用户当前输入位置信息和所述文本内容变更信息,并将所述用户当前输入位置信息和所述文本内容变更信息在各协同用户的目标文本编辑页面中进行实时显示;
其中,各协同用户基于slate-react超文本编辑器对目标文本进行协同编辑;所述服务器设有第二socket端,所述第二socket端基于Websocket协议进行消息传输。
9.一种计算机设备,其特征在于,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1或权利要求3-7任意一项所述的超文本协同编辑方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515712.1A CN114861611A (zh) | 2022-05-11 | 2022-05-11 | 一种超文本协同编辑方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515712.1A CN114861611A (zh) | 2022-05-11 | 2022-05-11 | 一种超文本协同编辑方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861611A true CN114861611A (zh) | 2022-08-05 |
Family
ID=82636475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210515712.1A Pending CN114861611A (zh) | 2022-05-11 | 2022-05-11 | 一种超文本协同编辑方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861611A (zh) |
-
2022
- 2022-05-11 CN CN202210515712.1A patent/CN114861611A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815200B (zh) | 一种文件分享方法、装置及存储介质 | |
CN101150803B (zh) | 微浏览器处理网络数据的方法、微浏览器及其服务器 | |
JP6186870B2 (ja) | 情報処理装置、プログラム、会議システム及びコンテンツ提供方法 | |
CN1867142B (zh) | 移动终端设备获取计算机信息的方法和系统 | |
JP5039982B2 (ja) | クライアント受信装置、クライアント処理方法、送信装置、送信方法、送信受信システム、送受信方法、プログラムおよび記録媒体(アプリケーション・ベースmmsをサポートする送信および受信の装置、方法、システム、プログラムおよび記録媒体) | |
CN108848060B (zh) | 一种多媒体文件处理方法、处理系统及计算机可读存储介质 | |
US20090193345A1 (en) | Collaborative interface | |
US8644810B1 (en) | Method and system for dynamic font support on mobile devices | |
US20070016657A1 (en) | Multimedia data processing devices, multimedia data processing methods and multimedia data processing programs | |
WO2013091550A1 (zh) | 发布微博消息的方法及装置 | |
CN102664832A (zh) | 对消息进行批注和追加修改的方法和装置 | |
CN103531218B (zh) | 一种在线多媒体文件编辑方法及系统 | |
US20220342518A1 (en) | Card-based information management method and system | |
US20160142361A1 (en) | Image with audio conversation system and method utilizing social media communications | |
WO2017114190A1 (zh) | 一种文件上传处理方法及装置 | |
KR20120052232A (ko) | 모바일 대화 시스템 및 콘텐츠 전달 솔루션 | |
CN104902343A (zh) | 一种传输和播放音视频与消息的方法、服务器及终端 | |
CN104270301A (zh) | 一种单位内部公告信息发布方法 | |
CN101296201B (zh) | 网络信息共享方法、系统及即时通信装置 | |
CN100546281C (zh) | 一种传输数据的方法及装置 | |
CN104298416B (zh) | 即时通讯中自动回复消息的生成方法和装置 | |
WO2011116558A1 (zh) | 短消息处理方法及终端 | |
CN105763424A (zh) | 一种文字信息处理方法和装置 | |
US8683608B2 (en) | Communication method, display apparatus, moderator terminal apparatus, user terminal apparatus, and multi-user communication system including the same | |
CN110659006B (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 |