管理配置的系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及通信與互聯(lián)網領域,尤其涉及一種管理配置的系統(tǒng)及方法。
【背景技術】
[0002]當前,APP軟件的運行均需要依賴諸如數據庫連接配置、上傳文件保存的路徑、并發(fā)請求每秒上限等許多配置信息,但由于不同的系統(tǒng)、不同的機器及面對客戶的不同時同一 APP軟件的配置均會有所不同,所以上述的配置信息一般均設置于主程序之外。
[0003]圖1為傳統(tǒng)APP軟件的模塊結構示意圖;如圖1所示,APP軟件均包括實現各種功能的功能單元、配置管理組件和配置文件,且配置文件是設置APP主模塊(即二進制程序)之外的;在實際的操作運行過程中,系統(tǒng)實施人員會在APP啟動前,將APP運行所依賴配置參數輸入至配置文件中;后續(xù),APP啟動過程中會加載配置文件中的數據(即配置參數),而功能單元則依賴加載的配置信息,執(zhí)行相應的邏輯以實現相應的功能。
[0004]但是,基于當前互聯(lián)網技術的快速發(fā)展,基于上述結構的APP軟件在應用到互聯(lián)網時會出現很多問題:
[0005]I)、配置文件的管理會耗時及繁瑣。由于上述的配置文件是存放在APP所在的機器上,而物理位置相同的APP有多少個,相應配置文件就會有多少份,進而使得配置文件會比較龐大;例如,一個APP (即應用)如果部署在1000臺機器上,相應的就會有1000份配置文件,而當有很多APP同時應用在成千上萬臺機器上時,配置文件就會非常的龐大,非常不利于管理,而從龐雜的配置文件中區(qū)分應用與配置文件之間的對應關系也會非常耗時。
[0006]2)配置文件變更到啟用,時效性差。配置文件是在APP啟動前配置好時,APP可不用重啟,而當系統(tǒng)啟動之后配置文件發(fā)生變化時,則必然要重啟APP才可以使用最新的配置文件,但APP的重啟過程通常會花費很長時間(一般為幾十秒到半個小時,甚至更長時間),進而使得APP的時效性較差。
[0007]3)變更配置文件需要重啟APP。參見2)可知在配置文件更新重啟APP的過程(即在重啟到重啟完成這一段時間)中,該APP是對外拒絕服務的,而對于互聯(lián)網應用來說,拒絕服務的過程中會發(fā)生諸多嚴重后果(如訂單無法完成、用戶無法注冊等),進而造成收入和客戶的流失。
【發(fā)明內容】
[0008]為了解決上述問題,本申請記載了一種管理配置的系統(tǒng)及方法,該系統(tǒng)及其方法使得系統(tǒng)管理自動化,更新時效性強,并在配置服務宕機時客戶端仍然可用。
[0009]為了實現上述目的,本申請記載的一種管理配置的系統(tǒng),可應用于利用遠端服務器中的配置管理中心系統(tǒng)對終端設備上的APP進行更新的過程中,所述APP包括APP主模塊和配置文件,所述系統(tǒng)包括:
[0010]注冊中心,位于所述配置管理中心系統(tǒng)中,并存儲有更新配置信息;
[0011]客戶端組件,位于所述APP主模塊中,且所述客戶端組件建立其自身與所述注冊中心之間的訂閱關系;以及
[0012]所述客戶端組件中預存有篩選規(guī)則,所述注冊中心利用所述訂閱關系將符合所述篩選規(guī)則的所述更新配置信息異步推送至所述客戶端組件,所述客戶端組件將接收的所述更新配置信息更新至所述配置文件,所述APP主模塊通過所述客戶端組件讀取更新后的所述配置文件。
[0013]作為一個優(yōu)選的實施例,上述的管理配置的系統(tǒng)還包括:
[0014]配置加載器,與所述注冊中心連接,且預存有所述更新配置信息;以及
[0015]所述配置加載器將所述更新配置信息增量注冊至所述注冊中心。
[0016]作為一個優(yōu)選的實施例,上述的管理配置的系統(tǒng)中的所述APP還包括:
[0017]功能單元,與所述客戶端組件連接,以通過所述客戶端組件讀取并加載所述配置文件中存儲的數據至所述APP的內部緩存中。
[0018]作為一個優(yōu)選的實施例,上述的管理配置的系統(tǒng)中的所述客戶端組件包括:
[0019]心跳檢測設備,用于檢測所述客戶端組件與所述注冊中心之間的通訊鏈路是否正常。
[0020]作為一個優(yōu)選的實施例,上述的管理配置的系統(tǒng)還包括:
[0021]報警設備,與所述心跳檢測設備;以及
[0022]所述心跳檢測設備檢測到所述客戶端組件與所述注冊中心之間的通訊鏈路異常時,觸發(fā)所述報警設備報警。
[0023]本申請還記載了一種管理配置的方法,可基于上述任意一項所述的管理配置的系統(tǒng),所述方法包括:
[0024]利用配置加載器將更新信息增量注冊配置信息至注冊中心;
[0025]啟動APP,以創(chuàng)建所述APP中的客戶端組件與所述注冊中心之間的訂閱關系;
[0026]所述客戶端組件根據所述訂閱關系將篩選規(guī)則發(fā)送至所述注冊中心后,所述注冊中心根據所述訂閱關系將符合所述篩選規(guī)則的所述更新配置信息異步推送至所述客戶端組件;
[0027]所述客戶端組件接收并存儲所述更新配置信息至所述APP的配置文件;
[0028]所述APP的功能單元通過所述客戶端組件讀取所述配置文件中存儲數據。
[0029]作為一個優(yōu)選的實施例,上述的管理配置的方法中的所述APP包括:
[0030]APP主模塊,且所述功能單元和所述客戶端組件均包含于所述APP主模塊中;以及[0031 ] 所述配置文件設置于所述APP主模塊之外。
[0032]作為一個優(yōu)選的實施例,上述的管理配置的方法中:
[0033]所述客戶端組件同步推送接收的所述更新配置信息至所述APP的配置文件。
[0034]作為一個優(yōu)選的實施例,上述的管理配置的方法還包括:
[0035]利用心跳檢測設備檢測所述客戶端組件與所述注冊中心之間的通訊鏈路是否正常;
[0036]若異常時,所述心跳檢測設備觸發(fā)報警設備報警。
[0037]作為一個優(yōu)選的實施例,上述的管理配置的方法中:
[0038]所述客戶端組件與所述注冊中心之間以長連接的方式進行通訊;以及
[0039]所述客戶端組件寫入數據至所述配置文件的同時,同步讀取所述配置文件中存儲的數據。
[0040]與現有技術相比較,本申請的技術方案具有的有益效果是:
[0041]1、由于傳統(tǒng)變更配置的工作量與APP部署節(jié)點的數量有關,而本申請的實施例中只需要修改一個遠端服務器中的一個配置文件即可,進而能夠有效的降低運維成本。另外,通過配置管理中心系統(tǒng)設置的更新配置信息(可基于原始的配置信息進行增刪后得到配置信息)后,在配置管理中心系統(tǒng)啟動后利用配置加載器將配置信息增量注冊到注冊中心中,而客戶端組件和注冊中心則利用建立的訂閱關系及預置的篩選規(guī)則,自動將符合篩選規(guī)則的更新配置信息異步推送至客戶端組件并轉存至配置文件中,而APP的功能單元則讀取配置文件中更新后的數據,以完成APP的更新操作。
[0042]另外,每個APP的配置信息均可依賴于配置管理中心系統(tǒng)訂閱到注冊中心,即配置管理中心系統(tǒng)中的配置信息只有一份,其可根據篩選規(guī)則通過配置管理中心客戶端組件與注冊中心分發(fā)到不同機器的APP,而APP每次啟動都可以獲取到與配置管理中心系統(tǒng)中一樣的最新的配置信息,至此每個APP的配置信息可以從注冊中心自動獲取,不需要人為在應用中放置配置文件。
[00