摘 要:提出一種與IBM Domino系統(tǒng)設(shè)計(jì)的OA對(duì)接的短信平臺(tái)。該平臺(tái)通過C#實(shí)現(xiàn)了Domino系統(tǒng)與企業(yè)短信通的無網(wǎng)絡(luò)對(duì)接,通過對(duì)MySQL數(shù)據(jù)庫操作和串口模塊設(shè)計(jì),在保障可用有效的情況下實(shí)現(xiàn)了系統(tǒng)的網(wǎng)絡(luò)安全隔離。
關(guān)鍵詞:短信平臺(tái);OA;MySQ;串口;C#
引言
目前,OA服務(wù)已經(jīng)廣泛應(yīng)用于各行各業(yè),其中OA的短信通知成為OA系統(tǒng)的一個(gè)獨(dú)立的功能模塊。而對(duì)于正常的企業(yè)OA系統(tǒng)來說,規(guī)模較小的可以通過接入短信貓進(jìn)行短信發(fā)送,規(guī)模較大的則可以通過與企信通等相關(guān)服務(wù)運(yùn)營(yíng)商進(jìn)行接口對(duì)接。兩者各有利弊,在實(shí)際工作中,短信貓的模式設(shè)計(jì)容易出現(xiàn)系統(tǒng)短信堵塞、運(yùn)營(yíng)商對(duì)垃圾短信的屏蔽造成誤鎖SM卡等;而企信通等的接入,大多通過數(shù)據(jù)庫的接口對(duì)接,而這又將產(chǎn)生網(wǎng)絡(luò)安全問題。汕頭空管站使用第三方開發(fā)的OA系統(tǒng),該系統(tǒng)通過IBM Domino進(jìn)行設(shè)計(jì),通過MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ),而出于空管信息安全性的考慮,OA系統(tǒng)搭建了自身的局域網(wǎng)絡(luò),稱為OA網(wǎng)。對(duì)于該網(wǎng)絡(luò)的安全和訪問要求,有著相關(guān)政策和安全保障標(biāo)準(zhǔn)的規(guī)定。文章提出一種短信平臺(tái),通過數(shù)據(jù)庫操作模塊和網(wǎng)絡(luò)串口模塊實(shí)現(xiàn)了OA系統(tǒng)與企信通的無網(wǎng)絡(luò)連接。
1 總體設(shè)計(jì)
由于OA系統(tǒng)是由IBM Domino系統(tǒng)操作MySQL數(shù)據(jù)庫,對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)處理和讀取,因此這也提供了處理短信接口功能基礎(chǔ)數(shù)據(jù)。也就是說只要通過讀取MySQL短信信息對(duì)即將發(fā)送的短信進(jìn)行處理后發(fā)送給予移動(dòng)企信通。而在對(duì)于企信通的對(duì)接上,系統(tǒng)又可以采取非網(wǎng)絡(luò)TCP/IP方式,就可以簡(jiǎn)單實(shí)現(xiàn)網(wǎng)絡(luò)隔離。因此,總體設(shè)計(jì)如圖1。
2 系統(tǒng)設(shè)計(jì)
2.1 MySQL數(shù)據(jù)庫操作模塊設(shè)計(jì)
在該模塊中系統(tǒng)將處理來自O(shè)A內(nèi)部局域網(wǎng)的短信處理表。并對(duì)其進(jìn)行進(jìn)一步處理。于短信平臺(tái)需要存儲(chǔ)相關(guān)信息,因此系統(tǒng)將設(shè)計(jì)提供一個(gè)按照日期命名的txt文檔用于存儲(chǔ)歷史文件方便對(duì)后期的數(shù)據(jù)查詢。按照以上所述設(shè)計(jì)方案,系統(tǒng)將有兩臺(tái)PC機(jī)參與短信平臺(tái)工作,一臺(tái)將用于MySQL數(shù)據(jù)庫處理模塊,在OA網(wǎng)內(nèi)。另一臺(tái)則用于接入Internet與短信通對(duì)接,兩者通過串口模塊進(jìn)行通信。因此對(duì)于與MySQL數(shù)據(jù)庫對(duì)接的數(shù)據(jù)操作模塊,也必須提供串口通信設(shè)計(jì)。因此,系統(tǒng)采用C#進(jìn)行編寫,可以有以下思路。首先是對(duì)數(shù)據(jù)庫進(jìn)行操作:
string ConnectionString = "Database=oasms;Data Source=localhost;User Id=root;Password=password"; MySqlConnection dbconn = new MySqlConnection(ConnectionString); MySqlCommand cmd = dbconn.CreateCommand();
cmd.Connection.Open();
cmd.CommandType = CommandType.Text;
MySqlDataReader reader;
cmd.CommandText = "select * from outsm where SENTSTATUS is null;update outsm set SENTSTATUS=1 where SENTSTATUS is null";
reader = cmd.ExecuteReader();
……
在數(shù)據(jù)庫中,字段SENTSTATUS用于判別系統(tǒng)是否已發(fā)送該信息,因此數(shù)據(jù)庫處理模塊只要檢測(cè)到該信息的SENTSTATUS為NULL則可以按照未發(fā)送信息提取到短信平臺(tái)等待發(fā)送。
2.2 企信通接口模塊
對(duì)于企信通,是移動(dòng)第三方廠家提供的一個(gè)短信服務(wù)平臺(tái),由3.1提取的信息經(jīng)過整理成規(guī)定接口格式后便可實(shí)現(xiàn)短信發(fā)送。在實(shí)現(xiàn)過程,系統(tǒng)將固定格式的txt文件生成保存到規(guī)定路徑下,同時(shí)在該P(yáng)C機(jī)運(yùn)行相關(guān)企信通服務(wù),該服務(wù)將在規(guī)定路徑下讀取相關(guān)短信信息通過網(wǎng)絡(luò)發(fā)送到廠家企信通平臺(tái)進(jìn)行短信發(fā)送。該模塊實(shí)現(xiàn)可以通過C#編寫如下:
FileStream fs1=new FileStream("路徑"+DateTime.Now.ToLongDateString()+".txt",F(xiàn)ileMode.Create,F(xiàn)ileAccess.Write);//創(chuàng)建寫入文件
StreamWriter sw = new StreamWriter(fs1);
sw.WriteLine(richTextBox2.Text);//開始寫入值
richTextBox2.Text = "";
label7.Text = DateTime.Now.ToLongDateString()+"數(shù)據(jù)定時(shí)保存!";
sw.Close();
fs1.Close();
3 結(jié)束語
文章通過設(shè)計(jì)一款能夠在OA內(nèi)網(wǎng)中操作MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)整理、通過串口傳輸相關(guān)信息到Internet的OA短信平臺(tái),該平臺(tái)通過C#編寫,實(shí)現(xiàn)了內(nèi)部網(wǎng)絡(luò)與Internet的隔離與短信的安全有效發(fā)送,目前已投入使用。
參考文獻(xiàn)
[1]陸劍江,錢培德,楊季文.OA系統(tǒng)的現(xiàn)狀及發(fā)展趨勢(shì)研究[J].辦公自動(dòng)化,2003(07).
[2]陳兵等編著.電子政務(wù)技術(shù)與安全[M].北京大學(xué)出版社,2003.
[3]靳肖閃.WebOA應(yīng)用安全關(guān)鍵技術(shù)研究與應(yīng)用[D].國(guó)防科學(xué)技術(shù)大學(xué),2003.
作者簡(jiǎn)介:柯鉞鎧(1990-),男,廣東潮州人,本科,民航汕頭空管站助理工程師,研究方向?yàn)檗k公信息化與雷達(dá)導(dǎo)航信息化。