[0026] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0027] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028] 请参阅图1,本发明提供一种下载异常的处理方法。所述处理方法主要由处理系统来执行。其中,所述处理系统安装在光网络单元(ONU)中。
[0029] 在步骤S1中,所述处理系统基于来自光线路终端的下载请求,开辟所述下载请求所包含的内存大小的内存空间,并启动异常处理计时。
[0030] 具体地,当光线路终端(OLT)向ONU发送File Write Request消息(即所述下载请求)时,所述处理系统解析所述File Write Request消息中的内存大小,并开辟对应该内存大小的内存空间。其中,所述处理系统可按照所述内存大小在空闲的内存地址段中进行选择,并将选中的内存地址段予以占用,以便存放下载数据。同时,所述处理系统启动ONU中的定时器开始进行异常处理计时。所述定时器所计时的最大值为预设的时长阈值。为了确保数据正常下载,所述时长阈值可预设成较长的、确保安全的时长。
[0031] 优选地,所述处理系统根据所述内存大小设定所述预设的时长阈值。
[0032] 本实施例中,所述处理系统预设有固定的光网络传输一个字节所需时长,则按照预设的数学计算公式,能够得到传输所述内存大小的数据所花费的时长,并将所述时长作为时长阈值。或者,将所计算的时长加上预设的安全时长之和作为所述时长阈值。
[0033] 或者,所述处理系统根据此前传输数据所监测到的网络传输速度计算OLT传输所述内存大小的数据所花费的时长,并将所计算的时长作为所述时长阈值。或者,将所计算的时长加上预设的安全时长之和作为所述时长阈值。
[0034] 在步骤S2中,所述处理系统接收来自所述光线路终端的下载数据并暂存所开辟的内存空间,直至所述内存空间存满下载数据,向所述光线路终端反馈接收完成的响应信息,并将所述内存空间内的下载数据转存到预设的目录下,并执行步骤S3。
[0035] 在网络状况正常连通的情况下,所述处理系统按照常规下载手段,向OLT反馈FileTransfer ACK消息,以通知OLT发送下载数据,同时所述处理系统将所接收的下载数据暂存在所开辟的内存空间中,直至所述内存空间存满下载数据,向所述光线路终端反馈接收完成的响应信息(End Download Response消息),并释放内存。
[0036] 但是,当网络不能正常连通时,所述定时器继续计时,所述处理系统监测到所述异常处理计时达到预设的时长阈值、且所述内存空间未存满时,则执行步骤S3。
[0037] 另一种情况是,所述处理系统在所述定时器未计时达到预设时长阈值期间,接收到所述光线路终端发出的新的下载请求时,执行上述步骤S3、和步骤S1。
[0038] 具体地,当网络出现异常时,OLT能够更快的获得网络不连通的检测报告。当OLT正在发送下载数据期间,检测到网络不连通时,将重新向ONU发送新的下载请求,以便重新建立下载通道。此时,所述ONU中的处理系统重新执行步骤S1,以便重新接收下载数据。
[0039] 在步骤S3中,所述处理系统释放所开辟的内存空间。
[0040] 具体地,所述处理系统将所占用的内存地址段释放,以使其重新成为空闲的内存地址段。如此,所述ONU能够及时释放所占用的内存空间。
[0041] 优选地,在执行步骤S3之前,所述处理系统还执行步骤S4、S5。如图2所示。
[0042] 在步骤S4中,所述处理系统重新启动所述异常处理计时,并计数所述异常处理计时周期的次数。
[0043] 在步骤S5中,所述处理系统在所计数的次数达到预设次数阈值之前,继续等待获取来自所述光线路终端的下载数据、或新的下载请求,直至当所计数的次数达到所述预设次数阈值,仍未收到下载数据或新的下载请求时,执行步骤S3。
[0044] 具体地,为了防止网络状况的临时变化而导致预设的时长阈值过短,所述处理系统在定时器计时所述异常处理计时达到所述时长阈值时,先启动计数器来计数所述异常处理计时周期的次数。当所计数的次数达到预设次数阈值之前,所述处理系统继续等待获取来自所述光线路终端的下载数据,若继续接收到所述下载数据,则将所述下载数据暂存到所开辟的内存空间,并将所计数的次数和所述异常处理计时同时清除,重启所述异常处理计时。反之,若直至所计数的次数达到所述预设次数阈值,仍未收到下载数据,则执行步骤S3。
[0045] 或者,当所计数的次数达到预设次数阈值之前,所述处理系统接收到所述光线路终端所发送的新的下载请求,则按照所述新的下载请求,所述处理系统重新执行步骤S1,并将所计数的次数和所述异常处理计时同时清除。反之,若直至所计数的次数达到所述预设次数阈值,仍未收到新的下载请求,则所述处理系统执行步骤S3。
[0046] 请参阅图3,本发明提供一种下载异常的处理系统。所述处理系统1安装在光网络单元(ONU)中。所述处理系统1包括:预处理单元11、下载单元12和内存释放单元13。
[0047] 所述预处理单元11用于基于来自光线路终端的下载请求,开辟所述下载请求所包含的内存大小的内存空间,并启动异常处理计时。
[0048] 具体地,当光线路终端(OLT)向ONU发送File Write Request消息(即所述下载请求)时,所述预处理单元11解析所述File Write Request消息中的内存大小,并开辟对应该内存大小的内存空间。其中,所述预处理单元11可按照所述内存大小在空闲的内存地址段中进行选择,并将选中的内存地址段予以占用,以便存放下载数据。同时,所述预处理单元11启动ONU中的定时器开始进行异常处理计时。所述定时器所计时的最大值为预设的时长阈值。为了确保数据正常下载,所述时长阈值可预设成较长的、确保安全的时长。
[0049] 优选地,所述预处理单元11根据所述内存大小设定所述预设的时长阈值。
[0050] 本实施例中,所述预处理单元11预设有固定的光网络传输一个字节所需时长,则按照预设的数学计算公式,能够得到传输所述内存大小的数据所花费的时长,并将所述时长作为时长阈值。或者,将所计算的时长加上预设的安全时长之和作为所述时长阈值。
[0051] 或者,所述预处理单元11根据此前传输数据所监测到的网络传输速度计算OLT传输所述内存大小的数据所花费的时长,并将所计算的时长作为所述时长阈值。或者,将所计算的时长加上预设的安全时长之和作为所述时长阈值。
[0052] 所述下载单元12用于接收来自所述光线路终端的下载数据并暂存所开辟的内存空间,直至所述内存空间存满下载数据,向所述光线路终端反馈接收完成的响应信息,并将所述内存空间内的下载数据转存到预设的目录下。
[0053] 在网络状况正常连通的情况下,所述下载单元12按照常规下载手段,向OLT反馈File Transfer ACK消息,以通知OLT发送下载数据,同时所述下载单元12将所接收的下载数据暂存在所开辟的内存空间中,直至所述内存空间存满下载数据,向所述光线路终端反馈接收完成的响应信息(End Download Response消息),并释放内存。
[0054] 但是,当网络不能正常连通时,所述定时器继续计时,由于所述内存释放单元13的监测,得到所述异常处理计时达到预设的时长阈值、且所述内存空间未存满,则所述内存释放单元13释放所开辟的内存空间。
[0055] 具体地,所述处理系统1将所占用的内存地址段释放,以使其重新成为空闲的内存地址段。如此,所述ONU能够及时释放所占用的内存空间。
[0056] 另一种情况是,所述内存释放单元13还用于在所述定时器未计时达到预设时长阈值期间,接收到所述光线路终端发出的新的下载请求时,释放所开辟的内存空间,并将所述新的下载请求提供给所述预处理单元11,以指令其执行。
[0057] 具体地,当网络出现异常时,OLT能够更快的获得网络不连通的检测报告。当OLT正在发送下载数据期间,检测到网络不连通时,将重新向ONU发送新的下载请求,以便重新建立下载通道。此时,所述预处理单元11予以执行,以便重新接收下载数据。
[0058] 优选地,在释放所开辟的内存空间之前,所述内存释放单元13还用于重新启动所述异常处理计时,并计数所述异常处理计时周期的次数;以及,在所计数的次数达到预设次数阈值之前,继续等待获取来自所述光线路终端的下载数据、或新的下载请求,直至当所计数的次数达到所述预设次数阈值,仍未收到下载数据或新的下载请求时,再释放所开辟的内存空间。
[0059] 具体地,为了防止网络状况的临时变化而导致预设的时长阈值过短,所述内存释放单元13在定时器计时所述异常处理计时达到所述时长阈值时,先启动计数器来计数所述异常处理计时周期的次数。当所计数的次数达到预设次数阈值之前,所述内存释放单元13继续等待获取来自所述光线路终端的下载数据,若继续接收到所述下载数据,则将所述下载数据暂存到所开辟的内存空间,并将所计数的次数和所述异常处理计时同时清除,重启所述异常处理计时。反之,若直至所计数的次数达到所述预设次数阈值,仍未收到下载数据,则释放所开辟的内存空间。
[0060] 或者,当所计数的次数达到预设次数阈值之前,所述内存释放单元13接收到所述光线路终端所发送的新的下载请求,则按照所述新的下载请求,所述预处理单元11重新启动,并由所述内存释放单元13将所计数的次数和所述异常处理计时同时清除。反之,若直至所计数的次数达到所述预设次数阈值,仍未收到新的下载请求,则所述内存释放单元13释放所开辟的内存空间。
[0061] 综上所述,本发明,能够在下载未完成期间限时释放内存,有效保证了ONU内存不被长期的无效占用。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0062] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。