1. Bussiness | Logic
Search Tool
  • Tổng quan
  • Bussiness | Logic
    • Nghiệp vụ & Luồng Tìm kiếm
    • Task Orchestration
    • Scraping & Execution
    • Exception & Recovery
    • Proxy Orchestration
  • Project
    • Search API
      • Tổng quan Search API
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Go - Auth
          • Đăng nhập
          • Đăng ký (Public)
        • Go - User
          • Danh sách User (Phân trang)
          • Tạo User
          • Lấy tất cả User
          • Profile cá nhân
          • Chi tiết User
          • Cập nhật User
          • Xóa User
          • Đổi mật khẩu
        • Go - System
          • Nhật ký hoạt động (Phân trang)
          • Cập nhật dữ liệu Search
          • Test Webhook receiver
        • Go - Server
          • Danh sách Server (Phân trang)
          • Tạo Server
          • Lấy tất cả Server
          • Chi tiết Server
          • Cập nhật Server
          • Xóa Server
        • Go - Tasks
          • Tạo nhiều task Search
          • Lấy tất cả task Search
          • Reset trạng thái tất cả nhiệm vụ Search
          • Tạo nhiều task Anchor Text
          • Lấy tất cả nhiệm vụ Anchor Text
          • Reset trạng thái tất cả nhiệm vụ Anchor Text
        • Go - Webhook
          • Webhook cập nhật trạng thái (Dùng WEBHOOK_KEY)
          • Lấy Proxy cho Tool
          • Lấy Proxy có thể rotate
          • Cập nhật kết quả Search
          • Kết quả rotate Proxy
          • Cập nhật kết quả Anchor Text
          • Nhận kết quả từ Tool (v2)
      • Deployment
        • Local
        • Staging
        • Product
    • Search tool
      • Tổng quan Search Tool
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Bun - Main
          • Thông tin server Bun
          • Health Check
          • Lấy file Log
        • Bun - Task
          • Danh sách Search Tasks
          • Tạo nhiều Search Tasks
          • Xóa tất cả Search Tasks
          • Xóa Search Task
          • Reset trạng thái Search
          • Reset running process
          • Danh sách Anchor Tasks
          • Tạo nhiều Anchor Tasks
          • Xóa tất cả Anchor Tasks
          • Xóa Anchor Task
          • Reset trạng thái Anchor
          • Reset running process
      • Deployment
        • Local
        • Staging
        • Product
  • Schemas
    • LoginRequest
    • ProxyRequest
    • CreateUserRequest
    • KeywordTaskRequest
    • UpdateUserRequest
    • SearchAutomationRequest
    • ChangePasswordRequest
    • CreateServerRequest
    • AnchorTextTaskRequest
  1. Bussiness | Logic

Task Orchestration

TASK ORCHESTRATION#

Tài liệu này đặc tả các quy tắc nghiệp vụ liên quan đến việc phân bổ, lên lịch và quản lý vòng đời của các yêu cầu tìm kiếm từ khóa trên hệ thống Master API.

1. Cơ chế Gom nhóm và Lên lịch (Scheduling & Batching)#

Hệ thống xử lý từ khóa thông qua cơ chế phân mảnh và gom lô để tối ưu khả năng tính toán của các máy chủ thực thi (Worker).
Định danh tác vụ độc lập: Một yêu cầu tìm kiếm từ người dùng sẽ được phân tách thành các tác vụ (Task) riêng biệt dựa trên tổ hợp ba yếu tố: [Từ khóa] x [Công cụ tìm kiếm] x [Nền tảng thiết bị].
Kích hoạt tự động (Cron-based Trigger): Master API thực thi tiến trình quét định kỳ. Tiến trình này truy xuất toàn bộ danh mục từ khóa đang ở trạng thái kích hoạt (status=1) từ MongoDB, khởi tạo các bản ghi tác vụ và nạp vào hàng đợi trung gian keyword_pool_tasks.

2. Chiến lược Tối ưu hóa Dữ liệu (Caching Strategy)#

Nhằm giảm thiểu việc sử dụng tài nguyên duyệt web dư thừa và tăng tốc độ trả kết quả, hệ thống áp dụng cơ chế đánh giá tính hữu dụng của dữ liệu thông qua Redis Cache.
Quy tắc bỏ qua quét (Skip-scan Rule): Khi một tác vụ được nạp vào hàng đợi, hệ thống tiến hành đối chiếu bộ định danh của nó với Redis.
Phản hồi tức thì: Nếu phát hiện kết quả truy vấn vẫn còn hiệu lực trong bộ nhớ đệm, Master API sẽ bỏ qua việc gửi lệnh xuống Worker. Nó trực tiếp kích hoạt Webhook, đóng gói dữ liệu từ Cache và gửi trả về hệ thống nguồn, đồng thời đánh dấu tác vụ đã hoàn tất.

3. Thuật toán Phân phối Tải (Weighted Distribution)#

Việc phân bổ tác vụ từ hàng đợi xuống các máy chủ thực thi (Worker Servers) tuân thủ nghiêm ngặt nguyên tắc cân bằng tải và tính ưu tiên.
Đánh giá Trọng số (Priority Weighting): Mỗi Worker được gắn một mức độ ưu tiên trong cơ sở dữ liệu MySQL. Worker sở hữu cờ IsPriority=true sẽ được phân bổ tác vụ với tần suất cao hơn (Trọng số 5) so với Worker tiêu chuẩn (Trọng số 2).
Kiểm soát Tắc nghẽn (Concurrency Control): Master API liên tục đối chiếu tham số limit_process (giới hạn luồng cứng) với current_process (tác vụ đang xử lý) của từng Worker. Lệnh quét chỉ được phân phát nếu Worker xác nhận còn khoảng trống tài nguyên (Slot), ngăn chặn hiện tượng quá tải và sập tiến trình tại máy khách.
Ngày cập nhật 2026-03-30 10:52:00
Trước
Nghiệp vụ & Luồng Tìm kiếm
Tiếp theo
Scraping & Execution
Built with