掌桥专利:专业的专利平台
掌桥专利
首页

在线资源分配方法和系统

文献发布时间:2023-06-19 19:28:50


在线资源分配方法和系统

技术领域

本说明书涉及资源分配领域,尤其涉及一种在线资源分配方法和系统。

背景技术

近年来,随着互联网技术的飞速发展,网络上的资源也越来越多。为了提升这些在线资源的资源利用率,就需要对在线资源进行精准的分配。现有的在线资源分配方式往往是进化算法进行资源分配。

在对现有技术的研究和实践过程中,本申请的发明人发现由于在线资源的数量巨大,进化算法中将需要分配的全部在线资源的初始分配参数作为染色体进行进化,使得染色体的长度过长,影响了进化过程中的搜索效率,因此,导致在线资源分配的效率较低。

发明内容

本说明书提供一种分配效率更高的在线资源分配方法和系统。

第一方面,本说明书提供一种在线资源分配方法,包括获取在线资源集合中每一在线资源对应的初始分配参数,得到所述初始分配参数的初始集合;将所述初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,并对所述N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合,所述N为目标分组数量且为大于1的整数;以及将所述N个目标子集合进行拼接,得到所述在线资源集合对应的目标分配参数集合,并基于所述目标分配参数集合对所述每一在线资源进行分配。

在一些实施例中,所述在线资源包括物品资源、内容资源或用户资源中的至少一种。

在一些实施例中,所述将所述初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,包括:获取所述在线资源集合的分配请求和所述每一在线资源的资源属性信息;基于所述分配请求和所述资源属性信息,确定所述每一在线资源的分组约束信息;以及基于所述分组约束信息,将所述初始集合中的初始分配参数分为N组,得到所述N个初始分配参数的初始子集合。

在一些实施例中,所述基于所述分组约束信息,将所述初始集合中的初始分配参数分为N组,得到所述N个初始分配参数的初始子集合,包括:基于所述分组约束信息,确定所述每一在线资源对应的目标分组约束条件;以及基于所述目标分组约束条件,将所述初始集合中的初始分配参数分为N组,得到所述N个初始子集合。

在一些实施例中,所述基于所述分组约束信息,确定所述每一在线资源对应的目标分组约束条件,包括:获取所述在线资源集合对的预设分组约束条件集合;在所述分组约束信息中提取出至少一个约束元素;以及在所述预设分组约束条件集合中选取出所述至少一个约束元素对应的分组约束条件,得到目标分组约束条件。

在一些实施例中,所述至少一个约束元素包括业务场景、业务对象、资源属性或分配对象中的至少一种。

在一些实施例中,所述基于所述目标分组约束条件,将所述初始集合中的初始分配参数分为N组,得到所述N个初始子集合,包括:在所述初始集合中选取出同一所述目标分组约束条件下的至少一个目标初始分配参数;以及将所述至少一个目标初始分配参数作为一个初始子集合,以得到所述N个初始子集合。

在一些实施例中,所述将所述初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,包括:在所述初始集合中识别出所述初始分配参数之间的关联关系,所述关联关系表征所述初始分配参数之间是否存在相互作用;以及基于所述关联关系,将所述初始集合中的初始分配参数分为N组,得到所述N个初始子集合。

在一些实施例中,所述在所述初始集合中识别出所述初始分配参数之间的关联关系,包括:在所述初始集合中选取出两个初始分配参数,得到初始分配参数对,并确定所述初始分配参数对中的初始分配参数之间的目标关联关系;以及返回执行所述在初始集合中选取出两个初始分配参数的步骤,直至所述初始集合中的初始分配参数均被选取时为止,得到所述初始集合中的初始分配参数之间的关联关系

在一些实施例中,所述初始分配参数对包括第一初始分配参数和第二初始分配参数;以及所述确定所述初始分配参数对中的初始分配参数之间的目标关联关系,包括:获取预设分配参数值集合,所述预设分配参数值集合包括第一分配参数值子集合和第二分配参数值子集合,所述第一分配参数值子集合与所述第二分配参数值子集合中的所述第一初始分配参数的值相同且所述第二初始分配参数的值不同,基于所述第一分配参数值子集合和所述第二分配参数子集合,确定所述第一初始分配参数与所述第二初始分配参数之间的目标差异值,所述目标差异值为在所述第二初始分配参数的不同值下的分配响应增量之间的差值,所述分配响应增量为在所述第一初始分配参数的不同值下进行分配响应后的增量,以及基于所述目标响应差值,确定所述目标关联关系,所述目标关联关系包括存在相互作用关系或不存在相互作用关系中的一种,所述不存在相互作用关系对应于所述目标差异值小于预设差异阈值,所述存在相互作用关系对应与所述目标差异值大于所述预设差异阈值。

在一些实施例中,所述第一分配参数值子集合包括所述第一初始分配参数的至少两个候选值;以及所述确定所述第一初始分配参数与所述第二初始分配参数之间的目标差异值,包括:获取所述第一分配参数值子集合对应的分配响应增量,得到第一分配响应增量,获取所述第二分配参数值子集合对应的分配响应增量,得到第二分配响应增量,以及确定所述第一分配响应增量与所述第二分配响应增量之间的差值,得到所述目标差异值。

在一些实施例中,所述第一分配参数值子集合还包括所述第二初始分配参数的目标值;以及所述获取所述第一分配参数值子集合对应的分配响应增量,得到第一分配响应增量,包括:基于所述目标值,确定所述至少两个候选值中每一候选值对应的分配响应值,以及获取所述分配响应值之间的差值,以得到所述第一分配响应增量。

在一些实施例中,所述基于所述关联关系,将所述初始集合中的初始分配参数分为N组,得到所述N个初始子集合,包括:基于所述关联关系,在所述初始集合中将存在相互作用关系的至少一个初始分配参数分为一组,并将不存在相互作用作用关系的至少一个初始分配参数单独分组,以得到所述N个初始子集合。

在一些实施例中,所述将所述初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,包括:获取所述初始集合中所述初始分配参数的原始顺序;基于所述原始顺序,在所述初始集合中选取出目标初始分配参数;以及基于所述目标初始分配参数的位置,将所述初始集合中的所述初始分配参数分为两组,得到所述N个初始子集合,所述N为2。

在一些实施例中,所述将所述初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,包括:将所述初始集合中的所述初始分配参数随机分为两组,得到所述N个初始子集合,所述N为2。

在一些实施例中,所述将所述初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,并对所述N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合,包括:获取预设分组数量集合,所述预设分组数量集合包括M个分组数量,所述M为大于1的整数;以及基于所述预设分组数量集合,对所述初始集合中的初始分配参数进行动态随机分组,并对分组后的所述初始分配参数的初始子集合进行协同进化,以得到所述M个分组数量中每一分组数量对应的N个分配参数的目标子集合。

在一些实施例中,所述基于所述预设分组数量集合,对所述初始集合中的初始分配参数进行动态随机分组,并对分组后的所述初始分配参数的初始子集合进行协同进化,以得到所述M个分组数量中每一分组数量对应的N个分配参数的目标子集合,包括:在所述预设分组数量集合中选取出一个分组数量作为所述目标分组数量N,并基于所述目标分组数量N,将所述初始集合中的初始分配参数分为N组,得到所述N个初始子集合;以及对所述N个初始子集合进行协同进化,并返回执行所述在所述预设分组数量集合中选取出一个分组数量作为所述目标分组数量N的步骤,直至所述预设分组数量集合中的分组数量均被选取时为止,得到所述M个分组数量中每一分组数量对应的N个分配参数的目标子集合。

在一些实施例中,所述将所述N个目标子集合进行拼接,得到所述在线资源集合对应的目标分配参数集合,包括:将所述每一分组数量对应的N个分配参数的目标子集合进行拼接,以得到所述在线资源集合对应的全局分配参数集合;在所述每一分组数量对应的N个分配参数的目标子集合中选取出至少一个分配参数,得到候选分配参数;以及基于所述候选分配参数,对所述全局分配参数集合进行更新,得到所述目标分配参数集合。

在一些实施例中,所述对所述N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合,包括:获取所述在线资源集合对应的资源分配约束信息;以及对所述N个初始子集合中每一初始子集合:基于所述资源分配约束信息,将所述初始子集合中的初始分配参数作为父代进行进化,得到进化后的子代分配参数,并将所述子代分配参数与所述初始子集合进行融合,在融合后的候选分配参数集合中选取出预设数量的目标候选分配参数,得到父代分配参数集合,以及将所述父代分配参数集合作为所述初始子集合,并返回执行所述基于所述资源分配约束信息,将所述初始子集合中的初始分配参数作为父代进行进化的步骤,直至达到预设进化次数时为止,得到进化后的分配参数子集合。

在一些实施例中,所述在融合后的候选分配参数集合中选取出预设数量的目标候选分配参数,得到父代分配参数集合,包括:对融合后的候选分配参数集合中的候选分配参数进行非支配排序;确定所述候选分配参数集合中每一候选分配参数的拥挤度;以及基于所述非支配排序的排序结果和所述拥挤度,在所述候选分配参数集合中选取出预设数量的候选分配参数,得到父代分配参数集合。

在一些实施例中,所述资源分配约束信息包括所述在线资源集合对应的第一分配边界信息、所述每一初始子集合对应的第二分配边界信息、所述每一在线资源对应的第三分配边界信息、每一所述分配参数的第四分配边界信息和所述在线资源集合对应的期望响应值。

在一些实施例中,所述将所述N个目标子集合进行拼接,得到所述在线资源集合对应的目标分配参数集合,包括:在所述N个目标子集合中的每一目标子集合中选取出至少一个分配参数,得到当前分配参数集合;以及将所述当前分配参数集合中的分配参数进行拼接,得到所述在线资源对应的目标分配参数。

在一些实施例中,所述基于所述目标分配参数集合对所述每一在线资源进行分配,包括:在所述目标分配参数集合中选取出所述每一在线资源对应的目标分配参数;获取所述每一在线资源对应的预设分配流量,并基于所述目标分配参数和所述预设分配流量,确定所述每一在线资源对应的目标分配流量;以及基于所述目标分配流量,对所述每一在线资源进行分配。

第二方面,本说明书还提供一种在线资源分配系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行在线资源分配;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述在线资源分配系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的在线资源分配方法。

由以上技术方案可知,本说明书提供的在线资源分配方法和系统,在获取在线资源集合中每一在线资源对应的初始分配参数,得到初始分配参数的初始集合后,将初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,并对N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合,N为目标分组数量且为大于1的整数;以及将N个目标子集合进行拼接,得到在线资源集合对应的目标分配参数集合,并基于目标分配参数集合对所述每一在线资源进行分配;由于该方案可以将在线资源集合对应的初始集合分为N组,从而得到N个初始子集合,然后,将初始子集合作为染色体进行协同进化,大大减少了单条染色体的长度,进而提升了协同进化的搜索效率,因此,可以提升在线资源分配的分配效率。

本说明书提供的在线资源分配方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的在线资源分配方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。

附图说明

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

图1示出了根据本说明书的实施例提供的一种在线资源分配系统的应用场景示意图;

图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;

图3示出了根据本说明书的实施例提供的一种在线资源分配方法流程图;以及

图4示出了根据本说明书的实施例提供的一种在线广告分配场景下的基于分组策略的协同进化算法的整体流程示意图。

具体实施方式

以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。

这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。

考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。

本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。

为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:

在线广告分配:广告主会投放一些商品集,并要求所有商品的总曝光满足一定的约束;同时,广告主希望在给定总曝光的情况下,最大化营业指标(点击或购买)。对分配这些广告时,需要决策每个商品的曝光量,从而保证营业指标最大化。

决策变量:在优化问题中,决策变量指的是人为可以调控的变量。例如,在在线广告分配问题中,决策变量是:每个商品的曝光量,这里的曝光量可以为曝光比例,比如,在商品的个数为2000以上,每个商品的曝光比例可以是0-1之间的小数。

约束:在优化问题中,约束是规定决策变量必须满足的条件,例如,在在线广告分配问题中,约束就可以包括每个商品曝光的上下界、全部商品的总曝光的上下界,等等。

进化算法:借助“生物进化论”的优胜劣汰的思想,将问题的解编码为染色体,染色体上的每一位表示一个决策变量的值(0~1),通过定义好的“选择”,“交叉”和“变异”操作,对染色体进行迭代更新,最终得到最优解。所述“选择”、“交叉”和“变异”因不同进化算法而异。常见的进化算法包括离子群(PSO),快速非支配排序算法(NSGA2),遗传算法(GA)等。

协同进化:将每个决策变量当作0-1之间的小数,首先使用分组策略对决策变量进行分组,再根据不同的组进行协作和进化。

分组策略:将决策变量分为不同的组,从而可以提升进化算法的搜索效率。

NSGA2(一种进化算法):其思路在于在普通的进化算法中加入快速非支配排序(Fast Nondominated Sorting)和拥挤度(Crowding Distance)来评估每个染色体的优劣性,最终找到全局最优的解。

在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:

本说明书提供的在线资源分配方法可以应用在任意的资源分配场景中,比如,在在线广告分配场景中,可以通过本说明书的在线资源分配方法对广告集合中在线广告进行分配,在满足广告主设置的曝光量(曝光比例)约束下,提升广告主的营销指标或营销收益;在内容推荐场景中,可以通过本说明书的在线资源分配方法对在线内容进行推荐;还可以应用在用户推荐场景中,在此就不再一一赘述。

本领域技术人员应当明白,本说明书所述的在线资源分配方法和系统应用于其他使用场景也在本说明书的保护范围内。

图1示出了根据本说明书的实施例提供的一种在线资源分配系统001的应用场景示意图。在线资源分配系统001(以下简称系统001)可以应用于任意场景的在线资源分配,比如,在线广告分配场景下的在线资源分配、内容推荐场景下的在线资源分配、用户推荐场景下的在线资源分配,等等,如图1所示,系统001可以包括目标用户100、客户端200、服务器300以及网络400。

目标用户100可以为触发对在线资源集合中的在线资源进行分配的用户,目标用户100可以在客户端200进行在线资源分配的操作。

客户端200可以为响应于目标用户100的在线资源分配的操作对在线资源集合中的在线资源进行分配的设备。在一些实施例中,所述在线资源分配方法可以在客户端200上执行。此时,客户端200可以存储有执行本说明书描述的在线资源分配方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端200可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图1所示,客户端200可以与服务器300进行通信连接。在一些实施例中,服务器300可以与多个客户端200进行通信连接。在一些实施例中,客户端200可以通过网络400与服务器300交互,以接收或发送消息等。在一些实施例中,客户端200可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实手柄、增强现实头盔、增强现实眼镜、增强现实手柄或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、VR等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端200可以包括资源采集设备,用于采集至少一个在线资源,从而获取在线资源集合。在一些实施例中,所述资源采集设备可以为图像采集设备或者其他内容采集设备,所述图像采集设备可以为二维图像采集设备(比如RGB摄像头),也可以是二维图像采集设备(比如RGB摄像头)和深度图像采集设备(比如3D结构光摄像头、激光探测器,等等)。在一些实施例中,客户端200可以是具有定位技术的设备,用于定位客户端200的位置。

在一些实施例中,客户端200可以安装有一个或多个应用程序(APP)。所述APP能够为目标用户110提供通过网络400同外界交互的能力以及界面。所述APP包括但不限于:网页浏览器类APP程序、搜索类APP程序、聊天类APP程序、购物类APP程序、视频类APP程序、理财类APP程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端200上可以安装有目标APP。所述目标APP能够为客户端200采集或分配在线资源。在一些实施例中,所述目标对象100还可以通过所述目标APP触发在线资源分配请求。所述目标APP可以响应于所述在线资源分配请求,执行本说明书描述的在线资源分配方法。所述在线资源分配方法将在后面的内容中详细介绍。

服务器300可以是提供各种服务的服务器,例如对客户端200上采集或分配在线资源提供支持的后台服务器。在一些实施例中,所述在线资源分配方法可以在服务器300上执行。此时,服务器300可以存储有执行本说明书描述的在线资源分配方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器300可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。服务器300可以与多个客户端200通信连接,并接收客户端200发送的数据。

网络400用以在客户端200和服务器300之间提供通信连接的介质。网络400可以促进信息或数据的交换。如图1所示,客户端200和服务器300可以同网络400连接,并且通过网络400互相传输信息或数据。在一些实施例中,网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、大都市市区网(MAN)、广域网(WAN)、公用电话交换网(PSTN)、蓝牙

应该理解,图1中的客户端200、服务器300和网络400的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端200、服务器300和网络400。

需要说明的是,所述在线资源分配方法可以完全在客户端200上执行,也可以完全在服务器300上执行,还可以部分在客户端200上执行,部分在服务器300上执行。

图2示出了根据本说明书的实施例提供的一种计算设备600的硬件结构图。计算设备600可以执行本说明书描述的在线资源分配方法。所述在线资源分配方法在本说明书中的其他部分介绍。当所述在线资源分配方法在客户端200上执行时,计算设备600可以是客户端200。当所述在线资源分配方法在服务器300上执行时,计算设备600可以是服务器300。当所述在线资源分配方法可以部分在客户端200上执行,部分在服务器300上执行时,计算设备600可以是客户端200和服务器300。

如图2所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括I/O组件660。

内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。

I/O组件660支持计算设备600和其他组件之间的输入/输出。

通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同网络400之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。

存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(ROM)634或随机存取存储介质(RAM)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的在线资源分配方法的程序、例程、对象、组件、数据结构、过程、模块等等。

至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的在线资源分配方法。处理器620可以执行在线资源分配方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中心处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。

图3示出了根据本说明书的实施例提供的一种在线资源分配方法P100的流程图。如前,计算设备600可以执行本说明书的在线资源分配方法P100。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的在线资源分配方法P100。如图3所示,方法P100可以包括:

S110:获取在线资源集合中每一在线资源对应的初始分配参数,得到初始分配参数的初始集合。

其中,在线资源为互联网上进行传播的资源。在线资源可以包括物品资源、内容资源或用户资源中的至少一种。所述物品资源可以为线上与物品相关的资源信息,比如,可以包括该物品对应的物品广告、物品页面信息或物品属性信息,等等。所述内容资源可以为在线上进行传播的内容信息,比如,可以包括视频、音频或文本等资源。所述用户资源可以为用户在线上的信息,比如,可以包括用户标识、用户信息或者其他与用户相关的资源信息,等等。

其中,初始分配参数可以为在线资源在未开始分配时对应的原始分配参数。这里的分配参数可以理解为分配权重、分配流量占比或者其他用于资源分配的参数信息,等等。

其中,获取在线资源集合中每一在线资源对应的初始分配参数的方式可以有多种,具体可以如下:

例如,处理器620可以直接获取目标用户100通过客户端200或终端上传的在线资源集合中每一在线资源对应的初始分配参数,从而得到初始分配参数对应的初始集合,或者,可以获取在线资源集合,并基于在线资源集合中在线资源的数量,随机生成每一在线资源对应的初始分配参数,得到初始分配参数的初始集合,或者,获取在线资源集合,并基于在线资源集合中每一在线资源的资源属性信息,在预设分配参数集合中选取出每一在线资源对应的初始分配参数,得到初始分配参数对应的初始集合,等等。

S120:将初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,并对N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合。

其中,分配参数为对初始分配参数进行协同进化后得到的参数。N为目标分组数量且为大于1的整数。

其中,将初始集合中的初始分配参数分为N组,并对分组后的N个初始子集合进行协同进化的方式可以有多种,具体可以如下:

S121:将初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合。

例如,处理器620可以采用预设分组策略,将初始集合中的初始分配参数分为N组,从而得到N个初始分配参数的初始子集合。

其中,预设分组策略可以包括约束分组、差分分组、二分分组、随机分组或动态分组中的一种。所述约束分组可以理解为将存在同一约束的至少一个初始分配参数分组一组,从而得到N个初始分配参数的初始子集合。所述差分分组可以理解为将初始集合中存在相互作用的初始分配参数分为一组,从而得到N个初始分配参数的初始自己和。所述二分分组可以为按照初始集合中初始分配参数的原始顺序分为2组。所述随机分组可以为将初始集合中的初始分配参数随机分为N组,从而得到到N个初始分配参数的初始子集合。动态随机分组可以为在每一论协同进化的迭代中随机分成不同组,直至迭代停止。采用预设分组策略对初始集合中的初始分配参数进行分组的方式可以如下:

(1)约束分组

例如,处理器620可以获取在线资源集合的分配请求和每一在线资源的资源属性信息,基于分配请求和资源属性信息,确定每一在线资源的分组约束信息,基于分组约束信息,将初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合。

其中,分组约束信息可以为在线资源中用于进行分组约束的信息,比如,可以包括在线资源的资源来源、资源类型或者资源大小,等等。譬如,以在线资源为商品广告时,分组约束信息就可以包括商品广告中商品的类型、推广部门、上线时间、对接的业务部门、所属的业务场景的信息,等等。基于分配请求和资源属性信息,确定每一在线资源的分组约束信息的方式可以有多种,比如,处理器620可以在分配请求中提取出预设分组约束信息,并在资源属性信息中识别出的分组属性信息,将预设分组约束信息和分组属性信息进行融合,得到对应的在线资源的资源属性信息,或者,还可以在分配请求和资源属性信息中提取出分组约束特征,并基于分组约束特征,确定每一在线资源的分组约束信息,等等。

其中,分组属性信息可以为用于进行分组的属性信息。比如,可以包括类别、时间、大小、场景或对应的适应人群,等等。

处理器620在确定出每一在线资源的分组约束信息之后,便可以基于分组约束信息,将初始集合中的初始分配参数分为N组。分组的方式可以有多种,比如,处理器620可以基于分组约束信息,确定每一在线资源对应的目标分组约束条件,以及基于目标分组约束条件,将初始集合中的初始分配参数分为N组,从而得到N个初始子集合。

其中,目标分组约束条件可以为用于对在线资源进行分组约束的条件,比如,可以为属于同一个资源类别、属于同一个业务场景或属于同一个业务对象,等等。譬如,以在线资源为商品广告为例,目标分组约束条件就可以为属于同一个商品类别、属于同一个生产厂家/代理商、属于同一推广部门,等等。基于分组约束信息,确定每一在线资源对应的目标分组约束条件的方式可以有多种,比如,处理器620可以获取在线资源集合对应的预设分组约束条件集合,在分组约束信息中提取出至少一个约束元素,以及在预设分组约束条件集合中选取出至少一个约束元素对应的分组元素条件,得到目标分组约束条件。

其中,至少一个约束元素可以包括业务场景、业务对象、资源属性或分配对象中的至少一种。所述业务场景就可以为在线资源属于的业务对应的场景。所述业务对象可以为触发对该在线资源进行分配的对象(用户),等等。所述资源属性就可以为在线资源中特定或预设的一个或多个属性。所述分配对象可以为在线资源对应分配的候选对象或对象集群。以约束元素为商品广告的商品名称为例,在预设分组约束条件集合中选取出该约束元素对应的分组约束条件的方式可以包括:基于该商品名称,确定商品广告对应的商品类别,在预设分组约束条件集合中选取出包含商品类别的分组约束条件作为目标分组约束条件,此时,目标分组约束条件就可以为约束属于该商品类别的商品广告分为一组。

处理器620在确定出每一在线资源对应的目标分组约束条件之后,便可以基于目标分组约束条件,将初始集合中的初始分配参数分为N组,从而得到N个初始子集合。将初始集合的初始分配参数分为N组的方式可以有多种,比如,处理器620可以在初始集合中选取出同一所述目标分组约束条件下的至少一个目标初始分配参数,以及将至少一个目标初始分配参数作为一个初始子集合,以得到N个初始子集合。譬如,以初始分配参数包括{x1,x2,x3,x4,x5,x6},{x1,x3}in S1(属于目标约束条件S1),{x2,x5,x6}in S2(属于目标约束条件S2),{x4}in S3(属于目标约束条件S2),此时,目标分组数量N就可以为3,就可以将{x1,x3}分为1组,{x2,x5,x6}分为1组,{x4}为1组。

其中,约束分组就可以理解将同属于一个约束下的至少一个初始分配参数分为一组,从而得到N个初始子集合。约束分组中的约束即可以为在线资源对应的约束,也可以为在线资源的初始分配参数对应的约束,也就是说,可以通过在线资源对对应的初始分配参数进行约束分组,也可以通过初始分配参数对应的约束,对初始分配参数进行约束分组。在约束分组中,约束条件可以为一个约束场景下的不同约束条件,比如,以在线资源为商品广告,约束场景为商品广告对应的业务部门为例,则约束条件就可以为业务部门这个场景下属于不同的业务部门。约束条件还可以为不同约束场景下的不同约束条件,这种情况的前提是一个在线资源不能同时属于不同约束场景。另外,约束分组也可以采用聚类的形式,得到同属于一个约束下的初始分配参数。

(2)差分分组

例如,处理器620可以在初始集合中识别出初始分配参数之间的关联关系,基于关联关系,将初始集合中的初始分配参数分为N组,得到N个初始子集合。

其中,关联关系表征初始分配参数之间是否存在相互作用。关联关系可以包括存在相关作用关系或不存在相互作用关系中的一种。在初始集合中识别出初始分配参数之间的关联关系的方式可以有多种,比如,处理器620可以在初始集合中选取出两个初始分配参数,得到初始分配参数对,并确定初始分配参数对中初始分配参数之间的目标关联关系;以及返回执行在初始集合中选取出两个初始分配参数的步骤,直至初始集合中的初始分配参数均被选取时为止,得到初始集合中的初始分配参数之间的关联关系。

其中,初始分配参数对可以包括第一分配参数和第二初始分配参数。两个初始分配参数的参数值可以相同,也可以不同。确定初始分配参数对中的初始分配参数之间的目标关联关系的方式可以有多种,比如,处理器620可以获取预设分配参数值集合,该预设分配参数值集合包括第一分配参数子集合和第二分配参数子集合,基于第一分配参数值子集合和第二分配参数值子集合,确定第一初始分配与第二分配参数之间的目标差异值,以及基于目标响应差值,确定目标关联关系。

其中,第一分配参数值子集合与第二分配参数值子集合中的第一初始分配参数的值相同且第二分配参数的子不同。比如,以第一分配参数值子集合包括第一初始分配参数的值a1和a2、以及第二初始分配参数的值b1为例,则第二分配参数值子集合中的第一初始分配参数的值就可以为a1和a2,第二初始分配参数的值就可以为b2,此时,b1与b2不同。

其中,目标差异值为在第二初始分配参数的不同值下的分配响应增量之间的差值。所述分配响应增量为在第一初始分配参数的不同值下进行分配响应的增量。所述分配响应就可以为进行分配后的响应。第一初始分配参数值子集合包括第一初始分配参数的至少两个候选值。基于第一初始分配参数值子集合和第二初始分配参数值子集合,确定第一初始分配参数与第二初始分配参数之间的目标差异值的方式可以有多种,比如,处理器620可以获取第一分配参数值子集合对应的分配响应增量,得到第一分配响应增量,获取第二分配参数值子集合对应的分配响应增量,得到第二分配响应增量,以及确定第一分配响应增量与第二分配响应增量之间的差值,得到目标差异值。

其中,第一分配参数值子集合还可以包括第二初始分配参数的目标值。获取第一分配参数值子集合对应的分配响应增量的方式可以有多种,比如,处理器620可以基于目标值,确定至少两个候选值中每一候选值对应的分配响应值,以及获取分配响应值之间的差值,以得到第一分配响应增量。以目标值为b1,第一分配参数值子集合中还包括第一初始分配参数的两个候选值a1和a2为例,获取第一分配参数值子集合对应的第一分配响应增量的方式可以如公式(1)所示:

其中,

其中,处理器620获取第二分配参数值子集合对应的分配响应增量的方式与获取第一分配参数值子集合对应的分配响应增量的方式相同,在此就不再一一赘述,具体可以参见公式(2)所示:

其中,

处理器620在获取第一分配响应增量和第二分配响应增量之后,便可以确定第一分配响应增量与第二分配响应增量之间的差值,从而得到第一初始分配参数与第二初始分配参数之间的目标差异值。

处理器620在确定出第一初始分配参数与第二初始分配参数之间的目标差异值之后,便可以基于目标差异值,确定目标关联关系。所述目标关联关系可以包括存在相互作用关系或不存在相互作用关系中的一种。确定目标关联关系的方式可以有多种,比如,处理器620在目标差异值小于预设差异阈值时,确定目标关联关系为不存在相互作用关系,或者,在目标差值大于预设差异阈值时,确定目标关联关系为存在相关作用关系。因此,不存在相互作用关系对应于目标差异值小于预设差异阈值,存在相互作用关系对应与目标差异值大于所述预设差异阈值。

处理器620在确定出初始分配参数对中的初始分配参数之间的目标关联关系之后,便可以返回执行在所述初始集合中选取出两个初始分配参数的步骤,继续确定每一初始分配参数对中初始分配参数之间的目标关联关系,直至初始集合中初始分配参数均被选取时为止,从而得到初始集合中的每一初始分配参数之间的关联关系。

处理器620在确定出初始集合中每一初始分配参数之间的关联关系之后,便可以基于关联关系,将初始集合中的初始分配参数分为N组,得到N个初始子集合。将初始集合中的初始分配参数分为N组的方式可以有多种,比如,处理器620可以基于关联关系,在初始集合中将存在相互作用关系的至少一个初始分配参数分为一组,并将不存在相互作用关系的至少一个初始分配参数单独分组,以得到N个初始子集合。譬如,以初始集合中包括x1、x2、x3、x4和x5,x1与x2存在相互作用关系,x4与x5存在相互作用关系,x3与其他初始分配参数不存在相互作用关系为例,则可以将x1与x2分为1组,将x4与x5分为1组,将x3分为1组,从而就可以得到三个初始子集合,N为3。

(3)二分分组

例如,处理器620可以获取初始集合中初始分配参数的原始顺序,基于原始顺序,在初始集合中选取出目标初始分配参数,以及基于目标初始分配参数的位置,将初始集合中的初始分配参数分为两组,得到N个初始子集合,N为2。

其中,目标初始分配参数为将初始集合进行分割的位置对应的初始分配参数。基于原始顺序,在初始集合中选取出目标初始分配参数的方式可以有多种,比如,处理器620在初始集合中的初始分配参数的数量为奇数时,基于原始顺序,在初始集合中选取出中间位置对应的一个初始分配参数作为目标初始分配参数,譬如,以初始分配参数的数量为5个为例,目标初始分配参数就可以为第三个初始分配参数;或者,在初始集合中的初始分配参数的数量为偶数且大于2时,基于原始顺序,在初始集合中选取出中间位置对应的两个初始分配参数作为目标初始分配参数,譬如,以初始分配参数的数量为6个为例,目标初始分配参数就可以为第三个初始分配参数和第四个初始分配参数。

处理器620在选取出目标初始分配参数之后,便可以基于目标初始分配参数的位置,将初始集合中的初始分配参数分为两组,得到N个初始子集合,N为2。基于目标初始分配参数的位置,将初始集合中的初始分配参数分为两组的方式可以有多种,比如,以初始集合中包括初始分配参数x1、x2、x3、x4和x5为例,目标初始分配参数就可以为x3,此时,就可以将初始集合分为{x1,x2,x3}和{x4,x5}两组,或者,分为{x1,x2}和{x3,x4,x5}两组,此时N为2;以初始集合中包括x1、x2、x3和x4为例,目标初始分配参数就可以为x2和x3,此时,就可以将初始集合分为{x1,x2}和{x3,x4}两组,此时,N为2。

(4)随机分组

例如,处理器620可以将初始集合中的初始分配参数随机分为两组,得到N个初始子集合,N为2,或者,还可以将初始集合中的初始分配参数随机分为N组,得到N个初始子集合,N为大于2的整数,等等。

其中,以N为2,初始集合中包括初始分配参数x1、x2、x3、x4和x5为例,处理器620就可以随机将初始集合分为{x1,x2}和{x3,x4,x5}两组,或者,分为{x1,x3}和{x2,x4,x5},或者,分为{x1,x5}和{x2,x3,x4},等等。

S122:对N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合。

其中,对初始子集合进行协同进化的方式可以有多种,具体可以如下:

例如,处理器620可以采用离子群算法(PSO)、遗传算法(GA)或者快速非支配排序算法(NSGA-II)对N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合。

其中,以采用NSGA-II为例,处理器620对初始子集合进行协同进化的方式可以有多种,比如,处理器620可以获取在线资源集合对应的资源分配约束信息,以及对N个初始子集合中每一初始子集合:基于资源分配约束信息,将初始子集合中初始分配参数作为父代进行进化,得到进化后的子代分配参数,并将子代分配参数与初始子集合进行融合,在融合后的候选分配参数集合中选取出预设数量的目标候选分配参数,得到父代分配参数集合,以及将父代分配参数集合作为初始子集合,并返回执行基于资源分配约束信息,将初始子集合中的初始分配参数作为父代进行进化的步骤,直至达到预设进化次数时为止,得到进化后的分配参数子集合。

其中,资源分配约束信息可以为对在线资源进行分配时的约束信息。所述资源分配约束信息可以包括在线资源集合对应的第一分配边界信息、每一初始子集合对应的第二分配边界信息、每一在线资源对应的第三分配边界信息、每一分配参数的第四分配边界信息和在线资源集合对应的期望响应值。以在线资源为商品广告为例,第一分配边界信息就可以为商品广告集的整体总流量上线ASG;第二分配边界信息就可以为每一组的商品广告的流量上限PVc;第三分配边界信息就可以为每一在线资源对应的流量上限PV

其中,f(x)为分配响应值,x

处理器620在获取资源分配约束信息之后,便可以将初始子集合中的初始分配参数作为父代进行进化,进化的方式可以包括“选择”、“交叉”和/或“变异”等形式,从而得到进化后的子代分配参数。将子代分配参数与初始子集合进行融合,从而得到融合后的候选分配参数集合。

处理器620在将子代分配参数与初始子集合进行融合后,便可以在融合后的候选分配参数集合中选取出预设数量的目标候选分配参数,从而得到父代分配参数集合。在融合后的候选分配参数集合中选取出预设数量的目标候选分配参数的方式可以有多种,比如,处理器620可以对融合后的候选分配参数集合中的候选分配参数进行非支配排序,确定候选分配参数集合中每一候选分配参数的拥挤度,以及基于非支配排序的排序结果和拥挤度,在候选分配参数集合中选取出预设数量的候选分配参数,从而得到父代分配参数集合。

其中,非支配排序、拥挤度以及选取出目标候选分配参数的精英策略可以参考NSGA-II中的具体定义,在此就不再一一赘述。

处理器620在得到父代分配参数集合之后,便可以将父代分配参数集合作为初始子集合,并返回执行基于资源分配约束信息,将初始子集合中的初始分配参数作为父代进行进化的步骤,直至达到预设进化次数时为止,得到进化后的分配参数子集合。

其中,预设进化次数可以为预先设定的每一轮协同进化的迭代次数,比如,可以为10次,或者其他任意次数。另外,迭代停止的条件还可以为进化后的分配参数收敛。所述分配参数收敛就可以为多次进化后分配参数相同或者在预设参数范围内。

在一些实施例中,分配策略还可以包括动态随机分组,采用动态随机分组将初始集合中的初始分配参数分为N组,得到N个初始分配参数的子集合,并对N个初始子集合进行协同进化的方式可以有多种,比如,处理器620可以获取预设分组数量集合,所述预设分组数量集合包括M个分组数量,所述M为大于1的整数,以及基于预设分组数量集合,对初始集合中的初始分配参数进行动态随机分组,并对分组后的初始分配参数的初始子集合进行协同进化,以得到M个分组数量中每一分组数量对应的N个分配参数的目标子集合。

其中,预设分组数量集合为预先设定的用于随机分组的分组数量集合,该预设分组数量集合可以包括M个分组数量。基于预设分组数量集合,对初始集合中的初始分配参数进行动态随机分组,并对分组后的初始分配参数的初始子集合进行协同进化,以得到M个分组数量中每一分组数量对应的N个分配参数的目标子集合的方式可以有多种,比如,处理器620可以在预设分组数量集合中选取出一个分组数量作为目标分组数量N,并基于目标分组数量N,将初始集合中的初始分配参数分为N组,得到N个初始子集合,以及对N个初始子集合进行协同进化,并返回执行在预设分组数量集合中选取出一个分组数量作为目标分组数量N的步骤,直至预设分组数量集合中的分组数量均被选取时为止,得到M个分组数量中每一分组数量对应的N个分配参数的目标子集合。譬如,以初始集合中的初始分配参数包括{x1,x2,x3,x4,x5,x6},预设分组数量集合中包括分组数量{2,3}为例,假设在第一轮协同进化的迭代中,随机选取的目标分组数量N为2,则可以将初始集合中的初始分配参数随机分为2组,{x1,x2,x3}和{x4,x5,x6},然后,将这两个目标子集合进行协同进化,然后,在第二轮协同进化的迭代中,随机选取的目标分组数量N就可以为3,则可以将初始集合中的初始分配参数随机分为3组,{x1,x2}、{x3,x4}和{x5,x6},然后,对这三个目标子集合进行协同进化,依次循环,直至迭代停止时为止,从而就可以得到M个分组数量中每一分组数量对应的N个分配参数的目标子集合。

S130:将N个目标子集合进行拼接,得到在线资源集合对应的目标分配参数集合,并基于目标分配参数集合对每一在线资源进行分配。

其中,将N个目标子集合进行拼接的方式可以有多种,具体可以如下:

例如,处理器620可以在N个目标子集合中的每一目标子集合中选取出至少一个分配参数,得到当前分配参数集合,将当前分配参数集合中的分配参数进行拼接,得到在线资源对应的目标分配参数。

其中,选取出至少一个分配参数的方式可以有多种,比如,处理器620可以在每一目标子集合中选取出至少一个最优的分配参数,从而可以得到当前分配参数集合。

在一些实施例中,采用动态随机分组策略进行分组和协同进化后,会得到M个分组数量中每一分组数量对应的N个分配参数的目标子集合。针对这一类的N个目标子集合进行拼接的方式可以包括:处理器620可以将每一分组数量对应的N个分配参数的目标子集合进行拼接,以得到在线资源集合对应的全局分配参数集合,在每一分组数量对应的N个分配参数的目标子集合中选取出至少一个分配参数,得到候选分配参数,以及基于候选分配参数,对全局分配参数集合进行更新,得到目标分配参数集合。

其中,全局分配参数集合就可以相对于针对在线资源分配问题中的全局最优解。将每一分组数量对应的N个分配参数的目标子集合进行拼接的方式可以有多种,比如,处理器620可以将每一分组数量对应的N个目标子集合进行拼接,从而得到M个候选全局分配参数集合,并在M个候选全局分配参数集合中选取出一个最优的候选分配参数集合作为全局分配参数集合,或者,可以在N个目标子集合中选取出至少一个最优的目标子集合,并将这些最优的目标子集合进行拼接,从而得到全局分配参数集合,等等。

其中,候选分配参数可以为每一分组数量对应的N个目标子集合中最优的至少一个分配参数。基于候选分配参数,对全局分配参数集合进行更新的方式可以有多种,比如,处理器620可以将候选分配参数与全局分配参数集合中对应位置的分配参数进行对比,在候选分配参数优于全局分配参数集合中对应位置的分配参数时,就可以将对应位置的分配参数替换为候选分配参数,否则就跳过该位置对应的分配参数的更新,从而得到目标分配参数集合。

处理器620在得到在线资源集合对应的目标分配参数集合之后,便可以基于目标分配参数集合对每一在线资源进行分配。对每一在线资源进行分配的方式可以有多种,比如,处理器620可以在目标分配参数集合中选取出每一在线资源对应的目标分配参数,获取每一在线资源对应的预设分配流量,并基于目标分配参数和预设分配流量,确定每一在线资源对应的目标分配流量,以及基于目标分配流量,对每一在线资源进行分配。

其中,预设分配流量可以为预先设置的对该在线资源进行分配的流量上限,也可以为资源分配约束信息中的第三分配边界信息。基于目标分配参数和预设分配流量,确定每一在线资源对应的目标分配流量的方式可以有多种,比如,目标分配参数可以看作是一个流量分配权重,处理器620可以将目标分配参数与预设分配流量相乘,从而得到每一在线资源对应的目标分配流量。

处理器620在确定出目标分配流量之后,便可以基于目标分配流量,对每一在线资源进行分配。对每一在线资源进行分配的方式可以有多种,比如,处理器620可以直接基于目标分配流量,对对应的在线资源进行曝光,或者,基于目标分配流量,确定对应的在线资源的曝光时长,基于该曝光时长,对对应的在线资源进行曝光,或者,还可以将每一在线资源的目标分配流量发送至分发平台(CDN),以便CDN基于该目标分配流量,对每一在线资源进行分配或曝光,等等。

其中,以在线资源为商品广告为例,本方案的应用场景就可以为在线广告分配场景,在在线广告分配场景下,通过基于分组策略的协同进化算法对在线广告进行分配,整体的分配流程可以如图4所示,将D个在线资源对应的D个初始分配参数(决策变量)作为D维的染色体,然后,将D维染色体分割成N组等长的染色体,每个子染色体部分(sub-component1,sub-component 2,...,sub-component n),形成N个种群,每个种群单独进化(包括“交叉”,“选择”,“变异”)。每个子种群迭代进化时可以采用NSGA-II算法进行协同进化。最后,将每个子种群中最优的染色体拼接成一个长度为D的染色体构成最优解,这里的最优解就可以为每个商品广告对应的流量分配权重(目标分配参数)。基于该流量分配权重,对对应的商品广告进行曝光,或者,将该流量分配权重发送至广告分发平台进行分发或曝光,从而使得广告主获得最大的营业指标或收益。

其中,分组策略可以包括约束分组、差分分组、二分分组、随机分组和动态随机分组,等等。采用这些分组策略将染色体分割成N组染色体的方式与将初始集合中的初始分配参数分成N组的方式类似,具体可以参见上文所述,在此就不再一一赘述。

其中,本方案还可以应用在其他场景下,比如,可以应用在视频、音频或文本等内容的分配或者社交网络中的用户分配等,分配过程可以与商品广告的分配过程类似,具体可以参见上文所述,在此就不再一一赘述。

其中,本方案中采用分组策略的协同进化算法可以处理更细粒度、更加复杂的目标函数f(x),另外,相较于传统进化算法来说,利用各种分组策略将染色体进行分组,并行分离的进行进化,可以提高进化算法的搜索效率,等等。

综上所述,本说明书提供的在线资源分配方法P100和系统001,在获取在线资源集合中每一在线资源对应的初始分配参数,得到初始分配参数的初始集合后,将初始集合中的初始分配参数分为N组,得到N个初始分配参数的初始子集合,并对N个初始子集合进行协同进化,得到N个协同进化后的分配参数的目标子集合,N为目标分组数量且为大于1的整数;以及将N个目标子集合进行拼接,得到在线资源集合对应的目标分配参数集合,并基于目标分配参数集合对所述每一在线资源进行分配;由于该方案可以将在线资源集合对应的初始集合分为N组,从而得到N个初始子集合,然后,将初始子集合作为染色体进行协同进化,大大减少了单条染色体的长度,进而提升了协同进化的搜索效率,因此,可以提升在线资源分配的分配效率。

本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行在线资源分配的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的在线资源分配方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的在线资源分配方法P100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。

上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。

综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。

此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。

应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。

本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。

最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。

相关技术
  • 烟包税票在线检测系统及方法以及包含该在线检测系统的税票烟包输送系统
  • 面向混合任务的在线中继卫星系统通信资源分配方法
  • 应用于在线办公的网络资源分配方法、系统及网络设备
技术分类

06120115919702