專利名稱:呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法及呈現(xiàn)服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IPTV (基于IP協(xié)議的電視廣播服務(wù),Internet ProtocolTelevision) 領(lǐng)域,尤其涉及一種應(yīng)用于IPTV系統(tǒng)的呈現(xiàn)服務(wù)器(PresenceServer)數(shù)據(jù)操作方法及呈現(xiàn)服務(wù)器。
背景技術(shù):
IPTV即交互式網(wǎng)絡(luò)電視,是一種利用寬帶有線電視網(wǎng),集互聯(lián)網(wǎng)、多媒體和通訊等多種技術(shù)于一體,用于向家庭用戶提供包括數(shù)字電視在內(nèi)的多種交互式服務(wù)的嶄新技術(shù)。 呈現(xiàn)服務(wù)器是IPTV系統(tǒng)中用于即時(shí)通訊業(yè)務(wù)中存放用戶當(dāng)前狀態(tài)和發(fā)布用戶狀態(tài)的服務(wù)器,其核心功能是根據(jù)訂閱者與被訂閱者間的訂閱關(guān)系向?qū)?yīng)的訂閱者發(fā)送被訂閱者的會(huì)話狀態(tài)信息;所述訂閱者根據(jù)接收到的被訂閱者的會(huì)話狀態(tài)信息了解被訂閱者。在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題目前,呈現(xiàn)服務(wù)器都是以傳統(tǒng)磁盤為數(shù)據(jù)主載體進(jìn)行數(shù)據(jù)的存儲(chǔ)和傳輸?shù)模捎趥鹘y(tǒng)磁盤的空間以及呈現(xiàn)服務(wù)器的運(yùn)行速度有限,導(dǎo)致呈現(xiàn)服務(wù)器在數(shù)據(jù)存儲(chǔ)時(shí)不夠高效和靈活。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法及呈現(xiàn)服務(wù)器,能夠提高呈現(xiàn)服務(wù)器在數(shù)據(jù)存儲(chǔ)時(shí)的高效性和靈活性。為此,本發(fā)明實(shí)施例采用如下技術(shù)方案—種呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法,包括呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的緩存區(qū)中的元數(shù)據(jù)區(qū),根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合;當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),所述呈現(xiàn)服務(wù)器通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。一種呈現(xiàn)服務(wù)器,包括訂閱模塊,用于根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的緩存區(qū)中的元數(shù)據(jù)區(qū),根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合;發(fā)布模塊,用于當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。本發(fā)明實(shí)施例提供的呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法及呈現(xiàn)服務(wù)器,呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息生成元數(shù)據(jù)及索引數(shù)據(jù),將所述元數(shù)據(jù)寫入緩存區(qū)中的元數(shù)據(jù)區(qū),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合,當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),所述呈現(xiàn)服務(wù)器通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。 與現(xiàn)有技術(shù)相比,呈現(xiàn)服務(wù)器通過元數(shù)據(jù)和索引數(shù)據(jù)兩層數(shù)據(jù)結(jié)構(gòu)在緩存中形成高效的數(shù)據(jù)緩存層,可以根據(jù)用戶數(shù)據(jù)的不同屬性使用索引集合快速定位到元數(shù)據(jù),從而能夠提高呈現(xiàn)服務(wù)器在數(shù)據(jù)存儲(chǔ)時(shí)的高效性和靈活性。
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1為本發(fā)明實(shí)施例一提供的呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法流程圖;圖2為本發(fā)明實(shí)施例二提供的呈現(xiàn)服務(wù)器結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例三提供的元數(shù)據(jù)與索引數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為使本發(fā)明技術(shù)方案的優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說明。如前所述,現(xiàn)有技術(shù)中的呈現(xiàn)服務(wù)器是基于傳統(tǒng)磁盤為業(yè)務(wù)數(shù)據(jù)主載體,由于磁盤空間有限,且由于運(yùn)行速度的限制,使得難以達(dá)到呈現(xiàn)服務(wù)器的實(shí)時(shí)性和可靠性要求。實(shí)施例一本實(shí)施例提供一種呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法,如圖1所示,所述方法包括101 呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的緩存區(qū)中的元數(shù)據(jù)區(qū),根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集
I=I O102:當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),所述呈現(xiàn)服務(wù)器通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。從而,通過元數(shù)據(jù)和索引數(shù)據(jù)兩層數(shù)據(jù)結(jié)構(gòu)在緩存中形成高效的數(shù)據(jù)緩存層,用于呈現(xiàn)服務(wù)器進(jìn)行高效數(shù)據(jù)存儲(chǔ)和訪問。進(jìn)一步的,所述方法還可以包括
103 當(dāng)所述呈現(xiàn)服務(wù)器處于空閑狀態(tài)時(shí),所述呈現(xiàn)服務(wù)器進(jìn)行全量數(shù)據(jù)備份,以便將所述緩存區(qū)中的所有元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的磁盤中。104:在相鄰兩次全量數(shù)據(jù)備份的中間時(shí)段內(nèi),所述呈現(xiàn)服務(wù)器進(jìn)行增量數(shù)據(jù)備份,以便將所述中間時(shí)段內(nèi)的操作日志寫入所述呈現(xiàn)服務(wù)器的磁盤中,其中,所述操作日志記錄所述呈現(xiàn)服務(wù)器向所述緩存區(qū)中寫入數(shù)據(jù)的操作。從而,在不停止呈現(xiàn)服務(wù)器業(yè)務(wù)的前提下,可以將數(shù)據(jù)緩存區(qū)中的數(shù)據(jù)全量備份到磁盤中;在相鄰兩次全量備份的間隔期內(nèi),可以將操作日志作為增量備份數(shù)據(jù)寫入磁盤。進(jìn)一步的,所述方法還可以包括105:當(dāng)所述緩存區(qū)中的數(shù)據(jù)丟失時(shí),所述呈現(xiàn)服務(wù)器將所述磁盤中的元數(shù)據(jù)寫入所述緩存區(qū)中的元數(shù)據(jù)區(qū)。106 所述呈現(xiàn)服務(wù)器根據(jù)寫入所述元數(shù)據(jù)區(qū)的元數(shù)據(jù)重建索引數(shù)據(jù)。從而,當(dāng)呈現(xiàn)服務(wù)器重啟后,可以將緩存區(qū)中的數(shù)據(jù)恢復(fù)到上一次全量備份時(shí)的狀態(tài)。進(jìn)一步的,所述方法還可以包括107 所述呈現(xiàn)服務(wù)器執(zhí)行所述中間時(shí)段內(nèi)的操作日志記錄的操作,以便將所述緩存區(qū)中的數(shù)據(jù)恢復(fù)到數(shù)據(jù)丟失前的狀態(tài)。由此,當(dāng)呈現(xiàn)服務(wù)器重啟后,可以將緩存區(qū)中的數(shù)據(jù)恢復(fù)到數(shù)據(jù)丟失前的狀態(tài)。本發(fā)明實(shí)施例提供的呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法,呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息生成元數(shù)據(jù)及索引數(shù)據(jù),將所述元數(shù)據(jù)寫入緩存區(qū)中的元數(shù)據(jù)區(qū),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合, 當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),所述呈現(xiàn)服務(wù)器通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。與現(xiàn)有技術(shù)相比, 呈現(xiàn)服務(wù)器通過元數(shù)據(jù)和索引數(shù)據(jù)兩層數(shù)據(jù)結(jié)構(gòu)在緩存中形成高效的數(shù)據(jù)緩存層,可以根據(jù)用戶數(shù)據(jù)的不同屬性使用索引集合快速定位到元數(shù)據(jù),從而能夠提高呈現(xiàn)服務(wù)器在數(shù)據(jù)存儲(chǔ)時(shí)的高效性和靈活性;此外,通過全量數(shù)據(jù)備份,可以將元數(shù)據(jù)備份到磁盤中,通過增量數(shù)據(jù)備份,可以將相鄰兩次全量數(shù)據(jù)備份期間的操作日志備份到磁盤中,以便當(dāng)呈現(xiàn)服務(wù)器重啟后,可以將緩存區(qū)中的數(shù)據(jù)恢復(fù)到上一次全量備份時(shí)的狀態(tài),從而可以提高數(shù)據(jù)的備份效率。實(shí)施例二本實(shí)施例提供一種呈現(xiàn)服務(wù)器,如圖2所示,所述呈現(xiàn)服務(wù)器包括訂閱模塊21,用于根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的緩存區(qū)23中的元數(shù)據(jù)區(qū)231,根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)23中的索引數(shù)據(jù)區(qū)232,其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合;發(fā)布模塊22,用于當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。進(jìn)一步的,所述呈現(xiàn)服務(wù)器還可以包括
備份恢復(fù)模塊對(duì),用于當(dāng)所述呈現(xiàn)服務(wù)器處于空閑狀態(tài)時(shí),進(jìn)行全量數(shù)據(jù)備份,以便將所述緩存區(qū)23中的所有元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的磁盤25中。具體地,所述備份恢復(fù)模塊M進(jìn)行全量數(shù)據(jù)備份時(shí),將所述緩存區(qū)23中的所有元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的磁盤25的全量元數(shù)據(jù)區(qū)251。進(jìn)一步的,所述備份恢復(fù)模塊M,還用于在相鄰兩次全量數(shù)據(jù)備份的中間時(shí)段內(nèi), 進(jìn)行增量數(shù)據(jù)備份,以便將所述中間時(shí)段內(nèi)的操作日志寫入所述呈現(xiàn)服務(wù)器的磁盤25中, 其中,所述操作日志記錄所述呈現(xiàn)服務(wù)器向所述緩存區(qū)23中寫入數(shù)據(jù)的操作。具體地,所述備份恢復(fù)模塊M進(jìn)行增量數(shù)據(jù)備份時(shí),將所述中間時(shí)段內(nèi)的操作日志寫入所述呈現(xiàn)服務(wù)器的磁盤25的增量操作日志區(qū)252。進(jìn)一步的,所述備份恢復(fù)模塊M,還用于當(dāng)所述緩存區(qū)23中的數(shù)據(jù)丟失時(shí),將所述磁盤25中的元數(shù)據(jù)寫入所述緩存區(qū)23中的元數(shù)據(jù)區(qū)231,并根據(jù)寫入所述元數(shù)據(jù)區(qū)231 的元數(shù)據(jù)重建索引數(shù)據(jù)。進(jìn)一步的,所述備份恢復(fù)模塊M,還用于執(zhí)行所述中間時(shí)段內(nèi)的操作日志記錄的操作,以便將所述緩存區(qū)23中的數(shù)據(jù)恢復(fù)到數(shù)據(jù)丟失前的狀態(tài)。本發(fā)明實(shí)施例提供的呈現(xiàn)服務(wù)器,根據(jù)用戶訂閱信息生成元數(shù)據(jù)及索引數(shù)據(jù),將所述元數(shù)據(jù)寫入緩存區(qū)中的元數(shù)據(jù)區(qū),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū), 所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合,當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。與現(xiàn)有技術(shù)相比,呈現(xiàn)服務(wù)器通過元數(shù)據(jù)和索引數(shù)據(jù)兩層數(shù)據(jù)結(jié)構(gòu)在緩存中形成高效的數(shù)據(jù)緩存層,可以根據(jù)用戶數(shù)據(jù)的不同屬性使用索引集合快速定位到元數(shù)據(jù),從而能夠提高呈現(xiàn)服務(wù)器在數(shù)據(jù)存儲(chǔ)時(shí)的高效性和靈活性;此外,通過全量數(shù)據(jù)備份,可以將元數(shù)據(jù)備份到磁盤中,通過增量數(shù)據(jù)備份,可以將相鄰兩次全量數(shù)據(jù)備份期間的操作日志備份到磁盤中,以便當(dāng)呈現(xiàn)服務(wù)器重啟后,可以將緩存區(qū)中的數(shù)據(jù)恢復(fù)到上一次全量備份時(shí)的狀態(tài),從而可以提高數(shù)據(jù)的備份效率。實(shí)施例三本實(shí)施例提供一種呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法,在本實(shí)施例中,以A用戶要訂閱B用戶的狀態(tài)變化為例進(jìn)行說明。參見圖2,為本發(fā)明呈現(xiàn)服務(wù)器的結(jié)構(gòu)示意圖。本實(shí)施例提供的呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法具體包括以下流程1、用戶信息登記流程為了呈現(xiàn)服務(wù)器可以快速獲取用戶信息,呈現(xiàn)服務(wù)器將用戶信息保存在高速緩存區(qū)23內(nèi)。這部分的數(shù)據(jù)操作過程如下訂閱模塊21會(huì)將用戶信息寫入緩存區(qū)23的元數(shù)據(jù)區(qū)231形成元數(shù)據(jù)單元,然后根據(jù)新生成的元數(shù)據(jù)單元生成對(duì)應(yīng)的多個(gè)索引集合,每個(gè)索引集合包括多個(gè)索引數(shù)據(jù)單元,所述索引集合保存在索引數(shù)據(jù)區(qū)232。例如,用戶信息可以包括用戶名、性別、年齡、職業(yè)、家庭、個(gè)人喜好等用戶基本信息及關(guān)聯(lián)的特性信息;為了分別根據(jù)不同的用戶特性都可以快速查找到用戶所有的信息,可以根據(jù)不同的用戶特性建立相應(yīng)索引,根據(jù)索引可以通過預(yù)設(shè)的索引算法快速找到元數(shù)據(jù)。2、訂閱流程一個(gè)用戶訂閱另一個(gè)用戶的狀態(tài)信息時(shí),例如A用戶訂閱了 B用戶的狀態(tài)變化,呈現(xiàn)服務(wù)器需要將這個(gè)訂閱行為記錄到呈現(xiàn)服務(wù)器中;這樣當(dāng)B用戶狀態(tài)變化時(shí),呈現(xiàn)服務(wù)器就會(huì)通知A用戶B的狀態(tài)發(fā)生了變化。這部分的數(shù)據(jù)操作過程如下訂閱模塊21會(huì)將訂閱規(guī)則信息寫入緩存區(qū)23的元數(shù)據(jù)區(qū)231形成元數(shù)據(jù),然后根據(jù)新生成的元數(shù)據(jù)單元生成對(duì)應(yīng)的多個(gè)索引數(shù)據(jù)單元。例如,A用戶想知道B用戶什么時(shí)間看CCTV5臺(tái)。訂閱模塊就會(huì)將“B用戶被A用戶訂閱,具體活動(dòng)內(nèi)容是看CCTV5臺(tái)”這個(gè)規(guī)則作為元數(shù)據(jù),同時(shí)分別形成以“B用戶”作為 “被訂閱者索引”,以“A用戶”作為其“訂閱者索引”。通過上述步驟1-2,完成了本發(fā)明呈現(xiàn)服務(wù)器的數(shù)據(jù)存儲(chǔ),其數(shù)據(jù)結(jié)構(gòu)請(qǐng)參見圖 3,其中,元數(shù)據(jù)集合包括多個(gè)元數(shù)據(jù)單元,索引集合I-N的各個(gè)集合包括多個(gè)索引數(shù)據(jù)單元,一個(gè)元數(shù)據(jù)單元對(duì)應(yīng)多個(gè)索引數(shù)據(jù)單元,這多個(gè)索引數(shù)據(jù)單元可來自不同的索引集合。3、信息發(fā)布流程當(dāng)被訂閱用戶⑶的狀態(tài)發(fā)生改變時(shí),呈現(xiàn)服務(wù)器會(huì)根據(jù)被訂閱用戶對(duì)應(yīng)的訂閱關(guān)系找到訂閱用戶(A)。這部分的數(shù)據(jù)操作過程如下當(dāng)呈現(xiàn)服務(wù)器接收到被訂閱用戶(B)狀態(tài)發(fā)生變化的消息時(shí),發(fā)布模塊22會(huì)先通過被訂閱用戶⑶的描述信息在緩存區(qū)的索引區(qū)找到被訂閱用戶⑶的相關(guān)用戶信息,然后通過索引區(qū)找到被訂閱用戶(B)相關(guān)的元數(shù)據(jù)。再根據(jù)被訂閱用戶(B)的元數(shù)據(jù)得到被訂閱用戶⑶的被訂閱規(guī)則,從而找到對(duì)應(yīng)的訂閱用戶㈧的相關(guān)信息,然后將被訂閱用戶 (B)的狀態(tài)變化發(fā)布給訂閱用戶(A)。繼續(xù)以“A用戶想知道B用戶什么時(shí)間看CCTV5臺(tái)”為例當(dāng)B用戶開始看CCTV5 臺(tái)時(shí),由于用戶行為發(fā)生變化就會(huì)觸發(fā),發(fā)布模塊22查找“用戶B”所附帶的規(guī)則;通過查找規(guī)則的“被訂閱者索引”確定為“用戶B”的規(guī)則,然后由發(fā)布模塊22解釋和執(zhí)行規(guī)則元數(shù)據(jù)中語(yǔ)義,并向A用戶發(fā)送“B正在看CCTV5臺(tái)”的最新狀態(tài)信息。4、備份流程由于被訂閱用戶數(shù)據(jù)都保存在高速緩存區(qū)23中,因此保護(hù)數(shù)據(jù)的安全性對(duì)呈現(xiàn)服務(wù)器的安全性至關(guān)重要。本發(fā)明通過磁盤備份的方式保護(hù)呈現(xiàn)服務(wù)器的數(shù)據(jù)安全,對(duì)于數(shù)據(jù)量大的呈現(xiàn)服務(wù)器,備份時(shí)間的長(zhǎng)短關(guān)系到數(shù)據(jù)備份的成功率和可靠性,因此本發(fā)明采用了全量數(shù)據(jù)備份與增量數(shù)據(jù)備份相結(jié)合的方式進(jìn)行數(shù)據(jù)保護(hù)。這部分的數(shù)據(jù)操作過程如下全量數(shù)據(jù)備份將高速緩存區(qū)23中的所有數(shù)據(jù)保存到磁盤25中,需要較長(zhǎng)的運(yùn)行時(shí)間。本發(fā)明在呈現(xiàn)服務(wù)器比較空閑的時(shí)候進(jìn)行全量數(shù)據(jù)備份,備份恢復(fù)模塊M將緩存區(qū)中的元數(shù)據(jù)全部備份到磁盤25中,而不將索引數(shù)據(jù)進(jìn)行備份。增量數(shù)據(jù)備份在相鄰兩次全量備份的中間時(shí)間段內(nèi),備份恢復(fù)模塊M多次將操作日志寫入磁盤25中。
5、恢復(fù)流程當(dāng)呈現(xiàn)服務(wù)器由于宕機(jī)或認(rèn)為停機(jī)的狀況造成緩存區(qū)數(shù)據(jù)丟失時(shí),呈現(xiàn)服務(wù)器需要將已經(jīng)備份的數(shù)據(jù)恢復(fù)到高速緩存中,然后啟動(dòng)呈現(xiàn)服務(wù)器對(duì)用戶進(jìn)行服務(wù)。這部分的數(shù)據(jù)操作過程如下備份恢復(fù)模塊M將磁盤25中全量元數(shù)據(jù)區(qū)251的元數(shù)據(jù)恢復(fù)到緩存區(qū)23的元數(shù)據(jù)區(qū)231,然后根據(jù)緩存區(qū)21的元數(shù)據(jù)重建索引,接著執(zhí)行磁盤25中的增量操作日志區(qū) 252的操作日志,使呈現(xiàn)服務(wù)器中的數(shù)據(jù)恢復(fù)到上次運(yùn)行的狀態(tài)。本發(fā)明實(shí)施例提供的呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法具有以下優(yōu)點(diǎn)(1)提高了呈現(xiàn)服務(wù)器的訪問性能和業(yè)務(wù)動(dòng)態(tài)擴(kuò)展性通過在呈現(xiàn)服務(wù)器的緩存區(qū)內(nèi)分別使用多個(gè)索引數(shù)據(jù)和單個(gè)元數(shù)據(jù)的兩層數(shù)據(jù)結(jié)構(gòu)保存用戶數(shù)據(jù),提高了呈現(xiàn)服務(wù)器根據(jù)用戶不同的特性訪問到用戶信息的總性能。根據(jù)用戶數(shù)據(jù)的不同屬性可以分別使用緩存區(qū)中的不同索引快速定位到數(shù)據(jù)。當(dāng)有一個(gè)新的業(yè)務(wù)需要根據(jù)用戶數(shù)據(jù)的其他屬性快速定位到用戶數(shù)據(jù)時(shí),本發(fā)明可以在不進(jìn)行數(shù)據(jù)升級(jí)的情況下根據(jù)用戶屬性建立新的索引。(2)數(shù)據(jù)備份不中斷正常的業(yè)務(wù)由于元數(shù)據(jù)之間沒有關(guān)聯(lián)關(guān)系,在呈現(xiàn)服務(wù)器比較空閑時(shí),備份恢復(fù)模塊將緩存區(qū)中的元數(shù)據(jù)全部備份到磁盤中,可以實(shí)現(xiàn)不中斷業(yè)務(wù)而進(jìn)行數(shù)據(jù)全量備份的功能。具體的過程如下一種情況備份過程中備份恢復(fù)模塊已經(jīng)備份了緩存區(qū)中其中一部分元數(shù)據(jù),而還沒有來得及備份的元數(shù)據(jù)發(fā)生了數(shù)據(jù)變化,這時(shí)備份恢復(fù)模塊繼續(xù)進(jìn)行備份,從而可以保證磁盤中的數(shù)據(jù)與緩存區(qū)中的數(shù)據(jù)是一致的;另一種情況當(dāng)備份過程中備份恢復(fù)模塊已經(jīng)備份的緩存區(qū)中的元數(shù)據(jù)發(fā)生變化時(shí),備份恢復(fù)模塊會(huì)通過業(yè)務(wù)操作日志記錄數(shù)據(jù)的變化,而備份恢復(fù)模塊可以繼續(xù)對(duì)沒有備份的部分進(jìn)行備份,從而可以保證磁盤中的數(shù)據(jù)加上業(yè)務(wù)操作日志與緩存區(qū)中的數(shù)據(jù)是一致的。因此這種方式使得呈現(xiàn)服務(wù)器在全量數(shù)據(jù)備份時(shí),不需要因?yàn)楸Wo(hù)數(shù)據(jù)的一致性而停止寫數(shù)據(jù)的業(yè)務(wù)。(3)提高了備份效率由于備份業(yè)務(wù)操作日志的對(duì)呈現(xiàn)服務(wù)器資源消耗少、耗時(shí)短,因此在耗時(shí)比較長(zhǎng)的相鄰兩次全量備份的中間時(shí)段內(nèi),通過對(duì)業(yè)務(wù)操作日志的增量備份,來提高備份的效率, 降低備份異常帶來的數(shù)據(jù)丟失概率,從而可以防止備份時(shí)間過長(zhǎng)而在備份過程中因?yàn)殄礄C(jī)等意外因素引起的備份異常,降低終端的數(shù)據(jù)丟失概率。本發(fā)明實(shí)施例提供的呈現(xiàn)服務(wù)器可以實(shí)現(xiàn)上述提供的方法實(shí)施例,具體功能實(shí)現(xiàn)請(qǐng)參見方法實(shí)施例中的說明,在此不再贅述。本發(fā)明實(shí)施例提供的呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法及呈現(xiàn)服務(wù)器可以適用根據(jù)用戶訂閱信息進(jìn)行數(shù)據(jù)操作,但不僅限于此。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法,其特征在于,包括呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入緩存區(qū)中的元數(shù)據(jù)區(qū), 根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合;當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),所述呈現(xiàn)服務(wù)器通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括當(dāng)所述呈現(xiàn)服務(wù)器處于空閑狀態(tài)時(shí),所述呈現(xiàn)服務(wù)器進(jìn)行全量數(shù)據(jù)備份,以便將所述緩存區(qū)中的所有元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的磁盤中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括在相鄰兩次全量數(shù)據(jù)備份的中間時(shí)段內(nèi),所述呈現(xiàn)服務(wù)器進(jìn)行增量數(shù)據(jù)備份,以便將所述中間時(shí)段內(nèi)的操作日志寫入所述呈現(xiàn)服務(wù)器的磁盤中,其中,所述操作日志記錄所述呈現(xiàn)服務(wù)器向所述緩存區(qū)中寫入數(shù)據(jù)的操作。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括當(dāng)所述緩存區(qū)中的數(shù)據(jù)丟失時(shí),所述呈現(xiàn)服務(wù)器將所述磁盤中的元數(shù)據(jù)寫入所述緩存區(qū)中的元數(shù)據(jù)區(qū);所述呈現(xiàn)服務(wù)器根據(jù)寫入所述元數(shù)據(jù)區(qū)的元數(shù)據(jù)重建索引數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括所述呈現(xiàn)服務(wù)器執(zhí)行所述中間時(shí)段內(nèi)的操作日志記錄的操作,以便將所述緩存區(qū)中的數(shù)據(jù)恢復(fù)到數(shù)據(jù)丟失前的狀態(tài)。
6.一種呈現(xiàn)服務(wù)器,其特征在于,包括訂閱模塊,用于根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的緩存區(qū)中的元數(shù)據(jù)區(qū),根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合;發(fā)布模塊,用于當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。
7.根據(jù)權(quán)利要求6所述的呈現(xiàn)服務(wù)器,其特征在于,還包括備份恢復(fù)模塊,用于當(dāng)所述呈現(xiàn)服務(wù)器處于空閑狀態(tài)時(shí),進(jìn)行全量數(shù)據(jù)備份,以便將所述緩存區(qū)中的所有元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的磁盤中。
8.根據(jù)權(quán)利要求7所述的呈現(xiàn)服務(wù)器,其特征在于所述備份恢復(fù)模塊,還用于在相鄰兩次全量數(shù)據(jù)備份的中間時(shí)段內(nèi),進(jìn)行增量數(shù)據(jù)備份,以便將所述中間時(shí)段內(nèi)的操作日志寫入所述呈現(xiàn)服務(wù)器的磁盤中,其中,所述操作日志記錄所述呈現(xiàn)服務(wù)器向所述緩存區(qū)中寫入數(shù)據(jù)的操作。
9.根據(jù)權(quán)利要求8所述的呈現(xiàn)服務(wù)器,其特征在于所述備份恢復(fù)模塊,還用于當(dāng)所述緩存區(qū)中的數(shù)據(jù)丟失時(shí),將所述磁盤中的元數(shù)據(jù)寫入所述緩存區(qū)中的元數(shù)據(jù)區(qū),并根據(jù)寫入所述元數(shù)據(jù)區(qū)的元數(shù)據(jù)重建索引數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的呈現(xiàn)服務(wù)器,其特征在于所述備份恢復(fù)模塊,還用于執(zhí)行所述中間時(shí)段內(nèi)的操作日志記錄的操作,以便將所述緩存區(qū)中的數(shù)據(jù)恢復(fù)到數(shù)據(jù)丟失前的狀態(tài)。
全文摘要
本發(fā)明實(shí)施例公開了一種呈現(xiàn)服務(wù)器數(shù)據(jù)操作方法及呈現(xiàn)服務(wù)器,所述方法包括呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息生成元數(shù)據(jù),將所述元數(shù)據(jù)寫入所述呈現(xiàn)服務(wù)器的緩存區(qū)中的元數(shù)據(jù)區(qū),根據(jù)所述元數(shù)據(jù)生成索引數(shù)據(jù),將所述索引數(shù)據(jù)寫入所述緩存區(qū)中的索引數(shù)據(jù)區(qū),其中,所述元數(shù)據(jù)包括訂閱規(guī)則,所述索引數(shù)據(jù)包括至少一個(gè)索引集合;當(dāng)被訂閱用戶的狀態(tài)發(fā)生變化時(shí),呈現(xiàn)服務(wù)器通過所述被訂閱用戶的信息確定索引集合,根據(jù)所述索引集合查找與所述被訂閱用戶相對(duì)應(yīng)的元數(shù)據(jù),根據(jù)所述元數(shù)據(jù)中的訂閱規(guī)則確定訂閱用戶,將所述被訂閱用戶的當(dāng)前狀態(tài)發(fā)布給所述訂閱用戶。本發(fā)明適用于呈現(xiàn)服務(wù)器根據(jù)用戶訂閱信息進(jìn)行數(shù)據(jù)操作。
文檔編號(hào)H04N21/231GK102164302SQ20111005870
公開日2011年8月24日 申請(qǐng)日期2011年3月11日 優(yōu)先權(quán)日2011年3月11日
發(fā)明者周丹弟 申請(qǐng)人:青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司