[go: up one dir, main page]

RU2768615C1 - Data storage system according to data storage profile - Google Patents

Data storage system according to data storage profile Download PDF

Info

Publication number
RU2768615C1
RU2768615C1 RU2020143435A RU2020143435A RU2768615C1 RU 2768615 C1 RU2768615 C1 RU 2768615C1 RU 2020143435 A RU2020143435 A RU 2020143435A RU 2020143435 A RU2020143435 A RU 2020143435A RU 2768615 C1 RU2768615 C1 RU 2768615C1
Authority
RU
Russia
Prior art keywords
data
data storage
profile
accordance
network card
Prior art date
Application number
RU2020143435A
Other languages
Russian (ru)
Inventor
Андрей Викторович Чернышев
Original Assignee
Общество С Ограниченной Ответственностью "Дельта Солюшнс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Дельта Солюшнс" filed Critical Общество С Ограниченной Ответственностью "Дельта Солюшнс"
Priority to RU2020143435A priority Critical patent/RU2768615C1/en
Application granted granted Critical
Publication of RU2768615C1 publication Critical patent/RU2768615C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

FIELD: physics.SUBSTANCE: invention relates to computer engineering. Data storage system in accordance with a data storage profile comprises: a user computing device; external multiplexer; first internal network card; two remote servers, wherein each remote server comprises: a processor; memory; memory controller; input-output unit; network interface for receiving and transmitting data; first and second data storage devices.EFFECT: improvement of reliability of data storage with simultaneous increase of data protection level in accordance with data storage profile.6 cl, 1 dwg

Description

Область техникиTechnical field

[0001] Изобретение относится к области вычислительной техники, более конкретно, к средствам для распределенного хранения данных.[0001] The invention relates to the field of computer technology, more specifically, to means for distributed data storage.

Уровень техникиState of the art

[0002] В настоящее время существует множество систем распределенного хранения данных. Одним из примеров таких систем является система распределенного децентрализованного хранения данных и их извлечения, описанная в US 2012/0096127 A1. Известная система обеспечивает распределенное децентрализованное хранение и поиск данных в расширяемой среде SOAP. Система предусматривает получение битового потока, разделение битового потока на множество фрагментов, вычисление хеш-значений для каждого из множества фрагментов, где каждое хеш-значение задается на основе конкатенации идентификатора битового потока, передачу множества сообщений о хранении фрагментов, передачу, по меньшей мере частично, основанную на консультации с локальной таблицей маршрутизации первого узла процессора, чтобы определить, соответствует ли адрес узла процессора получателя соседнему сетевому узлу первого узла процессора, узел процессора получателя, содержащий службу хранилища фрагментов, которая делит полученный фрагмент на множество фрагментов, кодирует фрагмент в проверочный блок и передает проверочный блок службе хранилища фрагментов.[0002] Currently, there are many distributed storage systems. One example of such systems is the distributed decentralized data storage and retrieval system described in US 2012/0096127 A1. The known system provides distributed decentralized storage and retrieval of data in an extensible SOAP environment. The system provides for obtaining a bitstream, dividing the bitstream into a plurality of fragments, calculating hash values for each of the plurality of fragments, where each hash value is given based on the concatenation of a bitstream identifier, transmitting a plurality of fragment storage messages, transmitting, at least in part, based on consultation with the local routing table of the first processor node to determine if the destination processor node address matches the neighboring network node of the first processor node, the destination processor node containing a fragment store service that divides the received fragment into a plurality of fragments, encodes the fragment into a parity block, and passes the validation block to the fragment store service.

[0003] Однако известному решению присущи недостатки. Недостаток известного решения заключается в низкой надежности хранения данных, поскольку известное решение несмотря на использование нескольких запоминающих устройств, не использует технологию хранения данных в соответствии с их профилем. Более того, в известном решении в связи с вышесказанным низкий уровень защиты данных, поскольку в нем не используются параметры хранения данных.[0003] However, the known solution has disadvantages. The disadvantage of the known solution lies in the low reliability of data storage, since the known solution, despite the use of several storage devices, does not use the technology of data storage in accordance with their profile. Moreover, in the known solution, in connection with the above, the level of data protection is low, since it does not use data storage parameters.

Раскрытие изобретенияDisclosure of invention

[0004] Задачей изобретения является устранение указанных выше недостатков.[0004] The objective of the invention is to eliminate the above disadvantages.

[0005] Техническим результатом при этом является повышение надежности хранения данных с одновременным повышением уровня защиты данных в соответствии с профилем хранения данных.[0005] The technical result is to increase the reliability of data storage while increasing the level of data protection in accordance with the data storage profile.

[0006] Для достижения технического результата предложена система хранения данных в соответствии с профилем хранения данных, содержащая: вычислительное устройство пользователя, выполненное с возможностью передачи данных на удаленные серверы для их последующего сохранения в устройствах хранения данных, при этом вычислительное устройство пользователя создает профиль хранения данных, в соответствии с которым определяются параметры хранения данных в упомянутых устройствах хранения данных; при этом, вычислительное устройство пользователя при создании упомянутого профиля выполнено с возможностью: а) преобразования данных, подлежащих сохранению в упомянутых устройствах хранения данных, в хеш-строку посредством алгоритма хеширования в соответствии с профилем хранения данных, где при выполнении алгоритма хеширования данным присваивается значение хеширования; б) формирования пакета передачи данных для передачи данных упомянутым устройствам хранения данных, где сформированный пакет содержит сетевые адреса сетевых интерфейсов удаленных серверов и значение хеширования в соответствии с профилем хранения данных; и в) приема от упомянутых устройств хранения данных пакета данных с последующим извлечением данных из упомянутого пакета данных и обратным преобразованием данных из хеш-строки в соответствии с профилем хранения данных; по меньшей мере, один внешний мультиплексор, выполненный с возможностью приема от вычислительного устройства пользователя пакета данных в соответствии с профилем хранения данных и их передачи, по меньшей мере, первой внутренней сетевой карте, а также с возможностью приема от первой внутренней сетевой карты пакета данных в соответствии с профилем хранения данных и их передачи вычислительному устройству пользователя; первую внутреннюю сетевую карту, выполненную с возможностью приема от упомянутого мультиплексора пакета данных в соответствии с профилем хранения данных и его передачи сетевому интерфейсу, по меньшей мере, одного удаленного сервера и приема от упомянутого сетевого интерфейса пакета данных с его последующей передачей упомянутому мультиплексору в соответствии с профилем хранения данных; по меньшей мере, два удаленных сервера, выполненных с возможностью приема от первой внутренней сетевой карты пакета данных в соответствии с профилем хранения данных и его передачи первому или второму устройству хранения данных, и с возможностью приема от упомянутых первого или второго устройства хранения пакета данных в соответствии с профилем хранения данных с его последующей передачей первой внутренней сетевой карте; при этом каждый удаленный сервер содержит: i) процессор, выполненный с возможностью генерирования управляющих инструкций в ответ на машиночитаемые команды, принятые от памяти; ii) память, выполненная с возможностью хранения машиночитаемых команд и соединенная с упомянутым процессором; iii) контроллер памяти, выполненный с возможностью управления устройством хранения данных для сохранения данных в соответствии с профилем хранения данных; iv) блок ввода-вывода, выполненный с возможностью передачи команд управления упомянутому процессору, и приема от упомянутого процессора результатов обработанных им команд; и v) сетевой интерфейс приема и передачи данных, выполненный с возможностью приема данных от первой внутренней сетевой карты и передачи к первой внутренней сетевой карте, при этом первый удаленный сервер соединен с первым устройством хранения данных, и второй удаленный сервер соединен со вторым устройством хранения данных, первое и второе устройства хранения данных, выполненных с возможностью хранения данных в соответствии с профилем хранения данных.[0006] To achieve a technical result, a data storage system is proposed in accordance with a data storage profile, comprising: a user's computing device configured to transfer data to remote servers for their subsequent storage in data storage devices, while the user's computing device creates a data storage profile , according to which the parameters of data storage in said data storage devices are determined; at the same time, the user's computing device, when creating the said profile, is configured to: a) convert the data to be stored in the mentioned data storage devices into a hash string by means of a hash algorithm in accordance with the data storage profile, where, when the hash algorithm is executed, the data is assigned a hash value ; b) generating a data transmission packet for transmitting data to said data storage devices, where the generated packet contains network addresses of network interfaces of remote servers and a hash value in accordance with the data storage profile; and c) receiving a data packet from said data storage devices, then extracting data from said data packet and inverting the data from the hash string in accordance with the data storage profile; at least one external multiplexer configured to receive a data packet from the user's computing device in accordance with the data storage profile and transmit them to at least the first internal network card, as well as to receive the data packet from the first internal network card in in accordance with the profile of data storage and transmission to the user's computing device; the first internal network card configured to receive a data packet from said multiplexer in accordance with the data storage profile and transmit it to a network interface of at least one remote server and receive a data packet from said network interface with its subsequent transmission to said multiplexer in accordance with storage profile; at least two remote servers configured to receive a data packet from the first internal network card in accordance with the data storage profile and transmit it to the first or second data storage device, and with the possibility of receiving the data packet from said first or second storage device in accordance with a data storage profile with its subsequent transfer to the first internal network card; wherein each remote server includes: i) a processor configured to generate control instructions in response to machine-readable instructions received from memory; ii) a memory configured to store machine-readable instructions and coupled to said processor; iii) a memory controller configured to control the storage device to store data in accordance with the storage profile; iv) an I/O unit configured to transmit control commands to said processor and receive from said processor the results of the commands it has processed; and v) a network interface for receiving and transmitting data, configured to receive data from the first internal network card and transmit to the first internal network card, wherein the first remote server is connected to the first data storage device, and the second remote server is connected to the second data storage device , first and second data storage devices configured to store data in accordance with the data storage profile.

[0007] Дополнительно каждый из упомянутых удаленных серверов содержит второй сетевой интерфейс приема и передачи данных.[0007] Additionally, each of said remote servers includes a second network interface for receiving and transmitting data.

[0008] Дополнительно система содержит вторую внутреннюю сетевую карту, выполненную с возможностью подключения к упомянутому второму сетевому интерфейсу, приема и передачи пакетов данных в соответствии с профилем хранения данных, при этом вторая внутренняя сетевая карта выполнена с возможностью распределения нагрузки между несколькими каналами вместе с первой внутренней сетевой картой при возникновении перегруженности сети и/или для резервирования сетевых подключений.[0008] Additionally, the system comprises a second internal network card configured to connect to the said second network interface, receive and transmit data packets in accordance with the data storage profile, while the second internal network card is configured to distribute the load among several channels together with the first internal network card in case of network congestion and / or for redundant network connections.

[0009] Дополнительно данные, в соответствии с профилем хранения данных, делятся, по меньшей мере, на две части, где каждая часть содержит свой сетевой адрес сетевого интерфейса удаленного сервера для последующей передачи упомянутому серверу и сохранения в устройстве хранения данных.[0009] Additionally, the data, in accordance with the data storage profile, is divided into at least two parts, where each part contains its network address of the network interface of the remote server for subsequent transmission to the said server and storage in the data storage device.

[0010] Дополнительно первое устройство хранения данных выполнено с возможностью сохранения первой части данных, а второе устройство хранения данных выполнено с возможностью сохранения второй части данных в соответствии с параметрами хранения данных, заданными в профиле хранения данных.[0010] Additionally, the first data storage device is configured to store the first part of the data, and the second data storage device is configured to store the second part of the data in accordance with the data storage parameters specified in the data storage profile.

[0011] Дополнительно контроллер памяти является SATA-контроллером или ATA-контроллером.[0011] Additionally, the memory controller is a SATA controller or an ATA controller.

[0012] Очевидно, что как предыдущее общее описание, так и последующее подробное описание даны лишь для примера и пояснения и не являются ограничениями данного изобретения.[0012] Obviously, both the foregoing general description and the following detailed description are for exemplary and illustrative purposes only and are not limitations of the present invention.

Краткое описание чертежейBrief description of the drawings

[0013] Фиг. 1 – схематичное изображение системы хранения данных в соответствии с профилем хранения данных.[0013] FIG. 1 is a schematic representation of a storage system according to a storage profile.

Осуществление изобретенияImplementation of the invention

[0014] Различные аспекты или признаки, описанные в данном документе, могут быть реализованы как система, устройство или изделие с помощью стандартных программно-аппаратных средств. Термин «изделие» при использовании в данном документе имеет намерением содержать в себе вычислительную программу, доступную из любого машиночитаемого устройства, носителя или среды. Например, машиночитаемые носители могут включать в себя, но не только, магнитные устройства хранения (к примеру, жёсткий диск, гибкий диск, магнитную ленту и т.д.), оптические диски (к примеру, компакт-диск (CD), универсальный цифровой диск (DVD), смарт-карты и устройства флэш-памяти (к примеру, EPROM, карточка, карта, флэш-диск и т.д.). Дополнительно различные носители хранения, описанные в данном документе, могут представлять одно или более устройств и/или других машиночитаемых носителей для хранения информации. Термин «машиночитаемый носитель» может включать в себя, без ограничений, беспроводные каналы и различные другие носители, допускающие хранение, размещение и/или перенос команд(ы) и/или данных. Данные в заявленном решении могут передаваться между устройствами с помощью шин данных, с помощью стандартных сетевых средств обмена данными (например, CAN, Ethernet, Token Ring), с помощью обмена данными через общую оперативную память, с помощью обмена данными через файл в файловой системе, с помощью интегральных схем обмена данными по шинам данных, с помощью использования систем управления баз данных и т.д. Конкретный способ обмена данными между компонентами устройства не влияет на суть данного изобретения.[0014] Various aspects or features described herein may be implemented as a system, device, or product using standard firmware. The term "article of manufacture" as used herein is intended to include a computer program accessible from any computer-readable device, medium or medium. For example, computer-readable media may include, but is not limited to, magnetic storage devices (e.g., hard disk, floppy disk, magnetic tape, etc.), optical discs (e.g., compact disc (CD), universal digital disc (DVD), smart cards, and flash memory devices (eg, EPROM, card, card, flash disk, etc.) Additionally, the various storage media described herein may represent one or more devices and /or other computer-readable media for storing information The term "computer-readable media" may include, without limitation, wireless channels and various other media capable of storing, locating and/or transferring instruction(s) and/or data. can be transferred between devices using data buses, using standard network communication tools (e.g. CAN, Ethernet, Token Ring), using data exchange via shared RAM, using data exchange via a file in a file system system, using integrated circuits for data exchange via data buses, using database management systems, etc. The specific method of data exchange between the components of the device does not affect the essence of the present invention.

[0015] Следует принимать во внимание, что память, входящая в состав устройств в данном документе, может быть энергозависимыми запоминающими устройствами или энергонезависимыми запоминающими устройствами, либо может включать в себя и энергозависимое, и энергонезависимое запоминающее устройство. В качестве иллюстрации, но не ограничения, память может включать в себя постоянное запоминающее устройство (ROM), программируемое ROM (PROM), электрически программируемое ROM (EPROM), электрически стираемое PROM (EEPROM), флэш-память (SSD), жесткий диск (HDD), компакт-диск (CD), DVD-диск. Энергозависимое запоминающее устройство может включать в себя синхронное RAM (SRAM), динамическое RAM (DRAM), синхронное DRAM (SDRAM), SDRAM с двойной скоростью передачи данных (DDR SDRAM), улучшенное SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и direct Rambus RAM (DRRAM).[0015] It should be appreciated that the memory included in the devices herein may be volatile storage devices or non-volatile storage devices, or may include both volatile and non-volatile storage. By way of illustration, and not limitation, memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), flash memory (SSD), hard disk ( HDD), compact disc (CD), DVD disc. The volatile memory may include synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).

[0016] Следует принимать во внимание, что память в данном документе, может быть энергозависимыми запоминающими устройствами или энергонезависимыми запоминающими устройствами, либо может включать в себя и энергозависимое, и энергонезависимое запоминающее устройство. В качестве иллюстрации, но не ограничения, память может включать в себя постоянное запоминающее устройство (ROM), программируемое ROM (PROM), электрически программируемое ROM (EPROM), электрически стираемое PROM (EEPROM), флэш-память (SSD), жесткий диск (HDD), компакт-диск (CD), DVD-диск. Энергозависимое запоминающее устройство может включать в себя синхронное RAM (SRAM), динамическое RAM (DRAM), синхронное DRAM (SDRAM), SDRAM с двойной скоростью передачи данных (DDR SDRAM), улучшенное SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и direct Rambus RAM (DRRAM).[0016] It should be appreciated that memory, as used herein, may be volatile storage devices or non-volatile storage devices, or may include both volatile and non-volatile storage devices. By way of illustration, and not limitation, memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), flash memory (SSD), hard disk ( HDD), compact disc (CD), DVD disc. The volatile memory may include synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).

[0017] Схематическое изображение заявленной системы 100 хранения данных в соответствии с профилем хранения данных показано на фиг. 1. Система 100 содержит вычислительное устройство 101 пользователя, по меньшей мере, один внешний мультиплексор 102, первая внутренняя сетевая карта 103a, по меньшей мере, два удаленных сервера 104а, 104b, первое 110а и второе 110b устройства хранения данных. При этом упомянутые вычислительное устройство 101 пользователя, по меньшей мере, один внешний мультиплексор 102, первая внутренняя сетевая карта 103a, по меньшей мере, два удаленных сервера 104а, 104b, первое 110а и второе 110b устройства хранения данных соединены между собой двухсторонней связью посредством сети 111 приёма-передачи данных. Данная сеть может быть, как проводной сетью приёма-передачи данных, так и беспроводной сетью приёма-передачи данных. Каждый из упомянутых серверов 104а, 104b содержит сетевой интерфейс 105а, 105b, процессор 107а, 107b, память 108а, 108b, контроллер памяти 109а, 109b и блок 112а, 112b ввода-вывода. В дополнительной реализации система 100 может содержать вторую внутреннюю сетевую карту 103b, а каждый из упомянутых серверов 104а, 104b может содержать второй сетевой интерфейс 112а, 112b. Необходимо отметить, что упомянутых серверов может быть более двух, а указание на наличие двух серверов дано лишь для общего понимания данного технического решения.[0017] A schematic representation of the claimed storage system 100 in accordance with the storage profile is shown in FIG. 1. System 100 includes a user computing device 101, at least one external multiplexer 102, a first internal network card 103a, at least two remote servers 104a, 104b, a first storage device 110a and a second 110b. At the same time, the said computing device 101 of the user, at least one external multiplexer 102, the first internal network card 103a, at least two remote servers 104a, 104b, the first 110a and the second 110b of the data storage device are interconnected by two-way communication through the network 111 receiving and transmitting data. This network can be either a wired network for receiving and transmitting data, or a wireless network for receiving and transmitting data. Each of said servers 104a, 104b includes a network interface 105a, 105b, a processor 107a, 107b, a memory 108a, 108b, a memory controller 109a, 109b, and an I/O unit 112a, 112b. In a further implementation, system 100 may include a second internal network card 103b, and each of said servers 104a, 104b may include a second network interface 112a, 112b. It should be noted that there may be more than two servers mentioned, and an indication of the presence of two servers is given only for a general understanding of this technical solution.

[0018] Вычислительное устройство 101 пользователя выполнено с возможностью передачи данных на удаленные серверы 104а, 104b для их последующего сохранения в устройствах 110а и 110b хранения данных. Вычислительное устройство 101 пользователя выполнено с возможностью создания профиля хранения данных, в соответствии с которым определяются параметры хранения данных в упомянутых устройствах 110а и 110b хранения данных. Также вычислительное устройство 101 пользователя при создании упомянутого профиля выполнено с возможностью: преобразования данных, подлежащих сохранению в упомянутых устройствах хранения данных, в хеш-строку посредством алгоритма хеширования в соответствии с профилем хранения данных, формирования пакета передачи данных для передачи данных упомянутым устройствам хранения данных и приема от упомянутых устройств хранения данных пакета данных с последующим извлечением данных из упомянутого пакета данных и обратным преобразованием данных из хеш-строки в соответствии с профилем хранения данных. При упомянутом выполнении алгоритма хеширования данным присваивается значение хеширования. При этом сформированный пакет содержит сетевые адреса сетевых интерфейсов удаленных серверов 104а, 104b и значение хеширования в соответствии с профилем хранения данных.[0018] The user computing device 101 is configured to transmit data to remote servers 104a, 104b for subsequent storage in data storage devices 110a and 110b. The user computing device 101 is configured to create a data storage profile according to which data storage parameters are determined in said data storage devices 110a and 110b. Also, the user's computing device 101, when creating said profile, is configured to: convert data to be stored in said data storage devices into a hash string by means of a hashing algorithm in accordance with the data storage profile, generate a data transmission packet for transmitting data to said data storage devices, and receiving a data packet from said data storage devices, followed by extracting data from said data packet and inversely converting the data from the hash string in accordance with the data storage profile. In said execution of the hash algorithm, the data is assigned a hash value. In this case, the generated packet contains the network addresses of the network interfaces of the remote servers 104a, 104b and the hash value in accordance with the data storage profile.

[0019] Данные, в соответствии с профилем хранения данных, делятся, по меньшей мере, на две части. Каждая часть содержит свой сетевой адрес сетевого интерфейса 105а, 105b удаленного сервера 104а, 104b для последующей передачи упомянутому серверу и сохранения в устройстве 110а, 110b хранения данных. Под параметрами, в контексте данного технического решения, могут подразумеваться индексы данных, данные о местоположении их хранения, метаданные о признаках и свойствах сохраняемых данных, информация о формате данных и т.д.[0019] The data, in accordance with the data storage profile, is divided into at least two parts. Each part contains its network address of the network interface 105a, 105b of the remote server 104a, 104b for subsequent transmission to said server and storage in the data storage device 110a, 110b. Parameters, in the context of this technical solution, may mean data indexes, data on the location of their storage, metadata about the features and properties of the stored data, information about the data format, etc.

[0020] По меньшей мере, один внешний мультиплексор 102 выполнен с возможностью приема от вычислительного устройства 101 пользователя пакета данных в соответствии с профилем хранения данных и их передачи, по меньшей мере, первой внутренней сетевой карте 103а. Также мультиплексор 102 выполнен с возможностью приема от первой внутренней сетевой карты 103а пакета данных в соответствии с профилем хранения данных и их передачи вычислительному устройству 101 пользователя. Специалисту в данной области техники очевидно, что мультиплексор 102 также может выполнять функции демултиплексора для обратного преобразования пакета данных.[0020] At least one external multiplexer 102 is configured to receive a data packet from the user computing device 101 in accordance with the data storage profile and transmit them to at least the first internal network card 103a. Also, the multiplexer 102 is configured to receive a data packet from the first internal network card 103a in accordance with the data storage profile and transmit them to the user's computing device 101. One of ordinary skill in the art will appreciate that multiplexer 102 can also act as a demultiplexer to demap a data packet.

[0021] Первая внутренняя сетевая карта 103а выполнена с возможностью приема от упомянутого мультиплексора 102 пакета данных в соответствии с профилем хранения данных и его передачи сетевому интерфейсу 105а, по меньшей мере, одного удаленного сервера 104а и приема от упомянутого сетевого интерфейса 105а пакета данных с его последующей передачей упомянутому мультиплексору 102 в соответствии с профилем хранения данных. Также необходимо отметить, что сетевая карта 103а может быть выполнена с возможностью передачи упомянутого пакета данных сетевым интерфейсам 105а, 105b, по меньшей мере, двух удаленных серверов 104а, 104b и приема от упомянутых сетевых интерфейсов 105а, 105b пакетов данных с их последующей передачей упомянутому мультиплексору 102 в соответствии с профилем хранения данных.[0021] The first internal network card 103a is configured to receive from said multiplexer 102 a data packet in accordance with the data storage profile and transmit it to the network interface 105a of at least one remote server 104a and receive from said network interface 105a a data packet with its subsequent transmission to said multiplexer 102 in accordance with the data storage profile. It should also be noted that the network card 103a can be configured to transmit said data packet to network interfaces 105a, 105b of at least two remote servers 104a, 104b and receive data packets from said network interfaces 105a, 105b with their subsequent transmission to said multiplexer 102 according to the storage profile.

[0022] По меньшей мере, два удаленных сервера 104а, 104b выполнены с возможностью приема от первой внутренней сетевой карты 103а пакета данных в соответствии с профилем хранения данных и его передачи первому 110а или второму 110b устройству хранения данных. Также сервера 104а, 104b выполнены с возможностью приема от упомянутых первого 110а или второго 110b устройства хранения пакета данных в соответствии с профилем хранения данных с его последующей передачей первой внутренней сетевой карте 103а. Каждый из упомянутых серверов содержит: процессор 107а, 107b, выполненный с возможностью генерирования управляющих инструкций в ответ на машиночитаемые команды, принятые от памяти 108а, 108b, память 108а, 108b, выполненную с возможностью хранения машиночитаемых команд и соединенную с упомянутым процессором 107а, 107b, контроллер 109а, 109b памяти, выполненный с возможностью управления устройством 110а, 110b хранения данных для сохранения данных в соответствии с профилем хранения данных, блок 112а, 112b ввода-вывода, выполненный с возможностью передачи команд управления упомянутому процессору 107а, 107b, и приема от упомянутого процессора 107а, 107b результатов обработанных им команд, и сетевой интерфейс 105а, 105b приема и передачи данных, выполненный с возможностью приема данных от первой внутренней сетевой карты 103а и передачи к первой внутренней сетевой карте 103а. Необходимо отметить, что первый удаленный сервер 104а соединен с первым устройством 110а хранения данных, а второй удаленный сервер 104b соединен со вторым устройством 110b хранения данных. Альтернативно, каждый из упомянутых серверов 104а, 104b может содержать второй сетевой интерфейс 106а, 106b приема и передачи данных, выполненный с возможностью приема данных от второй внутренней сетевой карты 103b и их передачи ко второй внутренней сетевой карте 103b. Альтернативно, каждый из упомянутых контроллеров 109а, 109b памяти может являться является SATA-контроллером или ATA-контроллером.[0022] At least two remote servers 104a, 104b are configured to receive a data packet from the first internal network card 103a in accordance with the storage profile and transmit it to the first 110a or second 110b storage device. Also, the servers 104a, 104b are configured to receive a data packet from said first 110a or second 110b storage device in accordance with the data storage profile and then transmit it to the first internal network card 103a. Each of said servers comprises: a processor 107a, 107b configured to generate control instructions in response to machine readable instructions received from memory 108a, 108b, a memory 108a, 108b configured to store machine readable instructions and connected to said processor 107a, 107b, a memory controller 109a, 109b configured to control the data storage device 110a, 110b to store data in accordance with a data storage profile, an I/O unit 112a, 112b configured to send control commands to and receive from said processor a result processor 107a, 107b of the results of the commands processed by it; and a data receiving and transmitting network interface 105a, 105b configured to receive data from the first internal network card 103a and transmit to the first internal network card 103a. Note that the first remote server 104a is connected to the first storage device 110a, and the second remote server 104b is connected to the second storage device 110b. Alternatively, each of said servers 104a, 104b may comprise a second data receiving and transmitting network interface 106a, 106b configured to receive data from the second internal network card 103b and transmit it to the second internal network card 103b. Alternatively, each of said memory controllers 109a, 109b may be a SATA controller or an ATA controller.

[0023] В вышеупомянутой альтернативе вторая внутренняя сетевая карта 103b выполнена с возможностью подключения к упомянутому второму сетевому интерфейсу 106а, 106b, приема и передачи пакетов данных в соответствии с профилем хранения данных. Вторая внутренняя сетевая карта 103b выполнена с возможностью распределения нагрузки между несколькими каналами вместе с первой внутренней сетевой картой 103а при возникновении перегруженности сети и/или для резервирования сетевых подключений.[0023] In the above alternative, the second internal network card 103b is configured to connect to said second network interface 106a, 106b, receiving and transmitting data packets in accordance with the data storage profile. The second internal network card 103b is configured to distribute the load among multiple channels together with the first internal network card 103a in case of network congestion and/or to redundant network connections.

[0024] Первое 110а и второе 110b устройства хранения данных выполнены с возможностью хранения данных в соответствии с профилем хранения данных. Первое устройство 110а хранения данных выполнено с возможностью сохранения первой части данных, а второе устройство 110b хранения данных выполнено с возможностью сохранения второй части данных в соответствии с параметрами хранения данных, заданными в профиле хранения данных.[0024] The first storage device 110a and second storage device 110b are configured to store data in accordance with the storage profile. The first storage device 110a is configured to store the first part of the data, and the second storage device 110b is configured to store the second part of the data according to the data storage parameters set in the storage profile.

[0025] Далее будет приведен пример реализации данного решения. На начальном этапе клиентском устройстве выполняется программа хранения. Программа хранения выполняется в соответствии с версией клиентской программы и параметрами хранения в целом. Далее пользователь выбирает данные для хранения в системе. После того, когда пользователь выбрал данные, которые необходимо сохранить, происходит преобразование данных в определенную хэш-строку и выполняется алгоритм хеширования. Вычисленное алгоритмом хеширования значение хеширования является необратимым и поэтому является эффективным подходом к защите данных и идентификационной информации. Затем пользовательским устройством 101 назначается профиль хранения. После назначения профиля, программа хранения определяет одно или несколько мест хранения в соответствии с профилем хранения. Профиль хранения и идентификационный(е) адрес(а) получателя могут быть записаны перед хешированием в пакеты данных. Затем пакеты данных передаются на один или несколько серверов хранения (104а, 104b), соответствующих назначенным местам хранения, которые, в свою очередь, осуществляют сохранение упомянутых данных в устройствах хранения 110а и/или 110b. В случае необходимости, пользовательское устройство 101 может осуществить обратный режим загрузки данных от упомянутых устройств хранения 110а и/или 110b.[0025] An example implementation of this solution will now be given. At the initial stage, the client device runs the storage program. The storage program runs according to the version of the client program and the storage settings in general. Next, the user selects the data to be stored in the system. After the user has selected the data to be stored, the data is converted into a specific hash string and the hashing algorithm is executed. The hash value computed by the hash algorithm is irreversible and therefore an effective approach to protecting data and identity information. Then, a storage profile is assigned to the user device 101. After assigning a profile, the storage program determines one or more storage locations according to the storage profile. The storage profile and recipient identification(s) address(es) may be written to the data packets before hashing. The data packets are then transferred to one or more storage servers (104a, 104b) corresponding to the designated storage locations, which in turn store said data in storage devices 110a and/or 110b. If necessary, the user device 101 may reverse download data from said storage devices 110a and/or 110b.

[0026] Упомянутые серверы (104а, 104b) могут реализовать подход распределенного хранения. Программа хранения, выполняемая на пользовательском устройстве 101, используется для выбора профиля хранения и определение места хранения. В профиле хранения записываются параметры хранения. По профилю можно определить топологию сети, имеющей внешние мультиплексоры и/или демультиплексоры, внутренние устройства коммутации и устройства хранения данных. Программа хранения, выполняемая пользовательским устройством 101, также позволяет пользователю извлекать данные, хранящиеся в соответствии с индексами, которые формируются в процессе хранения, таким образом, что в дальнейшем данные по ним могут быть найдены.[0026] Said servers (104a, 104b) may implement a distributed storage approach. The storage program executing on the user device 101 is used to select a storage profile and determine a storage location. A storage profile records storage settings. A profile can be used to determine the topology of a network that has external multiplexers and/or demultiplexers, internal switching devices, and data storage devices. The storage program executed by the user device 101 also allows the user to retrieve the data stored in accordance with the indexes that are generated during the storage process, so that data can be retrieved thereafter.

[0027] Хотя данное изобретение было показано и описано со ссылкой на определенные варианты его осуществления, специалистам в данной области техники будет понятно, что различные изменения и модификации могут быть сделаны в нем, не покидая фактический объем изобретения. Следовательно, описанные варианты осуществления имеют намерение охватывать все подобные преобразования, модификации и разновидности, которые попадают под сущность и объем прилагаемой формулы изобретения.[0027] While the invention has been shown and described with reference to certain embodiments, it will be appreciated by those skilled in the art that various changes and modifications may be made therein without departing from the actual scope of the invention. Therefore, the described embodiments are intended to cover all such transformations, modifications, and variations that fall within the spirit and scope of the appended claims.

Claims (20)

1. Система хранения данных в соответствии с профилем хранения данных, содержащая:1. A data storage system in accordance with a data storage profile, comprising: - вычислительное устройство пользователя, выполненное с возможностью передачи данных на удаленные серверы для их последующего сохранения в устройствах хранения данных, при этом вычислительное устройство пользователя создает профиль хранения данных, - the user's computing device, configured to transfer data to remote servers for their subsequent storage in data storage devices, while the user's computing device creates a data storage profile, - упомянутое вычислительное устройство пользователя при создании упомянутого профиля выполнено с возможностью:- said user's computing device, when creating said profile, is configured to: а) преобразования данных, подлежащих сохранению в упомянутых устройствах хранения данных, в хеш-строку посредством алгоритма хеширования в соответствии с профилем хранения данных;a) converting the data to be stored in said data storage devices into a hash string by means of a hashing algorithm in accordance with the data storage profile; б) формирования пакета передачи данных для передачи данных упомянутым устройствам хранения данных, где сформированный пакет содержит сетевые адреса сетевых интерфейсов удаленных серверов и значение хеширования в соответствии с профилем хранения данных; иb) generating a data transmission packet for transmitting data to said data storage devices, where the generated packet contains network addresses of network interfaces of remote servers and a hash value in accordance with the data storage profile; And в) приема от упомянутых устройств хранения данных пакета данных с последующим извлечением данных из упомянутого пакета данных и обратным преобразованием данных из хеш-строки;c) receiving a data packet from said data storage devices, followed by extracting data from said data packet and inverting the data from the hash string; - по меньшей мере, один внешний мультиплексор, выполненный с возможностью приема от упомянутого вычислительного устройства пользователя пакета данных и его передачи, по меньшей мере, первой внутренней сетевой карте, а также с возможностью приема от первой внутренней сетевой карты пакета данных и его передачи вычислительному устройству пользователя;- at least one external multiplexer configured to receive a data packet from said computing device of the user and transmit it to at least the first internal network card, as well as to receive a data packet from the first internal network card and transmit it to the computing device user; - первую внутреннюю сетевую карту, выполненную с возможностью приема от упомянутого мультиплексора пакета данных и его передачи сетевому интерфейсу, по меньшей мере, одного удаленного сервера и приема от упомянутого сетевого интерфейса пакета данных с его последующей передачей упомянутому мультиплексору;- the first internal network card configured to receive a data packet from said multiplexer and transmit it to a network interface of at least one remote server and receive a data packet from said network interface with its subsequent transmission to said multiplexer; - по меньшей мере, два удаленных сервера, выполненных с возможностью приема от первой внутренней сетевой карты пакета данных в соответствии с профилем хранения данных и его передачи первому или второму устройству хранения данных, и с возможностью приема от упомянутых первого или второго устройства хранения пакета данных в соответствии с профилем хранения данных с его последующей передачей первой внутренней сетевой карте; при этом каждый удаленный сервер содержит:- at least two remote servers configured to receive a data packet from the first internal network card in accordance with the data storage profile and transmit it to the first or second data storage device, and with the possibility of receiving the data packet from said first or second storage device in in accordance with the data storage profile with its subsequent transfer to the first internal network card; while each remote server contains: i) процессор, выполненный с возможностью генерирования управляющих инструкций в ответ на машиночитаемые команды, принятые от памяти;i) a processor configured to generate control instructions in response to machine readable instructions received from the memory; ii) память, выполненная с возможностью хранения машиночитаемых команд и соединенная с упомянутым процессором;ii) a memory configured to store machine-readable instructions and coupled to said processor; iii) контроллер памяти, выполненный с возможностью управления устройством хранения данных;iii) a memory controller configured to control the storage device; iv) блок ввода-вывода, выполненный с возможностью передачи команд управления упомянутому процессору и приема от упомянутого процессора результатов обработанных им команд; и iv) an I/O unit configured to transmit control commands to said processor and receive from said processor the results of the commands it has processed; And v) сетевой интерфейс приема и передачи данных, выполненный с возможностью приема данных от первой внутренней сетевой карты и передачи к первой внутренней сетевой карте, при этом первый удаленный сервер соединен с первым устройством хранения данных, и второй удаленный сервер соединен со вторым устройством хранения данных, v) a network interface for receiving and transmitting data, configured to receive data from the first internal network card and transmit to the first internal network card, wherein the first remote server is connected to the first data storage device, and the second remote server is connected to the second data storage device, - первое и второе устройства хранения данных, выполненные с возможностью хранения данных в соответствии с профилем хранения данных. - first and second data storage devices configured to store data in accordance with the data storage profile. 2. Система по п. 1, отличающаяся тем, что каждый из упомянутых удаленных серверов содержит второй сетевой интерфейс приема и передачи данных.2. The system according to claim. 1, characterized in that each of the mentioned remote servers contains a second network interface for receiving and transmitting data. 3. Система по п. 2, отличающаяся тем, что дополнительно содержит вторую внутреннюю сетевую карту, выполненную с возможностью подключения к упомянутому второму сетевому интерфейсу, приема и передачи пакетов данных в соответствии с профилем хранения данных, при этом вторая внутренняя сетевая карта выполнена с возможностью распределения нагрузки между несколькими каналами вместе с первой внутренней сетевой картой при возникновении перегруженности сети и/или для резервирования сетевых подключений.3. The system according to claim. 2, characterized in that it further comprises a second internal network card configured to connect to the said second network interface, receive and transmit data packets in accordance with the data storage profile, while the second internal network card is configured to load balancing across multiple channels along with the first internal network card in case of network congestion and/or for redundant network connections. 4. Система по п. 1, отличающаяся тем, что данные, в соответствии с профилем хранения данных, делятся, по меньшей мере, на две части, где каждая часть содержит свой сетевой адрес сетевого интерфейса удаленного сервера для последующей передачи упомянутому серверу и сохранения в устройстве хранения данных.4. The system according to claim 1, characterized in that the data, in accordance with the data storage profile, is divided into at least two parts, where each part contains its network address of the network interface of the remote server for subsequent transmission to the said server and storage in storage device. 5. Система по п. 4, отличающаяся тем, что первое устройство хранения данных выполнено с возможностью сохранения первой части данных, а второе устройство хранения данных выполнено с возможностью сохранения второй части данных в соответствии с параметрами хранения данных, заданными в профиле хранения данных.5. The system according to claim. 4, characterized in that the first data storage device is configured to store the first part of the data, and the second data storage device is configured to store the second part of the data in accordance with the data storage parameters specified in the data storage profile. 6. Система по п. 1, отличающаяся тем, что контроллер памяти является SATA-контроллером или ATA-контроллером. 6. The system according to claim 1, characterized in that the memory controller is a SATA controller or an ATA controller.
RU2020143435A 2020-12-28 2020-12-28 Data storage system according to data storage profile RU2768615C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2020143435A RU2768615C1 (en) 2020-12-28 2020-12-28 Data storage system according to data storage profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020143435A RU2768615C1 (en) 2020-12-28 2020-12-28 Data storage system according to data storage profile

Publications (1)

Publication Number Publication Date
RU2768615C1 true RU2768615C1 (en) 2022-03-24

Family

ID=80820121

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020143435A RU2768615C1 (en) 2020-12-28 2020-12-28 Data storage system according to data storage profile

Country Status (1)

Country Link
RU (1) RU2768615C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110072206A1 (en) * 2009-09-21 2011-03-24 Translattice, Inc. Distributed content storage and retrieval
RU2421800C2 (en) * 2005-08-01 2011-06-20 Конинклейке Филипс Электроникс Н.В. Organisation of content by means of dynamic profile
US20120096127A1 (en) * 2005-04-20 2012-04-19 Microsoft Corporation Distributed decentralized data storage and retrieval
US20140258537A1 (en) * 2013-03-11 2014-09-11 Coraid, Inc. Storage Management of a Storage System
US20180081930A1 (en) * 2014-10-31 2018-03-22 Vmware, Inc. Maintaining storage profile consistency in a cluster having local and shared storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096127A1 (en) * 2005-04-20 2012-04-19 Microsoft Corporation Distributed decentralized data storage and retrieval
RU2421800C2 (en) * 2005-08-01 2011-06-20 Конинклейке Филипс Электроникс Н.В. Organisation of content by means of dynamic profile
US20110072206A1 (en) * 2009-09-21 2011-03-24 Translattice, Inc. Distributed content storage and retrieval
US20140258537A1 (en) * 2013-03-11 2014-09-11 Coraid, Inc. Storage Management of a Storage System
US20180081930A1 (en) * 2014-10-31 2018-03-22 Vmware, Inc. Maintaining storage profile consistency in a cluster having local and shared storage

Similar Documents

Publication Publication Date Title
US10671289B2 (en) Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US8566519B2 (en) Providing preferred seed data for seeding a data deduplicating storage system
US9280424B2 (en) Methods for synchronizing storage system data
CN102708165B (en) Document handling method in distributed file system and device
US11494403B2 (en) Method and apparatus for storing off-chain data
CN109542861B (en) File management method, device and system
CN113392067B (en) A data processing method, device and system for distributed database
CN105100146A (en) Data storage method, device and system
US20170285963A1 (en) Methods for sharing nvm ssd across a cluster group and devices thereof
US10523753B2 (en) Broadcast data operations in distributed file systems
US20150026780A1 (en) Host providing system and communication control method
CN113491092B (en) Method to anonymize client MAC address for cloud reporting
CN104184812A (en) Multi-point data transmission method based on private cloud
JP2014519100A (en) Distributed caching and cache analysis
JP6268116B2 (en) Data processing apparatus, data processing method, and computer program
CN101630332A (en) Data storage management method, data storage management device and data storage management system
CN111506254B (en) Distributed storage system and management method and device thereof
CN114089924B (en) Block chain account book data storage system and method
RU2768615C1 (en) Data storage system according to data storage profile
CN116915510B (en) Distributed storage system based on high-speed encryption algorithm
CN108959300A (en) File memory method and storage device
JP6260088B2 (en) Virtual file access system, virtual file access method, and virtual file access program
CN117311994A (en) Processing core isolation method and device, electronic equipment and storage medium
US10698758B2 (en) Data transfer device, data transfer method, and non-transitory computer readable medium
JP2012190377A (en) Content decentralization and storage system