[0037] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0038] 本发明公开了一种基于flash的记录AP历史最大连接终端数的方法,实施例如图1所示,包括:
[0039] S200监测AP的接入终端情况,当有新终端接入所述AP后,获取所述AP的当前连接终端数;
[0040] S300判断所述AP的当前连接终端数是否大于连接数阈值,若是,进入下一步骤,否则,返回步骤S200;
[0041] S400将所述连接数阈值更新为原连接数阈值与预设步长值的和,并将所述AP的当前连接终端数写入flash进行存储。
[0042] 本实施例中,设置了预设步长值,当AP的当前连接终端数大于连接数阈值时,会将连接数阈值更新为原连接数阈值与预设步长值的和,并将所述AP的的当前连接终端数写入flash进行存储。本实施例中的连接数阈值是会变化的,并不是一成不变的。具体的,比如当前的连接数阈值为65,预设的步长值为8;假如获取到AP当前的连接终端数为66,显然大于当前的连接数阈值,因此,将连接数阈值更新为:65+8=73,于是在flash中更新flash阈值为73,并记录AP的连接终端数66。然后继续监测AP的接入终端数,假如又有新的终端接入,获取到所述AP的当前连接终端数为70,显然,当前连接终端数70小于更新后的连接数阈值73,因此,不会在flash中更新阈值及写入AP的最大连接终端数73。如此就减少了对flash的写操作,同时也获得AP的最大连接终端数,我们记录的更新后的连接数阈值可以视为AP的最大连接终端数,更优的,我们也可以取最新存储的AP的连接终端数作为AP的历史最大连接终端数。当然,这个AP的历史最大连接终端数并不一定是精确的AP的最大历史连接终端数,实际的AP的最大历史连接终端数通常是在最新记录的AP的历史最大连接终端数与连接数阈值之间,比如前面例子,便是在66-73之间。一般步长的设置会影响到历史最大连接终端数的精确,但是,我们可以通过合理的设置一个步长,使得既能较为准确的记录AP历史最大连接终端数,又能减少对flash的损失。
[0043] 较佳的,还包括:S010当AP启动后,在flash中写入连接数阈值。
[0044] AP完全启动后,初始会过程中便可在flash中写入连接数阈值。这个连接数阈值便可作为后续与当前连接终端数进行比较的参照标准,当然,当获取的当前连接终端数大于初始化写入的连接数阈值时,该连接数阈值便会更新。
[0045] 较佳的,在上述任一实施例的基础上,增加步骤S100变成新的实施例,具体的,本发明的另一实施例如图2所示,包括:
[0046] S010当AP启动后,在flash中写入连接数阈值;
[0047] S100从flash中读取所述AP的连接终端数的最大历史值,判断所述连接终端数的最大历史值是否大于所述连接数阈值,若是,则将所述AP的连接终端数的最大历史值作为所述连接数阈值;
[0048] S200监测AP的接入终端情况,当有新终端接入所述AP后,获取所述AP的当前连接终端数;
[0049] S300判断所述AP的当前连接终端数是否大于连接数阈值,若是,进入下一步骤,否则,返回步骤S200;
[0050] S400将所述连接数阈值更新为原连接数阈值与预设步长值的和,并将所述AP的当前连接终端数写入flash进行存储。
[0051] 具体的,例如AP启动后,初始化写入flash连接数阈值60,然后从flash中读取该AP的连接终端数的历史最大值,假如之前记录的连接终端数最大的值为65,那么就将该连接终端数的最大历史值65作为连接数阈值,也就是说连接数阈值由初始化写入的60变更为65了。然后再监测AP的接入终端情况,当有新终端接入该AP后,获取该AP当前连接的终端数,然后比较当前的连接终端数与连接数阈值的大小,如果当前接入终端数小于或等于65那么就继续监测AP的终端接入情况即可,如果当前接入终端数大于65,比如获取到该AP的当前连接终端数为66,当前连接终端数66大于连接数阈值65,那么就将连接数阈值进行更新,假如预设的步长值为10,那么更新后的连接数阈值为75,记录AP的连接终端数66;然后返回继续监测AP的接入终端情况,后续只要AP的接入终端数不大于75,都无需再触发flash的写操作,无需再在flash中进行记录。
[0052] 较佳的,上述实施例中步骤S100包括:
[0053] S110判断所述flash中是否存储有所述AP的连接终端数,若是进入步骤S130,否则进入步骤S120;
[0054] S120设置所述AP的连接终端数的最大历史值为0;
[0055] S130从flash中读取所述AP的连接终端数的最大历史值;
[0056] S140判断所述连接终端数的最大历史值是否大于所述连接数阈值,若是,进入步骤S150;
[0057] S150将所述AP的连接终端数的最大历史值作为所述连接数阈值。
[0058] 本实施例中,如果初始化写入flash连接数阈值后,没有读取到该AP的flash中记录的连接终端数,那么就将该AP的连接终端数的最大历史值设为0。
[0059] 本发明一种基于flash的记录AP历史最大连接终端数的方法的另一实施例,上述任一实施例中所述预设步长值包含预设第一步长值和预设第二步长值,所述预设第一步长值小于所述预设第二步长值;具体流程如图3所示,包括:
[0060] S200监测AP的接入终端情况,当有新终端接入所述AP后,获取所述AP的当前连接终端数;
[0061] S300判断所述AP的当前连接终端数是否大于连接数阈值,若是,进入下一步骤,否则,返回步骤S200;
[0062] S410判断所述连接数阈值是否大于预设的参考阈值,若是,则进入步骤S420,否则进入步骤S430;
[0063] S420将所述连接数阈值更新为原连接数阈值与所述预设第一步长值的和;
[0064] S430将所述连接数阈值更新为原连接数阈值与所述预设第二步长值的和;
[0065] S440将所述AP的当前连接终端数写入flash进行存储。
[0066] 具体地,例如预设的第一步长值为5,预设的第二步长值为10;连接数阈值为55,预设的参考阈值为70;假如获取到AP当前连接终端数为56,显然大于连接数阈值55,而连接数阈值55小于预设的参考阈值70,因此,连接数阈值更新为:原连接数阈值55+预设的第二步长值10=65,即连接数阈值变成65了;再将AP的当前连接终端数56写入flash进行存储;随后继续监测AP的终端情况,假如又有其它新终端接入,获取到当前连接终端数为60,由于当前连接终端数60小于连接数阈值65,因此,不会触发flash写操作,返回继续监测终端情况,若继续不断有终端接入该AP,且获取到当前连接终端数为66,显然当前连接终端数66大于连接数阈值65,因此,再次步入连接数阈值更新步骤,由于连接数阈值65小于预设的参考阈值70,因此,继续取预设的第二步长值10,即更新后的连接数阈值为65+10=75;然后将AP的当前连接终端数66写入flash存储,然后继续监测AP的终端接入情况,比如监测到AP的当前接入终端增加到了76,可以看出,当前连接数终端76大于连接数阈值75了,因此,连接数阈值又需要更新了,此时,由于连接数阈值75大于预设的参考阈值70,因此,此时选取的步长值为预设的第一步长值,即更新后的连接数阈值为:75+5=80,然后将AP的当前连接终端数76也写入flash进行存储。从这里可以看出,连接数阈值为55之前,AP的连接终端数小于或等于55的话都不会触发写操作,当AP的连接终端数大于55的时候,才会触发写操作,将AP的连接数阈值进行更新;当AP的连接数阈值为65之后,只有AP的连接终端数大于65才会触发新的写操作,将AP的连接数阈值进行更新;同样,更新后,当AP的连接终端数小于或等于75时,都不会触发flash的写操作,只有当AP的连接终端数大于75时,才会再次触发更新,此时,由于AP的连接数阈值75大于预设的参考阈值70,因此,选取的步长为预设的第一预设步长值5,故更新后的连接数阈值为75+5=80了。通过设置了一个预设的参考阈值,将连接数阈值与预设的参考阈值进行比较,根据比较结果的不同选取不同的步长。我们也知道,越到后面,数字越大,则可能越容易出问题,我们对记录的AP的最大连接终端数也要求越准确,因此,我们同样可以设置越到后面设置的步长值越小,让记录的历史最大连接终端数也越接近实际的AP的历史最大连接终端数,从而在减少flash写操作,减少flash损伤与记录AP的最大连接终端数的准确度之间达到一个更好的平衡。
[0067] 本发明方法的另一实施例,如图4所示,包括:
[0068] (1)AP完全启动后,初始化写flash阈值为60;
[0069] (2)从flash中读取AP连接终端最大历史值,不妨设为max(可能无值,若无值按0处理),若大于60,则写falsh阈值设置为max,该变量设为threshold;
[0070] (3)等待终端接入;
[0071] (4)每次新终端接入AP后,获取当前AP连接的终端数,不妨设为num;
[0072] (5)若num大于阈值threshold,则将阈值跟新为threshold=threshold+10,并将num值写入flash中。比如当前阈值为60,num值为61,则阈值更新为70,并将num值(即61)写入flash中;
[0073] (6)转步骤(3)。
[0074] Flash作为存储功能的硬件,虽然AP断电后,flash中数据不会丢失,但反复读写会对flash损伤(我们产品flash读写次数大概是万次的数量级),若达到flash读写上限,flash将被报废。因而减少反复读写flash是有必要的。本实施例中,通过设置步长减少写操作,比如本次写入flash的值为60,则当连接终端数大于70时才会触发下次写flash操作。这样通过步长设置可以减少对flash的写次数,进而延迟flash寿命。
[0075] 基于相同的技术构思,本发明还公开了一种基于flash的记录AP历史最大连接终端数的装置,该装置可采用上述任一方法实施例,具体的,如图5所示,本发明基于flash的记录AP最大连接终端数的装置实施例,包括:监测模块10,用于在所述控制模块50的控制下,监测AP的接入终端情况;获取模块20,用于在所述控制模块50的控制下,当所述监测模块10监测到有新终端接入所述AP后,获取所述AP的当前连接终端数;写入模块30,用于在所述控制模块50的控制下更新连接数阈值及写入AP的当前连接终端数;flash存储模块40,用于在所述控制模块50的控制下,存储连接数阈值及所述AP的连接终端数;所述控制模块50,用于判断所述获取模块20获取的所述AP的当前连接终端数是否大于所述flash存储模块40存储的连接数阈值,若是,则控制所述写入模块30在所述flash存储模块40中将所述连接数阈值更新为原连接数阈值与预设步长值的和,并通过所述写入模块30将所述AP的当前连接终端数写入flash存储模块40。
[0076] 上述装置实施例中,连接数阈值是一个数量级,更新的连接数阈值可以视为记录的AP历史最大连接终端数,更优的,可以将最新存储AP的当前连接终端数作为AP历史最大连接终端数,虽然,这两者都不是是实际记录的AP历史最大连接终端数(实际的AP历史最大连接终端数在最新存储的AP连接终端数与当前的连接数阈值之间),但在预设步长值设置合理的情况下,也是可以较为准确的记录AP的历史最大连接终端数的,从而可以既能较为准确的记录AP历史最大连接终端数,又能减少对flash的写操作,延长flash的使用寿命。
[0077] 较佳的,所述写入模块30,还用于当AP启动后,在flash存储模块40中写入连接数阈值。AP启动后,初始化写入flash连接数阈值,这时写入的连接数阈值是系统设置好的,相当于默认值,AP每次启动都会写入这一设置好的默认的连接数阈值。
[0078] 本发明装置的另一实施例,如图6所示,在上述装置实施例的基础上,还包括:读取模块60,用于在所述控制模块50的控制下,从flash存储模块40中读取所述AP的连接终端数的最大历史值;所述控制模块50,还用于判断所述连接终端数的最大历史值是否大于所述连接数阈值,若是,则将所述AP的连接终端数的最大历史值作为所述连接数阈值。
[0079] AP启动后,初始化在flash存储模块40中通过写入模块30写入初始的连接数阈值,然后通过读取模块60从flash存储模块40读取该AP的连接终端数的最大历史值,控制模块50判断该连接终端数的最大历史值是否大于所述连接数阈值,若是,则将所述AP的连接终端数的最大历史值作为所述连接数阈值。所述监测模块10监测AP的接入终端情况,当有新终端接入该AP时,获取模块20获取该AP的当前连接终端数,然后交由所述控制模块50进行判断,若所述控制模块50判断所述AP的当前连接终端数大于连接数阈值时,则所述控制模块50控制所述写入模块30在flash存储模块40中将所述连接数阈值更新为原连接数阈值与预设步长值的和,并通过所述写入模块30将所述AP的当前连接终端数写入flash存储模块
40进行存储。若所述控制模块50判断所述AP的当前连接终端数小于或等于连接数阈值时,则返回,让监测模块10继续进行监测。
[0080] 较佳的,上述实施例中,AP启动并初始化写入连接数阈值后,所述控制模块50判断所述flash存储模块40中是否存储有所述AP的连接终端数,若是,则通过所述读取模块60从flash存储模块40中读取所述AP的连接终端数的最大历史值,否则,则设置所述AP的连接终端是的最大历史值为0,然后,所述控制模块50再来判断所述连接终端数的最大历史值是否大于所述连接数阈值,如果大于的话,则需将所述连接数阈值进行更新,将所述AP的连接终端数的最大历史值作为所述连接数阈值,然后再进入后续的监测及判断记录步骤。
[0081] 本装置的另一实施例,在上述任一实施例的基础上,所述预设步长值包含预设第一步长值和预设第二步长值,所述预设第一步长值小于所述预设第二步长值;且控制模块50判断所述AP的当前连接终端数大于连接数阈值之后,所述控制模块50还判断所述连接数阈值是否大于预设的参考阈值,若是,则通过所述写入模块30在所述flash存储模块40中将所述连接数阈值更新为原连接数阈值与所述第一预设步长值的和;否则,控制所述写入模块30在所述flash存储模块40中将所述连接数阈值更新为原连接数阈值与所述预设第二步长值的和;最后,所述控制模块50通过所述写入模块30将所述AP的当前连接终端数写入flash存储模块40。
[0082] 本发明装置实施例与本发明的方法实施例对应,本发明方法的实施例中的技术细节同样也适用于本发明装置,为减少重复,不再赘叙。
[0083] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0084] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。