專(zhuān)利名稱(chēng):生成微博圖片的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及即時(shí)通信技術(shù),尤其涉及一種生成微博圖片的方法及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)的發(fā)展,通過(guò)點(diǎn)對(duì)點(diǎn)的技術(shù)來(lái)實(shí)現(xiàn)互聯(lián)網(wǎng)上的即時(shí)溝通的即時(shí)通信(IM, Instant Messaging)軟件工具應(yīng)用越來(lái)越普遍,IM已經(jīng)被大多數(shù)的用戶(hù)所接受并成為微博用戶(hù)日常生活以及工作中必不可少的一部分,用戶(hù)通過(guò)頂軟件,可以實(shí)現(xiàn)與朋友、同事以及同學(xué)之間的交流與溝通。微型博客(微博)作為IM工具應(yīng)用的一部分,是一個(gè)基于微博用戶(hù)關(guān)系的信息分享、傳播以及獲取平臺(tái),微博用戶(hù)可以通過(guò)個(gè)人PC、移動(dòng)電話(huà)等終端設(shè)備,通過(guò)140個(gè)字符左右的一句話(huà)(微博消息)或者圖片(微博圖片)來(lái)表達(dá)自己情感,與關(guān)注自己的微博用戶(hù)分享,從而實(shí)現(xiàn)個(gè)人信息即時(shí)分享以及微博用戶(hù)間互動(dòng),是目前發(fā)展最為迅猛的互聯(lián)網(wǎng)業(yè)務(wù)。但是,現(xiàn)有的微博消息,由于具有140個(gè)字符的文字限制,越來(lái)越無(wú)法滿(mǎn)足用戶(hù)交流的需求,例如,用戶(hù)如果需要發(fā)布一些較長(zhǎng)內(nèi)容的文本,由于系統(tǒng)的種種限制,無(wú)法通過(guò)修改140個(gè)字符的限制來(lái)滿(mǎn)足用戶(hù)的需求,只能拆分為多條微博消息進(jìn)行發(fā)布,使得操作較為繁瑣。為了滿(mǎn)足用戶(hù)的個(gè)性化需求,現(xiàn)有技術(shù)提出了將用戶(hù)編輯的長(zhǎng)文生成圖片的方式進(jìn)行發(fā)布的方法,即通過(guò)微博系統(tǒng),將用戶(hù)編輯的長(zhǎng)文轉(zhuǎn)換為圖片,從而以微博圖片的方式發(fā)布,這樣,可以避免對(duì)編輯的長(zhǎng)文進(jìn)行拆分的操作。下面對(duì)通過(guò)微博系統(tǒng),將長(zhǎng)文轉(zhuǎn)換為微博圖片的方法進(jìn)行說(shuō)明。現(xiàn)有技術(shù)中,用戶(hù)在編輯完長(zhǎng)文本后,上傳至微博系統(tǒng),微博系統(tǒng)一般使用GD庫(kù)或MagickWand庫(kù)等進(jìn)行文本文字、圖片的渲染,如果長(zhǎng)文本內(nèi)容中存在圖片,則進(jìn)行圖片合并,并計(jì)算出圖片高度,進(jìn)行后續(xù)文字渲染,最終生成微博圖片進(jìn)行發(fā)布。具體為微博系統(tǒng)中的微博圖片服務(wù)器預(yù)先創(chuàng)建用于微博圖片的畫(huà)布,例如,預(yù)先創(chuàng)建一張大小為800*800、顏色為白色的圖片做為畫(huà)布,然后,將用戶(hù)編輯的長(zhǎng)文本中的內(nèi)容轉(zhuǎn)換為二進(jìn)制流,并以二進(jìn)制流的方式將長(zhǎng)文本中的內(nèi)容寫(xiě)入畫(huà)布,其中,如果二進(jìn)制流長(zhǎng)文本中的內(nèi)容為文字字符,以默認(rèn)字體或者指定字體,將該二進(jìn)制流的文字字符寫(xiě)入至預(yù)先創(chuàng)建的白色畫(huà)布中,如果二進(jìn)制流長(zhǎng)文本中的內(nèi)容中存在圖片標(biāo)簽時(shí),則使用⑶庫(kù)或者ImageMagick庫(kù)等圖片處理類(lèi)庫(kù),調(diào)用imagecopymerge函數(shù),將圖片進(jìn)行拷貝(copy)并合并到白色畫(huà)布中,然后,將畫(huà)布作為微博圖片進(jìn)行發(fā)布。其中,GD庫(kù)是php處理圖形的擴(kuò)展庫(kù),提供了一系列用來(lái)處理圖片的應(yīng)用程序接口(API),使用⑶庫(kù)可以處理或生成圖片;ImageMagick庫(kù)是一套功能強(qiáng)大、穩(wěn)定而且免費(fèi)的工具集和開(kāi)發(fā)包,可以用來(lái)讀、寫(xiě)和處理多種基本格式的圖片文件,利用ImageMagick庫(kù),可以根據(jù)web應(yīng)用程序的需要?jiǎng)討B(tài)生成圖片。關(guān)于GD庫(kù)、ImageMagick庫(kù)以及imagecopymerge函數(shù)的詳細(xì)描述,具體可參見(jiàn)相關(guān)技術(shù)文獻(xiàn),在此不再贅述。由上述可見(jiàn),現(xiàn)有生成微博圖片的方法,存在如下缺點(diǎn)
在文字、圖片渲染過(guò)程中,內(nèi)存資源消耗嚴(yán)重,因而,無(wú)法實(shí)現(xiàn)高并發(fā)下的處理,使得處理圖片所需的時(shí)間較長(zhǎng),造成用戶(hù)體驗(yàn)較差;進(jìn)一步地,該生成微博圖片的方法沒(méi)有考慮長(zhǎng)文本內(nèi)容的樣式,因而,無(wú)法控制長(zhǎng)文本內(nèi)容中的樣式部分,例如,不能控制畫(huà)布中的字體大小、顏色、字體樣式等,例如,對(duì)于用戶(hù)在第一行設(shè)置采用紅色字體、第二行采用黑色字體的編輯樣式,由于采用二進(jìn)制流,使得在畫(huà)布中寫(xiě)入的內(nèi)容中,第一行與第二行均采用默認(rèn)字體,不能滿(mǎn)足用戶(hù)個(gè)性化的需求,生成微博圖片的效率較低;而且,當(dāng)長(zhǎng)文本內(nèi)容中存在圖片時(shí),無(wú)法控制圖片所在的行高和行寬,例如,由于文字與圖片均采用二進(jìn)制流方式寫(xiě)入,如果一行的文字中包含圖片,則可能使得畫(huà)布中寫(xiě)入的圖片超出畫(huà)布預(yù)先設(shè)置的寬度,同時(shí),由于文字中包含的圖片高度一般大于文字高度,因而,在寫(xiě)入畫(huà)布中下一行二進(jìn)制流時(shí),導(dǎo)致寫(xiě)入的文字排版混亂。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種生成微博圖片的方法,降低系統(tǒng)資源消耗、提升生成微博圖片的效率。
本發(fā)明的實(shí)施例還提供一種生成微博圖片的系統(tǒng),降低系統(tǒng)資源消耗、提升生成微博圖片的效率。為達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種生成微博圖片的方法,包括接收用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。其中,在接收用戶(hù)編輯的長(zhǎng)文本之前,進(jìn)一步包括監(jiān)測(cè)用戶(hù)是否觸發(fā)界面窗口中的“發(fā)布”控件,如果觸發(fā),確認(rèn)待發(fā)布的長(zhǎng)文本編輯完畢,向博文服務(wù)器輸出。其中,所述樣式信息包括層疊樣式表單信息、超文本標(biāo)記語(yǔ)言代碼信息以及腳本語(yǔ)H 目息。其中,所述向博文服務(wù)器輸出之后,在接收到用戶(hù)編輯的長(zhǎng)文本之前,進(jìn)一步地,包括博文管理服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器的負(fù)載,將接收的長(zhǎng)文本向負(fù)載最輕的博文服務(wù)器輸出。其中,所述在接收到用戶(hù)編輯的長(zhǎng)文本后,解析長(zhǎng)文本之前,進(jìn)一步包括博文服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本,生成博文并存儲(chǔ);向消息隊(duì)列服務(wù)器發(fā)送通知消息,消息隊(duì)列服務(wù)器轉(zhuǎn)發(fā)通知消息至微博圖片服務(wù)器;接收微博圖片服務(wù)器發(fā)送的訪問(wèn)請(qǐng)求,將存儲(chǔ)的博文統(tǒng)一資源定位符信息發(fā)送至微博圖片服務(wù)器;微博圖片服務(wù)器加載統(tǒng)一資源定位符信息,獲取存儲(chǔ)的博文或長(zhǎng)文本以進(jìn)行解析。其中,所述消息隊(duì)列服務(wù)器轉(zhuǎn)發(fā)通知消息至微博圖片服務(wù)器之前,進(jìn)一步包括
微博圖片管理服務(wù)器接收消息隊(duì)列服務(wù)器轉(zhuǎn)發(fā)的通知消息,查詢(xún)管理的各微博圖片服務(wù)器的負(fù)載,將接收的通知消息向負(fù)載最輕的微博圖片服務(wù)器輸出。其中,進(jìn)一步包括預(yù)先在微博圖片服務(wù)器上安裝多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)以單進(jìn)程加載統(tǒng)一資源定位符信息,獲取存儲(chǔ)的博文或長(zhǎng)文本以進(jìn)行解析。其中,進(jìn)一步包括確定加載內(nèi)容信息以及樣式信息失敗,更新存儲(chǔ)的加載不成功次數(shù),如果更新的加載不成功次數(shù)小于預(yù)先設(shè)置的加載次數(shù)閾值,向消息隊(duì)列服務(wù)器發(fā)送通知消息;否則,結(jié)束生成微博圖片的流程。其中,進(jìn)一步包括存儲(chǔ)加載不成功日志信息。其中,進(jìn)一步包括所述加載不成功次數(shù)信息以及加載不成功日志信息存儲(chǔ)在微博圖片管理服務(wù)器中。 一種生成微博圖片的系統(tǒng),該系統(tǒng)包括博文服務(wù)器以及微博圖片服務(wù)器,其中,博文服務(wù)器,用于接收用戶(hù)編輯的長(zhǎng)文本,進(jìn)行存儲(chǔ);微博圖片服務(wù)器,用于從博文服務(wù)器中獲取用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。所述博文服務(wù)器進(jìn)一步用于根據(jù)接收的長(zhǎng)文本,生成博文并存儲(chǔ)。進(jìn)一步包括博文管理服務(wù)器,用于接收用戶(hù)編輯的長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器的負(fù)載,將接收的長(zhǎng)文本向負(fù)載最輕的博文服務(wù)器輸出。進(jìn)一步包括消息隊(duì)列服務(wù)器,用于接收博文服務(wù)器在存儲(chǔ)后發(fā)送的通知消息,以通知微博圖片服務(wù)器。進(jìn)一步包括微博圖片管理服務(wù)器,用于接收消息隊(duì)列服務(wù)器輸出的通知消息,查詢(xún)管理的各微博圖片服務(wù)器的負(fù)載,將接收的通知消息向負(fù)載最輕的微博圖片服務(wù)器輸出。所述微博圖片服務(wù)器通過(guò)消息隊(duì)列服務(wù)器獲取通知消息后,從博文服務(wù)器獲取博文或長(zhǎng)文本生成長(zhǎng)微博圖片的過(guò)程中,進(jìn)一步用于在判斷生成微博圖片失敗后,更新存儲(chǔ)的加載不成功次數(shù),如果更新的加載不成功次數(shù)小于預(yù)先設(shè)置的加載次數(shù)閾值,向消息隊(duì)列服務(wù)器發(fā)送通知消息;否則,結(jié)束生成微博圖片的流程。所述微博圖片服務(wù)器或博文服務(wù)器上安裝多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)以單進(jìn)程進(jìn)行圖片渲染處理或生成博文處理。由上述技術(shù)方案可見(jiàn),本發(fā)明實(shí)施例提供的一種生成微博圖片的方法及系統(tǒng),接收用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。這樣,通過(guò)解析獲取內(nèi)容信息以及樣式信息,根據(jù)內(nèi)容信息以及樣式信息進(jìn)行加載,內(nèi)存資源消耗小,生成的微博圖片能夠滿(mǎn)足用戶(hù)個(gè)性化的需求,提升了生成微博圖片的效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,以下將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹。顯而易見(jiàn)地,以下描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員而言,還可以根據(jù)這些附圖所示實(shí)施例得到其它的實(shí)施例及其附圖。圖I為本發(fā)明實(shí)施例生成微博圖片的方法流程示意圖。圖2為本發(fā)明實(shí)施例生成微博圖片的系統(tǒng)結(jié)構(gòu)示意圖。圖3為本發(fā)明實(shí)施例生成微博圖片的方法具體流程示意圖。
具體實(shí)施方式
·以下將結(jié)合附圖對(duì)本發(fā)明各實(shí)施例的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所得到的所有其它實(shí)施例,都屬于本發(fā)明所保護(hù)的范圍?,F(xiàn)有生成微博圖片的方法,在文字、圖片渲染過(guò)程中,由于使用⑶庫(kù)或MagickWand庫(kù),內(nèi)存資源消耗嚴(yán)重,且沒(méi)有考慮長(zhǎng)文本內(nèi)容的樣式,不能滿(mǎn)足用戶(hù)個(gè)性化的需求,生成微博圖片的效率較低。本發(fā)明實(shí)施例中,考慮現(xiàn)有在瀏覽網(wǎng)頁(yè)時(shí),通過(guò)網(wǎng)頁(yè)瀏覽器向網(wǎng)頁(yè)服務(wù)器發(fā)送網(wǎng)頁(yè)瀏覽請(qǐng)求,網(wǎng)頁(yè)服務(wù)器將網(wǎng)頁(yè)信息輸出至網(wǎng)頁(yè)瀏覽器,網(wǎng)頁(yè)瀏覽器對(duì)網(wǎng)頁(yè)信息進(jìn)行內(nèi)容與樣式解析,通過(guò)網(wǎng)頁(yè)瀏覽器對(duì)解析得到的信息進(jìn)行渲染,從而生成與網(wǎng)頁(yè)服務(wù)器中網(wǎng)頁(yè)頁(yè)面相一致的網(wǎng)頁(yè),以供用戶(hù)瀏覽。因而,本發(fā)明考慮采用開(kāi)源的瀏覽器引擎(webkit)內(nèi)核在微博圖片服務(wù)器下進(jìn)行虛擬渲染,用于模擬瀏覽器渲染形成網(wǎng)頁(yè)的流程,而該虛擬渲染的方式,內(nèi)存資源消耗小,實(shí)現(xiàn)對(duì)用戶(hù)編輯的長(zhǎng)文本進(jìn)行內(nèi)容和樣式轉(zhuǎn)換,生成微博圖片進(jìn)行發(fā)布,從而滿(mǎn)足用戶(hù)個(gè)性化的需求,提升生成微博圖片的效率。具體來(lái)說(shuō),通過(guò)對(duì)用戶(hù)編輯的長(zhǎng)文本內(nèi)容中的樣式、超文本標(biāo)記語(yǔ)言(HTML,HyperTextMarkup Language)代碼、腳本語(yǔ)言(JS, JavaScript)進(jìn)行解析,獲取長(zhǎng)文本內(nèi)容中的圖片、字體格式、大小、顏色等信息,依據(jù)解析獲取的信息,最終生成和瀏覽器中解析后內(nèi)容一致的微博圖片。進(jìn)一步地,為了提高微博圖片的生成效率,使用分布式的微博圖片服務(wù)器集群部署方式,可以靈活、自由地對(duì)微博圖片服務(wù)器進(jìn)行添加、刪除操作,從而根據(jù)用戶(hù)的使用情況以及并發(fā)數(shù),對(duì)服務(wù)器集群進(jìn)行控制,保證服務(wù)的性能以及可靠性。而且,本發(fā)明實(shí)施例采用異步隊(duì)列處理方式,用戶(hù)編輯完待發(fā)布的長(zhǎng)文本后,微博圖片服務(wù)器使用異步隊(duì)列處理方式生成微博圖片,這樣,可以保證系統(tǒng)的穩(wěn)定性,提高用戶(hù)體驗(yàn)。此外,本發(fā)明實(shí)施例還可以對(duì)微博圖片服務(wù)器中預(yù)先的字體進(jìn)行優(yōu)化,例如,進(jìn)行了文字去鋸齒、加粗字體替換、中英文兼容等多種優(yōu)化,以提高生成的微博圖片的清晰與美觀度。圖I為本發(fā)明實(shí)施例生成微博圖片的方法流程示意圖。采用分布式異步方式,使用webkit瀏覽器內(nèi)核進(jìn)行圖片渲染的方法,參見(jiàn)圖1,該流程包括步驟101,接收用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;本步驟中,用戶(hù)啟動(dòng)微博,并在展示的微博文本框中輸入并編輯待發(fā)布的文本信息,無(wú)需考慮文本信息中包含的字符數(shù),在確認(rèn)待發(fā)布的文本信息(長(zhǎng)文本)編輯完畢后,監(jiān)視微博文本內(nèi)容的發(fā)布操作指令(如“發(fā)布”,“確定”等等)。在接收用戶(hù)編輯的長(zhǎng)文本之前,進(jìn)一步包括監(jiān)測(cè)用戶(hù)是否觸發(fā)界面窗口中的“發(fā)布”控件,如果觸發(fā),確認(rèn)待發(fā)布的長(zhǎng)文本編 輯完畢,向博文服務(wù)器輸出。本步驟中,在編輯完待發(fā)布的長(zhǎng)文本后,用戶(hù)通過(guò)點(diǎn)擊文本框下方的“發(fā)布”控件,客戶(hù)端監(jiān)測(cè)到用戶(hù)點(diǎn)擊“發(fā)布”控件的操作后,確認(rèn)待發(fā)布的長(zhǎng)文本編輯完畢,將編輯完的長(zhǎng)文本輸出至博文服務(wù)器。當(dāng)然,實(shí)際應(yīng)用中,編輯的長(zhǎng)文本信息中可以包含圖表信息。內(nèi)容信息可以是文字的二進(jìn)制流信息,樣式信息包括層疊樣式表單(CSS,Cascading Style Sheet) /[目息、超文本標(biāo)記語(yǔ)目代碼/[目息以及腳本語(yǔ)目/[目息等。實(shí)際應(yīng)用中,博文服務(wù)器也可以將用戶(hù)編輯的長(zhǎng)文本寫(xiě)入到預(yù)先設(shè)置的博文模板中,生成博文,然后再對(duì)博文進(jìn)行解析。這樣,可以根據(jù)用戶(hù)個(gè)性化的需求,加載不同類(lèi)型的博文模板,以使后續(xù)生成的微博圖片具有更個(gè)性化的樣式。即在接收到用戶(hù)編輯的長(zhǎng)文本后,解析長(zhǎng)文本之前,進(jìn)一步包括All,博文服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本,生成博文并存儲(chǔ);本步驟中,博文服務(wù)器生成博文的流程為現(xiàn)有技術(shù),具體可參見(jiàn)相關(guān)技術(shù)文獻(xiàn),在此不再贅述。實(shí)際應(yīng)用中,對(duì)于微博系統(tǒng),發(fā)送的微博數(shù)據(jù)量是非常多的,因而,一般的微博系統(tǒng),包含有多個(gè)博文服務(wù)器,分別用于處理接收的長(zhǎng)文本。本發(fā)明實(shí)施例中,在博文服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本之前,還可以進(jìn)一步地,包括博文管理服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器的負(fù)載,將接收的長(zhǎng)文本向負(fù)載最輕的博文服務(wù)器輸出。A12,向消息隊(duì)列服務(wù)器發(fā)送通知消息,以使消息隊(duì)列服務(wù)器通知微博圖片服務(wù)器;本步驟中,通知消息中攜帶有存儲(chǔ)博文的博文服務(wù)器信息。消息隊(duì)列服務(wù)器維護(hù)一個(gè)消息隊(duì)列,根據(jù)接收的通知消息順序,按照先入先出的順序向相應(yīng)的微博圖片服務(wù)器轉(zhuǎn)發(fā)通知消息。如前所述,對(duì)于微博系統(tǒng),包含有多個(gè)微博圖片服務(wù)器,分別用于將長(zhǎng)文本或博文處理為微博圖片。本發(fā)明實(shí)施例中,在向消息隊(duì)列服務(wù)器發(fā)送通知消息之后,進(jìn)一步地,包括微博圖片管理服務(wù)器接收通知消息,查詢(xún)管理的各微博圖片服務(wù)器的負(fù)載,將接收的通知消息向負(fù)載最輕的微博圖片服務(wù)器輸出。
A13,接收微博圖片服務(wù)器發(fā)送的訪問(wèn)請(qǐng)求,將存儲(chǔ)的博文統(tǒng)一資源定位符(URL,Uniform Resource Locator)信息發(fā)送至微博圖片服務(wù)器;本步驟中,微博圖片服務(wù)器接收到通知消息后,根據(jù)通知消息中攜帶的博文服務(wù)器信息,通過(guò)HTTP協(xié)議向博文服務(wù)器發(fā)送訪問(wèn)請(qǐng)求,博文服務(wù)器將存儲(chǔ)博文的URL信息返回給微博圖片服務(wù)器。A14,微博圖片服務(wù)器加載統(tǒng)一資源定位符信息,獲取存儲(chǔ)的博文或長(zhǎng)文本以進(jìn)行解析。本步驟中,微博圖片服務(wù)器根據(jù)統(tǒng)一資源定位符信息,獲取博文服務(wù)器存儲(chǔ)的博文或長(zhǎng)文本。實(shí)際應(yīng)用中,還可以進(jìn)一步包括預(yù)先在微博圖片服務(wù)器上安裝多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)以單進(jìn)程加載統(tǒng)一資源定 位符信息,獲取存儲(chǔ)的博文或長(zhǎng)文本以進(jìn)行解析。步驟102,加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。本步驟中,使用webkit瀏覽器內(nèi)核在服務(wù)器下進(jìn)行虛擬渲染,對(duì)內(nèi)容信息和樣式信息分別進(jìn)行加載,從而在webkit瀏覽器內(nèi)核中,虛擬(模擬)渲染出目標(biāo)頁(yè)面,該目標(biāo)頁(yè)面為預(yù)先用樣式控制的、與博文或編輯的長(zhǎng)文本頁(yè)面相一致的頁(yè)面。關(guān)于加載生成目標(biāo)頁(yè)面的流程,與網(wǎng)頁(yè)瀏覽器從網(wǎng)頁(yè)服務(wù)器獲取網(wǎng)頁(yè)信息,解析網(wǎng)頁(yè)信息,加載解析的網(wǎng)頁(yè)信息,生成呈現(xiàn)在網(wǎng)頁(yè)瀏覽器的網(wǎng)頁(yè)相同,具體可參見(jiàn)相關(guān)技術(shù)文獻(xiàn),在此不再贅述。在生成目標(biāo)頁(yè)面后,對(duì)該目標(biāo)頁(yè)面進(jìn)行保存,截取成為微博圖片,就可以進(jìn)行發(fā)布了。本發(fā)明實(shí)施例中,webkit瀏覽器內(nèi)核在微博圖片服務(wù)器上進(jìn)行虛擬渲染時(shí),可以考慮并發(fā)的解決方案,圖片渲染過(guò)程中,為了保證圖片渲染的正確性,在當(dāng)前圖片渲染過(guò)程中執(zhí)行加鎖解鎖的過(guò)程,可以防止并發(fā)程序?qū)е聢D片渲染異常。實(shí)際應(yīng)用中,對(duì)于加載內(nèi)容信息以及樣式信息不成功的情形,還可以進(jìn)一步包括更新存儲(chǔ)的加載不成功次數(shù),如果更新的加載不成功次數(shù)小于預(yù)先設(shè)置的加載次數(shù)閾值,向消息隊(duì)列服務(wù)器發(fā)送通知消息;否則,結(jié)束生成微博圖片的流程。本步驟中,如果圖片渲染異?;虺瑫r(shí),則放棄處理,將存儲(chǔ)的加載不成功次數(shù)加1,如果該次數(shù)還小于預(yù)先設(shè)置的加載次數(shù)閾值,將通知消息發(fā)送至消息隊(duì)列服務(wù)器中的消息隊(duì)列末尾,等待下次由該微博圖片服務(wù)器繼續(xù)處理,或由其它微博圖片服務(wù)器處理,這樣,可以降低微博圖片服務(wù)器臨時(shí)異?;蜷L(zhǎng)時(shí)間異常對(duì)生成微博圖片的影響,提高系統(tǒng)的可靠性、提升生成微博圖片的效率。當(dāng)然,對(duì)于加載內(nèi)容信息以及樣式信息不成功的情形,也可以進(jìn)一步包括存儲(chǔ)加載不成功日志信息。本步驟中,在加載失敗時(shí),記錄投遞操作失敗的日志信息,以方便管理員查詢(xún)。較佳地,在微博圖片管理服務(wù)器中存儲(chǔ)加載不成功次數(shù)信息以及加載不成功日志信息。圖2為本發(fā)明實(shí)施例生成微博圖片的系統(tǒng)結(jié)構(gòu)示意圖。參見(jiàn)圖2,該系統(tǒng)包括博文服務(wù)器以及微博圖片服務(wù)器,其中,博文服務(wù)器,用于接收用戶(hù)編輯的長(zhǎng)文本,進(jìn)行存儲(chǔ);本發(fā)明實(shí)施例中,博文服務(wù)器還可以進(jìn)一步用于根據(jù)接收的長(zhǎng)文本,生成博文并存儲(chǔ)。這樣,用戶(hù)編輯完長(zhǎng)文本,發(fā)送至博文服務(wù)器,博文服務(wù)器根據(jù)長(zhǎng)文本生成一篇博客博文,并向用戶(hù)返回成功信息,用戶(hù)無(wú)需等待。也就是說(shuō),用戶(hù)發(fā)布微博時(shí),通過(guò)編輯長(zhǎng)文本,服務(wù)器端首先會(huì)生成一篇普通的博客文章(博文),例如,如新浪博客的普通博文,生成普通博文后,服務(wù)器端再將博文轉(zhuǎn)換為圖片并發(fā)送長(zhǎng)微博(以微博圖片方式發(fā)送)。進(jìn)一步地,博文服務(wù)器在接收到長(zhǎng)文本后,還可以進(jìn)行相關(guān)安全性檢測(cè),在通過(guò)安全性檢測(cè)后,根據(jù)長(zhǎng)文本生成博客博文,然后將生成的博文寫(xiě)入數(shù)據(jù)庫(kù)。微博圖片服務(wù)器,用于從博文服務(wù)器中獲取用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;
加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。較佳地,該系統(tǒng)還可以進(jìn)一步包括消息隊(duì)列服務(wù)器,用于接收博文服務(wù)器在存儲(chǔ)后發(fā)送的通知消息,以通知微博圖片服務(wù)器。本發(fā)明實(shí)施例中,通知消息中攜帶有存儲(chǔ)博文的博文服務(wù)器信息。消息隊(duì)列服務(wù)器維護(hù)一個(gè)消息隊(duì)列,根據(jù)接收的通知消息順序,按照先入先出的順序向相應(yīng)的微博圖片服務(wù)器轉(zhuǎn)發(fā)通知消息。這樣,博文服務(wù)器在生成博文并存儲(chǔ)后,通過(guò)往消息隊(duì)列服務(wù)器中寫(xiě)入一條通知消息,以使微博圖片服務(wù)器依序進(jìn)行處理。本發(fā)明實(shí)施例中,針對(duì)消息隊(duì)列,還可以通過(guò)在消息隊(duì)列服務(wù)器中預(yù)先設(shè)置程序進(jìn)行相關(guān)監(jiān)控,確保消息隊(duì)列與分布式集群(微博圖片服務(wù)器)的穩(wěn)定運(yùn)行,如果檢測(cè)到消息隊(duì)列中發(fā)生通知消息堵塞,及時(shí)進(jìn)行報(bào)警,以便技術(shù)人員啟用緊急處理方案。實(shí)際應(yīng)用中,由于系統(tǒng)中包含有多個(gè)博文服務(wù)器,因而,還可以設(shè)置一個(gè)博文管理服務(wù)器,用于對(duì)多個(gè)博文服務(wù)器進(jìn)行集中管理。博文管理服務(wù)器,用于接收用戶(hù)編輯的長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器的負(fù)載,將接收的長(zhǎng)文本向負(fù)載最輕的博文服務(wù)器輸出。與博文管理服務(wù)器管理博文服務(wù)器,以使各博文服務(wù)器負(fù)載趨于均衡相類(lèi)似,也可以在系統(tǒng)中設(shè)置微博圖片管理服務(wù)器,用于對(duì)系統(tǒng)中的各微博圖片服務(wù)器的負(fù)載進(jìn)行均衡管理。這樣,通過(guò)分布式的微博圖片服務(wù)器集群或博文服務(wù)器集群,可以針對(duì)用戶(hù)的使用數(shù),并發(fā)數(shù)靈活地進(jìn)行服務(wù)器的增減,保證了系統(tǒng)的可靠性。微博圖片管理服務(wù)器,用于接收消息隊(duì)列服務(wù)器輸出的通知消息,查詢(xún)管理的各微博圖片服務(wù)器的負(fù)載,將接收的通知消息向負(fù)載最輕的微博圖片服務(wù)器輸出。本發(fā)明實(shí)施例中,微博圖片管理服務(wù)器使用Haproxy,對(duì)微博圖片服務(wù)器集群執(zhí)行負(fù)載均衡,從消息隊(duì)列中獲取通知消息,將用戶(hù)的請(qǐng)求(通知消息)分配到微博圖片服務(wù)器集群中的某臺(tái)微博圖片服務(wù)器上,博文服務(wù)器獲取到微博圖片服務(wù)器通過(guò)http發(fā)送的post請(qǐng)求,將用戶(hù)數(shù)據(jù)(博文或長(zhǎng)文本)輸出至微博圖片服務(wù)器。其中,HAPiOXy可以提供高可用性、負(fù)載均衡以及基于TCP和HTTP應(yīng)用的代理,支持虛擬主機(jī),HAProxy實(shí)現(xiàn)了事件驅(qū)動(dòng)、單一進(jìn)程模型,該模型可以支持非常大的并發(fā)連接數(shù)。
分布式的微博圖片服務(wù)器集群從消息隊(duì)列服務(wù)器的消息隊(duì)列中讀取通知消息,進(jìn)行異步處理,使用webkit瀏覽器內(nèi)核在Iinux服務(wù)器(微博圖片服務(wù)器)下進(jìn)行虛擬渲染,進(jìn)行樣式加載以及JS代碼執(zhí)行,并進(jìn)行圖片截取。其中,使用webkit瀏覽器內(nèi)核在Iinux服務(wù)器下進(jìn)行虛擬渲染的過(guò)程,為一個(gè)模擬瀏覽器渲染的過(guò)程,微博圖片服務(wù)器需要加載URL地址,首先通過(guò)http協(xié)議向目標(biāo)服務(wù)器(博文服務(wù)器)發(fā)送訪問(wèn)請(qǐng)求,然后對(duì)訪問(wèn)的目標(biāo)服務(wù)器返回的數(shù)據(jù)進(jìn)行解析,解析出返回的數(shù)據(jù)中的層疊樣式表單(CSS,CascadingStyle Sheet)樣式和JS代碼,并對(duì)CSS樣式和JS分別進(jìn)行加載執(zhí)行,以在webkit瀏覽器內(nèi)核中虛擬渲染出使用預(yù)先樣式控制好的頁(yè)面,然后,對(duì)渲染出的目標(biāo)頁(yè)面進(jìn)行保存,并截取該目標(biāo)頁(yè)面,生成微博圖片,進(jìn)行發(fā)送微博操作。較佳地,微博圖片服務(wù)器通過(guò)消息隊(duì)列服務(wù)器獲取通知消息后,從博文服務(wù)器獲取博文或長(zhǎng)文本生成長(zhǎng)微博圖片的過(guò)程中,如果中途某個(gè)環(huán)節(jié)出現(xiàn)錯(cuò)誤,即生成微博圖片失敗,則可以將通知消息重新投入消息隊(duì)列,并進(jìn)行計(jì)數(shù),等待下次處理,如果同一條通知消息處理次數(shù)到達(dá)預(yù)先指定的次數(shù),生成微博圖片仍然失敗,則放棄處理,并記錄失敗日
O 進(jìn)一步地,本發(fā)明實(shí)施例在圖片渲染的基礎(chǔ)上,還可以對(duì)圖片文字進(jìn)行一系列的優(yōu)化操作,例如,宋體無(wú)鋸齒操作、中英文兼容方案、加粗樣式字體替換等。較佳地,為了節(jié)省微博圖片服務(wù)器以及博文服務(wù)器的資源開(kāi)銷(xiāo)及控制服務(wù)成本,本發(fā)明實(shí)施例中,可以通過(guò)在一臺(tái)微博圖片服務(wù)器或博文服務(wù)器的實(shí)體機(jī)上安裝多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)以單進(jìn)程進(jìn)行圖片渲染處理或生成博文處理。由上述可見(jiàn),本發(fā)明實(shí)施例生成微博圖片的方法及系統(tǒng),通過(guò)使用webkit瀏覽器內(nèi)核,對(duì)博文或長(zhǎng)文本進(jìn)行解析,獲取內(nèi)容信息以及樣式信息,并根據(jù)獲取的內(nèi)容信息以及樣式信息進(jìn)行加載、渲染,不僅內(nèi)存資源消耗小、生成微博圖片的效率高,還能通過(guò)樣式加載及渲染,將用戶(hù)個(gè)性化的樣式設(shè)計(jì)反映在生成的微博圖片中。其技術(shù)優(yōu)點(diǎn)具體有首先,使用webkit瀏覽器內(nèi)核虛擬渲染的方式,能夠解析內(nèi)容中HTML及樣式,能夠執(zhí)行JS腳本,生成質(zhì)量更高的微博圖片;其次,通過(guò)webkit瀏覽器內(nèi)核虛擬渲染,加載CSS樣式、JS等操作,能夠考慮字體的效果,還能夠?qū)ο到y(tǒng)字體進(jìn)行優(yōu)化,如宋體的去鋸齒、加粗字體替換、中英文兼容方案等,使生成的圖片文字更加美觀、清晰;然后,現(xiàn)有生成微博圖片時(shí),在處理字體時(shí)無(wú)法控制版面樣式,當(dāng)一行出現(xiàn)圖片時(shí)無(wú)法進(jìn)行有效處理,不能保證最后生成圖片的樣式,本方案能夠有效保證樣式;最后,傳統(tǒng)方式再使用GD等圖片處理類(lèi)庫(kù)時(shí)會(huì)消耗大量計(jì)算機(jī)內(nèi)存,效率極低,本方案使用分布式的服務(wù)器處理方式,能夠根據(jù)并發(fā)及使用情況靈活的進(jìn)行服務(wù)器增減,保證服務(wù)的穩(wěn)定性與可靠性,在處理效率上明顯優(yōu)于傳統(tǒng)方式;同時(shí),使用異步隊(duì)列的處理方式,能夠更好地處理高并發(fā),用戶(hù)操作完無(wú)需等待,即可進(jìn)行異步處理,能夠提高用戶(hù)體驗(yàn)O下面結(jié)合圖I和圖2,舉一具體實(shí)施例,對(duì)本發(fā)明生成微博圖片作進(jìn)一步的詳細(xì)說(shuō)明。圖3為本發(fā)明實(shí)施例生成微博圖片的方法具體流程示意圖。參見(jiàn)圖3,該流程包括
步驟301,用戶(hù)編輯長(zhǎng)文本,向博文管理服務(wù)器發(fā)送;步驟302,博文管理服務(wù)器接收長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器,將長(zhǎng)文本輸出至負(fù)載較輕的博文服務(wù)器;本步驟中,博文服務(wù)器與各博文服務(wù)器按照預(yù)先設(shè)置的周期進(jìn)行通信,獲取各在線的博文服務(wù)器負(fù)載狀態(tài)。步驟303,博文服務(wù)器接收長(zhǎng)文本,生成博文,存儲(chǔ)后向消息隊(duì)列服務(wù)器輸出通知消息;本步驟中,通知消息中攜帶有存儲(chǔ)博文的統(tǒng)一資源定位符信息。步驟304,消息隊(duì)列服務(wù)器接收通知消息,按照先入先出的策略,將通知消息轉(zhuǎn)發(fā)至微博圖片管理服務(wù)器;
本步驟中,消息隊(duì)列服務(wù)器中維護(hù)一個(gè)消息隊(duì)列。步驟305,微博圖片管理服務(wù)器接收通知消息,查詢(xún)管理的各微博圖片服務(wù)器,將通知消息輸出至負(fù)載較輕的微博圖片服務(wù)器;本步驟與步驟303相類(lèi)似,微博圖片服務(wù)器與各微博圖片服務(wù)器按照預(yù)先設(shè)置的周期進(jìn)行通信,獲取各在線的微博圖片服務(wù)器負(fù)載狀態(tài)。步驟306,微博圖片服務(wù)器接收通知消息,根據(jù)通知消息中攜帶的統(tǒng)一資源定位符信息,從博文服務(wù)器中獲取相應(yīng)的博文或長(zhǎng)文本;步驟307,解析獲取的博文或長(zhǎng)文本,根據(jù)解析得到的信息進(jìn)行虛擬渲染,進(jìn)行樣式加載以及JS代碼執(zhí)行;本步驟中,微博圖片服務(wù)器對(duì)獲取的數(shù)據(jù)進(jìn)行解析,解析出數(shù)據(jù)中的CSS樣式和JS代碼,并對(duì)CSS樣式和JS分別進(jìn)行加載執(zhí)行,以在webkit瀏覽器內(nèi)核中虛擬渲染出使用預(yù)先樣式控制好的頁(yè)面。步驟308,判斷虛擬渲染是否成功,如果是,執(zhí)行步驟309 ;否則,執(zhí)行步驟310 ;步驟309,截取渲染成功的頁(yè)面,生成微博圖片,進(jìn)行發(fā)送微博操作;本步驟中,在生成微博圖片后,進(jìn)行發(fā)送微博操作的流程與現(xiàn)有技術(shù)相同,具體可參見(jiàn)相關(guān)技術(shù)文獻(xiàn),在此不再贅述。步驟310,更新存儲(chǔ)的加載次數(shù);本步驟中,將微博圖片管理服務(wù)器中存儲(chǔ)的該數(shù)據(jù)對(duì)應(yīng)的加載次數(shù)執(zhí)行加I操作。步驟311,判斷更新的加載功次數(shù)是否小于預(yù)先設(shè)置的加載次數(shù)閾值,如果是,執(zhí)行步驟312 ;否則,執(zhí)行步驟313 ;步驟312,將通知消息發(fā)送至消息隊(duì)列服務(wù)器中的消息隊(duì)列末尾,返回執(zhí)行步驟305 ;步驟313,結(jié)束生成微博圖片的流程。顯然,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對(duì)本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種生成微博圖片的方法,該方法包括接收用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息; 加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。
2.根據(jù)權(quán)利要求I所述的方法,其中,在接收用戶(hù)編輯的長(zhǎng)文本之前,進(jìn)一步包括 監(jiān)測(cè)用戶(hù)是否觸發(fā)界面窗口中的“發(fā)布”控件,如果觸發(fā),確認(rèn)待發(fā)布的長(zhǎng)文本編輯完畢,向博文服務(wù)器輸出。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述樣式信息包括層疊樣式表單信息、超文本標(biāo)記語(yǔ)言代碼信息以及腳本語(yǔ)言信息。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述向博文服務(wù)器輸出之后,在接收到用戶(hù)編輯的長(zhǎng)文本之前,進(jìn)一步地,包括博文管理服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器的負(fù)載,將接收的長(zhǎng)文本向負(fù)載最輕的博文服務(wù)器輸出。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述在接收到用戶(hù)編輯的長(zhǎng)文本后,解析長(zhǎng)文本之前,進(jìn)一步包括博文服務(wù)器接收用戶(hù)編輯的長(zhǎng)文本,生成博文并存儲(chǔ);向消息隊(duì)列服務(wù)器發(fā)送通知消息,消息隊(duì)列服務(wù)器轉(zhuǎn)發(fā)通知消息至微博圖片服務(wù)器; 接收微博圖片服務(wù)器發(fā)送的訪問(wèn)請(qǐng)求,將存儲(chǔ)的博文統(tǒng)一資源定位符信息發(fā)送至微博圖片服務(wù)器;微博圖片服務(wù)器加載統(tǒng)一資源定位符信息,獲取存儲(chǔ)的博文或長(zhǎng)文本以進(jìn)行解析。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述消息隊(duì)列服務(wù)器轉(zhuǎn)發(fā)通知消息至微博圖片服務(wù)器之前,進(jìn)一步包括微博圖片管理服務(wù)器接收消息隊(duì)列服務(wù)器轉(zhuǎn)發(fā)的通知消息,查詢(xún)管理的各微博圖片服務(wù)器的負(fù)載,將接收的通知消息向負(fù)載最輕的微博圖片服務(wù)器輸出。
7.根據(jù)權(quán)利要求5或6所述的方法,其中,進(jìn)一步包括預(yù)先在微博圖片服務(wù)器上安裝多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)以單進(jìn)程加載統(tǒng)一資源定位符信息,獲取存儲(chǔ)的博文或長(zhǎng)文本以進(jìn)行解析。
8.根據(jù)權(quán)利要求I所述的方法,其中,進(jìn)一步包括確定加載內(nèi)容信息以及樣式信息失敗,更新存儲(chǔ)的加載不成功次數(shù),如果更新的加載不成功次數(shù)小于預(yù)先設(shè)置的加載次數(shù)閾值,向消息隊(duì)列服務(wù)器發(fā)送通知消息;否則,結(jié)束生成微博圖片的流程。
9.根據(jù)權(quán)利要求8所述的方法,其中,進(jìn)一步包括存儲(chǔ)加載不成功日志信息。
10.根據(jù)權(quán)利要求9所述的方法,其中,進(jìn)一步包括所述加載不成功次數(shù)信息以及加載不成功日志信息存儲(chǔ)在微博圖片管理服務(wù)器中。
11.一種生成微博圖片的系統(tǒng),其特征在于,該系統(tǒng)包括博文服務(wù)器以及微博圖片服務(wù)器,其中,博文服務(wù)器,用于接收用戶(hù)編輯的長(zhǎng)文本,進(jìn)行存儲(chǔ);微博圖片服務(wù)器,用于從博文服務(wù)器中獲取用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述博文服務(wù)器進(jìn)一步用于根據(jù)接收的長(zhǎng)文本,生成博文并存儲(chǔ)。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,進(jìn)一步包括博文管理服務(wù)器,用于接收用戶(hù)編輯的長(zhǎng)文本,查詢(xún)管理的各博文服務(wù)器的負(fù)載,將接收的長(zhǎng)文本向負(fù)載最輕的博文服務(wù)器輸出。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,進(jìn)一步包括消息隊(duì)列服務(wù)器,用于接收博文服務(wù)器在存儲(chǔ)后發(fā)送的通知消息,以通知微博圖片服務(wù)器。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,進(jìn)一步包括微博圖片管理服務(wù)器,用于接收消息隊(duì)列服務(wù)器輸出的通知消息,查詢(xún)管理的各微博圖片服務(wù)器的負(fù)載,將接收的通知消息向負(fù)載最輕的微博圖片服務(wù)器輸出。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述微博圖片服務(wù)器通過(guò)消息隊(duì)列服務(wù)器獲取通知消息后,從博文服務(wù)器獲取博文或長(zhǎng)文本生成長(zhǎng)微博圖片的過(guò)程中,進(jìn)一步用于在判斷生成微博圖片失敗后,更新存儲(chǔ)的加載不成功次數(shù),如果更新的加載不成功次數(shù)小于預(yù)先設(shè)置的加載次數(shù)閾值,向消息隊(duì)列服務(wù)器發(fā)送通知消息;否則,結(jié)束生成微博圖片的流程。
17.根據(jù)權(quán)利要求11至16任一項(xiàng)所述的系統(tǒng),其特征在于,所述微博圖片服務(wù)器或博文服務(wù)器上安裝多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)以單進(jìn)程進(jìn)行圖片渲染處理或生成博文處理。
全文摘要
本發(fā)明公開(kāi)了一種生成微博圖片的方法及系統(tǒng)。該方法包括接收用戶(hù)編輯的長(zhǎng)文本,解析長(zhǎng)文本,獲取長(zhǎng)文本中包含的內(nèi)容信息以及樣式信息;加載解析獲取的內(nèi)容信息以及樣式信息,生成目標(biāo)頁(yè)面,截取目標(biāo)頁(yè)面,生成微博圖片。應(yīng)用本發(fā)明,可以降低系統(tǒng)資源消耗、提升生成微博圖片的效率。
文檔編號(hào)G06F17/30GK102929912SQ20121033364
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年9月10日 優(yōu)先權(quán)日2012年9月10日
發(fā)明者王斌科 申請(qǐng)人:新浪網(wǎng)技術(shù)(中國(guó))有限公司