移動執(zhí)法通整體上由兩部分組成,包括運行在各個移動執(zhí)法終端上的客戶端和搭建在機房的后臺服務器端。因為移動互聯(lián)網(wǎng)的特殊性,客戶端不能實時保持與服務器端的連接,較大數(shù)據(jù)的交互也往往需要做分批次傳輸。利用WebService技術,在實現(xiàn)與服務器通信的同時,也方使客戶端在不同操作系統(tǒng)上的擴展。服務器端采用IIS服務器、Memcached緩存、Sqlserver數(shù)據(jù)庫。
移動執(zhí)法終端通過服務器接口,利用存儲過程訪問底層數(shù)據(jù),并將結(jié)果返回給客戶端,服務器端除了對移動執(zhí)法終端的請求做出響應,還要做好數(shù)據(jù)的沖突檢測和處理,保證服務器端數(shù)據(jù)的一致完整性。Memcached是一個高性能的分布式的內(nèi)存對象緩存系統(tǒng),通過把部分信息保存在內(nèi)存中,可以迅速的進行存取,能有效的緩解數(shù)據(jù)庫的壓力。而通過存儲過程訪問數(shù)據(jù),相對于直接使用$QL語句,具有以下幾點好處:
1.移動執(zhí)法終端更快的執(zhí)行速度。類似于程序的預編譯,存儲過程只在創(chuàng)建的時候進行編譯。而且,存儲過程在首次執(zhí)行時,會在內(nèi)存中做備份,下次再執(zhí)行時,不用再另外讀取,可以直接從內(nèi)存中調(diào)用,而SQL每次執(zhí)行都需要編譯。
2.移動執(zhí)法終端支持重復使用,接口程序可以重復調(diào)用執(zhí)行創(chuàng)建好的存儲過程,有效減少了數(shù)據(jù)庫開發(fā)人員的工作量。
3.可維護性。生產(chǎn)環(huán)境下,少不了要對數(shù)據(jù)庫架構以及業(yè)務規(guī)則進行變更、修改。移動執(zhí)法終端利用存儲過程,可以使數(shù)據(jù)庫層面的更改對于應用程序透明化。如可以修改存儲過程以包括新增表的數(shù)據(jù),而不是在應用程序代碼中的某個位置更改此信息,降低了維護的成本。
4.增強安全性。移動執(zhí)法終端通過向用戶授予對存儲過程的訪問權限,它們可以提供對特定數(shù)據(jù)的訪問,保證數(shù)據(jù)的安全。