CN109739532B - 一种国产Linux操作系统上的软件更新方法 - Google Patents
一种国产Linux操作系统上的软件更新方法 Download PDFInfo
- Publication number
- CN109739532B CN109739532B CN201811528312.4A CN201811528312A CN109739532B CN 109739532 B CN109739532 B CN 109739532B CN 201811528312 A CN201811528312 A CN 201811528312A CN 109739532 B CN109739532 B CN 109739532B
- Authority
- CN
- China
- Prior art keywords
- software
- information
- operating system
- client
- software 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种国产Linux操作系统上的软件更新方法,本方法是针对国产Linux操作系统的一种软件更新方法,该方法涉及一台服务器与一台客户机。服务器是一台与客户机进行通信,管理软件包文件、元信息以及操作系统适配信息的通用计算机。客户机是一台装有国产Linux系统以及与本发明对应的软件更新程序的国产计算机。客户机与服务器通过以太网通信。本发明提出了一种国产Linux操作系统上的软件更新方法,解决了国产Linux系统上由于更新后软件版本与操作系统不适配而导致系统出错的问题。
Description
技术领域
本发明涉及一种软件更新方法,特别是国产Linux操作系统上的软件更新方法。
背景技术
对于目前任意一种处理器与操作系统组合的国产机而言,常用软件只有特定的几个版本能够在上面正常运行。版本过低往往存在向前兼容问题,而版本过高又不被操作系统支持。这样使得软件的安装与更新工作在国产化计算机上很难进行。
发明内容
本发明的目的在于提供一种国产Linux操作系统上的软件更新方法,用于解决上述现有技术的问题。
本发明一种国产Linux操作系统上的软件更新方法,其特征在于,包括:第一步:软件启动时,开始读取相应的系统文件以获得操作系统信息与硬件信息;第二步:开始读取相应的系统文件以获得客户机上已安装的软件信息;第三步:将得到的操作系统信息与已安装信息软件信息转换为json格式数据,设置连接链接主机服务器的超时时间为a毫秒,读取远程数据的超市时间为b毫秒,然后向服务器发起更新查询请求并等待服务器反馈,若服务器响应超时,从链接远程服务器获取更新失败;第四步:当更新查询请求到达服务器时,将收到的json格式数据转化为POJO数据对象,得到客户机发送的操作系统信息与软件信息;第五步:先读取客户端的操作系统版本,对于每个待更新软件,检索软件在软件包元信息数据库中的所有版本的信息条目,并以从高版本到低版本的顺序,检查软件包的适配操作系统列表中是否包含客户机系统,若没有则继续检查,若有则将该软件包放入查找结果中并开始对下一个待更新软件的检索过程;第六步:查找完成后,若与客户机的网络连接仍然保持,则接受软件包管理模块中的更新查询结果,然后将这些信息转换为json格式数据存入反馈消息中并将反馈消息发给客户机;若连接断开,则放弃这一次工作;第七步:若接受到服务器发回的更新查询信息,则开始执行将收到的json格式数据转化为POJO数据对象,得到客户机发送的操作系统信息与软件信息;第八步:用户查看更新软件列表,并选择希望更新的软件,得到传递过来的待更新软件信息后,转换为json格式数据,并向服务器发起软件包获取请求;第九步:若服务器接受由客户机发起的软件包获取请求,则开始执行将收到的json格式数据转化为POJO数据对象,得到客户机发送的操作系统信息与软件信息,得到客户机发来的更新软件信息;第十步:完成解析后,先读取得到的更新软件信息,然后开始在软件包元信息数据库中寻找相应的软件包信息,若找到对应信息则读取其中的软件包URL字段以获得软件包的文件位置;第十步:若与客户机的网络连接已断开,则工作终止并等待下一个请求到达;若与客户机的网络连接仍然保持,则开始以下工作:先查看寻找结果,若存在软件包记录,则将对应软件包文件打包,发回客户机;若不存在软件包记录,则将错误信息发回客户机。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,第一步获取的信息要包括操作系统版本、内核版本以及处理器型号。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,第二步获取的信息包括已安装的软件名与软件版本。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,第三步中将得到的操作系统信息与已安装信息软件信息转换为json格式数据,设置连接链接主机服务器的超时时间为15000毫秒,读取远程数据的超市时间为60000毫秒。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,第五步中查找结果包括软件包名以及可更新的版本。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,第七步中若发回信息中存在可更新软件,则先获取解析后的更新查询信息,然后存入用户消息信箱,并根据可更新软件数目在用户界面中绘制红色提醒气泡,将控制软件的图形界面绘制出可更新软件列表。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,更新软件信息包含软件包名与可更新的版本信息。
根据本发明的国产Linux操作系统上的软件更新方法的一实施例,其中,还包括:第十一步:若服务器的反馈为错误信息,以消息窗体的方式告知用户更新软件不存在;若服务器的反馈为相应软件包,在获得解包后的软件包文件位置后开始执行软件包安装过程,若软件安装成功,将消除可更新软件列表中软件的信息;若安装失败,将记录安装过程的日志信息。
本发明的一种国产Linux操作系统上的软件更新方法,解决了国产Linux系统上由于更新后软件版本与操作系统不适配而导致系统出错的问题。
附图说明
图1为国产Linux操作系统上的软件更新方法的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为国产Linux操作系统上的软件更新方法的流程图,如图1所示,国产Linux操作系统上的软件更新方法包括:
第一步:软件启动时,开始读取相应的系统文件以获得操作系统信息与硬件信息,获取的信息主要包括操作系统版本,内核版本,处理器型号等。
第二步:开始读取相应的系统文件以获得客户机上已安装的软件信息,获取的信息主要包括已安装的软件名与软件版本。
第三步:在前两步的工作结束后,会先接受前两步中得到的操作系统信息与已安装信息软件信息,然后将这些信息转换为json格式数据,设置连接链接主机服务器的超时时间为15000毫秒,读取远程数据的超市时间为60000毫秒,然后向服务器发起更新查询请求并等待服务器反馈。若服务器响应超时,以弹出窗口的形式告知用户从链接远程服务器获取更新失败。
第四步:当更新查询请求到达服务器时,将收到的json格式数据转化为POJO数据对象,得到了客户机发送的操作系统信息与软件信息。
第五步:先读取客户端的操作系统版本,对于每个待更新软件,检索该软件在软件包元信息数据库中的所有版本的信息条目,并以从高版本到低版本的顺序,检查软件包的适配操作系统列表中是否包含客户机系统,若没有则继续检查,若有则将该软件包放入查找结果中并开始对下一个待更新软件的检索过程。查找结果包括软件包名,可更新的版本等信息。
第六步:查找完成后,若与客户机的网络连接仍然保持,则接受软件包的更新查询结果,然后将这些信息转换为json格式数据存入反馈消息中并将反馈消息发给客户机;若连接断开,则放弃这一次工作;
第七步:若接受到服务器发回的更新查询信息,则开始执行将收到的json格式数据转化为POJO数据对象,得到了客户机发送的操作系统信息与软件信息。若发回信息中存在可更新软件,则先获取解析后的更新查询信息,然后将这些信息存入用户消息信箱并根据可更新软件数目在用户界面中绘制红色提醒气泡。同时,将控制软件的图形界面绘制出可更新软件列表。
第八步:用户查看可更新软件列表,并通过点选的方式选择希望更新的软件。将收到这个交互事件,得到传递过来的待更新软件信息后,开始执行与将这些信息转换为json格式数据,并向服务器发起软件包获取请求。更新软件信息包含软件包名与可更新的版本等信息。
第九步:若服务器接受了由客户机发起的软件包获取请求,则开始执行将收到的json格式数据转化为POJO数据对象,得到了客户机发送的操作系统信息与软件信息,最终得到客户机发来的更新软件信息。
第十步:完成解析后,先读取解析得到的更新软件信息,然后开始以此为条件在软件包元信息数据库中寻找相应的软件包信息,若找到对应信息则读取其中的软件包URL字段以获得软件包的文件位置。
第十步:若与客户机的网络连接已断开,则工作终止并等待下一个请求到达;若与客户机的网络连接仍然保持,则开始以下工作:先查看寻找结果,若存在软件包记录,则将对应软件包文件打包,发回客户机;若不存在软件包记录,则将错误信息发回客户机。
第十一步:若客户机收到服务器的反馈信息,则开始执行解析过程。若服务器的反馈为错误信息,以消息窗体的方式告知用户更新软件不存在;若服务器的反馈为相应软件包,在获得解包后的软件包文件位置后开始执行软件包安装过程,同时绘制出软件安装进度条窗体。若软件安装成功,则将以消息窗口的形式告知用户软件安装成功并消除用户邮箱等位置的关于该软件的更新提示,将消除可更新软件列表中该软件的信息;若安装失败,将记录安装过程的日志信息,将以消息窗口形式告知用户安装失败并显示相应的安装日志信息。
进一步的,本发明服务器主要完成以下工作:管理软件包仓库中的软件包文件与软件包元信息,管理主要包括软件包入库、软件包出库、修改软件包元信息、软件包查询等操作。软件包元信息主要包括ID、软件包名称、软件包版本、适配操作系统、标签、分类以及定位软件包文件位置的URL等字段组成。接受客户机请求并给予反馈,客户机请求主要包括更新查询请求与软件包获取请求。若为更新查询请求,服务器则会从请求中获得的json字符串中提取待更新软件清单及操作系统版本信息,以此信息适配后将被选取的软件包元信息列表发回客户端。若为软件包获取请求,服务器则会根据请求内容找到相应软件包的文件位置,并以ftp形式发挥给客户端。根据客户机的系统状况选取最合适的更新软件包,根据客户机的系统状况选取最合适的软件包指的是服务器在得到待更新软件清单及操作系统版本信息后,以操作系统版本信息作为约束,在软件包仓库中寻找版本最高软件的过程。软件包仓库指管理软件包元数据的MySQL数据库以及文件系统中存放软件包的文件夹两部分。
客户机主要完成以下工作:提取客户机的系统状况信息,系统状况信息包括已安装的软件清单及操作系统版本等信息。提取客户机的系统状况信息指客户机用过命令或检索系统文件的方式获取系统状况信息的过程。向服务器发送更新请求,客户机请求主要包括更新查询请求与软件包获取请求。若为更新查询请求,客户机会将获取到的已安装软件清单作为待更新软件清单与操作系统版本信息一起发送给服务器,并等待接受服务器发回的更新软件包信息。若为软件包获取请求,则将所需要的软件包信息发给服务器,并等待接受服务器发回的软件包文件。安装更新软件包,安装更新软件包指在接受服务器发回的软件包文件后,通过命令调用的方式在本地安装更新软件包的过程。向用户提供图形界面,图形界面主要包含两个功能,一个功能是以清单的方式向用户呈现可被更新的软件,每条信息中包含软件logo、名称、更新前版本、更新后版本,另一个功能是向用户提供交互功能,用户可以通过点选操作选取想要更新的软件进行更新。
进一步的本发明的服务器端程序升级功能由以下子模块组成:通讯模块,负责与客户机通讯,包括接受客户机请求以及将与请求相对应的反馈返回给客户机。软件包管理模块,负责对服务器软件包元数据数据库以及软件包文件的维护。版本控制模块,软件包管理模块的子模块,负责检索与客户机操作系统版本适配的待更新软件软件包。控制模块,负责控制整个软件更新流程,协调以上各模块间的活动。客户机端程序升级功能由以下子模块组成:通讯模块,负责与服务器通讯,包括向服务器发送请求以及接受相对应的服务器反馈。硬件检测模块,负责检测客户机的硬件信息与操作系统信息。系统消息模块,负责管理客户信箱并将系统信息已留言方式传递给客户。软件管理模块,负责检测客户机上已经安装的软件并提供与之对应的安装删除操作。控制模块,负责控制整个软件更新流程,协调以上各模块间的活动,并管理用户界面。
本发明提出了一种国产Linux操作系统上的软件更新方法,解决了国产Linux系统上由于更新后软件版本与操作系统不适配而导致系统出错的问题。本方法是针对国产Linux操作系统的一种软件更新方法,该方法涉及一台服务器与一台客户机。服务器是一台与客户机进行通信,管理软件包文件、元信息以及操作系统适配信息的通用计算机。客户机是一台装有国产Linux系统以及与本发明对应的软件更新程序的国产计算机。客户机与服务器通过以太网通信。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种国产Linux操作系统上的软件更新方法,其特征在于,包括:
第一步:软件启动时,开始读取相应的系统文件以获得操作系统信息与硬件信息;
第二步:开始读取相应的系统文件以获得客户机上已安装的软件信息;
第三步:将得到的操作系统信息与已安装信息软件信息转换为json格式数据,设置连接链接主机服务器的超时时间为a毫秒,读取远程数据的超市时间为b毫秒,然后向服务器发起更新查询请求并等待服务器反馈,若服务器响应超时,从链接远程服务器获取更新失败;
第四步:当更新查询请求到达服务器时,将收到的json格式数据转化为POJO数据对象,得到客户机发送的操作系统信息与软件信息;
第五步:先读取客户端的操作系统版本,对于每个待更新软件,检索软件在软件包元信息数据库中的所有版本的信息条目,并以从高版本到低版本的顺序,检查软件包的适配操作系统列表中是否包含客户机系统,若没有则继续检查,若有则将该软件包放入查找结果中并开始对下一个待更新软件的检索过程;
第六步:查找完成后,若与客户机的网络连接仍然保持,则接受软件包管理模块中的更新查询结果,然后将这些信息转换为json格式数据存入反馈消息中并将反馈消息发给客户机;若连接断开,则放弃这一次工作;
第七步:若接受到服务器发回的更新查询信息,则开始执行将收到的json格式数据转化为POJO数据对象,得到客户机发送的操作系统信息与软件信息;
第八步:用户查看更新软件列表,并选择希望更新的软件,得到传递过来的待更新软件信息后,转换为json格式数据,并向服务器发起软件包获取请求;
第九步:若服务器接受由客户机发起的软件包获取请求,则开始执行将收到的json格式数据转化为POJO数据对象,得到客户机发送的操作系统信息与软件信息,得到客户机发来的更新软件信息;
第十步:完成解析后,先读取得到的更新软件信息,然后开始在软件包元信息数据库中寻找相应的软件包信息,若找到对应信息则读取其中的软件包URL字段以获得软件包的文件位置;
第十步:若与客户机的网络连接已断开,则工作终止并等待下一个请求到达;若与客户机的网络连接仍然保持,则开始以下工作:先查看寻找结果,若存在软件包记录,则将对应软件包文件打包,发回客户机;若不存在软件包记录,则将错误信息发回客户机。
2.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,第一步获取的信息要包括操作系统版本、内核版本以及处理器型号。
3.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,第二步获取的信息包括已安装的软件名与软件版本。
4.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,第三步中将得到的操作系统信息与已安装信息软件信息转换为json格式数据,设置连接链接主机服务器的超时时间为15000毫秒,读取远程数据的超市时间为60000毫秒。
5.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,第五步中查找结果包括软件包名以及可更新的版本。
6.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,第七步中若发回信息中存在可更新软件,则先获取解析后的更新查询信息,然后存入用户消息信箱,并根据可更新软件数目在用户界面中绘制红色提醒气泡,将控制软件的图形界面绘制出可更新软件列表。
7.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,更新软件信息包含软件包名与可更新的版本信息。
8.如权利要求1所述的国产Linux操作系统上的软件更新方法,其特征在于,还包括:第十一步:若服务器的反馈为错误信息,以消息窗体的方式告知用户更新软件不存在;若服务器的反馈为相应软件包,在获得解包后的软件包文件位置后开始执行软件包安装过程,若软件安装成功,将消除可更新软件列表中软件的信息;若安装失败,将记录安装过程的日志信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528312.4A CN109739532B (zh) | 2018-12-13 | 2018-12-13 | 一种国产Linux操作系统上的软件更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528312.4A CN109739532B (zh) | 2018-12-13 | 2018-12-13 | 一种国产Linux操作系统上的软件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739532A CN109739532A (zh) | 2019-05-10 |
CN109739532B true CN109739532B (zh) | 2022-05-27 |
Family
ID=66359349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811528312.4A Active CN109739532B (zh) | 2018-12-13 | 2018-12-13 | 一种国产Linux操作系统上的软件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739532B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290775A (zh) * | 2020-04-02 | 2020-06-16 | 麒麟软件有限公司 | 一种Linux系统软件包类型自动分类方法及系统 |
CN114070846A (zh) * | 2021-11-25 | 2022-02-18 | 安天科技集团股份有限公司 | Linux操作系统下软件包仓库的同步方法以及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407076A (zh) * | 2016-09-22 | 2017-02-15 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和操作系统环境的软硬件运行信息监控方法 |
CN107741859A (zh) * | 2017-11-03 | 2018-02-27 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和os的软件包管理方法、装置及系统 |
JP2018041224A (ja) * | 2016-09-06 | 2018-03-15 | 大日本印刷株式会社 | ソフトウェア更新システム |
CN108173890A (zh) * | 2016-12-07 | 2018-06-15 | 江苏翰诺信息科技发展有限公司 | 基于国产cpu和操作系统的软件自动更新和推送方法 |
CN108829425A (zh) * | 2018-07-26 | 2018-11-16 | 中国电子科技网络信息安全有限公司 | 一种针对国产操作系统上的应用软件在线升级管控方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521003A (zh) * | 2011-12-28 | 2012-06-27 | 苏州铭星科技股份有限公司 | 软件更新方法及其软件更新设备 |
CN102567060A (zh) * | 2011-12-30 | 2012-07-11 | 苏州汉清投资管理有限公司 | 一种软件管理系统 |
US9405530B2 (en) * | 2014-09-24 | 2016-08-02 | Oracle International Corporation | System and method for supporting patching in a multitenant application server environment |
CN105183496A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮软件集团有限公司 | 一种基于国产cpu和操作系统的软件自动升级和推送方法 |
US10846076B2 (en) * | 2016-10-11 | 2020-11-24 | Barfield, Inc. | Remote application update of measurement device field firmware |
CN108536460A (zh) * | 2018-04-17 | 2018-09-14 | 南京高盛信息科技有限公司 | 一种轻量级的软件自动升级系统 |
-
2018
- 2018-12-13 CN CN201811528312.4A patent/CN109739532B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018041224A (ja) * | 2016-09-06 | 2018-03-15 | 大日本印刷株式会社 | ソフトウェア更新システム |
CN106407076A (zh) * | 2016-09-22 | 2017-02-15 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和操作系统环境的软硬件运行信息监控方法 |
CN108173890A (zh) * | 2016-12-07 | 2018-06-15 | 江苏翰诺信息科技发展有限公司 | 基于国产cpu和操作系统的软件自动更新和推送方法 |
CN107741859A (zh) * | 2017-11-03 | 2018-02-27 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和os的软件包管理方法、装置及系统 |
CN108829425A (zh) * | 2018-07-26 | 2018-11-16 | 中国电子科技网络信息安全有限公司 | 一种针对国产操作系统上的应用软件在线升级管控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109739532A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8556172B2 (en) | Electronic shelf label system and display method | |
US8812546B1 (en) | State management for user interfaces | |
US20080294751A1 (en) | Enhanced widget architecture | |
CN109739532B (zh) | 一种国产Linux操作系统上的软件更新方法 | |
CN109818848B (zh) | 会话的展示方法和装置、存储介质、电子装置 | |
US20140279241A1 (en) | Electronic Product Information Retrieval Environment | |
WO2009131734A1 (en) | Store product locating system | |
CN106161079A (zh) | 故障反馈方法和装置 | |
CN107784068A (zh) | 数据变化的获取方法、装置、存储介质、处理器及服务端 | |
WO2016120675A1 (en) | Method of entering data in an electronic device | |
CN102971703A (zh) | 数据库搜索的加强查询 | |
CN104468189A (zh) | 一种针对不同客户版本自动升级bios的方法 | |
CN102625156A (zh) | 一种信息同步的方法和系统 | |
US10324772B2 (en) | Method and system for data instance-based automatic message map construction | |
US20090300505A1 (en) | Information processing apparatus, recovering method of entry information thereto, and recording medium | |
CN111986553B (zh) | 基于语义标签进行地图关联的方法、设备及存储介质 | |
US7689567B2 (en) | Error handling for intermittently connected mobile applications | |
CN104572661B (zh) | 终端设备以及信息处理方法 | |
CN104246717A (zh) | 数据处理系统、服务器、客户端、数据管理用程序 | |
CN102662801B (zh) | 通过即时通信工具恢复程序的方法、客户端及系统 | |
CN115202711B (zh) | 数据发布方法及系统 | |
US9471650B2 (en) | System and method for contextual workflow automation | |
CN111061471B (zh) | 一种控制界面控件元素显示的方法及系统 | |
JP2007102794A (ja) | フロントエンド処理機能を有する情報処理システム | |
JPH1188421A (ja) | 電子メールを利用した携帯端末でのデータ活用方法 |
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 |