專利名稱:一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及彩信發(fā)送技術(shù)領(lǐng)域,尤其涉及一種為計算機程序提供與手機用戶之間進行手機彩信交互的一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng)。
背景技術(shù):
一條彩信通常由一個到多個彩信零件(比如組成一條彩信的圖片或文本或音頻等資源)構(gòu)成,在發(fā)送到電信運營商的彩信網(wǎng)關(guān)前,接口程序需要從磁盤讀取彩信的各個零件并按照通訊協(xié)議約定進行編碼,然后組裝成一個彩信成品(即已經(jīng)組裝好的彩信)后方可轉(zhuǎn)發(fā)給電信運營商的彩信網(wǎng)關(guān)。在一條彩信的組裝過程中,最大的消耗來自于對彩信零件的磁盤讀取及MME(Multipurpose Internet Mail Extensions多用途因特網(wǎng)郵件擴展)編碼?,F(xiàn)有的各種彩信組裝方法的主要缺點是在彩信組裝過程中對于相同彩信內(nèi)容沒有利用緩存或僅能對彩 信成品緩存,無法對彩信零件進行緩存,導(dǎo)致彩信組裝過程產(chǎn)生了不必要的重復(fù)磁盤讀寫及彩信內(nèi)容編碼消耗,影響了彩信組裝過程的效率,最終影響了彩信群發(fā)速度。在實際應(yīng)用中這樣的技術(shù)難以滿足海量彩信群發(fā)的業(yè)務(wù)支撐需求。有鑒于此,現(xiàn)有技術(shù)有待改進和提聞。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)的不足,本發(fā)明目的在于提供一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng)。旨在解決現(xiàn)有技術(shù)中彩信組裝過程中效率低下、影響群發(fā)速度的問題。本發(fā)明的技術(shù)方案如下
一種基于零件和整體緩存的海量彩信組裝方法,其中對于每一條彩信的組裝,包括以下步驟
51、輸入待發(fā)送彩信的所有零件名稱及其存放地址,等待進行彩信組裝;
52、判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則進行步驟S3 ;
53、標識所述彩信正在組裝;
54、依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中;
55、將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。優(yōu)選地,所述的基于零件和整體緩存的海量彩信組裝方法,其中,所述步驟S2之后,步驟S3之前還包括步驟S21、判斷有無相同彩信正在組裝,如有則放入緩沖區(qū)等待喚醒處理,如沒有相同彩信正在組裝,則進入步驟S3。優(yōu)選地,所述的基于零件和整體緩存的海量彩信組裝方法,其中,所述步驟S4中進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中具體包括541、從磁盤中讀取彩信零件;
542、按照行業(yè)通信協(xié)議對彩信零件進行編碼;
543、將新封裝好的彩信零件放到共享緩存中。優(yōu)選地,所述的基于零件和整體緩存的海量彩信組裝方法,其中,所述步驟S5中將彩信零件組裝成彩信成品之后,輸出彩信成品到待發(fā)送彩信區(qū)之前還包括
將彩信成品放入成品緩存區(qū),并解除所述彩信的組裝標識,然后喚醒緩沖區(qū)等待該彩信成品緩存的任務(wù)。一種基于零件和整體緩存的海量彩信組裝系統(tǒng),用于為計算機程序提供與手機用戶之間進行手機彩信交互的彩信組裝,其中,包括
輸入模塊,用于輸入待發(fā)送彩信的所有零件名稱及其存放地址;· 成品緩存模塊,用于判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則繼續(xù)進行后續(xù)的彩信組裝過程組裝標識模塊,用于標記或解除所述彩信的正在組裝標識;
零件緩存模塊,用于依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中;
組裝模塊,用于將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。有益效果
本申請的一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng),通過對彩信內(nèi)容的有效緩存復(fù)用實現(xiàn)彩信的高速組裝,能夠極大加快彩信發(fā)送的速度。經(jīng)實驗比對檢測在相同軟硬件環(huán)境下相對于常規(guī)的沒有使用緩存的彩信組裝方法,使用本發(fā)明提供的方式,對于一條成功進行彩信成品緩存復(fù)用的彩信,其整體發(fā)送速度可提升80%以上。相對于現(xiàn)有的部分能夠進行彩信成品緩存復(fù)用而無法進行彩信零件緩存復(fù)用的彩信組裝方法,使用本發(fā)明提供的方法,對于一條成功復(fù)用50%零件緩存的彩信,能夠提升其整體發(fā)送速度接近40%以上。本發(fā)明在彩信發(fā)送數(shù)量越多、發(fā)送對象越多的情況下,組裝效率提升的效果越明顯。
圖I為本申請的一種基于零件和整體緩存的海量彩信組裝方法的流程圖。圖2為本申請的一種基于零件和整體緩存的海量彩信組裝方法的實施例的流程圖。圖3為利用常規(guī)技術(shù)進行彩信組裝的示意圖。圖4為采用本發(fā)明的一種基于零件和整體緩存的海量彩信組裝方法進行彩信組裝的示意圖。圖5為本申請的一種基于零件和整體緩存的海量彩信組裝系統(tǒng)的結(jié)構(gòu)框圖。
具體實施例方式本發(fā)明提供一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參閱圖1,其為本申請的一種基于零件和整體緩存的海量彩信組裝方法的流程圖。如圖所示,所述基于零件和整體緩存的海量彩信組裝方法,其中對于每一條彩信的組裝,包括以下步驟
51、輸入待發(fā)送彩信的所有零件名稱及其存放地址,等待進行彩信組裝;
52、判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則進行步驟S3 ;
53、標識所述彩信正在組裝;
54、依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中;
55、將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。下面分別針對上述步驟進行具體描述。所述步驟SI為輸入待發(fā)送彩信的所有零件名稱及其存放地址,準備進行彩信組裝,此一步驟與現(xiàn)有技術(shù)的相同在發(fā)送到電信運營商的彩信網(wǎng)關(guān)前,接口程序需要先獲取組成一條彩信的所有零件名稱及其存放地址,以備后續(xù)組裝過程使用。所述彩信零件可以為組成一條彩信的圖片、文本或音頻等。。步驟S2為判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則進行步驟S3。這一步驟主要是進行彩信成品緩存的判斷,其基于彩信成品復(fù)用的原理當一條彩信群發(fā)給多個用戶時,會在發(fā)送給第一個用戶后對該條彩信進行唯一性標識,并存放到緩存區(qū)中,該條彩信發(fā)給后續(xù)用戶時可以直接通過唯一性標識從緩存區(qū)中讀取該彩信成品緩存來進行復(fù)用。步驟S3為標識所述彩信正在組裝,本發(fā)明采用多線程組裝方法同時組裝多條彩信,正在組裝的彩信會被設(shè)置一個標識,以避免多個線程同時組裝相同的彩信。
所述步驟S4是本發(fā)明的關(guān)鍵,其利用彩信零件復(fù)用原理,依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取已封裝好的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中。因為,一般彩信類業(yè)務(wù)支撐系統(tǒng)都會提供一個零件庫(或叫素材庫)給用戶,以便用戶編輯彩信時選擇庫中的一個或多個內(nèi)容來完整彩信內(nèi)容編輯。選自零件庫的每一個零件在平臺都有一個唯一性標識,當多條彩信間存在相同的零件時,就可以通過該唯一性標識讀取已經(jīng)緩存過的內(nèi)容,從而形成復(fù)用。最后,所述步驟S5將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū),完成彩信組裝任務(wù)。本發(fā)明的核心是充分復(fù)用曾經(jīng)處理過的內(nèi)容,避免重復(fù)消耗。本發(fā)明的基于零件和整體緩存的海量彩信組裝方法的實施例的流程如圖2所示。結(jié)合圖I而言,進一步地,在本實施例中,所述步驟S2之后,步驟S3之前還包括步驟S21、判斷有無相同彩信正在組裝,如有則放入緩沖區(qū)等待喚醒處理,,如沒有相同彩信正在組裝,則進入步驟S3。更進一步地,本實施例中,所述步驟S4中進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中具體包括
S41、從磁盤中讀取彩信零件;542、按照行業(yè)通信協(xié)議對彩信零件進行編碼;
543、將新封裝好的彩信零件放到共享緩存中。更進一步地,將彩信零件組裝成彩信成品之后,輸出彩信成品到待發(fā)送彩信區(qū)之前還可以包括將彩信成品放入成品緩存區(qū),并解除所述彩信的組裝標識,然后喚醒緩沖區(qū)等待該彩信的任務(wù)。下面通過具體的例子來說明本發(fā)明的基于零件和整體緩存的海量彩信組裝方法?,F(xiàn)假設(shè)有兩條彩信彩信A和彩信B,彩信A由零件I、零件2、零件3組成;彩信B由零件2、零件3、零件4組成;現(xiàn)依次將彩信A發(fā)送給2個用戶,彩信B發(fā)送給2個用戶,共發(fā)送4條彩信。使用常規(guī)的彩信組裝方法每條彩信每發(fā)給一個用戶都需要將彩信的所有零件進 行磁盤讀取及編碼,然后組裝,因此將兩條彩信分別發(fā)給2個用戶后,普通組裝方法因完全沒有進行緩存復(fù)用,共需要進行4次完整組裝(注完整組裝指組裝過程中對彩信所有的零件都需要進行磁盤讀取及編碼處理),如圖3所示。如果采用本申請?zhí)峁┑幕诹慵罢w緩存的海量彩信組裝方式則會極大的提高組裝效率因彩信A與彩信B包含了相同的零件2、零件3,所以彩信B在第一次發(fā)送時可以直接復(fù)用彩信A組裝時緩存下來的零件2、零件3。在彩信A、彩信B第一次發(fā)送后可以對組裝好的彩信成品進行緩存,然后在第二次發(fā)送時直接復(fù)用已緩存的成品。使用本申請?zhí)峁┑姆椒?,發(fā)送完4條彩信后,成功通過緩存對零件2、零件3、彩信A、彩信B進行了一次復(fù)用,提高整體組裝效率125%以上,如圖4所示。本發(fā)明提供的方法在發(fā)送的彩信數(shù)量越多、單條彩信發(fā)送的用戶越多,組裝效率提升越明顯。另外,本申請還提供了一種基于零件和整體緩存的海量彩信組裝系統(tǒng),用于為計算機程序提供與手機用戶之間進行手機彩信交互的彩信組裝,如圖5所示,其包括
輸入模塊110,用于輸入待發(fā)送彩信的所有零件名稱及其存放地址;
成品緩存模塊120,用于判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則繼續(xù)后續(xù)的彩信組裝過程;
彩信標識模塊130,用于標記或解除所述彩信的正在組裝標識;
零件緩存模塊140,用于依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中;
組裝模塊150,用于將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。因其原理都在上述基于零件和整體緩存的海量彩信組裝方法中進行了詳細介紹,這里就不再一一贅述了。綜上所述,本發(fā)明的一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng),其中,所述方法包括以下步驟輸入待發(fā)送彩信的所有零件名稱及其存放地址,等待進行彩信組裝;然后,判斷有無彩信成品緩存,如有則直接復(fù)用成品緩存,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則標識所述彩信正在組裝;然后,依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中;最后將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。其通過對彩信內(nèi)容的有效緩存實現(xiàn)彩信的高速組裝,能夠極大加快彩信發(fā)送的速度。經(jīng)實驗比對檢測在相同軟硬件環(huán)境下相對于常規(guī)的沒有使用緩存的彩信組裝方法,使用本發(fā)明提供的方式,對應(yīng)一條成功進行彩信成品復(fù)用的彩信,其整體發(fā)送速度可提升80%以上。相對于現(xiàn)有的部分能夠進行彩信成品緩存復(fù)用而無法進行彩信零件復(fù)用的彩信組裝方法,使用本發(fā)明提供的方法,對于一條成功復(fù)用50%零件緩存的彩信,能夠提升其整體發(fā)送速度接近40%以上。本發(fā)明在彩信發(fā)送數(shù)量越多、發(fā)送對象越多的情況下,組裝效率提升的效果越高。 應(yīng)當理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
權(quán)利要求
1.一種基于零件和整體緩存的海量彩信組裝方法,其特征在于,包括以下步驟 51、輸入待發(fā)送彩信的所有零件名稱及其存放地址,等待進行彩信組裝; 52、判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則進行步驟S3 ; 53、標識所述彩信正在組裝; 54、依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中; 55、將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。
2.根據(jù)權(quán)利要求I所述的基于零件和整體緩存的海量彩信組裝方法,其特征在于,所述步驟S2之后,步驟S3之前還包括步驟S21、判斷有無相同彩信正在組裝,如有則放入緩沖區(qū)等待喚醒處理,,如沒有相同彩信正在組裝,則進入步驟S3。
3.根據(jù)權(quán)利要求I或2所述的基于零件和整體緩存的海量彩信組裝方法,其特征在于,所述步驟S4中進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中具體包括 541、從磁盤中讀取彩信零件; 542、按照行業(yè)通信協(xié)議對彩信零件進行編碼; 543、將新封裝好的彩信零件放到共享緩存中。
4.根據(jù)權(quán)利要求3所述的基于零件和整體緩存的海量彩信組裝方法,其特征在于,所述步驟S5中將彩信零件組裝成彩信成品之后,輸出彩信成品到待發(fā)送彩信區(qū)之前還包括 將彩彩信成品放入成品緩存區(qū),并解除所述彩信的組裝標識,然后喚醒緩沖區(qū)等待該彩成品緩存的任務(wù)。
5.一種基于零件和整體緩存的海量彩信組裝系統(tǒng),用于為計算機程序提供與手機用戶之間進行手機彩信交互的彩信組裝,其特征在于,包括 輸入模塊,用于輸入待發(fā)送彩信的所有零件名稱及其存放地址; 成品緩存模塊,用于判斷有無彩信成品緩存,如有則直接從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則繼續(xù)進行后續(xù)的彩信組裝過程; 組裝標識模塊,用于標記或解除所述彩信的正在組裝標識; 零件緩存模塊,用于依次判斷每個彩信零件是否在共享緩存中存在,若存在,則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在,則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中; 組裝模塊,用于將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。
全文摘要
本發(fā)明公開了一種基于零件和整體緩存的海量彩信組裝方法和系統(tǒng),其中,所述方法包括輸入待發(fā)送彩信的所有零件名稱及其存放地址,等待進行彩信組裝;判斷有無彩信成品緩存,如有則從成品緩存中讀取,并輸出彩信成品到待發(fā)送彩信區(qū),如沒有則標識彩信正在組裝;然后,依次判斷每個彩信零件是否在共享緩存中存在,若存在則直接從共享緩存中讀取相應(yīng)的彩信零件,若不存在則進行彩信零件的封裝,并將新封裝好的彩信零件放到共享緩存中;最后將彩信零件組裝成彩信成品,輸出彩信成品到待發(fā)送彩信區(qū)。其通過對彩信內(nèi)容的有效緩存實現(xiàn)彩信的高速組裝,能夠極大加快彩信發(fā)送的速度,尤其當彩信發(fā)送數(shù)量和發(fā)送對象越多的情況下,組裝效率提升的效果越高。
文檔編號H04W4/12GK102946593SQ201210497959
公開日2013年2月27日 申請日期2012年11月29日 優(yōu)先權(quán)日2012年11月29日
發(fā)明者陳熾昌, 鐘瓊閣, 林葉明, 陳倩 申請人:廣東全通教育股份有限公司