Data broadcast sequence generation method and device, equipment and computer storage medium
By adjusting and optimizing the broadcast time and order of data to be broadcasted, an efficient target broadcast sequence is generated, which solves the problem of low bandwidth utilization of L-band satellite broadcast link data and achieves higher bandwidth utilization.
Patent Information
- Application Number
- CN202411999956.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-13
AI Technical Summary
In the prior art, the bandwidth utilization rate of L-band satellite broadcast links is low, mainly due to the low efficiency of manual orchestration.
By adjusting the initial broadcast time of the data to be broadcast, an alternative broadcast sequence is generated, and the energy value is determined according to the broadcast time interval, the propagation sequence is adjusted to generate a new broadcast sequence, and finally the target broadcast sequence with a lower energy value is selected among the new broadcast sequence and the alternative broadcast sequence.
The bandwidth utilization rate of satellite broadcast link data is improved, and the problem of low manual orchestration efficiency is solved.
Smart Images

Figure CN119995678A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of satellite communication technology, and in particular, relates to a method, device, equipment and computer storage medium for generating a data broadcast sequence. Background Art
[0002] L-band satellites can be used to broadcast Global Navigation Satellite System (GNSS) enhanced State Space Representation (SSR) service data. SSR data includes different types, such as orbit error, clock error, code deviation, ionosphere-troposphere corrections, etc. Each correction data size varies and has an independent update cycle.
[0003] Currently, these data are usually arranged manually, and then broadcast in sequence according to the arranged sequence.
[0004] However, the existing manual arrangement method has low utilization rate of L-band satellite broadcast link data bandwidth. Summary of the invention
[0005] The embodiments of the present application provide a data broadcast sequence generation method, apparatus, device and computer storage medium, which can improve the data bandwidth utilization of satellite broadcast links.
[0006] In a first aspect, an embodiment of the present application provides a method for generating a data broadcast sequence, including:
[0007] Adjusting the initial broadcast time of at least one data to be broadcast, and obtaining the adjusted broadcast time of each data to be broadcast;
[0008] Generate a candidate broadcast sequence corresponding to the at least one data to be broadcast according to the adjusted broadcast time of each data to be broadcast and the broadcast duration of each data to be broadcast;
[0009] determining an energy value of the candidate broadcast sequence according to a broadcasting time interval of the data to be broadcasted in the candidate broadcasting sequence;
[0010] Adjusting the broadcasting order of at least two target data to be broadcasted in the candidate broadcasting sequence, and obtaining at least one new broadcasting sequence and an energy value of the new broadcasting sequence;
[0011] According to the energy value of the at least one new broadcast sequence and the energy value of the candidate broadcast sequence, a target broadcast sequence is determined from among the at least one new broadcast sequence and the candidate broadcast sequence.
[0012] In a second aspect, an embodiment of the present application provides a data broadcast sequence generation device, including:
[0013] An adjustment module, used to adjust the initial broadcast time of at least one data to be broadcast, and obtain the adjusted broadcast time of each data to be broadcast;
[0014] A generating module, configured to generate a candidate broadcast sequence corresponding to the at least one data to be broadcast according to the adjusted broadcast time of each data to be broadcast and the broadcast duration of each data to be broadcast;
[0015] An energy determination module, configured to determine an energy value of the candidate broadcast sequence according to a broadcast time interval of each to-be-broadcasted data in the candidate broadcast sequence;
[0016] An acquisition module, configured to adjust the broadcasting order of at least two target data to be broadcasted in the candidate broadcasting sequence, and acquire at least one new broadcasting sequence and an energy value of the new broadcasting sequence;
[0017] The target determination module is configured to determine a target broadcast sequence from among the at least one new broadcast sequence and the candidate broadcast sequence according to an energy value of the at least one new broadcast sequence and an energy value of the candidate broadcast sequence.
[0018] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor, and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method as described above.
[0019] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored, and the computer program instructions implement the above method when executed by a processor.
[0020] The data broadcast sequence generation method, apparatus, device and computer storage medium of the embodiments of the present application adjust the broadcast time of the data to be broadcast to form an alternative broadcast sequence, and then adjust the broadcast order of the data to be broadcast in the alternative broadcast sequence to generate a new broadcast sequence, and analyze the difference in the broadcast time interval of the data to be broadcast in each broadcast sequence, thereby selecting a target broadcast sequence from the new broadcast sequence and the alternative broadcast sequence. The target broadcast sequence selected in this way can improve the bandwidth utilization rate of the satellite broadcast link data. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0022] Figure 1 A schematic diagram of a sequence generation algorithm provided in an embodiment of the present application;
[0023] Figure 2 A flow chart of a method for generating a data broadcast sequence provided in an embodiment of the present application;
[0024] Figure 3 A schematic diagram of the broadcasting time of the data to be broadcasted provided in the embodiment of the present application;
[0025] Figure 4 A schematic diagram of adjusting the broadcasting time provided in an embodiment of the present application;
[0026] Figure 5 This is a schematic diagram of a broadcast sequence according to an embodiment of the present application;
[0027] Figure 6 A schematic diagram of a new broadcast sequence provided in an embodiment of the present application;
[0028] Figure 7 A schematic diagram of a broadcast time adjustment process provided in an embodiment of the present application;
[0029] Figure 8 A schematic diagram of a flow chart for obtaining a candidate broadcast sequence provided in an embodiment of the present application;
[0030] Fig. 9 A schematic diagram of an iterative process provided for an embodiment of the present application;
[0031] Fig.10 A schematic diagram of a specific flow of the arrangement algorithm provided in an embodiment of the present application;
[0032] Fig.11 It is a structural diagram of a data broadcast sequence generating device provided in an embodiment of the present application;
[0033] Fig.12 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0034] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0035] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0036] The data bandwidth of L-band (also known as L-Band) satellite broadcast link is relatively low, generally in the single digits of several thousand bits / second, and the bandwidth cost is very high. L-Band satellites can be used to broadcast GNSS enhanced SSR service data. SSR data contains different types, such as orbit error, clock error, code deviation, ionosphere-troposphere correction number, etc. Each correction number has different data sizes and independent update cycles. Currently, the existing solutions are mainly divided into two categories: (1) Static scheduling sequence method, which refers to the scheduling of a fixed broadcast sequence with a limited length, and the system is running. The scheduling method can obtain clear update cycle parameters for easy use by the receiver. The static scheduling sequence method can be generated by both manual and machine methods. The manual method is arranged by people. When there are many types of data, complex cycles and correlations, manual scheduling cannot guarantee high bandwidth utilization. The existing machine arrangement generally arranges and combines the order of the broadcasted messages, and continuously tries until a sequence that meets the conditions is found. The disadvantages of the existing program method are that the amount of calculation is huge, the time complexity of the arrangement and combination is very large, and as the number of messages in the target broadcast sequence increases, the amount of calculation required also increases exponentially, so it is not suitable for finding sequences containing more data types. (2) The dynamic arrangement method continuously and dynamically selects data types during the service operation process, so it is impossible to accurately give the range of the update cycle of each data type, which is not conducive to the connection with downstream systems.
[0037] In view of the above problems, the embodiments of the present application provide a data broadcast sequence generation method, device, equipment and computer storage medium, which uses an improved multi-step algorithm to find the arrangement sequence through a program, which can effectively solve the low bandwidth utilization of manual arrangement and can also handle complex data types and cycles. This algorithm is different from the permutation and combination algorithm and adopts the framework of the heuristic algorithm, which greatly shortens the time to find a sequence that meets the conditions.
[0038] The technical solution of the present application is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0039] Figure 1 A flow chart of a sequence generation algorithm provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, it includes the following steps:
[0040] Step S110: confirm the data type and cycle, and determine whether the bandwidth and update cycle under ideal conditions are feasible.
[0041] Step S120: obtaining a candidate broadcast sequence through a sequence preprocessing algorithm.
[0042] Step S130: Based on the candidate sequence, an arrangement algorithm is applied to obtain a target broadcast sequence and related parameters.
[0043] In the process of confirming the data type and period, it is assumed that there are N types of data that need to be broadcast, namely M1, M2, ..., MN, and the size of each data (each data is regarded as a message) is L1, L2, .., LN bits. The time required for broadcasting each data is obtained from the size and bandwidth, namely T1, T2, ..., Tn, and the data broadcasting period is P1, P2, ..., Pn.
[0044] First, we need to judge the rationality: the entire broadcast sequence period Pt is the lowest common multiple of all data broadcast periods. The total broadcast time of data demand is:
[0045]
[0046] In the above formula, Tsum is the total broadcast time of data requirements, Pt is the entire broadcast sequence period, Ti is the broadcast duration of the i-th data, and Pi is the broadcast period of the i-th data.
[0047] If Tsum>Pt, it means that there is no target broadcast sequence that meets the conditions. Otherwise, there is a possibility that there is a sequence that meets the requirements, and the next step of searching is entered.
[0048] The above is described in detail below through some embodiments Figure 1 The various steps in .
[0049] Figure 2 The flowchart of the data broadcast sequence generation method provided in the embodiment of the present application is as follows. The method can be specifically applied to electronic devices. Taking the electronic device as the execution subject as an example, Figure 2 As shown, the method may specifically include the following steps:
[0050] Step S210: adjusting the initial broadcast time of at least one piece of data to be broadcast, and obtaining the adjusted broadcast time of each piece of data to be broadcast.
[0051] In this embodiment, after the data to be broadcast passes the confirmation of the above step S110, each data to be broadcast has a corresponding initial broadcast time, broadcast cycle and broadcast duration. Figure 3 A schematic diagram of the broadcasting time of the data to be broadcasted provided in the embodiment of the present application, such as Figure 3 As shown, three types of data to be broadcast ( Figure 3 Type 1, Type 2 and Type 3), they are all broadcast in the same time period, among which the data to be broadcasted of Type 1 is broadcasted 2 times, and the data to be broadcasted of Type 2 and the data to be broadcasted of Type 3 are broadcasted 4 times.
[0052] Continue to refer to the above Figure 3 , the duration of type 1 broadcast (which can be understood as Figure 3 The length of the padding area in the broadcast) is different from that of type 2 and type 3, and the broadcast period is also different.
[0053] Furthermore, by observing Figure 3 It can be seen that the data to be broadcasted of type 2 and type 1 have overlapping time. In practical applications, usually only one type of data is broadcasted at the same time. For this reason, the broadcasting time of type 1 and type 2 can be adjusted to stagger their broadcasting times. For example, Figure 4 The broadcast time adjustment diagram provided in the embodiment of the present application is as follows: Figure 4 As shown, the broadcasting time of the to-be-broadcasted data of type 1 can be advanced, thus avoiding the overlap of the broadcasting time.
[0054] in, Figure 3 The broadcast time in is the initial broadcast time of the data to be broadcasted of type 1, and Figure 4 The broadcast time in is the adjusted broadcast time of the type 1 data to be broadcast.
[0055] Step S220: generating at least one candidate broadcast sequence corresponding to the data to be broadcast according to the adjusted broadcast time of each data to be broadcast and the broadcast duration of each data to be broadcast.
[0056] In this embodiment, after adjusting the broadcast time of the data to be broadcast, combined with its broadcast duration, it is possible to know in which time period the data to be broadcast needs to occupy bandwidth for broadcasting. At the same time, a total broadcast sequence can be formed, in which the broadcast start time and broadcast end time of each data to be broadcast are marked.
[0057] For example, Figure 5This is a schematic diagram of the broadcast sequence of an embodiment of the present application, such as Figure 5 As shown, taking the broadcast data of type 1, type 2 and type 3 forming the candidate broadcast sequence as an example, Figure 5 It can be clearly seen in the figure the broadcast start time and broadcast end time of the broadcast data of type 1, type 2 and type 3. Among them, the broadcast data to be broadcast may overlap in broadcast time or may not overlap.
[0058] Step S230: determining the energy value of the candidate broadcast sequence according to the broadcast time interval of each to-be-broadcasted data in the candidate broadcast sequence.
[0059] In this embodiment, the energy value can be used to evaluate the quality of the broadcast sequence. A good broadcast sequence has a higher LBand satellite broadcast link data bandwidth utilization rate, while a bad broadcast sequence has a lower LBand satellite broadcast link data bandwidth utilization rate. Exemplarily, the longer the broadcast time interval, the higher the energy value of the candidate broadcast sequence, and the higher the energy value, the worse the broadcast sequence.
[0060] In this embodiment, the broadcasting time intervals between adjacent data to be broadcasted may be calculated and summed to obtain the total broadcasting time interval, and the energy value may be represented by the length of the total broadcasting time interval.
[0061] Step S240: adjusting the broadcasting order of at least two target data to be broadcasted in the candidate broadcasting sequence, and obtaining at least one new broadcasting sequence and an energy value of the new broadcasting sequence.
[0062] In this embodiment, after determining the broadcasting time of each data to be broadcasted, the broadcasting order between different types of broadcasting data can be adjusted. For example, if the broadcasting start time of type 2 data to be broadcasted is T1, and the broadcasting start time of type 3 data to be broadcasted is T2, then the broadcasting time can be adjusted, that is, the data to be broadcasted of type 3 is broadcasted at the broadcasting start time T1, and the data to be broadcasted of type 2 is broadcasted at the broadcasting start time T2.
[0063] Figure 6 A schematic diagram of a new broadcast sequence provided in an embodiment of the present application is shown in FIG. Figure 6 As shown, compared with the original Figure 5 , the broadcasting order of type 3 data to be broadcasted and type 2 data to be broadcasted is swapped.
[0064] When the broadcast sequence is changed, the corresponding broadcast time interval may also change, which may cause the energy value of the new broadcast sequence to be different from the energy value of the candidate broadcast sequence.
[0065] When there are multiple types of data to be broadcast, the order of the different types of data to be broadcast can be swapped, so that multiple new broadcast sequences can be generated.
[0066] Step S250: determining a target broadcast sequence from the at least one new broadcast sequence and the candidate broadcast sequences according to the energy value of the at least one new broadcast sequence and the energy values of the candidate broadcast sequences.
[0067] Exemplarily, it is mentioned above that the higher the energy value, the worse the broadcast sequence is, so a broadcast sequence with a low energy value may be selected from at least one new broadcast sequence and an alternative broadcast sequence as a target broadcast sequence.
[0068] In some other embodiments, there may be a situation where the energy values of the new broadcast sequence and the candidate broadcast sequence are the same. In this case, the broadcast sequence with the smallest overlapping time of the data to be broadcast may be selected as the target broadcast sequence.
[0069] In the embodiment of the present application, an alternative broadcast sequence is formed by adjusting the broadcast time of the data to be broadcast, and then the broadcast order of the data to be broadcast in the alternative broadcast sequence is adjusted to generate a new broadcast sequence, and the difference in the broadcast time intervals of the data to be broadcast in each broadcast sequence is analyzed to obtain the target broadcast sequence, which can effectively solve the problems of low manual scheduling efficiency and low bandwidth utilization.
[0070] The following describes in detail how to obtain the candidate broadcast sequence through the sequence preprocessing algorithm in the above step S120 through some embodiments.
[0071] Figure 7 The following is a schematic diagram of the broadcast time adjustment process provided in the embodiment of the present application, such as Figure 7 As shown, it specifically includes the following steps:
[0072] Step S710: Obtain at least one time offset;
[0073] Step S720: when adjusting the initial broadcast time of at least one to-be-broadcasted data according to the time offset, obtaining at least two first to-be-broadcasted data with overlapping broadcast times;
[0074] Step S730: determining a target time offset in at least one time offset according to the overlapping duration of at least two first data to be broadcasted at each time offset;
[0075] Step S740: determining the adjusted broadcasting time of each data to be broadcasted according to the initial broadcasting time and the time offset of each data to be broadcasted.
[0076] In this embodiment, a common time offset may be configured for all data to be broadcast, or a time offset may be configured for each data to be broadcast (relatively more flexible and may better avoid the situation where the broadcast time overlaps).
[0077] Among them, multiple time offsets can be selected, and then one time offset is selected each time to adjust the initial broadcast time of a certain data to be broadcasted, and further determine whether there is a broadcast time overlap. If there is a broadcast time overlap, the overlapping duration can be recorded. Thus, the corresponding overlapping duration under each time offset can be obtained. For example, the following Table 1 is a corresponding relationship table
[0078] Table 1
[0079] The first time offset of the data to be broadcasted of type 1 Overlap duration A1 The second time offset of the data to be broadcasted of type 1 Overlap duration A2 The third time offset of the data to be broadcasted of type 2 Overlap duration A3
[0080] As shown in Table 1 above, different types of data to be broadcast can be configured with multiple different time offsets. When the broadcast time of type 1 data to be broadcast is offset backward by the first time offset, the data to be broadcast of type 1 overlaps with the data to be broadcast of type 2, and the overlapping duration is A1, and other types of data to be broadcast do not overlap. When the broadcast time of type 1 data to be broadcast is offset forward by the second time offset, the data to be broadcast of type 1 overlaps with the data to be broadcast of type 3, and the overlapping duration is A2, and other types of data to be broadcast do not overlap.
[0081] Exemplarily, a time offset with the shortest overlap duration may be selected as the target time offset. For example, assuming that the overlap duration A1 is less than the overlap duration A2, the target time offset of the type 1 data to be broadcast is the first time offset.
[0082] In an embodiment of the present application, after the broadcast time of each data to be broadcast is adjusted, the first data to be broadcast that overlaps with the adjusted broadcast time is queried, and the overlapping duration is calculated. The optimal target time offset is determined based on the overlapping duration, so that overlapping between the data to be broadcast after the broadcast time adjustment can be avoided as much as possible to improve bandwidth utilization.
[0083] Further, in some embodiments, the total overlapping duration at each time offset can be obtained according to the overlapping duration of each first data to be broadcast at each time offset; the target total overlapping duration is determined from the total overlapping duration at each time offset; and the time offset corresponding to the target total overlapping duration is determined as the target time offset. The target total overlapping duration is less than a set threshold.
[0084] In this embodiment, it is assumed that the broadcast time of the data to be broadcast of type 1, type 2 and type 3 is adjusted, resulting in a broadcast time overlap between the data to be broadcast of type 1 and the data to be broadcast of type 2 (the overlapping time is L1), and there is also a broadcast time overlap between the data to be broadcast of type 2 and the data to be broadcast of type 3 (the overlapping time is L2), then the total overlapping time is L1+L2.
[0085] It has been mentioned above that multiple different time offsets can be configured, so different total overlapping durations are generated under different time offsets.
[0086] Among them, a set threshold can be pre-configured. If the total overlap duration is less than the set threshold, the time offset corresponding to the total overlap duration is directly selected to adjust the broadcast time of the data to be broadcast. In this way, it is not necessary to traverse all time offsets, that is, to find a time offset whose total overlap duration meets the set threshold, which reduces the amount of data processing and can more quickly determine the candidate broadcast sequence.
[0087] In this embodiment, the candidate broadcast sequence can be obtained by the following steps:
[0088] Step 1: Generate a circular time series Seqi for each data according to the broadcast time and the broadcast times in the entire editing cycle. Each element in the time series Seqi is the broadcast time period of the data, including the broadcast start and end time.
[0089] For example, the time series Seqi of the i-th data is as follows:
[0090] Seqi={[0, Ti], [Pi, Pi+Ti], [2*Pi, 2*Pi+Ti], .., [(Pt / Pi-1)*Pi+Ti]}
[0091] In the above formula, Pi represents the broadcasting period of the i-th data, and Ti represents the broadcasting duration of the i-th data.
[0092] The arrangement cycle refers to the lowest common multiple of the broadcast cycles of all the data to be broadcasted. For example, if the broadcast cycle of type 1 data to be broadcasted is 1, the broadcast cycle of type 2 data to be broadcasted is 2, and the broadcast cycle of type 3 data to be broadcasted is 3, then the arrangement cycle can be set to 6. Within the arrangement cycle, the data to be broadcasted of type 1 is broadcasted 6 times, the data to be broadcasted of type 2 is broadcasted 3 times, and the data to be broadcasted of type 3 is broadcasted 2 times.
[0093] Step 2: Generate a time offset Offseti for each data.
[0094] Exemplarily, in some embodiments, the time offset Offseti may be obtained by the following steps:
[0095] Step 21, obtaining the broadcasting cycle and broadcasting duration of the data to be broadcasted;
[0096] Step 22: Determine the time interval according to the broadcast cycle and broadcast duration;
[0097] Step 23: randomly select a target value from the time interval and determine it as the time offset of the data to be broadcast.
[0098] In this embodiment, the time interval can be set to [0, Pi-Ti]. Pi represents the broadcast period of the i-th data, and Ti represents the broadcast duration of the i-th data. Offseti is a random number between [0, Pi-Ti]. The data to be broadcast is offset as a whole according to the time offset offseti, so that the initial broadcast time is adjusted.
[0099] Step 3: Start the time series of data of all data types from 0, and calculate the sum of overlapping time Toverlap between all data to be broadcast.
[0100] Step 4: Set the number of execution rounds C, and continue to execute steps 2 and 3. During the process, record the minimum value of the overlap time Toverlap and the corresponding Offset value of each data type;
[0101] Step 5: According to the offset value of each data obtained in step 4, obtain each specific broadcast time period of all types of data, and then arrange the time periods from small to large according to the start time.
[0102] In step 5, there may be data to be broadcasted with the same broadcast time. In some embodiments, the following steps may be used to re-determine that there is still data to be broadcasted with the same broadcast time after the broadcast time is adjusted:
[0103] Step 51: updating the broadcasting time of each data to be broadcasted according to the initial broadcasting time and the time offset of each data to be broadcasted;
[0104] Step 52: determine whether there are at least two second data to be broadcasted with the same updated broadcast time;
[0105] Step 53: if there are at least two second data to be broadcasted with the same updated broadcast time, adjust the broadcast order of each second data to be broadcasted according to the data type of each second data to be broadcasted;
[0106] Step 54: Determine the adjusted broadcasting time of each second data to be broadcasted according to the broadcasting sequence of each second data to be broadcasted.
[0107] In this embodiment, even if the broadcasting time of the data to be broadcasted is adjusted, the broadcasting time of the data to be broadcasted may overlap. For example, the initial broadcasting time of the data to be broadcasted of type 1 is L11, and the initial broadcasting time of the data to be broadcasted of type 2 is L21. The initial broadcasting time of the data to be broadcasted of type 1 is adjusted to become L12, and the initial broadcasting time of the data to be broadcasted of type 2 is adjusted to become L22.
[0108] At this time, the broadcast time L12 + the broadcast duration of the data to be broadcast of type 1 forms a time period T11, and the broadcast time L22 + the broadcast duration of the data to be broadcast of type 2 forms a time period T21. If the time period T11 overlaps with the time period T21, the data to be broadcast of type 1 can be broadcasted first according to the sequence number of the data type, and then the data to be broadcast of type 2. That is, the data to be broadcast of type 1 is broadcasted at the broadcast time L12, and after T11, the data to be broadcast of type 1 is broadcasted.
[0109] In the embodiment of the present application, by adjusting the broadcasting order of the second data to be broadcasted again, it is possible to avoid the data with overlapping broadcasting time and prevent the LBand satellite broadcasting link from broadcasting multiple different types of data at the same time.
[0110] For example, Figure 8 A schematic diagram of a flow chart for obtaining a candidate broadcast sequence provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, it includes the following steps:
[0111] Step S810: Generate a time series for each type of data according to the broadcast cycle;
[0112] Step S820: generating a random offset for each time series of data;
[0113] Step S830: performing overall shift on each time series;
[0114] Step S840: Calculate the overlapping durations corresponding to all time series;
[0115] Step S850: Determine whether the number of execution rounds meets the set value;
[0116] Step S860: obtaining a time offset when the total overlapping duration is the minimum during the execution process;
[0117] Step S870: Arrange the data in ascending order according to the time offset according to the time offset to form a candidate broadcast sequence.
[0118] In this embodiment, in the process of obtaining candidate sequences, the computing efficiency can be improved through machine learning, parallel computing and other methods.
[0119] The following describes in detail the algorithm arrangement process in the above step S130 through some embodiments to obtain the target broadcast sequence.
[0120] Exemplarily, in some embodiments, multiple new broadcast sequences may be generated through continuous iteration, and based on the iterative process, an optimal target broadcast sequence may be found therefrom. Fig. 9 The iterative process diagram provided in the embodiment of the present application is as follows: Fig. 9 As shown, the specific steps are as follows:
[0121] Step 910: Obtain the upper threshold, lower threshold, current value, drop rate and iteration number threshold.
[0122] In this embodiment, the current value can be first set as the upper threshold, for example, if the upper threshold is 10, the current value is first configured as 10, and then in the subsequent iteration process, the current value is continuously reduced by the decreasing rate. For example, after each large iteration, the current value is reduced by 1.
[0123] There are several small iterations in a large iteration. The specific number of iterations is determined by the iteration threshold. For example, if the iteration threshold is 5, the number of small iterations is 5. The entire iteration process is: when the current value is 10, 5 small iterations are performed. After completing 5 small iterations, the current value decreases by 1 and becomes 9. Then 5 small iterations are performed, and so on, until the current value is equal to the lower limit threshold.
[0124] Step 920: When the current value is less than or equal to the upper threshold and greater than the lower threshold, perform N iterations, where N is a positive integer.
[0125] Step S930: After performing N iterations, the current value is updated according to the decrease rate, and the iterations are continued for N times until the current value is updated to the lower threshold.
[0126] In step S920 and step S930, after a large iteration process is completed, the current value is controlled to decrease a little, and then the next large iteration process is continued. The next large iteration process still includes 5 small iterations. The 5 small iterations can refer to the following steps S940 and S950. Specifically, the i-th small iteration operation includes:
[0127] Step 940: adjusting the broadcasting order of at least two target data to be broadcasted in the ith broadcasting sequence, obtaining the energy value of the ith broadcasting sequence after the broadcasting order is adjusted, and the candidate broadcasting sequence is the first broadcasting sequence.
[0128] Step 950: When the energy value of the ith broadcast sequence after the broadcast order is adjusted is less than the energy value of the ith broadcast sequence, the ith broadcast sequence after the broadcast order is adjusted is used as the ith broadcast sequence in the (i+1)th iteration operation, where i is a positive integer greater than or equal to 1 and less than N.
[0129] Step S940 and step S950 mainly describe the small iteration process. Taking i as 1 as an example, the first broadcast sequence is the candidate broadcast sequence, and the broadcast order of the two target to-be-broadcasted data in the candidate broadcast sequence is adjusted (for example, the broadcast order of the two is swapped), and a candidate broadcast sequence with adjusted broadcast order will be formed.
[0130] Exemplarily, in some embodiments, the standard deviation of the broadcast time interval of each to-be-broadcasted data in a broadcast sequence (which may refer to any i-th broadcast sequence) and the corresponding weight may be obtained to determine the energy value of the broadcast sequence.
[0131] Specifically, the energy calculation function E of the broadcast sequence is set as:
[0132] E=STD(M1)*W1+STD(M2)*W2+....+STD(Mn)*Wn
[0133] In the above formula, STD(Mi) is the standard deviation of the Mi data broadcasting interval, and Wi is the weight corresponding to Mi.
[0134] In the embodiment of the present application, the energy value of each broadcast sequence is calculated by using the broadcast time interval, and then the next broadcast sequence is selected by comparing the energy values. Since the energy value is calculated by the broadcast time interval, this actually solves the problem of unstable update cycle of each data to be broadcast, and can ensure that each data to be broadcast has a stable broadcast cycle as much as possible, thereby reducing cycle deviation.
[0135] In a small iteration process, the energy value of the candidate broadcast sequence after the broadcast order is adjusted is calculated to be NL1, and the energy value of the candidate broadcast sequence is NL2. If NL1 is greater than NL2, the candidate broadcast sequence after the broadcast order is adjusted is used as the second broadcast sequence. This small iteration process is completed, and the next small iteration process is continued, that is, the broadcast order of the two target to-be-broadcasted data in the second broadcast sequence is adjusted to form a second broadcast sequence after the broadcast order is adjusted. Then continue to be deduced by analogy until 5 small iterations are completed in total, which is equivalent to completing a large iteration process.
[0136] In addition, in some embodiments, the data to be broadcast may contain data of the same type. For example, the broadcast data of type 1 is divided into BF1 and BF2. Assuming that the broadcast data BF1 of type 1 needs to be broadcast first, and the broadcast data BF2 of type 1 needs to be broadcast later, then two data to be broadcast of the same type cannot be used as target data to be broadcast at the same time. This can avoid the problem of disordered data broadcasting order and improve the accuracy of data broadcasting.
[0137] In this embodiment, there is at least one new broadcast sequence during the large iteration and the small iteration process, and the best new broadcast sequence is selected as the target broadcast sequence. Subsequently, according to the target broadcast sequence, the L-Band satellite broadcast link is used to broadcast the data to be broadcast in the target broadcast sequence one by one.
[0138] Furthermore, in some embodiments, during a small iteration, when the energy value of the i-th broadcast sequence after the broadcast order is adjusted is greater than or equal to the energy value of the i-th broadcast sequence, the reception probability is determined according to the energy value of the i-th broadcast sequence after the broadcast order is adjusted, the energy value of the i-th broadcast sequence and the current value; if the reception probability meets a preset condition, the i-th broadcast sequence after the broadcast order is adjusted is used as the i+1-th broadcast sequence.
[0139] The reception probability can be calculated by the following formula:
[0140] P=e^(-(Enew-Ec) / (K*Tcur))
[0141] In the above formula, P is the reception probability, Enew is the energy value of the ith broadcast sequence after the broadcast order is adjusted, Ec is the energy value of the ith broadcast sequence, Tcur is the current value, and K is the Boltzmann constant, which can be 1.
[0142] The reception probability P is calculated to determine whether to accept the i-th broadcast sequence after the broadcast sequence adjustment as the i+1-th sequence. If accepted, the adjustment is updated. If not accepted, no update is performed.
[0143] For example, Fig.10 The following is a schematic diagram of a specific flow of the arrangement algorithm provided in the embodiment of the present application. For example, the arrangement algorithm may be an annealing algorithm. Fig.10 As shown, it includes the following steps:
[0144] Step S1010: setting annealing parameters, wherein the annealing parameters include: maximum temperature Tmax, minimum temperature Tmin, current temperature Tcur, cooling rate tRate, and number of iterations at the same temperature Count.
[0145] Before starting the calculation, the current temperature Tcur is set to be equal to the maximum temperature Tmax.
[0146] Step S1020: Setting the broadcast sequence energy calculation function E.
[0147] Step S1030: setting weight values of different data to be broadcasted.
[0148] Step S1040: the candidate broadcast sequence after preprocessing is recorded as the current sequence Smin, and the energy is recorded as Emin.
[0149] Step S1050: Enter the simulated annealing process and record the current sequence as Sc and the current energy as Ec.
[0150] Step S1060: The temperature iteration counter C is reset to 0.
[0151] Step S1070: randomly select two different data to be broadcast in the sequence, exchange the broadcast order, and generate a new broadcast sequence Snew.
[0152] Step S1080: Calculate the energy Enew of the new sequence Snew.
[0153] Step S1090: Determine whether Enew is less than Ec
[0154] Step S1100: Obtain the reception probability P according to the current temperature to determine whether to accept.
[0155] Step S1110: Ec is updated to Enew, and Sc is updated to Snew.
[0156] Step S1120: Do not update.
[0157] Step S1130: Compare Ec and Emin.
[0158] Step S1140: If Ec is less than Emin, Ec is updated to Enew and Sc is updated to Snew.
[0159] Step S1150: The temperature iteration counter C is incremented by 1 and compared with Count.
[0160] Step S1160: When C is equal to Count, update the current temperature and determine whether the minimum temperature Tmin is reached.
[0161] Step S1170: when the current temperature is less than or equal to the minimum temperature Tmin, the annealing algorithm is terminated, and Smin is obtained as the target broadcast sequence, and Emin is the energy value of the target broadcast sequence.
[0162] In this embodiment, an arrangement algorithm is applied to the alternative broadcast sequence to obtain the final target broadcast sequence. The applied arrangement algorithm is based on the simulated annealing algorithm, as follows:
[0163] (1) Set the annealing framework parameters according to requirements: the highest temperature Tmax, the lowest temperature Tmin, the current temperature Tcur = Tmax, the cooling rate tRate, and the number of iterations at the same temperature Count.
[0164] (2) Set the energy calculation function E for the data broadcast sequence.
[0165] E = STD(M1)*W1 + STD(M2)*W2 +.... + STD(Mn)*Wn.
[0166] Where, STD(Mi) is the standard deviation of the broadcast interval of Mi data, and Wi is the weight corresponding to Mi.
[0167] (3) Set appropriate weights Wi for various data to be broadcast.
[0168] (4) Use the alternative broadcast sequence generated in the above steps as the input sequence, calculate the energy of the current sequence, and denote it as Emin, and record the result sequence Smin as the current sequence.
[0169] (5) Enter the simulated annealing process, calculate the energy Ec of the current sequence, and record the current sequence as Sc.
[0170] (6) Reset the same temperature iteration counter C to 0.
[0171] (7) Randomly select two data to be broadcast in the current sequence. If the two are of different types, proceed to the next step. If they are of the same type, select again until the types are different.
[0172] (8) Swap the positions of the two data to be broadcast selected in step (7) to generate a new broadcast sequence Snew, and calculate the energy Enew of the current new broadcast sequence.
[0173] (9) If Enew < Ec, update the value of Ec to Enew, and update the result sequence Sc to the current sequence.
[0174] (10) If Enew >= Ec, first calculate the acceptance probability P = e^(-(Enew - Ec) / (K*Tcur)) according to the current temperature.
[0175] Where, the Boltzmann constant K is taken as 1. Determine whether to accept the new broadcast sequence according to the calculated acceptance probability P. If accepted, update Ec to Enew and update the current sequence Sc to Snew. If not accepted, do not update.
[0176] (11) Compare Ec and Emin. If Ec < Emin, update Enew to Ec and update Snew to Sc.
[0177] (12) Increment the same-temperature iteration counter C by 1. After incrementing, compare it with the same-temperature iteration count Count. If C < Count, jump to step (7) and continue execution; otherwise, perform the next action.
[0178] (13) Update the current temperature Tcur = Tcur * tRate.
[0179] Among them, if Tcur > Tmin, jump to step (6) and continue execution; if Tcur <= Tmin, end the simulated annealing process.
[0180] (14) The sequence recorded by Smin is the final result sequence, and Emin is the energy corresponding to the sequence.
[0181] In this embodiment, the annealing algorithm is an optimization algorithm that simulates the annealing process in physics and is used to find the global optimal solution. During the annealing process, temperature is a key parameter that controls the state change and acceptance probability of the system. The number of iterations at the same temperature (Count) refers to how many times the algorithm iterates at the current temperature. Generally speaking, it is how many times the state is tried to be changed at the current temperature to find a better solution. The role of this parameter is to give the annealing algorithm enough time to search the possible solution space at each temperature, thereby increasing the probability of finding the global optimal solution. Specifically, when the algorithm iterates at the current temperature, it will continuously try to change the state of the system and judge whether to accept these changes according to certain rules. If the changed state is better, then accept this change; otherwise, accept the worse change with a certain probability to avoid falling into the local optimal solution. In this process, the number of iterations at the same temperature is to limit how many such attempts the algorithm makes at the current temperature.
[0182] In the embodiments of the present application, by applying the above scheduling algorithm, different from the existing permutation and combination algorithms, adopting the framework of the heuristic algorithm, the time to find the target broadcast sequence that meets the conditions is greatly shortened, and the efficiency of scheduling the data to be broadcast is improved.
[0183] The following is the device embodiment of the present application, which can be used to execute the method embodiment of the present application. For the details not disclosed in the device embodiment of the present application, please refer to the method embodiment of the present application.
[0184] Fig.11 It is a schematic structural diagram of the data broadcast sequence generation device provided by the embodiments of the present application. As Fig.11As shown, the data broadcast sequence generating device 1100 includes an adjustment module 1110 , a generation module 1120 , an energy determination module 1130 , an acquisition module 1140 and a target determination module 1150 .
[0185] Among them, the adjustment module 1110 is used to adjust the initial broadcast time of at least one data to be broadcast, and obtain the adjusted broadcast time of each data to be broadcast. The generation module 1120 is used to generate an alternative broadcast sequence corresponding to at least one data to be broadcast according to the adjusted broadcast time of each data to be broadcast and the broadcast duration of each data to be broadcast. The energy determination module 1130 is used to determine the energy value of the alternative broadcast sequence according to the broadcast time interval of each data to be broadcast in the alternative broadcast sequence. The acquisition module 1140 is used to adjust the broadcast order of at least two target data to be broadcast in the alternative broadcast sequence, and obtain at least one new broadcast sequence and the energy value of the new broadcast sequence. The target determination module 1150 is used to determine the target broadcast sequence in at least one new broadcast sequence and the alternative broadcast sequence according to the energy value of at least one new broadcast sequence and the energy value of the alternative broadcast sequence.
[0186] Optionally, the adjustment module can be specifically used for:
[0187] Get at least one time offset;
[0188] When adjusting the initial broadcast time of at least one to-be-broadcasted data according to the time offset, obtaining at least two first to-be-broadcasted data with overlapping broadcast times;
[0189] Determine a target time offset in at least one time offset according to an overlapping duration of at least two first data to be broadcasted at each time offset;
[0190] The adjusted broadcast time of each data to be broadcast is determined according to the initial broadcast time and the time offset of each data to be broadcast.
[0191] Optionally, the adjustment module can be specifically used for:
[0192] According to the overlapping durations of the first data to be broadcasted at each time offset, obtaining the total overlapping duration at each time offset;
[0193] Determine a target total overlapping duration from the total overlapping durations under each time offset, and the target total overlapping duration is less than a set threshold;
[0194] The time offset corresponding to the target overlapping total duration is determined as the target time offset.
[0195] Optionally, the adjustment module can be specifically used for:
[0196] Obtain the broadcasting cycle and broadcasting duration of the data to be broadcasted;
[0197] Determine the time interval based on the broadcast cycle and broadcast duration;
[0198] A target value is randomly selected from the time interval and determined as the time offset of the data to be broadcast.
[0199] Optionally, the adjustment module can be specifically used for:
[0200] updating the broadcasting time of each data to be broadcasted according to the initial broadcasting time and the time offset of each data to be broadcasted;
[0201] Determine whether there are at least two second data to be broadcasted with the same updated broadcast time;
[0202] In the case that there are at least two second data to be broadcasted with the same updated broadcast time, adjusting the broadcasting order of each second data to be broadcasted according to the data type of each second data to be broadcasted;
[0203] According to the broadcasting sequence of each second data to be broadcasted, the adjusted broadcasting time of each second data to be broadcasted is determined.
[0204] Optionally, the energy determination module may be specifically used for:
[0205] Obtaining the standard deviation of the broadcasting time interval of each data to be broadcasted in the candidate broadcasting sequence and the weight corresponding to each data to be broadcasted;
[0206] The energy value of the candidate broadcast sequence is determined according to the standard deviation and weight of the broadcast time interval of each data to be broadcast.
[0207] Optionally, a data determination module is further included for:
[0208] Acquire at least two pieces of data to be broadcast from the candidate broadcast sequence, and determine whether the data types of the at least two pieces of data to be broadcast are the same;
[0209] In the case that the data types of the at least two data to be broadcast are different, the at least two data to be broadcast are determined as target data to be broadcast.
[0210] Optionally, the acquisition module can be used to:
[0211] Get the upper threshold, lower threshold, current value, drop rate and iteration number threshold;
[0212] When the current value is less than or equal to the upper threshold and greater than the lower threshold, the broadcasting order of at least two target data to be broadcasted in the i-th broadcasting sequence is adjusted to obtain the energy value of the i-th broadcasting sequence after the broadcasting order is adjusted, the candidate broadcasting sequence is the first broadcasting sequence, and i is a positive integer;
[0213] When the energy value of the i-th broadcast sequence after the broadcast sequence is adjusted is less than the energy value of the i-th broadcast sequence, the i-th broadcast sequence after the broadcast sequence is adjusted is used as the i+1-th broadcast sequence; and the broadcast sequence of at least two target to-be-broadcasted data in the i+1-th broadcast sequence is repeatedly adjusted to iteratively generate the i+2-th broadcast sequence until i is equal to the iteration number threshold;
[0214] According to the drop rate, the current value is updated, and the broadcasting order of at least two target data to be broadcasted in the jth broadcasting sequence is repeatedly adjusted to iteratively generate the j+2th broadcasting sequence until j is equal to the iteration number threshold, until j is equal to the upper limit threshold, and j is a positive integer.
[0215] Optionally, the acquisition module can be used to:
[0216] When the energy value of the ith broadcast sequence after the broadcast order is adjusted is greater than or equal to the energy value of the ith broadcast sequence, determining the reception probability according to the energy value of the ith broadcast sequence after the broadcast order is adjusted, the energy value of the ith broadcast sequence, and the current value;
[0217] If the reception probability meets the preset condition, the i-th broadcast sequence after the broadcast order is adjusted is used as the i+1-th broadcast sequence.
[0218] The device provided in the embodiment of the present application can be used to execute the method in the above-mentioned embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
[0219] It should be noted that it should be understood that the division of the various modules of the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And these modules can all be implemented in the form of software called by processing elements; they can also be all implemented in the form of hardware; some modules can also be implemented in the form of software called by processing elements, and some modules can be implemented in the form of hardware. For example, the energy determination module can be a separately established processing element, or it can be integrated in a chip of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and called and executed by a processing element of the above device. The function of the above energy determination module. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, or they can be implemented independently. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each module above can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.
[0220] Fig.12The hardware structure diagram of the electronic device provided in the embodiment of the present application is shown in FIG. Fig.12 As shown, the electronic device 1200 may include a processor 1201 and a memory 1202 storing computer program instructions.
[0221] Specifically, the processor 1201 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0222] The memory 1202 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 1202 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In one example, the memory 1202 may include a removable or non-removable (or fixed) medium, or the memory 1202 is a non-volatile solid-state memory. The memory 1202 may be inside or outside the integrated gateway disaster recovery device.
[0223] In one example, the memory 1202 may be a read-only memory (ROM). In one example, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or a flash memory, or a combination of two or more of these.
[0224] The memory 1202 may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage media device, an optical storage media device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.
[0225] The processor 1201 implements the method in the above embodiment by reading and executing the computer program instructions stored in the memory 1202 .
[0226] In one example, the electronic device may further include a communication interface 1203 and a bus 1204. Fig.12 As shown, the processor 1201, the memory 1202, and the communication interface 1203 are connected via a bus 1204 and communicate with each other.
[0227] The communication interface 1203 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0228] Bus 1204 includes hardware, software or both, and the components of online data flow billing equipment are coupled to each other. For example, but not limitation, the bus may include Accelerated Graphics Port (AGP) or other graphics bus, Enhanced Industry Standard Architecture (EISA) bus, Front Side Bus (FSB), Hyper Transport (HT) interconnection, Industry Standard Architecture (ISA) bus, InfiniBand interconnection, Low Pin Count (LPC) bus, Memory bus, Micro Channel Architecture (MCA) bus, Peripheral Component Interconnect (PCI) bus, PCI-Express (PCI-X) bus, Serial Advanced Technology Attachment (SATA) bus, Video Electronics Standards Association Local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 1204 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.
[0229] In addition, in combination with the method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the methods in the above embodiment is implemented.
[0230] An embodiment of the present application also provides a computer program product, including a computer program, which implements any one of the methods in the above embodiments when the computer program is processed and executed.
[0231] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0232] The functional blocks shown in the above structural block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), appropriate firmware, plug-in, function card, etc. When implemented in software, the elements of the present application are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or communication link by a data signal carried in a carrier. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, read-only memory (Read-Only Memory, ROM), flash memory, erasable read-only memory (Erasable ReadOnly Memory, EROM), floppy disks, compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical discs, hard disks, optical fiber media, radio frequency (Radio Frequency, RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0233] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0234] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0235] The above are only specific implementation methods of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A method for generating a data broadcast sequence, characterized in that: include: Adjusting the initial broadcast time of at least one data to be broadcast, and obtaining the adjusted broadcast time of each data to be broadcast; Generating a candidate broadcast sequence corresponding to the at least one data to be broadcast according to the adjusted broadcast time of each data to be broadcast and the broadcast duration of each data to be broadcast; determining an energy value of the candidate broadcast sequence according to a broadcasting time interval of the data to be broadcasted in the candidate broadcasting sequence; Adjusting the broadcasting order of at least two target data to be broadcasted in the candidate broadcasting sequence, and obtaining at least one new broadcasting sequence and an energy value of the new broadcasting sequence; According to the energy value of the at least one new broadcast sequence and the energy value of the candidate broadcast sequence, a target broadcast sequence is determined from among the at least one new broadcast sequence and the candidate broadcast sequence.
2. The method according to claim 1, characterized in that The adjusting the initial broadcasting time of at least one piece of data to be broadcasted includes: Get at least one time offset; When adjusting the initial broadcast time of the at least one to-be-broadcasted data according to the time offset, acquiring at least two first to-be-broadcasted data with overlapping broadcast times; Determining a target time offset in the at least one time offset according to the overlapping duration of the at least two first data to be broadcasted at each time offset; The adjusted broadcasting time of each data to be broadcasted is determined according to the initial broadcasting time of each data to be broadcasted and the time offset.
3. The method according to claim 2, characterized in that The step of determining a target time offset in the at least one time offset according to the overlapping duration of the at least two first data to be broadcasted at each time offset comprises: According to the overlapping durations of the first data to be broadcasted at each time offset, obtaining the total overlapping duration at each time offset; Determine a target total overlapping duration from the total overlapping durations under each time offset, wherein the target total overlapping duration is less than a set threshold; The time offset corresponding to the target overlapping total duration is determined as the target time offset.
4. The method according to claim 2, characterized in that: The obtaining of at least one time offset comprises: Obtaining a broadcasting period and a broadcasting duration of the data to be broadcasted; Determining a time interval according to the broadcast cycle and the broadcast duration; A target value is randomly selected from the time interval and determined as the time offset of the data to be broadcast.
5. The method according to claim 2, characterized in that: The step of determining the adjusted broadcast time of each data to be broadcast according to the initial broadcast time of each data to be broadcast and the time offset includes: According to the initial broadcast time of each data to be broadcast and the time offset, updating the broadcast time of each data to be broadcast; Determine whether there are at least two second data to be broadcasted with the same updated broadcast time; In the case that there are at least two second data to be broadcasted with the same updated broadcast time, adjusting the broadcasting order of each second data to be broadcasted according to the data type of each second data to be broadcasted; According to the broadcasting sequence of each second data to be broadcasted, the adjusted broadcasting time of each second data to be broadcasted is determined.
6. The method according to claim 1, characterized in that The step of determining the energy value of the candidate broadcast sequence according to the broadcast time interval of each to-be-broadcasted data in the candidate broadcast sequence includes: Obtaining a standard deviation of a broadcasting time interval of each to-be-broadcasted data in a candidate broadcasting sequence and a weight corresponding to the broadcasting time interval; The energy value of the candidate broadcast sequence is determined according to the standard deviation of the broadcast time interval of each to-be-broadcasted data and the weight.
7. The method according to claim 1, characterized in that Also includes: Acquire at least two data to be broadcasted from the candidate broadcasting sequence, and determine whether the data types of the at least two data to be broadcasted are the same; In a case where the data types of the at least two data to be broadcast are different, the at least two data to be broadcast are determined as the target data to be broadcast.
8. The method according to claim 7, characterized in that The step of adjusting the broadcasting order of at least two target data to be broadcasted in the candidate broadcasting sequence to obtain at least one new broadcasting sequence includes: Obtain an upper threshold, a lower threshold, a current value, a drop rate, and an iteration threshold, where the iteration threshold is N, and N is a positive integer; When the current value is less than or equal to the upper threshold value and greater than the lower threshold value, perform N iteration operations; After performing N iteration operations, updating the current value according to the decrease rate, and continuing to perform N iteration operations until the current value is updated to the lower limit threshold; The i-th iteration operation includes: Adjusting the broadcasting order of at least two target data to be broadcasted in the i-th broadcasting sequence, and obtaining the energy value of the i-th broadcasting sequence after the broadcasting order is adjusted, wherein the candidate broadcasting sequence is the first broadcasting sequence; When the energy value of the i-th broadcast sequence after the broadcast order is adjusted is less than the energy value of the i-th broadcast sequence, the i-th broadcast sequence after the broadcast order is adjusted is used as the i-th broadcast sequence in the (i+1)th iterative operation, where i is a positive integer greater than or equal to 1 and less than N.
9. The method according to claim 8, characterized in that Also includes: In a case where the energy value of the ith broadcast sequence after the broadcast order is adjusted is greater than or equal to the energy value of the ith broadcast sequence, determining a reception probability according to the energy value of the ith broadcast sequence after the broadcast order is adjusted, the energy value of the ith broadcast sequence and the current value; If the reception probability meets a preset condition, the i-th broadcasting sequence after the broadcasting order is adjusted is used as the i+1-th broadcasting sequence.
10. A data broadcast sequence generating device, characterized in that: include: An adjustment module, used to adjust the initial broadcast time of at least one data to be broadcast, and obtain the adjusted broadcast time of each data to be broadcast; A generating module, configured to generate a candidate broadcast sequence corresponding to the at least one data to be broadcast according to the adjusted broadcast time of each data to be broadcast and the broadcast duration of each data to be broadcast; An energy determination module, configured to determine an energy value of the candidate broadcast sequence according to a broadcast time interval of each to-be-broadcasted data in the candidate broadcast sequence; An acquisition module, configured to adjust the broadcasting order of at least two target data to be broadcasted in the candidate broadcasting sequence, and acquire at least one new broadcasting sequence and an energy value of the new broadcasting sequence; The target determination module is configured to determine a target broadcast sequence from among the at least one new broadcast sequence and the candidate broadcast sequence according to the energy value of the at least one new broadcast sequence and the energy value of the candidate broadcast sequence.
11. An electronic device, characterized in that: The electronic device comprises: a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that: The computer storage medium stores computer program instructions, which, when executed by a processor, implement the method according to any one of claims 1 to 9.