一种电子设备事件定时订阅方法、系统、设备及介质技术方案

技术编号:38160896 阅读:8 留言:0更新日期:2023-07-13 09:33
本发明专利技术提供了linux嵌入式电子设备技术领域的一种电子设备事件定时订阅方法、系统、设备及介质,方法包括如下步骤:步骤S10、电子设备创建一线程池,通过开放式接口获取订阅的事件;步骤S20、电子设备在所述线程池内分别为各事件创建一线程;步骤S30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;步骤S40、电子设备对执行的所述事件进行监听,并保存监听日志;步骤S50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。本发明专利技术的优点在于:极大的提升了事件管理的效率以及可靠性。理的效率以及可靠性。理的效率以及可靠性。

【技术实现步骤摘要】
一种电子设备事件定时订阅方法、系统、设备及介质


[0001]本专利技术涉及linux嵌入式电子设备
,特别指一种电子设备事件定时订阅方法、系统、设备及介质。

技术介绍

[0002]在对linux嵌入式电子设备的应用进行开发过程中,会遇到需要定时执行某一事件的需求,例如电子设备需要定时清理内存、定时开关机等,当拥有多个定时事件时,需要考虑各事件的执行效率。针对事件的定时执行(订阅),传统上需要借助linux系统本身的事件订阅功能,但每次只能同时存在单个事件,无法做到多个事件共存,且当事件数目过多时,执行的效率也会下降,事件的管理也存在管理混淆的风险。
[0003]因此,如何提供一种电子设备事件定时订阅方法、系统、设备及介质,实现提升事件管理的效率以及可靠性,成为一个亟待解决的技术问题。

技术实现思路

[0004]本专利技术要解决的技术问题,在于提供一种电子设备事件定时订阅方法、系统、设备及介质,实现提升事件管理的效率以及可靠性。
[0005]第一方面,本专利技术提供了一种电子设备事件定时订阅方法,包括如下步骤:
[0006]步骤S10、电子设备创建一线程池,通过开放式接口获取订阅的事件;
[0007]步骤S20、电子设备在所述线程池内分别为各事件创建一线程;
[0008]步骤S30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;
[0009]步骤S40、电子设备对执行的所述事件进行监听,并保存监听日志;
[0010]步骤S50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。
[0011]进一步地,所述步骤S10中,所述事件携带事件id、间隔执行时间以及事件任务。
[0012]进一步地,所述步骤S30具体为:
[0013]所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。
[0014]进一步地,所述步骤S40具体为:
[0015]电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;
[0016]所述步骤S50具体为:
[0017]电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。
[0018]第二方面,本专利技术提供了一种电子设备事件定时订阅系统,包括如下模块:
[0019]事件获取模块,用于电子设备创建一线程池,通过开放式接口获取订阅的事件;
[0020]线程创建模块,用于电子设备在所述线程池内分别为各事件创建一线程;
[0021]事件执行模块,用于所述线程基于事件携带的间隔执行时间,定时执行所述事件;
[0022]事件监听模块,用于电子设备对执行的所述事件进行监听,并保存监听日志;
[0023]事件注销模块,用于电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。
[0024]进一步地,所述事件获取模块中,所述事件携带事件id、间隔执行时间以及事件任务。
[0025]进一步地,所述事件执行模块具体用于:
[0026]所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。
[0027]进一步地,所述事件监听模块具体用于:
[0028]电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;
[0029]所述事件注销模块具体用于:
[0030]电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。
[0031]第三方面,本专利技术提供了一种电子设备事件定时订阅设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
[0032]第四方面,本专利技术提供了一种电子设备事件定时订阅介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
[0033]本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0034]1、通过创建线程池,在线程池内为获取的各事件分别创建一线程,各线程基于间隔执行时间定时执行事件,基于注销指令携带的事件id从线程池中匹配对应的线程,注销线程以停止执行对应的事件,即通过创建的线程池对多个事件同时进行快速注册、执行、注销,克服传统上linux系统本身的事件订阅功能每次只能同时存在单个事件的缺点,进而极大的提升了事件管理的效率;
[0035]2、通过对执行的事件进行心跳监听,判断正在执行的线程数与事件数是否匹配,不匹配则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志并保存,即线程数与事件数不匹配时可立即收到错误提醒,保存的监听日志便于后期溯源和故障定位,进而极大的提升了事件管理的可靠性。
[0036]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0037]下面参照附图结合实施例对本专利技术作进一步的说明。
[0038]图1是本专利技术一种电子设备事件定时订阅方法的流程图。
[0039]图2是本专利技术一种电子设备事件定时订阅系统的结构示意图。
[0040]图3是本专利技术一种电子设备事件定时订阅设备的结构示意图。
[0041]图4是本专利技术一种电子设备事件定时订阅介质的结构示意图。
具体实施方式
[0042]本申请实施例通过提供一种电子设备事件定时订阅方法、系统、设备及介质,实现提升事件管理的效率以及可靠性。
[0043]本申请实施例中的技术方案,总体思路如下:通过创建的线程池对多个事件同时进行快速注册、执行、注销,克服传统上linux系统本身的事件订阅功能每次只能同时存在单个事件的缺点,以提升事件管理的效率;通过对执行的事件进行心跳监听,当正在执行的线程数与事件数不匹配时,生成错误提醒、生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志并保存,以提升事本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电子设备事件定时订阅方法,其特征在于:包括如下步骤:步骤S10、电子设备创建一线程池,通过开放式接口获取订阅的事件;步骤S20、电子设备在所述线程池内分别为各事件创建一线程;步骤S30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;步骤S40、电子设备对执行的所述事件进行监听,并保存监听日志;步骤S50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。2.如权利要求1所述的一种电子设备事件定时订阅方法,其特征在于:所述步骤S10中,所述事件携带事件id、间隔执行时间以及事件任务。3.如权利要求1所述的一种电子设备事件定时订阅方法,其特征在于:所述步骤S30具体为:所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。4.如权利要求1所述的一种电子设备事件定时订阅方法,其特征在于:所述步骤S40具体为:电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;所述步骤S50具体为:电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。5.一种电子设备事件定时订阅系统,其特征在于:包括如下模块:事件获取模块,用于电子设备创建一线程池,通过开放式接口获取订阅的事件;线程创建模块,用于电子设备在所述线程池内分别为各事件创建...

【专利技术属性】
技术研发人员:赖茂林袁苇张宏辉
申请(专利权)人:福建新大陆通信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1