成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

項目的一點總結(jié)

terro / 1558人閱讀

摘要:項目名稱后勤保障指揮系統(tǒng)項目部署環(huán)境銀河麒麟系統(tǒng)基于的公司框架協(xié)議啟動方式啟功服務(wù)器腳本一鍵全啟,第一次開啟需要腳本文件名稱進(jìn)行授權(quán)。

項目名稱:后勤保障指揮系統(tǒng)
項目部署環(huán)境:銀河麒麟系統(tǒng)+myEclipse+mySql5.6+tomcat7+rabbitmq+基于ssm的公司框架+sip協(xié)議
啟動方式:

    啟功sip服務(wù)器:cd /home/wisdom/build_mpms/bin,./start.sh腳本一鍵全啟,第一次開啟需要chmod +x +腳本/文件名稱 進(jìn)行授權(quán)。
     需要對cd /home/wisdom/build_mpms/bin路徑中的配置文件進(jìn)行配置,將所有.ini 文件中的ip地址改成你要連接的服務(wù)器的地址,注意解除級聯(lián)時的count=0.
    打開sc.log日志:tail -f /tmp/sc.log打開日志,里面有注冊的信息(綠色字體)。
    
    啟動rabbitmq: cd /usr/local/rabbitmq-3.5.2/sbin,運行./rabbitmq-server -detached
                   ps -ef|grep rabbitmq 觀察是否有rabbitmq進(jìn)程。
    啟動mysql:cd /usr/local/mysql/bin,當(dāng)前路徑下運行./mysqld_safe &文件,符號代表后臺運行。
    啟動服務(wù):cd /usr/local/JavaApp/wd_msg_center/ 運行./run.sh debug
             cd /usr/local/JavaApp/wd_mw_dal (data-access). ./run.sh debug
             cd /usr/local/JavaApp/wd_svc_resource (source-dir) ./run.sh debug
             cd /usr/local/JavaApp/wd_svc_authz (auth-service) ./run.sh debug
             cd /usr/local/JavaApp/wd_svc_session (session-manager) ./run.sh debug
             cd /usr/local/JavaApp/wd_agent_sip (sip-agent) ./run.sh debug
             cd /usr/local/tomcat/bin  當(dāng)前路徑下運行./catalina.sh run
             
             這段是調(diào)試時使用,真正部署時后臺啟動就可以了。

進(jìn)入網(wǎng)址,http:// +ip地址 如果tomcat啟動成功,可以看到登陸界面,更改服務(wù)資源與當(dāng)前服務(wù)節(jié)點(與你連接的服務(wù)器ip保持一致)
如果一切順利,安裝技保終端,安裝vs2015補丁就可以登陸了,(windows10安裝補丁有錯誤,害我重新裝的系統(tǒng))
注意銀河麒麟橋接模式,需要用戶與服務(wù)器都要在同一個ip頻段才能去連接。
我負(fù)責(zé)的是系統(tǒng)中的指揮業(yè)務(wù)模塊,包括指揮組管理,指揮呼叫,臨時添加非指揮組成員(在指揮過程中,下同),強退指揮組成員,指揮提醒,暫停指揮,專向指揮,協(xié)同指揮,授權(quán)指揮,接替指揮,越級指揮,臨時指揮,呼叫組外人員,設(shè)置組播,調(diào)閱視頻等等。
說說我個人覺得的技術(shù)難點以及“坑”:首先的難點在于對業(yè)務(wù)流程的理解,比如接替指揮,授權(quán)指揮,因為指揮組的成員結(jié)構(gòu)是我緩存中的數(shù)據(jù),因此在業(yè)務(wù)發(fā)起后的成員結(jié)構(gòu)是怎樣的構(gòu)成需要慢慢理解(文檔上的用語太書面,理解時半猜半懂的,需要及時的溝通)。
在理解業(yè)務(wù)后,編寫的過程中要隨時考慮系統(tǒng)的狀態(tài),以及你的緩存變化,還有接收通知或發(fā)送通知后的變化,任何的變化都有可能是你模塊中的bug,如果你沒有考慮的話。例如強退成員時,我們是將這個成員的某個狀態(tài)字段更改,而不是直接將這個成員從這個緩存中刪除,因此,在停止指揮時,我們要恢復(fù)原來的成員結(jié)構(gòu),被強退的成員需要在他的用戶列表中看到原來的他所在的指揮組,這時在判斷時(我需要與數(shù)據(jù)庫中的原表比較,判斷這個成員是增加的還是減少的)需要判斷成員的狀態(tài),如果狀態(tài)是剔除狀態(tài),要重新把他放入一個集合中,通過處理判斷當(dāng)前用戶是否是原指揮組成員,是的就要在當(dāng)前用戶列表中顯示這個組,不是就要刪除這個組信息。

一、
for(SimpleUser simpleUser:members){
            //表示刪除的成員狀態(tài)
            if(!"2".equals(simpleUser.getBizStatus())){
                simpleIdList.add(simpleUser.getId());
            }

二、
//求差集,這不重要            
changedIdList.addAll(memberIdsByData);
changedIdList.retainAll(simpleIdList);
memberIdsByData.removeAll(changedIdList);
if(memberIdsByData.size() != 0){
    for(String memberId:memberIdsByData){
        //在緩存中添加組信息
        addGroupCache(memberId, groupWithMembers);
    }
}
simpleIdList.removeAll(changedIdList);
if(simpleIdList.size() != 0){
    for(String memberId:simpleIdList){
        //刪除這個緩存中的這個組信息
        deleteGroupCache(memberId, directGroup.getId());
    }
}

還有緩存的維護(hù)雖然沒什么難點,但是邏輯要清晰,細(xì)節(jié)很重要,否則有的bug真的欲仙欲死,debug時那叫一個酸爽......
有一個坑我印象很深刻,因為那天第三方測試,忙了一宿,系統(tǒng)的服務(wù)都已部署在生產(chǎn)環(huán)境中,大家都很緊張,偏偏我的業(yè)務(wù)(就是那個強退成員)無法實現(xiàn),報了異常(json轉(zhuǎn)換異常,很奇怪)可是我們自測時在本地運行時業(yè)務(wù)是沒有問題的,我又加了一夜的班(悲催),找到原因,由于之前的一個接口沒有用上,但考慮以后擴展,就一直沒有注釋掉,偏偏它的uri地址與強退成員接口的uri一模一樣,導(dǎo)致在生產(chǎn)環(huán)境中根本沒有掃描到我的強退成員接口,報異常也就不奇怪了。在我注釋掉那個擴展接口后,系統(tǒng)正常。
再說說這個項目的動態(tài)信息同步以及靜態(tài)信息同步策略,先說動態(tài)信息同步,動態(tài)信息同步采用訂閱-發(fā)布級聯(lián)模型實現(xiàn),在SIP標(biāo)準(zhǔn)規(guī)范上,PUBLISH和SUBSCRIBE/NOTIFY為兩種不同的事務(wù),在動態(tài)信息同步中必須依據(jù)訂閱-發(fā)布級聯(lián)模型的時序圖實現(xiàn),需先SUBSCRIBE訂閱,后續(xù)才使用PUBLISH事務(wù)。在此項目中,第一次訂閱的節(jié)點需全量同步(NOTIFY和PUBLISH均全量),后續(xù)均增量同步(NOTIFY和PUBLISH均增量)。靜態(tài)信息同步(路由信息同步)使用LDAP,即靜態(tài)信息管理(LDAP)中節(jié)點信息可實現(xiàn)路由信息同步,生成全局路由表且支持更新。
總之,這個項目比較大,我還是很慶幸能有這樣的機會去參加這樣的項目,這個項目技術(shù)不算新,但是很考驗個人的基礎(chǔ)知識以及對細(xì)節(jié)的把握,同時與眾多不同領(lǐng)域的程序員對接程序讓我對整個系統(tǒng)有了全面的了解,糾正了很多之前的不規(guī)范的編程習(xí)慣,先寫這么多,有補充還會繼續(xù)更新。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69136.html

相關(guān)文章

  • 關(guān)于Angular2組件通信---自己一點總結(jié)

    摘要:方便自己以后的使用。父組件使用子組件對象操控子組件傳遞信息或者調(diào)用方法。 這里簡單的記錄自己在angular2中,使用組件通信的一些方法。方便自己以后的使用。 一、組件之間通信的方式 使用事件通信(EventEmitter,@Output): 場景:可以在父子組件之間進(jìn)行通信,一般使用在子組件傳遞消息給父組件; 步驟:a. 子組件創(chuàng)建事件EventEmitter對象,使用@outpu...

    leoperfect 評論0 收藏0
  • 關(guān)于Angular2組件通信---自己一點總結(jié)

    摘要:方便自己以后的使用。父組件使用子組件對象操控子組件傳遞信息或者調(diào)用方法。 這里簡單的記錄自己在angular2中,使用組件通信的一些方法。方便自己以后的使用。 一、組件之間通信的方式 使用事件通信(EventEmitter,@Output): 場景:可以在父子組件之間進(jìn)行通信,一般使用在子組件傳遞消息給父組件; 步驟:a. 子組件創(chuàng)建事件EventEmitter對象,使用@outpu...

    joy968 評論0 收藏0
  • 【程序員】個人職業(yè)發(fā)展規(guī)劃方法論分享(持續(xù)更新)

    摘要:文中涉及到的工具幕布插件番茄工作法助理原則原則是目標(biāo)管理中的一種方法。作為職業(yè)發(fā)展規(guī)劃的目標(biāo)來說,一般人最好是制定一個中期的目標(biāo),時間長短在半年至三年內(nèi)。所以這篇旨在分享我在做個人職業(yè)規(guī)劃中的一些心得體會方法論思想等。 2019/07/14 UPDATE 本周想分享一下之前閱讀過的一本書《堅持,一種可以養(yǎng)成的習(xí)慣》,這本書主要講的是如何去養(yǎng)成一個習(xí)慣,在本次的初期職業(yè)目標(biāo)的學(xué)習(xí)計劃中,...

    h9911 評論0 收藏0
  • 回顧2017-讓這個世界因為有了我,而有一點點的不一樣

    摘要:轉(zhuǎn)折年初的時候換了部門,主要是面向端企業(yè)的產(chǎn)品,很多方式確實和以前不一樣。這也是自己給了個不及格的很大原因。這個也是在年中的緊急項目中學(xué)到的。不太急于做出承諾。 showImg(https://segmentfault.com/img/remote/1460000012682593?w=1174&h=492); 2017過去了,照例寫一篇總結(jié),以前也有寫過年終總結(jié),不過都是在博客或者本...

    馬忠志 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<