CN110740192A - 一种基于p2p网络的虚拟化环境下的镜像分发方法及系统 - Google Patents
一种基于p2p网络的虚拟化环境下的镜像分发方法及系统 Download PDFInfo
- Publication number
- CN110740192A CN110740192A CN201911037683.7A CN201911037683A CN110740192A CN 110740192 A CN110740192 A CN 110740192A CN 201911037683 A CN201911037683 A CN 201911037683A CN 110740192 A CN110740192 A CN 110740192A
- Authority
- CN
- China
- Prior art keywords
- image file
- image
- terminal
- downloading
- task
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于P2P网络的虚拟化环境下的镜像分发方法及系统,该分发方法包括:S1、部署虚拟化环境;S2、在虚拟化环境服务器上部署P2P网络镜像分发系统的中央控制模块、任务管理模块;S3、在虚拟化环境终端节点上部署任务管理模块;S4、在虚拟化环境中创建、制作系统镜像,在虚拟化环境服务器上的P2P网络镜像分发系统的任务管理模块中添加该系统镜像文件源任务;S5、在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务,通过P2P协议进行文件下载。本发明的镜像分发方法及系统能够有效提升使用效率,优化用户体验。
Description
技术领域
本发明涉及虚拟化桌面云技术领域,尤其是涉及一种基于P2P网络的虚拟化环境下的镜像分发方法及系统。
背景技术
近年来虚拟化技术、私有云行业高速发展,应用面越来越广,场景越来越丰富。虚拟化环境中需要下载并使用装好操作系统并安装配置完用户软件之后的系统镜像,而系统镜像的体积都在几十甚至上百GB。在虚拟化环境中,分发系统镜像到大量终端上,随之而来的虚拟化系统镜像的分发、同步成为提升使用效率、优化用户体验首要解决的问题。
发明内容
针对现有技术中存在的上述问题,本发明的目的是提供一种基于P2P网络的虚拟化环境下的镜像分发方法及系统,该虚拟化环境下的镜像分发方法及系统能够有效提升使用效率,优化用户体验。
为了达到上述目的,本发明提供如下技术方案:
一种基于P2P网络的虚拟化环境下的镜像分发方法,包括以下步骤:
S1、部署虚拟化环境;
S2、在虚拟化环境服务器上部署P2P网络镜像分发系统的中央控制模块、任务管理模块;
S3、在虚拟化环境终端节点上部署任务管理模块;
S4、在虚拟化环境中创建、制作系统镜像,在虚拟化环境服务器上的P2P网络镜像分发系统的任务管理模块中添加系统镜像文件源任务;
S5、在虚拟化环境中的终端上启动所述镜像的桌面时,在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务,通过P2P协议进行文件下载。
进一步地,S4中,所述镜像文件源任务包括镜像文件名称、镜像文件大小、镜像文件路径、镜像文件哈希校验值;
当虚拟化环境服务器的任务管理模块接收到所述镜像文件源任务后,根据文件内容通过SHA1哈希算法生成镜像文件的哈希校验值,作为镜像文件特征码,将当前镜像文件的信息在所述虚拟化环境服务器的中央控制模块中进行注册。
进一步地,S5中,在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务的过程具体包括,终端节点接收到镜像文件下载任务时,通过镜像文件特征码,调用终端的任务管理模块提供的接口,添加镜像文件下载任务;
添加镜像文件下载任务时,判断本地是否已存在当前镜像文件,若已存在,则通过文件SHA1哈希校验值,校验文件内容是否正确,若正确,则下载完成;若不正确或本地不存在当前镜像文件,则开始下载过程,同时下载过程中以文件的哈希校验值作为镜像文件特征码,将当前镜像文件的状态在所述虚拟化环境服务器的中央控制模块中进行注册并周期性更新。
进一步地,还包括S6,终端向虚拟化环境服务器的中央控制模块请求查询所述镜像文件的下载统计信息,中央控制模块返回当前拥有所述镜像文件的所有终端节点地址列表,得到当前正在下载或已下载完所述镜像文件的节点列表,下载终端的任务管理模块随机选择其中一个或者多个终端节点作为镜像文件的数据来源,通过P2P协议进行下载。
进一步地,S6中,下载过程中,下载终端的任务管理模块定期向虚拟化环境服务器的中央控制模块上报当前下载进度,下载完成后,通过镜像文件的哈希特征值校验下载的文件内容是否正确。
本发明还提供一种基于上述镜像分发方法的镜像分发系统,所述镜像分发系统包括虚拟化环境服务器和多个虚拟化环境终端节点,所述虚拟化环境服务器上部署中央控制模块和任务管理模块,多个所述虚拟化环境终端节点上均部署任务管理模块;任意两个或多个所述任务管理模块之间均通过P2P协议进行数据传输。
进一步地,所述中央控制模块用于包括实现汇总当前虚拟化环境中所有分发的文件信息,记录镜像文件特征码与终端节点之间的关联关系,以及接收终端的任务管理模块上报的状态进度信息,刷新统计信息,并定期剔除无效信息,在终端请求时发送给终端。
进一步地,所述中央控制模块还用于以镜像文件特征码作为标识区分不同的镜像文件,统计正在下载文件的终端,以及所述终端正在下载的文件,及其下载的进度。
进一步地,所述虚拟化环境终端节点的任务管理模块添加任务成功后,在下载过程中,直至删除任务之前,都可以同时向多个其他终端提供下载。
进一步地,所述虚拟化环境终端节点上的任一个镜像文件处于运行状态时,其他未运行的镜像文件仍可以被添加到该终端的任务管理模块,作为下载源提供其他终端下载镜像文件。
本发明的基于P2P网络的虚拟化环境下的镜像分发方法及系统,将终端上已有的系统镜像文件,在当前处于不运行状态时,均添加到任务管理模块中,这样只要有其它终端需要下载该镜像,则都可以从该节点下载,节点越多,下载速度越快,对虚拟化服务器的压力越小。同时,充分利用P2P协议的优势,使正在下载、已下载相同镜像文件的终端之间都可以互相下载镜像文件,下载过程中有终端或服务器因故障断连、关机、重启,均不会影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的镜像分发系统结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据图1所示,说明本发明的一种基于P2P网络的虚拟化环境下的镜像分发方法,包括以下步骤:
S1、部署虚拟化环境;
部署虚拟化环境具体包括:安装虚拟化环境服务器操作系统、安装虚拟化平台软件,用于虚拟化平台的管理,系统镜像制作;在虚拟化环境中的终端安装终端操作系统、安装虚拟化软件,用于运行虚拟化桌面;
S2、在虚拟化环境服务器上部署P2P网络镜像分发系统的中央控制模块、任务管理模块;
上述中央控制模块提供基于HTTP协议的RESTful接口,实现虚拟化环境中的镜像下载任务详情信息收集、汇总、统计,并提供查询接口。上述任务管理模块提供基于HTTP协议的RESTful接口,实现服务器端P2P任务管理。
S3、在虚拟化环境终端节点上部署任务管理模块;
上述任务管理模块提供基于HTTP协议的RESTful接口,实现终端本地P2P任务管理;并通过配置文件设置中央控制模块所在服务器的IP地址;
S4、首先在虚拟化环境中创建、制作系统镜像,具体包括:通过系统ISO安装镜像,启动Qemu虚拟机,安装操作系统、驱动、补丁包以及需要使用的软件并配置,用以在虚拟化环境中的终端上作为虚拟桌面使用。制作完成后,通过服务器上的P2P网络镜像分发系统的任务管理模块提供的HTTP接口,在虚拟化环境服务器上的P2P网络镜像分发系统的任务管理模块中添加所述系统镜像文件源任务;
当虚拟化环境服务器的任务管理模块接收到所述镜像文件源任务后,根据文件内容通过SHA1哈希算法生成镜像文件的哈希校验值,作为镜像文件特征码,将当前镜像文件的信息在所述虚拟化环境服务器的中央控制模块中进行注册。
上述镜像文件的信息包括:文件哈希校验值、文件名、大小、完成状态。
S5、在虚拟化环境中的终端上启动所述镜像的桌面时,在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务,通过P2P协议进行文件下载;
在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务的过程具体包括,终端节点接收到镜像文件下载任务时,通过镜像文件特征码,调用终端的任务管理模块提供的接口,添加镜像文件下载任务;
添加镜像文件下载任务时,判断本地是否已存在当前镜像文件,若已存在,则通过文件SHA1哈希校验值,校验文件内容是否正确,若正确,则下载完成;若不正确或本地不存在当前镜像文件,则开始下载过程。终端节点上的任务管理模块通过虚拟化环境服务器上部署的P2P网络镜像分发系统的中央控制模块提供的HTTP接口,请求当前拥有该镜像文件的其它终端节点信息,通过P2P网络协议下载该镜像。同时在下载过程中以文件的哈希校验值作为镜像文件特征码,将当前镜像文件的状态在所述虚拟化环境服务器的中央控制模块中进行注册并周期性更新。
S6、终端向虚拟化环境服务器的中央控制模块请求查询所述镜像文件的下载统计信息,中央控制模块返回当前拥有所述镜像文件的所有终端节点地址列表,得到当前正在下载或已下载完所述镜像文件的节点列表,下载终端的任务管理模块随机选择其中一个或者多个终端节点作为镜像文件的数据来源,通过P2P协议进行下载;
下载过程中,下载终端的任务管理模块定期向虚拟化环境服务器的中央控制模块上报当前下载进度,下载完成后,通过镜像文件的哈希特征值校验下载的文件内容是否正确。
本发明还提供一种基于上述镜像分发方法的镜像分发系统,所述镜像分发系统包括虚拟化环境服务器和多个虚拟化环境终端节点,所述虚拟化环境服务器上部署中央控制模块和任务管理模块,多个所述虚拟化环境终端节点上均部署任务管理模块;任意两个或多个所述任务管理模块之间均通过P2P协议进行数据传输。
在一种优选的实施方式中,所述中央控制模块用于包括实现汇总当前虚拟化环境中所有分发的文件信息,记录镜像文件特征码与终端节点之间的关联关系,以及接收终端的任务管理模块上报的状态进度信息,刷新统计信息,并定期剔除无效信息,在终端请求时发送给终端。
数据格式如下:
“HF:终端列表[(IPT1,PORTT1,STATUST1),(IPT2,PORTT2,STATUST2),...]”
HF:镜像文件特征码,
IP:终端IP地址,
PORT:终端端口,
STATUS:该终端上该镜像文件的状态,可能为:数值,表示下载进度;“100”表示下载完成。
在一种优选的实施方式中,所述中央控制模块还用于以镜像文件特征码作为标识区分不同的镜像文件,统计正在下载文件的终端,以及所述终端正在下载的文件,及其下载的进度。
在一种优选的实施方式中,所述虚拟化环境终端节点的任务管理模块添加任务成功后,在下载过程中,直至删除任务之前,都可以同时向多个其他终端提供下载。
在一种优选的实施方式中,所述虚拟化环境终端节点上的任一个镜像文件处于运行状态时,其他未运行的镜像文件仍可以被其他的终端添加到任务管理模块,作为下载源提供其他终端下载镜像文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于P2P网络的虚拟化环境下的镜像分发方法,其特征在于,包括以下步骤:
S1、部署虚拟化环境;
S2、在虚拟化环境服务器上部署P2P网络镜像分发系统的中央控制模块、任务管理模块;
S3、在虚拟化环境终端节点上部署任务管理模块;
S4、在虚拟化环境中创建、制作系统镜像,在虚拟化环境服务器上的P2P网络镜像分发系统的任务管理模块中添加系统镜像文件源任务;
S5、在虚拟化环境中的终端上启动所述镜像的桌面时,在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务,通过P2P协议进行文件下载。
2.根据权利要求1所述的镜像分发方法,其特征在于:S4中,所述镜像文件源任务包括镜像文件名称、镜像文件大小、镜像文件路径、镜像文件哈希校验值;
当虚拟化环境服务器的任务管理模块接收到所述镜像文件源任务后,根据文件内容通过SHA1哈希算法生成镜像文件的哈希校验值,作为镜像文件特征码,将当前镜像文件的信息在所述虚拟化环境服务器的中央控制模块中进行注册。
3.根据权利要求2所述的镜像分发方法,其特征在于:S5中,在虚拟化环境终端节点上的任务管理模块中添加镜像文件下载任务的过程具体包括,终端节点接收到镜像文件下载任务时,通过镜像文件特征码,调用终端的任务管理模块提供的接口,添加镜像文件下载任务;
添加镜像文件下载任务时,判断本地是否已存在当前镜像文件,若已存在,则通过文件SHA1哈希校验值,校验文件内容是否正确,若正确,则下载完成;若不正确或本地不存在当前镜像文件,则开始下载过程,同时在下载过程中以文件的哈希校验值作为镜像文件特征码,将当前镜像文件的状态在所述虚拟化环境服务器的中央控制模块中进行注册并周期性更新。
4.根据权利要求3所述的镜像分发方法,其特征在于:还包括S6,终端向虚拟化环境服务器的中央控制模块请求查询所述镜像文件的下载统计信息,中央控制模块返回当前拥有所述镜像文件的所有终端节点地址列表,得到当前正在下载或已下载完所述镜像文件的节点列表,下载终端的任务管理模块随机选择其中一个或者多个终端节点作为镜像文件的数据来源,通过P2P协议进行下载。
5.根据权利要求4所述的镜像分发方法,其特征在于:S6中,下载过程中,下载终端的任务管理模块定期向虚拟化环境服务器的中央控制模块上报当前下载进度,下载完成后,通过镜像文件的哈希特征值校验下载的文件内容是否正确。
6.一种基于权利要求1至5任一项中所述镜像分发方法的镜像分发系统,其特征在于:所述镜像分发系统包括虚拟化环境服务器和多个虚拟化环境终端节点,所述虚拟化环境服务器上部署中央控制模块和任务管理模块,多个所述虚拟化环境终端节点上均部署任务管理模块;任意两个或多个所述任务管理模块之间均通过P2P协议进行数据传输。
7.根据权利要求6所述的的镜像分发系统,其特征在于:所述中央控制模块用于包括实现汇总当前虚拟化环境中所有分发的文件信息,记录镜像文件特征码与终端节点之间的关联关系,以及接收终端的任务管理模块上报的状态进度信息,刷新统计信息,并定期剔除无效信息,在终端请求时发送给终端。
8.根据权利要求7所述的的镜像分发系统,其特征在于:所述中央控制模块还用于以镜像文件特征码作为标识区分不同的镜像文件,统计正在下载文件的终端,以及所述终端正在下载的文件,及其下载的进度。
9.根据权利要求6所述的镜像分发系统,其特征在于:所述虚拟化环境终端节点的任务管理模块添加任务成功后,在下载过程中,直至删除任务之前,都可以同时向多个其他终端提供下载。
10.根据权利要求6所述的镜像分发系统,其特征在于:所述虚拟化环境终端节点上的任一个镜像文件处于运行状态时,其他未运行的镜像文件仍可以被添加到该终端的任务管理模块,作为下载源提供其他终端下载镜像文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911037683.7A CN110740192A (zh) | 2019-10-29 | 2019-10-29 | 一种基于p2p网络的虚拟化环境下的镜像分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911037683.7A CN110740192A (zh) | 2019-10-29 | 2019-10-29 | 一种基于p2p网络的虚拟化环境下的镜像分发方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110740192A true CN110740192A (zh) | 2020-01-31 |
Family
ID=69270224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911037683.7A Pending CN110740192A (zh) | 2019-10-29 | 2019-10-29 | 一种基于p2p网络的虚拟化环境下的镜像分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110740192A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383606A (zh) * | 2020-11-09 | 2021-02-19 | 福建亿榕信息技术有限公司 | 一种桌面容器镜像增量p2p分发方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695077A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 一种虚拟机的操作系统部署方法、系统及设备 |
CN104239575A (zh) * | 2014-10-08 | 2014-12-24 | 清华大学 | 一种虚拟机镜像文件存储、分发方法及装置 |
CN108683747A (zh) * | 2018-06-11 | 2018-10-19 | 华为技术有限公司 | 资源获取、分发、下载方法、装置、设备及存储介质 |
CN109491758A (zh) * | 2018-10-11 | 2019-03-19 | 深圳市网心科技有限公司 | docker镜像分发方法、系统、数据网关及计算机可读存储介质 |
-
2019
- 2019-10-29 CN CN201911037683.7A patent/CN110740192A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695077A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 一种虚拟机的操作系统部署方法、系统及设备 |
CN104239575A (zh) * | 2014-10-08 | 2014-12-24 | 清华大学 | 一种虚拟机镜像文件存储、分发方法及装置 |
CN108683747A (zh) * | 2018-06-11 | 2018-10-19 | 华为技术有限公司 | 资源获取、分发、下载方法、装置、设备及存储介质 |
CN109491758A (zh) * | 2018-10-11 | 2019-03-19 | 深圳市网心科技有限公司 | docker镜像分发方法、系统、数据网关及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383606A (zh) * | 2020-11-09 | 2021-02-19 | 福建亿榕信息技术有限公司 | 一种桌面容器镜像增量p2p分发方法及设备 |
CN112383606B (zh) * | 2020-11-09 | 2023-12-19 | 福建亿榕信息技术有限公司 | 一种桌面容器镜像增量p2p分发方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021012568A1 (zh) | 一种数据处理方法及相关设备 | |
CN107179879B (zh) | 用于存储设备的数据迁移的方法和装置 | |
CN110489059B (zh) | 数据集群存储的方法、装置及计算机设备 | |
US20100174807A1 (en) | System and method for providing configuration synchronicity | |
CA2896865A1 (en) | Method and system for using a recursive event listener on a node in hierarchical data structure | |
US11544052B2 (en) | Tenant declarative deployments with release staggering | |
CN111262726A (zh) | 一种配置信息更新方法、装置及计算机可读存储介质 | |
CN111901705A (zh) | 一种olt设备的omci功能虚拟化系统 | |
US20070265976A1 (en) | License distribution in a packet data network | |
CN111400041A (zh) | 服务器配置文件的管理方法、装置及计算机可读存储介质 | |
CN103812881A (zh) | 离线下载控制方法及装置 | |
CN112995806A (zh) | 一种升级光网络单元方法、装置、系统及存储介质 | |
CN111736876A (zh) | 客户端更新控制方法、装置、存储介质及服务器 | |
CN115023919A (zh) | 防火墙规则的更新方法、装置、服务器及存储介质 | |
CN110740192A (zh) | 一种基于p2p网络的虚拟化环境下的镜像分发方法及系统 | |
CN111158716B (zh) | 版本升级调用方法、装置、计算机系统及可读存储介质 | |
CN112804276B (zh) | 虚拟化宽带远程接入服务器及其控制方法、通信系统 | |
CN108521452B (zh) | 对业务版本进行智能升级的方法及系统 | |
CN109101253B (zh) | 云计算系统中主机的管理方法和装置 | |
CN113194115A (zh) | 一种自动部署客户端的方法及网络设备、存储介质 | |
CN113656378A (zh) | 一种服务器管理方法、装置、介质 | |
CN112748943A (zh) | 一种非智能交互电子白板的升级方法及升级系统 | |
CN111124428A (zh) | 一种基于中创中间件的应用自动化发布方法和相关装置 | |
CN104270444A (zh) | 一种可配置手机应用菜单的方法 | |
CN115905271B (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 |