CN101086737A - 用于文档管理的装置、计算机可读介质和方法 - Google Patents
用于文档管理的装置、计算机可读介质和方法 Download PDFInfo
- Publication number
- CN101086737A CN101086737A CNA2007100960561A CN200710096056A CN101086737A CN 101086737 A CN101086737 A CN 101086737A CN A2007100960561 A CNA2007100960561 A CN A2007100960561A CN 200710096056 A CN200710096056 A CN 200710096056A CN 101086737 A CN101086737 A CN 101086737A
- Authority
- CN
- China
- Prior art keywords
- document
- edit
- user
- preparation
- electronic
- 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
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
Abstract
提供一种文档管理装置,包括:副本文档创建单元,其从文档存储器中检索电子的共享文档,并且通过复制检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;预备文档创建单元,在由用户编辑用于编辑的文档之前,所述预备文档创建单元通过复制所述用于编辑的文档来创建预备文档;更新检测单元,当所述用户请求在所述文档存储器中存储文档时,所述更新检测单元通过将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较来检测由所述用户编辑的内容;以及文档更新单元,当检测到已编辑的内容时,所述文档更新单元用所述检测到的已编辑的内容来更新存储在所述文档存储器中的并且与所述用于编辑的文档对应的电子文档。
Description
技术领域
本发明一般涉及同时由多个用户编辑的电子文档的管理。
背景技术
传统上,存在用于由多个用户进行编辑的系统或用于由多个用户查看共享电子文档的系统。在这些系统中,当多个用户同时编辑电子文档时,会发生以下问题,即,由于用户的各个编辑之间的冲突,不能保持共享文档的一致性。
作为解决或避免这种冲突的有关技术,存在以下技术,一种技术是锁定共享文档,以将可以同时编辑文档的用户限制为仅仅一个用户(例如,日本专利特开No.2001-51887(专利文献1)),一种技术是为每个用户创建副本文档并且使用户编辑副本文档,从而使得即使有多个用户同时编辑所述文档,也不会发生冲突(例如,日本专利特开No.2004-326176(专利文献2)),以及其它技术。
然而,专利文献1的技术提供了一种消极的方法,其中,通过防止用户同时编辑来解决冲突,实际上不允许同时进行多个编辑。另一方面,专利文献2的技术允许提供同时的编辑环境。然而,当使用在其中不能检测更新的文档编辑应用程序来编辑文档时,会出现一种情况,其中,不能确保解决了冲突。下面使用具体的例子描述这种情况。
图11是显示在二个用户A和B使用有关技术同时编辑共享文档的情况下,每个文档中的内容的转变的示意图。
首先,在时间T1,为用户A和B创建共享文档的相应的副本文档。在创建副本文档之后,用户B在时间T2编辑包含在副本文档中的现有的注解。在编辑之后,假定用户B试图存储所述文档。这时,因为共享文档的注解“XXX”与用户B的副本文档的注解“YYY”不同,所以如在时间T3所示,利用传统的方式,利用用户B编辑后的内容更新共享文档的注解。此后,虽然用户A未编辑现有的注解“XXX”,但是用户A编辑了文档的另一个部分,所以用户A试图存储所述文档。这时,因为共享文档的注解“YYY”与用户A的副本文档的注解“XXX”不同,所以如在时间T4所示,利用传统的方式,利用用户A的副本文档的注解“XXX”更新共享文档的注解。
因为假定以这种方式利用在其中不能检测更新的文档编辑应用程序,所以在传统方式中,当在根据相同内容的共享文档创建用户A和B的各自的副本文档之后试图存储用户A的副本文档时,因为不能检测到已经在存储用户A的副本文档之前利用用户B的副本文档更新了注解,所以可能出现以下问题,即,利用用户A的内容重写用户B的更新后的内容。
发明内容
本发明用于解决上述问题,本发明的优点是能够保证避免当同时由多个用户编辑共享文档时可能发生的任何冲突。
根据本发明的一个方面,提供一种文档管理装置,包括:副本文档创建单元,其从存储由多个用户共享的电子文档的文档存储器中检索将由用户编辑的电子文档,并且通过复制所述检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;预备文档创建单元,在由所述用户编辑所述用于编辑的文档之前,所述预备文档创建单元通过复制所述用于编辑的文档来创建与所述用户对应的并且与所述用于编辑的文档对应的预备文档;预备文档保存单元,其保存所述创建的预备文档;更新检测单元,当所述用户请求在所述文档存储器中存储用于编辑的文档时,所述更新检测单元通过将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较来检测由所述用户编辑的内容;以及文档更新单元,当由所述更新检测单元检测到已编辑的内容时,所述文档更新单元用所述检测到的已编辑的内容来更新存储在所述文档存储器中的并且与所述用于编辑的文档对应的电子文档。
根据本发明的另一方面,提供所述文档管理装置,其中,如果所述文档更新单元已经响应于来自用户的请求执行了更新处理,则所述副本文档创建单元从所述文档存储器中检索已经被执行所述更新处理的电子文档,并且通过复制所述检索到的电子文档来创建用于编辑的文档;所述预备文档创建单元创建与其中已经反映了所述更新处理的用于编辑的文档对应的预备文档;以及所述预备文档保存单元用已经反映了所述更新处理的预备文档更新存储在所述文档存储器中的预备文档。
根据本发明的一个方面,提供一种计算机可读介质,其存储使计算机执行处理的程序,所述处理用于管理存储在存储器中并且由多个用户共享的电子文档,所述处理包括:从所述存储器中检索将由用户编辑的电子文档,并且通过复制所述检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;在由所述用户编辑所述用于编辑的文档之前,通过复制所述用于编辑的文档来创建与所述用户对应的并且与所述用于编辑的文档对应的预备文档;将所述创建的预备文档存储在所述存储器中;当所述用户请求在所述存储器中存储用于编辑的文档时,将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较,以检测所述用于编辑的文档中的已编辑的内容;以及当检测到已编辑的内容时,用所述检测到的已编辑的内容来更新存储在所述存储器中的、与所述用于编辑的文档对应的电子文档。
根据本发明的另一方面,提供所述计算机可读介质,其中:如果已经响应于来自用户的请求执行了所述电子文档的更新,则通过从所述存储器中检索已经被执行了更新处理的电子文档并且复制所述检索到的电子文档来创建所述用于编辑的文档和所述预备文档;并且所述处理还包括:用其中已经反映了所述更新处理的预备文档来更新存储在所述存储器中的预备文档。
根据本发明的另一方面,提供一种用于管理电子文档的方法,包括:从存储器中检索将由用户编辑的电子文档,并且通过复制所述检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;在由所述用户编辑所述用于编辑的文档之前,通过复制所述用于编辑的文档来创建与所述用户对应的并且与所述用于编辑的文档对应的预备文档;将所述创建的预备文档存储在所述存储器中;当所述用户请求在所述存储器中存储用于编辑的文档时,将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较,以检测所述用于编辑的文档中的已编辑的内容;以及当检测到已编辑的内容时,用所述检测到的已编辑的内容来更新存储在所述存储器中的、与所述用于编辑的文档对应的电子文档。
根据本发明的一个方面,即使当由多个用户同时编辑共享文档时,由于能够确保由一个用户进行的编辑能够反映在共享文档中,并且不用未编辑的内容重写已编辑的内容,因此,必定能够解决当同时编辑共享文档时可能发生的冲突。
附图说明
将基于以下附图详细地描述本发明的典型实施例,其中:
图1是显示根据本发明典型实施例的共享文档处理系统的示意框图;
图2是显示包括在根据本发明典型实施例的文档数据库中的文档表的典型数据结构的示图;
图3是显示包括在根据本发明典型实施例的文档数据库中的注解表的典型数据结构的示图;
图4是显示根据本发明典型实施例的文档管理服务器的硬件结构图;
图5是显示根据本发明典型实施例的,当两个用户A和B同时编辑添加到共享文档的注解时的每个文档的内容的转变的示意图;
图6是显示根据本发明典型实施例的,当用户开始编辑电子文档时的处理的流程图;
图7是显示根据本发明典型实施例的,当从用户发送存储文档的请求时的处理的流程图;
图8是显示包含在图7显示的处理中的更新检测处理的流程图;
图9是显示包含在图7显示的处理中的更新反映处理的流程图;
图10是显示根据本发明典型实施例的,当两个用户A和B同时编辑共享文档的本体时的每个文档的内容的转变的示意图;以及
图11是显示在有关技术中,当二个用户A和B同时编辑共享文档时的每个文档的内容的转变的示意图。
具体实施方式
参考所述附图,下面将描述本发明的典型实施例。
图1是显示根据本发明典型实施例的共享文档处理系统的示意框图。图1显示了客户端12和文档管理服务器20,客户端12由共享电子文档的用户使用,文档管理服务器20保存并管理共享电子文档(共享文档),通过网络14连接它们,以便能够交换信息。
客户端12具有文档编辑处理部分13,通过执行其中不能检测更新的文档编辑应用程序来实现文档编辑处理部分13,并且文档编辑处理部分13编辑由文档管理服务器20保存并管理的共享文档。应注意,在本发明的典型实施例中,因为由多个用户同时编辑相同的共享文档,所以包含多个客户端12,但是因为所有的客户端12可以具有相同的结构,所以在图1中仅显示了一个客户端12。
文档管理服务器20是与根据本发明的共享文档管理装置对应的装置,并且包括共享文档创建部分21、副本文档创建部分22、副本文档保存和管理部分23、备份文档创建部分24、备份文档保存和管理部分25、存储处理部分26和文档处理控制器27。在本发明的典型实施例中,因为电子文档的本体和注解是分开管理的,所以共享文档创建部分21从文档数据库28中检索同时由多个用户编辑的电子文档和注解,并且将注解添加到电子文档以创建共享文档。副本文档创建部分22为每个用户创建共享文档的副本文档。副本文档保存和管理部分23保存并管理由副本文档创建部分22为每个用户创建的副本文档。备份文档创建部分24通过进一步复制由副本文档创建部分22为每个用户创建的副本文档,从而为每个用户创建备份文档。备份文档保存和管理部分25保存并管理由备份文档创建部分24为每个用户创建的备份文档。存储处理部分26是响应于来自用户的文档存储请求而执行副本文档的存储处理的单元,并且包括更新检测部分29和共享文档更新部分30。更新检测部分29将从由任一用户使用的客户端12发送的、用于存储文档的副本文档与副本文档的备份文档进行比较,以检测副本文档中的由用户编辑过的内容。共享文档更新部分30通过在作为副本文档的正本的共享文档中反映由更新检测部分29检测到的副本文档中的已编辑的内容,从而更新存储在文档数据库中的电子文档。文档处理控制器27与客户端12交换信息,并且对由文档管理服务器20执行的全部文档管理处理进行处理控制。具体地,响应于来自用户的文档获取请求,将对应的共享文档发送至由用户使用的客户端12。此外,响应于来自用户的文档存储请求,使存储处理部分26执行副本文档的存储处理。
图2是显示包括在根据本发明的典型实施例的文档数据库中的文档表31的典型数据结构的示图。登记在文档表31中的每个记录是为每个文档创建的。对于每个记录,相应地创建标识文档的文档ID,表示文档的类型的文档类型,表示文档拥有者的识别信息的用户ID,文档名和文档的本体。
图3是显示包括在根据本发明的典型实施例的文档数据库28中的注解表32的典型数据结构的示图。登记在注解表32中的每个记录是为每个注解创建的。将标识注解的注解ID,标识文档的文档ID,指示是否删除注解的删除标志,用于识别在电子文档上添加注解的位置的位置信息,描述为用户的注解的实际内容,以及与外部消息有关的合作消息ID相关联来创建每个记录。
在本发明的典型实施例中,通过提供上述各个表31和32,电子文档和添加到电子文档的注解被分开保存和管理。通过文档ID将电子文档和注解彼此关联。
图4是显示根据本发明的典型实施例的文档管理服务器20的硬件结构图。可以通过已经存在的通用服务器计算机所具有的硬件结构来实现根据典型实施例的文档管理服务器20。即,如图4所示,通过连接CPU1、ROM2、RAM3、连接HDD4的硬盘驱动器(HDD)控制器5,以及输入/输出控制器9来配置文档管理服务器20,其中,输入/输出控制器9将作为输入单元的鼠标6和键盘7以及作为显示设备的显示器8连接到内部总线10。应注意,因为通过通用个人电脑(PC)来实现客户端12,所以硬件的基本结构与图4的类似,即使性能等有差别。
通过嵌入文档管理服务器20的计算机和由嵌入计算机的CPU执行的程序之间的协同操作来实现文档管理服务器20中的各个部件21-27。此外,通过嵌入文档管理服务器20的外部存储设备实现文档数据库28。应注意,文档数据库28可以不嵌入文档管理服务器20,而是可以配置为可通过网络14进行访问。当然,不仅可以通过通信单元提供典型实施例中使用的程序,而且可以通过存储在例如CD-ROM这样的存储介质中来提供。此外,通过嵌入客户端12的计算机和由嵌入计算机的CPU执行的程序之间的协同操作来实现客户端12中的部件。
接下来,将描述根据本发明的典型实施例的操作。首先,参考图5描述根据典型实施例的基本操作,其对应于图11的相关技术。
首先,在时间T1,根据相同的共享文档创建由用户A和B使用的相应的副本文档,并且进一步复制用户A和B的相应的副本文档以创建备份文档。在时间T2,用户B编辑包含在副本文档中的现有的注解,在时间T3,用户B试图存储文档。这时,因为用户B的副本文档的注解“YYY”与用户B的备份文档的注解“XXX”不同,所以能够识别出已经由用户B编辑了注解。因此,根据典型实施例,如在时间T3所示,用由用户B编辑后的内容更新共享文档的注解。然后,如在时间T4所示,为请求存储文档的用户B创建更新后的共享文档的副本文档,并且进一步复制副本文档以创建备份文档。
在时间T5,虽然用户A未编辑现有的注解“XXX”,但是因为用户A编辑了文档的另一个部分,所以用户A试图存储所述文档。这时,因为用户A的副本文档的注解“XXX”与用户A的备份文档的注解“XXX”相同,所以能够识别出用户A未编辑该注解。因此,根据典型实施例,如在时间T5所示,即使有存储请求,也不用由用户A编辑后的内容更新共享文档的该注解。然后,如时间T6所示,为请求存储所述文档的用户A创建更新后的共享文档的副本文档,并且进一步复制副本文档以创建备份文档。
根据典型实施例,因为系统如上所述进行操作,所以由用户编辑的内容可以反映在共享文档中,并且当用户未编辑时,可以不更新共享文档。因为以上所述理由,可以由多个用户同时编辑相同的共享文档,而不产生问题。
应注意,在时间T4,当请求存储文档时,根据共享文档创建请求存储文档的用户B的副本文档和备份文档。因为已经用由用户B编辑的内容更新了共享文档,所以副本文档的创建处理被认为是实际上不必要的处理,这是因为将用具有相同内容的共享文档来重写用户B的副本文档。然而,执行这时的处理,从而通过执行与在时间T6相同的例程以方便程序。当共享文档的尺寸较大时,在不有意创建副本文档的情况下,可以改进处理的效率。当然,备份文档的创建处理是必需的。因为备份文档同样被认为是副本文档的备份,所以复制副本文档以创建备份文档是合适的,因此,在典型实施例中用这样的方式处理其。然而,可以复制共享文档以创建副本文档和备份文档。
接下来,将参考相应的流程图描述根据本发明典型实施例的操作的细节。根据典型实施例,处理大致分为文档编辑开始处理和文档存储处理,在文档编辑开始处理中,从文档管理服务器20获取电子文档以由使用客户端12的用户查看等等,在文档存储处理中,存储所获取的电子文档。首先,参考图6显示的流程图描述当用户开始编辑电子文档时的处理。
在文档管理服务器20中,文档处理控制器27从客户端12接收文档获取请求(步骤110),在所述文档获取请求中指定了文档标识信息,例如文档名。共享文档创建部分21响应于来自文档处理控制器27的指令,从文档数据库28检索可以通过文档标识信息标识的电子文档的本体以及可以通过电子文档的文档ID标识的注解,并且通过结合所述电子文档和注解来创建共享文档(步骤120)。当创建了共享文档时,副本文档创建部分22通过复制共享文档创建用于用户编辑的副本文档(步骤130)。当副本文档创建部分22创建了副本文档时,副本文档保存和管理部分23保存所创建的副本文档(步骤140)。当副本文档保存和管理部分23保存了副本文档时,备份文档创建部分24通过复制所保存的副本文档创建备份文档(步骤150)。当备份文档创建部分24创建了备份文档时,备份文档保存和管理部分25保存所创建的备份文档(步骤160)。另一方面,当副本文档创建部分22创建了副本文档时,文档处理控制器27将所创建的副本文档发送至作为文档获取请求的发送者的客户端12(步骤170)。应该注意,虽然已通过使用上述过程描述了流程图上的处理,但是在创建副本文档之后的文档处理(步骤140-160)和发送处理(步骤170)可以同时执行。因此,客户端12可以获得用于编辑的共享文档,更确切地说,是共享文档的副本文档。
此外,当另一个用户发送文档获取请求时,执行上述文档获取处理,并且为每个用户创建共享文档的副本文档和备份文档。因此,相应的文档保存和管理部分23和25通过关联保存并管理副本文档拥有者的用户ID和副本文档,从而能够确定每个副本文档的拥有者。通过响应于用户A和B的文档获取请求执行文档编辑开始处理,提供图5中的时间T1处显示的状态。
客户端12中的文档编辑处理部分13响应于用户操作对所接收的共享文档执行编辑处理。例如,假定用户B将注解“XXX”编辑为“YYY”。当用户B编辑文档后,每个文档的内容的状态如图5中的时间T2所示。
接下来,将参考图7中的流程图描述文档存储处理,通过在将由用户B编辑的电子文档存储于客户端12后,将文档获取请求发送至文档管理服务器20来执行所述文档存储处理。
在文档管理服务器20中,文档处理控制器27从客户端12接收文档获取请求(步骤210),在所述文档获取请求中指定了文档标识信息(例如文档名)或添加了电子文档的本体。存储处理部分26响应于来自文档处理控制器27的指令,用从客户端12获取的电子文档重写由副本文档保存和管理部分23保存的、将成为电子文档的正本的副本文档,并且存储所重写的副本文档(步骤220)。更具体地,存储处理部分26可以通过将与从客户端12获取的电子文档一同发送的用户ID与由副本文档保存和管理部分23保存的副本文档的用户ID进行比较和检查来识别将重写哪个副本文档。应该注意,此外,如果用户B同时处理多个电子文档,则可以通过检查文档ID等等来识别将被重写的副本文档。
接下来,存储处理部分26中的更新检测部分29从副本文档保存和管理部分23检索已重写的和存储的副本文档(步骤230),从备份文档保存和管理部分25检索与已重写的和存储的副本文档对应的备份文档(步骤240),并且通过将备份文档与副本文档进行比较和检查来检测用户B是否进行了编辑(步骤250)。更具体地说,通过将在文档编辑开始处理中发送到由用户B使用的客户端12的电子文档或由副本文档保存和管理部分23保存的副本文档的备份文档与在文档存储处理中从用户B接收的电子文档或由副本文档保存和管理部分23保存的已重写的和存储的副本文档进行比较和检查,从而检测是否进行了编辑。应该注意,稍后将描述步骤250中的更新检测的处理的细节。应该注意,如图5所示,当检测是否存在注解的编辑时,在从副本文档和备份文档的电子文档的本体分离开相应的注解后,比较注解。
如果基于检测处理认识到由用户B更新了电子文档(电子文档的本体和/或注解)(步骤260:是),那么共享文档更新部分30通过反映由用户B编辑的内容来更新电子文档(步骤270)。更具体地说,因为文档数据库28分开保存电子文档的本体和注解,所以共享文档更新部分30通过将由用户B编辑的电子文档相应地分为文档本体部分和注解来更新文档表31和注解表32。在图5显示的例子中,因为用户B仅仅编辑了注解,所以共享文档更新部分30可以仅更新与已编辑的注解有关的信息。应该注意,稍后将描述在步骤250中用由用户编辑的内容更新共享文档的处理的细节。通过以这种方式更新存储在文档数据库28中的共享文档,共享文档的状态变为如图5中的时间T3处所示。
随后的处理基本上与在文档获取请求时的步骤120-170的处理相同。更具体地说,共享文档创建部分21响应于来自文档处理控制器27的指令创建共享文档(步骤280),副本文档创建部分22通过复制共享文档创建由用户进行编辑的副本文档(步骤290),以及副本文档保存和管理部分23保存所述副本文档(步骤300)。此外,备份文档创建部分24通过复制所保存的副本文档来创建备份文档(步骤310),并且备份文档保存和管理部分25保存所述创建的备份文档(步骤320)。另一方面,文档处理控制器27将由副本文档创建部分22所创建的副本文档发送至作为文档存储请求的发送者的客户端12(步骤330)。通过执行文档存储处理,文档状态变为如图5中的时间T4所示。
当用户B进一步希望对共享文档执行编辑处理时,客户端12中的文档编辑处理部分13将响应于用户操作打开共享文档,但是因为发送到文档管理服务器20的电子文档已经被存储和关闭,所以这时将打开的电子文档是其中已经反映了由用户自己执行的编辑的共享文档(的副本文档)。
在由用户B执行上述的电子文档的编辑处理和存储处理之后,用户A将所述电子文档存储在客户端12中。将参考图7中的流程图描述文档存储处理,通过在他们将电子文档存储于客户端12后,由用户A将文档存储请求发送至文档管理服务器20来执行所述文档存储处理。应该注意,根据需要将省略对处理的重复描述。
在文档管理服务器20中,当文档处理控制器27从客户端12接收到文档存储请求时(步骤210),存储处理部分26用从客户端12获取的电子文档重写由副本文档保存和管理部分23保存的用户A的副本文档,并且存储所重写的文档(步骤220)。接下来,存储处理部分26中的更新检测部分29通过在从相应的文档保存和管理部分23和25中检索的副本文档和备份文档之间进行比较和检查,从而检测用户A是否已进行了编辑(步骤230-250)。这里,假定用户A未编辑注解“XXX”。
更新检测部分29通过将在文档编辑开始处理中发送到由用户A使用的客户端12的电子文档或由副本文档保存和管理部分23保存的副本文档的备份文档与在文档存储处理中从用户A接收的电子文档或由副本文档保存和管理部分23保存的已重写和存储的副本文档进行比较和检查,从而检测是否进行了编辑。因此,在关于用户A的这个例子中,因为文档编辑开始处理中的注解和在文档存储处理中接收的注解都是“XXX”,如图5的时间T5所示,所以可以认识到文档未被更新。因此,如图7所示,将跳过共享文档中的更新反映处理(步骤270)。因此,即使用从用户A发送至副本文档保存和管理部分23的电子文档重写包含在副本文档保存和管理部分23中的副本文档并存储重写后的文档,也不会更新共享文档的注解,如图5中的时间T5所示。
随后的处理与用户B的相同。更具体地说,共享文档创建部分21响应于来自文档处理控制器27的指令创建共享文档(步骤280)。因为由用户B进行的更新已经反映在这里创建的共享文档中,所以注解的内容是“YYY”接下来,副本文档创建部分22通过复制共享文档来创建由用户A编辑的副本文档(步骤290),并且副本文档保存和管理部分23保存所述副本文档(步骤300)。此外,备份文档创建部分24通过复制所保存的副本文档来创建备份文档(步骤310),并且备份文档保存和管理部分25保存所述创建的备份文档(步骤320)。另一方面,文档处理控制器27将由副本文档创建部分22所创建的副本文档发送至作为文档存储请求的发送者的客户端12(步骤330)。通过执行文档存储处理,文档状态变为如图5中的时间T6所示。
当用户A进一步希望对共享文档执行编辑处理时,客户端12中的文档编辑处理部分13将响应于用户操作打开共享文档,但是因为发送到文档管理服务器20的电子文档已经被存储和关闭,所以这时将打开的电子文档是最近从文档管理服务器20发送的共享文档(的副本文档),并且是其中已经反映了由用户B执行的编辑的共享文档。
根据典型实施例,因为由用户编辑的内容可以反映在共享文档中,并且当未编辑文档时,可以不更新共享文档,所以相同的共享文档可以由多个用户同时编辑而不产生问题。
现在将参考图8显示的流程图描述图7中的更新检测处理。这个处理基于以下处理,即通过将副本文档与备份文档进行比较和检查来检测添加到共享文档的多个注解中的每一个注解是否已被更新。
更新检测部分29重复以下处理直到不剩余未处理的注解。首先,确定是否存在未处理的注解并且在副本文档中提取未处理的注解。如果没有未处理的注解(步骤2501:否),则处理进行步骤2507。如果有未处理的注解(步骤2501:是),则确定在备份文档中是否有与所提取的注解对应的注解。如果不存在对应的注解(步骤2502:否),则所提取的处理对象注解将是通过用户的编辑而新添加的注解。因此,处理对象注解被分类为“添加”组(步骤2503)。另一方面,如果在备份文档中存在与处理对象注解对应的注解(步骤2502:是),则确定相应的对应注解的内容是否彼此匹配。如果它们匹配(步骤2504:是),因为可以确定注解未被用户编辑,所以处理对象注解被分类为“未更新”组(步骤2505)。如果它们不匹配(步骤2504:否),因为可以确定注解已被用户编辑过,所以处理对象注解被分类为“修改”组(步骤2506)。
在步骤2501,如果确定在副本文档中不存在未处理的注解,那么处理被引导到备份文档。接下来,在备份文档中,确定是否存在未处理的注解,并且在备份文档中提取未处理的注解。如果不存在未处理的注解(步骤2507:否),那么处理结束。如果有未处理的注解(步骤2507:是),则确定在副本文档中是否有与所提取的注解对应的注解。如果不存在对应的注解(步骤2508:否),则所提取的处理对象注解将是通过用户的编辑而被删除的注解。因此,处理对象注解被分类为“删除”组(步骤2509)。另一方面,如果在副本文档中存在与处理对象注解对应的注解(步骤2508:是),因为在步骤2504-2506,处理对象注解已经被分类为任意一组,实际上,不必进行处理,但是这里打算执行处理,其中,处理对象注解被分类为“未更新”组(步骤2510)。
如上所述,在典型实施例中,不仅检测是否存在更新,而且还确定更新的类型。
接下来,将参考图9中的流程图描述图7中的更新反映处理。实际上,虽然可以对注解表32执行仅对应于被分类为“添加”、“修改”和“删除”的注解的处理,但是,在典型实施例中,在下列过程中还执行包括被检测为“未更新”组的注解的处理。
共享文档更新部分30重复以下处理直到不剩余在更新检测处理中检测到它的更新的未处理的注解。首先,如果不存在未处理的注解(步骤2701:否),那么处理结束。如果存在未处理的注解(步骤2701:是),并且如果处理对象注解被分类为“添加”组(步骤2702:是),那么处理进行步骤2708。如果处理对象注解未被分类为“添加”组(步骤2702:否),那么确定处理对象注解是否登记到了注解表32。如果处理对象注解未登记(步骤2703:否),那么处理对象注解从注解表32中被分类为“删除”组(步骤2704)。如果处理对象注解已被登记(步骤2703:是),那么确定与注解对应的、设置在注解表32中的内容与添加到备份文档的内容是否彼此匹配。如果它们不匹配(步骤2705:否),因为可以确定处理对象注解已被修改,所以包含在注解表32中的注解被分类为“修改”组。如果它们匹配(步骤2705:是),因为可以确定处理对象注解未被用户编辑,所以处理对象注解被分类为“未更新”组(步骤2507)。
如上所述,每个注解可以被分类,并且共享文档更新部分30参考到“添加”、“修改”、“删除”和“未更新”组的分类的结果确定是否需要处理对象注解的更新。更具体地说,如果不需要更新或者如果注解被分类为“未更新”组(步骤2708:否),则处理进行下一个注解处理而不更新注解表32的设置内容。如果确定需要更新(步骤2708:是),那么根据分类的组更新注解表32,如下所述(步骤2709)。即,如果分类的组是“添加”组,那么与注解有关的信息被设置并且被登记在注解表32中,如果分类的组是“修改”组,那么更新与设置在注解表32中的现有的注解相关的信息。此外,如果分类的组是“删除”组,则不删除注解的记录,而是通过将包含在注解的记录中的删除标志从“FALSE”改变为“TRUE”,从而将注解设置为删除状态。
根据本发明的典型实施例,如上所述,可以由多个用户同时执行对共享文档的编辑而不产生问题。应该注意,在以上描述中,注解的更新被作为一个例子来描述,但是文档的本体也可以按照类似的方式来处理。例如,如图10所示,例如可以通过将文档分为一个一个的段落来分组文档。如果按照此方式将文档分为多个部分,那么可以按照与注解相同的方式来处理每个分割的组。也就是说,典型实施例不局限于应用于注解。
为了说明和描述的目的提供本发明的典型实施例的以上描述。其目的不是在于穷尽或限制本发明为所公开的精确形式。显然,对于本领域技术人员来讲,许多变形和修改是显而易见的。选择并描述典型实施例以便最好地说明发明的原理和它的实际应用,从而使得本领域的其他技术人员能够理解本发明的实施例以及适于特定用途的各种变形。应由以下权利要求和它们的等同物来定义本发明的范围。
Claims (5)
1.一种文档管理装置,包括:
副本文档创建单元,其从存储由多个用户共享的电子文档的文档存储器中检索将由用户编辑的电子文档,并且通过复制所述检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;
预备文档创建单元,在由所述用户编辑所述用于编辑的文档之前,所述预备文档创建单元通过复制所述用于编辑的文档来创建与所述用户对应的并且与所述用于编辑的文档对应的预备文档;
预备文档保存单元,其保存所述创建的预备文档;
更新检测单元,当所述用户请求在所述文档存储器中存储用于编辑的文档时,所述更新检测单元通过将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较来检测由所述用户编辑的内容;以及
文档更新单元,当由所述更新检测单元检测到已编辑的内容时,所述文档更新单元用所述检测到的已编辑的内容来更新存储在所述文档存储器中的并且与所述用于编辑的文档对应的电子文档。
2.根据权利要求1所述的文档管理装置,其中:
如果所述文档更新单元已经响应于来自用户的请求执行了更新处理,则
所述副本文档创建单元从所述文档存储器中检索已经被执行所述更新处理的电子文档,并且通过复制所述检索到的电子文档来创建用于编辑的文档;
所述预备文档创建单元创建与其中已经反映了所述更新处理的用于编辑的文档对应的预备文档;以及
所述预备文档保存单元用已经反映了所述更新处理的预备文档更新存储在所述文档存储器中的预备文档。
3.一种计算机可读介质,其存储使计算机执行处理的程序,所述处理用于管理存储在存储器中并且由多个用户共享的电子文档,所述处理包括:
从所述存储器中检索将由用户编辑的电子文档,并且通过复制所述检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;
在由所述用户编辑所述用于编辑的文档之前,通过复制所述用于编辑的文档来创建与所述用户对应的并且与所述用于编辑的文档对应的预备文档;
将所述创建的预备文档存储在所述存储器中;
当所述用户请求在所述存储器中存储用于编辑的文档时,将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较,以检测所述用于编辑的文档中的已编辑的内容;以及
当检测到已编辑的内容时,用所述检测到的已编辑的内容来更新存储在所述存储器中的、与所述用于编辑的文档对应的电子文档。
4.根据权利要求3所述的计算机可读介质,其中:
如果已经响应于来自用户的请求执行了所述电子文档的更新,则通过从所述存储器中检索已经被执行了更新处理的电子文档并且复制所述检索到的电子文档来创建所述用于编辑的文档和所述预备文档;
并且所述处理还包括:
用其中已经反映了所述更新处理的预备文档来更新存储在所述存储器中的预备文档。
5.一种用于管理电子文档的方法,包括:
从存储器中检索将由用户编辑的电子文档,并且通过复制所述检索到的电子文档来创建将被发送至所述用户的用于编辑的文档;
在由所述用户编辑所述用于编辑的文档之前,通过复制所述用于编辑的文档来创建与所述用户对应的并且与所述用于编辑的文档对应的预备文档;
将所述创建的预备文档存储在所述存储器中;
当所述用户请求在所述存储器中存储用于编辑的文档时,将所述用于编辑的文档与对应于所述用于编辑的文档的预备文档进行比较,以检测所述用于编辑的文档中的已编辑的内容;以及
当检测到已编辑的内容时,用所述检测到的已编辑的内容来更新存储在所述存储器中的、与所述用于编辑的文档对应的电子文档。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006158246A JP2007328489A (ja) | 2006-06-07 | 2006-06-07 | 文書管理装置及びプログラム |
JP158246/2006 | 2006-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101086737A true CN101086737A (zh) | 2007-12-12 |
CN100543747C CN100543747C (zh) | 2009-09-23 |
Family
ID=38823362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100960561A Expired - Fee Related CN100543747C (zh) | 2006-06-07 | 2007-04-10 | 用于文档管理的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070288835A1 (zh) |
JP (1) | JP2007328489A (zh) |
CN (1) | CN100543747C (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196920B (zh) * | 2007-12-21 | 2011-04-06 | 北京中星微电子有限公司 | 基于引用关系的文件配置管理方法和装置 |
CN102077198A (zh) * | 2008-06-25 | 2011-05-25 | 微软公司 | 结构化共同创作 |
CN103080931A (zh) * | 2010-06-28 | 2013-05-01 | 诺基亚公司 | 用于分页更新协议的方法和装置 |
CN103080884A (zh) * | 2010-06-29 | 2013-05-01 | 株式会社理光 | 用于单一输入工作流路由的具有收件箱模式和文档模式的用户界面 |
CN105117382A (zh) * | 2015-08-28 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 一种文档协同方法及装置 |
CN107395763A (zh) * | 2017-08-30 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种多客户端同步处理文件的方法、服务端及系统 |
CN107451108A (zh) * | 2017-06-13 | 2017-12-08 | 广州视源电子科技股份有限公司 | 一种协同编辑文档的方法和系统 |
CN107992461A (zh) * | 2017-11-23 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种多人同时编辑同一文档的装置及方法 |
CN112988225A (zh) * | 2021-03-12 | 2021-06-18 | 中国平安财产保险股份有限公司 | 注解配置方法、装置、设备及存储介质 |
CN113361239A (zh) * | 2021-06-01 | 2021-09-07 | 北京百度网讯科技有限公司 | 文档测试方法及其装置、电子设备以及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555195B2 (en) | 2010-06-29 | 2013-10-08 | Ricoh Co., Ltd. | Bookmark function for navigating electronic document pages |
US9058778B2 (en) | 2010-06-29 | 2015-06-16 | Ricoh Co., Ltd. | Maintaining DC balance in electronic paper displays using contrast correction |
US9191612B2 (en) | 2010-06-29 | 2015-11-17 | Ricoh Co., Ltd. | Automatic attachment of a captured image to a document based on context |
US9043219B2 (en) | 2010-09-10 | 2015-05-26 | Ricoh Co., Ltd. | Automatic and semi-automatic selection of service or processing providers |
US8656181B2 (en) | 2011-05-26 | 2014-02-18 | Hewlett-Packard Development Company, L.P. | Method and system for business workflow cycle of a composite document |
US20130262992A1 (en) * | 2012-04-02 | 2013-10-03 | Jane He | Methods and systems for electronic editing and/or signing |
EP2779054A1 (en) * | 2013-03-15 | 2014-09-17 | BlackBerry Limited | Shared document editing and voting using active stylus based touch-sensitive displays |
US9690403B2 (en) | 2013-03-15 | 2017-06-27 | Blackberry Limited | Shared document editing and voting using active stylus based touch-sensitive displays |
JP6442916B2 (ja) * | 2014-08-20 | 2018-12-26 | コニカミノルタ株式会社 | 文書共有システム、サーバ、端末装置、文書データ更新方法、およびコンピュータプログラム |
CN113158619B (zh) * | 2021-04-16 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 文档处理方法、装置、计算机可读存储介质及计算机设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US5515491A (en) * | 1992-12-31 | 1996-05-07 | International Business Machines Corporation | Method and system for managing communications within a collaborative data processing system |
US5805889A (en) * | 1995-10-20 | 1998-09-08 | Sun Microsystems, Inc. | System and method for integrating editing and versioning in data repositories |
US5890177A (en) * | 1996-04-24 | 1999-03-30 | International Business Machines Corporation | Method and apparatus for consolidating edits made by multiple editors working on multiple document copies |
JP2996197B2 (ja) * | 1997-02-14 | 1999-12-27 | 日本電気株式会社 | 文書共有管理方法 |
US6240414B1 (en) * | 1997-09-28 | 2001-05-29 | Eisolutions, Inc. | Method of resolving data conflicts in a shared data environment |
US6067551A (en) * | 1997-11-14 | 2000-05-23 | Microsoft Corporation | Computer implemented method for simultaneous multi-user editing of a document |
JP3915331B2 (ja) * | 1999-08-10 | 2007-05-16 | 富士ゼロックス株式会社 | 共有ドキュメントの編集装置及び編集方法 |
CA2424713C (en) * | 2000-08-21 | 2007-12-04 | Thoughtslinger Corporation | Simultaneous multi-user document editing system |
US7496841B2 (en) * | 2001-12-17 | 2009-02-24 | Workshare Technology, Ltd. | Method and system for document collaboration |
US20030112273A1 (en) * | 2001-12-17 | 2003-06-19 | Workshare Technology, Ltd. | Document collaboration suite using a common database |
US20040068505A1 (en) * | 2002-10-04 | 2004-04-08 | Chung-I Lee | System and method for synchronously editing a file on different client computers |
US20040085355A1 (en) * | 2002-10-31 | 2004-05-06 | Harmes Jeffrey E. | Collaborative contract management system, apparatus and method |
US7103617B2 (en) * | 2003-01-17 | 2006-09-05 | Tacit Networks, Inc. | Method and system for use of storage caching with a distributed file system |
US7792788B2 (en) * | 2005-03-04 | 2010-09-07 | Microsoft Corporation | Method and system for resolving conflicts operations in a collaborative editing environment |
US20070220417A1 (en) * | 2006-03-17 | 2007-09-20 | Sonolink Communications Systems, Llc | System and method for editing online documents |
-
2006
- 2006-06-07 JP JP2006158246A patent/JP2007328489A/ja not_active Withdrawn
- 2006-12-11 US US11/608,892 patent/US20070288835A1/en not_active Abandoned
-
2007
- 2007-04-10 CN CNB2007100960561A patent/CN100543747C/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196920B (zh) * | 2007-12-21 | 2011-04-06 | 北京中星微电子有限公司 | 基于引用关系的文件配置管理方法和装置 |
CN102077198A (zh) * | 2008-06-25 | 2011-05-25 | 微软公司 | 结构化共同创作 |
CN102077198B (zh) * | 2008-06-25 | 2014-03-12 | 微软公司 | 用于文档的结构化共同创作的系统和方法 |
CN103080931A (zh) * | 2010-06-28 | 2013-05-01 | 诺基亚公司 | 用于分页更新协议的方法和装置 |
US9792381B2 (en) | 2010-06-28 | 2017-10-17 | Here Global B.V. | Method and apparatus for a paged update protocol |
US9286581B2 (en) | 2010-06-29 | 2016-03-15 | Ricoh Co., Ltd. | User interface with inbox mode and document mode for single input work flow routing |
CN103080884A (zh) * | 2010-06-29 | 2013-05-01 | 株式会社理光 | 用于单一输入工作流路由的具有收件箱模式和文档模式的用户界面 |
CN105117382A (zh) * | 2015-08-28 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 一种文档协同方法及装置 |
CN107451108A (zh) * | 2017-06-13 | 2017-12-08 | 广州视源电子科技股份有限公司 | 一种协同编辑文档的方法和系统 |
CN107395763A (zh) * | 2017-08-30 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种多客户端同步处理文件的方法、服务端及系统 |
CN107992461A (zh) * | 2017-11-23 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种多人同时编辑同一文档的装置及方法 |
CN112988225A (zh) * | 2021-03-12 | 2021-06-18 | 中国平安财产保险股份有限公司 | 注解配置方法、装置、设备及存储介质 |
CN112988225B (zh) * | 2021-03-12 | 2024-04-05 | 中国平安财产保险股份有限公司 | 注解配置方法、装置、设备及存储介质 |
CN113361239A (zh) * | 2021-06-01 | 2021-09-07 | 北京百度网讯科技有限公司 | 文档测试方法及其装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2007328489A (ja) | 2007-12-20 |
CN100543747C (zh) | 2009-09-23 |
US20070288835A1 (en) | 2007-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100543747C (zh) | 用于文档管理的装置和方法 | |
US7770228B2 (en) | Content addressable information encapsulation, representation, and transfer | |
US8910034B2 (en) | System and method for managing dynamic document references | |
US8719691B2 (en) | Document providing system and computer-readable storage medium | |
CA2318908C (en) | Content addressable information encapsulation, representation, and transfer | |
US20070150433A1 (en) | Method for managing file in version control system | |
US20030145017A1 (en) | Method and application for removing material from documents for external sources | |
US6879982B2 (en) | Data management system, server, and data management method | |
US20070168435A1 (en) | Method for archiving native email | |
EP2450807B1 (en) | Information processing apparatus having history control function and control method therefor | |
US10552509B2 (en) | Method and system for archiving and retrieving bibliography information and reference material | |
JP2006509297A (ja) | 文書セットのコンテンツ空間のナビゲーション | |
US20070156768A1 (en) | System and method for managing dynamic document references | |
JP2006350829A (ja) | ファイルバージョン管理装置及び方法とプログラム | |
US6480834B1 (en) | Method and apparatus for serving files from a mainframe to one or more clients | |
JP2005122702A (ja) | 検索エンジンと一式以上のファイルサーバ間の結合を改善する方法及び装置 | |
CN102103667B (zh) | 文档使用管理系统、文档处理装置和方法及文档管理装置 | |
US20140358868A1 (en) | Life cycle management of metadata | |
KR20100067976A (ko) | 분산 저장된 컨텐츠 파일의 동기화 방법 | |
US20140365857A1 (en) | Virtual embedding of files in documents | |
EP2680174A1 (en) | A method, a server, a system and a computer program product for copying data from a source server to a target server | |
JPH1021061A (ja) | クライアントソフトウェア自動バージョンアップシステム | |
US9292703B2 (en) | Electronic document management method | |
US7536404B2 (en) | Electronic files preparation for storage in a server | |
US9417796B2 (en) | Method, a server, a system and a computer program product for copying data from a source server to a target server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090923 Termination date: 20170410 |