本發(fā)明涉及視頻直播中的主播定位搜索領域,具體來講是一種基于地圖服務實現(xiàn)附近主播搜索的系統(tǒng)及方法。
背景技術:
隨著互聯(lián)網(wǎng)技術的迅速發(fā)展,越來越多的用戶可以使用電腦、手機等終端通過網(wǎng)絡觀看在線視頻直播。在線視頻直播是指利用互聯(lián)網(wǎng)網(wǎng)絡資源進行的現(xiàn)場視頻直播服務,通過現(xiàn)場的視頻拍攝同步發(fā)布到網(wǎng)絡上,用戶可以同一時間在網(wǎng)絡上看到實時的現(xiàn)場情況。
目前,隨著直播行業(yè)的快速發(fā)展,用戶與自己喜愛的主播之間的互動需求越來越多,有的用戶甚至想要隨時隨地與直播主播進行近距離的互動交流。因此,為了刺激用戶的觀看興致,提高觀看量和用戶粘性,各大直播平臺都希望能推出一種基于LBS(Location Based Service,基于位置服務)的主播定位應用,來實現(xiàn)附近主播的搜索功能。雖然目前的GPS(Global Positioning System,全球定位系統(tǒng))等定位技術已相當成熟,但是,如何在網(wǎng)絡視頻直播領域中運用合適的定位技術,來實現(xiàn)基于LBS的附近主播的搜索功能還缺乏具體的實現(xiàn)方法和統(tǒng)一的標準。因此,這也成為了直播領域亟待解決的問題。
技術實現(xiàn)要素:
本發(fā)明的目的是為了克服上述背景技術的不足,提供一種基于地圖服務實現(xiàn)附近主播搜索的系統(tǒng)及方法,能夠準確定位搜索到用戶附近的主播位置,滿足了用戶的使用需求,為附近主播搜索功能提供了具體實現(xiàn)方案。
為達到以上目的,本發(fā)明提供一種基于地圖服務實現(xiàn)附近主播搜索的系統(tǒng),包括客戶端、地圖服務平臺和直播平臺服務器,客戶端分為主播端和觀看端,主播端包括主播端初始化模塊和主播端定位模塊;觀看端包括觀看端初始化模塊、觀看端定位模塊和主播信息獲取模塊;
其中,主播端初始化模塊用于:啟動并初始化主播端定位模塊。主播端定位模塊用于:實時獲取當前的主播地理位置信息,并將主播地理位置信息定期上報至地圖服務平臺存儲。觀看端初始化模塊用于:啟動并初始化觀看端定位模塊。觀看端定位模塊用于:當觀眾要觀看直播時,獲取當前觀眾的地理位置信息;并將觀眾的地理位置信息上報至地圖服務平臺。地圖服務平臺用于:根據(jù)觀眾的地理位置信息,在存儲的所有主播地理位置信息中檢索出當前正在直播的所有主播,并按照與觀眾的距離由近及遠進行排序,生成主播距離信息;將生成的主播距離信息發(fā)送至主播信息獲取模塊。主播信息獲取模塊用于:根據(jù)收到的主播距離信息,在直播平臺服務器中查詢到與主播距離信息中的主播所對應的主播信息。直播平臺服務器用于:提供所有主播的主播信息供主播信息獲取模塊查詢。
在上述技術方案的基礎上,所述主播端初始化模塊在啟動并初始化主播端定位模塊前,還在主播端定位模塊中集成地圖服務定位SDK;所述觀看端初始化模塊在啟動并初始化觀看端定位模塊前,還在觀看端定位模塊中集成地圖服務定位SDK和地圖服務云檢索SDK。在此基礎上,所述主播端定位模塊利用集成的地圖服務定位SDK實時獲取當前的主播地理位置信息;所述觀看端定位模塊利用集成的地圖服務定位SDK獲取當前的觀眾地理位置信息,并利用集成的地圖服務云檢索SDK以及地圖服務平臺提供的API接口將獲取到的觀眾地理位置信息上報至地圖服務平臺。
在上述技術方案的基礎上,所述主播端定位模塊將主播地理位置信息定期上報至地圖服務平臺存儲時,所述主播地理位置信息是以數(shù)據(jù)表格的格式進行上報的,所述數(shù)據(jù)表格的格式包括如下字段:
主播ID:用來唯一標識主播;
經(jīng)度:用來表示當前主播的地理位置的經(jīng)度值;
緯度:用來表示當前主播的地理位置的緯度值;
地圖服務ID:由地圖服務平臺內(nèi)部分配,用來表示主播地理位置信息的序號;
信息分類標簽:用來對信息進行分類;
直播標記Live:用來標記主播當前是否開播,該字段為1時,表示主播正在直播;該字段為0時,表示主播關閉直播。
在上述技術方案的基礎上,當主播端的主播關閉直播時,所述主播端定位模塊會向地圖服務平臺上報最后一次主播地理位置信息,且上報的主播地理位置信息中直播標記Live字段置為0。
在上述技術方案的基礎上,所述觀看端還包括觀看端展示模塊,用于在觀看端將主播信息按照距離由近至遠的順序進行展示。
本發(fā)明還提供一種應用上述系統(tǒng)的基于地圖服務實現(xiàn)附近主播搜索的方法,包括以下步驟:
步驟S1:在主播端,主播端初始化模塊啟動并初始化主播端定位模塊;在觀看端,觀看端初始化模塊啟動并初始化觀看端定位模塊;
步驟S2:當主播端的主播開始直播后,主播端定位模塊實時獲取當前的主播地理位置信息;并將獲取到的主播地理位置信息定期上報至地圖服務平臺存儲;
步驟S3:當觀看端的觀眾要觀看直播時,觀看端定位模塊獲取當前觀眾的地理位置信息;并將獲取到的觀眾的地理位置信息上報至地圖服務平臺;
步驟S4:地圖服務平臺根據(jù)收到的觀眾的地理位置信息,在存儲的所有主播地理位置信息中檢索出當前正在直播的所有主播,并按照與觀眾的距離由近及遠進行排序,生成主播距離信息;將生成的主播距離信息發(fā)送至觀看端的主播信息獲取模塊;
步驟S5:主播信息獲取模塊根據(jù)收到的主播距離信息,在直播平臺服務器中查詢到與主播距離信息中的主播所對應的主播信息。
在上述技術方案的基礎上,步驟S1中,主播端初始化模塊啟動并初始化主播端定位模塊前,會在主播端定位模塊中集成地圖服務定位SDK;觀看端初始化模塊在啟動并初始化觀看端定位模塊前,會在觀看端定位模塊中集成地圖服務定位SDK和地圖服務云檢索SDK;在此基礎上,步驟S2中,主播端定位模塊利用集成的地圖服務定位SDK實時獲取當前的主播地理位置信息;步驟S3中,觀看端定位模塊利用集成的地圖服務定位SDK獲取當前的觀眾地理位置信息,并利用集成的地圖服務云檢索SDK以及地圖服務平臺提供的API接口將獲取到的觀眾地理位置信息上報至地圖服務平臺。
在上述技術方案的基礎上,步驟S2中所述將獲取到的主播地理位置信息定期上報至地圖服務平臺存儲時,所述主播地理位置信息是以數(shù)據(jù)表格的格式進行上報的,所述數(shù)據(jù)表格的格式包括如下字段:
主播ID:用來唯一標識主播;
經(jīng)度:用來表示當前主播的地理位置的經(jīng)度值;
緯度:用來表示當前主播的地理位置的緯度值;
地圖服務ID:由地圖服務平臺內(nèi)部分配,用來表示主播地理位置信息的序號;
信息分類標簽:用來對信息進行分類;
直播標記Live:用來標記主播當前是否開播,該字段為1時,表示主播正在直播;該字段為0時,表示主播關閉直播。
在上述技術方案的基礎上,步驟S2之后,還包括以下操作:當主播端的主播關閉直播時,主播端定位模塊會向地圖服務平臺上報最后一次主播地理位置信息,且上報的主播地理位置信息中直播標記Live字段置為0。
在上述技術方案的基礎上,步驟S5之后,還包括以下操作:在觀看端將主播信息按照距離由近至遠的順序進行展示。
本發(fā)明的有益效果在于:
本發(fā)明中,當主播端的主播開始直播后,主播端定位模塊將實時獲取當前的主播地理位置信息并定期上報至地圖服務平臺存儲;當觀看端的觀眾要觀看直播時,觀看端定位模塊也將獲取當前觀眾的地理位置信息并上報至地圖服務平臺;地圖服務平臺收到觀眾的地理位置信息后,會在存儲的所有主播地理位置信息中檢索出當前正在直播的所有主播,并將檢索出的主播按照與觀眾的距離由近及遠進行排序,生成主播距離信息;主播端根據(jù)該主播距離信息,在直播平臺服務器中查詢到對應的主播信息;最后將所有查詢到的主播信息按照距離由近至遠進行展示,從而實現(xiàn)基于LBS的附近主播的搜索功能。
與現(xiàn)有技術相比,本發(fā)明不但為附近主播搜索功能提供了一種具體可操作的實現(xiàn)方案,而且定位搜索的結果準確、可靠,滿足了用戶的使用需求。
附圖說明
圖1為本發(fā)明實施例中基于地圖服務實現(xiàn)附近主播搜索的系統(tǒng)的結構框圖;
圖2為本發(fā)明實施例中基于地圖服務實現(xiàn)附近主播搜索的方法的流程圖。
具體實施方式
下面結合附圖及具體實施例對本發(fā)明作進一步的詳細描述。
參見圖1所示,本發(fā)明實施例提供一種基于地圖服務實現(xiàn)附近主播搜索的系統(tǒng),該系統(tǒng)包括客戶端、地圖服務平臺和直播平臺服務器,客戶端分為主播端(主播所在的客戶端)和觀看端(觀眾所在的客戶端)。其中,主播端包括主播端初始化模塊和主播端定位模塊;觀看端包括觀看端初始化模塊、觀看端定位模塊、主播信息獲取模塊和觀看端展示模塊。
主播端初始化模塊用于:在主播端定位模塊中集成地圖服務定位SDK(Software Development Kit,軟件開發(fā)工具包);啟動并初始化主播端定位模塊。
主播端定位模塊用于:利用集成的地圖服務定位SDK實時獲取當前的主播地理位置信息,并將獲取到的主播地理位置信息定期上報至地圖服務平臺存儲。
觀看端初始化模塊用于:在觀看端定位模塊中集成地圖服務定位SDK和地圖服務云檢索SDK;啟動并初始化觀看端定位模塊。
觀看端定位模塊用于:當觀看端的觀眾要觀看直播時,利用集成的地圖服務定位SDK獲取當前觀眾的地理位置信息(包括但不限于地理位置的經(jīng)度值、緯度值);并利用集成的地圖服務云檢索SDK以及地圖服務平臺提供的API(Application Programming Interface,應用編程接口)接口將獲取到的觀眾的地理位置信息上報至地圖服務平臺。
地圖服務平臺用于:根據(jù)收到的觀眾的地理位置信息,在存儲的所有主播地理位置信息中檢索出當前正在直播的所有主播,并按照與觀眾的距離由近及遠進行排序,生成主播距離信息;將生成的主播距離信息發(fā)送至主播信息獲取模塊??梢岳斫獾氖?,所述地圖服務平臺可為系統(tǒng)自帶的內(nèi)部平臺也可為第三方提供的外部平臺;該地圖服務平臺可為普通的服務器也可為專業(yè)的云服務器。
主播信息獲取模塊用于:根據(jù)收到的主播距離信息,在直播平臺服務器中查詢到與主播距離信息中的主播所對應的主播信息。
直播平臺服務器用于:提供所有主播的主播信息供主播信息獲取模塊查詢。
觀看端展示模塊用于:在觀看端將主播信息按照距離由近至遠的順序進行展示。
參見圖2所示,本發(fā)明實施例還提供一種應用上述系統(tǒng)的基于地圖服務實現(xiàn)附近主播搜索的方法,包括以下步驟:
步驟S1:在主播端,主播端初始化模塊在主播端定位模塊中集成地圖服務定位SDK后,啟動并初始化主播端定位模塊;在觀看端,觀看端初始化模塊在觀看端定位模塊中集成地圖服務定位SDK和地圖服務云檢索SDK后,啟動并初始化觀看端定位模塊,轉入步驟S2。
步驟S2:當主播端的主播開始直播后,主播端定位模塊利用集成的地圖服務定位SDK實時獲取當前的主播地理位置信息;并將獲取到的主播地理位置信息定期上報至地圖服務平臺存儲,轉入步驟S3。
本實施例中,將獲取到的主播地理位置信息定期上報至地圖服務平臺存儲時,定期上報的時間周期為5分鐘(即每隔5分鐘上報一次當前的地理位置信息),且主播地理位置信息以數(shù)據(jù)表格格式進行上報,該數(shù)據(jù)表格格式包括如下字段:
主播ID(Identifier,標識符):用來唯一標識主播;
經(jīng)度:用來表示當前主播的地理位置的經(jīng)度值;
緯度:用來表示當前主播的地理位置的緯度值;
地圖服務ID:由地圖服務平臺內(nèi)部分配,用來表示主播地理位置信息的序號;
信息分類標簽:用來對信息進行分類,本應用場景下填“主播”;對于其他的應用類似的可以定義為酒店、便利店等,可以用于檢索的條件之一,如檢索附近酒店;
直播標記Live:用來標記主播當前是否開播,該字段為1時,表示主播正在直播;該字段為0時,表示主播關閉直播;可以理解的是,考慮到觀眾搜索附近的主播時,是只搜索當前正在直播的主播,因此,地圖服務平臺在進行檢索時,可只檢索所述主播地理位置信息中Live字段為1的主播。
另外,步驟S2之后,還包括以下操作:當主播端的主播關閉直播時,會向地圖服務平臺上報最后一次主播地理位置信息,且上報的主播地理位置信息中Live字段置為0。
步驟S3:當觀看端的觀眾要觀看直播時,觀看端定位模塊利用集成的地圖服務定位SDK獲取當前觀眾的地理位置信息;并利用集成的地圖服務云檢索SDK以及地圖服務平臺提供的API接口將獲取到的觀眾的地理位置信息上報至地圖服務平臺,轉入步驟S4。
步驟S4:地圖服務平臺根據(jù)收到的觀眾的地理位置信息,在存儲的所有主播地理位置信息中檢索出當前正在直播的所有主播,并按照與觀眾的距離由近及遠進行排序,生成主播距離信息;將生成的主播距離信息發(fā)送至觀看端的主播信息獲取模塊,轉入步驟S5。
步驟S5:主播信息獲取模塊根據(jù)收到的主播距離信息,在直播平臺服務器中查詢到與主播距離信息中的主播所對應的主播信息,轉入步驟S6??梢岳斫獾氖?,所述主播信息包括但不限于:主播的性別、主播的照片以及直播內(nèi)容等。
步驟S6:觀看端展示模塊將主播信息獲取模塊查詢到的主播信息按照距離由近至遠的順序進行展示,結束。
本發(fā)明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。
本說明書中未作詳細描述的內(nèi)容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。