<?xml version="1.0" encoding="utf-8"?>
<EntityModel xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model202309.xsd" Document="https://newlifex.com/xcode/model" xmlns="https://newlifex.com/Model202309.xsd">
<Option>
<!--类名模板。其中{name}替换为Table.Name,如{name}Model/I{name}Dto等-->
<ClassNameTemplate />
<!--显示名模板。其中{displayName}替换为Table.DisplayName-->
<DisplayNameTemplate />
<!--基类。可能包含基类和接口,其中{name}替换为Table.Name-->
<BaseClass />
<!--命名空间-->
<Namespace>Stardust.Data</Namespace>
<!--输出目录-->
<Output>.\</Output>
<!--是否使用中文文件名。默认false-->
<ChineseFileName>False</ChineseFileName>
<!--用于生成Copy函数的参数类型。例如{name}或I{name}-->
<ModelNameForCopy />
<!--带有索引器。实现IModel接口-->
<HasIModel>False</HasIModel>
<!--可为null上下文。生成String?等-->
<Nullable>False</Nullable>
<!--数据库连接名-->
<ConnName>Stardust</ConnName>
<!--模型类模版。设置后生成模型类,用于接口数据传输,例如{name}Model-->
<ModelClass />
<!--模型类输出目录。默认当前目录的Models子目录-->
<ModelsOutput>.\Models\</ModelsOutput>
<!--模型接口模版。设置后生成模型接口,用于约束模型类和实体类,例如I{name}-->
<ModelInterface />
<!--模型接口输出目录。默认当前目录的Interfaces子目录-->
<InterfacesOutput>.\Interfaces\</InterfacesOutput>
<!--用户实体转为模型类的模型类。例如{name}或{name}DTO-->
<ModelNameForToModel />
<!--命名格式。Default/Upper/Lower/Underline-->
<NameFormat>Default</NameFormat>
<!--魔方区域显示名-->
<DisplayName />
<!--魔方控制器输出目录-->
<CubeOutput>../../Stardust.Web/Areas/Registry</CubeOutput>
</Option>
<Tables>
<Table Name="App" TableName="StarApp" Description="应用系统。服务提供者和消费者">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="ProjectId" DataType="Int32" Map="Stardust.Data.Platform.GalaxyProject@Id@Name" Description="项目。资源归属的团队" />
<Column Name="Name" DataType="String" Master="True" Nullable="False" Description="名称" />
<Column Name="DisplayName" DataType="String" Description="显示名" />
<Column Name="Secret" DataType="String" Description="密钥" />
<Column Name="Category" DataType="String" Description="类别" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="AutoActive" DataType="Boolean" Description="自动激活。自动激活启用该应用在注册中心提供的服务,供其它消费者使用" />
<Column Name="Version" DataType="String" Description="版本。多版本实例使用时,仅记录最大版本" />
<Column Name="Compile" DataType="DateTime" Description="编译时间。最大版本应用的编译时间" />
<Column Name="Period" DataType="Int32" Description="采样周期。应用定期采样并上报性能数据,默认60秒" />
<Column Name="Singleton" DataType="Boolean" Description="单例。每个节点只部署一个实例,多节点多实例,此时使用本地IP作为唯一标识,便于管理实例" />
<Column Name="WhiteIPs" DataType="String" Description="IP白名单。符合条件的来源IP才允许访问,支持*通配符,多个逗号隔开" Category="安全告警" />
<Column Name="BlackIPs" DataType="String" Description="IP黑名单。符合条件的来源IP禁止访问,支持*通配符,多个逗号隔开" Category="安全告警" />
<Column Name="WebHook" DataType="String" Length="500" Description="告警机器人。钉钉、企业微信等" Category="安全告警" />
<Column Name="AlarmOnOffline" DataType="Boolean" Description="下线告警。节点下线时,发送告警" Category="安全告警" />
<Column Name="LastLogin" DataType="DateTime" Description="最后登录" />
<Column Name="LastIP" DataType="String" Description="最后IP" />
<Column Name="AllowControlNodes" DataType="String" Description="节点控制。安全性设计,允许该应用发指令控制的目标节点编码或目标应用名称,多节点逗号分隔,*表示全部节点" Category="安全告警" />
<Column Name="Remark" DataType="String" Length="500" Description="内容" Category="扩展" />
<Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
<Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="UpdateUser" DataType="String" Description="更新者" Category="扩展" />
<Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
<Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
<Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="Name" Unique="True" />
<Index Columns="ProjectId" />
</Indexes>
</Table>
<Table Name="AppOnline" Description="应用在线。一个应用有多个部署,每个在线会话对应一个服务地址" ConnName="StardustData">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="ProjectId" DataType="Int32" Map="Stardust.Data.Platform.GalaxyProject@Id@Name" Description="项目。资源归属的团队" />
<Column Name="Category" DataType="String" Description="类别" />
<Column Name="AppId" DataType="Int32" Description="应用" />
<Column Name="Name" DataType="String" Master="True" Description="名称。机器名称" />
<Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
<Column Name="Client" DataType="String" Description="客户端。IP加进程,不同应用的Client可能相同,但几率很低,暂不考虑" />
<Column Name="Scope" DataType="String" Description="作用域" />
<Column Name="Version" DataType="String" Description="版本。客户端" />
<Column Name="Compile" DataType="DateTime" Description="编译时间。客户端" />
<Column Name="PingCount" DataType="Int32" Description="心跳" />
<Column Name="WorkerId" DataType="Int32" Description="雪花标识。应用内唯一标识该节点" />
<Column Name="WebSocket" DataType="Boolean" Description="长连接。WebSocket长连接" />
<Column Name="ProcessId" DataType="Int32" Description="进程" />
<Column Name="ProcessName" DataType="String" Length="200" Description="进程名称" />
<Column Name="CommandLine" DataType="String" Length="500" Description="命令行" />
<Column Name="UserName" DataType="String" Description="用户名。启动该进程的用户名" />
<Column Name="MachineName" DataType="String" Description="机器名" />
<Column Name="StartTime" DataType="DateTime" Description="进程时间" />
<Column Name="IP" DataType="String" Length="200" Description="本地IP。节点本地IP地址" />
<Column Name="Listens" DataType="String" Length="200" Description="监听端口。网络端口监听信息" />
<Column Name="Token" DataType="String" Length="500" Description="令牌" />
<Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样,可用于关联多个片段,建立依赖关系,随线程上下文、Http、Rpc传递" Category="扩展" />
<Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
<Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="Client" Unique="True" />
<Index Columns="ProjectId" />
<Index Columns="AppId,IP" />
<Index Columns="Token" />
<Index Columns="IP" />
<Index Columns="UpdateTime" />
</Indexes>
</Table>
<Table Name="AppHistory" Description="应用历史" ConnName="StardustData">
<Columns>
<Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
<Column Name="AppId" DataType="Int32" Description="应用" />
<Column Name="Client" DataType="String" Description="客户端。IP加进程" />
<Column Name="Version" DataType="String" Description="版本。客户端实例版本" />
<Column Name="Action" DataType="String" Description="操作" />
<Column Name="Success" DataType="Boolean" Description="成功" />
<Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样,可用于关联多个片段,建立依赖关系,随线程上下文、Http、Rpc传递" Category="扩展" />
<Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="Remark" DataType="String" Length="2000" Description="内容" />
</Columns>
<Indexes>
<Index Columns="AppId,Client" />
<Index Columns="AppId,Action" />
<Index Columns="Action,Success" />
</Indexes>
</Table>
<Table Name="AppCommand" Description="应用命令" ConnName="StardustData">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="AppId" DataType="Int32" Description="应用" />
<Column Name="Command" DataType="String" Master="True" Description="命令" />
<Column Name="Argument" DataType="String" Length="500" Description="参数" />
<Column Name="StartTime" DataType="DateTime" Description="开始执行时间。用于提前下发指令后延期执行,暂时不支持取消" />
<Column Name="Expire" DataType="DateTime" Description="过期时间。未指定时表示不限制" />
<Column Name="Status" DataType="Int32" Description="状态。命令状态" Type="Stardust.Models.CommandStatus" />
<Column Name="Times" DataType="Int32" Description="次数。一共执行多少次,超过10次后取消" />
<Column Name="Result" DataType="String" Length="500" Description="结果" />
<Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样,可用于关联多个片段,建立依赖关系,随线程上下文、Http、Rpc传递" Category="扩展" />
<Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
<Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
<Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
<Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="AppId,Command" />
<Index Columns="UpdateTime,AppId,Command" />
</Indexes>
</Table>
<Table Name="AppMeter" Description="应用性能。保存应用上报的性能数据,如CPU、内存、线程、句柄等" ConnName="StardustData">
<Columns>
<Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
<Column Name="AppId" DataType="Int32" Description="应用" />
<Column Name="ClientId" DataType="String" Description="实例。应用可能多实例部署,ip@proccessid" />
<Column Name="Source" DataType="String" Description="来源。数据来源,应用心跳、监控数据上报携带、远程发布后由StarAgent上报" />
<Column Name="Memory" DataType="Int32" Description="内存。单位M" />
<Column Name="ProcessorTime" DataType="Int32" Description="处理器。处理器时间,单位ms" />
<Column Name="CpuUsage" DataType="Double" ItemType="percent" Description="CPU负载。处理器时间除以物理时间的占比" />
<Column Name="Threads" DataType="Int32" Description="线程数" />
<Column Name="WorkerThreads" DataType="Int32" Description="工作线程。线程池可用工作线程数,主要是Task使用" />
<Column Name="IOThreads" DataType="Int32" Description="IO线程。线程池可用IO线程数,主要是网络接收所用" />
<Column Name="Handles" DataType="Int32" Description="句柄数" />
<Column Name="Connections" DataType="Int32" Description="连接数" />
<Column Name="GCPause" DataType="Double" Description="GC暂停。时间占比,百分之一" />
<Column Name="FullGC" DataType="Int32" Description="完全GC。周期时间内发生二代GC的次数" />
<Column Name="Time" DataType="DateTime" Description="采集时间" />
<Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="AppId,ClientId,Id" />
</Indexes>
</Table>
<Table Name="Service" Description="服务信息。服务提供者发布的服务">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="ProjectId" DataType="Int32" Map="Stardust.Data.Platform.GalaxyProject@Id@Name" Description="项目。资源归属的团队" />
<Column Name="Name" DataType="String" Master="True" Nullable="False" Description="名称。服务名,提供一个地址,包含多个接口" />
<Column Name="DisplayName" DataType="String" Description="显示名" />
<Column Name="Category" DataType="String" Description="类别" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="Extranet" DataType="Boolean" Description="外网。外网服务使用提供者公网地址进行注册" />
<Column Name="Singleton" DataType="Boolean" Description="单例。每个节点只部署一个实例,多节点多实例,此时使用本地IP作为唯一标识,便于设置权重" />
<Column Name="UseScope" DataType="Boolean" Description="作用域。使用作用域隔离后,消费者只能使用本作用域内的服务" />
<Column Name="Address" DataType="String" Description="服务地址模版。固定的网关地址,或地址模版如http://{IP}:{Port},默认不填写,自动识别地址" />
<Column Name="HealthCheck" DataType="Boolean" Description="健康监测。定时检测服务是否可用" />
<Column Name="HealthAddress" DataType="String" Description="监测地址。健康监测接口地址,相对地址或绝对地址" />
<Column Name="Providers" DataType="Int32" Description="提供者。数量" />
<Column Name="Consumers" DataType="Int32" Description="消费者。数量" />
<Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
<Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="UpdateUser" DataType="String" Description="更新者" Category="扩展" />
<Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
<Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
<Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
<Column Name="Remark" DataType="String" Length="500" Description="内容" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="Name" Unique="True" />
<Index Columns="ProjectId" />
</Indexes>
</Table>
<Table Name="AppService" Description="应用服务。应用提供的服务">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="AppId" DataType="Int32" Description="应用。提供服务的应用程序" />
<Column Name="ServiceId" DataType="Int32" Description="服务" />
<Column Name="ServiceName" DataType="String" Description="服务名" />
<Column Name="Client" DataType="String" Description="客户端。由该应用实例提供服务,IP加端口" />
<Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="PingCount" DataType="Int32" Description="心跳。应用程序定期向注册中心更新服务状态" />
<Column Name="Version" DataType="String" Description="版本。应用程序版本号" />
<Column Name="Address" DataType="String" Length="500" Description="地址。经地址模版处理后对外服务的地址,默认是本地局域网服务地址,如http://127.0.0.1:1234" />
<Column Name="OriginAddress" DataType="String" Length="500" Description="原始地址。客户端上报地址,需要经服务端处理后才能对外提供服务" />
<Column Name="Weight" DataType="Int32" Description="权重。多实例提供服务时,通过权重系数调节客户端调用各实例服务的比例" />
<Column Name="Scope" DataType="String" Description="作用域。根据配置中心应用规则计算,禁止跨域访问服务" />
<Column Name="Tag" DataType="String" Description="标签。带有指定特性,逗号分隔" />
<Column Name="CheckTimes" DataType="Int32" Description="监测次数。健康监测次数" />
<Column Name="Healthy" DataType="Boolean" Description="健康。无需健康监测,或监测后服务可用" />
<Column Name="LastCheck" DataType="DateTime" Description="监测时间。最后一次监测时间,一段时间监测失败后禁用" />
<Column Name="CheckResult" DataType="String" Length="2000" Description="监测结果。检测结果,错误信息等" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="AppId" />
<Index Columns="ServiceId" />
<Index Columns="UpdateTime" />
</Indexes>
</Table>
<Table Name="AppConsume" Description="应用消费。应用消费的服务">
<Columns>
<Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
<Column Name="AppId" DataType="Int32" Description="应用。提供服务的应用程序" />
<Column Name="ServiceId" DataType="Int32" Description="服务" />
<Column Name="ServiceName" DataType="String" Description="服务名" />
<Column Name="Client" DataType="String" Description="客户端。由该应用实例提供服务,IP加端口" />
<Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
<Column Name="Enable" DataType="Boolean" Description="启用" />
<Column Name="PingCount" DataType="Int32" Description="心跳。应用程序定期向注册中心更新服务状态" />
<Column Name="MinVersion" DataType="String" Description="最低版本。要求返回大于等于该版本的服务提供者" />
<Column Name="Scope" DataType="String" Description="作用域。根据配置中心应用规则计算,禁止跨域访问服务" />
<Column Name="Tag" DataType="String" Description="标签。带有指定特性,逗号分隔" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
<Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="AppId" />
<Index Columns="ServiceId" />
<Index Columns="UpdateTime" />
</Indexes>
</Table>
<Table Name="AppClientLog" Description="应用日志" ConnName="StardustData">
<Columns>
<Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
<Column Name="AppId" DataType="Int32" Master="True" Description="应用" />
<Column Name="ClientId" DataType="String" Master="True" Description="客户端" />
<Column Name="Time" DataType="String" Description="时间" />
<Column Name="ThreadId" DataType="String" Description="线程" />
<Column Name="Kind" DataType="String" Description="类型" />
<Column Name="Name" DataType="String" Description="名称" />
<Column Name="Message" DataType="String" Length="-1" Description="内容" />
<Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
<Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
</Columns>
<Indexes>
<Index Columns="AppId,ClientId,ThreadId,Id" />
<Index Columns="AppId,Id" />
</Indexes>
</Table>
</Tables>
</EntityModel>
|