Luận án Phương pháp đánh chỉ số cho tài liệu xml tin sinh học dựa trên R - Tree

Các phương pháp đánh chỉ số trên đĩa cứng đều đánh giá hiệu quả thực nghiệm thuật toán dựa trên số lần truy xuất đĩa cứng, với lý do các truy xuất đĩa cứng là tuần tự không phải ngẫu nhiên, tốc độ truy xuất đĩa cứng chậm hơn rất nhiều so với bộ nhớ chính. Nên chi phí thời gian của các phương pháp đánh chỉ số này chủ yếu đo số lần truy xuất đĩa cứng này. Chi phí thời gian sẽ được tính đến khi phương pháp sử dụng nhiều bộ nhớ để tính toán hoặc giải quyết các bài toán phân cụm (clustering). Tuy nhiên, phương pháp đề xuất chưa tận dụng bộ nhớ chính để tăng thời gian tính toán, cũng như tối ưu bằng phương pháp phân cụm. Do vậy, các thực nghiệm chỉ đánh giá dựa trên số lần truy xuất đĩa cứng, mỗi lần truy xuất là lấy 1 block tương đương với 1 node trên cây đánh chỉ số.

pdf130 trang | Chia sẻ: tueminh09 | Ngày: 22/01/2022 | Lượt xem: 409 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án Phương pháp đánh chỉ số cho tài liệu xml tin sinh học dựa trên R - Tree, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hình dưới. DNACorn: Hình 2.16: File dữ liệu DNACorn sau chuyển đổi 80 DNARice: Hình 2.17: File dữ liệu DNARice sau chuyển đổi Swissprot: Hình 2.18: File dữ liệu Swissprot sau chuyển đổi Allhomologies Hình 2.19: File dữ liệu Allhomologies sau chuyển đổi 81 Tỷ lệ nén của các tài liệu được thể hiện trong hình 2.20. Qua đó cho thấy tỷ lệ nén khá tốt, đặc biệt với các tài liệu mô tả DNA. Tuy nhiên, với tài liệu Allhomologies mô tả thông tin phân loải thì khá bất ngờ vì có tỷ lệ nén thấp. Để hiểu lý do tỷ lệ nến khác nhau giữa các tài liệu, tác giả đã phân tích các file XML và nhận ra một vấn đề. Tài liệu Allhomologies mô tả thông tin phần loài nên đa phần có tag dạng Attribute, đây là tag mô tả nhiều thuộc tính trên một chuỗi ký tự. Thuật toán chuyển đổi khi gặp các tag dạng này sẽ phải bóc tách từng Attribute trong một chuỗi thành các tag riêng rẽ vì vậy đã làm tăng kích thước tài liệu chuyển đổi. Như vậy, có thể thấy rằng, trên thực tế phương pháp chuyển đổi này không phải lúc nào cũng có tỷ lệ nén tốt vì còn tùy thuộc vào cấu trúc của tài liệu XML. Hình 2.20: So sánh kích thƣớc tài liệu XML và tài liệu chuyển dổi về không gian số Tóm lại, các phương pháp lập chỉ số được đề xuất của tác giả có hiệu suất tốt hơn nhiều với các truy vấn node nhưng hiệu suất gần như tương tự với các truy vấn phạm vi. Trong thực tiễn, các truy vấn node được sử dụng nhiều hơn các truy vấn 82 phạm vi bởi vì người dùng hiếm khi cần tất cả dữ liệu tổ tiên hoặc dữ liệu con cháu của một đối tượng. Thực tế, truy vấn anh em trước, anh em sau, con cái mang lại nhiều lợi ích cho cơ sở dữ liệu DNA trong việc tìm kiếm. 2.3.4. So sánh kết quả của phƣơng pháp BioX-tree và R-tree Các phương pháp đánh chỉ số trên đĩa cứng đều đánh giá hiệu quả thực nghiệm thuật toán dựa trên số lần truy xuất đĩa cứng, với lý do các truy xuất đĩa cứng là tuần tự không phải ngẫu nhiên, tốc độ truy xuất đĩa cứng chậm hơn rất nhiều so với bộ nhớ chính. Nên chi phí thời gian của các phương pháp đánh chỉ số này chủ yếu đo số lần truy xuất đĩa cứng này. Chi phí thời gian sẽ được tính đến khi phương pháp sử dụng nhiều bộ nhớ để tính toán hoặc giải quyết các bài toán phân cụm (clustering). Tuy nhiên, phương pháp đề xuất chưa tận dụng bộ nhớ chính để tăng thời gian tính toán, cũng như tối ưu bằng phương pháp phân cụm. Do vậy, các thực nghiệm chỉ đánh giá dựa trên số lần truy xuất đĩa cứng, mỗi lần truy xuất là lấy 1 block tương đương với 1 node trên cây đánh chỉ số. a. Truy vấn điểm Hình 2.21, 2.22 cho thấy hiệu suất của BioX-tree tốt hơn nhiều so với R-tree. Lý do là để đạt được kết quả, R-tree phải sử dụng truy vấn phạm vi để quét tất cả các node anh em hoặc con cháu, sau đó lọc ra các node dự kiến. Nhưng BioX-tree xử lý các truy vấn này bằng cách trước tiên chỉ tiếp cận một node lá có chứa đối tượng và sau đó tìm kiếm tất cả các anh em, các node con thông qua các con trỏ. Điều này giúp tránh vấn đề chồng chéo của R-tree. Kích thước dữ liệu XML càng lớn, R-tree càng chồng chéo nhiều hơn. Đó là lý do tại sao hiệu suất của R-tree giảm nhanh chóng khi kích cỡ dữ liệu. 83 Bảng 2.6: Kết quả truy vấn anh em BioX-tree Kích thước dữ liệu tính theo số tag Số truy vấn thử nghiệm Số block truy cập trung bình R-tree BioX-tree R-tree BioX-tree 20000 tag 200 200 416.74 7.08 40000 tag 200 200 845.78 9.82 60000 tag 200 200 1248.26 8.2 80000 tag 200 200 1681.74 8.3 Hình 2.21: Biểu đồ so sánh truy vấn anh em giữa BioX-tree và R-tree Bảng 2.7: Kết quả truy vấn con cái BioX-tree Kích thước dữ liệu tính theo số tag Số truy vấn thử nghiệm Số block truy cập trung bình R-tree BioX-tree R-tree BioX-tree 20000 tag 200 200 416.74 4.46 40000 tag 200 200 845.78 4.56 60000 tag 200 200 1248.26 2.24 80000 tag 200 200 1681.74 2.46 84 Hình 2.22: Biểu đồ so sánh truy vấn con cái giữa BioX-tree và R-tree b. Truy vấn phạm vi Các truy vấn phạm vi buộc cả R-tree và BioX-tree phải tìm kiếm rất nhiều đối tượng liên quan đến đối tượng, tất cả tổ tiên hoặc con cháu. Thông thường, chúng phải sử dụng các hình chữ nhật có một phần tư mặt phẳng để tìm kiếm các node của một trục nhất định. Điều này tạo ra nhiều bước dư thừa do vấn đề chồng chéo và dẫn đến tốn nhiều thời gian hơn trong việc tìm kiếm và xử lý dữ liệu. Hình 2.23 cho thấy hiệu suất của BioX-tree kém hơn một chút so với R-tree ngoại trừ dữ liệu kích thước lớn. Lý do là tác giả đã ép buộc các node anh em của một đối tượng dữ liệu XML vào một số node lá của R-tree. Chắc chắn, điều đó làm cho cấu trúc lập chỉ số kém tối ưu hơn, dẫn đến vấn đề chồng chéo. Mặc dù vậy, nhờ có con trỏ (đến cha mẹ) của BioX-tree, hiệu suất của BioX-tree không tệ hơn nhiều so với R-tree thậm chí còn tốt hơn khi số lượng chồng chéo hoặc kích thước dữ liệu đủ lớn. Hình 2.24 cho thấy hiệu suất của BioX-tree tốt hơn một chút so với R-tree. Thay vì quét toàn bộ một trong bốn vùng rời rạc trên mặt phẳng, BioX-tree chỉ tìm con của một node con cháu và sau đó sử dụng các con trỏ (đến node anh em) để đạt được phần còn lại. 85 Tương tự như Hình 2.23, Hình 2.25, 2.26 cho thấy hiệu suất của BioX-tree kém hơn một chút so với R-tree. Lý do là truy vấn phạm vi buộc phải quét một trong bốn vùng rời rạc dẫn đến vấn đề chồng chéo nghiêm trọng Bảng 2.8: Kết quả truy vấn tổ tiên BioX-tree Kích thước dữ liệu tính theo số tag Số truy vấn thử nghiệm Số block truy cập trung bình R-tree BioX-tree R-tree BioX-tree 20000 tag 200 200 4.04 4.16 40000 tag 200 200 5.62 6.04 60000 tag 200 200 5.56 5.52 80000 tag 200 200 11.73 8.06 Hình 2.23: Biểu đồ so sánh truy vấn tổ tiên giữa BioX-tree và R-tree Bảng 2.9: Kết quả truy vấn hậu duệ BioX-tree Kích thước dữ liệu tính theo số tag Số truy vấn thử nghiệm Số block truy cập trung bình R-tree BioX-tree R-tree BioX-tree 20000 tag 200 200 5 3.1 40000 tag 200 200 6.9 4.9 60000 tag 200 200 14.1 12.2 80000 tag 200 200 25.6 23.9 86 Hình 2.24: Biểu đồ so sánh truy vấn hậu duệ giữa BioX-tree và R-tree Bảng 2.10: Kết quả truy vấn các node theo sau BioX-tree Kích thước dữ liệu tính theo số tag Số truy vấn thử nghiệm Số block truy cập trung bình R-tree BioX-tree R-tree BioX-tree 20000 tag 200 200 165.75 165.55 40000 tag 200 200 314.48 189.1 60000 tag 200 200 272.22 920.1 80000 tag 200 200 236.19 1800.65 Hình 2.25: Biểu đồ so sánh truy vấn các node theo sau giữa BioX-tree và R-tree 87 Bảng 2.11: Kết quả truy vấn các node phía trƣớc BioX-tree Kích thước dữ liệu tính theo số tag Số truy vấn thử nghiệm Số block truy cập trung bình R-tree BioX-tree R-tree BioX-tree 20000 tag 200 200 102.4 74.6 40000 tag 200 200 173.41 140.5 60000 tag 200 200 322.55 195.55 80000 tag 200 200 520.52 350.46 Hình 2.26: Biểu đồ so sánh truy vấn các node phía trƣớc giữa BioX-tree và R- tree 2.4. Kết luận chƣơng 2 Trong chương này, tác giả đã nghiên cứu và trình bày đề xuất một phương pháp cải tiến xử lý hiệu quả các trục XPath, được coi là nền tảng cho xây dựng các truy vấn phức tạp. Để xử lý hiệu quả các truy vấn như vậy, tác giả đề xuất phương pháp BioX-tree với một số cải tiến quan trọng như thêm con trỏ để chỉ ra mối quan hệ: cha mẹ - con cái, anh em, bước chuyển đổi từ tài liệu XML lên không gian được bổ sung một số tham số, thiết kế lại các thuật toán truy vấn trên các trục chính của Xpath để tăng tốc độ khi thực hiện. 88 Phần thực nghiệm được thực hiện trên những loại dữ liệu tin sinh học XML từ các nguồn uy tín và phổ biến trong cộng đồng sinh học. Trong cấu trúc mới này, kết quả thực nghiệm cho thấy hiệu quả vượt trội hơn phương pháp lập chỉ số dựa trên R-tree trên truy vấn điểm, là thuật toán hay được sử dụng nhất trong thực tế, vì các thuật toán mới dựa trên theo dõi quỹ đạo liên kết bằng cách sử dụng các con trỏ được tối ưu hóa cao cho đọc ghi I/O đĩa cứng. Nhưng bên cạnh đó vẫn còn một số nhược điểm mà tác giả tiếp tục nghiên cứu và trình bày cách giải quyết trong chương 3. Các kết quả nghiên cứu ở Chương 2 được công bố trong công trình 2, 3, 4 phần “Danh mục công trình của tác giả”. 89 Chƣơng 3. PHƢƠNG PHÁP ĐÁNH CHỈ SỐ MỞ RỘNG BIOX+-TREE 3.1. Mở đầu Nén dữ liệu dữ liệu tin sinh học đã được nghiên cứu trong nhiều năm gần đây. Trong dữ liệu XML tin sinh thông thường gồm có dữ liệu mô tả và dữ liệu sinh học AND/Protein. Vì vậy, có hai hướng nghiên cứu chính: (1) nén dữ liệu XML nói chung và (2) nén dữ liệu sinh học. Tác giả tập trung vào nén dữ liệu XML. Mặc dù, không có phương pháp nén đặc thù cho dữ liệu tin sinh học cho tệp XML, các nghiên cứu gần đây về nén dữ liệu XML tin sinh chia ra làm hai hướng: (1) nén truy vấn là phương pháp cho phép truy vấn dữ liệu trên chính dữ liệu nén mà không cần giải nén trước, (2) nén dữ liệu không truy vấn là phương pháp tập trung vào tối ưu tỉ lệ nén và chỉ cho phép truy vấn file dữ liệu XML sau khi được giải nén. Vì kích thước tệp dữ liệu tin sinh rất lớn, nên tác giả cho rằng việc tối ưu về kích thước cho truy vấn quan trọng hơn, vì vậy nghiên cứu này tập trung vào hướng đầu tiên. Do đặc điểm của cấu trúc dữ liệu sau khi đánh chỉ số được tối ưu để tăng hiệu quả truy vấn thường có kích thước nhỏ hơn nên có thể coi đây là một phương pháp nén và đồng thời cho phép truy vấn trực tiếp thay vì phải giải nén. Sau đây là một số phương pháp đã thực hiện. Phương pháp đầu tiên là XGrind [82] công bố bởi Tolani và Haritsa. Phương pháp này nén dữ liệu bằng cách thay thế các tên thuộc tính và phần tử thành các ký tự duy nhất. Phương pháp cho phép truy vấn trực tiếp trên tài liệu nén tuy nhiên chỉ hỗ trợ các truy vấn đường dẫn giản đơn, không có khả năng hỗ trợ các truy vấn Xpath. Tương tự, Xpress [52] công bố bởi Min et al. sử dụng phương pháp toán học nghịch đảo để mã hóa các đường dẫn nhãn của tài liệu XML thành các đoạn riêng biệt. Các truy vấn dựa vào mỗi quan hệ giữa các đoạn đó để tăng hiệu quả trên tài liệu XML nén. Nhược điểm của Xpress và XGrind là tỷ lệ kích thước giữa dữ liệu nén và gốc là tuyến tính, không hỗ trợ nhiều truy vấn. Do đó, Cheng and NG đã đề 90 xuất kỹ thuật XQzip [15]. XQzip sử dụng cây chỉ số có cấu trúc (Structure Index Tree (SIT)) cho tài liệu XML gốc. Và XQueC [7] Arion et al. sử dụng cây tóm tắt có cấu trúc (structure summary tree) để lưu trữ tài liệu XML. Các phương pháp này cho tỷ lệ nén cao hơn và truy vấn nhanh hơn. Để tăng hiệu quả các truy vấn Xpath, Arroyuelo et al. [8] đưa ra kỹ thuật tạo ra cây đánh nhãn từ cấu trúc cây XML, sau đó sử dụng phương pháp đánh chỉ số mảng bit (bit array) để nén tài liệu XML. Phần dữ liệu được nén bằng phương pháp thông thường bất kỳ. Để giảm độ trễ và tối ưu băng thông truyền dữ liệu, Qian et al. [62] đưa ra phương pháp tách phần cấu trúc tài liệu XML ra khỏi phần nội dung và nén riêng biệt, đã cho hiệu quả tốt hơn các phương pháp trước. Các phương pháp nén có xu hướng tách và nén riêng phần cấu trúc tài liệu XML và dữ liệu trong tài liệu XML. Với phần cấu trúc, có các phương pháp nổi bật đã áp dụng mã hoá cấu trúc theo thứ tự duyệt cây. Dietz [21] là phương pháp đầu tiên sử dụng kỹ thuật mã hóa cấu trúc bằng phương pháp duyệt thứ tự cây theo duyệt cây theo thứ tự trước (post-order) và duyệt cây theo thứ tự sau (pre-order). Yếu điểm của phương pháp này là sẽ phải tính lại thứ tự duyệt cây theo thứ tự trước và sau mỗi khi có dữ liệu mới. Để khắc phục vấn đề này, Li and Moon in XISS [61] đã sử dụng phương pháp B+tree để đánh chỉ số phần tử và thuộc tính. Tuy nhiên, truy vấn có hiệu năng không tốt vì rất nhiều kết quả trung gian và mỗi khi tạo node mới, sẽ phải sắp xếp toàn cục lại lần nữa. Tiếp đó, R-tree được xây dựng để cải tiến hơn nữa việc xử lý. Trong chương 2, tác giả đã đưa ra ý tưởng tăng hiệu quả truy vấn trục XPath cho các anh em trước, sau và tổ tiên bằng cách thêm các con trỏ, các biến tham số cho các node lá của cây R-tree. Nhờ các con trỏ này các truy vấn trục Xpath khác (descendant) và kể cả các trục con cũng được hưởng lợi để có hiệu quả tốt hơn. Tuy nhiên, nhược điểm của phương pháp là có thể tạo ra cây chỉ số R-tree không tối ưu. Vì vậy, nội dung tiếp theo, tác giả phân tích không gian dữ liệu 91 chuyển đổi của tài liệu XML và đề xuất các thuật toán mà có thể khắc phục phần nào khuyết điểm trên. Trong chương này, luận án trình bày đề xuất chuyển đổi số các tag name về tọa độ không gian dạng số để giảm kích thước tài liệu và đề xuất phương pháp đánh chỉ số mới để tăng hiệu quả truy vấn tài liệu XML, kết quả cũng chỉ ra được một số vấn đề thực tế do sự đa dạng tài liệu XML tin sinh học. Các thành phần được đề xuất cải tiến là: module đánh chỉ số, module xử lý truy vấn. Hình 3.1: Các thành phần đƣợc cải tiến trong phƣơng pháp mở rộng BioX+-tree Kết quả nghiên cứu ở chương này được công bố ở công trình số 5, phần “Danh mục các công trình của tác giả”. 3.2. Phƣơng pháp BioX+-tree 3.2.1. Phân tích không gian dữ liệu chuyển đổi của tài liệu XML Ở nghiên cứu trong chương 2, tác giả đã nhận thấy rằng phân bố dữ liệu XML trên không gian có xu hướng tập trung vào 2 trục Xpath anh em trước và sau, do vậy đã đề xuất sử dụng thêm con trỏ để tăng hiệu quả truy vấn. Trong phần này, tác giả sẽ phân tích không gian dữ liệu chuyển đổi của tài liệu XML và cách tổ chức các dữ liệu đó trên cây chỉ số R-tree. Để dễ hình dung và không cần tìm lại các kiến thức ở phần trên, tác giả sẽ tổng hợp lại nhanh phương pháp chuyển đổi dữ liệu XML. Giả sử, chúng ta có một tài liệu XML tên X, để chuyển đổi sang không gian số, chúng ta cần duyệt cây theo thứ tự trước và đánh số thứ tự cho từng tag name của 92 tài liệu X. Như Hình 3.2 (các biểu tượng chấm tròn tương đương với 1 tag name trong X, cây phân cấp có cấu trúc giống hệt cấu trúc cây XML của X), chúng ta thấy rằng, với thuật toán duyệt cây theo thứ tự trước, tag gốc XML sẽ có thứ tự là 1, và các tag con có thứ tự tiếp theo từ bên trái sang phải. Tương tự vậy, với thuật toán duyệt cây theo thứ tự sau, tag gốc sẽ có số thứ tự cuối cùng, và các tag con/cháu tận cùng bên trái sẽ bắt đầu từ 1. Và với 2 thuật toán duyệt cây XML của X, Hình 3.2 sẽ ghi chú 2 thứ tự này trên từng chấm tròn (tag name) như pre-post, vd tag gốc sẽ được ghi chú là 1-31, trong đó 31 chính là tổng số tag name của X. Hình 3.2: Cây tài liệu XML đƣợc đánh số thứ tự Như vậy, mỗi một tag name trong X đã có một toạ độ Đề Các trong không gian 2 chiều. Bắt đầu từ bây giờ, chúng ta có thể sử dụng các phương pháp đánh chỉ số không gian cho dữ liệu của X. Trong luận án này, tác giả sử dụng phương pháp đánh chỉ số R-tree cho không gian 2 chiều. Phương pháp R-tree truyền thống sẽ nhóm các phần tử trên toạ độ không gian vào từng node trên cây R-tree và thể hiện các nhóm này trong các MBR - hình chữ nhật nhỏ nhất mà bao/chứa tất cả các phần tử của từng nhóm. Tuy nhiên, ở nghiên cứu trước, để giữ mối quan hệ giữa các anh em của X, tác giả đã nhóm các tag anh em vào các node lá của R-tree, và sử dụng các con trỏ để kết nối các node lá R-tree cùng mang anh em của một cha, phương pháp này là BioX-tree. Hình 3.3 mô tả các node lá của BioX-tree trong không gian 2 chiều qua các hình chữ nhật MBR. Trong đó, R là MBR của các tag con của tag gốc (1-31) của Hình 1, tương tự vậy R1, 2, 3 trong Hình 3.3 là các MBR của các tag con của các tag 2-10, 12-10, 22-30 trong Hình 3.2, và tương tự cho các MBR nhỏ hơn. Từ mô tả trực quan trên không gian của Hình 3.3, tác giả đưa ra các định lý về các MBR các cây con của các tag của X khi thể hiện trong không gian cây BioX-tree. 93 Hình 3.3: Các MBR của node lá trong cây BioX-tree Định lý 1: Giả sử trong 1 tài liệu XML, tag T là cha của các tag t1,t2,.., tn (sibling). Các MBR mà bao các tag con (cây con) của t1, t2,, tn trên không gian của BioX-tree luôn tách rời (không giao nhau). VD: R1, R2, R3 là các hình chữ nhật bao các cây con luôn tách rời và trải từ trái qua phải trên không gian của Hình 3.3. Để chứng minh cho định lý này, chúng ta dễ dàng nhận ra rằng, các phần tử con trong các MBR bao cây con các anh em trái cùng cha luôn có giá trị nhỏ hơn các phần tử con trong MBR bao cây con phải với giá trị duyệt cây theo thứ tự trước. Ngược lại, luôn lớn hơn với giá trị duyệt cây theo thứ tự sau. Do vậy, các MBR cho cây con của các node con cùng cha trong tài liệu X trên không gian của BioX-tree luôn tách rời. Như vậy, Định lý 1 cho chúng ta thấy rằng, việc gượng ép các tag XML anh em cùng cha vào trong cùng node lá BioX-tree có thể không ảnh hưởng nhiều đến tối ưu cấu trúc cây BioX-tree cho các truy vấn. Kết quả thực nghiệm trong chương 2 về BioX-tree vì thế thể hiện được điều này. 94 Định lý 2: Giả sử trong 1 tài liệu XML, tag T là cha của các tag t1, t2,.., tn (sibling). Ngoại trừ các MBR bao cây con của t1 và tn (anh em đầu tiên và sau cùng), MBR mà bao t1, t2,..., tn sẽ bao tất cả MBR của các cây con của t2,.., tn-1. VD: R sẽ bao toàn bộ R2 và R21, R22, R23. Để chứng minh cho định lý này, chúng ta dễ dàng nhận ra rằng các giá trị duyệt cây theo thứ tự trước-duyệt cây theo thứ tự sau của t1 và tn là liền trước và sau giá trị duyệt cây theo thứ tự trước-duyệt cây theo thứ tự sau của T. Do vậy, các giá trị duyệt cây theo thứ tự trước-duyệt cây theo thứ tự sau của các t2,..., tn hiển nhiên là phải trong phạm vi MBR bao t1 và tn. Từ định lý 2, tác giả rút ra hệ quả 2.1 cho truy vấn tìm kiếm 1 tag XML trong cây BioX-tree như sau Hệ quả 2.1: Giả sử khi tìm 1 tag t của tài liệu XML trong cây tìm kiếm BioX- tree, và phát hiện giá trị duyệt cây theo thứ tự trước-duyệt cây theo thứ tự sau của t nằm trong hình chữ nhật R1 và R2. Nếu R1 nằm trong R2, thì thuật toán tìm kiếm sẽ không cần tiếp tục duyệt các cây con khác của R2 để tìm t vì chắc chắn t thuộc các cây con của R1. Từ các định lý và hệ quả có được, tác giả thiết kế lại các thuật toán BioX-tree để tối ưu lại truy vấn, khắc phục nhược điểm về cấu trúc. 3.2.2. Các thuật toán đề xuất Từ các kết luận thu được ở mục 3.1, tác giả đề xuất các thuật toán Chèn và Truy vấn mới và tác giả gọi phương pháp mới mở rộng của cây BioX-tree là BioX+- tree. Mục tiêu của thuật toán là giảm bớt các bước duyệt cây dư thừa để tối ưu tốc độ truy vấn, đồng thời giảm bớt nhược điểm về cầu trúc của cây BioX-tree. BioX + -tree sẽ bỏ con trỏ Par (trỏ tới parent node) vì chưa thực sự mang lại hiệu quả mong đợi và làm tốn khá nhiều bộ nhớ lưu trữ. Thuật toán Insert(N,E) Đầu vào: node N chứa entry E 95 Đầu ra: entry E được chèn vào cây Begin Gọi FindNode(N,E) để tìm node lá N’ chứa anh em của entry E cần chèn if (N’ không null), if (N’ là node đầu tiên hoặc node cuối cùng) fullnode = m //m là số lượng entry nhỏ nhất trong 1 node else fullnode = M //M là số lượng entry lớn nhất trong 1 node if |N’| <fullnode //vẫn còn khoảng trống và chưa đầy Chèn entry E vào node N’. else CreateNewLeafNode(E) //tạo một node lá mới chứa E, sau đó chèn node này vào cây else CreateNewLeafNode(E) //tạo một node lá mới chứa E, sau đó chèn node này vào cây Creatpointers (pre, post, N’) End Thuật toán 3.1: Thuật toán Insertion Sự khác biệt ở thuật toán này là sẽ cân nhắc các tag đầu và cuối của node lá trong BioX + -tree, các node chứa các tag đầu và cuối sẽ chỉ chứa tối đa m tag thay vì M. Như vậy, sẽ làm giảm bớt kích thước của MBR bao node lá, và có thể giảm vấn đề giao cắt giữa các MBR của BioX+-tree. Các truy vấn sẽ hưởng lợi từ cấu trúc này. Thuật toán FindNode(N, E) Đầu vào: node N chứa entry E Đầu ra: node bối cảnh N và entry E cần tìm kiếm Begin minN = N 96 if (N không là lá), Duyệt các entry E’ trong N với MBR (N’) giao với MBR của E if (N’ giao hoặc bên trong minN) invoke FindNode(N’,E), với N’ là các node con của N trỏ tới bởi E’. if N’ bên trong N minN=N’ else if N chứa entry E, Return N. End Thuật toán 3.2: Thuật toán truy vấn Thuật toán này áp dụng Định lý 2 và Hệ quả 2.1, nghĩa là khi tìm kiếm E, nếu R1 nằm trong R2, thì bỏ qua bước duyệt cây con của R2 và lưu lại giá trị R1. - Tại bất kỳ node trung gian nào, - Nếu có R chứa R1 thì sẽ bỏ qua duyệt cây con - Nếu có R nằm trong R1, thì lưu lại R để so sánh bước tiếp theo, tiếp tục duyệt R - Nếu R không nằm tron 2 trường hợp trên, tiếp tục duyệt R 3.3. Kết quả thực nghiệm phƣơng pháp BioX+-tree 3.3.1. Mô hình và môi trƣờng thử nghiệm  Mô hình thử nghiệm Mô hình thử nghiệm của tác giả cũng sẽ tương tự như đã thực hiện trên BioX- tree, chỉ khác là phương pháp BioX-tree và BioX+-tree sẽ được thử nghiệm và ghi nhận lại kết quả. 97 Hình 3.4: Mô hình thử nghiệm thuật toán BioX+-tree và BioX-tree Để đánh giá hiệu quả thực tế của phương pháp, tác giả thử nghiệm trên các tài liệu XML tin sinh học có nguồn gốc phổ biến và đa dạng.  Dữ liệu thử nghiệm Như thử nghiệm trong chương 2, tác giả vẫn sẽ sử dụng 4 tài liệu tin sinh học khác nhau từ các nguồn dữ liệu uy tín khác nhau: - DNACorn: Chứa thông tin mô tả DNA Ngô như các tác giả, năm công bố, gene,... nguồn gốc từ NCBI (https://www.ncbi.nlm.nih.gov). - DNARice: Chứa thông tin mô tả DNA Gạo như các tác giả, năm công bố, gene,... nguồn gốc từ NCBI (https://www.ncbi.nlm.nih.gov). - Swissprot: Tập các thông tin về chức năng của protein với chú thích chính xác, nhất quán và phòng phú, nguồn từ: https://www.uniprot.org. - Allhomologies: chứa thông tin cây phân loài của họ nhà chuột, nguồn từ ftp://ftp.ensembl.org/  Kịch bản Gần giống như các bước trong chương 2, kịch bản thực nghiệm trên 2 loại truy vấn Xpath trục anh em và trục con cái với dạng câu truy vấn là truy vấn điểm (point query). Những trục còn lại của Xpath sử dụng truy vấn phạm vi (range query). 98 Trong phần này sẽ đi sâu hơn nữa vào các truy vấn anh em, có sự phân biệt anh em trước và anh em sau. Mỗi tài liệu XML được coi như một CSDL khác nhau và thực hiện riêng. Trên một tài liệu XML, tác giả chọn ngẫu nhiên 200 tag name, sau đó thực hiện truy vấn tìm các tập tag name có mối quan hệ liên quan theo các trục Xpath. Tuy nhiên, phần này không đi so sánh theo kích thước (số tag name/node) tăng dần như chương 2, mà tác giả sẽ chạy thuật toán trên cùng 80.000 tag đầu vào của 4 loại file dữ liệu tin sinh với những đặc tính dữ liệu khác nhau. Với mỗi loại truy vấn, kết quả trung bình số lần truy cập ổ cứng của 200 lựa chọn trên sẽ được lấy ra để đánh giá hiệu năng của các phương pháp. Số lần truy cập đĩa cứng càng ít có nghĩa là hiệu năng của truy vấn càng cao.  Công cụ và môi trƣờng thử nghiệm Tương tự như thử nghiệm trong chương 2, tác giả vẫn sử dụng các môi trường và thiết bị đó để thực nghiệm. Công cụ thực hiện lập trình các thuật toán là ngôn ngữ lập trình C++ trên Visual Studio 2008. Môi trường chạy thực nghiệm trên máy tính có cấu hình CPU: Intel Xeon E5520 - 2.7 GHz, RAM: 20 GB, OS: Windows Server 2008 R2 Enterprise. 3.3.2. So sánh kết quả của phƣơng pháp BioX+-tree và BioX-tree a. Truy vấn anh em (Sibling queries) Truy vấn phải tìm toàn bộ các anh em của một tag bất kỳ trong tài liệu XML. Hình 3.5 cho thấy kết quả trung bình BioX+-tree luôn tốt hơn BioX-tree cho tất cả các tài liệu XML. Với tài liệu Allhomologies, thực nghiệm cho kết quả tốt nhất. 99 Bảng 3.1: Kết quả truy vấn anh em BioX+-tree File đầu vào Số truy vấn thử nghiệm Số block truy cập trung bình BioX + -tree BioX-tree BioX + -tree BioX-tree DNACorn 200 200 7,915 10,45 DNARice 200 200 7,85 9,8 Swissprot 200 200 5,69 8,565 Allhomologies 200 200 4,405 8,895 Hình 3.5: Biểu đồ so sánh truy vấn anh em BioX+-tree và BioX-tree b. Truy vấn anh em trƣớc (Sibling proceding queries) Truy vấn chỉ tìm các anh em trước của một tag bất kỳ trong tài liệu XML. Hình 3.6 cũng cho thấy kết quả trung bình BioX+-tree luôn tốt hơn BioX-tree cho tất cả các tài liệu XML. Và có vẻ với tài liệu Allhomologies, thực nghiệm vẫn cho kết quả tốt nhất. 100 Bảng 3.2: Kết quả truy vấn anh em trƣớc BioX+-tree File đầu vào Số truy vấn thử nghiệm Số block truy cập trung bình BioX + -tree BioX-tree BioX + -tree BioX-tree DNACorn 200 200 7,915 10,45 DNARice 200 200 7,85 9,8 Swissprot 200 200 5,69 8,565 Allhomologies 200 200 5,405 8,895 Hình 3.6: Biểu đồ so sánh truy vấn anh em trƣớc BioX+-tree và BioX-tree c. Truy vấn anh em sau (Sibling following queries) Truy vấn chỉ tìm các anh em sau của một tag bất kỳ trong tài liệu XML. Hình 3.7 cũng cho thấy kết quả trung bình BioX+-tree luôn tốt hơn BioX-tree cho tất cả các tài liệu XML . Tuy nhiên, kết quả cho tài liệu DNARice có vẻ khác biệt nhiều. Điều này chứng tỏ rằng, có những tình huống BioX+-tree sẽ cho kết quả rất tốt khi truy vấn loại bỏ được nhiều truy xuất dư thừa theo Định lý 2 và Hệ quả 2.1. 101 Bảng 3.3: Kết quả truy vấn anh em sau BioX+-tree File đầu vào Số truy vấn thử nghiệm Số block truy cập trung bình BioX + -tree BioX-tree BioX + -tree BioX-tree DNACorn 200 200 7,915 10,45 DNARice 200 200 1,095 9,8 Swissprot 200 200 5,69 8,565 Allhomologies 200 200 5,33 8,82 Hình 3.7: Biểu đồ so sánh truy vấn anh em sau BioX+-tree và BioX-tree d. Truy vấn con cái (Children queries) Các truy vấn này cần tìm các tag con của một tag bất kỳ trong tài liệu XML. Để làm điều này, cách tốt nhất là tính toán ra được 1 tag con (first hoặc last), sau đó sử dụng truy vấn sibling của tag con đó. Như thế, truy vấn này sẽ trở thành sibling query như trên. Tuy nhiên, trong nghiên cứu này, tác giả tạo ra một range query với cửa sổ tìm kiếm giới hạn để có thể tìm thấy các tag con của một tag bất kỳ. Hình 3.8 cũng cho thấy kết quả trung bình BioX+-tree và BioX-tree cơ bản là giống nhau cho tất cả các tài liệu XML. Có vẻ như cửa sổ tìm kiếm được giới hạn đủ tốt để không thấy sự khác biệt giữa 2 cấu trúc cây này. 102 Bảng 3.4: Kết quả truy vấn con cái BioX+-tree File đầu vào Số truy vấn thử nghiệm Số block truy cập trung bình BioX + -tree BioX-tree BioX + -tree BioX-tree DNACorn 200 200 2,505 2,505 DNARice 200 200 2,405 2,405 Swissprot 200 200 2,005 2,005 Allhomologies 200 200 0,27 0,22 Hình 3.8: Biểu đồ so sánh truy vấn con cái BioX+-tree và BioX-tree e. Truy vấn phạm vi (Range query) Ngoài các truy vấn theo các trục Xpath như trên, các truy vấn còn lại sử dụng các cửa sổ vùng mà có giới hạn phạm vi không gian, tác giả thực nghiệm chung các truy vấn vùng này. Thực nghiệm trên các truy vấn này sẽ không tận dụng các con trỏ mà kết nối node lá của BioX-tree và BioX+-tree. Như vậy, kết quả được đánh giá hoàn toàn dựa vào sự tối ưu của cầu trúc cây. Để khách quan khi so sánh hiệu năng truy vấn giữa 2 cầu trúc BioX-tree và BioX+-tree, tác giả dùng 50 truy vấn cố định (không ngẫu nhiên) để thực nghiệm. 103 Kết quả ở Hình 3.9 đã cho thấy không phải tài liệu nào cũng cho kết quả truy vấn khác nhau, tuy nhiên vẫn có các tài liệu XML mà cấu trúc BioX+-tree cho kết quả hiệu năng tốt hơn cấu trúc BioX-tree. Bảng 3.5: Kết quả truy vấn phạm vi BioX+-tree Index file Số truy vấn thử nghiệm Số block truy cập trung bình BioX + -tree BioX-tree BioX + -tree BioX-tree DNACorn 200 200 15,9 15,9 DNARice 200 200 18,32 18,32 Swissprot 200 200 2,66 8,58 Allhomologies 200 200 10,52 15,1 Hình 3.9: Biểu đồ so sánh truy vấn phạm vi BioX+-tree và BioX-tree Từ các thực nghiệm trên, đã chứng tỏ rằng việc xây dựng các thuật toán theo các Định lý và Hệ quả đề ra đang mang lại hiệu quả, không chỉ các truy vấn liên quan đến các tag anh em mà còn và cho các truy vấn thông thường nhờ vào cấu trúc cây tối ưu hơn. 104 3.4. Kết luận chƣơng 3 Với mục tiêu tìm ra phương pháp đánh chỉ số mới để có thể truy hồi thông tin các tài liệu XML tin sinh học có kích thước lớn và đồng thời có thể giảm bớt kích thước lưu trữ. Trong chương 3, luận án đã phân tích mối tương quan giữa cấu trúc cây XML sau khi chuyển đổi về dữ liệu không gian số Đề các và cấu trúc cây BioX-tree. Từ đó, đưa ra các định lý và hệ quả để áp dụng xây dựng các thuật toán mới, phương pháp mới là BioX+-tree. Các kết quả thực nghiệm đã chỉ ra rằng phương pháp đánh chỉ số mới BioX+- tree tỏ ra ưu việt hơn BioX-tree trong hầu hết các loại truy vấn theo các trục Xpath và các truy vấn thông thường. Các thực nghiệm đã sử dụng các bộ dữ liệu tin sinh học từ các nguồn có uy tín và mô tả đa dạng sinh học khác nhau, mục đích để khẳng định tính khách quan và thực tế của phương pháp. Các kết quả nghiên cứu ở chương 3 được công bố trong công trình 5, phần “Danh mục công trình của tác giả”. 105 KẾT LUẬN 1) Những kết quả chính của luận án: Luận án nghiên cứu hướng tiếp cận đánh chỉ số cho dữ liệu tin sinh học kích thước lớn trên định dạng tài liệu XML với mục đích tăng tốc độ thực hiện các truy vấn và xử lý tốt các truy vấn vị từ phức tạp. Kết quả của luận án bao gồm: 1) Đề xuất phương pháp BioX-tree với cấu trúc cải tiến, thêm vào các con trỏ biểu thị mối quan hệ: cha mẹ - con cái, anh em, bổ sung các tham số trong bước chuyển đổi tài liệu XML lên không gian, thiết kế lại các thuật toán chèn, truy vấn mới giúp tăng tốc độ khi thực hiện các truy vấn, xử lý hiệu quả hơn các truy vấn phức tạp. Qua thực nghiệm cho thấy hiệu suất của BioX-tree tốt hơn nhiều so với R- tree trong truy vấn điểm. Lý do là để đạt được kết quả, R-tree phải sử dụng truy vấn phạm vi để quét tất cả các node anh em hoặc con cháu, sau đó lọc ra các node dự kiến. Nhưng BioX-tree xử lý các truy vấn này bằng cách trước tiên chỉ tiếp cận một node lá có chứa đối tượng và sau đó tìm kiếm tất cả các anh em, các node con thông qua các con trỏ. Điều này giúp tránh vấn đề chồng chéo của R-tree. Kích thước dữ liệu XML càng lớn, R-tree càng chồng chéo nhiều hơn làm giảm nhanh chóng hiệu suất. 2) Đề xuất phương pháp BioX+-tree với những cải tiến thuật toán chèn và truy vấn giúp giảm hơn nữa các bước duyệt cây dư thừa để tối ưu tốc độ thực thi, đồng thời giảm bớt nhược điểm về cầu trúc của cây BioX-tree được đề xuất trong chương 2. Từ các thực nghiệm đã chứng minh việc xây dựng các thuật toán theo các Định lý và Hệ quả đề ra đang mang lại hiệu quả, không chỉ các truy vấn liên quan đến các anh em mà còn và cho các truy vấn thông thường nhờ vào cấu trúc cây tối ưu hơn. 2) Hƣớng phát triển của luận án: (1). Tiếp tục nghiên cứu, đề xuất các phương pháp đánh chỉ số cho dữ liệu tin sinh học với mục tiêu cải thiện hơn nữa hiệu suất truy vấn. 106 (2). Mở rộng nghiên cứu áp dụng vào các hệ thống CSDL có hỗ trợ R-tree như SQL server, Big data để có thể thử nghiệm trên các CSDL tin sinh học kích thước rất lớn. 107 Danh mục các công trình của tác giả 1 Dinh Duc Luong, Hoang Do Thanh Tung, “A Survey on Indexing for Gene Database”, International Clustering Workshop: Teaching, Research, Business, December 27-29, 2014, pp. 50-54. 2 Hoang Do Thanh Tung, Dinh Duc Luong, “A proposed Indexing Method for Treefarm database”, International Conference on Information and Convergence Technology for Smart Society, Vol.2 No.1, Jan, 19-21,2016 in Ho Chi Minh, Vietnam, pp. 79-81. 3 Vương Quang Phương, Lê Thị Thùy Giang, Đinh Đức Lương, Ngô Văn Bình, Hoàng Đỗ Thanh Tùng, “Giải pháp công nghệ quản lý nguồn gốc giống heo”, Kỷ yếu Hội thảo Quốc gia lần thứ XXI:Một số vấn đề chọn lọc của CNTT và TT, Thanh Hóa, 27-28/7/2018, Tr. 110-116. 4 Hoang Do Thanh Tung, Dinh Duc Luong, “An Improved Indexing Method for Xpath Queries”, Indian Journal of Science and Technology, Vol 9(31), DOI:10.17485/ijst/2016/v9i31/92731, August 2016, pp. 1-7. 5 Dinh Duc Luong, Vuong Quang Phuong, Hoang Do Thanh Tung, “A new Indexing technique BioX + -tree for Bioinformatic XML data compression”, International Journal of Engineering and Advanced Technology (IJEAT), ISSN:2249-8958, Volume-8, Issue-5, june 2019, pp. 1-7. 108 Tài liệu tham khảo Tài liệu tiếng Việt [1]. Vương Quang Phương, Hoàng Đỗ Thanh Tùng, Phạm Thị Tiên, Đặng Thị Thu Trang: Một phương pháp tiền xử lý dữ liệu sinh học dựa trên công nghệ dữ liệu lớn kết hợp kho dữ liệu, Hội thảo Quốc gia lần thứ XIX: Một số vấn đề chọn lọc của CNTT và truyền thông – Hà Nội, 1-2/10/2016. Tài liệu tiếng Anh [2]. Alghamdi NS, Rahayu W, Pardede E. Semantic-based Structural and Content indexing for the efficient retrieval of queries over large XML data repositories. Journal of Future Generation Computer Systems. 212-31, 2014 [3]. Altschul SF, Gish W, Miller W, Myers EW, Lipman DJ.: Basic local alignment search tool, National Center for Biotechnology Information, National Library of Medicine, National Institutes of Health, Bethesda, MD (1990) [4]. Hoang Do Thanh Tung, , Keun Ho Ryu. “A ONCE-Updating Approach on Moving Object Indexing Methods”. Proceedings of the International Workshop on Conceptual Modeling for GIS, 25th ER2006 conference, Arizona, America, Lecture Notes in Computer Science, Vol.4231, pp.140- 149, Springer-Verlag, November, 2006. [5]. A. R. Schmidt, F. Waas, M. L. Kersten, D. Florescu, I. Manolescu, M.J. Carey, and R. Busse: The XML Benchmark Project. Technical Report INSR0103, CWI, Amsterdam, The Netherlands, April 2001 [6]. Altschul SF, Madden T, Alejandro A, Schaffer A, Zhang J, Zhang Z, Miller W, Lipman DJ.: Gapped BLAST and PSI-BLAST: a new generation of protein database search programs, National Center for Biotechnology Information, National Library of Medicine, National Institutes of Health, Bethesda, MD (1997) 109 [7]. Arion, A., A. Bonifati, I. Manolescu, A. Pugliese. XQueC: A query- conscious compressed XML database. ACM Trans. Internet Technol., 7: 10, 2007. [8]. Arroyuelo, D., F. Claude, S. Maneth, V. M¨Akinen, G. Navarro, K. Nguyen, J. Sir´En, N. V¨Alim¨Aki. Fast In-Memory XPath Search using Compressed Indexes. In Proceedings of the IEEE Twenty-Sixth International Conference on Data Engineering (ICDE 2010), California, USA, 2010. [9]. B. Salzberg and V.J. Tsotras. A Comparison of Access Methods for Time- Evolving Data. ACM Computing Surveys, Vol.31, No.2, June 1999. [10]. Baxevanis, A.D. and Ouellette, B.F.F., eds., Bioinformatics: A Practical Guide to the Analysis of Genes and Proteins, third edition. Wiley, ISBN 0- 471-478784, 2005. [11]. Berglund, A.Boag, S. Chamberlin, D. Fernandez, M.F.Kay, M.Robie “XML Path Language (XPath) 2.0” Technical Report W3C Working Draft, Version 2.0,World Wide Web Consortium, 2002. [12]. C. M. Procopiuc, P. K. Agarwal, and S. Har-Peled. STAR-Tree: An Efficient Self-Adjusting Index for Moving Objects. In Proceedings of the Workshop on Algorithm Engineering and Experiments, pp.178–193, ALENEX, January 2002. [13]. Califano A, Rigoutsos I.: FLASH: a fast look-up algorithm for string homology, International conference on intelligent systems for molecular biology, Bethesda, MD, 56-64, 1993 [14]. Cao X, Li SC, Ooi BC, Tung AKH.: Piers: an efficient model for similarity search in DNA sequence databases. Sigmod record, Special Issue (2004) [15]. Cheng, J., W. Ng. XQZip: Querying Compressed XML using Structural Indexing. International Conference on Extending Data Base Technology (EDBT) , 2004. [16]. Chun Zhang, Jeffrey Naughton, David DeWitt, Qiong Luo, and Guy Lohman, “On supporting containment queries in relational databases management systems” In Proceedings of the 2001 ACM SIGMOD 110 Conference, Santa Barbara, CA, May 2001. [17]. Chung J, Min CW, Shim K. APEX: an adaptive path index for XML data. Proceedings of ACM SIGMOD; 12132, 2002 [18]. Claverie, J.M and C. Notredame, Bioinformatics for Dummies. Wiley, ISBN 0-7645-1696-5, 2003 [19]. D. Pfoser, C. S. Jensen, and Y. Theodoridis. Novel Approaches in Query Processing for Moving Object Trajectories. In Proceedings of the 6th International Conference on Very Large Data Bases, pp.395–406, September 2000. [20]. D.Megginson.SAX: A Simple API for XML. 2000. [21]. Dietz P. Maintaining order in a linked list. Proceedings of the Fourteenth Annual ACM Symposium on Theory of Computing, ACM. 122-127, 1982 [22]. Dietz, P.F and Sleator, D.D “Two algorithms for maintaining order in a list ”. In Conference Revord of the 19th Annual ACM Symposium on Theory of Computing (STOC). ACM Press, 1987. [23]. Durbin, R., S. Eddy, A. Krogh and G. Mitchison, Biological sequence analysis. Cambrige University Press. ISBN 0-521-62971-3, 1998 [24]. Fondrat C, Dessen P.: A Rapid access motif database (RAMdb) with a search algorithm for the retrieval patterns in nucleic acids or protein databanks. Comput Appl Biosci, 11(3): 273-279, 1995 [25]. G. Gottlob, C. Koch and R.Pichler, “Efficient algorithms for processing XPath queries” In VLDB Conference 2002, HongKong, 2002. [26]. G. Kollios, D. Gunopulos, and V. J. Tsotras. On Indexing Mobile Objects. In Proceedings of the ACM Symposium. on Principles of Database Systems, PODS, pp.261–272, June 1999. [27]. Grust T, Keulen MV, Teubner J. Accelerating XPath evalua-tion in any RDBMS. Journal of ACM Trans Database Syst. 91-131, 2004 111 [28]. Grust T, Van Keulen M. Tree awareness for relational DBMS kernels: Staircase join. Journal of Lecture Notes in Computer Science. 231-45, 2003 [29]. Greene, D: An implementation and performance analysis of spatial data access methods. Proceedings. Fifth International Conference on Data Engineering. pp. 606–615, 1989 [30]. Guttman. R-Trees: A Dynamic Index Structure For Spatial Searching. In Proceedings of ACMSIGMOD International Conference on Management of Data, pp.47–57, Boston, June 1984. [31]. H. D. Chon, D. Agrawal, and A. E. Abbadi. Storage and Retrieval of Moving Objects. In Mobile Data Management, pp.173–184, January 2001. [32]. H. Jiang, H. Lu, W. Wang, B. C. Ooi:XR-Tree: Indexing XML Data for Efficient Structural Joins. Proc. the 19th International Conference on Data Engineering (ICDE), pages 253-263, 2003 [33]. H. Samet. The Design and Analysis of Spatial Data Structures. Reading, MA:Addison-Wesley, 1990. [34]. Haifeng Jiang, Hongjun Lu, Wei Wang, Beng Chin Ooi.: XR-T ree: Indexing XML Data for Ef cient Structural Joins. Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405), 2003 [35]. Han JY, Liang ZP, Qian G. A multiple-depth structural in-dex for branching query. Journal of Information and Soft-ware Technology. 928-36, 2006 [36]. Haw S, Lee C. Data Storage Practices and Query Processing in XML Databases: A Survey. International Journal of Knowledge-Based Systems, Elsevier. 1317-40, 2011 [37]. Haw S, Lee C. Node labeling schemes in XML query opti-mization: a survey and trends. Journal of IETE Tech Rev.88-100, 2009 [38]. Hoang Do Thanh Tung, Young Jin Jung, Eung Jae Lee, Keun Ho Ryu. “Moving Point Indexing for Future Location Query”. Proceedings of the International Workshop on Conceptual Modeling for GIS, 23th ER2004 conference, Shanghai, China, Lecture Notes in Computer Science, Vol.3289, 112 pp.79-90, Springer-Verlag, November, 2004. [39]. I. Kamel and C. Faloutsos. Hilbert R-tree: An improved R-tree Using Fractals. In Proceedings of the 20th VLDB Conference, Chile, 1994. [40]. I. T atarinov, S. Viglas, K. Beyer, J. Shanmugasundaram, E. Shekita, and C. Zhang. Storing and querying ordered XML using a relational database system. In SIGMOD, pages 204– 215, 2002. [41]. In-Seon Jeong, Kyoung-Wook Park, Seung-Ho Kang, Hyeong-Seok Lim. An efficient similarity search based on indexing in large DNA databases, Computational Biology and Chemistry 34, 131-13, 2010 [42]. J. Shanmugasundaram et al., “A general technique for querying XML documents using a relational database system” SIGMOD Record, 2001. [43]. J. Tayeb, O. Ulusoy, and O.Wolfson. A Quadtree-Based Dynamic Attribute Indexing Method. The Computer Journal, Vol.41, No.3, pp.185–200, 1998. [44]. Kailing K, Kriegel H-P, Schonauer S, Seidl T.: Efficient similarity search for hierarchical data in large databases. In: Proc 9th int conf on extending database technology (EDBT 2004), Heraklion, Greece, 676-693, 2004 [45]. Kriegel H-P, Schonauer S.: Similarity search in tructured data. In: Proc 5th int conf on data warehousing and knowledge discovery (DaWaK’03), Prague, Czech Republic, Lecture notes in computer science (LNCS), (2003), vol 2737, 309-319, 2003 [46]. Lee HP, Tsai YT, Sheu TF, Tang CT.: An IDC-based algorithm for efficient homology filtration with guaranteed seriate coverage. In: Fourth IEEE symposium on bioinformatics and bioengineering (BIBE’04), Taichung, Taiwan, 200 (2004) [47]. Li Q, Moon B et al. Indexing and querying XML data for regular path expressions. Proceedings of the International Conference on Very Large Data Bases. p. 361-70, 2001 [48]. Lomet and B. Salzberg. Access Methods for Multiversion Data. In Proceedings of ACM SIGMOD Conference, pp.315-324, 1989. 113 [49]. M. Erwig, R.H. Gueting, M. Schneider, and M. Vazirgiannis. Abstract and Discrete Modeling of Spatio-Temporal Data Types. In Proceedings of the 6th ACM International Workshop on Advances in Geographic Information Systems, pp.131-136, 1998. [50]. M. Nascimento, and J. Silva. Towards Historical R-trees. In Proceedings of ACM Symposium on Applied Computing, pp.235-240, Atlanta, USA, February 1998. [51]. Michal Kr´atk´y. Indexing Graph Structured Data. PhD thesis, Faculty of Elec-trical Engineering and Computer Science, Technical University of Ostrava, 2004. [52]. Min, J.K., M.J. Park, C.W. Chung. XPRESS: a queriable compression for XML data. Proceedings of the 2003 ACM SIGMOD international conference on Management of data, ACM, San Diego, California, 122133, 2003. [53]. N. Beckmann, H.P. Kriegel, R. Schneider, and B. Seeger. The R*-tree: An Efficient and Robust Access Method For Points and Rectangles. In Proceedings of ACM-SIGMOD International Conference on Management of Data, pp.322–331, Atlantic City, May 1990. [54]. Nur'Aini Abdul Rashid, Rosni Abdullah, Abdullah Zawawi Haji Talib, Zalila Ali, IEEE.: Fast Dynamic Programming Based Sequence Alignment Algorithm, 2006 [55]. O’Neil P, O’Neil E, Pal S, Cseri I, Schaller G, Westbury N. Ordpaths: insert friendly XML node labels. Proceedings of the 2004 ACM SIGMOD International Conference on Man-agement of Data, SIGMOD ’04, ACM, New York. p. 903-8, 2004. [56]. Ong TH, Tan KL, Wang H.: Indexing genomic databases for fast homology searching. In: Proceedings of the 13th international conference on database and expert systems applications, Aix-en-Provence, France 871-880, 2002. [57]. Ooi BC, Pang HH, Wang H, Wong L, Yu C.: Fast filter-and-refine algorithms for subsequence selection. In: Proceedings of the 6th international database engineering and applications symposium (IDEAS’02), Edmonton, Canada, pp 243–254, July 2002 114 [58]. P. Agarwal, L. Arge, J. Erickson. Indexing Moving Points. Symposium on Principles of Database Systems, 2000. [59]. Pearson WR, Lipman DJ.: Improved tools for biological sequence comparision. Proc Natl Acad Sci USA 85 :2444-2448, 1988 [60]. Q. Li and B. Moon: Indexing and Querying XML Data for Regular Path Expressions. Proc. the 27th International Conference on Very Large Data Bases (VLDB), pages 361-370, 2001 [61]. Q. Li, B. Moon, et al. Indexing and querying XML data for regular path expressions. Proceedings of the International Conference on Very Large Data Bases, 361–370, 2001 [62]. Qian, B., H. Wang, J. Li, H. Gao, Z. Bao, Y. Gao, Y. Gu, L. Guo, Y. Li, J. Lu, Z. Ren, C. Wang, X. Zhang. Path-Based XML Stream Compression with XPath Query Support Web-Age Information Management. Springer Berlin / Heidelberg, 2012. [63]. Quanzhong Li, Bongki Moon, ”Indexing and Querying XML data for Regular Path Expression” In Proceedings of the 27th VLDB Conference, Roma, Italy, 2001. [64]. Rao P, Moon B. PRIX: indexing and querying XML using prufer sequences. Proceedings of ICDE, IEEE; 288300, 2004 [65]. S. Muthukrishnan and S. C. Sahinalp.: Approximate nearest neighbor and sequence comparison with block operations, 2000. [66]. S. Saltenis and C. S. Jensen. Indexing of Moving Objects for Location-Based Services. In Proceedings of the International Conference On Data Engineering, February 2002. [67]. S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez. Indexing the Positions of Continuously Moving Objects. In Proceedings of SIGMOD, 2000. [68]. S.-Y . Chien, Z. V agena, D. Zhang, V . Tsotras, and C. Zan-iolo. Efficient structural joins on indexed XML documents. International Conference on 115 Very Large Data Bases (VLDB), pages 263– 274, 2002 [69]. Samer Mahmoud Wohoush, Mahmoud Hassan Saheb.: Indexing for Large DNA Database Sequenes, International Journal of Biometrics and Bioinformatics (IJBB), Volume (5) : Issue (4). 2011 [70]. Sebastian Maneth, Diego Arroyuelo, Francisco Claude, Veli Mäkinen, Gonzalo Navarro, Kim Nguyễn, Jouni Sirén, Niko Välimäki: Fast in- memory XPath search using compressed indexes, Software Practice and Experience 45(3), January 2010 [71]. Somaye Nouri Monfared, Hasan Naderi, Mohammad Nazari Farokhi, Nasredin Niazy, Behzad Hosseini Chegeni: XML Retrieval: A Survey, International Journal of Computational Engineering Research (IJCER), ISSN (e): 2250 – 3005, Vol 04 - Issue 8, August 2014 [72]. Sreenivasaiah Pradeep Kumar, Do Han Kim: Current Trends and New Challenges of Databases and Web Applications for Systems Driven Biological Research, Frontiers in Physiology 1:147, December 2010 [73]. T. Grust, M. V. Keulen, and J. Teubner: Accelerating Xpath Evaluation in Any RDBMS. ACM Transactions on Database Systems, Vol. 29, No.1, pages 91-131, 2005. [74]. T. Kahveci, A. Singh Pacific Symposium, MAP.: Searching Large Genome Databases, Biocomputing 8 : 303 - 314. 2003 [75]. T. Sellis, N. Roussopoulos and C. Faloutsos. The R+-Tree: A Dynamic Index for Multi- Dimensional Objects. In Proceedings of the 13rd International Conference on Very Large Data Bases, pp.507-518, Brighton, England, September 1987. [76]. Taha Baydaa, Alwan Raad: Bioinformatics Data Compression and Retrieval Based on XML Structured Indexed Tree, Australian Journal of Basic and Applied Sciences 8(83):35-42, April 2014 [77]. Tamer Kahveci Ambuj K. Singh Department of Computer Science, University of California Santa Barbara .: An Efficient Index Structure for String Databases, CA 93106 {amer,ambuj}cs.ucsb.edu. 2001. 116 [78]. Tatarinov I, Viglas SD, Beyer K, Shanmugasundaram J, Shekita E, Zhang C. Storing and querying ordered XML using a relational database system. Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data, SIGMOD ’02, ACM, New York. p. 204-15. 2002 [79]. Tatikonda S, Parthasarathy S, Goyder M. LCS-Trim: dy-namic programming meets XML indexing and querying. Proceedings of the 33rd International Conference on Very Large Data Bases. p. 63-74. 2007 [80]. Theo Haerder and Andreas Reuter. Principles of transaction-oriented database recovery. ACM Comput. Surv., 15(4):287–317, 1983. [81]. Tim Bray, Jean Paoli, C.M. Sperberg-Mc Queen “Extensible Markup Language(XML) 1.0”. W3C Recommendation, 2000. [82]. Tolani, P.M., J.R. Haritsa. XGRIND: A Query-friendly XML Compressor. IEEE 18th international conference on Data Engineering, 2000. [83]. Trißl, Silke and Leser, Ulf. Fast and practical indexing and querying of very large graphs. In SIGMOD '07: Proceedings of the 2007 ACM SIGMOD international conference on Management of data, pages 845–856, New York, NY, USA, 2007 [84]. V. Gaede and O. Gunther. Multidimensional Access Methods. ACM Computing Surveys, Vol.30, No.2, pp.170-231, June 1998. [85]. V.J.Tsotras, N. Kangelaris. The Snapshot Index, an I/O-Optimal Access Method for Timeslice Queries. Information Systems, Vol.20, No.3, 1995. [86]. Willams HE.: Fast ranking strategies for genomic databases, 1997 [87]. Williams H, Zobel J.: Indexing and retrieval for genomic databases. IEEE Trans Knowl Data Eng, 14(1):63–78, 2002 [88]. Xianyang Jiang, Peiheng Zhang, Xinchun Liu, Stephen S.-T.Yau.: Survey on index based homology search algorithms, Springer Science + Business Media, LLC (2007) 117 [89]. Y. Feng, A. Makinouchi: Efficient Evaluation of Partially- dimensional Range Queries Using Adaptive R*-tree. Proc. the 17th International Conference on Database and Expert Systems Applications (DEXA), LNCS 4080, pages 687-696, Springer-Verlag, 2006 [90]. Yannis Theodoridis, Michael Vazirgiannis, Timos Sellis. Spatio-Temporal Indexing for Large Multimedia Applications. International Conference on Multimedia Computing and Systems, 1996. [91]. Yaokai Feng, and Akifumi Makinouchi: A New Structure for Accelerating XPath Location Steps. IAENG International Journal of Computer Science, 38:2, IJCS_38_2_03, 2006. [23]. Yufei Tao and Dimitris Papadia. Efficent Historical R trees. In Proceedings of the 13rd IEEE Conference on Scientific and Statistical Database Management, pp.223-232, Fairfax Virginia, July, 2001. [93]. Yufei Tao and Dimitris Papadias. MV3R-Tree: A Spatio-Temporal Access Method for Timestamp and Interval Queries. In Proceedings of the 27th Very Large Data Bases Conference, pp.431-440, Rome, September, 2001. [94]. Yufei Tao, D. Papadias, J. Sun. The TPR*-Tree: An Optimized Spatio- Temporal Access Method for Predictive Queries. In Proceedings of the 29th Very Large Data Bases Conference, 2003. [95]. Zhang C, Naughton J, DeWitt D, Luo Q, Lohman G. On supporting containment queries in relational database man-agement systems. Journal of ACM SIGMOD Record, ACM. 425-36. 2001

Các file đính kèm theo tài liệu này:

  • pdfluan_an_phuong_phap_danh_chi_so_cho_tai_lieu_xml_tin_sinh_ho.pdf
  • pdfDongGopMoi_TA.pdf
  • pdfDongGopMoi_TV.pdf
  • pdfTomTatLuanAn_TA_DDLuong.pdf
  • pdfTomTatLuanAn_TV_DDLuong.pdf
Luận văn liên quan