Merge remote-tracking branch 'origin/develop' into feature/platform
This commit is contained in:
commit
3b7ef3694d
|
@ -4,7 +4,7 @@ TDengine要求每个数据采集点单独建表。独立建表的模式能够避
|
|||
|
||||
## 什么是超级表
|
||||
|
||||
STable是同一类型数据采集点的抽象,是同类型采集实例的集合,包含多张数据结构一样的子表。每个STable为其子表定义了表结构和一组标签:表结构即表中记录的数据列及其数据类型;标签名和数据类型由STable定义,标签值记录着每个子表的静态信息,用以对子表进行分组过滤。子表本质上就是普通的表,由一个时间戳主键和若干个数据列组成,每行记录着具体的数据,数据查询操作与普通表完全相同;但子表与普通表的区别在于每个子表从属于一张超级表,并带有一组由STable定义的标签值。每种类型的采集设备可以定义一个STable。数据模型定义表的每列数据的类型,如温度、压力、电压、电流、GPS实时位置等,而标签信息属于Meta Data,如采集设备的序列号、型号、位置等,是静态的,是表的元数据。用户在创建表(数据采集点)时指定STable(采集类型)外,还可以指定标签的值,也可事后增加或修改。
|
||||
超级表是同一类型数据采集点的抽象,是同类型采集实例的集合,包含多张数据结构一样的子表。每个STable为其子表定义了表结构和一组标签:表结构即表中记录的数据列及其数据类型;标签名和数据类型由STable定义,标签值记录着每个子表的静态信息,用以对子表进行分组过滤。子表本质上就是普通的表,由一个时间戳主键和若干个数据列组成,每行记录着具体的数据,数据查询操作与普通表完全相同;但子表与普通表的区别在于每个子表从属于一张超级表,并带有一组由STable定义的标签值。每种类型的采集设备可以定义一个STable。数据模型定义表的每列数据的类型,如温度、压力、电压、电流、GPS实时位置等,而标签信息属于Meta Data,如采集设备的序列号、型号、位置等,是静态的,是表的元数据。用户在创建表(数据采集点)时指定STable(采集类型)外,还可以指定标签的值,也可事后增加或修改。
|
||||
|
||||
TDengine扩展标准SQL语法用于定义STable,使用关键词tags指定标签信息。语法如下:
|
||||
|
||||
|
|
|
@ -304,10 +304,10 @@ int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientI
|
|||
//uError("failed to connect socket, ip:0x%x, port:%hu(%s)", destIp, destPort, strerror(errno));
|
||||
close(sockFd);
|
||||
sockFd = -1;
|
||||
} else {
|
||||
taosKeepTcpAlive(sockFd);
|
||||
}
|
||||
|
||||
// taosKeepTcpAlive(sockFd);
|
||||
|
||||
return sockFd;
|
||||
}
|
||||
|
||||
|
@ -349,7 +349,7 @@ int taosKeepTcpAlive(int sockFd) {
|
|||
|
||||
struct linger linger = {0};
|
||||
linger.l_onoff = 1;
|
||||
//linger.l_linger = 0;
|
||||
linger.l_linger = 3;
|
||||
if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_LINGER, (void *)&linger, sizeof(linger)) < 0) {
|
||||
uError("setsockopt SO_LINGER failed: %d (%s)", errno, strerror(errno));
|
||||
close(sockFd);
|
||||
|
|
Loading…
Reference in New Issue