基于单次访问检查维护多个计数器的制作方法

文档序号:12512609阅读:148来源:国知局
基于单次访问检查维护多个计数器的制作方法与工艺

本发明一般地涉及基于单次访问检查维护多个计数器,更具体地说,涉及通过关于计数器集的访问控件的一次检查而保存该计数器集内的所有计数器以实现高效的计数器维护的指令。

随着计算机系统复杂性的增加,硬件插装(instrumentation)计数器的数量增加以便洞悉硬件性能。使用硬件维护客户端应用的操作系统收集这些插装计数器,以了解工作负载如何执行。这些插装计数器通常被组合成收集有关公共子系统的信息的计数器集。每个计数器集包括关联的激活和授权控件。当前,当维护插装计数器时,每次只提取一个计数器。因此,对于计数器集中的每个计数器,必须对该计数器执行访问检查,这导致额外的间接处理。



技术实现要素:

根据本发明的一实施例,一种实现多个计数器的维护指令(servinginstruction)的方法包括:基于所述维护指令确定计数器集;判定对所述计数器集的访问是否被授权;基于所述维护指令并响应于判定所述访问被授权,确定存储器中的存储块;响应于判定所述访问被授权,提取所述计数器集内的所述多个计数器;以及将所述多个计数器存储在所述存储块中。

通过本发明的技术实现了附加的特征和优点。本发明的其它实施例和方面在本文中被详细描述并且被认为是要求保护的本发明的一部分。为了更好地理解本发明的优点和特征,请参阅说明书和附图。

附图说明

被认为是本发明的主题在说明书结尾处的权利要求书中特别地指出并明确要求保护。当结合附图阅读下面的详细描述时,本发明的上述和其它特征以及优点是显而易见的,在所述附图中:

图1示出维护系统的计算设备示意图;

图2A-B进一步示出维护系统的计算设备示意图的组件;

图3示出维护系统的处理流程;

图4示出维护指令的图;以及

图5示出维护系统的另一处理流程。

具体实施方式

如上所述,计数器的当前跟踪和提取方法为操作系统提供了额外的开销。因此,需要一种仅通过关于计数器集的访问控件的一次检查保存该计数器集内的所有计数器以实现高效的计数器维护的指令。

一般来说,这里公开的本发明的实施例可以包括执行用于经由整组提取到存储来维护多个计数器的指令的维护系统、方法和/或计算机程序产品(“维护系统”)。例如,多个计数器中的每一个与多个授权或访问控件相关联。进一步地,一些计数器可能与重叠的授权控件集相关联(因此被分组到计数器集中)。继而,基于该指令,维护系统选择计数器集并验证或检查该计数器集的授权控件。一旦维护系统确认授权控件,则维护系统从多个计数器中提取与该计数器集相关联的指定数量的计数器作为一组,并将计数器组存储在存储块中。以这种方式,维护系统提高了维护多个计数器的效率,因为不单独处理每个计数器的授权控件并且因此不单独消耗处理资源。

现在参考图1,示出了包括计算设备112的维护系统100的一个实例。维护系统100仅是合适的计算节点的一个实例,并非旨在暗示对本文所描述的本发明的实施例的使用范围或可操作性的任何限制(实际上可以使用附加或替代的组件和/或实施方式)。也就是说,维护系统100及其中的元件可以采用许多不同的形式,并且包括多个和/或替代的部件和工具。此外,如本文所述,维护系统100可以包括和/或采用利用各种通信技术的任何数量和组合的计算设备和网络。无论如何,维护系统100能够实现和/或执行本文阐述的任何可操作性。

在维护系统100中,存在计算设备112,其可与许多其它通用或专用计算系统环境或配置一起操作。诸如维护系统100和/或计算设备112之类的系统和/或计算设备可以采用多个计算机操作系统中的任何一个,其中包括但不限于位于纽约阿蒙克的国际商业机器公司发行的AIX UNIX和z/OS操作系统的各种版本和/或变体、Microsoft Windows操作系统、Unix操作系统(例如,由位于加利福尼亚红杉海岸的Oracle公司发行的Solaris操作系统)、Linux操作系统、由位于加利福尼亚州库比蒂诺的Apple Inc.发行的Mac OS X和iOS操作系统、由位于加拿大滑铁卢的Research InMotion发行的BlackBerry OS以及由开放手机联盟开发的Android操作系统。可以适于与计算设备112一起使用的计算系统、环境和/或配置的实例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、厚客户端、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒/可编程消费电子产品、网络PC、小型计算机系统、计算机工作站、服务器、台式计算机、笔记本电脑、网络设备、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。

计算设备112可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算设备112可以在分布式云计算环境中实施,其中任务由通过通信网络链接的远程处理设备完成。在分布式云计算环境中,程序模块可以位于包括内存存储设备的本地和远程计算机系统存储介质中。

如图1所示,以通用计算设备的形式示出了维护系统100中的计算设备112,该通用计算设备基于维护系统100、其方法和/或其元件的操作和功能得以完善。计算设备112的组件可以包括但不限于一个或多个处理器或处理单元(例如,包括支持多个线程115的至少一个核心114a的处理器114;例如,维护系统100包括含有两个或更多个线程115的处理器114的核心114a;例如,处理器114包括被划分为计数器集116a和授权控件116b的计数器)、存储器117和总线118,总线118耦合包括处理器114和存储器117的各种系统组件。计算设备112通常还包括各种计算机系统可读介质。此类介质可以是能够由计算设备112访问的任何可用介质,并且同时包括易失性和非易失性介质、可移动和不可移动介质。

处理器114可以从存储器117接收计算机可读程序指令并执行这些指令,从而执行由维护系统100定义的一个或多个处理。处理器114可以包括由通过执行算术、逻辑运算和/或输入/输出操作来执行计算机可读程序指令的计算设备114所使用的任何处理硬件、软件或硬件和软件的组合。处理器114和核心114a硬件子单元的实例包括但不限于执行算术和逻辑运算的算术逻辑单元;从存储器提取、解码和执行指令的控制单元。

图2A示出了包括耦合到控制器215的处理器114的计算环境的一个实施例。在一个实例中,基于z/Architecture的计算环境包括由位于纽约阿蒙克的国际商业机器公司提供的System z服务器。计算设备112能够包括例如一个或多个物理核心(例如,核心1-核心m),这些物理核心运行管理一个或多个分区(例如,逻辑分区1-逻辑分区n)的0级系统管理程序214(例如,逻辑分区管理器)。控制器215能够包括负责在不同核心请求之间进行仲裁的集中式逻辑。例如,当控制器215接收到存储器访问请求时,其判定是否允许对该存储器位置的访问,并且如果是,则向处理器114提供该存储器位置的内容,同时保持该复合体内的处理器之间的存储器一致性。另一控制器215可以管理去往和来自图1所示的I/O接口130和网络适配器132的请求。

物理核心被分配给逻辑分区。逻辑分区能够包括一个或多个逻辑处理器,每个逻辑处理器表示被分配给该分区的物理处理器资源的全部或一部分。物理核心可以专用于特定分区的逻辑核心,以使得为该分区保留底层核心的物理处理器资源;或与另一分区的逻辑核心共享,以使得底层核心资源的物理处理器资源潜在地可用于另一分区。每个逻辑分区能够作为单独的系统工作。也就是说,如果需要,每个逻辑分区能够被独立地重置,初始加载有操作系统(例如,操作系统1-操作系统n),并且通过不同的程序执行操作。在逻辑分区中运行的操作系统或应用程序似乎能够访问完整的系统,但是实际上,只有整个系统的一部分是可用的。硬件和许可内部代码(也称为固件、微代码或毫代码)的组合使得一个逻辑分区中的程序无法访问或干扰另一逻辑分区中的程序。这允许数个不同的逻辑分区以时间分片的方式在单个或多个物理核心上操作。在一个实施例中,每个物理核心包括一个或多个中央处理器(这里也称为“物理线程”)。在图2A所示的实例中,每个逻辑分区具有驻留操作系统,其对于一个或多个逻辑分区而言可以不同。每个逻辑分区是其中能够运行操作系统的虚拟机或客户机配置的一个实例。

在图2A所示的实施例中,逻辑分区1-逻辑分区n由0级系统管理程序214(由在物理核心1-核心m上运行的固件实现)管理。逻辑分区1-逻辑分区n和系统管理程序214均包括驻留在与物理核心1-物理核心m相关联的中央存储(存储器)的相应部分中的一个或多个程序。系统管理程序214的一个实例是由位于纽约阿蒙克的国际商业机器公司提供的ProcessorResource/System Manager(PR/SM TM)。

图2B示出了多个计数器集116a和相应的多个授权控件116b的一个实施例,其中每个计数器(例如CNTR 1.1、CNTR 1.2、CNTR 1.3、CNTR2.1、CNTR 2.2、CNTR 2.3、CNTR 2.4、CNTR 3.1、CNTR 3.2和CNTRZY)与授权控件(例如AC 1、AC 2、AC 3和AC Z)相关联。继而,基于该指令,维护系统100选择计数器集116a.1、116a.2、116a.3等,并且验证或检查相应的授权控件AC 1、AC 2、AC 3等。计数器能够是二进制程序计数器,其可以是处理器114硬件中的众多寄存器之一。此外,计数器可以是一组二进制锁存器,每个二进制锁存器表示计数器的值的一个位,其中位的数量(计数器的宽度)与处理器架构相关。如果计数器是二进制计数器,则它可以在脉冲被施加到其计数输入时递增。

返回到图1,存储器117可以包括保持和存储由维护系统100提供的计算机可读程序指令以供计算设备112的处理器114使用的有形设备。存储器117能够包括诸如随机存取存储器(RAM)120、高速缓冲存储器122和/或存储系统124之类的易失性存储器形式的计算机系统可读介质。总线118表示几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用各种总线体系结构中的任一种的处理器或局部总线。作为实例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外围组件互连(PCI)总线。

仅作为实例,能够提供存储系统124以实现针对不可移动、非易失性磁介质(未示出并且通常称为“硬盘驱动器”)的读写操作。尽管未示出,但是能够提供实现针对可移动、非易失性磁盘(例如,“软盘”)的读写操作的磁盘驱动器,以及用于实现针对可移动、非易失性光盘(诸如CD-ROM、DVD-ROM或其它光介质)的读写操作的光盘驱动器。在这些情况下,每个驱动器都能够通过一个或多个数据介质接口连接到总线118。如将在下面进一步示出和描述的,存储器117可以包括具有被配置为执行本发明的实施例的操作的一组(例如,至少一个)程序模块的至少一个程序产品。存储系统124(和/或存储器117)可以包括数据库、数据储存库或其它数据存储,并且可以包括用于存储、访问和取回各种数据的各种机制,其中包括分层数据库、文件系统中的一组文件、采取专用格式的应用数据库、关系数据库管理系统(RDBMS)等。如图所示,存储系统124通常可以被包括在计算设备112内、采用计算机操作系统(例如上述操作系统之一),并且以各种方式中的任何一种或多种通过网络被访问。

具有一组(至少一个)程序模块128的程序/实用程序126可以作为实例而非限制地与操作系统、一个或多个应用程序、其它程序模块和程序数据一起存储到存储器117。操作系统、一个或多个应用程序、其它程序模块、以及程序数据中的每一者或它们的某种组合可以包括联网环境的实现。

计算设备112还可以经由输入/输出(I/O)接口130和/或经由网络适配器132进行通信。I/O接口130和/或网络适配器132可以包括计算设备112用于在计算设备112内部和/或外部的元件之间通信的物理和/或虚拟机制。例如,I/O接口130可以与一个或多个外部设备140(诸如键盘、指点设备、显示器140等)通信;与一个或多个允许用户与计算设备112交互的设备通信;和/或与允许计算设备112与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)通信。此外,计算设备112能够经由网络适配器132与诸如局域网(LAN)、通常的广域网(WAN)和/或公共网络(例如,因特网)之类的一个或多个网络通信。因此,I/O接口130和/或网络适配器132可以被配置为在计算设备112内或针对计算设备112接收或发送信号或数据。如图所示,I/O接口130和网络适配器132经由总线118与其它计算设备112的其它组件通信。应当理解,尽管未示出,但是可以结合计算设备112使用其它硬件和/或软件组件。实例包括但不限于:微代码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器、以及数据归档存储系统等。

尽管图1示出了维护系统100的单一项(以及其它项),但是这些表示并非旨在是限制性的,因此,任何项可以表示多个项。例如,处理器114可以包括多个计数器,每个计数器基于这里描述的维护指令而被维护。

因此,鉴于上述内容,将参考图3描述维护系统100的指令的一个实施例,图3示出了仅通过对应于计数器集的访问控件的一次验证或检查将该计数器集内的所有计数器保存到块存储中的处理流程300。需要指出,指令(“维护指令”)的参数包括该计数器集中需要存储的计数器数量(例如,第一操作数)、存储器地址(例如,第二操作数)、以及计数器集(例如,第三操作数)。需要指出,通常,由第一和第三操作数指定的一系列计数器的内容被存储到由第二操作数指定的地址。为了帮助描述处理流程300,将参照图4描述维护指令的一个实施例,图4示出了图400。图400是存储器中的维护指令的布局的一个实例(例如,位0到47),其中'EB'字段是指定或识别指令的操作码,R_1字段是第一操作数,M_3是第三操作数,B_2、DH_2和DL_2字段组合形成第二操作数,以及指定操作码扩展名的'17'字段,操作码扩展名随同操作码一起指定或识别该指令。

返回到图3,当维护系统100接收到维护指令(例如,'EB'和'17'字段所识别的维护指令)时,处理流程300将从起始框305开始,其中维护系统100从维护指令读取要从多个计数器提取的计数器集。如图4所示,M_3字段是指定从多个计数器提取的计数器集的编码字段。也就是说,M_3字段指定用于指示要存储的计数器集的代码,并且如果M_3字段指定保留值,则可能识别到规范异常。例如,M_3字段可以按照以下方式指定计数器集:'0'是扩展计数器集;'1'是基本计数器集;'2'是问题状态计数器集等等。每个计数器集都有自己的授权。因此,基于M_3字段指定的计数器集,将检查特定的授权。

接下来,在判定框310,维护系统100针对在框305中指定的计数器集执行单次访问检查。例如,基于指定的计数器集116a.1、116a.2、116a.3等,维护系统100验证或检查相应的授权控件AC 1、AC 2、AC 3等。如果访问检查通过,则处理流程300继续到(例如,如“通过”箭头所示)框315,其中维护系统100基于维护指令的存储器地址定义在其中执行提取的存储块的起始地址。如图4所示,第二操作数是存储器块(维护系统100将计数器存储到该存储器块)的地址。第二操作数基于位20至39(例如,来自DL_2和DH_2字段的二十位值)的内容和由位16至19(例如,B_2字段)指定的寄存器的内容。例如,DH_2字段的位值被与DL_2字段的位值相串接以创建20位有符号数,该有符号数被与由B_2字段指定的寄存器中的位值相加以计算该地址。

然后,在框320,维护系统100识别计数器集中的计数器数量。在此情况下,必须确定计数器集中的计数器数量,以便维护系统100可以将能够被保存在块存储中的计数器数量与计数器集被授权情况下的位于计数器集中的计数器数量相比较。

进一步地,处理流程300继续到决策框325,其中相对于计数器集中的计数器数量来检查由维护指令定义的计数器集的计数器数量。如图所示,第一操作数是通用寄存器,其指定要存储的计数器数量(例如,由图4的R_1字段的位8至11指定的寄存器中的值)。因此,第一操作数是所请求的计数器数量,并且被与维护系统100知道的计数器集中的计数器数量进行比较。

如果所请求的计数器数量等于计数器集中的计数器数量,则条件代码被设定为第一值,例如0,并且计数器集中的所有计数器被维护系统100存储(例如,如“0”箭头、框330和框342所示)。例如,如图2B所示,如果指定计数器集116a.1并且所请求的计数器数量为3,则因为计数器集116a.1包括等于所请求的计数器数量的三个计数器CNTR1.1、CNTR1.2、CNTR1.3,所以条件代码设定为0。条件代码可以是维护系统100例如在硬件实施例中输出的值;但是,它可以与仿真器实施例的返回代码互换地使用,如下面进一步描述的。

如果所请求的计数器数量小于计数器集中的计数器数量,则条件代码被设定为第二值,例如1,并且计数器集中的计数器子集被维护系统100存储(例如,如“1”箭头、框335和框342所示)。例如,如图2B所示,如果指定计数器集116a.2并且所请求的计数器数量为3,则因为计数器集116a.2包括大于所请求的计数器数量的四个计数器CNTR 2.1、CNTR 2.2、CNTR 2.3、CNTR 2.4,所以条件代码被设定为1。

如果所请求的计数器数量大于计数器集中的计数器数量,则条件代码被设定为第三值,例如2,并且计数器集中的所有计数器被服务存储系统100存储(例如,如“2”箭头、框340和框342所示)。例如,如图2B所示,如果指定计数器集116a.3并且所请求的计数器数量为3,则因为计数器集116a.3包括小于所请求的计数器集数量的两个计数器CNTR 3.1、CNTR 3.2,所以条件代码被设定为2。

返回到框310,如果访问检查未通过,则条件代码被设定为第四值,例如3,并且计数器集不被维护系统100进行块存储(例如,如“失败”箭头、框345和框350所示)。需要指出,当条件代码是第四值时,或者维护系统100不具备对计数器集的授权,或者由维护指令定义的计数器集中的计数器数量为0。

将参考图5描述维护系统100的维护指令的另一实施例,图5示出了处理流程500。处理流程500从起始框505开始,其中维护系统100将指令识别为维护指令(例如,由图4的'EB'和'17'字段识别)。接下来,在框510,维护系统100从维护指令中识别计数器集(例如,如图4的M_3字段所识别的)。然后,在框515,维护系统100针对在框505中指定的计数器集执行单次访问检查。

如果访问检查通过,则处理流程500继续(例如,如“通过”箭头所示)到框520,其中维护系统100计算由维护指令定义的存储地址(例如,DH_2字段的位值与DL_2字段的位值被串接以创建20位有符号数,该有符号数被与由B_2字段指定的寄存器中的位值相加以计算该地址)。然后,在框525,维护系统100将维护指令所请求的计数器数量与计数器集中的计数器数量(例如,由图4的R_1字段的位8至11指定的寄存器中的值)相比较。在框530,计数器被存储到所计算的存储地址(例如,由维护系统100维护)。进一步地,基于所述比较,维护系统100在框535设定返回代码。返回代码可以是由维护系统100例如在仿真器实施例中输出的值;但是它可以与上面进一步描述的硬件实施例的条件代码互换地使用。

如果访问检查未通过,则处理流程500继续(例如,如“失败”箭头所示)到框550,其中指令执行完成且指示访问检查未通过(例如,设定返回代码或用信号通知异常)。

鉴于本文描述的处理流程实例(例如,300、400),维护系统100可以基于随着计数器集、存储器块和/或计数器数量返回的特定错误来执行程序中断代码。程序中断代码使维护过程基于错误条件而退出。例如,如果由指令中的第二操作数指定的地址不是有效的操作数,则维护系统100可以处理访问异常(例如,如果地址位于存储器的允许范围之外或者被维护系统100页出,则发出访问程序中断)。如果维护系统100正在使用比指令支持的硬件更旧的硬件,则维护系统100可以处理操作异常(例如,如果没有安装store-CPU-counter-multiple工具,则发出操作程序中断)。如果在不处于监督状态时执行指令,则维护系统100可以处理特权操作异常(例如,如果应用尝试访问计数器并且不被允许,则发出特权程序中断)。如果指令定义了无效参数、如果指定了无效计数器集、如果计数器请求过大、或者如果第二操作数的地址不在双字边界上,则维护系统100可以处理规范异常(例如,如果计数器集被保留,则发出规范程序中断)。如果指令尝试在处理器中的硬件事务内部执行,则维护系统100可以处理事务约束异常(例如,如果这样,则发出事务约束程序中断)。

一般来说,计算设备可以包括处理器(例如,图1的处理器114)和计算机可读存储介质(例如,图1的存储器117),其中处理器例如从计算机可读存储介质接收计算机可读程序指令,并且执行这些指令,从而执行一个或多个处理,其中包括在此描述的一个或多个处理。

计算机可读程序指令可以根据使用汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令,状态设置数据或源代码或目标代码创建的计算机程序进行编译或解译,上述代码可以以一种或多种程序设计语言的任意组合来编写,所述程序设计语言包括面向对象的程序设计语言—诸如Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机可读程序指令可以完全地在计算设备上执行、部分地在计算设备上执行、作为一个独立的软件包执行、部分在本地计算设备上部分在远程计算设备上执行、或者完全在远程计算设备上执行。在涉及远程计算设备的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到本地计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以便执行本发明的各方面。本文所述的计算机可读程序指令还可以经由网络(例如,支持通信的计算设备和连接的任何组合)从计算机可读存储介质或外部计算机或外部存储设备下载到相应的计算/处理设备。例如,网络可以是因特网、局域网、广域网和/或无线网络,包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器,并且利用多种通信技术,诸如无线电技术,蜂窝技术等。

计算机可读存储介质可以是保持和存储由指令执行设备(如上述的计算机设备)使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

因此,所述维护系统和方法和/或其元件可以被实现为一个或多个计算设备上的计算机可读程序指令,这些指令被存储在与其相关联的计算机可读存储介质上。计算机程序产品可以包括存储在计算机可读存储介质上的此类计算机可读程序指令,其用于执行和/或使处理器执行维护系统和方法的操作。由于通过单次指令和访问检查存储多个计数器的能力(这提高了处理资源效率和速度),所实现和/或要求保护的维护系统和方法和/或其元件改进了计算机和/或处理器本身的功能。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

已经出于例示目的给出了本发明的各种实施例的描述,但是这些描述并非旨在是穷举的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

此处使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的那样,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定存在声明的特征、整数、步骤、操作、元素和/或组件,但是并不排除存在或增加一个或多个其他特征、整数、步骤、操作、元素、组件和/或它们的组合。

此处描述的流程图仅是一个实例。在不脱离本发明的范围的情况下,可以存在对该图或其中描述的步骤(或操作)的许多变型。例如,可以以不同的顺序执行步骤,或者可以添加、删除或修改步骤。所有这些变型都被认为是要求保护的发明的一部分。

虽然已经描述了本发明的优选实施例,但是应当理解,本领域技术人员现在和将来可以做出落在所附权利要求的范围内的各种改进和增强。这些权利要求应被解释为维持对首先描述的本发明的适当保护。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1