Nhảy đến nội dung chính

TRANG 4: Chi tiết Cơ sở dữ liệu vận hành (Core Schema)

Hệ thống yêu cầu các bảng dữ liệu sau trong ESB_DB để có thể vận hành các tính năng nâng cao:

4.1. Quản lý trạng thái Khóa (sync_lock)

Bảng này cực kỳ quan trọng để đảm bảo tính duy nhất của các tiến trình đồng bộ (Task).

  • Cấu trúc SQL:
  • CREATE TABLE `sync_lock` (
      `lock_key` varchar(50) NOT NULL COMMENT 'Mã khóa duy nhất của Task',
      `is_locked` tinyint(1) DEFAULT '0' COMMENT '1: Đang bận, 0: Sẵn sàng',
      `locked_at` datetime DEFAULT NULL COMMENT 'Thời điểm bắt đầu chạy',
      PRIMARY KEY (`lock_key`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    

4.2. Quản lý Lập lịch Task động (job_schedule)

Cho phép Admin cấu hình lịch chạy mà không cần sửa code WSO2.

  • Cấu trúc SQL:
CREATE TABLE `job_schedule` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `service_code` varchar(100) NOT NULL COMMENT 'Mã nghiệp vụ (Vd: DM_TTHC)',
  `cron_expression` varchar(50) NOT NULL COMMENT 'Ví dụ: 0 0 * * * ? (Chạy mỗi giờ)',
  `sequence_name` varchar(100) NOT NULL COMMENT 'Tên Sequence xử lý chính',
  `sync_endpoint_path` text COMMENT 'URL API đích',
  `last_run` datetime DEFAULT NULL COMMENT 'Lần chạy thành công cuối cùng',
  `status` tinyint(1) DEFAULT '1' COMMENT '1: Kích hoạt, 0: Tái kích hoạt',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

4.3. Quản lý Nhật ký truy cập (api_logs)

  • Cấu trúc SQL:
CREATE TABLE `api_logs` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `api_name` varchar(100) DEFAULT NULL,
  `request_time` datetime DEFAULT NULL,
  `log_level` varchar(20) DEFAULT NULL,
  `message` text DEFAULT NULL,
  `serviceCode` varchar(100) DEFAULT NULL,
  `systemCode` varchar(100) DEFAULT NULL,
  `headers` text DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;