CN117555579A - 基于Pyinstaller平台的软件构建更新方法及系统 - Google Patents

基于Pyinstaller平台的软件构建更新方法及系统 Download PDF

Info

Publication number
CN117555579A
CN117555579A CN202410041983.7A CN202410041983A CN117555579A CN 117555579 A CN117555579 A CN 117555579A CN 202410041983 A CN202410041983 A CN 202410041983A CN 117555579 A CN117555579 A CN 117555579A
Authority
CN
China
Prior art keywords
software
file
files
package
upgrading
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
CN202410041983.7A
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.)
Hangzhou Real Intelligence Technology Co ltd
Original Assignee
Hangzhou Real Intelligence 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 Hangzhou Real Intelligence Technology Co ltd filed Critical Hangzhou Real Intelligence Technology Co ltd
Priority to CN202410041983.7A priority Critical patent/CN117555579A/zh
Publication of CN117555579A publication Critical patent/CN117555579A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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)
  • Stored Programmes (AREA)

Abstract

本发明属于软件更新技术领域,具体涉及基于Pyinstaller平台的软件构建更新方法及系统。方法包括:S1,Pyinstaller平台执行打包脚本并开始打包;S2,打包完成后,生成软件根目录以及软件所需文件;S3,读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;S4,指定原版本生成升级包,并读取原版本摘要文件;S5,将写好的摘要文件与读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;S6,在原版本软件上运行升级程序并指定对应的升级包;S7,升级程序并加载升级包,根据升级包内容替换本地文件;S8,本地文件替换完成,即升级完成。

Description

基于Pyinstaller平台的软件构建更新方法及系统
技术领域
本发明属于软件更新技术领域,具体涉及基于Pyinstaller平台的软件构建更新方法及系统。
背景技术
PyInstaller 是一个用于将 Python 应用程序打包成可执行文件的工具,它允许将Python代码、依赖项和解释器打包成一个独立的可执行文件,使得Python应用程序可以在没有安装Python解释器的计算机上运行。
PyInstaller可以帮助 Python开发者将他们的应用程序打包为可执行文件,从而扩展了应用程序的分发和部署选项。它在未来可能会继续发展和改进,以适应不断变化的需求。
在Pyinstaller技术广泛应用的情况下,打包技术以及软件更新技术,也需要一定的进步。
然而,现有的软件更新方式,通常为两种
1.全量更新,对现有软件包进行覆盖,这种方式效率较低,有时候会发生文件冲突的问题难以解决。
2.增量更新,会存在多个版本共存的情况,有时需要修改软件包的时候,不容易判断哪一个才是当前使用中的版本。
结合全量打包技术,在实际操作的情况下,通常会因为一个很小的改动,需要进行大范围的文件更新操作,十分不便。
因此,设计一种能够大大提高软件更新的效率,降低更新系统开销的基于Pyinstaller平台的软件构建更新方法及系统,就显得十分重要。
发明内容
本发明是为了克服现有技术中,现有的软件更新方式,存在更新效率低下且升级过程产生的系统开销大的问题,提供了一种能够大大提高软件更新的效率,降低更新系统开销的基于Pyinstaller平台的软件构建更新方法及系统。
为了达到上述发明目的,本发明采用以下技术方案:
基于Pyinstaller平台的软件构建更新方法,包括如下步骤;
S1,Pyinstaller平台执行打包脚本并开始打包;
S2,打包完成后,生成软件根目录以及软件所需文件;
S3,读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;
S4,指定原版本生成升级包,并读取原版本摘要文件;
S5,将步骤S3中写好的摘要文件与步骤S4读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;
S6,在原版本软件上运行升级程序并指定对应的升级包;
S7,升级程序并加载升级包,根据升级包内容替换本地文件;
S8,本地文件替换完成,即升级完成。
作为优选,步骤S1中的打包,具体采用标准安装包打包过程,具体步骤如下:
S11,Pyinstaller平台启动打包程序;
S12,基于Python语言编译项目的源代码;
S13,根据编辑的项目源代码,复制系统库文件和静态文件;
S14,遍历系统库文件和静态文件的文件列表;
S15,对文件列表采用摘要算法生成摘要信息;
S16,将摘要信息保存到文件中,再将所述文件保存到软件目录;
S17,将软件目录打包为软件安装包。
作为优选,步骤S13中,所述系统库文件包括系统库中的so文件和dll文件。
作为优选,步骤S13中,所述静态文件包括项目中的静态资源。
作为优选,步骤S15中,所述摘要算法具体采用md5算法。
作为优选,步骤S17中所述的软件安装包,可用于直接提供给用户进行软件更新安装。
作为优选,步骤S5还包括如下步骤:
S51,遍历两个摘要文件内的摘要信息列表并进行比对,若文件在两个摘要文件内的信息一致,则认为对应文件无需更新,跳过并继续对比下一个文件;若文件在两个摘要文件内的信息不一致,则认为对应文件有更新,将对应文件添加到升级包中;
S52,全部文件比对完成后,获得所有的文件差异作为升级包提供给客户升级。
本发明还提供了基于Pyinstaller平台的软件构建更新系统包括;
标准安装包生成模块,用于通过Pyinstaller平台执行打包脚本并开始打包;打包完成后,生成软件根目录以及软件所需文件;读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;
增量升级包生成模块,用于指定原版本生成升级包,并读取原版本摘要文件;将标准安装包生成模块中写好的摘要文件与读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;
升级模块,用于在原版本软件上运行升级程序并指定对应的升级包,同时升级程序并加载升级包,根据升级包内容替换本地文件,完成升级。
本发明与现有技术相比,有益效果是:(1)本发明通过文件摘要算法(MD5)罗列出软件包内全部文件的摘要信息,再通过比对摘要信息,获取差异文件,将差异文件单独打包成软件增量升级包,能够大大降低软件升级包的体积,提高软件的升级速度,降低升级过程产生的系统开销,改进了现有方案的不足;(2)本发明提出了增量升级概念,避免一些体积较大的软件项目,因为升级产生的资源开销,不需要更新的文件,不做替换或者覆盖的操作,避免了大量的系统IO操作,只对匹配后需要升级的文件进行更新;(3)本发明在用户体验方面,增量升级包体积大大降低,用户也不再需要下载完整的软件包,降低了带宽流量的使用,并且降低了的软件更新的时间。
附图说明
图1为本发明中基于Pyinstaller平台的软件构建更新方法的一种流程图;
图2为本发明中基于Pyinstaller平台自定义打包脚本设计的标准安装包打包过程的一种流程图;
图3为本发明中增量升级包生成过程的一种流程图;
图4为本发明中实施例所提供的基于Pyinstaller平台的软件构建更新方法在实际应用的一种流程图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图1所示,本发明提供了基于Pyinstaller平台的软件构建更新方法,包括如下步骤;
1.Pyinstaller平台执行打包脚本并开始打包;
2.打包完成后,生成软件根目录以及软件所需文件;
3.读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;
4.指定原版本生成升级包,并读取原版本摘要文件;
5.将步骤3中写好的摘要文件与步骤4读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;
6.在原版本软件上运行升级程序并指定对应的升级包;
7.升级程序并加载升级包,根据升级包内容替换本地文件;
8.本地文件替换完成,即升级完成。
在更新方面,通过文件摘要实现的增量更新仅下载和安装与上一个版本的差异相关的部分。这大大减少了更新所需的带宽和下载时间。用户不再需要下载整个应用程序,而只需获取更新所需的数据,节省了时间和带宽资源。
在构建方面,文件摘要算法,是一种执行效率极高的算法,它不需要占用大量的系统资源。通过文件摘要列表,只需要进行简单的文本对比操作,即可省去大量的构建、复制、更新操作。
基于以上两点,整个步骤所需操作,都是非常基础且资源占用非常低的动作,共同形成一个系统开销极低的软件构建与更新的整个过程。
在热更新方面,由于PyInstaller的运行机制,实际需要运行的文件,会单独存放到一个临时运行目录,并不会占用软件安装目录的io读写。所以,基于此种方式的更新,只需要对将更新包,解压后,覆盖或新增到软件安装目录,同时发送信号通知软件重新加载即可完成热更新。
图2为本发明基于Pyinstaller的自定义打包脚本设计的一套标准安装包打包顺序,具体说明如下:
1.Pyinstaller平台启动打包程序;
2.基于Python语言编译项目的源代码;
3.根据编辑的项目源代码,复制系统库文件和静态文件;系统库文件包括系统库中的so文件和dll文件,静态文件包括项目中的静态资源;
4.遍历系统库文件和静态文件的文件列表;
5.对文件列表采用摘要算法生成摘要信息;摘要算法具体采用md5算法;
6.将摘要信息保存到文件中,再将所述文件保存到软件目录;
7.将软件目录打包为软件安装包。
打包脚本定义了一部分的md5算法生成摘要信息的步骤,生成标准安装包后,可以直接提供给用户。也可以利用文件摘要信息指定版本生成增量安装包,即可提供一个增量更新安装包。
步骤5中采用的摘要算法,也被称为哈希函数或散列函数,是一种将输入数据映射为固定长度摘要(哈希值)的算法。
摘要算法具有以下特点:
1.输入数据的微小变化会导致生成的摘要值完全不同,这称为雪崩效应。
2.摘要结果的长度是固定的,不受输入数据长度的影响。
3.对于不同的输入数据,生成的摘要值的概率分布是均匀的,即任意两个不同的输入数据产生相同摘要值的概率非常低。
本发明中采用的是MD5算法,属于摘要算法中的一种,md5不限制输入数据的长度,可以将目标文件映射出128位的2进制数据,再通过16进制换算,可以生成出一个长度为32的字符串。
例如:软件依赖jpype库,这个库会携带org.jpype.jar文件,这个文件的大小为101k,通过md5计算出的结果为55a2b9440ed9fb600c5806ce488aba89。
图3为基于图2的基础上生成增量安装包的生成流程,具体说明如下:
1.启动升级包的生成程序;
2.读取旧版本软件包中的摘要文件获取摘要信息;
3.遍历摘要信息列表,与新版本的标准安装包中的摘要文件进行对比;
4.如果摘要一致,则认为此文件无需更新,跳过继续对比下一个;
5.如果摘要不一致,则认为文件有更新,将文件添加到升级包中;
6.全部比对完成后,获得所有的文件差异作为增量安装包提供给客户升级。
传统软件升级更新的做法通常是提供一个新版本的安装包给用户进行覆盖安装完成升级,而增量安装包仅仅只需要覆盖有变更的部分文件。并且Pyinstaller的打包方式,需要冗余大量的系统库和静态资源文件。如果按照传统的方式进行升级,用户每次更新版本都需要下载一个庞大的安装包进行安装。采取本发明中的增量升级包进行升级,则可以大大减少网络带宽以及电脑IO的占用,在一些大型软件中带来的改进效果显著。
另外,本发明还提供了基于Pyinstaller平台的软件构建更新系统包括;
标准安装包生成模块,用于通过Pyinstaller平台执行打包脚本并开始打包;打包完成后,生成软件根目录以及软件所需文件;读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;
增量升级包生成模块,用于指定原版本生成升级包,并读取原版本摘要文件;将标准安装包生成模块中写好的摘要文件与读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;
升级模块,用于在原版本软件上运行升级程序并指定对应的升级包,同时升级程序并加载升级包,根据升级包内容替换本地文件,完成升级。
基于本发明的技术方案,以一个用户触发软件检查更新为例,其系统流程如图4所示,该示例不应局限本发明方案的使用场景:
假设某基于Pyinstaller打包的软件,共占用500mb磁盘空间,其中源代码编译的文件占其中的40%,200mb,系统库占30%,150mb,第三方依赖占用30%,150mb。
案例1:
(1)用户点击软件检查更新;
(2)客户端软件将本地的摘要文件发送至软件更新服务器;
(3)更新服务器通过比对摘要,仅有源码部分发生过变更,则将源码编译产生的文件打包到升级包内;其中具体的比对过程,就是比对md5的计算结果,在软件比对的过程中,会分别读取旧版本和新版本的摘要文件,并遍历文件内容,文件内容是每个文件的md5结果和文件名称;
例如:
简称旧版本摘要文件为摘要1,新版本摘要文件为摘要2;
摘要文件的格式大致如下:
文件名:org.jpype.jar;摘要:55a2b9440ed9fb600c5806ce488aba89;
遍历摘要2中的内容,获取文件名和摘要,再读取摘要1中相同文件名的摘要,如果没有获取到摘要,或者摘要内容不一致,则认为文件需要更新;
(4)假设为源码全部发生过变更,用户下载升级包,则最多只需要下载200mb左右;
(5)客户端获取到升级包,自动覆盖到本地安装目录完成升级。
案例2:
(1)用户点击软件检查更新;
(2)客户端软件将本地的摘要文件发送至软件更新服务器;
(3)在此次升级中,软件的某一个第三方依赖与源码均发生过变更;本实施例中的变更主要为两个方面:
1.依赖变更
依赖变更通常是因为软件依赖的版本发生了变化。例如,软件依赖jpype的版本为1.3.0,如果升级到1.4.0,那么org.jpype.jar的摘要就可能会发生变化,这时就需要更新这个文件。
2.源码变更
在软件升级的时候,源码变更是必不可少的,例如代码中的core.py文件有代码的更新,那么摘要也会发生变化,而app.py没有变化过,这时通过比对摘要,就可以得出发生过变化的源码文件,再进行更新。
(4)假设依赖部分有50%升级过,代码有50%升级过;取中间值,则为依赖部分的50%(75mb)+源码编译文件50%(100mb),升级包的大小大概为175mb;
(5)客户端获取到升级包,自动覆盖到本地安装目录完成升级。
基于以上两个实施例中的场景,通过本发明中的方案,仅仅需要下载差异部分的文件即可完成升级,一个软件的升级过程在大部分情况下,只需要下载的文件不到标准包中的一半,相比于传统方式的直接下载完整版本包,不仅节省了用户的网络占用,还减少了本地的IO操作。
本发明提出了一种基于Pyinstaller的低开销快速软件构建更新的方法,通过文件摘要算法(MD5)罗列出软件包内全部文件的摘要信息,再并且通过比对摘要信息,获取差异文件,将差异文件单独打包成软件增量升级包,能够大大降低软件升级包的体积,提高软件的升级速度,降低升级过程产生的系统开销,改进了现有方案的不足。
首先,本发明创造性提出了增量升级概念,避免一些体积较大的软件项目,因为升级产生的资源开销,不需要更新的文件,不做替换或者覆盖的操作,避免了大量的系统IO操作,只对匹配后需要升级的文件进行更新。
其次,在用户体验方面,增量升级包体积大大降低,用户也不再需要下载完整的软件包,降低了带宽流量的使用,并且降低了的软件更新的时间,如果软件项目本身体积比较大,这种方式带来的好处会更加明显。
综上,本发明具有提高用户体验、降低系统开销的特点。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

Claims (8)

1.基于Pyinstaller平台的软件构建更新方法,其特征在于,包括如下步骤;
S1,Pyinstaller平台执行打包脚本并开始打包;
S2,打包完成后,生成软件根目录以及软件所需文件;
S3,读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;
S4,指定原版本生成升级包,并读取原版本摘要文件;
S5,将步骤S3中写好的摘要文件与步骤S4读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;
S6,在原版本软件上运行升级程序并指定对应的升级包;
S7,升级程序并加载升级包,根据升级包内容替换本地文件;
S8,本地文件替换完成,即升级完成。
2.根据权利要求1所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,步骤S1中的打包,具体采用标准安装包打包过程,具体步骤如下:
S11,Pyinstaller平台启动打包程序;
S12,基于Python语言编译项目的源代码;
S13,根据编辑的项目源代码,复制系统库文件和静态文件;
S14,遍历系统库文件和静态文件的文件列表;
S15,对文件列表采用摘要算法生成摘要信息;
S16,将摘要信息保存到文件中,再将所述文件保存到软件目录;
S17,将软件目录打包为软件安装包。
3.根据权利要求2所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,步骤S13中,所述系统库文件包括系统库中的so文件和dll文件。
4.根据权利要求2所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,步骤S13中,所述静态文件包括项目中的静态资源。
5.根据权利要求2所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,步骤S15中,所述摘要算法具体采用md5算法。
6.根据权利要求2所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,步骤S17中所述的软件安装包,可用于直接提供给用户进行软件更新安装。
7.根据权利要求1所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,步骤S5还包括如下步骤:
S51,遍历两个摘要文件内的摘要信息列表并进行比对,若文件在两个摘要文件内的信息一致,则认为对应文件无需更新,跳过并继续对比下一个文件;若文件在两个摘要文件内的信息不一致,则认为对应文件有更新,将对应文件添加到升级包中;
S52,全部文件比对完成后,获得所有的文件差异作为升级包提供给客户升级。
8.基于Pyinstaller平台的软件构建更新系统,用于实现权利要求1-7任一项所述的基于Pyinstaller平台的软件构建更新方法,其特征在于,所述基于Pyinstaller平台的软件构建更新系统包括;
标准安装包生成模块,用于通过Pyinstaller平台执行打包脚本并开始打包;打包完成后,生成软件根目录以及软件所需文件;读取软件根目录下所有文件,并根据文件生成摘要,再以列表格式写入到摘要文件;
增量升级包生成模块,用于指定原版本生成升级包,并读取原版本摘要文件;将标准安装包生成模块中写好的摘要文件与读取的原版本摘要文件内容进行对比,得出发生变更的文件列表,并生成到新目录作为升级包;
升级模块,用于在原版本软件上运行升级程序并指定对应的升级包,同时升级程序并加载升级包,根据升级包内容替换本地文件,完成升级。
CN202410041983.7A 2024-01-11 2024-01-11 基于Pyinstaller平台的软件构建更新方法及系统 Pending CN117555579A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410041983.7A CN117555579A (zh) 2024-01-11 2024-01-11 基于Pyinstaller平台的软件构建更新方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410041983.7A CN117555579A (zh) 2024-01-11 2024-01-11 基于Pyinstaller平台的软件构建更新方法及系统

Publications (1)

Publication Number Publication Date
CN117555579A true CN117555579A (zh) 2024-02-13

Family

ID=89813280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410041983.7A Pending CN117555579A (zh) 2024-01-11 2024-01-11 基于Pyinstaller平台的软件构建更新方法及系统

Country Status (1)

Country Link
CN (1) CN117555579A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425125B1 (en) * 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
US20130055231A1 (en) * 2011-08-31 2013-02-28 Avaya Inc. System and method for incremental software installation
CN102955702A (zh) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
CN103955363A (zh) * 2014-04-08 2014-07-30 国云科技股份有限公司 一种程序升级安装包的制作方法
CN106909404A (zh) * 2015-12-22 2017-06-30 博雅网络游戏开发(深圳)有限公司 软件更新方法和系统
CN108173888A (zh) * 2016-12-06 2018-06-15 杭州海康威视数字技术股份有限公司 一种分布式系统的软件升级方法、装置及系统
US20180300120A1 (en) * 2015-10-20 2018-10-18 Gemalto Sa Method for updating a package
CN110830559A (zh) * 2019-10-24 2020-02-21 北京城市网邻信息技术有限公司 渠道包自动化批量处理方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425125B1 (en) * 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
CN102955702A (zh) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
US20130055231A1 (en) * 2011-08-31 2013-02-28 Avaya Inc. System and method for incremental software installation
CN103955363A (zh) * 2014-04-08 2014-07-30 国云科技股份有限公司 一种程序升级安装包的制作方法
US20180300120A1 (en) * 2015-10-20 2018-10-18 Gemalto Sa Method for updating a package
CN106909404A (zh) * 2015-12-22 2017-06-30 博雅网络游戏开发(深圳)有限公司 软件更新方法和系统
CN108173888A (zh) * 2016-12-06 2018-06-15 杭州海康威视数字技术股份有限公司 一种分布式系统的软件升级方法、装置及系统
CN110830559A (zh) * 2019-10-24 2020-02-21 北京城市网邻信息技术有限公司 渠道包自动化批量处理方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSDN文库: "Xshell免安装软件", pages 2, Retrieved from the Internet <URL:https://wenku.csdn.net/answer/114hic3kr.html> *
DONTLA: "python打包工具pyinstall使用教程(将.py以及python解释器和相关库打包可执行文件)", Retrieved from the Internet <URL:https://gitcode.csdn.net/65e6e97f1a836825ed787c0f.html> *
余俊;万乔乔;范志英;: "视频会议系统跨域分布式升级方法研究", 物联网技术, no. 02, 20 February 2020 (2020-02-20) *

Similar Documents

Publication Publication Date Title
US6151708A (en) Determining program update availability via set intersection over a sub-optical pathway
KR100952251B1 (ko) 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지
JP5208350B2 (ja) 自己記述型ソフトウェアイメージ更新コンポーネント
US7412700B2 (en) Product packaging and installation mechanism
US6748591B1 (en) Method, system, program, and data structures for loading programs into a runtime environment
US7814476B2 (en) Systems and methods for updating software
US7055146B1 (en) Method and system for dynamically inserting modifications for identified programs
US8555245B2 (en) Automated application generation method and system
US5734822A (en) Apparatus and method for preprocessing computer programs prior to transmission across a network
CN102118500B (zh) 移动终端开源操作系统基于软件包的在线自动更新方法
US20050055686A1 (en) Method and system for servicing software
US9411571B2 (en) Method and apparatus for deploying software as a service
CN106610853A (zh) 一种应用部署方法和装置
CN108762825B (zh) 动态库重载的实现方法及系统
EP2987079A1 (en) A system and method thereof for creating dynamically attachable and detachable binary files
CN112286504B (zh) 移动APP中基于ReactNative实现小程序开发并加载的方法
US20130042225A1 (en) Object Linking Based On A Determined Linker Order
US8806477B2 (en) Space efficient software package management
CN113204351B (zh) 一种嵌入式系统包管理方法及其使用方法
US20040153990A1 (en) Component self-description package method and operation method
US8719812B1 (en) Methods, systems, and computer readable media for dynamically modifying and utilizing a software package description for software installation
CN111984300B (zh) 代码复制方法及装置、电子设备和计算机可读存储介质
CN111683005B (zh) 一种物联网智能网关设备及其构建方法
CN113535254A (zh) 一种微服务的处理方法、部署方法和相关装置
CN117555579A (zh) 基于Pyinstaller平台的软件构建更新方法及系统

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