伴隨著手機(jī)的普及與人們生活節(jié)奏的加快,短信作為一種信息傳遞方式以其及時、廉價等突出的優(yōu)點,引起了各行各業(yè)的普遍關(guān)注和重視?,F(xiàn)有企業(yè)業(yè)務(wù)告知方式若以人工或者電話方式為主,則需要花費大量的精力和時間。若依托現(xiàn)有的信息系統(tǒng)搭建短信平臺則可以有效地解決問題,進(jìn)一步優(yōu)化信息系統(tǒng)服務(wù)、提高工作效率。企業(yè)為了適應(yīng)社會的潮流發(fā)展,以提高生產(chǎn)信息的分析和傳遞效率,短信平臺的研發(fā)應(yīng)運(yùn)而生。
1 功能需求
1.1 功能性需求
平臺需要實現(xiàn)獨立的,不區(qū)分類別(移動、聯(lián)通、電信)的短信發(fā)送功能,為企業(yè)需要使用短信發(fā)送功能的信息系統(tǒng)提供 Web 服務(wù)接口,使信息系統(tǒng)可以非常便捷的實現(xiàn)短信發(fā)送功能,避免因為運(yùn)營商提供短信發(fā)送方式的改變而造成的各信息系統(tǒng)之間的重復(fù)建設(shè),并在一定程度上緩解短信發(fā)送的資源搶占問題。
1.1.1 接口服務(wù)
(1)能夠提供通用 Web Service 接口,用于各系統(tǒng)短信請求的接收,并對各系統(tǒng)短信
發(fā)送請求發(fā)送 XML 文件格式接收回執(zhí)。
(2)能夠提供通用 Web Service 接口,
用于修改短信接收人員基礎(chǔ)信息。
(3)能夠提供通用 Web Service 接口,用于查詢短信提交狀態(tài)。
1.1.2 后臺短信發(fā)送
能夠?qū)⑵脚_ Web Service 接口端提交短信及時發(fā)送出去并對平臺接入的信息系統(tǒng)、平臺信息以及用戶信息等進(jìn)行查詢、添加、刪除以及修改等管理性操作。
1.2 性能需求
1.2.1 可靠性
要求平臺可保障短信接收人員準(zhǔn)確無誤。
1.2.2 及時性
要求平臺在 1 分鐘內(nèi)對短信發(fā)送請求進(jìn)行處理。
1.2.3 安全性
要求平臺在企業(yè)內(nèi)網(wǎng)使用并提供根據(jù)發(fā)送者和接受者工號發(fā)送短信功能。
2 系統(tǒng)分析與設(shè)計
2.1 總體架構(gòu)
平臺的總體架構(gòu)從頂層到底層依次為: Web 接入層、應(yīng)用管理層、業(yè)務(wù)處理層以及數(shù)據(jù)存儲層,如圖 1 所示。
各部分主要功能和相關(guān)關(guān)系簡要介紹如下:
Web 接入層提供 Web Service 接口服務(wù),用于接收廠內(nèi)包含 MES 系統(tǒng)、TnPM 平臺、安防監(jiān)控系統(tǒng)等在內(nèi)的 11 個企業(yè)內(nèi)系統(tǒng)的短信發(fā)送需求接收,并對短信提交的完整性進(jìn)行初步的檢查。
應(yīng)用管理層為平臺的主要組成部分,主要包括平臺基礎(chǔ)信息維護(hù)、接入系統(tǒng)控制管理、短信檢索查詢功能以及服務(wù)狀態(tài)查詢功能等。用于對平臺本身的參數(shù)、功能以及平臺接入等進(jìn)行管理。
業(yè)務(wù)處理層為平臺的重要組成部分,主要包括短信分發(fā)功能、聯(lián)通短信發(fā)送功能、移動短信發(fā)送功能以及電信短信發(fā)送功能。各功能之間相互獨立,通過 SQL Server 以及 DB2 關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,并對短信發(fā)送的完整性進(jìn)行進(jìn)一步的檢查。其中,聯(lián)通短信發(fā)送功能使用聯(lián)通公司提供的互聯(lián)網(wǎng)接口服務(wù)進(jìn)行短信發(fā)送;移動短信發(fā)送功能使用移動公司提供的 API 接口服務(wù)進(jìn)行短信發(fā)送;電信短信發(fā)送功能采用短信貓方式進(jìn)行短信發(fā)送。在實現(xiàn)平臺短信發(fā)送功能的同時也可以用于比較各種發(fā)送短信方式之間的比較。經(jīng)過對比使用,互聯(lián)網(wǎng)方式的短信發(fā)送方式在企業(yè)環(huán)境內(nèi)運(yùn)行更加穩(wěn)定可靠。
數(shù)據(jù)存儲層主要包含 SQL 以及 DB2 兩種關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)存儲。其中,SQL Server
關(guān)系型數(shù)據(jù)庫為平臺的主數(shù)據(jù)庫,存儲平臺相關(guān)的所有數(shù)據(jù)信息;DB2 關(guān)系型數(shù)據(jù)庫存儲平臺處理好后的電信短信,方便后續(xù)的單獨處理。
2.2 數(shù)據(jù)庫
根據(jù)系統(tǒng)功能模塊設(shè)計,抽象出了人員信息模型、短息提交模型、短信明細(xì)模型、歷史短信查詢模型、短信系統(tǒng)來源模型、系統(tǒng)優(yōu)先級模型、供應(yīng)商類型模型、聯(lián)通短信狀態(tài)模型、移動短信狀態(tài)模型以及移動 API 狀態(tài)模型等11 個數(shù)據(jù)模型,并建立了模型間的關(guān)聯(lián)關(guān)系。
3 系統(tǒng)實現(xiàn)
3.1 系統(tǒng)技術(shù)架構(gòu)
本系統(tǒng)采用 B/S 架構(gòu),借助 VS2013 工具,使用 c#.NET 研發(fā)而成,使用了 DB2 關(guān)系型數(shù)據(jù)以及 SQL Server 關(guān)系型數(shù)據(jù)庫。
3.2 系統(tǒng)部分關(guān)鍵技術(shù)展示
3.2.1 利用 LINQ 實現(xiàn) SQL Server 數(shù)據(jù)庫訪問
為了實現(xiàn)對 SQL Server 數(shù)據(jù)庫的安全、快速訪問,使用了 LINQ 技術(shù)。LINQ(Language Integrated Query,語言集成查詢)是微軟公司提供的一項技術(shù),能夠?qū)⒉樵児δ苤苯右氲?.NET Framework3.5 及以上版本所制成的編程語言中。LINQ 主要包括 4 個組件:LINQ to Objects、LINQ to SQL、LINQ to DataSet 和 LINQ to XML,他們分別查詢處理對象數(shù)據(jù)、關(guān)系數(shù)據(jù)、DataSet 對象數(shù)據(jù)和 XML 結(jié)構(gòu)數(shù)據(jù)。使用 LINQ 可以大量減少查詢以及操作數(shù)據(jù)庫或者數(shù)據(jù)源中的數(shù)據(jù)使用代碼,并在一定程度上避免 SQL 語句注入,從而提高應(yīng)用程序的安全性。
經(jīng)過考察,某些短信平臺在每次接收到短信發(fā)送請求后,均需對短信運(yùn)營商類型進(jìn)行判斷之后再發(fā)送,該處理方式是針對每一條短信進(jìn)行判斷處理,即使是發(fā)送給同一個手機(jī)號的短信,也需要進(jìn)行運(yùn)營商類型判斷,存在重復(fù)判斷的過程,降低了短信發(fā)送的效率。
結(jié)語
平臺在研發(fā)成功并投入實際使用后,短信發(fā)送效果良好,穩(wěn)定可靠。平臺本身可移植性強(qiáng),對類似的功能具有借鑒性。在平臺下一步的運(yùn)維中,將針對不同系統(tǒng)設(shè)置系統(tǒng)的優(yōu)先級并根據(jù)優(yōu)先級隊列對短信進(jìn)行差異性發(fā)送。
請點擊或撥打咨詢熱線: 180-3028-9605 同微,我們會詳細(xì)為你一一解答你心中的疑難。項目經(jīng)理在線