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

变换的上下文知晓数据源管理制造技术

技术编号:8271254 阅读:136 留言:0更新日期:2013-01-31 03:25
本发明专利技术涉及变换的上下文知晓数据源管理。通过对多个数据源使用相同的源代码来辅助本地、群集和云执行之间的移植。源代码中所叙述的数据源标识符映射到不同执行目标处的数据源。使用分解API而不改变开发者的源代码,产生适合于连续目标的可执行代码。可编辑的数据源映射是按项目的,维护在文件或项目特性中,以及放置在具有可执行代码的可分发的软件包中。减少了开发者在他们的源代码中确定执行目标以及在源代码中显式地处理不同的执行位置的负担。源代码可不需要绝对路径数据源标识符或用于检测执行位置的代码。源到源转换注入创建文件夹、文件或云容器的调用。数据源分解可基于以数据源标识符为根的相对路径。

【技术实现步骤摘要】
用于管理数据源的方法和系统
本专利技术涉及数据源管理,尤其涉及将单个源代码与用于不同执行上下文的多个数据源相协调的工具和技术。
技术介绍
适合于在单个机器上运行的计算机程序有时可由开发者修改来改为在多个机器上运行,以便利用额外的处理能力和/或额外的存储器。例如,开发者可能想要采用原始被编写成在单个台式计算机上执行的程序,并使其改为在诸如计算群集或计算云之类的一组计算机上运行。更为一般地,开发者可能想要应用特定的处理逻辑来处理不同的数据源,并且不希望明示地将每个数据源指定为该逻辑的参数。计算群集是通过快速局域网或其他相对快的通信机制链接在一起的一组计算机。在从群集外查看时,群集内的计算机彼此协作就像单个功能强的计算机一样。计算云是可配置的计算资源(如服务器、存储、应用和软件服务)的共享的联网池。随着用户的计算需求的增长或收缩,云的资源可快速地对用户可用以及可被容易地释放。应用可由云服务器提供给浏览器,使得不需要应用的本地安装的客户机副本。群集和云的各种定义已被使用。出于当前讨论的目的,群集包括少于一千个处理核和/或驻留在单个建筑物内。相反,计算云包括一千或更多个核,和/或驻留在两个或更多个建筑物内。
技术实现思路
将程序从本地执行上下文移植到群集或云执行可涉及乏味的且易于出错的源代码改变,且更为具体地,可涉及修改程序中所使用的对数据源的引用的改变。对于开发者来说,针对极其不同的大小的数据集来运行程序是非常有挑战的。本文描述的某些实施例以给予对各种各样的数据集的访问的方式来增加程序的可移植性,如用多个可供选择的计算数据源自动管理单个源代码算法的方式。例如,在某些情形中,存在数据源映射,其中某一数据源标识符被映射到相应执行目标处的相当不同大小的多个数据源,如本地机器处的数百G字节对群集处的数T字节以及云中的数十或数百T字节。一实施例接收将数据源标识符叙述为数据源的源代码。在标识第一执行目标之后,该实施例从该源代码自动产生被适合于第一执行目标的第一可执行代码。也就是说,当在第一执行目标中执行时,该可执行代码将用第一执行目标的映射的数据源作为数据源标识符所标识的数据源来操作。在标识具有与第一执行目标不同的数据源的第二执行目标之后,该实施例自动地——从同一源代码——产生被适合于该第二执行目标的第二可执行代码。也就是说,当在第二执行目标中执行时,第二可执行代码将用第二执行目标的映射的数据源作为被标识的数据源,而不是使用第一执行目标的数据源来操作。如所述,这种移植是在不要求开发者编辑源代码的情况下来实现的。在某些实施例中,数据源映射被维护在文本配置文件中,而在某些实施例中,它是从非文本项目特性、项目头部或另一项目特定结构中读取的。在某些实施例中,数据源映射被放置在可分发的软件包中,从而便于可移植性,而不管包中的可执行代码当前支持哪些执行位置。一实施例可减少或消除开发者在源代码中确定执行目标以及在源代码中显式地处理不同的执行位置的负担。在某些实施例中,例如,源代码不需要绝对路径数据源标识符。一实施例可提供灵活性,以帮助开发者用一个机器本地的较小数据子集来快速地完成源代码迭代,然后针对云或群集上的更大数据来测试所选的程序迭代。某些实施例利用自动源到源转换机制来移植代码。移植数据源可不仅仅包含物理存储位置标识符串的替代。例如,在某些实施例中,从造成第一可执行代码的相同源代码生成第二可执行代码涉及源到源转换,该源到源转换注入不存在于开发者的源版本中的调用,如文件夹创建调用、云容器创建调用、或文件创建调用。其他映射可涉及数据库连接以及不仅仅是基于文件的存储,例如映射不同的数据库服务器,如本地、企业、云服务器、或开发服务器和生产服务器。诸如文件系统(如NTFSTM系统)和云存储(如AzureTM存储或其他云存储)之类的存储系统可具有不同的存储结构,且某些实施例提供了那些存储结构之间的映射(微软公司的标记)。从开发者的观点,某些实施例获得数据源映射,其中某一数据源标识符被映射到各相应执行目标处的多个数据源。然后,该实施例从数据源映射和源代码自动生成数据源分解,而不要求开发者对源代码的任何改变。不同数据源分解对应于不同的执行目标,如对应于使用通用资源标识符的某一云数据源,或某一群集数据源。执行目标可由开发者指定,或可按默认指定。在某些实施例中,数据源分解可基于以数据源标识符为根的相对路径。某些实施例将接受来自开发者的对数据源映射的修改。从架构的观点,某些实施例包括逻辑处理器和与逻辑处理器可操作地通信的存储器。数据源映射驻留在存储器中,并具有被映射到各相应的不同执行目标处的多个不同数据源的某一数据源标识符。数据源映射驻留或维持在例如文本配置文件、非文本项目特性、项目特定的结构、和/或用户特定的结构中。源代码也驻留在存储器中,且在源代码内数据源标识符被叙述为数据源。驻留在存储器中的可执行代码产生器具有指令,在执行时在不同时间从相同源代码自动产生多个不同的可执行代码,每个可执行代码引用这些数据源中的不同一个。在某些实施例中,源代码不需要用于检测执行位置的代码。在某些实施例中,源代码不需要绝对路径数据源标识符。某些实施例包括可执行代码产生器产生的可执行代码,该可执行代码包含源代码中不存在的注入的代码,例如文件夹创建调用、云容器创建调用、和/或文件创建调用。在某些实施例中,可执行代码产生器包括分解API。分解API包括指令,在由处理器执行时会将相对路径和执行目标分解成包含物理路径的数据源分解。在某些实施例中,可执行代码产生器包括源到源转换器。不同的实施例可采取一个或多个总体方法。在一个方法中,在本地机器上,源代码被转换成用于指定的执行目标的中间代码(IC)或可执行代码(EC)。然后,IC或EC被部署并运行在该可执行目标上。在第二方法中,源代码首先被部署到一执行目标上。为该执行目标设计的产生器当场转换该代码。在第三方法中,源代码被转换就好像数据相对于该代码是本地的。然后,当代码被部署到其中数据处于远程位置的一环境中时,预任务将首先下载该数据,使得代码可访问本地数据。所给出的示例只是说明性的。本
技术实现思路
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。相反地,提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本专利技术由权利要求书限定,在本
技术实现思路
与权利要求书有冲突的情况下,应该以权利要求书为准。附图说明将参考附图给出更具体的描述。这些附图只示出了选定的方面,且因此不完全确定覆盖或范围。图1是示出计算机系统并且还示出配置的存储介质实施例的框图,该计算机系统具有至少一个处理器、至少一个存储器、源代码以及一般将存在于多个网络节点上的操作环境中的其他项目;图2是示出一示例架构中的变换的上下文知晓数据源管理;以及图3是示出一些过程的步骤和配置的存储介质实施例的流程图。具体实施方式概览随着某些领域面对数据激增,利用对大型和各种各样的数据集进行更迅速且强大的处理,如在群集或云中的分布式处理,变得有益处。传统的桌面和其他单节点计算机具有相对有限的处理能力和容量来处理大量数据,因此更多的开发者和工程师希望使用来自不同源的更大的数据集来在群集或云上运行他们的桌面应用。例如,开发者可能想要使用小的数据子集在本文档来自技高网
...
变换的上下文知晓数据源管理

【技术保护点】
一种用于协作地管理源代码和多个可供选择的计算数据源的方法,所述方法包括以下步骤:获得数据源映射,在所述数据源映射中特定数据源标识符被映射到各相应执行目标处的多个数据源;接收将所述数据源标识符叙述为数据源的开发者源代码;标识第一执行目标;从所述开发者源代码自动产生第一可执行代码,所述第一可执行代码在所述第一执行目标中执行时将以所述第一执行目标的映射的数据源作为所述数据源标识符所标识的数据源来操作;标识具有与所述第一执行目标不同的数据源的第二执行目标;以及从相同的源代码自动产生第二可执行代码,所述第二可执行代码在所述第二执行目标中执行时将以所述第二执行目标的映射的数据源而不是以所述第一执行目标的数据源作为所标识的数据源来操作。

【技术特征摘要】
2011.09.07 US 13/226,6791.一种用于协作地管理源代码和多个可供选择的计算数据源的方法,所述方法包括以下步骤:获得数据源映射,在所述数据源映射中至少一个数据源标识符被映射到各相应执行目标处的多个数据源;接收将所述数据源标识符叙述为数据源的开发者源代码;标识第一执行目标;从所述开发者源代码和所述数据源映射自动产生第一可执行代码,所述第一可执行代码在所述第一执行目标中执行时将以所述第一执行目标的映射的数据源作为所述数据源标识符所标识的数据源来操作;标识具有与所述第一执行目标不同的数据源的第二执行目标;以及从相同的源代码和所述数据源映射自动产生第二可执行代码,所述第二可执行代码在所述第二执行目标中执行时将以所述第二执行目标的映射的数据源而不是以所述第一执行目标的数据源作为所标识的数据源来操作。2.如权利要求1所述的方法,其特征在于,执行目标标识步骤标识以下中的至少两个:本地执行目标、群集执行目标、云执行目标。3.如权利要求1所述的方法,其特征在于,从相同的源代码和所述数据源映射自动产生第二可执行代码的步骤包括执行将开发者源代码转换为中间源代码的源到源转换,所述源到源转换注入以下中的至少一个:文件夹创建调用、云容器创建调用、文件创建调用。4.一种供开发者使用的方法,所述方法包括以下步骤:获得数据源映射,在所述数据源映射中至少一个数据源标识符被映射到各相应执行目标处的多个数据源;以...

【专利技术属性】
技术研发人员:A·AC·察奥曹阳张蒲生
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1