Communication method and apparatus
By adopting a distributed data storage architecture and a registration and discovery process for storage unit groups, the problem that a single ADRF network element storage architecture cannot meet the needs of large-scale AI training data storage and retrieval is solved, thereby improving data storage and retrieval efficiency and enhancing user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-15
- Publication Date
- 2026-06-25
AI Technical Summary
In existing technologies, storage architectures based on a single ADRF network element cannot meet the storage and retrieval requirements of large-scale AI training data, resulting in low storage efficiency and high latency.
By introducing a distributed data storage architecture and defining the registration and discovery process for storage unit groups, the interaction between data storage providers and storage unit groups is increased, the data storage and retrieval process is determined, and the efficiency of data storage and retrieval is improved.
The distributed hash storage architecture enables efficient data storage and retrieval, enhancing the user experience.
Smart Images

Figure CN2025142384_25062026_PF_FP_ABST
Abstract
Description
Communication methods and devices
[0001] This application claims priority to Chinese Patent Application No. 202411861888.8, filed on December 16, 2024, entitled "Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0003] Currently, with the increasing scale of training data for artificial intelligence (AI) models, storage architectures based on single ADRF elements may not be able to meet the storage and retrieval requirements of large-scale data. For example, typical large open-source model datasets can reach hundreds of gigabytes (GB) or even terabytes (TB), but the storage space of a single ADRF element is limited. For large-scale AI training data, it may not be possible to store it on only one ADRF element. Furthermore, the data access bandwidth of a single ADRF element is limited. If AI training data is stored on only one ADRF element, the data storage and retrieval efficiency will be low, and the data acquisition latency will be high. Therefore, a distributed data storage architecture has been introduced. This architecture includes multiple ADRF elements, allowing AI training data to be stored as evenly as possible across different ADRF elements within the distributed data storage architecture.
[0004] The basic process of data storage and retrieval based on a common distributed data storage architecture is as follows: 1) Perform a hash operation on the data to be stored to obtain the key-value pair corresponding to the data; 2) Each node in the distributed data storage architecture, i.e., the ADRF network element, has a unique identifier, which is isomorphic to the key in the key-value pair. For example, they can both be 128-bit binary numbers. Calculate the "distance" between the key in the key-value pair corresponding to the data to be stored and the identifiers of different ADRF network elements in the distributed data storage architecture; 3) Store the data to be stored in the ADRF network element in the distributed data storage architecture that is "closest" to the key. Summary of the Invention
[0005] This application proposes a communication method and apparatus, defines a registration and discovery process for storage unit groups, increases the interaction between the data storage provider and the storage unit group, and determines the data storage and retrieval process of the data storage provider based on the storage unit group architecture. This enables the data storage provider to complete data storage and retrieval based on a distributed hash storage architecture, improving the efficiency of data storage and retrieval and enhancing the user experience.
[0006] In a first aspect, embodiments of this application provide a communication method applicable to a first network element. This method can be executed by the first network element, by components within the first network element (e.g., processors, chips, circuits, or chip systems), or by a logic module or software capable of implementing all or part of the functions of the first network element. The method includes: receiving a first request message, the first request message including first indication information indicating the discovery of a storage unit group for storing data to be stored; determining information about a first storage unit group, the first storage unit group being a storage unit group determined from at least one storage unit group based on the first request message, the information about the first storage unit group including identification information of the first storage unit group, the first storage unit group including at least one storage unit; and sending a first response message, the first response message including the identification information of the first storage unit group.
[0007] For example, the first request message may also include at least one of the following: network function type, or region of interest / single network slice selection auxiliary information. Optionally, the first request message may also be referred to as a network element discovery request message or a group discovery request message.
[0008] Optionally, the first indication information can be an Analysis Data Storage Function (ADRF) network element group indication.
[0009] Optionally, the first indication information is used to indicate the discovery of a storage unit group, including: the first indication information is used to indicate the discovery of at least one storage unit group, each of the at least one storage unit group can be used to store data to be stored, and correspondingly, the first response message includes identification information of the first storage unit group, including the identification information of the at least one storage unit group. Wherein, the at least one storage unit group includes the first storage unit group.
[0010] For example, a storage unit group includes at least one storage unit. Optionally, the storage unit group may be an Analytics Data Storage Function (ADRF) network element group, wherein an ADRF network element group includes at least one ADRF network element, and an ADRF network element is a storage unit in the storage unit group.
[0011] For example, a storage cell in a storage cell group is associated with at least one other storage cell in the same storage cell group.
[0012] For example, identification information for a group of storage units is used to identify the group of storage units.
[0013] In the above method, the first network element receives the network element discovery request (i.e., the first request message) from the data storage provider, discovers a storage unit group (i.e., the first storage unit group) that meets the requirements for storing the data to be stored from at least one storage unit group, and sends a response message (i.e., the first response message) to the data storage provider. The response message carries the main information of the first storage unit group, such as the identification information of the first storage unit group, so that the data storage provider can interact with the first storage unit group, prompting the data storage provider to complete the data storage based on the first storage unit group, thereby improving the efficiency of data storage and enhancing the user experience.
[0014] In one possible implementation, the information of the first storage unit group further includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, information of the first storage unit in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit in the first storage unit group includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0015] For example, the region or slice information corresponding to the first storage unit group is used to indicate the region or slice of data that the first storage unit group supports storing.
[0016] For example, the information of the storage units included in the first storage unit group includes: information of all the storage units included in the first storage unit group, which includes identification information and / or address information of all the storage units included in the first storage unit group. Optionally, the identification information of all the storage units may be configured by a first device, wherein the first device has the function of operating, monitoring, and managing the network. Optionally, the first device may be an Operations, Monitoring, and Management (OAM) network element.
[0017] For example, the first storage unit may be referred to as an anchor storage unit, which is a special storage unit in a storage unit group, and a storage unit group includes at most one first storage unit. Optionally, when a first storage unit group includes a first storage unit, other data storage providers or retrieval providers (e.g., a second network element) interact with the first storage unit group through the first storage unit.
[0018] For example, the relationship between the storage units included in the first storage unit group can be the topological relationship between the storage units included in the first storage unit group.
[0019] In the above method, taking the information of the first storage unit group as an example, the specific information content and function of the information of the first storage unit group are introduced. The information of the first storage unit group is used for the registration and discovery of storage unit groups. The first network element determines the information of the first storage unit group and sends it to the second network element, which is beneficial for the data storage party, i.e. the second network element, to perform data storage based on the storage unit group information, thereby improving the efficiency of data storage and data retrieval.
[0020] In another possible implementation, the method further includes: receiving first information from a first storage unit, the first storage unit being a storage unit in a first storage unit group, the first information including: identification information of the first storage unit group and information of the first storage unit, the first information further including at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit, and the information of the first storage unit includes at least one of the following: identification information of the first storage unit or address information of the first storage unit.
[0021] Optionally, information from the first storage cell group of the first storage cell can be pre-configured in the first storage cell.
[0022] In the above method, taking the receipt of first information from the first storage unit of the first storage unit group as an example, the first network element can determine the information of the storage unit group to which the anchor storage unit belongs by receiving the information of the anchor storage unit, i.e., the first storage unit, in the storage unit group. This is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage.
[0023] In another possible implementation, the method further includes: receiving at least one second piece of information from at least one second storage unit, wherein the second storage unit is any storage unit other than the first storage unit in the first storage unit group, each of the at least one second storage unit corresponds to one of the at least one pieces of second information, and the second piece of information includes: identification information of the first storage unit group, information of the second storage unit corresponding to the second piece of information, and information of other storage units associated with the second storage unit corresponding to the second piece of information, wherein the information of the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the second storage unit or address information of the second storage unit, and the information of one of the other storage units associated with the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0024] For example, the second storage unit is a non-anchor storage unit, and a group of storage units includes at least one second storage unit.
[0025] For example, information about other storage units associated with the second storage unit corresponding to the second information in a second information may indicate the association relationship between the second storage unit corresponding to the second information and the other storage units associated with it.
[0026] In the above method, taking the receipt of at least one second information from at least one second storage unit in the first storage unit group as an example, the first network element can determine the information of the storage unit group to which these non-anchor storage units belong by receiving at least one information from at least one non-anchor storage unit, i.e., the second storage unit, in the storage unit group. This is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage and data retrieval.
[0027] In another possible implementation, the information for determining the first group of storage cells includes: determining the information for determining the first group of storage cells based on first information and / or second information.
[0028] For example, the information by which the first network element determines the first storage unit group based on the first information and / or at least one second information includes: the information by which the first network element determines the first storage unit group based on the first information, the information by which the first network element determines the first storage unit group based on at least one second information, and the information by which the first network element determines the first storage unit group based on the first information and at least one second information.
[0029] The above method, taking the determination of the information of the first storage unit group as an example, provides a way for the first network element to determine the information of the storage unit group, which is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage and data retrieval.
[0030] In another possible implementation, determining the information of the first storage cell group includes receiving information of the first storage cell group from the first device.
[0031] The above method, taking the determination of the information of the first storage unit group as an example, provides another way for the first network element to determine the information of the storage unit group. This is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage and data retrieval.
[0032] In another possible implementation, the first response message further includes at least one of the following: information about the storage units included in the first storage unit group, the association relationship between the storage units included in the first storage unit group, information about the first storage unit in the first storage unit group, or the number of storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0033] Optionally, the first response message sent by the first network element can have three possible scenarios, as follows:
[0034] Case 1: The first response message includes the identification information of the first storage unit group and the information of the storage units included in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0035] Case 2: The first response message includes the identification information of the first storage unit group, the information of the storage units included in the first storage unit group, and the association relationship between the storage units included in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0036] Case 3: The first response message includes the identification information of the first storage unit group and the information of the first storage unit in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0037] Optionally, the first response message may include identification information of at least one storage unit group, wherein the at least one storage unit group includes a first storage unit group. The first response message may also include other information of the at least one storage unit group, wherein the other information of the storage unit group includes at least one of the following: information of the storage units included in the storage unit group, the association relationship between the storage units included in the storage unit group, information of the first storage unit in the storage unit group, or the number of storage units included in the storage unit group.
[0038] In the above method, the first response message returned by the first network element can have multiple different situations. Different first response messages can be returned according to different actual needs, which is beneficial for the data storage party to adjust different data storage methods based on storage unit groups and improve data storage efficiency.
[0039] In another possible implementation, the method further includes: receiving a second request message for requesting notification of a change in the first storage unit group, the second request message including identification information of the first storage unit group.
[0040] For example, a change in the first storage unit group can be due to an increase in the number of storage units included in the first storage unit group (i.e., a new storage unit is added to the first storage unit group), a decrease in the number of storage units included in the first storage unit group (i.e., a storage unit leaves the first storage unit group), or a change in the topological relationship between the storage units included in the first storage unit group.
[0041] Optionally, the second request message can be called a subscription message, which is used to subscribe to notifications of changes in the first storage unit group, that is, to request the first network element to notify the second network element when the first storage unit group changes.
[0042] In another possible implementation, when the first storage unit group changes, the method further includes: sending a second response message, the second response message including at least one of the following: region or slice information corresponding to the updated first storage unit group, information of the storage units included in the updated first storage unit group, number of storage units included in the updated first storage unit group, information of the first storage units in the updated first storage unit group, or association relationship between the storage units included in the updated first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the updated first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit, and the information of the first storage unit in the updated first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0043] In the above method, when a storage unit is added or removed from the first storage unit group, the data storage provider is notified of the change in the storage unit group through the second request message and the second response message, which ensures that the data storage provider can complete the subsequent data retrieval process normally.
[0044] Secondly, embodiments of this application provide a communication method applicable to a second network element. This method can be executed by the second network element, by components within the second network element (e.g., processors, chips, circuits, or chip systems), or by a logic module or software capable of implementing all or part of the functions of the second network element. The method includes: sending a first request message, the first request message including first indication information indicating the discovery of a storage unit group for storing data to be stored; receiving a first response message including identification information of the first storage unit group, the first storage unit group including at least one storage unit; and sending a third request message requesting the first storage unit group to perform data storage.
[0045] Optionally, the second network element can also be a data storage provider or a consumer. Specifically, the second network element can be any of the following: terminal equipment, network data analysis function (NWDAF) network element, or data collection coordination function (DCCF) network element.
[0046] Optionally, the first request message can also be called a network element discovery request message or a group discovery request message.
[0047] For example, the first request message may also include at least one of the following: network function type, or region of interest / single network slice selection auxiliary information.
[0048] Optionally, the first indication information can be an Analysis Data Storage Function (ADRF) network element group indication.
[0049] Optionally, the first indication information is used to indicate the discovery of a storage unit group, including: the first indication information is used to indicate the discovery of at least one storage unit group, each of the at least one storage unit group can be used to store data to be stored, and correspondingly, the first response message includes identification information of the first storage unit group, including the identification information of the at least one storage unit group. Wherein, the at least one storage unit group includes the first storage unit group.
[0050] For example, a storage unit group includes at least one storage unit. Optionally, the storage unit group may be an Analytics Data Storage Function (ADRF) network element group, wherein an ADRF network element group includes at least one ADRF network element, and an ADRF network element is a storage unit in the storage unit group.
[0051] For example, a storage cell in a storage cell group is associated with at least one other storage cell in the same storage cell group.
[0052] For example, identification information for a group of storage units is used to identify the group of storage units.
[0053] For example, the first storage cell group is a storage cell group determined from at least one storage cell group based on the first request message.
[0054] In the above method, the data storage provider, i.e., the second network element, sends a network element discovery request message, i.e., a first request message, requesting the first network element to discover, from at least one storage unit group, a storage unit group that meets the requirements for storing the data to be stored, i.e., the first storage unit group, and receives a response message, i.e., a first response message, from the first network element. This response message carries the main information of the first storage unit group, such as the identification information of the first storage unit group, enabling the data storage provider to interact with the first storage unit group, prompting the data storage provider to complete the data storage based on the first storage unit group, thereby improving the efficiency of data storage and enhancing the user experience.
[0055] In one possible implementation, the method further includes: performing data slicing on the data to be stored to determine N sets of data blocks, each of the N sets of data blocks corresponding to a set of key-value pairs, where N is a positive integer greater than 0.
[0056] For example, the key-value pairs corresponding to each group of data blocks are stored in the storage units of the first storage unit group, that is, the storage units of the first storage unit group store the key-value pairs corresponding to the N groups of data blocks.
[0057] In another possible implementation, the process of determining N groups of data blocks by data slicing the data to be stored includes: determining N groups of data blocks by data slicing the data to be stored based on at least one of the following: information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit.
[0058] Optionally, the number of data blocks after data slicing can be equal to the number of storage units included in the first storage unit group, or a multiple of the number of storage units included in the first storage unit group, or it can be different from the number of storage units included in the first storage unit group, or a multiple thereof, or it can be other cases.
[0059] In the above method, the second network element performs data slicing on the data to be stored based on the information of the storage unit group that stores the data to be stored, namely the first storage unit group, so that the data to be stored can be distributed more evenly on the storage units in the first storage unit group, thereby improving the efficiency of data storage and data retrieval.
[0060] In another possible implementation, the first response message further includes: information about the storage units included in the first storage unit group, wherein the information about one of the storage units in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit; the sending of the third request message includes: sending at least one third request message to at least one storage unit in the first storage unit group, wherein each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks in the N sets of data blocks.
[0061] Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0062] In the above method, the second network element determines how to send the segmented data blocks based on the received first response message. That is, it randomly sends the data blocks to at least one storage unit in the first storage unit group based on the storage unit information in the first storage unit group. This allows the second network element to store the data to be stored in different storage units in the first storage unit group in parallel, and it also makes the data stored by the second network element as evenly distributed as possible among different storage units, thereby improving the efficiency of data storage and data retrieval.
[0063] In another possible implementation, the first response message further includes: information about the storage units included in the first storage unit group and the association relationship between the storage units included in the first storage unit group, wherein the information of one of the storage units in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit or the address information of the storage unit, and the method further includes: determining the information of at least one storage unit storing the N groups of data blocks, wherein the at least one storage unit is at least one storage unit in the first storage unit group, wherein the information of one of the storage units in the information of the at least one storage unit includes at least one of the following: the identification information of the storage unit or the address information of the storage unit, and the storage unit corresponding to the information of one of the storage units in the information of the at least one storage unit stores one or more groups of data blocks in the N groups of data blocks;
[0064] The third request message sent includes:
[0065] Send at least one third request message to at least one storage unit corresponding to the information of the at least one storage unit, wherein each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks stored in the storage unit corresponding to the third request.
[0066] Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0067] In the above method, the second network element determines how to send the segmented data blocks based on the received first response message. That is, it determines the specific storage unit for storing each group of data blocks based on the association relationship between the storage units in the first storage unit group, and directly sends a data storage request, i.e., a third request message, to the specific storage unit. This allows the second network element to store the data to be stored as evenly as possible in different storage units in the first storage unit group. At the same time, it reduces the complex interactive operations within the first storage unit group regarding the determination of the storage unit for storing each group of data blocks, simplifies the operational complexity within the first storage unit group, and improves the efficiency of data storage and data retrieval.
[0068] In another possible implementation, the first response message further includes: information about a first storage unit in the first storage unit group, wherein the information about the first storage unit in the first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit; the third request message includes:
[0069] A third request message is sent to the first storage unit, the third request message including: key-value pairs corresponding to each of the N groups of data blocks.
[0070] Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0071] In the above method, the second network element determines how to send the segmented data blocks based on the received first response message. That is, based on the information of the first storage unit in the first storage unit group, the second network element sends all the data blocks to the first storage unit. This allows the second network element to store the data to be stored as evenly as possible in different storage units in the first storage unit group. At the same time, the first storage unit is introduced, and data storage and retrieval are completed through the interaction between the second network element and the first storage unit. This simplifies the interaction between the second network element and the first storage unit group, reduces the complexity of operation, and improves the efficiency of data storage and retrieval.
[0072] In another possible implementation, the method further includes: sending a second request message to request notification of a change in the first storage unit group, the second request message including identification information of the first storage unit group.
[0073] For example, a change in the first storage unit group can be due to an increase in the number of storage units included in the first storage unit group (i.e., a new storage unit is added to the first storage unit group), a decrease in the number of storage units included in the first storage unit group (i.e., a storage unit leaves the first storage unit group), or a change in the topological relationship between the storage units included in the first storage unit group.
[0074] Optionally, the second request message can be called a subscription message, which is used to subscribe to notifications of changes in the first storage unit group, that is, to request the first network element to notify the second network element when the first storage unit group changes.
[0075] In another possible implementation, the method further includes: receiving a second response message, the second response message including at least one of the following: updated region or slice information corresponding to the updated first storage unit group, information of the storage units included in the updated first storage unit group, the number of storage units included in the updated first storage unit group, information of the first storage units in the updated first storage unit group, or the association relationship between the storage units included in the updated first storage unit group; wherein, the information of one of the storage units included in the updated first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit in the updated first storage unit group includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0076] In the above method, when a storage unit is added or removed from the first storage unit group, the second network element is notified in a timely manner through the second request message and the second response message, thus ensuring the normal completion of subsequent data retrieval.
[0077] Thirdly, embodiments of this application provide a communication method applicable to a first storage unit group. This method can be executed by the first storage unit group, by components within the first storage unit group (e.g., processors, chips, circuits, or chip systems), or by a logic module or software capable of implementing all or part of the functions of the first storage unit group. The method includes: receiving a third request message, the third request message being used to request the first storage unit group to perform data storage, the first storage unit group including at least one storage unit; and performing data storage based on the third request message.
[0078] In the above method, the first storage unit group completes data storage based on the received data storage request, i.e., the third request message, thereby realizing a data storage method based on storage unit groups, which improves data storage efficiency and enhances user experience.
[0079] In one possible implementation, receiving the third request message includes: at least one storage unit in the first storage unit group receives at least one third request message, each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, the third request message includes one or more sets of key-value pairs corresponding to one or more sets of data blocks in N sets of data blocks, the N sets of data blocks being determined by data slicing of the data to be stored;
[0080] Data storage based on the third request message includes:
[0081] Each of the at least one storage unit interacts with the storage units included in the first storage unit group to enable the storage units included in the first storage unit group to store key-value pairs corresponding to the corresponding data blocks.
[0082] In another possible implementation, receiving the third request message includes: at least one storage unit in the first storage unit group receives at least one third request message, each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks stored in the storage unit corresponding to the third request message, the one or more sets of data blocks being one or more sets of data blocks in N sets of data blocks, the N sets of data blocks being determined by data slicing of the data to be stored;
[0083] Data storage based on the third request message includes:
[0084] Each of the at least one storage unit stores one or more key-value pairs corresponding to one or more data blocks included in a third request message for that storage unit.
[0085] In another possible implementation, receiving the third request message includes: the first storage unit in the first storage unit group receiving the third request message, the first storage unit being a storage unit in the first storage unit group, the third request message including key-value pairs corresponding to each group of data blocks in N groups of data blocks, the N groups of data blocks being determined by data slicing of the data to be stored;
[0086] Data storage based on the third request message includes:
[0087] The first storage unit interacts with other storage units in the first storage unit group, so that the storage units in the first storage unit group store key-value pairs corresponding to the corresponding data blocks.
[0088] In the above method, the first storage unit group completes data storage based on the different forms of the received third request message, realizing a data storage method based on storage unit groups and improving data storage efficiency.
[0089] In another possible implementation, the method further includes: sending first information, the first information being used to determine information about the first storage unit group, the first information being from a first storage unit in the first storage unit group, the first information including identification information of the first storage unit group and information about the first storage unit, the information about the first storage unit including at least one of the following: identification information of the first storage unit or address information of the first storage unit, the first information further including at least one of the following: region or slice information corresponding to the first storage unit group, information about the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group, the information about one of the storage units in the information about the storage units included in the first storage unit group including at least one of the following: identification information of the storage unit or address information of the storage unit.
[0090] For example, the first storage unit may be referred to as an anchor storage unit, which is a special storage unit in a storage unit group, and a storage unit group includes at most one first storage unit. Optionally, when a first storage unit group includes a first storage unit, other data storage providers or retrieval providers (e.g., a second network element) interact with the first storage unit group through the first storage unit.
[0091] For example, the region or slice information corresponding to the first storage unit group is used to indicate the region or slice of data that the first storage unit group supports storing.
[0092] For example, the information of the storage units included in the first storage unit group includes: information of all the storage units included in the first storage unit group, which includes identification information and / or address information of all the storage units included in the first storage unit group. Optionally, the identification information of all the storage units may be configured by a first device, wherein the first device has the function of operating, monitoring, and managing the network. Optionally, the first device may be an Operations, Monitoring, and Management (OAM) network element.
[0093] For example, the relationship between the storage units included in the first storage unit group can be the topological relationship between the storage units included in the first storage unit group.
[0094] In the above method, taking the first information sent by the first storage unit of the first storage unit group as an example, it provides specific information that needs to be included in the information sent by the first storage unit when determining the information of the storage unit group based on the information sent by the first storage unit in the storage unit group. This is beneficial for the storage unit group to be used as a suitable storage unit group to store the data to be stored, thereby improving the efficiency of data storage.
[0095] In another possible implementation, the method further includes: sending at least one second piece of information, the at least one second piece of information being used to determine information about a first storage unit group, the at least one second piece of information corresponding to at least one second storage unit, the second storage unit being a storage unit in the first storage unit group other than the first storage unit, each of the at least one second storage unit corresponding to one of the at least one second pieces of information, the second piece of information including: identification information of the first storage unit group, information of the second storage unit corresponding to the second piece of information, and information of other storage units associated with the second storage unit corresponding to the second piece of information, the information of the second storage unit corresponding to the second piece of information including at least one of the following: identification information of the second storage unit or address information of the second storage unit, the information of one of the other storage units associated with the second storage unit corresponding to the second piece of information including at least one of the following: identification information of the storage unit or address information of the storage unit.
[0096] For example, a second storage cell in a first storage cell group is associated with at least one other storage cell in the same storage cell group.
[0097] In the above method, taking the sending of second information by at least one second storage unit in the first storage unit group as an example, it provides specific information that needs to be included in the information sent by any second storage unit when determining the information of the storage unit group based on at least one information sent by at least one second storage unit in the storage unit group. This is beneficial for the storage unit group to be used as a suitable storage unit group to store the data to be stored, thereby improving the efficiency of data storage and data retrieval.
[0098] Fourthly, embodiments of this application provide a communication device, which may be a first network element, a component within the first network element (e.g., a processor, chip, circuit, or chip system), or a logic module or software capable of implementing all or part of the functions of the first network element.
[0099] In one possible implementation, the communication device may include modules, units, or means that correspond one-to-one with the methods / operations / steps / actions described in the first aspect. These modules, units, or means may be hardware circuits, software, or a combination of hardware circuits and software.
[0100] In one possible implementation, the communication device includes: a processing unit and a transceiver unit. The transceiver unit is configured to receive a first request message, the first request message including first indication information indicating the discovery of a storage unit group for storing data to be stored. The processing unit is configured to determine information about the first storage unit group, the first storage unit group being a storage unit group determined from at least one storage unit group based on the first request message, the information about the first storage unit group including identification information of the first storage unit group, the first storage unit group including at least one storage unit. The transceiver unit is configured to send a first response message, the first response message including the identification information of the first storage unit group.
[0101] In one possible implementation, the information of the first storage unit group further includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, information of the first storage unit in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit in the first storage unit group includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0102] In another possible implementation, the transceiver unit is further configured to receive first information from a first storage unit, wherein the first storage unit is a storage unit in the first storage unit group, and the first information includes: identification information of the first storage unit group and information of the first storage unit. The first information also includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit, and the information of the first storage unit includes at least one of the following: identification information of the first storage unit or address information of the first storage unit.
[0103] In another possible implementation, the transceiver unit is further configured to receive at least one second piece of information from at least one second storage unit, wherein the second storage unit is any storage unit other than the first storage unit in the first storage unit group, and each of the at least one second storage unit corresponds to one of the at least one pieces of second information, wherein the second piece of information includes: identification information of the first storage unit group, information of the second storage unit corresponding to the second piece of information, and information of other storage units associated with the second storage unit corresponding to the second piece of information, wherein the information of the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the second storage unit or address information of the second storage unit, and the information of one of the other storage units associated with the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0104] In another possible implementation, the processing unit is also used to determine information about the first storage unit group based on the first information and / or the second information.
[0105] In another possible implementation, the transceiver unit is also used to receive information from a first group of storage units in the first device.
[0106] In another possible implementation, the first response message further includes at least one of the following: information about the storage units included in the first storage unit group, the association relationship between the storage units included in the first storage unit group, information about the first storage unit in the first storage unit group, or the number of storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0107] In another possible implementation, the transceiver unit is further configured to receive a second request message, which requests notification of a change in the first storage unit group, and the second request message includes identification information of the first storage unit group.
[0108] In another possible implementation, when the first storage unit group changes, the transceiver unit is further configured to send a second response message, the second response message including at least one of the following: updated region or slice information corresponding to the updated first storage unit group, information of the storage units included in the updated first storage unit group, number of storage units included in the updated first storage unit group, information of the first storage units in the updated first storage unit group, or association relationship between the storage units included in the updated first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the updated first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit, and the information of the first storage unit in the updated first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0109] For the technical effects of the fourth aspect or possible implementation, please refer to the introduction of the technical effects of the first aspect or corresponding implementation.
[0110] Fifthly, embodiments of this application provide a communication device, which can be a second network element, a component within the second network element (e.g., a processor, chip, circuit, or chip system), or a logic module or software capable of implementing all or part of the functions of the second network element.
[0111] In one possible implementation, the communication device may include modules, units, or means that correspond one-to-one with the methods / operations / steps / actions described in the second aspect. These modules, units, or means may be hardware circuits, software, or a combination of hardware circuits and software.
[0112] In one possible implementation, the communication device includes: a processing unit and a transceiver unit. The transceiver unit is configured to send a first request message, the first request message including first indication information indicating the discovery of a storage unit group for storing data to be stored; the transceiver unit is configured to receive a first response message, the first response message including identification information of the first storage unit group, the first storage unit group including at least one storage unit; and the transceiver unit is configured to send a third request message requesting the first storage unit group to perform data storage.
[0113] In one possible implementation, the processing unit is further configured to perform data slicing on the data to be stored to determine N sets of data blocks, each of the N sets of data blocks corresponding to a set of key-value pairs, where N is a positive integer greater than 0.
[0114] In another possible implementation, the processing unit is further configured to determine N groups of data blocks by data slicing the data to be stored based on at least one of the following: information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one of the storage units in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit.
[0115] In another possible implementation, the first response message further includes: information about the storage units included in the first storage unit group, wherein the information about one of the storage units in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit; the transceiver unit is further configured to send at least one third request message to at least one storage unit in the first storage unit group, wherein each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks in the N sets of data blocks.
[0116] In another possible implementation, the first response message further includes: information about the storage units included in the first storage unit group and the association relationships between the storage units included in the first storage unit group, wherein the information of one of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit.
[0117] The processing unit is further configured to determine information of at least one storage unit storing the N sets of data blocks, wherein the at least one storage unit is at least one storage unit in the first storage unit group, and the information of one of the storage units in the information of the at least one storage unit includes at least one of the following: the identification information of the storage unit or the address information of the storage unit, and the storage unit corresponding to the information of one of the storage units in the information of the at least one storage unit stores one or more sets of data blocks in the N sets of data blocks;
[0118] The transceiver unit is further configured to send at least one third request message to at least one storage unit corresponding to the information of the at least one storage unit, wherein each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks stored in the storage unit corresponding to the third request.
[0119] In another possible implementation, the first response message further includes: information about a first storage unit in the first storage unit group, wherein the information about the first storage unit in the first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0120] The transceiver unit is also used to send a third request message to the first storage unit, the third request message including: key-value pairs corresponding to each of the N groups of data blocks.
[0121] In another possible implementation, the transceiver unit is further configured to send a second request message, which requests notification of a change in the first storage unit group, and the second request message includes identification information of the first storage unit group.
[0122] In another possible implementation, the transceiver unit is further configured to receive a second response message, the second response message including at least one of the following: updated region or slice information corresponding to the first storage unit group, information of the storage units included in the updated first storage unit group, number of storage units included in the updated first storage unit group, information of the first storage units in the updated first storage unit group, or association relationship between the storage units included in the updated first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the updated first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit, and the information of the first storage unit in the updated first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0123] For the technical effects of the fifth aspect or possible implementation, please refer to the introduction of the technical effects of the second aspect or corresponding implementation.
[0124] Sixthly, embodiments of this application provide a communication device, which may be a first storage unit group, a component in the first storage unit group (e.g., a processor, chip, circuit, or chip system), or a logic module or software capable of implementing all or part of the functions of the first storage unit group.
[0125] In one possible implementation, the communication device may include modules, units, or means that correspond one-to-one with the methods / operations / steps / actions described in the third aspect. These modules, units, or means may be hardware circuits, software, or a combination of hardware circuits and software.
[0126] In one possible implementation, the communication device includes: a processing unit and a transceiver unit, the transceiver unit being configured to receive a third request message, the third request message being configured to request a first storage unit group to perform data storage, the first storage unit group including at least one storage unit; and the processing unit being configured to perform data storage based on the third request message.
[0127] In one possible implementation, the transceiver unit is further configured to receive at least one third request message, each of the at least one third request message corresponding to one of the at least one storage units, the third request message including one or more sets of key-value pairs corresponding to one or more sets of data blocks in N sets of data blocks, the N sets of data blocks being determined by data slicing of the data to be stored;
[0128] The processing unit is further configured to perform data storage based on the third request message, including: each of the at least one storage unit interacts with the storage units included in the first storage unit group to enable the storage units included in the first storage unit group to store key-value pairs corresponding to the corresponding data blocks.
[0129] In another possible implementation, the transceiver unit is further configured to receive at least one third request message, each of the at least one third request message corresponding to one of the at least one storage units, the third request message including: a set of or more sets of key-value pairs corresponding to a set of or more sets of data blocks stored in the storage unit corresponding to the third request message, the set of or more sets of data blocks being a set of or more sets of data blocks in N sets of data blocks, the N sets of data blocks being determined by data slicing of the data to be stored;
[0130] The processing unit is also configured to store data based on the third request message, including: each of the at least one storage unit stores one or more sets of key-value pairs corresponding to one or more sets of data blocks included in a third request message corresponding to each storage unit.
[0131] In another possible implementation, the transceiver unit is also configured to receive the third request message, which includes key-value pairs corresponding to each of the N sets of data blocks, wherein the N sets of data blocks are determined by data slicing of the data to be stored.
[0132] The processing unit is also configured to perform data storage based on the third request message, including: the first storage unit interacting with other storage units in the first storage unit group other than the first storage unit, so that the storage units included in the first storage unit group store key-value pairs corresponding to the corresponding data blocks.
[0133] In another possible implementation, the transceiver unit is further configured to transmit first information, which is used to determine information about the first storage unit group. The first information comes from a first storage unit in the first storage unit group. The first information includes identification information of the first storage unit group and information about the first storage unit. The information about the first storage unit includes at least one of the following: identification information of the first storage unit or address information of the first storage unit. The first information also includes at least one of the following: region or slice information corresponding to the first storage unit group, information about the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group. The information about one of the storage units in the information about the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0134] In another possible implementation, the transceiver unit is further configured to transmit at least one second piece of information, which is used to determine information of a first storage unit group. The at least one second piece of information corresponds to at least one second storage unit, and the second storage unit is a storage unit in the first storage unit group other than the first storage unit. Each of the at least one second storage unit corresponds to one of the at least one pieces of information. The second piece of information includes: identification information of the first storage unit group, information of the second storage unit corresponding to the second piece of information, and information of other storage units associated with the second storage unit corresponding to the second piece of information. The information of the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the second storage unit or address information of the second storage unit. The information of one of the other storage units associated with the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0135] For the technical effects of the sixth aspect or possible implementation, please refer to the introduction of the technical effects of the third aspect or corresponding implementation.
[0136] In a seventh aspect, embodiments of this application provide a communication device including at least one processor, which invokes a computer program or instructions stored in a memory to execute the method described in the first aspect or a possible implementation thereof.
[0137] In one possible implementation, the communication device also includes a memory and a communication interface. Optionally, the memory and processor are integrated together.
[0138] In one possible implementation, the memory is located outside the communication device.
[0139] Eighthly, embodiments of this application provide a communication device including at least one processor, which invokes a computer program or instructions stored in a memory to execute the method described in the second aspect or a possible implementation thereof.
[0140] In one possible implementation, the communication device also includes a memory and a communication interface. Optionally, the memory and processor are integrated together.
[0141] In one possible implementation, the memory is located outside the communication device.
[0142] Ninthly, embodiments of this application provide a communication device including at least one processor, which invokes a computer program or instructions stored in a memory to execute the method described in the third aspect or a possible implementation thereof.
[0143] In one possible implementation, the communication device also includes a memory and a communication interface. Optionally, the memory and processor are integrated together.
[0144] In one possible implementation, the memory is located outside the communication device.
[0145] In a tenth aspect, embodiments of this application provide a chip device including at least one processor for executing computer programs or instructions to implement any of the above aspects or possible implementations of any of the above aspects.
[0146] In one possible implementation, the input of the chip device corresponds to the receiving operation in any of the above-mentioned aspects or possible implementations, and the output of the chip device corresponds to the transmitting operation in any of the above-mentioned aspects or possible implementations.
[0147] Optionally, the processor is coupled to the memory via an interface.
[0148] Optionally, the chip device may also include a memory in which computer programs or instructions are stored.
[0149] Eleventhly, embodiments of this application provide a computer-readable storage medium storing a computer program or instructions that, when executed on a processor, implement the method described above.
[0150] In a twelfth aspect, embodiments of this application provide a computer program product that includes a computer program or instructions that, when executed on a processor, implement the method described in any of the above aspects.
[0151] In a thirteenth aspect, embodiments of this application provide a communication system, which includes: the apparatus as described in the seventh aspect, the apparatus as described in the eighth aspect, and the apparatus as described in the ninth aspect. Attached Figure Description
[0152] Figure 1 is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;
[0153] Figure 2 is a schematic diagram of the architecture of another communication system provided in an embodiment of this application;
[0154] Figure 3 is a schematic diagram of the architecture of another communication system provided in an embodiment of this application;
[0155] Figure 4 is a schematic diagram of the data storage, retrieval, or deletion process of a single ADRF network element;
[0156] Figure 5 is a schematic diagram of the storage principle of a common distributed hash storage architecture;
[0157] Figure 6 is a schematic diagram of a consistent hash storage architecture;
[0158] Figure 7 illustrates the basic process of data storage and retrieval based on a storage unit group architecture provided in this application embodiment.
[0159] Figure 8 is a flowchart of a communication method provided in an embodiment of this application;
[0160] Figure 9 is a flowchart of another communication method provided in an embodiment of this application;
[0161] Figure 10 is a flowchart of another communication method provided in an embodiment of this application;
[0162] Figure 11 is a flowchart of another communication method provided in an embodiment of this application;
[0163] Figure 12 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0164] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0165] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0166] References to "one embodiment" or "some embodiments" as described in this application mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0167] In the description of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, and c can be single or multiple.
[0168] It is understood that in this application, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information to indicate A, it can be understood that the instruction information carries A, directly indicates A, or indirectly indicates A.
[0169] In this application, the information indicated by the instruction information is called the information to be instructed. In specific implementations, there are many ways to instruct the information to be instructed, such as, but not limited to, directly instructing the information to be instructed, such as the information to be instructed itself or its index; indirectly instructing the information to be instructed by instructing other information, where there is a relationship between the other information and the information to be instructed; or instructing only a part of the information to be instructed, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent.
[0170] The information to be instructed can be sent as a whole or divided into multiple sub-information messages, and the sending period and / or timing of these sub-information messages can be the same or different. This application does not limit the specific sending method. The sending period and / or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the transmitting device by sending configuration information to the receiving device.
[0171] It is understood that "send" and "receive" in this application refer to the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which can include direct transmission via the air interface or indirect transmission via the air interface from other units or modules. "Receive information from YY" can be understood as the source of the information being YY, which can include direct reception from YY via the air interface or indirect reception from YY via the air interface from other units or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.
[0172] In other words, sending and receiving can occur between devices, such as between network devices and terminal devices, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via buses, wiring, or interfaces.
[0173] It is understandable that information may undergo necessary processing, such as encoding and modulation, between the source and destination, but the destination can understand the valid information from the source. Similar statements in this application can be interpreted in a similar way and will not be elaborated further.
[0174] The communication method provided in this application can be applied to cellular communication systems related to the 3rd Generation Partnership Project (3GPP), such as 4th generation (4G) communication systems, including Long Term Evolution (LTE) systems, and also to 5th generation (5G) communication systems, such as 5G New Radio (NR) systems, or to various future communication systems and networks. The method provided in this application can also be applied to Bluetooth systems, Wireless Fidelity (WiFi) systems, LoRa systems, or vehicle-to-everything (V2X) systems, communication systems supporting the integration of multiple wireless technologies, and device-to-device (D2D) systems. The method provided in this application can also be applied to satellite communication systems, wherein the satellite communication system can be integrated with the aforementioned communication systems. The wireless communication systems involved in this application also include, but are not limited to: narrowband Internet of Things (NB-IoT) systems, Global System for Mobile Communications (GSM), Enhanced Data Rate for GSM Evolution (EDGE), Wideband Code Division Multiple Access (WCDMA) systems, Code Division Multiple Access 2000 (CDMA2000) systems, or Time Division-Synchronization Code Division Multiple Access (TD-SCDMA) systems.
[0175] Please refer to Figure 1, which is a schematic diagram of the architecture of a communication system provided in an embodiment of this application. The application scenario used in this application will be described using the communication system architecture shown in Figure 1 as an example. The communication system includes a first network element, a second network element, and a distributed storage unit group.
[0176] The first network element is a network element with data registration and discovery capabilities. For example, the first network element can be a network repository function (NRF) network element, which can provide network element registration and discovery capabilities in the 5G network. Another example is a data management function (DMF) network element.
[0177] The second network element can be referred to as a data storage provider, data retrieval provider, or consumer. Optionally, it can be a terminal device, a network data analytics function (NWDAF) network element, or a data collection coordination function (DCCF) network element. When the second network element is a terminal device, it can be any of the terminal devices described below. The NWDAF network element possesses data collection, training, analysis, and inference functions. It can collect relevant data from network elements, third-party service servers, terminal devices, or network management systems, perform analysis and training based on this data, and provide data analysis results to network elements, third-party service servers, terminal devices, or network management systems. These analysis results can assist the network in selecting service quality parameters, performing traffic routing, or selecting background data transmission strategies. The DCCF network element is used to receive data subscriptions from different data requesters and uniformly execute data collection, data processing, and data notification, avoiding duplicate subscriptions and notifications for the same data.
[0178] The distributed storage unit group includes at least one distributed storage unit, such as distributed storage unit 1, distributed storage unit 2, ..., distributed storage unit M. Optionally, the distributed storage unit group can be a set of distributed hash storage units. For example, the distributed storage unit group can be an analytics data repository function group (ADRF group), which includes at least one analytics data repository function (ADRF) element, wherein each ADRF element is a distributed storage unit. This ADRF element can provide the ability to store, retrieve, and delete network data and analysis results, and also possesses storage model capabilities.
[0179] Optionally, the communication system may also include an operations, administration, and management (OAM) network element. This OAM network element primarily performs daily network and service analysis, forecasting, planning, and configuration, as well as testing and fault management of the network and its services. The OAM network element can interact with the radio access network (RAN) to obtain location information of second network elements measured by the RAN or reported by other second network elements.
[0180] Please refer to Figure 2, which is a schematic diagram of the architecture of another communication system provided in an embodiment of this application. The application scenario used in this application will be described using the communication system architecture shown in Figure 2 as an example. The communication system includes a 5G network architecture and a distributed storage unit group. The 5G network architecture includes a network data analysis function (NWDAF) network element, a network storage function (NRF) network element, and an operation, supervision, and management (OAM) network element.
[0181] Optionally, the 5G network architecture in this communication system may also include network exposure function (NEF) network elements, application function (AF) network elements, policy control function (PCF) network elements, unified data repository (UDR) network elements, unified data management (UDM) network elements, access and mobility management function (AMF) network elements, session management function (SMF) network elements, data handling function (DHF) network elements, radio access network (RAN), user plane function (UPF) network elements, and data network (DN).
[0182] The functions of the aforementioned network elements are described below:
[0183] (1) NEF network element: provides network open functions, allows external applications or services to access network functions and services related information, and opens network capabilities, services and status to the outside world.
[0184] (2) AF network element: This is a functional module that provides application services, typically used for business-related data exchange and control. The AF network element receives service requests from the network and passes them to the corresponding network function or processing flow.
[0185] (3) PCF Network Element: Responsible for network policy control, management and formulation of policy rules, and assisting the network in traffic management and resource allocation. The PCF makes decisions based on the policy engine and user needs to ensure that network behavior meets requirements.
[0186] (4) UDR network element: User data repository, mainly used to store relevant user information, including subscription data, service information, billing data, etc. This information can be used by other functions in the network.
[0187] (5) UDM Network Element: Unified Data Management System, responsible for user authentication, subscription management, service authorization and other functions. It is a key network element in the 5G core network, ensuring the security and effectiveness of the network in responding to user requests.
[0188] (6) AMF network element: Access and mobility management function, responsible for handling terminal equipment access management, mobility management, authentication and bearer management functions, to ensure that user equipment can access and roam smoothly in the network.
[0189] (7) SMF network element: Session management function, responsible for session establishment, modification, deletion and other operations. It manages the life cycle of user data sessions and interacts with other network elements such as UPF, and is responsible for the configuration of data transmission paths.
[0190] (8) DHF network element: Data processing function, mainly responsible for data processing, forwarding, caching, compression and other operations, to ensure effective data transmission and processing, and support the efficient operation of network functions and services.
[0191] (9) RAN: Radio Access Network, which connects user equipment and the core network. The RAN is responsible for the transmission of radio signals, user access, mobility management, etc., and is the bridge between the user and the core network.
[0192] (10) UPF network element: User plane function, responsible for operations such as forwarding, routing, filtering, and billing of user data streams. It works with SMF to complete the transmission of user session data.
[0193] (11) DN: Data Network, refers to the target network for user data flow. It usually refers to application servers or data service platforms on the Internet, and user equipment connects to the DN through UPF.
[0194] Please refer to Figure 3, which is a schematic diagram of the architecture of another communication system provided in this application embodiment. The application scenario used in this application will be described using the communication system architecture shown in Figure 3 as an example. This communication system includes a 6G network architecture, which comprises three functional parts: analysis function, simulation evaluation function, and data function. The analysis function part includes a Network Data Function Analysis (NWDAF) network element, which includes a model training logical function (MTLF) and an analytics logical function (AnLF). The MTLF is mainly responsible for training machine learning (ML) models and providing training services to offer trained ML models. The AnLF is mainly responsible for performing model inference, deriving analysis results, and providing analysis services to offer generated analysis results. The data function part includes a Data Management Function (DMF) network element, a Data Collection Coordination Function (DCCF) network element / Message Framework Adaptor Function (MFAF) network element, a distributed storage unit group, and a core network function (CN NF) part. The DMF network element is primarily responsible for data registration and discovery, data scheduling, data authorization, and data evaluation, performing centralized data management and business authorization. The DCCF network element receives data subscriptions from different data requesters and uniformly executes data collection, data processing, and data notification, avoiding duplicate subscriptions and notifications for the same data. The MFAF network element receives data processing and notification instructions, performs data processing on the received data based on these instructions, and sends the data to the notification endpoint specified in the instructions. The distributed storage unit group primarily provides the ability to store / retrieve / delete network data and analysis results, and also possesses storage model capabilities. The CN NF can serve as a data source for data collection or as a data collection requester. The DCCF / MFAF network elements include an artificial intelligence (AI) data transmission protocol, and the distributed storage unit group includes an AI database.
[0195] It should be noted that the apparatus provided in this application embodiment can be applied to a first network element, a second network element, or a distributed storage unit group. It is understood that Figure 1, Figure 2, or Figure 3 only illustrates one possible communication system architecture that can be applied to the embodiments of this application; in other possible scenarios, this communication system architecture may also include other devices.
[0196] (1) Terminal equipment, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), etc., is a device that provides voice or data connectivity to a user. Specifically, it includes devices that provide voice connectivity to a user, devices that provide data connectivity to a user, or devices that provide both voice and data connectivity to a user. For example, it may include handheld devices with wireless connectivity or processing devices connected to a wireless modem. This terminal equipment can communicate with the core network via the radio access network (RAN), exchange voice or data with the RAN, or interact with the RAN for both voice and data. Currently, terminal devices can include: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, etc.), in-vehicle devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), intelligent robots, workshop equipment, wireless terminals in autonomous driving, wireless terminals in remote surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, and flying equipment (such as intelligent robots, hot air balloons, drones, airplanes), etc. Terminal devices can also be other devices with terminal functions; for example, a terminal device can also be a device that performs terminal functions in D2D communication.Terminal devices can also include vehicle-to-everything (V2X) terminal devices, machine-to-machine / machine-type communications (M2M / MTC) terminal devices, internet of things (IoT) terminal devices, light UEs, reduced capability UEs (REDCAP UEs), subscriber units, subscriber stations, mobile stations, remote stations, access points (APs), remote terminals, access terminals, user terminals, user agents, or user devices, and drone equipment. For example, this can include mobile phones (or "cellular" phones), computers with mobile terminal devices, portable, pocket-sized, handheld, and computer-embedded mobile devices, etc. Examples include personal communication service (PCS) telephones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, and personal digital assistants (PDAs). It also includes limited devices, such as devices with low power consumption, limited storage capacity, or limited computing power. Examples include information sensing devices such as barcode scanners, radio frequency identification (RFID), sensors, global positioning systems (GPS), and laser scanners. In this application, terminal devices with wireless transceiver capabilities and chips that can be installed in the aforementioned terminal devices are collectively referred to as terminal devices.
[0197] It should be noted that the terminal device may be a device or apparatus with a chip, or a device or apparatus with integrated circuitry, or a chip, module or control unit in the device or apparatus shown above. This application does not limit the specific device.
[0198] To better understand the solutions provided in the embodiments of this application, some terms, concepts or processes involved in the embodiments of this application will be introduced below.
[0199] (1) Hash Algorithm: A technique that uses a hash function to map input data (such as files, strings, numbers, etc.) to strings or numbers of fixed length. Hash algorithms are widely used in computer science, especially in the fields of data storage, encryption, data verification, and retrieval.
[0200] (2) Hash value space: refers to the set of all possible hash values that a hash function can output. A hash function maps input data of arbitrary length to a hash value of fixed length, while the hash value space is the set of all possible output values. The size of the hash value space is determined by the number of bits in the hash function's output value.
[0201] Existing standards define a data storage architecture based on a single ADRF network element. Based on this architecture, network elements such as DCCF / NWDAF can discover an ADRF network element, store data in the discovered ADRF network element, and support the retrieval and deletion of data from that ADRF network element. This data may include one or more of the following: model training data, model inference data, data analysis results, and data analysis-related input and output data.
[0202] Please refer to Figure 4, which is a schematic diagram of the data storage, retrieval, or deletion process of a single ADRF network element. The specific steps are as follows:
[0203] Step 0: Configure storage policy.
[0204] For example, NWDAF, DCCF, or ADRF network elements are configured with default carrier storage policies.
[0205] Step 1: Invoke the service operation for data management and storage requests.
[0206] For example, a consumer (such as an NWDAF network element, DCCF network element, or ADRF network element) sends data and / or analysis to an ADRF network element by invoking the service operation of Data Management Storage Request (Nadrf_DataManagement_StorageRequest).
[0207] The data management storage request message includes one or more of the following: data or analytics with timestamp information to be stored, service operation, and analytics specification or data specification. Specifically, "data with timestamp" or "analysis with timestamp to be stored" indicates data or analytics to be stored, and that data or analytics has timestamp information; "service operation" identifies the service that retrieves the data or analytics, such as a data analytics subscription (Nnwdaf_AnalyticsSubscription_Subscribe); and "analytes specification or data specification" identifies parameters of the stored data, such as analytics ID, target of analytics reporting, and analytics filter information.
[0208] Optionally, the data storage request message may further include at least one of the following: storage handling information, a data deletion notification endpoint, a dataset tag, and data synthesis and compression information (DSC information). Storage handling information indicates the storage duration of the data or analysis and instructs the ADRF network element to send a notification to the consumer before deleting the data; the DataSetTag identifies the dataset and provides human-readable information describing its characteristics; and the DSC information indicates that the data was generated using a data synthesis / compression tool and specifies the data synthesis and / or compression techniques used.
[0209] Step 2: Determine the storage approach for ADRF, DCCF, or NWDAF network elements.
[0210] For example, based on storage handling information and storage policy, ADRF network elements, DCCF network elements, or NWDAF network elements determine the storage method.
[0211] The Storage Approach includes the duration of data storage and whether consumers are notified before data deletion.
[0212] Step 3: ADRF network element stores data.
[0213] For example, data and / or analytics sent by consumers.
[0214] The ADRF network element can be implemented based on the above steps. For example, the ADRF network element determines whether the same data and / or analysis has been or is being stored based on the information sent by the consumer in step 1. If the data and / or analysis has been or is being stored in the ADRF network element, the ADRF network element decides not to store the data and / or analysis sent by the consumer. If the data and / or analysis that has been or is being stored contains a DataSetTag attribute, the ADRF network element will associate the data record with such DataSetTag.
[0215] Step 4: The ADRF network element sends a response message for the data management storage request.
[0216] For example, the ADRF network element sends a Nadrf_DataManagement_StorageRequest response message to the consumer.
[0217] The Nadrf_DataManagement_StorageRequest response message indicates that data and / or analytics have been stored. The ADRF network element determines whether data or analytics has been stored in step 3, and specifies the Storage Approach. The Nadrf_DataManagement_StorageRequest response message includes a Result Indication, and may also include at least one of the following: a Storage Transaction Identifier, a DataSetTag(s), and a Storage Approach. The Result Indication indicates whether storage was successful or failed, and the Storage Transaction Identifier identifies the storage event.
[0218] Under the ADRF network element management storage method, proceed to steps 5 through 8.
[0219] Step 5: The ADRF network element determines whether the data has expired.
[0220] For example, ADRF network elements determine the expiration date of stored data or analytics based on the Storage Approach.
[0221] Step 6: The ADRF network element sends a data management retrieval notification (Nadrf_DataManagementRetrieval Notify).
[0222] For example, if there is a corresponding instruction in the Storage Approach, the ADRF element sends a notification to remind the DCCF element or NWD AF element data that it is about to be deleted.
[0223] Step 7: The DCCF network element or NWDAF network element sends a data management retrieval notification response (Nadrf_DataManagementRetrieval_Notify response).
[0224] For example, DCCF or NWDAF network elements indicate in their response to ADRF network elements whether they will retrieve data or perform analysis.
[0225] Step 8: The DCCF or NWDAF network element retrieves the stored data before the ADRF network element deletes the data.
[0226] For example, the DCCF network element or NWDAF network element sends a data / analysis retrieval request message to the ADRF network element before the ADRF network element deletes or analyzes the data.
[0227] This step is optional.
[0228] This retrieval request message is used to retrieve data or analysis from ADRF network elements. The data / analysis retrieval request message includes: Storage Transaction Identifier, Fetch Correlation ID(s) information, DataSetTag, or Service Operation, Analytics Specification, Data Specification, and Time Window. The Fetch Correlation ID(s) is information contained in the Fetch Instruction received by the DCCF or NWDAF network element from the ADRF network element through a call to the Data Management Retrieval Notification (Nadrf_DataManagement_RetrievalNotify).
[0229] Optionally, the data / analysis retrieval response message may also include one or more of the following: Result Indication, Data / Analysis, or DSC information. Result Indication indicates whether the retrieval was successful; Data or Analytics refers to the retrieved data or analysis.
[0230] Under the conditions of NWDAF network element or DCCF network element management storage method, proceed to steps 9 to 11.
[0231] Step 9: The NWDAF network element or DCCF network element determines whether the data has expired.
[0232] For example, the NWDAF or DCCF network element determines the expiration date of stored data or analytics based on the Storage Approach.
[0233] Step 10: The NWDAF or DCCF network element retrieves the stored data before the ADRF network element deletes the data.
[0234] For example, an NWDAF or DCCF network element retrieves or analyzes data from an ADRF network element to determine its existence.
[0235] This step is optional.
[0236] Step 11: The DCCF network element or NWDAF network element sends a data management deletion request.
[0237] For example, an NWDAF or DCCF network element sends a data / analysis deletion request to delete data or analytics from an ADRF network element.
[0238] The data / analysis deletion request includes one of the following parameters: Storage Transaction Identifier, Service Operation, Analytics Specification or Data Specification and Time Window, or DataSetTag.
[0239] Step 12: The ADRF network element deletes the stored data.
[0240] For example, an ADRF network element will delete data or analytics in the following situations:
[0241] (1) The Storage Approach in ADRF network elements indicates that consumers do not need to be notified before data or analytics are deleted;
[0242] (2) In step 7, the DCCF network element or NWDAF network element indicates that the data or analysis will not be retrieved before deletion;
[0243] (3) The data or analysis retrieval in step 8 has been completed; or
[0244] (4) A request to delete data or perform analysis is received in step 11.
[0245] Optionally, if the ADRF element receives an instruction from the NWDAF or DCCF element in step 7, indicating that the NWDAF or DCCF element will retrieve data or analysis, but fails to initiate the retrieval before a sufficient fixed time has elapsed, the ADRF element may automatically delete the data or analysis.
[0246] However, as the scale of artificial intelligence (AI) model training data gradually increases, storage architectures based on a single ADRF element may not be able to meet the storage and retrieval requirements of large-scale data. For example, typical large open-source model datasets can reach hundreds of gigabytes (GB) or even several terabytes (TB), but the storage space of a single ADRF element is limited. For large-scale AI training data, it may not be possible to store it on only one ADRF element. Furthermore, the data access bandwidth of a single ADRF element is limited. If AI training data is stored on only one ADRF element, the data storage and retrieval efficiency will be low, and the data acquisition latency will be high.
[0247] Based on this, a distributed data storage architecture is introduced to ensure that AI training data can be stored as evenly as possible across different ADRF network elements, improving data storage and retrieval efficiency. The distributed hash storage architecture is a distributed data storage framework containing a large number of distributed data storage nodes, rather than a single storage node. Each distributed data storage node is a distributed data storage unit. The distributed hash storage architecture is suitable for massive data storage; each node can store only a portion of the data, and it is a decentralized architecture without a central server connecting all nodes. The distributed hash storage architecture allows for even data storage, with data relatively evenly distributed across all storage nodes, and allows for dynamic node changes, such as new nodes coming online and old nodes going offline.
[0248] Please refer to Figure 5, which is a schematic diagram of the storage principle of a common distributed hash storage architecture. As shown in Figure 5, each distributed data storage unit in the distributed hash storage architecture calculates a hash value for each piece of business data that it needs to store, then uses the hash value as the "key" and the business data itself as the "value", and stores the key-value pair in the distributed data storage unit.
[0249] A common distributed hash storage architecture works as follows: First, each distributed storage unit in a distributed hash storage architecture has a unique node identity document (node ID). The key in the key-value pair corresponding to the data already stored or to be stored in the distributed storage unit corresponding to the node ID is generally a homogeneous hash value. For example, the key in the key-value pair corresponding to the data already stored or to be stored in the distributed storage unit corresponding to the node ID is a 128-bit value. Then, assuming that node 1 receives the key-value pair corresponding to the data to be stored, node 1 first calculates the "distance" between itself and the key of the data to be stored, as well as the distances between itself and other nodes it knows and the key. If the calculated distance between node 1 and the key is the smallest, then the data is stored at node 1; otherwise, the data is forwarded to the node with the smallest distance. Assuming that among the nodes known to node 1, node 2 has the smallest distance to the key, then node 2 receives the data to be stored and recursively processes it using the above process. The "distance" can be defined specifically according to the actual application. For example, the "distance" between a storage unit and the key in the key-value pair corresponding to the data to be stored can be the difference between the node ID of the storage unit and the key in the key-value pair corresponding to the data to be stored. For example, assuming that node 1 knows nodes 2 and 3, the first key-value pair corresponding to the data to be stored received by node 1 contains 128-bit values. For ease of illustration, let's take the 128-bit values converted to decimal values as an example. The node ID of node 1 is 13452, the node ID of node 2 is 16781, the node ID of node 3 is 9852, and the key in the key-value pair corresponding to the data to be stored is 15932. Node 1 calculates the "distance" between itself, node 2, and node 3 and the key of the data to be stored, which is the difference between the node ID of node 1, node 2, and node 3 and the key in the key-value pair corresponding to the data to be stored. The difference between the ID and the key in the key-value pair corresponding to the data to be stored is 2480. The difference between the node ID of node 2 and the key in the key-value pair corresponding to the data to be stored is 849. The difference between the node ID of node 3 and the key in the key-value pair corresponding to the data to be stored is 6080. After calculation, it is determined that the "distance" between node 2 and the key in the key-value pair corresponding to the data to be stored is the smallest. Therefore, node 1 sends the key-value pair corresponding to the data to be stored to node 2.
[0250] A common retrieval method in a distributed hash storage architecture is as follows: When a node receives a request to query data, including the key to be retrieved, the node first calculates the "distance" between itself and the key, and then calculates the distances between itself and other nodes it knows and the key. If the calculated distance between itself and the key is the smallest, then it searches for the value corresponding to the key in the key-value pairs stored on its own node. If it finds it, it returns the value; otherwise, it reports an error. Otherwise, the node forwards the data to the node it knows that has the smallest distance to the key. Another node that receives the key to query data recursively processes the data using the same method.
[0251] In common distributed hash storage architectures, each storage node needs to store information from several other storage nodes, making node online / offline operations quite complex. Consistent hash storage architecture, a variant of distributed hash storage architecture, offers a more convenient way to manage node online / offline operations.
[0252] Please refer to Figure 6, which is a schematic diagram of the consistent hash storage architecture. As shown in Figure 6, consistent hashing forms a ring around the hash value space. For an m-bit hash value, its range is [0, 2]. m -1]. Connecting the two ends of this interval forms a ring with a circumference of 2. m Then, a direction of movement (e.g., clockwise) is defined for this ring. If the node ID and key are isomorphic, then both can be mapped onto this ring, corresponding to a point on the ring. Suppose there is a "node A", and the closest node to it is "node B", with the distance measured in the clockwise direction. Then node B is called the successor of node A, and node A is the predecessor of node B. Data belongs to the node with the "smallest distance". Taking a ring space of m=6 as an example: the data interval [5,8] belongs to "node 8", the data interval [9,15] belongs to "node 15", ..., the data interval [59,63]∪[0,4] belongs to "node 4".
[0253] In a consistent hash storage architecture, nodes join as follows: First, any new node needs to establish a connection with any existing node in the distributed hash table (DHT). Assume a new node C establishes a connection with an existing node D in the DHT. Next, node C randomly generates a hash value as its node ID (for a sufficiently large hash space, the probability of identical node IDs is negligible). Node C queries node D to find its successor and predecessor on the ring. Assume node C's successor is node E, and its predecessor is node F. Subsequently, node C needs to interact with nodes E and F to become the predecessor of node E and the successor of node F.
[0254] In a consistent hash storage architecture, a node exits in the following way: Suppose node H wants to leave the DHT network voluntarily, it needs to do some cleanup work according to the agreement, such as notifying its predecessor to update its successor.
[0255] Common distributed hash storage architectures and consistent hash storage architectures do not consider the interaction between the data storage provider and the distributed data storage units (ADRF elements). For example, how does the data storage provider discover suitable groups of distributed data storage units (ADRF element groups), and to which distributed storage unit in the group to send data storage or retrieval requests (i.e., to which ADRF element in the group to send data storage and retrieval requests)? Data storage architectures based on single ADRF elements do not consider distributed data storage and retrieval schemes, resulting in low efficiency for large-scale datasets or AI model training data. To address these issues, this application proposes the following solutions.
[0256] Please refer to Figure 7, which illustrates the basic process of data storage and retrieval based on a storage unit group architecture provided in this application embodiment. As shown in Figure 7, the basic process of data storage and retrieval based on a storage unit group architecture is as follows: 1) The data storage provider (e.g., the second network element) divides the data to be stored into N groups of data blocks; 2) The data storage provider performs a hash operation on each group of data blocks to obtain the corresponding key, thus determining the key-value pair corresponding to each group of data blocks.<key,value> For example, the data to be stored is divided into N data blocks, where one data block is called value1. A hash operation is performed on value1 to obtain the key, thus determining the key-value pair corresponding to data block 1.<key1,value1> 3) The data storage provider discovers storage unit groups. Multiple ADRF groups may exist in the network, and the data storage provider needs to first discover a suitable storage unit group. 4) After discovering the storage unit group, the data storage provider sends data storage requests to the storage units within the group to store the corresponding data.<key,value> List; 5) When the data retrieval party (e.g., the second network element) wants to retrieve data, the data storage party sends a data retrieval request to the storage unit in the storage unit group to retrieve the corresponding data.<key,value> List; 6) Data retrieval based on the acquired<key,value> The list can be used to perform data association and restore the original dataset or model.
[0257] The above describes the basic process of data storage and retrieval based on a storage unit group architecture. The following are specific methods for data storage and retrieval based on a storage unit group architecture.
[0258] Please refer to Figure 8, which is a flowchart of a communication method provided in an embodiment of this application. The method includes, but is not limited to, the following steps:
[0259] Step S801: The second network element sends the first request message.
[0260] For example, the second network element sends a first request message to the first network element, and correspondingly, the first network element receives the first request message from the second network element. Optionally, the second network element can be referred to as a data storage provider, a data retrieval provider, or a consumer. For example, the second network element can be a terminal device, an NWDAF network element, or a DCCF network element. Optionally, the first network element can be an NRF network element. Optionally, the first request message can also be referred to as a network element discovery request message or a group discovery request message.
[0261] The first request message includes first indication information, which indicates the discovery of a storage unit group for storing data to be stored. For example, the first indication information is an ADRF group indication. Indicating the discovery of a storage unit group includes: the first indication information indicating the identification of a storage unit group. This storage unit group includes at least one storage unit. For example, the storage unit group can be a distributed storage unit group, which includes at least one distributed storage unit. Alternatively, the distributed storage unit group can be an ADRF network element group, where the ADRF network element group includes at least one ADRF network element, and this ADRF network element is a distributed storage unit within the distributed storage unit group.
[0262] For example, a storage cell in a storage cell group is associated with at least one other storage cell in the storage cell group.
[0263] For example, the first request message further includes at least one of the following: network function type (NF type), or area of interest (AoI) / Single Network Slice Selection Assistance Information (S-NSSAI). Here, NF Type indicates the type of network element discovered, such as an ADRF network element; AoI indicates the discovery of a group of storage units whose service area contains the AoI, i.e., a group of storage units capable of storing data within the AoI; and S-NSSAI indicates the discovery of a group of storage units whose service range includes the S-NSSAI, i.e., a group of storage units capable of storing data within the S-NSSAI.
[0264] Optionally, the first indication information is used to indicate the discovery of a storage unit group, including: the first indication information is used to indicate the discovery of at least one storage unit group, each of the at least one storage unit group can be used to store data to be stored, and the at least one storage unit group includes the first storage unit group.
[0265] Optionally, the first request message can be a Network Function Discovery Request (Nnrf_NFDiscovery_RequestRequest).
[0266] Step S802: The first network element determines the information of the first storage unit group.
[0267] The first storage unit group is a storage unit group determined from at least one storage unit group based on the first request message. The first storage unit group includes at least one storage unit, and its information includes identification information. This identification information identifies the first storage unit group. Optionally, this information can also be referred to as the registration information of the first storage unit group.
[0268] For example, the information of the first storage unit group further includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, information of the first storage unit in the first storage unit group, or the association relationship between the storage units included in the first storage unit group. Wherein, the information of one storage unit among the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit; and the information of the first storage unit in the first storage unit group includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0269] For example, the region or slice information corresponding to the first storage unit group is used to indicate the region or slice of data that the first storage unit group supports storing.
[0270] For example, the information of the storage units included in the first storage unit group includes: information of all the storage units included in the first storage unit group. This information includes the identification information and / or the address information of all the storage units included in the first storage unit group. Optionally, the identification information of all the storage units can be configured by a first device, wherein the first device has the functions of operating, monitoring, and managing the network. Optionally, the first device can be an Operations, Monitoring, and Management (OAM) network element.
[0271] For example, the first storage unit can be referred to as an anchor storage unit, which is a special storage unit in a group of storage units, and a group of storage units includes at most one first storage unit. For example, a group of first storage units may or may not include the first storage unit. When the group of first storage units includes the first storage unit, other data storage providers or retrieval providers (e.g., a second network element) can interact with the group of first storage units through the first storage unit. In one example, a data storage provider sends a data storage request to the first storage unit, which processes the request and distributes the data to be stored among other storage units in the group of storage units.
[0272] For example, the relationships between storage units included in the first storage unit group can be the topological relationships between the storage units included in the first storage unit group. These topological relationships between storage units included in the first storage unit group can take two forms: distributed hashing and consistent hashing, as shown in the following examples:
[0273] In one example, for distributed hashing, please refer to Table 1, which shows the topological relationships between storage units included in storage unit group A. As shown in Table 1, for example, storage unit group A is an ADRF network element group, and the storage units included in storage unit group A are ADRF network elements. This ADRF network element group is ADRF group1, which includes 5 ADRFs: ADRF network element 1 (ADRF1), ADRF network element 2 (ADRF2), ADRF network element 3 (ADRF3), ADRF network element 4 (ADRF4), and ADRF network element 5 (ADRF5). ADRF network element 1 is associated with ADRF network element 3 and ADRF network element 4, or in other words, ADRF network element 1 is connected to ADRF network element 3 and ADRF network element 4. Simultaneously, ADRF network element 2 is associated with ADRF network element 1 and ADRF network element 3, or in other words, ADRF network element 2 is connected to ADRF network element 4. Network element 1 and ADRF network element 3 are connected; at the same time, ADRF network element 3 is associated with ADRF network element 1, ADRF network element 4 and ADRF network element 5, or in other words, ADRF network element 3 is connected with ADRF network element 1, ADRF network element 4 and ADRF network element 5; at the same time, ADRF network element 4 is associated with ADRF network element 5, or in other words, ADRF network element 4 and ADRF network element 5 are connected; at the same time, ADRF network element 5 is associated with ADRF network element 1 and ADRF network element 2, or in other words, ADRF network element 5 is connected with ADRF network element 1 and ADRF network element 2.
[0274] Table 1
[0275] In yet another example, for consistent hashing, see Table 2, which shows the topological relationships between the storage units included in storage unit group B. As shown in Table 2, for example, storage unit group B is an ADRF network element group, and the storage units included in storage unit group B are ADRF network elements. This ADRF network element group is ADRF group2, which includes 5 ADRFs, namely ADRF network element 1 (ADRF1), ADRF network element 2 (ADRF2), ADRF network element 3 (ADRF3), ADRF network element 4 (ADRF4), and ADRF network element 5 (ADRF5). Among them, the predecessor of ADRF network element 1 is ADRF network element 5 and the successor is ADRF network element 2; the predecessor of ADRF network element 2 is ADRF network element 1 and the successor is ADRF network element 3; the predecessor of ADRF network element 3 is ADRF network element 2 and the successor is ADRF network element 4; the predecessor of ADRF network element 4 is ADRF network element 3 and the successor is ADRF network element 5; and the predecessor of ADRF network element 5 is ADRF network element 4 and the successor is ADRF network element 1.
[0276] Table 2
[0277] In the above method, taking the information of the first storage unit group as an example, the specific information content and function of the information of the first storage unit group are introduced. The information of the first storage unit group is used for the registration and discovery of storage unit groups. The first network element determines the information of the first storage unit group and sends it to the second network element, which is beneficial for the data storage party, i.e. the second network element, to perform data storage based on the storage unit group information, thereby improving the efficiency of data storage and data retrieval.
[0278] The first network element determines the information of the first storage unit group in two ways: Method 1: The first network element receives first information from the first storage unit and / or at least one second information from at least one second storage unit, and determines the information of the first storage unit group based on the first information and / or at least one second information; Method 2: The first network element receives the information of the first storage unit group from the first device.
[0279] Method 1: The first network element receives first information from the first storage unit and / or receives at least one second information from at least one second storage unit, and determines the information of the first storage unit group based on the first information and / or at least one second information.
[0280] For example, the first information includes: identification information of the first storage unit group and information of the first storage unit. The first information also includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group. Wherein, the information of one storage unit among the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit; and the information of the first storage unit includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit. Optionally, the information of the first storage unit group from the first storage units can be pre-configured in the first storage units.
[0281] Optionally, the first storage unit can register the first information with the NRF via a network element management registration request message (Nnrf_NFManagement_NFRegister Request) or a network element management update request message (Nnrf_NFManagement_NFUpdate Request).
[0282] In the above method, taking the receipt of first information from the first storage unit of the first storage unit group as an example, the first network element can determine the information of the storage unit group to which the anchor storage unit belongs by receiving the information of the anchor storage unit, i.e., the first storage unit, in the storage unit group. This is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage.
[0283] For example, one of the at least two second storage units is any storage unit in the first storage unit group other than the first storage unit. For example, the second storage unit can be a non-anchor storage unit. A storage unit group includes at least one second storage unit, meaning the first storage unit group includes at least one second storage unit. This can be understood as the first storage unit group including at most one first storage unit and at least one second storage unit. Each of the at least two second storage units corresponds to one of the at least two pieces of information. For example, one piece of information includes: identification information of the first storage unit group, information of the second storage unit corresponding to the one piece of information, and information of other storage units associated with the second storage unit corresponding to the one piece of information. The information of the second storage unit corresponding to the one piece of information includes at least one of the following: identification information of the second storage unit or address information of the second storage unit. The information of one of the other storage units associated with the second storage unit corresponding to the one piece of information includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0284] Optionally, the second storage unit can register the second information with the NRF via a network element management registration request message (Nnrf_NFManagement_NFRegister Request) or a network element management update request message (Nnrf_NFManagement_NFUpdate Request).
[0285] For example, information about other storage units associated with the second storage unit corresponding to the second information in a second information may also be used to indicate the association relationship between the second storage unit corresponding to the second information and the other storage units associated with it.
[0286] In one example, the storage unit is an ADRF network element. The first network element receives second information from ADRF network element 1. The second information includes the identification information of the storage unit group to which ADRF network element 1 belongs, the information of ADRF network element 2, and the information of ADRF network element 3. Then the first network element can determine that there is a connection between ADRF network element 1 and ADRF network element 2, and a connection between ADRF network element 1 and ADRF network element 3. Alternatively, the first network element can determine that ADRF network element 1 and ADRF network element 2 are associated, and ADRF network element 1 and ADRF network element 3 are associated.
[0287] The second information from ADRF element 1 can be in the form of (ADRF element 2, ADRF element 3) or (predecessor: ADRF element 2, successor: ADRF element 3). When the second information is in the form of (predecessor: ADRF element 2, successor: ADRF element 3), it can specifically indicate that the predecessor of ADRF element 1 is ADRF element 2 and the successor is ADRF element 3.
[0288] In the above method, taking the receipt of at least one second information from at least one second storage unit in the first storage unit group as an example, the first network element can determine the information of the storage unit group to which these non-anchor storage units belong by receiving at least one information from at least one non-anchor storage unit, i.e., the second storage unit, in the storage unit group. This is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage and data retrieval.
[0289] For example, the information by which the first network element determines the first storage unit group based on the first information and / or at least one second information includes: the information by which the first network element determines the first storage unit group based on the first information, the information by which the first network element determines the first storage unit group based on at least one second information, or the information by which the first network element determines the first storage unit group based on the first information and at least one second information.
[0290] When the first storage unit group includes the first storage unit, the first network element can determine the information of the first storage unit group based on the first information, or it can determine the information of the first storage unit group based on the first information and at least one second information; when the first storage unit group does not include the first storage unit, the first network element determines the information of the first storage unit group based on at least one second information.
[0291] The above process can be understood as follows: the first network element determines that the first storage unit corresponding to the first information belongs to the first storage unit group based on the identification information of the first storage unit group in the first information, and / or determines that at least one second storage unit corresponding to at least one piece of second information belongs to the first storage unit group based on the identification information of the first storage unit group in at least one piece of second information, and further associates the first storage unit and / or at least one second storage unit in the first storage unit group. Optionally, the first network element may also determine other information of the first storage unit group based on other information in the first information and / or at least one piece of second information besides the identification information of the first storage unit group, such as the information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, and the association relationship between the storage units included in the first storage unit group.
[0292] In one example, the first storage unit group is ADRF network element group 1, and the storage units in the first storage unit group are ADRF network elements. ADRF network element group 1 includes ADRF network element 1, ADRF network element 2, ADRF network element 3, ADRF network element 4, and ADRF network element 5. The identification information of the storage unit corresponding to ADRF network element 1 is ADRF 1, the identification information of the storage unit corresponding to ADRF network element 2 is ADRF 2, the identification information of the storage unit corresponding to ADRF network element 3 is ADRF 3, the identification information of the storage unit corresponding to ADRF network element 4 is ADRF 4, and the identification information of the storage unit corresponding to ADRF network element 5 is ADRF 5. The associated ADRF network element information indicated in the message of each ADRF network element is as follows:
[0293] ADRF1: ADRF3, ADRF4;
[0294] ADRF2: ADRF1, ADRF3;
[0295] ADRF3: ADRF1, ADRF4, ADRF5;
[0296] ADRF4: ADRF5;
[0297] ADRF5: ADRF1, ADRF2.
[0298] After receiving information from ADRF network elements 1, 2, 3, 4, and 5, the first network element can infer that the identification information of the ADRF network elements included in ADRF network element group 1 is ADRF1, ADRF2, ADRF3, ADRF4, and ADRF5. The number of ADRF network elements included in ADRF network element group 1 is 5. The association relationship between ADRF network elements in ADRF network element group 1, i.e., the topological relationship between ADRF network elements in ADRF network element group 1, is shown in Table 3.
[0299] Table 3
[0300] Taking the determination of the first storage unit group information as an example, when the first network element receives first information from the first storage unit in at least one different storage unit group and at least one second information from at least one second storage unit, it associates storage units belonging to the same storage unit group by determining the identification information of the storage unit group included in the first information from the first storage unit in at least one different storage unit group and at least one second information from at least one second storage unit. For example, when the first network element receives information from storage unit 1, storage unit 2, storage unit 3, and storage unit 4, assuming the identifier information of the first storage unit group is 01 and the identifier information of the second storage unit group is 10, where the identifier information of the storage units included in storage unit 1 and storage unit 4 is 10, and the identifier information included in storage unit 2 and storage unit 3 is 01, then the first network element determines that storage unit 1 and storage unit 4 belong to the second storage unit group, and storage unit 2 and storage unit 3 belong to the first storage unit group. It associates storage unit 1 and storage unit 4 and determines the second storage unit group based on the information of storage unit 1 and storage unit 4, and associates storage unit 2 and storage unit 3 and determines the first storage unit group based on the information of storage unit 2 and storage unit 3.
[0301] In one possible implementation, after the first network element determines the information of the first storage unit group based on the first information and / or the second information, the method further includes: the first network element sending a fourth response message.
[0302] For example, the fourth response message is used to notify that the first storage unit group has been identified. This fourth response message is a response from the first network element to the first information and / or the second information.
[0303] The above method, taking the determination of the information of the first storage unit group as an example, provides a way for the first network element to determine the information of the storage unit group, which is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage and data retrieval.
[0304] Method 2: The first network element receives information from the first storage unit group of the first device.
[0305] For example, the first device is an OAM network element. Optionally, the first device can configure the identification information of the first storage unit group for each storage unit in the first storage unit group, that is, configure the storage unit group to which each storage unit belongs.
[0306] The above method, taking the determination of the information of the first storage unit group as an example, provides another way for the first network element to determine the information of the storage unit group. This is beneficial for the first network element to determine the appropriate storage unit group based on the network element discovery request of the data storage party, thereby improving the efficiency of data storage and data retrieval.
[0307] The above example illustrates how the first network element discovers a storage unit group, i.e., the first storage unit group, from at least one storage unit group, and how the first network element determines the information of the first storage unit group. Of course, the first network element can also discover at least one storage unit group from at least one storage unit group and determine the information of the at least one storage unit group. For details, please refer to the example of the first storage unit group. This application does not limit the specific implementation.
[0308] Step S803: The first network element sends the first response message.
[0309] For example, the first network element sends a first response message to the second network element, and correspondingly, the second network element receives the first response message from the first network element. The first response message includes identification information of the first storage unit group.
[0310] Optionally, the first response message can be a Network Function Discovery Request Response (Nnrf_NFDiscovery_RequestResponse).
[0311] For example, the first response message further includes at least one of the following: information about the storage units included in the first storage unit group, the association relationship between the storage units included in the first storage unit group, information about the first storage unit in the first storage unit group, or the number of storage units included in the first storage unit group. Wherein, the information about one storage unit in the information about the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit; and the information about the first storage unit includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0312] Optionally, the first response message may include identification information of at least one storage unit group, wherein the at least one storage unit group includes a first storage unit group. The first response message may also include other information of the at least one storage unit group, wherein the other information of the at least one storage unit group includes at least one of the following: information of the storage units included in the storage unit group, the association relationship between the storage units included in the storage unit group, information of the first storage unit in the storage unit group, or the number of storage units included in the storage unit group. The above process can be understood as follows: when the first indication information in step S801 is used to indicate the discovery of at least one storage unit group, the first response message accordingly includes identification information of at least one storage unit group, and optionally, the first response message may also include other information of the at least one storage unit group.
[0313] For example, when the first response message includes identification information of at least one storage unit group, and the at least one storage unit group includes a first storage unit group, the first storage unit group is the storage unit group that the second network element determines among the at least one storage unit group to store the data to be stored. The above process can be understood as follows: when the first indication information in step S801 is used to indicate the discovery of at least one storage unit group, and correspondingly, when the first response message sent in step S803 includes identification information of at least one storage unit group, the second network element will determine a storage unit group, namely the first storage unit group, to store the data to be stored. Of course, determining that one storage unit group is the first storage unit group is an example here, and this embodiment is not specifically limited to that.
[0314] Optionally, the first response message sent by the first network element can have three possible scenarios, as follows:
[0315] Scenario 1: The first response message includes the identification information of the first storage unit group and the information of the storage units included in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0316] Scenario 2: The first response message includes the identification information of the first storage unit group, the information of the storage units included in the first storage unit group, and the association relationships between the storage units included in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0317] Scenario 3: The first response message includes the identification information of the first storage unit group and the information of the first storage unit in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group.
[0318] In the above method, the first response message returned by the first network element can have multiple different situations. Different first response messages can be returned according to different actual needs, which is beneficial for the data storage party to adjust different data storage methods based on storage unit groups and improve data storage efficiency.
[0319] Step S804: The second network element sends a third request message.
[0320] For example, the second network element sends a third request message to the first storage unit group, and correspondingly, the first storage unit group receives the third request message from the second network element. The third request message is used to request the first storage unit group to perform data storage.
[0321] Optionally, the third request message can be a data management storage request (Nadrf_DataManagement_StorageRequest).
[0322] In one possible implementation, the method further includes: the second network element performing data slicing on the data to be stored to determine N groups of data blocks. Here, N is a positive integer greater than 0.
[0323] For example, each group of data blocks in the N groups of data blocks corresponds to a set of key-value pairs. The key-value pairs corresponding to each group of data blocks are determined by performing a hash operation on each group of data blocks. The key-value pairs corresponding to each group of data blocks are stored in the storage units in the first storage unit group. That is, the storage units in the first storage unit group store the key-value pairs corresponding to the N groups of data blocks.
[0324] For example, determining N groups of data blocks by data slicing the data to be stored includes: determining N groups of data blocks based on at least one of the following: information about the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group. Wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit.
[0325] In one example, the number of data blocks after data slicing is equal to the number of storage units included in the first storage unit group. Specifically, the second network element determines that the first storage unit group includes 5 storage units based on the information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the relationship between the storage units included in the first storage unit group. Then, the second network element can divide the data to be stored into 5 blocks so that the data can be stored relatively evenly on different storage units.
[0326] In another example, the number of data blocks after data slicing is not equal to the number of storage units included in the first storage unit group. Specifically, the second network element determines that the first storage unit group includes 6 storage units based on the information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the correlation between the storage units included in the first storage unit group. Then, the second network element can divide the data to be stored into 10 blocks. Among them, four storage units in the first storage unit group each store 2 sets of data blocks, and the remaining two storage units each store 1 set of data blocks.
[0327] The above process can be understood as follows: the second network element takes into account the characteristics of the data to be stored and performs data slicing based on the information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the relationship between the storage units included in the first storage unit group. The number of data blocks after data slicing is not directly related to the number of storage units included in the first storage unit group. That is, the number of data blocks can be equal to the number of storage units included in the first storage unit group, or a multiple of the number of storage units included in the first storage unit group, or it can be not equal to the number of storage units included in the first storage unit group, or a multiple thereof, or it can be other cases. This application embodiment does not limit this.
[0328] In the above method, the second network element performs data slicing on the data to be stored based on the information of the storage unit group that stores the data to be stored, namely the first storage unit group, so that the data to be stored can be distributed more evenly on the storage units in the first storage unit group, thereby improving the efficiency of data storage and data retrieval.
[0329] The above describes how the second network element slices the data to be stored into N groups of data blocks. Correspondingly, for the three scenarios of the first response message sent by the first network element (scenario 1, 2, and 3 above), the third request message sent by the second network element also has three sending methods, as follows:
[0330] For scenario 1, the corresponding transmission method 1 includes: the second network element sending at least one third request message to at least one storage unit in the first storage unit group, and correspondingly, at least one storage unit in the first storage unit group receiving at least one third request message.
[0331] In this context, each storage unit in at least one storage unit corresponds to one of the at least one third request messages.
[0332] For example, one of the at least three third request messages includes: a list of key-value pairs corresponding to one or more sets of data blocks in N sets of data blocks.<key,value> Among them, the N groups of data blocks are determined by the second network element through data slicing of the data to be stored.
[0333] In one example, the data to be stored is divided into five groups of data blocks: data block 1, data block 2, data block 3, data block 4, and data block 5. The first storage unit group includes five storage units: storage unit 1, storage unit 2, storage unit 3, storage unit 4, and storage unit 5. The second network element selects to send the five groups of data blocks to storage unit 1, storage unit 2, and storage unit 3. Subsequently, the second network element determines to send the key-value pairs corresponding to data block 1 and data block 2 to storage unit 1, the key-value pairs corresponding to data block 3 and data block 5 to storage unit 2, and the key-value pairs corresponding to data block 4 to storage unit 3. Then, the third request message sent by the second network element to storage unit 1 includes the key-value pairs corresponding to data block 1 and data block 2; the third request message sent by the second network element to storage unit 2 includes the key-value pairs corresponding to data block 3 and data block 5; and the third request message sent by the second network element to storage unit 3 includes the key-value pairs corresponding to data block 4. Accordingly, the key-value pairs corresponding to data block 1 and data block 2 may not necessarily be stored in storage unit 1. Specifically, storage unit 1 can be determined through information exchange with other storage units in the first storage unit group besides storage unit 1. Similarly, the key-value pairs corresponding to data block 3 and data block 5 may not necessarily be stored in storage unit 2, and the key-value pairs corresponding to data block 4 may not necessarily be stored in storage unit 3.
[0334] The above process can be understood as follows: when the first response message includes the identification information of the first storage unit group and the information of the storage units included in the first storage unit group, the second network element randomly sends N sets of data blocks to at least one storage unit in the first storage unit group, and the storage units in the first storage unit group determine the storage unit corresponding to each set of data blocks in the N sets of data blocks through information interaction. The number of the at least one storage unit is determined by the second network element, and the number of the at least one storage unit is required not to exceed the number of storage units included in the first storage unit group. The number of data blocks received by each storage unit in the at least one storage unit is also determined by the second network element. It can be that the number of data blocks received by each storage unit in the at least one storage unit is equal, or it can be that the number of data blocks received by each storage unit in the at least one storage unit is unequal. This application embodiment does not limit this.
[0335] In the above method, the second network element determines how to send the segmented data blocks based on the received first response message. That is, it randomly sends the data blocks to at least one storage unit in the first storage unit group based on the storage unit information in the first storage unit group. This allows the second network element to store the data to be stored in different storage units in the first storage unit group in parallel, and it also makes the data stored by the second network element as evenly distributed as possible among different storage units, thereby improving the efficiency of data storage and data retrieval.
[0336] For scenario 2, the corresponding transmission method 2 includes: the second network element determines the information of at least one storage unit storing N groups of data blocks, the second network element sends at least one third request message to at least one storage unit corresponding to the information of the at least one storage unit, and correspondingly, at least one storage unit in the first storage unit group receives at least one third request message.
[0337] Among them, the N groups of data blocks are determined by the second network element through data slicing of the data to be stored, the at least one storage unit is at least one storage unit in the first storage unit group, the storage unit corresponding to the information of one of the storage units in the at least one storage unit stores one or more groups of data blocks in the N groups of data blocks, and each storage unit in the at least one storage unit corresponds to one of the at least one third request messages in the at least one third request message.
[0338] For example, one of the at least three request messages includes: a set of one or more sets of key-value pairs corresponding to a set of one or more sets of data blocks stored in the storage unit corresponding to the three request.
[0339] In one example, the data to be stored is divided into 5 groups of data blocks: data block 1, data block 2, data block 3, data block 4, and data block 5. The first storage unit group includes five storage units: storage unit 1, storage unit 2, storage unit 3, storage unit 4, and storage unit 5. The second network element determines that storage unit 1 stores data block 1 and data block 2, storage unit 3 stores data block 3 and data block 5, and storage unit 4 stores data block 4. Then, the third request message sent by the second network element to storage unit 1 includes: the key-value pair corresponding to data block 1 and the key-value pair corresponding to data block 2; the third request message sent by the second network element to storage unit 3 includes: the key-value pair corresponding to data block 3 and the key-value pair corresponding to data block 5; and the third request message sent by the second network element to storage unit 4 includes: the key-value pair corresponding to data block 4.
[0340] In another example, the first storage unit group is an ADRF network element group, and the storage units in the first storage unit group are ADRF network elements. The ADRF network element group includes five ADRF network elements, namely ADRF network element 1, ADRF network element 2, ADRF network element 3, ADRF network element 4, and ADRF network element 5. The topology of the ADRF network element group is shown in Table 4.
[0341] Table 4
[0342] The data to be stored is divided into 5 data blocks: data block 1, data block 2, data block 3, data block 4, and data block 5. Data block 1 is referred to as value1, data block 2 as value2, data block 3 as value3, data block 4 as value4, and data block 5 as value5. The second network element performs a hash operation on each of the five data blocks, calculating their hash values to obtain the corresponding keys. Value1 corresponds to key1, value2 to key2, value3 to key3, value4 to key4, and value5 to key5. Specifically, the key-value pair for data block 1 is (key1, value1), for data block 2 it is (key2, value2), for data block 3 it is (key3, value3), for data block 4 it is (key4, value4), and for data block 5 it is (key5, value5). The second network element determines that it will store (key1, value1) in ADRF network element 1, (key2, value2) in ADRF network element 5, (key3, value3) in ADRF network element 2, (key4, value4) in ADRF network element 3, and (key5, value5) in ADRF network element 4. Then, the second network element sends a third request message to ADRF network element 1, which includes (key1, value1); to ADRF network element 5, which includes (key2, value2); to ADRF network element 2, which includes (key3, value3); to ADRF network element 3, which includes (key4, value4); and to ADRF network element 4, which includes (key5, value5).
[0343] The above process can be understood as follows: when the first response message includes the identification information of the first storage unit group, the information of the storage units included in the first storage unit group, and the association relationship between the storage units included in the first storage unit group, the second network element can determine at least one storage unit that stores N sets of data blocks. Each storage unit in the at least one storage unit needs to store one or more sets of N sets of data blocks. Then, the second network element sends one or more sets of the corresponding N sets of data blocks to be stored to each storage unit in the at least one storage unit.
[0344] In the above method, the second network element determines how to send the segmented data blocks based on the received first response message. That is, it determines the specific storage unit for storing each group of data blocks based on the association relationship between the storage units in the first storage unit group, and directly sends a data storage request, i.e., a third request message, to the specific storage unit. This allows the second network element to store the data to be stored as evenly as possible in different storage units in the first storage unit group. At the same time, it reduces the complex interactive operations within the first storage unit group regarding the determination of the storage unit for storing each group of data blocks, simplifies the operational complexity within the first storage unit group, and improves the efficiency of data storage and data retrieval.
[0345] For scenario 3, the corresponding transmission method 3 includes: the second network element sending a third request message to the first storage unit, and correspondingly, the first storage unit receiving the third request message from the second network element.
[0346] For example, the content included in the third request message can be divided into the following two types, as follows:
[0347] Method A: The third request message includes key-value pairs corresponding to each of the N sets of data blocks. These N sets of data blocks are determined by the second network element through data slicing of the data to be stored.
[0348] In one example, the data to be stored is divided into 5 groups of data blocks, namely, data block 1, data block 2, data block 3, data block 4, and data block 5. The first storage unit group includes five storage units, namely, storage unit 1, storage unit 2, storage unit 3, storage unit 4, and the first storage unit. Then, the third request message sent by the second network element to the first storage unit includes: the key-value pair corresponding to data block 1, the key-value pair corresponding to data block 2, the key-value pair corresponding to data block 3, the key-value pair corresponding to data block 4, and the key-value pair corresponding to data block 5.
[0349] The above process can be understood as follows: when the first response message includes the identification information of the first storage unit group and the information of the first storage unit in the first storage unit group, the second network element sends all N sets of data blocks to the first storage unit in the first storage unit group, and the first storage unit determines the storage unit storing each set of data blocks in the N sets of data blocks through information interaction with other associated storage units.
[0350] In the above method, the second network element determines how to send the segmented data blocks based on the received first response message. That is, based on the information of the first storage unit in the first storage unit group, the second network element sends all the data blocks to the first storage unit. This allows the second network element to store the data to be stored as evenly as possible in different storage units in the first storage unit group. At the same time, the first storage unit is introduced, and data storage and retrieval are completed through the interaction between the second network element and the first storage unit. This simplifies the interaction between the second network element and the first storage unit group, reduces the complexity of operation, and improves the efficiency of data storage and retrieval.
[0351] Method B: The third request message includes: data to be stored.
[0352] The data to be stored is used in the first storage unit for data slicing and hash operations.
[0353] For example, after receiving the data to be stored, the first storage unit performs data slicing on the data to be stored to determine M groups of data blocks, and determines the key-value pairs corresponding to each group of data blocks in the M groups of data blocks. The determination of the key-value pairs corresponding to each group of data blocks in the M groups of data blocks is based on a hash operation, where M is an integer greater than 0.
[0354] For example, after the first storage unit determines the key-value pair corresponding to each group of data blocks in the M groups of data blocks, the first storage unit sends the key in the key-value pair corresponding to each group of data blocks to the second network element.
[0355] Step S805: The first storage unit group stores data based on the third request message.
[0356] For the three sending methods of the third request message sent by the second network element in step S804, namely sending method 1, sending method 2, and sending method 3, the first storage unit group has three storage methods for storing data based on the third request message, as follows:
[0357] Storage Method 1: For transmission method 1, the first storage unit group stores data based on the third request message, including: each storage unit in at least one storage unit interacts with the storage units included in the first storage unit group, so that the storage units included in the first storage unit group store the key-value pairs corresponding to the corresponding data blocks. Wherein, the at least one storage unit is the at least one storage unit that received the third request message in step S804.
[0358] When the structure of the first storage unit group is a distributed hash, the above process can be understood as follows: Each storage unit in at least one storage unit receiving the third request message determines the storage unit "closest" to the key-value pair corresponding to the data block to be stored among itself and other storage units associated with itself. If the "closest" is not itself, it sends the key-value pair corresponding to the data block to be stored to the "closest" storage unit. The "closest" storage unit also determines the storage unit "closest" to the key-value pair corresponding to the data block to be stored among itself and other associated storage units and sends the key-value pair corresponding to the data block to be stored. This process is repeated recursively until a storage unit in the first storage unit group receives the key-value pair corresponding to the data block to be stored and calculates that the storage unit "closest" to the key-value pair corresponding to the data block to be stored is itself. Then, the storage unit stores the data block to be stored locally. In this context, the storage unit that is "closest" to the key-value pair corresponding to the data block to be stored can be the storage unit whose node ID has the smallest numerical difference between the key and the key in the key-value pair. For details, please refer to the relevant description in Figure 5, which will not be repeated here. Assuming that one storage unit in the first storage unit group is storage unit A, the other storage units associated with storage unit A are those connected to (or related to, or connected in the topology) storage unit A.
[0359] In one example, the structure of the first storage unit group is a distributed hash, and its topology is shown in Table 5. The first storage unit group includes 5 storage units, namely storage unit 1, storage unit 2, storage unit 3, storage unit 4, and storage unit 5. The data to be stored is divided into 5 data blocks, namely data block 1, data block 2, data block 3, data block 4, and data block 5. When storage unit 1 receives a third request message including: the key-value pair corresponding to data block 1 and the key-value pair corresponding to data block 2; storage unit 2 receives a third request message including: the key-value pair corresponding to data block 3 and the key-value pair corresponding to data block 5; and storage unit 3 receives a third request message including: the key-value pair corresponding to data block 4, taking the key-value pair corresponding to data block 1 as an example, storage unit 1 first determines the key-value pair corresponding to itself and other storage units associated with it. The storage unit is the storage unit in storage unit 3 that is "closest" to the key-value pair corresponding to data block 1. If storage unit 3 is "closest" to the key-value pair corresponding to data block 1, then storage unit 1 sends the key-value pair corresponding to data block 1 to storage unit 3. Then, storage unit 3 determines the storage unit "closest" to the key-value pair corresponding to data block 1 among itself, storage unit 1, storage unit 2, and storage unit 4. If storage unit 4 is "closest" to the key-value pair corresponding to data block 1, then storage unit 3 sends the key-value pair corresponding to data block 1 to storage unit 4. Then, storage unit 4 determines the storage unit "closest" to the key-value pair corresponding to data block 1 among itself, storage unit 3, and storage unit 5. If storage unit 4 itself is "closest" to the key-value pair corresponding to data block 1, then storage unit 4 saves the key-value pair corresponding to data block 1 locally. Similarly, storage unit 1 determines the storage unit "closest" to the key-value pair corresponding to data block 2 among itself and the storage units associated with it, thereby progressively determining the storage unit for storing the key-value pair corresponding to data block 2, and enabling the storage unit for storing the key-value pair corresponding to data block 2 to receive and store the key-value pair corresponding to data block 2; storage unit 2 determines the storage units "closest" to the key-value pair corresponding to data block 3 and the key-value pair corresponding to data block 5 among itself and the storage units associated with it, thereby progressively determining the storage units for data blocks. The storage unit corresponding to key-value pair 3 and the storage unit corresponding to key-value pair 5 are used to receive and store the key-value pair corresponding to the corresponding data block; storage unit 3 determines the storage unit "closest" to the key-value pair corresponding to data block 4 among itself and the storage units associated with storage unit 3, thereby gradually determining the storage unit corresponding to key-value pair 4, and the storage unit corresponding to key-value pair 4 is used to receive and store the key-value pair corresponding to data block 4.
[0360] Table 5
[0361] When the structure of the first storage unit group is a consistent hash, the above process can be understood as follows: Each storage unit in at least one storage unit receiving the third request message first determines whether the key in the key-value pair corresponding to the data block to be stored is within its own corresponding data range. If the key does not belong to its own corresponding data range, it sends the key-value pair corresponding to the data block to be stored to its "successor." The "successor" of that storage unit also determines whether the key in the key-value pair corresponding to the data block to be stored is within its own corresponding data range, and so on recursively until a storage unit in the first storage unit group receives the key-value pair corresponding to the data block to be stored and determines that the key in the key-value pair corresponding to the data block to be stored belongs to its own corresponding data range. Then, that storage unit stores the data block to be stored locally. The data range corresponding to the storage unit is a portion of the hash value space, as detailed in Figure 6, which will not be elaborated upon here.
[0362] In one example, the structure of the first storage unit group is a consistent hash, and its topology is shown in Table 6. The first storage unit group includes 5 storage units, namely storage unit 1, storage unit 2, storage unit 3, storage unit 4, and storage unit 5. The node ID of these 5 storage units is 8 bits of data. Correspondingly, the hash value range of this storage unit group is [0, 255]. Among them, the node ID of storage unit 1 is 47, and the corresponding data range is [5, 47]; the node ID of storage unit 2 is 104, and the corresponding data range is [48, 104]; the node ID of storage unit 3 is 151, and the corresponding data range is [105, 151]; the node ID of storage unit 4 is 196, and the corresponding data range is [152, 196]; the node ID of storage unit 5 is... The ID is 4, corresponding to a data range of [196, 255] ∪ [0, 4]. The data to be stored is divided into 5 data blocks: data block 1, data block 2, data block 3, data block 4, and data block 5. The "key" in the key-value pairs corresponding to these 5 data blocks is also 8 bits of data. Accordingly, the key range in the key-value pairs corresponding to these 5 data blocks is [0, 255]. When the third request message received by storage unit 1 includes: the key-value pairs corresponding to data block 1 and data block 2, the third request message received by storage unit 2 includes: the key-value pairs corresponding to data block 3 and data block 5, and the third request message received by storage unit 3 includes: the key-value pairs corresponding to data block 4, taking the key-value pairs corresponding to data block 1 as an example, the key-value pairs corresponding to data block 1... The key is 147. Storage unit 1 first determines whether the key in the key-value pair corresponding to data block 1 is in its own data range. Obviously, 147 does not belong to the range [5,47]. Therefore, storage unit 1 sends the key-value pair corresponding to data block 1 to its "successor" - storage unit 2. Then, storage unit 2 determines whether the key in the key-value pair corresponding to data block 1 is in its own data range. Obviously, 147 does not belong to the range [48,104]. Therefore, storage unit 2 sends the key-value pair corresponding to data block 1 to its "successor" - storage unit 3. Subsequently, storage unit 3 determines whether the key in the key-value pair corresponding to data block 1 is in its own data range. Obviously, 147 belongs to the range [105,151]. Therefore, storage unit 3 saves the key-value pair corresponding to data block 1 locally.Similarly, storage unit 1 determines whether the key in the key-value pair corresponding to data block 2 is within its own corresponding data range, thereby gradually determining the storage unit corresponding to the data range to which the key in the key-value pair belongs, and causing the storage unit storing the key-value pair corresponding to data block 2 to receive and store the key-value pair corresponding to data block 2; storage unit 2 determines whether the key in the key-value pair corresponding to data block 3 and the key in the key-value pair corresponding to data block 5 are within its own corresponding data range, thereby gradually determining the storage unit corresponding to the data range to which the key in the key-value pair belongs and the storage unit corresponding to the data range to which the key in the key-value pair belongs, and causing the storage unit storing the key-value pair corresponding to data block 3 and the storage unit storing the key-value pair corresponding to data block 5 to receive and store the key-value pair corresponding to the corresponding data block; storage unit 3 determines whether the key in the key-value pair corresponding to data block 4 is within its own corresponding data range, thereby gradually determining the storage unit corresponding to the data range to which the key in the key-value pair belongs, and causing the storage unit storing the key-value pair corresponding to data block 4 to receive and store the key-value pair corresponding to data block 4.
[0363] Table 6
[0364] Storage method 2: For sending method 2, the first storage unit group stores data based on the third request message, including: each storage unit in the at least one storage unit stores one or more sets of key-value pairs corresponding to one or more sets of data blocks included in a third request message corresponding to each storage unit.
[0365] In one example, the data to be stored is divided into 5 groups of data blocks, namely data block 1, data block 2, data block 3, data block 4, and data block 5. The first storage unit group includes 5 storage units, namely storage unit 1, storage unit 2, storage unit 3, storage unit 4, and storage unit 5. When storage unit 1 receives a third request message including: the key-value pair corresponding to data block 1 and the key-value pair corresponding to data block 2, storage unit 3 receives a third request message including: the key-value pair corresponding to data block 3 and the key-value pair corresponding to data block 5, and storage unit 4 receives a third request message including: the key-value pair corresponding to data block 4, storage unit 1 stores the key-value pair corresponding to data block 1 and the key-value pair corresponding to data block 2, storage unit 3 stores the key-value pair corresponding to data block 3 and the key-value pair corresponding to data block 5, and storage unit 4 stores the key-value pair corresponding to data block 4.
[0366] Storage method 3: For sending method 3, the first storage unit group stores data based on the third request message, including: the first storage unit interacts with other storage units in the first storage unit group other than the first storage unit, so that the storage units included in the first storage unit group store the key-value pairs corresponding to the corresponding data blocks.
[0367] When the structure of the first storage unit group is a distributed hash, the above process can be understood as follows: regardless of whether it is the key-value pair corresponding to the data to be stored received by the first storage unit in method A of sending method 3, or the key-value pair corresponding to the data to be stored obtained by the first storage unit through data slicing and hash operation in sending method B, the first storage unit first determines the storage unit "closest" to the key-value pair corresponding to the data block to be stored among itself and other storage units associated with itself. If the "closest" is not itself, it sends the key-value pair corresponding to the data block to be stored to the "closest" storage unit. The "closest" storage unit also determines the storage unit "closest" to the key-value pair corresponding to the data block to be stored among itself and other associated storage units and sends the key-value pair corresponding to the data block to be stored. This process is repeated recursively until a storage unit in the first storage unit group receives the key-value pair corresponding to the data block to be stored and calculates that the storage unit "closest" to the key-value pair corresponding to the data block to be stored is itself. Then, the storage unit stores the data block to be stored locally. In this context, the storage unit that is "closest" to the key-value pair corresponding to the data block to be stored can be the storage unit whose node ID has the smallest numerical difference between the key and the key in the key-value pair. For details, please refer to the relevant description in Figure 5, which will not be repeated here. Assuming that one storage unit in the first storage unit group is storage unit A, the other storage units associated with storage unit A are those connected to (or related to, or connected in the topology) storage unit A.
[0368] In one example, the structure of the first storage unit group is a distributed hash, and its topology is shown in Table 7. The first storage unit group includes 5 storage units, namely storage unit 1, storage unit 2, storage unit 3, storage unit 4 and the first storage unit. The data to be stored is divided into 5 groups of data blocks, namely data block 1, data block 2, data block 3, data block 4 and data block 5. When the first storage unit receives a third request message including: the key-value pair corresponding to data block 1, the key-value pair corresponding to data block 2, the key-value pair corresponding to data block 3, the key-value pair corresponding to data block 4 and the key-value pair corresponding to data block 5, the first storage unit determines the storage unit "closest" to the key-value pair corresponding to the data to be stored (i.e., the key-value pair corresponding to the 5 groups of data blocks) among itself and the storage units associated with the first storage unit, and sends it to the corresponding storage unit. Taking the key-value pair corresponding to data block 1 as an example, the first storage unit determines the storage unit that is "closest" to the key-value pair corresponding to data block 1 among itself, storage unit 2, and storage unit 4. If storage unit 2 is "closest" to the key-value pair corresponding to data block 1, the first storage unit sends the key-value pair corresponding to data block 1 to storage unit 2. Then, storage unit 2 determines the storage unit that is "closest" to the key-value pair corresponding to data block 1 among itself, the first storage unit, and storage unit 3. If storage unit 2 itself is "closest" to the key-value pair corresponding to data block 1, storage unit 2 saves the key-value pair corresponding to data block 1 locally. Similarly, the first storage unit determines the storage unit "closest" to the key-value pair corresponding to data block 2, the storage unit "closest" to the key-value pair corresponding to data block 3, the storage unit "closest" to the key-value pair corresponding to data block 4, and the storage unit "closest" to the key-value pair corresponding to data block 5 among itself and the storage units associated with the first storage unit. This gradually determines the storage units for storing the key-value pairs corresponding to data block 2, data block 3, data block 4, and data block 5, and enables the storage units storing the key-value pairs corresponding to these four sets of data blocks to receive and store the key-value pairs corresponding to the corresponding data blocks.
[0369] Table 7
[0370] When the structure of the first storage unit group is a consistent hash, the above process can be understood as follows: Whether it's the key-value pair corresponding to the data to be stored received by the first storage unit in Method A of sending method 3, or the key-value pair corresponding to the data to be stored obtained by the first storage unit through data slicing and hash operations in Method B of sending method 3, the first storage unit first determines whether the key in the key-value pair corresponding to the data block to be stored is within its own corresponding data range. If the key does not belong to its own corresponding data range, the first storage unit sends the key-value pair corresponding to the data block to be stored to its "successor." The "successor" of this storage unit also determines whether the key in the key-value pair corresponding to the data block to be stored is within its own corresponding data range, and so on recursively until a storage unit in the first storage unit group receives the key-value pair corresponding to the data block to be stored and determines that the key in the key-value pair belongs to its own corresponding data range. Then, this storage unit stores the data block to be stored locally. The data range corresponding to the storage unit is a portion of the hash value space; for details, please refer to the relevant description in Figure 5, which will not be elaborated here.
[0371] In one example, the structure of the first storage unit group is a consistent hash, and its topology is shown in Table 8. The first storage unit group includes 5 storage units: storage unit 1, storage unit 2, storage unit 3, storage unit 4, and the first storage unit. The node ID of these 5 storage units is 8 bits of data. Correspondingly, the hash value range of this storage unit group is [0, 255]. Specifically, the node ID of storage unit 1 is 47, corresponding to the data range [5, 47]; the node ID of storage unit 2 is 104, corresponding to the data range [48, 104]; the node ID of storage unit 3 is 151, corresponding to the data range [105, 151]; the node ID of storage unit 4 is 196, corresponding to the data range [152, 196]; and the node ID of the first storage unit... With ID 4, the corresponding data range is [196, 255] ∪ [0, 4]. The first storage unit performs data slicing and hash operations on the data to be stored to obtain 3 sets of data blocks and their corresponding key-value pairs. The 3 sets of data blocks are data block 1, data block 2, and data block 3. The key-value pairs corresponding to the 3 sets of data blocks are the key-value pairs corresponding to data block 1, data block 2, and data block 3, respectively. The key in each of the key-value pairs is also 8 bits. Accordingly, the key range of the key in each of the 3 sets of data blocks is [0, 255]. Taking the key-value pair corresponding to data block 1 as an example, the key in the key-value pair corresponding to data block 1 is 147. The first storage unit first determines whether the key in the key-value pair corresponding to data block 1 is within its corresponding data range. Obviously, 147 does not belong to the range [196, 255]. If the key is in the range [0,4], then storage unit 1 sends the key-value pair corresponding to data block 1 to its successor, storage unit 2. Then storage unit 1 determines whether the key in the key-value pair corresponding to data block 1 is in its own data range. Obviously, 147 does not belong to the range [5,47]. Then storage unit 1 sends the key-value pair corresponding to data block 1 to its successor, storage unit 2. Then storage unit 2 determines whether the key in the key-value pair corresponding to data block 1 is in its own data range. Obviously, 147 does not belong to the range [48,104]. Then storage unit 2 sends the key-value pair corresponding to data block 1 to its successor, storage unit 3. Subsequently, storage unit 3 determines whether the key in the key-value pair corresponding to data block 1 is in its own data range. Obviously, 147 belongs to the range [105,151]. Then storage unit 3 saves the key-value pair corresponding to data block 1 locally.Similarly, the first storage unit determines whether the key in the key-value pair corresponding to data block 2 and the key in the key-value pair corresponding to data block 3 are within its own corresponding data range, thereby gradually determining the storage unit corresponding to the data range to which the key in the key-value pair corresponding to data block 2 belongs and the storage unit corresponding to the data range to which the key in the key-value pair corresponding to data block 3 belongs, and so that the storage unit storing the key-value pair corresponding to data block 2 and the storage unit storing the key-value pair corresponding to data block 3 receive and store the key-value pair corresponding to the corresponding data block.
[0372] Table 8
[0373] In the above method, the first storage unit group completes data storage based on the received data storage request, i.e., the third request message, thereby realizing a data storage method based on storage unit groups and improving data storage efficiency.
[0374] The above are three different storage methods for storing N sets of data blocks in the first storage unit group based on the first response message. When at least one storage unit in the first storage unit group that needs to store data receives a set or pair of key-value pairs of one or more sets of data blocks from the N sets of data blocks that need to be stored, the specific storage method can be referred to in Figure 4, which shows the process of storing data in a single storage unit, i.e., the ADRF network element.
[0375] In one possible implementation, the method further includes: the second network element sending a second request message.
[0376] For example, the second network element sends a second request message to the first network element, and correspondingly, the first network element receives the second request message from the second network element. The second request message is used to request notification of a change in the first storage unit group, and includes identification information of the first storage unit group.
[0377] For example, a change in the first storage unit group can be due to an increase in the number of storage units included in the first storage unit group (i.e., a new storage unit is added to the first storage unit group), a decrease in the number of storage units included in the first storage unit group (i.e., a storage unit leaves the first storage unit group), or a change in the topological relationship between the storage units included in the first storage unit group.
[0378] Optionally, the second request message can be a network element status subscription (Nnrf_NFManagement_NFStatusSubscribe).
[0379] Optionally, the second request message can be called a subscription message, which is used to subscribe to notifications of changes in the first storage unit group, that is, to request the first network element to notify the second network element when the first storage unit group changes.
[0380] In one possible implementation, when the first storage unit group changes, the method further includes: the first network element sending a second response message.
[0381] Optionally, the second response message can be a network element status notification (Nnrf_NFManagement_NFStatusNotify).
[0382] For example, the first network element sends a second response message to the second network element, and correspondingly, the second network element receives the second response message from the first network element. The second response message includes at least one of the following: updated region or slice information corresponding to the updated first storage unit group; information about the storage units included in the updated first storage unit group; the number of storage units included in the updated first storage unit group; information about the first storage units in the updated first storage unit group; or the association relationships between the storage units included in the updated first storage unit group.
[0383] The updated first storage unit group includes information on one of the storage units, which includes at least one of the following: identification information of the storage unit or address information of the storage unit. The updated first storage unit group includes information on the first storage unit, which includes at least one of the following: identification information of the first storage unit or address information of the first storage unit.
[0384] In the above method, when a storage unit is added or removed from the first storage unit group, the data storage provider is notified of the change in the storage unit group through the second request message and the second response message, which ensures that the data storage provider can complete the subsequent data retrieval process normally.
[0385] In one possible implementation, the method further includes: the second network element sending a fifth request message.
[0386] For example, the second network element sends a fifth request message to the first storage unit group, and correspondingly, the first storage unit group receives the fifth request message from the second network element. The fifth request message is used to request data retrieval, and includes the key (key(s)) in the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. Optionally, the fifth request message can be referred to as a data retrieval request.
[0387] Optionally, the fifth request message can be "Data Retrieval Request (Nadrf_NFManagement_RetrievalRequest Request)".
[0388] For example, the fifth request message may also include correlation identity (correlation ID) information, which is used to determine the response message that responds to the fifth request message.
[0389] The above process can be understood as follows: the storage unit in the first storage unit group that receives the fifth request message (i.e., the data retrieval request) sent by the second network element is not necessarily the same storage unit as the storage unit that returns the value(s) of the key-value pair corresponding to the data to be retrieved to the second network element. Therefore, the second network element can carry a correlation ID in the fifth request message. The storage units in the first storage unit group can also carry this correlation ID when transmitting the data retrieval request. Finally, the storage unit that returns the value(s) also carries this correlation ID when sending the value(s) to the second network element. In this way, even if the second network element receives the value of the key-value pair corresponding to the data to be retrieved from other storage units (i.e., storage units that did not receive the data retrieval request), it can still associate the data retrieval request with the received response (i.e., the value of the key-value pair corresponding to the data to be retrieved) through the correlation ID.
[0390] For example, the second network element sending a fifth request message to the first storage unit group includes: the second network element sending the fifth request message to any one of the storage units in the first storage unit group. This "any one" storage unit can be the storage unit storing the key-value pair corresponding to the data to be retrieved, or it can be any other storage unit in the first storage unit group besides the storage unit storing the key-value pair corresponding to the data to be retrieved. Optionally, when the second network element can determine the storage unit storing the key-value pair corresponding to the data to be retrieved, the second network element can directly send the fifth request message to the storage unit storing the key-value pair corresponding to the data to be retrieved.
[0391] For example, when the second network element sends a fifth request message to the storage unit in the first storage unit group that stores the key-value pair corresponding to the data to be retrieved, the storage unit that stores the key-value pair corresponding to the data to be retrieved has left the first storage unit group. The first storage unit group sends a second indication message to the second network element. The second indication message is used to indicate that the retrieval has failed. Optionally, the second indication message can be called a failure indication message.
[0392] For example, after receiving the second instruction information, the second network element sends a fifth request message to any one of the storage units in the first storage unit group, wherein any one of the storage units in the first storage unit group includes the first storage unit of the first storage unit group, but does not include the storage unit storing the key-value pair corresponding to the data to be retrieved.
[0393] For example, before the second network element sends the fifth request message, the second network element receives a second response message from the first network element. This second response message includes updated information about the first storage unit group. The updated information about the first storage unit group does not include the storage unit storing the key-value pair corresponding to the data to be retrieved. Then, the second network element sends the fifth request message to the first storage unit group, which includes sending the fifth request message to any one storage unit in the updated first storage unit group, wherein the any one storage unit includes the first storage unit. Optionally, when the second network element sends the fifth request message to the first storage unit in the updated first storage unit group to retrieve data, the second response message may include information about the first storage unit in the updated first storage unit group but not information about the storage units included in the updated first storage unit group.
[0394] The above process can be understood as follows: the second network element, i.e. the data retrieval party, can directly send a retrieval request to the storage unit in the first storage unit group that previously stored the data to be retrieved. If the storage unit has left the first storage unit group, the second network element will receive a failure indication. At this time, the second network element can then send a request to any storage unit in the first storage unit group or send a request to the first storage unit. Alternatively, if the storage unit leaves the first storage unit group, the first network element notifies the second network element, and the second network element selects any storage unit from the latest storage units included in the first storage unit group to send a request, or sends a request to the first storage unit. In the case of sending a request to the first storage unit, the first network element can only update the information of the first storage unit to the second network element without sending the updated information of all storage units included in the first storage unit group.
[0395] In one possible implementation, the method further includes: the first storage unit group sending a fifth response message.
[0396] For example, the first storage unit group sends a fifth response message to the second network element, and correspondingly, the second network element receives the fifth response message from the first storage unit group. The fifth response message includes the value(s) of the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved.
[0397] Optionally, the fifth response message can be "Data Retrieval Request Response (Nadrf_NFManagement_RetrievalRe-quest Response e)".
[0398] For example, when the second network element sends a fifth request message to any one of the storage units in the first storage unit, the first storage unit group sends a fifth response message, including: any one of the storage units in the first storage unit group sends a fifth response message to the second network element, wherein any one of the first storage units that receives the fifth request message and any one of the storage units in the first storage unit group that sends the fifth response message may be the same storage unit or may not be the same storage unit.
[0399] For example, the fifth response message also includes correlation ID, which is used to notify that the fifth response message is a response to the fifth request message.
[0400] The above process can be understood as follows: the storage unit that feeds back the value(s) to the second network element is not necessarily the storage unit that received the fifth request message from the second network element. The second network element can carry a correlation ID in the data retrieval request, i.e., the fifth request message. Storage units in the first storage unit group can also carry this correlation ID when transmitting the data retrieval request. Finally, the storage unit that feeds back the value(s) also carries this correlation ID when sending the value(s) to the second network element. In this way, even if the second network element receives the key-value pair corresponding to the data to be retrieved from other storage units, i.e., storage units that did not receive the data retrieval request, it can still associate the data retrieval request with the received response, i.e., the key-value pair corresponding to the data to be retrieved, through the correlation ID.
[0401] In the method described in Figure 8, the first network element receives a network element discovery request, i.e., a first request message, from the data storage provider. It then discovers a storage unit group, i.e., a first storage unit group, that meets the requirements for storing the data to be stored from at least one storage unit group. The first element then sends a response message, i.e., a first response message, to the data storage provider. This response message carries the main information of the first storage unit group, such as the identification information of the first storage unit group. This enables the data storage provider to interact with the first storage unit group, prompting the data storage provider to complete the data storage based on the first storage unit group, thereby improving the efficiency of data storage and enhancing the user experience.
[0402] Please refer to Figure 9, which is a flowchart of another communication method provided in an embodiment of this application. The method includes, but is not limited to, the following steps:
[0403] Step S901: The first network element determines the information of each storage cell group in at least one storage cell group.
[0404] The information for each storage unit group within at least one storage unit group includes identification information for that storage unit group, which is used to identify the storage unit group. Each storage unit group includes at least one storage unit. Optionally, the first network element can be an NRF network element. For details on how the first network element determines the information for each storage unit group within the at least one storage unit group, please refer to step S802, where the first network element determines the information for the first storage unit group.
[0405] Step S902: The second network element sends the first request message.
[0406] For example, the second network element sends a first request message to the first network element, and correspondingly, the first network element receives the first request message from the second network element. Optionally, the second network element can be referred to as a data storage provider, a data retrieval provider, or a consumer (second network element). For example, the second network element can be a terminal device, an NWDAF network element, or a DCCF network element. The first request message can also be referred to as a network element discovery request message or a group discovery request message. The first request message includes first indication information, which indicates the discovery of a storage unit group for storing data to be stored. For example, the first indication information is an ADRF group indication. Indicating the discovery of a storage unit group includes: the first indication information indicating the identification of a storage unit group. The storage unit group includes at least one storage unit. For example, the storage unit group can be a distributed storage unit group, which includes at least one distributed storage unit. For example, the distributed storage unit group can be an ADRF network element group, where the ADRF network element group includes at least one ADRF network element, which is a distributed storage unit within the distributed storage unit group. For details, please refer to the relevant description in step S801.
[0407] Step S903: The first network element sends the first response message.
[0408] For example, the first network element sends a first response message to the second network element, and correspondingly, the second network element receives the first response message from the first network element. The first response message includes identification information of the first storage unit group and information about the storage units included in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group. For details, please refer to Case 1 in the first response message sent by the first network element in step S803; further elaboration is not provided here.
[0409] Step S904: The second network element performs data slicing on the data to be stored to determine N groups of data blocks, and determines the data block transmission method.
[0410] Where N is a positive integer greater than 0. For example, each of the N data blocks corresponds to a set of key-value pairs. The key-value pairs corresponding to each data block are determined by performing a hash operation on each data block, and these key-value pairs are stored in storage units within the first storage unit group. That is, the storage units in the first storage unit group store the key-value pairs corresponding to the N data blocks. For details, please refer to the relevant description in step S804.
[0411] Step S905: The second network element sends a third request message.
[0412] For example, the second network element sends a third request message to the first storage unit group, and correspondingly, the first storage unit group receives the third request message from the second network element. The third request message is used to request the first storage unit group to perform data storage. Specifically, the second network element sends at least one third request message to at least one storage unit in the first storage unit group, and correspondingly, at least one storage unit in the first storage unit group receives at least one third request message. Each storage unit in the at least one storage unit corresponds to one of the at least one third request messages. For details, refer to transmission method 1 in the third request message sent by the second network element in step S804 above.
[0413] Step S906: The first storage unit group stores data based on the third request message.
[0414] For example, the first storage unit group performs data storage based on the third request message, including: each storage unit in at least one storage unit interacts with the storage units included in the first storage unit group, so that the storage units included in the first storage unit group store the key-value pairs corresponding to the corresponding data blocks. Here, the at least one storage unit is the at least one storage unit that receives the third request message in step S905. Specifically, refer to storage method 1 in step S805 where the first storage unit group performs data storage based on the third request message.
[0415] Step S907: The second network element sends a second request message.
[0416] For example, the second network element sends a second request message to the first network element, and correspondingly, the first network element receives the second request message from the second network element. The second request message is used to request notification of a change in the first storage unit group, and includes identification information of the first storage unit group. Optionally, the second request message can be called a subscription message, which is used to subscribe to notification of changes in the first storage unit group, that is, to request the first network element to notify the second network element when the first storage unit group changes. For details, please refer to the relevant description in step S805.
[0417] Step S908: The first network element sends a second response message.
[0418] For example, the first network element sends a second response message to the second network element, and correspondingly, the second network element receives the second response message from the first network element. The second response message includes at least one of the following: updated region or slice information corresponding to the updated first storage unit group; information about the storage units included in the updated first storage unit group; the number of storage units included in the updated first storage unit group; information about the first storage units in the updated first storage unit group; or the association relationship between the storage units included in the updated first storage unit group. The information about one storage unit in the updated first storage unit group includes at least one of the following: the identification information of the storage unit or the address information of the storage unit. The information about the first storage units in the updated first storage unit group includes at least one of the following: the identification information of the first storage unit or the address information of the first storage unit. For details, please refer to the relevant description in step S805.
[0419] Step S909: The second network element sends the fifth request message.
[0420] For example, the second network element sends a fifth request message to the first storage unit group, and correspondingly, the first storage unit group receives the fifth request message from the second network element. The fifth request message is used to request data retrieval, and includes the key (key(s)) in the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. For details, please refer to the relevant description in step S805.
[0421] Step S910: The first storage unit group sends the fifth response message.
[0422] For example, the first storage unit group sends a fifth response message to the second network element, and correspondingly, the second network element receives the fifth response message from the first storage unit group. The fifth response message includes the value (value(s)) of the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. For details, please refer to the relevant description in step S805.
[0423] In the method described in Figure 9, through the registration process of at least one storage unit group, the first network element obtains information about the storage unit group, such as the identification information of the storage unit group, the information of the storage units included in the storage unit group, the relationship between the storage units included in the storage unit group, and the number of storage units included in the storage unit group. At the same time, the first network element returns a response message to the network element discovery request (first request) sent by the data storage party, i.e., the second network element. This response message includes information about the appropriate storage unit group discovered by the first network element in response to the first request. Based on this information, the second network element determines how to perform data segmentation and which storage unit in the storage unit group to send the data slices to. This allows the second network element to store data in different storage units in the storage unit group in parallel, and it also allows the data stored by the second network element to be stored as evenly as possible in different storage units, thereby improving the efficiency of data storage and retrieval.
[0424] Please refer to Figure 10, which is a flowchart of another communication method provided in an embodiment of this application. The method includes, but is not limited to, the following steps:
[0425] Step S1001: The first network element determines the information of each storage cell group in at least one storage cell group.
[0426] The information for each storage unit group within at least one storage unit group includes identification information for that storage unit group, which is used to identify the storage unit group. Each storage unit group includes at least one storage unit. Optionally, the first network element can be an NRF network element. For details on how the first network element determines the information for each storage unit group within the at least one storage unit group, please refer to step S802, where the first network element determines the information for the first storage unit group.
[0427] Step S1002: The second network element sends the first request message.
[0428] For example, the second network element sends a first request message to the first network element, and correspondingly, the first network element receives the first request message from the second network element. Optionally, the second network element can be referred to as a data storage provider, a data retrieval provider, or a consumer (second network element). For example, the second network element can be a terminal device, an NWDAF network element, or a DCCF network element. Optionally, the first request message can also be referred to as a network element discovery request message or a group discovery request message. The first request message includes first indication information, which indicates the discovery of a storage unit group for storing data to be stored. For example, the first indication information is an ADRF group indication. The first indication information indicating the discovery of a storage unit group includes: the first indication information indicating the identification of a storage unit group. The storage unit group includes at least one storage unit. For example, the storage unit group can be a distributed storage unit group, which includes at least one distributed storage unit. For example, the distributed storage unit group can be an ADRF network element group, where the ADRF network element group includes at least one ADRF network element, and the ADRF network element is a distributed storage unit within the distributed storage unit group. For details, please refer to the relevant description in step S801.
[0429] Step S1003: The first network element sends the first response message.
[0430] For example, the first network element sends a first response message to the second network element, and correspondingly, the second network element receives the first response message from the first network element. The first response message includes the identification information of the first storage unit group, information about the storage units included in the first storage unit group, and the association relationships between the storage units included in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group. For details, please refer to Case 2 in the first response message sent by the first network element in step S803; it will not be repeated here.
[0431] Step S1004: The second network element performs data slicing on the data to be stored to determine N groups of data blocks, and determines the data block transmission method.
[0432] Where N is a positive integer greater than 0. For example, each of the N data blocks corresponds to a set of key-value pairs. The key-value pairs corresponding to each data block are determined by performing a hash operation on each data block, and these key-value pairs are stored in storage units within the first storage unit group. That is, the storage units in the first storage unit group store the key-value pairs corresponding to the N data blocks. For details, please refer to the relevant description in step S804.
[0433] Step S1005: The second network element sends a third request message.
[0434] For example, the second network element sends a third request message to the first storage unit group, and correspondingly, the first storage unit group receives the third request message from the second network element. The third request message is used to request the first storage unit group to perform data storage.
[0435] For example, the second network element determines information about at least one storage unit storing N sets of data blocks. The second network element sends at least one third request message to at least one storage unit corresponding to the information of the at least one storage unit. Correspondingly, at least one storage unit in the first storage unit group receives at least one third request message. Here, the N sets of data blocks are determined by the second network element through data slicing of the data to be stored. The at least one storage unit is at least one storage unit in the first storage unit group. The storage unit corresponding to the information of one of the at least one storage unit stores one or more sets of data blocks from the N sets of data blocks. Each storage unit in the at least one storage unit corresponds to one of the at least one third request messages. Specifically, refer to sending method 2 in the third request message sent by the second network element in step S804 above.
[0436] Step S1006: The first storage unit group stores data based on the third request message.
[0437] The first storage unit group performs data storage based on the third request message, including: each storage unit in at least one storage unit stores one or more key-value pairs corresponding to one or more data blocks included in a third request message for that storage unit. The at least one storage unit is the at least one storage unit that received the third request message in step S1005. For details, refer to storage method 2 in step S805 where the first storage unit group performs data storage based on the third request message.
[0438] Step S1007: The second network element sends a second request message.
[0439] For example, the second network element sends a second request message to the first network element, and correspondingly, the first network element receives the second request message from the second network element. The second request message is used to request notification of a change in the first storage unit group, and includes identification information of the first storage unit group. Optionally, the second request message can be called a subscription message, which is used to subscribe to notification of changes in the first storage unit group, that is, to request the first network element to notify the second network element when the first storage unit group changes. For details, please refer to the relevant description in step S805.
[0440] Step S1008: The first network element sends a second response message.
[0441] For example, the first network element sends a second response message to the second network element, and correspondingly, the second network element receives the second response message from the first network element. The second response message includes at least one of the following: updated region or slice information corresponding to the updated first storage unit group; information about the storage units included in the updated first storage unit group; the number of storage units included in the updated first storage unit group; information about the first storage units in the updated first storage unit group; or the association relationship between the storage units included in the updated first storage unit group. The information about one storage unit in the updated first storage unit group includes at least one of the following: the identification information of the storage unit or the address information of the storage unit. The information about the first storage units in the updated first storage unit group includes at least one of the following: the identification information of the first storage unit or the address information of the first storage unit. For details, please refer to the relevant description in step S805.
[0442] Step S1009: The second network element sends the fifth request message.
[0443] For example, the second network element sends a fifth request message to the first storage unit group, and correspondingly, the first storage unit group receives the fifth request message from the second network element. The fifth request message is used to request data retrieval, and includes the key (key(s)) in the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. For details, please refer to the relevant description in step S805.
[0444] Step S1010: The first storage unit group sends the fifth response message.
[0445] For example, the first storage unit group sends a fifth response message to the second network element, and correspondingly, the second network element receives the fifth response message from the first storage unit group. The fifth response message includes the value (value(s)) of the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. For details, please refer to the relevant description in step S805.
[0446] In the method described in Figure 10, through the registration process of at least one storage unit group, the first network element obtains information about the storage unit group, such as the identification information of the storage unit group, the information of the storage units included in the storage unit group, the relationship between the storage units included in the storage unit group, and the number of storage units included in the storage unit group. At the same time, the first network element returns a response message to the network element discovery request (first request) sent by the data storage party (second network element). The response message includes information about the suitable storage unit group discovered by the first network element in response to the first request. Based on this information, the second network element determines how to perform data partitioning, that is, based on the relationship between the storage units in the first storage unit group, it determines the specific storage unit for storing each group of data blocks, and directly sends a data storage request (tenth request message) to the specific storage unit. This allows the second network element to store the data to be stored as evenly as possible in different storage units in the first storage unit group, while reducing the complex interactive operations within the first storage unit group to determine the storage unit for storing each group of data blocks, simplifying the operational complexity within the first storage unit group, and improving the efficiency of data storage and data retrieval.
[0447] Please refer to Figure 11, which is a flowchart of another communication method provided in an embodiment of this application. The method includes, but is not limited to, the following steps:
[0448] Step S1101: The first network element determines the information of each storage cell group in at least one storage cell group.
[0449] The information for each storage unit group within at least one storage unit group includes identification information for that storage unit group, which is used to identify the storage unit group. Each storage unit group includes at least one storage unit. Optionally, the first network element can be an NRF network element. For details on how the first network element determines the information for each storage unit group within the at least one storage unit group, please refer to step S802, where the first network element determines the information for the first storage unit group.
[0450] Step S1102: The second network element sends the first request message.
[0451] For example, the second network element sends a first request message to the first network element, and correspondingly, the first network element receives the first request message from the second network element. Optionally, the second network element can be referred to as a data storage provider, a data retrieval provider, or a consumer (second network element). For example, the second network element can be a terminal device, an NWDAF network element, or a DCCF network element. Optionally, the first request message can also be referred to as a network element discovery request message or a group discovery request message. The first request message includes first indication information, which indicates the discovery of a storage unit group for storing data to be stored. For example, the first indication information is an ADRF group indication. The first indication information indicating the discovery of a storage unit group includes: the first indication information indicating the identification of a storage unit group. The storage unit group includes at least one storage unit. For example, the storage unit group can be a distributed storage unit group, which includes at least one distributed storage unit. For example, the distributed storage unit group can be an ADRF network element group, where the ADRF network element group includes at least one ADRF network element, and the ADRF network element is a distributed storage unit within the distributed storage unit group. For details, please refer to the relevant description in step S801.
[0452] Step S1103: The first network element sends the first response message.
[0453] For example, the first network element sends a first response message to the second network element, and correspondingly, the second network element receives the first response message from the first network element. The first response message includes the identification information of the first storage unit group and the information of the first storage unit in the first storage unit group. Optionally, the first response message may also include the number of storage units included in the first storage unit group. For details, please refer to case 3 in the first response message sent by the first network element in step S803; further details will not be repeated here.
[0454] Step S1104: The second network element performs data slicing on the data to be stored to determine N groups of data blocks, and determines the data block transmission method.
[0455] Where N is a positive integer greater than 0. For example, each of the N data blocks corresponds to a set of key-value pairs. The key-value pairs corresponding to each data block are determined by performing a hash operation on each data block, and these key-value pairs are stored in storage units within the first storage unit group. That is, the storage units in the first storage unit group store the key-value pairs corresponding to the N data blocks. For details, please refer to the relevant description in step S804.
[0456] Step S1105: The second network element sends a third request message.
[0457] For example, the second network element sends a third request message to the first storage unit group, and correspondingly, the first storage unit group receives the third request message from the second network element. The third request message is used to request the first storage unit group to perform data storage. Specifically, the second network element sends the third request message to the first storage unit, and the first storage unit receives the third request message from the second network element. Refer to sending method 3 in step S804 above for details regarding the third request message sent by the second network element.
[0458] Step S1106: The first storage unit group stores data based on the third request message.
[0459] For example, the first storage unit group performs data storage based on the third request message, including: the first storage unit interacts with other storage units in the first storage unit group, so that the storage units included in the first storage unit group store key-value pairs corresponding to the corresponding data blocks. Here, the first storage unit is the first storage unit that receives the third request message in step S1105. Specifically, refer to storage method 3 in step S805 where the first storage unit group performs data storage based on the third request message.
[0460] Step S1107: The second network element sends a second request message.
[0461] For example, the second network element sends a second request message to the first network element, and correspondingly, the first network element receives the second request message from the second network element. The second request message is used to request notification of a change in the first storage unit group, and includes identification information of the first storage unit group. Optionally, the second request message can be called a subscription message, which is used to subscribe to notification of changes in the first storage unit group, that is, to request the first network element to notify the second network element when the first storage unit group changes. For details, please refer to the relevant description in step S805.
[0462] Step S1108: The first network element sends a second response message.
[0463] For example, the first network element sends a second response message to the second network element, and correspondingly, the second network element receives the second response message from the first network element. The second response message includes at least one of the following: updated region or slice information corresponding to the updated first storage unit group; information about the storage units included in the updated first storage unit group; the number of storage units included in the updated first storage unit group; information about the first storage units in the updated first storage unit group; or the association relationship between the storage units included in the updated first storage unit group. The information about one storage unit in the updated first storage unit group includes at least one of the following: the identification information of the storage unit or the address information of the storage unit. The information about the first storage units in the updated first storage unit group includes at least one of the following: the identification information of the first storage unit or the address information of the first storage unit. For details, please refer to the relevant description in step S805.
[0464] Step S1109: The second network element sends the fifth request message.
[0465] For example, the second network element sends a fifth request message to the first storage unit group, and correspondingly, the first storage unit group receives the fifth request message from the second network element. The fifth request message is used to request data retrieval, and includes the key (key(s)) in the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. For details, please refer to the relevant description in step S805.
[0466] Step S1110: The first storage unit group sends the fifth response message.
[0467] For example, the first storage unit group sends a fifth response message to the second network element, and correspondingly, the second network element receives the fifth response message from the first storage unit group. The fifth response message includes the value (value(s)) of the key-value pair (key(s)-value(s)) corresponding to the data to be retrieved. For details, please refer to the relevant description in step S805.
[0468] In the method described in Figure 11, through the registration process of at least one storage unit group, the first network element obtains information about the storage unit group, such as the identification information of the storage unit group, the information of the storage units included in the storage unit group, the relationship between the storage units included in the storage unit group, and the number of storage units included in the storage unit group. At the same time, the first network element returns a response message to the network element discovery request (first request) sent by the data storage party, i.e., the second network element. This response message includes information about the appropriate storage unit group discovered by the first network element in response to the first request. Based on this information, the second network element determines how to perform data partitioning, that is, based on the information of the first storage unit in the first storage unit group, it sends all data blocks to the first storage unit, so that the second network element stores the data to be stored as evenly as possible in different storage units in the first storage unit group. At the same time, the first storage unit is introduced, and data storage and data retrieval are completed through the interaction between the second network element and the first storage unit. This simplifies the interaction between the second network element and the first storage unit group, reduces the operational complexity, and improves the efficiency of data storage and data retrieval.
[0469] The methods of the embodiments of this application have been described in detail above, and the apparatus of the embodiments of this application is provided below.
[0470] Please refer to Figure 12. Figure 12 is a structural schematic diagram of a communication device 1200 provided in an embodiment of this application. The communication device 1200 may include modules, units, or means that correspond one-to-one with the methods / operations / steps / actions executed by the first network element, the second network element, or the first storage unit group in the above method embodiments. The modules, units, or means may be hardware circuits, software, or a combination of hardware circuits and software.
[0471] In one possible implementation, the communication device 1200 may include a processing unit 1201 and a transceiver unit 1202, the specific details of which are as follows:
[0472] The processing unit 1201 is used for data processing. The transceiver unit 1202 can implement corresponding communication functions. The transceiver unit 1202 can also be called a communication interface or a communication module.
[0473] Optionally, the communication device 1200 may further include a storage unit, which can be used to store instructions and / or data. The processing unit 1201 can read the instructions and / or data in the storage module to enable the implementation of the aforementioned method embodiments.
[0474] Optionally, the transceiver unit 1202 may include a sending unit and a receiving unit. The sending unit is used to perform the sending operation in the above method embodiments. The receiving unit is used to perform the receiving operation in the above method embodiments.
[0475] It should be noted that the communication device 1200 may include a transmitting unit but not a receiving unit. Alternatively, the communication device 1200 may include a receiving unit but not a transmitting unit. Specifically, it depends on whether the above-described scheme executed by the communication device 1200 includes both transmitting and receiving actions.
[0476] Optionally, the communication device 1200 is used to perform the actions performed by the first network element in the embodiment shown in FIG8 above. For details, please refer to the relevant description in the embodiment shown in FIG8 above, which will not be elaborated here. For example, the communication device 1200 is used to perform the following scheme: the transceiver unit 1202 is used to receive a first request message, the first request message including first indication information, the first indication information indicating the discovery of a storage unit group, the storage unit group being used to store data to be stored; the processing unit 1201 is used to determine the information of the first storage unit group, the first storage unit group being a storage unit group determined from at least one storage unit group based on the first request message, the information of the first storage unit group including the identification information of the first storage unit group, the first storage unit group including at least one storage unit; the transceiver unit 1202 is used to send a first response message, the first response message including the identification information of the first storage unit group.
[0477] In one possible implementation, the information of the first storage unit group further includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, information of the first storage unit in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit in the first storage unit group includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0478] In another possible implementation, the transceiver unit 1202 is further configured to receive first information from a first storage unit, wherein the first storage unit is a storage unit in the first storage unit group, and the first information includes: identification information of the first storage unit group and information of the first storage unit. The first information also includes at least one of the following: region or slice information corresponding to the first storage unit group, information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit, and the information of the first storage unit includes at least one of the following: identification information of the first storage unit or address information of the first storage unit.
[0479] In another possible implementation, the transceiver unit 1202 is further configured to receive at least one second piece of information from at least one second storage unit, wherein the second storage unit is any storage unit other than the first storage unit in the first storage unit group, and each of the at least one second storage unit corresponds to one of the at least one pieces of second information, wherein the second piece of information includes: identification information of the first storage unit group, information of the second storage unit corresponding to the second piece of information, and information of other storage units associated with the second storage unit corresponding to the second piece of information, wherein the information of the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the second storage unit or address information of the second storage unit, and the information of one of the other storage units associated with the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0480] In another possible implementation, the processing unit 1201 is further configured to determine information about the first storage unit group based on the first information and / or the second information.
[0481] In another possible implementation, the transceiver unit 1202 is also configured to receive information from the first storage unit group of the first device.
[0482] In another possible implementation, the first response message further includes at least one of the following: information about the storage units included in the first storage unit group, the association relationship between the storage units included in the first storage unit group, information about the first storage unit in the first storage unit group, or the number of storage units included in the first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit, and the information of the first storage unit includes at least one of the following: the identification information of the first storage unit, or the address information of the first storage unit.
[0483] In another possible implementation, the transceiver unit 1202 is further configured to receive a second request message, which requests a notification of a change in the first storage unit group, and the second request message includes identification information of the first storage unit group.
[0484] In another possible implementation, when the first storage unit group changes, the transceiver unit 1202 is further configured to send a second response message, the second response message including at least one of the following: updated region or slice information corresponding to the updated first storage unit group, information of the storage units included in the updated first storage unit group, number of storage units included in the updated first storage unit group, information of the first storage units in the updated first storage unit group, or association relationship between the storage units included in the updated first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the updated first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit, and the information of the first storage unit in the updated first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0485] It should be noted that the implementation and beneficial effects of each module can also be described in the corresponding description of the method embodiment shown in Figure 8.
[0486] Optionally, the communication device 1200 is used to perform the actions performed by the second network element in the embodiment shown in FIG8 above. For details, please refer to the relevant description in the embodiment shown in FIG8 above, which will not be elaborated here. For example, the communication device 1200 is used to perform the following scheme: the transceiver unit 1202 is used to send a first request message, the first request message including first indication information, the first indication information indicating the discovery of a storage unit group, the storage unit group being used to store data to be stored; the transceiver unit 1202 is used to receive a first response message, the first response message including identification information of the first storage unit group, the first storage unit group including at least one storage unit; the transceiver unit 1202 is used to send a third request message, the third request message requesting the first storage unit group to perform data storage.
[0487] In one possible implementation, the processing unit 1201 is further configured to perform data slicing on the data to be stored to determine N sets of data blocks, each of the N sets of data blocks corresponding to a set of key-value pairs, where N is a positive integer greater than 0.
[0488] In another possible implementation, the processing unit 1201 is further configured to determine N groups of data blocks by data slicing the data to be stored based on at least one of the following: information of the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group; wherein, the information of one of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit.
[0489] In another possible implementation, the first response message further includes: information about the storage units included in the first storage unit group, wherein the information of one of the storage units in the first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit.
[0490] The transceiver unit 1202 is further configured to send at least one third request message to at least one storage unit in the first storage unit group, wherein each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks in the N sets of data blocks.
[0491] In another possible implementation, the first response message further includes: information about the storage units included in the first storage unit group and the association relationships between the storage units included in the first storage unit group, wherein the information of one of the storage units included in the first storage unit group includes at least one of the following: the identification information of the storage unit, or the address information of the storage unit.
[0492] The processing unit 1201 is further configured to determine information of at least one storage unit storing the N sets of data blocks, wherein the at least one storage unit is at least one storage unit in the first storage unit group, and the information of one of the storage units in the information of the at least one storage unit includes at least one of the following: the identification information of the storage unit or the address information of the storage unit, and the storage unit corresponding to the information of one of the storage units in the information of the at least one storage unit stores one or more sets of data blocks in the N sets of data blocks;
[0493] The transceiver unit 1202 is further configured to send at least one third request message to at least one storage unit corresponding to the information of the at least one storage unit, wherein each storage unit in the at least one storage unit corresponds to one of the at least one third request messages, and the third request message includes: one or more sets of key-value pairs corresponding to one or more sets of data blocks stored in the storage unit corresponding to the third request.
[0494] In another possible implementation, the first response message further includes: information about a first storage unit in the first storage unit group, wherein the information about the first storage unit in the first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0495] The transceiver unit 1202 is also used to send a third request message to the first storage unit, the third request message including: key-value pairs corresponding to each group of data blocks in the N groups of data blocks.
[0496] In another possible implementation, the transceiver unit 1202 is further configured to send a second request message, which requests notification of a change in the first storage unit group, and includes identification information of the first storage unit group.
[0497] In another possible implementation, the transceiver unit 1202 is further configured to receive a second response message, the second response message including at least one of the following: updated region or slice information corresponding to the first storage unit group, information of the storage units included in the updated first storage unit group, number of storage units included in the updated first storage unit group, information of the first storage units in the updated first storage unit group, or association relationship between the storage units included in the updated first storage unit group; wherein, the information of one storage unit in the information of the storage units included in the updated first storage unit group includes at least one of the following: identification information of the storage unit, or address information of the storage unit, and the information of the first storage unit in the updated first storage unit group includes at least one of the following: identification information of the first storage unit, or address information of the first storage unit.
[0498] It should be noted that the implementation and beneficial effects of each module can also be described in the corresponding description of the method embodiment shown in Figure 8.
[0499] Optionally, the communication device 1200 is used to perform the actions performed by the first storage unit group in the embodiment shown in FIG8 above. For details, please refer to the relevant description in the embodiment shown in FIG8 above, which will not be elaborated here. For example, the communication device 1200 is used to perform the following scheme: the transceiver unit 1202 is used to receive a third request message, the third request message being used to request the first storage unit group to perform data storage, the first storage unit group including at least one storage unit; the processing unit 1201 is used to perform data storage based on the third request message.
[0500] In one possible implementation, the transceiver unit 1202 is further configured to receive at least one third request message, each of the at least one third request message corresponding to one of the at least one storage units, the third request message including one or more sets of key-value pairs corresponding to one or more sets of data blocks in N sets of data blocks, the N sets of data blocks being determined by data slicing of the data to be stored.
[0501] The processing unit 1201 is further configured to perform data storage based on the third request message, including: each of the at least one storage unit interacts with the storage units included in the first storage unit group to enable the storage units included in the first storage unit group to store key-value pairs corresponding to the corresponding data blocks.
[0502] In another possible implementation, the transceiver unit 1202 is further configured to receive at least one third request message, each of the at least one third request message corresponding to one of the at least one storage units, the third request message including: a set of or more sets of key-value pairs corresponding to a set of or more sets of data blocks stored in the storage unit corresponding to the third request message, the set of or more sets of data blocks being a set of or more sets of data blocks in N sets of data blocks, the N sets of data blocks being determined by data slicing of the data to be stored;
[0503] The processing unit 1201 is also configured to perform data storage based on the third request message, including:
[0504] Each of the at least one storage unit stores one or more key-value pairs corresponding to one or more data blocks included in a third request message for that storage unit.
[0505] In another possible implementation, the transceiver unit 1202 is further configured to receive the third request message, which includes key-value pairs corresponding to each of the N sets of data blocks, and the N sets of data blocks are determined by data slicing of the data to be stored.
[0506] The processing unit 1201 is further configured to perform data storage based on the third request message, including: the first storage unit interacting with other storage units in the first storage unit group other than the first storage unit, so that the storage units included in the first storage unit group store key-value pairs corresponding to the corresponding data blocks.
[0507] In another possible implementation, the transceiver unit 1202 is further configured to transmit first information, which is used to determine information about the first storage unit group. The first information comes from a first storage unit in the first storage unit group. The first information includes identification information of the first storage unit group and information about the first storage unit. The information about the first storage unit includes at least one of the following: identification information of the first storage unit or address information of the first storage unit. The first information also includes at least one of the following: region or slice information corresponding to the first storage unit group, information about the storage units included in the first storage unit group, the number of storage units included in the first storage unit group, or the association relationship between the storage units included in the first storage unit group. The information about one of the storage units in the information about the storage units included in the first storage unit group includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0508] In another possible implementation, the transceiver unit 1202 is further configured to transmit at least one second piece of information, which is used to determine information of a first storage unit group. The at least one second piece of information corresponds to at least one second storage unit. The second storage unit is a storage unit in the first storage unit group other than the first storage unit. Each of the at least one second storage unit corresponds to one of the at least one pieces of information. The second piece of information includes: identification information of the first storage unit group, information of the second storage unit corresponding to the second piece of information, and information of other storage units associated with the second storage unit corresponding to the second piece of information. The information of the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the second storage unit or address information of the second storage unit. The information of one of the other storage units associated with the second storage unit corresponding to the second piece of information includes at least one of the following: identification information of the storage unit or address information of the storage unit.
[0509] It should be noted that the implementation and beneficial effects of each module can also be described in accordance with the corresponding description of the method embodiment shown in Figure 8. The module division in this application embodiment is illustrative and is only a logical functional division; in actual implementation, there may be other division methods.
[0510] The processing unit 1201 in the above embodiments can be implemented by at least one processor or processor-related circuitry. The transceiver unit 1202 can be implemented by a transceiver or transceiver-related circuitry. The transceiver unit 1202 can also be referred to as a communication module or communication interface. The storage module can be implemented by at least one memory.
[0511] Please refer to Figure 13. Figure 13 is a structural schematic diagram of a communication device 1300 provided in an embodiment of this application. The communication device 1300 may include modules, units, or means that correspond one-to-one with the methods / operations / steps / actions executed by the first network element, the second network element, or the first storage unit group in the above method embodiments. The modules, units, or means may be hardware circuits, software, or a combination of hardware circuits and software.
[0512] The communication device 1300 includes at least one processor 1301. Optionally, it also includes a communication interface 1303 and a memory 1302. The processor 1301, memory 1302, and communication interface 1303 are interconnected via a bus 1304. Optionally, the processor 1301 and memory 1302 can be integrated together.
[0513] The memory 1302 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM), and is used for related computer programs and data. The communication interface 1303 is used for receiving and sending data.
[0514] Processor 1301 can be one or more central processing units (CPUs). When processor 1301 is a CPU, the CPU can be a single-core CPU or a multi-core CPU.
[0515] The processor 1301 in the communication device 1300 is used to read computer programs or instructions stored in the memory 1302 to implement the functions of the processing unit, and the communication interface 1303 in the communication device 1300 is used to implement the functions of the transceiver unit.
[0516] This application also provides a chip device including at least one processor, which is used to call a computer program or instructions stored in a memory to cause the processor to execute the method provided in the above embodiments.
[0517] In one possible implementation, the input of the chip device corresponds to the receiving operation in any of the above embodiments, and the output of the chip device corresponds to the sending operation in any of the above embodiments.
[0518] Optionally, the processor is coupled to the memory via an interface.
[0519] Optionally, the chip device may also include a memory storing computer program instructions.
[0520] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed on a processor, implement the method described in the above method embodiments, which is executed by a first network element, a second network element, or a group of first storage units.
[0521] This application also provides a computer program product, which includes a computer program or instructions that, when run on a processor, implement the method executed by the first network element, the second network element, or the first storage unit group in the above method embodiments.
[0522] This application also provides a communication system, which includes a first network element, a second network element, and a first storage unit group as described in the above embodiments. The first network element is used to perform some or all of the operations performed by the first network element in the above method embodiments, the second network element is used to perform some or all of the operations performed by the second network element in the above method embodiments, and the first storage unit group is used to perform some or all of the operations performed by the first storage unit group in the above method embodiments.
[0523] It is understood that the processor in the embodiments of this application may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0524] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a base station or terminal. Of course, the processor and storage medium can also exist as discrete components in the base station or terminal.
[0525] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both types of storage media.
[0526] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0527] In the description of this application, terms such as "first", "second", "S801" or "S802" are used only for the purpose of distinguishing descriptions and for the convenience of context. Different sequence numbers do not have specific technical meanings themselves and should not be construed as indicating or implying relative importance, nor should they be construed as indicating or implying the order of execution of operations. The order of execution of each process should be determined by its function and internal logic.
Claims
A communication method characterized by comprising: The method comprises: receiving a first request message, the first request message comprising first indication information, the first indication information being used to indicate discovery of one storage unit group, the one storage unit group being used to store to-be-stored data; determining information of a first storage unit group, the first storage unit group being one storage unit group determined from at least one storage unit group based on the first request message, the information of the first storage unit group comprising identification information of the first storage unit group, the first storage unit group comprising at least one storage unit; sending a first response message, the first response message comprising the identification information of the first storage unit group. The method of claim 1, wherein The information of the first storage unit group further comprises at least one of the following: region or slice information corresponding to the first storage unit group, information of a storage unit included in the first storage unit group, a quantity of storage units included in the first storage unit group, information of a first storage unit in the first storage unit group, or an association relationship between storage units included in the first storage unit group; wherein information of one storage unit in the information of the storage unit included in the first storage unit group comprises at least one of the following: identification information of the one storage unit, or address information of the one storage unit, the information of the first storage unit in the first storage unit group comprises at least one of the following: identification information of the first storage unit, or address information of the first storage unit. The method according to claim 1 or 2, characterized in that The method further comprises: receiving first information from a first storage unit, the first storage unit being one storage unit in the first storage unit group, the first information comprising the identification information of the first storage unit group and the information of the first storage unit, the first information further comprising at least one of the following: region or slice information corresponding to the first storage unit group, information of a storage unit included in the first storage unit group, a quantity of storage units included in the first storage unit group, or an association relationship between storage units included in the first storage unit group; wherein information of one storage unit in the information of the storage unit included in the first storage unit group comprises at least one of the following: identification information of the one storage unit, or address information of the one storage unit, the information of the first storage unit comprises at least one of the following: identification information of the first storage unit, or address information of the first storage unit. The method according to claim 1 or 2, characterized in that The method further comprises: receiving at least one second information from at least one second storage unit, the at least one second storage unit being any one storage unit in the first storage unit group except the first storage unit, each second storage unit in the at least one second storage unit corresponding to one second information in the at least one second information, the one second information comprising: identification information of the first storage unit group, information of a second storage unit corresponding to the one second information, and information of other storage units associated with the second storage unit corresponding to the one second information, the information of the second storage unit corresponding to the one second information comprising at least one of: identification information of the second storage unit, or address information of the second storage unit, the information of one storage unit in the information of other storage units associated with the second storage unit corresponding to the one second information comprising at least one of: identification information of one storage unit, or address information of the one storage unit. The method according to claim 3 or 4, characterized in that The method further comprises: The method according to claim 1 or 2, characterized in that The method further comprises: receiving the information of the first storage unit group from the first device. The method according to any one of claims 1 to 6, characterized in that The first response message further comprises at least one of: information of storage units included in the first storage unit group, an association relationship between the storage units included in the first storage unit group, information of the first storage unit in the first storage unit group, or a quantity of storage units included in the first storage unit group; wherein information of one storage unit in the information of storage units included in the first storage unit group comprises at least one of: identification information of the one storage unit, or address information of the one storage unit, and the information of the first storage unit comprises at least one of: identification information of the first storage unit, or address information of the first storage unit. The method according to any one of claims 1 to 7, characterized in that The method further comprises: receiving a second request message, the second request message being used to request a notification of a change of the first storage unit group, the second request message comprising identification information of the first storage unit group. The method according to any one of claims 1 to 8, characterized in that When the first storage unit group changes, the method further comprises: sending a second response message, the second response message comprising at least one of the following: updated region or slice information corresponding to the first storage unit group, information of storage units included in the updated first storage unit group, a number of storage units included in the updated first storage unit group, information of a first storage unit in the updated first storage unit group, or an association relationship between the storage units included in the updated first storage unit group; wherein the information of one storage unit in the information of storage units included in the updated first storage unit group comprises at least one of the following: identification information of the one storage unit or address information of the one storage unit, and the information of the first storage unit in the updated first storage unit group comprises at least one of the following: identification information of the first storage unit or address information of the first storage unit. A communication method characterized by comprising: comprising: sending a first request message, the first request message comprising first indication information, the first indication information being used to indicate discovery of a storage unit group, the storage unit group being used to store to-be-stored data; receiving a first response message, the first response message comprising identification information of a first storage unit group, the first storage unit group comprising at least one storage unit; sending a third request message, the third request message being used to request the first storage unit group to store data. The method of claim 10, wherein The method further comprises: determining N groups of data blocks by performing data slicing on the to-be-stored data, each group of data blocks in the N groups of data blocks corresponding to a group of key-value pairs, N being a positive integer greater than 0. The method of claim 11, wherein The determining of the N groups of data blocks by performing data slicing on the to-be-stored data comprises: determining the N groups of data blocks by performing data slicing on the to-be-stored data based on at least one of the following: information of storage units included in the first storage unit group, a number of storage units included in the first storage unit group, or an association relationship between the storage units included in the first storage unit group; wherein information of one storage unit in the information of storage units included in the first storage unit group comprises at least one of the following: identification information of the one storage unit or address information of the one storage unit. The method according to claim 11 or 12, characterized in that The first response message further comprises information of storage units included in the first storage unit group, information of one storage unit in the information of storage units included in the first storage unit group comprising at least one of the following: identification information of the one storage unit or address information of the one storage unit, and the sending of the third request message comprises: sending at least one third request message to at least one storage unit in the first storage unit group, each storage unit in the at least one storage unit corresponding to one third request message in the at least one third request message, the one third request message comprising one or more groups of key-value pairs corresponding to one or more groups of data blocks in the N groups of data blocks. The method according to claim 11 or 12, characterized in that The first response message further includes information of storage units included in the first storage unit group and an association relationship between the storage units included in the first storage unit group, one piece of information of the storage units included in the first storage unit group includes at least one of identification information of the one storage unit or address information of the one storage unit, and the method further includes: determining information of at least one storage unit storing the N groups of data blocks, the at least one storage unit being at least one storage unit in the first storage unit group, one piece of information of the at least one storage unit including at least one of identification information of the one storage unit or address information of the one storage unit, The sending of the third request message includes: sending at least one third request message to at least one storage unit corresponding to the information of the at least one storage unit, each storage unit in the at least one storage unit corresponding to one third request message in the at least one third request message, and the one third request message including one or more groups of key-value pairs corresponding to one or more groups of data blocks stored by the one third request corresponding storage unit. The method according to claim 11 or 12, characterized in that The first response message further includes information of a first storage unit in the first storage unit group, the information of the first storage unit in the first storage unit group including at least one of identification information of the first storage unit or address information of the first storage unit, and the sending of the third request message includes: sending a third request message to the first storage unit, the third request message including key-value pairs corresponding to each group of data blocks in the N groups of data blocks. The method according to any one of claims 10-15, the method further comprising: sending a second request message, the second request message being used to request a notification of a change of the first storage unit group, and the second request message including identification information of the first storage unit group. The method according to any one of claims 10-16, characterized in that The method further includes: receiving a second response message, the second response message including at least one of updated region or slice information corresponding to the first storage unit group, updated information of storage units included in the first storage unit group, a number of storage units included in the updated first storage unit group, updated information of a first storage unit in the first storage unit group, or an association relationship between the storage units included in the updated first storage unit group, one piece of information of the storage units included in the updated first storage unit group including at least one of identification information of the one storage unit or address information of the one storage A communication method characterized by comprising: includes: receiving a third request message, the third request message being used to request the first storage unit group to store data, the first storage unit group comprising at least one storage unit; storing data based on the third request message. The method of claim 18, wherein The receiving a third request message comprises: At least one storage unit in the first storage unit group receives at least one third request message, each storage unit in the at least one storage unit corresponds to one third request message in the at least one third request message, and the one third request message comprises one or more groups of key-value pairs corresponding to one or more groups of data blocks stored by the storage unit corresponding to the one third request message, the one or more groups of data blocks being one or more groups of data blocks in N groups of data blocks determined by data slicing on to-be-stored data; storing data based on the third request message comprises: Each storage unit in the at least one storage unit and the storage units included in the first storage unit group exchange information to enable the storage units included in the first storage unit group to store the key-value pairs corresponding to the corresponding data blocks. The method of claim 18, wherein The receiving a third request message comprises: At least one storage unit in the first storage unit receives at least one third request message, each storage unit in the at least one storage unit corresponds one third request message in the at least one third request message, and the one third request message includes one or more groups of key-value pairs corresponding to one or more groups of data blocks stored by a storage unit corresponding to the one third request message, the one or more groups of data blocks being the one or more groups of data blocks in N groups of data blocks determined by data slicing on to be stored data; storing data based on the third request message comprises: Each storage unit in the at one storage unit stores one or more groups of key-value pairs corresponding to one or more groups of data blocks included in the one third request message corresponding to each storage unit. The method of claim 18, wherein The receiving a third request message comprises: The first storage unit in the first storage unit group receives the third request message, the first storage unit being one storage unit in the first storage unit group, the third request message comprising key-value pairs corresponding to each group of data blocks in N groups of data blocks determined by data slicing on to-be-stored data, and the information of the storage unit comprising at least one of the following: identification information of the storage unit or address information of the storage unit; storing data based on the third request message comprises: The first storage unit and other storage units in the first storage unit group except the first storage unit exchange information to enable the storage units included in the first storage unit group to store the key-value pair corresponding to the corresponding data block. The method according to any one of claims 18-21, characterized in that The method further comprises: The first information is sent, the first information being used to determine information of the first storage unit group, the first information being from a first storage unit in the first storage unit group, the first information including identification information of the first storage unit group and information of the first storage unit, the information of the first storage unit including at least one of identification information of the first storage unit or address information of the first storage unit, the first information further including at least one of region or slice information corresponding to the first storage unit group, information of a storage unit included in the first storage unit group, a number of storage units included in the first storage unit group, or an association relationship between the storage units included in the first storage unit group, information of one storage unit in the information of the storage units included in the first storage unit group including at least one of identification information of the one storage unit or address information of the one storage unit. The method according to any one of claims 18-22, characterized in that The method further includes: At least one second information is sent, the at least one second information being used to determine information of the first storage unit group, the at least one second information corresponding to at least one second storage unit, the one second storage unit being one storage unit in the first storage unit group other than the first storage unit, each second storage unit in the at least one second storage unit corresponding to one second information in the at least one second information, the one second information including identification information of the first storage unit group, information of the second storage unit corresponding to the one second information, and information of other storage units associated with the second storage unit corresponding to the one second information, the information of the second storage unit corresponding to the one second information including at least one of identification information of the second storage unit or address information of the second storage unit, information of one storage unit in the information of the other storage units associated with the second storage unit corresponding to the one second information including at least one of identification information of the one storage unit or address information of the one storage. A communication device, characterized by The apparatus includes a transceiver unit and a processing unit, the processing unit being configured to perform processing operations in the method of any one of claims 1-23, and the transceiver unit being configured to perform transceiving operations in the method of any one of claims 1-23. A communication device, characterized by The apparatus includes at least one processor configured to invoke a computer program or instructions stored in a memory to perform the method of claims 1-23. A computer-readable storage medium, characterized by The computer readable storage medium stores a computer program or instructions, which, when executed on a processor, implement the method of any one of claims 1-23. A computer program product, characterized in that The computer program product includes a computer program or instructions, which, when executed on a computer, implement the method of any one of claims 1-23.