Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия Карахтанов, Дмитрий Сергеевич

Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия
<
Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Карахтанов, Дмитрий Сергеевич. Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия : диссертация ... кандидата технических наук : 05.13.11 / Карахтанов Дмитрий Сергеевич; [Место защиты: Воронеж. гос. техн. ун-т].- Воронеж, 2011.- 146 с.: ил. РГБ ОД, 61 11-5/2139

Содержание к диссертации

Введение

ГЛАВА 1. Состояние проблемьї идентификации объектов в базах данных 7

1.1 Проблемы идентификации объектов в базах данных 7

1.2 Ограничения существующих поисковых алгоритмов 15

1.3 Постановка задач исследования 27

ГЛАВА 2. Разработка процедур нестрогого соответствия .32

2.1 Процедура определения функции релевантности 32

2.2 Процедура вычисления расстояния между строками 51

2.3 Процедура приближенного поиска по длинным строкам 56

2.4 Процедура формирования ключа фонетической похожести 65

Выводы 70

ГЛАВА 3. Разработка алгоритмов идентификации объектов в базах данных 71

3.1 алгоритм поиска и устранения дубликатов 71

3.2 алгоритм идентификации физических лиц 81

3.3 алгоритм поиска по отдельным атрибутам 89

Выводы 92

Глава 4. Практическое применение алгоритмов идентификации объектов в базах данных 93

4.1 Особенности программной реализации средств автоматизации поиска дубликатов в базе данных 93

4.2 Исследование эффективности разработанных алгоритмов в коммерческих базах данных 100

4.3 Альтернативные применения 120

Выводы 125

Заключение l 126

Основные результаты работы 130

Литература

Введение к работе

Актуальность темы. Неуклонный рост объемов данных вызывает необходимость широкого использования передовых информационных технологий для эффективного управления потоками данных. При этом наибольшую значимость приобретают задачи создания эффективных инструментов оценки и контроля растущих потоков информации, оптимизации процедур обработки, агрегации, обобщения, поиска и анализа данных. Возрастает спрос на создание как корпоративных автоматизированных информационных систем (АИС), так и отдельных специализированных решений.

Автоматизированные информационные системы разрабатываются на основе информационно-аналитических баз данных, которые используются в качестве ключевого элемента системы и обеспечивают хранение и обработку всей совокупности данных, поступающих от подразделений и филиалов. С точки зрения технологий АИС представляет набор аппаратных средств, технологий, методов и алгоритмов, направленных на поддержку жизненного цикла информации и включающих три основных процесса: обработку данных, управление информацией и управление знаниями.

Вместе с тем, существуют факторы, сдерживающие развитие АИС. Для указанных процессов в различной степени характерны проблемы управления качеством данных, в том числе связанные с наличием как в запросах, так и непосредственно в базах данных орфографических и фонетических ошибок, ошибок ввода информации, а также отсутствием единых стандартов транскрипции с иностранных языков. В настоящее время универсальной методики их решения не существует, поскольку каждая проблема имеет собственную специфику. Вследствие этого задача текстового поиска в базах данных не может быть в полной мере решена только методами проверки на точное соответствие. Становится актуальной задача разработки специальных методов и технологий поиска с использованием нетривиальных решений, в том числе с использованием операций нестрогого соответствия.

Тематика диссертационной работы соответствует научному направлению ГОУВПО «Воронежский государственный технический университет» «Вычислительные комплексы и проблемно-ориентированные системы управления».

Цель и задачи исследования. Целью работы является разработка специального математического и программного обеспечения для реализации поисковых процедур и отождествления записей в базах данных.

Для достижения поставленной цели необходимо решить следующие задачи:

провести анализ моделей, методов и алгоритмов поиска и сравнения объектов в реляционной базе данных;

разработать и исследовать алгоритмы идентификации объектов в базе данных, учитывающие наличие ошибок операторского ввода;

создать специальное программное обеспечение, реализующее работу алгоритмов идентификации объектов в базе данных;

применить разработанное программное обеспечение к задаче идентификации и отождествления объектов внешних источников данных с базой данных бюро кредитных историй.

Методы исследования. Полученные результаты исследования базируются на использовании методов и средств системного анализа, теории принятия решений, методов компьютерного анализа, математического моделирования, методов модульного и структурного программирования.

Тематика работы соответствует п. 4 «Системы управления базами данных и знаний» и п. 7 «Человеко-машинные интерфейсы…» паспорта специальности 05.13.11 – «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей».

Научная новизна. В диссертации получены следующие результаты, характеризующиеся научной новизной:

предложена функция релевантности, отличающаяся применением алгоритма нестрогого соответствия и позволяющая вычислить количественную оценку похожести строк;

создан и реализован алгоритм формирования сегментированного индекса по ключу фонетической похожести, обеспечивающий сокращение предварительной выборки похожих записей и, тем самым, ускоряющий поиск по образцу;

разработан алгоритм распознавания и устранения дублирующихся записей в БД на основе автоматического выбора схемы ручной или автоматической идентификации, позволяющий сохранить информационную целостность, а также снизить зашумленность данных, обусловленную наличием ошибок операторского ввода;

разработан алгоритм поиска по атрибутам на основе функции нестрогого соответствия, алгоритма фонетической похожести, расстояния Левенштейна, обеспечивающий поиск терминов, заданных в запросе и/или их расширений.

Практическая значимость работы заключается в создании процедур и функций, а также комплекса алгоритмов поиска и сравнения записей в БД, которые позволяют:

осуществлять расширенный поиск и выдачу информации на основе функций нестрогого соответствия;

идентифицировать записи баз данных, содержащих информацию о физических и юридических лицах;

проводить быструю оценку, обобщение и агрегацию, обеспечивать возможность интеллектуального анализа;

повысить уровень информационного обеспечения подразделений предприятия за счет снижения зашумленности данных общего информационного пространства.

Реализация и внедрение результатов работы. Разработанное алгоритмическое и программное обеспечение использовано: в информационной системе ООО «Банковские информационно-аналитические системы»; в автоматизированной системе ООО «Кредитное бюро Русский Стандарт»; в информационно-аналитической системе Кредитной дирекции ЗАО «Банк Русский Стандарт», что подтверждается актами о внедрении.

Апробация работы. Теоретические и практические результаты, полученные в процессе исследования, докладывались и обсуждались на: XIII научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий. Системы управления процессами и знаниями» (СУЗ-РБП Москва, 2010); Международной научно-технической конференции «Современные информационные технологии» (Пенза, 2010); IV Международной научно-практической конференции «Информационные технологии в образовании, науке и производстве» (Серпухов, 2010); XIII Международной конференции «Проблемы управления безопасностью сложных систем» (Москва, 2010), XVI Международной открытой научной конференции «Современные проблемы информатизации» (Воронеж, 2011).

Публикации. По теме диссертационной работы опубликовано 13 научных работ, в том числе 2 – в изданиях, рекомендованных ВАК РФ. В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично соискателю принадлежат: [1,11] – математическое обеспечение для устранения дубликатов записей в базе данных на основе нестрогого соответствия; [7,9] – алгоритм идентификации объектов в базах данных; [6] – результаты сравнительного анализа алгоритмов поиска; [13] – специальное программное обеспечение поиска и устранения дубликатов в базе данных.

Структура и объем работы. Работа состоит из введения, четырех глав, заключения, одного приложения и списка литературы из 216 наименований. Основная часть работы изложена на 145 страницах, содержит 25 рисунков, 37 таблиц.

Ограничения существующих поисковых алгоритмов

Из [12] следует, что для выборки всех слов, отличающихся от искомого на одну операцию редактирования, требуется прочесть не более: 1 + т + тг/4 списков, где т размер сигнатуры. Общее число списков равно 2т . Если т достаточно велико, то количество списков, проверяемых в процессе поиска, будет значительно меньше общего числа списков хеш-таблицы.

Практически все сигнатурные алгоритмы, в частности хеширование по сигнатуре, достаточно чувствительно к выбору параметров и хеш-функции Н(а). Размер сигнатуры не должен быть очень большим или очень маленьким. В обоих случаях поиск не может осуществляться эффективно. Следует также учитывать, что число перебираемых в процессе поиска записей линейно зависит от размера словаря. Скорость поиска в сигнатурном хеше также существенно зависит от выбора хеш-функции Н(а).

Метод хеширования по сигнатуре можно рассматривать, как метод, обратный методу расширения выборки: сначала определяются хеш-списки словаря, содержащие «потенциальные» термины, а затем происходит чтение этих списков и непосредственная проверка на предмет соответствия запросу. Метод хеширования по сигнатуре обладает следующими достоинствами: 1) Позволяет осуществлять с высокой скоростью поиск на точное равенство и поиск, допускающий одну-две «ошибки» в задании поискового запроса. 2) При правильном выборе параметров объем индекса не более чем на 10-20% превышает размер файла, содержащего список терминов словаря. 3) Отличается простотой реализации. Хешированию по сигнатуре присущи и довольно существенные недостатки: он медленно работает, если индекс фрагментирован: то есть в том случае, если списки слов с одинаковыми сигнатурами разбросаны по несмежным секторам на диске. В настоящее время это не является большой проблемой, потому что, с одной стороны, размеры памяти компьютера часто позволяют загрузить словарь целиком, а с другой стороны, дефрагментация словаря, как правило, осуществляется за нескольких минут. Вторым существенным недостатком является слишком большой размер конечной выборки, если слова отличаются больше чем на два символа.

Алгоритм N-грамм представляет модель последовательностей (в частности природного языка) с использованием статистических свойств N-грамм (рис. 4). Данный метод был впервые описан в работе К.Шеннона «Теория информации». Основная идея применения метода N-грамм заключалась в том, чтобы учитывая-последовательность букв, рассчитать вероятность появления в последовательности каждой буквы. stofck backteh wrok JQxJ I Did you mean stock back the work.? Рис. 4. Пример: использования метода N-грамм Например, для последовательность «for ex», получаем распределение: .М = 0 4, В= СК00001, С = Oj...... где вероятности появления всех возможных последующих букв в сумме дают 1,0. Другими словамщ N-грамм модель предсказывает х(і)ша основе значений x(i-l), х (i-2), ..., х (i-n): Є точки зрения теории вероятности данная модель может быть представлена формулой:: Р(х(і)х(і-1),х(і-2); ,x(i-n) N-грамм модели широко используются в статистической обработке естественного языка, в том числе в задачах распознавании речи, фонем, а также последовательностей фонем. При этом последовательности букв моделируются с учетом специфики и лексики каждого типа языка. Рассматривают две основных задачи которые нужное решить, используя алгоритм N-грамм: 1. Способ разбиения на граммы. Например, для последовательности слов "the dog smelled like a skunk" 3-граммы выглядят так: "# the dog", "the dog smelled", "dog smelled like", "smelled like a", "like a skunk" and "a skunk #". Для последовательностей символов "good? morning" 3-грамм (иногда именуемые "триграмм") являются буквенные сочетания: "goo", "ood", "od ", "dm", " mo", "mor" и так далее. Аналогичным способом можно построить биграмы, 4-грамы и т.д. Следовательно, перед разбиением необходимо определить порядок грамм наиболее выгодный для применения на конкретной выборке, а также следует ли учитывать начало и конец слова (в примере символ "#"). От этого будет зависеть скорость, точность и объем хранения грамм. Некоторые строки полезно предварительной очистить от пробелов. Пунктуация также обычно удаляется перед началом работы алгоритма. 2. Способ подсчета релевантности. Функция релевантности в данном алгоритме имеет исключительное значение. В классических описаниях данная функция представляется как отношение количества совпавших грамм к общему количеству, буквенных сочетаний. Результаты разработки и тестирования предложенной функции релевантности приведены в разделе 212.

Необходимо также отметить основной недостаток метода N-грамм -относительно большой объем дискового пространства, необходимый для хранения грам. Однако данный, недостаток компенсируется точностью поиска, что отмечено в работах [152, 153, 179, 180,ь 191].

Применение данных алгоритмов обусловлено их высокой эффективностью. При последовательном, переборе строки считываются последовательно и сравниваются непосредственно с поисковым образцом. Для сравнения строк используются битовые алгоритмы типа agrep [196].

Несмотря на то, что алгоритм последовательного перебора работает относительно медленно, далеко не все альтернативные алгоритмы, как показали эксперименты, намного эффективнее простого последовательного перебора. В частности для максимально допустимого расстояния редактирования равного двум, большинство алгоритмов на практике оказываются медленнее. Например, в случае классического дискового поиска.

Простейшее решение задачи перебора состоит в последовательном-сравнении, начиная с t(l) и р(1), символов Т и Р до тех пор, пока не будет обнаружено равенство или неравенство сравниваемых символов. В последнем случае следует вернуться к началу сравнения и, сдвинувшись на один символ по тексту (теперь это будет t(2)), и повторить процедуру.

Описываемый алгоритм может быть проиллюстрирован следующим образом. Например, поиск производится по шаблону vivid в тексте vivi&dv&vivid. Момент несовпадения символов шаблона и текста отмечается заглавной буквой. Результаты представлены в таблице 2.

Процедура вычисления расстояния между строками

Релевантность, стала составлять 7/16=0,43, что субъективно кажется более точной оценкой, чем 40%. Но поднялся не: только коэффициент релевантности, еще увеличился, наборграммов (с, 10 до 15), что не: очень хорошо для скорости поиска. Другая проблема - кодирование с целью увеличения скорости поиска, рассмотренное в 2.1.4; если учитыватьхимвол начала\конца слова, потребуется расширить, кодируемый алфавит, что увеличит среднюю- длину кода и впоследствии скажется на скорости поиска. Еще одним- аргументом, не в пользу данного разбиения является1 его эффективность только для коротких, слов длиной-до 5 символов, эффективность начинает падать уже с шестибуквенных слов;

Этот способ применительно к нашей задаче мало подходит из-за большого количества грамм и, следовательно, большего времени требуемого для поиска. При этом множества грамм для каждого N пересекаются и если эти пресечения убрать, получаем как раз способ разбиения, рассмотренный первым в этой главе. Собственно на первом разбиении и предлагается остановиться и взять его за основу для вычисления функции релевантности.

Увеличение длины максимальной подстроки увеличивает время работы функции. С другой стороны, поиск становится более чётким. В качестве оптимального значения максимальной длины подстроки рекомендуется использовать диапазон от 1 до 5 в зависимости от длины слов [177,188,189].

Проведем следующий эксперимент: соберем все поисковые поля (реквизиты клиента, реквизиты-фирм, комментарии и т.д.) в одну таблицу, в одно поле, упорядочив их по длине. От каждого блока каждой длины берем 100 случайных записей длиной до 50 символов. Далее из входного массива берем первые 100 строк каждой длины вплоть до 50 и вычисляем степень похожести пар строк полученных декартовым произведением. Слова, преодолевшие порог в 35 %, попадают в лог идентификации, в котором также хранится размере по которому был пройден порог. Далее аналитик просматривает лог идентификации и принимает решение - справедливо поставлена оценка или нет. Под несправедливыми оценками понимаются: анаграммы, вхождения ( одного слова в другое, вхождения грамм одного слова в другое, а также несправедливо низкий или высокий процент похожести по субъективному мнению аналитика.

Далее, высчитывая отношения положительных идентификаций к общему числу, получаем график, показанный на рисунке 6. Преодоление функцией порога в 85 % является хорошим результатом для слова данной длины. і Примеры ошибочных идентификаций: Фамилии, из букв которых получаются другие слова: Соловей Солевой релевантность 100% npnN l Фанагина Финагина релевантность 100% npnN=l Остренко Остренок релевантность 100% npnN=l Еременок Еременко релевантность 100% при N =1 А также все сочетания фамилий Зинатулина, Зинатуллина, Зиниатулина, Зиннатуллина. И еще по тем же правилам различаются Нигматулин, Гинатулина, Ганашилина и многие другие. Фамилии в женском роде оканчивающиеся на слог, встречающийся раньше:

По большому счету значение функции при N =4 зависит от того, в каком месте слова находится «ошибка» (в кавычках, так как слова могут просто отличаться на одну букву), чем больше грамм она захватывает. Например, находясь ближе к центру слова, тем оценка ниже, и наоборот - чем дальше от центра, тем меньше грамм задето, тем выше оценка.

Исходя из результатов тестирования, можно сделать следующие частные выводы: 1. Эффективность работы функции при N = 4 примерно одинакова и дает наиболее хорошие результаты на относительно длинных реквизитах вроде адресов клиентов, адресов фирм и комментариев. 2. Работа функции при N = 3 наиболее эффективна на словах длиной в диапазоне от 8 до 26 букв. 3. Работа функции при N= 2 наиболее эффективна на словах длиной в диапазоне от 4 до 18 букв. 4. Работа функции при N= 1 наиболее эффективна на словах длиной в диапазоне до 6 букв. Общие же выводы таковы: 1. На коротких реквизитах, средняя длина которых не превышает 30 символов, наиболее эффективно использовать совокупную оценку, получаемую из оценок при работе функции на диапазоне N = 1,...,4. При этом значение функции оценки при N 5 можно отбросить как примерно идентичную с оценкой функции при N=4. 2. При линейном увеличении значения N от 4, субъективная оценка точности не растет при увеличении длины слова, что говорит о том, что на длинных реквизитах достаточно использования функции сравнения при N=4. Также за это решение говорит тот факт, что диапазон субъективно правильных решений при N=4 начинается с длины слова равной 26, а при увеличении N эта граница повышается, сужая набор данных на котором функция эффективно работает.

алгоритм идентификации физических лиц

При последовательном, переборе строки считываются последовательно и сравниваются. непосредственно с поисковым образцом. Для сравнения строк используются битовые алгоритмы agrep [195]. Выбор обуславливается высокой эффективностью этих алгоритмов.

Несмотря на то, что данный алгоритм работает медленно далеко не все реализованные алгоритмы, как показали эксперименты, намного эффективнее последовательного перебора. В частности для максимально допустимого расстояния редактирования, равного двум, многие алгоритмы оказываются медленнее в случае чисто дискового поиска.

Простейшее решение задачи состоит в последовательном сравнении, начиная с t(l) и р(1), первых символов строк Т и Р до тех пор, пока не будет обнаружено равенство или неравенство сравниваемых символов. В последнем случае следует вернуться к началу сравнения и, сдвинувшись на один символ по тексту (теперь это будет t(2)), и повторить попытку.

Сказанное можно проиллюстрировать следующим образом. Поиск производится по шаблону vivid в тексте vivi&dv&vivid, момент несовпадения символов шаблона и текста отмечается заглавной буквой. Пример проиллюстрирован в таблице 17.

Здесь,первые четыре символа совпадают, а пятый нет. Продолжать поиск, начиная с &, нельзя, поскольку третий и четвертый символы текста (vi) совпадают с началом шаблона и могут быть началом точного совпадения - надо проверять-каждое начало, как показано на примере.

Этот алгоритм требует выполнения не менее n-m+1 сравнений и «работает медленно. Вместе с тем он весьма прост при программировании и позволяет проводить поиск с использованием шаблона любойдлины.

Известно, несколько способов улучшения описанного здесь простейшего решения. Наиболее известны два из них: алгоритм Бойера - Мура (Воуег -Moore) [23, 151] и алгоритм Кнута - Морриса - Пратта (ICnuth - Morris - Pratt) [172]. В большинстве случаев при решении задач точного поиска алгоритм Бойера - Мура работает быстрее, поэтому остановимся именно на нем.

Существует несколько модификаций данного алгоритма. Сравнение начинает проводиться не между первым символом шаблона и первым символом текста, а между последним символом шаблона и m-тым символом текста (в рассмотренном примере - пятым).

Мы должны будем сравнивать d и &; эти символы не совпадают, и шаблон сдвигается. Ключевой момент здесь в том, что определяется символ текста, из-за которого произошло несовпадение (в нашем случае &), и устанавливается, в каком месте шаблона находится этот символ. В зависимости от этого принимается решение о величине сдвига. В рассмотренном примере & не содержится в шаблоне, поэтому можно спокойно сдвигать весь шаблон на m символов вправо.

Следующее сравнение проводится между последним символом шаблона и десятым символом текста, то есть после сдвига на пять позиций. Десятый символ - і, в шаблоне он содержится на второй и четвертой позиции. Мы сдвигаем шаблон только на одну позицию, поскольку і в тексте может совпадать с четвертым! символом шаблона.

Теперь переходиМіК одиннадцатому символу текста (у). Он содержится в шаблоне в первой и третьей (позициях; сдвигать шаблон нужно на два символа, что вычисляется как размер шаблона минус номер последней1 позиции» символа текста, содержащегося в шаблоне.

Это приводит нас к тринадцатому символу (d) На этот раз имеем совпадение символов d. Снова проверяется совпадение шаблона и текста, что в нашем случае выполняется. Если же совпадают последние несколько символов, а остальные нет, можно в этих условиях воспользоваться описанным ранее простейшим алгоритмом со сдвигом шаблона на один символ или применить какой-либо другой метод.

Основное преимущество данного метода в том, что несовпадений бывает значительно больше, а это, в свою очередь, приводит к большим сдвигам. В рассмотренном примере при работе по алгоритму Бойера-Мура потребовалось всего восемь сравнений вместо двадцати при простейшем решении.

Алгоритм поиска СДВИГ-И опубликовали в 1992 году два исследователя из Аризонского университета и Bell Labs - Сан By (Sun Wu) и Уди Манбер (Udi Manber)[195,196,197]. Данный алгоритм обладает уникальным свойством: его можно легко обобщить для приближенного поиска. Это не говоря уже о том, что его просто программировать, и он довольно быстро работает. Пусть Р — шаблон поиска, а Т - строка поиска, длиной пит соответственно. Предположим, что отыскиваются не только все вхождения Р в Т, но и вхождения в Т всех возможных префиксов шаблона Р. Множество префиксов .обозначим Р и запишем так: Р ={Рі,Р\Рг,-,Рі-Рп}\ л = МГ; (8)

Исследование эффективности разработанных алгоритмов в коммерческих базах данных

На основе описанных в главах 2 и 3 алгоритмов был создан программный модуль «Автоматизация поиска дубликатов в базе данных». Модуль предназначен для поиска и устранения дубликатов записей в базе данных с помощью операции нестрогого соответствия и интегрируется со средствами СУБД Oracle llg.

Программа поставляется пользователям в виде дистрибутива, состоящего из исполняемого файла, и инсталлируется на ПК пользователя-аналитика стандартным способом в требуемой конфигурации.

Для обеспечения среды функционирования программы требуется установка следующего программного обеспечения: - лицензионной версии локализованной операционной системы (ОС) Windows 2000/ХР/2003; - клиент СУБД Oracle 7.3.3 или выше. Рекомендуется установка последних обновлений операционной системы Service Pack и драйверов, рекомендованных производителями операционной системы и аппаратных средств.

Условия эксплуатации программы в полном объеме удовлетворяют требованиям, предъявляемым к персональным компьютерам в части условий их эксплуатации.

Функциональные ограничения на использование программы будут определяться типом выбранной операционной системы и характеристиками ПК пользователя. Подготовка пользователя-аналитика должна соответствовать уровню опытного пользователя системы Windows 2000/ХР, приложений Microsoft Office, систем управления базами данных (в частности СУБД Oracle 1 lg).

Системные требования к рабочему места пользователя-аналитика, то есть компьютера, с которого осуществляется работа в интерфейсе управление программным модулем, должен использоваться компьютер с характеристиками не ниже следующих: - процессор Intel Pentium 2 500 МГц; - объем оперативной памяти - 128 Мб.

На стороне сервера инсталлируется серверная часть модуля с указанием рабочих и промежуточных баз данных. Указанные базы данных дополняются пакетами процедур и функций, необходимых для работы модуля. При» этом пользователь, от имени которого устанавливаются пакеты, должен обладать следующими системными привилегиями: grant create procedure to User_name grant create session to User_name grant create table to User_name grant create view to User_name Также пользователю, от имени которого будут выполняться пакеты, необходимо иметь права select, insert, update, delete, references, alter, index на таблицы, с которыми будут работать устанавливаемые пакеты. Структура программного модуля. Изначально информация поступает из коммерческих организаций -информационных партнеров, других БКИ, а так же из государственных органов [47]. Далее полученные данные проходят предварительную очистку, приводятся к нужному формату и аккумулируются в промежуточной базе данных. Следующим шагом становится пополнение основных баз с помощью разработанного программного модуля.

Структура программного модуля «Автоматизация поиска дубликатов в базе данных» показана на рисунке 11. Программный модуль состоит из следующих основных блоков: 1. Блок распараллеливания потоков информации. Для ускорения процесса пополнения баз данных, было решено организовать работу модуля в несколько потоков. Для этого, в каждую из пополняемых таблиц и в таблицы-источники было добавлено поле DATEINSERT с типом данных TIMESTAMP(6), которое заполняется значением функции CURRENT_TIMESTAMP при вставке записей в таблицу. Далее, перед началом передачи данных, в пополняемых таблицах находится дата последней вставки LASTDATEINSERT. После этого из таблиц-источников выбираются все записи, у которых значение поля DATEINSERT больше чем LAST_DATE_INSERT. Именно эти записи считаются новыми. Далее с помощь того же поля DATE_INSERT новые записи разбиваются на партиции, количество которых можно установить через интерфейс администратора в блоке управления. При этом каждая партиция становится отдельным потоком данных, передаваемым в следующие блоки модуля.

Похожие диссертации на Разработка математического и программного обеспечения идентификации объектов в базе данных на основе нестрогого соответствия