CN112395086A - 一种资源分配方法、装置、电子设备及存储介质 - Google Patents
一种资源分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112395086A CN112395086A CN202011232811.6A CN202011232811A CN112395086A CN 112395086 A CN112395086 A CN 112395086A CN 202011232811 A CN202011232811 A CN 202011232811A CN 112395086 A CN112395086 A CN 112395086A
- Authority
- CN
- China
- Prior art keywords
- resource pool
- resource
- parameter
- identifier
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种资源分配方法、装置、电子设备及存储介质。所述方法,包括:接收资源请求指令,并获取所述资源请求指令的请求参数;根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源;其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。从而取得了提高资源分配效率以及扩展性的有益效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种资源分配方法、装置、电子设备及存储介质。
背景技术
资源池(Resource Pool)是指云计算数据中心中所涉及到的各种硬件和软件的集合,按其类型可分为计算资源、存储资源和网络资源。资源池ID(Identitydocument,身份标识号/标识),代表一类资源的唯一标识。
在进行资源分配时,常规做法为根据业务逻辑以及上下文的参数,指定到不同的资源池。但是,由于业务逻辑的特定方式,代码需要写死,灵活性不足,而且无兜底方案,过热的资源池会出现耗尽的情况,无法重复利用共有资源,使得资源池中资源的利用率较低。
发明内容
本发明实施例提供一种资源分配方法、装置、电子设备及存储介质,以解决灵活性不足且资源的利用率较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种资源分配方法,包括:
接收资源请求指令,并获取所述资源请求指令的请求参数;
根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;
根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源;
其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
可选地,所述根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识的步骤,包括:
根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式;
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
可选地,所述根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识的步骤,包括:
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列;
将所述字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
可选地,所述业务参数包括冗余参数、上下文扩展参数、地域参数、业务类型参数中的至少一种,所述请求参数包括业务类别、请求渠道类型、流量来源标识、城市标识、用户标识中的至少一种。
可选地,所述业务参数包括上下文扩展参数的情况下,所述请求参数包括业务类别、请求渠道类型、流量来源标识中的至少一种,所述根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式的步骤,包括:
根据所述业务类别、请求渠道类型、流量来源标识中的至少一种,获取所述上下文扩展参数在所述资源池标识内的参数表征形式。
可选地,所述根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中查找与所述资源池标识对应的资源,并以查找得到的优先级最高的资源池中的资源作为与所述资源请求指令对应的资源的步骤,包括:
S1,针对所述资源池标识,从当前未遍历的优先级最高的资源池中查找与所述资源池标识对应的目标资源池,如果查找到与所述资源池标识对应的目标资源池,则执行步骤S2,如果未查找到与所述资源池标识对应的目标资源池,则返回步骤S1,直至全部优先级的资源池均遍历结束;
S2,从当前查找到的所述目标资源池中查找与所述资源请求指令对应的资源,响应于从所述目标资源池中获取到与所述资源请求指令对应的资源,执行步骤S3,响应于从所述目标资源池中未获取到与所述资源池标识对应的资源,返回步骤S1,直至全部优先级的资源池均遍历结束,流程结束;
S3,返回所述资源,流程结束。
可选地,所述方法还包括:
针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。
第二方面,本发明实施例提供了一种资源分配装置,包括:
请求参数获取模块,用于接收资源请求指令,并获取所述资源请求指令的请求参数;
资源池标识生成模块,用于根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;
资源获取模块,用于根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源;
其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
可选地,所述资源池标识生成模块,包括:
数据转换子模块,用于根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式;
资源池标识生成子模块,用于根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
可选地,所述资源池标识生成子模块,具体用于:
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列;
将所述字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
可选地,所述业务参数包括冗余参数、上下文扩展参数、地域参数、业务类型参数中的至少一种,所述请求参数包括业务类别、请求渠道类型、流量来源标识、城市标识、用户标识中的至少一种。
可选地,所述业务参数包括上下文扩展参数的情况下,所述请求参数包括业务类别、请求渠道类型、流量来源标识中的至少一种,所述数据转换子模块,具体用于:
根据所述业务类别、请求渠道类型、流量来源标识中的至少一种,获取所述上下文扩展参数在所述资源池标识内的参数表征形式。
可选地,所述资源获取模块,具体用于:
S1,针对所述资源池标识,从当前未遍历的优先级最高的资源池中查找与所述资源池标识对应的目标资源池,如果查找到与所述资源池标识对应的目标资源池,则执行步骤S2,如果未查找到与所述资源池标识对应的目标资源池,则返回步骤S1,直至全部优先级的资源池均遍历结束;
S2,从当前查找到的所述目标资源池中查找与所述资源请求指令对应的资源,响应于从所述目标资源池中获取到与所述资源请求指令对应的资源,执行步骤S3,响应于从所述目标资源池中未获取到与所述资源池标识对应的资源,返回步骤S1,直至全部优先级的资源池均遍历结束,流程结束;
S3,返回所述资源,流程结束。
可选地,所述装置还包括:
反向计算模块,用于针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。
第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的资源分配方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的资源分配方法的步骤。
在本发明实施例中,在本发明实施例中,资源池、资源池标识、资源池的优先级等所有内容经过配置即可完成,在获取请求参数之后,即可以生成与之对应的资源池标识,进而按照不同资源池的优先级,确定与之对应的目标资源池并从中查找资源并返回。无论正向计算,或是反向计算,无需网络或磁盘IO,效率较高,扩展性极佳,也可快速基于新业务模式(rankId),初始化新的资源池。通过资源池ID的协议规范,提高资源隔离以及扩展能力、以及计算效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种资源分配方法的步骤流程图;
图2是本发明实施例中的一种资源池标识的数据类型的结构示意图;
图3是本发明实施例中的另一种资源分配方法的步骤流程图;
图4是本发明实施例中的一种资源分配过程的流程示意图;
图5是本发明实施例中的一种资源分配装置的结构示意图;
图6是本发明实施例中的另一种资源分配装置的结构示意图;
图7是本发明实施例中的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例中一种资源分配方法的步骤流程图。
步骤110,接收资源请求指令,并获取所述资源请求指令的请求参数。
步骤120,根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
步骤130,根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中查找与所述资源池标识对应的资源,并以查找得到的优先级最高的资源池中的资源作为与所述资源请求指令对应的资源。
在本发明实施例中,为了根据业务逻辑以及上下文的请求参数,灵活且快速地指定到不同的资源池,以为当前接收到的资源请求指令分配资源,可以预先设置多个资源池,同时根据各个资源池的适用范围等设置可以各个资源池的资源池标识(资源池ID)和优先级,而且在接收到资源请求指令的情况下,可以根据请求参数按照资源池标识的数据格式条件,生成所述资源请求指令的资源池标识,进而可以根据所述资源池标识,按照预设的各个资源池的优先级,依次从所述不同优先级的资源池中查找与所述资源池标识对应的目标资源池,并从每个所述目标资源池中查找与所述资源请求指令对应的资源,而且此时可能从多个目标资源池中分别获取得到与所述资源请求指令对应的资源,那么为了确定最终的资源,则可以进一步从查找得到的资源中获取所属目标资源池的优先级最高的资源作为最终的与所述资源请求指令对应的资源。
例如,在业务应用场景为虚拟电话系统的情况下,发帖子的商家号码需要用中间号覆盖,以达到保护商家的目的,或者是外卖点餐用户的用户号码需要用中间号覆盖,以达到保护用户的目的。因此可以设置多个资源池,且各个资源池中包含的资源为中间号。其中,中间号为虚拟运营商用于覆盖商家真实号码的虚拟号码。
其中,每个资源池中包含的资源、各个资源池的优先级、资源池标识的数据格式条件、请求参数中具体包含的内容等,都可以根据需求进行自定义设置和调整,对此本发明实施例不加以限定。
例如,对于虚拟电话系统的业务应用场景下,可能存在多个不同用户请求获取商家的中间号,而且为了针对每个商家能够提供足够的中间号,可以针对每个商家设置至少一个专属的资源池,也即商家专属池,另外还可以根据商家所在区域针对各个省份设置相应省份内商家可用的资源池,也即省份共用池,也可以设置全国商家都可用的资源池,也即全国共用池,而且可以设置不同类别的资源池的优先级依次为商家专属池、省份共用池、全国共用池。而且在本发明实施例中,针对同一商家可以设置一个或多个商家专属池,针对同一省份也可以设置一个或多个商家专属池,也可以设置一个或多个全国共用池,当然也可以仅设置商家专属池、省份共用池、全国共用池中的一种或多种,而且不同资源池的资源池标识可以互不相同,以便于区分不同资源池。一般而言,不同资源池中包含的资源互不重叠,以提高资源利用率,当然根据需求也可以存在部分资源池中存在部分重叠资源,对此本发明实施例不加以限定。
其次,在实际应用中,可能存在针对部分资源请求指令而言,由于请求参数缺失、或者是上述各个资源池内资源均已被占用等原因,使得无法基于上述资源池获取其资源,影响资源分配的效率。因此,在本发明实施例中,为了避免上述问题,根据需求也可以另外设置至少一个作为兜底的资源池,可以还可以设置相应资源池的优先级最低。
在本发明实施例中,用户可以通过任何可用方式触发资源请求指令,而且可以通过任何可用方式获取资源请求指令的请求参数,对此本发明实施例不加以限定。而且,所述数据格式条件可以包括但不限于资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
例如,可以设置资源池标识的数据类型为32位(4字节)的int(integer,整数类型)类型,或者也可以设置资源池标识的数据类型为Long(长整型)、Short(短整型),等等;可以设置资源池标识中的业务参数包括但不限于冗余参数、上下文扩展参数(rankId)、地域参数、业务类型参数,等等。
而且,在资源池ID是一个32位的int类型,可以将该数据类型看作32个格子,每个区间可定义对应的业务参数。例如,业务类型参数可以位于int类型中的0~5位,则最多可以支持32种业务类型参数,而且不同业务类型对应的业务类型参数可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如可以设置商家专属池的业务类型参数为1,共用池的业务类型参数为2,等等。地域参数可以在资源池标识中的6~11位,此时可以最多支持64种地域参数,例如可以设置全国的地域参数为0,等等;上下文扩展参数,可以在资源池标识中的12~18位,此时可以最多支持128种上下文扩展参数;冗余参数则可以用于后续扩展使用,冗余参数可以在资源池标识中的19~31位,例如后续如果需要支持更细粒度的地域的资源池,例如市县的资源池,则可从冗余参数扩充不同资源池的资源池ID。如图2所示为一种32位的int类型的资源池ID的示意图。当然,在本发明实施例中,资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序等都可以根据需求进行自定义设置,对此本发明实施例不加以限定。
而且在生成当前的资源请求指令的资源池标识之后,则可以根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源。
例如,在设置资源池的优先级依次为商家专属池、省份共用池、全国共用池,那么如图4所示,则可以先在各个商家专属池中查找与当前的资源请求指令的资源池标识对应的商家专属池,进而在资源池标识对应的商家专属池中查找与相应的资源请求指令对应的资源,如果在相应的商家专属池中查找到与相应的资源请求指令对应的资源,则可以结束当前的资源分配流程,而如果在相应的商家专属池中未查找到与相应的资源请求指令对应的资源,则可以继续在下一优先级的各个省份共用池中查找与当前的资源请求指令的资源池标识对应的省份共用池,进而在资源池标识对应的省份共用池中查找与相应的资源请求指令对应的资源,如果在相应的省份共用池中查找到与相应的资源请求指令对应的资源,则可以结束当前的资源分配流程,而如果在相应的省份共用池中未查找到与相应的资源请求指令对应的资源,则可以继续在下一优先级的各个全国共用池中查找与当前的资源请求指令的资源池标识对应的全国共用池,进而在资源池标识对应的全国共用池中查找与相应的资源请求指令对应的资源,如果在相应的全国共用池中查找到与相应的资源请求指令对应的资源,则可以结束当前的资源分配流程,如果在相应的全国共用池中也未查找到与相应的资源请求指令对应的资源,则可以从作为兜底的资源池中查找到与相应的资源请求指令对应的资源,进而结束当前的资源分配流程。
或者,也可以直接同时从不同优先级的各个商家专属池、省份共用池、全国共用池中均分别查找与当前的资源池标识对应的商家专属池、省份共用池、全国共用池,进而分别从与当前的资源池标识对应的商家专属池、省份共用池、全国共用池中查找与当前的资源请求指令对应的资源,进而可以从查找得到的资源中获取其所属的资源池的优先级最高的资源,作为相应的资源请求指令最终对应的资源,进而结束当前的资源分配流程。
例如,如果此时从与当前的资源池标识对应的商家专属池、省份共用池、全国共用池中分别查找与当前的资源请求指令对应的资源依次为资源a、资源b和资源c,则可以优先级最高的商家专属池中查找到的资源a作为相应的资源请求指令最终对应的资源。
而如果从与当前的资源池标识对应的商家专属池、省份共用池、全国共用池中均未查找与当前的资源请求指令对应的资源,这可以参照上述的从作为兜底的资源池中查找到与相应的资源请求指令对应的资源,进而结束当前的资源分配流程。
而且,在本发明实施例中,在确定与资源池标识对应的资源池的情况下,可以通过任何可用方式根据资源请求指令从资源池中查找资源,对此本发明实施例不加以限定。
参照图3,在本发明实施例中,所述步骤120进一步可以包括:
步骤121,根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式;
步骤122,根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
在实际应用中,资源请求指令对应的请求参数的数据形式可能并不满足资源池标识的数据类型所要求的数据形式,例如,在资源池标识的数据类型为int类型的情况下,请求参数可能为非二进制形式的字符表示,那么则需要将请求参数转化为int类型下的二进制表示形式。而且请求参数与业务参数的也可能并不完全是一一对应的关系,例如在业务参数包括上下文扩展参数,请求参数包括业务类别、请求渠道类型、流量来源标识的情况下,为了获取上下文扩展参数在资源池标识中的表示形式,则需要根据请求参数中的业务类别、请求渠道类型、流量来源标识等,以及预设的业务类别、请求渠道类型、流量来源标识等请求参数与上下文扩展参数之间的对应关系,确定当前的上下文扩展参数具体的值,而不是直接将业务类别、请求渠道类型、流量来源标识等请求参数进行表示形式的转换,例如转换为二进制表示形式。
在实际应用中,为了确定各个业务参数的具体取值,可以根据需求预先定义各个请求参数与资源池标识中包含的各个业务参数之间的映射关系,进而针对资源池标识中包含的任一业务参数,可以根据请求参数与所述资源池标识中包含的业务参数之间的映射关系,确定与相应业务参数存在映射关系的请求参数,进而可以根据两者之间的映射关系,将相应的请求参数转换为资源池标识的数据类型支持的参数表征形式。其中,请求参数与所述资源池标识中包含的业务参数之间的映射关系可以根据需求进行自定义设置,对此本发明实施例不加以限定。
例如,假设业务参数包括上下文扩展参数、地域参数等,请求参数包括城市标识、业务类别、请求渠道类型、流量来源标识等,且地域参数与城市标识之间存在映射关系,上下文扩展参数与业务类别、请求渠道类型、流量来源标识存在映射关系,且资源池标识的数据类型为int类型,假设当前获取得到的城市标识为十进制表示的20,代表北京,那么为了获取则可以将城市标识转换为int类型支持的参数表征形式,例如上述的二进制表示形式,得到地域参数。
对于上下文扩展参数而言,假设设置的上下文扩展参数与业务类别、请求渠道类型、流量来源标识之间的映射关系包括以下内容:
rankId(十进制表示) | spm(流量来源标识) | clientType(请求渠道类型) | cateId(业务类别) |
1 | cst_thhz.* | 2 | 29 |
2 | escand_oppo||escand_vivo | 3 | 4929 |
其中,流量来源标识可以表征相应触发资源请求指令的流量来源的标识,例如“cst_thhz.*”表征触发资源请求指令的流量来源为车商通用的广告位等,“escand_oppo|escand_vivo”表征触发资源请求指令的流量来源为快应用OPPO或VIVO的广告位等;请求渠道类型可以理解为触发相应触发资源请求指令的渠道类型,例如触发相应触发资源请求指令的客户端的型号、品牌、客户端的操作系统,等,业务类别可以理解为资源请求指令所属的业务类型,例如二手车(29)、货车(4929)、租房、兼职,等等。
在已知业务类别、请求渠道类型、流量来源标识的情况下,则可以参照上述映射关系获取其对应的rankId,而且此时得到的可能为十进制表示下的rankId,则可以进一步将其转换为满足资源池标识的数据类型所要求的参数表征形式,例如上述的二进制表示形式。
在获取得到各个业务参数的参数表征形式之后,则可以根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
例如,假设各个业务参数在资源池标识中的数据长度,每个业务参数在资源池标识中的排序如图2所示,那么则可以按照对应位置,将各个业务参数的参数表征形式插入图2所示的32个格子内,得到int类型的资源池标识。
可选地,在本发明实施例中,所述步骤122进一步可以包括:
步骤1221,根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列;
步骤1222,将所述字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
在本发明实施例中,为了在对资源进行多维度的分仓存储时,也即设置资源池时,为了满足业务需求,设置支持不同业务、不同商家、不同城市、不同省份等不同维度下的资源池,而且方便在后续使用过程中可以快速定位当前所需的资源,需要对不同资源池设置不同的资源池标识,而且为了提高资源池标识所支持的维度,可以设置资源池标识为32位的int类型,以支持多维度的分仓存储时各个资源池的命名范围。
另外,在本发明实施例中,在划分资源池以及设置各个资源池的资源池标识的过程中,也可以参照相应资源池所适用的请求参数、业务参数等,设置相应资源池的资源池标识,对此本发明实施例不加以限定。
但是在设置各个资源池的资源池标识时,如果以32位的int类型表示,由于其中包含的数值只可能为0或1,而且数据长度较长,那么在后续根据资源请求指令的资源池标识,从各个资源池中筛选合适的目标资源池时,容易出现匹配错误,从而影响资源池查找过程的效率和准确性。
因此,在本发明实施例中,在生成资源请求指令的资源池标识的过程中,还可以在组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列之后,进一步将字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
其中的指定格式可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如,可以设置指定格式为十进制格式,那么在初始设置的资源池标识的数据类型为32位的int类型的情况下,将其转换为十进制数据,则可以有效缩短资源池标识的数据长度,而且其中包含的数值可以为0到9之间的整数,可以有效降低后续查找资源池过程之后的错误率,提高资源池查找效率。
例如,假设资源池ID是一个32位的int类型,且业务类型参数位于0~5位,地域参数6~11位,上下文扩展参数在12~18位,冗余参数在19~31位,在已知各个业务参数的情况下,指定格式为十进制格式,可以得到最终的资源池标识可以如下表所示。
业务类型参数 | 地域参数 | rankId | 计算&组合过程 | 字符序列 | 转换结果 |
1 | 1 | 1 | 0<<18|1<<11|1<<5|1 | 100000100001 | 2081 |
2 | 1 | 1 | 0<<18|1<<11|1<<5|2 | 100000100010 | 2082 |
2 | 0 | 1 | 0<<18|1<<11|0<<5|2 | 100000000010 | 2050 |
其中,需要说明的是,在上述表格中,业务类型、地域参数、上下文扩展参数的表示形式为十进制形式,可以在计算以及组合的过程中,将其转化为满足int类型的二进制形式,当然也可以在组合之前将其转化为二进制形式,对此本发明实施例不加以限定。
可选地,在本发明实施例中,所述业务参数包括冗余参数、上下文扩展参数、地域参数、业务类型参数中的至少一种,所述请求参数包括业务类别、请求渠道类型、流量来源标识、城市标识、用户标识中的至少一种。
其中,冗余参数可以包括其他任何所需的参数,其中包含的内容可以根据需求进行自定义设置,例如为了支持更细粒度的地域的资源池,冗余参数可以包括上述的市县标识,以扩充市县的资源池的资源池ID等等;地域参数可以理解为表征地域的参数,例如表征商家所在省份的参数、表征用户所在省份的参数等等;业务类型参数可以为表征业务类型的参数,例如表征资源请求指令所属业务的参数,等等。
在请求参数已知时,例如在已知cateId(业务类别),clientType(请求渠道类型),spm(流量来源标识),cityId(城市标识),userId(用户标识)等的情况下,即可算出资源池的资源池ID。
例如请求参数可以如下表所示:
cateId | 29(二手车) |
spm | cst_thhz_db_record |
clientType | 2(iOS) |
cityId | 1(北京) |
可选地,在本发明实施例中,所述业务参数包括上下文扩展参数的情况下,所述请求参数包括业务类别、请求渠道类型、流量来源标识中的至少一种,所述步骤121进一步可以包括:根据所述业务类别、请求渠道类型、流量来源标识中的至少一种,获取所述上下文扩展参数在所述资源池标识内的参数表征形式。
在本发明实施例中,如果同时从不同优先级的资源池中都查找与所述资源池标识对应的目标资源池,以进一步确定与所述资源请求指令对应的资源,可能会出现查找到属于不同优先级的目标资源池的多个资源,但是在实际应用过程中可能仅需返回其中一个资源,例如最终获取从优先级最高的目标资源池查找得到的资源并返回,那么此时从其他优先级的目标资源池查找得到的资源则并未实际发挥作用,可以无需获取其他优先级的目标资源池,也无需从其他优先级的目标资源池查找资源。从而造成资源浪费,使得资源查找过程耗时较长。
因此,在本发明实施例中,可选地,为了进一步提高资源分配的效率,同时为资源请求指令分配最合适的资源,在根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源时,则可以参照各个资源池的优先级,执行以下步骤以获取最终的资源:
S1,针对所述资源池标识,从当前未遍历的优先级最高的资源池中查找与所述资源池标识对应的目标资源池,如果查找到与所述资源池标识对应的目标资源池,则执行步骤S2,如果未查找到与所述资源池标识对应的目标资源池,则返回步骤S1,直至全部优先级的资源池均遍历结束;
S2,从当前查找到的所述目标资源池中查找与所述资源请求指令对应的资源,响应于从所述目标资源池中获取到与所述资源请求指令对应的资源,执行步骤S3,响应于从所述目标资源池中未获取到与所述资源请求指令对应的资源,返回步骤S1,直至全部优先级的资源池均遍历结束,流程结束;
S3,返回所述资源,流程结束。
例如,假设资源池的优先级从高到低依次为商家专属池、省份共用池、全国共用池,那么在生成资源池标识之后,可以执行如图4所示的流程以获取资源,具体的在获取得到请求参数之后,可以基于请求参数获取当前的资源池标识,进而在各个商家专属池中查找与相应的资源池标识对应的目标资源池并从目标资源池中查找与资源请求指令对应的资源,如果查找得到与资源请求指令对应的资源,则结束流程并返回相应资源;如果未查找到资源,也即在各个商家专属池中未查找与相应的资源池标识对应的目标资源池,或者在各个商家专属池中查找到与相应的资源池标识对应的目标资源池,但是从当前的目标资源池中未查找与资源请求指令对应的资源,则可以进一步在各个省份共用池中查找与相应的资源池标识对应的目标资源池并从相应的目标资源池中查找与资源请求指令对应的资源,如果查找得到与资源请求指令对应的资源,则结束流程并返回相应资源;如果未查找到资源,也即在各个省份共用池中未查找与相应的资源池标识对应的目标资源池,或者在各个省份共用池中查找到与相应的资源池标识对应的目标资源池,但是从当前的目标资源池中未查找与资源请求指令对应的资源,则可以进一步在各个全国共用池中查找与相应的资源池标识对应的目标资源池并从相应的目标资源池中查找与资源请求指令对应的资源,如果查找得到与资源请求指令对应的资源,则结束流程并返回相应资源;如果未查找到资源,也可以直接结束流程并可以返回为查找到资源的提示信息。
参照图3,在本发明实施例中,所述方法还可以包括:
步骤140,针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。
另外,在实际应用中,针对任意一个资源池,可能存在需要获知各个资源池适用的范围的情况。例如,在对各个资源池进行迁移后,迁移后的相关人员需要获知各个资源池的适用范围,以确认是否需要调整资源池等。
而且由于在设置资源池时,同时会设置各个资源池的资源池标识,以方便根据资源请求指令获取的请求参数查找资源池,因此,在本发明实施例中,为了方便用户获知各个资源池适用的范围,还可以根据资源池标识反向计算请求参数。具体地,针对任一资源池,可以根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。从而在拿到中间号码等资源的后续业务流程中,也可快速用反向逻辑定位当前资源池的业务性质。
而且在资源池标识反向计算请求参数时,可以参照上述根据请求参数生产资源池ID的正向计算之后的各个步骤,进行反向逻辑以获取各个资源池对应的请求参数。
例如,假设资源池ID是一个32位的int类型,且业务类型参数位于int类型的0~5位,地域参数在int类型的6~11位,上下文扩展参数在int类型的12~18位,冗余参数在int类型的19~31位,那么在资源池ID为2081时,可计算出各个业务参数如下所示:
冗余参数为2081>>18&0x1FFF=0,
上下文扩展参数为2081>>11&0x7F=1,
地域参数为2081>>5&0x3F=1,
业务类型参数为2081&0x1F=1。
而且,在确定了业务参数之后,则可以进一步根据业务参数与请求参数之间的映射关系,进一步反向推算各个请求参数。
例如,对于上述的地域参数1,假设在业务参数与请求参数的映射关系中,与地域参数存在映射关系的为城市标识,且在地域参数与城市标识之间的映射关系中,地域参数1对应于城市北京,那么则可以得到当前的请求参数中的城市标识为北京的城市标识(例如上述的20);而对于上述的上下文扩展参数1,根据上述的上下文扩展参数与业务类别、请求渠道类型、流量来源标识之间的映射关系,可以得到此时的业务类别、请求渠道类型、流量来源标识依次为29(二手车)、2(操作系统为iOS)、cst_thhz.*;等等。
当然,如上述内容可知,请求参数和业务参数都能在一定程度上反映资源池的适用范围,因此在本发明实施例中,根据需求也可以仅针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的业务参数,而不获取其对应的请求参数,对此本发明实施例不加以限定。
在本发明实施例中,资源池、资源池标识、资源池的优先级等所有内容经过配置即可完成,在获取请求参数之后,即可以生成与之对应的资源池标识,进而按照不同资源池的优先级,确定与之对应的目标资源池并从中查找资源并返回。无论正向计算,或是反向计算,无需网络或磁盘IO,效率较高,扩展性极佳,也可快速基于新业务模式(rankId),初始化新的资源池。通过资源池ID的协议规范,提高资源隔离以及扩展能力、以及计算效率。
参照图5,示出了本发明实施例中一种资源分配装置的结构示意图。
本发明实施例的资源分配装置包括:请求参数获取模块210、资源池标识生成模块220和资源获取模块230。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
请求参数获取模块210,用于接收资源请求指令,并获取所述资源请求指令的请求参数;
资源池标识生成模块220,用于根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;
资源获取模块230,用于根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源;
其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
参照图6,在本发明实施例中,所述资源池标识生成模块220,进一步可以包括:
数据转换子模块221,用于根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式;
资源池标识生成子模块222,用于根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
可选地,在本发明实施例中,所述资源池标识生成子模块222,具体可以用于:
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列;
将所述字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
可选地,在本发明实施例中,所述业务参数包括冗余参数、上下文扩展参数、地域参数、业务类型参数中的至少一种,所述请求参数包括业务类别、请求渠道类型、流量来源标识、城市标识、用户标识中的至少一种。
可选地,在本发明实施例中,在所述业务参数包括上下文扩展参数的情况下,所述请求参数包括业务类别、请求渠道类型、流量来源标识中的至少一种,所述数据转换子模块221,具体可以用于:根据所述业务类别、请求渠道类型、流量来源标识中的至少一种,获取所述上下文扩展参数在所述资源池标识内的参数表征形式。
可选地,在本发明实施例中,所述资源获取模块,具体可以用于:
S1,针对所述资源池标识,从当前未遍历的优先级最高的资源池中查找与所述资源池标识对应的目标资源池,如果查找到与所述资源池标识对应的目标资源池,则执行步骤S2,如果未查找到与所述资源池标识对应的目标资源池,则返回步骤S1,直至全部优先级的资源池均遍历结束;
S2,从当前查找到的所述目标资源池中查找与所述资源请求指令对应的资源,响应于从所述目标资源池中获取到与所述资源请求指令对应的资源,执行步骤S3,响应于从所述目标资源池中未获取到与所述资源池标识对应的资源,返回步骤S1,直至全部优先级的资源池均遍历结束,流程结束;
S3,返回所述资源,流程结束。
可选地,在本发明实施例中,所述装置还可以包括:
反向计算模块,用于针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。
本发明实施例提供的资源分配装置能够实现图1和图3的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
优选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述资源分配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述资源分配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
图7为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图7中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种资源分配方法,其特征在于,包括:
接收资源请求指令,并获取所述资源请求指令的请求参数;
根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;
根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源;
其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识的步骤,包括:
根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式;
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
3.根据权利要求2所述的方法,其特征在于,所述根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识的步骤,包括:
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列;
将所述字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述业务参数包括冗余参数、上下文扩展参数、地域参数、业务类型参数中的至少一种,所述请求参数包括业务类别、请求渠道类型、流量来源标识、城市标识、用户标识中的至少一种。
5.根据权利要求4所述的方法,其特征在于,所述业务参数包括上下文扩展参数的情况下,所述请求参数包括业务类别、请求渠道类型、流量来源标识中的至少一种,所述根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式的步骤,包括:
根据所述业务类别、请求渠道类型、流量来源标识中的至少一种,获取所述上下文扩展参数在所述资源池标识内的参数表征形式。
6.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中查找与所述资源池标识对应的资源,并以查找得到的优先级最高的资源池中的资源作为与所述资源请求指令对应的资源的步骤,包括:
S1,针对所述资源池标识,从当前未遍历的优先级最高的资源池中查找与所述资源池标识对应的目标资源池,如果查找到与所述资源池标识对应的目标资源池,则执行步骤S2,如果未查找到与所述资源池标识对应的目标资源池,则返回步骤S1,直至全部优先级的资源池均遍历结束;
S2,从当前查找到的所述目标资源池中查找与所述资源请求指令对应的资源,响应于从所述目标资源池中获取到与所述资源请求指令对应的资源,执行步骤S3,响应于从所述目标资源池中未获取到与所述资源池标识对应的资源,返回步骤S1,直至全部优先级的资源池均遍历结束,流程结束;
S3,返回所述资源,流程结束。
7.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。
8.一种资源分配装置,其特征在于,包括:
请求参数获取模块,用于接收资源请求指令,并获取所述资源请求指令的请求参数;
资源池标识生成模块,用于根据所述请求参数,以及预设的资源池标识的数据格式条件,生成所述资源请求指令的资源池标识;
资源获取模块,用于根据所述资源池标识,按照预设的各个资源池的优先级,从所述资源池中获取与所述资源池标识对应的目标资源池,并从所述目标资源池中查找与所述资源请求指令对应的资源;
其中,所述数据格式条件包括资源池标识的数据类型、资源池标识中包含的业务参数、每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序中的至少一种。
9.根据权利要求8所述的装置,其特征在于,所述资源池标识生成模块,包括:
数据转换子模块,用于根据所述资源池标识的数据类型,以及所述请求参数与所述资源池标识中包含的业务参数之间的映射关系,针对任一所述业务参数,将与所述业务参数存在映射关系的请求参数转换为所述数据类型支持的参数表征形式;
资源池标识生成子模块,用于根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到所述资源请求指令的资源池标识。
10.根据权利要求9所述的装置,其特征在于,所述资源池标识生成子模块,具体用于:
根据每个所述业务参数在所述资源池标识中的数据长度、每个所述业务参数在所述资源池标识中的排序,组合每个所述业务参数的参数表征形式,得到满足所述数据类型的资源池标识的字符序列;
将所述字符序列转换为指定格式的资源池标识,得到所述资源请求指令的资源池标识。
11.根据权利要求8-10中任一项所述的装置,其特征在于,所述业务参数包括冗余参数、上下文扩展参数、地域参数、业务类型参数中的至少一种,所述请求参数包括业务类别、请求渠道类型、流量来源标识、城市标识、用户标识中的至少一种。
12.根据权利要求11所述的装置,其特征在于,所述业务参数包括上下文扩展参数的情况下,所述请求参数包括业务类别、请求渠道类型、流量来源标识中的至少一种;
所述数据转换子模块,具体用于:根据所述业务类别、请求渠道类型、流量来源标识中的至少一种,获取所述上下文扩展参数在所述资源池标识内的参数表征形式。
13.根据权利要求8-10中任一项所述的装置,其特征在于,所述资源获取模块,具体用于:
S1,针对所述资源池标识,从当前未遍历的优先级最高的资源池中查找与所述资源池标识对应的目标资源池,如果查找到与所述资源池标识对应的目标资源池,则执行步骤S2,如果未查找到与所述资源池标识对应的目标资源池,则返回步骤S1,直至全部优先级的资源池均遍历结束;
S2,从当前查找到的所述目标资源池中查找与所述资源请求指令对应的资源,响应于从所述目标资源池中获取到与所述资源请求指令对应的资源,执行步骤S3,响应于从所述目标资源池中未获取到与所述资源池标识对应的资源,返回步骤S1,直至全部优先级的资源池均遍历结束,流程结束;
S3,返回所述资源,流程结束。
14.根据权利要求8-10中任一项所述的装置,其特征在于,所述装置还包括:
反向计算模块,用于针对任一资源池,根据所述资源池的资源池标识,以及所述资源池标识的数据格式条件,获取所述资源池对应的请求参数。
15.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的资源分配方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的资源分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232811.6A CN112395086B (zh) | 2020-11-06 | 2020-11-06 | 一种资源分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232811.6A CN112395086B (zh) | 2020-11-06 | 2020-11-06 | 一种资源分配方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395086A true CN112395086A (zh) | 2021-02-23 |
CN112395086B CN112395086B (zh) | 2022-03-08 |
Family
ID=74597489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011232811.6A Active CN112395086B (zh) | 2020-11-06 | 2020-11-06 | 一种资源分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395086B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113067854A (zh) * | 2021-03-12 | 2021-07-02 | 斑马网络技术有限公司 | 车载设备内容资源获取方法、装置、设备及存储介质 |
CN113395291A (zh) * | 2021-06-30 | 2021-09-14 | 北京爱奇艺科技有限公司 | 流量控制方法、装置、电子设备及存储介质 |
CN113835622A (zh) * | 2021-08-25 | 2021-12-24 | 浙江大华存储科技有限公司 | 存储装置的处理方法、主机装置、存储装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874946A (zh) * | 2018-06-05 | 2018-11-23 | 政采云有限公司 | 一种id管理方法及装置 |
US10327229B2 (en) * | 2014-08-07 | 2019-06-18 | China Academy Of Telecommunications Technology | Data reception method, data transmission method and data reception device for device-to-device communication |
CN110198382A (zh) * | 2019-05-09 | 2019-09-03 | 北京善义善美科技有限公司 | 一种呼叫处理系统和虚拟号绑定方法 |
CN110532807A (zh) * | 2019-07-30 | 2019-12-03 | 平安科技(深圳)有限公司 | 电子化凭证生成方法、装置、计算机设备及存储介质 |
CN110636097A (zh) * | 2018-06-25 | 2019-12-31 | 马上消费金融股份有限公司 | 一种标识生成与管理方法及节点、系统和存储装置 |
-
2020
- 2020-11-06 CN CN202011232811.6A patent/CN112395086B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10327229B2 (en) * | 2014-08-07 | 2019-06-18 | China Academy Of Telecommunications Technology | Data reception method, data transmission method and data reception device for device-to-device communication |
CN108874946A (zh) * | 2018-06-05 | 2018-11-23 | 政采云有限公司 | 一种id管理方法及装置 |
CN110636097A (zh) * | 2018-06-25 | 2019-12-31 | 马上消费金融股份有限公司 | 一种标识生成与管理方法及节点、系统和存储装置 |
CN110198382A (zh) * | 2019-05-09 | 2019-09-03 | 北京善义善美科技有限公司 | 一种呼叫处理系统和虚拟号绑定方法 |
CN110532807A (zh) * | 2019-07-30 | 2019-12-03 | 平安科技(深圳)有限公司 | 电子化凭证生成方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
樊华: "虚拟计算环境中基于资源池的资源聚合机制", 《计算机工程与科学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113067854A (zh) * | 2021-03-12 | 2021-07-02 | 斑马网络技术有限公司 | 车载设备内容资源获取方法、装置、设备及存储介质 |
CN113067854B (zh) * | 2021-03-12 | 2023-08-25 | 斑马网络技术有限公司 | 车载设备内容资源获取方法、装置、设备及存储介质 |
CN113395291A (zh) * | 2021-06-30 | 2021-09-14 | 北京爱奇艺科技有限公司 | 流量控制方法、装置、电子设备及存储介质 |
CN113835622A (zh) * | 2021-08-25 | 2021-12-24 | 浙江大华存储科技有限公司 | 存储装置的处理方法、主机装置、存储装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112395086B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112395086B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN112422711B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN108984066B (zh) | 一种应用程序图标显示方法及移动终端 | |
CN109584341B (zh) | 在画板上绘图的方法及装置 | |
CN106412818B (zh) | 定位设备的方法及装置 | |
CN107436758A (zh) | 一种移动终端的信息显示方法和移动终端 | |
CN105303427A (zh) | 物品交换方法和装置 | |
CN106203228A (zh) | 二维码信息传输方法、装置以及设备 | |
CN108322897B (zh) | 卡套餐组合方法及装置 | |
CN106611152A (zh) | 用户身份确定方法及装置 | |
CN104901992B (zh) | 一种资源转移的方法和装置 | |
CN108205568A (zh) | 基于标签选择数据的方法及装置 | |
CN112433721B (zh) | 一种应用组件化处理方法、装置、电子设备及存储介质 | |
CN106708390A (zh) | 一种截屏的方法、装置和系统 | |
CN111200648B (zh) | 一种业务调用方法、装置、终端设备及存储介质 | |
CN111274463B (zh) | 基于im联系人分组设置的信息展示方法、装置及存储介质 | |
CN115695309B (zh) | 访问控制列表规则配置方法、装置、电子设备及存储介质 | |
CN110109788B (zh) | 多按键检测方法、装置、电子设备及存储介质 | |
CN115167764B (zh) | 数据的读写处理方法、装置、电子设备及存储介质 | |
CN110750318A (zh) | 一种消息回复方法、装置及移动终端 | |
CN107153688B (zh) | 一种数据查询方法、设备及计算机存储介质 | |
CN108234275B (zh) | 一种发布通讯信息的方法和装置 | |
CN114996369A (zh) | 一种数据仓库指标库的构建方法和装置 | |
CN104954231A (zh) | 一种发送、显示推荐信息的方法及装置 | |
CN104966024B (zh) | 一种防护数据库的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |