下發消息的方法及裝置的制造方法
【技術領域】
[0001]本發明涉及互聯網技術領域,尤其涉及一種下發消息的方法及裝置。
【背景技術】
[0002]在企業內網中,服務器經常會向終端下發各種消息,例如通知終端更新病毒庫、屏蔽終端使用即時通訊軟件、指示終端獲取配置文件等。服務器在向終端下發消息之前需要訪問數據庫,查詢需要發送給終端的消息,然后將從數據庫中查詢獲得的消息發送給終端。一般情況下,服務器發送給不同終端的消息會有所差異,因此服務器在每次下發消息時都要針對不同終端的消息對數據庫分別進行訪問。
[0003]在實際應用中發明人發現,服務器向數據庫獲取的消息包括較少變動的長期策略(例如屏蔽購物網站),以及變動較為頻繁的臨時任務(例如上報某應用的當前版本號)。在下發消息時,服務器一般是向數據庫請求查詢所有需要下發的消息。當企業內網中終端數量較多時,數據庫的訪問量十分巨大,容易導致數據庫的負荷壓力升高,特別是當向大量終端同時下發消息時,巨大的訪問并發數極易引起數據庫的崩潰。
【發明內容】
[0004]本發明提供了一種下發消息的方法及裝置,能夠解決因向大量終端下發消息導致的數據庫負荷升高的問題。
[0005]為解決上述問題,一方面,本發明提供了一種下發消息的方法,該方法包括:
[0006]從內存中查找需要下發給終端的靜態消息,靜態消息為在預設時段內數據內容不發生變化的消息;
[0007]向數據庫發送查詢請求,查找需要下發給終端的動態消息,動態消息為在預設時段內數據內容會發生變化的消息;
[0008]將靜態消息及動態消息發送給終端。
[0009]另一方面,本發明還提供了一種下發消息的裝置,該裝置包括:
[0010]第一查找單元,用于從內存中查找需要下發給終端的靜態消息,靜態消息為在預設時段內數據內容不發生變化的消息;
[0011]第二查找單元,用于向數據庫發送查詢請求,查找需要下發給終端的動態消息,動態消息為在預設時段內數據內容會發生變化的消息;
[0012]發送單元,用于將靜態消息及動態消息發送給終端。
[0013]本發明提供的下發消息的方法及裝置,能夠從內存中查找不易變動的靜態消息,而對于變動頻繁的動態消息而言則訪問數據庫進行獲取。由于減少了靜態消息的訪問請求,因此相對于現有技術而言,本發明能夠降低向數據庫請求的數據量,由此減輕數據庫的負荷壓力。
[0014]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【附圖說明】
[0015]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0016]圖1示出了本發明實施例提供的一種下發消息的方法流程圖;
[0017]圖2示出了本發明實施例提供的另一種下發消息的方法流程圖;
[0018]圖3示出了本發明實施例提供的一種下發消息的裝置的組成框圖;
[0019]圖4示出了本發明實施例提供的另一種下發消息的裝置的組成框圖。
【具體實施方式】
[0020]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0021]本發明提供了一種下發消息的方法,該方法主要應用于服務器側。如圖1所示,該方法包括:
[0022]101、從內存中查找需要下發給終端的靜態消息。
[0023]—般情況下,服務器向終端發送的消息主要涉及策略及任務。其中,策略是指長期穩定的指示信息,即在短時間內無論下發多少次,內容都不會發生變化指示信息,通常,屏蔽即時通訊工具、分配路由路徑、設置終端權限等內容都屬于策略范疇;任務是指具有臨時性特點的指示信息,即每次下發時內容都會有所不同的指示信息,通常,大多數任務都是一次性的,諸如指示終端更新病毒庫、通知終端上報網間協議(Internet Protocol,簡稱IP)地址等內容都屬于任務范疇。
[0024]實際應用中,可以根據策略和任務的特點對靜態消息和動態消息進行大致區分,即將策略定義為靜態消息,將任務定義為動態消息。但是在一些情況下,某些任務也可能在一段較長的時間內不會發生變化,而某些策略卻恰好在短時間內發生過變化。因此在更為優選的方案中,可以按照內容更新的周期長短區分定義靜態/動態消息。
[0025]具體的,可以根據網絡管理需求預設置一個預設的時段,該時段可以是一天、一周或一個月等,本實施例對此不作具體限制。服務器對消息下發的歷史記錄進行統計,將在該預設時段內數據內容沒有發生變化的消息定義為靜態消息,而將在該預設時段內數據內容發生變化的消息定義為動態消息。
[0026]示例性的,在2015年12月7日24時,服務器統計當天下發過的所有消息,然后通過消息日志判斷每一條消息上一次變化距今的時間,如果該時間超過預設時段“一周”,則將其確定為靜態消息;如果該時間未超過預設時段“一周”,則將其確定為動態消息。
[0027]或者,服務器也可以在2015年12月7日24時,統計在預設時段“一周”內下發過的所有消息,即在2015年12月I日24時至2015年12月7日24時之間下發過的所有消息。然后通過消息日志判斷有否消息在這一周內發生了變化,如果有則將其確定為動態消息,反之則將其確定為靜態消息。
[0028]通過判斷預設時段內消息內容是否發生變化的方式,可以更準確的對靜態/動態消息進行定義,本實施例后續不再對策略及任務進行明確區分。
[0029]當需要向終端下發消息時,服務器從內存中查找靜態消息。與現有技術不同的是,本實施例中,靜態消息存儲在服務器內存中,當獲取靜態消息時,服務器無需對數據庫進行訪問。
[0030]102、向數據庫發送查詢請求,查找需要下發給終端的動態消息。
[0031]對于內容比較穩定靜態消息,可以將其存儲在內存中等待服務器獲取,而對于內容變化較為頻繁的動態消息,則無法進行緩存。當需要獲取動態消息時,服務器需要通過I/O 口訪問服務器磁盤,向數據庫請求最新的動態消息。
[0032]本實施例中,服務器下發給終端的消息由靜態消息和動態消息組成。其中,靜態消息從服務器內存中獲取,動態消息通過向服務器數據庫獲取。圖1所示流程對步驟101和步驟102進行區分僅為便于表述,實際應用中也可以首先執行步驟102獲取動態消息,然后再執行步驟101獲取靜態消息,或者在處理資源足夠充沛的情況下,通過不同的線程同時獲取靜態消息和動態消息。
[0033]103、將靜態消息及動態消息發送給終端。
[0034]終端在接收到消息后,向服務器另行發起請求,執行消息指示的流程。例如,向服務器請求下載最新的病毒庫,或者向服務器上報終端IP等。
[0035]本發明實施例提供的下發消息的方法,能夠從內存中查找不易變動的靜態消息,而對于變動頻繁的動態消息而言則訪問數據庫進行獲取。由于減少了靜態消息的訪問請求,因此相對于現有技術而言,本發明實施例能夠降低