1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phương pháp đánh chỉ số cho tài liệu XML tin sinh học dựa trên r tree tt

27 40 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 27
Dung lượng 838,51 KB

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

Nội dung

Do vậy, các nghiên cứu gần đây về đánh chỉ số một tài liệu XML có xu hướng: - Tách tài liệu XML thành 2 phần dữ liệu và áp dụng các phương pháp đánh chỉ số khác nhau cho phù hợp với dạng

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC

VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

-

ĐINH ĐỨC LƯƠNG

PHƯƠNG PHÁP ĐÁNH CHỈ SỐ CHO TÀI LIỆU XML

TIN SINH HỌC DỰA TRÊN R-TREE

Chuyên ngành: Cơ sở toán học cho tin học

Mã số: 9 46 01 10

TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC

Hà Nội - 2019

Trang 2

Công trình được hoàn thành tại:

H ọc viện Khoa học và Công nghệ - Viện Hàn lâm Khoa học và

Công ngh ệ Việt Nam

Người hướng dẫn khoa học 1: TS Hoàng Đỗ Thanh Tùng

Người hướng dẫn khoa học 2: PGS.TS Đặng Hữu Đạo

Ph ản biện 1:

Ph ản biện 2:

Ph ản biện 3:

Lu ận án được bảo vệ trước Hội đồng chấm luận án tiến sĩ, họp tại Học

vi ện Khoa học và Công nghệ - Viện Hàn lâm Khoa học và Công nghệ

Vi ệt Nam vào hồi giờ, ngày tháng năm

Có th ể tìm hiểu luận án tại:

- Thư viện Học viện Khoa học và Công nghệ

- Thư viện Quốc gia Việt Nam

Trang 3

Danh m ục các công trình của tác giả

l iên quan đến Luận án

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 (SCOPUS)

5 Dinh Duc Luong, Vuong Quang Phuong, Hoang Do Thanh Tung, “A new

Indexing technique XR + tree for Bioinformatic XML data compression”, International Journal of Engineering and Advanced Technology (IJEAT), ISSN: 2249-8958 (Online), Volume-8, Issue-5, June 2019, pp 1-7 (SCOPUS)

Trang 4

M Ở ĐẦU

Tài liệu XML là dữ liệu văn bản có cấu trúc, hay còn gọi là dữ liệu bán cấu trúc, chúng

đã phổ biến hàng thập kỷ nay vì khả năng lưu trữ dữ liệu rất linh hoạt và dễ dàng chia sẻ, sử

dụng qua internet Trước đây, các tài liệu XML thường có kích thước không lớn, nhưng những năm gần đây bắt đầu xuất hiện các tài liệu XML tin sinh học có kích thước rất lớn có thể lên

tới Giga, Tera Byte bởi sự phát triển như vũ bảo của công nghệ sinh học trong kỷ nguyên này

Dữ liệu đó có thể tìm thấy từ các nguồn dữ liệu uy tín như SRA (công khai các trình tự được

giải mã), NCBI Genome (các loài đã được giải trình tự), ensembl.org (tổng hợp rất nhiều dữ liệu thành BioMart)…

Các tài liệu XML tin sinh học là dữ liệu gồm có 2 phần, dữ liệu sinh học (DNA, Protein, phân loài,…) và các dữ liệu mô tả dữ liệu sinh học Cấu trúc dữ liệu được định nghĩa theo các

thẻ (tag) và các cấu trúc dữ liệu này thường linh hoạt, có thể khác biệt bởi vì chúng được tùy

biến theo các cá nhân, tổ chức sinh học thực hiện

Vì có kích thước lớn như vậy, các tài liệu cơ bản phải lưu trữ và khai thác trên đĩa cứng, hoặc trong hệ thống lưu trữ phân tán, trước khi có thế truy xuất 1 phần nhỏ để đưa lên bộ nhớ chính (RAM) mỗi khi cần phân tích sâu hơn Cơ chế truy xuất đĩa cứng là tuần tự và thời gian tiêu tốn chậm hơn rất nhiều lần so với truy xuất trên RAM Do vậy, các phương pháp truy vấn

cần truy xuất đĩa cứng luôn tìm cách sao cho tối thiểu số lần cần truy xuất đĩa cứng và tối đa tận dụng bộ nhớ chính, như là Cache, Buffer

Các truy xuất thực thi theo thuật toán của các truy vấn đặc thù, được thiết kế để đạt kết quả mong muốn trong thời gian ngắn và phù hợp với truy vấn Ví dụ:

1 Truy vấn Xpath cho 01 tài liệu XML (tìm kiếm chính xác): trích xuất tất cả các

dữ liệu có tags có quan hệ cùng nguồn gốc/anh em với nhau của 1 loại Chuột

Bạch hoặc trích xuất toàn bộ các dữ liệu là hậu duệ của heo giống Châu Phi

1 Truy vấn tương đồng cho dữ liệu các đoạn DNA (tìm kiếm xấp xỉ): tìm kiếm tất

cả các Gen tương đồng với 1 đoạn Gen mẫu của một loài mới

Giải pháp truyền thống cho các truy vấn như trên là lựa chọn và cài đặt các phương pháp đánh chỉ số (indexing) phù hợp một số loại dữ liệu và truy vấn đặc thù Các phương pháp này

có nhưng gặp nhiều hạn chế với dữ liệu văn bản kích thước lớn như vậy

Với dữ liệu văn bản, kích thước dữ liệu chỉ số sinh ra thường cũng rất lớn, thậm chí lớn hơn nhiều so với dữ liệu gốc, như vậy gây nên các vấn đề: (1) lưu trữ dữ liệu chỉ số này là vấn

đề nan giải, (2) Nén dữ liệu và khai thác dữ liệu đồng thời kém hiệu quả Hơn nữa, nếu chỉ số

là dữ liệu văn bản thì vấn đề tốc độ truy vấn vẫn là vấn đề khó giải quyết

Do vậy, các nghiên cứu gần đây về đánh chỉ số một tài liệu XML có xu hướng:

- Tách tài liệu XML thành 2 phần dữ liệu và áp dụng các phương pháp đánh chỉ số khác nhau cho phù hợp với dạng dữ liệu và loại truy vấn đặc thù Cụ thể là:

1 Phương pháp đánh chỉ số dữ liệu cấu trúc (dữ liệu các thẻ) và hỗ trợ các truy vấn đặc thù như Xpath

Trang 5

2 Phương pháp đánh chỉ số dữ liệu sinh học (như các đoạn DNA) và hỗ trợ các truy vấn đặc thù như tìm kiếm các chuỗi DNA tương đồng

- Chuyển đổi dữ liệu văn bản gốc về dạng số nhằm mục đích:

1 Giảm kích thước dữ liệu gốc ban đầu

2 Áp dụng các phương pháp đánh chỉ số phù hợp

3 Cải thiện tốc độ các truy vấn

Các vấn đề cần giải quyết rất rộng gồm tin học và sinh học, vì vậy nghiên cứu của luận

án tập trung giải bài toán Phương pháp đánh chỉ số hỗ trợ cho các truy vấn đặc thù về tốc độ

b ằng cách giảm số lần cần truy cập đĩa cứng mà vẫn đạt được kết quả mong đợi

Kết quả luận án đã giải bài toán Phương pháp đánh chỉ số dữ liệu cấu trúc (dữ liệu các

th ẻ) và hỗ trợ các truy vấn Xpath Ngoài ra, với bài toán Phương pháp đánh chỉ số dữ liệu sinh

h ọc (như các đoạn DNA) và hỗ trợ các truy vấn đặc thù như tìm kiếm các chuỗi DNA tương đồng, luận án đã khảo sát được phương pháp và có định hướng cho nghiên cứu tiếp theo Cụ

thể mục tiêu và kết quả của luận án như sau

M ục tiêu thực hiện của luận án:

- Nghiên cứu phương pháp đánh chỉ số dựa trên phương pháp R-tree đế nhằm tăng hiệu quả các truy vấn Xpath trên dữ liệu XML, thông qua dữ liệu trung gian được chuyển đổi

về dạng tọa độ số của các tags Dữ liệu XML mục tiêu là từ một tài liệu XML tin sinh học

- Sử dụng phương pháp chuyển đổi dữ liệu văn bản có cấu trúc XML về dữ liệu dạng số

mà biểu diễn được trên không gian 2 chiều (có thể mở rộng lên nhiều chiều) Mục tiêu là

nhằm giảm kích thước dữ liệu gốc và áp dụng được phương pháp đánh chỉ số đề xuất

K ết quả đạt được của luận án như sau:

- Bằng thực nghiệm đã chỉ ra rằng phương pháp chuyển đổi dữ liệu XML tin sinh học về

dữ liệu không gian là có hiệu quả về giảm kích thước với tỷ lệ khá tốt nói chung Tuy nhiên, tỷ lệ nén không có có kểt quả tốt đồng đều giữa các thực nghiệm với dạng tài liệu XML tin sinh học DNA, Protein, và cây phân loài…

- Đề xuất được phương pháp đánh chỉ số BioX-tree và phương pháp mở rộng BioX+ tree Các phương pháp đề xuất (cải tiến phương pháp R-tree) đã chứng tỏ hiệu quả hơn phương pháp R-tree khi áp dụng để đánh chỉ số dữ liệu chuyển đồi từ dữ liệu XML qua các thực nghiệm Đặc biệt, các truy vấn anh em, hoặc các truy vấn có tận dụng truy vấn anh em trong thuật toán, có kết quả tốt Lý thuyết và thực nghiệm đã chứng mình được rằng: các truy vấn đã giảm được các bước duyệt cây dư thừa trên cây chỉ số (lưu trữ trên đĩa cứng), nhờ đó giảm số lần truy xuất trên đĩa cứng để lấy dữ liệu lên bộ nhớ chính, mà vẫn có được kết quả như mong muốn

Trang 6

C hương 1 TỔNG QUAN 1.1 Tin sinh h ọc và các nguồn dữ liệu

1.1.1 Tin sinh h ọc

Tin sinh học (BioInformatics) là một lĩnh vực khoa học sử dụng các công nghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính, sinh học, hóa học, vật lý… và toán sinh học Tin sinh học thường gắn liền với sinh học tính toán (computational biology)

hoặc sinh học hệ thống (system biology)

1.1.2 Các ngu ồn dữ liệu

- Cơ sở dữ liệu NCBI

- Cơ sở dữ liệu EMBL/EBI

- Cơ sở dữ liệu DDBJ

1.1.3 V ấn đề tin sinh học và cơ sở dữ liệu sinh học

Có thể thấy rằng cơ sở dữ liệu sinh học chứa đựng một lượng khổng lồ các thông tin như: chuỗi DNA, protein, chức năng, cây phân loài, và được bổ sung liên tục làm cho kích thước của chúng tăng lên một cách nhanh chóng, đặc biệt với sự phát triển của các kỹ thuật sinh học hiện nay Cơ sở dữ liệu sinh học có thể được lưu trữ trên máy tính, tuy nhiên, các bài toán tìm kiếm hay truy vấn dữ liệu trên CSDL lớn như trên thường khó thực hiện được bởi các

yếu tố liên quan đến không gian và thời gian truy xuất Hiện nay bài toán đánh chỉ số để tăng tốc độ xử lý dữ liệu tin sinh học đang được rất nhiều nhà nghiên cứu quan tâm, và có ý nghĩa

Đo lường hiệu quả của một thuật toán chính là tính toán số lượng I/O để thực hiện một hành động Chỉ số (index) trong cơ sở dữ liệu là một cấu trúc tra cứu đặc biệt mà công cụ tìm

kiếm cơ sở dữ liệu có thể sử dụng để tăng nhanh thời gian và hiệu suất truy xuất dữ liệu thông qua việc giảm thiểu số lượng các block mà chúng ta cần phải truy cập để trả lời một câu truy

vấn, đồng thời giảm thiểu số lượng các block được sử dụng để lưu trữ cơ sở dữ liệu nếu có thể

1.2.2 Các phương pháp đánh chỉ số cho dữ liệu sinh học

Trang 7

1.2.3 Các phương pháp đánh chỉ số cho dữ liệu tin sinh học

Có rất nhiều loại tài liệu tin sinh học được lưu trữ dưới nhiều định dạng khác nhau, trong

luận án này, tác giả sẽ tập trung vào dữ liệu dạng XML có kích thước lớn, đây là một trong

những chuẩn đầu ra cho người dùng có thể tải về từ các nguồn dữ liệu nêu phía trên

Các phương pháp XGrind [78], Xpress [52], XQzip [15], XQueC [7], Arroyuelo et al [8], Qian et al [62], Dietz [21] Li and Moon in XISS [61] đã được tác giả nghiên cứu và sẽ trình bày phân tích kĩ hơn các ưu nhược điểm ở các phần tiếp theo

1.3 Phương pháp đánh chỉ số tài liệu XML

1.3.1 Tài li ệu XML và Xpath

- Tài liệu XML: XML (eXtensible Markup Language) [77] là một mô hình dữ liệu phân

cấp có nguồn gốc SGML, nó cho phép mô hình hóa một tài liệu như một cấu trúc cây

- Xpath: Cấu trúc 1 tài liệu XML có thể hình dung như 1 cái cây với nhiều cành và nhánh

nhỏ khác nhau Một trục cho biết node nào liên quan đến node bối cảnh, nên được đưa vào tìm kiếm Đặc tả XPath [11] liệt kê một họ gồm 13 trục trong Bảng 1.1:

Bảng 1.1: Các trục Xpath

Vị từ cũng có thể được xác định ở mỗi bước trong đường dẫn để hạn chế tập hợp các node xuất phát tại một bước Nói cách khác, các vị từ cho phép phân định chính xác hơn các

dữ liệu quan tâm, dẫn đến các kết quả nhỏ hơn và có thể sử dụng nhiều hơn Một số phương pháp đánh chỉ số được mô tả dưới đây:

1.3.1.1 Đánh số trên lược đồ

Tài liệu XML sẽ được xây dựng lên dạng cây với quan hệ phân cấp cha con, sau đó các

tag name tương ứng sẽ được đánh 2 chỉ số theo quy tắc duyệt cây theo giá trị trước, duyệt cây theo giá trị sau (cặp giá trị này sẽ tạo thành NodeID) và đánh số thứ tự cho từng tag name của tài liệu XML [22][63]:

- Duyệt cây theo giá trị trước (pre order): là thứ tự đọc tuần tự từ trên xuống dưới của các node, tức là các node sẽ được đánh số tăng dần từ trên xuống dưới cây cho đến hết

Trang 8

- Duyệt cây theo giá trị sau (post order): là thứ tự đọc tuần tự được đánh số tăng dần từ trái qua phải trên cây

1.3.1.2 Phép nối có cấu trúc

Cách đơn giản nhất để cải tiến và đánh giá các truy vấn đường dẫn là chia các biểu thức

lớn thành nhiều biểu thức nhỏ hơn (gọi là biểu thức con) và thực hiện tìm kiếm kết quả ở các bước con đó Hạn chế của nó là chúng ta cần xác định mối quan hệ A-D cho từng cặp node, có thể chúng phải tìm rất nhiều lần và lặp đi lặp lại việc xem xét một phần tử trong các bước khác nhau, điều này gây tốn chi phí tài nguyên và thời gian không cần thiết

1.3.1.3 Chuyển đổi lên không gian đa chiều

Cách tiếp cận này cố gắng chuyển đổi các đường dẫn và mối quan hệ A-D từ tài liệu XML đầu vào thành các bộ dữ liệu đa chiều Ý tưởng chính là để tránh các phép nối có cấu trúc có thể không tối ưu với nhiều trường hợp đa dạng gây chậm khi thực hiện, và cũng là

để tận dụng các cấu trúc dữ liệu đa chiều đang tỏ ra hiệu quả hơn như trên cây R-tree Các công trình trong [37] và [51] đề xuất một phương pháp lập chỉ số mới cho các cây XML dựa trên các bộ dữ liệu đa chiều gọi là MDX (Multidimensional Approach to Indexing XML)

1.3.1.4 Ánh xạ sang cơ sở dữ liệu quan hệ

Trong [36] trình bày một phương pháp được thiết kế đặc biệt cho các truy vấn Xpath và các biểu thức đường dẫn, trong đó biểu diễn các node của file XML đầu vào với 5 chiều:

entry(E) = {pre(E); post(E); par(E); att(E); tag (E)} Với một node E, pre và post là giá trị duyệt cây theo giá trị trước, duyệt cây theo giá trị sau; par là giá trị duyệt cây theo giá trị trước

của node cha mẹ của node E; att là cờ trạng thái, tag chứa tag name của node Việc truy vấn

Xpath sẽ dựa trên cơ sở của truy vấn cửa sổ và biểu diễn dưới dạng truy vấn SQL (Structured Query Language) Vì các node được biểu diễn trong không gian 5 chiều nên giải pháp đề xuất này sử dụng R-tree để đánh chỉ số vì chúng được nhiều nghiên cứu đánh giá là có kết quả tốt trong truy vấn Xpath

1.4 Phương pháp R-tree

1.4.1 Khái ni ệm R-tree

Phương pháp R-tree được xây dựng để truy xuất nhanh các vùng không gian, bằng cách chia nhỏ không gian thành các vùng nhớ và tạo chỉ số cho các vùng không gian nhớ nhỏ này, sau đó áp dụng lý thuyết cây đồ thị để quản lý R-tree là phương pháp phân chia không gian dữ

liệu thành các khối hình chữ nhật biên tối thiểu chứa dữ liệu (Minimum Bounding Rectangle – MBR) Chính các MBR được lưu trữ trên cấu trúc cây chứ không phải bản thân dữ liệu (như là metadata), khi đó việc tìm kiếm dữ liệu sẽ thực hiện trên các node

1.4.2 C ấu trúc R-tree

Một cách tổng quát, R-tree là một cấu trúc chỉ số cho các đối tượng không gian n-chiều

và nó tương tự như B-tree Các node lá trong cây chứa chỉ số vì vậy chúng có khuôn dạng:

(MBR, object_ptr) - trong đó object_ptr tham chiếu đến một bộ dữ liệu trong cơ sở dữ liệu và

MBR là một hình chữ nhật n-chiều chứa các đối tượng không gian nó thể hiện Các node không

là lá có khuôn dạng: (MBR, chirld_ptr) - trong đó chirld_ptr là địa chỉ một node khác trong

Trang 9

cây và MBR bao gồm các hình chữ nhật trong các node thấp hơn Một R-tree thỏa mãn các

thuộc tính sau:

- Mỗi một node chứa số lượng node con trong khoảng m và M ngoại trừ node gốc

- Đối với mỗi đầu vào dạng (MBR, object_ptr) tại node lá, MBR là một hình chữ nhật

nhỏ nhất có chứa đối tượng dữ liệu n-chiều được biểu diễn bởi object_ptr

- Đối với mỗi đầu vào dạng (MBR, chirld_ptr) tại node không phải lá, MBR là một

hình chữ nhật nhỏ nhất có chứa hình chữ nhật trong chirld node

- Node gốc có ít nhất là 2 node con ngoại trừ đó là node lá

- Đây là một loại cây cân bằng

1.4.3 M ột số thuật toán cơ bản trong phương pháp R-tree [30]

a) Tìm kiếm trong cấu trúc dữ liệu tổ chức dưới dạng R-tree

Mô hình trong Hình 1.1, giúp dữ liệu XML được chuyển đổi về không gian đa chiều, từ

đó áp dụng các phương pháp đánh chỉ số và truy vấn trong không gian giúp tăng tốc độ xử lý

và giảm kích thước dữ liệu khi đánh chỉ số Vì XML tin sinh học trên thực tế rất đa dạng nên

R-tree sẽ phù hợp hơn và được lựa chọn làm cơ sở trong luận án này

2) Vấn đề mối liên kết anh em của các tag sau khi chuyển đổi sang không gian, mà được

thể hiện như các điểm trong không gian như parent, preceding, sibling, descendant, child,

Trang 10

following, v.v… theo các trục Xpath Trong Hình 2.2 biểu diễn việc phân bố dữ liệu trên hệ

trục tọa độ, tác giả nhận ra rằng tất cả các dữ liệu phân bố lệch như một hình thang/được chéo thẳng hàng (giống như cánh máy bay) Trong khi đó, tất cả các phương pháp trước đây không quan tâm đến điều đó, nên các truy vấn chưa có cải thiện đáng kể nào khi truy vấn ở vùng dữ

liệu cánh máy bay này

1.6 K ết luận

Chương 1 trình bày một số khái niệm nền tảng về tin sinh học và dữ liệu tin sinh học Dữ

liệu tin sinh học ngày càng trở nên khổng lồ do được đóng góp và chia sẻ thường xuyên của

cộng đồng nghiên cứu Do các bài toán phân tích dữ liệu tin sinh học rất đa dạng, các tài liệu lưu trữ thông tin cần cấu trúc dễ thay đổi, linh hoạt, đa dạng và đặc biệt dễ chia sẻ/đóng góp Hiện nay, tài liệu XML là một chuẩn quan trọng để mô tả và lưu trữ dữ liệu sinh tin học khổng

lồ Tuy nhiên, tài liệu XML có dữ liệu dạng text và bán cấu trúc nên việc khai thác không giống như dữ liệu thông thường Chương 1 cũng trình bày các nghiên cứu liên quan của bài toán khai thác dữ liệu XML, các phương pháp đánh chỉ số, các thuật toán được đề xuất trong các nghiên cứu trước đây đã được nêu ra, trong đó R-tree đang là thuật toán tỏ ra hiệu quả với các tài liệu XML và truy vấn Xpath Trên cơ sở đó, chương 1 phân tích và đưa ra các vấn đề nghiên cứu của luận án

Chương 2 PHƯƠNG PHÁP ĐÁNH CHỈ SỐ BIOX-TREE 2.1 M ở đầu

Các phương pháp đưa ra ở trên trong việc đánh chỉ số trong không gian dựa trên R-tree đang gặp các vấn đề:

Thứ nhất, đó là vấn đề chồng chéo Đối với kỹ thuật chỉ số dựa trên không gian, không gian tìm kiếm càng lớn thì càng mất nhiều thời gian hơn để nhận được node được trả về Nhưng điểm yếu của phương pháp dựa trên R-tree là chúng tạo ra một cửa sổ truy vấn chưa tối

ưu Hình 2.1 minh họa một thể hiện của tài liệu XML với một số điểm nhỏ biểu thị dữ liệu XML theo mặt phẳng Giả sử rằng, từ node bối cảnh E, chúng ta muốn lấy tất cả các node con

cháu của nó bằng cách sử dụng cửa sổ truy vấn {pre(E), ; 0, post(E)} [36] Cửa sổ thực sự

cần thiết để tìm kiếm là màu trắng được xác định bởi giá trị duyệt cây theo giá trị trước của node con cháu bên trái và giá trị duyệt cây theo giá trị sau của node con cháu bên phải của

node E Kết quả là, phạm vi thừa được đánh dấu màu xám trong cửa sổ truy vấn tương ứng với trục con cháu sẽ gây ra ảnh hưởng đáng kể đến hiệu suất thực hiện các truy vấn, mà phạm vi này lại có thể rất lớn trong nhiều trường hợp

Hình 2.1: P hạm vi quét thứ tự duyệt cây theo giá trị trước và sau ban đầu (vùng xám) và

Trang 11

Thứ hai, đó là vấn đề mối liên kết anh em của các tag sau khi chuyển đổi sang không gian,

mà được thể hiện như các điểm trong không gian như parent, preceding, sibling, descendant, child, following, v.v… theo các trục Xpath Trong Hình 2.2 biểu diễn việc phân bố dữ liệu trên

hệ trục tọa độ, với dữ liệu DNA gạo kiểm thử trên 1000 node (Hình 2.2a), với dữ liệu Swissprot kiểm thử trên khoảng 20.000 node (Hình 2.2b), tác giả nhận ra rằng tất cả các dữ

liệu dữ liệu phân bố lệch như một hình thang/được chéo thẳng hàng (giống như cánh máy bay) Tác giả đã thử nghiệm trên nhiều tài liệu XML khác nhau với từ vài trăm node đến vài trăm nghìn node cũng ra kết quả tương tự

(a) (b)

Hình 2.2: Ví d ụ về phân phối các điểm quy đổi cho một tài liệu XML

Trong khi đó, tất cả các phương pháp trước đây không quan tâm đến điều đó, chúng chỉ

tập trung vào xử lý mối quan hệ giữa cha mẹ/con cái hoặc tổ tiên/con cháu và bỏ qua các trục khác mà chúng cũng là phần quan trọng trong xử lý truy vấn, đặc biệt là xử lý luồng truy vấn XPath với các vị từ Các truy vấn chưa có cải thiện đáng kể nào khi truy vấn ở vùng dữ liệu cánh máy bay này

Từ đó, tác giả đi sâu nghiên cứu phương pháp đánh chỉ số mới, được cải tiến từ R-tree giúp các truy vấn Xpath chạy hiệu quả hơn trong một số trục

Dựa theo mô hình đã lựa chọn trong chương 1, tác giả sẽ có những đề xuất cải tiến trong các thành phần: chuyển đổi, đánh chỉ số, module xử lý truy vấn

Hình 2.3 : Các thành phần được đề xuất cải tiến trong phương pháp BioX-tree

Các kết quả trong chương này được công bố trong các công trình 1, 2, 3, 4 phần “Danh

m ục các công trình của tác giả”

Trang 12

2.2 Phương pháp đánh chỉ số cải tiến BioX-tree

2.2.1 Chuy ển đổi tài liệu XML

Vẫn tuân thủ theo nguyên tắc chung đó trong phân tích và chuyển đổi tài liệu XML, tác

giả đã xây dựng một chương trình riêng để thực hiện để đảm bảo độ chính xác khi so sánh với phương pháp dựa trên R-tree của các nghiên cứu trước Trong tài liệu [20], trình chuyển đổi

được triển khai bằng hai thủ tục startEuity (t, a, att) và endEuity (t) Ở đây, tác giả đã thêm

một tham số mới theo cách riêng của tác giả để tăng hiệu quả tìm kiếm lên, bên cạnh việc vẫn

sử dụng tham số duyệt cây theo giá trị trước và duyệt cây theo giá trị sau Đó là tham số được

sử dụng để chỉ cấp độ l (level) của từng node Hai thủ tục trên được sửa đổi với tên mới

startElement và endElement, trình bày trong Thuật toán 2.1

Thuật toán ConvertXMLDocument(XMLdoc)

Đầu vào: tài liệu XML cần chuyển đổi

Đầu ra: file txt chứa các giá trị trên không gian của một node(E) = {pre (E), post (E),

par (E), att (E), tag (E)}

Thuật toán 2.1: Hai thuật toán sửa đổi trong chuyển đổi tài liệu XML

2.2.2 C ấu trúc chỉ số trên cây BioX-tree

BioX-tree áp dụng chiến lược chèn/tách khác nhau để đạt được các mối quan hệ anh em

của dữ liệu XML một cách dễ dàng hơn, trong khi không gây ảnh hưởng đến khả năng phân biệt không gian của chỉ số quá nhiều Tương tự phương pháp Xpath và R-tree nêu trong chương 1, mỗi tag name trong tài liệu XML sau khi chuyển đổi được biểu diễn dưới dạng một

entry[30] gồm 5 thuộc tính node(E) = {pre (E), post (E), par (E), att (E), tag (E)} Một node sẽ

có kích thước tương ứng với 1 block trong ổ đĩa cứng

Các node không là lá (non-leaf node) có dạng (pointer, MBR) trong đó con trỏ pointer trỏ

đến node con và MBR là một hình chữ nhật nhỏ nhất bao quanh tất cả entry trực thuộc nó

Trang 13

Chúng ta hiểu đơn giản rằng các node không là lá sẽ chứa các thông tin metadata của các node

lá, cần biết thông tin về các node lá có thể tìm ở đây

Các node lá (leaf node), đây là nơi chứa các phần tử sau chuyển đổi, chúng có trách nhiệm duy trì các quỹ đạo liên kết của dữ liệu XML thực tế Để làm điều đó, tác giả áp dụng các phương pháp liên kết đôi để giữ các kết nối với anh em XML ở trước và anh em XML theo sau Tác giả cũng sử dụng con trỏ để giữ kết nối với cha mẹ của các con XML Tóm lại, tác giả

sử dụng 3 con trỏ trong một node lá để kết nối với anh em ở trước, anh em theo sau và cha mẹ

của chúng, nên mỗi node dạng này sẽ có tập các con trỏ có dạng tuple (previouspointer,

nextpointer, parpointer).

Mục đích là tác giả cố gắng duy trì mối quan hệ phản ánh phân bố dữ liệu hình cánh máy bay trên không gian để làm cho các cửa sổ truy vấn sau này sẽ được thu nhỏ hơn và bắt buộc 1 node trên cây sẽ chỉ chứa các anh chị em của nó giúp chúng ta có thể nhanh chóng tìm ra các mối quan hệ anh em trong BioX-tree

Hình 2.4 : Hệ thống cây phân cấp theo các tag trong tài liệu XML DNA gạo

Ví dụ, Hình 2.2 mô tả cấu trúc cây của một tài liệu liên quan đến DNA gạo mà tác giả sẽ

thử nghiệm trong các phần sau, đây một bộ dữ liệu XML được công bố trên ngân hàng Gene NCBI Chúng được đánh số duyệt cây theo giá trị trước và duyệt cây theo giá trị sau trên đầu dựa theo cách đánh và thuật toán tác giả đã trình bày ở trên Sau khi chuyển đổi dữ liệu (để đơn giản hóa chúng ta chỉ sử dụng giá trị duyệt cây theo giá trị trước để mô tả), các node sẽ được biểu diễn trong cấu trúc cây BioX-tree như trong Hình 2.3, các node dữ liệu có cùng cha

mẹ sẽ được lưu trữ trong cùng một node lá Trong trường hợp node lá quá nhiều entry và bị tràn khỏi mảng, nó sẽ được tách ra và có các con trỏ kết nối với nhau để đảm bảo vẫn kết nối

với các anh em Các mũi tên thẳng thể hiện các con trỏ từ một node lá đến node anh em trước

và tiếp theo của chúng, mũi tên cong biểu diễn kết nối với cha mẹ của chúng

Ngày đăng: 20/11/2019, 06:17

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