2015年9月21日 星期一

產線監控系統的初步架構

  • 「1」-Database Server + DB。負責存放Database的地方。AP端的Uploader負責寫值,再透過Web Server來取值呈現。我簡易產生一個資料庫,資料表格,以及一些欄位,可以放在有獨立IP的電腦。
  • 「2」-Web Server + Service。負責處理去資料庫擷取資料,以及處理來自網頁的請求,呈現結果至網頁。目前Java在這一塊蓬勃發展,有非常.非常多的框架幫助使用,用意在於強制開發者寫出來的code能維持良好風格我這邊僅透過良好風格的寫法儘量不使用一些框架,再利用一些輔助的工具來達到效果。目前已經可以做到發布在網路上,讓使用者用瀏覽器觀看。
  • 「3」-Uploader。負責將蒐集而來的Log(其實是特定封包結構),透過資料庫Driver,上傳至資料庫。這邊和「4」是利用TCP/IP Socket的方式建立架構,我們要自定義一個封包結構,這邊尚未定義結構內容。
  • 「4」-AP Log Sender。有兩個方式要嘗試,4.1 是一隻獨立的程式,抓取Log後分析上傳。4.2 是內建在ap當中,每當產生Log同時,也去上傳資料。

這邊方式是會產生幾個Demo用的AP,開啟後不斷產生資料,然後送交給Uploader,模擬多個AP測試完成後產生Log的情況。

目前「1」「2」雛型已經完成了,透過手動去更新「1」的方式,網頁的數值就會自動(每5秒update一次)跟著變動。等待Evans將「3」「4」完成並接軌到DB之後,整個雛型就完成了。

【實作】

  • 按先前规划讨论的架构,拟定一个雏型,底下展示的是这个雏型具体化,以一条简单的MAP为例:
    • 其中写到IP的部份都是表示透过IP来连接,因此不限於Local端
    • 目前整套放在非固定IP端,因此展示在一台机器上,也可以透过同一区域的另一台机器连上观看

  • Server端(Uploader):汇整來自AP的资料,重复的部份用Update的,不重复的部份用新增的。
    • 开启後自动打开开放的Port,和Client协定好的
    • 等待来自Client(AP)的资料
    • Update之後,先去DB捞资料比对,判断是否重复,重复则更新「Pass」/「Fail」栏位。不重复则新增
    • 1.4 图示:

  • Client端(AP):模拟执行完AP之後,要上传的资料。
    • 连结至Server(Uploader所在位置)
    • 变更好资料後上传
    • 图示:

  • DB端:纪录汇整资料,透过Server(Uploader)上传资料更新。
    • 不执行任何操作,都是由Server(Uploader)负责处理内容
    • 图示:

  • Web Service端:透过Java Service去调用DB中资料,单纯做捞值,不写值
    • 透过「jdbc driver」连结到资料库,利用绑定的帐号密码
    • 将资料表全部取出,储存在Vector里头後结束
    • 图示:无,都是Class
  • Browser端:使用者透过浏览器直接看结果
    • 透过JSP连结Web Service的Class动作
    • 利用Struts2替换网页别名,避免直接引用档名
    • 用「显示网页」去包装「读取并呈现DB资料网页」,利用JQuery自动更新「读取并呈现DB资料网页」,避免画面闪动
    • 图示:



沒有留言:

張貼留言