数据跟踪系统与方法
【技术领域】
[0001]本申请涉及数据跟踪系统与方法,具体涉及一种基于传输控制协议(Transmiss1n Control Protocol, TCP)的数据跟踪系统与方法。
【背景技术】
[0002]移动互联网的发展使我们的生活进入了更高层次的移动信息化时代。移动应用作为移动互联网时代的产物,也正在迅速崛起,并逐渐深入到我们生活的方方面面,并扮演者愈来愈重要的角色。
[0003]一般为了了解用户的需求,或者取得应用程式的状态,应用程式会通知用户是否同意把终端的运行信息数据上传服务器。目前数据收集采用了 HTTP REST方式。REST全名是Representat1nal State Transfer)是一种分散式超媒体系统(如WWW)的软体架构风格。位于客户端的终端通过发送HTTP请求的方法将数据上报到REST服务器。
[0004]使用HTTP协议传输数据存在一些问题。例如,使用HTTP协议的数据传输过程的容易有噪音,因此无形之中就增加了流量,浪费了用户流量,特别是移动手机用户的付费流量。此外,过多的数据也会占用终端的系统负载、内存或者增加耗电量。
[0005]另一个比较较严重的问题是,如果终端所连接的网络状态不稳定,那么传递数据的失败率会偏高。
[0006]数据的传输也可以用加密的方式来进行,受到SSL保护的网址会以https作为开头,而不是http,因此会将SSL称为“HTTPS”。因此,在在数据加密的情况下,由于搭载了加密信息导致了所需要的传送的数据量变多,进而导致HTTPS的代价较高。
[0007]因此,如何提供一种数据跟踪系统,以减少信息的传输量,进而降低数据跟踪系统运行时的系统负载或者电池电量,成为了亟待解决的技术问题。
【发明内容】
[0008]本申请所要解决的技术问题在于提供一种数据跟踪系统,以减少信息的传输量,进而降低数据跟踪系统运行时的系统负载或者电池电量。
[0009]为了解决上述问题,本申请揭示了一种数据跟踪系统,包括第一用户端模块,运行于终端中,通过配置的应用程序编程接口接收所述终端需要传送的信息,其中所述信息是以符合TCP协议的方式编码;第二用户端模块,运行于所述终端中,用于收集所述终端之系统环境信息并接收所述第一用户端模块传送的所述需要传送的信息,于每隔预定周期传送所述需要传送的信息或所述终端的系统环境信息,所述系统环境信息是以符合TCP协议的方式编码;至少一 TCP服务器,用于接收并处理所述所述第二模块传送的所述需要传送的信息或系统环境信息。
[0010]本申请更揭示了一种数据跟踪方法,包括:通过应用程序编程接口接收终端需要传送的信息,其中所述信息是以符合TCP协议的方式编码;收集所述终端之系统环境信息,所述系统环境信息是以符合TCP协议的方式编码;每隔预定周期传送所述需要传送的信息或所述终端的系统环境信息。
[0011]与现有技术相比,本申请所揭示的数据跟踪系统与方法可以获得包括以下技术效果:
[0012]I)采用TCP协议代替HTTP协议,该方案将有效减少数据传输的流量,进而节省用户流量。因此终端系统负载明显降低。此外由于数据传输量减少,因此电池消耗也明显减少。
[0013]2)由于数据传输量减少终端可以快速的将数据上传到服务器端
[0014]3)在终端处于移动状态时,使用TCP数据传输明显要比HTTP稳定很多。
[0015]4)当网络环境不利于数据传输时,本申请揭示的系统或方法可以先将所收集到的数据存储于终端中,以便于网络环境利于数据传输时重传
[0016]当然,以上技术效果并不一定要同时达成。
【附图说明】
[0017]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1为本申请实施例的数据跟踪系统的系统示意图;
[0019]图2为本申请实施例的数据跟踪方法的流程图。
【具体实施方式】
[0020]以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0021]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0022]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
[0023]本申请所揭示的数据跟踪系统与方法,应用于用户端的终端以收集终端的数据。所述的终端例如个人电脑、移动电脑、电视、移动电话等等,或者智能汽车,或者配置有智能功能的电子装置。这些终端所运行的作业系统可以是安卓(Android)或者1S作业系统。
[0024]参考图1,为本申请揭示的数据跟踪系统的系统架构图。所揭示的数据跟踪系统包括第一用户端模块110与第二用户端模块120。
[0025]在图1所示意的系统架构中,第一用户端模块110,运行于终端100中,配置应用程序编程接口(Applicat1n Programming Interface,API),通过所述应用程序编程接口接收所述终端需要传送的信息,其中所述信息是以符合TCP协议的方式编码。第二用户端模块120,也运行于所述终端100中,用于收集所述终端之系统环境信息并接收所述第一用户端模块传送的所述终端的信息,所述系统环境信息是以符合TCP协议的方式编码。其中第二用户端模块120每隔预定周期传送所述终端需要传送的信息或所述终端的系统环境信息。
[0026]符合TCP协议的方式编码说明如下。将信息以区分两部分,包括信息头与信息体。信息的长度,举例来说,信息头是5字节,其中I字节是信息类型,值域在[0,255],后4个字节是信息体的长度,编码方式是大尾(网络字节顺序big-endian)。信息体逻辑上由若干key:value对组成,key是字符串,value根据key的不同有不同类型,比如整数、字符串、浮点数等。消息体整体采用protocol buffers编码。
[0027]在终端使用安卓(Android)作业系统的实施例中,第一用户端模块100与第二用户端模块200