Báo cáo nghiên cứu khoa học xây DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM PHƯƠNG PHÁP đảm bảo gắn bó dữ LIỆU TRONG điều KIỆN có sự cố của các hệ THỐNG THÔNG TIN ĐĂNG ký TRÊN MẠNG INTERNET INTRANET

8 240 0
Báo cáo nghiên cứu khoa học   xây DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM PHƯƠNG PHÁP đảm bảo gắn bó dữ LIỆU TRONG điều KIỆN có sự cố của các hệ THỐNG THÔNG TIN ĐĂNG ký TRÊN MẠNG INTERNET INTRANET

Đang tải... (xem toàn văn)

Thông tin tài liệu

XY DNG CHNG TRèNH TH NGHIM PHNG PHP M BO GN Bể D LIU TRONG IU KIN Cể S C CA CC H THNG THễNG TIN NG Kí TRấN MNG INTERNET/INTRANET CONSTRUCTING A TESTING PROGRAM FOR THE METHOD OF ASSURING DATA COHERENCE IN FAILURE CONDITION OF THE REGISTRY INFORMATION SYSTEM ON THE INTERNET/INTRANET NGUYN HU HI Trng TH Kinh t K thut Phng ụng TểM TT Trong mt bi vit trc, cỏc tỏc gi ó hon thnh vic phỏt trin phng phỏp m bo gn bú d liu iu kin cú s c ca cỏc h thng thụng tin ng ký trờn mng Internet/Intranet chng minh tớnh ỳng n ca phng phỏp ó trỡnh by, bi vit ny, cỏc tỏc gi tip tc xõy dng chng trỡnh ng dng th nghim Chng trỡnh l mt h thng ng dng Web c vit bng Java, cỏc ng dng chy trờn cỏc Server c ci t bng cụng ngh Java RMI v c s d liu c t chc trờn SQL Server m bo c tớnh gn bú d liu iu kin cú s c ca h thng ABSTRACT In the previous research paper, the researchers completed the development of the method of assuring data coherence in failure condition of the registry information system on the Internet/Intranet In order to prove the correctness of the presented method, in this research paper, the researchers continue constructing the testing application This program is a webapplied system written by Java The applications running on servers are installed by Java RMI technology and the database is organized on the SQL Server assuring data coherence in failure condition of the system t Vi mc ớch l chng trỡnh ng dng th nghim phng phỏp m bo gn bú d liu iu kin cú s c ca cỏc h thng thụng tin ng ký trờn mng Internet/Intranet nờn bi toỏn c xột n bi vit l bi toỏn ng ký tua du lch C th, chỳng ta xõy dng mt h thng ng dng Web cho phộp khỏch hng ng ký tour du lch trờn mng Internet cỏc iu kin sau: - H thng ng dng bao gm ba c s d liu: Hỡnh Mụ hỡnh c s d liu mc vt lý tuyn du lch, khỏch sn, phng tin v ba c s d liu ny c t ti ba server khỏc trờn mng - H thng ng ký phi m bo tớnh gn bú d liu tng c s d liu v gia cỏc c s d liu h thng - Trong quỏ trỡnh ng ký, cỏc s c cú th xy Xõy dng mụ hỡnh h thng 2.1 Xõy dng mụ hỡnh c s d liu Dựng cụng c Power Designer thit k mụ hỡnh c s d liu mc vt lý c th hin hỡnh 2.2 Xõy dng mụ hỡnh ng dng T mụ hỡnh c s d liu mc vt lý, chỳng ta phõn thnh ba c s d liu ci t trờn ba database SQL Server chy trờn ba server khỏc [3, 4, 6] H thng ng dng c xõy dng tha cỏc yờu cu bng Bng Cỏc yờu cu ca h thng ng dng TT Yờu cu Thụng tin ng ký ti cỏc database server phi nht quỏn Vic truy xut cỏc c s d liu c thc hin bi ng dng ang chy trờn cựng server vi c s d liu Thao tỏc ng ký thnh cụng nu cỏc thao tỏc truy c s d liu ti cỏc server u thnh cụng v ngc li Mt yờu cu ng ký c x lý phõn tỏn ti cỏc server ang chy database server Cho phộp nhiu ngi dựng ng ký ti mt thi im [1, 5] Mụ hỡnh trin khai ca ng dng c mụ t nh hỡnh CSDL Tour CSDL Khachsan CSDL Phuongtien ConnectionPool ConnectionPool ConnectionPool TPCTourServer TPCHotelServer TPCTransportServer Servlets C1 C2 CN ` ` ` ` ` ` Server Server Server Server Server Server Hình Mô hình triển khai ứng dụng Hình Mô hình triển khai ứng dụng ng dng web c ci t bng Java Servlet v JSP Tt c cỏc yờu cu ca client c x lý bi servlet Controller Tựy theo yờu cu ca ngi dựng, Controller s np trỡnh iu khin s kin tng ng x lý yờu cu ca ngi dựng Cỏc s kin v trỡnh iu khin s kin c cu hỡnh file EVENT.properties, cu trỳc ca nú l mt dóy cỏc cp tờn s kin, tờn lp iu khin s kin REGISTER=RegisterEventHandler RS_REGISTER=QueryRegisterEventHandler Vi d liu ny, ngi dựng gi yờu cu cú tham s event l REGISTER thỡ lp RegisterEventHandler s x lý yờu cu ny [2, 7] Mụ hỡnh hot ng ca Controller c minh theo s hỡnh Bắt đầu Đọc danh sách kiện trình điều khiển kiện từ file event.properties Nhận yêu cầu kiện từ Client S Sự kiện hợp lệ ? Đ Nạp trình điều khiển kiện tương ứng Thực thi phương thức Process trình điều khiển kiện Kết thúc Hình Mô hình hoạt động Controler Cỏc nhim v chớnh ca trỡnh iu khin s kin: - Xỏc nh danh sỏch cỏc server tham gia vo truy d liu - Thnh lp danh sỏch cỏc cõu lnh truy ti mi server - To danh sỏch di chuyn, mi mc danh sỏch di chuyn bao gm a ch server tham gia truy v danh sỏch cỏc cõu lnh truy ti server - M mt giao dch (transaction) mi, truy d liu ti server cc b nu cú - Chuyn danh sỏch di chuyn cho server u tiờn danh sỏch thụng qua li gi phng thc t xa RMI - Nhn kt qu tr v, kt thỳc giao dch - Ghi kt qu x lý vo i tng request, redirect sang trang JSP hin th kt qu i tng request S thut toỏn cho mt servlet iu khin s kin c mụ t qua hỡnh Bắt đầu Bắt đầu N hận danh sách di chuyển Thành lập danh sách di chuyển Begin_Transaction Begin_Transaction Truy vấn liệu cục Truy vấn liệu cục ? S Server cuối ? Đ Đ Truy vấn liệu cục Gởi danh sách di chuyển đến Server Nhận kết trả S Gởi danh sách di chuyển đến Server N hận kết trả T ạo danh sách kết gồm kết truy vấn cục kết trả từ server liền sau End_Transaction End_T ransaction Ghi kết truy vấn vào đối tượng Request T rả danh sách kết server liền trước servlet Redirect sang file JSP Kết thúc Kết thúc Hình Sơ đồ thuật toán Servlet điều khiển kiện Hình Sơ đồ thuật toán Servlet điều khiển kiện H ình Sơ đồ thuật toán TPCServerApp Hình Sơ đồ thuật toán T PC ServerApp Nhim v ca cỏc TPCServerApp chy ti cỏc cỏc server l truy c s d liu cc b, gi danh sỏch di chuyn n server k tip danh sỏch (nu nú cha l server cui cựng danh sỏch di chuyn) v tr kt qu truy v server lin trc hoc servlet (nu nú l server u tiờn danh sỏch di chuyn) Khi TPCServerAPP nhn c danh sỏch di chuyn, chỳng tin hnh thc hin cỏc thao tỏc theo s c minh bng hỡnh Trin khai xõy dng h thng Trong phn ny, chỳng ta s tin hnh ci t mụ hỡnh ng dng bng ngụn ng lp trỡnh Java 3.1 Controller Controller l trỡnh iu khin s kin Controller tip nhn yờu cu ca client, np trỡnh iu khin s kin tng ng v gi phng thc process ca trỡnh iu khin s kin Cỏc phng thc chớnh ca Controller c mụ t qua bng Bng Cỏc phng thc chớnh ca Controller Tờn phng thc init() public void doPost(HttpServletRequest request,HttpServletResponse response) public void doGet(HttpServletRequest request,HttpServletResponse response) Mụ t Khi to cỏc thụng tin ban u bng cỏch c file EVENT.properties v to th hin cho cỏc trỡnh iu khin s kin X lý cỏc yờu cu s dng phng thc POST X lý cỏc yờu cu s dng phng thc GET 3.2 Cỏc trỡnh iu khin s kin Tt c cỏc lp iu khin s kin u k tha t lp tru tng EventHandlerBase, lp EventHandlerBase nh ngha cỏc phng thc c mụ t qua bng Bng Cỏc phng thc ca lp EventHandlerBase Tờn phng thc public void process(ServletContext sc, HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException protected abstract String getURL() Mụ t õy l phng thc c Controller gi bờn hai phng thc doPost() v doGet() x lý yờu cu ca ngi dựng Cỏc lp kt tha t lp ny phi ci t phng thc ny x lý cỏc yờu cu c th ca ngi dựng Phng thc ny tr v ng dn n file jsp s c Controller redirect n sau thc hin xong phng thc process ca cỏc trỡnh iu khin s kin 3.3 Danh sỏch di chuyn Danh sỏch di chuyn c ci t bi lp MovableList Mi phn t danh sỏch di chuyn l mt i tng MovableItem, mi MovableItem cha danh sỏch cỏc cõu lnh truy s c thc hin ti mt server Cỏc thuc tớnh v phng thc ca lp ny c mụ t qua bng Bng Cỏc thuc tớnh v phng thc ca lp MovableList Tờn phng thc Private String addrHttpClient Private Vector movableItem public MovableList(String addr) public int getSize() public String getAddressHTTPClient() public Vector getMovableItems() public void addMovableItem(MovableItem item) public MovableItem getMovableItemAt(int index) Mụ t L thuc tớnh cha a ch IP ca client gi yờu cu L bin cha danh sỏch cỏc MovableItem ca mi server Constructor to danh sỏch di chuyn cho yờu cu c gi t client Phng thc ny tr v kớch thc ca danh sỏch di chuyn Tr v a ch IP ca client gi yờu cu Tr v danh sỏch cỏc phn t ca danh sỏch di chuyn Thờm mt phn t vo cui danh sỏch di chuyn Tr v phn t cú ch mc index danh sỏch di chuyn 3.4 Danh sỏch kt qu Sau nhn c kt qu truy t cỏc server ng sau danh sỏch di chuyn, TPCServerApp s to mt danh sỏch di chuyn mi bao gm kt qu truy cc b v danh sỏch kt qu truy nhn c t server lin sau Danh sỏch di chuyn c ci t bi lp ResultQueryList Cỏc thuc tớnh v phng thc ca lp ny c mụ t bng Bng Cỏc thuc tớnh v phng thc ca lp ResultQueryList Tờn phng thc private Vector resultList public int getSize() public Vector getResultQueryList() public void append(ResultQueryList rqlRemote) public void addResultQueryItem(ResultQueryItem rqi) public ResultQueryItem getResultQueryItemAt(int index) Mụ t Cha danh sỏch cỏc kt qu i tng ResultQueryItem Mi i tng ResultQueryItem cha danh sỏch kt qu truy ti mt server Tr v chiu di ca danh sỏch kt qu Tr v vector cha danh sỏch kt qu Thờm danh sỏch kt qu vo danh sỏch kt qu hin ti Thờm mt i tng cha kt qu truy ti mt server vo danh sỏch kt qu Ly kt qu truy ti server cú ch mc index danh sỏch kt qu 3.5 TPCServerApp Cỏc TPCServerApp c ci t theo cụng ngh Java RMI Mi TPCServerAPP bao gm mt giao din, mt lp ci t giao din v mt lp ng dng Lp giao din nh ngha cỏc phng thc cú th c gi t cỏc i tng trờn mt mỏy o Java khỏc Lp ci t cỏc phng thc c nh ngha giao din Lp ng dng s ng ký lp RMI vi rmiregistry Giao din ca cỏc TPCTourServer, TPCHotelServer, TPCTransportServer nh ngha mt phng thc ci t thut toỏn 2PC tuyn tớnh nhn tham s l danh sỏch di chuyn v ch mc ca server danh sỏch di chuyn [7] public interface TPCTour extends Remote { public ResultQueryList queryTour(MovableList movableList,int index) throws RemoteException; } public interface TPCHotel extends Remote { public ResultQueryList queryHotel(MovableList movableList,int index) throws RemoteException; } public interface TPCTransport extends Remote { public ResultQueryList queryTransport(MovableList movableList,int index) throws RemoteException; } 3.6 ConnectionPool ConnectionPool l thựng cha cỏc kt ni c s d liu sn dựng Cỏc phng thc ca i tng c mụ t bng Bng Cỏc phng thc ca ConnectionPool Tờn phng thc Mụ t public ConnectionPool(String Khi to thựng cha cỏc thụng tin sau: strProperies,int - strProperies: file cha thụng tin kt ni c s d initialConnections,int liu maxConnections,boolean - initialConnections: S kt ni to sn ln u tiờn waitIfBusy) - maxConnections: S kt ni ti a - waitIfBusy: i hay khụng i tt c cỏc kt ni u bn public synchronized void Gii phúng mt kt ni c s d liu free(Connection connection) public synchronized int Tr v tng s kt ni sn dựng hin ti totalConnections() public synchronized void úng tt c cỏc kt ni closeAllConnection() private Connection makeNewConnection() throws To mt kt ni c s d liu mi SQLException public synchronized Nhn mt kt ni c s d liu sn dựng t thựng cha Connection getConnection() Kt qu thc hin 4.1 Mụi trng th nghim chng trỡnh Chng trỡnh c trin khai th nghim trờn mng cc b Cu hỡnh ca cỏc mỏy trm nh sau: - Phn cng: Tc vi x lý t 450 n 733 MHz B nh RAM t 64 n 128 MB - Phn mm: H iu hnh Windows 2000, SQL Server 2000 Cụng c lp trỡnh Java JDK 1.4 4.2 D liu th nghim Thc hin bi toỏn ng ký cỏc Tour du lch ca du khỏch gm Tour du lch, khỏch sn, phng tin i li v dch v vi mi Server lu tr mt Database dựng SQL Server 2000 nh sau: - Server 1: Lu tr database v Tour, file database l Tour gm hai bng Tour, DangKy, DangKy_DichVu - Server 2: Lu tr database v Hotel, file database l KhachSan gm hai bng Khach_San, Tour_KhachSan, Dich_Vu, DichVu_KhachSan - Server 3: Lu tr database v Transport, file database l PhuongTien gm hai bng Phuong_Tien, Tour_PhuongTien Hỡnh Trang ng ký ca chng trỡnh 4.3 Cỏc bc chy v nhp liu - Bc 1: Khi ng cỏc TPCServerApp ti cỏc Server Ti Server Tour: Gi s l Server cú cha ng dng web, c xem nh l iu phi viờn, qun lý vic ng ký cỏc tua du lch cho du khỏch, ta thc hin nh sau: start rmiregistry start java TPCTourServer java TPCMonitorServer Ti Server Hotel: L Server cha c s d liu v khỏch sn phc v cho du khỏch cỏc tour du lch, c xem nh l cỏc thnh viờn, ta thc hin start java TPCHotelServer Ti Server Transport: L Server cha c s d liu v phng tin i li phc v cho du khỏch cỏc tour du lch, cng c xem nh l cỏc thnh viờn, ta thc hin Hỡnh Trang kt qu ng ký thnh cụng start java TPCTransportServer - Bc 2: Khi ng ng dng web ti iu phi viờn Ti Server tour ta ng trỡnh duyt Internet Explorer, gừ a ch ca site ng dng Sau ú ta kớch vo nỳt Register, ng dng s a ta vo trang ng ký nh hỡnh Ti trang ny ta thc hin nhp, chn cỏc thụng tin cn thit Sau ú n vo nỳt lnh ng ký thc hiờn vic ng ký Kt qu ng ký thnh cụng s cú giao din nh hỡnh - Bc 3: To s c kim tra tớnh m bo gn bú d liu Ta cng thc hin ng ký nh bc 1, nhng trc n nỳt ng ký, ta tt mt Server, vớ d Server Hotel iu ny hon ton tng t vic tt ng dng TPCServerHotel Sau ú ta n nỳt ng ký thc hin ng ký, lỳc ny c xem nh l cú s cú h thng, h thng s thụng bỏo Hỡnh Trang kt qu ng ký khụng thnh cụng vic ng ký khụng thnh cụng trờn giao din s c nh hỡnh Sau ú ta ng li Server Hotel iu ny hon ton tng t vic ng li ng dng TPCServerHotel Ta thc hin li vic ng ký vi nhng thụng tin ging ht ln ng ký khụng thnh cụng, lỳc ny ta thy d liu trờn cỏc Server c rollback li iu ny khng nh l d liu ó c m bo gn bú iu kin cú s c ca h thng Kt lun Bi bỏo xõy dng chng trỡnh th nghim phng phỏp m bo gn bú d liu iu kin cú s c ca cỏc h thng thụng tin ng ký trờn mng Internet/Intranet ó c xõy dng chi tit v t c nhng kt qu sau õy: Xõy dng mt ng dng Web c th m bo gn bú d liu trờn cỏc h thng phõn tỏn, lm c s cho lp cỏc ng dng ng ký thụng tin t xa trờn mng Internet/Intranet iu kin cú s c ca h thng Khng nh c tớnh ỳng n ca gii phỏp xut bng thc nghim, cỏc tỏc gi t tờn cho gii phỏp l gii phỏp 2PC danh sỏch di chuyn u im c bn ca gii phỏp l khụng ch cho phộp x lý d liu phõn tỏn m cũn cp nht cỏc chng trỡnh mụi trng phõn tỏn, chia s cụng vic cho nhiu Server 2PC danh sỏch di chuyn cũn cú th ỏp ng yờu cu ca cu hỡnh ng tng hoc gim s lng Server h thng TI LIU THAM KHO [1] [2] [3] [4] [5] [6] [7] Phm ỡnh Hõn, Lờ Vn Sn, Phỏt trin gii phỏp k thut m bo gn bú d liu cho cỏc h thng thụng tin o to trờn mng Internet/Intranet, Tp Khoa hc Cụng ngh, s 46-47(2004) Nguyn Phng Lan, Hong c Hi, Java Lp trỡnh mng, NXB Giỏo dc, 2001 Phm Hu Khang, Lp trỡnh ng dng chuyờn nghip SQL Server 2000, Tp I v II, NXB Lao ng - Xó hi, 2002 M Tamer Ozsu, Patrick Valduriez, Trn c Quang biờn dch, Nguyờn lý cỏc h c s d liu phõn tỏn, Tp I v II, NXB Thng Kờ, 1999 Lờ Vn Sn, H tin hc phõn tỏn, NXB H Quc gia TP H Chớ Minh, 2002 E Simon and P Valduriez, Integrity Control in Distributed Database Systems, In Proc 19th Hawaii Int Conf on System Sciences, January 1986 http://java.sun.com/products/jdk/rmi ... từ file event.properties Nhận yêu cầu kiện từ Client S Sự kiện hợp lệ ? Đ Nạp trình điều khiển kiện tương ứng Thực thi phương thức Process trình điều khiển kiện Kết thúc Hình Mô hình hoạt động... thụng tin ng ký trờn mng Internet/ Intranet ó c xõy dng chi tit v t c nhng kt qu sau õy: Xõy dng mt ng dng Web c th m bo gn bú d liu trờn cỏc h thng phõn tỏn, lm c s cho lp cỏc ng dng ng ký thụng tin. .. ngi dựng gi yờu cu cú tham s event l REGISTER thỡ lp RegisterEventHandler s x lý yờu cu ny [2, 7] Mụ hỡnh hot ng ca Controller c minh theo s hỡnh Bắt đầu Đọc danh sách kiện trình điều khiển kiện

Ngày đăng: 19/12/2015, 21:44

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan