基于fota升级的稳定处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其是涉及一种基于FOTA升级的稳定处理方法和装置。
【背景技术】
[0002]FOTA升级(Firmware Over-the-Air,固件空中升级)技术,主要是指一种通过空中接口远程管理、更新终端设备中固件的技术。通过FOTA升级操作,不仅仅可以下载升级应用软件,也可以更新设备的操作系统。这样,FOTA升级操作使设备制造商能够通过网络将升级包发送到用户的终端设备中,从而对固件、软件进行升级,不但方便了用户,也为设备制造商节约了成本。
[0003]在现有的终端设备的FOTA升级过程中,FOTA服务器会与终端设备进行多次的交互,并且会在交互的过程中对终端设备的相关信息进行多次的同步持久化存储。在大量的终端用户进行并发的FOTA升级时,由于持久化一般通过传统的数据库存储在硬盘中,而硬盘1的性能瓶颈比较大,造成FOTA系统的处理压力增大,处理速度降低,响应效率急速下降,给用户体验带来了严重的影响。
[0004]为了解决前述问题,发明人提出了一种FOTA数据的分布式持久化管理方法,该方法的具体处理流程为:首先通过FOTA服务器获取各终端用户的唯一标识令牌,并根据唯一标识令牌获取对应的有序队列;然后通过分布式缓存装置将各终端用户的FOTA数据存储到对应的有序队列中;接着通过分布式持久化管理装置从有序队列中获取各终端用户的FOTA数据,并对FOTA数据进行合并处理;最后通过分布式持久化管理装置根据唯一标识令牌获取对应的分布式数据库,将处理后的FOTA数据存储到对应的分布式数据库中。从而,使得原本数据库的同步操作成为了异步操作,在FOTA升级的整个交互过程中,同步FOTA数据的操作均在内存中完成,异步进行数据库的交互操作,实现了对FOTA数据的延迟异步处理,提高了系统的处理速度和响应效率,提升了系统性能。
[0005]然而,当出现大量终端用户进行升级访问时,分布式持久化管理装置与分布式数据库交互有可能会出现阻塞,进而使得分布式缓存装置内部的多个有序队列的容量倍增而导致内存耗尽,最终造成整个FOTA服务不可用,从而影响FOTA升级的稳定性。
【发明内容】
[0006]本发明的主要目的在于提供一种基于FOTA升级的稳定处理方法和装置,旨在提高FOTA升级的稳定性。
[0007]为达以上目的,本发明提出一种基于FOTA升级的稳定处理方法,包括步骤:
[0008]稳定处理装置在初始启动时生成一定数量的信号量,并根据所述信号量控制发送给FOTA服务器的升级请求的并发数量;
[0009]稳定处理装置检测分布式缓存装置中各有序队列的长度,据此计算出FOTA数据的增长率;
[0010]稳定处理装置根据所述FOTA数据的增长率动态调整所述信号量的数量。
[0011]优选地,所述稳定处理装置检测分布式缓存装置中各有序队列的长度,据此计算出FOTA数据的增长率,包括:
[0012]稳定处理装置每隔单位时间检测一次分布式缓存装置中各有序队列的长度;
[0013]稳定处理装置根据公式S= (Ln-LlriVLlrix10^计算出FOTA数据的增长率,其中,S为FOTA数据的增长率,Ln为本次检测的所有有序队列的长度之和,L n_i为前一次检测的所有有序队列的长度之和。
[0014]优选地,所述计算出FOTA数据的增长率的步骤之后还包括:
[0015]当所述FOTA数据的增长率超过预设阈值时,稳定处理装置根据所述FOTA数据的增长率对所述分布式缓存装置中的有序队列进行数据丢弃处理。
[0016]优选地,所述根据所述信号量控制发送给FOTA服务器的升级请求的并发数量包括:
[0017]稳定处理装置接收终端用户向FOTA服务器发送的升级请求,并为每一升级请求获取一信号量;
[0018]当所述升级请求获取信号量成功时,稳定处理装置则将所述升级请求发送给FOTA服务器;
[0019]当所述升级请求获取信号量失败时,稳定处理装置则不予发送所述升级请求给FOTA服务器。
[0020]优选地,所述为每一升级请求获取一信号量的步骤之后还包括:
[0021]当所述升级请求获取信号量失败时,稳定处理装置则将所述升级请求加入到等待队列,并定时轮训所述等待队列,为所述升级请求重新获取信号量。
[0022]本发明同时提出一种基于FOTA升级的稳定处理装置,包括稳定过滤器模块和稳定监控模块,其中:
[0023]所述稳定过滤器模块,用于在初始启动时生成一定数量的信号量,并根据所述信号量控制发送给FOTA服务器的升级请求的并发数量;
[0024]所述稳定监控模块,用于检测分布式缓存装置中各有序队列的长度,据此计算出FOTA数据的增长率,并将所述FOTA数据的增长率反馈给所述稳定过滤器模块;
[0025]所述稳定过滤器模块进一步用于:根据所述FOTA数据的增长率动态调整所述信号量的数量。
[0026]优选地,所述稳定监控模块用于:
[0027]每隔单位时间检测一次分布式缓存装置中各有序队列的长度;
[0028]根据公式S = (Ln-Llri)ZVix10^计算出FOTA数据的增长率,其中,S为FOTA数据的增长率,Ln为本次检测的所有有序队列的长度之和,L n_i为前一次检测的所有有序队列的长度之和。
[0029]优选地,所述稳定监控模块还用于:当所述FOTA数据的增长率超过预设阈值时,稳定监控模块根据所述FOTA数据的增长率对所述分布式缓存装置中的有序队列进行数据丢弃处理。
[0030]优选地,所述稳定过滤器模块用于:
[0031]接收终端用户向FOTA服务器发送的升级请求,并为每一升级请求获取一信号量;
[0032]当所述升级请求获取信号量成功时,稳定过滤器模块则将所述升级请求发送给FOTA服务器;
[0033]当所述升级请求获取信号量失败时,稳定过滤器模块则不予发送所述升级请求给FOTA服务器。
[0034]优选地,所述稳定过滤器模块还用于:当所述升级请求获取信号量失败时,则将所述升级请求加入到等待队列,并定时轮训所述等待队列,为所述升级请求重新获取信号量。
[0035]本发明所提供的一种基于FOTA升级的稳定处理方法,通过检测分布式缓存装置中各有序队列的长度计算出FOTA数据的增长率,根据该增长率来动态调整信号量的数量,再根据信号量的数量来动态控制升级请求的并发数量。从而实现了对FOTA服务器升级请求的实时监控以及对升级请求并发数量的动态调整,并且采用多种策略进行稳定性以及数据完整性的平衡,提高了 FOTA升级的稳定性,保证了系统运行的稳定性和平滑性,最大限度的保障了有序队列中数据的准确完整性,保障了后期的数据分析运营的准确性。
【附图说明】
[0036]图1是本发明基于FOTA升级的稳定处理方法一实施例的流程图;
[0037]图2是本发明基于FOTA升级的稳定处理装置一实施例的模块示意图;
[0038]图3是本发明实施例中基于FOTA升级的稳定处理装置与FOTA服务器和分布式缓存装置的交互示意图。
[0039]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0040]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0041]参见图1,提出本发明基于FOTA升级的稳定处理方法一实施例,所述方法包括以下步骤:
[0042]步骤Sll:稳定处理装置在初始启动时生成一定数量的信号量。
[0043]本发明的稳定处理装置通过信号量来控制升级请求的并发数量。本实施例中,稳定处理装置包括稳定过滤器模块和稳定监控模块,稳定过滤器模块在初始启动时,根据分布式缓存装置的内存容量以及FOTA服务器每次交互的数据的大小计算出信号量的数量,并生成相应数量的信号量。信号量的具体计算公式优选为:信号量的数量=(分布式缓存装置的内存总容量/FOTA服务器每次交互的数据的大小)*80%。
[0044]步骤S12:稳定处理装置根