СПОСОБ И СИСТЕМА ДЛЯ ОБРАБОТКИ ДАННЫХ
DATA PROCESSING METHOD AND SYSTEM

Область техники
Изобретение относится к области техники компьютерных сетей и, в частности, к способу и системе обработки данных.
Уровень техники
Компьютерная сеть обычно имеет источник данных на основе древовидной структуры, например различные папки и файлы, расположенные в них, в файловой службе. Существующее решение для определения местоположения файла состоит в том, чтобы сохранить информацию узла файла в реляционной базе данных в дополнение к данным самого файла, реляционная база данных также сохраняет информацию отношения между файлом или папкой и ее родительским каталогом, и пользователь может найти родительский каталог, в котором расположен файл или папка, через идентификацию файла или папки и, таким образом, может далее проследить путь до корневого каталога.
В случае очень большого объема данных скорость чтения и записи реляционной базы данных медленная, тем самым это влияет на эффективность пользовательской обработки данных.
Сущность изобретения
Ввиду этого изобретение обеспечивает способ и систему обработки данных, которые могут повысить эффективность пользовательской обработки данных, имеющих древовидную структуру.
Чтобы достигнуть упомянутой выше цели, в соответствии с одним аспектом изобретения обеспечен способ обработки данных.
Способ обработки данных изобретения содержит этапы, на которых: определяют местоположение первого сервера кэширования в распределенной системе кэширования после приема запроса обработки данных от пользователя; первый сервер кэширования строит дерево кэширования в его собственной памяти в соответствии с информацией отношения между файлом или папкой и его родительским каталогом в реляционной базе данных, дерево кэширования сохраняет данные под корневым узлом, соответствующим данным, указанным в запросе обработки данных, в древовидной структуре; и определяют местоположение узла, в котором расположены данные, указанные в запросе обработки данных, сохраненных в дереве кэширования, и затем обрабатывают данные в узле и возвращают результат обработки пользователю.
Опционально последовательность операций построения дерева кэширования в его собственной памяти содержит: этап A, на котором определяют корневой узел, соответствующий данным, указанным в запросе обработки данных, и сохраняют корневой узел в стеке; этап B, на котором оценивают, пуст ли стек, и если да, останавливают последовательность операций, иначе переходят на этап C; этап C, на котором изымают узел наверху стека из стека; этап D, на котором оценивают, является ли узел, изъятый из стека, концевым узлом, и если да, возвращаются на этап B, иначе переходят на этап E; и этап E, на котором собирают данные всех подузлов узла, изъятого из стека на этапе C, в реляционной базе данных в соответствии с информацией отношения, сохраняют подузлы под узлом, изъятым из стека на этапе C, в дереве кэширования, сохраняют подузлы в стеке и затем возвращаются на этап B.
Опционально этап обработки данных в узле содержит: чтение/запись данных в узле, удаление данных в узле, добавления к узлу нового подузла, переименование узла или перемещение узла.
Опционально способ дополнительно содержит сохранение метки времени для обработки узла в дереве кэширования.
Опционально после этапа построения дерева кэширования в его собственной памяти способ дополнительно содержит сохранение идентификатора пользователя в корневом узле дерева кэширования.
В соответствии с другим аспектом изобретения обеспечена система для обеспечения данных.
Система для обеспечения данных изобретения содержит: модуль определения местоположения для определения местоположения первого кэш-буфера в распределенной системе кэширования после приема запроса обработки данных от пользователя; модуль построения дерева кэширования для построения дерева кэширования в его собственной памяти в соответствии с информацией отношения между файлом или папкой и его родительским каталогом в реляционной базе данных, дерево кэширования сохраняет данные под корневым узлом, соответствующим данным, указанным в запросе обработки данных, в древовидной структуре; и модуль обеспечения для определения местоположения узла, в котором расположены данные, указанные в запросе обработки данных, сохраненных в дереве кэширования, и затем обработки данных в узле и возврата результата обработки пользователю.
Опционально модуль построения дерева кэширования дополнительно используется для построения дерева кэширования в соответствии со следующей последовательностью операций: этап A: определение корневого узла, соответствующего данным, указанным в запросе обработки данных, и сохранение корневого узла в стеке; этап B: оценка, пуст ли стек, и если да, остановка последовательности операций, иначе переход на этап C; этап C: изъятие узла наверху стека из стека; этап D: оценка, является ли узел, изъятый из стека, концевым узлом, и если да, возврат на этап B, иначе переход на этап E; и этап E: сбор данных всех подузлов узла, изъятого из стека на этапе C, в реляционной базе данных в соответствии с информацией отношения, сохранение подузлов под узлом, изъятым из стека на этапе C, в дереве кэширования, сохранение подузлов в стеке и затем возврат на этап B.
Опционально модуль построения дерева кэширования дополнительно используется для чтения/записи данных в узле в дереве кэширования, удаления данных в узле, добавления к узлу нового подузла, переименования узла или перемещения узла.
Опционально система дополнительно содержит модуль метки времени для сохранения метки времени для обработки узла в дереве кэширования.
Опционально модуль построения дерева кэширования дополнительно используется для сохранения идентификатора пользователя в корневом узле дерева кэширования.
В соответствии с техническим решением изобретения дерево кэширования строится на сервере кэширования в соответствии с файлом в реляционной базе данных, данные узла в дереве кэширования обрабатываются, и поскольку чтение и запись кэша имеют характеристику сравнительно высокой скорости, эффективность обработки данных, имеющих древовидную структуру, улучшается. Кроме того, поскольку операции пользователя после входа в систему обычно затрагивают множество узлов под одним корневым узлом, и построенное дерево кэширования содержит эти узлы, эффективность пользовательской обработки данных в множестве узлов может быть значительно улучшена в случае, когда было построено дерево кэширования.
Краткое описание чертежей
Фигуры используются для лучшего понимания изобретения и не образуют ненадлежащие ограничения изобретения.
Фиг. 1 - топологическая схема соединения различных видов серверов в соответствии с вариантом осуществления изобретения;
Фиг. 2 - схема последовательности операций построения дерева кэширования в соответствии с вариантом осуществления изобретения; и
Фиг. 3 - схема основных модулей системы для обеспечения данных в соответствии с вариантом осуществления изобретения.
Подробное описание
Ниже дано описание иллюстративных вариантов осуществления изобретения с учетом фигур, которое включает в себя различные подробные сведения о вариантах осуществления изобретения для обеспечения понимания, и которое должно рассматриваться лишь как иллюстративное. Таким образом, специалисты в области техники должны понять, что описанные здесь варианты осуществления могут быть различным образом изменены и модифицированы без отступления от объема и сущности изобретения. Аналогичным образом, для разъяснения и краткости в приведенных ниже описаниях опущены описания общих функций и структур.
В варианте осуществления распределенная система кэширования применена к кэшированным данным в реляционной базе данных. Данные имеют древовидную структуру, и всем известно, что большинство существующих методик распределенного кэширования хранит данные с помощью метода "ключ-значение", таким образом, в варианте осуществления сервер кэширования в соответствии с данными в реляционной базе данных и идентификацией файла или папки, указанной пользователем, строит дерево кэширования, содержащее файл или папку, затем определяет местонахождение узла в дереве кэширования, и затем обрабатывает данные в узле в соответствии с требованием пользователя, и это включает в себя чтение/запись данных в узле, удаление данных в узле, добавление к узлу нового подузла, переименование узла или перемещение узла.
Фиг. 1 является топологической схемой соединения различных видов серверов в соответствии с вариантом осуществления изобретения. Терминальное устройство 11, используемое пользователем, отправляет запрос обработки данных серверу 13 приложений через Интернет 12, сервер 13 приложений применяет алгоритм определения местоположения, чтобы определить местоположение сервера кэширования, например, сервера 161 кэширования из кластера 161 серверов кэширования и затем отправляет команду обработки данных серверу 161 кэширования, кэш-буфер 161 строит дерево 161 кэширования в соответствии с данными в реляционной базе данных, затем сервер 15 контроля соответствия использует механизм контроля соответствия, чтобы проверить, являются ли данные, которые будет обрабатывать пользователь, самыми новыми, обрабатывает данные в указанном пользователем узле в соответствии с командой обработки данных после прохождения проверки, выполняет сохранение в реляционной базе данных и возвращает информацию о результате обработки серверу 13 приложений, и сервер 13 приложений предоставляет информацию о результате обработки пользователю.
Фиг. 2 является схемой последовательности операций построения дерева кэширования в соответствии с вариантом осуществления изобретения. Как показано на фиг. 2, дерево кэширования может быть создано посредством применения следующей последовательности операций.
Этап S21: Определение корневого узла, соответствующего данным, указанным в запросе обработки данных, и сохранение корневого узла в стеке.
Этап S22: Оценка, является ли стек пустым. Если стек не пуст, выполняется переход на этап S23, и если стек пуст, что указывает на то, что дерево кэширования было построено, последовательность операций останавливается, и идентификатор пользователя может быть сохранен в корневом узле.
Этап S23: Изъятие узла наверху стека из стека.
Этап S24: Оценка, является ли узел, изъятый из стека, концевым узлом, если это так, возврат на этап S22, иначе переход на этап S25.
Этап S25: Сбор данных всех подузлов узла, изъятого из стека на этапе S23, в реляционной базе данных в соответствии с информацией отношения между файлом или папкой и ее родительским каталогом, сохранение подузлов под узлом, изъятым из стека на этапе S23, в дереве кэширования, сохранение подузлов в стеке и затем возврат на этап S22.
Когда этап S22 выполняется первый раз, поскольку корневой узел находится в стеке, стек не пуст. Поскольку стек имеет характеристику "первым пришел - последним вышел", сначала в дереве кэширования будет существовать узел, продвинутый в стек последним, и его подузлы. Например, под корневым узлом A существуют узлы B, C, D, причем узел D имеет подузлы D1, D2 и узлы D1, D2 не имеют подузлов, т.е. они являются концевыми узлами, данные, указанные в запросе обработки данных, находятся в узле D1, тогда корневой узел A определяется на этапе S21, узел D продвигается в стек последним на этапе S25, и узел D забирается из стека после возврата на этап S23; подузлы D1, D2 узла D обрабатываются на этапе S25, затем обрабатывается узел C, и в это время узлы D, D1, D2 все существуют в дереве кэширования.
В случае когда дерево кэширования было сформировано, становится очень легко искать узел. Состояние, в котором под корневым узлом A существуют узлы B, C, D, причем узел D имеет подузлы D1, D2, по-прежнему берется в качестве примера, отыскивается корневой узел, в котором расположен идентификатор пользователя, т.е. корневой узел A, затем собираются данные всех подузлов B, C, D корневого узла A, затем отыскиваются подузлы под узлами B, C, D, и, наконец, подузел D1 отыскивается под узлом D. После выполнения операции подузла D1 может быть сохранена метка времени операции для использования для проверки соответствия.
Фиг. 3 является схемой основных модулей системы для обеспечения данных в соответствии с вариантом осуществления изобретения. Как показано на фиг. 3, система 30 для обеспечения данных в основном содержит модуль 31 определения местоположения, модуль 32 построения дерева кэширования и модуль 33 обеспечения. Причем модуль 31 определения местоположения может быть размещен на сервере 13 приложений, и модуль 32 построения дерева кэширования и модуль 33 обеспечения могут быть размещены на соответствующих серверах кэширования в кластере 16 серверов кэширования.
Модуль 31 определения местоположения используется для определения местоположения первого кэш-буфера в распределенной системе кэширования после приема запроса обработки данных от пользователя; модуль 32 построения дерева кэширования используется для построения дерева кэширования в его собственной памяти в соответствии с информацией отношения между файлом или папкой и его родительским каталогом в реляционной базе данных, дерево кэширования сохраняет данные под корневым узлом, соответствующим данным, указанным в запросе обработки данных в древовидной структуре; и модуль 33 обеспечения используется для определения местоположения узла, в котором расположены данные, указанные в запросе обработки данных, сохраненных в дереве кэширования, и затем обработки данных в узле и возврата результата обработки пользователю.
Модуль 32 построения дерева кэширования может дополнительно использоваться для построения дерева кэширования в соответствии с последовательностью операций, как показано на фиг. 2; может дополнительно использоваться для чтения/записи данных в узле в дереве кэширования, удаления данных в узле, добавления к узлу нового подузла, переименования узла или перемещения узла; и, кроме того, может дополнительно использоваться для сохранения идентификатора пользователя пользователя в корневом узле дерева кэширования.
Система 30 для обеспечения данных может дополнительно содержать модуль метки времени (не показан) для сохранения метки времени для обработки узла в дереве кэширования. Модуль метки времени может быть размещен на сервере 15 контроля соответствия.
В соответствии с техническим решением варианта осуществления изобретения дерево кэширования строится на сервере кэширования в соответствии с файлом в реляционной базе данных, данные узла в дереве кэширования обрабатываются, и поскольку чтение и запись кэша имеют характеристику сравнительно высокой скорости, эффективность обработки данных, имеющих древовидную структуру, улучшается. Кроме того, поскольку операции пользователя после входа в систему обычно затрагивают множество узлов под одним корневым узлом, и построенное дерево кэширования содержит эти узлы, эффективность пользовательской обработки данных в множестве узлов может быть значительно улучшена в случае, когда было построено дерево кэширования.
Выше описан основной принцип изобретения с рассмотрением вариантов осуществления, но следует отметить, что специалисты в области техники смогут понять все или любые из этапов или компонентов способа и устройства изобретения и могут выполнить реализацию в любом вычислительном устройстве (в том числе в процессоре, запоминающем носителе и т.д.) или в сети вычислительных устройств с помощью аппаратных средств, программного обеспечения или их комбинации. Это может быть достигнуто специалистами в области техники лишь с использованием базовой квалификации программирования в случае прочтения описаний изобретения.
Таким образом, цель изобретения может быть дополнительно достигнута посредством исполнения программы или группы программ на любом вычислительном устройстве. Вычислительное устройство может представлять собой типичное универсальное устройство. Таким образом, цель изобретения также может быть достигнута посредством лишь обеспечения программного продукта, содержащего программный код для реализации способа или устройства. То есть, такой программный продукт также представляет изобретение, и запоминающий носитель, хранящий такой программный продукт, также представляет изобретение. Очевидно, запоминающий носитель может представлять собой любой типичный запоминающий носитель или любой запоминающий носитель, который будет разработан в будущем.
Также следует отметить, что в устройстве и способе изобретения соответствующие компоненты или соответствующие этапы очевидным образом могут быть разделены и/или перекомпонованы. Эти разделения и/или перекомпоновки следует рассматривать как эквивалентные решения изобретения. Кроме того, этапы для выполнения упомянутой выше последовательности процессов могут быть естественным образом хронологически выполнены в описанном порядке, но не обязательно выполнены хронологически. Некоторые этапы могут быть выполнены параллельно или независимо друг от друга.
Описанные выше варианты осуществления не представляют ограничение объема защиты изобретения. Специалисты в области техники должны понять, что в зависимости от требований для конфигурации и других факторов могут возникнуть различные модификации, комбинации, субкомбинации и замены. Любая модификация, эквивалентная замена, улучшение и т.п., сделанные в пределах сущности и принципов изобретения, должны содержаться в пределах защиты изобретения.