【摘要】針對礦山企業對短信發送平臺的需求,提出了一種新的短信發送系統,該系統與人員定位管理系統實現了對接,可以根據自己的業務需求靈活進行配置,實現針對不同人群發不同短信的功能,實際應用表明,系統易于操作,有助于提高工作效率和人性化管理。
【關鍵詞】煤礦;短信平臺;設計與實現
Abstract:This article proposes a new short message management system in order to satisfy the mining enterprisesdemands.This system has the ability to communicate with the personnel positioning system and allows flexible configurations for various business requirements.Different groups of people in a company may receive different messages.The actual practice shows that it is easy to operate this system and it can also help improve the efficiency and the level of the humanized management.
Key Words:Coal Mine;SMS Platform;Design and Implementation
1.引言
隨著企業短信的蓬勃發展,短信貓作為一種能夠自由進行點對點通信的設備日益受到行業軟件開發商的關注[1]。礦山企業的信息化不僅對硬件提出了更高的要求,軟件更要符合礦山企業的業務需求。本文設計并實現了一種利用短信貓自動發送短信的系統,該系統不僅具有大多數類似系統的短信單發、群發功能,而且系統和井下人員定位系統集成,能夠針對礦上不同員工發送不同的定制內容短信。
2.系統組成
煤礦短信發送平臺系統由短信貓、接收器、人員定位數據庫服務器、短信平臺數據庫服務器、客戶端計算機組成。其中接收器選用KJF91A接收器,負責接收人員定位有源卡的信息。短信平臺數據庫服務器用來存儲緩沖數據和歷史發送記錄,人員定位數據庫服務器用于存儲人員信息,短信貓則選用支持標準AT指令的WAVECOM GSM短信終端。
3.系統工作流程
煤礦短信發送平臺系統可以按照礦方的要求來為不同的員工發送定制內容的短信,這里以為實時上井人員家屬發送平安短信為例,要求當員工上井之后,實時給其家屬發送一條升井提示短信。系統的工作流程如圖1所示:
圖1 上井提示流程圖
接收器每接收到一名上井人員的有源卡信息后,則會插入一條記錄到人員定位數據庫PersonDayDutyRecord日考勤表中,這樣我們就可以通過該表來找出實時上井的人員發射器號。當軟件平臺啟動以后,會觸發兩個線程ScanThread和SendThread。ScanThread每隔500毫秒掃描得到PersonDayDutyRecord中最新增加的200條數據(考慮到實際應用中,同時上井人數不會超過200人)放入T_Copy表中,然后與上一次掃描得到的T_Backup中的數據比較得到新的上井人員的發射器號,然后通過人員定位數據庫中PeopleSender表和People表找到這些人員的聯系方式等信息放入T_Wait表(表結構如表1所示),SendThread則會不間斷掃描T_Wait表中的數據,為其中的每一條數據中指定的電話號碼發送指定內容的信息,成功發送短信之后則將該條記錄從T_Wait中刪除,同時在歷史表T_History$$yyyyMMdd$$(表結構如表2所示)和日志文件Log$$yyyyMMdd$$中各添加一條。
表1 T_Wait表結構
列名 數據類型 備注
PeoPle_id int 人員編號
People_name varchar(32) 人員姓名
Type int 短信類型
Telephone varchar(32) 電話號碼
Time datetime 記錄生成時間
Message text 短信內容
表2 T_History表結構
列名 數據類型 備注
SendTime datetime 短信發送時間
Type int 發送短信類型
Name varchar(32) 姓名
Telephone varchar(32) 電話號碼
Message text 短信內容
4.系統設計與實現
煤礦短信發送平臺軟件采用CS結構,采用C#作為編程語言,數據庫使用SQL Server 2000數據庫,開發過程中通過調用DLL動態鏈接庫中的函數來操作設備進行短信的發送和接收,主要的函數有:
Sms_Connection(uint Com_Port, uint Com_BaudRate, String Mobile_Type);
Sms_Send(String TelNum, String Sms_Text);
Sms_Receive(String Sms_Type, String Sms_Text);
Sms_Disconnection();
其中主要參數的含義如表3所示。
表3 各個參數的意義
參數名稱 參數意義
Com_Port 串口號(0為紅外接口,1,2,3為串口號)
Com_BaudRate 波特率
Mobile_Type 返回終端型號
TelNum 要發送短信的手機號碼
Sms_Text 發送/接收的短信內容
Sms_Type 短信類型(0:未讀短信;1:已讀短信;2:待發短信;3:已發短信;4:全部短信)
4.1 硬件選擇
系統選用WAVECOM GSM短信貓作為發送終端,通過USB數據線連接到服務器,短信平臺數據庫安裝到普通研華工控機上。
4.2 數據庫設計
系統需要用到兩個數據庫,一個是短信平臺數據庫,另一個是人員定位數據庫。本文主要介紹短信平臺數據庫,它主要包括4張表,其中T_Copy和T_Backup兩張表用來存儲上井人的發射器號,通過這兩張表可以找出新上井人的發射器號;T_Wait表用來存儲待發送人員的信息;T_History$$yyyyMMdd$$表用來存儲已發送的短信記錄。
4.3 系統主要功能模塊設計
短信平臺發送系統包括4個功能模塊,客戶端功能界面如圖2所示,各個功能模塊的介紹如下:
圖2 系統功能界面
(1)軟件配置管理
為了方便維護,設計了一個程序配置界面。通過配置界面和配置文件,可以為系統配置人員定位服務器的IP地址;短信發送歷史記錄每頁顯示的條數、刷新時間;配置不同部門不同工種的員工發送特定內容的短信息。
(2)短信息發送
個人短信:支持手動為單個手機號碼發送短信息;多人短信:可以同時為多個手機號碼發送同樣內容的短信息,多個號碼之間用“,”分隔開,也可用TXT文本導入多個手機號碼,號碼與號碼之間以回車分隔開;升井提示:從人員定位數據庫中檢索出實時升井人員的信息,根據配置文件中的設置來為不同人員發送內容不同的短信;宣傳:為人員定位數據庫中所有人員發送短信息,適合于節假日通知或者宣傳短信的發送。
(3)日志查詢和顯示
短信息發送列表中可以顯示已發送的所有的短信息的歷史記錄,此記錄保存于短信平臺數據庫中,同時將異常信息和歷史記錄以文件形式保存在磁盤中,便于查詢,方便軟件的維護。
5.結語
本文設計并實現了一個煤礦短信發送平臺系統,該系統和人員定位系統緊密結合,具有功能齊全,短信發送速度快,操作方法簡單等特點。該系統已于2013年2月在陜西煤化工集團某礦投入使用,礦方的日常管理更加科學、人性化。
參考文獻
[1]耿娜,盧建軍,王曉路.基于wavecom的煤礦瓦斯遠程監測短信業務系統設計[J].煤炭技術,2010,29(01):106-108.
[2]賀耀宜.煤礦綜合消息統一預警平臺的設計[J].工礦自動化,2008(03):89-91.
[3]劉芳.基于短信貓的短信發送平臺的設計與實現[J].電腦知識與技術,2013,9(31):7002-7005.
作者簡介:杜志剛(1986—),男,山東泰安人,碩士,助理工程師,現供職于天地(常州)自動化股份有限公司,主要從事煤礦軟件方面的開發。