CN106066812B - 用于管理计算资源的方法和系统 - Google Patents

用于管理计算资源的方法和系统 Download PDF

Info

Publication number
CN106066812B
CN106066812B CN201610248085.4A CN201610248085A CN106066812B CN 106066812 B CN106066812 B CN 106066812B CN 201610248085 A CN201610248085 A CN 201610248085A CN 106066812 B CN106066812 B CN 106066812B
Authority
CN
China
Prior art keywords
resource
cob
application
data group
mtcob
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610248085.4A
Other languages
English (en)
Other versions
CN106066812A (zh
Inventor
R.P.科尼克
R.A.米特尔施泰特
B.R.穆拉斯
C.A.奥尔斯塔德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN106066812A publication Critical patent/CN106066812A/zh
Application granted granted Critical
Publication of CN106066812B publication Critical patent/CN106066812B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的方面针对管理计算资源。管理计算资源可以包括:在计算机系统中初始化应用,该应用对应于一个或多个提交签名,所述一个或多个提交签名的每一个对应于所述应用中的事务;以及确定一个或多个提交签名中的提交签名被保存在提交块(COB)中。管理计算资源可以包括响应于确定所述提交签名被保存在所述COB中,从所述COB取回对应于所述提交签名的第一资源数据组,所述第一资源数据组包含对应于所述应用的资源用量的信息并且基于所述第一资源数据组分配所述计算机系统可访问的资源。

Description

用于管理计算资源的方法和系统
技术领域
本公开涉及数据处理,并且更具体地涉及用于管理计算资源的性能分 析。
背景技术
数据库管理系统(DBMS)是计算机软件应用,该计算机软件应用可以 与终端用户、应用或数据库(DB)交互以捕捉并且分析数据。通用DBMS 被设计为允许数据库的定义、创建、查询、更新和监管。终端用户可以是软 件应用的任何用户,例如在线购买商品的某个人将是终端用户并且在线提起 支付的过程可以是应用。DBMS可以用作数据库和应用程序之间的接口以辅 助组织数据,使得其保持易于访问。
发明内容
本公开的实施例针对一种用于管理计算资源的方法。在实施例中,所述 方法可以包括在计算机系统中初始化对应于一个或多个提交签名的应用。在 实施例中,所述一个或多个提交(commit)签名的每一个对应于应用中的事 务。在实施例中,所述方法可以包括确定一个或多个提交签名中的提交签名 保存在提交块(COB)中。在实施例中,所述方法可以包括响应于确定所述 提交签名被保存在所述COB中,从所述COB取回对应于所述提交签名的第 一资源数据组,所述第一资源数据组包含用于对应于所述应用的资源用量 (usage)的信息。在实施例中,所述方法可以包括基于所述第一资源数据组 分配所述计算机系统可访问的资源。
本公开的方面针对一种用于管理计算资源的系统。在实施例中,所述系 统可以包括处理器和在其中实现程序指令的计算机可读存储介质。在实施例 中,所述程序指令可由处理器执行以使得系统在计算机系统中初始化对应于 一个或多个提交签名的应用。在实施例中,所述一个或多个提交签名的每一 个对应于应用中的事务。在实施例中,所述程序指令可以使得系统确定所述 一个或多个提交签名没有被保存在提交块(COB)中。在实施例中,所述程 序指令可以使得系统响应于确定所述提交签名没有被保存在所述COB中, 通过保存所述一个或多个提交签名产生资源数据组。在实施例中,该资源数 据组包含采用一个或多个提交签名的形式的、用于分配对应于应用的资源的 信息。在实施例中,所述程序指令可以使得系统在所述COB中保存所述资 源数据组,所述资源数据组对应于所述一个或多个提交签名。
本公开的方面针对用于管理计算资源的计算机程序产品,计算机程序产 品包括在其上实现程序指令的计算机可读存储介质,其中计算机可读存储介 质不是瞬时信号本身,并且程序指令可由计算机执行以进行方法。在实施例 中,所述方法可以包括在计算机系统中初始化对应于一个或多个提交签名的 应用。在实施例中,所述方法可以包括确定一个或多个提交签名没有被保存 在提交块(COB)中。在实施例中,所述方法可以包括响应于确定所述提交 签名没有被保存在所述COB中,通过保存所述一个或多个提交签名产生资源数据组。在实施例中,该资源数据组可以包含采用一个或多个提交签名的 形式的、用于分配对应于所述应用的资源的信息。在实施例中,所述方法可 以包括在COB中保存该资源数据组,所述资源数据组对应于所述一个或多 个提交签名。
以上发明内容不意欲描述本公开的每个示出的实施例或者每一个实现 方式。
附图说明
本申请中包含的附图被结合在说明书中并且形成说明书的一部分。它们 示出了本公开的实施例并且与说明书一起用于解释本公开的原理。附图仅是 说明某些实施例并且不限制本公开。
图1示出了根据各种实施例的基于对应于应用的COB分配系统资源的 方法的流程图。
图2示出了根据各种实施例的基于系统资源用量保存对应于应用的 COB的方法的流程图。
图3示出了根据各种实施例的COB池的图。
图4示出了根据各种实施例的用于基于环境的位置监控的系统的框图。
图5描述了根据本发明的实施例的云计算节点。
图6描述了根据本发明的实施例的云计算环境。
图7描述了根据本发明的实施例的抽象模型层。
尽管本发明可以修改为各种修改以及替换形式,在附图中已经以示例的 方式示出了其细节并且将在这里详细地描述。但应理解的是,意图不是要将 本发明限制到所述的特定实施例。相反,意图是覆盖落入本发明的精神和范 围中的所有修改、等同物和替换。
具体实施方式
本公开的方面涉及数据处理,更具体的方面涉及用于管理计算资源的性 能分析。尽管本公开不一定限于这样的应用,但是可以通过使用本上下文讨 论各种示例来理解本公开的各种方面。
当初始化应用时,计算机系统可以使用计算机资源以便允许应用被成功 地运行。关于由计算机系统使用的资源的信息可以存储在数据库管理系统 (DBMS)中。有时为了应用成功地运行而需要的资源不可用,并且可用资 源的缺乏可能延迟应用的运行或者在单独的应用之前产生资源竞争。该延迟 或资源竞争可能浪费系统资源和能量。
在实施例中,应用是被设计用于终端用户在计算装置上进行特定任务的 计算机程序,该计算装置例如为移动装置、平板或计算机系统。在实施例中, 应用可以包括采用指令集的形式的一个或多个事务,该指令集被编写用于执 行装置内的特定任务。可以在应用中的各个点处提交这些事务。在实施例中, 提交一个或多个事务可以产生这里进一步描述的提交签名。
在实施例中,为使应用运行,它们需要计算机系统中的资源。在实施例 中,资源是计算机系统中的具有有限可用性的一个或多个物理或虚拟组件。 资源可以包括网络连接、存储器、处理功率、文件空间、数据库文件和其它 计算机资源。例如,为了完成在线请求,应用可能需要特定量的存储器、DB 文件或处理功率。如果资源不可用,应用可能被延迟直到资源变为可用。在 实施例中,可用资源的缺乏可能引起在资源被夺走的应用之间的资源竞争。 计算机资源可能是有限的。计算机资源可能是不可用的,因为存在太多并行 运行的需要比计算机系统中可用的更多的资源的应用。通过在计算机系统中 分配资源,一个或多个事务可以完成指令集。
在实施例中,诸如虚拟机(VM)的计算机可以取决于它们完成应用的 需要而具有分配给它们的资源。如果计算机系统不具有足够的资源以完成应 用,计算机系统可以分配计算资源以完成应用。在实施例中,可以通过准备 一旦应用已经被初始化就完成应用所必需的资源,减少应用延迟或应用之间 的资源竞争。在实施例中,初始化是执行应用的起始过程。例如,初始化包 括分配与应用相关联的数据对象的初始值,并且创建足以运行应用的文件空 间。例如,初始化应用可以响应于终端用户完成在线请求,例如进行在线支 付、登陆到社交网络中或在装置上保存文件,而发生。
在实施例中,一个或多个事务的完成由计算机系统的数据库(DB)中 的一个或多个改变来表示。例如,所述一个或多个改变可以包括针对DB的 单位工作。在实施例中,单位工作可以是每单位时间使用的处理功率。例如, 一个或多个改变可以是可用的存储器、处理功率或文件空间的量的改变。可 以通过DBMS在执行应用的过程期间发出DB提交而在DB中更新一个或多 个改变。在实施例中,执行是计算机或虚拟机借以运行用于应用的指令集的 过程。在实施例中,执行可以以初始化应用开始,并且继续到应用结束为止。 在实施例中,DB中的改变可以以DB提交的形式被记录,该DB提交写入 包含对DB的改变的信息。例如,DB提交可以在一个或多个事务的完成之 后发出。在实施例中,包括在DB提交中的信息可以包括允许一个或多个事 务运行的计算机系统使用的一个或多个资源。在实施例中,针对数据库的单 位工作可以是每单位时间使用的存储器。
当初始化应用时,应用可以打开可为一个或多个DB提交操作保留的 DB文件。通过当完成应用时发出DB提交,保留的DB文件可以被填充可 以包含在DB提交中的相应的数据。记录到DB的信息可以是关于由计算机 系统在应用期间使用的资源的信息。例如,所述信息可以包括使用的存储器、 使用的处理功率量以及使用的文件空间。在实施例中,一旦应用完成(例如, 一旦不使用与应用相关联的更多资源),DB提交用在事务期间使用过的一个或多个资源的报告更新数据库。相应地,计算机系统可以基于包含在DB提 交中的资源信息将资源分配到应用以便减少资源竞争。
现在转到图1,可以看到根据各种实施例的基于应用资源历史管理资源 的方法100的流程图。在实施例中,方法100可以包括,在操作110中,初 始化应用。在实施例中,可以在看到对应用的引用、DB提交的开始以及程 序或文件中的特定行号时由DBMS实现初始化应用。在实施例中,初始化 应用也可以由终端用户实现。在实施例中,初始化应用可以经由计算机系统 实现。在实施例中,在初始化应用之后,操作110可以继续到决定块120。
在实施例中,决定块120可以包括在初始化应用之后确定应用是否具有 相应的提交块(COB)。在实施例中,COB是可以在计算机库(library)中 创建的永久对象,计算机库可以是DB。计算机库可以是计算机程序可以用 以执行应用的预编译的例程的集合。例程——有时被称为模块——可以以对 象格式存储。库对于存储常用的例程可以是有益的,因为人们可以不需要明 确地将它们链接到使用它们的每一个程序。例如,例程可以与用于执行应用 或事务的指令有关。在实施例中,库可以被用于系统日志记录(journaling), 以及保留来自失败的事务的数据。在实施例中,系统日志记录可以保持与计 算机系统的DB的数据区域相关联的活动的记录(log)或日志(journal), 所述数据区域例如为与为了完成应用而使用的资源相关联的DB的区域。在 实施例中,可以以提交签名的形式取回与为了完成应用而使用的资源相关联 的DB中的区域。
在实施例中,提交签名是DB提交已经发出并且所述改变已经被成功地 记录在DB中的验证。在实施例中,提交签名可以包括对应于并且在内容上 基本类似于包含在DB更新中的信息的资源历史。例如,提交签名可以包含 对应于允许应用运行所需要的资源以及为了发出DB提交所需要的资源的资 源历史。例如,应用可以具有多个提交块并且每一个可以具有差异资源要求。 提交签名还可以包含对应于允许DB提交将信息记录到DB所需要的资源的 资源历史。例如,如果DB提交将诸如由计算机系统使用的用于运行应用的 存储器的量的信息记录到DB,则提交签名可以包括由计算机系统使用的用 于运行应用的存储器的量。提交签名可以包含使用的一个或多个特定资源 (在应用期间,例如存储器、处理功率)的资源历史。例如,第一提交签名 可以包含关于用于运行应用的存储器的量的信息,而第二提交签名可以包含 关于计算机系统用于运行应用所需要的处理功率的量的信息,而另外第三提 交签名可以具有针对它的多个资源用量(例如处理功率、随机存取存储器 (RAM)用量、表空间或文件空间增加需求等)。所以对于提交的每个DB 更新,可以存在相应的提交签名。在一些实例中,各种应用将具有一个或多 个事务并且然后在应用结束时发出数据库(DB)提交,从而具有提交的数 千或者甚至数百万的DB更新。
在实施例中,当进行提交操作时,COB可以以存储提交签名的形式记 录一个或多个DB提交操作。如这里所讨论的,这些COB可以使用COB池 化(pooling)来保存以用于在未来运行应用。用于管理资源的方法可以包括 存储包含在DB提交操作中的资源历史。在实施例中,提交块COB可以通 过保存与提交操作相关联的提交签名来存储关于一个或多个提交操作的资 源历史。在实施例中,COB是对应于一个或多个应用的一个或多个提交签 名的有组织的列表。例如,在实施例中,COB可以保持当完成应用时进行 的DB提交操作的记录。因此,COB可以包含由计算机系统使用以便成功地 运行应用的资源的资源历史。
如果应用不具有相关联的COB,应用可能之前还没有被计算机系统初 始化。如果应用具有相关联的COB,应用可能已经由计算机系统初始化。 如果应用具有相关联的COB,关联到该应用的COB可能已经由另外的计算 机系统初始化,并且COB的副本可能已经被传递到所述计算机系统。在实 施例中,在确定应用是否包含相关联的COB之后,操作可以继续到操作130。 在实施例中,如果应用不包含相关联的COB,决定块120可以继续到操作 160。
在实施例中,提交签名可以基于程序名称,并且常常基于程序或者程序 堆栈的偏移。可以基于程序名称而识别或者获得COB。在实施例中,COB 可以与程序分开存储。例如,COB可以存储在计算机系统中。在一些实施 例中,COB可以存储在程序对象中。在一些实施例中,可以通过查询计划 (访问计划)指向COB。例如,COB可以存储在事务的初始查询中。在一 些实施例中,指针可以在事务的开始处或接近事务的开始处被插入到程序对 象中,并且指针指向可以创建、存储以及访问COB的存储器位置。在实施 例中,COB可以被附加到作业。在实施例中,COB也可以被附加到执行的 线程。执行的线程是可以由作业调度器独立地管理的被编程的指令的最小的 序列。作业调度器可以是操作系统的一部分。
在实施例中,操作130可以包括识别关于应用的特定COB。在实施例 中,操作130可以包括在COB池中搜索COB。在实施例中,COB可以附加 到应用或保存在COB池中。在实施例中,当初始化具有附加的COB(可能 来自不同的用户或作业)的应用时,计算机系统可以识别存储在COB中的 资源历史。数据库然后可以使用该资源历史来准备对应于应用的一个或多个 操作,并且计算机系统可以根据资源历史分配计算资源。在实施例中,例如, 一旦应用被初始化,如果应用不具有附加的COB,计算机系统可以在COB 池中搜索与应用相关联的COB。
在实施例中,COB池是采用有组织的列表的形式的一个或多个COB的 集合的电子表示。在实施例中,计算机系统可以在COB池中存储COB而不 必连续地创建和破坏用于给定的日志的COB。例如,COB池化可以通过组 织关于应用的文件使得可以由计算机系统快速地取回文件而减少库中的竞 争。这对于在运行应用之前分配应用所需要的资源可能是有益的。如果在计 算机系统运行应用之前分配计算资源,计算机系统可能不需要与其它应用争夺资源。在已经成功地提交应用之后,与应用相关联的COB可以存储在COB 池中。在实施例中,COB池中的COB可以具有保留在其中的资源历史以允 许辨识对应于应用的给定的提交签名(诸如程序名称、作业名称等)的方式。 计算机系统可以识别位于COB池中的COB中的一个或多个提交签名。在识 别的COB中的资源历史可以投入使用以根据资源历史预先分配资源。
在实施例中,COB可以仅与一个应用相关联,因此,COB可以具有对 应于一个应用的提交签名。在实施例中,当应用在提交下打开DB文件时, 如果应用不具有附加在DB文件被发送到的日志中的COB,计算机系统可以 在COB池中查找COB。如果COB不在COB池中,新的COB可以被创建 并且添加到与DB文件相关联的日志。在实施例中,在识别COB签名之后, 操作130可以继续到操作140。
在操作140中,所述方法可以包括取回对应于应用的第一资源数据组。 在实施例中,第一资源数据组是采用数据的形式存储在一个或多个提交签名 中的资源历史的电子表示,所述一个或多个提交签名对应于应用。例如,资 源历史除了其它的以外可以包括由计算机系统在之前使用以成功地执行应 用的一个或多个资源。例如,第一资源数据组可以包括存储器、处理功率、 计算机系统是否使用了一个或多个特定网络、或之前由计算机系统使用以便 成功地完成应用的文件空间。在实施例中,第一资源数据组可以包括关于应用的统计信息。例如,统计信息可以是关于由计算机系统使用的资源的定量 信息。在实施例中,度量可以被包含在统计信息中以将事务信息与可期待的 相比较。该度量可以是在文档或者DB中受事务影响的行的数量和大小。例 如,如果在事务完成之后插入到DB中的行的数量为10000行并且插入到DB中的行的平均数量为4000行,则可以将用于事务的历史资源信息保存在 计算机系统中。
在实施例中,统计信息除了其它的以外可以包括应用已经被执行的次 数、应用的运行时间以及每个资源何时被使用。在实施例中,通过跟踪每个 资源何时被使用,资源可以由计算机系统在执行应用时根据对它们的需求而 被分配。例如,与在运行应用之前使所有必要的资源可用相反,可以在计算 机系统需要资源时使所述资源可用。例如,如果处理功率通过应用中途必须 加倍,则与使两个单位的处理功率从头到尾都可用相反,可以在应用的开始 使一个单位的处理功率可用,然后可以在必要时使再一个单位的处理功率可用。
在实施例中,使用包含在COB中的统计信息以及文件中的删除的记录 的数量,计算机系统可以确定当将行插入到DB中时是否规避删除的处理文 件。例如,当以某个次序取回记录有关系时,计算机系统可以智能地决定在 上一个有日期的记录之后而不是在被删除的记录的位置处添加新的记录。
在一些实例中,执行更新DB中的文件并且将数据插入到存储库文件中 的应用,导致执行计算机系统中的数以百万计的操作。存储库文件是可以被 用于数据的存储或安全保管的文件。存储库文件可以被用于存储信息,例如 响应于运行应用而收集的资源信息。在实施例中,存储库文件可以被用于存 储提交签名。访问存储库文件以分配用于在未来运行应用的计算机系统的资 源可有益于允许应用运行。在实施例中,在从COB取回第一资源数据组之 后,操作140可以继续到操作150。
如果计算机系统中的DB具有包含在COB中的资源历史,DB可以在运 行应用之前相应地分配资源。例如,使用资源历史可以减少延迟应用的几率 或者减少在未来运行中的资源竞争。在实施例中,操作150可以包括根据包 含在第一资源数据组中的资源历史分配计算机系统的资源。在实施例中,分 配资源可以包括允许计算机系统访问计算机的存储器的一部分(section)、 装置接口缓冲器中的数据、一个或多个文件、或所需的处理功率量。在实施 例中,分配资源可以包括在应用开始之前由计算机系统以在数据库中分配日 志接收器空间的形式分配资源。在实施例中,分配资源可以包括分配数据库 文件空间以允许足够的空间来进行输入/输出操作。在实施例中,分配资源可 以包括为操作分配相称的存储器。在实施例中,分配资源可以包括基于处理 器用量分配处理器。在实施例中,分配资源可以包括在DB提交完成之后设 置用于允许访问路径恢复的新的选项。在实施例中,分配资源可以包括在存 储器中定住(pin)某些对象。在实施例中,分配日志接收器空间可以包括在 操作开始之前附加新的日志接收器。
在实施例中,操作150可以包括基于多系统事务信息分配资源。例如, 当一个或多个单独的事务同时运行时首先开始与最慢的计算机系统相关联 的事务可以减少应用的延迟。在实施例中,作业调度器可以根据计算机系统 的速度组织何时运行应用的定时(timing)。在实施例中,作业调度器可以响 应于计算机系统运行批量作业组织一个或多个资源。在实施例中,批量作业 可以具有并行运行的无人管理的程序,该程序需要作业调度器能够为该程序 分配的资源。在实施例中,管理器(hypervisor)可以管理组织一个或多个程 序的一个或多个作业调度器。在实施例中,前述分配的每一个可以与VM(例 如远程计算环境)或物理机有关。在实施例中,分配资源可以与诸如虚拟局 域网(LAN)和物理LAN的网络有关。
在进行一个或多个前述分配过程时,计算机系统的资源可以根据资源历 史分配,从而计算机系统可以在运行应用之前准备好,因而提高了减少对象 之间的竞争的可能性,并且其它作业可以被减少使得可以以高效的方式使用 计算机系统中的资源。在实施例中,在基于第一资源数据组分配资源之后, 操作150可以继续到操作160。
在实施例中,操作160包括产生第二资源数据组。在实施例中,在应用 不包含相关联的COB的情况中,还可以通过决定块120继续操作160。在 实施例中,第二资源数据组具有与第一资源数据组基本上类似的特性,第一 资源数据组例如为存储在提交签名中的资源历史的电子表示。在实施例中, 第二资源数据组可以基于由计算机系统使用的资源。例如,第二资源数据组 可以包括由应用使用的资源中的一个或多个改变,例如应用的之前的运行以 及应用的最近的运行。例如,产生第二资源数据组可以在应用完成之后发生。 例如,一个或多个改变可以是应用被初始化的次数、所使用的存储器的量或 者使用的处理功率的量。在实施例中,第二资源数据组可以包括基本上类似 于包括在第一资源数据组中的统计信息的统计信息。在实施例中,第二组可 以不同于第一组。例如,第一组可以基于罕见情况构建,而第二组可以不基 于罕见情况构建。
在实施例中,操作160可以被决定块120跟随,因为应用由计算机系统 第一次初始化。计算机系统在运行应用时可能尚不具有保存来自DB提交的 提交签名的机会。因此,尚未能够以第一资源数据组的形式记录应用的记录, 除非第一资源数据组被复制到计算机系统中。在实施例中,计算机系统可以 不必初始化应用以便获得第二资源数据组。例如,第二资源数据组可以在另 一计算机系统上产生并且被传递或者发送到计算机系统。在实施例中,可以 存在外部DB,所述外部DB包含可以连接到外部DB的每一个产生的第二 资源数据组的副本。
第二资源数据组可以包括来自从在一个或多个保存点处的子事务发出 的DB提交或当完成应用时发出的DB提交的提交签名。在一些实例中,事 务可能不能结束以完成,而是过早地终止。在实施例中,在这样的实例中, DB提交不被发出。保存点是实现应用中的子事务的方式,使得如果应用终 止,应用可以在上一保存点或者在应用终止前完成的上一个子事务处重新开 始。在一些实施例中,DB提交可以在到达保存点之后发出。通过在保存点之后发出DB提交,由计算机系统用以初始化应用直到保存点所存在的点处 的资源可能被过早地记录,过早是指在应用或事务完成之前。例如,在应用 中可能存在一个或多个保存点。如果事务在保存点之后不久过早地终止,DB 可以包括对应于在初始化应用之后直到到达保存点为止所使用的资源的信 息。在实施例中,对应于应用到达保存点之前所使用的资源的信息可以给出 关于在未来的运行中分配用于应用的资源的可能的方式的信息。在实施例 中,计算机系统可以将保存点用作开始点,而不是从应用的开头开始。在实 施例中,当运行批量作业时,启动保存点可以是有益的,因为批量作业是运 行到完成而没有手动干预的程序,所以如果程序不完成则资源历史可能丢 失。在实施例中,DB提交也可以保存为了进行回退或者计算机系统采取以 将数据库带回之前的状态的动作所需的资源,因为回退可能是资源密集型 的。
在实施例中,COB信息可以在初始程序加载(IPL)之后被保存。例如, 如果应用是操作系统,COB信息可以在操作系统被加载到计算机系统上之 后被保存。在实施例中,提交签名也可以在跟随保存恢复而发出提交操作之 后被保存。例如,提交操作可以在应用中的各种‘检查点’处或以各种‘间隔’ 发出。例如,提交操作可以在完成应用的安装或加载之前发出。在实施例中, 在如此做时,COB可以保存关于一个或多个提交签名的统计信息,从而验 证应用可能已经在完成之前终止的一个或多个原因,并且分配用于从上一个 保存点开始初始化应用的计算资源。在实施例中,在产生第二资源数据组之 后,操作160可以继续到操作170。
在实施例中,操作170可以包括保存第二资源数据组。在实施例中,操 作170可以包括将第二资源数据组附加到应用或者将其保存在COB池中。 在实施例中,更新COB可以包括用第二资源数据组替代第一资源数据组。 尽管第二资源数据组可以替代第一资源数据组,但是第二资源数据组可以包 含来自第一资源数据组的资源历史。例如,第二组可以包含第一资源数据组 和第二资源数据组之间的资源历史的平均、加权平均或者最小值/最大值。在 实施例中,更新COB可以在发出提交操作之后发生。例如,在实施例中, 在未来分配对应于应用的资源可以基于第二资源数据组进行。在实施例中, 操作170可以包括用对应于初始化的应用的第二资源数据组更新COB。操 作170可以包括用第二资源数据组替换存储在COB中的第一组或资源数据。 在实施例中,在用第二资源数据组更新COB之后,方法100可以结束。
现在转到图2,可以看到根据各种实施例的用于产生资源数据组的方法 200的流程图。在实施例中,所述方法200可以描述来自图1的操作160、 170的各方面,但是更具体地可以描述产生用于不包含相应的COB的应用 的资源数据组的过程。例如,在实施例中,所述方法可以针对描述产生用于 不包含相应的COB的特定应用的资源数据组。
在实施例中,所述方法200可以包括,在操作210中,监控应用。在实 施例中,监控应用可以响应于初始化应用。在实施例中,监控应用可以包括 监控响应于运行应用而由计算机系统使用的资源用量。监控资源可以包括采 集对应于一个或多个发出的应用的一个或多个提交签名。在实施例中,初始 化应用可以由终端用户实现。在实施例中,在操作210中监控应用之后,操 作可以继续到操作220。
在实施例中,操作220可以包括产生资源数据组。在实施例中,操作220 可以基本上类似于操作160。在实施例中,产生资源数据组可以基于监控应 用。在实施例中,产生资源数据组可以包括贯穿应用的运行而组织对应于发 出的DB提交的提交签名,以及将这样的信息保存为应用运行的时间长度。 例如,根据特定资源组织提交签名。在实施例中,资源数据组可以包括关于 响应于运行应用而由计算机系统使用的资源用量的信息。例如,可以通过为 了应用成功地完成而使用的存储器的量或需要的文件空间组织资源数据组。
在实施例中,资源数据组可以具有与来自操作160的资源数据组基本上 类似的特性,来自操作160的资源数据组例如为以数据的形式存储在一个或 多个提交签名中的资源历史的电子表示,所述一个或多个提交签名对应于应 用。在实施例中,产生资源数据组可以基本上类似于从操作160产生资源数 据组。例如,产生资源数据组可以包括记录自从先前运行应用起由应用使用 的资源的一个或多个改变。在实施例中,产生资源数据组可以响应于应用不 具有附加的COB或COB池中的相关联的COB。在实施例中,在产生资源 数据组之后,操作220可以继续到操作230。
在实施例中,在应用不具有相关联的COB的情况中,操作230可以包 括基于用于运行应用的资源用量确定一组资源参数。在实施例中,这组资源 参数可以根据由应用使用的资源,例如存储器、处理功率、文件空间等,而 被组织为一个或多个资源参数的列表。例如,在实施例中,第一资源参数可 以对应于所使用的存储器的量。在实施例中,第二资源参数可以对应于所使 用的处理功率的量。在实施例中,这组资源参数可以包括不与特定资源相关 联的资源参数,例如对应于应用已经被初始化的次数的资源参数。可以通过 在发出DB提交之后分析一个或多个提交签名而实现确定这组资源参数。在 实施例中,在确定这组资源参数之后,操作230可以继续到操作240。
在实施例中,操作240可以包括加权一个或多个资源参数。在实施例中, 可以根据资源参数对于高效地运行应用的资源参数的重要性而加权所述一 个或多个资源参数。除了其它的以外,效率可以取决于应用的运行时间、减 少资源竞争、减少延迟以及节约计算机系统资源。例如,资源参数的重要性 可以基于在分配用于应用的特定资源和不分配用于应用的特定资源之间节 省了多少时间。例如,分配计算机系统的存储器对于允许应用运行来说可能 比分配处理功率更重要。例如,应用可能不严重依赖于资源但是应用可能被 经常执行,所以对于特定应用,应用被执行的次数可以被着重加权。例如, 对应于应用被启动的次数的资源参数可以被加权为对应于计算机系统的存 储器用量的资源参数的两倍。在实施例中,赋予资源的相对权重可以由终端 用户确定。在实施例中,在加权一个或多个资源参数之后,操作240可以继 续到决定块250。
在实施例中,决定块250可以包括确定资源参数组是否满足阈值。在实 施例中,阈值可以是数值表示,该数值表示指示在加权的资源参数的值与基 于表示对保存(save)资源数据组的益处的量度的特定资源确定的值之间的 可接受的差异的界限。对保存资源数据组的益处可以是通过分配用于特定应 用的资源相比于不分配用于该应用的资源而节约的计算机系统的资源的数 量。所述确定的值和可接受的差异可以在初始化应用之前由数据库管理器指 定。通过实现所述阈值,计算机系统可以区分具有引起资源竞争的历史或高概率的应用和不具有引起资源竞争的历史或高概率的应用。例如,如果所述 应用相比于另一应用不需要相对很多的资源,或者需要很少的资源使得分配 用于应用的资源可能实际上比仅运行该应用浪费更多的资源。阈值可以基于 保存一个或多个提交签名相比于不保存所述一个或多个提交签名的有效性。 当确定阈值时,应用被初始化的次数可以被计算在内。例如,应用可能需要 最小量的资源,但是如果应用被不断地运行,保存提交签名对于限制过多的 资源用量可能是有用的。在实施例中,来自资源数据组的每个资源参数可以 满足单独的阈值,并且所满足的阈值的集合可以确定应用的资源历史是否应 该被保存。在实施例中,在确定资源参数组满足所述阈值之后,操作可以继 续到操作260;否则,操作可以继续到操作270。
在实施例中,操作260可以包括:如果一个或多个资源参数满足阈值, 在执行应用之后在COB中保存资源数据组。在实施例中,操作260可以基 本上类似于操作170。在实施例中,在COB中保存资源数据组可以包括保 存关于由计算机系统使用以便成功地执行应用的资源用量的所有资源历史, 并且限制过多的资源用量。在实施例中,取回资源数据组可以在操作140中 实现。在实施例中,保存资源数据组可以包括将提交签名保存到COB。在 实施例中,COB可以附加到应用或存储在COB池中。在实施例中,所述方 法可以包括:如果一个或多个参数不满足阈值,则丢弃COB。
操作260可以包括:在实施例中,在多事务COB(MTCOB)中记录一 个或多个COB。在实施例中,MTCOB是包含采用COB的有组织的列表的 形式的一个或多个COB的记录的构造。在实施例中,一个或多个COB实际 上没有存储在MTCOB中;而是,MTCOB可以包含包括在一个或多个COB 中的概要信息。在一些实施例中,MTCOB可以包括在COB池中。在实施 例中,在MTCOB中表示的一个或多个COB可以具有相同的提交签名,并 且因此,以便使用作业将需要以匹配包含在MTCOB中的签名的、包含在 MTCOB中的资源历史。
在实施例中,操作270可以包括丢弃资源数据组。在实施例中,丢弃可 以包括不在COB中保存资源数据组。丢弃还可以包括:在应用被再次初始 化的情况中,在DB中更新对应用的一些引用,使得计算机系统不浪费产生 另一资源数据组的资源。丢弃资源数据组可以是由于对应于资源数据的该组 资源参数没有达到阈值,从而对于高效地使用资源而言不值得保存。在实施 例中,如果存在应用运行的次数的增加,则可以保存最近被丢弃的资源数据 组。例如,如果应用自从被丢弃起已经被多次初始化,并且保存资源数据组 可能与高效地使用资源相关,则该资源数据组可以被保存。在实施例中,在 资源数据组已经被保存或者丢弃之后,所述方法200可以结束。
现在转到图3,可以看到根据各种实施例的示出在COB池310中的分 层的示例图300。在实施例中,COB池310可以包括一个或多个MTCOB 320、 360,以及COB 350。在实施例中,MTCOB A 320可以包含基于一个或多个 COB(诸如COB A 322和COB B 326)的资源历史。MTCOB B 360可以包 括关于一个或多个COB(诸如COB I、COB J和COB K)的资源历史。包 含在一个或多个COB中的资源历史可以基于对应于应用的一个或多个提交 签名。在实施例中,一个或多个COB可以基于提交签名而在MTCOB中被 智能地组织,并且MTCOB可以相应地提高分配用于一个或多个COB的资 源用量的效率。例如,MTCOB可以对应于应用,其中应用可以具有四个模 块,其中每个模块可以具有其自己的不同的COB。每个COB可以包括4000个表大小改变。计算机系统可以在启动应用时将表大小增加16000(与每个 不同的COB的大小成比例),而不是响应于具体模块被执行的次序依序分配 资源。表大小与计算机系统存储器中的文件空间有关。基于签名和历史信息, 我们可以智能地跟踪每个COB如何相互相关以及它们所使用的资源量。计 算机系统可以借助于通过MTCOB将它们绑定在一起而智能地确定这一点, 因为计算机系统可以识别与由提交签名引用的事务有关的COB。这可引起仅一个输入/输出(IO)而不是多个IO的出现。根据提交签名的COB的该 MTCOB组织可以使计算机系统更加智能地确定IO决定。
在实施例中,COB池310还可以包括不包含在MTCOB中的一个或多 个COB 350。基于包含在COB中的签名的高或低的资源用量,COB能够存 在于COB池中而不在MTCOB中。该高或低的资源用量可以通过将COB的 资源与阈值进行比较来评估。
现在更仔细地观察MTCOB 320的内容,除了其它的以外,该内容在其 中可以包括一个或多个COB,例如COB A 322和COB B 326,其中每个COB 可以对应于应用。在实施例中,一个或多个COB 322、326可以包括一个或 多个提交签名。例如,COB B 326可以包含来自一个或多个提交签名332、 336的资源历史。在实施例中,一个或多个COB还可以包括关于与应用相 关联的资源的统计信息。例如,应用已经被初始化的次数324、328。
可以看到根据各种实施例的COB B 326的内容的放大的视图。在实施例 中,COB B326可以包括关于由计算机系统使用以允许应用B运行的一个或 多个资源的资源历史。在实施例中,除了其它的以外,COB B 326可以包括 验证发出了提交的一个或多个提交签名332、336的资源历史以及允许应用 运行所需要的一个或多个计算机系统资源334、338。例如,COB B可以包 括提交签名332以及由计算机系统使用以便运行应用的相应的存储器334。 例如,COB B还可以包括提交签名336以及由计算机系统所需以便允许应用 运行的相应的文件空间338。由计算机系统使用的资源还可以包括可允许计 算机系统完成应用所需要的处理功率用量、日志空间或者过剩的其它资源。
对于在COB池的范围中的MTCOB的示例,考虑具有直接在硬件上运 行的管理器的计算机。该管理器控制硬件并且管理一个或多个虚拟机(VM)。 VM需要资源以执行应用到完成。该管理器可以将资源从硬件分配到VM。 管理器可以管理第一VM和第二VM。管理器可以将计算资源指派给第一 VM和第二VM。第一VM可以运行第一组应用并且第二VM可以运行第二 组应用。每个应用可以具有相应的COB。在实施例中,COB池包括关于第 一组应用的一个或多个COB以及关于第二组应用的一个或多个COB。在实 施例中,管理器可以包含COB池的副本。在实施例中,管理器可以根据来 自第一VM或第二VM的请求将信息从COB池分发到第一VM或第二VM。 管理器可以根据请求将资源分配到第一或第二VM。
在一些实施例中,第一VM和第二VM每一个可以包含关于在每个VM 上运行的应用的COB池的副本或者COB池的一部分。在实施例中,存储在 第一VM和第二VM中的COB池的部分可以为MTCOB的形式。例如,第 一VM和第二VM可以分别存储第一MTCOB和第二MTCOB。第一MTCOB 可以存储关于由第一VM运行的应用的一个或多个COB。第二MTCOB可 以存储关于由第二VM运行的应用的一个或多个COB。
在实施例中,产生以后满足所述阈值的资源数据组的VM可以在 MTCOB中保存该资源数据组。在实施例中,如果VM初始化应用并且不存 在存储在关于应用的COB中的相关联的提交签名,VM可以监控由计算机 系统使用的用于运行应用的资源,并且以保存一个或多个提交签名的形式产 生一组资源。如果在产生这组资源之后,该组资源满足阈值,则该组资源可 以被保存到MTCOB。
在某些实施例中,MTCOB可以通过统计方法记录对应于应用的COB 中的改变的数量,所述统计方法例如为平均、运行平均、最大值或标准差。 所述改变可以在从应用第一次执行时起使用的资源和从应用最近一次执行 时使用的资源之间。例如,第一资源数据组和第二资源数据组之间的改变可 以是来自连续的应用执行(例如,应用第五次执行时和应用第六次执行)的 改变。例如,改变可以是使用的存储器的量、处理功率用量、或计算机系统所需要的文件空间。
MTCOB可以分析采用一个或多个提交签名的形式的记录的信息以基于 统计信息预测资源要求,以便更高效地为运行应用分配资源。资源要求可以 通过提取包含在关于特定应用的提交签名中的资源历史而被预测。例如,对 于每次应用被初始化检查计算机系统需要以完成应用的处理功率可以被用 作用于预测资源要求的信息。处理功率可以逐渐增加(例如,相比于上一次 运行增加几个百分点)。处理功率自从计算机系统上一次执行应用起可以翻 倍。
在实施例中,资源要求还可以包括自从计算机系统上一次执行应用起所 作出的改变的总数量。改变的总数量可以包括一个或多个资源。在实施例中, 计算机系统、MTCOB可以基于相应的提交签名确定在特定事务而不是应用 中的随时间的资源要求。
图4描述了用于实现本公开的实施例的系统的高层框图。本公开的实施 例的机制和设备可以同样地应用到合适的计算系统。计算机系统400的主要 组件包括一个或多个处理器406、主存储器404、终端接口410、存储器接口 412、I/O(输入/输出)装置接口414、用户I/O装置424和存储装置426, 其全部经由存储器总线418、I/O总线420和I/O总线接口单元422直接地或 间接地可通信地耦接以用于组件间的通信。
计算机系统400可以包含一个或多个通用可编程中央处理单元(CPU) 406A、406B、406C和406D,这里被一般地称为处理器406。在实施例中, 计算机系统400包含通常是相对大的系统的多个处理器。在一些实施例中, 计算机系统400可以是单CPU系统。每个处理器406可以执行存储在主存 储器404中的指令并且可以包括一级或多级的板上高速缓存430。
在实施例中,主存储器404可以包括随机存取半导体存储器、存储装置 或存储介质(易失性的或者非易失性的)以存储或编码数据和程序434。在 另一实施例中,主存储器404表示计算机系统400的整个虚拟存储器,并且 还可以包括耦接到计算机系统400或者经由网络连接的其他计算机系统的虚 拟存储器。主存储器404在概念上是单个单片实体,但是在其它实施例中, 主存储器404是更加复杂的布置,诸如高速缓存430和其它存储器装置的分 层。例如,存储器可以存在于多级高速缓存中,并且这些高速缓存可以被进 一步通过功能划分,使得一个高速缓存保持指令而另一个保持非指令数据, 该非指令数据由一个或多个处理器使用。存储器可以被进一步分布并且与不 同的CPU或CPU组相关联,如在各种所谓的非统一存储器存取(NUMA) 计算机架构的任一种中知晓的那样。
主存储器404可以存储以下的所有或部分:RAM 432、高速缓存430、 存储系统436、一个或多个程序/实用程序434和至少一组程序模块438。尽 管RAM 432、高速缓存430、存储系统436、一个或多个程序/实用程序434 和至少一组程序模块438被示出为被包含在计算机系统400中的存储器404 中,但是在其它实施例中,它们中的一些或全部可以在不同的计算机系统上 并且可以例如经由网络远程地访问。计算机系统400可以使用虚拟寻址机制,该虚拟寻址机制允许计算机系统400的程序表现为好像它们仅具有对大的单 个存储实体的访问,而没有对多个较小的存储实体的访问。因此,尽管RAM 432、高速缓存430、存储系统436、一个或多个程序/实用程序438和至少一 组程序模块434被示出为包含在主存储器404中,但是这些组件不一定都同 时完全地包含在相同的存储装置中。此外,尽管RAM 432、高速缓存430、 存储系统436、一个或多个程序/实用程序438和至少一组程序模块434被示 出为单独的实体,但是在其它实施例中,它们的一些、它们的一些的部分或 者它们的全部可以被封装在一起。
在实施例中,存储器404包括处理器406上的指令或语句、或者由可以 执行应用的处理器406上的指令或语句解释的指令或语句,以执行参考这里 讨论的附图所进一步描述的功能。管理器可以管理存储器404和处理器406 到一个或多个VM。一个或多个VM可以执行应用并且根据应用资源历史分 配由管理器使得可用于一个或多个VM的资源。一个或多个VM还可以分配 在应用初始化之前拨给它们的资源。VM可以在初始化应用之前具有其可用的资源并且不需要在每次初始化应用时向管理器寻求更多的资源。在实施例 中,主存储器404可以包括COB池、一个或多个MTCOB、COB和一个或 多个提交签名,并且可以经由半导体装置、芯片、逻辑门、电路、电路卡和 /或其它物理硬件装置,代替或附加于基于处理器的系统而被用硬件实现。在 实施例中,主存储器可以在一个或多个应用的执行之后,如在操作170、260 中那样用资源数据组更新。在实施例中,主存储器404包括除了指令或语句 以外的数据。
存储器总线418提供数据通信路径以用于在处理器406、主存储器404 和I/O总线接口422之间传递数据。I/O总线接口422还耦接到I/O总线420 以将数据传递到各种I/O单元并且从各种I/O单元传递数据。I/O总线接口单 元422通过I/O总线420与多个I/O接口单元410、412、414、424和426通 信,该多个I/O接口单元410、412、414、424和426也被称为I/O处理器(IOP) 或I/O适配器(IOA)。
I/O接口单元支持与多种存储器和I/O装置的通信。例如,终端接口单 元410支持一个或多个用户I/O装置424的附加,该一个或多个用户I/O装 置424可以包括用户输出装置(诸如视频显示装置、扬声器和/或电视机)以 及用户输入装置(诸如键盘、鼠标、小键盘、触摸板、轨迹球、按钮、光笔 或其它指示装置)。用户可以使用用户界面(interface)操纵用户输入装置, 以便将输入数据和命令提供到用户I/O装置424和计算机系统400,并且可 以经由用户输出装置接收输出数据。例如,用户界面可以经由用户I/O装置 424呈现,诸如被显示在显示装置上、经由扬声器播放或者经由打印机打印。
存储器接口412支持一个或多个盘驱动或直接存取存储装置426(其通 常是旋转磁盘驱动存储装置,尽管它们可替换地可以是其它存储装置,包括 被配置为表现为到主机计算机的单个大型存储装置的盘驱动器的阵列)的附 加。在另外的实施例中,存储装置426可以经由任何类型的次级存储装置实 现。主存储器404的内容或其任何部分可以按需要存储到存储装置426以及 从存储装置426取回。I/O装置接口414提供到诸如打印机或传真机器的各 种其它输入/输出装置或者其它类型的装置的任何一个的接口。网络接口提供 从计算机系统400到其它数字装置和计算机系统的一个或多个通信路径;这 样的路径可以包括例如一个或多个网络。
尽管存储器总线418在图4中被示出为在处理器406、主存储器404和 I/O总线接口422之间提供直接通信路径的相对简单的单总线结构,但是事 实上存储器总线418可以包括多个不同的总线或通信路径,该多个不同的总 线或通信路径可以以各种形式的任何一种布置,例如分层、星形或web配置 中的点到点链路、多个分层总线、并行和冗余路径、或者任何其它合适类型 的配置。此外,尽管I/O总线接口422和I/O总线420被示出为单个相应的单元,但是计算机系统400事实上可以包含多个I/O总线接口单元422和/ 或多个I/O总线420。尽管示出了多个I/O接口单元,其将I/O总线420与去 往各种I/O装置的各种通信路径分开,但是在其它实施例中,所述I/O装置 的一些或全部直接连接到一个或多个系统I/O总线。
在各种实施例中,计算机系统400是多用户大型机计算机系统、单用户 系统、或具有少量或没有直接的用户接口而是从其它计算机系统(客户端) 接收请求的服务器计算机或类似装置。在其它实施例中,计算机系统400被 实现为桌上型计算机、便携式计算机、膝上型或笔记本计算机、平板计算机、 小型计算机、电话、智能电话或者任何其它合适类型的电子装置。
图4意图描述计算机系统400的代表性主要组件。但是,各个组件可以 具有比图4中所示的更大的复杂性,可以存在不同于图4中示出的组件或者 除了图4中示出的组件以外的组件,并且这样的组件的数量、类型和配置可 以变化。在这里公开了这样的额外的复杂度和额外的变化的几个特定示例; 这些仅是作为示例并且不一定是唯一的这样的变化。图4中示出并且实现本 发明的各种实施例的各种程序组件可以以多个方式实现,包括使用各种计算 机应用、例程、组件、程序、对象、模块、数据结构等,并且在这里被称为 “软件”、“计算机程序”或简单地“程序”。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包 括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计 算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指 令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设 备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的 任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包 括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、 可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、 便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软 盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及 上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时 信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输 媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的 电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到 各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无 线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传 输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每 个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序 指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计 算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构 (ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数 据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述 编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过 例程编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以 完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的 软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远 程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通 过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户 计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过 因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息 来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA) 或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从 而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的 流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的 每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指 令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可 编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计 算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框 图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读 程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据 处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介 质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规 定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装 置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上 执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它 可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一 个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和 计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或 框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、 程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行 指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图 中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行, 它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可 以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专 用硬件与计算机指令的组合来实现。
应提前理解的是,尽管本公开包括对云计算的详细描述,但其中记载的 教导的实现方式却不限于云计算环境。而是,能够结合现在已知或以后开发 的任何其它类型的计算环境而实现本公开的实施例。
云计算是一种服务交付模式,用于允许对共享的可配置计算资源(例如 网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务)池进 行方便、按需的网络访问,可配置计算资源能够以最小的管理成本或与服务 提供者的最少的交互快速部署和释放。这种云模式可以包括至少五个特征、 至少三个服务模型和至少四个部署模型。
特征如下:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况 下能够单方面自动地按需部署诸如服务器时间和网络存储的计算能力。
广泛的网络接入:能力可以经由网络得到并且通过标准机制接入,所述 标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电 话、膝上型电脑和个人数字助理(PDA))对云的使用。
资源池化:提供者的计算资源被归入池以使用多租户(multi-tenant)模 式服务于多个消费者,其中按需将不同的物理资源和虚拟资源动态地分配和 再分配。一般情况下,消费者不能控制或知晓所提供的资源的确切位置,但 可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位 置无关性。
迅速弹性:能够迅速、有弹性地(在某些情况下自动地)部署计算能力, 以快速扩展并且迅速释放来快速缩小。在消费者看来,可用于部署的能力往 往显得是无限的,并能在任意时候以任意数量购买。
测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和 活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。 可以监测、控制和报告资源使用情况,为所使用的服务的提供者和消费者双 方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上 运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电 子邮件)从各种客户机设备访问应用。可能除了有限的特定于用户的应用配 置设置外,消费者不管理或控制包括网络、服务器、操作系统、存储、或甚 至单个应用能力的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者 创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。 消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础架构, 但对部署的应用具有控制权,对应用托管环境配置可能具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署 并运行可包括操作系统和应用的任意软件的处理、存储、网络和其他基础计 算资源。消费者不管理或控制底层的云基础架构,但是对操作系统、存储和 部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有 限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或 第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任 务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由所述 组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构被使得可由公众或大型产业群使用,并由出售云服 务的组织拥有。
混合云:云基础架构由两个或更多云(私有云、共同体云或公共云)组 成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技 术或私有技术(例如用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和 语义的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图5,示出了云计算节点的例子的示意图。云计算节点500仅 仅是适合的云计算节点的一个示例,意图不是对这里描述的本发明的实施例 的使用范围或功能带来任何限制。无论如何,云计算节点500能够被实现和 /或执行以上所述的任何功能。
在云计算节点500中具有计算机系统/服务器12,该计算机系统/服务器 12可与众多其它通用或专用计算系统环境或配置一起操作。可适于与计算机 系统/服务器12一起使用的众所周知的计算系统、环境和/或配置的例子包括 但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手 持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费 电子产品、网络PC、小型计算机系统﹑大型计算机系统和包括上述任意系 统或设备的分布式云计算环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指 令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定 的任务或者实现特定的抽象数据类型的例程、程序、对象、组件、逻辑、数 据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备 执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可 以位于包括存储贮存设备的本地或远程计算系统存储介质上。
如图5中所示,云计算节点500中的计算机系统/服务器12以通用计算 装置的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或 者多个处理器或者处理单元16、系统存储器28、连接各种系统组件(包括 系统存储器28)到处理单元16的总线18。
总线18表示几类总线结构中的任何总线结构的一种或多种,包括存储 器总线或者存储器控制器、外围总线、加速图形端口、处理器或者使用多种 总线结构中的任意总线结构的局部总线。举例来说,并且非限制性地,这些 体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MAC)总 线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及 外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质 可以是能够被计算机系统/服务器12访问的任意可获得的介质,并且其包括 易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例 如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务 器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统 存储介质。仅作为举例,存储系统34可以被提供用于读写不可移动的、非 易失性磁介质(未显示,通常称为“硬驱动器”)。尽管未示出,可以提供用 于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器、以及用于对可移动非易失性光盘(例如CD-ROM、DVD-ROM或者其它光介质)读写的 光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接 口与总线18相连。如下面将进一步示出并且描述的,存储器28可以包括至 少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程 序模块被配置以执行本发明的实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40可以存储在存储 器28中,这样的程序模块42作为示例包括但不限于操作系统、一个或者多 个应用程序、其它程序模块以及程序数据。操作系统、一个或者多个应用程 序、其它程序模块以及程序数据中的每一个或其某种组合可能包括网络环境 的实现。程序模块42通常执行如这里所述的本发明的实施例的功能和/或方 法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指 向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机 系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与 一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等) 通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统 /服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网 (LAN)、一般的广域网(WAN)和/或公共网络(例如因特网))通信。如 图所示,网络适配器20通过总线18与计算机系统/服务器12的其它组件通 信。应当明白,尽管未示出,其它硬件和/或软件组件可以与计算机系统/服 务器12结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单 元、外部盘驱动器阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图6,显示了示例性的云计算环境50。如图所示,云计算环境 50包括云消费者使用的本地计算设备可以与其相通信的一个或者多个云计 算节点10,本地计算设备例如是个人数字助理(PDA)或蜂窝电话54A、台 式电脑54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以相 互通信。可以在诸如如上所述的私有云、共同体云、公共云或混合云或者它 们的组合的一个或者多个网络中将它们物理或虚拟地分组(未显示)。这允许云计算环境50提供基础架构即服务、平台即服务和/或软件即服务,而云 的消费者无需在本地计算设备上维护资源。应当理解,图6显示的类型的计 算设备54A-N仅仅是示意性的,计算节点10以及云计算环境50可以经由任 意类型的网络和/或网络可寻址的连接(例如使用网络浏览器)与任意类型的 计算机化设备通信。
现在参考图7,显示了云计算环境50(图6)提供的一组功能抽象层。 首先应当理解,图7所示的组件、层以及功能都仅仅是示意性的,本发明的 实施例不限于此。如所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机 61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀 片式服务器64;存储装置65;以及网络和网络组件66。在一些实施例中, 软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该层可以提供下列虚拟实体的例子:虚拟 服务器71;虚拟存储器72;虚拟网络73(包括虚拟私有网络);虚拟应用和 操作系统74;以及虚拟客户端75。
在一个实施例中,管理层80可以提供下述功能:资源供应81提供用于 在云计算环境中执行任务的计算资源和其它资源的动态获取(例如如这里公 开的基于应用的历史信息分配计算资源)。计量和定价82提供在云计算环境 内使用资源时的成本跟踪、以及对于这些资源消耗的帐单或发票。在一个例 子中,这些资源可以包括应用软件许可。安全为云的消费者和任务提供身份 验证,为数据和其它资源提供保护。用户门户83为消费者和系统管理员提 供对云计算环境的访问。服务水平管理84提供云计算资源的分配和管理, 以满足必需的服务水平。服务水平协议(SLA)计划和履行85提供根据SLA 预测其未来需求的云计算资源的预先安排和供应。
工作负载层90提供可以使用云计算环境的功能的示例。可以从该层提 供的工作负载和功能的示例包括:地图绘制与导航91;软件开发及生命周期 管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及诸 如“移动桌面”的典型云工作负载96。
为了说明的目的已经呈现了本公开的各种实施例的描述,但是不意欲是 穷举性的或者限制到所公开的实施例。许多修改和变化对本领域普通技术人 员将是显而易见的,而不背离所描述的实施例的范围和精神。这里使用的术 语被选择以解释实施例的原理、实际应用或在市场上发现的技术的技术改 进,或以使得本领域其他普通技术人员能够理解这里公开的实施例。

Claims (16)

1.一种用于管理计算资源的方法,所述方法包括:
在计算机系统中初始化应用,所述应用对应于一个或多个提交签名,所述一个或多个提交签名的每一个对应于所述应用中的事务;
确定所述一个或多个提交签名中的提交签名被保存在提交块COB中;
响应于确定所述提交签名被保存在所述COB中,从所述COB取回对应于所述提交签名的第一资源数据组,所述第一资源数据组包含对应于所述应用的资源用量和资源使用时间的历史统计信息,包括存储器用量和使用时间、处理功率用量和使用时间、网络用量和使用时间、文件空间用量和使用时间;以及
基于所述第一资源数据组分配所述计算机系统可访问的资源。
2.如权利要求1所述的方法,其中所述COB被保存在经由网络可通信地连接到所述计算机系统的另一计算机系统中,并且其中从所述COB取回所述第一资源数据组包括从所述另一计算机系统取回所述第一资源数据组。
3.如权利要求1所述的方法,还包括:
执行所述应用;
基于由执行所述应用的所述计算机系统使用的资源产生第二资源数据组;以及
在所述COB中用所述第二资源数据组更新对应于所述提交签名的第一资源数据组。
4.如权利要求3所述的方法,还包括:
将所述COB保存到多事务提交块MTCOB,所述MTCOB包括一个或多个事务的记录。
5.如权利要求4所述的方法,还包括:
分析所述MTCOB中的一个或多个提交签名,其中所述一个或多个提交签名对应于由所述计算机系统随着时间使用的用于执行对应的应用的资源量随时间的一个或多个改变;
预测所述应用中的资源要求;以及
响应于基于所述资源要求初始化所述应用而管理和分配资源,其中所述应用包含相应的COB。
6.如权利要求4所述的方法,其中每个MTCOB对应于虚拟机(VM),在每个MTCOB中记录的所述一个或多个COB对应于运行在所述VM上的一个或多个应用。
7.如权利要求5所述的方法,其中预测所述应用中的资源要求包括:基于保存在一个或多个COB中的资源历史分配资源要求,所述一个或多个COB被保存在MTCOB中。
8.如权利要求6所述的方法,还包括:
在COB池中保存一个或多个MTCOB,所述COB池包括一个或多个MTCOB的记录。
9.如权利要求8所述的方法,其中所述COB池由管理器管理,所述管理器管理一个或多个虚拟机。
10.一种用于管理计算资源的系统,所述系统包括:
处理器;以及
计算机可读存储介质,其具有在其中实现的程序指令,所述程序指令可由所述处理器执行以使得所述系统:
在计算机系统中初始化应用,所述应用对应于一个或多个提交签名,所述一个或多个提交签名的每一个对应于所述应用中的事务;
确定所述一个或多个提交签名没有被保存在提交块COB中;
响应于确定所述提交签名没有被保存在所述COB中,通过保存所述一个或多个提交签名产生资源数据组,所述资源数据组包含对应于所述应用的资源用量和资源使用时间的历史统计信息,包括存储器用量和使用时间、处理功率用量和使用时间、网络用量和使用时间、文件空间用量和使用时间;以及
在所述COB中保存所述资源数据组,所述资源数据组对应于所述一个或多个提交签名。
11.如权利要求10所述的系统,其中可由所述处理器执行的所述程序指令进一步使得所述系统:
响应于所述计算机系统初始化所述应用,确定一个或多个资源参数,其中所述一个或多个资源参数对应于资源用量;以及
响应于所述一个或多个资源参数满足阈值,将所述提交签名保存到所述COB,所述COB包括由所述系统进行的一个或多个提交操作的记录。
12.如权利要求11所述的系统,其中可由所述处理器执行的所述程序指令进一步使得所述系统:
将一个或多个COB保存到多事务提交块MTCOB,所述MTCOB包括一个或多个COB事务的记录。
13.如权利要求12所述的系统,还包括:
分析所述MTCOB中的一个或多个提交签名,其中所述一个或多个提交签名对应于由所述计算机系统随着时间使用的用于执行相应的应用的资源量的一个或多个改变;
预测所述应用中的资源要求;以及
响应于基于所述资源要求初始化所述应用,管理和分配资源,其中所述应用包含相应的COB。
14.如权利要求12所述的系统,其中所述MTCOB对应于虚拟机(VM),所述一个或多个COB根据运行在所述VM上的一个或多个应用而被保存在特定MTCOB中,每个应用对应于COB。
15.如权利要求14所述的系统,其中可由所述处理器执行的所述程序指令进一步使得所述系统:
在COB池中保存一个或多个MTCOB,所述COB池包括一个或多个MTCOB的记录。
16.如权利要求15所述的系统,其中所述COB池由管理器管理,所述管理器管理一个或多个虚拟机。
CN201610248085.4A 2015-04-20 2016-04-20 用于管理计算资源的方法和系统 Expired - Fee Related CN106066812B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/690,540 2015-04-20
US14/690,540 US9507636B2 (en) 2015-04-20 2015-04-20 Resource management and allocation using history information stored in application's commit signature log

Publications (2)

Publication Number Publication Date
CN106066812A CN106066812A (zh) 2016-11-02
CN106066812B true CN106066812B (zh) 2019-04-30

Family

ID=57128842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610248085.4A Expired - Fee Related CN106066812B (zh) 2015-04-20 2016-04-20 用于管理计算资源的方法和系统

Country Status (2)

Country Link
US (2) US9507636B2 (zh)
CN (1) CN106066812B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992351B (zh) * 2016-10-26 2021-11-16 阿里巴巴集团控股有限公司 一种硬件资源分配方法及装置、电子设备
KR20180134672A (ko) * 2017-06-09 2018-12-19 에이치피프린팅코리아 유한회사 화상 형성 장치의 애플리케이션 설치 방법 및 그 방법을 사용하는 화상 형성 장치
CN109240795A (zh) * 2018-08-10 2019-01-18 南瑞集团有限公司 一种适用于超融合it基础设施的云计算资源池模型的资源调度方法
CN111459649B (zh) * 2019-01-21 2023-08-25 伊姆西Ip控股有限责任公司 管理计算资源的存储器的方法、设备和计算机可读介质
US11354585B2 (en) * 2019-03-19 2022-06-07 International Business Machines Corporation Cognitive detection of cloud service forecast
TWI744823B (zh) * 2020-03-17 2021-11-01 昕力資訊股份有限公司 電腦叢集中平衡負載的電腦程式產品及裝置
CN112114947B (zh) * 2020-09-17 2024-02-02 石家庄科林电气股份有限公司 一种基于边缘计算网关的系统资源调度方法
US11914755B2 (en) * 2021-02-04 2024-02-27 International Business Machines Corporation Cluster resource signature verification
CN116382924B (zh) * 2023-06-02 2023-08-15 建信金融科技有限责任公司 资源配置的推荐方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739298A (zh) * 2008-11-27 2010-06-16 国际商业机器公司 共享缓存管理方法和系统
CN102111293A (zh) * 2010-12-23 2011-06-29 华为技术有限公司 配置事务的处理方法和装置
KR20120017261A (ko) * 2010-08-18 2012-02-28 케어캠프 주식회사 거래문서의 관리 장치 및 그 관리 방법
CN103593449A (zh) * 2013-11-19 2014-02-19 华为技术有限公司 一种数据库资源回收方法及系统
CN103903070A (zh) * 2014-04-15 2014-07-02 广东电网公司信息中心 应用系统资源需求测算系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US7028301B2 (en) * 2000-12-08 2006-04-11 Bmc Software, Inc. System and method for automatic workload characterization
US7103597B2 (en) * 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7526521B2 (en) * 2003-07-11 2009-04-28 At&T Intellectual Property I, L.P. Multi-user database system and method for resource usage tracking
JP4756675B2 (ja) * 2004-07-08 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
EP2183669B1 (en) * 2007-08-27 2014-05-28 Correlsense Ltd. Apparatus and method for tracking transaction related data
US7702783B2 (en) * 2007-09-12 2010-04-20 International Business Machines Corporation Intelligent performance monitoring of a clustered environment
US9104471B2 (en) * 2007-10-15 2015-08-11 International Business Machines Corporation Transaction log management
US9106591B2 (en) * 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US8607200B2 (en) * 2010-06-01 2013-12-10 Red Hat, Inc. Executing a web application at different stages in the application life cycle
US20120253871A1 (en) * 2011-04-04 2012-10-04 Tracey Aidan D System and Method for Optimizing Allocation of Merchandising Resources and Pricing
US8881155B2 (en) * 2011-06-10 2014-11-04 International Business Machines Corporation Apportioning summarized metrics based on unsummarized metrics in a computing system
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
WO2013128789A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 キャパシティ管理支援装置、キャパシティ管理方法およびプログラム
US20130268940A1 (en) * 2012-04-04 2013-10-10 Daniel Juergen Gmach Automating workload virtualization
US9075731B2 (en) * 2013-01-23 2015-07-07 Vmware, Inc. Using transaction entries to achieve crash consistency when performing write-behind caching using a flash storage-based cache
US20150378786A1 (en) * 2013-01-31 2015-12-31 Adarsh Suparna Physical resource allocation
US9537787B2 (en) * 2013-08-05 2017-01-03 International Business Machines Corporation Dynamically balancing resource requirements for clients with unpredictable loads
US9686207B2 (en) * 2014-01-29 2017-06-20 Vmware, Inc. Application service level objective aware demand estimation
US9471371B2 (en) * 2014-02-27 2016-10-18 International Business Machines Corporation Dynamic prediction of concurrent hardware transactions resource requirements and allocation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739298A (zh) * 2008-11-27 2010-06-16 国际商业机器公司 共享缓存管理方法和系统
KR20120017261A (ko) * 2010-08-18 2012-02-28 케어캠프 주식회사 거래문서의 관리 장치 및 그 관리 방법
CN102111293A (zh) * 2010-12-23 2011-06-29 华为技术有限公司 配置事务的处理方法和装置
CN103593449A (zh) * 2013-11-19 2014-02-19 华为技术有限公司 一种数据库资源回收方法及系统
CN103903070A (zh) * 2014-04-15 2014-07-02 广东电网公司信息中心 应用系统资源需求测算系统

Also Published As

Publication number Publication date
US20160306665A1 (en) 2016-10-20
US20160306655A1 (en) 2016-10-20
US9507636B2 (en) 2016-11-29
US9501313B2 (en) 2016-11-22
CN106066812A (zh) 2016-11-02

Similar Documents

Publication Publication Date Title
CN106066812B (zh) 用于管理计算资源的方法和系统
CN104424013B (zh) 在计算环境中部署虚拟机的方法和设备
CN105843703B (zh) 创建工作流以解决至少一个系统问题的方法和系统
US8996452B2 (en) Generating a predictive model from multiple data sources
US11915123B2 (en) Fusing multimodal data using recurrent neural networks
CN107430528A (zh) 机会性资源迁移以优化资源放置
US11403131B2 (en) Data analysis for predictive scaling of container(s) based on prior user transaction(s)
US10353738B2 (en) Resource allocation based on social networking trends in a networked computing environment
US11237806B2 (en) Multi objective optimization of applications
CN112384907A (zh) 与文本挖掘集成的规范编辑系统
CN110121704A (zh) 一种用于存储过程的执行方法、设备以及系统
US11455337B2 (en) Preventing biased queries by using a dictionary of cause and effect terms
CN114667507A (zh) 使用基于应用的剖析的机器学习工作负载的弹性执行
US10318559B2 (en) Generation of graphical maps based on text content
JP2023101462A (ja) コンピュータ実装方法、システム及びコンピュータプログラム(Kubernetesにおけるビッグデータに関するデータ局所性)
WO2022041996A1 (en) Intelligent backup and restoration of containerized environment
US11269625B1 (en) Method and system to identify and prioritize re-factoring to improve micro-service identification
US11487750B2 (en) Dynamically optimizing flows in a distributed transaction processing environment
US11204923B2 (en) Performance for query execution
US20220200935A1 (en) Generating a chatbot utilizing a data source
US20240104009A9 (en) Generating test data for application performance
US11681672B2 (en) Virtual database resource usage
US11410082B2 (en) Data loss machine learning model update
US20230110792A1 (en) Data quality rules from data change history
Schiavi Performance measurements in a high throughput computing environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190430

CF01 Termination of patent right due to non-payment of annual fee