[发明专利]多个线程对文档的并发利用的方法和系统有效
申请号: | 201180025941.5 | 申请日: | 2011-05-16 |
公开(公告)号: | CN102939581B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | C·W·派克 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/06 |
代理公司: | 永新专利商标代理有限公司72002 | 代理人: | 王英 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 文档 并发 利用 方法 系统 | ||
背景
电子文档在当今的工作环境中无所不在。例如,数百万的人每天使用和生成文字处理文档、电子表格文档,及其他种类的文档。随着电子文档的重要性提高,人们期望软件应用提供用于操纵电子文档的更强大的工具。例如,人们期望文字处理应用提供准确的语法和拼写检查工具。
然而,这样的工具常常计算量很大。由于这样的工具计算量很大,因此,使用这样的工具会导致用户很容易发现的延迟。这样的延迟会导致用户感到受挫,因此,应该尽量最少化。
近年来,计算机的性能已经提高。然而,这种提高中的大部分是由于单个计算机现在可以使用多个处理单元这一事实。例如,老式计算机只有一个处理单元,因此只能一次执行一个程序。较新的计算机可以具有多个处理单元,因此可以同时执行多个程序。
在某些情况下,在多个处理单元上执行的多个程序需要与电子文档中的相同数据进行交互。例如,如果第一程序将向电子文档中的某些数据写入而同时第二程序尝试读取该数据,则第二程序可能会读取损坏的数据。对此问题的典型的解决方案是在程序读取数据之前程序锁定电子文档中的数据。当一个程序锁定数据时,没有其他程序可以向数据写入。因此,如果另一线程希望向数据写入而数据被锁定,则另一线程不得不等到数据被解锁。迫使另一线程等待会导致用户很容易发现的延迟。
概述
一种计算系统并发地执行构造器线程和至少一个读取器线程。构造器线程通过修改文档的活动表示来修改文档。读取器线程使用文档的非活动表示来对文档执行操作。文档的活动表示和文档的非活动表示存储在计算系统的存储器中。文档的活动表示和文档的非活动表示不包括相同数据在存储器中的不同副本。当读取文档的任何非活动表示中的数据时,确保逻辑一致性,而不锁定文档的任何非活动表示中的任何数据。
提供本概述是为了介绍一些概念。这些概念在以下详细描述中进一步描述。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是示出了示例计算系统的框图。
图2示出了示例文档树和表示文档树的元素阵列。
图3示出了文档的示例表示。
图4示出了当插入元素时文档的示例表示。
图5示出了当删除元素时文档的示例表示。
图6示出了当在现有片段内插入附加元素时文档的示例表示。
图7示出了示例索引树。
图8示出了用属于索引树的较新版本的替换节点覆盖的示例索引树。
图9是示出了当应用启动时由应用执行的示例操作的流程图。
图10是示出了示例元素插入操作的流程图。
图11是示出了示例元素插入操作的延续的流程图。
图12是示出了示例元素插入操作的进一步延续的流程图。
图13是示出了示例元素插入操作的进一步延续的流程图。
图14是示出了示例元素删除操作的流程图。
图15是示出了示例元素删除操作的延续的流程图。
图16是示出了示例元素删除操作的延续的流程图。
图17是示出了示例元素删除操作的延续的流程图。
图18是示出了读取器线程的示例操作的流程图。
图19是示出了读取器线程的示例操作的流程图。
图20是示出了示例计算设备的框图。
详细描述
图1是示出了示例计算系统100的框图。如图1的示例所示,用户102使用计算系统100来访问应用104。应用104可使用户102与文档106进行交互。在各实施例中,应用104可以是各种类型的应用。例如,应用104可以是文字处理应用、通信系统、电子表格应用、笔记记录应用,或其他类型的文字处理应用、通信/电子邮件应用、电子表格应用、笔记记录应用,或其他类型的可使用户与文档进行交互的应用。因此,文档106可以是各种类型的文档。例如,文档106可以是文字处理文档、网页、电子邮件消息、电子表格文档,或另一种类型的文档。在各实施例中,用户102可以以各种方式与文档106进行交互。例如,在某些实施例中,用户102可以查看或编辑文档106中的内容。
为向用户102显示文档106,应用104将文档106的内部表示转换为向用户102示出的文档。例如,文档106的表示可包括指示应用104如何显示文档106的大量的数据。应用104解释此数据,以向用户102显示文档106。然而,此数据一般不向用户102显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180025941.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双动力输出的农机变速箱
- 下一篇:产后止血系统