## Tổng quan nghiên cứu

Trong vòng 5 năm trở lại đây, thương mại điện tử (TMĐT) tại Việt Nam đã có sự phát triển vượt bậc với gần 100% doanh nghiệp tổ chức triển khai ứng dụng TMĐT ở nhiều quy mô khác nhau. Theo báo cáo của Bộ Công Thương năm 2015, giá trị mua hàng trực tuyến bình quân một người đạt khoảng 160 USD, với doanh số TMĐT B2C lên tới 4,07 tỷ USD. Số lượng website TMĐT đăng ký chính thức cũng tăng nhanh, với gần 9.490 website trong năm 2015, trong đó các trang B2C chiếm ưu thế nhưng các trang C2C như chotot.vn đang phát triển mạnh mẽ, phản ánh xu hướng tiêu dùng thông minh và tiết kiệm hơn.

Tuy nhiên, việc thu thập dữ liệu từ các trang TMĐT để phục vụ phân tích thị trường còn gặp nhiều khó khăn do các chính sách chống thu thập dữ liệu (anti-crawling) và khối lượng dữ liệu lớn, đa dạng. Mục tiêu nghiên cứu của luận văn là phát triển một hệ thống thu thập và lưu trữ dữ liệu TMĐT dạng NoSQL, sử dụng công nghệ MongoDB để lưu trữ dữ liệu phi cấu trúc, đồng thời xây dựng công cụ thu thập dữ liệu mô phỏng hành vi người dùng nhằm vượt qua các cơ chế chống thu thập dữ liệu.

Phạm vi nghiên cứu tập trung vào các website TMĐT tại Việt Nam trong giai đoạn 2013-2017, với trọng tâm là các trang C2C và B2C phổ biến. Ý nghĩa của nghiên cứu không chỉ giúp doanh nghiệp nâng cao hiệu quả phân tích thị trường mà còn hỗ trợ các cơ quan quản lý nhà nước trong việc đánh giá và phát triển TMĐT bền vững.

## Cơ sở lý thuyết và phương pháp nghiên cứu

### Khung lý thuyết áp dụng

Luận văn dựa trên các lý thuyết và mô hình sau:

- **Lý thuyết thu thập dữ liệu web (Web Crawling):** Bao gồm các phương pháp thu thập dữ liệu từ HTML, JavaScript, và API của website, phân loại website thành ba loại dựa trên cách thức hiển thị dữ liệu (loại I, II, III).
- **Mô hình chống thu thập dữ liệu (Anti-Crawling):** Các kỹ thuật như Blacklist, Graylist, White list, phân tích lưu lượng dữ liệu, phân tích URL, và sử dụng honeypots để phát hiện và ngăn chặn thu thập dữ liệu tự động.
- **Khái niệm Big Data và hệ quản trị NoSQL:** Đặc biệt là MongoDB với khả năng lưu trữ dữ liệu phi cấu trúc, hỗ trợ mở rộng theo chiều ngang và hiệu năng cao trong xử lý dữ liệu lớn.
- **Mô hình phân phối tác vụ với RabbitMQ:** Sử dụng message broker để phân phối và quản lý các tác vụ thu thập dữ liệu song song, đảm bảo hiệu quả và ổn định hệ thống.
- **Framework xử lý dữ liệu Apache Spark:** Tăng tốc xử lý và phân tích dữ liệu lớn trên cluster, phù hợp với các ứng dụng học máy và phân tích thời gian thực.

### Phương pháp nghiên cứu

Nguồn dữ liệu chính là các website TMĐT phổ biến tại Việt Nam, đặc biệt là các trang C2C như chotot.vn và các trang B2C. Cỡ mẫu nghiên cứu bao gồm hàng trăm nghìn mẫu tin quảng cáo được thu thập trong giai đoạn 2013-2017.

Phương pháp phân tích sử dụng kết hợp:

- **Phân tích định tính:** Nghiên cứu các kỹ thuật thu thập dữ liệu, chống thu thập dữ liệu, và các thư viện hỗ trợ như Jsoup, HTMLUnit, PhantomJS.
- **Phân tích định lượng:** Đánh giá hiệu quả hệ thống thu thập qua các chỉ số như tốc độ thu thập, tỷ lệ dữ liệu hợp lệ, khả năng vượt qua các cơ chế chống thu thập.
- **Thiết kế và triển khai hệ thống:** Phân tích, thiết kế kiến trúc hệ thống thu thập dữ liệu dạng NoSQL, cài đặt MongoDB, sử dụng RabbitMQ để phân phối tác vụ, và kiểm thử thực tế trên các website TMĐT.

Timeline nghiên cứu kéo dài từ tháng 7/2017 đến tháng 12/2017, bao gồm các giai đoạn: khảo sát thị trường, nghiên cứu lý thuyết, thiết kế hệ thống, triển khai và kiểm thử, đánh giá kết quả.

## Kết quả nghiên cứu và thảo luận

### Những phát hiện chính

- **Hiệu quả thu thập dữ liệu:** Hệ thống thu thập dữ liệu dạng NoSQL với MongoDB cho phép lưu trữ linh hoạt các dữ liệu phi cấu trúc, xử lý hàng trăm nghìn mẫu tin quảng cáo mỗi ngày với tỷ lệ dữ liệu hợp lệ trên 95%.
- **Khả năng vượt qua anti-crawling:** Công cụ giả lập hành vi người dùng dựa trên thư viện PhantomJS và HTMLUnit giúp giảm thiểu việc bị chặn IP, với tỷ lệ phát hiện và chặn giảm khoảng 30% so với các công cụ thu thập truyền thống.
- **Phân phối tác vụ hiệu quả:** Sử dụng RabbitMQ để phân phối các tác vụ thu thập song song giúp tăng tốc độ thu thập lên gấp 3 lần so với phương pháp tuần tự.
- **Xử lý và phân tích dữ liệu lớn:** Áp dụng Apache Spark trên cluster YARN giúp xử lý dữ liệu thu thập nhanh hơn 100 lần so với MapReduce truyền thống, hỗ trợ phân tích thời gian thực và học máy.

### Thảo luận kết quả

Nguyên nhân của hiệu quả trên là do việc kết hợp các công nghệ hiện đại như MongoDB cho lưu trữ NoSQL, RabbitMQ cho phân phối tác vụ, và PhantomJS để giả lập trình duyệt, giúp hệ thống thu thập dữ liệu gần giống hành vi người dùng thật, từ đó tránh bị các hệ thống chống thu thập phát hiện. So với các nghiên cứu trước đây chỉ tập trung vào thu thập dữ liệu từ sitemap hoặc API, hệ thống này có khả năng thu thập dữ liệu chi tiết và đa dạng hơn.

Kết quả có thể được trình bày qua biểu đồ so sánh tốc độ thu thập dữ liệu giữa các phương pháp, bảng thống kê tỷ lệ dữ liệu hợp lệ và biểu đồ thể hiện tỷ lệ chặn IP giảm theo thời gian sử dụng công cụ giả lập hành vi.

Ý nghĩa của nghiên cứu là tạo nền tảng cho các doanh nghiệp và tổ chức chính phủ trong việc thu thập và phân tích dữ liệu TMĐT một cách hiệu quả, từ đó nâng cao năng lực cạnh tranh và quản lý thị trường.

## Đề xuất và khuyến nghị

- **Phát triển thêm các thuật toán giả lập hành vi người dùng:** Tăng cường khả năng mô phỏng đa dạng hành vi duyệt web để giảm thiểu tối đa việc bị phát hiện, hướng tới tỷ lệ chặn IP dưới 10% trong vòng 12 tháng tới, do nhóm phát triển hệ thống thực hiện.
- **Mở rộng hệ thống phân phối tác vụ:** Tích hợp thêm các message broker khác như Kafka để nâng cao khả năng mở rộng và độ ổn định, nhằm tăng tốc độ thu thập dữ liệu lên 5 lần trong 6 tháng tiếp theo, do bộ phận kỹ thuật chịu trách nhiệm.
- **Tích hợp công cụ phân tích dữ liệu nâng cao:** Áp dụng các thuật toán học máy để phân tích xu hướng thị trường TMĐT từ dữ liệu thu thập, giúp doanh nghiệp dự báo chính xác hơn, triển khai trong vòng 1 năm, do phòng nghiên cứu và phát triển đảm nhiệm.
- **Xây dựng giao diện trực quan cho người dùng cuối:** Phát triển dashboard trực quan giúp người dùng dễ dàng truy cập, phân tích và báo cáo dữ liệu TMĐT, hoàn thành trong 9 tháng, do nhóm phát triển phần mềm thực hiện.
- **Tăng cường bảo mật và tuân thủ pháp luật:** Đảm bảo hệ thống thu thập dữ liệu tuân thủ các quy định về bảo vệ dữ liệu cá nhân và quyền riêng tư, phối hợp với các cơ quan quản lý để cập nhật chính sách, thực hiện liên tục.

## Đối tượng nên tham khảo luận văn

- **Doanh nghiệp TMĐT:** Giúp nâng cao hiệu quả thu thập và phân tích dữ liệu thị trường, từ đó tối ưu chiến lược kinh doanh và cạnh tranh.
- **Các nhà nghiên cứu và sinh viên ngành Hệ thống thông tin quản lý:** Cung cấp kiến thức thực tiễn về xây dựng hệ thống thu thập dữ liệu NoSQL và các kỹ thuật chống thu thập dữ liệu.
- **Cơ quan quản lý nhà nước:** Hỗ trợ đánh giá chính xác tình hình TMĐT, xây dựng chính sách phát triển bền vững dựa trên dữ liệu thực tế.
- **Các công ty phát triển phần mềm và công nghệ:** Tham khảo mô hình kiến trúc hệ thống, công nghệ sử dụng và các giải pháp kỹ thuật để phát triển các sản phẩm tương tự.

## Câu hỏi thường gặp

1. **Hệ thống thu thập dữ liệu này có thể áp dụng cho các lĩnh vực khác ngoài TMĐT không?**  
Có, với khả năng lưu trữ dữ liệu phi cấu trúc và xử lý dữ liệu lớn, hệ thống có thể được tùy chỉnh để thu thập dữ liệu trong nhiều lĩnh vực như y tế, giáo dục, tài chính.

2. **Làm thế nào để hệ thống vượt qua các cơ chế chống thu thập dữ liệu của website?**  
Hệ thống sử dụng công cụ giả lập hành vi người dùng như PhantomJS, HTMLUnit để mô phỏng trình duyệt thật, kết hợp thay đổi IP qua proxy và xử lý CAPTCHA yếu, giúp giảm thiểu bị phát hiện.

3. **MongoDB có ưu điểm gì so với các cơ sở dữ liệu quan hệ truyền thống?**  
MongoDB linh hoạt trong lưu trữ dữ liệu phi cấu trúc, không cần định nghĩa schema trước, hỗ trợ mở rộng theo chiều ngang và hiệu năng cao khi xử lý dữ liệu lớn.

4. **Phân phối tác vụ với RabbitMQ giúp gì cho hệ thống?**  
RabbitMQ cho phép phân phối các tác vụ thu thập dữ liệu song song, tăng tốc độ xử lý, đảm bảo tính ổn định và khả năng mở rộng của hệ thống.

5. **Hệ thống có thể xử lý dữ liệu thời gian thực không?**  
Có, nhờ sử dụng Apache Spark trên cluster YARN, hệ thống có thể xử lý và phân tích dữ liệu gần như thời gian thực, hỗ trợ các ứng dụng học máy và báo cáo nhanh.

## Kết luận

- Đã phát triển thành công hệ thống thu thập và lưu trữ dữ liệu TMĐT dạng NoSQL với MongoDB, đáp ứng nhu cầu lưu trữ dữ liệu phi cấu trúc lớn.  
- Công cụ thu thập dữ liệu mô phỏng hành vi người dùng giúp vượt qua các cơ chế chống thu thập, nâng cao hiệu quả thu thập.  
- Phân phối tác vụ với RabbitMQ và xử lý dữ liệu bằng Apache Spark giúp tăng tốc độ và hiệu năng hệ thống đáng kể.  
- Nghiên cứu góp phần hỗ trợ doanh nghiệp và cơ quan quản lý trong việc phân tích và phát triển thị trường TMĐT.  
- Đề xuất các hướng phát triển tiếp theo bao gồm mở rộng tính năng, nâng cao bảo mật và phát triển giao diện người dùng trực quan.

Hành động tiếp theo là triển khai các giải pháp đề xuất, mở rộng hệ thống và ứng dụng trong thực tế để nâng cao giá trị nghiên cứu. Độc giả và các nhà nghiên cứu được khuyến khích áp dụng và phát triển thêm dựa trên nền tảng này.