THIẾT KẾ VÀ CÀI ĐẶT
Ngôn ngữ lập trình : Java, HTML
Công cụ lập trình : JBuilder X, Microsoft Fontpage
Web Server : Resin
Hệ quản trị CSDL : Mircrosoft SQL Server 2000
THIẾT KẾ DỮ LIỆU
Khi thiết kế hệ thống tìm kiếm thông tin vấn đề khó khăn nhất phải đối mặt là tổ chức cấu trúc dữ liệu . Vì khối lượng dữ liệu phải lưu trữ của hệ thống tìm kiếm thông tin là rất lớn, và khối lượng yêu cầu tìm kiếm phải xử lý cũng rất lớn (trên môi trường Web) nên cấu trúc dữ liệu phải được tổ chức tối ưu cho việc đáp ứng (về thời gian) đối với yêu cầu tìm kiếm của người sử dụng.
Dữ liệu của hệ thống được xây dựng dựa trên mô hình vector, sử dụng phương pháp tập tin nghịch đảo
Cơ sở dữ liệu trong SQL
CSDL trong SQL server phục vụ cho toàn bộ hệ thống gồm bảng Url : chứa các thông tin cần thiết cho ứng dụng về 1 URL.
Bảng UrlSTT
|
Tên thuộc tính
|
Ý nghĩa
|
Kiểu dữ liệu
|
Miền giá trị
|
Ghi chú
|
1
|
Depth
|
Độ sâu của FromURL
|
Integer
|
|
0 : đây là StartURL
|
2
|
LastModified
|
Ngày cập nhật nội dung URL gần nhất
|
Bigint
|
|
|
3
|
ContentLength
|
Kích thước trang web mà URL chỉ tới
|
Bigint
|
|
|
4
|
Status
|
Trạng thái của URL
|
Integer
|
UNDOWNLOAD
|
URL chưa được download
|
GOOD
|
URL đã được download về
|
BROKEN
|
URL bị hỏng trong khi kết nối với server
|
GOOD-INDEXING
|
URL đã download về và đang được lập chỉ mục
|
BROKEN-INDEXING
|
URL đang được lập chỉ mục nhưng bị hỏng liên kết
|
5
|
Title
|
Tiêu đề của trang web mà URL chỉ tới
|
Varchar(255)
|
|
|
6
|
ContentType
|
Cho biết nội dung của URL thuộc dạng nào
|
Varchar(50)
|
|
|
7
|
UrlId
|
Định danh của URL
|
Bigint
|
|
Khóa chính
|
8
|
UrlName
|
Địa chỉ của 1 URL
|
Varchar(255)
|
|
Duy nhất
|
9
|
OutputPath
|
Tên file download về
|
Varchar(255)
|
|
|
10
|
RootId
|
Định danh của StartURL
|
Bigint
|
|
|
Bảng 6.11 : Bảng URL
Hệ thống tập tin
Do hệ thống dùng Webserver là Resin nên toàn bộ cơ sở dữ liệu được lưu trong thư mục làm việc của Resin “\doc\se\working”. Ngoài dữ liệu được lưu trữ trong Hệ quản trị Cơ sở dữ liệu SQL Server 2000, ứng dụng còn có hệ thống file như sau:
“Index.txt”: chính là từ điển chỉ mục, chứa thông tin về một mục từ như trọng số, số tài liệu có chứa mục từ này, là từ tiếng Anh hay tiếng Việt, trang bắt đầu và trang kết thúc trong tập tin nghịch đảo, và sẽ được trình bày cụ thể ở phần dưới.
“Inverse.dat”: tập tin nghịch đảo, chứa các thông tin về các tài liệu và trọng số của các mục từ trong tài liệu đó, xem cụ thể trong phần tập tin nghịch đảo ở phần dưới.
“UnicodetoUTF8.txt”: font chữ Unicode.
THU THẬP THÔNG TIN Cấu trúc dữ liệu
Với mong muốn không chỉ đảm bảo được các nhiệm vụ của web robot mà còn giúp cho quản trị chủ động hơn nữa trong công việc của mình, module web robot sẽ hỗ trợ những chức năng sau :
Định độ sâu liên kết
Các tuỳ chọn khi phân tích một URL : cùng site, cùng thư mục gốc, khác site.
Mỗi project có thể có nhiều StartURL. Các project khác nhau có thể có cùng một / nhiều StartURL.
Chỉ phân tích URL để tạo CSDL hoặc download file.
Download vớI 2 tuỳ chọn.
Quy định các dạng và kích thước file cần download.
Không quy định các dạng và kích thước file cần download.
Tạm dừng 1 StartURL để xử lý 1 project khác hoặc 1 StartURL khác cùng project.
Định số spider hoạt động đồng thờI, thờI gian đợI giữa 2 lần truy xuất server liên tiếp.
Định số connection ban đầu, thờI gian đợI được cấp tài nguyên, số lần truy xuất CSDL khi hệ thống bận.
Định chu kỳ lưu thông tin một project.
Nhằm đáp ứng những chức năng đã nêu ra, hệ thống thu thập thông tin sẽ được bổ sung thêm các cấu trúc dữ liệu như :
Cấu trúc UrlInfo
UrlInfo là ánh xạ của bảng URL trong CSDL. Ngoài những thuộc tính kể trên, UrlInfo còn có các thuộc tính :
STT
|
Tên thuộc tính
|
Ý nghĩa
|
Kiểu dữ liệu
|
Miền giá trị
|
Ghi chú
|
1
|
Depth
|
Độ sâu của URL
|
Integer
|
|
|
2
|
ErrorCode
|
Mã lỗI truy xuất CSDL
|
integer
|
0
|
Không có lỗI
|
1
|
SQLException
|
3
|
RootId
|
Định danh của URL liên kết tới nó
|
Long
|
|
|
Bảng 7.12 : Cấu trúc URLInfo
Cấu trúc StartUrlInfo
STT
|
Tên thuộc tính
|
Ý nghĩa
|
Kiểu dữ liệu
|
Miền giá trị
|
Ghi chú
|
1
|
Alias
|
Tên khác của URL
|
String
|
|
|
2
|
Account
|
Tên để truy cập URL
|
String
|
|
|
3
|
MaxDepth
|
Độ sâu lớn nhất của StartURL
|
Integer
|
|
|
4
|
ProcessStatus
|
Trạng thái xử lý của StartURL
|
Integer
|
NONE
|
Chưa được xử lý
|
BEING
|
Đang xử lý
|
DONE
|
Đã xử lý
|
5
|
Password
|
Password truy cập StartURL
|
String
|
|
|
Bảng 7.13 : Cấu trúc StartURLInfo
Cấu trúc FileRetrieval
STT
|
Tên thuộc tính
|
Ý nghĩa
|
Kiểu dữ liệu
|
Miền giá trị
|
Ghi chú
|
1
|
Description
|
Miêu tả dạng file cần lấy
|
String
|
|
|
2
|
Extensions
|
Danh sách các đuôi file cần lấy
|
String
|
|
|
3
|
MaxSize
|
Kích thước file lớn nhất
|
Integer
|
|
|
4
|
MinSize
|
Kích thước file nhỏ nhất
|
|
|
|
Bảng 7.14 : Cấu trúc FileRetrieval
Cấu trúc ProjectInfo
STT
|
Tên thuộc tính
|
Ý nghĩa
|
Kiểu dữ liệu
|
Miền giá trị
|
Ghi chú
|
1
|
ConnDBTimes
|
Số lần truy xuất CSDL cho mỗI thao tác thêm, xoá, sửa
|
Integer
|
|
|
2
|
LastUpdate
|
Ngày cập nhật project gần nhất
|
Long
|
|
|
3
|
HasRun
|
Project đã được thực thi lần nào chưa
|
Boolean
|
|
|
4
|
NumSpiders
|
Số spider dùng cho project
|
Integer
|
|
|
5
|
NumResource
|
Số kết nối ban đầu của project
|
Integer
|
|
|
6
|
PrjName
|
Tên project
|
String
|
|
Duy nhất
|
7
|
SpiderTimeout
|
Thời gian delay giữa 2 lần truy xuất liên tiếp vào server
|
Long
|
|
|
8
|
StartUrl
|
Danh sách các StartURL
|
StartUrlVector
|
|
|
9
|
ResourceTimeout
|
Thời gian delay để được cấp phát tài nguyên
|
Long
|
|
|
10
|
RetrievableExt
|
Những đuôi file cần xử lý
|
FileRetrievalVector
|
|
|
11
|
Outputpath
|
Tên file chứa thông tin project lưu trên đĩa
|
String
|
|
|
12
|
UpdatingMode
|
Kiểu cập nhật các StartURL của project
|
Integer
|
|
21 giá trị
|
Bảng 7.15 : Cấu trúc ProjectInfo
StartUrlVector là một vector mà mỗi phần tử là một biến cấu trúc kiểu StartUrlInfo.
Tương tự FileRetrievalVector cũng là một vector mà mỗi phần tử là một biến cấu trúc kiểu FileRetrieval.
Chia sẻ với bạn bè của bạn: |