本發(fā)明涉及數(shù)據(jù)存儲
技術(shù)領(lǐng)域:
,更具體地,涉及一種彈幕消息處理方法、解析方法及系統(tǒng)。
背景技術(shù):
:在網(wǎng)絡(luò)直播客戶端中最常見的一個功能就是發(fā)送彈幕消息,彈幕消息就是在視頻界面上發(fā)送的文字和圖片組成的富文本消息,針對網(wǎng)絡(luò)直播過程中眾多的用戶量,彈幕消息的并發(fā)數(shù)量是異常巨大的,因此,如何能夠提高彈幕消息的并發(fā)顯得尤為重要。目前,通常采用json格式來存儲大量的彈幕消息,例如,采用json格式存儲的彈幕消息為:{type:101,msg={type="chatmsg",rid="591839",ct="1",uid="46387962",nn="意識的愛",txt="看下裝備",cid="123456",ic="abcdefg",level="4",el=""}}。從上述存儲格式來看,json存儲格式中包括眾多的{}以及""這些符號,這些符號占用的內(nèi)存比較大,因此采用json格式存儲的彈幕消息數(shù)據(jù)占用的內(nèi)存容量也比較大,不適合彈幕消息的并發(fā)傳輸。技術(shù)實現(xiàn)要素:本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的彈幕消息處理方法、解析方法及系統(tǒng)。根據(jù)本發(fā)明的一個方面,提供了一種彈幕消息處理方法,包括:s1a,獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;s2a,將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;s3a,將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第二分隔符進行連接,形成彈幕消息。根據(jù)本發(fā)明的另一方面,還提供了一種彈幕消息解析方法,包括:s1b、將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容;s2b,將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊;s3b,按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。根據(jù)本發(fā)明的又一方面,提供了一種彈幕消息處理系統(tǒng),包括:獲取模塊,用于獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;第一連接模塊,用于將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;第二連接模塊,用于將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第一分隔符進行連接,形成彈幕消息。根據(jù)本發(fā)明的再一方面,還提供了一種彈幕消息解析系統(tǒng),包括:第一分割模塊,用于將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容;第二分割模塊,用于將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊;第三分割模塊,用于按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。本發(fā)明提供的一種彈幕消息處理方法、解析方法及系統(tǒng),通過不同的分隔符將彈幕消息的各部分數(shù)據(jù)連接在一起,與通用的json格式相比,相同的數(shù)據(jù)所占用的內(nèi)存容量更小,更有更高的壓縮比,能夠滿足彈幕消息數(shù)據(jù)的高并發(fā)的要求;在對彈幕消息解析的過程中,通過多次調(diào)用函數(shù)就能完整地將數(shù)據(jù)解析出來,執(zhí)行效率非???,占用的系統(tǒng)資源非常少,而在對通用的json格式數(shù)據(jù)的解析過程中會有很多對象的生成,而在java中,對象是非常占有系統(tǒng)資源的,而本發(fā)明的解析方法,整個解析過程中不涉及到任何對象,全部都是對字符串進行的操作,解析的效率會更高。附圖說明圖1為本發(fā)明一個實施例的彈幕消息處理方法流程圖;圖2為本發(fā)明另一個實施例的彈幕消息解析方法流程圖;圖3為本發(fā)明一個實施例的彈幕消息處理系統(tǒng)連接框圖;圖4為本發(fā)明一個實施例的彈幕消息處理系統(tǒng)整個連接框圖;圖5為本發(fā)明另一個實施例的彈幕消息解析系統(tǒng)整體連接框圖;圖6為本發(fā)明一個實施例的彈幕消息處理系統(tǒng)的測試設(shè)備的結(jié)構(gòu)框圖;圖7為本發(fā)明另一個實施例的彈幕消息解析系統(tǒng)的測試設(shè)備的結(jié)構(gòu)框圖。具體實施方式下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。參見圖1,為本發(fā)明一個實施例的彈幕消息處理方法,包括:s1a,獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;s2a,將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;s3a,將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第二分隔符進行連接,形成彈幕消息。在網(wǎng)絡(luò)直播客戶端中最常見的一個功能就是發(fā)送彈幕消息,彈幕消息就是在視頻界面上發(fā)送的文字和圖片組成的富文本消息,彈幕消息的并發(fā)數(shù)量是異常巨大的,采用通用的json格式,數(shù)據(jù)占用的內(nèi)存容量比較大。因此,本實施例通過不同的分隔符將彈幕消息的各部分數(shù)據(jù)連接在一起,與通用的json格式相比,相同的數(shù)據(jù)所占用的內(nèi)存容量更小,更有更高的壓縮比,能夠滿足彈幕消息數(shù)據(jù)的高并發(fā)的要求。在本發(fā)明的另一個實施例中,將每一個所述子數(shù)據(jù)塊轉(zhuǎn)換為“鍵值-屬性值”對的格式,每一個所述“鍵值-屬性值”對之間通過所述第一分隔符進行連接,其中,所述鍵值為所述子數(shù)據(jù)塊的唯一標識,所述屬性值為所述子數(shù)據(jù)塊的內(nèi)容。其中,所述鍵值與屬性值之間通過第三分隔符進行連接。下面以一個具體的例子來描述彈幕消息處理方法,本實施例中自定義的彈幕消息的格式為:type:101,msg:type@=chatmsg/rid@591839/ct@=1/uid@=46387962/nn@=意識的愛/txt@=看下裝備/cid@=123456/ic@=abcdefg/level@=4/e1@=/。其中,彈幕消息分為兩部分,第一部分為type:101,type表示的是彈幕消息數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型,101表示數(shù)據(jù)類型標識,用來區(qū)分該條數(shù)據(jù)是何種類型的數(shù)據(jù);第二部分msg:type@=chatmsg/rid@591839/ct@=1/uid@=46387962/nn@=意識的愛/txt@看下裝備/cid@=123456/ic@=abcdefg/level@=4/e1@=/是彈幕消息的具體數(shù)據(jù)內(nèi)容,數(shù)據(jù)類型和數(shù)據(jù)內(nèi)容之間通過分隔符“,”進行分隔連接,msg表示該條數(shù)據(jù)內(nèi)容的開始,msg后面為type類型消息的具體內(nèi)容。彈幕消息的具體內(nèi)容包括多個子數(shù)據(jù)塊,每一個子數(shù)據(jù)塊采用“鍵值-屬性值”對的格式,其中,type@=chatmsg即為msg中的一個“鍵值-屬性值”對,“/”為每一個“鍵值-屬性值”對之間的分隔符,“@=”為鍵值和屬性值之間的分隔符,其中,如果鍵值對應(yīng)的屬性值為空,那么采用為@=/的方式進行展示。上述對彈幕消息的傳輸格式進行了定義,接下來將該格式與通用的json格式進行相關(guān)的對比分析。完全相同的彈幕消息使用json數(shù)據(jù)格式的形式進行展示如下:{type:101,msg={type="chatmsg",rid="591839",ct="1",uid="46387962",nn="意識的愛",txt="看下裝備",cid="123456",ic="abcdefg",level="4",el=""}}。接下來用大小這個維度來進行對比分析本實施例使用的格式和json格式所占用的空間大小對比分析,通過統(tǒng)計發(fā)現(xiàn),在相同信息量數(shù)據(jù)大小的情況下,本實施例所采用的格式所占用的字符數(shù)為114個字符,而json格式的數(shù)據(jù)所占用的字符數(shù)為129個字符,為了更為直觀的展現(xiàn)上述格式在內(nèi)存占用空間上的提升,使用表格的形式進行展現(xiàn),具體的表格數(shù)據(jù)如下表1所示:表1相同msg下占用字符相對于129壓縮比本實施例格式1140.88json格式1291通過上述表格數(shù)據(jù)的分析,可以得出相同數(shù)據(jù)量的情況下本實施例設(shè)計的格式相比已有的json數(shù)據(jù)格式壓縮到了88%,也就是對數(shù)據(jù)壓縮了12%的提升,這樣對于相同數(shù)據(jù)量的彈幕消息,能夠極大地提高系統(tǒng)處理數(shù)據(jù)的能力,提高了后臺對彈幕消息的并發(fā)和處理能力。參見圖2,為本發(fā)明另一個實施例的彈幕消息解析方法,包括:s1b、將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容;s2b,將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊;s3b,按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。其中,調(diào)用的函數(shù)為split()函數(shù),在每一次調(diào)用split()函數(shù)將數(shù)據(jù)分割為兩部分或者多部分后,將分割后的數(shù)據(jù)存放于字符串數(shù)組中。上述實施例對彈幕消息按照自定義格式進行了組織之后,在需要用到彈幕消息中的具體數(shù)據(jù)時,需要對彈幕消息進行解析。本實施例中通過多次調(diào)用函數(shù)就能完整地將數(shù)據(jù)解析出來,執(zhí)行效率非??欤加玫南到y(tǒng)資源非常少,而對通用的json格式的數(shù)據(jù)的解析過程中會有很多對象的生成,對象是非常占有系統(tǒng)資源的,而采用本發(fā)明的解析方法,整個過程中不涉及到任何對象,全部都是對字符串進行的操作,解析的效率會更高。下面以一個具體的例子來描述本實施例的彈幕消息的解析方法,解析過程分為以下幾個步驟:(1)首先調(diào)用字符串中的string[]data=split(“,”)函數(shù)來將字符串按照”,”的方式來進行分割,將字符串分割成2部分,其一是type部分,其二是msg部分。split函數(shù)將返回一個切割好的字符串數(shù)組,這個字符串數(shù)組中第0個元素data[0]是type中的內(nèi)容,第1個元素data[1]是msg中的內(nèi)容。(2)對于data[0]中的數(shù)據(jù)再次調(diào)用string[]typemsg=data[0].split(“:”),將data[0]中的數(shù)據(jù)再次分割,那么typemsg[0]中存放的是type,typemsg[1]中存放的是101,也就是彈幕消息數(shù)據(jù)類型標識。(3)對于msg中的內(nèi)容首先是通過調(diào)用string[]data1=smsg[1].split(“:”),那么data1[1]中的內(nèi)容就是具體的msg的數(shù)據(jù)了。(4)再使用string[]realmsgdata=data1[1].split(“/”)函數(shù)調(diào)用,使用”/”來對數(shù)據(jù)進行分割得到每一個子數(shù)據(jù)塊realmsgdata。(5)再對字數(shù)據(jù)塊realmsgdata中的數(shù)據(jù)依次調(diào)用split(“@=”)來對數(shù)據(jù)再次分割得到真正需要的數(shù)據(jù)。通過上述方法能夠完整地將彈幕消息解析出來,接下來對本實施例提供的解析方法與通用的json格式數(shù)據(jù)的解析方法進行對比分析,json格式數(shù)據(jù)的解析過程為主要包括以下步驟:假設(shè)json格式的數(shù)據(jù)為:{type:101,msg={type="chatmsg",rid="591839",ct="1",uid="46387962",nn=“意識的愛”,txt="看下裝備",cid="123456",ic="abcdefg",level="4",el=""}}。(1)首先將上述字符串origindata(origindata代指上述字符串)數(shù)據(jù)進行格式化為jsonobject數(shù)據(jù)類型,具體為jsonobjectjsonobject=newjsonobject(origindata),這樣就將origindata數(shù)據(jù)格式化成了一個jsonobject對象。(2)提取jsonobject對象中的msg數(shù)據(jù),具體是通過調(diào)用jsonobjectmsgobject=origindata.getjsonobject(“msg”)的方法來實現(xiàn),這樣就獲取到msg中的具體數(shù)據(jù)了,并且將msg中的內(nèi)容賦值給msgobject對象。(3)接下來需要從msgobject對象中提取出具體的消息數(shù)據(jù),具體是通過調(diào)用stringtypemsg=msgobject.getstring("type")函數(shù)來獲取到type對應(yīng)的具體數(shù)據(jù);依次類推其它數(shù)據(jù)的獲取如下所示:stringtypemsg=msgobject.getstring("rid");stringtypemsg=msgobject.getstring("ct");stringtypemsg=msgobject.getstring("uid");stringtypemsg=msgobject.getstring("nn");stringtypemsg=msgobject.getstring("txt");stringtypemsg=msgobject.getstring("cid");stringtypemsg=msgobject.getstring("ic");stringtypemsg=msgobject.getstring("level")。通過上述操作后就能夠?qū)son中的所有數(shù)據(jù)完整的解析出來了,接下來來對比分析一下本實施例的解析方式和json格式數(shù)據(jù)的解析方式的差異性。由于json格式數(shù)據(jù)的解析需要依賴第三方的json解析庫來進行解析,并且解析過程中有眾多個對象的生成,對象是非常占用數(shù)據(jù)資源的,實例化一個對象和釋放一個對象會造成很大的系統(tǒng)開銷。通過對比發(fā)現(xiàn)json格式數(shù)據(jù)的解析過程需要多次實例化對象,而本實施例提供的解析方法僅僅多次調(diào)用split函數(shù)就能夠完整地將彈幕消息數(shù)據(jù)解析出來,整個解析過程沒有涉及到任何對象的概念,全部都是對字符串進行的操作,占用的系統(tǒng)資源非常少,效率相對比較高。參見圖3,為本發(fā)明一個實施例的彈幕消息處理系統(tǒng),包括獲取模塊31、第一連接模塊32和第二連接模塊33。其中,獲取模塊31,用于獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;第一連接模塊32,用于將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;第二連接模塊33,用于將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第二分隔符進行連接,形成彈幕消息。參見圖4,在本發(fā)明的另一個實施例中,彈幕消息處理系統(tǒng)中還包括格式轉(zhuǎn)換模塊34和第三連接模塊35。格式轉(zhuǎn)換模塊34,用于將每一個所述子數(shù)據(jù)塊轉(zhuǎn)換為“鍵值-屬性值”對的格式,其中,所述鍵值為所述子數(shù)據(jù)塊的唯一標識,所述屬性值為所述子數(shù)據(jù)塊的內(nèi)容,每一個所述“鍵值-屬性值”對之間通過所述第一分隔符進行連接;第三連接模塊35,用于將每一個鍵值與對應(yīng)屬性值之間通過第三分隔符進行連接。參見圖5,為本發(fā)明一個實施例的彈幕消息解析系統(tǒng),包括第一分割模塊51、第二分割模塊52、第三分割模塊53和存放模塊54。第一分割模塊51,用于將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容。第二分割模塊52,用于將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊。第三分割模塊53,用于按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。存放模塊54,用于將每一次分割出來的數(shù)據(jù)存放于字符串數(shù)組中。基于上述圖3或圖4對應(yīng)實施例所提供的彈幕消息處理系統(tǒng),本發(fā)明提供了一種彈幕消息處理系統(tǒng)的測試設(shè)備。參見圖6,該彈幕消息處理系統(tǒng)的測試設(shè)備包括:處理器(processor)601、存儲器(memory)602、通信接口(communicationsinterface)603和總線604;其中,處理器601、存儲器602及通信接口603分別通過總線604完成相互間的通信;通信接口603用于該測試設(shè)備與彈幕渲染裝置的通信設(shè)備之間的信息傳輸;處理器601用于調(diào)用存儲器602中的程序指令,以執(zhí)行上述圖1對應(yīng)實施例所提供的彈幕消息處理方法,例如包括:獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第二分隔符進行連接,形成彈幕消息。本發(fā)明公開一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括存儲在非暫態(tài)計算機可讀存儲介質(zhì)上的計算機程序,該計算機程序包括程序指令,當程序指令被計算機執(zhí)行時,計算機能夠執(zhí)行上述圖1對應(yīng)實施例所提供的彈幕消息處理方法,例如包括:獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第二分隔符進行連接,形成彈幕消息。本發(fā)明提供一種非暫態(tài)計算機可讀存儲介質(zhì),該非暫態(tài)計算機可讀存儲介質(zhì)存儲計算機指令,該計算機指令使計算機執(zhí)行上述圖1對應(yīng)實施例所提供的彈幕消息處理方法,例如包括:獲取彈幕消息的數(shù)據(jù)內(nèi)容以及所述數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,其中,所述彈幕消息的數(shù)據(jù)內(nèi)容包括多個子數(shù)據(jù)塊;將數(shù)據(jù)內(nèi)容的各個子數(shù)據(jù)塊通過第一分隔符進行連接組成整個數(shù)據(jù)內(nèi)容;將所述數(shù)據(jù)類型信息和所述整個數(shù)據(jù)內(nèi)容通過第二分隔符進行連接,形成彈幕消息?;谏鲜鰣D5對應(yīng)實施例所提供的彈幕消息解析系統(tǒng),本發(fā)明還提供了一種彈幕消息解析系統(tǒng)的測試設(shè)備。參見圖7,該彈幕消息解析系統(tǒng)的測試設(shè)備包括:處理器(processor)701、存儲器(memory)702、通信接口(communicationsinterface)703和總線704;其中,處理器701、存儲器702及通信接口703分別通過總線704完成相互間的通信;通信接口703用于該測試設(shè)備與彈幕渲染裝置的通信設(shè)備之間的信息傳輸;處理器701用于調(diào)用存儲器703中的程序指令,以執(zhí)行上述圖2對應(yīng)實施例所提供的彈幕消息解析方法,例如包括:將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容;將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊;按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。本發(fā)明還公開一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括存儲在非暫態(tài)計算機可讀存儲介質(zhì)上的計算機程序,該計算機程序包括程序指令,當程序指令被計算機執(zhí)行時,計算機能夠執(zhí)行上述圖2對應(yīng)實施例所提供的彈幕消息解析方法,例如包括:調(diào)用函數(shù)將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容;調(diào)用相同的函數(shù),將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊;再次調(diào)用相同的函數(shù)按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。本發(fā)明還提供一種非暫態(tài)計算機可讀存儲介質(zhì),該非暫態(tài)計算機可讀存儲介質(zhì)存儲計算機指令,該計算機指令使計算機執(zhí)行上述圖2對應(yīng)實施例所提供的彈幕消息解析方法,例如包括:調(diào)用函數(shù)將彈幕消息按照第二分隔符分割為兩部分,其中,第一部分為彈幕消息的數(shù)據(jù)內(nèi)容的數(shù)據(jù)類型信息,第二部分為彈幕消息的數(shù)據(jù)內(nèi)容;調(diào)用相同的函數(shù),將所述彈幕消息的數(shù)據(jù)內(nèi)容按照第一分隔符分割為多個子數(shù)據(jù)塊;再次調(diào)用相同的函數(shù)按照第三分隔符對每一個子數(shù)據(jù)塊分割得到鍵值和屬性值,并輸出每一個子數(shù)據(jù)塊中的屬性值。本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所描述的彈幕渲染裝置的測試設(shè)備等實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。本發(fā)明提供的一種彈幕消息處理方法、解析方法及系統(tǒng),通過不同的分隔符將彈幕消息的各部分數(shù)據(jù)連接在一起,與通用的json格式相比,相同的數(shù)據(jù)所占用的內(nèi)存容量更小,更有更高的壓縮比,能夠滿足彈幕消息數(shù)據(jù)的高并發(fā)的要求;在對彈幕消息解析的過程中,通過多次調(diào)用函數(shù)就能完整地將數(shù)據(jù)解析出來,執(zhí)行效率非??欤加玫南到y(tǒng)資源非常少,而對通用的json格式的數(shù)據(jù)的解析過程中會有很多對象的生成,對象是非常占有系統(tǒng)資源的,而采用本發(fā)明的解析方法,整個過程中不涉及到任何對象,全部都是對字符串進行的操作,解析的效率會更高。最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁12