Nghiên cứu đặc điểm chính, các thành phần, các mô hình dịch vụ
LBS, các kỹ thuật định vị; đặc điểm cũng như mặt hạn chế của các
thiết bị di động sử dụng trong khai thác dịch vụ LBS;một số vấn đề
cơ bản về Fuzzy, ứng dụng Fuzzy trong bài toán tìm đường đi ngắn
nhất; trên cơ sở đó thiết kế và cài đặt thử nghiệm dịch vụ LBS hỗ trợ
tìm đường đi trong thành phố.
91 trang |
Chia sẻ: lylyngoc | Lượt xem: 3076 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu phát triển hệ thống dịch vụ dựa trên vị trí địa lý và thử nghiệm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n trên hình 3.4:
Hình 3.4: Kiến trúc tổng quan hệ thống cung cấp dịch vụ tìm đường
MẠNG TRUYỀN THÔNG
Internet GSM
Yêu cầu
Thông tin
lộ trình
Thông tin
lộ trình
Yêu cầu Vị trí
Dịch vụ định
vị toàn cầu
HỆ THỐNG MÁY KHÁCH
HỆ THỐNG MÁY CHỦ
- 46 -
3.3.3. Phần cứng hệ thống
Máy chủ
Máy chủ là máy tính có cấu hình đủ mạnh trên đó có cài đặt phần mềm
cung cấp dịch vụ web (webserver), phần mềm tiếp nhận và xử lý các yêu cầu
dịch vụ thông qua hệ thống tin nhắn SMS, kết nối Internet.
Máy chủ tích hợp sẵn hoặc có mô đun bổ sung khả năng giao tiếp trong
mạng GSM để nhận và gửi tin nhắn SMS.
Máy chủ được lắp đặt tại trung tâm quản lý và cung cấp dịch vụ.
Máy trạm
Máy trạm (máy khách) là các thiết bị di động có khả năng khai thác dịch
vụ web hay dịch vụ SMS. Máy khách có thể là các loại điện thoại thường (chỉ
nghe gọi, gửi nhận tin nhắn SMS), các loại điện thoại thông minh (có hệ điều
hành với khả năng cài đặt phần mềm, truy cập Web, tích hợp bộ thu GPS), các
thiết bị hỗ trợ cá nhân kỹ thật số PDA, thậm chí có thể là laptop hay thiết bị
chuyên dụng có thiết kế phù hợp yêu cầu khai thác dịch vụ.
Máy trạm được người tham gia giao thông tự trang bị và mang theo trong
quá trình tham gia giao thông và khai thác dịch vụ.
3.3.4. Cơ sở hạ tầng mạng truyền thông
Mạng Internet cung cấp kết nối và dịch vụ web. Máy chủ kết nối vào
mạng Internet bằng các loại đường truyền thường dùng trong mạng máy tính.
Riêng với thiết bị di động, kết nối tới Internet có thể được thực hiện thông qua
dịch vụ GPRS hay có thể là GSM Data. Kết nối Internet qua GPRS hay GSM
Data nhìn chung cho tốc độ thấp (GSM: 9,6-14 kbps, GPRS: 20-110 kbps),
không đủ đáp ứng nhu cầu tương tác bản đồ [2]. Do vậy, việc hiển thị bản đồ để
có chất lượng hình ảnh tốt và tốc độ cao thì cần do máy khách đảm nhiệm. Nếu
dữ liệu hình ảnh được truyền tải thường xuyên trong quá trình khai thác dịch vụ
có thể phải chấp nhận tốc độ chậm, chất lượng hình ảnh không cao.
Mạng GSM với dịch vụ SMS cho phép máy khách gửi yêu cầu và tiếp
nhận thông tin khá nhanh nhưng chỉ thuần tuý văn bản. Yêu cầu gửi đi và kết
quả trả về được thực hiện thông qua các bản tin SMS. Trong trường hợp khai
thác dịch vụ SMS để liên lạc giữa máy khách và máy chủ thì phía máy khách
phải đảm nhiệm chức năng hiển thị bản đồ số, như vậy mới cho chất lượng dịch
vụ cao trong điều kiện hạn chế về tốc độ và băng thông của mạng truyền dữ liệu.
- 47 -
3.3.5. Định vị
Máy khách có trách nhiệm cung cấp vị trí của mình cùng với yêu cầu cho
máy chủ. Vị trí của máy khách có thể nhận được thông qua hệ thống định vị toàn
cầu GPS nếu máy có tích hợp sẵn bộ thu GPS. Trong trường hợp máy khách
không có khả năng xác định vị trí thông qua dịch vụ GPS thì người sử dụng phải
nhập vị trí vào máy để gửi đến cho máy chủ. Vị trí có thể được nhập vào theo
nhiều cách khác nhau: toạ độ chính xác, tên địa danh, giao lộ, tuyến phố hay có
thể chỉ định ngay trên bản đồ nếu máy khách có khả năng hiển thị dữ liệu bản đồ
số và cho phép người dùng tương tác trên bản đồ này.
3.3.6. Cơ sở dữ liệu GIS
Tại máy chủ sẽ lưu trữ toàn bộ dữ liệu mà hệ thống khai thác để cung cấp
các dịch vụ cho máy khách. Các dữ liệu này bao gồm bản đồ số nội thành thành
phố Hà Nội, các dữ liệu về trạng thái hiện hành các tuyến đường, nút giao thông.
Hệ thống giao thông trong thành phố được biểu diễn thông qua một đồ thị
có trọng số. Trong đó, các tuyến đường là các cạnh của đồ thị, các nút giao
thông, các điểm giao cắt là các đỉnh của đồ thị.
Trọng số trên các cạnh được tạo bằng cách phối hợp các yếu tố về độ rộng
của đường (khả năng đáp ứng cho các loại phương tiện khác nhau như xe máy
hay ô tô), mật độ người tham gia giao thông trên tuyến đường, tình trạng tắc
đường.
Chiều được phép lưu thông trên đường xác định chiều của cạnh.
Ngoài trọng số trên các cạnh, ở đồ thị biểu diễn hệ thống giao thông này
còn lưu ý đến tính chất của từng đỉnh. Do các đỉnh biểu diễn các giao lộ, các nút
giao thông nên vào những thời điểm bị tắc đường hay mật độ giao thông trên nút
quá lớn sẽ ảnh hưởng tới quyết định có chọn đường đi qua nút đó hay không.
3.3.7. Các kiểu dịch vụ và cách khai thác
1) Kiểu thứ nhất: áp dụng cho các thiết bị di động có khả năng kết nối
Internet, duyệt web, tích hợp bộ thu GPS.
Mách khách truy cập vào trang web của hệ thống theo địa chỉ
đã công bố. Trang web hiển thị giao diện chính là bản đồ số thành phố
Hà Nội, các công cụ hỗ trợ.
Thiết bị thu GPS sẽ giúp xác định vị trí hiện hành và được biểu
diễn ngay trên bản đồ.
- 48 -
Người dùng khởi động chức năng tìm đường, sử dụng thiết bị
trỏ hoặc nhập tên địa điểm cần đến, yêu cầu tìm.
Quá trình tìm kiếm được thực hiện trên máy chủ và kết quả trả
về sẽ là hình ảnh bản đồ chỉ ra đường đi tốt nhất theo yêu cầu tìm
kiếm hoặc thông báo không tìm được nếu không tồn tại đường đi thoả
mãn yêu cầu.
Ngoài biểu thị kết quả trên bản đồ, phần mềm sẽ liệt kê danh
sách các cung đường phải qua, độ dài tương ứng.
Hình 3.5: Minh hoạ giao diện hỗ trợ GPS, hiển thị bản đồ số
Ưu nhược điểm chính: về ưu điểm, không đòi hỏi máy khách
phải có cấu hình lớn (bộ nhớ, tốc độ xử lý), có tính cập nhật cao (luôn
thể hiện được bản đồ mới nhất). Nhược điểm chính là tốc độ đáp ứng
chậm do thường xuyên phải truyền tải dữ liệu bản đồ số qua mạng
truyền thông. Để nâng cao chất lượng dịch vụ đòi hỏi phải nâng cao
tốc độ cũng như mở rộng băng thông của hệ thống truyền thông.
2) Kiểu thứ hai: áp dụng cho các thiết bị di động có cấu hình mạnh, bộ
nhớ lớn, có khả năng kết nối Internet hay khai thác dịch vụ SMS, tích
hợp bộ thu GPS.
Về giao diện chính cũng là bản đồ thành phố nhưng toàn bộ dữ
liệu bản đồ được lưu trên thiết bị di động.
- 49 -
Dữ liệu được truyền tải qua lại chỉ là yêu cầu dịch vụ và kết quả
là danh sách các nút phải đi qua (thông qua tin nhắn SMS). Dựa vào
dữ liệu trả về, giao diện phía máy khách sẽ thể hiện trực quan lộ trình
tìm được trên bản đồ số.
Các thao tác vận hành về cơ bản giống như kiểu thứ nhất.
Một số ưu nhược điểm chính: tốc độ đáp ứng cao do không phải
truyền tài dữ liệu lớn qua mạng truyền thông, bản đồ có thể trình bày
được chi tiết và đẹp hơn. Nhược điểm chính là đòi hỏi máy trạm phải
có bộ nhớ đủ lớn, tốc độ xử lý cao để xử lý dữ liệu bản đồ số tại máy,
khả năng cập nhật bản đồ thấp và phải thực hiện độc lập.
3) Kiểu thứ ba: áp dụng cho các thiết bị di động có khả năng kết nối
Internet, duyệt web, không tích hợp bộ thu GPS.
Về giao diện chính cũng như cách khai thác cơ bản giống như
kiểu thứ nhất.
Không tự động xác định vị trí hiện hành do không tích hợp bộ
thu GPS, nếu dùng phương pháp định vụ qua mạng di động thì sai số
khá lớn, hiệu quả mang lại không cao.
Khi người dùng có yêu cầu tìm đường thì phải xác định rõ cả
điểm xuất phát và điểm tới (bằng thiết bị trỏ hoặc nhập bằng văn bản).
4) Kiểu thứ tư: áp dụng cho các thiết bị di động có cấu hình thấp, không
duyệt được web, không tích hợp GPS mà chỉ khai thác dịch vụ SMS
(điện thoại thường), có khả năng cài đặt phần mềm.
Giao diện chính không thể hiện bản đồ mà chỉ có các công cụ
nhập số liệu, gửi yêu cầu.
Người dùng phải nhập điểm xuất phát, điểm đến.
Kết quả được trả về dưới dạng danh sách các cung đường phải
đi qua cùng độ dài tương ứng.
5) Kiểu thứ năm: áp dụng cho các thiết bị di động có cấu hình rất thấp,
chỉ khai thác dịch vụ SMS, không có khả năng cài đặt phần mềm (điện
thoại chỉ nghe gọi và gửi tin nhắn).
Người dùng được cung cấp thông tin về số điện thoại dịch vụ.
Khi có nhu cầu tìm đường, người dùng sử dụng điện thoại, gửi
tin nhắn đến số trung tâm dịch vụ với nội dung yêu cầu chỉ rõ điểm
xuất phát, điểm đến và một số thông tin phụ khác.
- 50 -
Hệ thống sẽ “so sánh” thông tin này với dữ liệu có tại máy chủ,
nếu trùng khớp sẽ tiến hành tìm kiếm ngay. Trường hợp thông tin
không chính xác, hệ thống sẽ gửi về danh sách các địa danh gợi ý yêu
cầu xác nhận từ phía người dùng. Sau khi có thông tin xác nhận sẽ tiến
hành tìm kiếm.
Kết quả trả về là danh sách các cung đường phải qua và độ dài
tương ứng qua tin nhắn.
Đánh giá: kiểu dịch vụ này phù hợp cho mọi đối tượng người
dùng có cấu hình thiết bị di động từ thấp nhất đến cao. Tuy nhiên chất
lượng dịch vụ không cao do không có khả năng biểu diễn trực quan
bản đồ, mất nhiều thời gian cung cấp vị trí xuất phát và vị trí đến.
Hình 3.6: Minh hoạ giao diện chỉ sử dụng tin nhắn SMS
Tóm lại, hệ thống cung cấp dịch vụ tìm đường trong thành phố được thiết
kế với khả năng đáp ứng yêu cầu dịch vụ khá đa dạng, phù hợp cho nhiều đối
tượng sử dụng khác nhau. Hệ thống hỗ trợ đồng thời tất cả các kiểu dịch vụ nêu
trên. Mỗi kiểu dịch vụ có thể được coi như là một gói dịch vụ độc lập nhưng
thống nhất về hệ thống thông tin, mục đích khai thác.
- 51 -
Để thận tiện cho tham chiếu và sử dụng trong các nội dung trình bày sau,
mỗi kiểu khác thác dịch vụ trên được coi là một gói dịch vụ trong hệ thống dịch
vụ tìm đường và ký hiệu như sau:
Gói TD1: triển khai dịch vụ theo kiểu thứ nhất
Gói TD2: triển khai dịch vụ theo kiểu thứ hai
Gói TD3: triển khai dịch vụ theo kiểu thứ ba
Gói TD4: triển khai dịch vụ theo kiểu thứ tư
Gói TD5: triển khai dịch vụ theo kiểu thứ năm
Sơ đồ tổng quát của hệ thống dịch vụ và khách hàng khai thác dịch vụ
được thể hiện như sau (hình 3.7):
- 52 -
Hình 3.7: Sơ đồ tổng quát hệ thống dịch vụ tìm đường
KHÁCH HÀNG
DỊCH VỤ TÌM ĐƯỜNG
Máy chủ, cơ sở dữ liệu chung
Gói TD1 Gói TD2 Gói TD3 Gói TD4 Gói TD4
Duyệt web,
GPS, hiển
thị bản đồ
GPS, SMS,
hiển thị bản
đồ
Duyệt web,
hiển thị bản
đồ
SMS, phần
mềm nhập
vị trí
Chỉ dùng
tin nhắn
SMS
Mạng Internet,
dịch vụ Web
Mạng GSM,
dịch vụ SMS
GPS
- 53 -
3.3.8. Vấn đề cập nhật tình trạng hệ thống giao thông
Cập nhật trạng thái của hệ thống giao thông là một nhiệm vụ quan trọng.
Ý nghĩa lớn nhất của dịch vụ tìm đường này là chỉ ra đường đi thực sự hữu ích
có tính đến các yếu tố biến động thường xuyên, tác động lên đường đi tìm được
như yếu tố tắc đường chẳng hạn.
Thực hiện việc cập nhật trạng thái tuyến đường có thể tiến hành theo
nhiều cách khác nhau hoặc phối hợp đồng thời nhiều cách:
Thứ nhất: lắp đặt hệ thống camera quan sát tại các điểm trọng yếu (nút
giao thông, các cung đường hay xảy ra tắc nghẽn). Theo phương án này, hệ
thống cần phải có chức năng phân tích hình ảnh, xác định trạng thái tuyến được.
Công việc phân tích hình ảnh này có thể được thực hiện một cách tự động bởi
phần mềm máy tính hoặc do người làm thủ công. Giải pháp này có ưu điểm là
đảm bảo tính cập nhật (ngay tức thời), thông tin chính xác. Tuy nhiên đây là giải
pháp tốn kém do phải chi phí nhiều cho trang bị và duy trì hoạt động của hệ
thống camera, cùng với đó là phải giải quyết vấn đề truyền thông giữa các
camera với trung tâm.
Thứ hai: kết hợp với trung tâm dịch vụ điện thoại để tiếp nhận các thông
tin về trạng thái các nút giao thông qua điện thoại. Mỗi người dân tham gia giao
thông sẽ được khuyến nghị tham gia vào hệ thống. Họ sẽ gọi điện hay nhắn tin
đến hệ thống để thông báo về tình trạng giao thông (một cách tự nguyện). Phía
hệ thống phải có bộ phận tiếp nhận và cập nhật các thông tin này, cần có sự
tham gia trực tiếp của con người với sự hỗ trợ của thiết bị, phần mềm. Giải pháp
này có ưu điểm là chi phí đầu tư thấp. Thực chất, các chi phí này được san sẻ
cho những người tham gia giao thông. Tuy nhiên, giải pháp này có một số
nhược điểm lớn đó là tính cập nhật thấp, bị động (tuỳ thuộc vào người tham gia
giao thông), độ tin cậy của thông tin nhận được không cao, khó kiểm chứng.
Thứ ba: về phương tiện và cách thức thu thập thông tin thì tương tự như
cách thứ hai nhưng đối tượng cung cấp thông tin có bổ sung thêm nhóm người
khai thác dịch vụ. Đối với người khai thác dịch vụ, họ được yêu cầu phải cung
cấp thông tin về trạng thái của hệ thống giao thông tại vị trí hiện tại của họ (với
giả thiết họ đang tham gia giao thông) mỗi khi có yêu cầu dịch vụ. Theo cách
này, thông tin về tình trạng hệ thống giao thông sẽ thu thập được nhiều hơn. Các
mặt ưu và nhược điểm về cơ bản tương tự như đã trình bày ở cách thứ hai.
- 54 -
Chương 4: CÀI ĐẶT THỬ NGHIỆM
Trình bày các nội dung cài đặt thử nghiệm dịch vụ LBS tìm đường đi
trong nội thành thành phố Hà Nội. Lựa chọn mô hình, kiểu dịch vụ, công nghệ
áp dụng và kết quả.
4.1. Lựa chọn mô hình cài đặt
4.1.1. Mô hình dịch vụ
Do hạn chế về thời gian và phương tiện (phần cứng) thể hiện nên tác giả
lựa chọn cài đặt một nhánh nhỏ theo mô hình kết hợp sử dụng công nghệ web
thông qua mạng Internet với dịch vụ tin nhắn SMS đã giới thiệu ở chương 3
(nhánh đánh dấu bằng đường nét đứt ở hình 3.7); truyền dữ liệu qua mạng GSM
dưới dạng tin nhắn SMS; triển khai kiểu dịch vụ thứ ba (đã giới thiệu ở mục
3.2.7) nhưng không tích hợp bộ thu GPS, thực hiện mô phỏng thiết bị thu GPS.
Phía máy chủ: tập trung biểu diễn hiện trạng khai thác dịch vụ một cách
trực quan trên bản đồ số; giao tiếp với máy trạm qua dịch vụ tin nhắn SMS. Máy
chủ lưu trữ dữ liệu bản đồ số thành phố Hà Nội (dữ liệu chủ yếu được xây dựng
để thử nghiệm). Cài đặt thuật toán tìm kiếm đường đi ngay tại máy chủ.
Phía máy khách: sử dụng điện thoại thường, mô phỏng bộ thu GPS tạo số
liệu toạ độ hiện thời, gửi yêu cầu và nhận kết quả trả về dưới dạng tin nhắn.
Hình 4.1: Giao tiếp của hệ thống LBS thử nghiệm
MẠNG TRUYỀN
THÔNG DI ĐỘNG
MÁY CHỦ GSM MODEM
MÁY KHÁCH
SMS
SMS
SMS
- 55 -
4.1.2. Phần cứng
Máy chủ: máy tính để bàn hoặc máy xách tay có cấu hình yêu cầu ở mức
trung bình, giao tiếp được với GSM Modem.
GSM Modem: là thiết bị ghép nối máy tính giúp giao tiếp với mạng di
động GSM. Có thể sử dụng GSM Modem chuyên dụng hoặc điện thoại di động
đóng vai trò GSM Modem để thực hiện việc gửi, nhận tin nhắn SMS từ máy
tính.
Máy khách: sử dụng các loại điện thoại thông thường, không cần tích hợp
thiết bị thu GPS.
4.2. Lựa chọn công nghệ
4.2.1. Xử lý dữ liệu bản đồ số bằng MapInfo
MapInfo là phần mềm bản đồ đang được sử dụng khá rộng rãi trên thị
trường Việt Nam. MapInfo thiên về quản lý, tổng hợp thông tin, xây dựng các
loại bản đồ chuyên đề số nên chức năng số hóa bản đồ của MapInfo còn hạn
chế. Điểm mạnh của MapInfo là khả năng hiển thị, giàn trang in rất tiện lợi và
đây là một trong những ưu thế của MapInfo so với các phần mềm GIS khác.
Giải pháp hỗ trợ cho desktop của MapInfo tương đối nhỏ gọn nên MapInfo đang
được chiếm ưu thế lớn ở Việt Nam, nhất là đối với những nơi tiếp cận GIS sớm,
quy mô nhỏ.
Ngoài các giải pháp desktop, MapInfo còn có các giải pháp mạng, ứng
dụng Web. Với sự hỗ trợ triển khai dịch vụ trên nền web song song với ứng
dụng desktop, MapInfo tỏ ra là một lựa chọn phù hợp cho triển khai thử nghiệm
dịch vụ LBS trong đề tài.
Một số đặc điểm chính của MapInfo gồm:
- Có thể chạy trên các hệ điều hành: UNIX, Windows.
- Hỗ trợ các thiết bị: Bàn số, máy quét ảnh, chuột, các máy vẽ.
- Các chức năng chính: Tạo vùng đệm, phân tích bản đồ, phân tích mạng.
- Cấu trúc dữ liệu: dữ liệu thuộc tính, dữ liệu bảng biểu, hình ảnh.
- Đơn giản, dễ sử dụng
- Phù hợp với mô hình quy mô nhỏ
- Có khả năng giao tiếp với một số phần mềm GIS khác
- 56 -
Do một số ưu điểm và khả năng đáp ứng khá tốt cho các yêu cầu xử lý dữ
liệu, triển khai dịch vụ nên MapInfo là lựa chọn phù hợp cho xử lý dữ liệu bản
đồ số thành phố Hà Nội, áp dụng trong dịch vụ LBS cài đặt thử nghiệm.
Phiên bản sử dụng trong công tác xử lý dữ liệu bản đồ của đề tài là
MapInfo Professional 9.0. Phiên bản này có giao diện đẹp, công cụ thao tác
thuận tiện.
Sử dụng bộ công cụ của MapInfo. Phần mềm để soạn thảo, hiệu chỉnh dữ
liệu tĩnh của bản đồ số thành phố Hà Nội là MapInfo Professional 9.0.
Hình 4.2: Giao diện soạn thảo bản đồ MapInfo Professional 9.0
Hình 4.2 thể hiện giao diện của MapInfo đồng thời là một phần dữ liệu
tĩnh bản đồ số thành phố Hà Nội sử dụng trong hệ thống cài đặt thử nghiệm của
đề tài. Bản đồ chủ yếu thể hiện các tuyến phố chính, các điểm nút giao thông
quan trọng để cài đặt thử nghiệm thuật toán tìm đường trong dịch vụ LBS.
- 57 -
4.2.2. Công cụ lập trình
Công cụ lập trình chính được sử dụng trong cài đặt thử nghiệm dịch vụ
LBS của đề tài là bộ Microsoft Visual Studio 2008. Đây là bộ công cụ phát triển
các ứng dụng chuyên nghiệp của Microsoft đang được nhiều nhà phát triển phần
mềm lựa chọn sử dụng.
Microsoft Visual Studio 2008 triển khai các ứng dụng trên môi trường
.Net (.Net framework).
Một số ưu điểm chính của Microsoft Visual Studio 2008:
- Hỗ trợ nhiều ngôn ngữ lập trình như: VB.Net, C#, C++, ASP.Net
- Có khả năng phát triển nhiều loại ứng dụng khác nhau: ứng dụng giao
diện cửa sổ (Windows Forms Application), ứng dụng kiểu giao diện text
(Console Application), phát triển các thư viện, ứng dụng web...
- Ngoài các ứng dụng chạy trên hệ điều hành Windows cho các dòng máy
tính, Microsoft Visual Studio 2008 còn hỗ trợ phát triển ứng dụng cho thiết bị
thông minh (Smart Device).
- Hỗ trợ nhiều kiểu lập trình khác nhau như hướng đối tượng, hướng sự
kiện, hướng thành phần,...
- Phát triển các ứng dụng đa luồng.
- Hỗ trợ viết mã: trợ giúp trực tuyến giúp lập trình viên nhanh chóng hoàn
thiện các đoạn mã của mình, không phải nhớ nhiều cú pháp phức tạp của câu
lệnh.
- Các tính năng thiết kế trực quan, tự động sản sinh mã nguồn giúp người
lập trình tạo ra các sản phẩm một cách hiệu quả trong thời gian ngắn.
- 58 -
Hình 4.3: Giao diện Microsoft Visual Studio 2008
4.2.3. Cài đặt ứng dụng desktop và web với MapXtreme
MapXtreme là một môi trường phát triển lý tưởng để tạo ra các ứng dụng
bản đồ và bản đồ trung tâm. MapXtreme là một trong các thành phần chính của
bộ MapInfo. Phiên bản MapXtreme 2008 tương thích và tích hợp luôn với bộ
Microsoft Visual Studio 2008. MapXtreme 2008 cung cấp các công cụ điều
khiển bản đồ thông dụng, các ứng dụng mẫu, và chức năng kéo và thả. Bản
desktop MapXtreme 2008 hỗ trợ hoàn toàn cho các ngôn ngữ Microsoft.NET
như VisualBasic.NET, C.
Với ứng dụng web, MapXtreme 2008 có nhiều hỗ trợ mạnh. Việc phát
triển một ứng dụng bản đồ trên nền web với MapXtreme 2008 là khá dễ dàng và
nhanh chóng. Có thể sử dụng tất cả các ngôn ngữ .NET như ASP.NET trong môi
trường MapXtreme 2008.
- 59 -
Hình 4.4: Giao diện MS Studio 2008 với sự tích hợp của MapXtreme 2008
Hình 4.5: Hiển thị dữ liệu bản đồ bằng MapXtreme 2008
Các công cụ lập trình xử lý dữ
liệu bản đồ của MapXtreme
tích hợp vào bộ Microsoft
Visual Studio 2008.
- 60 -
4.2.4. Giao tiếp GSM Modem bằng tập lệnh AT
Dịch LBS tìm đường đi trong thành phố cài đặt thử nghiệm của đề tài sử
dụng giao tiếp giữa máy chủ và khách thông qua dịch vụ tin nhắn. Máy khách là
các loại thiết bị liên lạc di động hỗ trợ sẵn khả năng gửi nhận tin nhắn. Máy chủ
là máy tính thông thường giao tiếp với mạng GSM thông qua thiết bị đóng vai
trò là GSM Modem.
Để thuận tiện cho thử nghiệm, hệ thống sử dụng một điện thoại di động có
khả năng kết nối với máy tính đóng vai trò của một GSM Modem. Để lập trình
cho điện thoại này thực hiện các hoạt động: gửi, nhận, quản lý các tin nhắn gửi
đi và nhận về trong hệ thống, ta có thể sử dụng bộ lệnh điều khiển modem AT.
Giới thiệu chung về tập lệnh AT
AT Commands (viết tắt của Attention Commands) là tập các lệnh được sử
dụng để điều khiển modem. Hầu hết các lệnh trong đó bắt đầu bởi “AT” hay
“at” nên nó được gọi là tập lệnh AT. Với tập lệnh AT chúng ta hoàn toàn có thể
điều khiển được các modem GSM/GPRS và điện thoại di động (có tích hợp
GSM Modem). Tập lệnh này do Viện Tiêu Chuẩn Viễn Thông Châu Âu
(European Telecommunication Standards Institute - ETSI) đưa ra.
Các GSM modem hỗ trợ tập lệnh AT chuẩn để giao tiếp với ứng dụng
máy tính. Ngoài ra, modem có thể có tập lệnh mở rộng. Nếu ứng dụng máy tính
sử dụng tập lệnh AT chuẩn để giao tiếp với modem thì ứng dụng đó không phụ
thuộc vào thiết bị.
Các tập lệnh AT cơ bản
Các tập lệnh đưới giới thiệu dưới đây được công bố theo chuẩn máy Nokia.
Bảng 4.1: Tập lệnh AT xử lý tin nhắn (SMS), chế độ văn PDU
Lệnh Mô tả
AT+CMGL Xem danh sách message
AT+CMGR Đọc message
AT+CMGS Gửi message
AT+CMGW Lưu message
- 61 -
Bảng 4.2: Tập lệnh AT điều khiển cuộc gọi
Lệnh Mô tả
ATA Lệnh trả lời
ATD Lệnh gọi
ATH Lệnh cúp máy
ATL Bật chế độ loa bên trong
ATM Chế độ loa ngoài
ATO Go on-line
ATP Set pulse dial as default
ATT Thiết đặt nhạc chuông mặc định
AT+CSTA Chọn kiểu địa chỉ
Bảng 4.3: Tập lệnh AT điều khiển Card
Lệnh Mô tả
AT&F Trở về chế độ mặc định
AT&V Xem những thiết đặt
AT+GMI Xem thông tin nhà sản xuất
AT+GMM Xem thông tin đời của điện thoại
AT+GMR Xem phiên bản sản xuất
AT+GSN Xem số IMEI
Bảng 4.4: Tập lệnh AT điều khiển máy điện thoại
Lệnh Mô tả
AT+CBC Xạc pin
AT+CPAS Chế độ hoạt động của điện thoại
AT+CPBF Tìm kiếm trong danh bạ
AT+CPBR Đọc danh bạ
AT+CPBW Lưu vào danh bạ
AT+CSQ Xem lưu lượng sóng
- 62 -
Bảng 4.5: Tập lệnh AT xử lý tin nhắn (SMS), chế độ văn bản
Lệnh Mô tả
AT+CSMS Chọn dịch vụ message
AT+CMGF Định dạng message
AT+CSCA Số của trung tâm dịch vụ
AT+CSMP Thiết đặt dạng text
AT+CSDH Hiển thị chế độ text
AT+CSAS Lưu thiết đặt
AT+CRES Phục hồi cài đặt
AT+CMGL Xem danh sách message
AT+CMGR Đọc message
AT+CMGS Gửi message
AT+CMSS Gửi message từ bộ nhớ
AT+CMGW Lưu message vào bộ nhó
AT+CMGD Xóa message
Cách sử dụng tập lệnh AT để điều khiển modem
Để gửi/nhận tin nhắn SMS, ta cần kết nối thiết bị là GSM modem vào
cổng COM của máy tính. Nếu modem kết nối máy tính bằng cổng USB thì cần
phải biết tên của thiết bị trong hệ thống hoặc thiết bị đã được kết nối qua cổng
COM mô phỏng nào. Chương trình máy tính và thiết bị trao đổi dữ liệu thông
qua hệ thống lệnh AT chuẩn. Tùy vào thiết bị và nhà sản xuất, mỗi modem có
thể có hệ thống lệnh AT mở rộng nhằm tối ưu và nâng cao khả năng kết nối của
thiết bị với máy tính.
Trong chương trình giao tiếp với modem bằng lệnh AT, trước hết cần tạo
một kết nối cổng COM tới modem. Sau đó gửi đến cổng COM những lệnh AT
tương ứng và đọc kết quả thực thi lệnh AT từ cổng COM. Cần kiểm tra kết nối
và modem bằng cách sử dụng nhóm lệnh: AT, +CPIN, +CSCA, +CGMI,
+CGMM, +CMEE, +CSMS, +CSQ, +CBC trước mỗi phiên làm việc.
Để đọc thiết lập hiện tại, dùng lệnh AT có thêm ký tự ‘?’. Để xem những
giá trị nào có thể thiết lập, dùng lệnh AT có thêm hai ký tự ‘=?’. Để thiết lập giá
trị thông số mới, dùng lệnh AT có thêm ký tự ‘=’, và theo sau đó là những giá trị
- 63 -
thông số mới. Để gửi một nội dung đến một thuê bao của khách hàng, sử dụng
lệnh +CMGS. Trong trường hợp nội dung cần gửi đến nhiều khách hàng khác
nhau ta sử dụng lệnh +CMGW ghi SMS lên bộ nhớ của modem, sau đó
dùng lệnh +SMSS để gửi SMS đó đến các khách hàng khác nhau. Cách này cho
phép nâng cao tốc độ làm việc của modem nhờ giảm thiểu trao đổi thông
tin giữa modem và chương trình.
Có thể gửi SMS theo hai chế độ văn bản (text mode, +CMGF = 1) và
chế độ mặc định PDU (Protocol Data Unit, +CMGF = 0). Giá trị các thiết lập
thông số cho chế độ văn bản và PDU có khác nhau cho một số lệnh AT. Ví dụ,
với lệnh đọc tất cả các tin nhắn +CMGL tiếp nhận các thông số "REC
UNREAD","REC READ","STO UNSENT", "STO SENT" và "ALL" trong chế
độ văn bản. Trong khi đó ở chế độ PDU sẽ là các giá trị 0 - 4. Ngoài ra, không
phải tất cả các GSM modem đều hỗ trợ chế độ văn bản. Thử nghiệm cho thấy
không chỉ những điện thoại lạc hậu, mà ngay cả với một số loại điện thoại hiện
đại, chẳng hạn W580, cũng không hỗ trợ chế độ văn bản khi làm việc với các
chương trình trên máy tính. Trong khi đó, chế độ PDU thì tất cả các modem đều
hỗ trợ và chế độ này cho phép gửi hình ảnh và nhạc chuông. Từ đó cho thấy, khi
xây dựng một chương trình làm việc với các GSM modem, cần phải nghiên cứu
tài liệu kỹ thuật của từng loại modem để có thể thiết lập đúng những thông số
mà modem đó hỗ trợ. Tất cả các modem đều phải hỗ trợ tập các lệnh AT chuẩn
nên nếu chương trình sử dụng tập lệnh AT chuẩn để làm việc với các modem,
thì hệ thống sẽ không bị phụ thuộc vào thiết bị được sử dụng.
Sau đây là một ví dụ sử dụng lệnh AT và chương trình HyperTerminal
của Windows để gửi tin nhắn SMS. Nội dung dưới đây là các lệnh và kết quả trả
về từ màn hình giao diện HyperTerminal:
AT
OK
AT+CMGF=1
OK
AT+CMGW="0982713301"
> Day la noi dung thong diep thu nghiem.
+CMGW: 1
OK
AT+CMSS=1
+CMSS: 20
OK
Nội dung trên được giải thích như sau:
- 64 -
Dòng thứ nhất: “AT” để gửi tới GSM modem nhằm kiểm tra kết nối.
GSM modem gửi lại xâu “OK” (dòng thứ 2) cho biết kết nối giữa
HyperTerminal và modem là tốt.
Dòng thứ 3: câu lệnh “AT+CMGF” để báo cho modem biết lựa chọn chế
độ làm việc SMS là văn bản (text mode). Kết quả trả về “OK” báo rằng lệnh
“AT+CMGF=1” đã thực hiện thành công. Nếu kết quả là “ERROR” thì có nghĩa
là lệnh đã không được thực hiện thành công, điều này cũng có nghĩa là modem
không hỗ trợ SMS text mode. Để xác nhận, thực hiện lệnh “AT+CMGF=?”, nếu
kết quả trả về là “+CMGF: (0,1)” trong đó 0=PDU mode và 1=Text mode. Nếu
kết quả là “+CMGF: (1)” thì Text mode được hỗ trợ, ngược lại thì không.
Các dòng 5 và 6: câu lệnh “AT+CMGW” được sử dụng để ghi một thông
điệp đến modem. Số điện thoại nhận là “0982713301”. Sau khi nhập xong số
điện thoại nhận tin nhắn, nhấn phím Enter, modem gửi lại dấu nhắc “>”, tiếp
theo nhập nội dung tin nhắn muốn gửi (trong ví dụ là “Day la noi dung thong
diep thu nghiem.”). Nhấn tổ hợp phím “Ctrl+z” để kết thúc soạn nội dung tin
nhắn.
Dòng 7: “+CMGW:1” cho biết chỉ số được gắn với tin nhắn là 1. Đây
cũng chính là vị trí của tin nhắn trong bộ nhớ lưu trữ tin nhắn văn bản.
Dòng 9: kết quả trả về “OK” báo lệnh “AT+CMGW” đã thực hiện thành
công.
Dòng 10: “AT+CMSS” được sử dụng để gửi tin nhắn được lưu trong bộ
nhớ tin nhắn tại ví trí 1.
Dòng 11: “+CMSS:20” cho biết số hiệu tham chiếu được gán cho tin nhắn
là 20.
Dòng 13: “OK” báo câu lệnh “AT+CMSS” đã được thực hiện thành công.
4.3. Định dạng gói tin SMS sử dụng để giao tiếp trong hệ thống
Hệ thống thử nghiệm sử dụng tin nhắn SMS để gửi yêu cầu, truyền tải
thông tin kết quả giữa máy chủ và máy khách. Định dạng gói tin được quy ước
như sau:
4.3.1. Máy khách cài đặt phần mềm
Định dạng gói tin này sử dụng để giao tiếp giữa phần mềm phía máy
khách với máy chủ. Các gói tin sẽ được máy khách, máy chủ sinh tự động theo
yêu cầu người dùng. Trong trường hợp này, người dùng dễ dàng khai thác dịch
vụ hơn vì không phải nhớ định dạng gói tin yêu cầu dịch vụ, giao diện đẹp. Tuy
nhiên yêu cầu máy khách phải cài được phần mềm.
- 65 -
4.3.1.1. Gói tin yêu cầu
Gói tin yêu cầu được phần mềm phía máy khách gửi đi đề yêu cầu máy
chủ cung cấp dịch vụ. Gói tin yêu cầu có cấu trúc như sau:
Lenh HT Dau Cuoi PT TTGT
Đầu tin nhắn Cuối tin nhắn
Hình 4.6: Định dạng gói tin yêu cầu 1
Lenh: mã quy ước lệnh khai thác dịch vụ, biểu diễn dưới dạng xâu văn
bản, luôn bắt đầu bằng dấu @ (ví dụ: “@TD” để tìm đường).
HT: Vị trí hiện thời của của người sử dụng (cũng chính là vị trí của máy
khách). Vị trí này có thể nhận được thông qua thiết bị định vị hoặc do người
dùng cung cấp (gián tiếp qua vị trí đầu, nếu để trống).
Dau: Vị trí đầu (xuất phát) được biểu diễn bằng ID (mã nhận dạng) của
nút giao thông hay tuyến đường, toạ độ chính xác (x,y). Nếu dữ liệu để trống, hệ
thống sẽ lấy thông tin vị trí hiện tại thay thế. Phần mềm xử lý phía máy chủ sẽ tự
động phân tích nhận dạng kiểu dữ liệu phù hợp.
Cuoi: Vị trí đến, vị trí này được biểu diễn bằng ID của nút giao thông hay
tuyến đường, toạ độ chính xác (x,y). Toạ độ nhận được thông qua thiết bị trỏ
hoặc trung tâm của nút giao thông hay tuyến đường do người dùng cung cấp.
PT: Xác định kiểu phương tiện sử dụng để lưu thông trên lộ trình cần tìm.
Đây là tham số quan trọng để hệ thống tìm đường sử dụng làm cơ sở lựa chọn
đường đi cho thích hợp. Nếu người dùng đi xe máy thì sẽ dễ dàng tìm ra đường
đi hơn là đi ô tô (đòi hỏi đường rộng hơn, rồi vấn đề giới hạn chiều lưu thông
đối với ô tô). Giá trị của PT=”0” nếu đi phương tiện là xe máy hay các phương
tiện khác tương tự hoặc đi bộ. PT=”1” nếu đi bằng phương tiện là ô tô.
TTGT: Thông tin cho biết tình trạng giao thông hiện tại (của điểm xuất
phát – được hiểu là vị trí người sử dụng đang đứng). Có 3 giá trị tương ứng với
3 trạng thái: bình thường, bị tắc nhẹ, bị tắc hoàn toàn. Trong đó, giá trị “0” ứng
với bình thường, “1” ứng với tắc nhẹ và “2” ứng với tắc hoàn toàn.
4.3.1.2. Gói tin báo kết quả
Gói tin báo kết quả được máy chủ gửi trả lại cho máy khách để thông báo
kết quả xử lý yêu cầu của máy khách. Kết quả có thể là tìm kiếm thành công
hoặc thất bại. Gói tin báo kết quả có cấu trúc như sau:
- 66 -
TieuDe
NoiDung
Hình 4.7: Định dạng gói tin kết quả 1
TieuDe: được trình bày trên một dòng (ngăn cách bằng ký tự xuống
dòng), giá trị của tiêu đề là một xâu văn bản có nội dung theo quy ước “@KQ”.
NoiDung: được sử dụng để trình bày kết quả tìm kiếm. Nếu tìm thành
công, đây sẽ là danh sách ID của các nút giao thông hay các cung đường phải đi
qua. Mỗi ID ngăn cách bởi một dấu phảy (,). ID được trình bày theo cấu trúc
Nid nếu tham chiếu đến nút giao thông, Did nếu tham chiếu đến cung đường.
Trong đó id là một giá trị số tương ứng với từng đối tượng. Nếu tìm kiếm thất
bại, nội dung này sẽ được để trống.
4.3.2. Máy khách chỉ sử dụng tin nhắn SMS
Định dạng gói tin này áp dung cho trường hợp máy khách không cài đặt
được phần mềm bản đồ hoặc người sử dụng lựa chọn hình thức giao tiếp bằng
tin nhắn SMS.
4.3.2.1. Gói tin yêu cầu
Gói tin yêu cầu được máy khách gửi đi đề yêu cầu máy chủ cung cấp dịch
vụ. Ví dụ, khi máy khách muốn xác định đường đi từ vị trí hiện hành đến một
điểm đích nào đó, máy khách sẽ sử dụng gói tin yêu cầu để gửi tới máy chủ
(thông qua số điện thoại đã công bố).
Gói tin được biểu diễn thuần tuý văn bản, chia thành 5 trường, mỗi trường
ngăn cách nhau bởi ký tự xuống dòng. Cấu trúc gói tin được mô tả như sau:
Lenh Dau Cuoi TTGT PT
Đầu tin nhắn Cuối tin nhắn
Hình 4.8: Định dạng gói tin yêu cầu 2
- 67 -
Lenh: mã quy ước lệnh khai thác dịch vụ, biểu diễn dưới dạng xâu văn
bản (ví dụ: “TD” để tìm đường).
Dau: Vị trí hiện thời của của người sử dụng (cũng chính là của máy
khách). Vị trí này có thể nhận được thông qua thiết bị định vị hoặc do người
dùng cung cấp. Vị trí có thể biểu diễn bằng cặp toạ độ (x,y) hoặc tên nút giao
thông hay tuyến đường. Phần mềm xử lý phía máy chủ sẽ tự động phân tích
nhận dạng kiểu dữ liệu phù hợp. Vị trí này cũng chính là vị trí xuất phát.
Cuoi: Vị trí đến, vị trí này có thể biểu diễn dưới dạng toạ độ thông qua
thiết bị trỏ (áp dụng cho trường hợp có hiển thị bản đồ số phía máy khách) hoặc
tên nút giao thông hay tuyến đường do người dùng cung cấp. Định dạng tương
tự như định dạng của vị trí xuất phát.
TTGT: Thông tin cho biết tình trạng giao thông hiện. Có 3 giá trị tương
ứng với 3 trạng thái: bình thường, bị tắc nhẹ, bị tắc hoàn toàn. Trong đó, giá trị
“0” ứng với bình thường, “1” ứng với tắc nhẹ và “2” ứng với tắc hoàn toàn.
PT: Xác định kiểu phương tiện sử dụng để lưu thông trên lộ trình cần
tìm. Giá trị của PT=”xemay” nếu đi phương tiện là xe máy hay các phương tiện
khác tương tự hoặc đi bộ. PT=”Oto” nếu đi bằng phương tiện là ô tô. Giá trị của
PT có thể được bỏ qua, khi đó hệ thống tự động xác định phương tiện sử dụng là
“xe máy”.
4.3.2.2. Gói tin báo kết quả
Gói tin báo kết quả được máy chủ sử dụng để trả lời cho máy khách. Gói
tin này được dùng để thông báo kết quả tìm đường theo yêu cầu của máy khách.
Trường trường hợp tìm được giá trị biểu diễn chính là danh sách các cung đường
phải đi qua và độ dài tương ứng. Trường hợp không tìm được sẽ là thông báo
“không tồn tại đường đi cần tìm” dưới dạng văn bản.
Ngoài chức năng báo kết quả, gói tin này còn có thể sử dụng với vai trò
xác nhận thông tin. Trong trường hợp máy khách gửi số liệu về “vị trí xuất
phát”, “vị trí đến” dưới dạng tên nút giao thông, tuyến đường. Nếu dữ liệu
không hoàn toàn khới với dữ liệu hiện có trên máy chủ thì khi đó máy chủ sẽ
phải yêu cầu máy khách xác nhận lại thông tin chính xác. Để trợ giúp cho người
dùng lựa chọn được chính xác, máy chủ sẽ gửi về danh sách một số “tên” có
mức độ “giống” cao nhất so với “tên” đã được yêu cầu. Nếu người dùng trả lời
với “tên” để trống hoặc không trả lời sau khoảng thời gian quy định hệ thống sẽ
tự huỷ bỏ yêu cầu dịch vụ. Gói tin trả lời xác nhận thông tin của người dùng chỉ
- 68 -
gồm một xâu văn bản biểu diễn “tên” được chọn. Cấu trúc gói tin được mô tả
như sau:
TieuDe
NoiDung
Hình 4.9: Định dạng gói tin kết quả 2
TieuDe: được trình bày trên một dòng (ngăn cách bằng ký tự xuống
dòng), giá trị của tiêu đề là một xâu văn bản theo quy ước:
Là “Ket qua:” nếu vị trí cung cấp hợp lệ và đã thực hiện việc tìm đường.
Là “Vi tri xuat phat:” nếu yêu cầu người dùng phải xác định lại vị trí xuất
phát. Trong trường hợp này, phần “NoiDung” sẽ liệt kê danh sách các “tên” để
gửi ý người dùng lựa chọn, mỗi “tên” trên một dòng.
Là “Vi tri den:” nếu yêu cầu người dùng phải xác định lại vị trí đến và
cũng có danh sách gợi ý giống như trường hợp yêu cầu xác định vị trí xuất phát.
Là “Phuong tien:” nếu yêu cầu người dùng xác định lại phương tiện sử
dụng do không thể nhận dạng được phương tiện mà người dùng đã yêu cầu
trước đó. Phần “NoiDung” sẽ thể hiện danh sách phương tiện hợp lệ.
NoiDung: được sử dụng để trình bày kết quả tìm kiếm hoặc danh sách gợi
ý cho người dùng.
Nếu là kết quả tìm kiếm: trong trường hợp không tìm thấy, đây sẽ là xâu
văn bản “khong ton tai duong di can tim”. Trường hợp tìm được, dòng đầu tiên
sẽ là xâu “di theo lo trinh”, các dòng tiếp theo là các cung đường phải đi qua.
Mỗi cung đường thể hiện bằng tên và độ dài tương ứng (ngăn cách bởi dấu
phẩy).
Nếu là danh sách gợi ý, mỗi dòng tương ứng với một “tên” gợi ý cho
khách hàng.
4.4. Xử lý tìm đường tại máy chủ
Việc xác định đường đi giữa hai điểm theo yêu cầu của người dùng được
thực hiện tại máy chủ. Sau khi nhận được tin nhắn yêu cầu dịch vụ từ phía máy
khách, máy chủ tiến hành phân tích tin nhắn để xác định số điện thoại của máy
khách, các số liệu liên quan đến vị trí hiện thời của máy khách, điểm xuất phát,
điểm cần đến, phương tiện giao thông, tình trạng giao thông tại vị trí hiện thời
của máy khách (để cập nhật thông tin tình trạng giao thông cho hệ thống).
- 69 -
4.4.1. Thuật toán tìm đường
Thuật toán tìm đường tại máy chủ được cài đặt dựa trên thuật toán
Dijkstra với một số cải tiến nhằm tăng tốc độ xử lý và tiết kiệm bộ nhớ.
Dữ liệu đồ thị (biểu diễn hệ thống giao thông) được lưu trữ bằng danh
sách kề kèm theo trọng số. Trọng số trong đồ thị không chỉ đơn giản là một giá
trị biểu diễn độ dài đường đi mà bao gồm nhiều giá trị khác nhau (độ dài đường
đi, độ rộng, tình trạng tắc đường,...).
Với thuật toán Dijkstra gốc, thậm chí ngay cả khi đã sử dụng danh sách kề
kèm trọng số để biểu diễn đồ thị thì tốc độ vẫn khá chậm. Trong trường hợp xấu
nhất, thuật toán có thể cần đến n lần có định nhãn (trong đó n là số đỉnh) và mỗi
lần tìm đỉnh để cố định nhãn sẽ mất một đoạn chương trình với độ phức tạp
O(n).
Để tăng tốc độ xử lý, thuật toán được cài đặt có sự điều chỉnh. Thực ra xét
về bản chất, tư tưởng thuật toán không thay đổi. Thay đổi ở đây chủ yếu là kỹ
thuật biểu diễn và xử lý dữ liệu. Thông thường thì bước tìm đỉnh tự do có “giá
trị” nhỏ nhất phải quét toàn bộ các đỉnh nên mất nhiều thời gian (quét cả đỉnh đã
cố định). Để không phải quét lại đỉnh đã cố định, thủ tục tìm kiếm sử dụng danh
sách dạng liên kết để lưu danh sách đỉnh. Mỗi khi cố định một đỉnh thì đồng thời
loại bỏ đỉnh đó khỏi danh sách để không phải duyệt lại.
Để tiết kiệm bộ nhớ, phần cài đặt sử dụng danh sách liên kết (con trỏ đối
tượng) để hạn chế việc lưu lặp lại dữ liệu.
Thuật toán có thể được mô tả ngắn gọn thông qua qua 3 bước chính sau:
Bước 1: Khởi tạo
- Khởi tạo danh sách kề từ dữ liệu đồ thị
- “Giá trị” tất cả các đỉnh ban đầu bằng “số vô cùng lớn”
- Riêng đỉnh xuất phát có giá trị bằng chi phí tình từ điểm xuất
phát tới đó.
- Tất cả các nút đều tự do
Bước 2: Lặp
Lặp chừng nào danh sách kề còn khác rỗng:
- Tìm đỉnh tự do có “giá trị” nhỏ nhất. Nếu tất cả các đỉnh đều đã
cố định hoặc đỉnh tìm được là đỉnh kết thúc thì sang bước 3
- Cố định đỉnh tìm được
- Loại bỏ đỉnh tìm được khỏi danh sách kề
- 70 -
- Duyệt các đỉnh kề với đỉnh tìm được, tối ưu “giá trị” của các
đỉnh này theo giá trị của đỉnh tìm được (nếu đỉnh chưa cố định),
lưu vết.
Bước 3: Lấy kết quả
- Tìm đỉnh cuối (giá trị của đỉnh này là chi phí đường đi)
- Nếu giá trị đỉnh cuối là “số vô cùng lớn” thì kết luận không tìm
được đường, kết thúc.
- Nếu không, duyệt và đưa ra danh sách các cung (hay đỉnh) phải
đi qua dựa theo vết đã lưu cho đến khi về đỉnh xuất phát (thứ tự
ngược).
4.4.2. Xử lý phần dữ liệu “mờ” trong đồ thị
Thông tin về các cung đường, nút giao thông (như độ dài, bề rộng) nhìn
chung là ít thay đổi, nhưng tình trạng tắc đường thì thường xuyên thay đổi và
được cập nhật thông qua người dùng và các hệ thống thu thập thông tin khác. Do
vậy trong quá trình tìm đường, tham số về mức độ tắc đường được sử dụng để ra
quyết định có đi theo nhánh nào đó hay không.
Tình trạng tắc đường có thể đã xảy ra ở thời điểm hiện tại nhưng vào thời
điểm người dùng đi đến (sau một khoảng thời gian) có thể không còn tắc. Cũng
có thể hiện tại đường chưa tắc nhưng sau khoảng thời gian nữa sẽ bị tắc. Như
vậy để hạn chế các “tư vấn” khiến người dùng bị kẹt đường vì sau đó đường mới
bị tắc hay bỏ qua mất đường đi “tốt hơn” chỉ vì hiện tại bị tắc nhưng sau đó lại
thông, hệ thống sẽ lưu lại lịch sử tắc đường của từng giao lộ, từng cung đường
để sử dụng lại. Tại thời điểm nào đó, mỗi khi xác định tình trạng tắc đường,
ngoài số liệu hiện tại, hệ thống còn căn cứ vào thời điểm và tần suất xảy ra tắc
đường được lưu trong lịch sử tắc đường để đưa ra lựa chọn phù hợp.
Tóm lại, việc quyết định rẽ vào cung đường nào đó ngoài chi phí về độ
dài còn tính đến tình trạng giao thông lúc bấy giờ và “dự đoán” trong tương lai.
4.4.3. Xử lý kết quả trả lại máy khách
Kết thúc quá trình tìm kiếm, máy chủ gửi lại cho máy khách thông báo kết
quả tìm kiếm. Nếu tồn tại đường đi, máy chủ sẽ gửi về danh sách các cung
đường phải đi qua bằng tin nhắn SMS. Nội dung được gửi là danh sách ID của
các cạnh phải đi qua kèm theo quãng đường tính từ điểm xuất phát tới đỉnh đầu
(tương ứng với cung đường đầu tiên) và quãng đường từ đỉnh cuối (cung đường
cuối) đến điểm kết thúc.
Máy khách căn cứ vào nội dung tin nhắn trả lời từ máy chủ để thông báo
cho người dùng biết kết quả tìm kiếm. Trong trường hợp tìm kiếm thành công,
- 71 -
dựa vào danh sách các cung đường phải đi qua sẽ vẽ lên bản đồ lộ trình tìm
được, kèm theo đó là màn hình thông báo lộ trình dưới dạng văn bản.
4.5. Giao diện của hệ thống
Nội dung tiếp theo trình bày về giao diện cho phần mềm cung cấp dịch vụ
phía máy chủ và phần mềm khai thác dịch vụ phía máy khách.
4.5.1. Giao diện phía máy chủ
Giao diện này phục vụ cho người làm công tác quản lý dịch vụ để giám
sát, điều hành hoạt động của hệ thống. Giao diện này thể hiện được dữ liệu bản
đồ số một cách trực quan thuận tiện cho theo dõi trạng thái hiện hành của toàn
hệ thống. Ngoài ra, thông qua giao diện, người quản lý có thể cập nhật các thông
tin về trạng thái giao thông hiện tại (tình trạng tắc đường) với thông tin thu thập
được từ các nguồn khác nhau. Thông qua giao diện, người quản lý cũng thấy
được mức độ, tình trạng các yêu cầu dịch vụ của khách hàng để điều tiết.
Không chỉ cung cấp giao diện điều khiển, phần mềm phía máy chủ còn
thực hiện các hoạt động giao tiếp với máy khách (nhận, gửi tin nhắn theo yêu
cầu dịch vụ), thực hiện xử lý các yêu cầu của khách hàng (tìm đường đi).
Để nâng cao hiệu quả, tốc độ xử lý, phần mềm phía máy chủ được lập
trình theo kiểu xử lý đa luồng (Multithreads). Mỗi yêu cầu của một khách hàng
sẽ được xử lý theo một luồng riêng.
Giao diện chính phần mềm phía máy chủ được thể hiện như ở hình sau:
- 72 -
Hình 4.10: Giao diện phần mềm phía máy chủ
4.5.2. Giao diện phía máy khách
Phần mềm phía máy khách được cài đặt trên thiết bị di động người sử
dụng mang theo và dùng để khai thác dịch vụ. Theo thiết kế thử nghiệm này,
yêu cầu máy khách phải sử dụng hệ điều hành Windows Mobile phiên bản 5.0
trở lên (hiện được thiết kế trên hệ điều hành, chưa thử nghiệm trên các phiên bản
thấp hơn).
Phần mềm phía máy khách có chức năng xác định toạ độ hiện thời của
người dùng, qua đó xác định vị trí xuất phát. Người dùng cung cấp vị trí đến,
phương tiện giao thông sử dụng, đặc biệt là tình trạng giao thông ở vị trí hiện tại.
Cuối cùng là gửi yêu cầu đến hệ thống cung cấp dịch vụ theo điều khiển của
người sử dụng.
Giao diện lúc mới khởi động như sau:
- 73 -
Hình 4.11: Giao diện phần mềm phía máy khách (mới khởi động)
Giao diện phía máy khách hiển thị bản đồ nội thành Hà Nội với các tuyến
đường chính hoàn toàn đồng bộ với nội dung bản đồ ở phía máy chủ. Nếu yêu
cầu tìm đường của người dùng được xử lý thành công, trên bản đồ hiển thị được
tuyến đường người dùng cần đi qua để đến đích. Ngoài bản đồ chính, trên giao
diện phía máy khách còn có thể hiển thị đồng thời một bản đồ thu nhỏ toàn cảnh
cho thấy vị trí khung nhìn hiện thời trên bản đồ, thuận tiện cho quan sát và điều
khiển vùng nhìn bản đồ.
Các ký hiệu sử dụng trên bản đồ:
- Vị trí hiện thời của người dùng:
- Điểm xuất phát được lựa chọn:
- Điểm đến:
- Con trỏ bản đồ:
Các chức năng chính của phần mềm được trình bày trên các mục chọn
(menu), người dùng có thể sử dụng các nút điều khiển có sẵn trên điện thoại để
thực hiện các chức năng này. Hình 4.12 thể hiện giao diện với các mục chọn trên
menu.
- 74 -
Hình 4.12: Giao diện phần mềm phía máy khách (menu chính)
Nhóm chức năng tìm đường (Tim duong) bao gồm các chức năng chính
sau:
- “Tim...”: khởi động chức năng tìm đường, trước đó, người dùng
nên lựa chọn nơi đến ngay trên bản đồ (nhanh hơn là tìm trên
danh sách).
- “Hien ket qua tim duong...”: hiển thị kết quả đường đi đã tìm
được dưới dạng văn bản trên một cửa sổ riêng.
- “Xoa ket qua tim duong”: xoá các dữ liệu về kết quả đường đi
đã tìm được theo yêu cầu trước đó.
- “Dat chon noi di”: nếu người dùng không muốn lấy vị trí hiện
hành làm nơi xuất phát mà muốn lựa chọn điểm khác thì có thể
sử dụng chức năng này để nhập nơi đi.
- “Dat chon noi den”: người dùng có thể sử dụng “thiết bị trỏ” để
xác định điểm đến. Trong trường hợp muốn nhập bằng tên nơi
đến, người dùng có thể sử dụng chức năng này.
- 75 -
- “Xoa lua chon”: xoá các dữ liệu lựa chọn cho các thông số: nơi
đi, nơi đến (khởi tạo mặc định).
- “Hien tai”: chuyển con trỏ (khung nhìn) đến điểm hiện tại (định
vị được qua GPS, dữ liệu demo GPS).
- “Noi di”: chuyển con trỏ (khung nhìn) đến nơi đi đã xác định.
- “Noi den”: chuyển con trỏ (khung nhìn) đến nơi đến đã xác
định.
- “Kết thúc”: sử dụng để thoát khỏi chương trình, kết thúc ứng
dụng.
Nhóm chức năng công cụ (Cong cu) gồm các chức năng chính:
- “Thong tin vi tri”: cho biết toạ độ vị trí con trỏ hiện thời.
- “An/Hien ten duong chon”: ẩn hoặc hiện thông báo tên đường
tại trí con trỏ (nếu đang trỏ lên đường).
- “An/Hien ban do nho”: thực hiện việc ẩn hoặc hiện bản đồ toàn
cảnh nhỏ ở góc phải dưới màn hình.
- “Chuyen den toa do”: đưa con trỏ ngay lập tức đến toạ độ mới
theo yêu cầu (trong phạm vi bản đồ).
- “GPS Demo...”: tạo các số liệu vị trí hiện thời (thay cho thiết bị
thu GPS) để thử nghiệm. GPS Demo tạo ra 4 bộ số liệu vị trí đã
xác định từ trước. Ngoài vị trí cố định, GPS Demo còn tạo ra
các vị trí yêu cầu một cách ngẫu nhiên.
- “Toc do di chuyen”: đặt tốc độ di chuyển con trỏ (3 cấp: trung
bình, nhanh, chậm).
- “Thiet lap cau hinh”: thực hiện thiết lập cấu hình cho hệ thống
như: số điện thoại cung cấp dịch vụ, đường dẫn,...
- 76 -
Giao diện sau khi kích hoạt và thực hiện chức năng tìm đường:
Hình 4.13: Giao diện phần mềm phía máy khách (tìm đường)
Hoạt động:
- Người dùng phải cung cấp đầy đủ các số liệu thì mới thực hiện
được yêu cầu dịch vụ.
- Các số liệu phải cung cấp: nơi đi, nới đến, phương tiện sử dụng.
Ngoài ra, người sử dụng còn phải cho biết trạng thái giao thông
ở vị trí hiện tại để cập nhật dữ liệu chung cho cả hệ thống.
- 77 -
KẾT LUẬN
Ngày nay với sự ra đời và ứng dụng rộng rãi của thiết bị đàm thoại di
động không chỉ giúp “rút ngắn” khoảng cách địa lý, thuận tiện trong giao tiếp,
liên lạc mà còn giúp con người triển khai điều nhiều ứng dụng, dịch vụ hữu ích
phục vụ cho lao động sản xuất cũng như trong cuộc sống thường ngày. Với sự
kết hợp của công nghệ GPS (Global Positioning System – Hệ thống định vị toàn
cầu), công nghệ truyền thông không dây, công nghệ GIS (Geographic
Information Systems - Hệ thống thông tin địa lý) và công nghệ Internet đã cho
ra đời một loại hình dịch vụ mới, dịch vụ dựa trên vị trí địa lý được biết đến với
tên viết tắt là LBS (Location-based Service).
Cuốn luận văn này trình bày nội dung và các kết quả thực hiện đề tài
“Nghiên cứu phát triển hệ thống dịch vụ dựa trên vị trí địa lý và thử nghiệm”.
Mục tiêu chính của đề tài là nghiên cứu về dịch vụ LBS, phương pháp triển khai
ứng dụng trong thực tế, trên cơ sở đó thiết kế thử nghiệm một dịch vụ phù hợp
với điều kiện thực tế trong nước.
Những nội dung và kết quả chính đạt được:
- Nghiên cứu đặc điểm chính, các thành phần, các mô hình dịch vụ
LBS, các kỹ thuật định vị; đặc điểm cũng như mặt hạn chế của các
thiết bị di động sử dụng trong khai thác dịch vụ LBS; một số vấn đề
cơ bản về Fuzzy, ứng dụng Fuzzy trong bài toán tìm đường đi ngắn
nhất; trên cơ sở đó thiết kế và cài đặt thử nghiệm dịch vụ LBS hỗ trợ
tìm đường đi trong thành phố.
- Hoàn thành việc thiết kế dịch vụ LBS cung cấp dịch vụ tìm đường đi
trong thành phố. Xây dựng mô hình triển khai dịch vụ LBS dựa trên
sự tích hợp của nhiều phương tiện truyền thông nhằm đáp ứng tốt nhất
cho các nhu cầu cũng như điều kiện khai thác khác nhau của người
dùng. Mô hình lựa chọn hỗ trợ cho nhiều kiểu cung cấp dịch vụ, phù
hợp cho cấu hình máy trạm từ mạnh đến yếu một cách linh hoạt. Phần
xử lý tìm đường đi ngoài các yếu tố cố định của hệ thống giao thông
đô thị, hệ thống còn thu thập và xử lý các số liệu khác tác động đến
chất lượng cũng như khả năng tìm được đường đi. Các yếu tố này có
tính chất thay đổi theo thời gian như mật độ giao thông từng cung
đường, tình trạng bị tắc hay không tắc tại các điểm nút giao thông.
- 78 -
- Lựa chọn một gói dịch vụ trong Hệ thống dịch vụ LBS đã thiết kế và
các giải pháp công nghệ phù hợp để cài đặt thử nghiệm. Hệ thống thử
nghiệm đã cài đặt thực hiện giao tiếp khách-chủ thông qua dịch vụ tin
nhắn SMS, xử lý yêu cầu dịch vụ, tìm đường đi và báo kết quả về máy
khách. Hệ thống đã đưa vào chạy thử nghiệm thành công trên máy
tính và điện thoại di động trên các dữ liệu thử nghiệm mẫu.
Một số mặt hạn chế:
- Mô hình dịch vụ thiết kế mặc dù đã tính đến nhiều khả năng cung cấp
cũng như khai thác dịch vụ nhưng chưa có điều kiện thử nghiệm toàn
bộ để có thể đánh giá chính thức về hiệu quả thực tế.
- Phần cài đặt thử nghiệm mới chỉ áp dụng được cho một gói dịch vụ
trong điều kiện còn hạn chế và thiết bị phần cứng.
- Phạm vị dữ liệu mẫu thử nghiệm còn hẹp (nội thành thành phố Hà
Nội, chưa chi tiết đến các hẻm, đường nhỏ).
Hướng nghiên cứu, phát triển:
Cài đặt và thử nghiệm toàn bộ dịch vụ LBS đã thiết kế, thực thi trên dữ
liệu mẫu lớn hơn để có điều kiện đánh giá, điều chỉnh mô hình cung cấp dịch vụ,
tiến tới hoàn thiện hệ thống. Cài đặt chương trình trên các hệ điều hành, môi
trường phần cứng khác nhau và hoàn thiện thành sản phẩm ứng dụng để có thể
đưa vào thực tế khai thác một cách có hiệu quả.
- 79 -
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Bùi Công Cường, Nguyễn Doãn Phước (2006), Hệ mờ mạng nơron & ứng
dụng, NXB Khoa học và Kỹ thuật.
2. Đặng Văn Đức, Nguyễn Tiến Phương và người khác (2008), “Một số kỹ
thuật áp dụng trong việc phát triển mô hình dịch vụ trên cơ sở vị trí địa
lý”, Kỷ yếu Hội nghị khoa học ICT.rda08, Hà Nội.
3. Phan Xuân Minh, Nguyễn Doãn Phước (2006), Lý thuyết điều khiển mờ,
NXB Khoa học và Kỹ thuật.
4. Nguyễn Tiến Phương, Đặng Văn Đức, Trần Mạnh Trường (2006), “Một
phương pháp xây dựng ứng dụng bản đồ số trên thiết bị trợ giúp các nhân
(PDA)”, Kỷ yếu hội thảo Quốc gia về Công nghệ thông tin, Đà lạt.
Tiếng Anh
5. Ahmed El-Rabbany (2002), Introduction to GPS, ARTECH HOUSE,
INC.
6. Jochen Schiller, Agnès Voisard (2004), Location-Based Services, Morgan
Kaufmann Publishers is an imprint of Elsevier.
7. Kathie Kingsley-Hughes (2005), Hacking GPS, Wiley Publishing, Inc.,
Indianapolis, Indiana.
8. Petrik S., Mandarasz L., Adam N., Vokorokos L. (2003), Application of
Shortest Path Algorithm to GIS using Fuzzy Logic, 4th International
Symposium of Hungarian Researchers on Computational Intelligence,
Budapest, Hungary.
9. Stefan Steiniger, Moritz Neun and Alistair Edwardes, Foundations of
Location Based Services, CartouCHe - Lecture Notes on LBS, V. 1.0.
10. Shu Wang, Jungwon Min, Byung K (2008), Location Based Services for
Mobiles, LG Electronics MobileComm, U.S.A.,Inc.
11. Tumasch Reichenbacher, Liqiu Meng, Alexander Zipf, (2005), Map-
based Mobile Services, Springer-Verlag Berlin Heidelberg.
- 80 -
Website
12.
13.
14.
aug/22_1.htm
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG DỊCH VỤ DỰA TRÊN VỊ TRÍ ĐỊA LÝ VÀ THỬ NGHIỆM.pdf