当前位置: 首页 > 专利查询>微软公司专利>正文

多个线程对文档的并发利用制造技术

技术编号:8349530 阅读:155 留言:0更新日期:2013-02-21 07:29
一种计算系统并发地执行生成器线程和读取器线程。构造器线程通过修改文档的活动表示来修改文档。读取器线程使用文档的非活动表示来对文档执行操作。文档的活动表示和文档的非活动表示存储在计算系统的存储器中。文档的活动表示和文档的非活动表示不包括相同数据在存储器中的不同副本。当读取文档的非活动表示中的数据时,确保逻辑一致性,而不锁定文档的非活动表示中的任何数据。

【技术实现步骤摘要】
【国外来华专利技术】多个线程对文档的并发利用的方法和系统
技术介绍
电子文档在当今的工作环境中无所不在。例如,数百万的人每天使用和生成文字处理文档、电子表格文档,及其他种类的文档。随着电子文档的重要性提高,人们期望软件应用提供用于操纵电子文档的更强大的工具。例如,人们期望文字处理应用提供准确的语法和拼写检查工具。然而,这样的工具常常计算量很大。由于这样的工具计算量很大,因此,使用这样的工具会导致用户很容易发现的延迟。这样的延迟会导致用户感到受挫,因此,应该尽量最少化。近年来,计算机的性能已经提高。然而,这种提高中的大部分是由于单个计算机现在可以使用多个处理单元这一事实。例如,老式计算机只有一个处理单元,因此只能一次执行一个程序。较新的计算机可以具有多个处理单元,因此可以同时执行多个程序。在某些情况下,在多个处理单元上执行的多个程序需要与电子文档中的相同数据进行交互。例如,如果第一程序将向电子文档中的某些数据写入而同时第二程序尝试读取该数据,则第二程序可能会读取损坏的数据。对此问题的典型的解决方案是在程序读取数据之前程序锁定电子文档中的数据。当一个程序锁定数据时,没有其他程序可以向数据写入。因此,如果另一线程希本文档来自技高网...
多个线程对文档的并发利用

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.05.27 US 12/788,8041.一种用于对文档执行操作的方法,其中,所述方法在包括一个或多个处理单元和存储器的计算系统中实施,所述方法包括:由所述计算系统执行通过修改所述文档的活动表示来修改所述文档的构造器线程,所述文档的所述活动表示存储在所述存储器中,其中,所述文档在内部被表示为文档树,所述文档树是文档元素的层次结构,其中,所述文档的活动表示包括索引树的活动版本,片段描述符表的活动版本以及真实元素阵列,所述真实元素阵列包含表示所述文档树中的每一个文档元素的元素,所述片段描述符表包括一组片段描述符,所述片段描述符中的每一个都标识所述真实元素阵列的一个片段,所述索引树包括索引节点的层次结构,所述索引节点中的每一个都指示所述片段描述符中的一个;以及由所述计算系统与所述构造器线程并发地执行读取器线程,所述读取器线程使用所述文档的非活动表示来对所述文档执行操作,其中,所述文档的非活动表示包括所述索引树的非活动版本,所述片段描述符表的非活动版本以及所述真实元素阵列,其中对供所述读取器线程使用的所述文档的非活动表示的访问是在所述构造器线程修改所述文档的活动表示时提供的,所述文档的非活动表示存储在所述存储器中,所述文档的活动表示和所述文档的非活动表示不包括相同数据在所述存储器中的不同副本,其中,当读取所述文档的非活动表示中的数据时,确保逻辑一致性,而不锁定所述文档的非活动表示中的任何数据。2.如权利要求1所述的方法,其特征在于:由所述读取器线程执行的操作不修改所述文档;每当所述构造器线程接收到修改所述文档的输入时,所述构造器线程执行创建所述文档的新表示的操作;并且在所述构造器线程完成所述操作之后,所述文档的所述新表示可供所述读取器线程使用。3.如权利要求1所述的方法,其特征在于:所述文档是文字处理文档;并且所述方法还包括:由所述计算系统执行文字处理应用,所述文字处理应用使用户能与所述文档进行交互,所述文字处理应用唤醒所述构造器线程和所述读取器线程。4.如权利要求1所述的方法,其特征在于:所述文档的活动表示和所述文档的非活动表示不包括所述真实元素阵列中的相同元素在所述存储器中的不同副本。5.如权利要求4所述的方法,其特征在于,所述构造器线程在所述读取器线程并发地从所述文档的非活动表示中读取给定元素时从所述文档的活动表示中删除所述给定元素,所述给定元素表示所述文档树中的相同文档元素。6.如权利要求4所述的方法,其特征在于:对于所述索引树中的每一个索引节点,与所述索引节点的左子树中的索引节点相关联的元素具有小于与所述索引节点相关联的元素的虚拟偏移量的虚拟偏移量,与所述索引节点的右子树中的索引节点相关联的元素具有大于与所述索引节点相关联的元素的虚拟偏移量的虚拟偏移量,所述虚拟偏移量是与虚拟元素阵列的开始处的偏移量,所述虚拟元素阵列是所述文档树的一维表示;并且所述文档的活动表示和所述文档的非活动表示在所述存储器中没有所述片段描述符表中的相同片段描述符或所述索引树中的相同索引节点的不同副本。7.如权利要求6所述的方法,其特征在于:为了修改所述文档以包括附加文档元素,所述构造器线程执行元素插入操作,所述元素插入操作通过将一个或多个新元素插入到所述真实元素阵列中,将新片段描述符添加到所述片段描述符表,以及将一个或多个新索引节点添加到所述索引树,来生成所述文档的所述活动表示,所述一个或多个新元素表示所述附加文档元素;在所述构造器线程完成所述元素插入操作之后,所述文档的所述活动表示变得可供所述读取器线程使用。8.一种计算系统,包括:包括多个处理单元的处理系统;以及包括计算机可执行指令的存储器,所述计算机可执行指令在由所述处理系统执行时,导致所述计算系统:执行通过修改文档的活动表示来修改所述文档的构造器线程,所述文档的活动表示存储在所述存储器中,其中,所述文档在内部被表示为文档树,所述文档树是文档元素的层次结构,其中,所述文档的活动表示包括索引树的活动版本,片段描述符表的活动版本以及真实元素阵列,所述真实元素阵列包含表示所述文档树中的每一个文档元素的元素,所述片段描述符表包括一组片段描述符,所述片段描述符中的每一个都标识所述真实元素阵列的一个片段,所述索引树包括索引节点的层次结构,所述索引节点中的每一个都指示所述片段描述符中的一个;以及与所述构造器线程并发地执行读取器线程,所述读取器线程使用所述文档的非活动表示来对所述文档执行操作,其中,所述文档的非活动表示包括所述索引树的非活动版本,所述片段描述符...

【专利技术属性】
技术研发人员:C·W·派克
申请(专利权)人:微软公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1