一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于文件系统中的文件的硬链接操作的制作方法

2021-12-18 02:39:00 来源:中国专利 TAG:

用于文件系统中的文件的硬链接操作


背景技术:

1.用户依靠文件系统以用于组织计算系统上的数据和文件。诸如复原文件系统(refs)的文件系统提供结构和逻辑规则,来管理数据的存储和检索以及命名和分组。例如,诸如refs的文件系统可以使用独立或隔离的目录作为b 表和针对文件的嵌入的b 表进行操作,其中可以使用文件名或文件标识符(文件id)访问嵌入的b 表。随着使用文件系统越来越多的功能被支持,用于数据访问机制的硬链接操作对于提高文件系统中的文件的可访问性很重要。


技术实现要素:

2.本文所描述的技术的各方面一般涉及用于针对文件系统中的文件和目录提供使用硬链接的数据操作(例如,读取、写入或更新)(即,硬链接操作)的系统、方法和计算机存储介质。具体地,基于具有文件_名到文件_id(file_name

to

file_id)映射和文件_id到文件_对象(file_id

to

file_object)映射的硬链接数据结构来执行硬链接操作。例如,文件名被用来引用文件id(即,硬链接标识符),而文件id被用来引用文件对象(例如,嵌入的b 表)。硬链接数据结构代替了非硬链接数据结构,非硬链接数据结构只是将文件名映射到文件对象并且将文件id映射到文件名。硬链接操作支持使用不同名称来访问单个文件。硬链接操作还支持在不同文件夹中使用不同名称来访问单个文件(例如,文件内容)。
3.作为背景,文件系统(例如,复原文件系统

refs)可以提供被用来管理存储和检索数据以及命名和分组数据的结构和逻辑规则。目录可以被实现为独立或隔离的b 表,目录的对应文件作为嵌入的b 表。文件可以使用非硬链接数据结构(非硬链接数据访问机制)访问,其中嵌入的b 表可以使用文件id或文件名访问。虽然文件系统可能需要独立的目录策略来操作,但是文件系统也可能需要基于硬链接来操作的计算资源中的功能。
4.硬链接是将名称与文件系统中的文件相关联的目录条目。硬链接特别地允许一个文件具有多个名称(例如,不同目录中的不同名称),所有这些名称都独立地连接到磁盘上的相同数据,而这些名称都不依赖于其他名称中的任何名称。尽管文件系统的传统数据访问机制可以使用非硬链接数据访问机制(不支持硬链接)来提供对文件的访问,但文件系统可能缺乏与使用硬链接进行操作的其他应用和服务以及其他文件系统的互操作性。此外,在仍保持独立目录策略的同时实现硬链接会带来若干挑战。因此,用于提供数据访问机制以支持针对文件系统中的文件的硬链接操作的备选方案将针对与其他计算资源的更好的兼容而改进计算操作。
5.本公开所描述的技术方案的各方面旨在利用硬链接数据访问机制来改进非硬链接数据访问机制,以用于对文件系统中的文件执行文件系统操作。特别地,在执行文件系统操作时,文件是使用多个名称(例如,不同目录中的不同名称)可访问的,所有这些名称都独立地连接到磁盘上的相同数据,这些名称都不依赖于其他名称中的任何名称。例如,某些应用或服务需要针对单个文件的多个名称,这些名称是通过文件系统中支持的硬链接可访问的,以使得可以删除特定的名称实例但是文件本身仍是经由另一名称实例可访问的。文件
系统可以将文件从非硬链接数据访问机制重新加密到硬链接数据访问机制,该硬链接数据访问机制具有文件_名到文件_id(file_name

to

file_id)映射和文件_id到文件_对象(file_id

to

file_object)映射。重新加密可以被执行以将现有文件配置用于硬链接操作,并且以这样利用文件系统中已经存在的硬链接数据访问机制创建的新文件可能不需要重新加密。利用使用硬链接数据访问机制操作的重新加密的文件或新文件,可以使用具有带有键

值对的行的表来实现映射。以这种方式,可以基于两个键

值对的组(即,文件_名到文件_id和文件_id到文件_对象)来访问文件。
6.在操作中,接收针对文件内容的文件名。使用该文件名来访问文件内容,文件内容被访问以执行数据操作(例如,读操作、写操作、重命名操作)。文件名与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构相关联。还可以使用与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构相关联的文件标识符来访问文件内容。文件名进一步与文件内容的备选文件名相关联。备选文件名与具有备选文件_名到文件(file_name

to

file)映射和文件_id到文件_对象映射的备选硬链接数据结构相关联。备选文件名被接收。使用备选文件名来访问文件内容,以对文件内容执行备选的数据操作。下面参考技术环境通过示例性实施的方式来描述技术方案的附加方面。
7.本发明内容被提供来以简化的形式介绍在下面的详细描述中进一步描述的概念的选集。本发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在被用作确定要求保护的主题的范围的帮助。
附图说明
8.下面结合附图对本文所描述的技术进行详细描述,其中:
9.图1a和图1b是适合用于实现本文所描述的技术的各方面的,为文件系统中的文件提供硬链接操作的示例性环境的框图;
10.图2是根据本文描述的技术的各方面的示例性文件系统引擎;
11.图3提供了根据本文描述的技术的各方面的为文件系统中的文件提供硬链接操作的第一示例性方法;
12.图4提供了根据本文描述的技术的各方面的为文件系统中的文件提供硬链接操作的第二示例性方法;
13.图5提供了根据本文描述的技术的各方面的为文件系统中的文件提供硬链接操作的第三示例性方法;
14.图6提供了适合用于实现本文所描述的技术的各方面的示例性文件系统环境的框图;
15.图7提供了适合用于实现本文所描述的技术的各方面的示例性分布式计算环境的框图;以及
16.图8是适合用于实现本文所描述的技术的各方面的示例性计算环境的框图。
具体实施方式
17.技术改进方面的概述
18.诸如复原文件系统(refs)的文件系统提供结构和逻辑规则来管理存储和检索数
据以及命名和分组数据。文件系统操作以将数据可用性最大化,有效地扩展到跨不同工作负载的大型数据集,并且借助于对损坏的复原而提供数据完整性。例如,诸如refs的文件系统可以使用独立或隔离的目录进行操作,这些目录可以被实现以用于并行性和吞吐量。基于可以独立于其他目录执行的目录刷新操作,可以执行用于对目录的更新的锁定机制。独立或隔离的目录可以被实现为b 表和针对文件的嵌入的b 表,其中可以使用文件名或文件标识符(文件id)访问嵌入的b 表。特别地,目录在磁盘上被存储到对应的b 表中,并且通过全局表被揭露。全局表(例如,使用唯一的单调递增标识符)指示磁盘上存储装置的目录的位置;然而,b 树的固有磁盘上格式一直是实现硬链接的障碍,因此限制了确实实现硬链接的其他文件系统可用的任何优势。
19.作为背景,文件系统的传统数据访问机制中的文件系统引擎可以使用非硬链接数据访问机制提供对文件的访问,而无需硬链接。非硬链接数据访问机制可以实现为将文件名映射到文件对象(例如,嵌入的b 表)并且将文件id映射到文件名的数据访问机制。数据访问机制可以在表

行实现中定义为键

值对。因此,文件名可用于访问文件对象;或者文件id可用于访问文件名,然后从文件名重定向(下一跳)到文件对象。键

值对可以在不同的目录中实现,其中目录具有唯一的标识符以相互独立操作并且唯一地标识目录中的文件。可以经由键

值对来搜索目录,以标识与对应的文件对象相关联的文件。
20.由于非硬链接数据访问机制不支持硬链接,文件系统缺乏与其他文件系统和使用硬链接操作的其他应用和服务的互操作性。几种其他类型的文件系统支持硬链接;然而,这种文件系统的底层实现并非基于独立或隔离的目录,如带有嵌入的b 表的b 表。例如,对于其中文件系统简单地被实现为单个表的示例文件系统,那么硬链接实现仅仅是对表上文件名的另一引用。因此,提供数据访问机制来支持对文件系统中文件的硬链接操作的备选方案会提高计算操作与其他计算资源的兼容性
21.本发明的实施例涉及简单且有效的方法、系统和计算机存储介质,用于在文件系统中为文件提供使用硬链接的数据操作(硬链接操作)。在高级别处,非硬链接数据访问机制被文件系统中针对文件的硬链接数据访问机制所取代。特别地,在执行文件系统操作时,文件是使用多个名称(例如,不同目录中的不同名称)可访问的,所有这些名称都独立地连接到磁盘上的相同数据,这些名称都不依赖于其他名称中的任何名称。例如,某些应用或服务需要针对单个文件的多个名称,这些名称可通过硬链接访问,这样可以删除特定的名称实例,但文件本身经由另一名称实例维持可访问。文件系统可以将文件从非硬链接数据访问机制(即,文件名到文件对象,将文件id映射到文件名的映射)重新加密到硬链接数据访问机制(即,文件名到文件id以及文件id到文件对象的映射)。可以执行重新加密以配置用于硬链接操作的现有文件,并且以这样使用文件系统中已经就位的硬链接数据访问机制创建的新文件可能不需要重新加密。可以使用具有带有键

值对的行的表来实现映射。以这种方式,可以基于两个键

值对的组(即,文件_名到文件_id和文件_id到文件_对象)使用多个名称来访问文件。
22.本技术方案的各方面可以结合图1a和图1b中的文件系统操作环境并且通过举例的方式来说明。文件系统引擎(未示出)一般管理操作,诸如存储管理、文件命名、目录或文件夹、元数据、访问规则和权限。图1a包括目录表102,目录表102具有行104、106和108并且对应于键

值对。特别地,行1包括文件_名(file_name)和文件_id(file_id)(即,文件_名到
文件_id);行2包括文件_id到文件_对象t;3行3包括文件_id到文件_id(file_id

to

file_id)。可以设想,3行3被可选地实现以支持传统操作和向后兼容性,如下文更详细讨论的。图1a还包括各自具有表示为硬链接数据结构112和硬链接数据结构122的硬链接数据结构(例如,表102)的目录110和目录120。目录110和目录120与文件内容(例如,内置存储器或磁盘上数据)130相关联。
23.可以接收文件名110_文件(110_file)以访问文件内容130。文件内容是使用硬链接数据结构112中的文件名110_文件可访问的。文件名110_文件在硬链接数据结构112中至少具有文件_名到文件_id映射和文件_id到文件_对象映射。例如,文件_id到文件_对象可以用于到文件内容103的嵌入表的id 110:1。以这种方式,文件名110_文件被用于标识文件id 110:1,然后使用(下一跳)文件id 110:1来标识用于文件id 110:1的文件对象(即,嵌入的b 表)。备选地,以这种方式访问文件名被描述为,使用硬链接数据结构进行遍历(或跳跃)来标识对应于文件内容130的文件_对象(file_object)(即,嵌入的b 表)。
24.如表102中所示,硬链接数据结构可以被配置为具有作为对应的行和列中的键

值对的映射的表。硬链接数据结构可以在基于独立目录的文件系统中被实现,独立目录被表示为包括嵌入表的表,该嵌入表作为用于访问文件的文件对象。文件系统基于将独立目录的功能隔离为隔离表而被操作,将独立目录的功能隔离为隔离表基于支持并行性和吞吐量的文件系统的独立目录策略。
25.参考具有文件名120_文件(120_file)和文件id 110:1的目录120,目录112中的文件名110_文件对应于(基于硬链接)目录120中的文件名120_文件(即,备选文件名)。文件名120_文件也针对文件内容130。如硬链接数据结构122中所表示,文件名120_文件具有备选文件_名到文件_id映射和该文件_id到文件_对象映射。特别地,即使文件_名到文件_id映射不同,文件_id到文件_对象映射也是相同的。这样,可以接收文件名120_文件以使用文件名120_文件和硬链接数据结构122来访问文件内容130。另外,可以使用文件id来访问文件内容130,其中文件id被接收并且文件id映射到文件对象。特别地,对于各自具有用于访问文件内容130的硬链接数据结构122的对应目录110和目录120,相同的文件id 110:1被用于文件_名到文件_id映射和文件_id到文件_对象映射。
26.参考图1b,文件系统还支持跨目录重命名针对文件内容的文件名(例如,跨目录重命名操作)。基于创建不同目录中的针对文件内容的具有不同文件名的不同的硬链接数据结构,跨目录重命名操作重命名针对文件内容的文件名。如图所示,图1b包括基于执行跨目录重命名操作的具有硬链接数据结构142的目录140和具有硬链接数据结构152的目录150。以这种方式,基于在硬链接数据结构152中保持相同的文件id 140:1,文件内容160是使用文件名150_文件(150_file)可访问的。
27.继续参考图1b,文件系统还支持删除(例如,删除操作)针对具有备选文件名的文件内容的文件名和目录。删除操作删除针对文件内容的文件名,但不删除硬链接数据结构142。相反,在删除文件名的情况下,保持硬链接数据结构(例如,硬链接数据结构144

资料库硬链接数据结构);但是仍然具有文件id(例如,文件id 140:1)。以这种方式,文件_名到文件_id映射被删除,而文件_id到文件_对象仍然可用以提供对使用该文件id的文件内容的访问。因此,即使在文件名140_文件(140_file)已被删除时,接收文件名150_文件仍可以使用具有文件id 140:1的资料库硬链接数据结构来提供对文件内容160的访问。以这种方
式,资料库硬链接数据结构操作以在与已删除的目录相关联的硬链接数据结构中维持文件_id到文件_对象映射。
28.已经参考与文件系统相关联的数个发明特征和优点描述了本公开的技术方案的各方面,改进了对文件系统中的文件的硬链接操作。特别地,基于硬链接数据结构在功能上组合了文件名、备选文件名、文件标识符。文件标识符与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构、以及备选文件名相关联,备选文件名与具有备选文件_名到文件_id映射和该文件_id到文件_对象映射的备选硬链接数据结构相关联。硬链接数据结构利用文件系统的独立目录策略操作,以使得针对数据操作实现硬链接,以支持文件系统与使用硬链接的其他计算资源(例如,应用和服务)之间的互操作性。总体而言,所描述的技术解决方案各方面的实际应用产生了改善,这些改善是基于更少的cpu计算、更小的存储器要求和文件系统相对于传统的非硬链接实现增加的灵活性。
29.为文件系统中的文件提供硬链接操作的示例环境概述
30.转到图2,示出了适合用于实现技术方案的实施例的示例性技术方案环境(文件系统环境200)的框图。一般来说,该技术方案环境包括适合为文件系统中的文件提供硬链接操作的技术方案系统。文件系统环境200包括具有数据访问引擎204的文件系统引擎202,数据访问引擎204包括硬链接数据结构206和资料库硬链接数据结构208。
31.数据访问引擎204负责提供对文件内容的访问以使用硬链接来执行数据操作。在操作中,数据访问引擎支持:接收针对文件内容的文件名;以及使用该文件名来访问文件内容。文件名与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构(例如,硬链接数据结构206)相关联。数据访问引擎还同时支持接收针对文件内容的备选文件名;以及使用备选文件名和备选硬链接数据结构(例如,硬链接数据结构206)来访问文件内容。文件名与针对文件内容的备选文件名相关联。备选文件名与具有备选文件_名到文件_id映射和该文件_id到文件_对象映射的备选硬链接数据结构相关联。
32.数据访问引擎204还支持接收针对文件内容的文件标识;以及使用文件标识符来访问文件内容。文件标识符与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构以及具有备选文件_名到文件_id映射和该文件_id到文件_对象映射的备选硬链接数据结构相关联。硬链接数据结构是这样的表:其在对应的行和列中具有作为键

值对的映射。硬链接数据结构在基于独立目录的文件系统中实现,独立目录被表示为包括嵌入表的表,该嵌入表作为用于访问文件的文件对象。文件系统基于将独立目录的功能隔离为隔离表而被操作,将独立目录的功能隔离为隔离表基于支持并行性和吞吐量的文件系统的独立目录策略。
33.可以设想,数据访问引擎204可以进一步支持文件系统的传统操作和向后兼容性特征。例如,传统操作可以访问文件文件_id到文件_id映射,然后(下一跳)到文件_id到文件_对象以执行先前为非硬链接数据结构编程的传统操作。以这种方式,即使利用本文所描述的硬链接数据结构,传统操作和向后兼容性特征也可以在文件系统中可用。
34.数据访问引擎204还支持跨目录重命名操作。对文件内容的操作可以包括为不同目录中的文件内容重命名文件名。重命名文件名包括创建针对文件内容的具有不同文件名的不同硬链接数据结构,不同的硬链接数据结构是在不同的目录中创建的。不同的硬链接数据结构包括不同的文件_名到文件_id映射和文件_id到文件_对象映射。
35.数据访问引擎204还支持基于提供对文件内容的访问的资料库硬链接数据结构来删除文件名或目录,直到对文件内容的所有引用都被删除。在操作中,数据访问引擎删除硬链接数据结构中的文件名,但是在与删除的文件名相关联的硬链接数据结构(即,资料库硬链接数据结构208)中维持文件_id到文件_对象映射。文件名可以作为删除目录的一部分(例如,删除目录操作)而被删除,以这样,为删除的文件名或删除的目录维持资料库硬链接数据结构。
36.用于为文件系统中的文件提供硬链接操作的示例性方法
37.参考图3、图4和图5,提供了图示用于对文件系统(技术解决方案系统)中的文件执行硬链接操作的方法的流程图。这些方法可以使用本文所描述的技术方案系统来执行。在实施例中,一个或多个计算机存储介质其上实现有计算机可执行指令,该计算机可执行指令在由一个或多个处理器执行时可以使该一个或多个处理器执行技术方案系统中的方法。
38.转到图3,提供了图示了用于对文件系统中的文件执行硬链接操作的方法300的流程图。最初在框302处,接收针对文件内容的文件名。该文件名与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构相关联。文件名进一步与针对文件内容的备选文件名相关联,其中备选文件名与具有备选文件_名到文件_id映射和该文件_id到文件_对象映射的备选硬链接数据结构相关联。硬链接数据结构是在对应的行和列中具有作为键

值对的映射的表。硬链接数据结构在基于独立目录的文件系统中实现,这些目录被表示为包括嵌入表的表,嵌入表作为用于访问文件的文件对象。在框304处,使用文件名来访问文件内容。
39.在框306处,接收针对文件内容的备选文件名。备选文件名与具有备选文件_名到文件_id映射和该文件_id到文件_对象映射的备选硬链接数据结构相关联。在框308处,使用备选文件名来访问文件内容。
40.转到图4,提供了图示用于对文件系统中的文件执行硬链接操作的方法400的流程图。最初在框402处,接收针对文件内容的文件名。该文件名与具有文件_名到文件_id映射和文件_id到文件_对象映射的硬链接数据结构相关联。在框404处,文件名被重命名。重命名文件名包括针对文件内容创建具有不同文件名的不同的硬链接数据结构。在不同的目录中创建不同的硬链接数据结构(即,跨目录重命名操作)。在步骤406,删除文件名。删除文件名包括在与删除的文件名或删除的目录相关联的资料库硬链接数据结构中维持文件_名到文件_id映射和文件_id到文件_对象映射。
41.转到图5,提供了图示用于对文件系统中的文件执行硬链接操作的方法500的流程图。最初在框502处,接收针对文件内容的文件标识符。文件标识符与对应于文件内容的文件名和备选文件名相关联。文件标识符与两个硬链接数据结构相关联,每个数据结构都有文件_名到文件_id映射和文件_id到文件_对象映射。在框504处,使用文件名来访问文件内容。
42.示例文件系统环境
43.参考包括文件系统(例如,复原文件系统

refs)的文件系统环境600,本文所描述的实施例支持上述技术解决方案的功能。文件系统环境600包括文件系统的分布式组件,其与实现技术解决方案各方面的其他集成组件组合地通信实现。文件系统环境600是指支持技术方案功能的硬件架构和软件框架。
44.在高级别处,文件系统提供用于管理存储和检索以及数据命名和分组的配置规则(例如,逻辑和数据结构)。特别地,配置规则是基于写时复制(即,写入新)设计。在这方面,文件系统是写时复制文件系统。特别地,应用编程接口与存储引擎一起操作以提供写入新b 键值文件系统。文件系统可以支持数据完整性、文件级快照(“块克隆”)、数据分层和磁盘动态布局等功能。
45.图6示出了具有根据本公开实现的组件的高级架构文件系统环境600。应当理解,本文所描述的布置仅作为示例而被阐述,并且可以设想其他布置而不是所示出的布置。在未示出的其他组件中,文件系统环境600包括具有存储引擎610、磁盘650、应用编程接口670和内置存储器690的文件系统引擎600a。存储引擎610包括分配器620、对象表622和概要624,b 表对象630(具有私有分配器632),并且磁盘650包括文件652和元数据660(具有关键(元数据)662、非关键(元数据)664);api 670包括输入/输出管理器接口672;以及具有文件系统内置存储器数据结构692的内置存储器690。
46.存储引擎610提供分配表对象的存储的分配器(例如,全局分配器和私有分配器)。特别地,存储引擎610为b 表对象630提供内部的私有分配器632,以及用于跟踪b 表对象的对象表622。存储引擎610支持将一个b 表的根存储在另一b 表中并且支持流范围。将b 表的根存储在另一表中会使嵌入表无法在对象表中具有条目。目录是由对象表622引用的b 表对象。文件是其根被嵌入目录的行中的b 表。流被实现为这样的文件范围表,其根被嵌入在文件记录中。
47.在操作中,文件系统创建并且操纵b 表对象,以便存储文件系统元数据(例如,关键和非关键元数据)并且使用针对用户流数据的流范围功能。特别地,文件系统实现两种类型的元数据(即,全局“关键”元数据662和非关键元数据664)。关键元数据662独立于非关键元数据664被管理。例如,写入关键元数据662是基于与非关键元数据664不同的逻辑,非关键元数据664是基于与关键元数据的分离。写入元数据可以基于锁定机制来实现。
48.存储引擎610支持用于在文件系统中组织信息(例如,文件和目录的b 表)的概要624。例如,当创建b 表时,表对象在对象表中被指派id。每个条目是<对象_id,根_位置>(<object_id,root_location>)形式的<键,值>(<key,value>)对,其中对象_id是对象的卷

唯一标识符,并且根_位置是表的根桶的块地址。由于所有目录都是文件系统中的持久表对象,因此对象表中的绝大多数条目都指向目录。
49.目录是负责单个、平面的命名空间的b 表对象。目录在逻辑上包含文件、到其他目录中的文件的链接,以及到其他目录的链接。传统的分层文件系统命名空间是通过目录和到目录的链接构建的。目录表中的行在逻辑上采用<键,<类型,值>>(<key,<type,value>>)的形式,其中键在表中是唯一的,类型指示值应该被解释的方式,然后值是特定于类型的。作为表的目录由行组成。
50.文件652与目录相关联地被存储。例如,文件652可以具有文件记录,该文件记录是以目录b 表为根的b 表。目录中的文件可以显示为<文件_名,文件_记录>(<file_name,file_record>)形式的<键,值>(<key,value>)对。在一种实现中,文件_名可以是unicode字符串,而文件_记录是嵌入的b 表。存储引擎中的嵌入的b 表可以只将它们的根嵌入另一表的值中。在这方面,文件_记录在构造上是表的根。
51.文件系统的内置存储器数据结构支持文件系统的内置存储器操作和其他相关联
的操作。在高级别处,内置存储器处理可以基于文件对象、文件控制块(fcb)和流控制块(scb)。特别地,文件对象指向scb数据结构,它表示单个文件中包含的单个数据实体。包含数据实体的文件由文件控制块表示。使用b 表来支持对scb和fcb的持久改变。文件系统中的每个打开文件都可以用单个fcb实现为其内置存储器锚点。具有单个数据流的打开文件也具有表示该流的scb。负责磁盘上文件记录的fcb指向表示文件的开放存储引擎b 表对象。就此而言,文件是b 表,而文件属性是b 表中的行。
52.文件系统api 670是应用编程接口,通过它可以请求文件系统的服务。例如,输入/输出管理器接口672可以支持读操作、写操作、元数据管理操作和维持操作(例如,创建或初始化文件系统,验证文件系统的完整性,以及碎片整理)。使用文件系统的设备的操作系统可以提供api来支持文件系统操作。可以设想,通过使用文件系统环境600及其其他的变化和组合可以执行本发明的技术方案的各种特征。
53.示例分布式计算环境
54.现在参考图7,图7图示了其中可以采用本公开实现的示例分布式计算环境700。特别地,图7示出了可以托管技术解决方案环境或其一部分(例如,数据受托方环境)的示例云计算平台710的高级架构。应当理解,本文所描述的这种和其他布置仅作为示例阐述。例如,如上所述,本文所描述的许多元件可以被实现为分立或分布式组件,或者与其他组件结合地实现,并且以任何合适的组合和位置来实现。除了所示的那些之外或代替所示的那些,可以使用其他的布置和元件(例如,机器、接口、功能、顺序和功能分组)。
55.数据中心可以支持分布式计算环境700,分布式计算环境700包括云计算平台710、机架720和机架720中的节点730(例如,计算设备、处理单元或刀片)。技术解决方案环境可以用云计算平台710来实现,云计算平台710跨不同的数据中心和地理区域来运行云服务。云计算平台710可以实现用于供应和管理云服务的资源分配、部署、升级和管理的结构控制器740组件。通常,云计算平台710用于以分布式方式来存储数据或运行服务应用。数据中心中的云计算基础设施710可以被配置为托管和支持特定服务应用的端点的操作。云计算基础设施710可以是公共云、私有云或专用云。
56.节点730可以配备有在节点730上运行限定的软件堆栈的主机750(例如,操作系统或运行时环境)。节点730还可以被配置为在云计算平台710内执行专门的功能(例如,计算节点或存储节点)。节点730被分配用于运行租户的服务应用的一个或多个部分。租户可以指代使用云计算平台710的资源的客户。支持特定租户的云计算平台710的服务应用组件可以被称为租户基础设施或租屋。术语服务应用、应用或服务在本文中可互换使用并且泛指在数据中心之上运行或访问数据中心内的存储装置和计算设备位置的任何软件或软件部分。
57.当节点730支持不止一个单独的服务应用时,节点730可以被划分为虚拟机(例如,虚拟机752和虚拟机754)。物理机也可以同时运行单独的服务应用。虚拟机或物理机可以被配置为由云计算平台710中的资源760(例如,硬件资源和软件资源)支持的个性化计算环境。可以设想,资源可以被配置用于具体的服务应用。此外,每个服务应用可以被划分为功能部分,以使每个功能部分能够在单独的虚拟机上运行。在云计算平台710中,可以使用多个服务器在集群中运行服务应用和执行数据存储操作。特别地,服务器可以独立地执行数据操作,但被暴露为被称为集群的单个设备。集群中的每个服务器都可以实现为节点。
58.客户端设备780可以被链接到云计算平台710中的服务应用。客户端设备780可以是任何类型的计算设备,其可以对应于参考图7所描述的计算设备700,例如,客户端设备780可以被配置为向云计算平台710发出命令。在实施例中,通过虚拟互联网协议(ip)和负载平衡器或将通信请求定向到云计算平台710中指定端点的其他部件,客户端设备780可以与服务应用通信。云计算平台710的组件可以通过网络(未示出)彼此通信,网络可以包括但不限于一个或多个局域网(lan)和/或广域网(广域网)。
59.示例操作环境
60.已经简要描述了本发明的实施例的概述,下面描述可以在其中实现本发明的实施例的示例操作环境,以便为本发明的各个方面提供一般背景。特别地,首先参考图8,示出了用于实现本发明实施例的示例操作环境并且通常将其指定为计算设备800。计算设备800只是合适的计算环境的一个示例并且不旨在暗示对本发明的用途或功能的范围的任何限制。计算设备800也不应被解释为对所图示的任何一个组件或其组合具有任何依赖性或要求。
61.可以在计算机代码或机器可用指令的一般上下文中描述本发明,包括由计算机或诸如个人数据助理或其他手持设备之类的其他机器执行的计算机可执行指令,诸如程序模块。通常,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种各样的系统配置中实践,包括手持设备、消费电子产品、通用计算机、更专业的计算设备等。本发明也可以在分布式计算环境中实践,其中任务由通过通信网络连接的远程处理设备执行。
62.参考图8,计算设备800包括直接或间接耦合下列设备的总线810:存储器812、一个或多个处理器814、一个或多个呈现组件816、输入/输出端口818、输入/输出组件820、和说明性电源822。总线810表示什么可以是一个或多个总线(诸如地址总线、数据总线或其组合)。为了概念清楚起见,图8的各个框用线示出,并且还设想了所描述的组件和/或组件功能的其他布置。例如,人们可以将诸如显示设备的呈现组件视为i/o组件。此外,处理器具有存储器。我们认识到这是本领域的本质,并且重申图8的图表仅仅说明可结合本发明的一个或多个实施例使用的示例计算设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”的类别之间不做区分,因为所有设备都是在图8的范围内并参考“计算设备”来设想的。
63.计算设备800通常包括各种各样的计算机可读介质。计算机可读介质可以是可由计算设备800访问的任何可用介质并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
64.计算机存储介质包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd

rom、数字多功能磁盘(dvd)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可以用于存储所需信息并且可以由计算设备800访问的任何其他介质。计算机存储介质本身不包括信号。
65.通信介质通常包含诸如载波或其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“调制数据信号”是指一种信号,其具有以编码信号中的信息的方式进行设置或改变的一个或多个特性。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、rf、红外线和其他无线介质的无线介质。上述任何一种介质的组合也应包括在计算机可
读介质的范围内。
66.存储器812包括以易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的,或是二者的组合。示例性的硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备800包括从诸如存储器812或i/o组件820之类的各种实体读取数据的一个或多个处理器。(多个)呈现组件816向用户或其他设备呈现数据指示。示例性的呈现组件包括显示设备、扬声器、打印组件、振动组件等。
67.i/o端口818允许计算设备800逻辑耦合到包括i/o组件820的其他设备,其中一些可以是内置的。说明性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
68.结合本文所描述的技术方案环境,本文所描述的实施例支持本文所描述的技术方案。技术方案环境的组件可以是包括支持技术方案系统内的约束计算和/或约束查询功能的硬件架构和软件框架的集成组件。硬件架构是指物理组件及其相互关系,而软件框架是指提供可以用在设备上体现的硬件来实现的功能的软件。
69.端到端的基于软件的系统可以在系统组件内运行,以操作计算机硬件以提供系统功能。在低级别处,硬件处理器执行从机器语言(也称为机器代码或本机代码)指令集中针对给定处理器选择的指令。处理器识别本机指令并执行对应的低级别功能,低级别功能例如与逻辑、控制和存储器操作有关。用机器代码编写的低级别软件可以为更高级别软件提供更复杂的功能。如本文所用,计算机可执行指令包括任何软件,包括以机器代码编写的低级别软件、诸如应用软件之类的高级别软件,及其任何组合。在这方面,系统组件可以管理资源并为系统功能提供服务。可以设想本发明的实施例还由任何其他变化和组合。
70.举例来说,技术方案系统可以包括api库,api库包括例程、数据结构、对象类和可以支持设备的硬件架构和技术方案系统的软件框架之间交互的变量的规范。这些api包括用于技术方案系统的配置规范,以使其中的不同组件可以在技术方案系统中彼此通信,如本文所述。
71.已经确定了本文使用的各种组件,应当理解,可以采用任何数量的组件和布置来实现在本公开范围内的期望功能。例如,为了概念清楚起见,在图中描绘的实施例中的组件用线示出。也可以实现这些和其他组件的其他布置。例如,虽然一些组件被描绘为单个组件,但本文所描述的许多元件可以被实现为离散或分布式组件或与其他组件结合地实现,并且可以以任何合适的组合和位置来实现。一些元件可以完全省略。此外,在本文中描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行,如下所述。例如,各种功能可以由执行存储器中存储的指令的处理器来执行。因此,除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能分组)。
72.在以下段落中描述的实施例可以与一个或多个具体描述的备选方案进行组合。特别地,要求保护的实施例可以包含对多于一个的其他实施例的备选参考。要求保护的实施例可以指定对要求保护的主题的进一步限制。
73.本发明的实施例的主题在本文中被具体描述以满足法定要求。然而,描述本身并不旨在限制本专利的范围。相反,发明人已经考虑到,要求保护的主题也可以结合其他现有或未来的技术以其他方式体现,以包括与本文档中描述的步骤类似的不同步骤或步骤组合。此外,尽管术语“步骤”和/或“框”在本文中可以用于暗示所采用方法的不同元素,但这
些术语不应被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各个步骤的顺序。
74.出于本公开的目的,“包括”一词与“包含”一词具有相同的广泛含义,而单词“访问”包括“接收”、“引用”或“检索”。此外,单词“通信”与单词“接收”或“发射”具有相同的广泛含义,这些含义由使用本文所述的通信介质的基于软件或硬件的总线、接收机或发射机来促进。此外,除非另有相反说明,诸如“一”和“一个”之类的单词包括复数和单数。因此,例如,当存在一个或多个特征时,满足了“特征”的约束。此外,术语“或”包括连词、反意连接词、及其两者(因此,a或b包括a或b,以及a和b)。
75.为了以上详细讨论的目的,参考分布式计算环境描述了本发明的实施例;然而,本文所描述的分布式计算环境仅仅是示例性的。组件可以被配置为执行实施例的新颖方面,其中术语“被配置为”可以指“被编程为”使用代码来执行特定任务或实现特定抽象数据类型。此外,虽然本发明的实施例可以泛指本文所描述的技术方案环境和示意图,但是应当理解,所描述的技术可以扩展到其他实现上下文。
76.已经关于特定实施例描述了本发明的实施例,这些特定实施例在所有方面都是说明性的而不是限制性的。在不脱离本发明范围的情况下,备选实施例对于本发明所属领域的普通技术人员将变得显而易见。
77.从上述内容可以看出,本发明很好地适合实现上文的所有目的和目标以及其他显而易见且结构固有的优点。
78.应当理解,某些特征和子组合是有用的并且可以在不参考其他特征或子组合的情况下使用。这是可以想到的并且在权利要求的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献