CN117170847B - 一种基于安卓手机的推流保活的方法 - Google Patents
一种基于安卓手机的推流保活的方法 Download PDFInfo
- Publication number
- CN117170847B CN117170847B CN202311161635.5A CN202311161635A CN117170847B CN 117170847 B CN117170847 B CN 117170847B CN 202311161635 A CN202311161635 A CN 202311161635A CN 117170847 B CN117170847 B CN 117170847B
- Authority
- CN
- China
- Prior art keywords
- service
- push
- foreground
- foreground service
- keep
- 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
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000008569 process Effects 0.000 claims abstract description 65
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 69
- 238000004364 calculation method Methods 0.000 claims description 48
- 239000002245 particle Substances 0.000 claims description 39
- 239000003016 pheromone Substances 0.000 claims description 39
- 230000007246 mechanism Effects 0.000 claims description 27
- 230000002159 abnormal effect Effects 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 18
- 238000005457 optimization Methods 0.000 claims description 18
- 230000003044 adaptive effect Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 14
- 239000000243 solution Substances 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 230000000007 visual effect Effects 0.000 claims description 11
- 230000001133 acceleration Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 241000257303 Hymenoptera Species 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 claims description 6
- 238000002347 injection Methods 0.000 claims description 6
- 239000007924 injection Substances 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 4
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000013499 data model Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000013178 mathematical model Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000012098 association analyses Methods 0.000 claims 1
- 239000010410 layer Substances 0.000 description 36
- 239000002355 dual-layer Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于安卓手机的推流保活的方法,涉及手机应用领域,首先启动前台服务,在应用启动时,启动前台服务,并用持续的通知来维持前台服务;然后开始推流,在前台服务中,启动推流服务,并使用持续的通知来维持推流服务;启动替身前台服务,在推流服务启动后,再启动替身前台服务,使用与推流服务相同的通知编号,并启动定时器,在替身前台服务启动后,启动定时器,定时检查前台服务和替身前台服务是否存在并保持活跃状态;检测推流状态并根据推流状态调整推流服务,并进行安全防护和界面交互,最后关闭服务;本发明通过保活原理使应用进程处于优先级最高,同时保持活跃状态,自动化、智能化程度高。
Description
技术领域
本发明涉及手机应用领域,且更具体地涉及一种基于安卓手机的推流保活的方法。
背景技术
在使用手机拍摄并且将视频文件实时以rtmp流的方式推送到服务器地址时,由于手机长时间停留在拍摄页面,会出现锁屏,熄屏,这时可能推流会发生中断。当手动临时退出当前app应用,切换到别的app应用时,时间过长也会发现之前手机推流突然终止了。
发生以上情况情况的主要原因是app应用进程被杀死了,所以推流发生了中断。为了避免手机app应用推流发生中断就必须避免应用进程被杀死。传统的安卓系统进程优先级由高往低排列为:前台进程、可见进程、服务进程、后台进程和空进程。当安卓系统cpu过载,内存不足时,会优先杀死优先级较低的进程,使安卓系统可以流畅的运行。所以现在很多保活技术原理都是提高当前应用进程的优先级,或者通过别的较高优先级的应用拉起当前的应用。
但是,现在的保活技术原理会导致系统负载增加,降低整个设备的运行效率,由于保持高优先级进程需要长时间的持续工作,会消耗大量的电量,提高进程优先级或者拉起应用的方式会改变安卓系统的进程管理机制,会导致恶意应用利用这些漏洞进行攻击,从而导致用户隐私泄露和设备受到恶意攻击,并且提高应用进程优先级或拉起应用的方式,只适用于那些需要保持长时间后台运行的应用。
因此,本发明公开了一种基于安卓手机的推流保活的方法,通过保活原理使应用进程处于优先级最高,同时保持活跃状态。
发明内容
针对现有技术的不足,本发明公开了一种基于安卓手机的推流保活的方法,通过保活原理使应用进程处于优先级最高,同时保持活跃状态;通知保活利用进程的优先级原理,使进程优先级变高,同时一直处于活跃状态,避免进程直接或间接被杀;通过监听进程被杀互相重启对方进程而言,通知保活一直处于未被杀死的萌芽状态;采用自适应动态调整算法调整推流参数,实现智能推流;通过定时发送心跳包保持推流连接的稳定性,并定时运行轻量级任务触发应用服务保活机制,避免应用服务被系统杀死,所述定时器通过最优计量选择算法选择触发应用服务保活机制的时间间隔,以避免频繁地重启服务;自动化、智能化程度高。
本发明采用以下技术方案:
一种基于安卓手机的推流保活的方法,包括以下步骤:
步骤一、启动应用服务并设置为前台服务,应用服务管理模块通过调用启动命令和启动前台指令实现应用服务的部署和启动,并通过兼容性框架的通知创建操作创建启动通知,以告知用户应用的运行情况,前台服务控制模块通过调用启动前台指令将应用服务设置为前台服务;
步骤二、开始推流,所述前台服务通过推流接口调用推流管理模块,以启动推流服务,所述推流管理模块采用应用程序接口API进行推流进程的创建和推流配置参数的设置,并通过集成第三方库librtmp实现推流服务的启动、保活和停止,所述前台服务通过兼容性框架的通知创建操作推流通知,以维持推流服务的正常运行,所述推流管理模块采用自适应动态调整算法调整推流参数,实现智能推流;
步骤三、启动替身前台服务,在推流服务启动后,通过调用启动前台指令启动替身前台服务,并通过兼容性框架的通知创建操作创建与推流服务相同编号的替身通知,将替身前台服务放在后台,所述替身前台服务通过调用操作和延迟指令不断更新替身通知,以便提高前台进程的优先级;
步骤四、启动定时器,在替身前台服务启动后,所述前台服务控制模块通过调用报警管理指令启动定时器,定时检查前台服务和替身前台服务是否存在并保持活跃状态,前台服务被杀死时,则通过替身前台服务重新启动前台服务,并恢复与用户通信的能力,替身前台服务被杀死时,则重启替身前台服务;
步骤五、检测推流状态并根据推流状态调整推流服务,在推流服务运行过程中,通过推流状态监测模块获取推流状态,并根据网络状态信息进行网络状态的判断和调整,所述推流状态通过状态通知实时更新到前台服务中;
步骤六、安全防护和界面交互,在推流服务运行期间,通过双层检测防火墙和可视化交互平台对推流服务进行实时监控和防护;
步骤七、关闭服务,在推流服务运行结束后,通过调用停止推流指令停止推流服务、前台服务和替身前台服务。
作为本发明进一步的技术方案,所述自适应动态调整算法根据网络状况和设备性能计算推流码率和分辨率,实现推流参数的动态调整,所述自适应动态调整算法包括输入层、数据层、模型层、算法层、优化层和输出层,所述自适应动态调整算法的工作方法包括以下步骤:
(1)数据输入,将网络状况、设备性能、推流码率和分辨率进行格式转换,并通过输入层输入至自适应动态调整算法;
(2)确定计算的目标和参数,通过对历史网络状况、设备性能、推流码率和分辨率的分析,确定网络状况和设备性能与推流码率和分辨率的关系,并通过数据层从输入数据中获取计算参数和限制条件,计算参数和限制条件包括计算规模、目标函数、约束条件和变量范围,以保证求解过程的合理性和有效性;
(3)建立数学模型,所述模型层根据网络状况和设备性能与推流码率和分辨率的关系、计算规模、目标函数、约束条件和变量范围建立自适应动态调整算法模型;
(4)计算实时推流码率和分辨率,所述算法层采用自适应动态调整算法模型进行实时迭代计算、参数修正以及计算结果和真实值比较,并通过维护计算节点的邻居列表优化计算速度;
(5)对求解过程进行精细控制和优化,通过优化层合并或拆分计量单位,提高计算的准确性,并通过自适应参数选择方式设置阈值和迭代次数,所述优化层采用并行计算方式将计算任务分配给多个处理器或计算节点,以提高计算速度;
(6)结果输出,通过输出层对计算结果进行输出。
作为本发明进一步的技术方案,所述定时器通过定时发送心跳包保持推流连接的稳定性,并定时运行轻量级任务触发应用服务保活机制,避免应用服务被系统杀死,所述定时器通过最优计量选择算法选择触发应用服务保活机制的时间间隔,以避免频繁地重启服务。
作为本发明进一步的技术方案,所述最优计量选择算法基于自适应蚁群算法和粒子群优化算法计算触发应用服务保活机制的时间间隔,所述自适应蚁群算法将每个时间间隔看作一个城市,每条路径代表一个时间间隔序列,初始化信息素为相同的初始值,根据信息素浓度和路径距离,计算每个路径上的蚂蚁选择的概率,概率输出函数公式为:
在公式(1)中,为每个路径上第k个蚂蚁在第i个路径选择路径j的概率,k为蚂蚁的叙述,i为蚂蚁所在路径,j为蚂蚁下一个选择路径,τij(t)为t时刻路径(i,j)对应的信息素浓度,ηij(t)为t时刻路径(i,j)对应的适应度值,ak为蚂蚁k下一步被允许访问的城市集合,s为允许访问的城市集合元素,τis(t)为t时刻路径(i,s)对应的信息素浓度,ηis(t)为t时刻路径(i,j)对应的适应度值,α,β为迭代因子;
蚂蚁完成整个路径后,根据路径的质量增加信息素,并根据信息素挥发速度进行信息素的衰减,信息素更新公式为:
在公式(2)中,ρ为挥发程度,0<ρ<1,τij(t+1)为t+1时刻路径(i,j)对应的信息素浓度,t为迭代时刻,为连续收敛次数,τ为信息素浓度,τmax为最大信息素浓度,△τij为蚂蚁在路径(i,j)上释放的信息素;
所述粒子群优化算法通过迭代优化每个时间间隔所对应的权重,以得到最优计量选择方案,每个粒子根据自身历史最优位置和全局最优位置更新速度和位置,通过不断迭代更新,粒子趋向于全局最优解,粒子速度更新计算公式为:
在公式(3)中,为迭代时刻t粒子自身速度,/>为迭代时刻t-1粒子自身速度,pbest为粒子个体经历过的最好位置,gbest为粒子种群经历的最好位置,c0,1,2为加速因子,r1,2为速度矢量;粒子位置更新计算公式为:
在公式(4)中,为粒子上一迭代时刻位置,通过不断迭代更新位置和速度,粒子收敛到全局最优解或局部最优解。
作为本发明进一步的技术方案,所述推流状态监测模块通过广播接收器监听推流状态的变化,实现推流中断异常情况的及时处理,所述网络状态的异常情况和解决方法包括以下方面:
1)推流连接中断,通过广播接收器获取推流错误代码和错误描述,根据错误代码和描述判断推流中断的原因为网络问题或推流服务错误;
2)推流卡顿,通过检查推流帧率、码率和分辨率参数判断推流设置的可用性,以优化推流性能;
3)编码异常,通过错误代码和错误描述判断编码异常原因,并根据编码异常原因调整编码参数和更换编码器;
4)设备异常,通过异常状态码和异常描述判断设备问题,并对设备进行修复或替换。
作为本发明进一步的技术方案,所述步骤七中的关闭服务包括以下步骤:
S1、调用控制器的停止前台服务连接指令,断开前台服务的连接;
S2、调用应用管理器服务的停止前台服务连接指令,停止前台服务对象;
S3、调用前台服务的停止服务锁定指令,停止前台服务并释放资源;
S4、前台服务对象被删除或停止,则结束,前台服务对象未被删除或停止,则执行S5操作;
S5、前台服务运行并被替身前台服务所代表,则调用集成开发工具的服务锁定指令,以销毁替身前台服务,并隐藏服务通知栏;
S6、隐藏前台服务的通知,以防止用户手动消除通知,保证前台服务的正常运行和执行;
S7、当没有客户端连接时,将服务对象从前台服务列表中删除,并将应用服务设置为停止状态。
作为本发明进一步的技术方案,所述双层检测防火墙采用SSL安全套接字层协议加速卡提高安全访问速度和设备性能处理能力,所述SSL安全套接字层协议加速卡通过加速安全套接字层和传输层连接的处理过程,以缩短用户访问时间和减轻防火墙内部服务器的负载,所述双层检测防火墙通过与防漏洞攻击APT和数据安全服务平台安全设备协同工作,对内部网络中的敏感数据进行分类、监视和保护,并通过智能安全引擎识别SQL注入、跨站脚本攻击XSS和命令注入攻击行为,并识别未知威胁及无补丁漏洞攻击行为,以提高网络安全性和系统稳定性。
作为本发明进一步的技术方案,所述可视化交互平台基于关联性数据模型获取海量数据源关联数据,以实现多维度数据关联分析,并采用交互式图表、热点图、地图和仪表板实现数据的趋势、关系及变化规律的实时监控,所述可视化交互平台采用Token用户身份验证机制验证访问用户的身份,以提高信息访问的安全性。
积极有益效果:
本发明公开了一种基于安卓手机的推流保活的方法,通过保活原理使应用进程处于优先级最高,同时保持活跃状态;通知保活利用进程的优先级原理,使进程优先级变高,同时一直处于活跃状态,避免进程直接或间接被杀;通过监听进程被杀互相重启对方进程而言,通知保活一直处于未被杀死的萌芽状态;采用自适应动态调整算法调整推流参数,实现智能推流;通过定时发送心跳包保持推流连接的稳定性,并定时运行轻量级任务触发应用服务保活机制,避免应用服务被系统杀死,所述定时器通过最优计量选择算法选择触发应用服务保活机制的时间间隔,以避免频繁地重启服务;自动化、智能化程度高。
附图说明
图1为本发明一种基于安卓手机的推流保活的方法的整体流程示意图;
图2为本发明一种基于安卓手机的推流保活的方法中整体架构示意图;
图3为本发明一种基于安卓手机的推流保活的方法中自适应动态调整算法的模型架构;
图4为本发明一种基于安卓手机的推流保活的方法中保活机制示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于安卓手机的推流保活的方法,包括以下步骤:
步骤一、启动应用服务并设置为前台服务,应用服务管理模块通过调用启动命令和启动前台指令实现应用服务的部署和启动,并通过兼容性框架的通知创建操作创建启动通知,以告知用户应用的运行情况,前台服务控制模块通过调用启动前台指令将应用服务设置为前台服务;
步骤二、开始推流,所述前台服务通过推流接口调用推流管理模块,以启动推流服务,所述推流管理模块采用应用程序接口API进行推流进程的创建和推流配置参数的设置,并通过集成第三方库librtmp实现推流服务的启动、保活和停止,所述前台服务通过兼容性框架的通知创建操作推流通知,以维持推流服务的正常运行,所述推流管理模块采用自适应动态调整算法调整推流参数,实现智能推流;
步骤三、启动替身前台服务,在推流服务启动后,通过调用启动前台指令启动替身前台服务,并通过兼容性框架的通知创建操作创建与推流服务相同编号的替身通知,将替身前台服务放在后台,所述替身前台服务通过调用操作和延迟指令不断更新替身通知,以便提高前台进程的优先级;
步骤四、启动定时器,在替身前台服务启动后,所述前台服务控制模块通过调用报警管理指令启动定时器,定时检查前台服务和替身前台服务是否存在并保持活跃状态,前台服务被杀死时,则通过替身前台服务重新启动前台服务,并恢复与用户通信的能力,替身前台服务被杀死时,则重启替身前台服务;
步骤五、检测推流状态并根据推流状态调整推流服务,在推流服务运行过程中,通过推流状态监测模块获取推流状态,并根据网络状态信息进行网络状态的判断和调整,所述推流状态通过状态通知实时更新到前台服务中;
步骤六、安全防护和界面交互,在推流服务运行期间,通过双层检测防火墙和可视化交互平台对推流服务进行实时监控和防护;
步骤七、关闭服务,在推流服务运行结束后,通过调用停止推流指令停止推流服务、前台服务和替身前台服务。
在具体实施例中,一种基于安卓手机的推流保活的方法的具体操作流程如下:
(1)启动应用,在应用中启动startForegroundService将会调用ContextImpl中的startForegroundService,接着直接调用startServiceCommon;在startServiceCommon中得到AMS代理并启动startService,其中requireForeground为true;AMS的startService调用ActivityServices中的startServiceLocked;接着调用startServiceInnerLocked;然后调用bringUpServiceLocked创建并启动Service;最后调用realStartServiceLocked创建完成A-service。启动的A-service主进程(前台进程,ID号假设为abcd),同时产生通知栏(告知业务进程开启);
(2)启动B-service(步骤同1)替身进程(前台进程,指定ID号为abcd),产生通知栏(告知业务员进程开启);
(3)在应用中执行stopService,接着会调用ContextImpl的stopServiceConnection,然后调用AMS的stopService,再调用ActiveServices的stopServiceLocked,最后调用AS的bingDownServiceIfNeededLocked方法销毁B-service替身进程(销毁自己,同时A-service和B-service的通知栏都会被隐藏),该步骤目的是为了隐藏主进程的通知,防止用户手动消除通知,将A-service中止。
(4)A-service在后台潜伏运行。
(5)A-service定时通知应用重新创建A-service和B-service,循环(1)操作。该步骤目的是为了保持进程活跃度,防止进程长时间后,被系统消除。
在上述实施例中,所述自适应动态调整算法根据网络状况和设备性能计算推流码率和分辨率,实现推流参数的动态调整,所述自适应动态调整算法包括输入层、数据层、模型层、算法层、优化层和输出层,所述自适应动态调整算法的工作方法包括以下步骤:
(1)数据输入,将网络状况、设备性能、推流码率和分辨率进行格式转换,并通过输入层输入至自适应动态调整算法;
(2)确定计算的目标和参数,通过对历史网络状况、设备性能、推流码率和分辨率的分析,确定网络状况和设备性能与推流码率和分辨率的关系,并通过数据层从输入数据中获取计算参数和限制条件,计算参数和限制条件包括计算规模、目标函数、约束条件和变量范围,以保证求解过程的合理性和有效性;
(3)建立数学模型,所述模型层根据网络状况和设备性能与推流码率和分辨率的关系、计算规模、目标函数、约束条件和变量范围建立自适应动态调整算法模型;
(4)计算实时推流码率和分辨率,所述算法层采用自适应动态调整算法模型进行实时迭代计算、参数修正以及计算结果和真实值比较,并通过维护计算节点的邻居列表优化计算速度;
(5)对求解过程进行精细控制和优化,通过优化层合并或拆分计量单位,提高计算的准确性,并通过自适应参数选择方式设置阈值和迭代次数,所述优化层采用并行计算方式将计算任务分配给多个处理器或计算节点,以提高计算速度;
(6)结果输出,通过输出层对计算结果进行输出。
在具体实施例中,自适应动态调整算法基于码率控制和分辨率调整算法,根据当前网络状况和设备性能实时计算合适的推流码率和分辨率,从而实现智能推流。该算法增加了带宽、延迟、丢包率,根据网络带宽的大小来调整推流码率,以确保推流过程中不会出现网络卡顿或者画质模糊的情况。根据延迟情况来调整推流码率和分辨率,以保证推流过程中网络延迟较小,直播画面的实时性和稳定性得到保障。根据丢包率的大小来调整推流码率和分辨率,以确保推流过程中数据传输速度的可靠性。根据设备的CPU、内存、电量等信息来调整推流参数,以确保推流过程中不会因为设备性能不足而导致推流卡顿、崩溃等问题。
通过实时调整码率和分辨率,保证推流画面的清晰度、流畅度和实时性。通过调整码率,降低推流所需的带宽和流量,降低推流成本。通过调整码率和分辨率,保证推流过程中网络延迟和丢包率的稳定性,减少推流卡顿、抖动等问题,提高推流的稳定性,效果如表1所示。
表1效果对比统计表
采用六组实验不同网络状况和设备性能的推流过程,每组实验重复五次,分别对推流质量和稳定性进行统计,求每组平均值,记录于表1,由表1可知,基于自适应动态调整的智能推流算法能够优化推流参数,提高推流质量、降低成本并增强推流稳定性,具有较高的实用性和普适性。
在上述实施例中,所述定时器通过定时发送心跳包保持推流连接的稳定性,并定时运行轻量级任务触发应用服务保活机制,避免应用服务被系统杀死,所述定时器通过最优计量选择算法选择触发应用服务保活机制的时间间隔,以避免频繁地重启服务。
在具体实施例中,定时器每隔一定时间向推流服务器发送心跳包,以保持推流连接的稳定性,每隔一定时间运行轻量级任务,触发应用服务保活机制,以避免应用服务被系统杀死,定时器通过最优计量选择算法来选择触发应用服务保活机制的时间间隔。具体来说,该算法会根据当前设备的CPU、内存使用情况、应用服务的重要程度等因素综合计算一个最优的时间间隔,以避免频繁地重启服务,定时器可以采用安卓系统中提供的AlarmManager类来实现。该类可以设置一个定时器,在指定的时间间隔内执行指定的操作,以定时触发应用服务保活机制和发送心跳包。同时,可以通过设置不同的定时器间隔和优化算法来实现最优的保活机制。
总之,定时器通过定时发送心跳包和触发应用服务保活机制来保持推流连接的稳定性,并通过选择最优的时间间隔来避免频繁地重启服务,从而提高推流的成功率和稳定性,
在上述实施例中,所述最优计量选择算法基于自适应蚁群算法和粒子群优化算法计算触发应用服务保活机制的时间间隔,所述自适应蚁群算法将每个时间间隔看作一个城市,每条路径代表一个时间间隔序列,初始化信息素为相同的初始值,根据信息素浓度和路径距离,计算每个路径上的蚂蚁选择的概率,概率输出函数公式为:
在公式(1)中,为每个路径上第k个蚂蚁在第i个路径选择路径j的概率,k为蚂蚁的叙述,i为蚂蚁所在路径,j为蚂蚁下一个选择路径,τij(t)为t时刻路径(i,j)对应的信息素浓度,ηij(t)为t时刻路径(i,j)对应的适应度值,ak为蚂蚁k下一步被允许访问的城市集合,s为允许访问的城市集合元素,τis(t)为t时刻路径(i,s)对应的信息素浓度,ηis(t)为t时刻路径(i,j)对应的适应度值,α,β为迭代因子;
蚂蚁完成整个路径后,根据路径的质量增加信息素,并根据信息素挥发速度进行信息素的衰减,信息素更新公式为:
在公式(2)中,ρ为挥发程度,0<ρ<1,τij(t+1)为t+1时刻路径(i,j)对应的信息素浓度,t为迭代时刻,为连续收敛次数,τ为信息素浓度,τmax为最大信息素浓度,△τij为蚂蚁在路径(i,j)上释放的信息素;
所述粒子群优化算法通过迭代优化每个时间间隔所对应的权重,以得到最优计量选择方案,每个粒子根据自身历史最优位置和全局最优位置更新速度和位置,通过不断迭代更新,粒子趋向于全局最优解,粒子速度更新计算公式为:
在公式(3)中,为迭代时刻t粒子自身速度,/>为迭代时刻t-1粒子自身速度,pbest为粒子个体经历过的最好位置,gbest为粒子种群经历的最好位置,c0,1,2为加速因子,r1,2为速度矢量;粒子位置更新计算公式为:
在公式(4)中,为粒子上一迭代时刻位置,通过不断迭代更新位置和速度,粒子收敛到全局最优解或局部最优解。
在具体实施例中,所述最优计量选择算法基于自适应蚁群算法和粒子群优化算法计算触发应用服务保活机制的时间间隔。
具体来说,所述自适应蚁群算法将每个时间间隔看作一个城市,每条路径代表一个时间间隔序列,初始化信息素为相同的初始值。在计算每个路径上的蚂蚁选择的概率时,还考虑了当前系统的负载状况和应用服务的重要性程度。在蚂蚁完成一次路径遍历后,根据路径上的信息素浓度和距离更新信息素的值。通过不断迭代,最终得到一个最优的时间间隔序列,以触发应用服务保活机制。
在自适应蚁群算法的基础上,又加入了粒子群优化算法的优化思想,引入了权重系数和协同因子等参数。通过调整这些参数,可以更好地平衡全局搜索和局部搜索之间的关系,实现更加精准的搜索和优化。
采用MATLAB对最优计量选择算法的有效性进行验证。首先,粒子群算法进行20次迭代,得到问题的次优解,然后利用次优解的路径长度,根据式(1)得到蚁群算法中的初始信息素分布;在蚁群算法中,ρ=0.02,蚂蚁个数等于城市个数,α=1.0,β=50,t=0.0001,仿真实验结果如表2所示。
从仿真结果可知,最优计量选择算法的进化代数少于自适应蚁群算法,路径更加接近最优值,因此,具有较高的实用性和普适性。
在上述实施例中,所述推流状态监测模块通过广播接收器监听推流状态的变化,实现推流中断异常情况的及时处理,所述网络状态的异常情况和解决方法包括以下方面:
1)推流连接中断,通过广播接收器获取推流错误代码和错误描述,根据错误代码和描述判断推流中断的原因为网络问题或推流服务错误;
2)推流卡顿,通过检查推流帧率、码率和分辨率参数判断推流设置的可用性,以优化推流性能;
3)编码异常,通过错误代码和错误描述判断编码异常原因,并根据编码异常原因调整编码参数和更换编码器;
4)设备异常,通过异常状态码和异常描述判断设备问题,并对设备进行修复或替换。
在具体实施例中,推流状态监测模块可以通过广播接收器来监听推流状态的变化,实现推流中断异常情况的及时处理。具首先,在应用程序中实现一个广播接收器,用于监听推流状态的变化。可以使用安卓系统提供的BroadcastReceiver类来实现;然后,在应用程序的启动代码中注册广播接收器,以开始监听推流状态的变化,可以使用安卓系统提供的registerReceiver()方法完成注册操作;广播接收器注册成功后,可以监听推流状态的变化。例如,可以通过接收推流服务器返回的错误码或异常信息来判断推流状态是否正常。如果推流状态异常,可以及时处理,例如重新连接推流服务器或停止推流等;根据不同的异常情况,可以采取不同的处理方式。例如,如果推流服务器返回网络异常错误码,可以尝试重新连接推流服务器;如果推流设备的网络连接断开,可以停止推流并提示用户检查网络连接等。
总之,通过广播接收器监听推流状态的变化,可以及时处理推流中断异常情况,提高推流的稳定性和可用性。
在上述实施例中,所述步骤七中的关闭服务包括以下步骤:
S1、调用控制器的停止前台服务连接指令,断开前台服务的连接;
S2、调用应用管理器服务的停止前台服务连接指令,停止前台服务对象;
S3、调用前台服务的停止服务锁定指令,停止前台服务并释放资源;
S4、前台服务对象被删除或停止,则结束,前台服务对象未被删除或停止,则执行S5操作;
S5、前台服务运行并被替身前台服务所代表,则调用集成开发工具的服务锁定指令,以销毁替身前台服务,并隐藏服务通知栏;
S6、隐藏前台服务的通知,以防止用户手动消除通知,保证前台服务的正常运行和执行;
S7、当没有客户端连接时,将服务对象从前台服务列表中删除,并将应用服务设置为停止状态。
在具体实施例中,在A-service中启动B-service时,需要将B-service实现为前台服务,并且提供一个可见的通知(Notification),以使其不易被系统杀死。为了防止用户手动消除通知,需要在应用程序中通过NotificationCompat.Builder类设置一些必需的通知属性,例如通知优先级、通知声音、通知震动等,以使得通知更加引人注目和难以被忽略。为保持进程活跃度,可以在A-service中定时发送一个广播或执行一个定时任务,来唤醒应用程序并重新创建A-service和B-service。可以使用安卓系统提供的AlarmManager类来实现定时任务的设置。
因为在安卓系统中仍然存在一些反应迅速的进程管理策略,例如Doze模式和AppStandby模式,可以防止应用程序长时间在后台运行。因此,在进行进程保活时,需要根据具体的应用场景、系统版本和设备特性等因素进行调整和优化。同时,过度的进程保活也会影响设备性能和电池寿命,因此也需要根据实际情况做出相应的取舍和权衡。
在上述实施例中,所述双层检测防火墙采用SSL安全套接字层协议加速卡提高安全访问速度和设备性能处理能力,所述SSL安全套接字层协议加速卡通过加速安全套接字层和传输层连接的处理过程,以缩短用户访问时间和减轻防火墙内部服务器的负载,所述双层检测防火墙通过与防漏洞攻击APT和数据安全服务平台安全设备协同工作,对内部网络中的敏感数据进行分类、监视和保护,并通过智能安全引擎识别SQL注入、跨站脚本攻击XSS和命令注入攻击行为,并识别未知威胁及无补丁漏洞攻击行为,以提高网络安全性和系统稳定性。
在具体实施例中,双层应用防火墙是指一种防火墙安全机制,由两个独立的防火墙组成,一个位于内部网络的边界,另一个位于外部网络的边界。
外部防火墙(也称为边界防火墙)位于网络的边缘,用于保护内部网络,防范来自外部网络的威胁,例如未经授权的远程访问、恶意软件和攻击。外部防火墙过滤并限制外部流量进入内部网络。内部防火墙则位于内部网络的边缘,将互联网分段成多个安全区域,以提高网络安全性。它可以帮助保护内部网络中的重要应用程序和敏感数据免受内部攻击、侵入和滥用。内部防火墙还可以帮助控制内部网络中不同部门之间的流量和访问权限。
双层应用防火墙的优点在于,它提供了多层保护,可以有效地防御外部攻击和内部威胁。即使外部防火墙被攻击和绕过,内部防火墙仍然可以提供额外的保护层,以确保网络和系统的安全。双层应用防火墙也可提供更好的可伸缩性和管理性,因为内部和外部防火墙可以分别管理,易于实现灵活的网络安全策略和更新。
在上述实施例中,所述可视化交互平台基于关联性数据模型获取海量数据源关联数据,以实现多维度数据关联分析,并采用交互式图表、热点图、地图和仪表板实现数据的趋势、关系及变化规律的实时监控,所述可视化交互平台采用Token用户身份验证机制验证访问用户的身份,以提高信息访问的安全性。
在具体实施例中,搭建一个可视化交互平台,用于实时监控和管理推流服务。该平台可以是一个基于Web技术的管理界面,也可以是一个独立的安卓应用程序。用户可以通过该平台查看当前运行的推流服务、监控其状态以及进行必要的操作。在可视化交互平台中,提供相应功能按钮或选项,允许用户对推流服务进行保活操作。这可能包括重新启动已停止的推流进程、调整相关参数以优化性能、发送心跳信号以确保持续连接等。为了更好地监控和管理推流服务,还可以添加日志记录和报警机制。当出现异常情况(如推流服务停止、连接断开等)时,系统可以自动记录相关日志并发送警报通知给管理员或用户。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些具体实施方式仅是举例说明,本领域的技术人员在不脱离本发明的原理和实质的情况下,可以对上述方法和系统的细节进行各种省略、替换和改变。例如,合并上述方法步骤,从而按照实质相同的方法执行实质相同的功能以实现实质相同的结果则属于本发明的范围。因此,本发明的范围仅由所附权利要求书限定。
Claims (6)
1.一种基于安卓手机的推流保活的方法,其特征在于:包括以下步骤:
步骤一、启动应用服务并设置为前台服务,应用服务管理模块通过调用启动命令和启动前台指令实现应用服务的部署和启动,并通过兼容性框架的通知创建操作创建启动通知,以告知用户应用的运行情况,前台服务控制模块通过调用启动前台指令将应用服务设置为前台服务;
步骤二、开始推流,所述前台服务通过推流接口调用推流管理模块,以启动推流服务,所述推流管理模块采用应用程序接口API进行推流进程的创建和推流配置参数的设置,并通过集成第三方库librtmp实现推流服务的启动、保活和停止,所述前台服务通过兼容性框架的通知创建操作推流通知,以维持推流服务的正常运行,所述推流管理模块采用自适应动态调整算法调整推流参数,实现智能推流;
步骤三、启动替身前台服务,在推流服务启动后,通过调用启动前台指令启动替身前台服务,并通过兼容性框架的通知创建操作创建与推流服务相同编号的替身通知,将替身前台服务放在后台,所述替身前台服务通过调用操作和延迟指令不断更新替身通知,以便提高前台进程的优先级;
步骤四、启动定时器,在替身前台服务启动后,所述前台服务控制模块通过调用报警管理指令启动定时器,定时检查前台服务和替身前台服务是否存在并保持活跃状态,前台服务被杀死时,则通过替身前台服务重新启动前台服务,并恢复与用户通信的能力,替身前台服务被杀死时,则重启替身前台服务;
步骤五、检测推流状态并根据推流状态调整推流服务,在推流服务运行过程中,通过推流状态监测模块获取推流状态,并根据网络状态信息进行网络状态的判断和调整,所述推流状态通过状态通知实时更新到前台服务中;
步骤六、安全防护和界面交互,在推流服务运行期间,通过双层检测防火墙和可视化交互平台对推流服务进行实时监控和防护;
步骤七、关闭服务,在推流服务运行结束后,通过调用停止推流指令停止推流服务、前台服务和替身前台服务;
所述定时器通过定时发送心跳包保持推流连接的稳定性,并定时运行轻量级任务触发应用服务保活机制,避免应用服务被系统杀死,所述定时器通过最优计量选择算法选择触发应用服务保活机制的时间间隔,以避免频繁地重启服务;
所述最优计量选择算法基于自适应蚁群算法和粒子群优化算法计算触发应用服务保活机制的时间间隔,所述自适应蚁群算法将每个时间间隔看作一个城市,每条路径代表一个时间间隔序列,初始化信息素为相同的初始值,根据信息素浓度和路径距离,计算每个路径上的蚂蚁选择的概率,概率输出函数公式为:
(1)
在公式(1)中,为每个路径上第k个蚂蚁在第i个路径选择路径j的概率,k为蚂蚁的叙述,i为蚂蚁所在路径,j为蚂蚁下一个选择路径,/>为t时刻路径(i,j)对应的信息素浓度,为t时刻路径(i,j)对应的适应度值,/>为蚂蚁k下一步被允许访问的城市集合,s为允许访问的城市集合元素,/>为t时刻路径(i,s)对应的信息素浓度,/>为t时刻路径(i,j)对应的适应度值,/>,/>为迭代因子;
蚂蚁完成整个路径后,根据路径的质量增加信息素,并根据信息素挥发速度进行信息素的衰减,信息素更新公式为:
(2)
在公式(2)中,为挥发程度,/>1,/>为t+1时刻路径(i,j)对应的信息素浓度,t为迭代时刻,/>为连续收敛次数,/>为信息素浓度,/>为最大信息素浓度,/>为蚂蚁在路径(i,j)上释放的信息素;
所述粒子群优化算法通过迭代优化每个时间间隔所对应的权重,以得到最优计量选择方案,每个粒子根据自身历史最优位置和全局最优位置更新速度和位置,通过不断迭代更新,粒子趋向于全局最优解,粒子速度更新计算公式为:
(3)
在公式(3)中,为迭代时刻t粒子自身速度,/>为迭代时刻t-1粒子自身速度,/>为粒子个体经历过的最好位置,/>为粒子种群经历的最好位置,/>为加速因子,/>为速度矢量;粒子位置更新计算公式为:
(4)
在公式(4)中,为粒子上一迭代时刻位置,通过不断迭代更新位置和速度,粒子收敛到全局最优解或局部最优解。
2.根据权利要求1所述的一种基于安卓手机的推流保活的方法,其特征在于:所述自适应动态调整算法根据网络状况和设备性能计算推流码率和分辨率,实现推流参数的动态调整,所述自适应动态调整算法包括输入层、数据层、模型层、算法层、优化层和输出层,所述自适应动态调整算法的工作方法包括以下步骤:
(1)数据输入,将网络状况、设备性能、推流码率和分辨率进行格式转换,并通过输入层输入至自适应动态调整算法;
(2)确定计算的目标和参数,通过对历史网络状况、设备性能、推流码率和分辨率的分析,确定网络状况和设备性能与推流码率和分辨率的关系,并通过数据层从输入数据中获取计算参数和限制条件,计算参数和限制条件包括计算规模、目标函数、约束条件和变量范围,以保证求解过程的合理性和有效性;
(3)建立数学模型,所述模型层根据网络状况和设备性能与推流码率和分辨率的关系、计算规模、目标函数、约束条件和变量范围建立自适应动态调整算法模型;
(4)计算实时推流码率和分辨率,所述算法层采用自适应动态调整算法模型进行实时迭代计算、参数修正以及计算结果和真实值比较,并通过维护计算节点的邻居列表优化计算速度;
(5)对求解过程进行精细控制和优化,通过优化层合并或拆分计量单位,提高计算的准确性,并通过自适应参数选择方式设置阈值和迭代次数,所述优化层采用并行计算方式将计算任务分配给多个处理器或计算节点,以提高计算速度;
(6)结果输出,通过输出层对计算结果进行输出。
3.根据权利要求1所述的一种基于安卓手机的推流保活的方法,其特征在于:所述推流状态监测模块通过广播接收器监听推流状态的变化,实现推流中断异常情况的及时处理,所述网络状态的异常情况和解决方法包括以下方面:
1)推流连接中断,通过广播接收器获取推流错误代码和错误描述,根据错误代码和描述判断推流中断的原因为网络问题或推流服务错误;
2)推流卡顿,通过检查推流帧率、码率和分辨率参数判断推流设置的可用性,以优化推流性能;
3)编码异常,通过错误代码和错误描述判断编码异常原因,并根据编码异常原因调整编码参数和更换编码器;
4)设备异常,通过异常状态码和异常描述判断设备问题,并对设备进行修复或替换。
4.根据权利要求1所述的一种基于安卓手机的推流保活的方法,其特征在于:所述步骤七中的关闭服务包括以下步骤:
S1、调用控制器的停止前台服务连接指令,断开前台服务的连接;
S2、调用应用管理器服务的停止前台服务连接指令,停止前台服务对象;
S3、调用前台服务的停止服务锁定指令,停止前台服务并释放资源;
S4、前台服务对象被删除或停止,则结束,前台服务对象未被删除或停止,则执行S5操作;
S5、前台服务运行并被替身前台服务所代表,则调用集成开发工具的服务锁定指令,以销毁替身前台服务,并隐藏服务通知栏;
S6、隐藏前台服务的通知,以防止用户手动消除通知,保证前台服务的正常运行和执行;
S7、当没有客户端连接时,将服务对象从前台服务列表中删除,并将应用服务设置为停止状态。
5.根据权利要求1所述的一种基于安卓手机的推流保活的方法,其特征在于:所述双层检测防火墙采用SSL安全套接字层协议加速卡提高安全访问速度和设备性能处理能力,所述SSL安全套接字层协议加速卡通过加速安全套接字层和传输层连接的处理过程,以缩短用户访问时间和减轻防火墙内部服务器的负载,所述双层检测防火墙通过与防漏洞攻击APT和数据安全服务平台安全设备协同工作,对内部网络中的敏感数据进行分类、监视和保护,并通过智能安全引擎识别SQL注入、跨站脚本攻击XSS和命令注入攻击行为,并识别未知威胁及无补丁漏洞攻击行为,以提高网络安全性和系统稳定性。
6.根据权利要求1所述的一种基于安卓手机的推流保活的方法,其特征在于:所述可视化交互平台基于关联性数据模型获取海量数据源关联数据,以实现多维度数据关联分析,并采用交互式图表、热点图、地图和仪表板实现数据的趋势、关系及变化规律的实时监控,所述可视化交互平台采用Token用户身份验证机制验证访问用户的身份,以提高信息访问的安全性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311161635.5A CN117170847B (zh) | 2023-09-09 | 2023-09-09 | 一种基于安卓手机的推流保活的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311161635.5A CN117170847B (zh) | 2023-09-09 | 2023-09-09 | 一种基于安卓手机的推流保活的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117170847A CN117170847A (zh) | 2023-12-05 |
CN117170847B true CN117170847B (zh) | 2024-03-22 |
Family
ID=88935168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311161635.5A Active CN117170847B (zh) | 2023-09-09 | 2023-09-09 | 一种基于安卓手机的推流保活的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170847B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708617A (zh) * | 2016-12-23 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 一种基于Service的应用进程保活系统及保活方法 |
CN109379337A (zh) * | 2018-09-18 | 2019-02-22 | 四川长虹电器股份有限公司 | 一种安卓平台下应用进程的保活方法 |
CN109766178A (zh) * | 2019-01-16 | 2019-05-17 | 四川科瑞软件有限责任公司 | 一种安卓系统下的应用进程保活系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230034770A1 (en) * | 2021-07-30 | 2023-02-02 | Stripe, Inc. | Asynchronous statistic-based rate limiting in distributed system |
-
2023
- 2023-09-09 CN CN202311161635.5A patent/CN117170847B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708617A (zh) * | 2016-12-23 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 一种基于Service的应用进程保活系统及保活方法 |
CN109379337A (zh) * | 2018-09-18 | 2019-02-22 | 四川长虹电器股份有限公司 | 一种安卓平台下应用进程的保活方法 |
CN109766178A (zh) * | 2019-01-16 | 2019-05-17 | 四川科瑞软件有限责任公司 | 一种安卓系统下的应用进程保活系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117170847A (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2016234999B2 (en) | Path scanning for the detection of anomalous subgraphs and use of dns requests and host agents for anomaly/change detection and network situational awareness | |
US11025667B2 (en) | System and method for applying a plurality of interconnected filters to protect a computing device from a distributed denial-of-service attack | |
EP3178216B1 (en) | Data center architecture that supports attack detection and mitigation | |
US10432650B2 (en) | System and method to protect a webserver against application exploits and attacks | |
CN111193719A (zh) | 一种网络入侵防护系统 | |
US10798061B2 (en) | Automated learning of externally defined network assets by a network security device | |
US9654445B2 (en) | Network traffic filtering and routing for threat analysis | |
US20140331280A1 (en) | Network Privilege Manager for a Dynamically Programmable Computer Network | |
US10785248B2 (en) | Routing based on a vulnerability in a processing node | |
US20230007012A1 (en) | Detecting attacks and quarantining malware infected devices | |
US20170048261A1 (en) | Selecting from computing nodes for correlating events | |
US20200167342A1 (en) | System for Secure Software Defined Networking Based on Block-Chain and Method Thereof | |
Khalaf et al. | A simulation study of syn flood attack in cloud computing environment | |
CN108810008B (zh) | 传输控制协议流量过滤方法、装置、服务器及存储介质 | |
US10735453B2 (en) | Network traffic filtering and routing for threat analysis | |
CN115051836B (zh) | 基于sdn的apt攻击动态防御方法及系统 | |
WO2016032491A1 (en) | Distributed detection of malicious cloud actors | |
US20110023088A1 (en) | Flow-based dynamic access control system and method | |
CN117170847B (zh) | 一种基于安卓手机的推流保活的方法 | |
CN112350939A (zh) | 旁路阻断方法、系统、装置、计算机设备及存储介质 | |
CN117938728B (zh) | 服务器集群中边缘节点的路由方法、装置、设备及介质 | |
US20230051016A1 (en) | Systems and methods for network monitoring, reporting, and risk mitigation | |
CN115694853A (zh) | 一种攻击防护方法、装置、电子设备及存储介质 | |
CN115664732A (zh) | 网关安全接入控制方法、设备以及计算机可读存储介质 | |
Bhondele et al. | Network management framework for Network forensic analysis |
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 |