CN113377412A - 一种客户端软件增量更新的方法和系统 - Google Patents

一种客户端软件增量更新的方法和系统 Download PDF

Info

Publication number
CN113377412A
CN113377412A CN202110929528.7A CN202110929528A CN113377412A CN 113377412 A CN113377412 A CN 113377412A CN 202110929528 A CN202110929528 A CN 202110929528A CN 113377412 A CN113377412 A CN 113377412A
Authority
CN
China
Prior art keywords
component
updating
management
client
version
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.)
Granted
Application number
CN202110929528.7A
Other languages
English (en)
Other versions
CN113377412B (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.)
Huazhong University of Science and Technology
Original Assignee
Wuhan Zhongzhi Digital 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 Wuhan Zhongzhi Digital Technology Co ltd filed Critical Wuhan Zhongzhi Digital Technology Co ltd
Priority to CN202110929528.7A priority Critical patent/CN113377412B/zh
Publication of CN113377412A publication Critical patent/CN113377412A/zh
Application granted granted Critical
Publication of CN113377412B publication Critical patent/CN113377412B/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/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本实施例公开的一种客户端软件增量更新的方法,通过在客户端构建组件管理单元和组件更新管理单元,在服务器构建组件发布服务单元和组件更新管理服务单元,完成对软件增量更新。本发明在软件版本、界面布局以及扩展功能需求等方面更灵活,能更快速的响应客户需求。结合软件组件化和持续集成流程,每个组件可以实现独立开发和自动化的构建、测试和部署。区别于传统软件全量安装更新方式,该方法采用差分工具对比版本差异生成组件增量更新包进行增量更新,避免了传统打包耗时长、安装包体积大,下载以及覆盖安装耗时长等问题,提高软件迭代升级效率,并且仅更新组件的情况下可实现热插拔,在系统程序无需关闭的情况对组件进行更新,提升用户体验。

Description

一种客户端软件增量更新的方法和系统
技术领域
本发明涉及的是计算机技术领域,特别涉及 一种客户端软件增量更新的方法和系统。
背景技术
随着计算机技术的发展,系统软件的复杂性越来越高,大型软件也日渐成为人们维护的主要对象。然而一些大型软件的开发周期相当漫长,不同客户对系统的需求各异,定制化需求与业务的变更较为随机,导致系统在版本、界面、功能需求等方面的管理变得愈加繁杂,其中也可能存在重复开发、代码耦合度高、难以复用、难以维护和扩展等问题。在软件升级更新时,一个完整的安装包里面包含的文件多、数据量大,制作完整安装包的耗时长;在上传服务器或从服务器下载全量更新包时,存在网络流量消耗较多、占用网络带宽资源时间较长的问题;在执行全量更新包的安装升级时,存在覆盖安装耗时较长的问题,导致用户使用体验较差。在这种情况下,如何提高软件的可复用性、扩展性及更新效率成了软件设计和开发的考虑重点。本文提出了一种客户端软件增量更新的方法和系统,采用组件化开发机制对各个功能模块进行组件封装,复用性强,扩展性高,支持热插拔,实现灵活项目管理,快速响应客户需求。界面与业务逻辑分离实现系统布局与皮肤的灵活动态切换,提升用户体验。通过使用持续集成发布新的组件版本,减少重复性工作,实现高质量的快速迭代。通过在服务端采用差分工具对比版本差异生成增量更新包方式更新组件,提高软件迭代升级效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种客户端软件增量更新的方法和系统。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种客户端软件增量更新的方法,其特征在于,包括:
S100.对组件库进行封装;
S200.对组件框架进行设计,包含对客户端的组件管理单元、组件更新管理单元和服务端的组件发布服务单元、组件更新管理服务单元进行设计,其中,客户端组件管理单元负责组件的加载、卸载及组件间的通信管理,客户端组件更新管理单元负责组件的版本维护和更新管理;服务端的组件发布服务单元使用持续集成工具和流程按照设定的规则定时发布和更新组件版本,组件更新管理服务单元提供组件更新服务;
S300.组件发布服务单元使用持续集成工具构建和发布新的组件版本;
S400.客户端启动后在后台运行组件更新管理单元,组件更新管理单元连接服务端的组件更新管理服务单元,获取该用户能使用的组件信息;
S500.组件更新管理单元解析获取到的组件信息,与本地组件版本号进行比较,判断组件是否需要新增、删除或更新,如果需要更新,将需要更新的组件信息发送给组件更新管理服务单元;
S600.组件更新管理服务单元接收到组件更新请求后,根据客户端使用的各个组件版本信息,采用二进制差分算法计算版本差异生成组件二进制增量更新包;
S700.组件更新管理单元将组件的增量更新包下载到本地目录并解压;
S800.组件更新管理单元采用二进制差分合并算法,将当前组件文件与组件增量更新包合并生成新的组件文件;
S900.客户端组件管理单元重新计算本地组件的哈希值,并与服务器上的组件信息进行比较,如果组件文件哈希值一致则组件升级成功,否则,重新执行步骤S700;
S1000.组件增量更新后检测分析的异常次数超过设定的阈值,则执行组件的全量更新流程。
进一步地,步骤S100中,封装组件库采用动态链接库的形式进行封装,支持动态加载和卸载,重新加载组件可以无需关闭客户端软件。
进一步地,步骤S200中,客户端初始化时,加载客户端框架部分和初始化必须的组件,其余组件功能支持按需加载;服务端组件更新管理服务单元包括组件信息界面展示,组件版本管理,权限管理。
进一步地,步骤S300中,使用Jenkins作为持续集成工具构建和发布新的组件版本,实现组件版本的快速迭代。
进一步地,步骤S300中,组件发布服务单元工作的流程为:
301.为各个组件创建Jenkins Pipeline流水线项目,包括安装Jenkins插件,参数化设置,在源码管理中配置代码服务器下载路径及账户信息,配置构建触发器,配置构建环境,配置代码构建插件和自动化脚本,配置构建后操作等;
302.据设定的构建规则,Jenkins服务器自动向代码服务器拉取最新的组件代码;
303.采用编译工具自动编译组件代码,生成组件二进制文件;
304.构建完成,调用测试工具自动对组件接口进行单元测试;
305.测试通过后,将组件版本自动存档,发到生产服务器,Jenkins通过自动化脚本通知组件管理服务单元更新组件版本信息。
进一步地,步骤S400中,客户端采用HTTP/HTTPS协议访问组件更新管理服务单元,校验用户信息是否合法,查询该用户的角色和权限信息,从而得到该用户能使用的组件集合,将各组件信息返回给客户端,组件信息至少包括组件编号、组件名称和版本号信息。
进一步地,步骤S600中,采用二进制差分算法计算版本差异生成组件二进制增量更新包,其中,二进制差分算法采用BSDiff算法实现,具体方法为:采用快速后缀排序算法对旧的文件中的所有子字符串生成字典;比较旧的文件和新的文件,计算生成差异部分和附加部分;将差异部分和附加部分及相应的控制字利用压缩算法生成补丁包。
进一步地,步骤S800中,二进制差分合并算法采用BSPatch算法实现,下载组件的增量更新包,利用解压算法解压增量更新包,将增量更新包与旧的组件文件合并生成新的组件文件。
本发明还公开了一种客户端软件增量更新的系统,包括客户端和服务端,客户端包括组件管理单元和组件更新管理单元,服务端包括组件发布服务单元,组件更新管理服务单元;其中:
组件管理单元,用于完成组件的动态管理,包括组件动态检测、加载与卸载,组件的注册功能,组件通信管理包括组件与客户端主框架、组件之间的通信管理;
组件更新管理单元,用于完成组件的更新管理,包括组件信息的获取、版本更新判断、下载服务端的增量更新包、将旧文件和组件增量更新包合并生成新文件;
组件发布服务单元,用于使用持续集成工具和流程按照设定的规则自动编译、构建、测试、发布和更新组件版本,本发明使用Jenkins构建和生成新的组件版本;
组件更新管理服务单元,用于提供组件信息查询、权限管理、上传和下载服务。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开的一种客户端软件增量更新的方法和系统,在软件版本、界面布局以及扩展功能需求等方面更灵活,能更快速的响应客户需求。结合软件组件化和持续集成流程,每个组件可以实现独立开发和自动化的构建、测试和部署。区别于传统软件全量安装更新方式,该方法采用差分工具对比版本差异生成组件增量更新包进行增量更新,避免了传统打包耗时长、安装包体积大,下载以及覆盖安装耗时长等问题,提高软件迭代升级效率,并且仅更新组件的情况下可实现热插拔,在系统程序无需关闭的情况对组件进行更新,提升用户体验。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中,一种客户端软件增量更新的方法的流程图;
图2为本发明实施例1中,组件发布服务单元的工作流程图;
图3为本发明实施例2中,一种客户端软件增量更新的客户端与服务端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的问题,本发明实施例提供一种客户端软件增量更新的方法和系统。
实施例1
本实施例公开了一种客户端软件增量更新的方法,如图1,包括:
S100.对组件库进行封装;具体的,软件按业务功能进行组件划分并以动态链接库形式进行封装,各个组件支持动态加载和卸载;并且对组件库进行封装支持热插拔,即重新加载一个组件时无需关闭系统。
S200.对组件框架进行设计,包含对客户端的组件管理单元、组件更新管理单元和服务端的组件发布服务单元、组件更新管理服务单元进行设计,其中,客户端组件管理单元负责组件的加载、卸载及组件间的通信管理,客户端组件更新管理单元负责组件的版本维护和更新管理;服务端的组件发布服务单元使用持续集成工具和流程按照设定的规则定时发布和更新组件版本,组件更新管理服务单元提供组件更新服务。
具体的,在本实施例S200中,客户端的组件管理单元主要完成本地组件动态管理,包括组件加载、卸载、组件间的通信管理功能。客户端初始化时,仅加载客户端框架部分和必须的组件,其余组件功能支持按需加载,提高客户端软件启动速度。服务端组件更新管理服务单元包括组件信息管理,组件版本管理,权限管理。
S300.组件发布服务单元使用持续集成工具构建和发布新的组件版本;具体的,本发明使用Jenkins作为持续集成工具,Jenkins是一款开源的持续集成和持续交付软件,用于自动化各种任务,包括构建、测试和部署软件,Jenkins 是一个扩展性非常强的软件,其功能主要通过插件来扩展。
在本实施例的S300中,如图2,组件发布服务单元工作的流程为:
301.为各个组件创建Jenkins Pipeline流水线项目,包括安装Jenkins插件,参数化设置,在源码管理中配置代码服务器下载路径及账户信息,配置构建触发器,配置构建环境,配置代码构建插件和自动化脚本,配置构建后操作等;
302.据设定的构建规则,Jenkins服务器自动向代码服务器拉取最新的组件代码;
303.采用编译工具自动编译组件代码,生成组件二进制文件;
304.构建完成,调用测试工具自动对组件接口进行单元测试;
305.测试通过后,将组件版本自动存档,发到生产服务器,Jenkins通过自动化脚本通知组件管理服务单元更新组件版本信息。
上述步骤持续集成从检出代码、 编译构建、 运行测试、 结果记录、 测试统计等都是自动完成,无需人工干预,持续交付可供使用的版本,减少重复性工作。
S400.客户端启动后在后台运行组件更新管理单元,组件更新管理单元连接服务端的组件更新管理服务单元,获取该用户能使用的组件信息。
具体的,客户端客户端采用HTTP/HTTPS协议访问组件更新管理服务单元,校验用户信息是否合法,查询该用户的角色和权限信息,从而得到该用户能使用的组件集合,将各组件的版本信息返回给客户端,包括组件编号、组件名称和版本号等信息。
若服务器上针对组件发布了多个版本,选择版本号最高的版本作为客户端的可用升级版本。
S500.组件更新管理单元解析获取到的组件信息,与本地组件版本号进行比较,判断组件是否需要新增、删除或更新,如果需要更新,将需要更新的组件信息发送给组件更新管理服务单元。
S600.组件更新管理服务单元接收到组件更新请求后,根据客户端使用的各个组件版本信息,采用二进制差分算法计算版本差异生成组件二进制增量更新包。
具体的,二进制差分算法采用BSDiff算法实现,计算过程包括以下步骤:采用快速后缀排序算法对旧的文件中的所有子字符串生成一个字典;比较旧的文件和新的文件,计算生成差异部分和附加部分;将差异部分和附加部分及相应的控制字利用压缩算法生成补丁包。
S700.组件更新管理单元将组件的增量更新包下载到本地目录并解压;组件更新管理单元将组件的增量更新包下载到本地目录,不需要下载完整的安装包,可以很大程度的减少网络流量的消耗,缩减更新的时间,提高更新的效率,特别是随着软件体积的不断增大和版本发布的不断更迭,这种优势更加明显。增量更新包下载完成后,利用解压算法解压增量更新包。
S800.组件更新管理单元采用二进制差分合并算法,将当前组件文件与组件增量更新包合并生成新的组件文件;具体的,二进制差分合并算法采用BSPatch算法实现,下载组件的增量更新包,利用解压算法解压增量更新包,将增量更新包与旧的组件文件合并生成新的组件文件。
S900.客户端组件管理单元重新计算本地组件的哈希值,并与服务器上的组件信息进行比较,如果组件文件哈希值一致则组件升级成功,否则,重新执行步骤S700;在增量更新完毕后执行组件哈希值重新校验比对判断处理逻辑,可有效的避免在增量升级过程中,因网络异常导致组件增量更新包下载破损或缺失,又或者是组件增量更新包被第三方软件劫持篡改等等原因导致的更新文件异常。
S1000.组件增量更新后检测分析的异常次数超过设定的阈值,则执行组件的全量更新流程。通过客户端执行全量更新升级的逻辑,进一步的规避增量升级中的异常错误,使得组件的升级能够正常的执行。组件更新升级过程对用户不可见,用户仍可在主界面中进行操作,更新完成后,客户端的组件管理单元卸载旧的组件并加载新的组件。
在本实施例中,还提供一种客户端软件增量更新的系统,如图3,包括客户端与服务端,其中,系统的客户端201包括:
组件管理单元2011,主要完成本地组件动态管理和组件通信管理,组件动态管理包括组件动态加载、卸载、组件通信管理功能,组件通信管理包括组件与客户端软件、组件与组件之间的通信管理。
组件更新管理单元2012,主要负责组件的更新管理,包括组件信息的获取、版本更新判断、下载服务端的增量更新包、将旧文件和组件增量更新包合并生成新文件。
系统的服务器202包括:
组件发布服务单元2021,使用持续集成工具Jenkins发布新的组件版本。
组件更新管理服务单元2022,包括组件信息管理,组件版本管理,权限管理。组件信息包括组件编号、组件名称、版本号、版本大小、存放路径、版本描述、更新时间、更新人、文件哈希值等,存储于数据库中。组件版本管理包括版本上传、版本下载、版本更新与版本删除。权限管理即系统管理员在编辑角色权限时勾选方式指定角色能够使用的组件模块。
本实施例公开的一种客户端软件增量更新的方法和系统,在软件版本、界面布局以及扩展功能需求等方面更灵活,能更快速的响应客户需求。结合软件组件化和持续集成流程,每个组件可以实现独立开发和自动化的构建、测试和部署。区别于传统软件全量安装更新方式,该方法采用差分工具对比版本差异生成组件增量更新包进行增量更新,避免了传统打包耗时长、安装包体积大,下载以及覆盖安装耗时长等问题,提高软件迭代升级效率,并且仅更新组件的情况下可实现热插拔,在系统程序无需关闭的情况对组件进行更新,提升用户体验。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

Claims (9)

1.一种客户端软件增量更新的方法,其特征在于,包括:
S100.对组件库进行封装;
S200.对组件框架进行设计,包含对客户端的组件管理单元、组件更新管理单元和服务端的组件发布服务单元、组件更新管理服务单元进行设计,其中,客户端组件管理单元负责组件的加载、卸载及组件间的通信管理,客户端组件更新管理单元负责组件的版本维护和更新管理;服务端的组件发布服务单元使用持续集成工具和流程按照设定的规则定时发布和更新组件版本,组件更新管理服务单元提供组件更新服务;
S300.组件发布服务单元使用持续集成工具构建和发布新的组件版本;
S400.客户端启动后在后台运行组件更新管理单元,组件更新管理单元连接服务端的组件更新管理服务单元,获取该用户能使用的组件信息;
S500.组件更新管理单元解析获取到的组件信息,与本地组件版本号进行比较,判断组件是否需要新增、删除或更新,如果需要更新,将需要更新的组件信息发送给组件更新管理服务单元;
S600.组件更新管理服务单元接收到组件更新请求后,根据客户端使用的各个组件版本信息,采用二进制差分算法计算版本差异生成组件二进制增量更新包;
S700.组件更新管理单元将组件的增量更新包下载到本地目录并解压;
S800.组件更新管理单元采用二进制差分合并算法,将当前组件文件与组件增量更新包合并生成新的组件文件;
S900.客户端组件管理单元重新计算本地组件的哈希值,并与服务器上的组件信息进行比较,如果组件文件哈希值一致则组件升级成功,否则,重新执行步骤S700;
S1000.组件增量更新后检测分析的异常次数超过设定的阈值,则执行组件的全量更新流程。
2.如权利要求1所述一种客户端软件增量更新的方法,其特征在于,步骤S100中,封装组件库采用动态链接库的形式进行封装,支持动态加载和卸载,重新加载组件可以无需关闭客户端软件。
3.如权利要求1所述一种客户端软件增量更新的方法,其特征在于,步骤S200中,客户端初始化时,加载客户端框架部分和初始化必须的组件,其余组件功能支持按需加载;服务端组件更新管理服务单元包括组件信息界面展示,组件版本管理,权限管理。
4.如权利要求1所述一种客户端软件增量更新的方法,其特征在于,步骤S300中,使用Jenkins作为持续集成工具构建和发布新的组件版本,实现组件版本的快速迭代。
5.如权利要求4所述一种客户端软件增量更新的方法,其特征在于,步骤S300中,组件发布服务单元工作的流程为:
301.为各个组件创建Jenkins Pipeline流水线项目,包括安装Jenkins插件,参数化设置,在源码管理中配置代码服务器下载路径及账户信息,配置构建触发器,配置构建环境,配置代码构建插件和自动化脚本,配置构建后操作等;
302.据设定的构建规则,Jenkins服务器自动向代码服务器拉取最新的组件代码;
303.采用编译工具自动编译组件代码,生成组件二进制文件;
304.构建完成,调用测试工具自动对组件接口进行单元测试;
305.测试通过后,将组件版本自动存档,发到生产服务器,Jenkins通过自动化脚本通知组件管理服务单元更新组件版本信息。
6.如权利要求1所述一种客户端软件增量更新的方法,其特征在于,步骤S400中,客户端采用HTTP/HTTPS协议访问组件更新管理服务单元,校验用户信息是否合法,查询该用户的角色和权限信息,从而得到该用户能使用的组件集合,将各组件信息返回给客户端,组件信息至少包括组件编号、组件名称和版本号信息。
7.如权利要求1所述一种客户端软件增量更新的方法,其特征在于,步骤S600中,采用二进制差分算法计算版本差异生成组件二进制增量更新包,其中,二进制差分算法采用BSDiff算法实现,具体方法为:采用快速后缀排序算法对旧的文件中的所有子字符串生成字典;比较旧的文件和新的文件,计算生成差异部分和附加部分;将差异部分和附加部分及相应的控制字利用压缩算法生成补丁包。
8.如权利要求1所述一种客户端软件增量更新的方法,其特征在于,步骤S800中,二进制差分合并算法采用BSPatch算法实现,下载组件的增量更新包,利用解压算法解压增量更新包,将增量更新包与旧的组件文件合并生成新的组件文件。
9.一种客户端软件增量更新的系统,其特征在于,包括客户端和服务端,客户端包括组件管理单元和组件更新管理单元,服务端包括组件发布服务单元,组件更新管理服务单元;其中:
组件管理单元,用于完成组件的动态管理,包括组件动态检测、加载与卸载,组件的注册功能,组件通信管理包括组件与客户端主框架、组件之间的通信管理;
组件更新管理单元,用于完成组件的更新管理,包括组件信息的获取、版本更新判断、下载服务端的增量更新包、将旧文件和组件增量更新包合并生成新文件;
组件发布服务单元,用于使用持续集成工具和流程按照设定的规则自动编译、构建、测试、发布和更新组件版本,本发明使用Jenkins构建和生成新的组件版本;
组件更新管理服务单元,用于提供组件信息查询、权限管理、上传和下载服务。
CN202110929528.7A 2021-08-13 2021-08-13 一种客户端软件增量更新的方法和系统 Active CN113377412B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110929528.7A CN113377412B (zh) 2021-08-13 2021-08-13 一种客户端软件增量更新的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110929528.7A CN113377412B (zh) 2021-08-13 2021-08-13 一种客户端软件增量更新的方法和系统

Publications (2)

Publication Number Publication Date
CN113377412A true CN113377412A (zh) 2021-09-10
CN113377412B CN113377412B (zh) 2022-01-11

Family

ID=77577063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110929528.7A Active CN113377412B (zh) 2021-08-13 2021-08-13 一种客户端软件增量更新的方法和系统

Country Status (1)

Country Link
CN (1) CN113377412B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020321A (zh) * 2021-11-09 2022-02-08 江苏点石乐投科技有限公司 一种基于用户行为数据的智能应用界面制定系统和方法
CN114546534A (zh) * 2022-02-28 2022-05-27 百果园技术(新加坡)有限公司 一种应用页面启动方法、装置、设备及介质
US11928460B2 (en) 2022-04-20 2024-03-12 International Business Machines Corporation Dynamic update of a computer program in memory

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770375A (zh) * 2008-12-26 2010-07-07 新奥特(北京)视频技术有限公司 一种软件自动升级的实现方法、系统和装置
CN105487905A (zh) * 2015-11-27 2016-04-13 东软集团股份有限公司 一种混合应用的更新方法和装置
CN106330936A (zh) * 2016-08-31 2017-01-11 广州品唯软件有限公司 一种插件数据传输方法、客户端和服务端
CN108111331A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取方法、装置、存储介质、处理器及系统
CN109408382A (zh) * 2018-10-11 2019-03-01 网宿科技股份有限公司 一种持续集成方法和持续集成系统
US20190146771A1 (en) * 2017-11-16 2019-05-16 Qingdao Hisense Electronics Co., Ltd. Self-updating method and apparatus for remote assistance
US20190171550A1 (en) * 2016-08-09 2019-06-06 SeaLights Technologies LTD System and method for continuous testing and delivery of software
CN110347395A (zh) * 2018-04-03 2019-10-18 中移信息技术有限公司 基于云计算平台的软件发布方法及装置
CN111399810A (zh) * 2020-03-11 2020-07-10 杭州涂鸦信息技术有限公司 一种iOS应用程序动态组件化开发方法及其系统和设备
CN111708566A (zh) * 2020-06-10 2020-09-25 深圳云之家网络有限公司 软件增量更新方法、装置、系统及计算机可读存储介质
CN112148272A (zh) * 2020-09-25 2020-12-29 百度在线网络技术(北京)有限公司 工程组件化开发中配置共享的方法、装置、设备及介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770375A (zh) * 2008-12-26 2010-07-07 新奥特(北京)视频技术有限公司 一种软件自动升级的实现方法、系统和装置
CN105487905A (zh) * 2015-11-27 2016-04-13 东软集团股份有限公司 一种混合应用的更新方法和装置
US20190171550A1 (en) * 2016-08-09 2019-06-06 SeaLights Technologies LTD System and method for continuous testing and delivery of software
CN106330936A (zh) * 2016-08-31 2017-01-11 广州品唯软件有限公司 一种插件数据传输方法、客户端和服务端
CN108111331A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取方法、装置、存储介质、处理器及系统
US20190146771A1 (en) * 2017-11-16 2019-05-16 Qingdao Hisense Electronics Co., Ltd. Self-updating method and apparatus for remote assistance
CN110347395A (zh) * 2018-04-03 2019-10-18 中移信息技术有限公司 基于云计算平台的软件发布方法及装置
CN109408382A (zh) * 2018-10-11 2019-03-01 网宿科技股份有限公司 一种持续集成方法和持续集成系统
CN111399810A (zh) * 2020-03-11 2020-07-10 杭州涂鸦信息技术有限公司 一种iOS应用程序动态组件化开发方法及其系统和设备
CN111708566A (zh) * 2020-06-10 2020-09-25 深圳云之家网络有限公司 软件增量更新方法、装置、系统及计算机可读存储介质
CN112148272A (zh) * 2020-09-25 2020-12-29 百度在线网络技术(北京)有限公司 工程组件化开发中配置共享的方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TOM GREGORY: "Building a Spring Boot application in Jenkins (part 1 of microservice devops series)", 《HTTPS://TOMGREGORY.COM/BUILDING-A-SPRING-BOOT-APPLICATION-IN-JENKINS/》 *
绿茶点心: "持续集成jenkins工具介绍(一)", 《HTTPS://WWW.HUAWEICLOUD.COM/ARTICLES/6B7A934E8501CA3431EED6D8043A1D3D.HTML》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020321A (zh) * 2021-11-09 2022-02-08 江苏点石乐投科技有限公司 一种基于用户行为数据的智能应用界面制定系统和方法
CN114020321B (zh) * 2021-11-09 2023-08-18 江苏点石乐投科技有限公司 一种基于用户行为数据的智能应用界面制定系统和方法
CN114546534A (zh) * 2022-02-28 2022-05-27 百果园技术(新加坡)有限公司 一种应用页面启动方法、装置、设备及介质
CN114546534B (zh) * 2022-02-28 2023-11-24 百果园技术(新加坡)有限公司 一种应用页面启动方法、装置、设备及介质
US11928460B2 (en) 2022-04-20 2024-03-12 International Business Machines Corporation Dynamic update of a computer program in memory

Also Published As

Publication number Publication date
CN113377412B (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN113377412B (zh) 一种客户端软件增量更新的方法和系统
CA2601937C (en) Implementing data-compatibility-based version scheme
US11126426B2 (en) Method and system for implementing software changes using rolling upgrades with reduced downtime
US7716414B2 (en) Method for updating a mobile device using an update package obtained from a remote server
US7519964B1 (en) System and method for application deployment in a domain for a cluster
US8621419B2 (en) Automating the life cycle of a distributed computing application
US6151708A (en) Determining program update availability via set intersection over a sub-optical pathway
US7774435B2 (en) System and method for batch tuning intelligent devices
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
US20210124573A1 (en) Firmware upgrade method and apparatus, and terminal
US7984424B2 (en) Isolating declarative code to preserve customizations
EP1803313A1 (en) Method and system for controlling software version updates
CN109857423B (zh) 程序版本更新方法、装置、服务器及可读存储介质
CN111752637B (zh) 多服务巡检管理方法、装置、计算机设备及存储介质
US20110239207A1 (en) System, method and program product for identifying differences between sets of program container files
Roberts Enterprise continuous integration using binary dependencies
CN112612513A (zh) 消息中间件的升级方法、装置、计算机设备及存储介质
CN114756276A (zh) 一种基于基线的软件版本控制方法
CN112306530A (zh) 软件更新法、装置、电子设备和计算机可读介质
CN110795113A (zh) 一种Redis集群服务的安装方法、服务器和介质
CN113849181A (zh) 交叉编译工具链构建方法、装置、电子设备及存储介质
US20230333837A1 (en) Development system with automatic upgrade function and automatic upgrade method of development system
CN117492803B (zh) 一种智能门锁pcba软件升级方法及系统
CN117742764A (zh) 一种基板管理控制器的版本更新方法、装置、设备及介质
CN114020299A (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
TR01 Transfer of patent right

Effective date of registration: 20220223

Address after: 430074 Hubei Province, Wuhan city Hongshan District Luoyu Road No. 1037

Patentee after: HUAZHONG University OF SCIENCE AND TECHNOLOGY

Address before: 430074 No. 546, Luoyu Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: Wuhan Zhongzhi Digital Technology Co.,Ltd.

TR01 Transfer of patent right