本發(fā)明涉及互聯(lián)網(wǎng)彈幕式視頻直播技術(shù)領(lǐng)域,更具體地,涉及一種網(wǎng)絡(luò)直播禮物展示及構(gòu)建方法。
背景技術(shù):
目前,禮物的設(shè)計之初的目的是增進(jìn)觀眾與主播之間的互動,觀眾給喜歡的主播贈送禮物,是對主播的一種認(rèn)同感,主播自己也有成就感。有利于直播網(wǎng)站平臺的良好運營。
在實際的網(wǎng)絡(luò)直播平臺運營中,直播內(nèi)容存在很多分類。例如:有很多人都是玩游戲,他們的直播內(nèi)容都是以游戲內(nèi)容為為主;有很多人都在自拍,他們的直播內(nèi)容是表現(xiàn)自己展示自己為主;有的直播內(nèi)容是敘事紀(jì)實,他們的直播內(nèi)容就是在記錄生活。
傳統(tǒng)的禮物展示展示通常會在全部房間展示相同的互動禮物,網(wǎng)站更新維護(hù)替換需要上新禮物時需要開發(fā)人員人工替換,既浪費了網(wǎng)站開發(fā)人力成本,又會造成很大的風(fēng)險,因為每次開發(fā)代碼的更迭都會導(dǎo)致服務(wù)運行的穩(wěn)定性。大多數(shù)的直播網(wǎng)站主播的直播房間禮物單一。直播內(nèi)容千變?nèi)f化,有些主播的個性又與眾不同,統(tǒng)一的禮物設(shè)計無法滿足直播領(lǐng)域?qū)?nèi)容多姿多彩的要求。所以主播網(wǎng)站運營方迫切需要提供一種對不同房間實現(xiàn)禮物定制的功能,滿足主播的定制要求。
技術(shù)實現(xiàn)要素:
本發(fā)明為克服上述問題或者至少部分地解決上述問題,提供一種網(wǎng)絡(luò)直播禮物展示方法。
根據(jù)本發(fā)明的一個方面,提供一種網(wǎng)絡(luò)直播禮物展示方法,其特征在于,包括:
步驟1,基于被訪問的直播房間信息,判斷所述直播房間是否關(guān)聯(lián)有禮物模板信息;
步驟2,在所述直播房間關(guān)聯(lián)有禮物模板信息時,基于所關(guān)聯(lián)的禮物模板信息,調(diào)用與所述禮物模板相關(guān)聯(lián)的禮物;或者在所述直播房間不關(guān)聯(lián)禮物模板信息時,則判斷所述直播房間是否關(guān)聯(lián)有房間分類信息;
步驟3,在所述直播房間關(guān)聯(lián)的房間分類信息關(guān)聯(lián)有禮物模板信息時,基于所述直播房間關(guān)聯(lián)的禮物模板信息,調(diào)用相應(yīng)禮物。
根據(jù)本發(fā)明的另一個方面,提供一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法,包括:
S01,分別建立直播房間信息模型、禮物模板信息模型和禮物模型信息模型;
S02,分別建立所述直播房間信息模型和所述禮物模板信息模型的關(guān)聯(lián)關(guān)系、所述禮物模板信息模型和所述禮物模型信息模型的關(guān)聯(lián)關(guān)系。
本申請?zhí)岢鲆环N網(wǎng)絡(luò)直播禮物展示及構(gòu)建方法,通過個性化的針對不同類型的房間設(shè)定不同的禮物模板,禮物的數(shù)量和內(nèi)容可以隨意更替;不同分類下的房間展示不同的禮物內(nèi)容,還能夠根據(jù)房間設(shè)定一套禮物,房間的禮物與房間所屬分類下的禮物同時存在的情況下優(yōu)先選擇展示房間禮物,做到為房間定制禮物,讓主播有一種自豪感和歸屬感。在滿足觀眾用戶與主播的內(nèi)容互動的同時,滿足某些主播的個性化和運營人員特殊性運營的需求。
附圖說明
圖1為根據(jù)本發(fā)明實施例一種網(wǎng)絡(luò)直播禮物展示方法的整體流程示意圖;
圖2為根據(jù)本發(fā)明實施例一種網(wǎng)絡(luò)直播禮物展示方法的整體示意圖;
圖3為根據(jù)本發(fā)明實施例一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法整體流程示意圖;
圖4為根據(jù)本發(fā)明實施例一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法所構(gòu)建的數(shù)據(jù)庫表單結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進(jìn)一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
術(shù)語說明:
普通用戶(觀眾):登陸一個直播網(wǎng)站房間的用戶;
房間:一種提供彈幕式視頻直播的在線虛擬房間;
房主(主播):提供彈幕式視頻直播房間的擁有者;
房間分類:按照房間直播內(nèi)容或者直播性質(zhì)來區(qū)分的一種歸類方法;
超管(管理員):直播網(wǎng)站運營方有特定的權(quán)限的管理人員;
禮物:提供給普通用戶的用于贈送給自己喜歡的主播的虛擬獎品;
一對一:關(guān)系數(shù)據(jù)庫中兩個表之間的一種關(guān)系,該關(guān)系中第一個表中的單個行只可以與第二個表中的一個行相關(guān),且第二個表中的一個行也只可以與第一個表中的一個行相關(guān),例如一個學(xué)生只有一個名字,他不會有第二個名字,他的名字就是對應(yīng)這名學(xué)生的唯一標(biāo)記。
一對多/多對一的關(guān)系:一對多或者多對一存在最普遍的映射關(guān)系,簡單來說就如同班和學(xué)生的關(guān)系——從學(xué)生的角度來說一個班級由多個學(xué)生組成,即一對多;從學(xué)生的角度來說,多個學(xué)生屬于一個班級,即為多對一;
多對多的關(guān)系:多對多的關(guān)系也很常見,打個比方就好比學(xué)生與選修課之間的關(guān)系——一個學(xué)生可以選擇多門選修課,而每個選修課又可以被多名學(xué)生選擇;
關(guān)系型數(shù)據(jù)庫:建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)?,F(xiàn)實世界中的各種實體以及實體之間的各種聯(lián)系均用關(guān)系模型來表示。標(biāo)準(zhǔn)數(shù)據(jù)查詢語言SQL就是一種基于關(guān)系數(shù)據(jù)庫的語言,這種語言執(zhí)行對關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的檢索和操作。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系完整性約束三部分組成。以下實現(xiàn)步驟以MySQL作為主要數(shù)據(jù)庫說明。
如圖1,示出本發(fā)明具體實施例中,一種網(wǎng)絡(luò)直播禮物展示方法整體流程示意圖。結(jié)合圖2所示,總體上包括:步驟1,基于被訪問的直播房間信息,判斷所述直播房間是否關(guān)聯(lián)有禮物模板信息;
步驟2,在所述直播房間關(guān)聯(lián)有禮物模板信息時,基于所關(guān)聯(lián)的禮物模板信息,調(diào)用與所述禮物模板相關(guān)聯(lián)的禮物;或者在所述直播房間不關(guān)聯(lián)禮物模板信息時,則判斷所述直播房間是否關(guān)聯(lián)有房間分類信息;
步驟3,在所述直播房間關(guān)聯(lián)的房間分類信息關(guān)聯(lián)有禮物模板信息時,基于所述直播房間關(guān)聯(lián)的禮物模板信息,調(diào)用相應(yīng)禮物。
在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物展示方法,所述步驟1前還包括:分別建立直播房間數(shù)據(jù)庫表單、禮物模板數(shù)據(jù)庫表單、禮物模型數(shù)據(jù)庫表單、房間分類數(shù)據(jù)庫表單和模板-禮物數(shù)據(jù)庫表單。
利用禮物模板標(biāo)識字段將所述直播房間數(shù)據(jù)庫表單與所述禮物模板數(shù)據(jù)庫表單相關(guān)聯(lián);利用禮物模板標(biāo)識字段將所述禮物模板數(shù)據(jù)庫表單分別于所述房間分類數(shù)據(jù)庫表單、模板-禮物數(shù)據(jù)庫表單相關(guān)聯(lián);利用房間分類標(biāo)識字段將所述直播房間數(shù)據(jù)庫表單與所述房間分類數(shù)據(jù)庫表單相關(guān)聯(lián);利用禮物標(biāo)識字段將所述模板-禮物數(shù)據(jù)庫表單與所述禮物模型數(shù)據(jù)庫表單相關(guān)聯(lián)。
在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物展示方法,所述步驟1還包括:判斷所述被訪問的直播房間數(shù)據(jù)庫表單中禮物模板標(biāo)識字段值是否為空。
在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物展示方法,所述步驟2中在所述直播房間關(guān)聯(lián)有禮物模板信息時,基于所關(guān)聯(lián)的禮物模板信息,調(diào)用與所述模板相關(guān)聯(lián)的禮物還包括:根據(jù)所述被訪問的直播房間數(shù)據(jù)庫表單中禮物模板標(biāo)識字段查找到與其相關(guān)聯(lián)的禮物模板數(shù)據(jù)庫表單;基于所述禮物模板數(shù)據(jù)庫表單中禮物模板標(biāo)識字段查找與所述直播房間數(shù)據(jù)庫表單相關(guān)聯(lián)的所有禮物模型表單,基于所述禮物模型表單調(diào)用對應(yīng)禮物。
在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物展示方法,所述步驟2中在所述直播房間不關(guān)聯(lián)禮物模板信息時,判斷所述直播房間是否關(guān)聯(lián)有房間分類信息還包括:判斷所述被訪問的直播房間數(shù)據(jù)庫表單中房間分類標(biāo)識字段值是否為空。
在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物展示方法,所述步驟3還包括:判斷與所述直播房間數(shù)據(jù)庫表單相關(guān)聯(lián)的房間分類數(shù)據(jù)庫表單中禮物模板字段值是否為非空,基于與所述直播房間數(shù)據(jù)庫表單相關(guān)聯(lián)的房間分類表單中禮物模板字段查找與其相關(guān)聯(lián)的相應(yīng)禮物并調(diào)用。
如圖3,示出本發(fā)明具體實施例中,一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法整體流程示意圖。總體上包括:S01,分別建立直播房間信息模型、禮物模板信息模型和禮物模型信息模型。
S02,分別建立所述直播房間信息模型和所述禮物模板信息模型的關(guān)聯(lián)關(guān)系、所述禮物模板信息模型和所述禮物模型信息模型的關(guān)聯(lián)關(guān)系。
在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法,還包括:建立房間分類信息模型和模板-禮物信息模型;分別建立所述直播房間信息模型和所述房間分類信息模型的關(guān)聯(lián)關(guān)系、所述房間分類信息模型和所述禮物模板信息模型的關(guān)聯(lián)關(guān)系、所述禮物模板模型和所述模板-禮物信息模型關(guān)聯(lián)關(guān)系、模板-禮物信息模型關(guān)聯(lián)關(guān)系。
如圖4所示,在本發(fā)明另一個具體實施例中,一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法,還包括:分別建立直播房間數(shù)據(jù)庫表單、房間分類數(shù)據(jù)庫表單、禮物模板數(shù)據(jù)庫表單、模板-禮物數(shù)據(jù)庫表單和禮物模型數(shù)據(jù)庫表單。
利用禮物模板標(biāo)識字段將所述直播房間數(shù)據(jù)庫表單與所述禮物模板數(shù)據(jù)庫表單相關(guān)聯(lián);利用禮物模板標(biāo)識字段將所述禮物模板數(shù)據(jù)庫表單分別于所述房間分類數(shù)據(jù)庫表單、模板-禮物數(shù)據(jù)庫表單相關(guān)聯(lián);利用房間分類標(biāo)識字段將所述直播房間數(shù)據(jù)庫表單與所述房間分類數(shù)據(jù)庫表單相關(guān)聯(lián);利用禮物標(biāo)識字段將所述模板-禮物數(shù)據(jù)庫表單與所述禮物模型數(shù)據(jù)庫表單相關(guān)聯(lián)。
在本發(fā)明又一個具體實施例中,一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法,還包括:能夠通過修改各個數(shù)據(jù)庫表單間的關(guān)聯(lián)字段,從而調(diào)整各個數(shù)據(jù)庫表單間的關(guān)聯(lián)關(guān)系。
在本發(fā)明又一個具體實施例中,一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法,還包括:所述數(shù)據(jù)庫表單為SQL數(shù)據(jù)庫表單。
在本發(fā)明又一個具體實施例中,一種網(wǎng)絡(luò)直播禮物的展示構(gòu)建方法,包括如下具體步驟:
啟動一個MySQL服務(wù),構(gòu)建一個禮物實體模型,該模型中必須包含以下屬性:標(biāo)記唯一的標(biāo)識,表示禮物特征的名稱和禮物價格屬性,其他增值屬性非必須,如圖4所示。
在服務(wù)中封裝一個newGiftObject的方法,方法執(zhí)行一條SQL語句在MySQL服務(wù)中構(gòu)建禮物模型gift:
創(chuàng)建一個模板實體模型,模型中必須包含標(biāo)記唯一的標(biāo)識,表示模板特征的名稱和對該模板的表述,其他屬性非必須,如圖4所示。
在服務(wù)中封裝一個newTemplateObject的方法,方法執(zhí)行一條SQL語句在MySQL服務(wù)中構(gòu)建模板模型template:
模板是將一個事物結(jié)構(gòu)規(guī)律予以固定化標(biāo)準(zhǔn)化的一個成果,以下模板均表示由一類禮物組成的可供房間使用的一個組合,在一個模板模型當(dāng)中,具備一個或者多個禮物模型,也可以說,多個禮物模型組成一個組合,與模板模型映射。模板與禮物是一對多的關(guān)系,多對多的關(guān)系必須創(chuàng)建第三個虛擬模型,用于記錄模板模型與禮物模型的映射關(guān)系。創(chuàng)建一個禮物模型和模板模型的關(guān)系模型,模型中必須設(shè)定標(biāo)記模板模型唯一的標(biāo)識和禮物模型中的唯一標(biāo)識,關(guān)系如圖4所示。
在服務(wù)中封裝一個createTemplateGiftRelation方法,方法執(zhí)行一條SQL語句在MySQL服務(wù)中構(gòu)建禮物模型和模板模型的關(guān)系模型template_gift:
每一個模板模型都能夠通過模板禮物映射模型找到映射的禮物模型,如下圖表示,通過模板模型中的唯一標(biāo)記到模板禮物關(guān)系映射模型查找對應(yīng)的映射記錄,每一條映射記錄都會保存唯一的禮物模型中的唯一標(biāo)識。通過模板實體找到與其匹配的一個或者多個禮物實體。由模板唯一標(biāo)識查找禮物模型數(shù)據(jù)的對應(yīng)關(guān)系如圖4所示。
封裝一個getGiftDataByTemplateId的方法,方法執(zhí)行一條SQL語句在MySQL服務(wù)中通過模板模型的標(biāo)識(template_id)查找與之匹配的禮物實體:
封裝一個方法updateRoomWithTemplateId,方法執(zhí)行一條SQL語句在MySQL服務(wù)中為原有的房間模型(room)創(chuàng)建一個模板標(biāo)識(template_id)屬性:
該屬性與模板實體中的唯一屬性形成映射關(guān)系,為房間新增或者修改模板標(biāo)識的同時,與之對應(yīng)的模板也會隨著標(biāo)識的更新而變化。房間模型中設(shè)定一個屬性表示模板標(biāo)識,該標(biāo)識與模板模型中唯一標(biāo)識符對應(yīng),由房間模型中設(shè)定的模板標(biāo)識,保存在房間模型中的模板標(biāo)示只能夠在模板模型中的唯一標(biāo)識的集合中選擇,定位到模板模型中的唯一實體屬性,通過房間模板中設(shè)定的模板標(biāo)識屬性,可以找出模板模型中該標(biāo)識唯一存在的一類模板模型屬性。通過房間實體找到與之匹配的模板實體。
封裝一個方法getTemplateIdByRoomId通過房間標(biāo)識(room_id),查找該實體設(shè)定的模板標(biāo)識(template_id),方法會在MySQL服務(wù)中執(zhí)行一條SQL:
通過方法getTemplateIdByRoomId可以通過房間模型的標(biāo)識查找出一個與之匹配的模板模型的標(biāo)識,將獲取到的模板模型標(biāo)識在內(nèi)存中保存為變量templateId。
創(chuàng)建一個分類實體模型,該模型中必須包含以下屬性:標(biāo)記唯一屬性的ID,表示分類特點的名稱,還需要一個描寫該分類特征的說明。分類模型需要與模板模型產(chǎn)品關(guān)聯(lián),它們之間的關(guān)系是一對一的,在一對一的關(guān)系型模型當(dāng)中,在第一個模型中需要保存第二個模型中的唯一標(biāo)識符,所以在分類實體模型當(dāng)中還需要一個模板模型唯一標(biāo)識符屬性,如圖4所示。
在服務(wù)中封裝一個newCateObject的方法,方法執(zhí)行一條SQL語句在MySQL服務(wù)中構(gòu)建分類模型cate:
為原有的房間模型創(chuàng)建一個分類模型標(biāo)識的屬性,執(zhí)行SQL的語句如下。
封裝一個方法updateRoomWithCateId,方法執(zhí)行一條SQL語句在MySQL服務(wù)中為原有的房間模(room)型創(chuàng)建一個分類標(biāo)識(cate_id)屬性:
該屬性與分類實體中的唯一屬性形成映射關(guān)系,為房間新增或者修改分類標(biāo)識的同時,與之對應(yīng)的分類也會隨著標(biāo)識的更新而變化。房間模型中設(shè)定一個屬性表示分類標(biāo)識,該標(biāo)識與分類模型中唯一標(biāo)識符對應(yīng),由房間模型中設(shè)定的分類標(biāo)識,保存在房間模型中的分類標(biāo)識只能夠在分類模型中的唯一標(biāo)識的集合中選擇,定位到分類模型中的唯一實體屬性,通過房間模板中設(shè)定的分類標(biāo)識屬性,可以找出分類模型中該標(biāo)識唯一存在的一類分類模型屬性。通過房間實體找到與之匹配的分類實體。
封裝一個getCateIdByRoomId的方法,在MySQL服務(wù)中執(zhí)行一條SQL用于通過房間標(biāo)識(room_id)查找分類標(biāo)識(cate_id):
通過方法getCateIdByRoomId可以通過房間模型的唯一標(biāo)識查找出一個與之匹配的分類模型的標(biāo)識,將獲取到的模板模型標(biāo)識在內(nèi)存中保存為變量cateId。
在分類模型中設(shè)定一個屬性表示模板標(biāo)識,該標(biāo)識與模板模型中唯一標(biāo)識符對應(yīng),保存在分類模型中的模板標(biāo)示只能夠在模板模型中的唯一標(biāo)識的集合中選擇,由分類模型中設(shè)定的模板標(biāo)識,定位到模板模型中的唯一實體屬性,通過分類模型中的一類屬性可以找出對應(yīng)的模板模型的一類屬性。通過分類實體找到與之匹配的模板實體。
封裝一個方法getTemplateIdByCateId通過分類標(biāo)識(cate_id),查找該實體設(shè)定的模板標(biāo)識(template_id),方法會在MySQL服務(wù)中執(zhí)行一條SQL:
通過方法getTemplateIdByCateId可以通過分類模型的標(biāo)識查找出一個與之匹配的模板模型的標(biāo)識,將獲取到的模板模型標(biāo)識在內(nèi)存中保存為變量templateId2。
通過方法getTemplateIdByRoomId使用房間標(biāo)識查找模板標(biāo)識templateId,再通過方法getGiftDataByTemplateId使用templateId查找禮物實體數(shù)據(jù)giftList;通過方法getTemplateIdByCateId使用分類標(biāo)識查找模板標(biāo)識templateId2,再通過方法getGiftDataByTemplateId使用templateId2查找禮物實體數(shù)據(jù)giftList2。如果giftList和giftList2兩者都存在數(shù)據(jù),優(yōu)先giftList。最后將這些禮物實體數(shù)據(jù)保存在一個數(shù)組當(dāng)中,通過服務(wù)器視圖(view)模塊渲染到頁面,供用戶看到。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。