一種可配置的參數動態裝載方法及系統的制作方法
【專利摘要】本發明的實施方式提供了一種可配置的參數動態裝載方法及系統,該方法包括:在子表中配置參數及其裝載方式;在總表中配置每個子表的監控安排;從總表中加載每個子表的監控安排并對其進行解析,得到對每個子表發起監控的各個時間;針對每個子表,根據對子表發起監控的各個時間,對子表進行監控,監控包括:從總表中加載子表的最近裝載時間;遍歷子表中的每個參數;根據參數的裝載方式、最近裝載時間以及當前時間,判斷是否需要裝載;對于需要裝載的參數,根據其裝載方式執行裝載;遍歷結束后,對總表中子表的最近裝載時間進行更新。本發明提高了參數裝載的實施效率,極大減少了程序修改的工作量,更具靈活性,更能滿足新業務擴展的時效性。
【專利說明】
一種可配置的參數動態裝載方法及系統
技術領域
[0001] 本發明的實施方式涉及計算機技術領域,更具體地,本發明的實施方式涉及一種 可配置的參數動態裝載方法及系統。
【背景技術】
[0002] 本部分旨在為權利要求書中陳述的本發明的實施方式提供背景或上下文。此處的 描述不因為包括在本部分中就承認是現有技術。
[0003] 銀行核心業務系統中,一些用于系統及業務控制的數據成為參數。與業務數據相 比,參數是預先設定且具有一定生命周期的(具有生效時間和失效時間),二者的明顯區別 在于參數是相對穩定的,而業務數據是隨時變化的。
[0004] 當有新業務出現時,銀行核心業務系統需要加載大量新的參數,目前傳統的參數 裝載方法主要是通過修改銀行核心業務系統的程序來實現。
【發明內容】
[0005] 但是,由于目前傳統的參數裝載方法需要修改銀行核心業務系統的程序,這種方 法存在工作量大,投產周期長,效率較低等缺點,無法滿足新業務擴展的時效性,不利于提 尚新業務參數上線的實施效率。
[0006] 為此,非常需要一種改進的參數裝載方法,以提高參數裝載的實施效率,滿足新業 務擴展的時效性。
[0007] 在本上下文中,本發明的實施方式期望提供一種可配置的參數動態裝載方法及系 統。
[0008] 在本發明實施方式的第一方面中,提供了一種可配置的參數動態裝載方法,包 括:
[0009] 為每種參數類型創建對應的子表,在子表中配置屬于相應參數類型的參數,以及 配置每個參數的裝載方式;
[0010] 創建總表,在總表中配置每個子表的監控安排,以及配置每個子表的最近裝載時 間為當前時間;
[0011] 從總表中加載每個子表的監控安排,對每個子表的監控安排進行解析,得到對每 個子表發起監控的各個時間;
[0012] 針對每個子表,根據對該子表發起監控的各個時間,對該子表進行監控,所述監控 包括:
[0013] 從總表中加載該子表的最近裝載時間;
[0014] 遍歷該子表中的每個參數;根據所遍歷到的參數的裝載方式、所述最近裝載時間 以及當前時間,判斷是否需要裝載該參數;對于需要裝載的參數,根據其裝載方式立即執行 裝載;
[0015] 在遍歷結束后,將總表中該子表的最近裝載時間更新為此次遍歷過程中最后一次 執行裝載的時間。
[0016] 在本發明實施方式的第二方面中,提供了一種參數動態裝載系統,包括:
[0017] 子表配置模塊,用于為每種參數類型創建對應的子表,在子表中配置屬于相應參 數類型的參數,以及配置每個參數的裝載方式;
[0018] 總表配置模塊,用于創建總表,在總表中配置每個子表的監控安排,以及配置每個 子表的最近裝載時間為當前時間;
[0019] 解析模塊,用于從總表中加載每個子表的監控安排,對每個子表的監控安排進行 解析,得到對每個子表發起監控的各個時間;
[0020] 監控模塊,用于針對每個子表,根據對該子表發起監控的各個時間,對該子表進行 監控;
[0021] 所述監控模塊進一步包括:
[0022] 加載模塊,用于從總表中加載該子表的最近裝載時間;
[0023] 遍歷模塊,用于遍歷該子表中的每個參數;
[0024] 判斷及裝載模塊,用于根據所遍歷到的參數的裝載方式、所述最近裝載時間以及 當前時間,判斷是否需要裝載該參數;對于需要裝載的參數,根據其裝載方式立即執行裝 載;
[0025] 更新模塊,用于在遍歷結束后,將總表中該子表的最近裝載時間更新為此次遍歷 過程中最后一次執行裝載的時間。
[0026] 借助于上述技術方案,本發明以參數化的形式配置各種參數的裝載方式,通過動 態監控子表的方式實現參數的動態裝載,提高了參數裝載的實施效率。相比于現有技術,本 發明無需修改銀行核心業務系統的程序,極大減少了程序修改的工作量,更具靈活性,更能 滿足新業務擴展的時效性。
【附圖說明】
[0027] 通過參考附圖閱讀下文的詳細描述,本發明示例性實施方式的上述以及其他目 的、特征和優點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發明的若 干實施方式,其中:
[0028] 圖1示意性地示出了本發明提供的可配置的參數動態裝載方法的流程示意圖;
[0029] 圖2示意性地示出了本發明中對每個子表進行監控的過程;
[0030] 圖3示意性地示出了本發明提供的參數動態裝載系統的一種結構框架圖;
[0031] 圖4示意性地示出了本發明提供的參數動態裝載系統的另一種結構框架圖;
[0032] 在附圖中,相同或對應的標號表不相同或對應的部分。
【具體實施方式】
[0033] 下面將參考若干示例性實施方式來描述本發明的原理和精神。應當理解,給出這 些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現本發明,而并非以任何 方式限制本發明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能 夠將本公開的范圍完整地傳達給本領域的技術人員。
[0034] 本領域技術技術人員知道,本發明的實施方式可以實現為一種系統、裝置、設備、 方法或計算機程序產品。因此,本公開可以具體實現為以下形式,即:完全的硬件、完全的軟 件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結合的形式。
[0035] 根據本發明的實施方式,提出了一種可配置的參數動態裝載方法及系統。
[0036] 在本文中,需要理解的是,所涉及的術語"共享內存"表示銀行核心業務系統中所 有軟件設備、硬件設備的共享內存。
[0037] 此外,附圖中的任何元素數量均用于示例而非限制,以及任何命名都僅用于區分, 而不具有任何限制含義。
[0038] 示例件方法
[0039] 本發明提供一種可配置的參數動態裝載方法,如圖1所示,包括如下步驟:
[0040] 步驟S11,配置子表:為每種參數類型創建對應的子表,在子表中配置屬于相應參 數類型的參數,以及配置每個參數的裝載方式。
[0041] 具體地,子表用于記載參數及其裝載方式,一個子表對應一種參數類型,子表中可 記載多個參數,每個參數配置有唯一的裝載方式。
[0042] 用戶可以預先或者實時地在子表中配置參數及其裝載方式。例如,在銀行有某一 新業務上線時,用戶預先將一批新業務涉及的參數按照參數類型配置到相應的子表中;對 銀行已有的業務進行改進而需要裝入新的參數時,用戶按照參數所屬的參數類型找到相應 的子表,將其配置入子表中。
[0043] 表1所示為參數類型及對應的子表和參數的實施例。
[0044] 表 1
[0045]
[0046] 可選地,本發明中參數的裝載方式可以包括但不限于是如下幾種:
[0047] ①定時生效型:在一預設的時間裝入共享內存以生效;
[0048] ②定時失效型:在一預設的時間從共享內存中刪除以失效;
[0049] ③定時生效、失效型:在一預設的時間裝入共享內存以生效,并在另一預設的時間 從共享內存中刪除以失效;
[0050] ④實時生效型:在被掃描到的時間實時裝入共享內存以生效。
[0051] 具體實施時,可選地,可以采用如表2所示的形式在子表中配置參數的裝載方式: 在子表中為每個參數創建兩個屬性"生效時間"和"失效時間";對于定時生效型,在參數的 "生效時間"屬性中配置一預設的時間T1,令其"失效時間"屬性為空;對于定時失效型,令參 數的"生效時間"屬性為空,在其"失效時間"屬性中配置一預設的時間T2 ;對于定時生效、 失效型,在參數的"生效時間"屬性中配置一預設的時間T1,在其"失效時間"屬性中配置另 一預設的時間T2 ;對于實時生效型,令參數的"生效時間"和"失效時間"兩個屬性均為空。
[0052] 表 2
[0053]
[0054] 具體實施時,可選地,還可以采用如表3所示的形式在子表中配置參數的裝載方 式:在子表中為每個參數創建兩個屬性"裝載方式"和"預設時間";對于定時生效型,在參數 的"裝載方式"屬性中配置二進制數字10,在其"預設時間"屬性中配置一預設的時間T1 ; 對于定時失效型,在參數的"裝載方式"屬性中配置二進制數字01,在其"預設時間"屬性中 配置一預設的時間T2 ;對于定時生效、失效型,在參數的"裝載方式"屬性中配置二進制數 字11,在其"預設時間"屬性中配置兩個預設的時間T1和T2,其中,T1和T2之間以";"隔 開;對于實時生效型,在參數的"裝載方式"屬性中配置二進制數字〇〇,令其"預設時間"屬 性為空。
[0055] 表 3
[0056]
[0057] 步驟S12,配置總表:創建總表,在總表中配置每個子表的監控安排,以及配置每 個子表的最近裝載時間為當前時間。
[0058] 具體地,總表用于記載子表的監控安排和最近裝載時間,對子表進行監控時需要 從總表中加載子表對應的監控安排和最近裝載時間。
[0059] 總表中配置的監控安排需要表明何時對相應子表發起監控、對相應子表共進行幾 次監控等信息。
[0060] 具體實施時,可選地,可以采用如圖4所示的形式在總表中配置監控安排:將對相 應子表發起監控的時間依序排列(表示何時對子表發起監控),并以特定標識符(如表4中 的",")隔開各個發起監控的時間(表示共進行幾次監控)。例如,其中,卡bin信息表的 監控安排表示應在 〇:〇〇、3:00、6:00、9:00、12:00、15:00、18:00、21:00 各發起一次對卡 bin 信息表的監控,總共對卡bin信息表監控8次。
[0061] 表 4
[0062]
[0063] 具體實施時,為了便于加載,可選地,可以采用如圖5所示的形式在總表中配置監 控安排:配置初次對子表發起監控的時間、末次對子表發起監控的時間、對子表進行監控的 總次數,并且采用特定標識符(如表5中的",")隔開初次對子表發起監控的時間和末次 對子表發起監控的時間之間,采用另一特定標識符(如表5中的";")隔開對子表進行監 控的總次數。例如,其中,商戶黑名單表的監控安排表示應在〇:〇〇至20:00之間對商戶黑 名單表監控6次,即0:00、4:00、8:00、12:00、16:00、20:00各發起一次對商戶黑名單表的監 控。
[0064] 表 5
[0065]
[0066] 總表中的最近裝載時間是表示每次監控子表的過程中最后一次執行參數裝載的 時間,由于配置總表時還未對子表進行監控,因此,需要將每個子表的最近裝載時間的初始 值配置為當前時間。
[0067] 步驟S13,加載并解析:從總表中加載每個子表的監控安排,對每個子表的監控安 排進行解析,得到對每個子表發起監控的各個時間。
[0068] 例如總表按照如表5所示的形式配置每個子表的監控安排,則對商戶黑名單表的 監控安排進行加載和解析之后,得到對商戶黑名單表發起監控的各個時間為〇:〇〇、4:00、 8:00、12:00、16:00、20:00。
[0069] 步驟S14,監控及裝載:針對每個子表,根據對該子表發起監控的各個時間,對該 子表進行監控,其中對每個子表進行的監控包括如圖2所示的過程。
[0070] 具體地,由于步驟S13已經解析得到對每個子表發起監控的各個時間,因此步驟 S14就可以在解析得到的各個時間對相應的子表發起監控。
[0071] 考慮到銀行新業務往往涉及到較多數量和較多類型的參數,按照本發明提供的方 法進行監控時,就會涉及較多數量的子表,具體實施時,若按照解析得到的對每個子表發起 監控的時間實時發起監控則需要占用較多的系統資源,為了減小系統資源的占用量,本發 明可以采用如下的模式:在對每個子表的監控安排進行解析之后,為每個子表創建相應的 時間隊列;將解析得到的對每個子表發起監控的各個時間(即理應發起監控的各個時間) 存入相應子表對應的時間隊列中;周期性地輪詢(例如每隔1分鐘或5分鐘)每個子表對 應的時間隊列的隊首元素,并將該隊首元素與當前時間進行比對;若該隊首元素恰好等于 當前時間或在當前時間之前,則對該隊首元素所在的時間隊列對應的子表進行監控,同時 刪除該隊首元素。
[0072] 也就是說,對子表每實際發起一次監控,就刪除子表對應的時間隊列中的隊首元 素,相應的,此次實際發起監控所對應的理應發起監控的時間就被刪除了,這樣到下次輪詢 時,該子表對應的時間隊列的隊首元素就變成了理應發起監控的下個時間,若這下個時間 等于下次輪詢時的系統當前時間,表示下次輪詢時的系統當前時間恰好是對該子表理應發 起監控的下個時間,則應當立即對該子表進行監控,若這個時間早于當前時間,則表示下次 輪詢時的系統當前時間已經超過了對該子表理應發起監控的下個時間,也應當立即對該子 表進行監控。
[0073] 通過這種周期性輪詢的方式,本發明可以周期性地獲取對各個子表理應發起監控 的時間和系統的當前時間,然后對二者進行比對,而不必實時地監控各個子表理應發起監 控的時間和系統的當前時間,大大節省了資源占用量,可有效避免因資源不足引起的運行 不穩定等問題。
[0074] 如圖2所示為對子表進行監控的過程:
[0075] 步驟S21,從總表中加載該子表的最近裝載時間。
[0076] 具體地,對子表進行首次監控時,從總表中加載到的最近裝載時間是配置總表時 的系統當前時間。
[0077] 步驟S22,遍歷該子表中的每個參數;根據所遍歷到的參數的裝載方式、最近裝載 時間以及當前時間,判斷是否需要裝載該參數;對于需要裝載的參數,根據其裝載方式立即 執行裝載。
[0078] 具體地,判斷一個參數是否執行裝載需要對以下三個數據進行分析:參數的裝載 方式、參數所在子表的最近裝載時間以及系統的當前時間。其中,利用參數的裝載方式和系 統的當前時間可判斷對參數的生效時間和/或失效時間是否已經過時,利用參數所在子表 的最近裝載時間則可以將子表中已經裝載過的參數濾去,以避免重復裝載。
[0079] 具體實施時,對于裝載方式分別為定時生效型、定時失效型、定時生效、失效型、實 時生效型的參數,可以按照如表6所示的標準來判斷是否需要執行裝載,即:
[0080] 定時生效型:將預設的參數生效時間T1與子表的最近裝載時間T0和系統的當前 時間T4進行比對;如果參數生效時間T1恰好等于系統的當前時間T4或在子表的最近裝載 時間T0之后、在系統的當前時間T4之前,則確定需要裝載該參數,并立即將該參數裝入共 享內存;
[0081] 定時失效型:將預設的參數失效時間T2與子表的最近裝載時間T0和系統的當前 時間T4進行比對;如果參數失效時間T2恰好等于系統的當前時間T4或在子表的最近裝載 時間T0之后、在系統的當前時間T4之前,則確定需要裝載該參數,并立即將該參數從共享 內存中刪除;
[0082] 定時生效、失效型:將預設的參數生效時間T1、預設的參數失效時間T2與子表的 最近裝載時間T0和系統的當前時間T4進行比對;如果參數生效時間T1恰好等于系統的當 前時間T4或在子表的最近裝載時間T0之后、在系統的當前時間T4之前,則確定需要裝載 該參數,并立即將該參數裝入共享內存;如果參數失效時間T2恰好等于系統的當前時間T4 或在子表的最近裝載時間T0之后、在系統的當前時間T4之前,則確定需要裝載該參數,并 立即將該參數從共享內存中刪除;
[0083] 實時生效型:遍歷到該參數即確定需要裝載該參數,并立即將該參數裝入共享內 存。
[0084] 表 6
[0087] 步驟S23,當遍歷結束后,將總表中該子表的最近裝載時間更新為此次遍歷過程中 最后一次執行裝載的時間。
[0088] 該步驟是對總表中每個子表的最近裝載時間進行更新,使其與實際的參數裝載情 況相匹配,其作用是在后續判斷參數是否需要執行裝載時,將子表中已經執行過裝載的參 數濾除,以避免重復裝載。
[0089] 綜上,本發明提供的可配置的參數動態裝載方法,可動態配置各種參數及其裝載 方式,并通過動態監控子表的方式實現參數的動態裝載,提高了參數裝載的實施效率,滿足 了新業務擴展的時效性。相比于現有技術,本發明無需修改銀行核心業務系統的程序,極大 減少了程序修改的工作量,更具靈活性,并且容易實現且運行穩定,具有更好的適用性,可 在不同的業務系統中推廣使用。
[0090] 示例件系統
[0091] 本發明還提供一種參數動態裝載系統,如圖3所示,該系統包括:
[0092] 子表配置模塊31,用于為每種參數類型創建對應的子表,在子表中配置屬于相應 參數類型的參數,以及配置每個參數的裝載方式;
[0093] 總表配置模塊32,用于創建總表,在總表中配置每個子表的監控安排,以及配置每 個子表的最近裝載時間為當前時間;
[0094] 解析模塊33,用于從總表中加載每個子表的監控安排,對每個子表的監控安排進 行解析,得到對每個子表發起監控的各個時間;
[0095] 監控模塊34,用于針對每個子表,根據對該子表發起監控的各個時間,對該子表進 行監控;
[0096] 監控模塊34進一步包括:
[0097] 加載模塊341,用于從總表中加載該子表的最近裝載時間;
[0098] 遍歷模塊342,用于遍歷該子表中的每個參數;
[0099] 判斷及裝載模塊343,用于根據所遍歷到的參數的裝載方式、最近裝載時間以及當 前時間,判斷是否需要裝載該參數;對于需要裝載的參數,根據其裝載方式立即執行裝載;
[0100] 更新模塊344,用于在遍歷結束后,將總表中該子表的最近裝載時間更新為此次遍 歷過程中最后一次執行裝載的時間。
[0101] 可選地,子表配置模塊31具體用于:
[0102] 將參數配置為在一預設的時間裝入共享內存以生效;或,
[0103] 將參數配置為在一預設的時間從共享內存中刪除以失效;或,
[0104] 將參數配置為在一預設的時間裝入共享內存以生效,并在另一預設的時間從共享 內存中刪除以失效;或,
[0105] 將參數配置為在被掃描到的時間實時裝入共享內存以生效。
[0106] 可選地,總表配置模塊32具體用于:配置初次對子表發起監控的時間、末次對子 表發起監控的時間、對子表進行監控的總次數。
[0107] 可選地,如圖4所示,該參數動態裝載系統還包括:
[0108] 隊列創建模塊35,用于為每個子表創建相應的時間隊列;
[0109] 隊列存儲模塊36,用于將對每個子表發起監控的各個時間存入相應子表對應的時 間隊列中;
[0110] 監控模塊34具體用于:
[0111] 周期性地輪詢每個子表對應的時間隊列的隊首元素,并將該隊首元素與當前時間 進行比對;
[0112] 若該隊首元素恰好等于當前時間或在當前時間之前,則對該隊首元素所在的時間 隊列對應的子表進行監控,同時刪除該隊首元素。
[0113] 可選地,判斷及裝載模塊343具體用于:
[0114] 若所遍歷到的參數的裝載方式為在一預設的時間裝入共享內存以生效,將一預設 的時間與最近裝載時間和當前時間進行比對;如果一預設的時間恰好等于當前時間或在 最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該參數裝入共享內 存;
[0115] 若所遍歷到的參數的裝載方式為在一預設的時間從共享內存中刪除以失效,將一 預設的時間與最近裝載時間和當前時間進行比對;如果一預設的時間恰好等于當前時間或 在最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該參數從共享內 存中刪除;
[0116] 若所遍歷到的參數的裝載方式為在一預設的時間裝入共享內存以生效,并在另一 預設的時間從共享內存中刪除以失效,將一預設的時間、另一預設的時間與最近裝載時間 和當前時間進行比對;如果一預設的時間恰好等于當前時間或在最近裝載時間之后、在當 前時間之前,則確定需要裝載該參數,并立即將該參數裝入共享內存;如果另一預設的時間 恰好等于當前時間或在最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立 即將該參數從共享內存中刪除;
[0117] 若所遍歷到的參數的裝載方式為在被掃描到的時間實時裝入共享內存以生效,則 確定需要裝載該參數,并立即將該參數裝入共享內存。
[0118] 應當注意,盡管在上文詳細描述中提及了參數動態裝載系統的若干模塊,但是這 種劃分僅僅并非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多模塊的 特征和功能可以在一個模塊中具體化。反之,上文描述的一個模塊的特征和功能可以進一 步劃分為由多個模塊來具體化。
[0119] 此外,盡管在附圖中以特定順序描述了本發明方法的操作,但是,這并非要求或者 暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的 結果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執行,和/或將一 個步驟分解為多個步驟執行。
[0120] 雖然已經參考若干【具體實施方式】描述了本發明的精神和原理,但是應該理解,本 發明并不限于所公開的【具體實施方式】,對各方面的劃分也不意味著這些方面中的特征不能 組合以進行受益,這種劃分僅是為了表述的方便。本發明旨在涵蓋所附權利要求的精神和 范圍內所包括的各種修改和等同布置。
[0121] 以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳 細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限定本發明的保 護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本 發明的保護范圍之內。
[0122] 本領域技術人員還可以了解到本發明實施例列出的各種說明性邏輯塊 (illustrative logical block),單元,和步驟可以通過電子硬件、電腦軟件,或兩者的結 合進行實現。為清楚展示硬件和軟件的可替換性(interchangeability),上述的各種說明 性部件(illustrative components),單元和步驟已經通用地描述了它們的功能。這樣的功 能是通過硬件還是軟件來實現取決于特定的應用和整個系統的設計要求。本領域技術人員 可以對于每種特定的應用,可以使用各種方法實現所述的功能,但這種實現不應被理解為 超出本發明實施例保護的范圍。
[0123] 本發明實施例中所描述的各種說明性的邏輯塊,或單元,或裝置都可以通過通用 處理器,數字信號處理器,專用集成電路(ASIC),現場可編程門陣列或其它可編程邏輯裝 置,離散門或晶體管邏輯,離散硬件部件,或上述任何組合的設計來實現或操作所描述的功 能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統的處理器、控制 器、微控制器或狀態機。處理器也可以通過計算裝置的組合來實現,例如數字信號處理器和 微處理器,多個微處理器,一個或多個微處理器聯合一個數字信號處理器核,或任何其它類 似的配置來實現。
[0124] 本發明實施例中所描述的方法或算法的步驟可以直接嵌入硬件、處理器執行的軟 件模塊、或者這兩者的結合。軟件模塊可以存儲于RAM存儲器、閃存、ROM存儲器、EPROM存 儲器、EEPR0M存儲器、寄存器、硬盤、可移動磁盤、⑶-ROM或本領域中其它任意形式的存儲 媒介中。示例性地,存儲媒介可以與處理器連接,以使得處理器可以從存儲媒介中讀取信 息,并可以向存儲媒介存寫信息。可選地,存儲媒介還可以集成到處理器中。處理器和存儲 媒介可以設置于ASIC中,ASIC可以設置于用戶終端中。可選地,處理器和存儲媒介也可以 設置于用戶終端中的不同的部件中。
[0125] 在一個或多個示例性的設計中,本發明實施例所描述的上述功能可以在硬件、軟 件、固件或這三者的任意組合來實現。如果在軟件中實現,這些功能可以存儲與電腦可讀的 媒介上,或以一個或多個指令或代碼形式傳輸于電腦可讀的媒介上。電腦可讀媒介包括電 腦存儲媒介和便于使得讓電腦程序從一個地方轉移到其它地方的通信媒介。存儲媒介可以 是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但 不限于RAM、ROM、EEPROM、CD-ROM或其它光盤存儲、磁盤存儲或其它磁性存儲裝置,或其它 任何可以用于承載或存儲以指令或數據結構和其它可被通用或特殊電腦、或通用或特殊處 理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當地定義為電腦可讀媒介,例 如,如果軟件是從一個網站站點、服務器或其它遠程資源通過一個同軸電纜、光纖電纜、雙 絞線、數字用戶線(DSL)或以例如紅外、無線和微波等無線方式傳輸的也被包含在所定義 的電腦可讀媒介中。所述的碟片(disk)和磁盤(disc)包括壓縮磁盤、鐳射盤、光盤、DVD、 軟盤和藍光光盤,磁盤通常以磁性復制數據,而碟片通常以激光進行光學復制數據。上述的 組合也可以包含在電腦可讀媒介中。
【主權項】
1. 一種可配置的參數動態裝載方法,其特征在于,包括: 為每種參數類型創建對應的子表,在子表中配置屬于相應參數類型的參數,以及配置 每個參數的裝載方式; 創建總表,在總表中配置每個子表的監控安排,以及配置每個子表的最近裝載時間為 當前時間; 從總表中加載每個子表的監控安排,對每個子表的監控安排進行解析,得到對每個子 表發起監控的各個時間; 針對每個子表,根據對該子表發起監控的各個時間,對該子表進行監控,所述監控包 括: 從總表中加載該子表的最近裝載時間; 遍歷該子表中的每個參數;根據所遍歷到的參數的裝載方式、所述最近裝載時間以及 當前時間,判斷是否需要裝載該參數;對于需要裝載的參數,根據其裝載方式立即執行裝 載; 在遍歷結束后,將總表中該子表的最近裝載時間更新為此次遍歷過程中最后一次執行 裝載的時間。2. 根據權利要求1所述的可配置的參數動態裝載方法,其特征在于,所述的配置每個 參數的裝載方式,包括: 將參數配置為在一預設的時間裝入共享內存以生效;或, 將參數配置為在一預設的時間從共享內存中刪除以失效;或, 將參數配置為在一預設的時間裝入共享內存以生效,并在另一預設的時間從共享內存 中刪除以失效;或, 將參數配置為在被掃描到的時間實時裝入共享內存以生效。3. 根據權利要求2所述的可配置的參數動態裝載方法,其特征在于,所述的配置每個 子表的監控安排,包括: 配置初次對子表發起監控的時間、末次對子表發起監控的時間、對子表進行監控的總 次數。4. 根據權利要求3所述的可配置的參數動態裝載方法,其特征在于, 所述的對每個子表的監控安排進行解析,得到對每個子表發起監控的各個時間之后, 還包括: 為每個子表創建相應的時間隊列; 將對每個子表發起監控的各個時間存入相應子表對應的時間隊列中; 所述的針對每個子表,根據對該子表發起監控的各個時間,對該子表進行監控,包括: 周期性地輪詢每個子表對應的時間隊列的隊首元素,并將該隊首元素與當前時間進行 比對; 若該隊首元素恰好等于當前時間或在當前時間之前,則對該隊首元素所在的時間隊列 對應的子表進行監控,同時刪除該隊首元素。5. 根據權利要求2所述的可配置的參數動態裝載方法,其特征在于,所述的根據所遍 歷到的參數的裝載方式和所述最近裝載時間,判斷是否需要裝載該參數;對于需要裝載的 參數,根據其裝載方式立即執行裝載,包括: 若所遍歷到的參數的裝載方式為在一預設的時間裝入共享內存以生效,將所述一預設 的時間與所述最近裝載時間和當前時間進行比對;如果所述一預設的時間恰好等于當前時 間或在所述最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該參數 裝入共享內存; 若所遍歷到的參數的裝載方式為在一預設的時間從共享內存中刪除以失效,將所述一 預設的時間與所述最近裝載時間和當前時間進行比對;如果所述一預設的時間恰好等于當 前時間或在所述最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該 參數從共享內存中刪除; 若所遍歷到的參數的裝載方式為在一預設的時間裝入共享內存以生效,并在另一預設 的時間從共享內存中刪除以失效,將所述一預設的時間、所述另一預設的時間與所述最近 裝載時間和當前時間進行比對;如果所述一預設的時間恰好等于當前時間或在所述最近裝 載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該參數裝入共享內存;如 果所述另一預設的時間恰好等于當前時間或在所述最近裝載時間之后、在當前時間之前, 則確定需要裝載該參數,并立即將該參數從共享內存中刪除; 若所遍歷到的參數的裝載方式為在被掃描到的時間實時裝入共享內存以生效,則確定 需要裝載該參數,并立即將該參數裝入共享內存。6. -種參數動態裝載系統,其特征在于,包括: 子表配置模塊,用于為每種參數類型創建對應的子表,在子表中配置屬于相應參數類 型的參數,以及配置每個參數的裝載方式; 總表配置模塊,用于創建總表,在總表中配置每個子表的監控安排,以及配置每個子表 的最近裝載時間為當前時間; 解析模塊,用于從總表中加載每個子表的監控安排,對每個子表的監控安排進行解析, 得到對每個子表發起監控的各個時間; 監控模塊,用于針對每個子表,根據對該子表發起監控的各個時間,對該子表進行監 控; 所述監控模塊進一步包括: 加載模塊,用于從總表中加載該子表的最近裝載時間; 遍歷模塊,用于遍歷該子表中的每個參數; 判斷及裝載模塊,用于根據所遍歷到的參數的裝載方式、所述最近裝載時間以及當前 時間,判斷是否需要裝載該參數;對于需要裝載的參數,根據其裝載方式立即執行裝載; 更新模塊,用于在遍歷結束后,將總表中該子表的最近裝載時間更新為此次遍歷過程 中最后一次執行裝載的時間。7. 根據權利要求6所述的參數動態裝載系統,其特征在于,所述子表配置模塊具體用 于: 將參數配置為在一預設的時間裝入共享內存以生效;或, 將參數配置為在一預設的時間從共享內存中刪除以失效;或, 將參數配置為在一預設的時間裝入共享內存以生效,并在另一預設的時間從共享內存 中刪除以失效;或, 將參數配置為在被掃描到的時間實時裝入共享內存以生效。8. 根據權利要求7所述的參數動態裝載系統,其特征在于,所述總表配置模塊具體用 于: 配置初次對子表發起監控的時間、末次對子表發起監控的時間、對子表進行監控的總 次數。9. 根據權利要求8所述的參數動態裝載系統,其特征在于,還包括: 隊列創建模塊,用于為每個子表創建相應的時間隊列; 隊列存儲模塊,用于將對每個子表發起監控的各個時間存入相應子表對應的時間隊列 中; 所述監控模塊具體用于: 周期性地輪詢每個子表對應的時間隊列的隊首元素,并將該隊首元素與當前時間進行 比對; 若該隊首元素恰好等于當前時間或在當前時間之前,則對該隊首元素所在的時間隊列 對應的子表進行監控,同時刪除該隊首元素。10. 根據權利要求7所述的參數動態裝載系統,其特征在于,所述判斷及裝載模塊具體 用于: 若所遍歷到的參數的裝載方式為在一預設的時間裝入共享內存以生效,將所述一預設 的時間與所述最近裝載時間和當前時間進行比對;如果所述一預設的時間恰好等于當前時 間或在所述最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該參數 裝入共享內存; 若所遍歷到的參數的裝載方式為在一預設的時間從共享內存中刪除以失效,將所述一 預設的時間與所述最近裝載時間和當前時間進行比對;如果所述一預設的時間恰好等于當 前時間或在所述最近裝載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該 參數從共享內存中刪除; 若所遍歷到的參數的裝載方式為在一預設的時間裝入共享內存以生效,并在另一預設 的時間從共享內存中刪除以失效,將所述一預設的時間、所述另一預設的時間與所述最近 裝載時間和當前時間進行比對;如果所述一預設的時間恰好等于當前時間或在所述最近裝 載時間之后、在當前時間之前,則確定需要裝載該參數,并立即將該參數裝入共享內存;如 果所述另一預設的時間恰好等于當前時間或在所述最近裝載時間之后、在當前時間之前, 則確定需要裝載該參數,并立即將該參數從共享內存中刪除; 若所遍歷到的參數的裝載方式為在被掃描到的時間實時裝入共享內存以生效,則確定 需要裝載該參數,并立即將該參數裝入共享內存。
【文檔編號】G06F9/445GK105930178SQ201510770053
【公開日】2016年9月7日
【申請日】2015年11月12日
【發明人】劉淑娟, 鮑鵬, 邱鵬, 楊燕明
【申請人】中國銀聯股份有限公司