两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法

文檔序號:7753282閱讀:395來源:國知局
專利名稱:一種不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機網(wǎng)絡(luò)信息通信技術(shù)領(lǐng)域,尤其涉及在web服務(wù)器,F(xiàn)TP服務(wù)器等各種提供網(wǎng)絡(luò)服務(wù)的軟件。
背景技術(shù)
所謂的升級,就是一個軟件替換之前的一個或多個部分、甚至全部的軟件,其本質(zhì)是讓一個軟件替換另外一個軟件來提供服務(wù)。伴隨網(wǎng)絡(luò)業(yè)務(wù)的迅速發(fā)展,越來越多的單位或部門將工作,業(yè)務(wù)等信息通過網(wǎng)絡(luò)服務(wù)器來完成,常見的網(wǎng)絡(luò)服務(wù)器有web服務(wù)器,文件服務(wù)器,數(shù)據(jù)庫服務(wù)器,代理服務(wù)器等。在網(wǎng)絡(luò)服務(wù)應(yīng)用中,服務(wù)器部分主要有兩部分來完成,一部分是網(wǎng)絡(luò)連接,提供網(wǎng)絡(luò)連接服務(wù);另外一部分是具體的業(yè)務(wù)或是數(shù)據(jù),典型的為文件存儲服務(wù)器,數(shù)據(jù)庫服務(wù)器。典型的web構(gòu)架為web服務(wù)器加上后臺的數(shù)據(jù)庫。由于業(yè)務(wù)增加、服務(wù)增加,軟件修改bug等多方面的原因,需要對正在運行的服務(wù)升級,而現(xiàn)實對業(yè)務(wù)要求是每天24小時不間斷提供服務(wù),因此對不間斷的網(wǎng)絡(luò)服務(wù)提出要求。而現(xiàn)在中,對服務(wù)升級主要有兩類,一類是中斷服務(wù)的升級,另外一類是將服務(wù)通過負載均衡動態(tài)轉(zhuǎn)移到其它同類服務(wù)器,目標(biāo)服務(wù)器通過離線方式升級。第一類的中斷服務(wù)的升級,典型的是停止服務(wù),重新升級服務(wù),在啟動。這種方式常見的是深夜升級,在盡可能減少損失的情況下實現(xiàn)服務(wù)的升級。第二類的不中斷服務(wù)的升級,通過負載均衡調(diào)度器,將需要升級的目標(biāo)服務(wù)器上的服務(wù)調(diào)度到其他的同類服務(wù)器上,這中方式對用戶來說,業(yè)務(wù)是沒有中斷的,而對于目標(biāo)服務(wù)器來說,是離線的、業(yè)務(wù)中斷的升級方式。從第一類的中斷服務(wù)的升級方式來說,沒有滿足不中斷的業(yè)務(wù)要求;第二類的不中斷業(yè)務(wù)升級,雖然滿是了不中斷業(yè)務(wù)條件下的升級,但是此類對環(huán)境要求高,必須是有負載均衡的,而負載均衡本身價格高,配置復(fù)雜,對于大多數(shù)沒有負載均衡的用戶來說,沒有辦法實現(xiàn)不中斷業(yè)務(wù)升級。因此,現(xiàn)在的技術(shù)主要缺點有1.在但服務(wù)點沒有負載均衡的條件下,無法提供在線不間斷服務(wù)的升級。2.在有負載均衡的條件下,加重了其它服務(wù)器的負擔(dān),而升級的目標(biāo)服務(wù)器卻空閑。

發(fā)明內(nèi)容
本發(fā)明的目的在不中斷網(wǎng)絡(luò)服務(wù)的前提下,軟件的自動升級的一種方法。本發(fā)明采用的方法為第一步正在服務(wù)的軟件Al已經(jīng)正常運行;第二步對軟件Al的升級版本A2已經(jīng)下載到目標(biāo)機上;
第三步直接執(zhí)行A2,此時Al與A2都在工作;第四步軟件Al接收到A2的退出請求,Al主動停止服務(wù),A2繼續(xù)服務(wù);第五步軟件A2等待其他升級版本A3要求退出請求,如果收到請求,A2主動停止服務(wù),A3繼續(xù)服務(wù)。所述的第一步中,就是讓服務(wù)三常啟動,為用戶提供網(wǎng)絡(luò)服務(wù)。所述的第二步中,可以采用網(wǎng)絡(luò)傳輸方式,比如web、FTP,或是直接通過移動介質(zhì), 比如優(yōu)盤,將需要升級的軟件A2存放在目標(biāo)機上。所述的第三步中,主要是啟動軟件A2,讓A2和之前正常提供服務(wù)的Al同時工作, Al主要是為已經(jīng)接收的請求提供服務(wù),但是操作系統(tǒng)不會將新的服務(wù)請求轉(zhuǎn)發(fā)給Al ;A2接收操作系統(tǒng)傳遞過來的網(wǎng)絡(luò)新請求,并且為新的請求服務(wù)。這里有幾個重要特征特征一過渡過程對用戶透明A2在接管Al的網(wǎng)絡(luò)連接前,A2通過配置資源重用的方式,與Al使用相同的資源,比如對用戶而言,有相同的IP地址,相同的套接口號;用戶感覺不出提供服務(wù)對象的變化;對于Al、A2的監(jiān)聽網(wǎng)絡(luò)套接口來說,必須通過標(biāo)準(zhǔn)套接口操作setsockopt函數(shù)的S0_ REUSEADDR選擇重用,否則A2啟動監(jiān)聽網(wǎng)絡(luò)套接口就會出錯。特征二 數(shù)據(jù)一致性A2在接管Al的網(wǎng)絡(luò)連接前,需要提前告知Al,讓Al自己清空沒有同步的緩沖信息,并且在A2得到Al已經(jīng)同步的條件下,才能接管,這樣才能保證A2接管后與Al的數(shù)據(jù)一致性。具體同步方式,可以采用但不局限的共享內(nèi)存的方式,在共享內(nèi)存中,存放互斥鎖以及A1、A2之間相互傳遞的信息,這樣可以有效實現(xiàn)多個不同服務(wù)同時升級,相互不干擾。特征三管理一致性A2在接管Al后,因為A2與Al擁有相同的資源信息,因此對日志,審計等沒有影響。特征四業(yè)務(wù)不間斷性在A2啟動監(jiān)聽后,表示A2接管Al,處理新服務(wù)請求;對于Al已經(jīng)接收的服務(wù),Al 將繼續(xù)處理這些服務(wù),處理完后才能退出,而不是A2接管后Al必須馬上退出。這個時候是兩個服務(wù)都在獨立工作。所述的第四步中,當(dāng)Al完成服務(wù),自己主動退出提供服務(wù),而A2繼續(xù)提供服務(wù)。所述的第五步中,A2在提供服務(wù)的同時,也接收新的升級請求。因為A2也可能被其它版本升級,其退出過程與Al退出過程一樣。在上述過程中,Al、A2、A3可以相同。通過對比可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有的最大不同是,本發(fā)明是在同一個目標(biāo)機上提供不間斷服務(wù)的升級,而負載均衡是將服務(wù)轉(zhuǎn)移到其它不同的服務(wù)器上。對于支持負載均衡的服務(wù)集群來說,單個目標(biāo)機升級,不會加重其它服務(wù)器的負擔(dān)。對于不支持負載均衡的服務(wù),可以提供不間斷服務(wù)的升級。本發(fā)明的有益效果為,在本發(fā)明中,通過與客戶連接的前端套接口的復(fù)用,不干預(yù)服務(wù)內(nèi)部流程,讓普通的服務(wù)提供不間斷的升級,即使業(yè)務(wù)增加、修改漏洞等,都可以滿足一旦上線提供服務(wù),用戶可以享受不間斷的服務(wù)。


圖1是普通FTP服務(wù)器的基本流程圖;圖2是支持不間斷服務(wù)的FTP升級流程圖; 圖3是普通Web服務(wù)器的基本流程圖;圖4是支持不間斷服務(wù)的Web升級流程圖。
具體實施例方式具體實施方式
方案1 :FTP(File Transfer Protocol)服務(wù)器不間斷服務(wù)升級根據(jù)RFC959關(guān)于文件傳輸協(xié)議規(guī)范,一般運行在20和21兩個端口。FTP標(biāo)準(zhǔn)命令TCP端口號為21,Port方式數(shù)據(jù)端口為20。端口 20用于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)流,而端口 21用于傳輸控制流,并且是命令通向ftp服務(wù)器的進口。當(dāng)數(shù)據(jù)通過數(shù)據(jù)流傳輸時,控制流處于空閑狀態(tài)。不提供不簡單服務(wù)升級的FTP服務(wù)器基本流程為圖1所示第一步將TCP端口 21作為監(jiān)聽端口 ;第二步如果有對端口 21的連接,建立一個TCP連接作為控制連接,將這個連接交給任務(wù)處理;繼續(xù)等待下一個TCP連接;第三步任務(wù)處理一般提供線程池。判斷是否有需要處理的任務(wù),如果有,從線程池中選擇一個空閑線程,執(zhí)行這個操作;否則等待。提供不簡單服務(wù)升級的FTP服務(wù)器基本流程為圖2所示第一步指定監(jiān)聽端口運行復(fù)用;第二步通過共享內(nèi)存獲取正在運行軟件的信息;如果是第一次,就直接跳到第五步;第三步通過共享內(nèi)存的信號,通知之前的軟件退出;第四步等待正在運行的軟件可以接管它的消息;第五步開始監(jiān)聽,也開始接管新的服務(wù);開始正常提供服務(wù)。因為此軟件可能被其它版本升級,因此還必須提供主動退出的請求。對被要求退出的處理流程為第一步接收到要求退出的通知;第二步開始內(nèi)存處理,保證數(shù)據(jù)一致性和完整性,做一些處理;對于新的服務(wù)連接,也不再做緩存處理等,保證數(shù)據(jù)的一致性和完整性;第三步通知對方,允許接管自己。第四步在升級軟件開始監(jiān)聽后,本軟件將接收不到新的服務(wù)請求;第五步處理完接收的服務(wù),然后釋放資源,退出。
具體實施方式
方案2 =Web服務(wù)器不間斷服務(wù)升級不提供不簡單服務(wù)升級的Web服務(wù)器基本流程為圖3所示第一步將TCP端口 80作為監(jiān)聽端口 ;第二步如果有對端口 80的連接,建立一個TCP連接作為控制連接,將這個連接交給任務(wù)處理;繼續(xù)等待下一個TCP連接;第三步任務(wù)處理一般提供線程池。判斷是否有需要處理的任務(wù),如果有,從線程池中選擇一個空閑線程,執(zhí)行這個操作;否則等待。
提供不簡單服務(wù)升級的web服務(wù)器基本流程為圖4所示第一步指定監(jiān)聽端口運行復(fù)用;第二步通過共享內(nèi)存獲取正在運行軟件的信息;如果是第一次,就直接跳到第五步;第三步通過共享內(nèi)存的信號,通知之前的軟件退出;第四步等待正在運行的軟件可以接管它的消息;第五步開始監(jiān)聽,也開始接管新的服務(wù);開始正常提供服務(wù)。因為此軟件可能被其它版本升級,因此還必須提供主動退出的請求。對被要求退出的處理流程為第一步接收到要求退出的通知;第二步開始內(nèi)存處理,保證數(shù)據(jù)一致性和完整性,做一些處理;對于新的服務(wù)連接,也不再做緩存處理等,保證數(shù)據(jù)的一致性和完整性;第三步通知對方,允許接管自己。第四步在升級軟件開始監(jiān)聽后,本軟件將接收不到新的服務(wù)請求;第五步處理完接收的服務(wù),然后釋放資源,退出。
權(quán)利要求
1.一種不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,包含如下步驟第一步正在服務(wù)的軟件Al已經(jīng)正常運行;第二步對軟件Al的升級版本A2已經(jīng)下載到目標(biāo)機上;第三步直接執(zhí)行A2,此時Al與A2都在工作;第四步軟件Al接收到A2的退出請求,Al主動停止服務(wù),A2繼續(xù)服務(wù);第五步軟件A2等待其他升級版本A3要求退出請求,如果收到請求,A2主動停止服務(wù),A3繼續(xù)服務(wù)。
2.根據(jù)權(quán)利要求1所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件級方法,其特征在于,在所述的第三步中,A2與Al監(jiān)聽的套接口條件是一樣的,既是相同的IP地址,相同的TCP或是UDP類型以及相同的套接口號。
3.根據(jù)權(quán)利要求2所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,在所述的第三步中,A2必須指定這個套接口號是可以重用的。
4.根據(jù)權(quán)利要求1所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,在所述的第三步中,在同一個目標(biāo)機上,A1和A2同時提供服務(wù)。
5.根據(jù)權(quán)利要求4所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,Al和A2的數(shù)據(jù)一致性。在A2在接管Al的網(wǎng)絡(luò)連接前,需要提前告知Al,讓Al自己清空沒有同步的緩沖信息,并且在A2得到Al已經(jīng)同步的條件下,才能接管,這樣才能保證A2接管后與Al的數(shù)據(jù)一致性。具體同步方式,可以采用但不局限的共享內(nèi)存的方式,在共享內(nèi)存中,存放互斥鎖以及Al、A2之間相互傳遞的信息,這樣可以有效實現(xiàn)多個不同服務(wù)同時升級,相互不干擾。
6.根據(jù)權(quán)利要求1所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,在所述的第四步中,升級軟件要求之前工作的軟件Al退出服務(wù),Al主動退出;如果因為軟件等故障導(dǎo)致Al不能主動退出,升級軟件A2在Al特定的超時時間后,可以強制關(guān)閉之前正在運行的軟件Al。
7.根據(jù)權(quán)利要求1所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,在所述的第五步中,升級軟件A2在提供網(wǎng)絡(luò)服務(wù)的同時,等待新的升級軟件A3。
8.根據(jù)權(quán)利要求1所述的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,其特征在于,在所述的步驟中的軟件Al,A2,A3可以是沒有修改的同一個軟件。
全文摘要
一種涉及網(wǎng)絡(luò)通信行業(yè)的不間斷網(wǎng)絡(luò)服務(wù)的軟件升級方法,首先服務(wù)程序做好初始化準(zhǔn)備;利用套接口的重用機制,建立與升級前正在接受服務(wù)的服務(wù)端口相同條件的監(jiān)聽套接口,操作系統(tǒng)采用更合適的匹配原則以及后優(yōu)先原則,將客戶端建立新服務(wù)的請求直接給升級后的服務(wù),而不是以前的服務(wù);升級的服務(wù)按照正常流程為客戶端提供服務(wù);升級后的服務(wù)向之前的服務(wù)發(fā)送“退出”信息;之前的服務(wù)收到這個消息后,關(guān)閉服務(wù)監(jiān)聽端口不再接收新的服務(wù)請求,并且等待已經(jīng)接受的服務(wù)完成,然后主動退出。升級軟件在滿足不間斷網(wǎng)終服務(wù)的條件下完全接管服務(wù)。
文檔編號H04L12/24GK102299940SQ20101021855
公開日2011年12月28日 申請日期2010年6月25日 優(yōu)先權(quán)日2010年6月25日
發(fā)明者龔華清 申請人:龔華清
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大同市| 青河县| 铜陵市| 尼勒克县| 泗水县| 荔浦县| 贵溪市| 铁岭县| 正镶白旗| 榆林市| 通化市| 兴国县| 琼海市| 佛教| 延庆县| 田阳县| 五台县| 辽宁省| 唐海县| 台中县| 杭锦旗| 昌都县| 张掖市| 太仓市| 张北县| 青川县| 平凉市| 和顺县| 同江市| 巴林左旗| 平塘县| 抚顺市| 谢通门县| 北宁市| 锦州市| 塔河县| 尚志市| 宝山区| 顺平县| 平安县| 忻城县|