CN113378524A - 更新文档的存储信息的方法、装置、设备和存储介质 - Google Patents
更新文档的存储信息的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113378524A CN113378524A CN202110634924.7A CN202110634924A CN113378524A CN 113378524 A CN113378524 A CN 113378524A CN 202110634924 A CN202110634924 A CN 202110634924A CN 113378524 A CN113378524 A CN 113378524A
- Authority
- CN
- China
- Prior art keywords
- document
- information
- annotation
- updating
- identifier
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000004048 modification Effects 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 239000000126 substance Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/381—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using identifiers, e.g. barcodes, RFIDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/383—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开公开了一种更新文档的存储信息的方法、装置、设备和存储介质,涉及计算机技术领域,具体涉及云存储技术领域和云平台技术领域,可应用于文档的协同编辑场景中。更新文档的存储信息的方法的具体实现方案为:响应于在文档中添加标注的第一标注更新信息,基于第一标注更新信息生成针对待添加标注的第一对象;将第一标注更新信息中的第一标识符作为第一对象的目标属性的值;以及将第一对象合并至文档的存储信息中。
Description
技术领域
本公开涉及计算机技术领域,具体涉及云存储技术领域和云平台技术领域,可应用于文档的协同编辑场景下。
背景技术
随着计算机技术和互联网技术的发展,线上协同编辑文件的场景需求越来越广。在以对象(object)形式存储的文档中,在对文档中已有标注进行更新时,需要定位到存储内容中存储待更新标注的对象。
发明内容
提供了一种提高更新效率和编辑便捷性的更新丈档的存储信息的方法、装置、设备和存储介质。
根据本公开的一个方面,提供了一种更新文档的存储信息的方法,包括:响应于在文档中添加标注的第一标注更新信息,基于第一标注更新信息生成针对待添加标注的第一对象;将第一标注更新信息中的第一标识符作为第一对象的目标属性的值;以及将第一对象合并至文档的存储信息中。
根据本公开的另一个方面,提供了一种更新文档的存储信息的装置,包括:对象生成模块,用于响应于在文档中添加标注的第一标注更新信息,基于第一标注更新信息生成针对待添加标注的第一对象;属性值获得模块,用于将第一标注更新信息中的第一标识符作为第一对象的目标属性的值;以及信息合并模块,用于将第一对象合并至文档的存储信息中。
根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的更新文档的存储信息的方法。
根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的更新文档的存储信息的方法。
根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的更新文档的存储信息的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的更新文档的存储信息的方法、装置、设备和存储介质的应用场景示意图;
图2是根据本公开实施例的更新文档的存储信息的方法的流程示意图;
图3是根据本公开实施例的确定文档的存储信息中针对待修改标注的第二对象的原理示意图;
图4是根据本公开另一实施例的更新文档的存储信息的原理示意图;
图5是根据本公开的实施例更新文档的存储信息的装置的结构框图;以及
图6是用来实现本公开实施例的更新文档的存储信息的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开提供了一种更新文档的存储信息的方法,该方法包括对象生成阶段、属性值获得阶段和信息合并阶段。在对象生成阶段中,响应于在文档中添加标注的第一标注更新信息,基于第一标注更新信息生成针对待添加标注的第一对象。在属性值获得阶段中,将第一标注更新信息中的第一标识符作为第一对象的目标属性的值。在信息合并阶段中,将第一对象合并至文档的存储信息中。
以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
图1是根据本公开实施例的更新文档的存储信息的方法、装置、设备和存储介质的应用场景示意图。
如图1所示,该应用场景100包括一个或多个终端设备111~112、数据库服务器120,一个或多个终端设备可以通过网络与数据库服务器120通信,以从数据库服务器中获取文档,或将编辑修改后的文档存储至数据库服务器120中。其中,网络可以包括有线或无线通信链路。
其中,终端设备111~112可以为具有显示屏、能够进行文档编辑的终端设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
数据库服务器120例如可以为具有存储功能的服务器。该服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
根据本公开的实施例,一个或多个用户可以经由该一个或多个终端设备111~112对文档进行编辑,例如可以在文档中添加标注或对文档中的已有标注进行修改。该一个或多个终端设备可以响应于添加标注或对已有标注进行修改的操作,进行前端显示页面的渲染,以向该一个或多个用户显示添加标注后或对已有标注进行修改后的文档。该一个或多个终端设备还可以将指示添加标注或对已有标注进行修改的标注更新信息发送给数据库服务器120,以使得数据库服务器120调用安装的合并引擎140对文档的存储信息进行更新,将标注更新信息指示添加的标注添加至该存储信息中,或者对存储信息执行标注更新信息所指示的修改,从而得到新文档150。其中,该对已有标注的修改可以包括添加已有标注的标注内容、修改已有标注的标注内容和删除该已有标注等,本公开对此不做限定。
在一实施例中,多个用户可以在线协同编辑文档。例如,第一用户可以经由终端设备111在文档中添加第一标注131,第二用户可以经由终端设备112在文档中添加第二标注132。则终端设备可以将指示添加第一标注的标注更新信息和指示添加第二标注的标注更新信息发送给数据库服务器120。该数据库服务器120通过调用合并引擎140,基于接收到的标注更新信息可以分别建立针对第一标注的对象和针对第二标注的对象,并将建立的对象合并到原有的文档的存储信息中,得到新文档150的存储信息,以此实现对文档的存储内容的更新。其中,每个对象具有唯一的标识符,且每个对象唯一对应于一个标注。可以理解的是,在线协同编辑文档例如可以基于云平台技术和云存储技术来实现,本公开对此不做限定。
根据本公开的实施例,由于终端设备在前端渲染显示页面时,数据库服务器120还未完成对文档的存储信息的更新,即还未生成与新添加标注对应的对象。则在前端渲染阶段,无法得到与新添加标注对应的对象的标识符。通常终端设备会为该新添加标注生成临时标识符,并在标注更新信息中携带该临时标识符,以区分不同的标注。
数据库服务器120基于指示添加某一标注的标注更新信息来对文档的存储信息进行更新时,该更新所需时长可能会较长。在实际场景中,在该更新的过程中,终端设备可能会接收到用户修改该某一标注的操作,并向数据库服务器120发送指示修改该某一标注的标注更新信息。此种情况下,数据库服务器120在基于指示添加某一标注的标注更新信息完成更新后,则需要基于指示修改该某一标注的标注更新信息对针对该某一标注的对象进行更改。但由于指示修改该某一标注的标注更新信息携带的为临时标识符,则数据库服务器120首先需要解决如何将该临时标识符与针对该某一标注的对象对应起来的问题。
为了解决上述问题,可以通过加锁的方式来避免以上情况。例如,在数据库服务器基于指示添加某一标注的标注更新信息来对文档存储信息进行更新的过程中,锁定文档以使得用户无法对该文档中已有的标注进行修改。或者,通过加锁使得仅添加该某一标注的用户具有对该某一标注进行修改的权限,以保证该某一标注的添加和修改在同一终端实现同步。但在多人协同编辑文档的情况下,会在一定程度上降低编辑效率和用户体验。
为了解决上述问题,数据库服务器120还可以在接收到指示添加某一标注的标注更新信息时,先建立该标注更新信息中的临时标识符与针对该某一标注的对象的标识符之间的映射关系,如此,在数据库服务器120基于修改该某一标注的标注更新信息时,可以基于标注更新信息中的临时标识符,从该映射关系中定位到针对该某一标注的对象,从而基于修改该某一标注的标注更新信息对该对象进行修改。该方法可以解决编辑效率低和用户体验差的问题,但由于需要预先构建映射关系,且在每次修改标注时需要读取映射关系,因此会增加文档存储信息更新的复杂度。
为了解决上述问题,还可以采用下文描述的更新文档的存储信息的方法,例如数据库服务器120在生成针对待添加标注的对象时,可以将终端设备生成的该待添加标注的临时标识符作为针对该待添加标注的对象中某个属性的值。从而可以为数据库服务器120在后续定位该待添加标注的对象提供依据。
需要说明的是,本公开所提供的更新文档的存储信息的方法可以由数据库服务器120执行。相应地,本公开所提供的更新文档的存储信息的装置可以设置于数据库服务器120中。
应该理解,图1中的终端设备和数据库服务器的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的终端设备和数据库服务器。
以下将结合图1描述的场景,通过图2~图4对本公开提供的更新文档的存储信息的方法进行详细描述。
图2是根据本公开实施例的更新文档的存储信息的方法的流程图。
如图2所示,该实施例的更新文档的存储信息的方法200可以包括操作S210~操作S230。
在操作S210,响应于在文档中添加标注的第一标注更新信息,基于第一标注更新信息生成针对待添加标注的第一对象。
根据本公开的实施例,在接收到该第一标注更新信息时,若数据库服务器未更新该文档,则可以及时地基于该第一标注更新信息生成该第一对象。若数据库服务器在执行更新该文档的存储信息的操作,则可以在该操作执行完之后,基于该第一标注更新信息生成第一对象。
根据本公开的实施例,该文档可以为以对象形式存储的文档,例如可以为可便携文档格式(Portable Document Format,PDF)的文档等。其中,该文档中的每个元素以对象的形式存储,且每个对象都有唯一的标识符(id值),该标识符为整型文字。在PDF文档中,该标识符用于交叉引用表索引对象的存储位置。
其中,文档中添加的标注可以为文本框标注、高亮标注、下划线标注或删除线标注等。通过生成该第一对象,并将该第一对象合并到原文档的存储信息中,可以使得更新后的存储信息中包括该添加的标注的信息,完成对文档的存储信息的更新。可以理解的是,上述添加的标注仅作为示例以利于理解本公开,本公开对此不做限定。
根据本公开的实施例,该第一对象用于记录添加的标注的相关信息,例如可以记录对象的id值,标注的标注类型、坐标、颜色、线宽、作者信息、创建时间和修改时间等。该相关信息可以以属性的形式体现,例如,第一对象可以具有多个属性,该多个属性可以包括展示流(Appearance Streams)、颜色、创建时间、标识符、标注名称(Name,NM)、间接引用对象、弹出框对象、默认用户空间、标注中各元素位置坐标、父节点的位置、类型和子类型等。其中,NM为可选属性,为用于记录标注名称的一串字符,其中,标注名称在标注所属的文档页面中是唯一的。
在生成第一对象时,可以将第一标注更新信息中的各个信息作为第一对象中各属性的取值,该第一标注更新信息中可以包括有前述的相关信息。可以理解的是,可以调用数据库服务器中安装的合并引擎生成该第一对象,该第一对象的生成方法与相关技术类似,在此不再详述。其中,合并引擎可以集成有相关技术中对以对象形式存储的文档进行更新的程序模块,在此不再详述。
在操作S220,将第一标注更新信息中的第一标识符作为第一对象的目标属性的值。
根据本公开的实施例,目标属性可以为前文描述的NM,或者其他任意的属性。第一标注更新信息中的第一标识符可以为终端设备生成的针对待添加标注的临时标识符。
在生成第一对象后,例如可以从第一标注更新信息中记录标识符的字节处读取该第一标识符,并将读取的第一标识符赋值给第一对象的目标属性。其中,记录标识符的字节可以根据预先设定好的协议来确定,本公开不对该字节的位置进行限定。
在操作S230,将第一对象合并至文档的存储信息中。
在得到第一对象,并设定了第一对象的值后,可以将第一对象添加至数据库存储器存储的文档的原存储信息中,形成新的文档的存储信息。从而实现对文档的存储信息的更新。
本公开实施例通过在基于待添加标注生成针对待添加标注的标注对象后,还将终端设备生成的临时标识符赋值给第一对象的目标属性。如此,第一对象的属性中,即包括取值为第一对象的标识符的属性,也包括取值为针对待标注对象的临时标识符。从而可以实现终端设备生成的临时标识符与对象之间的关联,而无需额外建立映射关系。从而可以在一定程度上提高文档的存储信息的更新效率,降低数据库服务器中更新存储信息的***引擎的复杂性。再者,由于该实施例通过为对象的属性赋值的方式即可建立终端设备生成的临时标识符与对象的标识符之间的关联,因此,无需通过加锁的方式来解决无法将临时标识符与对象对应起来的技术方案,因此可以提高丈档编辑效率和用户体验。
通过基于在文档中添加标注的第一标注更新信息来更新存储信息的方法,可以在后续接收到修改文档中的标注的标注更新信息时,依据对象的标识符和对象的目标属性中的临时标识符定位到针对待修改文档的对象,从而实现对标注的准确修改。以下将结合图3对该定位对象的方法进行详细描述。
图3是根据本公开实施例的确定文档的存储信息中针对待修改标注的第二对象的原理示意图。
根据本公开的实施例,在数据库服务器接收到的标注更新信息为修改文档中的标注的第二标注更新信息时,该实施例可以先确定文档的存储信息中针对待修改标注的第二对象。
在一实施例中,如图3所示,该实施例300在确定第二对象时,可以先确定该第二标注更新信息310中的标识符,作为第二标识符320。随后基于该第二标识符320来确定文档的存储信息中针对待修改标注的第二对象。其中,文档例如可以具有至少一个标注,相应地,文档的存储信息中包括分别针对该至少一个标注的至少一个对象。
示例性地,若终端设备显示的文档为从数据库服务器获取的更新后的文档,则终端设备响应于用户修改标注的操作,向数据库服务器发送的标注更新请求中所携带的标识符为针对待修改标注的对象的标识符。因此,该实施例中,在基于第二标识符320确定第二对象时,可以将至少一个对象的标识符(即对象标识符340)依次与该第二标识符320进行匹配,得到第一匹配结果350。其中,可以遍历文档的存储信息330中对象的标识符,将遍历获取到的一个标识符与该第二标识符320进行匹配,确定二者是否一致。若一致,则确定该获取到的标识符所属的对象为第二对象。若不一致,则遍历重新获取到另一标识符,并将该另一标识符与第二标识符进行匹配。直至得到与第二标识符相匹配的对象的标识符,或者所有文档的存储信息中所有对象的标识符均与第二标识符进行了匹配。其中,第一匹配结果350可以包括具有与第二标识符匹配的对象标识符和不具有与第二标识符匹配的对象标识符。若第一匹配结果350为具有匹配的对象标识符,则将该对象标识符所属的对象作为第二对象360。
示例性地,若第一匹配结果350为不具有与第二标识符匹配的对象的标识符。则可能是由于终端设备显示的文档并非为从数据库服务器获取的更新后的文档,终端设备还不知晓针对待修改标注的对象的标识符导致的。此种情况下,终端设备发送的标注更新信息中的标识符为终端设备为标注生成的临时标识符。则该实施例在确定至少一个对象的标识符均与第二标识符320不匹配的情况下,还可以将该第二标识符320与至少一个对象的目标属性的值进行匹配。具体地,可以先确定至少一个对象各自的目标属性的值。随后确定与第二标识符相匹配的目标属性的值所属的对象为第二对象。
例如,可以将至少一个对象的目标属性的值370依次与该第二标识符进行匹配,得到第二匹配结果380。其中,可以对文档的存储信息中至少一个对象的目标属性进行遍历,得到一个目标属性的值370,并将该遍历得到的目标属性的值与该第二标识符进行匹配,确定二者是否一致。若一致,则确定该遍历得到的目标属性的值所属的对象为第二对象360。若不一致,则遍历重新获取到另一目标属性的值,并将该另一目标属性的值与第二标识符进行匹配。直至得到与第二标识符相匹配的目标属性的值,或者至少一个对象的目标属性的值均与第二标识符进行了匹配。其中,第二匹配结果380可以包括具有与第二标识符匹配的目标属性的值和不具有与第二标识符匹配的目标属性的值。若第二匹配结果为不具有与第二标识符匹配的目标属性的值,则可能是由于终端设备发送的该第二标注更新信息有误,则可以选择丢弃该第二标注更新信息。
在确定了文档的存储信息中针对待修改标注的第二对象360后,即可基于该第二标注更新信息310修改第二对象360。例如,若对待修改标注的修改为修改了标注的颜色,则将第二对象的属性中颜色属性的取值进行修改。若对该待修改标注的修改为删除该待修改标注,则可以直接删除该第二对象。通过对该第二对象的修改,可以实现对文档的存储信息的更新。可以理解的是,基于第二标注更新信息更新文档的存储信息的方法与相关技术类似,在此不再详述。
综上可知,本公开实施例在接收到修改文档中的标注的第二标注更新信息时,在未匹配到与第二标识符相匹配的对象的标识符时,通过将第二标识符与对象的目标属性的值进行匹配即可确定针对待修改标注的对象,而无需像相关技术中先获取映射关系,再基于第二标识符从映射关系中查找与该第二标识符具有映射关系的对象标识符。因此,可以有效提高对文档的存储信息进行更新的效率。
图4是根据本公开另一实施例的更新文档的存储信息的原理示意图。
根据本公开的实施例,数据库服务器在接收到终端设备发送的标注更新信息时,例如可以在空闲状态时及时地基于该标注更新信息对文档的存储信息进行更新。也可以先将该标注更新信息进行缓存,并定期地基于缓存的标注更新信息来对文档的存储信息进行更新。
示例性地,该实施例的更新文档的存储信息的方法可以响应于接收到第三标注更新信息,缓存该第三标注更新信息。随后根据该缓存的第三标注更新信息,周期性的对文档的存储信息进行更新。其中,更新周期例如可以根据实际需求进行设定,本公开对此不做限定。可以理解的是,前文实施例的更新文档的存储信息在该周期性更新的场景下优势更为凸显。
根据本公开的实施例,在周期性的对文档的存储信息进行更新时,该实施例400可以先从缓存空间410中获取缓存的第三标注更新信息420。在获取到缓存的第三标注更新信息420后,可以先确定缓存的第三标注更新信息420的类型。该类型包括在文档中添加标注的类型和修改文档中的标注的类型。随后再基于该缓存的第三标注更新信息420的类型,对文档的存储信息进行更新。可以理解的是,修改文档中的标注可以包括删除文档中的标注、对文档中标注的内容进行增加、删除、修改等。
示例性地,终端设备与数据库服务器之间可以设定有信息传输协议,该信息传输协议可以规定有信息中具有指示信息类型的目标字节。该实施例在确定缓存的第三标注更新信息420的类型时,可以基于该目标字节的值来确定类型。例如,如图4所示,在从缓存空间410中获取缓存的第三标注更新信息420后,可以先确定该缓存的第三标注更新信息420中目标字节的值430。若该目标字节的值为1,则可以确定缓存的第三标注更新信息的类型440为在文档中添加标注的类型。若该目标字节的值为0,则可以确定缓存的第三标注更新信息的类型440为修改文档中的标注的类型。可以理解的是,目标字节可以为第三标注更新信息中的任一字节,上述目标字节的值及目标字节的值与第三标注更新信息的类型之间的对应关系仅作为示例以利于理解本公开,本公开对此不做限定。
根据本公开的实施例,若确定的缓存的第三标注更新信息420的类型440为在丈档中添加标注的类型,则可以将该缓存的第三标注更新信息作为前文描述的第一标注更新信息,并采用前文响应于第一标注更新信息所执行的操作,将针对该第三标注更新信息指示的待添加标注的对象合并至文档的存储信息,完成对文档的存储信息的更新。
根据本公开的实施例,若确定的缓存的第三标注更新信息420的类型440为修改文档中的标注的类型,则可以将该缓存的第三标注更新信息作为前文描述的第二标注更新信息,并采用前文响应于第二标注更新信息所执行的操作,将针对该第三标注更新信息指示的待添加标注的对象进行修改,从而完成对文档的存储信息的更新。
可以理解的是,上述确定缓存的第三标注更新信息的类型的操作也可以在缓存该第三标注更新信息之前执行,并将不同类型的第三标注更新信息缓存至不同的缓存空间。
可以理解的是,上述确定缓存的第三标注更新信息的类型的方法仅作为示例以利于理解本公开,本公开对此不做限定。通过对该缓存的标注更新信息的类型的识别,可以实现对文档的存储信息的有效更新。
基于上述的更新文档的存储信息的方法,本公开还提供了一种更新文档的存储信息的装置。以下将结合图5对该装置进行详细描述。
图5是根据本公开的实施例更新文档的存储信息的装置的结构框图。
如图5所示,该实施例的更新文档的存储信息的装置500可以包括对象生成模块510、属性值获得模块520和信息合并模块530。
对象生成模块510用于响应于在文档中添加标注的第一标注更新信息,基于第一标注更新信息生成针对待添加标注的第一对象。在一实施例中,该对象生成模块510可以用于执行前文描述的操作S210,在此不再赘述。
属性值获得模块520用于将第一标注更新信息中的第一标识符作为第一对象的目标属性的值。在一实施例中,该属性值获得模块520可以用于执行前文描述的操作S220,在此不再赘述。
信息合并模块530用于将第一对象合并至文档的存储信息中。在一实施例中,该信息合并模块530可以用于执行前文描述的操作S230,在此不再赘述。
根据本公开的实施例,上述更新文档的存储信息的装置500还可以包括对象确定模块和对象修改模块。对象确定模块用于响应于修改文档中的标注的第二标注更新信息,基于第二标注更新信息中的第二标识符,确定文档的存储信息中针对待修改标注的第二对象。对象修改模块用于基于第二标注更新信息,修改第二对象,以更新文档的存储信息。
根据本公开的实施例,上述文档中包括至少一个标注;文档的存储信息中包括分别针对至少一个标注的至少一个对象。上述对象确定模块可以包括匹配子模块、属性值确定子模块和对象确定子模块。匹配子模块用于将至少一个对象的标识符依次与第二标识符进行匹配。属性值确定子模块用于响应于至少一个对象的标识符均与第二标识符不匹配,确定至少一个对象各自的目标属性的值。对象确定子模块用于确定与第二标识符相匹配的目标属性的值所属的对象,作为第二对象。
根据本公开的实施例,上述对象确定子模块还用于:响应于至少一个对象的标识符中目标标识符与第二标识符相匹配,确定目标标识符所属的对象为第二对象。
根据本公开的实施例,上述更新文档的存储信息的装置500还可以包括信息缓存模块和信息更新模块。信息缓存模块用于响应于接收到第三标注更新信息,缓存第三标注更新信息。信息更新模块用于根据缓存的第三标注更新信息,周期性的对文档的存储信息进行更新。
根据本公开的实施例,上述信息更新模块包括信息类型确定子模块和更新子模块。信息类型确定子模块用于基于缓存的第三标注更新信息中目标字节的值,确定缓存的第三标注更新信息的类型。更新子模块用于基于缓存的第三标注更新信息的类型,对文档的存储信息进行更新。其中,第三标注更新信息的类型包括在文档中添加标注的类型和修改文档中的标注的类型。
根据本公开的实施例,上述文档包括可便携文档格式的文档。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如更新文档的存储信息的方法。例如,在一些实施例中,更新文档的存储信息的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的更新文档的存储信息的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行更新文档的存储信息的方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种更新文档的存储信息的方法,包括:
响应于在文档中添加标注的第一标注更新信息,基于所述第一标注更新信息生成针对待添加标注的第一对象;
将所述第一标注更新信息中的第一标识符作为所述第一对象的目标属性的值;以及
将所述第一对象合并至所述文档的存储信息中。
2.根据权利要求1所述的方法,还包括:
响应于修改所述文档中的标注的第二标注更新信息,基于所述第二标注更新信息中的第二标识符,确定所述文档的存储信息中针对待修改标注的第二对象;以及
基于所述第二标注更新信息,修改所述第二对象,以更新所述文档的存储信息。
3.根据权利要求2所述的方法,其中,所述文档中包括至少一个标注;所述文档的存储信息中包括分别针对所述至少一个标注的至少一个对象;确定所述文档的存储信息中针对待修改标注的第二对象包括:
将所述至少一个对象的标识符依次与所述第二标识符进行匹配;
响应于所述至少一个对象的标识符均与所述第二标识符不匹配,确定所述至少一个对象各自的目标属性的值;以及
确定与所述第二标识符相匹配的目标属性的值所属的对象,作为所述第二对象。
4.根据权利要求3所述的方法,还包括:
响应于所述至少一个对象的标识符中目标标识符与所述第二标识符相匹配,确定所述目标标识符所属的对象为所述第二对象。
5.根据权利要求1~4中任一项所述的方法,还包括:
响应于接收到第三标注更新信息,缓存所述第三标注更新信息;以及
根据缓存的所述第三标注更新信息,周期性的对所述文档的存储信息进行更新。
6.根据权利要求5所述的方法,其中,周期性的对所述文档的存储信息进行更新包括周期性地执行以下操作:
基于缓存的所述第三标注更新信息中目标字节的值,确定缓存的所述第三标注更新信息的类型;以及
基于缓存的所述第三标注更新信息的类型,对所述文档的存储信息进行更新,
其中,所述第三标注更新信息的类型包括在所述文档中添加标注的类型和修改所述文档中的标注的类型。
7.根据权利要求1~6中任一项所述的方法,其中,所述文档包括可便携文档格式的文档。
8.一种更新文档的存储信息的装置,包括:
对象生成模块,用于响应于在文档中添加标注的第一标注更新信息,基于所述第一标注更新信息生成针对待添加标注的第一对象;
属性值获得模块,用于将所述第一标注更新信息中的第一标识符作为所述第一对象的目标属性的值;以及
信息合并模块,用于将所述第一对象合并至所述文档的存储信息中。
9.根据权利要求8所述的装置,还包括:
对象确定模块,用于响应于修改所述文档中的标注的第二标注更新信息,基于所述第二标注更新信息中的第二标识符,确定所述文档的存储信息中针对待修改标注的第二对象;以及
对象修改模块,用于基于所述第二标注更新信息,修改所述第二对象,以更新所述文档的存储信息。
10.根据权利要求9所述的装置,其中,所述文档中包括至少一个标注;所述文档的存储信息中包括分别针对所述至少一个标注的至少一个对象;所述对象确定模块包括:
匹配子模块,用于将所述至少一个对象的标识符依次与所述第二标识符进行匹配;
属性值确定子模块,用于响应于所述至少一个对象的标识符均与所述第二标识符不匹配,确定所述至少一个对象各自的目标属性的值;以及
对象确定子模块,用于确定与所述第二标识符相匹配的目标属性的值所属的对象,作为所述第二对象。
11.根据权利要求10所述的装置,所述对象确定子模块还用于:
响应于所述至少一个对象的标识符中目标标识符与所述第二标识符相匹配,确定所述目标标识符所属的对象为所述第二对象。
12.根据权利要求8~11中任一项所述的装置,还包括:
信息缓存模块,用于响应于接收到第三标注更新信息,缓存所述第三标注更新信息;以及
信息更新模块,用于根据缓存的所述第三标注更新信息,周期性的对所述文档的存储信息进行更新。
13.根据权利要求12所述的装置,其中,所述信息更新模块包括:
信息类型确定子模块,用于基于缓存的所述第三标注更新信息中目标字节的值,确定缓存的所述第三标注更新信息的类型;以及
更新子模块,用于基于缓存的所述第三标注更新信息的类型,对所述文档的存储信息进行更新,
其中,所述第三标注更新信息的类型包括在所述文档中添加标注的类型和修改所述文档中的标注的类型。
14.根据权利要求8~13中任一项所述的方法,其中,所述文档包括可便携文档格式的文档。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1~7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1~7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110634924.7A CN113378524B (zh) | 2021-06-07 | 更新文档的存储信息的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110634924.7A CN113378524B (zh) | 2021-06-07 | 更新文档的存储信息的方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113378524A true CN113378524A (zh) | 2021-09-10 |
CN113378524B CN113378524B (zh) | 2024-07-26 |
Family
ID=
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160355A1 (en) * | 2004-01-15 | 2005-07-21 | International Business Machines Corporation | Maintaining annotations for distributed and versioned files |
US20060150079A1 (en) * | 2004-12-17 | 2006-07-06 | International Business Machines Corporation | Method for associating annotations with document families |
US20070061704A1 (en) * | 2005-09-14 | 2007-03-15 | Microsoft Corporation | Dynamic anchoring of annotations to editable content |
CN101727674A (zh) * | 2008-10-30 | 2010-06-09 | 北大方正集团有限公司 | 一种文档中图片标注及再现标注的方法 |
CN101872340A (zh) * | 2009-04-23 | 2010-10-27 | 北京大学 | 一种基于版面格式模板的排版方法及装置 |
CN103257956A (zh) * | 2013-04-19 | 2013-08-21 | 北京小米科技有限责任公司 | 一种电子文档的数据更新方法及装置 |
CN107943777A (zh) * | 2017-12-14 | 2018-04-20 | 北京久蓉科技有限公司 | 一种协同编辑、协同处理方法、装置、设备及存储介质 |
CN108885611A (zh) * | 2016-04-15 | 2018-11-23 | 科普拉公司 | 文档自动化 |
CN110532449A (zh) * | 2019-08-30 | 2019-12-03 | 盈盛智创科技(广州)有限公司 | 一种业务文档的处理方法、装置、设备和存储介质 |
CN111695518A (zh) * | 2020-06-12 | 2020-09-22 | 北京百度网讯科技有限公司 | 结构化文档信息标注的方法、装置及电子设备 |
CN112417826A (zh) * | 2020-11-24 | 2021-02-26 | 济南智学承远信息技术有限公司 | Pdf在线编辑方法、装置、电子设备和可读存储介质 |
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160355A1 (en) * | 2004-01-15 | 2005-07-21 | International Business Machines Corporation | Maintaining annotations for distributed and versioned files |
US20060150079A1 (en) * | 2004-12-17 | 2006-07-06 | International Business Machines Corporation | Method for associating annotations with document families |
US20070061704A1 (en) * | 2005-09-14 | 2007-03-15 | Microsoft Corporation | Dynamic anchoring of annotations to editable content |
CN101727674A (zh) * | 2008-10-30 | 2010-06-09 | 北大方正集团有限公司 | 一种文档中图片标注及再现标注的方法 |
CN101872340A (zh) * | 2009-04-23 | 2010-10-27 | 北京大学 | 一种基于版面格式模板的排版方法及装置 |
CN103257956A (zh) * | 2013-04-19 | 2013-08-21 | 北京小米科技有限责任公司 | 一种电子文档的数据更新方法及装置 |
CN108885611A (zh) * | 2016-04-15 | 2018-11-23 | 科普拉公司 | 文档自动化 |
CN107943777A (zh) * | 2017-12-14 | 2018-04-20 | 北京久蓉科技有限公司 | 一种协同编辑、协同处理方法、装置、设备及存储介质 |
CN110532449A (zh) * | 2019-08-30 | 2019-12-03 | 盈盛智创科技(广州)有限公司 | 一种业务文档的处理方法、装置、设备和存储介质 |
CN111695518A (zh) * | 2020-06-12 | 2020-09-22 | 北京百度网讯科技有限公司 | 结构化文档信息标注的方法、装置及电子设备 |
CN112417826A (zh) * | 2020-11-24 | 2021-02-26 | 济南智学承远信息技术有限公司 | Pdf在线编辑方法、装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832045B (zh) | 跨编程语言接口转换的方法和装置 | |
US7739309B2 (en) | Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document | |
EP4145298A1 (en) | Method and apparatus for snapshotting metadata | |
CN112966469A (zh) | 文档中的图表处理方法、装置、设备及存储介质 | |
CN110308907B (zh) | 数据转换方法、装置、存储介质及电子设备 | |
CN116245052A (zh) | 一种图纸迁移方法、装置、设备和存储介质 | |
CN112783482B (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN113656533A (zh) | 一种树形控件处理方法、装置及电子设备 | |
CN114168119B (zh) | 代码文件编辑方法、装置、电子设备以及存储介质 | |
CN113378524B (zh) | 更新文档的存储信息的方法、装置、设备和存储介质 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN116009847A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN116185389A (zh) | 一种代码生成方法、装置、电子设备及介质 | |
CN113378524A (zh) | 更新文档的存储信息的方法、装置、设备和存储介质 | |
CN112540958B (zh) | 文件处理方法、装置、设备及计算机存储介质 | |
CN113190718A (zh) | 图数据库的数据处理方法、装置、电子设备及存储介质 | |
CN113515504B (zh) | 数据管理方法、装置、电子设备以及存储介质 | |
CN114281981B (zh) | 新闻简报的生成方法、装置和电子设备 | |
CN113779313B (zh) | 一种基于图数据库的知识管理方法和*** | |
CN118069131A (zh) | 组件化的界面主题生成方法、装置、设备及介质 | |
CN115981657A (zh) | 代码生成方法、装置、电子设备及可读介质 | |
CN117539832A (zh) | 文件***对象的重命名方法、装置及计算机程序产品 | |
CN114818617A (zh) | 一种文档生成方法、装置、设备、介质及产品 | |
CN118394835A (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 |