真实网络环境中缓存分配模型的获取方法、装置及系统与流程

文档序号:24160561发布日期:2021-03-05 16:15阅读:66来源:国知局
真实网络环境中缓存分配模型的获取方法、装置及系统与流程

[0001]
本发明涉及网络缓存分配技术领域,特别是涉及一种真实网络环境中强化学习缓存分配模型的获取方法、装置及系统。


背景技术:

[0002]
交换机中共享缓存的分配用于优化数据在网络中的传输效率。共享缓存分配的目标是动态分配交换机中的共享缓存,最大化的利用共享缓存暂存超过交换机端口传输能力的数据,从而降低通过交换机传输的数据的重传,减少数据传输的完成时间,提高数据在网络中的传输效率。
[0003]
相关技术中,可以基于深度强化学习进行共享缓存分配。具体的,可以在模拟器,例如ns-3(一种离散事件模拟器)中模拟得到统计信息。统计信息用于表明交换机进行的数据传输情况,例如,交换机传输的数据大小以及丢包率等信息。将得到的统计信息用于训练强化学习模型,进而将训练完成的强化学习模型作为缓存分配模型,加载在交换机上。由此,交换机可以将该交换机当前的统计信息输入深度缓存分配模型,获得共享缓存的缓存阈值,并利用该缓存阈值进行共享缓存的分配。
[0004]
但是,由于模拟器通常无法真正反映真实网络情况,因此,利用模拟器获取缓存分配模型很可能不够准确。并且,在利用模拟器训练时,为了保证统一和准确性,模拟器通常串行执行步骤,例如,在模拟数据发送时,仅进行数据发送的步骤,无法进行其他步骤,导致训练过程容易出现长久等待上一个步骤执行完成的停等情况,训练效率较低。


技术实现要素:

[0005]
本发明实施例的目的在于提供一种真实网络环境中强化学习缓存分配模型的获取方法、装置及系统,以实现提高利用训练数据获取的缓存分配模型的准确度,以及缓存分类模型的获取效率的效果。具体技术方案如下:
[0006]
第一方面,本发明实施例提供一种真实网络环境中缓存分配模型的获取方法,该方法包括:
[0007]
在交换机中加载可加载的强化学习模型;所述交换机用于实现服务端和客户端之间的数据传输;
[0008]
当所述数据传输触发预设分配条件时,利用所述可加载的强化学习模型获取所述交换机的缓存阈值,进行缓存分配;
[0009]
存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到所述本次触发产生的训练数据;其中,所述历史触发所利用的强化学习模型对应的奖励值,为基于所述历史触发至所述本次触发之间的时间间隔内,进行所述数据传输产生的丢包率和吞吐量获得的数值;
[0010]
利用所述本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型;
[0011]
如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行所述在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0012]
第二方面,本发明实施例提供一种真实网络环境中缓存分配模型的获取装置,所述装置包括:
[0013]
模型加载模块,用于在交换机中加载可加载的强化学习模型;所述交换机用于实现服务端和客户端之间的数据传输;
[0014]
缓存分配模块,用于当所述数据传输触发预设分配条件时,利用所述可加载的强化学习模型获取所述交换机的缓存阈值,进行缓存分配;
[0015]
数据获取模块,用于存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到所述本次触发产生的训练数据;其中,所述历史触发所利用的强化学习模型对应的奖励值,为基于所述历史触发至所述本次触发之间的时间间隔内,进行所述数据传输产生的丢包率和吞吐量获得的数值;
[0016]
模型获取模块,用于利用所述本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型;如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行所述在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0017]
第三方面,本发明实施例提供一种真实网络环境中缓存分配模型的获取系统,所述系统包括:交换机,服务端,客户端以及模型获取代理;
[0018]
所述交换机,用于实现所述服务端和所述客户端之间的数据传输;
[0019]
所述模型获取代理,用于在所述交换机中加载可加载的强化学习模型;当所述数据传输触发预设分配条件时,利用所述可加载的强化学习模型获取所述交换机的缓存阈值,进行缓存分配;存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到所述本次触发产生的训练数据;其中,所述历史触发所利用的强化学习模型对应的奖励值,为基于所述历史触发至所述本次触发之间的时间间隔内,进行所述数据传输产生的丢包率和吞吐量获得的数值;利用所述本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型;如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行所述在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0020]
本发明实施例有益效果:
[0021]
本发明实施例提供的方案中,用于获取缓存分配模型的训练数据,是基于交换机进行服务端和客户端之间的数据传输获得的,交换机、服务端和客户端之间的数据传输,相当于真实网络环境。因此,与传统的在模拟器中获取训练数据相比,获得的训练数据能够更加准确地反映真实网络情况,从而提高利用训练数据获取的缓存分配模型的准确度。并且,在加载可加载的强化学习模型进行缓存分配,并获得训练数据时,可以同步利用已存储的训练数据进行强化学习模型的训练,相当于异步执行训练数据的获取和模型的训练,对训
练数据的获取和模型的训练进行解耦,模型的训练无需等待每次训练数据获取结束再进行。因此,与传统的在模拟器中获取训练数据相比,可以减少训练过程中的停等情况,提高缓存分配模型的获取效率。
[0022]
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
[0023]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0024]
图1为本发明一实施例提供的真实网络环境中缓存分配模型的获取方法的流程示意图;
[0025]
图2为本发明一实施例提供的真实网络环境中缓存分配模型的获取方法的一种应用场景示例图;
[0026]
图3为本发明一实施例提供的真实网络环境中缓存分配模型的获取系统的结构示意图;
[0027]
图4为本发明一实施例提供的真实网络环境中缓存分配模型的获取系统的结构示例图;
[0028]
图5为本发明一实施例提供的真实网络环境中缓存分配模型的获取装置的结构示意图;
[0029]
图6为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
[0030]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]
如图1所示,本发明一实施例提供的真实网络环境中缓存分配模型的获取方法的流程,该方法可以包括如下步骤:
[0032]
s101,在交换机中加载可加载的强化学习模型。
[0033]
其中,交换机用于实现服务端和客户端之间的数据传输。
[0034]
在具体应用中,可加载的强化学习模型为用于进行缓存分配的强化学习模型。在初次加载时,可加载的强化学习模型为未进行训练的强化学习模型,在非初次加载时,可加载的强化学习模型为经过训练的强化学习模型。并且,对可加载的强化学习模型的加载时机可以是多种的。示例性的,可以是交换机完成一次数据传输,经过预设时长,或者,对待训练的强化学习模型的训练次数等于次数阈值等等。
[0035]
s102,当数据传输触发预设分配条件时,利用可加载的强化学习模型获取交换机的缓存阈值,进行缓存分配。
[0036]
在一种可选的实施方式中,上述预设分配条件,具体可以包括:
[0037]
在数据传输中,交换机的任一端口接收的数据量与该端口发送的数据量之间的差异值,大于差异阈值,或者,交换机的任一端口丢失的数据量大于预设丢失阈值。
[0038]
在具体应用中,当交换机进行的数据传输为数据包时,交换机的任一端口接收的数据量相当于该端口的进包数量,该端口发送的数据量相当于该端口的出包数量,交换机的任一端口丢失的数据量相当于该端口丢包的数量。当数据传输触发预设分配时,表明交换机接收的数据量大于交换机发送的数据量,因此,需要对接收的数据进行缓存,也就需要进行缓存分配。
[0039]
并且,利用可加载的强化学习模型获取交换机的缓存阈值,进行缓存分配,具体可以包括:获取本次触发时交换机进行的数据传输的统计信息;将所获取的统计信息输入可加载的强化学习模型,得到交换机的缓存阈值;利用缓存阈值控制交换机每个端口的最大可使用缓存,实现缓存分配。其中,统计信息用于表明交换机进行的数据传输情况,例如,交换机传输数据的数据大小以及丢包率等信息。
[0040]
s103,存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到本次触发产生的训练数据。
[0041]
其中,历史触发所利用的强化学习模型对应的奖励值,为基于历史触发至本次触发之间的时间间隔内,进行数据传输所产生的丢包率和吞吐量获得的数值。
[0042]
在具体应用中,历史触发可以是多种的。示例性的,历史触发可以是本次触发的前n次触发,n可以为大于等于1的整数。例如,历史触发可以是本次触发的前一次触发,或者,本次触发的前七次触发等等。凡是本次触发之前的触发,均可作为历史触发,本实施例对此不作限制。另外,为了便于理解和合理布局,对于获取奖励值的具体方式,后续以可选实施例的形式进行具体说明。
[0043]
s104,利用本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型。
[0044]
其中,待训练的强化学习模型可以是多种的。示例性的,待训练的强化学习模型可以是未训练的强化学习模型,例如,初次加载的强化学习模型。或者,示例性的,待训练的强化学习模型可以是训练次数达到指定次数的强化学习模型等等。由于训练次数越多,强化学习模型的准确度不一定越高,因此,可以训练得到多个经过不同训练次数的强化学习模型。为此,待训练的强化学习模型可以是经过不同次数训练的不同模型,例如,待训练的强化学习模型可以是训练了10次的强化学习模型,或者,训练了20次的强化学习模型等等。
[0045]
另外,为了便于理解和合理布局,对于利用本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型的具体方式,后续以可选实施例的形式进行具体说明。
[0046]
s105,如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0047]
其中,预设数量条件可以是多种的。示例性的,预设数量条件可以包括:强化学习模型的个数大于个数阈值,或者强化学习模型的个数等于个数阈值。预设数量条件用于保证所保存的可加载的强化学习模型的数量为多个,以得到多个经过不同训练次数的可加载
的强化学习模型,利于提高从多个所保存的可加载的强化学习模型中选择的缓存分配模型的准确度。因此,如果所保存的可加载的强化学习模型的个数不满足预设数量条件时,为了保存更多的可加载的强化学习模型,可以返回执行在交换机中加载可加载的强化学习模型。另外,为了便于理解和合理布局,对于缓存分配模型的具体选择方式,后续以可选实施例的形式进行具体说明。
[0048]
本发明实施例提供的方案中,用于获取缓存分配模型的训练数据,是基于交换机进行服务端和客户端之间的数据传输获得的,交换机、服务端和客户端之间的数据传输,相当于真实网络环境。因此,与传统的在模拟器中获取训练数据相比,获得的训练数据能够更加准确地反映真实网络情况,从而提高利用训练数据获取的缓存分配模型的准确度。并且,在加载可加载的强化学习模型进行缓存分配,并获得训练数据时,可以同步利用已存储的训练数据进行强化学习模型的训练,相当于异步执行训练数据的获取和模型的训练,对训练数据的获取和模型的训练进行解耦,模型的训练无需等待每次训练数据获取结束再进行。因此,与传统的在模拟器中获取训练数据相比,可以减少训练过程中的停等情况,提高缓存分配模型的获取效率。
[0049]
在一种可选的实施方式中,上述存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发利用的强化学习模型对应的奖励值,得到本次触发产生的训练数据,具体可以包括如下步骤:
[0050]
收集数据传输触发预设分配条件时,交换机的所有端口产生的统计信息;
[0051]
获取本次触发对应的缓存分配所利用的缓存阈值,以及历史触发所利用的奖励值;
[0052]
组装并存储所收集的统计信息,所获取的缓存阈值以及所获取的奖励值,得到本次触发产生的训练数据。
[0053]
在具体应用中,交换机的所有端口产生的统计信息用于反映交换机进行的数据传输情况,例如,交换机传输的数据大小以及丢包率等信息。因此,换机的所有端口产生的统计信息相当于交换机的内部状态信息,可以作为本次触发所利用的强化模型模型的状态。并且,本次触发对应的缓存分配所利用的缓存阈值,为本次触发所利用的强化学习模型的输出,可以作为本次触发所利用的强化学习模型的决策。并且,奖励值用于反映强化学习模型的决策效果,可以体现强化学习模型的性能。因此,历史触发所利用的强化学习模型对应的奖励值,可以为基于历史触发至本次触发之间的时间间隔内,进行数据传输所产生的丢包率和吞吐量获得的数值,相应的,本次触发所利用的强化学习模型对应的奖励,可以在下一次触发时获取。
[0054]
由此,上述所收集的统计信息,所获取的缓存阈值以及所获取的奖励值可以分别反映强化学习模型的状态、决策以及性能,因此,可以组装得到本次触发产生的训练数据。并且,组装并存储所收集的统计信息,所获取的缓存阈值以及所获取的奖励值,得到本次触发产生的训练数据的具体方式,可以是多种的。示例性的,可以将所收集的统计信息,所获取的缓存阈值以及所获取的奖励值拼接为一条数据,该一条数据为本次触发产生的训练数据;或者,可以将所收集的统计信息,所获取的缓存阈值以及所获取的奖励值构建为一个数组,该数组为本次触发产生的训练数据。
[0055]
另外,训练数据可以保存在数据库,以方便后续训练时的获取,以及提高缓存分配
的效率。示例性的,数据库具体可以为redis(remote dictionary server,远程字典服务)数据库,是一个开源的支持网络、可基于内存亦可持久化的日志型、key-value(键-值)数据库。并且,为了保证位于不同强化学习模型输出的缓存阈值与该强化学习模型的奖励值对应,可以为每个统计信息、缓存阈值以及奖励值,按照相应的强化学习模型的不同标记标识,该标识可以存在于缓存分配模型的获取的整个过程,以整个防止数据错乱。
[0056]
在一种可选的实施方式中,上述奖励值可以采用如下步骤获得:
[0057]
获取本次触发与历史触发之间的时间间隔;
[0058]
统计时间间隔内,进行数据传输的丢包率和吞吐量;
[0059]
将丢包率和吞吐量,作为奖励值。
[0060]
在具体应用中,可以记录每次触发的时间点,进而计算本次触发的时间点与历史触发的时间点之间的差值,得到本次触发与历史触发之间的时间间隔。并且,在时间间隔内进行数据传输吞吐量为历史触发开始,至本次触发开始的时间段,也就是上述时间间隔内,交换机发送和接收的数据的数据量。其中,当数据为队列形式时,数据量可以为队列长度。丢包率和吞吐量可以反映按照历史触发所利用的缓存阈值进行缓存分配的效果,能够反映历史触发所利用的缓存阈值对应的强化学习模型的性能,因此,可以作为奖励值。
[0061]
在一种可选的实施方式中,上述利用本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型,具体可以包括如下步骤:
[0062]
获取本次触发产生的训练数据;
[0063]
将本次触发产生的训练数据输入待训练的强化学习模型,进行对待训练的强化学习模型的训练;
[0064]
当向待训练的强化学习模型输入训练数据的次数等于预设次数时,保存最后一次输入训练数据进行训练得到的强化学习模型,作为可加载的强化学习模型。
[0065]
在具体应用中,当训练数据存储在数据库中时,可以从数据库中读取本次触发产生的训练数据。并且,获取本次触发产生的训练数据的时机可以包括:,可以不断或者按预设周期向数据库询问是否有新的训练数据到达,当新的训练数据到达,则读取数据库中的训练数据,将读取的训练数据输入待训练的强化学习模型
[0066]
每得到一次训练数据,表明交换机完成一次与触发对应的数据传输,因此,当向待训练的强化学习模型输入训练数据的次数等于预设次数时,表明利用预设次数次触发对应的数据传输产生的训练数据,对待训练的强化学习模型进行训练。因此,此时保存最后一次输入训练数据进行训练得到的强化学习模型,作为可加载的强化学习模型,供交换机在缓存分配中使用,如此循环往复,不断迭代更新。
[0067]
本可选实施例将本次触发产生的训练数据输入待训练的强化学习模型,进行对待训练的强化学习模型的训练,可以保证每次对待训练的强化学习模型的训练利用与上一次训练不同的训练数据进行,有利于强化学习模型的训练效果的提高。
[0068]
在一种可选的实施方式中,上述从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型,具体可以包括如下步骤:
[0069]
对所保存的多个可加载的强化学习模型,进行按照每个可加载的强化学习模型对应的奖励值从大到小的顺序排序;
[0070]
将排在前指定数量位的可加载的强化学习模型,作为缓存分配模型。
[0071]
在具体应用中,可以启动模型测试脚本,以使模型测试脚本执行本可选实施例。由于任一强化学习模型对应的奖励值可以反映该强化学习模型的性能,因此,对所保存的多个可加载的强化学习模型,进行按照每个可加载的强化学习模型对应的奖励值从大到小的顺序排序,可以实现对训练得到的可加载的强化学习模型按照性能从大到小的顺序进行排序。由此,排在前指定数量位的可加载的强化学习模型,是所保存的多个可加载的强化学习模型中,性能相对而言更好的模型,可以作为缓存分配模型。其中,指定数量可以按照具体应用场景和训练经验设置。例如,指定数量可以为1,2以及3等等。
[0072]
为了便于理解,对上述本发明实施例和可选实施例提供的真实网络环境中缓存分配模型的获取方法,进行一种应用场景下的示例性说明。示例性的,如图2所示,本发明实施例中交换机进行的数据传输可以是多个,以并行产生多次触发以及相应的训练数据,提高缓存分配模型的获取效率。具体的,可以利用多个服务端和每个服务端对应的客户端进行多个数据传输,相应的,交换机实现多个数据传输。其中,一个数据传输的实现相当于运行一个环境,由此,可以运行多个环境,例如,环境e1,环境e2,
……
以及环境en。并且,由于利用同一个交换机,因此,可以使用同一可加载的强化学习模型获取缓存阈值,用于环境运行过程所需的缓存分配,也就是提供强化学习模型的决策服务给各环境。以此为基础,可以通过上述本发明图1实施例以及可选实施例中关于获取训练数据的步骤,实现训练数据收集与保存服务,并将获取的训练数据存储至数据库中。在进行训练服务,也就是上述本发明图1实施例以及可选实施例中关于训练得到可加载的强化学习模型的步骤,得到可加载的强化学习模型,并进行保存以及用于实现强化学习模型的决策服务。由此循环,直到保存的可加载的强化学习模型的数量满足预设数量条件,从保存的可加载的强化学习模型中确定缓存分配模型。
[0073]
如图3所示,本发明一实施例提供的真实网络环境中缓存分配模型的获取系统的结构,该系统可以包括:交换机301,服务端302,客户端303以及模型获取代理304;
[0074]
所述交换机301,用于实现所述服务端302和所述客户端303之间的数据传输;
[0075]
所述模型获取代理304,用于在所述交换机301中加载可加载的强化学习模型;当所述数据传输触发预设分配条件时,利用所述可加载的强化学习模型获取所述交换机的缓存阈值,进行缓存分配;存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到所述本次触发产生的训练数据;其中,所述历史触发所利用的强化学习模型对应的奖励值,为基于所述历史触发至所述本次触发之间的时间间隔内,进行所述数据传输产生的丢包率和吞吐量获得的数值;利用所述本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型;如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行所述在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0076]
在一种可选的实施方式中,上述模型获取代理304,用于:
[0077]
收集所述数据传输触发预设分配条件时,所述交换机301的所有端口产生的统计信息;
[0078]
获取所述本次触发对应的缓存分配所利用的缓存阈值,以及所述历史触发所利用
的所述奖励值;
[0079]
组装并存储所收集的统计信息,所获取的缓存阈值以及所获取的奖励值,得到所述本次触发产生的训练数据。
[0080]
本发明实施例提供的方案中,用于获取缓存分配模型的训练数据,是基于交换机进行服务端和客户端之间的数据传输获得的,交换机、服务端和客户端之间的数据传输,相当于真实网络环境。因此,与传统的在模拟器中获取训练数据相比,获得的训练数据能够更加准确地反映真实网络情况,从而提高利用训练数据获取的缓存分配模型的准确度。并且,在加载可加载的强化学习模型进行缓存分配,并获得训练数据时,可以同步利用已存储的训练数据进行强化学习模型的训练,相当于异步执行训练数据的获取和模型的训练,对训练数据的获取和模型的训练进行解耦,模型的训练无需等待每次训练数据获取结束再进行。因此,与传统的在模拟器中获取训练数据相比,可以减少训练过程中的停等情况,提高缓存分配模型的获取效率。
[0081]
为了便于理解,下面以示例性说明的方式对本发明一实施例提供的真实网络环境中缓存分配模型的获取系统的结构进行说明。示例性的,如图4所示。真实网络环境中缓存分配模型的获取系统,可以包括:交换机数据平面,终端h1,终端h2,终端h3,终端h4,数据收集模块,redis数据库以及训练服务。其中,交换机数据平面相当于本发明图3实施例中的交换机301。终端h1,终端h2,终端h3以及终端h4相当于本发明图3实施例中的服务端302和客户端303,且一个服务端可以对应一个客户端,或者一个服务端对应多个客户端。数据收集模块,redis数据库以及训练服务相当于本发明图3实施例中的模型获取代理304。
[0082]
在具体应用中,可以利用dpdk(data plane development kit,数据平面开发套件)实现osi模型(open system interconnection reference model,开放式系统互联通信参考模型)的第2层(数据链路层)作为交换机,可以称为二层交换机。其中,dpdk可以基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。并且,终端h1,终端h2,终端h3以及终端h4可以依据不同的累积分布函数生成需要进行传输的随机数据,也就是生成流量。当启动系统中的交换机时,可以加载可加载的强化学习模型,也就是加载模型。并且,启动服务端与客户端,客户端向服务端发起数据请求,服务端返回客户端要求的大小的数据。服务端返回的数据由交换机传输给客户端时,如果触发预设分配条件触发条件,交换机获取统计信息,并输入所加载的强化学习模型中,获得该模型返回的决策信息,也就是缓存阈值,进而利用缓存阈值进行缓存分配,并按照缓存分配完成本次触发对应的数据传输,也就是完成客户端所请求的数据的传输。在缓存分配以及完成本次触发对应的数据传输中,数据收集模块可以收集训练数据,并将训练数据存储至redis数据库中。当redis数据库中存在新的训练数据时,训练服务可以从redis数据库中读取新的训练数据,以对待训练的强化学习模型进行,生成模型,该生成的模型为可加载的强化学习模型。另外,训练服务可以通过获取新的训练数据进行训练,实现对所训练的模型的定期更新。
[0083]
相应于上述方法实施例,本发明实施例还提供一种真实网络环境中缓存分配模型的获取装置。
[0084]
如图5所示,本发明一实施例提供的真实网络环境中缓存分配模型的获取装置的结构,该装置包括:
[0085]
模型加载模块501,用于在交换机中加载可加载的强化学习模型;所述交换机用于实现服务端和客户端之间的数据传输;
[0086]
缓存分配模块502,用于当所述数据传输触发预设分配条件时,利用所述可加载的强化学习模型获取所述交换机的缓存阈值,进行缓存分配;
[0087]
数据获取模块503,用于存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到所述本次触发产生的训练数据;其中,所述历史触发所利用的强化学习模型对应的奖励值,为基于所述历史触发至所述本次触发之间的时间间隔内,进行所述数据传输产生的丢包率和吞吐量获得的数值;
[0088]
模型获取模块504,用于利用所述本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型;如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行所述在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0089]
可选的,所述数据获取模块503,具体用于:
[0090]
收集所述数据传输触发预设分配条件时,所述交换机的所有端口产生的统计信息;
[0091]
获取所述本次触发对应的缓存分配所利用的缓存阈值,以及所述历史触发所利用的所述奖励值;
[0092]
组装并存储所收集的统计信息,所获取的缓存阈值以及所获取的奖励值,得到所述本次触发产生的训练数据。
[0093]
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
[0094]
存储器603,用于存放计算机程序;
[0095]
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
[0096]
在交换机中加载可加载的强化学习模型;所述交换机用于实现服务端和客户端之间的数据传输;
[0097]
当所述数据传输触发预设分配条件时,利用所述可加载的强化学习模型获取所述交换机的缓存阈值,进行缓存分配;
[0098]
存储本次触发对应的缓存分配所利用的统计信息和所利用的缓存阈值,以及历史触发所利用的强化学习模型对应的奖励值,得到所述本次触发产生的训练数据;其中,所述历史触发所利用的强化学习模型对应的奖励值,为基于所述历史触发至所述本次触发之间的时间间隔内,进行所述数据传输产生的丢包率和吞吐量获得的数值;
[0099]
利用所述本次触发产生的训练数据,训练待训练的强化学习模型,获得并保存可加载的强化学习模型;如果所保存的可加载的强化学习模型的个数不满足预设数量条件,返回执行所述在交换机中加载可加载的强化学习模型,否则,从所保存的多个可加载的强化学习模型中,选择对应的奖励值满足预设奖励值条件的可加载的强化学习模型,作为缓存分配模型。
[0100]
本发明实施例提供的方案中,用于获取缓存分配模型的训练数据,是基于交换机进行服务端和客户端之间的数据传输获得的,交换机、服务端和客户端之间的数据传输,相当于真实网络环境。因此,与传统的在模拟器中获取训练数据相比,获得的训练数据能够更加准确地反映真实网络情况,从而提高利用训练数据获取的缓存分配模型的准确度。并且,在加载可加载的强化学习模型进行缓存分配,并获得训练数据时,可以同步利用已存储的训练数据进行强化学习模型的训练,相当于异步执行训练数据的获取和模型的训练,对训练数据的获取和模型的训练进行解耦,模型的训练无需等待每次训练数据获取结束再进行。因此,与传统的在模拟器中获取训练数据相比,可以减少训练过程中的停等情况,提高缓存分配模型的获取效率。
[0101]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0102]
通信接口用于上述电子设备与其他设备之间的通信。
[0103]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0104]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0105]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一真实网络环境中缓存分配模型的获取方法的步骤。
[0106]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一真实网络环境中缓存分配模型的获取方法。
[0107]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘
solid state disk(ssd))等。
[0108]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0109]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0110]
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1