Data transmission method, system, storage medium and electronic device

By using the hash function in the satellite network to calculate the target Bit strings, directly assemble and send the target message data, solve the problem of low data transmission efficiency of satellite network, and achieve more efficient data transmission.

CN119135606BActive Publication Date: 2025-01-28CHINA SATELLITE NETWORK INNOVATION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411595852.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-08
Publication Date
2025-01-28
Estimated Expiration
2044-11-08

AI Technical Summary

Technical Problem

The forwarding data transmission efficiency of satellite networks is low, and the existing technology has failed to effectively solve this problem.

Method used

By obtaining the initial message data and target nodes, determine the link logo based on the target node, and use a set of hash functions to calculate each link identification to determine the target bit. Assemble the initial message data and target bits as the target message data, and send it directly to the target node to avoid the time loss caused by the reposting of the table.

Benefits of technology

Improved the efficiency of data transmission of satellite network, reduce time loss in the transmission process, and improve the data carrying capacity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135606B_ABST
    Figure CN119135606B_ABST
Patent Text Reader

Abstract

The present invention discloses a data transmission method, system, storage medium and electronic device. The method comprises: obtaining initial message data and a target node, determining a link identifier based on the target node, using a set of hash functions to calculate each link identifier, determining a target bit string, wherein a target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target bit is determined by using each hash function in a set of hash functions to perform a hash calculation on the target link identifier; assembling the initial message data and the target bit string into target message data and sending it to the target node. The present invention solves the technical problem of low efficiency of satellite network forwarding data transmission in the related art, thereby achieving the effect of improving the efficiency of satellite network forwarding data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computers, and in particular to a data transmission method, system, storage medium and electronic device. Background Art

[0002] In related technologies, satellite network forwarding mainly adopts IP (Internet Protocol) forwarding and MPLS (Multi-Protocol Label Switching) forwarding in terrestrial network technology, or forwarding based on the satellite's geographical location or logical location addressing according to the characteristics of the satellite network. However, in terms of forwarding method, they all belong to table lookup forwarding. Data packets need to carry complete path information during the forwarding process, resulting in lower carrying efficiency as the path becomes longer.

[0003] It can be seen from this that the relevant technology has a technical problem of low efficiency in satellite network forwarding data transmission.

[0004] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0005] The embodiments of the present invention provide a data transmission method, system, storage medium and electronic device to at least solve the technical problem of low efficiency of data transmission forwarding in satellite networks in related technologies.

[0006] According to one embodiment of the present invention, a data transmission method is provided, comprising: obtaining initial message data and a target node, determining a link identifier based on the target node, wherein the link identifier is used to indicate a node through which the initial message data passes when being sent to the target node; performing calculations on each of the link identifiers using a set of hash functions to determine a target bit string, wherein a target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target bit is determined by performing hash calculations on the target link identifier using each hash function in the set of hash functions; and assembling the initial message data and the target bit string into target message data and sending the result to the target node.

[0007] In an exemplary embodiment, a set of hash functions are used to perform calculations on each of the link identifiers to determine a target bit string, including: obtaining a first link identifier, wherein the target link identifier includes the first link identifier; using k first hash functions to perform hash calculations on the first link identifier in sequence to obtain k first target bits, wherein the set of hash functions includes the k first hash functions, k is a positive integer, and the target bits include the first target bits; updating the k first target bits in the initial bit string to the preset value to obtain a first target bit string, wherein each bit in the initial bit string is set to a default value, and the target bit string includes the first target bit string.

[0008] In an exemplary embodiment, the method of using k first hash functions to perform hash calculations on the first link identifier in sequence to obtain k first target bits includes: obtaining a second link identifier, wherein the target link identifier includes the second link identifier, and the first link identifier is different from the second link identifier; using the k first hash functions to perform hash calculations on the second link identifier in sequence to obtain k second target bits, wherein the target bits include the second target bits; updating the k second target bits in the initial bit string to the preset value to obtain a second target bit string, and determining the target bit string based on the first target bit string and the second target bit string.

[0009] In an exemplary embodiment, after using the k first hash functions to perform hash calculations on the second link identifier in sequence to obtain k second target bits, the method further includes: comparing whether the k first target bits and the k second target bits are exactly the same; when the k first target bits and the k second target bits are not exactly the same, updating the k second target bits in the initial bit string to the preset values ​​to obtain a second target bit string, and determining the target bit string based on the first target bit string and the second target bit string; when the k first target bits and the k second target bits are exactly the same, reselecting k second hash functions to perform hash calculations on the first link identifier and the second link identifier in sequence to obtain k third target bits and k fourth target bits, wherein the target bits include the third target bit and the fourth target bit; updating the k first target bits and the k second target bits in the initial bit string to the preset values ​​to obtain the target bit string.

[0010] In an exemplary embodiment, the obtaining of initial message data and a target node, and determining a link identifier based on the target node, includes: obtaining the initial message data, the target node, and a set of hash functions; determining a set of links through which the initial message data is sent to the target node based on a predetermined link relationship and the target node, and determining the set of hash functions from the set of hash functions; determining the link identifier and the length of the target bit string based on the link set, wherein the length of the target bit string is positively correlated with the number of links in the link set.

[0011] In an exemplary embodiment, the method further includes: controlling the starting satellite node to obtain the initial message data and the target satellite node from the satellite system, and determining the link identifier based on the target satellite node, wherein the initial message data is set to be sent by the starting satellite node to the target satellite node; controlling the starting satellite node to use the set of hash functions to calculate each link identifier respectively to determine the target bit string; controlling the starting satellite node to use the set of hash functions to calculate based on the local link identifier to determine the local bit string, wherein the local target bit in the local bit string is set to the preset value to indicate the local link identifier, The local target bit is determined by using each hash function in the group of hash functions to perform hash calculations on the local link identifier, wherein the local link identifier represents the identifier corresponding to the link to which the starting satellite node is connected; the starting satellite node is controlled to compare the target bit string and the local bit string to determine the next-hop link identifier, wherein the next-hop link identifier represents that the same bits in the local bit string and the target bit string have the link identifier indicated by the preset value; the starting satellite node is controlled to send the target message data to the node corresponding to the next-hop link identifier based on the next-hop link identifier until it is sent to the target node.

[0012] According to another embodiment of the present invention, a data transmission method is provided, comprising: receiving target message data, wherein the target message data comprises a target bit string, initial message data and a hash function identifier, the initial message data represents message data sent by a starting node, the hash function identifier is used to determine a group of hash functions, the target bit string is determined by using the results of hash calculations performed on a link identifier by using each hash function in the group of hash functions, and the link identifier is used to identify a link that the initial message data needs to pass through during the sending process; calculating based on a local link identifier using the group of hash functions to determine a local bit string, wherein the local bit string is determined by using the results of hash calculations performed on the local link identifier by using each hash function in the group of hash functions, and the local link identifier represents an identifier corresponding to a link to which a current node is connected; comparing the target bit string with the local bit string to determine a next-hop link identifier, wherein the next-hop link identifier represents a link identifier indicated by a preset value in which the same bits in the local bit string and the target bit string have the same bits; and in the case where the next-hop link identifier exists, sending the target message data to a node corresponding to the next-hop link identifier.

[0013] In an exemplary embodiment, after the local bit string is determined by calculating based on the local link identifier using the set of hash functions, the method further includes: when the target message data includes a remaining path length, determining whether the remaining path length satisfies a preset length condition; when the remaining path length satisfies the preset length condition, comparing the target bit string with the local bit string to determine a next-hop link identifier, and when the next-hop link identifier exists, sending the target message data to a node corresponding to the next-hop link identifier; when the remaining path length does not satisfy the preset length condition, parsing the target message data to obtain the initial message data.

[0014] In an exemplary embodiment, when the remaining length of the path satisfies the preset length condition, the target bit string and the local bit string are compared to determine the next-hop link identifier, and the target message data is sent to the node corresponding to the next-hop link identifier based on the next-hop link identifier, including: when the remaining length of the path satisfies the preset length condition, the target bit string and the local bit string are compared to determine whether the next-hop link identifier exists; when the next-hop link identifier exists, the remaining length of the path is modified, and the target message data is sent to the node corresponding to the next-hop link identifier; when the next-hop link identifier does not exist, the target message data is parsed to obtain the initial message data.

[0015] In an exemplary embodiment, the method also includes: controlling the current satellite node to receive the target message data, wherein the initial message data represents the message data sent by the starting satellite node, and the link identifier includes a link for identifying the link through which the initial message data needs to pass when being sent from the starting satellite node to the current satellite node; controlling the current satellite node to calculate based on the local link identifier using the set of hash functions to determine the local bit string, wherein the local link identifier represents the identifier corresponding to the link connected to the current satellite node; controlling the current satellite node to compare the target bit string and the local bit string to determine the next-hop link identifier; and if the next-hop link identifier exists, controlling the current satellite node to send the target message data to the satellite node corresponding to the next-hop link identifier.

[0016] According to another embodiment of the present invention, there is provided a data transmission system, comprising: a starting node, a current node, and a target node, wherein the starting node is used to obtain initial message data and the target node, and determine a link identifier based on the target node; a set of hash functions are used to perform calculations on each of the link identifiers to determine a target bit string, wherein a target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target bit is determined by using the result of performing hash calculations on the target link identifier using each hash function in the set of hash functions; the initial message data and the target bit string are assembled into target message data and sent to the target node; the current node is used to receive the target message data; based on the local link identifier, use the set of hash functions to calculate and determine a local bit string, wherein the local bit string is determined by using the results of hash calculations performed on the local link identifier by using each hash function in the set of hash functions, and the local link identifier represents the identifier corresponding to the link to which the current node is connected; compare the target bit string and the local bit string to determine a next-hop link identifier, wherein the next-hop link identifier represents that the same bits in the local bit string and the target bit string have a link identifier indicated by a preset value; in the case where the next-hop link identifier exists, send the target message data to the node corresponding to the next-hop link identifier until it is sent to the target node.

[0017] According to another embodiment of the present invention, a frame structure is provided, which is applied to an Ethernet frame, and the Ethernet frame includes an Ethernet header, a target field and a payload: the Ethernet header is located at the head of the Ethernet frame, connected to the target field, and the Ethernet header is used to encapsulate the header information of the network data; the target field is located between the Ethernet header and the payload, and the target field includes a hash function identification field, a target bit string field and a network message header field; wherein the target bit string field is used to indicate a target bit string, and the target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target link identifier is used to indicate the node through which the network data passes when being sent to the target node, and the target bit is determined by the result of performing a hash calculation on the target link identifier using a set of hash functions, and the set of hash functions is specified by the hash function identification field; the payload is located at the tail of the Ethernet frame, connected to the target field, and is used to encapsulate the network data.

[0018] In an exemplary embodiment, the target field further includes: a path length field, used to indicate the number of the target link identifiers; and a target bit string length field, used to indicate the length of the target bit string.

[0019] In an exemplary embodiment, the hash function identification field includes: a hash function set identification field, used to indicate the hash function set to which the group of hash functions belongs; and a hash function number field, used to indicate the number of hash functions in the group of hash functions.

[0020] According to yet another embodiment of the present invention, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any one of the above method embodiments when run.

[0021] According to yet another embodiment of the present invention, there is provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0022] According to yet another embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0023] Through the present invention, the initial message data and the nodes determined by the target node for indicating that the initial message data needs to pass through when being sent to the target node are obtained, and a set of hash functions are used to calculate each link identifier respectively, so that the target bit string can be determined, and the target bit obtained by the hash function in the target bit string can indicate the target link identifier. The initial message data and the target bit string are assembled to obtain the target message data, and sent to the target node. By using the hash function to calculate the target bit string, the target message data containing the initial message data and the target bit string can be directly sent to the target node, avoiding the time loss caused by table lookup during the transmission process. Therefore, the technical problem of low efficiency of satellite network forwarding data transmission in the related art can be solved, thereby achieving the effect of improving the efficiency of satellite network forwarding data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0025] Figure 1 is a hardware structure block diagram of a mobile terminal according to a data transmission method of an embodiment of the present invention;

[0026] Figure 2 is a schematic diagram of a data transmission system architecture according to an embodiment of the present invention;

[0027] Figure 3 The process of the data transmission method according to the embodiment of the present invention is as follows Figure 1 ;

[0028] Figure 4 is a schematic diagram of constructing a bit string according to a Bloom filter algorithm according to an embodiment of the present invention;

[0029] Figure 5 is a flow chart of initial message data encapsulation according to an embodiment of the present invention;

[0030] Figure 6 is a schematic diagram of initial message data encapsulation information according to an embodiment of the present invention;

[0031] Figure 7 is a schematic diagram of a process of data forwarding by a head node according to an embodiment of the present invention;

[0032] Figure 8 The process of the data transmission method according to the embodiment of the present invention is as follows Figure 2 ;

[0033] Fig. 9 is a schematic diagram of a process of implementing data forwarding by a forwarding node according to an embodiment of the present invention;

[0034] Fig.10 It is a schematic diagram of a process of forwarding data by a forwarding node according to an embodiment of the present invention. DETAILED DESCRIPTION

[0035] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0036] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0037] The present application is described below in conjunction with embodiments:

[0038] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal of a data transmission method according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0039] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the data transmission method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0040] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0041] like Figure 2The figure shows a schematic diagram of a data transmission system architecture according to an embodiment of the present invention, including: a starting node, a current node, and a target node, wherein the starting node is used to obtain initial message data and the target node, and determine a link identifier based on the target node; a set of hash functions are used to calculate each link identifier to determine a target bit string, wherein the target bit in the target bit string is set to a preset value to indicate the target link identifier, and the target bit is determined by using each hash function in the set of hash functions to perform hash calculations on the target link identifier; the initial message data and the target bit string are assembled into target message data and sent to the target node; the current node is used to receive the target message data; based on the local link identifier, use the set of hash functions to calculate and determine a local bit string, wherein the local bit string is determined by using the results of hash calculations performed on the local link identifier by using each hash function in the set of hash functions, and the local link identifier represents the identifier corresponding to the link to which the current node is connected; compare the target bit string and the local bit string to determine a next-hop link identifier, wherein the next-hop link identifier represents that the same bits in the local bit string and the target bit string have a link identifier indicated by a preset value; in the case where the next-hop link identifier exists, send the target message data to the node corresponding to the next-hop link identifier until it is sent to the target node.

[0042] The method embodiments provided in the embodiments of the present application can be applied in Figure 2 The data transmission system architecture is shown.

[0043] In this embodiment, a data transmission method is provided. Figure 3 The process of the data transmission method according to the embodiment of the present invention is as follows Figure 1 ,like Figure 3 As shown, the process includes the following steps:

[0044] Step S302, obtaining initial message data and a target node, and determining a link identifier based on the target node, wherein the link identifier is used to indicate a node through which the initial message data passes when being sent to the target node;

[0045] Step S304, using a set of hash functions to calculate each of the link identifiers to determine a target bit string, wherein a target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target bit is determined by using each hash function in the set of hash functions to perform a hash calculation on the target link identifier;

[0046] Step S306: assemble the initial message data and the target bit string into target message data and send the target message data to the target node.

[0047] In the above embodiment, the initial message data can be understood as the message data carrying the link nodes and the target node that need to be passed during the transmission process, the link identifier can be understood as indicating the node that the initial message data needs to pass through to reach the target node, and the target node can be the tail node, indicating the final node that receives the initial message data, and the obtained initial message data can be transmitted to the gateway. The hash function can transform an input of any length into an output of a fixed length through a hash algorithm, and can be a data structure that can be directly accessed according to the key code value, and access records by mapping the key code value to a position in the table to speed up the search.

[0048] In the above embodiment, the target link identifier can be calculated by a set of hash functions to obtain the target bit, and the target bit in the target bit string can be set to a preset value after calculation to indicate different target link identifiers. The preset value can be 1, but is not limited thereto.

[0049] In the above embodiment, the Bloom filter algorithm can be used to map the link identifier to the Bloom filter data format, and the initial data message can be directly selected at the target node exit of the device, avoiding the conventional routing table lookup operation, realizing calculation forwarding, improving processing speed and reducing node processing delay. Among them, the Bloom filter algorithm is a fast search algorithm mapped by multiple hash functions, which can determine whether an element is in a certain set, does not need to store the elements, saves storage space, and can improve space efficiency and query speed. By creating a target bit string for the target element, the initial message data and the target bit string can be assembled into the target message data and sent to the target node.

[0050] Through the present invention, the initial message data and the nodes determined by the target node for indicating that the initial message data needs to pass through when being sent to the target node are obtained, and a set of hash functions are used to calculate each link identifier respectively, so that the target bit string can be determined, and the target bit obtained by the hash function in the target bit string can indicate the target link identifier. The initial message data and the target bit string are assembled to obtain the target message data, and sent to the target node. By using the hash function to calculate the target bit string, the target message data containing the initial message data and the target bit string can be directly sent to the target node, avoiding the time loss caused by table lookup during the transmission process. Therefore, the technical problem of low efficiency of satellite network forwarding data transmission in the related art can be solved, thereby achieving the effect of improving the efficiency of satellite network forwarding data transmission.

[0051] Optionally, the execution subject of the above steps may be a head node or a ground control network device, but is not limited thereto.

[0052] In an exemplary embodiment, a set of hash functions are used to perform calculations on each of the link identifiers to determine a target bit string, including: obtaining a first link identifier, wherein the target link identifier includes the first link identifier; using k first hash functions to perform hash calculations on the first link identifier in sequence to obtain k first target bits, wherein the set of hash functions includes the k first hash functions, k is a positive integer, and the target bits include the first target bits; updating the k first target bits in the initial bit string to the preset value to obtain a first target bit string, wherein each bit in the initial bit string is set to a default value, and the target bit string includes the first target bit string.

[0053] In the above embodiment, a link identifier (i.e., the first link identifier) ​​in the target link identifier and k different hash functions (i.e., the k first hash functions) are selected, and the input link identifier is hashed using the k hash functions respectively, such as Figure 4 As shown, Figure 4 Schematic diagram of constructing a bit string according to the Bloom filter algorithm of an embodiment of the present invention, creating an m-bit bit string, initializing all to the default value 0, representing the input element link identifier as e, and recording the hash result of the i-th hash function on the input element e as r i =h i (e), the hash calculation result r1 of the first hash function is h1(e)=8, then the target bit of the 8th bit in the bit string is updated to the preset value 1, k hash function calculations are performed on the input element e respectively, k first target bits are obtained, and the k first target bits are updated to the preset value 1 to obtain the first target bit string. The bit string is constructed by the Bloom filter algorithm, and the link identification information is mapped to the Bloom filter data format, which can avoid the routing table lookup operation in the traditional transmission process, reduce the calculation time of the node, and improve the overall transmission efficiency.

[0054] In the above embodiment, the Bloom filter mechanism can also be used for set determination. Assuming there is a set E, a BA is constructed for the set according to the attribute characteristics of the elements in the set, and then through multi-hash mapping, it can be quickly determined whether the element e belongs to the set E.

[0055] In an exemplary embodiment, the method of using k first hash functions to perform hash calculations on the first link identifier in sequence to obtain k first target bits includes: obtaining a second link identifier, wherein the target link identifier includes the second link identifier, and the first link identifier is different from the second link identifier; using the k first hash functions to perform hash calculations on the second link identifier in sequence to obtain k second target bits, wherein the target bits include the second target bits; updating the k second target bits in the initial bit string to the preset value to obtain a second target bit string, and determining the target bit string based on the first target bit string and the second target bit string.

[0056] In the above embodiment, a second link identifier different from the first link identifier and the same k first hash functions are selected in the target link identifier, and the second link identifier is hashed using the same k first hash functions to obtain k second target bits, and the k second target bits are updated to a preset value of 1 to obtain a second target bit string, and the target bit string can be determined based on the first target bit string and the second target bit string. The hash function is calculated sequentially according to the number of bits, which is much lower than the data length of the IP address or the MPLS label, greatly improving the data carrying efficiency.

[0057] In an exemplary embodiment, after using the k first hash functions to perform hash calculations on the second link identifier in sequence to obtain k second target bits, the method further includes: comparing whether the k first target bits and the k second target bits are exactly the same; when the k first target bits and the k second target bits are not exactly the same, updating the k second target bits in the initial bit string to the preset values ​​to obtain a second target bit string, and determining the target bit string based on the first target bit string and the second target bit string; when the k first target bits and the k second target bits are exactly the same, reselecting k second hash functions to perform hash calculations on the first link identifier and the second link identifier in sequence to obtain k third target bits and k fourth target bits, wherein the target bits include the third target bit and the fourth target bit; updating the k first target bits and the k second target bits in the initial bit string to the preset values ​​to obtain the target bit string.

[0058] In the above embodiment, for two different input elements, when the k hash mapping results are completely consistent, that is, the generated bit strings are exactly the same, a hash conflict will occur. When the k first target bits and the k second target bits calculated by the same k first hash functions are not exactly the same, the k second target bits can be updated to a preset value of 1 to obtain a second target bit string, and the target bit string is determined based on the first target bit string and the second target bit string.

[0059] In the above embodiment, when the k first target bits obtained by calculating the same k first hash functions are exactly the same as the k second target bits, k second hash functions different from the first hash functions are reselected, and k second hash functions are performed on the first link identifier and the second link identifier in turn to obtain k third target bits and k fourth target bits, and the k third target bits and k fourth target bits are respectively updated to the preset value 1 to obtain the target bit string.

[0060] In the above embodiment, an x-bit bit string can be constructed and initialized to the default value 0. k=4 first hash functions can be selected to perform hash calculations on the first link identifier and the second link identifier. The first first target bit r1 of the hash calculation result in the first link identifier can be h1(e)=2, the second first target bit r2 can be h2(e)=3, the third first target bit r3 can be h3(e)=7, and the fourth first target bit r4 can be h4(e)=10. The target bits of the 2nd, 3rd, 7th, and 10th bits in the initial bit string are updated to the preset value 1 respectively.

[0061] In the above embodiment, when the k first target bits are exactly the same as the k second target bits, that is, the first second target bit, the second second target bit, the third second target bit and the fourth second target bit of the hash calculation result in the second link identifier are exactly the same as the four first target bits in the first link identifier, that is, the hash calculation result in the second link identifier r 1= h1(e)=2、r 2= h2(e)=3, r 3= h3(e)=7, r 4= If h4(e)=10, k second hash functions are reselected to recalculate the first link identifier and the second link identifier, and k third target bits and k fourth target bits can be obtained.

[0062] In the above embodiment, when the k first target bits and the k second target bits are not completely the same, the k second target bits are correspondingly updated to the preset value 1. That is, as long as there is one of the four second target bits of the hash calculation result in the second link identifier that is different from the first target bit, r1 can be different, but r2, r3, and r4 can be the same, or r1 and r2 can be different, but r3 and r4 can be the same. The present invention does not limit this. By comparing the target bits of different link identifiers, it is possible to avoid the situation where duplicate links occur when determining the next link during data transmission, and it is possible to reduce the time consumption caused by stagnation due to problems in data transmission. In an exemplary embodiment, the initial message data and the target node are obtained, and the link identifier is determined based on the target node, including: obtaining the initial message data, the target node, and a set of hash functions; determining the link set through which the initial message data is sent to the target node based on a predetermined link relationship and the target node, and determining the set of hash functions from the set of hash functions; determining the link identifier and the length of the target bit string based on the link set, wherein the length of the target bit string is positively correlated with the number of links in the link set.

[0063] In the above embodiment, the satellite network topology is basically fixed, and the number of nodes and intersatellite links is limited. It can be assumed that the satellite constellation orbit is M, the number of satellites in each orbit is N, and the total number of intersatellite links is 2NM. A link identifier is assigned to each intersatellite link. Through the operation of the routing protocol, the centralized controller or each satellite node can master the topology information of the entire network, where the link identifier can be represented by linkID. The link identification information of the nodes that the data needs to reach is uniformly encapsulated in the satellite node, and the calculation forwarding is realized in the forwarding process, which can effectively improve the forwarding efficiency and reduce the forwarding consumption of the node.

[0064] In the above embodiment, the predetermined link relationship may be a link with the shortest transmission path, or a link that must include a certain transmission node. Figure 5 ,like Figure 5 As shown, the link set through which the initial message data is transmitted is determined according to the predetermined link relationship (i.e., the forwarding path length) and the target node. The target bit string length and link identifier linkID can be determined through the link set. The number of hash functions is selected according to the link relationship and the target bit string length. The target bit string data is calculated through the link identifier linkID, the hash function, and the target bit string length m, and then encapsulated and sent. The message format of the initial message data can be referred to Figure 6 ,like Figure 6As shown, the initial message data encapsulation information may include path length, hash function set identifier, number of hash functions, target bit string length, and target bit string data.

[0065] In an exemplary embodiment, the method further includes: controlling the starting satellite node to obtain the initial message data and the target satellite node from the satellite system, and determining the link identifier based on the target satellite node, wherein the initial message data is set to be sent by the starting satellite node to the target satellite node; controlling the starting satellite node to use the set of hash functions to calculate each link identifier respectively to determine the target bit string; controlling the starting satellite node to use the set of hash functions to calculate based on the local link identifier to determine the local bit string, wherein the local target bit in the local bit string is set to the preset value to indicate the local link identifier, The local target bit is determined by using each hash function in the group of hash functions to perform hash calculations on the local link identifier, wherein the local link identifier represents the identifier corresponding to the link to which the starting satellite node is connected; the starting satellite node is controlled to compare the target bit string and the local bit string to determine the next-hop link identifier, wherein the next-hop link identifier represents that the same bits in the local bit string and the target bit string have the link identifier indicated by the preset value; the starting satellite node is controlled to send the target message data to the node corresponding to the next-hop link identifier based on the next-hop link identifier until it is sent to the target node.

[0066] In the above embodiment, the starting satellite node may be a head node. The schematic diagram of the process of data forwarding by the head node can be referred to as Figure 7 ,like Figure 7As shown, the head node S1 obtains the initial message data and the target satellite node (i.e., the tail node S9) from the satellite system, determines the link identifier (i.e., link1, link2, link3, and link4) according to the target satellite node, and performs hash calculations on the link identifier link1, link identifier link2, link identifier link3, and link identifier link4 using a set of hash functions to determine the target bit string. The head node performs hash calculations on the link identifiers link1 and link5 (i.e., the above-mentioned local link identifiers) using the same set of hash functions, updates the corresponding local target bits to the preset value 1 to obtain the local bit string, and compares the local bit string with the target bit string. When the same bits in the local bit string and the target bit string both have the preset value 1 (i.e., the same bits in the bit string calculated by link1 and the target bit string both have the preset value 1), the link identifier (i.e., link1) corresponding to the above-mentioned local bit string is determined as the next-hop link identifier and the target message data is sent until it reaches the target node S9. Mapping the path information carried by the data packet into a set of bit strings can reduce the calculation length in the transmission process and greatly improve the transmission efficiency compared to SRv6 (Segment Routing over IPv6) which carries multiple 20-label information MPLS forwarding and multiple 128-bit SID (Segment Identifier) ​​forwarding.

[0067] In this embodiment, a data transmission method is provided. Figure 8 The process of the data transmission method according to the embodiment of the present invention is as follows Figure 2 ,like Figure 8 As shown, the process includes the following steps:

[0068] Step S802, receiving target message data, wherein the target message data includes a target bit string, initial message data and a hash function identifier, wherein the initial message data represents message data sent by a starting node, the hash function identifier is used to determine a group of hash functions, the target bit string is determined by using each hash function in the group of hash functions to perform hash calculations on a link identifier, and the link identifier is used to identify a link that the initial message data needs to pass through during transmission;

[0069] Step S804, determining a local bit string by using the set of hash functions to perform calculations based on the local link identifier, wherein the local bit string is determined by using the results of hash calculations performed on the local link identifier by using each hash function in the set of hash functions, and the local link identifier represents an identifier corresponding to a link connected to the current node;

[0070] Step S806, comparing the target bit string and the local bit string to determine a next-hop link identifier, wherein the next-hop link identifier indicates that the same bits in the local bit string and the target bit string both have a link identifier indicated by a preset value;

[0071] Step S808: When the next-hop link identifier exists, the target message data is sent to a node corresponding to the next-hop link identifier.

[0072] In the above embodiment, the initial message data can be understood as the message data carrying the link nodes and the target node that need to be passed during the transmission process, the link identifier can be understood as the link that needs to be passed to reach the target node, and the hash function can transform input of any length into an output of fixed length through a hash algorithm. The data structure can be directly accessed based on the key code value, and the record can be accessed by mapping the key code value to a position in the table to speed up the search.

[0073] In the above embodiment, the link identifier can be mapped to the Bloom filter data format using a Bloom filter algorithm, wherein the Bloom filter algorithm is a fast search algorithm for multi-hash function mapping, which can determine whether an element is in a set without storing the element, saving storage space while improving space efficiency and query speed. By creating a target bit string for the target element, the initial message data, the target bit string, and the hash function identifier can be assembled into the target message data and sent to the node corresponding to the next-hop link identifier.

[0074] In the above embodiment, the local link identifier can be understood as the identifier corresponding to the link connected to the forwarding node. A set of hash functions are used to calculate according to the local link identifier, and the corresponding local target bits are updated to the preset value 1 to obtain the local bit string. The link identifier is determined according to the target star node, and the link identifier is hashed using a set of hash functions to determine the target bit string. By comparing the local bit string with the target bit string, when the same bits in the local bit string and the target bit string have the preset value 1, the link identifier corresponding to the above local bit string is determined as the next hop link identifier and the target message data is sent.

[0075] In the above embodiment, the forwarding node receives the target message data including the target bit string, the initial message data and the hash function identifier, for example, Figure 7As shown, assuming that S6 is a forwarding node, S6 receives the target bit string, initial message data and hash function identifier from the head node S1 to S9, wherein the hash function identifier can be a predetermined set of k=4 hash functions, and the target bit string can be a bit string calculated by link1, link2, link3, and link4 through four hash functions, or a bit string containing 16 target bits. The forwarding node S6 calculates the local link identifier (including: link6 of S6-S5 and link4 of S6-S9) according to the four hash functions to obtain the local bit string. The local bit string is compared with the target bit string. When a certain 4-bit target bit in the target bit string is the same as the local bit string in the local link identifier (i.e., the local bit string calculated by link4), it can be determined that the link identifier of link4 is the next-hop link identifier, and the target message data is sent to the node S9 corresponding to link4.

[0076] Through the present invention, when the target message data including the target bit string, the initial message data and the hash function identifier is obtained, a set of hash functions are used to calculate the local link identifier respectively, and the corresponding local target bits are respectively updated to the preset value 1 to obtain the local bit string, and by comparing the local bit string with the target bit in the target bit string, when the same bits in the local bit string and the target bit string have the preset value 1, the link identifier corresponding to the above local bit string can be determined as the next hop link identifier and the target message data is sent. Since the target bit string is calculated by using the hash function, the link identifier of the next hop can be directly determined by comparing the local bit string and the target bit string, thereby avoiding the time loss caused by table lookup during the transmission process. Therefore, the technical problem of low efficiency of satellite network forwarding data transmission in the related art can be solved, thereby achieving the effect of improving the efficiency of satellite network forwarding data transmission.

[0077] Optionally, the execution subject of the above steps may be a forwarding node, but is not limited thereto.

[0078] In an exemplary embodiment, after the local bit string is determined by calculating based on the local link identifier using the set of hash functions, the method further includes: when the target message data includes a remaining path length, determining whether the remaining path length satisfies a preset length condition; when the remaining path length satisfies the preset length condition, comparing the target bit string with the local bit string to determine a next-hop link identifier, and when the next-hop link identifier exists, sending the target message data to a node corresponding to the next-hop link identifier; when the remaining path length does not satisfy the preset length condition, parsing the target message data to obtain the initial message data.

[0079] In the above embodiment, after a set of hash functions are used to calculate and determine the local bit string, it is determined whether the target message data includes the remaining path length that meets the preset length condition, wherein the preset condition may be that the remaining path length is greater than 0. The process of implementing data forwarding by the forwarding node can be referred to Fig. 9 ,like Fig. 9 As shown, the forwarding node extracts the path length information. When the target message data includes a path remaining length greater than 0, the target bit string and the local bit string are compared to determine whether there is a next-hop link identifier. If so, the target message data is sent to the node corresponding to the next-hop link identifier. When the target message data includes a path remaining length less than 0, this node is regarded as an end node and the target message data is parsed to obtain the initial message data, and the forwarding operation is terminated. The forwarding node only needs to calculate the local link directly connected to it, and by comparing it with the target link, it can directly lock the next-hop link identifier in the target link, avoiding the time consumption of the forwarding node to look up the table, and can effectively reduce the forwarding time of the node.

[0080] In an exemplary embodiment, when the remaining length of the path satisfies the preset length condition, the target bit string and the local bit string are compared to determine the next-hop link identifier, and the target message data is sent to the node corresponding to the next-hop link identifier based on the next-hop link identifier, including: when the remaining length of the path satisfies the preset length condition, the target bit string and the local bit string are compared to determine whether the next-hop link identifier exists; when the next-hop link identifier exists, the remaining length of the path is modified, and the target message data is sent to the node corresponding to the next-hop link identifier; when the next-hop link identifier does not exist, the target message data is parsed to obtain the initial message data.

[0081] In the above embodiment, when the target message data includes a path remaining length greater than 0, the target bit string and the local bit string are compared to determine whether there is a next hop link identifier, such as Fig. 9 As shown in the figure, if there is a link identifier match, the remaining path length is reduced by one, and the target message data is sent to the node corresponding to the next-hop link identifier; if not, the target message data is parsed to obtain the initial message data and the forwarding operation is terminated. Each time the corresponding link identifier is calculated, the remaining path length is reduced by 1, which can reduce the calculation workload of the next node, and the remaining path length can also intuitively display the location of data transmission. When the remaining path length is 0, the message data can be directly obtained.

[0082] In an exemplary embodiment, the method also includes: controlling the current satellite node to receive the target message data, wherein the initial message data represents the message data sent by the starting satellite node, and the link identifier includes a link for identifying the link through which the initial message data needs to pass when being sent from the starting satellite node to the current satellite node; controlling the current satellite node to calculate based on the local link identifier using the set of hash functions to determine the local bit string, wherein the local link identifier represents the identifier corresponding to the link connected to the current satellite node; controlling the current satellite node to compare the target bit string and the local bit string to determine the next-hop link identifier; and if the next-hop link identifier exists, controlling the current satellite node to send the target message data to the satellite node corresponding to the next-hop link identifier.

[0083] In the above embodiment, the current satellite node may be a forwarding node. The schematic diagram of the process of forwarding data by the forwarding node can be referred to as follows: Fig.10 , the system predefines multiple hash function sets and then synchronizes the entire network. The forwarding path from forwarding node S1 to tail node S9 is the link identifier set of S1-S2-S3-S6-S9. Forwarding node S1 receives the target message data sent from the starting satellite node, and uses a set of hash functions to perform hash calculations on the local link identifiers (i.e., S1-S2, S1-S4, and S1-S10 link identifiers), and updates the corresponding local target bits to the preset value 1 to obtain a local bit string. By comparing the local bit string with the target bit string, when the same bits in the local bit string and the target bit string both have the preset value 1 (i.e., the bit string calculated by link S1-S2 and the same bits in the target bit string both have the preset value 1), the link identifier corresponding to the above local bit string (i.e., link S1-S2) is determined as the next hop link identifier, the remaining path length is reduced by one, and the target message data is sent. S2, as the next forwarding node, uses the corresponding hash function according to the hash function set identifier and the number of hash functions k carried in the message, and performs hash mapping calculations on the link identifiers of the nodes corresponding to the links S2-S3, S2-S5, and S2-S11 one by one, hits the link S2-S3 (that is, the bit string calculated by the link S2-S3 and the same bit string as the target bit string have a preset value of 1), reduces the remaining path length by one, and forwards the message to the S3 node. The S3 and S6 nodes repeat the above forwarding steps and finally forward to the S9 node. The remaining path length is reduced to 0, and the forwarding process ends. The forwarding node can directly determine the next hop link identifier based on the data message encapsulated by the head node by calculating and comparing the local link identifier, and as the remaining path length decreases, the forwarding node can gradually reduce the calculation workload. While each forwarding node improves efficiency, the entire transmission process reduces huge time consumption.

[0084] In this embodiment, a frame structure is provided, which is applied to Ethernet frames, such as Figure 6 As shown, the Ethernet frame includes an Ethernet header, a target field and a payload: the Ethernet header is located at the head of the Ethernet frame and is connected to the target field. The Ethernet header is used to encapsulate the header information of the network data; the target field is located between the Ethernet header and the payload, and the target field includes a hash function identification field, a target bit string field and a network message header field; wherein the target bit string field is used to indicate the target bit string, and the target bit in the target bit string is set to a preset value to indicate the target link identifier, and the target link identifier is used to indicate the node through which the network data is sent to the target node, and the target bit is determined by using a set of hash functions to perform hash calculations on the target link identifier, and the set of hash functions is specified by the hash function identification field; the payload is located at the tail of the Ethernet frame and is connected to the target field, and is used to encapsulate the network data. The target field also includes: a path length field, which is used to indicate the number of the target link identifiers; and a target bit string length field, which is used to indicate the length of the target bit string. The hash function identification field includes: a hash function set identification field, used to indicate the hash function set to which the group of hash functions belongs; and a hash function number field, used to indicate the number of hash functions in the group of hash functions.

[0085] In the above embodiment, if Figure 6 As shown, the frame structure may include an Ethernet header, a target field and a payload, wherein the Ethernet header may encapsulate the header information of the network data; the target field may include a hash function identification field, a target bit string field, a network message header field, a path length field and a target bit string length field, wherein the hash function identification field further includes a hash function set identification field and a hash function number field, the hash function set identification field may indicate a set of hash functions to which a group of hash functions belongs; the hash function number field may indicate the number of hash functions in a group of hash functions. The payload at the end of the Ethernet frame is connected to the target field, and the network data may be encapsulated.

[0086] In the above embodiment, the target bit string field in the target field may indicate the target bit string, the target link identifier in the target bit string may be understood as indicating the node that the initial message data needs to pass through to reach the target node, the target node may be a tail node, indicating the final node that receives the initial message data, the acquired initial message data may be transmitted to the gateway, the target bit may be obtained by calculating through a set of hash functions, and the target bit in the target bit string may be set to a preset value after calculation, for indicating different target link identifiers. The preset value may be 1, but is not limited thereto.

[0087] In the above embodiment, a link identifier in the target link identifier and k different hash functions are selected, and the input link identifier is hashed using the k hash functions respectively, wherein the hash function can be specified by the hash function identifier field, such as Figure 4 As shown, Figure 4 Schematic diagram of constructing a bit string according to the Bloom filter algorithm of an embodiment of the present invention, creating an m-bit bit string, initializing all to the default value 0, representing the input element link identifier as e, and recording the hash result of the i-th hash function on the input element e as r i =h i (e), the hash calculation result r1 of the first hash function is h1(e)=8, then the target bit at the 8th bit in the bit string is updated to the preset value 1, and k hash function calculations are performed on the input element e respectively to obtain k first target bits, and the k first target bits are updated to the preset value 1 to obtain the first target bit string. The bit string is constructed by the Bloom filter algorithm, and the link identification information is mapped to the Bloom filter data format, which can avoid the routing table lookup operation in the traditional transmission process, reduce the calculation time of the node, and improve the overall transmission efficiency. In the above embodiment, the Bloom filter mechanism can also be used for set determination. Assuming there is a set E, a BA is constructed for the set according to the attribute characteristics of the elements in the set, and then through multi-hash mapping, it can be quickly determined whether the element e belongs to the set E.

[0088] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present invention.

[0089] An embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0090] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk. An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments.

[0091] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0092] An embodiment of the present invention further provides a computer program product, including a computer program, which implements the steps of the method in each embodiment of the present application when the computer program is executed by a processor.

[0093] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0094] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0095] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A data transmission method, characterized in that: include: Acquire initial message data and a target node, and determine a link identifier based on the target node, wherein the link identifier is used to indicate a node through which the initial message data passes when being sent to the target node; Using a set of hash functions to calculate each of the link identifiers to determine a target bit string, wherein a target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target bit is determined by using each hash function in the set of hash functions to perform a hash calculation on the target link identifier; Assembling the initial message data and the target bit string into target message data and sending the target message data to the target node; The method of obtaining the initial message data and the target node, and determining the link identifier based on the target node, includes: obtaining the initial message data, the target node and a set of hash functions; determining the set of links through which the initial message data is sent to the target node based on a predetermined link relationship and the target node, and determining the set of hash functions from the set of hash functions; determining the link identifier and the length of the target bit string based on the link set, wherein the length of the target bit string is positively correlated with the number of links in the link set.

2. The method according to claim 1, characterized in that The step of using a set of hash functions to calculate each link identifier to determine a target bit string includes: Acquire a first link identifier, wherein the target link identifier includes the first link identifier; Use k first hash functions to perform hash calculations on the first link identifier in sequence to obtain k first target bits, wherein the group of hash functions includes the k first hash functions, k is a positive integer, and the target bits include the first target bits; The k first target bits in the initial bit string are updated to the preset values ​​to obtain a first target bit string, wherein each bit in the initial bit string is set to a default value, and the target bit string includes the first target bit string.

3. The method according to claim 2, characterized in that The using k first hash functions to sequentially perform hash calculations on the first link identifier to obtain k first target bits includes: Acquire a second link identifier, wherein the target link identifier includes the second link identifier, and the first link identifier is different from the second link identifier; Use the k first hash functions to perform hash calculations on the second link identifier in sequence to obtain k second target bits, wherein the target bits include the second target bit; The k second target bits in the initial bit string are updated to the preset values ​​to obtain a second target bit string, and the target bit string is determined based on the first target bit string and the second target bit string.

4. The method according to claim 3, characterized in that After the k first hash functions are used to perform hash calculations on the second link identifier in sequence to obtain k second target bits, the method further includes: Comparing whether the k first target positions and the k second target positions are completely identical; In a case where the k first target bits and the k second target bits are not completely the same, updating the k second target bits in the initial bit string to the preset values ​​to obtain a second target bit string, and determining the target bit string based on the first target bit string and the second target bit string; In the case where the k first target bits and the k second target bits are exactly the same, reselect k second hash functions to perform hash calculations on the first link identifier and the second link identifier in sequence to obtain k third target bits and k fourth target bits, wherein the target bits include the third target bit and the fourth target bit; The k first target bits and the k second target bits in the initial bit string are updated to the preset values ​​to obtain the target bit string.

5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Controlling the starting satellite node to obtain the initial message data and the target satellite node from the satellite system, and determining the link identifier based on the target satellite node, wherein the initial message data is set to be sent by the starting satellite node to the target satellite node; Controlling the starting satellite node to calculate each of the link identifiers using the set of hash functions to determine the target bit string; Control the starting satellite node to perform calculation based on the local link identifier using the set of hash functions to determine a local bit string, wherein a local target bit in the local bit string is set to the preset value to indicate the local link identifier, and the local target bit is determined by using each hash function in the set of hash functions to perform hash calculations on the local link identifier, and the local link identifier represents an identifier corresponding to a link connected to the starting satellite node; Control the starting satellite node to compare the target bit string with the local bit string to determine a next-hop link identifier, wherein the next-hop link identifier indicates that the same bits in the local bit string and the target bit string both have a link identifier indicated by the preset value; The starting satellite node is controlled to send the target message data to a node corresponding to the next-hop link identifier based on the next-hop link identifier until the target node is sent to the target node.

6. A data transmission method, characterized in that: include: Receive target message data, wherein the target message data includes a target bit string, initial message data and a hash function identifier, the initial message data represents message data sent by a starting node, the hash function identifier is used to determine a group of hash functions, the target bit string is determined by using each hash function in the group of hash functions to perform hash calculations on a link identifier, and the link identifier is used to identify a link that the initial message data needs to pass through during transmission; Based on the local link identifier, the set of hash functions is used to perform calculations to determine a local bit string, wherein the local bit string is determined by using the results of hash calculations performed on the local link identifier by using each hash function in the set of hash functions, and the local link identifier represents an identifier corresponding to a link connected to the current node; Comparing the target bit string with the local bit string to determine a next-hop link identifier, wherein the next-hop link identifier indicates that the same bits in the local bit string and the target bit string both have a link identifier indicated by a preset value; In the case where the next-hop link identifier exists, sending the target message data to the node corresponding to the next-hop link identifier; The method also includes: obtaining the initial message data, the target node and the hash function set; determining the link set through which the initial message data is sent to the target node based on a predetermined link relationship and the target node, and determining the group of hash functions from the hash function set; determining the link identifier and the length of the target bit string based on the link set, wherein the length of the target bit string is positively correlated with the number of links in the link set.

7. The method according to claim 6, characterized in that After the local link identifier is calculated using the set of hash functions to determine the local bit string, the method further includes: In the case where the target message data includes a path remaining length, determining whether the path remaining length satisfies a preset length condition; When the remaining length of the path satisfies the preset length condition, the target bit string and the local bit string are compared to determine the next hop link identifier, and when the next hop link identifier exists, the target message data is sent to the node corresponding to the next hop link identifier; When the remaining length of the path does not satisfy the preset length condition, the target message data is parsed to obtain the initial message data.

8. The method according to any one of claims 6 to 7, characterized in that The method further comprises: Controlling the current satellite node to receive the target message data, wherein the initial message data represents message data sent by the starting satellite node, and the link identifier includes a link for identifying the link that the initial message data needs to pass through when being sent from the starting satellite node to the current satellite node; Control the current satellite node to perform calculation based on the local link identifier using the set of hash functions to determine the local bit string, wherein the local link identifier represents an identifier corresponding to a link connected to the current satellite node; Controlling the current satellite node to compare the target bit string with the local bit string to determine the next hop link identifier; In the case where the next-hop link identifier exists, the current satellite node is controlled to send the target message data to the satellite node corresponding to the next-hop link identifier.

9. A data transmission system, characterized in that: include: The starting node, the current node, and the target node, where The starting node is used to obtain initial message data and the target node, and determine a link identifier based on the target node; use a set of hash functions to calculate each link identifier to determine a target bit string, wherein a target bit in the target bit string is set to a preset value to indicate a target link identifier, and the target bit is determined by using each hash function in the set of hash functions to perform a hash calculation on the target link identifier; assemble the initial message data and the target bit string into target message data and send it to the target node; The current node is used to receive the target message data; based on the local link identifier, the set of hash functions is used to perform calculations to determine a local bit string, wherein the local bit string is determined by using the results of hash calculations performed on the local link identifier by using each hash function in the set of hash functions, and the local link identifier represents the identifier corresponding to the link to which the current node is connected; the target bit string and the local bit string are compared to determine a next-hop link identifier, wherein the next-hop link identifier represents that the same bits in the local bit string and the target bit string have a link identifier indicated by a preset value; in the case where the next-hop link identifier exists, the target message data is sent to the node corresponding to the next-hop link identifier until it is sent to the target node; The system is also used to: obtain the initial message data, the target node and the hash function set; determine the link set through which the initial message data is sent to the target node based on a predetermined link relationship and the target node, and determine the group of hash functions from the hash function set; determine the link identifier and the length of the target bit string based on the link set, wherein the length of the target bit string is positively correlated with the number of links in the link set.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein the computer program can be executed by an electronic device to execute the method described in any one of claims 1 to 5 or the method described in any one of claims 6 to 8.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 5 or the steps of the method described in any one of claims 6 to 8 are implemented.

12. An electronic device comprising a memory and a processor, characterized in that: The processor is configured to execute the method described in any one of claims 1 to 5 or the method described in any one of claims 6 to 8 through a computer program.

Citation Information

Patent Citations

  • Satellite network security routing method based on blockchain

    CN111314391A

  • Message transmission method and device, storage medium and program product

    CN117978737A