# node-red-contrib-dfrules **Repository Path**: noodle-framework/node-red-contrib-dfrules ## Basic Information - **Project Name**: node-red-contrib-dfrules - **Description**: 东方数科规则引擎节点,提供强大的业务规则管理和执行能力。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node-red-contrib-dfrules > 东方数科规则引擎节点,提供强大的业务规则管理和执行能力。 ## 功能特性 DFRules 为 Node-RED 集成轻量级规则引擎,提供以下核心功能: - **可视化规则**:通过界面配置业务规则,无需编码 - **多规则支持**:支持复杂规则网络和规则链 - **实时执行**:高性能的规则匹配和执行引擎 - **规则版本**:完整的规则版本管理和回滚 - **性能监控**:规则执行性能监控和优化建议 ## 安装方法 bash 通过 npm 安装 npm install node-red-contrib-dfrules ## 快速开始 ### 简单规则配置 1. 拖动 `dfrules-engine` 节点到工作区 2. 通过界面添加规则条件和动作 3. 配置规则优先级和执行模式 4. 连接数据输入和输出节点 ### 业务规则示例 json [ { "id": "price-calculator", "type": "dfrules-business", "name": "价格计算规则", "rules": [ { "name": "VIP折扣规则", "conditions": "customer.level === 'vip' && order.amount > 1000", "actions": "order.discount = order.amount * 0.1" } ], "wires": [["result-output"]] } ] ## 核心功能 ### 规则定义语言 支持多种规则表达式: javascript ruleLanguage: { simple: { conditions: "data.temperature > 30 && data.humidity < 60", actions: "result.action = 'alert'" }, advanced: { conditions: [ { "all": [ {"fact": "temperature", "operator": "greaterThan", "value": 30}, {"fact": "humidity", "operator": "lessThan", "value": 60} ] } ] } } ### 规则执行策略 灵活的规则执行控制: javascript executionStrategy: { order: "priority", // priority, sequence priority: { enabled: true, range: [1, 1000] }, recursion: { enabled: false, depth: 10 } } ## 使用示例 ### 复杂规则网络 json [ { "id": "rule-network", "type": "dfrules-network", "name": "风控规则网络", "rules": [ { "id": "rule-1", "conditions": "transaction.amount > 10000", "actions": "risk.level = 'high'", "priority": 100 }, { "id": "rule-2", "conditions": "transaction.country !== 'CN'", "actions": "risk.score += 20", "priority": 90 } ], "wires": [["risk-assessor"]] } ] ### 规则流控制 json [ { "id": "rule-flow", "type": "dfrules-flow", "name": "订单审核流程", "stages": [ {"name": "初步审核", "rules": "basic-validation"}, {"name": "风险审核", "rules": "risk-assessment"}, {"name": "最终审核", "rules": "final-approval"} ], "wires": [["audit-logger"]] } ] ## 高级功能 ### 规则版本管理 完整的规则生命周期管理: javascript versionControl: { enabled: true, history: 50, autoBackup: true, rollback: { enabled: true, points: 10 } } ### 性能优化 智能规则优化技术: javascript optimization: { rete: { enabled: true, algorithm: "rete" }, caching: { enabled: true, ttl: 60000 }, indexing: { enabled: true, fields: ["customerId", "productId", "timestamp"] } } ## 最佳实践 ### 规则设计原则 1. **单一职责**:每个规则只负责一个明确的业务逻辑 2. **明确的优先级**:为规则设置合理的执行优先级 3. **可测试性**:确保规则易于测试和验证 4. **文档化**:为复杂规则提供详细的文档说明 ### 性能考虑 - 避免在规则条件中执行复杂计算 - 使用索引优化频繁访问的数据字段 - 定期评估和优化规则执行性能 ## 监控和分析 ### 规则执行统计 详细的规则执行监控: javascript statistics: { execution: { count: 0, averageTime: 0, successRate: 1.0 }, performance: { hits: 0, misses: 0, efficiency: 1.0 } } ### 业务洞察 基于规则执行的业务分析: javascript businessInsights: { trends: { enabled: true, period: 86400000 // 24小时 }, anomalies: { enabled: true, threshold: 0.1 } } ## 许可证 Apache-2.0 License © 2025 东方数科