Chức năng phía server

Một phần của tài liệu luận văn: tìm hiểu áp dụng công nghệ web ngữ nghĩa vào xây dựng hệ thống cung cấp thông tin hướng ngữ cảnh (Trang 31)

Từ kiến trúc hệ thống, chúng ta cũng hình dung phần nào vai trò của Server. Để có được những loại dữ liệu như profile, lịch sử, sự kiện lập lịch và dữ liệu bản đồ. Thì Server tạo mới, sửa, xóa, và đọc được các dữ liệu đó. Tiếp đến là cụm chức năng tìm kiếm, và cuối cùng không kém phần quan trọng là việc kết nối với Client. Hình 4.2 sau sẽ phản ánh biểu đồ phân rã chức năng của Server.

30

Hình 4.2 Sơ đồ phân rã chức năng phía Server

Sau đây là chi tiết chức năng của Server:

Kết nối: Server phải phối hợp ăn khớp với Client để đạt được hiệu quả hoạt

động của hệ thống, bởi vậy tính năng kết nối của phía Server là cần thiết. Lúc này Server đóng vai trò nhận và trả thông tin.

+ Nhận thông tin yêu cầu: tiếp nhận thông tin từ Client gửi tới. Thông tin này

bao gồm vị trí, thời gian của Client và nội dung truy vấn của người dùng.

+ Gửi trả kết quả: gửi lại kết quả cho Client. Sau khi Server tiếp nhận yêu cầu

31

Tải thông tin từ nơi cơ sở dữ liệu: Sau khi nhận được yêu cầu từ phía người

dùng, hệ thống server sẽ tiến hành tải về dữ liệu cần thiết từ các kho dữ liệu. Chức năng này gồm các chức năng con sau:

+ Tải về dữ liệu hồ sơ người dùng: đây là việc lấy về các liệu profile cụ thể của

khách hàng yêu cầu.

+ Tải về dữ liệu lịch sử người dùng: dữ liệu lịch sử cũng sẽ là một phần quan

trọng trong việc quyết định tới kết quả tìm kiếm được có thỏa mãn yêu cầu của khách du lịch hay không, sau khi tải dữ liệu profile người dùng thì hệ thống sẽ thực hiện công việc tải dữ liệu lịch sử này.

+ Tải về dữ liệu chủ đề: lấy về dữ liệu nội dung theo các chủ để. Các chủ đề

được tổ chức theo một mạng phân cấp bậc nhất định giống như một cây có nhiều phân nhánh nhỏ. Việc phân dữ liệu thành từng nhánh của chủ đề tạo thuận lợi cho hiệu suất tìm kiếm dữ liệu sau này.

+ Tải về dữ liệu sụ kiện đã lập lịch: trích rút ra dữ liệu về các sự kiện đã được

lập lịch sẵn. Ví dụ như lấy ra thông tin của sự kiện trình diễn thời trang thu đông hoặc thông tin các trận bóng chuyền vào ngày mai.

+ Tải dữ liệu về mật độ giao thống: là việc nạp các dữ liệu từ cơ sở dữ liệu mật

độ giao thông. Công việc này nhằm phụ vụ cho dịch vụ thông báo mật độ giao thông để tránh gặp phải con đường xảy ra ùn tắc trong quá trình tham quan du lịch của du khách.

Cập nhật dữ liệu: chức năng này cho phép người quản trị cơ sở dữ liệu cập nhật

nội dung của dữ liệu khi có yêu cầu thay đổi. Các loại dữ liệu có thể thay đổi được bao gồm dữ liệu profile người dùng, dữ liệu nội dung theo chủ đề và dữ liệu sự kiện được lập lịch sẵn.

+ Cập nhật thông tin profile của người dùng: mỗi khi người dùng có yêu cầu

thay đổi profile của họ nhằm mong muốn nhận được thông tin mà họ quan tâm hơn, hệ

thống sẽ thực thi chức năng cập nhật lại thông tin profile theo yêu cầu đó.

+ Cập nhật dữ liệu nội dung chủ đề: Khi nội dung quảng cáo cho các địa danh

du lịch thay đổi thì nội dung chủ đề cũng phải thay đổi theo, chức năng cập nhật nội dung chủ đề cho phép người quản trị cơ sở dữ liệu có thể thêm, sửa, xóa thông tin về các chủ đề nhằm lưu lại những thông tin mới nhất cho nội dung các chủ đề.

+ Cập nhật dữ liệu sự kiện đã được lập lịch: là việc cập nhật lại các sự kiện có

32

một rạp nào đó thì thông tin trong cơ sở dữ liệu sự kiện lập lịch cũng được thay đổi

theo.

Dự đoán vị trí tương lai của người dùng: dựa vào lịch sử di chuyển bao gồm vị

trí ở hiện tại và quá khứ của người dùng mà hệ thống có thể dự đoán được vị trí, hướng đường đi tương lai của người dùng trong khoảng thời gian t nào đó. Nhờ áp dụng kỹ thuật này mà Server sẽ chủ động gửi thông tin luôn cập nhật và phù hợp với người dùng trong miền di chuyển, giảm thiểu độ trễ của thông tin tới người dùng của hệ thống.

Tìm kiếm thông tin:

+ Tìm kiếm dựa vào vị trí: là chức năng đơn giản nhất và cơ bản nhất mà hệ

thống phải đáp ứng được. Từ vị trí hiện tại của thiết bị gửi về, Server sẽ thực hiện tìm kiếm các điểm được lưu ở các cơ sở dữ liệu lịch sử người dùng, dữ liệu sự kiện lập lịch và dữ liệu nội dung chủ đề trong vòng bán kính R nào đó. Kết quả của việc tìm kiếm tương đối nhiều và không sử dụng một phép lọc nào ngoài lọc theo bán kính

+ Tìm kiếm dựa vào vị trí và thời gian: Cũng giống với chức năng tìm kiếm dựa

vào vị trí, là dựa vào yếu tố vị trí hiện tại của người dùng, nhưng mở rộng thêm một yếu tố để lọc lấy dữ liệu nữa đó là yếu tố thời gian. Một ví dụ của yêu cầu tìm kiếm dựa vào vị trí và thời gian như khách hàng mong muốn tìm được lịch chiếu phim ở rạp Quốc gia vào cuối tuần này. Vậy thông tin khớp với yêu cầu này phải đáp ứng vị trí: rạp Quốc gia; và yêu cầu thời gian là vào thời điểm cuối tuần thì mới thỏa mãn yêu cầu của khách hàng.

+ Tìm kiếm thông tin dựa vào vị trí và profile: là chức năng tìm kiếm thông tin

thoải mãn được hai tiêu chí. Đó là phù hợp với vị trí người dùng và chỉ nằm trong profile của họ. Sau khi tìm kiếm ra dữ liệu nội dung, dữ liệu sự kiện lập lịch hệ thống sẽ kiểm tra xem dữ liệu nào nằm trong loại dữ liệu mà người dùng quan tâm được lưu trữ trong profile cá nhân của họ, nếu thỏa mãn hệ thống sẽ đưa thông tin này ra tới người dùng. Nhờ có chức năng này, người dùng sẽ không bị làm phiền bởi các thông tin mà họ không muốn quan tâm đến

+ Tìm thông thông tin dựa trên lịch sử người dùng: dựa vào lịch sử người dùng,

hệ thống biết được thông tin các địa danh mà người dùng đã từng đi qua, từ đó hệ thống có thể đưa ra các nội dung tương tự liên quan tới các dữ kiện lịch sử đó. Đồng thời, dựa vào lịch sử mà hệ thống tránh được việc gửi thông tin trùng lặp tới các địa danh mà du khách đã từng tham quan.

33 4.2.2 Chức năng phía client

Client là chương trình chạy trên thiết bị di động của người dùng. Chương trình Client phải đám ứng các yêu cầu về kết nối với server, bao gồm gửi và nhận kết quả; Cho phép người dùng nhập các yêu cầu tìm kiếm dưới dạng câu truy vấn. Client còn có nhiệm vụ trình bày hình ảnh hóa các kết quả nhận được từ server trả về. Hình 4.3 dưới đây mô tả cây chức năng của client.

Hình 4.3 Cây chức năng phía client

Chi tiết các chức năng phía Client:

Kết nối: khi có sự thay đổi vị trí, profile người dùng, hoặc hành khách gửi truy

vấn lên server, lient phải thực hiện nhiệm vụ kết nối tới server và giữ kết nối đó cho tới khi nhận được kết quả trả về. Chức năng kết nối bao gồm hai nhánh chức năng con sau:

+ Gửi yêu cầu truy vấn: là tính năng gửi những yêu cầu tìm kiếm thông tin từ

client lên server. Lúc nào Client tập hợp các thông tin về vị trí, thời gian, và yêu cầu truy vấn để gửi cho server.

+ Nhận kết quả trả về: sau khi xử lý yêu cầu của client, server sẽ trả kết quả về,

lúc này client giữ vai trò người nhận, tiếp nhận và đóng kết nối lại sau khi nhận kết quả.

34

Trình bày thông tin: là chức năng thể hiện các thông tin trên bản đồ trong miền

di chuyển tham quan của du khách. Nhờ việc thể hiện lại các thông tin dữ liệu thành hình ảnh hóa trực quan, giúp người dùng dễ dàng tiếp nhận kết quả. Chức năng trình bày thông tin gồm hai chức năng nhỏ sau:

+ Hiển thị thông tin gợi ý: là chức năng hiển thị các thông tin gợi ý của hệ thống

trên bản đồ. Khi người dùng thay đổi vị trí, hệ thống sẽ tự động gửi các thông tin phù hợp với profile, lịch sử tới người dùng. Khi đó, client sẽ phải thực hiện việc hiển thị kết quả các gợi ý này.

+ Hiển thị kết quả truy vấn: sau khi server trả kết quả truy vấn tương ứng với

yêu cầu truy vấn của người dùng, cliet có nhiệm vụ hiển thị trực quan kết quả nhận được tới người dùng trên thiết bị di động.

Cập nhật thông tin cài đặt dịch vụ: là tính năng cho phép người dùng cập nhật

lại các thông số của dịch vụ, thông tin profile, lựa chọn cho phép lưu hay không lịch sử tham quan của mình. Chi tiết chức năng cập nhật được phân chia như sau:

+ Thay đổi thông tin proifle: là khả năng client có thể thay đổi các đối tượng

quan tâm, nội dung các chủ đề mà người dùng mong muốn nhận được các gợi ý. Ví dụ như người dùng không muốn quan tâm tới danh lam thắng cảnh nữa, mà đổi lại, du khách muốn được gợi ý về thông tin các nhà hàng khách sạn chẳng hạn.

+ Cập nhật loại hình dịch vụ sử dụng: là tính năng thay đổi loại hình dịch vụ mà

người dùng yêu cầu. Ví dụ đơn giản nhất là việc người dùng ngừng không muốn theo dõi thêm thông tin về ùn tắc giao thông nữa, vì giờ họ đã tới nơi họ cần đến rồi.

+ Cập nhật yêu cầu tìm kiếm: là khả năng thay đổi nội dung truy vấn, người

dùng có thể đưa ra câu truy vấn, yêu cầu hệ thống tìm kiếm ra địa điểm khác mà họ muốn quan tâm hơn, hoặc thay đổi bán kính tìm kiếm các địa danh.

4.3 Thiết kế cơ sở dữ liệu

Phần này sẽ đưa ra các bước để thiết kế cơ sở dữ liệu cho hệ thống. Thiết kế cơ sở dữ liệu theo hướng thực thể hóa bao gồm các bước: xác định các thực thể, xác định mối quan hệ giữa các thực thể, sơ đồ thực thể quan hệ. Thiết kế cơ sở dữ liệu theo hướng Ontology bao gồm các bước: xây dựng Ontology cho dữ liệu miền, Ontology cho dữ liệu ứng dụng, Ontology cho dữ liệu nội dung. Sau đây là phần chi tiết cho từng hướng thiết kế cơ sở dữ liệu.

35

4.3.1 Mô hình hóa cơ sở dữ liệu theo mô hình thực thể

4.3.1.1 Xác định các thực thể trong hệ thống

Công việc đầu tiên của mô hình hóa cơ sở dữ liệu thực thể là cần xác định các thực thể trong hệ thống. Về mặt trực quan, ta có thể quan sát thấy ngay hệ thống cần

có một danh sách các địa điểm du lịch, ta gọi nó là các Location. Mỗi Location chứa

thông tin địa lý của một điểm hoặc đại diện một vùng trên bản đồ. đối với Location đại diện cho một vùng thì cần lưu thêm thông tin về đường biên. Thêm vào đó, mỗi

Location cần phải chứa thông tin nội dung mà sẽ quảng cáo tới người dùng, ví dụ địa

danh A là một công viên, địa danh B là một trung tâm thương mại lớn nhất Hà Nội.

Mỗi Location thuộc về một Position duy nhất.

Bên cạnh vị trí của Location, cái mà chúng ta cần quản lý ở đây là nội dung của các Location. Nếu tất cả các nội dung được lưu lại tràn lan chỉ thành một danh sách các bản ghi về Location thì rất khó để quản lý nó và sử dụng nó để cung cấp cho người

dùng, nó còn dẫn đến việc dư thừa dữ liệu trong truy vấn. Giải pháp đề ra là phân chia nội dung cần quảng cáo ra thành các chủ đề. Như vậy là phải xây dựng được cây chủ

để để phân loại dữ liệu nội dung ra, ví dụ các Location cho các nhà hàng hải sản thì được gộp lại trong chủ đề ăn uống (Food), hay các Location đại diện cho các rạp chiếu

phim thì sẽ được xếp lại trong chủ đề Giải trí. Tùy thuộc vào nội dung quảng cảo của từng lĩnh vực mà ta có thể tùy chọn cây chủ đề nội dung phân nhánh rộng hay sâu tùy ý.

Khi người dùng đăng ký sử dụng dịch vụ của hệ thống, mỗi người dùng sẽ được

yêu cầu cung cấp các thông tin cá nhân được gọi là Profile của người dùng cho hệ

thống. Trong profile này, người dùng có thể đưa ra các chủ đề mà mình quan tâm, những nội dung thông tin mà người dùng mong muốn được cung cấp. Mỗi người dùng có thể thay đổi profile của mình, điều này đồng nghĩa với việc tương ứng mỗi người dùng có thể có nhiều profile.

Yếu tố lịch sử người dùng cũng góp vai trò quan trọng trong cung cấp thông tin của hệ thống. Lịch sử người dùng là những sự kiện trong quá khứ tham quan của người dùng. Trong sự kiện chứa các thông tin thông tin vị trí, thời gian tham quan.

Từ những thông tin trên, ta xác định được các thực thể trong hệ thống như sau :  Location: biểu diễn một điểm hay một khoảng không gian địa lý trên bản đồ.

Object: địa điểm du lịch, thăm quan.

36  Chủ đề: chủ đề trong hệ thống.

User: đại diện cho khách hàng sử dụng hệ thống.

Profile: profile của người sử dụng, chứa các chủ đề mà người dùng quan tâm.

Lịch sử: lịch sử di chuyển và các sự kiện đã nhận của người dùng.

Sự kiện: lưu trữ các sự kiện đã xảy ra trong hệ thống. 4.3.1.2 Xác định mối quan hệ giữa các thực thể

Sau khi các định các thực thể, ta xác định được mối quan hệ giữa các thực thể như sau :

Một Location có chứa nhiều Object, một Object nằm trong một Location.

Một Object có nhiều Items, một Object chỉ thuộc về một Object duy nhất.

Một Topic có nhiều Information, một Information chỉ gắn với một Topic.

Một User có nhiều Profile, một Profile chỉ thuộc về một User.

Một Profile có nhiều Topic, một Topic có thể thuộc nằm trong nhiều Profile.

Một Topic cha có thể có nhiều Topic con, một Topic con thuộc về một Topic

cha.

Một User có một Lịch sử, một Lịch sử chỉ thuộc về một User.

Một Lịch sử có nhiều Event, một Sự kiện chỉ thuộc về một History.

Một Sự kiện xảy ra ở một Location, một Location có nhiều Sự kiện khác nhau.

Một Thông tin chứa nhiều Chi tiết – Item.

Một Item chứa nhiều Item, một Item thuộc về một Item.

Một Sự kiện tham chiếu tới một Location, một Location thuộc về một Event

Một Object chỉ tới một Location, một Location có nhiều Object

Một Object thuộc về một Lớp Semantic, một Lớp Semantic nói về nhiều Object

Một Item là một khởi tạo của một cặp Object – Lớp Semantic. Một cặp Object –

37

4.3.1.3 Sơ đồ quan hệ thực thể

Mô hình được sử dụng trong ứng dụng được miêu tả cụ thể trong Hình 4.4.

Hình 4.4 Sơ đồ quan hệ thực thể ER

Từ kiến sơ đồ thực thể ER ở Hình 4.4, chúng ta phân chia mô hình dữ thành 3 nhóm thực thể khác nhau để thuận tiện cho việc quản lý dữ liệu và xây dựng thuật toán sau này

38

Phần dữ liệu về lịch sử và sự kiện: bao gồm thực thể History và Event. Chứa dữ

liệu về lịch sử đường đi và các địa điểm đã thăm quan của người dùng. Vì lý do quyền bảo mật riêng tư của khách hàng, loại dữ liệu này như đã đề cập ở phần trên thì sẽ

Một phần của tài liệu luận văn: tìm hiểu áp dụng công nghệ web ngữ nghĩa vào xây dựng hệ thống cung cấp thông tin hướng ngữ cảnh (Trang 31)