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

應用任務的執(zhí)行控制方法和系統(tǒng)、消息服務器的制造方法

文檔序號:8415467閱讀:428來源:國知局
應用任務的執(zhí)行控制方法和系統(tǒng)、消息服務器的制造方法
【技術領域】
[0001]本發(fā)明涉及業(yè)務系統(tǒng)領域,尤其涉及一種應用任務的執(zhí)行控制方法和系統(tǒng)、消息服務器。
【背景技術】
[0002]企業(yè)中的業(yè)務系統(tǒng)都會部署在同一個集群環(huán)境下,有些業(yè)務系統(tǒng)涉及到一些后臺的應用任務的執(zhí)行,應用任務的執(zhí)行是通過開源quartz來實現(xiàn)的,如果不加任何限制,導致達到任務指定的執(zhí)行時間點時集群中的多臺服務器都運行任務,使得該任務重復執(zhí)行多次;如果為了避免同一任務被重復執(zhí)行,可將集群中的某一臺服務器上單獨部署任務,但單獨部署任務可能導致在開發(fā)過程中要維護兩份程序代碼或者在發(fā)布時修改配置項來完成,增加系統(tǒng)發(fā)布的復雜性。

【發(fā)明內容】

[0003]在下文中給出關于本發(fā)明的簡要概述,以便提供關于本發(fā)明的某些方面的基本理解。應當理解,這個概述并不是關于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細描述的前序。
[0004]—方面,本發(fā)明提供一種應用任務的執(zhí)行控制方法,包括:
[0005]通過消息服務器接收同一業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的至少二份對應相同應用任務的注冊請求,根據(jù)接收到的注冊請求對相應業(yè)務服務器進行注冊;
[0006]所述消息服務器接收所述同一業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的對應同一應用任務的多個啟動請求,選擇接受其中一啟動請求并控制選中的啟動請求對應的業(yè)務服務器執(zhí)行所述應用任務。
[0007]另一方面,本發(fā)明還提供一種消息服務器,包括;
[0008]注冊模塊,用于接收同一業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的至少二份對應相同應用任務的注冊請求,根據(jù)接收到的注冊請求對相應業(yè)務服務器進行注冊;
[0009]啟動控制模塊,用于接收所述同一業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的對應同一應用任務的多個啟動請求,選擇接受其中一啟動請求并控制選中的啟動請求對應的業(yè)務服務器執(zhí)行所述應用任務。
[0010]本發(fā)明還提供一種應用任務的執(zhí)行控制系統(tǒng),包括:
[0011]上述的消息服務器、以及由多個業(yè)務服務器組成、且分別與所述消息服務器通信連接的業(yè)務服務器集群;
[0012]所述消息服務器用于接收所述業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的至少二份對應相同應用任務的注冊請求,根據(jù)接收到的注冊請求對相應業(yè)務服務器進行注冊;接收所述業(yè)務服務器集群發(fā)送的對應同一應用任務的多個啟動請求,選擇接受其中一啟動請求并控制選中的啟動請求對應的業(yè)務服務器執(zhí)行所述應用任務。
[0013]本發(fā)明提供的應用任務的執(zhí)行控制方法和系統(tǒng)、消息服務器,可保證應用任務只在一個業(yè)務服務器上執(zhí)行,系統(tǒng)架構簡單且可靠性高。
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明提供的應用任務的執(zhí)行控制方法一種實施例的流程圖。
[0016]圖2為本發(fā)明提供的應用任務的執(zhí)行控制方法一種應用場景的示意圖。
[0017]圖3為本發(fā)明提供的消息服務器一種實施例的結構示意圖。
[0018]圖4為本發(fā)明提供的應用任務的執(zhí)行控制系統(tǒng)一種實施例的結構示意圖。
【具體實施方式】
[0019]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。在本發(fā)明的一個附圖或一種實施方式中描述的元素和特征可以與一個或更多個其它附圖或實施方式中示出的元素和特征相結合。應當注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關的、本領域普通技術人員已知的部件和處理的表示和描述?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有付出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0020]實施例一
[0021]參考圖1,本實施例提供一種應用任務的執(zhí)行控制方法,包括:
[0022]步驟S101,通過消息服務器接收同一業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的至少二份對應相同應用任務的注冊請求,根據(jù)接收到的注冊請求對相應業(yè)務服務器進行注冊;
[0023]步驟S102,所述消息服務器接收所述同一業(yè)務服務器集群中至少二個業(yè)務服務器發(fā)送的對應同一應用任務的多個啟動請求,選擇接受其中一啟動請求并控制選中的啟動請求對應的業(yè)務服務器執(zhí)行所述應用任務。
[0024]消息服務器與業(yè)務服務器集群通信連接,業(yè)務服務器集群為一個集群環(huán)境,包括多個業(yè)務服務器,業(yè)務系統(tǒng)部署在該集群環(huán)境下。
[0025]應用任務建立時業(yè)務服務器集群的多個業(yè)務服務器分別創(chuàng)建應用任務的注冊請求,并分別向消息服務器發(fā)送注冊請求以進行注冊,當部署在對該業(yè)務服務器集群下的應用任務需要執(zhí)行時,多個業(yè)務服務器分別向消息服務器發(fā)送所述應用任務的啟動請求,消息服務器只選擇接受其中一個啟動請求,并控制相應的業(yè)務服務器執(zhí)行該應用任務,由此保證應用任務只在一個業(yè)務服務器上執(zhí)行。
[0026]應用任務的注冊請求由業(yè)務服務器集群的多個不同的業(yè)務服務器創(chuàng)建,或者,由同一業(yè)務服務器創(chuàng)建多個相同應用任務的注冊請求,即可以在同一個業(yè)務服務器上將一個應用任務部署多份。
[0027]具體地,每個業(yè)務服務器創(chuàng)建所述應用任務的注冊請求時,為相應的應用任務分配唯一的標識信息,標識信息包括業(yè)務服務器的節(jié)點信息以及應用任務執(zhí)行的時間信息。
[0028]Quartz提供了以消息服務器的方式來協(xié)調應用任務的調度,從一定程度上解決了集群下多點運行的問題,但是如果在同一個業(yè)務服務器上將同一個任務部署多份,則默認的消息服務器無法控制此類任務,因為消息服務器以應用任務所在節(jié)點的業(yè)務服務器作為名稱;如果多個不同的應用任務在同一個業(yè)務服務器,則會被認為是一個應用任務被執(zhí)行了多次,因此,本實施例提供的應用任務的執(zhí)行控制方法中,為相應的應用任務分配唯一的標識信息,包括:
[0029]獲取業(yè)務服務器的節(jié)點名稱、所述應用任務的執(zhí)行時間以及隨機字符串,隨機字符串以UUID的方式生成;
[0030]對節(jié)點名稱、執(zhí)行時間以及隨機字符串取hash值,即通過散列算法進行計算,得出的整形數(shù)字即為標識信息。
[0031]標識信息以#hostname#timestamp#隨機字符串.hash的方式來唯一標識同一個業(yè)務服務器上的一個應用任務,其中隨機字符串以通用唯一識別碼(UUID,UniversallyUnique Identifier)方式生成,對#hostname#timestamp#隨機字符串通過hash (散列)算法,可生成固定長度的整形數(shù)字。
[0032]當要使用Quartz進行應用任務調度時,采用上述的#hostname#timestamp#隨機字符串.hash覆蓋默認的配置。
[0033]注冊時,各個業(yè)務服務器分別將注冊請求發(fā)送至消息服務器,該注冊請求包括相應的標識信息;當?shù)较鄳膽萌蝿請?zhí)行時刻,各個業(yè)務服務器分別同時向消息服務器發(fā)送啟動請求;消息服務器根據(jù)投票策略,隨機選擇接受其中一啟動請求并控制相應的業(yè)務服務器執(zhí)行該應用任務,保證該應用任務只在唯一一個業(yè)務服務器上執(zhí)行。
[0034]作為一種可選的實施方式,消息服務器包括熱備份的主消息服務器和從消息服務器,當業(yè)務服務器集群無法連接主消息服務器時,自動切換連接到從消息服務器。
[0035]正常情況下主消息服務器接收業(yè)務服務器集群發(fā)送的應用任務的注冊請求和啟動請求,當業(yè)務服務器集群無法連接主消息服務器時,自動切換連接到從消息服務器,從消息服務器負責接收業(yè)務服務器集群發(fā)送的應用任務的注冊請求和啟動請求,主消息服務器和從消息服務器上的數(shù)據(jù)實時一致,依靠自身提供的復制機制實現(xiàn)。
[0036]作為一種可選的實施方式,當主消息服務器從不可用狀態(tài)恢復至可用狀態(tài)時,業(yè)務服務器集群自動切換連接至主消息服務器。
[0037]通過熱備份的主消息服務器和從消息服務器,能夠有效提高消息服務器的負載和容錯能力。
[0038]參考圖2,圖2為本實施例提供的應用任務的執(zhí)行控制方法一種應用場景的示意圖,消息服務器還可對應用任務的調度情況進行記錄和存儲,并發(fā)送至目標地址,維護人員可以直觀的看到各個應用任務的明細。
[0039]本實施例提供的應用任務的執(zhí)行控制方法,可保證應用任務只在一個業(yè)務服務器上執(zhí)行,系統(tǒng)容錯能力和負載能力較高,可靠性強且結構簡單。
[0040]實施例二
[0041]參考圖3,本實施例提供一種消息服務器,包括:
[0042]注冊模塊101,用于接收同一業(yè)務服務器集103群中至少二個業(yè)務服務器發(fā)送的至少二份對應相同應用任務的注冊請求,根據(jù)接收到的注冊請求對相應業(yè)務服務器進行注
ΠΠ
冊;
[0043]啟動控制模塊102,用于接收所述同一業(yè)務服務器集群103中至少二個業(yè)務服務器發(fā)送的對應同一應用任務的多個啟動請求,選擇接受其中一啟動請求并控制選中的啟動請求對應的業(yè)務服務器執(zhí)行所述應用任務。
[0044]作為一種可選的實施方式,啟動控制模塊102還用于接收同一應用任務的多個啟動請求,根據(jù)投票策略選擇接受其中一啟動請求并控制相應的業(yè)務服務器執(zhí)行所述應用任務。
[0045]注冊時,業(yè)務服務器集群103中的各個業(yè)務服務器分別將注冊請求發(fā)送至注冊模塊101,該注冊請求包括相應的標識信息;當?shù)较鄳膽萌蝿請?zhí)行時刻,各個業(yè)務服務器分別同時向啟動控制模塊102發(fā)送啟動請求;啟動控制模塊102根據(jù)投票策略,隨機選擇接受其中一啟動請求并控制相應的業(yè)務服務器執(zhí)行該應用任務,保證該應用任務只在唯一一個業(yè)務服務器上執(zhí)行。
[0046]本實施例提供的消息服務器,可控制應用任務只在與之相連的一個業(yè)務服務器上執(zhí)行,可靠性強且結構簡單。
[0047]實施例三
[0048]參考圖4,本實施例提供一種應用任務的執(zhí)行控制系統(tǒng),包括:
[0049]消息服務器201、以及由多個業(yè)務服務器203組成、且分別與消息服務器201通信連接的業(yè)務
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
郓城县| 本溪市| 大港区| 霸州市| 巴中市| 宜川县| 普定县| 搜索| 建宁县| 大安市| 马山县| 梅河口市| 崇义县| 广安市| 三亚市| 马鞍山市| 阿鲁科尔沁旗| 延庆县| 丰城市| 永嘉县| 香港| 万州区| 虎林市| 黄浦区| 竹北市| 资讯 | 宜昌市| 车险| 新干县| 贵南县| 积石山| 夏邑县| 肥东县| 亚东县| 台江县| 当涂县| 阳春市| 雷波县| 万宁市| 衡阳市| 瑞丽市|