A user clustering method for a satellite communication system
Patent Information
- Application Number
- CN202410531498.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-29
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2044-04-29
AI Technical Summary
该类方法不需要提前选择聚类数目,但是缺乏面向卫星网络场景和具体问题需求的针对性设计
[0039]本发明的卫星通信系统的用户聚类方法不需要提前预设聚类数目的聚类方法,因此该方法不受聚类数目限制,能够根据网络实际接入用户的属性进行用户聚类。同时,该方法支持针对卫星网络中的不同应用需求设置不同聚类检测条件,有助于得到恰当的用户分组结果,由此所得到的用户分组结果与以用户组为调度单位的调度算法如随机接入、移动性管理等机制的增强技术结合,能够实现性能增强,优化网络资源分配。
Smart Images

Figure CN118445642B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of wireless communication technology, specifically relating to a user clustering method for satellite communication systems. Background Technology
[0002] Satellite networks offer wide coverage and can serve a large number of users. As satellite network applications diversify, the number of users served by satellite networks will continue to grow. For example, in satellite IoT scenarios, satellite networks provide services to a large number of IoT devices distributed around the world. The access of a large number of users will pose challenges to the random access and mobility management mechanisms of satellite networks. In existing technologies, scheduling mechanisms based on user groups can reduce system signaling overhead and optimize network resource allocation.
[0003] For example, in a low-Earth orbit (LEO) satellite IoT scenario, a large number of sensor devices connect to the LEO satellite network. As LEO satellites move, a large number of sensor terminals at the edge of the coverage area may simultaneously trigger handover. In this case, handover based on a single user may cause a surge in control signaling in the network, leading to handover failure. Dividing users to be handed over into user groups and initiating handover using user groups as the basic unit of handover scheduling will help alleviate link congestion. Similarly, during random access, a large number of devices connecting to the satellite network will cause network congestion. Grouping devices according to their characteristics and service requirements, and selecting representative users from these user groups to initiate random access will help alleviate congestion.
[0004] However, for scheduling mechanisms that use user groups as the scheduling unit, the specific grouping methods and scheduling mechanism optimizations are still under research.
[0005] Currently, clustering methods can be divided into two categories based on whether the number of clusters needs to be preset. One category includes methods that require a preset number of clusters (such as K-means). Due to the complex communication environment of satellite networks, it is difficult to obtain sufficient prior information to determine the appropriate number of clusters for the problem scenario. Choosing an inappropriate number of clusters will result in user group groupings that do not meet the scenario requirements, thus affecting system performance. The other category includes methods that do not require a preset number of clusters (such as Birch). These methods do not require pre-selection of the number of clusters, but lack specific design tailored to satellite network scenarios and specific problem requirements. Summary of the Invention
[0006] The purpose of this invention is to provide a user clustering method for satellite communication systems, which is not limited by the number of clusters and can perform user clustering based on the attributes of actual network users, thus making it applicable to various network scenarios.
[0007] To achieve the above objectives, the present invention provides a user clustering method for a satellite communication system, comprising:
[0008] S1: Initialize the clustering queue q initial Sum of positive clustering queues q in ;
[0009] S2: Calculate the attribute values for all users;
[0010] S3: Sort all users according to their attribute values to obtain the queue q to be clustered. initial ;
[0011] S4: Set clustering detection conditions based on the scheduling process applied to the user grouping results;
[0012] S5: According to the queue of clustering objects q initial The clustering detection conditions are applied sequentially to all users in that order, and a user is included in the positive clustering queue q when all clustering detection conditions are met. in If a user is not included in the currently being clustered user group, the process continues with the next user based on the type of clustering detection condition that the user does not meet, or the positive clustering queue q is cleared. in And detect those not included in the positive clustering queue q in Users are used to begin clustering into new user groups; this continues until all users have been included in the positive clustering queue q. in At this point, the user grouping results are obtained;
[0013] S6: Based on the user grouping results, execute the scheduling process with user groups as the scheduling unit.
[0014] Preferably, the queue to be clustered q initial A positive clustering queue q is used to store users whose clustering detection criteria have not yet been determined. in This indicates the user group currently being clustered, and it is used to store the users in the user group currently being clustered.
[0015] Preferably, in step S1, the queue to be clustered q initial Sum of positive clustering queues q in Initialize to empty.
[0016] Preferably, in step S2, the user's attribute value is calculated based on the user's attributes; the attributes are parameters that can reflect user characteristic information and conform to the application's scheduling process; the user's characteristic information includes at least one of the user's geographical location, user's movement speed, user's resource requirements, user's service level, user's energy consumption, and user's communication quality.
[0017] Preferably, in step S2, calculating the attribute values of all users includes: for each user, normalizing all attributes of that user and calculating the average value, where the average value is the attribute value of that user.
[0018] Preferably, in step S3, all users in the user set U to be clustered are sorted according to their attribute values according to a preset sorting method, and the users are then placed into the clustering queue q in sequence according to the sorting results. initial The default sorting method is from largest to smallest or from smallest to largest.
[0019] Preferably, in step S4, the clustering detection conditions include at least one of tolerable detection conditions and intolerable detection conditions.
[0020] Preferably, in step S4, the clustering detection conditions include both tolerable and intolerable detection conditions, and the set clustering detection conditions are numbered, with the number of the intolerable detection condition being less than the number of the tolerable detection condition; and in step S5, each user detection is performed in ascending order of the clustering detection condition numbers.
[0021] Preferably, in step S4, the user grouping results of the satellite communication system are applied to the scheduling process of inter-satellite handover of the satellite network, which is performed with user groups as the basic unit.
[0022] The clustering detection conditions include:
[0023] The first clustering detection condition: user switching time and positive clustering queue q in The difference in switching time between the first users in the queue is less than or equal to a difference threshold n, where n ≥ 0;
[0024] The second clustering detection condition: the user's candidate satellites and positive clustering queue q in In the intersection of all candidate satellites for users, there exists at least one identical satellite, and the start time for a user to be served by that satellite is less than or equal to the positive clustering queue q. in The earliest user switching time in the system.
[0025] Preferably, step S1 further includes: initializing the temporary queue q temp ;
[0026] Step S5 specifically includes:
[0027] S51: Determine the clustering queue q initial and temporary queue q temp Are all empty?
[0028] If the clustering queue q initial and temporary queue q temp If all are empty, then the positive clustering queue q will be... in The users in the group are aggregated into an end-user group, and then step S6 is executed;
[0029] If the clustering queue q initial and temporary queue q temp If one of them is not empty, continue to execute step S52;
[0030] Step S52: Determine the clustering queue q initial Is it empty?
[0031] If the clustering queue q initial If empty, move the positive clustering queue q to the left. in All users are aggregated into a final user group, and the positive clustering queue q is cleared. in The temporary queue q will be temporarily stored. temp Assign to the queue q to be clustered initial Clear the temporary queue q temp Return to step S51;
[0032] If the clustering queue q initial If it is not empty, continue to step S53;
[0033] Step S53: The queue to be clustered, q initial The first user in the queue is the user to be tested. j Determine the user to be detected, u j Can it be added to the positive clustering queue q? in ;
[0034] Where the positive clustering queue q in If empty, then directly add the user to be detected, u. j Add to positive clustering queue q in middle;
[0035] If the queue is not empty, then the user u to be detected is determined according to the clustering detection conditions. j The detection includes:
[0036] If the user to be tested is u j If all clustering detection conditions are met, then the user to be detected, u, will be... j Add to positive clustering queue q in Then, return to step S51;
[0037] If the user to be tested is u j If a situation arises where the tolerable detection conditions are not met, then the user to be detected will be... j Add to temporary queue q temp Return to step S51;
[0038] If the user to be tested is u j If an unacceptable detection condition is not met, the user to be detected will be... j Add to temporary queue q temp , and the positive clustering queue q inAll users are aggregated into a final user group, and the positive clustering queue q is cleared. in Then the queue to be clustered q initial The remaining users are added to the temporary queue q in turn. temp Then, the temporary queue q temp Assign to the queue q to be clustered initial Clear the temporary queue q temp Return to step S51.
[0039] The user clustering method for satellite communication systems of this invention does not require a pre-set number of clusters. Therefore, this method is not limited by the number of clusters and can cluster users based on the attributes of actual users accessing the network. Furthermore, this method supports setting different clustering detection conditions for different application needs in the satellite network, which helps to obtain appropriate user grouping results. The resulting user grouping results, combined with enhancement techniques for scheduling algorithms based on user groups, such as random access and mobility management mechanisms, can achieve performance enhancement and optimize network resource allocation. Attached Figure Description
[0040] Figure 1 This is a flowchart of a user clustering method for a satellite communication system according to the present invention. Detailed Implementation
[0041] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0042] To facilitate the description of the technical solution, the mathematical symbols used in the proposed technical solution are explained as follows.
[0043] The set of users to be clustered is represented as U = {u1, u2, ..., u} M}, where M is the total number of users to be clustered, and its value is a positive integer.
[0044] The i-th user u i The attributes of ∈U are represented as This attribute is used to characterize user features, where K is the dimension of the attribute, and K is a positive integer greater than or equal to 1. Parameters that reflect user features and conform to the application's scheduling process can be used as attributes.
[0045] For example, user characteristics could include a user's geographical location, movement speed, resource requirements, service level, energy consumption, and communication quality. In the group handover problem, both a user's geographical location and movement speed affect the scheduling result. Therefore, the user's x-coordinate, y-coordinate, altitude, x-coordinate component of the user's motion vector, and y-coordinate component of the user's motion vector can be considered as user attributes.
[0046] The set of satellites in the network is represented as S = {Sa1, Sa2, ..., Sa...} N}, where N is the total number of satellites in the network, and its value is a positive integer.
[0047] This invention proposes a user clustering method for satellite communication systems. It is not limited by the number of clusters and can cluster users based on the attributes of actual network users, thus making it applicable to various network scenarios. For example... Figure 1 As shown, the steps of the user clustering method for satellite communication systems in this method are as follows: Step S1 is queue initialization; Step S2 is user attribute value calculation; Step S3 is sorting users in the network; Step S4 is setting clustering detection conditions; Step S5 is the user clustering process.
[0048] Step S1: Initialize the clustering queue q initial Temporary queue q temp Sum of positive clustering queues q in .
[0049] In step S1, the queue to be clustered q initial Temporary queue q temp Sum of positive clustering queues q in These three queues are initialized to empty.
[0050] Among them, the queue to be clustered q initial and temporary queue q temp Used to store users who have not yet been grouped. Clustering queue q initial This queue is used to store users whose clustering detection criteria have not yet been determined. temp This queue is used to temporarily store users who do not meet the clustering detection criteria. These users have not yet been grouped, but do not meet the conditions for inclusion in the currently being clustered user group. When the next user group needs to be clustered and users are detected, these users will be detected again. Positive clustering queue q in This indicates the user group currently being clustered, and it is used to store the users in the user group currently being clustered. It should be noted that step S1 is only the initialization of the three queues; the usage of the three queues is described in step S5.
[0051] In other embodiments, there may only be a queue q to be clustered. initialSum of positive clustering queues q in Therefore, step S1 only requires initializing the queue to be clustered, q. initial Sum of positive clustering queues q in .
[0052] Step S2: Calculate the attribute values for all users;
[0053] The set of users to be clustered is represented as U = {u1, u2, ..., u...} M The set of users to be clustered contains all users.
[0054] The user's attribute values are calculated based on the user's attributes. One possible method for obtaining attributes is for the user to actively report them.
[0055] In this embodiment, calculating the attribute values of all users includes: for each user, normalizing all attributes of that user and calculating the average value, where the average value is the user's attribute value. That is, assuming the i-th user u... i The attribute is K is the dimension of the attribute, then the i-th user u i The attribute value is:
[0056]
[0057] Where, p K,max and p K,min These represent the maximum and minimum values of the Kth dimension attribute for the user, respectively.
[0058] Step S3: Sort all users according to their attribute values to obtain the queue q to be clustered. initial .
[0059] In step S3, according to a preset sorting method, all users in the user set U to be clustered are sorted based on their attribute values, and the users are then placed into the clustering queue q in sequence according to the sorting results. initial middle.
[0060] In this embodiment, since the attribute values correspond to user switching times, the preset sorting method is from earliest to latest (i.e., from smallest to largest). For example, in the satellite handover process, assume that the user's attribute dimension is one-dimensional, and the attribute is the switching time. Step S2 obtains the attribute value based on the user's switching time attribute. Then, in step S3, the users to be clustered can be sorted according to the switching time of the user group from earliest to latest.
[0061] In other embodiments, the preset sorting method can be from largest to smallest or from smallest to largest, etc. One possible sorting method is recursive sorting.
[0062] Step S4: Set clustering detection conditions based on the scheduling process applied to the user grouping results.
[0063] In step S4, clustering detection conditions need to be set according to system requirements. There is no limit to the number of clustering detection conditions set, and the specific number can be adjusted according to system requirements and system computing power.
[0064] The clustering detection criteria include at least one of tolerable and intolerable detection criteria. If a user does not meet the tolerable detection criteria, that user cannot be included in the currently being clustered user group (i.e., the positive clustering queue q). in However, the clustering of the current user group continues, meaning that the clustering queue q can continue to be inspected. initial Whether other users in the queue can be included in the user group. If a user does not meet the intolerable detection criteria, then the user cannot be included in the currently being clustered user group, and the clustering of the current user group ends, and the queue to be clustered q is no longer detected. initial Other users in the community.
[0065] Preferably, the clustering detection conditions are numbered. The number of the intolerable detection condition is lower than the number of the tolerable detection condition.
[0066] The specific determination of tolerable and intolerable detection conditions needs to be based on the actual application, and the specific determination depends on which scheduling strategy the user grouping results of this patent are applied to.
[0067] In this embodiment, the user grouping results of the satellite communication system are applied to the scheduling process of inter-satellite handover executed on a user group basis. Accordingly, in order to determine whether a user can be aggregated into the currently clustered user group to participate in satellite handover, the following two clustering detection conditions are set as clustering detection conditions that the user must meet.
[0068] The first clustering detection condition: user switching time and positive clustering queue q in The difference in switching time between the first users in the queue is less than or equal to a difference threshold n, where n ≥ 0. In this embodiment, the difference threshold n is 5. This condition is an intolerable detection condition.
[0069] The second clustering detection condition: the user's candidate satellites and positive clustering queue q in In the intersection of all candidate satellites for users, there exists at least one identical satellite, and the start time for a user to be served by that satellite is less than or equal to the positive clustering queue q. in The earliest user switching time in the system. This condition is a tolerable detection condition.
[0070] One alternative method for finding candidate satellites for a user is to determine this based on the start and end times of the user's satellite service. Assume the user to be detected is u. j The current serving satellite is Sa j Leaving satellite Sa j The time is If satellite Sa k For the user to be tested u j The service will begin at the time specified in the original text. and Then satellite Sa k User u to be tested j A candidate satellite, where j is the user sequence number of the user to be detected.
[0071] One optional method for obtaining the start and end times of a user's satellite service is to calculate them based on relevant parameters in the SIB broadcast information and the user's location information. The relevant parameters in the SIB broadcast information include, but are not limited to, satellite ephemeris state vectors, velocity vectors, and orbital parameters. One method for obtaining user location information is through user reporting.
[0072] It should be noted that step S4 only sets the clustering detection conditions, but does not use the clustering detection conditions. For the operation procedure of using the clustering detection conditions, please refer to step S5.
[0073] Step S5: According to the queue of clusterers q initial The clustering detection conditions are applied sequentially to all users in that order, and a user is included in the positive clustering queue q when all clustering detection conditions are met. in If a user is not included in the currently being clustered user group, the process continues with the next user based on the type of clustering detection condition that the user does not meet, or the positive clustering queue q is cleared. in And detect those not included in the positive clustering queue q in Users are used to begin clustering into new user groups; this continues until all users have been included in the positive clustering queue q. in At this point, the user grouping results are obtained.
[0074] The criteria are used to determine whether a user can be included in the currently being clustered user group. A user can be included in a user group if and only if all the criteria are met.
[0075] In step S5, each user detection is performed in ascending order of the cluster detection conditions. For example, assuming that three cluster detection conditions are set in step S4, namely cluster detection condition 1, cluster detection condition 2, and cluster detection condition 3, the detection order is first cluster detection condition 1, then cluster detection condition 2, and finally cluster detection condition 3.
[0076] Step S5 specifically includes:
[0077] Step S51: Determine the clustering queue q initial and temporary queue q temp Are all empty?
[0078] If the clustering queue q initial and temporary queue q temp If all are empty, then the positive clustering queue q will be... in Users are aggregated into a final user group, at which point user grouping is complete. Then, step S6 is executed.
[0079] If the clustering queue q initial and temporary queue q temp If one of them is not empty, then continue to execute step S52.
[0080] Step S52: Determine the clustering queue q initial Is it empty?
[0081] If the clustering queue q initial If empty, move the positive clustering queue q to the next empty queue. in All users are aggregated into a final user group, and the positive clustering queue q is cleared. in The temporary queue q will be temporarily stored. temp Assign to the queue q to be clustered initial Clear the temporary queue q temp Return to step S51 to iteratively execute step S5;
[0082] If the clustering queue q initial If it is not empty, continue to step S53.
[0083] Step S53: The queue to be clustered, q initial The first user in the queue is the user to be tested. j Determine the user to be detected, u j Can it be added to the positive clustering queue q? in ;
[0084] Where the positive clustering queue q in If empty, then directly add the user to be tested, u. j Add to positive clustering queue q in middle;
[0085] If the queue is not empty, then the user u to be detected is determined according to the clustering detection conditions. j Detection:
[0086] (1) If the user to be detected is u j If all clustering detection conditions are met, then the user to be detected, u, will be... j Add to positive clustering queue q inThen, return to step S51 to iteratively execute step S5;
[0087] (2) If the user to be detected is u j If a situation arises where the tolerable detection conditions are not met, then the user to be detected will be... j Add to temporary queue q temp Return to step S51 and iteratively execute step S5;
[0088] (3) If the user to be detected is u j If an unacceptable detection condition is not met, the user to be detected will be... j Add to temporary queue q temp , and the positive clustering queue q in All users are aggregated into a final user group, and the positive clustering queue q is cleared. in Then the queue to be clustered q initial The remaining users are added to the temporary queue q in turn. temp Then, the temporary queue q temp Assign to the queue q to be clustered initial Clear the temporary queue q temp Return to step S51 to iteratively execute step S5.
[0089] The one or more end-user groups obtained from steps S1 to S5 above are the final grouping results of users in the network.
[0090] Step S6: Based on the user grouping results, execute the scheduling process using user groups as the scheduling unit.
[0091] The user clustering method for satellite communication systems of this invention does not require a pre-set number of clusters. Therefore, this method is not limited by the number of clusters and can cluster users based on the attributes of actual users accessing the network. Furthermore, this method supports setting different clustering detection conditions for different application needs in the satellite network, which helps to obtain appropriate user grouping results. The resulting user grouping results, combined with enhancement techniques for scheduling algorithms based on user groups, such as random access and mobility management mechanisms, can achieve performance enhancement and optimize network resource allocation.
[0092] Experimental results:
[0093] In the experimental example, user clustering results are applied to the scheduling process of inter-satellite handover in a satellite network. The following parameter settings are used. Assume there are 3 users to be clustered, with a user set U = {u1, u2, u3} and M = 3. The user attribute dimension K is one-dimensional, representing the user handover time. The attributes of the 3 users are as follows: In the experimental scenario, suppose that in the handover process, the candidate satellite for user u1 is Sa2, and Sa2 can start providing services to u1 at time 6; the candidate satellite for user u2 is Sa2, and Sa2 can start providing services to u2 at time 8; and the candidate satellite for user u3 is Sa1, and Sa1 can start providing services to u3 at time 6. This embodiment groups the three users to be clustered using the following steps.
[0094] Step S1: Initialize the clustering queue q initial Temporary queue q temp Sum of positive clustering queues q in .
[0095] Among them, three queues q are maintained. initial q temp and q in The three queues are initialized to empty.
[0096] Step S2: Calculate the attribute values for all users;
[0097] In this embodiment, the attribute values of three users are calculated. The maximum value of the first-dimensional attribute of the user to be clustered is used. Minimum value User u1's attribute values User u2's attribute values User u3's attribute values
[0098] Step S3: Sort all users according to their attribute values to obtain the queue q to be clustered. initial .
[0099] In this embodiment, the preset sorting method is from earliest to latest.
[0100] Sort the three users according to the attribute values calculated in step S2, from earliest to latest. The sorting result is as follows: Place the three users into queue q in order of sorting. initial Then the current q initial The users in the list are: u1, u3, and u2.
[0101] Step S4: Set clustering detection conditions based on the scheduling process applied to the user grouping results.
[0102] In this embodiment, a tolerable detection condition and an intolerable detection condition are set.
[0103] The first clustering detection condition: user switching time and positive clustering queue q in The difference in switching time between the first users in the queue is less than or equal to 5. This condition is an intolerable detection condition.
[0104] The second clustering detection condition: the user's candidate satellites and positive clustering queue q in In the intersection of all candidate satellites for users, there exists at least one identical satellite, and the user's start time for being served by that satellite is less than or equal to the positive clustering queue q. in The earliest user switching time in the system. This condition is a tolerable detection condition.
[0105] Step S5: According to the queue of clusterers q initial The clustering detection conditions are applied sequentially to all users in that order, and a user is included in the positive clustering queue q when all clustering detection conditions are met. in If a user is not included in the currently being clustered user group, the process continues with the next user based on the type of clustering detection condition that the user does not meet, or the positive clustering queue q is cleared. in And detect those not included in the positive clustering queue q in Users are used to begin clustering into new user groups; this continues until all users have been included in the positive clustering queue q. in At this point, the user grouping results are obtained.
[0106] The first iteration of step S5:
[0107] Step S51: Determine the queue q initial and q temp Are all empty?
[0108] q initial Not empty, q temp Empty. Proceed to step S52.
[0109] Step S52: Determine the queue q initial Is it empty?
[0110] q initial If not empty, proceed to step S53.
[0111] Step S53: Determine q initial Can the first user in the team join q? in .
[0112] q initial The first user in the queue is u1, and the queue is q. in If it's empty, directly put u1 into q. in In the process, step S5 is executed iteratively.
[0113] After this iteration, q initial The users in the list are u3 and u2, respectively; q temp Empty; q in The user in the list is u1.
[0114] The second iteration of step S5:
[0115] Step S51: Determine the queue q initial and q temp Are all empty?
[0116] q initial Not empty, q temp Empty. Proceed to step S52.
[0117] Step S52: Determine the queue q initial Is it empty?
[0118] q initial If not empty, proceed to step S53.
[0119] Step S53: Determine q initial Can the first user in the team join q? in .
[0120] q initial The first user in the queue is u3, and the queue is q. in Not empty.
[0121] If u3 is tested and satisfies condition 1 but not condition 2 (condition 2 is a tolerable testing condition), then u3 is added to queue q. temp Iteratively execute step S5.
[0122] After this iteration, q initial The user in the context is u2; q temp The user in the context is u3; q in The user in the list is u1.
[0123] The third iteration of step S5:
[0124] Step S51: Determine the queue q initial and q temp Are all empty?
[0125] q initial and q temp If none of them are empty, proceed to step S52.
[0126] Step S52: Determine the queue q initial Is it empty?
[0127] q initial If not empty, proceed to step S53.
[0128] Step S53: Determine q initial Can the first user in the team join q? in .
[0129] q initial The first user in the queue is u2, and the queue is q.in Not empty.
[0130] If u2 satisfies conditions 1 and 2, then u2 is added to queue q. in In the process, step S5 is executed iteratively.
[0131] After this iteration, q initial Empty; q temp The user in the context is u3; q in The users in the list are u1 and u2.
[0132] The fourth iteration of step S5:
[0133] Step S51: Determine the queue q initial and q temp Are all empty?
[0134] q initial Empty, q temp If not empty, proceed to step S52.
[0135] Step S52: Determine the queue q initial Is it empty?
[0136] q initial Empty. (The q value is missing.) in All users, i.e., users u1 and u2, are aggregated into a final user group, and q is cleared. in . q temp Assign to q initial Clear q temp Then, iteratively execute step S5.
[0137] After this iteration, q initial The user in the context is u3; q temp Empty; q in Empty.
[0138] The fifth iteration of step S5:
[0139] Step S51: Determine the queue q initial and q temp Are all empty?
[0140] q initial Not empty, q temp If empty, proceed to step S52.
[0141] Step S52: Determine the queue q initial Is it empty?
[0142] q initial If not empty, proceed to step S53.
[0143] Step S53: Determine qinitial Can the first user in the team join q? in .
[0144] q initial The first user in the queue is u3, and the queue is q. in If it's empty, directly put u3 into q. in In the middle, iterative step S5.
[0145] After this iteration, q initial Empty; q temp Empty; q in The user in the list is u3.
[0146] The sixth iteration of step S5:
[0147] Step S51: Determine the queue q initial and q temp Are all empty?
[0148] q initial and q temp All are empty, so q in The users in the algorithm, i.e., u3, are aggregated into a final user group, and the algorithm ends.
[0149] By executing the above process, end users u1 and u2 are aggregated into one end user group, and user u3 is aggregated into another end user group.
[0150] Step S6: Based on the user grouping results, execute the scheduling process with user groups as the scheduling unit.
[0151] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A user clustering method for a satellite communication system, characterized in that, include: Step S1: Initialize the queue to be clustered Sum of positive clustering queues ; Step S2: Calculate the attribute values for all users; Step S3: Sort all users according to their attribute values to obtain the queue to be clustered. ; Step S4: Set clustering detection conditions based on the scheduling process applied to the user grouping results; Step S5: According to the queue of cells to be clustered The clustering detection conditions are applied sequentially to all users in that order, and a user is included in the positive clustering queue when all clustering detection conditions are met. If a user is not included in the currently being clustered user group, then the process continues to the next user or the positive clustering queue is cleared, depending on the type of clustering detection condition that the user does not meet. And detect those that have not been included in the positive clustering cohort. Users are then clustered into new user groups; this continues until all users have been included in the positive clustering queue. At this point, the user grouping results are obtained; Step S6: Based on the user grouping results, execute the scheduling process using user groups as the scheduling unit; In step S4, the clustering detection conditions include at least one of tolerable detection conditions and intolerable detection conditions; Step S1 further includes: initializing the temporary queue. ; Step S5 specifically includes: Step S51: Determine the queue to be clustered and temporary queue Are all empty? If the queue to be clustered and temporary queue If all are empty, then the positive clustering queue will be... The users in the group are aggregated into an end-user group, and then step S6 is executed; If the queue to be clustered and temporary queue If one of them is not empty, then continue to execute step S52; Step S52: Determine the queue to be clustered Is it empty? If the queue to be clustered If empty, the positive clustering queue will be... All users are aggregated into a single end-user group, and the positive clustering queue is cleared. The temporary queue will be temporarily stored. Assign to the queue to be clustered Clear the temporary queue Return to step S51; If the queue to be clustered If it is not empty, continue to step S53; Step S53: The queue to be clustered The first user in the queue is the user to be tested. Determine the user to be tested Can it be added to the positive clustering queue? ; If the positive clustering queue If empty, the user to be tested will be directly added. Add to positive clustering queue middle; If the queue is not empty, then the user to be detected is determined according to the clustering detection conditions. The detection includes: If the user to be tested If all clustering detection conditions are met, then the user to be detected will be... Add to positive clustering queue Then, return to step S51; If the user to be tested If the tolerable testing conditions are not met, the user to be tested will be... Add to temporary queue Return to step S51; If the user to be tested If an intolerable detection condition is not met, the user to be tested will be... Add to temporary queue , to cluster the queue All users are aggregated into a single end-user group, and the positive clustering queue is cleared. Then the queue to be clustered The remaining users are added to the temporary queue in turn. Then the temporary queue Assign to the queue to be clustered Clear the temporary queue Return to step S51.
2. The user clustering method for a satellite communication system according to claim 1, characterized in that, Clustering queue A positive clustering queue used to store users whose clustering detection criteria have not yet been determined. This indicates the user group currently being clustered, and it is used to store the users in the user group currently being clustered.
3. The user clustering method for a satellite communication system according to claim 1, characterized in that, In step S1, the queue to be clustered is... Sum of positive clustering queues Initialize to empty.
4. The user clustering method for a satellite communication system according to claim 1, characterized in that, In step S2, the user's attribute value is calculated based on the user's attributes; the attributes are parameters that can reflect user characteristic information and conform to the application's scheduling process; the user's characteristic information includes at least one of the following: user's geographical location, user's movement speed, user's resource requirements, user's service level, user's energy consumption, and user's communication quality.
5. The user clustering method for a satellite communication system according to claim 1, characterized in that, In step S2, the attribute values of all users are calculated, including: for each user, the average value is calculated after normalizing all the user's attributes, and the average value is the attribute value of the user.
6. The user clustering method for a satellite communication system according to claim 1, characterized in that, In step S3, the user set to be clustered is determined according to a preset sorting method and user attribute values. Sort all users and then place them into a queue to be clustered according to the sorting results. middle; The default sorting method is from largest to smallest or from smallest to largest.
7. The user clustering method for a satellite communication system according to claim 6, characterized in that, In step S4, the clustering detection conditions include both tolerable and intolerable detection conditions, and the set clustering detection conditions are numbered, with the number of the intolerable detection condition being less than the number of the tolerable detection condition. Furthermore, in step S5, each user detection is performed in ascending order of the cluster detection condition numbers.
8. The user clustering method for a satellite communication system according to claim 7, characterized in that, In step S4, the user grouping results of the satellite communication system are applied to the scheduling process of inter-satellite handover of the satellite network, which is performed with user groups as the basic unit. The clustering detection conditions include: First clustering detection criteria: user switching time and positive clustering queue. The difference in switching time between the first users in the queue is less than or equal to a difference threshold n, where n ≥ 0; Second clustering detection condition: the user's candidate satellites and positive clustering queue In the intersection of all candidate satellites for users, there exists at least one identical satellite, and the start time for a user to be served by that satellite is less than or equal to the positive clustering queue. The earliest user switching time in the system.
Citation Information
Patent Citations
User grouping method of satellite communication system
CN115361672A
Lightweight inter-satellite handover device and method for mega low-earth-orbit satellite networks
US20220345967A1