CN111722872B - 一种可复用软件打包方法和装置 - Google Patents

一种可复用软件打包方法和装置 Download PDF

Info

Publication number
CN111722872B
CN111722872B CN202010570083.3A CN202010570083A CN111722872B CN 111722872 B CN111722872 B CN 111722872B CN 202010570083 A CN202010570083 A CN 202010570083A CN 111722872 B CN111722872 B CN 111722872B
Authority
CN
China
Prior art keywords
encrypted
corresponding table
execution script
file
package
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
CN202010570083.3A
Other languages
English (en)
Other versions
CN111722872A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010570083.3A priority Critical patent/CN111722872B/zh
Publication of CN111722872A publication Critical patent/CN111722872A/zh
Priority to US18/010,317 priority patent/US20230315403A1/en
Priority to PCT/CN2021/077644 priority patent/WO2021258759A1/zh
Application granted granted Critical
Publication of CN111722872B publication Critical patent/CN111722872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种可复用软件打包方法和装置,该方法包括:将原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;根据对应表中的元数据信息校验原始文件和执行脚本;加密执行脚本和对应表,将原始文件、加密的执行脚本、和加密的对应表封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;根据识别码校验并解压可复用软件包,获得原始文件、加密的执行脚本、和加密的对应表封包;解密执行脚本和对应表,并将原始文件和执行脚本上传到文件服务器,将对应表的元数据信息存储到数据服务器的对应表中,并更新对应表。本发明能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率。

Description

一种可复用软件打包方法和装置
技术领域
本发明涉及软件领域,更具体地,特别是指一种可复用软件打包方法和装置。
背景技术
随着科技发展,支撑起庞大数据量交互的服务器基本都需要通过运维软件平台管理。而多数运维平台在部署软件时,只能通过各个现场的运维人员手工添加软件和脚本去执行,一方面对运维人员的技术水平有着极高的要求,另一方面无法保证部署的质量和效率。少数运维平台内置了部分软件的部署,虽然能够满足少量安装需求,但软件及版本的单一且不支持灵活地导入导出,无法满足日常的运维需求。
针对现有技术中软件包部署安全性低、灵活性低、消耗人工的问题,目前尚无有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种可复用软件打包方法和装置,能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率。
基于上述目的,本发明实施例的第一方面提供了一种可复用软件打包方法,包括执行以下步骤:
由初始化模块获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,将原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;
由封包模块从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;
由封包模块加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;
由解包模块根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;
由解包模块解密加密的执行脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表。
在一些实施方式中,元数据信息包括原始文件和执行脚本的原始名称、加密名称、原始路径、隐藏路径、和消息摘要;对应表包括原始名称、加密名称、原始路径、隐藏路径、和消息摘要之间的一一对应关系;
根据对应表中的所述元数据信息校验原始文件和执行脚本包括:使用消息摘要校验原始文件和执行脚本的正确性。
在一些实施方式中,还包括:在基于原始文件、加密的执行脚本、和加密的对应表构成封包的同时,还为封包设置额外的二次加密;
添加基于运维平台和所述封包生成的识别码包括:基于运维平台和封包在二次加密后生成的封包元数据信息来确定识别码并添加到封包。
在一些实施方式中,将原始文件和执行脚本上传到文件服务器包括:使用POST命令将原始文件和执行脚本上传到文件服务器;将对应表的元数据信息存储到数据服务器的对应表中包括:使用POST命令将对应表的元数据信息存储到数据服务器的对应表。
在一些实施方式中,更新数据服务器的对应表包括:使用GET命令获取更新的元数据信息,并使用PUT命令根据更新的元数据信息来更新数据服务器的对应表。
本发明实施例的第二方面提供了一种可复用软件打包装置,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
由初始化模块获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,将原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;
由封包模块从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;
由封包模块加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;
由解包模块根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;
由解包模块解密加密的执行脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表。
在一些实施方式中,元数据信息包括原始文件和执行脚本的原始名称、加密名称、原始路径、隐藏路径、和消息摘要;对应表包括原始名称、加密名称、原始路径、隐藏路径、和消息摘要之间的一一对应关系;
根据对应表中的元数据信息校验原始文件和执行脚本包括:使用消息摘要校验原始文件和执行脚本的正确性。
在一些实施方式中,步骤还包括:在基于原始文件、加密的执行脚本、和加密的对应表构成封包的同时,还为封包设置额外的二次加密;
添加基于运维平台和所述封包生成的识别码包括:基于运维平台和封包在二次加密后生成的封包元数据信息来确定识别码并添加到封包。
在一些实施方式中,将原始文件和执行脚本上传到文件服务器包括:使用POST命令将原始文件和执行脚本上传到文件服务器;将对应表的元数据信息存储到数据服务器的对应表中包括:使用POST命令将对应表的元数据信息存储到数据服务器的对应表。
在一些实施方式中,更新数据服务器的对应表包括:使用GET命令获取更新的元数据信息,并使用PUT命令根据更新的元数据信息来更新数据服务器的对应表。
本发明具有以下有益技术效果:本发明实施例提供的可复用软件打包方法和装置,通过获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;解密加密的执行脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表的技术方案,能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的可复用软件打包方法的流程示意图;
图2为本发明提供的可复用软件打包装置的详细流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率的可复用软件打包方法的一个实施例。图1示出的是本发明提供的可复用软件打包方法的流程示意图。
所述的可复用软件打包方法,如图1所示,包括执行以下步骤:
步骤S101:由初始化模块获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,将原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;
步骤S103:由封包模块从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;
步骤S105:由封包模块加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;
步骤S107:由解包模块根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;
步骤S109:由解包模块解密加密的执行脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
在一些实施方式中,元数据信息包括原始文件和执行脚本的原始名称、加密名称、原始路径、隐藏路径、和消息摘要;对应表包括原始名称、加密名称、原始路径、隐藏路径、和消息摘要之间的一一对应关系;
根据对应表中的所述元数据信息校验原始文件和执行脚本包括:使用消息摘要校验原始文件和执行脚本的正确性。
在一些实施方式中,还包括:在基于原始文件、加密的执行脚本、和加密的对应表构成封包的同时,还为封包设置额外的二次加密;
添加基于运维平台和所述封包生成的识别码包括:基于运维平台和封包在二次加密后生成的封包元数据信息来确定识别码并添加到封包。
在一些实施方式中,将原始文件和执行脚本上传到文件服务器包括:使用POST命令将原始文件和执行脚本上传到文件服务器;将对应表的元数据信息存储到数据服务器的对应表中包括:使用POST命令将对应表的元数据信息存储到数据服务器的对应表。
在一些实施方式中,更新数据服务器的对应表包括:使用GET命令获取更新的元数据信息,并使用PUT命令根据更新的元数据信息来更新数据服务器的对应表。
根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本发明主要包含四部分:数据存储程序,初始化程序,包生成程序,包解析程序。
数据存储程序主要用于存储软件包生成之前的原始数据和包导入之后的数据。主要数据包括:原始文件、脚本、文件信息、存储路径。数据存储程序依托于数据库服务器和文件服务器,通过初始化程序、包生成程序、包解析程序交互,将数据接收存储到文件服务器和数据库服务器中,或者从文件服务器和数据库服务器中读取数据。对外提供GET、POST、PUT、DELETE四种操作方式,用来获取、上传、更新、删除数据。数据存储程序会自动对原始文件名称进行加密,并隐藏原始文件和脚本的实际存储路径。
初始化程序,生成可复用软件包之前,将需要安装的原始文件及脚本上传,通过与数据存储程序交互,自动导入到文件服务器和数据库服务器中,完成初始化。
包生成程序,初始化完成后,同时启动软件包生成,将上传的原始文件及脚本,从数据存储程序获取,打包加密并添加运维平台的识别码后,生成只允许当前运维平台使用的可复用软件包。
包解析程序,用于解析生成的可复用软件包,使用者将可复用软件包通过当前程序导入,若识别可复用软件无损坏,则将可复用软件包解密解压并调用数据存储程序,将文件及脚本信息存储到文件及数据库服务器中。
下面根据图2所示的具体实施例进一步阐述本发明的具体实施方式。
阶段一:初始化原始数据
①将待安装的原始文件及编写好的执行脚本存放到操作系统固定目录。
②启动初始化程序,扫描①中设定的目录,获取目录下文件列表及文件信息。
③初始化程序通过数据存储程序的POST操作,将文件名称及文件路径发送给数据存储程序,开始原始文件上传。
④数据存储程序POST完成后,原始文件与脚本成功保存到文件服务器,文件名称大小信息及存储路径存入数据服务器中,同时生成原始文件名称与数据存储程序加密后名称及隐藏后路径的对应表,并通知初始化程序上传完成。对应表如下:
对应关系1 原始文件名 加密后名称 原始路径 隐藏后路径 Md5值
对应关系2 脚本文件名 加密后名称 原始路径 隐藏后路径 Md5值
⑤初始化程序接受到上传完成的通知后,将文件列表信息发送包生成程序,告知原始数据已初始化完成。
阶段二:生成可复用软件包
⑥包生成程序接收到初始化程序的文件列表信息,通过数据存储程序的GET操作获取名称加密后的待打包文件、脚本及对应表信息。
⑦数据存储程序GET操作完成后,包生成程序通过md5sum命令校验下载完成文件的md5值与对应表一致。
⑧包生成程序根据对应表信息,将脚本中的原始文件名称替换为加密后的文件名称,若脚本中包含路径则一同替换。
⑨包生成程序对脚本文件内容进行加密,同时删除原脚本文件。加密命令:openssl enc-des-e-a-k password-in filename-out filename.des,password为自定义密码,filename为数据存储程序加密后的脚本文件名称。
⑩包生成程序将⑥中获取的对应表信息保存为文本,并对对应表文件内容进行加密,加密过程同⑨,并将文件重命名为table,同时删除原对应表文件。
Figure GDA0003148641520000081
包生成程序将⑥中下载的待打包文件、⑨⑩中加密脚本和对应表文件打包、压缩并加密,打包命令:tar-zcvf-dirname|openssl des3-salt-k password|dd of=dirname.des3,password为自定义密码,dirname为文件目录。
Figure GDA0003148641520000082
包生成程序对
Figure GDA0003148641520000083
中生成的加密压缩包进行重命令,名称分为三部分:软件名、版本号、识别码,中间以特殊符号分割,以下划线“_”为例,则最终名称示例为:mysql_5.6_74512,
识别码即为限定只有当前运维平台可用,又可作为文件未损坏的标识,识别码生成方法如下:
设识别码为fs
运维平台英文名称字母个数为n,其每个字母对应的字母表顺序为x1,x2,…,xn
Figure GDA0003148641520000091
操作中生成的文件大小字节数为w1
则可得到识别码:
Figure GDA0003148641520000092
文件名称长度受限,识别码限制为m位时,则识别码从fs最后截取m位。
Figure GDA0003148641520000093
重命名完成后,删除⑥中获取的文件,可复用软件包生成完成。
阶段三:解析可复用软件包
Figure GDA0003148641520000094
Figure GDA0003148641520000095
中生成的可复用软件包存放到操作系统的固定目录。
Figure GDA0003148641520000096
启动包解析程序,扫描
Figure GDA0003148641520000097
中设定的目录,获取可复用软件包的名称及文件大小字节数w2,识别码限制为m位时,对应截取最后m位。
Figure GDA0003148641520000098
从包名称中得到识别码,依照
Figure GDA0003148641520000099
中的算法,得到
Figure GDA00031486415200000910
值,判断w1=w2
Figure GDA00031486415200000911
解压可复用软件包,解压命令:dd if=filename|openssl des3-d-kpassword|tar zxvf-,password为自定义密码,filename为可复用软件包名称。
Figure GDA00031486415200000912
扫描目录,找到table文件,解密对应表文件内容,并删除加密文件,解密命令:openssl enc-des-d-a-k password-in filename-out desname,password为自定义密码,filename为待解密文件名称,desname为生成目标文件名称。
Figure GDA0003148641520000101
读取对应表文件信息,获取脚本文件名称,执行
Figure GDA0003148641520000102
中的解密命令,解密脚本文件内容,并删除加密文件,所有脚本文件解密完成后,删除当前目录的可复用软件包。
Figure GDA0003148641520000103
包解析程序重新扫描设定的目录,通过数据存储程序的POST操作,将安装文件、脚本、对应表上传。接收到上传完成通知后,通过GET操作获取最新的加密后文件名和隐藏后路径,通过PUT操作更新对应表。更新完成后,包解析完成。
从上述实施例可以看出,本发明实施例提供的可复用软件打包方法,通过获取并扫描待安装的原始文件和待执行的执行脚本生成元数据信息,原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;解密执行加密的脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表的技术方案,能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率。
需要特别指出的是,上述可复用软件打包方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于可复用软件打包方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率的可复用软件打包装置的一个实施例。可复用软件打包装置包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
由初始化模块获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,将原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;
由封包模块从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;
由封包模块加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;
由解包模块根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;
由解包模块解密加密的执行脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表。
在一些实施方式中,元数据信息包括原始文件和执行脚本的原始名称、加密名称、原始路径、隐藏路径、和消息摘要;对应表包括原始名称、加密名称、原始路径、隐藏路径、和消息摘要之间的一一对应关系;
根据对应表中的元数据信息校验原始文件和执行脚本包括:使用消息摘要校验原始文件和执行脚本的正确性。
在一些实施方式中,步骤还包括:在基于原始文件、加密的执行脚本、和加密的对应表构成封包的同时,还为封包设置额外的二次加密;
添加基于运维平台和所述封包生成的识别码包括:基于运维平台和封包在二次加密后生成的封包元数据信息来确定识别码并添加到封包。
在一些实施方式中,将原始文件和执行脚本上传到文件服务器包括:使用POST命令将原始文件和执行脚本上传到文件服务器;将对应表的元数据信息存储到数据服务器的对应表中包括:使用POST命令将对应表的元数据信息存储到数据服务器的对应表。
在一些实施方式中,更新数据服务器的对应表包括:使用GET命令获取更新的元数据信息,并使用PUT命令根据更新的元数据信息来更新数据服务器的对应表。
从上述实施例可以看出,本发明实施例提供的可复用软件打包装置,通过获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,原始文件和执行脚本上传到文件服务器,并将元数据信息存储到数据服务器的对应表中;从文件服务器获取原始文件和执行脚本、从数据服务器获取对应表,并根据对应表中的元数据信息校验原始文件和执行脚本;加密执行脚本和对应表,基于原始文件、加密的执行脚本、和加密的对应表构成封包,并添加基于运维平台和封包生成的识别码以生成可复用软件包;根据识别码校验并解压可复用软件包,获得基于原始文件、加密的执行脚本、和加密的对应表构成的封包;解密加密的执行脚本和加密的对应表,并将原始文件和执行脚本上传到文件服务器,将进行加密和解密后的对应表的元数据信息存储到数据服务器的对应表中,并更新数据服务器的对应表的技术方案,能够保证可复用软件包安全专用,降低人员要求,提升软件部署效果和运行维护效率。
需要特别指出的是,上述可复用软件打包装置的实施例采用了所述可复用软件打包方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述可复用软件打包方法的其他实施例中。当然,由于所述可复用软件打包方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述可复用软件打包装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种可复用软件打包方法,其特征在于,包括执行以下步骤:
由初始化模块获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,将所述原始文件和所述执行脚本上传到文件服务器,并将所述元数据信息存储到数据服务器的对应表中;
由封包模块从所述文件服务器获取所述原始文件和所述执行脚本、从数据服务器获取所述对应表,并根据所述对应表中的所述元数据信息校验所述原始文件和所述执行脚本;
由所述封包模块加密所述执行脚本和所述对应表,基于所述原始文件、加密的所述执行脚本、和加密的所述对应表构成封包,并添加基于运维平台和所述封包生成的识别码以生成可复用软件包;
由解包模块根据所述识别码校验并解压所述可复用软件包,获得基于所述原始文件、加密的所述执行脚本、和加密的所述对应表构成的所述封包;
由所述解包模块解密加密的所述执行脚本和加密的所述对应表,并将所述原始文件和所述执行脚本上传到所述文件服务器,将进行加密和解密后的所述对应表的所述元数据信息存储到数据服务器的所述对应表中,并更新数据服务器的所述对应表。
2.根据权利要求1所述的方法,其特征在于,所述元数据信息包括所述原始文件和所述执行脚本的原始名称、加密名称、原始路径、隐藏路径、和消息摘要;所述对应表包括所述原始名称、所述加密名称、所述原始路径、所述隐藏路径、和所述消息摘要之间的一一对应关系;
根据所述对应表中的所述元数据信息校验所述原始文件和所述执行脚本包括:使用所述消息摘要校验所述原始文件和所述执行脚本的正确性。
3.根据权利要求1所述的方法,其特征在于,还包括:在基于所述原始文件、加密的所述执行脚本、和加密的所述对应表构成封包的同时,还为所述封包设置额外的二次加密;
添加基于运维平台和所述封包生成的识别码包括:基于运维平台和所述封包在二次加密后生成的封包元数据信息来确定所述识别码并添加到所述封包。
4.根据权利要求1所述的方法,其特征在于,将所述原始文件和所述执行脚本上传到所述文件服务器包括:使用POST命令将所述原始文件和所述执行脚本上传到所述文件服务器;
将所述对应表的所述元数据信息存储到数据服务器的所述对应表中包括:使用POST命令将所述对应表的所述元数据信息存储到数据服务器的所述对应表。
5.根据权利要求1所述的方法,其特征在于,更新数据服务器的所述对应表包括:使用GET命令获取更新的所述元数据信息,并使用PUT命令根据更新的所述元数据信息来更新数据服务器的所述对应表。
6.一种可复用软件打包装置,其特征在于,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时执行以下步骤:
由初始化模块获取并扫描待安装的原始文件和待执行的执行脚本以生成元数据信息,将所述原始文件和所述执行脚本上传到文件服务器,并将所述元数据信息存储到数据服务器的对应表中;
由封包模块从所述文件服务器获取所述原始文件和所述执行脚本、从数据服务器获取所述对应表,并根据所述对应表中的所述元数据信息校验所述原始文件和所述执行脚本;
由所述封包模块加密所述执行脚本和所述对应表,基于所述原始文件、加密的所述执行脚本、和加密的所述对应表构成封包,并添加基于运维平台和所述封包生成的识别码以生成可复用软件包;
由解包模块根据所述识别码校验并解压所述可复用软件包,获得基于所述原始文件、加密的所述执行脚本、和加密的所述对应表构成的所述封包;
由所述解包模块解密加密的所述执行脚本和加密的所述对应表,并将所述原始文件和所述执行脚本上传到所述文件服务器,将进行加密和解密后的所述对应表的所述元数据信息存储到数据服务器的所述对应表中,并更新数据服务器的所述对应表。
7.根据权利要求6所述的装置,其特征在于,所述元数据信息包括所述原始文件和所述执行脚本的原始名称、加密名称、原始路径、隐藏路径、和消息摘要;所述对应表包括所述原始名称、所述加密名称、所述原始路径、所述隐藏路径、和所述消息摘要之间的一一对应关系;
根据所述对应表中的所述元数据信息校验所述原始文件和所述执行脚本包括:使用所述消息摘要校验所述原始文件和所述执行脚本的正确性。
8.根据权利要求6所述的装置,其特征在于,所述步骤还包括:在基于所述原始文件、加密的所述执行脚本、和加密的所述对应表构成封包的同时,还为所述封包设置额外的二次加密;
添加基于运维平台和所述封包生成的识别码包括:基于运维平台和所述封包在二次加密后生成的封包元数据信息来确定所述识别码并添加到所述封包。
9.根据权利要求6所述的装置,其特征在于,将所述原始文件和所述执行脚本上传到所述文件服务器包括:使用POST命令将所述原始文件和所述执行脚本上传到所述文件服务器;
将所述对应表的所述元数据信息存储到数据服务器的所述对应表中包括:使用POST命令将所述对应表的所述元数据信息存储到数据服务器的所述对应表。
10.根据权利要求6所述的装置,其特征在于,更新数据服务器的所述对应表包括:使用GET命令获取更新的所述元数据信息,并使用PUT命令根据更新的所述元数据信息来更新数据服务器的所述对应表。
CN202010570083.3A 2020-06-21 2020-06-21 一种可复用软件打包方法和装置 Active CN111722872B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010570083.3A CN111722872B (zh) 2020-06-21 2020-06-21 一种可复用软件打包方法和装置
US18/010,317 US20230315403A1 (en) 2020-06-21 2021-02-24 Reusable software packaging method and device
PCT/CN2021/077644 WO2021258759A1 (zh) 2020-06-21 2021-02-24 一种可复用软件打包方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010570083.3A CN111722872B (zh) 2020-06-21 2020-06-21 一种可复用软件打包方法和装置

Publications (2)

Publication Number Publication Date
CN111722872A CN111722872A (zh) 2020-09-29
CN111722872B true CN111722872B (zh) 2021-08-13

Family

ID=72569677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010570083.3A Active CN111722872B (zh) 2020-06-21 2020-06-21 一种可复用软件打包方法和装置

Country Status (3)

Country Link
US (1) US20230315403A1 (zh)
CN (1) CN111722872B (zh)
WO (1) WO2021258759A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722872B (zh) * 2020-06-21 2021-08-13 苏州浪潮智能科技有限公司 一种可复用软件打包方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
CN101901160A (zh) * 2010-08-11 2010-12-01 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN104407856A (zh) * 2014-11-10 2015-03-11 北京国双科技有限公司 软件工具开发包文件的打包方法和装置
CN107908931A (zh) * 2017-11-16 2018-04-13 四川长虹电器股份有限公司 数字电视软件混合校验加密方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019234671B2 (en) * 2018-03-12 2021-08-05 Twilio Inc. Customizable cloud-based software platform
CN111722872B (zh) * 2020-06-21 2021-08-13 苏州浪潮智能科技有限公司 一种可复用软件打包方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
CN101901160A (zh) * 2010-08-11 2010-12-01 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN104407856A (zh) * 2014-11-10 2015-03-11 北京国双科技有限公司 软件工具开发包文件的打包方法和装置
CN107908931A (zh) * 2017-11-16 2018-04-13 四川长虹电器股份有限公司 数字电视软件混合校验加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Packaging Reusable Software Assets》;Danna Voth;《IEEE Software》;20040802;第21卷(第3期);第107、108、110页 *
《Reusable Ada avionics software packages library system》;James S. Williamson等;《Proceedings of the IEEE 1992 National Aerospace and Electronics Conference@m_NAECON 1992》;20020806;第598-602页 *

Also Published As

Publication number Publication date
US20230315403A1 (en) 2023-10-05
WO2021258759A1 (zh) 2021-12-30
CN111722872A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
US10778441B2 (en) Redactable document signatures
CN111475824B (zh) 数据访问方法、装置、设备和存储介质
CN103765429B (zh) 数字签名机构相关的平台秘密
KR20130030771A (ko) 펌웨어 오버­디­에어 기술에 기초하여 펌웨어를 프로세싱하기 위한 방법, 장치 및 시스템
JP6392446B2 (ja) クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム
CN105468990A (zh) 一种敏感信息的管理控制方法和装置
CN104516755A (zh) 安装包生成方法和装置
CN112115429B (zh) 一种Java类加密、解密方法及计算机可读存储介质
CN107291485B (zh) 动态链接库的加固方法、运行方法、加固装置和安全系统
CN111428271A (zh) 一种区块链云存储用户数据安全解决方法
KR20200143197A (ko) 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
CN104573527A (zh) 一种基于更新安全机制的uefi系统更新方法
CN109657497B (zh) 安全文件系统及其方法
CN111680067A (zh) 基于区块链的数据处理方法、装置及系统
CN111722872B (zh) 一种可复用软件打包方法和装置
JP6545932B2 (ja) エンタープライズ・システムにおけるソフトウェアの展開
WO2017197869A1 (zh) 版本文件校验方法及装置、加密方法及装置和存储介质
CN112632536B (zh) 基于pe文件改造的内存加载方法
CN112311528A (zh) 一种基于国密算法的数据安全传输方法
CN111291001A (zh) 计算机文件的读取方法、装置、计算机系统及存储介质
CN105978849A (zh) 客户端的更新方法、系统及客户端与服务器
CN107992319B (zh) 补丁数据更新方法及装置
KR20110101317A (ko) 데이터 자동 암복호화 방법 및 장치
CN111522555B (zh) apk文件的加固方法、解密方法及相关装置
CN116235174A (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
GR01 Patent grant
GR01 Patent grant