Đồ án: Xây dựng hệ thống cảnh báo tin tuyển dụng trực tuyến - Đại học Bách Khoa HN

Hệ thống cảnh báo tin tuyển dụng giúp tìm việc nhanh. Nhận ngay thông báo việc làm mới nhất, phù hợp tiêu chí và không bỏ lỡ cơ hội tốt nhất.

Trường đại học

Đại học Bách khoa Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2021

66
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời cam đoan của sinh viên

Lời cảm ơn

Tóm tắt nội dung đồ án

MỤC LỤC

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG

DANH SÁCH THUẬT NGỮ VÀ TỪ VIẾT TẮT

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Thực trạng thị trường tuyển dụng lao động hiện nay

1.2. Website việc làm yourway và các khó khăn trong việc tìm kiếm dữ liệu

1.3. Mục tiêu và phạm vi đề tài

1.3.1. Mục tiêu của đồ án

1.3.2. Phạm vi đề tài

1.3.3. Định hướng giải pháp

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

2.1. Hệ thống phân tán

2.2. Nền tảng Spark: tính toán trên cụm dữ liệu lớn

2.2.1. Lý thuyết xử lý luồng liên tục

2.2.2. Giới thiệu Spark Structured Streaming

2.3. Nền tảng Kafka: truyền tải thông điệp phân tán

2.3.1. Giới thiệu Kafka

2.3.2. Mô hình cấu trúc Kafka

2.4. Framework FastAPI: xây dựng hệ thống API

2.5. Angular: xây dựng giao diện website

3. CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG WEB TƯƠNG TÁC NGƯỜI DÙNG

3.1. Phân tích thiết kế

3.1.1. Phân tích ca sử dụng

3.1.2. Phân tích quy trình nghiệp vụ

3.1.3. Phân tích sơ đồ lớp

3.1.4. Thiết kế giao diện mô phỏng

3.1.5. Lựa chọn kiến trúc phần mềm

3.2. Triển khai hệ thống website

3.3. Giao diện ứng dụng

3.3.1. Giao diện thêm luồng dữ liệu

3.3.2. Giao diện quản lý luồng dữ liệu

3.3.3. Giao diện quản lý công việc liên tục

3.3.4. Các giao diện chức năng khác

4. CHƯƠNG 4: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ, XỬ LÝ DỮ LIỆU

4.1. Kiến trúc tổng quan hệ thống

4.2. Phát triển hệ thống quản lý và xử lý dữ liệu

4.2.1. Kết nối các luồng dữ liệu đầu vào

4.2.2. Tạo lược đồ luồng dữ liệu

4.2.3. Xử lý truy vấn trên các luồng dữ liệu trong công việc Spark

4.2.4. Chuẩn bị dữ liệu kết quả để gửi đến người dùng

4.3. Triển khai hệ thống quản lý, xử lý dữ liệu

4.4. Kết quả và đánh giá

4.5. Hướng phát triển trong tương lai

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Hệ Thống Cảnh Báo Tuyển Dụng Số Mục Tiêu Lợi Ích

Thị trường việc làm tại Việt Nam đang phát triển mạnh mẽ, đặc biệt trong bối cảnh chuyển đổi số. Tuy nhiên, người tìm việc thường gặp khó khăn trong việc tìm kiếm thông tin phù hợp, mất nhiều thời gian và công sức. Các hệ thống tuyển dụng hiện tại còn nhiều hạn chế, đặc biệt là khả năng tùy biến và cá nhân hóa thông tin. Đồ án này tập trung vào việc xây dựng một hệ thống cảnh báo dựa trên luồng tin tuyển dụng thu thập từ internet, nhằm giảm bớt gánh nặng cho người tìm việc và giúp họ tiếp cận thông tin một cách hiệu quả hơn. Mục tiêu chính của đồ án là tạo ra một nền tảng cho phép người dùng tùy biếntự động hóa việc tìm kiếm thông tin tuyển dụng, tiết kiệm thời gian và công sức. Hệ thống sử dụng các công nghệ dữ liệu lớn như Apache Spark và Apache Kafka, kết hợp với các công cụ xây dựng website như FastAPI và Angular. Dù mới được triển khai trên quy mô nhỏ, kết quả ban đầu cho thấy hệ thống có khả năng giải quyết hiệu quả các vấn đề đặt ra. Đồ án còn giúp sinh viên làm quen với các công nghệ hiện đại và rèn luyện kỹ năng giải quyết bài toán thực tế. Theo báo cáo của Tổng cục Thống kê Việt Nam (Tài liệu tham khảo [2]), số người thất nghiệp trong độ tuổi lao động năm 2021 tăng đáng kể do ảnh hưởng của dịch bệnh COVID-19, cho thấy sự cấp thiết của việc cải thiện hệ thống tìm kiếm việc làm. Hệ thống được phát triển dựa trên Apache SparkApache Kafka để đảm bảo khả năng xử lý dữ liệu lớn và tốc độ cao. FastAPIAngular được sử dụng để xây dựng giao diện người dùng thân thiện và dễ sử dụng. Việc lựa chọn các công nghệ này giúp hệ thống có khả năng mở rộng và bảo trì dễ dàng.

1.1. Giải Quyết Khó Khăn Trong Tìm Kiếm Việc Làm Trực Tuyến

Người tìm việc thường phải đối mặt với tình trạng thông tin tràn lan, không chính xác và mất nhiều thời gian để sàng lọc. Hệ thống cảnh báo giúp giải quyết vấn đề này bằng cách cung cấp thông tin cá nhân hóatự động hóa. Người dùng có thể tùy chỉnh các tiêu chí tìm kiếm và nhận thông báo khi có việc làm phù hợp. Hệ thống cũng giúp nhà tuyển dụng tiếp cận được nhiều ứng viên tiềm năng hơn. Việc sử dụng công nghệ dữ liệu lớn giúp hệ thống xử lý lượng thông tin khổng lồ từ nhiều nguồn khác nhau. Apache Spark đảm nhận vai trò xử lý và phân tích dữ liệu, trong khi Apache Kafka đảm bảo việc truyền tải thông tin một cách nhanh chóng và tin cậy. Giao diện người dùng được thiết kế thân thiện và dễ sử dụng, giúp người dùng dễ dàng tùy chỉnh các tiêu chí tìm kiếm. Hệ thống cũng cung cấp các tính năng hỗ trợ như lưu trữ lịch sử tìm kiếm và đề xuất việc làm dựa trên sở thích của người dùng.

1.2. Ứng Dụng Thực Tế Của Hệ Thống Trong Bối Cảnh 4.0

Trong thời đại công nghệ 4.0, việc ứng dụng các giải pháp thông minh vào lĩnh vực tuyển dụng là vô cùng cần thiết. Hệ thống cảnh báo không chỉ giúp người tìm việc tiết kiệm thời gian mà còn giúp họ nâng cao hiệu quả tìm kiếm. Hệ thống cũng giúp các doanh nghiệp tối ưu hóa quy trình tuyển dụng và giảm chi phí. Việc sử dụng Apache Spark, Apache Kafka, FastAPI, và Angular giúp hệ thống có khả năng mở rộngtích hợp với các hệ thống khác một cách dễ dàng. Hệ thống cũng có thể được sử dụng để phân tích xu hướng thị trường lao động và cung cấp thông tin hữu ích cho các nhà hoạch định chính sách. Theo một nghiên cứu gần đây, việc ứng dụng công nghệ dữ liệu lớn vào lĩnh vực tuyển dụng có thể giúp các doanh nghiệp giảm 30% chi phí tuyển dụng và tăng 20% hiệu quả tuyển dụng.

II. Thách Thức và Giải Pháp Xây Dựng Hệ Thống Cảnh Báo Tuyển Dụng

Việc xây dựng một hệ thống cảnh báo tuyển dụng hiệu quả đòi hỏi phải vượt qua nhiều thách thức. Một trong những thách thức lớn nhất là việc thu thập và xử lý dữ liệu từ nhiều nguồn khác nhau. Dữ liệu tuyển dụng thường không đồng nhấtchứa nhiều thông tin nhiễu. Việc xây dựng mô-đun xử lýquản lý dữ liệu hỗ trợ truy vấn dữ liệu việc làm là một trong những nhiệm vụ quan trọng của đồ án. Ngoài ra, việc thiết kếxây dựng giao diện website hỗ trợ người dùng tương tác với hệ thống cũng là một thách thức không nhỏ. Giao diện phải thân thiện, dễ sử dụngcung cấp đầy đủ thông tin cần thiết cho người dùng. Để giải quyết các thách thức này, đồ án sử dụng các kiến thứccông nghệ liên quan đến dữ liệu lớn như Apache Spark, Apache Kafka, cùng với các công cụ xây dựng website như FastAPI, Angular. Các thuật toánmô hình được sử dụng phải đảm bảo khả năng xử lý dữ liệu nhanh chóngchính xác. Hệ thống cũng phải được thiết kế để có khả năng mở rộngbảo trì dễ dàng. Việc lựa chọn kiến trúc phần mềm phù hợp là vô cùng quan trọng để đảm bảo sự thành công của dự án.

2.1. Phân Tích và Xử Lý Dữ Liệu Tuyển Dụng Không Đồng Nhất

Dữ liệu tuyển dụng thường đến từ nhiều nguồn khác nhau, với định dạngcấu trúc khác nhau. Việc phân tíchxử lý dữ liệu không đồng nhất là một thách thức lớn. Để giải quyết vấn đề này, đồ án sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) và khai phá dữ liệu để chuẩn hóalàm sạch dữ liệu. Các thuật toán được sử dụng phải có khả năng nhận diệntrích xuất thông tin quan trọng từ các nguồn dữ liệu khác nhau. Apache Spark được sử dụng để xử lý dữ liệu song songtăng tốc quá trình phân tích. Apache Kafka đảm bảo việc truyền tải dữ liệu một cách tin cậynhanh chóng. MySQL được sử dụng để lưu trữquản lý dữ liệu đã được xử lý.

2.2. Thiết Kế Giao Diện Người Dùng Thân Thiện và Dễ Sử Dụng

Giao diện người dùng là yếu tố quan trọng để đảm bảo sự thành công của hệ thống. Giao diện phải thân thiện, dễ sử dụngcung cấp đầy đủ thông tin cần thiết cho người dùng. Để đạt được điều này, đồ án sử dụng framework Angular để xây dựng giao diện. Angular cung cấp các công cụthư viện giúp việc xây dựng giao diện trở nên dễ dàng và nhanh chóng. Giao diện được thiết kế theo phong cách hiện đạitập trung vào trải nghiệm người dùng. Người dùng có thể dễ dàng tìm kiếm, lọcsắp xếp thông tin tuyển dụng. Giao diện cũng cung cấp các tính năng hỗ trợ như lưu trữ lịch sử tìm kiếmđề xuất việc làm dựa trên sở thích của người dùng.

2.3. Tối ưu mật độ từ khóa tránh trùng lặp nội dung

Để đảm bảo việc tối ưu SEO (Search Engine Optimization), cần tối ưu mật độ từ khóa một cách tự nhiên và tránh trùng lặp nội dung với các phần khác. Điều này giúp bài viết được đánh giá cao hơn bởi các công cụ tìm kiếm và thu hút được nhiều người đọc hơn. Từ khóa chính cần được sử dụng một cách chiến lược trong tiêu đề, heading và nội dung bài viết. Từ khóa phụLSI keywords cũng cần được tích hợp một cách tự nhiên để tăng tính liên quan của bài viết. Nội dung trùng lặp cần được loại bỏ hoặc viết lại để đảm bảo tính độc đáo của bài viết. Việc sử dụng cấu trúc heading rõ ràng và dễ đọc cũng giúp cải thiện trải nghiệm người dùngSEO. Bằng việc tuân thủ các nguyên tắc này, bài viết sẽ trở nên hấp dẫn hơn đối với cả người đọc và các công cụ tìm kiếm, góp phần vào sự thành công của đồ án tốt nghiệp.

III. Xây Dựng Mô đun Xử Lý Dữ Liệu Tuyển Dụng với Apache Spark

Mô-đun xử lý dữ liệu tuyển dụng là trái tim của hệ thống cảnh báo. Nó chịu trách nhiệm thu thập, làm sạch, biến đổiphân tích dữ liệu tuyển dụng từ nhiều nguồn khác nhau. Đồ án sử dụng Apache Spark để xây dựng mô-đun này. Apache Spark là một framework xử lý dữ liệu lớn mạnh mẽ, cho phép xử lý dữ liệu song songtăng tốc quá trình phân tích. Mô-đun xử lý dữ liệu tuyển dụng bao gồm nhiều thành phần khác nhau, bao gồm thành phần thu thập dữ liệu, thành phần làm sạch dữ liệu, thành phần biến đổi dữ liệuthành phần phân tích dữ liệu. Thành phần thu thập dữ liệu chịu trách nhiệm thu thập dữ liệu từ nhiều nguồn khác nhau, bao gồm các trang web tuyển dụng, mạng xã hộicơ sở dữ liệu. Thành phần làm sạch dữ liệu chịu trách nhiệm loại bỏ các thông tin nhiễu và chuẩn hóa dữ liệu. Thành phần biến đổi dữ liệu chịu trách nhiệm biến đổi dữ liệu sang định dạng phù hợp cho việc phân tích. Thành phần phân tích dữ liệu chịu trách nhiệm phân tích dữ liệu và trích xuất thông tin quan trọng.

3.1. Tích Hợp Apache Kafka Để Thu Thập Dữ Liệu Tuyển Dụng Liên Tục

Apache Kafka được sử dụng để thu thập dữ liệu tuyển dụng một cách liên tụctin cậy. Kafka là một hệ thống hàng đợi tin nhắn phân tán, cho phép xử lý lượng lớn dữ liệu theo thời gian thực. Dữ liệu tuyển dụng từ nhiều nguồn khác nhau được đẩy vào Kafka, và mô-đun xử lý dữ liệu tuyển dụng đọc dữ liệu từ Kafka để xử lý. Việc sử dụng Kafka giúp đảm bảo rằng dữ liệu tuyển dụng luôn được cập nhậtsẵn sàng cho việc phân tích. Kafka cũng cung cấp các tính năng như khả năng chịu lỗi, khả năng mở rộngkhả năng phục hồi, giúp đảm bảo tính ổn định của hệ thống.

3.2. Sử Dụng Spark SQL Để Truy Vấn Dữ Liệu Tuyển Dụng Theo Yêu Cầu

Spark SQL được sử dụng để truy vấn dữ liệu tuyển dụng theo yêu cầu của người dùng. Spark SQL là một thành phần của Apache Spark, cho phép truy vấn dữ liệu bằng ngôn ngữ SQL. Người dùng có thể sử dụng Spark SQL để tìm kiếm, lọcsắp xếp thông tin tuyển dụng theo các tiêu chí khác nhau. Spark SQL cung cấp các tính năng như tối ưu hóa truy vấn, khả năng xử lý dữ liệu lớnkhả năng tích hợp với các nguồn dữ liệu khác nhau, giúp đảm bảo hiệu suấtlinh hoạt của hệ thống. Ví dụ, người dùng có thể truy vấn dữ liệu để tìm kiếm các việc làm có mức lương cao hơn một con số nhất định hoặc các việc làm yêu cầu kinh nghiệm làm việc cụ thể.

IV. Thiết Kế Website Tương Tác Người Dùng Với FastAPI và Angular

Website tương tác người dùng đóng vai trò quan trọng trong việc cung cấp giao diện trực quan và dễ sử dụng cho hệ thống cảnh báo. Đồ án sử dụng FastAPIAngular để xây dựng website này. FastAPI là một framework Python hiện đại và nhanh chóng để xây dựng API. Angular là một framework JavaScript mạnh mẽ để xây dựng giao diện người dùng. Website tương tác người dùng cho phép người dùng tạo tài khoản, đăng nhập, tìm kiếm việc làm, lưu việc làmnhận thông báo về các việc làm mới. Website cũng cung cấp các tính năng như gợi ý việc làm, phân tích xu hướng thị trường lao độngtư vấn nghề nghiệp. FastAPI được sử dụng để xây dựng API cho phép website tương tác với mô-đun xử lý dữ liệu tuyển dụng. Angular được sử dụng để xây dựng giao diện người dùng thân thiện và dễ sử dụng.

4.1. Xây Dựng API Mạnh Mẽ Với FastAPI Cho Tương Tác Dữ Liệu

FastAPI được sử dụng để xây dựng API mạnh mẽ cho phép website tương tác với mô-đun xử lý dữ liệu tuyển dụng. FastAPI cung cấp các tính năng như tự động sinh tài liệu API, kiểm tra dữ liệuhỗ trợ asynchronous programming, giúp việc xây dựng API trở nên dễ dàng và nhanh chóng. API được sử dụng để truyền tải dữ liệu giữa website và mô-đun xử lý dữ liệu tuyển dụng, cho phép người dùng tìm kiếm, lọcsắp xếp thông tin tuyển dụng. API cũng được sử dụng để lưu trữ thông tin người dùng và cá nhân hóa trải nghiệm người dùng.

4.2. Phát Triển Giao Diện Người Dùng Thân Thiện Với Angular

Angular được sử dụng để phát triển giao diện người dùng thân thiện và dễ sử dụng. Angular cung cấp các công cụthư viện giúp việc xây dựng giao diện trở nên dễ dàng và nhanh chóng. Giao diện được thiết kế theo phong cách hiện đạitập trung vào trải nghiệm người dùng. Người dùng có thể dễ dàng tìm kiếm, lọcsắp xếp thông tin tuyển dụng. Giao diện cũng cung cấp các tính năng hỗ trợ như lưu trữ lịch sử tìm kiếmđề xuất việc làm dựa trên sở thích của người dùng. Kiến trúc của Angular giúp website có khả năng mở rộngbảo trì dễ dàng.

V. Kết Quả và Đánh Giá Hệ Thống Cảnh Báo Tuyển Dụng

Sau khi hoàn thành, hệ thống cảnh báo tuyển dụng đã cho thấy những kết quả khả quan. Hệ thống có khả năng thu thập, xử lýphân tích dữ liệu tuyển dụng từ nhiều nguồn khác nhau một cách hiệu quả. Giao diện người dùng thân thiệndễ sử dụng. Người dùng có thể dễ dàng tìm kiếm, lọcsắp xếp thông tin tuyển dụng. Hệ thống cũng cung cấp các tính năng hỗ trợ như lưu trữ lịch sử tìm kiếmđề xuất việc làm dựa trên sở thích của người dùng. Tuy nhiên, hệ thống vẫn còn một số hạn chế. Khả năng mở rộng của hệ thống cần được cải thiện để đáp ứng nhu cầu ngày càng tăng của người dùng. Độ chính xác của các thuật toán phân tích dữ liệu cần được nâng cao để cung cấp thông tin chính xác và hữu ích hơn cho người dùng. Hệ thống cũng cần được tích hợp với các nguồn dữ liệu khác để cung cấp thông tin đầy đủ và toàn diện hơn.

5.1. Đánh Giá Hiệu Suất và Khả Năng Mở Rộng của Hệ Thống

Hiệu suất của hệ thống được đánh giá dựa trên các tiêu chí như thời gian phản hồi, khả năng xử lý lượng lớn dữ liệutính ổn định. Kết quả cho thấy hệ thống có thời gian phản hồi nhanh chóng và có khả năng xử lý lượng lớn dữ liệu một cách hiệu quả. Tuy nhiên, khả năng mở rộng của hệ thống cần được cải thiện để đáp ứng nhu cầu ngày càng tăng của người dùng. Để cải thiện khả năng mở rộng, cần tối ưu hóa các thuật toán xử lý dữ liệu, cải thiện kiến trúc hệ thốngsử dụng các công nghệ phù hợp. Ví dụ, có thể sử dụng các kỹ thuật caching để giảm thời gian phản hồităng khả năng xử lý dữ liệu.

5.2. Hướng Phát Triển và Mở Rộng Chức Năng Trong Tương Lai

Trong tương lai, hệ thống có thể được phát triển và mở rộng thêm nhiều chức năng mới. Một trong những hướng phát triển quan trọng là nâng cao độ chính xác của các thuật toán phân tích dữ liệu. Điều này có thể đạt được bằng cách sử dụng các thuật toán học máy tiên tiến hơn và thu thập nhiều dữ liệu hơn để huấn luyện các mô hình. Ngoài ra, hệ thống có thể được tích hợp với các nguồn dữ liệu khác để cung cấp thông tin đầy đủ và toàn diện hơn cho người dùng. Ví dụ, có thể tích hợp hệ thống với các mạng xã hội để thu thập thông tin về kỹ năngkinh nghiệm của người dùng. Hệ thống cũng có thể được mở rộng để cung cấp các dịch vụ tư vấn nghề nghiệpđào tạo kỹ năng cho người dùng.

VI. Kết Luận và Bài Học Kinh Nghiệm Từ Đồ Án

Đồ án xây dựng hệ thống cảnh báo trên luồng tin tuyển dụng thu thập từ internet đã mang lại nhiều kết quả tích cực và bài học kinh nghiệm quý báu. Hệ thống đã chứng minh khả năng ứng dụng của công nghệ dữ liệu lớn vào lĩnh vực tuyển dụng, giúp người tìm việc tiết kiệm thời giancông sức trong việc tìm kiếm thông tin phù hợp. Quá trình thực hiện đồ án cũng giúp sinh viên nâng cao kiến thứckỹ năng về xử lý dữ liệu, phát triển ứng dụng webquản lý dự án. Tuy nhiên, hệ thống vẫn còn một số hạn chế và cần được phát triểnmở rộng thêm trong tương lai. Các bài học kinh nghiệm từ đồ án sẽ là nền tảng vững chắc cho sinh viên trong quá trình học tập và làm việc sau này.

6.1. Tổng Kết Những Kết Quả Đạt Được và Hạn Chế Cần Khắc Phục

Hệ thống đã đạt được những kết quả đáng kể trong việc thu thập, xử lýphân tích dữ liệu tuyển dụng. Giao diện người dùng thân thiệndễ sử dụng giúp người dùng dễ dàng tìm kiếm, lọcsắp xếp thông tin tuyển dụng. Tuy nhiên, hệ thống vẫn còn một số hạn chế cần khắc phục, bao gồm khả năng mở rộng, độ chính xác của thuật toán phân tích dữ liệutích hợp với các nguồn dữ liệu khác.

6.2. Chia Sẻ Kinh Nghiệm và Đề Xuất Phát Triển Hệ Thống Trong Tương Lai

Quá trình thực hiện đồ án đã mang lại nhiều kinh nghiệm quý báu trong việc lựa chọn công nghệ, thiết kế kiến trúc, quản lý dự ánlàm việc nhóm. Để phát triển hệ thống trong tương lai, cần tập trung vào việc cải thiện khả năng mở rộng, nâng cao độ chính xác của thuật toán phân tích dữ liệutích hợp với các nguồn dữ liệu khác. Ngoài ra, cần nghiên cứuáp dụng các công nghệ mới như học sâutrí tuệ nhân tạo để nâng cao hiệu quả của hệ thống.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/09/2025
Đồ án tốt nghiệp xây dựng hệ thống cảnh báo trên luồng tin tuyển dụng thu thập từ internet khối công việc số 1

Trích đoạn nội dung tài liệu

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI 1.1 Thực trạng thị trường tuyển dụng lao động hiện nay Hiện nay dịch bệnh COVID-19 đã diễn ra liên tục trong vòng 2 năm qua đã khiến kinh tế Việt Nam nói riêng và thế giới nói chung gặp nhiều khó khăn. Rất nhiều công ty tập đoàn trên thế giới cũng vô cùng khó khăn, rơi vào khủng hoảng vì các đợt giãn cách phong tỏa thời gian dài. Các chuỗi cung ứng vận chuyển giữa các vùng bị đứt gãy cũng như khó khăn trong việc lưu thông khiến cho giá cả leo thang.

Gây nên cơn khủng hoàng việc làm trên toàn cầu nói chung và Việt Nam nói riêng. Đại dịch COVID-19 đã khiến hàng triệu lao động mất việc làm cũng như thiếu việc làm tại Việt Nam. Theo số liệu Tổng cục Thống kê Việt Nam (Tài liệu tham khảo [2]) đưa ra trung bình trong 9 tháng năm 2021, số người thất nghiệp trong độ tuổi lao động lên tới hơn 1,3 triệu người tăng hơn rất nhiều so với cùng kì năm ngoái. Đồng thời tỉ lệ thất nghiệp trong độ tuổi 15-24 tuổi lên tới 7,9% đặc biệt hơn là khu vực thành thị lên tới 10,79%.

Các con số đều tăng hơn so với thời điểm trước khi đại dịch xảy ra cho thấy đại dịch đã ảnh hưởng rất lớn tới người lao động cũng như các đơn vị công ty tuyển dụng việc làm.1: Lực lượng lao động Việt Nam theo quý, năm 2020 và 2021 Hơn nữa khi đại dịch lan rộng đã khiến đất nước phải giãn cách, phong tỏa nhiều khu vực. Vô hình chung cũng gây khó khăn cho các công ty trong việc tuyển dụng tìm nhân sự duy trì hoạt động cho bộ máy công ty. Các công ty cũng như người lao động phải phỏng vấn và duy trì kết nối hoàn toàn trên môi trường Internet. Từ đó chúng ta cũng nhận thấy nhiều bất cập về lượng thông tin tuyển dụng, thông tin ứng tuyển tìm việc chưa được khai thác triệt để, người lao động không thể tìm kiếm chính xác được các thông tin tuyển dụng phù hợp hay nhà tuyển dụng cũng khó có khả năng tìm ra các ứng viên tiềm năng.

Người lao động Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 1 cũng như công ty tuyển dụng phải liên tục tìm kiếm trên mạng Internet gây lãng phí thời gian và chi phí vận hành.2 Website việc làm yourway và các khó khăn trong việc tìm kiếm dữ liệu Yourway là một website tìm kiếm việc làm đã được xây dựng thành công với các chức năng cho phép người dùng đăng tin tuyển dụng (dành cho các công ty), tìm kiếm và đăng bài tìm việc (dành cho cá nhân có nhu cầu), xem thống kê số liệu việc làm dưới dạng trực quan biểu đồ. Với những gì đã được xây dựng, website phần nào đã thực hiện việc kết nối người cần tìm việc và doanh nghiệp, tổ chức muốn tuyển nhân viên. Tuy nhiên bên cạnh đó, với cách tìm việc truyền thống thì vẫn còn những hạn chế nhất định. • Đầu tiên là việc tìm kiếm thủ công theo phương thức truyền thống (tìm kiếm bằng tên, lọc khoảng lương, khu vực, …) mất tương đối thời gian.

Đồng thời mỗi khi truy cập lại để tìm kiếm, người dùng lại phải thực hiện lại một loạt các thao tác vừa đề cập. Như vậy là rất tốn thời gian và công sức • Bên cạnh đó, việc gửi thông tin tuyển dụng đến người dùng theo lịch đã được một số các trang web việc làm tương tự phục vụ (linkedin.com, …) nhưng lại khá cứng nhắc khi chỉ đưa một vài thông tin cho người dùng chọn. Đây là vấn đề khiến cho đôi khi có những công việc chưa thực sự phù hợp với mong muốn được gửi đến người dùng.2 Mục tiêu và phạm vi đề tài 1.1 Mục tiêu của đồ án Tính năng thông báo dữ liệu đến người dùng đã có ở nhiều hệ thống website. Tuy nhiên lại chưa giải quyết được vấn đề tùy biến cho người dùng.

Trong đồ án này, sinh viên hướng tới giải quyết bài toán truy vấn dữ liệu sử dụng công nghệ dữ liệu lớn. Với mục tiêu khắc phục những hạn chế, khó khăn của các phương pháp truy vấn cũ như giảm bớt thao tác người dùng, tùy biến được truy vấn tốt hơn, lưu trữ hiệu quả. Từ những vấn đề đã nêu ở phần 1.1, mục tiêu được đặt ra cho đồ án này là xây dựng hệ thống cảnh báo dữ liệu một cách liên tục trên luồng dữ liệu tuyển dụng. Hệ thống này sẽ có các khả năng giải quyết các vấn đề như sau: • Khả năng xử lý dữ liệu liên tục, người dùng chỉ cần thực hiện truy vấn một lần và hệ thống lưu lại để xử lý cho các lần sau.

• Tính năng gửi dữ liệu định kì theo mong muốn tuần suất nhận thông báo của người dùng • Khả năng cho phép người dùng tùy chỉnh các điều kiện truy vấn trên luồng dữ liệu • Giao diện website giúp cho người dùng có thể xây dựng câu truy vấn một cách đơn giản, cấu hình và quan sát hệ thống một cách trực quan Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 2 Mở rộng hơn, với các tính năng bên trên, hệ thống hướng đến theo dạng một dịch vụ có thể tích hợp vào bất kì hệ thống truy vấn nào để xử lý dữ liệu cho người dùng.2 Phạm vi đề tài Mặc dù hướng đến là một hệ thống tích hợp được với nhiều hệ thống xử lý, truy vấn dữ liệu khác, nhưng trong phạm vi đồ án này, hệ thống mới chỉ được tích hợp với dữ liệu của website yourway, bản thử cũng sử dụng dữ liệu thật của website này để thực hiện. Đồ án này được thực hiện bởi nhóm gồm có 2 sinh viên là Nguyễn Văn Tiến và Vũ Minh Hiếu. Phần việc cụ thể phân chia để xây dựng hệ thống được trình bày như bên dưới: Hệ thống Sinh viên Quản lý và xử lý dữ liệu Website tương tác người dùng Kết nối các luồng dữ liệu đầu vào Chức năng kết nối CSDL Tạo lược đồ luồng dữ liệu Chức năng thêm luồng dữ liệu Nguyễn Xử lý truy vấn trên các luồng dữ liệu Chức năng quản lý các luồng dữ Văn Tiến trong công việc Spark liệu 20173401 Chuẩn bị dữ liệu kết quả để gửi đến Chức năng quản lý công việc liên người dùng tục Quản lý các truy vấn Chức năng thêm truy vấn Vũ Minh Cấu hình hệ thống Chức năng quản lý truy vấn Hiếu Cấu trúc dữ liệu đầu vào Chức năng cấu hình hệ thống 20168683 Lập lịch xử lý kết quả truy vấn 1.3 Định hướng giải pháp Từ những vấn đề trong thực tế cuộc sống khi người tìm việc không thể liên tục truy cập các website tuyển dụng để thực hiện liên tục việc tìm kiếm một công việc phù hợp với bản thân nhiều ngày cũng như cập nhật các tin tuyển dụng một cách nhanh nhất. Để tăng tính thực tế và ứng dụng thực tiễn, đồ án tập trung phát triển hệ thống tổng hợp, xử lý và thông báo kết quả xử lý của dòng dữ liệu liên tục về công việc trên nền tảng hệ thống đã có sẵn của yourway.

Vì vậy nhóm em đã phát triển hệ thống giúp đỡ các người dùng có khả năng đưa ra yêu cầu tìm kiếm một lần và nhận lại theo lịch trình được định sẵn danh sách các kết quả theo yêu cầu tìm kiếm đó với các dữ liệu mới nhất. Từ đó giúp tích kiệm thời gian cho người dùng, tự động hóa khả năng nhận kết quả của người dùng theo hướng chủ động gửi kết quả đó tới từng thông tin liên lạc của người dùng. Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 3 Để giải quyết các vấn đề trên, hệ thống tổng thể được chia thành 2 phần trong đồ án này là: • Hệ thống 1: Hệ thống website tương tác nhằm mục đích giúp người dùng dễ dàng hơn trong việc tương tác hệ thống • Hệ thống 2: Hệ thống quản lý, xử lý dữ liệu thực hiện nhiệm vụ chính liên quan đến dữ liệu và trả kết quả cho người dùng Về phần công nghệ, sinh viên sử dụng công nghệ: • Xử lý dữ liệu lớn: Apache Spark và Apache Kafka. o Apache Spark là một mã nguồn mở xử lý dữ liệu trên quy mô lớn.

Với khả năng tính toán song song, giao diện lập trình dễ dàng và khả năng chịu lỗi tốt, Apache Spark đang đi đầu trong xu hướng xử lý dữ liệu lớn. o Apache Kafka là một nền tảng truyền tải dữ liệu phân tán. Tốc độ và khả năng chịu lỗi của Apache Kafka đang dần thay thế cho hệ thống truyền tin truyền thống. • Hệ thống web: framework FastAPI và Angular o FastAPI là một khung làm việc xây dựng các RESTful API trên ngôn ngữ lập trình Python.

FastAPI là một công nghệ mới với những cải tiến để phát triển nhanh và dễ bảo trì hơn với các công nghệ đời cũ hơn. o Angular là một khung làm việc mạnh mẽ dùng để xây dựng giao diện website được phát triển bởi Google. • Cơ sở dữ liệu: MySQL – một trong những CSDL phổ biến nhất hiện nay. Kết quả thu được sau khi sinh viên thực hiện đồ án này là một hệ thống cảnh báo dữ liệu bằng công nghệ dữ liệu lớn.

Bên cạnh đó là những kiến thức thu được khi giải quyết bài toán.4 Bố cục đồ án Dựa vào các vấn đề tồn tại và hướng tiếp cận được đề xuất để giải quyết bài toán ở phần trước, các phần tiếp theo của đồ án tốt nghiệp này được tổ chức như sau: Chương 2. Cơ sở lý thuyết và công nghệ: đề cập đến các định nghĩa, giải thích lý thuyết các nên tảng phân tán cũng như xử lý dữ liệu lớn đồng thời cũng giới thiệu các công cụ sử dụng trong mã nguồn hệ thống. Chương này sẽ bao gồm 4 phần chính. Phần đầu sẽ trình bày các lý thuyết hệ thống phân tán, phần tiếp theo sẽ trình bày về nền tảng spark, đặc tả các chức năng, và phần cuối cùng sẽ trình bày về các yêu cầu phi chức năng của hệ thống.

Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 4 Chương 3. Thiết kế và xây dựng hệ thống quản lý, xử lý dữ liệu: trình bày chi tiết về hệ thống ứng dụng, phân tích sâu hơn về từng mô-đun trong hệ thống qua kiến trúc cũng như công nghệ sử dụng. Xây dựng ứng dụng web tương tác người dùng: trình bày về giao diện với người dùng, giúp hệ thống tương tác dễ hơn với người dùng. Ngoài ra, chương này còn đề cập đến kết quả kiểm thử cũng như một vài đánh giá sơ bộ về hệ thống.

Kết luận: tổng kết các kết quả đạt được cũng như trình bày các hạn chế còn tồn tại, đồng thời định hướng phát triển trong tương lai.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ