于詩宇+侯祝平
摘 要:目前,在國內外交互網站領域涌現了許多成功的案例,例如:Facebook、twitter、新浪微博等等。但是,這些交互網站對巨大的用戶基數來說有一個共同的缺憾,那就是它們大都僅僅提供了單一的用戶交流渠道,而并沒有提供與用戶息息相關、關乎用戶切身需要的活動平臺。自2009年,隨著Apple IOS、Google Android等智能移動手機平臺的發布,移動客戶端以其便捷性和及時性大大削弱了普通電腦在人們日常生活中的重要性。攜程結伴系統使用Android+Eclipse+MySQL開發,該系統植根于移動端平臺的、具有專門交互功能的系統已經成為一種迫切的需求,是為解決以上交互需求問題提出的一種解決方案。
關鍵詞:攜程-結伴系統 交互系統 移動開發 java MySQL Android
中圖分類號:TP393 文獻標識碼:A 文章編號:1674-098X(2014)09(b)-0049-02
交互系統是基于網絡平臺的廣泛性、互通性、娛樂性、經濟性、安全性等優點,于本世紀初出現在網絡交流方式中的互動型服務系統。網絡交互較之其它交互方式更加經濟、安全、健康。現在的上網條件非常的便利。網上交互大多以開展文字、音頻、視頻聊天為主,無須現實中產生具體交互。網絡交友因其所進行的活動都是通過網絡進行,很大程度減少了網絡之外的交友開銷,因此是種的開銷的交友方式。現在也有很多交友網站開始推出一些各自的特色功能,讓用戶在網上交友的同時能通過更直觀的了解到對方,提高了交互網站用戶的體驗和交友成功率。交互網站的市場競爭已然很激烈,接近白熱化,若想有長遠的發展必須朝著門戶式、多元化方向發展。
1 系統的設計目標
攜程-結伴系統是專門針對已有的交互及交友網站的不足而開發的組織線下活動的系統。由于其設計之初就是針對現有交互系統的不足之處開發的,所以,攜程-結伴系統能更好的解決用戶線上交友、線下活動的需求,本系統設計就是為了方便用戶網上聯絡、方便用戶更好的參與活動。本系統補充了用戶自主聯系他人的單一聯系方式,提供了詳盡的信息發布平臺和便捷的溝通紐帶。其中包括用戶發布Together、用戶瀏覽其他用戶發布的Together由這兩個功能實現用戶的基本交流。用戶發布Together將自己組織的活動公布于眾,這是本系統主要的信息公布功能,也是本系統用戶展現自己的主要渠道,而與之相對應的就是系統其他用戶瀏覽Together,用戶通過瀏覽他人發布的Together來尋找志同道合的人,基于此兩項基本功能用戶初步完成了信息的交互。
攜程-結伴系統是基于移動客戶端的C/S架構系統,由于Android手機性能參差不齊,Android系統本身又碎片化嚴重,所以這就要求客戶端系統占用系統資源少,并且,能適配Android 2.3版本及其以上的較低版本,以服務更廣大的用戶群。
2 系統功能整體設計
2.1 用戶模塊
2.1.1 用戶注冊
在本模塊,用戶實現注冊系統,這是用戶實現登錄攜程-結伴系統的先決條件,只有用戶通過注冊才能獲得系統承認的唯一標識,已進行余后的系統操作和享受系統其他服務。為了防止用戶注冊時個人敏感信息,如:用戶郵箱、用戶手機、密碼等在網絡中明碼傳送本模塊將對用戶注冊數據進行封裝,并通過POST方式上傳至網絡服務器。在本模塊中系統將對用戶提交的注冊信息進行驗證和檢查,只用用戶提交的信息符合系統的格式和內容要求注冊才會成功,系統中將保留用戶注冊的信息并產生用戶對應本系統的唯一標識以備系統其他功能和服務調用。至此用戶注冊模塊完畢。
2.1.2 用戶登錄
用戶在完成注冊這個先決條件后才擁有登錄攜程-結伴系統的資格,登錄界面將是用戶面對的第一個系統界面,用戶需要正確填寫系統注冊時填寫的用戶郵箱和密碼并選擇相對應的用戶權限進行登錄,同樣,本模塊也涉及用戶的敏感個人信息,如:用戶郵箱、用戶密碼。為了防止用戶個人信息在網絡中進行明碼傳送,系統將對本模塊產生的數據進行封裝并采用POST方式上傳數據庫進行用戶登錄驗證,網絡服務端在驗證通過后將數據返回至View層以供手機客戶端獲取,手機客戶端在獲取登錄返回值后解析返回數據等到用戶登錄結果,以決定是否允許用戶登錄,此時系統將保留用戶登錄的ID以備系統其他服務和功能調用。至此用戶登錄模塊完畢。
2.1.3 修改個人信息
在此模塊用戶可以修改除了注冊時填寫的E-mail之外可以修改任何其他個人信息,用戶E-mail注冊時一經填寫將不得再修改,這樣才能保證系統的安全與穩定。
2.2 Together模塊
2.2.1 Together瀏覽
這是用戶登錄攜程-結伴系統成功后,與用戶進行交互的第一個界面,在這個功能模塊上將集合系統所能提供的大部分服務與功能。用戶瀏覽其他系統發布的Together信息并在用戶選擇某條信息后出示本條信息的詳細內容以供用戶判斷和決策是否是自己需要的交互內容,為用戶以后選擇是否加入本Together提供判斷依據。本模塊不涉及用戶的隱私內容所以需要做到盡量以最少的數據流量傳送更多的有價值的信息,較之于XML格式數據傳送,我們選用了JSON格式,它擁有更少的信息流量消耗和解析數據流系統資源消耗,雖然信息未經編碼,但是仍能滿足安全性需求。這樣就在安全性和實用性上做到了平衡。
2.2.2 用戶Together發布
Together發布模塊是系統用戶發布信息與其他用戶產生交互的主要途徑,在本模塊用戶需要按照系統約定的Together模式發布自己的Together信息,Together信息一經發布即刻生效,系統將在第一時間將用戶發布的Together信息輸出到每一個系統用戶的手機上,做到隨時隨地共享Together信息。由于本模塊不需要較高的安全性并且要求較高的及時性所以本模塊依然采用GET方式請求與解析JSON數據開發,以滿足用戶對時效的需求。用戶在填寫完成Together并上傳成功后,系統將返回Together發布情況結果以告知用戶Together信息發布結果和當前系統狀態。至此Together發布模塊結束。endprint
2.2.3 加入Together
用戶在瀏覽其他用戶發布的Together信息后,已經發現志同道合的Together信息就可以進行加入操作,系統將判斷此用戶是否有加入的權限并在用戶提交加入請求后返回加入結果以告知用戶。系統對開放聯系方式的Together發布者一并返回此Together發布者的聯系方式以便發起者和進行線下交互。Together模塊還將將用戶的加入信息存入數據庫以備其他查詢模塊調用。至此用戶加入Together模塊完畢。
2.2.4 Together留言
用戶在瀏覽其他用戶發布的Together信息后可以對此Together發布留言詢問相關內容等,方便系統用戶交流。
2.3 管理員模塊
管理員模塊分為用戶賬號管理和Together信息管理。包含了這兩個系統信息的基本管理功能。
2.3.1 用戶賬號管理
主要實現對違規用戶的刪除。管理員一經發現用戶發布的Together涉嫌違反法律法規以及用戶服務條款協議的,就有權對該用戶賬號進行刪除并在后臺級聯刪除用戶之前發布的一切信息進行刪除,實現此功能就保證了系統的和諧與穩定,對用戶日常使用本系統帶來便利,并有效杜絕虛假和垃圾信息對用戶造成的不良影響。
2.3.2 Together信息管理
Together信息管理主要包括對用戶發布不合乎規定的信息的刪除,管理員在此有權視其發布者違規情節輕重決定:(1)只刪除此條Together信息。(2)刪除此條Together信息發布者并級聯刪除此人發布的一切信息。這是在保護用戶享有本系統提供的服務的情況下盡可能的保證本系統的干凈和用戶獲取信息時的高效。
2.4 好友模塊
好友管理模塊分為添加好友、刪除好友與特別關注好友Together,這三個主要功能。
2.4.1 添加好友
用戶在瀏覽其他用戶發布的Together如果發現其發布者甚合心意確為志同道合之人,這就完成了系統設計的首要需求。這時就可以發起加此人為好友的申請,該申請信息將上傳至系統服務器。系統在響應到用戶加好友的申請時,將進行審核和邏輯處理,若審核通過就將計入后臺數據庫完成用戶加好友的請求,此時服務器返回對用戶該請求的處理結果已告知用戶。
2.4.2 刪除好友
用戶在添加好友后可以隨時刪除好友,刪除好友完全是用戶自主行為,其他任何人包括管理員不得干預,系統在響應到用戶刪除好友的請求后,將在數據庫刪除其與該用戶的好友關系,系統將返回對該請求的處理結果,完成刪除好友的功能。
2.4.3 特別關注好友Together
用戶一經添加其他用戶為好友后,系統將自動為其添加好友Together特別關注,用戶只要在特別關注界面查看Together信息,系統將在第一時間進行好友Together的推送,方便用戶茫茫人海中更快捷的接收到志同道合的人發送的信息,方便用戶的交流。攜程-結伴系統的功能模塊如圖1所示。
3 數據庫設計
3.1 數據庫表結構
良好的數據庫設計會使一個優秀的系統如虎添翼,無論在效率上還是在安全上都會得到巨大的提升,所以在本系統數據庫表設計之初我們就考慮到了將數據庫規范模式應用到本系統中。攜程-結伴系統中的數據庫表以按照3NF范式規范建立,數據庫表中既不包含傳遞依賴也不包含部分依賴,做到減少插入異常、刪除異常和更新異常,保證數據庫安全平穩運行。
3.2 存儲過程設計
為了實現更高效的后臺數據處理和更安全的數據庫操作,我們在后臺數據庫創建了完善的存儲過程機制,利用存儲過程可以用于降低網絡流量,存儲過程代碼直接存儲于數據庫中,所以不會產生大量T-sql語句的代碼流量。使用存儲過程能夠增強對執行計劃的重復使用,由此可以通過使用遠程過程調用(RPC)處理服務器上的存儲過程而提高性能。存儲過程可維護性高,更新存儲過程通常比更改、測試以及重新部署程序集需要較少的時間和精力并且使代碼精簡一致,一個存儲過程可以用于應用程序代碼的不同位置。其次存儲過程能增強數據庫及系統安全性,
通過向用戶授予對存儲過程(而不是基于表)的訪問權限,它們可以提供對特定數據的訪問;提高代碼安全,防止SQL注入。因此我們在攜程-結伴系統中大量的使用了存儲過程處理數據庫數據。
4 結語
該系統客戶端平臺為面向Android的移動端開發,服務端為基于JavaEE的服務器端開發。其中Android平臺運用了Java語言開發并集合了Android所提供的ADK,但系統并不局限于封裝層的ADK而是在底層重構了HTTP協議等模塊,這樣就從根本上使每個模塊都恰當的適應本系統的特定需求,大大提高了系統的性能。在服務端實現了MVC架構并運用了工廠模式、單例模式等設計模式實現了良好的程序擴展性和低耦合性,甚至代碼不需要做過多修改就可以在不同種類的數據庫、服務器上部署,這樣的設計達到了易于使用便于修改的目的。
參考文獻
[1] 呂海東,張坤.JavaEE企業級應用開發實例教程[M].北京:清華大學出版社,2010:45-167.
[2] 葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社,2006:134.
[3] 王永貴.Java高級框架(Struts2+Spring
+Hibernate)應用開發案例教程[M].北京:清華大學出版社,2012:35-266.
[4] 佘志龍,陳昱勛,鄭名杰,等.Google Android SDK開發范例大全[M].3版,北京:清華大學出版社,2012:45-90.
[5] 鄧凡平.深入理解Android[M].北京:機械工業出版社,2012:50-126.endprint
2.2.3 加入Together
用戶在瀏覽其他用戶發布的Together信息后,已經發現志同道合的Together信息就可以進行加入操作,系統將判斷此用戶是否有加入的權限并在用戶提交加入請求后返回加入結果以告知用戶。系統對開放聯系方式的Together發布者一并返回此Together發布者的聯系方式以便發起者和進行線下交互。Together模塊還將將用戶的加入信息存入數據庫以備其他查詢模塊調用。至此用戶加入Together模塊完畢。
2.2.4 Together留言
用戶在瀏覽其他用戶發布的Together信息后可以對此Together發布留言詢問相關內容等,方便系統用戶交流。
2.3 管理員模塊
管理員模塊分為用戶賬號管理和Together信息管理。包含了這兩個系統信息的基本管理功能。
2.3.1 用戶賬號管理
主要實現對違規用戶的刪除。管理員一經發現用戶發布的Together涉嫌違反法律法規以及用戶服務條款協議的,就有權對該用戶賬號進行刪除并在后臺級聯刪除用戶之前發布的一切信息進行刪除,實現此功能就保證了系統的和諧與穩定,對用戶日常使用本系統帶來便利,并有效杜絕虛假和垃圾信息對用戶造成的不良影響。
2.3.2 Together信息管理
Together信息管理主要包括對用戶發布不合乎規定的信息的刪除,管理員在此有權視其發布者違規情節輕重決定:(1)只刪除此條Together信息。(2)刪除此條Together信息發布者并級聯刪除此人發布的一切信息。這是在保護用戶享有本系統提供的服務的情況下盡可能的保證本系統的干凈和用戶獲取信息時的高效。
2.4 好友模塊
好友管理模塊分為添加好友、刪除好友與特別關注好友Together,這三個主要功能。
2.4.1 添加好友
用戶在瀏覽其他用戶發布的Together如果發現其發布者甚合心意確為志同道合之人,這就完成了系統設計的首要需求。這時就可以發起加此人為好友的申請,該申請信息將上傳至系統服務器。系統在響應到用戶加好友的申請時,將進行審核和邏輯處理,若審核通過就將計入后臺數據庫完成用戶加好友的請求,此時服務器返回對用戶該請求的處理結果已告知用戶。
2.4.2 刪除好友
用戶在添加好友后可以隨時刪除好友,刪除好友完全是用戶自主行為,其他任何人包括管理員不得干預,系統在響應到用戶刪除好友的請求后,將在數據庫刪除其與該用戶的好友關系,系統將返回對該請求的處理結果,完成刪除好友的功能。
2.4.3 特別關注好友Together
用戶一經添加其他用戶為好友后,系統將自動為其添加好友Together特別關注,用戶只要在特別關注界面查看Together信息,系統將在第一時間進行好友Together的推送,方便用戶茫茫人海中更快捷的接收到志同道合的人發送的信息,方便用戶的交流。攜程-結伴系統的功能模塊如圖1所示。
3 數據庫設計
3.1 數據庫表結構
良好的數據庫設計會使一個優秀的系統如虎添翼,無論在效率上還是在安全上都會得到巨大的提升,所以在本系統數據庫表設計之初我們就考慮到了將數據庫規范模式應用到本系統中。攜程-結伴系統中的數據庫表以按照3NF范式規范建立,數據庫表中既不包含傳遞依賴也不包含部分依賴,做到減少插入異常、刪除異常和更新異常,保證數據庫安全平穩運行。
3.2 存儲過程設計
為了實現更高效的后臺數據處理和更安全的數據庫操作,我們在后臺數據庫創建了完善的存儲過程機制,利用存儲過程可以用于降低網絡流量,存儲過程代碼直接存儲于數據庫中,所以不會產生大量T-sql語句的代碼流量。使用存儲過程能夠增強對執行計劃的重復使用,由此可以通過使用遠程過程調用(RPC)處理服務器上的存儲過程而提高性能。存儲過程可維護性高,更新存儲過程通常比更改、測試以及重新部署程序集需要較少的時間和精力并且使代碼精簡一致,一個存儲過程可以用于應用程序代碼的不同位置。其次存儲過程能增強數據庫及系統安全性,
通過向用戶授予對存儲過程(而不是基于表)的訪問權限,它們可以提供對特定數據的訪問;提高代碼安全,防止SQL注入。因此我們在攜程-結伴系統中大量的使用了存儲過程處理數據庫數據。
4 結語
該系統客戶端平臺為面向Android的移動端開發,服務端為基于JavaEE的服務器端開發。其中Android平臺運用了Java語言開發并集合了Android所提供的ADK,但系統并不局限于封裝層的ADK而是在底層重構了HTTP協議等模塊,這樣就從根本上使每個模塊都恰當的適應本系統的特定需求,大大提高了系統的性能。在服務端實現了MVC架構并運用了工廠模式、單例模式等設計模式實現了良好的程序擴展性和低耦合性,甚至代碼不需要做過多修改就可以在不同種類的數據庫、服務器上部署,這樣的設計達到了易于使用便于修改的目的。
參考文獻
[1] 呂海東,張坤.JavaEE企業級應用開發實例教程[M].北京:清華大學出版社,2010:45-167.
[2] 葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社,2006:134.
[3] 王永貴.Java高級框架(Struts2+Spring
+Hibernate)應用開發案例教程[M].北京:清華大學出版社,2012:35-266.
[4] 佘志龍,陳昱勛,鄭名杰,等.Google Android SDK開發范例大全[M].3版,北京:清華大學出版社,2012:45-90.
[5] 鄧凡平.深入理解Android[M].北京:機械工業出版社,2012:50-126.endprint
2.2.3 加入Together
用戶在瀏覽其他用戶發布的Together信息后,已經發現志同道合的Together信息就可以進行加入操作,系統將判斷此用戶是否有加入的權限并在用戶提交加入請求后返回加入結果以告知用戶。系統對開放聯系方式的Together發布者一并返回此Together發布者的聯系方式以便發起者和進行線下交互。Together模塊還將將用戶的加入信息存入數據庫以備其他查詢模塊調用。至此用戶加入Together模塊完畢。
2.2.4 Together留言
用戶在瀏覽其他用戶發布的Together信息后可以對此Together發布留言詢問相關內容等,方便系統用戶交流。
2.3 管理員模塊
管理員模塊分為用戶賬號管理和Together信息管理。包含了這兩個系統信息的基本管理功能。
2.3.1 用戶賬號管理
主要實現對違規用戶的刪除。管理員一經發現用戶發布的Together涉嫌違反法律法規以及用戶服務條款協議的,就有權對該用戶賬號進行刪除并在后臺級聯刪除用戶之前發布的一切信息進行刪除,實現此功能就保證了系統的和諧與穩定,對用戶日常使用本系統帶來便利,并有效杜絕虛假和垃圾信息對用戶造成的不良影響。
2.3.2 Together信息管理
Together信息管理主要包括對用戶發布不合乎規定的信息的刪除,管理員在此有權視其發布者違規情節輕重決定:(1)只刪除此條Together信息。(2)刪除此條Together信息發布者并級聯刪除此人發布的一切信息。這是在保護用戶享有本系統提供的服務的情況下盡可能的保證本系統的干凈和用戶獲取信息時的高效。
2.4 好友模塊
好友管理模塊分為添加好友、刪除好友與特別關注好友Together,這三個主要功能。
2.4.1 添加好友
用戶在瀏覽其他用戶發布的Together如果發現其發布者甚合心意確為志同道合之人,這就完成了系統設計的首要需求。這時就可以發起加此人為好友的申請,該申請信息將上傳至系統服務器。系統在響應到用戶加好友的申請時,將進行審核和邏輯處理,若審核通過就將計入后臺數據庫完成用戶加好友的請求,此時服務器返回對用戶該請求的處理結果已告知用戶。
2.4.2 刪除好友
用戶在添加好友后可以隨時刪除好友,刪除好友完全是用戶自主行為,其他任何人包括管理員不得干預,系統在響應到用戶刪除好友的請求后,將在數據庫刪除其與該用戶的好友關系,系統將返回對該請求的處理結果,完成刪除好友的功能。
2.4.3 特別關注好友Together
用戶一經添加其他用戶為好友后,系統將自動為其添加好友Together特別關注,用戶只要在特別關注界面查看Together信息,系統將在第一時間進行好友Together的推送,方便用戶茫茫人海中更快捷的接收到志同道合的人發送的信息,方便用戶的交流。攜程-結伴系統的功能模塊如圖1所示。
3 數據庫設計
3.1 數據庫表結構
良好的數據庫設計會使一個優秀的系統如虎添翼,無論在效率上還是在安全上都會得到巨大的提升,所以在本系統數據庫表設計之初我們就考慮到了將數據庫規范模式應用到本系統中。攜程-結伴系統中的數據庫表以按照3NF范式規范建立,數據庫表中既不包含傳遞依賴也不包含部分依賴,做到減少插入異常、刪除異常和更新異常,保證數據庫安全平穩運行。
3.2 存儲過程設計
為了實現更高效的后臺數據處理和更安全的數據庫操作,我們在后臺數據庫創建了完善的存儲過程機制,利用存儲過程可以用于降低網絡流量,存儲過程代碼直接存儲于數據庫中,所以不會產生大量T-sql語句的代碼流量。使用存儲過程能夠增強對執行計劃的重復使用,由此可以通過使用遠程過程調用(RPC)處理服務器上的存儲過程而提高性能。存儲過程可維護性高,更新存儲過程通常比更改、測試以及重新部署程序集需要較少的時間和精力并且使代碼精簡一致,一個存儲過程可以用于應用程序代碼的不同位置。其次存儲過程能增強數據庫及系統安全性,
通過向用戶授予對存儲過程(而不是基于表)的訪問權限,它們可以提供對特定數據的訪問;提高代碼安全,防止SQL注入。因此我們在攜程-結伴系統中大量的使用了存儲過程處理數據庫數據。
4 結語
該系統客戶端平臺為面向Android的移動端開發,服務端為基于JavaEE的服務器端開發。其中Android平臺運用了Java語言開發并集合了Android所提供的ADK,但系統并不局限于封裝層的ADK而是在底層重構了HTTP協議等模塊,這樣就從根本上使每個模塊都恰當的適應本系統的特定需求,大大提高了系統的性能。在服務端實現了MVC架構并運用了工廠模式、單例模式等設計模式實現了良好的程序擴展性和低耦合性,甚至代碼不需要做過多修改就可以在不同種類的數據庫、服務器上部署,這樣的設計達到了易于使用便于修改的目的。
參考文獻
[1] 呂海東,張坤.JavaEE企業級應用開發實例教程[M].北京:清華大學出版社,2010:45-167.
[2] 葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社,2006:134.
[3] 王永貴.Java高級框架(Struts2+Spring
+Hibernate)應用開發案例教程[M].北京:清華大學出版社,2012:35-266.
[4] 佘志龍,陳昱勛,鄭名杰,等.Google Android SDK開發范例大全[M].3版,北京:清華大學出版社,2012:45-90.
[5] 鄧凡平.深入理解Android[M].北京:機械工業出版社,2012:50-126.endprint