手機App應用內容分發系統存在的問題及對策解決方案

2021-01-19 騰訊網

4.1流媒體分發

在流媒體分發中,通常對flv的支持會更好。原因是flv根據文件偏移量執行快進和快退。 mp4編碼會隨著時間的推移而快進和快退。一些CDN供應商可能不正確支持mp4,或者可能根本不支持mp4。但是,flv通常可以直接應用。實際上,flv格式是由播放器計算的,這降低了分發伺服器的技術要求。這裡的困難主要是由作為上述來源的返回模塊的複雜性引起的。如果需要進一步處理索引,則程序級別將變得更加複雜。

另外,如果分布式流媒體的容量相對較大,建議主動拆分文件(小於100MB)。這樣,您可以對某些配置錯誤的伺服器進行一些優化。例如,在沒有陣列或陣列卡損壞的系統上,避免將大文件放在單個磁碟上,以便最大程度地從多個磁碟讀取文件,從而有效地提高了吞吐量。

前端SDK應該能夠收集數據,例如啟動客戶端IP,連接到伺服器IP,解析伺服器IP時間開銷。連接到伺服器IP的時間成本,第一個數據包的時間成本以及數據中斷率。伺服器返回狀態值,數據傳輸時間等。因為整個網絡中都有一些「代理伺服器」,所以某些請求永遠不會到達伺服器,或者該請求已被修改。將日誌放在前端和後端一起可以使分析更好,更清晰,從而可以改進方法並改善用戶體驗。數據是系統演進的重要組成部分。

必須考慮反延伸鏈的設計。在不嚴重影響客戶端和伺服器端性能的情況下,打破熱鏈規則的難度應儘可能高。引薦來源網址很容易偽造,但可以用作過濾請求的第一道防線。它通過複雜的規則增加了熱連結的成本。分析前端和後端日誌以了解流量消耗,並根據需要定期修改防盜鏈算法。

4.2應用程式分布

當前正在部署許多行動應用程式,並且許多應用程式面臨連結劫持的問題。如果您面臨DNS劫持,則基本上只能使用HttpDns之類的第三方解決方案。如前所述,如果您的http層由「代理伺服器」緩存,則可以通過構造動態URL來配置緩存。對於http劫持,您可以參考參考信息中的連結。原則上,了解問題的性質後,您會發現某些方法更具針對性,但有些方法不容易解決。發現問題後,您可以儘快提出投訴。因此,每個人都可以通過查看我稍後提供的參考連結來學習如何找到各種千斤頂。4.3在Linux上優化Nginx的性能

與CDN系統相比,伺服器程序主要使用系統的網絡IO和磁碟IO。對於較小的請求(從幾千字節到幾十千字節),所測量的關鍵指標將更多地關注於每秒可以響應的請求數。由於請求的文件很小,因此nginx對小文件進行了很多優化。例如,sendfile函數可以避免將文件讀取到內存中(由系統緩存到用戶內存中,然後傳遞給系統以用於網絡接口),並使作業系統內核直接發送文件。當然,此功能也有其缺點。換句話說,如果文件太大,則帶寬將被請求佔用,因此nginx具有內部限制來防止這種情況。相對較大的請求通常更加關注磁碟IO和內存優化。對於大請求,nginx使用固定長度的緩衝區來減少用於每個請求的網絡和磁碟IO。這樣,您可以更公平地將有限的IO分配給多個請求,並且浪費不均。

Nginx本身由事件模型驅動,並且在多個進程中,在正常情況下,每個進程只有一個線程。但是,使用事件模型,即使是一個線程也可以響應數千個請求。

當nginx在Linux機器上運行時,服務文件的存儲空間遠遠大於機器內存,並且如果這些文件是熱文件,則連接到nginx伺服器可能會導致連接超時或慢速連結設置問題。

必須從兩個方面解決這個問題。 Linux文件訪問操作分為兩類。

一種使用作業系統的虛擬存儲來緩存熱文件,這可以加快磁碟訪問速度。接口的另一種類型稱為直接訪問模式,繞過作業系統緩存並將文件直接加載到用戶進程存儲空間中。 Linux上的第一類訪問模式不支持「異步操作」,即不兼容的事件模式。第二種訪問模式與「異步操作」兼容,但是該接口不友好,因為沒有用於磁碟緩存的作業系統。第二種類型主要是沒有高速緩存管理,這會大大降低系統性能。在Linux上,nginx始終將第一種訪問模式投入運行。 Nginx的設計目標是為多個流程提供更好的穩定性,並減少流程之間的交互。使用第二種模式會增加複雜性,並會導致進程之間的交互受到更多的阻止(考慮到對數據緩存機制的支持)。這意味著,如果無法將請求的資源放入系統的內存中,則事件模型將被文件操作中止,並且無法正常響應連接。在nginx 1.7.12及更高版本1.8中,nginx引入了線程池來緩解上述問題。當主線程決定啟動文件系統操作時,它將創建一個特殊作業並刪除工作隊列中的作業。線程池中的線程繼續在隊列中執行文件操作,然後將執行的結果放入返回隊列中,主線程繼續進行後續操作。通過此操作,主線程不再被阻塞,因此連接建立不會中斷。

但是,如果IO嚴重不足,則請求時間可能仍然很長,或者客戶端請求可能會超時。在這種情況下,您可以執行其他優化,例如磁碟調度算法,文件存儲結構優化和存儲升級。上一篇文章說,nginx使用線程池性能提高了9倍,這實際上是Linux上的性能問題。這個問題在FreeBSD系統上不存在,因為FreeBSD系統上的異步IO支持使用內存作為文件緩存。

不支持Linux的原因是因為社區辯論。而不是系統本身的功能。

4.4如何降低成本

CDN的價格不是特別透明,知名製造商通常會與銷售商協商。而且,根據流量的不同會有一些折扣。但是,CDN在市場上的價格基本上可以考慮如下:

文件的價格小於流媒體的價格,大於下載的價格。

直播價格也將高於點播流媒體價格。

如果籤訂的價格合同基於標準峰值帶寬+ 95計費方法,那麼降低峰值通常是常用的方法。但是,根據您的特定使用情況,您需要執行峰去除。例如,以下情況可能不適用或可能屬於峰去除。我們緊急發布一個修復嚴重錯誤或安全漏洞的版本。這時,可能會提示用戶儘快升級。很高的山峰。開展新業務時,您的舊流量並沒有發生明顯變化,並且在一些熱門時期創造了新的高峰。大規模的黑客攻擊創造了額外的流量並帶來了新的高峰。峰值消除方法是交錯請求以避免同時請求。以下方案更適合去除峰。我們將發布非關鍵升級,並期望用戶逐步過渡。要減少最大值,可以限制通知升級用戶的數量。針對不健康流量的自動日誌分析具有自動應變計劃,例如自動拒絕某些請求。

4.5包含SDK對客戶的影響

實際上,類似於HttpDns或p2p加速,此處的sdks是代碼安全性問題,由於大小,穩定性問題,集成額外成本(小型客戶沒有人力或能力),需求等導致的CDN成本增加。您將面對此事。它是否真的存在(小客戶可能沒有能力考慮它)。這也是SDK解決方案通常難以推廣的問題。開源SDK可以大大減少客戶對代碼安全性的擔憂,但是成本和集成成本並不容易解決。5. P2P穿牆打孔

讓我們從Internet添加臨時補充內容。幫助所有人簡要了解P2P的核心技術並突破壁壘。

通常,P2P是多對多傳輸,但實際上可以分為:控制部分和傳輸部分,P2P網絡需要一些服務節點來交換信息並協調鑽孔。當然,這些服務節點通常還具有查詢資源位置和相關節點的能力。與傳輸部分相關的對象分為兩類:可直接訪問的對象和隱藏在NAT後面的對象。只要一個或多個參與方可以直接訪問,控制部分就可以用來建立傳輸通道,而無需鑽孔。如果兩個實體都隱藏在NAT之後,則會發生打孔問題。

所謂的打孔實際上是指當NAT的內部伺服器連接到外部實體時,隱藏在NAT伺服器中的「臨時」映射關係。這樣,NAT伺服器可以將數據包從外部網絡正確發送到內部實體。

在P2P鑽孔過程中,每個實體必須主動連接到P2P網絡中的伺服器,並向伺服器報告其自己的外部網絡IP和鑽探的「臨時」埠。這樣,伺服器可以將實體的資源信息和網絡信息存儲在一起,並為後續的連接請求提供輸入參數。

當實體A準備好連接到實體B時,您要做的就是通過P2P網絡上的伺服器獲取連接信息並直接連接。這是因為先前已設置了「臨時」孔。

實際上,還有一些其他要求。

每個實體都必須像P2P網絡伺服器一樣定期發送心跳。心跳是為了確保打孔的「臨時」埠不會被擦除。

NAT伺服器是圓錐型伺服器。這意味著從外部主機發送到該埠的任何信息都可以傳遞到打孔主機。這種類型的NAT伺服器在大多數情況下都可以解決。

如果NAT打孔失敗,最好放棄或切換到伺服器轉發模式。

上面是一個相對簡單的UDP打孔,TCP也可以在牆上打孔,但是比較複雜。國內製造商有很多在牆上鑽孔的專家,簡單的算法無法解決複雜的家庭Internet環境中的許多詳細問題。 「高速通道」中的P2P傳輸效果非常好,因為這些製造商已經在該領域工作了很長時間。

相關焦點

  • 夜神手機應用中心上線 打造全平臺分發生態鏈
    為方便玩家在手機上下載夜神遊戲,實現與夜神安卓模擬器跨屏互動,夜神旗下手機應用中心已經與近期正式上線,玩家雙端只需一個帳號就可以同步玩相同遊戲。而夜神手機應用中心將會與夜神安卓模擬器平臺中的手遊實現同步更新,為玩家及時推送當下最熱最好玩的手遊。
  • 電子巡更巡檢系統的應用類型及解決方案
    電子巡更巡檢系統的應用類型及解決方案 佚名 發表於 2020-12-03 10:55:49 電子巡更巡檢系統分在線式和離線式兩大類。
  • 教你如何把App上架到蘋果官方認可的內測分發渠道testflight
    今天跟大家聊一下TF籤名TestFlight上架的優勢以及教你如何把App上架到蘋果官方認可的內測分發渠道testflight詳細教程。TF籤名是什麼?1、TF籤名更穩定前面提到過,凡是要上架到TestFlight應用商店的APP都是需要通過蘋果官方的審核的,一旦成功上架到TestFlight應用商店,一般不會輕易掉籤,除非你在後期的運營中出現違規內容被用戶舉報或者惡意刷量。
  • 中興通訊「應用之星」一鍵手機電子書解決方案
    電子書又稱E-book,是將書的內容製作成電子版後,放在網上出售。近兩年,為了讓電子書的存在形式更方便隨時隨地的閱讀,越來越多的手機版電子書閱讀器被開發出來。它的出現讓閱讀變得更具有移動性,讀者可以在公交車、地鐵、站臺甚至廁所都可盡享閱讀的快樂和體驗。
  • 安卓手機卡頓問題解決方法
    而蘋果手機的IOS則不一樣。人家即使接收推送。後臺也不一定啟動,蘋果的規矩就是我可以接受推送,但是不會給你啟動。而且即使用了那個app,再去點開其他的app。前一個app則轉入後臺,後臺看起是雖然是掛在那裡,實際上壓跟就不用你的CPU。你有沒有發現,他們的區別在於安卓是真後臺,蘋果系統是假後臺。
  • Netronome全力推進網絡流處理器及解決方案在中國和亞太地區應用
    C114訊 4月11日全球領先的網絡流處理器開發商Netronome宣布:該公司將在4月12和13號在北京國家會議中心舉辦的英特爾信息技術峰會(IDF)GE20展臺上,展出和演示其業界領先的Netronome網絡流引擎(NFE)加速卡和網絡流處理平臺解決方案,並將介紹針對中國和亞洲網絡市場的特定需求和應用所提供全面解決方案。
  • 優衣庫、駕考寶典、貝殼網等101款App違規,趕緊自查手機!
    手機幾乎成為了每個人日常生活中不可或缺的工具手機app的應用讓生活變得簡單、有趣因而廣受手機用戶的好評>但也有些不法分子打起了手機APP的壞主意以下101款app違規看看你有沒有中招依據《網絡安全法》《電信條例》《電信和網際網路用戶個人信息保護規定》等法律法規,工業和信息化部近期組織第三方檢測機構對手機應用軟體進行檢查,督促存在問題的企業進行整改
  • app研發完成後的分發、企業籤名、超級籤名和TF籤名怎麼做?
    隨著智慧型手機的迅速普及,人們的娛樂逐漸從個人電腦向手機轉移。應用發布市場的需求不僅限於應用市場,而且APP的渠道也被轉移到社交平臺和信息流上。那麼,在新的形勢下,在開發完成後如何免費分發應用,以及蘋果籤署的應用如何完成籤名?
  • 如何利用區塊鏈技術來解決支付系統存在的一些問題
    如何利用區塊鏈技術來解決支付系統存在的一些問題 everiToken 發表於 2020-02-16 14:28:00 隨著全球經濟緊密性不斷增強,各個行業的領導者都在尋找新的技術解決方案,以滿足全球人口壓倒性的數字需求
  • 蘋果更新大量iOS應用 已解決無法打開APP的問題
    【天極網手機頻道】根據最新消息報導,這幾天有大部分iPhone用戶反映在App Store中下載的一些應用程式出現了奇怪的彈窗,導致這些應用無法被正常打開,只能卸載重裝之後才能正常使用。而國外也有媒體報導,大部分iPhone用戶的App Store出現了幾十個甚至上百個正在更新的應用,其中就包括了這些用戶已經更新過的應用。
  • 知識付費系統源碼的解決方案以及技術突破
    針對於軟體開發商而言,需要從中找出存在的問題,然後一一解決,才可開發出完整的付費系統。針對於系統存在的問題以及知識付費系統源碼的解決方案,我們來具體了解一下。另外,知識付費平臺只完成了知識付費的「任務」,在如何保證用戶留存以及知識付費內容的宣傳推廣方面,還存在一定的缺陷。2、知識付費系統源碼的解決方案如果想要從根本上解決問題,就要看知識付費源碼的了。
  • 全面賦能遊戲開發者 華為應用市場AppGallery Connect研習社·沙龍...
    今日,華為應用市場AppGallery Connect研習社·沙龍來到成都,與成都地區的遊戲開發者們面對面地針對行業趨勢、開發工具、運營變現等進行了深入探討,希望通過AppGallery Connect一站式解決方案,輔助遊戲開發者解決開發、分發、運營、出海等各個階段遇到的問題,讓遊戲研發、分發運營、流量獲取、遊戲出海都能變得更加簡單、高效,讓更多開發者可以通過一站式解決方案做出優質產品
  • 三星確認手機系統崩潰與閏月月曆有關,兩個解決方案了解一下
    5月25日,南都記者從三星中國方面獲悉,此前出現的手機系統崩潰事件已經確認與閏月月曆有關。三星中國方面回應,目前售後已經在處理。出現手機系統崩潰情況的機主可以聯繫三星售後更新系統。5月23日,南都記者獲悉網絡上有不少三星手機用戶投訴,在凌晨開始發現手機系統崩潰,出現黑屏、亂碼、無限重啟等情況。南都記者在微博、三星貼吧發現,有不少網友反饋自己的三星手機系統出現崩潰。有網友聲稱,半夜時聽到手機發出嘟嘟嘟一陣響,手機頁面就出現亂碼,而且無法關機。
  • 解決收併購溢價問題的「五大對策」
    案例分析:該項目的合作模式相對簡單清爽,但是最大的問題在於合作方提出的解決溢價部分8億的票據問題能否實現存疑,而且存在不被稅務局認定的風險解決方案:(模擬利潤測算)>解決方案(預留合作方利潤不與分配)雙方約定在合作協議中約定並明確,合作方需在補足票據且被稅局認可前,扣留合作方利潤不予分配,一方面鎖定我方風險,另一方面可以有效解決無票問題03以分配物業方式解決溢價問題
  • 移動應用行業發展趨勢解讀:應用場景縱深發展、應用輕量化等賦予...
    但在布局全場景智慧化服務實際操作層面上,開發者卻面臨著用戶管理數據、場景服務、交互體驗等多重困難,而突破這些難點均需要系統底層平臺給予支持。以華為解決方案為代表的全場景智慧化生態結構,從系統底層平臺出發,依託HMS & HarmonyOS驅動,以華為應用市場作為銜接平臺和效能加速、放大平臺,一方面圍繞用戶和應用開發者構建應用生態,一方面結合「1+8+N」打造硬體生態,最終實現推動軟硬體領域協同創新。
  • 從開發到運營,華為應用市場AppGallery Connect全面賦能遊戲開發者
    今日,華為應用市場AppGallery Connect研習社·沙龍來到成都,與成都地區的遊戲開發者們面對面地針對行業趨勢、開發工具、運營變現等進行了深入探討,希望通過AppGallery Connect一站式解決方案,輔助遊戲開發者解決開發、分發、運營、出海等各個階段遇到的問題,讓遊戲研發、分發運營、流量獲取、遊戲出海都能變得更加簡單、高效,讓更多開發者可以通過一站式解決方案做出優質產品
  • 用手機製作自己app軟體_手機開發app的軟體_app是怎麼開發的
    用手機製作自己app軟體也成為大家關心的問題,今天小編就為大家介紹手機開發app的軟體_app是怎麼開發的開發APP,什麼伺服器比較好?製作app軟體要多少錢?一、用手機製作自己app軟體_手機開發app的軟體_app是怎麼開發的?
  • 復盤node項目中遇到的13+常見問題和解決方案
    趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫筆者之前陸陸續續接手過幾個nodejs項目, 也參與過幾個有點意思的nodejs開源項目, 最近把其中遇到的一些問題和解決方案做一個梳理
  • 同款APP會員,蘋果系統為何比安卓貴?
    如果是,使用同款app開通同款會員服務,你恐怕要比隔壁老王多掏錢了。(左:蘋果手機 右:安卓手機)而騰訊視頻VIP頁面也有類似情況。1個月、3個月及12個月的騰訊視頻VIP價格,以原價或優惠價計算,蘋果端比安卓端貴約15%-25%。(左:蘋果手機 右:安卓手機)這種情況並不鮮見,有人認為這是app區別對待消費者。
  • 手機自動點擊跳過開屏廣告App
    自動跳過是款功能很強大的小工具,界面的整體布局是很簡潔的,其實也沒有什麼界面,無廣告,主要是幫你跳過一些應用啟動時在界面的廣告問題