具体实施方式
图1是本发明网络设备100一实施方式的模块图。在本实施方式中,网络设备100连接于用户设备400与因特网(Internet)500之间,用于给用户设备400提供上网服务。其中,网络设备100为任一可以连线到因特网500的网络设备,如数字用户线/缆线调制解调器(XDSL/Cable Modem)、网关(Gateway)、路由器(Router)等。用户设备400为任一需要上网服务的电子设备,如个人计算机(Personal Computer,PC),笔记型计算机(Notebook Computer),个人数字数理(Personal Digital Assistant,PDA)等。
网络设备100可记录用户设备400的上网信息。在本实施方式中,用户设备400的上网信息包括用户设备400的上网时间或者用户设备400的上网流量。
在本发明一实施方式中,网络设备100包括闪存(Flash memory)200、随机存取内存(Random Access Memory)300、上网服务模块110、上网信息记录模块120以及上网监控模块130。其中,上网服务模块110用于为用户设备400提供上网服务。
上网信息记录模块120可通过闪存200可靠记录用户设备400的上网信息。在本发明一实施方式中,上网信息记录模块120包括设定模块121、复制模块122、记录模块123及写入模块124。
随机存取内存300用于储存当前正在运行的数据。闪存200用于储存表征上网信息的位元。在本实施方式中,闪存200从其储存空间中划分了一个固定大小的区块,如64Kbits,用于储存表征上网信息的位元。
设定模块121用于将闪存200中表征上网信息的位元初始化为第一值,以及设定用户设备400上网期间覆写闪存200中表征上网信息的位元的间隔。在本实施方式中,第一值为1。当上网信息包括用户设备400的上网时间时,设定模块121所设定的覆写间隔是以用户设备400的上网时间为基准。当上网信息包括用户设备400的上网流量时,设定模块121所设定的覆写间隔是以用户设备400的上网流量为基准。
复制模块122用于在网络设备400开始上网时将闪存200中表征上网信息的位元复制到随机存取内存300。
记录模块123用于在随机存取内存300中表征上网信息的位元中找寻第一个为第一值的位元并将其索引值记录于变量n中,其中每当所设定的覆写间隔到达时记录模块123将随机存取内存300中变量n对应的位元覆写为第二值,并将该变量n加1。其中被覆写为第二值的位元用于表征新增上网信息。在本实施方式中,第二值为0。
写入模块124用于判断当前随机存取内存300中表征上网信息的位元所表征的上网信息是否超过闪存200所能记录的最大上网信息,并在当前随机存取内存300中表征上网信息的位元所表征的上网信息未超过闪存200所能记录的最大上网信息时将随机存取内存300中表征新增上网信息的位元写入闪存200。在本实施方式中,闪存200从其储存空间中划分了一个固定大小的区块来储存表征上网信息的位元。闪存200所能记录的最大上网信息等于该固定大小的区块所能记录的最大值。
上网监控模块130用于设定用户设备400的上网临界值,判断当前闪存200中上网信息是否达到用户设备400的上网临界值,并在当前闪存200中上网信息达到用户设备400的上网临界值时启动警告机制。在本实施方式中,当上网信息包括用户设备400的上网时间时,用户设备400的上网临界值包括用户设备400的上网时间临界值。例如,用户预订的上网时间为12小时,用户设备400的上网时间临界值可为小于12小时的某个默认值,如11小时,在当前闪存200中上网时间达到11小时时,上网监控模块130即启动警告机制。
当上网信息包括用户设备400的上网流量时,用户设备400的上网临界值包括用户设备400的上网流量临界值。例如,用户预订的上网流量为120MegaBytes,则用户设备400的上网流量临界值可为小于120MegaBytes的某个默认值,如110Megabytes,在当前闪存200中上网流量达到110Megabytes时,上网监控模块130即启动警告机制。
本实施方式中的警告机制可包括闪烁发光二极管(Light-Emitting Diode,LED)。
在其它实施方式中,如果用户正在浏览网页,警告机制也可包括动态取代现有的网页并显示警告通知。上网监控模块130亦可在当前闪存200中上网信息达到用户设备400的上网临界值时直接中断上网服务。例如,用户预订的上网时间为12个小时,用户设备400的上网时间临界值亦为12个小时,在当前闪存200中上网时间达到12个小时时,上网监控模块130立即中断网络服务。
图2是本发明网络设备100记录上网信息一实施方式的示意图。在本实施方式中,网络设备100用于记录用户设备400的上网时间,用户设备400的上网信息包括用户设备400的上网时间。当网络设备100开始为用户设备400提供上网服务时,可以利用设定模块121将闪存200中表征上网时间的位元全部初始化为1。
当用户设备400首次上网时,复制模块122将闪存200中表征上网时间的位元复制到随机存取内存300,设定模块121设定用户设备400上网期间覆写该闪存200中表征上网时间的位元的间隔为1分钟,记录模块123在随机存取内存300中表征上网时间的位元中找寻第一个为1的位元并将其索引值记录于变量n中。由于用户设备400是首次上网,所以随机存取内存300中表征上网时间的位元初始值全部为1,其中第一个为1的位元的索引值即为1,故变量n等于1。
当1分钟的覆写间隔到达时(即用户设备400上网1分钟后),记录模块123将随机存取内存300中变量n为1所对应的位元覆写为0,并将该变量n加1。换言之,记录模块123将随机存取内存300中第一个为1的位元覆写为0,并将变量n加1成为2。其中被覆写为0的位元用于表征新增上网时间。
此时,写入模块124判断当前随机存取内存300中表征上网时间的位元所表征的上网时间是否超过闪存200所能记录的最大上网时间。若当前随机存取内存300中表征上网时间的位元所表征的上网时间未超过闪存200所能记录的最大上网时间,则写入模块124仅将随机存取内存300中表征新增上网时间的位元写入闪存200。换言之,写入模块124仅将随机存取内存300中被覆写为0的位元写入闪存200。如图2所示,此时闪存200中表征上网时间的位元中第一个位元为0,其它位元均为1。
当1分钟的覆写间隔再次到达时(即用户设备400上网2分钟后),记录模块123将随机存取内存300中变量n为2所对应的位元覆写为0,并将该变量n加1。在本实施例中,记录模块123将随机存取内存300中第二个为1的位元覆写为0,并将变量n加1成为3。其中被覆写为0的位元亦用于表征新增上网时间。
此时,写入模块124判断当前随机存取内存300中表征上网时间的位元所表征的上网时间是否超过闪存200所能记录的最大上网时间。若当前随机存取内存300中表征上网时间的位元所表征的上网时间未超过闪存200所能记录的最大上网时间,则写入模块124仅将随机存取内存300中表征新增上网时间的位元写入闪存200。换言之,写入模块124仅将随机存取内存300中被覆写为0的位元写入闪存200。如图2所示,此时闪存200中表征上网时间的位元中第一个与第二个位元为0,其它位元均为1。
以此类推,当用户设备400上网n分钟后,闪存200中表征上网时间的位元中第一个至第n个位元为0,其它位元均为1。
因此,闪存200中表征上网时间的位元可靠地记录了用户设备400的上网时间,以便于管控用户设备400的上网状况。
图3是本发明网络设备100记录上网信息另一实施方式的示意图。在本实施方式中,网络设备100用于记录用户设备400的上网流量,用户设备400的上网信息包括用户设备400的上网流量。当网络设备100开始为用户设备400提供上网服务时,可以利用设定模块121将闪存200中表征上网流量的位元全部初始化为1。
当用户设备400首次上网时,复制模块122将闪存200中表征上网流量的位元复制到随机存取内存300,设定模块121设定用户设备400上网期间覆写该闪存200中表征上网流量的位元的间隔为1KiloByte(KB)的上网流量,记录模块123在随机存取内存300中表征上网流量的位元中找寻第一个为1的位元并将其索引值记录于变量n中。由于用户设备400是首次上网,所以随机存取内存300中表征上网流量的位元初始值全部为1,其中第一个为1的位元的索引值即为1,故变量n等于1。
当1KB的覆写间隔到达时(即用户设备400的上网流量达1KB后),记录模块123将随机存取内存300中变量n为1所对应的位元覆写为0,并将该变量n加1。换言之,记录模块123将随机存取内存300中第一个为1的位元覆写为0,并将变量n加1成为2。其中被覆写为0的位元用于表征新增上网流量。
此时,写入模块124判断当前随机存取内存300中表征上网流量的位元所表征的上网流量是否超过闪存200所能记录的最大上网流量。若当前随机存取内存300中表征上网流量的位元所表征的上网流量未超过闪存200所能记录的最大上网流量,则写入模块124仅将随机存取内存300中表征新增上网流量的位元写入闪存200。换言之,写入模块124仅将随机存取内存300中被覆写为0的位元写入闪存200。如图3所示,此时闪存200中表征上网流量的位元中第一个位元为0,其它位元均为1。
当1KB的覆写间隔再次到达时(即用户设备400的上网流量达2KB后),记录模块123将随机存取内存300中变量n为2所对应的位元覆写为0,并将该变量n加1。在本实施例中,记录模块123将随机存取内存300中第二个为1的位元覆写为0,并将变量n加1成为3。其中被覆写为0的位元亦用于表征新增上网流量。
此时,写入模块124判断当前随机存取内存300中表征上网流量的位元所表征的上网流量是否超过闪存200所能记录的最大上网流量。若当前随机存取内存300中表征上网流量的位元所表征的上网流量未超过闪存200所能记录的最大上网流量,则写入模块124仅将随机存取内存300中表征新增上网流量的位元写入闪存200。换言之,写入模块124仅将随机存取内存300中被覆写为0的位元写入闪存200。如图3所示,此时闪存200中表征上网流量的位元中第一个与第二个位元为0,其它位元均为1。
以此类推,当用户设备400的上网流量达n KB后,闪存200中表征上网流量的位元中第一个至第n个位元为0,其它位元均为1。
因此,闪存200中表征上网流量的位元可靠地记录了用户设备400的上网流量,以便于管控用户设备400的上网状况。
图4是本发明网络设备100管控用户设备400的上网信息的方法一实施方式的流程图。
在步骤S400,上网监控模块130设定用户设备400的上网临界值。在本实施方式中,当用户设备400的上网信息包括用户设备400的上网时间时,用户设备400的上网临界值包括用户设备400的上网时间临界值。当用户设备400的上网信息包括用户设备400的上网流量时,用户设备400的上网临界值包括用户设备400的上网流量临界值。
在步骤S402,上网服务模块110为用户设备400提供上网服务。
在步骤S404,上网信息记录模块120记录用户设备400的上网信息,该步骤将在图5中详细阐述。
在步骤S406,上网监控模块130判断用户设备400的上网信息是否达到其上网临界值。
若用户设备400的上网信息未达到其上网临界值,则回到步骤S402,上网服务模块110继续为用户设备400提供上网服务。
若用户设备400的上网信息达到其上网临界值,则在步骤S408,上网监控模块130启动警告机制。在本实施方式中,用户设备400的上网临界值小于用户预订的上网信息。例如,用户预订的上网时间为12个小时,用户设备400的上网时间临界值可为小于12个小时的某个默认值,如11个小时,当用户设备400的上网时间达到11个小时时,上网监控模块130立即启动警告机制。
在其它实施方式中,用户设备400的上网临界值亦可等于用户预订的上网信息,相应的,在步骤S408,上网监控模块130中断上网服务。例如,用户预订的上网时间为12个小时,用户设备400的上网时间临界值为12个小时,当用户设备400的上网时间达到12个小时时,上网监控模块130立即中断上网服务。
图5是本发明网络设备100记录上网信息的方法一实施方式的流程图。在本实施方式中,网络设备100记录上网信息的方法通过图1中的功能模块来实施。
在步骤S500,设定模块121将闪存200中表征上网信息的位元初始化为第一值。在本实施方式中,第一值为1。
在步骤S502,复制模块122在用户设备400开始上网时将闪存200中表征上网信息的位元复制到随机存取内存300。
在步骤S504,记录模块123在随机存取内存300中表征上网信息的位元中找寻第一个为第一值的位元并将其索引值记录于变量n中。
在步骤S506,设定模块121设定用户设备400上网期间覆写闪存200中表征上网信息的位元的间隔。在本实施方式中,当用户设备400的上网信息包括用户设备400的上网时间,则所设定的覆写间隔是以用户设备400的上网时间为基准。当用户设备400的上网信息包括用户设备400的上网流量,则所设定的覆写间隔以用户设备400的上网流量为基准。
在步骤S508,每当所设定的覆写间隔到达时记录模块123将随机存取内存300中变量n对应的位元覆写为第二值,并将该变量n加1。其中被覆写为第二值的位元用于表征新增上网信息。在本实施方式中,第二值为0。
在步骤S510,写入模块124判断当前随机存取内存300中表征上网信息的位元所表征的上网信息是否超过闪存200所能记录的最大上网信息。在本实施方式中,闪存200从其储存空间中划分了一个固定大小的区块来储存表征上网信息的位元,闪存200所能记录的最大上网信息等于该固定大小的区块所能记录的最大值。
若当前随机存取内存300中表征上网信息的位元所表征的上网信息未超过闪存200所能记录的最大上网信息,则在步骤S512,写入模块124将随机存取内存300中表征新增上网信息的位元写入闪存200。
上述步骤S508-S512在用户设备400上网期间循环执行,直到用户设备400停止上网或当前随机存取内存300中表征上网信息的位元所表征的上网信息超过闪存200所能记录的最大上网信息为止。
在本发明实施方式中,由于写入模块124仅将随机存取内存300中表征新增上网信息的位元写入闪存200,亦即,仅对闪存200做写入的动作,不做抹除,从而可以避免在抹除时网络设备400断电造成数据错误。另外,复制模块122与写入模块124皆是以位元为单位对闪存200进行复制与写入,从而节省闪存200的使用空间。