资源配额管理、资源处理方法、装置、设备、系统及介质

阅读: 评论:0

著录项
  • CN201910829930.0
  • 20190903
  • CN110764899A
  • 20200207
  • 无锡华云数据技术服务有限公司
  • 蔡志阳;顾欣;杨波
  • G06F9/50
  • G06F9/50

  • 江苏省无锡市滨湖区科教软件园6号
  • 江苏(32)
  • 北京超成律师事务所
  • 吴迪
摘要
本申请提供一种资源配额管理、资源处理方法、装置、设备、系统及介质,资源服务在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,并将资源配额申请请求发送给资源配额服务。而资源配额服务在资源配额申请请求所请求的资源满足预设配额条件时,向资源服务返回资源配额许可,并将资源冻结,从而实现资源配额。而资源服务在接收到资源配额服务返回的资源配额许可时,即采用该资源对资源处理请求进行处理。整个过程中,资源配额服务仅需与资源服务进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。
权利要求

1.一种资源配额管理方法,其特征在于,包括:

接收资源服务发来的资源配额申请请求;

判断所述资源配额申请请求所请求的资源是否满足预设配额条件;

在所述资源配额申请请求所请求的资源满足预设配额条件时,将所述资源冻结,并向所述资源服务返回资源配额许可,以使所述资源服务根据所述资源配额许可进行资源处理。

2.如权利要求1所述的资源配额管理方法,其特征在于,所述判断所述资源配额申请请求所请求的资源是否满足预设配额条件包括:

判断所述资源配额申请请求所请求的资源是否被其他资源配额申请请求所请求;

若是,针对所述资源启用分布式锁对所述资源配额申请请求进行排序,并在排序在所述资源配额申请请求之前的所述其他资源配额申请请求对所述资源使用完毕后,确定所述资源配额申请请求所请求的资源满足预设配额条件;

若否,确定所述资源配额申请请求所请求的资源满足预设配额条件。

3.如权利要求1所述的资源配额管理方法,其特征在于,所述资源配额管理方法还包括:

接收对应于所述资源配额申请请求的资源服务的资源处理结果;

根据所述资源处理结果进行资源配额管理。

4.如权利要求3所述的资源配额管理方法,其特征在于,所述根据所述资源处理结果进行资源配额管理包括:

在所述资源处理结果为成功结果时,根据所述资源的资源类型所对应的处理方式对所述资源进行处理;

在所述资源处理结果为失败结果时,将所述资源解冻。

5.如权利要求4所述的资源配额管理方法,其特征在于,所述根据所述资源的资源类型所对应的处理方式对所述资源进行处理包括:

在所述资源的资源类型为占用类资源时,将所述资源从可配额资源中去除;

在所述资源的资源类型为非占用类资源时,将所述资源解冻。

6.如权利要求3所述的资源配额管理方法,其特征在于,在所述根据所述资源处理结果进行资源配额管理之后,还包括:

针对所述资源处理结果和所述资源配额管理过程生成日志记录。

7.如权利要求3-6任一项所述的资源配额管理方法,其特征在于,所述接收对应于所述资源配额申请请求的资源服务的资源处理结果包括:

接收通过中间件发送的对应于所述资源配额申请请求的资源服务的资源处理结果。

8.一种资源处理方法,其特征在于,包括:

在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给资源配额服务;

在接收到所述资源配额服务返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

9.如权利要求8所述的资源处理方法,其特征在于,在所述采用所述资源对所述资源处理请求进行处理之后,还包括:

针对采用所述资源对所述资源处理请求进行处理的过程生成日志记录。

10.如权利要求8或9所述的资源处理方法,其特征在于,在所述采用所述资源对所述资源处理请求进行处理之后,还包括:

通过预设的中间件向所述资源配额服务发送对所述资源的资源处理结果,并接收所述中间件返回的已接收通知;

根据已接收通知处理下一个资源处理请求。

11.一种资源处理方法,其特征在于,包括:

资源服务在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给资源配额服务;

所述资源配额服务判断所述资源配额申请请求所请求的资源是否满足预设配额条件;在所述资源配额申请请求所请求的资源满足预设配额条件时,向所述资源服务返回资源配额许可,并将所述资源冻结;

所述资源服务在接收到所述资源配额服务返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

12.一种资源配额管理装置,其特征在于,包括:接收模块、判断模块以及第一处理模块;

所述接收模块用于接收资源服务发来的资源配额申请请求;

所述判断模块用于判断所述资源配额申请请求所请求的资源是否满足预设配额条件;

所述第一处理模块用于在所述资源配额申请请求所请求的资源满足预设配额条件时,将所述资源冻结,并向所述资源服务返回资源配额许可,以使所述资源服务根据所述资源配额许可进行资源处理。

13.一种资源处理装置,其特征在于,包括:请求模块和第二处理模块;

所述请求模块用于在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给资源配额服务;

所述第二处理模块用于在接收到所述资源配额服务返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

14.一种资源处理系统,其特征在于,包括:资源处理装置和资源配额管理装置;

所述资源处理装置用于在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给所述资源配额管理装置;

所述资源配额管理装置用于判断所述资源配额申请请求所请求的资源是否满足预设配额条件;在所述资源配额申请请求所请求的资源满足预设配额条件时,向所述资源处理装置返回资源配额许可,并将所述资源冻结;

所述资源处理装置还用于在接收到所述资源配额管理装置返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

15.一种电子设备,其特征在于,包括处理器、存储器及通信总线;

所述通信总线用于实现处理器和存储器之间的连接通信;

所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现如权利要求1至7中任一项所述的资源配额管理方法的步骤;

或,所述处理器用于执行存储器中存储的一个或者多个第二程序,以实现如权利要求8至10中任一项所述的资源处理方法的步骤。

16.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的资源配额管理方法的步骤,或实现如权利要求8至10中任一项所述的资源处理方法的步骤。

说明书
技术领域

本申请涉及资源处理领域,具体而言,涉及一种资源配额管理、资源处理方法、装置、设备、系统及介质。

随着社会的不断发展,分布式系统的应用也越来越广泛。但是在分布式系统中,各资源分散在各资源微服务中,资源配额的管理、统计会有诸多麻烦。因此如何实现资源配额的分配和管理就成了目前在分布式系统中的一个亟待解决的问题。目前常规的实现资源配额的分配和管理的方式是,在分布式系统中抽象出一个专门进行服务处理和配额管理的聚合服务层。业务服务层和聚合服务层对接,由聚合服务层根据业务服务层的请求进行资源配额,并在配额成功后通知资源服务进行业务服务层的请求的处理。但是,在目前的方式中,业务服务层的请求需要先经过聚合服务层后才能到达资源服务,这就增加了业务的链路,使得系统可靠性较低,网络输入输出(IO)消耗大,在并发业务场景中性能相对较差。

本申请实施例的目的在于提供一种资源配额管理方法、资源处理方法、装置、设备、系统及介质,用以解决相关技术增加了业务的链路,使得系统可靠性较低,网络IO消耗大,在并发业务场景中性能相对较差的问题。

本申请实施例提供了一种资源配额管理方法,包括:接收资源服务发来的资源配额申请请求;判断所述资源配额申请请求所请求的资源是否满足预设配额条件;在所述资源配额申请请求所请求的资源满足预设配额条件时,将所述资源冻结,并向所述资源服务返回资源配额许可,以使所述资源服务根据所述资源配额许可进行资源处理。

在上述实现过程中,通过在接收到资源服务发来的资源配额申请请求时,判断资源配额申请请求所请求的资源是否满足预设配额条件。进而在资源配额申请请求所请求的资源满足预设配额条件时,将资源冻结,并向资源服务返回资源配额许可,从而使得资源服务可以根据该资源配额许可进行资源处理,这也就实现了对于资源配额的有效分配和管理。同时,整个资源配额管理方法中,仅需与资源服务进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

进一步地,所述判断所述资源配额申请请求所请求的资源是否满足预设配额条件包括:判断所述资源配额申请请求所请求的资源是否被其他资源配额申请请求所请求;若是,针对所述资源启用分布式锁对所述资源配额申请请求进行排序,并在排序在所述资源配额申请请求之前的所述其他资源配额申请请求对所述资源使用完毕后,确定所述资源配额申请请求所请求的资源满足预设配额条件;若否,确定所述资源配额申请请求所请求的资源满足预设配额条件。

在上述实现过程中,在资源配额申请请求所请求的资源也被其他资源配额申请请求所请求时,通过采用分布式锁的方案对请求同一资源的资源配额申请请求进行排序,从而依序针对该资源为各资源配额申请请求配额。这就使得多个资源配额申请请求对统一资源互斥,有效防止了各资源配额申请请求之间彼此干扰,保证了资源配额过程的一致性和可控性。

进一步地,所述资源配额管理方法还包括:接收对应于所述资源配额申请请求的资源服务的资源处理结果;根据所述资源处理结果进行资源配额管理。

在上述实现过程中,还会接收对应于资源配额申请请求的资源服务的资源处理结果,进而根据资源处理结果进行资源配额管理。从而进一步保证整个资源配额过程的有效性。

进一步地,所述根据所述资源处理结果进行资源配额管理包括:在所述资源处理结果为成功结果时,根据所述资源的资源类型所对应的处理方式对所述资源进行处理;在所述资源处理结果为失败结果时,将所述资源解冻。

在上述实现过程中,在资源处理结果为失败结果时,即表明配额的相关资源并没有被有效利用,因此可以将其解冻,从而作为可配额资源来为新的资源配额申请请求服务。而在资源处理结果为成功结果时,则根据资源的资源类型,按照资源类型所对应的处理方式对资源进行处理。这就保证了对资源配额的管理有效性。

进一步地,所述根据所述资源的资源类型所对应的处理方式对所述资源进行处理包括:在所述资源的资源类型为占用类资源时,将所述从可配额资源中去除;在所述资源的资源类型为非占用类资源时,将所述资源解冻。

在上述实现过程中,对于占用类资源(如内存等),其被配额的被部分在处理结果为处理成功时,会被继续占用,因此该部分不能再用作为新的资源配额申请请求进行配额,此时可以将其从可配额资源中去除。而对于非占用类资源(如处理器等),在处理结果为处理成功时,该资源就重新空闲出来了,因此可以用作为新的资源配额申请请求进行配额,此时可以将其进行解冻,从而作为可配额资源。这就保证了对资源配额的管理有效性。

进一步地,在所述根据所述资源处理结果进行资源配额管理之后,还包括:针对所述资源处理结果和所述资源配额管理过程生成日志记录。

在上述实现过程中,通过针对资源处理结果和资源配额管理过程生成日志记录,使得后期可以根据需要能够调用到相应的日志信息,从而实现了对资源配额管理过程的可溯源性。

进一步地,所述接收对应于所述资源配额申请请求的资源服务的资源处理结果包括:接收通过中间件发送的对应于所述资源配额申请请求的资源服务的资源处理结果。

在上述实现过程中,通过中间件来实现对资源服务的资源处理结果的接收,这就保证了信息传输的可靠性。同时通过中间件来实现对资源服务的资源处理结果的接收,也就使得资源服务不再需要依赖于配额服务的反馈才能执行下一资源处理请求,提升了资源服务的自由度,提高了在并发业务场景中的性能。

本申请实施例还提供了一种资源处理方法,包括:在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给资源配额服务;在接收到所述资源配额服务返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

在上述实现过程中,通过在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,将资源配额申请请求发送给资源配额服务,并在接收到资源配额服务返回的资源配额许可时,采用获得许可的这些资源对该资源处理请求进行处理。这就使得整个资源处理方法中,会直接与业务服务层进行交互,而资源配额服务不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

进一步地,在所述采用所述资源对所述资源处理请求进行处理之后,还包括:针对采用所述资源对所述资源处理请求进行处理的过程生成日志记录。

在上述实现过程中,通过针对采用所述资源对所述资源处理请求进行处理的过程生成日志记录,使得后期可以根据需要能够调用到相应的日志信息,从而实现了对资源处理过程的可溯源性。

进一步地,在所述采用所述资源对所述资源处理请求进行处理之后,还包括:通过预设的中间件向所述配额服务发送对所述资源的资源处理结果,并接收所述中间件返回的已接收通知;根据已接收通知处理下一个资源处理请求。

在上述实现过程中,通过中间件来实现对资源处理结果的外发,只需要接收到中间件返回的已接收通知即可,这就保证了信息传输的可靠性,同时也不再需要依赖于配额服务的反馈才能执行下一资源处理请求,提升了自由度,提高了在并发业务场景中的性能。

本申请实施例还提供了一种资源处理方法,包括:资源服务在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给资源配额服务;所述资源配额服务判断所述资源配额申请请求所请求的资源是否满足预设配额条件;在所述资源配额申请请求所请求的资源满足预设配额条件时,向所述资源服务返回资源配额许可,并将所述资源冻结;所述资源服务在接收到所述资源配额服务返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

在上述实现过程中,资源服务在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,并将资源配额申请请求发送给资源配额服务。而资源配额服务判断资源配额申请请求所请求的资源是否满足预设配额条件,在资源配额申请请求所请求的资源满足预设配额条件时,向资源服务返回资源配额许可,并将资源冻结,从而实现资源配额。而资源服务在接收到资源配额服务返回的资源配额许可时,即采用该资源对资源处理请求进行处理。整个过程中,资源配额服务仅需与资源服务进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

本申请实施例还提供了一种资源配额管理装置,包括:包括:接收模块、判断模块以及第一处理模块;所述接收模块用于接收资源服务发来的资源配额申请请求;所述判断模块用于判断所述资源配额申请请求所请求的资源是否满足预设配额条件;所述第一处理模块用于在所述资源配额申请请求所请求的资源满足预设配额条件时,将所述资源冻结,并向所述资源服务返回资源配额许可,以使所述资源服务根据所述资源配额许可进行资源处理。

在上述实现过程中,通过在接收到资源服务发来的资源配额申请请求时,判断资源配额申请请求所请求的资源是否满足预设配额条件。进而在资源配额申请请求所请求的资源满足预设配额条件时,将资源冻结,并向资源服务返回资源配额许可,从而使得资源服务可以根据该资源配额许可进行资源处理,这也就实现了对于资源配额的有效分配和管理。同时,整个资源配额管理方法中,仅需与资源服务进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

本申请实施例还提供了一种资源处理装置,包括:包括:请求模块和第二处理模块;所述请求模块用于在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给资源配额服务;所述第二处理模块用于在接收到所述资源配额服务返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

在上述实现过程中,通过在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,将资源配额申请请求发送给资源配额服务,并在接收到资源配额服务返回的资源配额许可时,采用获得许可的这些资源对该资源处理请求进行处理。这就使得整个资源处理方法中,会直接与业务服务层进行交互,而资源配额服务不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

本申请实施例还提供了一种资源处理系统,包括:包括:资源处理装置和资源配额管理装置;所述资源处理装置用于在接收到业务服务层发来的资源处理请求时,根据所述资源处理请求所需的资源生成资源配额申请请求,并将所述资源配额申请请求发送给所述资源配额管理装置;所述资源配额管理装置用于判断所述资源配额申请请求所请求的资源是否满足预设配额条件;在所述资源配额申请请求所请求的资源满足预设配额条件时,向所述资源处理装置返回资源配额许可,并将所述资源冻结;所述资源处理装置还用于在接收到所述资源配额管理装置返回的资源配额许可时,采用所述资源对所述资源处理请求进行处理。

在上述实现过程中,资源处理装置在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,并将资源配额申请请求发送给资源配额管理装置。而资源配额管理装置判断资源配额申请请求所请求的资源是否满足预设配额条件,在资源配额申请请求所请求的资源满足预设配额条件时,向资源处理装置返回资源配额许可,并将资源冻结,从而实现资源配额。而资源处理装置在接收到资源配额管理装置返回的资源配额许可时,即采用该资源对资源处理请求进行处理。整个过程中,资源配额管理装置仅需与资源处理装置进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现上述第一种的资源配额管理方法的步骤;或,所述处理器用于执行存储器中存储的一个或者多个第二程序,以实现上述第二种的资源处理方法的步骤。

本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一种的资源配额管理方法的步骤,或实现上述第二种的资源处理方法的步骤。

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种资源配额服务侧的资源配额管理方法的流程示意图;

图2为本申请实施例提供的一种资源服务侧的资源处理方法的流程示意图;

图3为本申请实施例提供的一种资源服务和资源配额服务的交互过程示意图;

图4为本申请实施例提供的一种较具体的资源服务和资源配额服务的交互过程示意图;

图5为本申请实施例提供的一种资源处理装置的结构示意图;

图6为本申请实施例提供的一种较具体的资源处理过程的示意图;

图7为本申请实施例提供的一种资源配额管理装置的结构示意图;

图8为本申请实施例提供的一种资源处理装置的结构示意图;

图9为本申请实施例提供的一种电子设备的结构示意图。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

实施例一:

在本申请实施例中,为了解决相关技术增加了业务的链路,使得系统可靠性较低,网络IO消耗大,在并发业务场景中性能相对较差的问题,搭建了主要由资源服务和资源配额服务构成的资源配额以及处理的框架。

在本申请实施例中,资源服务会与业务服务层对接,从而接收业务服务层的资源处理请求。而为了处理资源处理请求,资源服务需要调用相应的资源来进行处理,这就需要资源配额服务的配合。在本申请实施例中,资源服务在接收到业务服务层的资源处理请求,可以根据资源处理请求所需的资源生成资源配额申请请求,进而发送给资源配额服务。需要说明的是,业务服务层是直接或间接与用户对接的、产生资源处理任务的抽象层,其可以通过程序软件等形式布置在终端、服务器等实体上。

在实际应用中,资源服务和资源配额服务可以分别由专门的程序或平台来实现。其可以设立在不同电子设备上(如服务器等设备上),也可以设置在同一设备上。为了能好的描述本申请实施例的方案,下面先分别从资源配额服务侧和资源服务侧两个方向进行单侧描述,然后再从资源配额服务侧和资源服务侧的交互过程进行描述(参见实施例二所述)。本申请实施例的具体实施方式如下:

请参见图1所示,图1为本申请实施例提供的一种资源配额管理方法的流程示意图,应用于资源配额服务中,包括:

S101:接收资源服务发来的资源配额申请请求。

需要说明的是,本申请实施例中的资源配额服务是用于进行资源配额管理的,而资源服务则可以用于调用相关资源进行资源处理。

S102:判断资源配额申请请求所请求的资源是否满足预设配额条件。

在本申请实施例中,资源配额服务用作进行资源配额管理。需要说明的是,本申请实施例中的资源是指计算机进行资源处理中所能用到的相应资源,如处理器资源、内存资源、进程数资源等。

在本申请实施例中,资源配额服务内会明确可配额资源有哪些,如果资源配额申请请求所请求的资源在可配额资源中没有,那么资源配额申请请求所请求的资源即不满足预设配额条件。反之,可以判定资源配额申请请求所请求的资源满足预设配额条件。

在本申请实施例中,在资源配额申请请求所请求的资源即不满足预设配额条件时可以向发送该资源配额申请请求的资源服务反馈资源额度不足,不能进行配额的消息,以使资源服务重新请求新的资源,或放弃进行资源处理等。

在本申请实施例的一种可行实施方式中,若资源配额申请请求所请求的资源在可配额资源中都有,那么可以判断资源配额申请请求所请求的资源是否被其他资源配额申请请求所请求。如果资源配额申请请求所请求的资源未被其他资源配额申请请求所请求(即资源配额申请请求所请求的资源空闲),那么可以判定资源配额申请请求所请求的资源满足预设配额条件。

在上述可行实施方式中,在资源配额申请请求所请求的资源被其他资源配额申请请求所请求时,还可以针对资源启用分布式锁对资源配额申请请求进行排序,并在排序在资源配额申请请求之前的其他资源配额申请请求对该资源使用完毕后,确定资源配额申请请求所请求的资源满足预设配额条件。例如,资源配额申请请求1请求资源a,而资源配额申请请求2和3也请求资源a,那么资源配额服务启用分布式锁对于请求资源a的资源配额申请请求1-3进行排序。假设资源配额申请请求2排在资源配额申请请求1之前,那么在资源配额申请请求2使用完毕资源a且资源a被资源配额申请请求2使用完毕后仍旧可以使用时,或在资源配额申请请求2对应的资源服务进行资源处理处理失败时,将资源a配额给资源配额申请请求1。需要说明的是,在本申请实施例中,可以资源配额服务可以按照接收到各资源配额申请请求的先后顺序对各资源配额申请请求进行排序。

还需要说明的是,在本申请实施例中,资源分为占用类资源和非占用类资源。所谓占用类资源是指,配额给资源服务后,一旦资源服务处理成功,该资源即被持续占用,在释放之前不能再进行配额,如内存类资源等。例如资源配额申请请求1请求的资源为整个内存1,在资源配额申请请求1对应的资源服务处理业务成功后,处理数据沾满整个内存1。此时在内存1对于资源配额服务而言,不再是可配额资源,会将其从可配额资源中去除。对于此种情况,若资源配额申请请求处于排序等待过程中,则可以继续排序,等待可配额资源中重新恢复出所请求的资源。此外,也可以向发送该资源配额申请请求的资源服务反馈资源额度不足,不能进行配额的消息。而在本申请实施例中,所谓非占用类资源是指在配额给资源服务后,资源服务处理成功之后不会继续占用的资源,如处理器等。

S103:在资源配额申请请求所请求的资源满足预设配额条件时,将资源冻结,并向资源服务返回资源配额许可,以使资源服务根据资源配额许可进行资源处理。

需要说明的是,本申请实施例中,资源服务进行资源处理是指,资源服务采用被许可的资源进行资源处理。

在本申请实施例,资源配额服务在确定资源配额申请请求所请求的资源满足预设配额条件时,即会自动生成相应的资源配额许可并返回给资源服务,从而使得资源服务可以进一步的进行处理。

在本申请实施例中,资源配额服务在确定资源配额申请请求所请求的资源满足预设配额条件时,还会将资源配额申请请求所请求的资源冻结,从而避免在许可给该资源配额申请请求的资源服务后,又配额给了其他资源配额申请请求所对应的资源服务的情况,保证了资源配额管理过程的可靠性。需要注意的是,在本申请实施例中,向资源服务返回资源配额许可和将资源冻结则两个操作步骤之间没有严格的时序限定。

需要了解的是,一个资源配额申请请求所请求的资源可能仅有一种,也可能有多种。在资源配额申请请求所请求的资源有多种时,若其中存在至少一种资源不满足预设配额条件,正在排序等待,那么可以等待所请求的所有资源均满足预设配额条件时,再向资源服务返回资源配额许可。

在本申请实施例中,资源配额服务还可以接收对应于资源配额申请请求的资源服务的资源处理结果。进而依据接收到的资源处理结果进行资源配额管理。

需要理解的是,为了保证资源配额服务接收到资源配额申请请求的资源服务的资源处理结果时,能够知道该资源处理结果对应在资源配额服务中冻结的资源是哪些,资源配额服务可以在生成资源配额许可时,在许可中加入资源配额申请请求的唯一标识,并记录该资源配额申请请求对应冻结的资源是哪些。而资源服务在返回资源处理结果时,则携带该唯一标识(一种可行的实现方式是在资源处理结果中携带资源配额许可),这样资源配额服务在接收到资源处理结果时,即可依据资源处理结果携带的唯一标识确定出对应于哪一个资源配额申请请求,对应冻结的资源是哪些。

需要说明的是,在本申请实施例中,资源配额申请请求的唯一标识可以由资源配额服务生成,用于唯一标示一条资源配额申请请求。其具体的生成规则在本申请实施例中不做限定。

在本申请实施例中,资源配额服务在根据资源处理结果进行资源配额管理时,可以在资源处理结果为失败时,将冻结的资源解冻。在资源处理结果为失败时,即表明配额的相关资源被资源服务采用后资源处理失败了,相关资源并未被有效利用。将这些资源解冻后,这些资源即为可配额资源,从而可以依据资源配额申请请求进行配额,这就提高了资源利用率,保证了对资源配额的管理有效性。

在本申请实施例的一种可行实施方式中,可以在资源的资源类型为占用类资源时,将该资源从可配额资源中去除;在资源的资源类型为非占用类资源时,将该资源解冻。前文中已经解释过了占用类资源和非占用类资源的定义,那么在资源的资源类型为占用类资源时,在资源服务反馈的资源处理结果为成功时,该资源就被消耗了,不能再配额,因此可以将该资源从可配额资源中去除以保证资源配额管理的可靠性。而在资源的资源类型为非占用类资源时,那么在资源服务对该资源使用完毕后,该资源又重新空闲了下来,此时可以重新用于配额,这就保证了资源的利用率。

在本申请实施例中,对资源服务侧所执行的处理可以参见图2所示,图2为本申请实施例提供的一种资源处理方法的流程示意图,包括:

S201:在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,并将资源配额申请请求发送给资源配额服务。

在本申请实施例中,资源服务在接收到业务服务层发来的资源处理请求时,即会对资源处理请求进行解析,确定所需的资源,进而依据所需的资源生成资源配额申请请求发送给资源配额服务。

S202:在接收到资源配额服务返回的资源配额许可时,采用所请求配额的资源对该资源处理请求进行处理。

在接收到资源配额服务返回的资源配额许可时,即表明了所请求配额的资源是满足预设配额条件的,可以采用这些资源进行资源处理。

值得注意的是,在本申请实施例中,在对该资源处理请求进行处理之后,可以向资源配额服务返回处理结果(即前文中所述的资源处理结果)。在本申请实施例中资源处理结果是原子性的,即只有成功和失败两种结果。在本申请实施例中,资源服务和资源配额服务之间可以通过一个中间件来实现对资源处理结果的传输。通常而言,资源服务对于资源处理请求的处理能力是线性的,即上一个处理完毕之后才能处理下一个资源处理请求。但是为了保证资源处理流程的准确性,资源服务在发送出资源处理结果后,需要收到对端的确认已接收到了的消息后,才能进行下一资源处理请求的处理。而在采用中间件来实现对资源处理结果的传输时,资源服务在向中间件发送资源处理结果后,中间件在接收到资源处理结果后即向资源服务返回一个已接收通知,从而使得资源服务可以继续处理下一个资源处理请求,而不用关心资源配额服务是否真正接收到。而中间件在接收到资源处理结果后向资源配额服务发送该资源处理结果即可。在本申请实施例中,可以设定向资源配额服务发送n(n大于等于1)该资源处理结果,以保证资源配额服务接收到该资源处理结果。也可以设定向资源配额服务发送该资源处理结果,且资源配额服务在接收到资源处理结果后需要反馈一个已接收通知给中间件,中间件在发送资源处理结果后,一旦超过m(m大于0)秒后即自动重新发送该资源处理结果直至接收到了资源配额服务返回的针对该资源处理结果的已接收通知为止。当然,在本申请实施例中也可以设置资源服务可以直接将资源处理结果发送给资源配额服务,并在接收到了资源配额服务返回的已接收通知时,继续处理下一个资源处理请求。

需要说明的是,本申请实施例中所述的中间件为具有信息收发功能的软件或硬件。例如中间件可以是消息总线、具有信息处理能力的主机等。

值得注意的是,在本申请实施例中,资源服务还可以针对采用以配额的资源对该资源处理请求进行处理的过程生成日志记录,从而使得后期可以根据需要能够调用到相应的日志信息,实现对资源处理过程的可溯源性。

同理,在本申请实施例中,资源配额服务可以针对所接收到的资源处理结果和资源配额管理过程生成日志记录,从而使得后期可以根据需要能够调用到相应的日志信息,实现对资源配额管理过程的可溯源性。

需要说明的是,本申请实施例中所提供的方案可以应用于任何需要进行资源配额管理的场景或系统中,例如可以应用于分布式应用系统中。

综上,本申请实施例所提供的资源配额管理方法和资源处理方法,可以实现对于资源配额的有效分配和管理,且整个资源配额管理方法中,资源配额服务仅需与资源服务进行交互,而不需要与业务服务层进行交互,减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

实施例二:

实施例一分别站在资源服务和资源配额服务两侧对本申请的方案进行了描述。而为了使得读者能更容易理解本申请实施例的方案,本实施例在实施例一的基础上,以资源服务和资源配额服务的交互过程对本申请实施例的方案进行描述。

参见图3所示,图3为资源服务和资源配额服务之间的交互示意图。

S301:资源服务在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求。

S302:将资源配额申请请求发送给资源配额服务。

S303:资源配额服务在资源配额申请请求所请求的资源满足预设配额条件时,向资源服务返回资源配额许可。

在本申请实施例中,在返回的资源配额许可中,可以携带有资源配额申请请求的唯一标识。

S304:将资源冻结。

需要说明的是,将资源冻结和向资源服务返回资源配额许可之间没有严格的时序限定。

S305:资源服务在接收到资源配额服务返回的资源配额许可时,采用已配额的资源对该资源处理请求进行处理。

在资源配额服务在向资源服务返回资源配额许可并将资源冻结后,即表明资源配额成功,资源服务可以采用已配额的资源对该资源处理请求进行处理。

在本申请实施例中,可以参见图4所示,在步骤S304之后,还可以包括:

S306:资源服务将资源处理结果发送给预设的中间件。

需要说明的是,上述资源处理结果即资源服务对该资源处理请求进行处理后的结果。在本申请实施例中,中间件可以为消息总线等具有信息收发功能的设备。

还需要说明的是,资源处理结果中可以携带有资源配额许可,从而使得资源配额服务可以准确到资源处理结果谁对应的被冻结待处理的资源。

S307:中间件在接收到资源服务发来的资源处理结果时,返回已接收通知给资源服务。

在本申请实施例中,中间件在接收到了资源服务发来的资源处理结果后,会返回已接收通知给资源服务,从而使得资源服务可以继续进行下一个资源处理请求的处理,而不需要等待资源配额服务的确定。

S308:中间件在接收到资源服务发来的资源处理结果时,将该资源处理结果发送给资源配额服务。

在本申请实施例中,可以设定向资源配额服务发送该资源处理结果,且资源配额服务在接收到资源处理结果后需要反馈一个已接收通知给中间件,中间件在发送资源处理结果后,一旦超过m(m大于0)秒后即自动重新发送该资源处理结果直至接收到了资源配额服务返回的针对该资源处理结果的已接收通知为止。

需要说明的是,在本申请实施例中,步骤S307和S308没有严格的时序关系。也即在实际执行过程中也可以先执行步骤S308,再执行步骤S307,或者同时执行步骤S307和S308。

在本申请实施例中,资源配额服务在接收到资源处理结果后,即可依据资源处理结果中进行资源管理,其所进行的资源管理在实施例一中已有详细描述,故在此不再赘述。

本申请实施例还提供一种与本申请实施例中上述方法对应的资源处理系统100,该装置能够执行本实施例上述方法涉及的各个步骤。参见图5所示,包括资源处理装置101和资源配额管理装置102。其中,

资源处理装置101用于在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,并将资源配额申请请求发送给资源配额管理装置102;

资源配额管理装置102用于判断资源配额申请请求所请求的资源是否满足预设配额条件;在资源配额申请请求所请求的资源满足预设配额条件时,向资源处理装置101返回资源配额许可,并将资源冻结;

资源处理装置101还用于在接收到资源配额管理装置102返回的资源配额许可时,采用资源对该资源处理请求进行处理。

此外,在本申请实施例中,资源处理装置101还用于通过预设的中间件向资源配额管理装置102发送对资源的资源处理结果,并接收中间件返回的已接收通知。资源配额管理装置102还用于接收中间件发送的对应于资源配额申请请求的资源处理装置101的资源处理结果。

此外,在本申请实施例中,资源配额管理装置102还用于在根据资源处理结果进行资源配额管理之后,针对资源处理结果和资源配额管理过程生成日志记录。

此外,在本申请实施例中,资源处理装置101还用于在采用资源对该资源处理请求进行处理之后,针对采用资源对该资源处理请求进行处理的过程生成日志记录。

需要说明的是,资源处理装置101和资源配额管理装置102可以是服务器或终端等实体装置,也可以是以软件形式安装在实体设备中的虚拟装置。

采用本申请实施例的资源处理方法及系统,可以实现资源配额,且整个过程中,资源配额服务仅需与资源服务进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

实施例三:

本实施例在实施例一的基础上,以一种较具体的资源处理过程为例,为本申请做进一步示例说明。

参见图6所示,在图6中,步骤1.1-1.3描述了资源服务接受到外部业务服务层的资源处理请求后,向资源配额服务发送资源配额申请请求以申请资源配额。而资源配额服务在资源服务所请求的资源满足预设配额条件时,颁发资源配额许可给资源服务的过程。在步骤1.1-1.3这3个步骤中,若资源配额服务中出现统一资源被多个资源配额申请请求所请求,那么需分布式锁来实现对这多个资源配额申请请求进行排序,以保障这多个资源配额申请请求的串行处理,防止各资源配额申请请求之间彼此干扰,保证资源配额过程的一致性和可控性。步骤1.1-1.3只有少许配额验证以及生成许可的过程,因此整个资源处理过程中,在此的耗时非常少,可以在一定程度上提升配额效率,提升整个系统的性能。

步骤2.1-2.3描述了资源服务在接收到资源配额许可后,进行资源处理和日志记录的过程。应当理解的是,资源处理应当是原子性的,即资源处理的结果只会有成功和失败两种。

步骤3.1–3.2描述了资源服务处理完成后,将携带有资源配额许可的资源处理结果通过异步消息发送给预设的中间件(通信总线),由中间件将携带有资源配额许可的资源处理结果通知到资源配额服务的过程。

需要理解的是,在步骤3.1–3.2的过程中,利用了中间件的异步、可靠等特性,将各资源服务和资源配额服务解耦,使得资源服务和资源配额服务没有直接依赖关系,资源服务只要接收到中间件的已接收消息即可以进行新的资源处理请求的处理,这就使得系统的吞吐量得以提高。同时由于资源服务和资源配额服务解耦,那么资源服务和资源配额服务的处理逻辑就相互独立了,这就使得系统的处理逻辑得以合理的区分。

步骤4.1–4.2描述了资源配额服务接受到资源服务的“成功”或者“失败”的处理结果时,进行日志记录,并且进行相应的资源配额管理的过程。例如在接收到的资源处理结果为失败时,将资源解冻;在接收到的资源处理结果为成功时,若资源的资源类型为占用类资源,将资源从可配额资源中去除;在资源的资源类型为非占用类资源时,将资源解冻等。

通过上述方案,可以方便的管理、统计资源的配额,而且集中式进行了处理,各资源服务也无需单独处理资源配额的管理,也无需单独提供管理、统计类的接口,均由资源配额服务实现即可。同时,整个过程中,资源配额服务仅需与资源服务进行交互,而不需要与业务服务层进行交互,这就减少了业务的链路,提升了系统可靠性,降低了网络IO消耗,提升了在并发业务场景中的性能。

实施例四:

基于同一发明构思,本申请实施例中还提供资源配额管理装置102和资源处理装置101。请参阅图7和图8所示,图7示出了采用图1所示的资源配额管理方法一一对应的资源配额管理装置,图8示出了采用图2所示的资源处理方法一一对应的资源处理装置。应理解,装置102与上述图1的方法实施例对应,能够执行上述图1的方法涉及的各个步骤;装置101与上述图2的方法实施例对应,能够执行上述图2的方法涉及的各个步骤。装置101和102具体的功能可以参见实施例一中的描述,为避免重复,此处适当省略详细描述。需要说明的是,装置101和102包括至少一个能以软件或固件的形式存储于存储器中或固化在装置101和102的操作系统中的软件功能模块。具体地:

参见图7所示,装置102包括:接收模块1021、判断模块1022以及第一处理模块1023。其中:

接收模块1021用于接收资源服务发来的资源配额申请请求;

判断模块1022用于判断资源配额申请请求所请求的资源是否满足预设配额条件;

第一处理模块1023用于在资源配额申请请求所请求的资源满足预设配额条件时,将资源冻结,并向资源服务返回资源配额许可,以使资源服务根据资源配额许可进行资源处理。

在本申请实施例中,判断模块1022具体用于判断资源配额申请请求所请求的资源是否被其他资源配额申请请求所请求;若是,针对资源启用分布式锁对资源配额申请请求进行排序,并在排序在资源配额申请请求之前的其他资源配额申请请求对资源使用完毕后,确定资源配额申请请求所请求的资源满足预设配额条件;若否,确定资源配额申请请求所请求的资源满足预设配额条件。

在本申请实施例中,接收模块1021还用于接收对应于资源配额申请请求的资源服务的资源处理结果;第一处理模块1023还用于根据资源处理结果进行资源配额管理。

在本申请实施例中,第一处理模块1023具体用于在资源处理结果为成功结果时,根据资源的资源类型,按照资源类型所对应的处理方式对资源进行处理;在资源处理结果为失败结果时,将资源解冻。

在本申请实施例中,第一处理模块1023具体用于在资源的资源类型为占用类资源时,将资源从可配额资源中去除;在资源的资源类型为非占用类资源时,将资源解冻。

在本申请实施例中,第一处理模块1023还用于在根据资源处理结果进行资源配额管理之后,针对资源处理结果和资源配额管理过程生成日志记录。

在本申请实施例中,接收模块1021具体用于接收通过中间件发送的对应于资源配额申请请求的资源服务的资源处理结果。

参见图8所示,装置101包括:请求模块1011和第二处理模块1012。其中:

请求模块1011用于在接收到业务服务层发来的资源处理请求时,根据资源处理请求所需的资源生成资源配额申请请求,并将资源配额申请请求发送给资源配额服务;

第二处理模块1012用于在接收到资源配额服务返回的资源配额许可时,采用资源对资源处理请求进行处理。

在本申请实施例中,第二处理模块1012还用于针对采用资源对资源处理请求进行处理的过程生成日志记录。

在本申请实施例中,第二处理模块1012还用于在采用资源对资源处理请求进行处理之后,通过预设的中间件向资源配额服务发送对资源的资源处理结果,并接收中间件返回的已接收通知。

需要理解的是,上述实施例一中所描述的图1的方法步骤的内容可以通过本实施例的装置102来实现,上述实施例一中所描述的图2的方法步骤的内容可以通过本实施例的装置101来实现,出于描述简洁的考量,在本实施例中不再赘述。

实施例五:

本实施例提供了一种电子设备,参见图9所示,其包括处理器901、存储器902以及通信总线903。其中:

通信总线903用于实现处理器901和存储器902之间的连接通信。

处理器901用于执行存储器902中存储的一个或多个第一程序,以实现上述实施例一中的资源配额管理方法的各步骤;

或,处理器901用于执行存储器902中存储的一个或多个第二程序,以实现上述实施例一中的资源处理方法的各步骤。

应当理解的是,图9所示的结构仅为示意,电子设备还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。还应当理解的是,本申请实施例中电子设备可以是服务器等设备。

本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一中的资源配额管理方法的各步骤,或实现上述实施例一中的资源处理方法的步骤。在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

本文发布于:2023-04-13 20:52:29,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/86724.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图