一种确保客户端数据采集准确性的方法及客户端技术

技术编号:28133535 阅读:18 留言:0更新日期:2021-04-19 11:59
本发明专利技术实施例公开了一种确保客户端数据采集准确性的方法及客户端,所述方法包括:向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级;将生成的不同优先级的事件数据在内存中进行序列化并存储到磁盘上;由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至磁盘中待下次重新发送。采用了数据实时持久化以及多级缓存的方式,在客户端程序崩溃、异常或者网络状况不佳的情况下,能够保证数据不丢失,在程序再次启动时可以将之前缓存的数据发送出来,确保数据采集准确性和完整性。确保数据采集准确性和完整性。确保数据采集准确性和完整性。

【技术实现步骤摘要】
一种确保客户端数据采集准确性的方法及客户端


[0001]本专利技术实施例涉及计算机
,具体涉及一种确保客户端数据采集准确性的方法及客户端。

技术介绍

[0002]传统的客户端数据采集技术,一般直接使用HTTP请求进行数据传输,同时并没有重传机制,因此一旦传输失败,数据就会丢失。同时由于没有持久化方案,一旦客户端处于弱网或者断网的状态下,数据无法即时上传,也会造成数据丢失,这种现象在移动设备上会更加明显。这些缺陷会导致数据的采集完整性和准确性大幅下降。

技术实现思路

[0003]为此,本专利技术实施例提供一种确保客户端数据采集准确性的方法及客户端,以解决现有的客户端数据采集容易发生数据丢失,导致数据的采集准确性和完整性大幅下降的问题。
[0004]为了实现上述目的,本专利技术实施例提供如下技术方案:
[0005]根据本专利技术实施例的第一方面,提出了一种确保客户端数据采集准确性的方法,所述方法包括:
[0006]向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级;
[0007]将生成的不同优先级的事件数据在内存中进行序列化并存储到磁盘上;
[0008]由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至磁盘中待下次重新发送。
[0009]进一步地,由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,具体还包括:
[0010]按照预设时间间隔发送数据,并根据预先配置的最大占用网络带宽对每次发送的最大数据量进行限定,若超出限定网络带宽配额则将数据留到下次发送。
[0011]进一步地,由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,具体还包括:
[0012]对于处于相同优先级的不同事件,按照事件结束时间戳的先后顺序依次将数据放入待发送队列后发送至服务器端。
[0013]进一步地,由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,具体还包括:
[0014]在每次数据发送过程中,若存在数据发送失败,则将发送失败的数据存储到发送失败缓存文件中,并在数据发送时优先发送失败数据,其次再根据优先级顺序发送数据。
[0015]进一步地,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至
磁盘中待下次重新发送,具体还包括:
[0016]在每次数据发送过程中,优先发送当前通信连接下的数据,且在数据量不超过每次限定网络带宽配额的前提下,再将之前通信连接中断产生的旧连接下的失败数据进行再次重新发送。
[0017]进一步地,将生成的不同优先级的数据在内存中进行数据序列化并存储到磁盘上,具体还包括:
[0018]将存储的不同优先级的数据文件进行分文件处理,并设置单个文件大小,若单个文件大小超出限制,则新建一个文件继续存储数据。
[0019]进一步地,所述方法还包括:
[0020]按照预设时间间隔检查对内存和磁盘的占用,若对内存或磁盘的占用超出预先配置的最大占用内存空间或最大占用磁盘空间,则优先丢弃之前通信连接中断产生的旧连接下的失败数据,其次按优先级由低到高的顺序丢弃数据,对相同优先级下的不同事件,按照事件结束时间戳从先到后的顺序丢弃数据。
[0021]进一步地,向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级,具体还包括:
[0022]在网络可用的情况下,按照预设时间间隔向服务器端发送ping请求,如果发现服务端事件配置有更新则发送更新请求,更新本地数据采集策略。
[0023]根据本专利技术实施例的第二方面,提出了一种客户端,所述客户端包括:
[0024]请求模块,用于向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级;
[0025]数据存储模块,用于将生成的不同优先级的事件数据在内存中进行序列化并存储到磁盘上;
[0026]数据发送模块,用于由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至磁盘中待下次重新发送。
[0027]根据本专利技术实施例的第三方面,提出了一种计算机存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种客户端执行如上所述的一种确保客户端数据采集准确性的方法。
[0028]本专利技术实施例具有如下优点:
[0029]本专利技术实施例提出的一种确保客户端数据采集准确性的方法及客户端,所述方法包括:向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级;将生成的不同优先级的事件数据在内存中进行序列化并存储到磁盘上;由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至磁盘中待下次重新发送。采用了数据实时持久化以及多级缓存的方式,在客户端程序崩溃、异常或者网络状况不佳的情况下,能够保证数据不丢失,在程序再次启动时可以将之前缓存的数据发送出来,确保数据采集准确性和完整性。
附图说明
[0030]为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创
[0031]图1为本专利技术实施例1提供的一种确保客户端数据采集准确性的方法的流程示意图;
[0032]图2为本专利技术实施例1提供的一种确保客户端数据采集准确性的方法中数据存储结构示意图;
[0033]图3为本专利技术实施例1提供的一种确保客户端数据采集准确性的方法中数据采集流程示意图;
[0034]图4为本专利技术实施例1提供的一种确保客户端数据采集准确性的方法中数据发送流程示意图;
[0035]图5为本专利技术实施例2提供的一种客户端的结构示意图。
具体实施方式
[0036]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]本专利技术实施例1提出了一种确保客户端数据采集准确性的方法,如图1所示,该方法包括以下步骤:
[0038]S110、向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级。
[0039]用户可以在服务端配置需要采集的事件,并配置事件的优先级,优先级可分为1<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种确保客户端数据采集准确性的方法,其特征在于,所述方法包括:向服务器端发送请求以获取在服务器端预先配置的需要采集的事件以及事件对应的优先级;将生成的不同优先级的事件数据在内存中进行序列化并存储到磁盘上;由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至磁盘中待下次重新发送。2.根据权利要求1所述的一种确保客户端数据采集准确性的方法,其特征在于,由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,具体还包括:按照预设时间间隔发送数据,并根据预先配置的最大占用网络带宽对每次发送的最大数据量进行限定,若超出限定网络带宽配额则将数据留到下次发送。3.根据权利要求1所述的一种确保客户端数据采集准确性的方法,其特征在于,由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,具体还包括:对于处于相同优先级的不同事件,按照事件结束时间戳的先后顺序依次将数据放入待发送队列后发送至服务器端。4.根据权利要求2所述的一种确保客户端数据采集准确性的方法,其特征在于,由所述磁盘中读取数据并按照优先级从高到低的顺序依次将数据放入待发送队列后发送至服务器端,具体还包括:在每次数据发送过程中,若存在数据发送失败,则将发送失败的数据存储到发送失败缓存文件中,并在数据发送时优先发送失败数据,其次再根据优先级顺序发送数据。5.根据权利要求2所述的一种确保客户端数据采集准确性的方法,其特征在于,若发生通信连接中断导致数据发送失败,则将发送失败的数据存储至磁盘中待下次重新发送,具体还包括:在每次数据发送过程中,优先发送当前通信连接下的数据,且在数据量不超过每次限定网络带宽配额的前提下,再将之前通信连接中断产生的...

【专利技术属性】
技术研发人员:孙夺施王兴杜晓祥
申请(专利权)人:北京云上曲率科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1