CN115438628B - 结构化文档协作管理方法、系统及文档结构 - Google Patents

结构化文档协作管理方法、系统及文档结构 Download PDF

Info

Publication number
CN115438628B
CN115438628B CN202211390745.4A CN202211390745A CN115438628B CN 115438628 B CN115438628 B CN 115438628B CN 202211390745 A CN202211390745 A CN 202211390745A CN 115438628 B CN115438628 B CN 115438628B
Authority
CN
China
Prior art keywords
node
paragraph
root
document
content
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
Application number
CN202211390745.4A
Other languages
English (en)
Other versions
CN115438628A (zh
Inventor
丁旭渊
徐安成
李小洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Areson Technology Corp
Original Assignee
Areson Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Areson Technology Corp filed Critical Areson Technology Corp
Priority to CN202211390745.4A priority Critical patent/CN115438628B/zh
Publication of CN115438628A publication Critical patent/CN115438628A/zh
Application granted granted Critical
Publication of CN115438628B publication Critical patent/CN115438628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering

Abstract

本发明提供结构化文档协作管理方法、系统及文档结构,方法包括:设置文档树;设置文档树根节点;根据识别的标题数量在文档树中设置若干个根段落节点,按顺序连接若干个根段落节点;将文档树根节点指向顺序第一的根段落节点;根据识别的段落数量设置若干个子段落节点,以二叉链表的方式按顺序连接若干个子段落节点;将每个根段落节点指向对应同一标题且顺序第一的子段落节点;根据所别的段落的内容设置若干个内容块,以形成连续内容块;将每个子段落节点指向对应同一段落的连续内容块。该方法以流式文档的段落作为控制的核心元素,分离了内容编写和管理控制,将文档级别的冲突管理降低为段落级别,通过组织段落中连续内容块实现对文档整体的控制。

Description

结构化文档协作管理方法、系统及文档结构
技术领域
本发明涉及文档数据管理领域,更具体地,涉及结构化文档协作管理方法、系统及文档结构。
背景技术
电子文档作为计算机和移动手机信息分发的载体,应用越来越广泛。电子文档可支持文字、表格、图形混和编排,在生活和工作中起着非常重要的作用,从学习知识总结到求职位简历,从业务工作报告到工程建设方案设计,几乎在生活的每一个角落都看得见。日常电子文档的制作软件有Word、WPS等。
电子文件制作软件按照展示分类,除了制作流式文档的软件外,还有制作版式文档的软件。版式软件有Acrobat Reader PDF,数科的OFD文档等,版面展示的是数字印刷发展成果,字符的排列,版面的分布等同于印刷版。这种版式软件主要用于最终成果的输出,确保印刷产品和电子产品的一致的展示效果。版式软件通常不用于撰写电子文档,而是作为最终产品的排版输出成果来或者归档使用。
相对于版式软件,流式软件虽然在文件撰写过程中非常直观,各种版面控制集成在文档中。由于文档中包含控制元数据、式样、内容,可按照版面填充分布,不同版面呈现不一样的效果,因此也称为流式文档。流式文档软件有Microsoft Office、WPS等。流式文档软件以标题样式和正文样式组成文档的基础,按照样式定义文字的级别。标题样式体现文档树结构的层次,通常由1-9个级别。软件按照设定的版面进行版面渲染,在不同版本和不同的软件或者不同的机器上会有一定差异。渲染会因为不同的阅读器版本、操作系统版本等环境因素导致文档展示的内容效果不一致,也就是俗称的“跑版”现象。这也是工程设计方案制作过程会要求尽量使用同一种环境的原因。流式以块(Block)来管理内容,在流式文档中,顶级的块元素有段落元素、表格元素,在顶级元素之中又嵌入了文本的控制串元素(元数据)。假如一个段落只有一个居中的斜体字字符,需要在段落中加入三个控制串单元,分别占据左中右。版面调整控制往往是在撰写文档的最后阶段。
流式文档的制作模式为用户可见即可得的工作模式。这种制作方式虽然极大地推进了电子文档的普及,但是文档的版式控制、展示样式与核心内容混合嵌套在文档文件,给电子文档的校对、协作控制造成非常大困难。特别在分组协作场景下,如多人共同完成工程设计方案的撰写,最终由负责人将各成员的文档成果形成合并,合并中的内容要求与各成员负责内容一致,在现实中由于种种客观因素无法及时达成一致,导致最终版本需要多次更新,反复校对,从而效率低下。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷,提供结构化文档协作管理方法、系统及文档结构,用于解决现有的流式文档中仅利用块元素和控制串元素进行数据存储造成流式文档的控制过程复杂且效率低下的问题。
本发明采用的技术方案包括:
第一方面,本发明提供一种可跟踪段落状态的结构化文档协作管理方法,包括:针对流式文档设置一个文档树;在所述文档树中设置一个文档树根节点;扫描并识别文档中的标题,根据所识别的标题数量在文档树中设置若干个根段落节点,以顺序链表的方式按顺序连接若干个根段落节点,若干个根段落节点按文档中标题的顺序对应各个标题;将文档树根节点指向顺序第一的根段落节点;扫描并识别文档中每个标题下的段落;针对每个标题,根据所识别的段落数量设置若干个子段落节点,以二叉链表的方式按顺序连接若干个子段落节点,若干个子段落节点按标题下段落的顺序对应各个段落;将每个根段落节点指向对应同一标题的顶级子段落节点;扫描并识别文档中每个段落的内容,针对每个段落,根据所识别的段落的内容设置若干个内容块,以顺序数据结构的方式连接若干个内容块,以形成连续内容块;在连续内容块中,若干个内容块按段落内容的顺序对应存储段落的各个内容;将每个子段落节点指向对应同一段落的连续内容块。
本发明提供的方法针对流式文档的数据结构进行改进,将流式文档进行分解,每个流式文档以一个文档树存储各级标题以及段落的信息,文档树包括文档树根节点、根段落节点、子段落节点和连续内容块。其中,根段落节点的连接体现了流式文档中的各级标题关系,子段落节点的连接体现了每个标题下各级段落的关系,连续内容块用于存储每个段落的内容,使整个流式文档的格式和内容能够被存储于文档树中。该方法对于流式文档的分解设计的基本思想是将文档分解为段落内容、段落层级和标题层级,通过先后进行标题、段落和段落内容的扫描,构建了分离的控制数据结构,以流式文档的段落作为控制的核心元素,分离了内容编写和管理控制,将文档级别的冲突管理降低为段落级别的冲突管理,通过组织段落中连续内容块实现对文档整体的控制,简化了流式文档的控制,提高了控制效率,同时也更有利于流式文档的协作与更新。
进一步,所述根段落节点包括前链接节点、后链接节点、左手节点和右手节点;根段落节点的前链接节点用于指向上一顺序的根段落节点,其后链接节点用于指向下一顺序的根段落节点,其中,顺序第一的根段落节点的前链接节点为空;根段落节点的左手节点为空,右手节点用于指向隶属的顶级子段落节点;所述子段落节点包括左手节点和右手节点,子段落节点的左手节点用于指向下一级的子段落节点,子段落节点的右手节点用于指向同一级的子段落节点。
顶级的根段落节点的前链接节点为空,右手节点指向其根段落节点下的顶级子段落节点,即对应文档的第一个级别的段落。顶级段落是唯一的,而树段落根节点的右手节点也是顶级节点,在文档树中变为顶级节点。在子段落节点中,利用左手节点和由右手节点体现子段落节点中的各级段落的关系。
进一步,在每个子段落节点中记录有用于反映隶属同一子段落节点的连续内容块的当前内容状态的第一特征值;在每个根段落节点中记录有用于反映隶属同一根段落节点的所有子段落节点的特征值状态的第二特征值;在文档树根节点中记录有用于反映整个文档的最终状态第三特征值;当连续块内容有更新时,更新对应的子段落节点中的第一特征值,进一步更新对应的根段落节点中的第二特征值,最终更新文档树根节点中的第三特征值。
在每个子段落节点、根段落节点和文档树根节点记录有对应的特征值,用于表示每个节点的内容变化,当子段落节点对应的连续内容块的数据被修改时,该内容的修改会体现在子段落节点的特征值的变化上,而子段落节点的特征值变化进一步体现在其隶属的根段落节点的特征值的变化上,最终逐层向上传递体现在文档树根节点的特征值变化上。在此情况下,每个子段落节点的特征值反应其直接指向的连续内容块的内容变化,而每个根段落节点的特征值反应其右手节点直接指向的所有子段落节点的特征值变化。
进一步,在每个子段落节点中记录有第一特征值,第一特征值用于反映隶属子段落节点的连续内容块的当前内容状态,以及子段落节点的下一级子段落节点和/或同一级子段落节点的特征值状态;在每个根段落节点中记录有第二特征值,第二特征值用于反映隶属根段落节点的所有子段落节点的特征值状态;在文档树根节点中记录有第三特征值,第三特征值用于反映整个文档的最终状态;当连续块内容有更新时,更新对应的子段落节点中的第一特征值,进一步更新对应的根段落节点中的第二特征值,最终更新文档树根节点中的第三特征值。
在每个子段落节点、根段落节点和文档树根节点记录有对应的特征值。其中,子段落节点的特征值用于表示节点直接指向的内容块的内容变化,以及节点指向的同级或下一级节点的特征值变化。当子段落节点对应的连续内容块的数据被修改时,该内容的修改会体现在该子段落节点的特征值的变化上,而左手节点或右手节点指向该子段落节点的父级子段落节点的特征值会随之改变,最终逐层向上传递体现在根段落节点和文档树根节点的特征值变化上。在此情况下,每个子段落节点的特征值反应其直接指向的连续内容块的内容变化,以及其左手节点和/或右手节点指向的下一级/同一级子段落节点指向的内容块隶属的内容变化。
进一步,在多人协作场景下,当需要推送更新时,按顺序更新各个子段落节点中的第一特征值、各个根段落节点中的第二特征值,以及文档树根节点中的第三特征值,将更新后的文档树根节点、根段落节点以及子段落节点进行推送;当需要接收更新时,接收所推送的文档树根节点、根段落节点以及子段落节点,将接收到的节点中的特征值与当前的节点的特征值进行比对,根据比对的结果确定是否发出内容修改或内容替代请求。
在多人协作编辑同一个流式文档的过程中,当作为更新内容的一方对段落内容更新后,先按顺序更新子段落节点、根段落节点和文档树根节点的特征值,分发文档树包括文档根节点、根段落节点和子段落节点,不包括连续内容块。当作为接收更新的一方接收到协作成员发送的文档树时,通过对比文档树中各节点以及各内容块的特征值确定内容有更新的节点和内容块,从而确定是否请求修改或者发送替代。
进一步,当文档中段落的内容包括有表格时,按照表格单元格的顺序将单元格内的数据以及单元格的行列坐标存储至内容块。
连续内容块对段落中的表格按照单元格的顺序进行存储,将单元格的数据以及用于表示单元格位置的行列坐标存储在内容块中,通过子段落节点中的第一特征值可以获知段落中的表格是否被修改,进而支持对于文档表格单元格的控制,用于解决文档中表格跟踪的困难。
进一步,子段落节点中记录的第一特征值为根据子段落节点中对应的段落的连续内容块计算得到的哈希值;根段落节点中记录的第二特征值为根据根段落节点对应的子段落节点计算得到的哈希值;文档树根节点中记录的第三特征值为根据文档树根节点对应的根段落节点计算得到的哈希值。
第二方面,本发明提供一种流式文档的数据存储结构,由文档树组成;所述文档树包括:文档树根节点、若干个根段落节点、若干个子段落节点,以及若干个连续内容块;若干个根段落节点按流式文档中标题的顺序对应各个标题;若干个子段落节点按标题下段落的顺序对应各个段落;若干个连续内容块按标题下段落的顺序对应各个段落的内容;每个连续内容块由若干个内容块组成,若干个内容块按每个段落的内容顺序对应存储段落的各个内容;若干个根段落节点以顺序链表的方式按顺序连接,文档树根节点指向顺序第一的根段落节点;若干个子段落节点以二叉链表的方式按顺序连接,每个根段落节点指向对应同一标题的顶级子段落节点;在连续内容块中,内容块以顺序数据结构的方式连接;每个子段落节点指向对应同一段落的连续内容块。
第三方面,本发明提供一种可跟踪段落状态的结构化文档协作管理系统,包括:上述的文档树;编辑模块,用于对文档树中内容块的内容进行修改;协作模块,用于在接收到用户对段落内容的更新指令时,更新对应的子段落节点中记录的第一特征值,进一步更新对应的根段落节点中记录的第二特征值,最后更新文档树根节点记录的第三特征值;在接收到用户的推送更新指令时,将文档树的文档树根节点、根段落节点以及子段落节点进行推送;在接收到推送的文档树时,将接收到的节点中的特征值与当前的节点的特征值进行比对,根据比对的结果对有更新的子段落节点进行标记。
与现有技术相比,本发明的有益效果为:
本发明提供的方法针对流式文档的数据结构进行改进,将流式文档分解段落内容、段落层级和标题层级,通过先后进行标题、段落和段落内容的扫描,构建了分离的控制数据结构,以一个文档树存储各级标题以及段落的信息,文档树包括文档树根节点、根段落节点、子段落节点和连续内容块。整个流式文档的格式和内容能够被存储于文档树中。以流式文档的段落作为控制的核心元素,分离了内容编写和管理控制,将文档级别的冲突管理降低为段落级别的冲突管理,通过组织段落中连续内容块实现对文档整体的控制,尤其在多人协作场景中,段落级别的更新同步更加简化和有效率,通过特征值的比对可知段落内容是否有更新,协作成员可根据文档树的差异情况选择请求更新。
附图说明
图1为本发明实施例1中提供的方法步骤S110~S150的流程示意图。
图2为本发明实施例1中文档树的结构示意图。
图3为本发明实施例1中连续内容块的结构示意图。
图4为本发明实施例2中系统的右侧界面示意图。
图5为本发明实施例2中用户进行推送更新时的界面示意图。
图6为本发明实施例2中用户接收到推送更新后的界面示意图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例1
本实施例提供一种可跟踪段落状态的结构化文档协作管理方法,适用于流式文档的数据存储和协作管理,为流式文档的数据存储提供了新的分解设计思路,从而简化了文档的控制和更新过程。
如图1所示,该方法包括以下步骤:
S110、针对流式文档设置一个文档树,在文档树中设置一个文档树根节点;
如图2所示,文档树根节点为整个文档树的顶级节点。
S120、扫描并识别文档中的标题,根据所识别的标题数量在文档树中设置若干个根段落节点,以顺序链表的方式按顺序连接若干个根段落节点;将文档树根节点指向顺序第一的根段落节点;
文档中包括有各级标题,按照标题的级别以及排列顺序对文档进行扫描,所识别得到的每个标题对应设有一个根段落节点,并按照标题在文档中的排列顺序以顺序链表的方式按顺序连接若干个根段落节点。
如图2所示,在文档树根节点中设有节点PPointer用于指向顺序第一的根段落节点。每个根段落节点中包括有前链接节点PREV_Pointer、后链接节点NEXT_Pointer、左手节点LP_Pointer和右手节点RP_Pointer。前链接节点PREV_Pointer用于指向上一顺序的根段落节点,后链接节点NEXT_Pointer用于指向下一顺序的根段落节点,其中,只有顺序第一的根段落节点的前链接节点PREV_Pointer为空。
S130、扫描并识别文档中每个标题下的段落;针对每个标题,根据所识别的段落数量设置若干个子段落节点,以二叉链表的方式按顺序连接若干个子段落节点;将每个根段落节点指向对应同一标题且顺序第一的子段落节点;
每个标题下包括有段落,按照标题的顺序按顺序对文档中的所有段落进行扫描,所识别得到的每个段落对应设有一个子段落节点,段落之间存在同级兄弟段落以及下一级段落的关系,因此在对子段落节点进行连接时采用了二叉链表的方式进行连接,以使得到的段落二叉树可以表示文档中各个段落的排列以及级别关系。
如图2所示,每个子段落节点中包括有左手节点LP_Pointer和右手节点RP_Pointer,左手节点LP_Pointer用于连接逻辑下一级的段落,右手节点RP_Pointer用于连接同级兄弟段落,具体是指本级标题段落或者本级文本段落。
如图2所示,根段落节点的左手节点LP_Pointer为空,右手节点RP_Pointer用于指向对应同一标题下的顶级子段落节点,顶级子段落节点是指在每个段落二叉树中的顶级节点。
S140、扫描并识别文档中每个段落的内容,针对每个段落,根据所识别的段落的内容设置若干个内容块,以顺序数据结构的方式连接若干个内容块,以形成连续内容块;将每个子段落节点指向对应同一段落的连续内容块;
每个段落中包括有段落内容,段落内容一般由若干个词语或句子组成的,连续内容块的类型为文本。在确定了段落内容中可表达文本意思的最小单位后,将段落内容分拆为若干个最小单位,并以内容块对应存储每个最小单位的数据,如图3所示,以顺序数据结构的方式连接若干个内容块,组成对应一个段落的连续内容块,连续内容块中存储有该段落的数据。每个内容块可设有块ID,用于表示每个内容块,以对段落内容进行组织。如图3所示,结构化的连续内容块由类型、块数量、可选项SEC_HASH、块内容等元素组成,用于存储段落内容;其中,连续内容块中的起始节点指向第一个内容块,结束节点指向最后一个内容块。
具体地,当段落中的内容为表格时,连续内容块的类型为表格。段落内容的最小单位定为表格的单元格,对表格进行扫描时将表格的单元格内容进行分离,将单元格的内容结构化后记录到各个内容块中,同时将单元格的行列坐标也记录到内容块中,组成结构化的连续内容块。表格数据的管理相比于段落文本内容需要进行语句的划分,表格数据需要对单元格的内容进行控制,在文本文档中表格单元格作为文本内容的容器,容器中的文本通过串进行格式控制,分解表格按照单元格进行内容文本提取,抛弃单元格控制格式,按照文本节点的连续内容块结构进行线性存储。表格数据的单元格式的内容按照图3的组织结构进行内容的组织,不同的地方在于表格数据的记录嵌入了表格坐标,可以快速地定义为和修改内容。如图3所示,连续内容块的内容为表格时,连续内容块的扩展可选项为表格的SEC_HASH,用于记录整个表格的数据特征值,同时将单元格的坐标两个32位INT类型数据表示表格单元格坐标,32位HASH值表示单元格的特征值记录单元格的数据特征,按照顺序位于每一个内容块的块头,占用大小为3*32位。连续块用于快速的表格比对和局部内容协作更新。
如图2所示,每个子段落节点均指向其对应的连续内容块,而每个连续内容块中存储的数据为该子段落节点对应的段落中的内容。在段落的扫描中抛弃了段落样式,划分段落内部的最小单位并建立最小单位与标题之间的父子节点关系。
更具体地,将以上述方法构建的文档树应用于多人协作的过程时,如图2所示,每个子段落节点中包括有第一特征值SEC_HASH。每个根段落节点中包括有第二特征值SEC_HASH。文档树根节点中包括有第三特征值SEC_HASH。以上三个特征值均为哈希值。
具体地,在一种实施方式中,每个子段落节点的第一特征值SEC_HASH用于反映隶属同一子段落节点的连续内容块的当前内容状态,例如,当其指向的连续内容块的内容有变时,该子段落节点的第一特征值SEC_HASH产生变化。每个根段落节点的第二特征值SEC_HASH用于反映隶属同一根段落节点的所有子段落节点的特征值状态,当有子段落节点的第一特征值SEC_HASH产生变化时,该根段落节点的第二特征值SEC_HASH产生变化。在此情况下,每个子段落节点的第一特征值SEC_HASH仅反映其直接指向的连续内容块的当前内容变化,而每个根段落节点的第二特征值SEC_HASH仅反映其右手节点RP_Pointer指向的所有子段落节点的特征值变化。文档树根节点的第三特征值SEC_HASH反映整个文档的的最终状态。
在另一种实施方式中,每个子段落节点的第一特征值SEC_HASH用于反映隶属同一子段落节点的连续内容块的当前内容状态,以及子段落节点的下一级子段落节点和/或同一级子段落节点的特征值状态。例如,当子段落节点指向的连续内容块的内容有变时,该子段落节点的第一特征值SEC_HASH产生变化,同时,左手节点LP_Pointer或右手节点RP_Pointer指向该子段落节点的父级子段落节点的第一特征值SEC_HASH产生变化。每个父级子段落节点根据其左手节点LP_Pointer和/或右手节点RP_Pointer指向的子段落节点的SEC_HASH的叠加,从而更新自身的SEC_HASH,即如果该父级子段落节点的左手节点LP_Pointer及右手节点RP_Pointer均有指向的子段落节点时,该父级子段落节点的SEC_HASH=HASH(LP_Pointer,RP_Pointer)。在此情况下,每个子段落节点的第一特征值SEC_HASH反映其直接指向的连续内容块的当前内容变化,以及其左手节点LP_Pointer和/或右手节点RP_Pointer指向的子段落节点的特征值变化。每个根段落节点的第二特征值SEC_HASH反映了其右手节点RP_Pointer指向的所有子段落节点的特征值变化。文档树根节点的第三特征值SEC_HASH反映整个文档的最终状态。
在多人协作编辑同一个流式文档的过程中,当作为更新内容的一方对段落内容更新后,先按顺序更新各个子段落节点中的第一特征值SEC_HASH、各个根段落节点中的第二特征值SEC_HASH,以及文档树根节点中的第三特征值SEC_HASH,再将更新后的文档树根节点、根段落节点以及子段落节点进行推送。
当作为接收更新的一方接收到协作成员发送的文档树时,接收所推送的文档树根节点、根段落节点以及子段落节点,将接收到的节点中的特征值与当前的节点的特征值进行比对,确定内容有更新的节点和内容块,优选地,可将内容有更新的节点进行标记,并显示出更新了内容的用户ID或用户信息。根据比对的结果确定是否发出内容修改或内容替代请求。
在多人协作的工作模式下,传统的基于文件的文档协作通过进程的读写锁来控制级别的冲突,在这种模式下直接导致了效率的无法提升,每个参与作业的人需要轮流获取文档的写入权限,同时还要解决文件在编辑过程中的缓存脏数据问题。根据日常工程方案设计场景的统计,成员已经明确了自己所专注的部分,对于剩余的工作由其他的协作人员来负责。协作小组工作人员为2-10人,其中5人以内占到50%以上。基于文档管理树节点的多人协作的则是将文档级别的控制分解为更多段落块节点,可以支持不同作用的人员在一起,共同来完成文档的编辑工作。基于段落的文档在具体的协作中,充分发挥每个人支撑作用解决协作瓶颈。流式文档将内容、控制流和内容一起嵌入到文档中,由编制程序进行解释和展示,文档内容为顺序结构——即各控制节点按照顺序写入到文档。基于段落的结构化文档分解管理并没有破坏文档的顺序结构,文档的链表结构维护的是文档的顺序,子段落树结构维护的是多层级和同级别的元素关系,内容包括段落内容和表格内容则是存储与段落内容块中顺序存储。文档导出按照文档树顺序输出就完成文档导出操作。通过文档的链表结构和子段落树分解管理对象和原始的文档,对局部的特征值比对,可以实现文档的局部更新。
更具体地,如图2所示,文档树根节点中还包括有类型、UUID(通用唯一识别码)、修改时间,以及其他根据需要写入的数据。根段落节点中还包括有类型以及其他根据需要写入的数据。
本实施例提供的可跟踪段落状态的结构化文档协作管理方法,从段落颗粒层次管理流式文档,将流式文档分解为根段落节点顺序链表、子段落节点树和连续内容块数据结构,分离了流式文档的内容编写和管理控制,将文档级别的冲突管理降低为段落级别的冲突管理,解决了协作与合成更新控制的混乱问题。基于段落的结构化文档使得文档制作过程更灵活,尤其在多人协作场景中,段落级别的更新同步更加简化和有效率,通过文档树的特征值的比对可知段落内容是否有更新,协作成员可根据文档树的差异情况选择请求更新。其次还突破了流式文档中表格数据管理和更新的难题,是对近似文本比对、大规模短文本分类比对应用于文档撰写的递进创新和补充。
实施例2
基于与实施例1相同的构思,本实施例提供一种可跟踪段落状态的结构化文档协作管理系统,包括:
实施例1所构建的文档树;
如图4所示,文档树导入系统后会自动按照文档树的节点生成各级标题展示在系统的左侧,并在系统的右侧展示连续内容块的数据。如图5所示,左侧显示栏中还会显示多人协作中的协作人数和协作人员。
编辑模块210,用于对文档树中内容块的内容进行修改。
结合图4、5所示,右侧为编辑模块210的编辑窗口,用户通过左侧栏选择特定的标题后,将在编辑窗口看到标题对应的段落内容,用户可以在编辑窗口中直接对段落内容,即连续内容块的数据进行编辑修改,编辑模块210实时接收用户对内容的修改。
协作模块220,用于在接收到用户对段落内容的更新指令时,更新对应的子段落节点中记录的第一特征值,进一步更新对应的根段落节点中记录的第二特征值,最后更新文档树根节点记录的第三特征值。
如图5所示,协作模块220体现为左侧标题栏中的更新按钮和分享按钮。
用户点击左侧标题栏中的更新按钮时,系统接收到用户的更新指令,确定用户发出更新指令对应的子段落节点,按顺序重新计算子段落节点的第一特征值SEC_HASH、根段落节点的第二特征值SEC_HASH和文档树根节点的第三特征值SEC_HASH。
用户点击左侧标题栏中的分享按钮时,系统接收到用户的推送更新指令,将文档树的文档树根节点、根段落节点以及子段落节点进行推送,优选地,用户在点击分享按钮后,可选择特定的分享对象,则将文档树的各节点进行推送时,推送至特定的分享对象。
当系统接收到外部推送的文档树时,将接收到的节点中的特征值与当前的节点的特征值进行比对,如图5、6所示,根据比对的结果对有更新的子段落节点进行标记,优选地,可在标记的同时显示对连续内容块进行了修改的协作人员的信息和修改时间。
本实施例提供的系统为应用了实施例1所提供的方法以及该方法所构建的文档树的操作平台,用户在此平台上可对流式文档进行编辑以及实现多人协作。实施例2中未提到的特定词语的定义、步骤的原理以及相应的有益效果均已在实施例1中进行说明,在此不再赘述。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (5)

1.一种可跟踪段落状态的结构化文档协作管理方法,其特征在于,包括:
针对流式文档设置一个文档树;
在所述文档树中设置一个文档树根节点;
扫描并识别文档中的标题,根据所识别的标题数量在文档树中设置若干个根段落节点,以顺序链表的方式按顺序连接若干个根段落节点,若干个根段落节点按文档中标题的顺序对应各个标题;
将文档树根节点指向顺序第一的根段落节点;
扫描并识别文档中每个标题下的段落;针对每个标题,根据所识别的段落数量设置若干个子段落节点,以二叉链表的方式按顺序连接若干个子段落节点,若干个子段落节点按标题下段落的顺序对应各个段落;
将每个根段落节点指向对应同一标题的顶级子段落节点;
扫描并识别文档中每个段落的内容,针对每个段落,根据所识别的段落的内容设置若干个内容块,以顺序数据结构的方式连接若干个内容块,组成结构化的连续内容块;在连续内容块中,若干个内容块按段落内容的顺序对应存储段落的各个内容;
将每个子段落节点指向对应同一段落的连续内容块;
所述根段落节点包括前链接节点、后链接节点、左手节点和右手节点;
根段落节点的前链接节点用于指向上一顺序的根段落节点,其后链接节点用于指向下一顺序的根段落节点,其中,顺序第一的根段落节点的前链接节点为空;
根段落节点的左手节点为空,右手节点用于指向隶属的顶级子段落节点;
所述子段落节点包括左手节点和右手节点,子段落节点的左手节点用于指向下一级的子段落节点,子段落节点的右手节点用于指向同一级的子段落节点;
在每个子段落节点中记录有用于反映隶属同一子段落节点的连续内容块的当前内容状态的第一特征值;
在每个根段落节点中记录有用于反映隶属同一根段落节点的所有子段落节点的特征值状态的第二特征值;
在文档树根节点中记录有用于反映整个文档的最终状态第三特征值;
当连续内容块的内容有更新时,更新对应的子段落节点中的第一特征值,进一步更新对应的根段落节点中的第二特征值,最终更新文档树根节点中的第三特征值。
2.根据权利要求1所述的可跟踪段落状态的结构化文档协作管理方法,其特征在于,
在每个子段落节点中记录有第一特征值,第一特征值用于反映隶属子段落节点的连续内容块的当前内容状态,以及子段落节点的下一级子段落节点和/或同一级子段落节点的特征值状态;
在每个根段落节点中记录有第二特征值,第二特征值用于反映隶属根段落节点的所有子段落节点的特征值状态;
在文档树根节点中记录有第三特征值,第三特征值用于反映整个文档的最终状态;
当连续内容块的内容有更新时,更新对应的子段落节点中的第一特征值,进一步更新对应的根段落节点中的第二特征值,最终更新文档树根节点中的第三特征值。
3.根据权利要求1或2所述的可跟踪段落状态的结构化文档协作管理方法,其特征在于,
在多人协作场景下,当需要推送更新时,按顺序更新各个子段落节点中的第一特征值、各个根段落节点中的第二特征值,以及文档树根节点中的第三特征值,将更新后的文档树根节点、根段落节点以及子段落节点进行推送;
当需要接收更新时,接收所推送的文档树根节点、根段落节点以及子段落节点,将接收到的节点中的特征值与当前的节点的特征值进行比对,根据比对的结果确定是否发出内容修改或内容替代请求。
4.根据权利要求1或2所述的可跟踪段落状态的结构化文档协作管理方法,其特征在于,当文档中段落的内容包括有表格时,按照表格单元格的顺序将单元格内的数据以及单元格的行列坐标存储至内容块。
5.一种可跟踪段落状态的结构化文档协作管理系统,其特征在于,包括:
由权利要求1~4任一项所述的可跟踪段落状态的结构化文档协作管理方法得到的文档树;
编辑模块,用于对文档树中内容块的内容进行修改;
协作模块,用于在接收到用户对段落内容的更新指令时,更新对应的子段落节点中记录的第一特征值,进一步更新对应的根段落节点中记录的第二特征值,最后更新文档树根节点记录的第三特征值;在接收到用户的推送更新指令时,将文档树的文档树根节点、根段落节点以及子段落节点进行推送;在接收到推送的文档树时,将接收到的节点中的特征值与当前的节点的特征值进行比对,根据比对的结果对有更新的子段落节点进行标记。
CN202211390745.4A 2022-11-08 2022-11-08 结构化文档协作管理方法、系统及文档结构 Active CN115438628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211390745.4A CN115438628B (zh) 2022-11-08 2022-11-08 结构化文档协作管理方法、系统及文档结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211390745.4A CN115438628B (zh) 2022-11-08 2022-11-08 结构化文档协作管理方法、系统及文档结构

Publications (2)

Publication Number Publication Date
CN115438628A CN115438628A (zh) 2022-12-06
CN115438628B true CN115438628B (zh) 2023-03-17

Family

ID=84253041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211390745.4A Active CN115438628B (zh) 2022-11-08 2022-11-08 结构化文档协作管理方法、系统及文档结构

Country Status (1)

Country Link
CN (1) CN115438628B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177391A (zh) * 2021-05-28 2021-07-27 掌阅科技股份有限公司 在流式界面中操作光标重定向方法、计算设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8554800B2 (en) * 2008-07-30 2013-10-08 Portool Ltd. System, methods and applications for structured document indexing
US10572579B2 (en) * 2015-08-21 2020-02-25 International Business Machines Corporation Estimation of document structure
CN106709008A (zh) * 2016-12-23 2017-05-24 掌阅科技股份有限公司 网文修订更新方法和装置及更新网文阅读进度方法和装置
CN107145479B (zh) * 2017-05-04 2020-06-02 北京文因互联科技有限公司 基于文本语义的篇章结构分析方法
CN108491468A (zh) * 2018-03-07 2018-09-04 阿里巴巴集团控股有限公司 一种文档处理方法、装置及服务器
CN109857990B (zh) * 2018-12-18 2022-11-25 重庆邮电大学 一种基于文档结构与深度学习的金融类公告信息抽取方法
CN109933564A (zh) * 2019-03-27 2019-06-25 中国科学院上海微系统与信息技术研究所 基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质
US11003837B2 (en) * 2019-05-03 2021-05-11 Microsoft Technology Licensing, Llc Controlling mark positions in documents
CN111753505A (zh) * 2019-09-30 2020-10-09 北京沃东天骏信息技术有限公司 一种文档处理方法、装置、服务器及存储介质
CN111460083B (zh) * 2020-03-31 2023-07-25 北京百度网讯科技有限公司 文档标题树的构建方法、装置、电子设备及存储介质
CN112784530A (zh) * 2021-02-08 2021-05-11 中国工商银行股份有限公司 文档修改差异展示方法及装置
CN113822024A (zh) * 2021-09-24 2021-12-21 杭州同泽信息技术服务有限公司 一种支持多人在线编辑财务文档及校验真伪的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177391A (zh) * 2021-05-28 2021-07-27 掌阅科技股份有限公司 在流式界面中操作光标重定向方法、计算设备及存储介质

Also Published As

Publication number Publication date
CN115438628A (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
US11250209B2 (en) Document collaboration and consolidation tools and methods of use
Edhlund Nvivo 9 essentials
Schmidt et al. A data structure for representing multi-version texts online
JP5882829B2 (ja) データをバインドするためのプログラマビリティ
Khoshafian et al. Multimedia and imaging databases
US5276793A (en) System and method for editing a structured document to preserve the intended appearance of document elements
US9378190B2 (en) Word processor data organization
CN112328212A (zh) 一种基于引擎模式前后端分离的快速开发平台及其使用方法
US6263347B1 (en) System for linking data between computer and portable remote terminal and data linking method therefor
US20160378734A1 (en) Visualizing document revisions
EP1615145A2 (en) System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace
JPS6267670A (ja) 文書編集システム
CN103778172A (zh) 一种试卷信息保存方法及一种试卷编辑方法和系统
US7370060B2 (en) System and method for user edit merging with preservation of unrepresented data
CN103530407A (zh) 一种富文本文档的生成方法与装置
CN102799632A (zh) 基于vba和四面体数据模型的文本信息获取与描述方法
CN115438628B (zh) 结构化文档协作管理方法、系统及文档结构
CN101814064B (zh) 报表模板的创建方法、报表生成方法及报表系统
JP5282486B2 (ja) 作業管理装置、表示制御装置、作業管理方法、及び作業管理プログラム
CN115906775A (zh) 一种数字标准编撰系统
Lee et al. An integrated approach to distributed version management and role-based access control in computer supported collaborative writing
JPWO2005098698A1 (ja) 文書処理装置
Hodel et al. Dynamic collaborative business processes within documents
US20080147957A1 (en) Archiver Device, Data Acquisition Device, and Data Acquisition Method
CN108958723A (zh) 智能管理系统生成系统Hxcel可变编码体系技术方法

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