一種通訊信息的發(fā)送方法和裝置的制造方法
【技術領域】
[0001] 本申請涉及通信技術領域,特別是涉及一種通訊信息的發(fā)送方法和一種通訊信息 的發(fā)送裝置。
【背景技術】
[0002] 隨著通信技術的發(fā)展,尤其是隨著移動互聯網的推廣,眾多服務平臺通向用戶發(fā) 送信息,W提供多樣化的服務。例如,服務平臺向用戶的手機發(fā)送登錄驗證短信、天氣預報 短信、節(jié)假日問候彩信等等。
[000引如圖1所示,在服務平臺中,網關(即smsgw)通常和服務器綁定,每臺服務器需要 啟動所有通道,每個通道需要建立一個與運營商連接的連接,在接收到業(yè)務系統(tǒng)的請求時, 與運營商進行通訊。
[0004] 要下行通訊信息,在傳統(tǒng)的方法中,服務器和運營商之間需要建立連接,送樣推廣 到集群后,每臺服務器都需要和運營商之間建立一個連接,送樣就要求服務器和運營商的 連接的數量保持一致。
[0005] 在實際中,運營商的通道資源有限,不會提供足夠兀余的連接。并且各運營商市場 份額不一樣,并且每個運營商能夠提供的服務能力也不一樣,導致多家運營商能夠提供的 連接數也不一樣。
[0006] 如果服務器數和連接數一樣,則服務平臺受限于運營商中最小的連接數,無法充 分的利用所有的資源。
[0007] 而且由于不同運營商給的連接數不一樣,每次需要新增連接時都要向運營商申 請,嚴重影響了網關的擴容和運營商接入的成本。
[0008] 雖然可W通過接入多家運營商來解決容量問題,但是連接數的問題隨著對容量的 需求增加而需要解決。
[0009] 若機器數和連接數一樣,應用擴容則要求連接數也要擴容,多數運營商無法做到。
[0010] 在服務器上線和下線時可能無法獲取或者及時釋放連接,使得運維成本很高。
[0011] 因此,目前需要本領域技術人員迫切解決的一個技術問題就是:如何提出一種通 訊信息的發(fā)布機制,用W最大程度利用所有的連接數,方便擴容和運維。
【發(fā)明內容】
[0012] 本申請實施例所要解決的技術問題是提供一種通信信息的發(fā)送方法,用W提高擴 容和維護的簡便性。
[0013] 相應的,本申請實施例還提供了一種通信信息的發(fā)送裝置,用W提高擴容和維護 的簡便性。
[0014] 為了解決上述問題,本申請實施例公開了一種通訊信息的發(fā)送方法,包括:
[0015] 接收通訊信息的下行請求;
[0016] 根據所述下行請求查找與所述通訊信息匹配的通訊通道;所述通訊通道具有關聯 的通訊連接和已用連接數量;
[0017] 當所述已用連接數量在本地非零時,通過所述通訊連接將所述通訊信息發(fā)送至相 連的通訊平臺,所述通訊平臺用于將所述通訊信息發(fā)送至對應的通訊對象。
[001引優(yōu)選地,還包括:
[0019] 當所述已用連接數量在本地為零時,查找與所述通訊通道關聯的已用連接數量非 零的服務器;
[0020] 將所述通訊信息發(fā)送至所述服務器,所述服務器用于通過所述通訊連接將所述通 訊信息發(fā)送至所述通訊平臺。
[0021] 優(yōu)選地,在所述根據所述下行請求查找所述通訊信息對應的通訊平臺的步驟之 前,還包括:
[0022] 對所述通訊信息進行預處理。
[0023] 優(yōu)選地,所述通訊信息包括通訊對象標識和通訊內容;所述根據所述下行請求查 找與所述通訊信息匹配的通訊通道的步驟包括:
[0024] 查找與所述通訊信息的通訊對象標識所屬的通訊通道;
[00巧]從所述通訊對象標識所屬的通訊通道中按照查找與所述通訊內容匹配的通訊通 道。
[0026] 優(yōu)選地,所述通訊通道包括默認通訊通道和備份通訊通道;所述根據所述下行請 求查找與所述通訊信息匹配的通訊通道的步驟包括:
[0027] 根據所述下行請求查找與所述通訊信息匹配的默認通訊通道;
[0028] 當所述默認通訊通道不可用時,查找可用的備份通訊通道。
[0029] 優(yōu)選地,所述通訊連接中具有消息隊列;所述通過所述通訊連接將所述通訊信息 發(fā)送至相連的通訊平臺的步驟包括:
[0030] 將通訊信息分別寫入對應的線程池;每個線程池具有對應的優(yōu)先級;
[0031] 將線程池的通訊信息寫入所述消息隊列;
[0032] 將所述消息隊列中的通訊信息按照所屬線程池的優(yōu)先級,通過所述通訊連接發(fā)送 至相連的通訊平臺。
[0033] 優(yōu)選地,在所述接收通訊信息的下行請求的步驟之前,還包括:
[0034] 在冷啟動時,讀取各個通訊通道關聯的,在本地的已用連接數量;
[0035] 分別對各個通訊通道創(chuàng)建數量與所述已用連接數量相同的通訊連接;
[0036] 對應修改各個通訊通道關聯的已用連接數量和未用連接數量;
[0037] 為所述通訊通道注冊通訊服務。
[003引優(yōu)選地,還包括:
[0039] 當接收到通訊連接的修改指令時,判斷是否開啟所述通訊連接關聯的通訊通道;
[0040] 當未開啟所述通訊連接關聯的通訊通道時,為所述通訊通道卸載通訊服務;
[0041] 關閉所述通訊通道關聯的通訊連接;
[0042] 對應修改所述通訊通道關聯的已用連接數量和未用連接數量。
[004引優(yōu)選地,還包括:
[0044] 當已開啟所述通訊連接關聯的通訊通道時,判斷所述通訊通道關聯的已用連接數 量在本地是否為零;
[0045] 當所述已用連接數量在本地為零時,從內存中讀取所述通訊通道關聯的,在本地 的已用連接數量;
[0046] 為所述通訊通道創(chuàng)建數量與從內存中讀取的已用連接數量相同的通訊連接;
[0047] 對應修改所述通訊通道關聯的已用連接數量和未用連接數量;
[0048] 為所述通訊通道注冊通訊服務。
[004引優(yōu)選地,還包括:
[0050] 當所述已用連接數量在本地非零時,根據所述修改指令修改所述通訊通道關聯的 通訊連接;
[0051] 對應修改所述通訊通道關聯的已用連接數量和未用連接數量。
[0052] 優(yōu)選地,所述根據所述修改指令修改所述通訊通道關聯的通訊連接的步驟包括:
[0053] 當所述修改指令為增加連接指令時,為所述通訊通道創(chuàng)建通訊連接。
[0054] 優(yōu)選地,所述根據所述修改指令修改所述通訊通道關聯的通訊連接的步驟包括: [00巧]當所述修改指令為減少連接指令時,關閉所述通訊通道關聯的通訊連接。
[005引優(yōu)選地,還包括:
[0057] 判斷修改后的已用連接數量是否為零;若是,則為所述通訊通道卸載通訊服務。
[005引優(yōu)選地,還包括:
[0059] 當觸發(fā)上線操作時,讀取所述上線操作對應的通訊通道關聯的未用連接數量;
[0060] 當所述未用連接數量非零時,為所述通訊通道創(chuàng)建通訊連接;
[0061] 對應修改所述通訊通道關聯的已用連接數量和未用連接數量;
[0062] 為所述通訊通道注冊通訊服務。
[006引優(yōu)選地,還包括:
[0064] 當觸發(fā)下線操作時,關閉當前所有通訊通道關聯的通訊連接;
[0065] 對應修改所述通訊通道關聯的已用連接數量和未用連接數量;
[0066] 為所述通訊通道卸載通訊服務。
[0067] 本申請實施例還公開了一種通訊信息的發(fā)送裝置,包括:
[0068] 下行請求接收模塊,用于接收通訊信息的下行請求;
[0069] 通訊通道查找模塊,用于根據所述下行請求查找與所述通訊信息匹配的通訊通 道;所述通訊通道具有關聯的通訊連接和已用連接數量;
[0070] 第一通訊信息發(fā)送模塊,用于在所述已用連接數量在本地非零時,通過所述通訊 連接將所述通訊信息發(fā)送至相連的通訊平臺;所述通訊平臺用于將所述通訊信息發(fā)送至對 應的通訊對象。
[0071] 優(yōu)選地,還包括:
[0072] 服務器查找模塊,用于在所述已用連接數量在本地為零時,查找與所述通訊通道 關聯的已用連接數量非零的服務器;
[0073] 第二通訊信息發(fā)送模塊,用于將所述通訊信息發(fā)送至所述服務器;所述服務器用 于通過所述通訊連接將所述通訊信息發(fā)送至所述通訊平臺。
[0074] 優(yōu)選地,還包括:
[00巧]預處理模塊,用于對所述通訊信息進行預處理。
[0076] 優(yōu)選地,所述通訊信息包括通訊對象標識和通訊內容;所述通訊通道查找模塊包 括:
[0077] 標識歸屬查找子模塊,用于查找與所述通訊信息的通訊對象標識所屬的通訊通 道;
[0078] 內容匹配子模塊,用于從所述通訊對象標識所屬的通訊通道中按照查找與所述通 訊內容匹配的通訊通道。
[0079] 優(yōu)選地,所述通訊通道包括默認通訊通道和備份通訊通道;所述通訊通道查找模 塊包括:
[0080] 默認通訊通道查找子模塊,用于根據所述下行請求查找與所述通訊信息匹配的默 認通訊通道;
[0081] 備份通訊通道查找子模塊,用于在所述默認通訊通道不可用時,查找可用的備份 通訊通道。
[0082] 優(yōu)選地,所述通訊連接中具有消息隊列;所述第一通訊信息發(fā)送模塊包括:
[0083] 線程池寫入子模塊,用于將通訊信息分別寫入對應的線程池;每個線程池具有對 應的優(yōu)先級;
[0084] 消息隊列寫入子模塊,用于將線程池的通訊信息寫入所述消息隊列;
[0085] 優(yōu)先級發(fā)送子模塊,用于將所述消息隊列中的通訊信息按照所屬線程池的優(yōu)先 級,通過所述通訊連接發(fā)送至相連的通訊平臺。
[008引優(yōu)選地,還包括:
[0087] 第一讀取模塊,用于在冷啟動時,讀取各個通訊通道關聯的,在本地的已用連接數 量;
[0088] 第一創(chuàng)建模塊,用于分別對各個通訊通道創(chuàng)建數量與所述已用連接數量相同的通 訊連接;
[0089] 第一修改模塊,用于對應修改各個通訊通道關聯的已用連接數量和未用連接數 量;
[0090] 第一注冊模塊,用于為所述通訊通道注冊通訊服務。
[0091] 優(yōu)選地,還包括:
[0092] 開啟判斷模塊,用于在接收到通訊連接的修改指令時,判斷是否開啟所述通訊連 接關聯的通訊通道;
[0093] 第一卸載模塊,用于在未開啟所述通訊連接關聯的通訊通道時,為所述通訊通道 卸載通訊服務;
[0094] 第一關閉模塊,用于關閉所述通訊通道關聯的通訊連接;
[0095] 第二修改模塊,用于對應修改所述通訊通道關聯的已用連接數量和未用連接數 量。
[009引優(yōu)選地,還包括:
[0097] 第一判斷模塊,用于在已開啟所述通訊連接關聯的通訊通道時,判斷所述通訊通 道關聯的已用連接數量在本地是否為零;
[0098] 第二讀取模塊,用于在所述已用連接數量在本地為零時,從內存中讀取所述通訊 通道關聯的,在本地的已用連接數量;
[0099] 第二創(chuàng)建模塊,用于為所述通訊通道創(chuàng)建數量與從內存中讀取的已用連接數量相 同的通訊連接;
[0100] 第H修改模塊,用于對應修改所述通訊通道關聯的已用連接數量和未用連接數 量;
[0101] 第二注冊模塊,用于為所述通訊通道注冊通訊服務。
[0102] 優(yōu)選地,還包括:
[0103] 第四修改模塊,用于在所述已用連接數量在本地非零時,根據所述修改指令修改 所述通訊通道關聯的通訊連接;
[0104] 第五修改模塊,用于對應修改所述通訊通道關聯的已用連接數量和未用連接數 量。
[0105] 優(yōu)選地,所述第四修改模塊包括:
[0106] 第H創(chuàng)建子模塊,用于在所述修改指令為增加連接指令時,為所述通訊通