版本发布方法及装置与流程

文档序号:26003440发布日期:2021-07-23 21:21阅读:89来源:国知局
版本发布方法及装置与流程

本公开涉及电子信息技术领域,尤其涉及版本发布方法及装置。



背景技术:

随着云计算的发展和成熟,云桌面的使用场景越来越广泛,高校、医疗、政府等多个行业开始渐渐普及云桌面办公,云桌面也会是以后的一个整体趋势。但对于云桌面来说,稳定性尤为重要,使用过程云桌面程序出现一丁点问题都可能会影响用户正常使用,尤其在是云桌面新版本上线,产品都要承受极大的压力。为了解决压力,现有技术采用了灰度发布的方法,具体的,灰度发布可以通过小流量来先进行测试工作,帮助新版本完成平滑迭代,从而能够避免新版本全量上线的风险。

但是在灰度发布中承担新版本的用户,会因为测试过程中产生的故障,影响正常使用或者数据丢失,严重影响用户的操作体验。



技术实现要素:

本公开实施例提供一种版本发布方法及装置,能够解决在云桌面系统发布新软件时,因为测试故障导致用户操作体验差的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种版本发布方法,该方法包括:

当检测到目标用户登录新建虚拟机时,确定该新建虚拟机为主机,并确定该目标用户的初始虚拟机为备用机,该目标用户为体验新版软件的用户,该新建虚拟机配置有该新版软件,该初始虚拟机和新建虚拟机已建立关联关系;

获取该目标用户登录该主机后的使用数据,并同步该使用数据至该备用机;

当检测到双机倒换功能被激活后,分离处理该主机和该备用机,并切换该目标用户登录至该备用机,该双机倒换功能用于指示切换主机和备用机的使用。

在一个实施例中,该方法还包括:

获取该初始虚拟机的参数信息,该参数信息至少包括:软件信息、历史使用数据和配置信息;

根据该初始虚拟机的参数信息,创建新的虚拟机;

建立该初始虚拟机和该新建虚拟机之间的传输链路,以使得该初始虚拟机和该新建虚拟机保持数据同步。

在一个实施例中,该方法还包括:

持续监测该主机的心跳状态,该心跳状态用于指示该虚拟机设备的运行状态;

当在预设时间段内未成功检测到心跳状态时,则激活双机倒换功能;

或者,接收到退出指令,该退出指令用于指示退出体验该新版软件;

根据该退出指令,激活双机倒换功能。

在一个实施例中,该方法还包括:

当该主机与该备用机已成功分离后,对该主机中的新版软件进行维修处理;

当新版软件已成功维修后,重新建立备用机与主机之间的传输链路。

在一个实施例中,该方法还包括:

获取该目标用户登录并使用该备用机期间的使用数据;

当该主机与该备用机重新建立传输链路后,同步该备用机中的使用数据至该主机中;

切换该目标用户登录至该主机。

在一个实施例中,该方法还包括:

通过登录界面获取该目标用户的登录信息,该登录界面包括第一虚拟机的登录入口和第二虚拟机的登录入口,该登录信息用于指示登录初始虚拟机或者新建虚拟机;

根据该登录信息,登录初始虚拟机或者新建虚拟机;

在初始虚拟机或者新建虚拟机中确定本次登录的虚拟机为主机,并确定另一个虚拟机为备用机。

根据本公开实施例的第二方面,提供一种版本发布装置,包括:确定模块、同步模块和分离模块,

该确定模块,用于当检测到目标用户登录新建虚拟机时,确定该新建虚拟机为主机,并确定该目标用户的初始虚拟机为备用机,该目标用户为体验新版软件的用户,该新建虚拟机配置有该新版软件,该初始虚拟机和新建虚拟机已建立关联关系;

该同步模块,用于获取该目标用户登录该主机后的使用数据,并同步该使用数据至该备用机;

该分离模块,用于当检测到双机倒换功能被激活后,分离处理该主机和该备用机,并切换该目标用户登录至该备用机,该双机倒换功能用于指示切换主机和备用机的使用。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种版本发布方法的系统框架图;

图1a是本公开实施例提供的一种版本发布方法的策略示意图;

图2是本公开实施例提供的一种版本发布方法的流程图;

图3是本公开实施例提供的一种版本发布装置的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供方法可以应用于云桌面系统中的服务器,具体的云桌面系统结构可参照图1。桌面虚拟化是指将计算机的终端系统(也称作桌面)进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过任何设备,在任何地点,任何时间通过网络访问属于我们个人的桌面系统。利用虚拟化技术,对各种物理设备进行虚拟化处理,从而使资源的利用率得到有效提升,以此节约成本、提高应用质量。在虚拟化技术的支持下,网络软件和硬件设备之间的联系会更加灵活,可拓展性也会大大提升。云桌面利用虚拟化技术本质上是对各项历史使用数据进行统一储存和管理,通过简单的网络接入设备,用户端就能够进入云桌面实现集中管理,并且实现高效率的资源共享。

基于上述的系统架构,本公开所提供的软件发布示意图,如图1a所示,本公开所提供方法中的软件灰度发布流程示意图,该发布流程明从部署系统介入,在服务器端单独部署一个新的虚拟机,该新的虚拟机配置有新的软件(待发布的软件),同时保留用户旧的虚拟机,并将这两个虚拟机配置成高可用模式,新建虚拟机默认为主机,旧版本虚拟机默认为备机,将这两个虚拟机同时下挂在当前用户账号下;按照策略,用户使用的是新建虚拟机,旧的虚拟机为备用环境;用户可以在主机和备机之间进行切换,从而更好的对比新旧两个版本的性能优劣。

当用户使用主机时,数据会实时同步到备机上,相应的,当用户使用备机时,数据会实时同步到主机上,从而使两个虚拟机的用户数据保持一致;

当新版本出现问题,系统自动将现有主备机做倒换操作,使新版本虚拟机成为备机,旧版本虚拟机成为主机,用户使用旧版本虚拟机办公,由于数据是一致的,用户在使用过程几乎不会有任何差异,同时客户生成数据会通过双机模式,从旧版本虚拟机向新版本虚拟机同步,所以在新版本虚拟机修复后,或发布新一轮版本时,用户仍然可以在切换到新版本虚拟机上办公,直到版本趋于稳定;当新版本满足发布条件后,断开双机连接,删除旧版本虚拟机,完成整个灰度发布。

基于上述的软件发布思路,本公开实施例提供一种软件发布方法,如图2所示,该版本发布方法包括以下步骤:

201、当检测到目标用户登录新建虚拟机时,确定该新建虚拟机为主机,并确定该目标用户的初始虚拟机为备用机。

该目标用户为体验新版软件的用户。

本公开所提供方法中,会基于预设策略在用户中随机选取体验新版软件的目标用户,通过收集这部分目标用户对新版本应用的反馈以及对新版本功能、性能、稳定性等指标进行评论,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。

本公开所提供方法还包括创建与用户初始虚拟机相匹配的新建虚拟机,具体的创建过程包括:

在用户的初始虚拟机的基础上创建一个新的虚拟机,同时在新的虚拟机上更新版本;创建版本之前,两个虚拟机的数据要一致,可以同步镜像或者通过快照来协助完成,也可以直接创建双机,数据通过双机同步。

基于上述新建的虚拟机,建立新建虚拟机与初始虚拟机之间的传输链路,从而保证两个虚拟机数据的同步。

进一步的,在用户正常使用其中的一个虚拟机时,使用数据会在主机和备机之间进行数据同步处理。

本公开所提供方法中可以获取用户登录信息可以确定此处登录的虚拟机是新建虚拟机还是初始虚拟机,具体包括:

通过登录界面获取该目标用户的登录信息,该登录界面包括第一虚拟机的登录入口和第二虚拟机的登录入口,该登录信息用于指示登录初始虚拟机或者新建虚拟机;

根据该登录信息,登录初始虚拟机或者新建虚拟机;

在初始虚拟机或者新建虚拟机中确定本次登录的虚拟机为主机,并确定另一个虚拟机为备用机。

具体的,在实践中在用户的登录界面上会出现主备两个虚拟机的标签,用户可以通过这两个标签来选择要登录的虚拟机,也就是说,在灰度发布期间,用户可以选择使用新虚拟机也可以选择使用旧虚拟机。。

本公开所提供方法中,会将初始虚拟机和新建虚拟机均配置在当前登录用户的账户下。

基于用户的登录选择,确定此次登录的虚拟机为主机,另一个虚拟机为备用虚拟机,用户可以在主机和备机之间进行切换,从而更好的对比新旧两个版本的性能优劣。

202、获取目标用户登录该主机后的使用数据,并同步该使用数据至该备用机。

本公开所提供的方法在用户使用过程中,会不断检测当前两个虚拟机的使用状态;当用户使用新虚拟机时,系统将新虚拟机上新产生的数据同步给旧虚拟机;当用户使用旧虚拟机时,系统将旧虚拟机上新产生的数据同步给新虚拟机,从而保证当用户切换主机和备用机之后,两个虚拟机数据的一致性,提高了用户的操作便捷性和满意度。

本公开所提供的方法在灰度发布开始后,将筛选出的目标用户切到新版本上,然后再对新版本做运行状态观察,收集各种运行时数据,如果此时对新旧版本做各种数据对比,就是所谓的a/b测试。当确认新版本运行良好后,再逐步将更多的切到新版本上,在此期间,还可以不断地调整新旧两个版本的用户数量,以使得新版本能够承受越来越大的压力。直到将100%的用户切到新版本上,完成灰度发布。如果在灰度发布过程中(灰度期)发现了新版本有问题,就应该立即将用户切回老版本上,这样,就会将负面影响控制在最小范围内。

203、当检测到双机倒换功能被激活后,分离处理该主机和该备用机,并切换目标用户登录至该备用机,该双机倒换功能用于指示切换主机和备用机的使用。

当主机和备用机分离后,还会对主机进行检测处理,其中,对该主机进行检测处理包括对新版软件做处理;对新版本的处理主要包括问题分析、处理、部署更新的版本等。

本公开所提供的方法还包括有双机倒换功能,该双机倒换功能是指将主机和备用机切换,如,原来的主机成为备机,进入待机状态,原来的备机成为主机,接管所有业务。

具体的,当新版本出现问题时,自动将现有主备机做倒换操作,使新版本虚拟机成为备机,旧版本虚拟机成为主机,用户使用旧版本虚拟机办公,由于两个虚拟机的数据是一致的,用户在使用过程几乎不会有任何差异,同时客户生成数据会通过双机模式,从旧版本虚拟机向新版本虚拟机同步,所以在新版本虚拟机修复后,或发布新一轮版本时,用户仍然可以在切换到新版本虚拟机上办公,直到版本趋于稳定;当新版本满足发布条件后,断开双机连接,删除旧版本虚拟机,完成整个灰度发布

在具体的实践中,双机倒换的激活条件有两种:

持续监测备用虚拟机的心跳状态;

当在预设时间段内未成功检测到心跳状态时,则激活功能

或者,接收到退出指令,该退出指令用于指示退出体验该新版软件;

根据该退出指令,激活双机倒换功能。

基于上述的激活条件,此处列举具体示例进行阐释:

示例一、主机和备用机通过心跳连接获取对端的状态,当主机出现故障时,备机检测不到主机心跳,自动启动,并接管所有业务;

示例二、用户主动激活双机倒换,比如用户认为新版本无法使用,或者使用体验不佳、想切换到旧版本上,只需要对备机进行连接,备机检测到主机还在运行,就进行倒换操作,完成该操作后,用户就可以正常使用备机了,由于主备机数据相同,所以几乎不会影响用户使用。

进一步的,在激活双机倒换功能后,还需要先确认主机与备用机之间的数据同步处理是否完成,在确认数据同步处理已完成后,再进行虚拟机的切换登录,从而保证用户切换虚拟机之后数据的一致性,提高了用户的操作满意度。

本公开通过激活双机切换功能,可以随时在新旧两个版本之间自主切换,通过使用高可用方案关联两个版本的环境,使其数据保持一致;如果新的版本出现问题,用户也能很快切到旧版本继续使用,操作便捷且数据不会丢失,很大程度上为这一部分用户办公提供了一个冗余的保护。

本公开实施例提供的版本发布方法,在发布新的软件时,基于用户的初始虚拟机创建新的虚拟机,并建立该新建虚拟机与初始虚拟机之间的数据关联关系。当目标用户选择使用新建虚拟机时,同步新建虚拟机的使用数据至初始虚拟机,当用户退出体验或者新建虚拟机需要检修时,则切换用户使用初始虚拟机,断开初始虚拟机和新建虚拟机的关联,并检修新建虚拟机。

本公开所提供的方法,在云桌面产品灰度发布的基础上,保留试用新版本用户的旧版本环境,用户在试用新软件过程中,可以随时在新旧两个版本之间自主切换,通过维持高可用方案关联两个版本的环境,使其数据保持一致;如果新的版本出现问题,用户快速切到旧版本继续使用,为体验新版软件的用户提供了数据保护功能,避免了在用户体验过程中数据丢失的问题,该方法操作便捷,且用户满意度高。

基于上述图2对应的实施例提供的版本发布方法,本公开另一实施例提供一种版本发布方法,该方法可以应用于服务器,并不代表本公开局限于此。本实施例提供的版本发布方法包括以下步骤:

步骤一、在旧版本虚拟机的基础上创建一个新的虚拟机,同时在新的虚拟机上更新版本。

具体的,在创建新的虚拟机之前,两个虚拟机的数据要一致,可以同步镜像或者通过快照来协助完成,也可以直接创建两个一样的虚拟机,数据通过双机完成同步处理。

步骤二、建立新建虚拟机和旧版虚拟机之间的双机连接,使新版本虚拟机为主机,旧版本虚拟机为备机。

云桌面版本不能在同步数据的范围内,否则新版本会覆盖旧虚拟机上的版本。

步骤三、用户登录主机并正常使用,主机获取用户的使用数据,并同步使用数据至备机。

具体的,用户的登录界面上会出现主备两个虚拟机的标签,用户可以通过这两个标签来选择要登录的虚拟机,也就是说,在灰度发布期间,用户可以选择使用新虚拟机也可以选择使用旧虚拟机。

在用户使用过程中,系统不断检测当前两个虚拟机的使用状态;当用户使用新虚拟机时,系统将新虚拟机上新产生的数据同步给旧虚拟机;当用户使用旧虚拟机时,系统将旧虚拟机上新产生的数据同步给新虚拟机。

步骤四、当主机激活双机倒换功能时,备机启动,主机进入待机状态,以使得用户使用备机。

具体的,当主机发生异常或用户连接备机时,主机启动双机倒换功能。

步骤五、主机和备用机分离处理,对主机中的新版本做处理。

对新版本的处理主要包括问题分析、处理、部署更新的版本等。

步骤六、主机和备用机主备同步处理。

以旧版本虚拟机为主,新版本虚拟机为备,进行分离期间中备用机的使用数据同步。

这一步骤的主要原因是,接下来会继续让用户使用新版本,所以要把在双机分离的这段时间内用户环境产生的数据同步到新版本上来;同时也可以根据当前旧版本的状态,新建一个新的虚拟机,完成步骤一至步骤二的操作;

步骤七、重复步骤三~步骤六操作,直到版本稳定,达到正式发布的状态;

步骤八、主机和备用机断开连接,并删除旧版本虚拟机,完成灰度发布。

此时用户已经正式使用新版本虚拟机,旧版本虚拟机已经不再需要。

本公开所提供的方法,在云桌面产品灰度发布的基础上,保留试用新版本用户的旧版本环境,用户在试用过程中,可以随时在新旧两个版本之间自主切换,通过维持高可用方案关联两个版本的环境,使其数据保持一致;如果新的版本出现问题,用户快速切到旧版本继续使用,为体验新版软件的用户提供了数据保护功能,避免了在用户体验过程中数据丢失的问题,该方法操作便捷,且用户满意度高。

实施例二

基于上述图3对应的实施例中所描述的版本发布方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种版本发布装置,如图3所示,该版本发布装置30包括:确定模块301、同步模块302和分离模块303,

该确定模块301,用于当检测到目标用户登录新建虚拟机时,确定该新建虚拟机为主机,并确定该目标用户的初始虚拟机为备用机,该目标用户为体验新版软件的用户,该新建虚拟机配置有该新版软件,该初始虚拟机和新建虚拟机已建立关联关系;

该同步模块302,用于获取该目标用户登录该主机后的使用数据,并同步该使用数据至该备用机;

该分离模块303,用于当检测到双机倒换功能被激活后,分离处理该主机和该备用机,并切换该目标用户登录至该备用机,该双机倒换功能用于指示切换主机和备用机的使用。

在一个实施例中,该装置30中的确定模块301,还用于:

通过登录界面获取该目标用户的登录信息,该登录界面包括第一虚拟机的登录入口和第二虚拟机的登录入口,该登录信息用于指示登录初始虚拟机或者新建虚拟机;

根据该登录信息,登录初始虚拟机或者新建虚拟机;

在初始虚拟机或者新建虚拟机中确定本次登录的虚拟机为主机,并确定另一个虚拟机为备用机。

在一个实施例中,该装置30中的同步模块302,还用于:

获取该初始虚拟机的参数信息,该参数信息至少包括:软件信息、历史使用数据和配置信息;

根据该初始虚拟机的参数信息,创建新的虚拟机;

建立该初始虚拟机和该新建虚拟机之间的传输链路,以使得该初始虚拟机和该新建虚拟机保持数据同步。

在一个实施例中,该装置30中的分离模块303,还用于:

持续监测该主机的心跳状态,该心跳状态用于指示该虚拟机设备的运行状态;

当在预设时间段内未成功检测到心跳状态时,则激活双机倒换功能;

或者,接收到退出指令,该退出指令用于指示退出体验该新版软件;

根据该退出指令,激活双机倒换功能。

在一个实施例中,该装置30中的分离模块303,还用于:

当该主机与该备用机已成功分离后,对该主机中的新版软件进行维修处理;

当新版软件已成功维修后,重新建立备用机与主机之间的传输链路。

在一个实施例中,该装置30中的分离模块303,还用于:

获取该目标用户登录并使用该备用机期间的使用数据;

当该主机与该备用机重新建立传输链路后,同步该备用机中的使用数据至该主机中;

切换该目标用户登录至该主机。

本公开实施例提供的版本发布装置,在云桌面产品灰度发布的基础上,保留试用新版本用户的旧版本环境,用户在试用过程中,可以随时在新旧两个版本之间自主切换,通过维持高可用方案关联两个版本的环境,使其数据保持一致;如果新的版本出现问题,用户快速切到旧版本继续使用,为体验新版软件的用户提供了数据保护功能,避免了在用户体验过程中数据丢失的问题,该方法操作便捷,且用户满意度高。

基于上述图2对应的实施例中所描述的版本发布方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图2对应的实施例中所描述的版本发布方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1