CN105204923A - 用于资源预配置的方法和装置 - Google Patents

用于资源预配置的方法和装置 Download PDF

Info

Publication number
CN105204923A
CN105204923A CN201410301955.0A CN201410301955A CN105204923A CN 105204923 A CN105204923 A CN 105204923A CN 201410301955 A CN201410301955 A CN 201410301955A CN 105204923 A CN105204923 A CN 105204923A
Authority
CN
China
Prior art keywords
resource
configuration information
goal systems
frame
affairs
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.)
Pending
Application number
CN201410301955.0A
Other languages
English (en)
Inventor
朱文捷
N·斯林戈尔
J·托布勒
D·科津
林美琦
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
Priority to CN201410301955.0A priority Critical patent/CN105204923A/zh
Priority to US14/730,258 priority patent/US9990231B2/en
Publication of CN105204923A publication Critical patent/CN105204923A/zh
Priority to US15/949,272 priority patent/US20180225148A1/en
Pending legal-status Critical Current

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开内容涉及用于资源预配置的方法和装置。本发明的一个实施例提供一种用于资源预配置的方法。所述方法包括:在目标***处获得关于资源的配置信息,所述资源预计将被所述目标***上执行的事务使用;以及在所述事务请求使用所述资源之前,基于所述配置信息在所述目标***处配置所述资源。还公开了相应的装置。

Description

用于资源预配置的方法和装置
技术领域
本发明的实施例总体上涉及计算机领域,更具体地,涉及用于资源预配置的方法和装置。
背景技术
在数据库管理***(DBMS)、服务器管理***、交易管理***、文件***、存储管理***之类的***上,可以运行一个或多个事务(transaction)。这些事务在运行期间通常需要访问***的某些资源,包括文件、存储块、数据集,等等。在事务执行期间,这些资源可能被配置为特定的状态。例如,文件可能被保持在打开状态,存储块记录文件的相关存储信息,为文件的读写操作提供服务,经常访问的数据可能从磁盘被调入存储器或者高速缓存,等等。又如,事务在使用文件、数据库表、存储空间中的数据等共享资源时,事务可能向共享资源添加锁(lock),以防止资源内容在其访问期间被其他事务修改,从而确保数据一致性。
在***刚刚启动之后,当第一批事务被加载到***上运行时,所需使用的资源尚未进行适当的配置。因此,第一批事务必须从头开始配置资源,例如打开文件、读取磁盘上的数据、设置存储的访问权限,等等。由此,与后续加载的事务相比,第一批事务的执行效率明显偏低。类似地,当***由于维护、升级、故障或者供电中断等原因停机时,先前由事务配置的资源状态将被丢失或者重置。因此,当***重启之后,重新加载到***上执行的第一批事务的执行效率也将受到显著影响,因为它们也不得不再次执行资源配置操作。另外,当一个新事务被开发和部署在***上之后,该事务将要使用的资源很可能事先没有被其他事务配置和使用过。由此,新事务必须进行对资源的初始设置,从而使其执行效率受到影响。
以主机(mainframe)平台上的***为例,已经发现:对于***启动或者重启之后加载的第一批事务或者是新部署的事务而言,其执行速度往往比其他事务慢几倍甚至十几倍。例如,仅仅打开所需的文件就要耗费相当可观的时间。
发明内容
一般地,本发明的实施例提出用于对***中的资源进行预配置的技术方案。
在一个方面,本发明的实施例提供一种用于资源预配置的方法。所述方法包括:在目标***处获得关于资源的配置信息,所述资源预计将被所述目标***上执行的事务使用;以及在所述事务请求使用所述资源之前,基于所述配置信息在所述目标***处配置所述资源。
在另一方面,本发明的实施例提供一种用于资源预配置的装置。所述装置包括:配置信息获取单元,被配置为在目标***处获得关于资源的配置信息,所述资源预计将被所述目标***上执行的事务使用;以及资源配置单元,被配置为在所述事务请求使用所述资源之前,基于所述配置信息在所述目标***处配置所述资源。
根据本发明的实施例,可以对***上的事务将来可能使用的资源进行提前配置,即,预配置。通过这种预配置,当事务被加载和执行时,无需为了对资源做出初始化配置而降低执行效率。相反,事务可以直接使用***已经提前为其配置好的资源,这将显著提高事务的执行速度。在某些实施例中,资源的预配置可以在***的启动过程中完成。备选地或附加地,也可以针对可能将要部署的新事务而预先配置资源。特别地,通过在彼此通信的多个***之间共享资源配置信息,能够更加有效地实现资源的预配置。本发明的其他特征和优点将通过下文描述而变得容易理解。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显其中:
图1示出了适于用来实现本发明实施例的示例性计算机***/服务器的示意性框图;
图2示出了根据本发明实施例的用于***中的资源预配置的方法的示意性流程图;
图3示出了根据本发明实施例的用于在***启动时获取资源配置信息的方法的示意性流程图;以及
图4示出了根据本发明实施例的用于***中的资源预配置的装置的示意性框图。
在附图中,相同或相似的标号被用来表示相同或相似的元素。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的方框图。图1显示的计算机***/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如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***、磁带驱动器以及数据备份存储***等。
下面将详细描述本发明实施例的机制和原理。除非特别声明,在下文和权利要求中使用的术语“基于”表示“至少部分地基于”。术语“包括”表示开放性包括,即“包括但不限于”。术语“多个”表示“两个或更多”。术语“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。其他术语的定义将在下文描述中给出。
图2示出了根据本发明的实施例的用于***中的资源预配置的方法200的流程图。在此使用的术语“***”包括在物理或者虚拟机器上运行以用于执行和管理事务的任何***,包括硬件***、软件***或其组合。***的示例包括但不限于以下一个或多个:DBMS***,服务器管理***,文件***,交易管理***,存储管理***,等等。将会理解,本发明的实施例可以适用于任何目前已知的还是将来开发的***。
方法200开始于步骤S210,在此获取关于资源的配置信息,该资源预计随后将在该***上执行的事务使用。为讨论方便起见,在下文描述中,将把所考虑的***称为“目标***”。
根据本发明的实施例,资源配置信息的获取可以在多种情况下被触发。例如,在某些实施例中,在步骤S210处,资源的配置信息是响应于目标***的启动而被获取的。在本公开内容的上下文中,术语“启动”既包括目标***的正常启动,也包括目标***在异常停机(例如,由于故障、断电等等原因)之后的重启或重置。
如上所述,传统上当目标***刚刚被启动之后,需要经历一段时间的“预热”。在此期间,被加载到目标***上执行的事务所需使用的资源尚未经过配置。例如,需要使用的文件未被打开,存储块未被设置,用于处理资源竞争的锁未被获取,等等。因此,第一批事务不得不完成对这些底层资源的配置,并且因此影响执行效率。
为解决该问题,在某些实施例中,在步骤S210处,目标***可以启动过程中主动地获取关于一个或多个资源的配置信息。如上所述,这些资源预计将在***的启动过程完成之后由***上执行的事务使用。特别地,与传统方案不同的是,根据本发明的实施例,在步骤S210处获得的是预计随后将被事务使用的、独立于事务的资源的配置信息,而不仅仅限于***或事务本身的状态。
根据本发明的实施例,预计将被使用的资源及其配置信息可以通过多种不同的方式获得。例如,在一个实施例中,在步骤S210处,目标***可以从不同于目标***的一个或多个其他***(称为“参考***”)获取资源的配置信息。例如,在一个实施例中,参考***可以是与目标***处于相同集群中的其他***。
参考***与目标***可以通过任何适当的方式通信。例如,在一个实施例中,目标***与参考***可以位于不同的物理机器上。此时,可以借助于例如局域网、因特网等网络通信机制来实现***之间的通信。备选地或附加地,目标***与参考***可以位于相同的物理机器上。此时,可以借助于进程间通信、程序间通信之类的内部通信机制来实现***之间的通信。
为了从参考服务器获得关于资源的配置信息,在一个实施例中,当目标***启动之后,它可以向一个或多个参考***发送请求。作为响应,接收到该请求的每个参考***可以将该参考***上目前执行的事务正在使用的资源以及这些资源的配置信息返回给目标***。例如,参考***可以确定目前被打开的文件、所创建的存储块的内容信息、对文件和/或其他资源所应用的共享锁,等等。这些配置信息可以利用任何适当的格式来组织,包括但不限于列表、可扩展标记语言(XML)文件、配置文件,等等。而后,参考***可以将资源配置信息作为响应消息返回给目标***。相应地,在步骤S210处,目标***可以从接收到的响应消息中解析资源配置信息。
在某些实施例中,参考***是能够与目标***通信的任何其他***。备选地,为了进一步提高预配置的准确性,可以事先从多个可用的候选***中选择适当的参考***。例如,在一个实施例中,可以基于***的特性(characteristics)来选择参考***,使得目标***和参考***具有相同或者相似的特性。
在此使用的术语“特性”是指描述***的业务特征的属性。例如,在一个实施例中,特性可以包括***的工作负载(workload)。具体而言,在此实施例中,可以选择与目标***执行相同或者相似工作负载的一个或多个***来充当参考***。例如,如果目标***主要是负责文件管理的***,则可以选择同样负责文件管理的***作为参考***,而排除例如DBMS之类用于其它工作负载的***。可以理解,当工作负载相同或者相似时,目标***和参考***上的事务使用相同或相似资源的概率也将相应增加。这样,由参考***提供的资源配置信息对于目标***的参考价值将会更大。
备选地或附加地,在选择参考***时,还可以考虑目标服务器和/或参考服务器的任务类型。可以理解,即使对于处理相同工作负载的多个***而言,任务类型或者说分工也可能不同。例如,在一个集群中,某些***可能被用于完成不同于其他***的特定任务。作为示例,某些***可能负责特定时间段(例如,工作时间)内的业务处理,而另一些***则负责在特定时间段(例如,夜间)内完成数据备份。具有不同任务类型的***之间所使用的资源很可能具有较大差异。因此,在一个实施例中,可以仅向具有相同或者相似任务类型的其他***请求资源的配置信息。
在实现中,目标***可以维护具有相同或者相似工作负载和/或任务类型的其他***的列表。在一个实施例中,这样的列表可由与各个***相关联的控制器生成和更新。备选地或附加地,列表也可由用户以人工方式生成和更新。当目标***启动时,可以访问该列表,并且从列表中读取参考***以便发送针对资源配置信息的请求。
注意,工作负载和任务类型仅仅是***特性的示例,并非意在限制本发明的范围。在备选实施例中,可以考虑任何备选的或附加的特性来确定参考***,例如***所在机器的计算能力、存储能力、网络状况,等等。
另外,根据本发明的实施例,目标***可以从不止一个参考***接收这些参考***各自正在使用的资源(称为“候选资源”)的配置信息。在一个实施例中,目标***可以保存接收到的所有候选资源的配置信息。相应地,所有这些候选资源都将在目标***处被预先配置。
备选地,也可以从多个参考***发送的这些候选资源中,确定或者预测哪些资源可能将被目标***上执行的事务使用。相应地,在步骤S210,可以仅保留这些资源的配置信息。根据本发明的实施例,可以基于各种预定的标准,从多个候选资源中选择将要在目标***处配置的资源。
例如,在一个实施例中,可以基于“投票”机制来预测可能被使用的资源。具体而言,如果一个候选资源被超过预定数目的参考***使用,则可以确定该资源可能也将在目标***中被使用。反之,如果某个候选资源仅被一个或者少数几个参考***所使用,则这种资源可能具有一定的特殊性。相应地,目标***可以丢弃关于该候选资源的配置信息。以此方式,可以有效地避免由于配置不必要的资源而增加目标***负担或者延长预配置时间。
仅仅出于说明目的,以文件为例讨论一个具体示例。假设目标***从N个参考***接收资源配置信息,并且预定的投票阈值为M,其中N和M均为自然数,并且M小于或等于N。每个参考***指出当前在该参考***上被打开和使用的文件。只有当某个文件在M或者M个以上的参考***中都被打开和使用时,关于该文件的信息才被目标***保留。
除了投票之外或者作为备选,可以基于其他标准从来自多个参考服务器的候选资源中确定可能在目标***处被使用的资源。例如,可以向不同的参考服务器指派不同的权重。权重可以基于各种因素来确定,包括但不限于:目标***与参考***之间的工作负载相似度、任务类型相似度、机器计算能力的相似度、网络联通状况的相似度,等等。权重也可以由用户设置和/或修改。由此,在一个实施例中,由权重超过预定阈值的参考服务器所指定的一个或多个候选资源将被选择。相应地,在步骤S210处,可以保留关于这些资源的配置信息。
通过从参考***获取资源的配置信息,有利于准确地预先配置目标***处的资源。然而,在某些情况下,目标***可能无法从其他***获得有价值的资源配置信息。例如,集群中可能不存在与目标***具有相同或者相似工作负载或者任务类型的参考***。作为示例,目标***的任务类型(例如,数据备份)可能与可访问的所有其他***的任务类型(例如,业务处理)均不相同,由此不宜向其他***请求资源配置信息。又如,集群中的所有***可能由于电力供应中断之类的原因而全部停机。此时,第一个重启的***将无法从其他***获得信息。
为此,根据本发明的实施例,在步骤S210处,可以在目标***本地获取资源的配置信息。在一个实施例中,可以通过访问目标***的日志(log)或检查点(checkpoint)来检索资源配置信息。在此使用的术语“日志”是用于记录目标***在先前特定时间段内的***状态和/或行为的信息。在此使用的术语“检查点”是用于描述特定时间点的***状态和/或行为的信息。另外,术语“本地”表示日志或检查点在逻辑上与目标***相关联,并非限制日志或检查点的物理存储位置。
具体而言,在步骤S210处,目标***可以访问它自己的日志或检查点,从而确定在先前的一次或多次活跃运行期间,目标***上执行的事务使用了哪些资源。而且,还可以从日志或检查点中确定这些资源在先前使用中是如何配置的。以此方式,目标***可以从日志或检查点中检索到资源的配置信息。
将会理解,本地资源配置信息和来自参考***的资源配置信息可以结合使用。换言之,在已经从一个或多个参考***接收到资源配置信息的情况下,目标***同样可以使用来自日志或者检查点的信息作为补充。应当理解,在某些实施例中,目标***优先尝试从外部参考***获取资源配置信息。这样做可能是有益的,因为日志和/或检查点中的信息可能在特定的时间之后被转储到磁带之类的存储***中。在这种情况下,从参考***接收资源配置信息有利于获取的效率和信息的完整性。
图3示出了一个在***启动时获取资源配置信息的方法300的流程图。将会理解,图3中的方法300是方法200中的步骤S210的一个示例性实现,即,在***启动时获取资源的配置信息。
如图所示,方法300开始于步骤S310,在此响应于目标***的启动而确定是否存在适当的参考***。如上所述,例如可以基于工作负载、任务类型等各种因素来确定参考***。
在步骤S320处,如果确定没有适用于当前目标***的参考***(步骤S320的分支“否”),方法300进行到步骤S360,在此从目标***的日志或者检查点中检索所需的资源配置信息。可以理解,此时,日志或者检查点充当参考***的备选项。
反之,如果在步骤S320中确定存在适当的参考***(分支“是”),方法300进行到步骤S330,在此向参考***发送针对资源配置信息的请求。接下来,方法300在步骤S340处确定是否接收到了参考***的响应。
由于参考***停机、通信故障等原因,目标***可能在预定的等待时间内没有接收到来自参考***的响应(步骤S340的分支“否”)。此时,方法300进行到S360,以从日志或者检查点中检索资源配置信息。
如果在步骤S340处接收到了来自参考***的响应(分支“是”),方法300进行到步骤S350,在此保存接收到的一个或多个资源的配置信息。在一个实施例中,可以保存接收到的所有资源的配置信息。备选地,如上所述,也可以基于投票等各种机制,从接收到的候选资源中选择将要在目标***处被配置的资源(即,预计将在目标***处被使用的资源)。在这种实施例中,只有被选中的资源的有关配置信息被保存。
在步骤S350之后,方法300进行到步骤S360,在此从日志或检查点中检索资源的配置信息。此时,日志或者检查点充当参考服务器的补充。当然,可以理解,在执行步骤350之后可以不执行步骤S360。换言之,仅仅使用来自参考***的资源配置信息是可行的。
返回图2,继续讨论步骤S210。根据本发明的实施例,除了响应于***的启动而获取资源配置信息之外或者作为替代,可以在***的运行态获取资源的配置信息。在此使用的术语“运行态”是指目标***在完成启动过程之后的正常运行状态。
例如,在一个实施例中,集群中的一个或多个***可以实时地监测新近部署在该***上的事务。对于任何给定的***而言,新事务是指先前没有在该***上被执行过的事务。当一个***监测到新事务的执行时,该***可以收集该新事务使用的附加资源的附加配置信息,并且提供该附加配置信息。在一个实施例中,附加配置信息可被提供给集群的控制器。控制器转而可以将附加配置信息分发给集群中的其他相关***。备选地,关于附加资源的附加配置信息也可以通过点对点的方式在***之间直接传递。
在这样的实施例中,在步骤S210,目标***可以在运行态从一个或多个参考***接收附加资源的附加配置信息。以此方式,目标***随后可以对附加资源进行配置。这样,当相应的新事务随后被加载到目标***上执行时,新事务无需自己配置附加资源,因为这些资源已经在新事务请求或者说试图使用它们之前被目标***预先配置。以此方式,可以显著提高新事务的执行效率。
应当理解,上文结合***启动而描述的资源配置信息获取的特征,同样适用于目标***在运行态接收资源配置信息的情况。例如,在一个实施例中,仅当某个附加资源被集群中大于预定数目的参考***使用时,目标***才保留该附加资源的配置信息以便随后配置。
继续参考图2,方法200继而进行到步骤S220。在步骤S220处,基于在步骤S210处获得的配置信息,在目标***处配置相应的一个或多个资源。可以理解,在这些资源被配置时,目标***上的事务尚未尝试使用这些资源。实际上,此时,使用这些资源的事务可能根本尚未在目标***上开始执行。
特别地,在本公开内容的上下文中,对资源的预配置既包括完全配置,也包括部分配置。具体而言,在某些实施例中,在事务请求使用特定资源之前,已经在步骤S220处完成了对该资源的全部配置工作。备选地,在另一些实施例中,在应用请求使用资源时,该资源已在步骤S220处被部分地配置。此时,当事务开始使用该资源后,可以由事务和/或目标***继续完成剩余的配置工作。由此,在事务请求使用资源之前启动对该资源的配置操作的任何方案,均落入本发明的范围之内。
作为示例,在一个实施例中,在步骤S220处对资源的配置可以包括配置资源的访问状态,例如打开文件。备选地或附加地,步骤S220处的资源配置可以包括配置资源的存储状态,例如将数据从磁盘调入存储器中的指定存储段,或者将数据置入高速缓存中。备选地或附加地,在步骤S220处的资源配置可以包括配置资源的数据一致性,例如获得关于资源的锁,等等。
如上所述,根据本发明的实施例,在步骤S220处对这些资源的配置相对于事务而言是一种“预配置”,即,在事务请求使用资源之前的配置。以***启动为例,资源预配置可以在启动过程中完成。换言之,随着***启动过程的完成,可能在随后被事务使用的资源已经完成了配置。这样,当第一批事务被记载到***上时,它们无需再进行对这些资源的配置,而是可以直接使用这些资源来执行其正常操作。例如,在一个实施例中,可以在预配置的过程中打开事务需要使用的文件,调度事务要访问的数据,完成数据一致性设置,等等。这样,第一批事务可以在无数据冲突的情况下直接使用文件和数据,从而显著改善执行效率,避免由于“预热”而导致的效率问题。类似地,根据本发明的实施例,***上的新事务的执行效率也可得以改善。
在某些实施例中,方法200可以进行到步骤S230,在此根据监测在步骤S220处配置的一个或多个资源,并且在必要的情况下撤销对资源的配置。
可以理解,在步骤S220处对给定资源的预配置是基于如下预测而做出的,即,该资源随后可能被目标***上的事务使用。如果发现经过配置的资源并未被事务使用或者是很少被使用,则可以在步骤S230处恢复资源的初始状态,从而避免引起关于该资源的不必要的***间竞争。以此方式,可以有效地避免预测错误带来的潜在不利影响。
具体而言,在步骤S230处,可以在对资源完成配置之后的预定时间段内监测资源的使用次数。如果发现资源在该预定时间段内的使用次数小于预定阈值甚至根本未被使用,则可以将该资源恢复到步骤S220所执行的配置之前的状态。例如,如果一个文件在步骤S220处被打开,但是在随后的预定时间段内未被事务访问,则可以在步骤S230处关闭该文件。
可以理解,步骤S230是可选的(在图中以虚线示出)。例如,在某些实施例中,在对资源的预配置完成之后,可以不执行对资源使用情况的实时监测和相应的配置撤销动作。相反,可以在检测到资源冲突时,由***或者用户根据相应的冲突解决策略加以处理。
在某些实施例中,方法200可以进行到步骤S240,在此目标***可以向其他一个或多个***,提供该目标***上执行的新事务使用的附加资源的附加配置信息。换言之,除了可以在步骤S210处从其他参考***接收与附加资源的配置信息之外,目标***可以充当其他***的参考***。利用这种端对端的架构,能够非常有效地在***集群中传播关于新事务的资源配置情况。
具体而言,在这样的实施例中,在步骤S240,目标***可以在运行态实时监测新事务的执行。一旦监测到这种新事务,则收集关于该新事务使用的附加资源的附加配置信息。接下来,目标***可以提供生成的附加配置信息。如上所述,目标***可以将关于附加资源的附加配置信息直接提供给集群中的其他***,和/或提供给集群中的控制器以便由其转发。
作为示例,假设目标***在其他***空闲时(例如,夜间)执行了一项新的事务。此时,在步骤S240,关于该新事务使用的附加资源的附加配置信息可以被目标***收集并且提供给集群中的其他***,例如具有类似特性的***。这样,当其他***返回工作状态并且被加载该新事务时,该新事务可以被高效地执行。
类似于步骤S230,步骤S240同样是可选的(在图中以虚线示出)。换言之,目标***可以仅从其他参考***收集与新事务有关的资源配置信息,而不向其他***提供此类信息。
图4示出了根据本发明实施例的用于资源预配置的装置400的示意性框图。如图所示,装置400包括:配置信息获取单元410,被配置为在目标***处获得关于资源的配置信息,所述资源预计将被所述目标***上执行的事务使用;以及资源配置单元420,被配置为在所述事务请求使用所述资源之前,基于所述配置信息在所述目标***处配置所述资源。
在一个实施例中,所述配置信息获取单元410可以包括:启动态获取单元,被配置为响应于所述目标***的启动而获得关于所述资源的所述配置信息。相应地,所述资源配置单元420包括:启动态配置单元,被配置为在所述目标***的所述启动过程中,基于所述配置信息配置所述资源。
在一个实施例中,所述配置信息获取单元410可以包括:配置信息接收单元,被配置为从参考***接收关于所述资源的所述配置信息,所述参考***不同于所述目标***。
在这样的实施例中,装置400还可以包括:参考***选择单元,被配置为选择与所述目标***具有相同或相似特性的***作为所述参考***,所述特性包括工作负载和任务类型中的至少一个。
在一个实施例中,配置信息接收单元被配置为从所述参考***接收关于候选资源的配置信息。在此实施例中,装置400还可以包括:资源确定单元,被配置为基于预定标准从所述候选资源中确定预计将被所述目标***上执行的所述事务使用的所述资源。
在一个实施例中,所述配置信息接收单元可以包括:运行态接收单元,被配置为在所述目标***的运行态,从所述参考***接收关于所述资源的所述配置信息。
在一个实施例中,装置400还可以包括:附加资源跟踪单元,被配置为响应于新事务在所述目标***上被执行,收集关于所述新事务使用的附加资源的附加配置信息;以及附加资源报告单元,被配置为提供关于所述附加资源的所述附加配置信息。
在一个实施例中,所述配置信息获取单元410可以包括:日志访问单元,被配置为访问所述目标***的日志或者检查点;以及配置信息检索单元,被配置为从所述日志或者检查点中检索所述资源的所述配置信息。
在一个实施例中,装置400还可以包括:配置恢复单元,被配置为响应于所述资源在被配置之后的预定时段内被使用的次数小于预定阈值,恢复所述资源在配置前的状态。
在一个实施例中,所述资源配置单元420可以包括以下至少一个:访问状态配置单元,被配置为配置所述资源的访问状态;存储状态配置单元,被配置为配置所述资源的存储状态;以及一致性状态配置单元,被配置为配置所述资源的数据一致性状态。
应当注意,为清晰起见,图4中没有示出装置400所包括的可选单元或者子单元。上文所描述的所有特征和操作分别适用于装置400,故在此不再赘述。而且,装置400中的单元或子单元的划分不是限制性的而是示例性的,旨在从逻辑上描述其主要功能或操作。一个单元的功能可以由多个单元来实现;反之,多个单元亦可由一个单元来实现。本发明的范围在此方面不受限制。
而且,装置400所包含的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,装置400可以利用软件和/或固件来实现。备选地或附加地,装置400可以部分地或者完全地基于硬件来实现。例如,装置400中的一个或多个单元可以实现为集成电路(IC)芯片、专用集成电路(ASIC)、片上***(SOC)、现场可编程门阵列(FPGA),等等。本发明的范围在此方面不受限制。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是—但不限于—电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
计算机可读程序指令也可加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (20)

1.一种用于资源预配置的方法,所述方法包括:
在目标***处获得关于资源的配置信息,所述资源预计将被所述目标***上执行的事务使用;以及
在所述事务请求使用所述资源之前,基于所述配置信息在所述目标***处配置所述资源。
2.根据权利要求1所述的方法,
其中在目标***处获得关于资源的配置信息包括:响应于所述目标***的启动而获得关于所述资源的所述配置信息,以及
其中基于所述配置信息在所述目标***处配置所述资源包括:在所述目标***的所述启动过程中,基于所述配置信息配置所述资源。
3.根据权利要求1或2所述的方法,其中在目标***处获得关于资源的配置信息包括:
从参考***接收关于所述资源的所述配置信息,所述参考***不同于所述目标***。
4.根据权利要求3所述的方法,还包括:
选择与所述目标***具有相同或相似特性的***作为所述参考***,所述特性包括工作负载和任务类型中的至少一个。
5.根据权利要求3所述的方法,其中从参考***接收关于所述资源的所述配置信息包括:
从所述参考***接收关于候选资源的配置信息;以及
基于预定标准从所述候选资源中确定预计将被所述目标***上执行的所述事务使用的所述资源。
6.根据权利要求3所述的方法,其中从参考***接收关于所述资源的所述配置信息包括:
在所述目标***的运行态,从所述参考***接收关于所述资源的所述配置信息。
7.根据权利要求1或2所述的方法,还包括:
响应于新事务在所述目标***上被执行,收集关于所述新事务使用的附加资源的附加配置信息;以及
提供关于所述附加资源的所述附加配置信息。
8.根据权利要求1或2所述的方法,其中在目标***处获得关于资源的配置信息包括:
访问所述目标***的日志或者检查点;以及
从所述日志或者检查点中检索所述资源的所述配置信息。
9.根据权利要求1或2所述的方法,还包括:
响应于所述资源在被配置之后的预定时段内被使用的次数小于预定阈值,恢复所述资源在配置前的状态。
10.根据权利要求1或2所述的方法,其中基于所述配置信息在所述目标***处配置所述资源包括以下至少一个:
配置所述资源的访问状态;
配置所述资源的存储状态;以及
配置所述资源的数据一致性状态。
11.一种用于***中的资源预配置的装置,所述装置包括:
配置信息获取单元,被配置为在目标***处获得关于资源的配置信息,所述资源预计将被所述目标***上执行的事务使用;以及
资源配置单元,被配置为在所述事务请求使用所述资源之前,基于所述配置信息在所述目标***处配置所述资源。
12.根据权利要求11所述的装置,
其中所述配置信息获取单元包括:启动态获取单元,被配置为响应于所述目标***的启动而获得关于所述资源的所述配置信息,以及
其中所述资源配置单元包括:启动态配置单元,被配置为在所述目标***的所述启动过程中,基于所述配置信息配置所述资源。
13.根据权利要求11或12所述的装置,其中所述配置信息获取单元包括:
配置信息接收单元,被配置为从参考***接收关于所述资源的所述配置信息,所述参考***不同于所述目标***。
14.根据权利要求13所述的装置,还包括:
参考***选择单元,被配置为选择与所述目标***具有相同或相似特性的***作为所述参考***,所述特性包括工作负载和任务类型中的至少一个。
15.根据权利要求13所述的装置,其中所述配置信息接收单元被配置为从所述参考***接收关于候选资源的配置信息,所述装置还包括:
资源确定单元,被配置为基于预定标准从所述候选资源中确定预计将被所述目标***上执行的所述事务使用的所述资源。
16.根据权利要求13所述的装置,其中所述配置信息接收单元包括:
运行态接收单元,被配置为在所述目标***的运行态,从所述参考***接收关于所述资源的所述配置信息。
17.根据权利要求11或12所述的装置,还包括:
附加资源跟踪单元,被配置为响应于新事务在所述目标***上被执行,收集关于所述新事务使用的附加资源的附加配置信息;以及
附加资源报告单元,被配置为提供关于所述附加资源的所述附加配置信息。
18.根据权利要求11或12所述的装置,其中所述配置信息获取单元包括:
日志访问单元,被配置为访问所述目标***的日志或者检查点;以及
配置信息检索单元,被配置为从所述日志或者检查点中检索所述资源的所述配置信息。
19.根据权利要求11或12所述的装置,还包括:
配置恢复单元,被配置为响应于所述资源在被配置之后的预定时段内被使用的次数小于预定阈值,恢复所述资源在配置前的状态。
20.根据权利要求11或12所述的装置,其中所述资源配置单元包括以下至少一个:
访问状态配置单元,被配置为配置所述资源的访问状态;
存储状态配置单元,被配置为配置所述资源的存储状态;以及
一致性状态配置单元,被配置为配置所述资源的数据一致性状态。
CN201410301955.0A 2014-06-27 2014-06-27 用于资源预配置的方法和装置 Pending CN105204923A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410301955.0A CN105204923A (zh) 2014-06-27 2014-06-27 用于资源预配置的方法和装置
US14/730,258 US9990231B2 (en) 2014-06-27 2015-06-04 Resource pre-configuration
US15/949,272 US20180225148A1 (en) 2014-06-27 2018-04-10 Resource pre-configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410301955.0A CN105204923A (zh) 2014-06-27 2014-06-27 用于资源预配置的方法和装置

Publications (1)

Publication Number Publication Date
CN105204923A true CN105204923A (zh) 2015-12-30

Family

ID=54930614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410301955.0A Pending CN105204923A (zh) 2014-06-27 2014-06-27 用于资源预配置的方法和装置

Country Status (2)

Country Link
US (2) US9990231B2 (zh)
CN (1) CN105204923A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908870A (zh) * 2019-11-28 2020-03-24 中国银行股份有限公司 一种大型机的资源监控方法、装置、存储介质及设备
TWI725110B (zh) * 2017-01-19 2021-04-21 香港商阿里巴巴集團服務有限公司 資料庫操作方法及裝置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489351B2 (en) * 2016-12-19 2019-11-26 Quantum Corporation Heuristic journal reservations
CN111694889A (zh) * 2020-06-12 2020-09-22 百度在线网络技术(北京)有限公司 数据处理方法、装置、电子设备及可读存储介质
CN113934480A (zh) * 2020-07-14 2022-01-14 西安诺瓦星云科技股份有限公司 图层资源配置方法、装置和***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222723A1 (en) * 2006-05-01 2008-09-11 Varun Bhagwan Monitoring and controlling applications executing in a computing node
US20100211681A1 (en) * 2009-02-19 2010-08-19 Oracle International Corporation Intelligent flood control management
US8458517B1 (en) * 2010-04-30 2013-06-04 Amazon Technologies, Inc. System and method for checkpointing state in a distributed system
CN103164254A (zh) * 2011-09-21 2013-06-19 国际商业机器公司 用于维持镜像虚拟环境中存储装置的一致性的方法和***
CN103399797A (zh) * 2013-07-19 2013-11-20 华为技术有限公司 服务器资源配置方法及装置
CN103810036A (zh) * 2012-11-07 2014-05-21 国际商业机器公司 移动性操作资源分配

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20050188075A1 (en) * 2004-01-22 2005-08-25 International Business Machines Corporation System and method for supporting transaction and parallel services in a clustered system based on a service level agreement
US7502333B2 (en) * 2004-03-23 2009-03-10 Hewlett-Packard Development Company, L.P. Pre-configured topology with connection management
US7587400B2 (en) * 2004-08-12 2009-09-08 Oracle International Corporation Suspending a result set and continuing from a suspended result set for transparent session migration
US8010337B2 (en) * 2004-09-22 2011-08-30 Microsoft Corporation Predicting database system performance
US8117505B2 (en) * 2005-11-07 2012-02-14 Microsoft Corporation Resource exhaustion prediction, detection, diagnosis and correction
US7640353B2 (en) * 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
US8332375B2 (en) * 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US8224845B2 (en) * 2008-01-21 2012-07-17 International Business Machines Corporation Transaction prediction modeling method
US8631094B1 (en) 2008-08-08 2014-01-14 Google Inc. Distributed parallel determination of single and multiple source shortest paths in large directed graphs
US8112587B2 (en) * 2009-04-30 2012-02-07 International Business Machines Corporation Shared data prefetching with memory region cache line monitoring
US9069881B2 (en) * 2012-01-09 2015-06-30 International Business Machines Corporation Adaptation of probing frequency for resource consumption
US9141637B2 (en) * 2012-09-26 2015-09-22 International Business Machines Corporation Predictive data management in a networked computing environment
US9483356B2 (en) * 2013-03-06 2016-11-01 Quantum Corporation Heuristic journal reservations
CN103198122B (zh) 2013-04-02 2017-09-29 华为技术有限公司 重启内存数据库的方法和装置
US10489175B2 (en) * 2013-06-10 2019-11-26 Amazon Technologies, Inc. Pre-configure and pre-launch compute resources

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222723A1 (en) * 2006-05-01 2008-09-11 Varun Bhagwan Monitoring and controlling applications executing in a computing node
US20100211681A1 (en) * 2009-02-19 2010-08-19 Oracle International Corporation Intelligent flood control management
US8458517B1 (en) * 2010-04-30 2013-06-04 Amazon Technologies, Inc. System and method for checkpointing state in a distributed system
CN103164254A (zh) * 2011-09-21 2013-06-19 国际商业机器公司 用于维持镜像虚拟环境中存储装置的一致性的方法和***
CN103810036A (zh) * 2012-11-07 2014-05-21 国际商业机器公司 移动性操作资源分配
CN103399797A (zh) * 2013-07-19 2013-11-20 华为技术有限公司 服务器资源配置方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI725110B (zh) * 2017-01-19 2021-04-21 香港商阿里巴巴集團服務有限公司 資料庫操作方法及裝置
CN110908870A (zh) * 2019-11-28 2020-03-24 中国银行股份有限公司 一种大型机的资源监控方法、装置、存储介质及设备
CN110908870B (zh) * 2019-11-28 2023-11-21 中国银行股份有限公司 一种大型机的资源监控方法、装置、存储介质及设备

Also Published As

Publication number Publication date
US20180225148A1 (en) 2018-08-09
US9990231B2 (en) 2018-06-05
US20150378829A1 (en) 2015-12-31

Similar Documents

Publication Publication Date Title
RU2646323C2 (ru) Технологии для выделения конфигурируемых вычислительных ресурсов
CN104516943B (zh) 用于阻止数据库计算***中的事务暂停的方法和***
US10579459B2 (en) Log events for root cause error diagnosis
CN105339939B (zh) 对在线热备份数据库的复制
US9406023B2 (en) System recommendations based on incident analysis
CN101689161B (zh) 自动管理计算机网络中的***停机时间
US9680893B2 (en) Method and system for event state management in stream processing
US9535754B1 (en) Dynamic provisioning of computing resources
EP3798930A2 (en) Machine learning training resource management
AU2016259300B1 (en) Machine for development of analytical models
US20150081639A1 (en) Optimizing the number and type of database backups to achieve a given recovery time objective (rto)
CN105204923A (zh) 用于资源预配置的方法和装置
CN108369489B (zh) 预测固态驱动器可靠性
CN103403674A (zh) 执行基于策略的改变过程
US10884839B2 (en) Processing system for performing predictive error resolution and dynamic system configuration control
CN113657715A (zh) 一种基于核密度估计调用链的根因定位方法及***
CN105893171A (zh) 存储设备中用于故障恢复的方法和装置
US20060005080A1 (en) Event logging and analysis in a software system
EP3798931A1 (en) Machine learning training resource management
WO2011016798A1 (en) Linking model instances to packages
US10936368B2 (en) Workload management with delegated correction of execution issues for improving a functioning of computing machines
KR102309806B1 (ko) 실시간 가상 서버 성능 데이터의 중앙 집중화 및 진단을 위한 시스템 및 방법
CN102841842B (zh) 用于下一代测试***的自动化控制器
CN102426535A (zh) 动态进程虚拟化
US20110251867A1 (en) Method and system for integrated operations and service support

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151230