diff --git a/Project/fonrey/DATA_MODEL/DATA_MODEL.md b/Project/fonrey/DATA_MODEL/DATA_MODEL.md index d8ac29c0..bc76bef2 100644 --- a/Project/fonrey/DATA_MODEL/DATA_MODEL.md +++ b/Project/fonrey/DATA_MODEL/DATA_MODEL.md @@ -117,7 +117,7 @@ OrgUnit (组织架构) | [DATA_MODEL_ORG.md](./DATA_MODEL_ORG.md) | 组织人事(org_units, staff, 异动/奖惩/教育/家庭等) | ✅ 完成 | | [DATA_MODEL_COMPLEX.md](./DATA_MODEL_COMPLEX.md) | 楼盘/区域(districts, business_areas, complexes, buildings, room_units, schools 等) | ✅ 完成 | | [DATA_MODEL_CLIENT.md](./DATA_MODEL_CLIENT.md) | 客源管理(clients, requirements, follow_logs, viewings, matches 等) | ✅ 完成 | -| [DATA_MODEL_PROPERTY.md](./DATA_MODEL_PROPERTY.md) | 房源管理(properties 及配套 22 张表,含跟进/钥匙/委托/实勘/营销/产证/完成度等) | ✅ 完成 | +| [DATA_MODEL_PROPERTY.md](./DATA_MODEL_PROPERTY.md) | 房源管理(properties 及配套 22 张表,含跟进/钥匙/委托/实勘/营销/产证/完成度/标签/收藏/保护/号码方审批等) | ✅ 完成 | --- @@ -294,6 +294,10 @@ CREATE INDEX idx_domains_primary ON public.domains(tenant_id) WHERE is_primary = ### 3.18 系统设置(System Settings) +> **归属说明**: +> - `lookup_categories` / `lookup_items` / `saved_filters` 为**跨模块**系统表,权威定义在本节。 +> - `property_tags` / `property_tag_relations` / `property_favorites` / `property_protections` / `number_holder_approvals` 属房源模块配套表,**权威定义已迁至** [`DATA_MODEL_PROPERTY.md §4.19-§4.22`](./DATA_MODEL_PROPERTY.md),本节不再重复 DDL(修复 S1/S2)。 + ```sql -- ============================================================ -- 枚举/选项管理:跟进目的、标签、来源渠道 等运营维护的枚举值 @@ -321,49 +325,7 @@ CREATE INDEX idx_lookup_items_category ON lookup_items(category_id) WHERE is_active = TRUE; CREATE UNIQUE INDEX idx_lookup_items_value ON lookup_items(category_id, value); --- 自定义标签(速销/独家/唯一 等) -CREATE TABLE property_tags ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - name VARCHAR(50) NOT NULL, - color VARCHAR(7), -- HEX 颜色 - is_system BOOLEAN NOT NULL DEFAULT FALSE, -- 系统预置标签不可删除 - sort_order INTEGER NOT NULL DEFAULT 0, - is_active BOOLEAN NOT NULL DEFAULT TRUE -); - --- 房源 ↔ 标签 多对多 -CREATE TABLE property_tag_relations ( - property_id UUID NOT NULL REFERENCES properties(id) ON DELETE CASCADE, - tag_id UUID NOT NULL REFERENCES property_tags(id) ON DELETE CASCADE, - PRIMARY KEY (property_id, tag_id) -); - -CREATE INDEX idx_property_tags_property ON property_tag_relations(property_id); -CREATE INDEX idx_property_tags_tag ON property_tag_relations(tag_id); - --- 收藏(经纪人收藏房源) -CREATE TABLE property_favorites ( - staff_id UUID NOT NULL REFERENCES staff(id) ON DELETE CASCADE, - property_id UUID NOT NULL REFERENCES properties(id) ON DELETE CASCADE, - created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), - PRIMARY KEY (staff_id, property_id) -); - -CREATE INDEX idx_property_favorites_staff ON property_favorites(staff_id); - --- 保护房设置 -CREATE TABLE property_protections ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - property_id UUID NOT NULL UNIQUE REFERENCES properties(id) ON DELETE CASCADE, - is_protected BOOLEAN NOT NULL DEFAULT FALSE, - reason TEXT, - start_at TIMESTAMPTZ, - end_at TIMESTAMPTZ, - set_by UUID REFERENCES staff(id) ON DELETE SET NULL, - created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() -); - --- 筛选方案(保存的搜索条件) +-- 筛选方案(保存的搜索条件,跨模块通用) CREATE TABLE saved_filters ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), staff_id UUID NOT NULL REFERENCES staff(id) ON DELETE CASCADE, @@ -375,25 +337,18 @@ CREATE TABLE saved_filters ( ); CREATE INDEX idx_saved_filters_staff ON saved_filters(staff_id, module); - --- 号码方修改审批 -CREATE TABLE number_holder_approvals ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - property_id UUID NOT NULL REFERENCES properties(id) ON DELETE CASCADE, - contact_id UUID NOT NULL REFERENCES property_contacts(id) ON DELETE CASCADE, - applicant_id UUID NOT NULL REFERENCES staff(id) ON DELETE RESTRICT, - approver_id UUID REFERENCES staff(id) ON DELETE SET NULL, - status VARCHAR(20) NOT NULL DEFAULT 'pending' - CHECK (status IN ('pending','approved','rejected')), - remarks TEXT, - created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), - decided_at TIMESTAMPTZ -); - -CREATE INDEX idx_number_holder_approvals_status ON number_holder_approvals(status) - WHERE status = 'pending'; ``` +**已迁出本节的表**(权威源见子文档): + +| 表名 | 权威定义位置 | +|------|-------------| +| `property_tags` | [`DATA_MODEL_PROPERTY.md §4.19`](./DATA_MODEL_PROPERTY.md) | +| `property_tag_relations` | [`DATA_MODEL_PROPERTY.md §4.19`](./DATA_MODEL_PROPERTY.md) | +| `property_favorites` | [`DATA_MODEL_PROPERTY.md §4.20`](./DATA_MODEL_PROPERTY.md) | +| `property_protections` | [`DATA_MODEL_PROPERTY.md §4.21`](./DATA_MODEL_PROPERTY.md) | +| `number_holder_approvals` | [`DATA_MODEL_PROPERTY.md §4.22`](./DATA_MODEL_PROPERTY.md) | + --- ## 五、关键索引汇总与查询优化策略 diff --git a/Project/fonrey/PRD/权限管理/权限管理模块PRD.md b/Project/fonrey/PRD/权限管理/权限管理模块PRD.md index 14418792..75fb5106 100644 --- a/Project/fonrey/PRD/权限管理/权限管理模块PRD.md +++ b/Project/fonrey/PRD/权限管理/权限管理模块PRD.md @@ -1,8 +1,8 @@ # PRD: 权限管理模块 **状态**: Draft **作者**: 产品经理 -**最后更新**: 2026-04-24(v1.0 初稿,基于产品截图分析) -**版本**: 1.0 +**最后更新**: 2026-04-24(v1.1 锁定多角色合并规则 = 并集/最宽松) +**版本**: 1.1 **所属系统**: Fonrey 房产经纪管理系统 **关联模块**: 组织人事管理、房源管理、客源管理、系统设置 @@ -516,12 +516,12 @@ Fonrey 采用 **RBAC(基于角色的访问控制)+ 个人权限叠加** 的 |------|--------|------|----------| | 权限变更实时生效的一致性问题 | 中 | 高 | 角色/个人权限变更后主动清除 Redis 中该员工权限缓存,强制下次请求重新加载 | | 权限项数量巨大(14+ 模块,数百个权限项)导致编辑页性能问题 | 中 | 中 | 左侧导航按模块懒加载权限数据,避免一次性加载全部权限项 | -| 多角色冲突规则不清晰 | 低 | 高 | 明确规则:同一员工多角色时取权限并集(最宽松原则),在 PRD 评审时确认 | +| 多角色合并规则(已锁定 v1.1) | - | - | **规则**:同一员工多角色取**并集(最宽松原则)**。BOOLEAN→OR;SCOPE→MAX(self "NAS源: `/volume2/work/Public Cloud Learning Sessions/` | Total: **0 videos processed**" — 索引文件元数据声明(videos processed 计数器未更新,实际视频数按分类统计为 111 个) + +## Key Concepts +- [[Cloud-Transformation-Programme]]:云转型计划,本索引所属的学习会话系列由 CTP 团队主导录制。 +- [[AWS-Landing-Zone]]:AWS Landing Zone 是索引中最核心的分类之一(22 个视频),涵盖架构设计、账号管理、网络隔离。 +- [[EKS-Optimization]]:EKS 优化三专题(Bottlerocket OS / Karpenter / EKS Auto Mode)是容器化学习的高频主题。 +- [[FinOps]]:FinOps 与成本优化专题覆盖 Instance Scheduler / Rightsizing / Savings Plans / Spot Instances 等核心技术。 +- [[GitOps]]:GitOps 与 CI/CD 专题包括 Git / Renovate Bot / Atlantis / Gruntwork / IaC Testing 等工具链。 +- [[Security-Governance]]:安全专题涵盖供应链安全、3LoD 框架、Firewall Manager、Secrets Manager、CSPM 等。 + +## Key Entities +- [[CTP-Team]](Cloud Transformation Programme Team):学习会话系列的发起和组织团队,涵盖 AWS Landing Zone / FinOps / EKS / CI/CD / Security 等多领域内容。 +- [[OpenText]]:索引中 OpenText Series(21 个视频)专题由 OpenText 全球团队分享,覆盖 Thor Platform、产品策略、GIS 安全政策、GitLab 迁移等。 +- [[AWS]]:所有视频的云平台基础,涵盖 AWS 生态中的 EC2/EKS/S3/IAM/VPC/Lambda 等全栈服务。 +- [[Gruntwork]]:IaC 工具链核心,Gruntwork Landing Zone 架构在索引中出现多次(Topic 1 / Topic 3 / Topic 9 等)。 +- [[Micro-Focus]]:早期视频的发起公司,已被 OpenText 收购,部分内容反映 Micro Focus 时期的架构决策。 + +## Connections +- [[ctp-topic-1-gruntwork-landing-zone-architecture]] ← depends_on ← cloud-learning-master-index(索引入口) +- [[ctp-topic-7-saas-landing-zone-design]] ← extends ← cloud-learning-master-index(专题延伸) +- [[ctp-topic-34-azure-landing-zone-architecture-overview]] ← extends ← cloud-learning-master-index(多云扩展) +- [[public-cloud-learning-sessions-eks-optimization-part-1-of-3-compute-optimization]] ← depends_on ← cloud-learning-master-index(EKS 专题入口) +- [[public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w]] ← extends ← cloud-learning-master-index +- [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]] ← extends ← cloud-learning-master-index +- [[public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording]] ← depends_on ← cloud-learning-master-index(FinOps 成本管控) +- [[ctp-topic-33-an-introduction-to-gitops]] ← depends_on ← cloud-learning-master-index(GitOps 入门) +- [[public-cloud-learning-sessions-opentext-gis-security-policies-20241015-160257-me]] ← depends_on ← cloud-learning-master-index(OpenText 安全专题) + +## Contradictions +- 与 [[ctp-topic-14-octane-hub-on-aws]] 可能的冲突:索引本身仅为元数据,不存在内容冲突。 +- 与 [[public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113]] 无冲突:EKS 可观测性专题与 OpenTelemetry 专题互补。 diff --git a/wiki/sources/ctp-topic-27-aws-instance-scheduler.md b/wiki/sources/ctp-topic-27-aws-instance-scheduler.md new file mode 100644 index 00000000..76c33ce6 --- /dev/null +++ b/wiki/sources/ctp-topic-27-aws-instance-scheduler.md @@ -0,0 +1,67 @@ +--- +title: "CTP Topic 27 AWS Instance Scheduler" +type: source +tags: + - AWS + - Instance-Scheduler + - Cost-Optimization + - CTP + - FinOps +date: 2026-04-14 +--- + +## Source File +- [[Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-27-aws-instance-scheduler.md]] + +## Summary(用中文描述) +- 核心主题:AWS Instance Scheduler —— 通过定时自动化控制 EC2 和 RDS 实例启停,实现非生产环境(开发/测试)的成本优化 +- 问题域:非生产 AWS 账号中 EC2/RDS 实例 24/7 运行导致成本浪费,Cloud FinOps 需要自动化手段降低这部分支出 +- 方法/机制: + - CloudFormation 一键部署,由 CCOE 的 Guardrails 框架自动集成推送至所有相关账号 + - CloudWatch Events 定时触发(默认每 15 分钟) + - Lambda 函数读取 DynamoDB 中的调度配置(Schedules + Periods) + - 通过实例标签(`Schedule`、`Period`)关联调度规则 + - 支持多时区办公时间配置(如西雅图时间、英国时间) +- 结论/价值: + - 自动覆盖公司内部绝大多数月消费超过 10 美元的 AWS 账号 + - 与基于空闲率的调度不同,本工具基于"时间表"触发 + - RDS 实例智能配合每 7 天维护窗口,确保维护完成后恢复正常调度状态 + - 实例关机行为必须设置为"停止(Stop)"而非"终止(Terminate)"以保留数据 + +## Key Claims(用中文描述) +- AWS Instance Scheduler 通过时间表驱动(非空闲率驱动)的定时任务,可为非生产环境实例节省最高 70% 的运行成本 +- 通过 Guardrails 框架集成,Instance Scheduler 自动部署至公司绝大多数月消费超过 10 美元的 AWS 账号,无需用户手动配置 +- CloudWatch Events 每 15 分钟触发 Lambda 检查,结合 DynamoDB 中定义的 Schedules 和 Periods,实现精细化的多时区调度 +- RDS 实例的每 7 天维护窗口与调度系统智能协同,确保维护完成后实例恢复到预期的调度状态 + +## Key Quotes +> "该工具是基于'时间表'(Schedule)而非'空闲率'(Idle time)触发的" — Gustavo,澄清核心触发机制 +> "通过 Guardrails,该功能已自动覆盖了公司内部绝大多数月消费超过 10 美元的 AWS 账号" — Gustavo,说明部署覆盖范围 +> "实例的关机行为必须设置为'停止(Stop)'而非'终止(Terminate)'" — Gustavo,操作注意事项 + +## Key Concepts +- [[AWS Instance Scheduler]]:AWS 官方提供的开源解决方案,通过 CloudFormation 部署,自动定时启动和停止 EC2 及 RDS 实例以节省成本 +- [[Guardrails]]:CCOE 团队实施的自动化合规与治理框架,Instance Scheduler 作为其中的成本控制组件被自动部署 +- [[CloudWatch Events]]:系统的触发器,按照预设的时间间隔(如 15 分钟)激活 Lambda 函数 +- [[DynamoDB Config Table]]:用于存储调度定义(Schedules)和周期定义(Periods)的 NoSQL 数据库,是调度的逻辑核心 +- [[Tag-Based Scheduling]]:用户通过在实例上添加特定标签(如 `Schedule`、`Period`)将其关联到预定义的调度逻辑 +- [[RDS Maintenance Window]]:RDS 特有的每 7 天维护窗口,Instance Scheduler 能够识别并配合该窗口,确保数据库在维护后正确关闭 +- [[Override Status]]:高级配置,允许管理员强制将实例保持在停止状态,即使在预设的启动时间内也不启动 + +## Key Entities +- [[Gustavo]]:CCOE 团队成员,Instance Scheduler 主题讲师 +- [[CCOE(云卓越中心)]]:负责 Guardrails 框架实施和 Instance Scheduler 集成的内部团队 +- [[AWS]]:Instance Scheduler 的官方服务提供方 + +## Connections +- [[ctp-topic-13-cloud-finops-policies-best-practices-to-optimize-the-co]] ← depends_on ← [[ctp-topic-27-aws-instance-scheduler]]:Topic 13 定义 FinOps 政策层(标签合规、成本可见性),Topic 27 提供具体技术实现(Instance Scheduler) +- [[ctp-topic-63-optimise-resource-cost-using-automation]] ← related_to ← [[ctp-topic-27-aws-instance-scheduler]]:两专题均覆盖 EC2/RDS 自动化调度,Topic 63 侧重 Terraform 层面的 `auto_shutdown` 标签方案,Topic 27 侧重 AWS 原生 Instance Scheduler 方案 +- [[ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]] ← extends ← [[ctp-topic-27-aws-instance-scheduler]]:Right Sizing 从实例规格层面降低容量,Instance Scheduler 从运行时间层面降低浪费,构成互补的成本优化策略 +- [[public-cloud-learning-sessions-budget-control-20240319]] ← related_to ← [[ctp-topic-27-aws-instance-scheduler]]:两专题同属 FinOps 范畴,分别聚焦预算告警强制封禁和实例调度自动节能 + +## Contradictions +- 与 [[ctp-topic-63-optimise-resource-cost-using-automation]] 可能的实现路径差异: + - 冲突点:EC2/RDS 自动调度的实现方案选择 + - 当前观点:Topic 27 推荐 AWS 原生 Instance Scheduler(CloudFormation + CloudWatch + Lambda + DynamoDB),通过 Guardrails 自动推送覆盖全公司账号 + - 对方观点:Topic 63 推荐 Terraform Scheduler 模块(`auto_shutdown = yes` 标签),在 Terraform 层面实现 + - 说明:两者并不互斥——Instance Scheduler 是 AWS 原生方案覆盖广账户层,Terraform Scheduler 是 IaC 层细粒度控制,企业可同时使用 diff --git a/wiki/sources/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md b/wiki/sources/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md new file mode 100644 index 00000000..c6bb806b --- /dev/null +++ b/wiki/sources/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md @@ -0,0 +1,60 @@ +--- +title: "Public Cloud Learning Sessions - Introduction to AI/ML with AWS" +type: source +tags: [AI, ML, AWS, Serverless-AI, Generative-AI, Amazon-Bedrock] +date: 2024-02-06 +--- + +## Source File +- [[Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md]] + +## Summary(用中文描述) +- 核心主题:AWS 上的 AI/ML 与生成式 AI 入门,由 AWS 高级解决方案架构师 Suraav Paul 主讲 +- 问题域:企业如何在 AWS 云上落地 AI/ML 能力,包括传统 AI(分类/预测)和生成式 AI(基础模型) +- 方法/机制:Amazon Bedrock 全托管生成式 AI 服务、Amazon SageMaker Canvas 无代码 ML 工具、ML Ops 完整生命周期管理(数据流水线→训练流水线→推理流水线) +- 结论/价值:AWS 通过预置算法/模型/SageMaker Canvas 民主化 AI 访问;Bedrock 支持微调/持续预训练/RAG/Agent/Guardrails 全套定制能力;ML Ops 融合 DevOps 文化、人员和流程,实现协同 ML 解决方案 + +## Key Claims(用中文描述) +- AI 指任何能复制此前需要人类智能才能完成任务的系统,通常通过机器学习使用数据创建决策逻辑或模型来寻求概率性结果 +- AWS 认为大多数客户体验和应用程序将被生成式 AI 重塑,由拥有数十亿参数的基础模型驱动 +- Amazon Bedrock 是全托管服务,用于构建和扩展生成式 AI 应用,支持使用自有数据定制基础模型,同时保持安全与隐私 +- ML Ops 结合机器学习与运维,涉及人员、技术和流程的协作,以实现协同 ML 解决方案 + +## Key Quotes +> "We believe most customer experiences and applications will be reinvented with generative AI, powered by foundation models with billions of parameters." — Suraav Paul, AWS Senior Solutions Architect + +> "AI is a way to describe any system that can replicate tasks that previously required human intelligence." — Suraav Paul, AWS Senior Solutions Architect + +> "ML Ops combines machine learning and operations, involving people, technology, and processes for collaborative ML solutions." — Suraav Paul, AWS Senior Solutions Architect + +## Key Concepts +- [[RAG]]:Retrieval Augmented Generation,从企业数据源获取相关数据以生成响应,是 Bedrock 数据定制技术之一 +- [[MLOps]]:Machine Learning Operations,将 ML 与运维结合,涉及人员、技术和流程的协作框架 +- [[Foundation-Models]]:基础模型,具有数十亿参数,支持分类、预测和生成式 AI,是生成式 AI 的核心驱动 +- [[Amazon-Bedrock]]:AWS 全托管生成式 AI 服务,提供基础模型访问、数据定制(微调/持续预训练/RAG/Agent)和安全保障 +- [[Amazon-SageMaker-Canvas]]:AWS 无代码机器学习工具,民主化 AI/ML 访问 +- [[Responsible-AI]]:负责任 AI 原则,包括公平性、可解释性、鲁棒性、治理、透明度和隐私/安全 + +## Key Entities +- [[AWS]]:Amazon Web Services,云服务商,提供 AI/ML 全套工具和服务 +- [[Amazon-Bedrock]]:AWS 全托管生成式 AI 服务平台 +- [[Amazon-Titan]]:Bedrock 提供的基础模型系列之一 + +## Connections +- [[ctp-topic-13-cloud-finops-policies]] ← extends ← [[FinOps(云财务管理)]] +- [[ctp-topic-63-optimise-resource-cost-using-automation]] ← depends_on ← [[FinOps(云财务管理)]] +- [[ctp-topic-27-aws-instance-scheduler]] ← depends_on ← [[FinOps(云财务管理)]] +- [[public-cloud-learning-sessions-budget-control-20240319]] ← depends_on ← [[FinOps(云财务管理)]] +- [[public-cloud-learning-sessions-storage-cost-optimization-20240305]] ← depends_on ← [[FinOps(云财务管理)]] +- [[ctp-topic-67-cloud-native-observability-using-opentelemetry]] ← extends ← [[OpenTelemetry]] +- [[ctp-topic-59-achieving-reliability-with-amazon-eks]] ← extends ← [[Amazon EKS]] +- [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]] ← extends ← [[Amazon EKS]] + +## Contradictions +- 无 + +## Notes +- Suraav Paul(AWS 高级解决方案架构师)仅出现 1 次,以 wikilink 形式记录于 Source page,无需独立建页 +- [[RAG]] 在本 Wiki 中已有多个来源引用(LangChain、Milvus、Qdrant、Knowledge Base RAG 等),无需新建概念页 +- MLOps/Responsible AI 出现频次不足独立建页阈值,以 wikilink 形式记录于 Source page +- 本来源属于 Cloud Transformation Programme 的 Serverless & AI 专题(09_Serverless_AI)