一种资源分配方法及装置与流程

文档序号:12733286阅读:237来源:国知局
一种资源分配方法及装置与流程
本申请涉及计算机软件
技术领域
,尤其涉及一种资源分配方法及装置。
背景技术
:在计算设备中,诸如缓存、处理线程等资源往往是稀缺的,资源需求方的数量大于甚至远大于资源数量,在这种情况下,同一时间总是只有部分资源需求方能够获得资源,一段时间内,有的资源需求方获得资源,也有的资源需求方已获得的资源被收回,等等。如何向各资源需求方分配资源成为一个重要问题。以资源是缓存,资源需求方是客户为例。假定客户需求缓存以用于存储客户信息,在这种情况下,也可以认为资源需求方是客户信息,在现有技术中,常采用的缓存分配方式主要有以下几种:第一种,先进先出(FirstInFirstOut,FIFO)方式,客户信息按照被访问先后顺序进入缓存队列并被分配缓存,当缓存队列满的时候,新被访问的客户信息插入队列尾部并被分配缓存,而队列头部的客户信息则出列并被收回已分配的缓存;第二种,最近最少使用(LeastRecentlyUsed,LRU)方式,保证新被使用的客户信息被分配缓存,而较久未被使用的客户信息会被收回已分配的缓存;第三种,最不经常使用(LeastFrequentlyUsed,LFU)方式,保证新被使用的客户信息被分配缓存,而在一段时间里被使用次数较少的客户信息会被收回已分配的缓存。但是,上述现有技术中的资源分配方式都是基于资源需求方的使用要素的,并未考虑到资源需求方本身可能的差异以及资源需求方相互之间的依赖,从而适用性较差。技术实现要素:本申请实施例提供资源分配方法及装置,用以解决以下技术问题:现有技术中的资源分配方式都是基于资源需求方的使用要素的,并未考虑到资源需求方本身可能的差异,从而适用性较差。为解决上述技术问题,本申请实施例是这样实现的:本申请实施例提供的一种资源分配方法,包括:确定各资源需求方和待分配资源;获得各资源需求方的指定业务数据,以及各资源需求方相互之间的依赖关系数据;根据获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值;根据所述依赖价值表征值,为各资源需求方分配所述待分配资源。本申请实施例提供的一种资源分配装置,包括:第一确定模块,确定各资源需求方和待分配资源;获得模块,获得各资源需求方的指定业务数据,以及各资源需求方相互之间的依赖关系数据;第二确定模块,根据所述获得模块获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值;分配模块,根据所述依赖价值表征值,为各资源需求方分配所述待分配资源。由以上本申请实施例提供的技术方案可见,本申请实施例通过本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:用依赖价值表征值衡量不同资源需求方之间的差异以及依赖,并基于依赖价值表征值分配待分配资源,这种资源分配方法相比现有技术适用性更好,可以部分或全部地解决现有技术中的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种资源分配方法的流程示意图;图2为本申请实施例提供的资源需求方之间的一种依赖关系示意图;图3为本申请实施例提供的资源分配方法在一种实际应用场景下的实施方案流程示意图;图4为本申请实施例提供的基于使用要素的一种缓存分配函数的示意图;图5为本申请实施例提供的对应于图1的一种资源分配装置的结构示意图。具体实施方式本申请实施例提供一种资源分配方法及装置。为了使本
技术领域
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1为本申请实施例提供的一种资源分配方法的流程示意图。从程序角度而言,该流程的执行主体可以是客户端和/或服务端;从设备角度而言,该流程的执行主体可以包括但不限于可搭载客户端和/或服务端的以下设备:个人计算机、大中型计算机、计算机集群、手机、平板电脑、智能可穿戴设备、车机等。图1中的流程可以包括以下步骤:S101:确定各资源需求方和待分配资源。在本申请实施例中,所述资源可以是计算设备所涉及的资源,比如,缓存、处理线程、令牌、时隙等资源。为了便于描述,待分配资源可以以“份”为单位,每个资源需求方可以被分配至多一份待分配资源,每份待分配资源具体有多少本申请并不做限定。所述资源需求方可以是需要使用上述资源的用户、或数据(比如客户信息、程序等)、或设备。S102:获得各资源需求方的指定业务数据,以及各资源需求方相互之间的依赖关系数据。在本申请实施例中,所述的“依赖”主要指不同资源需求方涉及所述资源的依赖关系。以资源需求方是客户信息、资源是缓存为例。为客户信息分配缓存的目的是:在缓存中存储该客户信息,以提高对该客户信息的读写速度。在电子支付转账的场景下,每次转账都需要读取转账双方的客户信息(分别称为:客户信息1、客户信息2),假定一段时间内,客户信息1所涉及的各次转账中,有一次或多次转账的对象是客户信息2对应的客户,只有当客户信息1与客户信息2均被分配了缓存,才能有效地提高两者间的转账速度,而若只有客户信息1被分配了缓存,客户信息2未被分配缓存,则两者间的转账速度不能有效提高(对客户信息2的读取成为转账速度短板)。针对这种情况,可以认为客户信息1与客户信息2之间存在依赖关系,且所述一次或多次转账在所述各次转账中的占比越大,可以认为客户信息1与客户信息2之间的依赖程度越强。在本申请实施例中,依赖关系数据可以有多种形式,比如,依赖关系数据具体可以是诸如依赖关系概率值等表征值,依赖关系数据具体也可以是诸如依赖关系图等图数据,等等。S103:根据获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值。在本申请实施例中,资源需求方的“依赖价值”是:在考虑了该资源需求方与其他资源需求方之间的依赖关系影响的前提下,所衡量的该资源需求方的“价值”;资源需求方的“非依赖价值”是:在不考虑该资源需求方与其他资源需求方之间的依赖关系影响的前提下,所衡量的资源需求方的“价值”。在本申请实施例中,可以基于指定业务数据,衡量资源需求方的非依赖价值,不同资源需求方的非依赖价值可以反映不同资源需求方之间的差异。进一步地,除了指定业务数据,还可以同时基于依赖关系数据,衡量资源需求方的依赖价值,不同资源需求方的依赖价值可以反映不同资源需求方之间的差异以及依赖。需要说明的是,在实际应用中,各资源需求方相互之间未必都存在依赖,也可能只有部分资源需求方相互之间存在依赖,甚至也可能各资源需求方相互之间均不存在依赖。这三种情况本申请的方案均可适用,区别只是在于具体获得多少依赖关系数据。在本申请实施例中,可以用相应的表征值表示依赖价值、非依赖价值。对于与其他资源需求方均不依赖的资源需求方,该资源需求方的依赖价值表征值与非依赖价值表征值是相等的。S104:根据所述依赖价值表征值,为各资源需求方分配所述待分配资源。在本申请实施例中,可以认为依赖价值表征值越高的资源需求方越重要,因此,可以优先为依赖价值表征值高的资源需求方分配待分配资源。如此有利于实现资源的优化配置,也有利于尽量大地实现各资源需求方的价值(依赖价值或非依赖价值)总和,其中,被分配到待分配资源的资源需求方可以实现该资源需求方的价值。在本申请实施例中,资源需求方的依赖价值表征值可能会随着时间而动态变化,因此,在一段时间内的不同时间点,可以不止一次地执行图1中的流程,每次得到的资源分配结果可能不同,已分配的资源可以被收回用以重新分配,从而可以实现资源动态分配。通过图1的方法,可以用依赖价值表征值衡量不同资源需求方之间的差异以及依赖,并基于依赖价值表征值分配待分配资源,这种资源分配方法相比现有技术适用性更好,可以部分或全部地解决现有技术中的问题。基于图1的方法,本申请实施例还提供了该方法的一些具体实施方案,以及扩展方案,下面进行说明。在本申请实施例中,确定依赖价值表征值的具体方式至少有以下两种:第一种方式,先确定非依赖价值表征值,再基于非依赖价值表征值确定依赖价值表征值。例如,对于步骤S103,所述根据获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值,具体可以包括:根据获得的所述指定业务数据,确定各资源需求方的非依赖价值表征值;根据确定的所述非依赖价值表征值,以及获得的所述依赖关系数据,确定各资源需求方的依赖价值表征值。第二种方式,预先确定出用于确定依赖价值表征值的数学公式,再将指定业务数据和依赖关系数据代入该数学公式,计算出依赖价值表征值。例如,对于步骤S103,所述根据获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值,具体可以包括:获得依赖价值函数,所述依赖价值函数是根据预定的对应于各资源需求方的非依赖价值函数和依赖关系函数生成的;通过将获得的所述指定业务数据和所述依赖关系数据代入所述依赖价值函数进行计算,确定各资源需求方的依赖价值表征值;其中,所述非依赖价值函数用于确定各资源需求方的非依赖价值表征值,所述指定业务数据对应于所述非依赖价值函数中的参数,所述依赖关系数据对应于所述依赖关系函数中的参数。需要说明的是,这两种方式也可能会存在重叠。比如,若非依赖价值函数包含在依赖价值函数中,则需要先计算出非依赖价值表征值,再进一步地计算出依赖价值表征值,这种情况与上述两种方式均是相符的。当然,若非依赖价值函数未包含在依赖价值函数中时,则可以无需计算出非依赖价值表征值,而是可以直接计算出依赖价值表征值。在本申请实施例中,所述依赖关系函数可以只包含一个参数,也可以包含多个参数。在实际应用中,依赖关系函数的一种简单表示方式是只包含一个依赖概率参数,依赖概率参数对应的值为依赖概率值,则步骤S102中的依赖关系数据相应地也可以包括依赖概率值(以下实施例主要基于这种情况),或者包括可以用于确定依赖概率值的数据。对上述的“依赖概率值”进行解释。对于步骤S101中确定的各资源需求方,每两两资源需求方有一个对应的依赖概率值,该依赖概率值表示其对应的两个资源需求方之间的依赖程度,每个资源需求方与其他资源需求方的依赖概率值之和等于:1减去这个资源需求方不依赖于其他各资源需求方的概率值。另外,任一资源需求方与该自身资源需求方对应的依赖概率值为0。进一步地,所述依赖价值函数可以是按照如下方式生成的:获得依赖矩阵,所述依赖矩阵是根据预定的对应于各资源需求方的依赖概率参数生成的,所述依赖矩阵反映各资源需求方两两之间的依赖概率;根据所述依赖矩阵,以及预定的对应于各资源需求方的非依赖价值函数,生成所述依赖价值函数。需要说明的是,将各依赖概率参数以矩阵形式表示主要是为了便于计算,也可以用矩阵以外的形式表示,比如,加权公式等。在本申请实施例中,适应于依赖矩阵,可以将非依赖价值函数、非依赖价值函数也相应地表示为向量形式或者矩阵形式,以便于计算。以向量形式为例,所述非依赖价值函数可以包括非依赖价值向量,所述非依赖价值向量中的各向量元素一一对应于各资源需求方,所述非依赖价值向量中的向量元素用于确定其对应的资源需求方的非依赖价值表征值;则所述根据所述依赖矩阵,以及预定的对应于各资源需求方的非依赖价值函数,具体可以包括:通过对所述依赖矩阵与预定的对应于各资源需求方的非依赖价值向量进行向量运算和矩阵变换,生成依赖价值函数;其中,所述依赖价值函数包括依赖价值向量,所述依赖价值向量中的各向量元素一一对应于各资源需求方,所述依赖价值向量中的向量元素用于确定其对应的资源需求方的依赖价值表征值。为了便于理解,更直观地,下面再以数学形式对上述内容进行说明。定义资源需求方R=[r1r2r3...rn],为一个包含n个向量元素的行向量,各向量元素一一对应于各资源需求方;定义待分配资源B=[b1b2b3...bn],为一个包含m个向量元素的行向量,各向量元素一一对应于各份待分配资源;其中,每个资源需求方至多被分配一份待分配资源,且m<n。将步骤S104中分配待分配资源所采用的策略用分配函数A来描述,在满足条件(condition)时,资源需求方才会被分配到缓存,分配到的赋值1,未分配到的赋值1,分配函数A表示为:分配的结果表示为:A=[a1a2a3...an],为一个包含n个向量元素的行向量,ri对应的分配结果为ai。显然,当待分配资源全部分配完毕时,进一步地,定义R的非依赖价值函数V=[v1v2v3...vn],为一个包含n个向量元素的行向量,ri对应的非依赖价值函数为vi,vi一般由资源需求方对应的具体业务系统定义,vi的值即为ri对应的非依赖价值表征值;基于资源需求方的资源分配结果,可实现的各资源需求方的非依赖价值表征值总和可以表示为:更进一步的,定义资源需求方ri与rj之间的依赖概率参数为Pij,Pij的值即为ri与rj之间的依赖概率值,而且Pij=Pji;根据各资源需求请求方对应的依赖概率参数,定义各资源需求请求方对应的大小为n×n的依赖矩阵P:资源需求方ri不依赖于所述各资源需求方的概率为:则基于各资源需求方相互之间的依赖关系(用依赖矩阵P表示),以及各资源需求方的资源分配结果,可实现的各资源需求方的依赖价值表征值总和可以表示为:其中,E为单位矩阵;为一个包含n个向量元素的行向量。对OValue'进行矩阵变换:则可以生成R的依赖价值函数为一个包含n个向量元素的行向量;OValue'=AV'T;进而将获得的指定业务数据与依赖关系数据代入该公式可以计算出R的依赖价值表征值,以及在本申请实施例中,假定所述资源需求方的数量为n,所述待分配资源的份数为m,n>m,每个所述资源需求方至多被分配一份所述待分配资源。对于步骤S104,所述根据所述依赖价值表征值,为各资源需求方分配所述待分配资源,具体可以包括:将m份所述待分配资源分配给:在各资源需求方中,依赖价值表征值前m大或不小于设定阈值的资源需求方;其中,所述设定阈值根据所述前m大依赖价值表征值中的最小值设定。如此,能够实现的各资源需求方的依赖价值表征值总和可以最大化。需要说明的是,上一段中的分配方式是以实现的各资源需求方的依赖价值表征值总和最大化为目标的,若目标进行了修改,则分配方式也可以相应地调整。在本申请实施例中,资源需求方的依赖价值表征值可能会随着时间而动态变化。在考虑时间维度影响的情况下,对于步骤S102,所述获得各资源需求方的指定业务数据,具体可以包括:根据预定的对应于各资源需求方的非依赖价值函数,获得各资源需求方对应于当前时间点的指定业务数据;所述确定各资源需求方的非依赖价值表征值,具体可以包括:确定各资源需求方对应于所述当前时间点的非依赖价值表征值。所述确定各资源需求方的依赖价值表征值,具体可以包括:确定各资源需求方对应于所述当前时间点的依赖价值表征值。在实际应用中,不同的指定业务数据对于衡量资源需求方的价值的影响程度可能不同,因此,可以用不同的价值系数进行加成或者减弱。例如,所述确定各资源需求方对应于所述当前时间点的非依赖价值表征值,具体可以包括:分别针对各资源需求方执行:根据对应于指定维度的多个取值区间,确定获取的所述资源需求方对应于当前时间点的指定业务数据分别所属的取值区间,其中,每个所述取值区间分别对应于一个价值系数,所述取值区间和所述价值系数是根据所述非依赖价值函数确定的;根据各所述取值区间对应的所述资源需求方的指定业务数据以及价值系数,确定所述资源需求方对应于所述当前时间点的非依赖价值表征值。进一步地,所述指定维度一般为时间维度,一般地,距离当前时间点越远的指定业务数据的影响程度越弱。比较简单的方式是,将指定业务数据划分为历史数据和当前数据两部分,分别赋予不同的价值系数。基于这样的考虑,所述取值区间为时间区间,所述多个取值区间包括第一时间区间(也即,指定的历史时间区间)、时间晚于所述第一时间区间的第二时间区间(也即,指定的当前时间区间);所述第一时间区间对应的价值系数小于所述第二时间区间对应的价值系数。相应地,对于步骤S104,所述根据所述依赖价值表征值,为各资源需求方分配所述待分配资源,具体可以包括:将m份所述待分配资源分配给:在各资源需求方中,对应于所述当前时间点的依赖价值表征值前m大或不小于设定阈值的资源需求方;其中,所述设定阈值根据所述前m大依赖价值表征值中的最小值设定。为了便于理解,以上述资源分配方法在一种实际应用场景下的实施方案为例进行说明。在该实际应用场景下,资源需求方为客户信息,待分配资源为缓存,非依赖价值函数V为客户信息对应的客户的指定业务交易的笔数。V=αVhis+Vnow;VC=Vhis+Vnow;其中,Vhis对应于指定的历史时间区间(假定为“今天”之前的所有天),对应的价值系数为α;Vnow对应于指定的当前时间区间(假定为“今天”),对应的价值系数为1;VC为不考虑价值系数时的非依赖价值函数。假定时间以天为单位滚动。比如,当α=0.5,客户在昨天内无指定业务交易,则考虑价值系数时,昨天的价值在今天时减半,而不考虑价值系数时,昨天的价值在今天时保持不变。例如,假定客户信息的数量n=7,缓存的份数m=3,α=0.5,则Vhis、Vnow、V、VC如下表1所示:表1r1r2r3r4r5r6r7Vhis1234567Vnow3200100V3.531.523.533.5VC4434667如果不考虑客户信息相互之间的依赖关系,则客户信息的依赖价值表征值与非依赖价值表征值相等,则优先将缓存分配给V较大的客户信息即可(也即,将3份缓存分别分配给r1、r5、r7),分配结果如下表2所示:表2A1000101对分配结果的实际意义分析如下:r1虽然历史价值低,但当前特别活跃,所以被分配缓存;r7虽然当前没有活动,但因为历史价值超高,所以被分配缓存;r2虽然当前比较活跃,但历史价值低,总体不如r1,所以没有被分配缓存;r6虽然历史价值较高,但当前没有活动,总体不如r7,所以没有被分配缓存。进一步地,上例中还可以考虑客户信息相互间的依赖关系,计算依赖关系价值表征值再进行分配。由于上例中的资源需求方数量较多,不便于描述具体计算过程,简明起见,下面仅使用上例中的部分资源需求方和部分缓存,且不考虑价值系数,对依赖关系价值表征值的计算进行说明。假定客户信息的数量n=3,缓存的份数m=2,V=[1025]。若客户信息相互之间没有依赖关系,则A=[101],OValue=AVT=15,但是,当r1与r2之间有依赖关系(假定对应的依赖概率值为50%),则对应的依赖矩阵参见图2,图2为本申请实施例提供的资源需求方之间的一种依赖关系示意图;进而,当A=[101]时,OValue'=[101][665]T=11;而当A=[110]时,OValue'=[110][665]T=12;显然,为了实现依赖价值最大化,应当将2份缓存分别分配给r1和r2,而不是像在未考虑依赖关系时分配给r1和r3。在本申请实施例中,如前所述,图1中的流程可以在不同时间点多次执行。则对于步骤S104,所述为各资源需求方分配所述待分配资源后,还可以执行:当确定所述资源需求方对应于所述当前时间点的另一时间点的指定业务数据相比于对应于所述当前时间点的指定业务数据发生变化时(相应地,依赖价值表征值也可能发生变化),根据所述对应于所述另一时间点的指定业务数据,判定是否要重新分配所述待分配资源,以及根据判定结果执行相应操作。在上一段的情况下,为了便于判定是否需要重新分配,对于步骤S104,所述为各资源需求方分配所述待分配资源后,还可以执行:保存所述对应于所述当前时间点的依赖价值表征值前m大的价值表征值,和/或保存所述设定阈值。进而,所述根据所述对应于所述另一时间点的指定业务数据,判定是否要重新分配所述待分配资源,具体可以包括:根据所述对应于所述另一时间点的指定业务数据,确定指定业务数据发生变化的资源需求方的对应于所述另一时间点的依赖价值表征值;根据所述对应于所述另一时间点的依赖价值表征值,以及保存的依赖价值表征值和/或所述设定阈值,判定是否要重新分配所述待分配资源。在本申请实施例中,所述判定是否要重新分配所述待分配资源前,还可以执行:确定所述指定业务数据发生变化的资源需求方是否已被分配所述待分配资源;若是,当确定所述对应于所述另一时间点的依赖价值表征值与保存的依赖价值表征值和/或所述设定阈值相关时,对保存的依赖价值表征值和/或所述设定阈值进行更新。为了便于理解,沿用上例进行说明。图3为本申请实施例提供的资源分配方法在一种实际应用场景(上例的场景)下的实施方案流程示意图。在图3的流程中,可以准备两个数据对象Vhis和Vnow,若存在依赖关系,则还需准备数据对象Pji或P。V、V'和Vc都可以根据上述数据对象计算得到,为了便于描述,后面说明不考虑依赖关系,若考虑依赖关系,则将后面说明中的V替换为V'即可。另外,缓存算法数据可以用于保存各客户信息对应的V值中前m大的V值(或设定阈值Vthreshold)以及对应客户的相关信息。简单说明图3中的部分关键步骤:步骤1,假定检测到某客户信息对应的指定业务交易笔数增加了1笔;步骤2,更新多个值;比如,Vnow=Vnow+1,V=0.5Vhis+Vnow等;步骤4,检查该客户信息是否已经被分配缓存;步骤5,若已分配,更新缓存算法数据;比如,假定Vthreshold是根据该客户信息的V值确定的,则可以需要相应地更新Vthreshold;步骤7,将该客户信息对应的更新后的V值和Vthreshold比较,或检查更新后的V值是否符合分配条件(是否属于前m大的V值);步骤8,若不符合分配条件,结束流程;步骤9,若符合分配条件,更新缓存算法数据,包括要被新分配缓存的客户信息对应的V值,和要被收回缓存的客户信息对应的V值等;步骤10,实际操作缓存,进行缓存分配调整;比如,在缓存中写入新被分配缓存的客户信息,在缓存中删除被回收缓存的客户信息等。另外,若考虑依赖关系,则上述步骤中的V替换为V'即可,而且可以在步骤2维护Pji或P。需要说明的是,上例中对于非依赖价值函数V的定义(基于指定业务交易的笔数进行衡量)仅是一种示例,并非对本申请的限定。非依赖价值函数V的定义可以根据实际情况定义,以
背景技术
中的LRU方式为例:定义客户信息R的使用函数U,U是一个基于时间的函数,在R被使用时对应的U值为1。具体表示为:图4为本申请实施例提供的基于使用要素的一种缓存分配函数的示意图。可以看到,当缓存份数不少于客户信息的数量时,缓存分配函数A可以等于U(t),也即,当客户信息使用后,被分配缓存,对于没有被分配缓存的客户信息r5,业务系统直接访问,而对于被分配缓存的客户信息r3,业务系统通过缓存访问。在实际应用中,缓存份数可能少于客户信息的数量,也即,可能m<n,当所有客户信息都被使用后,没有足够的缓存分配,所以可能需要回收缓存调整分配,则在任一时间点,只有一部分客户信息被分配到缓存。针对上一段中的情况,以
背景技术
中的LRU分配方式为例,重新定义使用函数:LRU分配方式下的非依赖价值函数可以表示为:其中,ULRU=[u1u2u3...un],为一个包含n个向量元素的行向量,分别对应每个客户信息ri的使用函数值,ui根据使用条件等于ti或0。同时需要满足则分配结果为将缓存分配给ui值前m大的客户信息,如此能够实现OLRU最大化。比如,假定u1≥u2≥u3…≥un,最大化OLRU的缓存分配结果为:a1=a2…=am=1,am+1…=an=0;简要证明,假设其中ax=0,1≤x≤m;ay=1,m+1≤y≤n;ux≥uy由此可见,LRU方式的实现,只要跟踪每个客户信息的ULRU(t),即可得到分配结果A。ULRU(t)即可以作为LRU方式下定义的非依赖价值函数。上面对本申请实施例提供的资源分配方法进行了说明,进一步地,本申请实施例还提供了对应于该资源分配方法的装置,如图5所示。图5为本申请实施例提供的对应于图1的一种资源分配装置的结构示意图,该装置可以位于图1中流程的执行主体上,包括:第一确定模块501,确定各资源需求方和待分配资源;获得模块502,获得各资源需求方的指定业务数据,以及各资源需求方相互之间的依赖关系数据;第二确定模块503,根据所述获得模块502获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值;分配模块504,根据所述依赖价值表征值,为各资源需求方分配所述待分配资源。可选地,所述第二确定模块503根据所述获得模块502获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值,具体包括:所述第二确定模块503根据所述获得模块502获得的所述指定业务数据,确定各资源需求方的非依赖价值表征值,根据确定的所述非依赖价值表征值,以及获得的所述依赖关系数据,确定各资源需求方的依赖价值表征值。可选地,所述第二确定模块503根据所述获得模块获得的所述指定业务数据和所述依赖关系数据,确定各资源需求方的依赖价值表征值,具体包括:所述第二确定模块503获得依赖价值函数,所述依赖价值函数是根据预定的对应于各资源需求方的非依赖价值函数和依赖关系函数生成的;通过将所述获得模块502获得的所述指定业务数据和所述依赖关系数据代入所述依赖价值函数进行计算,确定各资源需求方的依赖价值表征值;其中,所述非依赖价值函数用于确定各资源需求方的非依赖价值表征值,所述指定业务数据对应于所述非依赖价值函数中的参数,所述依赖关系数据对应于所述依赖关系函数中的参数。可选地,所述依赖关系函数包括依赖概率参数;所述依赖关系数据包括对应于所述依赖概率参数的依赖概率值。可选地,所述装置还包括:生成模块505,按照如下方式生成所述依赖价值函数:获得依赖矩阵,所述依赖矩阵是根据预定的对应于各资源需求方的依赖概率参数生成的,所述依赖矩阵反映各资源需求方两两之间的依赖概率;根据所述依赖矩阵,以及预定的对应于各资源需求方的非依赖价值函数,生成所述依赖价值函数。可选地,所述非依赖价值函数包括非依赖价值向量,所述非依赖价值向量中的各向量元素一一对应于各资源需求方,所述非依赖价值向量中的向量元素用于确定其对应的资源需求方的非依赖价值表征值;所述生成模块505根据所述依赖矩阵,以及预定的对应于各资源需求方的非依赖价值函数,生成所述依赖价值函数,具体包括:所述生成模块505通过对所述依赖矩阵与预定的对应于各资源需求方的非依赖价值向量进行向量运算和矩阵变换,生成所述依赖价值函数;其中,所述依赖价值函数包括依赖价值向量,所述依赖价值向量中的各向量元素一一对应于各资源需求方,所述依赖价值向量中的向量元素用于确定其对应的资源需求方的依赖价值表征值。可选地,所述获得模块502获得各资源需求方的指定业务数据,具体包括:所述获得模块502根据预定的对应于各资源需求方的非依赖价值函数,获得各资源需求方对应于当前时间点的指定业务数据;所述第二确定模块503确定各资源需求方的非依赖价值表征值,具体包括:所述第二确定模块503确定各资源需求方对应于所述当前时间点的依赖价值表征值。可选地,所述第二确定模块503确定各资源需求方对应于所述当前时间点的依赖价值表征值,具体包括:所述第二确定模块503分别针对各资源需求方执行:根据对应于指定维度的多个取值区间,确定获取的所述资源需求方对应于当前时间点的指定业务数据分别所属的取值区间,其中,每个所述取值区间分别对应于一个价值系数,所述取值区间和所述价值系数是根据所述非依赖价值函数确定的;根据各所述取值区间对应的所述资源需求方的指定业务数据以及价值系数,确定所述资源需求方对应于所述当前时间点的非依赖价值表征值。可选地,所述取值区间为时间区间,所述多个取值区间包括第一时间区间、时间晚于所述第一时间区间的第二时间区间;所述第一时间区间对应的价值系数小于所述第二时间区间对应的价值系数。可选地,所述资源需求方的数量为n,所述待分配资源的份数为m,n>m,每个所述资源需求方至多被分配一份所述待分配资源;所述分配模块504根据所述依赖价值表征值,为各资源需求方分配所述待分配资源,具体包括:所述分配模块504将m份所述待分配资源分配给:在各资源需求方中,对应于所述当前时间点的依赖价值表征值前m大或不小于设定阈值的资源需求方;其中,所述设定阈值根据所述前m大依赖价值表征值中的最小值设定。可选地,所述分配模块504为各资源需求方分配所述待分配资源后,当确定所述资源需求方对应于所述当前时间点的另一时间点的指定业务数据相比于对应于所述当前时间点的指定业务数据发生变化时,根据所述对应于所述另一时间点的指定业务数据,判定是否要重新分配所述待分配资源,以及根据判定结果执行相应操作。可选地,所述分配模块504为各资源需求方分配所述待分配资源后,保存所述对应于所述当前时间点的依赖价值表征值前m大的价值表征值,和/或保存所述设定阈值。可选地,所述分配模块504根据所述对应于所述另一时间点的指定业务数据,判定是否要重新分配所述待分配资源,具体包括:所述分配模块504根据所述对应于所述另一时间点的指定业务数据,确定指定业务数据发生变化的资源需求方的对应于所述另一时间点的依赖价值表征值,根据所述对应于所述另一时间点的依赖价值表征值,以及保存的依赖价值表征值和/或所述设定阈值,判定是否要重新分配所述待分配资源。可选地,所述分配模块504判定是否要重新分配所述待分配资源前,确定所述指定业务数据发生变化的资源需求方是否已被分配所述待分配资源;若是,当确定所述对应于所述另一时间点的依赖价值表征值与保存的依赖价值表征值和/或所述设定阈值相关时,对保存的依赖价值表征值和/或所述设定阈值进行更新。可选地,所述资源为缓存。可选地,所述资源需求方的指定业务数据为所述资源需求方的指定业务交易的笔数。本申请实施例提供的装置与方法是一一对应的,因此,装置也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置的有益技术效果。在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogicDevice,PLD)(例如现场可编程门阵列(FieldProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBooleanExpressionLanguage)、AHDL(AlteraHardwareDescriptionLanguage)、Confluence、CUPL(CornellUniversityProgrammingLanguage)、HDCal、JHDL(JavaHardwareDescriptionLanguage)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardwareDescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、AtmelAT91SAM、MicrochipPIC18F26K20以及SiliconeLabsC8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1