CN111399875B - 灰度升级控制方法、装置、电子设备及存储介质 - Google Patents
灰度升级控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111399875B CN111399875B CN202010151731.1A CN202010151731A CN111399875B CN 111399875 B CN111399875 B CN 111399875B CN 202010151731 A CN202010151731 A CN 202010151731A CN 111399875 B CN111399875 B CN 111399875B
- Authority
- CN
- China
- Prior art keywords
- user
- function
- gray scale
- upgrading
- upgraded
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种灰度升级控制方法、装置、电子设备及存储介质,方法包括:根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对系统的负面反馈信息,确定各用户进行第一功能升级的排序等级;按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。本发明实施例由于更为细粒度地确定灰度升级中各用户的优先顺序,进而能够有效提高灰度升级的效果。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种灰度升级控制方法、装置、电子设备及存储介质。
背景技术
灰度发布是指能够平滑过渡的一种发布方式。即让一部分用户继续使用原有产品特性A,一部分用户开始使用新的产品特性B,如果用户对B使用过程中没什么问题,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度过程中可以及时发现问题,确定是否需要继续升级或者暂停升级。
现有技术方案对选择哪部分用户先进行升级,一般只是随机选择;当然也有提案通过用户的设备IP信息、地理位置等为依据选择部分用户先进行升级。不管是随机选择还是通过用户设备IP信息、地理位置等信息进行选择,选择粒度均比较粗。此外,现有技术方案在升级过程中,对于是否继续扩大升级范围或停止升级,也没做到自动化处理,因而使得灰度升级的处理效率变得很低。
发明内容
针对现有技术中的问题,本发明实施例提出一种灰度升级控制方法、装置、电子设备及存储介质。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种灰度升级控制方法,包括:
根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;其中,所述正面关联信息为用于表征各用户与所述第一功能之间的使用关联紧密程度的信息,所述负面反馈信息为用于表征各用户在使用所述系统的过程中反馈负面内容的信息;
按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
进一步地,所述根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级,具体包括:
根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户权重值;
根据各用户权重值所处的范围,确定各用户进行所述第一功能升级的排序等级。
进一步地,所述根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户权重值,具体包括:
确定各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,并将所述比例数值作为各用户与系统中待升级的第一功能的正面关联信息;
确定各用户针对所述系统的投诉次数,并将所述投诉次数作为各用户针对所述系统的负面反馈信息;
根据所述比例数值以及所述投诉次数,确定各用户权重值。
进一步地,所述根据所述比例数值以及所述投诉次数,确定各用户权重值,具体包括:
根据所述比例数值以及所述投诉次数,按照第一关系模型确定各用户权重值;其中,第一关系模型为:Q=K/(T+1),其中,Q表示用户权重值,K表示比例数值,T表示投诉次数。
进一步地,所述按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级,具体包括:
对排序等级较高的用户进行升级,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本。
进一步地,所述调用日志数据包括:在指定时间长度内的调用总次数,调用失败次数,请求调用时长大于预设阈值的次数,以及预设级别的告警次数;
相应地,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本,具体包括:
根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,计算灰度升级情况指标;
将所述灰度升级情况指标与回滚阈值进行比较,若大于回滚阈值,则停止灰度升级并将已升级的用户回滚至升级前的版本;若小于或等于回滚阈值,则按照排序等级继续进行排序等级较低的用户的升级,直至各排序等级的用户均升级完毕或在其中一个排序等级升级结束后因出现灰度升级情况指标大于回滚阈值的情况而导致停止灰度升级并将已升级的用户回滚至升级前的版本。
进一步地,所述根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,计算灰度升级情况指标,具体包括:
根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,按照第二关系模型计算灰度升级情况指标;其中,第二关系模型为:q=(c1/c0)*w1+(c2/c0)*w2+c3;其中,q表示灰度升级情况指标,c1表示调用失败次数,c0表示调用总次数,c2表示请求调用时长大于预设阈值的次数,c3表示预设级别的告警次数,w1表示第一权重系数,w2表示第二权重系数。
第二方面,本发明实施例还提供了一种灰度升级控制装置,包括:
排序等级确定模块,用于根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;其中,所述正面关联信息为用于表征各用户与所述第一功能之间的使用关联紧密程度的信息,所述负面反馈信息为用于表征各用户在使用所述系统的过程中反馈负面内容的信息;
升级控制模块,用于按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的灰度升级控制方法。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的灰度升级控制方法。
由上述技术方案可知,本发明实施例提供的灰度升级控制方法、装置、电子设备及存储介质,由于根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息确定各用户进行所述第一功能升级的排序等级,因此,本发明实施例提供的灰度升级控制方法能够更为细粒度地确定灰度升级中各用户的优先顺序,进而能够有效提高灰度升级的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1是本发明一实施例提供的灰度升级控制方法的流程图;
图2是本发明一实施例提供的灰度升级控制装置的结构示意图;
图3是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本发明一实施例提供的灰度升级控制方法的流程图,如图1所示,本发明实施例提供的灰度升级控制方法,具体包括如下内容:
步骤101:根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;
在本步骤中,所述正面关联信息为用于表征各用户与所述第一功能之间的使用关联紧密程度的信息。例如,各用户与系统中待升级的第一功能的正面关联信息,可以指各用户调用系统中待升级的第一功能的次数或频率,也可以指各用户使用系统中待升级的第一功能的年限或时长,还可以指各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值等等,本实施例对此不作限定,只要是用于表征各用户与所述第一功能之间的使用关联紧密程度的信息均属于本实施例的保护范围。
在本步骤中,所述负面反馈信息为用于表征各用户在使用所述系统的过程中反馈负面内容的信息。例如,各用户针对所述系统的负面反馈信息,可以指各用户针对所述系统的投诉信息,投诉次数,卸载次数等等,本实施例对此不作限定,只要是用于表征各用户在使用所述系统的过程中反馈负面内容的信息均属于本实施例的保护范围。
在本步骤中,综合考虑正面关联信息和负面反馈信息可以较为准确地确定各用户进行灰度升级的排序等级,从而能够有效提高灰度升级的效果。需要说明的是,这里的排序等级可以理解成排序顺序,例如根据正面关联信息和负面反馈信息得到按照序号1、2、3、4、5、6...这样的升级排序顺序,然后按照这一的升级排序顺序进行灰度升级。此外,这里的排序等级也可以理解成根据正面关联信息和负面反馈信息确定排序顺序后,再结合一定的约束条件,得到相应的排序等级,例如可以将序号1和2确定为第一排序等级,一起进行灰度升级,将序号3和4确定为第二排序等级,一起进行灰度升级,将序号5和6确定为第三排序等级,一起进行灰度升级等。
步骤102:按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
在本步骤中,排序等级较高的用户相对于排序等级较低的用户优先进行所述第一功能的升级,因此,依据排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
由上述技术方案可知,本实施例提供的灰度升级控制方法,由于根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息确定各用户进行所述第一功能升级的排序等级,因此,本实施例提供的灰度升级控制方法能够更为细粒度地确定灰度升级中各用户的优先顺序,进而能够有效提高灰度升级的效果。
基于上述实施例的内容,在本实施例中,所述根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级,具体包括:
根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户权重值;
根据各用户权重值所处的范围,确定各用户进行所述第一功能升级的排序等级。
在本实施例中,根据用户与待升级功能的正面关联信息(比如用户访问系统待升级模块的使用时间比例),以及,用户对系统的负向反馈信息(是否有投诉),确定各用户权重值,从而有效量化各用户升级排序顺序指标,进而根据各用户权重值所处的范围,能够准确确定各用户进行所述第一功能升级的排序等级。通过本实施例的处理,可以较为准确地确定哪部分用户先做灰度发布,以达到最大化提高灰度升级效果。
基于上述实施例的内容,在本实施例中,所述根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户权重值,具体包括:
确定各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,并将所述比例数值作为各用户与系统中待升级的第一功能的正面关联信息;
确定各用户针对所述系统的投诉次数,并将所述投诉次数作为各用户针对所述系统的负面反馈信息;
根据所述比例数值以及所述投诉次数,确定各用户权重值。
在本实施例中,将各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值作为各用户与系统中待升级的第一功能的正面关联信息,以及,将各用户针对所述系统的投诉次数作为各用户针对所述系统的负面反馈信息,进而根据各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,以及,各用户针对所述系统的投诉次数,能够确定出具有能够准确反映升级优先级顺序的用户权重值。
基于上述实施例的内容,在本实施例中,所述根据所述比例数值以及所述投诉次数,确定各用户权重值,可通过如下方式实现:
根据所述比例数值以及所述投诉次数按照第一关系模型确定各用户权重值;其中,第一关系模型为:Q=K/(T+1),其中,Q表示用户权重值,K表示比例数值,T表示投诉次数;
根据各用户权重值所处的范围,确定各用户进行所述第一功能升级的排序等级。
在本实施例中,假设系统中所有的功能包括销售模块、物流模块和库存模块。这里假设系统中待升级的第一功能为销售模块。假设根据系统后台记录的用户日常访问网站的行为确定:用户A使用销售模块的时间占使用系统的总时间比例为80%(正面关联信息),使用物流模块的时间占使用系统的总时间比例为10%,使用库存模块占使用系统的总时间比例为10%,且,用户A对系统使用有过2次投诉(负向反馈信息)。用户A’使用销售模块的时间占使用系统的总时间比例为70%(正面关联信息),使用物流模块的时间占使用系统的总时间比例为20%,使用库存模块的时间占使用系统的总时间比例为10%,且,用户A’对系统使用没有投诉(无负向反馈信息)。同理,用户B使用销售模块的比例为20%,使用物流模块的比例为70%,使用库存模块的比例10%,且,用户B对系统使用没有投诉(无负向反馈信息)。同理,用户C使用销售模块的比例为40%,使用物流模块的比例为20%,使用库存模块的比例为40%,且,用户C对系统使用没有投诉(无负向反馈信息)。
在本实施例中,根据上述的第一关系模型可以得到用户权重值为:比如用户A的用户权重值为:0.8/(2+1)=0.27,用户A’的用户权重值为权重值为:0.7/(0+1)=0.7,依次类推用户B的用户权重值为权重值为0.2,用户C的用户权重值为权重值为0.4。在本实施例中,将用户权重值处于0-0.3范围内的用户确定为优先级为3级的升级用户,将用户权重值处于0.3-0.6范围内的用户确定为优先级为2级的升级用户,将用户权重值处于0.6-1范围内的用户确定为优先级为1级的升级用户,因此,按照各用户的用户权重值可知:用户A’为1级用户,用户C为2级用户,用户A和B为3级用户。
需要说明的是,本实施例中的根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息确定各用户进行升级的排序等级的具体处理过程属于本实施例的重要内容。本实施例根据用户与待升级功能的正面关联信息(比如用户访问系统待升级模块的使用时间比例),以及,用户对系统的负向反馈信息(是否有投诉),确定哪部分用户先做灰度发布,以达到最大化提高灰度升级效果,同时,还可在灰度升级未达到预期的情况下起到尽量减少用户投诉的作用。
基于上述实施例的内容,在本实施例中,上述步骤102按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级,具体包括:
对排序等级较高的用户进行升级,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本。
在本步骤中,所述调用日志数据可以包括:在指定时间长度内的调用总次数,调用失败次数,请求调用时长大于预设阈值的次数,以及预设级别的告警次数等,由此可见,根据已经进行升级后的用户的这些调用日志数据,可以自动确定当前等级用户的升级是否成功,进而可以自动确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本。
由上述技术方案可知,本实施例能够根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据自动确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本,从而实现了灰度升级的自动化控制,进而提高了灰度升级的效率。
基于上述实施例的内容,在本实施例中,所述调用日志数据包括:在指定时间长度内的调用总次数,调用失败次数,请求调用时长大于预设阈值的次数,以及预设级别的告警次数;
相应地,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本,具体包括:
根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,计算灰度升级情况指标;
将所述灰度升级情况指标与回滚阈值进行比较,若大于回滚阈值,则停止灰度升级并将已升级的用户回滚至升级前的版本;若小于或等于回滚阈值,则按照排序等级继续进行排序等级较低的用户的升级,直至各排序等级的用户均升级完毕或在其中一个排序等级升级结束后因出现灰度升级情况指标大于回滚阈值的情况而导致停止灰度升级并将已升级的用户回滚至升级前的版本。
在本实施例中,首先获取排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,然后根据这些调用日志数据计算灰度升级情况指标,最后将所述灰度升级情况指标与回滚阈值进行比较,若大于回滚阈值,则停止灰度升级并将已升级的用户回滚至升级前的版本;若小于或等于回滚阈值,则按照排序等级继续进行排序等级较低的用户的升级,直至各排序等级的用户均升级完毕或在其中一个排序等级升级结束后因出现灰度升级情况指标大于回滚阈值的情况而导致停止灰度升级并将已升级的用户回滚至升级前的版本,从而实现了灰度升级的自动化控制,进而提高了灰度升级的效率。
基于上述实施例的内容,在本实施例中,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,计算灰度升级情况指标,具体可通过如下方式实现:
根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,按照第二关系模型计算灰度升级情况指标;其中,第二关系模型为:q=(c1/c0)*w1+(c2/c0)*w2+c3;其中,q表示灰度升级情况指标,c1表示调用失败次数,c0表示调用总次数,c2表示请求调用时长大于预设阈值的次数,c3表示预设级别的告警次数(这里的预设级别的告警次数可以为严重告警的次数,也可以为中级告警次数与严重告警次数之和等等),w1表示第一权重系数,第一权重系数用于指示调用失败的权重,w2表示第二权重系数,第二权重系数用于指示请求调用时长大于预设阈值的权重;第一权重系数和第二权重系数根据实际需要进行设置,一般来说,第一权重系数要大于第二权重系数;
在本实施例中,首先获取排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,然后根据这些调用日志数据按照第二关系模型q=(c1/c0)*w1+(c2/c0)*w2+c3计算灰度升级情况指标,最后将所述灰度升级情况指标与回滚阈值进行比较,若大于回滚阈值,则停止灰度升级并将已升级的用户回滚至升级前的版本;若小于或等于回滚阈值,则按照排序等级继续进行排序等级较低的用户的升级,直至各排序等级的用户均升级完毕或在其中一个排序等级升级结束后因出现灰度升级情况指标大于回滚阈值的情况而导致停止灰度升级并将已升级的用户回滚至升级前的版本。
举例来说,对下面存在的几种情况进行分析:
1)1分钟内一共调用100次,调用失败1次,第一权重系数为5,请求调用时长大于预设阈值(如5s)的次数为2次,第二权重系数为1,无严重告警信息,回滚阈值为0.1,那么根据上述第二关系模型得到的计算结果为:1/100*5+2/100*1+0=0.01*5+0.02=0.07值小于0.1,因此不做回滚,而是按照排序等级继续进行排序等级较低的用户的升级;
2)1分钟内一共调用100次,调用失败2次,第一权重系数为5,请求调用时长大于预设阈值(如5s)的次数为2次,第二权重系数为1,无严重告警信息,回滚阈值为0.1。那么根据上述第二关系模型得到的计算结果为:2/100*5+2/100*1=0.02*5+0.02=0.12值大于0.1,因此需要回滚,也即停止灰度升级并将已升级的用户回滚至升级前的版本。
3)1分钟内一共调用100次,调用失败2次,第一权重系数为5,请求调用时长大于预设阈值(如5s)的次数为2次,第二权重系数为1,有1次严重告警信息,是否回滚阈值0.1。那么根据上述第二关系模型得到的计算结果为:2/100*5+2/100*1+1=0.02*5+0.02=1.12值大于0.1,因此需要回滚,也即停止灰度升级并将已升级的用户回滚至升级前的版本。
根据上面的例子可知,本实施例通过对日志告警关键信息的采集计算是否达到回滚阈值来判断灰度升级以后的服务是否是达到预期(比如:接口调用成功率、接口调用时间、严重告警信息等),当出现灰度升级情况指标大于回滚阈值的情况时,表示升级以后的服务不能达到预期,因此此时应发送回滚指令以立即终止升级;当出现灰度升级情况指标小于或等于回滚阈值的情况时,表示升级以后的服务能够达到预期,因此此时应继续进行灰度升级。
由此可见,本实施例根据这些调用日志数据能够自动确定当前升级是否成功,若是,则可以继续进行排序等级较低的用户的升级,否则,需要停止灰度升级并将已升级的用户回滚至升级前的版本,由此可见,本实施例实现了灰度升级的自动化控制,进而提高了灰度升级的效率。此外,需要说明的是,本实施例中的根据排序等级较高的用户进行第一功能升级后针对所述第一功能的调用日志数据确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本的处理过程属于本实施例较为重要的内容,通过这样的处理过程使得有理有据地自动完成了灰度升级过程的控制。
基于上述实施例的内容,在本实施例中,所述灰度升级控制方法,还包括:
在每次出现停止灰度升级并将已升级的用户回滚至升级前的版本的情况后,间隔预设时间段,按照各用户的排序等级重新进行第一功能升级,并根据升级后针对所述第一功能的调用日志数据,确定是否继续进行灰度升级或停止灰度升级并将已升级的用户回滚至升级前的版本;
当统计获知连续出现预设次数的停止灰度升级并将已升级的用户回滚至升级前的版本的情况后,不再进行灰度升级,并发送灰度升级失败的提示信息。
在本实施例中,为实现灰度升级的自动化控制,同时也为了提高灰度升级的成功率,因此,在每次出现停止灰度升级并将已升级的用户回滚至升级前的版本的情况后,间隔预设时间段(如10分钟、30分钟、1个小时等等),然后按照各用户的排序等级重新进行第一功能升级,并根据升级后针对第一功能的调用日志数据,确定是否继续进行灰度升级或停止灰度升级并将已升级的用户回滚至升级前的版本,此外,为避免无限次的尝试升级消耗过多的资源,因此,在本实施中,当统计获知连续出现预设次数(如连续出现3次)的停止灰度升级并将已升级的用户回滚至升级前的版本的情况后,不再进行灰度升级,并发送灰度升级失败的提示信息。
下面通过一个具体的例子对本实施例的灰度升级控制过程进行详细说明。
正如上面实施例的介绍,假设系统中的销售模块需要进行灰度升级,且用户A’、用户A、用户B和用户C的升级排序等级为:用户A’为1级用户,用户C为2级用户,用户A和B为3级用户。
本实施例在实现灰度升级控制时,可以先创建2.0版本的Docker容器,并对于1.0版本Docker容器不做删除。然后可以按照升级排序等级先升级1级用户,将1级用户A’流量导入到销售模块2.0的容器,2级,3级用户A,B,C先仍然导流请求到1.0版本,然后根据日志和告警模块每分钟采集的日志信息和是否有无告警信息,根据如上所示的第二关系模型计算得出的值是否超过回滚阈值判断灰度升级继续还是回滚,如果预设时间段(如30分钟)内未收到大于回滚阈值的回滚消息指令,则继续将2级用户请求导流到2.0版本,依此完成所有用户请求导流到2.0版本,最后在预设时间段(如30分钟)内无回滚消息指令,则将1.0版本容器在注册中心去注册(也就是注销的意思),完成灰度升级;如果在灰度升级过程中有回滚消息指令,将调用回滚接口将用户请求回滚导流到1.0版本,并在预设时间段(如30分钟)后重试升级,3次升级失败则停止灰度升级,并将2.0版本从注册中心去注册,升级失败,回滚到1.0版本。具体流程如下:
1)用户A'请求先转到销售模块2.0;用户A,B,C仍然访问销售模块1.0;
2)30分钟以后,没有收到回滚消息指令;
3)用户C被切换到访问销售2.0;
4)收到回滚消息指令,将A',C用户切回销售模块1.0;
5)30分钟以后,重试灰度发布流程;如果还是失败,重试3次以后,不再升级,并从注册中心去注册销售模块2.0,灰度发布失败,仍然保持1.0版本;
4')如果30分钟内,没有收到回滚消息指令,则将A和B用户切到销售模块2.0;
5')如果30分钟内,没有收到回滚消息指令,将销售模块1.0服务从注册中心去注册,灰度发布完成。
需要说明的是,告警、日志模块收集灰度发布过程中请求调用的日志信息和告警信息,提供给相应的计算模块计算是否达到回滚阈值以判断需要回滚,还是继续灰度发布。
由此可见,在本实施例中,基于用户访问习惯(喜欢使用系统哪个模块,哪个模块使用时间最长)以及用户标签(是否经常投诉),按等级有侧重自动、自学习进行版本的灰度发布。通过用户访问习惯和用户标签找到最适合的用户优先导流请求到2.0版本,灰度发布过程中根据上一级用户使用过程获取到的日志告警信息自动判断升级是否继续,逐渐将所有用户导流到2.0版本,以完成升级。因此,本实施例可以做到自动化、自学习,无需人工介入,如果升级过程中获得的灰度升级情况指标反馈值大于回滚阈值,则表示升级以后的服务不能达到预期,因此此时应发送回滚指令以自动完成回滚,取消升级。如果升级过程中获得的灰度升级情况指标反馈值小于或等于回滚阈值,则表示升级以后的服务能够达到预期,因此此时应继续完成灰度升级。
图2示出了本发明实施例提供的灰度升级控制装置的结构示意图。如图2所示,本发明实施例提供的灰度升级控制装置包括:排序等级确定模块21和升级控制模块22,其中:
排序等级确定模块21,用于根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级,其中,所述正面关联信息为用于表征各用户与所述第一功能之间的使用关联紧密程度的信息,所述负面反馈信息为用于表征各用户在使用所述系统的过程中反馈负面内容的信息;
升级控制模块22,用于按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
由于本实施例提供的灰度升级控制装置,可以用于执行上述实施例提供的灰度升级控制方法,其工作原理和有益效果类似,此处不再详述。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图3,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304;
其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信;所述通信接口303用于实现各设备之间的信息传输;
所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述灰度升级控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述灰度升级控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的灰度升级控制方法。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种灰度升级控制方法,其特征在于,包括:
根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;具体包括:确定各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,并将所述比例数值作为各用户与系统中待升级的第一功能的正面关联信息;确定各用户针对所述系统的投诉次数,并将所述投诉次数作为各用户针对所述系统的负面反馈信息;根据所述比例数值以及所述投诉次数,按照第一关系模型确定各用户权重值;根据各用户权重值所处的范围,确定各用户进行所述第一功能升级的排序等级;
所述第一关系模型为:Q=K/(T+1),其中,Q表示用户权重值,K表示各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,T表示投诉次数;
其中,所述正面关联信息为用于表征各用户与所述第一功能之间的使用关联紧密程度的信息,所述负面反馈信息为用于表征各用户在使用所述系统的过程中反馈负面内容的信息;
按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
2.根据权利要求1所述的灰度升级控制方法,其特征在于,所述按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级,具体包括:
对排序等级较高的用户进行升级,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本。
3.根据权利要求2所述的灰度升级控制方法,其特征在于,所述调用日志数据包括:在指定时间长度内的调用总次数,调用失败次数,请求调用时长大于预设阈值的次数,以及预设级别的告警次数;
相应地,根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,确定是否继续进行排序等级较低的用户的升级或停止灰度升级并将已升级的用户回滚至升级前的版本,具体包括:
根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,计算灰度升级情况指标;
将所述灰度升级情况指标与回滚阈值进行比较,若大于回滚阈值,则停止灰度升级并将已升级的用户回滚至升级前的版本;若小于或等于回滚阈值,则按照排序等级继续进行排序等级较低的用户的升级,直至各排序等级的用户均升级完毕或在其中一个排序等级升级结束后因出现灰度升级情况指标大于回滚阈值的情况而导致停止灰度升级并将已升级的用户回滚至升级前的版本。
4.根据权利要求2所述的灰度升级控制方法,其特征在于,所述根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,计算灰度升级情况指标,具体包括:
根据排序等级较高的用户进行所述第一功能升级后针对所述第一功能的调用日志数据,按照第二关系模型计算灰度升级情况指标;其中,第二关系模型为:q=(c1/c0)*w1+(c2/c0)*w2+c3;其中,q表示灰度升级情况指标,c1表示调用失败次数,c0表示调用总次数,c2表示请求调用时长大于预设阈值的次数,c3表示预设级别的告警次数,w1表示第一权重系数,w2表示第二权重系数。
5.一种灰度升级控制装置,其特征在于,包括:
排序等级确定模块,用于根据各用户与系统中待升级的第一功能的正面关联信息以及各用户针对所述系统的负面反馈信息,确定各用户进行所述第一功能升级的排序等级;具体包括:确定各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,并将所述比例数值作为各用户与系统中待升级的第一功能的正面关联信息;确定各用户针对所述系统的投诉次数,并将所述投诉次数作为各用户针对所述系统的负面反馈信息;根据所述比例数值以及所述投诉次数,按照第一关系模型确定各用户权重值;根据各用户权重值所处的范围,确定各用户进行所述第一功能升级的排序等级;
所述第一关系模型为:Q=K/(T+1),其中,Q表示用户权重值,K表示各用户使用系统中待升级的第一功能的时间占各用户使用所述系统中各功能的总时间的比例数值,T表示投诉次数;
其中,所述正面关联信息为用于表征各用户与所述第一功能之间的使用关联紧密程度的信息,所述负面反馈信息为用于表征各用户在使用所述系统的过程中反馈负面内容的信息;
升级控制模块,用于按照排序等级由高到低的顺序,对相应用户进行所述第一功能的升级。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一所述的灰度升级控制方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一所述的灰度升级控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010151731.1A CN111399875B (zh) | 2020-03-06 | 2020-03-06 | 灰度升级控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010151731.1A CN111399875B (zh) | 2020-03-06 | 2020-03-06 | 灰度升级控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399875A CN111399875A (zh) | 2020-07-10 |
CN111399875B true CN111399875B (zh) | 2023-09-05 |
Family
ID=71436263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010151731.1A Active CN111399875B (zh) | 2020-03-06 | 2020-03-06 | 灰度升级控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399875B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099820A (zh) * | 2020-08-24 | 2020-12-18 | 华帝股份有限公司 | 一种ota升级方法、系统及智能设备 |
CN116841717B (zh) * | 2023-09-04 | 2023-11-07 | 成都太阳高科技有限责任公司 | 一种根据任务紧急程度实时生成排序的方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138371A (zh) * | 2015-08-26 | 2015-12-09 | 小米科技有限责任公司 | 软件升级方法及装置 |
CN108243254A (zh) * | 2018-01-17 | 2018-07-03 | 平安科技(深圳)有限公司 | 电子装置、应用升级版本发布的方法及存储介质 |
CN108920160A (zh) * | 2018-05-31 | 2018-11-30 | 深圳壹账通智能科技有限公司 | 应用程序app的升级方法、装置、服务器及计算机存储介质 |
CN109117163A (zh) * | 2018-08-30 | 2019-01-01 | 北京奇艺世纪科技有限公司 | 一种客户端升级方法及装置 |
CN109391655A (zh) * | 2017-08-09 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 服务灰度发布方法、装置、系统及存储介质 |
CN110071960A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 管理灰度发布的方法、系统、设备及存储介质 |
CN110162382A (zh) * | 2019-04-09 | 2019-08-23 | 平安科技(深圳)有限公司 | 基于容器的灰度发布方法、装置、计算机设备及存储介质 |
WO2019184727A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 一种服务升级管理的方法、装置及存储介质 |
CN110489131A (zh) * | 2018-05-15 | 2019-11-22 | 中国移动通信集团浙江有限公司 | 一种灰度用户选取方法及装置 |
-
2020
- 2020-03-06 CN CN202010151731.1A patent/CN111399875B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138371A (zh) * | 2015-08-26 | 2015-12-09 | 小米科技有限责任公司 | 软件升级方法及装置 |
CN109391655A (zh) * | 2017-08-09 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 服务灰度发布方法、装置、系统及存储介质 |
CN108243254A (zh) * | 2018-01-17 | 2018-07-03 | 平安科技(深圳)有限公司 | 电子装置、应用升级版本发布的方法及存储介质 |
WO2019184727A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 一种服务升级管理的方法、装置及存储介质 |
CN110489131A (zh) * | 2018-05-15 | 2019-11-22 | 中国移动通信集团浙江有限公司 | 一种灰度用户选取方法及装置 |
CN108920160A (zh) * | 2018-05-31 | 2018-11-30 | 深圳壹账通智能科技有限公司 | 应用程序app的升级方法、装置、服务器及计算机存储介质 |
CN109117163A (zh) * | 2018-08-30 | 2019-01-01 | 北京奇艺世纪科技有限公司 | 一种客户端升级方法及装置 |
CN110071960A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 管理灰度发布的方法、系统、设备及存储介质 |
CN110162382A (zh) * | 2019-04-09 | 2019-08-23 | 平安科技(深圳)有限公司 | 基于容器的灰度发布方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李旭风.敏捷和迭代式开发的生态环境.《中国金融电脑》.2017,第34-36页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111399875A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103403674B (zh) | 执行基于策略的改变过程 | |
CN111399875B (zh) | 灰度升级控制方法、装置、电子设备及存储介质 | |
CN109586952B (zh) | 服务器扩容方法、装置 | |
CN111611517A (zh) | 指标监控方法、装置、电子设备及存储介质 | |
CN111988422A (zh) | 应用服务的订阅方法、装置、服务器及存储介质 | |
CN109885774B (zh) | 个性化内容的推荐方法、装置及设备 | |
CN111835790B (zh) | 一种风险识别方法、装置及系统 | |
CN113094183B (zh) | Ai训练平台的训练任务创建方法、装置、系统及介质 | |
CN111277662B (zh) | 代理服务器的处理方法、电子设备及存储介质 | |
CN111949421B (zh) | Sdk调用方法、装置、电子设备和计算机可读存储介质 | |
CN107291601B (zh) | 一种安全运维方法及系统 | |
CN113326061A (zh) | 熔断配置修改方法、装置、设备及可读存储介质 | |
CN110070392B (zh) | 用户流失预警方法和装置 | |
CN111311310A (zh) | 广告订单推送方法及装置、存储介质及电子装置 | |
CN115374088A (zh) | 数据库健康度分析方法、装置、设备及可读存储介质 | |
JP2002351852A (ja) | システム運用管理方式 | |
CN110851286B (zh) | 线程管理方法、装置、电子设备及存储介质 | |
CN114499998B (zh) | 安全防护方法、装置、电子设备和存储介质 | |
CN116049326B (zh) | 医疗器械知识库构建方法、电子设备及存储介质 | |
CN112559142B (zh) | 容器的控制方法、装置、边缘计算系统、介质及设备 | |
CN111198986A (zh) | 信息发送方法、装置、电子设备及存储介质 | |
CN112153685B (zh) | Rrc故障检测方法和装置 | |
CN115118782B (zh) | 数据控制方法、装置、电子设备及计算机可读存储介质 | |
CN113238770B (zh) | 产品平台的更新方法、装置、电子设备及存储介质 | |
CN109919521B (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 |