提交 dfc7c836 编写于 作者: H Hongze Cheng

Merge branch 'develop' into feature/update

...@@ -33,15 +33,11 @@ struct SColumnFilterElem; ...@@ -33,15 +33,11 @@ struct SColumnFilterElem;
typedef bool (*__filter_func_t)(struct SColumnFilterElem* pFilter, char* val1, char* val2); typedef bool (*__filter_func_t)(struct SColumnFilterElem* pFilter, char* val1, char* val2);
typedef int32_t (*__block_search_fn_t)(char* data, int32_t num, int64_t key, int32_t order); typedef int32_t (*__block_search_fn_t)(char* data, int32_t num, int64_t key, int32_t order);
typedef struct SPosInfo {
int32_t pageId:20;
int32_t rowId:12;
} SPosInfo;
typedef struct SGroupResInfo { typedef struct SGroupResInfo {
int32_t groupId; int32_t groupId;
int32_t numOfDataPages; int32_t numOfDataPages;
SPosInfo pos; int32_t pageId;
int32_t rowId;
} SGroupResInfo; } SGroupResInfo;
typedef struct SSqlGroupbyExpr { typedef struct SSqlGroupbyExpr {
...@@ -53,9 +49,10 @@ typedef struct SSqlGroupbyExpr { ...@@ -53,9 +49,10 @@ typedef struct SSqlGroupbyExpr {
} SSqlGroupbyExpr; } SSqlGroupbyExpr;
typedef struct SWindowResult { typedef struct SWindowResult {
SPosInfo pos; // Position of current result in disk-based output buffer int32_t pageId; // pageId & rowId is the position of current result in disk-based output buffer
int32_t rowId:15;
bool closed:1; // this result status: closed or opened
uint16_t numOfRows; // number of rows of current time window uint16_t numOfRows; // number of rows of current time window
bool closed; // this result status: closed or opened
SResultInfo* resultInfo; // For each result column, there is a resultInfo SResultInfo* resultInfo; // For each result column, there is a resultInfo
union {STimeWindow win; char* key;}; // start key of current time window union {STimeWindow win; char* key;}; // start key of current time window
} SWindowResult; } SWindowResult;
......
...@@ -51,7 +51,7 @@ static FORCE_INLINE char *getPosInResultPage(SQueryRuntimeEnv *pRuntimeEnv, int3 ...@@ -51,7 +51,7 @@ static FORCE_INLINE char *getPosInResultPage(SQueryRuntimeEnv *pRuntimeEnv, int3
SQuery *pQuery = pRuntimeEnv->pQuery; SQuery *pQuery = pRuntimeEnv->pQuery;
int32_t realRowId = (int32_t)(pResult->pos.rowId * GET_ROW_PARAM_FOR_MULTIOUTPUT(pQuery, pRuntimeEnv->topBotQuery, pRuntimeEnv->stableQuery)); int32_t realRowId = (int32_t)(pResult->rowId * GET_ROW_PARAM_FOR_MULTIOUTPUT(pQuery, pRuntimeEnv->topBotQuery, pRuntimeEnv->stableQuery));
return ((char *)page->data) + pRuntimeEnv->offset[columnIndex] * pRuntimeEnv->numOfRowsPerPage + return ((char *)page->data) + pRuntimeEnv->offset[columnIndex] * pRuntimeEnv->numOfRowsPerPage +
pQuery->pSelectExpr[columnIndex].bytes * realRowId; pQuery->pSelectExpr[columnIndex].bytes * realRowId;
} }
......
...@@ -557,7 +557,7 @@ static STimeWindow getActiveTimeWindow(SWindowResInfo *pWindowResInfo, int64_t t ...@@ -557,7 +557,7 @@ static STimeWindow getActiveTimeWindow(SWindowResInfo *pWindowResInfo, int64_t t
static int32_t addNewWindowResultBuf(SWindowResult *pWindowRes, SDiskbasedResultBuf *pResultBuf, int32_t sid, static int32_t addNewWindowResultBuf(SWindowResult *pWindowRes, SDiskbasedResultBuf *pResultBuf, int32_t sid,
int32_t numOfRowsPerPage) { int32_t numOfRowsPerPage) {
if (pWindowRes->pos.pageId != -1) { if (pWindowRes->pageId != -1) {
return 0; return 0;
} }
...@@ -590,11 +590,11 @@ static int32_t addNewWindowResultBuf(SWindowResult *pWindowRes, SDiskbasedResult ...@@ -590,11 +590,11 @@ static int32_t addNewWindowResultBuf(SWindowResult *pWindowRes, SDiskbasedResult
} }
// set the number of rows in current disk page // set the number of rows in current disk page
if (pWindowRes->pos.pageId == -1) { // not allocated yet, allocate new buffer if (pWindowRes->pageId == -1) { // not allocated yet, allocate new buffer
pWindowRes->pos.pageId = pageId; pWindowRes->pageId = pageId;
pWindowRes->pos.rowId = (int32_t)(pData->num++); pWindowRes->rowId = (int32_t)(pData->num++);
assert(pWindowRes->pos.pageId >= 0); assert(pWindowRes->pageId >= 0);
} }
return 0; return 0;
...@@ -616,7 +616,7 @@ static int32_t setWindowOutputBufByKey(SQueryRuntimeEnv *pRuntimeEnv, SWindowRes ...@@ -616,7 +616,7 @@ static int32_t setWindowOutputBufByKey(SQueryRuntimeEnv *pRuntimeEnv, SWindowRes
*newWind = true; *newWind = true;
// not assign result buffer yet, add new result buffer // not assign result buffer yet, add new result buffer
if (pWindowRes->pos.pageId == -1) { if (pWindowRes->pageId == -1) {
int32_t ret = addNewWindowResultBuf(pWindowRes, pResultBuf, sid, pRuntimeEnv->numOfRowsPerPage); int32_t ret = addNewWindowResultBuf(pWindowRes, pResultBuf, sid, pRuntimeEnv->numOfRowsPerPage);
if (ret != TSDB_CODE_SUCCESS) { if (ret != TSDB_CODE_SUCCESS) {
return -1; return -1;
...@@ -1143,7 +1143,7 @@ static int32_t setGroupResultOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, char *pDat ...@@ -1143,7 +1143,7 @@ static int32_t setGroupResultOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, char *pDat
assert(pRuntimeEnv->windowResInfo.interval == 0); assert(pRuntimeEnv->windowResInfo.interval == 0);
if (pWindowRes->pos.pageId == -1) { if (pWindowRes->pageId == -1) {
int32_t ret = addNewWindowResultBuf(pWindowRes, pResultBuf, GROUPRESULTID, pRuntimeEnv->numOfRowsPerPage); int32_t ret = addNewWindowResultBuf(pWindowRes, pResultBuf, GROUPRESULTID, pRuntimeEnv->numOfRowsPerPage);
if (ret != 0) { if (ret != 0) {
return -1; return -1;
...@@ -2652,7 +2652,7 @@ static void doMerge(SQueryRuntimeEnv *pRuntimeEnv, int64_t timestamp, SWindowRes ...@@ -2652,7 +2652,7 @@ static void doMerge(SQueryRuntimeEnv *pRuntimeEnv, int64_t timestamp, SWindowRes
SQuery * pQuery = pRuntimeEnv->pQuery; SQuery * pQuery = pRuntimeEnv->pQuery;
SQLFunctionCtx *pCtx = pRuntimeEnv->pCtx; SQLFunctionCtx *pCtx = pRuntimeEnv->pCtx;
tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes->pos.pageId); tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes->pageId);
for (int32_t i = 0; i < pQuery->numOfOutput; ++i) { for (int32_t i = 0; i < pQuery->numOfOutput; ++i) {
int32_t functionId = pQuery->pSelectExpr[i].base.functionId; int32_t functionId = pQuery->pSelectExpr[i].base.functionId;
...@@ -2823,14 +2823,14 @@ int32_t tableResultComparFn(const void *pLeft, const void *pRight, void *param) ...@@ -2823,14 +2823,14 @@ int32_t tableResultComparFn(const void *pLeft, const void *pRight, void *param)
SWindowResInfo *pWindowResInfo1 = &supporter->pTableQueryInfo[left]->windowResInfo; SWindowResInfo *pWindowResInfo1 = &supporter->pTableQueryInfo[left]->windowResInfo;
SWindowResult * pWindowRes1 = getWindowResult(pWindowResInfo1, leftPos); SWindowResult * pWindowRes1 = getWindowResult(pWindowResInfo1, leftPos);
tFilePage *page1 = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes1->pos.pageId); tFilePage *page1 = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes1->pageId);
char *b1 = getPosInResultPage(pRuntimeEnv, PRIMARYKEY_TIMESTAMP_COL_INDEX, pWindowRes1, page1); char *b1 = getPosInResultPage(pRuntimeEnv, PRIMARYKEY_TIMESTAMP_COL_INDEX, pWindowRes1, page1);
TSKEY leftTimestamp = GET_INT64_VAL(b1); TSKEY leftTimestamp = GET_INT64_VAL(b1);
SWindowResInfo *pWindowResInfo2 = &supporter->pTableQueryInfo[right]->windowResInfo; SWindowResInfo *pWindowResInfo2 = &supporter->pTableQueryInfo[right]->windowResInfo;
SWindowResult * pWindowRes2 = getWindowResult(pWindowResInfo2, rightPos); SWindowResult * pWindowRes2 = getWindowResult(pWindowResInfo2, rightPos);
tFilePage *page2 = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes2->pos.pageId); tFilePage *page2 = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes2->pageId);
char *b2 = getPosInResultPage(pRuntimeEnv, PRIMARYKEY_TIMESTAMP_COL_INDEX, pWindowRes2, page2); char *b2 = getPosInResultPage(pRuntimeEnv, PRIMARYKEY_TIMESTAMP_COL_INDEX, pWindowRes2, page2);
TSKEY rightTimestamp = GET_INT64_VAL(b2); TSKEY rightTimestamp = GET_INT64_VAL(b2);
...@@ -2867,7 +2867,7 @@ int32_t mergeIntoGroupResult(SQInfo *pQInfo) { ...@@ -2867,7 +2867,7 @@ int32_t mergeIntoGroupResult(SQInfo *pQInfo) {
} }
SGroupResInfo* info = &pQInfo->groupResInfo; SGroupResInfo* info = &pQInfo->groupResInfo;
if (pQInfo->groupIndex == numOfGroups && info->pos.pageId == info->numOfDataPages) { if (pQInfo->groupIndex == numOfGroups && info->pageId == info->numOfDataPages) {
SET_STABLE_QUERY_OVER(pQInfo); SET_STABLE_QUERY_OVER(pQInfo);
} }
...@@ -2883,10 +2883,10 @@ void copyResToQueryResultBuf(SQInfo *pQInfo, SQuery *pQuery) { ...@@ -2883,10 +2883,10 @@ void copyResToQueryResultBuf(SQInfo *pQInfo, SQuery *pQuery) {
SGroupResInfo* pGroupResInfo = &pQInfo->groupResInfo; SGroupResInfo* pGroupResInfo = &pQInfo->groupResInfo;
// all results have been return to client, try next group // all results have been return to client, try next group
if (pGroupResInfo->pos.pageId == pGroupResInfo->numOfDataPages) { if (pGroupResInfo->pageId == pGroupResInfo->numOfDataPages) {
pGroupResInfo->numOfDataPages = 0; pGroupResInfo->numOfDataPages = 0;
pGroupResInfo->pos.pageId = 0; pGroupResInfo->pageId = 0;
pGroupResInfo->pos.rowId = 0; pGroupResInfo->rowId = 0;
// current results of group has been sent to client, try next group // current results of group has been sent to client, try next group
if (mergeIntoGroupResult(pQInfo) != TSDB_CODE_SUCCESS) { if (mergeIntoGroupResult(pQInfo) != TSDB_CODE_SUCCESS) {
...@@ -2914,22 +2914,22 @@ void copyResToQueryResultBuf(SQInfo *pQInfo, SQuery *pQuery) { ...@@ -2914,22 +2914,22 @@ void copyResToQueryResultBuf(SQInfo *pQInfo, SQuery *pQuery) {
assert(size == pGroupResInfo->numOfDataPages); assert(size == pGroupResInfo->numOfDataPages);
bool done = false; bool done = false;
for (int32_t j = pGroupResInfo->pos.pageId; j < size; ++j) { for (int32_t j = pGroupResInfo->pageId; j < size; ++j) {
SPageInfo* pi = *(SPageInfo**) taosArrayGet(list, j); SPageInfo* pi = *(SPageInfo**) taosArrayGet(list, j);
tFilePage* pData = getResBufPage(pResultBuf, pi->pageId); tFilePage* pData = getResBufPage(pResultBuf, pi->pageId);
assert(pData->num > 0 && pData->num <= pRuntimeEnv->numOfRowsPerPage && pGroupResInfo->pos.rowId < pData->num); assert(pData->num > 0 && pData->num <= pRuntimeEnv->numOfRowsPerPage && pGroupResInfo->rowId < pData->num);
int32_t numOfRes = (int32_t)(pData->num - pGroupResInfo->pos.rowId); int32_t numOfRes = (int32_t)(pData->num - pGroupResInfo->rowId);
if (numOfRes > pQuery->rec.capacity - offset) { if (numOfRes > pQuery->rec.capacity - offset) {
numOfCopiedRows = (int32_t)(pQuery->rec.capacity - offset); numOfCopiedRows = (int32_t)(pQuery->rec.capacity - offset);
pGroupResInfo->pos.rowId += numOfCopiedRows; pGroupResInfo->rowId += numOfCopiedRows;
done = true; done = true;
} else { } else {
numOfCopiedRows = (int32_t)pData->num; numOfCopiedRows = (int32_t)pData->num;
pGroupResInfo->pos.pageId += 1; pGroupResInfo->pageId += 1;
pGroupResInfo->pos.rowId = 0; pGroupResInfo->rowId = 0;
} }
for (int32_t i = 0; i < pQuery->numOfOutput; ++i) { for (int32_t i = 0; i < pQuery->numOfOutput; ++i) {
...@@ -3020,8 +3020,8 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) { ...@@ -3020,8 +3020,8 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) {
pGroupResInfo->numOfDataPages = (int32_t)taosArrayGetSize(pageList); pGroupResInfo->numOfDataPages = (int32_t)taosArrayGetSize(pageList);
pGroupResInfo->groupId = tid; pGroupResInfo->groupId = tid;
pGroupResInfo->pos.pageId = 0; pGroupResInfo->pageId = 0;
pGroupResInfo->pos.rowId = 0; pGroupResInfo->rowId = 0;
return pGroupResInfo->numOfDataPages; return pGroupResInfo->numOfDataPages;
} }
...@@ -3067,7 +3067,7 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) { ...@@ -3067,7 +3067,7 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) {
SWindowResInfo *pWindowResInfo = &pTableList[pos]->windowResInfo; SWindowResInfo *pWindowResInfo = &pTableList[pos]->windowResInfo;
SWindowResult *pWindowRes = getWindowResult(pWindowResInfo, cs.position[pos]); SWindowResult *pWindowRes = getWindowResult(pWindowResInfo, cs.position[pos]);
tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes->pos.pageId); tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes->pageId);
char *b = getPosInResultPage(pRuntimeEnv, PRIMARYKEY_TIMESTAMP_COL_INDEX, pWindowRes, page); char *b = getPosInResultPage(pRuntimeEnv, PRIMARYKEY_TIMESTAMP_COL_INDEX, pWindowRes, page);
TSKEY ts = GET_INT64_VAL(b); TSKEY ts = GET_INT64_VAL(b);
...@@ -3104,7 +3104,7 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) { ...@@ -3104,7 +3104,7 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) {
lastTimestamp = ts; lastTimestamp = ts;
// move to the next element of current entry // move to the next element of current entry
int32_t currentPageId = pWindowRes->pos.pageId; int32_t currentPageId = pWindowRes->pageId;
cs.position[pos] += 1; cs.position[pos] += 1;
if (cs.position[pos] >= pWindowResInfo->size) { if (cs.position[pos] >= pWindowResInfo->size) {
...@@ -3117,7 +3117,7 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) { ...@@ -3117,7 +3117,7 @@ int32_t mergeIntoGroupResultImpl(SQInfo *pQInfo, SArray *pGroup) {
} else { } else {
// current page is not needed anymore // current page is not needed anymore
SWindowResult *pNextWindowRes = getWindowResult(pWindowResInfo, cs.position[pos]); SWindowResult *pNextWindowRes = getWindowResult(pWindowResInfo, cs.position[pos]);
if (pNextWindowRes->pos.pageId != currentPageId) { if (pNextWindowRes->pageId != currentPageId) {
releaseResBufPage(pRuntimeEnv->pResultBuf, page); releaseResBufPage(pRuntimeEnv->pResultBuf, page);
} }
} }
...@@ -3329,7 +3329,8 @@ int32_t createQueryResultInfo(SQuery *pQuery, SWindowResult *pResultRow, bool is ...@@ -3329,7 +3329,8 @@ int32_t createQueryResultInfo(SQuery *pQuery, SWindowResult *pResultRow, bool is
return TSDB_CODE_QRY_OUT_OF_MEMORY; return TSDB_CODE_QRY_OUT_OF_MEMORY;
} }
pResultRow->pos = (SPosInfo) {-1, -1}; pResultRow->pageId = -1;
pResultRow->rowId = -1;
char* buf = (char*) pResultRow->resultInfo + numOfCols * sizeof(SResultInfo); char* buf = (char*) pResultRow->resultInfo + numOfCols * sizeof(SResultInfo);
...@@ -3796,7 +3797,7 @@ void setExecutionContext(SQInfo *pQInfo, int32_t groupIndex, TSKEY nextKey) { ...@@ -3796,7 +3797,7 @@ void setExecutionContext(SQInfo *pQInfo, int32_t groupIndex, TSKEY nextKey) {
* not assign result buffer yet, add new result buffer * not assign result buffer yet, add new result buffer
* all group belong to one result set, and each group result has different group id so set the id to be one * all group belong to one result set, and each group result has different group id so set the id to be one
*/ */
if (pWindowRes->pos.pageId == -1) { if (pWindowRes->pageId == -1) {
if (addNewWindowResultBuf(pWindowRes, pRuntimeEnv->pResultBuf, groupIndex, pRuntimeEnv->numOfRowsPerPage) != if (addNewWindowResultBuf(pWindowRes, pRuntimeEnv->pResultBuf, groupIndex, pRuntimeEnv->numOfRowsPerPage) !=
TSDB_CODE_SUCCESS) { TSDB_CODE_SUCCESS) {
return; return;
...@@ -3813,7 +3814,7 @@ void setWindowResOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pResult ...@@ -3813,7 +3814,7 @@ void setWindowResOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pResult
SQuery *pQuery = pRuntimeEnv->pQuery; SQuery *pQuery = pRuntimeEnv->pQuery;
// Note: pResult->pos[i]->num == 0, there is only fixed number of results for each group // Note: pResult->pos[i]->num == 0, there is only fixed number of results for each group
tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pResult->pos.pageId); tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pResult->pageId);
for (int32_t i = 0; i < pQuery->numOfOutput; ++i) { for (int32_t i = 0; i < pQuery->numOfOutput; ++i) {
SQLFunctionCtx *pCtx = &pRuntimeEnv->pCtx[i]; SQLFunctionCtx *pCtx = &pRuntimeEnv->pCtx[i];
...@@ -3840,7 +3841,7 @@ void setWindowResOutputBufInitCtx(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult * ...@@ -3840,7 +3841,7 @@ void setWindowResOutputBufInitCtx(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *
SQuery *pQuery = pRuntimeEnv->pQuery; SQuery *pQuery = pRuntimeEnv->pQuery;
// Note: pResult->pos[i]->num == 0, there is only fixed number of results for each group // Note: pResult->pos[i]->num == 0, there is only fixed number of results for each group
tFilePage* bufPage = getResBufPage(pRuntimeEnv->pResultBuf, pResult->pos.pageId); tFilePage* bufPage = getResBufPage(pRuntimeEnv->pResultBuf, pResult->pageId);
for (int32_t i = 0; i < pQuery->numOfOutput; ++i) { for (int32_t i = 0; i < pQuery->numOfOutput; ++i) {
SQLFunctionCtx *pCtx = &pRuntimeEnv->pCtx[i]; SQLFunctionCtx *pCtx = &pRuntimeEnv->pCtx[i];
...@@ -4019,12 +4020,12 @@ static int32_t doCopyToSData(SQInfo *pQInfo, SWindowResInfo *pResultInfo, int32_ ...@@ -4019,12 +4020,12 @@ static int32_t doCopyToSData(SQInfo *pQInfo, SWindowResInfo *pResultInfo, int32_
for (int32_t i = startIdx; (i < totalSet) && (i >= 0); i += step) { for (int32_t i = startIdx; (i < totalSet) && (i >= 0); i += step) {
if (result[i].numOfRows == 0) { if (result[i].numOfRows == 0) {
pQInfo->groupIndex += 1; pQInfo->groupIndex += 1;
pGroupResInfo->pos.rowId = 0; pGroupResInfo->rowId = 0;
continue; continue;
} }
int32_t numOfRowsToCopy = result[i].numOfRows - pGroupResInfo->pos.rowId; int32_t numOfRowsToCopy = result[i].numOfRows - pGroupResInfo->rowId;
int32_t oldOffset = pGroupResInfo->pos.rowId; int32_t oldOffset = pGroupResInfo->rowId;
/* /*
* current output space is not enough to accommodate all data of this page, only partial results * current output space is not enough to accommodate all data of this page, only partial results
...@@ -4032,13 +4033,13 @@ static int32_t doCopyToSData(SQInfo *pQInfo, SWindowResInfo *pResultInfo, int32_ ...@@ -4032,13 +4033,13 @@ static int32_t doCopyToSData(SQInfo *pQInfo, SWindowResInfo *pResultInfo, int32_
*/ */
if (numOfRowsToCopy > pQuery->rec.capacity - numOfResult) { if (numOfRowsToCopy > pQuery->rec.capacity - numOfResult) {
numOfRowsToCopy = (int32_t) pQuery->rec.capacity - numOfResult; numOfRowsToCopy = (int32_t) pQuery->rec.capacity - numOfResult;
pGroupResInfo->pos.rowId += numOfRowsToCopy; pGroupResInfo->rowId += numOfRowsToCopy;
} else { } else {
pGroupResInfo->pos.rowId = 0; pGroupResInfo->rowId = 0;
pQInfo->groupIndex += 1; pQInfo->groupIndex += 1;
} }
tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, result[i].pos.pageId); tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, result[i].pageId);
for (int32_t j = 0; j < pQuery->numOfOutput; ++j) { for (int32_t j = 0; j < pQuery->numOfOutput; ++j) {
int32_t size = pRuntimeEnv->pCtx[j].outputBytes; int32_t size = pRuntimeEnv->pCtx[j].outputBytes;
......
...@@ -266,7 +266,7 @@ void clearTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pWindow ...@@ -266,7 +266,7 @@ void clearTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pWindow
return; return;
} }
tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes->pos.pageId); tFilePage *page = getResBufPage(pRuntimeEnv->pResultBuf, pWindowRes->pageId);
for (int32_t i = 0; i < pRuntimeEnv->pQuery->numOfOutput; ++i) { for (int32_t i = 0; i < pRuntimeEnv->pQuery->numOfOutput; ++i) {
SResultInfo *pResultInfo = &pWindowRes->resultInfo[i]; SResultInfo *pResultInfo = &pWindowRes->resultInfo[i];
...@@ -279,7 +279,8 @@ void clearTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pWindow ...@@ -279,7 +279,8 @@ void clearTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pWindow
} }
pWindowRes->numOfRows = 0; pWindowRes->numOfRows = 0;
pWindowRes->pos = (SPosInfo){-1, -1}; pWindowRes->pageId = -1;
pWindowRes->rowId = -1;
pWindowRes->closed = false; pWindowRes->closed = false;
pWindowRes->win = TSWINDOW_INITIALIZER; pWindowRes->win = TSWINDOW_INITIALIZER;
} }
...@@ -308,10 +309,10 @@ void copyTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *dst, con ...@@ -308,10 +309,10 @@ void copyTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *dst, con
memcpy(pDst->interResultBuf, pSrc->interResultBuf, pDst->bufLen); memcpy(pDst->interResultBuf, pSrc->interResultBuf, pDst->bufLen);
// copy the output buffer data from src to dst, the position info keep unchanged // copy the output buffer data from src to dst, the position info keep unchanged
tFilePage *dstpage = getResBufPage(pRuntimeEnv->pResultBuf, dst->pos.pageId); tFilePage *dstpage = getResBufPage(pRuntimeEnv->pResultBuf, dst->pageId);
char * dstBuf = getPosInResultPage(pRuntimeEnv, i, dst, dstpage); char * dstBuf = getPosInResultPage(pRuntimeEnv, i, dst, dstpage);
tFilePage *srcpage = getResBufPage(pRuntimeEnv->pResultBuf, src->pos.pageId); tFilePage *srcpage = getResBufPage(pRuntimeEnv->pResultBuf, src->pageId);
char * srcBuf = getPosInResultPage(pRuntimeEnv, i, (SWindowResult *)src, srcpage); char * srcBuf = getPosInResultPage(pRuntimeEnv, i, (SWindowResult *)src, srcpage);
size_t s = pRuntimeEnv->pQuery->pSelectExpr[i].bytes; size_t s = pRuntimeEnv->pQuery->pSelectExpr[i].bytes;
......
...@@ -215,6 +215,11 @@ static void rpcUnlockConn(SRpcConn *pConn); ...@@ -215,6 +215,11 @@ static void rpcUnlockConn(SRpcConn *pConn);
static void rpcAddRef(SRpcInfo *pRpc); static void rpcAddRef(SRpcInfo *pRpc);
static void rpcDecRef(SRpcInfo *pRpc); static void rpcDecRef(SRpcInfo *pRpc);
static void rpcFree(void *p) {
tTrace("free mem: %p", p);
free(p);
}
static void rpcInit(void) { static void rpcInit(void) {
tsProgressTimer = tsRpcTimer/2; tsProgressTimer = tsRpcTimer/2;
...@@ -222,7 +227,7 @@ static void rpcInit(void) { ...@@ -222,7 +227,7 @@ static void rpcInit(void) {
tsRpcHeadSize = RPC_MSG_OVERHEAD; tsRpcHeadSize = RPC_MSG_OVERHEAD;
tsRpcOverhead = sizeof(SRpcReqContext); tsRpcOverhead = sizeof(SRpcReqContext);
tsRpcRefId = taosOpenRef(200, free); tsRpcRefId = taosOpenRef(200, rpcFree);
} }
void *rpcOpen(const SRpcInit *pInit) { void *rpcOpen(const SRpcInit *pInit) {
......
...@@ -1271,7 +1271,6 @@ static void copyAllRemainRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, STabl ...@@ -1271,7 +1271,6 @@ static void copyAllRemainRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, STabl
int32_t end = endPos; int32_t end = endPos;
if (!ASCENDING_TRAVERSE(pQueryHandle->order)) { if (!ASCENDING_TRAVERSE(pQueryHandle->order)) {
assert(start >= end);
SWAP(start, end, int32_t); SWAP(start, end, int32_t);
} }
......
...@@ -159,8 +159,8 @@ int taosAddRef(int refId, void *p) ...@@ -159,8 +159,8 @@ int taosAddRef(int refId, void *p)
taosLockList(pSet->lockedBy+hash); taosLockList(pSet->lockedBy+hash);
pNode = pSet->nodeList[hash]; pNode = pSet->nodeList[hash];
while ( pNode ) { while (pNode) {
if ( pNode->p == p ) if (pNode->p == p)
break; break;
pNode = pNode->next; pNode = pNode->next;
...@@ -176,8 +176,9 @@ int taosAddRef(int refId, void *p) ...@@ -176,8 +176,9 @@ int taosAddRef(int refId, void *p)
pNode->count = 1; pNode->count = 1;
pNode->prev = 0; pNode->prev = 0;
pNode->next = pSet->nodeList[hash]; pNode->next = pSet->nodeList[hash];
if (pSet->nodeList[hash]) pSet->nodeList[hash]->prev = pNode;
pSet->nodeList[hash] = pNode; pSet->nodeList[hash] = pNode;
uTrace("refId:%d p:%p is added, count::%d", refId, p, pSet->count); uTrace("refId:%d p:%p is added, count:%d malloc mem: %p", refId, p, pSet->count, pNode);
} else { } else {
code = TSDB_CODE_REF_NO_MEMORY; code = TSDB_CODE_REF_NO_MEMORY;
uTrace("refId:%d p:%p is not added, since no memory", refId, p); uTrace("refId:%d p:%p is not added, since no memory", refId, p);
...@@ -197,7 +198,7 @@ int taosAcquireRef(int refId, void *p) ...@@ -197,7 +198,7 @@ int taosAcquireRef(int refId, void *p)
SRefNode *pNode; SRefNode *pNode;
SRefSet *pSet; SRefSet *pSet;
if ( refId < 0 || refId >= TSDB_REF_OBJECTS ) { if (refId < 0 || refId >= TSDB_REF_OBJECTS) {
uTrace("refId:%d p:%p failed to acquire, refId not valid", refId, p); uTrace("refId:%d p:%p failed to acquire, refId not valid", refId, p);
return TSDB_CODE_REF_INVALID_ID; return TSDB_CODE_REF_INVALID_ID;
} }
...@@ -267,7 +268,7 @@ void taosReleaseRef(int refId, void *p) ...@@ -267,7 +268,7 @@ void taosReleaseRef(int refId, void *p)
pNode = pSet->nodeList[hash]; pNode = pSet->nodeList[hash];
while (pNode) { while (pNode) {
if ( pNode->p == p ) if (pNode->p == p)
break; break;
pNode = pNode->next; pNode = pNode->next;
...@@ -291,7 +292,7 @@ void taosReleaseRef(int refId, void *p) ...@@ -291,7 +292,7 @@ void taosReleaseRef(int refId, void *p)
free(pNode); free(pNode);
released = 1; released = 1;
uTrace("refId:%d p:%p is removed, count::%d", refId, p, pSet->count); uTrace("refId:%d p:%p is removed, count:%d, free mem: %p", refId, p, pSet->count, pNode);
} else { } else {
uTrace("refId:%d p:%p is released", refId, p); uTrace("refId:%d p:%p is released", refId, p);
} }
......
# 如何在 windows环境下使用jdbc进行TDengine应用开发
本文以windows环境为例,介绍java如何进行TDengine开发应用
## 环境准备
(1)安装jdk
官网下载jdk-1.8,下载页面:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
安装,配置环境变量,把jdk加入到环境变量里。
命令行内查看java的版本。
```shell
>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
```
(2)安装配置maven
官网下载maven,下载地址:http://maven.apache.org/download.cgi
配置环境变量MAVEN_HOME,将MAVEN_HOME/bin添加到PATH
命令行里查看maven的版本
```shell
>mvn --version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: D:\apache-maven-3.5.0\bin\..
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_131\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
```
为了加快maven下载依赖的速度,可以为maven配置mirror,修改MAVEN_HOME\config\settings.xml文件
```xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 配置本地maven仓库的路径 -->
<localRepository>D:\apache-maven-localRepository</localRepository>
<mirrors>
<!-- 配置阿里云Maven镜像仓库 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<!-- 配置jdk,maven会默认使用java1.8 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
</settings>
```
(3)在linux服务器上安装TDengine-server
在taosdata官网下载TDengine-server,下载地址:https://www.taosdata.com/cn/all-downloads/
在linux服务器上安装TDengine-server
```shell
# tar -zxvf package/TDengine-server-2.0.1.1-Linux-x64.tar.gz
# cd TDengine-server/
# ./install.sh
```
启动taosd
```shell
# systemctl start taosd
```
在server上用taos连接taosd
```shell
# taos
taos> show dnodes;
id | end_point | vnodes | cores | status | role | create_time |
==================================================================================================================
1 | td01:6030 | 2 | 4 | ready | any | 2020-08-19 18:40:25.045 |
Query OK, 1 row(s) in set (0.005765s)
```
如果可以正确连接到taosd实例,并打印出databases的信息,说明TDengine的server已经正确启动。这里查看server的hostname
```shell
# hostname -f
td01
```
注意,如果安装TDengine后,使用默认的taos.cfg配置文件,taosd会使用当前server的hostname创建dnode实例。之后,在client也需要使用这个hostname来连接taosd。
(4)在windows上安装TDengine-client
在taosdata官网下载taos客户端,下载地址:
https://www.taosdata.com/cn/all-downloads/
下载后,双击exe安装。
修改client的hosts文件(C:\Windows\System32\drivers\etc\hosts),将server的hostname和ip配置到client的hosts文件中
```
192.168.236.136 td01
```
配置完成后,在命令行内使用taos shell连接server端
```shell
C:\TDengine>taos
Welcome to the TDengine shell from Linux, Client Version:2.0.1.1
Copyright (c) 2017 by TAOS Data, Inc. All rights reserved.
taos> show databases;
name | created_time | ntables | vgroups | replica | quorum | days | keep1,keep2,keep(D) | cache(MB) | blocks | minrows | maxrows | wallevel | fsync | comp | precision | status |
===================================================================================================================================================================================================================================================================
test | 2020-08-19 18:43:50.731 | 1 | 1 | 1 | 1 | 2 | 3650,3650,3650 | 16 | 6 | 100 | 4096 | 1 | 3000 | 2 | ms | ready |
log | 2020-08-19 18:40:28.064 | 4 | 1 | 1 | 1 | 10 | 30,30,30 | 1 | 3 | 100 | 4096 | 1 | 3000 | 2 | us | ready |
Query OK, 2 row(s) in set (0.068000s)
```
如果windows上的client能够正常连接,并打印database信息,说明client可以正常连接server了。
## 应用开发
(1)新建maven工程,在pom.xml中引入taos-jdbcdriver依赖。
```xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.taosdata.demo</groupId>
<artifactId>JdbcDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>2.0.8</version>
</dependency>
</dependencies>
</project>
```
(2)使用jdbc查询TDengine数据库
下面是示例代码:
```java
public class JdbcDemo {
public static void main(String[] args) throws Exception {
Connection conn = getConn();
Statement stmt = conn.createStatement();
// create database
stmt.executeUpdate("create database if not exists db");
// use database
stmt.executeUpdate("use db");
// create table
stmt.executeUpdate("create table if not exists tb (ts timestamp, temperature int, humidity float)");
// insert data
int affectedRows = stmt.executeUpdate("insert into tb values(now, 23, 10.3) (now + 1s, 20, 9.3)");
System.out.println("insert " + affectedRows + " rows.");
// query data
ResultSet resultSet = stmt.executeQuery("select * from tb");
Timestamp ts = null;
int temperature = 0;
float humidity = 0;
while(resultSet.next()){
ts = resultSet.getTimestamp(1);
temperature = resultSet.getInt(2);
humidity = resultSet.getFloat("humidity");
System.out.printf("%s, %d, %s\n", ts, temperature, humidity);
}
}
public static Connection getConn() throws Exception{
Class.forName("com.taosdata.jdbc.TSDBDriver");
String jdbcUrl = "jdbc:TAOS://td01:0/log?user=root&password=taosdata";
Properties connProps = new Properties();
connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
connProps.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
Connection conn = DriverManager.getConnection(jdbcUrl, connProps);
return conn;
}
}
```
(3)测试jdbc访问tdengine的sever实例
console输出:
```
insert 2 rows.
2020-08-26 00:06:34.575, 23, 10.3
2020-08-26 00:06:35.575, 20, 9.3
```
## 指南
(1)如何设置主机名和hosts
在server上查看hostname和fqdn
```shell
查看hostname
# hostname
taos-server
查看fqdn
# hostname -f
taos-server
```
windows下hosts文件位于:
C:\\Windows\System32\drivers\etc\hosts
修改hosts文件,添加server的ip和hostname
```s
192.168.56.101 node5
```
(2)什么是fqdn?
> 什么是FQDN?
>
> FQDN(Full qualified domain name)全限定域名,fqdn由2部分组成:hostname+domainname。
>
> 例如,一个邮件服务器的fqdn可能是:mymail.somecollege.edu,其中mymail是hostname(主机名),somcollege.edu是domainname(域名)。本例中,.edu是顶级域名,.somecollege是二级域名。
>
> 当连接服务器时,必须指定fqdn,然后,dns服务器通过查看dns表,将hostname解析为相应的ip地址。如果只指定hostname(不指定domainname),应用程序可能服务解析主机名。因为如果你试图访问不在本地的远程服务器时,本地的dns服务器和可能没有远程服务器的hostname列表。
>
> 参考:https://kb.iu.edu/d/aiuv
...@@ -151,6 +151,7 @@ python3 ./test.py -f query/select_last_crash.py ...@@ -151,6 +151,7 @@ python3 ./test.py -f query/select_last_crash.py
python3 ./test.py -f query/queryNullValueTest.py python3 ./test.py -f query/queryNullValueTest.py
python3 ./test.py -f query/queryInsertValue.py python3 ./test.py -f query/queryInsertValue.py
python3 ./test.py -f query/queryConnection.py python3 ./test.py -f query/queryConnection.py
python3 ./test.py -f query/queryCountCSVData.py
python3 ./test.py -f query/natualInterval.py python3 ./test.py -f query/natualInterval.py
python3 ./test.py -f query/bug1471.py python3 ./test.py -f query/bug1471.py
......
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import sys
import taos
from util.log import tdLog
from util.cases import tdCases
from util.sql import tdSql
from util.dnodes import tdDnodes
class TDTestCase:
"""
create table and insert data from disordered.csv which timestamp is disordered and
ordered.csv which timestamp is ordered.
then execute 'select count(*) from table xx;'
"""
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql)
def run(self):
tdSql.prepare()
print("==============step1")
tdSql.execute("create database if not exists demo;");
tdSql.execute("use demo;")
tdSql.execute("CREATE TABLE IF NOT EXISTS test1 (ts TIMESTAMP, ValueID int, "
"VariantValue float, Quality int, Flags int);")
tdSql.execute("CREATE TABLE IF NOT EXISTS test2 (ts TIMESTAMP, ValueID int, "
"VariantValue float, Quality int, Flags int);")
ordered_csv = __file__.split('query')[0] + 'test_data/ordered.csv'
disordered_csv = __file__.split('query')[0] + 'test_data/disordered.csv'
tdSql.execute(" insert into test1 file '{file}';".format(file=ordered_csv))
tdSql.execute(" insert into test2 file '{file}';".format(file=disordered_csv))
print("==============insert into test1 and test2 form test file")
print("==============step2")
tdSql.query('select * from test1;')
with open(ordered_csv) as f1:
num1 = len(f1.readlines())
tdSql.checkRows(num1)
tdSql.query('select * from test2;')
with open(disordered_csv) as f2:
num2 = len(f2.readlines())
tdSql.checkRows(num2)
print("=============execute select count(*) from xxx")
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
"""
this directory contains test data files
"""
\ No newline at end of file
"2020-03-01 20:01:49.493","130","7.595","128","8392704"
"2020-03-01 20:01:50.493","130","7.598","128","8392704"
"2020-03-01 20:01:51.493","130","7.602","128","8392704"
"2020-03-01 20:01:52.493","130","7.604","128","8392704"
"2020-03-01 20:01:53.493","130","7.604","128","8392704"
"2020-03-01 20:01:54.493","130","7.606","128","8392704"
"2020-03-01 20:01:55.493","130","7.607","128","8392704"
"2020-03-01 20:01:56.493","130","7.607","128","8392704"
"2020-03-01 20:01:57.493","130","7.607","128","8392704"
"2020-03-01 20:01:58.493","130","7.607","128","8392704"
"2020-03-01 20:01:59.493","130","7.606","128","8392704"
"2020-03-01 20:02:00.493","130","7.606","128","8392704"
"2020-03-01 20:02:01.493","130","7.606","128","8392704"
"2020-03-01 20:02:02.493","130","7.607","128","8392704"
"2020-03-01 20:02:03.493","130","7.608","128","8392704"
"2020-03-01 20:02:04.493","130","7.609","128","8392704"
"2020-03-01 20:02:05.493","130","7.609","128","8392704"
"2020-03-01 20:02:06.493","130","7.608","128","8392704"
"2020-03-01 20:02:07.493","130","7.606","128","8392704"
"2020-03-01 20:02:08.493","130","7.606","128","8392704"
"2020-03-01 20:02:09.493","130","7.607","128","8392704"
"2020-03-01 20:02:10.493","130","7.609","128","8392704"
"2020-03-01 20:02:11.493","130","7.61","128","8392704"
"2020-03-01 20:02:12.493","130","7.611","128","8392704"
"2020-03-01 20:02:13.493","130","7.61","128","8392704"
"2020-03-01 20:02:14.493","130","7.607","128","8392704"
"2020-03-01 20:02:15.493","130","7.605","128","8392704"
"2020-03-01 20:02:16.493","130","7.604","128","8392704"
"2020-03-01 20:02:17.493","130","7.603","128","8392704"
"2020-03-01 20:02:18.493","130","7.604","128","8392704"
"2020-03-01 20:02:19.493","130","7.604","128","8392704"
"2020-03-01 20:02:20.493","130","7.603","128","8392704"
"2020-03-01 20:02:21.493","130","7.601","128","8392704"
"2020-03-01 20:02:22.493","130","7.598","128","8392704"
"2020-03-01 20:02:23.493","130","7.595","128","8392704"
"2020-03-01 20:02:24.493","130","7.594","128","8392704"
"2020-03-01 20:02:25.493","130","7.594","128","8392704"
"2020-03-01 20:02:26.493","130","7.595","128","8392704"
"2020-03-01 20:02:27.493","130","7.596","128","8392704"
"2020-03-01 20:02:28.493","130","7.596","128","8392704"
"2020-03-01 20:02:29.493","130","7.598","128","8392704"
"2020-03-01 20:02:30.493","130","7.6","128","8392704"
"2020-03-01 20:02:31.493","130","7.6","128","8392704"
"2020-03-01 20:02:32.493","130","7.6","128","8392704"
"2020-03-01 20:02:33.493","130","7.601","128","8392704"
"2020-03-01 20:02:34.493","130","7.603","128","8392704"
"2020-03-01 20:02:35.493","130","7.604","128","8392704"
"2020-03-01 20:02:36.493","130","7.605","128","8392704"
"2020-03-01 20:02:37.493","130","7.606","128","8392704"
"2020-03-01 20:02:38.493","130","7.61","128","8392704"
"2020-03-01 20:02:39.493","130","7.611","128","8392704"
"2020-03-01 20:02:40.493","130","7.61","128","8392704"
"2020-03-01 20:02:41.493","130","7.609","128","8392704"
"2020-03-01 20:02:42.493","130","7.611","128","8392704"
"2020-03-01 20:02:43.493","130","7.61","128","8392704"
"2020-03-01 20:02:44.493","130","7.607","128","8392704"
"2020-03-01 20:02:45.493","130","7.605","128","8392704"
"2020-03-01 20:02:46.493","130","7.606","128","8392704"
"2020-03-01 20:02:47.493","130","7.604","128","8392704"
"2020-03-01 20:02:48.493","130","7.599","128","8392704"
"2020-03-01 20:02:49.493","130","7.595","128","8392704"
"2020-03-01 06:41:17.493","130","6.742","128","8392704"
"2020-03-01 06:41:18.493","130","6.741","128","8392704"
"2020-03-01 06:41:19.493","130","6.737","128","8392704"
"2020-03-01 06:41:20.493","130","6.734","128","8392704"
"2020-03-01 06:41:21.493","130","6.734","128","8392704"
"2020-03-01 06:41:22.493","130","6.733","128","8392704"
"2020-03-01 06:41:23.493","130","6.736","128","8392704"
"2020-03-01 06:41:24.493","130","6.739","128","8392704"
"2020-03-01 06:41:25.493","130","6.738","128","8392704"
"2020-03-01 06:41:26.493","130","6.74","128","8392704"
"2020-03-01 06:41:27.493","130","6.745","128","8392704"
"2020-03-01 06:41:28.493","130","6.749","128","8392704"
"2020-03-01 06:41:29.493","130","6.753","128","8392704"
"2020-03-01 06:41:30.493","130","6.753","128","8392704"
"2020-03-01 06:41:31.493","130","6.757","128","8392704"
"2020-03-01 06:41:32.493","130","6.763","128","8392704"
"2020-03-01 06:41:33.493","130","6.765","128","8392704"
"2020-03-01 06:41:34.493","130","6.764","128","8392704"
"2020-03-01 06:41:35.493","130","6.762","128","8392704"
"2020-03-01 06:41:36.493","130","6.758","128","8392704"
"2020-03-01 06:41:37.493","130","6.756","128","8392704"
"2020-03-01 06:41:38.493","130","6.755","128","8392704"
"2020-03-01 06:41:39.493","130","6.754","128","8392704"
"2020-03-01 06:41:40.493","130","6.755","128","8392704"
"2020-03-01 06:41:41.493","130","6.756","128","8392704"
"2020-03-01 06:41:42.493","130","6.757","128","8392704"
"2020-03-01 06:41:43.493","130","6.756","128","8392704"
"2020-03-01 06:41:44.493","130","6.756","128","8392704"
"2020-03-01 06:41:45.493","130","6.756","128","8392704"
"2020-03-01 06:41:46.493","130","6.759","128","8392704"
"2020-03-01 06:41:47.493","130","6.759","128","8392704"
"2020-03-01 06:41:48.493","130","6.758","128","8392704"
"2020-03-01 06:41:49.493","130","6.758","128","8392704"
"2020-03-01 06:41:50.493","130","6.756","128","8392704"
"2020-03-01 06:41:51.493","130","6.755","128","8392704"
"2020-03-01 06:41:52.493","130","6.755","128","8392704"
"2020-03-01 06:41:53.493","130","6.754","128","8392704"
"2020-03-01 06:41:54.493","130","6.751","128","8392704"
"2020-03-01 06:41:55.493","130","6.752","128","8392704"
"2020-03-01 06:41:56.493","130","6.753","128","8392704"
"2020-03-01 06:41:57.493","130","6.753","128","8392704"
"2020-03-01 06:41:58.493","130","6.753","128","8392704"
"2020-03-01 06:41:59.493","130","6.755","128","8392704"
"2020-03-01 06:42:00.493","130","6.752","128","8392704"
"2020-03-01 06:42:01.493","130","6.75","128","8392704"
"2020-03-01 06:42:02.493","130","6.75","128","8392704"
"2020-03-01 06:42:03.493","130","6.753","128","8392704"
"2020-03-01 06:42:04.493","130","6.755","128","8392704"
"2020-03-01 06:42:05.493","130","6.754","128","8392704"
"2020-03-01 06:42:06.493","130","6.754","128","8392704"
"2020-03-01 06:42:07.493","130","6.752","128","8392704"
"2020-03-01 06:42:08.493","130","6.748","128","8392704"
"2020-03-01 06:42:09.493","130","6.747","128","8392704"
"2020-03-01 06:42:10.493","130","6.747","128","8392704"
"2020-03-01 06:42:11.493","130","6.748","128","8392704"
"2020-03-01 06:42:12.493","130","6.748","128","8392704"
"2020-03-01 06:42:13.493","130","6.75","128","8392704"
"2020-03-01 06:42:14.493","130","6.754","128","8392704"
"2020-03-01 06:42:15.493","130","6.754","128","8392704"
"2020-03-01 06:42:16.493","130","6.756","128","8392704"
"2020-03-01 06:42:17.493","130","6.756","128","8392704"
"2020-03-01 06:42:18.493","130","6.757","128","8392704"
"2020-03-01 06:42:19.493","130","6.757","128","8392704"
"2020-03-01 06:42:20.493","130","6.76","128","8392704"
"2020-03-01 06:42:21.493","130","6.761","128","8392704"
"2020-03-01 06:42:22.493","130","6.76","128","8392704"
"2020-03-01 06:42:23.493","130","6.76","128","8392704"
"2020-03-01 06:42:24.493","130","6.76","128","8392704"
"2020-03-01 06:42:25.493","130","6.76","128","8392704"
"2020-03-01 06:42:26.493","130","6.758","128","8392704"
"2020-03-01 06:42:27.493","130","6.757","128","8392704"
"2020-03-01 06:42:28.493","130","6.752","128","8392704"
"2020-03-01 06:42:29.493","130","6.746","128","8392704"
"2020-03-01 06:42:30.493","130","6.742","128","8392704"
"2020-03-01 06:42:31.493","130","6.741","128","8392704"
"2020-03-01 06:42:32.493","130","6.739","128","8392704"
"2020-03-01 06:42:33.493","130","6.739","128","8392704"
"2020-03-01 06:42:34.493","130","6.737","128","8392704"
"2020-03-01 06:42:35.493","130","6.737","128","8392704"
"2020-03-01 06:42:36.493","130","6.738","128","8392704"
"2020-03-01 06:42:37.493","130","6.739","128","8392704"
"2020-03-01 06:42:38.493","130","6.743","128","8392704"
"2020-03-01 06:42:39.493","130","6.747","128","8392704"
"2020-03-01 06:42:40.493","130","6.748","128","8392704"
"2020-03-01 06:42:41.493","130","6.746","128","8392704"
"2020-03-01 06:42:42.493","130","6.746","128","8392704"
"2020-03-01 06:42:43.493","130","6.745","128","8392704"
"2020-03-01 06:42:44.493","130","6.742","128","8392704"
"2020-03-01 06:42:45.493","130","6.741","128","8392704"
"2020-03-01 06:42:46.493","130","6.74","128","8392704"
"2020-03-01 06:42:47.493","130","6.742","128","8392704"
"2020-03-01 06:42:48.493","130","6.743","128","8392704"
"2020-03-01 06:42:49.493","130","6.742","128","8392704"
"2020-03-01 06:42:50.493","130","6.742","128","8392704"
"2020-03-01 06:42:51.493","130","6.741","128","8392704"
"2020-03-01 06:42:52.493","130","6.741","128","8392704"
"2020-03-01 06:42:53.493","130","6.742","128","8392704"
"2020-03-01 06:42:54.493","130","6.742","128","8392704"
"2020-03-01 06:42:55.493","130","6.745","128","8392704"
"2020-03-01 06:42:56.493","130","6.747","128","8392704"
"2020-03-01 06:42:57.493","130","6.748","128","8392704"
"2020-03-01 06:42:58.493","130","6.75","128","8392704"
"2020-03-01 06:42:59.493","130","6.75","128","8392704"
"2020-03-01 06:43:00.493","130","6.748","128","8392704"
"2020-03-01 06:43:01.493","130","6.748","128","8392704"
"2020-03-01 06:43:02.493","130","6.746","128","8392704"
"2020-03-01 06:43:03.493","130","6.745","128","8392704"
"2020-03-01 06:43:04.493","130","6.745","128","8392704"
"2020-03-01 06:43:05.493","130","6.745","128","8392704"
"2020-03-01 06:43:06.493","130","6.744","128","8392704"
"2020-03-01 06:43:07.493","130","6.749","128","8392704"
"2020-03-01 06:43:08.493","130","6.756","128","8392704"
"2020-03-01 06:43:09.493","130","6.759","128","8392704"
"2020-03-01 06:43:10.493","130","6.759","128","8392704"
"2020-03-01 06:43:11.493","130","6.758","128","8392704"
"2020-03-01 06:43:12.493","130","6.758","128","8392704"
"2020-03-01 06:43:13.493","130","6.759","128","8392704"
"2020-03-01 06:43:14.493","130","6.759","128","8392704"
"2020-03-01 06:43:15.493","130","6.753","128","8392704"
"2020-03-01 06:43:16.493","130","6.751","128","8392704"
"2020-03-01 20:02:50.493","130","7.596","128","8392704"
"2020-03-01 20:02:51.493","130","7.597","128","8392704"
"2020-03-01 20:02:52.493","130","7.599","128","8392704"
"2020-03-01 20:02:53.493","130","7.6","128","8392704"
"2020-03-01 20:02:54.493","130","7.601","128","8392704"
"2020-03-01 20:02:55.493","130","7.603","128","8392704"
"2020-03-01 20:02:56.493","130","7.602","128","8392704"
"2020-03-01 20:02:57.493","130","7.601","128","8392704"
"2020-03-01 20:02:58.493","130","7.601","128","8392704"
"2020-03-01 20:02:59.493","130","7.6","128","8392704"
"2020-03-01 20:03:00.493","130","7.599","128","8392704"
"2020-03-01 20:03:01.493","130","7.599","128","8392704"
"2020-03-01 20:03:02.493","130","7.6","128","8392704"
"2020-03-01 20:03:03.493","130","7.601","128","8392704"
"2020-03-01 20:03:04.493","130","7.601","128","8392704"
"2020-03-01 20:03:05.493","130","7.601","128","8392704"
"2020-03-01 20:03:06.493","130","7.6","128","8392704"
"2020-03-01 20:03:07.493","130","7.602","128","8392704"
"2020-03-01 20:03:08.493","130","7.606","128","8392704"
"2020-03-01 20:03:09.493","130","7.609","128","8392704"
"2020-03-01 20:03:10.493","130","7.612","128","8392704"
"2020-03-01 20:03:11.493","130","7.614","128","8392704"
"2020-03-01 20:03:12.493","130","7.615","128","8392704"
"2020-03-01 20:03:13.493","130","7.614","128","8392704"
"2020-03-01 20:03:14.493","130","7.613","128","8392704"
"2020-03-01 20:03:15.493","130","7.614","128","8392704"
"2020-03-01 20:03:16.493","130","7.612","128","8392704"
"2020-03-01 20:03:17.493","130","7.609","128","8392704"
"2020-03-01 20:03:18.493","130","7.606","128","8392704"
"2020-03-01 20:03:19.493","130","7.604","128","8392704"
"2020-03-01 20:03:20.493","130","7.604","128","8392704"
"2020-03-01 20:03:21.493","130","7.605","128","8392704"
"2020-03-01 20:03:22.493","130","7.605","128","8392704"
"2020-03-01 20:03:23.493","130","7.605","128","8392704"
"2020-03-01 20:03:24.493","130","7.605","128","8392704"
"2020-03-01 20:03:25.493","130","7.604","128","8392704"
"2020-03-01 20:03:26.493","130","7.603","128","8392704"
"2020-03-01 20:03:27.493","130","7.604","128","8392704"
"2020-03-01 20:03:28.493","130","7.605","128","8392704"
"2020-03-01 20:03:29.493","130","7.607","128","8392704"
"2020-03-01 20:03:30.493","130","7.609","128","8392704"
"2020-03-01 20:03:31.493","130","7.609","128","8392704"
"2020-03-01 20:03:32.493","130","7.607","128","8392704"
"2020-03-01 20:03:33.493","130","7.606","128","8392704"
"2020-03-01 20:03:34.493","130","7.607","128","8392704"
"2020-03-01 20:03:35.493","130","7.608","128","8392704"
"2020-03-01 20:03:36.493","130","7.609","128","8392704"
"2020-03-01 20:03:37.493","130","7.609","128","8392704"
"2020-03-01 20:03:38.493","130","7.607","128","8392704"
"2020-03-01 20:03:39.493","130","7.602","128","8392704"
"2020-03-01 20:03:40.493","130","7.599","128","8392704"
"2020-03-01 20:03:41.493","130","7.598","128","8392704"
"2020-03-01 20:03:42.493","130","7.596","128","8392704"
"2020-03-01 20:03:43.493","130","7.595","128","8392704"
"2020-03-01 20:03:44.493","130","7.594","128","8392704"
"2020-03-01 20:03:45.493","130","7.595","128","8392704"
"2020-03-01 20:03:46.493","130","7.597","128","8392704"
"2020-03-01 20:03:47.493","130","7.596","128","8392704"
"2020-03-01 20:03:48.493","130","7.595","128","8392704"
"2020-03-01 20:03:49.493","130","7.596","128","8392704"
"2020-03-01 20:03:50.493","130","7.596","128","8392704"
"2020-03-01 20:03:51.493","130","7.595","128","8392704"
"2020-03-01 20:03:52.493","130","7.596","128","8392704"
"2020-03-01 20:03:53.493","130","7.597","128","8392704"
"2020-03-01 20:03:54.493","130","7.598","128","8392704"
"2020-03-01 20:03:55.493","130","7.596","128","8392704"
"2020-03-01 20:03:56.493","130","7.596","128","8392704"
"2020-03-01 20:03:57.493","130","7.599","128","8392704"
"2020-03-01 20:03:58.493","130","7.602","128","8392704"
"2020-03-01 20:03:59.493","130","7.603","128","8392704"
"2020-03-01 20:04:00.493","130","7.602","128","8392704"
"2020-03-01 20:04:01.493","130","7.6","128","8392704"
"2020-03-01 20:04:02.493","130","7.598","128","8392704"
"2020-03-01 20:04:03.493","130","7.595","128","8392704"
"2020-03-01 20:04:04.493","130","7.593","128","8392704"
"2020-03-01 20:04:05.493","130","7.592","128","8392704"
"2020-03-01 20:04:06.493","130","7.591","128","8392704"
"2020-03-01 20:04:07.493","130","7.591","128","8392704"
"2020-03-01 20:04:08.493","130","7.591","128","8392704"
"2020-03-01 20:04:09.493","130","7.592","128","8392704"
"2020-03-01 20:04:10.493","130","7.59","128","8392704"
"2020-03-01 20:04:11.493","130","7.587","128","8392704"
"2020-03-01 20:04:12.493","130","7.584","128","8392704"
"2020-03-01 20:04:13.493","130","7.583","128","8392704"
"2020-03-01 20:04:14.493","130","7.581","128","8392704"
"2020-03-01 20:04:15.493","130","7.578","128","8392704"
"2020-03-01 20:04:16.493","130","7.576","128","8392704"
"2020-03-01 20:04:17.493","130","7.577","128","8392704"
"2020-03-01 20:04:18.493","130","7.579","128","8392704"
"2020-03-01 20:04:19.493","130","7.583","128","8392704"
"2020-03-01 20:04:20.493","130","7.587","128","8392704"
"2020-03-01 20:04:21.493","130","7.588","128","8392704"
"2020-03-01 20:04:22.493","130","7.589","128","8392704"
"2020-03-01 20:04:23.493","130","7.59","128","8392704"
"2020-03-01 20:04:24.493","130","7.593","128","8392704"
"2020-03-01 20:04:25.493","130","7.597","128","8392704"
"2020-03-01 20:04:26.493","130","7.6","128","8392704"
"2020-03-01 20:04:27.493","130","7.603","128","8392704"
"2020-03-01 20:04:28.493","130","7.606","128","8392704"
"2020-03-01 20:04:29.493","130","7.608","128","8392704"
"2020-03-01 20:04:30.493","130","7.609","128","8392704"
"2020-03-01 20:04:31.493","130","7.607","128","8392704"
"2020-03-01 20:04:32.493","130","7.607","128","8392704"
"2020-03-01 20:04:33.493","130","7.607","128","8392704"
"2020-03-01 20:04:34.493","130","7.602","128","8392704"
"2020-03-01 20:04:35.493","130","7.599","128","8392704"
"2020-03-01 20:04:36.493","130","7.599","128","8392704"
"2020-03-01 20:04:37.493","130","7.599","128","8392704"
"2020-03-01 20:04:38.493","130","7.598","128","8392704"
"2020-03-01 20:04:39.493","130","7.596","128","8392704"
"2020-03-01 20:04:40.493","130","7.595","128","8392704"
"2020-03-01 20:04:41.493","130","7.592","128","8392704"
"2020-03-01 20:04:42.493","130","7.586","128","8392704"
"2020-03-01 20:04:43.493","130","7.582","128","8392704"
"2020-03-01 20:04:44.493","130","7.582","128","8392704"
"2020-03-01 20:04:45.493","130","7.584","128","8392704"
"2020-03-01 20:04:46.493","130","7.583","128","8392704"
"2020-03-01 20:04:47.493","130","7.582","128","8392704"
"2020-03-01 20:04:48.493","130","7.582","128","8392704"
"2020-03-01 20:04:49.493","130","7.585","128","8392704"
"2020-03-01 06:43:17.493","130","6.751","128","8392704"
"2020-03-01 06:43:18.493","130","6.75","128","8392704"
"2020-03-01 06:43:19.493","130","6.748","128","8392704"
"2020-03-01 06:43:20.493","130","6.751","128","8392704"
"2020-03-01 06:43:21.493","130","6.752","128","8392704"
"2020-03-01 06:43:22.493","130","6.751","128","8392704"
"2020-03-01 06:43:23.493","130","6.746","128","8392704"
"2020-03-01 06:43:24.493","130","6.739","128","8392704"
"2020-03-01 06:43:25.493","130","6.737","128","8392704"
"2020-03-01 06:43:26.493","130","6.735","128","8392704"
"2020-03-01 06:43:27.493","130","6.735","128","8392704"
"2020-03-01 06:43:28.493","130","6.734","128","8392704"
"2020-03-01 06:43:29.493","130","6.731","128","8392704"
"2020-03-01 06:43:30.493","130","6.729","128","8392704"
"2020-03-01 06:43:31.493","130","6.73","128","8392704"
"2020-03-01 06:43:32.493","130","6.736","128","8392704"
"2020-03-01 06:43:33.493","130","6.74","128","8392704"
"2020-03-01 06:43:34.493","130","6.741","128","8392704"
"2020-03-01 06:43:35.493","130","6.743","128","8392704"
"2020-03-01 06:43:36.493","130","6.743","128","8392704"
"2020-03-01 06:43:37.493","130","6.745","128","8392704"
"2020-03-01 06:43:38.493","130","6.747","128","8392704"
"2020-03-01 06:43:39.493","130","6.747","128","8392704"
"2020-03-01 06:43:40.493","130","6.746","128","8392704"
"2020-03-01 06:43:41.493","130","6.745","128","8392704"
"2020-03-01 06:43:42.493","130","6.743","128","8392704"
"2020-03-01 06:43:43.493","130","6.741","128","8392704"
"2020-03-01 06:43:44.493","130","6.737","128","8392704"
"2020-03-01 06:43:45.493","130","6.737","128","8392704"
"2020-03-01 06:43:46.493","130","6.74","128","8392704"
"2020-03-01 06:43:47.493","130","6.744","128","8392704"
"2020-03-01 06:43:48.493","130","6.746","128","8392704"
"2020-03-01 06:43:49.493","130","6.745","128","8392704"
"2020-03-01 06:43:50.493","130","6.743","128","8392704"
"2020-03-01 06:43:51.493","130","6.745","128","8392704"
"2020-03-01 06:43:52.493","130","6.747","128","8392704"
"2020-03-01 06:43:53.493","130","6.748","128","8392704"
"2020-03-01 06:43:54.493","130","6.748","128","8392704"
"2020-03-01 06:43:55.493","130","6.747","128","8392704"
"2020-03-01 06:43:56.493","130","6.746","128","8392704"
"2020-03-01 06:43:57.493","130","6.744","128","8392704"
"2020-03-01 06:43:58.493","130","6.742","128","8392704"
"2020-03-01 06:43:59.493","130","6.74","128","8392704"
"2020-03-01 06:44:00.493","130","6.739","128","8392704"
"2020-03-01 06:44:01.493","130","6.739","128","8392704"
"2020-03-01 06:44:02.493","130","6.742","128","8392704"
"2020-03-01 06:44:03.493","130","6.742","128","8392704"
"2020-03-01 06:44:04.493","130","6.756","128","8392704"
"2020-03-01 06:44:05.493","130","6.757","128","8392704"
"2020-03-01 06:44:06.493","130","6.757","128","8392704"
"2020-03-01 06:44:07.493","130","6.757","128","8392704"
"2020-03-01 06:44:08.493","130","6.759","128","8392704"
"2020-03-01 06:44:09.493","130","6.759","128","8392704"
"2020-03-01 06:44:10.493","130","6.75","128","8392704"
"2020-03-01 06:44:11.493","130","6.744","128","8392704"
"2020-03-01 06:44:12.493","130","6.739","128","8392704"
"2020-03-01 06:44:13.493","130","6.739","128","8392704"
"2020-03-01 06:44:14.493","130","6.736","128","8392704"
"2020-03-01 06:44:15.493","130","6.734","128","8392704"
"2020-03-01 06:44:16.493","130","6.735","128","8392704"
"2020-03-01 06:44:17.493","130","6.734","128","8392704"
"2020-03-01 06:44:18.493","130","6.736","128","8392704"
"2020-03-01 06:44:19.493","130","6.741","128","8392704"
"2020-03-01 06:44:20.493","130","6.744","128","8392704"
"2020-03-01 06:44:21.493","130","6.746","128","8392704"
"2020-03-01 06:44:22.493","130","6.746","128","8392704"
"2020-03-01 06:44:23.493","130","6.748","128","8392704"
"2020-03-01 06:44:24.493","130","6.751","128","8392704"
"2020-03-01 06:44:25.493","130","6.752","128","8392704"
"2020-03-01 06:44:26.493","130","6.752","128","8392704"
"2020-03-01 06:44:27.493","130","6.752","128","8392704"
"2020-03-01 06:44:28.493","130","6.753","128","8392704"
"2020-03-01 06:44:29.493","130","6.751","128","8392704"
"2020-03-01 06:44:30.493","130","6.751","128","8392704"
"2020-03-01 06:44:31.493","130","6.749","128","8392704"
"2020-03-01 06:44:32.493","130","6.747","128","8392704"
"2020-03-01 06:44:33.493","130","6.748","128","8392704"
"2020-03-01 06:44:34.493","130","6.749","128","8392704"
"2020-03-01 06:44:35.493","130","6.746","128","8392704"
"2020-03-01 06:44:36.493","130","6.742","128","8392704"
"2020-03-01 06:44:37.493","130","6.742","128","8392704"
"2020-03-01 06:44:38.493","130","6.743","128","8392704"
"2020-03-01 06:44:39.493","130","6.743","128","8392704"
"2020-03-01 06:44:40.493","130","6.743","128","8392704"
"2020-03-01 06:44:41.493","130","6.741","128","8392704"
"2020-03-01 06:44:42.493","130","6.741","128","8392704"
"2020-03-01 06:44:43.493","130","6.741","128","8392704"
"2020-03-01 06:44:44.493","130","6.74","128","8392704"
"2020-03-01 06:44:45.493","130","6.74","128","8392704"
"2020-03-01 06:44:46.493","130","6.739","128","8392704"
"2020-03-01 06:44:47.493","130","6.738","128","8392704"
"2020-03-01 06:44:48.493","130","6.738","128","8392704"
"2020-03-01 06:44:49.493","130","6.741","128","8392704"
"2020-03-01 06:44:50.493","130","6.749","128","8392704"
"2020-03-01 06:44:51.493","130","6.756","128","8392704"
"2020-03-01 06:44:52.493","130","6.763","128","8392704"
"2020-03-01 06:44:53.493","130","6.768","128","8392704"
"2020-03-01 06:44:54.493","130","6.771","128","8392704"
"2020-03-01 06:44:55.493","130","6.774","128","8392704"
"2020-03-01 06:44:56.493","130","6.774","128","8392704"
"2020-03-01 06:44:57.493","130","6.774","128","8392704"
"2020-03-01 06:44:58.493","130","6.765","128","8392704"
"2020-03-01 06:44:59.493","130","6.763","128","8392704"
"2020-03-01 06:45:00.493","130","6.761","128","8392704"
"2020-03-01 06:45:01.493","130","6.758","128","8392704"
"2020-03-01 06:45:02.493","130","6.756","128","8392704"
"2020-03-01 06:45:03.493","130","6.756","128","8392704"
"2020-03-01 06:45:04.493","130","6.756","128","8392704"
"2020-03-01 06:45:05.493","130","6.763","128","8392704"
"2020-03-01 06:45:06.493","130","6.763","128","8392704"
"2020-03-01 06:45:07.493","130","6.764","128","8392704"
"2020-03-01 06:45:08.493","130","6.762","128","8392704"
"2020-03-01 06:45:09.493","130","6.763","128","8392704"
"2020-03-01 06:45:10.493","130","6.764","128","8392704"
"2020-03-01 06:45:11.493","130","6.763","128","8392704"
"2020-03-01 06:45:12.493","130","6.76","128","8392704"
"2020-03-01 06:45:13.493","130","6.759","128","8392704"
"2020-03-01 06:45:14.493","130","6.758","128","8392704"
"2020-03-01 06:45:15.493","130","6.758","128","8392704"
"2020-03-01 06:45:16.493","130","6.755","128","8392704"
"2020-03-01 20:04:50.493","130","7.59","128","8392704"
"2020-03-01 20:04:51.493","130","7.592","128","8392704"
"2020-03-01 20:04:52.493","130","7.592","128","8392704"
"2020-03-01 20:04:53.493","130","7.593","128","8392704"
"2020-03-01 20:04:54.493","130","7.592","128","8392704"
"2020-03-01 20:04:55.493","130","7.592","128","8392704"
"2020-03-01 20:04:56.493","130","7.593","128","8392704"
"2020-03-01 20:04:57.493","130","7.593","128","8392704"
"2020-03-01 20:04:58.493","130","7.593","128","8392704"
"2020-03-01 20:04:59.493","130","7.594","128","8392704"
"2020-03-01 20:05:00.493","130","7.595","128","8392704"
"2020-03-01 20:05:01.493","130","7.596","128","8392704"
"2020-03-01 20:05:02.493","130","7.595","128","8392704"
"2020-03-01 20:05:03.493","130","7.595","128","8392704"
"2020-03-01 20:05:04.493","130","7.594","128","8392704"
"2020-03-01 20:05:05.493","130","7.595","128","8392704"
"2020-03-01 20:05:06.493","130","7.598","128","8392704"
"2020-03-01 20:05:07.493","130","7.597","128","8392704"
"2020-03-01 20:05:08.493","130","7.595","128","8392704"
"2020-03-01 20:05:09.493","130","7.597","128","8392704"
"2020-03-01 20:05:10.493","130","7.598","128","8392704"
"2020-03-01 20:05:11.493","130","7.598","128","8392704"
"2020-03-01 20:05:12.493","130","7.597","128","8392704"
"2020-03-01 20:05:13.493","130","7.595","128","8392704"
"2020-03-01 20:05:14.493","130","7.591","128","8392704"
"2020-03-01 20:05:15.493","130","7.589","128","8392704"
"2020-03-01 20:05:16.493","130","7.588","128","8392704"
"2020-03-01 20:05:17.493","130","7.589","128","8392704"
"2020-03-01 20:05:18.493","130","7.589","128","8392704"
"2020-03-01 20:05:19.493","130","7.589","128","8392704"
"2020-03-01 20:05:20.493","130","7.587","128","8392704"
"2020-03-01 20:05:21.493","130","7.584","128","8392704"
"2020-03-01 20:05:22.493","130","7.583","128","8392704"
"2020-03-01 20:05:23.493","130","7.585","128","8392704"
"2020-03-01 20:05:24.493","130","7.586","128","8392704"
"2020-03-01 20:05:25.493","130","7.586","128","8392704"
"2020-03-01 20:05:26.493","130","7.586","128","8392704"
"2020-03-01 20:05:27.493","130","7.586","128","8392704"
"2020-03-01 20:05:28.493","130","7.587","128","8392704"
"2020-03-01 20:05:29.493","130","7.585","128","8392704"
"2020-03-01 20:05:30.493","130","7.584","128","8392704"
"2020-03-01 20:05:31.493","130","7.586","128","8392704"
"2020-03-01 20:05:32.493","130","7.589","128","8392704"
"2020-03-01 20:05:33.493","130","7.59","128","8392704"
"2020-03-01 20:05:34.493","130","7.591","128","8392704"
"2020-03-01 20:05:35.493","130","7.591","128","8392704"
"2020-03-01 20:05:36.493","130","7.594","128","8392704"
"2020-03-01 20:05:37.493","130","7.599","128","8392704"
"2020-03-01 20:05:38.493","130","7.602","128","8392704"
"2020-03-01 20:05:39.493","130","7.604","128","8392704"
"2020-03-01 20:05:40.493","130","7.605","128","8392704"
"2020-03-01 20:05:41.493","130","7.607","128","8392704"
"2020-03-01 20:05:42.493","130","7.607","128","8392704"
"2020-03-01 20:05:43.493","130","7.604","128","8392704"
"2020-03-01 20:05:44.493","130","7.597","128","8392704"
"2020-03-01 20:05:45.493","130","7.592","128","8392704"
"2020-03-01 20:05:46.493","130","7.59","128","8392704"
"2020-03-01 20:05:47.493","130","7.59","128","8392704"
"2020-03-01 20:05:48.493","130","7.591","128","8392704"
"2020-03-01 20:05:49.493","130","7.591","128","8392704"
"2020-03-01 20:05:50.493","130","7.591","128","8392704"
"2020-03-01 20:05:51.493","130","7.594","128","8392704"
"2020-03-01 20:05:52.493","130","7.599","128","8392704"
"2020-03-01 20:05:53.493","130","7.601","128","8392704"
"2020-03-01 20:05:54.493","130","7.602","128","8392704"
"2020-03-01 20:05:55.493","130","7.602","128","8392704"
"2020-03-01 20:05:56.493","130","7.602","128","8392704"
"2020-03-01 20:05:57.493","130","7.603","128","8392704"
"2020-03-01 20:05:58.493","130","7.604","128","8392704"
"2020-03-01 20:05:59.493","130","7.604","128","8392704"
"2020-03-01 20:06:00.493","130","7.605","128","8392704"
"2020-03-01 20:06:01.493","130","7.606","128","8392704"
"2020-03-01 20:06:02.493","130","7.607","128","8392704"
"2020-03-01 20:06:03.493","130","7.605","128","8392704"
"2020-03-01 20:06:04.493","130","7.604","128","8392704"
"2020-03-01 20:06:05.493","130","7.603","128","8392704"
"2020-03-01 20:06:06.493","130","7.602","128","8392704"
"2020-03-01 20:06:07.493","130","7.603","128","8392704"
"2020-03-01 20:06:08.493","130","7.604","128","8392704"
\ No newline at end of file
"2020-03-01 19:46:50.493","130","7.617","128","8392704"
"2020-03-01 19:46:51.493","130","7.615","128","8392704"
"2020-03-01 19:46:52.493","130","7.613","128","8392704"
"2020-03-01 19:46:53.493","130","7.612","128","8392704"
"2020-03-01 19:46:54.493","130","7.611","128","8392704"
"2020-03-01 19:46:55.493","130","7.612","128","8392704"
"2020-03-01 19:46:56.493","130","7.611","128","8392704"
"2020-03-01 19:46:57.493","130","7.61","128","8392704"
"2020-03-01 19:46:58.493","130","7.61","128","8392704"
"2020-03-01 19:46:59.493","130","7.613","128","8392704"
"2020-03-01 19:47:00.493","130","7.617","128","8392704"
"2020-03-01 19:47:01.493","130","7.618","128","8392704"
"2020-03-01 19:47:02.493","130","7.619","128","8392704"
"2020-03-01 19:47:03.493","130","7.62","128","8392704"
"2020-03-01 19:47:04.493","130","7.619","128","8392704"
"2020-03-01 19:47:05.493","130","7.62","128","8392704"
"2020-03-01 19:47:06.493","130","7.62","128","8392704"
"2020-03-01 19:47:07.493","130","7.618","128","8392704"
"2020-03-01 19:47:08.493","130","7.618","128","8392704"
"2020-03-01 19:47:09.493","130","7.616","128","8392704"
"2020-03-01 19:47:10.493","130","7.615","128","8392704"
"2020-03-01 19:47:11.493","130","7.614","128","8392704"
"2020-03-01 19:47:12.493","130","7.614","128","8392704"
"2020-03-01 19:47:13.493","130","7.615","128","8392704"
"2020-03-01 19:47:14.493","130","7.617","128","8392704"
"2020-03-01 19:47:15.493","130","7.617","128","8392704"
"2020-03-01 19:47:16.493","130","7.612","128","8392704"
"2020-03-01 19:47:17.493","130","7.609","128","8392704"
"2020-03-01 19:47:18.493","130","7.609","128","8392704"
"2020-03-01 19:47:19.493","130","7.609","128","8392704"
"2020-03-01 19:47:20.493","130","7.611","128","8392704"
"2020-03-01 19:47:21.493","130","7.613","128","8392704"
"2020-03-01 19:47:22.493","130","7.612","128","8392704"
"2020-03-01 19:47:23.493","130","7.612","128","8392704"
"2020-03-01 19:47:24.493","130","7.612","128","8392704"
"2020-03-01 19:47:25.493","130","7.613","128","8392704"
"2020-03-01 19:47:26.493","130","7.617","128","8392704"
"2020-03-01 19:47:27.493","130","7.62","128","8392704"
"2020-03-01 19:47:28.493","130","7.621","128","8392704"
"2020-03-01 19:47:29.493","130","7.621","128","8392704"
"2020-03-01 19:47:30.493","130","7.623","128","8392704"
"2020-03-01 19:47:31.493","130","7.624","128","8392704"
"2020-03-01 19:47:32.493","130","7.621","128","8392704"
"2020-03-01 19:47:33.493","130","7.619","128","8392704"
"2020-03-01 19:47:34.493","130","7.618","128","8392704"
"2020-03-01 19:47:35.493","130","7.616","128","8392704"
"2020-03-01 19:47:36.493","130","7.618","128","8392704"
"2020-03-01 19:47:37.493","130","7.618","128","8392704"
"2020-03-01 19:47:38.493","130","7.616","128","8392704"
"2020-03-01 19:47:39.493","130","7.615","128","8392704"
"2020-03-01 19:47:40.493","130","7.615","128","8392704"
"2020-03-01 19:47:41.493","130","7.614","128","8392704"
"2020-03-01 19:47:42.493","130","7.613","128","8392704"
"2020-03-01 19:47:43.493","130","7.612","128","8392704"
"2020-03-01 19:47:44.493","130","7.611","128","8392704"
"2020-03-01 19:47:45.493","130","7.612","128","8392704"
"2020-03-01 19:47:46.493","130","7.614","128","8392704"
"2020-03-01 19:47:47.493","130","7.618","128","8392704"
"2020-03-01 19:47:48.493","130","7.62","128","8392704"
"2020-03-01 19:47:49.493","130","7.62","128","8392704"
"2020-03-01 19:47:50.493","130","7.621","128","8392704"
"2020-03-01 19:47:51.493","130","7.62","128","8392704"
"2020-03-01 19:47:52.493","130","7.619","128","8392704"
"2020-03-01 19:47:53.493","130","7.621","128","8392704"
"2020-03-01 19:47:54.493","130","7.622","128","8392704"
"2020-03-01 19:47:55.493","130","7.622","128","8392704"
"2020-03-01 19:47:56.493","130","7.62","128","8392704"
"2020-03-01 19:47:57.493","130","7.617","128","8392704"
"2020-03-01 19:47:58.493","130","7.616","128","8392704"
"2020-03-01 19:47:59.493","130","7.618","128","8392704"
"2020-03-01 19:48:00.493","130","7.62","128","8392704"
"2020-03-01 19:48:01.493","130","7.62","128","8392704"
"2020-03-01 19:48:02.493","130","7.616","128","8392704"
"2020-03-01 19:48:03.493","130","7.612","128","8392704"
"2020-03-01 19:48:04.493","130","7.609","128","8392704"
"2020-03-01 19:48:05.493","130","7.608","128","8392704"
"2020-03-01 19:48:06.493","130","7.605","128","8392704"
"2020-03-01 19:48:07.493","130","7.604","128","8392704"
"2020-03-01 19:48:08.493","130","7.605","128","8392704"
"2020-03-01 19:48:09.493","130","7.604","128","8392704"
"2020-03-01 19:48:10.493","130","7.604","128","8392704"
"2020-03-01 19:48:11.493","130","7.608","128","8392704"
"2020-03-01 19:48:12.493","130","7.611","128","8392704"
"2020-03-01 19:48:13.493","130","7.614","128","8392704"
"2020-03-01 19:48:14.493","130","7.616","128","8392704"
"2020-03-01 19:48:15.493","130","7.618","128","8392704"
"2020-03-01 19:48:16.493","130","7.62","128","8392704"
"2020-03-01 19:48:17.493","130","7.617","128","8392704"
"2020-03-01 19:48:18.493","130","7.61","128","8392704"
"2020-03-01 19:48:19.493","130","7.607","128","8392704"
"2020-03-01 19:48:20.493","130","7.604","128","8392704"
"2020-03-01 19:48:21.493","130","7.601","128","8392704"
"2020-03-01 19:48:22.493","130","7.601","128","8392704"
"2020-03-01 19:48:23.493","130","7.601","128","8392704"
"2020-03-01 19:48:24.493","130","7.598","128","8392704"
"2020-03-01 19:48:25.493","130","7.598","128","8392704"
"2020-03-01 19:48:26.493","130","7.604","128","8392704"
"2020-03-01 19:48:27.493","130","7.608","128","8392704"
"2020-03-01 19:48:28.493","130","7.609","128","8392704"
"2020-03-01 19:48:29.493","130","7.61","128","8392704"
"2020-03-01 19:48:30.493","130","7.611","128","8392704"
"2020-03-01 19:48:31.493","130","7.614","128","8392704"
"2020-03-01 19:48:32.493","130","7.614","128","8392704"
"2020-03-01 19:48:33.493","130","7.611","128","8392704"
"2020-03-01 19:48:34.493","130","7.607","128","8392704"
"2020-03-01 19:48:35.493","130","7.601","128","8392704"
"2020-03-01 19:48:36.493","130","7.596","128","8392704"
"2020-03-01 19:48:37.493","130","7.593","128","8392704"
"2020-03-01 19:48:38.493","130","7.593","128","8392704"
"2020-03-01 19:48:39.493","130","7.593","128","8392704"
"2020-03-01 19:48:40.493","130","7.595","128","8392704"
"2020-03-01 19:48:41.493","130","7.596","128","8392704"
"2020-03-01 19:48:42.493","130","7.599","128","8392704"
"2020-03-01 19:48:43.493","130","7.603","128","8392704"
"2020-03-01 19:48:44.493","130","7.605","128","8392704"
"2020-03-01 19:48:45.493","130","7.607","128","8392704"
"2020-03-01 19:48:46.493","130","7.608","128","8392704"
"2020-03-01 19:48:47.493","130","7.609","128","8392704"
"2020-03-01 19:48:48.493","130","7.61","128","8392704"
"2020-03-01 19:48:49.493","130","7.608","128","8392704"
"2020-03-01 19:48:50.493","130","7.605","128","8392704"
"2020-03-01 19:48:51.493","130","7.605","128","8392704"
"2020-03-01 19:48:52.493","130","7.607","128","8392704"
"2020-03-01 19:48:53.493","130","7.608","128","8392704"
"2020-03-01 19:48:54.493","130","7.608","128","8392704"
"2020-03-01 19:48:55.493","130","7.608","128","8392704"
"2020-03-01 19:48:56.493","130","7.61","128","8392704"
"2020-03-01 19:48:57.493","130","7.613","128","8392704"
"2020-03-01 19:48:58.493","130","7.612","128","8392704"
"2020-03-01 19:48:59.493","130","7.61","128","8392704"
"2020-03-01 19:49:00.493","130","7.609","128","8392704"
"2020-03-01 19:49:01.493","130","7.61","128","8392704"
"2020-03-01 19:49:02.493","130","7.611","128","8392704"
"2020-03-01 19:49:03.493","130","7.61","128","8392704"
"2020-03-01 19:49:04.493","130","7.61","128","8392704"
"2020-03-01 19:49:05.493","130","7.613","128","8392704"
"2020-03-01 19:49:06.493","130","7.615","128","8392704"
"2020-03-01 19:49:07.493","130","7.614","128","8392704"
"2020-03-01 19:49:08.493","130","7.613","128","8392704"
"2020-03-01 19:49:09.493","130","7.613","128","8392704"
"2020-03-01 19:49:10.493","130","7.615","128","8392704"
"2020-03-01 19:49:11.493","130","7.619","128","8392704"
"2020-03-01 19:49:12.493","130","7.62","128","8392704"
"2020-03-01 19:49:13.493","130","7.618","128","8392704"
"2020-03-01 19:49:14.493","130","7.619","128","8392704"
"2020-03-01 19:49:15.493","130","7.618","128","8392704"
"2020-03-01 19:49:16.493","130","7.617","128","8392704"
"2020-03-01 19:49:17.493","130","7.617","128","8392704"
"2020-03-01 19:49:18.493","130","7.618","128","8392704"
"2020-03-01 19:49:19.493","130","7.617","128","8392704"
"2020-03-01 19:49:20.493","130","7.616","128","8392704"
"2020-03-01 19:49:21.493","130","7.615","128","8392704"
"2020-03-01 19:49:22.493","130","7.616","128","8392704"
"2020-03-01 19:49:23.493","130","7.617","128","8392704"
"2020-03-01 19:49:24.493","130","7.615","128","8392704"
"2020-03-01 19:49:25.493","130","7.613","128","8392704"
"2020-03-01 19:49:26.493","130","7.612","128","8392704"
"2020-03-01 19:49:27.493","130","7.613","128","8392704"
"2020-03-01 19:49:28.493","130","7.614","128","8392704"
"2020-03-01 19:49:29.493","130","7.612","128","8392704"
"2020-03-01 19:49:30.493","130","7.611","128","8392704"
"2020-03-01 19:49:31.493","130","7.611","128","8392704"
"2020-03-01 19:49:32.493","130","7.612","128","8392704"
"2020-03-01 19:49:33.493","130","7.613","128","8392704"
"2020-03-01 19:49:34.493","130","7.614","128","8392704"
"2020-03-01 19:49:35.493","130","7.612","128","8392704"
"2020-03-01 19:49:36.493","130","7.607","128","8392704"
"2020-03-01 19:49:37.493","130","7.603","128","8392704"
"2020-03-01 19:49:38.493","130","7.599","128","8392704"
"2020-03-01 19:49:39.493","130","7.599","128","8392704"
"2020-03-01 19:49:40.493","130","7.599","128","8392704"
"2020-03-01 19:49:41.493","130","7.599","128","8392704"
"2020-03-01 19:49:42.493","130","7.601","128","8392704"
"2020-03-01 19:49:43.493","130","7.605","128","8392704"
"2020-03-01 19:49:44.493","130","7.606","128","8392704"
"2020-03-01 19:49:45.493","130","7.606","128","8392704"
"2020-03-01 19:49:46.493","130","7.606","128","8392704"
"2020-03-01 19:49:47.493","130","7.604","128","8392704"
"2020-03-01 19:49:48.493","130","7.604","128","8392704"
"2020-03-01 19:49:49.493","130","7.603","128","8392704"
"2020-03-01 19:49:50.493","130","7.604","128","8392704"
"2020-03-01 19:49:51.493","130","7.608","128","8392704"
"2020-03-01 19:49:52.493","130","7.614","128","8392704"
"2020-03-01 19:49:53.493","130","7.618","128","8392704"
"2020-03-01 19:49:54.493","130","7.621","128","8392704"
"2020-03-01 19:49:55.493","130","7.623","128","8392704"
"2020-03-01 19:49:56.493","130","7.623","128","8392704"
"2020-03-01 19:49:57.493","130","7.624","128","8392704"
"2020-03-01 19:49:58.493","130","7.626","128","8392704"
"2020-03-01 19:49:59.493","130","7.628","128","8392704"
"2020-03-01 19:50:00.493","130","7.627","128","8392704"
"2020-03-01 19:50:01.493","130","7.625","128","8392704"
"2020-03-01 19:50:02.493","130","7.627","128","8392704"
"2020-03-01 19:50:03.493","130","7.63","128","8392704"
"2020-03-01 19:50:04.493","130","7.633","128","8392704"
"2020-03-01 19:50:05.493","130","7.635","128","8392704"
"2020-03-01 19:50:06.493","130","7.634","128","8392704"
"2020-03-01 19:50:07.493","130","7.632","128","8392704"
"2020-03-01 19:50:08.493","130","7.628","128","8392704"
"2020-03-01 19:50:09.493","130","7.625","128","8392704"
"2020-03-01 19:50:10.493","130","7.625","128","8392704"
"2020-03-01 19:50:11.493","130","7.623","128","8392704"
"2020-03-01 19:50:12.493","130","7.623","128","8392704"
"2020-03-01 19:50:13.493","130","7.623","128","8392704"
"2020-03-01 19:50:14.493","130","7.622","128","8392704"
"2020-03-01 19:50:15.493","130","7.621","128","8392704"
"2020-03-01 19:50:16.493","130","7.618","128","8392704"
"2020-03-01 19:50:17.493","130","7.618","128","8392704"
"2020-03-01 19:50:18.493","130","7.617","128","8392704"
"2020-03-01 19:50:19.493","130","7.616","128","8392704"
"2020-03-01 19:50:20.493","130","7.615","128","8392704"
"2020-03-01 19:50:21.493","130","7.615","128","8392704"
"2020-03-01 19:50:22.493","130","7.616","128","8392704"
"2020-03-01 19:50:23.493","130","7.619","128","8392704"
"2020-03-01 19:50:24.493","130","7.622","128","8392704"
"2020-03-01 19:50:25.493","130","7.624","128","8392704"
"2020-03-01 19:50:26.493","130","7.627","128","8392704"
"2020-03-01 19:50:27.493","130","7.627","128","8392704"
"2020-03-01 19:50:28.493","130","7.625","128","8392704"
"2020-03-01 19:50:29.493","130","7.625","128","8392704"
"2020-03-01 19:50:30.493","130","7.625","128","8392704"
"2020-03-01 19:50:31.493","130","7.624","128","8392704"
"2020-03-01 19:50:32.493","130","7.624","128","8392704"
"2020-03-01 19:50:33.493","130","7.624","128","8392704"
"2020-03-01 19:50:34.493","130","7.626","128","8392704"
"2020-03-01 19:50:35.493","130","7.627","128","8392704"
"2020-03-01 19:50:36.493","130","7.627","128","8392704"
"2020-03-01 19:50:37.493","130","7.626","128","8392704"
"2020-03-01 19:50:38.493","130","7.623","128","8392704"
"2020-03-01 19:50:39.493","130","7.619","128","8392704"
"2020-03-01 19:50:40.493","130","7.616","128","8392704"
"2020-03-01 19:50:41.493","130","7.616","128","8392704"
"2020-03-01 19:50:42.493","130","7.615","128","8392704"
"2020-03-01 19:50:43.493","130","7.613","128","8392704"
"2020-03-01 19:50:44.493","130","7.614","128","8392704"
"2020-03-01 19:50:45.493","130","7.614","128","8392704"
"2020-03-01 19:50:46.493","130","7.612","128","8392704"
"2020-03-01 19:50:47.493","130","7.611","128","8392704"
"2020-03-01 19:50:48.493","130","7.611","128","8392704"
"2020-03-01 19:50:49.493","130","7.611","128","8392704"
"2020-03-01 19:50:50.493","130","7.612","128","8392704"
"2020-03-01 19:50:51.493","130","7.613","128","8392704"
"2020-03-01 19:50:52.493","130","7.613","128","8392704"
"2020-03-01 19:50:53.493","130","7.615","128","8392704"
"2020-03-01 19:50:54.493","130","7.617","128","8392704"
"2020-03-01 19:50:55.493","130","7.617","128","8392704"
"2020-03-01 19:50:56.493","130","7.619","128","8392704"
"2020-03-01 19:50:57.493","130","7.622","128","8392704"
"2020-03-01 19:50:58.493","130","7.624","128","8392704"
"2020-03-01 19:50:59.493","130","7.625","128","8392704"
"2020-03-01 19:51:00.493","130","7.624","128","8392704"
"2020-03-01 19:51:01.493","130","7.624","128","8392704"
"2020-03-01 19:51:02.493","130","7.622","128","8392704"
"2020-03-01 19:51:03.493","130","7.62","128","8392704"
"2020-03-01 19:51:04.493","130","7.617","128","8392704"
"2020-03-01 19:51:05.493","130","7.617","128","8392704"
"2020-03-01 19:51:06.493","130","7.618","128","8392704"
"2020-03-01 19:51:07.493","130","7.618","128","8392704"
"2020-03-01 19:51:08.493","130","7.618","128","8392704"
"2020-03-01 19:51:09.493","130","7.62","128","8392704"
"2020-03-01 19:51:10.493","130","7.622","128","8392704"
"2020-03-01 19:51:11.493","130","7.623","128","8392704"
"2020-03-01 19:51:12.493","130","7.624","128","8392704"
"2020-03-01 19:51:13.493","130","7.625","128","8392704"
"2020-03-01 19:51:14.493","130","7.626","128","8392704"
"2020-03-01 19:51:15.493","130","7.626","128","8392704"
"2020-03-01 19:51:16.493","130","7.626","128","8392704"
"2020-03-01 19:51:17.493","130","7.627","128","8392704"
"2020-03-01 19:51:18.493","130","7.627","128","8392704"
"2020-03-01 19:51:19.493","130","7.629","128","8392704"
"2020-03-01 19:51:20.493","130","7.629","128","8392704"
"2020-03-01 19:51:21.493","130","7.626","128","8392704"
"2020-03-01 19:51:22.493","130","7.625","128","8392704"
"2020-03-01 19:51:23.493","130","7.625","128","8392704"
"2020-03-01 19:51:24.493","130","7.626","128","8392704"
"2020-03-01 19:51:25.493","130","7.626","128","8392704"
"2020-03-01 19:51:26.493","130","7.624","128","8392704"
"2020-03-01 19:51:27.493","130","7.623","128","8392704"
"2020-03-01 19:51:28.493","130","7.624","128","8392704"
"2020-03-01 19:51:29.493","130","7.624","128","8392704"
"2020-03-01 19:51:30.493","130","7.624","128","8392704"
"2020-03-01 19:51:31.493","130","7.624","128","8392704"
"2020-03-01 19:51:32.493","130","7.626","128","8392704"
"2020-03-01 19:51:33.493","130","7.626","128","8392704"
"2020-03-01 19:51:34.493","130","7.626","128","8392704"
"2020-03-01 19:51:35.493","130","7.625","128","8392704"
"2020-03-01 19:51:36.493","130","7.624","128","8392704"
"2020-03-01 19:51:37.493","130","7.623","128","8392704"
"2020-03-01 19:51:38.493","130","7.622","128","8392704"
"2020-03-01 19:51:39.493","130","7.62","128","8392704"
"2020-03-01 19:51:40.493","130","7.62","128","8392704"
"2020-03-01 19:51:41.493","130","7.62","128","8392704"
"2020-03-01 19:51:42.493","130","7.621","128","8392704"
"2020-03-01 19:51:43.493","130","7.62","128","8392704"
"2020-03-01 19:51:44.493","130","7.619","128","8392704"
"2020-03-01 19:51:45.493","130","7.62","128","8392704"
"2020-03-01 19:51:46.493","130","7.62","128","8392704"
"2020-03-01 19:51:47.493","130","7.618","128","8392704"
"2020-03-01 19:51:48.493","130","7.619","128","8392704"
"2020-03-01 19:51:49.493","130","7.62","128","8392704"
"2020-03-01 19:51:50.493","130","7.622","128","8392704"
"2020-03-01 19:51:51.493","130","7.622","128","8392704"
"2020-03-01 19:51:52.493","130","7.62","128","8392704"
"2020-03-01 19:51:53.493","130","7.62","128","8392704"
"2020-03-01 19:51:54.493","130","7.622","128","8392704"
"2020-03-01 19:51:55.493","130","7.624","128","8392704"
"2020-03-01 19:51:56.493","130","7.622","128","8392704"
"2020-03-01 19:51:57.493","130","7.616","128","8392704"
"2020-03-01 19:51:58.493","130","7.611","128","8392704"
"2020-03-01 19:51:59.493","130","7.61","128","8392704"
"2020-03-01 19:52:00.493","130","7.608","128","8392704"
"2020-03-01 19:52:01.493","130","7.606","128","8392704"
"2020-03-01 19:52:02.493","130","7.607","128","8392704"
"2020-03-01 19:52:03.493","130","7.608","128","8392704"
"2020-03-01 19:52:04.493","130","7.61","128","8392704"
"2020-03-01 19:52:05.493","130","7.612","128","8392704"
"2020-03-01 19:52:06.493","130","7.615","128","8392704"
"2020-03-01 19:52:07.493","130","7.62","128","8392704"
"2020-03-01 19:52:08.493","130","7.623","128","8392704"
"2020-03-01 19:52:09.493","130","7.624","128","8392704"
"2020-03-01 19:52:10.493","130","7.623","128","8392704"
"2020-03-01 19:52:11.493","130","7.623","128","8392704"
"2020-03-01 19:52:12.493","130","7.624","128","8392704"
"2020-03-01 19:52:13.493","130","7.622","128","8392704"
"2020-03-01 19:52:14.493","130","7.62","128","8392704"
"2020-03-01 19:52:15.493","130","7.621","128","8392704"
"2020-03-01 19:52:16.493","130","7.62","128","8392704"
"2020-03-01 19:52:17.493","130","7.622","128","8392704"
"2020-03-01 19:52:18.493","130","7.625","128","8392704"
"2020-03-01 19:52:19.493","130","7.627","128","8392704"
"2020-03-01 19:52:20.493","130","7.625","128","8392704"
"2020-03-01 19:52:21.493","130","7.621","128","8392704"
"2020-03-01 19:52:22.493","130","7.617","128","8392704"
"2020-03-01 19:52:23.493","130","7.617","128","8392704"
"2020-03-01 19:52:24.493","130","7.617","128","8392704"
"2020-03-01 19:52:25.493","130","7.616","128","8392704"
"2020-03-01 19:52:26.493","130","7.615","128","8392704"
"2020-03-01 19:52:27.493","130","7.616","128","8392704"
"2020-03-01 19:52:28.493","130","7.619","128","8392704"
"2020-03-01 19:52:29.493","130","7.621","128","8392704"
"2020-03-01 19:52:30.493","130","7.621","128","8392704"
"2020-03-01 19:52:31.493","130","7.621","128","8392704"
"2020-03-01 19:52:32.493","130","7.621","128","8392704"
"2020-03-01 19:52:33.493","130","7.621","128","8392704"
"2020-03-01 19:52:34.493","130","7.623","128","8392704"
"2020-03-01 19:52:35.493","130","7.621","128","8392704"
"2020-03-01 19:52:36.493","130","7.617","128","8392704"
"2020-03-01 19:52:37.493","130","7.615","128","8392704"
"2020-03-01 19:52:38.493","130","7.612","128","8392704"
"2020-03-01 19:52:39.493","130","7.609","128","8392704"
"2020-03-01 19:52:40.493","130","7.606","128","8392704"
"2020-03-01 19:52:41.493","130","7.606","128","8392704"
"2020-03-01 19:52:42.493","130","7.609","128","8392704"
"2020-03-01 19:52:43.493","130","7.612","128","8392704"
"2020-03-01 19:52:44.493","130","7.616","128","8392704"
"2020-03-01 19:52:45.493","130","7.619","128","8392704"
"2020-03-01 19:52:46.493","130","7.62","128","8392704"
"2020-03-01 19:52:47.493","130","7.622","128","8392704"
"2020-03-01 19:52:48.493","130","7.622","128","8392704"
"2020-03-01 19:52:49.493","130","7.621","128","8392704"
"2020-03-01 19:52:50.493","130","7.618","128","8392704"
"2020-03-01 19:52:51.493","130","7.616","128","8392704"
"2020-03-01 19:52:52.493","130","7.613","128","8392704"
"2020-03-01 19:52:53.493","130","7.612","128","8392704"
"2020-03-01 19:52:54.493","130","7.612","128","8392704"
"2020-03-01 19:52:55.493","130","7.611","128","8392704"
"2020-03-01 19:52:56.493","130","7.609","128","8392704"
"2020-03-01 19:52:57.493","130","7.608","128","8392704"
"2020-03-01 19:52:58.493","130","7.609","128","8392704"
"2020-03-01 19:52:59.493","130","7.611","128","8392704"
"2020-03-01 19:53:00.493","130","7.612","128","8392704"
"2020-03-01 19:53:01.493","130","7.614","128","8392704"
"2020-03-01 19:53:02.493","130","7.618","128","8392704"
"2020-03-01 19:53:03.493","130","7.62","128","8392704"
"2020-03-01 19:53:04.493","130","7.62","128","8392704"
"2020-03-01 19:53:05.493","130","7.62","128","8392704"
"2020-03-01 19:53:06.493","130","7.619","128","8392704"
"2020-03-01 19:53:07.493","130","7.617","128","8392704"
"2020-03-01 19:53:08.493","130","7.615","128","8392704"
"2020-03-01 19:53:09.493","130","7.612","128","8392704"
"2020-03-01 19:53:10.493","130","7.61","128","8392704"
"2020-03-01 19:53:11.493","130","7.609","128","8392704"
"2020-03-01 19:53:12.493","130","7.608","128","8392704"
"2020-03-01 19:53:13.493","130","7.61","128","8392704"
"2020-03-01 19:53:14.493","130","7.611","128","8392704"
"2020-03-01 19:53:15.493","130","7.609","128","8392704"
"2020-03-01 19:53:16.493","130","7.608","128","8392704"
"2020-03-01 19:53:17.493","130","7.608","128","8392704"
"2020-03-01 19:53:18.493","130","7.607","128","8392704"
"2020-03-01 19:53:19.493","130","7.607","128","8392704"
"2020-03-01 19:53:20.493","130","7.605","128","8392704"
"2020-03-01 19:53:21.493","130","7.603","128","8392704"
"2020-03-01 19:53:22.493","130","7.606","128","8392704"
"2020-03-01 19:53:23.493","130","7.611","128","8392704"
"2020-03-01 19:53:24.493","130","7.615","128","8392704"
"2020-03-01 19:53:25.493","130","7.618","128","8392704"
"2020-03-01 19:53:26.493","130","7.62","128","8392704"
"2020-03-01 19:53:27.493","130","7.622","128","8392704"
"2020-03-01 19:53:28.493","130","7.624","128","8392704"
"2020-03-01 19:53:29.493","130","7.626","128","8392704"
"2020-03-01 19:53:30.493","130","7.624","128","8392704"
"2020-03-01 19:53:31.493","130","7.617","128","8392704"
"2020-03-01 19:53:32.493","130","7.613","128","8392704"
"2020-03-01 19:53:33.493","130","7.613","128","8392704"
"2020-03-01 19:53:34.493","130","7.613","128","8392704"
"2020-03-01 19:53:35.493","130","7.61","128","8392704"
"2020-03-01 19:53:36.493","130","7.609","128","8392704"
"2020-03-01 19:53:37.493","130","7.611","128","8392704"
"2020-03-01 19:53:38.493","130","7.61","128","8392704"
"2020-03-01 19:53:39.493","130","7.609","128","8392704"
"2020-03-01 19:53:40.493","130","7.608","128","8392704"
"2020-03-01 19:53:41.493","130","7.605","128","8392704"
"2020-03-01 19:53:42.493","130","7.601","128","8392704"
"2020-03-01 19:53:43.493","130","7.6","128","8392704"
"2020-03-01 19:53:44.493","130","7.602","128","8392704"
"2020-03-01 19:53:45.493","130","7.604","128","8392704"
"2020-03-01 19:53:46.493","130","7.605","128","8392704"
"2020-03-01 19:53:47.493","130","7.606","128","8392704"
"2020-03-01 19:53:48.493","130","7.605","128","8392704"
"2020-03-01 19:53:49.493","130","7.605","128","8392704"
"2020-03-01 19:53:50.493","130","7.606","128","8392704"
"2020-03-01 19:53:51.493","130","7.606","128","8392704"
"2020-03-01 19:53:52.493","130","7.604","128","8392704"
"2020-03-01 19:53:53.493","130","7.606","128","8392704"
"2020-03-01 19:53:54.493","130","7.61","128","8392704"
"2020-03-01 19:53:55.493","130","7.612","128","8392704"
"2020-03-01 19:53:56.493","130","7.613","128","8392704"
"2020-03-01 19:53:57.493","130","7.613","128","8392704"
"2020-03-01 19:53:58.493","130","7.613","128","8392704"
"2020-03-01 19:53:59.493","130","7.615","128","8392704"
"2020-03-01 19:54:00.493","130","7.616","128","8392704"
"2020-03-01 19:54:01.493","130","7.616","128","8392704"
"2020-03-01 19:54:02.493","130","7.618","128","8392704"
"2020-03-01 19:54:03.493","130","7.621","128","8392704"
"2020-03-01 19:54:04.493","130","7.623","128","8392704"
"2020-03-01 19:54:05.493","130","7.623","128","8392704"
"2020-03-01 19:54:06.493","130","7.624","128","8392704"
"2020-03-01 19:54:07.493","130","7.624","128","8392704"
"2020-03-01 19:54:08.493","130","7.622","128","8392704"
"2020-03-01 19:54:09.493","130","7.62","128","8392704"
"2020-03-01 19:54:10.493","130","7.621","128","8392704"
"2020-03-01 19:54:11.493","130","7.62","128","8392704"
"2020-03-01 19:54:12.493","130","7.617","128","8392704"
"2020-03-01 19:54:13.493","130","7.617","128","8392704"
"2020-03-01 19:54:14.493","130","7.618","128","8392704"
"2020-03-01 19:54:15.493","130","7.617","128","8392704"
"2020-03-01 19:54:16.493","130","7.615","128","8392704"
"2020-03-01 19:54:17.493","130","7.613","128","8392704"
"2020-03-01 19:54:18.493","130","7.612","128","8392704"
"2020-03-01 19:54:19.493","130","7.609","128","8392704"
"2020-03-01 19:54:20.493","130","7.605","128","8392704"
"2020-03-01 19:54:21.493","130","7.604","128","8392704"
"2020-03-01 19:54:22.493","130","7.605","128","8392704"
"2020-03-01 19:54:23.493","130","7.608","128","8392704"
"2020-03-01 19:54:24.493","130","7.611","128","8392704"
"2020-03-01 19:54:25.493","130","7.613","128","8392704"
"2020-03-01 19:54:26.493","130","7.613","128","8392704"
"2020-03-01 19:54:27.493","130","7.611","128","8392704"
"2020-03-01 19:54:28.493","130","7.611","128","8392704"
"2020-03-01 19:54:29.493","130","7.611","128","8392704"
"2020-03-01 19:54:30.493","130","7.612","128","8392704"
"2020-03-01 19:54:31.493","130","7.614","128","8392704"
"2020-03-01 19:54:32.493","130","7.61","128","8392704"
"2020-03-01 19:54:33.493","130","7.603","128","8392704"
"2020-03-01 19:54:34.493","130","7.598","128","8392704"
"2020-03-01 19:54:35.493","130","7.594","128","8392704"
"2020-03-01 19:54:36.493","130","7.591","128","8392704"
"2020-03-01 19:54:37.493","130","7.591","128","8392704"
"2020-03-01 19:54:38.493","130","7.59","128","8392704"
"2020-03-01 19:54:39.493","130","7.588","128","8392704"
"2020-03-01 19:54:40.493","130","7.593","128","8392704"
"2020-03-01 19:54:41.493","130","7.599","128","8392704"
"2020-03-01 19:54:42.493","130","7.602","128","8392704"
"2020-03-01 19:54:43.493","130","7.604","128","8392704"
"2020-03-01 19:54:44.493","130","7.606","128","8392704"
"2020-03-01 19:54:45.493","130","7.609","128","8392704"
"2020-03-01 19:54:46.493","130","7.612","128","8392704"
"2020-03-01 19:54:47.493","130","7.614","128","8392704"
"2020-03-01 19:54:48.493","130","7.616","128","8392704"
"2020-03-01 19:54:49.493","130","7.617","128","8392704"
"2020-03-01 19:54:50.493","130","7.619","128","8392704"
"2020-03-01 19:54:51.493","130","7.623","128","8392704"
"2020-03-01 19:54:52.493","130","7.626","128","8392704"
"2020-03-01 19:54:53.493","130","7.626","128","8392704"
"2020-03-01 19:54:54.493","130","7.624","128","8392704"
"2020-03-01 19:54:55.493","130","7.623","128","8392704"
"2020-03-01 19:54:56.493","130","7.618","128","8392704"
"2020-03-01 19:54:57.493","130","7.613","128","8392704"
"2020-03-01 19:54:58.493","130","7.61","128","8392704"
"2020-03-01 19:54:59.493","130","7.605","128","8392704"
"2020-03-01 19:55:00.493","130","7.604","128","8392704"
"2020-03-01 19:55:01.493","130","7.603","128","8392704"
"2020-03-01 19:55:02.493","130","7.602","128","8392704"
"2020-03-01 19:55:03.493","130","7.602","128","8392704"
"2020-03-01 19:55:04.493","130","7.602","128","8392704"
"2020-03-01 19:55:05.493","130","7.603","128","8392704"
"2020-03-01 19:55:06.493","130","7.608","128","8392704"
"2020-03-01 19:55:07.493","130","7.609","128","8392704"
"2020-03-01 19:55:08.493","130","7.608","128","8392704"
"2020-03-01 19:55:09.493","130","7.609","128","8392704"
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册