一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种软件的更新方法、装置及可读存储介质与流程

2022-04-16 12:22:26 来源:中国专利 TAG:


1.本技术涉及软件开发领域,特别是涉及一种软件的更新方法、装置及可读存储介质。


背景技术:

2.近年来,随着计算机技术的飞速发展,软件的版本升级是行业内已经非常普遍的应用,也是必不可少的关键环节。目前的技术方案上,为了有效的实施软件升级,主要采取补丁包的升级模式,这种方案通过提供针对性的软件包来对现有软件进行升级丰富功能或者弥补缺陷,它的优点是可以节约用户的下载安装时间和带宽占用的时间,例如操作系统的补丁包,以及安全防护软件的病毒库更新等模式。
3.现有的软件更新方法通过发送完整的补丁包进行升级,但当补丁包过大时,会极大占用网络带宽,特别是当用户终端、服务器处于内网共享带宽的nat环境下,多台设备共享有限的公共网络出入口带宽资源,尤其是一些大型企业或者集中式管理的用户机房,使用完整的补丁包进行升级,基本会占用全部带宽,甚至所需带宽过高超出原本带宽导致无法保障多台设备同时进行升级,影响设备的正常工作。
4.鉴于上述技术,寻找一种带宽占用低的软件更新方法是本领域技术人员亟待解决的问题。


技术实现要素:

5.本技术的目的是提供一种软件更新方法,以便于解决当前更新软件时,带宽占用过高导致无法保障设备正常工作的问题。
6.为解决上述问题,本技术提供一种软件更新方法,包括:
7.在获取到软件更新指令后获取软件更新设置信息,所述软件更新设置信息包括nat出口信息,允许升级请求的预设时间,所述预设时间内允许的最大请求升级次数及环境要素信息;
8.在预设时间内,接收升级请求;
9.判断所述nat出口的历史请求次数是否小于所述最大请求升级次数;
10.若所述历史请求次数小于所述最大请求升级次数,判断所述环境要素信息与当前升级包对应的预设环境要素信息是否一致;
11.若所述环境要素信息与所述预设环境要素信息一致,则下载所述升级包。
12.优选地,所述获取软件更新设置信息包括:
13.接收主机端根据sdk发送的通信指令,并建立通讯通道;
14.接收所述主机端根据sdk发送的所述软件更新设置信息;
15.所述接收升级请求包括:
16.接收所述主机端根据sdk发送的所述升级请求。
17.优选地,若所述历史请求次数大于或等于所述最大请求升级次数,所述方法还包
括:
18.返回当反馈信息给主机端,所述反馈信息用于表征当前无升级内容。
19.优选地,在所述下载所述升级包之前,还包括:
20.获取所述升级包的下载路径信息及大小信息;
21.判断所述升级包的大小是否小于本地磁盘容量;
22.若是,则进入根据所述升级包的下载路径信息下载所述升级包的步骤。
23.优选地,所述环境要素信息包括本地操作系统版本及本地网络环境参数,所述判断环境要素信息与预设环境要素信息是否一致包括:
24.判断所述本地操作系统版本及所述本地网络环境参数与所述预设环境要素信息是否一致。
25.优选地,所述方法还包括:
26.记录全部所述升级请求,并生成数据进行存储。
27.优选地,所述接收升级请求包括:
28.通过异步分时执行的方式,接收所述升级请求。
29.为解决上述问题,本技术还提供一种软件更新装置,包括:
30.获取模块,用于在获取软件更新指令之后获取软件更新设置信息,所述获取软件更新设置信息包括nat出口信息,允许升级请求的预设时间,所述预设时间内允许的最大请求升级次数及升级的环境要素信息;
31.接收模块,用于在预设时间内,接收升级请求;
32.第一判断模块,用于判断所述nat出口的历史请求次数是否小于所述最大请求升级次数;
33.第二判断模块,当所述历史请求次数小于所述最大请求升级次数时开启,用于判断环境要素信息与当前升级包对应的预设环境要素信息是否一致;
34.下载模块,当所述环境要素信息与所述预设环境要素信息一致时开启,用于获取升级包的信息进行下载。
35.优选地,所述装置还包括:
36.第二获取模块,用于获取所述升级包的下载路径信息及大小信息;
37.第三判断模块,用于判断所述升级包的大小是否小于本地磁盘容量,若是,则开启下载模块。
38.优选地,所述装置还包括:
39.记录模块,用于记录全部所述升级请求,并生成数据进行存储。
40.为解决上述问题,本技术还提供一种软件更新装置,包括存储器,用于存储计算机程序;
41.处理器,用于执行所述计算机程序时实现上述的软件更新方法的步骤。
42.为解决上述问题,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的软件更新方法的步骤。
43.本技术所提供的软件更新方法,通过在获取到软件更新指令后,分时段进行软件包的更新,并限定每个时段的更新的请求此数,从而达到了对于软件进行分批次更新的效
果,比起之前通过完整补丁包进行一次性升级,本方案提供的分批次进行的升级,且对于每个批次的升级请求进行限制,从而达到在某一时段,不会无限制发送升级请求,从而有效缓解由于同一时间段升级请求过多所带来的带宽的占用过高所导致的设备无法正常工作的问题。
44.本技术所提供的软件更新装置及计算机可读存储介质与上述软件更新方法对应,有益效果同上。
附图说明
45.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本技术实施例提供的一种软件更新方法示意图;
47.图2为本技术实施例提供的一种软件更新装置示意图;
48.图3为本技术另一实施例提供的软件更新装置的结构图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
50.本技术的核心是提供一种软件更新方法,需要说明的是,带宽通常指信号所占据的频带宽度;在被用来描述信道时,带宽是指能够有效通过该信道的信号的最大频带宽度。对于模拟信号而言,带宽又称为频宽,以赫兹(hz)为单位。例如模拟语音电话的信号带宽为3400hz,一个pal-d电视频道的带宽为8mhz(含保护带宽)。对于数字信号而言,带宽是指单位时间内链路能够通过的数据量。由于数字信号的传输是通过模拟信号的调制完成的,为了与模拟带宽进行区分,数字信道的带宽一般直接用波特率或符号率来描述。带宽在信息论、无线电、通信、信号处理和波谱学等领域都是一个核心概念。
51.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
52.图1为本技术实施例提供的一种软件更新方法示意图,如图1所示,该方法包括:
53.s10:在获取到软件更新指令后获取软件更新设置信息;
54.需要说明的是,软件更新设置信息包括nat出口信息,允许升级请求的预设时间,预设时间内允许的最大请求升级次数及环境要素信息;
55.网络地址转换(network address translation,nat)属接入广域网技术,是一种将私有(保留)地址转化为合法ip地址的转换技术,它被广泛应用于各种类型internet接入方式和各种类型的网络中。原因很简单,nat不仅完美地解决了ip地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
56.需要说明的是,本实施例中对于获取到软件更新指令的形式及内容不进行限定,即对于通过何种方式获取,例如可以通过装置获取具体的指令,也可以人工进行一些预设
操作等,以及软件更新指令的具体内容,例如可以是一串命令,一个动作指令等,在此对于上述内容不进行具体限定。
57.需要说明的是,本实施例中对预设时间的具体时间长度不进行限定,设定较长的预设时间可以让单次内所接收的升级请求更多,更有利于网络空间的利用,加快下载速度,设定较短的预设时间,可以让升级分的批次更多,更能缓解带宽的压力,因此视具体情况而定,在本实施例中不进行具体限定。对于环境要素信息在本实施例中不进行具体限定,可以是操作系统的版本、硬件中的一些基础信息等等。
58.s11:在预设时间内,接收升级请求;
59.本实施例中,对于升级请求的具体形式即内容不进行限定,可以是通过建立通道从而发送命令进行升级请求,也可以通过接口传输指令进行升级请求
60.s12:判断nat出口的历史请求次数是否小于最大请求升级次数,若是,进入s13;
61.若nat出口的历史请求次数小于最大请求升级次数,则表示本批次依然有升级包的内容等待发送,在本实施例中,对于判断的具体方式不进行限定,一般是通过直接调用nat出口的请求记录进行判定,也可以通过请求后的一些关键字,以及不同的请求命令的数据的不同来进行判定。
62.s13:判断环境要素信息与当前升级包对应的预设环境要素信息是否一致,若是,进入s14;
63.容易理解的是,升级包对应的预设环境要素信息即升级包本身所需求的一些安装的基本环境,例如升级该升级包所需的系统的操作版本等,由于本实施例中对于环境要素信息未进行限定,因此对于如何判断上述两个环境要素信息是否相同,视不同的环境要素信息,判断的方式不同,在本实施例中不进行限定。
64.s14:下载升级包。
65.需要说明的是,本实施例中,对于如何下载升级包不进行限定,例如,可以是通过请求命令附带升级文件进行下载,也可以通过附加下载链接路劲的方式进行下载,且本实施例中对于升级包的具体内容不进行限定,可以理解的是,升级包即软件更新所需要使用的文件,因此下载升级包即对软件进行更新。
66.本实施例所提供的软件更新方法,通过在获取到软件更新指令后,分时段进行软件包的更新,并限定每个时段的更新的请求此数,从而达到了对于软件进行分批次更新的效果,比起之前通过完整补丁包进行一次性升级,本方案提供的分批次进行的升级,且对于每个批次的升级请求进行限制,从而达到在某一时段,不会无限制发送升级请求,从而有效缓解由于同一时间段升级请求过多所带来的带宽的占用过高所导致的设备无法正常工作的问题。
67.上述实施例中对于如何获取软件更新设置信息未进行限定,在本实施例中提出优选方案,获取软件更新设置信息包括:
68.接收主机端根据sdk发送的通信指令,并建立通讯通道;
69.接收主机端根据sdk发送的软件更新设置信息;
70.接收升级请求包括:
71.接收主机端根据sdk发送的升级请求。
72.软件开发工具包(software development kit,sdk)一般都是一些软件工程师为
特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言sdk即开发windows平台下的应用程序所使用的sdk。它可以简单的为某个程序设计语言提供应用程序接口(application programming interface,api)的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。sdk还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
73.需要说明的是,本实施例中对于通讯通道的通信方式不进行限定,且本实施例中限定了获取软件更新设置信息以及升级请求信息的方式,由于使用sdk的方式,且sdk用于原始程序发行者方便的集成到源程序内,而不需要编写额外的升级请求调用程序,减小了升级文件的工作量,增加了工作效率。
74.考虑到当历史请求次数大于或等于最大请求次数时,即本次升级请求完成时,为了保证不占用过大的带宽,在此提出优选方案,若历史请求次数大于或等于最大请求升级次数,方法还包括:
75.返回当反馈信息给主机端,反馈信息用于表征当前无升级内容。
76.需要说明的是,本实施例中所提及的反馈信息可以是一个指令,即在主机端接收到指令后,即表示本次升级结束,同时保证了本次更新的带宽的占用率较低,也能提高更新的效率和节省能源。
77.考虑到本地磁盘容量问题,在此提出优选方案,在下载升级包之前,还包括:
78.获取升级包的下载路径信息及大小信息;
79.判断升级包的大小是否小于本地磁盘容量;
80.若是,则进入根据升级包的下载路径信息下载升级包的步骤。
81.需要说明的是,本实施例中通过获取升级包的下载路径信息以及大小信息,从而可以比较升级包与本地磁盘的容量大小,可以理解的是,当升级包大小大于本地磁盘容量时即代指本地磁盘无法容纳升级包,因此需要对升级包或本地磁盘进行相应处理,例如可以报警提示用户清理本地磁盘,也可以通过其他装置将升级包压缩以便于后续处理,本实施例对于升级包的大小大于本地磁盘容量的情况不进行限定。
82.由于本实施例中限定了是通过下载路径进行升级包下载,且通过判断的方式排除了本地磁盘容量无法容纳升级包这种特殊情况,因此使得软件更新的出错概率减小,同时提高了用户的体验。
83.上述实施例中对于环境要素信息未进行限定,在此提出优选方案,环境要素信息包括本地操作系统版本及本地网络环境参数,判断环境要素信息与预设环境要素信息是否一致包括:
84.判断本地操作系统版本及本地网络环境参数与预设环境要素信息是否一致。
85.需要说明的是,本实施例中所提出的本地操作系统版本及本地网络环境参数,即大致可以概括本方案中升级软件所处的硬件环境以及网络环境的两大要素,从而起到减小环境要素的数量,以较小的测量数量体现较精确的结果,从而提高了更新效率。
86.考虑到对于升级中的任务流程进行监测,在本实施例中提出优选方案,该方法还
包括:
87.记录全部升级请求,并生成数据进行存储。
88.本实施例中通过将升级请求记录并生成数据进行存储,从而可以让用户监测全部的软件更新流程,以确保升级包是否正确发送,增强了软件更新过程中的安全性。
89.考虑到网络传输问题,在本实施例中提出优选方案,接收升级请求包括:
90.通过异步分时执行的方式,接收升级请求。
91.异步分时是一种根据用户实际需要动态分配线路资源的时分复用方法,将用户的数据划分为一个个时隙,不同用户的数据单元仍按照时分的方式来共享信道,异步时分复用能明显地提高信息通道利用率。
92.通过异步分时的方式,增加了接收升级请求的信息传输效率。
93.在上述实施例中,对于软件更新方法进行了详细描述,本技术还提供软件更新装置对应的实施例。需要说明的是,本技术从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
94.图2为本技术实施例提供的一种软件更新装置示意图,该装置包括:
95.获取模块10,用于在获取软件更新指令之后获取软件更新设置信息,获取软件更新设置信息包括nat出口信息,允许升级请求的预设时间,预设时间内允许的最大请求升级次数及升级的环境要素信息;
96.接收模块11,用于在预设时间内,接收升级请求;
97.第一判断模块12,用于判断nat出口的历史请求次数是否小于最大请求升级次数;
98.第二判断模块13,当历史请求次数小于最大请求升级次数时开启,用于判断环境要素信息与当前升级包对应的预设环境要素信息是否一致;
99.下载模块14,当环境要素信息与预设环境要素信息一致时开启,用于获取升级包的信息进行下载。
100.优选地,该装置还包括:
101.第二获取模块,获取升级包的下载路径信息及大小信息;
102.第三判断模块,判断升级包的大小是否小于本地磁盘容量,若是,则开启下载模块。
103.优选地,该装置还包括:
104.记录模块,记录全部升级请求,并生成数据进行存储。
105.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述,且装置部分与方法部分的实施例对应,因此有益效果见方法部分,在此不再赘述。
106.图3为本技术另一实施例提供的软件更新装置的结构图,如图3所示,软件更新装置包括:存储器20,用于存储计算机程序;
107.处理器21,用于执行计算机程序时实现如上述实施例中所提到的软件更新方法的步骤。
108.本实施例提供的软件更新装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
109.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器
等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
110.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的软件更新方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于软件更新方法中涉及的数据等。
111.在一些实施例中,软件更新装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
112.本领域技术人员可以理解,图3中示出的结构并不构成对软件更新装置的限定,可以包括比图示更多或更少的组件。
113.本技术实施例提供的软件更新装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:上述任一实施例中公开的软件更新方法。
114.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述,且装置部分与方法部分的实施例对应,因此有益效果见方法部分,在此不再赘述。
115.最后,本技术还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
116.可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
117.由于可读存储介质部分的实施例与方法部分的实施例相互对应,因此可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述,且可读存储介质部分与方法部分的实施例对应,因此有益效果见方法部分,在此不再赘述。
118.以上对本技术所提供的一种软件的更新方法、装置及可读存储介质进行了详细介
绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
119.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献