CN105389514B - 一种虚拟机模板的传输方法、发送端和接收端 - Google Patents

一种虚拟机模板的传输方法、发送端和接收端 Download PDF

Info

Publication number
CN105389514B
CN105389514B CN201510680045.2A CN201510680045A CN105389514B CN 105389514 B CN105389514 B CN 105389514B CN 201510680045 A CN201510680045 A CN 201510680045A CN 105389514 B CN105389514 B CN 105389514B
Authority
CN
China
Prior art keywords
file
template
data block
verification
virtual machine
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
CN201510680045.2A
Other languages
English (en)
Other versions
CN105389514A (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Group 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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201510680045.2A priority Critical patent/CN105389514B/zh
Publication of CN105389514A publication Critical patent/CN105389514A/zh
Application granted granted Critical
Publication of CN105389514B publication Critical patent/CN105389514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种虚拟机模板的传输方法、发送端和接收端,该方法应用于虚拟机模板的发送端,确定数据块阈值;确定虚拟机模板对应的各个模板文件;为各个模板文件中每一个模板文件生成对应的第一文件校验和;每一个模板文件中的内容切分成小于等于数据块阈值的数据块,并发送各个数据块和对应的第一文件校验和给接收端;利用各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并触发接收端判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定虚拟机模板传输完整,从而保证接收端接收到的模板文件的完整性。

Description

一种虚拟机模板的传输方法、发送端和接收端
技术领域
本发明涉及计算机通信技术领域,特别涉及一种虚拟机模板的传输方法、发送端和接收端。
背景技术
随着计算技术的快速发展,在计算机领域出现了众多的虚拟化平台,在这虚拟化平台中,由于虚拟机模板是配置好的虚拟机环境,一般包含基本的操作系统和应用软件,那么,将虚拟机模板传输给将要构建虚拟机的计算机,可在该计算机上快速部署拥有相同功能的虚拟机。
目前虚拟机模板的传输方式是用户在客户端A通过人工选择的方式,选择虚拟机模板对应的模板文件,并将该选择的对应的模板文件直接发送给客户端B,那么,当虚拟机模板对应的模板文件在传输过程中由于用户遗漏未发送或者发送过程中出现错误导致某一个模板文件丢失,而客户端B将不能接收到该丢失的模板文件,而客户端B也不能够察觉到其丢失了一个模板文件,在现有技术中,仍然无法保证接收端接收到的模板文件的完整性。
发明内容
本发明提供一种虚拟机模板的传输方法、发送端和接收端,从而保证接收端接收到的模板文件的完整性。
一种虚拟机模板的传输方法,应用于虚拟机模板的发送端,确定数据块阈值;还包括:
确定虚拟机模板对应的各个模板文件;
为所述各个模板文件中每一个模板文件生成对应的第一文件校验和;
将每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块,并发送所述各个数据块和对应的第一文件校验和给接收端;
利用所述各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并触发接收端判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,重新传输当前第一文件校验和对应的模板文件。
优选地,在所述确定虚拟机模板对应的各个模板文件之后,在所述为所述各个模板文件中每一个模板文件生成对应的第一文件校验和之前,进一步包括:
解析所述各个模拟文件中的模拟配置文件,并获取所述模拟配置文件中的文件列表;
判断所述文件列表中的模拟文件数量和模拟文件名称与所述确定的各个模板文件是否一致,如果是,则直接执行所述为所述各个模板文件中每一个模板文件生成对应的第一文件校验和,否则,根据所述文件列表,重新确定模拟文件。
优选地,所述确定虚拟机模板对应的各个模板文件,包括:
解析虚拟机模板对应的模拟配置文件,并获取所述配置文件中的文件列表;
根据所述文件列表中的模拟文件数量和模拟文件名称,确定所述虚拟机模板对应的各个模板文件。
优选地,在所述将每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块之后,在所述发送所述各个数据块和对应的第一文件校验和给接收端之前,进一步包括:
为所述各个数据块中的每一个数据块生成对应的第一数据块校验和;
所述发送所述各个数据块和对应的第一文件校验和给接收端,包括:发 送所述各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端。
一种虚拟机模板的传输方法,应用于虚拟机模板的接收端,包括:
接收发送端发送的各个数据块和对应的第一文件校验和;
受到所述发送端利用所述数据块触发,将所述各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和;
判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,触发发送端重新传输当前第一文件校验和对应的模板文件。
优选地,所述为接收到的每一个模板文件生成对应的第二文件校验和,包括:
为接收到的每一个数据块生成对应的第二数据块校验和;
对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和。
优选地,在所述判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同之后,进一步包括:
解析所述还原的模拟文件中的模拟配置文件;
判断所述还原的模拟文件的数量和所述还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定所述虚拟机模板传输完整。
一种发送端,包括:
确定单元,用于确定数据块阈值,并确定虚拟机模板对应的各个模板文件;
生成单元,用于为所述确定单元确定的各个模板文件中每一个模板文件生成对应的第一文件校验和;
发送单元,用于将所述确定单元确定的每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块,并发送所述各个数据块和对应的所述生 成单元生成的第一文件校验和给接收端;接收到所述控制触发单元的触发时,重新传输当前第一文件校验和对应的模板文件;
控制触发单元,用于利用所述各个数据块,触发外设的接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并触发接收端判断所述发送单元发送的每一个模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,触发所述发送单元。
优选地,上述发送端,进一步包括:解析单元和文件控制单元,其中,
所述解析单元,用于解析所述确定单元确定的各个模拟文件中的模拟配置文件,并获取所述配置文件中的文件列表;
所述文件控制单元,用于判断所述解析单元获取的文件列表中的模拟文件数量和所述确定单元确定的模拟文件名称与所述确定的各个模板文件是否一致,如果是,则触发所述生成单元;
所述生成单元,用于在接收到所述文件控制单元的触发时,为所述确定单元确定的各个模板文件中每一个模板文件生成对应的第一文件校验和。
优选地,所述确定单元,用于解析虚拟机模板对应的模拟配置文件,并获取所述配置文件中的文件列表,根据所述文件列表中的模拟文件数量和模拟文件名称,确定所述虚拟机模板对应的各个模板文件。
优选地,所述发送单元,进一步用于为所述各个数据块中的每一个数据块生成对应的第一数据块校验和,并发送所述各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端。
一种接收端,包括:
文件接收单元,用于接收外设的发送端发送的各个数据块和对应的第一文件校验和;
文件校验单元,用于受到所述外设的发送端利用所述数据块触发,将所述文件接收单元接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并判断每一个模板文件中当前模 板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,触发所述外设的发送端重新传输当前第一文件校验和对应的模板文件。
优选地,所述文件校验单元,进一步用于为接收到的每一个数据块生成对应的第二数据块校验和,对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和。
优选地,所述文件校验单元,进一步用于解析所述还原的模拟文件中的模拟配置文件;判断所述还原的模拟文件的数量和所述还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定所述虚拟机模板传输完整。
本发明实施例提供了一种虚拟机模板的传输方法、发送端和接收端,该虚拟机模板的传输方法,应用于虚拟机模板的发送端,通过确定数据块阈值以及虚拟机模板对应的各个模板文件;为所述各个模板文件中每一个模板文件生成对应的第一文件校验和;将每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块,并发送所述各个数据块和对应的第一文件校验和给接收端;利用所述各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,由于文件校验和一般是与文件内容相关,如果文件内容缺失或者被篡改,将导致文件校验和不同,则本发明通过判断每一个模板文件中当前模板文件对应的发送端生成的第一文件校验和与接收端生成的第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,重新传输当前第一文件校验和对应的模板文件,通过这一过程则可以很直观的判断出在传输的过程中模板文件是否缺失或者被篡改,有效的保证了接收端接收到的模板文件的完整性。
附图说明
图1为本发明实施例提供的一种虚拟机模板的传输方法的流程图;
图2为本发明实施例提供的另一种虚拟机模板的传输方法的流程图;
图3为本发明实施例提供的一种虚拟机模板的模板配置文件内容示意图;
图4为本发明实施例提供的又一种虚拟机模板的传输方法的流程图;
图5为本发明实施例提供的另一种虚拟机模板的传输方法的流程图;
图6为本发明实施例提供的一种发送端的结构示意图;
图7为本发明实施例提供的一种接收端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种虚拟机模板的传输方法,应用于虚拟机模板的发送端,该方法可以包括如下步骤:
步骤101:确定数据块阈值以及虚拟机模板对应的各个模板文件;
步骤102:为各个模板文件中每一个模板文件生成对应的第一文件校验和;
步骤103:将每一个模板文件中的内容切分成小于等于数据块阈值的数据块,并发送各个数据块和对应的第一文件校验和给接收端;
步骤104:利用各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和;
步骤105:触发接收端判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则执行步骤106;否则,执行步骤107;
步骤106:确定虚拟机模板传输完整,结束流程;
步骤107:重新传输当前第一文件校验和对应的模板文件。
在本发明一个实施例中,为了保证发送端发送的模板文件完整,以进一步保证接收端接收到的模板文件的完整,在步骤101之后,在步骤102之前,进一步包括:解析各个模拟文件中的模拟配置文件,并获取模拟配置文件中的文件列表;判断文件列表中的模拟文件数量和模拟文件名称与确定的各个模板文件是否一致,如果是,则直接执行为各个模板文件中每一个模板文件生成对应的第一文件校验和,否则,根据文件列表,重新确定模拟文件。
在本发明一个实施例中,为了保证发送端发送的模板文件完整,步骤101的具体实施方式:解析虚拟机模板对应的模拟配置文件,并获取配置文件中的文件列表;根据文件列表中的模拟文件数量和模拟文件名称,确定虚拟机模板对应的各个模板文件。
在本发明一个实施例中,为了提高模板文件的传输速率,在步骤103中,在将每一个模板文件中的内容切分成小于等于数据块阈值的数据块之后,在发送各个数据块和对应的第一文件校验和给接收端之前,进一步包括:为各个数据块中的每一个数据块生成对应的第一数据块校验和;而发送各个数据块和对应的第一文件校验和给接收端,包括:发送各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端。
如图2所示,本发明实施例提供一种虚拟机模板的传输方法,应用于虚拟机模板的发送端,该方法可以包括如下步骤:
步骤201:确定数据块阈值以及虚拟机模板对应的各个模板文件;
在该步骤中,数据块阈值的大小往往跟传输的网络带宽有关系,网络带宽越大,数据块阈值越大,网络带宽越小,切分成的数据块也越小。
而在该步骤中,确认虚拟机模板对应的各个模板文件的方式可以包括但不限于:一种为人工选择的方式选择模板文件;另一种为解析虚拟机模板对应的模拟配置文件,并获取配置文件中的文件列表;该文件列表中一般包括文件名称和文件路径,根据文件列表中的模拟文件数量和模拟文件名称,确 定虚拟机模板对应的各个模板文件。
步骤202:解析各个模拟文件中的模拟配置文件,并获取模拟配置文件中的文件列表;
如图3所示,为本发明实施例提供的模拟配置文件的内容,通过该内容可以解析模板文件名称、文件路径等信息,很容易统计出模板文件数量等,在该图3的模拟配置文件中主要包含有3个模板文件分别为:模板_重要_装软件(a6c28617-e5b4-45d1-a062-60c7c3e73953).vmdk;模板_重要_装软件(a6c28617-e5b4-45d1-a062-60c7c3e73953).nvram;模板_重要_装软件(a6c28617-e5b4-45d1-a062-60c7c3e73953).vmtx。
步骤203:判断文件列表中的模拟文件数量和模拟文件名称与确定的各个模板文件是否一致,如果是,则直接执行步骤205;否则,执行步骤204;
模拟配置文件中的文件列表主要包括虚拟机模板对应的所有模板文件地名称和路径,那么通过该步骤可以初步保证发送端选择了全部的模板文件,而且也可以避免不必要的文件的传输。
步骤204:根据文件列表,重新确定模拟文件;
步骤205:为各个模板文件中每一个模板文件生成对应的第一文件校验和;
该步骤生成的校验和与模板文件的内容相关,例如可以通过读取模板文件中的内容,将内容转换成唯一的字符串即为校验和,由于不同模板文件的内容不同,则不同文件对应的校验和不同,而同一文件的校验和相同。
步骤206:将每一个模板文件中的内容切分成小于等于数据块阈值的数据块;
例如:一个模板文件的大小为1MB,而数据块阈值为,则该大小为1MB的模板文件被切分为4个数据块,3个0.3MB的数据块和1个0.1MB的数据块。
步骤207:为各个数据块中的每一个数据块生成对应的第一数据块校验和;
例如:为大小为1MB的模板文件被切分成的4个数据块对应的第一数据块校验和分别为A1B2;C3D4;E5G6;H7,该1MB的模板文件对应的第一文件校验和为A1B2C3D4E5G6H7。
步骤208:发送各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端;
步骤209:利用各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二数据块校验和以及第二文件校验和;
该步骤中的每一个模板文件的第二文件校验和是每一个模板文件对应的各个数据块的第二数据块校验和的加和,例如:一个模板文件对应的4个数据块,该4个数据块对应的第二数据块校验和依次为A1B2;C3D4;E5G6;H7,则该模板文件的第二文件校验和为A1B2C3D4E5G6H7。
步骤210:触发接收端判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则执行步骤211;否则,执行步骤212;
如果在传输过程中模板文件内容被恶意更改或者模板文件内容传输不完全,将导致该模板文件对应的第二文件校验和与第一文件校验和不同。
步骤211:确定虚拟机模板传输完整,结束流程;
步骤212:重新传输当前第一文件校验和对应的模板文件。
如图4所示,本发明实施例提供一种虚拟机模板的传输方法,应用于虚拟机模板的接收端,可以包括如下步骤:
步骤401:接收发送端发送的各个数据块和对应的第一文件校验和;
步骤402:受到发送端利用数据块触发,将各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和;
步骤403:判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则执行步骤404;否则,执行步骤405;
步骤404:确定虚拟机模板传输完整,结束流程;
步骤405:触发发送端重新传输当前第一文件校验和对应的模板文件。
在本发明一个实施例中,为了能够进一步保证接收端接收到的模拟文件的完整性,步骤402的具体实施方式:为接收到的每一个数据块生成对应的第二数据块校验和;对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和。
在本发明一个实施例中,为了能够进一步保证虚拟机模板文件完整,以提高虚拟机安装或运行成功的效率,在步骤403之后,在步骤404之前,进一步包括:解析还原的模拟文件中的模拟配置文件;判断还原的模拟文件的数量和还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定虚拟机模板传输完整。
如图5所示,本发明实施例提供一种虚拟机模板的传输方法,应用于虚拟机模板的接收端,可以包括如下步骤:
步骤501:接收发送端发送的各个数据块和对应的第一文件校验和;
步骤502:受到发送端利用数据块触发,将各个数据块还原为对应的模板文件;
例如:4个数据块对应的第一数据块校验和分别为A1B2;C3D4;E5G6;H7,来源于同一个模板文件,则在该步骤中,将这4个数据块还原为一个模板文件。
步骤503:为接收到的每一个数据块生成对应的第二数据块校验和;
步骤504:对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则执行步骤505,否则,执行步骤506;
例如:数据块1在发送端的第一数据块校验和为A1B2;数据块1在接收端的第二数据块校验和也为A1B2;则说明从发送端到接收端,数据块1的内容未被篡改。
步骤505:将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和,并执行步骤507;
例如:一个模板文件对应的4个数据块,该4个数据块对应的第二数据块校验和依次为A1B2;C3D4;E5G6;H7,则该模板文件的第二文件校验和为A1B2C3D4E5G6H7。
步骤506:触发发送端重新传输当前第一数据块校验和对应的数据块;
步骤507:判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则执行步骤508;否则,执行步骤509;
步骤508:解析还原的模拟文件中的模拟配置文件,并执行步骤510;
步骤509:触发发送端重新传输当前第一文件校验和对应的模板文件,结束流程;
步骤510:判断还原的模拟文件的数量和还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则执行步骤511,否则,执行步骤512;
步骤511:确定虚拟机模板传输完整,结束流程;
步骤512:触发发送端重新传输缺失的的模板文件。
如图6所示,本发明实施例提供一种发送端,该发送端包括:
确定单元601,用于确定数据块阈值,并确定虚拟机模板对应的各个模板文件;
生成单元602,用于为确定单元601确定的各个模板文件中每一个模板文件生成对应的第一文件校验和;
发送单元603,用于将确定单元601确定的每一个模板文件中的内容切分成小于等于数据块阈值的数据块,并发送各个数据块和对应的生成单元602生成的第一文件校验和给接收端,接收到控制触发单元604的触发时,重新传输当前第一文件校验和对应的模板文件。
控制触发单元604,用于利用各个数据块,触发外设的接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并触发接收端判断发送单元603发送的每一个模板文件 对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定虚拟机模板传输完整,否则,触发所述发送单元。
在本发明另一实施例中,上述发送端,进一步包括:解析单元和文件控制单元(图中未示出),其中,
解析单元,用于解析确定单元601确定的各个模拟文件中的模拟配置文件,并获取配置文件中的文件列表;
文件控制单元,用于判断解析单元获取的文件列表中的模拟文件数量和确定单元601确定的模拟文件名称与所述确定的各个模板文件是否一致,如果是,则触发生成单元602;
生成单元602,用于在接收到文件控制单元的触发时,为确定单元601确定的各个模板文件中每一个模板文件生成对应的第一文件校验和;
在本发明又一个实施例中,确定单元601,用于解析虚拟机模板对应的模拟配置文件,并获取配置文件中的文件列表,根据文件列表中的模拟文件数量和模拟文件名称,确定虚拟机模板对应的各个模板文件。
在本发明另一实施例中,发送单元603,进一步用于为各个数据块中的每一个数据块生成对应的第一数据块校验和,并发送各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端。
如图7所示,本发明实施例提供一种接收端,该接收端包括:
文件接收单元701,用于接收外设的发送端发送的各个数据块和对应的第一文件校验和;
文件校验单元702,用于受到所述外设的发送端利用所述数据块触发,将文件接收单元701接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定虚拟机模板传输完整,否则,触发外设的发送端重新传输当前第一文件校验和对应的模板文件。
在本发明另一实施例中,文件校验单元702,进一步用于为接收到的每 一个数据块生成对应的第二数据块校验和,对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和。
在本发明又一实施例中,文件校验单元702,进一步用于解析还原的模拟文件中的模拟配置文件;判断还原的模拟文件的数量和还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定虚拟机模板传输完整。
本发明实施例提供的方案,至少能够达到如下有益效果:
1.通过确定数据块阈值以及虚拟机模板对应的各个模板文件;为各个模板文件中每一个模板文件生成对应的第一文件校验和;将每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块,并发送各个数据块和对应的第一文件校验和给接收端;利用各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,由于文件校验和一般是与文件内容相关,如果文件内容缺失或者被篡改,将导致文件校验和不同,则本发明通过判断每一个模板文件中当前模板文件对应的发送端生成的第一文件校验和与接收端生成的第二文件校验和是否相同,如果是,则确定虚拟机模板传输完整,否则,重新传输当前第一文件校验和对应的模板文件,通过这一过程则可以很直观的判断出在传输的过程中模板文件是否缺失或者被篡改,有效的保证了接收端接收到的模板文件的完整性。
2.在本发明实施例中,根据模拟文件和数据块的内容,为模拟文件和数据块生成校验和,由于校验和与模拟文件内容或者数据块内容相关,那么,当模拟文件内容或者数据块内容发生改变时,校验和也将发生改变,则通过校验和来验证确保了接收端接收到的模拟文件的可靠性,也避免了因虚拟机模板文件缺失或文件内容不完整导致创建出的虚拟机不可用的问题。
3.通过解析虚拟机模板对应的模拟配置文件,并获取配置文件中的文件列表;保证发送的模拟文件数量和名称与文件列表中的模拟文件数量和模 拟文件名称一致,也可通过文件列表中的模拟文件数量和模拟文件,确定虚拟机模板对应的各个模板文件,保证了发送端发送的模板文件完整。
4.本发明实施例为各个数据块中的每一个数据块生成对应的第一数据块校验和;并发送各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端,提高了模板文件的传输速率,进一步保证虚拟机模板文件完整
5.本发明实施例为接收到的每一个数据块生成对应的第二数据块校验和;对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和;解析还原的模拟文件中的模拟配置文件;判断还原的模拟文件的数量和还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定虚拟机模板传输完整,能够进一步保证接收端接收到的模拟文件的完整性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…………”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (7)

1.一种虚拟机模板的传输方法,其特征在于,应用于虚拟机模板的发送端,确定数据块阈值;还包括:
确定虚拟机模板对应的各个模板文件;
为所述各个模板文件中每一个模板文件生成对应的第一文件校验和;
将每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块,并发送所述各个数据块和对应的第一文件校验和给接收端;
利用所述各个数据块,触发接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并触发接收端判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,重新传输当前第一文件校验和对应的模板文件;
在所述确定虚拟机模板对应的各个模板文件之后,在所述为所述各个模板文件中每一个模板文件生成对应的第一文件校验和之前,进一步包括:
解析各个模拟文件中的模拟配置文件,并获取所述模拟配置文件中的文件列表;
判断所述文件列表中的模拟文件数量和模拟文件名称与所述确定的各个模板文件是否一致,如果是,则直接执行所述为所述各个模板文件中每一个模板文件生成对应的第一文件校验和,否则,根据所述文件列表,重新确定模拟文件;
或者,
所述确定虚拟机模板对应的各个模板文件,包括:
解析虚拟机模板对应的模拟配置文件,并获取所述配置文件中的文件列表;
根据所述文件列表中的模拟文件数量和模拟文件名称,确定所述虚拟机模板对应的各个模板文件。
2.根据权利要求1所述的方法,其特征在于,
在所述将每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块之后,在所述发送所述各个数据块和对应的第一文件校验和给接收端之前,进一步包括:
为所述各个数据块中的每一个数据块生成对应的第一数据块校验和;
所述发送所述各个数据块和对应的第一文件校验和给接收端,包括:发送所述各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端。
3.一种虚拟机模板的传输方法,其特征在于,应用于虚拟机模板的接收端,包括:
接收发送端发送的各个数据块和对应的第一文件校验和;
受到所述发送端利用所述数据块触发,将所述各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和;
判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,触发发送端重新传输当前第一文件校验和对应的模板文件;
所述为接收到的每一个模板文件生成对应的第二文件校验和,包括:
为接收到的每一个数据块生成对应的第二数据块校验和;
对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和;
和/或,
在所述判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同之后,进一步包括:
解析所述还原的模拟文件中的模拟配置文件;
判断所述还原的模拟文件的数量和所述还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定所述虚拟机模板传输完整。
4.一种发送端,其特征在于,包括:
确定单元,用于确定数据块阈值,并确定虚拟机模板对应的各个模板文件;
生成单元,用于为所述确定单元确定的各个模板文件中每一个模板文件生成对应的第一文件校验和;
发送单元,用于将所述确定单元确定的每一个模板文件中的内容切分成小于等于所述数据块阈值的数据块,并发送所述各个数据块和对应的所述生成单元生成的第一文件校验和给接收端;接收到控制触发单元的触发时,重新传输当前第一文件校验和对应的模板文件;
控制触发单元,用于利用所述各个数据块,触发外设的接收端将接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并触发接收端判断所述发送单元发送的每一个模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定所述虚拟机模板传输完整,否则,触发所述发送单元;
进一步包括:解析单元和文件控制单元,其中,
所述解析单元,用于解析所述确定单元确定的各个模拟文件中的模拟配置文件,并获取所述配置文件中的文件列表;
所述文件控制单元,用于判断所述解析单元获取的文件列表中的模拟文件数量和所述确定单元确定的模拟文件名称与所述确定的各个模板文件是否一致,如果是,则触发所述生成单元;
所述生成单元,用于在接收到所述文件控制单元的触发时,为所述确定单元确定的各个模板文件中每一个模板文件生成对应的第一文件校验和;
或者,
所述确定单元,用于解析虚拟机模板对应的模拟配置文件,并获取所述配置文件中的文件列表,根据所述文件列表中的模拟文件数量和模拟文件名称,确定所述虚拟机模板对应的各个模板文件。
5.根据权利要求4所述的发送端,其特征在于,
所述发送单元,进一步用于为所述各个数据块中的每一个数据块生成对应的第一数据块校验和,并发送所述各个数据块、对应的第一数据块校验和和对应的第一文件校验和给接收端。
6.一种接收端,其特征在于,包括:
文件接收单元,用于接收外设的发送端发送的各个数据块和对应的第一文件校验和;
文件校验单元,用于受到所述外设的发送端利用所述数据块触发,将所述文件接收单元接收到的各个数据块还原为对应的模板文件,为接收到的每一个模板文件生成对应的第二文件校验和,并判断每一个模板文件中当前模板文件对应的第一文件校验和与第二文件校验和是否相同,如果是,则确定虚拟机模板传输完整,否则,触发所述外设的发送端重新传输当前第一文件校验和对应的模板文件。
7.根据权利要求6所述的接收端,其特征在于,
所述文件校验单元,进一步用于为接收到的每一个数据块生成对应的第二数据块校验和,对于接收到的每一个数据块,判断当前数据块的第二数据块校验和与第一数据块校验和是否相同,如果是,则将当前模拟文件对应的所有数据块的第二数据块校验和进行加和,加和结果作为当前模拟文件的第二文件校验和;
和/或,
所述文件校验单元,进一步用于解析所述还原的模拟文件中的模拟配置文件;判断所述还原的模拟文件的数量和所述还原的模拟文件名称是否与还原的模拟配置文件相同,如果是,则确定所述虚拟机模板传输完整。
CN201510680045.2A 2015-10-19 2015-10-19 一种虚拟机模板的传输方法、发送端和接收端 Active CN105389514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510680045.2A CN105389514B (zh) 2015-10-19 2015-10-19 一种虚拟机模板的传输方法、发送端和接收端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510680045.2A CN105389514B (zh) 2015-10-19 2015-10-19 一种虚拟机模板的传输方法、发送端和接收端

Publications (2)

Publication Number Publication Date
CN105389514A CN105389514A (zh) 2016-03-09
CN105389514B true CN105389514B (zh) 2018-01-16

Family

ID=55421790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510680045.2A Active CN105389514B (zh) 2015-10-19 2015-10-19 一种虚拟机模板的传输方法、发送端和接收端

Country Status (1)

Country Link
CN (1) CN105389514B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453478A (zh) * 2007-11-28 2009-06-10 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
CN101840346A (zh) * 2009-12-30 2010-09-22 北京世纪互联宽带数据中心有限公司 云主机部署的方法及系统
CN102752283A (zh) * 2012-05-30 2012-10-24 福建省三奥信息科技股份有限公司 大数据量文件的传输方法及系统
CN103873505A (zh) * 2012-12-12 2014-06-18 中国电信股份有限公司 向云存储服务器离线上传的方法、系统与装置
CN104539739A (zh) * 2015-01-26 2015-04-22 浙江大学 一种文件上传的系统、方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453478A (zh) * 2007-11-28 2009-06-10 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
CN101840346A (zh) * 2009-12-30 2010-09-22 北京世纪互联宽带数据中心有限公司 云主机部署的方法及系统
CN102752283A (zh) * 2012-05-30 2012-10-24 福建省三奥信息科技股份有限公司 大数据量文件的传输方法及系统
CN103873505A (zh) * 2012-12-12 2014-06-18 中国电信股份有限公司 向云存储服务器离线上传的方法、系统与装置
CN104539739A (zh) * 2015-01-26 2015-04-22 浙江大学 一种文件上传的系统、方法及装置

Also Published As

Publication number Publication date
CN105389514A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
CN105554037B (zh) 身份认证处理方法及服务平台
CN104468843A (zh) 一种文件上传方法及装置
CN107168739A (zh) Pos机、pos机无线通讯模块固件升级方法及装置
CN105119722A (zh) 一种身份验证方法、设备及系统
CN104022878B (zh) 一种贴膜sim卡及相应的应用鉴权系统和鉴权方法
CN104936157B (zh) 一种手机号码绑定账号获取方法及系统
CN103795762A (zh) 一种反向代理的测试方法及系统
CN110392065A (zh) 闪验号码认证sdk的实现方法及系统
CN107577622A (zh) 后端接口模拟方法、设备及存储介质
CN108306959A (zh) 一种远程升级cpld固件的方法、装置和存储介质
CN106331009A (zh) 一种应用程序下载方法、装置及系统
CN107948942A (zh) 一种短信业务自动化测试方法及装置
CN107770786A (zh) 一种网络性能的测试方法、设备及系统
CN105337933A (zh) 创建子账户的方法、系统以及主账户装置和子账户装置
CN109981360A (zh) 物联网设备站点开通方法、装置、系统及存储介质
CN100542109C (zh) 测试方法、系统及其配置方法和系统
CN110266792A (zh) 地址转换方法、装置、设备与计算机可读存储介质
CN114172900A (zh) 基于单向网闸的文件传输方法及系统
CN105049280B (zh) 业务管理平台的接口行为模拟测试系统和方法
CN104780042A (zh) 一种即时通信的双层认证方法、装置及系统
CN102231667B (zh) 串口设备注册的方法和装置
CN110515759A (zh) 一种基于crc校验码复核技术的配置文件一致性管控方法
CN105389514B (zh) 一种虚拟机模板的传输方法、发送端和接收端
CN107277163A (zh) 一种设备远程映射方法及装置
CN106161452B (zh) 验证码的发送方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180802

Address after: 250100 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong.

Patentee after: Shandong wave cloud Mdt InfoTech Ltd

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Patentee before: Inspur Group Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Patentee before: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.