[0020] 为了使本申请所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0021] 请参阅图1,其为本发明提供的TR069远程监控方法可以适用的网络系统(本申请称为TR069远程监控系统)一种实施例的结构示意图。所述TR069远程监控系统100包括自动配置服务器(Auto-Configuration Server,ACS)110、网关(Gateway)设备120和多个局域网(Local Area Network,LAN)设备130。
[0022] 所述局域网设备130可以为通过局域网连接到所述网关设备120,并通过所述网关设备120进一步连接到所述自动配置服务器110。其中,所述多个局域网设备130可以包括机顶盒、路由器或者交换机等用户设备中的一个或者多个,且其可以通过所述网关设备120并以局域网的方式构成家庭网络,所述网关设备120和所述局域网设备130可以统称为用户驻地设备(Customer Premise Equipment,CPE),其分别支持TR069协议功能。所述自动配置服务器110可以根据TR069协议对所述用户驻地设备自行自动配置,以实现远程地对家庭网络的通讯设备进行远程集中式管理。
[0023] 本申请提供的TR069远程监控方法可以应用在所述用户驻地设备(包括所述网关设备120和所述局域网设备130),以下结合图2所示的流程图,详细介绍本申请提供的TR069远程监控方法如何实现针对所述用户驻地设备的远程监控。请参阅图2,本申请提供的TR069远程监控方法包括:
[0024] 步骤S1,TR069代理进程周期性获取TR069服务进程的状态信息;
[0025] 具体而言,在系统启动之后,为支持TR069远程监控功能,通讯设备一般会启用TR069服务进程,并且,在本实施例中,TR069代理进程也会被同时启用;所述TR069服务进程在其工作过程中会占据比较多的系统资源,而所述TR069代理进程占用的系统资源非常少。所述TR069服务器进程在启用之后,可以定期地与所述TR069代理进行进程间通讯(Inter-Process Communication,IPC),并通过TR069文件描述符(TR069File Descriptor,TR069Fd)将其状态信息提供给所述TR069代理进程,因此,所述TR069代理进程可以通过所述TR069文件描述符周期性地获取到所述TR069服务进程的状态信息。
[0026] 步骤S2,所述TR069代理进程判断所述TR069服务进程处于空闲状态,如果是,进入步骤S3;否则,进入步骤S8;
[0027] 具体地,一般情况下所述TR069服务进程在完成信息上报工作之后,在实际使用中所述TR069服务进程基本上是处于空闲状态的;因此,所述TR069代理进程根据其周期性获取到的所述TR069服务进程的状态信息,可以判断出所述TR069服务进程是处于空闲状态还是处于非空闲状态,如果所述TR069服务进程处于空闲状态,则本方法可以转至步骤S3;相反,如果此时所述TR069服务进程处于非空闲状态,即此时所述TR069服务进程仍需要处理来自自动配置服务器的自动配置消息,则本方法可以转至步骤S8。
[0028] 步骤S3,所述TR069代理进程判断所述TR069服务进程的空闲状态是否维持预定时长,如果是,进入步骤S4;
[0029] 在所述TR069代理进程判断出所述TR069服务进程处于空闲状态之后,其可以进一步判断所述TR069的空闲状态的持续时间是否达到预定时长,所述预定时长可以根据实际需要而定,比如,在一种实施例中,所述预定时长可以选定为5分钟;因此,所述TR069代理进程在本步骤中可以判断所述TR069服务进程进入空闲状态之后是否维持5分钟以上,如果是,则本方法转至步骤S4。
[0030] 步骤S4,所述TR069代理进程通知所述TR069服务进程退出并启用代理服务功能;
[0031] 所述TR069代理进程在判断出所述TR069服务进程维持超过5分钟的空闲状态之后,为了避免所述TR069服务进程长时间地占据较多的系统资源,其可以通知所述TR069服务进程退出,以释放被占用的系统资源。
[0032] 具体地,所述TR069代理进程可以通过所述TR069文件描述符发送TR069退出请求(比如消息TR069QUIT_BACKACSINFO)给所述TR069服务进程;所述TR069服务进程在检测到所述TR069退出请求之后,可以将所述自动配置服务器(ACS)的监听信息提供给所述TR069代理进程,以更新自动配置服务器文件描述符(ACSFd)的值,即是远程监控Socket;同时,所述TR069服务进程还可以返回ACS认证的账号信息给所述TR069代理进程,以更新ACS认证代理信息(proxymsg)。在完成针对所述TR069退出请求的响应之后,所述TR069服务进程可以退出,从而释放掉原来被所述TR069服务进程占用的系统资源。在所述TR069服务进程退出之后,所述TR069代理进程便可以代理所述TR069服务进程,处理TR069远程监控的代理服务功能。
[0033] 需要特别说明的是,当所述TR069服务进程出现严重问题而不能响应所述TR069代理进程发送的TR069QUIT_BACKACSINFO消息时,所述TR069代理进程需要主动强制关闭所述TR069服务进程。
[0034] 步骤S5,所述TR069代理进程检测是否接收到自动配置服务器的访问请求,如果是,进入步骤S6;
[0035] 在代理所述TR069服务进程的过程中,如果当前没有来自所述自动配置服务器的访问请求,则所述TR069服务进程可以被占用系统资源极少的TR069代理进程代替。并且,在此过程中,所述TR069代理进程可以检测是否接收到来自所述自动配置服务器的访问请求,如果检测到上述访问请求,则本发明可以转至步骤S6。
[0036] 步骤S6,所述TR069代理进程代理所述TR069服务进程处理自动配置服务器认证检查,如果认证通过,进入步骤S7;
[0037] 在检测到来自所述自动配置服务器的访问请求之后,所述TR069代理检测可以提取所述TR069服务进程在退出之前返回的ACS认证代理信息(proxymsg),并采用所述ACS认证的账号信息,代替所述TR069服务进程处理所述自动配置服务器的认证检查。如果所述自动配置服务器的认证检查通过,则本方法可以转至步骤S7。
[0038] 步骤S7,所述TR069代理进程重新启动所述TR069服务进程;
[0039] 在所述自动配置服务器的认证检查通过之后,所述TR069代理进程可以进一步通过进程启动参数optArgs重新启动所述TR069服务进程。并且,在所述TR069服务进程重新启用时,所述TR069代理进程还可以根据所述自动配置服务器认证检查的状态设置参数,告知所述TR069服务进程在启动后需要更新相应的状态机。另一方面,所述TR069服务进程在重新启动之后,还可以与所述TR069代理进程进行交互来更新所述TR069文件描述符,以便于所述TR069服务进程与所述TR069代理进程之间的后期沟通。
[0040] 在所述TR069服务进程重新启动之后,所述TR069服务进程便可以响应所述自动配置服务器的远程监控操作,实现通讯设备的TR069远程监控功能。此后,所述TR069代理进程可以返回步骤S1,继续对所述TR069服务进程的状态进行监控。
[0041] 步骤S8,所述TR069服务进程处理自动配置消息,并向所述TR069代理进程发送处理状态消息;
[0042] 如果在步骤S2中检测出所述TR069服务进程处于非空闲状态,则此时所述TR069服务进程可以继续维持其远程监控功能,并处理来自所述自动配置服务器的自动配置消息。并且,在所述自动配置消息的处理过程中,所述TR069服务进程还可以向所述TR069代理进程发送相应的处理状态消息。
[0043] 步骤S9,所述TR069代理进程判断所述TR069服务进程是否出现状态异常,如果是,强制关闭所述TR069服务进程并启用代理服务功能;
[0044] 所述TR069代理进程可以根据所述TR069服务进程方的处理状态消息,判断所述TR069服务进程是否出现状态异常;比如,如果TR069服务进程出现卡死而无法向所述TR069代理进程发送所述处理状态消息时,所述TR069代理进程可以在一分钟之内自动向所述TR069服务进程发送多次TR069状态确认消息(比如TR069ISRIGHT),如果连续几次(比如三次)都没有接收到所述TR069服务进程的回复,则可以判断出所述TR069服务进程出现状态异常。
[0045] 如果所述TR069代理进程判断出所述TR069服务进程出现状态异常,则所述强制关闭所述TR069服务进程并启用代理服务功能,以避免由于所述TR069服务进程的状态异常而造成所述通讯设备的TR069远程监控功能瘫痪。在具体实施例中,在判断出所述TR069服务进程出现状态异常之后,可以转至步骤S4,向所述TR069服务进程发送TR069退出请求(比如消息TR069QUIT_BACKACSINFO)以主动强制关闭所述TR069服务进程,并且启用的所述TR069代理进程的代理服务功能,具体实现方案可以参照步骤S4的相关描述。
[0046] 相较于现有技术,本申请提供的TR069远程监控方法和系统在TR069服务进程处于空闲状态时启用TR069代理进程的代理服务功能,来释放出所述TR069服务进程占用的系统资源,由于所述TR069代理进程只需要占用极少的系统资源,因此可以有效地降低系统资源负载;另一方面,本发明提供的TR069远程监控方法和系统还可以所述TR069服务进程出现状态异常时强制关闭所述TR069服务进程并且启用所述TR069代理进程的代理服务功能,避免由于TR069服务进程的状态异常而造成TR069远程监控功能出现瘫痪,实现TR069功能的及时恢复。
[0047] 基于上述TR069远程监控方法和系统,本申请还进一步提供一种可以采用上述TR069远程监控方法的通讯设备,所述通讯设备可以为所述TR069远程监控系统的用户驻地设备,比如网关设备、机顶盒、路由器或者交换机等。具体地,所述通讯设备可以包括:
[0048] TR069服务进程,用于执行TR069远程监控功能,分析并处理远程自动配置服务器的配置需求;
[0049] TR069代理进程,用于周期性地获取所述TR069服务进程的状态消息,并且在判断出所述TR069服务进程处于空闲状态并且维持预定时长时,通知所述TR069服务进程退出并启用TR069代理服务功能。
[0050] 在具体实施例中,所述TR069服务进程还可以用于在退出之前将自动配置服务器的监听信息提供给所述TR069代理进程,并且向所述TR069代理进程返回所述自动配置服务器认证检查的账号信息。
[0051] 在具体实施例中,所述TR069代理进程还用于在启用所述TR069代理服务功能之后检测是否接收到所述自动配置服务器的自动配置消息,并在接收到所述自动配置消息时代理所述TR069服务进程处理所述自动配置服务器的认证检查,并且在所述认证检查通过之后重新启动所述TR069服务进程。
[0052] 在具体实施例中,所述TR069服务进程还用于在处于非空闲状态时处理自动配置服务器的自动配置消息,并向所述TR069代理进程提供处理状态消息;所述TR069代理进程还用于根据所述处理状态消息判断所述TR069服务进程是否出现状态异常,并在出现状态异常时主动强制关闭所述TR069服务进程并且启用所述TR069代理服务功能。
[0053] 应当理解,上述TR069服务进程和TR069代理进程可以为软件模块或者软硬件结合的功能模块,其可以通过处理器执行而实现如上所述的功能。并且,所述TR069服务进程和所述TR069代理进程在执行本申请提供的TR069远程监控时还可以具有其他具体的功能,具体可以参阅方法实施例的相应描述,此处不再赘述。
[0054] 另外,所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯设备内部的处理器执行,前述的程序在被执行时处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(Flash Memory)、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0055] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。