CN115499317B - 灰度验证方法、电子设备和可读存储介质 - Google Patents
灰度验证方法、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN115499317B CN115499317B CN202211426518.2A CN202211426518A CN115499317B CN 115499317 B CN115499317 B CN 115499317B CN 202211426518 A CN202211426518 A CN 202211426518A CN 115499317 B CN115499317 B CN 115499317B
- Authority
- CN
- China
- Prior art keywords
- data traffic
- data
- verification
- time
- gray scale
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了灰度验证方法、电子设备和可读存储介质,该方法包括:记录从生产网络设备上采集的数据流量,其中,所述生产网络设备是在网络中正在被使用的网络设备;从所述生产网络设备未来出现的数据流量中,确定满足灰度验证要求的第一数据流量以及所述第一数据流量在未来出现的第一时间,所述未来出现的数据流量是根据从所述生产网络设备上采集的数据流量预测得到的;在第一时间达到时,将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备。通过本申请解决了现有技术中工程师凭借经验选择流量来进行灰度验证所导致灰度验证效果不佳的问题,进而提高了灰度验证的验证效果,降低了故障发生概率,提高了运维操作可靠性。
Description
技术领域
本申请涉及到网络数据流量处理领域,具体而言,涉及灰度验证方法、电子设备和可读存储介质。
背景技术
物理网络是指由传统的物理的交换机、路由器以及网线构建起来的网络,随着技术的发展,现在虚拟网络得到了越来越多的应用。虚拟网络是通过虚拟网络技术构建的一张逻辑网络,是云网络的基本模型,云网络就是基于物理网络之上通过网络虚拟化等技术构建起来的网络形态。虚拟网络中可以包括:虚拟网络资源、物理资源、云网络网元、控制面、物理转发设备等,其中,虚拟网络资源是基于物理资源虚拟化的网络资源,提供租户使用的云计算功能的资源实体,例如,虚拟机就是虚拟网络资源的一种。租户是云网络上用户的统称,其中,每一个租户都云上会有自己独立且隔离的虚拟网络环境,通常这个网络环境以虚拟私有云(Virtual Private Cloud,简称为VPC)的形态提供给租户,租户在VPC内部可以定义自己的网络拓扑、部署资源、运行应用等。
在云网络中,对网络设备进行升级等操作时需要进行灰度验证,灰度验证为:
对于设备上所提供的软件或者服务,如果需要升级新版本,在新版本上线之前,开发运营人员出于对新版本的功能、稳定性充分验证的目的,一般会选择一部分设备或者设备上提供的一部分数据流量来进行验证。也就是说,在同一个时间段内,进行验证的设备使用新版本新版本,而其他设备则继续使用旧版本,通过观测新版本的表现来调整使用新版本和旧版本的设备的比例,如果一切顺利,渐渐地就把所有设备从旧版本过渡到新版本。这个选择部分设备优先试用新版本的过程叫做灰度验证(也可以称为灰度测试)。
在现有技术中,一般由工程师凭经验选择的流量进行灰度验证,这无法保证每次灰度真正的验证效果,可能存在漏验证的情况,最坏的结果可能会导致灰度验证失效,生产设备升级出现异常,引起故障。
发明内容
本申请实施例提供了网络流量的灰度处理方法、装置、网络设备和存储介质,以至少解决现有技术中工程师凭借经验选择流量来进行灰度验证所导致灰度验证效果不佳的问题。
根据本申请的一个方面,提供了一种网络流量的灰度处理方法,包括:记录从生产网络设备上采集的数据流量,其中,所述生产网络设备是在网络中正在被使用的网络设备;从所述生产网络设备未来出现的数据流量中,确定满足灰度验证要求的第一数据流量以及所述第一数据流量在未来出现的第一时间,其中,所述灰度验证要求是对用于进行灰度验证的数据流量的要求,所述未来出现的数据流量是根据从所述生产网络设备上采集的数据流量预测得到的;在所述第一时间达到时,将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备。
根据本申请的另一个方面,还提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的方法步骤。
根据本申请的另一个方面,还提供了一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现上述的方法步骤。
在本申请实施例中,采用了记录从生产网络设备上采集的数据流量,其中,所述生产网络设备是在网络中正在被使用的网络设备;从所述生产网络设备未来出现的数据流量中,确定满足灰度验证要求的第一数据流量以及所述第一数据流量在未来出现的第一时间,其中,所述灰度验证要求是对用于进行灰度验证的数据流量的要求,所述未来出现的数据流量是根据从所述生产网络设备上采集的数据流量预测得到的;在所述第一时间达到时,将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备。通过本申请解决了现有技术中工程师凭借经验选择流量来进行灰度验证所导致灰度验证效果不佳的问题,进而提高了灰度验证的验证效果,降低了故障发生概率,提高了运维操作可靠性。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的灰度验证方法的流程图;
图2是根据本申请实施例的灰度系统的结构示意图;
图3是根据本申请实施例的建模子系统处理流程示意图;以及,
图4是根据本申请实施例的规划子系统处理流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
以下实施方式中的技术方案可以应用到具有网络流量的多种网络设备上。通过灰度验证可以保证对网络设备的操作不会出现问题,例如,云网络中最重要的网元是核心网关,核心网关通常指数据中心承载核心出入流量的网络设备。在云网络环境下,核心网关承载了所有租户出入数据中心的网络流量。由于云网络的核心网关承载了出入数据中心的关键流量,核心网关受损会导致整个数据中心的出入流量受到影响,因此核心网关的可靠性要求会远高于普通数据中心服务器。为了能尽量避免核心网关出现异常,对核心网关的任何操作都需要进行灰度验证,在达到一定验证标准之后才能对其进行操作。
对于网络设备而言,其灰度验证可以通过两个维度来进行。第一中维度是在设备维度,通过对全网不同地域以及每个地域的不同设备进行编排,按一定顺序逐步完成所有设备的升级。这种灰度验证方式对于网络流量较小的网络设备是比较适用的,但是如果网络设备承载的网络流量比较大,直接对网络设备中所用的流量均进行灰度验证,可能会存在的一定的风险。因此,对于这些网络设备引入了第二个维度,第二个维度是流量维度,由于部分地域承载的流量过大,直接对网络设备进行升级仍然有较高风险,因此在对这些地域的生产设备(即在网络中实际使用的设备,为了与灰度设备相区分在下文中称为生产设备)进行升级前会先将部分流量逐步引导到用于进行灰度验证的设备(简称为灰度设备)上,然后在灰度设备上进行验证,确认没有问题之后再对生产设备进行升级。
在云网络中,云网络的核心网关是云网络的核心设备,它承载了云网络数据中心出入的所有流量,一旦云网络核心网关出现故障则会导致整个数据中心的所有云网络租户受到影响,因此云网络核心网关的可靠性非常重要。影响云网络核心网关可靠性的一个重要来源是升级操作,这些操作会直接改变网关的运行状态。通常情况下为了能避免升级操作对线上造成影响,网络工程师会在线下进行质量验证,在上线过程中又通过灰度验证的方式逐步完成全部核心网关的升级。在核心网关的灰度验证中,通过小规模分布式升级核心网关的方法进行线上功能验证。与线下验证不同,线下验证主要针对功能型验证,而线上的灰度验证会使用真实的生产流量进行验证。
对于一台核心网关来说,其可能具有百万级租户以及千万级实例的流量,理论上将一台核心网关设备上的所有流量逐步引导到灰度设备是最充分的验证,但是该方案会导致灰度过程显著拉长,无法在指定时间窗口完成升级维护。另外,在流量维度进行灰度验证时,如果仅仅依靠工程师的凭经验选择部分租户的流量进行灰度,则法提前明确每次灰度真正的验证效果,可能存在漏验证的情况,最坏的结果可能会导致灰度验证失效,生产设备升级出现异常,引起故障。
为了解决这个问题,在以下实施方式中提供了一种网络流量的灰度处理方法,图1是根据本申请实施例的灰度验证方法的流程图,在图1示出的步骤中,涉及到生产网络设备和灰度网络设备,其中,生产网络设备是在网络中正在被使用的网络设备,灰度网络设备是用于进行灰度验证的所述网络设备。需要说明的是,如图1中示出的方法可以应用到各种处理网络流量的网路设备中。尤其是适用于具有大数据流量的网络设备,例如核心网关。下面结合图1对该灰度处理方法中包括的步骤进行说明。
步骤S102,记录从生产网络设备上采集的数据流量,其中,所述生产网络设备是在网络中正在被使用的网络设备。
步骤S104,从所述生产网络设备未来出现的数据流量中,确定满足灰度验证要求的第一数据流量以及所述第一数据流量在未来出现的第一时间,其中,所述灰度验证要求是对用于进行灰度验证的数据流量的要求,所述未来出现的数据流量是根据从所述生产网络设备上采集的数据流量预测得到的。
需要说明的是,在该步骤中为了描述方便将满足灰度验证要求的数据流量称为第一数据流量,其中的“第一”不应当理解为是对数据流量的限定,同理,第一时间中的“第一”也不是对时间的限定。
步骤S106,在所述第一时间达到时,将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备。
在进行灰度验证时,一般希望能够对各种情况进行充分的验证,这些均可以通过灰度验证要求来进行体现,灰度验证要求可以是预先运维人员预先配置的,或者灰度验证要求也可以是在其他相同类型的网络设备上使用过的要求。在上述步骤中通过预测可以得到未来出现的数据流量,然后从未来出现的数据流量中确定满足灰度验证要求的数据流量,在满足灰度验证要求的第一时间到来时,将确定出的第一数据流量从生产网络设备迁移到灰度网络设备。因此在上述步骤中不再由工程师根据经验来选择进行灰度验证的数据流量,而是根据灰度验证要求从未来时间出现的网络流量中自动选择出进行灰度验证的数据流量,即通过上述步骤解决了现有技术中工程师凭借经验选择流量来进行灰度验证所导致灰度验证效果不佳的问题,进而提高了灰度验证的验证效果,降低了故障发生概率,提高了运维操作可靠性。
网络设备上承载的数据流量一般来源于各种场景。例如,有些网络流量是基于视频场景的,有些网络流量是基于网页浏览场景等等。因此,在进行灰度验证的时候,希望能验证各种场景,例如,如果此次对网络设备的升级可能影响到所有的场景,则需要在灰度验证时覆盖尽量多的场景。由例如,如果此次对网络设备的升级可能只影响到视频场景,则需要在灰度验证时对视频场景进行更长时间或更多数据流量的验证。因此,在一个可选的实施方式中,可以将场景覆盖要求携带在灰度验证要求中。另外,还可以在灰度验证要求中配置希望进行灰度验证的时间要求,例如,在明天的0点到2点来进行灰度验证等。在该可选实施方式中,确定满足所述灰度验证要求的第一数据流量和所述第一时间包括:从所述灰度验证要求中获取场景覆盖要求和/或时间要求,其中,所述场景覆盖要求用于指示进行灰度验证的数据流量需要覆盖的场景,所述时间要求用于指示进行灰度验证的时间;从所述未来出现的数据流量中确定能够满足所述场景覆盖要求和/或时间要求的数据流量。通过该可选方式可以灵活配置灰度验证要求中的场景覆盖要求和/或时间要求,可以满足各种灰度验证的要求。
在一个例子中,假设场景覆盖要求用于指示进行灰度验证的流量必须涵盖80%以上的场景,此时,根据已经采集的数据流量预测未来多个时间段内的网络流量,预测得到的第一未来时间段内的网络流量涵盖了70%的场景,预测得到的第二未来时间段内的网络流量涵盖了90%的场景,此时可以选择在第二未来时间段内将生产网络设备的部分数据流量迁移到灰度网络设备上,迁移到灰度网络设备的网络流量要满足覆盖80%以上的场景的要求。
在该例子中,灰度验证并没有携带时间要求,因此可以选择符合场景覆盖要求的任意时间段的数据流量。作为一种可选的选项,在灰度验证要求中还可以同时携带时间要求,该时间要求中指示的时间是希望进行进行灰度验证的时间段或者是开始进行灰度验证的时间点。在该可选实施方式中,在所述灰度验证要求中包括所述时间要求的情况下,从所述未来出现的数据流量下获取所述时间要求对应的时间的数据流量,并从所述时间要求对应的时间的数据流量中确定至少满足所述场景覆盖要求的数据流量即可。
例如,灰度验证要求中携带了时间要求,要求在明天或者后天的凌晨1点到凌晨5点进行灰度验证,此时根据采集的数据流量分别预测明天1点到5点每个小时的数据流量,以及后天1点到5点的每个小时的数据流量,从中选择满足灰度验证要求中的其他要求的数据流量,例如明天3点到4点时间段内的数据流量满足灰度验证要求,则在明天3点到4点期间进行灰度验证。
又例如,灰度验证要求中没有携带时间,但是灰度验证要求中携带里场景覆盖要求,该场景覆盖要求指示需要覆盖视频场景和网页浏览场景。经过预测可以得到在每天18:00到19:00,以及19:00到20:00的数据流量可以满足该场景覆盖要求,此时可以将这两段时间的任意一段时间作为灰度验证时间,可以从18:00或者19:00开进行灰度验证。
从上述两个例子可以看出,数据流量其实是一种以时间为基础的时序数据,在对未来时间的网络流量进行灰度验证时可以按照时间段来进行灰度验证。因此,可以将数据流量按照预定时间间隔(例如,每秒钟、每分钟、每十分钟等)来进行划分,时间段可以包括一个或多个时间间隔,然后以时间段为单位选择未来进行用于灰度验证的流量。这种以时间间隔来划分数据流量的方式符合时序数据的特点,使得数据流量的处理更加容易。
通过时间间隔来划分数据流量之后,在进行灰度验证时可以更加容易地选择出满足场景覆盖要求的并且数据流量最小的数据流量来进行灰度验证,这样可以缩短灰度验证的时间,提高运维处理效率。在该可选方式中,从所述未来出现的数据流量中确定满足所述灰度验证要求的第一数据流量和所述第一时间包括:在所述未来出现的数据流量中存在多个时间段的流量数据均能满足所述灰度验证要求的情况下,获取每个时间段内满足所述灰度验证要求的数据流量的大小;将所述多个时间段的数据流量中流量最小的数据流量作为所述第一数据流量,并根据最小的数据流量所在的时间段确定所述第一时间。
例如,以每10分钟作为时间间隔,一个时间段仅包括一个时间间隔,场景覆盖要求指示需要覆盖是三种场景。在未来第一时间间隔中,第一种场景在两个时间间隔均有流量,则从这两个时间段的流量中选择最小的数据流量作为第一种场景在第一时间间隔中的候选数据流量,同理可以获取第一时间间隔中第二种场景和第三种场景的候选数据流量,将三种候选数据流量相加就可以得到第一时间间隔的最小数据流量;同理,可以得到第二时间间隔的最小数据流量和第三时间间隔的最小数据流量。在第一时间间隔、第二时间间隔和第三时间间隔的数据流量均能满足场景覆盖要求的情况下,从三个时间间隔中选择最小数据流量中的最小值,将该最小值对应的时间间隔作为进行灰度验证的时间间隔。
作为云网络中的网络设备,其承载的数据流量一般均是来自于多个租户,此时可以以租户为单位来选择进行灰度验证的数据流量。不同的租户是按照网络地址(例如数据流量的源网络地址)来进行区分的,因此,按照不同租户来选择数据流量也可以认为是按照不同的网络地址来选择用于进行灰度验证的数据流量。在该可选实施方式中,确定所述未来出现的数据流量中满足所述灰度验证要求的所述第一数据流量可以包括如下步骤:从所述未来出现的数据流量中确定将至少一个租户对应的数据流量作为所述第一数据流量,其中,所述采集的数据流量来自多个租户,所述至少一个租户是从所述多个租户中选择的,所述至少一个租户的数据流量相加满足所述灰度验证要求;将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备包括:从所述生产网络设备上获取所述至少一个租户的数据流量,并将所述至少一个租户的数据流量转移到所述灰度网络设备。通过该可选实施方式可以按照租户来选择用于进行灰度验证的数据流量,这样可以尽量选择数量较少的租户来达到进行灰度验证的目的。
例如,场景覆盖要求指示需要覆盖至少80%的网络流量,在未来的一个时间段内,有三种方式均可以满足该要求,方式一是转移三个租户就可以满足要求,方式二是转移四个租户可以满足要求,方式三是转移十个租户可以满足要求。在这种情况下,可以选择方式一,将方式一中的三个租户的数据流量用作灰度验证。在另一种情况下,方式三虽然转移了十个租户,但是方式三的数据流量最小,此时也可以选择将方式三中的十个租户的数据流量用作灰度验证。
以租户为单位来选择用于进行灰度验证的数据流量还能带来另外一个好处,该好处就是可以区分租户的重要程度,尽量选择重要程度低的租户的流量进行灰度验证,以提高重要客户的满意度。即在该可选方式中,从所述多个租户中选择所述至少一个租户可以包括如下步骤:从所述灰度验证要求中获取租户级别的要求,其中,所述租户级别用于指示租户的重要程度;从所述多个租户中选择满足所述租户级别的要求的所述至少一个租户。在该可选实施方式中,区分了租户的重要程度,降低了重要租户出错的概率,保证了重要租户使用的持续性。
上述可选实施方式中均涉及到未来出现的数据流量的预测,考虑到数据流量是一种时序数据(即时间序列数据),因此可以对于时序数据进行统计,然后根据统计得到的规律进行预测。
例如,对采集的数据流量根据预定的时间间隔进行划分,并选择预定大小的窗口,其中,所述预定大小的窗口涵盖多个时间间隔的数据,所述窗口根据预定步长在被所述时间间隔划分的数据流量上移动得到多个窗口;计算所述多个窗口中的每个窗口下的时间间隔的数据流量的平均值;根据所述平均值预测所述未来出现的数据流量。在该例子中,采用了移动平均算法(简称为MA),移动平均是时间序列数据中的一种预测方法,计算简单但却很实用。能够揭示时间序列序列的趋势特征。根据平均值来进行预测,此处的平均值可以是加权平均值,例如距离当前时间越近窗口权值越大等。
随着神经网络技术的发展,还可以采用神经网络模型来得到未来出现的数据流量。
例如,将所述采集的数据流量作为训练数据输入到神经网络模型中进行训练,其中,输入到所述神经网络模型的数据包括采集的数据流量以及数据流量出现的时间;将未来时间输入到训练收敛的所述神经网络模型中;将所述神经网络模型输出的数据流量作为所述未来出现的数据流量。
神经网络模型的种类有很多种,例如,可以选择长短期记忆网络模型(LongShort-Term Memory,简称为LSTM)是传统递归神经网络(Recurrent Neural Networks,简称为RNN)改良后的成果,是一款长短期记忆网络。相较于普通的RNN,LSTM 增加了一个记忆单元(cell)用于判断信息有用与否,解决了长序列训练过程中的梯度消失和梯度爆炸问题。使用该LSTM模型来进行训练可以得到更加准确的预测结果。训练LSTM模型的方式有很多种,通常包括如下步骤:1.生成数据集;2.分训练集和测试集,并且需要对数据进行窗口分割;3.创建滑动串口数据集;4. 定义LSTM模型的结构以及训练过程;5.使用训练集进行训练,并使用测试集进行测试。需要说明的是,无论采用哪种神经网络模型以及哪种训练方式,只要能得到未来出现的数据流量即可以取得相应的技术效果,对于神经网络模型的训练在此不再赘述。
上述可选实施方式可以认为是一种基于流分析的动态灰度方案,可以在一定时间内以最少的时间最小的代价完成最大的灰度验证效果,从而实现最大可能的避免核心网关在后续操作中出现异常。将上述可选实施方式应用到核心网关中,不仅会缩短目前云网络核心网关的灰度时长,同时大幅提升灰度的验证效果,还可以实现较高的运维操作可靠性,大幅降低故障发生概率,提升对用户提供服务的连续性。下面结合附图对将上述可选实施方式应用到核心网关进行说明。图2是根据本申请实施例的灰度系统的结构示意图,如图2所示,该系统包括多个生产核心网关1到生产核心网关3、以及灰度核心网关,当然灰度核心网关也可以包括多个,在图2中仅示出了一个。在图2中将用于进行灰度验证的数据流量称为灰度流量,将灰度流量转移到灰度核心网关进行灰度验证。在图2中将可选实施方式中的执行的步骤抽象成一种网关灰度模型,如图2所示,该网关灰度模型包括:建模子系统、规划子系统以及调度子系统三部分,其中,建模子系统用于接收从生产核心网关1到生产核心网关3采集的流量数据,并根据模型(在图2中被称作是灰度模型)预测未来的流量数据,规划子系统用于从未来时间的流量数据中选择出用于灰度验证的流量数据(这种选择策略在图2中被称作是灰度策略),调度子系统根据灰度策略进行灰度流量的调度。下面对网关灰度模型以及网关灰度模型包括的建模子系统、规划子系统和调度子系统分别进行说明。
网关灰度模型
网关灰度模型能够执行上述实施方式中的步骤,实现灰度流量的调度。该网关灰度模型可以运行在核心网关上,基于该模型去完成包括核心网关的整个系统的灰度验证。
核心网关上承载了海量租户出入数据中心的流量,灰度验证的核心目的是在灰度核心网关上能尽可能全面的验证所有可能的租户流量行为。由于不同时间段租户的流量行为会有变化,不同租户之间的流量也有不同,因此网关灰度模型是一个由时间、租户和流量作为变量,结果为灰度效果的数据模型,用来度量灰度效果的手段通常是云网络的场景覆盖度。
例如,以最大的场景覆盖度为条件,即要求覆盖尽可能多的场景。基于该场景覆盖要求,如果已经预先给出了需要进行灰度验证的时间段,则在该时间段(通常情况下该时间段是未来时间段,当然如果需要对已经发生的数据流量进行验证,该时间段也可以是过去时间段)内需要找到用于灰度验证的租户(可以以源目的IP作为标记来区分不同的租户)及其流量,找到的租户及其流量能够实现最大的场景覆盖度。又例如,还可以不给出时间段,在灰度验证要求中给定预期的场景覆盖度和租户影响级别(即租户级别),由网关灰度模型推衍出来时间、租户、流量三个参数。
建模子系统
建模子系统的输入是核心网关采集的流量数据,输出是在给定的场景覆盖度以及租户级别要求下预测出来的时间以及用于灰度验证的租户的数据流量信息。
在进行数据采集时可以按一定时间间隔(如每分钟或者每秒钟,也称为时间周期)采集,采集出的数据一般为包含以下信息的数据:源IP、目的IP、租户ID、该时间周期的平均比特率(bit per second,简称为bps)、该时间周期的平均发包率(packets per second,简称为pps)。
图3是根据本申请实施例的建模子系统处理流程示意图,如图3所示,建模子系统的第一步是将以上采集的数据转换成包含场景在内的时序数据,即该时序数据包括:源IP、目的IP、租户标识(简称为租户ID)、租户级别、该时间周期的平均bps、该时间周期的平均pps、场景标识(简称为场景IP)。该场景IP用于标识数据所属于的场景,租户标识用于标明该数据所属于的租户。
可以通过如下数据整合得到上述时序数据。
A: IP数据库。该IP数据库包含每个IP的属性以及用途,例如公网还是私网、用于负载均衡还是网络地址转换(Network Address Translation,简称为NAT)、地域属性等。
B:租户信息库。租户信息库可以包含租户ID和租户的级别,该级别可以用于区分敏感的租户(即重要租户)还是普通租户。
C:场景库。在场景库中,每个场景ID唯一关联一堆源目的ID的多元信息,例如,一个VPC内虚拟机访问私网服务器负载均衡的场景,它在场景库里的信息可以为:
场景ID:12345, 源IP公私网类型:私网, 源IP类型:虚拟机,目的IP公私网类型:私网,目的IP类型:负载均衡服务。
场景库由工程师维护,覆盖工程师在开发及部署网络设备所提供给租户的所有访问方式。
如图3所示,建模系统用于执行如下三个步骤:
获取实时采集的流量数据,并根据源IP、目的IP、租户ID这三个字段结合IP库、租户信息库以及场景库,将每条采集的数据转换成包括如下信息的数据:源IP、目的IP、租户ID、租户级别、该时间周期的平均bps、该时间周期的平均pps、场景ID。
对以上数据按时间维度建模,由于以上每条数据是在某个时间采集出来的,因此可以对积累一定时间的采集数据进行建模,从而预测未来某个时刻的流量行为。预测方法可以采用基于统计的方法(例如平均移动线)以及基于深度学习的方法(如LSTM)进行。基于统计的方法以及基于LSTM的方法进行预测在上文中已经进行了说明,在此不再赘述。
给定场景覆盖度和租户级别要求下,预测下一个满足条件的时间和租户或者数据流量组合。例如,要求场景覆盖度90%且租户级别不能高于中等级别的租户,则将该数据输入到上述模型,过滤掉高于中等级别租户的所有采集数据,并且根据预测的流量找出最少数量的流量组合使得所选流量比例覆盖场景超过了90%,则可以使用选择出的流量进行灰度验证。
规划子系统
规划子系统会根据场景覆盖度以及租户级别要求输出未来一段时间满足两者条件的所有时间点。图4是根据本申请实施例的规划子系统处理流程示意图,如图4所示,该规划子系统的处理流程包括如下步骤:
第1步,针对未来每个时间段(或称为时间点),找到每个场景对应的流量数据中最小的一条记录,作为候选灰度流量。该步骤确保一个时间点内覆盖每个场景总流量最小(bps和/或pps最小)。
第2步,对每个时间点对应的所有候选灰度流量进行汇聚并排序。该步骤确保在满足场景覆盖度时选择的时间点是灰度流量最小(bps和/或pps最小)的。
第3步,基于以上过滤生成完整的灰度策略,该灰度策略包括:灰度时间,<源IP,目的IP,租户ID>,其中,灰度时间用于将数据流量转移到灰度核心网关的时间,<源IP,目的IP,租户ID>用于指示转移数据流量的源IP、目的IP和租户ID。
调度子系统
调度子系统根据规划子系统的策略,会在灰度时间达到时将指定的源目的IP的流量引导到灰度网关设备上进行灰度验证。
通过上述可选实施方式,对流量进行了预测分析,有效的将网关灰度烟瘴的具体场景覆盖情况量化出来,从而让网络工程师准确了解灰度的效果。上述可选实施方式通过预测提前给出灰度计划,相比传统灰度手段靠人工经验,能够找出最佳灰度时间,并且还通过流量统计以及租户分析,实现在同样灰度场景覆盖度下总流量最小并且对租户影响可控的效果。
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
该本实施例中就提供了这样的一种装置,该装置被称为灰度验证装置,包括:记录模块,用于记录从生产网络设备上采集的数据流量,其中,所述生产网络设备是在网络中正在被使用的网络设备;确定模块,用于从所述生产网络设备未来出现的数据流量中,确定满足灰度验证要求的第一数据流量以及所述第一数据流量在未来出现的第一时间,其中,所述灰度验证要求是对用于进行灰度验证的数据流量的要求,所述未来出现的数据流量是根据从所述生产网络设备上采集的数据流量预测得到的;转移模块,用于在所述第一时间达到时,将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备。
该系统或者装置用于实现上述的实施例中的方法的功能,该系统或者装置中的每个模块与方法中的每个步骤相对应,已经在方法中进行过说明的,在此不再赘述。
可选地,所述确定模块用于从所述灰度验证要求中获取场景覆盖要求和/或时间要求,其中,所述场景覆盖要求用于指示进行灰度验证的数据流量需要覆盖的场景,所述时间要求用于指示进行灰度验证的时间;从所述未来出现的数据流量中确定能够满足所述场景覆盖要求和/或时间要求的数据流量。
可选地,所述确定模块用于在所述未来出现的数据流量中存在多个时间段的流量数据均能满足所述灰度验证要求的情况下,获取每个时间段内满足所述灰度验证要求的数据流量的大小;将所述多个时间段的数据流量中流量最小的数据流量作为所述第一数据流量,并根据最小的数据流量所在的时间段确定所述第一时间。
可选地,所述确定模块用于从所述未来出现的数据流量中确定将至少一个租户对应的数据流量作为所述第一数据流量,其中,所述采集的数据流量来自多个租户,所述至少一个租户是从所述多个租户中选择的,所述至少一个租户的数据流量相加满足所述灰度验证要求;所述转移模块用于从所述生产网络设备上获取所述至少一个租户的数据流量,并将所述至少一个租户的数据流量转移到所述灰度网络设备。
可选地,所述确定模块用于从所述灰度验证要求中获取租户级别的要求,其中,所述租户级别用于指示租户的重要程度;从所述多个租户中选择满足所述租户级别的要求的所述至少一个租户。
可选地,所述确定模块用于对所述采集的数据流量根据预定的时间间隔进行划分,并选择预定大小的窗口,其中,所述预定大小的窗口涵盖多个时间间隔的数据,所述窗口根据预定步长在被所述时间间隔划分的数据流量上移动得到多个窗口;计算所述多个窗口中的每个窗口下的时间间隔的数据流量的平均值;根据所述平均值预测所述未来出现的数据流量。
可选地,所述确定模块用于将所述采集的数据流量作为训练数据输入到神经网络模型中进行训练,其中,输入到所述神经网络模型的数据包括采集的数据流量以及数据流量出现的时间;将未来时间输入到训练收敛的所述神经网络模型中;将所述神经网络模型输出的数据流量作为所述未来出现的数据流量。
可选地,所述网络设备为核心网关。
在上述实施方式中提出了一套基于时间、租户、流量的网关灰度模型,从逻辑上定义了网关灰度的关键因素以及核心效果,实现了从时间和空间多个维度的最优化灰度效果,有效克服了现有手段的局限性。
通过上述可选实施方式解决了现有技术中工程师凭借经验选择流量来进行灰度验证所导致灰度验证效果不佳的问题,进而提高了灰度验证的验证效果,降低了故障发生概率,提高了运维操作可靠性。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种灰度验证方法,包括:
记录从生产网络设备上采集的数据流量,其中,所述生产网络设备是在网络中正在被使用的网络设备;
从所述生产网络设备未来出现的数据流量中,确定满足灰度验证要求的第一数据流量以及所述第一数据流量在未来出现的第一时间,其中,所述灰度验证要求是对用于进行灰度验证的数据流量的要求,所述未来出现的数据流量是根据从所述生产网络设备上采集的数据流量预测得到的;
在所述第一时间达到时,将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备。
2.根据权利要求1所述的方法,其中,确定满足所述灰度验证要求的第一数据流量和所述第一时间包括:
从所述灰度验证要求中获取场景覆盖要求和/或时间要求,其中,所述场景覆盖要求用于指示进行灰度验证的数据流量需要覆盖的场景,所述时间要求用于指示进行灰度验证的时间;
从所述未来出现的数据流量中确定能够满足所述场景覆盖要求和/或时间要求的数据流量。
3.根据权利要求1所述的方法,其中,从所述未来出现的数据流量中确定满足所述灰度验证要求的第一数据流量和所述第一时间包括:
在所述未来出现的数据流量中存在多个时间段的流量数据均能满足所述灰度验证要求的情况下,获取每个时间段内满足所述灰度验证要求的数据流量的大小;
将所述多个时间段的数据流量中流量最小的数据流量作为所述第一数据流量,并根据最小的数据流量所在的时间段确定所述第一时间。
4.根据权利要求1至3中任一项所述的方法,其中,
确定所述未来出现的数据流量中满足所述灰度验证要求的所述第一数据流量包括:从所述未来出现的数据流量中确定将至少一个租户对应的数据流量作为所述第一数据流量,其中,所述采集的数据流量来自多个租户,所述至少一个租户是从所述多个租户中选择的,所述至少一个租户的数据流量相加满足所述灰度验证要求;
将所述第一数据流量从所述生产网络设备转移到用于进行灰度验证的灰度网络设备包括:从所述生产网络设备上获取所述至少一个租户的数据流量,并将所述至少一个租户的数据流量转移到所述灰度网络设备。
5.根据权利要求4所述的方法,其中,从所述多个租户中选择所述至少一个租户包括:
从所述灰度验证要求中获取租户级别的要求,其中,所述租户级别用于指示租户的重要程度;
从所述多个租户中选择满足所述租户级别的要求的所述至少一个租户。
6.根据权利要求1至3中任一项所述的方法,其中,根据从所述生产网络设备上采集的数据流量预测得到所述未来出现的数据流量包括:
对所述采集的数据流量根据预定的时间间隔进行划分,并选择预定大小的窗口,其中,所述预定大小的窗口涵盖多个时间间隔的数据,所述窗口根据预定步长在被所述时间间隔划分的数据流量上移动得到多个窗口;
计算所述多个窗口中的每个窗口下的时间间隔的数据流量的平均值;
根据所述平均值预测所述未来出现的数据流量。
7.根据权利要求1至3中任一项所述的方法,其中,根据从所述生产网络设备上采集的数据流量预测得到所述未来出现的数据流量包括:
将所述采集的数据流量作为训练数据输入到神经网络模型中进行训练,其中,输入到所述神经网络模型的数据包括采集的数据流量以及数据流量出现的时间;
将未来时间输入到训练收敛的所述神经网络模型中;
将所述神经网络模型输出的数据流量作为所述未来出现的数据流量。
8.根据权利要求1至3中任一项所述的方法,其中,所述网络设备为核心网关。
9.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1至8任一项所述的方法步骤。
10.一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1至8任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426518.2A CN115499317B (zh) | 2022-11-15 | 2022-11-15 | 灰度验证方法、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426518.2A CN115499317B (zh) | 2022-11-15 | 2022-11-15 | 灰度验证方法、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499317A CN115499317A (zh) | 2022-12-20 |
CN115499317B true CN115499317B (zh) | 2023-04-07 |
Family
ID=85115699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211426518.2A Active CN115499317B (zh) | 2022-11-15 | 2022-11-15 | 灰度验证方法、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499317B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577660A (zh) * | 2012-07-19 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 灰度实验系统和方法 |
CN106911576A (zh) * | 2017-02-17 | 2017-06-30 | 上海斐讯数据通信技术有限公司 | 一种路由器固件升级的分流推送方法及系统 |
CN109510852A (zh) * | 2017-09-15 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 灰度发布的方法及装置 |
CN110362974A (zh) * | 2019-05-31 | 2019-10-22 | 杭州恩牛网络技术有限公司 | 服务灰度发布方法、装置、介质及电子设备 |
CN111130890A (zh) * | 2019-12-26 | 2020-05-08 | 深圳市高德信通信股份有限公司 | 一种网络流量动态预测系统 |
CN112073320A (zh) * | 2020-11-12 | 2020-12-11 | 深圳壹账通智能科技有限公司 | 基于云网关的api灰度发布方法、装置及计算机设备 |
CN112822272A (zh) * | 2021-01-08 | 2021-05-18 | 上海理想信息产业(集团)有限公司 | 微服务灰度发布方法及装置、计算机设备及存储介质 |
CN112994987A (zh) * | 2021-05-07 | 2021-06-18 | 阿里云计算有限公司 | 云网络、用于云网络的测量系统、方法、设备及存储介质 |
CN113127023A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 业务升级的方法、装置和系统 |
CN113301168A (zh) * | 2021-07-23 | 2021-08-24 | 浩鲸云计算科技股份有限公司 | 一种动态策略灰度发布引擎实现请求精准分流方法及系统 |
CN114039866A (zh) * | 2021-10-08 | 2022-02-11 | 中移(杭州)信息技术有限公司 | 灰度发布方法、设备、存储介质及装置 |
CN114666397A (zh) * | 2022-01-29 | 2022-06-24 | 北京北信源软件股份有限公司 | 一种客户端版本更新方法及系统 |
CN114663415A (zh) * | 2022-03-31 | 2022-06-24 | 北京工业大学 | 一种基于火焰图像灰度处理技术的公路隧道火灾预测方法及智能控制装置 |
CN114726919A (zh) * | 2022-03-22 | 2022-07-08 | 新华三大数据技术有限公司 | 灰度流量控制的方法、装置、计算机设备及存储介质 |
CN114884915A (zh) * | 2022-04-19 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050222815A1 (en) * | 2004-03-31 | 2005-10-06 | Kevin Tolly | System and method for testing and certifying products |
US20180060453A1 (en) * | 2016-08-24 | 2018-03-01 | Raytheon Company | Universal verification methodology (uvm) register abstraction layer (ral) painter |
US11134016B2 (en) * | 2018-10-26 | 2021-09-28 | Hughes Network Systems, Llc | Monitoring a communication network |
-
2022
- 2022-11-15 CN CN202211426518.2A patent/CN115499317B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577660A (zh) * | 2012-07-19 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 灰度实验系统和方法 |
CN106911576A (zh) * | 2017-02-17 | 2017-06-30 | 上海斐讯数据通信技术有限公司 | 一种路由器固件升级的分流推送方法及系统 |
CN109510852A (zh) * | 2017-09-15 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 灰度发布的方法及装置 |
CN110362974A (zh) * | 2019-05-31 | 2019-10-22 | 杭州恩牛网络技术有限公司 | 服务灰度发布方法、装置、介质及电子设备 |
CN111130890A (zh) * | 2019-12-26 | 2020-05-08 | 深圳市高德信通信股份有限公司 | 一种网络流量动态预测系统 |
CN113127023A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 业务升级的方法、装置和系统 |
CN112073320A (zh) * | 2020-11-12 | 2020-12-11 | 深圳壹账通智能科技有限公司 | 基于云网关的api灰度发布方法、装置及计算机设备 |
CN112822272A (zh) * | 2021-01-08 | 2021-05-18 | 上海理想信息产业(集团)有限公司 | 微服务灰度发布方法及装置、计算机设备及存储介质 |
CN112994987A (zh) * | 2021-05-07 | 2021-06-18 | 阿里云计算有限公司 | 云网络、用于云网络的测量系统、方法、设备及存储介质 |
CN113301168A (zh) * | 2021-07-23 | 2021-08-24 | 浩鲸云计算科技股份有限公司 | 一种动态策略灰度发布引擎实现请求精准分流方法及系统 |
CN114039866A (zh) * | 2021-10-08 | 2022-02-11 | 中移(杭州)信息技术有限公司 | 灰度发布方法、设备、存储介质及装置 |
CN114666397A (zh) * | 2022-01-29 | 2022-06-24 | 北京北信源软件股份有限公司 | 一种客户端版本更新方法及系统 |
CN114726919A (zh) * | 2022-03-22 | 2022-07-08 | 新华三大数据技术有限公司 | 灰度流量控制的方法、装置、计算机设备及存储介质 |
CN114663415A (zh) * | 2022-03-31 | 2022-06-24 | 北京工业大学 | 一种基于火焰图像灰度处理技术的公路隧道火灾预测方法及智能控制装置 |
CN114884915A (zh) * | 2022-04-19 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
Non-Patent Citations (2)
Title |
---|
灰度发布探索与实践;徐翥;《中国金融电脑》;20220707;全文 * |
电子银行系统灰度发布的研究与实现;李晓毅;《金融电子化》;20180115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115499317A (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431576B1 (en) | System, method, and computer program for determining dynamic subnetworks in a communication network | |
CN110088744B (zh) | 一种数据库维护方法及其系统 | |
CN112272932B (zh) | 用于自动生成训练数据以分析通信网络新配置的系统、方法和计算机程序 | |
CN114692169B (zh) | 应用大数据和ai分析的页面漏洞处理方法及页面服务系统 | |
CN105471647B (zh) | 一种电力通信网故障定位方法 | |
US20240015790A1 (en) | System and method of enabling a self organizing network in open ran | |
CN111090401B (zh) | 存储设备性能预测方法及装置 | |
Vizarreta et al. | Mining software repositories for predictive modelling of defects in sdn controller | |
US10756970B1 (en) | System, method, and computer program for automatic reconfiguration of a communication network | |
CN111949459A (zh) | 一种基于迁移学习和主动学习的硬盘故障预测方法及系统 | |
CN115499317B (zh) | 灰度验证方法、电子设备和可读存储介质 | |
EP4364042A1 (en) | Training a machine learning model to identify a relationship between data items | |
CN108762993A (zh) | 一种基于人工智能的虚拟机故障迁移方法与装置 | |
CN113162814B (zh) | 一种网络质量基准库的生成方法、系统及中央服务器 | |
JP6954671B2 (ja) | 予兆監視装置、予兆監視方法およびプログラム | |
US10972345B1 (en) | System, method, and computer program for evaluating confidence level of predicting a network situation in a communication network managed using artificial intelligence | |
CN110213783B (zh) | 基站的监测方法及装置、系统 | |
CN118473984B (zh) | 基于多源数据融合的网络终端故障检测平台 | |
CN113780689B (zh) | 一种基于人工智能的能量路由器寿命预测方法和装置 | |
Khichane et al. | 5GC-Analyser: Demistifying the 5G Core Network Through Statistical Analysis | |
CN117955884A (zh) | 评估方法、装置、设备及存储介质 | |
Narayan et al. | Quantifying the resilience of ICT-enabled grid services in cyber-physical energy system | |
CN116127293A (zh) | 基于负二项模型对情感分析模型效果的监测方法和装置 | |
CN114169799A (zh) | 一种气电互补能源系统状态评估方法与系统、存储介质 | |
CN117579491A (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 |