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

KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN

90 1K 2

Đ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 90
Dung lượng 482,5 KB

Nội dung

Thứ tự các giao tác khả tuần tự không phụ thuộc thứ tự thực thi thao tác đầu tiên của các giao tác mà phụ thuộc vào quan hệ thứ tự các cặp thao tác tương tranh trong các giao dịch... KH

Trang 1

KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN

GIÁO VIÊN : PGS TS ĐỒNG THỊ BÍCH THỦY

Nhóm : 5 Nguyễn Huỳnh An Phú Nguyễn Thị Bảo Chi

Trang 2

KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN

Trang 3

KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN

 GIỚI THIỆU

Trang 4

GIỚI THIỆU

2 pha trong môi trường phân tán.Một số khái niệm về thời gian, thời dấu và thứ tự các sự kiện trong CSDL PT, thuật toán khóa 2 pha.

dụng bằng Timeout, thuật toán detection deadlock, prevention

deadlock

Trang 5

Tại sao phải điều khiển đồng thời phân tán ?

và nhất quán (consistency).

thời phân tán

Trang 6

KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN

 LÝ THUYẾT KHẢ TUẦN TỰ

 TRONG MÔI TRƯỜNG TẬP TRUNG

Trang 7

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Ri(x) (read-set), thao tác ghi Wi(x) (write-set), Ri(x) ∩ Wi(x) ≠ Ф

Ti, Tj tuần tự trong S nếu last(Ti) < first(Tj) hoặc last(Tj) <

first(Ti).

lộn về thứ tự)

Trang 8

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Wi(x) Ri(y) Rj(x) Wj(y) Rk(y) Wk(x) S2 tuần tự.

Trang 9

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Trang 10

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Việc thực thi các giao tác theo lịch tuần tự chính xác Tuy nhiên, mục đích là phải thực hiện chúng đồng thời nếu có thể

(để tăng hiệu quả)

01 Schedule thực thi chính xác nếu khả tuần tự tức tương đương với một Schedule tuần tự.

Đ/k 02 Schedule tương đương :

 Mọi thao tác đọc đều đọc dữ liệu được cung cấp bởi cùng

thao tác ghi trong cả hai Schedule.

 Thao tác ghi cuối cùng trên mỗi dữ liệu giống nhau trong

cả hai Schedule.

 02 Đ/k trên là đủ vì mỗi giao tác đọc các giá trị, tính toán

giống nhau trong 02 Schedule Hơn nữa, thao tác ghi cuối trên mỗi dữ liệu được thực hiện bởi cùng giao dịch trong

cả 2 Schedule Tất cả dữ liệu có giá trị giống nhau sau khi thực hiện theo cả 02 cách.

Trang 11

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Hai thao tác tương tranh (conflict) :

 Thực thi trên cùng dữ liệu

 Ít nhất 1 thao tác ghi

 Thuộc 2 giao dịch khác nhau

<Ri(x),Wj(x)>, <Wi(x),Wj(x)> tương tranh

<Ri(x),Rj(x)>, <Wi(x),Wj(y)>, <Wi(x),Rj(x)> không tương tranh

Đ/n S1, S2 tương đương dựa trên khái niệm thao tác tương tranh :

 Mỗi cặp (Oi,Oj) thuộc S1,S2.

 Oi ˂S1 Oj  Oi ˂S2 Oj (quan hệ thứ tự cảm sinh)

Trang 12

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Định nghĩa dựa vào thao tác tương tranh thuận tiện hơn khi kiểm tra schedule khả tuần tự.

S3 : Ri(x) Rj(x) Wj(y) Wi(x)

tương đương với

Serial(S4) : Rj(x) Wj(y) Ri(x) Wi(x)

vì cặp tương tranh duy nhất <Rj(x),Wi(x)> tuân thủ quan hệ thứ tự trong S3, S4

Nhận xét : Tj < Ti trong S4 Thứ tự các giao tác khả tuần tự không phụ thuộc thứ tự thực thi thao tác

đầu tiên của các giao tác mà phụ thuộc vào quan hệ thứ tự các cặp thao tác tương tranh trong các giao dịch.

Trang 13

KHẢ TUẦN TỰ TRONG CSDL TẬP TRUNG

Một Schedule khả tuần tự có thể tương đương nhiều Schedule tuần tự

S1 : Ri(x) Rj(x) Wi(y) Rk(y) Wj(x) (khả tuần tự) tương đương S5,S6

(tuần tự)

S5 : Ri(x) Wi(y) Rj(x) Wj(x) Rk(y)

S6 : Ri(x) Wi(y) Rk(y) Rj(x) Wj(x)

Trang 14

KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN

 TRONG MÔI TRƯỜNG PHÂN TÁN

Trang 15

KHẢ TUẦN TỰ TRONG CSDL PHÂN TÁN

CSDL PT, mỗi giao tác thực thi các thao tác trên nhiều vị trí

Schedule cục bộ : Chuỗi thao tác của các giao tác tại một vị trí.

Việc thực thi n giao tác {T1,T2,…,Tn} tại m vị trí được mô hình hóa bằng tập m Schedule

cục bộ {S1,S2,…,Sm}.

Mỗi node có điều khiển đồng thời cục bộ tất cả schedule cục bộ đều khả tuần tự nhưng

không đảm bảo tính đúng đắn khi thực thi tập giao tác phân tán !!!

Trang 16

KHẢ TUẦN TỰ TRONG CSDL PHÂN TÁN

Serial(S1)(VT1) : Ri(x) Wi(x) Rj(x) Wj(x)

Serial(S2)(VT2) : Rj(y) Wj(y) Rj(y) Wj(y)

Cả 2 đều tuần tự nhưng không tuần tự toàn cục vì Ti<Tj in Serial(S1) và

Tj<Ti in Serial(S2).

Để đảm bảo tính khả tuần tự các giao tác phân tán trên toàn cục, cần định

nghĩa mạnh hơn

Trang 17

KHẢ TUẦN TỰ TRONG CSDL PHÂN TÁN

Việc thực thi tập n giao tác {T1,T2,…,Tn} tại m vị trí chỉ đúng khi :

 Tồn tại thứ tự toàn phần T 1 <T 2 <…<T n, khi đó,

nếu T i <T j trong thứ tự toàn phần đó,thì có S k’ để

S k S k’ và T i <T j trong serial(S k’ ) với mọi vị trí k

mà T i ,T j cùng thực thi một số thao tác

Trang 18

KHẢ TUẦN TỰ TRONG CSDL PHÂN TÁN

Định nghĩa lại bằng khái niệm thao tác tương tranh.

Định đề 8.1 Cho tập n giao tác {T1,…,Tn}, E là một thực thi được mô hình hóa bằng tập m schedule

{S1,…,Sm}.

E đúng (khả tuần tự) nếu tồn tại thứ tự toàn phần các giao tác (T1<…<Tn) khi đó đối với mỗi cặp thao tác tương tranh <Oi,Oj> từ Ti,Tj tương ứng ta có Oi<Oj (hoặc Oj<Oi) trong mọi Sk thuộc {S1,…,Sm} nếu và chỉ nếu Ti<Tj (hoặc Tj<Ti) trong thứ tự toàn phần

Dùng định nghĩa này để kiểm tra tính đúng đắn khi thực thi giao tác phân tán.

Trang 19

Khóa 2 pha

schedule cục bộ đều khả tuần tự.

con của nó tại các vị trí độc lập đều bị khóa 2 pha.

đắn không ?

Trang 20

Khóa 2 pha

Giả sử thứ tự toàn phần cho thực thi E (trong định đề 8.1) không tồn tại.

Phải có n cặp tương tranh :

Trang 21

Khóa 2 pha

Xét lock(T1,x), lock(T2,y),…, lock(Tn-1,v), lock(Tn,z).

Mỗi giao tác khóa một dữ liệu đã bị khóa bởi 1 giao tác khác mỗi giao tác đều phải chờ giao tác

khác nhả khóa.

Nhận xét : vì các giao tác đều dùng khóa 2 pha deadlock, chờ.

Tình trạng này chỉ được giải quyết khi có 1 giao tác được abort bởi 1 thuật toán giải quyết deadlock.

Trong mọi trường hợp, E không được thi hành Cần sử dụng khóa 2 pha cần kèm theo cơ chế

phát hiện và giải quyết deadlock

Việc thực thi E độc lập với số lượng giao tác, chỉ phụ thuộc thứ tự thực hiện của các cặp thao tác

tương tranh.

Trang 22

Khóa 2 pha

Trong Kỹ thuật khóa 2 pha, một số giao tác buộc phải chờ không cần thiết

Ti,Tj chuyển tiền đồng thời từ TK x (VT1) vào TK y (VT2)

Ti : Ri(x) Wi(x) Ri(y) Wi(y)

Tj : Rj(x) Wj(x) Rj(y) Wj(y)

Mỗi giao tác đều R(x), Dec(x), W(x),R(y),Inc(y),W(y) đồng thời Khóa 2 pha đảm bảo tính khả tuần tự việc thực thi giao tác, nghĩa là, có thứ tự toàn phần Ti<Tj (hoặc Tj<Ti), (Wi(x)<Rj(x) và Wi(y)<Rj(y)) hoặc (Wj(x)<Ri(x) và Wj(y)<Ri(y))  deadlock

Trang 23

Khóa 2 pha

E : S1 : Ri(x) Wi(x) Rj(x) Wj(x)

S2 : Ri(y) Wi(y) Rj(y) Wj(y)

Ri(x), Rj(y) diễn ra đồng thời, Rj(x) (Tj) thực hiện ngay khi Wi(x), Ti dù Ti chưa kết thúc E khả tuần tự cho phép mức độ đồng thời cao nhất

Nếu sử dụng cơ chế xác nhận 2 pha, các hành động ghi trên sẽ khóa x và y cho đến cuối

giao tác

Trong thực tế, sử dụng khóa 2 pha, Ti, Tj bị buộc thực hiện theo thứ tự tuần tự nghiêm

ngặt, không đồng thời Giải quyết từng tương tranh, không có “complete view” mối quan hệ giữa Ti và Tj

Trang 24

 cả hai cách thực hiện Ti<Tk và Tk<Ti, kết quả đều là x=210,y=90

NE Phụ thuộc ngữ nghĩa các giao tác phụ thuộc chương trình ứng dụng  Khó

Trang 25

NE (các thực thi không khả tuần tự)

NE thuộc tính đồng bộ kiểm soát sự khác biệt.

x,y data item, u = 20,w =10 parameters

 Tăng : Inc(x,w), Giảm : Dec(x,u)

 Ti : Deci(x,w) Inck(x,u)

 Tk Deck(y,u) Inci(y,w)

 Dec (x,w) Inc(x,u) ~ Inc(x,u) Dec(x,w) (x-w+u)

 <Dec,Inc> : cặp không tương tranh  Không phụ thuộc

khả tuần tự

 Ti,Tj có thể thực hiện đồng thời

 S1 : Deci(x,w) Inck(x,u)

 S2 : Dec (y,u) Inc (y,w)

Trang 26

 AB : A xảy ra trước B tại cùng 1 vị trí

 A gửi message cho B : AB

 AB và BC thì AC

  là thứ tự bộ phận

 Giả đồng thời : ¬(AB) ¬(B ʌ A)

Trang 28

8.1.5 Time, Timestamp

chưa ?

Trang 29

KIỂM SOÁT ĐỒNG THỜI PHÂN

TÁN

 CÁC THUẬT TOÁN ĐIỀU KHIỂN KHÓA CHỐT

Trang 31

CÁC THUẬT TOÁN

Locking (two phase locking - 2PL).

Lạc quan

Trang 32

NGHI THỨC KHÓA CHỐT (Locking

Protocols)

Bộ xếp lịch đảm bảo rằng chỉ duy nhất giao tác có thể giữ khóa chốt trong 1 thời điểm ,và chỉ

có một giao tác có thể truy xuất dữ liệu đó tại cùng một thời điểm

Trước khi một giao tác có thể truy cập dữ liệu dùng chung , bộ xếp lịch sẽ khảo sát trạng thái

khóa chốt của những dữ liệu này

 Nếu không có giao tác nào khác đang giữ chúng thì bộ xếp

lịch sẽ phát lệnh thông báo khóa dữ liệu này lại và sau đó các giao tác thực hiện các lệnh của mình trên dữ liệu đó

 Nếu dữ liệu đang bị khóa bởi giao tác T2 ,thì giao tác này

phải chờ cho đến khi T2 giải phóng khóa đó

Trang 33

NGHI THỨC KHÓA CHỐT(Cont.)

Có 2 loại khóa chốt:

 Rli(x) :Khóa đọc trên phần tử dữ liệu x của giao tác Ti

 Wlj(x) : Khóa ghi trên phần tử dữ liệu x của giao tác Tj

Hai khóa pli(x) và qlj(y) được gọi là đụng độ ,nếu :

 X=y

 i<>j

 Một trong 2 thao tác là ghi

rli(x) wli(x)

Trang 34

KHÓA CHỐT 2 PHA (2 PHASE

LOOKING -2PL)

2PL là một trong những kỹ thuật hiệu quả trong việc khắc phục một số đụng độ cũng như thời gian

chết trong quá trình thực hiện các lệnh của các giao tác.

Nhiệm vụ của bộ xếp lịch 2 giai đoạn (Two phase locking, 2PL) là quản lý khoá chốt và điều khiển

giao tác khi nào lấy và khi nào giải phóng khoá

2PL nhằm đồng bộ hoá việc đọc và ghi Trước khi đọc mục dữ liệu x, phải khóa x (khóa do đọc)

Trước khi ghi lên x, giao tác phải khóa mục x ( khóa do ghi)

Trang 35

KHÓA CHỐT 2 PHA (Cont )

2PL khẳng định : không có giao dịch nào yêu cầu khóa sau khi nó đã giải phóng một trong các

khóa của nó

Quá trình cấp phát và thu hồi khóa được thể hiện ở biểu đồ khoá 2PL sau:

Trang 36

KHÓA CHỐT 2 PHA (Cont )

Vấn đề:

 Cài đặt khó vì LM phải biết rằng giao dịch đã nhận đủ tất cả mọi

khóa và sẽ không còn cần khóa một mục nào nữa.

 LM phải biết giao dịch không cần truy xuất mục dữ liệu đó nữa thì

mới có thể giải phóng khóa

 Nếu một giao dịch bị hủy sau khi giải phóng 1 khóa ,nó có thể làm

hủy luôn các giao dịch đã truy xuất các mục đã mở khóa (hủy bỏ dây chuyền)

Hướng giải quyết: dùng khóa chốt 2 pha nghiêm ngặt (strict 2 phase locking – S2PL)

Trang 37

KHÓA CHỐT 2 PHA (Cont )

Hướng giải quyết: dùng khóa chốt 2 pha nghiêm ngặt (strict 2 phase locking – S2PL)

chỉ sửa đổi phần xử lý các hồi đáp từ BXLDL nhằm đảm bảo rằng

các khóa chỉ được giải phóng nếu thao tác là Commit hoặc Abort

Trang 38

 Dbop(opn,data,tid) : một phép toán trên CSDL của ƯD

 Dpmsg(opn,tid,result) : một thông báo từ BXL DL

 Scmsg(opn,tid,result) : một thông báo từ bộ xếp lịch

 Transaction(tid,body)

 Message : một chuỗi các ký tự truyền đi

 Opset ={Dbop}

 SiteSet ={SiteId}

Trang 39

THUẬT TOÁN S2PL

Chờ đợi msg

Phép toán (op)

Tbáo (Dpmsg)

Op là abort or commit

F

T

T

T BXL DL

F

Trang 40

THUẬT TOÁN S2PL

Phép toán

Tbáo Scmsg

read Trả res về ƯD

Ttin ,trả res về ƯD

Ttin hoàn tất hủy bỏ T

Hủy vùng làm việc của T ,ttin

Trang 41

2 Phase Locking (2PL)

2PL tập quyền.

2PL bản chính.

2PL phân quyền.

Trang 42

2PL Tập quyền (Centralized 2PL)

Là mở rộng của 2PL cho môi trường phân tán

Trao trách nhiệm quản lý khóa cho một vị trí duy nhất (ie: chỉ có một vị trí là có bộ quản lý khóa)

Các bộ quản lý giao dịch ở các vị trí khác phải giao tiếp với nó chứ không phải là bộ quản lý khóa riêng của

chúng

Trang 43

Thuật toán (Centralized 2PL)

Begin_tra nsaction

read S:=S∪ Si(xЄSi ,chi phí

S:=Ø

Trang 44

Op=R / W

Trang 45

Thuật toán (Centralized 2PL - C2PL)

 Tạo ùn tắc quanh vị trí trung tâm (tốc độ giao dịch tăng)

 Độ khả tín thấp (khi bị sự cố)

 Thuật toán 2PL bản chính (primary copy 2PL)

 Thuật toán 2PL phân quyền (distributed 2PL)

Trang 46

Thuật toán 2PL bản chính

khóa trên một tập đơn vị khóa cho mỗi bộ xử lý

Trang 47

Thuật toán 2PL phân quyền (distributed 2PL – D2PL)

bản sao ROWA

Trang 48

Distributed 2PL

Trang 49

KIỂM SOÁT ĐỒNG THỜI PHÂN

TÁN

 KHÓA CHẾT TRONG CSDL PHÂN TÁN

 PHÁT HIỆN KHÓA CHẾT

Trang 50

Deadlock

Deadlock là trạng thái mà trong đó 2 hay nhiều giao dịch(transaction) chờ đợi lẫn nhau giải

phóng tài nguyên mà chúng đang chiếm giữ.

Deadlock có thể sẽ xảy ra khi xuất hiện một số điều kiện sau giữa các giao dịch đồng thời:

 Tính độc quyền (exclusiveness)

 Chiếm giữ và chời đợi giữa các giao dịch (hold and wait)

 Không có sự ưu tiên giữa các giao dịch (No Preemption)

 Chờ đợi vòng quanh giữa các giao dịch (Circular wait)

Trang 51

Đồ Thị Chờ - Wait-For-Graph (WFG)

WFG là một đồ thị có hướng <T,V> biểu diễn các mối quan hệ chờ đợi lẫn nhau của các

giao dịch:

 T: tập các giao dịch đang tồn tại trong hệ thống

 V: {TiAjTrAs thỏa TiAj đợi tài nguyên từ TrAs} U

{TiAjTiAs thỏa: TiAj đợi TiAs thực hiện một tác vụ nào đó }

 Đồ thị chờ cục bộ: Local WFG (LWFG) tại mỗi site

 Đồ thị chờ toàn cục: Global WFG (GWFG) hay Distributed

WFG(DWFG), đây là đồ thị được kết hợp từ các đồ thị chờ cục bộ

Deadlock xảy ra khi mà WFG có một chu trình

Trang 53

Phương Pháp Xử Lý Deadlock

Phát hiện và giải quyết deadlock (detection and resolution)

Ngăn chặn deadlock (prevention)

Tránh deadlock (avoidance)

Trang 54

Phát Hiện Và Giải Quyết Deadlock

Phát hiện: nghiên cứu các chu trình đồ thị chờ cục bộ và toàn cục

Giải quyết: lựa chọn một hay nhiều giao dịch để hủy nhằm bẻ gãy các chu trình trên đồ thị

chờ Các nhân tố ảnh hưởng:

 Số lượng các tác động giữa các giao dịch với nhau

 Chi phí hủy giao dịch: được tính dựa trên số lượng những lần

Trang 55

Phát Hiện Và Giải Quyết Deadlock

Deadlock phải được dò tìm trong một khoảng thời gian hữu hạn

Các thông điệp trễ có thể là nguyên nhân dẫn đến chu kì dò tìm deadlock bị sai (deadlock

ảo-phantom deadlocks )

Khi phát hiện deadlock, phải kiểm tra xem có phải là deadlock thực sự hay không?

Khi có deadlock xảy ra, có thể ta phải hủy hoặc khởi động lại một giao dịch nào đó Đây là

trường hợp thường thấy trong các hệ hướng giao dịch

Trang 56

Phát Hiện Deadlock

Trang 58

 Chọn giao dịch để hủy khi có chu trình

 Có sự thay đổi gây ra deadlock tiềm ẩn

Trang 59

Deadlock ảo

Site 1 Site 2 GWFG

Trang 61

Dò Tìm Deadlock Phân cấp

 Node lá là các bộ phận dò tìm deadlock tại mỗi site (Local

Trang 63

Dò Tìm Deadlock Phân cấp

 Sự tương tác giữa các site trong mạng

 Giảm phụ thuộc vào site trung tâm

 Giảm chi phí liên lạc giữa các site để cập nhật WFG

Trang 66

Dò tìm deadlock phân tán

Agent không liên quan,chỉ định danh của giao dịch

Tại mỗi site sẽ dò tìm các chu trình deadlock tiềm năng, và gởi các chu trình này sang site mà

có nằm trong chu trình Thông điệp gởi đi có dạng [EX,T1,T2,…,Tn] Ví dụ [EX,T1,T3]

Luật gởi thông điệp: Chu trình deadlock tiềm năng chỉ được gởi đi khi định danh của giao dịch

mà EX đợi lớn hơn định danh của giao dịch đợi EX

Ví dụ [EX,T1,T3] sẽ không được gởi đi vì T1 < T3

Trang 67

Dò tìm deadlock phân tán

(Obermark, 1982)

Thuật toán được thực hiện qua các bước lặp tại mỗi site:

1)Xây dựng LWFG bao gồm node EX

2) Với mỗi thông điệp nhận được:

a)Thêm vào LWFG nếu chưa tồn tại

b) Bắt đầu từ node EX, tạo các cạnh đến các giao dịch kế tiếp trong thông điệp

3) Tìm các chu trình không chứa EX Deadlock

4) Tìm chu trình có chứa EX, nếu thỏa mãn luật gởi thông điệp, gởi sang site khác.

Trang 68

[EX,T3,T1]

Trang 69

Dò tìm deadlock phân tán

(Chandy/Misra/Haas 1983)

Nếu giao tác P phải đợi giao tác O, nó sẽ gởi thông điệp đến O Thông điệp [P,S,E] gồm:

 Giao tác đang đợi P

 Giao tác đang truyền đi S

Khi giao dịch E nhận thông điệp [P,S,E]:

 Thay E bằng giao tác mà nó đang đợi

Nếu thông điệp có giao tác nhận là P Deadlock

Trang 70

T7

T8 T9

Trang 71

KIỂM SOÁT ĐỒNG THỜI PHÂN

TÁN

 NGĂN CHẶN KHÓA CHẾT

Trang 72

Ngăn chặn DeadLock

Phương pháp:

Bộ quản lý giao dịch sẽ kiểm tra 1 giao dịch ngay khi nó được

khởi động lần đầu tiên và không cho phép nó được tiếp tục nếu như nó có thể là nguyên nhân của một DeadLock bất kì nào đó.

Trang 73

Ngăn chặn DeadLock

Thực hiện:

Trang 74

Ưu điểm:

Đảm bảo các bế tắc không thể xuất hiện ngay khi giao dịch được khởi tạo

Trên thực tế thì phương pháp này ít được sử dụng để quản

lý Deadlock trong điều khiển giao dịch đồng thời

Trang 75

Ngăn chặn DeadLock - Ví dụ

Lược đồ CSDL

FLIGH (FID, Date, From, To, SoldChair, Capability) CUSTOMER (CID, CName, Addr)

FC ( FID, CID, Date, Description)

Giao tác đặt chỗ máy bay:

- Kiểm tra còn chỗ trống không?

Ngày đăng: 29/06/2015, 14:17

HÌNH ẢNH LIÊN QUAN

Đồ Thị Chờ - Wait-For-Graph (WFG) - KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN
h ị Chờ - Wait-For-Graph (WFG) (Trang 51)
Đồ Thị Chờ Toàn Cục - GWFG - KIỂM SOÁT ĐỒNG THỜI PHÂN TÁN
h ị Chờ Toàn Cục - GWFG (Trang 52)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w