å ·ä½å®æ½æ¹å¼ Detailed ways
ä¸é¢å°ç»åæ¬åæä¸çéå¾ï¼å¯¹æ¬åæä¸çææ¯æ¹æ¡è¿è¡æ¸ æ¥ã宿´çæè¿°ï¼æ¾ç¶ï¼ææè¿°ç宿½ä¾æ¯æ¬åæçä¸é¨å宿½ä¾ï¼è䏿¯å ¨é¨ç宿½ä¾ãåºäºæ¬åæä¸ç宿½ä¾ï¼æ¬é¢åæ®éææ¯äººå卿²¡æååºåé æ§å³å¨çåæä¸æè·å¾çææå ¶ä»å®æ½ä¾ï¼é½å±äºæ¬åæä¿æ¤çèå´ãThe technical solutions in the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the present invention. Apparently, the described embodiments are part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
æ¬åæçæ ¸å¿ææ³å¨äºï¼å°FECç¼ç ãè½®æåç¹å¯¹ç¹ä¿®å¤ç»åèµ·æ¥è§£å³MBMSæ°æ®æä»¶å¹¿ææ¶æä»¶å®æ´æ§çé®é¢ãThe core idea of the present invention is to combine FEC encoding, carousel and point-to-point repair to solve the problem of file integrity when MBMS data files are broadcast.
广ææå¡å¨ç¡®å®æ°æ®æä»¶ä¼ è¾æ¶é´çéå¼ï¼å³å¹¿ææå¡å¨å¼å§å¹¿ææ°æ®æä»¶å°ç»ç«¯å¾å°å®æ´çæ°æ®æä»¶æéè¦çæ¶é´éå¼ï¼è¯¥éå¼å ·ä½å¯ä»¥ä¸ºä¸ç¹å®å¼ã广ææå¡å¨æ ¹æ®éå¼å¤ææ¯å¦å¼å¯FECç¼ç åè½®æï¼å©ç¨FECç¼ç åè½®æçä¸åä¿®å¤ç¹æ§ï¼éåæä½³çå¹¿ææ¹æ¡ï¼åç±ç»ç«¯æ ¹æ®æ¥æ¶æ°æ®æä»¶ç宿´æ§å³å®æ¯å¦è¿è¡ç¹å¯¹ç¹ä¿®å¤ï¼æç»å¾å°å®æ´çæ°æ®æä»¶ãå¨ä¸è¶ åºé¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´(å³éå¼)çåæ¶åå°äºå¯¹é广æä¿¡éèµæºçå ç¨ãThe broadcast server determines the threshold of the data file transmission time, that is, the time threshold required from the broadcast server to start broadcasting the data file to the terminal obtaining the complete data file. The threshold may be a specific value. The broadcast server judges whether to enable FEC coding and carousel according to the threshold, and uses the different repair characteristics of FEC coding and carousel to adopt the best broadcast plan, and then the terminal decides whether to perform point-to-point repair according to the integrity of the received data file, and finally obtains a complete data file. The occupancy of non-broadcast channel resources is reduced while the predetermined data file transmission time (that is, the threshold) is not exceeded.
ä¸é¢å°ç»åå¾1ï¼å¯¹æ¬åæå®æ½ä¾ä¸æä¾çæ°æ®æä»¶å¹¿æä¸æä»¶å®æ´æ§ä¿æ¤çæ¹æ³è¿è¡è¯¦ç»éè¿°ï¼ä¸ºäºæ¹ä¾¿æè¿°ï¼ä¸é¢ç宿½ä¾ä¸åéç¨GPRSä¿¡éä½ä¸ºç¹å¯¹ç¹ä¿®å¤æç¨çé广æä¿¡éãThe method for file integrity protection in data file broadcasting provided by Embodiment 1 of the present invention will be described in detail below in conjunction with FIG. 1 . For convenience of description, GPRS channels are used as the non-broadcast channel used for point-to-point repair in the following embodiments.
æ¥éª¤101ï¼å¹¿ææå¡å¨æ ¹æ®é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´å¤ææ¯å¦å¯¹å¾ 广æçæ°æ®æä»¶å¼å¯ååçº éFECç¼ç ï¼å¦æå¼å¯ï¼å对æè¿°æ°æ®æä»¶è¿è¡FECç¼ç ãStep 101 , the broadcast server judges whether to enable forward error correction (FEC) encoding for the data file to be broadcast according to the scheduled data file transmission time, and if enabled, performs FEC encoding on the data file.
å ·ä½çï¼å¹¿ææå¡å¨å¤æï¼è¥å°æ°æ®æä»¶ç»FECç¼ç åè¿è¡å¹¿æï¼åè¿è¡ç¹å¯¹ç¹ä¿®å¤ï¼æéè¦çæ»æ¶é´æ¯å¦å°äºæè¿°é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ï¼å¦ææ¯ï¼åå¯¹æ°æ®æä»¶å¼å¯FECç¼ç ï¼å¦åä¸å¼å¯FECç¼ç ãSpecifically, the broadcast server judges, if the data file is broadcasted after FEC encoding, and then point-to-point repair is performed, whether the total time required is less than the predetermined data file transmission time, and if so, then FEC encoding is enabled for the data file, Otherwise, FEC encoding is not enabled.
夿æ¯å¦å¼å¯FECç¼ç çè¿ç¨ï¼æ¯å¨å设å¼å¯FECç¼ç çåæä¸è¿è¡ç¸åºçæ¶é´è®¡ç®å夿çï¼è¿ç¨å ·ä½ä¸ºï¼The process of judging whether to enable FEC encoding is to calculate and judge the corresponding time on the premise that FEC encoding is enabled. The process is as follows:
é¦å ï¼å¹¿ææå¡å¨ç¡®å®æä½³FECç®æ³ï¼ä»¥åæä½³FECç®æ³å¯¹åºçFECç®æ³å ¬å¼ãFirst, the broadcast server determines the best FEC algorithm and the FEC algorithm formula corresponding to the best FEC algorithm.
广ææå¡å¨å è¦è·åç½ç»ä¸çPLR(Packet Loss Rateï¼ä¸¢å ç)ãç°æææ¯ä¸æå¤ç§FECç®æ³ï¼æ¯ç§FECç®æ³é½å¯¹åºæFECç®æ³å ¬å¼ï¼å°è¯¥è·åçPLRä»£å ¥åFECç®æ³å ¬å¼ï¼å¾åºæ¬²ä¿®å¤è¯¥PLRä¸çä¸¢å æéè¦çFECå使¯ä¾(ç¨FECåä½åæ°FEC_para表示)ãå ¶ä¸ï¼FECç®æ³å°±æ¯FECç¼ç çæ¹æ³ãThe broadcast server must first obtain the PLR (Packet Loss Rate, packet loss rate) in the network. There are multiple FEC algorithms in the prior art, each FEC algorithm corresponds to a FEC algorithm formula, and the obtained PLR is substituted into each FEC algorithm formula to obtain the required FEC redundancy ratio ( Indicated by the FEC redundancy parameter FEC_para). Wherein, the FEC algorithm is a method of FEC encoding.
ä¸åçFECç®æ³é对ä¸åç½ç»æ 嵿çä¸åçç¹æ§ï¼æä»¥ï¼å¯¹äºåä¸PLRï¼æ ¹æ®ä¸åFECç®æ³å ¬å¼å¯ä»¥å¾åºä¸åçFEC_paraã广ææå¡å¨éæ©å¾åºçFEC_paraæå°çFECç®æ³å ¬å¼å¯¹åºçFECç®æ³è¿è¡FECç¼ç ï¼ä¿è¯å¨æ¢å¤ä¸¢å çåæ¶ï¼å°½éåå°åä½å çæ°éï¼ä»¥åå°æ°æ®æä»¶å¹¿ææéçæ¶é´ãå¦å¤ï¼FECç®æ³ä¹å¯ä»¥ç´æ¥è®¾å®ï¼ä¾å¦æ ¹æ®å¯¹ç½ç»æ åµçé¿æäºè§£ä»¥åå ¶ä»æ åµç综åèèé¢å 设å®FECç®æ³ï¼èçäºä¸è¿°ç计ç®è¿ç¨ãDifferent FEC algorithms have different characteristics for different network conditions. Therefore, for the same PLR, different FEC_para can be obtained according to different FEC algorithm formulas. The broadcast server selects the FEC algorithm corresponding to the FEC algorithm formula with the smallest FEC_para to perform FEC encoding to ensure that the number of redundant packets is minimized while recovering lost packets, so as to reduce the time required for data file broadcasting. In addition, the FEC algorithm can also be set directly, for example, the FEC algorithm is pre-set according to the long-term understanding of the network situation and comprehensive consideration of other situations, which saves the above-mentioned calculation process.
éè¿è®¡ç®æ¯è¾æè ç´æ¥è®¾å®çæ¹æ³å¯ä»¥ç¡®å®FECç®æ³å对åºçFECç®æ³å ¬å¼ãThe FEC algorithm and the corresponding FEC algorithm formula can be determined by calculating and comparing or setting directly.
ç¶åï¼æ ¹æ®ç¡®å®çFECç®æ³å ¬å¼ä»¥åç½ç»çPLRå¾åºç¸åºçFEC_paraãThen, obtain the corresponding FEC_para according to the determined FEC algorithm formula and the PLR of the network.
ç¶åï¼å°FEC_paraä»£å ¥å¦ä¸æç¤ºçå ¬å¼[1]ï¼å¾åºFECå¼å¯åæ°ï¼å½FECå¼å¯åæ°çå¼ä¸º1æ¶åå¼å¯FECç¼ç ï¼ä¸º0æ¶åä¸å¼å¯FECç¼ç ãThen, substitute FEC_para into the following formula [1] to obtain the FEC enabling parameter. When the value of the FEC enabling parameter is 1, FEC encoding is enabled, and when it is 0, FEC encoding is not enabled.
å ¬å¼[1]æ¯ç¨äºå¤æè¥å°æ°æ®æä»¶ç»FECç¼ç åè¿è¡å¹¿æï¼åè¿è¡ç¹å¯¹ç¹ä¿®å¤ï¼æéè¦çæ»æ¶é´æ¯å¦å¨é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ä¹å ï¼å¦ææ¯ï¼åå¼å¯FECç¼ç ãFormula [1] is used to judge whether the total time required for broadcasting the data file after FEC encoding and then performing point-to-point repair is within the predetermined data file transmission time, and if so, enable FEC encoding.
å ¶ä¸ï¼æ»æ¶é´ä¸ºå¹¿ææ¶é´åç¹å¯¹ç¹ä¿®å¤æ¶é´ä¹åï¼å¹¿ææ¶é´åç¹å¯¹ç¹ä¿®å¤æ¶é´ä¹åï¼æè¿°å¹¿ææ¶é´æ ¹æ®FECåä½åæ°ãæè¿°æ°æ®æä»¶ç大å°ã广æä¿¡é带宽确å®ï¼æè¿°ç¹å¯¹ç¹ä¿®å¤æ¶é´æ ¹æ®ç½ç»ä¸ç丢å çãæè¿°æ°æ®æä»¶å¤§å°ãFECä¿®å¤çæ¦ç(FECä¿®å¤çæ¦çï¼å³FECç¼ç ä¿®å¤ä¸¢å çæ¯ä¾ï¼æ¯ä¸ä¸ªç»éªå¼æå®é æµç®å¼)åç¹å¯¹ç¹ä¿®å¤æå ç¨çé广æä¿¡éç带宽确å®ã设FECå¼å¯åæ°ä¸ºFEC_enableï¼é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ä¸ºTï¼å¾ 广æçæ°æ®æä»¶ç大å°ä¸ºSï¼å¹¿æä¿¡é带宽为Bandwidth_Bï¼ç¹å¯¹ç¹ä¿®å¤æ¶GPRSä¿¡éç带宽为Bandwidth_Pï¼FECä¿®å¤çæ¦çæ¯P_fecï¼å ¬å¼[1]å¦ä¸ï¼Wherein, the total time is the sum of the broadcast time and the point-to-point repair time, the sum of the broadcast time and the point-to-point repair time, the broadcast time is determined according to the FEC redundancy parameter, the size of the data file, and the broadcast channel bandwidth, and the point-to-point repair time According to the packet loss rate in the network, the size of the data file, the probability of FEC repair (the probability of FEC repair, that is, the ratio of FEC encoding repair packet loss, is an empirical value or actual measured value) and the non-broadcast occupied by point-to-point repair The bandwidth of the channel is determined. Let the FEC enable parameter be FEC_enable, the scheduled data file transmission time is T, the size of the data file to be broadcast is S, the broadcast channel bandwidth is Bandwidth_B, the bandwidth of the GPRS channel during point-to-point repair is Bandwidth_P, and the probability of FEC repair is P_fec, the formula [1] as follows:
FECFEC __ enableenable == 11 TT >> SS ×× (( 11 ++ FECFEC __ parapara )) BandwidthBandwidth __ BB ++ SS ×× PLRPLR ×× (( 11 -- PP __ fecfec )) BandwidthBandwidth __ PP 00 .. .. .. [[ 11 ]]
ä¸é¢è¯¦ç»æè¿°äºæ ¹æ®é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´å¤ææ¯å¦å¼å¯FECç¼ç çè¿ç¨ï¼å¦å¤ï¼å¨æäºæ åµä¸æ¯å¯ä»¥ä¸éç¨FECç¼ç çãThe above describes in detail the process of judging whether to enable FEC encoding according to the scheduled data file transmission time. In addition, in some cases, FEC encoding may not be used.
ä¼éçï¼å½ç½ç»ä¸çPLR大äºé¢è®¾é¨éå¼çæ¶åï¼å¹¿ææå¡å¨ä¸å¯¹å¾ 广æçæ°æ®æä»¶è¿è¡FECç¼ç ãæ è®ºæ¯ä½ç§FECç®æ³ï¼å½ç½ç»ç¶åµè¾å·®ï¼å³PLRè¾å¤§çæ¶åï¼ç±äºå¤§éçè¿ç»ä¸¢å çåºç°ï¼å¯¼è´éç¨FECç¼ç æ¶ï¼æ ¹æ®FECç®æ³å ¬å¼è®¡ç®åºçFEC_paraå§å¢ï¼è¿ä¼å¯¼è´å¹¿ææ¶é´å§å¢ï¼æä»¶ä¿®å¤æç骤éï¼æ¤æ¶ï¼ä¸åå¯¹å¾ å¹¿æçæ°æ®æä»¶è¿è¡FECç¼ç å¤çãPreferably, when the PLR in the network is greater than the preset threshold, the broadcast server does not perform FEC encoding on the data file to be broadcast. Regardless of the FEC algorithm, when the network condition is poor, that is, when the PLR is large, due to the occurrence of a large number of continuous packet loss, when FEC encoding is used, the FEC_para calculated according to the FEC algorithm formula will increase sharply, which will cause broadcast The time increases sharply, and the efficiency of file restoration drops sharply. At this time, the data files to be broadcast are no longer subjected to FEC encoding processing.
ä¼éçï¼å½æè¿°æ°æ®æä»¶ç大å°å°äºé¢è®¾é¨éå¼çæ¶åï¼æè¿°å¹¿ææå¡å¨ä¸å¯¹æè¿°æ°æ®æä»¶è¿è¡FECç¼ç ãFECç¼ç çè¿ç¨ä¸ï¼éè¦å å°æ°æ®æä»¶å岿ä¸ä¸ªä¸ªçæºåï¼å¿ é¡»å°ä¸å®æ°éçæºåè¿è¡ç¼ç 产çåä½åï¼å¦ææ°æ®æä»¶è¿å°ï¼åæºåçæ°éå°è¿å°ï¼åæ æ³éç¨FECç¼ç ãPreferably, when the size of the data file is smaller than a preset threshold, the broadcast server does not perform FEC encoding on the data file. In the process of FEC encoding, the data file needs to be divided into individual source blocks first, and a certain number of source blocks must be encoded to generate redundant blocks. If the data file is too small, the number of source blocks will be too small, and it will not be possible to Using FEC encoding.
FECç¼ç çå ·ä½è¿ç¨æ¯ï¼å¹¿ææå¡å¨å æ ¹æ®ç½ç»ä¸çPLRåFECç®æ³å ¬å¼è®¡ç®åºFECåä½åæ°ï¼åæ ¹æ®FECåä½åæ°å¯¹æ°æ®æä»¶è¿è¡FECç¼ç ãå°PLRä»£å ¥éå®çFECç®æ³çFECç®æ³å ¬å¼ï¼è®¡ç®å¾åºFECåä½åæ°FEC_paraï¼ä»¥ç¡®å®éè¦å¢å çFECå使¯ä¾ï¼æ ¹æ®FEC_paraåFECç®æ³å°±å¯ä»¥å¯¹å¾ 广æçæ°æ®æä»¶è¿è¡FECç¼ç ãThe specific process of FEC encoding is: the broadcast server first calculates the FEC redundancy parameters according to the PLR and FEC algorithm formula in the network, and then performs FEC encoding on the data file according to the FEC redundancy parameters. Substitute PLR into the FEC algorithm formula of the selected FEC algorithm to calculate the FEC redundancy parameter FEC_para to determine the FEC redundancy ratio that needs to be increased. According to FEC_para and the FEC algorithm, the data files to be broadcast can be FEC encoded.
æ¥éª¤102ï¼æè¿°å¹¿ææå¡å¨æ ¹æ®æè¿°é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´å¤ææ¯å¦å¯¹æè¿°æ°æ®æä»¶æç»è¿FECç¼ç çæè¿°æ°æ®æä»¶å¼å¯è½®æï¼å¦æå¼å¯ï¼å对æè¿°æ°æ®æä»¶æç»è¿FECç¼ç çæè¿°æ°æ®æä»¶è¿è¡è½®æï¼å¦æä¸å¼å¯ï¼å对æè¿°æ°æ®æä»¶æç»è¿FECç¼ç çæè¿°æ°æ®æä»¶è¿è¡ä¸æ¬¡å¹¿æãStep 102, the broadcast server determines whether to enable the carousel for the data file or the FEC-encoded data file according to the predetermined data file transmission time, and if it is enabled, then for the data file or the FEC-encoded data file The data file is broadcast in carousel, and if it is not enabled, the data file or the data file encoded by FEC is broadcast once.
ä¸è¬çï¼å¨ç½ç»ä¸PLRè¾ä½çæ åµä¸ï¼éç¨FECç¼ç çæ¹å¼è¿è¡æ°æ®æä»¶å®æ´æ§ä¿æ¤çæçè¾é«ï¼æä»¥ï¼ä¼éçï¼å 夿è¿è¡FECç¼ç å¹¿ææ¯å¦æ»¡è¶³é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ï¼å夿é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å 许è¿è¡è½®æãGenerally, when the PLR in the network is low, the efficiency of data file integrity protection using FEC coding is higher. Therefore, preferably, it is first judged whether the FEC coded broadcast meets the predetermined data file transmission time, and then It is judged whether the scheduled data file transmission time allows carousel.
å ·ä½çï¼æ¥éª¤102ç夿è¿ç¨ä¸ºï¼å¹¿ææå¡å¨å¤æï¼è¥å°æè¿°æ°æ®æä»¶æç»è¿FECç¼ç çæè¿°æ°æ®æä»¶è¿è¡è½®æï¼åè¿è¡ç¹å¯¹ç¹ä¿®å¤ï¼æéè¦çæ»æ¶é´æ¯å¦å°äºé¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ï¼å¦ææ¯ï¼å对æè¿°æ°æ®æä»¶æç»è¿FECç¼ç çæè¿°æ°æ®æä»¶å¼å¯è½®æï¼å¦åä¸å¼å¯è½®æãSpecifically, the judging process in step 102 is that the broadcast server judges, if the data file or the data file encoded by FEC is broadcast in carousel, and then point-to-point repair is performed, whether the total time required is less than the scheduled data file transmission Time, if yes, start carousel for the data file or the data file encoded by FEC, otherwise do not start carousel.
å ·ä½çï¼å¯ä»¥ç¨å¦ä¸æç¤ºå ¬å¼[2]ï¼å¾åºè½®æå¼å¯åæ°ï¼å½è½®æå¼å¯åæ°çå¼ä¸º1æ¶åå¼å¯FECç¼ç ï¼ä¸º0æ¶åä¸å¼å¯ãSpecifically, the following formula [2] can be used to obtain the carousel enabling parameter. When the value of the carousel enabling parameter is 1, FEC coding is enabled, and when it is 0, it is not enabled.
å ¬å¼[2]æ¯ç¨äºå¤æè¥å°æè¿°æ°æ®æä»¶æç»è¿FECç¼ç çæè¿°æ°æ®æä»¶è¿è¡è½®æï¼åè¿è¡ç¹å¯¹ç¹ä¿®å¤ï¼æéè¦çæ»æ¶é´æ¯å¦å¨é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ä¹å ï¼å¦ææ¯ï¼åå¼å¯è½®æãThe formula [2] is used to determine whether the total time required is within the predetermined data file transmission time if the data file or the FEC-encoded data file is broadcast in rotation, and then point-to-point repair is performed. , the carousel is enabled.
å ¶ä¸ï¼æ»æ¶é´ä¸ºè½®ææ¶é´åç¹å¯¹ç¹ä¿®å¤æ¶é´ä¹åã对äºå¼å¯FECç¼ç çæ åµï¼è¯¥å¹¿ææ¶é´æ ¹æ®è½®ææ¬¡æ°ãFECåä½åæ°ãæ°æ®æä»¶ç大å°ã广æä¿¡é带宽确å®ï¼è¯¥ç¹å¯¹ç¹ä¿®å¤æ¶é´æ ¹æ®ç½ç»ä¸ç丢å çãæ°æ®æä»¶å¤§å°ãè½®æä¿®å¤æ¦ç(è½®æä¿®å¤çæ¦çï¼å³è½®æä¿®å¤æºå¶ä¿®å¤ä¸¢å çæ¯ä¾ï¼æ¯ä¸ä¸ªç»éªå¼æå®é æµç®å¼)ãè½®ææ¬¡æ°ãFECä¿®å¤æ¦çåç¹å¯¹ç¹ä¿®å¤æå ç¨çé广æä¿¡éç带宽确å®ãå¯¹äºæªå¼å¯FECç¼ç çæ åµï¼è¯¥å¹¿ææ¶é´æ ¹æ®è½®ææ¬¡æ°ãæ°æ®æä»¶ç大å°ã广æä¿¡é带宽确å®ï¼è¯¥ç¹å¯¹ç¹ä¿®å¤æ¶é´æ ¹æ®ç½ç»ä¸ç丢å çãæ°æ®æä»¶å¤§å°ãè½®æä¿®å¤æ¦çãè½®ææ¬¡æ°åç¹å¯¹ç¹ä¿®å¤æå ç¨çé广æä¿¡éç带宽确å®ãAmong them, the total time is the sum of the rotation time and the point-to-point repair time. For the case of enabling FEC encoding, the broadcast time is determined according to the number of carousels, FEC redundancy parameters, data file size, and broadcast channel bandwidth, and the point-to-point repair time is determined according to the packet loss rate in the network, data file size, and carousel repair probability (The probability of carousel repair, that is, the ratio of the carousel repair mechanism to repair packet loss, is an empirical value or an actual measured value), the number of carousel broadcasts, the probability of FEC repair, and the bandwidth of the non-broadcast channel occupied by point-to-point repair. For the case where FEC encoding is not enabled, the broadcast time is determined according to the number of carousels, the size of the data file, and the bandwidth of the broadcast channel. The point-to-point repair time is determined according to the packet loss rate in the network, the size of the data file, the probability of carousel repair, and the number of times of carousel and the bandwidth of the non-broadcast channel occupied by point-to-point repair.
设é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ä¸ºTï¼è½®æå¼å¯åæ°ä¸ºReBroadcast_enableï¼å¦å¤è¿å æ¬ï¼è½®æç次æ°ä¸ºNï¼è½®æä¿®å¤çæ¦ç为P_broadcastï¼å ¬å¼[2]å¦ä¸ï¼Suppose the scheduled data file transmission time is T, the carousel enable parameter is ReBroadcast_enable, in addition, the number of times of carousel is N, and the probability of carousel repair is P_broadcast, the formula [2] is as follows:
ReBroadcastReBroadcast __ enableenable == 11 TT >> NN ×× SS ×× (( 11 ++ FECFEC __ parapara )) BandwidthBandwidth __ BB 00 SS ×× PLRPLR ×× (( (( 11 -- PP __ fecfec )) ×× (( 11 -- PP __ Broadcastbroadcast )) )) NN BandwidthBandwidth __ PP .. .. .. [[ 22 ]]
å ¬å¼[2]ä¸çP_fecãFEC_paraï¼ä¸ºFECç¼ç è¿ç¨ä¸çåæ°ï¼æä»¥ï¼å¯¹äºFECç¼ç å¼å¯çæ åµï¼å ¬å¼[2]ä¸çP_fecãFEC_paraä¸å ¬å¼[1]ä¸çæ°å¼ç¸åï¼å¯¹äºæªå¼å¯FECç¼ç çæ åµï¼å ¬å¼[2]ä¸çP_fecãFEC_paraå¼ä¸º0ãä¼éçï¼ä½ä¸ºåæ¥å¤ææ¯å¦å¼å¯è½®æï¼å¯ä»¥è®¾Nï¼2ï¼å¦æè¿æ¶çå¤æç»ææ¯å¼å¯è½®æï¼åè¿ä¸æ¥ç计ç®Nçå ·ä½å¼ãP_fec and FEC_para in formula [2] are parameters in the FEC encoding process. Therefore, for the case where FEC encoding is enabled, P_fec and FEC_para in formula [2] are the same as the values in formula [1]; In the case of encoding, the values of P_fec and FEC_para in formula [2] are 0. Preferably, as a preliminary judgment on whether to enable carousel, N=2 may be set, and if the result of the judgment at this time is to enable carousel, the specific value of N is further calculated.
广ææå¡å¨å¯¹æ°æ®æä»¶è¿è¡è½®æçè¿ç¨å ·ä½ä¸ºï¼å¹¿ææå¡å¨å æ ¹æ®é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ç¡®å®è½®æç次æ°ï¼åæè¯¥æ¬¡æ°å¯¹æ°æ®æä»¶è¿è¡éå¤å¹¿æã广ææå¡å¨å¯¹ç»è¿FECç¼ç çæ°æ®æä»¶è¿è¡è½®æçè¿ç¨å ·ä½ä¸ºï¼å¹¿ææå¡å¨å æ ¹æ®é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´åFECåä½åæ°ç¡®å®è½®æç次æ°ï¼åæè¯¥æ¬¡æ°å¯¹æ°æ®æä»¶è¿è¡éå¤å¹¿æãThe process of broadcasting the data files in rotation by the broadcast server is specifically as follows: the broadcast server first determines the number of rotations according to the predetermined transmission time of the data files, and then repeatedly broadcasts the data files according to the number of times. The process of broadcasting the FEC-encoded data files in rotation by the broadcast server is as follows: the broadcast server first determines the number of rotations according to the predetermined data file transmission time and FEC redundancy parameters, and then repeatedly broadcasts the data files according to the number of times.
å ·ä½çï¼æ¬åæå®æ½ä¾æä¾äºå¦ä¸æç¤ºçå ¬å¼[3]ï¼ç¨äºè®¡ç®è½®ææ¬¡æ°ãSpecifically, the embodiment of the present invention provides the following formula [3] for calculating the number of carousels.
NN == (( TT -- SS ×× PLRPLR ×× (( 11 -- PP __ fecfec )) ×× (( 11 -- PP __ Broadcastbroadcast )) BandwidthBandwidth __ PP )) ×× BandwidthBandwidth __ BB SS ×× (( 11 ++ FECFEC __ parapara )) .. .. .. [[ 33 ]]
ç±äºNçç论计ç®å ¬å¼é叏夿ï¼å¨å®é åºç¨ä¸ï¼èèå°éè¦å¯¹Nè¿è¡åæ´ï¼æ¬åæå®æ½ä¾æåºäºå ¬å¼[3]ä½ä¸ºç®ååçç®æ³ï¼ä¹å¯ä»¥è¾¾å°å¨ä¸è¶ åºé¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´çåºç¡ä¸åå°å¯¹é广æä¿¡éèµæºçå ç¨çææ¯ç®çãéè¦æåºçæ¯ï¼å¯¹äºæªå¼å¯FECç¼ç çæ åµï¼å ¬å¼[3]ä¸çP_fecãFEC_paraå¼ä¸º0ãSince the theoretical calculation formula of N is very complicated, in practical applications, considering the need to round N, the embodiment of the present invention proposes the formula [3] as a simplified algorithm, which can also achieve data file transmission without exceeding the predetermined The technical purpose of reducing the occupation of non-broadcast channel resources on a time basis. It should be pointed out that for the case where FEC encoding is not enabled, the values of P_fec and FEC_para in formula [3] are 0.
æ¥éª¤103ï¼ç»ç«¯å¯¹ä»æè¿°å¹¿ææè½®æä¸æ¥æ¶å¹¶å¤çå¾å°çæ°æ®æä»¶è¿è¡æä»¶å®æ´æ§æ£æµï¼å¦æå¾å°çæ°æ®æä»¶ä¸å®æ´ï¼åå¯ç¨ç¹å¯¹ç¹ä¿®å¤æ¹å¼å¾å°å®æ´çæ°æ®æä»¶ãStep 103, the terminal performs a file integrity check on the data file received and processed from the broadcast or carousel, and if the obtained data file is incomplete, it uses a point-to-point repair method to obtain a complete data file.
å ·ä½çï¼ç»ç«¯ä»å¹¿ææè½®æä¸æ¥æ¶æ°æ®æä»¶ï¼å¦ææ°æ®æä»¶å·²ç»è¿FECç¼ç ï¼åå¯¹å ¶è¿è¡ç¸åºçFECè§£ç ï¼å¦ææ¥æ¶å°çæ¯è½®æçæ°æ®æä»¶ï¼åå¯¹å ¶è¿è¡åå¹¶ãç¶åï¼ç»ç«¯å¯¹ç»è¿ä¸è¿°å¤çåçæ°æ®æä»¶è¿è¡å®æ´æ§æ£æµï¼å¦æå¤å®æ¤æ°æ®æä»¶ä¸å®æ´ï¼åå¯ç¨ç¹å¯¹ç¹æ¹å¼ä¿®å¤æ¤æ°æ®æä»¶ãSpecifically, the terminal receives a data file from a broadcast or a carousel, and performs corresponding FEC decoding on the data file if it has been FEC-encoded, and merges it if the received data file is a carousel. Then, the terminal performs an integrity check on the data file after the above processing, and if it determines that the data file is incomplete, it starts to repair the data file in a peer-to-peer manner.
æ¬åæçä¸è¿°å®æ½ä¾ï¼éç¨ç¹å¯¹ç¹çä¿®å¤æºå¶ä¿è¯äºæ°æ®æä»¶ç宿´æ§ï¼åæ¶å¨ç¹å¯¹ç¹ä¿®å¤ä¹åï¼éç¨FECåè½®æä¿®å¤æºå¶è¿è¡æ°æ®æä»¶å®æ´æ§ä¿æ¤ï¼æé«äºæ°æ®æä»¶ç宿´æ§ï¼åå°äºç¹å¯¹ç¹ä¿®å¤éè¦ä¿®å¤çæ°æ®éï¼è¿èåå°äºå¯¹é广æä¿¡éèµæºçå ç¨ãå½ç¶ï¼å®æ½æ¬åæç宿½ä¾çä»»ä¸äº§åå¹¶ä¸ä¸å®éè¦åæ¶è¾¾å°ä»¥ä¸æè¿°çææä¼ç¹ãIn the above-mentioned embodiment of the present invention, the point-to-point repair mechanism is adopted to ensure the integrity of the data file. At the same time, before the point-to-point repair, the FEC and carousel repair mechanism are used to protect the integrity of the data file, which improves the integrity of the data file and reduces the Point-to-point repair requires the amount of data to be repaired, thereby reducing the occupation of non-broadcast channel resources. Of course, any product that implements the embodiments of the present invention does not necessarily need to achieve all the above-mentioned advantages at the same time.
卿¬åæå®æ½ä¾äºä¸ï¼å°ç»åå ·ä½çåºç¨åºæ¯å¯¹æ¬åæå®æ½ä¾æä¾çæ°æ®æä»¶å¹¿æä¸æä»¶å®æ´æ§ä¿æ¤çæ¹æ³è¿è¡è¿ä¸æ¥éè¿°ï¼å¦å¾2æç¤ºï¼è¯¥æµç¨å¯ä»¥å æ¬ï¼In Embodiment 2 of the present invention, the method for file integrity protection in data file broadcasting provided by the embodiment of the present invention will be further elaborated in combination with specific application scenarios. As shown in FIG. 2 , the process may include:
æ¥éª¤201ï¼å¹¿ææå¡å¨æ ¹æ®é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ãç½ç»ç¶åµ(ç½ç»ä¸çPLR)åå¾ å¹¿ææ°æ®æä»¶ç大å°å¤ææ¯å¦å¼å¯FECç¼ç ã妿æ¯ï¼åæ§è¡æ¥éª¤202ï¼å¦åæ§è¡æ¥éª¤204ãIn step 201, the broadcast server determines whether to enable FEC encoding according to the scheduled data file transmission time, network conditions (PLR in the network) and the size of the data file to be broadcast. If yes, go to step 202, otherwise go to step 204.
广ææå¡å¨æ ¹æ®å ¬å¼[1]以åé¢å 设å®çPLRé¨éå¼åæä»¶å¤§å°é¨éå¼å¤æï¼åªæå¨å ¬å¼[1]计ç®çç»æä¸ºå¼å¯ï¼ä¸ç½ç»PLRä¸å¤§äºPLRé¨éå¼ï¼ä¸å¾ å¹¿ææ°æ®æä»¶å¤§å°ä¸å°äºæä»¶å¤§å°é¨éå¼çæ¶åï¼æå¼å¯FECç¼ç ãThe broadcast server judges according to the formula [1] and the preset PLR threshold and file size threshold. Only when the calculation result of the formula [1] is open, and the network PLR is not greater than the PLR threshold, and the data to be broadcast FEC encoding is enabled only when the file size is not smaller than the file size threshold.
æ¥éª¤202ï¼å¹¿ææå¡å¨ç¡®å®FECåä½åæ°ãStep 202, the broadcast server determines FEC redundancy parameters.
å¯ä»¥æç §å®æ½ä¾ä¸ä¸æä¾çæ¹æ³ç¡®å®FECç®æ³åFECç®æ³å ¬å¼ï¼ç¶åæ ¹æ®ç½ç»PLRåFECç®æ³å ¬å¼ç¡®å®FECåä½åæ°ãThe FEC algorithm and the FEC algorithm formula can be determined according to the method provided in Embodiment 1, and then the FEC redundancy parameters can be determined according to the network PLR and the FEC algorithm formula.
æ¥éª¤203ï¼å¹¿ææå¡å¨å¯¹è¯¥æ°æ®æä»¶è¿è¡FECç¼ç ãStep 203, the broadcast server performs FEC encoding on the data file.
广ææå¡å¨æ ¹æ®FECåä½åæ°åFECç®æ³å¯¹å¾ å¹¿ææ°æ®æä»¶è¿è¡FECç¼ç ãThe broadcast server performs FEC encoding on the data file to be broadcast according to the FEC redundancy parameter and the FEC algorithm.
æ¥éª¤204ï¼å¹¿ææå¡å¨æ ¹æ®é¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´å¤ææ¯å¦å¼å¯è½®æã妿å¼å¯ï¼åæ§è¡æ¥éª¤205ï¼å¦åï¼ä½¿Nï¼1ï¼å¹¶æ§è¡æ¥éª¤206ãStep 204, the broadcast server judges whether to enable carousel according to the scheduled data file transmission time. If it is enabled, execute step 205 , otherwise, set N=1 and execute step 206 .
广ææå¡å¨æ ¹æ®å ¬å¼[2]夿ï¼è¥å¼å¯è½®æï¼ä¼ è¾æ¶é´æ¯å¦è½å¤å°äºé¢å®çæ°æ®æä»¶ä¼ è¾æ¶é´ãå¨ç¨å ¬å¼[2]计ç®çè¿ç¨ä¸ï¼å¦æå¨æ¥éª¤201ä¸å¤å®ä¸å¼å¯FECç¼ç ï¼åå¨è®¡ç®çè¿ç¨ä¸åP_fecãFEC_paraå¼ä¸º0ãå¦å¤ï¼å¯ä»¥å设Nï¼2ï¼å³å¤æè¿è¡ä¸¤æ¬¡è½®ææ¯å¦è¶ æ¶(卿£å¸¸æ åµä¸ï¼å¦æä¸¤æ¬¡è½®æå°±å·²ç»è¶ æ¶ï¼é£ä¹ä¸æ¬¡ä»¥ä¸çè½®æä¹ä¼è¶ æ¶)ï¼å¦æNï¼2çæ¶åè¿ä¸æ»¡è¶³æ¶é´è¦æ±ï¼é£ä¹å¤å®ä¸å¼å¯è½®æï¼å¹¶è®¾ç½®Nï¼1åæ§è¡æ¥éª¤206ãThe broadcast server judges according to the formula [2], if the carousel is enabled, whether the transmission time can be less than the predetermined data file transmission time. During the calculation process using the formula [2], if it is determined in step 201 that the FEC encoding is not enabled, the values of P_fec and FEC_para are set to be 0 during the calculation process. In addition, it can be assumed that N=2, that is, it is judged whether two carousels have timed out (under normal circumstances, if two carousels have already timed out, then more than three carousels will also time out), if N=2 If the time requirement is not met, it is determined not to start the carousel, and after setting N=1, step 206 is executed.
æ¥éª¤205ï¼å¹¿ææå¡å¨ç¡®å®è½®ææ¬¡æ°NãStep 205, the broadcast server determines the number N of rotations.
ç»è¿æ¥éª¤204ç夿ï¼ç¡®å®å¼å¯è½®æï¼åè¿ä¸æ¥æ ¹æ®å ¬å¼[3]计ç®è½®æç次æ°Nï¼å¦æå¨æ¥éª¤201ä¸å¤å®ä¸å¼å¯FECç¼ç ï¼åå¨è®¡ç®çè¿ç¨ä¸åP_fecãFEC_paraå¼ä¸º0ãThrough the judgment of step 204, it is determined to open the carousel, then further calculate the number N of carousels according to the formula [3], if it is judged not to open the FEC encoding in step 201, then take the values of P_fec and FEC_para to be 0 in the calculation process.
æ¥éª¤206ï¼å¹¿ææå¡å¨å°æ°æ®æä»¶å¹¿æN次ãStep 206, the broadcast server broadcasts the data file N times.
æ¥éª¤207ï¼ç»ç«¯å¯¹ä»å¹¿æä¸æ¥æ¶å°çæ°æ®æä»¶è¿è¡å¤çãStep 207, the terminal processes the data file received from the broadcast.
妿ç»ç«¯æ¥æ¶å°çæ°æ®æä»¶æ¯ç»è¿FECç¼ç çæ°æ®æä»¶ï¼åå¯¹å ¶è¿è¡FECè§£ç ï¼å¦æå¹¿ææ¬¡æ°Nï¼1ï¼ç»ç«¯å对ä»å¤æ¬¡å¹¿æä¸æ¥æ¶å°çæ°æ®æä»¶è¿è¡åå¹¶ãç»ç«¯å¾å°ç»è¿ä¸è¿°å¤ççæ°æ®æä»¶ãIf the data file received by the terminal is an FEC-encoded data file, FEC decoding is performed on it; if the number of broadcasts N>1, the terminal merges the data files received from multiple broadcasts. The terminal obtains the data file processed above.
æ¥éª¤208ï¼ç»ç«¯å¤æç»è¿å¤ççæ°æ®æä»¶æ¯å¦å®æ´ã妿ä¸å®æ´ï¼åæ§è¡æ¥éª¤209ï¼å¦åç»ææµç¨ãStep 208, the terminal judges whether the processed data file is complete. If not complete, execute step 209, otherwise end the process.
æ¥éª¤209ï¼ç»ç«¯å¯¹æ°æ®æä»¶è¿è¡ç¹å¯¹ç¹ä¿®å¤ä»¥å¾å°å®æ´çæ°æ®æä»¶ãStep 209, the terminal performs point-to-point repair on the data file to obtain a complete data file.
æ¬åæçä¸è¿°å®æ½ä¾ï¼éç¨ç¹å¯¹ç¹çä¿®å¤æºå¶ä¿è¯äºæ°æ®æä»¶ç宿´æ§ï¼åæ¶å¨ç¹å¯¹ç¹ä¿®å¤ä¹åï¼éç¨FECåè½®æä¿®å¤æºå¶è¿è¡æ°æ®æä»¶å®æ´æ§ä¿æ¤ï¼æé«äºæ°æ®æä»¶ç宿´æ§ï¼åå°äºç¹å¯¹ç¹ä¿®å¤éè¦ä¿®å¤çæ°æ®éï¼è¿èåå°äºå¯¹é广æä¿¡éèµæºçå ç¨ãå½ç¶ï¼å®æ½æ¬åæç宿½ä¾çä»»ä¸äº§åå¹¶ä¸ä¸å®éè¦åæ¶è¾¾å°ä»¥ä¸æè¿°çææä¼ç¹ãIn the above-mentioned embodiment of the present invention, the point-to-point repair mechanism is adopted to ensure the integrity of the data file. At the same time, before the point-to-point repair, the FEC and carousel repair mechanism are used to protect the integrity of the data file, which improves the integrity of the data file and reduces the Point-to-point repair requires the amount of data to be repaired, thereby reducing the occupation of non-broadcast channel resources. Of course, any product that implements the embodiments of the present invention does not necessarily need to achieve all the above-mentioned advantages at the same time.
æ¬åæå®æ½ä¾ä¸æä¾ä¸ç§å¹¿ææå¡å¨ï¼å¯åºç¨äºä¸è¿°å®æ½ä¾ä¸ãäºçæµç¨å¦å¾3æç¤ºï¼è¯¥å¹¿ææå¡å¨å æ¬ï¼Embodiment 3 of the present invention provides a broadcast server, which can be applied to the processes of Embodiments 1 and 2 above, as shown in FIG. 3 . The broadcast server includes:
第ä¸å¤ææ¨¡å310ï¼ç¨äºå¤æå¯¹æ°æ®æä»¶è¿è¡FECç¼ç å¤çæå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å°äºéå¼ãThe first judging module 310 is configured to judge whether the data file transmission time corresponding to performing FEC encoding processing on the data file is less than a threshold.
FECç¼ç 模å320ï¼ç¨äºå¨æè¿°ç¬¬ä¸å¤ææ¨¡å310çå¤æç»æä¸ºæ¯æ¶ï¼å¯¹æè¿°æ°æ®æä»¶è¿è¡FECç¼ç ãThe FEC encoding module 320 is configured to perform FEC encoding on the data file when the determination result of the first determination module 310 is yes.
第äºå¤ææ¨¡å330ï¼ç¨äºå¤æå¯¹FECç¼ç åçæ°æ®æä»¶è¿è¡è½®ææå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å°äºéå¼ãThe second judging module 330 is configured to judge whether the data file transmission time corresponding to the carousel broadcasting of the FEC-encoded data files is less than a threshold.
第ä¸å¤ææ¨¡å340ï¼ç¨äºå¤æå¯¹æè¿°æ°æ®æä»¶è¿è¡è½®ææå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å°äºéå¼ãThe third judging module 340 is configured to judge whether the data file transmission time corresponding to the carousel broadcasting of the data files is less than a threshold.
è½®ææ¨¡å350ï¼ç¨äºå¨æè¿°ç¬¬äºå¤ææ¨¡å330çå¤æç»æä¸ºæ¯æ¶ï¼å¯¹æè¿°FECç¼ç åçæ°æ®æä»¶è¿è¡è½®æï¼å¨æè¿°ç¬¬ä¸å¤ææ¨¡å340çå¤æç»æä¸ºæ¯æ¶ï¼å¯¹æè¿°FECç¼ç åçæ°æ®æä»¶è¿è¡è½®æãç±ç»ç«¯å¯¹ä»æè¿°è½®æä¸æ¥æ¶å°çæ°æ®æä»¶è¿è¡æä»¶å®æ´æ§æ£æµï¼å¦æå¾å°çæ°æ®æä»¶ä¸å®æ´ï¼åæè¿°ç»ç«¯å¯ç¨ç¹å¯¹ç¹ä¿®å¤æ¹å¼å¾å°å®æ´çæ°æ®æä»¶ãThe carousel module 350 is configured to perform carousel broadcasting of the FEC encoded data files when the judgment result of the second judging module 330 is yes, and when the judging result of the third judging module 340 is yes, Perform carousel broadcasting of the FEC-encoded data files. The terminal performs file integrity detection on the data file received from the carousel, and if the obtained data file is incomplete, the terminal starts a point-to-point repair method to obtain a complete data file.
å¹¿ææ¨¡å360ï¼ç¨äºå¨æè¿°ç¬¬äºå¤ææ¨¡å330çå¤æç»æä¸ºå¦æ¶ï¼å¯¹æè¿°FECç¼ç åçæ°æ®æä»¶è¿è¡ä¸æ¬¡å¹¿æï¼å¨æè¿°ç¬¬ä¸å¤ææ¨¡å340çå¤æç»æä¸ºå¦æ¶ï¼å¯¹æè¿°æ°æ®æä»¶è¿è¡ä¸æ¬¡å¹¿æãç±ç»ç«¯å¯¹ä»æè¿°å¹¿æä¸æ¥æ¶å°çæ°æ®æä»¶è¿è¡æä»¶å®æ´æ§æ£æµï¼å¦æå¾å°çæ°æ®æä»¶ä¸å®æ´ï¼åæè¿°ç»ç«¯å¯ç¨ç¹å¯¹ç¹ä¿®å¤æ¹å¼å¾å°å®æ´çæ°æ®æä»¶ãThe broadcast module 360 is used to broadcast the FEC-encoded data file once when the judgment result of the second judgment module 330 is no; when the judgment result of the third judgment module 340 is no, to The data file is broadcast once. The terminal performs file integrity detection on the data file received from the broadcast, and if the obtained data file is incomplete, the terminal activates a point-to-point repair method to obtain a complete data file.
ä¼éçï¼æè¿°å¯¹æ°æ®æä»¶è¿è¡FECç¼ç å¤çæå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´ï¼å ·ä½ä¸ºï¼å°æè¿°æ°æ®æä»¶ç»FECç¼ç åè¿è¡å¹¿æï¼åè¿è¡ç¹å¯¹ç¹ä¿®å¤ï¼æéè¦çæ»æ¶é´ãæè¿°ç¬¬ä¸å¤ææ¨¡å330è¿ç¨äºï¼æ ¹æ®å¹¿ææ¶é´åç¹å¯¹ç¹ä¿®å¤æ¶é´ä¹åç¡®å®å¯¹æ°æ®æä»¶è¿è¡FECç¼ç å¤çæå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´ï¼æ¯è¾ç¡®å®çæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å°äºéå¼ï¼æè¿°å¹¿ææ¶é´æ ¹æ®FECåä½åæ°ãæè¿°æ°æ®æä»¶ç大å°ã广æä¿¡é带宽确å®ï¼æè¿°ç¹å¯¹ç¹ä¿®å¤æ¶é´æ ¹æ®ç½ç»ä¸ç丢å çãæè¿°æ°æ®æä»¶å¤§å°ãFECä¿®å¤æ¦çåç¹å¯¹ç¹ä¿®å¤æå ç¨çé广æä¿¡éç带宽确å®ãPreferably, the data file transmission time corresponding to the FEC encoding processing of the data file is specifically: the total time required for broadcasting the data file after being FEC encoded, and then performing point-to-point repair. The first judging module 330 is also used to: determine the data file transmission time corresponding to the FEC encoding process on the data file according to the sum of the broadcast time and the point-to-point repair time, and compare whether the determined data file transmission time is less than a threshold; the broadcast The time is determined according to the FEC redundancy parameter, the size of the data file, and the broadcast channel bandwidth, and the point-to-point repair time is determined according to the packet loss rate in the network, the size of the data file, the FEC repair probability, and the non-broadcast channel occupied by the point-to-point repair The bandwidth is determined.
æè¿°å¯¹FECç¼ç åçæ°æ®æä»¶è¿è¡è½®ææå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´ï¼å ·ä½ä¸ºï¼å°æè¿°æ°æ®æä»¶ç»è¿FECç¼ç ï¼åè¿è¡è½®æåè¿è¡ç¹å¯¹ç¹ä¿®å¤æéè¦çæ»æ¶é´ãæè¿°å¯¹æè¿°æ°æ®æä»¶è¿è¡è½®ææå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´ï¼å ·ä½ä¸ºï¼å°æè¿°æ°æ®æä»¶è¿è¡è½®æåè¿è¡ç¹å¯¹ç¹ä¿®å¤æéè¦çæ»æ¶é´ãThe data file transmission time corresponding to the carousel of the FEC-encoded data files is specifically: the total time required for the carousel and point-to-point repair of the data files after being FEC-encoded. The data file transmission time corresponding to the carousel broadcasting of the data files is specifically: the total time required for carousel broadcasting of the data files and point-to-point repair.
æè¿°ç¬¬äºå¤ææ¨¡å330è¿ç¨äºï¼æ ¹æ®å¹¿ææ¶é´åç¹å¯¹ç¹ä¿®å¤æ¶é´ä¹åç¡®å®å¯¹FECç¼ç åçæ°æ®æä»¶è¿è¡è½®ææå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´ï¼æ¯è¾ç¡®å®çæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å°äºéå¼ï¼è¯¥å¹¿ææ¶é´æ ¹æ®è½®ææ¬¡æ°ãFECåä½åæ°ãæè¿°æ°æ®æä»¶ç大å°ã广æä¿¡é带宽确å®ï¼æè¿°ç¹å¯¹ç¹ä¿®å¤æ¶é´æ ¹æ®ç½ç»ä¸ç丢å çãæè¿°æ°æ®æä»¶å¤§å°ãè½®æä¿®å¤æ¦çãè½®ææ¬¡æ°ãFECä¿®å¤æ¦çåç¹å¯¹ç¹ä¿®å¤æå ç¨çé广æä¿¡éç带宽确å®ï¼The second judging module 330 is also used for: according to the sum of the broadcast time and the point-to-point repair time, determine the data file transmission time corresponding to the carousel of the FEC-encoded data file, and compare whether the determined data file transmission time is less than the threshold; The broadcast time is determined according to the number of carousels, FEC redundancy parameters, the size of the data file, and the broadcast channel bandwidth, and the point-to-point repair time is determined according to the packet loss rate in the network, the size of the data file, the carousel repair probability, and the The number of broadcasts, the probability of FEC repair and the bandwidth of the non-broadcast channel occupied by point-to-point repair;
æè¿°ç¬¬ä¸å¤ææ¨¡å340è¿ç¨äºï¼æ ¹æ®å¹¿ææ¶é´åç¹å¯¹ç¹ä¿®å¤æ¶é´ä¹åç¡®å®å¯¹æè¿°æ°æ®æä»¶è¿è¡è½®ææå¯¹åºçæ°æ®æä»¶ä¼ è¾æ¶é´ï¼æ¯è¾ç¡®å®çæ°æ®æä»¶ä¼ è¾æ¶é´æ¯å¦å°äºéå¼ï¼è¯¥å¹¿ææ¶é´æ ¹æ®è½®ææ¬¡æ°ãæè¿°æ°æ®æä»¶ç大å°ã广æä¿¡é带宽确å®ï¼æè¿°ç¹å¯¹ç¹ä¿®å¤æ¶é´æ ¹æ®ç½ç»ä¸ç丢å çãæè¿°æ°æ®æä»¶å¤§å°ãè½®æä¿®å¤æ¦çãè½®ææ¬¡æ°åç¹å¯¹ç¹ä¿®å¤æå ç¨çé广æä¿¡éç带宽确å®ãThe third judging module 340 is also used for: according to the sum of the broadcast time and the point-to-point repair time, determine the data file transmission time corresponding to the carousel of the data file, and compare whether the determined data file transmission time is less than a threshold; the broadcast The time is determined according to the number of carousels, the size of the data file, and the bandwidth of the broadcast channel, and the point-to-point repair time is determined according to the packet loss rate in the network, the size of the data file, the probability of carousel repair, the number of times of carousel, and the occupancy of point-to-point repair The bandwidth of the non-broadcast channel is determined.
æè¿°è½®ææ¨¡å350å ·ä½ç¨äºï¼The carousel module 350 is specifically used for:
æ ¹æ®æè¿°éå¼åæè¿°FECç¼ç 对åºçFECåä½åæ°ç¡®å®è½®æç次æ°ï¼Determine the number of rounds according to the threshold and the FEC redundancy parameter corresponding to the FEC encoding;
ææè¿°æ¬¡æ°å¯¹æè¿°FECç¼ç åçæ°æ®æä»¶è¿è¡è½®æãCarousel broadcast the FEC-encoded data files according to the number of times.
ä¼éçï¼æè¿°ç¬¬ä¸å¤ææ¨¡å310è¿ç¨äºï¼å¤æç½ç»ä¸ç丢å çPLRæ¯å¦å¤§äºé¢è®¾é¨éå¼ï¼å¦ææ¯ï¼åä¸å¯¹æè¿°æ°æ®æä»¶å¼å¯FECç¼ç ãPreferably, the first judging module 310 is also used for: judging whether the packet loss rate PLR in the network is greater than a preset threshold value, and if so, not enabling FEC encoding for the data file.
ä¼éçï¼æè¿°ç¬¬ä¸å¤ææ¨¡å310è¿ç¨äºï¼å¤ææè¿°æ°æ®æä»¶ç大尿¯å¦å°äºé¢è®¾é¨éå¼ï¼å¦ææ¯ï¼åä¸å¯¹æè¿°æ°æ®æä»¶å¼å¯FECç¼ç ãPreferably, the first judging module 310 is further configured to: judge whether the size of the data file is smaller than a preset threshold, and if so, do not enable FEC encoding for the data file.
æ¬åæçä¸è¿°å®æ½ä¾æä¾ç广ææå¡å¨ï¼éç¨ç¹å¯¹ç¹çä¿®å¤æºå¶ä¿è¯äºæ°æ®æä»¶ç宿´æ§ï¼åæ¶å¨ç¹å¯¹ç¹ä¿®å¤ä¹åï¼éç¨FECåè½®æä¿®å¤æºå¶è¿è¡æ°æ®æä»¶å®æ´æ§ä¿æ¤ï¼æé«äºæ°æ®æä»¶ç宿´æ§ï¼åå°äºç¹å¯¹ç¹ä¿®å¤éè¦ä¿®å¤çæ°æ®éï¼è¿èåå°äºå¯¹é广æä¿¡éèµæºçå ç¨ãå½ç¶ï¼å®æ½æ¬åæç宿½ä¾çä»»ä¸äº§åå¹¶ä¸ä¸å®éè¦åæ¶è¾¾å°ä»¥ä¸æè¿°çææä¼ç¹ãThe broadcast server provided by the above-mentioned embodiments of the present invention adopts a point-to-point repair mechanism to ensure the integrity of data files, and at the same time, before point-to-point repair, FEC and carousel repair mechanisms are used to protect the integrity of data files, which improves the integrity of data files performance, reducing the amount of data to be repaired for point-to-point repair, thereby reducing the occupation of non-broadcast channel resources. Of course, any product that implements the embodiments of the present invention does not necessarily need to achieve all the above-mentioned advantages at the same time.
æ¬é¢åææ¯äººåå¯ä»¥çè§£å®æ½ä¾ä¸çè£ ç½®ä¸ç模åå¯ä»¥æç §å®æ½ä¾æè¿°è¿è¡åå¸äºå®æ½ä¾çè£ ç½®ä¸ï¼ä¹å¯ä»¥è¿è¡ç¸åºååä½äºä¸åäºæ¬å®æ½ä¾çä¸ä¸ªæå¤ä¸ªè£ ç½®ä¸ãä¸è¿°å®æ½ä¾ç模åå¯ä»¥å并为ä¸ä¸ªæ¨¡åï¼ä¹å¯ä»¥è¿ä¸æ¥æåæå¤ä¸ªå模åãThose skilled in the art can understand that the modules in the device in the embodiment can be distributed in the device in the embodiment according to the description in the embodiment, or can be located in one or more devices different from the embodiment according to corresponding changes. The modules in the above embodiments can be combined into one module, and can also be further divided into multiple sub-modules.
ä¸è¿°æ¬åæå®æ½ä¾åºå·ä» ä» ä¸ºäºæè¿°ï¼ä¸ä»£è¡¨å®æ½ä¾çä¼å£ãThe serial numbers of the above embodiments of the present invention are for description only, and do not represent the advantages and disadvantages of the embodiments.
éè¿ä»¥ä¸ç宿½æ¹å¼çæè¿°ï¼æ¬é¢åçææ¯äººåå¯ä»¥æ¸ æ¥å°äºè§£å°æ¬åæå¯åå©è½¯ä»¶å å¿ éçéç¨ç¡¬ä»¶å¹³å°çæ¹å¼æ¥å®ç°ï¼å½ç¶ä¹å¯ä»¥éè¿ç¡¬ä»¶ï¼ä½å¾å¤æ åµä¸åè æ¯æ´ä½³ç宿½æ¹å¼ãåºäºè¿æ ·ççè§£ï¼æ¬åæçææ¯æ¹æ¡æ¬è´¨ä¸æè è¯´å¯¹ç°æææ¯ååºè´¡ç®çé¨åå¯ä»¥ä»¥è½¯ä»¶äº§åçå½¢å¼ä½ç°åºæ¥ï¼è¯¥è®¡ç®æºè½¯ä»¶äº§ååå¨å¨ä¸ä¸ªåå¨ä»è´¨ä¸ï¼å æ¬è¥å¹²æä»¤ç¨ä»¥ä½¿å¾ä¸å°ç»ç«¯è®¾å¤(å¯ä»¥æ¯ææºï¼ä¸ªäººè®¡ç®æºï¼æå¡å¨ï¼æè ç½ç»è®¾å¤ç)æ§è¡æ¬åæåä¸ªå®æ½ä¾æè¿°çæ¹æ³ãThrough the description of the above embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is a better implementation Way. Based on this understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to make a A terminal device (which may be a mobile phone, a personal computer, a server, or a network device, etc.) executes the methods described in various embodiments of the present invention.
ä»¥ä¸æè¿°ä» æ¯æ¬åæçä¼é宿½æ¹å¼ï¼åºå½æåºï¼å¯¹äºæ¬ææ¯é¢åçæ®éææ¯äººåæ¥è¯´ï¼å¨ä¸è±ç¦»æ¬åæåççåæä¸ï¼è¿å¯ä»¥ååºè¥å¹²æ¹è¿å润饰ï¼è¿äºæ¹è¿å润饰ä¹åºè§æ¬åæçä¿æ¤èå´ãThe above is only a preferred embodiment of the present invention, it should be pointed out that, for those of ordinary skill in the art, without departing from the principle of the present invention, some improvements and modifications can also be made, and these improvements and modifications can also be made. It should be regarded as the protection scope of the present invention.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4