Система и способ оптимизации использования ресурсов компьютера
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в оптимизации использования ресурсов компьютера. Система удаления неиспользуемых объектов, включающая средство контроля, предназначенное для определения степени загруженности, по крайней мере, одного ресурса компьютера и нахождения неиспользуемых объектов, которое также связано со средством оценки и со средством определения неиспользуемых объектов; средство оценки, предназначенное для оценки актуальности удаления неиспользуемых объектов, связанное со средством определения неиспользуемых объектов и с базой данных; базу данных, предназначенную для хранения пороговых значений, использующихся при проведении оценок; средство определения неиспользуемых объектов, которое связано со средством формирования сценариев, а также предназначенное для выделения неиспользуемых объектов, актуальность удаления которых превышает пороговое значение; средство формирования сценариев, предназначенное для подготовки сценариев удаления неиспользуемых объектов, связанное со средством выполнения сценариев; средство выполнения сценариев, предназначенное для удаления неиспользуемых объектов. 2 н. и 36 з.п. ф-лы, 6 ил.
Реферат
Область техники
Настоящее изобретение относится к системам управления ресурсами компьютера и, более конкретно, к оптимизации использования ресурсов компьютера.
Уровень техники
Одной из существенных проблем современных вычислительных машин является неоптимальное использование ресурсов компьютера, в частности наличие неиспользуемых объектов, которые занимают системные ресурсы компьютера, не принося пользы, а в некоторых случаях даже снижая его общую производительность. На данный момент решена проблема управления «мусорными» объектами (далее будем использовать это слово без кавычек, в том числе и в виде обобщенного понятия мусор, под которым подразумеваются все неиспользуемые объекты) в объектно-ориентированных языках программирования, таких как JAVA, где технология уборки мусора является встроенной, и разработчик не задумывается об освобождении выделенной памяти после завершения работы с объектом. Данные технологии хорошо себя зарекомендовали при работе, например, в виртуальной машине языка Java (Java Virtual Machine, JVM), однако запуск подобных механизмов в масштабе всего компьютера не гарантирует его стабильной работы.
Помимо непосредственного управления ресурсами компьютера, одной из важнейших задач является адаптация процесса управления, которая включает оценку внутренних и внешних параметров. На данный момент подобная проблема решается посредством запуска задания по уборке мусора в наиболее подходящий момент, как, например, в заявке US 20080172431 A1, либо настройкой параметров уборщика мусора, как в заявке US 20090319255 A1 и в патенте US 7529786. Однако описанные выше технологии ориентированы на повышение производительности процесса уборки мусора, а не на повышение производительности компьютера в целом.
Также одной из важных задач при оптимизации является оценка критичности ненужных данных с точки зрения воздействия на работу персонального компьютера. Такая проблема на данный момент решается при помощи рассмотрения соотношения ресурсов персонального компьютера и количества мусора на нем. Схожие механизмы описаны в патентах JP 61262949 A2 и US 7174354. Однако в качестве рассматриваемых значений выбраны системные параметры компьютера, параметры приложения, возникающие системные события, но не учтены характеристики и свойства самих неиспользуемых объектов. Для оценки степени загруженности компьютера также применяются такие понятия как доступность определенного ресурса, например, в патентах US 6230204 и US 5943480, однако в указанных выше патентах нет оценки нагрузки на компьютер, создаваемой сетевыми подключениями. В патенте US 5742819 рассматривается такая проблема, но только с точки зрения управления параметрами сервера для поддержания работоспособного состояния при большом количестве подключений. Не принимается во внимание возможность наличия неактивных сетевых подключений, которые можно разорвать.
Для удаления мусорных объектов существуют различные утилиты CCleaner, NetCleaner, которые позволяют удалять ненужные файлы на компьютере. Несмотря на возможность удаления мусора, обозначенные решения имеют ряд недостатков: во-первых, для произведения операции чистки мусора предполагается указание пути к файлам, что может быть опасно при масштабировании решения на локальную сеть, а во-вторых, нет возможности оценить критичность мусора с точки зрения влияния на производительность компьютера.
Таким образом, требуется получить систему, которая позволяла бы комплексно оценивать влияние определенных категорий мусора на производительность и удалять те объекты, которые в наибольшей степени снижают производительность.
Анализ предшествующего уровня техники и возможностей позволяет получить новый результат, а именно: систему и способ для оптимизации использования ресурсов компьютера. Результат работы данной системы и данного способа заключается в том, что выделение конкретных категорий мусора и его удаление впоследствии влияет на повышении производительности компьютера.
Сущность изобретения
Настоящее изобретение предназначено для управления ресурсами компьютера и, более конкретно, для оптимизации их использования.
Технический результат настоящего изобретения заключается в оптимизации использования ресурсов компьютера, который достигается за счет оценки степени загруженности ресурсов, а также определения и последующего удаления неиспользуемых объектов, которые вносят наибольший вклад в снижение производительности компьютера.
Описанный далее способ позволяет динамически формировать алгоритм для управления любыми объектами, в т.ч. файлами, ветками реестра, процессами, сетевыми подключениями.
Одним из объектов настоящего изобретения является система удаления неиспользуемых объектов, включающая: средство контроля, предназначенное для определения степени загруженности, по крайней мере, одного ресурса компьютера и нахождения неиспользуемых объектов, которое также связано со средством оценки и со средством определения неиспользуемых объектов; упомянутое средство оценки, предназначенное для оценки актуальности удаления неиспользуемых объектов, связанное со средством определения неиспользуемых объектов и с базой данных; упомянутую базу данных, предназначенную для хранения пороговых значений, использующихся при проведении оценок; упомянутое средство определения неиспользуемых объектов, которое связано со средством формирования сценариев, а также предназначенное для выделения неиспользуемых объектов, актуальность удаления которых превышает пороговое значение; упомянутое средство формирования сценариев, предназначенное для подготовки сценариев удаления неиспользуемых объектов, связанное со средством выполнения сценариев; упомянутое средство выполнения сценариев, предназначенное для удаления неиспользуемых объектов.
В частном варианте реализации в качестве ресурсов компьютера выступает, по крайней мере, один из следующих: жесткий диск, оперативная память, центральный процессор, сеть.
В некоторых вариантах исполнения вышеописанной системы в качестве неиспользуемого объекта выступает, по крайней мере, один из следующих: файл, процесс, сетевое соединение, ветвь реестра.
В одном из вариантов реализации средство контроля осуществляет также сбор информации о конфигурации компьютера. В данном случае под конфигурацией компьютера понимается, по крайней мере, одно из следующих: установленное программное обеспечение; установленное аппаратное обеспечение.
В другом варианте осуществления предлагаемого изобретения средство контроля собирает информацию о состоянии компьютера, которое, в частности, характеризуется, по крайней мере, одним из следующих параметров: запущенные в данный момент сервисы; драйверы устройств; приложения; пользователи, которые работают в системе.
В частном варианте исполнения настоящего решения средство контроля определяет степень загруженности ресурсов компьютера на основании анализа, по крайней мере, одного из следующих параметров: конфигурации компьютера; состояния компьютера. В частности, средство контроля также сравнивает степень загруженности ресурсов компьютера с пороговым значением; при этом средство контроля начинает процесс нахождения неиспользуемых объектов только при превышении заданного порогового значения, которое определяется на основании состояния компьютера.
В частном варианте реализации изобретения оценка актуальности удаления неиспользуемых объектов осуществляется на основе заданных правил при использовании информации о степени загруженности ресурсов компьютера. В другом варианте исполнения системы оценка актуальности удаления неиспользуемых объектов осуществляется на основе ранее обученной нейронной сети. В некоторых вариантах осуществления оценка актуальности удаления неиспользуемых объектов осуществляется на основании информации о конфигурации компьютера.
В одном из вариантов осуществления вышеописанная система дополнительно содержит средство категоризации объектов, предназначенное для разделения неиспользуемых объектов на категории, которое также связано с упомянутыми средствами контроля и оценки, для оценки степени влияния, по крайней мере, одной категории неиспользуемых объектов, по крайней мере, на один ключевой ресурс компьютера. При этом в качестве категории выступает, по крайней мере, одно из следующих: временные файлы, списки последних выполненных операций, дампы памяти. В частном варианте исполнения оценка степени влияния категории неиспользуемых объектов, по крайней мере, на один ключевой ресурс компьютера осуществляется на основании нечеткой логики при использовании статистических данных. В одном из вариантов реализации степень влияния категории неиспользуемых объектов, по крайней мере, на один из ключевых ресурсов компьютера определяется с использованием весовых коэффициентов. В частном варианте осуществления изобретения весовые коэффициенты обновляются на основании сравнения степени загруженности ключевых ресурсов компьютера до и после удаления неиспользуемых объектов. Стоит отметить, что информация о степени загруженности ключевых ресурсов компьютера до и после удаления неиспользуемых объектов поступает, по крайней мере, от одного компьютера локальной вычислительной сети.
В частном варианте исполнения описанной системы формирование и выполнение сценария осуществляется с использованием антивирусной утилиты AVZ.
Другим объектом настоящего изобретения является способ удаления неиспользуемых объектов, в котором: а) собирают информацию о степени загруженности, по крайней мере, одного ресурса компьютера, используя средство контроля; б) определяют неиспользуемые объекты на компьютере, используя средство контроля; в) оценивают при помощи средства оценки актуальность удаления неиспользуемых объектов на основании собранной информации о степени загруженности ресурсов компьютера; г) выбирают неиспользуемые объекты, актуальность удаления которых превышает пороговое значение для соответствующих объектов, посредством средства определения неиспользуемых объектов; д) формируют сценарий для удаления выбранных объектов, используя средство формирования сценариев; е) выполняют сценарий, сформированный на этапе г), на средстве выполнения сценариев с целью удаления неиспользуемых объектов.
В частных вариантах осуществления вышеописанного способа в качестве неиспользуемого объекта выступает, по крайней мере, один из следующих: файл, процесс, сетевое соединение, ветвь реестра.
В частном варианте исполнения изобретения под ресурсами компьютера подразумевается, по крайней мере, один из следующих: жесткий диск, оперативная память, центральный процессор, сеть.
В одном из вариантов реализации предлагаемого способа дополнительно осуществляют сбор информации о конфигурации компьютера. При этом под конфигурацией компьютера понимается, по крайней мере, одно из следующих: установленное программное обеспечение; установленное аппаратное обеспечение.
В другом варианте осуществления вышеописанного способа дополнительно собирают информацию о состоянии компьютера, которое, в частности, характеризуется, по крайней мере, одним из следующих параметров: запущенные в данный момент сервисы; драйверы устройств; приложения; пользователи, которые работают в системе.
В частном варианте исполнения настоящего решения дополнительно определяют степень загруженности ресурсов компьютера на основании анализа, по крайней мере, одного из следующих параметров: конфигурации компьютера; состояния компьютера. В дальнейшем полученная степень загруженности ресурсов компьютера сравнивается с пороговым значением; при этом процесс нахождения неиспользуемых объектов начинается только при превышении заданного порогового значения, которое определяется на основании состояния компьютера. В одном из вариантов осуществления оценка актуальности удаления неиспользуемых объектов осуществляется на основе заданных правил при использовании информации о степени загруженности ресурсов компьютера. В другом варианте исполнения вышеописанного способа оценка актуальности удаления неиспользуемых объектов осуществляется на основе ранее обученной нейронной сети. В еще одном варианте реализации настоящего способа оценка актуальности удаления неиспользуемых объектов осуществляется на основе информации о конфигурации компьютера.
В частном варианте реализации в описанном ранее способе дополнительно категоризируют неиспользуемые объекты с помощью средства категоризации объектов для дальнейшей оценки степени влияния с помощью средства оценки, по крайней мере, одной категории неиспользуемых объектов, по крайней мере, на один ключевой ресурс компьютера. При этом в качестве категории выступает, по крайней мере, одно из следующих: временные файлы, списки последних выполненных операций, дампы памяти. В частном варианте реализации оценка степени влияния категории неиспользуемых объектов, по крайней мере, на один ключевой ресурс компьютера осуществляется на основании нечеткой логики при использовании статистических данных. В одном из вариантов осуществления изобретения степень влияния категории, по крайней мере, на один из ключевых ресурсов компьютера определяется с использованием весовых коэффициентов. В частном варианте исполнения весовые коэффициенты обновляются на основании сравнения степени загруженности, по крайней мере, одного ключевого ресурса компьютера до и после удаления неиспользуемых объектов. При этом информация о степени загруженности ключевых ресурсов компьютера до и после удаления неиспользуемых объектов поступает, по крайней мере, от одного компьютера локальной вычислительной сети.
В частном варианте осуществления описанного способа формирование и выполнение сценария осуществляется с использованием антивирусной утилиты AVZ.
Дополнительные преимущества изобретения будут раскрыты далее в ходе описания вариантов реализации изобретения. Также отметим, что все материалы данного описания направлены на детальное понимание того технического предложения, которое изложено в формуле изобретения.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут раскрыты дальше в описании со ссылками на прилагаемые чертежи.
Фиг.1 представляет частный вариант реализации обновления весовых коэффициентов с использованием обратной связи от компьютеров пользователей.
Фиг.2 иллюстрирует структурную схему взаимодействия основных компонент системы удаления неиспользуемых объектов.
Фиг.3 показывает последовательность реализуемых шагов, исполняемых настоящим техническим решением.
Фиг.4 отображает последовательность действий при определении актуальности удаления объектов для каждой категории.
Фиг.5 иллюстрирует схему реализации изобретения.
Фиг.6 показывает схему компьютера общего назначения, на котором развертывается настоящее техническое решение.
Подробное описание предпочтительных вариантов осуществления
Объекты и признаки настоящего изобретения, способы для достижения этих признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
В область решаемых задач входит оптимизация использования ресурсов компьютера, в частности, оперативной памяти и дискового пространства, а также помощь администратору при проведении профилактического обслуживания компьютеров сети. На данный момент на любом компьютере корпоративной вычислительной сети скапливается мусор, такой как: временные файлы, всевозможные списки последних выполненных операций, протоколов, содержимое рабочей области памяти одного процесса, ядра или всей операционной системы (дампы) и т.п., при этом операционная система не предоставляет стандартных средств для удаления всего объема подобного мусора.
Основные преимущества настоящего решения вытекают из оценки степени загруженности ресурсов компьютера и определения категорий объектов, которые вносят наибольший вклад в снижение производительности. Таким образом, периодически выполняется задание по оптимизации использования ресурсов с целью повышения производительности компьютера, которое предварительно собирает информацию о текущем состоянии компьютера и оценивает степень его загруженности. В данном описании термин «оптимизация» не обязательно означает достижение самой высокой (максимальной) производительности, хотя в некоторых случаях достижение такого результата возможно. В данном контексте под оптимизацией понимается достижение такого уровня производительности компьютера, при котором дальнейшее улучшение будет сопровождаться незначительным эффектом по сравнению с затраченными ресурсами.
Используя различные известные методы оценки, можно получить данные о загруженности ключевых ресурсов компьютера в некоторых условных единицах. Например, для некоторых ресурсов выделяем следующие параметры:
- центральный процессор (степень загруженности в процентах)
- оперативная память (объем используемой части, пропускная способность Мбайт/с)
- жесткий диск (объем используемой части, пропускная способность Кбайт/с)
- сеть (пропускная способность соединения Мбит/с, процент используемой полосы пропускания).
Для упрощения можно привязать к каждому ресурсу только один критический параметр, который является наиболее важным.
Таким образом, можно получить оценку степени загруженности системы в условных баллах. Например, для оценки степени загруженности жесткого диска можно использовать процентное соотношение заполненной общей области. При этом степень загруженности ресурсов компьютера может быть представлена как в виде одного, так и в виде набора значений.
Для более качественной оценки может использоваться система нечеткой логики. Система нечеткой логики предполагает три этапа:
1. Фаззификация - введение нечеткости. Для выполнения этой операции для всех входных величин определяются лингвистические переменные, для каждой лингвистической переменной формируются терм-множества, для каждого терма строятся функции принадлежности. Например, лингвистическая переменная «степень загруженности жесткого диска», для нее терм-множество будет иметь вид {«очень низкая», «низкая», «средняя», «высокая», «очень высокая»}, что позволяет отойти от большого количества чисел и различных размерностей для разных типов ресурсов.
2. Создание и использование нечеткой базы знаний. Нечеткая база знаний состоит из продукционных правил вида ЕСЛИ <посылка правила> ТО <заключение правила>. Например, можно использовать следующее правило: «ЕСЛИ степень загруженности жесткого диска высокая, ТО степень загруженности системы высокая». Построение таких правил обычно не вызывает затруднения, так как они понятны и являются своего рода «вербальным кодированием».
3. Дефаззификация - получение на выходе четкого числа, являющегося в данном случае оценкой степени загруженности ресурсов компьютера.
Система нечеткой логики для настоящего изобретения представляет большую ценность, так как позволяет весьма гибко учитывать множество различных характеристик системы. Если загруженность системы превышает определенный заданный порог, переходят к следующему этапу - категоризации объектов, иначе - работа задания по оптимизации использования ресурсов компьютера считается завершенной. При этом пороговое значение определяется именно тем уровнем загруженности ресурсов компьютера, при котором производительность компьютера существенно снижается. Также пороговое значение может быть определено исходя из желаемой производительности компьютера, например, на основании указаний пользователя. Также пороговое значение может задаваться, используя заранее сформированные критерии, или с помощью пользовательских настроек.
В других вариантах реализации пороговое значение определяется на основании приложений, которые запущены на компьютере пользователя, с учетом рекомендаций пользователя относительно текущего уровня производительности компьютера. Также пороговое значение может быть определено на основании заранее определенного значения уровня производительности компьютера, которое требуется для работы соответствующего приложения. Например, если пользователь запускает мультимедийные файлы или играет в компьютерную игру, низкая производительность гораздо более ощутима в сравнении с другими операциями, например, при копировании файлов, компиляции программного обеспечения, работе с документами и бизнес-приложениями.
В других вариантах осуществления изобретения для определения порогового значения могут быть учтены дополнительные параметры, например, степень использования устройств ввода информации, графического процессора, звуковой карты. В дальнейшем такие параметры будут учитываться с соответствующим весовым коэффициентом. В другом частном варианте осуществления предлагаемая система оптимизации использования ресурсов компьютера анализирует список запущенных процессов, выбирает из них наиболее ресурсоемкие, а затем для них динамически получает пороговое значение на основании имеющейся базы знаний.
В одном из вариантов осуществления пользователю может быть предоставлен графический интерфейс, позволяющий изменять пороговое значение.
Если текущая степень загруженности ресурсов компьютера не превышает порогового значения, тогда задание по удалению неиспользуемых объектов считается выполненным и дальнейшие действия не требуются.
Иначе переходят к следующему этапу - анализу состояния и конфигурации компьютера с целью обнаружения неиспользуемых объектов. В одном из вариантов осуществления под конфигурацией компьютера подразумевается установленное аппаратное и программное обеспечение. Состояние компьютера, в частности, может определяться на основании запущенных в данный момент сервисов, драйверов устройств, приложений, а также пользователей, которые работают в системе. На основании собранной информации могут быть обнаружены неиспользуемые объекты. Так как конфигурация компьютера меняется значительно реже, чем его состояние, следовательно, можно хранить информацию о конфигурации в базе данных или в ином подходящем формате.
В частных вариантах осуществления предлагаемого изобретения обнаруженные неиспользуемые объекты разделяются на категории. Здесь и далее под категориями мусора подразумеваются различные группы неиспользуемых объектов, например: файлы, порождаемые браузером, списки последних выполненных операций/протоколов, дампы памяти, процессы, ключи реестра, сетевые подключения и прочие объекты компьютерной системы. При этом указанные объекты отнесены к различным категориям в связи с тем, что они имеют различные подходы к управлению. Стоит отметить, что категоризация объектов не является обязательным этапом, специалисту в области техники становится понятным, что все дальнейшие действия могут быть применены не только к категориям неиспользуемых объектов, но и ко всем неиспользуемым объектам. Разделение всех неиспользуемых объектов на категории является предпочтительным вариантом осуществления настоящего изобретения в связи с различными подходами к управлению объектами внутри различных категорий.
В дальнейшем оценивается текущее значение влияния каждой из указанных категорий на все ключевые ресурсы. Например, для категории временных файлов можно записать:
- влияние на пропускную способность диска - «низкое»;
- влияние на объем используемой части диска - «среднее»;
- влияние на оперативную память - «очень низкое»;
- влияние на центральный процессор - «очень низкое» и т.д.
Оценка может происходить с использованием накопленных статистических или экспертных данных, заранее обученной нейронной сети. Также значения степени влияния могут быть постоянными и храниться в базе данных.
В дальнейшем для упрощения можно определить ресурс, на который выбранная категория влияет в наибольшей степени. Например, временные файлы в наибольшей степени влияют на объем используемой части диска. Следовательно, для указанной категории будет рассматриваться влияние только на этот ресурс. При этом значение степени влияния на ресурсы компьютера для данной категории определено как «среднее». Затем на основании степени загруженности ресурсов компьютера, параметров компьютера, конфигурации компьютера, состояния компьютера, влияния данной категории на ключевые ресурсы оценивается актуальность чистки мусора по данной категории. Под чисткой мусора будем понимать набор действий, направленных на удаление неиспользуемых объектов (мусора).
В одном из вариантов реализации актуальность удаления той или иной категории мусора определяется с использованием заданных правил вида: «ЕСЛИ загруженность одного из ключевых ресурсов высокая И степень влияния категории А на этот ресурс средняя, ТО актуальность удаления мусора по категории А выше средней». Указанные правила могут храниться в базе данных и быть получены на основании статистических исследований либо экспертных данных. Приведенный вариант продукционного правила представлен в упрощенной форме, в общем случае также учитываются параметры компьютера. В данном случае под параметрами компьютера подразумевается, например, пропускная способность жесткого диска, уровень фрагментации диска, тип диска (HDD, SSD), тактовая частота процессора, количество ядер процессора, используемая операционная система, настройки операционной системы и так далее.
В другом варианте исполнения актуальность удаления объектов заданной категории оценивается с помощью обученной нейронной сети. Для этого рассматриваются тестовые компьютеры, на которых существуют неиспользуемые объекты. Также такие тестовые среды могут быть специально созданы. Для выделенных тестовых компьютеров определяется ряд показателей, характеризующих их быстродействие, например, скорость чтения/записи на жесткий диск, скорость загрузки операционной системы, быстродействие приложений и так далее. После произведения удаления неиспользуемых объектов текущее значение вышеуказанных параметров сравнивается с предыдущим, что показывает, насколько чистка мусора повлияла на производительность компьютера. В дальнейшем для обучения нейронной сети ей на вход передают параметры компьютера, степень загруженности ресурсов компьютера, степень влияния неиспользуемых объектов на ключевые ресурсы компьютера, а на выходе указывают значение актуальности удаления неиспользуемых объектов. После обучения нейронная сеть будет способна самостоятельно принимать решения об актуальности чистки мусора.
Стоит отметить, что со временем степень влияния каждой категории на ключевые ресурсы компьютера может меняться, так как аппаратное обеспечение компьютеров постоянно развивается и становится более устойчивым к нагрузкам. Например, при загруженности жесткого магнитного диска более 80% практически во всех случаях чтения/записи происходит существенное замедление работы системы, которое связано с перемещением головки диска по ячейкам памяти. В случае с твердотельным накопителем такая проблема не возникает, так как в нем отсутствуют подвижные части, и чтение/запись осуществляются по другому принципу. В подобных ситуациях целесообразно применение весовых коэффициентов. При этом пороговые значения считаются условно постоянными, но оценка влияния категорий мусора на ключевые ресурсы компьютера происходит с использованием весовых коэффициентов. Указанные коэффициенты хранятся в базе данных и периодически обновляются. В частном варианте исполнения системы обновление коэффициентов осуществляется централизованно: собираются и анализируются данные, приходящие от множества компьютеров локальной вычислительной сети.
Также изменение коэффициентов может осуществляться при использовании обратной связи, один из вариантов осуществления которой представлен на Фиг.1. Например, на компьютере пользователя оценивают загруженность системы на шаге 2, затем выполняют уборку мусора на этапе 4 для выделенных категорий, затем переоценивают загруженность системы на этапе 6 и сравнивают ее с первоначальным значением на этапе 8. В результате сравнения могут возникнуть следующие ситуации: чистка оказала высокое влияние, среднее, низкое, практически не повлияла. Для дальнейших оценок в данном случае также возможно использование нечеткой логики, например, путем введения лингвистической переменной «степень влияния чистки» и терм-множества для нее {«очень низкое», «низкое», «среднее», «высокое», «очень высокое»}. В дальнейшем на центральный компьютер (сервер) отправляется информация о соответствующих категориях и результатах их работы на этапе 10, которая используется для корректировки пороговых значений. Затем происходит анализ полученных данных на этапе 12, в частности, определяется, какие категории не дотянули до порогового значения. На основании проведенного на этапе 12 анализа, на этапе 14 корректируются коэффициенты для оценки степени влияния категорий мусора на загруженность ключевых ресурсов.
В другом варианте реализации изобретения рассматривается соотношение влияния на ключевые ресурсы компьютера произведенного удаления мусора и затраченных ресурсов для осуществления такого удаления. На основании указанного соотношения также могут быть изменены коэффициенты. Простейший вариант реализации представляет собой набор продукционных правил вида «ЕСЛИ условие ТО действие», как например - «ЕСЛИ степень влияния чистки очень низкое И количество затраченных ресурсов высокое, ТО следует повысить значения коэффициентов».
С помощью описанного механизма также может происходить выбор категорий, которые вносят наибольший вклад в снижение производительности компьютера. Таким образом, с использованием шагов, описанных ранее, решается проблема оптимизации использования ресурсов компьютерной системы в целом, при этом описанное изобретение не ограничивается только персональным компьютером в обычном понимании. Специалисту в области техники из описания будет понятно, что подобная система оптимизации использования ресурсов может быть реализована как для стационарных машин и различных мобильных устройств, так и может быть расширена на локальную вычислительную сеть. Предлагаемая система может быть реализована в рамках одного компьютера, а также она может быть разнесена на несколько компьютеров, используя любой из принципов построения распределенной системы вычислений. В некоторых вариантах осуществления, описываемая система может работать в рамках виртуальной машины, которая запущена на одном или нескольких компьютерах.
Фиг.2 отображает структурную схему процесса удаления неиспользуемых объектов. Описываемая система 100 содержит в своем составе средство контроля 110, средство категоризации объектов 111, средство оценки 130, обращающееся к базе данных 140 с целью получения информации о пороговых значениях, средство определения неиспользуемых объектов 150, средство формирования сценариев 160, средство выполнения сценариев 170, полученных от средства формирования сценариев 160. Входными данными в описываемой системе является информация, которую средство контроля 110 получает от компьютера 120, в частности, от операционной системы 121, приложений 122, данных приложений 123, устройств 124.
В данном описании под термином «средство» подразумевается некоторое физическое устройство, часть устройства либо объединение устройств, реализованных аппаратно, например, в виде интегральной микросхемы или программируемого логического устройства, или программно-аппаратно, например, в виде устройства с микропроцессором, выполняющим набор инструкций, которые обеспечивают заданную функциональность. Также средство может быть реализовано в виде комбинации из нескольких устройств, каждое из которых может быть воплощено как на аппаратном, так и программно-аппаратном уровне. В некоторых вариантах реализации, по крайней мере часть, а в некоторых случаях и все средства могут быть интегрированы в процессор (процессоры) одного или нескольких компьютеров общего назначения (один из вариантов реализации будет представлен ниже). На указанном процессоре (процессорах) выполняются инструкции операционной системы, приложений, при этом добавление указанных функциональности осуществляется с использованием различных подходов, позволяющих поддерживать многозадачность, многопоточность и распределенные вычисления, а также другие аналогичные технологии. Стоит отметить, что каждое средство может быть реализовано в виде множества различных подходящих конфигураций, не ограничиваясь лишь теми, которые представлены в настоящем описании.
В предложенном варианте реализации средство контроля 110 на первом этапе собирает информацию о существующих неиспользуемых объектах, ресурсах компьютера и степени их загруженности. Определение неиспользуемых объектов осуществляется с использованием любых известных способов, например, путем анализа даты последнего использования, типа файла, связей с другими объектами и так далее. На основании этой информации средство оценки 130 принимает решение, требуется ли чистка мусора или нет. Для осуществления указанной оценки неиспользуемые объекты компьютера 120 подвергаются категоризации с помощью средства категоризации объектов 111. Для каждой выделенной категории определяется степень ее влияния на ключевые ресурсы компьютера, а затем определяется актуальность удаления объектов по каждой категории. Степень влияния каждой категории на ключевые ресурсы компьютера определяется в терминах нечеткой логики: задается лингвистическая переменная, терм-множество для нее и функция принадлежности. Далее актуальность удаления объектов для каждой категории сравнивается с соответствующим пороговым значением, хранящимся в базе банных 140. Более подробно этот процесс описан на Фиг.4.
При этом пороговые значения могут быть заранее определены средством оценки 130 или с использованием статистических данных. Также пороговое значение может быть установлено пользователем. В одном из вариантов исполнения функция принадлежности для определения значения степени влияния категории на все ключевые ресурсы компьютера учитывается с соответствующим весовым коэффициентом, который хранится в базе данных 140. Стоит отметить, что коэффициенты могут быть обновлены, в том числе и централизованно.
В случае, если чистка для какой-либо категории является рекомендуемой, средство определения неиспользуемых объектов компьютера 150 добавляет ее в список объектов, по которым должно быть осуществлено удаление неиспользуемых объектов. На этом этапе формируется предварительный список категорий, для которых следует провести чистку. В дальнейшем этот список уточняется средством оценки 130, например, с помощью эвристических методов. После выбора категорий более детально выделяется список неиспользуемых объектов в рамках указанных категорий с помощью средства определения неиспользуемых объектов 150. Это полезно в случае более тонкой настройки системы удаления неиспользуемых объектов. На основании сформированного списка категорий и объектов с помощью средства формирования сценариев 160 формируются сценарии удаления неиспользуемых объектов, которые впоследствии выполняются средством выполнения сценариев 170.
Фиг.3 иллюстрирует описанный выше процесс более подробно. На этапе 210 средство контроля 110 собирает информацию о неиспользуемых объектах и степени загруженности компьютера и отправляет ее средству оценки 130. С помощью средства категоризации об