CN109285015B - 一种虚拟资源的分配方法及*** - Google Patents
一种虚拟资源的分配方法及*** Download PDFInfo
- Publication number
- CN109285015B CN109285015B CN201710591484.5A CN201710591484A CN109285015B CN 109285015 B CN109285015 B CN 109285015B CN 201710591484 A CN201710591484 A CN 201710591484A CN 109285015 B CN109285015 B CN 109285015B
- Authority
- CN
- China
- Prior art keywords
- resource allocation
- server
- virtual resource
- user
- planning
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0213—Consumer transaction fees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0222—During e-commerce, i.e. online transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0239—Online discounts or incentives
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及互联网技术,特别涉及一种虚拟资源的分配方法及***,用以在分配虚拟资源时,降低计算复杂度,提高计算效率,该方法为,在分配虚拟资源时,将整体计算流程进行了合理分割,并采用分布式方式由不同的计算节点完成相应部分的计算流程,最终再将各个计算节点得到的计算结果进行汇总,从而得到各个用户最终的目标虚拟资源分配方案,显然,这种方式可以将复杂的计算流程化繁为简,有效降低了计算复杂度,提高了计算效率,同时,也大大降低了运维成本,可以灵活地应用于各类应用场景。
Description
技术领域
本申请涉及互联网技术,特别涉及一种虚拟资源的分配方法及***。
背景技术
随着电子商务的日益普及,电商平台经常需要面对海量用户进行商品推广促销工作,如,配置一定的虚拟资源(如,红包、优惠券等等),将虚拟资源分别给各个用户,其中,每个用户的促销方案是独立制定的。
为了简化虚拟资源分配操作,可选的,电商平台会预先设置若干种虚拟资源分配数目方案,然后针对不同的用户选择其中一种执行,因为虚拟资源的总数目有限,因此也会有很多用户不会分配得到虚拟资源。
通常情况下,一个用户可以得到多少虚拟资源和这一个用户的参与度相关,所谓参与度即是指用户得到虚拟资源后执行指定的操作行为(如,购买行为)的概率,电商平台在针对不同用户分配虚拟资源时,会考虑各个用户的参与度,分别针对不同用户制定合理的虚拟资源分配方案。
例如,为了实现海量用户的参与度最大化,如果一个用户的参与度达到设定门限,即分配给这一个用户较少的虚拟资源。
如,假设用户a的参与度达到设定门限,则说明用户a的参与度很高,那么,无论用户a获得多少虚拟资源,都会触发用户a执行指定操作,因此,若针对用户a设置有5元红包和10元红包两种虚拟资源分配方案,则此时应当给用户a分配5元红包,而10元的红包则会分配给其他用户,以增加用户的整体参与度。
又例如,为了实现用户的利益最大化,如果两个用户的虚拟资源分配方案相同,而在虚拟资源数目有限的情况下,则会优先将虚拟资源分配给参与度高的用户。
如,用户a的参与度为50%,用户b的参与度为80%,那么,当前仅剩下一台10元红包,则需要将10元红包分配给用户b。
从上述分配方式可以看出,不同的用户在不同的情况下,虚拟资源分配方案均不相同,因此,为了实现分配方案的最优化,现有技术下,通常使用分组背包算法来解决上述问题。
然而,分组背包算法仅适用于用户数目很少,以及虚拟资源总数目也较少的场景。面对海量用户,电商平台在进行虚拟资源分配时,其计算量是巨大的,各种组合方案会呈现***式增长,即使用高效的动态规划算法,计算的复杂度和存储空间需求都非常庞大。
例如,假设用户数目为一亿人,每一个用户对应10个红包可选方案,红包总金额为1000万元。那么,采用现有的分组背包算法的计算复杂度为:108*10*107,即,使用单台计算节点需要167万小时,而存储空间至少需要8万TB,而一台包含千台计算节点的集群,内存量大约10TB,硬盘存储量也只能到1万TB的级别,显然是无法完成。
有鉴于此,需要设计一种新的算法以克服上述缺陷。
发明内容
本申请实施例提供一种虚拟资源的分配方法及***,用以在分配虚拟资源时,降低计算复杂度,提高计算效率
本申请实施例提供的具体技术方案如下:
一种虚拟资源的分配***,至少包括分配服务器集群、规划服务器集群和综合服务器,其中,
所述分配服务器集群,包含若干台分配服务器,其中,每一台分配服务器分别用于执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上;
所述规划服务器集群,包括若干台规划服务器,其中,每一台规划服务器分别用于执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
所述综合服务器,用于对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
可选的,一台分配服务器将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上,包括:
所述一台分配服务器采用哈希算法,将获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器;或者,
所述一台分配服务器按照预先对应每一台规划服务器设置的分配概率,将获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器。
可选的,一台规划服务器基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,包括:
所述一台服务器确定获得的各个用户配置信息中记录的各个用户,以及对应所述每一个用户设置的虚拟资源配置方案及相应的参与度;
所述一台规划服务器基于获得的部分虚拟资源数目,遍历组合所述各个用户的每一个虚拟资源分配方案及相应的参与度,提取出覆盖到的用户数目最多且用户的参与度之和最大的虚拟资源分配方案组合;
将提取出的虚拟资源分配方案组合中包含的每一个虚拟资源分配方案作为相应用户的目标虚拟资源分配方案。
可选的,进一步包括:
预处理服务器,用于根据待分配的虚拟资源的总数目,用户总数目以及每一个用户的用户配置信息,确定分配服务器集群中包含的分配服务器的数目,以及规划服务器集群中包含的规划服务器的数目。
可选的,所述预处理服务器和所述综合服务器为同一台服务器。
可选的,进一步包括:汇总服务器集群;
所述规划服务器集群中的每一个规划服务器进一步用于:按照本地获得的每一个用户的目标虚拟资源分配方案对应的参与度,将相应的目标虚拟资源分配方案发送至汇总服务器集群中参与度相匹配的汇总服务器上;
所述汇总服务器集群,包含若干台汇总服务器,其中,一台汇总服务器用于对从各个规划服务器接收的各个用户的目标虚拟资源分配方案进行汇总整理,并将汇总整个后的各个用户的目标虚拟资源分配方案发往所述综合服务器。
可选的,所述分配服务器集群和所述规划服务器集群之间存在或不存在交集,或者,所述分配服务器集群为所述规划服务器集群的子集;或者,
所述汇总服务器集群和所述规划服务器集群之间存在或不存在交集,或者,所述汇总服务器集群为所述规划服务器集群的子集;或者,
所述分配服务器集群和所述汇总服务器集群之间存在或不存在交集,或者,所述分配服务器集群和所述汇总服务器集群为同一集群。
一种虚拟资源的分配方法,包括:
分别通过分配服务器集群中的每一台分配服务器执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上;
分别通过规划服务器集群中的每一台规划服务器执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
通过综合服务器对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
可选的,通过一台分配服务器将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上,包括:
采用哈希算法,将所述一台分配服务器获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器;或者,
按照预先对应每一台规划服务器设置的分配概率,将所述一台分配服务器获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器。
可选的,通过一台规划服务器基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,包括:
确定所述一台规划服务器获得的各个用户配置信息中记录的各个用户,以及对应所述每一个用户设置的虚拟资源配置方案及相应的参与度;
基于所述一台规划服务器获得的部分虚拟资源数目,遍历组合所述各个用户的每一个虚拟资源分配方案及相应的参与度,提取出覆盖到的用户数目最多且用户的参与度之和最大的虚拟资源分配方案组合;
将提取出的虚拟资源分配方案组合中包含的每一个虚拟资源分配方案作为相应用户的目标虚拟资源分配方案。
可选的,进一步包括:
分别通过所述规划服务器集群中的每一个规划服务器执行以下操作:按照本地获得的每一个用户的目标虚拟资源分配方案对应的参与度,将相应的目标虚拟资源分配方案发送至汇总服务器集群中参与度相匹配的汇总服务器上;
分别通过汇总服务器集群中的每一个汇总服务器执行以下操作:对从各个规划服务器接收的各个用户的目标虚拟资源分配方案进行汇总整理,并将汇总整个后的各个用户的目标虚拟资源分配方案发往所述综合服务器。
一种存储介质,存储有用于实现虚拟资源分配的程序,所述程序被处理器运行时,执行以下步骤:
分别通过分配服务器集群中的每一台分配服务器执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上;
分别通过规划服务器集群中的每一台规划服务器执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
通过综合服务器对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一种方法。
本申请有益效果如下:
本申请实施例中,设计了一种高效的分布式的管理***,至少包括分配服务器集群、规划服务器集群和综合服务器,通过分配服务器集群中的每一台分配服务器,可以分别读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上,而通过规划服务器集群中的每一台规划服务器,可以分别基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,通过综合服务器,可以将获得的所有用户的目标虚拟资源分配方案进行汇总存储,这样,便在分配虚拟资源时,将整体计算流程进行了合理分割,并采用分布式方式由不同的计算节点完成相应部分的计算流程,最终再将各个计算节点得到的计算结果进行汇总,从而得到各个用户最终的目标虚拟资源分配方案,显然,这种方式可以将复杂的计算流程化繁为简,有效降低了计算复杂度,提高了计算效率,同时,也大大降低了运维成本,可以灵活地应用于各类应用场景。
附图说明
图1为本申请实施例中管理***功能结构示意图;
图2为虚拟资源分配流程示意图。
具体实施方式
为了在分配虚拟资源时,降低计算复杂度,提高计算效率,本申请实施例中,提出基于概率分布的资源分配寻优方案,该方案易于多个计算节点分布式并行执行,从而可以在几十分钟内得到结果,极大地降低了计算复杂度,以及降低对存储空间的需求。
下面结合附图对本申请优选的实施方式作出详细说明。
参阅图1所示,本申请实施例中,采用分布式的管理***执行虚拟资源的分配流程,在管理***中,逻辑上可以包括预处理服务器、分配服务器集群和规划服务器集群、汇总服务器集群和综合服务器,其中,
预处理服务器,用于根据待分配的虚拟资源的总数目,用户总数目以及每一个用户对应的用户配置信息(至少包括虚拟资源分配方案集合及相应的参与度),确定分配服务器集群的规模(即分配服务器的数目)、以及规划服务器集群的规模(即规划服务器的数目)。
进一步地,预处理服务器还可以用于将海量用户的用户配置信息发送至分配服务器集合中的每一台分配服务器,其中,一个用户的用户配置信息中至少包括有对应上述一个用户设置的虚拟资源分配方案集合,以及每一个虚拟资源分配方案对应的参与度,其中,所谓的参与度即是指一个用户获得虚拟资源后执行指定操作的概率。
当然,实际应用中,若管理***所处理的虚拟资源的数目、用户数目以及每个用户对应的虚拟资源分配方案集合,在固定时间范围内是相对稳定的,则可以可以在管理***中将分配服务器规划和规划服务器规模设置为一组固定值,而无需设置预处理服务器,本实施例中的场景仅为举例,在此不再赘述。
分配服务器集群:包含若干台分配服务器,其中,每一台分配服务器用于执行以下操作:读取用户配置信息,并将获得的用户配置信息均匀分配至规划服务器集群中的各台规划服务器上。
当然,各台分配服务器集群也可以分别自行从数据库中读取用户的用户配置信息,或者,也可以由各自的管理人员上传需要处理的用户配置信息,在此种情况下,也可以不设置预处理服务器。
规划服务器集群:包含若干规划服务器,其中,每一台规划服务器执行以下操作:按照获得的各个用户的用户配置信息,将本地获得的虚拟资源分配给本地获得的各个用户,令整体用户参与度最大化,以获得各个用户的目标虚拟资源分配方案。
进一步地,一台规划服务器还可以用于将各个用户的目标虚拟资源分配方案按照设定顺序分别分配至汇总服务器集群中的各台汇总服务器上。
汇总服务器集群,包含若干汇总服务器,其中,一台汇总服务器用于对获得的各个用户的目标虚拟资源分配方案进行汇总及整理,以及将整理结果发送至指定的综合服务器。
当然,如果数据量较少,则也可以不设置汇总服务器集群,而是由规划服务器集群直接将各个用户的目标虚拟资源分配方案发送至综合服务器,由综合服务器进行整理。
综合服务器,用于获得海量用户最终全部的目标虚拟资源分配方案并进行呈现。
基于上述实施例,参阅图2所示,分布式的管理***进行虚拟资源分配的详细流程如下:
步骤200:预处理服务器基于待分配的虚拟资源数目、用户数目以及对应各个用户设置的虚拟资源分配方案集合,确定需要配置的分配服务器数目、规划服务器数目和汇总服务器数目。
例如,假设预设的配置规则为:100万用户+每个用户10个虚拟资源分配方案+10万元红包金额,对应一台规划服务器。
那么,假设目前存在1亿用户,2亿红包金额,以及每个用户10个虚拟资源分配方案(如,1元、5元、10元、15元……),那么,大约需要2000台规划服务器,相应的,大约需要100台分配服务器将用户配置信息发送至各台规划服务器,以及,大约需要100台汇总服务器对最终的规划结果进行汇总。
本申请实施例中,预处理服务器、分配服务器、规划服务器、汇总服务器和综合服务器均为逻辑上的划分,实际应用中,预处理服务器和综合服务器可以是同一台服务器,也可以是不同服务器,而分配服务器集群和规划服务器集群之间可以存在或不存在交集,或者,分配服务器集群可以为规划服务器集群的子集,同理,汇总服务器集群和规划服务器集群之间也可以存在或不存在交集,或者,汇总服务器集群也可以为规划服务器集群的子集,而分配服务器集群和汇总服务器集群之间可以存在或不存在交集,或者,两者也可以是同一集群。
只要一台服务器在操作上可以及时切换,那么,这台服务器可以执行上述各类服务器中的任意一种或任意组合的相关操作。
本申请实施例中,为了便于描述,假设预处理服务器、分配服务器集群、规划服务器集群、汇总服务器集群综合服务器均为不同的服务器。
步骤210:按照上述分配服务器数目、规划服务器数目和汇总服务器数目,分别配置分配服务器集群、规划服务器集群和汇总服务器集群。
步骤220:分配服务器集群中的各台分配服务器分别从数据库中读取各个用户的用户配置信息,以及将读取到的用户配置信息均匀发送至规划服务器集群中的各台规划服务器。
本申请实施例中,为了均衡各台规划服务器的计算处理能力,每一台分配服务器均需要将本地获取的用户配置信息均匀分配至每一台规划服务器。
以一台分配服务器为例,在分配用户配置信息时,可以采用但不限于以下两种方法:
方法1:分配服务器采用哈希算法,将获得的各个用户配置信息分别发送至规划服务器集群中的每一台规划服务器。
采用方法1,分配服务器可以将本地的各个用户配置信息随机均匀分配至每一台规划服务器。
方法2:分配服务器按照设定的分配概率,将获得的各个用户配置信息分别分配至规划服务器集群中的每一台规划服务器。
采用方法2,分配服务器会按照预先对应每一台规划服务器设置的分配概率,将本地的各个用户配置信息分配至每一台规划服务器,可选的,可以将各台规划服务器的分配概率设置为相同取值,这样,也可以实现用户配置信息的均匀分配。
无论采用上述方法1还是方法2,均可以将用户配置信息均匀地分配致各台规划服务器,所谓均匀分配,可选的,可以表示为:每台分配服务器读入一部分用户配置信息,并假设用户配置信息被分入每台规划服务器的概率相等。
例如,假设海量用户中存在以下用户:30个分到5元红包后参与度为5%的用户、50个分到5元红包后参与度为20%的用户、100个分到5元戏包后参与度为50%的用户,那么,这三类用户的参与度的比例为3:5:10。
假设分配服务器将各个用户的用户配置信息均匀分配致10个规划服务器后,每一台规划服务器上均获得3个分到5元红包后参与度为5%的用户,5个5元红包后参与度为20%的用户,10个分到5元红包后参与度为50%的用户,那么,每一台规划服务器上的上述三类用户的参与度的比例均为3:5:10。
当然,上述过程仅为举例,实际应用中,不同规划服务器上的各类用户之间的参与度的比例无需完全相同,只需相近即可(如,3:4.5:9.7等等),这样,便可以保证各台规划服务器上各个类型的用户分布一致,从而通过分布式方式,既加速了整体数据导入和分配的速度,同时也保证了虚拟资源分配的公平性。
步骤230:规划服务器集合中的每一台规划服务器执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合和每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案。
以一台规划服务器X为例,规划服务器X首先会确定本地分配的部分虚拟资源数目,较佳的,管理***中全部的虚拟资源数目会均匀分配至每一台规划服务器,然后,规划服务器X会确定本地分配到的用户配置信息,并开始进行虚拟资源分配。
例如,假设规划服务器X获得的部分虚拟资源数目为:红包的总金额V,而本地分配到的用户配置信息为:K个用户,每个用户对应N个红包选项(即N个虚拟资源分配方案),而第k(k∈[1,K])个用户的第i(i∈[1,N])个红包选项的金额为Cki,产生的参与度为Wki,那么,假设F[K,V]表示前k个人分配到红包金额v(v∈[1,V])能取得的最大参与度,那么,采用动态规划方法进行规划。
具体的,可以基于获得的部分虚拟资源数目,遍历组合各个用户的每一个虚拟资源分配方案及相应的参与度,提取出覆盖到的用户数目最多且用户的参与度之和最大的虚拟资源分配方案组合,并将该虚拟资源分配方案组合中包含的每一个虚拟资源分配方案作为相应用户的目标虚拟资源分配方案,具体的,可以采用但不限于以下两种方法:
方法1:
方法2,
上述两种方法均可以遍历组合各个用户的虚拟资源分配方案及相应的参与度,不同之处在于,方法2中,将参与度看作是一维数组F[V],可以更节省内存。
步骤240:规划服务器集群中的各台规划服务器分别将每本地获得的各个用户的目标虚拟资源分配方案,按照预设的分配规划分别发往相应的汇总服务器。
具体的,不同用户的目标虚拟资源分配方案对应不同的参与度,管理***中,可以预先针对不同的汇总服务器设置相应的参与度管辖范围,规划服务器会分别按照每一个用户的目标虚拟资源分配方案对应的参与度以及各台汇总服务器对应的参与度管辖范围,分别将每一个用户的目标虚拟资源分配方案发送至相对应的汇总服务器。
例如,假设汇总服务器1对应的参与度管辖范围为0%-20%,汇总服务器2对应的参与度管辖范围为21%-50%,汇总服务器3对应的参与度管辖范围为51%-80%,汇总服务器4对应的参与度管辖范围为81%-100%。
那么,假设用户1的目标虚拟资源分配方案为:红包金额10元,而用户1在接收10元红包后,其对应的参与度为75%,则将用户1的目标虚拟资源分配方案分配至汇总服务器3。
当然,设置汇总服务器集群的目的是将近似的数据分组化整理,以提高数据处理效率,而实际应用中,若各个用户的目标虚拟资源分配方案的总数目较少,则也可以不设置汇总服务器集群,而是直接输出致综合服务器进行最终整理,在此不再赘述。
步骤250:汇总服务器集群中的各台汇总服务器分别对获得的各个用户的目标虚拟资源分配方案进行汇总整理,并在汇总整理后发往指定的综合服务器。
具体的,以一台汇总服务器为例,一台汇总服务器对接收的的各个用户的目标虚拟资源分配进行汇总整理时,可以将本地分配到的各个用户的目标虚拟资源分配方案,汇总成针对这一台汇总服务器上的各个用户的整体目标虚拟资源分配方案,可选的,在整体目标虚拟资源分配方案可以按照设定的顺序(如,参与度从高到低的顺序),展现各个用户各自对应的目标虚拟资源分配方案,同时,也可加入一些用户辅助信息,如,用户描述信息、用户账号、用户联系方式等等。然后,上述一台汇总服务器可以将本地生成的针对部分用户的整体目标虚拟资源分配方案发往综合服务器进行再次汇总。
步骤260:综合服务器将获得的所有用户的目标虚拟资源分配方案进行再次汇总后进行存储。
具体的,综合服务器可以将从各个汇总服务器接收的整体目标虚拟资源分配方案进行再次汇总,从而得到***整体目标虚拟资源分配方案;可选的,综合服务器也可以按照设定的顺序(如,参与度从高到低的顺序、红包金额从高到低的顺序等等),呈现本地存储的各个用户的目标虚拟资源分配方案,以便管理人员作出进一步优化。
本申请的一个实施例中,提供了一种存储介质,存储有用于实现虚拟资源分配的程序,所述程序被处理器运行时,执行以下步骤:
分别通过分配服务器集群中的每一台分配服务器执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上;
分别通过规划服务器集群中的每一台规划服务器执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
通过综合服务器对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
本申请的一个实施例中,提供了一种通信装置,包括一个或多个处理器;以及一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一种方法。
综上所述,本申请实施例中,设计了一种高效的分布式的管理***,至少包括分配服务器集群、规划服务器集群和综合服务器,通过分配服务器集群中的每一台分配服务器,可以分别读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上,而通过规划服务器集群中的每一台规划服务器,可以分别基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,通过综合服务器,可以将获得的所有用户的目标虚拟资源分配方案进行汇总存储,这样,便在分配虚拟资源时,将整体计算流程进行了合理分割,并采用分布式方式由不同的计算节点完成相应部分的计算流程,最终再将各个计算节点得到的计算结果进行汇总,从而得到各个用户最终的目标虚拟资源分配方案,显然,这种方式可以将复杂的计算流程化繁为简,有效降低了计算复杂度,提高了计算效率,同时,也大大降低了运维成本,可以灵活地应用于各类应用场景。
如,经测试,本申请实施例提供的技术方案适用于实际应用中大规模的虚拟资源推广场景,可以在较短的计算时间内(如,几个小时或一两天)便可以面向互联网中的海量用户得到最优的目标虚拟资源分配方案,有效提高了虚拟资源分配效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一台或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种虚拟资源的分配***,其特征在于,至少包括分配服务器集群、规划服务器集群和综合服务器,其中,
所述分配服务器集群,包含若干台分配服务器,其中,每一台分配服务器分别用于执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上;
所述规划服务器集群,包括若干台规划服务器,其中,每一台规划服务器分别用于执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
所述综合服务器,用于对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
2.如权利要求1所述的***,其特征在于,一台分配服务器将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上,包括:
所述一台分配服务器采用哈希算法,将获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器;或者,
所述一台分配服务器按照预先对应每一台规划服务器设置的分配概率,将获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器。
3.如权利要求1所述的***,其特征在于,一台规划服务器基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,包括:
所述一台服务器确定获得的各个用户配置信息中记录的各个用户,以及对应所述每一个用户设置的虚拟资源配置方案及相应的参与度;
所述一台规划服务器基于获得的部分虚拟资源数目,遍历组合所述各个用户的每一个虚拟资源分配方案及相应的参与度,提取出覆盖到的用户数目最多且用户的参与度之和最大的虚拟资源分配方案组合;
将提取出的虚拟资源分配方案组合中包含的每一个虚拟资源分配方案作为相应用户的目标虚拟资源分配方案。
4.如权利要求1、2或3所述的***,其特征在于,进一步包括:
预处理服务器,用于根据待分配的虚拟资源的总数目,用户总数目以及每一个用户的用户配置信息,确定分配服务器集群中包含的分配服务器的数目,以及规划服务器集群中包含的规划服务器的数目。
5.如权利要求4所述的***,其特征在于,所述预处理服务器和所述综合服务器为同一台服务器。
6.如权利要求1、2或3所述的***,其特征在于,进一步包括:汇总服务器集群;
所述规划服务器集群中的每一个规划服务器进一步用于:按照本地获得的每一个用户的目标虚拟资源分配方案对应的参与度,将相应的目标虚拟资源分配方案发送至汇总服务器集群中参与度相匹配的汇总服务器上;
所述汇总服务器集群,包含若干台汇总服务器,其中,一台汇总服务器用于对从各个规划服务器接收的各个用户的目标虚拟资源分配方案进行汇总整理,并将汇总整个后的各个用户的目标虚拟资源分配方案发往所述综合服务器。
7.如权利要求1、2或3所述的***,其特征在于,所述分配服务器集群和所述规划服务器集群之间存在或不存在交集,或者,所述分配服务器集群为所述规划服务器集群的子集;或者,
所述汇总服务器集群和所述规划服务器集群之间存在或不存在交集,或者,所述汇总服务器集群为所述规划服务器集群的子集;或者,
所述分配服务器集群和所述汇总服务器集群之间存在或不存在交集,或者,所述分配服务器集群和所述汇总服务器集群为同一集群。
8.一种虚拟资源的分配方法,其特征在于,包括:
分别通过分配服务器集群中的每一台分配服务器执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至规划服务器集群中的各台规划服务器上;
分别通过规划服务器集群中的每一台规划服务器执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
通过综合服务器对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
9.如权利要求8所述的方法,其特征在于,通过一台分配服务器将读取的各个用户配置信息均匀分配至所述规划服务器集群中的各台规划服务器上,包括:
采用哈希算法,将所述一台分配服务器获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器;或者,
按照预先对应每一台规划服务器设置的分配概率,将所述一台分配服务器获得的各个用户配置信息分别分配至所述规划服务器集群中的每一台规划服务器。
10.如权利要求8所述的方法,其特征在于,通过一台规划服务器基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,包括:
确定所述一台规划服务器获得的各个用户配置信息中记录的各个用户,以及对应所述每一个用户设置的虚拟资源配置方案及相应的参与度;
基于所述一台规划服务器获得的部分虚拟资源数目,遍历组合所述各个用户的每一个虚拟资源分配方案及相应的参与度,提取出覆盖到的用户数目最多且用户的参与度之和最大的虚拟资源分配方案组合;
将提取出的虚拟资源分配方案组合中包含的每一个虚拟资源分配方案作为相应用户的目标虚拟资源分配方案。
11.如权利要求8、9或10所述的方法,其特征在于,进一步包括:
分别通过所述规划服务器集群中的每一个规划服务器执行以下操作:按照本地获得的每一个用户的目标虚拟资源分配方案对应的参与度,将相应的目标虚拟资源分配方案发送至汇总服务器集群中参与度相匹配的汇总服务器上;
分别通过汇总服务器集群中的每一个汇总服务器执行以下操作:对从各个规划服务器接收的各个用户的目标虚拟资源分配方案进行汇总整理,并将汇总整个后的各个用户的目标虚拟资源分配方案发往所述综合服务器。
12.一种存储介质,其特征在于,存储有用于实现虚拟资源分配的程序,所述程序被处理器运行时,执行以下步骤:
分别通过分配服务器集群中的每一台分配服务器执行以下操作:读取用户配置信息,并将读取的各个用户配置信息均匀分配至规划服务器集群中的各台规划服务器上;
分别通过规划服务器集群中的每一台规划服务器执行以下操作:基于分配到的部分虚拟资源的数目,以及获得的各个用户配置信息中记录的对应每一个用户预设的虚拟资源分配方案集合以及每一个用虚拟资源分配方案对应的参与度,分别确定每一个用户对应的目标虚拟资源分配方案,以及将各个用户的目标虚拟资源分配方案发往综合服务器;其中,一个用户的一个虚拟资源分配方案对应的参与度,为实施所述一个虚拟资源分配方案后所述一个用户实施指定操作的概率;
通过综合服务器对规划服务器集群发送的各个用户的目标虚拟资源分配方案进行汇总后存储。
13.一种通信装置,其特征在于,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求8至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710591484.5A CN109285015B (zh) | 2017-07-19 | 2017-07-19 | 一种虚拟资源的分配方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710591484.5A CN109285015B (zh) | 2017-07-19 | 2017-07-19 | 一种虚拟资源的分配方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109285015A CN109285015A (zh) | 2019-01-29 |
CN109285015B true CN109285015B (zh) | 2022-02-25 |
Family
ID=65184549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710591484.5A Active CN109285015B (zh) | 2017-07-19 | 2017-07-19 | 一种虚拟资源的分配方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109285015B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711648A (zh) * | 2020-04-16 | 2020-09-25 | 上海淇玥信息技术有限公司 | 虚拟资源分配方法及其***、服务端、电子设备和存储介质 |
CN113205372A (zh) * | 2021-05-28 | 2021-08-03 | 中国工商银行股份有限公司 | 一种组合电子券选取方法和装置 |
CN115190176A (zh) * | 2022-06-30 | 2022-10-14 | 支付宝(杭州)信息技术有限公司 | 用于资源分配的方法、***、装置和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851041A (zh) * | 2015-05-11 | 2015-08-19 | 浙江翼信科技有限公司 | 一种电子资源的处理方法和*** |
CN105787765A (zh) * | 2016-03-02 | 2016-07-20 | 上海宝朔科技有限公司 | 一种分析用户投资行为数据的抽奖方法及*** |
CN105956836A (zh) * | 2016-04-25 | 2016-09-21 | 何庆怀 | 电子载体转发方法 |
CN106126344A (zh) * | 2016-06-30 | 2016-11-16 | 中国联合网络通信集团有限公司 | 一种任务分配方法及装置 |
CN106302649A (zh) * | 2016-07-29 | 2017-01-04 | 北京智云时代科技有限公司 | 一种基于传统媒体的互动分配***及其方法 |
-
2017
- 2017-07-19 CN CN201710591484.5A patent/CN109285015B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851041A (zh) * | 2015-05-11 | 2015-08-19 | 浙江翼信科技有限公司 | 一种电子资源的处理方法和*** |
CN105787765A (zh) * | 2016-03-02 | 2016-07-20 | 上海宝朔科技有限公司 | 一种分析用户投资行为数据的抽奖方法及*** |
CN105956836A (zh) * | 2016-04-25 | 2016-09-21 | 何庆怀 | 电子载体转发方法 |
CN106126344A (zh) * | 2016-06-30 | 2016-11-16 | 中国联合网络通信集团有限公司 | 一种任务分配方法及装置 |
CN106302649A (zh) * | 2016-07-29 | 2017-01-04 | 北京智云时代科技有限公司 | 一种基于传统媒体的互动分配***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109285015A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | An intermediate data placement algorithm for load balancing in spark computing environment | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN109285015B (zh) | 一种虚拟资源的分配方法及*** | |
CN106325756B (zh) | 一种数据存储、数据计算方法和设备 | |
CN110058940B (zh) | 一种多线程环境下的数据处理方法及装置 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN111603765B (zh) | 服务器的分配方法、***及存储介质 | |
CN106991070B (zh) | 实时计算方法及装置 | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应*** | |
US20020077791A1 (en) | Method and apparatus for computing data storage assignments | |
CN111881165B (zh) | 一种数据聚合方法、装置和计算机可读存储介质 | |
CN113342526A (zh) | 云计算移动网络资源动态管控方法、***、终端及介质 | |
CN112783644A (zh) | 一种基于高频键值计数的分布式倾斜流处理方法和*** | |
US11374869B2 (en) | Managing bandwidth based on user behavior | |
CN108664322A (zh) | 数据处理方法及*** | |
CN114860460B (zh) | 一种数据库加速的方法、装置、计算机设备 | |
CN111047306A (zh) | 一种交易输入集合的并行交易处理方法及装置 | |
CN112764935B (zh) | 大数据处理方法、装置、电子设备及存储介质 | |
CN114116228A (zh) | 一种任务分配方法、装置、设备及存储介质 | |
CN107704320A (zh) | 一种分布式***的任务分配方法及*** | |
CN110046040A (zh) | 分布式任务处理方法及***和存储介质 | |
Oonhawat et al. | Hotspot management strategy for real-time log data in MongoDB | |
CN111796934A (zh) | 任务下发方法、装置、存储介质和电子设备 | |
CN112596903A (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 |