一种多章节文档在线协同编辑方法、系统、终端及服务器与流程
未命名
09-15
阅读:119
评论:0
1.本发明涉及文档协同处理技术领域:
:,尤其涉及的是一种多章节文档在线协同编辑方法、系统、终端及服务器。
背景技术:
::2.在编写大文件文档时,文档页面的操作和保存均存在较大的延迟和卡顿,甚至造成浏览器没有响应,给用户造成极其糟糕的体验。究其原因就是用户操作的文档数据量过多造成,而实际上用户编辑的内容可能只有很少的一部分。通过采用多章节文档,将一个大的文档分解成若干的小文件,通过一定的元数据信息将之关联起来,形成一个整体,即可提高编辑效率。3.现有的多章节文档在线编辑方法需要一次性加载文档,维护的文档结构过于复杂,加载和编辑效率低,而且没有实现多人在线协同编辑。技术实现要素:4.本发明的主要目的在于提供一种多章节文档在线协同编辑方法、系统、智能终端、服务器及存储介质,能够解决目前文档加载和编辑效率低且没有实现多人在线协同编辑的问题。5.本发明第一方面提供一种多章节文档在线协同编辑方法,应用于客户端,所述方法包括:6.获取多章节文档的文档元信息并显示,所述多章节文档为服务端根据上传的章节内容和文档标题而生成,所述多章节文档中各个章节之间互相独立;7.响应于用户对章节的选择指令,从服务端获取已选择章节的章节元信息并显示;8.与服务端建立文档同步会话和章节同步会话,对所述多章节文档进行协同编辑,所述文档同步会话用于协同编辑时同步所述文档元信息,所述章节同步会话用于协同编辑时同步所述章节元信息。9.根据上述技术手段,通过将多章节文档划分多个章节,各个章节之间互相独立,在用户选择章节后,才加载已选择章节的章节元信息并显示,实现各个章节的独立加载和独立编辑,提高加载和编辑效率;并通过与服务端建立文档同步会话和章节同步会话,实现多人在线协同编辑。10.可选地,所述对多章节文档进行协同编辑包括更新章节内容,并采用dom元素显示所述章节内容,所述更新章节内容的步骤包括:11.编辑所述dom元素,依据协同规则生成操作信息;12.将所述操作信息从所述章节同步会话发送至在线协同服务器。13.由上可见,采用dom元素显示章节内容,有利于传统文档用户的理解和操作,并能很方便地根据协同规则生成操作信息,从而利用在线协同服务器实现协同更新章节内容。14.可选地,所述对多章节文档进行协同编辑包括同步章节内容,所述同步章节内容的步骤包括:15.解析从所述章节同步会话接收到的操作信息,所述操作信息包括被编辑的dom元素的定位路径、编辑类型和编辑后数据;16.若所述操作信息来自于其他客户端,根据操作信息中的定位路径定位dom元素,根据操作信息中的编辑类型和编辑后数据修改定位到的dom元素。17.由上可见,在同步章节内容时,根据定位路径、编辑类型和编辑后数据,就可以高效地对目标dom元素进行定位和修改。18.可选地,所述对多章节文档进行协同编辑包括更新章节信息,所述更新章节信息的步骤包括:19.获取编辑后的章节信息,根据编辑后的章节信息构建章节元信息列表;20.将所述章节元信息列表从所述文档同步会话发送至在线协同服务器。21.由上可见,更新章节信息时,通过文档同步会话来实现章节元信息列表的同步,从而将更新的章节信息同步至各个客户端。22.可选地,所述对多章节文档进行协同编辑包括同步章节信息,所述同步章节信息的步骤包括:23.从所述文档同步会话接收章节元信息列表;24.将接收到的章节元信息列表替换所述文档元信息中的章节元信息列表;25.根据所述章节元信息列表,重新加载所述多章节文档的章节标题。26.由上可见,在客户端同步章节信息时,只需要更新文档元信息中的章节元信息列表,重新加载章节元信息列表就可以实现章节标题的同步,简单快速。27.可选地,显示已选择章节的章节元信息,包括:28.根据所述章节元信息,获得章节内容;29.将所述章节内容转换为dom元素,显示所述dom元素。30.由上可见,采用dom元素显示章节内容,有利于传统文档用户的理解和操作,便于编辑章节内容。31.可选地,将所述章节内容转换为dom元素时,还加载插件,所述插件包括:视频播放插件、图片查看插件和公式编辑插件。32.由上可见,通过加载插件,能够方便地实现富媒体文本的编辑。33.可选地,显示所述文档元信息,包括:34.根据所述文档元信息,获取章节元信息列表;35.获取所述章节元信息列表中的各个章节元信息;36.依次获取每个章节元信息的章节标题;37.显示所有的所述章节标题。38.由上可见,显示文档元信息时,通过文档元信息获取章节元信息列表,再通过章节元信息列表获取章节元信息,然后获取到章节标题,文档结构清晰,且只需要获取一级章节标题,方便理解且不需要对章节内容做进一步的解析,加载速度快、效率高。39.本发明第二方面提供一种多章节文档在线协同编辑方法,应用于服务端,当接收到客户端上传的章节内容和章节列表时,所述方法包括:40.保存所述章节内容,生成章节内容存储元信息;41.根据所述章节内容存储元信息生成章节元信息;42.根据所述章节元信息更新所述章节列表,将更新后的章节列表序列化后保存,获得章节元信息列表;43.根据所述章节元信息列表更新文档元信息并保存;44.将更新后的文档元信息和所述章节元信息发送至客户端;45.基于文档元信息中的资源主键,获得文档同步会话空间,所述文档同步会话空间包括所有用于协同编辑所述多章节文档所建立的文档同步会话;46.将更新后的文档元信息发送至所述文档同步会话空间。47.本发明第三方面提供一种多章节文档在线协同编辑方法,应用于服务端,当接收到客户端上传的章节内容和文档标题时,所述方法包括:48.保存所述章节内容,生成章节内容存储元信息;49.根据所述章节内容存储元信息,生成章节元信息;50.根据所述章节元信息,生成章节元信息列表;51.存储所述章节元信息列表,获得章节列表存储元信息;52.基于所述文档标题和所述章节列表存储元信息,创建文档元信息并保存。53.本发明第四方面提供一种多章节文档在线协同编辑系统,其中,上述系统包括:54.客户端,用于显示和编辑文档信息、文档中的章节信息以及选定章节的内容,将编辑后的信息发送至在线协同服务器;55.业务服务器,用于更新文档元信息、章节元信息和章节元信息列表;56.存储服务器,与所述业务服务器连接,用于存储文章内容、文档中的章节元信息列表以及文档元信息、章节元信息;57.在线协同服务器,与所述业务服务器连接,用于建立与各个客户端的文档同步会话和章节同步会话,实现所有客户端在线协同编辑。58.本发明第五方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的多章节文档在线协同编辑程序,上述多章节文档在线协同编辑程序被上述处理器执行时实现任意一项上述应用于客户端的多章节文档在线协同编辑方法的步骤。59.本发明第六方面提供一种服务器,上述服务器包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的多章节文档在线协同编辑程序,上述多章节文档在线协同编辑程序被上述处理器执行时实现任意一项上述应用于服务端的多章节文档在线协同编辑方法的步骤。60.本发明第七方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有多章节文档在线协同编辑程序,上述多章节文档在线协同编辑程序被处理器执行时实现任意一项上述多章节文档在线协同编辑方法的步骤。61.由上可见,本发明的多章节文档在线协同编辑方法、系统、智能终端、服务器和计算机可读存储介质,将文档划分为多章节,各章节相互独立,在文档加载时只需要加载一级章节,加载速度快、效率高。并且独立地对章节进行编辑,编辑效率高。使用文档元信息和章节元信息来描述文档的结构,结构简单清晰的,并且同时与在线协同服务器建立文档同步会话和章节同步会话来完成多人在线协同编辑。附图说明62.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。63.图1是本发明实施例提供的元信息结构图;64.图2是本发明实施例提供的多章节文档在线协同编辑系统示意图;65.图3是本发明实施例提供的应用于客户端的多章节文档在线协同编辑方法具体流程示意图;66.图4是图3实施例中更新章节内容的具体流程示意图;67.图5是图3实施例中同步章节内容的具体流程示意图;68.图6是图3实施例中更新章节信息的具体流程示意图;69.图7是图3实施例中同步章节信息的具体流程示意图;70.图8是本发明实施例提供的新增章节时,应用于服务端的多章节文档在线协同编辑方法的具体流程示意图;71.图9是本发明实施例提供的新建文档时,应用于服务端的多章节文档在线协同编辑方法的具体流程示意图;72.图10是本发明实施例提供的一种智能终端的内部结构原理框图。具体实施方式73.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。74.现有的多章节文档结构复杂,不利于传统文档用户的理解和操作,需要一次性加载,加载和编辑效率低,且不能在线协同编辑。针对上述问题,本发明提供了一种多章节文档在线协同编辑方法,将文档划分为多章节,各章节独立存储,结构简单清晰,在文档加载时只需要加载一级章节,加载速度快、编辑效率高,并且使用在线协同服务器完成多人在线协同编辑。75.本发明中的文档也称为资源,包括若干个章节,一篇章节又包括若干个标题。文档存储的数据包括结构化数据和非结构数据,结构化数据保存在数据库中,主要为一些元信息,如文档元信息、章节元信息和标题元信息等;非结构化数据保存在磁盘中,如文件资源、序列化的章节列表字符串。76.参考图1所示,文档元信息(resource)用于描述文档本身的相关信息,文档元信息包括资源主键(rid)、章节列表储存主键(sid);章节元信息(chapter)用于描述文档中各个章节的相关信息,章节元信息包括:章节主键(cid)、章节标题、所属资源(rid)、章节包含的所有标题列表(toc,为json字符串)、存储章节内容时生成的章节内容存储主键(sid)。与文档存储相关的还有存储元信息、标题元信息,存储元信息(storage)记载了章节内容、章节列表字符串的存储信息,存储元信息包括存储主键(sid),所属资源(rid),存储内容索引路径。标题元信息记载了章节中包含的标题信息,标题元信息(toc)包含:标题所属章节(cid)、标题层级(level)、标题内容(content)。77.上述各种元信息统称为文档的元信息。通过将文档的结构定义为上述元信息,使得文档层次清晰、各个章节互相独立,即各个章节可以分别进行编辑、显示、存储、更新等,而不会互相干扰,也不需要一次性将全部章节内容加载,提高章节的编辑和显示效率。78.如图2所示,本实施例提供了一种多章节文档在线协同编辑系统,用来实现本发明的多章节文档在线协同编辑方法。具体地,在线协同编辑系统主要包括以下几个部分:客户端、业务服务器、存储服务器和在线协同服务器。其中,客户端为浏览器上的web文档编辑器,可以运行在pc电脑上或移动终端上,用于显示文档和编辑文档信息、文档中的章节信息以及选定章节的内容,然后将编辑后的信息发送至在线协同服务器;业务服务器,用于更新文档元信息、章节元信息和章节元信息列表,如对文档的元信息进行组织和处理,并完成文档元信息到文档各章节内容信息的索引和章节内容的下载;存储服务器与业务服务器连接,用于实现文档的内容存储。需要存储的文档内容包括两部分:一部分是文档元信息,为结构化数据,如文档中的章节元信息列表、文档元信息、章节元信息;另一部分是文档各章节本身的内容(即章节内容),为非结构化数据。在线协同服务器,与业务服务器连接,用于提供websocket(一种网络通信协议)长连接服务,建立与各个客户端的文档同步会话和章节同步会话,通过实现各客户端之间的实时同步以便完成多人在线协同编辑。79.文档资源可以直接在服务器新建,首先创建一个文档资源,在存储服务器创建一个文档元信息,将文档资源本身指向文档元信息。文档元信息创建好后,在存储服务器上创建一个章节元信息作为初始章节,将文档元信息的章节指向该初始章节。并创建初始章节的章节内容,将初始章节指向该章节内容。80.也可以先在客户端创建新的文档资源的章节内容和文档标题,然后将章节内容和文档标题上传至业务服务器,业务服务器根据上传的章节内容和文档标题生成新的多章节文档以供客户端在线协同编辑。81.如图3所示,在客户端,本实施例的多章节文档在线协同编辑方法,具体步骤包括:82.步骤s100:获取文档元信息并显示;83.客户端预先从业务服务器下载到文档资源列表(包括若干多章节文档的资源主键和文档标题)并显示,用户选择一个文档资源后,如通过双击或调用指令发出读取文档资源的请求,将该请求发送至业务服务器,业务服务器根据以选择文档资源的资源主键rid从存储服务器中获得文档元信息,然后将文档元信息发送至客户端。客户端分析文档元信息,读取章节元信息列表,根据章节元信息列表,从存储服务器读取各个章节的章节元信息,从这些章节元信息中读取到章节标题,形成章节列表,然后将文档信息和章节列表显示在客户端的左侧,如显示为列表框,列表框的根节点为文档标识或文档名称,列表项为章节标题。84.由上可知,使用列表框显示文档的结构时只使用了一级章节,并没有分析章节的具体内容,没有加载章节内容中的标题,结构清晰,加载效率高。85.步骤s200:响应于用户对章节的选择,从服务端获取已选择章节的章节内容并显示;86.当用户在客户端的左侧列表框上选定了一个章节后,在浏览器的内存中获取到选定章节的章节元信息,从章节元信息中读取章节内容存储主键,将该章节内容存储主键发送至业务服务器,业务服务器根据该章节内容存储主键从存储服务器读取到章节内容存储元信息,根据章节内容存储元信息中的存储内容索引路径,下载选定章节的章节内容;并将章节内容发送至客户端。客户端然后解析章节内容,并转换为浏览器能识别的dom元素;再解析章节元信息中的章节包含的所有标题列表toc,获得该章节下的标题并渲染,挂载到左侧已选择章节对应的列表项下。由于各个章节相互独立,因此能够实现章节下的标题信息的动态加载,使用方便。87.其中,上述dom元素指的是文档对象模型(dom)中的一个节点,它可以是html标签、文本节点、注释、属性等等。将章节内容解析为dom元素,便于传统文档用户的理解,并且能在现有的各种浏览器上进行显示和编辑。88.在一个示例中,客户端将章节内容转换为dom元素时,还在客户端浏览器上加载插件,上述插件常见的有:视频播放插件、图片查看插件和公式编辑插件等,使得章节内容可以是富媒体,借助于这些插件实现富媒体编辑功能。89.步骤s300:与服务端建立文档同步会话和章节同步会话,对文档进行协同编辑,文档同步会话用于协同编辑时同步文档元信息,章节同步会话用于协同编辑时同步文档中的章节元信息。90.针对目前的多章节文档编辑器缺少在线协同编辑的功能,本发明使用了在线协同服务器来解决各个客户端提交更新请求时的冲突问题以及各个客户端的文档信息同步问题。91.具体地,本实施例中客户端与在线协同服务器建立了两个websocket长连接,其中一个称为文档同步会话,用来在协同编辑时同步文档元信息,文档同步会话的标识中均包括文档元信息的资源主键rid;另一个称为章节同步会话,用来在协同编辑时同步文档中的章节元信息,章节同步会话的标识中均包括文档元信息的资源主键rid和已选择章节的章节主键cid,两者用下划线“_”连接。92.协同编辑时,若客户端从文档同步会话接收到在线协作服务器发送的同步信息时,完成同步信息的解析,对文档信息(文档的名称、文档中包括哪些章节等)进行同步更新,实现文档的多人在线协同;若客户端从章节同步会话接收到在线协作服务器发送的同步信息时,完成同步信息的解析,在客户端对相应的dom元素进行操作,实现章节内容的多人在线协同。93.由上可见,本实施例的文档结构只使用了一级章节,结合dom元素标题标签来组织文档内容,降低文档结构复杂度,满足了大文件的快速编辑和保存。同时采用在线协同服务器完成多个独立浏览器客户端之间的实时通信,同步章节和文档的更改信息,实现多个用户的在线协同编辑功能。94.另外,有别于markdown语法输入,可以根据用户的类似于传统办公软件的输入方式,执行dom元素的更新逻辑,形成用户最终看到的文档内容,同时兼容markdown语法的解析,兼顾传统办公软件用户和markdown语法用户的操作习惯,对生成在章节下的目录可以进行折叠和展示,方便用户进行快速查看。95.本实施例客户端查看文档中已选择章节内容的完整操作过程为:根据客户端上已点击的某一文档资源对应的资源主键rid,将资源主键rid发送至业务服务器。业务服务器接收到资源主键rid后,查询数据库,获得对应的文档元信息;根据文档元信息中的章节列表储存主键sid,查找数据库,获得章节列表存储元信息,根据章节列表存储元信息中的存储内容索引路径,获得章节列表。业务服务器将章节列表发送至客户端,客户端获取到章节列表后,默认获取第一个章节的章节内容,将第一个章节的章节主键sid发送至业务服务器,即发出章节内容下载请求。业务服务器接收到客户端发出的章节内容下载请求后,通过章节主键sid从存储服务器读取到章节内容后,将章节内容发送给客户端。96.客户端获取到章节内容后,解析html字符串为dom元素,其中一些自定义的html元素会按照约定的schema解析为特定的dom元素,加载各类插件,例如视频播放插件、图片查看插件、公式插件,实现相应功能的扩展。客户端完成解析html字符串后,将生成的dom元素挂载到浏览器中,完成渲染,至此用户完成文档中已选择章节内容的查看操作。97.更新章节内容为协同编辑中的一种,如图4所示,在一个实施例中,更新章节内容的具体步骤包括:98.步骤a100:编辑所述dom元素,依据协同规则生成操作信息;99.步骤a200:将操作信息从章节同步会话发送至在线协同服务器;100.如上所述,客户端在获得章节内容后,采用了dom元素显示章节内容,兼顾了传统办公软件用户的操作习惯,并且浏览器的dom元素可通过contenteditable(dom元素的一种属性)属性赋予dom元素的编辑能力,因此浏览器即编辑器。用户编辑dom元素的操作,一般为对一段文字、卡片、表格、代码的新增、删除和修改操作,将这些操作按照协同规则(在线协同服务器(ot-server)所规定的方式)生成对应的操作信息,这些操作信息中包含定位到被编辑的dom元素的定位路径、编辑类型、以及编辑后的数据信息。将这些数据打包为操作信息上传到在线协同服务器。101.同步章节内容为协同编辑中的一种,如图5所示,在一个实施例中,同步章节内容的具体步骤包括:102.步骤a300:解析从章节同步会话接收到的操作信息,上述操作信息包括被编辑的dom元素的定位路径、编辑类型和编辑后数据;103.步骤a400:若操作信息来自于其他客户端,根据操作信息中的定位路径定位dom元素,根据操作信息中的编辑类型和编辑后数据修改定位到的dom元素。104.在线协同服务器接收到操作信息后,根据一定算法操作服务器内的文档,同时解决冲突。然后将没有问题的操作信息发送给章节主键id对应的章节同步会话空间(由所有的同一章节主键id对应的章节同步会话组成)内的所有在线客户端。每个客户端收到操作信息后,识别到不是当前浏览器发出的消息就执行操作信息解析,即根据操作信息中的定位路径定位到需要编辑的dom元素,根据操作信息中的编辑类型和编辑后数据修改定位到的dom元素,渲染协同过来的变更操作,完成章节内容的协同。105.更新章节信息为协同编辑中的一种,如图6所示,在一个实施例中,更新章节信息的具体步骤包括:106.步骤b100:获取编辑后的章节信息,根据编辑后的章节信息构建章节元信息列表;107.步骤b200:将章节元信息列表从文档同步会话发送至在线协同服务器。108.客户端上编辑章节信息,包括新增、修改或者删除章节信息。从用于显示文档中的章节列表的列表框中获得编辑后的章节信息,根据编辑后的章节信息,构建新的章节元信息列表。然后将章节元信息列表序列化为json字符串,从文档同步会话发送至在线协同服务器。109.同步章节信息为协同编辑中的一种,如图7所示,在一个实施例中,同步章节信息的具体步骤包括:110.步骤b300:从文档同步会话接收章节元信息列表;111.步骤b400:将接收到的章节元信息列表替换文档元信息中的章节元信息列表;112.步骤b500:根据章节元信息列表,重新加载所述文档的章节标题。113.在线协同服务器接收到章节元信息列表后,根据一定算法操作服务器内的文档,同时解决冲突。然后发送给资源主键id对应的文档同步会话空间(由所有的同一资源主键id对应的文档同步会话组成)内的所有在线客户端。每个客户端收到章节元信息列表后,识别到不是当前浏览器发出的消息时,用接收到的章节元信息列表替换自身内存中文档元信息中的章节元信息列表,更新章节元信息列表后,重新加载文档的章节标题,渲染左侧章节标题。以保证各个客户端对同一份文档的章节的操作是实时可见的。114.当客户端在文档中新增章节时,如图8所示,在一个实施例中,服务端的具体步骤包括:115.步骤c100:保存章节内容,生成章节内容存储元信息;116.步骤c200:根据章节内容存储元信息生成章节元信息;117.步骤c300:根据章节元信息更新章节列表,获得章节元信息列表;118.步骤c400:根据章节元信息列表更新文档元信息;119.步骤c500:将更新后的文档元信息和章节元信息发送至客户端;120.步骤c600:基于文档元信息中的资源主键,获得文档同步会话空间;121.步骤c700:将更新后的文档元信息发送至文档同步会话空间。122.当客户端在文档中新增章节时,客户端提交章节内容和章节列表。在线协同服务器根据一定算法操作服务器内的文档,同时解决冲突,然后将客户端提交的内容发送至业务服务器。业务服务器上传章节内容到存储服务器,生成章节内容存储元信息,章节内容存储元信息中的存储主键为章节元信息中的章节内容存储主键,根据章节内容存储主键生成章节元信息,然后更新章节列表,获得章节元信息列表,将章节元信息列表序列化后,存储到存储服务器,获得章节列表存储元信息。根据章节列表存储元信息中的存储主键更新文档元信息的章节列表储存主键,且更新前后的文档元信息的资源主键不变。业务服务器将更新后的文档元信息和生成的章节元信息发送至客户端,然后将更新后的文档元信息发送至在线协作服务器,在线协作服务器获取文档元信息中的资源主键,查找到与该资源主键对应的文档同步会话空间,该文档同步会话空间包括若干个文档同步会话,每个文档同步会话连接一个客户端,且均是用于协同编辑该文档元信息所对应的多章节文档,查找到文档同步会话空间后,将更新后的文档元信息发送至文档同步会话空间以在各个客户端上同步更新。123.当客户端新建文档时,如图9所示,在一个实施例中,服务端的具体步骤包括:124.步骤d100:保存章节内容,生成章节内容存储元信息;125.步骤d200:根据章节内容存储元信息,生成章节元信息;126.步骤d300:根据章节元信息,生成章节元信息列表;127.步骤d400:存储章节元信息列表,获得章节列表存储元信息;128.步骤d500:基于文档标题和章节列表存储元信息,创建文档元信息并保存。129.文档创建时,用户提交创建文档的标题、章节内容的文件至业务服务器。业务服务器将接收到的章节内容文件,上传到储存服务器,获取到访问路径。生成描述章节内容访问路径的章节内容存储元信息,根据章节内容存储元信息生成章节元信息。若存在多个章节,依次对其他的每个新章节进行上述操作,获得各个章节对应的章节元信息,根据所有的章节元信息生成章节元信息列表,并将之序列化为json字符串,作为一个文件保存至存储服务器,生成描述章节列表访问路径的章节列表存储元信息。130.业务服务器根据文档标题生成文档元信息,保存至数据库,同时生成资源主键rid,此时文档元信息中的章节列表储存主键即为章节列表存储元信息的主键,完成文档到章节内容查询链的记录,然后存储文档对应的版本信息。131.需要说明的是,既可以在存储服务器上保存结构化的元信息数据,也可以保存章节内容、章节元信息列表序列化后的字符串等非结构化的数据,也可以将章节内容、章节元信息列表序列化后的字符串等非结构化的数据单独保存在一个文件服务器中。132.基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图10所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和多章节文档在线协同编辑程序。该内存储器为非易失性存储介质中的操作系统和多章节文档在线协同编辑程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该多章节文档在线协同编辑程序被处理器执行时实现上述任意一种应用于客户端的多章节文档在线协同编辑方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。133.本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。134.基于上述实施例,本发明还提供了一种服务器。上述服务器包括通过系统总线连接的处理器、存储器、网络接口。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和多章节文档在线协同编辑程序。该内存储器为非易失性存储介质中的操作系统和多章节文档在线协同编辑程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该多章节文档在线协同编辑程序被处理器执行时实现上述任意一种应用于服务端的多章节文档在线协同编辑方法的步骤。135.本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有多章节文档在线协同编辑程序,上述多章节文档在线协同编辑程序被处理器执行时实现本发明实施例提供的任意一种多章节文档在线协同编辑方法的步骤。136.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。137.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。138.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域:
:的技术人员所理解。139.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或n个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。140.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。141.本
技术领域:
:的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。142.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。143.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12当前第1页12
技术特征:
1.多章节文档在线协同编辑方法,应用于客户端,其特征在于,所述方法包括:获取多章节文档的文档元信息并显示,所述多章节文档为服务端根据上传的章节内容和文档标题而生成,所述多章节文档中各个章节之间互相独立;响应于用户对章节的选择指令,从服务端获取已选择章节的章节元信息并显示;与服务端建立文档同步会话和章节同步会话,对所述多章节文档进行协同编辑,所述文档同步会话用于协同编辑时同步所述文档元信息,所述章节同步会话用于协同编辑时同步所述章节元信息。2.如权利要求1所述的多章节文档在线协同编辑方法,其特征在于,所述对多章节文档进行协同编辑包括更新章节内容,并采用dom元素显示所述章节内容,所述更新章节内容的步骤包括:编辑所述dom元素,依据协同规则生成操作信息;将所述操作信息从所述章节同步会话发送至在线协同服务器。3.如权利要求1所述的多章节文档在线协同编辑方法,其特征在于,所述对多章节文档进行协同编辑包括同步章节内容,所述同步章节内容的步骤包括:解析从所述章节同步会话接收到的操作信息,所述操作信息包括被编辑的dom元素的定位路径、编辑类型和编辑后数据;若所述操作信息来自于其他客户端,根据操作信息中的定位路径定位dom元素,根据操作信息中的编辑类型和编辑后数据修改定位到的dom元素。4.如权利要求1所述的多章节文档在线协同编辑方法,其特征在于,所述对多章节文档进行协同编辑包括更新章节信息,所述更新章节信息的步骤包括:获取编辑后的章节信息,根据编辑后的章节信息构建章节元信息列表;将所述章节元信息列表从所述文档同步会话发送至在线协同服务器。5.如权利要求1所述的多章节文档在线协同编辑方法,其特征在于,所述对多章节文档进行协同编辑包括同步章节信息,所述同步章节信息的步骤包括:从所述文档同步会话接收章节元信息列表;将接收到的章节元信息列表替换所述文档元信息中的章节元信息列表;根据所述章节元信息列表,重新加载所述多章节文档的章节标题。6.如权利要求1所述的多章节文档在线协同编辑方法,其特征在于,显示已选择章节的章节元信息,包括:根据所述章节元信息,获得章节内容;将所述章节内容转换为dom元素,显示所述dom元素。7.如权利要求6所述的多章节文档在线协同编辑方法,其特征在于,将所述章节内容转换为dom元素时,还加载插件,所述插件包括:视频播放插件、图片查看插件和公式编辑插件。8.如权利要求1所述的多章节文档在线协同编辑方法,其特征在于,显示所述文档元信息,包括:根据所述文档元信息,获取章节元信息列表;获取所述章节元信息列表中的各个章节元信息;依次获取每个章节元信息的章节标题;
显示所有的所述章节标题。9.多章节文档在线协同编辑方法,应用于服务端,其特征在于,当接收到客户端上传的章节内容和章节列表时,所述方法包括:保存所述章节内容,生成章节内容存储元信息;根据所述章节内容存储元信息生成章节元信息;根据所述章节元信息更新所述章节列表,将更新后的章节列表序列化后保存,获得章节元信息列表;根据所述章节元信息列表更新文档元信息并保存;将更新后的文档元信息和所述章节元信息发送至客户端;基于文档元信息中的资源主键,获得文档同步会话空间,所述文档同步会话空间包括所有用于协同编辑所述多章节文档所建立的文档同步会话;将更新后的文档元信息发送至所述文档同步会话空间。10.多章节文档在线协同编辑方法,应用于服务端,其特征在于,当接收到客户端上传的章节内容和文档标题时,所述方法包括:保存所述章节内容,生成章节内容存储元信息;根据所述章节内容存储元信息,生成章节元信息;根据所述章节元信息,生成章节元信息列表;存储所述章节元信息列表,获得章节列表存储元信息;基于所述文档标题和所述章节列表存储元信息,创建文档元信息并保存。11.多章节文档在线协同编辑系统,其特征在于,所述系统包括:客户端,用于显示和编辑文档信息、文档中的章节信息以及选定章节的内容,将编辑后的信息发送至在线协同服务器;业务服务器,用于更新文档元信息、章节元信息和章节元信息列表;存储服务器,与所述业务服务器连接,用于存储文章内容、文档中的章节元信息列表以及文档元信息、章节元信息;在线协同服务器,与所述业务服务器连接,用于建立与各个客户端的文档同步会话和章节同步会话,实现所有客户端在线协同编辑。12.智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的多章节文档在线协同编辑程序,所述多章节文档在线协同编辑程序被所述处理器执行时实现如权利要求1-8任意一项所述多章节文档在线协同编辑方法的步骤。13.服务器,其特征在于,所述服务器包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的多章节文档在线协同编辑程序,所述多章节文档在线协同编辑程序被所述处理器执行时实现如权利要求9-10任意一项所述多章节文档在线协同编辑方法的步骤。14.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有多章节文档在线协同编辑程序,所述多章节文档在线协同编辑程序被处理器执行时实现如权利要求1-10任意一项所述多章节文档在线协同编辑方法的步骤。
技术总结
本发明公开了一种多章节文档在线协同编辑方法、系统、终端及服务器。所述方法包括:获取文档元信息并显示,所述文档中各个章节之间互相独立;响应于用户对章节的选择,从服务端获取已选择章节的章节元信息并显示;与服务端建立文档同步会话和章节同步会话,对所述文档进行协同编辑,所述文档同步会话用于协同编辑时同步文档元信息,所述章节同步会话用于协同编辑时同步文档中的章节元信息。通过将文档划分为多章节,各章节相互独立,在文档加载时只需要加载一级章节,加载速度快、效率高,使用文档元信息和章节元信息来描述文档的结构,结构简单清晰的,使用文档同步会话和章节同步会话完成多人在线协同编辑。完成多人在线协同编辑。完成多人在线协同编辑。
技术研发人员:侯川
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.06.20
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
