Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
837,42 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Bùi Ngọc Dũng NGHIÊN CỨU MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU XML ỨNG DỤNG TRONG THỰC HIỆN XỬ LÝ DỮ LIỆU QUAN HỆ Chuyên nghành: Đảm bảo toán học cho máy tính hệ thống tính toán LUẬN VĂN THẠC SỸ KHOA HỌC ĐẢM BẢO TOÁN HỌC CHO MÁY TÍNH VÀ HỆ THỐNG TÍNH TOÁN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS HUỲNH QUYẾT THẮNG Hà Nội - 2011 Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 LỜI CAM ĐOAN Kính gửi: - Trung tâm Đào tạo Bồi dưỡng sau Đại học - Trường Đại học Bách Khoa Hà Nội Tên là: Bùi Ngọc Dũng Sinh ngày: 19-02-1984 Là học viên cao học khóa 2008-2010 Tôi xin cam đoan: Toàn kiến thức nội dung luận văn kiến thức tự nghiên cứu từ tài liệu tham khảo nước, chép hay vay mượn hình thức để hoàn thành luận văn tốt nghiệp luận văn tốt nghiệp Cao học chuyên nghành Đảm bảo toán học cho máy tính hệ thống tính toán Tôi xin chịu hoàn toàn trách nhiệm nội dung luận văn trước Trung tâm đào tạo Bồi dưỡng sau đại học, Trường đại học Bách khoa Hà Nội -1- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 MỤC LỤC LỜI CAM ĐOAN .1 MỞ ĐẦU 4 Chương TÌM HIỂU CHUNG VỀ XML 5 1.1. XML gì? 5 1.2. Lý đời XML 5 1.3. Ứng dụng XML hệ thống thông tin đại .6 Chương KHAI PHÁ DỮ LIỆU XML 8 2.1. Biểu diễn liệu XML 8 2.1.1. Tạo tài liệu XML cấu trúc 8 2.1.2. Chỉ thị xử lý ghi .11 2.1.3. Không gian tên 12 2.1.4. CDATA thực thể tham chiếu 15 2.2. XPath xử lý tài liệu XML 16 2.2.1. Biểu diễn XML XPath .17 2.2.2. Đường dẫn XML 18 2.2.2.1. Đường dẫn tuyệt đối 19 2.2.2.2. Đường dẫn tương đối 20 2.2.2.3. Đường dẫn điều kiện .21 2.2.3. Tập hợp mục 21 2.2.4. Từ khóa phép toán 22 2.2.4.1. Từ khóa 22 2.2.4.2. Phép toán sàng lọc (Filter) 23 2.2.4.3. Phép toán so sánh (Compare) 24 -2- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 2.2.4.4. Phép toán hội (Union) 25 2.2.4.5. Các phép toán khác 25 Chương SQL SERVER VÀ DỮ LIỆU XML .29 3.1 SQL Server kiểu liệu XML 29 3.2 Khai phá liệu XML SQL Server 29 3.2.1 Cách sinh tài liệu XML SQL Server 29 3.2.2 Thao tác với liệu XML SQL Server 42 Chương ỨNG DỤNG KHAI PHÁ DỮ LIỆU XML TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 55 4.1. Phát biểu toán .55 4.2. Các giải pháp thực 56 4.2.1. Replication .56 4.2.2. DataMirror .57 4.2.3. Giải pháp đề nghị 58 4.3. Thực giải pháp 61 4.3.1. Thực 61 4.3.2. Một số ý 63 KẾT LUẬN .66 TÀI LIỆU THAM KHẢO .68 -3- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 MỞ ĐẦU Hiện nay, ngành Công nghệ thông tin, XML (eXtensible Markup Language) chiếm vai trò quan trọng Để thấy ảnh hưởng rộng lớn XML ngành Công Nghệ Thông Tin ta cần để ý XML lý xuất Microsoft.Net Từ hệ điều hành WindowsXP trở đi, bên đầy dẫy XML Hãng phần mềm Microsoft đầu tư tỷ đô la Mỹ vào kỹ thuật này, sau xuất XML WindowsXP ứng dụng Microsoft chuyển qua chạy NET chuyển thành dùng cho NET thông qua XML Đi song song với NET SQLServer sở liệu dần hổ trợ XML cách hoàn toàn Tại thời điểm Web Services trở nên thông dụng, trở thành phần quan trọng việc xây dựng hệ thống thông tin diện rộng Việc sử dụng Web Service cho phép ta xây dựng ứng dụng mà kết nối trao đổi thông tin với mà không cần phải đồng hóa ứng dụng nền, hệ điều hành Các ứng dụng xây dựng bới nhiều loại ngôn ngữ lập trình khác nhau: Net, Visual Basic, ASP, php, java build nhiều loại hệ điều hành khác nhau: Windows XP, Windows Server, Linux,… Nhưng trao đổi thông tin với nhau, cách thức để dễ dàng nâng cấp cho hệ thống, kết nối hệ thống có sẵn với Web Services triển khai dựa vào XML với giao thức http, https, chuẩn Trong khuân khổ đồ án này, việc tập trung vào tìm hiểu XML em tập trung vào nghiên cứu ứng dụng XML vào sở liệu SQLServer, đề xuất toán ứng dụng thực tế để khai phá liệu XML sở liệu SQLServer mô hình WAN diện rộng mục tiêu đồng liệu từ đơn vị cấp thấp lên đơn vị cao -4- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Chương TÌM HIỂU CHUNG VỀ XML 1.1 XML gì? XML viết tắt eXtensible Markup Language (Ngôn ngữ đánh dấu văn mở rộng) qui luật cách chia tài liệu làm nhiều phần, đánh dấu ráp phần khác lại để dễ nhận diện chúng Ðược công nhận W3C trở thành chuẩn liệu sử dụng phổ biến XML ngôn ngữ xây dựng cấu trúc tài liệu văn bản, dựa theo chuẩn SGML (Standard Generalized Markup Language: siêu ngôn ngữ có khả sinh ngôn ngữ khác) SGML phát triển cho việc định cấu trúc nội dung tài liệu điện tử, tổ chức ISO (International Organization for Standards) chuẩn hoá năm 1986 SGML IBM đưa ra, song không kể đến đóng góp công ty khác XML W3C phát triển, đặc tả XML lại Netscape, Microsoft thành viên dự án Text Encoding Initiative (TEI) xây dựng Tổ chức W3C XML Special Interest Group có đại diện từ 100 công ty nhiều chuyên gia mời khác 1.2 Lý đời XML Lý đời XML SGML rắc rối, HTML có nhiều giới hạn nên năm 1996 tổ chức W3C thiết kế XML XML version 1.0 định nghĩa hồ sơ “February 1998 W3C Recommendation” Điểm quan trọng XML không thuộc riêng công ty mà sản phẩm mà trí tuệ thuộc giới, tiêu chuẩn người công nhận soạn World Wide Web Consortium - W3C (Một tổ chức độc gồm nhiều chuyên gia soạn thảo tiêu chuẩn cho trình duyệt Web, máy chủ ngôn ngữ) cá nhân muốn đóng góp thông qua trao đổi Email Bản thân XML khó hiểu, công cụ chuẩn -5- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 định để làm việc với XML Document Object Model - DOM, XPath, XSL, v.v hữu hiệu, chuẩn phát triển không ngừng Microsoft tập trung vào XML từ đầu, có đại diện để làm việc thường trực W3C mà tích cực đóng góp cách gởi đề nghị Tại Microsoft, tiêu chuẩn XML chưa hoàn thành sản phẩm Microsoft tuân thủ đa số công nhận tiêu chuẩn hoàn thành tuân thủ hoàn toàn Công cụ làm việc với XML sáng giá Microsoft phát triển ActiveX MSXML Nó dùng Visual Basic 6, ASP (Active Server Pages) IIS Internet Explorer từ version 5.5 Hiện MSXML có version 6.0 gồm nhiều modul bật là: MSXML Parse (đọc phân tích) Validate (kiểm tra hợp lệ) XML file MSXML giúp ta dựa vào XSL file để transform (Chuyển đổi) XML file thành trang Web (HTML) hay XML khác 1.3 Ứng dụng XML hệ thống thông tin đại Dưới tác động Microsoft hãng lập trình hàng đầu, người yêu thích công nghệ Ngày nay, XML xuất tất hệ điều hành, ngôn ngữ lập trình, hệ quản trị sở liệu ứng dụng phát triển Từ sau hệ điều hành WindowsXP Microsoft việc xuất XML phổ biến hơn, xuất hỗ trợ hầu hết ứng dụng hệ điều hành, ứng dụng Plugin Windows xây dựng FrameWork để hỗ trợ cho XML FrameWork ngày bổ xung hoàn thiện Cho tới thời điểm tại, phần mềm sử dụng nhiều Microsoft mà ta thấy xuất thiếu XML như: Microsoft Word, Microsoft Excel, InfoPath hay công cụ lập trình Visual Studio -6- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Các hệ quản trị sở liệu quan hệ nhận vai trò to lớn XML cụ thể SQL Server bắt chấp nhận XML kiểu liệu từ phiên SQL Server 2005 với kiểu liệu cú pháp hỗ trợ cho việc khai phá liệu XML hệ quản trị sở liệu Đến phiên SQL Server 2008 hỗ trợ trở nên rõ nét với việc tối ưu hóa tốc độ cho kiểu liệu thao tác xử lý với kiểu liệu XML Ngoài nhiều ứng dụng khác lập trình giới phát triển sử dụng hỗ trợ XML -7- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Chương KHAI PHÁ DỮ LIỆU XML 2.1 Biểu diễn liệu XML 2.1.1 Tạo tài liệu XML cấu trúc Một tài liệu XML gọi có cấu trúc tuân thủ đầy đủ luật lệ thẻ (Tag), phần tử (Element), thuộc tính (Attribute), giá trị (Value)… chứa bên để phân tích nhận diện Cụ thể sau: - Có phần tử gốc gọi Root Element hay Document Element chứa tất phần tử khác tài liệu; - Mỗi thẻ mở, phải có thẻ đóng giống nó; - Trong tên thẻ có phân biệt chữ hoa, chữ thường; - Mỗi phần tử phải nằm trọn phần tử cha nó; - Giá trị thuộc tính phải đặt cặp ngoặc kép Tại luật thứ nhất: tài liệu XML sau không cấu trúc phần tử gốc: Chair Desk Tài liệu XML gọi XML phân mảnh, muốn cho tài liệu trở thành cấu trúc ta phải đặt phần tử vào phần tử gốc, ví dụ: Chair Desk Tại luật thứ hai: Mỗi thẻ mở phải có thẻ đóng giống nó, trường hợp thẻ mà liệu viết ngắn gọn lại sau tài liệu sau không cấu trúc: 2002-6-14 Helen Mooney -8- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 2 1 4 3 Để tài liệu XML cấu trúc, ta cần có thẻ đóng cho thẻ 2002-6-14 Helen Mooney 2 1 4 3 Tại luật thứ ba: Tên thẻ có phân biệt chữ hoa chữ thường, OrderDate khác với Orderdate tài liệu XML sau không cấu trúc: 2001-01-01 Graeme Malcolm Để tài liệu XML trở thành cấu trúc ta phải chuyển chữ d thẻ đóng thành D: 2001-01-01 Graeme Malcolm -9- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ NULL NULL Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 11 ProductID 34 11 #text NULL NULL NULL NULL 11 12 Quantity NULL NULL NULL NULL NULL 35 12 NULL NULL NULL NULL 12 13 #text Order Details NULL NULL NULL NULL 14 13 OrderID NULL NULL NULL NULL NULL 36 14 #text NULL NULL NULL NULL 10248 15 13 ProductID NULL NULL NULL NULL NULL 37 15 #text NULL NULL NULL NULL 42 16 13 Quantity NULL NULL NULL NULL NULL 38 16 #text NULL NULL NULL NULL 10 17 Customers NULL NULL NULL NULL 18 17 CustomerID NULL NULL NULL NULL NULL 39 18 #text NULL NULL NULL NULL LILAS 19 17 ContactName NULL NULL NULL NULL NULL 40 19 #text NULL NULL NULL NULL Carlos Gonzlez 20 17 Orders NULL NULL NULL NULL NULL 21 20 CustomerID NULL NULL NULL NULL NULL 41 21 #text NULL NULL NULL NULL LILAS 22 20 EmployeeID NULL NULL NULL NULL NULL 42 22 #text NULL NULL NULL NULL 23 20 OrderDate NULL NULL NULL NULL 43 23 NULL NULL NULL NULL 24 20 #text Order Details NULL 1996-0816T00:00:00 NULL NULL NULL NULL NULL 25 24 OrderID NULL NULL NULL NULL NULL 44 25 #text NULL NULL NULL NULL 10283 26 24 ProductID NULL NULL NULL NULL NULL 45 26 #text NULL NULL NULL NULL 72 27 24 Quantity NULL NULL NULL NULL NULL 46 27 #text NULL NULL NULL NULL - 54 - NULL NULL NULL Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Chương ỨNG DỤNG KHAI PHÁ DỮ LIỆU XML TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 4.1 Phát biểu bài toán Có hệ thống phân tán chia làm cấp, sử dụng mạng diện rộng sau: - Tổng cục: Bao gồm máy chủ chạy DB máy chủ chạy App, đầu ngày làm việc cán nhận liệu từ cấp Cục Chi cục qua phương thức truyền File giao thức FTP từ ngày hôm trước - Cục: Bao gồm máy chủ chạy DB máy chủ chạy App, đầu ngày làm việc cán nhận liệu từ cấp Chi cục qua phương thức truyền File giao thức FTP từ ngày hôm trước - Chi cục: Bao gồm máy chủ chạy DB máy chủ chạy App, cuối ngày làm việc cán sử dụng phương thức truyền File qua giao thức FTP lên cấp Cục Tổng cục để đồng - Các File truyền nhận thường có dung lượng lớn (8M-10M sau nén) Vấn đề đặt ra: Xây dựng mô hình cho phép truyền nhận liệu cách tự động, hạn chế việc: - Cán phải thực việc truyền nhận thủ công cuối ngày - Chức xây dựng cho phép tự động truyền nhận, đồng liệu, đường truyền gặp cố ngưng việc truyền nhận liệu tiếp tục truyền nhận liệu thông suốt - Đảm bảo liệu đồng tốt (mục tiêu 5- 10 phút/ lần) thay hàng ngày - Tránh việc tắc ngẽn đường truyền truyền File giao thức FTP với File có dung lượng lớn - Giải pháp đơn giản, dễ dàng cài đặt, thích hợp cho cán có hiểu biết tin học mức trung bình cài đặt vận hành - Việc đồng liệu suốt với người sử dụng, hạn chế sử dụng nhiều tài nguyên, chạy với yêu cầu thấp việc bổ xung, nâng cấp phần cứng - 55 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ 4.2 Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Các giải pháp thực 4.2.1 Replication Replication giải pháp cho phép chép, phân phối liệu đối tượng CSDL từ CSDL SQL Server đến SQL Server khác, sau đồng hai CSDL với (Hình 03: Cơ chế làm việc giải pháp Replication) Để thực giải pháp cần có yêu cầu sau: Cần 03 server đảm nhận vai trò: Publisher, Distributor, Subcriber hình bên Cơ chế hoạt động: Publisher server chứa bảng biểu, hay phần liệu cần nhân Distributor server nắm giữ chức trung tâm phân phối liệu, lưu trữ liệu lịch sử với giao dịch (transactions) siêu liệu (meta data) Subcribers server dùng để nhận liệu Subcribers cần nhận liệu mà cần không thiết toàn liệu có Publisher Trong trình vận hành, có thay đổi liệu Publisher hay Subcribers thay đổi chuyển tới Distributor Server sau Server phân phối liệu tới Server khác - 56 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Ưu điểm: - Cho phép chép liệu qua nhiều server đồng thời, cần chép liệu định nghĩa trước - Không đòi hỏi thiết bị phần cứng chuyên dụng - Thích hợp cho trường hợp báo cáo, ứng dụng báo cáo mà không muốn bị ảnh hưởng tới liệu thật Nhược điểm: - Cần bổ xung thêm máy chủ để phục vụ cho việc đồng bộ, tốn chi phí quan doanh nghiệp trung bình lớn - Việc cài đặt cấu hình tương đối phức tạp, cần có hiểu biết chuyên gia sở liệu - Yêu cầu hiệu hệ thống cao 4.2.2 DataMirror Là giải pháp sẵn có SQL Server đưa nhằm tăng tính sẵn sàng cho CSDL thông qua việc hỗ trợ dự phòng sau sảy lỗi gần tức thời mà gần không liệu (Hình 04: Cơ chế làm việc giải pháp DataMirror) - 57 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Để thực giải pháp cần có yêu cầu sau: Cần có 03 Server đảm trách vai trò Master Server (Principal Database), Slave Server (Mirror Database) & Witness Server Cơ chế hoạt động: Database Mirroring chuyển trực tiếp bảng ghi lịch sử giao dịch (Transaction log record) từ Server Master Server sang Slave Server, Slave Server đảm bảo liệu đồng với Master Server Tùy thuộc vào việc cấu hình, cấu hình Master Server bị lỗi kết nối từ ứng dụng đến Master Server tự động chuyển qua Slave Server Ưu điểm: - Dữ liệu được chuyển sang đồng thời, mức độ an toàn cao - Không đòi hỏi thiết bị phần cứng chuyên dụng - So với giải pháp Replication dễ cài đặt quản trị - Thích hợp cho hệ thống yêu cầu tính sẵn sàng cao Nhược điểm: - Cần bổ sung thêm máy chủ để phục vụ cho việc đồng bộ, tốn chi phí quan doanh nghiệp trung bình lớn - Không thích hợp cho mô hình Wan lớn - Hệ thống đòi hỏi hiệu cao liệu chuyển từ Master Server Slave Server gần đồng thời 4.2.3 Giải pháp đề nghị Đồng liệu dựa chế truyền nhận webservice, giải pháp tự xây dựng, tận dụng tối đa tài nguyên máy chủ vốn có Tư tưởng giải pháp: Tất tương tác phép vào sở liệu SQL server ứng dụng nhìn chung tóm tắt lại gồm tác động chính: - Select (không làm thay đổi liệu sở liệu); - 58 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 - Insert, Update (thêm cập nhật lại thông tin trường bảng sở liệu); - Delete (xóa trường sở liệu); - Câu lệnh Update phân tách thành Insert Delete Ở ta quan tâm tới câu lệnh tương tác vào sở liệu mà làm thay đổi sở liệu ta quan tâm tới câu lệnh Insert, Update, Delete Việc đồng liệu hiểu theo cách khác tác động vào sở liệu nguồn ta tác động cách tương tự vào sở liệu đích cần đồng Do nảy sinh ý tưởng, có câu lệnh: Insert, Update, Delete tác động vào CSDL nguồn ta bắt chước hành động tương tự tác động vào CSDL đích, mặt liệu CSDL Mô tả giải pháp: - Tại cấp ta dựng lên Database SRDATA chứa câu lệnh Insert, Update, Delete tác động tới CSDL mà ta cần đồng - Tại cấp Chi cục: o Mỗi phát sinh câu lệnh (Insert, Update, Delete) tác động vào Database chi cục câu lệnh bắt chước lại dạng chuỗi chuyển câu lệnh vào bảng SRDATA o Sau khoảng thời gian cấu hình (5 phút) winservice đọc liệu bảng đóng gói liệu chuyển vào webservice cấp cao o Sau liệu chuyển lên cấp cao câu lệnh chuyển lên cấp chuyển vào bảng khác để lưu lịch sử - Tại cấp Cục, Tổng cục: o Dựng webservice để tiếp nhận liệu từ winservice từ cấp Chi cục chuyển lên, sau ghi liệu vào bảng khác DataBase SRDATA - 59 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 o Dựng winservice có nhiệm vụ đọc liệu bảng trên, bóc tách liệu cập nhật liệu vào Database đích tương ứng cấp Cục Tổng cục thông qua việc thực câu lệnh SQL o Sau liệu cập nhật vào Database tương ứng liệu lưu chuyển vào bảng ghi lịch sử (Hình 05: Hình mô tả mô hình vận hành giải pháp đề nghị) Về yêu cầu giải pháp: - Tại cấp: Chi cục, Cục, Tổng cục dựng CSDL (SRDATA) để chứa liệu đồng - Tại cấp Chi cục: dựng winservice có nhiệm vụ đọc liệu từ CSDL SRDATA chuyển liệu thành dạng XML truyền liệu XML từ cấp Chi cục lên cấp Cục cấp Tổng cục, liệu sau chuyển chuyển sang bảng lưu lịch sử - Tại cấp Cục cấp Tổng cục: o Dựng webservice có nhiệm vụ nhận liệu XML từ cấp Chi cục chuyển lên chuyển liệu vào CSDL SRDATA cấp - 60 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 o Dựng winservice có nhiệm vụ đọc liệu XML CSDL SRDATA sau phân rã liệu chuyển vào CSDL tương ứng Sau thực xong chuyển liệu vào bảng ghi lịch sử Ưu điểm: - Đáp ứng tất yêu cầu đặt ra; - Việc cấu hình, cài đặt giải pháp đơn giản thích hợp với trình độ CNTT thấp địa phương, tận dụng máy chủ sẵn có; - Có thể chạy tốt ổn định cho mạng Wan cỡ lớn; - Tránh tượng tắc ngẽn đường truyền liệu truyền thành gói nhỏ cấu hình việc chia nhỏ này; - Các thao tác xử lý thực chủ yếu CSDL dễ dàng cho việc nâng cấp, chỉnh sửa Các winservice webservice làm nhiệm vụ chủ yếu vận chuyển liệu - Tại cấp lưu giữ lưu liệu chuyển nhận giúp dễ dàng khôi phục, đối chiếu trường hợp lỗi từ cấp 2, cấp Nhược điểm: Tính sẵn sàng không cao phương pháp: Replication DataMirror bù lại chi phí để xây dựng triển khai thấp, không cần bổ xung thêm máy chủ 4.3 Thực giải pháp 4.3.1 Thực Để thực giải pháp ta tiến hành sau( giả lập môi trường làm việc sở liệu Northwind): - Tại cấp Chi cục: o Trên sở liệu cần đồng bộ, bảng ta đặt Trigger để bẫy lại câu lệnh bao gồm: Insert, update, delete lên bảng Các trigger nhái lại câu lệnh SQL tác động lên bảng gửi câu lệnh vào bảng TDDataSend sở liệu SRDATA - 61 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 o Tại máy cài ứng dụng, ta cài đặt winservice TruyenTin.exe làm nhiệm vụ: Sau khoảng thời gian cấu hình(5 phút) winservice đọc câu lệnh nhái lại lưu bảng TDDataSend sở liệu SRDATA sau đóng giói liệu thành chuỗi XML gửi lên webservice NhanTin.asmx cấp Webservice nhận liệu từ cấp dưới, đọc, xử lý liệu sau trả thông tin kết xử lý liệu nhận cho winservice TruyenTin.exe cấp Sau nhận kết xử lý liệu, winservice chuyển trạng thái liệu xử lý sang trạng thái chuyển liệu vào bảng ghi lịch sử (bảng TDDataSendHis) để phục vụ công tác lưu liệu - Tại cấp Cục (hoặc Tổng cục): o Cài đặt webservice NhanTin.asmx làm nhiệm vụ nhận liệu XML winservice địa phương gửi lên Webservice sau nhận liệu gửi lên làm tiếp thao tác sau: Đầu tiên, webservice kiểm tra thông tin đơn vị, username, password từ liệu gửi lên xem có tồn phép gửi nhận liệu hay không? Tiếp theo, phân tích cấu trúc XML để lấy thông tin tên sở liệu dùng để cập nhập, đồng liệu Sau đó, lưu thông tin tên sở liệu đồng chuỗi XML ban đầu vào bảng TDDataReceive sở liệu SRDATA cấp Cục ( Tổng cục); Kết thúc trình webservice trả thông báo cho service TruyenTin.exe biết kết trình nhận tin o Cài đạt winservice XuLyTin.exe làm nhiệm vụ sau khoảng thời gian cấu hình (5 phút) thực công việc sau: Kết nối vào bảng liệu TDDataReceive sở liệu SRDATA, đọc liệu lưu sau bóc tách chuỗi XML ( bao gồm câu lệnh SQL tương tác lên bảng đặt trigger) nhận từ cấp Cục - 62 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 xử lý liệu cấp nhật câu lệnh vào sở liệu cần đồng cấp cách thực thi câu lệnh Sau cập nhật câu lệnh thành công lên sở liệu cần đồng bộ, winservice làm nhiệm vụ chuyển trạng thái thông điệp xử lý chuyển lưu thông điệp lên bảng lịch sử TDDataReceiveHis để lưu liệu 4.3.2 Một số ý Để thực việc đồng liệu theo phương án đề xuất việc cài đặt webservice, winservice làm nhiệm vụ đọc, đóng gói vận chuyển, xử lý liệu, điều quan trọng phải “nhái” câu lệnh tác động sở liệu gốc Để làm điều ta thực cài đặt trigger lên bảng liệu cần quan tâm, sau bắt kiện insert, update, delete liệu tác động lên bảng Một ví dụ cho phép ta nhái lại câu lệnh SQL tác động lên bảng sau: - 63 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 CREATE TRIGGER [dbo].[tg_Customers_Insert] ON [dbo].[Customers] FOR INSERT AS DECLARE @DBName VarChar(40),@TBName VarChar(40),@DataType TinyInt, @QueryType TinyInt,@DateInsert DateTime,@QueryHeader VarChar(255),@Err Int /*========================================================*/ SELECT @DBName = 'Northwind', @TBName = 'CUSTOMERS', @QueryHeader = 'INSERT Customers(CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES (' SELECT @DataType = 21,@QueryType = 2,@DateInsert = GetDate() /*=======================================================*/ Insert SRDATA.dbo.TDDataSend (CusCode, DBName, TBName, DataType, QueryType, DateInsert, SQLQuery) Select 'A01B' AS CusCode, @DBName AS DBName, @TBName AS TBName, @DataType AS DataType, @QueryType AS QueryType, @DateInsert AS DateInsert, @QueryHeader + dbo.tf_TTIConvert(CustomerID, 2) + ',' + dbo.tf_TTIConvert(CompanyName, 3) + ',' + dbo.tf_TTIConvert(ContactName, 3) + ',' + dbo.tf_TTIConvert(ContactTitle, 3) + ',' + dbo.tf_TTIConvert(Address, 3) + ',' + dbo.tf_TTIConvert(City, 3) + ',' + dbo.tf_TTIConvert(Region, 3) + ',' + dbo.tf_TTIConvert(PostalCode, 2) + ',' + dbo.tf_TTIConvert(Country, 3) + ',' + dbo.tf_TTIConvert(Phone, 2) + ',' + dbo.tf_TTIConvert(Fax, 2) + ')' From Inserted /*=======================================================*/ Select @Err = @@Error If (@Err 0) Begin RAISERROR (N'Không Insert liệu vào bảng TDDataSend', 16, 1) WITH SETERROR ROLLBACK TRANSACTION GOTO ErrorHandle End /*=======================================================*/ ErrorHandle: GO Trong hàm tf_TTIConvert định nghĩa sau: - 64 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 CREATE FUNCTION [dbo].[tf_TTIConvert](@FieldValue nVarChar(3900),@DataType TinyInt) RETURNS nVarchar(4000) AS BEGIN /*============================================================*/ -@DataType : : Dang So -: : Dang Char, Varchar -: : Dang nChar, nVarchar /*============================================================*/ Declare @Result nVarchar (4000) /*============================================================*/ If (@FieldValue IS NULL) Begin Select @Result = N'NULL' End Else Begin If (@DataType = 1) Begin Select @Result = LTrim(RTrim(@FieldValue)) End If (@DataType = 2) Begin Select @Result = N'''' + LTrim(RTrim(Replace(@FieldValue,'''',''''''))) + '''' End If (@DataType = 3) Begin Select @Result = N'N''' + LTrim(RTrim(Replace(@FieldValue,'''',''''''))) + '''' End End /*===========================================================*/ Return(@Result) END GO Cùng với việc sử dụng trigger tg_Customers_Insert hàm tf_TTIConvert ví dụ ta dễ dàng nhái lại câu lệnh Insert tác động vào bảng Customers Làm tương tự bảng khác cách kiện khác Update Delete ta “Nhái” lại toàn lệnh tác động vào sở liệu mà làm thay đổi nội dung liệu - 65 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 KẾT LUẬN Trước đây, hệ thống công nghệ thông tin nước ta hoạt động tình trạng nhỏ lẻ, hệ thống phát triển từ trước chủ yếu dạng sở liệu phân tán Khi công nghệ phát triển đồng thời yêu cầu ngày cao dẫn đến nhu cầu hệ thống phải chạy dạng tập trung đồng thời sở liệu cần phải tập trung lại, phát sinh yêu cầu đồng liệu phân tán trước lại hệ thống tập trung Do nhiều lý do, hệ thống nước ta có từ trước hầu hết phát triển hệ điều hành Microsoft với hệ quản trị sở liệu SQL Server Để thực yêu cầu đồng bộ, tập trung liệu hệ quản trị sở liệu có nhiều phương pháp như: Replication, DataMirror… Tuy nhiên phương pháp có yêu cầu cao việc cài đặt vận hành, bảo trì vấn đề chi phí cho hạ tầng công nghệ XML kiểu liệu tự định nghĩa cấu trúc, phát triển cộng đồng lập trình viên đông đảo ngày cho thấy vai trò quan trọng hệ thống công nghệ thông tin Nội dung đồ án đề cập đến từ khái niệm XML đến tới cách khai thác, sử dụng liệu XML để phát triển ứng dụng có tính ứng dụng cao thực tế, qua cho thấy vai trò kiểu liệu XML Nội dung đồ án đề xuất phương pháp giúp cho việc đồng liệu tiến hành cách dễ dàng, không yêu cầu cao mặt hạ tầng truyền thông, việc cài đặt tiến hành dễ dàng không đòi hỏi trình độ cao đồng thời việc vận hành diễn hoàn toàn tự động không cần có can thiệp người Giải pháp cài đặt cấu hình để thích nghi cho nơi có hạ tầng truyền thông thấp - 66 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Tại thời điểm tại, giải pháp ứng dụng thực tế việc đồng liệu Ngành Hải quan, mô hình triển khai bao gồm liệu 250 Chi cục đồng lên cấp Tổng cục Hải quan 33 Cục Hải quan Tỉnh, Thành phố Trong 200 Chi cục Hải quan có nhiều nơi đặt địa bàn sát biên giới vùng xa, hải đảo nơi có hạ tầng truyền thông kém, máy chủ lạc hậu, nhiên hệ thống hoạt động ổn định Đồ án áp dụng thời điểm tại, nhiên để phát triển nâng cao hiệu hệ thống cần thêm nhiều thời gian để đánh tìm hiểu nâng cấp hệ thống Do thời gian tới, em mong nhận đóng góp giúp đỡ thầy cô để hoàn thiện thêm hệ thống - 67 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 TÀI LIỆU THAM KHẢO Tiếng Việt: Tiếng Anh: Akmal B.Chaudhri, Awais Rashid, Roberto Zicari, 2003, XML Data Management: Native XML and XML-Enabled Database, Addison Wesley Elliotte Rusty Harold, W Scott Means, 2004, XML in a Nutshell, 3rd Edition, O’Reilly Erik T Ray, 2003, Learning XML, 2nd Edition, O'Reilly Graeme Malcolm, 2002 , Programing Microsoft SQL Server 2000 with XML, Microsoft Press Thomas Rizzo, 2005, Pro SQL Server 2005, Chapter 15: Database Mirroring, Apress Sujoy Paul, 2009, Pro SQL Server 2008 Replication, Apress Michael Coles, 2008 , Pro SQL Server 2008 XML, Apress Niel M Bornstein, 2003 , NET and XML, O’Reilly - 68 - ... kiểu liệu thao tác xử lý với kiểu liệu XML Ngoài nhiều ứng dụng khác lập trình giới phát triển sử dụng hỗ trợ XML -7- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi... 28 - Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Chương SQL SERVER VÀ DỮ LIỆU XML 3.1 SQL Server kiểu liệu XML Cùng với phát... Visual Studio -6- Nghiên cứu số kỹ thuật khai phá liệu XML Ứng dụng thực xử lý liệu quan hệ Bùi Ngọc Dũng Đảm bảo toán 2008 - 2010 Các hệ quản trị sở liệu quan hệ nhận vai trò to lớn XML cụ thể SQL