一种基于ARM服务器的软件更新方法和系统

阅读: 评论:0

著录项
  • CN202211394544.1
  • 20221108
  • CN115658114A
  • 20230131
  • 厦门简算科技有限公司
  • 杨雪;邹玮琦;翁宇成
  • G06F8/65
  • G06F8/65 G06F8/71

  • 福建省厦门市湖里区枋湖西二路1号215室之二十
  • 福建(35)
  • 福州科扬专利事务所(普通合伙)
  • 涂家英
摘要
本发明公开了一种基于ARM服务器的软件更新方法和系统,包括申请设备发送请求接入源设备的连接验证请求;源设备解析连接验证信息,若连接请求通过验证,则源设备与申请设备建立持续通信准备;源设备接收申请设备的更新请求,向申请设备传输源设备软件信息;申请设备将源设备软件信息与自身软件信息进行对比,得出更新名单,将更新名单传输至源设备;源设备解析更新名单中软件的类型;源设备根据类型,选择相应的更新方式,将更新文件传输至申请设备;申请设备接收软件更新文件,完成软件更新;若出现异常,启动检索程序,当检索成功时,完成灰度的退回;当检索失败时,检索程序报出异常,提高了软件更新的效率,贴合用户对灰度更新的需求。
权利要求

1.一种基于ARM服务器的软件更新方法,其特征在于,包括以下步骤:

S1:在Linux环境下运行分布式版本控制系统,所述分布式版本控制系统包含差分文件和源设备,申请设备发送请求接入所述源设备的连接验证请求;

S2:所述源设备解析连接验证信息,验证连接请求是否通过,若连接请求通过验证,则源设备与所述申请设备建立持续通信准备;若连接请求没有通过验证,则源设备不与所述申请设备建立通信准备;

S3:所述源设备接收申请设备的更新请求,向申请设备传输源设备软件信息;

S4:所述申请设备接收所述源设备软件信息,将源设备软件信息与申请设备软件信息进行对比,判断是否需要更新软件;

S5:所述申请设备反馈需更新的软件名单,即更新名单,将所述更新名单传输至源设备;

S6:所述源设备接收更新名单,解析所述更新名单中软件的类型;

S7:所述源设备根据更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备;

S8:所述申请设备接收软件更新文件,若更新过程无异常,完成软件更新;若更新过程出现异常,所述分布式版本控制系统启动检索程序,当检索更新数据成功时,所述申请设备可根据所述差分文件的记录撤销对应的增量完成灰度的退回,完成检索,软件更新结束;当检索更新数据失败时,所述检索程序报出异常,结束检索,软件更新终止。

2.根据权利要求1所述的一种基于ARM服务器的软件更新方法,其特征在于,所述步骤S8若更新过程出现异常,所述分布式版本控制系统启动检索程序,具体为:

S81:检索更新记录,若成功检索到更新数据,所述分布式版本控制系统启动回退程序,根据差分文件的记录撤销对应的增量对所述申请设备进行操作回退;若检索数据失败,则按异常处理,所述分布式版本控制系统报出异常,检索完成;

S82:所述回退程序对所述申请设备进行操作回退后,进行配置的回退;

S83:所述回退程序对已恢复的配置,即恢复配置,进行软件上的回退;

S84:所述回退程序进行软件上的回退后,获得已恢复的配置,即恢复配置,实现灰度的退回,回退完成,退出回退程序,软件更新结束。

3.根据权利要求1所述的一种基于ARM服务器的软件更新方法,其特征在于,在所述步骤S6中,所述源设备接收更新名单,解析所述更新名单中软件的类型,软件的类型进一步包括:未更新软件、灰度更新软件、已更新软件。

4.根据权利要求1所述的一种基于ARM服务器的软件更新方法,其特征在于,在所述步骤S7中,所述源设备根据更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备中,所述软件更新方式进一步包括:主动更新、被动更新、空闲更新。

5.一种基于ARM服务器的软件更新系统,其特征在于,包括:申请设备、源设备、差分文件模块、分类识别模块、检索模块、回退模块,并被配置为执行以下步骤:

S51:所述申请设备发送请求接入所述源设备的连接验证请求;

S52:所述源设备解析连接验证信息,验证连接请求是否通过,若连接请求通过验证,则源设备与所述申请设备建立持续通信准备;若连接请求没有通过验证,则源设备不与所述申请设备建立通信准备;

S53:所述源设备接收申请设备的更新请求,向申请设备传输源设备软件信息;

S54:所述申请设备接收所述源设备软件信息,将源设备软件信息与申请设备软件信息进行对比,判断是否需要更新软件;

S55:所述申请设备反馈需更新的软件名单,即更新名单,将所述更新名单传输至源设备;

S56:所述源设备接收更新名单,所述分类识别模块解析所述更新名单中软件的类型;

S57:所述源设备根据所述分类识别模块解析的更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备;

S58:所述申请设备接收软件更新文件,若更新过程无异常,完成软件更新;若更新过程出现异常,所述检索模块启动检索程序,当检索更新数据成功时,所述回退模块根据所述差分文件的记录撤销对应的增量完成灰度的退回;当检索更新数据失败时,所述检索模块报出异常,结束检索,软件更新终止。

6.根据权利要求5所述的一种基于ARM服务器的软件更新系统,其特征在于,所述更新过程出现异常,所述检索模块启动检索程序,具体为:

检索更新记录,若成功检索到数据,所述回退模块根据差分文件的记录撤销对应的增量对所述申请设备进行操作回退;若检索数据失败,则按异常处理,所述检索模块报出异常,检索完成;

所述回退模块对所述申请设备进行操作回退后,进行配置的回退;

所述回退模块对已恢复的配置,即恢复配置,进行软件上的回退;

所述回退模块进行软件上的回退后,获得已恢复的配置,即恢复配置,实现灰度的退回,回退完成,退出回退程序,软件更新结束。

7.根据权利要求5所述的一种基于ARM服务器的软件更新系统,其特征在于,所述源设备接收更新名单,后所述分类识别模块解析所述更新名单中软件的类型,所述分类识别模块中将软件类型设定为未更新软件、灰度更新软件、已更新软件。

8.根据权利要求5所述的一种基于ARM服务器的软件更新系统,其特征在于,所述源设备根据所述分类识别模块解析的更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备中,所述软件更新方式进一步包括为主动更新,被动更新,空闲更新。

说明书
技术领域

本发明属于软件更新技术领域,特别涉及软件更新一种基于ARM服务器的软件更新方法和系统。

在当前的手机APP应用行业中,游戏体验向着沉浸式体验和高运算力发展,但手机耗电快易发烫,APP程序易卡顿闪退,原手机处理器的运算能力满足不了高运算量的场景,由于画面更新响应不足导致操作不精确等问题都会出现,影响用户操作体验,于是基于云服务器提供运算能力的安卓模拟器应运而生。安卓模拟器是能在个人计算机/平板/手机等终端运行并模拟安卓系统的模拟器,并能安装、使用、卸载安卓应用的软件,利用安卓模拟器,用户即使没有高性能的手机硬件设备,也能在模拟器中使用移动应用程序。

而随着安卓软件的迭代更新,模拟器中的软件也需为适应其发展进行软件更新升级。在现有技术中多数模拟器通过启动“安卓调试桥”以进行文件传输来实现系统应用的更新,这样的更新方式在指令的转义与模拟上需消耗一定时间,且对应的传输服务也占用了一定的空间,从而出现软件的更新效率较低的问题。

对于更新后的软件,常有用户因适应度较低、与自身习惯不契合等原因,取消软件升级,回到原先的版本,但过程冗长,操作繁杂,给用户带去许多不便。

本发明提供一种基于ARM服务器的软件更新方法和系统,旨在解决现有技术中多数模拟器通过启动“安卓调试桥”以进行文件传输来实现系统应用的更新,这样的更新方式在指令的转义与模拟上需消耗一定时间,且对应的传输服务也占用了一定的空间,从而出现软件的更新效率较低;以及对于更新后的软件,常有用户因适应度较低、与自身习惯不契合等原因,取消软件升级,回到原先的版本,但过程冗长,操作繁杂,给用户带去许多不便的问题。

为解决上述技术问题,本发明提供如下技术方案:

一种基于ARM服务器的软件更新方法,包括以下步骤:

S1:在Linux环境下运行分布式版本控制系统,所述分布式版本控制系统包含差分文件和源设备,申请设备发送请求接入所述源设备的连接验证请求;

S2:所述源设备解析连接验证信息,验证连接请求是否通过,若连接请求通过验证,则源设备与所述申请设备建立持续通信准备;若连接请求没有通过验证,则源设备不与所述申请设备建立通信准备;

S3:所述源设备接收申请设备的更新请求,向申请设备传输源设备软件信息;

S4:所述申请设备接收所述源设备软件信息,将源设备软件信息与申请设备软件信息进行对比,判断是否需要更新软件;

S5:所述申请设备反馈需更新的软件名单,即更新名单,将所述更新名单传输至源设备;

S6:所述源设备接收更新名单,解析所述更新名单中软件的类型;

S7:所述源设备根据更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备;

S8:所述申请设备接收软件更新文件,若更新过程无异常,完成软件更新;若更新过程出现异常,所述分布式版本控制系统启动检索程序,当检索更新数据成功时,所述申请设备可根据所述差分文件的记录撤销对应的增量完成灰度的退回,完成检索,软件更新结束;当检索更新数据失败时,所述检索程序报出异常,结束检索,软件更新终止;其中,差分文件是描述同名软件在不同版本中差异的文件,记录了历史上对文件存在的操作。

优选地,所述步骤S8若更新过程出现异常,所述分布式版本控制系统启动检索程序,具体为:

S81:检索更新记录,若成功检索到更新数据,所述分布式版本控制系统启动回退程序,根据差分文件的记录撤销对应的增量对所述申请设备进行操作回退;若检索数据失败,则按异常处理,所述分布式版本控制系统报出异常,检索完成;

S82:所述回退程序对所述申请设备进行操作回退后,进行配置的回退;

S83:所述回退程序对已恢复的配置,即恢复配置,进行软件上的回退;

S84:所述回退程序进行软件上的回退后,获得已恢复的配置,即恢复配置,实现灰度的退回,回退完成,退出回退程序,软件更新结束。

优选地,在所述步骤S6中,所述源设备接收更新名单,解析所述更新名单中软件的类型,软件的类型进一步包括:未更新软件、灰度更新软件、已更新软件;

例如,存在不同的版本A、B,且A的版本高于B;

若应用版本为B,则该应用为未更新软件;

若应用版本为A,则该应用为已更新软件;

若应用版本不明确为A或者为B,且当作B使用,则该应用为灰度更新软件。

优选地,在所述步骤S7中,所述源设备根据更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备中,所述软件更新方式进一步包括:主动更新、被动更新、空闲更新;

主动更新:服务端主动将应用更新推送到设备中而进行更新的方式;

被动更新:服务端在接收到客户请求更新或者应用触发了更新条件而进行更新的方式;

空闲更新:无业务或者未产生有效业务的应用对更新无执行动作的方式。

一种基于ARM服务器的软件更新系统,包括:申请设备、源设备、差分文件模块、分类识别模块、检索模块、回退模块,并被配置为执行以下步骤:

S51:所述申请设备发送请求接入所述源设备的连接验证请求;

S52:所述源设备解析连接验证信息,验证连接请求是否通过,若连接请求通过验证,则源设备与所述申请设备建立持续通信准备;若连接请求没有通过验证,则源设备不与所述申请设备建立通信准备;

S53:所述源设备接收申请设备的更新请求,向申请设备传输源设备软件信息;

S54:所述申请设备接收所述源设备软件信息,将源设备软件信息与申请设备软件信息进行对比,判断是否需要更新软件;

S55:所述申请设备反馈需更新的软件名单,即更新名单,将所述更新名单传输至源设备;

S56:所述源设备接收更新名单,所述分类识别模块解析所述更新名单中软件的类型;

S57:所述源设备根据所述分类识别模块解析的更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备;

S58:所述申请设备接收软件更新文件,若更新过程无异常,完成软件更新;若更新过程出现异常,所述检索模块启动检索程序,当检索更新数据成功时,所述回退模块根据所述差分文件的记录撤销对应的增量完成灰度的退回;当检索更新数据失败时,所述检索模块报出异常,结束检索,软件更新终止。

优选地,所述更新过程出现异常,所述检索模块启动检索程序,具体为:

检索更新记录,若成功检索到数据,所述回退模块根据差分文件的记录撤销对应的增量对所述申请设备进行操作回退;若检索数据失败,则按异常处理,所述检索模块报出异常,检索完成;

所述回退模块对所述申请设备进行操作回退后,进行配置的回退;

所述回退模块对已恢复的配置,即恢复配置,进行软件上的回退;

所述回退模块进行软件上的回退后,获得已恢复的配置,即恢复配置,实现灰度的退回,回退完成,退出回退程序,软件更新结束。

优选地,所述源设备接收更新名单,后所述分类识别模块解析所述更新名单中软件的类型,所述分类识别模块中将软件类型设定为未更新软件、灰度更新软件、已更新软件。

优选地,所述源设备根据所述分类识别模块解析的更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备中,所述软件更新方式进一步包括为主动更新,被动更新,空闲更新。

与现有技术相比,本发明具有以下技术效果:

1.本发明所述的一种基于ARM服务器的软件更新方法和系统,其通过在Linux环境下运行模拟器,并在模拟器外部启用Linux文件系统,即分布式版本控制系统,对软件文件进行修改更新。在分布式版本控制系统的源设备中记载存放了各软件各个版本的文件信息,当应用进行更新时设备可以从模板文件中获取更新的资源通过系统级别文件复制的方法直接获取到免安装的文件从而完成安装,减少资源的占用,缩短时间的消耗,提高了软件更新的效率。

2.本发明所述的一种基于ARM服务器的软件更新方法和系统,其源设备接收更新名单后,可解析更新名单中软件的类型,软件的类型包括未更新软件,灰度更新软件,已更新软件三种,对软件进行精确分类,便于后续对软件的升级方式的选择,使该更新过程更为符合软件自身情况,进一步满足用户需求。

3.本发明所述的一种基于ARM服务器的软件更新方法和系统,其源设备根据更新名单中软件的类型,选择相应的软件更新方式,将相应的软件更新文件传输至申请设备中,软件更新方式进一步包括为主动更新、被动更新、空闲更新;高贴合度的更新方式,使用户能够及时接触到最新版本的软件,更新后的软件在一定程度上提高用户的体验感。

4.本发明所述的一种基于ARM服务器的软件更新方法和系统,其解决了对于更新后的软件,常有用户因适应度较低、与自身习惯不契合等原因,取消软件升级,回到原先的版本,但过程冗长,操作繁杂,给用户带去许多不便的问题;采用灰度更新这一技术,因版本的不同,同时部署两套或多套服务组件,逐渐的将访问流量从旧版本切换到新版本上,如果在流量转移的过程中遇到了任何问题,可随时回滚,保证整个系统可以持续提供服务。

5.本发明所述的一种基于ARM服务器的软件更新方法和系统,其中软件更新系统的申请设备、源设备、差分文件模块、分类识别模块、检索模块、回退模块共同作用,实现软件更新效率的提高,贴合用户对灰度更新的需求。

6.本发明所述的一种基于ARM服务器的软件更新方法和系统,其分类识别模块对软件进行精确分类,对软件进行精确升级,增加用户的体验感。

7.本发明所述的一种基于ARM服务器的软件更新方法和系统,其检索模块和回退模块结合,通过检索模块搜寻数据,在检索到数据后,通过回退模块实现差分文件的记录撤销对应的增量对所述申请设备进行操作回退,给用户更多选择,贴合用户使用体验,在新旧版本之间随意切换,时长短,效率快。

图1是本发明所述的一种基于ARM服务器的软件更新方法的流程示意图;

图2是本发明所述的一种基于ARM服务器的软件更新方法中,申请设备向源设备请求连入更新的流程示意图;

图3是本发明所述的一种基于ARM服务器的软件更新方法和系统中,灰度退回的流程示意图。

为使本发明的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例,并参照附图,对本发明技术方案进行清楚、完整地描述。

一种基于ARM服务器的软件更新方法,包括以下步骤:

S1:在Linux环境下运行分布式版本控制系统,所述分布式版本控制系统包含差分文件和源设备,申请设备发送请求接入所述源设备的连接验证请求。

所述差分文件是分布式版本控制系统中描述同名软件在不同版本中差异的文件,记录了历史上对文件存在的操作。

所述源设备是分布式版本控制系统中接收更新申请以及验证信息的设备。

所述申请设备存储着用户当下使用的软件,即可由分类识别模块进行分类识别为未更新软件、灰度更新软件、已更新软件的软件。

S2:所述源设备解析连接验证信息,验证连接请求是否通过,若连接请求通过验证,则源设备与所述申请设备建立持续通信准备;若连接请求没有通过验证,则源设备不与所述申请设备建立通信准备。

S3:所述源设备接收申请设备的更新请求,向申请设备传输源设备软件信息。

S4:所述申请设备接收所述源设备软件信息,将源设备软件信息与申请设备软件信息进行对比,判断是否需要更新软件。

S5:所述申请设备反馈需更新的软件名单,即更新名单,将所述更新名单传输至源设备。

S6:所述源设备接收更新名单,解析所述更新名单中软件的类型。

S7:所述源设备根据更新名单中软件的类型,选择对应的软件更新方式,将对应的软件更新文件传输至申请设备,在分布式版本控制系统的源设备中记载存放了各软件各个版本的文件信息,当应用进行更新时设备可以从模板文件中获取更新的资源通过系统级别文件复制的方法直接获取到免安装的文件从而完成安装,减少资源的占用,缩短时间的消耗,提高了软件更新的效率。

S8:所述申请设备接收软件更新文件,若更新过程无异常,完成软件更新;若更新过程出现异常,所述分布式版本控制系统启动检索程序,当检索更新数据成功时,所述申请设备可根据所述差分文件的记录撤销对应的增量完成灰度的退回,完成检索,软件更新结束;当检索更新数据失败时,所述检索程序报出异常,结束检索,软件更新终止。

所述步骤S8若更新过程出现异常,所述分布式控制系统启动检索程序,具体为:

检索更新记录,若成功检索到数据,所述分布式控制系统启动回退程序,根据差分文件的记录撤销对应的增量对所述申请设备进行操作回退;若检索数据失败,则按异常处理,所述分布式控制系统报出异常,检索完成。

所述回退程序对所述申请设备进行操作回退后,进行配置的回退。

所述回退程序对已恢复的配置,即恢复配置,进行软件上的回退。

所述回退程序进行软件上的回退后,获得已恢复的配置,即恢复配置,实现灰度的退回,回退完成,退出回退程序,软件更新结束。其解决了对于更新后的软件,常有用户因适应度较低、与自身习惯不契合等原因,取消软件升级,回到原先的版本,但过程冗长,操作繁杂,给用户带去许多不便的问题。

采用灰度更新这一技术,因版本的不同,同时部署两套或多套服务组件,逐渐的将访问流量从旧版本切换到新版本上,如果在流量转移的过程中遇到了任何问题,可随时回滚,保证整个系统可以持续提供服务。

所述步骤S6所述源设备接收更新名单,后解析所述更新名单中软件的类型中,软件的类型进一步包括未更新软件,灰度更新软件,已更新软件,对软件进行精确分类,便于后续对软件的升级方式的选择,使该更新过程更为符合软件自身情况,进一步满足用户需求。

所述步骤S7所述源设备根据更新名单中软件的类型,选择对应的软件更新方式,将对应的软件更新文件传输至申请设备中,所述软件更新方式进一步包括为主动更新,被动更新,空闲更新,高贴合度的更新方式,使用户能够及时接触到最新版本的软件,更新后的软件在一定程度上提高用户的体验感。

一种基于ARM服务器的软件更新系统,包括申请设备、源设备、差分文件模块、分类识别模块、检索模块、回退模块,包括以下步骤:

S51:所述申请设备发送请求接入所述源设备的连接验证请求。

S52:所述源设备解析连接验证信息,验证连接请求是否通过,若连接请求通过验证,则源设备与所述申请设备建立持续通信准备;若连接请求没有通过验证,则源设备不与所述申请设备建立通信准备。

S53:所述源设备接收申请设备的更新请求,向申请设备传输源设备软件信息;

S54:所述申请设备接收所述源设备软件信息,将源设备软件信息与申请设备软件信息进行对比,判断是否需要更新软件。

S55:所述申请设备反馈需更新的软件名单,即更新名单,将所述更新名单传输至源设备。

S56:所述源设备接收更新名单,所述分类识别模块解析所述更新名单中软件的类型。

S57:所述源设备根据所述分类识别模块解析的更新名单中软件的类型,选择对应的软件更新方式,将对应的软件更新文件传输至申请设备。

S58:所述申请设备接收软件更新文件,若更新过程无异常,完成软件更新;若更新过程出现异常,所述检索模块启动检索程序,当检索更新数据成功时,所述回退模块根据所述差分文件的记录撤销对应的增量完成灰度的退回;当检索更新数据失败时,所述检索模块报出异常,结束检索,软件更新终止,申请设备、源设备、差分文件模块、分类识别模块、检索模块、回退模块共同作用,实现软件更新效率的提高,贴合用户对灰度更新的需求。

所述更新过程出现异常,所述检索模块启动检索程序,具体为:

检索更新记录,若成功检索到数据,所述回退模块根据差分文件的记录撤销对应的增量对所述申请设备进行操作回退;若检索数据失败,则按异常处理,所述检索模块报出异常,检索完成。

所述回退模块对所述申请设备进行操作回退后,进行配置的回退。

所述回退模块对已恢复的配置,即恢复配置,进行软件上的回退。

所述回退模块进行软件上的回退后,获得已恢复的配置,即恢复配置,实现灰度的退回,回退完成,退出回退程序,软件更新结束,检索模块和回退模块结合,通过检索模块搜寻数据,在检索到数据后,通过回退模块实现差分文件的记录撤销对应的增量对所述申请设备进行操作回退,给用户更多选择,贴合用户使用体验,在新旧版本之间随意切换,时长短,效率快。

所述源设备接收更新名单,后所述分类识别模块解析所述更新名单中软件的类型,所述分类识别模块中将软件类型设定为未更新软件、灰度更新软件、已更新软件,其分类识别模块对软件进行精确分类,对软件进行精确升级,增加用户的体验感。

所述源设备根据所述分类识别模块解析的更新名单中软件的类型,选择对应的软件更新方式,将对应的软件更新文件传输至申请设备中,所述软件更新方式进一步包括为主动更新,被动更新,空闲更新。

以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

本文发布于:2023-04-13 05:25:20,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/85359.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图