Bao cao BTL To chuc Quy hoach Mang

Embed Size (px)

DESCRIPTION

BTL tổ chức quy hoạch mạng

Citation preview

  • I HC BCH KHOA H NI VIN IN T - VIN THNG

    ti: THUT TON MENTOR II

    Ging vin hng dn: Trn Ngc Lan

    Sinh vin thc hin:

    1. L Thi Hng KSTN-TVT-K52

    2. Trn Hu Cng KSTN-TVT-K52

    3. Phm Vn Ch KSTN-TVT-K52

    4. Bi Th Th H KSTN-TVT-K52

    H Ni, thng 11 nm 2011

  • 2

    Mc Lc

    1. Gii Thiu ................................................................................................................................................. 3

    YU CU CA BI TP ........................................................................................................................... 5

    2. L thuyt ................................................................................................................................................... 6

    2.1 Thut ton Mentor ......................................................................................................................... 6

    2.1.1 Xc nh node backbone v node trung tm ......................................................................... 6

    2.1.2 Chuyn yu cu node sang xng sng. ............................................................................... 7

    2.1.3 Xy dng cy Prim-Dijkstra vi tham s ........................................................................... 8

    2.2 Thut ton Mentor II ..................................................................................................................... 8

    2.2.1 t vn .................................................................................................................................... 8

    2.2.2 ISP(Incremental Shortest Path) ............................................................................................. 9

    3. Trin khai thut ton ........................................................................................................................... 13

    3.1. Tng quan v kin trc .................................................................................................................... 13

    3.2. Xy dng thi c s ...................................................................................................................... 13

    3.2.1 Class Node ................................................................................................................................. 13

    3.2.2 Class Arc ................................................................................................................................... 14

    3.2.3. Class Graph ............................................................................................................................... 14

    3.3. Thut ton ................................................................................................................................... 15

    3.3.1 classMentor ......................................................................................................................... 15

    3.3.2 Class Prim Dijkstra .......................................................................................................... 16

    3.3.3 Class Floyd Warshall ...................................................................................................... 16

    3.3.4 Class ISP ............................................................................................................................. 16

    3.4. Form chnh ....................................................................................................................................... 18

    4 Kt lun ............................................................................................................................................... 21

  • 3

    1. Gii Thiu

    Nh ta bit, vin thng c hiu l cch trao i d liu thng qua k

    thut in, in t v cc cng ngh hin i khc. V h thng vin thng l tp

    hp cc trang thit b k thut cung cp dch v vin thng cho ngi s dng.

    Ngay t ngy xa xa, nhng ngi tin s bit dng khi bo hiu, nhng

    ngi th dn nhng hn o xa xi dng cc ct khi lin lc, bo hiu v

    truyn tin. Nhng vin thng c chnh thc s dng khi con ngi pht minh ra

    in bo v in thoi. Cng ngh vin thng t ngy cng pht trin nhanh chng

    v vt bc, ng dng trong mi lnh vc. Trn quy m x hi, vin thng lm nn

    mt h thn kinh thng minh nhy bn trn tri t, lm thay i b mt, tnh cch ca

    tng quc gia v t trong n hnh thnh ln mt mng li lin kt mi ngi ca mi

    quc gia trn tri t. S hi t cng ngh trong lnh vc vin thng cng s pht trin

    tng trng mnh ca kinh t - x hi, nhu cu s dng cng nh truyn d liu ca

    con ngi cng tng ln theo hm s m v ngy cng tr nn phc tp, c khuynh

    hng k thut cao vi cht lng cao. V vy, vic t chc mt mng vin thng p

    ng c nhu cu y v pht trin t chc mng li ny thnh mt thnh phn c

    bn quan trng ca x hi thng tin ha cao trong tng lai na l khng h n gin,

    n ng mt vai tr rt quan trng.

    gii quyt bi ton trn, ta nhn h thng vin thng trn c phng din

    phn cng v phn mm:

    V phng din phn cng, h thng vin thng gm cc thit b nh:

    Thit b u cui thng tin, thit b chuyn mch, thit b truyn dn.

    V phng din phn mm, h thng vin thng cho bit cc phn cng

    lin h vi nhau th no ( Topo mng, vi topo mng ta s phn bit c

    mng AN(Access Network) v mng li), cc giao thc mng, cc giao

    thc lin kt, giao thc trao i thng tin (gia hai giao thc ny c

    th tch ri, c th kt hp vi nhau), qun l v khai thc mng.

    Trn phng din phn mm, xy dng mng, ta phi xy dng c cu

    hnh ca cc phn t mng. MENTOR (Mesh Network Topology Optimization

    Routing) l mt thut ton rt hu ch cho vic thit k mng thng tin v n khng

    ph thuc vo c im ca bt k mt cng ngh hay kin trc mng no. N ch ph

    thuc vo nguyn tc thit k mng. MENTOR c th ng dng cho nhiu loi mng,

    c bit l mng ATM (Asynchronous Transfer Mode). V chng trnh MENTOR l

    mt ng dng tin hc trong vic thit k Topology cho mng bng chnh thut ton

    MENTOR.

  • 4

    Trong ti ny yu cu chng em vit mt chng trnh MENTOR nh th.

    Chng trnh chng em vit trong thi gian ngn v kin thc c hn nn c rt nhiu

    nhng hn ch nht nh nh ch c tnh cht m phng, cc gi thit, iu kin cha

    hon ton ging vi yu cu thc t. Tuy nhin, chng em hy vng chng trnh ny

    cng gip mi ngi nm c qu trnh xy dng Topology cho mng.

    Trong qu trnh thc hin bi tp ln, chng em xin cm n s tn tnh gip

    ca c Trn Ngc Lan gip chng em hon thnh bi tp ny. Chng em rt mong

    nhn c nhng li khuyn t thy chng em c th khc phc c nhng ci

    cha lm c trong ti chng em c th hiu su sc hn v thut ton cng

    nh chng trnh MENTOR trong xy dng Topology cho mng vin thng, ng

    thi hiu r hn v mn hc T chc v quy hoch mng vin thng.

    Chng em xin chn thnh cm n c!

  • 5

    YU CU CA BI TP

    Vit mt phn mm to topology mng vin thng theo thut ton MENTOR

    2.

    nn : S lng nt trong mng:

    Cost: Chi ph kt ni gia cc nt l mt ma trn [nxn]

    Req: Ma trn [nxn] yu cu

    Pc, W, R/D: Cc tham s xc nh nt BackBone

    : Tham s xc nh cy

    : H s s dng bng thng

    Cmax [nxn]: Gi tr ti a dung lng ca lin kt gia cc nt( hiu dng)

    - Tm cy kt ni cc nt, cho bit cy l dng MST hay PST, MENTOR.

    - Tng chiu di cy, chiu di ng i

    - Direct link: Tm kt ni Direct link

    - ng i trn cy

    Tt c th hin trn mn hnh ha.

  • 6

    2. L thuyt

    2.1 Thut ton Mentor

    2.1.1 Xc nh node backbone v node trung tm

    Xc nh MAXCOST

    Xc nh node backbone tho mn iu kin nw(i) > w

    Xc nh node truy cp ca node backbone xc nh

    Tm node trung tm ca node cha phn loi, tnh merrit t tm node backbone trong tp cha xc nh , cp

    nht li danh sch backbone v node truy cp

    Tnh moment ri xc nh node root

    Bt u

    Mentor

    Kt thc

    Hnh 2.2.1 Lu thut ton xc nh node backbone

    Bc 1: xc nh node backbone tha mn tiu chun trng s:

    + Trng s ca mt node l tng ca tt c cc lu lng vo v ra node

    + Trng s chun ha da vo node i l NW(i) = W(i) / C

    +W l tham s

    + Node c NW(i) > W c chn lm node xng sng

    Bc 2: xc nh MAXCOST

    + MAXCOST = maxi,j cost(Ni,Nj) = maxi,j

    Bc 3: Xc inh node truy cp ca node backbone xc nh

    + Tt c cc node khng tho mn tiu chun trng s v gn node xng

    sng s c chn lm node truy cp

  • 7

    + gn c nh ngha l khi gi lin kt t node truy cp e n node

    xng sng l nh hn mt phn ca gi lin kt ln nht. cost(e,Ni) <

    MAXCOST * RPARM, hay < MAXCOST *

    RPARM.

    Bc 4: xc inh node backbone v truy cp cho nhng node cn li thuc tp

    M

    + Tm trung tm ca trng lc (xctr, yctr).

    - xctr =

    - yctr =

    + Khong cch ti CG

    - dcn =

    - maxdc = max(dcn)

    - maxW = max (Wn)

    + Tnh merit

    - merritn =

    + Phn loi cc node cn li

    - merrit a ra gi tr cn bng gia v tr gn trung tm v trng s ca

    n.

    - Trng s nhng node cha c phn loi, chn node c thng cao

    nht v chuyn node ny thnh node xng sng.

    - Phn loi cc node mi thnh cc node truy cp.

    - C tip tc cho n khi tt c cc node c phn loi.

    Bc 5: Tm node trung tm

    + la chn node xng sng trung tm vi gi tr moment nh nht n trung

    tm

    - Moment(n) =

    2.1.2 Chuyn yu cu node sang xng sng.

  • 8

    + xt ei l node truy cp ca node bi, bi l node trc trong cy. V d xt

    e1,e2,b1v b2 nu b1 = b2 th khng chuyn yu cu ca e1 v e2 sang b1 v b2,

    v ngc li.

    Hnh 2.1.2 v d v chuyn yu cu

    2.1.3 Xy dng cy Prim-Dijkstra vi tham s

    + cc node u vo l node backbone xc nh trn v root l node trung

    tm.

    + Thut ton:

    - Nhn Prim = minneighbors dist(node, neighbor)

    - Nhn Dijkstra = minneighbors [dist(root, neighbor) + dist(neighbor, node)]

    - Nhn Prim-Dijkstra = minneighbors [* dist(root, neighbor) +

    dist(neighbor, node)]

    2.2 Thut ton Mentor II

    2.2.1 t vn

    Sau khi chng ta thit k xong mng, chng ta xem xt xem lu lng s i qua u.

    a ra mt vn m trung tm chnh l cht lng hot ng ca thut ton nh

    tuyn.

    Nu ch s dng thut ton Prim Dijkstra, s lng lin kt l t nht m vn m

    bo c mt v ch mt ng i duy nht gia 2 node bt k. Tuy nhin vi thit k

    nh th, s tn ti nhng lin kt m lu lng i qua n rt ln, iu ng ngha

    vi vic khng m bo tnh n nh cho mng

  • 9

    Hnh 2.2.1v d mng backbone sau mentor 1

    Nh hnh v trn, ta c th thy lin kt gia node 8 v 9 c lu lng i qua ln do

    yu cu t cc cc node backbone 9, 2, 14 n node backbone 8, 4. Trong khi , lin

    kt gia 2 node 2 v 14 li t do ch c cc yu cu i t node 14 n cc node cn li.

    khc phc iu ny, chng ta c th thm cc lin kt trc tip gia cc node. V

    d, node 14 v node 4. Nh vy, mt s yu cu t mt s node (VD: node 2, 14) s i

    qua lin kt mi ny.

    Tuy nhin, nu thm cc lin kt trc tip ny th kh nng mt s lin kt c t

    trc s gim lu lng (VD: trong trng hp ny l lin kt 9 8, 9 2) i lc lu

    lng ny tr v 0. Hay ni cch khc, thut ton nh tuyn s tm thy ng i

    ngn nht nhng ng i c th khng tm thy ng kh thi cho thit k mng

    ca chng ta.

    Nh vy, cn ci thit gii thut mentor thm cc lin kt trc tip nhng vn phi

    xem xt lun n gii hn ca thut ton inh tuyn. Kt qu l thut ton Mentor II

    ra i.

    2.2.2 ISP(Incremental Shortest Path)

  • 10

    y l bc ci tin p ng phn no yu cu trnh by trn. Mc ch ca

    thut ton ISP l xc nh tt c nhng cp c th s dng lin kt trc tip thay cho

    ng hin thi.

    Bt u

    Xc nh sp_dist[][], sp_pred[][].

    i=0;S(i)

    J=0;D(j)

    i< numBackbone

    j< numBackbone

    Xc nh S_list && D_list

    Cp nht sp_dist[][] &&

    sp_pred[][]

    Tnh maxL[n][m]

    Sp xt theo th t gin dn cc cp c maxL[n][m] > D

    J++

    i++

    Kt thc

    + u vo l cc thng s kt thc thut ton Mentor

    no yes

    noyes

    ISP

    Hnh 2.2.2 lu thut ton ISP

    2.2.2.1 Ma trn khong cch thut ton Floyd Warshall

    thc hin iu ny ta cn c 2 ma trn

  • 11

    Khong cch ng ngn nht Shortest-path distances gia 2 node i,

    j(sp_dist)nxn

    Ma trn con tr node trn ng i ngn nht gia 2 node i, j(sp_pred)nxn

    Hai ma trn ny lun c cp nht sau mi ln thm lin kt. Cch xy dng ma trn

    ny vi th bt k rt ging trong thut ton Floyd Warshall

    Hnh 2.2.2.1 v d xy dng sp_dist[][] v sp_pred[][]

    2.2.2.2 Th t xem xt cc cp cnh

    Chng ta sp xt cc cp cnh theo th t bc nhy. V coi l th t cn xt xem

    c thm lin kt trc tip hay khng

    Hnh 2.2.2.2 v d v sp xp cc cnh theo th t

    2.2.2.3 Xt cnh thm vo

    Khi xem xt liu c thm lin kt trc tip gia node ngun S v node ch D

    di lin kt SD = L. ta xy dng s_list v d_list

    o s_list vi ngha tp node c hng li nu mun i n node khc

    nu dng lin kt trc tip SD

  • 12

    o d_list vi ngha tp node c hng li nu mun i n node

    khc nu dng lin kt trc tip DS

    Vi ngha nh trn, cch xy dng s_list v d_list nh sau:

    o Thm node vo s_list nu: sp_dist[node, s] + L < sp_dist[node, d]

    o Thm node vo d_list nu: sp_dist[node, d] + L < sp_dist[node, s]

    Hnh 2.2.2.3 v d xy dng s_list[] v d_list[]

    Xem xt tt c cc cp (ni, nj) trong ni thuc s_list v nj thuc d_list. Khi

    , lu lng (ni, nj) s chuyn sang lin kt d nh nu

    sp_dist[ni, s] + L + sp_dist[d, nj] < sp_dist[ni, nj]

    di ln nht cho c th n nh lu lng (ni, nj) chuyn i theo ng ny l

    maxL = sp_dist[ni, nj] - sp_dist[ni, s] + sp_dist[d, nj]

    iu ny c ngha l nu o di lin kt (ni, nj) n nh trong khong (L, maxL) th

    lu lng s chuyn i theo ng i SD mi ny

    Vi mi cp (ni, nj) ta s c s maxL. Ta sp xp cc cp ny theo th t t

    trn xung

    maxL(P1) = 2000

    maxL(P2) = 1800

    maxL(P3) = 1800

    maxL(P4) = 1700

    y, nu chn gi tr cnh l bao nhiu s quyt nh c bao nhiu cp (ni, nj) c th

    s dng lin kt ny. V d SD = 1750 th c cc cp P1, P1, P3 s dng lin kt mi

    ny.

  • 13

    3. Trin khai thut ton

    3.1. Tng quan v kin trc

    3.2. Xy dng thi c s

    3.2.1 Class Node

    + Thuc tnh:

    o public const int isRoot = -1; o public const int unknown = -2; o public const int drawIndex = 0x10; o public const int drawWeigh = 0x20;

    // thong so co ban

    o public int index; // thu tu node o public int x, y; // toa do o public double weigh; // trong luong nut o public int priority; // >=0 neu la nut truy

    nhap, = index la backbone, -1 neu la goc, - neu chua xac

    dinh

    // Ket noi voi cac nut khac

    o public int numNode; o public List otherNodes; o public List send, recv; o public List distance; o public List connected;

    + Operator:

    o public Node(int _index, double _weigh, int _priority = Node.unknown, int _x = 0, int _y = 0, int _numNode = 0, List _otherNodes = null,

    List _send = null, List _recv = null, List _distance = null, List _connected = null) {}

    //hm to o public bool IsOne(Node other, int r = 50) {}

    o public void SetPosition(int _x, int _y) {}

    o public double GetDistance(Node Other) {} // Ly ta thc

    trn Decac(cha b thay i bi mentor)

    o public void ConnectNodes(Node Other) // chi dung trong ham CreateNodes. nhu vay se dung thu tu luon - chu y la

    no phai connet voi chinh minh

    o public void DrawNode(Graphics Grfx, int draw, double div = 2, int r = 7) {} //v node // Hm ny s hin th node vi mu sc ca node v s th t tng ng vi node

  • 14

    3.2.2 Class Arc

    + Thuc tnh:

    o public Node destination, source; //so thu tu 2 diem source, destination

    o public double distance; //do dai canh: distance

    o public double c; //dung luong 1 lien ket

    o public double ratio; //dung luong cuc dai ung voi moi lien ket (tinh theo %)

    o public double capacity; //dung luong tren canh nay voi moi lien ket capacity = c * ratio = 2 * 60%

    o public double flow; //tong luu luong tren canh nay: flow

    o public int paths; //so luong lien ket song song: paths

    o public int priority;

    o public const int drawDist = 0x01; o public const int drawCap = 0x02; o public const int drawFlow = 0x04; o public const int drawPaths = 0x08;

    + Operator:

    o public Arc(Node _source, Node _destination, double _flow = 0.0, double _c = 2.0, double _ratio = 0.6, int _priority = Node.unknown) {} // hm to

    o public void DrawArc(Graphics Grfx, int div = 2) {} // v cnh

    o public void DrawParameter(Graphics Grfx, int draw, int div = 2, int r = 8) {} //v cnh, hin thi cc thng s cnh

    3.2.3. Class Graph

    + Thuc tnh:

    o const int MAX_X = 1500, MAX_Y = 1500; o public List LN; o public List LA; o public int numNode = 0, numArc = 0; o public double cost = 0.0; o public int root = -1; o private Random rd = new Random();

    + Operator:

    o public Graph(){} // hm to

  • 15

    o public void CreatNodes(int _numNode) {} // Khi to node trn mt phng ta cng cc tham s

    tng t class node

    o public void AddNode(Node node) {} // Thm node mi vo hnh

    o public void ChangeDistNode(Node n1, Node n2, double dist) {} //Thay i khong cch gia cc node

    o public void DeleLightBluelArcs() {} o public void AddArc(Arc arc) {} o public void AddArc(Node source, Node destination, double flow

    = 0.0) {} // Thm cnh vi cc tham s cnh: node ngun, node ich,

    flow

    o public void ChangeFlowArc(Arc arc, double flow) {} // Thay i flow

    o public void ChangePriorityArcs() {} o public void DrawPath(Graphics Grfx, List nodes, int div

    = 2) {} // v cnh

    o public void CopyFromGraph(Graph _graph) {} o public void CopyToGraph(Graph _graph) {} o public void AllCopyFromGraph(Graph _graph) {}

    // copy ton b graph ti tng vng nh o public void ClearGraph() {} o public double TotalCost() {}

    // Tnh tng cost o public void DrawGraph(Graphics Grfx, int draw, int div = 2) {} o protected int Compare(Arc x, Arc y){}

    // so snh cc cnh

    o public void SortDistArc(List Arcs){} // sp xp cc cnh

    3.3. Thut ton

    3.3.1 classMentor

    + K tha t class Graph

    + Thuc tnh

    o private double[] merit; o private double[] moment; o private double[] dc; o private double W; o private double C; o private double R; o private double MAXCOST = 0;

    + Operator

    o private void FindAcessNode(Node node) {}

  • 16

    //chua add canh nhe. moi chi chinh nut truy cap thoi

    o public void Process(Graph _graph, double _W = 4.0, double _C = 2.0, double _R = 0.3) {}

    // hm ny c l xc nh node backbone v node trung tm

    o public Mentor(){}

    // hm to

    3.3.2 Class Prim Dijkstra

    + Thuc tnh:

    o private int[] convertIndex; //anh xa nguoc. tu index cua node => thu tu luu trong List node (chu y la gio no khong theo thu tu)

    o const int vc = 2000000000; o private double alpha; o private int start; o private double[] label; o private bool[] free;

    o public double[] dist; o public int[] pred;

    + Operator:

    o public PrimDijkstra() {} // Thut ton chnh

    3.3.3 Class Floyd Warshall

    Tm ng i ngn nht, gia 2 node bt k, lu vo mng sp_dist, lu li truy vt

    sp_pred v s node i ti node ch sp_hop.

    + Thuc tnh:

    o private int[] convertIndex; //anh xa nguoc. tu index cua node => thu tu luu trong List node (chu y la gio no khong

    theo thu tu)

    o const double vc = 2000000000.0; o private double[,] sp_dist; o private int[,] sp_pred; o private int[,] sp_hop;

    +Operator:

    o public void Process(Graph _graph, double[,] _sp_dist, int[,] _sp_pred, int[,] _sp_hop){}

    //Th tc x l x l chnh, thao tc trn th graph.

    //Lu gi tr tr v _sp_dist, _sp_pred, _sp_hop

    3.3.4 Class ISP

    Trin khai thut ton ISP:

  • 17

    + Thuc tnh:

    o private int[] convertIndex; //anh xa nguoc. tu index cua node => thu tu luu trong List node (chu y la gio no khong

    theo thu tu)

    o private List findArc; o private double[,] sp_dist; o private int[,] sp_pred; o private int[,] sp_hop;

    o private List d_list; o private List s_list; o private List req_len; o private double esilon = 0.001;

    o private double d; // = 1.0 neu muon cho qua 100%. o private double alpha;

    o private double[,] NA; o double[] LW;

    o public int maxNumberOfAdd = 0; o private int numberOfAdd = 0;

    + Operator:

    o private bool ChangedDistArc(Arc arc) {} //t gi tr cho cnh (ni, nj)

    o public void UpdatePath(int src, int des, double flow){}

    //Trn ng i t node ni n node nj th tt c cc

    cnh c update lu lng mi, cc nh c update

    trng s mi

    o public void UpdateFlowGraph(){} //Update tt c cc cp (ni, nj). Th tc ny s gi

    void UpdatePath

    o private int CompareHop(Arc x, Arc y){} //So snh cc cp nh (ni, nj) theo s lng bc

    nhy

    o public void Process(Graph _graph, double _alpha = 0.4, double _d = 0.5){}

    //X l chnh trn th backbone vi cc tham s

    alpha v d

    o private void FindPath(int src, int des){} //Tm ng i ngt nht gia 2 node backbone

    (optional)

  • 18

    o public void MainFindPath(Node src, Node des, List _path){}

    //Tm ng i gia 2 node bt k (optional). Th tc

    ny gi void FindPath(){}

    3.4. Form chnh

    Hnh 3.4.1. Giao din chnh ca chng trnh

    Cc chc nng:

    1. Chn cc thng s u vo.

  • 19

    - Nhp s lng node (mc nh l 90). Chng trnh s to ra N node c

    nh s t 0 n N-1.

    - La chn cc thng s u vo:

    o H s dng trong thut ton Mentor

    o R: Bn knh ca mng truy nhp

    o D: H s s dng dng trong thut ton Mentor

    Ngoi ra, gi tr W: ngng la chn node Backbone xc nh theo d

    liu ca bi tp.

    2. Thc hin

    Sau khi thit lp cc thng s, ti Box Control, ta ln lt thc hin cc chc

    nng cn thit:

    Mentor: Xc nh cc node Backbone v node truy nhp

    PrimDijkstra: Thit lp mng gia cc node Backbone

    Next: Thm ng (theo thut ton Mentor 2)

    Back: Quay tr v trng thi trc khi Next

    Hnh 3.4.2. (2a) La chn thng s u vo (2b) Thc hin

  • 20

    Hnh 3.4.3. Thay i cc thng s

    - hin th cc thuc tnh gia cc nt mng: ch ph, lu lng, W, CMax, hay

    ng qu ti ta nh du vo cc trng nh bn cnh nhng thuc tnh mun

    xem.

  • 21

    Hnh 3.4.4. Thuc tnh mng v thit lp

    Chng trnh cn cho php tm ng gia 2 nt bt k c ni vi nhau nh

    hnh 1 l nt 67 v 16.

    4 Kt lun

    Qua bi tp ln ny, chng em phn no hiu r hn v thut ton

    MENTOR v cch hnh thnh cy theo thut ton MENTOR cng nh xy dng

    cy PST v MST. c bit, chng em c c hi lm vic trn ngn ng lp trnh

    C#, mt ngn ng kh mnh trong lp trnh hng i tng vi ha tt.

    Qua bi tp ln, chng em mt ln na pht huy v rn luyn k nng lm vic

    nhm v c lp cho mi c nhn.

    Tuy nhin, nhm cng c nhiu hn ch cha lm c trong bi tp ln ny,

    l mi ch lp trnh c mng Backbone, cha lp trnh c mng Access

    (truy nhp).

    Do thi gian c hn, nn qu trnh thc hin khng trnh khi sai st hoc

    cha c nh mong mun. Chng em xin ha s lm tt hn vo cc bi tp ln

    khc.

    Chng em xin cm n c Trn Ngc Lan gip chng em trong qu trnh

    thc hin bi tp ln ny.