ДИНАМИЧЕСКАЯ ДЕАКТИВАЦИЯ "ХОЛОДНОЙ" БАЗЫ ДАННЫХ В СЛУЖБЕ РАБОТЫ С БАЗАМИ ДАННЫХ
DYNAMIC DEACTIVATION OF “COLD” DATABASE IN DATABASE MANAGEMENT SERVICE

Уровень техники
Описание предшествующего уровня техники
[0001] В облачных вычислениях, кластеры имеют конечные объемы аппаратных ресурсов. Когда база данных поддерживается активной без работы пользовательской рабочей нагрузки в течение длительного периода времени, она не делает ничего полезного, но при этом занимает ценные ресурсы, к примеру, кластерные ресурсы, внутренние приложения и инструменты, такие как приложения или инструменты резервного копирования, телеметрические приложения или инструменты и т.д.
[0002] Изобретение, заявленное в данном документе, не ограничено вариантами осуществления, которые разрешают недостатки или которые работают только в таких окружениях, как описанные выше. Наоборот, это описание уровня техники предоставляется только для того, чтобы проиллюстрировать одну примерную область техники, в которой могут осуществляться на практике некоторые варианты осуществления, описанные в данном документе.
Сущность изобретения
[0003] Один вариант осуществления, проиллюстрированный в данном документе, включает в себя способ, который может осуществляться на практике в облачном вычислительном окружении. Способ включает в себя этапы для управления базами данных, реализованными в облачном вычислительном окружении. Способ включает в себя обнаружение того, что база данных, реализованная в облачном вычислительном окружении, находится в состоянии неиспользования. Способ дополнительно включает в себя, в качестве результата обнаружения того, что база данных, реализованная в облачном вычислительном окружении, находится в состоянии неиспользования, создание экземпляра рабочей нагрузки в облачном вычислительном окружении, чтобы деактивировать базу данных. Рабочая нагрузка выполнена с возможностью сохранять метаданные для базы данных и данные базы данных удаленно в облачном хранилище данных таким образом, что база данных может повторно активироваться позднее.
[0004] Данное краткое изложение сущности изобретения приведена для представления в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Это краткое изложение сущности изобретения не имеет намерение идентифицировать ключевые или важнейшие признаки заявленного изобретения, а также не имеет намерение использоваться в качестве помощи при определении объема заявленного изобретения.
[0005] Дополнительные признаки и преимущества изобретения частично изложены в нижеприведенном описании и должны частично становиться очевидными из описания либо могут быть изучены при практическом использовании идей в данном документе. Признаки и преимущества изобретения могут быть реализованы и получены посредством инструментов и комбинаций, детально указанных в прилагаемой формуле изобретения. Признаки настоящего изобретения должны становиться более очевидными из нижеследующего описания и формулы изобретения или могут быть изучены при практическом использовании изобретения, как изложено далее.
Краткое описание чертежей
[0006] Чтобы описывать способ, которым могут быть получены вышеуказанные и другие преимущества и признаки, более подробное описание изобретения, вкратце описанного выше, должно быть представлено посредством ссылки на конкретные варианты осуществления, которые проиллюстрированы на прилагаемых чертежах. При условии того, что эти чертежи иллюстрируют только типичные варианты осуществления и в силу этого не должны рассматриваться как ограничивающие по объему, варианты осуществления должны описываться и поясняться более конкретно и подробно с помощью прилагаемых чертежей, на которых:
[0007] Фиг. 1 иллюстрирует облачную службу, выполняющую хостинг базы данных; и
[0008] Фиг. 2 иллюстрирует способ управления базами данных.
Подробное описание изобретения
[0009] В кластерных вычислительных окружениях, реализующих базы данных, чтобы исключать лишнюю работу и сокращать затраты по проданным товарам, возникающие в результате "холодных" баз данных, варианты осуществления, проиллюстрированные в данном документе, могут обнаруживать "холодные" базы данных и деактивировать их. В некоторых вариантах осуществления, это может осуществляться посредством хранения минимальных метаданных и файлов базы данных удаленно и удаления всех ресурсов среды выполнения, а также экземпляров базы данных в кластере. Деактивированные базы данных повторно активируются автоматически, когда пользователь соединяется с ними, либо когда файлы базы данных должны обновляться посредством системы.
[0010] Таким образом, варианты осуществления могут быть выполнены с возможностью надежно обнаруживать неактивность в пользовательских рабочих нагрузках. Варианты осуществления альтернативно или дополнительно могут быть выполнены с возможностью реализовывать поток обработки деактивации, выполненный с возможностью обеспечивать транзакционную согласованность данных. А именно, все зафиксированные пользовательские транзакции сохраняются в файле данных/журнала регистрации и резервируются. Варианты осуществления альтернативно или дополнительно могут иметь такую конфигурацию, в которой, в деактивированном состоянии, файлы данных, журнала регистрации и/или резервных копий сохраняют работоспособность после очистки на основе длительного запоминания. Варианты осуществления альтернативно или дополнительно могут иметь такую конфигурацию, в которой изменения дисковых данных или формата могут вызывать активацию по запросу баз данных без необходимости для пользователя соединяться с базами данных. Варианты осуществления альтернативно или дополнительно могут иметь такую конфигурацию, в которой деактивация и/или активация потоков обработки является идемпотентной. В случае проблемы с кластером и/или программным обеспечением, варианты осуществления должны позволять принудительно выполнять деактивацию или активацию по мере необходимости, с тем чтобы пробовать различные кластеры.
[0011] Ссылаясь теперь на фиг. 1, проиллюстрировано примерное окружение. Фиг. 1 иллюстрирует облачную службу 102. Облачная служба 102 выполнена с возможностью выполнять хостинг приложения для работы с базами данных и предоставлять функциональность баз данных различным пользователям. Например, фиг. 1 иллюстрирует пользовательскую машину 104, которая может соединяться с облачной службой 102, чтобы осуществлять доступ к службам работы с базами данных, предоставляемым посредством облачной службы 102.
[0012] Облачная служба включает в себя множество 106 кластеров. Данный кластер, к примеру, кластер 106-1, представляет собой логическое разделение. Каждый кластер реализуется на одной или более физических машин, к примеру, на наборе физических машин 108. Таким образом, каждый кластер может использовать ресурсы физических машин, к примеру, циклы центрального процессора, запоминающее устройство, ввод-вывод системы хранения данных, сетевую функциональность и т.д.
[0013] Каждый кластер может выполнять хостинг одного или более узлов базы данных, к примеру, узел 110 базы данных. Каждый узел базы данных может выполнять хостинг службы работы с базами данных, такой как служба 112 работы с базами данных, и локальный агент, такой как локальный агент 114. Каждый узел базы данных также может выполнять хостинг определенного числа баз данных, к примеру, набора баз 115 данных. Служба 112 работы с базами данных предоставляет функциональность баз данных пользователю. Локальный агент 114 представляет собой мост между узлом базы данных и остальными кластерами в центре обработки и хранения данных.
[0014] Потоки обработки активации и деактивации для активации и деактивации баз данных в наборе баз 115 данных регулируются посредством службы 120 управления потоками обработки. Деактивация инициирована посредством службы 112 работы с базами данных.
[0015] Служба 112 работы с базами данных не обнаруживает пользовательской активности за период времени и в качестве результата уведомляет службу 120 управления потоками обработки. Как результат, поток обработки деактивации начинает деактивировать базу данных, к примеру, экземпляр 115-1 базы данных. В этот момент, любое взаимодействие на уровне базы данных с экземпляром 115-1 базы данных должно инициировать поток обработки активации, как подробнее пояснено ниже.
[0016] В ходе потока обработки деактивации, служба 120 управления потоками обработки контактирует с локальным агентом 114, чтобы отслеживать на предмет новой пользовательской активности из пользовательской машины 104 или взаимодействий на уровне облачной службы (таких как обновления системы баз данных или другие взаимодействия). Если взаимодействия обнаруживаются, деактивация отменяется. Если взаимодействия не обнаруживаются, деактивация завершается, что включает в себя вызывание сохранения метаданных 122 для экземпляра 115-1 базы данных и данных 124 базы данных для экземпляра 115-1 базы данных в удаленном устройстве 126 хранения данных.
[0017] Поток обработки активации инициирован посредством нового пользовательского соединения из пользовательской машины 104. Новое соединение достигает кластера 128. Кластер 128 определяет то, что экземпляр 115-1 базы данных не работает, и указывает службе 120 управления потоками обработки активировать экземпляр 115-1 базы данных. Поток обработки активации извлекает метаданные 122 и данные 124 базы данных из удаленного устройства 126 хранения данных. Поток обработки активации создает новый экземпляр базы данных, экземпляр 115-1 базы данных. В этот момент, новое соединение должно иметь возможность достигать экземпляра 115-1 базы данных.
[0018] Таким образом, при первом пользовательском соединении, система активирует экземпляр 115-1 базы данных посредством создания/присоединения к необходимым физическим ресурсам, предоставленным посредством физических машин 108, лежащих в основе множества кластеров 106. Экземпляр 115-1 базы данных должен оставаться активным при условии, что имеется пользовательская активность из пользовательской машины 104. Когда число активных запросов (из пользовательской машины 104 или из других системных компонентов) падает до 0 в течение конфигурируемого количества времени, система должна завершать работу экземпляра 115-1 физической базы данных, но должна сохранять файлы удаленного устройства хранения данных, такие как метаданные 122 и данные 124 базы данных. Следующее пользовательское соединение после деактивации должно вызывать запуск экземпляра 115-1 физической базы данных снова с использованием файлов удаленного устройства хранения данных, таких как метаданные 122 и данные 124 базы данных, сохраненных ранее.
[0019] В альтернативных вариантах осуществления, размещение физической базы данных может быть динамическим. Таким образом, размещение базы данных не связано с узлом базы данных, выполняющим хостинг базы данных до деактивации.
[0020] В некоторых таких вариантах осуществления, во время активации система должна выбирать наилучший оцененный экземпляр службы работы с базами данных на основе определенных критериев. Например, предпочтение может предоставляться: набору узлов базы данных с большей пропускной способностью, набору узлов базы данных с целевыми вариантами аппаратных конфигураций либо экземпляру базы данных с более подходящей вычислительной мощностью на основе шаблонов использования.
[0021] Во время деактивации, система завершает работу физической базы данных и освобождает точку в экземпляре службы работы с базами данных, чтобы активировать другую базу данных при необходимости. Следует отметить, что вся служба базы данных может завершать работу, когда последняя база данных в этой службе завершает работу.
[0022] В дальнейшем иллюстрируются дополнительные подробности относительно завершения работы. Система, такая как локальный агент 114 или служба 112 работы с базами данных, не обнаруживает пользовательской (и в некоторых вариантах осуществления, системной) активности за период времени, что приводит к отправке запроса на деактивацию базы данных в службу 120 управления потоками обработки. В ответ, поток обработки деактивации начинается и обновляет метаданные по ходу дела.
[0023] Среда 130 выполнения обновляет необходимые метаданные, чтобы указывать то, что база данных находится в деактивированном состоянии. Таким образом, любое новое соединение для базы данных в этот момент должно наблюдать обновленные метаданные, которые инициируют повторную активацию. Служба 120 управления потоками обработки продолжает контактировать с локальным агентом 114, чтобы определять то, имеет или нет служба 112 работы с базами данных новую пользовательскую активность с момента запроса на деактивацию. Если нет, поток обработки деактивации должен отбрасывать ресурсы среды выполнения, ассоциированные с службой базы данных.
[0024] Повторная активация инициирована посредством нового пользовательского соединения. Новый запрос на установление соединения достигает кластера 128. Кластер 128 ищет соответствующие метаданные, которые указывают то, что служба базы данных находится в деактивированном состоянии. Служба 120 управления потоками обработки отправляет запрос на активацию базы данных в службу 120 управления потоками обработки, с тем чтобы активировать экземпляр 115-1 базы данных. Поток обработки активации создает необходимые ресурсы среды выполнения и ассоциированные метаданные. Новые соединения теперь имеют возможность достигать экземпляра 115-1 базы данных в этот момент.
[0025] Некоторые варианты осуществления могут пытаться быть умеренными с точки зрения деактивации. Это может достигаться посредством проверки и повторной проверки нескольких перекрывающихся сигналов, с тем чтобы исключать состояния состязания. Поток обработки деактивации, возможно, должен проверять сигнал прерывания и откатываться при возможности. Другими словами, если новое соединение возникает в то время, когда выполняется деактивация, активация должна победить, без необходимости ожидать завершения потока обработки деактивации.
[0026] Далее иллюстрируются дополнительные подробности относительно логики обнаружения бездействия базы данных. Фоновый подпроцесс в службе работы с базами данных выполняется каждый час (или некоторый другой конфигурируемый период времени) и проверяет каждый экземпляр пользовательской базы данных. В частности, фоновый подпроцесс может проверять каждый экземпляр базы данных. Для каждого экземпляра пользовательской базы данных, могут проверяться различные сигналы. Например, варианты осуществления могут выполнять проверку, чтобы обеспечивать то, что отсутствуют активные входы в учетную запись. Альтернативно или дополнительно, варианты осуществления могут отслеживать различные первичные индикаторы ресурсов рабочей нагрузки, к примеру, индикаторы, указывающие отсутствие активных сеансов, отсутствие активных рабочих процессов, отсутствие активных запросов, отсутствие новых выполненных запросов, отсутствие потребления ресурсов посредством пользовательских рабочих нагрузок; отсутствие использования CPU, отсутствие объекта, поддерживающего блокировку базы данных (хотя в некоторых вариантах осуществления, это может исключаться, поскольку системная фоновая задача может поддерживать такую блокировку), отсутствие незавершенного журнала для резервного копирования и т.д.
[0027] Деактивация может возникать, когда некоторый период времени истек между последней операцией базы данных и текущим временем. Например, варианты осуществления могут обнаруживать дельту между последним активным временем обновления и результатами запроса, запрашивающего текущее время. Когда эта дельта пересекает пороговое значение (которое может быть конфигурационным пороговым значением, к примеру, посредством конфигурирования на логическом уровне сервера или логическом уровне базы данных), поток обработки деактивации базы данных должен начинаться.
[0028] В некоторых вариантах осуществления, деактивация может начинаться, и транзакция может начинаться во время деактивации. В ходе транзакции, пользовательское соединение может деактивироваться, если отсутствует новое соединение для того, чтобы активировать DB, в течение некоторого времени. В этом случае, резервное копирование может не выполняться, что означает то, что последние части зафиксированной транзакции не должны резервироваться.
[0029] Чтобы разрешать эти проблемы, некоторые варианты осуществления могут блокировать экземпляр базы данных во время деактивации и отклонять новые входы в учетную запись. Это является простым и безопасным и приводит к отсутствию журнала регистрации активных или отложенных транзакций для обработки. Тем не менее, экземпляр базы данных должен становиться недоступным, и может быть затруднительным разблокировать экземпляр базы данных до того, как завершается деактивация. Дополнительно, вариант осуществления возможно должен опрашивать службу 120 управления потоками обработки, чтобы идентифицировать завершение потока обработки деактивации. Дополнительно, состояние деактивации, возможно, должно демонстрироваться пользователю во время недоступности, за счет этого рассеивая иллюзию прозрачности.
[0030] Альтернативно, чтобы разрешать эти проблемы, состояние деактивации может указываться в таблице базы данных, указывающей то, что база данных деактивируется. Новое пользовательское соединение может проверять это состояние и отправлять соответствующие запросы в службу 120 управления потоками обработки по мере необходимости, чтобы повторно активировать экземпляр базы данных, чтобы начинать транзакцию.
[0031] Альтернативно, чтобы разрешать эти проблемы, поток обработки деактивации может ожидать завершения журналов резервного копирования транзакций до деактивации экземпляра базы данных. Тем не менее, некоторые варианты осуществления могут удалять существующее соединение, так что варианты осуществления по-прежнему должны решать проблемы, связанные с вероятностью того, что пользовательское соединение по-прежнему является активным, и либо прерывать деактивацию, либо уничтожать пользовательское соединение.
[0032] Некоторые варианты осуществления могут разрешать эти проблемы посредством проверки набора сигналов, идентичного набору сигналов логики деактивации. Поток обработки деактивации может проверять результат до деактивации экземпляра базы данных, чтобы принимать решение.
[0033] В некоторых вариантах осуществления, может возникать зазор между временем, в которое поток обработки деактивации обновляет метаданные, чтобы отражать состояние деактивации для наблюдения новых попыток входа в учетную запись. В связи с этим, пользовательское соединение по-прежнему может достигать экземпляра физической базы данных после того, как варианты осуществления выполняют проверку и повторную проверку, так что некоторое изменение может выполняться непосредственно перед отсоединением. Это может разрешаться посредством потока обработки деактивации, ожидающего изменения метаданных, которое отражает состояние деактивации, перед продолжением остальной части деактивации.
[0034] Альтернативно, это может разрешаться посредством повторных проверок пользовательской активности до деактивации экземпляра физической базы данных, с тем чтобы предоставлять индикатор, такой как задание или очистка бита, в таблице базы данных. Путь выполнения кода входа в учетную запись проверяет этот бит, чтобы блокировать пользовательские соединения с этого момента и далее.
[0035] Этот бит может быть очищен с использованием нуля или более различных операций. Например, если поток обработки деактивации продолжает отсоединять базу данных, то таблица базы данных также должна удаляться, так что очистка не требуется. Если поток обработки деактивации не может отсоединять базу данных, и запрос на активацию возникает, поток обработки активации может включать в себя этап для того, чтобы очищать этот бит таблицы базы данных. Если поток обработки деактивации сбоит и откатывается позднее, новая физическая база данных должна запускаться с чистой таблицей базы данных, так что очистка не требуется.
[0036] Различные варианты конфигурации могут реализовываться для логики обнаружения. Например, некоторые варианты осуществления могут реализовывать два противостоящих главных переключателя, которые могут задаваться на логическом уровне базы данных. Один переключатель представляет собой "всегда деактивировать", при этом другой представляет собой "никогда не деактивировать". Эти переключатели должны превосходить все остальные конфигурации, за исключением неактивной длительности.
[0037] Далее иллюстрируются подробности относительно активации базы данных. В следующем примере, предполагается, что первое пользовательское соединение с базой данных выполняется в то время, когда база данных не находится в активном состоянии. Путь для входа в учетную запись, для некоторых вариантов осуществления, представляет собой следующее:
[0038] 1. Путь для входа в учетную запись кластера ищет свои метаданные для данной пользовательской базы данных.
[0039] 2. Как результат, логическая база данных обнаруживается в деактивированном состоянии.
[0040] 3. Начало активации для этой базы данных.
[0041] 4. Служба управления потоками обработки инициирует поток обработки активации базы данных.
[0042] 5. Служба управления потоками обработки в таком случае должна ожидать завершения операций потока обработки активации базы данных.
[0043] 6. Служба управления потоками обработки должна отправлять ответ обратно в кластер 128 (в ответ на запрос, принимаемый на этапе 3) с местоположением узла экземпляра.
[0044] 7. Параллельно, служба управления потоками обработки также должна обновлять метаданные для будущих соединений.
[0045] 8. Путь для входа в учетную запись должен приводить к осуществлению соединения непосредственно с новым экземпляром физической базы данных.
[0046] 9. Новый экземпляр физической базы данных должен отправлять ответ по входу в учетную запись пользователю.
[0047] Ниже иллюстрируются дополнительные подробности для некоторых вариантов осуществления относительно вышеприведенных этапов 2 и 3. В некоторых вариантах осуществления, служба управления потоками обработки должна запускать новую службу на идентифицированном порту (после подтверждения того, что порт является допустимым для использования), прослушивающем новые запросы на поток обработки активации базы данных.
[0048] Новая служба должна начинать прослушивать порт.
[0049] Ниже иллюстрируются дополнительные подробности для некоторых вариантов осуществления относительно этапа 4. Варианты осуществления пакетируют каждый оцененный экземпляр базы данных, в силу этого исключая необходимость в дополнительных экземплярах, при возможности.
[0050] Ядро базы данных отслеживает использование ресурсов CPU, запоминающего устройства и ввода-вывода пользователем и системную рабочую нагрузку. Динамическая деактивация, описанная в данном документе, может реализовывать свое обнаружение активности непосредственно в ядре службы управления потоками обработки, и в силу этого она может надежно идентифицировать пользовательское использование по сравнению с системным использованием.
[0051] В некоторых вариантах осуществления, шаблон активности рабочей нагрузки может анализироваться, чтобы деактивироваться, когда вероятность новой активности ниже определенного порогового значения. Например, это может определяться посредством машинного обучения или другого эвристического анализа, который может определять вероятность осуществления операции для базы данных.
[0052] Некоторые варианты осуществления могут определять активировать базу данных заранее посредством анализа эвристики предыдущих шаблонов активации.
[0053] Альтернативно или дополнительно, некоторые варианты осуществления активируют базу данных до соответствующего размера экземпляра, с тем чтобы приспосабливать предполагаемую рабочую нагрузку для базы данных.
[0054] База данных может деактивироваться из одного физического кластера/машины, высвобождая его пропускную способность обратно в систему. Когда пользовательское соединение возникает, поток обработки активации должен инициироваться и находить соответствующий кластер и/или машину для того, чтобы запускать процесс сервера баз данных и базу данных в нем. Таким образом, в некоторых вариантах осуществления, поток обработки активации может служить в качестве эффективного модуля балансировки нагрузки в облачном окружении.
[0055] Интервалы обнаружения неактивности и деактивации могут быть конфигурируемыми. Это может использоваться для того, чтобы помогать динамически поддерживать эластичную пропускную способность кластеров.
[0056] Нижеприведенное пояснение далее ссылается на определенное число способов и этапов способа, которые могут выполняться. Хотя этапы способа могут поясняться в определенном порядке или иллюстрироваться на блок-схеме последовательности операций способа как осуществляющиеся в конкретном порядке, конкретный порядок не является обязательным, если иное не указано прямо, или является обязательным, поскольку этап зависит от завершения другого этапа до выполнения данного этапа.
[0057] Ссылаясь теперь на фиг. 2, проиллюстрирован способ 200. Способ 200 может осуществляться на практике в облачном вычислительном окружении. Способ 200 включает в себя этапы для управления базами данных, реализованными в облачном вычислительном окружении, чтобы создавать более эффективное облачное вычислительное окружение посредством деактивации "холодных" баз данных, за счет этого экономя вычислительные ресурсы.
[0058] Способ включает в себя обнаружение того, что база данных, реализованная в облачном вычислительном окружении, находится в состоянии неиспользования (этап 202).
[0059] В качестве результата обнаружения того, что база данных, реализованная в облачном вычислительном окружении, находится в состоянии неиспользования, способ 200 дополнительно включает в себя создание экземпляра рабочей нагрузки в облачном вычислительном окружении, чтобы деактивировать базу данных (этап 204). Рабочая нагрузка выполнена с возможностью сохранять метаданные для базы данных и данные базы данных удаленно в облачном хранилище данных таким образом, что база данных может повторно активироваться позднее. Таким образом, например, поток обработки деактивации может сохранять метаданные 122 базы данных и данные 124 базы данных (например, таблицы базы данных) в удаленном устройстве 126 хранения данных. Удаленное устройство хранения данных представляет собой устройство хранения данных, доступное где-то в идентичном облачном окружении, но не на узле локальной базы данных. Пользователь, который владеет базой данных в облачном окружении, также владеет совместно используемым ресурсом удаленного устройства хранения данных. Когда его база данных не используется в течение длительного периода времени, в силу чего считается "холодной", деактивация должна удалять компоненты среды выполнения из узла локальной базы данных, но сохранять то, что находится в удаленном устройстве хранения данных, нетронутым.
[0060] Способ 200 может включать в себя повторную активацию базы данных. В некоторых таких вариантах осуществления, способ 200 дополнительно может включать в себя обнаружение пользовательского взаимодействия, направленного на базу данных. Повторная активация базы данных может выполняться в качестве результата обнаружения пользовательского взаимодействия, направленного на базу данных. Например, пользователь может хотеть взаимодействовать с базой данных, которая деактивирована.
[0061] Альтернативно или дополнительно, такие варианты осуществления способа 200 дополнительно могут включать в себя обнаружение системного взаимодействия, не включающего в себя пользовательское взаимодействие, направленного на базу данных. В таких вариантах осуществления, повторная активация базы данных выполняется в качестве результата обнаружения системного взаимодействия, не включающего в себя пользовательское взаимодействие, направленного на базу данных. Таким образом, например, системные обновления или другое системное взаимодействие могут вызывать повторную активацию базы данных.
[0062] Альтернативно или дополнительно, такие варианты осуществления способа 200 дополнительно могут включать в себя обнаружение, идентифицирующее потенциальное взаимодействие на уровне базы данных (например, диспетчеризованные обновления, известные пользовательские привычки и т.д.). В таких вариантах осуществления, повторная активация базы данных выполняется в качестве результата идентификации потенциального взаимодействия на уровне базы данных.
[0063] Способ 200 может осуществляться на практике, если обнаружение того, что база данных, реализованная в облачном вычислительном окружении, находится в состоянии неиспользования, содержит обнаружение того, что база данных не использована в течение предварительно определенного количества времени. Например, варианты осуществления могут реализовывать цикл, который проверяет то, использована или нет база данных. В некоторых вариантах осуществления, предварительно определенное количество времени может составлять предварительно определенное число циклических проверок. Альтернативно или дополнительно, предварительно определенное количество времени может составлять предварительно определенное истекшее время.
[0064] В некоторых вариантах осуществления, даже если предварительно определенное количество времени истекло, некоторые варианты осуществления могут определять то, что пользователь с большой вероятностью должен использовать базу данных в пределах этого некоторого короткого периода времени. Таким образом, например, рассмотрим случай, в котором варианты осуществления отмечают, что пользователь с большой очень вероятностью должен использовать базу данных каждые восемь дней. Если предварительно определенный период времени составляет семь дней, некоторые варианты осуществления должны определять не деактивировать базу данных вследствие затрат на деактивацию и повторную активацию базы данных при условии, что база данных с большой вероятностью должна использоваться в течение дня.
[0065] Способ может осуществляться на практике, если обнаружение того, что база данных, реализованная в облачном вычислительном окружении, находится в состоянии неиспользования, содержит обнаружение того, что база данных с очень небольшой вероятностью должна использоваться в течение определенного периода времени на основе способов активного обнаружения. Например, варианты осуществления могут использовать внешние способы, отличные от определения того, что база данных не использована для того, чтобы прогнозировать, что база данных не должна использоваться в течение длительного периода времени. Например, варианты осуществления могут реализовывать конкретную для пользователя логику, чтобы определять то, что база данных с большой вероятностью не должна использоваться. Например, варианты осуществления могут анализировать календарные записи на пользователя, чтобы идентифицировать то, что пользователь с большой вероятностью не может использовать либо с очень небольшой вероятностью использует базу данных, на основе календарных записей пользователя. Альтернативно или дополнительно, варианты осуществления могут иметь сведения относительно графика отпусков пользователя, что может помогать системе идентифицировать то, что пользователь с очень небольшой вероятностью должен использовать базу данных. Альтернативно или дополнительно, варианты осуществления могут использовать предысторию работы пользователя базы данных, чтобы иметь возможность идентифицировать то, что пользователь с очень небольшой вероятностью должен использовать базу данных в течение некоторого длительного периода времени, и т.д.
[0066] Дополнительно, способы могут осуществляться на практике посредством компьютерной системы, включающей в себя один или более процессоров и машиночитаемых носителей, таких как компьютерное запоминающее устройство. В частности, компьютерное запоминающее устройство может сохранять машиноисполняемые инструкции, которые при выполнении посредством одного или более процессоров инструктируют выполнение различных функций, к примеру, этапов, изложенных в вариантах осуществления.
[0067] Варианты осуществления настоящего изобретения могут содержать или использовать компьютер специального назначения или общего назначения, включающий в себя компьютерные аппаратные средства, как подробнее поясняется ниже. Варианты осуществления в пределах объема настоящего изобретения также включают в себя физические и другие машиночитаемые носители для переноса или сохранения машиноисполняемых инструкций и/или структур данных. Эти машиночитаемые носители могу представлять собой любые доступные носители, к которым можно осуществлять доступ посредством компьютерной системы общего назначения или специального назначения. Машиночитаемые носители, которые сохраняют машиноисполняемые инструкции, представляют собой физические носители хранения данных. Машиночитаемые носители, которые переносят машиноисполняемые инструкции, представляют собой передающие среды. Таким образом, в качестве примера, а не ограничения, варианты осуществления изобретения могут содержать, по меньшей мере, два совершенно различных типа машиночитаемых носителей: физические машиночитаемые носители хранения данных и машиночитаемые передающие среды.
[0068] Физические машиночитаемые носители хранения данных включают в себя RAM, ROM, EEPROM, CD-ROM или другое устройство хранения данных на оптических дисках (такое как CD, DVD и т.д.), устройство хранения данных на магнитных дисках либо другие магнитные устройства хранения данных или любой другой носитель, который может использоваться для того, чтобы сохранять требуемое средство программного кода в форме машиноисполняемых инструкций или структур данных, и к которому может осуществляться доступ посредством компьютера общего назначения или специального назначения.
[0069] "Сеть" задается как одна или более линий связи для передачи данных, которые обеспечивают транспортировку электронных данных между компьютерными системами и/или модулями и/или другими электронными устройствами. Когда информация передается или предоставляется по сети или другим соединениям связи (проводным, беспроводным либо комбинации проводных и беспроводных) в компьютер, компьютер надлежащим образом рассматривает соединение в качестве передающей среды. Передающие среды могут включать в себя сеть и/или линии связи для передачи данных, которые могут использоваться для того, чтобы переносить требуемое средство программного кода в форме машиноисполняемых инструкций или структур данных, и к которым может осуществляться доступ посредством компьютера общего назначения или специального назначения. Комбинации вышеперечисленного также включаются в число машиночитаемых носителей.
[0070] Дополнительно, при достижении различных компонентов компьютерной системы, средство программного кода в форме машиноисполняемых инструкций или структур данных может передаваться автоматически из машиночитаемых передающих сред в физические машиночитаемые носители хранения данных (или наоборот). Например, машиноисполняемые инструкции или структуры данных, принимаемые по сети или линии связи для передачи данных, могут буферизоваться в RAM в пределах сетевого интерфейсного модуля (например, NIC) и затем в конечном счете передаваться в RAM компьютерной системы и/или в менее энергозависимые машиночитаемые физические носители хранения данных в компьютерной системе. Таким образом, машиночитаемые физические носители хранения данных могут быть включены в компоненты компьютерной системы, которые также (или даже главным образом) используют передающие среды.
[0071] Машиночитаемые инструкции содержат, например, инструкции и данные, которые инструктируют компьютеру общего назначения, компьютеру специального назначения или устройству обработки специального назначения выполнять определенную функцию или группу функций. Машиноисполняемые инструкции, например, могут представлять собой двоичные файлы, инструкции в промежуточном формате, к примеру, на языке ассемблера или даже в исходном коде. Хотя изобретение описано на языке, характерном для структурных признаков и/или технологических этапов, следует понимать, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен описанными признаками или этапами, описанными выше. Наоборот, описанные признаки и этапы раскрываются как примерные формы реализации формулы изобретения.
[0072] Специалисты в данной области техники должны принимать во внимание, что изобретение может осуществляться на практике в сетевых вычислительных окружениях с множеством типов конфигураций компьютерных систем, включающих в себя персональные компьютеры, настольные компьютеры, переносные компьютеры, процессоры сообщений, карманные устройства, многопроцессорные системы, микропроцессорные или программируемые бытовые электронные приборы, сетевые PC, миникомпьютеры, мэйнфреймы, мобильные телефоны, PDA, устройства поискового вызова, маршрутизаторы, коммутаторы и т.п. Изобретение также может осуществляться на практике в распределенных системных окружениях, в которых локальные и удаленные компьютерные системы, которые соединены (посредством проводных линий связи для передачи данных, беспроводных линий связи для передачи данных или посредством комбинации проводных и беспроводных линий связи для передачи данных) через сеть, выполняют задачи. В распределенном системном окружении, программные модули могут размещаться как в локальных, так и в удаленных запоминающих устройствах.
[0073] Альтернативно или помимо этого, функциональность, описанная в данном документе, может выполняться, по меньшей мере, частично, посредством одного или более аппаратных логических компонентов. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут использоваться, включают в себя программируемые пользователем вентильные матрицы (FPGA), специализированные интегральные схемы (ASIC), специализированные микросхемы для массового производства (ASSP), внутрикристальные системы (SOC), комплексные программируемые логические устройства (CPLD) и т.д.
[0074] Настоящее изобретение может быть осуществлено в других характерных формах без отступления от своей сущности или характеристик. Описанные варианты осуществления должны рассматриваться во всех отношениях только как иллюстративные, а не ограничивающие. Следовательно, объем изобретения указан посредством прилагаемой формулы изобретения, а не посредством вышеприведенного описания. Все изменения, которые подпадают под смысл и рамки равнозначности формулы изобретения, должны охватываться ее объемом.