一種信息加載方法及裝置與流程
2023-09-20 09:00:45
本發明涉及直播領域,更具體地,涉及一種信息加載方法及裝置。
背景技術:
隨著網絡交互平臺的發展,越來越多的用戶通過登錄網絡交互平臺進行交流。其中,網絡直播是非常受廣大用戶歡迎的應用。隨著直播行業的快速發展,越來越多的主播也快速成長起來。
在直播期間,用戶可以與主播進行互動,如發送彈幕、給主播贈送禮物等。這樣不僅增加了主播與用戶之間互動的趣味性,也是對主播的肯定,主播還可以根據人氣與直播內容的精彩程度獲得相應的獎勵,從而調動主播和用戶參與的積極性。
目前,由於主播開播的時間不確定,以及用戶在主播開播時獲取主播的開播信息滯後,導致大部分主播,尤其是中小主播在開播前面臨無用戶交流的尷尬局面。由於用戶無法在第一時間得知主播開播,從而無法第一時間登錄主播對應的直播間觀看直播,因此在直播開播的前期主播無法與用戶進行交流,從使主播的體驗效果差,往往會導致部分主播棄播。
技術實現要素:
為克服上述主播開播時用戶交流不足的問題或者至少部分地解決上述問題,本發明提供了一種信息加載方法及裝置。
根據本發明的一個方面,提供一種信息加載方法,包括:
獲取直播間的用戶連接數和所屬分區;
若所述用戶連接數小於第一預設閾值,則對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載;
將鏡像加載的用戶登錄信息和彈幕信息顯示在所述直播間中。
具體地,還包括:
若所述用戶連接數大於或等於所述第一預設閾值,則根據歷史彈幕條數或實時彈幕條數獲取發送彈幕的頻率;
若所述發送彈幕的頻率小於第二預設閾值,則對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載。
具體地,對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載,包括:
對所述分區中的用戶登錄信息進行加載,同時對所述分區中的彈幕信息進行預加載。
具體地,對所述分區中的用戶登錄信息和彈幕信息進行鏡像加載,包括:
獲取用戶的登錄時間和發送彈幕信息的時間;
根據所述登錄時間對所述分區中的用戶登錄信息進行倒序加載,
根據所述發送彈幕信息的時間對所述分區中的彈幕信息進行倒序加載。
具體地,還包括:
每隔第一預設時長重新獲取所述直播間的用戶連接數。
具體地,還包括:
若判斷鏡像加載的時長超過第二預設時長,則停止鏡像加載。
根據本發明的另一個方面,提供一種信息加載裝置,包括:
獲取單元,用於獲取直播間的用戶連接數和所屬分區;
加載單元,用於所述用戶連接數小於第一預設閾值時,對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載;
顯示單元,用於將鏡像加載的用戶登錄信息和彈幕信息顯示在所述直播間中。
具體地,所述獲取單元還用於:
在所述用戶連接數大於或等於所述第一預設閾值時,根據歷史彈幕條數或實時彈幕條數獲取發送彈幕的頻率;
相應地,所述加載單元還用於:在所述發送彈幕頻率小於第二預設閾值時,對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載。
具體地,所述加載單元具體用於:
對所述分區中的用戶登錄信息進行加載,同時對所述分區中的彈幕信息進行預加載。
具體地,所述獲取單元還用於:
每隔第一預設時長重新獲取所述直播間的用戶連接數。
本申請提出的一種信息加載方法及裝置,在滿足預設加載條件下,通過鏡像加載,將直播間所屬分區的用戶登錄信息和彈幕信息顯示在該直播間中,為主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
附圖說明
圖1為本發明實施例提供的信息加載方法流程圖;
圖2為本發明實施例提供的信息加載方法的整體流程圖;
圖3為本發明實施例提供的信息加載方法的又一整體流程圖;
圖4為本發明實施例提供的信息加載裝置結構圖。
具體實施方式
下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實施例用於說明本發明,但不用來限制本發明的範圍。
圖1為本發明實施例提供的信息加載方法流程圖。如圖1所示,包括:s1,獲取直播間的用戶連接數和所屬分區;s2,若所述用戶連接數小於第一預設閾值,則對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載;s3,將鏡像加載的用戶登錄信息和彈幕信息顯示在所述直播間中。
具體地,s1中,當主播在開啟直播前需要進行登錄操作,主播登錄後開啟直播間,伺服器判斷當前主播是否存在扣分或封禁的違規記錄,若主播的所有分值被扣完或存在封禁的違規記錄,則提示主播無法開啟直播,否則主播正常開啟直播間。主播開啟直播間後,伺服器獲取所述直播間的用戶連接數和所屬分區。所述用戶連接數為除主播以外進入所述直播間的用戶總數,直播間的分區根據直播的種類劃分。s2中,伺服器根據所述用戶連接數判斷是否進行鏡像加載,即若所述用戶連接數小於第一預設閾值,則可以將所述直播間所屬分區中的用戶登錄信息進行鏡像加載,也可以將所述分區中的用戶登錄信息和所述分區中的彈幕信息同時進行鏡像加載,否則不進行鏡像加載。所述用戶登錄信息可以為正在登錄的用戶信息。所述用戶登錄信息可以包括用戶圖像、用戶名,還可以為當前直播間所屬分區中登錄的用戶總數。所述彈幕信息可以包括用戶名、用戶留言,還可以為用戶在界面上選擇發送的信息。所述鏡像加載是一種冗餘的加載處理方式,將所述直播間所屬分區中的用戶登錄信息和彈幕信息以冗餘的方式加載到內存中。本實施例不限於主播剛開啟直播間的情況。
具體地,在主播進行登錄時,伺服器通過$socket=usersocket_create(af_inet,sock_stream,0)ordie("伺服器連接失敗!")判斷主播登錄是否成功。如圖2所示,伺服器獲取主播開啟直播的操作後,默認加載彈幕服務,即returnbarrageservice。在連接彈幕服務後,啟動預加載服務,即prestrainservice。在啟動預加載服務後,可以直接啟動預加載程序和鏡像程序進行加載,也可以在滿足一定的條件下進行鏡像加載,即,所述彈幕服務獲取所述直播間的用戶連接數,即$actualusers=barrageservice.connect.number(liveroomid)和所屬分區,並將其傳遞給預加載服務。所述預加載服務判斷所述用戶連接數是否小於所述第一預設閾值,如所述第一預設閾值為50,若所述用戶連接數小於所述第一預設閾值,即if($actualusers<50),則啟動預加載程序,即returnroomimageservice,以及鏡像程序。其中鏡像程序將所述直播間所屬分區中的用戶登錄信息和彈幕信息加載到內存中。本實施例不限於具體實現的程序。
本實施例在用戶連接數很少時,通過對用戶登錄信息和彈幕信息同時進行鏡像加載,使主播可以同時觀看到自己直播間所屬分區的用戶登錄信息和彈幕信息,提高了用戶訪問的正式度,為主播營造一種眾多用戶進入且用戶參與度高的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。同時,通過內存加載,提高了加載效率。
在上述實施例的基礎上,本實施例還包括:若所述用戶連接數大於或等於所述第一預設閾值,則根據歷史彈幕條數或實時彈幕條數獲取發送彈幕的頻率;若所述發送彈幕的頻率小於第二預設閾值,則對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載。
具體地,所述歷史彈幕條數為伺服器獲取的所述直播間的彈幕總數。伺服器還獲取從第一個彈幕發送開始到最後一個彈幕發送完的時間,用所述彈幕總數除以所述時間獲取每分鐘發送彈幕的條數,將所述每分鐘發送彈幕的條數作為所述發送彈幕的頻率。伺服器還可以獲取所述直播間的實時彈幕條數,將最近一分鐘發送彈幕的條數作為所述發送彈幕的頻率。若伺服器判斷所述用戶連接數大於或等於所述第一預設閾值,則伺服器進一步判斷所述發送彈幕的頻率是否小於所述第二預設閾值。如果所述發送彈幕的頻率小於所述第二預設閾值,則進行鏡像加載,否則不進行鏡像加載。
具體地,如圖2所示,若伺服器判斷所述用戶連接數大於所述第一預設閾值,則進行下一步判斷,即returnbarrageserviceshow。伺服器可以在barrageservicemessage中獲取所述直播間的彈幕總數,即(barrage$barragemessagesum)$barragemessagesum=barrageservice.message.minute(liveroomid),以及從第一個彈幕發送開始到最後一個彈幕發送完的時間。伺服器還可以直接將最近一分鐘發送彈幕的條數作為所述發送彈幕的頻率。假設所述第一預設閾值為50,所述用戶連接數大於50,所述第二預設閾值為10,判斷所述發送彈幕的頻率是否小於10,即if($barragemessagesum<10),如果所述發送彈幕的頻率大於10,則停止鏡像加載,關閉預加載服務,即socket_close($requestusertype),否則啟動預加載程序,即returnroomimageservice。本實施例不限於具體實現的程序。
本實施例在用戶連接數達標,但是用戶參與度較低的情況下,增加了統計維度,通過對用戶登錄信息和彈幕信息進行鏡像加載,提高了用戶訪問的正式度,為主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
在上述實施例的基礎上,本實施例中對所述直播間所屬分區中的用戶登錄信息和彈幕信息進行鏡像加載,包括:對所述分區中的用戶登錄信息進行加載,同時對所述分區中的彈幕信息進行預加載。
具體地,由於用戶登錄信息的數據量級較小,可以進行直接加載。而彈幕信息數據量級較大,不能直接進行加載,如果直接進行加載,可能會導致伺服器崩潰。伺服器獲取用戶的登錄時間和發送彈幕信息的時間,並根據所述登錄時間將所述分區中的用戶登錄信息進行倒序加載,根據所述發送彈幕信息的時間將所述分區中的彈幕信息進行倒序加載。這樣使得最新的用戶登錄信息和彈幕信息最先加載。伺服器可以根據需要指定每分鐘的彈幕信息加載條數,如每分鐘加載10條,則加載的是最新的10條彈幕信息,還可以指定每條彈幕信息的加載頻率,如以6s每條的頻率加載。使用鏡像加載的用戶登錄信息和彈幕信息不計入有效的用戶登錄數和彈幕條數。
具體地,對所述直播間所屬分區中的用戶登錄信息進行加載,即$userpartition=sql(selectpartitionformweb_partition_oldwhereusertype='usertype')。同時對所述直播間所屬分區中的彈幕信息進行預加載,即imagebarragedetailed=barrageservice.message.detailed($userpartition)。加載規則按照時間進行倒敘加載,即loadmemorylogin(imageuserlogin)、loadmemorydetailed(imagebarragedetailed),並將所述用戶登錄信息,彈幕信息同步加載至內存中。本實施例不限於具體實現的程序。
本實施例通過對用戶登錄信息和彈幕信息進行鏡像加載,提高了用戶訪問的正式度,為主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
在上述實施例的基礎上,本實施例還包括:每隔第一預設時長重新獲取所述直播間的用戶連接數。
具體地,伺服器在首次對所述用戶登錄信息和所述彈幕信息進行鏡像加載後,每隔第一預設時長,重新獲取所述直播間的用戶連接數。伺服器判斷所述用戶連接數是否小於第一預設閾值,如果所述用戶連接數小於所述第一預設閾值,則繼續對所述用戶登錄信息和彈幕信息進行鏡像加載和顯示。一種情況,如圖2所示,如果所述用戶連接數大於或等於所述第一預設閾值,則伺服器可以停止鏡像加載,並停止預加載服務。另一種情況,如圖3所示,在所述用戶連接數大於或等於所述第一預設閾值時,伺服器也可以繼續根據歷史彈幕條數或實時彈幕條數獲取發送彈幕的頻率。伺服器判斷所述發送彈幕的頻率是否小於所述第二預設閾值。如果所述發送彈幕的頻率小於所述第二預設閾值,則進行鏡像加載,否則不進行鏡像加載。
本實施例每隔一段時間判斷是否滿足預設加載條件,對不滿足預加載條件的情況終止鏡像加載和預加載服務,減少了資源的浪費。
在上述實施例的基礎上,本實施例還包括:若判斷鏡像加載的時長超過第二預設時長,則停止鏡像加載。
具體地,如圖2和圖3所示,將鏡像加載的時長限定在第二預設時長內,若超過第二預設時長,則自動停止鏡像加載,並關閉預加載服務,即close(prestrainservice)。關閉之後採用逐步遞減的方式還原主播正常的人氣顯示。同時清除鏡像加載的彈幕記錄,即eliminatebarrage(record)。本實施例對資源的佔用時長進行了限制,減少了資源的浪費。
本實施例在滿足預設加載條件下,通過鏡像加載,將直播間所屬分區的用戶登錄信息和彈幕信息顯示在該直播間中,為主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
圖4為本發明實施例提供的信息加載裝置結構圖。如圖4所示,包括獲取單元1、加載單元2和顯示單元3,其中:
所述獲取單元1用於獲取所述直播間的用戶連接數和所屬分區;所述加載單元2用於在所述用戶連接數小於第一預設閾值時,對所述分區中的用戶登錄信息和所述分區中的彈幕信息進行鏡像加載;所述顯示單元3用於將鏡像加載的用戶登錄信息和彈幕信息顯示在所述直播間中。
具體地,當主播在開啟直播前需要進行登錄操作,主播登錄後開啟直播間,伺服器判斷當前主播是否存在扣分或封禁的違規記錄,若主播的所有分值被扣完或存在封禁的違規記錄,則提示主播無法開啟直播,否則主播正常開啟直播間。主播開啟直播間後,所述獲取單元1獲取所述直播間的用戶連接數和所屬分區。所述用戶連接數為除主播以外進入所述直播間的用戶總數,直播間的分區根據直播的種類劃分。所述加載單元2根據所述用戶連接數判斷是否進行鏡像加載,即若所述用戶連接數小於第一預設閾值,則將所述直播間所屬分區中的用戶登錄信息和彈幕信息進行鏡像加載,否則不進行鏡像加載。所述用戶登錄信息可以為正在登錄的用戶信息。所述用戶登錄信息可以包括用戶圖像、用戶名,還可以為當前直播間所屬分區中登錄的用戶總數。所述彈幕信息可以包括用戶名、用戶留言,還可以為用戶在界面上選擇發送的信息。所述鏡像加載是一種冗餘的加載處理方式,將所述直播間所屬分區中的用戶登錄信息和彈幕信息以冗餘的方式加載到內存中。所述顯示單元3將所述用戶登錄信息和彈幕信息顯示在當前直播間中。本實施例不限於主播剛開啟直播間的情況。
本實施例在用戶連接數很少時,通過對用戶登錄信息和彈幕信息進行鏡像加載,提高了用戶訪問的正式度,為主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
在上述事實例的基礎上,本實施例中所述獲取單元1還用於在所述用戶連接數大於或等於所述第一預設閾值時,根據歷史彈幕條數或實時彈幕條數獲取發送彈幕的頻率;相應地,所述加載單元2還用於在所述發送彈幕的頻率小於第二預設閾值時,對所述分區中用戶登錄信息和所述分區中的彈幕信息進行鏡像加載。
具體地,所述歷史彈幕條數為所述獲取單元1獲取的所述直播間的彈幕總數。所述獲取單元1還獲取從第一個彈幕發送開始到最後一個彈幕發送完的時間,用所述彈幕總數除以所述時間獲取每分鐘發送彈幕的條數,將所述每分鐘發送彈幕的條數作為所述發送彈幕的頻率。所述獲取單元1還可以獲取所述直播間的實時彈幕條數,將最近一分鐘發送彈幕的條數作為所述發送彈幕的頻率。若所述加載單元2判斷所述用戶連接數大於所述第一預設閾值,則所述加載單元2進一步判斷所述發送彈幕的頻率是否小於所述第二預設閾值。如果所述發送彈幕的頻率小於所述第二預設閾值,則進行鏡像加載,否則不進行鏡像加載。
本實施例在用戶連接數達標,但是用戶參與度較低的情況下,增加了統計維度,通過對用戶登錄信息和彈幕信息進行鏡像加載,提高了用戶訪問的正式度,為主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
在上述事實例的基礎上,本實施例中所述加載單元2具體用於對所述分區中的用戶登錄信息進行加載,同時對所述分區中的彈幕信息進行預加載。
具體地,由於用戶登錄信息的數據量級較小,可以進行直接加載。而彈幕信息數據量級較大,不能直接進行加載,如果直接進行加載,可能會導致伺服器崩潰。所述獲取單元1還用於獲取用戶的登錄時間和發送彈幕信息的時間,相應地,所述加載單元2還用於根據所述登錄時間將所述分區中的用戶登錄信息進行倒序加載,根據所述發送彈幕信息的時間將所述分區中的彈幕信息進行倒序加載。這樣使得最新的用戶登錄信息和彈幕信息最先加載。所述加載單元2可以根據需要指定每分鐘的彈幕信息加載條數。同時,還可以指定每條彈幕信息的加載頻率。使用鏡像加載的用戶登錄信息和彈幕信息不計入有效的用戶登錄數和彈幕條數。
本實施例在滿足預設加載條件的情況下,通過對用戶登錄信息和彈幕信息進行鏡像加載,提高了用戶訪問的正式度,為剛開播的主播營造一種眾多用戶進入的氛圍,提高了主播開播的積極性,提升了主播的用戶體驗。
在上述事實例的基礎上,本實施例中所述獲取單元1還用於:每隔第一預設時長重新獲取所述直播間的用戶連接數。
具體地,所述獲取單元1在首次對所述用戶登錄信息和所述彈幕信息進行鏡像加載後,每隔第一預設時長,重新獲取所述直播間的用戶連接數。所述加載單元2判斷所述用戶連接數是否小於所述第一預設閾值,如果所述用戶連接數小於第一預設閾值,則繼續對所述用戶登錄信息和彈幕信息進行鏡像加載,所述顯示單元3繼續對所述用戶登錄信息和彈幕信息進行顯示。一種情況,如圖2所示,所述加載單元2還用於在所述用戶連接數大於或等於所述第一預設閾值時,停止鏡像加載,並停止預加載服務。另一種情況,如圖3所示,在所述用戶連接數大於或等於所述第一預設閾值時,所述獲取單元1可以繼續根據歷史彈幕條數或實時彈幕條數獲取發送彈幕的頻率。所述加載單元2判斷所述發送彈幕的頻率是否小於所述第二預設閾值。如果所述發送彈幕的頻率小於所述第二預設閾值,則進行鏡像加載,否則不進行鏡像加載。
本實施例每隔一段時間判斷是否滿足預設加載條件,對不滿足預加載條件的情況終止鏡像加載和預加載服務,減少了資源的浪費。
最後,本申請的方法僅為較佳的實施方案,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。