本發(fā)明涉及服務器技術(shù)領域,尤其涉及一種支持多臺設備連接的分布式可擴展服務器系統(tǒng)。
背景技術(shù):
現(xiàn)有的服務器系統(tǒng),服務器數(shù)目固定,服務器數(shù)目不可裁減、容錯性不高,可連接設備有限,且負載分布不均衡,導致穩(wěn)定差。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種支持多臺設備連接的分布式可擴展服務器系統(tǒng)。
本發(fā)明的目的在于提供一種支持多臺設備連接的分布式可擴展服務器系統(tǒng),包括:至少一臺DNS服務器、至少一臺管理服務器、至少一臺穿透服務器、設備端、客戶端;
DNS服務器,用于通過域名解析,將地址指派到管理服務器;
管理服務器,用于實時更新并維護穿透服務器表、管理服務器表、設備列表,管理服務器之間的信息同步,定時同步穿透服務器表、管理服務器表、設備列表,接收來自穿透服務器的設備同步信息,建立或更新管理服務器下掛的穿透服務器信息,分配穿透服務器和轉(zhuǎn)發(fā)服務器的決策;
穿透服務器,用于接收設備端的連接和注冊,使用基于用戶數(shù)據(jù)報協(xié)議UDP實現(xiàn)的具有可靠性的基于UDP的數(shù)據(jù)傳輸UDT協(xié)議,使用該協(xié)議無連接數(shù)限制;接收客戶端的對等網(wǎng)絡P2P請求,客戶端向穿透服務器提供要建立P2P連接的設備號,穿透服務器根據(jù)設備號從注冊列表中查找,如果沒找到,則返回不在線的錯誤碼,如果找到,則向設備發(fā)起P2P請求,請求中包含客戶端的公網(wǎng)網(wǎng)協(xié)IP、端口信息,設備端獲取到客戶端信息后回復,穿透服務器將設備端信息回復給客戶端,設備端和客戶端獲取到了對方的信息,雙方開始建立P2P連接,如果連接成功,客戶端和設備端將獨立于穿透服務器進行數(shù)據(jù)交換;如果連接不成功,穿透服務器將分配轉(zhuǎn)發(fā)服務器,將轉(zhuǎn)發(fā)服務器的IP,端口的信息發(fā)給客戶端和設備端,此時,客戶端和設備端各自向轉(zhuǎn)發(fā)服務器建立傳輸控制協(xié)議TCP連接,連接建立后,雙方通過轉(zhuǎn)發(fā)服務器來交換數(shù)據(jù);接收轉(zhuǎn)發(fā)服務器的連接和注冊,向所屬管理服務器發(fā)送設備注冊信息包括設備號、設備IP、端口Port、網(wǎng)絡地址轉(zhuǎn)換NAT版本號,向所屬管理服務器發(fā)送負載情況包括連接數(shù)、注冊數(shù),系統(tǒng)信息包括中央處理器CPU、內(nèi)存、網(wǎng)絡使用率;
設備端,用于產(chǎn)生音視頻的信息源,其在接入本系統(tǒng)時,要向穿透服務器注冊,注冊成功后,才可以和客戶端進行P2P連接;
客戶端,用于獲取音視頻信息源的終端,在通過P2P的方式獲取音視頻信息的時候,要向穿透服務器請求建立連接。
其中,所述支持多臺設備連接的分布式可擴展服務器系統(tǒng),還包括:
轉(zhuǎn)發(fā)服務器,用于向多個穿透服務器注冊,在客戶端和設備端通過穿透服務器未成功直接建立P2P連接后,通過其進行間接P2P連接,此時轉(zhuǎn)發(fā)服務器分別和設備端、客戶端建立TCP連接,作為中轉(zhuǎn),為客戶端和設備端做數(shù)據(jù)透傳。
其中,所述管理服務器,用于記錄所有在線的穿透服務器列表信息,包括穿透服務器的IP、負載情況包括設備連接數(shù)和注冊數(shù)、系統(tǒng)信息包括CPU和內(nèi)存和網(wǎng)絡使用率,實時更新并維護穿透服務器表。
其中,所述管理服務器,用于記錄當前管理服務器的列表信息,包括管理服務器的IP、系統(tǒng)信息包括CPU和內(nèi)存和網(wǎng)絡使用率,實時更新并維護管理服務器表。
其中,所述管理服務器,用于記錄所有注冊成功的設備信息,包括設備號、設備IP、端口Port、網(wǎng)絡地址轉(zhuǎn)換NAT版本號、所注冊的穿透服務器IP,實時更新并維護設備列表。
其中,所述管理服務器,用于接收來自穿透服務器的設備同步信息,包括穿透服務器上新注冊的設備信息和離線的設備信息,該設備信息包括設備IP,Port,設備號,NAT版本號。
其中,所述管理服務器,用于建立或更新管理服務器下掛的穿透服務器信息,包括增減穿透服務器和穿透服務器上設備的連接數(shù)和注冊數(shù)的增減變化、系統(tǒng)信息包括CPU、內(nèi)存、網(wǎng)絡使用率。
其中,所述管理服務器,用于分配穿透服務器和轉(zhuǎn)發(fā)服務器的決策,包括:
當設備端向穿透服務器注冊時,首先要向管理服務器請求獲取穿透服務器的信息,管理服務器根據(jù)當前穿透服務器表中的信息進行分析,決策出當前整體狀態(tài)最佳的穿透服務器給設備端,決策依據(jù)穿透服務器的IP所屬區(qū)域、負載情況和系統(tǒng)信息做判定,選擇和設備端IP所屬區(qū)域相近、負載量不高、系統(tǒng)狀態(tài)良好的服務器;
當客戶端向服務器請求設備端信息以建立P2P連接時,首先根據(jù)請求的設備號向管理服務器獲取設備信息,管理服務器根據(jù)設備號在設備列表中查找,如果未找到,則返回不在線;如果找到,則將設備所注冊的穿透服務器IP返回給客戶端,客戶端再通過該穿透服務器和設備端建立P2P連接。
其中,所述設備端,包括網(wǎng)絡硬盤錄像機NVR、硬盤錄像機DVR、網(wǎng)絡攝像機IPC,用于產(chǎn)生音視頻的信息源,其在接入本系統(tǒng)時,要向穿透服務器注冊,注冊成功后,才可以和客戶端進行P2P連接。
其中,所述客戶端,包括手機端、PC端、平板,用于獲取音視頻信息源的終端,在通過P2P的方式獲取音視頻信息的時候,要向穿透服務器請求建立連接。
本發(fā)明提供的支持多臺設備連接的分布式可擴展服務器系統(tǒng),分四級分布式處理架構(gòu),服務器數(shù)目可擴展、可裁剪、容錯性高,具有負載均衡功能、穩(wěn)定性高,可支持千萬級以上數(shù)量的設備快速連接。
附圖說明
圖1,為本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng)的示意圖。
具體實施方式
本發(fā)明提供一種支持多臺設備連接的分布式可擴展服務器系統(tǒng),應用于服務器技術(shù)領域,本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng),包括DNS(域名系統(tǒng))服務器,用于通過域名解析,將地址指派到管理服務器;管理服務器,用于實時更新并維護穿透服務器表、管理服務器表、設備列表,管理服務器之間的信息同步,定時同步穿透服務器表、管理服務器表、設備列表,接收來自穿透服務器的設備同步信息,建立或更新管理服務器下掛的穿透服務器信息,分配穿透服務器和轉(zhuǎn)發(fā)服務器的決策;穿透服務器,用于接收設備端的連接和注冊,使用基于用戶數(shù)據(jù)報協(xié)議(UDP)實現(xiàn)的具有可靠性的基于UDP的數(shù)據(jù)傳輸(UDT)協(xié)議,使用該協(xié)議無連接數(shù)限制;接收客戶端的對等網(wǎng)絡(P2P)請求,客戶端向穿透服務器提供要建立P2P連接的設備號,穿透服務器根據(jù)設備號從注冊列表中查找,如果沒找到,則返回不在線的錯誤碼,如果找到,則向設備發(fā)起P2P請求,請求中包含客戶端的公網(wǎng)網(wǎng)協(xié)(IP)、端口信息,設備端獲取到客戶端信息后回復,穿透服務器將設備端信息回復給客戶端,設備端和客戶端獲取到了對方的信息,雙方開始建立P2P連接,如果連接成功,客戶端和設備端將獨立于穿透服務器進行數(shù)據(jù)交換;如果連接不成功,穿透服務器將分配轉(zhuǎn)發(fā)服務器,將轉(zhuǎn)發(fā)服務器的IP,端口的信息發(fā)給客戶端和設備端,此時,客戶端和設備端各自向轉(zhuǎn)發(fā)服務器建立傳輸控制協(xié)議(TCP)連接,連接建立后,雙方通過轉(zhuǎn)發(fā)服務器來交換數(shù)據(jù);接收轉(zhuǎn)發(fā)服務器的連接和注冊,向所屬管理服務器發(fā)送設備注冊信息包括設備號、設備IP、端口(Port)、網(wǎng)絡地址轉(zhuǎn)換(NAT)版本號,向所屬管理服務器發(fā)送負載情況包括連接數(shù)、注冊數(shù),系統(tǒng)信息包括中央處理器(CPU)、內(nèi)存、網(wǎng)絡使用率;設備端,用于產(chǎn)生音視頻的信息源,其在接入本系統(tǒng)時,要向穿透服務器注冊,注冊成功后,才可以和客戶端進行P2P連接;客戶端,用于獲取音視頻信息源的終端,在通過P2P的方式獲取音視頻信息的時候,要向穿透服務器請求建立連接;本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng),分四級分布式處理架構(gòu),服務器數(shù)目可擴展、可裁剪、容錯性高,具有負載均衡功能、穩(wěn)定性高,可支持千萬級以上數(shù)量的設備快速連接。
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種支持多臺設備連接的分布式可擴展服務器系統(tǒng)。
請參見圖1,圖1為本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng)的示意圖,本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng),包括:至少一臺DNS服務器、至少一臺管理服務器、至少一臺穿透服務器、設備端、客戶端;
DNS服務器,用于通過域名解析,將地址指派到管理服務器;
管理服務器,用于實時更新并維護穿透服務器表、管理服務器表、設備列表,管理服務器之間的信息同步,定時同步穿透服務器表、管理服務器表、設備列表,接收來自穿透服務器的設備同步信息,建立或更新管理服務器下掛的穿透服務器信息,分配穿透服務器和轉(zhuǎn)發(fā)服務器的決策;
穿透服務器,用于接收設備端的連接和注冊,使用基于用戶數(shù)據(jù)報協(xié)議UDP實現(xiàn)的具有可靠性的基于UDP的數(shù)據(jù)傳輸UDT協(xié)議,使用該協(xié)議無連接數(shù)限制;接收客戶端的對等網(wǎng)絡P2P請求,客戶端向穿透服務器提供要建立P2P連接的設備號,穿透服務器根據(jù)設備號從注冊列表中查找,如果沒找到,則返回不在線的錯誤碼,如果找到,則向設備發(fā)起P2P請求,請求中包含客戶端的公網(wǎng)網(wǎng)協(xié)IP、端口信息,設備端獲取到客戶端信息后回復,穿透服務器將設備端信息回復給客戶端,設備端和客戶端獲取到了對方的信息,雙方開始建立P2P連接,如果連接成功,客戶端和設備端將獨立于穿透服務器進行數(shù)據(jù)交換;如果連接不成功,穿透服務器將分配轉(zhuǎn)發(fā)服務器,將轉(zhuǎn)發(fā)服務器的IP,端口的信息發(fā)給客戶端和設備端,此時,客戶端和設備端各自向轉(zhuǎn)發(fā)服務器建立傳輸控制協(xié)議TCP連接,連接建立后,雙方通過轉(zhuǎn)發(fā)服務器來交換數(shù)據(jù);接收轉(zhuǎn)發(fā)服務器的連接和注冊,向所屬管理服務器發(fā)送設備注冊信息包括設備號、設備IP、端口Port、網(wǎng)絡地址轉(zhuǎn)換NAT版本號,向所屬管理服務器發(fā)送負載情況包括連接數(shù)、注冊數(shù),系統(tǒng)信息包括中央處理器CPU、內(nèi)存、網(wǎng)絡使用率;
設備端,用于產(chǎn)生音視頻的信息源,其在接入本系統(tǒng)時,要向穿透服務器注冊,注冊成功后,才可以和客戶端進行P2P連接;
客戶端,用于獲取音視頻信息源的終端,在通過P2P的方式獲取音視頻信息的時候,要向穿透服務器請求建立連接。
其中,本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng),還包括:
轉(zhuǎn)發(fā)服務器,用于向多個穿透服務器注冊,在客戶端和設備端通過穿透服務器未成功直接建立P2P連接后,通過其進行間接P2P連接,此時轉(zhuǎn)發(fā)服務器分別和設備端、客戶端建立TCP連接,作為中轉(zhuǎn),為客戶端和設備端做數(shù)據(jù)透傳。
其中,管理服務器,用于記錄所有在線的穿透服務器列表信息,包括穿透服務器的IP、負載情況包括設備連接數(shù)和注冊數(shù)、系統(tǒng)信息包括CPU和內(nèi)存和網(wǎng)絡使用率,實時更新并維護穿透服務器表。
其中,管理服務器,用于記錄當前管理服務器的列表信息,包括管理服務器的IP、系統(tǒng)信息包括CPU和內(nèi)存和網(wǎng)絡使用率,實時更新并維護管理服務器表。
其中,管理服務器,用于記錄所有注冊成功的設備信息,包括設備號、設備IP、端口Port、網(wǎng)絡地址轉(zhuǎn)換NAT版本號、所注冊的穿透服務器IP,實時更新并維護設備列表。
其中,管理服務器,用于接收來自穿透服務器的設備同步信息,包括穿透服務器上新注冊的設備信息和離線的設備信息,該設備信息包括設備IP,Port,設備號,NAT版本號。
其中,管理服務器,用于建立或更新管理服務器下掛的穿透服務器信息,包括增減穿透服務器和穿透服務器上設備的連接數(shù)和注冊數(shù)的增減變化、系統(tǒng)信息包括CPU、內(nèi)存、網(wǎng)絡使用率。
其中,管理服務器,用于分配穿透服務器和轉(zhuǎn)發(fā)服務器的決策,包括:
當設備端向穿透服務器注冊時,首先要向管理服務器請求獲取穿透服務器的信息,管理服務器根據(jù)當前穿透服務器表中的信息進行分析,決策出當前整體狀態(tài)最佳的穿透服務器給設備端,決策依據(jù)穿透服務器的IP所屬區(qū)域、負載情況和系統(tǒng)信息做判定,選擇和設備端IP所屬區(qū)域相近、負載量不高、系統(tǒng)狀態(tài)良好的服務器;
當客戶端向服務器請求設備端信息以建立P2P連接時,首先根據(jù)請求的設備號向管理服務器獲取設備信息,管理服務器根據(jù)設備號在設備列表中查找,如果未找到,則返回不在線;如果找到,則將設備所注冊的穿透服務器IP返回給客戶端,客戶端再通過該穿透服務器和設備端建立P2P連接。
其中,設備端,包括網(wǎng)絡硬盤錄像機(NVR)、硬盤錄像機(DVR)、網(wǎng)絡攝像機(IPC),用于產(chǎn)生音視頻的信息源,其在接入本系統(tǒng)時,要向穿透服務器注冊,注冊成功后,才可以和客戶端進行P2P連接。
其中,客戶端,包括手機端、PC端、平板,用于獲取音視頻信息源的終端,在通過P2P的方式獲取音視頻信息的時候,要向穿透服務器請求建立連接。
本發(fā)明提供的支持多臺設備連接的分布式可擴展服務器系統(tǒng),包括DNS服務器,用于通過域名解析,將地址指派到管理服務器;管理服務器,用于實時更新并維護穿透服務器表、管理服務器表、設備列表,管理服務器之間的信息同步,定時同步穿透服務器表、管理服務器表、設備列表,接收來自穿透服務器的設備同步信息,建立或更新管理服務器下掛的穿透服務器信息,分配穿透服務器和轉(zhuǎn)發(fā)服務器的決策;穿透服務器,用于接收設備端的連接和注冊,使用基于用戶數(shù)據(jù)報協(xié)議UDP實現(xiàn)的具有可靠性的基于UDP的數(shù)據(jù)傳輸UDT協(xié)議,使用該協(xié)議無連接數(shù)限制;接收客戶端的對等網(wǎng)絡P2P請求,客戶端向穿透服務器提供要建立P2P連接的設備號,穿透服務器根據(jù)設備號從注冊列表中查找,如果沒找到,則返回不在線的錯誤碼,如果找到,則向設備發(fā)起P2P請求,請求中包含客戶端的公網(wǎng)網(wǎng)協(xié)IP、端口信息,設備端獲取到客戶端信息后回復,穿透服務器將設備端信息回復給客戶端,設備端和客戶端獲取到了對方的信息,雙方開始建立P2P連接,如果連接成功,客戶端和設備端將獨立于穿透服務器進行數(shù)據(jù)交換;如果連接不成功,穿透服務器將分配轉(zhuǎn)發(fā)服務器,將轉(zhuǎn)發(fā)服務器的IP,端口的信息發(fā)給客戶端和設備端,此時,客戶端和設備端各自向轉(zhuǎn)發(fā)服務器建立傳輸控制協(xié)議TCP連接,連接建立后,雙方通過轉(zhuǎn)發(fā)服務器來交換數(shù)據(jù);接收轉(zhuǎn)發(fā)服務器的連接和注冊,向所屬管理服務器發(fā)送設備注冊信息包括設備號、設備IP、端口Port、網(wǎng)絡地址轉(zhuǎn)換NAT版本號,向所屬管理服務器發(fā)送負載情況包括連接數(shù)、注冊數(shù),系統(tǒng)信息包括中央處理器CPU、內(nèi)存、網(wǎng)絡使用率;設備端,用于產(chǎn)生音視頻的信息源,其在接入本系統(tǒng)時,要向穿透服務器注冊,注冊成功后,才可以和客戶端進行P2P連接;客戶端,用于獲取音視頻信息源的終端,在通過P2P的方式獲取音視頻信息的時候,要向穿透服務器請求建立連接;本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng),分四級分布式處理架構(gòu),服務器數(shù)目可擴展、可裁剪、容錯性高,具有負載均衡功能、穩(wěn)定性高,可支持千萬級以上數(shù)量的設備快速連接。
對于本發(fā)明支持多臺設備連接的分布式可擴展服務器系統(tǒng),實現(xiàn)的形式是多種多樣的。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。