CN110968994B - 一种文档在线编辑方法及服务器 - Google Patents
一种文档在线编辑方法及服务器 Download PDFInfo
- Publication number
- CN110968994B CN110968994B CN201910997065.0A CN201910997065A CN110968994B CN 110968994 B CN110968994 B CN 110968994B CN 201910997065 A CN201910997065 A CN 201910997065A CN 110968994 B CN110968994 B CN 110968994B
- Authority
- CN
- China
- Prior art keywords
- document
- editing
- data
- database
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000003993 interaction Effects 0.000 claims description 26
- 238000011084 recovery Methods 0.000 claims description 22
- 230000006872 improvement Effects 0.000 description 9
- 241001178520 Stomatepia mongo Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文档在线编辑方法及服务器,其通过依据接收的用户端指令调用第一数据库的内容数据和第二数据库存储的编辑时间队列数据,调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;第一数据库依据第一预设格式存储文档的内容数据,依据接收的新的待编辑文档的内容数据更新存储数据;第二数据库依据第二预设格式存储文档的编辑时间队列数据,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据,通过设置多个模块用于存储不同的数据内容和特定的调用编辑方式,从而提高在线文档的读写速度,同时实现如撤销回退的其他操作。
Description
技术领域
本发明属于在线文档编辑领域,具体涉及一种文档在线编辑方法及服务器。
背景技术
文档编辑的具体操作包括编写和查看文本文件,有一些特殊的文本编辑器支持增加自有的格式来丰富文档的表现形式,操作系统或者集成开发环境通常会带有可以查看和编辑纯文本的编辑器,可增加格式的文本编辑器通常是个人用户或者公司在制作需要格式的文件中使用。
随着互联网的不断发展,在线文档的编辑已经越来越普遍,现有的在线编辑方法大多基于XML文档或DOC等普通类型文档,而关于如何进行文档编辑撤销回退的具体实现方法阐述不清楚,并没有记录对如何实现记录编辑痕迹、如何实现撤销回退的技术细节,以Jason文档为示例,支持撤销,恢复(也称作反撤销)可以给用户良好的编辑体验,而doc,txt等文档都支持撤销(Ctrl+Z)和恢复(Ctrl+Y),但由于编辑痕迹保存在文档的内容文件中,会降低文档的读写速度,同时撤销回退操作也会反应慢,同时这类文档在关闭之后,重新打开就会发现对上次操作进行撤销失效了,印象笔记等云存储文档也是如此。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种文档在线编辑方法及服务器,其通过依据接收的用户端指令调用第一数据库的内容数据和第二数据库存储的编辑时间队列数据,第一数据库依据第一预设格式存储文档的内容数据,第二数据库依据第二预设格式存储文档的编辑时间队列数据,通过设置多个模块用于存储不同的数据内容和特定的调用编辑方式,从而提高在线文档的读写速度,同时实现如撤销回退的其他操作。
为实现上述目的,按照本发明的一个方面,提供了一种文档在线编辑方法,其包括如下步骤:
S1.依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,调用第二数据库存储的编辑时间队列数据,并将待编辑文档的内容数据发送给缓存模块;
S2.调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;
S3.第一数据库依据第一预设格式存储文档的内容数据,第一预设格式为依据文档编号和与文档编号一一对应的内容数据进行存储,依据接收的新的待编辑文档的内容数据更新存储数据;第二数据库依据第二预设格式存储文档的编辑时间队列数据,第二预设格式为依据文档编号和与文档编号对应的编辑时间队列数据进行存储,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据。
作为本发明的进一步改进,编辑时间队列数据包括多个文档编辑事件和与文档编辑事件一一对应的时间戳标记,文档编辑事件包括文档编辑类型、文档编辑位置和文档编辑部分内容数据。
作为本发明的进一步改进,该方法还包括如下步骤:接收用户端的撤销指令,依据撤销指令的上一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的撤销操作。
作为本发明的进一步改进,该方法还包括如下步骤:接收用户端的恢复指令,依据恢复指令的下一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的恢复操作。
作为本发明的进一步改进,该方法还包括如下步骤:接收用户端的创建请求指令,生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;接收用户端的关闭请求指令,发送释放文档指令给缓存模块。
为实现上述目的,按照本发明的另一个方面,提供了一种文档在线编辑服务器,其包括指令交互模块、缓存模块、第一数据库和第二数据库,指令交互模块分别连接缓存模块、第一数据库、第二数据库和用户端,
指令交互模块用于依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,调用第二数据库存储的编辑时间队列数据,并将待编辑文档的内容数据发送给缓存模块;还用于调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;
第一数据库用于依据第一预设格式存储文档的内容数据,第一预设格式为依据文档编号和与文档编号一一对应的内容数据进行存储,依据接收的新的待编辑文档的内容数据更新存储数据;
第二数据库用于依据第二预设格式存储文档的编辑时间队列数据,第二预设格式为依据文档编号和与文档编号对应的编辑时间队列数据进行存储,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据。
作为本发明的进一步改进,编辑时间队列数据包括多个文档编辑事件和与文档编辑事件一一对应的时间戳标记,所述文档编辑事件包括文档编辑类型、文档编辑位置和文档编辑部分内容数据。
作为本发明的进一步改进,指令交互模块还用于接收用户端的撤销指令,依据撤销指令的上一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的撤销操作。
作为本发明的进一步改进,指令交互模块还用于接收用户端的恢复指令,依据恢复指令的下一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的恢复操作。
作为本发明的进一步改进,指令交互模块还用于接收用户端的创建请求指令,生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;接收用户端的关闭请求指令,发送释放文档指令给缓存模块。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明的一种文档在线编辑方法及服务器,其通过依据接收的用户端指令调用第一数据库的内容数据和第二数据库存储的编辑时间队列数据,第一数据库依据第一预设格式存储文档的内容数据,第二数据库依据第二预设格式存储文档的编辑时间队列数据,通过设置多个模块用于存储不同的数据内容和特定的调用编辑方式,即通过将文档加载到缓存,利用第一数据库缓存所有文档内容,利用第二数据库缓存文档的修改内容,从而提高在线文档的读写速度。
本发明的一种文档在线编辑方法及服务器,其通过第二数据库编辑的时间队列和第一数据的内容数据,提取相应待编辑文档的编辑事件和文档内容,通过时间队列的指针指向可以实现如撤销或恢复操作。
附图说明
图1是本发明实施例的一种文档在线编辑服务器的示意图;
图2是本发明实施例的编辑时间队列数据的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。
一种文档在线编辑方法,其包括如下步骤:
S1.依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,并将待编辑文档的内容数据发送给缓存模块;还用于依据接收的用户端指令调用第二数据库存储的编辑时间队列数据;
S2.调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;
作为一个示例,接收的用户端指令包括打开文档指令和编辑文档指令,依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,将文档加载到内存(缓存);依据接收的用户端指令调用内存(缓存)中的文档,还可以依据该指令生成新的文档存入第一数据库,同时将指令(新的编辑时间队列数据)存入第二数据库。
作为一个优选的方案,接收用户端的创建请求指令,生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;接收用户端的关闭请求指令,发送释放文档指令给缓存模块。
以编辑JSON文档为示例,用户通过用户端发送JSON文档的创建请求,收到创建请求后生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;当然,JSON文档仅为示例,也可以依据需要对其他类型文档进行编辑。
S3.第一数据库依据第一预设格式存储文档的内容数据,依据接收的新的待编辑文档的内容数据更新存储数据;第二数据库依据第二预设格式存储文档的编辑时间队列数据,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据。
第一预设格式为依据文档编号和与文档编号一一对应的内容数据进行存储,第一数据库接收新的待编辑文档的内容数据进行数据更新,作为一个示例,该第一数据库可以为结构化数据库,如Mysql,作为一个优选的方案,Mysql文档表中除了文档编号与整个文档内容外,还可以存放了文档相关信息,如创建者,创建时间等,当然也可以依据文档类型的需要选择其他的数据库。
第二预设格式为依据文档编号和与文档编号对应的编辑时间队列数据进行存储,作为一个示例,与文档编号对应的编辑时间队列数据为一个或多个,其中,当编辑时间队列数据为多个时,将文档划分为多个部分,每一部分对应于与其一一对应的编辑时间队列数据;作为一个示例,该第二数据库可以为非结构化数据,如MongoDB,在创建文档时,除了对缓存模块和Mysql进行初始化外,还需对MongoDB进行相应初始化,构建一个空的队列,用来存放大量编辑事件,以支持撤销回退事件当然也可以依据文档类型的需要选择其他的数据库。
作为一个优选的实施例,编辑时间队列数据包括多个文档编辑事件和与文档编辑事件一一对应的时间戳标记,文档编辑事件包括文档编辑类型、文档编辑位置和文档编辑部分内容数据;文档编辑完成后,生成新的文档编辑事件和对应的时间戳标记并采用异步的方式加入原编辑事队列数据,从而形成新的编辑时间队列数据;作为一个示例,文档编辑类型包括增加内容、修改内容和删除内容;编辑时间队列数据包括文档的ID、队列长度、当前时间戳标记Current、队列头指针和队列尾指针,当编辑时间队列接收到编辑事件后,编辑时间队列数据长度加1,当前时间戳标记向后移动1位,尾指针指向当前编辑事件。
作为一个优选的实施例,接收用户端的撤销指令,依据撤销指令的上一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的撤销操作。
作为一个优选的实施例,接收用户端的恢复指令,依据恢复指令的下一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的恢复操作。
图1是本发明实施例的一种文档在线编辑服务器的示意图。如图1所示,一种文档在线编辑服务器,其包括指令交互模块、缓存模块、第一数据库和第二数据库,指令交互模块分别连接缓存模块、第一数据库、第二数据库和用户端,缓存模块用于缓存接收的待编辑文档的内容数据,第一数据库用于依据第一预设格式存储文档的内容数据,第二数据库用于依据第二预设格式存储文档的编辑时间队列数据;
指令交互模块用于依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,并将待编辑文档的内容数据发送给缓存模块;还用于依据接收的用户端指令调用第二数据库存储的编辑时间队列数据;依据接收的用户端指令调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;
作为一个示例,接收的用户端指令包括打开文档指令和编辑文档指令,依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,将文档加载到内存(缓存);依据接收的用户端指令调用内存(缓存)中的文档,还可以依据该指令生成新的文档存入第一数据库,同时将指令(新的编辑时间队列数据)存入第二数据库。
作为一个优选的方案,指令交互模块还用于接收用户端的创建请求指令,生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;指令交互模块还用于接收用户端的关闭请求指令,发送释放文档指令给缓存模块。
以编辑JSON文档为示例,用户通过用户端发送JSON文档的创建请求给指令交互模块,指令交互模块收到创建请求后生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;当然,JSON文档仅为示例,也可以依据需要对其他类型文档进行编辑。
第一数据库用于依据第一预设格式存储文档的内容数据,依据接收的新的待编辑文档的内容数据更新存储数据;作为一个优选的实施例,第一预设格式为依据文档编号和与文档编号一一对应的内容数据进行存储,其接收来自指令交互模块的新的待编辑文档的内容数据进行数据更新,作为一个示例,该第一数据库可以为结构化数据,如Mysql,作为一个优选的方案,Mysql文档表中除了文档编号与整个文档内容外,还可以存放文档相关信息,如创建者,创建时间等,当然也可以依据文档类型的需要选择其他的数据库。
第二数据库用于依据第二预设格式存储文档的编辑时间队列数据,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据;作为一个优选的实施例,第二预设格式为依据文档编号和与文档编号对应的编辑时间队列数据进行存储,作为一个示例,与文档编号对应的编辑时间队列数据为一个或多个,其中,当编辑时间队列数据为多个时,将文档划分为多个部分,每一部分对应于与其一一对应的编辑时间队列数据;作为一个示例,该第二数据库可以为非结构化数据,如MongoDB,在创建文档时,除了对缓存模块和Mysql进行初始化外,还需对MongoDB进行相应初始化,构建一个空的队列,用来存放大量编辑事件,以支持撤销回退事件当然也可以依据文档类型的需要选择其他的数据库。
图2是本发明实施例的编辑时间队列数据的结构示意图。如图2所示,作为一个优选的实施例,编辑时间队列数据包括多个文档编辑事件和与文档编辑事件一一对应的时间戳标记,文档编辑事件包括文档编辑类型、文档编辑位置和文档编辑部分内容数据;文档编辑完成后,指令交互模块生成新的文档编辑事件和对应的时间戳标记并采用异步的方式加入原编辑事队列数据,从而形成新的编辑时间队列数据;作为一个示例,文档编辑类型包括增加内容、修改内容和删除内容;编辑时间队列数据包括文档的ID、队列长度、当前时间戳标记Current、队列头指针和队列尾指针,当编辑时间队列接收到编辑事件后,编辑时间队列数据长度加1,当前时间戳标记向后移动1位,尾指针指向当前编辑事件。
作为一个优选的实施例,指令交互模块还用于接收用户端的撤销指令,依据撤销指令的上一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的撤销操作。
作为一个优选的实施例,指令交互模块还用于接收用户端的恢复指令,依据恢复指令的下一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的恢复操作。
以编辑JSON文档为示例,一般来讲,普通文档编辑操作需要记录编辑事件类型、编辑位置、编辑内容,除去撤销回退操作外,可以将JSON文档编辑事件分为三种类型:添加(Add)、删除(Delete)、修改(Modify)。同时,由于JSON树状结构的特性,可以很方便的将文档编辑位置用链式的形式表达出来。编辑内容除了需要记录编辑后的内容外,也需要记录编辑前的内容以支持;
对于添加(Add)事件:
编辑前:{“a”:0}
编辑后:{“a”:0,“b”:{“c”:{“d”:0}}}
此时,编辑事件类型为Add,编辑位置为b,编辑内容为{“c”:{“d”:0}},那么可以将此次编辑事件用以下JSON表达出来:
{“eventType”:“add”,
“postion”:“b”,
“content”:{“newValue”:“c”:{“d”:0},“oldValue”:null}}
对于修改(Modify)事件:
编辑前:{“a”:0,“b”:{“c”:{“d”:0}}}
编辑后:{“a”:0,“b”:{“c”:{“d”:1}}}
此时,编辑事件类型为Modify,编辑位置b.c.d,编辑内容为1,同理可以将此次编辑事件用以下JSON表达出来:
{“eventType”:“modify”,
“postion”:“b.c.d”,
“content”:{“newValue”:1,“oldValue”:{“c”:{“d”:1}}};
对于删除(Delete)事件:
编辑前:{“a”:0,“b”:{“c”:{“d”:1}}}
编辑后:{“b”:{“c”:{“d”:1}}}
此时,编辑事件类型为Delete,编辑位置a,编辑内容为null,同理可以将此次编辑事件用以下JSON表达出来:
{“eventType”:“delete”,
“postion”:“a”,
“content”:{“newValue”:null,“oldValue”:0}
客户端进行JSON文档编辑时,经过JSON格式校验后,实时地根据编辑情况将代表编辑事件的JSON发送到指令交互模块进行处理。当指令交互模块收到客户端发送过来的编辑事件数据后,结合缓存模块中的JSON文档,在缓存模块中生成了一份新的JSON文档,将这份新的JSON文档实时的存入到Mysql数据库中,同时,异步的将编辑事件的发送到编辑时间队列当中去,并修改编辑时间队列的数据信息。
当服务端收到撤销请求后,根据编辑时间队列数据信息找到Current所指向的前一个编辑事件,结合缓存模块中的文档数据,生成新的文档返回给指令交互模块模块。
当服务端收到恢复请求后,根据编辑时间队列数据信息找到Current所指向的后一个一个编辑事件,结合缓存模块中的文档数据,生成新的文档返回给服务端,该过程同正常编辑过程一致。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种文档在线编辑方法,其特征在于,其包括如下步骤:
S1.依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,调用第二数据库存储的编辑时间队列数据,并将待编辑文档的内容数据发送给缓存模块;
S2.调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;
S3.第一数据库依据第一预设格式存储文档的内容数据,所述第一预设格式为依据文档编号和与文档编号一一对应的内容数据进行存储,依据接收的新的待编辑文档的内容数据更新存储数据;第二数据库依据第二预设格式存储文档的编辑时间队列数据,所述第二预设格式为依据文档编号和与文档编号对应的编辑时间队列数据进行存储,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据;
所述编辑时间队列数据包括多个文档编辑事件和与文档编辑事件一一对应的时间戳标记,所述文档编辑事件包括文档编辑类型、文档编辑位置和文档编辑部分内容数据;
所述方法还包括如下步骤:接收用户端的撤销指令,依据撤销指令的上一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的撤销操作;
所述方法还包括如下步骤:接收用户端的恢复指令,依据恢复指令的下一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的恢复操作;
所述方法还包括如下步骤:接收用户端的创建请求指令,生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;接收用户端的关闭请求指令,发送释放文档指令给缓存模块。
2.一种文档在线编辑服务器,其包括指令交互模块、缓存模块、第一数据库和第二数据库,指令交互模块分别连接缓存模块、第一数据库、第二数据库和用户端,其特征在于;
所述指令交互模块用于依据接收的用户端指令调用第一数据库存储的待编辑文档的内容数据,调用第二数据库存储的编辑时间队列数据,并将待编辑文档的内容数据发送给缓存模块;还用于调用缓存模块的缓存数据进行编辑生成新的待编辑文档的内容数据,并将新的待编辑文档的内容数据发送给第一数据库,同时生成新的编辑时间队列数据发送给第二数据库;
所述第一数据库用于依据第一预设格式存储文档的内容数据,所述第一预设格式为依据文档编号和与文档编号一一对应的内容数据进行存储,依据接收的新的待编辑文档的内容数据更新存储数据;
所述第二数据库用于依据第二预设格式存储文档的编辑时间队列数据,所述第二预设格式为依据文档编号和与文档编号对应的编辑时间队列数据进行存储,依据接收的新的待编辑文档的编辑时间队列数据更新存储数据;
所述编辑时间队列数据包括多个文档编辑事件和与文档编辑事件一一对应的时间戳标记,所述文档编辑事件包括文档编辑类型、文档编辑位置和文档编辑部分内容数据;
所述指令交互模块还用于接收用户端的撤销指令,依据撤销指令的上一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的撤销操作;
所述指令交互模块还用于接收用户端的恢复指令,依据恢复指令的下一时间戳标记匹配对应的文档编辑事件,依据文档编辑部分内容和缓存模块的缓存数据实现文档的恢复操作;
所述指令交互模块还用于接收用户端的创建请求指令,生成文档编号和与文档编号一一对应的内容数据发送给第一数据库,同时将内容数据发送给缓存模块进行缓存;接收用户端的关闭请求指令,发送释放文档指令给缓存模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910997065.0A CN110968994B (zh) | 2019-10-20 | 2019-10-20 | 一种文档在线编辑方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910997065.0A CN110968994B (zh) | 2019-10-20 | 2019-10-20 | 一种文档在线编辑方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968994A CN110968994A (zh) | 2020-04-07 |
CN110968994B true CN110968994B (zh) | 2024-02-27 |
Family
ID=70029835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910997065.0A Active CN110968994B (zh) | 2019-10-20 | 2019-10-20 | 一种文档在线编辑方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968994B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523291B (zh) * | 2020-04-21 | 2023-04-18 | 四川川大智胜软件股份有限公司 | 一种低空雷达多席位空域数据编辑方法 |
CN111581330B (zh) * | 2020-04-26 | 2023-04-07 | 北京明略软件系统有限公司 | 一种非结构化文本中标记操作的撤销或恢复的方法和装置 |
CN111539190A (zh) * | 2020-07-06 | 2020-08-14 | 北京联想协同科技有限公司 | 一种在线文档处理方法、装置、存储介质及设备 |
CN116186815B (zh) * | 2023-04-25 | 2024-05-28 | 北京国科恒通科技股份有限公司 | 用于电网图模编辑的数据处理方法、装置、介质和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430677A (zh) * | 2008-12-08 | 2009-05-13 | 北大方正集团有限公司 | 一种保留文档编辑痕迹的方法及系统 |
GB2498047A (en) * | 2011-11-16 | 2013-07-03 | Box Inc | Managing updates at clients in a cloud-based collaboration service |
WO2017035961A1 (zh) * | 2015-08-28 | 2017-03-09 | 百度在线网络技术(北京)有限公司 | 文档协同方法、装置、设备及非易失性计算机存储介质 |
CN109408284A (zh) * | 2018-09-04 | 2019-03-01 | 天津字节跳动科技有限公司 | 在线文档恢复方法及其装置、设备、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7966287B2 (en) * | 2008-05-15 | 2011-06-21 | International Business Machines Corporation | Apparatus, system, and method for dynamic database driven document synchronization |
US20150199307A1 (en) * | 2012-08-08 | 2015-07-16 | Google Inc. | Pluggable Architecture For Optimizing Versioned Rendering of Collaborative Documents |
US9336234B2 (en) * | 2013-02-22 | 2016-05-10 | Adobe Systems Incorporated | Online content management system with undo and redo operations |
WO2016094868A1 (en) * | 2014-12-11 | 2016-06-16 | LiveLoop, Inc. | Method and system for concurrent collaborative undo operations in computer application software |
RU2609081C2 (ru) * | 2015-06-29 | 2017-01-30 | Общество С Ограниченной Ответственностью "Яндекс" | Способ (варианты) и система (варианты) обработки документа в распределенной архитектуре |
-
2019
- 2019-10-20 CN CN201910997065.0A patent/CN110968994B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430677A (zh) * | 2008-12-08 | 2009-05-13 | 北大方正集团有限公司 | 一种保留文档编辑痕迹的方法及系统 |
GB2498047A (en) * | 2011-11-16 | 2013-07-03 | Box Inc | Managing updates at clients in a cloud-based collaboration service |
WO2017035961A1 (zh) * | 2015-08-28 | 2017-03-09 | 百度在线网络技术(北京)有限公司 | 文档协同方法、装置、设备及非易失性计算机存储介质 |
CN109408284A (zh) * | 2018-09-04 | 2019-03-01 | 天津字节跳动科技有限公司 | 在线文档恢复方法及其装置、设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
协同编辑器中版本管理的设计与实现;徐保民, 徐爱琴, 李峰;计算机工程与应用(第05期);134-136 * |
基于分工协作的实时在线编辑系统的设计与实现;董芮宁;中国优秀硕士学位论文全文数据库 信息科技辑;I138-200 * |
Also Published As
Publication number | Publication date |
---|---|
CN110968994A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968994B (zh) | 一种文档在线编辑方法及服务器 | |
US7711754B2 (en) | System and method for managing data using static lists | |
KR101130443B1 (ko) | 전자 문서 내에서의 사용을 위해 다중 데이터 소스로부터의데이터를 통합하는 방법, 시스템 및 컴퓨터 판독가능 매체 | |
US6484156B1 (en) | Accessing annotations across multiple target media streams | |
CA2595922C (en) | Managing the status of documents in a distributed storage system | |
US20080114795A1 (en) | On-demand incremental update of data structures using edit list | |
US7765474B2 (en) | Electronic-document management system and method | |
KR20060067816A (ko) | 액셔너블 이메일 문서를 위한 장치 및 방법 | |
KR20060046002A (ko) | 시작 템플릿과 목표 템플릿 사이의 콘텐츠 맵핑을 위한방법 및 시스템 | |
CN101477516B (zh) | 一种电子数据处理方法和系统 | |
US20150193382A1 (en) | Word Processor Data Organization | |
US20140081904A1 (en) | Systems And Methods Of Collaboration Comprising, Providing A Presentation Of An Underlying Image; Generating Annotation Data Representative Of Annotations Made By A Respective User, Generating Events Comprising Event Content, Then Defining A Selected Set Of Events, And Generating A Display Presentation Responsive To Processing Said Selected Set Of Events | |
CN105373541A (zh) | 数据库的数据操作请求的处理方法和系统 | |
US20140082469A1 (en) | Systems And Methodologies For Document Processing And Interacting With A User, Providing Storing Of Events Representative Of Document Edits Relative To A Document; Selection Of A Selected Set Of Document Edits; Generating Presentation Data Responsive To Said Selected Set Of Document Edits And The Stored Events; And Providing A Display Presentation Responsive To The Presentation Data | |
EP3314457A1 (en) | Metamorphic documents | |
CN101783740A (zh) | 消息文件管理方法及装置 | |
CN110879812B (zh) | 一种电商平台中基于spark的数据同步方法 | |
CN103310008A (zh) | 一种云控制服务器及其文件索引方法 | |
KR102087280B1 (ko) | 편집 명령을 포함하는 메시지에 기초하여 전자 문서를 편집하는 서버 및 그 동작 방법 | |
US20140279842A1 (en) | Inferring a sequence of editing operations to facilitate merging versions of a shared document | |
US20140082463A1 (en) | Multi-Event Processing Systems And Methodologies | |
CN106599219A (zh) | 一种数字图书交互分享系统及其实现方法 | |
JP2010218015A (ja) | ファイル表示装置及びプログラム | |
CN118613803A (zh) | 多方向生成编辑 | |
CN115168361A (zh) | 一种标签管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |