电子设备累计运行时间的统计方法及装置、电子设备与流程

文档序号:11733284阅读:390来源:国知局
电子设备累计运行时间的统计方法及装置、电子设备与流程
本申请涉及电子设备技术领域,具体涉及一种电子设备累计运行时间的统计方法及装置、以及一种电子设备。

背景技术:
为便于电子、通信等产品的后续开发,例如提高可靠性等,经常需要将设备的运行时间记录下来。特别地,设备在运行到特定总时间时(例如设备上电时间总和为100小时或200小时),向设备厂商或后台服务器发送设备信息供后台统计分析使用,设备信息可以是包含设备厂商可以用于了解某个阶段设备状况、或是用于优化设备的相关信息。设备运行时间的统计方法各有相同。有的是在设备上专门增加为了统计总时间的硬件,例如有的硬盘设有专门统计总时间的电路。然而,如果在硬件开发过程中没有设置这类用于统计总时间的硬件,而在后期的开发中需要使用到总时间,此时再去修改设备硬件既浪费时间也浪费成本。因此现在通常采用软件方式来统计时间。目前有些设备判断是否达到特定总时间条件的软件方式采用的是定时器记时的方法,即开启一个定时器,定时器记时完成则调用相关的发送函数向后台发送设备信息。但是,这种采用定时器记时的方法通常只适用于预设的特定总时间比较短的应用中,例如10分钟,而且有可能由于设备的关机、突然断电或是其它时间影响到定时器的运行,导致设备无法正确地向后台服务器发送设备信息。

技术实现要素:
本申请提供一种电子设备及其累计运行时间的统计方法和装置。根据本申请的第一方面,本申请提供一种电子设备累计运行时间的统计方法,包括:初始步骤:设置钩子函数,在电子设备的存储器中预留一区域,用于保存电子设备的累计运行时间和上一次调用钩子函数的时间;调用步骤:当所述钩子函数被调用时,记录系统当前运行时间;增量步骤:将所述系统当前运行时间减去预留区域中保存的上一次调用钩子函数的时间,得到当前时间增量;统计步骤:将所述当前时间增量统计到所述预留区域中保存的累计运行时间,得到最新的累计运行时间。其中,所述的电子设备累计运行时间的统计方法还包括:判断发送步骤:判断所述最新的累计运行时间是否等于预设总时间,如果是,则所述电子设备将自身的设备信息发送出去。优选地,所述预设总时间为多个。优选地,所述初始步骤中,所述预留区域还保存功能统计标志位的初始值和当前值;所述调用步骤中,所述钩子函数被调用时,判断功能统计标志位的当前值是否等于所述初始值,如果是,则记录系统当前运行时间;所述统计步骤还包括:改变所述功能统计标志位的当前值。其中,所述钩子函数随着所述电子设备的启动而被调用;或者,所述电子设备运行时,所述钩子函数每隔一段时间被调用。根据本申请的第二方面,本申请提供一种电子设备累计运行时间的统计装置,包括:存储模块,用于保存电子设备的累计运行时间和上一次调用钩子函数的时间;初始模块,用于设置钩子函数;调用模块,用于当所述钩子函数被调用时,记录系统当前运行时间;增量模块,用于将所述系统当前运行时间减去预留区域中保存的上一次调用钩子函数的时间,得到当前时间增量;统计模块,用于将所述当前时间增量统计到所述预留区域中保存的累计运行时间,得到最新的累计运行时间。其中,所述的电子设备累计运行时间的统计装置,还包括:判断发送模块,用于判断所述最新的累计运行时间是否等于预设总时间,如果是,则所述电子设备将自身的设备信息发送出去。优选地,所述预留区域还用于保存功能统计标志位的初始值和当前值;所述调用模块中,当所述钩子函数被调用时,判断功能统计标志位的当前值是否等于所述初始值,如果是,则记录系统当前运行时间;所述统计模块还用于改变所述功能统计标志位的当前值。其中,所述钩子函数随着所述电子设备的启动而被调用;或者,所述电子设备运行时,所述钩子函数每隔一段时间被调用。根据本申请的第三方面,本申请提供一种电子设备,包括如上所述的电子设备累计运行时间的统计装置。本申请的有益效果是:通过设置的钩子函数,将当前触发钩子函数的时间和上一次触发钩子函数的时间之间的间隔作为时间增量,将该时间增量统计到已保存的累计运行时间,即可得到电子设备的当前累计运行时间,进而可根据该当前累计运行时间进行相关处理,例如在该当前累计运行时间为预定特定时间时,电子设备发送自身的设备信息,以让设备制造商可以更好地分析和改进设备。附图说明图1为本申请一种实施例的电子设备累计运行时间的统计方法的流程示意图;图2为本申请另一种实施例的电子设备累计运行时间的统计方法的流程示意图;图3为本申请一种实施例的电子设备累计运行时间的统计装置的流程示意图。具体实施方式一般地,电子设备中都设有系统时钟,并给出时间接口以供其它应用程序可以获取该系统时钟。系统时钟通常记录当前系统的上电时间,该上电时间随着系统的启动而开始、系统的关闭而终结。基于此,本申请实施例通过设置的钩子函数从系统时钟的时间接口读取系统运行时间,并将运行时间保存起来以便进行时间统计,从而可根据统计的时间确定是否发送设备信息。下面通过具体实施方式结合附图对本发明作进一步详细说明。实施方式1:如图1所示,一种电子设备累计运行时间的统计方法包括如下步骤S101~步骤S107。初始步骤S101:设置钩子函数,在电子设备的存储器中预留一区域,用于保存电子设备的累计运行时间Sti-1和上一次调用钩子函数的时间ti-1。预留区域中保存的内容不随着电子设备的突然掉电或关机而丢失。设置钩子函数的目的是通过调用该函数实现对某类事件的监控,例如监控电子设备的上电;可以将钩子函数安装在系统运行的过程中。调用步骤S103:当钩子函数被调用时,记录系统当前运行时间ti。一种实施例中,钩子函数的调用可随着电子设备的启动而被调用。另一种实施例中,在电子设备运行时,钩子函数则每隔一段时间被调用;具体实现时,可通过设置定时器实现,例如,在电子设备运行时,每隔一段时间发生中断,产生中断信号,根据该中断信号调用钩子函数。本步骤中,每当钩子函数被调用,则将通过系统时钟的时间接口,获取系统当前运行时间ti,且将该当前运行时间ti保存于预留区域。增量步骤S105:将所述系统当前运行时间减去预留区域中保存的上一次调用钩子函数的时间,得到当前时间增量,所述的时间增量=本次调用钩子函数取得的时间-上一次调用钩子函数取得的时间,例如将系统当前运行时间ti减去预留区域中保存的上一次调用钩子函数的时间ti-1,得到当前时间增量Δti,即Δti=ti-ti-1。统计步骤S107:将当前时间增量Δti统计到预留区域中保存的累计运行时间Sti-1,得到最新的累计运行时间Sti,即Sti=Sti-1+Δti。一种实现中,如果是第一次调用钩子函数,则预留区域中保存的累计运行时间Sti-1=0。以上过程采用数学方式可表达为:设备上电从时间0开始,当钩子函数被调用若干次,所获得的系统当前时间依次为t1、t2、…、ti,i>1,则可计算出每次钩子调用的间隔时间(即时间增量)为Δti=ti–ti-1,电子设备累计运行时间为Sti=∑Δti,即累计运行时间为所有时间增量之和。另一种实施例中,在获得最新的累计运行时间之后,还包括:判断发送步骤,用于判断最新的累计运行时间是否等于预设总时间,如果是,则电子设备将自身的设备信息发送出去。也就是说,根据该判断来决定电子设备在什么时间节点向后台服务器发送设备信息,即判断该最新的累计运行时间是否等于预设总时间,如果是,则电子设备将自身的设备信息发送出去。设备信息可以是包含设备厂商可以用于了解某个阶段设备状况、或是用于优化设备的相关信息。又一种实施例中,还可以设置多个预设总时间作为判断条件,以便在不同的时间节点发送设备信息,让设备制造商可以更好地判断和分析电子设备状态以改进电子设备。例如实现时采用编程方法可以使用分支语句如switch…case等进行多次判断。再一种实施例中,还可以根据不同的要求,结合电子设备的情况,在精度和性能之间作出平衡,给出不同精度的钩子函数,例如设置分钟累加器、时钟累加器、天数累加器来累计运行时间等以对应不同精度的要求。本实施方式通过设置的钩子函数,将当前触发钩子函数的时间和上一次触发钩子函数的时间之间的间隔作为时间增量,将该时间增量统计到已保存的累计运行时间,即可得到电子设备的当前累计运行时间,进而可根据该当前累计运行时间进行相关处理,例如在该当前累计运行时间为预定特定时间时,电子设备发送自身的设备信息,以让设备制造商可以更好地分析和改进设备。实施方式2:如图2所示,一种电子设备累计运行时间的统计方法包括如下步骤S201~步骤S207。初始步骤S101:设置钩子函数,在电子设备的存储器中预留一区域,用于保存电子设备的累计运行时间Sti-1、上一次调用钩子函数的时间ti-1、以及功能统计标志位的初始值和当前值。预留区域中保存的内容不随着电子设备的突然掉电或关机而丢失。一种实现中,如果是电子设备第一次上电启动,则功能统计标志位的当前值等于初始值。本步骤与实施方式1的步骤S101相似,不做重述。调用步骤S203:当钩子函数被调用时,判断功能统计标志位的当前值是否等于初始值,如果是,则记录系统当前运行时间ti。本步骤除去增加了功能统计标志位的判断外,其它与实施方式1的步骤S203相似,不做重述。增量步骤S205:将所述系统当前运行时间减去预留区域中保存的上一次调用钩子函数的时间,得到当前时间增量,所述的时间增量=本次调用钩子函数取得的时间-上一次调用钩子函数取得的时间,例如将系统当前运行时间ti减去预留区域中保存的上一次调用钩子函数的时间ti-1,得到当前时间增量Δti,即Δti=ti-ti-1。本步骤与实施方式1的步骤S205相似,不做重述。统计步骤S207:将当前时间增量Δti统计到预留区域中保存的累计运行时间Sti-1,得到最新的累计运行时间Sti,即Sti=Sti-1+Δti,同时改变功能统计标志位的当前值。本步骤除去改变功能统计标志位的当前值外,与实施方式1的步骤S207相似,不做重述。另一种实施例中,在获得最新的累计运行时间之后,还包括:判断发送步骤,用于判断最新的累计运行时间是否等于预设总时间,如果是,则电子设备将自身的设备信息发送出去。具体可参考实施方式1的相关内容,不做重述。又一种实施例中,如果设置多个预设总时间,功能统计标志位的初始值也可相应地设置为多个,以便在不同的时间节点发送设备信息。具体可参考实施方式1的相关内容,不做重述。具体实现时如采用编程方法,可以使用例如分支语句switch…case等进行多次判断。再一种实施例中,还可以根据不同的要求,结合电子设备的情况,在精度和性能之间作出平衡,给出不同精度的钩子函数,具体可参考实施方式1的相关内容,不做重述。实施方式3:如图3所示,一种电子设备累计运行时间的统计装置包括存储模块301、初始模块302、调用模块303、增量模块305和统计模块307。其中,存储模块301用于保存电子设备的累计运行时间和上一次调用钩子函数的时间;初始模块302用于设置钩子函数;调用模块303用于当钩子函数被调用时,记录系统当前运行时间;增量模块305用于将系统当前运行时间减去预留区域中保存的上一次调用钩子函数的时间,得到当前时间增量;统计模块307用于将当前时间增量统计到预留区域中保存的累计运行时间,得到最新的累计运行时间。钩子函数可随着电子设备的启动而被调用;或者,在电子设备运行时,钩子函数每隔一段时间被调用。仍如图3所示,另一种实施例的电子设备累计运行时间的统计装置除了上述模块外,还包括:判断发送模块309,用于判断最新的累计运行时间是否等于预设总时间,如果是,则电子设备将自身的设备信息发送出去。又一种实施例中,存储模块的预留区域还用于保存功能统计标志位的初始值和当前值;在调用模块303中,当钩子函数被调用时,判断功能统计标志位的当前值是否等于初始值,如果是,则记录系统当前运行时间;统计模块307还用于改变功能统计标志位的当前值。本实施方式中的电子设备累计运行时间的统计装置的实现可参考前述电子设备累计运行时间的统计方法实施例,不再重述。实施方式4:本实施例提供一种电子设备,应用上述实施例的各种方法或装置,实现对电子设备累计运行时间的统计。这种电子装置可以是如PDA、手机、平板电脑等移动设备。本实施例的电子装置包括前述实施例的电子设备累计运行时间的统计装置。本申请各实施例根据需要的精度设置一些钩子函数,每次触发钩子函数的时候,将本次触发和上次触发的所间隔的时间,作为一个增量,将这个增量与原有的统计时间求和,得到新的总统计时间,将这个结果写入到系统保存。这种时间统计方法可既根据钩子函数的设定,满足对于精度的要求,也可以防止用户的一些习惯,例如长期不关机、突然断电等等,而导致的特定总时间判断有误,解决了现有方法中不能正确判断预设特定时间,而使设备不能正确地向后台服务器发送设备信息的问题。本领域技术人员可以理解,上述实施方式中各种方法的全部或部分步骤可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1