一种业务处理方法和装置与流程

文档序号:12034446阅读:206来源:国知局
一种业务处理方法和装置与流程

本申请涉及业务数据处理技术领域,尤其涉及一种业务处理方法和装置。



背景技术:

在数据库处理数据的过程中,不同应用模块都会产生不同的待处理业务(业务也可以称为任务或者作业),使得数据库需要同时处理大批量的业务。如,数据库中可能同时需要处理大量的job作业。

由于数据库中的资源非常有限,如,处理器、内存以及磁盘等等资源都是固定的,如果数据库所需处理的业务量过大,就可能导致一些业务无法被及时处理。然而,一些重要业务都需要在规定时间内完成处理,如,一些业务需要在每天的12点之前完成处理,因此,如果待处理的业务的业务量过大,就可能导致一些重要业务无法在规定时间内完成处理,影响到重要业务处理的可靠性。



技术实现要素:

有鉴于此,本申请提供了一种业务处理方法和装置,以提高重要业务处理的可靠性。

为实现上述目的,一方面,本申请提供了一种业务处理方法,包括:

从未处理的多个业务中,确定当前待处理的目标业务;

确定当前时刻所述目标业务所属的目标重要等级;

依据所述目标业务所属的目标重要等级,以及预置的不同重要等级的业务所对应的可用资源集合,确定所述目标业务的目标可用资源集合,其中,重要等级越高的业务的可用资源集合中所包含的资源越多;

利用所述目标可用资源集合所包含的资源,处理所述目标业务。

优选的,所述确定当前时刻所述目标业务所属的目标重要等级,包括:

从至少两个资源分配计划中,确定当前时刻所适用的目标资源分配计划;

确定在所述目标资源分配计划中,所述目标业务所属的目标重要等级。

优选的,所述依据所述目标业务所属的目标重要等级,以及预置的不同重要等级的业务所对应的可用资源集合,确定所述目标业务的目标可用资源集合,包括:

依据所述目标资源分配计划中设定的不同重要等级的业务所对应的可用资源集合,确定所述目标业务所属的目标重要等级所对应的目标可用资源集合。

优选的,所述确定当前时刻所述目标业务所属的目标重要等级,包括:

确定生成所述目标业务的目标应用程序;

根据应用程序与重要等级之间的映射关系,确定所述目标应用程序所对应的重要等级,并将所述目标应用程序对应的重要等级确定为所述目标业务所属的目标重要等级。

优选的,在所述确定当前时刻所述目标业务所属的目标重要等级之前,还包括:

根据数据库系统中当前剩余的可用资源,或者所述多个业务所需的总资源与数据库系统当前剩余的可用资源的比例,判断当前时刻数据库系统是否处于资源紧张状态;

当数据库系统处于资源紧张状态时,执行所述确定当前时刻所述目标业务所属的目标重要等级。

优选的,所述利用所述目标可用资源集合所包含的资源,处理所述目标业务,包括:

检测所述目标可用资源集合是否存在空闲资源;

当所述目标可用资源集合中存在空闲资源时,利用所述空闲资源处理所述目标业务;

当所述目标可用资源集合中不存在空闲资源时,则等待属于所述目标重要等级的其他业务释放所占用的资源。

另一方面,本申请还提供了一种业务处理装置,包括:

业务确定单元,用于从未处理的多个业务中,确定当前待处理的目标业务;

等级确定单元,用于确定当前时刻所述目标业务所属的目标重要等级;

资源确定单元,用于依据所述目标业务所属的目标重要等级,以及预置的不同重要等级的业务所对应的可用资源集合,确定所述目标业务的目标可用资源集合,其中,重要等级越高的业务的可用资源集合中所包含的资源越多;

业务处理单元,用于利用所述目标可用资源集合所包含的资源,处理所述目标业务。

优选的,所述等级确定单元,包括:

计划确定单元,用于从至少两个资源分配计划中,确定当前时刻所适用的目标资源分配计划;

等级确定子单元,用于确定在所述目标资源分配计划中,所述目标业务所属的目标重要等级;

所述资源确定单元,包括:

资源确定子单元,用于依据所述目标资源分配计划中设定的不同重要等级的业务所对应的可用资源集合,确定所述目标业务所属的目标重要等级所对应的目标可用资源集合。

优选的,所述等级确定单元,包括:

应用确定单元,用于确定生成所述目标业务的目标应用程序;

等级匹配单元,用于根据应用程序与重要等级之间的映射关系,确定所述目标应用程序所对应的重要等级,并将所述目标应用程序对应的重要等级确定为所述目标业务所属的目标重要等级。

优选的,还包括:

资源状态判断单元,用于在所述等级确定单元确定当前时刻所述目标业务所属的目标重要等级之前,根据数据库系统中当前剩余的可用资源,或者所述多个业务所需的总资源与数据库系统当前剩余的可用资源的比例,判断当前时刻数据库系统是否处于资源紧张状态;并在判断出所述数据库系统处于资源紧张状态时,触发执行所述等级确定单元的操作。

经由上述的技术方案可知,在本申请实施例中,数据库系统为不同重要等级的业务分配不同的资源集合,且重要等级越高的业务所对应的资源集合中的资源越多,这样,在从批量业务中确定出当前待处理的目标业务之后,根据该目标业务所属的目标重要等级,确定该目标业务对应的可用资源集合,并利用该目标业务对应的可用资源集合中的资源处理该目标业务,因此,如果当前处理的业务为较为重要的业务,那么处理该业务可用的资源也会相对较多,从而减少由于资源不足,无法规定时间完成重要业务的处理的情况,为重要业务的处理提供了可靠保证,进而提高了重要业务处理的可靠性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了本申请的一种业务处理方法一个实施例的流程示意图;

图2示出了本申请的一种业务处理方法又一个实施例的流程示意图;

图3示出了本申请的一种业务处理装置一个实施例的组成结构示意图。

具体实施方式

本申请实施例的方案可以应用于数据库系统中业务的处理,以减少由于不同应用的业务对资源争用,而出现由于资源不足而导致重要业务无法被及时处理的情况,提高处理重要业务的及时性和可靠性。

下面结合附图对本申请实施例的方案进行介绍。

如,参见图1,其示出了本申请一种业务处理方法一个实施例的流程示意图,本实施例的方法可以应用任意具有资源管理功能的数据库系统中,如,该方法可以应用于oracle数据库中。本实施例的方法可以包括:

s101,从未处理的多个业务中,确定当前待处理的目标业务。

其中,在本申请实施例中,业务也可以称为数据库系统所需要处理的作业或者任务,如,在oracle数据库中,一个业务可以认为是一个job作业。

在数据库系统中存在多个等待处理的业务的情况下,可以按照待处理的业务的生成时刻,依次处理各个业务。当然,也可以根据需要设定选取当前需要处理的业务的条件,在此不加以限制。

为了便于区分,本申请实施例中,将当前需要处理的业务称为目标业务。

s102,确定当前时刻该目标业务所属的目标重要等级。

其中,在本申请实施例中,将不同业务划分为不同的重要等级,如,第一重要等级,第二重要等级等等,同一重要等级可以包括一种或者多种业务。业务所属的重要等级越高,说明该业务的重要性越高,而对于重要性高的业务,数据库系统需要优先为该业务配置资源,以保证该业务的可靠处理。

为了便于区分,本申请实施例将目标业务所属的重要等级称为目标重要等级。

其中,根据不同的需求,确定该目标业务所属的目标重要等级的方式可以有多种。

如,在一种可能的实现方式中,可以预先配置不同业务所对应的重要等级,如,预先设置不同业务的标识与重要等级之间的映射关系,这样,根据业务与重要等级的映射关系,可以得到该目标业务所属的目标重要等级。

在又一种可能的实现方式中,考虑到业务是由不同应用产生的,而不同应用的重要程度与业务的重要程度是具有关联的,因此,可以预先根据应用程序的重要程度,设置不同应用程序的重要等级。相应的,在确定该业务的目标重要等级时,可以是:先确定生成该目标业务的目标应用程序;然后,根据应用程序与重要等级之间的映射关系,确定该目标应用程序对应的重要等级,并将该目标应用程序的重要等级作为该目标业务所属的目标重要等级。

可以理解的是,不同业务所属的重要等级可以是固定不变的;也可以根据不同时间段的不同需求,分别设置不同时间段内不同业务所属的重要等级。如,以银行系统为例,在周一到周五的时间段内,某个应用中的业务属于重要业务;而在周六以及周日,该应用所产生的业务则不属于重要业务。

为了能够适应不同时间段内重要业务的变化,可以预先设定两个或多个资源分配计划,在不同的资源分配计划中可以分别设置不同业务的重要等级,且同一个业务在不同资源分配计划中所具有的重要等级可以不同,如,在第一个资源分配计划中,业务a和业务b的重要等级都属于第一重要等级;而在第二个资源分配计划中,业务a仍属于第一重要等级,但是业务b属于第二重要等级。

相应的,在确定该目标业务所属的目标重要等级时,可以从该至少两个资源分配计划中,确定当前时刻所适用的目标资源分配计划;然后,确定在该目标资源分配计划中,该目标业务所属的目标重要等级。其中,从为了便于区分,将当前时刻适用的资源分配计划称为目标资源分配计划,如,在周一到周五的时间段内,确定业务的重要等级时,可以依据资源分配计划m1中设定的业务与重要等级的映射关系确定;而在周六到周日的时间段内,确定业务的重要等级时,可以依据资源分配计划m2中设定的业务与重要等级的映射关系确定。

可以理解的是,对于任意一个资源分配计划而言,通过该资源分配计划设定业务与重要等级的对应关系的方式可以包括前面所提到的几种方式,如,在资源分配计划中可以直接设定不同业务的标识与重要等级的映射关系,从而根据该映射关系,确定目标业务所属的目标重要等级;也可以是在资源分配计划分设定不同应用与重要等级的映射关系,这样,可以先确定出生成目标业务的目标应用程序,然后根据目标应用与重要等级的映射关系,确定目标业务所属的目标重要等级。

s103,依据该目标业务所属的目标重要等级,以及预置的不同重要等级的业务所对应的可用资源集合,确定该目标业务的目标可用资源集合。

在本申请实施例中,针对不同重要等级的业务,分配不同的可用资源集合,且,重要等级越高的业务的可用资源集合中所包含的资源越多。其中,同一个重要等级的业务可以共用该重要等级所对应的可用资源集合内的所有资源。

如,假设业务的重要等级分为三个级别,按照重要程度从高到低依次为:第一重要等级、第二重要等级以及第三重要等级。那么,第一重要等级的所有业务分配的可用资源集合中的资源可以占数据库系统的总资源的百分之八十;为第二重要等级的业务分配的可用资源集合的资源可以占数据库系统的总资源的百分之十五;而为第三重要等级的业务分配的可用资源集合中的资源可以占数据库系统的总数据的百分之五。

其中,可用资源集合中可以为数据库系统的所有类型的资源,如,可用资源集合中可以包括硬件资源,例如,cpu、内存以及输入输出接口等等资源,还可以包括常规的软件资源,在此不加以限定。

为了便于区分,本申请实施例将目标业务所属的目标重要等级所对应的可用资源集合称为目标可用资源集合。

可以理解的是,在预先配置了多个资源分配计划的情况下,每个资源分配计划中还可以设定有不同重要等级所对应的可用资源集合。相应的,在确定出当前可用的目标资源分配计划以及目标业务所属的目标重要等级之后,还可以依据该目标资源分配计划中设定的不同重要等级的业务所对应的可用资源集合,确定该目标业务所属的目标重要等级所对应的目标可用资源集合。

s104,利用该目标可用资源集合所包含的资源,处理目标业务。

可以理解的是,目标可用资源集合中所包含的物理资源是固定的,该目标可用资源集合中的所有资源都可以用于处理该目标重要等级所包含的各个业务,在该种情况下,从而可以直接利用该目标可用资源集合内的资源处理该目标业务。

可见,在本申请实施例中,数据库系统为不同重要等级的业务分配不同的资源集合,且重要等级越高的业务所对应的资源集合中的资源越多,这样,在从批量业务中确定出当前待处理的目标业务之后,根据该目标业务所属的目标重要等级,确定该目标业务对应的可用资源集合,并利用该目标业务对应的可用资源集合中的资源处理该目标业务,因此,如果当前处理的业务为较为重要的业务,那么处理该业务可用的资源也会相对较多,从而减少由于资源不足,无法规定时间完成重要业务的处理的情况,为重要业务的处理提供了可靠保证,进而提高了重要业务处理的可靠性。

如,参见图2,其示出了本申请一种业务处理方法又一个实施例的流程示意图,本实施例的方法可以包括:

s201,从未处理的多个业务中,确定当前待处理的目标业务。

s202,判断当前时刻数据库系统是否处于资源紧张状态,如果是,则执行步骤s203;如果否,则执行步骤s208;

其中,数据库系统的资源处于资源紧张状态的条件可以根据需要设定,如,可以根据数据库中当前剩余的可用资源,判断该数据库系统是否处于资源紧张状态,例如,如果当前剩余的可用资源占数据库系统的总资源的比例小于预设值,则可以认为数据库系统处于资源紧张状态。

又如,可以根据数据库中未处理的该多个业务所需的总资源,与数据库当前剩余的可用资源的比例,判断当前时刻数据库系统是否处于资源紧张状态。例如,假设该多个业务所需的总资源大于该数据库当前剩余的可用资源的比例,则可以认为数据库系统处于资源紧张状态。

如果数据库系统的资源处于紧张状态,则可以按照业务的重要等级,控制不同业务在各自重要等级所对应的资源范围,完成业务处理,以减少由于资源争用而导致重要业务由于无法获取到资源而无法被处理的情况。反之,如果数据库系统的资源未处于紧张状态,则可以直接运行或者说执行该相应的业务。

可以理解的是,在执行该步骤s202之前,还可以判断当前是否满足该目标业务的驱动条件,如果满足该目标业务的驱动条件,则可以执行该步骤s202;如果当前不满足该驱动条件,则说明当前仍无法处理该目标业务,则可以等待或者进行相关处理,以满足处理该目标业务的驱动条件。

s203,从至少两个资源分配计划中,确定当前时刻适用的目标资源分配计划。

如,每个资源分配计划对应着一个适用时间段,当前时刻处于哪个资源分配计划所对应的使用时间段内,则确定该资源分配计划为当前适用的目标资源分配计划。

对于资源分配计划的具体含义可以参见前面实施例的相关介绍,在此不再赘述。

s204,按照目标资源分配计划中设定的业务与重要等级的映射关系,确定该目标业务所属的目标重要等级。

本实施例仅仅是为了便于理解,以资源分配计划中设置有不同业务的标识与不同重要等级之间的映射关系为例进行说明,但是可以理解的是,如果资源分配计划中设定有不同应用程序与重要等级之间的映射关系,且根据该映射关系以及业务所属的应用程序,来确定目标业务所属的目标重要等级,也同样适用于本实施例,在此不加以限制。

s205,依据该目标资源分配计划中设定的不同重要等级的业务所对应的可用资源集合,确定该目标业务所属的目标重要等级所对应的目标可用资源集合。

不同重要等级所对应的可用资源集合不同,且重要等级越高的业务的可用资源集合中所包含的资源越多。当然,不同可用资源集合之间的资源可以不存在重合。

s206,检测该目标可用资源集合是否存在空闲资源,如果是,则执行步骤s207;如果否,则重复执行该步骤s206,以等待属于该目标重要等级的其他业务释放所占用的资源。

可以理解的是,执行该目标业务可用的该目标可用资源集合中不存在空闲资源,则说明当前时刻数据库系统处理与该目标业务处于相同重要等级的其他业务已经占用了该目标可用资源集合中的所有资源。在该种情况下,为了避免由于资源冲突,而导致正在处理的相同重要等级的其他业务无法完成处理,或者是影响该目标业务的正常处理,则可以先不执行该目标业务,而是等待该相同重要等级的其他业务被处理完,并释放出属于该目标可用资源集合的资源之后,再执行对该目标业务的处理。

当然,如果该目标可用资源集合中存在空闲资源,则可以直接执行后续步骤s207。

s207,当该目标可用资源集合中存在空闲资源时,利用该目标可用资源集合中的空闲资源处理该目标业务,并执行步骤s209。

可以理解的是,利用该目标可用资源中的空闲资源处理该目标业务的过程中,如果当前时刻空闲资源不足以完成对该目标业务处理,则仍可以继续等待相同重要级别的其他业务释放资源之后,继续执行对该目标业务的处理,直至完成该目标业务的处理。

如果仍存在未被处理的业务,则可以重复执行以上步骤,直至未被处理的所有业务均被完成处理。

s208,在数据库系统未处于资源紧张状态的情况下,利用数据库系统中的空闲资源处理该目标业务。

s209,检测当前是否仍存在未处理的业务,如果是,则返回步骤s201;如果否,则结束。

对应本申请的一种业务处理方法,本申请还提供了一种业务处理装置。

如,参见图3,其示出了本申请一种业务处理装置一个实施例的组成结构示意图,本实施例的装置可以包括:

业务确定单元301,用于从未处理的多个业务中,确定当前待处理的目标业务;

等级确定单元302,用于确定当前时刻所述目标业务所属的目标重要等级;

资源确定单元303,用于依据所述目标业务所属的目标重要等级,以及预置的不同重要等级的业务所对应的可用资源集合,确定所述目标业务的目标可用资源集合,其中,重要等级越高的业务的可用资源集合中所包含的资源越多;

业务处理单元304,用于利用所述目标可用资源集合所包含的资源,处理所述目标业务。

在一种实现方式中,所述等级确定单元,可以包括:

计划确定单元,用于从至少两个资源分配计划中,确定当前时刻所适用的目标资源分配计划;

等级确定子单元,用于确定在所述目标资源分配计划中,所述目标业务所属的目标重要等级。

所述资源确定单元,包括:

资源确定子单元,用于依据所述目标资源分配计划中设定的不同重要等级的业务所对应的可用资源集合,确定所述目标业务所属的目标重要等级所对应的目标可用资源集合。

进一步的,所述等级确定单元,包括:

应用确定单元,用于确定生成所述目标业务的目标应用程序;

等级匹配单元,用于根据应用程序与重要等级之间的映射关系,确定所述目标应用程序所对应的重要等级,并将所述目标应用程序对应的重要等级确定为所述目标业务所属的目标重要等级。

在一种可能的实现方式中,该装置还可以包括:

资源状态判断单元,用于在所述等级确定单元确定当前时刻所述目标业务所属的目标重要等级之前,根据数据库系统中当前剩余的可用资源,或者所述多个业务所需的总资源与数据库系统当前剩余的可用资源的比例,判断当前时刻数据库系统是否处于资源紧张状态;并在判断出所述数据库系统处于资源紧张状态时,触发执行所述等级确定单元的操作。

在又一种实现方式中,所述业务处理单元,包括:

检测单元,用于检测所述目标可用资源集合是否存在空闲资源;

第一业务处理单元,用于当所述目标可用资源集合中存在空闲资源时,利用所述空闲资源处理所述目标业务;

第二业务处理单元,用于当所述目标可用资源集合中不存在空闲资源时,则等待属于所述目标重要等级的其他业务释放所占用的资源。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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