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

一种通信模组异常运行的处理方法及装置与流程

2022-11-09 21:51:29 来源:中国专利 TAG:


1.本发明涉及通讯模组检测技术领域,尤其涉及一种通信模组异常运行的处理方法及装置。


背景技术:

2.为了保证通信模组的正常工作,对于通信模组运行状态的检测必不可少。现有技术中,对于系统内部,软件层面上常用进程守护技术进行通信模组运行状态的检测:当被监视程序异常退出时,由监视进程重新拉起,以确保进程所提供的服务的连续性;硬件层面上则通常采用采取看门狗技术:系统进程定期发送喂狗信号,重置看门狗定时器。当进程出现异常,无法在看门狗定时器超时前喂狗,则cpu会发起系统层面的复位。对于跨系统场景,通常采取轮询的方式检测目标设备运行状态:例如定期发送指令至目标设备,若在一定时间内没有收到响应,则判定目标设备状态异常,进一步执行相关复位操作。
3.但是,看门狗技术通常时采用整机重启方式恢复异常,其导致的系统中断时长通常较长,影响使用体验。
4.由上述可得,现有的通信模组异常运行的处理方法存在效率低下的问题。


技术实现要素:

5.本发明实施例提供一种通信模组异常运行的处理方法及装置,提高了对于异常运行的通信模组的处理效率。
6.本技术实施例的第一方面提供了一种通信模组异常运行的处理方法,包括:
7.通过adb通道向通信模组发送拨号指令;
8.通过adb通道获取通信模组内拨号服务的运行状态;
9.当根据运行状态判定拨号服务为异常运行时,更新第一异常运行次数并重新启动拨号服务;
10.当第一异常运行次数等于第一预设数值时,判定通信模组出现异常,重新启动通信模组。
11.在第一方面的一种可能的实现方式中,根据运行状态判定拨号服务为异常运行,具体为:
12.通过adb通道获取通信模组的进程列表,根据进程列表判定拨号服务正在运行时,向通信模组发送取消拨号指令;
13.若在预设时段内,没有收到拨号服务发送的响应指令、或者响应指令出错,则判定拨号服务为异常运行。
14.在第一方面的一种可能的实现方式中,还包括:
15.当根据进程列表判定拨号服务不存在时,重新启动拨号服务。
16.在第一方面的一种可能的实现方式中,当根据运行状态判定拨号服务为正常运行时,向通信模组发送取消拨号指令,通过adb通道向通信模组发送拨号指令。
17.在第一方面的一种可能的实现方式中,还包括:
18.通过at通道获取通信模组的当前无线电状态;
19.当当前无线电状态为飞行模式时,控制通信模组退出飞行模式以进行搜网动作和注网动作;
20.当通信模组无法成功退出飞行模式时,更新第二异常次数;
21.重复控制通信模组退出飞行模式,直至通信模组成功退出飞行模式;
22.当第二异常次数等于第二预设数值时,判定通信模组出现异常,重新启动通信模组。
23.在第一方面的一种可能的实现方式中,还包括:
24.通过at通道获取通信模组的当前注册状态;
25.当当前注册状态为未注册时,更新第三异常次数;
26.当第三异常次数等于第三预设数值时,判定通信模组存在搜网异常,关闭通信模组的无线电,并通过at通道获取通信模组的当前无线电状态。
27.在第一方面的一种可能的实现方式中,还包括:
28.通过at通道获取当前网侧分配给通信模组的ip地址;
29.获取通信模组的网卡接口ip地址;
30.对通信模组的ip地址与网卡接口ip地址进行比对,当通信模组的ip地址与网卡接口ip地址不一致时,通过at通道获取通信模组的当前注册状态。
31.本技术实施例的第二方面提供了一种通信模组异常运行的处理装置,包括:发送模块、获取模块、第一重启模块和第二重启模块;
32.其中,发送模块用于通过adb通道向通信模组发送拨号指令;
33.获取模块用于通过adb通道获取通信模组内拨号服务的运行状态;
34.第一重启模块用于当根据运行状态判定拨号服务为异常运行时,更新第一异常运行次数并重新启动拨号服务;
35.第二重启模块用于当第一异常运行次数等于第一预设数值时,判定通信模组出现异常,重新启动通信模组。
36.在第二方面的一种可能的实现方式中,根据运行状态判定拨号服务为异常运行,具体为:
37.通过adb通道获取通信模组的进程列表,根据进程列表判定拨号服务正在运行时,向通信模组发送取消拨号指令;
38.若在预设时段内,没有收到拨号服务发送的响应指令、或者响应指令出错,则判定拨号服务为异常运行。
39.在第二方面的一种可能的实现方式中,还包括:
40.当根据进程列表判定拨号服务不存在时,重新启动拨号服务。
41.相比于现有技术,本发明实施例提供的一种通信模组异常运行的处理方法及装置,所述方法包括:通过adb通道向通信模组发送拨号指令;通过adb通道获取通信模组内拨号服务的运行状态;当根据运行状态判定拨号服务为异常运行时,更新第一异常运行次数并重新启动拨号服务;当第一异常运行次数等于第一预设数值时,判定通信模组出现异常,重新启动通信模组。
42.其有益效果在于:本发明实施例通过adb通道获取通信模组内拨号服务的运行状态,能够克服仅通过at通道获取拨号服务的运行状态的局限性,能够快速获取拨号服务的运行状态,从而快速判定拨号服务是否为异常运行。同时,本发明实施例在拨号服务异常运行时,优先尝试从通信模组内部重启拨号服务,直至异常运行次数满足条件时,才重新启动通信模组。由于重启拨号服务所需时间远远低于重新启动通信模组所需时间,所以若单独重启拨号服务便能解决异常,则无需一昧地重新启动通信模组,大大降低了解决异常的时间,提高了对于异常运行的通信模组的处理效率。
43.进一步地,本发明实施例通过at通道获取当前网侧分配给通信模组的ip地址和网卡接口ip地址,并对通信模组的ip地址与网卡接口ip地址进行比对,能够确保路由器底板与通信模组的运行状态保持同步,从而保证了通信模组异常运行的处理精度。
附图说明
44.图1是本发明一实施例提供的一种通信模组异常运行的处理方法的流程示意图;
45.图2是本发明一实施例提供的一种通信模组异常运行的处理装置的结构示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.参照图1,是本发明一实施例提供的一种通信模组异常运行的处理方法的流程示意图,包括s101-s104:
48.s101:通过adb通道向通信模组发送拨号指令。s102:通过adb通道获取通信模组内拨号服务的运行状态。
49.s103:当根据运行状态判定拨号服务为异常运行时,更新第一异常运行次数并重新启动拨号服务。
50.在本实施例中,所述根据所述运行状态判定所述拨号服务为异常运行,具体为:
51.通过所述adb通道获取所述通信模组的进程列表,根据所述进程列表判定所述拨号服务正在运行时,向所述通信模组发送取消拨号指令;
52.若在预设时段内,没有收到所述拨号服务发送的响应指令、或者所述响应指令出错,则判定所述拨号服务为异常运行。
53.在一具体实施例中,还包括:
54.当根据所述进程列表判定所述拨号服务不存在时,重新启动所述拨号服务。
55.在一具体实施例中,当根据所述运行状态判定所述拨号服务为正常运行时,向所述通信模组发送所述取消拨号指令,通过所述adb通道向所述通信模组发送所述拨号指令。
56.s104:当第一异常运行次数等于第一预设数值时,判定通信模组出现异常,重新启动通信模组。
57.在本实施例中,还包括:
58.通过at通道获取所述通信模组的当前无线电状态;
59.当所述当前无线电状态为飞行模式时,控制所述通信模组退出所述飞行模式以进行搜网动作和注网动作;
60.当所述通信模组无法成功退出所述飞行模式时,更新第二异常次数;
61.重复控制所述通信模组退出所述飞行模式,直至所述通信模组成功退出所述飞行模式;
62.当所述第二异常次数等于第二预设数值时,判定所述通信模组出现异常,重新启动所述通信模组。
63.其中,at通道为一种用于控制终端(如modem)的指令,是attention的简写,指令格式以at开头。在发明实施例中,用于路由器底板与通讯模组的数据交互。
64.在本实施例中,还包括:
65.通过所述at通道获取所述通信模组的当前注册状态;
66.当所述当前注册状态为未注册时,更新第三异常次数;
67.当所述第三异常次数等于第三预设数值时,判定所述通信模组存在搜网异常,关闭所述通信模组的无线电,并通过所述at通道获取所述通信模组的所述当前无线电状态。
68.在一具体实施例中,还包括:
69.通过所述at通道获取当前网侧分配给所述通信模组的ip地址;
70.获取所述通信模组的网卡接口ip地址;
71.对所述通信模组的ip地址与所述网卡接口ip地址进行比对,当所述通信模组的ip地址与所述网卡接口ip地址不一致时,通过所述at通道获取所述通信模组的所述当前注册状态。
72.进一步地,本发明实施例的硬件部分包括:路由器底板和通信模组,路由器底板和通信模组都有独立的cpu、ram、存储器等部件,均运行基于linux内核的操作系统,两者通过usb总线进行连接,路由器底板作为usb host,通信模组作为usb device。
73.路由器底板提供wlan接入、防火墙、路由、用户界面等面向用户侧的业务;通信模组提供与运营商网络侧建立数据链路、语音通话、短信收发等功能。路由器底板和通信模组基于usb物理通道,在逻辑上通过at指令和adb(android debug bridge)两种协议进行交互:at指令用于控制通信业务,由底板向模组发送执行网络搜索、拨号、短信收发等命令。adb用于控制系统业务,由底板向模组方向执行linux shell指令,实现模组内系统运行状态的查询和控制。
74.本发明一优选实施例提供了通信模组异常运行具体处理流程,包括s1101-s1104:
75.s1101:路由器底板通过at通道向通信模组发送at cfun?指令,以获取模组当前无线电状态;若通信模组返回 cfun:0,表明通信模组当前处于飞行模式,进一步发送at cfun=1指令使通信模组退出飞行模式以进行搜网和注网动作。并重复执行at cfun?指令验证当前无线电状态:若读出结果返回 cfun:1则表明正确退出飞行模式,进入s1102;若读出结果返回 cfun:0,则判定通信模组无法成功退出所述飞行模式,更新第二异常次数,并重复控制通信模组退出飞行模式,直至通信模组成功退出飞行模式;当第二异常次数达5次(即等于第二预设数值),则判定通信模组出现异常,重新启动通信模组。
76.s1102:路由器底板通过at通道向通信模组发送at creg?; cereg?; cgreg?指令获取当前注册状态。当当前注册状态为注册失败时,更新第三异常次数;当第三异常次数达
120次(即等于第三预设数值)则判定通信模组存在搜网异常,发送at cfun=0关闭通信模组的无线电,返回s1101;否则进入s1103。
77.s1103:路由器底板通过adb通道向通信模组下发拨号指令,并进入s1104。
78.s1104:路由器底板通过at通道性发送at cgcontrdp=《cid》以查询当前网侧分配给通信模组的ip地址,获取本机查询到的通信模组的网卡接口ip地址;将通信模组的ip地址与本机查询到的网卡接口ip地址进行比较。
79.进一步地,若通信模组的ip地址与本机查询到的网卡接口ip地址一致,则重置异常计数器,并重复执行s1104,直至通信模组的ip地址与本机查询到的网卡接口ip地址一致、或者查询当前网侧分配给通信模组的ip地址时出现了失败为止。
80.若通信模组的ip地址与本机查询到的网卡接口ip地址一致、或者查询当前网侧分配给通信模组的ip地址时出现了失败,则发送指令at creg?; cereg?; cgreg?指令获取通信模组的当前注册状态。若当前注册状态显示未注册,则返回s1102,直至查询到当前注册状态为已注册为止;若仍处于注册状态则累加异常计数器,通过adb通道查询通信模组内拨号服务的运行状态,若根据运行状态判定拨号服务异常则更新第一异常运行次数并重新启动拨号服务;若根据运行状态判定拨号服务正常(在通信模组的ip地址与本机查询到的网卡接口ip地址一致、或者查询当前网侧分配给通信模组的ip地址时出现了失败的前提下),则执行取消拨号指令,并返回s1103。当第一异常运行次数达3次(即等于第一预设数值),则认为通信模组出现异常且不可恢复,重新启动通信模组。
81.其中,s1101-s1102为搜网阶段,s1103为拨号阶段,s1104为保活阶段。
82.进一步地,判断拨号服务是否异常的流程如下:
83.路由器底板通过adb通道获取通信模组内部正在运行的进程列表,根据进程列表判断拨号服务是否正在运行。若正在运行,则启动定时器,并向模组发送取消拨号指令,用于探测拨号服务能否在限定时间内正常响应,定时器时间为2秒(即预设时段),若在2秒内没有收到拨号服务发送的响应指令、或响应指令包含错误信息(即响应指令出错),则判定拨号服务为异常运行,结束拨号服务并重新启动;若拨号服务进程不存在,则认为该服务已经崩溃退出,直接重新启动拨号服务。
84.其中,at cgcontrdp?指令用于查询当前激活的pdp参数,例如apn、ip地址、子网掩码、网关地址、dns等;at cfun指令用于控制通信模组飞行模式状态;at creg?; cereg?; cgreg?指令属于扩展at格式,由下列指令(即at creg?、at cereg?和at cgreg?)组合而成,三者同时查询用于确定当前移动网络注册状态(已注册或未注册);at creg?用于查询注册状态、接入类型和服务小区编号;at cereg?指令用于查询eps注册状态;at cgreg?指令用于查询gprs注册状态。
85.为了进一步说明通信模组异常运行的处理装置,请参照图2,图2是本发明一实施例提供的一种通信模组异常运行的处理装置的结构示意图,包括:发送模块201、获取模块202、第一重启模块203和第二重启模块204;
86.其中,所述发送模块201用于通过adb通道向通信模组发送拨号指令;
87.所述获取模块202用于通过所述adb通道获取所述通信模组内拨号服务的运行状态;
88.所述第一重启模块203用于当根据所述运行状态判定所述拨号服务为异常运行
时,更新第一异常运行次数并重新启动所述拨号服务;
89.所述第二重启模块204用于当所述第一异常运行次数等于第一预设数值时,判定所述通信模组出现异常,重新启动所述通信模组。
90.在本实施例中,所述根据所述运行状态判定所述拨号服务为异常运行,具体为:
91.通过所述adb通道获取所述通信模组的进程列表,根据所述进程列表判定所述拨号服务正在运行时,向所述通信模组发送取消拨号指令;
92.若在预设时段内,没有收到所述拨号服务发送的响应指令、或者所述响应指令出错,则判定所述拨号服务为异常运行。
93.在本实施例中,还包括:
94.当根据所述进程列表判定所述拨号服务不存在时,重新启动所述拨号服务。
95.在一具体实施例中,当根据所述运行状态判定所述拨号服务为正常运行时,向所述通信模组发送所述取消拨号指令,通过所述adb通道向所述通信模组发送所述拨号指令。
96.在一具体实施例中,还包括:
97.通过at通道获取所述通信模组的当前无线电状态;
98.当所述当前无线电状态为飞行模式时,控制所述通信模组退出所述飞行模式以进行搜网动作和注网动作;
99.当所述通信模组无法成功退出所述飞行模式时,更新第二异常次数;
100.重复控制所述通信模组退出所述飞行模式,直至所述通信模组成功退出所述飞行模式;
101.当所述第二异常次数等于第二预设数值时,判定所述通信模组出现异常,重新启动所述通信模组。
102.在一具体实施例中,还包括:
103.通过所述at通道获取所述通信模组的当前注册状态;
104.当所述当前注册状态为未注册时,更新第三异常次数;
105.当所述第三异常次数等于第三预设数值时,判定所述通信模组存在搜网异常,关闭所述通信模组的无线电,并通过所述at通道获取所述通信模组的所述当前无线电状态。
106.在一具体实施例中,还包括:
107.通过at通道获取当前网侧分配给所述通信模组的ip地址;
108.获取所述通信模组的网卡接口ip地址;
109.对所述通信模组的ip地址与所述网卡接口ip地址进行比对,当所述通信模组的ip地址与所述网卡接口ip地址不一致时,通过所述at通道获取所述通信模组的所述当前注册状态。
110.本发明实施例通过发送模块通过adb通道向通信模组发送拨号指令;通过获取模块通过adb通道获取通信模组内拨号服务的运行状态;通过第一重启模块当根据运行状态判定拨号服务为异常运行时,更新第一异常运行次数并重新启动拨号服务;通过第二重启模块当第一异常运行次数等于第一预设数值时,判定通信模组出现异常,重新启动通信模组。
111.本发明实施例通过adb通道获取通信模组内拨号服务的运行状态,能够克服仅通过at通道获取拨号服务的运行状态的局限性,能够快速获取拨号服务的运行状态,从而快
速判定拨号服务是否为异常运行。同时,本发明实施例在拨号服务异常运行时,优先尝试从通信模组内部重启拨号服务,直至异常运行次数满足条件时,才重新启动通信模组。由于重启拨号服务所需时间远远低于重新启动通信模组所需时间,所以若单独重启拨号服务便能解决异常,则无需一昧地重新启动通信模组,大大降低了解决异常的时间,提高了对于异常运行的通信模组的处理效率。
112.进一步地,本发明实施例通过at通道获取当前网侧分配给通信模组的ip地址和网卡接口ip地址,并对通信模组的ip地址与网卡接口ip地址进行比对,能够确保路由器底板与通信模组的运行状态保持同步,从而保证了通信模组异常运行的处理精度。
113.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献