【技术实现步骤摘要】
一种节点选择方法和装置
本申请涉及软件开发领域,尤其是在软件构建和开发过程中提供一种节点选择方法,以便在多种环境组成的资源池中能够快速地找到服务于请求消息的节点,从而提高作业分发的效率。
技术介绍
目前,随着云技术发展和移动应用的流行,开发和运营(Development和Operations的组合,DevOps)已经逐渐替代敏捷开发成为实时的软件开发流程。其中DevOps可以是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(qualityassurance,QA)部门之间的沟通、协作与整合,以便能够按时交付软件产品和提供服务。并且一些软件公司,例如微软、谷歌的云构建(CloudBuild)和亚马逊的代码构建(CodeBuild)等都积极地推崇DevOps,其中在使用DevOps进行软件开发的过程中,一个重要的环节是构建任务,所述构建任务包括系统根据用户需求或开发人员要求构建某一特定环境,比如软件开发工具包、编程语言及种类、依赖等,以便在该特定环境下配置一定的资源,该资源可以具备处理、运算和存储等功能,并且这些功能都可通过预先配置来完成。其中为了方便表示,将该资源也称为一个节点,且该节点用于服务某一特定环境的请求消息,并执行用户请求开发的相关的产品流水线得到该产品的安装包。在云平台系统中全部特定环境下的所有资源组成一个资源池,在该资源池中包括多个节点,这些节点可服务于多种特定环境,比如资源池中存在一些节点专为产品A的环境1提供构建服务,另一些节点专为产品A的环境2提供构建服务,还有一些节点专为产品A的环境3提供构建服务。其 ...
【技术保护点】
1.一种节点选择方法,其特征在于,所述方法包括:接收请求消息,所述请求消息用于请求提供用户所需产品的安装包,且所述请求消息中携带有唯一标识用户所需产品的产品信息;根据所述请求消息中的产品信息,在节点状态表中查找与所述产品信息对应的目标节点,其中所述节点状态表中包括至少一个对应关系,每个所述对应关系为一个节点与一个产品信息之间的关系,且所述节点状态表中的每个节点的状态为空闲;将所述请求消息发送给所述目标节点,以使所述目标节点为所述用户所需产品构建对应的产品安装包。
【技术特征摘要】
1.一种节点选择方法,其特征在于,所述方法包括:接收请求消息,所述请求消息用于请求提供用户所需产品的安装包,且所述请求消息中携带有唯一标识用户所需产品的产品信息;根据所述请求消息中的产品信息,在节点状态表中查找与所述产品信息对应的目标节点,其中所述节点状态表中包括至少一个对应关系,每个所述对应关系为一个节点与一个产品信息之间的关系,且所述节点状态表中的每个节点的状态为空闲;将所述请求消息发送给所述目标节点,以使所述目标节点为所述用户所需产品构建对应的产品安装包。2.根据权利要求1所述的方法,其特征在于,所述产品信息包括产品名称和所述产品名称对应的版本号,所述根据所述请求消息中的产品信息,在节点状态表中查找与所述产品信息对应的目标节点,包括:在所述节点状态表中查找与所述产品名称和所述版本号相同的产品信息,并作为目标产品信息;根据所述目标产品信息以及所述目标产品信息的对应关系,确定所述目标节点。3.根据权利要求1或2所述的方法,其特征在于,所述接收请求消息之前,还包括:接收用户输入的配置参数,所述配置参数用于配置用户期望构建产品时所需的至少一个构建环境;根据所述配置参数生成至少一个构建环境代码,并运行每个所述构建环境代码得到与每个所述构建环境代码相对应的镜像文件;根据所述镜像文件生成至少一个节点,其中一个节点服务于一个镜像文件所对应的构建环境,且在所述构建环境下产生唯一的产品名称和版本号;根据每个所述节点和所述节点在所述构建环境下产生唯一的产品名称和版本号,建立所述至少一个对应关系;根据所述至少一个对应关系和每个节点的状态生成所述节点状态表。4.根据权利要求1-3任一项所述的方法,其特征在于,第一节点用于在第一环境下构建第一产品的安装包,所述目标节点为一个所述第一节点;所述将所述请求消息发送给所述目标节点之后,还包括:在所述节点状态表中标记所述目标节点的状态为忙碌;检测所述节点状态表中所有空闲状态的第一节点的数量是否小于第一阈值;如果小于所述第一阈值,则配置和增加所述第一节点的数量,使得增加后的第一节点的数量不小于所述第一阈值。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述目标节点执行完所述请求消息的构建任务的情况下,标记所述目标节点的状态为空闲,并更新所述节点状态表;如果所述节点状态表中所有空闲状态的第一节点的数量超过第二阈值,则减少所述第一节点的数量,使得减少后的第一节点的数量不超过所述第二阈值。6.根据权利要求1-5任一项所述的方法,其特征在于,在接收的所述请求消息的数量为N的情况下,N为预设时间内获取的请求消息的数量,N≥2且为正整数,所述在节点状态表中查找与所述产品信息对应的目标节点,包括:在所述节点状态表中查找与每个请求消息携带的产品信息向对应的目标节点,得到N个目标节点;所述将所述请求消息发送给所述目标节点,包括:将所述N个请求消息发送给对应的N个目标节点。7.一种节点选择装置,其特征在于,所述装置包括:接收单元,用于接收请求消息,所述请求消息用于请求提供用户所需产品的安装包,且所述请求消息中携带有唯一标...
【专利技术属性】
技术研发人员:王亚伟,陈远峰,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。