EP4057577A1 - Adressierungsverfahren, adressierungssystem und adressierungsvorrichtung - Google Patents

Adressierungsverfahren, adressierungssystem und adressierungsvorrichtung Download PDF

Info

Publication number
EP4057577A1
EP4057577A1 EP19951670.9A EP19951670A EP4057577A1 EP 4057577 A1 EP4057577 A1 EP 4057577A1 EP 19951670 A EP19951670 A EP 19951670A EP 4057577 A1 EP4057577 A1 EP 4057577A1
Authority
EP
European Patent Office
Prior art keywords
node
routing information
content
identifier
target
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.)
Pending
Application number
EP19951670.9A
Other languages
English (en)
French (fr)
Other versions
EP4057577A4 (de
Inventor
Zhefeng Yan
Huimin Zhang
Chang Liu
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of EP4057577A1 publication Critical patent/EP4057577A1/de
Publication of EP4057577A4 publication Critical patent/EP4057577A4/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Definitions

  • This application relates to the field of information technologies, and more specifically, to an addressing method, an addressing system, and an addressing apparatus.
  • the capacity may refer to a computing resource (for example, a memory), a storage resource (for example, a hard drive), or a network resource (for example, a network input/output). Therefore, a distributed storage system is provided.
  • a service is provided by coordinating a plurality of terminals to work together to meet the demand for capacity.
  • addressing in the distributed storage system may be implemented by using a distributed hash table (distributed hash table, DHT) technology.
  • the DHT technology may use routing at an overlay, and a network constructed by using the DHT technology may have a ring topology.
  • each node may have a unique node identifier.
  • Each node stores, in routing information, information about identifiers and addresses of an in-order precursor node and an in-order successor node that are connected to the node. Other nodes can be found conveniently based on information in the routing information. The search effect is good.
  • address information of a mobile terminal may frequently change with changes of an access manner.
  • address information of any node in the distributed storage system changes, DHT routing information and node identifier information frequently change correspondingly. This results in large signaling overheads of a terminal device in an addressing process. Therefore, when an address of a mobile node frequently changes, how to reduce signaling overheads of the terminal device in the addressing process becomes an urgent problem to be resolved.
  • This application provides an addressing method, an addressing system, and an addressing apparatus, to reduce a quantity of times of updating routing information and reduce network overheads when an address of a mobile node frequently changes.
  • an addressing method includes: A requesting node obtains routing information of a distributed storage network, where the distributed storage network includes one or more fixed nodes, the routing information includes one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, and a communication address of a mobile node corresponding to the user identifier in the routing information is a preset field; the requesting node obtains, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers; and the requesting node obtains target content based on the target communication address.
  • the communication address may be an internet protocol IP address.
  • the communication address corresponding to the content identifier is a communication address of a node that stores content corresponding to the content identifier.
  • the user identifier corresponding to the content identifier is a user identifier of a user to which the node storing the content corresponding to the content identifier belongs.
  • a communication address is a preset field means that when the communication address of the mobile node is updated, the communication address of the mobile node in the routing information remains unchanged.
  • the communication address of the mobile node is a null entry in the routing information, or is a preset field that indicates that the communication address is a communication address of a mobile node.
  • the content identifier may alternatively be an identifier of the node storing the content.
  • the requesting node may perform addressing of the target content based on triplet routing information, namely, the routing information that includes the content identifier, the communication address corresponding to the content identifier, and the user identifier corresponding to the content identifier, to obtain the target content.
  • the communication address that is of the mobile node corresponding to the user identifier and that is stored in the routing information may be the preset field, in other words, the communication address of the mobile node included in the routing information is not updated with changes of the communication address of the mobile node. Therefore, frequent changes of the routing information of the distributed storage network caused by frequent changes of the communication address of the mobile node are reduced, and network overheads are reduced.
  • the requesting node obtains, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers includes: The requesting node obtains, based on the target content identifier and the routing information, a target user identifier corresponding to the target content identifier; and the requesting node obtains, based on the target user identifier, a communication address of a mobile node corresponding to the target user identifier.
  • one user identifier (for example, a user ID) may be registered for one user, and the user may log in to the user identifier on a plurality of terminal devices, so that stored content of the plurality of terminal devices of the user can be synchronized and shared.
  • the mobile node corresponding to the user identifier may be a terminal device such as a smartphone, a tablet, or a portable computer.
  • a fixed node corresponding to the user identifier may be a terminal device such as a desktop computer, a smart television, network attached storage, or a smart home device gateway.
  • the requesting node may query the routing information based on the target content identifier. If it is found that the communication address corresponding to the target content identifier is a preset field, it indicates that the target content corresponding to the target content identifier is stored on the mobile node. In this case, the requesting node may find, based on the target content identifier, the target user identifier corresponding to the target content identifier, and may obtain, based on the target user identifier, information about the mobile node corresponding to the target user identifier. Further, the requesting node may access the communication address of the mobile node until the target content is obtained.
  • the requesting node may query the routing information based on the target content identifier, find the communication address corresponding to the target content identifier, and access the communication address, but fail to obtain the target content.
  • the requesting node may find, based on the target content identifier, the target user identifier corresponding to the target content identifier, and may obtain, based on the target user identifier, communication addresses of the mobile node and the fixed node that correspond to the target user identifier, and access the mobile node and the fixed node until the target content is obtained.
  • the requesting node may obtain the target user identifier corresponding to the target content identifier, and then obtain the information about the mobile node and/or the fixed node based on the target user identifier, to obtain the target content.
  • the requesting node obtains, based on the target user identifier, a communication address of a mobile node corresponding to the target user identifier includes: The requesting node sends a query instruction to a user management server, where the query instruction includes the target user identifier, and the user management server is configured to manage information about a mobile node and a fixed node that belong to the user identifier; and the requesting node receives a communication address list sent by the user management server, where the communication address list includes the communication address of the mobile node corresponding to the target user identifier.
  • the user management server may be configured to maintain and manage user identifiers and device information of different users.
  • Device information may include information about all fixed nodes and mobile nodes that belong to an identifier of a user, for example, IP address information and a node type (a mobile node or a fixed node) of a device that belongs to the user.
  • the requesting node may query information about the communication address of the mobile node or the fixed node from the user management server based on the target user identifier queried from the routing information. In this way, when the communication address of the mobile node is frequently updated, the routing information in the distributed storage network does not need to be updated for a plurality of times. This reduces network overheads.
  • the requesting node is a fixed node
  • that a requesting node obtains routing information of a distributed storage network includes: The requesting node sends a routing information query instruction, where the routing information query instruction includes the target content identifier; or the requesting node determines, based on the target content identifier and by using a distributed hash algorithm, information about a fixed node that stores the routing information, and the requesting node obtains the routing information from the fixed node that stores the routing information.
  • the requesting node may obtain, through preconfiguration, domain name resolution, hypertext transfer protocol redirection, or the like, information about the fixed node that stores the routing information, access the fixed node, and query the routing information.
  • the requesting node is a mobile node
  • that a requesting node obtains routing information of a distributed storage network includes: The requesting node obtains information about a first fixed node from the user management server, where the first fixed node and the requesting node correspond to a same user identifier; the requesting node sends a routing information query instruction to the first fixed node, where the routing information query instruction includes the target content identifier; and the requesting node obtains the routing information from the first fixed node.
  • the requesting node may be a mobile node in a system.
  • the requesting node may not be deployed on a DHT ring. Therefore, the requesting node cannot directly access the routing information in the distributed storage network.
  • the requesting node may obtain the routing information from a fixed node that belongs to the same user ID as the requesting node, and the fixed node forwards the routing information to the requesting node.
  • that the requesting node obtains target content based on the target communication address includes: The requesting node determines a second fixed node based on the user identifier corresponding to the requesting node; and the requesting node obtains the target content from the second fixed node, where the second fixed node and the requesting node correspond to the same user identifier.
  • the requesting node may be a first mobile node
  • the node storing the target content may be a second mobile node. If the first mobile node cannot directly access the second mobile node, for example, both the mobile nodes are deployed in a cellular network, the first node may use a fixed node belonging to the same user identifier as a proxy, and request the fixed node belonging to the same user identifier to obtain needed content and forward the content to the first mobile node.
  • the routing information includes a first content identifier, a first user identifier corresponding to the first content identifier, and a communication address that corresponds to the first content identifier and that is a preset field; and when a content identifier corresponding to newly added stored content included in a third fixed node is the first content identifier, and a user identifier corresponding to the third fixed node is the first user identifier, the addressing method further includes:
  • the requesting node obtains updated routing information, where the updated routing information is obtained by updating the communication address that corresponds to the first content identifier and that is a preset field in the routing information to a communication address of the third fixed node, and the third fixed node is any node in the distributed storage network.
  • the routing information when new stored content is added to a fixed node, a communication address of a fixed node changes, or a fixed node joins the distributed storage network for the first time, the routing information needs to be updated. It may be determined whether routing information that is the same as an identifier of the newly added content and a user identifier corresponding to the identifier of the newly added content exists in the existing routing information. If yes, it may be determined whether a communication address corresponding to the identifier of the newly added content is a preset field. If the communication address is a preset field, the routing information may be updated with a communication address of the fixed node corresponding to the identifier of the newly added content.
  • the communication address is not a preset field, the communication address is updated. If the routing information that is the same as the identifier of the newly added content and the user identifier corresponding to the identifier of the newly added content does not exist, new routing information including triplet information (the identifier of the newly added content, the user identifier, and a communication address) is added.
  • the addressing method further includes: The requesting node obtains updated routing information, where the updated routing information is obtained by updating the routing information with a second content identifier corresponding to newly added stored content of any mobile node and/or a user identifier corresponding to the second content identifier.
  • the routing information needs to be updated.
  • the routing information is routing information that has been updated, and does not need to be updated again.
  • the user ID corresponding to the second content identifier in the routing information is updated.
  • new routing information may be added, that is, recorded routing information is the second content identifier of the new content added to the mobile node and the user ID corresponding to the second content identifier, where a communication address is a preset field.
  • the mobile node and the fixed node are relative, where a quantity of times of updating the communication address of the mobile node is greater than a quantity of times of updating the communication address of the fixed node.
  • the fixed node may be a terminal device that generally does not move, whose IP address is generally unchanged, or whose IP address rarely changes.
  • the mobile node may be a terminal device that moves frequently or whose IP address changes frequently.
  • the mobile node may be a terminal device such as a smartphone, a tablet, or a portable computer.
  • the fixed node may be a terminal device such as a desktop computer, a smart television, network attached storage, or a smart home device gateway.
  • an addressing system includes a distributed storage network, a user management server, one or more fixed nodes, and a mobile node, the distributed storage network includes the one or more fixed nodes, and the user management server is configured to manage information about the mobile node and the fixed node.
  • a requesting node is configured to obtain routing information of the distributed storage network, where the requesting node is any one of the mobile node and the fixed node, the routing information includes one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, and a communication address of a mobile node corresponding to the user identifier in the routing information is a preset field.
  • the requesting node is configured to obtain, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers.
  • the requesting node is configured to obtain target content based on the target communication address.
  • the addressing system may include the distributed storage network, the user management server, the one or more fixed nodes, and the mobile node.
  • the distributed storage network may include the one or more fixed nodes, and the user management server may be configured to manage the information about the mobile node and the fixed node in the system.
  • the requesting node may perform addressing of the target content based on triplet routing information, namely, the routing information that includes the content identifier, the communication address corresponding to the content identifier, and the user identifier corresponding to the content identifier, to obtain the target content.
  • the communication address that is of the mobile node corresponding to the user identifier and that is stored in the routing information may be the preset field, in other words, the communication address of the mobile node included in the routing information is not updated with changes of the communication address of the mobile node. Therefore, frequent changes of routing information of the distributed storage network caused by frequent changes of the communication address of the mobile node are reduced, and network overheads are reduced.
  • the communication address may be an internet protocol IP address.
  • the communication address corresponding to the content identifier is a communication address of a node that stores content corresponding to the content identifier.
  • the user identifier corresponding to the content identifier is a user identifier of a user to which the node storing the content corresponding to the content identifier belongs.
  • the content identifier may alternatively be an identifier of the node storing the content.
  • the requesting node is specifically configured to: obtain, based on the target content identifier and the routing information, a target user identifier corresponding to the target content identifier; and obtain, based on the target user identifier, a communication address of a mobile node corresponding to the target user identifier.
  • one user identifier (for example, a user ID) may be registered for one user, and the user may log in to the user identifier on a plurality of terminal devices, so that stored content of the plurality of terminal devices of the user can be synchronized and shared.
  • the mobile node corresponding to the user identifier may be a terminal device such as a smartphone, a tablet, or a portable computer.
  • the fixed node corresponding to the user identifier may be a terminal device such as a desktop computer, a smart television, network attached storage, or a smart home device gateway.
  • the requesting node may query the routing information based on the target content identifier. If it is found that the communication address corresponding to the target content identifier is a preset field, it indicates that the target content corresponding to the target content identifier is stored on the mobile node. In this case, the requesting node may find, based on the target content identifier, the target user identifier corresponding to the target content identifier, and may obtain, based on the target user identifier, information about the mobile node corresponding to the target user identifier. Further, the requesting node may access the communication address of the mobile node until the target content is obtained.
  • the requesting node may query the routing information based on the target content identifier, find the communication address corresponding to the target content identifier, and access the communication address, but fail to obtain the target content.
  • the requesting node may find, based on the target content identifier, the target user identifier corresponding to the target content identifier, and may obtain, based on the target user identifier, communication addresses of the mobile node and the fixed node that correspond to the target user identifier, and access the mobile node and the fixed node until the target content is obtained.
  • the requesting node when the requesting node fails to obtain the target content based on the routing information or cannot obtain the communication address of the current mobile node, the requesting node may obtain the target user identifier corresponding to the target content identifier, and then obtain the information about the mobile node and/or the fixed node based on the target user identifier, to obtain the target content.
  • the requesting node is further configured to: send a query instruction to the user management server, where the query instruction includes the target user identifier, and the user management server is configured to manage information about a mobile node and a fixed node that belong to the user identifier; receive a communication address list sent by the user management server, where the communication address list includes the communication address of the mobile node corresponding to the target user identifier.
  • the user management server may be configured to maintain and manage user identifiers and device information of different users.
  • Device information may include information about all fixed nodes and mobile nodes that belong to an identifier of a user, for example, IP address information and a node type (a mobile node or a fixed node) of a device that belongs to the user.
  • the requesting node may query information about the communication address of the mobile node or the fixed node from the user management server based on the target user identifier queried from the routing information. In this way, when the communication address of the mobile node is frequently updated, the routing information in the distributed storage network does not need to be updated for a plurality of times. This reduces network overheads.
  • the requesting node when the requesting node is a fixed node, the requesting node is configured to: send a routing information query instruction, where the routing information query instruction includes the target content identifier; or determine, based on the target content identifier and by using a distributed hash algorithm, information about a fixed node that stores the routing information, and obtain the routing information from the fixed node that stores the routing information.
  • the requesting node may obtain, through preconfiguration, domain name resolution, hypertext transfer protocol redirection, or the like, information about the fixed node that stores the routing information, access the fixed node, and query the routing information.
  • the requesting node is the mobile node.
  • the requesting node is configured to: obtain information about a first fixed node from the user management server, where the first fixed node and the requesting node correspond to a same user identifier; send a routing information query instruction to the first fixed node, where the routing information query instruction includes the target content identifier; and obtain the routing information from the first fixed node.
  • the requesting node may be a mobile node in a system.
  • the requesting node may not be deployed on a DHT ring. Therefore, the requesting node cannot directly access the routing information in the distributed storage network.
  • the requesting node may obtain the routing information from a fixed node that belongs to the same user ID as the requesting node, and the fixed node forwards the routing information to the requesting node.
  • the requesting node is specifically configured to: determine a second fixed node based on the user identifier corresponding to the requesting node; and obtain the target content from the second fixed node, where the second fixed node and the requesting node correspond to the same user identifier.
  • the requesting node may be a first mobile node
  • the node storing the target content may be a second mobile node. If the first mobile node cannot directly access the second mobile node, for example, both the mobile nodes are deployed in a cellular network, the first node may use a fixed node belonging to the same user identifier as a proxy, and request the fixed node belonging to the same user identifier to obtain needed content and forward the content to the first mobile node.
  • the routing information includes a first content identifier, a first user identifier corresponding to the first content identifier, and a communication address that corresponds to the first content identifier and that is a preset field; and when a content identifier corresponding to newly added stored content included in a third fixed node is the first content identifier, and a user identifier corresponding to the third fixed node is the first user identifier, the requesting node is further configured to: obtain updated routing information, where the updated routing information is obtained by updating the communication address that corresponds to the first content identifier and that is a preset field in the routing information to a communication address of the third fixed node, and the third fixed node is any node in the distributed storage network.
  • the routing information when new stored content is added to a fixed node, a communication address of a fixed node changes, or a fixed node joins the distributed storage network for the first time, the routing information needs to be updated. It may be determined whether routing information that is the same as an identifier of the newly added content and a user identifier corresponding to the identifier of the newly added content exists in the existing routing information. If yes, it may be determined whether a communication address corresponding to the identifier of the newly added content is a preset field. If the communication address is a preset field, the routing information may be updated with a communication address of the fixed node corresponding to the identifier of the newly added content.
  • the communication address is not a preset field, the communication address is updated. If the routing information that is the same as the identifier of the newly added content and the user identifier corresponding to the identifier of the newly added content does not exist, new routing information including triplet information (the identifier of the newly added content, the user identifier, and a communication address) is added.
  • the requesting node is further configured to: obtain updated routing information, where the updated routing information is obtained by updating the routing information with a second content identifier corresponding to newly added stored content of any mobile node and/or a user identifier corresponding to the second content identifier.
  • the routing information needs to be updated.
  • the routing information is routing information that has been updated, and does not need to be updated again.
  • the user ID corresponding to the second content identifier in the routing information is updated.
  • new routing information may be added, that is, recorded routing information is the second content identifier of the new content added to the mobile node and the user ID corresponding to the second content identifier, where a communication address is a preset field.
  • the mobile node and the fixed node are relative, where a quantity of times of updating the communication address of the mobile node is greater than a quantity of times of updating the communication address of the fixed node.
  • the fixed node may be a terminal device that generally does not move, whose IP address is generally unchanged, or whose IP address rarely changes.
  • the mobile node may be a terminal device that moves frequently or whose IP address changes frequently.
  • the mobile node may be a terminal device such as a smartphone, a tablet, or a portable computer.
  • the fixed node may be a terminal device such as a desktop computer, a smart television, network attached storage, or a smart home device gateway.
  • an addressing apparatus for a terminal device includes: a transceiver unit, configured to obtain routing information of a distributed storage network, where the distributed storage network includes one or more fixed nodes, the routing information includes one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, and a communication address of a mobile node corresponding to the user identifier in the routing information is a preset field; and a processing unit, configured to: obtain, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers; and obtain target content based on the target communication address.
  • the addressing apparatus may perform addressing of the target content based on triplet routing information, namely, the routing information that includes the content identifier, the communication address corresponding to the content identifier, and the user identifier corresponding to the content identifier, to obtain the target content.
  • the communication address that is of the mobile node corresponding to the user identifier and that is stored in the routing information may be the preset field, in other words, the communication address of the mobile node included in the routing information is not updated with changes of the communication address of the mobile node. Therefore, frequent changes of routing information of the distributed storage network caused by frequent changes of the communication address of the mobile node are reduced, and network overheads are reduced.
  • the processing unit is specifically configured to: obtain, based on the target content identifier and the routing information, a target user identifier corresponding to the target content identifier; and obtain, based on the target user identifier, a communication address of a mobile node corresponding to the target user identifier.
  • the transceiver unit is further configured to: send a query instruction to a user management server, where the query instruction includes the target user identifier, and the user management server is configured to manage information about a mobile node and a fixed node that belong to the user identifier; and receive a communication address list sent by the user management server, where the communication address list includes the communication address of the mobile node corresponding to the target user identifier.
  • the addressing apparatus is a fixed node
  • the transceiver unit is specifically configured to send a routing information query instruction, where the routing information query instruction includes the target content identifier; or the processing unit is specifically configured to determine, based on the target content identifier and by using a distributed hash algorithm, information about a fixed node that stores the routing information, and the transceiver unit is specifically configured to obtain the routing information from the fixed node that stores the routing information.
  • the requesting node is a mobile node
  • the transceiver unit is specifically configured to: obtain information about a first fixed node from the user management server, where the first fixed node and the addressing apparatus correspond to a same user identifier; send a routing information query instruction to the first fixed node, where the routing information query instruction includes the target content identifier; and obtain the routing information from the first fixed node.
  • the processing unit is specifically configured to determine a second fixed node based on the user identifier corresponding to the addressing apparatus; and the transceiver unit is specifically configured to obtain the target content from the second fixed node, where the second fixed node and the addressing apparatus correspond to the same user identifier.
  • the routing information includes a first content identifier, a first user identifier corresponding to the first content identifier, and a communication address that corresponds to the first content identifier and that is a preset field; and when a content identifier corresponding to newly added stored content included in a third fixed node is the first content identifier, and a user identifier corresponding to the third fixed node is the first user identifier, the transceiver unit is further configured to: obtain updated routing information, where the updated routing information is obtained by updating the communication address that corresponds to the first content identifier and that is a preset field in the routing information to a communication address of the third fixed node, and the third fixed node is any node in the distributed storage network.
  • the transceiver unit is further configured to: obtain updated routing information, where the updated routing information is obtained by updating the routing information with a second content identifier corresponding to newly added stored content of any mobile node and/or a user identifier corresponding to the second content identifier.
  • the mobile node and the fixed node are relative, where a quantity of times of updating the communication address of the mobile node is greater than a quantity of times of updating the communication address of the fixed node.
  • an addressing apparatus includes: a memory, configured to store a program; and a processor, configured to execute a program stored in the memory.
  • the processor is configured to: obtain routing information of a distributed storage network, where the distributed storage network includes one or more fixed nodes, the routing information includes one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, and a communication address of a mobile node corresponding to the user identifier in the routing information is a preset field; obtain, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers; and obtain target content based on the target communication address.
  • the processor included in the addressing apparatus is further configured to perform the addressing method in any one of the first aspect and the implementations of the first aspect.
  • a computer-readable medium stores program code to be executed by a device, and the program code includes instructions for performing the addressing method according to any one of the first aspect and the implementations of the first aspect.
  • a computer program product including an instruction is provided.
  • the computer program product runs on a computer, the computer is enabled to execute the addressing method according to any one of the first aspect and the implementations of the first aspect.
  • a chip includes a processor and a data interface, and the processor reads, by using the data interface, instructions stored in a memory, to perform the control method according to any one of the first aspect and the implementations of the first aspect.
  • a distributed storage network is provided.
  • each node in a storage system can obtain services from other nodes, and can provide services to other nodes. Therefore, a server is no longer necessarily a center of a network, a conventional client/server (C/S) structure in the internet is changed, and a storage mode of the network is changed from "content at the center" to "content at the edge".
  • a distributed storage system may be a peer to peer (peer to peer, P2P) network.
  • DHT distributed hash table
  • a DHT technology uses routing at an overlay.
  • a DHT network may have a ring topology. Each node in the ring topology may have a unique node identifier ID. The node ID can indicate a logical location of the node in an overlay network, and cannot reflect an actual physical location of the node.
  • the DHT network may be constructed by using a plurality of algorithms, for example, by using a Chord algorithm, a network transport protocol (Kademlia), or another algorithm.
  • a Chord algorithm for example, a Chord algorithm
  • Kademlia network transport protocol
  • one DHT network can be constructed based on only one algorithm, and a DHT table may be searched for based on the algorithm for constructing the DHT network.
  • each node in the DHT network may include a part of routing information in the DHT table.
  • node query or path selection may be implemented by using DHT routing information (for example, a DHT routing table).
  • DHT routing information for example, a DHT routing table
  • addressing of a distributed storage system may be implemented by using the DHT.
  • the DHT routing table may include 2-tuple information, namely, a node ID and a node address.
  • the DHT routing table in the distributed storage network includes IDs and addresses (for example, internet protocol addresses) of an in-order precursor node and an in-order successor node of each node.
  • a target node can be easily found based on routing information in the DHT routing table.
  • the DHT routing information is frequently updated. This increases network overheads.
  • an access manner of a mobile device for example, a mobile phone
  • a mobile device for example, a mobile phone
  • the access manner may be switched for four to five times within an hour.
  • IP internet protocol
  • a requesting node may perform addressing of target content based on triplet routing information, namely, routing information that includes a content identifier, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, to obtain the target content.
  • triplet routing information a communication address that is of a mobile node corresponding to the user identifier and that is stored in the routing information may be a preset field, in other words, the communication address of the mobile node included in the routing information is not updated with changes of the communication address of the mobile node. Therefore, frequent changes of routing information of a distributed storage network caused by frequent changes of the communication address of the mobile node are reduced, and network overheads are reduced.
  • a content identifier (for example, a content ID) may be a node identifier, in other words, a key value of a node may indicate a content ID stored on the node.
  • the node may be a device with a processing function.
  • the node may be any computing device known in the conventional technology, for example, a server or a desktop computer.
  • the node may include a memory and a processor.
  • the memory may be configured to store program code, for example, an operating system and another application program.
  • the processor may be configured to invoke the program code stored in the memory, to implement a corresponding function of the node.
  • the processor and the memory included in the node may be implemented by using a chip. This is not specifically limited herein.
  • FIG. 1 is a schematic diagram of a distributed storage system 100 according to an embodiment of this application.
  • nodes in the system 100 shown in FIG. 1 may be classified into two types, namely, a fixed node and a mobile node.
  • the mobile node and the fixed node may refer to two relative concepts.
  • the fixed node may be a terminal device that generally does not move, whose IP address is generally unchanged, or whose IP address rarely changes.
  • the mobile node may be a terminal device that moves frequently or whose IP address changes frequently. In other words, compared with the fixed node, the mobile node moves more frequently or the IP address of the mobile node changes more frequently.
  • the fixed node may be a terminal device such as a desktop computer, a smart television, network attached storage (network attached storage, NAS), or a smart home device gateway.
  • a terminal device such as a desktop computer, a smart television, network attached storage (network attached storage, NAS), or a smart home device gateway.
  • NAS network attached storage
  • the mobile node may be a terminal device such as a smartphone, a tablet, or a portable computer.
  • the distributed storage system 100 shown in FIG. 1 may include a DHT network 110 (that is, a DHT ring), a user management server 120, user equipment 131, user equipment 132, and user equipment 133.
  • the DHT network 110 may be a distributed storage network including one or more fixed nodes, for example, a node 101, a node 102, a node 103, a node 104, and a node 105. Any node in the DHT network 110 may communicate with the user management server 120.
  • the user management server 120 may be configured to maintain and manage user identifiers (for example, user IDs) and device information of different users, where device information may include information about all fixed nodes and mobile nodes that correspond to an identifier of a user, for example, information about a communication address and a node type (a mobile node or a fixed node) of a device that belongs to the user.
  • user identifiers for example, user IDs
  • device information may include information about all fixed nodes and mobile nodes that correspond to an identifier of a user, for example, information about a communication address and a node type (a mobile node or a fixed node) of a device that belongs to the user.
  • the user identifier may be an identifier registered for a user when the user uses an electronic product. Data or services can be synchronized between a plurality of devices used by the user based on the user identifier.
  • a user ID 1 includes a terminal device 1, a terminal device 2, and a terminal device 3.
  • the three terminal devices each may be a mobile node or a fixed node.
  • a cloud-based service may manage a plurality of terminal devices that log in to the user ID 1 , for example, record current addresses of online devices that belong to the user ID 1 .
  • nodes may be classified into a fixed node and a mobile node.
  • the DHT network may include one or more fixed nodes.
  • the mobile node may serve as a client of the DHT network, and access routing information in the DHT network through a specific fixed node (for example, a cloud server, or a fixed node that belongs to a same user identifier as the mobile node). Recorded routing information corresponding to stored content may be stored on a plurality of fixed nodes included in the DHT network.
  • routing information recorded in the DHT network may be recorded by using the fixed node, or the mobile node may record a content identifier of content stored on the mobile node into routing information by using the fixed node that belongs to the same user identifier as the mobile node.
  • the content identifier of the content stored on the mobile node may be recorded into the routing information of the DHT network by using the fixed node that belongs to the same user identifier as the mobile node.
  • distributed content may be queried based on the routing information of the DHT network, where the routing information may include triplet information (a content ID, a user ID, and a communication address).
  • the routing information further includes a mapping relationship among the content ID, the user ID, and the communication address.
  • the communication address may be an internet protocol IP address.
  • a communication address and a user ID that correspond to a content ID that needs to be obtained may be queried based on the content ID and the routing information. If the communication address corresponding to the content ID is null or is another preset field, it indicates that the content ID is stored on a mobile node. In this case, information about all nodes that belong to the user ID may be queried on the user management server based on the user ID, to obtain IP addresses of all mobile nodes that belong to the user ID. Target content corresponding to the content ID is obtained by accessing the obtained communication addresses. If the communication address corresponding to the content ID is not null, an IP address corresponding to the content ID in a DHT routing table is directly accessed to obtain target content corresponding to the content ID.
  • an addressing system may include the distributed storage network 110, the user management server 120, a fixed node, and a mobile node.
  • the distributed storage network may include one or more fixed nodes, that is, the DHT network 110 may include one or more fixed nodes in one or more user equipments.
  • the user management server 120 may be configured to manage information about the mobile node and the fixed node, in other words, the user management device 120 may be configured to manage a plurality of user equipments.
  • a requesting node may be configured to obtain the routing information of the distributed storage network 120, where the requesting node may be any one of the mobile node or the fixed node, and the routing information may include one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier.
  • a communication address of a mobile node corresponding to the user identifier in the routing information is a preset field.
  • the requesting node is configured to obtain, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers.
  • the requesting node may be configured to obtain target content based on the target communication address.
  • the communication address corresponding to the content identifier is a communication address of a node that stores content corresponding to the content identifier.
  • the user identifier corresponding to the content identifier is a user identifier of a user to which the node storing the content corresponding to the content identifier belongs.
  • the mobile node is separated from the fixed node, to reduce frequent updates of the routing information in the DHT network caused by frequent changes of the communication address (for example, the IP address) of the mobile node.
  • the user management server can perform mapping between the user identifier and the communication address of the mobile node, so that the content stored on the mobile node can be queried.
  • FIG. 2 is a schematic flowchart of an addressing method 200 for a mobile device according to an embodiment of this application.
  • the addressing method may be performed by a requesting node, and the requesting node may be a node having a content requesting requirement, for example, a node having a requirement for obtaining content stored in a distributed storage system.
  • the requesting node may be the foregoing mobile node or the foregoing fixed node.
  • the method 200 includes step 210 to step 230. The following separately describes the steps in detail.
  • Step 210 The requesting node obtains routing information of a distributed storage network.
  • the routing information may be a routing table.
  • the routing information may include one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier.
  • a communication address of a mobile node that belongs to the user identifier is a preset field in the routing table.
  • the communication address corresponding to the content identifier may be a communication address of a node storing content corresponding to the content identifier, for example, an internet protocol (internet protocol, IP) address of the node storing the content corresponding to the content identifier.
  • IP internet protocol
  • the user identifier corresponding to the content identifier may be a user identifier corresponding to the node storing the content corresponding to the content identifier.
  • the content may be stored content, for example, may be a stored to-be-downloaded resource.
  • routing table information may include the content ID 1, the IP address 1, and the user ID 1, and indicates an association between the content ID 1, the IP address 1, and the user ID 1.
  • a communication address is a preset field means that when the communication address of the mobile node is updated, the communication address of the mobile node in the routing information remains unchanged.
  • the communication address of the mobile node is a null entry in the routing information, or is a preset field that indicates that the communication address is a communication address of a mobile node.
  • the distributed storage network is a storage network including one or more fixed nodes.
  • the mobile node and the fixed node may be relative concepts, where a quantity of times of updating the communication address of the mobile node is greater than a quantity of times of updating a communication address of the fixed node.
  • the content identifier may be a node ID in the distributed storage network, that is, may be a resource feature value (info _hash) of the to-be-downloaded resource.
  • info _hash resource feature value of the to-be-downloaded resource.
  • Each node in the distributed storage network may maintain one hash table. All information about the node can be stored in the hash table.
  • the requesting node may obtain the routing information from the one or more nodes that store the routing information.
  • the requesting node may obtain, through preconfiguration, domain name resolution (domain name resolution, DNS), hypertext transfer protocol (hypertext transfer protocol, HTTP) redirection, or the like, information about the node that stores the routing table, access the node, and query information of the routing table.
  • domain name resolution domain name resolution, DNS
  • hypertext transfer protocol hypertext transfer protocol, HTTP
  • the requesting node may be a fixed node, and the routing table may be stored on the requesting node, or the routing table may be stored on another fixed node.
  • the requesting node may be a fixed node, and that the requesting node obtains the routing table of the distributed storage network may include: The requesting node sends a routing information query instruction to the fixed node in the distributed storage network, where the routing information query instruction includes a target content identifier.
  • the routing information (for example, the routing table) may be stored in a plurality of fixed nodes in a hash manner.
  • the requesting node may obtain, through calculation by using the same DHT algorithm and based on the target content ID that needs to be obtained, information about a fixed node that can obtain information about a routing table corresponding to the target content ID, and then access the fixed node to query the information about the routing table.
  • content storage nodes may set content IDs for stored content, then hash the content IDs, and store routing information related to each of the content IDs on an appropriate DHT node based on a result of a hash value.
  • the requesting node may first locate, based on the content ID and by using the same hash algorithm, the node storing routing entry information related to the content ID. Then, the content requesting node may request, from the node, one or more pieces of entry information that are in the routing table and that are related to the content ID.
  • the requesting node may be a fixed node, and that the requesting node obtains the routing information of the distributed storage network may include: The requesting node determines, based on the target content identifier and by using the distributed hash algorithm, information about the fixed node that stores the routing information, and obtains the routing information from the fixed node that stores the routing information.
  • the requesting node may be a mobile node, and that the requesting node obtains the routing information of the distributed storage network may include: The requesting node obtains information about a first fixed node from a user management server, where the first fixed node and the requesting node correspond to a same user identifier; the requesting node sends a routing information query instruction to the first fixed node, where the routing information query instruction includes the target content identifier; and the requesting node obtains the routing information from the first fixed node.
  • the requesting node when the requesting node is a mobile node, the requesting node may not be deployed on a DHT ring. Therefore, the requesting node cannot directly access other routing information stored in the DHT network. In this case, the requesting node may obtain the routing information from a fixed node that belongs to a same user ID as the requesting node.
  • a plurality of nodes that belong to a same user may correspond to one user ID, that is, one user ID may be registered for one user, and the user ID is used for logging in to a plurality of terminal devices. If content corresponding to a content ID is stored on the fixed node, an IP address corresponding to the content ID in the routing information is not null nor a preset field. In other words, if a communication address corresponding to a content ID is null, it indicates that the content corresponding to the content ID is stored on a mobile node.
  • Step 220 The requesting node may obtain, based on the routing information, a target communication address corresponding to the target content identifier in the one or more content identifiers.
  • the target communication address corresponding to the target content identifier may be an IP address of a node that stores content corresponding to the target content identifier.
  • Step 230 The requesting node obtains target content based on the target communication address.
  • the target content may be stored content corresponding to the target content ID.
  • the requesting node may query the routing information based on the target content ID that needs to be obtained, to obtain the target communication address, and then access the target communication address to obtain the target content.
  • a process of obtaining the target content may include the following three cases. The following uses examples in which the communication address is an IP address for description.
  • the requesting node accesses the IP address and successfully obtains the target content.
  • the requesting node accesses the IP address but fails to obtain the target content.
  • the requesting node fails to obtain the target content.
  • the requesting node may query, based on the target content ID, the routing table for a target user ID related to the target content ID, and obtain an IP address list of all nodes that belong to the target user ID or an IP address list of all mobile nodes that belong to the target user ID from the user management server based on the target user ID, so that the requesting node can obtain the target content by accessing the IP address list.
  • the addressing method may further include: The requesting node may determine the target user identifier based on the target content identifier and the routing information, and the requesting node may obtain, based on the target user identifier, a communication address (for example, an IP address) of a mobile node corresponding to the target user identifier.
  • a communication address for example, an IP address
  • the requesting node when the requesting node determines, based on the target content identifier and the routing information, that the target communication address (for example, the target IP address) corresponding to the target content identifier is a preset field, the requesting node may determine the target user identifier based on the target content identifier and the routing information, and the requesting node may obtain, based on the target user identifier, a communication address (for example, an IP address) of a mobile node corresponding to the target user identifier.
  • a communication address for example, an IP address
  • the requesting node determines, based on the target content identifier and the routing information, a target communication address corresponding to the target content identifier may include: The requesting node may send a query instruction to the user management server, where the query instruction includes the target user identifier; and the requesting node may receive a communication address list sent by the user management server, where the communication address list may include the communication address of the mobile node corresponding to the target user identifier.
  • the user management server may send a communication address list of all nodes that belong to the target user identifier to the requesting node, in other words, may send a communication address list of the mobile node and a fixed node that are associated with the target user identifier.
  • a user ID 2 includes a terminal device 1, a terminal device 2, and a terminal device 3.
  • the terminal device 1 is a fixed node, for example, a terminal device such as a desktop computer, a smart television, network attached storage, or a smart home device gateway.
  • the terminal device 2 and the terminal device 3 each are a mobile node, for example, a terminal device such as a smartphone, a tablet, or a portable computer.
  • the requesting node sends a query instruction to the user management server, where the query instruction includes the user ID 2 .
  • the user management server may send current latest communication addresses of the terminal device 2 and the terminal device 3 to the requesting node.
  • the query instruction may include the target user identifier and a node type.
  • the query instruction may include the target user identifier and a mobile node type.
  • the user management server may send, to the requesting node, a communication address list of all mobile nodes that belong to the target user identifier.
  • the requesting node sends a query instruction to the user management server, where the query instruction may include a user ID, and the user management server may send, to the requesting node, a communication address of a mobile node associated with the user ID, or communication addresses of all nodes associated with the user ID.
  • the requesting node may send a query instruction to the user management server, where the query instruction may include a user ID and a mobile node type, and the user management server may send, to the requesting node, a communication address of a mobile node associated with the user ID.
  • a communication address of a node changes, or a node joins the DHT network for the first time
  • information about stored content needs to be updated in the distributed storage network, that is, the node storing the routing table needs to update the routing table, and the requesting node needs to obtain an updated routing table.
  • the routing information needs to be updated.
  • the routing information includes a first content identifier, a first user identifier corresponding to the first content identifier, and a communication address that corresponds to the first content identifier and that is a preset field.
  • the addressing method further includes:
  • the requesting node may obtain updated routing information, where the updated routing information may be obtained by updating the communication address that corresponds to the first content identifier and that is a preset field to a communication address of the third fixed node, and the third fixed node is any node in the distributed storage network.
  • a node storing routing information may generate a content ID based on the newly added stored content, and obtain a resource feature value info_hash by using a hash algorithm. Then, the node sends an update message to the distributed storage network. For example, the node may send resource information of the node by using an announce message to an adjacent node, where content carried in the announce message includes triplet information (a content ID, a user ID, and a communication address). After receiving the update message, the adjacent node updates a routing table on the adjacent node.
  • a routing entry that is the same as an ID of the newly added content and a user ID corresponding to the ID of the newly added content exists in the existing routing information. If the routing entry exists in the existing routing information, it may be determined whether an IP address corresponding to the ID of the newly added content is null. If the IP address is null, an IP address of a fixed node corresponding to the ID of the newly added content is added to the routing entry. If the IP address is not null, the IP address is updated. If the routing entry that is the same as the ID of the newly added content and the user ID corresponding to the ID of the newly added content does not exist, a new routing entry including triplet information (a content ID, a user ID, and an IP address) is added.
  • triplet information a content ID, a user ID, and an IP address
  • the routing information needs to be updated.
  • the addressing method further includes:
  • the requesting node may obtain updated routing information, where the updated routing information may be obtained by updating the routing information with a second content identifier corresponding to the newly added stored content and/or a user identifier corresponding to the second content identifier.
  • a node storing routing information may generate a content ID based on the newly added stored content, and obtain a resource feature value info _hash by using a hash algorithm.
  • Information about a fixed node that stores routing information of the content ID is obtained through calculation by using a DHT algorithm and based on an ID of the newly added stored content, and the routing information stored on the fixed node is updated.
  • the routing information is routing information that has been updated, and does not need to be updated again.
  • the user ID corresponding to the second content identifier in the routing table is updated.
  • new routing information may be added, that is, recorded updated routing information is the second content identifier of the new content added to the mobile node and the user ID corresponding to the second content identifier, where a communication address is a preset field.
  • the requesting node may perform addressing of the target content based on triplet routing information, namely, the routing information that includes the content identifier, the communication address corresponding to the content identifier, and the user identifier corresponding to the content identifier, to obtain the target content.
  • the communication address that is of the mobile node corresponding to the user identifier and that is stored in the routing information may be the preset field, in other words, the communication address of the mobile node included in the routing information is not updated with changes of the communication address of the mobile node. Therefore, frequent changes of the routing information of the distributed storage network caused by frequent changes of the communication address of the mobile node are reduced, and network overheads are reduced.
  • a method 300 includes step 310 to step 340. The following separately describes the steps in detail. It should be understood that a content requesting node shown in FIG. 3 may be the requesting node in FIG. 2 .
  • Step 310 The content requesting node (for example, a fixed node) queries a DHT routing table based on a content identifier (for example, a content ID).
  • a content identifier for example, a content ID
  • the content ID may be a node ID in a DHT network, that is, may be a resource feature value (info _hash) of a to-be-downloaded resource.
  • info _hash resource feature value
  • each node may maintain one hash table, and the hash table may include all information about the node.
  • the node may query shared resource information based on the hash table, and return a query result.
  • Step 310 may include: The content requesting node obtains the DHT routing table and queries, based on the content ID, a needed routing entry in the DHT routing table.
  • the DHT routing table may be stored on the content requesting node, and the content requesting node may directly obtain the routing table.
  • the routing table may be stored on another fixed node, and the content requesting node may obtain the DHT routing table from the node that stores the routing table.
  • the routing table may be stored in a hash manner on nodes in the DHT network, and the content requesting node may obtain, through calculation based on the content ID and by using a DHT algorithm that is used when a storage node stores the DHT routing table, information about a fixed node that can obtain the DHT routing entry.
  • each of the nodes that stores a part of entries in the DHT routing table may be determined based on the content ID and by using the DHT algorithm. Therefore, when the content requesting node needs to obtain the routing table, the content requesting node needs to first determine, based on the content ID and by using the same DHT algorithm, a node storing a part of entries, and then obtain the needed entry in the routing table from the node storing the part of entries.
  • the content requesting node may query the routing table based on the content ID. If the routing table includes the content ID and a user ID corresponding to the content ID, but an IP address is null, it indicates that content queried by the requesting node is stored on a mobile node of a corresponding user. Therefore, the content requesting node needs to obtain, based on the user ID, the IP address corresponding to the content ID.
  • the content requesting node may request to obtain needed content from a node storing the content based on the IP address in the routing entry.
  • the content requesting node if an IP address corresponding to a content ID exists in the routing entry, but the content requesting node fails to obtain content from a corresponding node, the content requesting node also needs to obtain, based on the user ID, the IP address corresponding to the content ID.
  • Step 320 The content requesting node sends an IP address query instruction to a user management server.
  • the IP address query instruction includes the user ID corresponding to the content ID in the routing table in step 310, that is, a target user ID.
  • the user management server may be configured to maintain and manage user IDs and device information of different users.
  • Device information may include information about all fixed nodes and mobile nodes that belong to an ID of a user, for example, IP address information and a node type (a mobile node or a fixed node) of a device that belongs to the user.
  • Step 330 The user management server sends an IP address list that belongs to the target user identifier to the content requesting node.
  • the user management server may send, to the content requesting node, an IP address list including IP addresses of all nodes that belong to the target user ID.
  • the IP address query instruction sent by the content requesting node and received by the user management server may include the target user ID and node type information.
  • the IP address query instruction received by the user management server may include an IP address of a target user and a mobile node type
  • the user management server may send an IP address list including all IP addresses of mobile nodes that belong to the target user ID to the content requesting node.
  • Step 340 The content requesting node obtains the needed content based on the IP address list.
  • the content requesting node may request content from all mobile nodes based on the IP address list until the needed content is obtained.
  • fixed nodes may perform communication based on a KRPC message of a user datagram protocol (user datagram protocol, UDP), for example, to search for and share resources by using a test (PING) instruction, a node query (FIND NODE) instruction, a resource download request (GET PEERS) instruction, and an announcement (ANNOUNCE) instruction.
  • PING test
  • FIND NODE node query
  • GET PEERS resource download request
  • ANNOUNCE announcement
  • the PING instruction can be used for testing whether a node is online and provides a response normally.
  • the FIND _NODE instruction may request an adjacent node to find node information of a node closer to a target node.
  • the GET PEERS instruction can be used for requesting to query the target node for information about nodes that share same resources, and a node that requests to download a resource obtains an address of a resource sharing node from the target node.
  • the ANNOUNCE instruction can be used for declaring resource information (for example, a feature value of a shared resource) that belongs to a node and an IP address of the node to an adjacent node.
  • a method 400 includes step 401 to step 409. The following separately describes the steps in detail. It should be understood that the content requesting node shown in FIG. 4 may be the requesting node in FIG. 2 .
  • the mobile node can, as a fixed node does, use the content ID and the DHT algorithm to calculate a fixed node that can obtain information of the DHT routing table, and query the DHT routing table from the fixed node.
  • the mobile node may not have direct access to a fixed node in the DHT network.
  • Step 401 The content requesting node queries an IP address of a fixed node corresponding to a same user identifier as the content requesting node. For example, the content requesting node sends a user identifier 1 (for example, a user ID 1) to the user management server.
  • a user identifier 1 for example, a user ID 1
  • the mobile node When the content requesting node is a mobile node, the mobile node does not store the DHT routing table.
  • the mobile node may obtain the IP address of the fixed node with the same user ID as the mobile node from the user management server, to obtain the DHT routing table.
  • the content requesting node may send the user ID 1, or the user ID 1 and a fixed node type to the user management server, to query an IP address of a fixed node that belongs to the user ID 1.
  • Step 402 The user management server may send an IP address list 1 of one or more fixed nodes that belong to the user ID 1 to the content requesting node.
  • the IP address list 1 of the one or more fixed nodes may include IP address information of the one or more fixed nodes.
  • Step 403 The content requesting node sends a DHT routing table query instruction to one or more fixed nodes based on the IP address list 1 of the one or more fixed nodes.
  • the DHT routing table query instruction carries an ID of the needed content.
  • Step 404 A fixed node that receives the query instruction obtains information about the routing table.
  • the fixed node receiving the query instruction may obtain, through calculation based on the content ID and by using the DHT algorithm, information about a fixed node that can obtain the DHT routing table, where the fixed node that can obtain the DHT routing table may be the node receiving the query instruction or may be another fixed node.
  • Step 405 The content requesting node receives a query result of the routing table.
  • the following three possible cases for the content requesting node may be included.
  • the user identifier corresponding to the content ID is a user ID 2
  • the IP address corresponding to the content ID is not null
  • the IP address may be an IP address 1.
  • the content requesting node may successfully obtain the needed content based on the IP address 1.
  • the user identifier corresponding to the content ID is a user ID 2
  • the IP address corresponding to the content ID is not null
  • the IP address may be an IP address 1.
  • the content requesting node may obtain the needed content based on the IP address 1, but the obtaining of the content fails.
  • the user identifier corresponding to the content ID is a user ID 2
  • the IP address corresponding to the content ID is null.
  • the content requesting node needs to obtain an IP address corresponding to the content ID based on the user ID 2, in other words, to perform the following steps 407 to 408.
  • Step 406 The content requesting node determines that the IP address corresponding to the content identifier (for example, the content ID) is null, or the content requesting node fails to obtain the content based on the IP address.
  • the content identifier for example, the content ID
  • Step 407 The content requesting node sends an IP address query instruction to the user management server.
  • the IP address query instruction may include the user ID 2.
  • the user management server may be configured to maintain and manage user IDs and device information of different users.
  • Device information may include information about all fixed nodes and mobile nodes that belong to an ID of a user, for example, IP address information and a node type (a mobile node or a fixed node) of a device that belongs to the user.
  • Step 408 The user management server sends an IP address list 2 that belongs to a target user identifier 2 (for example, the user ID 2) to the content requesting node.
  • a target user identifier 2 for example, the user ID 2
  • the user management server may send, to the content requesting node, an IP address list including IP addresses of all nodes that belong to the target user ID 2.
  • the IP address query instruction sent by the content requesting node and received by the user management server may include the target user ID 2 and node type information.
  • the IP address query instruction received by the user management server may include an IP address of a target user and a mobile node type
  • the user management server may send an IP address list including all IP addresses of mobile nodes that belong to the target user ID 2 to the content requesting node.
  • Step 409 The content requesting node obtains the needed content based on the IP address list 2.
  • the content requesting node may request content from all mobile nodes based on the IP address list 2 until the needed content is obtained.
  • both the content requesting node and the node storing the content are mobile nodes
  • the content requesting node may use a fixed node belonging to the same user ID as a proxy, and request the fixed node belonging to the same user ID to obtain the needed content and forward the needed content to the content requesting node.
  • the content requesting node corresponds to a user ID 3
  • the node storing the content corresponds to a user ID 4.
  • the content requesting node may send a content query request (the content ID) to a fixed node that belongs to the user ID 3.
  • the fixed node obtains the needed content based on content ID and forwards the content to the content requesting node.
  • the requesting node may perform addressing of target content based on triplet routing information, namely, routing information that includes a content identifier, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, to obtain the target content.
  • triplet routing information the communication address that is of the mobile node corresponding to the user identifier and that is stored in the routing information may be a preset field, in other words, the communication address of the mobile node included in the routing information is not updated with changes of the communication address of the mobile node. Therefore, frequent changes of routing information of the distributed storage network caused by frequent changes of the communication address of the mobile node are reduced, and network overheads are reduced.
  • FIG. 5 is a schematic block diagram of an addressing apparatus according to an embodiment of this application. It should be understood that an addressing apparatus 500 may perform the addressing methods shown in FIG. 2 to FIG. 4 .
  • the addressing apparatus 500 includes a transceiver unit 510 and a processing unit 520.
  • the transceiver unit 510 is configured to obtain routing information of a distributed storage network, where the distributed storage network includes one or more fixed nodes, the routing information includes one or more content identifiers, a communication address corresponding to the content identifier, and a user identifier corresponding to the content identifier, and a communication address of a mobile node corresponding to the user identifier in the routing information is a preset field.
  • the processing unit 520 is configured to: obtain, based on the routing information, a target communication address corresponding to a target content identifier in the one or more content identifiers; and obtain target content based on the target communication address.
  • the processing unit 520 is specifically configured to:
  • the transceiver unit 510 is further configured to:
  • the transceiver unit 510 when the addressing apparatus 500 is a fixed node, the transceiver unit 510 is specifically configured to send a routing information query instruction, where the routing information query instruction includes the target content identifier; or the processing unit 520 is specifically configured to determine, based on the target content identifier and by using a distributed hash algorithm, information about a fixed node that stores the routing information, and the transceiver unit 510 is specifically configured to obtain the routing information from the fixed node that stores the routing table.
  • the transceiver unit 510 is specifically configured to:
  • the processing unit 520 is specifically configured to determine a second fixed node based on the user identifier corresponding to the addressing apparatus, where the second fixed node and the addressing apparatus correspond to the same user identifier; and the transceiver unit 510 is specifically configured to obtain the target content from the second fixed node.
  • the routing information includes a first content identifier, a first user identifier corresponding to the first content identifier, and a communication address that corresponds to the first content identifier and that is a preset field.
  • the transceiver unit 510 is further configured to: obtain updated routing information, where the updated routing information is obtained by updating the communication address that corresponds to the first content identifier and that is a preset field to a communication address of the third fixed node, and the third fixed node is any node in the distributed storage network.
  • the transceiver unit 510 is further configured to: obtain updated routing information, where the updated routing information is obtained by updating the routing information with a second content identifier corresponding to newly added stored content of any mobile node and/or a user identifier corresponding to the second content identifier.
  • a quantity of times of updating the communication address of the mobile node is greater than a quantity of times of updating the communication address of the fixed node.
  • addressing apparatus 500 is embodied in a form of functional units.
  • the term "unit” herein may be implemented in a form of software and/or hardware. This is not specifically limited.
  • the "unit” may be a software program, a hardware circuit, or a combination thereof for implementing the foregoing function.
  • the hardware circuit may include an application-specific integrated circuit (ASIC), an electronic circuit, a processor (for example, a shared processor, a dedicated processor, or a group processor) configured to execute one or more software or firmware programs and a memory, a merged logic circuit, and/or another appropriate component that supports the described function.
  • ASIC application-specific integrated circuit
  • a processor for example, a shared processor, a dedicated processor, or a group processor configured to execute one or more software or firmware programs and a memory, a merged logic circuit, and/or another appropriate component that supports the described function.
  • the units in the examples described in this embodiment of this application can be implemented by using electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions of each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
  • FIG. 6 is a schematic diagram of a hardware structure of an addressing apparatus according to embodiment of this application.
  • An addressing apparatus 600 shown in FIG. 6 includes a memory 601, a processor 602, a communication interface 603, and a bus 604.
  • the memory 601, the processor 602, and the communication interface 603 can communicate with each other through the bus 604.
  • the memory 601 may be a read-only memory (read only memory, ROM), a static storage device, a dynamic storage device, or a random access memory (random access memory, RAM).
  • the memory 601 may store a program. When the program stored in the memory 601 is executed by the processor 602, the processor 602 is configured to perform the steps of the addressing method in embodiments of this application, for example, to perform the steps shown in FIG. 2 to FIG. 4 .
  • the addressing apparatus shown in this embodiment of this application may be the requesting node shown in FIG. 2 , or may be the content requesting node shown in FIG. 3 or FIG. 4 .
  • the processor 602 may alternatively be an integrated circuit chip and has a signal processing capability. In an implementation process, steps of the addressing method in this application may be completed by using a hardware integrated logic circuit or instructions in a form of software in the processor 602.
  • the processor 602 may alternatively be a general-purpose processor, a central processing unit (central processing unit, CPU), a digital signal processor (digital signal processing, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component.
  • the processor 602 may implement or perform the methods, steps, and logical block diagrams that are disclosed in embodiments of this application.
  • the general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • Steps of the methods disclosed with reference to embodiments of this application may be directly executed and accomplished by using a hardware decoding processor, or may be executed and accomplished by using a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register.
  • the storage medium is located in the memory 601, and the processor 602 reads information in the memory 601, and completes, in combination with hardware of the processor 602, functions that need to be performed by the unit included in the addressing apparatus shown in FIG. 5 in embodiments of this application; or performs the addressing methods shown in FIG. 2 to FIG. 4 in the method embodiments of this application.
  • the communication interface 603 uses a transceiver apparatus, for example, including but not limited to a transceiver, to implement communication between the addressing apparatus 600 and another device or a communication network.
  • a transceiver apparatus for example, including but not limited to a transceiver, to implement communication between the addressing apparatus 600 and another device or a communication network.
  • the bus 604 may include a channel through which information is transmitted between parts (for example, the memory 601, the processor 602, and the communication interface 603) of the addressing apparatus 600.
  • the addressing apparatus 600 may further include another component required for implementing normal running.
  • the addressing apparatus 600 may further include a hardware component for implementing another additional function.
  • the addressing apparatus 600 may include only components required for implementing this embodiment of this application, but does not need to include all the components shown in FIG. 6 .
  • sequence numbers of the foregoing processes do not mean execution sequences in various embodiments of this application.
  • the execution sequences of the processes should be determined according to functions and internal logic of the processes, and should not be construed as any limitation on the implementation processes of embodiments of this application.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • described apparatus embodiments are merely examples.
  • the unit division is merely logical function division and may be other division during actual implementation.
  • a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
  • the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.
  • the indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, to be specific, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on an actual requirement to achieve the objectives of the solutions of the embodiments.
  • the functions When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of this application essentially, or the part contributing to the conventional technology, or some of the technical solutions may be implemented in a form of a software product.
  • the computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in embodiments of this application.
  • the foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disc.
  • program code such as a USB flash drive, a removable hard disk, a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
EP19951670.9A 2019-11-07 2019-11-07 Adressierungsverfahren, adressierungssystem und adressierungsvorrichtung Pending EP4057577A4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/116262 WO2021087865A1 (zh) 2019-11-07 2019-11-07 寻址方法、寻址系统以及寻址装置

Publications (2)

Publication Number Publication Date
EP4057577A1 true EP4057577A1 (de) 2022-09-14
EP4057577A4 EP4057577A4 (de) 2022-11-30

Family

ID=75849102

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19951670.9A Pending EP4057577A4 (de) 2019-11-07 2019-11-07 Adressierungsverfahren, adressierungssystem und adressierungsvorrichtung

Country Status (4)

Country Link
US (1) US20220263759A1 (de)
EP (1) EP4057577A4 (de)
CN (1) CN115004657B (de)
WO (1) WO2021087865A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155740A (zh) * 2022-08-16 2023-05-23 马上消费金融股份有限公司 数据路由系统、方法、电子设备及计算机可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615251B1 (en) * 1995-12-11 2003-09-02 John R. Klug Method for providing node targeted content in an addressable network
WO2006075424A1 (ja) * 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US20070230468A1 (en) * 2006-03-31 2007-10-04 Matsushita Electric Industrial Co., Ltd. Method to support mobile devices in a peer-to-peer network
CN101127758B (zh) * 2006-08-16 2010-08-04 华为技术有限公司 移动节点的ip地址获取方法与获取系统
JP2008250569A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
CN101399743B (zh) * 2007-09-28 2011-09-14 华为技术有限公司 在基于分布式哈希表的对等网络中查找数据的方法和系统
WO2010033732A1 (en) * 2008-09-17 2010-03-25 Vuze, Inc. Associative construction of multimedia subscriptions
CN101510897B (zh) * 2009-03-30 2012-02-01 北京邮电大学 针对层次化主机标识、基于叠加式dht的寻址系统和方法
CN102170456A (zh) * 2010-02-27 2011-08-31 华为技术有限公司 对等网络中获取内容的方法、装置和系统
EP2421225A1 (de) * 2010-08-20 2012-02-22 Alcatel Lucent Verarbeitungsverfahren, Proxy-Verarbeitungsagent, System und Verfahren zum Ausfüllen einer Routing-Tabelle eines DHT-Client-Knotens, Router und DHT-Client-Knoten
CN102143199A (zh) * 2010-10-19 2011-08-03 华为技术有限公司 获取内容的方法、节点及内容网络
JP5387596B2 (ja) * 2011-02-28 2014-01-15 ブラザー工業株式会社 情報通信システム、情報通信方法、情報処理装置およびプログラム
CN103107944B (zh) * 2011-11-14 2016-03-30 中国移动通信集团公司 一种内容定位方法和路由设备
CN102664938B (zh) * 2012-04-12 2015-08-05 北京蓝汛通信技术有限责任公司 一种资源下载控制方法及装置
US9674051B2 (en) * 2012-10-22 2017-06-06 Panasonic Intellectual Property Corporation Of America Content management device, content management method, and integrated circuit

Also Published As

Publication number Publication date
US20220263759A1 (en) 2022-08-18
WO2021087865A1 (zh) 2021-05-14
EP4057577A4 (de) 2022-11-30
CN115004657A (zh) 2022-09-02
CN115004657B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN112087312B (zh) 一种提供边缘服务的方法、装置和设备
US11012892B2 (en) Resource obtaining method, apparatus, and system
US10911549B2 (en) Proxy routing based on path headers
US10637794B2 (en) Resource subscription method, resource subscription apparatus, and resource subscription system
US11818209B2 (en) State management and object storage in a distributed cloud computing network
WO2021004528A1 (zh) 应用实例的地址获取方法、装置、设备及存储介质
CN105227602A (zh) 一种负载均衡的方法、客户端、注册服务器和系统
CN111338806B (zh) 一种业务控制方法及装置
CN109547508B (zh) 一种实现资源访问的方法、装置及系统
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
US11750716B2 (en) Methods for publishing resource, and gateway
EP3937502A1 (de) Verfahren, einrichtung, vorrichtung und speichermedium zum pushen eines video-streams
US20150006571A1 (en) Method And Apparatus For Enabling Queries In An Information-Centric Network
US20220263759A1 (en) Addressing method, addressing system, and addressing apparatus
US11122131B1 (en) Edge cloud resource location using enhanced DNS service
CN115004665B (zh) 文件分享方法、装置及系统
CN115079935A (zh) 用于存储和查询数据的方法、电子设备和计算机程序产品
CN109788075B (zh) 专网网络系统、数据的获取方法及边缘服务器
US8392549B2 (en) Apparatus and method for registering node and searching for floating internet protocol address using distributed network
US20210176301A1 (en) Method and apparatus for multi-vendor gtm fabric
CN112612793B (zh) 资源查询方法、装置、节点设备及存储介质
CN113055444B (zh) 一种文件共享方法及其相关装置
US11102639B2 (en) Method and device for facilitating handling content in an information centric network (ICN)
CN116521668A (zh) 用于数据存储的方法、设备和计算机程序产品
US20150350079A1 (en) Method of message routing for a distributed computing system

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220607

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Free format text: PREVIOUS MAIN CLASS: H04L0012741000

Ipc: H04L0045745300

A4 Supplementary search report drawn up and despatched

Effective date: 20221031

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 61/4511 20220101ALN20221025BHEP

Ipc: H04L 67/1097 20220101ALI20221025BHEP

Ipc: H04L 61/45 20220101ALI20221025BHEP

Ipc: H04L 45/7453 20220101AFI20221025BHEP

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED