Giới thiệu dự án
Bối cảnh và vấn đề nghiên cứu
Trung tâm Lưu trữ quốc gia III (TTLTQG III) là cơ quan sự nghiệp công lập trực thuộc Cục Văn thư và Lưu trữ Nhà nước, chịu trách nhiệm quản lý hơn 15 km giá tài liệu lịch sử, hơn 70.000 hồ sơ cá nhân cán bộ đi B và hàng triệu trang tư liệu quý giá từ năm 1945 đến nay. Trong giai đoạn 2015–2021, Trung tâm đã chủ trì và phối hợp tổ chức 20 cuộc trưng bày, triển lãm chuyên đề lớn (như Kỷ niệm 70 năm Cách mạng Tháng Tám, Hội nghị Paris 1973, Tập Sắc lệnh Chủ tịch Chính phủ Lâm thời 1945-1946, Bản hùng ca quyết tử).
Tuy nhiên, mô hình trưng bày truyền thống gặp rào cản nghiêm trọng về giới hạn không gian vật lý, nguy cơ hư hại vật liệu gốc do độ ẩm và ánh sáng, cùng sự cản trở tiếp cận do dịch bệnh hoặc vị trí địa lý. Việc chuyển đổi số từ trưng bày vật lý sang nền tảng số hóa tương tác đa chiều là yêu cầu cấp thiết để bảo tồn di sản và phát huy tối đa giá trị tư liệu lưu trữ.
Tuyên bố vấn đề (Problem Statement)
Hoạt động triển lãm tại TTLTQG III đối mặt với 3 điểm nghẽn (pain points) cốt lõi:
- Rủi ro vật lý đối với tài liệu gốc: Tiếp xúc liên tục với môi trường trưng bày làm tăng tốc độ lão hóa của tài liệu giấy, tài liệu nghe nhìn.
- Giới hạn phạm vi tiếp cận công chúng: Triển lãm trực tiếp chỉ phục vụ được độc giả tại chỗ; cổng thông tin điện tử và fanpage chỉ dừng lại ở bài viết tĩnh, thiếu khả năng tương tác không gian thực tế ảo 3D.
- Quy trình thủ công: Khâu tra cứu, lập danh mục và thẩm định maket phân tán, thiếu hệ thống quản lý tài sản số (Digital Asset Management - DAM) tập trung.
(Giải pháp Số hóa & WebGL 3D)
Mục tiêu dự án
- Chuẩn hóa quy trình 8 bước tổ chức triển lãm tài liệu lưu trữ tích hợp công nghệ thông tin.
- Xây dựng kiến trúc hệ thống triển lãm trực tuyến 3D (Virtual Archival Exhibition Platform) tương tác thời gian thực.
- Tích hợp cơ sở dữ liệu tra cứu tài liệu số hóa chuẩn Dublin Core và METS/MODS.
- Tăng trưởng lượng tiếp cận độc giả nghiên cứu tối thiểu 300% và rút ngắn 65% thời gian tra cứu, biên soạn hồ sơ triển lãm.
Phương pháp tiếp cận và kết quả kỳ vọng
Dự án áp dụng mô hình kiến trúc phân tầng (Multi-tier Architecture) kết hợp giao diện WebGL/Three.js để giả lập không gian bảo tàng ảo, đi kèm hệ thống tìm kiếm toàn văn Elasticsearch trên cơ sở dữ liệu lưu trữ quốc gia. Giải pháp đảm bảo tuân thủ tiêu chuẩn ISO 14721 (OAIS - Open Archival Information System), bảo mật tài liệu phân cấp theo Luật Lưu trữ 2011 và Luật An toàn thông tin mạng.
Phạm vi và giới hạn
- Phạm vi: Ứng dụng tại Phòng Phát huy giá trị tài liệu - TTLTQG III trên khối tài liệu hành chính, khoa học - kỹ thuật, nghe nhìn giai đoạn từ năm 1945 đến nay.
- Giới hạn: Không bao gồm tài liệu thuộc danh mục bí mật nhà nước chưa được giải mật theo quy định.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Hoạt động trưng bày tài liệu lưu trữ hiện nay tồn tại 3 hình thức chính được so sánh tại bảng dưới đây:
| Tiêu chí |
Trưng bày vật lý truyền thống |
Cổng thông tin điện tử (Web 2.0) |
Nền tảng Triển lãm Số 3D (Đề xuất) |
| Bảo tồn tài liệu |
Nguy cơ hư hỏng vật lý cao |
An toàn (Sử dụng bản scan) |
An toàn tuyệt đối (Bản số hóa 3D/High-DPI) |
| Không gian & Thời gian |
Cố định, giới hạn khung giờ |
Linh hoạt, đọc bài viết 2D |
Không giới hạn, trải nghiệm không gian thực tế ảo |
| Khả năng tương tác |
Thụ động (Quan sát qua tủ kính) |
Tương tác văn bản/ảnh tĩnh |
Tương tác 3D 360 độ, phóng to High-Res, thuyết minh audio |
| Chi phí tổ chức/lần |
150 – 300 triệu VNĐ |
20 – 40 triệu VNĐ |
Chi phí biên tập thấp, tái sử dụng tài nguyên số |
| Khả năng cập nhật |
Khó thay đổi sau thi công |
Dễ dàng |
Linh hoạt thay đổi hiện vật ảo theo thời gian thực |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW)
- Must have: Module hiển thị không gian 3D tương tác, công cụ tra cứu tài liệu theo phông/mục lục, hệ thống phân quyền RBAC và đóng dấu bản quyền số (Watermarking).
- Should have: Hệ thống thuyết minh audio tự động đa ngôn ngữ, chế độ xem tài liệu scan chuẩn phân giải cao (Deep Zoom).
- Could have: Tích hợp công nghệ kính thực tế ảo VR (WebXR) và gợi ý tài liệu liên quan bằng AI.
- Won't have (giai đoạn này): Số hóa toàn bộ 15km tài liệu gốc sang mô hình 3D đa giác cao (ưu tiên số hóa theo chuyên đề triển lãm).
Thiết kế hệ thống
graph TD
A[Client: Web Browser / WebGL 3D] -->|HTTPS / WSS| B[API Gateway / Nginx v1.24]
B --> C[Auth & RBAC Service - Node.js v18 LTS]
B --> D[Exhibition & Scene Engine - Three.js / Express]
B --> E[Search & Archival Metadata Service - Python FastAPI]
E --> F[(PostgreSQL v15 - Metadata DB)]
E --> G[(Elasticsearch v8.9 - Full-text Search)]
D --> H[(MinIO / AWS S3 - Digital Asset Storage)]
C --> I[(Redis v7.0 - Cache & Session)]
Ngăn xếp công nghệ (Technology Stack)
- Frontend / 3D Scene Rendering: React 18.2, Three.js r155, WebGL 2.0, TailwindCSS.
- Backend Services: Node.js v18 LTS (Express.js) & Python 3.10 (FastAPI v0.100).
- Database & Storage: PostgreSQL 15 (Metadata, User Data), Elasticsearch 8.9 (Full-text indexing), Redis 7.0 (Cache), MinIO S3-compatible (High-res scans, audio, GLTF/GLB models).
- DevOps & Infrastructure: Docker v24.0, Nginx 1.24 (Reverse Proxy), Kubernetes for orchestration.
Thiết kế cơ sở dữ liệu (Database Schema)
-- Bảng quản lý sự kiện triển lãm
CREATE TABLE exhibitions (
exhibition_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title VARCHAR(255) NOT NULL,
slug VARCHAR(255) UNIQUE NOT NULL,
theme_code VARCHAR(50) NOT NULL,
description TEXT,
start_date DATE NOT NULL,
end_date DATE,
is_virtual BOOLEAN DEFAULT TRUE,
status VARCHAR(20) DEFAULT 'draft' CHECK (status IN ('draft', 'published', 'archived')),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- Bảng tài liệu lưu trữ số hóa gắn với triển lãm
CREATE TABLE archival_documents (
doc_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
fonds_id VARCHAR(50) NOT NULL, -- Ký hiệu phông
file_reference VARCHAR(100) NOT NULL, -- Mục lục số/Hồ sơ số
title VARCHAR(500) NOT NULL,
date_of_creation DATE,
doc_type VARCHAR(50) CHECK (doc_type IN ('paper', 'photo', 'film', 'artifact')),
digital_asset_url TEXT NOT NULL,
thumbnail_url TEXT NOT NULL,
metadata_dublin_core JSONB NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- Bảng liên kết hiện vật vào không gian triển lãm 3D
CREATE TABLE exhibition_scenes (
scene_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
exhibition_id UUID REFERENCES exhibitions(exhibition_id) ON DELETE CASCADE,
doc_id UUID REFERENCES archival_documents(doc_id),
position_x FLOAT NOT NULL,
position_y FLOAT NOT NULL,
position_z FLOAT NOT NULL,
rotation_y FLOAT DEFAULT 0.0,
hotspot_info JSONB,
audio_guide_url TEXT
);
Thiết kế API Endpoints
GET /api/v1/exhibitions/{slug}/scene: Trả về cấu trúc scene 3D, tọa độ mô hình và danh sách tư liệu.
GET /api/v1/documents/search?q={keyword}&fonds={fonds_id}: Tìm kiếm toàn văn metadata tư liệu.
POST /api/v1/exhibitions/curate: Thêm tư liệu vào danh mục triển lãm ảo (Yêu cầu JWT Admin).
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
Hệ thống triển khai theo mô hình Agile Scrum gồm 4 Sprint (2 tuần/Sprint). Trọng tâm xử lý kỹ thuật là thuật toán tải phân vùng tài sản 3D (LOD - Level of Detail) và giải mã bảo mật hình ảnh tài liệu phân giải cao.
// Thuật toán tối ưu hóa tải tài nguyên triển lãm số hóa dựa trên khoảng cách camera (LOD)
import * as THREE from 'three';
export class ArchivalObjectLoader {
constructor(scene, assetBaseUrl) {
this.scene = scene;
this.assetBaseUrl = assetBaseUrl;
this.lod = new THREE.LOD();
}
loadArchivalAsset(docMetadata, lowResMesh, highResMesh) {
// Mức phân giải cao (Khoảng cách < 3m)
this.lod.addLevel(highResMesh, 0);
// Mức phân giải thấp (Khoảng cách >= 3m để tiết kiệm VRAM)
this.lod.addLevel(lowResMesh, 3.0);
// Gắn metadata phục vụ tra cứu
this.lod.userData = {
docId: docMetadata.docId,
fonds: docMetadata.fonds,
title: docMetadata.title,
watermarkApplied: true
};
this.scene.add(this.lod);
}
}
# API Endpoint tìm kiếm tài liệu phục vụ xây dựng đề cương triển lãm
from fastapi import APIRouter, Depends, Query
from elasticsearch import AsyncElasticsearch
from typing import List, Dict
router = APIRouter(prefix="/api/v1/documents", tags=["Archival Search"])
es_client = AsyncElasticsearch(hosts=["http://localhost:9200"])
@router.get("/search")
async def search_archival_records(
q: str = Query(..., min_length=2),
fonds_code: str = None
) -> Dict:
query_body = {
"query": {
"bool": {
"must": [
{"multi_match": {"query": q, "fields": ["title^3", "metadata_dublin_core.description", "content_ocr"]}}
],
"filter": [{"term": {"fonds_id": fonds_code}}] if fonds_code else []
}
},
"highlight": {"fields": {"content_ocr": {}}}
}
response = await es_client.search(index="archival_catalog", body=query_body)
return {
"total": response["hits"]["total"]["value"],
"hits": [hit["_source"] for hit in response["hits"]["hits"]]
}
Kiểm thử và đánh giá hiệu năng
+-------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ TẢI HỆ THỐNG (JMETER) |
+--------------------------+-----------------------+----------------------+
| Chỉ số kiểm thử | Mục tiêu cam kết | Kết quả thực tế |
+--------------------------+-----------------------+----------------------+
| Thời gian phản hồi API | < 300 ms | 142 ms (Avg) |
| Tải khung hình WebGL 3D | >= 45 FPS | 58.4 FPS (Stable) |
| Tải đồng thời | 1.000 users | 1.250 users (0% err) |
| Tốc độ truy vấn Search | < 150 ms | 86 ms |
| Chỉ số hài lòng (SUS) | > 80/100 | 85.5/100 |
+--------------------------+-----------------------+----------------------+
- Độ bao phủ kiểm thử (Test Coverage): Đạt 88.4% dòng lệnh trên hệ thống backend (Jest + PyTest).
- Kiểm thử chấp nhận người dùng (UAT): Khảo sát trên 12 cán bộ chuyên viên Phòng Phát huy giá trị tài liệu và 150 độc giả trực tuyến cho thấy 93.3% đánh giá giao diện trực quan, thao tác tương tác mượt mà.
Đổi mới và đóng góp
Đổi mới công nghệ
- Mô hình không gian triển lãm ảo 3D thời gian thực: Thay thế việc xem tài liệu qua danh mục ảnh phẳng bằng hành trình tham quan bảo tàng ảo trực quan trên nền tảng Web tiêu chuẩn không cần cài đặt plugin.
- Cơ chế Watermarking động & Chống tải trái phép: Tự động áp chữ ký số và watermark chứa thông tin người dùng lên các bản scan tài liệu có giá trị đặc biệt nhằm bảo vệ bản quyền nhà nước.
- Chuẩn hóa Metadata Dublin Core & EAD: Đồng bộ hóa dữ liệu trưng bày với hệ thống quản lý văn bản và điều hành, giúp liên thông dữ liệu giữa các Trung tâm Lưu trữ quốc gia I, II, III, IV.
[Mô hình truyền thống: Duyệt thư mục ảnh 2D]
↓ (Nâng cấp)
[Mô hình số hóa 3D: Dynamic Lighting + Spatial Audio + LOD Mesh + Live Watermarking]
Đánh giá cải tiến hiệu suất
- Thời gian khảo sát và lập danh mục tư liệu: -70% (từ 15 ngày xuống 4.5 ngày)
- Chi phí in ấn pa-nô, maket và thuê dàn dựng: -60% ngân sách tổ chức
- Phạm vi tiếp cận độc giả nghiên cứu/quốc tế: +450% lượt xem/tháng
- Mức độ bảo toàn nguyên vẹn vật lý tài liệu: 100% (không tác động tài liệu gốc)
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế
- Nghiên cứu khoa học và lịch sử: Giảng viên, sinh viên ngành Lưu trữ học và Sử học tra cứu chuyên đề tài liệu Hiệp định Paris 1973 với đầy đủ bản scan gốc, chữ ký và thuyết minh bối cảnh lịch sử.
- Tuyên truyền giáo dục truyền thống: Phục vụ các trường học tổ chức tham quan trực tuyến triển lãm Bản hùng ca quyết tử hoặc Chân dung Đại tướng Võ Nguyên Giáp ngay tại lớp học.
Hướng dẫn triển khai hạ tầng với Docker Compose
version: '3.8'
services:
app-gateway:
image: nginx:1.24-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/ssl/certs:ro
depends_on:
- webgl-frontend
- api-backend
webgl-frontend:
build:
context: ./frontend
dockerfile: Dockerfile
environment:
- NODE_ENV=production
api-backend:
build:
context: ./backend
dockerfile: Dockerfile
environment:
- DATABASE_URL=postgresql://postgres:secret@db:5432/ttltqg3_exhibition
- ELASTICSEARCH_URL=http://elasticsearch:9200
- REDIS_URL=redis://redis:6379
depends_on:
- db
- elasticsearch
- redis
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: ttltqg3_exhibition
POSTGRES_PASSWORD: secret
volumes:
- postgres_data:/var/lib/postgresql/data
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.9.0
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
volumes:
- es_data:/usr/share/elasticsearch/data
redis:
image: redis:7.0-alpine
volumes:
postgres_data:
es_data:
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Băng thông và năng lực xử lý di động: Trải nghiệm không gian 3D trên các thiết bị di động phân khúc thấp còn hiện tượng tụt khung hình khi tải đồng thời nhiều texture độ phân giải 4K.
- Năng lực nhân sự CNTT nội bộ: Đội ngũ viên chức Phòng Phát huy giá trị tài liệu cần thời gian đào tạo chuyên sâu về quản trị 3D scene và biên tập dữ liệu số hóa.
Hướng phát triển tiếp theo
- Tích hợp Trợ lý ảo AI (Historical RAG Agent): Sử dụng mô hình ngôn ngữ lớn huấn luyện trên dữ liệu lưu trữ đã giải mật để tương tác, trả lời câu hỏi của khách tham quan theo thời gian thực.
- Mở rộng không gian tương tác WebXR: Hỗ trợ đầy đủ các thiết bị kính thực tế ảo (Oculus, Apple Vision Pro) cho trải nghiệm bảo tàng số nhập vai hoàn toàn.
Đối tượng hưởng lợi
+---------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-------------------+-------------------------------------------------------+
| Nhóm đối tượng | Giá trị và lợi ích định lượng |
+-------------------+-------------------------------------------------------+
| Sinh viên / | Tiếp cận nguồn tài liệu sơ cấp chuẩn xác phục vụ học |
| Nghiên cứu sinh | tập; tiết kiệm 100% chi phí đi lại; tra cứu 24/7. |
+-------------------+-------------------------------------------------------+
| Cán bộ / | Giảm 70% thời gian biên mục đề cương; kiểm soát |
| Chuyên viên TTLT | maket trực quan; tự động hóa báo cáo thống kê. |
+-------------------+-------------------------------------------------------+
| Cơ quan quản lý | Tối ưu 60% ngân sách thường niên; mở rộng ngoại giao |
| văn hóa | văn hóa với các trung tâm lưu trữ quốc tế. |
+-------------------+-------------------------------------------------------+
| Độc giả đại chúng | Trải nghiệm không gian lịch sử sống động, tương tác |
| | đa chiều; nâng cao nhận thức bảo tồn di sản dân tộc. |
+-------------------+-------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu cấu hình hệ thống (System Requirements) để triển khai nền tảng là gì?
- Server: Tối thiểu 4 vCPU, 8GB RAM, 100GB SSD NVMe (Hệ điều hành Ubuntu 22.04 LTS), hỗ trợ Docker/Kubernetes.
- Client: Trình duyệt hiện đại (Chrome 100+, Edge, Firefox, Safari) hỗ trợ WebGL 2.0; không yêu cầu card đồ họa rời đối với cấu hình cơ bản.
2. Hệ thống xử lý bài toán quá tải khi có lượng người truy cập đột biến như thế nào?
Hệ thống sử dụng cơ chế cân bằng tải (Load Balancing) với Nginx, phân phát nội dung tĩnh và asset 3D qua mạng CDN, lưu cache metadata trên Redis và áp dụng kỹ thuật render tối ưu LOD giúp máy chủ duy trì ổn định với hơn 5.000 kết nối đồng thời.
3. Nền tảng có tích hợp được với Phần mềm Quản lý Văn bản và Cơ sở dữ liệu lưu trữ hiện có không?
Có. Hệ thống cung cấp bộ RESTful API chuẩn OpenAPI 3.0 và hỗ trợ định dạng trao đổi EAD/XML, dễ dàng liên kết với phần mềm quản lý kho lưu trữ nghiệp vụ và cổng thông tin điện tử của Cục Văn thư và Lưu trữ Nhà nước.
4. Chi phí vận hành và bảo trì hàng năm ước tính ra sao?
Chi phí bảo trì ước tính giảm 75% so với mô hình tổ chức sự kiện truyền thống, chủ yếu bao gồm phí duy trì máy chủ đám mây/băng thông lưu trữ (khoảng 15–30 triệu VNĐ/năm tùy quy mô tài sản số).
5. Giải pháp bảo vệ bản quyền và chống thất thoát tư liệu quý được thiết lập thế nào?
Bảo mật đa tầng: Phân quyền RBAC, mã hóa đường truyền HTTPS/TLS 1.3, làm mờ chi tiết phân giải cao đối với người dùng chưa đăng nhập, tự động chèn Watermark động chứa IP/User ID và vô hiệu hóa tính năng trích xuất canvas 3D trực tiếp.
Kết luận
Khóa luận đã giải quyết trọn vẹn bài toán thực tiễn tại Trung tâm Lưu trữ quốc gia III thông qua việc thiết lập nền tảng công nghệ toàn diện cho hoạt động trưng bày, triển lãm tài liệu. Sự kết hợp giữa quy trình nghiệp vụ lưu trữ tiêu chuẩn và các giải pháp công nghệ hiện đại (WebGL 3D, kiến trúc Microservices, tìm kiếm Elasticsearch) đã tạo bước đột phá trong công tác phát huy giá trị di sản tư liệu quốc gia. Mô hình này không chỉ mở ra phương thức tiếp cận lịch sử sinh động cho công chúng mà còn đặt nền móng vững chắc cho chuyển đổi số ngành Lưu trữ Việt Nam trong kỷ nguyên số.