- NextPos: ch đ n v trí tr ng ti p theo ch a đ c s d ng trên trang này, ch có ý ngh a khi đây là trang cu i.
- docIdi (i=1…n): đnh danh tài li u có ch a m c t s h u trang này, d a vào đnh danh này có th truy xu t thông tin liên quan đ n tài li u t b ng đnh danh tài li u.
- weighTi (i=1…n): tr ng s c a m c t trong t ng tài li u t ng ng docIdi
Nh v y có th đ c toàn b danh sách các tài li u có ch a m t m c t b ng cách đ c toàn b các trang đ c liên k t theo con tr nextPage. V n đ còn l i là xác đnh trang đ u tiên trong chu i danh sách này. Giá tr trang đ u tiên đ c l u tr trong t đi n ch m c đã trình bày trên. Các thao tác chính trên t p tin ngh ch đ o ch m c là:
- Thêm m t tài li u cho m t m c t : khi m t tài li u đ c l p ch m c, n u tài li u có ch a m t m c t t nào đó thì tài li u này s đ c thêm vào danh sách các tài li u ng v i m c t t trong t p tin ngh ch đ o. Tài li u đ c thêm vào v trí tr ng đ u tiên trong trang cu i c a m c t t.
- c danh sách c a các tài li u cho m t m c t : k t qu tác v này đ c thi t k tr v theo lu ng (stream) d i d ng (docId1, weighT1, docId2, weighT2, ……, docIdn, weighTn) ngh a là có th đ c k t qu tr v theo t ng tài li u, x lý xong tài li u này m i đ c sang tài li u ti p theo. Vi c tr k t qu theo lu ng có u đi m l n là gi m đ c dung l ng l u tr k t qu (ch c n m t l ng b nh nh b chi m d ng đ là b đ m nh m gi m b t thao tác truy xu t file). i u này là c n thi t vì danh sách các tài li u tr3 v có th r t l n (hàng ch c ngàn trzng v i hàng MB b nh ) và h th ng ho t đ ng trên môi tr ng m ng nên ph i x lý r t nhi u yêu c u đ ng th i, d n đ n vi c h th ng có th b c n ki t tài nguyên b nh n u ph i l u tr toàn b k t qu trong b nh . V i mô hình này dung l ng b nh b chi m d ng b i m t yêu c u đ c danh sách các tài li u trên file ngh ch đ o không ph thu c vào s l ng k t qu tr v .
M t khác file ngh ch đ o đ c truy c p th ng xuyên khi x lý yêu c u tìm ki m và thao tác đ c d li u t file ngh ch đ o chi m nhi u th i giannh t trong t ng s th i gian c n thi t đ hoàn t t m t yêu c u tìm ki m. Vì dung l ng file
ngh ch đ o thay đ i, t ng theo th i gian và s l ng file đã x lý nên nó có th tr nên quá l n, d n đ n tình tr ng không th l u toàn b file ngh ch đ o vào b nh . Do đó đ t ng t c đ tìm ki m, th c hi n c p phát m t vùng nh đóng vai trò b đ m cho thao tác đ c file này. B đ m chi thành các trang v i dung l ng b ng dung l ng m t trang c p phát cho t ng m c t 1KB. Khi có yêu c u truy xu t m t trang trong file ngh ch đ o, trang c n s đ c n p lên b đ m n u ch a có trong b đ m và t n t i đó đ có th s d ng cho nh ng l n truy xu t sau (không ph i truy c p l i đ a). Gi i thu t th c hi n thay th các trang trong b đ m là gi i thu t lâu nh t ch a s d ng.
5.7. Module nh n và phân tích query t ng i dùng
5.7.2. Mô hình x lý
Hình 5.7-2: Mô hình x lý quá trình nh n và phân tích query ng i dùng
5.7.3. Mô t
Yêu c u: Cung c p giao di n, ti p nh n yêu c u tìm ki m, phân tích yêu c u và tr v k t qu tìm ki m t ng ng
Các b c th c hi n:
Hình 5.7-3: Quá trình nh n và phân tích query t ng i dùng
• Ng i dùng k t n i đ n h th ng thông qua m t servlet ki m tra: Servlet này s ki m tra kh n ng hi n th c a trình duy t đang k t n i sau đó chuy n yêu c u đ n trang giao di n t ng ng (WML 1.x ho c WAP 2.0)
• H th ng ti p nh n chu i t khóa tìm ki m
• Phân tích chu i
• Ki m tra và truy v n k t qu t c s d li u ch m c
• Tr k t qu v cho ng i dùng thông qua giao di n t ng ng (đ c l u theo session)
5.8. Module chuy n đ i trang web
5.8.1. Mô hình ho t đ ng
Hình 5.8-1: Mô hình ho t đ ng c a b chuy n đ i
5.8.2. Mô t
Module này s th c hi n vi c chuy n đ i các trang web thu n túy (ch y u là trang HTML) sang các trang thu c chu n WAP (XHTML và WML) đ có th hi n th trên các thi t b di đ ng giúp ng i dùng có th xem đ c các thông tin h u ích đ c tr v t h th ng tìm ki m.
Yêu c u: Nh n vào m t liên k t và tr v m t trang WAP theo chu n XHTML đ i v i trình duy t 2.0 và WML đ i v i trình duy t 1.x.
Hình 5.8-2: Quá trình chuy n đ i trang web
̇ Nh n liên k t (URL) g i v khi ng i dùng ch n m t liên k t trong trang wap k t qu tìm ki m trên trình duy t wap c a thi t b di đ ng. ̇ T i trang web v máy: ch t i trang HTML và m t s ít hình nh (b
qua các thông tin d i d ng flash, movie, animation…)
̇ Chu n hóa trang HTML t i v thành trang WAP t ng ng: đ m b o các ràng bu c c a chu n XHTML
̇ G i trang WAP k t qu v cho ng i dùng
Ch ng 6. CÀI T
H th ng đ c phát tri n v i các công c /môi tr ng
• Công c phân tích thi t k : Rational Rose 2003
• H đi u hành: Windows XP Professional Service Pack 1
• Môi tr ng l p trình: Borland JbuilderX
• Môi tr ng th nghi m: B gi l p c a Nokia bao g m WAP gateway và b trình duy t WAP
• C s d li u: Oracle 9i
• Các công c đ h a b tr : Microsoft Frontpage 2003, Adobe Photoshop CS, Adobe Illustrator CS, …
6.1. H th ng c s d li u ch m c
Sau khi t o service ph c v cho vi c l p ch m c trên Oracle ta c n ph i đ ng ký service v i ODBC (Xem ph l c A.1.b “H ng tri n khai h th ng”)
Các b ng trong c s d li u ch m c:
STARTPAGE (DOCID, URL, NGAYCAPNHAT)
B ng ch a đ a ch các trang web kh i đ u s đ c download v đ l p ch m c.
DADOWNLOAD (DOCID, URL, NGAYCAPNHAT)
B ng ch a thông tin các trang đã đ c download v nh ng ch a đ c l p ch m c. Các trang đã đ c l p ch m c s đ c xóa kh i b ng này.
DALAPCHIMUC (DOCID, URL, TIEUDE, TRICHDAN, NGAYCAPNHAT)
B ng ch a thông tin các trang đã đ c l p ch m c THAMSO (TEN, GIATRI)
Các thao tác t o b ng và t o các proceduce đ c th c thi t đ ng thông qua file script SCRIPT.SQL đ c đ t trong th m c Working.
6.2. Module chuy n đ i trang HTML sang trang WAP
6.2.1. Các l p cài đ t chính
Html2Wml: Servlet chuy n đ i trang HTML sang trang WML (chu n WAP 1.x)
Html2Xhtml: Servlet chu n hóa trang HTML sang trang XHTML (chu n WAP 2.0)
6.2.2. Ph n chuy n đ i WAP 1.x – Servlet Html2Wml
Ü u vào: Nh n 1 URL
Ü u ra: trang wml theo chu n WAP 1.x Ü Các b c ti n hành:
Hình 6.2-1: Các b c chuy n đ i WAP 1.x
1. Nh n URL
2. T i trang web có URL v a nh n v m t th m c trên máy ch 3. L c b hình nh và các đ i t ng multimedia khác
5. Ch nh s a các liên k t trên trang (n u có) : Chuy n h ng liên k t đi qua servlet chuy n đ i.
6. Xu t ra output trang wml
6.2.3. Ph n chuy n đ i WAP 2.0 – Servlet Html2Xhml
Ü u vào: Nh n m t đa ch URL c a m t trang web Ü u ra: trang XHTML theo chu n WAP 2.0
Ü Các b c ti n hành:
Hình 6.2-2: Các b c chuy n đ i WAP 2.0
1. Nh n URL
2. T i trang web có URL v a nh n v th m c trên máy ch 3. Chu n hóa các th
4. Ch nh s a các liên k t trên trang (n u có): Chuy n h ng liên k t đi qua servlet chuy n đ i.
5. Xu t ra output trang wml
6.3. Module nh n và phân tích query t ng i dùng
6.3.1. Các l p cài đ t chính
Search: Servlet qu n lý vi c g i các hàm cung c p giao di n t l p SearchUI đ t o nên trang tìm ki m, trang k t qu , phân tích query c a ng i dùng nh p vào và truy v n c s d li u đ l y các k t qu tìm ki m.
6.3.2. Ph n x lý detect trình duy t
xác đnh kh n ng hi n th c a trình duy t trên thi t b di đ ng c n ph i xây d ng ph n ki m tra ph n HTTP header đ c tr v t thi t b di đ ng v i hai thu c tính: accept và user-agent.
o n mã ki m tra:
String accept = request.getHeader("accept"); int userAgentClass = WML1_PHONE;
if (accept.indexOf("text/html") != -1){
userAgentClass = accept.indexOf("application/vdn.wap.wmlc") != -1 ? WAP2_PHONE : XHTML_BROWSER;
if (userAgentClass == WAP2_PHONE &&
accept.indexOf("application/xhtnl+xml") == -1){ userAgentClass = WML1_PHONE;
} }
String userAgent = request.getHeader("user-agent"); if (userAgent.indexOf("Mozilla") != -1)
userAgentClass = XHTML_BROWSER;
Sau khi xác đnh đ c kh n ng c a trình duy t ta thi t l p Content Type cho ph n response header:
response.setContentType(userAgentClass == WML1_PHONE ? WML_CONTENT_TYPE : userAgentClass == WAP2_PHONE ?
XHTML_CONTENT_TYPE : HTML_CONTENT_TYPE);
response.setHeader("cach-control","no-cache");
Ta l u thông tin trình duy t vào session ng i dùng HttpSession session = request.getSession(true); session.setAttribute("userAgentClass",
Integer.toString(userAgentClass));
Cu i cùng chuy n ng i dùng đ n trang n i dung t ng ng: if (userAgentClass == WML1_PHONE){
response.sendRedirect("/www/wmlcontent"); }else if (userAgentClass == WAP2_PHONE){
response.sendRedirect("/www/xhtmlcontent"); }else if (userAgentClass == XHTML_BROWSER){
response.sendRedirect("/www/xhtmlcontent");
6.3.3. Ph n x lý query
Nh n query c a ng i dùng nh p vào
String query = request.getParameter("query"); Quá trình phân tích query
Vector v = manager.parseQuery(query);
Vector vword = new Vector(); //Vector chua cac stopword int size = v.size();
String word; Word = (String)v.elementAt(i); for (i=0;i<size;i++){ word = (String)v.elementAt(i); if (!manager.isStopWord(word)) vword.addElement(word); }
M i m t word là m t t có ngh a đ c phân tích t chu i query
6.3.4. Ph n truy v n c s d li u tìm ki m k t qu
int nword = 0;
StreamInverseFile streams[];
nword = vword.size(); //so luong stopword trong query if (nword>0)
{
streams = new StreamInverseFile[nword]; for (i=0;i<nword;i++)
streams[i] =
manager.getStreamResult((String)vword.elementAt(i));
SortedResult sorted = new SortedResult(join,nword);
sorted.skip(start); int nItem,nPage; n=0;
nItem = sorted.arr.size(); //nItem: so tai lieu tim thay
}
M ng sorted ch a các tài li u đ c tìm th y, đ l y m t tài li u Item item;
item=sorted.getItem ();
6.3.5. Giao di n tìm ki m trên thi t b di đ ng 6.3.5.1. Giao di n cho trình duy t h tr WAP 2.0 6.3.5.1. Giao di n cho trình duy t h tr WAP 2.0
K t qu tìm ki m
6.3.5.2. Giao di n cho trình duy t h tr WAP 1.x
Trang ch
Ch ng 7. TH NGHI M
7.1. Th nghi m trên các b gi l p
Môi tr ng th nghi m
• H đi u hành: Windows XP Professional Service Pack 1
• C s d li u: Oracle 9i
• Web server: Apache Tomcat 4.06 đ c ch y trên máy local
• B gi l p Nokia: WAP gateway và b trình duy t WAP
K t qu th nghi m
• Máy tìm ki m:
¬ Có kh n ng download các trang web trên m ng c c b c ng nh trên Internet
¬ Quá trình l p ch m c các trang web t i v t ng đ i nhanh.
¬ Cung c p k t qu tìm ki m t ng đ i chính xác
¬ Giao di n qu n tr d hi u, ti n d ng (Xem ph n ph l c B “Qu n tr h th ng Mobile Search Engine”)
• H th ng giao di n nh n t khóa tìm ki m c a ng i dùng
¬ Ho t đ ng hi u qu trên các dòng trình duy t khác nhau (IE 6.0, FireFox, trình duy t WML 1.x gi l p c a Nokia, trình duy t WAP 2.0 gi l p c a Nokia, trình duy t WAP gi l p c a Erricsion)
¬ n gi n, d s d ng
¬ Hi n th k t qu rõ ràng cho ng i dùng
• H th ng chuy n đ i:
¬ Ho t đ ng t ng đ i t t khi chuy n t HTML sang XHTML
7.2. Th nghi m trên môi tr ng th c t
• H đi u hành: Windows XP Professional Service Pack 1
• C s d li u: Oracle 9i
• Web server: Apache Tomcat 4.06
• i n tho i di đ ng Nokia 6610, 6600, Motorola V3
• H th ng đ c đ a lên m ng Internet thông qua đ ng truy n ADSL do FPT cung c p (Xem ph n ph l c A.4 “ a trang web lên Internet qua đ ng truy n ADSL – Self-hosting”)
K t qu th c nghi m:
• H th ng có th đ c truy c p t các thi t b di đ ng th t có tích h p s n trình duy t WAP
Ch ng 8. T NG K T
8.1. K t qu đ t đ c
Sau khi th c hi n đ tài, chúng em đã thu đ c m t s k t qu sau:
• Tìm hi u đ c công ngh WAP, công ngh thông d ng ph c v cho vi c cung c p, trao đ i thông tin trên Internet thông qua các thi t b di đ ng. N i dung tìm hi u bao g m tình hình phát tri n c a WAP, ki n trúc, đ c đi m k thu t, đ c đi m tri n khai, nh ng h n ch và t ng lai phát tri n c a WAP. Bên c nh đó nhóm còn tìm hi u thêm đ c các ki n th c v m ng thông tin di đ ng và m ng không dây.
• Tìm hi u đ c mô hình ho t đ ng c a m t máy tìm ki m – search engine và tri n khai, áp d ng máy tìm ki m vào mô hình ng d ng engine và tri n khai, áp d ng máy tìm ki m vào mô hình ng d ng c a đ tài.
• Tìm hi u đ c cách th c chu n hóa m t tài li u HTML theo chu n c a XML (XHTML)
• Có đ c ki n th c tri n khai m t h th ng s d ng c s d li u Oracle 9i.
• Phát tri n kh n ng l p trình s d ng ngôn ng Java và môi tr ng tích h p Borland JbuilderX
• Xây d ng đ c h th ng tìm ki m ph c v cho các thi t b di đ ng.
• Tìm hi u và v n hành t t các web server: Apache 4.1, Apache Tomcat 4.0.6, Resin
• Tri n khai đ c h th ng trên đ ng truy n ADSL, v n có khó kh n do đa ch IP do nhà cung c p phân ph i là đa ch IP đ ng – dynamic IP. Xem thêm ph n ph l c A.4. “ a trang web lên Internet qua đ ng truy n ADSL – Self-hosting”.
8.2. H n ch
M c dù nhóm đã có m t th i gian h c t p, làm vi c tích c c nh ng do th i gian có h n và không có đi u ki n t t đ th nghi m nên v n còn t n t i nh ng h n ch :
• Ch a ti n hành th c nghi m đ c các h th ng th c t nh t là đ i v i ki n trúc ho t đ ng c a WAP, WAP gateway và các h ng b o m t c a WAP.
• Máy tìm ki m ch a h tr đ c ti ng Vi t. Ch a t i u hóa đ c mô hình ho t đ ng c a máy tìm ki m đ ph c v riêng các n i dung phù h p cho thi t b di đ ng.
• H th ng chuy n đ i ho t đ ng ch a hi u qu nh t là các tr ng h p