System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于客户端灰度升级,尤其涉及一种支持多种系统平台客户端灰度升级的方法。
技术介绍
1、随着互联网的不断发展,多种平台(windows、macos、linux、ios、android等)的客户端的用户量也越来越大,客户端的频繁迭代升级在丰富软件功能的同时,可能会带来软件不够稳定、产品体验不够到位等未能预料到的影响,灰度升级即局部升级,可以尽最大程度去提前识别这些影响,减少升级后程序bug引起的后果,从而避免影响到更大范围的用户,保障客户端迭代升级用户体验上的平滑切换。
2、目前,现有的灰度升级方案不能针对定向的用户及平台进行灰度范围管理,比如只能针对笼统的30%的用户,不能精确到这30%的用户分别是谁,更不能精确到该用户名下所有平台的设备;另外一般灰度升级管理系统针对多个平台的灰度也是由不同平台服务分别管理,多个服务势必会增加服务端资源的开销;还有灰度版本的迭代更新或正式版本上线替代灰度的策略管理也不够灵活,当灰度阶段正式版本发布了,灰度版本无法自动检测到最新的正式版本,以及当灰度版本迭代更新了,当前灰度版本无法自动检测到更新的灰度版本。
技术实现思路
1、本专利技术的目的在于克服现有技术缺陷,提出了一种支持多种系统平台客户端灰度升级的方法。
2、为了实现上述目的,本专利技术提出了一种支持多种系统平台客户端灰度升级的方法,所述方法包括:
3、步骤s1)客户端向服务端请求当前平台升级信息;
4、步骤s2)服务端回复当前平台最新的
5、步骤s3)客户端向服务端请求该用户下的灰度消息;
6、步骤s4)服务端回复该用户下包含各种平台灰度消息的灰度消息列表;
7、步骤s5)客户端根据灰度消息列表及系统平台,结合步骤s2)的最新客户端版本号,基于规则找到对应的灰度消息,进行版本升级,并通知服务端对灰度消息列表进行状态更改及处理。
8、作为上述方法的一种改进,所述步骤s1)之前,服务端收到后台发送的批量目标用户所有平台的灰度消息并存储。
9、作为上述方法的一种改进,所述服务端对不同平台客户端版本号统一管理,每个客户端均需要在服务端进行现有版本号的登记。
10、作为上述方法的一种改进,所述灰度消息列表根据添加顺序存储多个平台的灰度消息,每条灰度消息包括消息id、平台系统、失效日期、版本号和灰度版本的下载链接,灰度消息的属性包括已读/未读状态,消息id按照添加顺序自加1递增。
11、作为上述方法的一种改进,所述灰度消息列表中,超过失效日期的灰度消息不会命中;或当最新的线上版本号大于灰度消息描述的版本号,该条灰度消息不会命中。
12、作为上述方法的一种改进,所述服务端对灰度消息列表提供拉取数据、标记已读和删除操作;
13、所述拉取数据,用于拉取最新n条灰度消息,返回按消息id升序排列的灰度消息列表;
14、所述标记已读,用于将一条或多条灰度消息标记为已读状态,其中多条灰度消息的消息id连续;
15、所述删除处理,用于将某条灰度消息及该灰度消息的消息id之前的所有灰度消息删除。
16、作为上述方法的一种改进,所述步骤s4)具体包括:
17、服务端根据设定的消息条数n,向客户端回复按照消息id升序排列的最新n条灰度消息。
18、作为上述方法的一种改进,所述步骤s5)具体包括:
19、步骤s5-1)客户端对于收到的n条灰度消息按照消息id进行倒序排列,进行第一次遍历;
20、步骤s5-2)当遍历结束转至步骤s5-4);遍历中如果当前灰度消息已超过失效日期且为未读状态,记录该消息id,暂时标识为准备已读状态,并读取下一条灰度消息;
21、步骤s5-3)如果当前灰度消息的平台系统与当前客户端的平台相同,且为该平台的最新一条灰度消息,则依据判断条件进行灰度命中判断;所述灰度命中判断条件包括:灰度消息未达到失效日期,且为未读状态,且版本号大于线上最新版本,且大于当前客户端版本;如果该灰度消息命中,根据灰度消息的灰度版本的下载链接进行灰度升级处理,同时将同平台的其他灰度消息id进行记录,均暂时标识为准备已读状态,并读取下一条灰度消息,转至步骤s5-2);如果该灰度消息没有命中,读取下一条灰度消息,转至步骤s5-2);
22、步骤s5-4)汇总所有暂时标识为准备已读状态的消息id;
23、步骤s5-5)对n条灰度消息按照消息id进行正序排列,进行第二次遍历;
24、步骤s5-6)如果消息id最小值对应的灰度消息为未读状态,则无需清除,结束;否则,读取下一条灰度消息,转至步骤s5-7);
25、步骤s5-7)如果当前灰度消息的消息id非最小值,且为未读状态则上一条灰度消息为清除消息id分界线;转至步骤s5-8);否则,在未遍历结束前继续读取下一条灰度消息,转至步骤s5-7);
26、步骤s5-8)将清除消息id分界线和准备已读状态的消息id发送至服务端;
27、步骤s5-9)服务端根据清除消息id分界线,将分界线以前的灰度消息删除,将分界线以后的准备已读状态灰度消息统一标识为已读状态。
28、与现有技术相比,本专利技术的优势在于:
29、本专利技术的目的在于克服上述现有技术缺陷,提供一种关于多种系统平台客户端灰度升级的方法,可以灵活进行灰度版本、灰度用户及平台范围的管理,还可以减少服务部署及资源的开销,又可以灵活进行灰度版本的迭代更新或正式版本上线替代灰度的策略管理。
本文档来自技高网...【技术保护点】
1.一种支持多种系统平台客户端灰度升级的方法,所述方法包括:
2.根据权利要求1所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述步骤S1)之前,服务端收到后台发送的批量目标用户所有平台的灰度消息并存储。
3.根据权利要求1所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述服务端对不同平台客户端版本号统一管理,每个客户端均需要在服务端进行现有版本号的登记。
4.根据权利要求1要求所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述灰度消息列表根据添加顺序存储多个平台的灰度消息,每条灰度消息包括消息ID、平台系统、失效日期、版本号和灰度版本的下载链接,灰度消息的属性包括已读/未读状态,消息ID按照添加顺序自加1递增。
5.根据权利要求4所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述灰度消息列表中,超过失效日期的灰度消息不会命中;或当最新的线上版本号大于灰度消息描述的版本号,该灰度消息不会命中。
6.根据权利要求4要求所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述服务端
7.根据权利要求4所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述步骤S4)具体包括:
8.根据权利要求4所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述步骤S5)具体包括:
...【技术特征摘要】
1.一种支持多种系统平台客户端灰度升级的方法,所述方法包括:
2.根据权利要求1所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述步骤s1)之前,服务端收到后台发送的批量目标用户所有平台的灰度消息并存储。
3.根据权利要求1所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述服务端对不同平台客户端版本号统一管理,每个客户端均需要在服务端进行现有版本号的登记。
4.根据权利要求1要求所述的支持多种系统平台客户端灰度升级的方法,其特征在于,所述灰度消息列表根据添加顺序存储多个平台的灰度消息,每条灰度消息包括消息id、平台系统、失效日期、版本号和灰度版本的下载链接,灰度消息的属性...
【专利技术属性】
技术研发人员:张晓勇,
申请(专利权)人:北京翼鸥教育科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。