一种电子设备事件定时订阅方法、系统、设备及介质与流程
未命名
07-13
阅读:237
评论:0
1.本发明涉及linux嵌入式电子设备技术领域,特别指一种电子设备事件定时订阅方法、系统、设备及介质。
背景技术:
2.在对linux嵌入式电子设备的应用进行开发过程中,会遇到需要定时执行某一事件的需求,例如电子设备需要定时清理内存、定时开关机等,当拥有多个定时事件时,需要考虑各事件的执行效率。针对事件的定时执行(订阅),传统上需要借助linux系统本身的事件订阅功能,但每次只能同时存在单个事件,无法做到多个事件共存,且当事件数目过多时,执行的效率也会下降,事件的管理也存在管理混淆的风险。
3.因此,如何提供一种电子设备事件定时订阅方法、系统、设备及介质,实现提升事件管理的效率以及可靠性,成为一个亟待解决的技术问题。
技术实现要素:
4.本发明要解决的技术问题,在于提供一种电子设备事件定时订阅方法、系统、设备及介质,实现提升事件管理的效率以及可靠性。
5.第一方面,本发明提供了一种电子设备事件定时订阅方法,包括如下步骤:
6.步骤s10、电子设备创建一线程池,通过开放式接口获取订阅的事件;
7.步骤s20、电子设备在所述线程池内分别为各事件创建一线程;
8.步骤s30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;
9.步骤s40、电子设备对执行的所述事件进行监听,并保存监听日志;
10.步骤s50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。
11.进一步地,所述步骤s10中,所述事件携带事件id、间隔执行时间以及事件任务。
12.进一步地,所述步骤s30具体为:
13.所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。
14.进一步地,所述步骤s40具体为:
15.电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;
16.所述步骤s50具体为:
17.电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。
18.第二方面,本发明提供了一种电子设备事件定时订阅系统,包括如下模块:
19.事件获取模块,用于电子设备创建一线程池,通过开放式接口获取订阅的事件;
20.线程创建模块,用于电子设备在所述线程池内分别为各事件创建一线程;
21.事件执行模块,用于所述线程基于事件携带的间隔执行时间,定时执行所述事件;
22.事件监听模块,用于电子设备对执行的所述事件进行监听,并保存监听日志;
23.事件注销模块,用于电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。
24.进一步地,所述事件获取模块中,所述事件携带事件id、间隔执行时间以及事件任务。
25.进一步地,所述事件执行模块具体用于:
26.所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。
27.进一步地,所述事件监听模块具体用于:
28.电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;
29.所述事件注销模块具体用于:
30.电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。
31.第三方面,本发明提供了一种电子设备事件定时订阅设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
32.第四方面,本发明提供了一种电子设备事件定时订阅介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
33.本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
34.1、通过创建线程池,在线程池内为获取的各事件分别创建一线程,各线程基于间隔执行时间定时执行事件,基于注销指令携带的事件id从线程池中匹配对应的线程,注销线程以停止执行对应的事件,即通过创建的线程池对多个事件同时进行快速注册、执行、注销,克服传统上linux系统本身的事件订阅功能每次只能同时存在单个事件的缺点,进而极大的提升了事件管理的效率;
35.2、通过对执行的事件进行心跳监听,判断正在执行的线程数与事件数是否匹配,不匹配则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志并保存,即线程数与事件数不匹配时可立即收到错误提醒,保存的监听日志便于后期溯源和故障定位,进而极大的提升了事件管理的可靠性。
36.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
37.下面参照附图结合实施例对本发明作进一步的说明。
38.图1是本发明一种电子设备事件定时订阅方法的流程图。
39.图2是本发明一种电子设备事件定时订阅系统的结构示意图。
40.图3是本发明一种电子设备事件定时订阅设备的结构示意图。
41.图4是本发明一种电子设备事件定时订阅介质的结构示意图。
具体实施方式
42.本技术实施例通过提供一种电子设备事件定时订阅方法、系统、设备及介质,实现提升事件管理的效率以及可靠性。
43.本技术实施例中的技术方案,总体思路如下:通过创建的线程池对多个事件同时进行快速注册、执行、注销,克服传统上linux系统本身的事件订阅功能每次只能同时存在单个事件的缺点,以提升事件管理的效率;通过对执行的事件进行心跳监听,当正在执行的线程数与事件数不匹配时,生成错误提醒、生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志并保存,以提升事件管理的可靠性。
44.实施例一
45.本实施例提供一种电子设备事件定时订阅方法,如图1所示,包括如下步骤:
46.步骤s10、电子设备创建一线程池,通过开放式接口获取订阅的事件;
47.步骤s20、电子设备在所述线程池内分别为各事件创建一线程;
48.步骤s30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;
49.步骤s40、电子设备对执行的所述事件进行监听,并保存监听日志;
50.步骤s50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。
51.所述步骤s10中,所述事件携带事件id、间隔执行时间以及事件任务,基于所述事件id、间隔执行时间以及事件任务即可对事件进行注册。
52.所述步骤s30具体为:
53.所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数,如此循环往复。
54.例如需要每隔1天定时重启,传入重启事件,和执行重启事件,当1天时间倒计时结束,则自动进行重启操作。
55.所述步骤s40具体为:
56.电子设备对执行的所述事件进行心跳监听,基于优先级最高的定时事件,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;所述预设时长优选为1分钟;
57.所述步骤s50具体为:
58.电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对
应的线程,注销所述线程以停止执行对应的事件。
59.实施例二
60.本实施例提供一种电子设备事件定时订阅系统,如图2所示,包括如下模块:
61.事件获取模块,用于电子设备创建一线程池,通过开放式接口获取订阅的事件;
62.线程创建模块,用于电子设备在所述线程池内分别为各事件创建一线程;
63.事件执行模块,用于所述线程基于事件携带的间隔执行时间,定时执行所述事件;
64.事件监听模块,用于电子设备对执行的所述事件进行监听,并保存监听日志;
65.事件注销模块,用于电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。
66.所述事件获取模块中,所述事件携带事件id、间隔执行时间以及事件任务,基于所述事件id、间隔执行时间以及事件任务即可对事件进行注册。
67.所述事件执行模块具体用于:
68.所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数,如此循环往复。
69.例如需要每隔1天定时重启,传入重启事件,和执行重启事件,当1天时间倒计时结束,则自动进行重启操作。
70.所述事件监听模块具体用于:
71.电子设备对执行的所述事件进行心跳监听,基于优先级最高的定时事件,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;所述预设时长优选为1分钟;
72.所述事件注销模块具体用于:
73.电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。
74.基于同一发明构思,本技术提供了实施例一对应的电子设备实施例,详见实施例三。
75.实施例三
76.本实施例提供了一种电子设备事件定时订阅设备,如图3所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
77.由于本实施例所介绍的电子设备为实施本技术实施例一中方法所采用的设备,故而基于本技术实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本技术实施例中的方法不再详细介绍。只要本领域所属技术人员实施本技术实施例中的方法所采用的设备,都属于本技术所欲保护的范围。
78.基于同一发明构思,本技术提供了实施例一对应的存储介质,详见实施例四。
79.实施例四
80.本实施例提供一种电子设备事件定时订阅介质,如图4所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
81.由于本实施例所介绍的存储介质为实施本技术实施例一中方法所采用的存储介质,故而基于本技术实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的存储介质的具体实施方式以及其各种变化形式,所以在此对于该存储介质如何实现本技术实施例中的方法不再详细介绍。只要本领域所属技术人员实施本技术实施例中的方法所采用的存储介质,都属于本技术所欲保护的范围。
82.本技术实施例中提供的技术方案,至少具有如下技术效果或优点:
83.1、通过创建线程池,在线程池内为获取的各事件分别创建一线程,各线程基于间隔执行时间定时执行事件,基于注销指令携带的事件id从线程池中匹配对应的线程,注销线程以停止执行对应的事件,即通过创建的线程池对多个事件同时进行快速注册、执行、注销,克服传统上linux系统本身的事件订阅功能每次只能同时存在单个事件的缺点,进而极大的提升了事件管理的效率;
84.2、通过对执行的事件进行心跳监听,判断正在执行的线程数与事件数是否匹配,不匹配则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志并保存,即线程数与事件数不匹配时可立即收到错误提醒,保存的监听日志便于后期溯源和故障定位,进而极大的提升了事件管理的可靠性。
85.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
86.本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
87.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
88.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
89.虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的
权利要求所保护的范围内。
技术特征:
1.一种电子设备事件定时订阅方法,其特征在于:包括如下步骤:步骤s10、电子设备创建一线程池,通过开放式接口获取订阅的事件;步骤s20、电子设备在所述线程池内分别为各事件创建一线程;步骤s30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;步骤s40、电子设备对执行的所述事件进行监听,并保存监听日志;步骤s50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。2.如权利要求1所述的一种电子设备事件定时订阅方法,其特征在于:所述步骤s10中,所述事件携带事件id、间隔执行时间以及事件任务。3.如权利要求1所述的一种电子设备事件定时订阅方法,其特征在于:所述步骤s30具体为:所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。4.如权利要求1所述的一种电子设备事件定时订阅方法,其特征在于:所述步骤s40具体为:电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;所述步骤s50具体为:电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。5.一种电子设备事件定时订阅系统,其特征在于:包括如下模块:事件获取模块,用于电子设备创建一线程池,通过开放式接口获取订阅的事件;线程创建模块,用于电子设备在所述线程池内分别为各事件创建一线程;事件执行模块,用于所述线程基于事件携带的间隔执行时间,定时执行所述事件;事件监听模块,用于电子设备对执行的所述事件进行监听,并保存监听日志;事件注销模块,用于电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。6.如权利要求5所述的一种电子设备事件定时订阅系统,其特征在于:所述事件获取模块中,所述事件携带事件id、间隔执行时间以及事件任务。7.如权利要求5所述的一种电子设备事件定时订阅系统,其特征在于:所述事件执行模块具体用于:所述线程启动一个死循环函数,所述死循环函数以秒为单位进行计时,当计时达到所述事件携带的间隔执行时间时,所述线程跳出死循环函数执行事件,当所述事件执行完成后,所述线程重新启动死循环函数。8.如权利要求5所述的一种电子设备事件定时订阅系统,其特征在于:所述事件监听模块具体用于:
电子设备对执行的所述事件进行心跳监听,每隔预设时长对所述线程池中正在执行的线程进行遍历,判断线程数与事件数是否匹配,若是,则生成监听正常的监听日志,并保存所述监听日志;若否,则生成错误提醒,生成携带事件id、事件任务、事件创建时间以及事件停止时间的监听日志,并保存所述监听日志;所述事件注销模块具体用于:电子设备通过开放式接口接收注销指令,基于所述注销指令携带的事件id匹配对应的线程,注销所述线程以停止执行对应的事件。9.一种电子设备事件定时订阅设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。10.一种电子设备事件定时订阅介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
技术总结
本发明提供了linux嵌入式电子设备技术领域的一种电子设备事件定时订阅方法、系统、设备及介质,方法包括如下步骤:步骤S10、电子设备创建一线程池,通过开放式接口获取订阅的事件;步骤S20、电子设备在所述线程池内分别为各事件创建一线程;步骤S30、所述线程基于事件携带的间隔执行时间,定时执行所述事件;步骤S40、电子设备对执行的所述事件进行监听,并保存监听日志;步骤S50、电子设备基于接收的注销指令注销对应的线程,进而停止执行对应的所述事件。本发明的优点在于:极大的提升了事件管理的效率以及可靠性。理的效率以及可靠性。理的效率以及可靠性。
技术研发人员:赖茂林 袁苇 张宏辉
受保护的技术使用者:福建新大陆通信科技股份有限公司
技术研发日:2023.03.03
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:预制箱梁湿接缝现浇装置的制作方法 下一篇:一种虚拟游戏的武器切换方法和装置与流程
