Методология интеграции гетерогенных информационных систем по свойствам неорганических веществ (1090084), страница 35
Текст из файла (страница 35)
Ключом таблицы является связка полей DBID,PropertyID, ExpertID. Назначение полей аналогично таблице Meta_SystemExpert.Такимобразом,Meta_SystemExpert,таблицыMeta_SubstanceExpert,Meta_DBExpert,Meta_PropertyExpert,Meta_ModificationExpertсодержатэкспертные оценки качества информации в интегрируемых источниках данных ИС.Таблицы приведены в порядке возрастания приоритетов экспертных оценок.
Например,если рассматривается ширина запрещенной зоны вещества In2S3 и определеныэкспертные оценки для интегрируемой ИС (таблица Meta_DBExpert), рассматриваемогосвойства (таблица Meta_PropertyExpert) и для химической системы SystemID (таблица186Meta_SystemExpert),соответствующейсистемеIn-S,тобудетиспользоватьсяэкспертная оценка для химической системы SystemID из таблицы Meta_SystemExpert.Таблица Meta_UserInfoПредназначенаинтегрированнойдляИС.храненияКаждомусписказарегистрированныхпользователюприсваиваетсяпользователейуникальныйцелочисленный идентификатор UserID (тип int), являющийся первичным ключомтаблицы.
Поле Enabled (тип bit) указывает, активен ли пользователь, т.е. может ли оносуществлять вход в ИС, т.е. ее использование (1), или временно доступ для негозакрыт (0). Учетные данные пользователей хранятся в полях Login (тип varchar(32)) иPassword(типvarchar(32)).ПолеAccessType(типint)внастоящеевремязарезервировано и не используется, т.к. все активные пользователи обладаютодинаковыми правами – возможностью просмотра всей информации, содержащейся винтегрируемых ИС.Таблица Meta_UserExpertПредназначена для хранения пользовательского рейтинга экспертов. Каждыйпользователь может выставлять свой рейтинг экспертам, оценивающим качестводанных в интегрированных ИС.
Тем самым пользователь может повысить или понизитьзначимость оценок конкретных экспертов при выдаче данных интегрированной ИС. Поумолчанию оценки всех экспертов обладают одинаковым приоритетом, т.е. экспертывносят одинаковый вклад в оценку данных. Это делается для того, чтобы пользовательполучал наиболее достоверные, с точки зрения экспертов, данные. Так как данные,отвечающие критериям пользовательского запроса, могут содержаться сразу внескольких интегрируемых ИС, пользователю выдаются все данные в порядкеуменьшения обобщенных экспертных оценок. То есть интегрированная ИС выводитсначала наиболее достоверные данные, а затем наименее достоверные, по мнениюэкспертов, данные.
Таким образом, в зависимости от пользовательских оценок,выставляемых разным экспертам, интегрированная ИС может выводить данные вразном порядке, зависящем от пользовательского рейтинга экспертов, который укаждого пользователя свой.Первичным ключом таблицы Meta_UserExpert является связка полей UserID,ExpertID означающих, что пользователем с идентификатором UserID задается рейтингэксперту, определяемому идентификатором ExpertID. Сам рейтинг представляетсявещественным числом в интервале [0; 10] и хранится в поле ExpertRatingByUser (типfloat).
Если для эксперта не задан рейтинг, то он считается равным 1. То есть еслипользователь не выставил рейтинги экспертам, то все рейтинги по умолчанию будут187равны 1, следовательно, все эксперты будут вносить одинаковый вклад в оценкукачества данных.Таким образом, рассмотренные таблицы по их назначению можно условноотнести к нескольким группам:Meta_DBInfo – корневая таблица, содержащая информацию об интегрируемых ИС;Meta_ExpertInfo, Meta_UserInfo, Meta_UserExpert – таблицы, содержащиеинформацию об экспертах и пользователях ИС, их правах и пользовательскихрейтингах экспертов;Meta_SystemInfo,Meta_SubstanceInfo,ModificationRegisrty,Meta_PropertyInfoMeta_ModificationInfo,–таблицы,Meta_предназначенныедляразрешения семантических конфликтов на уровне: химических систем, веществ,модификаций и свойств;Meta_DBExpert,Meta_PropertyExpert,Meta_SubstanceExpert,Meta_ModificationExpertMeta_SystemExpert,–таблицы,содержащиеэкспертные оценки качества информации в интегрируемых источниках данных ИС.5.2.2.
Расчет достоверности информации, основанный на экспертных оценкахПредположим, что вся информация в интегрируемых источниках данныхоценивается экспертами, входящими в таблицу Meta_ExpertInfo. Таким образом, имееммножество экспертов E e1 ,e 2 ,...,e n , где ei – эксперт, содержащийся в таблицеMeta_ExpertInfo. При этом |E|=n, т.е. n – количество экспертов, оценивающих качестводанных.Пусть есть некоторая информация, оцениваемая экспертами, например, этоможет быть качество данных о химическом веществе In2S3, информация о которомхранится в ИС “Bandgap”. Каждый эксперт оценивает качество данных, выставляя своюоценку xi.
Как отмечалось выше, экспертные оценки качества данных могутсодержаться в таблицах Meta_DBExpert, Meta_PropertyExpert, Meta_SystemExpert,Meta_SubstanceExpert,Meta_ModificationExpert.Таблицыприведенывпорядкевозрастания приоритетов экспертных оценок. Напомним, что оценка xi – это любоечисло из интервала [0; 10], если оценка не выставлена, то она считается равной 1 (т.е.xi=1). Так получается множество экспертных оценок для оцениваемой информацииX x1, x 2 ,..., x n .Обозначим через U множество пользователей системы, т.е. U u1 ,u 2 ,...,u m , гдеui – пользователь, содержащийся в таблице Meta_UserInfo.
Как отмечалось выше,каждый пользователь может в большей или меньшей степени доверять экспертам.188Чтобы учесть эти предпочтения, каждый пользователь выставляет свои оценкиэкспертам. Т.к. |E|=n, то пользователь может выставить n оценок, сформировав темсамым множество A a1,a 2 ,...,a n , где аi – рейтинг, выставленный пользователем i-муэксперту, аi может принимать значения в интервале [0; 10].
Если пользователь явно незадает рейтинг эксперта, то он считается равным 1 (т.е. аi=1).Интегрированная ИС при ответе на запрос пользователя выводит данные,упорядоченные по уменьшению степени их достоверности. Степень достоверностиинформации D, приводимой источниками данных, рассчитывается при наличииэкспертов (n>0) для каждого пользователя по формуле:11 nD ( a1 x1 a2 x 2 ... an x n ) ai x inn i 1Здесь n – количество экспертов, оценивающих качество данных, аi – рейтинг,выставленный пользователем i-му эксперту, xi – оценка качества данных, выставленнаяi-м экспертом.Следует заметить, что если эксперты, оценивающие качество данных невведены, другими словами, если множество E пусто, то вышеприведенной формулойпользоваться нельзя (т.к.
при n=0 произойдет деление на ноль), а достоверностьинформации D принимается равной единице, т.е. D=1.Отметим, что пользователь может не учитывать оценки, выставляемыеопределенными экспертами. Для этого он выставляет соответствующим экспертамрейтинг аi=0. Если же он хочет повысить значимость оценок определенного эксперта,то выставляется рейтинг аi>1.Несложно видеть, что если эксперты не оценивают качество данных, апользователи не выставляют экспертам рейтинг, то D 1 , т.к. аi=1 и xi=1. В такомслучае все данные из интегрируемых источников будут считаться одинаководостоверными, и, следовательно, предметный посредник будет выводить их впроизвольном порядке.
Таким образом, интегрированная ИС может успешнофункционировать и без экспертной оценки качества интегрируемых данных. В этомслучае все данные из интегрируемых источников считаются одинаково достоверными.5.2.3. Разработка программных адаптеров интегрируемых информационныхсистемПри интеграции данных ИС предметный посредник (медиатор) осуществляетдоступ к информации в интегрируемых источниках через специальные программныеоболочки, которые служат для программного согласования форматов данных189предметного посредника с интегрируемыми источниками и называются программнымиадаптерами (см.
рис. 1.4).Для реализации интегрированной ИС был выбран подход Local-As-View,описывающий все конструкции локальной схемы данных информационного источникачерез представления глобальной схемы. Для осуществления кроссплатформенноговзаимодействия было принято решение использовать технологию Web-сервисов. Такимобразом, все программные адаптеры интегрируемых информационных системреализуются в качестве Web-сервисов, доступных по протоколу SOAP. Это позволяетуспешно разрешать платформенные конфликты, т.к. Web-сервисы могут бытьразработаны на любой современной программной платформе, на которой реализованыинтегрируемые источники данных.Учитывая то, что был выбран подход Local-As-View, программные адаптерыпредоставляют во внешнюю среду данные в едином формате, оговоренном приописании общей схемы предметной области.
При этом адаптеры должны дляобозначения сущностей предметной области использовать только глобальныеидентификаторы, которые были получены от предметного посредника (см. главу 5.2.4).Таким образом, все Web-сервисы должны иметь одинаковое, стандартизированное врамках общей схемы WSDL-описание, что обеспечит унифицированную работу совсеми такими Web-сервисными адаптерами со стороны предметного посредника.Учитывая общую схему предметной области, было разработано общее описаниеWeb-сервисов программных адаптеров на языке WSDL [179], которому должныудовлетворять все Web-сервисы адаптеров интегрируемых ИС.Рассмотрим кратко назначение основных методов Web-сервиса, играющего рольпрограммного адаптера интегрируемой ИС.Методы GetMataInfo и Supports используются для получения версиипрограммного адаптера и набора поддерживаемых функций соответственно.
Этиметоды предназначены для реализации механизма поддержки версий программныхадаптеров и будут использоваться по мере развития интегрированной информационнойсистемы для обеспечения корректной работы предметного посредника с различнымиверсиями адаптеров информационных систем. В настоящее время предметнымпосредником версии 1.0 поддерживается только версия 1.0 программных адаптеров.Метод GetData используются для безопасного извлечения данных изинтегрируемого информационного источника согласно переданным параметрамзапроса. Метод осуществляет передачу запрашиваемых данных только в том случае,если учетная запись, предъявленная при его вызове, является учетной записью190пользователя соответствующего информационного ресурса.
Этот метод поддерживаетвсюфункциональность,связаннуюсизвлечениемданныхизисточника,преобразованием их к формату, определенному общей схемой, включая использованиеглобальныхидентификаторовсущностейпредметнойобластиивыдачуихпредметному посреднику. В версии 1.0 адаптера метод GetData поддерживает триподкоманды: Get_AllList, Get_PropertiesList и Get_PropertiesValues. Рассмотрим кратконазначение приведенных подкоманд.Подкоманда Get_AllList метода GetData предназначена для запроса химическихсущностей, освещаемых в рамках интегрируемого источника.
Предусмотрен механизмфильтрации возвращаемых данных по химической системе, веществу и модификации.Критерий фильтрации задается в качестве входного аргумента метода GetData иявляетсяXML-документомоговоренногоформата.ПримерXML-документа,возвращающего предметному посреднику отфильтрованный список содержимогоинформационного ресурса, приведен на рис. 5.2.5. В документе описано химическоевеществосглобальнымидентификатором(SystemID=1,SubstanceID=86,ModificationID=0) и две его модификации с идентификаторами (SystemID=1,SubstanceID=86, ModificationID=5) и (SystemID=1, SubstanceID=86, ModificationID=7)соответственно.
При этом вещество описано согласно шаблону для записи химическихвеществ ( s, c, null ) , а модификации вещества описаны согласно шаблону для записихимических модификаций ( s, c, m) (см. главу 3.4.2).Рис. 5.2.5. Пример XML-документа, описывающего содержимое информационногоисточника (снимок экрана из Microsoft IE).Подкоманда Get_PropertiesList метода GetData предназначена для запросанабора свойств, освещаемого в рамках интегрируемого источника с возможностьюфильтрации, задаваемой аналогично фильтрации в подкоманде Get_AllList в качествевходного аргумента метода GetData.