3.2.1. Đặt vấn đề
Giả sử có 2 cơ sở dữ liệu là DB1 gọi là Master và DB2 gọi là Slave, miền giá trị của các TID (Transaction Index) là giống nhau và kích thƣớc tối đa là n giao dịch, các TID đƣợc sắp xếp từ 1 đến n. Có một bên thứ 3 cùng hỗ trợ quá trình khai thác của 2 bên với nhiệm vụ không làm lộ dữ liệu của 2 bên trong quá trình khai thác. Tác giả luận án đã dựa vào ý tƣởng sử dụng bên thứ ba của Boris Rosenber và các công sự [16] để đề xuất thuật toán ENUMERATE_FREQUENT_DISTRIBUTE_ PRIVACY [2], khai thác trên CSDL phân tán dọc, có bảo toàn tính riêng tƣ của các bên tham gia khai thác. Quá trình khai thác đƣợc thực hiện nhƣ sau (giả sử bên Master khai thác trƣớc)
Bƣớc 1: Các bên Master và Slave cũng gửi các TID thật cho bên thứ 3. Sau khi kiểm tra giá trị các K=|TID(slave) TID(Master)| thoả độ hỗ trợ tối thiểu (có khả năng khai thác luật ) bên thứ 3 thông báo cho các bên tham gia mọi việc đã sẵn sàng cho quá trình khai thác luật.
Bƣớc 2: Hai bên Master và Slave phát sinh dữ liệu giả bằng cách thêm vào các TID giả là các TID chƣa sử dụng trong khoảng [1..n] và gửi dữ liệu giả đó cho nhau.
cho nhau để Slave thực hiện tìm kiếm các luật cho mình. Master lần lƣợt gửi các TID(i) của mình và các TID(j) thuộc phần phần dữ liệu giả của Slave đã đƣợc giao với các TID thực của Master đến bên thứ 3 và nhận về từ bên thứ 3 giá trị (là số phần tử của tập giao giữa dữ liệu Master và TID (|MTID TID|)) đây cũng chính là độ hỗ trợ sẽ sử dụng để khai thác luật.
Bƣớc 4: Master dùng phƣơng pháp IT-Tree để sinh tập phổ biến và thuật toán sinh luật dựa trên giữ liệu giả của Slave và độ hỗ trợ của từng itemset do bên thứ 3 trả về.