二、(技术选型与架构设计)亿级用户行为之大数据实时分析

 

1. 客户端到服务端数据流程(数据从何而来)

1)我们自己可以设定采集时间间隔,比如5分钟或者10分钟采集手机客户端使用应用产生的数据

  它会定时采集数据,然后对数据进行合并(减少对系统的压力),然后将数据存入本地数据库。

  当我们手机联网的时候,将数据一起发送出去。

2)当手机联网或者到了定时上传数据的时间,客户端会对数据做对称加密(保护用户隐私)

  和压缩(减少服务器带宽、流量)

3)然后调用服务器接口上传数据

4)服务器端解压并解密

5)使用log4j写入本地磁盘。主要是为让业务系统与后面采集系统完全解耦。

2. 客户端到服务端数据请求流程

1)当本地数据库中数据达到一定的条数之后或者一定时间之后(取决于我们自己设置的规则)

  进行加密、压缩,然后调用api将数据上传至服务器,接着服务器端对数据进行解压,解密,

  最后服务器端响应手机客户端已经上传成功,手机客户端收到消息后将本地数据删除

2)如果手机客户端调用api上传数据,发现数据以及上传成功,可能原因:

  服务端没有响应

  服务端响应超时

  那么客户端会认为数据没有发送成功,会重试,重发数据,从而造成数据重复问题

3)我们要对接口服务质量做监控,响应时间、最大响应时间、最小响应时间、平均响应时间。

4)除了监控服务质量,还需要重数据层面进行监控,到第有没有数据重复发送,有多少数据量。

5)通过大数据分析来发现客户端数据是否有问题

原文地址:https://www.cnblogs.com/hanchaoyue/p/13286038.html