【技术实现步骤摘要】
【国外来华专利技术】扩展字段专业化本专利技术由政府支持在NSF授予的补助号IIS0803229、CNS0938948和1318343下进行。政府对本专利技术享有一定的权利。
本专利技术通常涉及扩展到多个应用领域的字段专业化,并且更具体地涉及用于扩展字段专业化以将不变量的特定值超出应用源代码扩展到数据源本身的系统和方法。
技术介绍
数据库管理系统(DBMS)是管理数据的存储和访问的软件程序的集合。由于现在正在生成更大量的数据,因此数据必须进行存储并可高效地访问,所以在各种应用领域都采用了DBMS。在过去四十年中,由这种无处不在的部署所驱动,已经基于通常适用于这些领域的一些数据模型对DBMS进行了设计和工程化。关系数据模型是商业和开源DBMS最常采用的模型之一。已经投入了大量的精力来有效地支持这一数据模型。由于关系数据模型的通用性,关系数据库管理系统本身是通用的,因为它们可以处理用户指定的任何模式以及向其呈现的任何查询或修改。关系运算符基本上对任何关系都起作用,并且必须处理根据潜在关系的任何属性指定的谓词。通过诸如有效的索引结构、创新的并发控制机制和复杂的查询优化策略的创新,今天可用的关系DBMS是非常有效的。这种通用性和效率使得他们在许多领域扩散和应用。然而,这种通用性是通过多层的迂回和复杂的代码逻辑实现的。通过利用在执行此类系统期间存在的不变量值,可进一步提高DBMS的效率。开发字段专业化技术以自动识别不变量并基于不变量实现代码专业化。字段专业化是将spiff插入DBMS代码的过程,从而DBMS可在运行时自身专业化,从而利用运行时的不变量。代表字段专家的“spiff”是在DB ...
【技术保护点】
1.一种用于字段专业化扩展的计算机实现的方法,所述方法包括:从源代码和一个或多个工作负载接收输入;在执行所述一个或多个工作负载时识别所述源代码内的至少一个不变量;在接收所述至少一个识别的不变量的应用中动态地创建至少一个专家;执行所述至少一个专家进行专业化以产生至少一个专业化的代码;和将至少一个专业化的代码动态加载到接收至少一个识别的不变量的至少一个应用中。
【技术特征摘要】
【国外来华专利技术】2015.12.14 US 14/968,2961.一种用于字段专业化扩展的计算机实现的方法,所述方法包括:从源代码和一个或多个工作负载接收输入;在执行所述一个或多个工作负载时识别所述源代码内的至少一个不变量;在接收所述至少一个识别的不变量的应用中动态地创建至少一个专家;执行所述至少一个专家进行专业化以产生至少一个专业化的代码;和将至少一个专业化的代码动态加载到接收至少一个识别的不变量的至少一个应用中。2.如权利要求1所述的计算机实现的方法,其中,所述计算机实现的方法还包括:通过数据如何从一个应用传输到另一个应用的生态系统规范指定跨应用值流。3.如权利要求2所述的计算机实现的方法,其中所述生态系统规范通过利用扩展所述值流的方式注释多个连接路径来指定跨应用值流。4.根据权利要求2或权利要求3所述的计算机实现的方法,其中,所述计算机实现的方法还包括扩展应用间分析以理解所述跨应用值流的语义以及组合单个应用内的值流以计算跨应用值流,并且其中优选地实施所述应用间分析,以确定所述至少一个识别的不变量可以被最佳实例化的位置。5.根据权利要求1所述的计算机实现的方法,其中所述计算机实现的方法还包括验证所识别的至少一个不变量源自一个应用并终止于一个不同应用的专业化机会中的可能性,和/或其中计算机实现的方法还包括识别来自外部数据或外部应用的不变量,和/或其中所述计算机实现的方法进一步包括决定何时对位于一个应用中的专家执行专业化,该应用与包含至少一个识别的不变量的应用分开,和/或其中动态加载所述至少一个专业化的代码包括与所述至少一个专家正在执行的应用分开地存储所述至少一个专业化的代码。6.一种包括计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由计算设备的处理器执行时使所述计算设备:从应用接收应用代码和一个或多个工作负载;识别所述应用代码和所述一个或多个工作负载代码内的至少一个不变量;在接收至少一个识别的不变量的应用中动态地创建至少一个专家;执行所述至少一个专家进行专业化,以产生至少一个专业化的代码;和输出至少一个专业化的代码。7.根据权利要求6所述的非暂时性计算机可读介质,其中所述字段专业化扩展模块进一步配置为通过数据如何从一个应用传输到另一个应用的生态系统规范指定跨应用值流,和/或其中所述字段专业化扩展模块进一步被配置为扩展应用间分析以理解跨应用程序值流的语义并组合单个应用内的值流以计算跨应用值流,其中优选地实施所述应用间分析,以确定所述至少一个识别的不变量可以被最佳实例化的位置;和/或其中所述字段专业化扩展模块还被配置为验证所识别的至少一个不变量源自应用并终止于一个不用应用的专业化机会中的可能性;和/或其中所述字段专业化扩展模块进一步被配置为识别来自外部数据或外部应用的不变量;和/或其中所述字段专业化扩展模块进一步被配置为决定何时对位于一个应用中的专家执行专业化,该应用与包含至少一个识别的不变量的应用分开;和/或其中至少一个专业化的代码与所述至少一个专家正在执行的应用分开地存储;和/或其中至少一个专业化的代码被动态加载到接收至少一个识别的不变量的至少一个应用中。8.一种用于字段专业化扩展的方法,所述方法包括:识别始发应用内的至少一个不变量的值;基于所识别的值在所述始发应用内创建目标应用的一部分的专业化的代码版本;将专业化的代码传递给目标应用;和调用目标应用中的专业化的代码。9.根据权利要求8所述的用于字段专业化扩展的方法,其...
【专利技术属性】
技术研发人员:理查德·T·斯诺德格拉斯,索木亚·K·德布雷,张瑞,刘洋,
申请(专利权)人:数据仓库投资有限公司,代表亚利桑那大学的亚利桑那董事会,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。