-Mục tiêu của dự án là xây dựng hệ thống CNE bao gồm các chức năng sau: 1. Tải cơ sở dữ liệu từ OrientDb vào Apache Spark.
2. Biểu diễn trực quan đồ thị.
3. Tính PageRank cho các đỉnh trên đồ thị.
loadGraph getMaxRanks íindConnectedComponent íindPropagation powered by Astah§5 visualizeGraph calculatePageRank getlnformation User -
4. Tìm tầm ảnh hưởng của một bài báo. 5. Tìm bài báo có tầm ảnh hưởng nhiều nhất. 6. Tìm thành phần liên thơng chứa một bài báo. 7. Xác định độ lan tỏa của một bài báo theo thời gian.
-Từ mục tiêu trên, sơ đồ UseCase, là sơ đồ mô tả các chức năng của hệ thống, được
thiết kế như Hình 3.3 gồm 1 actor User và 7 chức năng.
-Bảng 3.3 mô tả các chức năng trong sơ đồ UseCase.
- Bảng 3.3 - Bảng mô tả các chức năng trong sơ đồ UseCase.
- STT - Chức năng - Mô tả - T rang - 1
- loadGraph - Đọc cơ sở dữ liệu đồ thị từ OrientDb,
chuyển thành đồ thị GraphX trong hệ thống Apache Spark.
- 4
8
-
2 - visualizeGraph - Biểu diễn trực quan đồ thị. 9
-
3
- calculatePageRank - Tính PageRank cho từng đỉnh
trên đồ thị. - 4 9 - 4
- getInformation - Lấy thông tin của bài báo khi cung
cấp id của bài báo.
- 4
9
-
5 - getMaxRanks - Lấy danh sách các bài báo có PageRank cao nhất. - 5 0 - 6 - findConnectedCo mponent - Tìm thành phần liên thông trong đồ
thị chứa một bài báo và biểu diễn trực
- 5
0
-
7
- findPropagation - Tìm sự lan tỏa của bài báo
theo thời
gian và biểu diễn trực quan nó.
- 5
0
- Dưới đây là mô tả chi tiết của các chức năng trong sơ đồ UseCase.
-
1. Chức năng loadGraph
-Chức năng loadGraph đọc cơ sở dữ liệu đồ thị từ OrientDb, chuyển thành đồ thị GraphX trong hệ thống Apache Spark. Đây là chức năng cơ bản nhất của hệ thống vì khi
-có đồ thị GraphX thì mới có thể tận dụng được sức mạnh của GraphX API và Apache
Spark để thực hiện các chức năng phân tích khác.
-Do đồ thị trong dự án này là rất lớn nên việc đọc cơ sở dữ liệu đồ thị từ OrientDb và chuyển thành đồ thị GraphX mất nhiều thời gian. Để tiết kiệm thời gian, đồ thị GraphX sẽ được cache, bằng hệ thống cache của Apache Spark, cho những xử lý sau đó. Đồ thị GraphX được cache sẽ bị thay thế khi thực hiện lại chức năng loadGraph.
2. Chức năng visualizeGraph
-Chức năng visualizeGraph thực hiện việc biểu diễn trực quan đồ thị. Khi biểu diễn trực quan đồ thị, Web Server đọc đồ thị GraphX được cache, chuyển thành định dạng JSON theo qui định của VisJs, chuyển kết quả JSON về máy Client, máy Client dùng JavaScript kết hợp với thư viện VisJs để biểu diễn trực quan đồ thị.
-Do máy Client cần phải lưu đồ thị vào bộ nhớ để thực hiện việc biểu diễn trực quan đồ thị. Khi đồ thị quá lớn sẽ vượt quá khả năng xử lý của máy Client. Lúc đó có thể giới hạn phạm vi của đồ thị cần biểu diễn trực quan bằng: số thành phần liên thông, độ sâu và số đỉnh tối đa của mỗi thành phần liên thông.
3. Chức năng calculatePageRank
-Chức năng calculatePageRank thực hiện việc tính PageRank cho từng đỉnh trên đồ thị. Sau khi thực hiện chức năng này thì mỗi đỉnh của đồ thị sẽ được gán một giá trị PageRank cho biết tầm quan trọng của đỉnh đó.
4. Chức năng getInformation
-Chức năng getInformation lấy thơng tin của bài báo khi cung cấp id của bài báo. Thông tin của bài báo bao gồm:
- Id của bài báo.
- Tên bài báo.
- Danh sách các tác giả.
- Năm công bố.
- Tóm lược nội dung bài báo.
- PageRank của bài báo.
- Bậc trong của bài báo.
- Bậc ngoài của bài báo.
- Bậc của bài báo.
5. Chức năng getMaxRanks
-Chức năng getMaxRanks phân tích đồ thị và trả về danh sách các bài báo có PageRank cao nhất. Trước khi thực hiện chức năng này cần phải thực hiện chức năng
calculatePageRank để tính PageRank cho các đỉnh trên đồ thị. 6. Chức năng findConnectedComponent
-Chức năng íindConnectedComponent tìm thành phần liên thơng trong đồ thị chứa một bài báo và biểu diễn trực quan nó. Chức năng này cần biết id của bài báo và trả về đồ thị con là thành phần liên thơng chứa bài báo.
-Một thành phần liên thơng cũng có thể rất lớn, vượt quá khả năng xử lý của máy Client. Vì vậy, có thể giới hạn phạm vi của thành phần liên thông cần biểu diễn trực quan bằng độ sâu và số đỉnh tối đa của thành phần liên thơng.
7. Chức năng íindPropagation
-Chức năng íindPropagation tìm sự lan tỏa của bài báo theo thời gian và biểu diễn trực quan nó. Chức năng này cần biết id của bài báo, hướng lan tỏa, số năm lan tỏa và trả về đồ thị con là thành phần liên thông chứa bài báo và thể hiện sự lan tỏa của bài báo.
-Có 3 hướng lan tỏa:
- In: tìm sự lan tỏa từ bài báo được chỉ định bởi id theo hướng In. Tức là tìm
những bài báo tham khảo bài báo được chỉ định bởi id một cách trực tiếp hoặc gián tiếp.
- tìm những bài báo mà bài báo được chỉ định bởi id tham khảo đến
một cách
trực tiếp hoặc gián tiếp.
- - Both: tìm sự lan tỏa từ bài báo được chỉ định bởi id theo cả hai hướng In
và Out.
-Một thành phần liên thơng cũng có thể rất lớn, vượt q khả năng xử lý của máy Client. Vì vậy, có thể giới hạn phạm vi của thành phần liên thông cần biểu diễn trực quan bằng độ sâu và số đỉnh tối đa của thành phần liên thông.
3.4.I.2. Sơ đồ Class
-
-