УДК 004
ЖЕЛІДЕГІ ФАЙЛДАРДЫ ІЗДЕУГЕ АРНАЛҒАН ҮЛЕСТІРІЛГЕН ЖҮЙЕНІ ҚҰРУ
Сараибаева А.А.
Әл-Фараби атындағы Қазақ ұлттық университеті, Алматы
Ғылыми жетекші – Мансурова Мадина Есимхановна
Цивилизацияның заманауй басқышы адамзаттың ең дамыған бөлігінің индустраиальды қоғамнан ақпараттық қоғамға ауысуымен сипатталады. Бұл процестің ең жарқын көріністерінің бірі глобалды компьютерлік желінің пайда болуы мен дамуы.
Интернет желісінің пайда болуымен іздеу мәселесі өзекті мәселелердің біріне айналды. Интернет – бірлескен ақпараттық ортадан тұратын және кез келген уақыт мезетінде ақпарат алуға мүмкіндік беретін бүкіл әлемдік компьютерлік желі. Басқа жағынан Интернетте өте көптеген пайдалы ақпараттар сақталады, бірақ осы ақпаратты іздеуге көп уақыт жұмсалады. Бұл мәселе іздеу машиналарының пайда болуына алып келді.
Іздеу жүйесі – Интернетте ақпаратты іздеу мүмкіндігін ұсынатын веб-интерфестен тұратын программа-аппараттық комплекс. Іздеу жүйесі жайында сөз болғанда, әдетте жүйе (фронт-энд) интерфейсі орналасқан сайт айтылады. Іздеу жүйесінің программалық бөлігі болып іздеу машинасы (іздеу движогы) табылады –іздеу жүйесінің функционалдығын қамтамасыз етуші және іздеу жүйесін құрушы компанияның коммерциялық құпиясы болып табылатын программалар жиыны.
Көптеген іздеу жүйелері Бүкіл әлемдік ғаламтордағы сайттардан ақпарат іздеуді, бірақ FTP-серверлерден файлдарды, интернет – магазиндерден тауарларды іздеуге, сонымен қатар Usenet жаңалықтар тобынан ақпаратты іздеуге қабілетті жүйелер де бар.
Іздеудің жақсаруы – бұл заманауй Интернеттің приоритетті есептерінің бірі.
NetApplications компаниясының деректеріне сүйенетін болсақ, 2011 жылдың қаңтар айында іздеу жүйелерін қолдану төмендегідей үлестірілді:
-
Google — 84,65 %;
-
Yahoo! — 6,69 %;
-
Baidu — 3,39 %;
-
Bing — 3,29 %;
-
Ask — 0,56 %;
-
AOL — 0,42 %.
Кез келген үлестірілген жүйе гомогенділік, жеке компьютерге жүктеме үлкен емес, масштабирлену, қауіпсіздік талаптарын қанағаттандыруы керек. Бір желіге біріктірілген желідегі компьютерлерден файлдарды іздеудің үлестірілген жүйесін құру.
Барлық іздеу жүйелерінің негізін деректер қоры құрайды - деректерді сақтау, өңдеу және сипаттамасының жалпы принциптерін қарастыратын, қолданбалы программалардан тәуелсіз, қатаң ережелер бойынша ұйымдастырылған деректер жиыны. Өз ғылыми жұмысымда Oracle деректер қорын қолдандым.
Ақпараттық іздеу орталық есебі – қолданушыға оның ақпараттық қажеттілігін қанағаттандыру. Ақпараттық іздеу есебінің тізімі үнемі кеңейуде және енді келесілерден тұрады:
-
Моделдеу сұрақтары;
-
Құжаттар классификациясы;
-
Құжаттар фильтрациясы;
-
Құжаттарды кластерлеу;
-
Іздеу жүйелерінің архитектурасын және қолданушы интерфейстерін жобалау;
-
Ақпаратты шығару, соның ішінде құжаттарды аннотирлеу және реферирлеу;
-
Сұраныстар тілі және т.б.
Үлестірілген файлдық жүйе Google File System (GFS) үлкен көлемді деректерді сақтауға арналған Google компаниясының жабық өнімі. Google да 200 астам GFS-кластерлер жұмыс жасайды.
Мақалада өз ғылыми жұмысым туралы айтып өткім келеді. Әрбір компьютер желідегі А компьютерге (серверге) қосылған. Желідегі компьютерлер қосылғанда JAVA жазылған программа іске қосылады. бұл программа желідегі компьютерлерден барлық файлдарды іздейді және оларды деректер қоры серверіне жазады. Деректер қоры серверінде сонымен қатар Web-server болады.
-
Web-server Apache Tomcat та жазылады.
-
Деректер қоры Oracle 11 g.
-
Файлдар жайында ақпарат жинайтын агент (программа) Java жазылады.
Кез келген компьютерден деректер қоры базасы серверінің атын Apache Tomcat та жазылған Web-server браузерден шақырамыз. Осыдан соң Google тәрізді программа ашылады, бұл терезеде файл атын жазып, файлды іздеуді іске қосуға болады және деректер қоры серверінде тіркелген файлдар тізбегін тауып береді.
Төмендегі программа үзіндісі ғылыми жұмысымнан. Программада іздеу жасаудың бастапқы бапатауларын орындайды, сонан соң іздеуді қосуға search әдісі шақырылады.
private List find(String Path, String m, int objectType) throws Exception {
if(Path == null || m == null) {
throw new Exception("іздеу параметрлері берілмеген");
}
File topDirectory = new File(startPath);
if(!topDirectory.exists()) {
throw new Exception("көрсетілген жол жоқ");
}
if(!m.equals("")) {
p = Pattern.compile(mask, Pattern.CASE_INSENSITIVE | Pattern.COMMENTS);
//Pattern.CASE_INSENSITIVE | Pattern.UNIcomment_CASE);
}
fNumber = 0;
dNumber = 0;
totalLength = 0;
ArrayList result = new ArrayList(1000);
search(topDirectory, result, objectType);
p = null;
return res; }
private void search(File topDirectory, List result, int objectType) {
File[] list = topDirectory.listFiles();
for(int i = 0; i < list.length; i++) {
if(list[i].isDirectory()) {
if(objectType != FILES && accept(list[i].getName())) {
directoriesNumber++;
res.add(list[i]);
}
search(list[i], res, objectType);
}
Литература
-
Хабибуллин И.Ш. Создание распределенных приложений на JAVA 2. БХВ-Петербург, 2002.-704 с. ISBN 5-94157-106-2.
-
Таненбаум М., ван Стеен Распределенные системы. Принципы и парадигмы.-СПб.: Питер, 2003.-877 с.: ил.- (Серия «классмка computer science»). ISBN 5-272-0053-6.
-
Barroso, L. A., Dean, J., and Urs Holzle, U. Web search for a planet: The Google cluster architecture. IEEE Micro 23, 2, pp. 22-28, 2003.
Достарыңызбен бөлісу: |