CN110209480B - 一种数据包的操作方法、装置及系统 - Google Patents
一种数据包的操作方法、装置及系统 Download PDFInfo
- Publication number
- CN110209480B CN110209480B CN201910411771.2A CN201910411771A CN110209480B CN 110209480 B CN110209480 B CN 110209480B CN 201910411771 A CN201910411771 A CN 201910411771A CN 110209480 B CN110209480 B CN 110209480B
- Authority
- CN
- China
- Prior art keywords
- packet
- information
- management
- package
- node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013515 script Methods 0.000 claims description 29
- 238000009434 installation Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000009792 diffusion process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Abstract
本发明实施例公开了一种数据包的操作方法、装置及系统,应用于通信技术领域。数据包的操作装置在需要对待部署的应用节点中的包信息进行操作时,只需将对包管理信息的更新信息发送给管理节点,这样管理节点更新本地储存的包管理信息,使得待部署的应用节点只需查看管理节点中的包管理信息,即可确定是否需要更新该应用节点中的包信息。只需通过数据包的操作装置实时更新管理节点上的包管理信息,而多个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种数据包的操作方法、装置及系统。
背景技术
包发布系统主要用于将任一产品的数据包(PKG)部署到应用节点进行应用,具体地,当产品开发用户开发了某一产品的数据包,会通过操作包发布系统提供的用户接口,发起数据包的发布流程。
现有的包发布流程包括:当通过用户操作触发包发布流程,包发布系统会发起包发布任务,并根据包发布任务启动一个线程,通过启动的线程向相应的应用节点发送包发布命令,这样,应用节点向包存储节点下载得到相应的数据包,从而完成了一次包发布任务。
在实际应用过程中,包发布系统会同时发起多个包发布任务,包发布系统会串行地执行这些包发布任务,即完成一次包发布任务或一次包发布任务失败时,包发布系统系统才会执行另一个包发布任务,这样,花费的时间较多,实际扩展性较差。
发明内容
本发明实施例提供一种数据包的操作方法、装置及系统,通过更新管理节点中的包管理信息实现了在应用节点中的包操作。
本发明实施例第一方面提供一种数据包的操作方法,包括:
接收包操作请求,所述包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息;
根据所述包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系;
根据所述确定的更新操作,相应地更新所述管理节点中储存的包管理信息,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行操作。
本发明实施例第二方面提供一种数据包的操作方法,包括:
接收对预置的包管理信息的更新信息,所述更新信息包括:在所述包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系;
根据所述更新信息对所述包管理信息进行更新;
将所述更新后的包管理信息发送给所述待部署的应用节点,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行相应操作。
本发明实施例第三方面提供一种数据包的操作装置,包括:
请求接收单元,用于接收包操作请求,所述包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息;
更新确定单元,用于根据所述包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系;
更新操作单元,用于根据所述确定的更新操作,相应地更新所述管理节点中储存的包管理信息,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行操作。
本发明实施例第四方面提供一种管理节点,包括:
更新接收单元,用于接收对预置的包管理信息的更新信息,所述更新信息包括:在所述包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系;
更新单元,用于根据所述更新信息对所述包管理信息进行更新;
管理信息发送单元,用于将所述更新后的包管理信息发送给所述待部署的应用节点,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行相应操作。
本发明实施例第五方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面或第二方面所述的数据包的操作方法。
本发明实施例第六方面提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的数据包的操作方法。
本发明实施例第七方面提供一种服务器,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第二方面所述的数据包的操作方法。
本发明实施例第八方面提供一种数据包的操作系统,包括:数据包的操作装置和至少应用管理区域中的管理节点;其中:
所述数据包的操作装置是如本发明实施例第三方面所述的数据包的操作装置,或如本发明实施例第六方面所述的终端设备;所述管理节点是如本发明实施例第四方面所述的管理节点,或如本发明实施例第七方面所述的服务器。
可见,在本实施例的方法中,数据包的操作装置在需要对待部署的应用节点中的包信息进行操作时,只需将对包管理信息的更新信息发送给管理节点,这样管理节点更新本地储存的包管理信息,使得待部署的应用节点只需查看管理节点中的包管理信息,即可确定是否需要更新该应用节点中的包信息。与现有技术中需要在某一应用节点发布成功或失败某一产品的包信息之后,才能在另一应用节点发布产品的包信息相比,本实施例中只需通过数据包的操作装置实时更新管理节点上的包管理信息,而多个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据包的操作系统的结构示意图;
图2是本发明一个实施例提供的一种数据包的操作方法的流程图;
图3是本发明另一个实施例提供的一种数据包的操作方法的流程图;
图4是本发明实施例中管理节点储存的包管理信息的示意图;
图5是本发明应用实施例提供的一种数据包的方法的示意图;
图6是本发明应用实施例中数据包的操作装置显示的用户接口的示意图;
图7是本发明应用实施例中应用节点下载数据包的示意图;
图8是本发明实施例提供的一种数据包的操作装置的结构示意图;
图9是本发明实施例提供的一种管理节点的结构示意图;
图10是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种数据包的操作方法,主要可以应用于如图1所示的数据包的操作系统中,在该系统中包括数据包的操作装置,至少一个(图中以n个为例说明)应用管理区域分别对应的管理节点,及各个应用管理区域内部署的应用节点。
其中,在具体应用中,一个应用产品商会在不同的地域(Region)部署相应的应用管理区域,这样,不同的应用管理区域之间完全隔离,保证不同应用管理区域之间最大程度的稳定性和容错性。进一步地,在每个应用管理区域中包括多个(图中以m个为例说明)可用区(Zone),每个可用区中包括多个(图中以ti个为例说明,i为1到m之间的自然数)应用节点,且在其中一个可用区内部署一个管理节点,其中,一个应用管理区域中的多个可用区可以是某一应用商在同一地域内部署的电力和网络相互独立的物理数据中心,这样,能保证可用区之间故障相互隔离(大型灾害或者大型电力故障除外),不出现故障扩散,使得用户的业务持续在线服务。在多个应用管理区域的管理节点中可以设置某一管理节点为主管理节点,则其它管理节点为从管理节点。
数据包的操作装置可以分别与各个应用管理区域中的管理节点连接,并提供用户接口,用户通过该用户接口可以发起本实施例中数据包的操作流程。
管理节点用于管理包管理信息,在包管理信息中包括应用节点的标识信息与包信息的对应关系,该管理节点中的包管理信息主要是通过数据包的操作装置发起的数据包的操作流程进行实时更新。
应用节点可以按照一定的周期向该应用节点所在应用管理区域中的管理节点查询包管理信息,如果确定包管理信息中该应用节点对应的包信息发生改变,则进行数据包的相应操作,比如安装、升级、卸载或回滚等操作。
需要说明的是,上述待操作包的具体内容可以是储存在各个管理节点中;也可以储存在独立于管理节点的存储服务器中,在这种情况下,在数据包的操作系统中还需要包括存储服务器。
具体地,在本实施例中,数据包的操作装置可以按照如下步骤进行数据包的操作:
接收包操作请求,所述包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息;根据所述包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系;根据所述确定的更新操作,相应地更新所述管理节点中储存的包管理信息,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行操作。
管理节点可以按照如下步骤进行数据包的操作:
接收对预置的包管理信息的更新信息,所述更新信息包括:在所述包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系;根据所述更新信息对所述包管理信息进行更新;将所述更新后的包管理信息发送给所述待部署的应用节点,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行相应操作。
这样,与现有技术中需要在某一应用节点发布成功或失败某一产品的包信息之后,才能在另一应用节点发布产品的包信息相比,本实施例中只需通过数据包的操作装置实时更新管理节点上的包管理信息,而每个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
本发明一个实施例提供一种数据包的操作方法,主要是由上述的数据包的操作装置所执行的方法,流程图如图2所示,包括:
步骤101,接收包操作请求,包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息。
可以理解,数据包的操作装置可以提供用户接口,这样,用户可以通过用户接口选择一个待操作包,并选择至少一个待部署的应用节点及对待操作包的操作信息,比如在应用节点上安装、升级、卸载或回滚待操作包等信息,并触发在待部署的应用节点上对待操作包进行相应操作的流程;这样,数据包的操作装置会接收到包操作请求,在包操作请求中可以包括待部署的应用节点的第一标识信息和待操作包的信息等。其中包操作请求可以是包安装请求,包卸载请求,包升级请求或包回滚请求等。
具体地,上述第一标识信息用于唯一标识一个待部署的应用节点,可以包括待部署的应用节点的网络协议地址,还可以包括待部署的应用节点所在应用管理区域的信息,比如应用节点在某一地域中的某一可用区内。
待操作包(PKG)是指实现一组特定功能的文件和配置的集合,同时还包含了为该功能能够正常工作而做的周边服务配置,根据具体的用途,可以分为包文件、脚本文件和配置文件三种类型,其中包文件可以包括能够使服务正常运行的程序、代码及相关依赖文件;脚本文件一般为自动化脚本(Shell)、解释型脚本(Python)或超文本预处理脚本(Hypertext Preprocessor,PHP)等脚本,用于完成一个特定的任务;配置文件为文件包或脚本包所依赖的配置文件。
待操作包的信息可以包括:待操作包的版本信息和标识信息(比如名称和身份标识等信息)等,而待操作包可以包括包文件、脚本文件和配置文件中的至少一种文件。
步骤102,根据包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在包管理信息中添加或删除第一标识信息与待操作包的信息的第一对应关系。
具体地,当包操作请求为包卸载请求时,则确定更新操作为:在包管理信息中删除第一标识信息与待操作包的信息的第一对应关系;当包操作请求为包安装请求时,则确定更新操作为:在包管理信息中添加第一标识信息与待操作包的信息的第一对应关系;当包操作请求为包升级请求或包回滚请求时,则确定更新操作为:删除包管理信息中已经存在的与第一标识信息对应的包信息,且在包管理信息中添加第一标识信息与待操作包的信息的第一对应关系。
步骤103,根据步骤102中确定的更新操作,相应地更新管理节点中储存的包管理信息,以便待部署的应用节点根据更新后的包管理信息对待操作包进行操作。
具体地,数据包的操作装置会根据确定的更新操作,相应地更新多个应用管理区域的管理节点中的主管理节点中储存的包管理信息,这样,当主管理节点更新包管理信息后,可以将更新后的包管理信息分别同步到多个管理节点中的其它各个从管理节点,从而实现了在每个管理节点中储存的包管理信息包括了所有应用节点上的包信息。其中,主管理节点可以是离数据包的操作装置最近的一个管理节点。
对于应用节点来说,会按照一定的周期向应用节点所在应用管理区域中的管理节点查询包管理信息,当发现管理节点储存的包管理信息中基于该应用节点对应的包信息发生变化,则进行相应的包操作。例如,当应用节点确定包管理信息中该应用节点的包信息中版本信息,与应用节点当前储存的包信息中版本信息不一致,则会先获取与包管理信息中相对应版本的包信息,并用获取的包信息替换应用节点中已储存的包信息,比如升级,或回滚操作等。
可见,在本实施例的方法中,数据包的操作装置会在接收到包操作请求后,根据包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系,并相应地更新管理节点中的包管理信息,使得待部署的应用节点只需查看管理节点中的包管理信息,即可确定是否需要更新该应用节点中的包信息。与现有技术中需要在某一应用节点发布成功或失败某一产品的包信息之后,才能在另一应用节点发布产品的包信息相比,本实施例中只需通过数据包的操作装置实时更新管理节点上的包管理信息,而多个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
本发明另一个实施例提供一种数据包的操作方法,主要是由上述的管理节点所执行的方法,流程图如图3所示,包括:
步骤201,接收对预置的包管理信息的更新信息,更新信息包括:在包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系。
可以理解,用户通过数据包的操作装置发起数据包的操作流程后,数据包的操作装置可以通过上述实施例的方法,更新管理节点中的包管理信息,具体地,数据包的操作装置会发送包管理信息的更新信息给管理节点。
步骤202,根据更新信息对包管理信息进行更新。
具体地,管理节点中储存的包管理信息可以包括:各个应用节点的标识信息与包信息的对应关系。例如图4所示,管理节点中储存的包管理信息具体为PKG树,在PKG树中包括N个主节点(Host),即主节点IP1、主节点IP2、……和主节点IPN,其中,每个主节点对应一个应用节点,IPi(i为1到N之间的自然数)为应用节点i的地址信息,用来标识应用节点i。
具体地,在PKG树中包括:每个主节点的脚本列表(Script List),包列表(PkgList)及配置列表(Config List)等,图中只画出了主节点IP1的脚本列表,主节点IP2的包列表和主节点IPN的配置列表。脚本列表中可以包括脚本文件的身份标识、名称和版本信息等,比如:Script Id-Script Name-Script Version;包列表中包括包文件的身份标识、名称和版本信息等,比如:Pkg Id-Pkg Name-Pkg Version;配置列表中包括配置文件的身份标识、名称和版本信息等,比如:Config Id-Config Name-Config Version。其中,脚本文件、包文件和配置文件的相关信息即为上述应用节点的标识信息对应的包信息。
如果管理节点在上述步骤201中接收的更新信息为:在包管理信息中添加第一标识信息与待操作包的信息,而第一标识信息具体为某一应用节点的IP地址,比如IPA,待操作包的信息可以包括脚本文件的身份标识id-a、名称name-a和版本信息Version-a,则管理节点在执行步骤202时,当在PKG树中未包括主节点IPA的脚本列表时,可以直接增加主节点IPA对应的脚本列表,且添加身份标识id-a、名称name-a和版本信息Version-a;当在PKG树的主节点IPA的脚本列表中已包括身份标识id-b、名称name-b和版本信息Version-b时,则需要将身份标识id-b、名称name-b和版本信息Version-b删除,并在主节点IPA对应的脚本列表中,添加身份标识id-a、名称name-a和版本信息Version-a。
如果管理节点在上述步骤201中接收的更新信息为:在包管理信息中删除第一标识信息与待操作包的信息,说明在PKG中主节点IPA的脚本列表中已包括了身份标识id-a、名称name-a和版本信息Version-a,则管理节点在执行步骤202时,直接将该脚本列表删除即可。
步骤203,将更新后的包管理信息发送给待部署的应用节点,以便待部署的应用节点根据更新后的包管理信息对待操作包进行相应操作。
当管理节点执行了上述步骤202后,各个应用节点会主动向管理节点发起查询请求,这样,管理节点才会将更新后的包管理信息发送给应用节点。其中,如果某一应用节点发起查询请求,管理节点可以将更新后的包管理信息中该应用节点对应的信息发送给该应用节点,而不是将所有的更新后的包管理信息都发送给该应用节点,这样,可以节省网络流量。
需要说明的是,如果管理节点在执行上述步骤201时,是接收数据包的操作装置发送的更新信息,则说明管理节点为主管理节点,则该管理节点还会将更新信息分别发送给多个应用管理区域的管理节点中的其它从管理节点,以便从管理节点根据更新信息更新预置的包管理信息;如果管理节点在执行上述步骤201时,是接收主管理节点发送的更新信息,则说明管理节点为从管理节点,则管理节点可以不用再发送更新信息给其它管理节点。
可见,在本实施例的方法中,数据包的操作装置在需要对待部署的应用节点中的包信息进行操作时,只需将对包管理信息的更新信息发送给管理节点,这样管理节点更新本地储存的包管理信息,使得待部署的应用节点只需查看管理节点中的包管理信息,即可确定是否需要更新该应用节点中的包信息。与现有技术中需要在某一应用节点发布成功或失败某一产品的包信息之后,才能在另一应用节点发布产品的包信息相比,本实施例中只需通过数据包的操作装置实时更新管理节点上的包管理信息,而多个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
以下以一个具体的应用实例来说明本发明实施例的方法,本实施例的方法可以应用于如图1所示的系统中,如图5所示,本实施例中的方法可以包括如下步骤:
步骤301,用户在开发了某一产品的数据包(可以包括配置文件、包文件和脚本文件等中的至少一种文件)后,可以通过数据包的操作装置提供的上传接口,将某一产品的数据包上传到数据包的操作装置进行储存,具体地,可以储存到独立于数据包的操作装置的存储服务器中。
数据包的操作装置可以将该产品的数据包推送到各个应用管理区域中的管理节点,在本实施例中,管理节点可以为集群(Zookeeper,ZK)节点。
步骤302,数据包的操作装置还会提供用户接口,这样,用户可以通过用户接口选择一个待操作包,选定待部署的应用节点及对待操作包的操作信息,并触发在待部署的应用节点上对待操作包进行相应操作的流程。
例如图6所示为数据包的操作装置显示的用户接口的信息,具体为“包操作”、“数据包”及“应用节点”这三项分别对应的选择框,在选择框中包括黑色的倒三角,当用户点击各个选择框中的倒三角时,数据包的操作装置会提供每一项中可选择的信息,例如图6中选择的包操作为“卸载”,选择的待部署应用节点为“IP1”对应的应用节点,选择的数据包为“脚本文件1”。进一步地,当用户点击“发布”按钮,则触发数据包的操作装置发起数据包的操作流程。
步骤303,数据包的操作装置会接收到包操作请求,根据包操作请求确定对ZK节点中包管理信息的更新操作;并根据确定的更新操作发送更新信息给多个应用管理区域的ZK节点中的主ZK节点,该主ZK节点会将更新信息分别同步给其它各个从ZK节点。
其中,更新信息具体可以包括:在包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系。
步骤304,各个ZK节点会根据更新信息,更新各自储存的包管理信息,具体为PKG树,这样,各个ZK节点中储存的PKG树是相同的。
步骤305,各个应用节点会监听应用节点所在应用管理区域中的ZK节点中的包管理信息,具体地,应用节点会按照一定的周期向相应ZK节点的发送查询信息,ZK节点会向应用节点返回更新后的包管理信息。
步骤306,当应用节点在某一查询周期查询到ZK节点中的包管理信息中该应用节点对应的包信息,与上一查询周期查询到的包信息不一致,则根据当前查询周期查询到的包信息,进行相应的包操作,比如数据包的安装、卸载、升级或回滚操作等。
当应用节点在相应的包操作时,在卸载操作的情况下,不需要获取相应的数据包。在安装、升级和回滚操作的情况下,需要向应用节点所在应用管理区域中的ZK节点获取到相应的数据包,比如配置文件、包文件或配置文件等,并执行安装、升级或回滚操作等;应用节点也可以向数据包的存储服务器,获取到相应的数据包,并执行相应操作。其中数据包的存储服务器主要可以用于储存各个产品的数据包。
需要说明的是,应用节点在需要获取相应的数据包时,同一个应用管理区域中的多个应用节点之间可以进行包扩散,具体地,在每个应用节点上可以部署比特流(BitTorrent,BT)代理(Agent),而储存数据包的装置,比如上述的ZK节点或是另外的存储服务器可以作为BT服务器,这样,BT服务器可以将一个数据包华为分P个部分,每个应用节点不会从BT服务器获取到全部的数据包,而是获取P个部分中的某些部分,而数据包的其它部分可以从应用节点所在应用管理区域中的其它应用节点获取到。
例如图7所示,包括6个应用节点和一个BT服务器,其中,应用节点1已经下载了数据包的第1部分,应用节点2已经下载了数据包的第2部分,则应用节点3就会从应用节点1中下载数据包的第1部分,从应用节点2中下载数据包的第2部分,当然应用节点1到3也在同时从应用节点4中下载数据包的其它部分,这就大大减轻了BT服务器的负荷,也同时加快了每个应用节点的下载速度,这样,参与下载的应用节点的数量越多,下载速度也越高。
步骤307,应用节点在执行了相应的包操作后,可以将包操作的操作结果反馈给ZK节点。
可见,通过本实施例中数据包的操作装置与各个管理节点之间的通信,可以支撑数十万台应用节点同时进行包操作;且应用节点获取数据包更加快速,数据包可以快速扩散,极大地提供了包操作的效率及成功率,在大包、超大包、应用节点节点多,多地域等的场景下优势尤为明显。
本发明实施例还提供一种数据包的操作装置,其结构示意图如图8所示,具体可以包括:
请求接收单元10,用于接收包操作请求,所述包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息。
更新确定单元11,用于根据所述请求接收单元10接收的包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系。
该更新确定单元11,具体用于当所述包操作请求为包卸载请求时,则确定更新操作为:在所述包管理信息中删除所述第一标识信息与待操作包的信息的第一对应关系;当所述包操作请求为包安装请求时,则确定更新操作为:在所述包管理信息中添加所述第一标识信息与待操作包的信息的第一对应关系;当所述包操作请求为包升级请求或包回滚请求时,则确定更新操作为:删除所述包管理信息中与所述第一标识信息对应的包信息,且在所述包管理信息中添加所述第一标识信息与待操作包的信息的第一对应关系。
更新操作单元12,用于根据所述更新确定单元11确定的更新操作,相应地更新所述管理节点中储存的包管理信息,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行操作。
如果所述管理节点为多个应用管理区域分别对应的管理节点,则该更新操作单元12,具体用于根据所述确定的更新操作,相应地更新多个所述管理节点中的主管理节点中储存的包管理信息,以便所述主管理节点将所述更新后的包管理信息分别同步到多个所述管理节点中的各个从管理节点。
需要说明的是,上述第一标识信息包括所述待部署的应用节点所在应用管理区域的信息;所述待操作包的信息包括所述待操作包的版本信息和标识信息,所述待操作包为包文件、脚本文件和配置文件中的至少一种文件。
可见,在本实施例的数据包的操作装置中,更新确定单元11会在请求接收单元10接收到包操作请求后,根据包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系,由更新操作单元12相应地更新管理节点中的包管理信息,使得待部署的应用节点只需查看管理节点中的包管理信息,即可确定是否需要更新该应用节点中的包信息。与现有技术中需要在某一应用节点发布成功或失败某一产品的包信息之后,才能在另一应用节点发布产品的包信息相比,本实施例中只需通过数据包的操作装置实时更新管理节点上的包管理信息,而多个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
本发明实施例还提供一种管理节点,其结构示意图如图9所示,具体可以包括:
更新接收单元20,用于接收对预置的包管理信息的更新信息,所述更新信息包括:在所述包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系;
更新单元21,用于根据所述更新接收单元20接收的更新信息对所述包管理信息进行更新;
管理信息发送单元22,用于将所述更新单元21更新后的包管理信息发送给所述待部署的应用节点,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行相应操作。
具体地,如果上述更新接收单元20具体用于接收数据包的操作装置发送的更新信息;则管理信息发送单元22,还用于将所述更新信息分别发送给多个应用管理区域的管理节点中的其它从管理节点,以便所述从管理节点根据所述更新信息更新预置的包管理信息。
可见,在本实施例中,数据包的操作装置在需要对待部署的应用节点中的包信息进行操作时,只需将对包管理信息的更新信息发送给管理节点,这样管理节点中的更新单元21更新本地储存的包管理信息,使得待部署的应用节点只需查看管理节点中的包管理信息,管理信息发送单元22即可确定是否需要更新该应用节点中的包信息。与现有技术中需要在某一应用节点发布成功或失败某一产品的包信息之后,才能在另一应用节点发布产品的包信息相比,本实施例中只需通过数据包的操作装置实时更新管理节点上的包管理信息,而多个应用节点可以同时进行包管理信息的查询及包操作的步骤,很大程度地降低了将包发布到各个应用节点所花费的时间,且可以扩展到较多应用节点进行包操作的场景下,提高了本发明实施例方法的扩展性。
本发明实施例还提供一种终端设备,其结构示意图如图10所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)30(例如,一个或一个以上处理器)和存储器31,一个或一个以上存储应用程序321或数据322的存储介质32(例如一个或一个以上海量存储设备)。其中,存储器31和存储介质32可以是短暂存储或持久存储。存储在存储介质32的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器30可以设置为与存储介质32通信,在终端设备上执行存储介质32中的一系列指令操作。
具体地,在存储介质32中储存的应用程序321包括数据包操作的应用程序,且该程序可以包括上述数据包的操作装置中的请求接收单元10,更新确定单元11,和更新操作单元12,在此不进行赘述。更进一步地,中央处理器30可以设置为与存储介质32通信,在终端设备上执行存储介质32中储存的数据包操作的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源33,一个或一个以上有线或无线网络接口34,一个或一个以上输入输出接口35,和/或,一个或一个以上操作系统323,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由数据包的操作装置所执行的步骤可以基于该图10所示的终端设备的结构。
本发明实施例还提供一种服务器,其结构可以如上述图10所示的终端设备的结构,不同的是,本实施例的服务器中:
在存储介质中储存的应用程序包括数据包操作的应用程序,且该程序可以包括上述管理节点中的更新接收单元20,更新单元21,和管理信息发送单元22,在此不进行赘述。更进一步地,中央处理器30可以设置为与存储介质32通信,在服务器上执行存储介质32中储存的数据包操作的应用程序对应的一系列操作。
本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述数据包的操作装置或管理节点所执行的数据包的操作方法。
本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述数据包的操作装置所执行的数据包的操作方法。
本发明实施例提供一种服务器,包括处理器和存储介质,所述处理器,用于实现各个指令;所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述管理节点所执行的数据包的操作方法。
本发明实施例还提供一种数据包的操作系统,包括:数据包的操作装置和至少应用管理区域中的管理节点;其中:所述数据包的操作装置的结构可以如上述图8所示的数据包的操作装置的结构,或如上述图10所示的终端设备的结构;所述管理节点的结构可以如上述图9所示的管理节点的结构,或如上述服务器的结构。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的包发布方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种数据包的操作方法,其特征在于,包括:
接收包操作请求,所述包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息;所述待操作包为实现一组特定功能的文件和配置的集合,还包含了周边服务配置;
根据所述包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系;
根据所述确定的更新操作,相应地更新所述管理节点中储存的包管理信息,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行操作;
其中,所述管理节点为多个应用管理区域分别对应的管理节点,所述根据所述确定的更新操作,相应地更新所述管理节点中储存的包管理信息,具体包括:
根据所述确定的更新操作,相应地更新多个所述管理节点中的主管理节点中储存的包管理信息,以便所述主管理节点将所述更新后的包管理信息分别同步到多个所述管理节点中的各个从管理节点。
2.如权利要求1所述的方法,其特征在于,根据所述包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系,具体包括:
当所述包操作请求为包卸载请求时,则确定更新操作为:在所述包管理信息中删除所述第一标识信息与待操作包的信息的第一对应关系;
当所述包操作请求为包安装请求时,则确定更新操作为:在所述包管理信息中添加所述第一标识信息与待操作包的信息的第一对应关系;
当所述包操作请求为包升级请求或包回滚请求时,则确定更新操作为:删除所述包管理信息中与所述第一标识信息对应的包信息,且在所述包管理信息中添加所述第一标识信息与待操作包的信息的第一对应关系。
3.如权利要求1或2所述的方法,其特征在于,所述第一标识信息包括所述待部署的应用节点所在应用管理区域的信息;
所述待操作包的信息包括所述待操作包的版本信息和标识信息,所述待操作包为包文件、脚本文件和配置文件中的至少一种文件。
4.一种数据包的操作方法,其特征在于,包括:
接收对预置的包管理信息的更新信息,所述更新信息包括:在所述包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系;所述待操作包为实现一组特定功能的文件和配置的集合,还包含了周边服务配置;
根据所述更新信息对所述包管理信息进行更新;
将所述更新后的包管理信息发送给所述待部署的应用节点,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行相应操作;
所述接收对预置的包管理信息的更新信息,具体包括:接收数据包的操作装置发送的更新信息;
则所述方法还包括:
将所述更新信息分别发送给多个应用管理区域的管理节点中的其它从管理节点,以便所述从管理节点根据所述更新信息更新预置的包管理信息。
5.如权利要求4所述的方法,其特征在于,所述第一标识信息包括所述待部署的应用节点所在应用管理区域的信息;
所述待操作包的信息包括所述待操作包的版本信息和标识信息,所述待操作包为包文件、脚本文件和配置文件中的至少一种文件。
6.一种数据包的操作装置,其特征在于,包括:
请求接收单元,用于接收包操作请求,所述包操作请求中包括待部署的应用节点的第一标识信息和待操作包的信息;所述待操作包为实现一组特定功能的文件和配置的集合,还包含了周边服务配置;
更新确定单元,用于根据所述包操作请求,确定对管理节点中储存的包管理信息的更新操作包括:在所述包管理信息中添加或删除所述第一标识信息与待操作包的信息的第一对应关系;
更新操作单元,用于根据所述确定的更新操作,相应地更新所述管理节点中储存的包管理信息,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行操作,其中,所述管理节点为多个应用管理区域分别对应的管理节点,所述更新操作单元,具体用于根据所述确定的更新操作,相应地更新多个所述管理节点中的主管理节点中储存的包管理信息,以便所述主管理节点将所述更新后的包管理信息分别同步到多个所述管理节点中的各个从管理节点。
7.一种管理节点,其特征在于,包括:
更新接收单元,用于接收对预置的包管理信息的更新信息,所述更新信息包括:在所述包管理信息中添加或删除待部署的应用节点的第一标识信息与待操作包的信息的第一对应关系,所述待操作包为实现一组特定功能的文件和配置的集合,还包含了周边服务配置;所述更新接收单元,具体用于接收数据包的操作装置发送的更新信息;
更新单元,用于根据所述更新信息对所述包管理信息进行更新;
管理信息发送单元,用于将所述更新后的包管理信息发送给所述待部署的应用节点,以便所述待部署的应用节点根据所述更新后的包管理信息对所述待操作包进行相应操作;
所述管理信息发送单元,还用于将所述更新信息分别发送给多个应用管理区域的管理节点中的其它从管理节点,以便所述从管理节点根据所述更新信息更新预置的包管理信息。
8.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至5任一项所述的数据包的操作方法。
9.一种终端设备,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至3任一项所述的数据包的操作方法。
10.一种服务器,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求4至5任一项所述的数据包的操作方法。
11.一种数据包的操作系统,其特征在于,包括:数据包的操作装置和至少应用管理区域中的管理节点;其中:
所述数据包的操作装置是如权利要求6所述的数据包的操作装置,或如权利要求9所述的终端设备;
所述管理节点是如权利要求7所述的管理节点,或如权利要求10所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910411771.2A CN110209480B (zh) | 2019-05-17 | 2019-05-17 | 一种数据包的操作方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910411771.2A CN110209480B (zh) | 2019-05-17 | 2019-05-17 | 一种数据包的操作方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209480A CN110209480A (zh) | 2019-09-06 |
CN110209480B true CN110209480B (zh) | 2024-01-30 |
Family
ID=67787516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910411771.2A Active CN110209480B (zh) | 2019-05-17 | 2019-05-17 | 一种数据包的操作方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209480B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758607A (zh) * | 2005-11-10 | 2006-04-12 | 中国工商银行 | 分布式业务系统中的软件版本升级系统及其方法 |
CN102176695A (zh) * | 2011-01-14 | 2011-09-07 | 北京格致璞科技有限公司 | 用于同步设备间软件环境的方法和装置 |
CN102736946A (zh) * | 2011-04-11 | 2012-10-17 | 阿里巴巴集团控股有限公司 | 一种应用节点的批量部署方法及装置 |
US8341622B1 (en) * | 2005-12-15 | 2012-12-25 | Crimson Corporation | Systems and methods for efficiently using network bandwidth to deploy dependencies of a software package |
CN103064702A (zh) * | 2012-12-13 | 2013-04-24 | 中国电信股份有限公司云计算分公司 | 应用程序提供方法及管理节点设备 |
CN104601364A (zh) * | 2014-12-03 | 2015-05-06 | 华为技术有限公司 | 一种管理集群中成员管理方法及装置 |
CN105635216A (zh) * | 2014-11-03 | 2016-06-01 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN105656653A (zh) * | 2014-11-14 | 2016-06-08 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN107844343A (zh) * | 2017-11-24 | 2018-03-27 | 税友软件集团股份有限公司 | 一种复杂服务端应用系统的升级系统及方法 |
CN116266482A (zh) * | 2021-12-16 | 2023-06-20 | 上海联影医疗科技股份有限公司 | 设备软件升级方法及装置 |
-
2019
- 2019-05-17 CN CN201910411771.2A patent/CN110209480B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758607A (zh) * | 2005-11-10 | 2006-04-12 | 中国工商银行 | 分布式业务系统中的软件版本升级系统及其方法 |
US8341622B1 (en) * | 2005-12-15 | 2012-12-25 | Crimson Corporation | Systems and methods for efficiently using network bandwidth to deploy dependencies of a software package |
CN102176695A (zh) * | 2011-01-14 | 2011-09-07 | 北京格致璞科技有限公司 | 用于同步设备间软件环境的方法和装置 |
CN102736946A (zh) * | 2011-04-11 | 2012-10-17 | 阿里巴巴集团控股有限公司 | 一种应用节点的批量部署方法及装置 |
CN103064702A (zh) * | 2012-12-13 | 2013-04-24 | 中国电信股份有限公司云计算分公司 | 应用程序提供方法及管理节点设备 |
CN105635216A (zh) * | 2014-11-03 | 2016-06-01 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN105656653A (zh) * | 2014-11-14 | 2016-06-08 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN104601364A (zh) * | 2014-12-03 | 2015-05-06 | 华为技术有限公司 | 一种管理集群中成员管理方法及装置 |
CN107844343A (zh) * | 2017-11-24 | 2018-03-27 | 税友软件集团股份有限公司 | 一种复杂服务端应用系统的升级系统及方法 |
CN116266482A (zh) * | 2021-12-16 | 2023-06-20 | 上海联影医疗科技股份有限公司 | 设备软件升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110209480A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
CN109491776B (zh) | 任务编排方法和系统 | |
US8250570B2 (en) | Automated provisioning framework for internet site servers | |
CN107741852B (zh) | 一种基于集群软件的服务部署方法 | |
US20230006944A1 (en) | Interoperable cloud based media processing using dynamic network interface | |
CN109656569B (zh) | 多环境应用部署方法、设备、存储介质及装置 | |
CN112860282B (zh) | 集群插件的升级方法、装置和服务器 | |
CN110716787A (zh) | 容器地址设置方法、设备和计算机可读存储介质 | |
EP4050850A1 (en) | Service upgrading method, device and system | |
CN110196722A (zh) | 云主机批量管理方法、系统、设备及存储介质 | |
CN112882738A (zh) | 一种微服务架构下的配置信息更新方法、装置及电子设备 | |
CN115168031A (zh) | 一种雾计算系统、方法、电子设备及存储介质 | |
CN113590169B (zh) | 应用部署方法、应用部署系统和计算机可读存储介质 | |
CN113645314B (zh) | 一种私有云的部署方法和服务器 | |
CN113419818B (zh) | 基础组件部署方法、装置、服务器及存储介质 | |
CN113778461A (zh) | 一种实现应用自动部署的方法和系统 | |
CN110209480B (zh) | 一种数据包的操作方法、装置及系统 | |
CN113268254A (zh) | 一种集群系统安装方法、装置、电子设备及存储介质 | |
CN113315754A (zh) | 容器出访防火墙智能联动方法及装置、设备、介质 | |
CN112698847A (zh) | 一种云应用的部署方法、装置及系统 | |
CN112333229A (zh) | kubernetes节点扩展方法、装置、设备及存储介质 | |
CN111008064A (zh) | 虚机资源调度方法和装置、集群部署方法和装置 | |
CN112685102B (zh) | 一种网关插件热加载方法、装置、设备及介质 | |
US11689415B2 (en) | Creating a highly-available private cloud gateway based on a two-node hyperconverged infrastructure cluster with a self-hosted hypervisor management system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |