CN109375946B - 一种管理节点包管理器的组件包的方法及*** - Google Patents

一种管理节点包管理器的组件包的方法及*** Download PDF

Info

Publication number
CN109375946B
CN109375946B CN201811017082.5A CN201811017082A CN109375946B CN 109375946 B CN109375946 B CN 109375946B CN 201811017082 A CN201811017082 A CN 201811017082A CN 109375946 B CN109375946 B CN 109375946B
Authority
CN
China
Prior art keywords
package
component package
management server
version number
notification message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811017082.5A
Other languages
English (en)
Other versions
CN109375946A (zh
Inventor
林泽全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Lian Intellectual Property Service Center
Shunwei Chongqing Technology Co ltd
Original Assignee
Shunwei Chongqing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shunwei Chongqing Technology Co ltd filed Critical Shunwei Chongqing Technology Co ltd
Priority to CN201811017082.5A priority Critical patent/CN109375946B/zh
Publication of CN109375946A publication Critical patent/CN109375946A/zh
Application granted granted Critical
Publication of CN109375946B publication Critical patent/CN109375946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种管理节点包管理器的组件包的方法及***,该方法包括:管理服务器根据终端发送的请求信息包含的节点包管理器NPM的组件包的属性信息向存储组件包的源服务器发送控制指令;源服务器根据该控制指令创建虚拟运行环境,向管理服务器返回包含虚拟运行环境的标识第一通知消息;管理服务器根据第一通知消息关联存储属性信息以及虚拟运行环境的标识,根据终端标识向终端返回第二通知消息;管理服务器接收终端上传的组件包,根据属性信息以及虚拟运行环境的标识的关联关系、上传的组件包的属性信息将上传的组件包运行于目标虚拟运行环境。本发明实施例可节省部署新的源服务器所需要的硬件成本以及维护成本。

Description

一种管理节点包管理器的组件包的方法及***
技术领域
本发明属于计算机技术领域,尤其涉及一种管理节点包管理器的组件包的方法及***。
背景技术
节点包管理器(Node Package Manager,NPM)是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准,NPM包含三部分:一个用来存放第三方包的代码库,一个管理本地已经安装包的机制,一个用来定义包依赖关系的标准。NPM提供了一个公共的注册服务,它包含了大家发布的所有包(组件安装包),并提供了一个命令行工具,用来下载、安装和管理这些包。
当用户需要使用NPM包(或NPM组件包,用于实现某功能)时,需要将本地NPM源(下载源)指向对应的存储NPM包的源服务器,从而从存储有该NPM包的源服务器中下载并进行组件安装。但是当NPM包需要并行开发与测试时,同一个NPM包会存在不同版本,而一台源服务器只有一套运行环境,一套运行环境支持运行一个版本的NPM包,一台源服务器无法支持NPM包并行开发与测试。如果需要实现并行支持NPM包的并行开发与测试,需要通过搭建多套源服务器分别运行不同版本的NPM包,这样的硬件成本和维护成本都很高,不利于实际执行。
发明内容
有鉴于此,本发明实施例提供了一种管理节点包管理器的组件包的方法及***,以解决现有技术中,当需要实现并行支持NPM包的并行开发与测试时,需要通过搭建多套源服务器分别运行不同版本的NPM包,这样的硬件成本和维护成本都很高,不利于实际执行的问题。
本发明实施例的第一方面提供了一种管理节点包管理器的组件包的方法,包括:
管理服务器获取终端发送的请求信息,根据所述请求信息包含的节点包管理器NPM的组件包的属性信息向存储所述组件包的源服务器发送控制指令;所述控制指令包括所述属性信息;所述属性信息包括所述组件包的唯一标识以及当前的第一版本号;
源服务器根据所述管理服务器发送的所述控制指令创建虚拟运行环境,并向所述管理服务器返回第一通知消息,所述第一通知消息包括所述虚拟运行环境的标识;
所述管理服务器根据所述第一通知消息关联存储所述属性信息以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知信息至少包括所述第一版本号的所述组件包的下载地址;
所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述属性信息以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境。
本发明实施例的第二方面提供了一种管理节点包管理器的组件包的***,包括管理服务器、源服务器、至少一个终端;
所述管理服务器获取终端发送的请求信息,根据所述请求信息包含的节点包管理器NPM的组件包的属性信息向源服务器发送控制指令;所述控制指令包括所述属性信息;所述属性信息包括所述组件包的唯一标识以及当前的第一版本号;
所述源服务器根据所述管理服务器发送的所述控制指令创建虚拟运行环境,并向所述管理服务器返回第一通知消息,所述第一通知消息包括所述虚拟运行环境的标识;
所述管理服务器根据所述第一通知消息关联存储所述属性信息以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知信息至少包括所述第一版本号的所述组件包的下载地址;
所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述属性信息以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境。
实施本发明实施例提供的一种管理节点包管理器的组件包的方法及***具有以下有益效果:
本发明实施例,在需要对NPM组件包进行并行开发与测试时,通过管理服务器根据终端发送的请求信息向存储有该NPM组件包的源服务器发送控制指令,控制该源服务器为该NPM组件包创建虚拟运行环境,以在虚拟的运行环境中运行并测试新版本的NPM组件包。通过在原来部署的源服务器内根据实际需求创建虚拟运行环境,不需要新增加源服务器,在同一台源服务器中即可实现多套并行的运行环境支持NPM组件包的开发与测试,可节省部署新的源服务器所需要的硬件成本以及维护成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的管理节点包管理器的组件包的***的网络拓扑架构示意图;
图2是本发明一实施例提供的一种管理节点包管理器的组件包的方法的实现流程图;
图3是本发明另一实施例提供的一种管理节点包管理器的组件包的方法的实现流程图;
图4是本发明一实施例提供的一种服务器的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明实施例提供的管理节点包管理器的组件包的***的网络拓扑架构示意图。为了便于说明,仅示出了与本实施例相关的部分。
如图所示的***中包括至少一个终端110、一个管理服务器120,以及至少一个源服务器130,源服务器130中存储有NPM组件包。终端110包括但不限于台式电脑、笔记本电脑,还可以是其他可开发NPM组件包的终端。管理服务器120可以是Nginx,Nginx也称enginex,是一个高性能的超文本传输协议(Hyper Text Transport Protocol,HTTP)服务器和反向代理服务器。
终端110可以与管理服务器120进行通信,管理服务器120可以与源服务器进行通信。
可选地,当终端110获知源服务器130的访问地址时,也可以跟源服务器130进行通信。
基于图1所示的管理节点包管理器的组件包的***的网络拓扑架构示意图,下面结合图2、图3对本发明的管理节点包管理器的组件包的方法进行详细说明,阐述终端、管理服务器以及源服务器之间的数据交互过程。具体地,请参见图1,图1是本发明实施例提供的一种管理节点包管理器的组件包的方法的实现流程图。如图所示的管理节点包管理器的组件包的方法可包括以下步骤:
S101:管理服务器获取终端发送的请求信息,根据所述请求信息包含的节点包管理器NPM的组件包的属性信息向存储所述组件包的源服务器发送控制指令;所述控制指令包括所述属性信息;所述属性信息包括所述组件包的唯一标识以及当前的第一版本号。
开发人员在需要对NPM的组件包进行开发及测试时,在终端通过管理服务器的访问地址与管理服务器建立通信连接后,开发人员可通过终端显示的交互界面输入或选择NPM组件包(NPM包)的唯一标识以及NPM组件包当前的第一版本号,并触发终端生成请求信息。NPM组件包的第一版本号是指当前需要下载的NPM组件包的版本号。NPM组件包是指通过NPM管理的组件包。
请求信息用于请求获取需要调试的NPM组件包的下载地址,请求信息包括待调试的NPM组件包的属性信息以及终端标识,待调试的NPM组件包的属性信息包括NPM组件包的唯一标识以及NPM组件包当前的第一版本号。终端标识为终端的唯一标识,例如,媒体访问控制(Media Access Control,MAC)地址。待调试的NPM组件包是指开发人员需要下载并进行开发、测试的NPM组件包。
待调试的NPM组件包的属性信息用于获取其下载地址,终端的标识用于管理服务器向终端返回NPM组件包的下载地址。
终端在生成请求信息时,将生成的请求信息发送给管理服务器。
管理服务器的数据库中预先存储了NPM组件包的属性信息以及NPM组件包的下载地址之间的对应关系,NPM组件包的下载地址可以是源服务器中该NPM组件包的存储地址。
管理服务器接收每个终端发送的请求信息,对请求信息进行解析,从请求消息的标头(header)头部信息中获取每个请求信息包含的NPM组件包的属性信息,得到待调试的NPM组件包的唯一标识以及当前的第一版本号;之后,响应该请求信息,根据请求信息中包含的待调试的NPM组件包的唯一标识以及当前的第一版本号,从数据库查找与该唯一标识以及当前的第一版本号均匹配的下载地址,并根据匹配的下载地址与源服务器建立通信连接,向源服务器发送控制指令;控制指令用于指示源服务器创建虚拟的运行环境;控制指令包括待调试的NPM组件包的属性信息;所述属性信息包括所述组件包的唯一标识以及当前的第一版本号。虚拟运行环境用于为开发的新版本的NPM组件包提供运行环境。
可以理解的是,管理服务器获取到的匹配的下载地址可以为一个,也可以为至少两个。当获取到至少两个匹配的下载地址时,管理服务器可以根据其中的任意一个下载地址向该下载地址对应的源服务器发送控制指令。
例如,管理服务器接收到第一终端发送的第一请求信息时,根据第一请求信息包含的第一NPM组件包的属性信息向源服务器发送第一控制指令,以指示源服务器根据第一控制指令为新版本的第一NPM组件包创建虚拟运行环境。
管理服务器接收到第二终端或第一终端发送的第二请求信息时,根据第二请求信息包含的第二NPM组件包的属性信息向源服务器发送第二控制指令,以指示源服务器根据第二控制指令为新版本的第二NPM组件包创建虚拟运行环境。
S102:源服务器根据所述管理服务器发送的所述控制指令创建虚拟运行环境,并向所述管理服务器返回第一通知消息,所述第一通知消息包括所述虚拟运行环境的标识。
源服务器在接收到管理服务器发送的控制指令时,基于应用容器引擎Docker语法在源服务器中为控制指令中包含的NPM组件包的属性信息对应的新版本的NPM组件包创建Docker镜像,得到虚拟运行环境。虚拟运行环境与源服务器中真实的运行环境相同。在源服务器中分别创建的虚拟运行环境的标识可以为docker1、docker2、docker3、……、dockerN。dockerN表示第N个docker镜像的标识。
源服务器在创建好虚拟运行环境后,根据管理服务器的访问地址向管理服务器发送标识虚拟运行环境创建成功的第一通知消息,该通知消息包括创建的虚拟运行环境的标识。创建的虚拟运行环境用于运行开发的新版本的NPM包。其中,一个虚拟运行环境为一个版本的NPM包提供运行环境。
可以理解的是,当该源服务器在创建虚拟环境失败时,向管理服务器返回用于表示虚拟运行环境创建失败的通知消息,以使得管理服务器在获取到至少两个匹配的下载地址时,更换下载地址发送用于指示下载地址对应的源服务器创建虚拟的运行环境的控制指令。
S103:所述管理服务器根据所述第一通知消息关联存储所述属性信息以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知信息至少包括所述第一版本号的所述组件包的下载地址。
管理服务器在接收到源服务器反馈的用于表示虚拟运行环境创建成功的通知消息时,可以将NPM组件包的属性信息以及通知消息中创建的虚拟运行环境的标识关联保存。
进一步地,管理服务器还可以将NPM组件包的下载地址、NPM组件包的属性信息以及通知消息中创建的虚拟运行环境的标识关联保存,从而将NPM组件包的唯一标识及当前的版本号、NPM组件包的下载地址以及第一通知消息中创建的虚拟运行环境的标识关联保存,以使得管理服务器在接收到终端发送的新版本的NPM组件包时,能够根据NPM组件包的唯一标识确定与其匹配的虚拟运行环境的标识。
可以理解的是,当与NPM组件包的唯一标识匹配的虚拟运行环境的标识为至少两个时,管理服务器可以从中选择任意一个没有被使用的虚拟运行环境。
可以理解的是,管理服务器还可以关联存储终端标识、NPM组件包的属性信息以及虚拟运行环境的标识,以使得管理服务器在接收到终端上传的新版本的NPM组件包时,根据终端标识、NPM组件包的唯一标识以及下载的NPM组件包的第一版本号,确定该新版本的NPM组件包对应的虚拟运行环境。
管理服务器可以根据请求消息中的终端的标识向发送请求消息的终端发送第二通知信息。第二通知信息至少包括第一版本号的NPM组件包的下载地址,该下载地址指向存储第一版本的NPM组件包的源服务器。该下载地址根据NPM组件包的唯一标识以及当前的第一版本号确定。第二通知消息用于通知终端根据第一版本号的所述组件包的下载地址下载NPM组件包。
终端在接收到管理服务器发送的第二通知消息时,根据第二通知消息中的第一版本号的NPM组件包的下载地址下载NPM组件包,以便开发人员在第一版本号的NPM的基础上进行开发,开发人员可通过交互界面选择的在第一版本号的NPM的基础上开发出新版本的NPM组件包,并触发上传指令。终端获取开发人员上传的新版本的NPM组件包,并将其发送给管理服务器。上传的NPM组件包至少包括NPM组件包的唯一标识。
S104:所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述属性信息以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境。
管理服务器在获取到新版本的NPM包时,根据NPM组件包的属性信息以及虚拟运行环境的标识的关联关系,获取与上传的NPM组件包的属性信息(唯一标识、下载的NPM组件包的第一版本号)相匹配的目标虚拟运行环境的标识,根据目标虚拟运行环境的标识确定该虚拟运行环境所属的目标源服务器,根据目标源服务器的访问地址与其建立通信连接,从而将上传的新版本的NPM组件包存储至目标源服务器中的目标虚拟运行环境中,在目标虚拟运行环境中运行上传的NPM组件包并进行测试。
可以理解的是,当管理服务器中关联存储有终端标识、NPM组件包的属性信息以及虚拟运行环境的标识时,根据终端标识、NPM组件包的属性信息以及虚拟运行环境的标识之间的关联关系,获取与该NPM组件包的属性信息、上传NPM组件包的终端的终端标识均匹配的目标虚拟运行环境的标识,从而将上传的新版本的NPM组件包存储至目标源服务器中的目标虚拟运行环境中,从而能够在目标虚拟运行环境中运行上传的NPM组件包并进行测试。
本发明实施例,在需要对NPM组件包进行并行开发与测试时,通过管理服务器根据终端发送的请求信息向存储有该NPM组件包的源服务器发送控制指令,控制该源服务器为该NPM组件包创建虚拟运行环境,以在虚拟的运行环境中运行并测试新版本的NPM组件包。通过在原来部署的源服务器内根据实际需求创建虚拟运行环境,不需要新增加源服务器,在同一台源服务器中即可实现多套并行的运行环境支持NPM组件包的开发与测试,可节省部署新的源服务器所需要的硬件成本以及维护成本。
请参见图3,图3是本发明另一实施例提供的一种管理节点包管理器的组件包的方法的实现流程图。如图所示的管理节点包管理器的组件包的方法可包括以下步骤:
S201:管理服务器获取终端发送的请求信息,根据预设的版本命名策略以及所述请求信息包含的节点包管理器NPM的组件包的属性信息,为所述组件包创建第二版本号。
开发人员在需要对NPM的组件包进行开发及测试时,在终端通过管理服务器的访问地址与管理服务器建立通信连接后,开发人员可通过终端显示的交互界面输入或选择NPM组件包(NPM包)的唯一标识以及当前的第一版本号,并触发终端生成请求信息。NPM组件包的第一版本号是指当前需要下载的NPM组件包的版本号。
请求信息用于请求获取需要调试的NPM组件包的下载地址,请求信息包括待调试的NPM组件包的属性信息以及终端标识,待调试的NPM组件包的属性信息包括唯一标识以及当前的第一版本号。终端标识为终端的唯一标识,例如,媒体访问控制(Media AccessControl,MAC)地址。待调试的NPM组件包是指开发人员需要下载并进行开发、测试的NPM组件包。
待调试的NPM组件包的属性信息用于获取其下载地址,终端的标识用于管理服务器向终端返回NPM组件包的下载地址。
终端在生成请求信息时,将生成的请求信息发送给管理服务器。
管理服务器的数据库中预先存储了NPM组件包的属性信息以及NPM组件包的下载地址之间的对应关系,NPM组件包的下载地址可以是源服务器中该NPM组件包的存储地址。
管理服务器接收每个终端发送的请求信息,对请求信息进行解析,从请求消息的标头(header)头部信息中获取每个请求信息包含的NPM组件包的属性信息,得到待调试的NPM组件包的唯一标识以及当前的第一版本号;之后,根据当前的第一版本号以及NPM组件包的版本命名策略,为每个终端分别确定更新版本的NPM组件包的第二版本号,第二版本号是开发人员基于第一版本号的NPM组件包进行开发得到的新NPM组件包的版本号。管理服务器发送的控制指令中还包括NPM包的新版本号,以使得源服务器在接收到控制指令时,创建该新版本号对应的虚拟的运行环境。
第二版本号通常比源服务器中已存储的NPM组件包的版本号更高。
可以理解的是,管理服务器获取到的匹配的下载地址可以为一个,也可以为至少两个。
S202:向存储所述组件包的源服务器发送控制指令;所述控制指令包括所述唯一标识以及所述第二版本号。
管理服务器在获取到待调试的NPM组件包的唯一标识以及当前的第一版本号,从数据库查找与该唯一标识以及当前的第一版本号均匹配的下载地址,并根据匹配的下载地址与源服务器建立通信连接,向源服务器发送控制指令;控制指令用于指示源服务器创建虚拟的运行环境;控制指令包括待调试的NPM组件包的属性信息;所述属性信息包括所述组件包的唯一标识以及当前的第一版本号。虚拟运行环境用于为开发的新版本的NPM组件包提供运行环境。
当获取到至少两个匹配的下载地址时,管理服务器可以根据其中的任意一个下载地址向该下载地址对应的源服务器发送控制指令。
例如,管理服务器接收到第一终端发送的第一请求信息时,根据第一请求信息包含的第一NPM组件包的属性信息向源服务器发送第一控制指令,以指示源服务器根据第一控制指令为新版本的第一NPM组件包创建虚拟运行环境。
管理服务器接收到第二终端或第一终端发送的第二请求信息时,根据第二请求信息包含的第二NPM组件包的属性信息向源服务器发送第二控制指令,以指示源服务器根据第二控制指令为新版本的第二NPM组件包创建虚拟运行环境。
S203:源服务器根据所述管理服务器发送的所述控制指令创建虚拟运行环境,并向所述管理服务器返回第一通知消息,所述第一通知消息包括所述虚拟运行环境的标识。
本实施例中S203与上一实施例中的S102相同,具体请参阅上一实施例中S102的相关描述,此处不赘述。
其中,源服务器在根据控制指令成功创建虚拟运行环境时,执行S204。
S204:所述管理服务器根据所述第一通知消息关联存储所述唯一标识、所述第一通知消息包含的所述第二版本号以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知信息至少包括所述第一版本号的所述组件包的下载地址、所述第二版本号。
本实施例中S204与上一实施例S103的区别在于,管理服务器关联存储NPM组件包的唯一标识、第一版本号、第二版本号以及虚拟运行环境的标识,管理服务器向终端发送的第二通知消息包括第一版本号的NPM组件包的下载地址、NPM组件包的第二版本号。
可选地,第二通知消息可以包括第一版本号的NPM组件包的下载地址、与第二版本号关联的虚拟运行环境的标识。第一版本号的NPM组件包的下载地址用于下载第一版本的NPM组件包以及确定虚拟运行环境的标识对应的目标源服务器的访问地址。通常地,存储第一版本号的NPM组件包的源服务器、与第二版本号关联的虚拟运行环境的标识所对应的目标服务器为同一源服务器。
可以理解的是,当存储第一版本号的NPM组件包的源服务器、与第二版本号关联的虚拟运行环境的标识所对应的目标服务器为不同的源服务器时,第二通知消息还可以包括与第二版本号关联的虚拟运行环境的标识对应的目标源服务器的访问地址
终端在接收到管理服务器发送的第二通知消息时,根据第二通知消息中的第一版本号的NPM组件包的下载地址下载NPM组件包,以便开发人员在第一版本号的NPM的基础上进行开发,并将新开发得到的NPM包的新版本号设置为第二版本号,开发人员可通过交互界面选择的在第一版本号的NPM的基础上开发出第二版本的NPM组件包,并触发上传指令。终端获取开发人员上传的第二版本的NPM组件包,并将其发送给管理服务器。上传的NPM组件包包括NPM组件包的唯一标识以及第二版本号,还可包括NPM组件包的第一版本号。
可以理解的是,当源服务器在接收到管理服务器发送的控制指令,且根据所述控制指令创建虚拟运行环境失败时,向管理服务器返回第三通知消息;第三通知消息用于标识创建虚拟运行环境失败,通知管理服务器更换源服务器,以使得管理服务器在获取到与第一版本的NPM组件包的属性信息相匹配的下载地址为至少两个时,更换下载地址发送用于指示下载地址对应的源服务器创建虚拟的运行环境的控制指令。
S205:所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述唯一标识、所述第二版本号以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境。
管理服务器在获取到终端上传的NPM包时,根据NPM组件包的唯一标识、第二版本号以及虚拟运行环境的标识的关联关系,获取与终端上传的NPM组件包的属性信息中包含的唯一标识以及第二版本号均匹配的目标虚拟运行环境的标识,根据目标虚拟运行环境的标识确定该虚拟运行环境所属的目标源服务器,根据目标源服务器的访问地址与其建立通信连接,从而将上传的第二版本的NPM组件包存储至目标源服务器中的目标虚拟运行环境中,在目标虚拟运行环境中运行上传的NPM组件包并进行测试。
在另一实施方式中,当第二通知消息可以包括第一版本号的NPM组件包的下载地址、与第二版本号关联的虚拟运行环境的标识时,在S204之后还可以包括S206:目标源服务器接收所述终端根据所述第二通知消息上传的组件包,根据唯一标识、第二版本号以及虚拟运行环境的标识之间的关联关系、所述上传的组件包携带的属性信息将所述上传的组件包运行于目标虚拟运行环境;所述上传的组件包基于所述第一版本的组件包开发得到;所述目标源服务器为创建与所述第二版本号关联的所述虚拟运行环境的标识对应的虚拟运行环境的源服务器。
终端在接收到管理服务器发送的第二通知消息时,根据第二通知消息中包含的第一版本号的NPM组件包的下载地址下载第一版本号的组件包,以便开发人员在第一版本号的NPM的基础上进行开发,并将新开发得到的NPM包的新版本号设置为第二版本号,开发人员可通过交互界面选择的在第一版本号的NPM的基础上开发出第二版本的NPM组件包,并触发上传指令。
在一实施方式中,当存储第一版本的NPM组件包的源服务器、创建与第二版本的NPM组件包虚拟运行环境的源服务器为同一服务器时,终端在检测到开发人员触发的上传指令时,终端可以根据第一版本号的NPM组件包的下载地址访问目标源服务器,将开发人员上传的新版本的NPM组件包上传至目标源服务器,并通知目标源服务器根据第二通知消息中包含的与第二版本号关联的虚拟运行环境的标识存储第二版本的NPM组件包。上传的NPM组件包包括NPM组件包的唯一标识以及第二版本号,还可包括NPM组件包的第一版本号。
在另一实施方式中,当存储第一版本的NPM组件包的源服务器、创建与第二版本的NPM组件包虚拟运行环境的源服务器为不同的服务器时,终端在检测到开发人员触发的上传指令时,根据向管理服务器请求获取第二通知消息包含的虚拟运行环境的标识所对应的目标源服务器的访问地址,以使管理服务器能够根据每个源服务器所创建的虚拟运行环境的标识,确定第二通知消息中包含的虚拟运行环境的标识所对应的目标源服务器,从而向终端返回目标源服务器的访问地址。
终端在获取到创建与第二版本号关联的虚拟运行环境的标识所对应的源服务器的访问地址时,根据目标源服务器的访问地址访问目标源服务器并向其上传开发人员新开发的NPM组件包。该NPM组件包携带属性信息,属性信息包括NPM组件包的唯一标识、第二版本号,该NPM组件包携带还携带与第二版本号关联的虚拟运行环境的标识。
目标源服务器在获取到终端上传的NPM组件包时,将上传的NPM组件包存储至其携带的虚拟运行环境的标识对应的目标虚拟运行环境中,从而在目标虚拟运行环境中运行并测试该NPM组件包。
可选地,为了充分利用源服务器中的资源,避免不需要继续运行NPM组件包的虚拟运行环境占用***资源,在S205或S206之后,还可以包括S207:所述管理服务器在检测到所述上传的组件包测试完成时,根据所述上传的组件包对应的虚拟运行环境的标识向所述源服务器发送删除通知;所述删除通知用于删除所述虚拟运行环境的标识对应的虚拟运行环境。
例如,管理服务器在检测到终端触发的用于标识上传的组件包测试完成的通知消息(该通知消息可以由开发人员触发终端生成)时,根据该通知消息携带的组件包的第二版本信息确定与其匹配的虚拟运行环境的标识,根据该匹配的虚拟运行环境的标识向创建该匹配的虚拟运行环境的源服务器发送删除通知,以使源服务器在接收到删除通知时,根据删除通知中包含的虚拟运行环境的标识删除其对应的虚拟运行环境。
在另一实施方式中,当虚拟运行环境中运行的NPM组件包预先设有测试时间时,源服务器可以在检测到当前时刻到达测试时间对应的结束时刻时,删除为该NPM组件包提高运行环境的该虚拟运行环境。
本发明实施例,在需要对NPM组件包进行并行开发与测试时,通过管理服务器根据终端发送的请求信息向存储有该NPM组件包的源服务器发送控制指令,控制该源服务器为该NPM组件包创建虚拟运行环境,以在虚拟的运行环境中运行并测试新版本的NPM组件包。通过在原来部署的源服务器内根据实际需求创建虚拟运行环境,不需要新增加源服务器,在一台源服务器中即可实现多套并行的运行环境支持NPM组件包的开发与测试,可节省部署新的源服务器所需要的硬件成本以及维护成本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图4是本发明一实施例提供的一种服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个服务器的管理节点包管理器的组件包的方法实施例中的步骤,例如对管理服务器来说,所述处理器40执行图2所示的步骤S101、S103-S104,对源服务器来说,所述处理器40执行图2所示的步骤S102。
示例性的,所述计算机程序42可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述服务器4中的执行过程。例如,所述计算机程序42可以被分割成脚本运行单元、获取单元、合并单元以及生成单元,各单元具体功能如上所述。
所述服务器可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出服务器、网络接入服务器、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储服务器,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储服务器。所述存储器41用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (8)

1.一种管理节点包管理器的组件包的方法,其特征在于,包括:
管理服务器获取终端发送的请求信息,根据所述请求信息包含的节点包管理器NPM的组件包的属性信息向存储所述组件包的源服务器发送控制指令,包括:管理服务器获取终端发送的请求信息,根据预设的版本命名策略以及所述请求信息包含的节点包管理器NPM的组件包的属性信息,为所述组件包创建第二版本号;向存储所述组件包的所述源服务器发送控制指令;所述控制指令包括所述属性信息;所述属性信息包括所述组件包的唯一标识、当前的第一版本号以及所述第二版本号;
源服务器根据所述管理服务器发送的所述控制指令创建虚拟运行环境,并向所述管理服务器返回第一通知消息,所述第一通知消息包括所述虚拟运行环境的标识;
所述管理服务器根据所述第一通知消息关联存储所述属性信息以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知消息至少包括所述第一版本号的所述组件包的下载地址,包括:所述管理服务器根据所述第一通知消息关联存储所述唯一标识、所述第一通知消息包含的所述第二版本号以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知消息至少包括所述第一版本号的所述组件包的下载地址、所述第二版本号;
所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述属性信息以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境,包括:所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述唯一标识、所述第二版本号以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境。
2.根据权利要求1所述的方法,其特征在于,所述第二通知消息还包括与所述第二版本号关联的所述虚拟运行环境的标识;
所述管理服务器根据所述第一通知消息关联存储所述唯一标识、所述第二版本号以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息之后,还包括:
目标源服务器接收所述终端根据所述第二通知消息上传的组件包,根据唯一标识、第二版本号以及虚拟运行环境的标识之间的关联关系、所述上传的组件包携带的属性信息将所述上传的组件包运行于目标虚拟运行环境;所述上传的组件包基于所述第一版本的组件包开发得到。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
所述源服务器在接收到所述管理服务器发送的控制指令,且根据所述控制指令创建虚拟运行环境失败时,向所述管理服务器返回第三通知消息;所述第三通知消息用于标识创建虚拟运行环境失败,通知所述管理服务器更换源服务器。
4.根据权利要求1或2所述的方法,其特征在于,所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述属性信息以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境之后,还包括:
所述管理服务器检测到所述上传的组件包测试完成时,根据所述上传的组件包对应的虚拟运行环境的标识向所述源服务器发送删除通知;所述删除通知用于删除所述虚拟运行环境的标识对应的虚拟运行环境。
5.一种管理节点包管理器的组件包的***,其特征在于,包括管理服务器、源服务器以及至少一个终端;
所述管理服务器获取终端发送的请求信息,根据所述请求信息包含的节点包管理器NPM的组件包的属性信息向存储所述组件包的源服务器发送控制指令;所述控制指令包括所述属性信息;所述属性信息包括所述组件包的唯一标识以及当前的第一版本号;
所述源服务器根据所述管理服务器发送的所述控制指令创建虚拟运行环境,并向所述管理服务器返回第一通知消息,所述第一通知消息包括所述虚拟运行环境的标识;
所述管理服务器根据所述第一通知消息关联存储所述属性信息以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知消息至少包括所述第一版本号的所述组件包的下载地址;
所述管理服务器接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述属性信息以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境;
所述管理服务器具体用于:
获取终端发送的请求信息,根据预设的版本命名策略以及所述请求信息包含的节点包管理器NPM的组件包的属性信息,为所述组件包创建第二版本号;
向存储所述组件包的所述源服务器发送控制指令;所述控制指令包括所述唯一标识以及所述第二版本号;
根据所述第一通知消息关联存储所述唯一标识、所述第一通知消息包含的所述第二版本号以及所述虚拟运行环境的标识,根据所述请求信息携带的终端标识向所述终端返回第二通知消息;所述第二通知消息至少包括所述第一版本号的所述组件包的下载地址、所述第二版本号;
接收所述终端在根据所述下载地址下载所述第一版本号的组件包后上传的组件包,根据所述唯一标识、所述第二版本号以及所述虚拟运行环境的标识的关联关系、所述上传的组件包的属性信息将所述上传的组件包运行于目标虚拟运行环境。
6.根据权利要求5所述的***,其特征在于,所述第二通知消息还包括与所述第二版本号关联的所述虚拟运行环境的标识;
目标源服务器用于:接收所述终端根据所述第二通知消息上传的组件包,根据唯一标识、第二版本号以及虚拟运行环境的标识之间的关联关系、所述上传的组件包携带的属性信息将所述上传的组件包运行于目标虚拟运行环境;所述上传的组件包基于所述第一版本的组件包开发得到;所述目标源服务器为创建与所述第二版本号关联的所述虚拟运行环境的标识对应的虚拟运行环境的源服务器。
7.根据权利要求5或6所述的***,其特征在于,所述源服务器还用于:在接收到所述管理服务器发送的控制指令,且根据所述控制指令创建虚拟运行环境失败时,向所述管理服务器返回第三通知消息;所述第三通知消息用于标识创建虚拟运行环境失败,通知所述管理服务器更换源服务器。
8.根据权利要求5或6所述的***,其特征在于,所述管理服务器还用于:在检测到所述上传的组件包测试完成时,根据所述上传的组件包对应的虚拟运行环境的标识向所述源服务器发送删除通知;所述删除通知用于删除所述虚拟运行环境的标识对应的虚拟运行环境。
CN201811017082.5A 2018-09-03 2018-09-03 一种管理节点包管理器的组件包的方法及*** Active CN109375946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811017082.5A CN109375946B (zh) 2018-09-03 2018-09-03 一种管理节点包管理器的组件包的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811017082.5A CN109375946B (zh) 2018-09-03 2018-09-03 一种管理节点包管理器的组件包的方法及***

Publications (2)

Publication Number Publication Date
CN109375946A CN109375946A (zh) 2019-02-22
CN109375946B true CN109375946B (zh) 2023-11-03

Family

ID=65404153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811017082.5A Active CN109375946B (zh) 2018-09-03 2018-09-03 一种管理节点包管理器的组件包的方法及***

Country Status (1)

Country Link
CN (1) CN109375946B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294397A (zh) * 2020-01-21 2020-06-16 北京乐学帮网络技术有限公司 npm包管理方法、装置、电子设备及存储介质
CN113377424B (zh) * 2021-06-23 2022-08-02 支付宝(杭州)信息技术有限公司 一种安装包处理方法、装置以及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976059B1 (en) * 2000-07-20 2005-12-13 International Business Machines Corporation System and method to provide applets using a server based virtual machine
WO2007113533A1 (en) * 2006-03-31 2007-10-11 British Telecommunications Public Limited Company Xml-based transfer and a local storage of java objects
CN104093046A (zh) * 2013-04-01 2014-10-08 云联(北京)信息技术有限公司 一种基于云游戏的视频插播***及方法
WO2016078431A1 (zh) * 2014-11-21 2016-05-26 中兴通讯股份有限公司 策略文件同步管理的方法及策略同步服务器和管理设备
EP3296865A1 (en) * 2016-09-16 2018-03-21 Powell Software SAS Collaborative development of a web based service

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007113542A1 (en) * 2006-03-31 2007-10-11 British Telecommunications Public Limited Company Server computer component
US20090183182A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Dynamic Composition of Virtualized Applications
US9690566B2 (en) * 2013-03-14 2017-06-27 Oracle International Corporation System and method for virtual assembly patching in a cloud environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976059B1 (en) * 2000-07-20 2005-12-13 International Business Machines Corporation System and method to provide applets using a server based virtual machine
WO2007113533A1 (en) * 2006-03-31 2007-10-11 British Telecommunications Public Limited Company Xml-based transfer and a local storage of java objects
CN104093046A (zh) * 2013-04-01 2014-10-08 云联(北京)信息技术有限公司 一种基于云游戏的视频插播***及方法
WO2016078431A1 (zh) * 2014-11-21 2016-05-26 中兴通讯股份有限公司 策略文件同步管理的方法及策略同步服务器和管理设备
EP3296865A1 (en) * 2016-09-16 2018-03-21 Powell Software SAS Collaborative development of a web based service

Also Published As

Publication number Publication date
CN109375946A (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
CN108551487B (zh) PaaS平台的应用部署方法、装置、服务器及存储介质
CN108566290B (zh) 服务配置管理方法、***、存储介质和服务器
CN101571809B (zh) 一种插件注册的实现方法及其装置
CN111182089B (zh) 容器集群***和访问大数据组件的方法、装置及服务器
CN110365724B (zh) 任务处理方法、装置及电子设备
CN112422702A (zh) Cdn回源方法、***及计算机设备
CN113141405B (zh) 服务访问方法、中间件***、电子设备和存储介质
CN108540509B (zh) 一种终端浏览器的处理方法、装置及服务器、智能终端
CN112799688A (zh) 容器应用内软件包安装方法、装置、计算机设备及介质
CN111930396B (zh) 一种基于notify机制的4G路由器中通讯模组的升级方法
CN112769706B (zh) 组件化路由方法及***
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN111831567B (zh) 应用的测试环境配置方法、装置、***和介质
CN109375946B (zh) 一种管理节点包管理器的组件包的方法及***
CN112702195A (zh) 网关配置方法、电子设备及计算机可读存储介质
CN111694639A (zh) 进程容器地址的更新方法、装置和电子设备
CN113419818B (zh) 基础组件部署方法、装置、服务器及存储介质
CN114328097A (zh) 一种文件监控方法、装置、电子设备和存储介质
CN114827177B (zh) 一种分布式文件***的部署方法、装置及电子设备
CN112732265A (zh) 一种数据处理方法和相关装置
CN112702441B (zh) 基于容器的访问数据处理方法、装置、***及存储介质
CN110661852B (zh) 云环境中的业务处理方法及装置
CN110266762B (zh) 一种数据上传方法、***、装置及存储介质
CN114221996A (zh) 一种服务调用方法、装置、电子设备、存储介质
CN113741952A (zh) 一种软件包管理方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20231010

Address after: No. 28-2 Xiyuan 1st Road, Xiyong Street, Gaoxin District, Shapingba District, Chongqing, 401332

Applicant after: Shunwei (Chongqing) Technology Co.,Ltd.

Address before: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen LIAN intellectual property service center

Effective date of registration: 20231010

Address after: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant