具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明实施例提供了一种硬件性能数据的获取方法,该方法包括:
101、接收获取目标硬件的过程性能数据的指令。
102、判断所述目标硬件是否具备获取过程性能数据的功能;所述过程性能数据是硬件在运行过程中产生的数据;若具备,执行步骤103。
103、根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据。
根据图1所示的实施例,在硬件具备获取过程性能数据的功能时,可以根据业务需求获取到硬件的过程性能数据。由于硬件的过程性能数据可以详细的反应出硬件的运行过程,基于过程性能数据便可对硬件的性能进行精确的分析。因此,本发明实施例提供的方案可以提高硬件性能分析的精确度。
在本发明一个实施例中,上述图1所示流程图中所涉及的目标硬件的具体型式可以根据业务要求确定。可选地,目标硬件可以包括但不限于绕过内存和CPU的硬件、内存以及CPU中一种或多种。绕过内存和CPU的硬件为不与内存和CPU发生数据交互的硬件,比如,高性能网卡、RDMA、智能硬件等。
在本实施例中,绕过内存和CPU的硬件可以为PCI(Peripheral ComponentInterconnect)标准的硬件,也可以为其他标准的硬件,这里不做具体限定。
在本发明一个实施例中,上述图1所示流程图中的步骤101中所涉及的指令的具体型式可以根据业务要求确定。可选地,指令中可以携带但不限于格式化要求、时间要求、性能参数要求、性能参数的排序要求以及性能参数对应的数据的取值要求中的一种或多种。
在本发明一个实施例中,上述图1所示流程图中的步骤102判断所述目标硬件是否具备获取过程性能数据的功能的实现方式至少包括如下三种:
第一种,上述图1所示流程图中的步骤102判断所述目标硬件是否具备获取过程性能数据的功能,可以包括:
判断目标硬件是否记录在指定列表中,其中,指定列表设置在指定位置;
若是,则判断出目标硬件具备获取过程性能数据的功能。
在本实施例中,指定位置可以根据业务要求确定。可选地,指定位置可以包括但不限于目标硬件所在系统中一个特定位置,比如硬盘,或、单独的管理节点中的一个特定位置。
在本实施例中,在目标硬件具有获取过程性能数据的功能时,则将目标硬件对应的标识记录在指定列表中,以通过指定列表告知目标硬件具有获取过程性能数据的功能。
在本实施例中,若判断出目标硬件不具备获取过程性能数据的功能,则继续判断目标硬件中是否部署了硬件性能分析工具;若部署,则将目标硬件记录在指定列表中;若未部署,检测目标硬件是否允许部署硬件性能分析工具。若允许,则下载预设的硬件性能分析工具,将下载的硬件性能分析工具部署到目标硬件中。在部署完成后将目标硬件记录在指定列表中,并执行根据指令通过部署在目标硬件中的硬件性能分析工具获取目标过程性能数据,其中目标过程性能数据是指令对应的过程性能数据。
第二种,上述图1所示流程图中的步骤102判断所述目标硬件是否具备获取过程性能数据的功能,可以包括:
判断目标硬件是否以插件的形式注册在目标硬件所在系统或单独的管理节点上;
若是,则判断出目标硬件具备获取过程性能数据的功能。
在本实施例中,若目标硬件以插件的形式注册在目标硬件所在系统或单独的管理节点上,则目标硬件所在系统或单独的管理节点上具有目标硬件的地址。比如,目标硬件为PCI标准的硬件时,其地址可以为PCI-e地址,且地址中可以包括总线、设定以及函数。可以根据地址驱动目标硬件。
在本实施例中,若判断出目标硬件不具备获取过程性能数据的功能,则继续判断目标硬件中是否部署了硬件性能分析工具;若部署,则以插件的形式注册在目标硬件所在系统或单独的管理节点上;若未部署,检测目标硬件是否允许部署硬件性能分析工具。若允许,则下载预设的硬件性能分析工具,将下载的硬件性能分析工具部署到目标硬件中,在部署完成后以插件的形式注册在目标硬件所在系统或单独的管理节点上,并执行根据指令通过部署在目标硬件中的硬件性能分析工具获取目标过程性能数据。
第三种,在本发明一个实施例中,上述图1所示流程图中的步骤102判断所述目标硬件是否具备获取过程性能数据的功能,可以包括:
判断所述目标硬件是否以插件的形式注册在内核上;其中,所述内核支持软件性能分析;
若是,则判断出所述目标硬件具备获取过程性能数据的功能。
在本实施例中,内核支持软件性能分析,内核中可以部署软件性能分析框架,以便内核可以支持软件性能分析。
在本实施例中,若目标硬件以插件的形式注册在内核上,则内核上具有目标硬件的地址。比如,目标硬件为PCI标准的硬件时,其地址可以为PCI-e地址,且地址中可以包括总线、设定以及函数。
在本实施例中,若判断出目标硬件不具备获取过程性能数据的功能,则继续判断目标硬件中是否部署了硬件性能分析工具;若部署,则以插件的形式注册在内核上;若未部署,检测目标硬件是否允许部署硬件性能分析工具。若允许,则下载预设的硬件性能分析工具,将下载的硬件性能分析工具部署到目标硬件中,在部署完成后以插件的形式注册在内核上,并执行根据指令通过部署在目标硬件中的硬件性能分析工具获取目标过程性能数据。
在本实施例中,由于在目标硬件以插件的形式注册在内核上,因此在上述图1所示流程图中的步骤103根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据之后,硬件性能数据的获取方法还可以包括:
通过所述目标硬件对应的插件控制所述目标硬件对应的预设驱动,驱动所述目标硬件将所述目标过程性能数据从所述目标硬件映射到预设的第一存储区域。
在本实施例中,一个硬件仅对应一个驱动,而一个驱动可以对应多个硬件。
在本实施例中,硬件的过程性能数据可以存放在硬件中的指定区域中。在获取到指令对应的目标过程性能数据时,为了使预设的用户态分析工具或用户可以方便的提取出目标过程性能数据,可以将目标过程性能数据从硬件的指定区域中映射到第一存储区域,以使用户分析工具或用户从第一存储区域中提取目标过程性能数据。用户态分析工具用于分析过程性能数据。
在本实施例中,第一存储区域可以根据业务要求确定。可选的,第一存储区域可以位于内存中,或,硬件所处系统中的任一存储元件中。
在本实施例中,可以通过目标硬件对应的地址在内核的插件中查询目标硬件对应的插件。
根据上述实施例,由于内核支持软件性能分析,那么在硬件以插件的形式注册在内核上时,便可以同时具有软件和硬件分析能力。另外由于软件和硬件的性能分析均是基于内核来完成的,并不需要额外设置供硬件注册用的元件,因此,不仅可以提高内核资源利用率,而且降低其他元件资源的消耗。
在本发明一个实施例中,上述图1所示流程图中的步骤103根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据。
在本实施例中,硬件性能分析工具的具体型式可以根据业务要求确定。可选地,硬件性能分析工具内可以包括硬件性能分析的方法或硬件性能分析执行函数。
在本实施例中,目标过程性能数据是指令对应的过程性能数据。
在本实施例中,在获取到指令之前,硬件性能分析工具便实时的获取硬件运行过程中产生的过程性能数据。在获取到指令时在已存在的过程性能数据中获取指令对应的目标过程性能数据。
或,在获取到指令之前,硬件性能分析工具不进行过程性能数据的获取,在获取到指令时,硬件性能分析工具才根据指令获取对应的目标过程性能数据。
或,在获取到指令之前,硬件性能分析工具实时的获取硬件运行过程中产生的过程性能数据。在获取到指令,且指令对应的目标过程性能数据不存在于已存在的过程性能数据中时,硬件性能分析工具根据指令获取硬件运行过程中产生的与指令对应的目标过程性能数据。
根据上述实施例,由于硬件性能分析工具获取的过程性能数据是硬件运行过程中产生的数据,因此过程性能数据可以精确的反应出硬件的运行过程和运行状态。
在本发明一个实施例中,上述图1所示流程图中的步骤103根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据,可以包括:
确定所述目标硬件是否具有已存在的过程性能数据;所述已存在的过程性能数据是通过所述硬件性能分析工具获取的;
若不具有,则通过所述硬件性能分析工具获取所述目标硬件当前运行过程中产生的与所述指令对应的目标过程性能数据;
若具有,则查询所述已存在的过程性能数据,并继续通过所述硬件性能分析工具获取所述目标硬件当前运行过程中产生的与所述指令对应的目标过程性能数据。
在本实施例中,已存在的过程性能数据至少存在如下两种形式:第一种,已存在的过程性能数据均为具有设定格式的过程性能数据;第二种,已存在的过程性能数据为硬件运行过程产生的全部过程性能数据,且全部过程性能数据不具有统一的格式。可选地,第一种中所提及的具有设定格式的过程性能数据可以通过如下两种方式得到:第一种方式,由硬件中部署的硬件性能分析工具直接从运行过程中获取具有设定格式的过程性能数据;第二种方式,由硬件中部署的硬件性能分析工具获取硬件运行过程产生的全部过程性能数据,然后从全部过程性能数据中提取具有设定格式的过程性能数据。
在本实施例中,在确定目标硬件具有已存在的过程性能数据时,则直接在已存在的过程性能数据查询与指令对应的目标过程数据,查询到时直接获取即可。在查询不到时,则获取目标硬件当前运行过程中产生的与指令对应的目标过程性能数据。
在本实施例中,查询已存在的过程性能数据的具体过程可以包括:查询已存在的过程性能数据中是否存在与要求时间和/或要求性能参数对应的目标过程性能数据;其中,要求时间和/或所述要求性能参数携带在所述获取指令中。比如,查询已存在的过程性能数据中不存在与要求时间对应的目标过程性能数据时,则在要求时间获取目标硬件当前运行过程中产生的与指令对应的目标过程性能数据。
在本发明一个实施例中,在上述图1所示流程图中的步骤103根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据之后,该方法还包括:
解析所述指令得到目标过程性能数据的格式化要求;其中,所述格式化要求携带在所述获取指令中;
确定所述获取的目标过程性能数据是否符合所述格式化要求;
若不符合,根据所述格式化要求格式化所述目标过程性能数据。
在本实施例中,指令中携带的格式化需求可以根据后续的性能分析和故障诊断要求进行确定。格式化要求可以包括但不限于时间要求、性能参数要求、性能参数的排序要求以及性能参数对应的数据的取值要求中的至少一种或多种。
在本实施例中,在确定获取的目标过程性能数据符合格式化要求时,则说明目标过程性能数据满足后续的性能分析和故障诊断要求,不需要对目标过程性能数据进行格式化操作。在确定获取的目标过程性能数据不符合格式化要求时,根据格式化要求格式化目标过程性能数据,得到满足格式化要求的过程性能数据,从而方便后续的性能分析和故障诊断。
根据上述实施例,在指令对应的目标过程性能数据不符合指令携带的格式化要求时,根据述格式化要求格式化目标过程性能数据,以使目标过程数据的格式满足后续的性能分析和故障诊断操作要求,从而提高性能分析和故障诊断的速度。
在本发明一个实施例中,在上述图1所示流程图中的步骤103根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据之后,该方法还包括:
将所述目标过程性能数据映射到预设的第二存储区域;
采用预设的数据格式化规则,从所述存储区域内提取具有特定格式的过程性能数据。
在本实施例中,硬件的过程性能数据可以存放在硬件中的指定区域中。在获取到指令对应的目标过程性能数据时,为了使预设的用户态分析工具或用户方便提取出目标过程性能数据,将目标过程性能数据从硬件的指定区域中映射到第二存储区域。
在本实施例中,第二存储区域可以根据业务要求确定。可选地,第二存储区域可以位于内存中,或,硬件所处系统中的任一存储元件中。
在本实施例中,数据格式化规则可以具体的性能分析需求设定。可选地,数据格式化规则可以包括但不限于时间要求、性能参数要求、性能参数的排序要求以及性能参数对应的数据的取值要求中的一种或多种。
在本实施例中,由于从存储区域内提取的数据为具有特定格式的过程性能数据,因此在基于这些过程性能数据进行硬件的性能分析和过程诊断时,可以快速的得到分析结果。
根据上述实施例,目标过程性能数据映射到预设的存储区域,并采用预设的数据格式化规则,从存储区域内提取具有特定格式的过程性能数据。因此,不仅可以方便目标过程性能数据的提取,而且还可以方便后续性能分析和故障诊断。
在本发明一个实施例中,该硬件性能数据的获取方法还可以包括如下步骤:
若所述目标硬件不具备获取过程性能数据的功能,则检测所述目标硬件是否允许部署硬件性能分析工具;
若允许,则下载预设的硬件性能分析工具,将下载的硬件性能分析工具部署到所述目标硬件中,并执行所述获取所述指令对应的目标过程性能数据。
在本实施例中,若在上述图1所示实施例中判断出目标硬件不具备获取过程性能数据的功能,则说明不能获取到目标硬件的过程性能数据。因此为了能够获取到目标硬件的过程性能数据,需要在目标硬件中部署硬件性能分析工具,以便可以获取其的过程性能数据。
在本实施例中,检测目标硬件是否允许部署硬件性能分析工具的具体实现过程至少包括如下三种:第一种,检测目标硬件中是否存在部署硬件性能分析工具的空间,若存在,则检测出目标硬件允许部署硬件性能分析工具;否则,则检测出目标硬件不允许部署硬件性能分析工具。第二种,检测当前部署时间是否位于预设的时间区间内,若位于则检测出目标硬件允许部署硬件性能分析工具;否则,则检测出目标硬件不允许部署硬件性能分析工具。
在本实施例中,在检测出目标硬件允许部署硬件性能分析工具时,可以从预设的下载区域下载预设的硬件性能分析工具。需要注意的是,如果下载区域中存在多个版本的硬件性能分析工具时,则下载最新版本的硬件性能分析工具。或,下载区域中存在多个版本的硬件性能分析工具时,展示多个版本信息,告知用户存在哪些版本的硬件性能分析工具,以便用户根据版本信息选择出需要的硬件性能分析工具。在接收到用户的版本的选择指令时,下载与选择指令对应的硬件性能分析工具。
在本实施例中,在下载硬件性能分析工具之后,可以将硬件性能分析工具部署到目标硬件中的指定位置。在硬件性能分析工具部署完成后,可以利用预设的测试命令对部署好的硬件性能分析工具进行测试,检测其是否部署成功。若检测其部署成功,则执行获取指令对应的目标过程性能数据。若检测其不部署成功,报错,以告知用户不能获取指令对应的目标过程性能数据。在用户查看报错时,可以根据报错对目标硬件及时进行异常处理。
在本实施例中,在硬件性能分析工具部署到目标硬件中后,可以对硬件性能分析工具进行初始化。其中,初始化硬件性能分析工具至少包括如下两种情况:第一种,将硬件性能分析工具初始化为获取第一格式化数据的硬件性能分析工具,该获取第一格式化数据的硬件性能分析工具可以在硬件的运行过程中直接获取出具有第一格式的过程性能数据。第二种,将硬件性能分析工具初始化为获取第二格式化数据的硬件性能分析工具,该获取第二格式化数据的硬件性能分析工具可以在硬件的运行过程中获取出硬件所涉及的全部过程性能数据,从全部过程性能数据中提取出具有第二格式的过程性能数据。
根据上述实施例,由于在硬件不具备获取过程性能数据的功能时,可以在其内部部署硬件性能分析工具,使其具有获取过程性能数据的功能。可见,硬件性能分析工具可以根据硬件的情况进行自动部署,不需要人工干预,因此自动化程度较高。
基于上述的实施例中的叙述,上述方法的实施例可以根据业务需要自由组合,组合成新的实施例。下面以图2所示的流程图为例对硬件性能数据的获取方法进行说明。
201、接收获取目标硬件的过程性能数据的指令。
202、判断目标硬件是否以插件的形式注册在内核上;其中,内核支持软件性能分析;若是,判断出目标硬件具备获取过程性能数据的功能,执行步骤203;否则,判断出所述目标硬件不具备获取过程性能数据的功能,执行步骤212。
203、确定目标硬件是否具有已存在的过程性能数据;所述已存在的过程性能数据是通过所述硬件性能分析工具获取的;若不具有,执行步骤205;否则,执行步骤204。
204、查询已存在的过程性能数据中是否存在与要求时间和/或要求性能参数对应的目标过程性能数据;其中,要求时间和/或所述要求性能参数携带在所述获取指令中。若存在,执行步骤206;否则,执行步骤205。
205、根据指令通过部署在目标硬件中的硬件性能分析工具获取目标硬件当前运行过程中产生的与指令对应的目标过程性能数据,并执行步骤207。
206、在已存在的过程性能数据中,根据指令通过部署在目标硬件中的硬件性能分析工具获取对应的目标过程性能数据,并执行步骤207。
207、解析指令得到目标过程性能数据的格式化要求;其中,格式化要求携带在指令中。
208、确定获取的目标过程性能数据是否符合格式化要求;若不符合,执行步骤209;否则,执行步骤210。
209、根据格式化要求格式化目标过程性能数据。
210、通过目标硬件对应的插件控制目标硬件对应的预设驱动,驱动目标硬件将目标过程性能数据从目标硬件映射到预设的存储区域。
211、采用预设的数据格式化规则,从存储区域内提取具有特定格式的过程性能数据,并结束当前流程。
212、判断目标硬件中是否部署硬件性能分析工具,若部署,执行步骤213;否则,执行步骤214。
213、将目标硬件以插件的形式注册在内核上,并执行步骤204。
214、检测目标硬件是否允许部署硬件性能分析工具,若允许,执行步骤215;否则,执行步骤216。
215、下载预设的硬件性能分析工具,将下载的硬件性能分析工具部署到目标硬件中,并步骤213。
216、报错。
如图3所示,本发明实施例提供了一种硬件性能数据的获取装置,该装置包括:
接收模块301,用于接收获取目标硬件的过程性能数据的指令;
判断模块302,用于判断所述目标硬件是否具备获取过程性能数据的功能;所述过程性能数据是硬件在运行过程中产生的数据;若具备,触发获取模块303;
所述获取模块303,用于在所述判断模块302的触发下,根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取目标过程性能数据。
根据图3所示的实施例,在硬件具备获取过程性能数据的功能时,可以根据业务需求获取到硬件的过程性能数据。由于硬件的过程性能数据可以详细的反应出硬件的运行过程,基于过程性能数据便可对硬件的性能进行精确的分析。因此,本发明实施例提供的方案可以提高硬件性能分析的精确度。
在本发明一个实施例中,所述获取模块303,用于根据所述指令通过部署在所述目标硬件中的硬件性能分析工具获取对应的目标过程性能数据。
在本发明一个实施例中,所述判断模块302,用于判断所述目标硬件是否以插件的形式注册在内核上;其中,所述内核支持软件性能分析;若是,则判断出所述目标硬件具备获取过程性能数据的功能。
在本发明一个实施例中,如图4所示,该硬件性能数据的获取装置还包括:
第一映射模块304,用于通过所述目标硬件对应的插件控制所述目标硬件对应的预设驱动,驱动所述目标硬件将所述获取模块303获取的所述目标过程性能数据从所述目标硬件映射到预设的第一存储区域。
在本发明一个实施例中,如图5所示,所述获取模块303中可以包括:
确定子模块3031,用于确定所述目标硬件是否具有已存在的过程性能数据;所述已存在的过程性能数据是通过所述硬件性能分析工具获取的;若不具有,触发第一获取子模块3032;若具有,触发第二获取子模块3033;
所述第一获取子模块3032,用于在所述确定子模块3031的触发下,通过所述硬件性能分析工具获取所述目标硬件当前运行过程中产生的与所述指令对应的目标过程性能数据;
所述第二获取子模块3033,用于在所述确定子模块3031的触发下,查询所述已存在的过程性能数据,并继续通过所述硬件性能分析工具获取所述目标硬件当前运行过程中产生的与所述指令对应的目标过程性能数据。
在本发明一个实施例中,所述第二获取子模块3033,用于查询所述已存在的过程性能数据中是否存在与要求时间和/或要求性能参数对应的目标过程性能数据;其中,所述要求时间和/或所述要求性能参数携带在所述获取指令中。
在本发明一个实施例中,如图6所示,该硬件性能数据的获取装置还包括:
解析模块305,用于解析所述指令得到目标过程性能数据的格式化要求;其中,所述格式化要求携带在所述获取指令中;
确定模块306,用于确定所述获取模块303获取的所述获取的目标过程性能数据是否符合所述格式化要求;若不符合,触发格式化模块307;
所述格式化模块307,用于在所述确定模块306的触发下,根据所述解析模块解析到的所述格式化要求格式化所述目标过程性能数据。
在本发明一个实施例中,如图7所示,该硬件性能数据的获取装置还包括:
检测模块308,用于在所述目标硬件不具备获取过程性能数据的功能时,检测所述目标硬件是否允许部署硬件性能分析工具;若允许,触发部署模块309;
所述部署模块309,用于在所述检测模块308的触发下,下载预设的硬件性能分析工具,将下载的硬件性能分析工具部署到所述目标硬件中,并触发所述接收模块301。
在发明一个实施例中,如图8所示,该硬件性能数据的获取装置还包括:
第二映射模块310,用于将所述目标过程性能数据映射到预设的第二存储区域;
提取模块311,用于采用预设的数据格式化规则,从所述存储区域内提取具有特定格式的过程性能数据。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。基于上述的实施例中的叙述,上述装置的实施例可以根据业务需要自由组合,组合成新的实施例。
在本发明一个实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述中任意一项所述的硬件性能数据的获取方法。
在本发明一个实施例提供了一种电子设备,如图9所示,所述电子设备中包括处理器401、存储器402和总线403;所述处理器401、所述存储器402通过所述总线403完成相互间的通信;所述处理器401用于调用所述存储器402中的程序指令,以执行上述中任意一项所述的硬件性能数据的获取方法。
在本发明实施例中,当硬件具备获取过程性能数据的功能时,可以根据业务需求获取到硬件的过程性能数据。由于硬件的过程性能数据可以详细的反应出硬件的运行过程,基于过程性能数据便可对硬件的性能进行精确的分析。因此,本发明实施例提供的方案可以提高硬件性能分析的精确度。
在本发明实施例中,由于内核支持软件性能分析,那么在硬件以插件的形式注册在内核上时,便可以同时具有软件和硬件分析能力。另外由于软件和硬件的性能分析均是基于内核来完成的,并不需要额外设置供硬件注册用的元件,因此,不仅可以提高内核资源利用率,而且降低其他元件资源的消耗。
在本发明实施例中,由于硬件性能分析工具获取的过程性能数据是硬件运行过程中产生的数据,因此过程性能数据可以精确的反应出硬件的运行过程和运行状态。
在本发明实施例中,在指令对应的目标过程性能数据不符合指令携带的格式化要求时,根据述格式化要求格式化目标过程性能数据,以使目标过程数据的格式满足后续的性能分析和故障诊断操作要求,从而提高性能分析和故障诊断的速度。
在本发明实施例中,目标过程性能数据映射到预设的存储区域,并采用预设的数据格式化规则,从存储区域内提取具有特定格式的过程性能数据。因此,不仅可以方便目标过程性能数据的提取,而且还可以方便后续性能分析和故障诊断。
在本发明实施例中,由于在硬件不具备获取过程性能数据的功能时,可以在其内部部署硬件性能分析工具,使其具有获取过程性能数据的功能。可见,硬件性能分析工具可以根据硬件的情况进行自动部署,不需要人工干预,因此自动化程度较高。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。