Communication method, system and related apparatus
By generating a unique second ID for terminals in the satellite communication system, the problem of packet assembly errors caused by multiple terminals with the same user ID is solved, enabling the correct transmission and reception of data packets and improving communication reliability.
Patent Information
- Application Number
- PCT/CN2025/098601
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-28
- Filing Date
- 2025-05-30
- Publication Date
- 2026-01-02
AI Technical Summary
In satellite communication systems, when multiple terminals with the same user ID send data simultaneously, it may lead to packet assembly errors and affect the communication experience.
By generating a different second ID for each terminal and mapping it to the satellite network device, different terminal data packets can be distinguished using different second IDs, thus avoiding packet assembly errors.
This effectively avoids packet assembly errors, ensures the correct transmission and reception of data packets, and improves the reliability of satellite communications.
Smart Images

Figure CN2025098601_02012026_PF_FP_ABST
Abstract
Description
Communication method, system and related apparatus
[0001] This application claims priority from the Chinese patent application No. 202410868578.2 filed on June 28, 2024, and entitled "A communication method, system and related apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the technical field of terminals and communication, and in particular to a communication method, system and related apparatus. BACKGROUND
[0003] Currently, in a satellite communication system, a terminal and a satellite network device can support multi-frame transmission of packets. The terminal can transmit a data packet to the satellite network device, and the data packet can be a service data unit (SDU) of a satellite link control protocol (SLC) layer, which can be referred to as an SLC SDU. When transmitting the SLC SDU, the terminal can segment the SLC SDU into one or more SLC segment data (S) of a fixed length, which can be split into a protocol data unit (PDU) of the SLC layer, which can be referred to as an SLC PDU. The one or more SLC PDUs contain a user ID field, which carries a user ID of the sending terminal. Multiple terminals of a user can share a user ID. When the satellite network device of the SLC layer receives the one or more SLC PDUs, it will packetize multiple SLC PDUs based on the user ID.
[0004] When the transmission time of multiple terminals with the same user ID sending multiple SLC PDUs to the satellite network device of the SLC layer overlaps, the satellite network device of the SLC layer can packetize SLC PDUs sent by different terminals, resulting in packetization errors. In this way, the multiple terminals fail to transmit data, thereby affecting the satellite communication experience of the terminal user.
[0005] Therefore, when multiple terminals with the same user ID perform satellite communication, how to avoid or reduce packetization errors caused by transmission conflicts is a problem to be solved. SUMMARY
[0006] The present application provides a communication method, system and related apparatus, through which packetization errors caused by transmission conflicts can be avoided or reduced when multiple terminals with the same user ID perform satellite communication.
[0007] In a first aspect, the present application provides a communication method, which can be applied to a first terminal. The method can include: generating a first data packet, determining a second ID according to a first ID, the first ID being a user identifier of the first terminal, the first terminal belonging to one or more terminals, the user identifiers of the one or more terminals being the same; determining one or more second data packets according to the first data packet; and sending the one or more second data packets to a first satellite network device, wherein the one or more second data packets contain the second ID.
[0008] According to the method provided by the first aspect, when the first terminal sends the one or more second data packets containing the second ID to the first satellite network device, the first ID can be mapped to the second ID. The second ID mapped by each terminal of the multiple terminals with the same user identifier based on the first ID is different. The first satellite network device can distinguish the data packets sent by different terminals based on the second ID. When the multiple terminals with the same user identifier send data packets to the first satellite network device at the same time, the first satellite network device can distinguish the data packets sent by different terminals based on the second ID carried in the data packets sent by each terminal. The first satellite network device can avoid packetizing the data packets sent by different terminals, thereby avoiding packetizing errors.
[0009] It can be understood that the first terminal sending the one or more second data packets to the first satellite network device can specifically be that the first terminal sends the one or more second data packets to a satellite. Then, the satellite sends the one or more second data packets to the first satellite network device.
[0010] In combination with the first aspect, in a possible manner, the second ID can be used to packetize the one or more second data packets into the first data packet.
[0011] In this way, the first satellite network device can packetize the one or more second data packets sent by the first terminal into the first data packet based on the second ID.
[0012] In combination with the first aspect, in a possible implementation manner, the second ID can be used for the first network device or the second network device to determine that the user identifier of a sending terminal of the first data packet is the first ID, the sending terminal being the first terminal.
[0013] In the present application, the first network device can determine that the sending terminal of the first data packet is the first terminal according to the second ID, or the second network device can determine that the sending terminal of the first data packet is the first terminal according to the second ID.
[0014] With reference to the first aspect, in a possible implementation manner, the second ID can be used by the first satellite network device to distinguish the second data packet sent by the first terminal from the one or more terminals with the first ID.
[0015] With reference to the first aspect, in a possible implementation manner, the first terminal determines the second ID according to the first ID, which can include that the first terminal determines the second ID according to a device identifier of the first terminal and the first ID.
[0016] For example, the first terminal can determine a set of IDs according to the first ID, and the second ID is a value in the set. The size of the ID set, that is, the number of IDs included in the set, is related to the selection of the set. When the size of the ID set is less than the number of terminal devices included in the first ID, since different terminal devices may select the same second ID, it is still possible that different devices transmit at the same time and cause packet errors, but the probability is greatly reduced compared with using the first ID. When the size of the ID set is greater than or equal to the number of terminal devices included in the first ID, different terminal devices under the first ID can select different IDs, thereby completely avoiding packet errors. For example, the second ID can be determined by the device identifier corresponding to the terminal 100 and the first ID. For example, the size of the ID set determined according to the first ID is 4, and if the current device identifier is 7, the third ID in the set can be selected as the second ID by device identifier 7 mod ID set size 4 = 3. Wherein, mod is the modulus operator. For another example, the size of the ID set determined according to the first ID is 8, and if the current device identifier is 7, the seventh ID in the set can be selected as the second ID. For another example, the second ID corresponding to the first ID can be determined according to other rules according to the device identifier. When the number of IDs in the ID set is greater than or equal to the number of user terminal devices under the first ID, the determination manner can uniquely determine a second ID, thereby avoiding different device identifiers determining the same second ID, causing the receiving satellite network device to be unable to distinguish whether the received data packet is the data packet sent by the first terminal, and causing packet errors. Alternatively, the second ID can be determined by the first terminal according to the first ID, without being determined according to the device identifier. An ID set can be determined according to the first ID, and a second ID can be randomly selected from the set. Due to the random selection characteristics of different terminals, the determination manner can reduce the probability that the second IDs determined by different devices of the same user ID are the same, and at the same time, on the receiving satellite network device side, it can support the scenario that multiple terminal devices under the same user ID maintain the same secret key, and has wider applicability.
[0017] With reference to the first aspect, in a possible implementation manner, the first user ID field is included in the header of the one or more second data packets, and the first user ID field carries the second ID.
[0018] With reference to the first aspect, in a possible implementation manner, the second ID is determined according to the first ID, including: determining the second ID from the first ID according to a first rule.
[0019] The first rule includes at least one of the following:
[0020] 1. inserting a first value between a first digit and a second digit in a decimal number corresponding to the first ID to obtain a second value, the first value being determined by a device identifier of the first terminal and / or a maximum number of terminals corresponding to the first ID, the first value being an integer greater than or equal to 0.
[0021] 2. obtaining the second ID according to the decimal number corresponding to the first ID and a first constant, the first constant being less than a maximum decimal number supported to be carried in the first user ID field.
[0022] 3. obtaining the second ID according to the maximum decimal number supported to be carried in the first user ID field and the decimal number corresponding to the first ID.
[0023] 4. obtaining the second ID according to the maximum decimal number supported to be carried in the first user ID field, the decimal number corresponding to the first ID and the first constant.
[0024] 5. obtaining the second ID according to a total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID.
[0025] 6. obtaining the second ID according to a total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID and a second constant, the second constant being less than a maximum decimal number supported to be carried in the first user ID field.
[0026] 7. setting a highest digit of the decimal number corresponding to the first ID to a third value to obtain a fourth value, the third value having one or two digits; converting the fourth value from decimal to binary to obtain the second ID.
[0027] In this way, the first terminal can map the first ID to the second ID according to the first rule. Different terminals can map the first ID to different second IDs according to the first rule. In this way, different terminals can distinguish one or more second data packets sent by themselves according to different second IDs.
[0028] In some examples, the ID obtained by the first terminal by mapping the first ID according to the first rule is referred to as the second ID. The ID obtained by the second terminal by mapping the first ID according to the first rule is referred to as the third ID.
[0029] With reference to the first aspect, in a possible implementation manner, the second ID is equal to the first ID. That is, the ID obtained by the first terminal according to the first rule can be the first ID.
[0030] With reference to the first aspect, in a possible implementation manner, in the first rule, the second ID can be obtained according to the decimal number corresponding to the first ID and the first constant, which can include: adding the first constant to the decimal number corresponding to the first ID to obtain a fifth value; and converting the fifth value from decimal to binary to obtain the second ID. In this way, the first terminal can obtain the second ID according to the first ID.
[0031] With reference to the first aspect, optionally, in another possible implementation manner, in the first rule, the second ID can be obtained according to the decimal number corresponding to the first ID and the first constant, which can include: adding the first constant to the decimal number corresponding to the first ID to obtain a fifth value; inserting a first value between the first digit and the second digit of the fifth value to obtain a sixth value; and converting the sixth value from decimal to binary to obtain the second ID. In this way, the first terminal can obtain the second ID according to the first ID.
[0032] With reference to the first aspect, in a possible implementation manner, the maximum number of terminals corresponding to the first ID is determined according to the maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID.
[0033] For example, the length of the first user ID field can be 37 bits, and the maximum decimal data supported by the first user ID field can be 2 37-1=137438953471. The first ID is an 11-digit decimal mobile phone number and the highest bit of the mobile phone number corresponding to the current first ID is 1, i.e., the decimal number corresponding to the first ID can be any one of 0-19999999999, a total of 20000000000 numbers. The user ID field supports carrying a decimal number of 0-137438953471, a total of 137438953472 numbers. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, one possible solution is that in addition to the value corresponding to the first ID, the number of 20000000000-137438953471, a total of 117438953472 numbers, can be used as the second ID. Considering that the mobile phone number corresponding to the current first ID occupies 0-19999999999 of the 20000000000 numbers, the remaining 117438953472 numbers can include up to 5 sets of the same size. In this way, the maximum number of terminals corresponding to the first ID can be 6, indicating that the ID set size under the same user ID can be 6, including the value corresponding to the first ID and 5 values in the interval 20000000000-137438953471.
[0034] Exemplarily, consider that the first ID is an 11-digit decimal mobile phone number and the highest bit of the mobile phone number corresponding to the current first ID is 1, i.e., the decimal number corresponding to the first ID can be any one of 10000000000-19999999999, a total of 10000000000 numbers. Considering that the maximum decimal number supported by the user ID field is 2 37 -1=137438953471. The user ID field supports carrying a decimal number of 0-137438953471, a total of 137438953472 numbers. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, one possible solution is that in addition to the value corresponding to the first ID, the number of 0-9999999999, 20000000000-137438953471, a total of 127438953472 numbers, can be used as the second ID. Considering that the highest bit of the mobile phone number corresponding to the current first ID is 1, the 127438953472 numbers include 12 eleven-digit numbers with the same last ten digits. In this way, the maximum number of terminals corresponding to the first ID can be 13, indicating that the ID set size under the same user ID can be 13, including the value corresponding to the first ID and 12 values in the interval 0-9999999999 and 20000000000-137438953471.
[0035] With reference to the first aspect, in a possible implementation manner, in the first rule, the second ID is obtained according to the maximum decimal number supported by the first user ID field to carry and the decimal number corresponding to the first ID, which can include: subtracting the decimal number corresponding to the first ID from the maximum decimal number supported by the first user ID field to carry, to obtain a seventh value; converting the seventh value from decimal to binary, to obtain the second ID. In this way, the first terminal can obtain the second ID according to the first ID.
[0036] With reference to the first aspect, in a possible implementation manner, in the first rule, the second ID is obtained according to the maximum decimal number supported by the first user ID field to carry, the decimal number corresponding to the first ID and the first constant, which can include: subtracting the first constant from the maximum decimal number supported by the first user ID field to carry after subtracting the decimal number corresponding to the first ID, to obtain a ninth value; converting the ninth value from decimal to binary, to obtain the second ID. In this way, the first terminal can obtain the second ID according to the first ID.
[0037] With reference to the first aspect, in a possible implementation manner, in the first rule, the second ID is obtained according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID, which can include: adding the total number of user IDs supported by the first user ID field to the decimal number corresponding to the first ID, to obtain a tenth value; converting the tenth value from decimal to binary, to obtain the second ID. In this way, the first terminal can obtain the second ID according to the first ID.
[0038] With reference to the first aspect, in a possible implementation manner, in the first rule, the second ID is obtained according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID and the second constant, which can include: adding the second constant to the total number of user IDs supported by the first user ID field after adding the decimal number corresponding to the first ID, to obtain an eleventh value; converting the eleventh value from decimal to binary, to obtain the second ID. In this way, the first terminal can obtain the second ID according to the first ID.
[0039] With reference to the first aspect, in a possible implementation manner, the decimal number corresponding to the first ID is an eleven-digit mobile phone number. The first data packet is an application layer data packet, and the one or more second data packets are satellite link control layer protocol data units (SLC PDUs).
[0040] In a second aspect, a communication method is provided, which is applied to a first satellite network device. The method can include: receiving one or more second data packets sent by a first terminal, the one or more second data packets containing a second ID, the second ID being used to identify the first terminal among one or more terminals with a same user identity as a first ID; grouping the one or more second data packets into a first data packet based on the second ID; and sending the first data packet and the second ID, or the first data packet and the first ID, to a second satellite network device.
[0041] It can be understood that the first satellite network device can determine the first ID according to the second ID, and send the first ID and the first data packet to the second satellite network device. Alternatively, the first satellite network device can directly send the first data packet and the second ID to the second satellite network device, and the second satellite network device can determine the first ID according to the second ID.
[0042] The second ID can be used by the first satellite network device to distinguish the one or more second data packets sent by the first terminal among the one or more terminals with the same user identity as the first ID.
[0043] Through the method provided in the second aspect, the first satellite network device can distinguish data packets sent by different terminals through the second ID. When multiple terminals with the same user identity simultaneously send data packets to the first satellite network device, the first satellite network device can distinguish data packets sent by different terminals based on the second ID carried in the data packets sent by each terminal. The first satellite network device can avoid grouping data packets sent by different terminals, thereby avoiding grouping errors.
[0044] In combination with the second aspect, in a possible implementation, before the first satellite network device sends the first data packet and the first ID, the method can further include: determining the first ID according to the second ID.
[0045] In combination with the second aspect, in a possible implementation, the first ID is equal to the second ID.
[0046] In combination with the second aspect, in a possible implementation, when the first satellite network device determines in advance that the first ID is less than a first value, the first satellite network device can determine that the first ID is equal to the second ID. When the first satellite network device determines in advance that the first ID is greater than the first value, the first satellite network device can perform a modulo calculation on the second ID based on a first constant to obtain the first ID.
[0047] In combination with the second aspect, the first satellite network device can determine the first ID based on the second ID according to a device identifier carried in the first data packet, instead of only through the modulo calculation on the first ID.
[0048] In a third aspect, a communication method is provided, and the method is applied to a second satellite network device. The method can include: receiving a first data packet and a second ID sent by a first satellite network device, or receiving the first data packet and a first ID, the second ID being used to indicate that the first data packet is from a first terminal of one or more terminals with a user identity of the first ID; and determining that the user identity of a sending terminal corresponding to the first data packet is the first ID.
[0049] With reference to the third aspect, in a possible implementation, when the second satellite network device receives the first data packet and the second ID, the second satellite network device further needs to determine, according to the second ID, that the user identity of the sending terminal corresponding to the first data packet is the first ID.
[0050] With reference to the third aspect, in a possible implementation, when the second satellite network device determines, in advance, that the first ID is less than a first value, the second satellite network device can determine that the first ID is equal to the second ID. When the second satellite network device determines, in advance, that the first ID is greater than the first value, the second satellite network device can perform a modulo operation on the second ID based on a first constant to obtain the first ID.
[0051] With the method provided in the third aspect, the first satellite network device can distinguish data packets sent by different terminals through the second ID. When multiple terminals with the same user identity simultaneously send data packets to the first satellite network device, the first satellite network device can distinguish data packets sent by different terminals based on the second ID carried in each data packet sent by the terminal. In this way, the first satellite network device will not have packet assembly errors. The first satellite network device can correctly assemble the first data packet. Then, the second satellite network device can receive the correct data packet, and thus can correctly parse the data packet. The second satellite network device can determine the key of the first data packet based on the first ID, and then decrypt the first data packet based on the key to obtain the original data.
[0052] In a fourth aspect, a communication method is provided, and the method is applied to a first terminal. The method can include: generating a first data packet; determining one or more second data packets according to the first data packet, the one or more second data packets including a first ID and a first indication, the first ID being a user identity of the first terminal, the first terminal belonging to one or more terminals, the one or more terminals having the same user identity, and the first indication and the first ID being used to identify the first terminal in the one or more terminals; and sending the one or more second data packets to a first satellite network device.
[0053] With reference to the fourth aspect, in a possible implementation, the first ID and the first indication are used by the first satellite network device to assemble the one or more second data packets into the first data packet.
[0054] The first ID is either the application account ID or the mobile phone number.
[0055] Using the method provided in the fourth aspect, for a data packet sent by a first terminal to a first satellite network device, the first satellite network device can distinguish the sending terminal of the data packet as the first terminal among one or more terminals identified by the user's first ID, based on the first ID and the first indication. In this way, the first satellite network device will not reassemble data packets sent by the first terminal with data packets simultaneously sent by another terminal identified by the user's first ID. Therefore, the first satellite network device can avoid packet reassembly errors.
[0056] In conjunction with the fourth aspect, in one possible implementation, the first indication is a first value in the reserved field of the header of one or more second data packets. Thus, when the reserved field is 2 bits, the first satellite network device can distinguish 4(2) bits using the first indication. 2 =4) Second data packets sent by terminals with user identifiers as the first ID.
[0057] In conjunction with the fourth aspect, in one possible implementation, the first indication is the second value in the application type indication field of the header of one or more second data packets.
[0058] The application type indicator field is used to indicate the application on different terminals.
[0059] Thus, when the application type indicator field is 5 bits, the first satellite network device can distinguish 32(2) using the first indicator. 5 =32) Second data packets sent by terminals with user identifiers as the first ID.
[0060] Fifthly, a communication method is provided, applied to a first satellite network device. The method may include: receiving one or more second data packets sent by a first terminal, wherein the one or more second data packets contain a first ID and a first indication, the first ID being a user identifier of the first terminal, the first terminal belonging to one or more terminals, the user identifiers of the one or more terminals being the same, and the first indication and the first ID being used to identify the first terminal among the one or more terminals; and assembling one or more second data packets into a first data packet based on the first indication and the first ID.
[0061] Using the method provided in the fifth aspect, for a data packet sent by a first terminal to a first satellite network device, the first satellite network device can distinguish, based on a first ID and an indication, whether the sending terminal of the data packet is the first terminal among one or more terminals identified by the first ID. In this way, the first satellite network device will not reassemble data packets sent by the first terminal with data packets simultaneously sent by another terminal identified by the first ID. Therefore, the first satellite network device can avoid packet reassembly errors.
[0062] In a sixth aspect, a communication method is provided, which is applied to a second satellite network device. The method can include: sending, to a first satellite network device, a first data packet and a first ID, or sending the first data packet and a second ID; the first ID is a user ID corresponding to a receiving terminal of the first data packet, and the second ID identifies a first terminal in one or more terminals with the first ID; the first data packet is used for the first satellite network device to determine one or more second data packets to be sent to the first terminal based on the first data packet, and the second ID is used for the first terminal to determine to receive the one or more second data packets and to packetize the one or more second data packets into the first data packet.
[0063] With the method provided in the sixth aspect, in the process of downlink data transmission, the second satellite network device or the first satellite network device can also transform the user ID in the data packet for indicating the receiving terminal, for example, map the first ID of the receiving terminal into another value (i.e., the second ID) for indicating the first terminal in the one or more terminals with the same user ID. In this way, when multiple terminals with the same user ID simultaneously query or download the letter from the second satellite network device, the terminals will not receive the messages sent by the second satellite network device to other terminals with the same user ID.
[0064] In combination with the sixth aspect, in a possible implementation manner, before the second satellite network device sends the first data packet and the second ID to the first satellite network device, the method can further include: determining the second ID according to the first ID. In this way, when multiple terminals with the same user ID simultaneously query or download the letter from the second satellite network device, the terminals will not receive the messages sent by the second satellite network device to other terminals with the same user ID.
[0065] In combination with the sixth aspect, in a possible implementation manner, the second satellite network device determines the second ID according to the first ID, which can include: determining the second ID according to a device ID of the first terminal and the first ID.
[0066] Exemplarily, the second satellite network device can determine a set of IDs according to the first ID, and the second ID is a value selected from the set. The size of the set of IDs, i.e., the number of IDs included in the set, is related to the selection of the set. When the size of the set of IDs is less than the number of terminal devices included in the first ID, since different terminal devices can select the same second ID, packet assembly errors can still occur when different devices transmit at the same time, but the probability will be greatly reduced compared with using the first ID. When the size of the set of IDs is greater than or equal to the number of terminal devices included in the first ID, different terminal devices under the first ID can select different IDs, thereby completely avoiding packet assembly errors. For example, the second ID can be determined by the terminal 100 corresponding device identifier and the first ID. For example, the size of the set of IDs determined according to the first ID is 4, and if the current device identifier is 7, the third ID in the set can be selected as the second ID by device identifier 7 mod ID set size 4 = 3. Wherein, mod is the modulus operator. For another example, the size of the set of IDs determined according to the first ID is 8, and if the current device identifier is 7, the seventh ID in the set can be selected as the second ID. For another example, the second ID corresponding to the first ID can be determined according to the device identifier according to other rules. When the number of IDs in the set is greater than or equal to the number of user terminal devices under the first ID, the determination method can uniquely determine a second ID, so that the same second ID determined by different device identifiers can be avoided, causing the receiving terminal to receive incorrect data packets. Alternatively, the second ID can be determined by the second satellite network device according to the first ID, without being determined according to the device identifier. A set of IDs can be determined according to the first ID, and a second ID can be randomly selected from the set. Due to the random selection characteristics of different terminals, the probability that the same second ID is determined by different devices of the same user ID can be reduced.
[0067] In combination with the sixth aspect, in a possible implementation manner, the header of the one or more second data packets includes a first user ID field, and the first user ID field carries the second ID.
[0068] In combination with the sixth aspect, in a possible implementation manner, the second ID is determined according to the first ID, including: determining the second ID according to the first rule.
[0069] The first rule includes at least one of the following:
[0070] 1. Inserting a first value between the first digit and the second digit in the decimal number corresponding to the first ID to obtain a second value, the first value being determined by the device identifier of the first terminal and / or the maximum number of terminals corresponding to the first ID, and the first value being an integer greater than or equal to 0.
[0071] 2. Obtain the second ID according to the decimal number corresponding to the first ID and a first constant, the first constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0072] 3. Obtain the second ID according to the maximum decimal number supported to be carried in the first user ID field and the decimal number corresponding to the first ID.
[0073] 4. Obtain the second ID according to the maximum decimal number supported to be carried in the first user ID field, the decimal number corresponding to the first ID and a first constant.
[0074] 5. Obtain the second ID according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID.
[0075] 6. Obtain the second ID according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID and a second constant, the second constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0076] 7. Set the highest bit of the decimal number corresponding to the first ID to a third value, the third value having one or two bits, to obtain a fourth value; convert the fourth value from decimal to binary to obtain the second ID.
[0077] In this way, the second satellite network device can map the first ID to the second ID according to the first rule. Different terminals can map the first ID to different second IDs according to the first rule. In this way, different terminals can distinguish one or more second data packets sent by themselves according to different second IDs.
[0078] In some examples, the first terminal ID obtained by the second satellite network device according to the first rule is referred to as the second ID. The second terminal ID obtained by the second satellite network device according to the first rule is referred to as the third ID.
[0079] In combination with the sixth aspect, in a possible implementation manner, the second ID is equal to the first ID. That is, the ID obtained by the second satellite network device according to the first rule can be the first ID.
[0080] In combination with the sixth aspect, in a possible implementation manner, in the first rule, obtaining the second ID according to the decimal number corresponding to the first ID and a first constant can include: adding the decimal number corresponding to the first ID to the first constant to obtain a fifth value; and converting the fifth value from decimal to binary to obtain the second ID. In this way, the second satellite network device can obtain the second ID according to the first ID.
[0081] With reference to the sixth aspect, optionally, in another possible implementation, in the first rule, the second ID can be obtained according to the first ID corresponding decimal number and the first constant, can include: adding the first ID corresponding decimal number and the first constant to obtain a fifth value; inserting a first value between the first digit and the second digit of the fifth value to obtain a sixth value; converting the sixth value from decimal to binary to obtain the second ID. In this way, the second satellite network device can obtain the second ID according to the first ID.
[0082] With reference to the sixth aspect, in a possible implementation, the maximum number of terminals corresponding to the first ID is determined by the maximum decimal number supported by the first user ID field and the first ID corresponding decimal number.
[0083] For example, the length of the first user ID field can be 37 bits, and the maximum decimal data supported by the first user ID field can be 2 37 -1=137438953471. The first ID is an 11-digit decimal mobile phone number, and the highest bit of the current mobile phone number corresponding to the first ID is 1, that is, the first ID corresponding decimal number can be any one of 0-19999999999, a total of 20000000000. The user ID field supports carrying a decimal number of 0-137438953471, a total of 137438953472. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, a possible solution is that 137438953472 decimal numbers can be used as second IDs, and the values corresponding to the first ID are 20000000000-137438953471, a total of 117438953472. Considering that the current mobile phone number corresponding to the first ID occupies 20000000000 of the 20000000000 numbers, the remaining 117438953472 numbers can include up to 5 sets of the same size. In this way, the maximum number of terminals corresponding to the first ID can be 6, indicating that the ID set size under the same user ID can be 6, including the value corresponding to the first ID and 5 values in the interval 20000000000-137438953471.
[0084] For another example, consider that the first ID is an 11-digit decimal mobile phone number, and the highest bit of the current mobile phone number corresponding to the first ID is 1, that is, the first ID corresponding decimal number can be any one of 10000000000-19999999999, a total of 10000000000. Considering that the maximum decimal number supported by the user ID field is 2 37-1=137438953471. The user ID field supports carrying 137438953472 numbers in total in the range of 0-137438953471. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, one possible solution is that, in the 137438953472 decimal numbers, in addition to the value corresponding to the first ID, the numbers that can be used as the second ID are 0-9999999999, 20000000000-137438953471, a total of 127438953472 numbers. Considering that the highest bit of the mobile phone number corresponding to the current first ID is 1, the 127438953472 numbers include 12 eleven-digit numbers with the same last ten digits. In this way, the maximum number of terminals corresponding to the first ID can be 13, indicating that the size of the ID set under the same user ID can be 13, including the value corresponding to the first ID and the 12 values in the range of 0-9999999999 and 20000000000-137438953471.
[0085] With reference to the sixth aspect, in a possible implementation, in the first rule, the second ID can be obtained according to the maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID, which can include: subtracting the decimal number corresponding to the first ID from the maximum decimal number supported by the first user ID field to obtain a seventh value; and converting the seventh value from decimal to binary to obtain the second ID. In this way, the second satellite network device can obtain the second ID according to the first ID.
[0086] With reference to the sixth aspect, in a possible implementation, in the first rule, the second ID can be obtained according to the maximum decimal number supported by the first user ID field, the decimal number corresponding to the first ID, and a first constant, which can include: subtracting the first constant from the maximum decimal number supported by the first user ID field after subtracting the decimal number corresponding to the first ID to obtain a ninth value; and converting the ninth value from decimal to binary to obtain the second ID. In this way, the second satellite network device can obtain the second ID according to the first ID.
[0087] With reference to the sixth aspect, in a possible implementation, in the first rule, the second ID can be obtained according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID, which can include: adding the total number of user IDs supported by the first user ID field to the decimal number corresponding to the first ID to obtain a tenth value; and converting the tenth value from decimal to binary to obtain the second ID. In this way, the second satellite network device can obtain the second ID according to the first ID.
[0088] With reference to the sixth aspect, in a possible implementation manner, in the first rule, the second ID can be obtained according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID, and a second constant, which can include: adding the total number of user IDs supported by the first user ID field to the decimal number corresponding to the first ID, and then adding the second constant to obtain an eleventh value; converting the eleventh value from decimal to binary to obtain the second ID. In this way, the second satellite network device can obtain the second ID according to the first ID.
[0089] With reference to the sixth aspect, in a possible implementation manner, the decimal number corresponding to the first ID is an 11-digit mobile phone number. The first data packet is an application layer data packet, and the one or more second data packets are satellite link control layer protocol data units (SLCPDUs).
[0090] The seventh aspect provides a communication method, which can be applied to a first satellite network device, and the method can include: receiving a first data packet and a second ID sent by a second satellite network device, or receiving a first data packet and a first ID sent by the second satellite network device; determining one or more second data packets according to the first data packet, the one or more second data packets containing the second ID, and the second ID being used to identify a first terminal of one or more terminals with the same user identity as the first ID; and sending the one or more second data packets to the first terminal, and the second ID being used by the first terminal to determine that the one or more second data packets are received.
[0091] In a possible implementation manner, after receiving the first data packet and the first ID sent by the second satellite network device, the method can further include: determining the second ID according to the first ID.
[0092] Through the method provided in the seventh aspect, in the process of downlink data transmission, the second satellite network device or the first satellite network device can also transform the user ID in the data packet for indicating the receiving terminal, for example, mapping the first ID of the receiving terminal into another value (i.e., the second ID) for indicating the first terminal of the one or more terminals with the same user identity. In this way, when multiple terminals with the same user identity query or download the letter from the second satellite network device at the same time, the terminal will not receive the message sent by the second satellite network device to other terminals with the same user identity.
[0093] With reference to the seventh aspect, in a possible implementation manner, the first satellite network device can determine the second ID according to the device identity of the first terminal and the first ID.
[0094] Exemplarily, the first satellite network device can determine a set of IDs according to the first ID, and the second ID is a value selected from the set. The size of the set of IDs, i.e., the number of IDs included in the set, is related to the selection of the set. When the size of the set of IDs is less than the number of terminal devices included in the first ID, since different terminal devices can select the same second ID, packet assembly errors can still occur when different devices transmit at the same time, but the probability will be greatly reduced compared with using the first ID. When the size of the set of IDs is greater than or equal to the number of terminal devices included in the first ID, different terminal devices under the first ID can select different IDs, thereby completely avoiding packet assembly errors. For example, the second ID can be determined by the terminal 100 corresponding device identifier and the first ID. For example, the size of the set of IDs determined according to the first ID is 4, and if the current device identifier is 7, the third ID in the set can be selected as the second ID by device identifier 7 mod ID set size 4 = 3. Wherein, mod is the modulus operator. For another example, the size of the set of IDs determined according to the first ID is 8, and if the current device identifier is 7, the seventh ID in the set can be selected as the second ID. For another example, the second ID corresponding to the first ID can be determined according to the device identifier according to other rules. When the number of IDs in the set of IDs is greater than or equal to the number of user terminal devices under the first ID, the determination method can uniquely determine a second ID, so as to avoid different device identifiers determining the same second ID, causing the receiving terminal to receive incorrect data packets. Alternatively, the second ID can be determined by the first satellite network device according to the first ID, without being determined according to the device identifier. A set of IDs can be determined according to the first ID, and a second ID can be randomly selected from the set. Due to the random selection characteristics of different terminals, the determination method can reduce the probability that the second IDs determined by different devices of the same user ID are the same.
[0095] In combination with the seventh aspect, in a possible implementation manner, the header of the one or more second data packets includes a first user ID field, and the first user ID field carries the second ID.
[0096] In combination with the seventh aspect, in a possible implementation manner, the second ID is determined according to the first ID, including: determining the second ID according to the first rule.
[0097] The first rule includes at least one of the following:
[0098] 1. Inserting a first value between the first digit and the second digit in the decimal number corresponding to the first ID to obtain a second value, the first value being determined by the device identifier of the first terminal and / or the maximum number of terminals corresponding to the first ID, and the first value being an integer greater than or equal to 0.
[0099] 2. Obtain the second ID according to the decimal number corresponding to the first ID and a first constant, the first constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0100] 3. Obtain the second ID according to the maximum decimal number supported to be carried in the first user ID field and the decimal number corresponding to the first ID.
[0101] 4. Obtain the second ID according to the maximum decimal number supported to be carried in the first user ID field, the decimal number corresponding to the first ID and a first constant.
[0102] 5. Obtain the second ID according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID.
[0103] 6. Obtain the second ID according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID and a second constant, the second constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0104] 7. Set the highest bit of the decimal number corresponding to the first ID to a third value, the third value having one or two bits, to obtain a fourth value; convert the fourth value from decimal to binary to obtain the second ID.
[0105] In this way, the first satellite network device can map the first ID to the second ID according to the first rule. Different terminals can map the first ID to different second IDs according to the first rule. In this way, different terminals can distinguish one or more second data packets sent by themselves according to different second IDs.
[0106] In some examples, the first terminal ID obtained by the first satellite network device by mapping the first ID according to the first rule is referred to as the second ID. The second terminal ID obtained by the first satellite network device by mapping the first ID according to the first rule is referred to as the third ID.
[0107] In combination with the seventh aspect, in a possible implementation manner, the second ID is equal to the first ID. That is, the ID obtained by the first satellite network device by mapping the first ID according to the first rule can be the first ID.
[0108] In combination with the seventh aspect, in a possible implementation manner, in the first rule, obtaining the second ID according to the decimal number corresponding to the first ID and a first constant can include: adding the decimal number corresponding to the first ID to the first constant to obtain a fifth value; and converting the fifth value from decimal to binary to obtain the second ID. In this way, the first satellite network device can obtain the second ID according to the first ID.
[0109] With reference to the seventh aspect, optionally, in another possible implementation, in the first rule, obtaining the second ID according to the decimal number corresponding to the first ID and the first constant can include: adding the decimal number corresponding to the first ID and the first constant to obtain a fifth value; inserting a first value between a first digit and a second digit of the fifth value to obtain a sixth value; converting the sixth value from decimal to binary to obtain the second ID. In this way, the first satellite network device can obtain the second ID according to the first ID.
[0110] With reference to the seventh aspect, in a possible implementation, the maximum number of terminals corresponding to the first ID is determined according to a maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID.
[0111] For example, the length of the first user ID field can be 37 bits, and the maximum decimal number supported by the first user ID field can be 2 37 -1=137438953471. The first ID is an 11-digit decimal mobile phone number, and the highest bit of the mobile phone number corresponding to the current first ID is 1, that is, the decimal number corresponding to the first ID can be any one of 0-19999999999, a total of 20000000000. The user ID field supports carrying a decimal number of 0-137438953471, a total of 137438953472. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, a possible solution is that, of the 137438953472 decimal numbers, in addition to the value corresponding to the first ID, the number used as the second ID can be 20000000000-137438953471, a total of 117438953472. Considering that the mobile phone number corresponding to the current first ID occupies 0-19999999999 of the 20000000000 numbers, the remaining 117438953472 numbers can include up to 5 sets of the same size. In this way, the maximum number of terminals corresponding to the first ID can be 6, indicating that the size of the ID set under the same user ID can be 6, including the value corresponding to the first ID and 5 values in the interval 20000000000-137438953471.
[0112] For another example, consider that the first ID is an 11-digit decimal mobile phone number, and the highest bit of the mobile phone number corresponding to the current first ID is 1, that is, the decimal number corresponding to the first ID can be any one of 10000000000-19999999999, a total of 10000000000. Considering that the maximum decimal number supported by the user ID field is 2 37-1=137438953471. The user ID field supports carrying 137438953472 numbers in total in the range of 0-137438953471. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, one possible solution is that, in the 137438953472 decimal numbers, in addition to the value corresponding to the first ID, the numbers that can be used as the second ID are 0-9999999999, 20000000000-137438953471, a total of 127438953472 numbers. Considering that the highest bit of the mobile phone number corresponding to the current first ID is 1, the 127438953472 numbers include 12 eleven-digit numbers with the same last ten digits. In this way, the maximum number of terminals corresponding to the first ID can be 13, indicating that the size of the ID set under the same user ID can be 13, including the value corresponding to the first ID and the 12 values in the range of 0-9999999999 and 20000000000-137438953471.
[0113] With reference to the seventh aspect, in a possible implementation, in the first rule, the second ID can be obtained according to the maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID, which can include: subtracting the decimal number corresponding to the first ID from the maximum decimal number supported by the first user ID field to obtain a seventh value; and converting the seventh value from decimal to binary to obtain the second ID. In this way, the first satellite network device can obtain the second ID according to the first ID.
[0114] With reference to the seventh aspect, in a possible implementation, in the first rule, the second ID can be obtained according to the maximum decimal number supported by the first user ID field, the decimal number corresponding to the first ID, and a first constant, which can include: subtracting the first constant from the maximum decimal number supported by the first user ID field after subtracting the decimal number corresponding to the first ID to obtain a ninth value; and converting the ninth value from decimal to binary to obtain the second ID. In this way, the first satellite network device can obtain the second ID according to the first ID.
[0115] With reference to the seventh aspect, in a possible implementation, in the first rule, the second ID can be obtained according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID, which can include: adding the total number of user IDs supported by the first user ID field to the decimal number corresponding to the first ID to obtain a tenth value; and converting the tenth value from decimal to binary to obtain the second ID. In this way, the first satellite network device can obtain the second ID according to the first ID.
[0116] With reference to the seventh aspect, in a possible implementation manner, in the first rule, the second ID can be obtained according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID, and a second constant, which can include: adding the total number of user IDs supported by the first user ID field to the decimal number corresponding to the first ID, and then adding the second constant to obtain an eleventh value; converting the eleventh value from decimal to binary to obtain the second ID. In this way, the first satellite network device can obtain the second ID according to the first ID.
[0117] With reference to the seventh aspect, in a possible implementation manner, the decimal number corresponding to the first ID is an 11-digit mobile phone number. The first data packet is an application layer data packet, and the one or more second data packets are satellite link control layer protocol data units (SLCPDUs).
[0118] An eighth aspect provides a communication method, which can be applied to a first terminal. The method can include: receiving one or more second data packets sent by a first satellite network device, the one or more second data packets containing a second ID, the second ID being used to indicate a first terminal in one or more terminals whose user identifier is a first ID; determining a first data packet according to the one or more second data packets; and determining, based on the second ID, that a user identifier corresponding to a receiving terminal of the first data packet is the first ID, the receiving terminal being the first terminal.
[0119] Through the method provided in the eighth aspect, in the process of downlink data transmission, the second satellite network device or the first satellite network device can also transform the user ID in the data packet used to indicate the receiving terminal, for example, mapping the first ID of the receiving terminal into another value (i.e., the second ID) used to indicate the first terminal in one or more terminals whose user identifier is the same. In this way, when the first terminal and other terminals whose user identifier is the same as that of the first terminal simultaneously query or download letters from the second satellite network device, the first terminal will not receive the messages sent by the second satellite network device to the other terminals whose user identifier is the same.
[0120] A ninth aspect provides a communication method, which can be applied to a first terminal. The method can include: the first terminal can generate a first data packet; the first terminal can determine a second ID according to a first ID; the first terminal can determine one or more second data packets according to the first data packet, the one or more second data packets containing the second ID and a first indication; and the first terminal can send the one or more second data packets to a first satellite network device.
[0121] The manner in which the first terminal determines the second ID according to the first ID can be referred to the description in the first aspect, which will not be described here.
[0122] The method provided by the ninth aspect can be used for the first satellite network device to distinguish, based on the second ID and the first indication, that the first terminal is the first terminal of the one or more terminals identified by the first ID, for the data packet sent by the first terminal. In this way, the first satellite network device will not group the data packet sent by the first terminal and the data packet sent by another terminal of the one or more terminals identified by the first ID. Thus, the first satellite network device can avoid grouping errors.
[0123] The tenth aspect provides a communication method, which can be applied to a first satellite network device. The method can include: receiving, by the first satellite network device, one or more second data packets sent by a first terminal; grouping, by the first satellite network device, the one or more second data packets into a first data packet based on a second ID and a first indication; and sending, by the first satellite network device, the first data packet and the second ID, or the first data packet and the first ID, to a second satellite network device.
[0124] It can be understood that the first satellite network device can determine the first ID according to the second ID, and send the first ID and the first data packet to the second satellite network device. Alternatively, the first satellite network device can directly send the first data packet and the second ID to the second satellite network device, and the second satellite network device can determine the first ID according to the second ID.
[0125] The second ID can be used by the first satellite network device to distinguish the one or more second data packets sent by the first terminal of the one or more terminals identified by the first ID.
[0126] The specific manner in which the first satellite network device determines the first ID according to the second ID can be understood with reference to the description of the second aspect, which will not be described herein again.
[0127] The eleventh aspect provides a communication method, which can be applied to a second satellite network device. The method can include: receiving a first data packet and a second ID, or receiving the first data packet and a first ID, sent by a first satellite network device, the second ID being used to indicate that the first data packet comes from a first terminal of one or more terminals identified by the first ID; and determining that the user identification of the sending terminal corresponding to the first data packet is the first ID.
[0128] In combination with the eleventh aspect, in a possible implementation manner, when the second satellite network device receives the first data packet and the second ID, the second satellite network device also needs to determine, according to the second ID, that the user identification of the sending terminal corresponding to the first data packet is the first ID. The specific manner in which the second satellite network device determines the first ID according to the second ID can be understood with reference to the description of the third aspect, which will not be described herein again.
[0129] The method provided by the eleventh aspect, the first satellite network device can distinguish the data packets sent by different terminals through the second ID and the first indication. When multiple terminals with the same user identity send data packets to the first satellite network device at the same time, the first satellite network device can distinguish the data packets sent by different terminals based on the second ID and the first indication carried in the data packets sent by each terminal. In this way, the first satellite network device will not make packet assembly errors. The first satellite network device can correctly assemble the first data packet. Then, the second satellite network device can receive the correct data packet, so as to correctly parse the data packet. The second satellite network device can determine the key of the first data packet based on the first ID, and then decrypt the first data packet based on the key to obtain the original data.
[0130] The twelfth aspect provides a communication system, which can include a first terminal, a first satellite network device, and a second satellite network device. The first terminal is configured to: generate a first data packet, determine a second ID based on a first ID, the first ID being a user identity of the first terminal, the first terminal belonging to one or more terminals, the one or more terminals having the same user identity; determine one or more second data packets based on the first data packet; and send the one or more second data packets to the first satellite network device, wherein the one or more second data packets contain the second ID.
[0131] The first satellite network device is configured to: receive the one or more second data packets sent by the first terminal, the one or more second data packets containing the second ID; assemble the one or more second data packets into the first data packet based on the second ID; and send the first data packet and the second ID, or the first data packet and the first ID, to the second satellite network device.
[0132] The second satellite network device is configured to: receive the first data packet and the second ID, or the first data packet and the first ID, sent by the first satellite network device; and determine that the user identity of the terminal that sends the first data packet is the first ID.
[0133] The communication system provided by the twelfth aspect, when the first terminal sends one or more second data packets to the first satellite network device, the first ID can be mapped to the second ID contained in the one or more second data packets. Multiple terminals with the same user identity, each terminal has a different second ID mapped based on the first ID. The first satellite network device can distinguish the data packets sent by different terminals through the second ID. When multiple terminals with the same user identity send data packets to the first satellite network device at the same time, the first satellite network device can distinguish the data packets sent by different terminals based on the second ID carried in the data packets sent by each terminal. The first satellite network device can avoid assembling the data packets sent by different terminals, which can cause packet assembly errors.
[0134] With reference to the twelfth aspect, in a possible implementation manner, the first terminal is configured to perform the communication method in any of the possible implementation manners of the first aspect, the fourth aspect, the eighth aspect, and the ninth aspect.
[0135] With reference to the twelfth aspect, in a possible implementation manner, the first satellite network device is configured to perform the communication method in any of the possible implementation manners of the second aspect, the fifth aspect, the seventh aspect, and the tenth aspect.
[0136] With reference to the twelfth aspect, in a possible implementation manner, the second satellite network device is configured to perform the communication method in any of the possible implementation manners of the third aspect, the sixth aspect, and the eleventh aspect.
[0137] The thirteenth aspect provides a terminal, including one or more processors, one or more memories, and a transceiver; wherein the transceiver, the one or more memories, and the one or more processors are coupled, and the one or more memories are configured to store computer program codes including computer instructions, which, when executed by the one or more processors, cause the terminal to perform the communication method in any of the possible implementation manners of the first aspect, the fourth aspect, the eighth aspect, and the ninth aspect.
[0138] The fourteenth aspect provides a communication apparatus, including one or more processors, one or more memories, and a transceiver; wherein the transceiver, the one or more memories, and the one or more processors are coupled, and the one or more memories are configured to store computer program codes including computer instructions, which, when executed by the one or more processors, cause the communication apparatus to perform the communication method in any of the possible implementation manners of the second aspect, the fifth aspect, the seventh aspect, and the tenth aspect.
[0139] The fifteenth aspect provides a communication apparatus, including one or more processors, one or more memories; wherein the one or more processors and the one or more memories are coupled, and the one or more memories are configured to store computer program codes including computer instructions, which, when executed by the one or more processors, cause the communication apparatus to perform the communication method in any of the possible implementation manners of the third aspect, the sixth aspect, and the eleventh aspect.
[0140] The sixteenth aspect provides a chip or chip system applied to an electronic device, including one or more processors, which are configured to invoke computer instructions to cause the chip or chip system to perform the communication method in any of the possible implementation manners of the first aspect to the eleventh aspect.
[0141] In a seventeenth aspect, a computer-readable storage medium is provided, and the computer-readable storage medium stores instructions. When the instructions are executed on a computer, the computer is caused to perform the communication method in any possible implementation manner of the first aspect to the eleventh aspect.
[0142] In an eighteenth aspect, a computer program product is provided. When the computer program product is executed on a computer, the computer is caused to perform the communication method in any possible implementation manner of the first aspect to the eleventh aspect. BRIEF DESCRIPTION OF DRAWINGS
[0143] FIG. 1 is a schematic diagram of an architecture of a satellite communication system 10 according to an embodiment of the present application;
[0144] FIG. 2 is a schematic diagram of a protocol encapsulation architecture of inbound data of a satellite communication system 10 according to an embodiment of the present application;
[0145] FIG. 3 is a schematic diagram of a protocol parsing architecture of inbound data of a satellite communication system 10 according to an embodiment of the present application;
[0146] FIG. 4 is a schematic diagram of a protocol encapsulation architecture of outbound data of a satellite communication system 10 according to an embodiment of the present application;
[0147] FIG. 5 is a schematic diagram of a protocol parsing architecture of outbound data of a satellite communication system 10 according to an embodiment of the present application;
[0148] FIG. 6 is a schematic diagram of formats of a SLC layer data packet, an MDCP layer data packet, and an AP layer data packet according to an embodiment of the present application;
[0149] FIG. 7 is a schematic diagram of a packet assembly error scenario according to an embodiment of the present application;
[0150] FIG. 8 is a schematic diagram of a flow of a communication method according to an embodiment of the present application;
[0151] FIG. 9 is a schematic diagram of a flow of a communication method according to an embodiment of the present application;
[0152] FIG. 10 is a schematic diagram of a flow of a communication method according to an embodiment of the present application;
[0153] FIG. 11 is a schematic diagram of a structure of a terminal 100 according to an embodiment of the present application;
[0154] FIG. 12 is a schematic diagram of a structure of a communication apparatus according to an embodiment of the present application;
[0155] FIG. 13 is a schematic diagram of a structure of another communication apparatus according to an embodiment of the present application;
[0156] FIG. 14 is a structural schematic diagram of another communication apparatus provided by an embodiment of the present application;
[0157] FIG. 15 is a structural schematic diagram of another communication apparatus provided by an embodiment of the present application. DETAILED DESCRIPTION
[0158] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of the present application.
[0159] The terms used in the following embodiments of the present application are only for the purpose of describing the specific embodiments, and are not intended to be limiting on the present application. As used in the specification and the appended claims of the present application, the singular forms “a,” “an,” and “the” are intended to include plural forms as well, unless the context clearly indicates otherwise. The terms “first,” “second,” and the like are used only to describe the different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, the features defined with “first,” “second” can explicitly or implicitly include one or more of the features. “First” and “second” are used to distinguish different objects, rather than to describe a specific order of the objects. For example, the first object and the second object are used to distinguish different objects, rather than to describe a specific order of the objects.
[0160] In the description of the embodiments of the present application, unless otherwise specified, “a plurality of” means two or more. For example, a plurality of processing units means two or more processing units; a plurality of systems means two or more systems.
[0161] In the embodiments of the present application, the words “exemplary” or “for example” are used to mean serving as an example, instance, or illustration. Any embodiment or aspect described in the embodiments of the present application as “exemplary” or “for example” should not be construed as being more preferred or advantageous than other embodiments or aspects. In fact, the use of the words “exemplary” or “for example” is intended to present concepts in a concrete manner. Embodiments or aspects described in the embodiments of the present application as “exemplary” or “for example” do not necessarily have to achieve more advantages than other embodiments or aspects.
[0162] The term “and / or” in the present application is only used to describe the association relationship of the associated objects, and means that there can be three relationships. For example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone.
[0163] First, a satellite communication system 10 provided in an embodiment of the present application is introduced.
[0164] FIG. 1 illustrates an architecture diagram of a satellite communication system 10 according to an embodiment of the present application.
[0165] As shown in FIG. 1, the satellite communication system 10 can include, but is not limited to, a terminal 100, a satellite 21, and a satellite network device 200.
[0166] The terminal 100 and the satellite network device 200 can transmit data through the satellite 21. Taking that the terminal 100 can send a data packet to the satellite network device 200 as an example, the terminal 100 can determine the data packet 1 to be sent as one or more data packets 2, and specifically divide the data packet 1 into one or more data packets 2. Then, the terminal 100 sends the one or more data packets 2 to the satellite 21, and the satellite 21 only relays, and the satellite 21 can directly send the one or more data packets to the satellite network device 200.
[0167] Optionally, the satellite network device 200 can include, but is not limited to, a satellite network device 22 and a satellite network device 23. The satellite network device 22 can include one or more devices with a sending function and one or more devices with a receiving function respectively, or can include one or more devices with a sending function and a receiving function, which is not limited here. The satellite network device 22 can be used for the satellite network device 200 to process data at a physical layer protocol (PHY) layer and a satellite link control protocol (SLC) layer, and a message data convergence protocol (MDCP) layer. In some examples, the satellite network device 22 can include a ground transceiver station and a satellite center station. The ground transceiver station can be used for the satellite network device 200 to process data at the PHY layer. The satellite center station can be used for the satellite network device 200 to process data at the SLC. The present application does not limit what kind of devices are included in the satellite network device 22, and the specific name of the satellite network device 22.
[0168] The satellite network device 23 can be used for the satellite network device 200 to process data at an application layer protocol (AP) layer. In addition, the satellite network device 22 can also perform part of the data processing function at the AP layer, for example, to obtain the user ID of the data packet sending terminal to support the data authentication function.
[0169] Exemplarily, the terminal 100 can send one or more data packets 2 to the satellite network device 22 via the satellite 21. The satellite network device 22 can packetize the one or more data packets 2 into a data packet 1 at the SLC layer. Then, the satellite network device 22 can send the data packet 1 to the satellite network device 23. The satellite network device 23 can unpack the data packet 1 at the AP layer to obtain the data in the data packet 1.
[0170] It should be noted that the process of the terminal 100 sending data to the satellite network device 200 is inbound. The process of the satellite network device 200 sending data to the terminal 100 is outbound.
[0171] Next, a protocol architecture of inbound data of a satellite communication system 10 provided in an embodiment of the present application is introduced.
[0172] FIG. 2 shows a schematic diagram of a protocol encapsulation architecture of inbound data of a satellite communication system 10 provided in an embodiment of the present application.
[0173] As shown in FIG. 2, the transport protocol layers on the terminal 100 can be divided into an application layer, a message data convergence layer, a satellite link control layer, and a physical layer.
[0174] When the terminal 100 sends data to the satellite network device 200, the workflow of the transport protocol on the terminal 100 can be as follows:
[0175] At the AP layer, the terminal 100 generates a data packet 1, where the data packet 1 includes original data and a first authentication code generated based on a specified key and the original data. For example, the terminal 100 can generate the first authentication code based on the original data (also referred to as first data) and the specified key, and splice the first authentication code and the original data together, and obtain the data packet 1 through processing (for example, adding a packet header). The original data can include, but is not limited to, data input by a user, an indication of a number of receiving users, an ID of a receiving user, location information of the terminal 100, voice, image, animation, and the like.
[0176] In a possible implementation, the terminal 100 can encrypt the spliced first authentication code and original data to obtain encrypted data using the specified key. The terminal 100 can add packet header information in front of the encrypted data to obtain the data packet 1. The packet header information can include, but is not limited to, an encryption indication field. The encryption indication field can be used to indicate an encryption algorithm used by the terminal 100 to encrypt the data.
[0177] Optionally, before the terminal 100 encrypts the first authentication code and the original data spliced together, the terminal 100 can compress the first authentication code and the original data spliced together. It can be understood that the header information can also include a compression indication field. The compression indication field can be used to indicate the compression algorithm used by the terminal 100 to compress the data.
[0178] In a possible implementation, the terminal 100 can only encrypt the original data to obtain encrypted data. The terminal 100 can add the header information in front of the encrypted data to obtain the data packet 1. The header information can include but is not limited to an encryption indication field. Finally, the terminal 100 adds the first authentication code in the data packet 1 to obtain the data packet 1 including the first authentication code and the encrypted data.
[0179] At the MDCP layer, the terminal 100 can obtain the data packet 1 issued by the AP layer through the interlayer interface and take the data packet 1 as an MDCP SDU. At the MDCP layer, the terminal 100 can add padding data to a specified length at the tail of the MDCP SDU and add a redundancy length indication field to the MDCP SDU. The redundancy length indication field can be used to indicate the length of the padding data. The terminal 100 can split the MDCP SDU after adding the padding data and the redundancy length indication field into one or more MDCP segment data (M_segment) of a fixed length, add a successor indication field to the head of each MDCP segment data to obtain an MDCP PDU. That is, the MDCP PDU includes the M_segment and the successor indication field. The successor indication field can be used to indicate the order of the current MDCP PDU in the plurality of MDCP PDUs in the same MDCP SDU, or whether there is an MDCP PDU after the current MDCP PDU, or the current MDCP PDU is the only MDCP PDU of the MDCP SDU.
[0180] At the SLC layer, the terminal 100 can obtain the MDCP PDU issued by the MDCP layer through the interlayer interface, as an SLC SDU. At the SLC layer, the terminal 100 can segment the SLC SDU into one or more (for example, 4) SLC segment data (S_segment) of fixed length, and add frame header information (also known as frame format indication information) to the header of each S_segment to obtain an SLC PDU. The frame header information can include but is not limited to a user ID field, a total number of frames field, and a frame sequence number field. The user ID field can be used to indicate the terminal (for example, the terminal 100) that generates the SLC PDU. The total number of frames field can be used to indicate the total number of SLC PDUs included in the SLC SDU to which the SLC PDU belongs. The frame sequence number field can be used to indicate the sequence number of the SLC PDU in the SLC SDU to which the SLC PDU belongs.
[0181] It should be noted that here, the SLC PDU can be referred to as a data packet 2. That is, the terminal 100 can process the data packet 1 into at least one data packet 2 through the MDCP layer and the SLC layer. Alternatively, the MDCP segment can also be referred to as a data packet 2, and the terminal 100 can process the data packet 1 into at least one data packet 2 through the MDCP layer.
[0182] At the PHY layer, the terminal 100 can obtain the SLC PDU issued by the SLC layer through the interlayer interface. The terminal 100 can perform a transmission processing (such as encoding, modulation, spreading, etc.) operation on it to obtain inbound data. Then, the terminal 100 can send the inbound data to the satellite 21, which relays and forwards the inbound data to the satellite network device 200 via the satellite 21.
[0183] FIG. 3 shows a schematic diagram of a protocol analysis architecture of inbound data of a satellite communication system 10 provided in an embodiment of the present application.
[0184] As shown in FIG. 3, the transmission protocol layer on the satellite network device 200 can be divided into an application layer, a message data convergence layer, a satellite link control layer, and a physical layer. Referring to FIG. 1 described above, the satellite network device 200 can include but is not limited to the satellite network device 22 and the satellite network device 23. The satellite network device 22 can be used to be responsible for the protocol processing of the PHY layer, the SLC layer, and the MDCP layer. The satellite network device 23 can be used to be responsible for the protocol processing of the AP layer.
[0185] When the satellite network device 200 receives the data sent by the terminal 100, the working process of the Beidou message transmission protocol on the satellite network device 200 can be as follows:
[0186] At the PHY layer, the satellite network device 200 can acquire the inbound data sent by the terminal 100. After the satellite network device 200 performs the receiving processing (such as de-spreading, demodulation, decoding, etc.) on the inbound data, the satellite network device 200 can deliver the inbound data to the SLC layer through the interlayer interface as an SLC PDU of the SLC layer.
[0187] At the SLC layer, the satellite network device 200 can splice the SLC PDUs belonging to the same SLC SDU of the same terminal into one SLC SDU based on the frame header information of the SLC PDU. The satellite network device 200 can deliver the SLC SDU to the MDCP layer through the interlayer interface as an MDCP PDU of the MDCP layer.
[0188] At the MDCP layer, the satellite network device 200 can splice all the MDCP PDUs belonging to the same MDCP SDU together in the receiving order, and remove the padding data and the redundancy length indication field of the spliced MDCP PDU to obtain the MDCP SDU. The satellite network device 200 can deliver the MDCP SDU to the AP layer through the interlayer interface as a data packet 1 received by the AP layer. At this point, the SLC layer and the MDCP layer of the satellite network device 200 process at least one data packet 2 (i.e., SLC PDU) to obtain the data packet 1, or the MDCP layer of the satellite network device 200 processes at least one data packet 2 (i.e., MDCP PDU) to obtain the data packet 1.
[0189] At the AP layer, the satellite network device 200 can generate a second authentication code based on the specified key and the data packet 1, and determine the receiving state of the data packet 1 based on the second authentication code. Specifically, the satellite network device 200 can obtain the original data in the data packet 1, and generate the second authentication code based on the specified key and the original data. The satellite network device 200 can obtain the first authentication code in the data packet 1, and determine the receiving state of the data packet 1 by comparing whether the first authentication code and the second authentication code are the same. When the first authentication code and the second authentication code are the same, the satellite network device 200 determines that the data packet 1 is received successfully. That is, the satellite network device 200 determines that the original data in the data packet 1 is the data sent by the terminal 100, and the satellite network device 200 can perform corresponding operations (such as forwarding the original data to a called user equipment under a cellular network) on the original data. When the first authentication code and the second authentication code are different, the satellite network device 200 determines that the data packet 1 is received unsuccessfully. That is, the satellite network device 200 determines that the original data in the data packet 1 is not the data sent by the terminal 100, and the satellite network device 200 can discard the data packet 1.
[0190] In a possible implementation, the data packet 1 includes encrypted data, and the encrypted data includes an encrypted first authentication code and encrypted original data. The satellite network device 200 can determine the encryption algorithm used by the terminal 100 based on the packet header of the data packet 1. The satellite network device 200 can decrypt the data packet 1 based on the specified key and the encryption algorithm to obtain the original data and the first authentication code. The satellite network device 200 can generate a second authentication code based on the specified key and the original data.
[0191] Optionally, the satellite network device 200 can obtain compressed data after decrypting the encrypted data. The satellite network device 200 can obtain the first authentication code and the original data after decompressing the compressed data.
[0192] In a possible implementation, the data packet 1 includes encrypted data and the first authentication code. The satellite network device 200 can directly obtain the first authentication code in the data packet 1. The satellite network device 200 can decrypt the encrypted data based on the specified key and the encryption indication field in the packet header information to obtain the original data.
[0193] In the embodiments of the present application, the protocol processing process described above is only an example, and the specific operations of the protocol processing are not limited in the present application.
[0194] Next, a protocol architecture of outbound data of a satellite communication system 10 provided in the embodiments of the present application is introduced.
[0195] FIG. 4 shows a protocol encapsulation architecture of outbound data of a satellite communication system 10 provided in the embodiments of the present application.
[0196] As shown in FIG. 4, the transmission protocol layer on the satellite network device 200 can be divided into an application layer, a message data convergence layer, a satellite link control layer, and a physical layer.
[0197] When the satellite network device 200 sends data to the terminal 100, the working process of the message transmission protocol on the satellite network device 200 can be as follows:
[0198] In the AP layer, the satellite network device 200 generates a data packet 3, where the data packet 3 includes original data and a fourth authentication code. For example, the satellite network device 200 can generate the fourth authentication code based on the original data (also referred to as first data) and a specified key, and splice the fourth authentication code and the original data together, and obtain the data packet 3 after processing (for example, adding a packet header). The original data can include but is not limited to data sent by a third-party server, text, flag language, voice, image, animation, and the like.
[0199] Optionally, the satellite network device 200 can generate the fourth authentication code based on only the original data.
[0200] In a possible implementation, the satellite network device 200 can encrypt the spliced original data and the fourth authentication code based on a specified key and an encryption algorithm to obtain encrypted data. The satellite network device 200 can add a packet header in front of the encrypted data to obtain the data packet 3. The packet header can include but is not limited to an encryption indication field. The encryption indication field can be used to indicate the encryption algorithm used by the satellite network device 200 to encrypt the data.
[0201] Optionally, before the satellite network device 200 encrypts the spliced fourth authentication code and original data, the satellite network device 200 can first compress the spliced fourth authentication code and original data. It can be understood that the packet header can also include a compression indication field. The compression indication field can be used to indicate the compression algorithm used by the satellite network device 200 to compress the data.
[0202] Further optionally, the satellite network device 200 can compress the spliced fourth authentication code and original data to obtain compressed data. The satellite network device 200 can add the compression indication field in front of the compressed data, and then encrypt the compressed data with the added compression indication field using a specified key to obtain encrypted data.
[0203] In a possible implementation, the satellite network device 200 can only encrypt the original data to obtain encrypted data. The satellite network device 200 can add packet header information in front of the encrypted data to obtain the data packet 3. The packet header information can include but is not limited to an encryption indication field. Finally, the satellite network device 200 adds the fourth authentication code in the data packet 3 to obtain the data packet 3 including the first authentication code and the encrypted data.
[0204] At the MDCP layer, the satellite network device 200 can obtain the data packet 3 issued by the AP layer through an interlayer interface, and take the data packet 3 as an MDCP SDU. The satellite network device 200 can split the MDCP SDU into one or more MDCP segment data (M_segment), and add a successor indication field in the header of each MDCP segment data to obtain an MDCP PDU, that is, the MDCP PDU includes the M_segment and the successor indication field. The successor indication field can be used to indicate the order of the current MDCP PDU in the same MDCP SDU, such as whether it is the only PDU, whether there is a subsequent MDCP PDU, or whether it is the first MDCP PDU.
[0205] For example, the data length of the successor indication field can occupy 2 bits. The value meaning of the successor indication field can be as follows:
[0206] 01: indicates that the MDCP PDU is the start MDCP PDU in the plurality of MDCP PDUs in the MDCP SDU;
[0207] 10: indicates that the MDCP PDU is the intermediate MDCP PDU in the plurality of MDCP PDUs in the MDCP SDU, that is, indicates other MDCP PDUs in the MDCP SDU except the start MDCP PDU and the last MDCP PDU;
[0208] 11: indicates that the MDCP PDU is the last MDCP PDU in the plurality of MDCP PDUs in the MDCP SDU;
[0209] 00: indicates that the MDCP PDU is the only MDCP PDU in the MDCP SDU.
[0210] It should be noted that the above-mentioned successor indication field is only an example and does not constitute a specific limitation on the embodiments of the present application.
[0211] At the SLC layer, the satellite network device 200 can obtain the MDCP PDU issued by the MDCP layer through the interlayer interface as the SLC SDU. The satellite network device 200 can segment the SLC SDU into one or more (for example, 4) SLC segment data (S_segment), and add frame header information in the header of each S_segment to obtain the SLC PDU. The frame header information can include but is not limited to the user ID field, the total number of frames field, and the frame sequence number field. The user ID field can be used to identify the receiving device (for example, the terminal 100), and the value of the user ID field is the ID number of the receiving device. The detailed description of the total number of frames field and the frame sequence number field can be referred to the above-mentioned embodiment described in FIG. 3, which will not be repeated here. It should be noted that here, the SLC PDU can be referred to as data packet 4. The satellite network device 200 can process the data packet 3 into at least one data packet 4 at the MDCP layer and the SLC layer. Or the segmentation of the MDCP can be referred to as the data packet 4, and the satellite network device 200 can process the data packet 3 into at least one data packet 4 at the MDCP layer.
[0212] At the PHY layer, the satellite network device 200 can obtain the SLC PDU issued by the SLC layer through the interlayer interface as a user frame. The satellite network device 200 can splice the user frames of multiple users or one user together, and then add a frame header (for example, a version number) and a check bit to obtain a physical frame. The satellite network device 200 can perform a sending process (for example, encoding, modulation, and spreading) on the physical frame to obtain encoded data of an S2C-d branch. The satellite network device 200 can group the encoded data of the S2C-d branch and pilot data (also referred to as a subcode) of an S2C-p branch to form pilot encoded data, that is, outbound data. The satellite network device 200 can send the outbound data to the satellite 21, which relays and forwards the outbound data to one or more terminals. It can be understood that the pilot data of the S2C-p branch is related to a satellite beam. When the satellite beam is known information, the pilot data of the S2C-p branch is also known, and does not need to be decoded. The encoded data of the S2C-d branch needs to be decoded.
[0213] FIG. 5 shows a protocol parsing architecture diagram of outbound data of a satellite communication system 10 provided in an embodiment of the present application.
[0214] As shown in FIG. 5, the transmission protocol layer on the terminal 100 can be divided into an application layer, a message data convergence layer, a satellite link control layer, and a physical layer.
[0215] At the PHY layer, the terminal 100 can capture the encoded data of the S2C-d branch based on the subcode of the S2C-p branch sent by the satellite network device 200. After capturing the encoded data of the S2C-d branch, the terminal 100 can perform a receiving process (for example, despreading, demodulation, decoding, and the like) on the encoded data of the S2C-d branch to obtain a physical frame. The terminal 100 can extract the user frame belonging to the terminal 100 from the physical frame. The terminal 100 can present the user frame to the SLC layer through the interlayer interface as an SLC PDU of the SLC layer.
[0216] At the SLC layer, when the user frame received by the terminal 100 is a general data frame, the terminal 100 can splice the SLC PDUs belonging to the same SLC SDU into one SLC SDU. The terminal 100 can present the SLC SDU to the MDCP layer through the interlayer interface as an MDCP PDU of the MDCP layer. When the user frame received by the terminal 100 is an acknowledge (ACK) frame, the terminal 100 can retransmit data and / or send the next SLC SDU based on the value of the bitmap field.
[0217] At the MDCP layer, the terminal 100 can de-header one or more MDCP PDUs and concatenate them into one MDCP SDU. The terminal 100 can present the MDCP SDU to the AP layer through the interlayer interface as the data packet 3 received by the AP layer. At this point, the SLC layer and the MDCP layer of the terminal 100 process at least one data packet 4 (i.e., SLC PDU) to obtain the data packet 3.
[0218] At the AP layer, the terminal 100 can generate a third authentication code based on the specified key and the data packet 3, and determine the receiving state of the data packet 3 based on the third authentication code. Specifically, the terminal 100 can obtain the original data in the data packet 3, and then generate the third authentication code based on the specified key and the original data. The terminal 100 can obtain the fourth authentication code in the data packet 3, and determine the receiving state of the data packet 3 by comparing whether the fourth authentication code and the third authentication code are the same. When the fourth authentication code and the third authentication code are the same, the terminal 100 determines that the data packet 3 is received successfully. That is, the terminal 100 determines that the original data of the data packet 3 is the data sent by the satellite network device 200, and the terminal 100 can perform a corresponding operation (e.g., display the original data in the form of a short message on the display screen of the terminal 100) on the original data. When the fourth authentication code and the third authentication code are different, the terminal 100 determines that the data packet 3 is received unsuccessfully. That is, the terminal 100 determines that the original data of the data packet 3 is not the data sent by the satellite network device 200, and the terminal 100 can discard the data packet 3.
[0219] In the embodiments of the present application, the above protocol processing process is only an example for illustration, and the specific operation of the protocol processing is not limited in the present application.
[0220] In some examples, the data packet for inbound transmission can include a user ID field. That is, the SLC PDU of the terminal 100 can include a user ID field. The user ID field can carry the user ID of the terminal 100. As shown in FIG. 6, the data for inbound transmission of the terminal 100 at the AP layer can include a device number field. The device number field can be used to identify different devices under the same user ID. After the data packet of the AP is delivered to the MDCP layer, it can be a MDCP SDU. The terminal 100 can divide the MDCP SDU into one or more MDCP PDUs. The terminal 100 can deliver the MDCP PDU to the SLC layer as a SCL SDU. Then, the terminal 100 can divide the SLC SDU into one or more SLC PDUs. The one or more SLC PDUs can include a user ID field.
[0221] Currently, multiple terminals can use the same user ID. Taking the user ID as a mobile phone number as an example, multiple terminals (for example, a mobile phone, a tablet, a watch, and the like) of the same user can use the mobile phone number as the user ID. The multiple terminals of the same user can send satellite messages, and each terminal carries a corresponding device number in the device number field of the data packet at the AP layer. At the SLC layer, the user ID carried in the user ID field of the data packet sent by the multiple terminals of the same user is the same. Taking a mobile phone and a watch of the same user as an example, at the SLC layer, the user ID carried in the user ID field of the data packet sent by the mobile phone is the same as the user ID carried in the user ID field of the data packet sent by the watch.
[0222] Since the current satellite communication system also supports multi-frame transmission, that is, one SLC SDU can be divided into multiple SLC PDUs for transmission. At the same time, multiple terminals under a single user ID can transmit satellite messages. In this way, when the time of multiple terminals under the same user ID sending multiple frames of data overlaps, the satellite network device determines the sending terminal of the multiple frames of data only by the user ID carried in the user ID field when receiving the multiple frames of data packets at the SLC layer. In this way, it can cause the satellite network device to incorrectly assemble packets at the SLC layer. Exemplarily, as shown in FIG. 7, the mobile phone can send multiple SLC PDUs, such as SLC PDU00, SLC PDU01, SLC PDU02, and SLC PDU03, to the satellite network device. When the multiple SLC PDUs sent by the mobile phone are transmitted to the satellite network device, the watch also sends multiple SLC PDUs, such as SLC PDU10, SLC PDU11, SLC PDU12, and SLC PDU13, to the satellite network device. Since the user IDs of the mobile phone and the watch are the same, the satellite network device determines whether the multiple SLC PDUs are sent by the same terminal only by the user ID at the SLC layer. In this way, when the time of multiple frames of data sent by the mobile phone and the watch overlaps, the satellite network device cannot distinguish the SLC PDUs sent by the mobile phone from the SLC PDUs sent by the watch only according to the user ID at the SLC layer. The satellite network device can assemble the SLC PDUs sent by the mobile phone and the SLC PDUs sent by the watch into an SLC SDU at the SLC layer. For example, the satellite network device can assemble SLC PDU00, SLC PDU02, SLC PDU03 sent by the mobile phone and SLC PDU11 sent by the watch into an SLC SDU. Thus, the satellite messages sent by the mobile phone and the watch are both transmitted unsuccessfully.
[0223] For downlink transmission, for example, ACK of SLC layer feedback by satellite network device to terminal or data sent by satellite network device to terminal. When multiple terminals of the same user ID all have received data, since the user ID of data sent by satellite network device to multiple terminals is the same, it will cause multiple terminals to possibly receive errors. For example, watch receives data sent by satellite network device to mobile phone. When the watch parses the data packet at the AP layer, there can be no key to unpack.
[0224] In order to avoid or reduce the packet error caused by transmission conflict, transmission failure, embodiments of the present application provide a communication method, which can include: first, the first terminal generates a first data packet. Then, the first terminal determines a second ID according to the first ID, wherein the user ID of one or more terminals is the first ID, and the first terminal is included in the one or more terminals, and the second ID is used to identify the first terminal in the one or more terminals. Next, the first terminal can determine one or more second data packets according to the first data packet, and the one or more second data packets contain the second ID. Specifically, the first terminal can split the first data and add a packet header to obtain one or more second data packets. Then, the first terminal sends one or more second data packets to the first satellite network device. The first satellite network device can receive multiple data packets, and the multiple data packets include one or more second data packets. The first satellite network device can group one or more second data packets into a first data packet based on the second ID. The first satellite network device sends the first data packet to the second satellite network device. Finally, the second satellite network device receives the first data packet and determines that the user ID of the terminal sending the first data packet is the first ID. Wherein, the way for the second satellite network device to correctly determine that the user ID of the terminal sending the first data packet is the first ID can be that the first satellite network device sends the second ID to the second satellite, and determines that the user ID of the terminal sending the first data packet is the first ID according to the second ID, or the first satellite network device can send the first ID to the second satellite after determining that the user ID of the terminal sending the first data packet is the first ID according to the second ID.
[0225] Wherein, the first satellite network device can be used to be responsible for protocol processing of PHY layer, SLC layer and MDCP layer. The second satellite network device can be used to be responsible for protocol processing of AP layer. For example, the first satellite network device can be the satellite network device 22 shown in FIG. 1. The second satellite network device can be the satellite network device 23 shown in FIG. 1. Optionally, the first satellite network device can also support part of processing functions of AP layer, for example, support verification of authentication code.
[0226] The first terminal can be the terminal 100 shown in FIG. 1. The first data packet can be the data packet 1 mentioned above, and the second data packet can be the data packet 2 mentioned above.
[0227] In this way, the satellite network device responsible for protocol processing of the SLC layer receives one or more data packets sent by the terminal, and can packetize based on the second ID. When multiple terminals under the same user ID simultaneously transmit data to the satellite network device, since the multiple terminals have the same user ID but different IDs carried in the user ID field, the satellite network device of the SLC layer can distinguish the terminal that transmits the data based on the ID carried in the user ID field. In this way, when multiple terminals of the same user ID have transmission conflicts, the satellite network device of the SLC layer can also correctly packetize. Thus, the success rate of the terminal transmitting satellite messages is improved.
[0228] A communication method provided by an embodiment of the present application will be described below with reference to the accompanying drawings.
[0229] FIG. 8 schematically shows a flowchart of a communication method provided by an embodiment of the present application. As shown in FIG. 8, the communication method provided by an embodiment of the present application can include the following steps:
[0230] S801. The terminal 100 generates a data packet 1.
[0231] When the terminal 100 needs to send a satellite message, the terminal 100 can encapsulate the original message to be sent into a data packet 1 at the AP layer. How the terminal 100 generates the data packet 1 can be referred to the description of FIG. 2 above, which will not be described here again.
[0232] In the embodiment of the present application, the terminal 100 includes but is not limited to a mobile phone, a tablet, a watch, and other terminals with satellite communication capabilities.
[0233] S802. The terminal 100 determines a second ID according to a first ID, the first ID being a user identifier of the terminal 100, the terminal 100 belonging to one or more terminals, and the user identifiers of the one or more terminals being the same.
[0234] The user identifier of the terminal 100 is the first ID. The terminal 100 belongs to one or more terminals, and the user identifiers of the one or more terminals are the same. For example, a user can have multiple terminals, and the multiple terminals can have a common user identifier. Taking a mobile phone number as an example, the user's mobile phone, watch, tablet, and other terminals can use the mobile phone number as the user ID for satellite message transmission. For another example, the first ID can be an ID of an Internet application account (such as a QQ number, a WeChat number, etc.), and the application can support multiple terminal devices to log in and transmit satellite messages.
[0235] The terminal 100 can determine the second ID according to the first ID, which can be used to identify the terminal 100 among one or more terminals whose user identification is the first ID. Wherein, the second ID is carried in the data packet 2 generated by the terminal 100 based on the data packet 1. For example, when the terminal 100 sends the data packet 2, the user ID field in the data packet 2 header carried in the data packet sent by the terminal 100 carries information that is not the first ID, but the determined second ID (the determined second ID can be the same as the value of the first ID, or can be different), so that the satellite network equipment receiving can distinguish that the terminal currently sending the data packet 2 is the terminal 100 under the user ID of the first ID, rather than other terminals under the first ID. That is, by assigning different IDs to different terminals under the first ID, the satellite network equipment can distinguish that the data packets sent by different terminals are respectively packaged by the ID information carried in the header when receiving the data packets sent by multiple terminals under the first ID at the same time. For specific description of the data packet 2, please refer to the description of step S803 below, which will not be repeated here.
[0236] In a possible implementation, the second ID can be used for the satellite network equipment 22 to package one or more data packets 2 into a data packet 1. Specifically, the satellite network equipment 22 can determine that the received one or more data packets 2 can be packaged according to the second ID included in the data packet 2, for example, through the second ID carried in the SLC layer header. More can refer to steps S805 and S806, which will not be repeated here.
[0237] In a possible implementation, the second ID can be used by the satellite network device 22 to determine the user identity of the terminal sending the data packet 1 as the first ID, and / or used by the satellite network device 23 to determine the user identity of the terminal sending the data packet 1 as the first ID. For example, the satellite network device 22 can determine the first ID according to the second ID carried in the user identity IE of the data packet 2 used to compose the data packet 1, and the first ID can be subsequently sent to the satellite network device 23 together with the data packet 1, for the satellite network device 23 to determine the user identity of the terminal sending the data packet 1 as the first ID. For another example, the satellite network device 23 can receive the data packet 1 sent by the satellite network device 22 and the corresponding second ID, and the satellite network device 23 can determine the user identity of the terminal sending the data packet 1 as the first ID according to the second ID. For yet another example, the satellite network device 22 can determine the user identity of the terminal sending the data packet 1 as the first ID according to the second ID carried in the user identity IE of the data packet 2 used to compose the data packet 1; the satellite network device 23 can receive the data packet 1 sent by the satellite network device 22 and the corresponding second ID, and the satellite network device 23 can determine the user identity of the terminal sending the data packet 1 as the first ID according to the second ID. The satellite network device 22 and the satellite network device 23 can respectively determine the user identity of the terminal sending the data packet 1, which is not limited herein.
[0238] In a possible implementation, the second ID can be used to distinguish the data packet 2 sent by the terminal 100 from one or more terminals with the user identity of the first ID. Specifically, the satellite network device 22 can receive one or more data packets 2 sent by other terminals (not the terminal 100) under the first ID at the same time, and the data packet 2 includes a third ID determined by the other terminals based on the first ID. The satellite network device 22 can respectively group the data packets 2 according to whether the second ID or the third ID is carried in the header of the received one or more data packets 2, to avoid grouping errors.
[0239] In a possible implementation, the header of the one or more data packets 2 includes a user ID field 1, and the user ID field 1 carries the second ID determined according to the first ID.
[0240] In a possible implementation, the second ID corresponds to a decimal number greater than the decimal number corresponding to the first ID, and the second ID corresponds to a decimal number less than the maximum decimal number supported by the user ID field 1. Taking the first ID as a mobile phone number and the length of the user ID field 1 as 37 bits as an example. The decimal number corresponding to the first ID is the mobile phone number, for example, the mobile phone number can be “10000000000”. The maximum decimal number supported by the user ID field 1 is 2 37-1 = 137438953471. That is, the decimal number corresponding to the second ID is greater than 10000000000 and less than 137438953471.
[0241] Optionally, in a possible implementation, the decimal number corresponding to the second ID is less than or equal to the decimal number corresponding to the user ID. For example, if the decimal number corresponding to the first ID is "10000000000". The decimal number corresponding to the second ID is less than or equal to 10000000000, for example, the decimal number corresponding to the second ID can be 10000000000, or 9000000000, etc.
[0242] Optionally, in a possible implementation, the decimal number corresponding to the second ID is equal to the maximum decimal number supported to be carried in the user ID field 1. For example, taking the length of the user ID field 1 as 37 bits as an example, the maximum decimal number supported to be carried in the user ID field 1 is 2 37 -1 = 137438953471. That is, the decimal number corresponding to the second ID can be 137438953471.
[0243] In a possible implementation, the terminal 100 determines the second ID according to the first ID, which can include that the terminal 100 determines the second ID according to the device identifier corresponding to the terminal 100 and the first ID. Specifically, the terminal 100 can determine an ID set according to the first ID, and the second ID is a value in the set. The size of the ID set, that is, the number of IDs included in the set, is related to the selection of the set. When the size of the ID set is less than the number of terminal devices included in the first ID, since different terminal devices can select the same second ID, it is still possible that different devices transmit at the same time and cause packet errors, but the probability is greatly reduced compared with using the first ID. When the size of the ID set is greater than or equal to the number of terminal devices included in the first ID, different terminal devices under the first ID can select different IDs, thereby completely avoiding packet errors. For example, the second ID can be determined by the device identifier corresponding to the terminal 100 and the first ID. For example, the size of the ID set determined according to the first ID is 4, and if the current device identifier is 7, the third ID in the set can be selected as the second ID by device identifier 7 mod ID set size 4 = 3. Wherein, mod is a modulus operator. For another example, the size of the ID set determined according to the first ID is 8, and if the current device identifier is 7, the seventh ID in the set can be selected as the second ID. For another example, the second ID corresponding to the first ID can be determined according to the device identifier according to other rules. When the number of IDs in the ID set is greater than or equal to the number of user terminal devices under the first ID, the determination method can uniquely determine a second ID, thereby avoiding different device identifiers determining the same second ID, causing the receiving satellite network device to be unable to distinguish whether the received data packet is the data packet sent by the terminal 100, and causing packet errors. Alternatively, the terminal 100 can determine the second ID according to the first ID without determining according to the device identifier. An ID set can be determined according to the first ID, and a second ID can be randomly selected from the set. Due to the random selection characteristics of different terminals, the determination method can reduce the probability that the second IDs determined by different devices of the same user ID are the same, and at the same time, at the receiving satellite network device side, it can support the scenario that multiple terminal devices under the same user ID maintain the same secret key, and has wider applicability.
[0244] Optionally, in a possible implementation, the terminal 100 determines the second ID from the first ID according to a first rule, which can include that the terminal 100 inserts a first value between the first digit and the second digit in the decimal number corresponding to the user ID to obtain a second value; and the terminal 100 converts the second value from decimal to binary to obtain the second ID.
[0245] The first value is determined by the device identifier of the terminal 100 and / or the maximum number of terminals corresponding to the first ID, and the first value is an integer greater than or equal to 0. The maximum number of terminals corresponding to the first ID is the size of the ID set determined by the first ID.
[0246] Further, in a possible implementation, the maximum number of terminals corresponding to the first ID is determined by the maximum decimal number supported by the user ID field and the decimal number corresponding to the first ID.
[0247] In some examples, considering that the first ID is an 11-digit decimal mobile phone number, that is, the decimal number corresponding to the first ID can be any one of 0-99999999999, a total of 100000000000 numbers. The maximum decimal number supported by the user ID field is 2 37 -1=137438953471. The decimal number supported by the user ID field is 0-137438953471, a total of 137438953472 numbers. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, a possible solution is that in the 137438953472 decimal numbers, in addition to the value corresponding to the first ID, the numbers 100000000000-137438953471, a total of 37438953472 numbers, can be used as the second ID. Considering that the highest bit of the current first ID corresponding to the mobile phone number is 1, the 37438953472 numbers can represent at most 3 eleven-digit numbers with the same last ten digits. In this way, the maximum number of terminals corresponding to the first ID can be 4, indicating that the size of the ID set under the same user identifier can be 4, including the value corresponding to the first ID and the three values greater than 100000000000.
[0248] In some examples, when the maximum number of terminals corresponding to the first ID is 4, it indicates that the first value can take 3 values, for example, 0, 1, 2, that is, the first value can be any one of 0, 1, 2.
[0249] Exemplarily, the device identifier of the terminal 100 can be the device number of the terminal 100.
[0250] In a possible implementation, the first value can be equal to the device number of the terminal 100. For example, the device number of the terminal 100 can be "1". The first value can be "1".
[0251] Optionally, in another possible implementation, the device number of the terminal 100 can determine which value of the possible values of the first value is selected. For example, when the maximum number of terminals corresponding to the first ID is "4" and the device number of the terminal 100 is "1", it indicates that the first value is the first value of the three possible values (e.g. 0, 1, 2), i.e. the first value can be 0, or the second ID takes the value of the first ID. For another example, the first value can be the device number of the terminal 100 mod the maximum number 4. For example, the device number of the terminal 100 is "5". After the mod, the result is 1, and the second ID takes the value of the first ID. The device number of the terminal 100 is "7". After the mod, the result is 3, and the selected first value is "2". For another example, the first value can be the device number of the terminal 100 mod the number of values 3. For example, the device number of the terminal 100 can be "5". The first value can be "1".
[0252] For example, the decimal number corresponding to the first ID is "10000000000", and the first value is "1". The terminal 100 can insert the first value "1" between the first digit "1" and the second digit "0" of "10000000000" to obtain the second value "110000000000". Then, the terminal 100 can convert the second value "110000000000" from the decimal number to the binary number to obtain the second ID "1100110011100100000101100110000000000". The terminal 100 can also take the first ID "10000000000" as the second ID. If the second ID is less than 37 bits, the second ID obtained by padding the high bits with "0" is "0 0000 0100 0000 0000 0000 0000 0000 0000 0000".
[0253] It can be understood that the embodiments of the present application do not limit the decimal number corresponding to the first ID, the device number of the terminal 100, the maximum number of terminals corresponding to the first ID, and the specific value of the first value.
[0254] In a possible implementation, when the length of the user ID field 1 is 37 bits, the converted binary number is less than 37 bits, and 0s can be added to the high bits. Since "1001010100000010111110010001100100" has only 34 bits, which is less than 37 bits, 0s are added to the high bits. Then, the terminal 100 can add 3 0s to the high bits of "1001010100000010111110010001100100" to obtain "0001001010100000010111110010001100100". That is, the terminal 100 can finally determine that the second ID is "0001001010100000010111110010001100100".
[0255] In a possible implementation, the terminal 100 can determine the second ID according to the first rule and the first ID, and the first rule can include that the terminal 100 obtains the second ID according to the decimal number corresponding to the first ID and a first constant, where the first constant is less than the maximum decimal number supported to be carried in the user ID field.
[0256] Further, in a possible implementation, the terminal 100 obtains the second ID according to the decimal number corresponding to the first ID and the first constant, which can include that the terminal 100 adds the first constant to the decimal number corresponding to the first ID to obtain a fifth value, and the terminal 100 converts the fifth value from the decimal system to the binary system to obtain the second ID. For example, the decimal number corresponding to the first ID is "10000000000", and the first constant is "100", so the fifth value is "10000000100" (i.e., 10000000100=10000000000+100). Then, the terminal 100 converts the fifth value "10000000100" from the decimal system to the binary system to obtain "1001010100000010111110010001100100". That is, the second ID is "1001010100000010111110010001100100". For another example, the decimal number corresponding to the first ID is "10000000000", and the first constant is "0", so the third value is "10000000000", which is less than 37 bits, and 0s are added to the high bits to obtain "0001001010100000010111110010001100100".
[0257] In a possible implementation, the terminal 100 obtains the second ID according to the decimal number corresponding to the first ID and the first constant, which can include: the terminal 100 adds the first constant to the decimal number corresponding to the first ID to obtain a fifth value; and the terminal 100 inserts a first value between the first digit and the second digit of the fifth value to obtain a sixth value.
[0258] For example, the decimal number corresponding to the first ID is "10000000000", the first constant is "100", and the first value is "1". Then the fifth value is "10000000100" (i.e. 10000000100 = 10000000000 + 100). The terminal 100 inserts the first value "1" between the first digit "1" and the second digit "0" of the fifth value "10000000100" to obtain the sixth value "110000000100". The terminal 100 can convert the sixth value "11000000100" from decimal to binary to obtain "1100110011100100000101100110001100100". That is, the second ID is "1100110011100100000101100110001100100".
[0259] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9, the values in the ID set for selecting the second ID, except the first ID, can be calculated based on the following formula 1: L = 10 11 + (n1-1) × 10 10 +XXXXXXXXXX+m1 (formula 1)
[0260] In formula 1, L represents the decimal number corresponding to the ID set except the first ID, the value of n1 is determined by the maximum number of terminals corresponding to the first ID, or by the device number of the terminal corresponding to the first ID, or by the size of the ID set determined by the first ID, and m1 is a constant.
[0261] For example, the value of n1 is equal to the size of the ID set determined by the first ID minus one, where the second ID corresponding to the first ID belongs to the ID set. Then, when the size of the ID set corresponding to the first ID, or the maximum number of terminals corresponding to the first ID, is 4, the value of n1 in formula 1 can be equal to any of 1, 2, and 3.
[0262] m1 is less than the maximum decimal number supported by the user ID field 1. m1 is any number from 0 to 7438953472.
[0263] For example, the decimal number corresponding to the first ID is "10000000000", i.e. "XXXXXXXXXX" is "0000000000"; m=0 is taken as an example. When n1=1, L=10 11 + (1-1) x 10 10 +0000000000+0=100000000000; when n1=2, L=10 12 + (2-1) x 10 11 +0000000000+0=110000000000; when n1=3, L=10 11 + (3-1) x 10 10 +0000000000+0=120000000000. Thus, the ID set for the first ID "100 0000 0000" is {100 0000 0000, 1000 0000 0000, 1100 0000 0000, 1200 0000 0000}. For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", when m1=0, the corresponding ID set can be determined as {1XX XXXX XXXX, 10XX XXXX XXXX, 11XX XXXX XXXX, 12XX XXXX XXXX}.
[0264] Alternatively, the decimal number corresponding to the second ID of the terminal 100 can be any one of the corresponding ID set. For example, the decimal number corresponding to the first ID is "100 0000 0000", in some possible examples, the decimal number corresponding to the second ID of the terminal 100 can be any one of "100000000000", "110000000000", "120000000000", "100 0000 0000". For example, one is randomly selected from the ID set as the second ID of the terminal 100 by means of random selection.
[0265] Optionally, the decimal number corresponding to the second ID of the terminal 100 can be determined based on the corresponding device number. For example, the first ID corresponds to three terminals, i.e., the user identifiers of the three terminals are all the first ID, and the three terminals can be divided into the terminal 100, the terminal 300, and the terminal 400. The terminal 100, the terminal 300, and the terminal 400 can determine the decimal number corresponding to the second ID based on the corresponding device number. The terminal can take the modulus of the first ID supported ID set size based on the corresponding device number to determine which value in the ID set is selected as the second ID. For example, multiple terminal devices obtain the same value after taking the modulus, and the second ID selected based on the device number can be the same value. When the number of real terminals under the first ID is less than the ID set size supported by the first ID, the modulus calculation can not be performed, and the sequence can be allocated. Taking the decimal number corresponding to the first ID as "100 0000 0000" as an example, the ID set corresponding to the second ID can be {100 0000 0000, 1000 0000 0000, 1100 0000 0000, 1200 0000 0000}. If the device number of the terminal 100 is 0, the device number of the terminal 300 is 1, and the device number of the terminal 400 is 2, then the decimal number corresponding to the second ID of the terminal 100 is "10000000000", the decimal number corresponding to the second ID of the terminal 300 is "1000 00000000", and the decimal number corresponding to the second ID of the terminal 400 is "1100 00000000". When the ID set is determined, the method for determining the second ID based on the corresponding device number is suitable for the following multiple ID set determination methods, and the method for determining the second ID after the ID set is determined can be referred to herein.
[0266] In the embodiment of the application, the other ID determined by the terminal 300 according to the first ID can be referred to as the second ID of the terminal 300, or referred to as the third ID. The other ID determined by the terminal 400 according to the first ID can be referred to as the second ID of the terminal 400, or referred to as the fourth ID. The embodiment of the application does not limit this.
[0267] Optionally, in a possible implementation, the terminal 100 can determine the second ID according to the first ID and the first rule, and the first rule can include that the terminal 100 obtains the second ID according to the maximum decimal number supported by the user ID field 1 and the decimal number corresponding to the first ID.
[0268] Further, in a possible implementation, the terminal 100 can obtain the second ID according to the maximum decimal number supported by the user ID field 1 to carry and the decimal number corresponding to the first ID, which can include: the terminal 100 subtracts the decimal number corresponding to the first ID from the maximum decimal number supported by the user ID field 1 to carry, to obtain a seventh value; and the terminal 100 converts the seventh value from decimal to binary to obtain the second ID. For example, taking the length of the user ID field 1 as 37 bits, the maximum decimal number supported by the user ID field 1 to carry is 2 37 -1=137438953471. If the decimal number corresponding to the first ID is "10000000000", the seventh value is 127438953471 (i.e. 137438953471-10000000000=127438953471). Then, the terminal 100 converts 127438953471 from decimal to binary to obtain "1110110101011111101000001101111111111", i.e. the second ID is "1110110101011111101000001101111111111".
[0269] Optionally, in a possible implementation, the terminal 100 can determine the second ID according to the first rule and the first ID, which can include: the terminal 100 obtains the second ID according to the maximum decimal number supported by the user ID field 1 to carry, the decimal number corresponding to the first ID and a first constant.
[0270] Further, in a possible implementation, the terminal 100 can obtain the second ID according to the maximum decimal number supported by the user ID field 1 to carry, the decimal number corresponding to the first ID and a first constant, which can include: the terminal 100 subtracts the decimal number corresponding to the first ID from the maximum decimal number supported by the user ID field 1 to carry, and then adds the first constant to obtain an eighth value; and the terminal 100 converts the eighth value from decimal to binary to obtain the second ID.
[0271] For example, taking the length of the user ID field as 37 bits, the maximum decimal number supported by the user ID field 1 to carry is 2 37-1=137438953471. Take the first ID corresponding to the decimal number "10000000000" and the first constant 7438953472 as an example, the sixth value is "134877906943" (137438953471-10000000000+7438953472=134877906943). Then, the terminal 100 converts the sixth value, i.e., "134877906943" from decimal to binary, and obtains "1111101100111010110011000011111111111". That is, the second ID is "1111101100111010110011000011111111111".
[0272] Optionally, in a possible implementation, the terminal 100 obtains the second ID according to the maximum decimal number supported by the user ID field 1, the decimal number corresponding to the first ID and the first constant, which can include: the terminal 100 subtracts the first ID corresponding to the decimal number from the maximum decimal number supported by the user ID field 1, and then subtracts the first constant to obtain a ninth value; the terminal 100 converts the ninth value from decimal to binary to obtain the second ID.
[0273] For example, taking the length of the user ID field as 37 bits as an example, the maximum decimal number supported by the user ID field 1 is 2 37 -1=137438953471. Take the first ID corresponding to the decimal number "10000000000" and the first constant 7438953472 as an example, the sixth value is "134877906943" (137438953471-10000000000+7438953472=134877906943). Then, the terminal 100 converts the sixth value, i.e., "134877906943" from decimal to binary, and obtains "1111101100111010110011000011111111111". That is, the second ID is "1111101100111010110011000011111111111".
[0274] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9. The values in the ID set used for selecting the second ID can be calculated based on the following formula 2, except for the first ID: L=2 37 -n1×10 10+XXXXXXXXXX-m1(Formula 2)
[0275] In Formula 2, L represents the decimal number corresponding to the ID set excluding the first ID, the value of n1 is determined by the maximum number of terminals corresponding to the first ID, the device number of the terminal corresponding to the first ID, or the size of the ID set determined by the first ID, and m1 is a constant.
[0276] One possible way to determine n1 is to take the value of the size of the ID set determined by the first ID minus one, where the second ID corresponding to the first ID belongs to that ID set. Therefore, when the size of the ID set corresponding to the first ID, or the maximum number of terminals corresponding to the first ID, is 4, n1 in Formula 2 can be equal to any value among 1, 2, and 3.
[0277] In Formula 2, m1 is a decimal number less than the maximum number that the User ID field 1 can carry. m1 can be any value from 0 to 7438953472.
[0278] For example, taking the decimal number corresponding to the first ID as "10000000000", that is, "XXXXXXXXXX" as "0000000000", and m=0 as an example. When n1=1, L=2 37 -1×10 10 +0000000000-0=127438953472;When n1=2, L=2 37 -2×10 10 +0000000000-0=117438953472;When n1=3, L=2 37 -3×10 10 +0000000000-0 = 107438953472. Therefore, the set of IDs for the first ID "100 0000 0000" is {100 0000 0000, 1274 3895 3472, 1174 3895 3472, 1074 3895 3472}. For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the corresponding set of IDs can be determined as {1XX XXXX XXXX, 2...}. 37 -1×10 10 +XXXXXXXXXX-m1,2 37 -2×10 10 +XXXXXXXXXX-m1,2 37 -3×10 10 +XXXXXXXXXX-m1}.
[0279] Optionally, the decimal number corresponding to the second ID of the terminal 100 can be any one of the ID set. For example, the decimal number corresponding to the second ID of the terminal 100 can be any one of "127438953472", "117438953472", "107438953472" when the decimal number corresponding to the first ID is "100 0000 0000". For example, one ID is randomly selected from the ID set as the second ID of the terminal 100 by a random selection manner. Optionally, the decimal number corresponding to the second ID of the terminal 100 can be determined based on the corresponding device number. The specific determination method can refer to the above-mentioned scheme, which is not described here.
[0280] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9. The value of the ID set for the second ID selection, except the first ID, can be calculated based on the following formula 3: L = 2 37 -(n1-1)×10 10 -XXXXXXXXXX-m1(3)
[0281] In formula 3, L represents the decimal number corresponding to the ID set except the first ID, the value of n1 is determined by the maximum number of terminals corresponding to the first ID or the device number of the terminal corresponding to the first ID or the size of the ID set determined by the first ID, and m1 is a constant.
[0282] For example, one possible determination manner of n1 is that the value of n1 is the size of the ID set determined by the first ID minus one, where the second ID corresponding to the first ID belongs to the ID set. Then, when the size of the ID set corresponding to the first ID, or the maximum number of terminals corresponding to the first ID, is 4, n1 in formula 3 can be equal to any one of 1, 2, and 3. m1 in formula 3 is less than the maximum decimal number supported by the user ID field 1. m1 is any one of 0-7438953472.
[0283] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {1XX XXXX XXXX, 2 37 -XXXXXXXXXX-m1, 2 37 -1×10 10 -XXXXXXXXXX-m1, 2 37 -2×10 10-XXXXXXXXXX-m1}. The second ID can be further determined based on the ID set. More determination methods and examples can refer to the above-mentioned solutions, which will not be described here.
[0284] In some examples, the first ID is an 11-digit decimal mobile phone number, and the highest bit of the mobile phone number corresponding to the current first ID is 1, i.e., the decimal number corresponding to the first ID can be any one of 0-19999999999, a total of 20000000000. Considering that the maximum decimal number supported by the user ID field is 2 37 -1=137438953471. The decimal number supported by the user ID field is 0-137438953471, a total of 137438953472. Since the first ID is an 11-digit decimal number, in order to avoid the conflict between the determined second ID and other user IDs, one possible solution is that in addition to the value corresponding to the first ID, the number used as the second ID in the 137438953472 decimal numbers is 20000000000-137438953471, a total of 117438953472. Considering that the highest bit of the mobile phone number corresponding to the current first ID is 1, the 117438953472 numbers include 11 eleven-digit numbers with the same last ten digits. In this way, the maximum number of terminals corresponding to the first ID can be 12, indicating that the size of the ID set under the same user identifier can be 12, including the value corresponding to the first ID and the 11 values in the interval 20000000000-137438953471.
[0285] In a possible implementation, when the maximum number of terminals corresponding to the first ID is 11, n1 in formula 2 or formula 3 can be equal to any one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and 11. The other values in the ID set corresponding to the first ID, except the first ID, can be determined by formula 2 or formula 3. More descriptions can refer to the description of formula 2 or formula 3.
[0286] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9. The values in the ID set for the second ID selection, except the first ID, can be calculated based on the following formula 4: 10 +(n1-1)×10 10 +XXXXXXXXXX+m1 (formula 4)
[0287] In formula 4, L represents a decimal number corresponding to the ID set except the first ID, n1 is determined by the maximum number of terminals corresponding to the first ID or by the equipment number of the terminal corresponding to the first ID or by the size of the ID set determined by the first ID, and m1 is a constant.
[0288] In formula 4, L represents a decimal number corresponding to the ID set except the first ID, n1 is determined by the maximum number of terminals corresponding to the first ID or by the equipment number of the terminal corresponding to the first ID or by the size of the ID set determined by the first ID, and m1 is a constant.
[0289] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {1XX XXXX XXXX, 2×10 10 +XXXXXXXXXX+m1, 2×10 10 +1×10 10 +XXXXXXXXXX+m11, …, 2×10 10 +10 11 +XXXXXXXXXX+m1}. The second ID can be further determined based on the ID set. More determination methods and examples can be referred to the above-mentioned solutions, which will not be described here.
[0290] In some other examples, it is considered that the first ID is an 11-digit decimal mobile phone number and the highest bit of the mobile phone number corresponding to the first ID is 1, i.e., the decimal number corresponding to the first ID can be any one of 0-19999999999, a total of 20000000000. Considering that the maximum decimal number supported by the user ID field is 2 37-1=137438953471. The user ID field supports carrying 137438953472 numbers in the range of 0-137438953471. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, one possible solution is that, in the 137438953472 decimal numbers, in addition to the value corresponding to the first ID, the numbers 20000000000-137438953471, i.e., 117438953472 numbers, can be used as the second ID. Considering that the current mobile phone number corresponding to the first ID occupies 20000000000 numbers in the range of 0-19999999999, the remaining 117438953472 numbers can include at most 5 sets of the same size. In this way, the maximum number of terminals corresponding to the first ID can be 6, indicating that the size of the ID set under the same user ID can be 6, including the value corresponding to the first ID and 5 values in the range of 20000000000-137438953471.
[0291] In one possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9. Then, in addition to the first ID, the values in the ID set for selecting the second ID can be calculated based on the following formula 5: L=2 37 -2n1×10 10 +1XXXXXXXXXX-m2 (Formula 5)
[0292] In formula 5, L represents the decimal number corresponding to the first ID, n1 is determined by the maximum number of terminals corresponding to the first ID or by the device number of the terminal corresponding to the first ID or by the size of the ID set determined by the first ID, and m2 is a constant.
[0293] One possible determination of n1 is that the value of n1 is the size of the ID set determined by the first ID minus one, where the second ID corresponding to the first ID belongs to the ID set. Then, when the size of the ID set corresponding to the first ID, or the maximum number of terminals corresponding to the first ID, is 6, n1 in formula 5 can be equal to any one of 1, 2, 3, 4, and 5.
[0294] m2 in formula 5 is less than the maximum decimal number supported by the user ID field 1. m2 is any value in the range of 0-17438953472.
[0295] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {1XX XXXX XXXX, 2 37 -2x10 10 +1XXXXXXXXXX-m2, 2 37 -2x10 10 +1XXXXXXXXXX-m2, …, 2 37 -10 11 +1XXXXXXXXXX-m2}. The second ID can be further determined based on the ID set. More determination methods and examples can refer to the above-mentioned solutions, which will not be described here.
[0296] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9, the values in the ID set for selecting the second ID, except the first ID, can be calculated based on the following formula 6: L=2 37 -2(n1-1)x10 10 -1XXXXXXXXXX-m2 (formula 6)
[0297] In formula 6, L represents the decimal number corresponding to the ID set except the first ID, the value of n1 is determined by the maximum number of terminals corresponding to the first ID or the device number of the terminal corresponding to the first ID or the size of the ID set determined by the first ID, and m2 is a constant.
[0298] The specific values or determination methods of n1 and m2 in formula 6 can refer to the description in formula 5 above, which will not be described here.
[0299] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {1XX XXXX XXXX, 2 37 -1XXXXXXXXXX-m2, 2 37 -2x10 10 -1XXXXXXXXXX-m2, …, 2 37 -8x10 10 -1XXXXXXXXXX-m2}. The second ID can be further determined based on the ID set. More determination methods and examples can refer to the above-mentioned solutions, which will not be described here.
[0300] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9. The values in the ID set for the second ID selection, except the first ID, can be calculated based on the following formula 7: L = n1x2x10 10 +1XXXXXXXXXX+m2 (formula 7)
[0301] In formula 7, L represents the decimal number corresponding to the ID set except the first ID. 2x10 10 represents the total number of user IDs supported by the user ID field 1. The value of n1 is determined by the maximum number of terminals corresponding to the first ID, or determined by the equipment number of the terminal corresponding to the first ID, or determined by the size of the ID set determined by the first ID, and m2 is a constant.
[0302] The specific values and determination methods of n1 and m2 in formula 7 above can refer to the description in formula 5 above, which will not be repeated here.
[0303] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {1XX XXXX XXXX, 2x10 10 +1XXXXXXXXXX+m2, 4x10 10 +1XXXXXXXXXX+m2, …, 10x10 10 +1XXXXXXXXXX+m2} The second ID can be further determined based on the ID set. More determination methods and examples can refer to the above-described solutions, which will not be repeated here.
[0304] In some other examples, it is considered that the first ID is an 11-digit decimal mobile phone number, and the highest bit of the mobile phone number corresponding to the current first ID is 1, that is, the decimal number corresponding to the first ID can be any one of 10000000000-19999999999, a total of 10000000000. Considering that the maximum decimal number supported by the user ID field is 2 37-1=137438953471. The user ID field supports carrying 137438953472 numbers in total in the range of 0-137438953471. Since the first ID is an 11-digit decimal number, in order to avoid the determined second ID from conflicting with other user IDs, one possible solution is that, in the 137438953472 decimal numbers, in addition to the value corresponding to the first ID, the numbers that can be used as the second ID are 0-9999999999, 20000000000-137438953471, a total of 127438953472 numbers. Considering that the highest bit of the mobile phone number corresponding to the current first ID is 1, the 127438953472 numbers include 12 eleven-digit numbers with the same last ten digits. In this way, the maximum number of terminals corresponding to the first ID can be 13, indicating that the size of the ID set under the same user ID can be 13, including the value corresponding to the first ID and the 12 values in the range of 0-9999999999 and 20000000000-137438953471.
[0305] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9. The value in the ID set for selecting the second ID can be calculated based on the following formula 8: L=(n1-1)×10 10 +XXXXXXXXXX-m1 (formula 8)
[0306] In formula 8, L represents the decimal number in the ID set, the value of n1 is determined by the maximum number of terminals corresponding to the first ID or by the device number of the terminal corresponding to the first ID or by the size of the ID set determined by the first ID, and m1 is a constant.
[0307] Wherein, one possible determination of n1 is that the value of n1 is the size of the ID set determined by the first ID, and the second ID corresponding to the first ID belongs to the ID set. Then, when the size of the ID set corresponding to the first ID, or the maximum number of terminals corresponding to the first ID, is 13, n1 in formula 8 can be equal to any value in 1, 2, 3,..., 13. m1 in formula 8 is less than the maximum decimal number supported by the user ID field 1. m1 is any value in 0-7438953472.
[0308] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {XX XXXX XXXX, 1XX XXXX XXXX, 2XX XXXX XXXX,..., 12XX XXXX XXXX}. The second ID can be further determined based on the ID set. More determination methods and examples can refer to the above-mentioned solutions, which will not be described here.
[0309] In a possible implementation, when the decimal number corresponding to the first ID is "1XXXXXXXXXX", where "XXXXXXXXXX" represents the last ten digits of the decimal number corresponding to the first ID, and different "X"s can represent the same or different decimal numbers 0-9, the value in the ID set for selecting the second ID can be calculated based on the following formula 9: L = 2 37 -(n1-1) x 10 10 -XXXXXXXXXX-m1 (formula 9)
[0310] In formula 9, L represents the decimal number in the ID set, the value of n1 is determined by the maximum number of terminals corresponding to the first ID or by the device number of the terminal corresponding to the first ID or by the size of the ID set determined by the first ID, and m1 is a constant.
[0311] The specific values or determination methods of n1 and m1 in formula 9 can refer to the description in formula 8 above, which will not be described here.
[0312] For example, when the decimal number corresponding to the first ID is "1XX XXXX XXXX", the ID set corresponding to the first ID can be determined as {2 37 -XXXXXXXXXX-m1, 2 37 -1 x 10 10 -XXXXXXXXXX-m1,..., 2 37 -12 x 10 10 -XXXXXXXXXX-m1}. The second ID can be further determined based on the ID set. More determination methods and examples can refer to the above-mentioned solutions, which will not be described here.
[0313] Optionally, in a possible implementation, the terminal 100 determines the second ID according to the first ID and the first rule, and the first rule can include that the terminal 100 can obtain the second ID according to the total number of user IDs supported by the user ID field 1 and the decimal number corresponding to the first ID.
[0314] Further, in a possible implementation, the terminal 100 can determine the second ID according to the total number of user IDs supported by the user ID field 1 and the decimal number corresponding to the first ID, and can include: the terminal 100 adds the total number of user IDs supported by the user ID field 1 to the decimal number corresponding to the first ID to obtain a tenth value; and the terminal 100 converts the tenth value from decimal to binary to obtain the second ID.
[0315] For example, the user ID field 1 supports 0-19999999999 user IDs, that is, the total number of user IDs supported by the user ID field 1 is 20000000000. If the decimal number corresponding to the first ID is 10000000000, then the eighth value is 30000000000 (20000000000+10000000000=30000000000). Then, the terminal 100 can convert the eighth value, that is, 30000000000, from decimal to binary to obtain "11011111100001000111010110000000000". That is, the second ID is "11011111100001000111010110000000000".
[0316] In a possible implementation, when the length of the user ID field 1 is 37 bits, the converted binary number is less than 37 bits, and 0 can be added to the high bit. Since "11011111100001000111010110000000000" has only 35 bits, it is less than 37 bits, and 0 needs to be added to the high bit. Then, the terminal 100 can add 2 0s to the high bit of "11011111100001000111010110000000000" to obtain "0011011111100001000111010110000000000". That is, the terminal 100 can finally determine that the second ID is "0011011111100001000111010110000000000".
[0317] Optionally, in a possible implementation, the terminal 100 determines the second ID according to the first ID, and can include: the terminal 100 determines the user ID according to the total number of user IDs supported by the user ID field 1, the decimal number corresponding to the user ID, and a second constant, and the second constant is less than the maximum decimal number supported by the user ID field 1.
[0318] Further, in a possible implementation, the terminal 100 determines the user ID according to the total number of user IDs supported by the user ID field 1, the decimal number corresponding to the first ID, and a second constant, can include: the terminal 100 adds the total number of user IDs supported by the user ID field 1 to the decimal number corresponding to the first ID, and then adds the second constant to obtain an eleventh value; the terminal 100 converts the eleventh value from decimal to binary to obtain the second ID.
[0319] For example, taking the value range of the user ID supported by the user ID field 1 as 0-19999999999, the total number of user IDs supported by the user ID field 1 is 20000000000 (which can also be expressed as 2x10 10 ). The second constant can be any value in 0-17438953472. Taking the decimal number corresponding to the first ID as 19999999999 and the second constant as 17438953472 as an example. The ninth value is 57438953471 (57438953471 = 20000000000 + 19999999999 + 17438953472). The ninth value, that is, 57438953471, is converted from decimal to binary to obtain "110101011111101000001101111111111". That is, the second ID can be "110101011111101000001101111111111111".
[0320] In a possible implementation, when the length of the user ID field 1 is 37 bits, the binary number obtained by conversion is less than 37 bits, and 0 can be added to the high bit. Since "110101011111101000001101111111111111" has only 36 bits, it is less than 37 bits, and 0 needs to be added to the high bit. Then, the terminal 100 can add a 0 to the high bit of "110101011111101000001101111111111111" to obtain "0110101011111101000001101111111111111". That is, the terminal 100 can finally determine that the second ID is "0110101011111101000001101111111111111".
[0321] Optionally, in a possible implementation, the terminal 100 determines the second ID according to the first rule and the first ID, which can include: the terminal 100 can set the highest bit of the decimal number corresponding to the first ID as a third value to obtain a fourth value, and the third value has one or two bits; the terminal converts the fourth value from decimal to binary to obtain the second ID.
[0322] For example, the decimal number corresponding to the first ID is "19999999999". The terminal 100 can set the highest bit "1" in "19999999999" as the third value. For example, the length of the user ID field 1 is 37 bits, and the maximum decimal number supported by the user ID field 1 is 137438953471. That is, the fourth value obtained by the terminal 100 cannot be greater than the maximum decimal number supported by the user ID field 1, i.e., 137438953471. Then, the third value can be any one of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. When the third value is "1", the fourth value is equal to the decimal number corresponding to the first ID. When the third value is "2", the terminal 100 can set the highest bit "1" in "19999999999" as "2" to obtain "29999999999". That is, the fourth value is "29999999999". Then, the terminal 100 can convert the fourth value, i.e., "29999999999", from decimal to binary to obtain "11011111100001000111010101111111111". Then, the terminal 100 can determine the second ID as "11011111100001000111010101111111111". 37 -1=137438953471. That is, the fourth value obtained by the terminal 100 cannot be greater than the maximum decimal number supported by the user ID field 1, i.e., 137438953471. Then, the third value can be any one of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. When the third value is "1", the fourth value is equal to the decimal number corresponding to the first ID. When the third value is "2", the terminal 100 can set the highest bit "1" in "19999999999" as "2" to obtain "29999999999". That is, the fourth value is "29999999999". Then, the terminal 100 can convert the fourth value, i.e., "29999999999", from decimal to binary to obtain "11011111100001000111010101111111111". Then, the terminal 100 can determine the second ID as "11011111100001000111010101111111111".
[0323] In a possible implementation, when the length of the user ID field 1 is 37 bits, the obtained binary number is less than 37 bits, and 0 can be added to the high bits. Since "11011111100001000111010101111111111" has only 35 bits, which is less than 37 bits, 0 needs to be added to the high bits. Then, the terminal 100 can add 2 0s to the high bits of "11011111100001000111010101111111111" to obtain "0011011111100001000111010101111111111". That is, the terminal 100 can finally determine the second ID as "0011011111100001000111010101111111111".
[0324] Optionally, in a possible implementation, the tenth value is equal to the equipment number of the terminal 100. For example, the first ID corresponds to a decimal number "19999999999", and the equipment number of the terminal 100 is 2, and then the tenth value is 2. The terminal 100 can set the highest bit "1" in "19999999999" to "2" to obtain "29999999999". That is, the fourth value is "29999999999". In this way, the multiple terminals with the first ID as the user identifier can determine different fourth values according to the respective equipment numbers.
[0325] It can be understood that the length of the user ID field 1 is 37 bits, which is only an example, and the embodiments of the present application do not limit the length of the user ID field 1. When the second ID corresponds to a decimal number converted into a binary number, the number of bits of the binary number is less than the number of bits supported by the user ID field 1, the terminal 100 can pad the binary number with 0 to obtain the final second ID. Then, the terminal 100 can also fill the second ID with the padded bits into the user ID field 1. When the second ID corresponds to a decimal number converted into a binary number, the number of bits of the binary number is equal to the number of bits supported by the user ID field 1, the terminal 100 can take the binary number as the final second ID, and fill the binary number into the user ID field 1.
[0326] Optionally, in a possible implementation, the first ID is a mobile phone number or an application identifier of a satellite communication application.
[0327] Optionally, in a possible implementation, the terminal 100 can query the second ID corresponding to the first ID of the terminal 100 in a mapping table. The mapping table can record the second ID corresponding to one or more terminals with the first ID as the user identifier. For example, taking the first ID as a mobile phone number as an example, the terminals with the mobile phone number 1XXXXXXXXX as the user identifier include a mobile phone, a watch, a tablet and the like. Then, the mapping table can record the second ID corresponding to the mobile phone with the mobile phone number 1XXXXXXXXX as the user identifier, the second ID corresponding to the watch, and the second ID corresponding to the tablet. When the mobile phone needs to send a satellite message, the mobile phone can query the mapping table to obtain the second ID corresponding to the mobile phone from the mapping table. For example, the mapping table can be as shown in Table 1.
[0328] Table 1
[0329] Exemplarily, Table 1 shows a mapping table corresponding to a user ID of "10000000000". As shown in Table 1, taking the common user identification of multiple terminals, i.e., the first ID of "10000000000" as an example. The multiple terminals with the user identification of "10000000000" can include a mobile phone, a watch, a tablet and the like. The device number of the mobile phone is "0", the device number of the watch is "1", and the device number of the tablet is "2". The second ID corresponding to the mobile phone is "1011101001000011101101110100000000000". The second ID corresponding to the mobile phone is a binary number converted from the decimal number "100 000 000 000". The second ID corresponding to the watch is "1100110011100100000101100110000000000". The second ID corresponding to the watch is a binary number converted from the decimal number "110 000 000 000". The second ID corresponding to the tablet is "1101111110000100011101011000000000000". The second ID corresponding to the tablet is a binary number converted from the decimal number "120 000 000 000".
[0330] It can be understood that the mapping table shown in Table 1 is only an example, and the mapping table corresponding to different first IDs can be different. There can be multiple ways for the terminal to determine the second ID according to the first ID, and the second IDs determined by different ways can be different. The mapping table can contain more or less content, and the embodiments of the present application do not limit the mapping table.
[0331] Further, in a possible implementation, the mapping table corresponding to the mobile phone number 1XXXXXXXXXX can be stored in a server. When the user of the mobile phone number 1XXXXXXXXXX opens the satellite communication service, the server providing the satellite communication service can calculate the number of terminals that can be hung under the mobile phone number 1XXXXXXXXXX, and calculate the user ID corresponding to each terminal. The multiple terminals with the user identification of the mobile phone number 1XXXXXXXXXX can obtain the mapping table from the server.
[0332] Optionally, in a possible implementation, the mapping table can be stored in one or more terminals with the user identifier of mobile phone 1XXXXXXXXXX. The mapping table can be downloaded from a server or cloud, or generated by any of the one or more terminals with the user identifier of mobile phone 1XXXXXXXXXX, and then sent to other terminals with the user identifier of mobile phone 1XXXXXXXXXX. For example, the one or more terminals with the user identifier of mobile phone 1XXXXXXXXXX include a mobile phone, a watch or a tablet. The user with the user identifier of mobile phone 1XXXXXXXXXX opens the satellite communication service for the first time using the mobile phone, and then the mobile phone can calculate the number of terminals under the user identifier of mobile phone 1XXXXXXXXXX, and calculate the second ID corresponding to each terminal, and form a mapping table. Then, the mobile phone can send the mapping table to the watch and the tablet. The mobile phone calculates the second ID corresponding to each terminal can refer to the description of the terminal 100 determining the second ID according to the first ID in the foregoing, which will not be described here.
[0333] S803. The terminal 100 determines one or more data packets 2 according to the data packet 1.
[0334] The terminal 100 determines one or more data packets 2 according to the data packet 1. Specifically, the terminal 100 can split the data packet 1 into one or more data packets 2 through the MDCP layer and the SLC layer. For how the terminal 100 specifically splits the data packet 1 into one or more data packets 2 through the MDCP layer and the SLC layer, please refer to the description of FIG. 2 in the foregoing, which will not be described here.
[0335] The length of the one or more data packets 2 determined by the terminal 100 can be the same or different. For example, the terminal 100 can split the data packet 1 into four data packets 2 through the MDCP layer and the SLC layer. The four data packets 2 can be referred to as the first data packet 2, the second data packet 2, the third data packet 2 and the fourth data packet 2 respectively. The length of the four data packets 2 can be the same or different. For example, the length of the first data packet 2, the second data packet 2 and the third data packet 2 can be the same. The length of the fourth data packet 2 can be different from that of the first data packet 2. The embodiments of the present application do not limit the length of the one or more data packets 2 determined by the data packet 1.
[0336] The one or more data packets 2 split by the terminal 100 can contain the second ID.
[0337] In a possible implementation, each of the one or more data packets 2 has a packet header, and the packet header can include a user ID field 1 for distinguishing multiple sending terminals with the user identifier of user identifier 1. The user ID field 1 can carry the second ID.
[0338] In some examples, the packet header can be referred to as a frame header, and the embodiments of the present application do not limit the same.
[0339] In a possible implementation, the data packet 1 is an application layer data packet, and the one or more data packets 2 are SLC PDUs.
[0340] S804. The terminal 100 sends the one or more data packets 2 to the satellite network device 22.
[0341] The terminal 100 can send the one or more data packets 2 to the satellite network device 22. Specifically, referring to FIG. 1, the terminal 100 can send the one or more data packets 2 to the satellite 21, which relays. The satellite 21 sends the one or more data packets 2 to the satellite network device 22.
[0342] The second ID is also used by the satellite network device 22 to distinguish the data packets 2 sent by the first terminal from the one or more terminals whose user identities are the first ID.
[0343] S805. The satellite network device 22 receives the one or more data packets 2 sent by the terminal 100.
[0344] The satellite network device 22 can receive the one or more data packets 2 forwarded by the terminal 100 via the satellite 21.
[0345] Optionally, in a possible implementation, when the satellite network device 22 receives the one or more data packets 2, the satellite network device 22 can also receive multiple data packets sent by other terminals. The satellite network device 22 can distinguish the one or more data packets 2 sent by the terminal 100 from the multiple data packets based on the second ID. Specifically, the satellite network device 22 receives the one or more data packets 2, and determines whether the one or more data packets 2 belong to the same sending terminal according to the user ID field included in the packet header of the one or more data packets 2.
[0346] S806. The satellite network device 22 groups the one or more data packets 2 into the data packet 1 based on the second ID.
[0347] The satellite network device 22 can be configured to be responsible for the protocol processing of the PHY layer, the SLC layer, and the MDCP layer. The satellite network device 22 can group the one or more data packets 2 into the data packet 1 at the SLC layer and the MDCP layer based on the second ID. How the satellite network device 22 groups the one or more data packets 2 into the data packet 1 can be referred to the description of FIG. 3 above, and will not be described here.
[0348] S807. Optionally, the satellite network device 22 can determine the first ID based on the second ID.
[0349] The satellite network device 22 determines the first ID based on the second ID. The first ID can be determined by determining whether the second ID belongs to the ID set corresponding to the first ID. It can be understood that the satellite network device 22 needs to correspondingly parse the second ID into the first ID in the manner in which the terminal 100 determines the first ID from the second ID.
[0350] For example, when the ID set corresponding to the first ID is obtained by formula 1, the satellite network device 22 can first determine whether the first ID is greater than 1000 0000 0000. If it is less than this value, the current first ID is equal to the value of the second ID. If the first ID is greater than or equal to 1000 0000 0000, according to the value of m1, the remainder calculation is performed on the value L' of the second ID, for example, the corresponding first ID value is calculated by the following formula 10. First ID = 10 10 +(L'-m1-10 11 )%10 10 (Formula 10)
[0351] Wherein, % is the remainder operator, and the value or determination of m1 is consistent with m1 in formula 1.
[0352] For another example, when the ID set corresponding to the first ID is obtained by formula 2, the satellite network device 22 can first determine whether the first ID is greater than 1000 0000 0000. If it is less than this value, the current first ID is equal to the value of the second ID. If the first ID is greater than or equal to 1000 0000 0000, according to the value of m1, the remainder calculation is performed on the value L' of the second ID, for example, the corresponding first ID value is calculated by the following formula 11. First ID = 10 10 +(L'-2 37 +m1)%10 10 (Formula 11)
[0353] Wherein, % is the remainder operator, and the value or determination of m1 is consistent with m1 in formula 2.
[0354] For another example, when the ID set corresponding to the first ID is obtained by formula 3, the satellite network device 22 can first determine whether the first ID is greater than 1000 0000 0000. If it is less than this value, the current first ID is equal to the value of the second ID. If the first ID is greater than or equal to 1000 0000 0000, according to the value of m1, the remainder calculation is performed on the value L' of the second ID, for example, the corresponding first ID value is calculated by the following formula 12. First ID = 10 10 +(2 37 -L'-m1)%10 10(Formula 12)
[0355] where % is the modulo operator, and the value or determination of m1 is consistent with m1 in Formula 3.
[0356] For another example, when the first ID corresponding to the ID set is obtained by Formula 4, the satellite network device 22 can first determine whether the first ID is greater than 1000 0000 0000. If it is less than this value, the current first ID is equal to the value of the second ID. If the first ID is greater than or equal to 1000 0000 0000, according to the value of m1, the modulo calculation is performed on the value L' of the second ID, for example, the corresponding first ID value is calculated by the following Formula 13. First ID = 10 10 +(L'-2x10 10 -m1) % 10 10 (Formula 13)
[0357] where % is the modulo operator, and the value or determination of m1 is consistent with m1 in Formula 4.
[0358] For another example, when the first ID corresponding to the ID set is obtained by Formula 5, the satellite network device 22 can first determine whether the first ID belongs to the interval [0, 199 9999 9999]. If it belongs, the current first ID is equal to the value of the second ID. If the first ID does not belong to the interval [0, 199 9999 9999], according to the value of m2, the modulo calculation is performed on the value L' of the second ID, for example, the corresponding first ID value is calculated by the following Formula 14. First ID = (L'-2 37 +m2) % (2x10 10 (Formula 14)
[0359] where % is the modulo operator, and the value or determination of m2 is consistent with m2 in Formula 5.
[0360] For another example, when the first ID corresponding to the ID set is obtained by Formula 6, the satellite network device 22 can first determine whether the first ID belongs to the interval [0, 199 9999 9999]. If it belongs, the current first ID is equal to the value of the second ID. If the first ID does not belong to the interval [0, 199 9999 9999], according to the value of m2, the modulo calculation is performed on the value L' of the second ID, for example, the corresponding first ID value is calculated by the following Formula 15. First ID = (2 37 -L'-m2) % (2x10 10 (Formula 15)
[0361] wherein % is the modulo operator, and m2 is determined or selected in accordance with m2 in Equation 7.
[0362] For another example, when the first ID corresponding ID set is obtained by Equation 7, the satellite network device 22 can first determine whether the first ID belongs to the interval [0, 199 9999 9999], if it belongs, the current first ID is equal to the second ID value. If the first ID does not belong to the interval [0, 199 9999 9999], according to the value of m2, the modulo calculation is performed for the value L' of the second ID, for example, the corresponding first ID value is calculated by the following Equation 16. First ID = (L' - m2) % (2 x 10 10 ( Equation 16 )
[0363] wherein % is the modulo operator, and m2 is determined or selected in accordance with m2 in Equation 7.
[0364] For another example, when the first ID corresponding ID set is obtained by Equation 8, the satellite network device 22 performs modulo calculation for the value L' of the second ID according to the value of m1, for example, the corresponding first ID value is calculated by the following Equation 17. First ID = 10 10 + (L' + m1) % 10 10 ( Equation 17 )
[0365] wherein % is the modulo operator, and m1 is determined or selected in accordance with m1 in Equation 8.
[0366] For another example, when the first ID corresponding ID set is obtained by Equation 9, the satellite network device 22 performs modulo calculation for the value L' of the second ID according to the value of m1, for example, the corresponding first ID value is calculated by the following Equation 18. First ID = 10 10 + (2 37 - L' - m1) % 10 10 ( Equation 18 )
[0367] wherein % is the modulo operator, and m1 is determined or selected in accordance with m1 in Equation 9.
[0368] For another example, the first ID can be determined according to the second ID in a lookup table manner, and the specific description can refer to the description of the generation of the first ID corresponding ID set.
[0369] For another example, the satellite network device 22 can also determine the first ID based on the second ID according to the device number carried by the data packet 1, instead of only obtaining it by modulo calculation for the first ID.
[0370] The above example can be understood as the satellite network device 22 and the terminal 100 device need to ensure consistency in understanding the first ID and the second ID, so as to ensure that the satellite network device 22 restores the received second ID to the correct first ID.
[0371] S808. The satellite network device 22 transmits the data packet 1 and the first ID or the second ID to the satellite network device 23.
[0372] The satellite network device 22 can send the data packet 1 to the satellite network device 23 through the interface between the satellite network device 22 and the satellite network device 23, for subsequent further analysis and transmission of the data packet 1 by the satellite network device 23.
[0373] Optionally, the satellite network device 22 can send the first ID to the satellite network device 23 through the interface between the satellite network device 22 and the satellite network device 23. The determination of the first ID sent by the satellite network device 22 can refer to the description of S807. According to the received first ID, the satellite network device 23 can determine that the user identifier of the terminal corresponding to the data packet 1 is the first ID, thereby helping subsequent verification of the data packet 1.
[0374] Optionally, the satellite network device 22 can send the second ID to the satellite network device 23 through the interface between the satellite network device 22 and the satellite network device 23. The second ID is used by the satellite network device 23 to determine that the user identifier of the terminal corresponding to the data packet 1 is the first ID.
[0375] S809. The satellite network device 23 receives the data packet 1 and determines that the user identifier of the terminal corresponding to the data packet 1 is the first ID.
[0376] The satellite network device 23 can receive the data packet 1 sent by the satellite network device 22.
[0377] Optionally, the satellite network device 23 also receives the first ID sent by the satellite network device 22, wherein the first ID is determined by the satellite network device 22 based on the second ID, and the specific determination process can refer to the description of S807. The satellite network device 23 can directly determine that the user identifier of the terminal corresponding to the data packet 1 is the first ID based on the first ID sent by the satellite network device 22.
[0378] Optionally, the satellite network device 23 also receives the second ID sent by the satellite network device 22, and the satellite network device 23 determines that the user identifier of the terminal corresponding to the data packet 1 is the first ID based on the second ID. The process of determining the first ID based on the second ID can be understood as the satellite network device 23 needs to correspondingly analyze the second ID into the first ID according to the way in which the terminal 100 determines the first ID from the second ID.
[0379] For example, when the terminal 100 sets the highest bit of the decimal number corresponding to the first ID to the first value, and then converts the decimal number to the binary number to obtain the second ID. Then, when the satellite network device 23 determines the first ID based on the second ID, the satellite network device 23 can first convert the second ID from the binary number to the decimal number, and then restore the highest bit of the obtained decimal number to “1” to obtain the decimal number corresponding to the first ID. Taking the first ID as “10000000000” and the first value as “2” as an example, the terminal 100 sets the highest bit of the first ID, i.e., “10000000000”, to “2” to obtain “20000000000”. Then, the terminal 100 converts “20000000000” from the decimal number to the binary number to obtain “10010101000000101111100100000000000”. The second ID obtained by the terminal 100 is “10010101000000101111100100000000000”. Optionally, in some examples, the length of the user ID field 1 filled with the second ID is 37 bits, and then the terminal 100 needs to fill “0” to the high bit of “10010101000000101111100100000000000” to make up 37 bits to obtain “0010010101000000101111100100000000000”. In this way, the second ID finally obtained by the terminal 100 is “0010010101000000101111100100000000000”. When the satellite network device 23 determines the first ID according to the second ID, the satellite network device 23 can first convert the second ID from the binary number to the decimal number to obtain “20000000000”. Then, the satellite network device 23 restores the highest bit of “20000000000” to “1” to obtain “10000000000”. Finally, the satellite network device 23 can determine that the decimal number corresponding to the first ID is “10000000000”. More possible solutions are described, the satellite network device 22 in S807 is replaced by the satellite network device 23 to determine the first ID based on the second ID.
[0380] Further, the satellite network device 23 can determine the key of the data packet 1 based on the first ID, and then decrypt the data packet 1 based on the key to obtain the original data.
[0381] Optionally, in a possible implementation, the satellite communication system 10 provided by the embodiments of the present application can further include a terminal 300, which can also send one or more data packets 20 to the satellite network device 22. The user identifier of the terminal 300 can be the same as that of the terminal 100, that is, the user identifier of the terminal 300 is the first ID. The terminal 300 can determine a third ID according to the first ID. The third ID is different from the second ID, and the third ID is used to identify the terminal 300 in the one or more terminals with the user identifier being the first ID. The one or more data packets 20 sent by the terminal 300 can contain the third ID. When the satellite network device 22 receives the one or more data packets 20 sent by the terminal 300, the satellite network device 22 can packet the one or more data packets 20 into the data packet 10 based on the third ID. Then, the satellite network device 22 can send the data packet 10 to the satellite network device 23. The satellite network device 23 can receive the data packet 10, and determine that the user identifier of the terminal sending the data packet 10 is the first ID according to the first ID provided by the satellite network device 22, or determine that the user identifier of the terminal sending the data packet 10 is the first ID according to the third ID provided by the satellite network device 22.
[0382] In this way, when the terminal 100 sends one or more data packets 2 to the satellite network device 22, the first ID can be mapped to the second ID, and the one or more data packets 2 contain the second ID. The plurality of terminals with the same user identifier, that is, the first ID, have different second IDs mapped based on the first ID. The satellite network device 22 can distinguish the data packets sent by different terminals through the second ID. When the plurality of terminals with the same user identifier simultaneously send data packets to the satellite network device 22, the satellite network device 22 can distinguish the data packets sent by different terminals based on the second ID carried in the data packets sent by each terminal. The satellite network device 22 can avoid packeting the data packets sent by different terminals, thereby avoiding packeting errors.
[0383] In the embodiments of the present application, the terminal 100 sends the data packet to the satellite network device 200, which can be referred to as uplink data transmission. The satellite network device 200 sends the data packet to the terminal 100, which can be referred to as downlink data transmission. In the process of the uplink data transmission, the terminal 100 can transform the user identifier of the terminal 100, for example, the terminal 100 can map the first ID into another value, which is used to indicate the terminal 100 of one or more terminals with the same user identifier. Similarly, in the process of the downlink data transmission, the satellite network device 200 can also transform the user ID in the data packet for indicating the receiving terminal, for example, map the first ID of the receiving terminal into another value, which is used to indicate the terminal 100 of one or more terminals with the same user identifier. In this way, when the terminals with the same user identifier simultaneously query the letter or download the letter from the satellite network device 200, the terminal 100 will not receive the message sent by the satellite network device 200 to other terminals with the same user identifier.
[0384] FIG. 9 exemplarily shows the downlink data transmission process of the communication method provided by the embodiments of the present application. As shown in FIG. 9, the downlink data transmission process of the communication method provided by the embodiments of the present application can include the following steps:
[0385] S901. The satellite network device 23 generates the data packet 3.
[0386] In some scenarios, when the terminal 100 sends the query request (for example, the letter box profile query request) or the download request (for example, the letter download request) to the satellite network device 23, the satellite network device 23 can reply the message to the terminal 100, and generate the data packet 3 for the specific message to be replied (for example, the letter box profile of the terminal 100 or the letter received by the terminal 100, etc.). That is, the satellite network device 23 can encapsulate the specific message to be replied at the AP layer, and obtain the data packet 3. How the satellite network device 23 generates the data packet 3 can be referred to the description of FIG. 4 in the above, which will not be described here.
[0387] S902. Optionally, the satellite network device 23 can determine the second ID according to the first ID, the first ID is the user identifier corresponding to the receiving terminal of the data packet 3, and the second ID is used to identify the terminal 100 of one or more terminals with the same user identifier as the first ID.
[0388] The satellite network device 23 can determine the user identifier of the terminal 100 as the first ID from the query request sent by the terminal 100, or determine the first ID according to the content of the data packet 3 to be sent to the destination terminal, i.e., the terminal 100. When the satellite network device 23 sends the data packet to the terminal 100, the satellite network device 23 can determine the second ID according to the first ID. The second ID is used to identify the terminal 100 in one or more terminals with the user identifier as the first ID.
[0389] The specific manner in which the satellite network device 23 determines the second ID according to the first ID is the same as the manner in which the terminal 100 determines the second ID according to the first ID described above. For how the satellite network device 23 specifically determines the second ID according to the first ID, please refer to the description of determining the second ID according to the first ID in step S802 described above, which will not be repeated here.
[0390] For different terminals with the same user identifier, the satellite network device 23 can determine the device identifier corresponding to each terminal according to the first ID when sending a message. For example, the satellite network device 23 can map the first ID to different IDs respectively, and identify different terminals through different IDs. Illustratively, when the user identifiers of the terminal 100, the terminal 300, and the terminal 400 are the same, all of which are the first ID, the satellite network device 23 can determine the second ID according to the first ID when sending a data packet to the terminal 100. Then, the satellite network device 23 can determine the third ID according to the first ID when sending a data packet to the terminal 300, and the third ID can be used to identify the terminal 300 in one or more terminals with the user identifier as the first ID. The satellite network device 23 can determine the fourth ID according to the first ID when sending a data packet to the terminal 400, and the fourth ID can be used to identify the terminal 400 in one or more terminals with the user identifier as the first ID. In this way, when the terminal 100, the terminal 300, and the terminal 400 simultaneously send a query request or a download request to the satellite network device 23, the satellite network device 23 can distinguish the data packets returned to the terminal 100, the terminal 300, and the terminal 400 through the second ID, the third ID, and the fourth ID.
[0391] S903. The satellite network device 23 sends the data packet 3 to the satellite network device 22, and the first ID or the second ID.
[0392] The satellite network device 23 can send the data packet 3 to the satellite network device 22 through the interface between the satellite network device 23 and the satellite network device 22. The data packet 3 is used for the generation of the subsequent data packet 4.
[0393] Optionally, the satellite network device 23 can also send the second ID to the satellite network device 22, which is determined by the satellite network device 23 based on the first ID, and the determination method can refer to the description of S802.
[0394] Optionally, the satellite network device 23 can also send the first ID to the satellite network device 22, and the satellite network device 22 determines the second ID based on the first ID. Optionally, the satellite network device 22 determines the second ID according to the first ID and the device number of the receiving terminal. For more description of how the satellite network device 22 determines the second ID according to the first ID, please refer to the description of the method of determining the first ID in the embodiment of FIG. 8 and the process of determining the second ID by the satellite network device 23 based on the first ID. For more information, please refer to the description of determining the second ID according to the first ID in S802, which will not be repeated here.
[0395] S904. The satellite network device 22 receives the data packet 3.
[0396] The satellite network device 22 can receive the data packet 3 for determining the subsequent data packet 4.
[0397] Optionally, the satellite network device 22 receives the second ID sent by the satellite network device 23 for determining the subsequent data packet 4.
[0398] Optionally, the satellite network device 22 receives the first ID sent by the satellite network device 23, and the satellite network device 22 determines the second ID according to the first ID. Optionally, the satellite network device 22 determines the second ID according to the first ID and the device number of the receiving terminal. For more description of how the satellite network device 22 determines the second ID according to the first ID, please refer to the description of determining the second ID according to the first ID in S802, which will not be repeated here.
[0399] S905. The satellite network device 22 determines one or more data packets 4 according to the data packet 3, and the one or more data packets 4 contain the second ID.
[0400] The satellite network device can determine one or more data packets 4 according to the data packet 3. Specifically, the satellite network device 22 can split the data packet 3 and add a packet header to form one or more data packets 4. The one or more data packets 4 contain the second ID. For how the satellite network device 22 splits the data packet 3 into one or more data packets 4, please refer to the description of FIG. 4 above, which will not be repeated here.
[0401] The length of the one or more data packets 4 determined by the satellite network device 22 can or can not be the same. For example, the satellite network device 22 can split the data packet 3 into four data packets 4. The four data packets 4 can be referred to as a first data packet 4, a second data packet 4, a third data packet 4 and a fourth data packet 4 respectively. The length of the four data packets 4 can or can not be the same. For example, the length of the first data packet 4, the second data packet 4 and the third data packet 4 can be the same. The length of the fourth data packet 4 can be different from the length of the first data packet 4. The length of the one or more data packets 4 determined by the satellite network device 22 is not limited in the embodiments of the present application.
[0402] The one or more data packets 4 split by the satellite network device 22 can comprise the second ID. The second ID can be obtained from the satellite network device 23 through S903 or determined by the satellite network device 22 based on the first ID.
[0403] In a possible implementation, each of the one or more data packets 4 has a packet header, and the packet header can comprise a user ID field 2 for distinguishing multiple receiving terminals with the user identification as the user identification 1. The second ID can be carried in the user ID field 2.
[0404] In a possible implementation, the one or more data packets 4 are SLC PDUs.
[0405] S906. The satellite network device 22 sends the one or more data packets 4 to the terminal 100.
[0406] The satellite network device 22 can send the one or more data packets 4 to the terminal 100. Specifically, referring to FIG. 1, the satellite network device 22 can send the one or more data packets 4 to the satellite 21 for relaying. The satellite 21 can send the one or more data packets 4 to the terminal 100.
[0407] S907. The terminal 100 receives the one or more data packets 4.
[0408] The terminal 100 can receive the one or more data packets 4.
[0409] Optionally, in some examples, the terminal 100 can parse a user ID from the one or more data packets 4. When the user ID parsed by the terminal 100 is the second ID, the terminal 100 can determine that the receiving terminal of the one or more data packets 4 is the terminal 100. The terminal 100 can perform step S908. When the user ID parsed by the terminal 100 is not the second ID, the terminal 100 can determine that the receiving terminal of the one or more data packets 4 is not the terminal 100, and then the terminal 100 can discard the one or more data packets 4 and no longer perform the following step S908 and step S909.
[0410] S908. The terminal 100 determines the data packet 3 according to the one or more data packets 4.
[0411] The terminal 100 can packetize the one or more data packets 4 into the data packet 3 through the SLC layer and the MDCP layer. How the terminal 100 packetizes the one or more data packets 4 into the data packet 3 can be referred to the description of FIG. 5 above, and will not be described here again.
[0412] S909. The terminal 100 determines that the user identity corresponding to the receiving terminal of the data packet 3 is the first ID according to the second ID.
[0413] The terminal 100 can determine that the user identity corresponding to the receiving terminal of the data packet 3 is the first ID according to the second ID.
[0414] It can be understood that the terminal 100 and the satellite network device 23 can determine the second ID according to the first ID and determine the first ID according to the second ID according to the protocol. The terminal 100 determines the second ID according to the first ID in the same way as the satellite network device 23 determines the second ID according to the first ID. Correspondingly, the terminal 100 determines the first ID according to the second ID in the same way as the satellite network device 23 determines the first ID according to the second ID.
[0415] How the terminal 100 determines that the user identity corresponding to the receiving terminal of the data packet 3 is the first ID according to the second ID can be referred to the description of determining the first ID according to the second ID in steps S807 and S809 of the embodiment of FIG. 8 above, and will not be described here again.
[0416] In another possible implementation, the embodiment of the present application provides another communication method, in which the data packet sent by the terminal 100 to the satellite network device 200 can directly contain the first ID. In addition, the data packet sent by the terminal 100 to the satellite network device 200 can also contain the first indication. The first indication and the first ID can be used together to identify the terminal 100 in the one or more terminals whose user identity is the first ID.
[0417] FIG. 10 shows a flow diagram of another communication method provided by the embodiments of the present application. As shown in FIG. 10, the another communication method provided by the embodiments of the present application can include the following steps:
[0418] S1001. The terminal 100 generates a data packet 5.
[0419] When the terminal 100 needs to send a satellite message, the terminal 100 can encapsulate the original message to be sent into the data packet 5 at the AP layer. How the terminal 100 generates the data packet 5 can be referred to the description of FIG. 2 above, which will not be repeated here.
[0420] S1002. The terminal 100 determines one or more data packets 6 according to the data packet 5, the one or more data packets 6 containing a first ID and a first indication, the first ID being a user identifier of the terminal 100, the terminal 100 belonging to one or more terminals, the user identifiers of the one or more terminals being the same, and the first ID and the first indication being used to identify the terminal 100 in the one or more terminals.
[0421] The terminal 100 determines the one or more data packets 6 according to the data packet 5. Specifically, the terminal 100 can split the data packet 5 into the one or more data packets 6 through the MDCP layer and the SLC layer. How the terminal 100 specifically splits the data packet 5 into the one or more data packets 6 through the MDCP layer and the SLC layer can be referred to the description of FIG. 2 above, which will not be repeated here.
[0422] The lengths of the one or more data packets 6 determined by the terminal 100 can be the same or different. Here, the lengths of the one or more data packets 6 can be referred to the description of the lengths of the one or more data packets 2 in step S803 above, which will not be repeated here.
[0423] The one or more data packets 6 can contain the first ID and the first indication, the first ID being a user identifier of the terminal 100, the terminal 100 belonging to one or more terminals, the user identifiers of the one or more terminals being the same, and the first ID and the first indication being used to identify the terminal 100 in the one or more terminals. The first ID and the first indication can also be used by the satellite network device 200 to group the one or more data packets 6 into the data packet 5.
[0424] Optionally, in a possible implementation, the one or more data packets 6 include a packet header, the packet header including a user ID field and an application type field and a reserved field. The embodiments of the present application do not limit the fields contained in the packet header of the data packet 6 and the positions of the fields in the packet header.
[0425] The user ID field can be used to carry the first ID. The first ID can be a mobile phone number or an application account ID, which is not limited by the embodiments of the present application.
[0426] In a possible implementation, the terminal 100 can carry the first indication through the reserved field.
[0427] Further, in a possible implementation, the length of the reserved field can be 2 bits. For example, when the value of the reserved field is "00", it can be used to indicate that the terminal 100 is a mobile phone with the first ID. When the value of the reserved field is "01", it can be used to indicate that the terminal 100 is a watch with the first ID. When the value of the reserved field is "10", it can be used to indicate that the terminal 100 is a tablet with the first ID. When the value of the reserved field is "11", it can be used to indicate that the terminal 100 is a vehicle-mounted device with the first ID, and so on. That is, when the terminal 100 is a mobile phone device with the first ID, the first indication is "00". Alternatively, the 2 bits in the reserved field can be used to indicate the latest 4 terminals registered under the satellite network.
[0428] It can be understood that the length of the reserved field is not limited in the embodiments of the present application, and the value of the reserved field and the corresponding meaning are also not limited.
[0429] Optionally, in another possible implementation, the terminal 100 can carry the first indication through the application type field.
[0430] Further, in a possible implementation, the application type field can be used to indicate the applications of different terminals. For example, when the length of the application type field is 5 bits, the application type field can be used to indicate 32 (2 5 = 32) applications. For example, when the value of the application type field is "00000", it can be used to indicate a mobile phone satellite communication application; when the value of the application type field is "00001", it can be used to indicate a watch satellite communication application; when the value of the application type field is "00010", it can be used to indicate a tablet satellite communication application, and so on.
[0431] It can be understood that the length of the application type field is not limited in the embodiments of the present application, and the value of the application type field and the corresponding meaning are also not limited.
[0432] S1003. The terminal 100 sends one or more data packets 6 to the satellite network device 200.
[0433] The terminal 100 can send one or more data packets 6 to the satellite network device 200. Specifically, referring to FIG. 1, the terminal 100 can send one or more data packets 6 to the satellite network device 22 in the satellite network device 200 through the satellite 21.
[0434] S1004. The satellite network device 200 receives the one or more data packets 6 sent by the terminal 100.
[0435] The satellite network device 200 can receive the one or more data packets 6 sent by the terminal 100. Specifically, referring to FIG. 1, the satellite network device 22 in the satellite network device 200 can receive the one or more data packets 6 sent by the terminal 100.
[0436] S1005. The satellite network device 200 packetizes the one or more data packets 6 into the data packet 5 based on the first ID and the first indication.
[0437] The satellite network device 200 can packetize the one or more data packets 6 into the data packet 5 based on the first ID and the first indication. Specifically, referring to FIG. 1, the satellite network device 22 in the satellite network device 200 can packetize the one or more data packets 6 into the data packet 5 based on the first ID and the first indication. That is, the satellite network device 200 can packetize the one or more data packets 6 with the first ID and the first indication among the received multiple data packets into the data packet 5. How the satellite network device 22 packetizes the one or more data packets 6 into the data packet 5 can be found in the description of FIG. 3 above, which will not be repeated here.
[0438] Optionally, in a possible implementation, the satellite network device 22 can send the data packet 5 and the first ID to the satellite network device 23.
[0439] Optionally, in a possible implementation, the satellite network device 23 can send the data packet 7 to the terminal 100 after receiving the data packet 5. Specifically, the satellite network device 23 can send the data packet 7 and the first ID to the satellite network device 22. The satellite network device 22 can determine the one or more data packets 8 according to the data packet 7. Specifically, the satellite network device 22 can split the data packet 7 into the one or more data packets 8. The one or more data packets 8 contain the first ID and the first indication. The satellite network device 22 can send the one or more data packets 8 to the terminal 100 through the satellite 21. The terminal 100 can receive the one or more data packets 8. The terminal 100 can parse the one or more data packets 8. If the first ID and the first indication are parsed, the terminal 100 can packetize the one or more data packets 8 into the data packet 7 based on the first ID and the first indication. If the first ID and the first indication are not parsed, the terminal 100 can discard the one or more data packets.
[0440] In this way, for the data packet sent by the terminal 100 to the satellite network device 200, the satellite network device 200 can distinguish, based on the first ID and the indication, that the terminal sending the data packet is the terminal 100 in the one or more terminals identified by the first ID. In this way, the satellite network device 200 will not group the data packet sent by the terminal 100 and the data packet sent by the terminal 300 identified by the first ID at the same time. In this way, the satellite network device 200 can avoid grouping errors.
[0441] In another possible implementation, the embodiment of the present application provides another communication method, in which the data packet sent by the terminal 100 to the satellite network device 200 can include a first indication. The data packet sent by the terminal 100 to the satellite network device 200 does not include the first ID, but includes a second ID determined according to the first ID, and the first indication and the second ID can be used together to identify the terminal 100 in the one or more terminals identified by the first ID.
[0442] In the embodiment of the present application, the terminal 100 can generate a first data packet; then, the terminal 100 can determine a second ID according to the first ID; then, the terminal 100 can determine one or more second data packets according to the first data packet, and the one or more second data packets can include the second ID and the first indication. The terminal 100 can send the one or more second data packets to the satellite network device 22.
[0443] How the terminal 100 determines the second ID according to the first ID can be referred to the description in the above step S802, which will not be described here. The first indication can be referred to the description in the above step S1002, which will not be described here.
[0444] In this way, the second ID in combination with the first indication can be used to indicate more terminals under one user identification. For example, if the first indication is carried in the reserved field in the second data packet header, the reserved field is 2 bits, and the first indication can take 4 values, each value can be used to indicate one terminal device, and a total of 4 terminal devices can be indicated. If the ID set corresponding to the first ID includes 4 different second IDs. Then the second ID in combination with the first indication can be used to indicate 4*4=16 terminals.
[0445] The satellite network device 22 can receive one or more second data packets sent by the terminal 100. The satellite network device 22 can group the one or more second data packets into a first data packet based on the second ID and the first indication.
[0446] The satellite network device 22 can send the first data packet and the second ID to the satellite network device 23.
[0447] Optionally, the satellite network device 22 can determine the first ID according to the second ID. The specific process of determining the first ID according to the second ID by the satellite network device 22 can refer to the description in steps S807 and S809, which will not be repeated here. The satellite network device 22 can send the first data packet and the first ID to the satellite network device 23.
[0448] The satellite network device 23 can receive the first data packet and the second ID or the first data packet and the first ID sent by the satellite network device 22. The satellite network device 23 can determine that the user identifier of the sending terminal of the first data packet is the first ID.
[0449] Optionally, when the satellite network device 23 receives the first data packet and the second ID, the satellite network device 23 can determine the first ID according to the second ID. The specific process of determining the first ID according to the second ID by the satellite network device 23 can refer to the description in steps S807 and S809, which will not be repeated here.
[0450] In this way, for the data packet sent by the terminal 100 to the satellite network device 22, the satellite network device 22 can distinguish that the sending terminal of the data packet is the terminal 100 in the one or more terminals with the user identifier of the first ID based on the second ID and the first indication. In this way, the satellite network device 22 will not group the data packet sent by the terminal 100 and the data packet sent by the terminal 300 with the user identifier of the first ID at the same time. In this way, the satellite network device 22 can avoid grouping errors.
[0451] In another possible implementation, the embodiment of the present application provides another communication method, in which the satellite network device 200 transmits a data packet to a terminal in a downlink, and can also carry a first indication in the data packet, and can also transform the user ID of the receiving terminal in the data packet, for example, mapping the first ID of the receiving terminal into another value (i.e., the second ID), and indicating the terminal 100 in the one or more terminals with the same user identifier through the first indication and the second ID carried in the data packet. In this way, when multiple terminals with the same user identifier simultaneously query or download the letter from the satellite network device 200, the terminal 100 will not receive the message sent by the satellite network device 200 to other terminals with the same user identifier.
[0452] In the embodiments of the present application, during the transmission of the downlink data, when the terminal 100 sends a query request (for example, a mailbox profile query request) or a download request (for example, a letter download request) to the satellite network device 23, the satellite network device 23 can reply a message to the terminal 100, and generate a data packet 9 of the specific message (for example, the mailbox profile of the terminal 100 or the letter received by the terminal 100, etc.) to be replied. That is, the satellite network device 23 can encapsulate the specific message to be replied at the AP layer, and obtain the data packet 9. The specific way in which the satellite network device 23 generates the data packet 9 can be referred to the description of FIG. 4 above, and will not be described here again.
[0453] The satellite network device 23 can determine the user identifier of the terminal 100 as the first ID from the query request sent by the terminal 100, or determine the first ID according to the content of the data packet 9 to be sent to the destination terminal, i.e., the terminal 100.
[0454] Optionally, the satellite network device 23 can determine the second ID according to the first ID. The specific way in which the satellite network device 23 determines the second ID according to the first ID can be the same as the way in which the terminal 100 determines the second ID according to the first ID in step S802 above, and can be referred to the description of step S802 above, and will not be described here again.
[0455] The satellite network device 23 can send the data packet 9 and the first ID to the satellite network device 22. Alternatively, the satellite network device 23 can send the data 9 and the second ID to the satellite network device 22.
[0456] The satellite network device 22 can receive the data packet 9 and the first ID sent by the satellite network device 23. The satellite network device 22 can determine the second ID according to the first ID. The specific way in which the satellite network device 22 determines the second ID according to the first ID can be the same as the way in which the terminal 100 determines the second ID according to the first ID in step S802 above, and can be referred to the description of step S802 above, and will not be described here again.
[0457] Alternatively, the satellite network device 22 can receive the data packet 9 and the second ID sent by the satellite network device 23.
[0458] The satellite network device 22 can determine one or more data packets 10 according to the data packet 9. Specifically, the satellite network device 22 can split the data packet 9 and add a packet header to form one or more data packets 10. The satellite network device 22 can determine the device identifier of the terminal 100 as the first indication from the query request sent by the terminal 100. The satellite network device 22 can fill the second ID and the first indication into the packet header of the one or more data packets 10.
[0459] Then, satellite network device 22 can send one or more data packets 10 to terminal 100.
[0460] Terminal 100 can receive one or more data packets 10, and assemble one or more data packets 10 into a data packet 9 based on a first instruction and a second ID. Terminal 100 can also determine the user identifier of the receiving terminal of data packet 9 as the first ID based on the second ID.
[0461] In this way, when multiple terminals with the same user identifier simultaneously query or download emails from the satellite network device 200, terminal 100 determines, through the second ID and the first indication, that the receiving terminal of the specific message replied by the satellite network device 200 is terminal 100, and terminal 100 will not mistakenly receive messages sent by the satellite network device 200 to other terminals with the same user identifier.
[0462] The foregoing details the method provided in this application. To facilitate better implementation of the above-described solutions in the embodiments of this application, corresponding apparatus or devices are also provided in the embodiments of this application.
[0463] Figure 11 is a schematic diagram of the structure of the communication device 1100 provided in an embodiment of this application.
[0464] As shown in Figure 11, the communication device 1100 includes one or more processors 1102 and transceivers 1101. The transceiver 1101 may include a transmitter and / or a receiver. The transmitter performs the transmitting steps executed by the transceiver 1101, and the receiver performs the receiving steps executed by the transceiver 1101. Optionally, when the communication device 1100 is a chip, the transceiver 1101 is an input / output interface, wherein it transmits corresponding outputs and receives corresponding inputs.
[0465] In some embodiments of this application, the communication device 1100 can be used to perform the steps or functions performed by the terminal 100 in the above method embodiments.
[0466] For example, processor 1102 is used to generate data packet 1.
[0467] Optionally, the processor 1102 can also be used to determine a second ID based on a first ID, and to determine one or more data packets 2 based on the data packet 1. Specifically, the processor 1102 can segment the data packet 1 and add a header to form one or more data packets 2.
[0468] Optionally, transceiver 1101 is also used to send one or more data packets 2.
[0469] In other embodiments of this application, the communication device can be used to perform the steps or functions performed by the satellite network device 200 in the above method embodiments.
[0470] Exemplarily, the transceiver 1101 is configured to receive one or more data packets 2; and the processor 1102 is configured to packetize the one or more data packets 2 into a data packet 1 based on the second ID.
[0471] It can be understood that the specific descriptions of the transceiver and the processor shown in the embodiments of the present application are only examples. For the specific functions or executed steps of the transceiver and the processor, reference can be made to the above method embodiments, which will not be described in detail here.
[0472] In the above various embodiments, the descriptions of the data packet 1, the first ID, the second ID and the one or more data packets 2 can also refer to the descriptions in the above method embodiments, which will not be described one by one here.
[0473] In each implementation of the communication apparatus 1100 shown in FIG. 11, the transceiver can include a receiver configured to perform the functions (or operations) of receiving and a transmitter configured to perform the functions (or operations) of transmitting. The transceiver is configured to communicate with other devices / apparatuses via a transmission medium.
[0474] Optionally, the communication apparatus 1100 can further include one or more memories 1103 configured to store program instructions and / or data, etc. The memory 1103 is coupled to the processor 1102. The coupling in the embodiments of the present application is indirect coupling or communication connection between the apparatuses, units or modules, which can be electrical, mechanical or other forms, and is used for information interaction between the apparatuses, units or modules. The processor 1102 can operate in cooperation with the memory 1103. The processor 1102 can execute the program instructions stored in the memory 1103. Optionally, at least one of the above one or more memories can be included in the processor.
[0475] The specific connection medium between the above transceiver 1101, the processor 1102 and the memory 1103 is not limited in the embodiments of the present application. In FIG. 11, the memory 1103, the processor 1102 and the transceiver 1101 are connected through a bus 1104, and the bus is represented by a thick line in FIG. 11. The connection modes between other components are only schematically described and are not limited. The bus can be divided into an address bus, a data bus, a control bus, etc. For convenience of representation, only one thick line is used in FIG. 11, but it does not mean that there is only one bus or only one type of bus.
[0476] In the embodiments of the present application, the processor can be a general processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, etc., which can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application. The general processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as execution completed by a hardware processor, or executed by a combination of hardware and software modules in the processor, etc.
[0477] In the embodiments of the present application, the memory can include, but is not limited to, a non-volatile memory such as a hard disk drive (HDD) or a solid-state drive (SSD), a random access memory (RAM), an erasable programmable ROM (EPROM), a read-only memory (ROM) or a compact disc read-only memory (CD-ROM), etc. The memory can be any storage medium capable of carrying or storing program codes in the form of instructions or data structures and capable of being read and / or written by a computer (such as the communication device shown in the present application, etc.), but is not limited thereto. The memory in the embodiments of the present application can also be a circuit or any other device capable of realizing a storage function, used for storing program instructions and / or data.
[0478] For example, the processor 1102 is mainly used for processing satellite communication protocols and satellite communication data, and controlling the entire communication device 1100, executing software programs, and processing data of the software programs. The memory 1103 is mainly used for storing software programs and data. The transceiver 1101 can include a control circuit and an antenna, and the control circuit is mainly used for converting baseband signals and radio frequency signals and processing the radio frequency signals. The antenna is mainly used for receiving and transmitting radio frequency signals in the form of electromagnetic waves. The input and output device, such as a touch screen, a display screen, a keyboard, etc., is mainly used for receiving user input data and outputting data to the user.
[0479] When the communication apparatus is powered on, the processor 1102 can read a software program in the memory 1103, interpret and execute instructions of the software program, and process data of the software program. When data needs to be transmitted wirelessly, the processor 1102 outputs a baseband signal to the radio frequency circuit after baseband processing of the data to be transmitted, and the radio frequency circuit converts the baseband signal into a radio frequency signal and transmits the radio frequency signal in the form of electromagnetic waves through an antenna. When data is transmitted to the communication apparatus, the radio frequency circuit receives a radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 1102, and the processor 1102 converts the baseband signal into data and processes the data.
[0480] In another implementation, the radio frequency circuit and the antenna can be arranged independently of the processor that performs baseband processing, for example, in a distributed scenario, the radio frequency circuit and the antenna can be arranged remotely from the communication apparatus.
[0481] It can be understood that the communication apparatus shown in the embodiments of the present application can also have more components than those shown in FIG. 11, and the embodiments of the present application do not limit this. The methods performed by the processor and the transceiver shown above are only examples, and the specific steps performed by the processor and the transceiver can refer to the methods described above.
[0482] The embodiments of the present application can divide the functional modules of the terminal 100 and the satellite network device 200 according to the above method examples, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated in one processing module. The integrated module can be realized in the form of hardware or in the form of a software functional module. It should be noted that the division of the modules in the embodiments of the present application is illustrative, and is only a logical functional division, and another division mode can be used in actual implementation.
[0483] The communication apparatus of the embodiments of the present application will be described in detail below with reference to FIGS. 12 to 15.
[0484] In the case of using an integrated unit, referring to FIG. 12, FIG. 12 is a structural schematic diagram of a communication apparatus 1200 provided by the embodiments of the present application. The communication apparatus 1200 can be the terminal 100 in the above embodiments. Alternatively, the communication apparatus 1200 can be a chip / chip system, for example, a satellite communication chip. As shown in FIG. 12, the communication apparatus 1200 can include a transceiving unit 1210 and a processing unit 1220.
[0485] In one design, the transceiving unit 1210 can be configured to send one or more second data packets to the satellite network device 200, or receive one or more second data packets sent by the satellite network device 200.
[0486] In a possible implementation, the one or more second data packets contain a second ID, which is determined by the communication apparatus 1200 or a satellite network device 23 in the satellite network device 200 according to a user identifier of the communication apparatus 1200, i.e., the first ID. The second ID is used to identify the communication apparatus 1200 in the one or more terminals with the user identifier as the first ID. How the terminal 100 or the satellite network device 23 determines the second ID according to the first ID can refer to the description of how the terminal 100 determines the second ID according to the first ID above.
[0487] Optionally, in a possible implementation, the one or more second data packets contain the first ID and the first indication. The first ID and the first indication are used to identify the terminal 100 in the one or more terminals with the user identifier as the first ID.
[0488] The processing unit 1220 can be configured to generate the first data packet.
[0489] The processing unit 1220 can be further configured to determine the second ID according to the first ID.
[0490] The processing unit 1220 can be further configured to determine the one or more second data packets according to the first data packet.
[0491] The processing unit 1220 can be further configured to, after the transceiver 1210 receives the one or more second data packets, packetize the one or more second data packets into the first data packet.
[0492] The processing unit 1220 can be further configured to, after the transceiver 1210 receives the one or more second data packets, determine, according to the second ID contained in the one or more second data packets, that a user identifier corresponding to a sending terminal of the first data packet is the first ID.
[0493] In a possible implementation, the processing unit 1220 can be further configured to determine the second ID according to a device identifier of the communication apparatus 1200 and the first ID.
[0494] In a possible implementation, a first user ID field is contained in a header of the one or more second data packets, and the first user ID field carries the second ID.
[0495] In a possible implementation, the processing unit 1220 can be further configured to determine the second ID according to the first rule.
[0496] The first rule includes at least one of the following:
[0497] 1. inserting a first value between the first digit and the second digit in the decimal number corresponding to the first ID to obtain a second value, the first value being determined by the equipment identification of the communication apparatus 1200 and / or the maximum number of terminals corresponding to the first ID, the first value being an integer greater than or equal to 0.
[0498] 2. obtaining the second ID according to the decimal number corresponding to the first ID and a first constant, the first constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0499] 3. obtaining the second ID according to the maximum decimal number supported to be carried in the first user ID field and the decimal number corresponding to the first ID.
[0500] 4. obtaining the second ID according to the maximum decimal number supported to be carried in the first user ID field, the decimal number corresponding to the first ID and the first constant.
[0501] 5. obtaining the second ID according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID.
[0502] 6. obtaining the second ID according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID and a second constant, the second constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0503] 7. setting the highest digit of the decimal number corresponding to the first ID to a third value to obtain a fourth value, the third value having one or two digits; converting the fourth value from decimal to binary to obtain the second ID.
[0504] In this way, the communication apparatus 1200 can map the first ID to the second ID according to the first rule. Different communication apparatuses can map the first ID to different second IDs according to the first rule. In this way, different communication apparatuses can distinguish one or more second data packets sent by themselves according to different second IDs.
[0505] In some examples, the ID obtained by the communication apparatus 1200 according to the first rule is referred to as the second ID. The ID obtained by another communication apparatus according to the first rule is referred to as the third ID.
[0506] In a possible implementation, the second ID is equal to the first ID. That is, the ID obtained by the communication apparatus 1200 according to the first rule can be the first ID.
[0507] In a possible implementation, in the first rule, the processing unit 1220 can be further configured to add a first constant to the decimal number corresponding to the first ID to obtain a fifth value, and convert the fifth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1200 can obtain the second ID according to the first ID.
[0508] Optionally, in another possible implementation, in the first rule, the processing unit 1220 can be further configured to add a first constant to the decimal number corresponding to the first ID to obtain a fifth value, insert a first value between the first digit and the second digit of the fifth value to obtain a sixth value, and convert the sixth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1200 can obtain the second ID according to the first ID.
[0509] In a possible implementation, the maximum number of terminals corresponding to the first ID is determined by the maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID.
[0510] In a possible implementation, in the first rule, the processing unit 1220 can be further configured to subtract the decimal number corresponding to the first ID from the maximum decimal number supported by the first user ID field to obtain a seventh value, and convert the seventh value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1200 can obtain the second ID according to the first ID.
[0511] In a possible implementation, in the first rule, the processing unit 1220 can be further configured to subtract the first constant from the maximum decimal number supported by the first user ID field after subtracting the decimal number corresponding to the first ID to obtain a ninth value, and convert the ninth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1200 can obtain the second ID according to the first ID.
[0512] In a possible implementation, in the first rule, the processing unit 1220 can be further configured to add the decimal number corresponding to the first ID to the total number of user IDs supported by the first user ID field to obtain a tenth value, and convert the tenth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1200 can obtain the second ID according to the first ID.
[0513] In a possible implementation, in the first rule, the processing unit 1220 can be further configured to add the second constant to the total number of user IDs supported by the first user ID field after adding the decimal number corresponding to the first ID to obtain an eleventh value, and convert the eleventh value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1200 can obtain the second ID according to the first ID.
[0514] In a possible implementation, the decimal number corresponding to the first ID is an 11-digit mobile phone number. The first data packet is an application layer data packet, and the one or more second data packets are satellite link control layer protocol data units (SLCPDUs).
[0515] Optionally, the transceiver 1210 is further configured to perform the functions of transmitting and receiving performed by the terminal 100 in the method embodiments shown in FIG. 8, FIG. 9, and FIG. 10.
[0516] Optionally, the processing unit 1220 is further configured to perform the functions of protocol analysis and encapsulation performed by the terminal 100 in the method embodiments shown in FIG. 2 and FIG. 5, and the functions of generating a data packet, splitting a data packet, packetizing, determining a second ID according to a first ID, and the like, performed by the terminal 100 in the method embodiments shown in FIG. 8, FIG. 9, and FIG. 10.
[0517] It should be understood that the communication apparatus 1200 in this design can correspond to perform the method steps performed by the terminal 100 in the foregoing embodiments, and thus will not be described herein again for brevity.
[0518] In the case of using integrated units, referring to FIG. 13, FIG. 13 is a structural schematic diagram of a communication apparatus 1300 provided by an embodiment of the present application. The communication apparatus 1300 can be the satellite network device 200 in the foregoing embodiments. Optionally, the communication apparatus 1300 can be a specific network element in the satellite network device 200, for example, one network element or a combination of multiple network elements in the satellite network device 22 or the satellite network device 23. As shown in FIG. 13, the communication apparatus 1300 can include a transceiver 1310 and a processing unit 1320.
[0519] In one design, the transceiver 1310 is configured to receive one or more second data packets or transmit one or more second data packets.
[0520] In a possible implementation, the one or more second data packets contain a second ID, which is determined by the terminal 100 or the satellite network device 23 in the satellite network device 200 according to the user identifier, i.e., the first ID, of the terminal 100. The second ID is used to identify the terminal 100 in the one or more terminals with the user identifier being the first ID. How the terminal 100 or the satellite network device 23 determines the second ID according to the first ID can be referred to the description of how the terminal 100 determines the second ID according to the first ID.
[0521] Optionally, in a possible implementation, the one or more second data packets contain the first ID and a first indication. The first ID and the first indication are used to identify the terminal 100 in the one or more terminals with the user identifier being the first ID.
[0522] The transceiver 1310 can be configured to receive one or more second data packets, and the one or more second data packets contain a second ID. The second ID can be used by the communication apparatus 1300 to distinguish the second data packets sent by the first terminal from the one or more terminals whose user identities are the first ID.
[0523] The processing unit 1320 can be configured to generate the first data packet.
[0524] The processing unit 1320 can be further configured to determine the second ID according to the first ID.
[0525] The processing unit 1320 can be further configured to determine the one or more second data packets according to the first data packet.
[0526] The processing unit 1320 can be further configured to, after the transceiver 1310 receives the one or more second data packets, packetize the one or more second data packets into the first data packet.
[0527] The processing unit 1320 can be further configured to, after the transceiver 1310 receives the one or more second data packets, determine, according to the second ID contained in the one or more second data packets, that the sending terminal of the first data packet corresponds to the user identity of the first ID.
[0528] In a possible implementation, the transceiver 1310 can be configured to receive one or more second data packets sent by the first terminal, and the one or more second data packets contain a first ID and a first indication, the first ID being the user identity of the first terminal, the first terminal belonging to one or more terminals, the user identities of the one or more terminals being the same, and the first indication and the first ID being used to identify the first terminal in the one or more terminals.
[0529] In a possible implementation, the processing unit 1320 can be further configured to determine the second ID according to the device identity of the terminal 100 and the first ID.
[0530] In a possible implementation, a first user ID field is contained in the header of the one or more second data packets, and the first user ID field carries the second ID.
[0531] In a possible implementation, the processing unit 1320 can be further configured to determine the second ID according to the first ID according to a first rule.
[0532] The first rule includes at least one of the following:
[0533] 1. inserting a first value between the first digit and the second digit in the decimal number corresponding to the first ID to obtain a second value, the first value being determined by the equipment identity of the communication apparatus 1300 and / or the maximum number of terminals corresponding to the first ID, the first value being an integer greater than or equal to 0.
[0534] 2. obtaining the second ID according to the decimal number corresponding to the first ID and a first constant, the first constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0535] 3. obtaining the second ID according to the maximum decimal number supported to be carried in the first user ID field and the decimal number corresponding to the first ID.
[0536] 4. obtaining the second ID according to the maximum decimal number supported to be carried in the first user ID field, the decimal number corresponding to the first ID and the first constant.
[0537] 5. obtaining the second ID according to the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID.
[0538] 6. obtaining the second ID according to the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID and a second constant, the second constant being less than the maximum decimal number supported to be carried in the first user ID field.
[0539] 7. setting the highest digit of the decimal number corresponding to the first ID to a third value to obtain a fourth value, the third value having one or two digits; converting the fourth value from decimal to binary to obtain the second ID.
[0540] In this way, the communication apparatus 1300 can map the first ID to the second ID according to the first rule described above. The communication apparatus 1300 can map the first ID to different second IDs according to the first rule described above, and different terminals with the first ID as the user identity can correspond to different second IDs. In this way, the receiving terminals can distinguish the one or more second data packets sent by the communication apparatus 1300 according to the different second IDs.
[0541] In some examples, the communication apparatus 1300 maps the first ID to the ID corresponding to the terminal 100 according to the first rule, which is referred to as the second ID. The communication apparatus 1300 maps the first ID to the ID corresponding to the terminal 300 according to the first rule, which is referred to as the third ID.
[0542] In a possible implementation, the second ID is equal to the first ID. That is, the ID obtained by the communication apparatus 1300 by mapping the first ID according to the first rule can be the first ID.
[0543] In a possible implementation, in the first rule, the processing unit 1320 can be further configured to add a first constant to the decimal number corresponding to the first ID to obtain a fifth value, and convert the fifth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1300 can obtain the second ID according to the first ID.
[0544] Optionally, in another possible implementation, in the first rule, the processing unit 1320 can be further configured to add a first constant to the decimal number corresponding to the first ID to obtain a fifth value, insert a first value between the first digit and the second digit of the fifth value to obtain a sixth value, and convert the sixth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1300 can obtain the second ID according to the first ID.
[0545] In a possible implementation, the maximum number of terminals corresponding to the first ID is determined by the maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID.
[0546] In a possible implementation, in the first rule, the processing unit 1320 can be further configured to subtract the decimal number corresponding to the first ID from the maximum decimal number supported by the first user ID field to obtain a seventh value, and convert the seventh value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1300 can obtain the second ID according to the first ID.
[0547] In a possible implementation, in the first rule, the processing unit 1320 can be further configured to subtract the decimal number corresponding to the first ID from the maximum decimal number supported by the first user ID field, and then subtract a first constant to obtain a ninth value, and convert the ninth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1300 can obtain the second ID according to the first ID.
[0548] In a possible implementation, in the first rule, the processing unit 1320 can be further configured to add the decimal number corresponding to the first ID to the total number of user IDs supported by the first user ID field to obtain a tenth value, and convert the tenth value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1300 can obtain the second ID according to the first ID.
[0549] In a possible implementation, in the first rule, the processing unit 1320 can be further configured to add the decimal number corresponding to the first ID to the total number of user IDs supported by the first user ID field, and then add a second constant to obtain an eleventh value, and convert the eleventh value from decimal to binary to obtain the second ID. In this way, the communication apparatus 1300 can obtain the second ID according to the first ID.
[0550] In a possible implementation, the decimal number corresponding to the first ID is an 11-digit mobile phone number. The first data packet is an application layer data packet, and the one or more second data packets are satellite link control layer protocol data units (SLCPDUs).
[0551] Optionally, the transceiver unit 1310 can also be configured to perform the functions of transmitting and receiving performed by the satellite network device 200 in the method embodiments shown in FIGS. 8, 9, and 10.
[0552] Optionally, the processing unit 1320 can also be configured to perform the functions of protocol analysis and encapsulation performed by the terminal 100 in the method embodiments shown in FIGS. 3 and 4, and the functions of generating a data packet, splitting a data packet, packetizing, determining a second ID according to a first ID, and the like, performed by the satellite network device 200 in the method embodiments shown in FIGS. 8, 9, and 10.
[0553] It should be understood that the communication apparatus 1300 in this design can correspond to the method steps performed by the satellite network device 200 in the foregoing embodiments, and thus will not be described here in detail.
[0554] The terminal 100 and the satellite network device 200 of the embodiments of the present application are introduced above, and it should be understood that any product with the functions of the terminal 100 shown in FIG. 12 and any product with the functions of the satellite network device 200 shown in FIG. 13 fall within the protection scope of the embodiments of the present application.
[0555] As a possible product form, the terminal 100 described in the embodiments of the present application can be implemented by a general bus architecture.
[0556] Referring to FIG. 14, FIG. 14 is a structural schematic diagram of a communication apparatus 1400 provided by the embodiments. The communication apparatus 1400 can be the terminal 100 or an apparatus therein. As shown in FIG. 14, the communication apparatus 1400 includes a processor 1401 and a transceiver 1402 connected with the processor internally. The processor 1401 is a general processor or a special-purpose processor, etc. For example, it can be a baseband processor or a central processor of satellite communication. The baseband processor of satellite communication can be used to process satellite communication protocol and satellite communication data, and the central processor can be used to control the communication apparatus (such as a baseband chip, a terminal, a terminal chip, etc.), execute a computer program, and process data of the computer program. The transceiver 1402 can be referred to as a transceiving unit, a transceiver, or a transceiving circuit, etc., and is used to realize a transceiving function. The transceiver 1402 can include a receiver and a transmitter. The receiver can be referred to as a receiver or a receiving circuit, etc., and is used to realize a receiving function. The transmitter can be referred to as a transmitter or a transmitting circuit, etc., and is used to realize a transmitting function. Optionally, the communication apparatus 1400 can further include an antenna 1403 and / or a radio frequency unit (not shown in the figure). The antenna 1403 and / or the radio frequency unit can be located inside the communication apparatus 1400, or can be separated from the communication apparatus 1400, i.e., the antenna 1403 and / or the radio frequency unit can be remotely deployed or distributedly deployed.
[0557] Optionally, the communication apparatus 1400 can include one or more memories 1404, which can have instructions stored thereon. The instructions can be a computer program, which can be run on the communication apparatus 1400, so that the communication apparatus 1400 performs the method described in the above method embodiments. Optionally, the memory 1404 can also store data. The communication apparatus 1400 and the memory 1404 can be separately arranged, or can be integrated together.
[0558] The processor 1401, the transceiver 1402, and the memory 1404 can be connected through a communication bus.
[0559] In one design, the communication apparatus 1400 can be used to perform the functions of the terminal 100 in the foregoing embodiments. The processor 1401 can be used to perform the function steps related to protocol analysis and packaging and operation determination performed by the terminal 100 in the embodiments shown in FIG. 8, FIG. 9, and FIG. 10 and / or other processes for the techniques described herein. The transceiver 1402 can be used to perform the function steps related to protocol analysis and packaging and operation determination performed by the terminal 100 in the embodiments shown in FIG. 8, FIG. 9, and FIG. 10 and / or other processes for the techniques described herein.
[0560] In any of the above designs, the processor 1401 can include a transceiver for implementing the receiving and sending functions. For example, the transceiver can be a transceiver circuit, or an interface, or an interface circuit. The transceiver circuit, interface or interface circuit for implementing the receiving and sending functions can be separate or integrated together. The above transceiver circuit, interface or interface circuit can be used for code / data reading and writing, or the above transceiver circuit, interface or interface circuit can be used for signal transmission or transfer.
[0561] In any of the above designs, the processor 1401 can store instructions, which can be a computer program, running on the processor 1401, which can cause the communication device 1400 to perform the method steps performed by the terminal 100 in the above method embodiments. The computer program can be fixed in the processor 1401, in which case the processor 1401 can be implemented by hardware.
[0562] In an implementation manner, the communication device 1400 can include a circuit, which can implement the functions of sending or receiving or communication in the above method embodiments. The processor and transceiver described in the present application can be implemented on an integrated circuit (IC), an analog IC, a radio frequency integrated circuit (RFIC), a mixed signal IC, an application specific integrated circuit (ASIC), a printed circuit board (PCB), an electronic device, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal oxide semiconductor (NMOS), P-type metal oxide semiconductor (PMOS), bipolar junction transistor (BJT), bipolar CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), etc.
[0563] The scope of the communication device described in the present application is not limited thereto, and the structure of the communication device can not be limited by Figure 14. The communication device 1400 can be a standalone device or can be part of a larger device. For example, the communication device 1400 can be:
[0564] (1) a standalone integrated circuit (IC), or a chip, or a chip system or subsystem;
[0565] (2) having one or more sets of ICs, optionally, the IC sets can also include storage components for storing data, computer programs, etc.
[0566] (3) ASICs, such as modems;
[0567] (4) modules that can be embedded within other devices;
[0568] (5) receivers, terminals, intelligent terminals, cellular phones, wireless devices, handsets, mobile units, in-vehicle devices, network devices, cloud devices, artificial intelligence devices, etc.
[0569] (6) other, etc.
[0570] As a possible product form, any network element in the satellite network device 200 (for example, the satellite network device 22, the satellite network device 23) described in the embodiments of the present application can be implemented by a general bus architecture.
[0571] Referring to FIG. 15, FIG. 15 is a structural schematic diagram of a communication apparatus 1500 provided by the embodiments of the present application. The communication apparatus 1500 can be the satellite network device 200, or an apparatus therein. As shown in FIG. 15, the communication apparatus 1500 includes a processor 1501 and a transceiver 1502 connected with the processor internally. The processor 1501 is a general processor or a special-purpose processor, etc. For example, it can be a baseband processor or a central processor of satellite communication. The baseband processor of satellite communication can be used to process satellite communication protocols and satellite communication data, and the central processor can be used to control the communication apparatus (such as a baseband chip, etc.), execute computer programs, and process data of computer programs. The transceiver 1502 can be referred to as a transceiving unit, a transceiver, or a transceiving circuit, etc., and is used to realize the transceiving function. The transceiver 1502 can include a receiver and a transmitter. The receiver can be referred to as a receiver or a receiving circuit, etc., and is used to realize the receiving function; the transmitter can be referred to as a transmitter or a transmitting circuit, etc., and is used to realize the transmitting function. Optionally, the communication apparatus 1500 can also include an antenna 1503 and / or a radio frequency unit (not shown in the figure). The antenna 1503 and / or the radio frequency unit can be located inside the communication apparatus 1500, or can be separated from the communication apparatus 1500, that is, the antenna 1503 and / or the radio frequency unit can be remotely deployed or distributedly deployed.
[0572] Optionally, one or more memories 1504 can be included in the communication apparatus 1500, on which instructions can be stored, which can be computer programs, the computer programs can be run on the communication apparatus 1500, so that the communication apparatus 1500 performs the methods described in the above method embodiments. Optionally, the memory 1504 can also store data. The communication apparatus 1500 and the memory 1504 can be separately arranged, or can be integrated together.
[0573] Among them, the processor 1501, the transceiver 1502, and the memory 1504 can be connected through a communication bus.
[0574] In one design, the communication apparatus 1500 can be used to perform the functions of the satellite network device 200 in the foregoing embodiments: the processor 1501 can be used to perform the function steps and / or other processes described in the foregoing embodiments of FIG. 8, FIG. 9, and FIG. 10 for protocol parsing and encapsulation and operation determination performed by the satellite network device 200; and the transceiver 1502 can be used to perform the function steps and / or other processes described in the foregoing embodiments of FIG. 8, FIG. 9, and FIG. 10 for protocol parsing and encapsulation and operation determination performed by the satellite network device 200.
[0575] In any of the above designs, the processor 1501 can include a transceiver for implementing receiving and transmitting functions. For example, the transceiver can be a transceiver circuit, or an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing receiving and transmitting functions can be separate or integrated together. The above transceiver circuit, interface, or interface circuit can be used for reading and writing of code / data, or the above transceiver circuit, interface, or interface circuit can be used for transmission or transfer of signals.
[0576] In any of the above designs, the processor 1501 can store instructions, which can be computer programs, the computer programs running on the processor 1501 can make the communication apparatus 1500 perform the method steps performed by the satellite network device 200 in the above method embodiments. The computer programs can be fixed in the processor 1501, in which case the processor 1501 can be implemented by hardware.
[0577] The embodiments of the present application also provide a computer readable storage medium, which stores computer program codes, when the above processor executes the computer program codes, the communication apparatus performs the method in any of the foregoing embodiments.
[0578] The embodiments of the present application also provide a computer program product, when the computer program product runs on a computer, the computer performs the method in any of the foregoing embodiments.
[0579] The embodiment of the present application further provides a communication device, which can exist in the form of a chip product. The device comprises a processor and an interface circuit. The processor is configured to communicate with other devices through the receiving circuit, so that the device executes the method in any of the foregoing embodiments.
[0580] The embodiment of the present application further provides a communication system, which comprises a terminal 100 and a satellite network device 200. The terminal 100 and the satellite network device 200 can execute the method in any of the foregoing embodiments.
[0581] In the embodiment of the present application, the first terminal can be the terminal 100 in FIG. 1, and the first satellite network device can be the satellite network device 22 or the satellite network device 200 in FIG. 1. The second satellite network device can be implemented as the satellite network device 23 in FIG. 1.
[0582] Alternatively, the first satellite network device can be the satellite network device 22 and / or the satellite network device 23 in FIG. 1.
[0583] For example, the first data packet can be the data packet 1 in the embodiment, and the one or more second data packets can be the one or more data packets 2 in the embodiment. Alternatively, the first data packet can be the data packet 3 in the embodiment, and the one or more second data packets can be the one or more data packets 4 in the embodiment. Alternatively, the first data packet can be the data packet 5 in the embodiment, and the one or more second data packets can be the one or more data packets 6 in the embodiment. Alternatively, the first data packet can be the data packet 7 in the embodiment, and the one or more second data packets can be the one or more data packets 8 in the embodiment. Alternatively, the first data packet can be the data packet 9 in the embodiment, and the one or more second data packets can be the one or more data packets 10 in the embodiment.
[0584] The above-described and above-embodied technical solutions are merely used to illustrate the technical solutions of the present application, rather than limit the same. Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can modify the technical solutions recorded in the foregoing embodiments, or equivalently replace some of the technical features, without departing from the scope of the technical solutions of the embodiments of the present application.
[0585] In the above embodiments, the term "when" can be interpreted as meaning "if" or "after" or "in response to determining" or "in response to detecting" depending on the context. Similarly, the phrase "upon determining" or "if detecting (a stated condition or event)" can be interpreted as meaning "if determining" or "in response to determining" or "upon detecting (a stated condition or event)" or "in response to detecting (a stated condition or event)" depending on the context.
[0586] In the above embodiments, all or part of the methods can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the methods can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media (such as DVD), or semiconductor media (such as solid state disk), etc.
[0587] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by a computer program to instruct the relevant hardware to complete, and the program can be stored in a computer readable storage medium, and the program can include the processes of the above-mentioned method embodiments when executed. The aforementioned storage medium includes ROM or random access memory (RAM), magnetic disk or optical disk, and various media that can store program codes.
Claims
A communication method, characterized in that, include: Generate the first data packet; The second ID is determined based on the first ID, where the first ID is the user identifier of the first terminal, and the first terminal belongs to one or more terminals, and the user identifiers of the one or more terminals are the same. One or more second data packets are determined based on the first data packet; The one or more second data packets are sent to the first satellite network device, wherein the one or more second data packets contain the second ID. The method according to claim 1, characterized in that, The second ID is used to group the one or more second data packets into a first data packet. The method according to claim 1 or 2, characterized in that, The second ID is used to identify the user identifier of the sending terminal of the first data packet as the first ID, and the sending terminal is the first terminal. The method according to claim 3, characterized in that, The header of the one or more second data packets contains a first user ID field, which carries the second ID. The method according to claim 4, characterized in that, The step of determining the second ID based on the first ID includes: The second ID is determined based on the device identifier of the first terminal and the first ID. The method according to claim 1 or 5, characterized in that, Determining the second ID based on the first ID includes: determining the second ID according to a first rule and the first ID; the first rule includes at least one of the following: inserting a first value between the first and second digits of the decimal number corresponding to the first ID to obtain a second value, wherein the first value is determined by the device identifier of the first terminal and / or the maximum number of terminals corresponding to the first ID, and the first value is an integer greater than or equal to 0; or, The second ID is obtained based on the decimal number corresponding to the first ID and a first constant, wherein the first constant is less than the maximum decimal number that can be carried in the first user ID field; or, The second ID is obtained based on the maximum decimal number that the first user ID field can carry and the decimal number corresponding to the first ID; or, The second ID is obtained based on the maximum decimal number that the first user ID field can carry, the decimal number corresponding to the first ID, and the first constant; or, The second ID is obtained based on the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID; or, The second ID is obtained based on the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID, and a second constant, wherein the second constant is less than the maximum decimal number supported by the first user ID field; or, Set the highest bit of the decimal number corresponding to the first ID to the third value to obtain the fourth value. The third value has one or two bits. The fourth value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The second ID is equal to the first ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the decimal number corresponding to the first ID and the first constant includes: Add the first constant to the decimal number corresponding to the first ID to obtain the fifth value; The fifth value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the decimal number corresponding to the first ID and the first constant includes: Add the first constant to the decimal number corresponding to the first ID to obtain the fifth value; Insert the first value between the first and second digits of the fifth value to obtain the sixth value; The sixth value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The maximum number of terminals corresponding to the first ID is determined by the maximum decimal number that the first user ID field can carry, and the decimal number corresponding to the first ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the maximum decimal number supported by the first user ID field and the decimal number corresponding to the first ID includes: Subtract the decimal number corresponding to the first ID from the maximum decimal number that the first user ID field can carry to obtain the seventh value; The seventh value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the maximum decimal number supported by the first user ID field, the decimal number corresponding to the first ID, and the first constant includes: Subtract the decimal number corresponding to the first ID from the maximum decimal number that the first user ID field can carry, and then add the first constant to obtain the eighth value; The eighth value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the maximum decimal number supported by the first user ID field, the decimal number corresponding to the first ID, and the first constant includes: Subtract the decimal number corresponding to the first ID from the maximum decimal number that the first user ID field can carry, and then subtract the first constant to obtain the ninth value; The ninth value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the total number of user IDs supported by the first user ID field and the decimal number corresponding to the first ID includes: Add the total number of user IDs supported by the first ID field to the decimal number corresponding to the first ID to obtain the tenth value; The tenth value is converted from decimal to binary to obtain the second ID. The method according to claim 6, characterized in that, The step of obtaining the second ID based on the total number of user IDs supported by the first user ID field, the decimal number corresponding to the first ID, and a second constant includes: Add the total number of user IDs supported by the first user ID field to the decimal number corresponding to the first ID, and then add the second constant to obtain the eleventh value; The eleventh value is converted from decimal to binary to obtain the second ID. The method according to any one of claims 1-15, characterized in that, The decimal number corresponding to the first ID is a mobile phone number. The method according to claim 16, characterized in that, The first data packet is an application layer data packet, and the one or more second data packets are Satellite Link Control Layer Protocol Data Units (SLC PDUs). A communication method, characterized in that, include: Receive one or more second data packets sent by a first terminal, wherein the one or more second data packets contain a second ID, the second ID being used to identify the first terminal among one or more terminals identified by the user as a first ID; Based on the second ID, the one or more second data packets are grouped into a first data packet; Send the first data packet and the second ID to the second satellite network device, or send the first data packet and the first ID. The method according to claim 18, characterized in that, Before sending the first data packet and the first ID, the method further includes: The first ID is determined based on the second ID. A communication method, characterized in that, include: Receive a first data packet and a second ID sent by a first satellite network device, or receive the first data packet and the first ID, wherein the second ID is used to indicate that the first data packet comes from a first terminal among one or more terminals identified by the user as the first ID; The user identifier of the sending terminal corresponding to the first data packet is determined to be the first ID. The method according to claim 20, characterized in that, The step of determining the user identifier of the sending terminal corresponding to the first data packet as the first ID includes: The user identifier of the sending terminal corresponding to the first data packet is determined as the first ID based on the second ID. A communication method, characterized in that, include: Generate the first data packet; One or more second data packets are determined based on the first data packet. The one or more second data packets contain a first ID and a first indication. The first ID is a user identifier of a first terminal. The first terminal belongs to one or more terminals. The user identifiers of the one or more terminals are the same. The first indication and the first ID are used to identify the first terminal among the one or more terminals. Send one or more second data packets to the first satellite network device. The method according to claim 22, characterized in that, The first ID and the first indication are used by the first satellite network device to package the one or more second data packets into the first data packet. A communication method, characterized in that, include: Receive one or more second data packets sent by a first terminal, wherein the one or more second data packets contain a first ID and a first indication, wherein the first ID is a user identifier of the first terminal, the first terminal belongs to one or more terminals, the user identifiers of the one or more terminals are the same, and the first indication and the first ID are used to identify the first terminal among the one or more terminals; Based on the first instruction and the first ID, one or more second data packets are grouped together as the first data packet. A communication method, characterized in that, include: Generate the first data packet; Send the first data packet and the first ID to the first satellite network device, or send the first data packet and the second ID; The first ID is the user identifier corresponding to the receiving terminal of the first data packet, and the second ID identifies the first terminal among one or more terminals whose user identifier is the first ID; The first data packet is used by the first satellite network device to determine one or more second data packets based on the first data packet and send them to the first terminal. The second ID is used by the first terminal to determine that it has received the one or more second data packets and to assemble the one or more second data packets into the first data packet. The method according to claim 25, characterized in that, Before sending the first data packet and the second ID, the method further includes: The second ID is determined based on the first ID. A communication method, characterized in that, include: Receive a first data packet and a second ID sent by a second satellite network device, or receive the first data packet and the first ID sent by a second satellite network device; One or more second data packets are determined based on the first data packet, the one or more second data packets containing a second ID, the second ID being used to identify the first terminal of one or more terminals identified by the user as the first ID; The first terminal sends one or more second data packets, and the second ID is used by the first terminal to determine that it has received the one or more second data packets. The method according to claim 27, characterized in that, After receiving the first data packet and the first ID sent by the second satellite network device, the method further includes: The second ID is determined based on the first ID. A communication method, characterized in that, include: Receive one or more second data packets sent by a first satellite network device, the one or more second data packets containing a second ID, the second ID being used to indicate a first terminal among one or more terminals identified by a first ID; The first data packet is determined based on the one or more second data packets; Based on the second ID, the user identifier corresponding to the receiving terminal of the first data packet is determined to be the first ID, and the receiving terminal is the first terminal. A communication device, characterized in that, The device includes one or more processors; wherein the one or more processors are coupled to one or more memories, the one or more memories being used to store computer program code, the computer program code including computer instructions, which, when executed by the one or more processors, cause the communication device to perform the method as described in any one of claims 1-29. A chip characterized in that, The chip is used in an electronic device, the chip including one or more processors, the processing being used to invoke computer instructions to cause the chip to perform the method as described in any one of claims 1-29. A computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-29. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1-29.
Citation Information
Patent Citations
Satellite multicast short message method and related device
CN116321015A
Satellite communication method, nonvolatile storage medium and electronic equipment
CN116488710A
Key updating method in beidou communication system, and system and related apparatus
WO2023011376A1
Inbound transmission control method and system in beidou communication system, and related apparatus
WO2023011379A1