配置更新方法及相关产品与流程

文档序号:17761520发布日期:2019-05-24 21:43阅读:175来源:国知局
配置更新方法及相关产品与流程

本申请涉及电子设备技术领域,具体涉及一种配置更新方法及相关产品。



背景技术:

随着开发技术的多元化和各领域需求的增长,应用服务的开发往往需要从应用使用层到基础硬件的立体化开发,涉及多种开发技术和开发语言,传统方案几乎都无法突破不同语言客户端的局限性。



技术实现要素:

本申请实施例提供了一种配置更新方法及相关产品,以期突破多语言客户端的局限性,提高配置管理系统进行服务更新的兼容性和效率。

第一方面,本申请实施例提供一种配置更新方法,应用于配置管理系统的第一客户端,所述配置管理系统包括服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序,所述第一客户端与所述服务端建立有第一连接;所述方法包括:

通过所述第一连接接收来自所述服务端的配置更新消息,所述配置更新消息是所述服务端执行以下操作得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;以及根据所述第一配置信息生成所述配置更新消息;所述应用标识信息和所述环境参数是所述第一客户端发送给所述服务端的;

根据所述配置更新消息获取所述第一配置信息;

根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

第二方面,本申请实施例提供一种配置更新方法,应用于配置管理系统的服务端,所述配置管理系统包括所述服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序,所述第一客户端与所述服务端建立有第一连接;所述方法包括:

获取用于更新所述目标应用程序的原始配置信息;

根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;

根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;

根据所述第一配置信息生成配置更新消息;

通过所述第一连接向所述第一客户端发送所述配置更新消息,所述配置更新消息用于所述第一客户端执行以下操作:根据所述配置更新消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

第三方面,本申请实施例提供一种配置更新方法,应用于配置管理系统的第一客户端,所述配置管理系统包括服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序;所述方法包括:

根据预设的拉取周期向所述服务端发送配置信息拉取请求消息,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;

接收来自所述服务端的配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;

根据所述配置信息拉取响应消息获取所述第一配置信息;

根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

第四方面,本申请实施例提供一种配置更新方法,应用于配置管理系统的服务端,所述配置管理系统包括所述服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序;所述方法包括:

接收来自所述第一客户端的配置信息拉取请求消息,所述配置信息拉取请求消息是所述第一客户端根据预设的拉取周期发送的,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;

生成配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;

向所述第一客户端发送所述配置信息拉取响应消息,所述配置信息拉取响应消息用于所述第一客户端执行以下操作:根据所述配置信息拉取响应消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

第五方面,本申请实施例提供一种配置管理系统,包括服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序,所述第一客户端与所述服务端建立有第一连接;其中,

所述服务端用于执行如第二或第四方面的任一项方法中的步骤;

所述第一客户端用于执行如第一或第三方面任一项方法中的步骤。

第六方面,本申请实施例提供一种客户端,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一、第二、第三方面任一方法中的步骤的指令。

第七方面,本申请实施例提供一种服务端,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一、第二、第三方面任一方法中的步骤的指令。

第八方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一、第二、第三、第四方面任一方法中所描述的部分或全部步骤。

第九方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一、第二、第三、第四方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序,第一客户端与服务端建立有第一连接;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过主动推送或者定时拉取的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种配置管理系统的结构示意图;

图2是本申请实施例提供的一种配置更新方法的流程示意图;

图3是本申请实施例提供的另一种配置更新方法的流程示意图;

图4a是本申请实施例提供的一种第一客户端的结构示意图;

图4b是本申请实施例提供的一种服务端的结构示意图;

图5a是本申请实施例提供的一种配置更新装置的功能单元组成框图;

图5b是本申请实施例提供的一种配置更新装置的功能单元组成框图;

图6是本申请实施例提供的另一种配置管理系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

下面对本申请实施例进行详细介绍。

请参阅图1,图1是本申请实施例提供了一种配置管理系统100的系统架构示意图,该配置管理系统100包括服务端110和多个客户端120,所述多个客户端120中包括使用不同类型开发语言的客户端,每个客户端120运行有目标应用程序,其中,所述服务端110可以采用微服务架构设计,具体包括入口子服务portalservice111、管理子服务adminservice112和配置子服务configservice113,所述每个客户端与所述configservice113通信连接;其中portalservice111用于通过可视化管理界面提供配置获取接口、配置推送接口,服务于client,可视化操作采用前后端读写分离模式,视图层负责数据渲染,后台负责逻辑处理和数据处理,用户完成权限认证之后被标记为合法用户,允许进入到可视化管理界面。adminservice112用于提供配置管理接口、配置修改发布接口,服务于portalservice111。portalservice111用于提供配置的可视化管理界面,可以获取adminservice112的服务列表,间接可调用configservice113的服务。基于以上设计,portalservice111的配置管理中提供以下功能:配置过滤筛选功能、配置的一键导入与导出、回滚、变更记录展示等。

该微服务架构使用模型视图控制器(modelviewcontroller,mvc)设计模式,模型层model用于表现业务模型和数据对象的操作,视图层view用于数据渲染,控制器controller则是确保m和v的同步,一旦m改变,v应该同步更新。每个子服务都是一个单独的应用,降低耦合性,使配置中心更可扩展、提高稳定性。其次,使用服务注册与发现的机制,实现各个服务之间的通信。configservice113即是配置管理系统的子服务提供者,也被设置为微服务的注册中心,二者处于同一个进程中,可以简化操作难度。设置configservice113为注册中心,提供注解方式用于轻松实现。另一个服务提供者adminservice112也注册服务实例到注册中心,提供对应的功能,最后将注册中心具体地址传递至portalservice111中作为启动参数,使得portalservice111这个可视化管理服务能够管理所有的配置。

具体实现中,所述服务端110可以采用独立服务器集中部署portalservice111、adminservice112和configservice113,也可以采用分布式设计机制,通过分布式系统分别在不同设备上部署portalservice111、adminservice112和configservice113,具体可以根据业务需求进行灵活设置,不做唯一限定。所述客户端120可以采用手机等终端设备进行部署,具体根据业务需求进行灵活设置。

请参阅图2,图2是本申请实施例提供了一种配置更新方法的流程示意图,应用于如图1所述的配置管理系统的第一客户端和服务端,所述配置管理系统包括服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序,所述第一客户端与所述服务端建立有第一连接;如图所示,本配置更新方法包括:

s201,所述服务端获取用于更新所述目标应用程序的原始配置信息;

其中,所述目标应用程序包括各种应用程序,如手机端的视频应用程序、游戏应用程序,或者是企业端的管理应用程序等,第一配置信息具体可以用于更新目标应用程序的某个服务。所述第一编程语言包括以下任意一种:java、.net、python、nodejs、php。

其中,所述原始配置信息是开发人员统一录入的用于更新目标应用程序的服务的配置信息。

s202,所述服务端根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;

其中,所述应用标识信息与第一客户端强关联,且不同客户端所安装的目标应用程序的应用标识信息互不相同,从而该应用标识信息能够唯一标识客户端的应用程序。

s203,所述服务端根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;

其中,所述环境参数用于表示所述第一客户端的目标应用程序的配置信息更新参数,该配置更新参数具体是在第一编程语言环境中的变量参数。不同编程语言实现的客户端环境参数互不相同。

s204,所述服务端根据所述第一配置信息生成配置更新消息;

s205,所述服务端通过所述第一连接向所述第一客户端发送所述配置更新消息,所述配置更新消息用于所述第一客户端执行以下操作:根据所述配置更新消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

s206,所述第一客户端通过所述第一连接接收来自所述服务端的配置更新消息,所述配置更新消息是所述服务端执行以下操作得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;以及根据所述第一配置信息生成所述配置更新消息;所述应用标识信息和所述环境参数是所述第一客户端发送给所述服务端的;

s207,所述第一客户端根据所述配置更新消息获取所述第一配置信息;

s208,所述第一客户端根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序,第一客户端与服务端建立有第一连接;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以根据第一客户端的环境参数,生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过主动推送的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

在一个可能的示例中,所述配置更新消息仅包括所述第一配置信息;所述第一客户端根据所述配置更新消息获取所述第一配置信息,包括:所述第一客户端提取所述配置更新消息中所包含的所述第一配置信息。

其中,服务端可以针对每一类使用相同编程语言的客户端均生成专门适配该类客户端的配置信息,如第一编程语言的客户端对应的配置更新消息包括第一配置信息,第二编程语言客户端对应的配置更新消息包括第二配置信息。

具体实现中,该配置更新消息还可以包括用于版本验证的编程语言标识,第一客户端在接收到配置更新消息后,可以将本端的编程语言标识与配置更新消息中的编程语言标识进行比对,若匹配,则使用该配置更新消息中的配置信息更新目标应用程序,可以增强配置更新的成功率。

可见,本示例中,由于配置更新消息仅包括第一配置信息,即服务端针对客户端能够生成专属配置更新消息,如此可以精简消息数据量,简化客户端对更新消息的解析操作,提高配置信息传输效率和应用更新准确度。

在一个可能的示例中,所述配置更新消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,所述第一编程语言和所述第二编程语言不同;所述第一客户端根据所述配置更新消息获取所述第一配置信息,包括:所述第一客户端以所述第一编程语言的编程语言标识为查询标识,查询所述配置更新消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

其中,服务端获取到开发人员统一录入的原始配置信息后,可以根据预存的不同编程语言的客户端的环境参数生成适配对应编程语言的配置信息,如第一客户端对应的第一配置信息,第二客户端对应的第二配置信息,并将编程语言标识与生成的配置信息之间的对应关系呈现在配置信息列表中。

可见,本示例中,服务端通过配置更新消息向客户端推送配置信息列表,客户端根据编程语言标识查表以获取配置信息,从而实现服务更新,列表机制成熟稳定,提高配置管理系统更新服务的稳定性。

在一个可能的示例中,所述第一客户端通过所述第一连接接收来自所述服务端的配置更新消息之前,所述方法还包括:所述第一客户端执行读取所述服务端的配置的操作,获取所述服务端的连接地址;按照所述连接地址向服务端发送连接建立请求消息,所述连接建立请求消息用于指示所述服务端执行以下操作:为所述第一客户端进行连接配置,并向所述第一客户端发送连接建立响应消息;接收来自所述服务端的连接建立响应消息,根据所述连接配置与所述服务端建立第一链接,所述第一连接包括超文本传输协议http长连接。

其中,由于第一连接需要一定的资源开销,故而在客户端数量较多使得并发量较大的情况下,配置管理系统可以基于分布式机制增加实例数来解决该问题。

可见,本示例中,服务端可以与客户端保持长连接,从而存在更新需求时,能够及时将配置信息传递给客户端,提高配置更细效率。

与上述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种配置更新方法的流程示意图,应用于如图1所述的配置管理系统的服务端和第一客户端,所述配置管理系统包括所述服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序;如图所示,本配置更新方法包括:

s301,所述第一客户端根据预设的拉取周期向所述服务端发送配置信息拉取请求消息,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;

其中,所述第一客户端可以采用定时拉取配置信息的策略,该拉取周期例如可以是1秒、2秒等。所述预设时长是指用户主观上明显感知到目标应用程序的版本较低需要更新的时长,可以基于目标应用程序被使用的频率来预测,频率越高则该预设时长越短,具体可以是5分钟、30分钟、1个小时、半天、1天等。

s302,所述服务端接收来自所述第一客户端的配置信息拉取请求消息,所述配置信息拉取请求消息是所述第一客户端根据预设的拉取周期发送的,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;

s303,所述服务端生成配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;

其中,所述适配所述第一客户端的第一编程语言的第一配置信息可以是服务端根据第一客户端的环境参数和原始配置信息生成的,该环境参数用于表示所述第一客户端的目标应用程序的配置信息更新参数,该配置更新参数具体是在第一编程语言环境中的变量参数。不同编程语言实现的客户端环境参数互不相同。原始配置信息是开发人员统一录入的针对目标应用程序的配置信息。

s304,所述服务端向所述第一客户端发送所述配置信息拉取响应消息,所述配置信息拉取响应消息用于所述第一客户端执行以下操作:根据所述配置信息拉取响应消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

s305,所述第一客户端接收来自所述服务端的配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;

s306,所述第一客户端根据所述配置信息拉取响应消息获取所述第一配置信息;

s307,所述第一客户端根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过定时拉取的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

在一个可能的示例中,所述配置信息拉取响应消息仅包括所述第一配置信息;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第一配置信息库,获取所述应用标识信息对应的所述第一配置信息,根据所述第一配置信息生成所述配置信息拉取响应消息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;所述第一客户端根据所述配置信息拉取响应消息获取所述第一配置信息,包括:所述第一客户端提取所述配置信息拉取响应消息中的所述第一配置信息。

其中,服务端可以针对每一类使用相同编程语言的客户端均生成专门适配该类客户端的配置信息,如第一编程语言的客户端对应的配置信息拉取响应消息包括第一配置信息,第二编程语言客户端对应的配置信息拉取响应消息包括第二配置信息。

具体实现中,该配置信息拉取响应消息还可以包括用于版本验证的编程语言标识,第一客户端在接收到配置信息拉取响应消息后,可以将本端的编程语言标识与配置信息拉取响应消息中的编程语言标识进行比对,若匹配,则使用该配置信息拉取响应消息中的配置信息更新目标应用程序,可以增强配置更新的成功率。

可见,本示例中,由于配置信息拉取响应消息仅包括第一配置信息,即服务端针对客户端能够生成专属配置更新消息,如此可以精简消息数据量,简化客户端对更新消息的解析操作,提高配置信息传输效率和应用更新准确度。

在一个可能的示例中,所述配置信息拉取响应消息包括所述第一客户端的多个配置信息以及所述多个配置信息对应的多个版本号;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第二配置信息库,获取所述应用标识信息对应的所述多个配置信息以及多个配置信息对应的多个版本号,根据所述多个配置信息以及多个配置信息对应的多个版本号生成所述配置信息拉取响应消息,所述多个配置信息包括所述第一配置信息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;所述第一客户端根据所述配置信息拉取响应消息获取所述第一配置信息,包括:所述第一客户端提取所述配置信息拉取响应消息中所述多个配置信息对应的多个版本号;以所述第一客户端的目标应用程序的版本号为查询标识,查询所述多个版本号,获取待更新的版本号;确定所述待更新的所述版本号对应的第一配置信息。

其中,第一客户端所保存的版本号包括当前版本号或者当前版本号和历史版本号,由于应用程序的版本号一般是按照发布时间和命名规则约束形成,故而第一客户端可以通过比对版本号准确的确定配置信息拉取响应消息中是否包括本端还未更新过的版本,若有,则第一客户端仅需要调取该版本号对应的配置信息更新目标应用程序即可。

可见,本示例中,服务端和第一客户端能够通过版本号准确的实现配置信息的筛选与使用,提高服务更新准确度。

在一个可能的示例中,所述配置信息拉取响应消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,所述第一编程语言和所述第二编程语言不同;所述第一客户端根据所述配置信息拉取响应消息获取所述第一配置信息,包括:所述第一客户端以所述第一编程语言的编程语言标识为查询标识,查询所述配置信息拉取响应消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

其中,所述配置信息列表可以包括最新的还未向客户端发送过的配置信息,以及该配置信息对应的编程语言标识。

可见,本示例中,服务端与客户端可以通过配置信息列表实现配置信息的传递和应用的更新,由于编程语言标识唯一指示当前客户端的编程语言类型且关联唯一适配的配置信息,从而通过查表可以准确获取适配第一客户端的第一配置信息,提高应用更新效率和准确度。

在一个可能的示例中,所述第一客户端根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,所述方法还包括:所述第一客户端确定所述目标应用程序的业务类型和所属的应用场景;获取所述应用场景对应的拉取周期集合;以所述业务类型查询所述拉取周期集合,获取所述业务类型对应的拉取周期,所述拉取周期集合包括业务类型和拉取周期之间的对应关系。

其中,所述应用场景可以根据时段、地点等因素进行划分,如第一时段对应第一应用场景,第二时段对应第二应用场景。每个应用场景对应适配该应用场景的拉取周期集合,同一个拉取周期集合包括多个业务类型,不同业务类型在同一应用场景中的业务并发量会有差异,故而可以根据业务并发量灵活调整拉取周期,并发量高的业务类型对应的拉取周期较长,并发量较小的业务对应的拉取周期较短,如此可以实现资源均衡,提高系统运行稳定性。

可见,本示例中,配置管理系统可以通过应用场景识别和业务类型对比,动态调整配置信息的拉取周期,有利于资源均衡和提高配置信息的灵活性。

在一个可能的示例中,所述第一客户端根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,所述方法还包括:所述第一客户端获取所述服务端的进行配置信息检测的轮询周期;根据所述轮询周期确定所述拉取周期。

其中,服务端可以基于轮询机制主动向客户端推送配置信息,同时客户端可以基于定时拉取机制进行配置信息的获取,如此提高配置更新成功率。

具体实现中,拉取周期可以略小于轮询周期,从而服务端可以基于检测机制,降低配置信息的重复发送。如轮询周期为1秒,拉取周期可以是800毫秒等。

可见,本示例中,第一客户端能够根据服务端的轮询周期调整本端的配置信息的拉取周期,提高配置信息拉取灵活性和成功率。

在一个可能的示例中,所述第一客户端根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,所述方法还包括:所述第一客户端与所述服务端建立第一连接,所述第一连接包括超文本传输协议http短连接。

可见,本示例中,第一客户端通过短连接拉取配置信息,节省资源开销,提高资源利用率。

与上述图2、图3所示的实施例一致的,请参阅图4a,图4a是本申请实施例提供的一种配置管理系统中的第一客户端4100的结构示意图,所述配置管理系统包括服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序,所述第一客户端与所述服务端建立有第一连接;如图所示,所述服务端4100包括应用处理器4110、存储器4120、通信接口4130以及一个或多个程序4121,其中,所述一个或多个程序4121被存储在上述存储器4120中,并且被配置由上述应用处理器4110执行,所述一个或多个程序4121包括用于执行以下步骤的指令;

通过所述第一连接接收来自所述服务端的配置更新消息,所述配置更新消息是所述服务端执行以下操作得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;以及根据所述第一配置信息生成所述配置更新消息;所述应用标识信息和所述环境参数是所述第一客户端发送给所述服务端的;

根据所述配置更新消息获取所述第一配置信息;

根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序;或者,

根据预设的拉取周期向所述服务端发送配置信息拉取请求消息,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;

接收来自所述服务端的配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;

根据所述配置信息拉取响应消息获取所述第一配置信息;

根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序,第一客户端与服务端建立有第一连接;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过主动推送或者定时拉取的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

在一个可能的示例中,所述配置更新消息仅包括所述第一配置信息;在所述根据所述配置更新消息获取所述第一配置信息发明,所述程序中的指令具体用于执行以下操作:提取所述配置更新消息中所包含的所述第一配置信息。

在一个可能的示例中,所述配置更新消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,在所述第一编程语言和所述第二编程语言不同;所述根据所述配置更新消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:以所述第一编程语言的编程语言标识为查询标识,查询所述配置更新消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:通过所述第一连接接收来自所述服务端的配置更新消息之前,执行读取所述服务端的配置的操作,获取所述服务端的连接地址;以及用于按照所述连接地址向服务端发送连接建立请求消息,所述连接建立请求消息用于指示所述服务端执行以下操作:为所述第一客户端进行连接配置,并向所述第一客户端发送连接建立响应消息;以及用于接收来自所述服务端的连接建立响应消息,根据所述连接配置与所述服务端建立第一链接,所述第一连接包括超文本传输协议http长连接。

在一个可能的示例中,所述第一编程语言包括以下任意一种:java、.net、python、nodejs、php。

在一个可能的示例中,所述配置信息拉取响应消息仅包括所述第一配置信息;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第一配置信息库,获取所述应用标识信息对应的所述第一配置信息,根据所述第一配置信息生成所述配置信息拉取响应消息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:提取所述配置信息拉取响应消息中的所述第一配置信息。

在一个可能的示例中,所述配置信息拉取响应消息包括所述第一客户端的多个配置信息以及所述多个配置信息对应的多个版本号;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第二配置信息库,获取所述应用标识信息对应的所述多个配置信息以及多个配置信息对应的多个版本号,根据所述多个配置信息以及多个配置信息对应的多个版本号生成所述配置信息拉取响应消息,所述多个配置信息包括所述第一配置信息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:提取所述配置信息拉取响应消息中所述多个配置信息对应的多个版本号;以及用于以所述第一客户端的目标应用程序的版本号为查询标识,查询所述多个版本号,获取待更新的版本号;以及用于确定所述待更新的所述版本号对应的第一配置信息。

在一个可能的示例中,所述配置信息拉取响应消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,所述第一编程语言和所述第二编程语言不同;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:以所述第一编程语言的编程语言标识为查询标识,查询所述配置信息拉取响应消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,确定所述目标应用程序的业务类型和所属的应用场景;以及用于获取所述应用场景对应的拉取周期集合;以及用于以所述业务类型查询所述拉取周期集合,获取所述业务类型对应的拉取周期,所述拉取周期集合包括业务类型和拉取周期之间的对应关系。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,获取所述服务端的进行配置信息检测的轮询周期;以及用于根据所述轮询周期确定所述拉取周期。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,与所述服务端建立第一连接,所述第一连接包括超文本传输协议http短连接。

与上述图2、图3所示的实施例一致的,请参阅图4b,图4b是本申请实施例提供的一种服务端4200的结构示意图,如图所示,所述目标客户端4200包括应用处理器4210、存储器4220、通信接口4230以及一个或多个程序4221,其中,所述一个或多个程序4221被存储在上述存储器4220中,并且被配置由上述应用处理器4210执行,所述一个或多个程序4221包括用于执行以下步骤的指令;

获取用于更新所述目标应用程序的原始配置信息;

根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;

根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;

根据所述第一配置信息生成配置更新消息;

通过所述第一连接向所述第一客户端发送所述配置更新消息,所述配置更新消息用于所述第一客户端执行以下操作:根据所述配置更新消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。或者,

接收来自所述第一客户端的配置信息拉取请求消息,所述配置信息拉取请求消息是所述第一客户端根据预设的拉取周期发送的,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;

生成配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;

向所述第一客户端发送所述配置信息拉取响应消息,所述配置信息拉取响应消息用于所述第一客户端执行以下操作:根据所述配置信息拉取响应消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过定时拉取的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

在一个可能的示例中,所述配置信息拉取响应消息仅包括所述第一配置信息;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第一配置信息库,获取所述应用标识信息对应的所述第一配置信息,根据所述第一配置信息生成所述配置信息拉取响应消息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:提取所述配置信息拉取响应消息中的所述第一配置信息。

在一个可能的示例中,所述配置信息拉取响应消息包括所述第一客户端的多个配置信息以及所述多个配置信息对应的多个版本号;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第二配置信息库,获取所述应用标识信息对应的所述多个配置信息以及多个配置信息对应的多个版本号,根据所述多个配置信息以及多个配置信息对应的多个版本号生成所述配置信息拉取响应消息,所述多个配置信息包括所述第一配置信息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:提取所述配置信息拉取响应消息中所述多个配置信息对应的多个版本号;以及用于以所述第一客户端的目标应用程序的版本号为查询标识,查询所述多个版本号,获取待更新的版本号;以及用于确定所述待更新的所述版本号对应的第一配置信息。

在一个可能的示例中,所述配置信息拉取响应消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,所述第一编程语言和所述第二编程语言不同;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述程序中的指令具体用于执行以下操作:以所述第一编程语言的编程语言标识为查询标识,查询所述配置信息拉取响应消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,确定所述目标应用程序的业务类型和所属的应用场景;以及用于获取所述应用场景对应的拉取周期集合;以及用于以所述业务类型查询所述拉取周期集合,获取所述业务类型对应的拉取周期,所述拉取周期集合包括业务类型和拉取周期之间的对应关系。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,获取所述服务端的进行配置信息检测的轮询周期;以及用于根据所述轮询周期确定所述拉取周期。

在一个可能的示例中,所述程序还包括用于执行以下操作的指令:根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,与所述服务端建立第一连接,所述第一连接包括超文本传输协议http短连接。

上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图5a是本申请实施例中所涉及的配置更新装置510的功能单元组成框图。该配置更新装置510应用于第一客户端,所述配置管理系统510包括服务端和多个客户端,所述多个客户端包括通过第一编程语言实现的所述第一客户端,每个客户端运行有目标应用程序,所述第一客户端与所述服务端510建立有第一连接;该配置更新装置510包括处理单元511和通信单元512,其中,

所述处理单元511,用于通过所述通信单元512通过所述第一连接接收来自所述服务端的配置更新消息,所述配置更新消息是所述服务端执行以下操作得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;以及根据所述第一配置信息生成所述配置更新消息;所述应用标识信息和所述环境参数是所述第一客户端发送给所述服务端的;以及用于根据所述配置更新消息获取所述第一配置信息;以及用于根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序;或者,

所述处理单元511,用于根据预设的拉取周期向所述服务端发送配置信息拉取请求消息,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;以及用于通过所述通信单元512接收来自所述服务端的配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;以及用于根据所述配置信息拉取响应消息获取所述第一配置信息;以及用于根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

其中,所述配置更新装置510还包括存储器513,所述处理单元511可以是处理器,所述通信单元512可以是内部或外部通信端口,所述存储单元513可以是存储器。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序,第一客户端与服务端建立有第一连接;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过主动推送或者定时拉取的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

在一个可能的示例中,在所述配置更新消息仅包括所述第一配置信息;所述根据所述配置更新消息获取所述第一配置信息方面,所述处理单元510具体用于:提取所述配置更新消息中所包含的所述第一配置信息。

在一个可能的示例中,所述配置更新消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,在所述第一编程语言和所述第二编程语言不同;所述根据所述配置更新消息获取所述第一配置信息方面,所述处理单元510具体用于:以所述第一编程语言的编程语言标识为查询标识,查询所述配置更新消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

在一个可能的示例中,所述处理单元510通过所述通信单元520通过所述第一连接接收来自所述服务端的配置更新消息之前,还用于:执行读取所述服务端的配置的操作,获取所述服务端的连接地址;以及用于按照所述连接地址向服务端发送连接建立请求消息,所述连接建立请求消息用于指示所述服务端执行以下操作:为所述第一客户端进行连接配置,并向所述第一客户端发送连接建立响应消息;以及用于接收来自所述服务端的连接建立响应消息,根据所述连接配置与所述服务端建立第一链接,所述第一连接包括超文本传输协议http长连接。

在一个可能的示例中,所述配置信息拉取响应消息仅包括所述第一配置信息;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第一配置信息库,获取所述应用标识信息对应的所述第一配置信息,根据所述第一配置信息生成所述配置信息拉取响应消息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述处理单元510具体用于:提取所述配置信息拉取响应消息中的所述第一配置信息。

在一个可能的示例中,所述配置信息拉取响应消息包括所述第一客户端的多个配置信息以及所述多个配置信息对应的多个版本号;所述配置信息拉取请求消息携带有所述第一客户端的应用标识信息,所述应用标识信息用于所述服务端执行以下操作:根据所述应用标识信息查询第二配置信息库,获取所述应用标识信息对应的所述多个配置信息以及多个配置信息对应的多个版本号,根据所述多个配置信息以及多个配置信息对应的多个版本号生成所述配置信息拉取响应消息,所述多个配置信息包括所述第一配置信息;所述第一配置信息是所述服务端执行以下操作而得到的:获取用于更新所述目标应用程序的原始配置信息;以及根据所述第一客户端的环境参数和所述原始配置信息生成适配所述第一编程语言的第一配置信息;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述处理单元510具体用于:提取所述配置信息拉取响应消息中所述多个配置信息对应的多个版本号;以及用于以所述第一客户端的目标应用程序的版本号为查询标识,查询所述多个版本号,获取待更新的版本号;以及用于确定所述待更新的所述版本号对应的第一配置信息。

在一个可能的示例中,所述配置信息拉取响应消息包括配置信息列表,所述配置信息列表包括编程语言标识与配置信息之间的对应关系,所述配置信息列表包括所述第一配置信息和一个或多个第二客户端对应的一个或多个第二配置信息,所述第二客户端为所述多个客户端中除所述第一客户端之外的客户端,所述第二客户端的编程语言为第二编程语言,所述第一编程语言和所述第二编程语言不同;在所述根据所述配置信息拉取响应消息获取所述第一配置信息方面,所述处理单元510具体用于:以所述第一编程语言的编程语言标识为查询标识,查询所述配置信息拉取响应消息中的所述配置信息列表,获取所述第一编程语言的编程语言标识对应的所述第一配置信息。

在一个可能的示例中,所述处理单元510根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,还用于:确定所述目标应用程序的业务类型和所属的应用场景;以及用于获取所述应用场景对应的拉取周期集合;以及用于以所述业务类型查询所述拉取周期集合,获取所述业务类型对应的拉取周期,所述拉取周期集合包括业务类型和拉取周期之间的对应关系。

在一个可能的示例中,所述处理单元510根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,还用于:获取所述服务端的进行配置信息检测的轮询周期;以及用于根据所述轮询周期确定所述拉取周期。

在一个可能的示例中,所述处理单元510根据预设的拉取周期向所述服务端发送配置信息拉取请求消息之前,还用于:与所述服务端建立第一连接,所述第一连接包括超文本传输协议http短连接。

在一个可能的示例中,所述第一编程语言包括以下任意一种:java、.net、python、nodejs、php。

图5b是本申请实施例中所涉及的配置更新装置520的功能单元组成框图。该配置更新装置520应用于电子设备,所述服务端包括雷达传感器,该配置更新装置520包括处理单元521和通信单元522,其中,

所述处理单元521,用于通过所述通信单元522获取用于更新所述目标应用程序的原始配置信息;以及用于根据所述第一客户端的应用标识信息确定所述第一客户端为待推送配置信息的客户端;以及用于根据所述第一客户端的环境参数和所述原始配置信息生成适配第一编程语言的第一配置信息,所述第一编程语言为所述第一客户端的编程语言;以及用于根据所述第一配置信息生成配置更新消息;以及用于通过所述第一连接向所述第一客户端发送所述配置更新消息,所述配置更新消息用于所述第一客户端执行以下操作:根据所述配置更新消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序;或者,

所述处理单元521,用于通过所述通信单元522接收来自所述第一客户端的配置信息拉取请求消息,所述配置信息拉取请求消息是所述第一客户端根据预设的拉取周期发送的,所述拉取周期用于约束所述目标应用程序的更新延时小于预设时长;以及用于生成配置信息拉取响应消息,所述配置信息拉取响应消息携带有用于更新所述目标应用程序的第一配置信息,所述第一配置信息适配所述第一客户端的第一编程语言;以及用于向所述第一客户端发送所述配置信息拉取响应消息,所述配置信息拉取响应消息用于所述第一客户端执行以下操作:根据所述配置信息拉取响应消息获取所述第一配置信息;以及根据所述第一配置信息在当前启动周期内实时更新所述目标应用程序。

其中,所述配置更新装置520还包括存储器523,所述处理单元521可以是处理器,所述通信单元522可以是内部或外部通信端口,所述存储单元523可以是存储器。

可以看出,本申请实施例中,配置管理系统包括服务端和多个客户端,多个客户端包括通过第一编程语言实现的第一客户端,每个客户端运行有目标应用程序;服务端针对开发人员录入的针对多语言客户端的目标应用程序的原始配置信息,可以生成适配第一客户端的第一编程语言的第一配置信息,并根据第一客户端的应用标识信息定位第一客户端,通过定时拉取的机制,实现第一配置信息的传输,并由第一客户端在当前启动周期内直接热更新目标应用程序,突破了多语言客户端的局限性,有利于提高配置管理系统进行服务更新的兼容性和效率。

图6是本申请实施例提供的一种配置管理系统600的系统架构示意图,该配置管理系统600包括服务端610和多个客户端620,每个客户端620运行有目标应用程序,所述服务端包括入口子服务portalservice611、管理子服务adminservice612和配置子服务configservice613,所述每个客户端620与所述configservice613通信连接;其中,

所述服务端610用于执行如上述实施例中的服务端所执行的任一步骤;

所述多个客户端620中的客户端用于执行如上述实施例中客户端(包括第一客户端)所执行的步骤。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。

本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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