1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng

74 274 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài: “Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng” tập trung tìm hiểu những khái niệm cơ bản về công nghệ CSDL đối tượng chuyển động dựa theo mã nguồn mở Secondo và ứ

Trang 1

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

MỤC LỤC

LỜI CAM ĐOAN iv

LỜI CẢM ƠN v

DANH MỤC TỪ VIẾT TẮT vi

MỞ ĐẦU 1

Chương 1 TỔNG QUAN VỀ CSDL ĐỐI TƯỢNG CHUYỂN ĐỘNG VÀ CÁC CÔNG CỤ PHÁT TRIỂN 3

1.1 Cơ sở dữ liệu 3

1.1.1 Định nghĩa cơ sở dữ liệu 3

1.1.2 Ưu điểm của việc sử dụng CSDL 3

1.1.3 Tổ chức CSDL 4

1.1.4 Hệ quản trị cơ sở dữ liệu 5

1.2 Cơ sở dữ liệu đối tượng chuyển động 6

1.2.1 Điểm chuyển động 7

1.2.2 Vùng chuyển động 9

1.2.3 Đặc tính của các đối tượng chuyển động 10

1.2.4 Mô hình dữ liệu khái quát cho đối tượng chuyển động 11

1.2.5 Công nghệ khai phá dữ liệu 11

1.3 Cơ sở dữ liệu không gian 12

1.3.1 Mô phỏng khái niệm không gian 13

1.3.2 Mở rộng mô hình dữ liệu và ngôn ngữ truy vấn 15

1.4 Cơ sở dữ liệu thời gian 18

1.4.1 Quản lý thời gian trong cơ sở dữ liệu dạng chuẩn 18

1.4.2 Miền thời gian 19

1.5 Dịch vụ công nghệ điện toán đám mây Google App Engine (GAE) 19

1.5.1 Tổng quan về điện toán đám mây 19

1.5.2 Google App Engine (GAE) 20

1.6 Hệ thống định vị toàn cầu GPS - Global Positioning System 27

1.6.1 Phần không gian: 28

1.6.2 Phần kiểm soát: 29

1.6.3 Phần sử dụng: 29

1.7 Kết luận 29

Trang 3

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Chương 2 HỆ THỐNG LƯU TRỮ CSDL ĐỐI TƯỢNG CHUYỂN ĐỘNG 30

2.1 Tổng quan về hệ thống lưu trữ CSDL đối tượng chuyển động 30

2.2 Hệ thống lưu trữ CSDL đối tượng chuyển động Secondo 30

2.2.1 Giới thiệu 30

2.2.2 Kiến trúc 31

2.2.3 Quản lý dữ liệu đối tượng chuyển động: 36

2.2.4 Truy vấn dữ liệu 39

2.2.5 Thuật toán tối ưu hóa: Tìm đường đi ngắn nhất của một đồ thị thứ tự vị từ (predicate order graph - POG) 41

2.3 Kết luận 46

Chương 3 THIẾT KẾ VÀ THỬ NGHIỆM TRÊN HỆ THỐNG LƯU TRỮ DỮ LIỆU CHUYỂN ĐỘNG 47

3.1 Giới thiệu bài toán 47

3.1.1 Cấu trúc chương trình 48

3.1.2 Phân tích hệ thống 49

3.1.3 Mô hình hoạt động 50

3.2 Cài đặt và cấu hình Secondo 50

3.2.1 Cài đặt Secondo trên Ubuntu 14.04 50

3.2.2 Cấu hình Secondo lần đầu trong Hệ điều hành Ubuntu 14.04 51

3.2.3 Giao diện hệ thống Secondo 52

3.3 Thử nghiệm 53

3.3.1 Thao tác trên Secondo 53

3.3.2 Thao tác trên thiết bị được thử nghiệm 54

3.4 Đánh giá 59

3.5 Kết luận 60

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

TÀI LIỆU THAM KHẢO 63

PHỤ LỤC: 64

Trang 4

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

LỜI CAM ĐOAN

Tôi xin cam đoan toàn bộ nội dung quyển luận văn này là do tôi tự sưu tầm, tra cứu và xây dựng đáp ứng nội dung yêu cầu của đề tài

Nội dung bản luận văn chưa từng được công bố hay xuất bản dưới bất

kỳ hình thức nào và cũng không được sao chép từ bất kỳ một công trình nghiên cứu nào

Phần mã nguồn của chương trình do tôi thiết kế và xây dựng, trong đó

có sử dụng một số thư viện chuẩn và các thuật toán được các tác giả xuất bản công khai và miễn phí trên mạng Internet

Nếu sai tôi xin hoàn toàn chịu trách nhiệm

Thái Nguyên, tháng 08 năm 2015

Tác giả

Lương Văn Nhất

Trang 5

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

LỜI CẢM ƠN

Sau một thời gian tìm hiểu và nghiên cứu, luận văn “Nghiên cứu cơ sở

dữ liệu đối tượng chuyển động và ứng dụng” đã hoàn thành Ngoài sự cố

gắng của bản thân, tôi đã nhận được nhiều sự khích lệ từ phía nhà trường,

thầy cô, gia đình và bạn bè

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo - TS Nguyễn Như Sơn – Viện Công nghệ thông tin thuộc Viện Hàn lâm Khoa học

và Công nghệ Việt Nam là giáo viên hướng dẫn tôi đã tận tình giúp đỡ trong suốt thời gian làm luận văn

Em xin chân thành cảm ơn các thầy, cô đã luôn nhiệt tình giúp đỡ, truyền đạt những kiến thức và kinh nghiệm quý báu trong suốt quá trình học tập

Xin chân thành cảm ơn các anh, các chị và các bạn học viên học cùng lớp Cao học K11I đã luôn động viên, giúp đỡ và chia sẻ với tôi những kinh nghiệm học tập trong suốt khoá học

Tôi xin chân thành cảm ơn Ban giám hiệu trường THCS Ninh Nhất, các thầy cô giáo trong trường đã tạo điều kiện tốt nhất để tôi có thể hoàn thành khoá học này

Mặc dù đã có nhiều cố gắng, song do điều kiện nghiên cứu và trình độ, luận văn không tránh khỏi những khiếm khuyết Em chân thành mong nhận được sự đóng góp ý kiến của các thầy, cô giáo và bạn bè đồng nghiệp gần xa

Một lần nữa em xin cảm ơn!

Người thực hiện luận văn

Lương Văn Nhất

Trang 6

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

DANH MỤC TỪ VIẾT TẮT

- API Application Programming Interface

- DBMS Database Management System

- GPS Global Position System

- JVM Java Virtual Machine

- KTG Không gian-thời gian (Spatio-temporal)

- LBS Location-based service

- MOD Moving Objects Databases

- GUI Graphic User Interface

Trang 7

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

DANH MỤC HÌNH

Hình 1.1 Kiểu dữ liệu không gian (point, line, region) 6

Hình 1.2: Điểm thay đổi rời rạc (trái) - Điểm thay đổi liên tục (phải) 8

Hình 1.3: Trình diễn rời rạc của một điểm chuyển động 9

Hình 1.4 Vùng thay đổi rời rạc (trái) - Vùng thay đổi liên tục (phải) 9

Hình 1.5 Công nghệ khai phá dữ liệu từ MOD 12

Hình 1.6 Điểm, đường và vùng 14

Hình 1.7 Phân vùng 15

Hình 1.8 Mạng 15

Hình 1.9 Kiến trúc hoạt động của GAE 22

Hình 1.10: Phân bố các vệ tinh GPS 28

Hình 2.1 Kiến trúc hệ thống Secondo 31

Hình 2.2 Kiến trúc thô của nhân trong hệ thống Secondo 32

Hình 2.3 Mô hình quản lý dữ liệu chuyển động 36

Hình 2.4 Đồ thị POG với ba vị từ p, q, r 41

Hình 2.5 Hình xây dựng đệ quy của đồ thị POG 43

Hình 2.6 Hai truy vấn đồ thị 44

Hình 3.1 Mô hình bài toán tìm kiếm 47

Hình 3.2 Mô hình hoạt động của ứng dụng 50

Hình 3.3 Một số lệnh khởi tạo hệ thống Secondo 51

Hình 3.4 Giao diện hệ thống Secondo 53

Hình 3.5 Thực thi lệnh ifconfig trên Ubuntu 54

Hình 3.6 Giao diện chính 55

Hình 3.7 Giao diện theo dõi hành trình của thiết bị 56

Hình 3.8 Giao diện truy vấn thông tin địa điểm 57

Hình 3.9 Kết quả truy vấn 58

Hình 3.10 Kết quả tìm đường đi 59

Trang 8

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

cụ thể là các CSDL của đối tượng chuyển động (Moving Object Database - MOD), một dạng của CSDL không gian-thời gian (spatio-temporal - KTG)

Đề tài: “Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng

dụng” tập trung tìm hiểu những khái niệm cơ bản về công nghệ CSDL đối

tượng chuyển động dựa theo mã nguồn mở Secondo và ứng dụng xây dựng chương trình tìm kiếm địa điểm dựa trên việc xác định vị trí và đường đi của người sử dụng điện thoại di động

2 Đối tượng và phạm vi nghiên cứu của đề tài:

CSDL đối tượng chuyể [6];

Công nghệ CSDL MOD dựa theo mã nguồn mở Secondo [11];

Công nghệ điện toán đám mây của Google [9];

Dữ liệu GPS của thiết bị Smartphone

3 Hướng nghiên cứu của đề tài:

Nghiên cứu cơ sở khoa học, công nghệ CSDL đối tượng chuyển động dựa theo mã nguồn mở Secondo

Trang 9

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Lưu trữ dữ liệu GPS của thiết bị Smartphone lên máy chủ CSDL Secondo

Cài đặt ứng dụng demo “Xác định vị trí và đường đi của thiết bị

Smartphone”

4 Phương pháp nghiên cứu:

Nghiên cứu cơ sở khoa học, công nghệ ối tượng chuyển động dựa theo mã nguồn mở Secondo;

, Internet, … Phương pháp thực nghiệm

Trang 10

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Chương 1 TỔNG QUAN VỀ CSDL ĐỐI TƯỢNG CHUYỂN ĐỘNG

VÀ CÁC CÔNG CỤ PHÁT TRIỂN 1.1 Cơ sở dữ liệu

1.1.1 Đị nh nghĩa cơ sở dữ liệu

Cơ sở dữ liệu là tập hợp các dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình Dữ liệu là những sự kiện có thể ghi lại được và có ý nghĩa Ví dụ như:

- Họ và tên: Lương Văn Nhất

- Ngày sinh: 22/8/1985

- Địa chỉ: Xã Quỳnh Lưu, huyện Nho Quan, tỉnh Ninh Bình

- Điện thoại: 0946864885

- Tên cơ quan: Trường THCS Ninh Nhất

Tất cả các CSDL đều có thể được biểu diễn bởi hệ thống các thực thể, thuộc tính và mối quan hệ giữa các thực thể

1.1.2 Ưu điểm của việc sử dụng CSDL

Từ khái niệm trên, ta thấy rõ ưu điểm nổi bật của CSDL là:

Giảm sự trùng lặp thông tin xuống mức thấp nhất và do đó đảm bảo được tính nhất quán và toàn vẹn dữ liệu

Đảm bảo sự độc lập giữa dữ liệu và chương trình ứng dụng: Cho phép thay đổi cấu trúc, dữ liệu trong cơ sở dữ liệu mà không cần thay đổi chương trình ứng dụng

Trừu tượng hoá dữ liệu (Data Abstraction): Mô hình dữ liệu được sử dụng để làm ẩn lưu trữ vật lý chi tiết của dữ liệu, chỉ biểu diễn cho người sử dụng mức khái niệm của cơ sở dữ liệu

Nhiều khung nhìn (multi-view) cho các đối tượng người dùng khác nhau: Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác

Trang 11

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

nhau Vì yêu cầu của mỗi đối tượng sử dụng CSDL là khác nhau nên tạo ra nhiều khung nhìn vào dữ liệu là cần thiết

Đa người dùng (multi-user): Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau [2]

1.1.3 Tổ chức CSDL

CSDL được tổ chức có cấu trúc: Thành các bản ghi (record), các trường

dữ liệu (field) Các dữ liệu lưu trữ có mối quan hệ (relational) với nhau CSDL được cấu trúc để dễ dàng truy cập, quản lý và cập nhật dữ liệu

Table (Bảng): Là một thành phần cơ bản trong chương trình quản trị

cơ sở dữ liệu quan hệ Bảng được hình thành khi sắp xếp các thông tin có liên quan với nhau theo hàng và cột Các hàng tương ứng với các bản ghi (record) dữ liệu và các cột tương ứng với trường dữ liệu Các bạn hãy xem bảng Người quen Các hàng là người, mỗi hàng tương ứng với một người Các cột là trường (hay lĩnh vực) của thông tin

Record (bản ghi): Trong chương trình quản trị cơ sở dữ liệu, đây là

một đơn vị hoàn chỉnh nhỏ nhất của dữ liệu, được lưu trữ trong những trường hợp dữ liệu đã được đặt tên Trong một cơ sở dữ liệu dạng bảng, bản ghi dữ liệu đồng nghĩa với hàng (row) Bản ghi chứa tất cả các thông tin có liên quan với mẫu tin mà cơ sở dữ liệu đang theo dõi Ví dụ, trong cơ sở dữ liệu về Người quen, bản ghi sẽ liệt kê tên người quen, ngày sinh, số điện thoại, địa chỉ và tên cơ quan Hầu hết các chương trình đều hiển thị các bản ghi dữ liệu theo hai cách: theo các mẫu nhập dữ liệu và theo các bảng dữ liệu Các bản ghi dữ liệu được hiển thị dưới dạng các hàng ngang và mỗi trường dữ liệu là một cột

Trang 12

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Field (Trường dữ liệu): Trong chương trình quản trị cơ sở dữ liệu,

đây là không gian dành cho một mẫu thông tin trong bản ghi dữ liệu Trong chương trình quản trị CSDL dạng bảng với dữ liệu được tổ chức theo hàng và cột, thì trường dữ liệu tương ứng với các cột Như

ở bảng Cơ quan, ta có các trường Tên cơ quan, Địa chỉ, Thành phố,

Số điện thoại, Lĩnh vực hoạt động

RDBM - Relation Database Management (Quản lý cơ sở dữ liệu quan hệ): Là một cách quản lý cơ sở dữ liệu, trong đó dữ liệu được

lưu trữ trong các bảng dữ liệu hai chiều gồm các cột và các hàng, có thể liên quan với nhau nếu các bảng đó có một cột hoặc một trường chung nhau

Primary key (khóa chính): Là một giá trị dùng để phân biệt bản ghi

này với bản ghi khác Giá trị của khóa chính trong mỗi bản ghi là duy nhất trong cả bảng Có thể xem số chứng minh nhân dân như một khóa chính và không người nào giống người nào

Ngoài khóa chính ra còn có khóa ngoài (foreign key): Khóa ngoài

là giá trị dùng để liên kết giữa các bảng và thiết lập mối quan hệ giữa các bản ghi trong các bảng khác nhau

1.1.4 Hệ quản trị cơ sở dữ liệu

Một hệ quản trị cơ sở dữ liệu là một hệ thống phần mềm trên máy tính cung cấp các công cụ để truy tìm, sửa chữa, xóa và chèn thêm dữ liệu Các chương trình này cũng có thể dùng để thành lập một cơ sở dữ liệu và tạo ra các báo cáo, thống kê [2]

Các hệ quản trị cơ sở dữ liệu liên quan khá thông dụng hiện nay tại Việt Nam là Foxpro, Access cho ứng dụng nhỏ, DB 2, MS SQL và Oracle cho ứng dụng vừa và lớn

Trang 13

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

1.2 Cơ sở dữ liệu đối tượng chuyển động

Cơ sở dữ liệu (CSDL) các đối tượng chuyển động (Moving Objects Databases-MOD) là CSDL hỗ trợ cho mô hình và truy vấn của các dữ liệu địa

lý phụ thuộc thời gian và các đối tượng chuyển động Các ứng dụng dịch vụ dựa trên vị trí (Location based services - LBS) mà MOD cung cấp rất đa dạng

và phong phú như các lĩnh vực: Quản lý và phân tích giao thông, phân tích hành vi người (khách hàng), nghiên cứu môi trường, sinh học (ví dụ theo dõi

sự di cư của động vật theo mùa), khoa học Trái đất, lịch sử,…Xây dựng mô hình dữ liệu cho các đối tượng trong các ứng dụng đó là những yêu cầu luôn được đặt ra, có ba kiểu trừu tượng hóa cơ bản (tham khảo Hình 1.1) có thể

được sử dụng: Điểm (point), đường (line), và vùng (region) [6] Các đối

tượng chuyển động đó cần phải được lưu trữ trong một CSDL

Hình 1.1 Kiểu dữ liệu không gian (point, line, region)

MOD đã được nghiên cứu trong khoảng 15 năm nay, các công trình nghiên cứu CSDL MOD tập trung chủ yếu vào hai góc nhìn khác nhau như sau:

Trang 14

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

- Góc nhìn quản lý vị trí xem xét đến việc lưu trữ trong CSDL các vị trí

hiện tại của các đối tượng chuyển động và các truy vấn cho các vị trí ở thời điểm hiện tại và tương lai gần Cách tiếp cận này không quan tâm đến tính động của chuyển động vì nó không ghi lại tất cả lịch sử của đối tượng chuyển động Nó được coi như một CSDL được ghi lại ngay, duy trì trạng thái hiện tại

- Góc nhìn dữ liệu không gian-thời gian (KTG) xem xét việc lưu trữ

trong một cơ sở dữ liệu không gian của dữ liệu chuyển động, với một quan tâm đến quan sát các sự thay đổi theo thời gian để phân tích hành

vi của các đối tượng chuyển động từ dữ liệu lịch sử của chuyển động Cách tiếp cận này giới thiệu hai kiểu đối tượng chuyển động trừu tượng

cơ bản là điểm chuyển động (moving point) và vùng chuyển động (moving region) [6] Đây là hai kiểu đối tượng chuyển động quan trọng

nhất trong mô hình dữ liệu MOD và hai khái niệm này sẽ được làm rõ ở phần dưới đây

1.2.1 Điểm chuyển động

Một điểm chuyển động (MPoint) là trừu tượng cơ bản của một đối

tượng vật lý chuyển động trên mặt phẳng hoặc trong không gian nhiều chiều,

nó chỉ liên quan đến thay đổi vị trí MPoint được định nghĩa khác như là một

hàm liên tục từ thời gian vào không gian 2 chiều (2D), hoặc như một đường gấp khúc (polyline) trong không gian ba chiều (2D + thời gian) [4] Khi phân tích hành vi chuyển động của người và động vật trong không gian, các chuyển động có thể dễ dàng được mô hình hóa và xử lý như một chuỗi các quan sát

điểm chuyển động, được biểu diễn như là 3 bộ thời gian t và tọa độ (x, y) Ví

dụ cho các đối tượng điểm chuyển động như: ô tô, máy bay, tàu chở hàng, người sử dụng điện thoại di động, động vật,

Trang 15

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Các công trình nghiên cứu CSDL KTG giới thiệu sự phân loại của các

dữ liệu điểm phụ thuộc vào thời gian Những dữ liệu này có thể được xem một cách tự nhiên như được nhúng vào một không gian, đó là tích véc tơ của miền không gian và thời gian và được trình diễn trong một không gian 3D

(tham khảo hình 1.2) Trong miền thời gian t, thời gian có thể được xem là rời

rạc, dày đặc, hoặc liên tục, vì những lý do thực tế các mô hình CSDL thời gian (temporal database) thường dùng các thể hiện rời rạc của thời gian Ngược lại, các mô hình liên tục là tương thích hơn để nói về với các đối tượng chuyển động [6]

Hình 1.2: Điểm thay đổi rời rạc (trái) - Điểm thay đổi liên tục (phải)

Các mô hình chuyển động của các điểm được tập trung vào các khái niệm về hành trình (trajectory), các dữ liệu chuyển động thu được bằng cách

sử dụng bộ phần mềm hỗ trợ định vị và ghi lại các vị trí chuyển động của đối tượng chuyển động Trình diễn cho sự chuyển động của một điểm chuyển động trong một hình thức rời rạc Tiếp cận này thể hiện của thời gian liên kết với một đơn vị chuyển động của một điểm chuyển động trong mặt phẳng x, y như là một hàm của thời gian (hình 1.3)

Trang 16

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Hình 1.3: Trình diễn rời rạc của một điểm chuyển động

1.2.2 Vùng chuyển động

Vùng chuyển động (MRegion) là trừu tƣợng cơ bản của một đối tƣợng

vật lý di chuyển xung quanh trong mặt phẳng hoặc trong một không gian nhiều chiều Những MRegion là những thực thể chuyển động với sự thay đổi

về độ lớn và vị trí theo thời gian trong không gian Các ví dụ về MRegion

nhƣ: cơn bão, cháy rừng, sự cố tràn dầu, sự lây lan của thảm thực vật hoặc

của một căn bệnh, dịch bệnh, MRegion đƣợc trình diễn trong không gian 3

chiều (trong hình 1.4)

Hình 1.4 Vùng thay đổi rời rạc (trái) - Vùng thay đổi liên tục (phải)

Trang 17

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

1.2.3 Đặc tính của các đối tượng chuyển động

Trong phần này, tôi xin trình bày một số đặc điểm của các đối tượng chuyển động, dựa trên các nghiên cứu của các nhà khoa học trong về việc lưu trữ, xử lý các mô hình và các truy vấn của dữ liệu chuyển động Dữ liệu các đối tượng chuyển động thường được lưu trữ trong hệ thống cơ sở dữ liệu không gian - thời gian, cung cấp những ngôn ngữ cho việc đặt ra câu truy vấn

Các đặc tính của đối tượng chuyển động, đối với "hình dạng" của nó trong không gian 3D, có thể được tóm tắt như sau:

Điểm:

• Các sự kiện trong không gian và thời gian: <point, instant>;

• Địa điểm có giá trị trong một thời gian nhất định: <point, period>;

• Thiết lập các vị trí sự kiện theo trình tự: <point, instant>;

• Từng bước đổi vị trí trình tự: <point, period>;

• Các đơn vị chuyển động: điểm chuyển động

Vùng:

• Các sự kiện khu vực trong không gian và thời gian: <region,

instant>;

• Khu vực có giá trị trong một khoảng thời gian: <region, period>;

• Thiết lập các sự kiện khu vực: - chuỗi các <region, instant>;

• Các vùng theo từng bước liên tục: - chuỗi các <region, period>;

• Chuyển động các thực thể với mức độ: vùng chuyển động

Một trong những ứng dụng của đối tượng chuyển động là ta có thể thực hiện các ứng dụng giám sát để mô hình hóa và truy vấn đối tượng chuyển động, sử dụng các phương pháp và các kỹ thuật như việc thực hiện các mô hình dữ liệu được cho bởi các mô đun đại số, mà cung cấp một tập hợp các xây dựng kiểu và một thiết lập của các nhà khai thác, phát triển Các lĩnh vực

Trang 18

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

chuyển động các đối tượng cơ sở dữ liệu xuất hiện đặc trưng bởi hai góc nhìn, quản lý vị trí và cơ sở dữ liệu KTG, như đã đề cập ở trên

1.2.4 Mô hình dữ liệu khái quát cho đối tượng chuyển động

Mô hình dữ liệu hiện thời cho chuyển động vật thể tập trung vào đại diện vị trí trong môi trường đơn và không thể đại diện cho chuyển động vật thể trong môi trường khác Khó khăn chính cần phải có cơ cấu mà áp dụng cho tất cả trường hợp trong môi trường thế giới thực có tính năng khác nhau như là chuyển động tự do và theo quy luật, 2D và 3D Cần đưa ra phương pháp có thể hiển thị cho vị trí chuyển động vật thể trong môi trường khác bao gồm mạng lưới đường sá, mạng xe bus, đường xe điện ngầm và mạng trong nhà

1.2.5 Công nghệ khai phá dữ liệu

Dữ liệu về các đối tượng chuyển động gia tăng theo cấp số nhân Những phản hồi của kiểu hình dịch vụ LBS này mang tính địa lý (gần/xa, nhanh/chậm…) và đòi hỏi phải xử lý trong thời gian thực Các công nghệ truy vấn dựa trên MOD như:

- Truy vấn quá khứ: Trong năm trước, có bao nhiêu lần đối tượng đến điểm X?

- Truy vấn tương lai: Những đối tượng nào sẽ về đến nơi trong vòng 20

phút tới?

- Truy vấn hiện tại: Vị trí của những đối tượng trong phạm vi 1 Km

Trang 19

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Hình 1.5 Công nghệ khai phá dữ liệu từ MOD

Lĩnh vực khai phá dữ liệu MOD là một lĩnh vực đầy tiềm năng, nhưng hoàn toàn mới không chỉ ở Việt Nam mà cả trên thế giới Quá trình khai phá MOD với mục đích khám phá tri thức trong CSDL (Knowledge Discovery in Databases-KDD) Dựa trên công nghệ khai MOD nhiều kiểu ứng dụng khác nhau có thể xử lý hiệu quả: Quản lý giao thông, sinh học, nghiên cứu môi trường,

1.3 Cơ sở dữ liệu không gian

Mục tiêu của nghiên cứu cơ sở dữ liệu không gian là mở rộng mô hình

dữ liệu DBMS và ngôn ngữ truy vấn để có thể hiển thị và truy vấn hình học trong đường đi tự nhiên Triển khai DBMS cần được gia hạn tương ứng cấu trúc dữ liệu cho nhiều kiểu dáng hình học, thuật toán để thực hiện kỹ thuật oán hình học, chỉ mục cho không gian đa chiều, và mở rộng tối ưu hóa (quy tắc dịch thuật, chức năng chi phí) để ánh xạ tới từ ngôn ngữ truy vấn đến mới thành phần liên quan đến hình học

Những động lực chính cho nghiên cứu cơ sở dữ liệu không gian là

những hệ thống thông tin địa lý (GIS - Geographic Information System) Hệ

thống GIS đầu đã chỉ sử dụng giới hạn của công nghệ DBMS, ví dụ, bằng cách lưu trữ dữ liệu phi không gian trong một DBMS như việc quản lý hình

Trang 20

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

học một cách riêng biệt trong các tập tin Dù thế, công nghệ cơ sở dữ liệu không gian đã phát triển như vậy mà bây giờ tất cả các nhà cung cấp DBMS chính (ví dụ như Oracle, IBM DB2, Informix) đề nghị mở rộng không gian Vì vậy nó là dễ dàng hơn bây giờ để xây dựng GIS hoàn toàn như một lớp trên đầu trang của một DBMS, ví dụ, lưu trữ tất cả các dữ liệu trong các DBMS

Thực tế, cơ sở dữ liệu không gian có phạm vi rộng lớn hơn Ngoài không gian địa lý, có những không gian khác cần quan tâm có thể hiển thị trong cơ sở dữ liệu như là:

Bố cục của thiết kế mạch tích hợp với quy mô lớn (là mảng lớn tập hợp các hình chữ nhật)

3D mô hình cơ thể người

Cấu trúc prô - tê - in nghiên cứu trong sinh học phân tử

Một khác biệt quan trọng liên quan đến cơ sở dữ liệu không gian và thời gian.Mặc dầu không gian địa lý có thể được đại diện bởi những hình ảnh thu được bằng hình ảnh trên không hoặc vệ tinh, trọng tâm của DBMS không gian là đại diện cho các thực thể trong không gian với một định nghĩa rõ ràng

vị trí và mức độ.Cơ sở dữ liệu hình ảnh quản lý hình ảnh như vậy.Tất nhiên,

có tồn tại kết nối.Ví dụ, các kỹ thuật khai thác tính năng có thể được sử dụng

để xác định trong vòng một hình ảnh thực thể không gian có thể được lưu trữ trong cơ sở dữ liệu không gian

1.3.1 Mô phỏng khái niệm không gian

Những thực thể để được lưu trữ trong cơ sở dữ liệu không gian? Nếu xét là dấu cách địa lý, bất cứ thứ gì rõ ràng có đủ khả năng có thể xuất hiện trong bản đồ giấy, chẳng hạn, thành phố, sông, mạng đường cao tốc, điểm mốc, ranh giới của quốc gia, bệnh viện, ga tàu điện ngầm, rừng, cánh đồng bắp, và những thứ tương tự như thế

Trang 21

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Để mô hình thực thể muôn hình vạn trạng, một này có thể đưa ra khái niệm để mô hình đối tượng đơn và không gian liên quan tập hợp các đối tượng

Để mô phỏng vật thể đơn, ba khái niệm trừu tượng cơ bản là điểm, đường, và vùng Thể hiện điểm (khía cạnh hình học) của vật thể, dành riêng cho mà nó vị trí trong không gian, nhưng nó không phải mức độ, có liên quan

Ví dụ vật thể điểm là thành phố trên quy mô lớn bản đồ, điểm mốc, bệnh viện, hoặc ga tàu điện ngầm Đường (đường trong không gian) là khái niệm trừu tượng cơ bản cho di chuyển qua không gian, hoặc kết nối trong không gian

Ví dụ vật thể đường là sông, đường cao tốc, hoặc cáp điện thoại Cuối cùng, vùng là khái niệm trừu tượng cho thực thể có mức độ trong không gian 2D Vùng có thể nói chung có lỗ và bao gồm nhiều mảnh rời rạc Ví dụ vật thể vùng là quốc gia, rừng, hoặc hồ Ba khái niệm trừu tượng cơ bản được minh hoạ trong hình 1.6

Hình 1.6 Điểm, đường và vùng

Hai trường hợp quan trọng nhất của không gian liên quan đến tập hợp các đối tượng là phân vùng và mạng Phân vùng (hình 1.7) có thể được xem là tập hợp các đối tượng vùng đã được tách rời ra Mối quan hệ lân cận rất đáng chú ý, đó là, có thường cặp đối tượng vùng với ranh giới phổ biến Phân vùng

có thể được dùng để đại diện cho chủ thể nào đó trên bản đồ

Trang 22

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

1.3.2 Mở rộng mô hình dữ liệu và ngôn ngữ truy vấn

Hiện nay ta xem xét cách khái niệm trừu tượng cơ bản có thể nhúng vào mô hình dữ liệu DBMS

Cho đơn khái niệm trừu tượng đối tượng đơn, đường, và vùng, đó là điều tự nhiên để giới thiệu tương ứng kiểu dữ liệu trừu tượng, hoặc kiểu dữ liệu không gian (spatial data types - SDTs) Chẳng hạn như thử nghiệm xem hai vùng là đang liền kề hoặc một được bao bởi vùng khác, hoặc như tạo thành sự khác biệt của hai vùng hoặc giao lộ của đường với vùng hay khoảng

Trang 23

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

cách giữa điểm và đường, hoặc tập hợp các vùng vào một vùng, hoặc tìm trong tập hợp các điểm đến điểm truy vấn

Tập hợp các kiểu dữ liệu không gian với thao tác liên quan tạo thành đại số không gian Chẳng hạn như, giao lộ của hai đường giá trị sinh ra nói chung tập hợp các điểm, và sự khác biệt của hai vùng, dù là mỗi đối số là vùng đơn giản không có lỗ, có thể mang lại một vùng gồm vài thành phần rời rạc có lỗ Các kiểu dữ liệu được gọi là điểm, đường, và vùng có cấu trúc là minh họa trong hình 1.8

Hình 1.8: Các kiểu dữ liệu không gian điểm, đường và vùng

Ở đây kiểu points cung cấp tập hợp các điểm, kiểu line tập hợp các đường, và kiểu region tập hợp các hình đa giác với lỗ Để một có thể đưa ra

thao tác như là:

intersection: line × line → points

Dữ liệu từng kiểu không gian được định nghĩa, chúng có thể nhúng vào

mô hình dữ liệu DBMS trong vai trò của kiểu thuộc tính Vậy nên ngoài kiểu

chuẩn như là int, real, string, có thể có kiểu không gian points, line, và

region Kiểu này có thể được dùng trong bất kỳ kiểu mô hình dữ liệu DBMS;

dù nó là quan hệ, hướng đối tượng, hoặc một cái gì đó nữa chẳng quan trọng

Trang 24

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Ở thiết lập quan hệ, có thể có quan hệ để đại diện cho thành phố, sông, và quốc gia, ví dụ như :

cities(name: string, population: int, location: points) rivers(name: string, route: line)

highways(name: string, route: line) states(name: string, area: region)

Truy vấn sẽ trình bày bằng cách sử dụng thao tác kiểu dữ liệu không gian trên thuộc tính không gian trong ngôn ngữ truy vấn chuẩn như là SQL Giả sử rằng thuộc tính sẵn sàng :

inside: points × region → bool adjacent: region × region → bool

Từ đó có thể trình bày truy vấn:

Tổng dân số những thành phố ở Pháp là?

SELECT SUM(c.pop) FROM cities AS c, states AS s WHERE c.location inside s.area AND s.name = ’France’

Kết quả một phần của sông Rhine trong nước Đức."

SELECT intersection(r.route, s.area) FROM rivers AS r, states AS s WHERE r.name = ’Rhine’ AND s.name = ’Germany’

Lập danh sách, hiển thị mỗi quốc gia cùng số quốc gia là láng giềng của nó

SELECT s.name, COUNT(*) FROM states AS s, states AS t WHERE s.area adjacent t.area GROUP BY s.name

Trang 25

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

1.4 Cơ sở dữ liệu thời gian

1.4.1 Quản lý thời gian trong cơ sở dữ liệu dạng chuẩn

Cơ sở dữ liệu được quản lý bởi chuẩn DBMS thường mô tả trạng thái hiện hành của thế giới theo như khi nó được biết ở cơ sở dữ liệu Thay đổi tình trạng hiện tại của thế giới sẽ được phản ánh muộn một chút rồi mới cập nhật đến cơ sở dữ liệu sau khi trạng thái trước đây mất đi

Tất nhiên, nhiều ứng dụng của nó là không đủ để chỉ duy trì trạng thái hiện hành; chúng cần theo dõi lịch sử một đoạn đường đi Ở DBMS chuẩn đây là có thể nếu ứng dụng quản lý thời gian chính nó, bằng thêm thuộc tính thời gian rõ ràng và thực hiện đúng kiểu tính toán trong truy vấn Chẳng hạn như, giả sử công ty có bảng nhân viên với mẫu:

NHANVIEN(name:string, department:string, salary:int)

Nếu công ty muốn theo dõi bộ phận và lương trước đây của nhân viên, bảng có thể được mở rộng :

NHANVIEN(name:string, department:string, salary:int, start:date, end:date)

DBMS chuẩn đưa ra hạn chế rất hỗ trợ này dưới dạng kiểu dữ liệu như

là ngày hoặc thời gian

Tuy nhiên, xử lý thời gian trong mẫu đơn này bằng ứng dụng là khó khăn, dễ mắc lỗi, dẫn đến thành lập công thức truy vấn phức tạp và thường thi hành truy vấn không hiệu quả Chẳng hạn như, trong chỗ nối của hai bảng mở rộng thuộc tính thời gian ở trên, cần phải bảo đảm thứ tự khoảng thời gian được nối lại tránh chồng lấp, bằng cách thêm điều kiện rõ ràng trong truy vấn Điều kiện này đem lại vài sự bất bình đẳng về thuộc tính thời gian Chuẩn DBMS thường không tốt lắm khi xử lý sự bất bình đẳng trong tối ưu hoá truy vấn, vậy nên thi hành có thể không hiệu quả Ngược lại, nếu hỗ trợ thời gian đúng được đưa vào DBMS, việc này có thể được thực hiện tự động; tình trạng

Trang 26

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

không được cần đến trong truy vấn, và thi hành sẽ được điều chỉnh để thực hiện kiểu liên kết này rất hữu hiệu

Vậy nên mục tiêu của nghiên cứu cơ sở dữ liệu thời gian đã từng đến tích hợp khái niệm thời gian sâu vào DBMS mô hình dữ liệu và ngôn ngữ truy vấn và để mở rộng hệ thống thích hợp để đạt được thi hành hiệu quả

1.4.2 Miền thời gian

Trước tiên, hãy xem xét bao nhiêu thời gian bản thân có thể mô hình Thời gian nói chung được nhận thấy như không gian một chiều mở rộng từ quá khứ, đến tương lai Có một số tùy chọn :

Khoảng thời gian có thể được xem là giới hạn hoặc vô tận Mô hình giới hạn thừa nhận một số nguồn gốc và cũng là điểm cuối của thời gian

Thời gian có thể được xem là riêng rẽ, dày đặc, hoặc liên tục (discrete,

dense, or continuous.) Mô hình riêng rẽ là đẳng cấu đến số tự nhiên hoặc số

nguyên Mô hình dày đặc đẳng cấu để cả hai hoặc số hữu tỉ hoặc số thực: giữa hai thời điểm của thời gian vừa tồn tại Mô hình liên tục là đẳng cấu đến số thực Xét vì hầu hết mọi người sẽ nhận thấy thời gian khi được liên tục, vì lý

do thực tiễn mô hình cơ sở dữ liệu thời gian thường sử dụng biểu diễn sự rời rạc của thời gian Ngược lại, sau này này mô hình tiến trình liên tục sẽ được dùng, vì này thích hợp hơn để xử lý đối tượng chuyển động

1.5 Dịch vụ công nghệ điện toán đám mây Google App Engine (GAE)

1.5.1 Tổng quan về điện toán đám mây

Điện toán đám mây (Cloud Computing) là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Trong mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải

Trang 27

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó Người dùng có thể truy cập đến bất kỳ tài nguyên nào tồn tại trong "đám mây" tại bất kỳ thời điểm nào và

từ bất kỳ đâu thông qua hệ thống Internet

Vì vậy, điện toán đám mây là môi trường tính toán dựa trên internet mà

ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính và các thiết bị khác theo nhu cầu Hiện nay, dịch vụ công nghệ điện toán đám mây đang được phát triển và cung cấp bởi nhiều nhà cung cấp như: Google App Engine của Google, WindowsAzure của Microsoft, Amazone Webservice của Amazone.com, Sun Cloud của Sun,…

1.5.2 Google App Engine (GAE)

1.5.2.1 Giới thiệu về GAE

Google App Engine là một nền tảng điện toán đám mây của Google để phát triển và lưu trữ ứng dụng web trong những trung tâm dữ liệu do Google quản lý (google-managed data centers)

GAE cho phép người dùng chạy các ứng dụng web trên nền tảng kiến trúc Google Các ứng dụng App Engine được xây dựng và quản lý một cách

dễ dàng Với App Engine, không cần phải bảo trì máy chủ, người dùng tải lên các ứng dụng và nó luôn sẵn sàng phục vụ

GAE được thiết kế để lưu trữ những ứng dụng và phục vụ nhiều người dùng một cách đồng thời Khi một ứng dụng có thể phục vụ nhiều người dùng một cách đồng thời mà không làm giảm hiệu suất, ta gọi đó là sự co giãn (scales) Những ứng dụng được viết cho App Engine sẽ được co giãn một cách tự động Càng nhiều người sử dụng chương trình, App Engine sẽ tạo ra càng nhiều tài nguyên cho ứng dụng đó và quản lý chúng Người dùng có thể kiểm soát các tài nguyên được sử dụng như dung lượng lưu trữ, băng thông để

sử dụng có hiệu quả tối đa các nguồn tài nguyên ứng dụng của mình

Trang 28

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Người dùng có thể sử dụng tên miền riêng của mình hoặc có thể sử dụng tên miền (domain) được cung cấp bởi Google Apps Các ứng dụng có thể được chia sẻ rộng rãi hoặc giới hạn truy cập cho nhóm thành viên của tổ chức của người dùng thông qua phân quyền sử dụng

Hiện nay, GAE hỗ trợ các ngôn ngữ đó là Java, Python và Go Một số ngôn ngữ khác như PHP cũng có thể chạy được nếu cài cùng với bộ chuyển từ PHP sang Java Với môi trường Java, ta có thể xây dựng ứng dụng bằng những công nghệ Java chuẩn, bao gồm JVM, Java servlet và ngôn ngữ lập trình Java hay bất kỳ ngôn ngữ nào sử dụng bộ thông dịch và biên dịch JVM (như là Javascript hay Ruby) GEA cũng cung cấp môi trường cho Python, bao gồm bộ thông dịch Python và các thư viện Python chuẩn Môi trường Java va Python được xây dựng để đảm bảo rằng ứng dụng chạy nhanh, an toàn và không bị ảnh hưởng bởi các ứng dụng khác trong hệ thống

Không như những server cung cấp các dịch vụ lưu trữ thông thường hay các server có chức năng tự quản lý, với Google App Engine, ta chỉ phải trả tiền cho những tài nguyên được sử dụng Những tài nguyên này được đo bằng gigabyte và không có bất kì lệ phí hàng tháng nào hay lệ phí để thay đổi diện mạo trang web Hóa đơn thanh toán những nguồn tài nguyên này bao gồm CPU được sử dụng, lưu trữ hàng tháng, băng thông vào ra (incoming and outgoing bandwidth), và một số các tài nguyên khác của dịch vụ App Engine

Trang 29

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

1.5.2.2 Kiến trúc hoạt động

Hình 1.9 Kiến trúc hoạt động của GAE

Kiến trúc của App Engine khác với những máy chủ lưu trữ ứng dụng web thông thường Ở phần lõi của nó, App Engine sẽ hạn chế những truy cập

từ ứng dụng của người dùng đến cơ sở hạ tầng vật lý, ngăn cản người dùng từ việc mở các socket, chạy các tiến trình ngầm, hay các cách đi khác bằng cổng sau để giúp chương trình của người dùng có quyền trên môi trường này GAE được xây dựng dựa trên khái niệm có thể mở rộng theo chiều ngang, nghĩa là thay vì ứng dụng của người dùng sẽ được chạy trên một phần cứng mạnh mẽ, thì nó có thể chạy trên nhiều phần cứng yếu hơn [3]

Trong hình 1.9 có thể thấy ứng dụng GAE đang chạy như một thực thể

cô lập trong môi trường gồm nhiều thành phần GAE chia sẻ những tài nguyên giữa các ứng dụng, nhưng cô lập về dữ liệu và bảo mật giữa những thành phần với nhau Tùy vào ứng dụng viết theo ngôn ngữ nào, nó sẽ được chạy trên môi trường Java hay Python tương ứng và người dùng sẽ được cung cấp sử dụng miễn phí các dịch vụ của google như URL Fetch, Mail, Memcache, … và được lưu trữ trên cơ sở dữ liệu hướng đối tượng datastore Khi yêu cầu được gửi lên từ phía người dùng, GAE sẽ chuyển yêu cầu đó cho

Trang 30

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

ứng dụng của họ Tùy theo việc xử lý ứng dụng mà người dùng cấu hình và

sử dụng các công nghệ thích hợp của GAE

1.5.2.3 Môi trường phát triển ứng dụng GAE

GAE cung cấp môi trường làm việc hỗ trợ việc xây dựng ứng dụng chạy ổn định một cách dễ dàng, thậm chí dưới tải nặng và với một lượng lớn dữ liệu App Engine bao gồm các tính năng nổi bật sau:

- Dịch vụ web động, với sự hỗ trợ đầy đủ cho các công nghệ web phổ biến

- Lưu trữ liên tục với các truy vấn, phân loại và các giao dịch

- Tự động mở rộng quy mô và cân bằng tải

- API để chứng thực người dùng và gửi email bằng cách sử dụng tài khoản Google

- Đầy đủ tính năng môi trường phát triển ứng dụng và mô phỏng GAE trên máy tính trước khi đẩy lên mạng

- Nhiệm vụ hàng đợi để thực hiện các công việc ngoài phạm vi của một yêu cầu web

- Lịch trình các nhiệm vụ để kích hoạt các sự kiện tại thời gian quy định

và khoảng thời gian nhất định

1.5.2.4 Môi trường thực thi

 Python Runtime

Python Runtime cung cấp APIs cho datastore, Google Accounts, App Engine services Để tiện lợi cho việc phát triển web AppEngine cũng cung cấp 1 web framework đơn giản là webapp Do viết bằng ngôn ngữ Python nên AppEngine hỗ trợ hầu hết các Python framework như Django, CherryPy, Pylons, web.py với một ít thay đổi nhất định

Trang 31

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

 Java Runtime Environment

Người dùng có thể phát triển ứng dụng bằng môi trường chạy Java sử dụng công cụ phát triển web Java phổ biến và các tiêu chuẩn API Ứng dụng của người dùng tương tác với môi trường bằng cách sử dụng công nghệ lõi là Java Servlet, và có thể sử dụng công nghệ ứng dụng web phổ biến như JavaServer Pages (JSP)

1.5.2.5 Lưu trữ dữ liệu

Cơ sở dữ liệu của GAE cung cấp khả năng mở rộng mạnh mẽ cho ứng dụng web của người dùng, với một khả năng mạnh mẽ trong việc đọc và hiệu suất thực hiện các câu truy vấn Một ứng dụng tạo các thực thể với các giá trị dữ liệu được lưu như các thuộc tính của các thực thể Ứng dụng có thể thực hiện các bởi các truy vấn thông qua các thực thể

Cơ sở dữ liệu App Engine lưu trữ các đối tượng dữ liệu được biết đến như các thực thể Một thực thể có một hoặc nhiều thuộc tính, các thuộc tính có thể thuộc một kiểu dữ liệu được hỗ trợ như kiểu chuỗi, số nguyên hoặc có thể chỉ là tham chiếu đến thực thể khác App Engine cung cấp hai kiểu cơ sở dữ liệu với các tính năng và đảm bảo tính nhất quán như sau:

• Master/Slave Datastore: Bao gồm một trung tâm dữ liệu (data center) đóng vai trò là master chịu trách nhiệm đọc và truy vấn, các trung tâm dữ liệu khác đóng vai trò slave, điều này cung cấp tính nhất quán cho tất cả các lần đọc và truy vấn Với mô hình này thì dữ liệu được sao lưu không đồng bộ, tuy nhiên lợi thế của mô hình này không gian lưu trữ nhỏ, chi phí CPU thấp Không được hỗ trợ trong Python 2.7

• High Replication Datastore - HRD: Dữ liệu sẽ được sao lưu trên

Trang 32

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

tất cả các trung tâm dữ liệu khác dựa trên thuật toán Paxos Đây là một giải pháp mới, tính sẵn sàng cao và đáng tin cậy Tuy nhiên chi phí cao,

do đó nó được sử dụng cho các ứng dụng cực kì quan trọng Kho dữ liệu High Replication là loại kho dữ liệu chỉ được hỗ trợ bởi Python 2.7

 Thực thể và các thuộc tính

Một đối tượng dữ liệu trong kho dữ liệu App Engine được biết

đến như một thực thể Một thực thể có một hoặc nhiều thuộc tính, tên là

giá trị của một trong một số kiểu dữ liệu, bao gồm số nguyên, dấu phẩy động, chuỗi, ngày, tháng, dữ liệu nhị phân, và nhiều hơn nữa

Mỗi thực thể cũng có một giá trị khóa để phân biệt nó với các giá

trị khác Khóa đơn giản có một kiểu giá trị và một ID (Identification

number) thực thể được cung cấp bởi kho dữ liệu Kiểu giá trị phân loại

các thực thể, do đó người dùng có thể truy vấn dễ dàng hơn ID thực thể cũng có thể là một chuỗi cung cấp bởi ứng dụng

Một ứng dụng có thể lấy một thực thể từ kho dữ liệu bằng cách

sử dụng khóa của nó, hoặc bằng cách thực hiện một truy vấn phù hợp với thuộc tính của thực thể Một truy vấn có thể trả về không hay nhiều thực thể, và có thể trả lại kết quả sắp xếp theo giá trị thuộc tính Một câu truy vấn cũng có thể giới hạn số lượng kết quả trả về dữ liệu để tiết kiệm bộ nhớ và thời gian chạy

Khác với các quan hệ cơ sở dữ liệu, kho dữ liệu App Engine không yêu cầu rằng tất cả các thực thể của một kiểu nhất định có cùng các thuộc tính Các ứng dụng có thể xác định và thực thi mô hình dữ liệu của nó bằng cách sử dụng thư viện bao gồm với SDK (Software Developement Kit), hoặc mã riêng của mình

Một thuộc tính có thể có một hoặc nhiều giá trị Một thuộc tính

Trang 33

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

với nhiều giá trị có thể có giá trị của các kiểu hỗn hợp Một câu truy vấn trên một thuộc tính với nhiều giá trị sẽ trả về thực thể mà có bất kỳ giá trị nào của thuộc tính đáp ứng các tiêu chí truy vấn Điều này làm cho thuộc tính đó hữu ích để thử nghiệm cho các thành viên

 Truy vấn và lập chỉ mục

• Một truy vấn trên kho dữ liệu App Engine hoạt động trên tất cả các thực thể của một kiểu nhất định (một lớp dữ liệu) Nó đặc tả không hoặc nhiều các bộ lọc trên giá trị thuộc tính thực thể và khóa, và không hay nhiều cách sắp xếp thứ tự Nếu cho một thực thể có ít nhất một (có

thể null) giá trị cho mỗi tài sản trong các bộ lọc và các đơn đặt hàng, và

tất cả các tiêu chuẩn lọc được đáp ứng bởi các giá trị tài sản, sau đó thực thể được trả về như là một kết quả

• Mỗi truy vấn kho dữ liệu sử dụng một chỉ mục, một bảng có chứa các kết quả cho truy vấn theo thứ tự mong muốn Một ứng dụng App Engine định nghĩa chỉ số của nó trong một tập tin cấu hình (mặc

dù chỉ mục cho một số kiểu truy vấn được cung cấp tự động) Các máy chủ web phát triển tự động bổ sung thêm đề xuất đến tập tin này khi nó gặp các truy vấn mà không có chỉ số cấu hình Người dùng có thể điều chỉnh các chỉ số bằng tay bằng cách chỉnh sửa các tập tin trước khi tải lên các ứng dụng Khi thay đổi ứng dụng kho dữ liệu thực thể, các bản cập nhật kho dữ liệu các chỉ số với các kết quả chính xác Khi ứng dụng thực thi một truy vấn, kho dữ liệu lấy kết quả trực tiếp từ các chỉ

số tương ứng

1.5.2.6 Tài khoản Google

GAE hỗ trợ tích hợp một ứng dụng với tài khoản Google của người dùng để xác thực người dùng Ứng dụng của bạn có thể cho phép

Trang 34

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

người dùng đăng nhập với một tài khoản Google, và truy cập vào địa chỉ email và tên hiển thị liên kết với tài khoản Sử dụng Tài khoản Google cho phép người dùng bắt đầu sử dụng ứng dụng của người dùng nhanh hơn, bởi vì người dùng có thể không cần tạo ra một tài khoản mới Nó cũng giúp người dùng tiết kiệm các nỗ lực thực hiện một hệ thống tài khoản người dùng chỉ cần cho ứng dụng của người dùng

Nếu ứng dụng của người dùng đang chạy theo Google Apps, nó

có thể sử dụng các tính năng tương tự với các thành viên trong tổ chức của người dùng và các tài khoản Google Apps

Người dùng API cũng có thể cho ứng dụng xem người dùng hiện nay là một quản trị viên đã đăng ký cho các ứng dụng Điều này làm cho nó dễ dàng để thực hiện khu vực duy nhất của quản trị trang web của người dùng

1.6 Hệ thống định vị toàn cầu GPS - Global Positioning System

GPS - Hệ thống định vị toàn cầu là hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo, do Bộ Quốc phòng Hoa Kỳ thiết kế, xây dựng, vận hành và quản lý Trong cùng một thời điểm, tọa độ của một điểm trên mặt đất sẽ được xác định nếu xác định được khoảng cách từ điểm đó đến ít nhất ba

Trang 35

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

bị GPS thu nhận được tín hiệu do các vệ tinh khác Nguyên lý xác định toạ

độ của hệ thống GPS dựa trên công thức quãng đường = vận tốc x thời gian

Vệ tinh phát ra các tín hiệu bao gồm vị trí của chúng, thời điểm phát tín hiệu Máy thu tính toán được khoảng cách từ các vệ tinh, giao điểm của các mặt cầu có tâm là các vệ tinh, bán kính là thời gian tín hiệu đi từ vệ tinh đến máy thu nhân vận tốc sóng điện từ là toạ độ điểm cần định vị

GPS hiện tại gồm 3 phần chính: Phần không gian, phần kiểm soát và phần sử dụng [10]

1.6.1 Phần không gian:

Phần không gian gồm 27 vệ tinh

(24 vệ tinh hoạt động và 3 vệ tinh dự

phòng) nằm trên các quỹ đạo xoay

quanh trái đất Chúng cách mặt đất

20.200 km, bán kính quỹ đạo 26.600 km

Chúng chuyển động ổn định và

quay hai vòng quỹ đạo trong khoảng thời

gian gần 24 giờ với vận tốc 7 nghìn dặm

một giờ Các vệ tinh trên quỹ đạo được

bố trí sao cho các máy thu GPS trên mặt

đất có thể nhìn thấy tối thiểu 4 vệ tinh vào bất kỳ thời điểm nào

Các vệ tinh được cung cấp bằng năng lượng Mặt Trời Chúng có các nguồn pin dự phòng để duy trì hoạt động khi chạy khuất vào vùng không có ánh sáng Mặt Trời Các tên lửa nhỏ gắn ở mỗi quả vệ tinh giữ chúng bay đúng quỹ đạo đã định

Hình 1.10: Phân bố các vệ tinh GPS

Trang 36

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

1.6.2 Phần kiểm soát:

Mục đích trong phần này là kiểm soát vệ tinh đi đúng hướng theo quỹ đạo và thông tin thời gian chính xác Có 5 trạm kiểm soát đặt rải rác trên trái đất Bốn trạm kiểm soát hoạt động một cách tự động, và một trạm kiểm soát

là trung tâm Bốn trạm này nhận tín hiệu liên tục từ những vệ tinh và gửi các thông tin này đến trạm kiểm soát trung tâm Tại trạm kiểm soát trung tâm, nó

sẽ sửa lại dữ liệu cho đúng và kết hợp với hai ăng-ten khác để gửi lại thông tin cho các vệ tinh Ngoài ra, còn một trạm kiểm soát trung tâm dự phòng và sáu trạm quan sát chuyên biệt

Đồng thời cũng trình bày sơ lược về dịch vụ công nghệ điện toán đám mây, hệ thống GPS là những công cụ hỗ trợ cho việc thử nghiệm ứng dụng

Trang 37

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc.tnu.edu.vn/

Chương 2 HỆ THỐNG LƯU TRỮ CSDL ĐỐI TƯỢNG CHUYỂN ĐỘNG

2.1 Tổng quan về hệ thống lưu trữ CSDL đối tượng chuyển động

Sự bùng nổ của các thiết bị di động và máy tính hiệu năng cao đã tác động không nhỏ đến đời sống của con người Thay vì các cơ sở dữ liệu (CSDL) truyền thống lưu trữ các dữ liệu tĩnh (hay còn gọi là dữ liệu phi không gian và thời gian) về các đối tượng như họ tên, ngày tháng, nghề nghiệp…, xu hướng xây dựng các hệ thống CSDL qui mô cực lớn liên quan tới các thông tin thời gian và không gian (thậm chí có yếu tố thời gian thực) đang được triển khai mạnh mẽ trên thế giới Cụ thể, các CSDL của đối tượng chuyển động được lưu trữ trong các hệ thống CSDL không gian-thời gian lớn được mở rộng theo cấp số nhân Các hệ thống này đang được triển khai và hỗ trợ đắc lực cho các nghiệp vụ quản lý (ví dụ: quản lý lưu lượng giao thông đô thị, lập dự án xây đường cao tốc để giảm tải…) và nghiên cứu khoa học (ví dụ: Sự di cư của các loài động vật theo mùa; di dân giữa các quốc gia, thành phố…)

2.2 Hệ thống lưu trữ CSDL đối tượng chuyển động Secondo

2.2.1 Giới thiệu

Secondo là một hệ thống CSDL mở rộng, một DBMS thử nghiệm đã được phát triển tại Đại học Hagen (Đức) từ khoảng năm 1995 Nó chạy trên các hệ điều hành Windows, Linux, Mac-OS X và là phần mềm nguồn mở [8] Các mục tiêu thiết kế chính là một kiến trúc mở rộng tiện ích và hỗ trợ cho những ứng dụng không gian và không gian - thời gian

Mục tiêu của Secondo để cung cấp một mô hình chung cho các hệ thống cơ sở dữ liệu cùng với những công cụ khai thác của nhiều mô hình cơ

sở dữ liệu khác nhau Chẳng hạn như có thể để triển khai mô hình cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng, thời gian, hoặc mô hình XML và

có thể hỗ trợ các kiểu dữ liệu về không gian, đối tượng chuyển động, công thức hoá học, v.v Trong khi khả năng mở rộng bằng kiểu dữ liệu phổ biến

Ngày đăng: 07/01/2016, 09:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Trang web về Android. http://www.vietnamandroid.com/ Sách, tạp chí
Tiêu đề: Trang web về Android
2. Vũ Đức Thái, Ngô Lan Phương, …, (2008), Giáo trình cơ sở dữ liệu 1. Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình cơ sở dữ liệu 1
Tác giả: Vũ Đức Thái, Ngô Lan Phương, …
Năm: 2008
3. E. Ciurana, (2009), Developing with Google App Engine, Apress Sách, tạp chí
Tiêu đề: Developing with Google App Engine
Tác giả: E. Ciurana
Năm: 2009
4. L. Forlizzi, R.H. G¨uting, E. Nardelli, and M. Schneider, (2000), A Data Model and Data Structures for Moving Objects Databases. ACM SIGMOD Record, 29:319–330 Sách, tạp chí
Tiêu đề: A Data Model and Data Structures for Moving Objects Databases
Tác giả: L. Forlizzi, R.H. G¨uting, E. Nardelli, and M. Schneider
Năm: 2000
5. J. Xu và RH Güting, (2012), Manage and Query Generic Moving Objects in SECONDO, Germany Sách, tạp chí
Tiêu đề: Manage and Query Generic Moving Objects in SECONDO
Tác giả: J. Xu và RH Güting
Năm: 2012
7. R.H. Güting, and T. Behr, …, SECONDO: An Extensible DBMS Architecture and Prototype, pp. 3-4 Sách, tạp chí
Tiêu đề: SECONDO: An Extensible DBMS Architecture and Prototype
8. R.H. Güting, and T. Behr, (2010), “SECONDO: A Platform for Moving Objects Database Research and for Publishing and Integrating Research Implementations, DBMS, pp. 1-8 Sách, tạp chí
Tiêu đề: SECONDO: "A Platform for Moving Objects Database Research and for Publishing and Integrating Research Implementations
Tác giả: R.H. Güting, and T. Behr
Năm: 2010
9. GAE website: https://appengine.google.com/ Sách, tạp chí
Tiêu đề: GAE website
10. GPS website http://www.gps.gov/systems/gps/ Sách, tạp chí
Tiêu đề: GPS website
11. Secondo website: http://dna.fernuni-hagen.de/secondo/ Link
6. R. H. Güting, and M. Schneider, (2005), Moving Objects Databases Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Kiểu dữ liệu không gian (point, line, region). - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 1.1. Kiểu dữ liệu không gian (point, line, region) (Trang 13)
Hình 1.2: Điểm thay đổi rời rạc (trái) - Điểm thay đổi liên tục (phải). - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 1.2 Điểm thay đổi rời rạc (trái) - Điểm thay đổi liên tục (phải) (Trang 15)
Hình 1.3: Trình diễn rời rạc của một điểm chuyển động. - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 1.3 Trình diễn rời rạc của một điểm chuyển động (Trang 16)
Hình 1.4. Vùng thay đổi rời rạc (trái) - Vùng thay đổi liên tục (phải). - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 1.4. Vùng thay đổi rời rạc (trái) - Vùng thay đổi liên tục (phải) (Trang 16)
Hình 1.5. Công nghệ khai phá dữ liệu từ MOD. - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 1.5. Công nghệ khai phá dữ liệu từ MOD (Trang 19)
Hình 1.9. Kiến trúc hoạt động của GAE. - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 1.9. Kiến trúc hoạt động của GAE (Trang 29)
Hình 2.5. Hình xây dựng đệ quy của đồ thị POG - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 2.5. Hình xây dựng đệ quy của đồ thị POG (Trang 50)
Hình 3.1. Mô hình bài toán tìm kiếm - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.1. Mô hình bài toán tìm kiếm (Trang 54)
Hình 3.3. Một số lệnh khởi tạo hệ thống Secondo  restore database opt from opt; - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.3. Một số lệnh khởi tạo hệ thống Secondo restore database opt from opt; (Trang 58)
Hình 3.4. Giao diện hệ thống Secondo - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.4. Giao diện hệ thống Secondo (Trang 60)
Hình 3.5. Thực thi lệnh ifconfig trên Ubuntu - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.5. Thực thi lệnh ifconfig trên Ubuntu (Trang 61)
Hình 3.6. Giao diện chính - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.6. Giao diện chính (Trang 62)
Hình 3.7. Giao diện theo dõi hành trình của thiết bị - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.7. Giao diện theo dõi hành trình của thiết bị (Trang 63)
Hình 3.9. Kết quả truy vấn  3.3.2.5. Đường đi theo thuật toán - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.9. Kết quả truy vấn 3.3.2.5. Đường đi theo thuật toán (Trang 65)
Hình 3.10. Kết quả tìm đường đi - Nghiên cứu cơ sở dữ liệu đối tượng chuyển động và ứng dụng
Hình 3.10. Kết quả tìm đường đi (Trang 66)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w