應(yīng)用程序遠(yuǎn)程更新的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù),特別涉及一種在分布式應(yīng)用環(huán)境中實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的方法以及實(shí)現(xiàn)該方法的終端管理系統(tǒng)。
【背景技術(shù)】
[0002]在典型的應(yīng)用環(huán)境下,分布在廣泛地理范圍內(nèi)的終端(例如諸如POS機(jī)之類的支付終端)負(fù)責(zé)實(shí)現(xiàn)本地化的應(yīng)用,它們經(jīng)網(wǎng)絡(luò)與終端管理系統(tǒng)相連。出于方便維護(hù)和管理的目的,可以使終端管理系統(tǒng)具備對終端上的應(yīng)用程序進(jìn)行遠(yuǎn)程更新的能力。當(dāng)需要更新應(yīng)用程序時(shí),終端管理系統(tǒng)指示這些終端經(jīng)網(wǎng)絡(luò)連接至終端管理系統(tǒng)的下載節(jié)點(diǎn)以下載更新數(shù)據(jù)包。
[0003]在許多場合,終端應(yīng)用的升級需要在同一時(shí)間節(jié)點(diǎn)進(jìn)行,這往往導(dǎo)致短時(shí)間內(nèi)有大量的終端訪問下載節(jié)點(diǎn),從而造成下載服務(wù)器因訪問量超出極限而癱瘓。當(dāng)服務(wù)器帶寬較小時(shí),該問題更為凸顯。雖然可以提供鏡像節(jié)點(diǎn)來分流訪問量,但是這也只能緩解而無法從根本上解決上述問題,特別是在終端數(shù)量巨大時(shí)。
[0004]由此可見,當(dāng)對終端上的應(yīng)用程序進(jìn)行遠(yuǎn)程更新時(shí)如何有效避免訪問擁堵是一個(gè)有著非常迫切的現(xiàn)實(shí)需求的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的之一是提供一種在應(yīng)用環(huán)境中實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的方法,其可以有效避免下載節(jié)點(diǎn)的擁堵。
[0006]在按照本發(fā)明一個(gè)實(shí)施例的在應(yīng)用環(huán)境中實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的方法中,該應(yīng)用環(huán)境包括終端管理器、下載節(jié)點(diǎn)和終端,所述終端經(jīng)網(wǎng)絡(luò)與所述終端管理器和下載節(jié)點(diǎn)通信耦合,所述方法包括下列步驟:
當(dāng)?shù)竭_(dá)應(yīng)用程序的更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)時(shí),所述終端管理器將所述更新數(shù)據(jù)包同步發(fā)送到多個(gè)下載節(jié)點(diǎn);
響應(yīng)于所述終端管理器與所述多個(gè)終端的其中一個(gè)之間的交互過程的啟動,所述終端管理器判斷該終端是否屬于進(jìn)行應(yīng)用程序遠(yuǎn)程更新的對象;
如果屬于進(jìn)行應(yīng)用程序遠(yuǎn)程更新的對象,則所述終端管理器為該終端指定至少一個(gè)下載節(jié)點(diǎn),并且向該終端發(fā)送所述更新數(shù)據(jù)包的標(biāo)識和所指定的下載節(jié)點(diǎn)的地址;以及
當(dāng)應(yīng)用程序更新時(shí)間點(diǎn)到達(dá)時(shí),對已經(jīng)成功下載所述更新數(shù)據(jù)包的終端執(zhí)行應(yīng)用程序更新操作。
[0007]優(yōu)選地,在上述方法中,在到達(dá)應(yīng)用程序的更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)之前,所述終端管理器預(yù)先從用戶接收應(yīng)用程序的更新作業(yè)請求,所述更新作業(yè)請求包括更新數(shù)據(jù)包、更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)、應(yīng)用程序更新時(shí)間點(diǎn)、更新數(shù)據(jù)包的有效期、執(zhí)行應(yīng)用程序遠(yuǎn)程更新操作的終端的列表和應(yīng)用程序授權(quán)證書。
[0008]優(yōu)選地,在上述方法中,所述交互過程由所述終端管理器或所述終端定期發(fā)起。
[0009]優(yōu)選地,在上述方法中,所述終端管理器根據(jù)下載節(jié)點(diǎn)的負(fù)荷為該終端指定下載節(jié)點(diǎn)。
[0010]優(yōu)選地,在上述方法中,所述終端管理器在向該終端發(fā)送所述更新數(shù)據(jù)包的標(biāo)識和所指定的下載節(jié)點(diǎn)的地址的同時(shí),還發(fā)送所述應(yīng)用程序更新時(shí)間點(diǎn),當(dāng)?shù)竭_(dá)應(yīng)用程序更新時(shí)間點(diǎn)時(shí),由已經(jīng)成功下載所述更新數(shù)據(jù)包的終端自動執(zhí)行應(yīng)用程序更新操作。
[0011 ] 優(yōu)選地,在上述方法中,所述終端在成功下載所述更新數(shù)據(jù)包后向所述終端管理器發(fā)送成功下載所述更新數(shù)據(jù)包的確認(rèn)消息。更好地,當(dāng)?shù)竭_(dá)應(yīng)用程序更新時(shí)間點(diǎn)時(shí),由所述終端管理器向已經(jīng)成功下載所述更新數(shù)據(jù)包的終端發(fā)送執(zhí)行應(yīng)用程序更新操作的命令。
[0012]本發(fā)明的另外一個(gè)目的是提供一種適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng),其可以有效避免下載節(jié)點(diǎn)的擁堵。
[0013]按照本發(fā)明一個(gè)實(shí)施例的適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)包括終端管理器和多個(gè)下載節(jié)點(diǎn),所述終端管理器包括應(yīng)用程序管理和作業(yè)調(diào)度模塊和經(jīng)網(wǎng)絡(luò)與多個(gè)終端通信耦合的通信模塊,其中,所述應(yīng)用程序管理和作業(yè)調(diào)度模塊被配置為執(zhí)行下列操作:
當(dāng)?shù)竭_(dá)應(yīng)用程序的更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)時(shí),將所述更新數(shù)據(jù)包同步發(fā)送到所述多個(gè)下載節(jié)點(diǎn);以及
響應(yīng)于所述通信模塊與所述多個(gè)終端的其中一個(gè)之間的交互過程的啟動,為屬于進(jìn)行應(yīng)用程序遠(yuǎn)程更新的對象的終端指定至少一個(gè)下載節(jié)點(diǎn),并且借助所述通信模塊向該終端發(fā)送所述更新數(shù)據(jù)包的標(biāo)識和所指定的下載節(jié)點(diǎn)的地址。
[0014]優(yōu)選地,在上述適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)中,在到達(dá)應(yīng)用程序的更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)之前,所述應(yīng)用程序管理和作業(yè)調(diào)度模塊預(yù)先從用戶接收應(yīng)用程序的更新作業(yè)請求,所述更新作業(yè)請求包括更新數(shù)據(jù)包、更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)、應(yīng)用程序更新時(shí)間點(diǎn)、更新數(shù)據(jù)包的有效期、執(zhí)行應(yīng)用程序遠(yuǎn)程更新操作的終端的列表和應(yīng)用程序授權(quán)證書。
[0015]優(yōu)選地,在上述適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)中,所述交互過程由所述通信模塊或所述終端定期發(fā)起。
[0016]優(yōu)選地,在上述適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)中,所述應(yīng)用程序管理和作業(yè)調(diào)度模塊根據(jù)下載節(jié)點(diǎn)的負(fù)荷為終端指定下載節(jié)點(diǎn)。
[0017]優(yōu)選地,在上述適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)中,所述應(yīng)用程序管理和作業(yè)調(diào)度模塊在向該終端發(fā)送所述更新數(shù)據(jù)包的標(biāo)識和所指定的下載節(jié)點(diǎn)的地址的同時(shí),還發(fā)送所述應(yīng)用程序更新時(shí)間點(diǎn),使得當(dāng)?shù)竭_(dá)應(yīng)用程序更新時(shí)間點(diǎn)時(shí),由已經(jīng)成功下載所述更新數(shù)據(jù)包的終端自動執(zhí)行應(yīng)用程序更新操作。
[0018]優(yōu)選地,在上述適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)中,所述通信模塊被配置為從所述終端接收其成功下載所述更新數(shù)據(jù)包的確認(rèn)消息。更好地,當(dāng)?shù)竭_(dá)應(yīng)用程序更新時(shí)間點(diǎn)時(shí),所述應(yīng)用程序管理和作業(yè)調(diào)度模塊經(jīng)所述通信模塊向已經(jīng)成功下載所述更新數(shù)據(jù)包的終端發(fā)送執(zhí)行應(yīng)用程序更新操作的命令。
【附圖說明】
[0019]從結(jié)合附圖的以下詳細(xì)說明中,將會使本發(fā)明的上述和其它目的及優(yōu)點(diǎn)更加完全清楚。
[0020]圖1為按照本發(fā)明一個(gè)實(shí)施例的適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)的示意圖。
[0021]圖2為圖1所示終端管理系統(tǒng)中的終端管理器的結(jié)構(gòu)框圖。
[0022]圖3為按照本發(fā)明另一個(gè)實(shí)施例的在應(yīng)用環(huán)境中實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的方法的流程圖。
【具體實(shí)施方式】
[0023]下面通過參考附圖描述【具體實(shí)施方式】來闡述本發(fā)明。但是需要理解的是,這些【具體實(shí)施方式】僅僅是示例性的,對于本發(fā)明的精神和保護(hù)范圍并無限制作用。
[0024]在本說明書中,“包含”和“包括”之類的用語表示除了具有在說明書和權(quán)利要求書中有直接和明確表述的單元和步驟以外,本發(fā)明的技術(shù)方案也不排除具有未被直接或明確表述的其它單元和步驟的情形。
[0025]圖1為按照本發(fā)明一個(gè)實(shí)施例的適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)的示意圖。如圖1所示,按照本實(shí)施例的適于實(shí)現(xiàn)應(yīng)用程序遠(yuǎn)程更新的終端管理系統(tǒng)10包括終端管理器110和多個(gè)下載節(jié)點(diǎn)120。
[0026]圖2為圖1所示終端管理系統(tǒng)中的終端管理器的結(jié)構(gòu)框圖。如圖2所示,終端管理器110包括人機(jī)界面111、應(yīng)用程序管理和作業(yè)調(diào)度模塊112和適于經(jīng)網(wǎng)絡(luò)20與多個(gè)終端30通信耦合的通信模塊113。
[0027]當(dāng)系統(tǒng)管理員40經(jīng)人機(jī)界面111登錄終端管理器110后,其可上傳終端應(yīng)用程序的更新數(shù)據(jù)包并且設(shè)置更新操作參數(shù),由此生成應(yīng)用程序的更新作業(yè)請求被提供給應(yīng)用程序管理和作業(yè)調(diào)度模塊112。更新操作參數(shù)包括但不限于更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn)、應(yīng)用程序的更新時(shí)間點(diǎn)、更新數(shù)據(jù)包的有效期、執(zhí)行應(yīng)用程序遠(yuǎn)程更新操作的終端的列表和應(yīng)用程序授權(quán)證書等。
[0028]所生成的更新作業(yè)請求由應(yīng)用程序管理和作業(yè)調(diào)度模塊112負(fù)責(zé)處理。例如,應(yīng)用程序管理和作業(yè)調(diào)度模塊112將監(jiān)測是否到達(dá)更新數(shù)據(jù)包的發(fā)布時(shí)間點(diǎn),如果到達(dá),則執(zhí)行更新數(shù)據(jù)包分發(fā)操作,將系統(tǒng)管理員40上傳的更新數(shù)據(jù)包和應(yīng)用授權(quán)證書傳送至各個(gè)下載節(jié)點(diǎn)。值得指出的是,下載節(jié)點(diǎn)120與終端管理器可以位于相同或不同的地理位置。
[0029]通信模塊113負(fù)責(zé)終端管理器110與終端30之間的通信。通信過程可以由任何一方發(fā)起,并且可以采用隨機(jī)方式或定期方式。優(yōu)選地,可以采用所謂的“心跳交互”的模式實(shí)現(xiàn)通信模塊113與終端30之間的通信。具體而言,通信模塊113和終端30中的一方將以設(shè)定的時(shí)間間隔發(fā)起與另一方的通信,作為響應(yīng),應(yīng)用程序管理和作業(yè)調(diào)度模塊112將首先判斷參與通信的終端是否屬于進(jìn)行應(yīng)用程序遠(yuǎn)程更新的對象,如果屬于更新的對象,則從多個(gè)下載節(jié)點(diǎn)120中指定其中一個(gè)或多個(gè)作為該終端的下載節(jié)點(diǎn),并且隨后借助通信模塊113向該終端發(fā)送下載任務(wù)提示消息,該提示消息包括待更新數(shù)據(jù)包的標(biāo)識符和所指定的下載節(jié)點(diǎn)的地址。在本實(shí)施例中,應(yīng)用程序管理和作業(yè)調(diào)度模塊112將根據(jù)通信模塊113與終端30交互時(shí)各個(gè)下載中心120的負(fù)荷情況來從中指定合適的下載中心。
[0030]可選地,應(yīng)用程序管理和作業(yè)調(diào)度模塊112還經(jīng)通信模塊113向被指定的下載中心發(fā)送消息,通知其將要下載更新數(shù)據(jù)包的終端的標(biāo)識符。
[0031]作為接收到下載任務(wù)提示消息的響應(yīng),終端30訪問所指定的下載節(jié)點(diǎn)以下載應(yīng)用程序的更新數(shù)據(jù)包以及應(yīng)用授權(quán)證書等。當(dāng)有多個(gè)指定的下載節(jié)點(diǎn)時(shí),終端30可以按照列表順序選擇排列在前的下載節(jié)點(diǎn),并在下載失敗時(shí)訪問列表中緊隨其后的下載節(jié)點(diǎn)。
[0032]優(yōu)選地,當(dāng)終端30成功下載更新數(shù)據(jù)包后,將在下一次與通信模塊113的交互中發(fā)送更新數(shù)據(jù)包成功下載的確認(rèn)消息。由此,終端管理器110將在之后的交互中,向下載失敗的終端繼續(xù)發(fā)送下載任務(wù)提示消息。
[0033]應(yīng)用程序管理和作業(yè)調(diào)度模塊112還監(jiān)測是否到達(dá)更新數(shù)據(jù)包的更新時(shí)間點(diǎn),如果到達(dá),則經(jīng)