System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及通信領域,更具體地說,它涉及一種短信平臺短信息失敗重發的方法。
技術介紹
1、隨著技術的發展、社會的進步,傳統短消息的應用被擴展到越來越多的領域。短信出現在人們日常生活中的各個角落,已經滲透到各個行業、各個領域。例如驗證碼短信,商家會員通知短信、商家營銷短信,政務、法務通知短信,鐵路、航空、醫院、物業通知短信等等場景。但并非所有商家或者企業都會自行研發一套可以對接三大運營商的短信平臺,而更多是采用api調用短信平臺開放的接口的方式來下發短信,有短信下發需求的商家和企業就是短信平臺的客戶,最終接收短信的就是終端用戶。
2、由于短信已經觸及到很多行業和場景,及時接收重要的短信通知對于客戶來說尤為重要。因此,客戶對短信的投遞成功率要求非常高。當終端信號不好、短信內容被誤作關鍵字攔截或者其他原因導致短信投遞失敗時,對客戶會造成一定的影響和困擾。例如當客戶正在使用手機號登錄購物網站時,卻收不到手機驗證碼,那么用戶的購物體驗將會大打折扣,客戶也會對短信平臺提供的服務產生質疑。
3、目前現有技術存在以下不足:
4、1.無效重發:短信平臺提交短信分片給運營商時,若觸發運營商關鍵字攔截,該分片會下發失敗,此場景下無論重發多少次仍然會下發失敗,因為重發該分片時仍然會觸發運營商的關鍵字攔截。短信平臺必須支持更換運營商網關重試的能力。
5、2.失敗碼太多,無法覆蓋所有場景:由于短信平臺的上游,可能仍然是第三方短信平臺而不是運營商網關,每家短信平臺會有很多的攔截配置,失敗的原因分類基本一致(黑
6、3.延遲高:短信平臺不支持優先選擇成功率較高的通道進行重發,而是按照配置順序依次嘗試失敗重發通道組內的通道。導致即使最終重發成功,但已經延時了很久。
7、4.成本高:一條長短信會被拆分為多個分片進行發送,如果某個分片失敗了就進行重發,而其他分片是成功的,會消耗很大成本。因為運營商對投遞成功的分片已經計費了。
技術實現思路
1、本專利技術要解決的技術問題是針對現有技術的不足,提供一種短信平臺短信息失敗重發的方法,解決現有短信投遞無效重發、失敗碼太多、延遲高和成本高的技術問題。
2、本專利技術所述的一種短信平臺短信息失敗重發的方法,判斷短信息是否需要進行失敗重發,若需要,則進入重發通道選擇流程以進行重發運營商網關的選擇,獲取目標運營商網關,并根據所述目標運營商網關對短信息進行重發。
3、作進一步的改進,獲取所述目標運營商網關的方法為:
4、第一步:在短信平臺可路由的運營商網關中,查詢是否存在分片的錯誤碼對應的最近重發成功過的運營商網關,若存在最近重發成功過的運營商網關,則將所述最近重發成功過的運營商網關作為目標運營商網關;若不存在所述最近重發成功過的運營商網關,則進行下一步;
5、第二步:在失敗重發的運營商網關中查詢是否存在可用的運營商網關,若存在可用的失敗重發運營商網關,則將所述可用的失敗重發運營商網關作為目標運營商網關;若不存在所述可用的失敗重發運營商網關,則進行下一步;
6、第三步:在普通的運營商網關中查詢是否存在可用的運營商網關,若存在可用的普通運營商網關,則將所述可用的普通運營商網關作為目標運營商網關;若不存在所述可用的普通運營商網關,則結束。
7、進一步的,判斷所述短信息是否需要進行失敗重發的方法為,
8、第一步:根據所述運營商網關返回的錯誤碼來判斷短信是否需要重發,當所述錯誤碼配置在設定的非失敗重發錯誤碼中時,則不需要對所述短信進行失敗重發;當所述錯誤碼沒有配置在非失敗重發錯誤碼中時,則進行下一步;
9、第二步:根據所述短信的整體處理時長來判斷短信是否需要重發,當所述整體處理時長大于設定的失敗重發處理時長時,則不需要對所述短信進行失敗重發;當所述整體處理時長小于或等于設定的失敗重發處理時長時,則進行下一步;
10、第三步:若所述短信已經進行過重發,則記錄重發次數,若所述重發次數大于設定的最大重發次數,則不需要對所述短信進行失敗重發;若所述重發次數小于或等于最大重發次數,則進行下一步;
11、第四步:根據所述短信的類型判斷是否進行失敗重發,當所述短信為長短信且已收齊所有分片的錯誤碼,但所述分片的錯誤碼不一致時,則結束所述重發通道選擇流程;當所述分片的錯誤碼均一致時,則進行下一步;
12、第五步:所述短信平臺根據第四步中分片的錯誤碼判斷是否成功將短信重發過,當所述短信已重發且重發成功過,則根據所述分片的錯誤碼查詢之前重發成功過的運營商網關;
13、第六步:所述短信平臺將短信重新發送到第五步中重發成功過的運營商網關。
14、更進一步的,在第二步中,所述短信的整體處理時長為當前時間與短信平臺接收到客戶提交該短信的時間的差值。
15、更進一步的,當所述短信平臺獲取到運營商網關返回的錯誤碼時,判斷短信息是否需要進行失敗重發。
16、更進一步的,所述短信由客戶提交給短信平臺,所述短信平臺提交短信給運營商網關,所述運營商網關下發短信給用戶。
17、更進一步的,
18、所述短信平臺通過cmpp2.0/cmpp3.0/sgip1.2/smgp3.0/smpp3.4協議與運營商網關進行通訊。
19、有益效果
20、本專利技術的優點在于:
21、1.本專利技術通過設置失敗重發通道選擇流程,在短信平臺和運營商回執或者響應異常時進行有效重發,重發時支持更換不同的網關通道,提高了短信到達的成功率。
22、2.本專利技術在失敗重發通道選擇流程中,通過將錯誤碼配置在設定的非失敗重發錯誤碼中,采用反向配置錯誤碼的方式,對于像空號、停機等運營商返回的標準錯誤碼不進行重發,其他的錯誤碼均會嘗試重發。這樣即使有新的錯誤碼出現,也不用頻繁配置,減少了人工維護成本和時間。
23、3.本專利技術通過查詢之前重發成功過的運營商網關,重發時支持選擇,同樣的失敗重發錯誤碼,可直接選擇到上次重發成功的通道,而不是依次遍歷失敗重發通道組內通道進行下發嘗試,可大大降低重發時帶來的延時。
24、4本專利技術在失敗重發通道選擇流程中,根據短信的類型判斷是否進行失敗重發,對于長短信,要求在一定時間范圍內接收到所有分片的回執,且回執都失敗,各分片的回執碼都一致時,才進行重發,此舉可減少短信平臺的重發成本消耗。
本文檔來自技高網...【技術保護點】
1.一種短信平臺短信息失敗重發的方法,其特征在于,判斷短信息是否需要進行失敗重發,若需要,則進入重發通道選擇流程以進行重發運營商網關的選擇,獲取目標運營商網關,并根據所述目標運營商網關對短信息進行重發。
2.根據權利要求1所述的一種短信平臺短信息失敗重發的方法,其特征在于,獲取所述目標運營商網關的方法為:
3.根據權利要求1所述的一種短信平臺短信息失敗重發的方法,其特征在于,判斷所述短信息是否需要進行失敗重發的方法為,
4.根據權利要求3所述的一種短信平臺短信息失敗重發的方法,其特征在于,在第二步中,所述短信的整體處理時長為當前時間與短信平臺接收到客戶提交該短信的時間的差值。
5.根據權利要求1所述的一種短信平臺短信息失敗重發的方法,其特征在于,當所述短信平臺獲取到運營商網關返回的錯誤碼時,判斷短信息是否需要進行失敗重發。
6.根據權利要求1所述的一種短信平臺短信息失敗重發的方法,其特征在于,所述短信由客戶提交給短信平臺,所述短信平臺提交短信給運營商網關,所述運營商網關下發短信給用戶。
7.根據權利要求1所述
...【技術特征摘要】
1.一種短信平臺短信息失敗重發的方法,其特征在于,判斷短信息是否需要進行失敗重發,若需要,則進入重發通道選擇流程以進行重發運營商網關的選擇,獲取目標運營商網關,并根據所述目標運營商網關對短信息進行重發。
2.根據權利要求1所述的一種短信平臺短信息失敗重發的方法,其特征在于,獲取所述目標運營商網關的方法為:
3.根據權利要求1所述的一種短信平臺短信息失敗重發的方法,其特征在于,判斷所述短信息是否需要進行失敗重發的方法為,
4.根據權利要求3所述的一種短信平臺短信息失敗重發的方法,其特征在于,在第二步中,所述短信的整體處理時長為當前時間與短信平...
【專利技術屬性】
技術研發人員:王孝坤,牛梅花,韋俊妮,彭志衛,
申請(專利權)人:廣西東信易通科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。