一种灰度发布方法、系统及服务器技术方案

技术编号:34255166 阅读:92 留言:0更新日期:2022-07-24 12:30
一种灰度发布方法、系统及服务器,涉及计算机技术领域,确保了数据库中数据的一致性,解决了灰度发布导致数据库的某些功能受限的问题。该方法应用于灰度发布系统,系统包括电子设备,网关,数据库服务器,业务服务器和灰度服务器,该灰度发布方法包括:网关接收到电子设备发送的第一业务请求,第一业务请求中携带有用户标识;在网关确定用户标识满足预设条件的情况下,网关向灰度服务器发送数据迁移请求,灰度服务器根据数据迁移请求,将用户标识对应的数据从生产表中迁移到灰度表,生产表为业务服务器对应的数据表,在网关确定数据迁移成功的情况下,网关将第一业务请求发送至灰度服务器,以使得灰度服务器根据第一业务请求执行对应的响应操作。行对应的响应操作。行对应的响应操作。

A gray publishing method, system and server

【技术实现步骤摘要】
一种灰度发布方法、系统及服务器


[0001]本申请涉及计算机
,尤其涉及一种灰度发布方法、系统及服务器。

技术介绍

[0002]随着计算机技术的快速发展,各类应用(application,APP)被广泛的应用于人们的生活中,因此,各类应用的开发人员需要不断的根据用户的需求对应用进行相应的更新,以便于留住用户或者吸引更多用户。为了避免应用更新后由于应用质量问题导致用户业务受影响,开发人员通常采用灰度发布的方法对应用进行升级。即开发人员提前将新版本的应用发布到应用服务器,然后使用少部分业务进行功能验证,以验证新版本的应用是否存在质量问题。
[0003]相关技术中,在开发人员对应用的版本进行升级时,通常需要对应用的代码和数据均进行升级。可见,在开发人员对生产的应用进行升级的过程中,存在对应用的数据库中的表结构进行变更(如,表字段的删除、新增或重命名等)的场景。
[0004]然而,开发人员对应用的版本采用灰度发布的方式进行升级时,直接在应用的数据库中对数据表结构进行升级操作,即生产的应用与变更后的数据表结构不匹配,导致应用的代码存在不兼容等问题。因此,应用的数据库中的某些功能受到了限制,比如,应用升级后的版本无法对应用的数据库中的表字段进行删除、修改名称等,从而导致灰度发布场景受限。

技术实现思路

[0005]本申请实施例提供一种灰度发布方法、系统及服务器,通过在灰度发布开启后,系统确定发送业务请求的电子设备的用户标识满足预设条件的情况下,将生产表中用户标识对应的数据迁移到灰度表,其中,预设条件为用户标识为预设用户的用户标识且用户标识对应的灰度状态为未开启,在系统确定用户标识对应的灰度状态为开启的情况下,将灰度表中用户标识对应的数据回迁至生产表。由此,在灰度发布的过程中,系统对该用户标识对应的数据进行实时迁移和回迁,不仅确保了生产数据库中数据的一致性,还解决了灰度发布后生产数据库中的某些功能受限的问题。
[0006]为达到上述目的,本申请采用如下技术方案:
[0007]第一方面,本申请实施例提供一种灰度发布方法,应用于灰度发布系统,系统包括电子设备,网关,数据库服务器,业务服务器和灰度服务器,该灰度方法包括:网关接收到电子设备发送的第一业务请求,第一业务请求中携带有用户标识;在网关确定用户标识满足预设条件的情况下,网关向灰度服务器发送数据迁移请求,数据迁移请求中携带有用户标识;灰度服务器根据数据迁移请求,将用户标识对应的数据从生产表中迁移到灰度表,生产表为业务服务器对应的数据表,灰度表为灰度服务器对应的数据表,灰度表为对生产表的表结构进行复制得到的数据表,或对生产表的表结构进行复制后的数据表进行升级后得到的数据表;在网关确定数据迁移成功的情况下,网关将第一业务请求发送至灰度服务器,以
使得灰度服务器根据第一业务请求执行对应的响应操作。
[0008]可见,与现有技术中灰度发布时直接将对应的数据写入生产数据库中,其中,生产数据库为应用的数据库。本申请实施例中,通过在生产数据库中新增加与生产表的表结构相同的灰度表,在灰度发布的过程中,系统对该用户标识对应的数据进行实时迁移,不仅确保了生产数据库中数据的一致性,还解决了灰度发布后生产数据库中的某些功能受限的问题。
[0009]在一些实施例中,灰度表是仅对生产表的表结构进行复制得到的一个空表,系统将发送的第一业务请求的电子设备的用户标识对应的数据迁移至灰度表时,不影响其它用户的数据,在数据迁移时,避免了数据的丢失。
[0010]在另一些实施例中,在灰度发布过程中,在数据库服务器的生产数据库中增加灰度表,该灰度表为对生产表的表结构进行复制,并对复制后的数据表进行升级后得到的数据表。比如,灰度表为对生产表的表结构进行复制后,对复制后得到的数据表增加一个表结构字段得到的数据表。
[0011]用户标识可以为第一业务请求的业务键值,用于唯一标记发起第一业务请求的电子设备对应的用户。
[0012]在一种可能的实现方式中,预设条件包括用户标识为预设用户的用户标识,且用户标识对应的灰度状态为未开启。
[0013]可以理解为,开发人员可以预先设定某些用户可以开启灰度,比如,预先设定某一年龄段的用户开启灰度,或者,可以预先设定某一地区的用户开启灰度。
[0014]在另一种可能的实现方式中,网关接收到电子设备发送的第一业务请求之前,方法还包括:响应于用户的操作,在数据库服务器的生产数据库中增加灰度表;响应于用户的操作,网关开启灰度总开关。
[0015]在另一种可能的实现方式中,灰度服务器根据第一业务请求执行对应的响应操作,包括:灰度服务器执行第一业务请求对应的灰度业务,将灰度业务对应的数据写入灰度表。
[0016]也就是说,灰度服务器将生产表中用户标识对应的数据迁移至灰度表后,灰度服务器可以执行第一业务请求对应的灰度业务,并将对应的数据写入灰度表,从而实现在灰度表中对该用户标识对应的数据进行修改。比如,灰度服务器在灰度表中对该用户标识对应的数据进行增加、删除、修改等操作。
[0017]在另一种可能的实现方式中,该灰度发布方法还包括:在网关确定用户标识不为预设用户的用户标识的情况下,网关将第一业务请求发送至业务服务器,以使得业务服务器根据第一业务请求执行对应的响应操作。
[0018]在另一种可能的实现方式中,业务服务器根据第一业务请求执行对应的响应操作,包括:业务服务器执行第一业务请求对应的生产业务,将生产业务对应的数据写入生产表。
[0019]也就是说,网关确定该用户标识对应的用户并未开启灰度发布时,业务服务器执行第一业务请求对应的生产业务,并将对应的数据写入生产表,从而实现了在生产表中对给用户标识对应的数据进行修改。比如,业务服务器在生产表中对该用户标识对应的数据进行增加、删除、修改等操作。
[0020]在另一种可能的实现方式中,该灰度发布方法还包括:在网关确定数据迁移成功的情况下,网关将用户标识对应的灰度状态设置为开启;在网关确定数据迁移未成功的情况下,网关将用户标识对应的灰度状态设置为失败,并通知灰度服务器对灰度表中用户标识对应的数据进行回滚删除操作。
[0021]其中,回滚删除操作,是指将灰度表中该用户标识对应的数据删除,以将灰度表中该用户标识对应的数据恢复到数据迁移之前的状态的操作。
[0022]可以理解的是,由于数据迁移未成功,生产表中还包括有该用户标识对应的数据,灰度表中可能包括该用户标识对应的部分数据。这种情况下,灰度服务器可以将灰度表中该用户标识对应的数据删除,以使得灰度表恢复到迁移数据前的状态。
[0023]在另一种可能的实现方式中,该灰度发布方法还包括:响应于用户的操作,网关关闭灰度发布总开关;网关接收到电子设备发送的第二业务请求,第二业务请求中携带有用户标识;在网关确定用户标识对应的灰度状态为开启的情况下,网关向灰度服务器发送数据回迁请求;灰度服务器根据数据回迁请求,将用户标识对应的数据从灰度表中回迁到生产表;在网关确定数据回迁本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种灰度发布方法,其特征在于,应用于灰度发布系统,所述系统包括电子设备,网关,数据库服务器,业务服务器和灰度服务器,所述方法包括:所述网关接收到所述电子设备发送的第一业务请求,所述第一业务请求中携带有用户标识;在所述网关确定所述用户标识满足预设条件的情况下,所述网关向所述灰度服务器发送数据迁移请求,所述数据迁移请求中携带有所述用户标识;所述灰度服务器根据所述数据迁移请求,将所述用户标识对应的数据从生产表中迁移到灰度表,所述生产表为所述业务服务器对应的数据表,所述灰度表为所述灰度服务器对应的数据表,所述灰度表为对所述生产表的表结构进行复制得到的数据表,或对所述生产表的表结构进行复制后的数据表进行升级后得到的数据表;在所述网关确定数据迁移成功的情况下,所述网关将所述第一业务请求发送至所述灰度服务器,以使得所述灰度服务器根据所述第一业务请求执行对应的响应操作。2.根据权利要求1所述的方法,其特征在于,所述预设条件包括所述用户标识为预设用户的用户标识,且所述用户标识对应的灰度状态为未开启。3.根据权利要求1所述的方法,其特征在于,所述网关接收到所述电子设备发送的第一业务请求之前,所述方法还包括:响应于用户的操作,在所述数据库服务器的生产数据库中增加所述灰度表;响应于用户的操作,所述网关开启灰度发布总开关。4.根据权利要求1所述的方法,其特征在于,所述灰度服务器根据所述第一业务请求执行对应的响应操作,包括:所述灰度服务器执行所述第一业务请求对应的灰度业务,将所述灰度业务对应的数据写入所述灰度表。5.根据权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:在所述网关确定所述用户标识不为所述预设用户的用户标识的情况下,所述网关将所述第一业务请求发送至所述业务服务器,以使得所述业务服务器根据所述第一业务请求执行对应的响应操作。6.根据权利要求5所述的方法,其特征在于,所述业务服务器根据所述第一业务请求执行对应的响应操作,包括:所述业务服务器执行所述第一业务请求对应的生产业务,将所述生产业务对应的数据写入所述生产表。7.根据权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:在所述网关确定数据迁移成功的情况下,所述网关将所述用户标识对应的灰度状态设置为开启;在所述网关确定数据迁移未成功的情况下,所述网关将所述用户标识对应的灰度状态设置为失败,并通知所述灰度服务器对所述灰度表中所述用户标识对应的数据进行回滚删除操作。8.根据权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:响应于用户的操作,所述网关关闭灰度发布总开关;所述网关接收到所述电子设备发送的第二业务请求,所述第二业务请求中携带有所述
用户标识;在所述网关确定所述用户标识对应的灰度状态为开启的情况下,所述网关向所述灰度服务器发送数据回迁请求;所述灰度服务器根据所述数据回迁请求,将所述用户标识对应的数据从所述灰度表中回迁到所述生产表;在所述网关确定数据回迁成功的情况下,所述网关将所述第二业务请求发送至所述业务服务器,以使得所述业务服务器根据所述第二业务请求执行对应的响应操作。9.根据权利要求8所述的方法,其特征在于,所述将所述用户标识对应的数据从所述灰度表中回迁到所述生产表之前,所述方法还包括:所述灰度服务器删除所述生产表中所述用户标识对应的数据。10.根据权利要求8所述的方法,其特征在于,所述方法还包括:在所述网关确定数据回迁未成功的情况下,所述网关提示运维人员进行人工处理。11.一种灰度发布方法,应用于网关,其特征在于,所述方法包括:接收第一业务请求,所述第一业务请求中携带有用户标识;在确定所述用户标识满足预设条件的情况下,向灰度服务器发送数据迁移请求,所述数据迁移请求中携带有所述用户标识,其中,所述灰度服务器用于根据所述数据迁移请求,将所述用户标识对应的数据从生产表中迁移到灰度表,所述生产表为所述业务服务器对应的数据表,所述灰度表为所述灰度服务器对应的数据表,所述灰度表为对所述生产表的表结构进行复制得到的数据表,或对所述生产表的表结构进行复制后的数据表进行升级后得到的数据表;在确定数据迁移成功的情况下,将所述第一业务请求发送至所述灰度服务器。12.根据权利要求11所述的方法,其特征在于,所述预设条件包括所述用户标识为预设用户的用户标识,且所述用户标识对应的灰度状态为未开启。13.根据权利要求11所述的方法,其特征在于,所述接收第一业务请求之前,所述方法还包括:开启灰度发布总开关。14.根据权利要求11

13任一项所述的方法,其特征在于,所述方法还包括:在确定所述用户标识不为所述预设用户的用户标识的情况下,将所述第一业务请求发送至业务服务器。15.根据权利要求11

13任一项所述...

【专利技术属性】
技术研发人员:杨杰
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1