一种获取终端设备系统开始时间和结束时间的方法及设备与流程

文档序号:11593994阅读:460来源:国知局

本发明涉及通信领域的软件技术,尤其是涉及一种获取终端设备系统开始时间和结束时间的方法及设备。



背景技术:

随着通信技术和互联网技术应用不断的发展,人们每天基于终端设备使用各种个人业务应用,如基于机顶盒终端的iptv/ott业务,基于家用存储设备的网络存储业务,以及其他各种智能终端的业务应用。

人们使用终端设备以及业务的一些最基本信息,如开机时间、关机时间、应用使用的开始时间、结束时间等这些基本信息是终端设备提供商或应用软件提供商(以下简称“设备系统提供商”)最关心也是最有价值的信息,比如了解用户的在线时长,分析用户使用设备的时间区间等。

为了获取到这些信息,上述设备系统提供商可以建立一套远程管理系统(以下简称“管理系统”,即可认为是网络侧),在用户使用该设备的时候可以通过网络获取到这些信息。

对于终端设备的开机时间(或使用应用的开始时间),通常的做法是当终端设备开机(或启动应用)时,通过网络将开机时间(或应用开始时间)上报到管理系统。

对于终端设备的关机时间(或应用的结束时间),如果在设备正常关机(或应用正常退出)情况下,终端设备(或应用)可以在设备(应用)触发关机(退出)指令和执行关机(或退出)指令之间通过网络将关机时间(退出时间)上报到管理系统。但是在终端设备异常关机或应用异常退出的情况下(如电源突然被切断或应用死机),终端设备(或应用)是没有办法上报 关机时间(或结束时间)到管理系统。有一种方法可以解决这个问题,就是在网络连通的情况让管理系统通过和终端设备(或应用)的最后一次心跳消息的时间来计算出关机时间(结束时间)。但是如果终端数量(或用户数量)不断增多达到百万级别的时候,因为性能和效率问题,管理系统会不堪负重。

还有一种情况,当终端设备或应用仅在内网使用,与管理系统所在的外网网络不通的时候,管理系统都无法获知终端设备开机时间、关机时间或应用的开始时间和结束时间。



技术实现要素:

本发明所要解决的技术问题是,提供一种获取终端设备系统开始时间和结束时间的方法及系统,以解决特定情况下管理系统无法获取终端设备开机时间、关机时间的问题。

为了解决上述技术问题,本发明公开了一种获取终端设备系统开始时间和结束时间的方法,包括:

终端设备系统启动后,若本终端设备与网络侧正常通信,则将本地记录中的成对的系统开始时间和系统结束时间上报给网络侧,之后清空本地记录;

终端设备获取本次系统开始时间,并添加至本地记录中;

终端设备系统运行过程中,终端设备获取系统当前时间,并将获取的系统当前时间作为本次系统结束时间添加至本地记录中,之后,所述终端设备周期性获取系统当前时间,并用每次获取的系统当前时间更新本地记录中本次系统结束时间。

可选地,上述方法还包括:

终端设备系统启动后,若本终端设备与网络侧正常通信,还将所述终端设备获取的本次终端设备系统开始时间上报给网络侧。

可选地,上述方法还包括:

终端设备系统正常退出时,终端设备将本地记录中本次系统结束时间更新为系统当前时间。

可选地,上述方法还包括:

终端设备系统正常退出时,若本终端设备与网络侧正常通信,则将更新后的本次系统结束时间上报给网络侧。

可选地,上述方法中,所述终端设备将本地记录中的成对的系统开始时间和系统结束时间上报给网络侧指:

将本地记录中所有的系统开始时间和系统结束时间成对上报给网络侧。

本发明还公开了一种终端设备,包括时间上报模块、时间记录模块和存储模块,其中:

所述时间上报模块,在终端设备系统启动后,若本终端设备与网络侧正常通信,则将所述存储模块中记录的成对的系统开始时间和系统结束时间上报给网络侧,之后清空所述存储模块中的记录;

所述时间记录模块,在终端设备系统启动后,获取本次系统开始时间,并添加至所述存储模块的记录中,以及在终端设备系统运行过程中,获取系统当前时间,并将获取的系统当前时间作为本次系统结束时间添加至所述存储模块的记录中,之后,周期性获取系统当前时间,并用每次获取的系统当前时间更新本地记录中本次系统结束时间。

可选地,上述设备中,所述时间上报模块,在终端设备系统启动后,若本终端设备与网络侧正常通信,还将所述时间记录模块获取的本次系统开始时间上报给网络侧。

可选地,上述设备中,所述时间记录模块,在终端设备系统正常退出时,将所述存储模块的记录中本次系统结束时间更新为系统当前时间。

可选地,上述设备中,所述时间上报模块,在终端设备系统正常退出时,若本终端设备与网络侧正常通信,则将更新后的本次系统结束时间上报给网络侧。

可选地,上述设备中,所述时间上报模块,将所述存储模块中记录的成对的系统开始时间和系统结束时间上报给网络侧指:

将本地记录中所有的系统开始时间和系统结束时间成对上报给网络侧。

与现有技术相比,本申请技术方案解决了终端设备系统在终端设备异常关机或应用异常中断以及与外部网络不通的情况下,管理系统无法直接获取终端设备系统开始时间和结束时间的问题。通过获得的这些时间信息,设备系统提供商能更好的分析出使用者的喜好和习惯,从而设计出更好的终端产品。

附图说明

图1是本实施例中终端设备系统总体结构示意图;

图2是本实施例中时间上报模块和时间记录模块运行顺序图;

图3是本实施例中时间上报模块处理流程图;

图4是本实施例中时间记录模块处理流程图;

图5是本实施例中网络侧处理流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

实施例1

本实施例提供一种获取终端设备系统开始时间和结束时间的方法,主要包括如下操作:

终端设备系统启动后,若本终端设备与网络侧正常通信,则将本地记录中的成对的系统开始时间和系统结束时间上报给网络侧,之后清空本地记录;

终端设备获取系统当前时间作为本次系统开始时间,并添加至本地记录中;

终端设备系统运行过程中,终端设备获取系统当前时间,并将获取的系 统当前时间作为本次系统结束时间添加至本地记录中,之后,终端设备周期性获取系统当前时间,并用每次获取的系统当前时间更新本地记录中本次系统结束时间。

要说明的是,若终端设备系统正常退出,则此时,终端设备直接将终端设备系统当前时间作为终端设备的实际结束时间,即将本地记录中本次系统结束时间更新为系统当前时间。

相应地,终端设备系统正常退出时,若本终端设备与网络侧正常通信,还需要将更新存储的终端设备系统结束时间(即上述终终端设备的实际结束时间)上报给网络侧。

另外,终端设备系统启动后,若本终端设备与网络侧正常通信,还可以将本次系统开始时间上报给网络侧。

上述方法中,所涉及的终端设备系统可以是专用终端设备,如机顶盒,存储设备,网络摄像头等,也可以是终端设备上的应用软件,如视频软件、游戏软件等。本实施例对此不作具体限制。

终端设备系统开始时间和结束时间,可以是专用终端设备的开机时间和关机时间,也可以是终端设备上的应用软件的启动时间和退出时间。

还要说明的是,终端设备按照上述方法获取到系统开始时间和结束时间。并上报到网络侧后,还可以包括网络侧操作,网络侧主要包括有填充和过滤操作。例如,终端设备在开机的时候,网络对外是通的,此时,终端设备在开机时即将开机时间上报给网络侧,网络侧将该终端设备的开机时间记录为上报的开机时间,而对应的关机时间则记录为空。

如果用户使用终端设备一段时间之后,然后关机,此时有两种情况:

1)如果关机时对外网络还是通的,终端设备除了将本次系统结束时间存储在本地记录中以外,还将该系统结束时间上报到网络侧,此时,网络侧需要进行填充操作,即网络侧将这个系统结束时间填充到本次开机时间对应的记录为空的关机时间。

2)如果关机时网络不通,终端设备则将本次的系统结束时间存储在本地记录中。这样,网络侧上保存了一个只有系统开始时间没有系统结束时间的 记录,终端设备上保存了有相同的系统开始时间和对应的系统结束时间的记录。如果在下一次开机的时候,终端设备将本地记录的系统开始时间和对应的系统结束时间一起上报给网络侧,此时网络侧需要进行过滤操作,即网络侧已经有了上次的系统开始时间,那网络侧将已经存在系统开始时间相同的记录(系统结束时间为空)过滤删除,然后将所收到的完整的系统开始时间和系统结束时间成对记录下来。

上述网络侧的具体操作也可以采取其他方式,只要将终端设备的开机时间和关机时间进行成对记录即可,本实施例对此不作限制。

还要说明的是,终端设备系统启动后,终端设备与网络侧之间存在无法通信的情况,此时,终端设备无法将本地记录中的系统开始时间和系统结束时间上报给网络侧,则需要等待终端设备系统再次启动,且终端设备与网络侧之间通信正常时,才能上报给网络侧,这样,本地记录中就存储有多对系统开始时间和系统结束时间。当系统再次启动后,终端设备与网络侧之间通信正常时,需要将本地记录中所有系统开始时间和系统结束时间成对上报给网络侧即可。

实施例2

本实施例提供一种获取终端设备系统开始时间和结束时间的设备,主要包括如下各模块。

存储模块,成对存储终端设备的系统开始时间和结束时间;

其中,存储模块可以通过一个文件,或者一个表,来存储终端设备的系统的使用时间的记录,每条记录至少包含系统开始时间和系统结束时间两个信息。

时间上报模块,在终端设备开机或终端设备系统启动时,若本终端设备与网络侧正常通信,则将存储模块中记录的所有成对的系统开始时间和系统结束时间上报给网络侧,之后清空存储模块中的所有记录。

时间记录模块,在终端设备系统启动后,获取系统当前时间作为当前系统开始时间,并添加至存储模块的记录中,以及在终端设备系统运行过程中, 获取系统当前时间,并将获取的系统当前时间作为系统结束时间添加至存储模块的记录中,之后,周期性获取系统当前时间,并用每次获取的系统当前时间更新本地记录中本次系统结束时间。

其中,本实施例更新本地记录中本次系统结束时间时,采用覆盖方式进行更新,即每次获取系统当前时间后,将此系统当前时间作为本次系统结束时间,直接覆盖本地记录中所记录的本次系统结束时间。

另外,时间上报模块,在终端设备系统启动后,若本终端设备与网络侧正常通信,还将终端设备的本次系统开始时间上报给网络侧。

在终端设备系统正常退出时,时间记录模块将存储模块中终端设备系统结束时间更新为系统当前时间。若此时,本终端设备与网络侧还保持正常通信,则时间上报模块还可以将存储模块中更新后的本次系统结束时间上报给网络侧。

下面介绍上述设备的具体工作过程。

第一步:系统启动后,时间上报模块先行检测和时间获取模块是否网络通达,如果网络通达,则将存储模块里包含的终端设备的系统开始时间和结束时间的全部上报到网络侧,同时,获取终端设备系统当前时间作为当前系统开始时间上报给网络侧,然后,清空存储模块中所有时间记录即可。

第二步:时间记录模块记录终端设备系统本次的系统开始时间,并用开始时间初始化本次的系统结束时间,作为一条新记录增加到存储模块。

第三步:系统正常运行后,时间记录模块周期性的获取终端设备系统当前时间作为终端设备系统结束时间写入存储模块。

写入的时间周期可以设定,周期越短,最后写入的时间越接近与终端设备系统实际的结束时间。

第四步:系统退出后,如果是正常退出,时间记录模块获取系统当前时间作为系统实际结束时间写入存储模块(即将终端设备系统结束时间更新为系统当前时间),此时如果时间上报模块和网络侧路由通达,则时间上报模块将该系统当前时间作为终端设备系统实际结束时间上报给网络侧;如果是 异常退出,则时间记录模块最后一次写入到存储模块的系统当前时间作为终端设备本次的系统结束时间(待下一次开机或启动上报)。

第五步:网络侧接收到时间上报模块上报的时间记录,按照系统开始时间的先后顺序对时间记录进行填充和重复过滤处理,获取到终端设备系统使用的完整的开始时间和结束时间。

下面结合附图并基本按照附图的顺序对技术方案的实施作进一步的详细描述。

上述获取终端设备系统开始时间和结束时间的设备可以是终端设备,此时,设备总体结构如图1所示。

终端设备系统可以是专用终端设备,如机顶盒,存储设备,网络摄像头等,也可以是终端设备上的应用软件,如视频软件、游戏软件等。1个或n个终端设备系统通过网络能够连入到远程的管理系统(即为网络侧)。

终端设备内置三个组件:时间记录模块,存储模块,时间上报模块。

图2是上述时间上报模块和时间记录模块运行示意图。

终端设备系统启动时,时间上报模块随终端设备系统主程序启动后先行自动运行,确保在网络连通的情况下,时间上报模块能将存储模块记录的所有的系统开始时间和系统结束时间成对全部上报到网络侧,然后再运行时间记录模块,在空的存储模块里记录新的开始运行时间。

时间上报模块内中需要定义一个开始时间的全局时间变量(假设为st),用来保存本次终端设备系统的开始运行时间,另外,时间记录模块内需要定义一个结束时间的全局时间变量(假设为et),用来保存终端设备系统的结束运行时间。

终端设备系统正常结束时,先要结束时间记录模块的运行,再结束时间上报模块的运行。

图3是上述时间上报模块处理流程图。

终端设备系统运行后,时间上报模块随终端设备系统主程序启动后自动运行,它同时启动两个并行处理流程1和处理流程2。

启动处理流程1。处理流程1首先检测与网络侧是否路由互通,如果是,则打开存储模块,检索出里面所有的记录,这些记录是由系统开始时间和系统结束时间配对组成的记录,然后将这些时间记录上报到网络侧。

通常,在终端设备系统第一次启动时,该存储模块的记录为空。在第一次运行后,该存储模块至少包含一条记录,表示上一次的使用时间记录。如果包含多条记录,表示该终端设备系统有多次使用的时间记录尚未上报。

存储模块中所有记录全部上传到网络侧后,要将存储部件的所有记录清除,以确保后面记录的时间记录都是尚未上传的记录。然后,获取系统当前时间,将该时间赋给终端设备系统记录系统开始时间的全局变量(st),并把该当前时间上报给网络侧,作为终端设备系统本次的开始时间,然后,启动时间记录模块,启动处理流程1结束。

如果处理流程1检测与网络侧由不通,则直接启动时间记录模块,启动处理流程1结束。

启动处理流程2,处理流程2一直监听时间记录模块状态,如果监听到时间记录模块退出的消息,表示终端设备系统已经发出了正常退出的指令,则处理流程2检测与网络侧路由是否通达,如果是,则将记录终端设备系统结束时间的全局变量(et)上报给网络侧(该时间变量et值在此前已经由时间记录模块赋值),然后,结束时间上报模块运行。

如果处理流程2检测与网络侧路由不通达,则直接结束时间上报模块运行,本次终端设备系统结束时间在下次终端设备系统启动后由启动处理流程1从存储模块读取上报。

图4是时间记录模块处理流程图。

终端设备开机后,时间记录模块随时间上报模块处理流程1结束后启动运行,它同时启动两个并行处理流程3和处理流程4。

启动处理流程3,时间记录模块读取预先定义好的时间周期参数(假设为pt),该参数定义时间记录模块每隔多久采集一次终端设备系统当前时间。

然后,时间记录模块打开存储模块,在存储模块内增加一行记录(假设为r1),用来记录本次终端设备的开始时间和结束时间,并用此前在时间上 报模块里记录的系统开始时间全局变量(st)值给该记录的开始时间信息赋值,同时,还用st值作为初始时间给该记录的结束时间赋值,然后,保存该存储模块记录,然后,时间记录模块进入休眠计时状态。

时间记录模块经过休眠定义好的(pt)时间后,打开此前保存的存储部件记录r1,用终端设备系统的当前时间更新r1记录的结束时间,然后保存存储模块记录r1,然后继续休眠等待,重复该过程。

只要终端设备系统没有退出,一直用终端设备系统的当前时间更新r1记录的结束时间。

启动处理流程4,对终端设备系统正常退出消息进行监听,如果监听到终端设备系统正常退出的消息,则强制结束处理流程3,并获取系统当前时间,保存到记录系统结束时间的全局变量(et)中,作为终端设备系统本次的结束时间,然后打开存储模块记录r1,用et时间更新r1记录的结束时间,保存记录,然后时间记录运行模块的结束运行。

当休眠的pt时间足够小,则更新当前时间的频率越快,当终端设备系统异常退出时,时间记录模块记录的最后一次当前时间也就越接近实际的结束时间。

可以根据实际的需要,设置不同的pt周期。

图5是网络侧的处理流程图。

网络侧一直监听是否有时间上报模块上报的时间消息,如果监听到有时间消息上报,则判断是开始时间消息还是结束时间消息。

如果是开始时间消息,则首先检查上报的消息里是否含有成对的历史时间记录,这些记录为过去已经发生但尚未上报到管理系统的记录,如果有这些记录,则要对这些成对的记录进行处理,尤其的是,删除已经在网络侧本地存在的完全相同(开始时间和结束时间均相同)的使用时间记录,按照开始时间相同的规则替换管理系统内只有开始时间而没有结束时间的记录,填补空缺的结束时间。然后,接收本次终端设备系统的开始时间(结束时间为空),最后保存入库,然后继续监听。

如果是结束时间消息,则接收本次终端设备系统的结束时间,并检查网 络侧本地是否存在只有开始时间没有结束时间的时间记录,如果有这样的记录,说明该开始时间和刚接收的结束时间是实际对应的一组开始时间和结束时间,则把本次接收的结束时间填充到该记录空缺的结束时间处,完成一对完整的使用时间的配对,并将该配对后的记录入库保存。如果没有这样的记录,说明该结束时间找不到其对应的开始时间,则将本次结束时间消息丢弃。

网络侧获取到的使用终端设备系统的开始时间和结束时间信息,可以完整的将终端设备系统的使用时间情况完整的呈现出来。

从上述实施例可以看出,本申请技术方案以简单的方案解决管理系统在终端设备异常关机或应用异常中断以及与外部网络不通的情况下无法有效获取终端设备开关机时间或应用开始结束时间的问题,克服了现有技术存在的管理服务器负担过重的问题或需要依赖外部网络的缺陷。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。

以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1