当前位置: 首页 > 专利查询>SAP欧洲公司专利>正文

通过进程内操作系统的扩展应用机制技术方案

技术编号:25947482 阅读:19 留言:0更新日期:2020-10-17 03:39
本公开涉及用于提供扩展应用机制的计算机实施的方法、软件和系统。为虚拟环境分配存储器以在应用地址空间中运行,该应用将以安全的方式用扩展逻辑进行扩展。虚拟环境被配置为运行与应用的扩展功能相关的命令。在虚拟环境中初始化用于运行与应用的扩展功能相关的命令中的命令的虚拟处理器。虚拟处理器可操作来管理一个或多个客户操作系统(OS)。将第一客户机OS加载到分配的存储器中,并将扩展功能的应用逻辑复制到分配的存储器中。启动虚拟环境以在分配的存储器中运行第一客户机OS和与应用的相关联的数据相关的扩展功能的应用逻辑。

【技术实现步骤摘要】
通过进程内操作系统的扩展应用机制
本公开涉及通过在应用地址空间处的虚拟环境中运行扩展应用逻辑来以安全的方式扩展应用功能的计算机实施的方法、软件和系统。
技术介绍
软件复杂性正在增加,并引起交付软件应用和平台系统的软件产品周期、需求和可能性发生变化。客户的需求正在转变成要求在进程、环境(landscape)和软件组件方面的灵活性。新的软件应用的开发经常依赖于现有的、先前开发的功能,或者依赖于软件应用之间的集成,以执行更复杂的用例。在许多情况下,软件组件或整个应用被提供给客户、合作伙伴、开发人员、顾问或其他最终用户的重用。例如,软件平台可以提供可扩展的功能,并且因此可以在它们之上构建新的应用。应用可以作为软件即服务(Software-as-a-Service,SaaS)解决方案运行,并在最终用户(例如客户)请求时提供各种服务。以这种方式,按需应用的客户无需购买和维护运行应用所需的硬件和软件。云应用可以实施为在不同的场景中为最终用户提供功能的一组应用服务。
技术实现思路
本公开涉及系统、软件和计算机实施的方法,用于通过在应用地址空间中的分配的存储器处的虚拟环境中运行扩展应用逻辑来以安全的方式扩展应用的功能。一种示例方法可以包括诸如以下的操作:为虚拟环境分配存储器以在应用地址空间中运行,其中虚拟环境被配置为运行与应用的扩展功能相关的命令;初始化虚拟处理器,以在虚拟环境中运行来自该命令的命令,虚拟处理器可操作来管理一个或多个客户操作系统(OS);加载一个或多个客户机OS中的第一客户机OS,该第一客户机OS被加载在分配的存储器中并且将扩展功能的应用逻辑复制到分配的存储器中;以及启动虚拟环境以在分配的存储器中运行第一客户机OS和与应用的相关联的数据相关的扩展功能的应用逻辑。实施方式可以可选地包括以下一个或多个特征。在一些情况下,管理程序被提供为与和所述扩展功能的运行相关的应用相接口的编译库,管理程序与一个或多个客户机OS以及扩展功能的应用逻辑相关联。此外,这些和其他实施方式还可以可选地包括:启动应用以在主机系统处运行命令;在应用运行期间识别与应用的扩展功能相关的命令;以及响应于确定虚拟处理器将被初始化以运行命令,初始化虚拟处理器以运行命令。此外,这些和其他实施方式还可以可选地包括:将与扩展功能相关的应用数据作为只读数据提供到虚拟环境的存储器中;以及基于存储在存储器内的应用数据在虚拟环境中运行命令;以及响应于完成命令的运行,停止虚拟环境以释放存储器。在某些情况下,管理程序管理包括一个或多个虚拟机及其对应的虚拟处理器的虚拟环境。此外,这些和其他实施方式可以可选地包括管理程序管理的虚拟环境中包括的虚拟处理器被初始化,并且初始化包括为虚拟处理器建立寄存器。此外,这些和其他实施方式可以可选地包括客户机OS包括运行命令和应用的扩展功能所需的最小可行代码,并且其中客户机OS被编译为库并与扩展功能链接。此外,这些和其他实施方式可以可选地包括:响应于识别到要运行的命令,创建用于在虚拟环境中运行该命令的第一线程;以及响应于识别到第二命令,创建与第一线程分离的第二线程,该第二线程在虚拟环境中与第一线程并行运行。类似的操作和过程可以在包括至少一个处理和通信地耦合到该至少一个处理器的存储器的系统中执行,其中存储器存储当被运行时使得该至少一个处理器执行这些操作的指令。此外,还可以考虑存储指令的非暂时性计算机可读介质,当指令被运行时,使得至少一个处理器执行这些操作。换句话说,虽然通常被描述为体现在有形的非暂时性介质上的计算机实施的处理和转换相应的数据的软件,但是一些或所有方面可以是计算机实施的方法,或者进一步包括在相应的系统或其他设备中,用于执行所描述的功能。本公开的这些以及其他方面和实施例的细节在附图和以下描述中阐述。从说明书和附图以及权利要求书中,本公开的其他特征、目的和优点将变得显而易见。附图说明图1示出了可用于运行本公开的实施方式的示例计算机系统架构。图2是根据本公开的实施方式的用于在应用地址空间处的分配的存储器中运行的虚拟环境中运行扩展应用逻辑的示例方法的流程图。图3是根据本公开的实施方式的提供了与管理程序提供的扩展功能相关联的应用的主机系统的示例计算机系统架构的框图。图4是根据本公开的实施方式的用于运行与扩展功能相关联的应用的示例方法的流程图,该扩展功能是基于存储器内的应用数据在虚拟环境中以安全的方式运行的。具体实施方式本公开描述了各种工具和技术,用于通过在应用地址空间中的分配的存储器处的虚拟环境中运行扩展应用逻辑来以安全的方式扩展应用的功能。软件应用可以使用定制代码来扩展其功能,并提供在该定制代码中实施的附加服务和功能。例如,数据库系统可以由用户(例如开发人员)扩展,具有统计分析功能。诸如统计分析功能的附加功能可以由不同于数据库系统的软件提供商提供,或者由相同的提供商提供,但是作为单独的软件组件。以这种方式,扩展数据库系统可以服务于与对数据库内的数据执行统计分析相关联的请求。然而,在应用的现有二进制文件中使用定制代码可能会与对运行该应用的宿主系统的性能、可靠性和稳定性产生的不利影响相关联。扩展具有定制功能的应用程序或系统有不同的方式。在某些情况下,当必须扩展应用时,可能会在应用中重建功能。在数据库系统的示例中,外部统计分析功能可能被重建为数据库中的结构化查询语言(StructuredQueryLanguage,SQL)功能。在另一种情况下,可以从系统中提取与外部定制功能相关联的数据。在外部环境中,定制逻辑可以作为单独的系统来运行,以保持应用的整个数据的完整性,然后外部处理的数据和结果可以被重新插入到应用的宿主系统中。在又一情况中,可能改变(例如重写)整个应用的代码,并将新的功能添加到预先存在的代码或其修改的行中。在这种情况下,改变后的代码可能会被重新编译为具有扩展功能的新的二进制文件。在一些情况下,使用上述方法之一用定制代码扩展应用的功能可能与有限的表达能力、对编程语言(例如,SQL)的限制、由于可能需要多个附加处理步骤而降低的性能、源代码(例如,扩展定制代码)的不可用性相关联。本文描述的本解决方案试图克服这些限制,并提供一种解决方案,该解决方案可以包括基于具有与扩展功能相关的全功能程序语言表达能力的技术而定义的扩展功能。本文描述的本解决方案提供了在虚拟环境中运行扩展功能,该虚拟环境在应用地址空间的分配的存储器中运行。应用可以被配置为启动虚拟环境来运行与扩展功能相关联的应用的命令。根据本公开的实施方式,可以通过重新编译具有在虚拟环境中运行命令的能力的应用的现有二进制文件来用定制功能扩展应用。以这种方式,可运行应用可以链接到管理程序库。管理程序库可以提供用于在由管理程序管理的虚拟环境中运行扩展应用逻辑的扩展功能。管理程序可以是在主机系统上运行并管理多个虚拟机(VirtualMachine,VM)的软件,这些虚拟机提供虚拟处理器资源并与分配的存储器相关联。虚拟环境可以在宿主系统上的应用地址空间内发起。管理程序可以仿真将在虚拟环境本文档来自技高网...

【技术保护点】
1.一种计算机实施的方法,包括:/n为虚拟环境分配存储器以在应用地址空间中运行,其中所述虚拟环境被配置为运行与应用的扩展功能相关的命令;/n初始化虚拟处理器,以在虚拟环境中运行所述命令中的第一命令,所述虚拟处理器可操作来管理一个或多个客户操作系统(OS);/n加载所述一个或多个客户机OS中的第一客户机OS,所述第一客户机OS被加载在分配的存储器中,并且将所述扩展功能的应用逻辑复制到所述分配的存储器中;以及/n启动虚拟环境以在所述分配的存储器中运行第一客户机OS和与应用的相关联的数据相关的扩展功能的应用逻辑。/n

【技术特征摘要】
20190403 US 16/373,8591.一种计算机实施的方法,包括:
为虚拟环境分配存储器以在应用地址空间中运行,其中所述虚拟环境被配置为运行与应用的扩展功能相关的命令;
初始化虚拟处理器,以在虚拟环境中运行所述命令中的第一命令,所述虚拟处理器可操作来管理一个或多个客户操作系统(OS);
加载所述一个或多个客户机OS中的第一客户机OS,所述第一客户机OS被加载在分配的存储器中,并且将所述扩展功能的应用逻辑复制到所述分配的存储器中;以及
启动虚拟环境以在所述分配的存储器中运行第一客户机OS和与应用的相关联的数据相关的扩展功能的应用逻辑。


2.根据权利要求1所述的计算机实施的方法,还包括:
将管理程序提供为与和所述扩展功能的运行相关的应用相接口的编译库,所述管理程序与所述一个或多个客户机OS和所述扩展功能的应用逻辑相关联。


3.根据权利要求1所述的计算机实施的方法,还包括:
启动应用以在主机系统处运行所述命令;
在应用运行期间识别所述第一命令,所述第一命令与应用的扩展功能相关;以及
响应于确定所述虚拟处理器将被初始化以运行所述第一命令,初始化所述虚拟处理器以运行所述第一命令。


4.根据权利要求1所述的计算机实施的方法,还包括:
将与所述扩展功能相关的应用数据作为只读数据提供到虚拟环境的存储器中;
基于存储在存储器内的应用数据在虚拟环境中运行所述第一命令;以及
响应于完成所述第一命令的运行,停止虚拟环境以释放存储器。


5.根据权利要求1所述的计算机实施的方法,其中管理程序管理包括一个或多个虚拟机及其对应的虚拟处理器的虚拟环境。


6.根据权利要求5所述的计算机实施的方法,其中初始化虚拟处理器包括为虚拟处理器建立寄存器。


7.根据权利要求1所述的计算机实施的方法,其中所述客户机OS包括运行所述第一命令和所述应用的扩展功能所需的最小可行代码,并且其中所述客户机OS被编译为库并与所述扩展功能链接。


8.根据权利要求1所述的计算机实施的方法,还包括:
响应于识别到要运行的所述第一命令,创建用于在虚拟环境中运行所述第一命令的第一线程;以及
响应于识别到第二命令,创建与所述第一线程分离的第二线程,所述第二线程用于在虚拟环境中与所述第一线程并行运行。


9.一种存储计算机可读指令的非暂时性计算机可读介质,所述计算机可读指令可由计算机运行并被配置为:
为虚拟环境分配存储器以在应用地址空间中运行,其中所述虚拟环境被配置为运行与应用的扩展功能相关的命令;
初始化虚拟处理器,以在虚拟环境中运行所述命令中的第一命令,所述虚拟处理器可操作来管理一个或多个客户操作系统(OS);
加载所述一个或多个客户机OS中的第一客户机OS,所述第一客户机OS被加载在分配的存储器中,并且将所述扩展功能的应用逻辑复制到所述分配的存储器中;以及
启动虚拟环境以在所述分配的存储器中运行第一客户机OS和与应用的相关联的数据相关的扩展功能的应用逻辑。


10.根据权利要求9所述的计算机可读介质,进一步存储被配置为执行以下的指令:
将管理程序提供为与和所述扩展功能的运行相关的应用相接口的编译库,所述管理程序与所述一个或多个客户机OS和所述扩展功能的应用逻辑相关联。


11.根据权利要求10所述的计算机可读介质,进一步存储被配置为执行以下的指令:
启动应用以在主机系统处运行所述命令;
在应用运行期间识别所述第一命令,所述第一命令与应用的扩展功能相关;以及...

【专利技术属性】
技术研发人员:M克罗尔L格里克M珀沙伊德A勃姆
申请(专利权)人:SAP欧洲公司
类型:发明
国别省市:德国;DE

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

1