亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種降低短信推送費(fèi)用與提升用戶體驗(yàn)的解決方案

        2021-05-09 07:14:13馮世杰馬超林樹鴻羅林波王國仕
        現(xiàn)代信息科技 2021年20期

        馮世杰 馬超 林樹鴻 羅林波 王國仕

        摘? 要:通過調(diào)查分析公司短信費(fèi)用支出的現(xiàn)狀,發(fā)現(xiàn)短信費(fèi)用高昂的問題,文章就此提出一種顯著降低費(fèi)用的解決方案——設(shè)計(jì)開發(fā)新一代業(yè)務(wù)消息綜合網(wǎng)關(guān)系統(tǒng)。全面闡述系統(tǒng)的基本功能、業(yè)務(wù)流程以及技術(shù)原理、技術(shù)實(shí)現(xiàn),通過部分采用免費(fèi)的消息推送通道替代收費(fèi)短信網(wǎng)關(guān),指出該方案有助于替代公司部分業(yè)務(wù)系統(tǒng)的短信發(fā)送,降低短信費(fèi)用,提升用戶體驗(yàn)。

        關(guān)鍵詞:消息綜合網(wǎng)關(guān);消息隊(duì)列;富文本

        中圖分類號:TP311? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2021)20-0135-04

        A Solution to Reduce SMS Push Cost and Improve User Experience

        FENG Shijie, MA Chao, LIN Shuhong, LUO Linbo, WANG Guoshi

        (Information and Communication Branch of Hainan Power Grid Co., Ltd., Haikou? 570203, China)

        Abstract: Through the investigation and analysis of the current situation of the companys short message expenses, it is found that the short message cost is high. This paper puts forward a solution to significantly reduce the cost—designing and developing a new generation of business message integrated gateway system. This paper comprehensively expounds the basic functions, business processes, technical principles and technical implementation of the system, the free message push channels are used partially to replace the charging SMS gateway. It is pointed out that this scheme is helpful to replace the short message sending of some business systems of the company, reduce SMS costs and improve user experience.

        Keywords: message integrated gateway; message queue; rich text

        0? 引? 言

        目前公司內(nèi)部會議通知、業(yè)務(wù)工單信息、業(yè)務(wù)告警消息、外部催費(fèi)短信、停電通知等內(nèi)外部消息均通過短信平臺進(jìn)行發(fā)送,隨著公司數(shù)字化業(yè)務(wù)的不斷發(fā)展,以及公司對客戶服務(wù)滿意度不斷提升的要求,消息推送數(shù)量和內(nèi)容越來越多,造成公司短信通道費(fèi)劇增。

        隨著通信技術(shù)和移動互聯(lián)網(wǎng)的飛速發(fā)展,帶寬和流量不再是應(yīng)用瓶頸,免費(fèi)多媒體通信平臺越來越多,使用比較高頻的包括微信、公眾號、APP等,使用短信的用戶越來越少,公司消息通知業(yè)務(wù)也可與時(shí)俱進(jìn)。

        1? 現(xiàn)狀

        公司現(xiàn)有的短信網(wǎng)關(guān)封裝各運(yùn)營商提供的短信API接口,以Webservice提供短信接口服務(wù),公司授權(quán)業(yè)務(wù)系統(tǒng)都可直接調(diào)用該接口發(fā)送短信,包括業(yè)務(wù)辦理通知類、用電提醒通知類、內(nèi)部職工使用通知、派單類、宣傳通知類,不同業(yè)務(wù)系統(tǒng)對消息的實(shí)時(shí)性和到達(dá)率有不同層次的要求,其中客戶業(yè)務(wù)辦理、停復(fù)電繳費(fèi)通知類對實(shí)時(shí)性要求最高,有些業(yè)務(wù)系統(tǒng)消息短信推送不能被替換,但還有一部分業(yè)務(wù)系統(tǒng)消息推送是可以采用免費(fèi)的推送渠道,或增加免費(fèi)推送渠道配合短信推送,取得更好的用戶體驗(yàn)。

        2? 問題與需求

        公司當(dāng)前存在兩個(gè)主要問題:一是短信費(fèi)用居高不下。二是短信文本內(nèi)容字?jǐn)?shù)和形式受限,通常單條短信是70個(gè)字(含70)以內(nèi)的,超出70個(gè)字的短信是長短信,手機(jī)用戶看到的是一條,實(shí)際網(wǎng)關(guān)會按照多條計(jì)費(fèi),每67個(gè)字計(jì)費(fèi)一次,同時(shí)短信只支持文字,不支持語音、圖片、視頻等多媒體,因此導(dǎo)致交互受限,用戶體驗(yàn)有限,單一的短信消息形式已經(jīng)不能滿足電網(wǎng)業(yè)務(wù)發(fā)展需要,需豐富消息投送渠道,因此迫切需要一個(gè)平臺來解決這些問題。

        3? 確定目標(biāo)

        通過對公司需要發(fā)送消息的業(yè)務(wù)系統(tǒng)進(jìn)行調(diào)查分類,根據(jù)系統(tǒng)消息實(shí)時(shí)性、送達(dá)率要求,對接收消息的客戶類型進(jìn)行分析,在滿足業(yè)務(wù)需求的情況下,選擇最合適的投送渠道,我們設(shè)計(jì)開發(fā)新一代電網(wǎng)業(yè)務(wù)消息綜合網(wǎng)關(guān),對業(yè)務(wù)系統(tǒng)消息來源和消息推送渠道統(tǒng)一管理。

        4? 功能介紹

        新一代數(shù)字電網(wǎng)業(yè)務(wù)消息綜合網(wǎng)關(guān)平臺設(shè)計(jì)實(shí)現(xiàn)的功能主要包括接入服務(wù)管理,通過原有業(yè)務(wù)系統(tǒng)與短信網(wǎng)關(guān)的接口規(guī)范,WebService調(diào)用;用戶數(shù)據(jù)導(dǎo)入,將每個(gè)系統(tǒng)的消息發(fā)送目標(biāo)用戶導(dǎo)入新的網(wǎng)關(guān)進(jìn)行統(tǒng)一分類管理;消息調(diào)度管理,即消息的收發(fā)處理、返回值管理、消息發(fā)送狀態(tài)的監(jiān)控、優(yōu)先級的調(diào)度和消息的提醒服務(wù);推送渠道管理,分別按照elink、微信、QQ、APP、短信的接口規(guī)范進(jìn)行對接,處理消息的發(fā)送,對這些推送渠道進(jìn)行管理,也可以同時(shí)選擇多渠道發(fā)送;統(tǒng)計(jì)查詢管理,對消息發(fā)送的送達(dá)率等進(jìn)行統(tǒng)計(jì)分析;系統(tǒng)配置管理,包括服務(wù)主從配置、權(quán)限認(rèn)證、發(fā)送頻率與優(yōu)先級的配置等。

        5? 平臺特點(diǎn)

        平臺系統(tǒng)采用高可用標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)部署,保持服務(wù)持續(xù)性,消息管理服務(wù)采用主備的結(jié)構(gòu),兩臺服務(wù)器采用心跳方式探測對方是否在線。建立數(shù)據(jù)緩存層和數(shù)據(jù)貼源層,接管業(yè)務(wù)系統(tǒng)的消息推送服務(wù),對各類消息數(shù)據(jù)分類、整合及匯總,建立統(tǒng)一的消息集市,支持與各類源系統(tǒng)的對接,在接口架構(gòu)設(shè)計(jì)上遵循現(xiàn)有短信網(wǎng)關(guān)的設(shè)計(jì)原則,減少與各源系統(tǒng)對接的技術(shù)障礙,降低系統(tǒng)對接成本與風(fēng)險(xiǎn)。系統(tǒng)渠道推送管理模塊先連接主,失敗后再連接備,備接替主,主恢復(fù)后,備自動斷開已建的連接,渠道推送管理模塊請求主服務(wù)分配線程,對應(yīng)的渠道管理服務(wù)直接連接該線程,通過ping保持長連接,后臺請求主服務(wù)分配線程,后臺直接連接該線程發(fā)送消息。系統(tǒng)采用JAVA實(shí)現(xiàn),網(wǎng)絡(luò)超時(shí)采用時(shí)間輪,消息隊(duì)列+事件驅(qū)動。技術(shù)架構(gòu)與數(shù)據(jù)模型設(shè)計(jì)能夠兼容多種消息類型,架構(gòu)支持日消息總量400萬以上的擴(kuò)展,可通過簡單處理節(jié)點(diǎn)的擴(kuò)容實(shí)現(xiàn)處理能力的同步擴(kuò)容而無須調(diào)整系統(tǒng)架構(gòu)以及程序結(jié)構(gòu)。通過切換電網(wǎng)內(nèi)部某業(yè)務(wù)系統(tǒng)消息推送的服務(wù)端口,指向新一代業(yè)務(wù)消息綜合網(wǎng)關(guān)平臺,系統(tǒng)實(shí)現(xiàn)邏輯圖如圖1所示,業(yè)務(wù)源模型如圖2所示。

        6? 技術(shù)路線

        新一代的數(shù)字電網(wǎng)業(yè)務(wù)消息綜合網(wǎng)關(guān)的采用的技術(shù)框架如圖3所示。

        平臺系統(tǒng)采用RPC調(diào)用框架Venus,采用OSP協(xié)議來封裝RPC調(diào)用,底層通信協(xié)議采用Netty,傳輸協(xié)議使用Thrift,數(shù)據(jù)庫選MySQL,消息隊(duì)列用Kafka,應(yīng)對高吞吐量消息推送場景。Venus框架是一個(gè)去中心化的RPC調(diào)用框架,Client端對Server端的調(diào)用由proxy進(jìn)行轉(zhuǎn)發(fā)。Client到Local Proxy,以及Local Proxy到Server端保持TCP長連接。Proxy提供跨語言支持服務(wù)治理,服務(wù)發(fā)現(xiàn),路由調(diào)度,限流熔斷等功能,并額外支持HTTP GET +URL Path/Parameter,HTTP POST +JSON和RPC OSP協(xié)議的轉(zhuǎn)換。Proxy分為Local Proxy和Remote Proxy。Local Proxy和Client部署在同一臺服務(wù)器上,通過Domain Socket,減少TCP棧的調(diào)用開銷。Remote Proxy作為備用鏈路,跨組織調(diào)用。

        消息網(wǎng)關(guān)依賴kafka隊(duì)列,分成消息受理隊(duì)列,消息異步落盤隊(duì)列,延時(shí)寫入隊(duì)列,反饋隊(duì)列等。整個(gè)消息網(wǎng)關(guān)都是異步化操作,消息的分發(fā)有可能早于消息的落盤,這樣在數(shù)據(jù)庫消息發(fā)送狀態(tài)更改時(shí),就會出現(xiàn)無法找到的情況??梢圆捎醚訒r(shí)隊(duì)列,對消息發(fā)送狀態(tài)的落盤動作進(jìn)行延時(shí)寫入。

        7? elink推送的實(shí)現(xiàn)

        elink推送實(shí)現(xiàn)首先保留了短信網(wǎng)關(guān)的WEBSERVICE發(fā)送服務(wù)elink模塊新開發(fā)一個(gè)WEBSERVICE的消息接收服務(wù),通過配置IP,把業(yè)務(wù)消息源系統(tǒng)切換指向elink消息接收服務(wù)的IP地址,通過接收服務(wù)我們獲取了消息數(shù)據(jù)后放到消息隊(duì)列里,通過elink推送。

        業(yè)務(wù)系統(tǒng)消息的數(shù)據(jù)歸集,數(shù)據(jù)歸集內(nèi)容包括令牌(token,通過getToken方法獲得的token字符串),手機(jī)號碼(mobilelist),發(fā)送消息的內(nèi)容(content),當(dāng)獲取過來的手機(jī)號碼在elink的通信錄里找不到,則此條消息我們直接調(diào)用短信網(wǎng)關(guān)的服務(wù),以短信的方式發(fā)出。

        elink消息發(fā)送的實(shí)現(xiàn)方法為:

        public static void main(String[] args) throws IOException, TimeoutException {

        ConnectionFactory connectionFactory = get Connection Factory();

        Connection newConnection = null;

        Channel createChannel = null;

        try {

        newConnection = connectionFactory.new Connection();

        createChannel = newConnection.createChannel();

        /**

        * 聲明一個(gè)隊(duì)列。

        * 參數(shù)一:隊(duì)列名稱

        * 參數(shù)二:是否持久化

        * 參數(shù)三:是否排外? 如果排外則這個(gè)隊(duì)列只允許有一個(gè)消費(fèi)者

        * 參數(shù)四:是否自動刪除隊(duì)列,如果為true表示沒有消息也沒有消費(fèi)者連接自動刪除隊(duì)列

        * 參數(shù)五:隊(duì)列的附加屬性

        * 注意:

        * 1.聲明隊(duì)列時(shí),如果已經(jīng)存在則放棄聲明,如果不存在則會聲明一個(gè)新隊(duì)列;

        * 2.隊(duì)列名可以任意取值,但需要與消息接收者一致。

        * 3.一定在發(fā)送消息前確認(rèn)隊(duì)列名稱已經(jīng)存在RabbitMQ中,否則消息會發(fā)送失敗。

        */

        createChannel.queueDeclare(“sms.queue”, true, false, false,null);

        /**

        * 接收消息。會持續(xù)堅(jiān)挺,不能關(guān)閉channel和Connection

        * 參數(shù)一:隊(duì)列名稱

        * 參數(shù)二:消息是否自動確認(rèn),true表示自動確認(rèn)

        接收完消息以后會自動將消息從隊(duì)列移除。

        * 參數(shù)三:消息接收者的標(biāo)簽,用于多個(gè)消費(fèi)者同時(shí)監(jiān)聽一個(gè)隊(duì)列時(shí)用于確認(rèn)不同消費(fèi)者。

        * 參數(shù)四:消息接收者

        */

        createChannel.basicConsume(“sms.queue”, true, new DefaultConsumer(createChannel) {

        @SneakyThrows

        @Override

        public void handleDelivery(String consumerTag, Envelope envelope,

        BasicProperties properties,

        byte[] body) throws IOException {

        String string = new String(body, “UTF-8”);

        System.out.println(“接收到消息: -》 “ + string);

        //1、使用JSONObject

        try{

        JSONObject jsonObject=JSONObject.parseObject(string);

        ReqParam reqParam = JSONObject.parseObject(String.valueOf(jsonObject),ReqParam.class);

        MsgJson msgJson = null;

        if (null != reqParam){

        msgJson = JSONObject.parseObject(reqParam.getData(),MsgJson.class);

        }

        String memberMobile = “”;

        String content = “”;

        if (null != msgJson){

        String[] memberMobiles = msgJson.getMobilelist().split(“;”);

        if (null != memberMobiles && memberMobiles.length > 0){

        for (int i = 0; i < memberMobiles.length; i++) {

        memberMobile = memberMobiles[i];

        content = msgJson.getContent();

        java.sql.Connection conn = DBCPConnectionPool.getInstance().getConnection();

        String elinkId = getElinkId(conn,memberMobile);

        sendMessage(elinkId,content);

        System.out.println(“消息發(fā)送成功。”);

        insertHndwMessage(memberMobile, “”, content, elinkId,reqParam.getReqId());

        System.out.println(“消息消費(fèi)成功,插入歷史表”);

        }

        }

        }

        }catch (Exception e){

        System.out.println(“處理消息失敗”);

        }

        }

        });

        } catch (Exception e) {

        e.printStackTrace();

        } finally {

        }

        }

        8? 結(jié)? 論

        通過實(shí)施新一代數(shù)字電網(wǎng)業(yè)務(wù)消息綜合網(wǎng)關(guān),對各類面向客戶、內(nèi)部員工的消息進(jìn)行統(tǒng)一歸口管理,對可取代短信的業(yè)務(wù)類型,全面替代;需要豐富推送方式的業(yè)務(wù)類型進(jìn)行全面改造,達(dá)到降低企業(yè)短信費(fèi)用、擴(kuò)充消息應(yīng)用場景、豐富用戶體驗(yàn)的目標(biāo),在滿足企業(yè)需求的情況下取得如下效果:系統(tǒng)穩(wěn)定運(yùn)行,及時(shí)收到業(yè)務(wù)系統(tǒng)信息通知,僅保留必要的短信發(fā)送,其他采用eLink或其他免費(fèi)通道進(jìn)行消息推送,將替換的業(yè)務(wù)系統(tǒng)短信費(fèi)用降至零,業(yè)務(wù)源消息歸集成功率≥99.99%,送達(dá)成功率≥99.9%,達(dá)到預(yù)期的效果,同時(shí)采取多項(xiàng)措施保證平臺運(yùn)行穩(wěn)定性,包括主從熱備,服務(wù)器DOWN機(jī)自動啟動,對信息推送的目標(biāo)用戶進(jìn)行電話回訪,調(diào)查替換后的用戶體驗(yàn),每天統(tǒng)計(jì)消息送達(dá)率,進(jìn)行持續(xù)觀察。

        參考文獻(xiàn):

        [1] 廖寧,楊文.智慧校園高校統(tǒng)一消息中心平臺的設(shè)計(jì)與實(shí)現(xiàn) [J].電腦知識與技術(shù),2019,15(19):93-95.

        [2] 丁磊.基于WebSocket的消息推送系統(tǒng)設(shè)計(jì)與事件匹配技術(shù)研究 [D].北京:北京郵電大學(xué),2014.

        [3] 楊樂.基于WebSocket的信息推送服務(wù)平臺設(shè)計(jì)與實(shí)現(xiàn) [D].南京:東南大學(xué),2017.

        [4] 韓雪松,林霞.基于大數(shù)據(jù)的精準(zhǔn)推送分類信息發(fā)布平臺 [J].電腦知識與技術(shù),2020,16(14):86-87+91.

        [5] 陳相余.云平臺下消息推送系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].成都:電子科技大學(xué),2021.

        作者簡介:馮世杰(1988—),男,漢族,海南萬寧人,工程師,本科,研究方向:數(shù)據(jù)庫;

        馬超(1989—),男,漢族,湖北荊州,高級工程師,本科,研究方向:系統(tǒng)集成;

        林樹鴻(1995—),男,漢族,海南萬寧人,工程師,本科,研究方向:信息化、數(shù)字化應(yīng)用建設(shè);

        羅林波(1982—),男,漢族,湖北紅安人,高級工程師,碩士研究生,研究方向:電力信息化;

        王國仕(1986—),男,漢族,海南海口人,工程師,碩士研究生,研究方向:信息系統(tǒng)建設(shè)與運(yùn)維

        欧美中文字幕在线看| 亚洲大尺度无码无码专区| 国产a在亚洲线播放| 一区二区三区高清视频在线| 亚洲一区二区三区精品久久av| 人妻久久久一区二区三区蜜臀 | av中文字幕综合在线| 伊人久久亚洲综合影院首页| 精品人妻一区二区久久| 男女啪啪视频高清视频| 天天干天天日夜夜操| 最近在线更新8中文字幕免费| 中国一级毛片在线观看| 国产又粗又猛又黄色呦呦| 久久久精品国产免费看| 国产午夜福利精品一区二区三区| 国产白嫩美女在线观看| 亚洲欧美日韩精品高清| 亚洲精品高清av在线播放| 精品乱色一区二区中文字幕 | 国产一品二品三品精品久久| 中文有码人妻字幕在线| 国产xxxxx在线观看| 亚洲成av人片在线观看无码| 99热这里只有精品国产66| 五月综合丁香婷婷久久| 国产av天堂亚洲国产av天堂| 成人性生交片无码免费看| 成人国产精品免费网站| 视频女同久久久一区二区| 亚洲熟女www一区二区三区| 亚洲在AV极品无码天堂手机版| 国产免费人成视频在线观看播放| 中文字幕人妻在线少妇完整版| 日本本土精品午夜视频| 亚洲视频在线观看| 久久精品无码鲁网中文电影| 99热最新在线观看| 亚洲综合网中文字幕在线| 人妻系列中文字幕av| 强d乱码中文字幕熟女免费|