### 节点（Node）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
ID | 编号 | Int32 |  |  | AI | N |
ProjectId | 项目 | Int32 |  |  |  | N | 资源归属的团队
Name | 名称 | String | 50 |  |  |  |
Code | 编码 | String | 50 |  | UQ |  | NodeKey
Secret | 密钥 | String | 50 |  |  |  | NodeSecret
Enable | 启用 | Boolean |  |  |  | N |
ProductCode | 产品 | String | 50 |  |  |  | 产品编码，用于区分不同类型节点
Category | 分类 | String | 50 |  |  |  |
Version | 版本 | String | 50 |  |  |  |
CompileTime | 编译时间 | DateTime |  |  |  |  |
OS | 操作系统 | String | 100 |  |  |  |
OSVersion | 系统版本 | String | 50 |  |  |  |
OSKind | 系统种类 | Int32 |  |  |  | N | 主流操作系统类型，不考虑子版本
Architecture | 架构 | String | 50 |  |  |  | 处理器架构，X86/X64/Arm/Arm64
MachineName | 机器名称 | String | 50 |  |  |  |
UserName | 用户名称 | String | 50 |  |  |  |
IP | 本地IP | String | 200 |  |  |  |
Gateway | 网关 | String | 50 |  |  |  | IP地址和MAC
Dns | DNS地址 | String | 50 |  |  |  |
Cpu | CPU | Int32 |  |  |  | N | 处理器核心数
Memory | 内存 | Int32 |  |  |  | N | 单位M
TotalSize | 磁盘 | Int32 |  |  |  | N | 应用所在盘，单位M
DriveSize | 驱动器大小 | Int32 |  |  |  | N | 所有分区总大小，单位M
DriveInfo | 驱动器信息 | String | 500 |  |  |  | 各分区大小，逗号分隔
MaxOpenFiles | 最大打开文件 | Int32 |  |  |  | N | Linux上的ulimit -n
Dpi | 像素点 | String | 50 |  |  |  | 例如96*96
Resolution | 分辨率 | String | 50 |  |  |  | 例如1024*768
Product | 产品名 | String | 50 |  |  |  |
Vendor | 制造商 | String | 50 |  |  |  |
Processor | 处理器 | String | 200 |  |  |  |
Uuid | 唯一标识 | String | 50 |  |  |  |
MachineGuid | 机器标识 | String | 50 |  |  |  |
SerialNumber | 序列号 | String | 50 |  |  |  | 适用于品牌机，跟笔记本标签显示一致
Board | 主板 | String | 50 |  |  |  | 序列号或家族信息
DiskID | 磁盘序列号 | String | 200 |  |  |  |
MACs | 网卡 | String | 200 |  |  |  |
InstallPath | 安装路径 | String | 200 |  |  |  |
Runtime | 运行时 | String | 50 |  |  |  | .Net运行时版本
Framework | 框架 | String | 50 |  |  |  | 本地支持的最高版本框架
Frameworks | 框架集合 | String | 200 |  |  |  | 本地支持的所有版本框架，逗号隔开
ProvinceID | 省份 | Int32 |  |  |  | N |
CityID | 城市 | Int32 |  |  |  | N |
Address | 地址 | String | 200 |  |  |  | 该节点所处地理地址
Location | 位置 | String | 50 |  |  |  | 场地安装位置，或者经纬度
Period | 采样周期 | Int32 |  |  |  | N | 默认60秒
SyncTime | 同步时间 | Int32 |  |  |  | N | 定期同步服务器时间到本地，默认0秒不同步
NewServer | 新服务器 | String | 50 |  |  |  | 该节点自动迁移到新的服务器地址
LastVersion | 最后版本 | String | 50 |  |  |  | 最后一次升级所使用的版本号，避免重复升级同一个版本
Channel | 通道 | Int32 |  |  |  | N | 升级通道，默认Release通道，使用Beta通道可以得到较新版本
WebHook | 告警机器人 | String | 500 |  |  |  | 钉钉、企业微信等
AlarmCpuRate | CPU告警 | Int32 |  |  |  | N | CPU告警的百分比阈值，CPU使用率达到该值时告警，百分之一
AlarmMemoryRate | 内存告警 | Int32 |  |  |  | N | 内存告警的百分比阈值，内存使用率达到该值时告警，百分之一
AlarmDiskRate | 磁盘告警 | Int32 |  |  |  | N | 磁盘告警的百分比阈值，磁盘使用率达到该值时告警，百分之一
AlarmTcp | 连接数告警 | Int32 |  |  |  | N | TCP连接数达到该值时告警，包括连接数、主动关闭和被动关闭
AlarmProcesses | 进程告警 | String | 50 |  |  |  | 要守护的进程不存在时告警，多进程逗号隔开，支持*模糊匹配
AlarmOnOffline | 下线告警 | Boolean |  |  |  | N | 节点下线时，发送告警
Logins | 登录次数 | Int32 |  |  |  | N |
LastLogin | 最后登录 | DateTime |  |  |  |  |
LastLoginIP | 最后IP | String | 50 |  |  |  | 最后的公网IP地址
LastActive | 最后活跃 | DateTime |  |  |  |  | 心跳过程中每10分钟更新活跃时间
OnlineTime | 在线时长 | Int32 |  |  |  | N | 单位，秒
CreateUserID | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserID | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 节点在线（NodeOnline）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
ID | 编号 | Int32 |  |  | AI | N |
ProjectId | 项目 | Int32 |  |  |  | N | 资源归属的团队
SessionID | 会话 | String | 50 |  | UQ |  |
NodeID | 节点 | Int32 |  |  |  | N |
Name | 名称 | String | 50 |  |  |  |
ProductCode | 产品 | String | 50 |  |  |  | 产品编码，用于区分不同类型节点
IP | 本地IP | String | 200 |  |  |  |
Gateway | 网关 | String | 50 |  |  |  | IP地址和MAC
Dns | DNS地址 | String | 50 |  |  |  |
Category | 分类 | String | 50 |  |  |  |
ProvinceID | 省份 | Int32 |  |  |  | N |
CityID | 城市 | Int32 |  |  |  | N |
Address | 地址 | String | 200 |  |  |  | 该节点所处地理地址
Location | 位置 | String | 50 |  |  |  | 场地安装位置，或者经纬度
PingCount | 心跳 | Int32 |  |  |  | N |
WebSocket | 长连接 | Boolean |  |  |  | N | WebSocket长连接
Version | 版本 | String | 50 |  |  |  |
CompileTime | 编译时间 | DateTime |  |  |  |  |
OSKind | 系统种类 | Int32 |  |  |  | N | 主流操作系统类型，不考虑子版本
Memory | 内存 | Int32 |  |  |  | N | 单位M
AvailableMemory | 可用内存 | Int32 |  |  |  | N | 单位M
MemoryUsed | 已用内存 | Int32 |  |  |  | N | 单位M
AvailableFreeSpace | 可用磁盘 | Int32 |  |  |  | N | 应用所在盘，单位M
SpaceUsed | 已用磁盘 | Int32 |  |  |  | N | 应用所在盘，单位M
DriveInfo | 驱动器信息 | String | 500 |  |  |  | 各分区大小，逗号分隔
CpuRate | CPU率 | Double |  |  |  | N | 占用率
Temperature | 温度 | Double |  |  |  | N |
Battery | 电量 | Double |  |  |  | N |
Signal | 信号 | Int32 |  |  |  | N | 信号强度，WiFi/4G
UplinkSpeed | 上行速度 | Int64 |  |  |  | N | 网络发送速度，字节每秒
DownlinkSpeed | 下行速度 | Int64 |  |  |  | N | 网络接收速度，字节每秒
IntranetScore | 内网质量 | Double |  |  |  | N | 评估到网关的心跳延迟和丢包率，1ms为100%，10ms为99.1%，100ms为90.57%，500ms为60.71%，1000ms为36.82%
InternetScore | 外网质量 | Double |  |  |  | N | 综合评估到DNS和星尘服务器的心跳延迟和丢包率，1ms为100%，10ms为99.1%，100ms为90.57%，500ms为60.71%，1000ms为36.82%
ProcessCount | 进程数 | Int32 |  |  |  | N |
TcpConnections | 连接数 | Int32 |  |  |  | N | 传输数据Established的Tcp网络连接数
TcpTimeWait | 主动关闭 | Int32 |  |  |  | N | 主动关闭后TimeWait的Tcp网络连接数，下一步Closed
TcpCloseWait | 被动关闭 | Int32 |  |  |  | N | 被动关闭后CloseWait的Tcp网络连接数，下一步TimeWait
Delay | 延迟 | Int32 |  |  |  | N | 网络延迟，客户端最近一次心跳耗时的一半，单位ms
Offset | 偏移 | Int32 |  |  |  | N | 客户端UTC时间加上一半延迟再减服务端UTC时间，单位ms
LocalTime | 本地时间 | DateTime |  |  |  |  |
Uptime | 开机时间 | Int32 |  |  |  | N | 单位s
MACs | 网卡 | String | 200 |  |  |  |
Processes | 进程列表 | String | 2000 |  |  |  |
Token | 令牌 | String | 500 |  |  |  |
Data | 数据 | String |  |  |  |  |
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
Creator | 创建者 | String | 50 |  |  |  | 服务端节点
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |

### 节点历史（NodeHistory）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int64 |  |  | PK | N |
NodeID | 节点 | Int32 |  |  |  | N |
Name | 名称 | String | 50 |  |  |  |
ProvinceID | 省份 | Int32 |  |  |  | N |
CityID | 城市 | Int32 |  |  |  | N |
Action | 操作 | String | 50 |  |  |  |
Success | 成功 | Boolean |  |  |  | N |
Version | 版本 | String | 50 |  |  |  |
CompileTime | 编译时间 | DateTime |  |  |  |  |
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
Creator | 创建者 | String | 50 |  |  |  | 服务端节点
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
Content | 内容 | String | 2000 |  |  |  |

### 节点数据（NodeData）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int64 |  |  | PK | N |
NodeID | 节点 | Int32 |  |  |  | N |
Name | 名称 | String | 50 |  |  |  |
AvailableMemory | 可用内存 | Int32 |  |  |  | N | 单位M
AvailableFreeSpace | 可用磁盘 | Int32 |  |  |  | N | 应用所在盘，单位M
CpuRate | CPU率 | Double |  |  |  | N | 占用率
Temperature | 温度 | Double |  |  |  | N |
Battery | 电量 | Double |  |  |  | N |
Signal | 信号 | Int32 |  |  |  | N | 信号强度，WiFi/4G
UplinkSpeed | 上行速度 | Int64 |  |  |  | N | 网络发送速度，字节每秒
DownlinkSpeed | 下行速度 | Int64 |  |  |  | N | 网络接收速度，字节每秒
ProcessCount | 进程数 | Int32 |  |  |  | N |
TcpConnections | 连接数 | Int32 |  |  |  | N | 传输数据Established的Tcp网络连接数
TcpTimeWait | 主动关闭 | Int32 |  |  |  | N | 主动关闭后TimeWait的Tcp网络连接数，等待2MSL，确保四次挥手的最后一个ACK能够发出，下一步Closed
TcpCloseWait | 被动关闭 | Int32 |  |  |  | N | 作为客户端，收到服务器FIN后进入CloseWait的Tcp网络连接数，还没发送自己的FIN，主要原因是我方太忙
IntranetScore | 内网质量 | Double |  |  |  | N | 评估到网关的心跳延迟和丢包率，1ms为100%，10ms为99.1%，100ms为90.57%，500ms为60.71%，1000ms为36.82%
InternetScore | 外网质量 | Double |  |  |  | N | 综合评估到DNS和星尘服务器的心跳延迟和丢包率，1ms为100%，10ms为99.1%，100ms为90.57%，500ms为60.71%，1000ms为36.82%
Delay | 延迟 | Int32 |  |  |  | N | 网络延迟，客户端最近一次心跳耗时的一半，单位ms
Offset | 偏移 | Int32 |  |  |  | N | 客户端UTC时间加上一半延迟再减服务端UTC时间，单位ms
LocalTime | 本地时间 | DateTime |  |  |  |  |
Uptime | 开机时间 | Int32 |  |  |  | N | 单位s
Creator | 创建者 | String | 50 |  |  |  | 服务端节点
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |

### 节点版本（NodeVersion）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
ID | 编号 | Int32 |  |  | AI | N |
Version | 版本号 | String | 50 |  | UQ |  |
ProductCode | 产品 | String | 50 |  |  |  | 产品编码，用于区分不同类型节点
Enable | 启用 | Boolean |  |  |  | N | 启用/停用
Force | 强制 | Boolean |  |  |  | N | 强制升级
Channel | 升级通道 | Int32 |  |  |  | N |
Strategy | 策略 | String | 500 |  |  |  | 升级策略，版本特别支持大于等于和小于等于，node=*abcd*;version>=1.0;runtime/framework/os/oskind/arch/province/city
Source | 升级源 | String | 200 |  |  |  |
Size | 文件大小 | Int64 |  |  |  | N |
FileHash | 文件哈希 | String | 50 |  |  |  | MD5散列
Preinstall | 预安装命令 | String | 200 |  |  |  | 更新前要执行的命令，解压缩后，在解压缩目录执行
Executor | 执行命令 | String | 200 |  |  |  | 空格前后为文件名和参数
CreateUserID | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserID | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Description | 描述 | String | 500 |  |  |  |

### 节点命令（NodeCommand）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
NodeID | 节点 | Int32 |  |  |  | N |
Command | 命令 | String | 50 |  |  |  |
Argument | 参数 | String | 500 |  |  |  |
StartTime | 开始执行时间 | DateTime |  |  |  |  | 用于提前下发指令后延期执行，暂时不支持取消
Expire | 过期时间 | DateTime |  |  |  |  | 未指定时表示不限制
Status | 状态 | Int32 |  |  |  | N | 命令状态
Times | 次数 | Int32 |  |  |  | N | 一共执行多少次，超过10次后取消
Result | 结果 | String | 500 |  |  |  |
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
CreateUser | 创建者 | String | 50 |  |  |  |
CreateUserID | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserID | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |

### 节点统计（NodeStat）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
ID | 编号 | Int32 |  |  | AI | N |
Category | 类别 | String | 50 |  |  |  | 业务方向分类，例如操作系统占比
StatDate | 统计日期 | DateTime |  |  |  |  |
Key | 统计项 | String | 50 |  |  |  | 统计项编码
LinkItem | 关联项 | String | 50 |  |  |  |
Total | 总数 | Int32 |  |  |  | N | 1年内活跃过的全部节点数
Actives | 活跃数 | Int32 |  |  |  | N | 最后活跃位于今天
ActivesT7 | 7天活跃数 | Int32 |  |  |  | N | 最后活跃位于7天内
ActivesT30 | 30天活跃数 | Int32 |  |  |  | N | 最后活跃位于30天内
News | 新增数 | Int32 |  |  |  | N | 今天创建
NewsT7 | 7天新增数 | Int32 |  |  |  | N | 7天创建
NewsT30 | 30天新增数 | Int32 |  |  |  | N | 30天创建
CreateTime | 创建时间 | DateTime |  |  |  |  |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 节点规则（NodeRule）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
Rule | 规则 | String | 50 |  |  |  | 支持*模糊匹配，比如10.0.*
Name | 名称 | String | 50 |  |  |  | 匹配规则的节点所应该具有的名称
Category | 分类 | String | 50 |  |  |  | 匹配规则的节点所应该具有的分类
Enable | 启用 | Boolean |  |  |  | N |
Priority | 优先级 | Int32 |  |  |  | N | 数字越大优先级越高
NewNode | 新节点 | Boolean |  |  |  | N | 新匹配IP如果不存在节点，则新建节点
CreateUserID | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserID | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 节点定位（NodeLocation）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
Name | 名称 | String | 50 |  |  |  |
LanIPRule | 局域网IP | String | 50 |  |  |  | 局域网IP地址规则，支持*匹配
MacRule | MAC规则 | String | 50 |  |  |  | 局域网网关MAC地址规则，支持*匹配
WanIPRule | 公网IP | String | 50 |  |  |  | 公网IP地址规则，支持*匹配
Enable | 启用 | Boolean |  |  |  | N |
AreaId | 地区 | Int32 |  |  |  | N | 省市区编码
Address | 地址 | String | 50 |  |  |  | 地理地址
Location | 位置 | String | 50 |  |  |  | 场地安装位置，或者经纬度
CreateUser | 创建者 | String | 50 |  |  |  |
CreateUserID | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserID | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |