CN111694598A - 软件版本包管理方法、装置、设备和介质 - Google Patents

软件版本包管理方法、装置、设备和介质 Download PDF

Info

Publication number
CN111694598A
CN111694598A CN202010524548.1A CN202010524548A CN111694598A CN 111694598 A CN111694598 A CN 111694598A CN 202010524548 A CN202010524548 A CN 202010524548A CN 111694598 A CN111694598 A CN 111694598A
Authority
CN
China
Prior art keywords
software version
package
version package
server
check code
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
Application number
CN202010524548.1A
Other languages
English (en)
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202010524548.1A priority Critical patent/CN111694598A/zh
Publication of CN111694598A publication Critical patent/CN111694598A/zh
Pending legal-status Critical Current

Links

Images

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种软件版本包管理方法、装置、设备和介质。其中方法包括:接收客户端发送的软件版本上传指令,其中软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;根据第一校验码,对软件版本包进行完整性校验;若软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据目标中转服务器的标识信息和第一相对存放路径,生成软件版本包的第二相对存放路径;根据第二相对存放路径,将软件版本包和第一校验码发送给目标中转服务器,以使目标中转服务器在校验软件版本包完整时,将软件版本包上传至版本服务器。本发明实施例提高了软件版本包上传的正确性、有序性和可靠性。

Description

软件版本包管理方法、装置、设备和介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种软件版本包管理方法、装置、设备和介质。
背景技术
目前,大型软件企业会针对项目中的不同软件产品进行程序代码编译并生成软件版本包,将这些软件版本包上传至版本服务器上,以使版本服务器通过网络推送给用户,方便用户进行下载安装。
在实际应用过程中,技术人员将软件版本包上传至版本服务器时,常用如下几种上传方式实现,例如文件传输协议(File Transfer Protocol,简称为:FTP)工具上传,通用串行总线(UniversalSerialBus,简称为:USB),容器自动化部署或者流水线自动化部署等。
然而,利用上述几种上传方式,将位于测试环境中的软件版本包上传至版本服务器时,如果版本服务器中多个项目都有该软件的相同旧软件版本,则需要将该软件的软件版本包分别上传至具有该软件的每个项目中,这就容易出现软件版本包上传出现混乱,导致软件版本包上传出现错误,使得软件版本包上传的正确性、有序性和可靠性降低。
发明内容
本发明实施例提供一种软件版本包管理方法、装置、设备和介质,提高了软件版本包上传的正确性、有序性和可靠性。
第一方面,本发明实施例提供了一种软件版本包管理方法,由部署于测试环境的堡垒机执行,所述方法包括:
接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
根据所述第一校验码,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
第二方面,本发明实施例还提供了一种软件版本包管理方法,由部署于隔离区的中转服务器执行,所述方法包括:
接收堡垒机发送的软件版本包和第一校验码;
根据所述第一校验,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
第三方面,本发明实施例还提供了一种软件版本包管理方法,由部署于测试环境的客户端执行,所述方法包括:
确定用户从预设相对存放路径中选择的第一相对存放路径;
根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
第四方面,本发明实施例还提供了一种软件版本包管理装置,配置于堡垒机,包括:
指令接收模块,用于接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
第一校验模块,用于根据所述第一校验码,对所述软件版本包进行完整性校验;
第一处理模块,用于若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
第一发送模块,用于根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
第五方面,本发明实施例还提供了一种软件版本包管理装置,配置于中转服务器,包括:
信息接收模块,用于接收堡垒机发送的软件版本包和第一校验码;
第二校验模块,用于根据所述第一校验,对所述软件版本包进行完整性校验;
第二处理模块,用于若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
第二发送模块,用于根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
第六方面,本发明实施例还提供了一种软件版本包管理装置,配置于客户端,包括:
第一确定模块,用于确定用户从预设相对存放路径中选择的第一相对存放路径;
校验码生成模块,用于根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
指令发送模块,用于根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
第七方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任一所述的软件版本包管理方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中任一所述的软件版本包管理方法。
本发明实施例公开的技术方案,具有如下有益效果:
通过部署于测试环境的堡垒机接收客户端发送的软件版本上传指令,以根据软件版本上传指令中的第一校验码,对软件版本包进行完整性校验,当软件版本包完整时,根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据目标中转服务器的标识信息和第一相对存放路径,生成软件版本包的第二相对存放路径,以根据第二相对存放路径,将软件版本包和第一校验码发送给中转服务器,以使目标中转服务器对软件版本包进行完整性校验,并在软件版本包完整时将软件版本包发送给版本服务器。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
附图说明
图1是本发明实施例一提供的一种软件版本包管理方法的流程示意图;
图1(a)是本发明实施例一提供的测试环境、隔离区和生产环境之间的通信方式示意图;
图1(b)是本发明实施例一提供的公有云版本服务器和私有云版本服务器的结构示意图;
图2是本发明实施例二提供的一种软件版本包管理方法的流程示意图;
图3是本发明实施例三提供的一种软件版本包管理方法的流程示意图;
图4是本发明实施例四提供的一种软件版本包管理方法的流程示意图;
图5是本发明实施例五提供的一种软件版本包管理方法的流程示意图;
图6是本发明实施例六提供的一个具体实施例的客户端、堡垒机、中转服务器和版本服务器之间信令交互的示意图;
图7是本发明实施例七提供的一种软件版本包管理装置的结构示意图;
图8是本发明实施例八提供的一种软件版本包管理装置的结构示意图;
图9是本发明实施例九提供的一种软件版本包管理装置的结构示意图;
图10是本发明实施例十提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
下面结合附图对本发明实施例的软件版本管理包方法、装置、设备和介质进行详细说明。首先,以部署于测试环境的堡垒机为执行主体为例,对本发明实施例的软件版本管理方法进行描述。
实施例一
图1是本发明实施例一提供的一种软件版本包管理方法的流程示意图。本发明实施例可适用于对用户上传软件版本包过程进行管理的场景,该方法可以由本发明实施例提供的配置于堡垒机的软件版本包管理装置来执行,该装置可以采用硬件和/或软件的方式实现。如图1所示,该方法具体包括如下:
S101,接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径。
S102,根据所述第一校验码,对所述软件版本包进行完整性校验。
在本发明实施例中,客户端是指用户执行软件版本包上传操作的设备,例如PC机、笔记本电脑或者个人数字化助理等。其中,用户是指企业的技术人员。
第一校验码是指用于校验软件版本包的校验码。其中,第一校验码可以是但不限于:MD5(消息摘要算法,Message Digest Algorithm MD5),循环冗余校验码(CyclicRedundancy Check,简称为CRC)等,此处对其不做具体限定。
具体的,接收到客户端发送的软件版本上传指令之后,可对软件版本上传指令进行解析,获取软件版本上传指令包括的软件版本包、第一校验码和第一相对存放路径。然后,根据第一校验码对软件版本包的完整进行校验,以确定从客户端接收到的软件版本包是否出现损坏或篡改。
S103,若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径。
其中,中转服务器是指在网络之间传输软件版本包的服务器。中转服务器集群是由多个中转服务器组成。
在本发明实施例中,标识信息包括:目标中转服务器的IP地址和端口号。
示例性的,当确定从客户端接收到的软件版本包完整时,堡垒机可向中转服务器集群发送运行状态获取指令,以获取中转服务器集群中每个中转服务器运行状态信息,然后根据第一负载均衡策略,从中转服务器集群中选择运行状态最优的一个中转服务器作为目标中转服务器。其中,中转服务器运行状态信息包括:处理的业务数量、每个业务处理速率和网络状态是否正常等。
例如,中转服务器集群包括10个中转服务器,分别为:中转服务器1、中转服务器2、中转服务器3、中转服务器4、中转服务器5、中转服务器6、中转服务器7、中转服务器8、中转服务器9和中转服务器10。那么当获取到中转服务器集群中10个中转服务器反馈的运行状态信息后,分析这10个中转服务器的运行状态信息。若第3个中转服务器运行状态最佳,则将第3个中转服务器确定为目标中转服务器。
进一步的,确定出目标中转服务器后,堡垒机还可确定目标中转服务器的标识信息,以根据目标中转服务器的标识信息,生成软件版本包的第二相对存放路径。
可选的,生成软件版本包的第二相对存放路径,可根据目标中转服务器的标识信息和第一相对存放路径生成。可选的,本实施例可按照如下格式实现:第二相对存放路径=目标中转服务器IP地址+目标中转服务器端口号+第一相对存放路径。
S104,根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
其中,所述客户端位于所述测试环境中;所述中转服务器集群位于隔离区;所述版本服务器位于生产环境中。在本发明实施例中,测试环境与隔离区之间是双向通信,隔离区与生产环境之间是单向通信,具体参见图1(a)所示。即,测试环境中的堡垒机,可向隔离区中的中转服务器发送软件版本包,或者,隔离区中的中转服务器,可向测试环境中的堡垒机发送信息;生产环境中的版本服务器能从隔离区中的中转服务器中获取软件版本包或其他信息,但隔离区中的中转服务器不能访问生产环境中的版本服务器。
也就是说,通过隔离区,将软件运行的生产环境与测试环境隔离,以使位于测试环境中的堡垒机将客户端发送的软件版本包,通过位于隔离区的中转服务器上传到生产环境中的版本服务器。从而使得软件版本在上传过程中,测试环境无法随意访问生产环境,从而降低版本服务器中的数据被恶意攻击的风险,提高版本服务器中数据的安全性。
具体的,本实施例可根据第二相对存放路径中的目标中转服务器IP地址和端口号,将软件版本包和第一校验码发送给目标中转服务器,以使中转服务器对堡垒机发送的软件版本包进行完整性校验。当中转服务器校验软件版本包完整时,则将软件版本包上传至位于生产环境中的版本服务器,以使版本服务器存放该软件版本包。其中,将软件版本包和第一校验码发送给目标中转服务器的同时,还可将第二相对存储路径也发送给目标中转服务器,以为生成软件版本包的绝对存放路径奠定基础。
进一步的,将软件版本包和第一校验码发送给目标中转服务器之后,堡垒机还可向客户端反馈发送成功信息,以使用户能够知晓上传的软件版本包当前传输至哪一环节,为用户了解软件版本包上传过程提供了条件。
其中,向客户端反馈发送成功信息可包括:软件版本包标识、目标中转服务器标识和发送成功结果等。在本实施例中,软件版本包标识是指唯一确定软件版本包身份的信息,例如软件版本包名称,或者软件版本包ID等。目标中转服务器标识是指唯一确定中转服务器身份的信息,例如中转服务器编号或者中转服务器序号等。
需要说明的是,在本发明实施例中,版本服务器可为版本服务器集群中的任一服务器。本实施例中版本服务器集群可包括多个版本服务器,且集群中版本服务器可以根据业务需求分为公有云版本服务器和私有云版本服务器。
可选的,公有云版本服务器和私有云版本服务器的部署结构可以包括以下几层,例如:组织机构层、物理子系统层和产品软件版本包层。其中,公有云版本服务器和私有云版本服务器中的各层部署结构可以完全相同,也可以部分相同,还可以是不相同。例如,如图1(b)所示,本实施例中公有云版本服务器和私有云版本服务器的各层部署结构完全相同。
S105,若所述软件版本包不完整,则向所述客户端发送第一提示信息。
其中,第一提示信息,具体是指软件版本包不完整的提示信息,用于提醒客户端的用户,软件版本包可能出现损坏或者篡改的问题,以使用户检查软件版本的完整性。
示例性的,当确定从客户端接收到的软件版本包不完整时,堡垒机可向客户端发送第一提示信息,以使用户基于提示信息,重新通过客户端向堡垒机发送软件版本包上传指令,以确保上传至版本服务器中的软件版本包与用户上传的软件版本包一致。
本发明实施例提供的技术方案,通过部署于测试环境的堡垒机接收客户端发送的软件版本上传指令,以根据软件版本上传指令中的第一校验码,对软件版本包进行完整性校验,当软件版本包完整时,根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据目标中转服务器的标识信息和第一相对存放路径,生成软件版本包的第二相对存放路径,以根据第二相对存放路径,将软件版本包和第一校验码发送给中转服务器,以使目标中转服务器对软件版本包进行完整性校验,并在软件版本包完整时将软件版本包发送给版本服务器。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
实施例二
图2是本发明实施例二提供的一种软件版本包管理方法的流程示意图。本实施例在上述实施例的基础上进行进一步优化,具体的,将“根据所述第一校验码,对所述软件版本包进行完整性校验”,优化为“根据所述软件版本包生成第二校验码;根据第一校验码和第二校验码,对所述软件版本包进行完整性校验”。如图2所示,该方法具体包括:
S201,接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径。
S202,根据所述软件版本包生成第二校验码。
为了方便校验获取到的软件版本包的完整性,本发明实施例在获取到软件版本上传指令中的软件版本包之后,还可基于软件版本包随机生成第二校验码。由此,基于生成的第二校验码对软件版本包的完整性进行校验。
S203,根据第一校验码和第二校验码,对所述软件版本包进行完整性校验。
示例性的,可将生成的第二校验码与第一校验码进行比对,确定第二校验码和第一校验码是否相同。其中,若第二校验码和第一校验码相同,则说明获取到的软件版本包完整,没有出现损坏或篡改;若第二校验码和第一校验码不同,则说明获取到的软件版本包可能出现损坏或篡改等现象。
S204,若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径。
S205,根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以指示所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
S206,若所述软件版本包不完整,则向所述客户端发送第一提示信息。
本发明实施例提供的技术方案,通过根据获取到的软件版本包生成第二校验码,以根据第二校验码对软件版本包的完整性进行校验,当确定软件版本包完整时,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据目标中转服务器的标识信息和第一相对存放路径,生成软件版本包的第二相对存放路径,以根据第二相对存放路径,将软件版本包和第一校验码发送给中转服务器,以使目标中转服务器对软件版本包进行完整性校验,并在软件版本包完整时将软件版本包发送给版本服务器。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,提高了对上传的软件版本包检测的准确性和可靠性,提高了用户体验。
实施例三
图3是本发明实施例三提供的一种软件版本包管理方法的流程示意图。本发明实施例可适用于对用户上传软件版本包过程进行管理的场景,该方法可以由配置于中转服务器的软件版本包管理装置来执行,该装置可以采用硬件和/或软件的方式实现。如图3所示,该方法具体包括如下:
S301,接收堡垒机发送的软件版本包和第一校验码。
S302,根据所述第一校验,对所述软件版本包进行完整性校验。
可选的,接收到堡垒机发送的软件版本包和第一校验码之后,中转服务器可根据第一校验码对软件版本包的完整性进行校验,以确定从堡垒机传输至中转服务器的软件版本包是否出现损坏或者篡改。
S303,若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器。
可选的,根据第一校验码对软件版本包的完整性进行校验之后,若确定从堡垒机接收到的软件版本包完整,则可将软件版本包标识文件的第一后缀信息修改为第二后缀信息,以使中转服务器根据软件版本包标识文件的后缀信息可确定该软件版本包是否是完整的。例如,若软件版本包标识文件的第一后缀信息为:xxxx.ok,那么当确定接收的软件版本包完整时,中转服务器可将xxxx.ok修改为xxxx.over。
进一步的,中转服务器从版本服务器集群中选择目标版本服务器,具体实现可包括以下情况:
第一种情况
接收版本服务器集群中版本服务器发送的运行状态信息,根据第二负载均衡策略,从版本服务器集群中选择运行状态信息最优的一个版本服务器作为目标版本服务器。
其中,版本服务器运行状态信息包括:网络状态是否正常和已存放的软件版本包数量等。
第二种情况
接收版本服务器集群中版本服务器发送的软件版本包获取指令,确定哪一软件版本包获取指令中携带的软件版本包标识,与堡垒机发送的完整软件版本包标识一致。若任一版本服务器发送的软件版本包获取指令中软件版本包标识,与堡垒机发送的完整软件版本包标识一致,则将该软件版本包获取指令对应的版本服务器确定为目标版本服务器。
例如,若第5个版本服务器发送的软件版本包获取指令中携带的软件版本包标识为:ID3,且中转服务器中完整性校验结果为完整的软件版本包标识也为ID3,则确定第5个版本服务器为目标版本服务器。
需要说明的是,上述两种情况仅作为本发明实施例的示例性说明,不作为对本发明的具体限制。
S304,根据所述目标版本服务器的标识信息和第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
其中,目标版本服务器的标识信息包括:目标版本服务器的IP地址和端口号。
可选的,确定目标版本服务器之后,中转服务器还可确定目标版本服务器的标识信息,以根据目标版本服务器的标识信息,生成软件版本包的绝对存放路径。
在本发明实施例中,可通过多种方式生成软件版本包的绝对存放路径。例如可选的本实施例可按照如下格式,生成软件版本包的绝对存放路径:绝对存放路径=目标版本服务器IP地址+目标版本服务器端口号+第二相对存放路径。即,绝对存放路径为:目标版本服务器IP地址+目标版本服务器端口号+目标中转服务器IP地址+目标中转服务器端口号+第一相对存放路径。
生成软件版本包的绝对存放路径之后,中转服务器可将软件版本包上传至目标版本服务器,以使目标版本服务器根据绝对存放路径中的第一相对存放路径,将软件版本包存放到与第一相对存放路径中目标物理子系统(目标部署单元)地址对应的目标物理子系统中。进一步的,将软件版本包上传至目标版本服务器之后,中转服务器还可向客户端反馈发送成功信息,以使用户能够知晓上传的软件版本包当前传输至哪一环节,为用户了解软件版本包上传过程提供了条件。
在本发明的一个实施例中,为了确保从中转服务器上传至目标版本服务器的软件版本未损坏或篡改,当目标版本器接收到中转服务器上传的软件版本包之后,还可对软件版本包完整性进行校验,以确定该软件版本包是否完整。当确定软件版本包完整时,则将该软件版本包存放至与第一相对存放路径中目标物理子系统地址对应的目标物理子系统中,并向中转服务器发送存放成功提醒消息,以使中转服务器将该存放成功消息发送给客户端;当确定软件版本包不完整,则向中转服务器发送软件版本包不完整消息,以使中转服务器根据上述消息重新上传该软件版本包。
S305,若所述软件版本包不完整,则向所述客户端发送软件版本包不完整提示信息。
其中,软件版本包不完整提示信息,用于提醒客户端的用户,软件版本包可能出现损坏或者篡改的问题,以使用户检查软件版本的完整性。
示例性的,当确定从堡垒机接收到的软件版本包不完整时,中转服务器可向客户端发送提示信息,以使客户端的用户基于提示信息,重新发送软件版本包上传指令,以确保上传至版本服务器中的软件版本包是与用户上传的软件版本包一致。
在本发明实施例中,当确定从堡垒机端接收到的软件版本包不完整时,中转服务器还可向堡垒机发送版本包不完整提醒信息,以使堡垒机重新向中转服务器发送软件版本包,以确保上传至版本服务器中的软件版本包是与用户上传的软件版本包一致。
本发明实施例提供的技术方案,通过部署于隔离区的中转服务器接收堡垒机发送的软件版本包和第一校验码,以根据第一校验码对软件版本包进行完整性校验,当软件版本包完整时,将软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器,根据目标版本服务器的标识信息和第二相对存放路径,生成软件版本包的绝对存放路径,以根据绝对存放路径,将软件版本包上传至目标版本服务器,以使目标版本服务器存放软件版本包。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
实施例四
图4是本发明实施例四提供的一种软件版本包管理方法的流程示意图,本实施例在上述实施例的基础上进行进一步优化,具体的,将“根据所述第一校验,对所述软件版本包进行完整性校验”,优化为“根据所述软件版本包生成第三校验码;根据第一校验码和第三校验码,对所述软件版本包进行完整性校验”。如图4所示,该方法具体包括:
S401,接收堡垒机发送的软件版本包和第一校验码。
S402,根据所述软件版本包生成第三校验码。
为了方便校验获取到的软件版本包的完整性,本发明实施例在获取到堡垒机发送的软件版本包和第二校验码之后,还可基于软件版本包随机生成第三校验码。由此,基于生成的第三校验码可对软件版本包的完整性进行校验。
S403,根据第一校验码和第三校验码,对所述软件版本包进行完整性校验。
示例性的,本实施例可将生成的第三校验码与第一校验码进行比对,确定第三校验码和第一校验码是否相同。其中,若第三校验码和第一校验码相同,则说明获取到的软件版本包完整,没有出现损坏或篡改;若第三校验码和第一校验码不同,则说明获取到的软件版本包可能出现损坏或篡改等现象。
S404,若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器。
S405,根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
S406,若所述软件版本包不完整,则向所述客户端发送软件版本包不完整提示信息。
本发明实施例提供的技术方案,通过根据获取到的软件版本包生成第三校验码,以根据第三校验码对软件版本包的完整性进行校验,当确定软件版本包完整时,将软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器,并根据目标版本服务器的标识信息和软件版本上传指令中的第二相对存放路径,生成软件版本包的绝对存放路径,以根据绝对存放路径,将软件版本包和第一校验码上传至目标版本服务器,以使目标版本服务器存放软件版本包。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,提高了对上传的软件版本包检测的准确性和可靠性,提高了用户体验。
实施例五
图5是本发明实施例五提供的一种软件版本包管理方法的流程示意图。本发明实施例可适用于对用户上传软件版本包过程进行管理的场景,该方法可以由配置于客户端的软件版本管理装置来执行,该装置可以采用硬件和/或软件的方式实现。如图5所示,该方法具体包括如下:
S501,确定用户从预设相对存放路径中选择的第一相对存放路径。
其中,预设相对存放路径可以是根据版本服务器类型及软件目录生成的相对存放路径。
针对不同软件产品生成对应软件版本包之后,用户可将软件版本包通过客户端上传给版本服务器,以通过版本服务器将软件版本包推送给使用者。其中,将软件版本包上传给版本服务器时,用户可基于客户端实现。在本发明实施例中,用户是指技术人员。
具体的,为了确保软件版本包正确、有序且可靠的上传至版本服务器,本实施例可在客户端中配置预设相对存放路径,以使用户通过客户端上传软件版本时,可从预先相对存放路径中选择目标相对存放路径(第一相对存放路径),以为后续将软件版本包上传至版本服务器提供了有利条件。其中第一相对存放路径包括:目标物理子系统地址。
S502,根据所述用户上传的软件版本包,生成所述软件版本的第一校验码。
示例性的,获取到用户上传的软件版本包之后,可随机生成该软件版本包的第一校验码。其中,第一校验码可以是但不限于:MD5(消息摘要算法,Message DigestAlgorithm MD5),循环冗余校验码(Cyclic Redundancy Check,简称为CRC)等,此处对其不做具体限定。
需要说明的是,上述S501和S502的执行顺序,可以是先执行S501,再执行S502;或者,先执行502,再执行S501;或者,还可以是同时执行S501和S502,此处对其不做具体限定。
在本发明一个可选的实施例中,用户上传软件版本包时,还可同时上传该软件版本包的第一校验码。此处对其不做具体限定。
S503,根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机将软件版根据所述软件版本上传指令将软件版本包上传至版本服务器。
在本实施例中,堡垒机的数量可以为一个或多个。若堡垒机的数量为一个,则客户端直接将软件版本上传指令发送给该堡垒机;若堡垒机的数量为多个,则客户端可根据第三负载均衡策略,从多个堡垒机中选择目标堡垒机,并将软件版本上传指令发送给目标堡垒机。其中,根据第三负载均衡策略,选择目标堡垒机,可根据堡垒机当前处理业务数量、网络状态和业务处理速率等运行状态参数,选择运行状态最佳的一个堡垒机作为目标堡垒机。
通过将软件版本上传指令堡垒机,以使堡垒机根据软件版本上传指令,将软件版本包上传至版本服务器。
为了确保使用客户端向版本服务器上传软件版本包的用户身份的合法性,本发明实施例通过客户端向版本服务器上传软件版本包之前,首先需要用户在客户端显示登录界面中输入登录账号和登录密码,当客户端获取到用户输入的登录账号和登录密码后,可将登录账号和登录密码发送给校验服务器,以使校验服务器对用户身份进行审核。若校验服务器确认该用户的登录账号和登录密码校验失败,则向客户端反馈校验失败结果,以使用户重新登录;若校验服务器确定该用户的登录账号和登录密码在预设白名单中,则确定该用户身份合法,那么向客户端反馈验证成功信息,以使客户端根据校验服务器反馈的验证成功信息,将登录界面跳转至软件版本包上传界面,并接收用户基于该软件版本包上传界面上传的软件版本包。
客户端接收到用户上传的软件版本包之后,可随机生成该软件版本包的第一校验码,并确定用户从预设相对存放路径中选择的第一相对存放路径,以根据软件版本包、第一校验码和第一相对存储路径生成软件版本上传指令。之后,将该软件版本上传指令和AD证书发送给校验服务器,以使校验服务器保存软件版本上传指令中的软件版本包、第一校验码和第一相对存放路径。其中,如下表所示,客户端向校验服务器发送软件版本上传指令和AD证书:
表1:
Figure BDA0002533236030000131
Figure BDA0002533236030000141
在校验服务器保存软件版本包、第一校验码和第一相对存放路径之后,还可将AD证书发送给AD服务器,以使AD服务器对AD证书进行证书认证。如果认证成功,则向校验服务器反馈AD证书认证成功信息,以使校验服务器根据AD服务器反馈的信息,将保存的软件版本包、第一校验码和第一相对存储路径发送给堡垒机。如果认证失败,则向校验服务器反馈AD证书认证失败信息,以使校验服务器将该AD证书认证失败信息返回给客户端,使得用户根据客户端显示的AD证书认证失败信息重新执行上传软件版本包的操作。
其中,校验服务器将保存的软件版本包、第一校验码和第一相对存放路径发送给堡垒机时,可根据堡垒机数量执行不同的发送操作。具体的,若堡垒机的数量为一个,则将软件版本上传指令发送给该堡垒机;若堡垒机的数量为多个,则可根据第三负载均衡策略,从多个堡垒机中选择目标堡垒机,并将软件版本上传指令发送给目标堡垒机。其中,根据第三负载均衡策略,选择目标堡垒机,可根据堡垒机当前处理业务数量、网络状态和业务处理速率等运行状态参数,选择运行状态最佳的一个堡垒机作为目标堡垒机。
当堡垒机接收到校验服务器发送的软件版本包、第一校验码和第一相对存放路径之后,即可根据第一校验码,对接收到软件版本包进行完整性校验,并当软件版本包完整时,确定目标中转服务器。根据目标中转服务器的标识信息和第一相对存放路径,生成软件版本包的第二相对存放路径。然后,根据第一相对存放路径,将软件版本包和第一校验码发送给目标中转服务器,以指示目标中转服务器在校验软件版本包完整时,将软件版本包上传至版本服务器。
其中,当堡垒机或者目标中转服务器对软件版本包进行完整性校验后,还向可向客户端发送提示信息,以使该客户端的用户基于提示信息确定软件版本包是否发送成功。其中提示信息可为:发送成功提示信息或发送失败提示信息。若客户端确定提示信息为发送成功提示信息,则不做任何处理;若确定提示信息为发送失败提示,则重新执行发送软件版本包上传指令。其中,重新执行发送软件版本包上传指令时,还可对重发次数进行统计,以当重发次数达到预设重传次数(例如3次),则向用户发送该软件版本包上传失败次数已达今日上限,使得用户对软件版本进行重新检查并择天上传。这样可避免用户未对软件版本包进行仔细检查,而重复多次上传该软件版本包,增加了软件版本包上传流程中各功能服务器的处理负担。
本发明实施例提供的技术方案,通过部署于测试环境的客户端,确定用户从预设相对存放路径中选择的第一相对存放路径,并根据用户上传的软件版本包,生成该软件版本包的第一校验码,以根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
实施例六
下面通过一个具体实施例,对上述实施例软件版本包管理方法进行具体说明,具体参见图6。图6是本发明实施例六提供的一个具体实施例的客户端、堡垒机、中转服务器和版本服务器之间信令交互的示意图。
假设本实施例中,客户端为C,堡垒机为D;中转服务器为F个,分别为F1、F2、…Fn,则客户端、堡垒机和中转服务器之间的交互过程如下:需要说明的,本实施例中客户端和堡垒机数量可为一个或多个,此处以一个为例进行说明。
S601,客户端C向堡垒机D发送软件版本上传指令y1。
其中,软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径。
S602,堡垒机D随机生成软件版本包的第二校验码,如果第二校验码和第一校验码相同,则获取中转服务器F1、F2、…Fn中各中转服务器的运行状态信息。
其中,确定第二校验码和第一校验码相同,则说明从客户端处获取的软件版本包完整,未被损坏或篡改。
S603,堡垒机D根据第一负载均衡策略和各中转服务器的运行状态信息,从中转服务器F1、F2、…Fn中选择目标中转服务器F1。
S604,堡垒机D根据目标中转服务器F1的IP地址和端口号,和第一相对存放路径,生成第二相对存放路径。
S605,堡垒机D根据第一相对存放路径,向目标中转服务器F1发送软件版本包和第一校验码,以使目标中转服务器F1校验软件版本包的完整性。
S606,目标中转服务器F1接收到堡垒机D发送的软件版本包和第一校验码之后,可随机生成软件版本包的第三校验码,并当第三校验码与第一校验码相同,确定从堡垒机D处获取的软件版本包完整。
S607,目标中转服务器F1根据第二负载均衡策略,从版本服务器为G个,分别为:G1、G2、…Gn中选择目标版本服务器Gn。
S608,目标中转服务器F1根据目标版本服务器Gn的IP地址和端口号,和第二相对存放路径,生成绝对存放路径,并基于绝对存放路径,将软件版本包上传至目标版本服务器Gn,以使目标版本服务器Gn存放软件版本包。
本发明实施例提供的技术方案,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
实施例七
图7是本发明实施例七提供的一种软件版本包管理装置的结构示意图。该装置配置于堡垒机。如图7所示,本发明实施例软件版本包管理装置700包括:指令接收模块710、第一校验模块720、第一处理模块730和第一发送模块740。
其中,指令接收模块710,用于接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
第一校验模块720,用于根据所述第一校验码,对所述软件版本包进行完整性校验;
第一处理模块730,用于若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
第一发送模块740,用于根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
作为本发明实施例的一种可选的实现方式,所述第一校验模块720,包括:第一生成单元和第一校验单元;
其中,第一校验码生成单元,用于根据所述软件版本包生成第二校验码;
第一校验单元,用于根据第一校验码和第二校验码,对所述软件版本包进行完整性校验。
作为本发明实施例的一种可选的实现方式,第一校验单元,具体用于:
确定第一校验码和第二校验码是否相同;
若相同,则确定所述软件版本包完整;否则,确定所述软件版本包不完整。
作为本发明实施例的一种可选的实现方式,所述装置600,还包括:第一信息发送模块;
其中,第一信息发送模块,用于若所述软件版本包不完整,则向所述客户端发送第一提示信息。
作为本发明实施例的一种可选的实现方式,所述标识信息包括:目标中转服务器的IP地址和端口号。
作为本发明实施例的一种可选的实现方式,所述客户端位于所述测试环境中;所述中转服务器集群位于隔离区;所述版本服务器位于生产环境中。
需要说明的是,前述对软件版本包管理方法实施例的解释说明也适用于该实施例的软件版本包管理装置,其实现原理类似,此处不再赘述。
本发明实施例提供的技术方案,通过部署于测试环境的堡垒机接收客户端发送的软件版本上传指令,以根据软件版本上传指令中的第一校验码,对软件版本包进行完整性校验,当软件版本包完整时,根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据目标中转服务器的标识信息和第一相对存放路径,生成软件版本包的第二相对存放路径,以根据第二相对存放路径,将软件版本包和第一校验码发送给中转服务器,以使目标中转服务器对软件版本包进行完整性校验,并在软件版本包完整时将软件版本包发送给版本服务器。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
实施例八
图8是本发明实施例八提供的一种软件版本包管理装置的结构示意图。该装置配置于中转服务器。如图8所示,本发明实施例软件版本包管理装置800包括:信息接收模块810、第二校验模块820、第二处理模块830和第二发送模块840。
其中,信息接收模块810,用于接收堡垒机发送的软件版本包和第一校验码;
第二校验模块820,用于根据所述第一校验,对所述软件版本包进行完整性校验;
第二处理模块830,用于若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
第二发送模块840,用于根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
作为本发明实施例的一种可选的实现方式,所述第二校验模块820,包括:第二生成单元和第二校验单元;
其中,第二生成单元,用于根据所述软件版本包生成第三校验码;
第二校验单元,用于根据第一校验码和第三校验码,对所述软件版本包进行完整性校验。
作为本发明实施例的一种可选的实现方式,第二校验单元,具体用于:
确定第一校验码和第三校验码是否相同;
若相同,则确定所述软件版本包完整;否则,确定所述软件版本包不完整。
作为本发明实施例的一种可选的实现方式,第二处理模块830,具体用于:
将所述标识文件的第一后缀信息修改为第二后缀信息。
作为本发明实施例的一种可选的实现方式,所述标识信息包括:目标版本服务器的IP地址和端口号。
需要说明的是,前述对软件版本包管理方法实施例的解释说明也适用于该实施例的软件版本包管理装置,其实现原理类似,此处不再赘述。
本发明实施例提供的技术方案,通过部署于隔离区的中转服务器接收堡垒机发送的软件版本包和第一校验码,以根据第一校验码对软件版本包进行完整性校验,当软件版本包完整时,将软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器,根据目标版本服务器的标识信息和第二相对存放路径,生成软件版本包的绝对存放路径,以根据绝对存放路径,将软件版本包上传至目标版本服务器,以使目标版本服务器存放软件版本包。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,从而改善了用户使用体验。
实施例九
图9是本发明实施例九提供的一种软件版本包管理装置的结构示意图。该装置配置于客户端。如图9所示,本发明实施例软件版本包管理装置900包括:第一确定模块910、校验码生成模块920和指令发送模块930。
其中,第一确定模块910,用于确定用户从预设相对存放路径中选择的第一相对存放路径;
校验码生成模块920,用于根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
指令发送模块930,用于根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
作为本发明实施例的一种可选的实现方式,所述装置900,还包括:接收模块和第二确定模块;
其中,接收模块,用于接收堡垒机发送的第二提示信息;
第二确定模块,用于根据所述第二提示信息,确定所述软件版本包是否发送成功。
需要说明的是,前述对软件版本包管理方法实施例的解释说明也适用于该实施例的软件版本包管理装置,其实现原理类似,此处不再赘述。
本发明实施例提供的技术方案,通过根据获取到的软件版本包生成第三校验码,以根据第三校验码对软件版本包的完整性进行校验,当确定软件版本包完整时,将软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器,并根据目标版本服务器的标识信息和软件版本上传指令中的第二相对存放路径,生成软件版本包的绝对存放路径,以根据绝对存放路径,将软件版本包和第一校验码上传至目标版本服务器,以使目标版本服务器存放软件版本包。由此,通过提供一种对软件版本包上传管理的方案,以使软件版本包上传不出现混乱,提高了软件版本包上传的正确性、有序性和可靠性,并且通过对上传的软件版本包进行完整性校验,还可以避免软件版本包在上传过程中被恶意修改的风险,提高了对上传的软件版本包检测的准确性和可靠性,提高了用户体验。
实施例十
参见图10,本实施例提供了一种电子设备1000,其包括:一个或多个处理器1020;存储装置1010,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器1020执行,使得所述一个或多个处理器1020实现本发明实施例所提供的应用于堡垒机的软件版本包管理方法,包括:
接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
根据所述第一校验码,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
当然,本领域技术人员可以理解,处理器1020还可以实现本发明任意实施例所提供的应用于堡垒机的软件版本包管理方法的技术方案。
图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:一个或者多个处理器1020,存储装置1010,连接不同系统组件(包括存储装置1010和处理器1020)的总线1050。
总线1050表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备1000典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备1000访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置1010可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1011和/或高速缓存存储器1012。电子设备1000可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1013可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1050相连。存储装置1010可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块1015的程序/实用工具1014,可以存储在例如存储装置1010中,这样的程序模块1015包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1015通常执行本发明所描述的任意实施例中的功能和/或方法。
电子设备1000也可以与一个或多个外部设备1060(例如键盘、指向设备、显示器1070等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1030进行。并且,电子设备1000还可以通过网络适配器1040与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1040通过总线1050与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器1020通过运行存储在存储装置1010中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的应用于堡垒机的软件版本包管理方法。
本发明实施例还提供了另一电子设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用于中转服务器的软件版本包管理方法,包括:
接收堡垒机发送的软件版本包和第一校验码;
根据所述第一校验,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的应用于中转服务器的软件版本包管理方法的技术方案。该电子设备的硬件结构以及功能可参见实施例十的内容解释。
本发明实施例还提供了再一电子设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用于客户端的软件版本包管理方法,包括:
确定用户从预设相对存放路径中选择的第一相对存放路径;
根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的应用于客户端的软件版本包管理方法的技术方案。该电子设备的硬件结构以及功能可参见实施例十的内容解释。
实施例十一
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例应用于堡垒机的软件版本包管理方法,该方法包括:
接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
根据所述第一校验码,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
当然,本发明实施例所提供的一种计算机可读存储介质,其可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于堡垒机的软件版本包管理方法的技术方案。
本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例还提供了另一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所提供的应用于中转服务器的软件版本包管理方法,包括:
接收堡垒机发送的软件版本包和第一校验码;
根据所述第一校验,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
当然,本发明实施例所提供的一种计算机可读存储介质,其可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于中转服务器的软件版本包管理方法的技术方案。该计算机可读存储介质的硬件结构以及功能可参见实施例十一的内容解释。
本发明实施例还提供了再一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所提供的应用于客户端的软件版本包管理方法,包括:
确定用户从预设相对存放路径中选择的第一相对存放路径;
根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
当然,本发明实施例所提供的一种计算机可读存储介质,其可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于客户端的软件版本包管理方法的技术方案。该计算机可读存储介质的硬件结构以及功能可参见实施例十一的内容解释。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (18)

1.一种软件版本包管理方法,其特征在于,由部署于测试环境的堡垒机执行,所述方法包括:
接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
根据所述第一校验码,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一校验码,对所述软件版本包进行完整性校验,包括:
根据所述软件版本包生成第二校验码;
根据第一校验码和第二校验码,对所述软件版本包进行完整性校验。
3.根据权利要求2所述的方法,其特征在于,所述根据第一校验码和第二校验码,对所述软件版本包进行完整性校验,包括:
确定第一校验码和第二校验码是否相同;
若相同,则确定所述软件版本包完整;否则,确定所述软件版本包不完整。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一校验码,对所述软件版本包进行完整性校验之后,还包括:
若所述软件版本包不完整,则向所述客户端发送第一提示信息。
5.根据权利要求1所述的方法,其特征在于,所述标识信息包括:目标中转服务器的IP地址和端口号。
6.根据权利要求1所述的方法,其特征在于,所述客户端位于所述测试环境中;所述中转服务器集群位于隔离区;所述版本服务器位于生产环境中。
7.一种软件版本包管理方法,其特征在于,由部署于隔离区的中转服务器执行,所述方法包括:
接收堡垒机发送的软件版本包和第一校验码;
根据所述第一校验,对所述软件版本包进行完整性校验;
若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一校验,对所述软件版本包进行完整性校验,包括:
根据所述软件版本包生成第三校验码;
根据第一校验码和第三校验码,对所述软件版本包进行完整性校验。
9.根据权利要求8所述的方法,其特征在于,所述根据第一校验码和第三校验码,对所述软件版本包进行完整性校验,包括:
确定第一校验码和第三校验码是否相同;
若相同,则确定所述软件版本包完整;否则,确定所述软件版本包不完整。
10.根据权利要求7所述的方法,其特征在于,所述对软件版本包的标识文件的第一后缀信息进行修改,包括:
将所述标识文件的第一后缀信息修改为第二后缀信息。
11.根据权利要求7所述的方法,其特征在于,所述标识信息包括:目标版本服务器的IP地址和端口号。
12.一种软件版本包管理方法,其特征在于,由部署于测试环境的客户端执行,所述方法包括:
确定用户从预设相对存放路径中选择的第一相对存放路径;
根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
13.根据权利要求12所述的方法,其特征在于,所述方法,还包括:
接收堡垒机发送的第二提示信息;
根据所述第二提示信息,确定所述软件版本包是否发送成功。
14.一种软件版本包管理装置,其特征在于,配置于堡垒机,包括:
指令接收模块,用于接收客户端发送的软件版本上传指令,其中所述软件版本上传指令包括:软件版本包、第一校验码和第一相对存放路径;
第一校验模块,用于根据所述第一校验码,对所述软件版本包进行完整性校验;
第一处理模块,用于若所述软件版本包完整,则根据第一负载均衡策略,从中转服务器集群中选择目标中转服务器,并根据所述目标中转服务器的标识信息和所述第一相对存放路径,生成所述软件版本包的第二相对存放路径;
第一发送模块,用于根据所述第二相对存放路径,将所述软件版本包和所述第一校验码发送给所述目标中转服务器,以使所述目标中转服务器在校验所述软件版本包完整时,将所述软件版本包上传至版本服务器。
15.一种软件版本包管理装置,其特征在于,配置于中转服务器,包括:
信息接收模块,用于接收堡垒机发送的软件版本包和第一校验码;
第二校验模块,用于根据所述第一校验,对所述软件版本包进行完整性校验;
第二处理模块,用于若所述软件版本包完整,则对软件版本包标识文件的第一后缀信息进行修改,并根据第二负载均衡策略,从版本服务器集群中选择目标版本服务器;
第二发送模块,用于根据所述目标版本服务器的标识信息和所述第二相对存放路径,生成所述软件版本包的绝对存放路径,并根据所述绝对存放路径,将所述软件版本包上传至所述目标版本服务器,以使所述目标版本服务器存放所述软件版本包。
16.一种软件版本包管理装置,其特征在于,配置于客户端,包括:
第一确定模块,用于确定用户从预设相对存放路径中选择的第一相对存放路径;
校验码生成模块,用于根据所述用户上传的软件版本包,生成所述软件版本的第一校验码;
指令发送模块,用于根据所述软件版本包、所述第一校验码和所述第一相对存放路径,生成软件版本上传指令,并将所述软件版本上传指令发送给堡垒机,以指示所述堡垒机根据所述软件版本上传指令将软件版本包上传至版本服务器。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的软件版本包管理方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一所述的软件版本包管理方法。
CN202010524548.1A 2020-06-10 2020-06-10 软件版本包管理方法、装置、设备和介质 Pending CN111694598A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010524548.1A CN111694598A (zh) 2020-06-10 2020-06-10 软件版本包管理方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010524548.1A CN111694598A (zh) 2020-06-10 2020-06-10 软件版本包管理方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN111694598A true CN111694598A (zh) 2020-09-22

Family

ID=72480151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010524548.1A Pending CN111694598A (zh) 2020-06-10 2020-06-10 软件版本包管理方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN111694598A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268249A (zh) * 2021-06-09 2021-08-17 深圳市分秒网络科技有限公司 一种Android APK文件解析及自动配置的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445485A (zh) * 2016-03-28 2017-02-22 中国电力科学研究院 一种软件版本一致性检测系统及其检测方法
US20180343251A1 (en) * 2017-11-16 2018-11-29 Qingdao Hisense Electronics Co., Ltd. Processing method and apparatus for remote assistance
CN110443054A (zh) * 2019-08-07 2019-11-12 中国建设银行股份有限公司 一种在线传送数据文件的系统和方法
CN110489161A (zh) * 2019-08-22 2019-11-22 腾讯科技(深圳)有限公司 一种版本文件的管理方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445485A (zh) * 2016-03-28 2017-02-22 中国电力科学研究院 一种软件版本一致性检测系统及其检测方法
US20180343251A1 (en) * 2017-11-16 2018-11-29 Qingdao Hisense Electronics Co., Ltd. Processing method and apparatus for remote assistance
CN110443054A (zh) * 2019-08-07 2019-11-12 中国建设银行股份有限公司 一种在线传送数据文件的系统和方法
CN110489161A (zh) * 2019-08-22 2019-11-22 腾讯科技(深圳)有限公司 一种版本文件的管理方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
俞俊生: "《从云到终端提升移动流媒体性能技术研究》", vol. 1, 成都:电子科技大学出版社, pages: 74 - 77 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268249A (zh) * 2021-06-09 2021-08-17 深圳市分秒网络科技有限公司 一种Android APK文件解析及自动配置的方法

Similar Documents

Publication Publication Date Title
US20180232174A1 (en) Data Migration Between Cloud Storage Systems
US11657171B2 (en) Large network attached storage encryption
CN102067146B (zh) 安全的应用程序流式传输
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN109522363B (zh) 基于区块链的云平台同步方法、系统、设备及存储介质
US8826402B2 (en) Management of an instant message session
US20050267860A1 (en) Method of loading files from a client to a target server and device for implementing the method
CN111258725A (zh) 一种基于区块链的数据处理方法、装置、设备和介质
CN103259797B (zh) 数据文件传输方法及平台
CN105743610B (zh) 用于多网络分组操作的数据完整性的技术
CN109542781B (zh) 区块链共识算法测试方法、装置、计算装置和存储介质
CN112468511B (zh) 文件传输方法和装置
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
CN111314172A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN109213901A (zh) 一种区块链的数据同步方法、装置、设备及介质
US20160337210A1 (en) Method and system for trouble ticketing
CN113384896A (zh) 基于Unity的资源打包方法、装置、设备及介质
CN111694598A (zh) 软件版本包管理方法、装置、设备和介质
CN112738249B (zh) 基于量化交易的文件上传方法、装置、设备及存储介质
US10348705B1 (en) Autonomous communication protocol for large network attached storage
CN110968899B (zh) 一种基于区块链的数据分块确认方法、装置、设备和介质
JP4839364B2 (ja) 結合されたコマンドおよびデータ・コード
US20140059242A1 (en) Method and system of implementing data load protocols
CN115098301B (zh) 一种云原生场景下有状态应用的快照生成方法和系统
CN112995932B (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
TA01 Transfer of patent application right

Effective date of registration: 20220927

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.