本發(fā)明實施例通信領域,并且更具體地,涉及一種用于推送的方法、服務器和終端設備。
背景技術:
由于HTML5(HTML為超文本標記語言(Hypertext Markup Language)具有良好的跨平臺特性,隨著HTML5成為網(wǎng)頁(WEB)開發(fā)標準后,越來越多的應用采用WEB進行開發(fā)應用,越來越多的電視,機頂盒,移動設備,物聯(lián)網(wǎng)(Internet of Things,IoT)設備等嵌入式設備都支持WEB網(wǎng)頁瀏覽或WEB應用。
但是,嵌入式設備往往為了降低成本,通常會降低內存配置,而目前網(wǎng)站設計又非常的豐富,一般都會使用大量的圖片和復雜的網(wǎng)頁內容,這往往會使得低端設備出現(xiàn)內存不足(Out of memory,OOM),最終導致瀏覽器異常退出,使得用戶體驗不佳。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種用于推送的方法和設備,可以避免終端設備因為內存不足所造成的崩潰,從而可以提升用戶體驗
第一方面,提供了一種用于推送的方法,包括:
第一服務器確定需要向終端設備推送的推送對象以及所述終端設備對所述推送對象的內存占用要求;
根據(jù)所述內存占用要求,對所述推送對象進行處理;
向所述終端設備推送處理后的所述推送對象。
因此,在本發(fā)明實施例中,獲取終端設備對推送對象的內存占用要求;根據(jù)所述內存占用要求,對所述推送對象進行處理;向所述終端設備推送處理后的所述推送對象,可以避免終端設備因為內存不足所造成的崩潰,從而可以提升用戶體驗。
并且進一步地,本發(fā)明實施例可以更適應于嵌入式設備,嵌入式設備往往隨著當前平臺運行場景剩余不同的內存,為了讓處于低內存場景下也能夠平滑使用,由服務器對推送對象進行處理,可以從根本上使推送對象適用于不同內存配置的設備。
可選地,根據(jù)該內存占用要求,對該推送對象進行處理也可以是動態(tài)生成符合該內存占用要求的推送對象。
可選地,對推送對象進行處理可以指對已有的推送對象進行處理。
可選地,所述方法還包括:
對所述推送對象所占用的內存大小進行估算;
所述根據(jù)所述內存占用要求,對所述推送對象進行處理,包括:
在所述推送對象所占用的內存大小不能滿足所述內存占用要求時,對所述推送對象進行處理,使得處理后的所述推送對象占用的內存大小滿足所述內存占用要求。
可選地,所述方法還包括:
接收第二服務器發(fā)送的重定向消息,所述重定向消息用于指示向所述終端設備推送的所述推送對象和用于指示所述內存占用要求;
所述第一服務器確定需要向終端設備推送的推送對象以及所述終端設備對所述推送對象的內存占用要求,包括:
根據(jù)所述重定向消息,確定需要向所述終端設備推送的所述推送對象以及所述終端設備對所述推送對象的所述內存占用要求。
因此,在本發(fā)明實施例中,利用專門的服務器進行低內存化處理,可以使得處理更加高效。
可選地,所述方法還包括:
接收所述終端設備發(fā)送的請求消息,所述請求消息用于指示請求向所述終端設備推送的所述推送對象和用于指示所述內存占用要求;
所述第一服務器確定需要向終端設備推送的推送對象以及所述終端設備對所述推送對象的內存占用要求,包括:
根據(jù)所述請求消息,確定需要向所述終端設備推送的所述推送對象以及所述終端設備對所述推送對象的所述內存占用要求。
可選地,所述對推送對象進行處理包括:
對所述推送對象進行以下處理中的至少一種:
不相關內容的過濾處理、圖片處理、富媒體鏈接去除處理和對象中的分塊的去除處理。
可選地,所述對所述推送對象進行處理,包括:
按照預定處理順序對所述推送對象進行處理:
不相關內容的過濾處理、圖片處理、富媒體鏈接去除處理和對象中的分塊的去除處理;
其中,在利用當前處理方式對所述推送對象進行處理后,如果處理后的所述推送對象所占用的內存大小不能滿足所述內存要求時,則繼續(xù)進行下一處理方式的處理,否則停止對所述推送對象的處理。
可選地,所述圖片處理包括圖片去除處理或圖片質量降低處理;
所述對所述推送對象進行處理,包括:
確定在去除所述推送對象中的全部圖片時,所述推送對象所占用的內存大小是否滿足所述內存占用要求;
如果滿足,則對所述推送對象進行圖片質量降低處理;
如果不能滿足,則對所述推送對象進行圖片去除處理。
可選地,在本發(fā)明實施例中,所述推送對象包括多個分塊;
根據(jù)所述內存占用要求,對所述推送對象進行處理,包括:
根據(jù)所述多個分塊的優(yōu)先級,在對當前分塊進行處理后,如果所述推送對象所占用的內存大小不能滿足所述內存要求時,則繼續(xù)進行下一分塊的處理,否則停止對所述推送對象的處理。
可選地,所述推送對象為網(wǎng)頁或圖形界面。
第二方面,提供了一種用于推送的方法,包括:
終端設備向第一服務器發(fā)送請求消息,所述請求消息用于指示請求向所述終端設備推送的推送對象和用于指示所述終端設備對所述推送對象的內存占用要求;
接收所述第一服務器或第二服務器發(fā)送的按照所述內存占用要求處理后的所述推送對象。
可選地,所述推送對象為網(wǎng)頁或圖形界面。
第三方面,提供了一種用于推送送的方法,包括:
接收終端設備發(fā)送的請求消息,所述請求消息用于指示請求向所述終端設備推送的推送對象和用于指示所述終端設備對所述推送對象的內存占用要求;
對所述推送對象所占用的內存大小進行估算;
在所述推送對象所占用的內存大小不能滿足所述內存占用要求時,向第一服務器發(fā)送重定向消息,所述重定向消息用于指示向所述終端設備推送的所述推送對象和用于指示所述內存占用要求。
可選地,所述推送對象為網(wǎng)頁或圖形界面。
第四方面,提供了一種服務器,包括用于執(zhí)行第一方面或第一方面的任一可選的實現(xiàn)方式中的方法的單元。
第五方面,提供了一種終端設備,包括用于執(zhí)行第二方面或第二方面的任一可選的實現(xiàn)方式中的方法的單元。
第六方面,提供了一種服務器,包括用于執(zhí)行第三方面或第三方面的任一可選的實現(xiàn)方式中的方法的單元。
第七方面,提供了一種服務器,包括存儲器、收發(fā)器和處理器,該存儲器上存儲有可以用于指示執(zhí)行上述第一方面或其任意可選的實現(xiàn)方式的程序代碼,當該代碼被執(zhí)行時,該處理器可以實現(xiàn)方法中第一服務器執(zhí)行的各個操作。
第八方面,提供了一種終端設備,包括存儲器、收發(fā)器和處理器,該存儲器上存儲有可以用于指示執(zhí)行上述第二方面或其任意可選的實現(xiàn)方式的程序代碼,當該代碼被執(zhí)行時,該處理器可以實現(xiàn)方法中終端設備執(zhí)行的各個操作。
第九方面,提供了一種服務器,包括存儲器、收發(fā)器和處理器,該存儲器上存儲有可以用于指示執(zhí)行上述第三方面或其任意可選的實現(xiàn)方式的程序代碼,當該代碼被執(zhí)行時,該處理器可以實現(xiàn)方法中第二服務器執(zhí)行的各個操作。
第十方面,提供一種計算機可讀介質,所述計算機可讀介質存儲用于終端設備執(zhí)行的程序代碼,所述程序代碼包括用于執(zhí)行第一方面或其各種實現(xiàn)方式中的方法的指令。
第十一方面,提供一種計算機可讀介質,所述計算機可讀介質存儲用于網(wǎng)絡設備執(zhí)行的程序代碼,所述程序代碼包括用于執(zhí)行第二方面或其各種實現(xiàn)方式中的方法的指令。
第十二方面,提供一種計算機可讀介質,所述計算機可讀介質存儲用于網(wǎng)絡設備執(zhí)行的程序代碼,所述程序代碼包括用于執(zhí)行第三方面或其各種實現(xiàn)方式中的方法的指令。
附圖說明
圖1是根據(jù)本發(fā)明實施例的通信系統(tǒng)的示意性圖。
圖2是根據(jù)本發(fā)明實施例的用于推送的方法的示意性流程圖。
圖3是根據(jù)本發(fā)明實施例的用于推送的方法的示意性流程圖。
圖4是根據(jù)本發(fā)明實施例的網(wǎng)頁分塊的示意性圖。
圖5是根據(jù)本發(fā)明實施例的用于推送的方法的示意性流程圖。
圖6是根據(jù)本發(fā)明實施例的服務器的示意性框圖。
圖7是根據(jù)本發(fā)明實施例的終端設備的示意性框圖。
圖8是根據(jù)本發(fā)明實施例的服務器的示意性框圖。
圖9是根據(jù)本發(fā)明實施例的通信裝置的示意性框圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行詳細說明。
圖1是根據(jù)本發(fā)明實施例的通信系統(tǒng)100的示意性圖。
在該系統(tǒng)100中,終端設備110可以向服務器120發(fā)送請求消息,該請求消息可以用于指示服務器120向終端設備110推送的推送對象;服務器120可以向該終端設備110推送終端設備110請求的推送對象。
可選地,服務器120也可以將該請求重定向到服務器130,由服務器130向終端設備110推送終端設備110請求的推送對象;或者,服務器130對推送對象進行處理后,發(fā)送給服務器120,由服務器120將服務器130處理的推送對象發(fā)送給終端設備110。
可選地,該推送對象可以是網(wǎng)頁,也可以是圖形界面。
可選地,在本發(fā)明實施例中,在推送對象是網(wǎng)頁時,服務器120可以為網(wǎng)頁服務器,具體可以為WWW服務器。
可選地,在本發(fā)明實施例中,終端設備可以是嵌入式設備,例如,電視、機頂盒、移動設備、IoT設備等。
圖2是根據(jù)本發(fā)明實施例的用于推送的方法200的示意性流程圖??蛇x地,該方法可以應用于圖1所示的通信系統(tǒng)中,當然,也可以應用于其他通信系統(tǒng)中,例如,不包括服務器130的通信系統(tǒng)。應理解,以下提到的第一服務器可以是服務器110,也可以是服務器120。
如圖2所示,該方法200包括以下內容。
在211中,第一服務器確定需要向終端設備推送的推送對象以及所述終端設備對所述推送對象的內存占用要求。
可選地,該推送對象為網(wǎng)頁或圖形界面。
為了便于理解,以下將分別結合圖2和圖3描述第一服務器確定需要向終端設備推送的推送對象以及所述終端設備對所述推送對象的內存占用要求的兩種方式。
方式A
在214中,終端設備可以向第一服務器發(fā)送請求消息,該請求消息用于指示請求該第一服務器向該終端設備推送的推送對象和用于指示該內存占用要求。
在215中,第一服務器可以接收該請求消息。
從而,該第一服務器從該請求消息中需要推送的推送對象以及內存占用要求。
可選地,在如圖2所示的情況中,該第一服務器可以是圖1所示的服務器120。
方式B
在217中,終端設備可以向第二服務器發(fā)送請求消息,該請求消息用于指示請求該第二服務器向該終端設備推送的推送對象和用于指示該內存占用要求。
在218中,第二服務器接收該請求消息。
在219中,該第二服務器從該請求消息中,確定需要向終端設備推送的推送對象以及該內存占用要求,并對該推送對象所占用的內存大小進行估算。
在220中,在所述推送對象所占用的內存大小不能滿足所述內存占用要求時,向第一服務器發(fā)送重定向消息,所述重定向消息用于指示所述第一服務器向所述終端設備推送的所述推送對象和所述內存占用要求。
在221中,第一服務器接收重定向消息。
從而,第一服務器可以從該重定向消息中,獲取終端設備對待推送對象的內存占用要求以及需要推送的推送對象。
可選地,在所述推送對象所占用的內存大小能滿足所述內存占用要求時,則第一服務器可以直接將未處理的推送對象發(fā)送給終端設備。
可選地,在如圖3所示的情況中,第一服務器可以是圖1所示的服務器130,第二服務器可以是圖1所示的服務器120。
終端設備向第一服務器或第二服務器發(fā)送的請求消息可以在現(xiàn)有的消息中增加字段來實現(xiàn)攜帶對推送對象的內存占用要求。
例如,在待推送對象為網(wǎng)頁時,終端設備可以通過調用瀏覽器客戶端來請求網(wǎng)頁,其中,瀏覽器信息可以攜帶在用戶代理(User Agent,UA)中,可以在UA中增加字段,來攜帶終端設備對推送對象的內存占用要求,其中,該字段可以設置在UA中的任何位置,例如,設置在最前一個字段中,居中的字段或最后的字段中。以下以攜帶內存占用要求的字段設置在UA的最后一個字段的例子,其中,該例子可以適用于安卓系統(tǒng)中:
User-Agent:Mozilla/5.0(Linux;U;Android 2.2.1;en-us;Nexus One Build/FRG83)AppleWebKit/533.1(KHTML,like Gecko)Version/4.0Mobile Safari/533.1DeviceMem/51200
以上例子中,內存占用要求用于指示推送對象的內存占用要低于51200KB。
可選地,在本發(fā)明實施例中,終端設備發(fā)送的請求消息中攜帶的可以是終端設備當前剩余的內存,則該請求消息指示的內存占用要求是推送對象在終端設備占用的內存不能高于該當前剩余的內存。
可選地,在本發(fā)明實施例中,終端設備發(fā)送的請求消息中攜帶的可以是終端設備當前剩余內存的百分比或總內存的百分比,例如,當前剩余內存的50%,或總內存的20%,則該請求消息指示的內存占用要求是推送對象在終端設備占用的內存不能高于該當前剩余內存的50%或總內存的20%。
其中,該百分比可以根據(jù)通常占用內存比和終端性能而定,在此不做具體限定。例如,如果終端通常占用的內存是70%,雖然當前剩余內存很高,但考慮到內存可能會突然改變,則可以結合終端設備的實際使用情況,將確定推送對象在終端設備占用的內存不能高于總內存的20%。
可選地,在本發(fā)明實施例中,終端設備發(fā)送的請求消息中攜帶的可以是終端設備當前剩余內存。則服務器可以預先約定的百分比,確定終端設備的內存占用要求,例如,預先約定的比例是70%,則終端設備對推送對象的內存占用要求是不能高于剩余內存的70%。此時,可以認為請求消息中隱式指示了終端設備對推送對象的內存占用要求。
在212中,第一服務器根據(jù)該內存占用要求,對該推送對象進行處理。
可選地,在本發(fā)明實施例中,根據(jù)該內存占用要求,對該推送對象進行處理也可以是動態(tài)生成符合該內存占用要求的推送對象。
例如,在推送對象為圖形界面時,可以根據(jù)終端設備的內存占用要求,將界面元素進行組合,動態(tài)生成圖像界面。
可選地,在本發(fā)明實施例中,對推送對象進行處理可以指對已有的推送對象進行處理。
例如,終端設備需要某一網(wǎng)頁,則可以根據(jù)終端設備的內存占用要求,對已有的網(wǎng)頁進行處理。
可選地,在本發(fā)明實施例中,第一服務器可以對該推送對象所占用的內存大小進行估算;在該推送對象所占用的內存大小不能滿足該內存占用要求時,對該推送對象進行處理,使得處理后的該推送對象占用的內存大小滿足該內存占用要求。
可選地,在本發(fā)明實施例中,可以對該推送對象進行以下處理中的至少一種:
(1)不相關內容的過濾處理,具體地,可以分析推送對象的原始內容,過濾掉不相關的內容,例如,廣告等。
(2)圖片處理。
(3)富媒體鏈接去除處理,例如,video標簽、audio標簽等的處理。
(4)對象中的分塊的去除處理。
可選地,在本發(fā)明實施例中,可以按照順序對該推送對象進行處理,其中,在利用當前處理方式對推送對象進行處理后,如果處理后的該推送對象所占用的內存大小不能滿足該內存要求時,則繼續(xù)進行下一處理方式的處理,否則停止對該推送對象的處理,其中,處理順序可以如下所以:
(1)不相關內容的過濾處理。
具體地,可以分析推送對象的原始內容,過濾掉不相關的內容,例如,廣告等。
(2)圖片處理。
具體地,方法(1)內存無法滿足終端設備的內存占用要求,則第一服務器進行圖片低內存化處理,因為圖片占用網(wǎng)頁比較大的比重,這往往是使終端設備消耗比較大的內存,所以優(yōu)先進行圖片的低內存化處理。
(3)富媒體鏈接去除處理。
具體地,方法(2)處理后無法滿足終端設備的內存占用要求,則第一服務器需要去掉富媒體鏈接處理,將推送對象上的富媒體標簽鏈接進行去掉,如視頻(video),音頻(audio)標簽等。
(4)對象中的分塊的去除處理。
具體地,方法(3)對圖片處理后還無法滿足內存占用要求,則需要對推送對象內容進行分析重排,去掉重要的分塊,重新排版推送對象,得到精簡的推送對象。
可選地,推送對象為網(wǎng)頁時,分塊可以為網(wǎng)頁的塊級元素(DIV)。
可選地,在本發(fā)明實施例中,該圖片處理包括圖片去除處理或圖片質量降低處理;
第一服務器可以確定在去除該推送對象中的全部圖片時,該推送對象所占用的內存大小是否滿足該內存占用要求;
如果滿足,則對該推送對象進行圖片質量降低處理;
如果不能滿足,則對該推送對象進行圖片去除處理。
可選地,在本發(fā)明實施例中,圖片質量降低處理可以包括以下中的至少一種:
(1)圖片格式轉換。
一般將圖片格式消耗內存差別很大(當前占用內存少的格式有WebP,PNG8等),例如,WebP格式比PNG格式減少28%~45%,WebP圖片格式有更好的壓縮率,所以可以將PNG、JPG轉換成WebP格式或其他壓縮率更低的格式。
(2)壓縮質量控制。
有的格式可以進行壓縮質量控制,如WebP可以采用有損壓縮和無損壓縮,根據(jù)內存要求可進行采用有損壓縮進行減少圖片體積。
(3)減少圖片顏色數(shù)。
不同顏色數(shù)目決定了顯示的顏色的豐富程度,對于終端內存不足的可以將32位變成8位,這個不僅減少圖片本身的體積,而且還減少了解碼后的內存占用。
可選地,所述推送對象包括多個分塊;第一服務器根據(jù)所述多個分塊的優(yōu)先級,在對當前分塊進行處理后,如果所述推送對象所占用的內存大小不能滿足所述內存要求時,則進行下一分塊的處理,否則停止對所述推送對象的處理。
例如,如圖4所示,一個網(wǎng)頁頁面分成了A,B,C,D,E,F(xiàn)不同的分塊(DIV),從用戶體驗角度出發(fā),普通用戶在瀏覽頁面時是自上而下、自左而右進行,因此,頁面區(qū)域重要性按上面規(guī)律可分頁面區(qū)域重要性:A>B>C>D>E>F,不同分塊可以按照頁面分塊的重要性而采用不同優(yōu)先級,越不重要的位置優(yōu)先進行處理(可以降低顯示質量來減少內存的占用),逐個網(wǎng)頁分塊來進行處理,直到滿足終端的內存要求。
其中,對各個分塊按照優(yōu)先級進行處理可以是對任意分塊進行處理時,可以對該分塊進行多種處理(例如,不相關內容的過濾處理和圖片處理),如果不能滿足,則進行下一分塊的處理?;蛘?,可以依次對多個分塊進行一種處理(例如,不相關內容的過濾處理),如果不能滿足要求,則再依次對多個分塊進行下一種處理(例如,圖片處理)。
在213中,第一服務器向該終端設備推送處理后的該推送對象。
在216中,終端設備接收第一服務器推送的處理后的該推送對象。
可選地,在本發(fā)明實施例中,終端設備在接收到第一服務器推送的推送對象之后,可以對該推送對象進行其他處理,例如,在該推送對象為網(wǎng)頁或圖形界面時,可以對該網(wǎng)頁或者圖形界面進行渲染處理,并呈現(xiàn)在顯示設備中。
為了更加清楚地理解本發(fā)明,以下將結合圖5描述根據(jù)本發(fā)明實施例的用于推送的方法300。應理解,方法200和方法300的特征可以結合使用,為了簡潔,有些特征在其中一個方法中簡略描述或未作描述,但是可以參考另一方法的描述。
圖5是根據(jù)本發(fā)明實施例的用于推送的方法300的示意性流程圖。
如圖5所示,該方法300包括以下內容。
在301中,瀏覽器客戶端獲取終端設備的剩余內存。
在302中,瀏覽器客戶端向網(wǎng)頁服務器發(fā)送網(wǎng)頁數(shù)據(jù)請求,其中,該網(wǎng)頁數(shù)據(jù)請求攜帶終端設備的剩余內存。
在303中,網(wǎng)頁服務器判斷請求網(wǎng)頁占用的內存是否小于等于終端設備的剩余內存。如果是,執(zhí)行304,如果否,執(zhí)行305。
在304中,網(wǎng)頁服務器返回正常網(wǎng)頁給瀏覽器客戶端。
在305中,對網(wǎng)頁進行低內存處理。
在306中,判斷處理后的網(wǎng)頁是否小于等于終端設備的剩余內存。如果是,執(zhí)行307,否則,重復執(zhí)行305以及306。
在307中,將低內存化處理的網(wǎng)頁發(fā)送給瀏覽器客戶端。
在308中,瀏覽器客戶端渲染網(wǎng)頁,該網(wǎng)頁可以未進行處理的網(wǎng)頁或者為已進行低內存化處理的網(wǎng)頁。
應理解,以上描述的瀏覽器客戶端執(zhí)行某些操作具體可以為終端設備通過調用該瀏覽器客戶端執(zhí)行這些操作。
還應理解,305-307可以由網(wǎng)頁服務器執(zhí)行,也可以由其他服務器執(zhí)行,例如,專門用于網(wǎng)頁低內存化處理的服務器。
因此,在本發(fā)明實施例中,獲取終端設備對推送對象的內存占用要求;根據(jù)所述內存占用要求,對所述推送對象進行處理;向所述終端設備推送處理后的所述推送對象,可以避免終端設備因為內存不足所造成的崩潰,從而可以提升用戶體驗。
并且進一步地,本發(fā)明實施例可以更適應于嵌入式設備,嵌入式設備往往隨著當前平臺運行場景剩余不同的內存,為了讓處于低內存場景下也能夠平滑使用,由服務器對推送對象進行處理,可以從根本上使推送對象適用于不同內存配置的設備。
并且進一步地,在本發(fā)明實施例中,利用專門的服務器進行低內存化處理,可以使得處理更加高效。
圖6是根據(jù)本發(fā)明實施例的服務器400的示意性框圖。如圖6所示,該服務器400包括確定單元410、處理單元420和發(fā)送單元430。
其中,確定單元410,用于確定需要向終端設備推送的推送對象以及所述終端設備對所述推送對象的內存占用要求;
處理單元420,用于根據(jù)所述內存占用要求,對所述推送對象進行處理;
發(fā)送單元430,用于向所述終端設備推送處理后的所述推送對象。
可選地,所述處理單元420進一步用于:
對所述推送對象所占用的內存大小進行估算;
在所述推送對象所占用的內存大小不能滿足所述內存占用要求時,對所述推送對象進行處理,使得處理后的所述推送對象占用的內存大小滿足所述內存占用要求。
可選地,如圖6所示,所述服務器400還包括接收單元440,用于:接收第二服務器發(fā)送的重定向消息,所述重定向消息用于指示向所述終端設備推送的所述推送對象和用于指示所述內存占用要求;
所述確定單元410進一步用于:
根據(jù)所述重定向消息,確定需要向所述終端設備推送的所述推送對象以及所述終端設備對所述推送對象的所述內存占用要求。
可選地,如圖6所示,所述服務器400還包括接收單元440,用于:接收所述終端設備發(fā)送的請求消息,所述請求消息用于指示請求向所述終端設備推送的所述推送對象和用于指示所述內存占用要求;
所述確定單元410進一步用于:
根據(jù)所述請求消息,確定需要向所述終端設備推送的所述推送對象以及所述終端設備對所述推送對象的所述內存占用要求。
可選地,所述處理單元420進一步用于:
對所述推送對象進行以下處理中的至少一種:
不相關內容的過濾處理、圖片處理、富媒體鏈接去除處理和對象中的分塊的去除處理。
可選地,所述處理單元420進一步用于:
按照預定處理順序對所述推送對象進行處理:
不相關內容的過濾處理、圖片處理、富媒體鏈接去除處理和對象中的分塊的去除處理;
其中,在利用當前處理方式對所述推送對象進行處理后,如果處理后的所述推送對象所占用的內存大小不能滿足所述內存要求時,則繼續(xù)進行下一處理方式的處理,否則停止對所述推送對象的處理。
可選地,所述圖片處理包括圖片去除處理或圖片質量降低處理;
所述處理單元420進一步用于:
確定在去除所述推送對象中的全部圖片時,所述推送對象所占用的內存大小是否滿足所述內存占用要求;
如果滿足,則對所述推送對象進行圖片質量降低處理;
如果不能滿足,則對所述推送對象進行圖片去除處理。
可選地,所述推送對象包括多個分塊;
所述處理單元420進一步用于:
根據(jù)所述多個分塊的優(yōu)先級,在對當前分塊進行處理后,如果所述推送對象所占用的內存大小不能滿足所述內存要求時,則繼續(xù)進行下一分塊的處理,否則停止對所述推送對象的處理。
可選地,所述推送對象為網(wǎng)頁或圖形界面。
應理解,該服務器400可以為方法實施例提到的第一服務器,可以執(zhí)行該第一服務器執(zhí)行的相應操作,為了簡潔,在此不再贅述。
圖7是根據(jù)本發(fā)明實施例的終端設備500的示意性框圖。如圖7所示,該終端設備500包括:
發(fā)送單元510,用于向第一服務器發(fā)送請求消息,所述請求消息用于指示請求向所述終端設備推送的推送對象和用于指示所述終端設備對所述推送對象的內存占用要求;
接收單元520,用于接收所述第一服務器或第二服務器發(fā)送的按照所述內存占用要求處理后的所述推送對象。
可選地,所述推送對象為網(wǎng)頁或圖形界面。
應理解,該終端設備500可以為方法實施例提到的終端設備,可以執(zhí)行該終端設備執(zhí)行的相應操作,為了簡潔,在此不再贅述。
圖8是根據(jù)本發(fā)明實施例的服務器600的示意性框圖。如圖8所示,該服務器600可以包括:接收單元610、估算單元620和發(fā)送單元630。
接收單元610,用于接收終端設備發(fā)送的請求消息,所述請求消息用于指示請求向所述終端設備推送的推送對象和用于指示所述終端設備對所述推送對象的內存占用要求;
估算單元620,用于對所述推送對象所占用的內存大小進行估算;
發(fā)送單元630,用于在所述推送對象所占用的內存大小不能滿足所述內存占用要求時,向第一服務器發(fā)送重定向消息,所述重定向消息用于指示向所述終端設備推送的所述推送對象和用于指示所述內存占用要求。
可選地,所述推送對象為網(wǎng)頁或圖形界面。
應理解,該服務器600可以為方法實施例提到的第二服務器,可以執(zhí)行該第二服務器執(zhí)行的相應操作,為了簡潔,在此不再贅述。
圖9示出了本發(fā)明實施例提供的通信裝置700的示意性框圖,該通信裝置700包括:
存儲器710,用于存儲程序;
收發(fā)器720,用于和其他設備進行通信;
處理器730,用于執(zhí)行存儲器710中的程序。
可選地,當該代碼被執(zhí)行時,該處理器730可以實現(xiàn)方法中第一服務器執(zhí)行各個操作,為了簡潔,在此不再贅述。此時,通信裝置700可以為服務器。
可選地,當該代碼被執(zhí)行時,該處理器730可以實現(xiàn)方法中終端設備執(zhí)行各個操作,為了簡潔,在此不再贅述。此時,通信裝置700可以為終端設備。
可選地,當該代碼被執(zhí)行時,該處理器730可以實現(xiàn)方法中第二服務器執(zhí)行各個操作,為了簡潔,在此不再贅述。此時,通信裝置700可以為服務器。
應理解,在本發(fā)明實施例中,該處理器730可以是中央處理單元(Central Processing Unit,簡稱為“CPU”),該處理器730還可以是其他通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
該存儲器710可以包括只讀存儲器和隨機存取存儲器,并向處理器530提供指令和數(shù)據(jù)。存儲器710的一部分還可以包括非易失性隨機存取存儲器。例如,存儲器710還可以存儲設備類型的信息。
在實現(xiàn)過程中,上述方法的各步驟可以通過處理器730中的硬件的集成邏輯電路或者軟件形式的指令完成。結合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器,處理器730讀取存儲器中的信息,結合其硬件完成上述方法的步驟。為避免重復,這里不再詳細描述。
應理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內在邏輯確定,而不應對本發(fā)明實施例的實施過程構成任何限定。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。