多租户数据库的操作方法、装置和计算机设备与流程

文档序号:19129725发布日期:2019-11-13 02:30阅读:255来源:国知局
本申请涉及大数据
技术领域
:,尤其涉及一种多租户数据库的操作方法、装置和计算机设备。
背景技术
::随着信息技术的发展,企业通过构建信息平台、使用应用软件来支撑其运营和发展。对于传统的软件开发模式,具有成本较高,开发周期长,运维繁琐等问题。这些问题困扰着资金不充裕,技术实力较弱,但却急需信息化改造的中小企业。在这样的背景下,软件即服务模式(softwareasaservice;以下简称:saas)作为一种新的软件服务提供模式被提出,并成为了越来越多企业的选择。在saas模式中,服务供应商为了降低成本,希望通过复用软件和硬件的形式,使用尽可能少的资源为多个要求不同的企业提供软件服务。为了达到这一目标,需要使用saas其中一项重要技术——多租户(multi-tenant)技术,而使用了多租户技术,能够以saas模式提供软件服务的应用则被称为saas多租户应用。saas多租户应用与传统应用一样,也需要数据库的支持。能够支撑saas多租户应用,为多租户应用提供数据服务,具有多租户特征的数据管理软件被称为多租户数据库。库级别隔离的多租户数据库具有数据库庞大、操作需求多元化的特点,但现有相关技术中提供的针对库级别隔离的多租户数据库进行操作的技术方案,存在操作的耗时较长,无法满足多元化操作需求的问题。技术实现要素:本申请实施例提供了一种多租户数据库的操作方法、装置和计算机设备,以实现将具有相同操作类型的待执行脚本配置到同一配置文件中,减少多租户数据库的操作耗时,并且通过设置不同类型的待执行脚本,可以满足对多租户数据库的多元化操作需求。第一方面,本申请实施例提供了一种多租户数据库的操作方法,包括:获取待执行脚本、所述待执行脚本的操作类型和待操作租户的信息;根据所述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和所述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中;解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本,以对所述待操作租户的信息所指示的数据库进行操作,所述操作的操作类型与所述待执行脚本的操作类型相同。其中一种可能的实现方式中,所述解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本包括:解析所述配置文件,根据所述配置文件中的配置信息,采用异步多线程执行所述配置文件中具有相同操作类型的待执行脚本。其中一种可能的实现方式中,所述解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本之后,还包括:监控所述待执行脚本的执行过程,收集所述待执行脚本的执行结果;根据所述执行过程和/或所述执行结果生成所述待执行脚本的执行报告。其中一种可能的实现方式中,所述待执行脚本的操作类型包括数据定义语言;所述解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本包括:解析所述配置文件,所述配置文件中包括的待执行脚本的操作类型为数据定义语言;执行所述待执行脚本,以对所述待操作租户的信息所指示的数据库进行创建、修改和/或删除数据表的操作。其中一种可能的实现方式中,所述待执行脚本的操作类型包括数据操作语言;所述解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本包括:解析所述配置文件,所述配置文件中包括的待执行脚本的操作类型为数据操作语言;执行所述待执行脚本,以对所述待操作租户的信息所指示的数据库进行数据的插入、查询和/或删除的操作。其中一种可能的实现方式中,所述待执行脚本的操作类型包括数据控制语言;所述解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本包括:解析所述配置文件,所述配置文件中包括的待执行脚本的操作类型为数据控制语言;执行所述待执行脚本,以对所述待操作租户的信息所指示的数据库的访问权限进行控制。第二方面,本申请实施例提供一种多租户数据库的操作装置,包括:获取模块,用于获取待执行脚本、所述待执行脚本的操作类型和待操作租户的信息;配置模块,用于根据所述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和所述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中;操作模块,用于解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本,以对所述待操作租户的信息所指示的数据库进行操作,所述操作的操作类型与所述待执行脚本的操作类型相同。其中一种可能的实现方式中,所述操作模块,具体用于解析所述配置文件,根据所述配置文件中的配置信息,采用异步多线程执行所述配置文件中具有相同操作类型的待执行脚本。其中一种可能的实现方式中,所述装置还包括:监控模块和生成模块;所述监控模块,用于在所述操作模块解析所述配置文件,执行所述配置文件中具有相同操作类型的待执行脚本之后,监控所述待执行脚本的执行过程,收集所述待执行脚本的执行结果;所述生成模块,用于根据所述执行过程和/或所述执行结果生成所述待执行脚本的执行报告。其中一种可能的实现方式中,所述操作模块,具体用于当所述待执行脚本的操作类型包括数据定义语言时,解析所述配置文件,所述配置文件中包括的待执行脚本的操作类型为数据定义语言;执行所述待执行脚本,以对所述待操作租户的信息所指示的数据库进行创建、修改和/或删除数据表的操作。其中一种可能的实现方式中,所述操作模块,具体用于当所述待执行脚本的操作类型包括数据操作语言时,解析所述配置文件,所述配置文件中包括的待执行脚本的操作类型为数据操作语言;执行所述待执行脚本,以对所述待操作租户的信息所指示的数据库进行数据的插入、查询和/或删除的操作。其中一种可能的实现方式中,所述操作模块,具体用于当所述待执行脚本的操作类型包括数据控制语言时,解析所述配置文件,所述配置文件中包括的待执行脚本的操作类型为数据控制语言;执行所述待执行脚本,以对所述待操作租户的信息所指示的数据库的访问权限进行控制。第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的方法。第四方面,本申请实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。以上技术方案中,获取待执行脚本、上述待执行脚本的操作类型和待操作租户的信息之后,根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和上述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中,最后,解析上述配置文件,执行上述配置文件中具有相同操作类型的待执行脚本,以对上述待操作租户的信息所指示的数据库进行操作,上述操作的操作类型与所述待执行脚本的操作类型相同,从而可以实现将具有相同操作类型的待执行脚本配置到同一配置文件中,减少多租户数据库的操作耗时,并且通过设置不同类型的待执行脚本,可以满足对多租户数据库的多元化操作需求。【附图说明】为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本申请多租户数据库的操作方法一个实施例的流程图;图2为本申请多租户数据库的操作方法另一个实施例的流程图;图3为本申请多租户数据库的操作方法再一个实施例的流程图;图4为本申请多租户数据库的操作方法再一个实施例的流程图;图5为本申请多租户数据库的操作方法再一个实施例的流程图;图6为本申请多租户数据库的操作方法再一个实施例的流程图;图7为本申请多租户数据库的操作装置一个实施例的结构示意图;图8为本申请多租户数据库的操作装置另一个实施例的结构示意图;图9为本申请计算机设备一个实施例的结构示意图。【具体实施方式】为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。图1为本申请多租户数据库的操作方法一个实施例的流程图,如图1所示,上述多租户数据库的操作方法可以包括:步骤101,获取待执行脚本、上述待执行脚本的操作类型和待操作租户的信息。具体地,在多租户数据库的开发人员部署好多租户数据库的相关服务之后,在需要对多租户数据库进行操作时,开发人员只需要按照操作需求设置待执行脚本和待操作租户的信息,这时,服务器可以获取上述待执行脚本、上述待执行脚本的操作类型和待操作租户的信息。其中,上述待操作租户的信息可以包括待操作租户的标识和上述待操作租户对应的数据库的位置,当然上述待操作租户的信息还可以包括其他信息,本实施例对此不作限定。本实施例中,根据操作需求,上述待操作租户的信息可以为上述多租户数据库的全部租户的信息,也可以为上述多租户数据库的单个租户的信息,还可以是上述多租户数据库的特定租户集合的信息。步骤102,根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和上述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中。具体地,上述待执行脚本的操作类型可以包括数据定义语言、数据操作语言和数据控制语言,因此可以根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到一个配置文件中,这样在执行上述待执行脚本时,只需打开一个配置文件,就可以执行上述打开的配置文件中属于同一操作类型的至少两条待执行脚本,解决了现有相关技术中,一个配置文件中仅包括一条待执行脚本,在执行待执行脚本时,需要重复执行打开配置文件的操作的问题,减少了多租户数据库的操作耗时,并且通过设置不同类型的待执行脚本,可以满足对多租户数据库的多元化操作需求。步骤103,解析上述配置文件,执行上述配置文件中具有相同操作类型的待执行脚本,以对上述待操作租户的信息所指示的数据库进行操作,上述操作的操作类型与上述待执行脚本的操作类型相同。上述多租户数据库的操作方法中,获取待执行脚本、上述待执行脚本的操作类型和待操作租户的信息之后,根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和上述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中,最后,解析上述配置文件,执行上述配置文件中具有相同操作类型的待执行脚本,以对上述待操作租户的信息所指示的数据库进行操作,上述操作的操作类型与所述待执行脚本的操作类型相同,从而可以实现将具有相同操作类型的待执行脚本配置到同一配置文件中,减少多租户数据库的操作耗时,并且通过设置不同类型的待执行脚本,可以满足对多租户数据库的多元化操作需求。图2为本申请多租户数据库的操作方法另一个实施例的流程图,如图2所示,本申请图1所示实施例中,步骤103可以为:步骤201,解析上述配置文件,根据上述配置文件中的配置信息,采用异步多线程执行上述配置文件中具有相同操作类型的待执行脚本,以对上述待操作租户的信息所指示的数据库进行操作,上述操作的操作类型与上述待执行脚本的操作类型相同。具体地,本实施例中,可以根据上述配置文件中的配置信息,启动异步多线程执行上述配置文件中具有相同操作类型的待执行脚本,从而可以进一步提高多租户数据库的操作速度,减少多租户数据库的操作耗时。图3为本申请多租户数据库的操作方法再一个实施例的流程图,如图3所示,本申请图1所示实施例中,步骤103之后,还可以包括:步骤301,监控上述待执行脚本的执行过程,收集上述待执行脚本的执行结果。步骤302,根据上述执行过程和/或上述执行结果生成上述待执行脚本的执行报告。具体地,在执行上述配置文件中具有相同操作类型的待执行脚本的过程中,服务器会监控上述待执行脚本的执行过程,如果在执行过程中,上述待执行脚本出现问题,服务器会及时告警,并及时终止出现问题的待执行脚本的执行过程。另外,如果上述待执行脚本在执行过程中未出现问题,那么在上述待执行脚本执行完毕之后,可以根据上述待执行脚本的执行过程和/或执行结果生成上述待执行脚本的执行报告。图4为本申请多租户数据库的操作方法再一个实施例的流程图,如图4所示,本申请图1所示实施例中,上述待执行脚本的操作类型可以为数据定义语言;这时,步骤103可以包括:步骤401,解析上述配置文件,上述配置文件中包括的待执行脚本的操作类型为数据定义语言。步骤402,执行上述待执行脚本,以对上述待操作租户的信息所指示的数据库进行创建、修改和/或删除数据表的操作。本实施例中,可以通过执行操作类型为数据定义语言的待执行脚本,对上述待操作租户的信息所指示的数据库进行创建、修改和/或删除数据表的操作。具体地,在发现待操作租户的数据库没有进行数据操作的时长达到预定时长,则可以确定上述待操作租户的数据库成为僵尸库,这时,可以通过执行操作类型为数据定义语言的待执行脚本,对没有进行数据操作的时长达到预定时长的数据库进行删除数据表的操作,从而可以对僵尸库进行清理,释放被僵尸库占用的资源。其中,上述预定时长可以在具体实现时自行设定,本实施例对上述预定时长的长短不作限定。图5为本申请多租户数据库的操作方法再一个实施例的流程图,如图5所示,本申请图1所示实施例中,上述待执行脚本的操作类型可以为数据操作语言;这时,步骤103可以包括:步骤501,解析上述配置文件,上述配置文件中包括的待执行脚本的操作类型为数据操作语言。步骤502,执行上述待执行脚本,以对上述待操作租户的信息所指示的数据库进行数据的插入、查询和/或删除的操作。图6本申请多租户数据库的操作方法再一个实施例的流程图,如图6所示,本申请图1所示实施例中,上述待执行脚本的操作类型可以为数据控制语言;这时,步骤103可以包括:步骤601,解析上述配置文件,上述配置文件中包括的待执行脚本的操作类型为数据控制语言。步骤602,执行上述待执行脚本,以对上述待操作租户的信息所指示的数据库的访问权限进行控制。本实施例可以实现对多租户数据库的访问权限进行控制,提高多租户数据库的安全性。图7为本申请多租户数据库的操作装置一个实施例的结构示意图,本实施例中的多租户数据库的操作装置可以作为服务器,或者服务器的一部分,实现本申请实施例提供的多租户数据库的操作方法。如图7所示,上述多租户数据库的操作装置可以包括:获取模块71、配置模块72和操作模块73;其中,获取模块71,用于获取待执行脚本、上述待执行脚本的操作类型和待操作租户的信息;具体地,在多租户数据库的开发人员部署好多租户数据库的相关服务之后,在需要对多租户数据库进行操作时,开发人员只需要按照操作需求设置待执行脚本和待操作租户的信息,这时,获取模块71可以获取上述待执行脚本、上述待执行脚本的操作类型和待操作租户的信息。其中,上述待操作租户的信息可以包括待操作租户的标识和上述待操作租户对应的数据库的位置,当然上述待操作租户的信息还可以包括其他信息,本实施例对此不作限定。本实施例中,根据操作需求,上述待操作租户的信息可以为上述多租户数据库的全部租户的信息,也可以为上述多租户数据库的单个租户的信息,还可以是上述多租户数据库的特定租户集合的信息。配置模块72,用于根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和上述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中;具体地,上述待执行脚本的操作类型可以包括数据定义语言、数据操作语言和数据控制语言,因此配置模块72可以根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到一个配置文件中,这样在执行上述待执行脚本时,只需打开一个配置文件,就可以执行上述打开的配置文件中属于同一操作类型的至少两条待执行脚本,解决了现有相关技术中,一个配置文件中仅包括一条待执行脚本,在执行待执行脚本时,需要重复执行打开配置文件的操作的问题,减少了多租户数据库的操作耗时,并且通过设置不同类型的待执行脚本,可以满足对多租户数据库的多元化操作需求。操作模块73,用于解析上述配置文件,执行上述配置文件中具有相同操作类型的待执行脚本,以对上述待操作租户的信息所指示的数据库进行操作,上述操作的操作类型与待执行脚本的操作类型相同。上述多租户数据库的操作装置中,获取模块71获取待执行脚本、上述待执行脚本的操作类型和待操作租户的信息之后,配置模块72根据上述待执行脚本的操作类型,将具有相同操作类型的待执行脚本和上述具有相同操作类型的待执行脚本所对应的待操作租户的信息配置到同一配置文件中,最后,操作模块73解析上述配置文件,执行上述配置文件中具有相同操作类型的待执行脚本,以对上述待操作租户的信息所指示的数据库进行操作,上述操作的操作类型与所述待执行脚本的操作类型相同,从而可以实现将具有相同操作类型的待执行脚本配置到同一配置文件中,减少多租户数据库的操作耗时,并且通过设置不同类型的待执行脚本,可以满足对多租户数据库的多元化操作需求。图8为本申请多租户数据库的操作装置另一个实施例的结构示意图,本实施例中,操作模块73,具体用于解析上述配置文件,根据上述配置文件中的配置信息,采用异步多线程执行上述配置文件中具有相同操作类型的待执行脚本。具体地,本实施例中,操作模块73可以根据上述配置文件中的配置信息,启动异步多线程执行上述配置文件中具有相同操作类型的待执行脚本,从而可以进一步提高多租户数据库的操作速度,减少多租户数据库的操作耗时。进一步地,上述多租户数据库的操作装置还可以包括:监控模块74和生成模块75;监控模块74,用于在操作模块73解析上述配置文件,执行上述配置文件中具有相同操作类型的待执行脚本之后,监控上述待执行脚本的执行过程,收集上述待执行脚本的执行结果;生成模块75,用于根据上述执行过程和/或上述执行结果生成待执行脚本的执行报告。具体地,在执行上述配置文件中具有相同操作类型的待执行脚本的过程中,监控模块74会监控上述待执行脚本的执行过程,如果在执行过程中,上述待执行脚本出现问题,服务器会及时告警,并及时终止出现问题的待执行脚本的执行过程。另外,如果上述待执行脚本在执行过程中未出现问题,那么在上述待执行脚本执行完毕之后,生成模块75可以根据上述待执行脚本的执行过程和/或执行结果生成上述待执行脚本的执行报告。本实施例的一种实现方式中,操作模块73,具体用于当上述待执行脚本的操作类型包括数据定义语言时,解析上述配置文件,上述配置文件中包括的待执行脚本的操作类型为数据定义语言;执行上述待执行脚本,以对上述待操作租户的信息所指示的数据库进行创建、修改和/或删除数据表的操作。本实施例中,操作模块73可以通过执行操作类型为数据定义语言的待执行脚本,对上述待操作租户的信息所指示的数据库进行创建、修改和/或删除数据表的操作。具体地,在发现待操作租户的数据库没有进行数据操作的时长达到预定时长,则可以确定上述待操作租户的数据库成为僵尸库,这时,可以通过执行操作类型为数据定义语言的待执行脚本,对没有进行数据操作的时长达到预定时长的数据库进行删除数据表的操作,从而可以对僵尸库进行清理,释放被僵尸库占用的资源。其中,上述预定时长可以在具体实现时自行设定,本实施例对上述预定时长的长短不作限定。本实施例的另一种实现方式中,操作模块73,具体用于当上述待执行脚本的操作类型包括数据操作语言时,解析上述配置文件,上述配置文件中包括的待执行脚本的操作类型为数据操作语言;执行上述待执行脚本,以对上述待操作租户的信息所指示的数据库进行数据的插入、查询和/或删除的操作。本实施例的再一种实现方式中,操作模块73,具体用于当上述待执行脚本的操作类型包括数据控制语言时,解析上述配置文件,上述配置文件中包括的待执行脚本的操作类型为数据控制语言;执行上述待执行脚本,以对上述待操作租户的信息所指示的数据库的访问权限进行控制。本实施例可以实现对多租户数据库的访问权限进行控制,提高多租户数据库的安全性。图9为本申请计算机设备一个实施例的结构示意图,上述计算机设备可以包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时,可以实现本申请实施例提供的多租户数据库的操作方法。其中,上述计算机设备可以为服务器,例如:云端服务器;本实施例对上述计算机设备的具体形态不作限定。图9示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图9显示的计算机设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图9所示,上述计算机设备以通用计算设备的形式表现。计算机设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理单元410)的通信总线440。通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture;以下简称:isa)总线,微通道体系结构(microchannelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection;以下简称:pci)总线。计算机设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory;以下简称:ram)和/或高速缓存存储器。计算机设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compactdiscreadonlymemory;以下简称:cd-rom)、数字多功能只读光盘(digitalvideodiscreadonlymemory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线440相连。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。计算机设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该计算机设备交互的设备通信,和/或与使得该计算机设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口420进行。并且,计算机设备还可以通过网络适配器(图9中未示出)与一个或者多个网络(例如局域网(localareanetwork;以下简称:lan),广域网(wideareanetwork;以下简称:wan)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线440与计算机设备的其它模块通信。应当明白,尽管图9中未示出,可以结合计算机设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdrives;以下简称:raid)系统、磁带驱动器以及数据备份存储系统等。处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的多租户数据库的操作方法。本申请实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时可以实现本申请实施例提供的多租户数据库的操作方法。上述非临时性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory;以下简称:rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory;以下简称:eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork;以下简称:lan)或广域网(wideareanetwork;以下简称:wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属
技术领域
:的技术人员所理解。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(personalcomputer;以下简称:pc)、个人数字助理(personaldigitalassistant;以下简称:pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3播放器、mp4播放器等。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory;以下简称:rom)、随机存取存储器(randomaccessmemory;以下简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1