com.qq.opensns.datacollector
类 DatacollectorClient

java.lang.Object
  继承者 com.qq.opensns.datacollector.DatacollectorClient

public class DatacollectorClient
extends java.lang.Object

数据上报处理类

作者:
octopuschen

方法摘要
 void commit(long seq, boolean fallFlag)
          提交, 在write_log多次调用后,一次性提交完成上报。
 java.lang.String encode(java.lang.String srcvalue)
          日志数据上报时采用key-value的方式,其中value中若含有”=”,”&”,”%” 时需要进行编码。
 java.lang.String getAppName()
          获得app名称
 long getNextSeq()
          获取数据记录序列号。
 java.lang.String getVersion()
          获得版本号
static DatacollectorClient init(java.lang.String appName)
          初始化,只能被实例化一个appName
 void writeBaseLog(LogType logType, java.lang.String data, java.lang.Boolean fallFlag)
          一次写入数据, 一般用于非落地数据的上报,不需要调用commit,也不分配序列号。
 void writeContinueLog(LogType logType, java.lang.String data, java.lang.Long seq)
          多次写入数据,一般用于落地数据的上报,允许多次添加,最终调用commit函数完成上报。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getAppName

public java.lang.String getAppName()
获得app名称


init

public static DatacollectorClient init(java.lang.String appName)
初始化,只能被实例化一个appName

参数:
appName - 应用名,应用的唯一标识。
返回:
DatacollectorManager 单例

encode

public java.lang.String encode(java.lang.String srcvalue)
日志数据上报时采用key-value的方式,其中value中若含有”=”,”&”,”%” 时需要进行编码。本接口提供了简单的编码函数,对于字符”&”,”=”,”%”进行替换.

参数:
srcvalue - 原字符串
返回:
转码后的串

getNextSeq

public long getNextSeq()
获取数据记录序列号。

返回:
seq

writeBaseLog

public void writeBaseLog(LogType logType,
                         java.lang.String data,
                         java.lang.Boolean fallFlag)
                  throws java.lang.Exception
一次写入数据, 一般用于非落地数据的上报,不需要调用commit,也不分配序列号。Logtype为1,即上报模调数据时, 只能使用write_baselog接口一次性上报日志数据,且设置为不需要数据落地

参数:
LogType - 数据类型
data - 数据,已经编码后的数据,业务需要直接传递格式为 "k1=v1&k2=v2"的数据。
fallFlag - 是否落地 true 落地 false 不落地
抛出:
java.lang.Exception

writeContinueLog

public void writeContinueLog(LogType logType,
                             java.lang.String data,
                             java.lang.Long seq)
                      throws java.lang.Exception
多次写入数据,一般用于落地数据的上报,允许多次添加,最终调用commit函数完成上报。注意多次上报一次提交时, 需要先调用getNextSeq函数得到sequence num,再多次调用write_log函数填入上一步取得的sequence num进行多次上报,最后调用commit函数提交该sequence num完成上报,本接口不适用于上报模调数据。

参数:
logType - 数据类型
data - 已经编码后的数据,业务需要直接传递格式为 "k1=v1&k2=v2"的数据。
seq - seq号码, 通过调用获取sequence number函数得到具体的数据记录序列号。在多次上报一次提交的情况下, 同一组提交的多次write_log应该使用相同的seq,提交时通过seq来区分这些log作为一组来上报。
抛出:
java.lang.Exception - 异常

commit

public void commit(long seq,
                   boolean fallFlag)
提交, 在write_log多次调用后,一次性提交完成上报。

参数:
seq - seq
fallFlag - 是否落地 true 落地 false 不落地

getVersion

public java.lang.String getVersion()
获得版本号

返回:
版本号