CN113660336B - Cloud computing and fog computing system using KV storage device - Google Patents

Cloud computing and fog computing system using KV storage device Download PDF

Info

Publication number
CN113660336B
CN113660336B CN202110945026.3A CN202110945026A CN113660336B CN 113660336 B CN113660336 B CN 113660336B CN 202110945026 A CN202110945026 A CN 202110945026A CN 113660336 B CN113660336 B CN 113660336B
Authority
CN
China
Prior art keywords
storage
storage device
present application
server
storage system
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110945026.3A
Other languages
Chinese (zh)
Other versions
CN113660336A (en
Inventor
古进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Starblaze Technology Co ltd
Original Assignee
Beijing Starblaze Technology Co ltd
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 Beijing Starblaze Technology Co ltd filed Critical Beijing Starblaze Technology Co ltd
Priority to CN202110945026.3A priority Critical patent/CN113660336B/en
Publication of CN113660336A publication Critical patent/CN113660336A/en
Application granted granted Critical
Publication of CN113660336B publication Critical patent/CN113660336B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Abstract

The application discloses a cloud computing and fog computing system utilizing KV storage devices. The provided storage system comprises a client, an area server, a root server and a resource for providing the resource, wherein the client, the area server and the root server are coupled through a network, the resource comprises a data acquisition device, a computing device and a storage device, and the storage device comprises a KV storage device; the client directly initiates a service request to the associated resource without passing through the regional server; when the resources corresponding to the service request are KV storage equipment, the KV storage equipment provides a response to the service request for the client according to the received service request, wherein the KV storage equipment responds to the service request through the storage and calculation capacity of the KV storage equipment or the resources adjacent to the KV storage equipment.

Description

Cloud computing and fog computing system using KV storage device
Technical Field
The present application relates to KV storage systems, and in particular, to cloud computing and fog computing systems utilizing KV storage devices.
Background
FIG. 1A illustrates a block diagram of a solid state storage device. The solid state storage device 102 is coupled to a host for providing storage capability for the host. The host and solid state storage device 102 may be coupled by a variety of means including, but not limited to, connecting the host to the solid state storage device 102 via, for example, SATA (Serial Advanced Technology Attachment ), SCSI (Small Computer System Interface, small computer system interface), SAS (Serial Attached SCSI ), IDE (Integrated Drive Electronics, integrated drive electronics), USB (Universal Serial Bus ), PCIE (Peripheral Component Interconnect Express, PCIE, peripheral component interconnect Express), NVMe (NVM Express), ethernet, fibre channel, wireless communications network, and the like. The host may be an information processing device capable of communicating with the storage device in the manner described above, such as a personal computer, tablet, server, portable computer, network switch, router, cellular telephone, personal digital assistant, or the like. The memory device 102 includes an interface 103, a control unit 104, one or more NVM chips 105, and a DRAM (Dynamic Random Access Memory ) 110.
NAND flash memory, phase change memory, feRAM (Ferroelectric RAM, ferroelectric memory), MRAM (Magnetic Random Access Memory, magnetoresistive memory), RRAM (Resistive Random Access Memory, resistive memory), and the like are common NVM.
The interface 103 may be adapted to exchange data with a host by way of, for example, SATA, IDE, USB, PCIE, NVMe, SAS, ethernet, fibre channel, etc.
The control unit 104 is used to control data transfer among the interface 103, NVM chip 105, and DRAM 110, and also for memory management, host logical address to flash physical address mapping, erase balancing, bad block management, etc. The control component 104 can be implemented in a variety of ways, such as software, hardware, firmware, or a combination thereof, for example, the control component 104 can be in the form of an FPGA (Field-programmable gate array, field programmable gate array), an ASIC (Application Specific Integrated Circuit, application-specific integrated circuit), or a combination thereof. The control component 104 may also include a processor or controller in which software is executed to manipulate the hardware of the control component 104 to process IO (Input/Output) commands. Control unit 104 may also be coupled to DRAM 110 and may access data of DRAM 110. FTL tables and/or cached data of IO commands may be stored in the DRAM.
The control section 104 includes a flash interface controller (or referred to as a media interface controller, a flash channel controller) that is coupled to the NVM chip 105 and issues commands to the NVM chip 105 in a manner conforming to an interface protocol of the NVM chip 105 to operate the NVM chip 105 and receive a command execution result output from the NVM chip 105. Known NVM chip interface protocols include "Toggle", "ONFI", and the like.
The memory Target (Target) is one or more Logical Units (LUNs) of shared CE (Chip Enable) signals within the NAND flash package. One or more dies (Die) may be included within the NAND flash package. Typically, the logic unit corresponds to a single die. The logic cell may include multiple planes (planes). Multiple planes within a logic unit may be accessed in parallel, while multiple logic units within a NAND flash memory chip may execute commands and report status independently of each other.
Data is typically stored and read on a storage medium on a page basis. While data is erased in blocks. A block (also called a physical block) contains a plurality of pages. A block contains a plurality of pages. Pages on a storage medium (referred to as physical pages) have a fixed size, e.g., 17664 bytes. The physical pages may also have other sizes.
In solid state storage devices, FTL (Flash Translation Layer ) is utilized to maintain mapping information from logical addresses to physical addresses. The logical addresses constitute the storage space of the solid state storage device as perceived by upper level software such as the operating system. The physical address is an address for accessing a physical storage unit of the solid state storage device. Address mapping may also be implemented in the related art using an intermediate address modality. For example, logical addresses are mapped to intermediate addresses, which in turn are further mapped to physical addresses.
The table structure storing mapping information from logical addresses to physical addresses is called FTL table. FTL tables are important metadata in solid state storage devices. Typically, the data items of the FTL table record address mapping relationships in units of data pages in the solid-state storage device.
FTL tables include a plurality of FTL table entries (or entries). In one case, a correspondence of one logical page address to one physical page is recorded in each FTL table entry. In another case, correspondence between consecutive logical page addresses and consecutive physical pages is recorded in each FTL table entry. In yet another case, a correspondence of logical block addresses to physical block addresses is recorded in each FTL table entry. In still another case, mapping relation between logical block address and physical block address, and/or mapping relation between logical page address and physical page address are recorded in FTL table.
A storage device supporting a Key-Value (Key-data, also simply referred to as "KV") storage model provides a Key (Key) -based read operation (Get (Key)) and a write operation (Put (Key, value)). To perform a write operation, the host provides a Key (Key) and data (Value) to the storage device to write the data to the storage device, and uses the Key as an index of the written data. To perform a read operation, the host provides keys to the storage device, the storage device finds data according to the keys, and provides the data to the host. Thus, in KV memory systems, the key is an index used to access data, and the data (Value) is the data that is accessed. Typically, neither the key nor the data are of fixed length. And optionally, to reduce complexity, the length of the keys and/or data may have a specified range.
FIG. 1B illustrates a schematic diagram of an address translation system of a prior art solid state storage device. An address translation system (also referred to as FTL table) of a solid state storage device supporting KV storage model provides mapping from keys to logical addresses or physical addresses. Alternatively, the logical address or physical address recorded in the FTL table may be the start address of the Data frame (Data frame). A data frame is a data unit having a fixed size and a physical page includes 1 or more data frames.
The length of the key is variable as is the length of the data. The key serves as an index to the FTL table. And querying the FTL table by using the key as an index to obtain a corresponding logical address or physical address. FTL tables can be implemented by various data structures such as arrays, linked lists, trees, etc. Alternatively, hash operations are performed on keys of indefinite length, resulting in hash keys of definite length (e.g., 4 bytes/8 bytes) as an index to the FTL table.
Disclosure of Invention
According to a first aspect of the present application, there is provided a first KV storage device according to the first aspect of the present application, including a host interface for exchanging commands and data with a host, a kftl unit running in the CPU subsystem, a CPU subsystem, an error checking unit performing error checking on data written to and read from the NVM storage medium, and a medium interface for accessing the NVM chip.
According to a first KV storage device of the first aspect of the present application, there is provided a second KV storage device according to the first aspect of the present application, further comprising one or more application programs running in one or more CPUs of the CPU subsystem.
According to the first KV storage device or the second KV storage device of the first aspect of the application, the third KV storage device of the first aspect of the application is provided, and processing results of an application program are provided to a host through a host interface.
According to one of the first to third KV storage devices of the first aspect of the present application, there is provided a fourth KV storage device according to the first aspect of the present application, the application communicates with the host through a private command or an extended command of NVMe protocol.
According to one of the first to fourth KV storage devices of the first aspect of the present application, there is provided a fifth KV storage device according to the first aspect of the present application, the application further comprising a management application, the management application receiving an external command to update the application, start the application, stop the application, and/or query applications available on the KV storage device.
According to a fifth KV storage device of the first aspect of the present application, there is provided a sixth KV storage device according to the first aspect of the present application, the management application further providing a KV storage device identifier for uniquely identifying and accessing the KV storage device through the network in response to an external command.
According to one of the first to sixth KV storage devices of the first aspect of the present application, there is provided a seventh KV storage device according to the first aspect of the present application, the host interface further coupling the KV storage device to a network.
According to one of the first to seventh KV storage devices of the first aspect of the present application, there is provided an eighth KV storage device according to the first aspect of the present application, further comprising a storage management unit coupled to the host interface for receiving an IO command sent by the host to the storage device.
According to one of the first to eighth KV storage devices of the first aspect of the present application, there is provided a ninth KV storage device according to the first aspect of the present application, the storage management unit operating in the CPU subsystem.
According to one of the first to ninth KV storage devices of the first aspect of the present application, there is provided a tenth KV storage device according to the first aspect of the present application, the kftl unit, the storage management unit, the one or more application programs are implemented as firmware and run in the CPU subsystem.
According to one of the first to tenth KV memory devices of the first aspect of the present application, there is provided an eleventh KV memory device according to the first aspect of the present application, further comprising an accelerator unit for use in the KV FTL unit, the accelerator unit comprising one or more hardware accelerators.
According to an eleventh KV storage device of the first aspect of the present application, there is provided a twelfth KV storage device according to the first aspect of the present application, the accelerator is one or more of an AI processor, a multimedia processor, a linked list/tree structure access accelerator.
According to one of the first to twelfth KV storage devices of the first aspect of the present application, there is provided a thirteenth KV storage device according to the first aspect of the present application, the accelerator unit being used in the storage management unit, the one or more applications.
According to one of the first to thirteenth KV storage devices of the first aspect of the present application, there is provided a fourteenth KV storage device according to the first aspect of the present application, the KV storage device further comprising one or more of a data source identifier, a computing device identifier, an access rights identifier.
According to a fourteenth KV storage device of the first aspect of the present application, there is provided a fifteenth KV storage device according to the first aspect of the present application, the data source identifier indicating a data source to which the KV storage device is coupled.
According to a fifteenth KV storage device of the first aspect of the present application, there is provided the sixteenth KV storage device according to the first aspect of the present application, the data source is a camera, and the characteristic information related to the video data collected by the camera is stored in the KV storage device.
According to a sixteenth KV storage device of the first aspect of the present application, there is provided a seventeenth KV storage device according to the first aspect of the present application, the characteristic information includes one or more of a video acquisition time, a snapshot, an object appearing in the video.
According to a fourteenth KV storage device of the first aspect of the present application, there is provided an eighteenth KV storage device according to the first aspect of the present application, the computing device identifier being for indicating a computing capability the KV storage device has as the computing device.
According to an eighteenth KV storage device of the first aspect of the present application, there is provided a nineteenth KV storage device according to the first aspect of the present application, wherein the one or more applications for which the KV storage device is adapted to operate are derived from the computing device identifier.
According to a fourteenth KV storage device of the first aspect of the present application, there is provided a twentieth KV storage device according to the first aspect of the present application, the access rights identifier being for indicating which users or devices the KV storage device or one or more applications thereon are available to use.
According to one of the first to twentieth KV storage devices of the first aspect of the present application, there is provided the twenty-first KV storage device according to the first aspect of the present application, the management application identifies application information used for processing the query request in response to receiving the query request transmitted by the area server.
According to one of the first to twentieth KV storage devices in the first aspect of the present application, the twenty-second KV storage device in the first aspect of the present application is provided, in response to receiving the query request sent by the area server, an application program of the KV storage device processes the query request, generates a key, obtains a value corresponding to the key from the KV storage device as a query result, and returns the query result to the area server.
According to a twenty-third KV storage apparatus of the first aspect of the present application, there is provided the twenty-third KV storage apparatus of the first aspect of the present application, wherein the application program acquires an address storing the original data from the value, acquires the original data, further processes the original data according to the query request, and provides a result of the further processing to the area server.
According to one of the first to twenty-eighth KV storage devices of the first aspect of the present application, there is provided the twenty-fourth KV storage device according to the first aspect of the present application, in response to receiving the query request sent by the region server, the management application of the KV storage device sends application information running on the KV storage device to the region server, so as to inform the region server of the capability of the KV storage device to process the query request.
According to one of the first to twenty-fourth KV storage devices in the first aspect of the application, the twenty-fifth KV storage device in the first aspect of the application is provided, in response to receiving the query request sent by the area server, if the KV storage device cannot process the query request due to lack of an application program, the management application program of the KV storage device also receives an indication of the area server, and updates and runs the updated application program.
According to one of the first to the second fifteenth KV storage devices of the first aspect of the present application, the second sixteen KV storage device according to the first aspect of the present application is provided, and the management application of the KV storage device further transmits its own computing power and/or computing load to the region server in response to the region server querying the computing power and/or computing load of the KV storage device.
According to one of the first to the second sixteen KV storage devices of the first aspect of the present application, there is provided the second seventeenth KV storage device according to the first aspect of the present application, and in response to the lack of its own computing power, the management application of the KV storage device further requests the region server to reform the query request, and sends the query request to the other KV storage devices.
According to one of the first to the second seventeenth KV storage devices of the first aspect of the present application, there is provided the twenty-eighth KV storage device according to the first aspect of the present application, the KV storage device providing a value corresponding to a key to the area server in response to receiving the key provided by the query request sent by the area server.
According to one of the first to the second eighteenth KV storage devices in the first aspect of the present application, the second nineteenth KV storage device in the first aspect of the present application is provided, in response to receiving the query request sent by the area server, the first application program of the first KV storage device processes the query request and generates the first key, the first application program identifies that the first KV storage device does not include a value corresponding to the first key, the first application program generates the first calculation request, obtains a query result corresponding to the first key in a computing device coupled to the same first application program, and returns the query result to the area server.
According to a thirty-ninth KV storage apparatus of the first aspect of the present application, there is provided the thirty-eighth KV storage apparatus of the first aspect of the present application, wherein when a computing apparatus coupled with the first application rejects the first computing request, the first application queries the area server for a resource that can process the first computing request.
According to a thirty-first KV storage device of the first aspect of the present application, a thirty-first KV storage device according to the first aspect of the present application is provided, and when the area server informs the first application that the second computing device can be used to process the first computing request, the first application instructs the second computing device to process the first computing request, receives a query result corresponding to the first key provided by the second computing device, and returns the query result to the area server.
According to one of the first to the thirty-first KV storage devices of the first aspect of the present application, there is provided the thirty-second KV storage device according to the first aspect of the present application, an application of the KV storage device generates a calculation request, transmits the calculation request to a computing device coupled to the KV storage device to instruct the computing device to calculate the first information according to the data written to the KV storage device, and acquires the first information from the computing device.
According to one of the first to the thirty-second KV storage devices of the first aspect of the application, the thirteenth KV storage device of the first aspect of the application is provided, the KV storage device obtains the storage position of the original data through the structured information of the value stored by the KV storage device, the second application program of the KV storage device loads and analyzes the original data, and the analysis result is returned to the client in response to receiving the service request initiated by the client.
According to a thirteenth KV storage device of the first aspect of the present application, there is provided the thirty-fourth KV storage device according to the first aspect of the present application, in response to the KV storage device failing to run the second application, the KV storage device accesses one or more third computing devices adjacent thereto, instructs the third computing devices to load and analyze the original data, and obtains an analysis result of the third computing devices.
According to a thirteenth KV storage device of the first aspect of the present application, there is provided the thirty-fifth KV storage device according to the first aspect of the present application, the KV storage device requesting a second application from the application distribution server in response to the KV storage device not having been installed with the second application that processes the service request.
According to one of the first to thirty-fifth KV storage devices of the first aspect of the present application, there is provided the thirty-sixth KV storage device according to the first aspect of the present application, in response to receiving a service request initiated by a client, the KV storage device accesses a computing device query server to obtain one or more computing devices capable of processing the service request, and selects an available computing device to issue the service request, and receives a processing result from the selected computing device, and provides the processing result to the client.
According to one of the first to seventeenth KV storage devices of the first aspect of the present application, there is provided the seventeenth KV storage device according to the first aspect of the present application, in response to receiving a service request initiated by a client, the KV storage device broadcasts a request in a network, inquires which computing devices in the network adjacent thereto can respond to the service request, and issues the service request to one of the computing devices that selects to respond to the broadcast request, and receives a processing result from the selected computing device, and provides the processing result to the client.
According to a second aspect of the present application, there is provided a first storage system according to the second aspect of the present application, comprising a client, an area server, a root server and a resource providing a resource, the resource comprising a storage device, the storage device comprising a KV storage device, coupled via a network.
According to a first storage system of a second aspect of the present application, there is provided a second storage system according to the second aspect of the present application, each of the client, the zone server and the root server coupled to the network may be one or more.
According to a first or second storage system of a second aspect of the present application, there is provided a third storage system according to the second aspect of the present application, wherein the client initiates a service request to an area server of an area where the client is located, and receives a response provided by the area server.
According to one of the first to third storage systems of the second aspect of the present application, there is provided a fourth storage system according to the second aspect of the present application, the client requesting an available area server from the root server.
According to one of the first to fourth storage systems of the second aspect of the present application, there is provided a fifth storage system according to the second aspect of the present application, the root server records the area servers available for the respective areas, and identifies the area to which the client belongs according to the service request of the client.
According to a first storage system of a second aspect of the present application, there is provided a sixth storage system according to the second aspect of the present application, the client initiating a service request to an associated resource.
According to a sixth storage system of the second aspect of the present application, there is provided a seventh storage system according to the second aspect of the present application, the private resource associated with the client/user being accessible only to the specified client/user.
According to a seventh storage system of the second aspect of the present application, there is provided an eighth storage system according to the second aspect of the present application, wherein the distance of the client from the private resource is evaluated according to the number of network hops over which the private resource is accessed from the client.
According to one of the first to eighth storage systems of the second aspect of the present application, there is provided a ninth storage system according to the second aspect of the present application, the resource further comprising a data acquisition device and a computing device.
According to a ninth storage system of the second aspect of the present application, there is provided a tenth storage system according to the second aspect of the present application, the data acquisition device comprising one or more of a camera, a sensor.
According to a ninth or tenth storage system of the second aspect of the present application, there is provided an eleventh storage system according to the second aspect of the present application, the computing device comprising a computer, a server or an application running in a KV storage device.
According to a tenth or eleventh storage system of the second aspect of the present application, there is provided a twelfth storage system according to the second aspect of the present application, the data acquisition device comprising one or more of a data source identifier, a data acquisition device attribute, a location attribute, an access rights identifier.
According to a twelfth storage system of the second aspect of the present application, there is provided a thirteenth storage system according to the second aspect of the present application, the data source identifier uniquely identifying the data acquisition device.
According to a twelfth storage system of the second aspect of the present application, there is provided a fourteenth storage system according to the second aspect of the present application, the data acquisition device attribute indicating one or more of a type, an IP address of the data acquisition device.
According to a twelfth storage system of the second aspect of the present application, there is provided a fifteenth storage system according to the second aspect of the present application, the location attribute identifying a geographic location where the data acquisition device is located.
According to a twelfth storage system of the second aspect of the present application, there is provided a sixteenth storage system according to the second aspect of the present application, the data acquisition device having computing capabilities further having a computing device identifier.
According to a sixteenth storage system of the second aspect of the present application, there is provided a seventeenth storage system according to the second aspect of the present application, deriving one or more applications for which the data acquisition device is adapted to run from the computing device identifier.
According to one of the twelfth to seventeenth storage systems of the second aspect of the present application, there is provided an eighteenth storage system according to the second aspect of the present application, the access right identifier being for indicating which users or devices the data collection is available for use.
According to one of the ninth through eighteenth storage systems of the second aspect of the present application, there is provided a nineteenth storage system according to the second aspect of the present application, the computing device comprising a computing device identifier and an installed application identifier.
According to a nineteenth storage system of the second aspect of the present application, there is provided a twentieth storage system according to the second aspect of the present application, the computing device further comprising an access rights identifier.
According to a nineteenth or twentieth storage system of the second aspect of the present application, there is provided a twenty-first storage system according to the second aspect of the present application, wherein the computing device identifier is for uniquely identifying the computing device on the network and indicating the computing capabilities possessed by the computing device.
According to one of the nineteenth through twenty-first storage systems of the second aspect of the present application, there is provided a twenty-second storage system according to the second aspect of the present application, the installed application identifier indicating an application installed or otherwise available for service on the computing device.
According to one of the first to twenty-second storage systems of the second aspect of the present application, there is provided a twenty-third storage system according to the second aspect of the present application, the area server providing a search service of the data collection device conforming to the specified condition, a search service of the storage device conforming to the specified condition, a search service of the computing device conforming to the specified condition, a registration service of various resources; one or more of the update services of the application of the computing device.
According to one of the first to twenty-third storage systems of the second aspect of the present application, there is provided a twenty-fourth storage system according to the second aspect of the present application, the area server distributing the query request according to the received service request.
According to a twenty-fourth storage system of the second aspect of the present application, there is provided a twenty-fifth storage system of the second aspect of the present application, wherein the area server transmits a query request to each KV storage device and also transmits application information used for processing the query request to the KV storage device.
According to a twenty-fourth or twenty-fifth storage system of the second aspect of the present application, there is provided a twenty-sixth storage system of the second aspect of the present application, an application program of the KV storage device processes the query request, generates a key, obtains a value corresponding to the key from the KV storage device as a query result, and returns the query result to the area server.
According to one of the twenty-fourth to twenty-sixth storage systems of the second aspect of the present application, there is provided the twenty-seventh storage system of the second aspect of the present application, the application program acquires the original data from the value, and further processes the original data according to the query request, with the processing result also being the processing result.
According to one of the twenty-fourth to twenty-seventh storage systems of the second aspect of the present application, there is provided the twenty-eighth storage system according to the second aspect of the present application, wherein the area server aggregates the query results obtained from the respective KV storage devices, and provides the final result to the client as a response to the service request.
According to one of twenty-fourth to twenty-eighth storage systems of the second aspect of the present application, there is provided a twenty-ninth storage system according to the second aspect of the present application, wherein before the area server sends the query request to the KV storage device, the application program running on the KV storage device is also queried, so as to know whether the KV storage device can process the query request.
According to one of the twenty fourth to twenty ninth storage systems of the second aspect of the present application, there is provided the thirty third storage system according to the second aspect of the present application, wherein if the KV storage device cannot process the query request due to lack of the application, the region server further instructs the KV storage device to update and update the application in parallel.
According to one of the twenty-fourth to thirty-first storage systems of the second aspect of the present application, there is provided the thirty-first storage system according to the second aspect of the present application, the area server also queries the computing power and/or the computing load of the KV storage device, and transmits the query request to the appropriate KV storage device according to the computing power and/or the computing load of the KV storage device.
According to one of the twenty-fourth to thirty-first storage systems of the second aspect of the present application, there is provided the thirty-second storage system according to the second aspect of the present application, wherein the KV storage device further requests the regional server to re-reconstruct the query request in response to the lack of its own computing power, and transmits the query request to the other KV storage devices.
According to a third aspect of the present application, there is provided a method implemented by a first storage system according to the third aspect of the present application, comprising: the client initiates a service request to the regional server; the regional server sends a query request to resources corresponding to the same service request according to the received service request;
the resource provides the queried information to the regional server as a response to the query request; the regional server provides the consolidated information to the client as a response to the service request.
According to a method implemented by the first storage system of the third aspect of the present application, there is provided a method implemented by the second storage system of the third aspect of the present application, wherein the client directly sends a service request to the area server.
According to a method implemented by the first storage system of the third aspect of the present application, there is provided a method implemented by the third storage system of the third aspect of the present application, the client making a request to the root server to query its available zone servers.
According to one of the methods implemented by the first to third storage systems of the third aspect of the present application, there is provided the method implemented by the fourth storage system of the third aspect of the present application, wherein the area server identifies a first acquisition device capable of responding to the service request according to the received service request, and sends a query request to a storage device coupled to the first acquisition device.
According to a fourth storage system implemented method of the third aspect of the present application, there is provided a method implemented according to the fifth storage system of the third aspect of the present application, wherein the zone server generates a key for accessing the KV storage device according to the service request.
According to a method implemented by the fourth or fifth storage system of the third aspect of the present application, there is provided a method implemented by the sixth storage system of the third aspect of the present application, the zone server providing the service request to the AI element, and generating a key based on the values of one or more nodes of the AI element.
According to a fifth or sixth storage system-implemented method of the third aspect of the present application, there is provided a seventh storage system-implemented method according to the third aspect of the present application, wherein in response to receiving a key provided by the area server, the KV storage device provides a value corresponding to the key to the area server.
According to a method implemented by the seventh storage system according to the third aspect of the present application, there is provided a method implemented by the eighth storage system according to the third aspect of the present application, the zone server providing the value to the client as a result of processing the service request.
According to a method implemented by the fourth storage system of the third aspect of the present application, there is provided a method implemented by the ninth storage system of the third aspect of the present application, wherein the area server sends the query request to an application running on the KV storage device.
According to a method implemented by the ninth storage system of the third aspect of the present application, there is provided a method implemented by the tenth storage system of the third aspect of the present application, the query request indicating an application to be used.
According to a ninth or tenth storage system-implemented method of the third aspect of the present application, there is provided an eleventh storage system-implemented method according to the third aspect of the present application, wherein the application processes data stored in the KV storage device according to the query request.
According to a method implemented by the eleventh storage system according to the third aspect of the present application, there is provided a method implemented by the twelfth storage system according to the third aspect of the present application, the application generates a key according to the query request, obtains a corresponding value from the KV storage device using the key, and provides the key to the region server as a response to the query request.
According to one of the methods implemented by the fourth to twelfth storage systems of the third aspect of the present application, there is provided the method implemented by the thirteenth storage system of the third aspect of the present application, the area server sends a query request to the plurality of KV storage devices, and receives the value corresponding to the one key output by the plurality of KV storage devices.
According to a thirteenth storage system-implemented method of the third aspect of the present application, there is provided a method according to the fourteenth storage system-implemented method of the third aspect of the present application, the area server presents a plurality of pieces of structured information corresponding to a plurality of values in one page.
According to one of the methods implemented by the ninth to eleventh storage systems of the third aspect of the present application, there is provided the method implemented by the fifteenth storage system of the third aspect of the present application, wherein the area server sends the query request to the first application program of the first KV storage device in response to the service request of the client.
According to a method implemented by a fifteenth storage system in a third aspect of the present application, a method implemented by the sixteenth storage system in the third aspect of the present application is provided, where a first application program of a first KV storage device generates a key according to a query request, recognizes that no corresponding value exists in the first KV storage device, generates a calculation request, instructs a first computing device coupled to the first application program to analyze original data associated with the first KV storage device, obtains first structural information corresponding to the key, and provides the first structural information to the first application program of the first KV storage device.
According to a sixteenth storage system implemented method of the third aspect of the present application, there is provided a seventeenth storage system implemented method according to the third aspect of the present application, the first application of the first KV storage device providing the first structured information to the region server as a response to the query request.
According to a sixteenth or seventeenth storage system implemented method of the third aspect of the present application, there is provided an eighteenth storage system implemented method according to the third aspect of the present application, the first KV storage device further informing the zone server to wait for a period of time during waiting for the first computing device to process the calculation request.
According to a fifteenth storage system-implemented method of the third aspect of the present application, there is provided a nineteenth storage system-implemented method according to the third aspect of the present application, a first application of a first KV storage device generating a first computation request, instructing a first computing device coupled thereto to process the first computation request.
According to a nineteenth storage system implemented method of the third aspect of the present application, there is provided a method according to the twentieth storage system implemented method of the third aspect of the present application, if the first computing device rejects the first computing request, the first application of the first KV storage device queries the regional server for resources that can handle the first computing request.
According to a nineteenth or twentieth memory system-implemented method of the third aspect of the present application, there is provided a twenty-first memory system-implemented method according to the third aspect of the present application, the region server informing the first application to use the second computing device to process the first computing request in response to the request of the first application, and providing information of the second computing device to the first application.
According to one of the nineteenth to twenty-first storage system-implemented methods of the third aspect of the present application, there is provided the twenty-second storage system-implemented method of the third aspect of the present application, wherein the first application of the first KV storage device requests the second computing device to process the first computing request according to the indication of the region server.
According to a twenty-second storage system-implemented method of the third aspect of the present application, there is provided a twenty-third storage system-implemented method of the third aspect of the present application, the first KV storage device further notifying the zone server to wait for a period of time.
According to one of the methods implemented by the nineteenth to twenty-third storage systems of the third aspect of the present application, there is provided the method implemented by the twenty-fourth storage system of the third aspect of the present application, the second computing device processes the first computing request, and provides the processing result to the first application of the first KV storage device.
According to one of the methods implemented by the nineteenth to twenty-fourth storage systems of the third aspect of the present application, there is provided the method implemented by the twenty-fifth storage system of the third aspect of the present application, wherein the first application program provides the received processing result with the structured information corresponding to the query request to the area server as a response to the query request.
According to a nineteenth storage system implemented method of the third aspect of the present application, there is provided a twenty-sixth storage system implemented method according to the third aspect of the present application, the first computing device requesting installation of the second application from the zone server.
According to a twenty-sixth storage system-implemented method of the third aspect of the present application, there is provided a twenty-seventh storage system-implemented method according to the third aspect of the present application, the zone server sending the second application to the first computing device in response to a request by the first computing device.
According to a twenty-first or twenty-seventh storage system-implemented method of the third aspect of the present application, there is provided a twenty-eighth storage system-implemented method of the third aspect of the present application, the first computing device running the received second application to process the first computing request, and providing the processing result of the first computing request to the first application.
According to a fifteenth storage system-implemented method of the third aspect of the present application, there is provided a twenty-ninth storage system-implemented method according to the third aspect of the present application, the first application of the first KV storage device sending a second calculation request to the first computing device associated with the first KV storage device, the second calculation request indicating a storage location of the original data of the first structured data and a request to add the first information.
According to a twenty-ninth storage system-implemented method of the third aspect of the present application, there is provided a thirty-first storage system-implemented method of the third aspect of the present application, wherein the first computing device, in response to receiving the computation request, analyzes the raw data of the first structured data, obtains first information, and provides the first information to the first application.
According to a thirty-ninth or twenty-first storage system-implemented method of the third aspect of the present application, there is provided a thirty-first storage system-implemented method of the third aspect of the present application, further providing a screenshot of the first information-related video picture and/or a time at which the screenshot occurred to the first application.
According to one of the twenty-ninth through thirty-first storage system-implemented methods of the third aspect of the present application, there is provided the thirty-second storage system-implemented method of the third aspect of the present application, wherein the first computing device further requests the zone server to provide a second application for processing the computing request, and runs the second application to extract the first information from the first structured data.
According to a fifteenth storage system-implemented method of the third aspect of the present application, there is provided a thirty-third storage system-implemented method according to the third aspect of the present application, wherein the zone server broadcasts a query request to one or more computing devices to obtain whether each computing device satisfies a condition for running the third application.
According to a thirty-third storage system-implemented method of the third aspect of the present application, there is provided a thirty-fourth storage system-implemented method according to the third aspect of the present application, the query request further querying each computing device whether the third application and/or a version of the third application has been installed.
According to a thirteenth or thirty-fourth storage system-implemented method of the third aspect of the present application, there is provided a thirty-fifth storage system-implemented method according to the third aspect of the present application, the area server transmitting a third application program to the third computing device and instructing it to install the third application program in accordance with the responses of the respective computing devices to the query requests.
According to one of the thirty-third through thirty-fifth storage system-implemented methods of the third aspect of the present application, there is provided a thirty-sixth storage system-implemented method according to the third aspect of the present application, the third application update process being initiated by the third computing device.
According to a fourth aspect of the present application, there is provided a method implemented by a first storage system according to the fourth aspect of the present application, comprising: the client initiates a first service request to the KV storage device; and the KV storage equipment provides a response to the first service request for the client according to the received first service request.
According to a first storage system-implemented method of the fourth aspect of the present application, there is provided a second storage system-implemented method according to the fourth aspect of the present application, the first service request indicating a query for first information of the first data acquisition device.
According to a third storage system implemented method according to the fourth aspect of the present application, the client identifies that the first data acquisition device is associated to the KV storage device, so as to issue a first service request to the KV storage device.
According to one of the methods implemented by the first to third storage systems in the fourth aspect of the application, the method implemented by the fourth storage system in the fourth aspect of the application is provided, the KV storage device acquires the storage location of the first data acquired by the first data acquisition device in the designated time through the value stored by the KV storage device according to the received first service request, loads the first data, and uses the analysis result of the first data as a response to the first service request of the client.
According to one of the methods implemented by the first to fourth storage systems of the fourth aspect of the present application, there is provided a method implemented by the fifth storage system of the fourth aspect of the present application, wherein the KV storage device runs the first application to analyze the first data.
According to one of the methods implemented by the first to fourth storage systems of the fourth aspect of the present application, there is provided a method implemented by the sixth storage system of the fourth aspect of the present application, the KV storage device accessing one or more fifth computing devices in proximity thereto and instructing the fifth computing devices to analyze the first data.
According to a method implemented by the sixth storage system according to the fourth aspect of the present application, there is provided a method implemented by the seventh storage system according to the fourth aspect of the present application, and the fifth computing device is to analyze the result.
According to one of the methods implemented by the first to fourth storage systems of the fourth aspect of the present application, there is provided the method implemented by the eighth storage system of the fourth aspect of the present application, wherein the KV storage device requests the first application capable of analyzing the first data from the application distribution server.
According to a method implemented by the eighth storage system of the fourth aspect of the present application, there is provided a method implemented by the ninth storage system of the fourth aspect of the present application, the application distribution server transmits the first application program to the KV storage device in response to the request, and installs and runs the first application program on the KV storage device.
According to a method implemented by the eighth or ninth storage system according to the fourth aspect of the present application, there is provided a method implemented by the tenth storage system according to the fourth aspect of the present application, wherein the first computing device requested by the KV storage device installs the first application program through the application distribution server.
According to a method implemented by the first or second storage system according to the fourth aspect of the present application, there is provided a method implemented by the eleventh storage system according to the fourth aspect of the present application, the client initiating a first service request to any KV storage device it can access.
According to a method implemented by an eleventh storage system according to a fourth aspect of the present application, there is provided a method implemented by a twelfth storage system according to the fourth aspect of the present application, the KV storage device accessing a computing device query server to obtain one or more computing devices capable of processing the first service request.
A method implemented according to an eleventh or twelfth storage system of the fourth aspect of the present application, there is provided a method implemented according to a thirteenth storage system of the fourth aspect of the present application, the computing device query server is one or more of an application in a KV storage device, a computing device in a network deployed adjacent to the KV storage device, or an application distribution server.
According to one of the methods implemented by the eleventh to thirteenth storage systems of the fourth aspect of the present application, there is provided the method implemented by the fourteenth storage system of the fourth aspect of the present application, wherein the computing device query server broadcasts a request in the network, asking which computing devices in the network adjacent thereto can respond to the first service request.
According to one of the methods implemented by the eleventh through fourteenth storage systems of the fourth aspect of the present application, there is provided the method implemented by the fifteenth storage system of the fourth aspect of the present application, the request being broadcast in a range limited to computing devices that are in proximity to the computing device query server.
According to one of the methods implemented by the eleventh to fifteenth storage systems of the fourth aspect of the present application, there is provided the method implemented by the sixteenth storage system of the fourth aspect of the present application, the sixth and seventh computing devices responding to the broadcast request to give a response to the computing device query server indicating that it can process the first service request or the query request.
According to a sixteenth storage system implemented method of the fourth aspect of the present application, there is provided a seventeenth storage system implemented method according to the fourth aspect of the present application, the computing device query server providing the sixth computing device and the seventh computing device as available computing device resources to the KV storage device.
According to one of the methods implemented by the eleventh to seventeenth storage systems of the fourth aspect of the present application, there is provided the method implemented by the eighteenth storage system of the fourth aspect of the present application, wherein the KV storage device selects one of the available computing devices and issues a first service request or a query request to the selected computing device, and receives the processing result from the selected computing device and provides the processing result to the client.
According to one of the methods implemented by the eleventh to seventeenth storage systems of the fourth aspect of the present application, there is provided the method implemented by the nineteenth storage system of the fourth aspect of the present application, wherein the KV storage device selects one of the available computing devices and issues a first service request or a query request to the selected computing device, and receives the processing result from the selected computing device and provides the processing result to the client.
According to a method implemented by an eleventh storage system according to a fourth aspect of the present application, there is provided a method implemented by a twentieth storage system according to the fourth aspect of the present application, an application program of a KV storage device, in response to a first service request of a mist computing client, broadcasting a request in a network, asking which computing devices in a network adjacent thereto can respond to the first service request.
According to a twenty-first storage system-implemented method of the fourth aspect of the present application, there is provided a twentieth storage system-implemented method according to the fourth aspect of the present application, the KV storage device broadcasting the request within a network range of 1 hop therefrom.
According to a twenty-first or twenty-first storage system-implemented method of the fourth aspect of the present application, there is provided a twenty-second storage system-implemented method of the fourth aspect of the present application, in response to the broadcast request, the eighth computing device and the ninth computing device each giving a reply to the KV storage device, each indicating to the KV storage device that it can process the query request.
According to one of the twenty-first to twenty-second storage system-implemented methods of the fourth aspect of the present application, there is provided the twenty-third storage system-implemented method of the fourth aspect of the present application, the eighth computing device and the ninth computing device further forwarding the broadcast request within a 1-hop network distance from each starting point.
According to one of the twenty-fourth to twenty-third storage system-implemented methods of the fourth aspect of the present application, there is provided a twenty-fourth storage system-implemented method of the fourth aspect of the present application, the tenth and eleventh computing devices receiving the forwarded network request, both responding to the broadcast request by the tenth and eleventh computing devices giving a reply to the KV storage device, each indicating to the KV storage device that it can process the query request.
According to one of the twenty-fourth storage system-implemented methods of the fourth aspect of the present application, there is provided the twenty-fifth storage system-implemented method of the fourth aspect of the present application, wherein the range over which the broadcast request is propagated is limited to a 2-hop network distance from the KV storage device, such that the tenth computing device and the eleventh computing device no longer forward the broadcast request.
According to one of the methods implemented by the first to twenty-fifth storage systems of the fourth aspect of the present application, there is provided the method implemented by the twenty-sixth storage system of the fourth aspect of the present application, the KV storage device selects, in response to receiving the response from the computing device, to process the query request by the eighth computing device, and informs the eighth computing device of the selection result.
According to a twenty-sixth storage system-implemented method of the fourth aspect of the present application, there is provided a twenty-seventh storage system-implemented method of the fourth aspect of the present application, the KV storage device further notifying the ninth computing device, the tenth computing device, and the eleventh computing device of the refusal to use the selection result of the ninth computing device, the tenth computing device, and the eleventh computing device, respectively.
According to one of the methods implemented by the first to twenty-seventh storage systems of the fourth aspect of the present application, there is provided the method implemented by the twenty-eighth storage system of the fourth aspect of the present application, the KV storage device issues a query request to the selected eighth computing device, and receives the processing result from the selected eighth computing device, and provides the processing result to the client.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following description will briefly introduce the drawings that are required to be used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings may also be obtained according to these drawings for a person having ordinary skill in the art.
FIG. 1A is a block diagram of a prior art solid state storage device;
FIG. 1B illustrates a schematic diagram of an address translation system of a prior art solid state storage device;
FIG. 2 is a schematic diagram of a KV memory device according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a storage system according to an embodiment of the present application;
FIG. 4A is a flow chart of a storage system implementing cloud computing according to an embodiment of the present application;
FIG. 4B is a flow chart of a storage system implementing cloud computing according to yet another embodiment of the present application;
FIG. 4C is a flow chart of a storage system implementing cloud computing according to another embodiment of the present application;
FIG. 4D is a flow chart of a storage system implementing cloud computing according to yet another embodiment of the present application;
FIG. 4E is a flow chart of a storage system implementing cloud computing according to yet another embodiment of the present application;
FIG. 4F is a flow chart of a storage system implementing cloud computing according to yet another embodiment of the present application;
FIG. 5A is a flow chart of a storage system implementing fog calculation according to an embodiment of the present application;
FIG. 5B is a flow chart of a storage system implementing fog calculation according to yet another embodiment of the present application;
fig. 5C is a flow chart of a storage system implementing fog calculation according to yet another embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application, taken in conjunction with the accompanying drawings, clearly and completely describes the technical solutions of the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
Example 1
Fig. 2 is a schematic diagram of a KV memory device according to an embodiment of the present application.
The KV storage device includes a host interface 210, a KV FTL unit 240, a storage management unit 260, a CPU subsystem 230, an accelerator unit 250, an error checking unit 270, and a media interface 220 for accessing the NVM chip 105.
The host interface 210 is used to exchange commands and data with a host. In one example, the host communicates with the storage device via an NVMe/PCIe protocol, the host interface 210 processes PCIe protocol packets, extracts NVMe protocol commands, and returns the processing results of the NVMe protocol commands to the host. Through the host interface 210, the host also accesses one or more application programs 280. Application 280 runs in one or more CPUs in CPU subsystem 230. Application 280 provides a variety of capabilities such as numerical computation, keyword retrieval, image feature extraction, and the like. The processing results of the application 280 are provided to the host through the host interface 210. By way of example, the host communicates with the application 280 via proprietary commands or extended commands of the NVMe protocol. Still alternatively, the application 280 also includes a management application. The management application receives external commands to update the application, turn on the application, stop the application, and/or query applications available on the KV storage device. The management application also provides a KV storage device Identifier (ID) for uniquely identifying and accessing the KV storage device over the network in response to the external command.
The host interface 210 also couples the KV storage device to a network, for example, through ethernet, wireless ethernet, fibre channel.
The storage management unit 260 is coupled to the host interface 210 for receiving IO commands sent by the host to the storage device and for serving the received IO commands in a best effort manner. The storage management unit 260 writes data in the commands to the NVM storage medium via the medium interface 220 and/or reads data from the NVM storage medium in response to the read commands. The storage management unit 260 also manages the NVM storage media and provides wear leveling, garbage collection, etc. services.
The KVETL unit 240 converts a key (K) accessing the storage device into a value (V) indicating a physical address or a logical address by using an FTL table such as that illustrated in FIG. 1B and accesses the NVM storage medium according to the value (V).
The error-checking unit 270 is, for example, a BCH, an LDPC codec, for error-checking encoding data written to the NVM storage medium and error-checking decoding data read from the NVM storage medium.
The KV FTL unit 240, the storage management unit 260, and the one or more application programs 280 are implemented as firmware and run in the CPU subsystem 230, for example.
The accelerator unit 250 includes one or more hardware accelerators, such as an AI processor, a multimedia processor, a linked list/tree structure access accelerator, and the like. The accelerator unit 250 is accessed and used by a KV FTL unit 240, a storage management unit 260, one or more application programs 280, etc. running in the CPU subsystem 230.
Optionally, the KV storage device further includes a data source identifier, a computing device identifier, an access rights identification, and the like. The data source identifier indicates a data source to which the KV storage device is coupled, e.g., a camera, and characteristic information (video acquisition time, snapshot, object present in the video, etc.) related to video data acquired by the camera is stored in the KV storage device. The computing device identifier is used to indicate that the KV storage device has computing power as the computing device, for example, the KV storage device with a general-purpose CPU can handle general applications, the KV storage device with an AI accelerator can handle AI-related applications, and the KV storage device with a compression/decompression accelerator can handle data compression/decompression applications. One or more applications for which the KV storage device is suitable to run are obtained according to the computing device identifier. The access rights identifier is used to indicate which users or devices the KV storage device or one or more applications thereon may be used by.
Example two
FIG. 3 is a schematic diagram of a memory system according to an embodiment of the present application.
The storage system according to the embodiment of the application is used for providing cloud computing and/or fog computing (also called edge computing) oriented to the internet of things, and comprises a client, an area server, a root server and resources for providing resources, which are coupled through a network.
The clients, zone servers, and root servers coupled to the network may each be one or more. In one mode, a user initiates a service request to an area server of an area where the user is located through a client and receives a response provided by the area server. The regional server may access the public resources of the whole network in response to the service request. Optionally, the client requests its available regional server from the root server. The root server records the available area servers of each area, and identifies the area to which the client belongs according to the service request of the client.
As another mode, a user accesses a resource associated with the user or client through a client, for example, accesses a KV storage device owned by the user, or a camera provided in the user's home. The client initiates the service request directly to the associated resource without going through the regional server. The resources associated with the client/user are private and only accessible to the designated client/user. For example, a private resource may be accessible only to users to which it belongs and/or to clients that are adjacent thereto. By way of example, the distance of a client from a private resource is assessed in terms of the number of network hops taken to access the private resource from the client.
The resources include a variety of, for example, data acquisition devices (cameras, sensors), storage devices (KV storage devices as shown in fig. 2), computing devices (computers, servers, or applications running in KV storage devices as shown in fig. 2), and the like. Some data acquisition resources also act as computing devices and/or storage devices. Some storage devices (such as the KV storage device shown in fig. 2) also function as computing devices through running applications. Some storage devices are merely storage devices.
Various resources may respond to the request. For example, the data collection device includes a data source identifier, a data collection device attribute, a location attribute, optionally a computing device identifier, an access rights identifier, and the like. The data source identifier uniquely identifies the data acquisition device. The data acquisition device attribute indicates the type of the data acquisition device (e.g., camera, temperature sensor, GPS positioning device, etc.), IP address, etc. The location attribute identifies the geographic location at which the data acquisition device is located. The computing device identifier is also provided for a data acquisition device having computing capabilities (e.g., an executable application). One or more applications suitable for running by the data acquisition device are obtained based on the computing device identifier. The access rights identifier is used to indicate which users or devices the data collection may be used by.
The computing device includes a computing device identifier, an installed application identifier, and optionally an access rights identifier. The computing device identifier is used to uniquely identify the computing device on the network and indicates the computing capabilities that the computing device has (to indicate which application or applications the computing device may run), and the installed application identifier indicates the application that has been installed or is available for service on the computing device.
The regional server provides various services, such as searching for data acquisition equipment meeting specified conditions, searching for storage equipment meeting specified conditions, searching for computing equipment meeting specified conditions, and registering services of various resources; update services for applications of a computing device. The regional server also provides processing of service requests meeting specified conditions, such as searching for persons/objects meeting specified conditions from videos or images, tracking specified persons/vehicles, drawing running tracks of specified tasks/vehicles, counting the number of occurrences of persons/objects meeting specified conditions, and the like.
The regional server distributes the query request according to the received service request, for example, in a Map-reduce (Map-reduce) manner. For example, the service request indicates to search for people with specified characteristics in a specified area within a specified time period, the area server obtains all camera resources in the specified area according to its own database, and obtains KV storage devices corresponding to the camera resources according to the respective camera resources. The regional server sends the query request to each KV storage device and also sends application information used for processing the query request to the KV storage device. The application program of the KV storage device processes the query request, generates a key (K), obtains a value (V) corresponding to the key (K) from the local storage as a query result, and returns the query result to the area server. Alternatively or in addition, the application program obtains the original data from the value (V), and further processes the original data according to the query request, and the processing result is also used as the processing result. The regional server aggregates the query results obtained from the various KV storage devices and provides the final results to the client as a response to the service request.
Optionally, before sending the query request to the KV storage device, the region server queries an application program running on the KV storage device to obtain whether the KV storage device can process the query request. If the KV storage device cannot process the query request due to lack of the application program, the regional server also indicates the application program updated by the KV storage device in parallel. The regional server also queries the computing power and/or the computing load of the KV storage device, and sends a query request to the appropriate KV storage device according to the computing power and/or the computing load of the KV storage device.
Optionally, the KV storage device also requests the regional server to reform the query request in response to the lack of its own computing power, and sends the query request to other KV storage devices.
Alternatively, the zone server has greater authority and can use all of the resources in the storage system.
Example III
Fig. 4A is a flowchart of a storage system implementing cloud computing according to an embodiment of the present application.
As shown in fig. 4A, the client initiates a service request to the area server, for example, querying where the vehicle with license plate ABC123 was present in the last 24 hours.
The client knows the regional server that serves it and thus directly issues a service request to the regional server. Optionally, the zone server fails and the client sends a request to the root server to query its available zone servers. The root server maintains all available zone servers in the storage system and updates the state of the maintained zone servers and indicates to the client the zone servers that it should use.
And the regional server sends a query request to the resources corresponding to the same service request according to the received service request. For example, the regional server identifies a client to query for vehicles with a specified license plate and issues a query request to a KV storage device coupled to the camera. The zone server generates a key (K) for accessing the KV storage device using a specified calculation process according to the service request. For example, the zone server provides a service request to the AI unit and generates a key (K) based on the values of one or more nodes of the AI unit.
In response to receiving the key (K) provided by the zone server, the KV storage device C provides a value (V) corresponding to the key (K) to the zone server. When the KV storage device records the content corresponding to the query request, the value (V) is structured information such as a snapshot of the video of the vehicle with the license plate ABC123, a storage location of the original video, a time when the snapshot is recorded, and the like. The zone server provides the value (V) to the client as a result of processing the service request.
As yet another example, the zone server sends a query request to an application running on the KV storage device. The query request indicates the application to be used. And the application program processes the data stored in the KV storage device according to the query request. For example, the application program generates a key (K) according to the query request, obtains a corresponding value (V) from the KV storage device using the key (K), obtains a storage location of the original video data from the value (V), obtains the original video data from the storage location, analyzes the video data to obtain one or more video shots of the vehicle in which the queried license plate ABC123 appears, and provides the region server with structural information such as the storage location of the original video, the time at which the snapshot is recorded, and the like as a response to the query request.
Fig. 4B is a flow chart of a storage system implementing cloud computing according to yet another embodiment of the present application. In fig. 4B, the area server sends out a query request (key (K)) to a plurality of KV storage devices (KV storage device C and KV storage device D), and receives a value (V) corresponding to the key (K) output from the KV storage devices. The region server also sorts the received multiple values (V) (structured information corresponding to the query request), for example, displays multiple pieces of structured information in one page, deletes duplicate information, ranks according to relevance/chronological order, and so on. The zone server provides the consolidated plurality of values (V) to the client for presentation to the user.
FIG. 4C is a flow chart of a storage system implementing cloud computing according to another embodiment of the present application.
As shown in fig. 4C, the zone server transmits a query request to the application a of the KV storage device C in response to a service request of the client. Application a of the KV storage device recognizes that no license plate information is contained in the value (V) stored by itself, generates a calculation request, and instructs a computing device coupled thereto (e.g., another application B running in the KV storage device, or a server coupled to the KV storage device) to analyze the original video data associated with the KV storage device, to obtain one or more video shots of a vehicle in which the queried license plate ABC123 appears, and provides the video shots to the KV storage device (application a). The KV storage device (application a) provides the acquired video screenshot, together with the storage location of the original video, the time at which the snapshot was recorded, and other structured information to the region server as a response to the query request.
Optionally, during waiting for the computing device to process the computing request, the KV storage device also informs the regional server to wait a period of time, which the KV storage device needs to take to process the query request of the regional server.
Fig. 4D is a flow chart of a storage system implementing cloud computing according to yet another embodiment of the present application.
As shown in fig. 4D, the embodiment illustrated in fig. 4D is similar to the embodiment illustrated in fig. 4C, with the difference that application a of KV storage device C generates a calculation request, instructing computing device D coupled thereto to process the calculation request. However, computing device D refuses the computing request for some reason (e.g., busy or lack of an application for corresponding processing). In response, application A of KV storage C queries the regional server for resources that can handle the computation request. The zone server responds to the request of the application program A, informs the application program A that the computing device E can be used for processing the computing request, and provides information such as a computing device identifier of the computing device E for the application program A. Application a of KV storage device C instructs computing device E to process the computing request and, optionally, also notifies the regional server to wait for a period of time, as instructed by the regional server. The computing device E processes the computing request and provides the processing result to the application program A of the KV storage device C. The application program A provides the received processing result and the structural information corresponding to the query request to the regional server as a response to the query request.
Optionally, computing device D is responsive to receiving a computing request from application a. From the calculation request, computing device D knows that it has the ability to process the calculation request, but needs to install the specified application a'. Computing device D requests installation of application a' from the zone server and notifies application a to wait for a period of time. In response to a request by computing device D, the zone server sends application a' to computing device D. The computing device D runs the received application a' to process the computing request and provides the processing result of the computing request to the application a.
Fig. 4E is a flowchart of a storage system implementing cloud computing according to yet another embodiment of the present application.
As shown in fig. 4E, the KV storage device C is written with new data, for example, structured data (value (V)) of a key (K) and a video corresponding to a piece of video newly captured by the camera. However, there is no license plate information in the structured data. The application program a of the KV storage device C wishes to add license plate information in the structured data, and sends a calculation request to the calculation device D associated with the KV storage device C, where the calculation request indicates a storage location of the original video and extracts license plate information from the original video. In response to receiving the calculation request, the computing device D analyzes the original video data to obtain license plate information appearing therein and optionally a screenshot of a video frame in which the license plate information appears, and provides the license plate information, the screenshot and/or the time when the screenshot appears to the application a.
Optionally, the computing device D further requests the area server to provide the application a 'for processing the computing request, and runs the application a' to extract license plate information from the original video data.
Fig. 4F is a flowchart of a storage system implementing cloud computing according to yet another embodiment of the present application.
In some cases, application B with specific functionality is updated as application B ', and the area server installs the updated application B' to the computing device coupled thereto. To run application B', the computing device is required to meet specified conditions (e.g., have an AI accelerator or a compression/decompression accelerator). The zone server broadcasts a query request to one or more computing devices coupled thereto (e.g., computing device a and computing device B) to obtain whether each computing device satisfies the condition for running application B'. Optionally, the query request also asks each computing device whether application B 'and/or a version of installed application B' has been installed. As shown in fig. 4F, from the responses of the respective computing devices to the query requests, the area server knows that computing device a can install application B ', but that computing device B cannot install application B'. The zone server thus sends application B ' to computing device a and instructs it to install application B ', and the zone server informs computing device B that it will not install application B '. Computing device a also provides a confirmation indication to the zone server that application B 'is installed, whereas computing device B does not install application B' to provide a confirmation indication to the zone server.
According to the embodiment of fig. 4F, an application update procedure initiated by a zone server is illustrated. Optionally, an application update procedure is initiated by either computing device a or computing device B. For example, the computing device requests installation of a new application from the zone server; or the computing device queries the zone server for version information of its installed application and requests the zone server to provide it with the latest or specified version of the application and install it, if necessary.
Example IV
The client of the fog calculation maintains its own resource database to know which resources are available in the storage system to respond to the request. Optionally, the mist computing client also uses open resources provided by the storage system and maintains available open resources in its own resource database. As an example, cameras within a commercial building are private resources and only mist computing clients of the commercial building are allowed to access, structured data stored in KV storage devices according to video data acquired by the cameras allow all users/devices of the storage system to access, and the computation results (conclusion data) obtained in response to service requests initiated by the mist computing clients are only allowed to access.
As yet another example, a KV storage device may use its own storage and computing capabilities to respond to requests in response to service requests initiated by fog computing clients, as well as private resources in close proximity to itself (e.g., KV storage devices and computing devices within a mall). As one example, the distance of a KV storage device from a private resource is evaluated based on the number of network hops through which the private resource is accessed from the KV storage device.
Fig. 5A is a flow chart of a storage system implementing fog calculation according to an embodiment of the present application.
As shown in fig. 5A, the mist computing client initiates a service request to the KV storage system, for example, querying the number of consumers that camera C captured over the last 24 hours. The fog calculation client acquires that the KV storage device C is related to the camera C from a database of the fog calculation client, so that a service request is sent to the KV storage device C.
According to the received service request, the KV storage device C acquires the storage position of original video data shot by the camera C in the past 24 hours through the structured information of the value (V) stored by the KV storage device C, loads the original video data, analyzes the original video data, identifies people appearing in the original video data, counts the people, and responds to the service request of the fog calculation client. By way of example, application A running on KV storage C is used to identify people from video. In yet another example, the KV storage device C cannot run the application a, the KV storage device accesses one or more computing devices D in proximity thereto, and instructs the computing devices D to identify a person from the original video data. The computing device D provides the recognition result to the KV storage device C.
In another example, KV storage device C has not yet been installed with an application for identifying people from video. The KV storage device C requests an application program for identifying a person from a video or requests a specified application program a from the application distribution server. The application distribution server transmits the application program A to the KV storage device in response to the request, and installs and runs the application program A on the KV storage device. The KV storage device C runs the application a to identify a person from the original video data. In yet another example, the computing device D requested by the KV storage device installs the application a through the application distribution server.
As an example, the application distribution server is a regional server (see also fig. 3). Alternatively, an application distribution server is deployed in the network proximate to the mist computing client for distributing applications to resources in the network proximate to the mist computing client. The application distribution server also serves as a database, providing resource query services. The mist computing client acquires available resources from the application distribution server, and information such as the location, attributes, installed applications, and the like of the resources.
Fig. 5B is a flow chart of a storage system implementing fog calculation according to yet another embodiment of the present application.
As shown in fig. 5B, the mist computing client initiates a service request to the KV storage device, for example, querying the number of consumers that camera C captured over the last 24 hours. The mist computing client initiates a service request (e.g., by broadcast) to any KV storage devices it can access.
The KV storage device that received the service request, e.g., KV storage device C, accesses the computing device query server to obtain one or more computing devices capable of processing the service request. The computing device query server is, for example, an application in the KV storage device, a computing device in the network that is disposed adjacent to the KV storage device C, or an application distribution server (see also fig. 5A).
The computing device query server broadcasts a request in the network asking which computing devices in the network in proximity thereto can respond to the service request or query requests generated from the service request. The scope in which requests are broadcast is limited to computing devices that are close to the computing device query server, thereby avoiding flooding of the network with request broadcast requests.
With continued reference to fig. 5B, computing device 1 and computing device 2 respond to the broadcast request by giving a response to the computing device query server indicating that it can process the service request or query request. The computing device query server provides computing device 1 and computing device 2 as available computing device resources to KV storage device C. The KV storage device C selects one of the available computing devices (e.g., computing device 2) and issues a service request or a query request to the selected computing device, and receives the processing results from the selected computing device and provides the processing results to the mist computing client.
Fig. 5C is a flow chart of a storage system implementing fog calculation according to yet another embodiment of the present application.
The embodiment shown in fig. 5C is similar to the embodiment of fig. 5B. Except that the computing device query server is omitted.
As shown in fig. 5C, the application program of the KV storage device C broadcasts a request in the network in response to a service request of the mist computing client, asking which computing devices in the network adjacent thereto can respond to the service request or a query request generated from the service request. By way of example, KV storage device C broadcasts a request within 1 hop of its network. Referring to fig. 5C, computing device 3-1 and computing device 3-2 are computing devices within 1 hop network distance from KV storage device C, and receive a broadcast request from KV storage device C.
In response to the broadcast request, both computing device 3-1 and computing device 3-2 give a reply to KV storage device C, each indicating to KV storage device C that it can process the query request. Computing device 3-1 and computing device 3-2 also forward the broadcast request within 1 hop network distance from each start point. Computing device 4-1 receives the forwarded network request at a network distance of less than 1 hop from computing device 3-1 or computing device 3-2 to computing device 4-2. In response to the broadcast request, both computing device 4-1 and computing device 4-2 give a reply to KV storage device C, each indicating to KV storage device C that it can process the query request. By way of example, the range over which the broadcast request is propagated is limited to a 2-hop network distance from KV storage device C, so that computing device 4-1 and computing device 4-2 no longer forward the broadcast request.
In response to receiving the answer from the computing device, KV storage device C selects to process the query request by computing device 3-1 and informs computing device 3-1 of the selection. Optionally, KV storage C also informs computing device 3-2, computing device 4-1, and computing device 4-2 of the result of the refusal to use of computing device 3-2, computing device 4-1, and computing device 4-2, respectively.
The KV storage device C issues a query request to the selected computing device 3-1, and receives the processing result from the selected computing device 3-1 and provides the processing result to the mist computing client.
Referring back to fig. 3, according to an embodiment of the present application, the client may initiate a service query according to the cloud computing flow shown in fig. 4A-4F through the area server, or may initiate a service query according to the fog computing flow shown in fig. 5A-5C through a KV storage device adjacent to or bound to the area server. Thereby fusing cloud and fog calculations. Providing more advantageous services to each participant in the network.
The storage system according to the embodiment of the application can be deployed by various mechanisms, so that the deployment cost is reduced. For example, a storage system (including a root server, an area server, one or more resources, and clients) S according to the present application is deployed by a public service user, such as an environmental protection authority or a public safety authority, and all of the resources of the storage system are used by the area server. For a newly established market, various resources (including cameras, KV storage devices, computing devices, clients, etc.) are deployed in a market network (market private), and the market network can be added to the storage system S. By maintaining each resource in the newly added mall network in the area server, the client originally deployed for the storage system S can use the resources of the mall network, so that the cost required for updating the storage system S is reduced, and once the resources of the mall network are accessed into the storage system S, the resources of the mall network can be used by the client of the storage system S in a cloud computing mode. Therefore, the IT infrastructure of the storage system S is partially supplemented by the private network, the construction cost of the storage system S is reduced, and the defect that the storage system S serving as public cloud is difficult to interconnect with the private network is overcome. And the clients/users belonging to the market network can use the part of the resources disclosed in the storage system S in addition to the resources deployed in the market network in a fog computing mode.
And, the resources of the storage system S (KV storage devices, computing devices, data acquisition devices, etc.) are given more opportunities to be utilized, and can be used by clients of the private network (mall network) in addition to clients of the storage system S.
For the user/client, more and more amount of resources can be obtained from the storage system S, in addition to the resources that are commonly maintained in the storage system, there is also an opportunity to use the resources that are subsequently added to the private network of the storage system S, with more resources enabling the needs of the user/client to be more and more efficiently met.
Further, network traffic generated by the fog calculation mode is limited in a range close to a client side initiating the service request, so that the distance of data transmission in the network is reduced, and network load and power consumption are reduced.
While preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the application. It will be apparent to those skilled in the art that various modifications and variations can be made in the present application without departing from the spirit or scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims and the equivalents thereof, the present application is intended to cover such modifications and variations.

Claims (10)

1. The storage system is characterized by comprising a client, an area server, a root server and a resource for providing the resource, wherein the client, the area server and the root server are coupled through a network, the resource comprises a data acquisition device, a computing device and a storage device, and the storage device comprises a KV storage device; the regional server is used for receiving a service request sent by a user through a client and accessing public resources of the whole network to respond to the service request;
the client directly initiates a service request to the associated resource without passing through the regional server;
when the resources corresponding to the service request are KV storage equipment, the KV storage equipment provides a response to the service request for the client according to the received service request, wherein the KV storage equipment responds to the service request through the storage and calculation capacity of the KV storage equipment or the resources adjacent to the KV storage equipment.
2. The storage system of claim 1, wherein the KV storage device obtains data from its KV stored value and uses the analysis of the data as a response to a service request from the client.
3. The storage system of claim 2, wherein the KV storage device analyzes the data by running a first application; or KV storage device accesses one or more computing devices in proximity thereto and instructs the computing devices to analyze the data.
4. The storage system of any of claims 1-3, wherein the KV storage device accesses a computing device query server to obtain one or more computing devices capable of processing the service request; wherein the computing device query server is one or more of an application in a KV storage device, a computing device in a network deployed adjacent to the KV storage device, or an application distribution server; the application distribution server is a regional server.
5. The storage system of claim 4, wherein the computing device query server broadcasts requests in the network asking which computing devices in a network adjacent thereto can respond to the service request, wherein the range in which requests are broadcast is limited to computing devices adjacent to the computing device query server.
6. The storage system of any of claims 1-5, wherein the KV storage device is rated for distance from the private resource based on a number of network hops through which the private resource is accessed from the KV storage device.
7. The storage system of claim 6, wherein the KV storage device broadcasts requests within 1 hop of its network;
the computing devices that respond to the broadcast request also forward the broadcast request within a 1-hop network distance from each starting point, where the range over which the broadcast request is propagated is limited to a 2-hop network distance from the KV storage device.
8. The storage system of any of claims 1-7, further comprising:
the client initiates a service request to the regional server in the region where the client is located and receives a response provided by the regional server.
9. A storage system implemented method applied to a storage system according to any one of claims 1-8, comprising:
the client directly initiates a first service request to the KV storage device;
and the KV storage equipment provides a response to the first service request for the client according to the received first service request.
10. The method as claimed in claim 9, comprising: and the KV storage equipment acquires the storage position of the first data acquired by the first data acquisition equipment in the appointed time according to the received first service request through the KV storage value of the KV storage equipment, loads the first data, and takes the analysis result of the first data as a response to the first service request of the client.
CN202110945026.3A 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device Active CN113660336B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110945026.3A CN113660336B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110945026.3A CN113660336B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device
CN201810286955.6A CN110324380B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201810286955.6A Division CN110324380B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device

Publications (2)

Publication Number Publication Date
CN113660336A CN113660336A (en) 2021-11-16
CN113660336B true CN113660336B (en) 2024-03-15

Family

ID=68112114

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810286955.6A Active CN110324380B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device
CN202110945026.3A Active CN113660336B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810286955.6A Active CN110324380B (en) 2018-03-30 2018-03-30 Cloud computing and fog computing system using KV storage device

Country Status (1)

Country Link
CN (2) CN110324380B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765055B (en) * 2019-11-01 2021-12-21 北京忆芯科技有限公司 Control unit of storage device
CN112866299B (en) * 2021-04-12 2022-03-18 南京大学 Encrypted data deduplication and sharing device and method for mobile edge computing network

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101097546A (en) * 2006-06-27 2008-01-02 国际商业机器公司 A method and system for memory address translation and pinning
CN101835098A (en) * 2010-03-26 2010-09-15 清华大学 Dense user area-orientated wireless network reconstructed communication method
CN101895668A (en) * 2009-11-09 2010-11-24 深圳市同洲电子股份有限公司 Set top box and family cloud computing method based on same
CN103491345A (en) * 2013-09-03 2014-01-01 珠海市竞争电子科技有限公司 Visual intercom cloud server and video doorphone system based on cloud technology
CN104050249A (en) * 2011-12-31 2014-09-17 北京奇虎科技有限公司 Distributed query engine system and method and metadata server
CN104850502A (en) * 2015-05-05 2015-08-19 华为技术有限公司 Method, apparatus and device for accessing data
CN105872014A (en) * 2016-03-16 2016-08-17 中国联合网络通信集团有限公司 MCDN (Mobile Content Distribution Network) resource dispatching method and server
CN106294573A (en) * 2016-07-28 2017-01-04 Tcl集团股份有限公司 A kind of mass data Query method in real time and system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2187400B1 (en) * 2008-11-14 2012-01-04 Telefonaktiebolaget L M Ericsson (publ) Network access device with shared memory
US8364714B2 (en) * 2009-06-08 2013-01-29 International Business Machines Corporation Servicing query with access path security in relational database management system
WO2011096853A1 (en) * 2010-02-02 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for routing xcap requests
CN102541461B (en) * 2010-12-31 2014-11-19 阿里巴巴集团控股有限公司 Data reading-writing method and device for remote data storage and system thereof
CN103902632B (en) * 2012-12-31 2018-01-02 华为技术有限公司 The method, apparatus and electronic equipment of file system are built in key assignments storage system
CN104185166B (en) * 2013-05-20 2018-03-09 华为终端有限公司 The method, apparatus and network system of communication
CN104182418B (en) * 2013-05-27 2018-11-16 阿里巴巴集团控股有限公司 Node metadata acquisition methods and device
CN104424199B (en) * 2013-08-21 2018-07-24 阿里巴巴集团控股有限公司 searching method and device
CN104580127B (en) * 2013-10-29 2019-07-02 腾讯科技(北京)有限公司 Method for processing business, server and client
CN105407117B (en) * 2014-09-10 2019-04-09 腾讯科技(深圳)有限公司 The methods, devices and systems of distributed backup data
CN105653539A (en) * 2014-11-13 2016-06-08 腾讯数码(深圳)有限公司 Index distributed storage implement method and device
US10853370B2 (en) * 2015-06-26 2020-12-01 Intel Corporation Devices and/or methods to provide a query response based on ephemeral data
US10192065B2 (en) * 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US9846785B2 (en) * 2015-11-25 2017-12-19 International Business Machines Corporation Efficient two party oblivious transfer using a leveled fully homomorphic encryption
US20170235647A1 (en) * 2016-02-12 2017-08-17 Commvault Systems, Inc. Data protection operations based on network path information
US10558702B2 (en) * 2016-04-06 2020-02-11 Baidu Usa Llc Unified storage system for online image searching and offline image analytics
US11249970B2 (en) * 2016-05-05 2022-02-15 Mastercard International Incorporated Method and system for distributed data storage with eternal integrity guarantees
CN107783980B (en) * 2016-08-24 2021-10-19 阿里巴巴集团控股有限公司 Index data generation and data query method and device, and storage and query system
CN107545026B (en) * 2017-06-28 2023-04-28 新华三技术有限公司 Method and device for realizing function of interface name analysis tree
CN107707665A (en) * 2017-10-19 2018-02-16 郑州云海信息技术有限公司 A kind of network storage method, device, system and computer-readable recording medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101097546A (en) * 2006-06-27 2008-01-02 国际商业机器公司 A method and system for memory address translation and pinning
CN101895668A (en) * 2009-11-09 2010-11-24 深圳市同洲电子股份有限公司 Set top box and family cloud computing method based on same
CN101835098A (en) * 2010-03-26 2010-09-15 清华大学 Dense user area-orientated wireless network reconstructed communication method
CN104050249A (en) * 2011-12-31 2014-09-17 北京奇虎科技有限公司 Distributed query engine system and method and metadata server
CN103491345A (en) * 2013-09-03 2014-01-01 珠海市竞争电子科技有限公司 Visual intercom cloud server and video doorphone system based on cloud technology
CN104850502A (en) * 2015-05-05 2015-08-19 华为技术有限公司 Method, apparatus and device for accessing data
CN105872014A (en) * 2016-03-16 2016-08-17 中国联合网络通信集团有限公司 MCDN (Mobile Content Distribution Network) resource dispatching method and server
CN106294573A (en) * 2016-07-28 2017-01-04 Tcl集团股份有限公司 A kind of mass data Query method in real time and system

Also Published As

Publication number Publication date
CN110324380A (en) 2019-10-11
CN110324380B (en) 2021-09-07
CN113660336A (en) 2021-11-16

Similar Documents

Publication Publication Date Title
US20160269501A1 (en) Using a cache cluster of a cloud computing service as a victim cache
WO2017167171A1 (en) Data operation method, server, and storage system
US20130311742A1 (en) Image management method, mobile terminal and computer storage medium
CN109936571B (en) Mass data sharing method, open sharing platform and electronic equipment
WO2016180055A1 (en) Method, device and system for storing and reading data
WO2014180232A1 (en) Method and device for responding to a request, and distributed file system
US20160070475A1 (en) Memory Management Method, Apparatus, and System
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
CN113660336B (en) Cloud computing and fog computing system using KV storage device
CN111488377A (en) Data query method and device, electronic equipment and storage medium
CN104598503A (en) Geographic information data inquiry method, device and system
CN108154024B (en) Data retrieval method and device and electronic equipment
US20200145490A1 (en) Systems and methods for content origin administration
CN114840140A (en) On-cloud data caching method, device, equipment and storage medium
CN113542382B (en) KV storage device in cloud computing and fog computing system
CN110324381B (en) KV storage device in cloud computing and fog computing system
WO2016201998A1 (en) Cache distribution, data access and data sending methods, processors, and system
CN113301173A (en) Domain name updating system and method, message forwarding method and server
US20230045914A1 (en) Method and apparatus for controlling device in internet of things, and gateway device and storage medium
CN112395453B (en) Self-adaptive distributed remote sensing image caching and searching method
US20080201551A1 (en) Virtual disk router system and virtual disk access system and method therefor
CN111581451B (en) Update and query of distributed KV storage system
CN110191346B (en) Cloud management method and device and computer readable storage medium
CN113126908A (en) Storage device configured to support multi-streaming and method of operating the same
CN110377535B (en) Distributed KV storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant