提供对更新后的文件的访问的方法和执行该方法的计算机技术

技术编号:11476549 阅读:36 留言:0更新日期:2015-05-20 06:24
示例性实施例提供了由具有至少一个处理器的计算机执行的提供对更新后的文件的访问的方法和执行该方法的计算机,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址映射到旧文件物理块地址,并且新文件逻辑块地址映射到新文件物理块地址,所述方法包括步骤:将旧文件逻辑块地址的映射从旧文件物理块地址自动地交换至新文件物理块地址;剪切旧文件逻辑块地址到旧文件物理块地址的映射;以及清除新文件逻辑块地址到新文件物理块地址的映射。

【技术实现步骤摘要】
提供对更新后的文件的访问的方法和执行该方法的计算机相关申请的交叉引用本申请要求转让于本申请的受让人的于2013年11月8日提交的临时专利申请No.61/902,092的权益,并且其以引用方式并入本文。
本申请一般地涉及计算机应用,具体地,涉及用于LBA的原子交换和剪切的SWAT命令和API。
技术介绍
文档管理系统更新数据结构以跟踪文档的最新版本。在这个过程中,一些系统创建文档的另一版本而非覆盖旧版本,并且将文档的旧版本保持一段时间。这允许系统在更新新版本的同时访问文档的旧版本以进行读取。例如,如果用户更新他/她的博客页面,则在他/她更新博客页面的同时,其它用户仍然可阅读旧版本的博客页面。在一些时候,系统需要更新系统信息以访问新文档并替代旧文档。通常,这触发了系统的数据结构中的一系列级联更新,并且需要对贮存器进行多次写入。因此,期望提供一种改进的方法和系统,用于对更新后的文件提供访问而不用在系统的数据结构中执行级联更新。
技术实现思路
示例性实施例提供了由具有至少一个处理器的计算机执行的对更新后的文件的访问的方法,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址(LBA)映射到旧文件物理块地址(PBA),并且新文件LBA映射到新文件PBA,所述方法包括步骤:将旧文件LBA的映射从旧文件PBA自动地交换至新文件PBA;剪切旧文件LBA到旧文件PBA的映射;以及清除新文件LBA到新文件PBA的映射。根据示例性实施例的方法和系统,可在不用在系统的数据结构中执行级联更新并且不用对贮存器进行不必要的写入的情况下更新文件。附图说明通过以下结合附图对实施例的描述,本专利技术的整体构思的这些和/或其它特征和效用将变得清楚和更容易理解,图中:图1是示出根据示例性实施例的文档管理系统的框图;图2是更新文件的常规文档管理系统的图解说明;图3是根据一个示例性实施例示出了文档管理系统执行的用于在更新期间对文件提供访问的过程的流程图;以及图4是图解说明了图3所示过程的示图。具体实施方式现在将详细描述本专利技术的整体构思的实施例,在附图中示出了其示例,其中相同的附图标记始终表示相同的元件。以下在参照附图的同时描述实施例以解释本专利技术的整体构思。通过参照以下实施例和附图的具体说明可更容易地理解本专利技术的优点和特征及其实现方法。然而,本专利技术的整体构思可以许多不同的形式实现,并且不应理解为限于本文阐述的实施例。此外,提供这些实施例是为了使得本公开将是彻底和完整的,并且将把本专利技术的整体构思的概念完全传递给本领域技术人员,并且本专利技术的整体构思将仅由权利要求限定。为了清楚起见,在附图中会夸大层和区的厚度。应该理解,除非本文表明不是这样或者在上下文中作出清楚的相反的指示,否则在描述本专利技术的上下文中(尤其是在权利要求的上下文中),使用的术语“一”、“一个”、“该”以及相似的指示语应解释为涵盖单数形式和复数形式二者。应该理解,除非说明不是这样,否则术语“包括”是开放性术语(即,意味着“包括(但不限于)”)。如本文所用的那样,术语“组件”或“模块”意指(但不限于)执行特定任务的软件或诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)之类的硬件组件。组件或模块可有利地构造为位于可寻址贮存介质中,并被构造为在一个或多个处理器上执行。因此,以举例的方式,组件或模块可包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、处理、功能、属性、过程、子程序、程序代码片断、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列和变量。针对组件以及组件或模块提供的功能性可组合到更少的组件以及组件或模块中,或者进一步分为额外的组件以及组件或模块。除非另外限定,否则本文使用的所有技术术语和科学术语具有与本专利技术所属领域的普通技术人员之一共同理解的含义相同的含义。应该注意,除非另外指明,否则使用本文提供的任何和所有示例术语或示例性术语仅旨在更好地示出本专利技术,而不限制本专利技术的范围。另外,除非另外限定,否则不可过度解释在通用词典中定义的所有术语。图1是示出根据示例性实施例的文档管理系统10的框图。文档管理系统10可包括计算机12,其跟踪并存储电子文档或文件。在一个实施例中,计算机12可包括台式、笔记本或工作站,而在另一实施例中,计算机12可包括经网络(未示出)与客户计算机通信的服务器。计算机12可包括通常的计算机组件,其中包括处理器14、存储器16和诸如高速贮存器18(例如,固态驱动器(SSD))之类的贮存装置。处理器14可包括多个处理器,或具有一个或多个核的单个处理器。处理器14执行来自存储器16的程序指令。软件的示例类型可包括应用20、操作系统22、文件系统24和用于高速贮存器18的装置驱动器应用程序接口(API)26。如本领域熟知的,应用20可表示计算机软件,当处理器14执行该计算机软件时使得计算机12执行计算机12的运行之外的任务。示例可包括网络浏览器、文字处理器和数据库程序。通常,应用20创建并修改或更新文件28。操作系统22是一种管理和控制计算机12的操作的系统软件。示例可包括MicrosoftWindows、MacOSX和Linux。文件系统24是软件,其控制如何在诸如高速贮存器18的数据贮存装置上存储、检索和更新诸如文件28之类的信息。通常,文件系统24使用逻辑块寻址,以指明诸如文件28之类的数据在高速贮存器18或其它计算机贮存装置上的存储位置。更具体地说,逻辑块寻址是一种将逻辑块地址(LBA)30分配给映射到高速贮存器18上的特定贮存位置的文件28的抽象。装置驱动器应用程序接口(API)26允许应用20、操作系统22和文件系统24与高速贮存器18透明地交互。装置驱动器API26将命令提供至高速贮存器18和/或从高速贮存器18接收数据。在一个实施例中,高速贮存器18使用物理块寻址,以将地址提供至存储在高速贮存器18上的数据的各个物理块。这些类型的地址可被称作物理块地址(PBA)32。在一个实施例中,高速贮存器18可包括固态驱动器(SSD)(也称作固态盘)。SSD是一种使用集成电路组件作为存储器以永久地存储诸如文件28之类的数据的数据贮存装置。在一个实施例中,SSD可使用基于NAND的闪速存储器或随机存取存储器(RAM)。在实施例中,高速贮存器18还可包括文件转换层(filetranslationlayer,FTL)34或等同物,其在将逻辑扇区接口提供至计算机12的同时管理高速贮存器18。这样,FTL34控制由文件系统24保持的LBA30与由高速贮存器18保持的PBA32之间的映射关系。在替代实施例中,示例性实施例可与除SSD以外的其它类型的贮存装置一起使用。图2是更新文件的常规文档管理系统的图解说明。示出的示例假设应用保持表示用户的博客页面的文件200。每当用户更新博客时,应用将文件200读到存储器中,并相应地修改内容。在更新过程中,系统创建新文件204,将修改内容复制到新文件204中。同时,在用户持续更新博客的同时其它用户仍可访问和浏览旧文件202。当用户完成对博客的编辑并提交页面时,应用切换到新文件204并删除旧文件202。在贮存系统(实际存储文件之处)保持本文档来自技高网...

【技术保护点】
一种由具有至少一个处理器的计算机执行的提供对更新后的文件的访问的方法,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址(LBA)映射到旧文件物理块地址(PBA),并且新文件LBA映射到新文件PBA,所述方法包括步骤:将旧文件LBA的映射从旧文件PBA自动地交换至新文件PBA;剪切旧文件LBA到旧文件PBA的映射;以及清除新文件LBA到新文件PBA的映射。

【技术特征摘要】
2013.11.08 US 61/902,092;2014.05.20 US 14/282,3581.一种由具有至少一个处理器的计算机执行的提供对更新后的文件的访问的方法,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址(LBA)映射到旧文件物理块地址(PBA),并且新文件LBA映射到新文件PBA,新文件LBA与旧文件LBA彼此不同,所述方法包括步骤:将旧文件LBA的映射从旧文件PBA自动地交换至新文件PBA;剪切旧文件LBA到旧文件PBA的映射;以及清除新文件LBA到新文件PBA的映射。2.根据权利要求1所述的方法,其中,通过交换和剪切(SWAT)命令以及应用程序接口(API)激活所述方法。3.根据权利要求2所述的方法,其中,所述SWAT命令的参数包括对应于旧文件和新文件的一对LBA列表,并且其中所述SWAT命令以原子方式按顺序交换所述一对列表中的LBA的映射并剪切未使用的LBA。4.根据权利要求2所述的方法,其中,响应于由应用或操作系统作出的调用,将所述SWAT命令从贮存装置驱动器API发送至贮存装置。5.根据权利要求2所述的方法,其中,所述SWAT命令包括作为参数的第一LBA列表和第二LBA列表,所述第一LBA列表包括新文件的LBA,所述第二LBA列表包括旧文件的LBA。6.根据权利要求5所述的方法,其中,所述第一LBA列表和所述第二LBA列表中的LBA的映射以原子方式按照列表指定的顺序交换,并且以最大努力方式剪切旧文件PBA。7.根据权利要求6所述的方法,其中,所述SWAT命令包括针对连续LBA的第一SWAT命令和针对非连续LBA的第二SWAT命令。8.一种计算机,包括:存储器:贮存装置;处理器,其连接至存储器和贮存装置,处理器执行至少一个应用;其中响应于接收到包括旧文件的修改内容的更新...

【专利技术属性】
技术研发人员:奇亮奭李尚源
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1