多时区实验配置发布方法、装置、计算机设备及存储介质与流程

摘要: 本发明涉及数据处理领域,尤其涉及一种多时区实验配置发布方法、装置、计算机设备及存储介质。背景技术:1、随着计算机应用系统的跨区域部署,配置发布服务端通常需要将实...
多时区实验配置发布方法、装置、计算机设备及存储介质与流程

本发明涉及数据处理领域,尤其涉及一种多时区实验配置发布方法、装置、计算机设备及存储介质。

背景技术:

1、随着计算机应用系统的跨区域部署,配置发布服务端通常需要将实验配置发布至配置中心或者对象存储,以供客户端获取和执行。实验配置可以是用于控制客户端执行资源加载、数据缓存、网络请求、界面渲染或者算法运算等数据处理操作的结构化数据,配置内容可以包括影响客户端运行状态和技术性能的运行参数。在a/b实验场景中,可以按照预设分流规则向不同客户端下发不同的配置内容,使不同客户端按照相应运行参数执行数据处理操作,并将配置命中结果与响应时延、处理器占用率、内存占用量、网络传输量或者异常发生率等运行数据相关联,以比较不同运行参数对客户端技术性能的影响。

2、客户端通常按照预先约定的配置格式解析实验配置,根据实验配置中的目标区域、时区和有效时间判断实验配置是否生效,并在满足命中条件时按照相应配置内容进入对应运行状态。现有客户端通常支持单时区配置格式,一条实验配置仅能以一个时区作为有效时间的解释基准。当同一配置内容面向分处多个时区的目标区域,并需要在各目标区域的相同本地时间生效时,由于相同本地时间在不同时区对应不同的绝对时间,单一时区及其对应的有效时间难以准确表征各目标区域的生效关系,容易使部分客户端提前或者延后进入对应运行状态,并使采集到的运行数据偏离预定时间范围。若改变已有配置格式以表达多个时区对应的有效时间,则还需要相应调整已部署客户端的配置解析逻辑,容易产生客户端版本兼容问题。

3、此外,不同目标区域的客户端分别完成配置命中判断并上传命中结果时,与同一实验相关的命中结果可能因携带不同的配置标识而被服务端识别为不同的数据来源,导致命中结果及其关联运行数据分散存储。服务端需要额外维护多个配置标识之间的映射关系,并执行数据检索、匹配和关联计算,增加命中结果和运行数据的处理开销,还可能因标识映射错误而产生数据归类偏差。

4、因此,现有实验配置发布方式难以在兼容客户端既有单时区配置格式的情况下,使同一配置内容在多个时区按照相应本地时间准确生效。同时,不同配置标识会使相关命中结果及运行数据难以统一关联,增加服务端的数据处理开销。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种多时区实验配置发布方法、装置、计算机设备及存储介质,具有在兼容客户端既有单时区配置格式的情况下,使同一配置内容在多个时区按照相应本地时间准确生效,同时减少服务端的数据处理开销的优点。

2、一种多时区实验配置发布方法,应用于配置发布服务端,所述方法包括:

3、获取待发布实验配置,所述待发布实验配置包括配置内容、目标范围和本地有效时间;

4、根据所述目标范围与多个时区之间的对应关系,基于所述待发布实验配置生成多个目标实验配置,其中,各所述目标实验配置采用客户端支持的单时区配置格式,分别对应所述多个时区中的一个时区,并包括所述配置内容、与所对应时区关联的部分目标范围以及根据所述本地有效时间和所对应时区确定的生效时间;

5、为多个所述目标实验配置设定同一发布标识,并发布多个所述目标实验配置,所述发布标识用于客户端上报命中结果。

6、可选地,所述目标范围包括多个目标区域;所述根据所述目标范围与多个时区之间的对应关系,基于所述待发布实验配置生成多个目标实验配置,包括:

7、获取各所述目标区域的区域归属信息和时区信息;

8、按照所述区域归属信息和所述时区信息生成多个物化目标,其中,每一所述物化目标对应一个由区域归属信息和时区信息构成的组合,并包括与所述组合对应的部分目标范围;

9、对多个所述物化目标对应的部分目标范围进行互斥校验,以确定是否存在同时归属于至少两个所述物化目标的目标区域;

10、在所述互斥校验通过的情况下,根据多个所述物化目标,基于所述待发布实验配置生成多个所述目标实验配置。

11、可选地,所述根据多个所述物化目标,基于所述待发布实验配置生成多个所述目标实验配置,包括:

12、在同一物化事务中,分别针对多个所述物化目标创建多个物理实验实例,其中,每一所述物理实验实例对应一个所述物化目标;

13、将所述配置内容写入多个所述物理实验实例,根据相应物化目标确定各所述物理实验实例对应的部分目标范围,并根据相应物化目标的时区信息对所述本地有效时间进行换算,得到各所述物理实验实例对应的生效时间;

14、建立多个所述物理实验实例之间的批次关联关系,从多个所述物理实验实例中确定一个主实例,并将其余物理实验实例确定为关联实例;

15、分别对多个所述物理实验实例进行受众冲突校验;

16、在多个所述物理实验实例均创建成功且均通过所述受众冲突校验的情况下,提交所述物化事务,并分别根据多个所述物理实验实例生成多个所述目标实验配置;

17、在任一所述物理实验实例创建失败或者未通过所述受众冲突校验的情况下,回滚所述物化事务。

18、可选地,所述方法还包括:

19、响应于针对所述主实例的配置更新请求,根据所述批次关联关系获取批次锁,并将所述主实例和处于有效状态的关联实例确定为多个待更新实例,所述配置更新请求包括更新数据,所述更新数据包括更新后的配置内容和更新后的本地有效时间中的至少一项;

20、在同一更新事务中,在保留各所述待更新实例对应的部分目标范围和时区信息的情况下,将所述更新数据分别应用于多个所述待更新实例,其中,当所述更新数据包括更新后的配置内容时,将所述更新后的配置内容写入多个所述待更新实例;当所述更新数据包括更新后的本地有效时间时,根据各所述待更新实例对应的时区信息分别确定更新后的生效时间;

21、在多个所述待更新实例均更新成功的情况下,提交所述更新事务;

22、在任一所述待更新实例更新失败的情况下,回滚所述更新事务。

23、可选地,所述方法还包括:

24、响应于针对所述主实例的版本新增请求,根据所述批次关联关系获取批次锁,并启动版本事务;

25、从所述主实例和处于有效状态的关联实例中确定多个待生成版本实例;

26、根据多个所述待生成版本实例的当前版本信息确定统一的目标版本序号;

27、在所述版本事务中,分别为多个所述待生成版本实例生成具有所述目标版本序号的实例版本;

28、在多个所述实例版本均生成成功的情况下,提交所述版本事务;

29、在任一所述实例版本生成失败的情况下,回滚所述版本事务。

30、可选地,所述版本新增请求为携带更新后目标范围的版本复制请求;在所述版本事务中,在确定多个所述待生成版本实例之前,所述方法还包括:

31、根据所述批次关联关系,获取被复制版本对应的原目标范围;

32、分别按照所述区域归属信息和所述时区信息,对所述原目标范围和所述更新后目标范围中的目标区域进行分组,得到原物化目标集合和更新物化目标集合;

33、根据各物化目标对应的区域归属信息和时区信息,比较所述原物化目标集合和所述更新物化目标集合,得到拓扑差异信息,所述拓扑差异信息用于指示新增物化目标、部分目标范围发生变化的物化目标和移除物化目标中的至少一种;

34、根据所述拓扑差异信息调整所述批次关联关系中的物理实验实例,其中,在所述拓扑差异信息指示新增物化目标的情况下,创建与所述新增物化目标对应的物理实验实例,并将创建的物理实验实例加入所述批次关联关系;在所述拓扑差异信息指示部分目标范围发生变化的物化目标的情况下,调整对应物理实验实例的部分目标范围;在所述拓扑差异信息指示移除物化目标的情况下,使对应的物理实验实例不参与本次版本新增;

35、将调整后参与本次版本新增的物理实验实例确定为多个所述待生成版本实例。

36、可选地,所述发布标识包括实验标识和版本标识;所述为多个所述目标实验配置设定同一发布标识,并发布多个所述目标实验配置,包括:

37、根据所述批次关联关系,获取所述主实例和处于有效状态的各所述关联实例对应的待发布版本;

38、对多个所述待发布版本的版本序号和配置内容进行一致性校验;

39、在所述一致性校验通过的情况下,将所述主实例对应的待发布版本的实验标识和版本标识分别确定为组实验标识和组版本标识;

40、在保留各所述目标实验配置对应的部分目标范围、时区信息和生效时间的情况下,将多个所述目标实验配置的实验标识和版本标识分别设置为所述组实验标识和所述组版本标识,并发布多个所述目标实验配置。

41、一种多时区实验配置发布装置,应用于配置发布服务端,所述装置包括:

42、获取模块,用于获取待发布实验配置,所述待发布实验配置包括配置内容、目标范围和本地有效时间;

43、生成模块,用于根据所述目标范围与多个时区之间的对应关系,基于所述待发布实验配置生成多个目标实验配置,其中,各所述目标实验配置采用客户端支持的单时区配置格式,分别对应所述多个时区中的一个时区,并包括所述配置内容、与所对应时区关联的部分目标范围以及根据所述本地有效时间和所对应时区确定的生效时间;

44、发布模块,用于为多个所述目标实验配置设定同一发布标识,并发布多个所述目标实验配置,所述发布标识用于客户端上报命中结果。

45、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述多时区实验配置发布方法。

46、一种可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述多时区实验配置发布方法。

47、上述多时区实验配置发布方法、装置、计算机设备及存储介质,获取待发布实验配置,所述待发布实验配置包括配置内容、目标范围和本地有效时间;根据所述目标范围与多个时区之间的对应关系,基于所述待发布实验配置生成多个目标实验配置,其中,各所述目标实验配置采用客户端支持的单时区配置格式,分别对应所述多个时区中的一个时区,并包括所述配置内容、与所对应时区关联的部分目标范围以及根据所述本地有效时间和所对应时区确定的生效时间;为多个所述目标实验配置设定同一发布标识,并发布多个所述目标实验配置,所述发布标识用于客户端上报命中结果。通过生成分别对应不同时区且采用单时区配置格式的多个目标实验配置,使不同目标区域的客户端能够按照相应本地时间进入与同一配置内容对应的运行状态,并兼容客户端既有的配置解析逻辑;通过为多个目标实验配置设定同一发布标识,使客户端上传的命中结果能够基于同一标识统一关联,减少服务端执行标识映射、数据检索和关联计算的处理量,降低数据处理开销。