專利名稱:配置方法及配置系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于軟件系統(tǒng),且特別是有關(guān)于軟件系統(tǒng)的配置方法及配置系統(tǒng)
背景技術(shù):
在復(fù)雜的軟件系統(tǒng)中,通常都有兩個以上的對象相互作用來完成軟件功能,每個對象都要自己獲得能夠讓本身工作的數(shù)據(jù)或?qū)ο?,這些數(shù)據(jù)或?qū)ο缶褪且蕾図棥_@樣就導(dǎo)致軟件系統(tǒng)I禹合度非常高,而且難以維護,為此提出了依賴注射(Dependency Injection,DI)的概念,其通過外部定義的方式避免對象和對象之間的過度耦合。此外,通常采用配置的方式來提高軟件系統(tǒng)的靈活性,以文件方式定義外部數(shù)據(jù)或?qū)ο蠼Y(jié)構(gòu)。但是,現(xiàn)有的配置系統(tǒng)一般是單層的結(jié)構(gòu),由于軟件系統(tǒng)的升級和演化,會產(chǎn)生不同的分支,單層結(jié)構(gòu)在產(chǎn)品不斷演化的過程中,無論何種演化方式,都會只對同一配置文件或單元進行修改,這將造成配置系統(tǒng)無法保持相對穩(wěn)定,從而造成配置系統(tǒng)在管理、維護和應(yīng)用方面的不便。并且,單層結(jié)構(gòu)中,配置文件的載體單一及儲存位置單一,這分別影響其兼容性與擴展性。有鑒于此,如何設(shè)計一種配置方法及配置系統(tǒng),以使配置系統(tǒng)便于管理、維護,及提高其擴展性與兼容性,是業(yè)內(nèi)相關(guān)技術(shù)人員亟待解決的一技術(shù)問題。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明一方面提出了一種配置方法,用于一軟件系統(tǒng)中,且于執(zhí)行所述軟件系統(tǒng)時參照一配置系統(tǒng),包括以下步驟:分析所述軟件系統(tǒng)的演化;以及根據(jù)分析的結(jié)果對所述配置系統(tǒng)進行層次劃分,劃分后的層次至少包括一系統(tǒng)級以及一擴充級,其中所述系統(tǒng)級對應(yīng)配置所述軟件系統(tǒng)的原生系統(tǒng),所述擴充級對應(yīng)配置所述軟件系統(tǒng)的擴充。在本發(fā)明的一實施方式中,所述系統(tǒng)級或所述擴充級可以再劃分至少一層次。在本發(fā)明的一實施方式中,所述擴充級包括一增強級,所述增強級對應(yīng)所述軟件系統(tǒng)的二次開發(fā)或行業(yè)別。在本發(fā)明的一實施方式中,所述擴充級包括一全局級,所述全局級對應(yīng)所述軟件系統(tǒng)的共通功能或共通數(shù)據(jù)。在本發(fā)明的一實施方式中,所述擴充包括一帳套級,所述帳套級對應(yīng)所述軟件系統(tǒng)的用戶群。在本發(fā)明的一實施方式中,所述用戶級對應(yīng)所述軟件系統(tǒng)的用戶。在本發(fā)明的一實施方式中,所述演化是所述軟件系統(tǒng)的版本變化。在本發(fā)明的一實施方式中,所述演化是所述軟件系統(tǒng)因業(yè)務(wù)功能或用戶需求改變所產(chǎn)生的變化。在本發(fā)明的一實施方式中,所述配置系統(tǒng)具有與所述系統(tǒng)級、所述擴充級分別對應(yīng)的配置資源,各所述配置資源提供給所述軟件系統(tǒng)所需配置的功能或數(shù)據(jù)。
在本發(fā)明的一實施方式中,各所述配置資源為文件、內(nèi)存中的對象、數(shù)據(jù)庫中的數(shù)據(jù)及動態(tài)鏈結(jié)庫其中之一或其組合。在本發(fā)明的一實施方式中,當(dāng)所述配置資源為文件時,則對其目錄結(jié)構(gòu)進行與所述配置系統(tǒng)的層次劃分相對應(yīng)的劃分。本發(fā)明的另一方面提出了一種配置系統(tǒng),用于一軟件系統(tǒng)中,且于執(zhí)行所述軟件系統(tǒng)時參照所述配置系統(tǒng),所述配置系統(tǒng)包括:一系統(tǒng)級及一擴充級,其中所述系統(tǒng)級對應(yīng)配置所述軟件系統(tǒng)的原生系統(tǒng),所述擴充級對應(yīng)配置所述軟件系統(tǒng)的擴充。在本發(fā)明的一實施方式中,所述系統(tǒng)級或所述擴充級可以再劃分至少一層次。綜上,本發(fā)明所提出的配置方法及配置系統(tǒng),將配置系統(tǒng)進行層次劃分,各層次間獨立配置其配置資源予軟件系統(tǒng),即各層次保持了其獨立性,這將便于管理和維護。此外,各層次需要變更時,只需對變更層次進行變更,而不是現(xiàn)有技術(shù)中的全部變更。以及,由于配置系統(tǒng)進行層次劃分,可使其配置資源的承載方式及儲存位置不限制,提高了其兼容性與擴展性。
圖1繪示了本發(fā)明一實施方式的配置系統(tǒng)的框圖;圖2繪示了圖1中的配置系統(tǒng)100的一優(yōu)選實施例的框圖;圖3繪示了本發(fā)明的另一實施方式的配置方法的流程圖;以及圖4繪示了本發(fā)明又一實施方式的配置資源的目錄結(jié)構(gòu)的示意圖。
具體實施例方式為了使本領(lǐng)域相關(guān)技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面將結(jié)合本發(fā)明實施方式的附圖,對本發(fā)明實施方式中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施方式僅僅是本發(fā)明一部分實施方式,而不是全部的實施方式。請參照圖1,圖1繪示了本發(fā)明一實施方式的配置系統(tǒng)的框圖。如圖1所示,配置系統(tǒng)100包括一系統(tǒng)級110及一擴充級120。在本實施方式中,配置系統(tǒng)100,用于一軟件系統(tǒng)中,此軟件系統(tǒng)可以是,比如企業(yè)資源計劃(Enterprise Resource Planning, ERP)系統(tǒng),但不以此為限,也可以是其它軟件系統(tǒng)。當(dāng)軟件系統(tǒng)執(zhí)行時,其參照配置系統(tǒng)100,具體而言,當(dāng)軟件系統(tǒng)執(zhí)行時,配置系統(tǒng)100將配置資源中的功能或數(shù)據(jù)參數(shù)配置予軟件系統(tǒng),以使軟件系統(tǒng)正常運行并實現(xiàn)相應(yīng)功能。通常,軟件系統(tǒng)都是從其最初成型的原生系統(tǒng)不斷演化發(fā)展的,即處于不斷擴充中,如軟件系統(tǒng)的版本變化、軟件系統(tǒng)業(yè)務(wù)功能及用戶需求改變都屬于軟件系統(tǒng)的演化范疇,由于軟件系統(tǒng)的演化發(fā)展,需要不斷對其更新以實現(xiàn)新的功能,這往往需要對其的配置資源進行同步更新。而本實施方式中,配置系統(tǒng)100采用層次化設(shè)計,將其劃分為系統(tǒng)級110與擴充級120;其中,系統(tǒng)級110對應(yīng)配置軟件系統(tǒng)的原生系統(tǒng),即系統(tǒng)級110用來對軟件系統(tǒng)的原生系統(tǒng)進行配置;擴充級120對應(yīng)配置軟件系統(tǒng)的擴充,即擴充級120對軟件系統(tǒng)的擴充進行配置,比如軟件系統(tǒng)需要擴充新的功能,則可以透過擴充級120將此新的功能所對應(yīng)的配置資源配置予軟件系統(tǒng),從而使軟件系統(tǒng)實現(xiàn)此新的功能。在本實施方式中,系統(tǒng)級110與擴充級120,兩者都可以再劃分至少一層次。具體可參照下文。再請參照圖2,圖2繪示了圖1中的配置系統(tǒng)100的一優(yōu)選實施例的框圖。如圖2所示,配置系統(tǒng)100包括系統(tǒng)級110與擴充級120,其中,擴充級120包括增強級121、全局級122、帳套級123及用戶級124,此時配置系統(tǒng)100為多層次結(jié)構(gòu),各級所在層次分別對應(yīng)配置所對應(yīng)軟件系統(tǒng)中各級的配置參數(shù)。系統(tǒng)級110,對應(yīng)的是軟件系統(tǒng)供應(yīng)商開發(fā)的原生版本,是所有其它層次工作的基礎(chǔ)級,通常,系統(tǒng)級110做成嵌入式資源,放在運行庫里面,但不以此為限,比如,也可以是密文或明文形式的文件。增強級121,對應(yīng)的是軟件系統(tǒng)的二次開發(fā)或行業(yè)別,但不以此為限,可以根據(jù)軟件系統(tǒng)的功能需求靈活設(shè)定。全局級122,對應(yīng)的是軟件系統(tǒng)的共通功能或共通數(shù)據(jù),具體而言,對應(yīng)的是多個帳套層123的共性。帳套級123,對應(yīng)的是軟件系統(tǒng)的用戶群,相對于全局級122來說,其對應(yīng)的是每個帳套的特性,比如當(dāng)全局級對應(yīng)的是集團,那么帳套級對應(yīng)的是集團下的公司。用戶級124,對應(yīng)的是軟件系統(tǒng)的用戶(使用者)。在本優(yōu)選實施例中,執(zhí)行配置的優(yōu)先順序為系統(tǒng)級110、增強級121、全局級122、帳套級123及用戶級124,即優(yōu)先配置系統(tǒng)級110,最后配置用戶級124。需說明的是,在本優(yōu)選實施例中,將擴充級120劃分為增強級121、全局級122、帳套級123及用戶級124,但是在其它一些實施例中,擴充級120可以僅僅是增強級121,也可以僅僅是全局級122,還可以是增強級121與全局級122的組合,當(dāng)然,也可以是增強級
121、全局級122、帳套級123的組合,而沒有用戶級124,還可以是多于增強級121、全局級
122、帳套級123及用戶級124的組合??傊?,擴充級120可以根據(jù)軟件系統(tǒng)演化過程中靈活劃分。請參照圖3,圖3繪示了本發(fā)明的另一實施方式的配置方法的流程圖。下面結(jié)合圖1、圖2及圖3對配置方法進行說明。首先,在步驟310中,分析軟件系統(tǒng)的演化。在本實施方式中,演化可以是軟件系統(tǒng)的版本變化,也可以是軟件系統(tǒng)因業(yè)務(wù)功能或用戶需求改變所產(chǎn)生的變化。然后,在步驟320中,根據(jù)分析的結(jié)果對配置系統(tǒng)100進行層次劃分,劃分后的層次至少包括一系統(tǒng)級Iio以及一擴充級120,其中,系統(tǒng)級110對應(yīng)配置軟件系統(tǒng)的原生系統(tǒng),擴充級120對應(yīng)配置軟件系統(tǒng)的擴充。舉例之,當(dāng)軟件系統(tǒng)因二次開發(fā)而使軟件系統(tǒng)的業(yè)務(wù)功能改變,那么此時可以將擴充級120定義為增強級121,當(dāng)然,也可以定義為其它級,根據(jù)實際需求而定。在本實施方式中,系統(tǒng)級110或擴充級120可以再劃分至少一層次,比如可以將擴充級120劃分為增強級121、全局級122、帳套級123及用戶級124,各級所在層次分別對應(yīng)配置所對應(yīng)軟件系統(tǒng)中各級的配置參數(shù)。由上可知,在上述各實施方式中,由于將配置系統(tǒng)100劃分為多級層次,當(dāng)各層次提供的數(shù)據(jù)或功能發(fā)生改變時,僅影響本層次,有效的保留了各層的開發(fā)和設(shè)計成果,便于管理與維護。此外,不限制層次的個數(shù),各層次內(nèi)仍可分層,擴展性強。以及,由現(xiàn)有的需要部署全部配置,變化為僅需部署變更層次的配置,發(fā)布的粒度更小,成本更低。在上述各實施方式中,配置系統(tǒng)100進行層次化劃分后,各級層次都具有相對應(yīng)的配置資源,比如,具有與系統(tǒng)級110、擴充級120分別對應(yīng)的配置資源,各配置資源提供給軟件系統(tǒng)所需配置的功能或數(shù)據(jù)參數(shù)。上述之各配置資源可以是為文件,比如XML文件,也可以是內(nèi)存中的對象,還可以是數(shù)據(jù)庫中的數(shù)據(jù)及動態(tài)鏈結(jié)庫(Dynamic Link Library,DLL),當(dāng)然也可以是它們的任意組合,比如一層次的配置資源為文件,另一層次的配置資源為內(nèi)存中的對象??傊?,配置資源的承載方式可以有多種選擇,藉此,可提高兼容性。并且,其可以儲存在不同的物理位置,擴展性強。并且,當(dāng)配置資源文件時,由于配置系統(tǒng)100進行層次化劃分,相應(yīng)地,可以對其配置資源的目錄結(jié)構(gòu)進行層次設(shè)計。具體可參照下文。再請參照圖4,圖4繪示了本發(fā)明又一實施方式的配置資源的目錄結(jié)構(gòu)的示意圖。下面結(jié)合圖2與圖4對配置資源的目錄結(jié)構(gòu)及讀取作詳細的說明。如圖4所示,根目錄(Root)下面具有管理各領(lǐng)域?qū)ο竽夸?Domain Objects)、行業(yè)別目錄(Industry)及二次開發(fā)目錄(Customization)。Domain Objects目錄,承載系統(tǒng)級110相應(yīng)的配置資源,其下具有多個子目錄,如雇員目錄(Employee)、訂單目錄(SalesOrder),當(dāng)然還具有其它省略繪示的子目錄。Employee目錄還具有A語言包存放目錄(Culture A)、B 語言包存放目錄(Culture B)、Layout, bin 配置資源及 Layout.subName.bin配置資源(其中.bin為文件后綴名,但并不僅限于此),對于Culture A目錄及CultureB目錄,其下面也還可以具有子目錄或配置資源,但為了敘述簡要,未繪示出。配置系統(tǒng)按照分層的先后順序讀取配置資源。同一層次上,又可按目錄的層次分解,目錄越深,代表層次越高,優(yōu)先性就越低。同一層目錄又可依英文點號”和基礎(chǔ)名稱分解出的名稱越長,代表層次越高,優(yōu)先性就越低,比如,對于Layout, bin配置資源及Layout.subName.bin配置資源,兩者按照目錄層次,則在同一層次上,且因為其基礎(chǔ)名稱都為Layout, bin,則按照依英文點號“.”和基礎(chǔ)名稱分解可知,Layout.subName.bin長于Layout, bin,因此,Layout.subName.bin配置資源相對于Layout, bin配置資源,層次較高,而優(yōu)先性較低。而Industry目錄及Customization目錄,對應(yīng)于增強級121 (如圖2),兩者也可以分別具有子目錄或配置資源,但為了敘述簡要,未完整繪示出。需說明的是,這里僅僅示意性繪示了一目錄結(jié)構(gòu),但并不以此目錄結(jié)構(gòu)為限,目錄結(jié)構(gòu)也可以是其它結(jié)構(gòu),其可以根據(jù)配置系統(tǒng)100的層次劃分靈活設(shè)置。并且,配置系統(tǒng)100可以根據(jù)配置資源的關(guān)鍵標(biāo)識(Configuration Id)來決定讀哪一個配置資源,此關(guān)鍵標(biāo)識可以包含:領(lǐng)域?qū)ο髽?biāo)識(如Employee)、配置對象標(biāo)識(如Layout)、語言包信息(如Culture A)和資源擴展名(如subName)。而當(dāng)配置資源標(biāo)識指定要讀取Employee領(lǐng)域標(biāo)識下的Layout配置資源,且要求是CultureA語言時,則配置系統(tǒng)100會按照層次順序先讀取Layout, bin,再讀取Layout.subName.bin,然后再讀取CultureA目錄下的配置資源。若在Industry或Customiaztion中也有關(guān)于Employee的Layout配置信息定義時,系統(tǒng)會再依次讀取Industry及Customization符合此標(biāo)識的配置資源。
較佳地,在本實施方式中,配置系統(tǒng)100可以根據(jù)關(guān)鍵標(biāo)識,通過切片先收集所有相關(guān)配置資源,加入到資源容器中并做適當(dāng)緩存,開啟文件監(jiān)視器監(jiān)視磁盤目錄的文件變化,提高性能。另,配置系統(tǒng)100還可以根據(jù)關(guān)鍵標(biāo)識和運行環(huán)境,檢查兼容性,過濾掉不符合條件的配置資源。再,配置系統(tǒng)還可以根據(jù)預(yù)先定義的配置對象,將符合條件的配置資源按順序讀取、合并生成一配置對象綜上,本發(fā)明所提出的配置方法及配置系統(tǒng),將配置系統(tǒng)進行層次劃分,各層次間獨立配置其配置資源予軟件系統(tǒng),即各層次保持了其獨立性,這將便于管理和維護。此外,各層次需要變更時,只需對變更層次進行變更,而不是現(xiàn)有技術(shù)中的全部變更。以及,由于配置系統(tǒng)進行層次劃分,可使其配置資源的承載方式及儲存位置不限制,提高了其兼容性與擴展性。上文中,參照附圖描述了本發(fā)明的具體實施方式
。但是,本領(lǐng)域中的普通技術(shù)人員能夠理解,在不偏離本發(fā)明的精神和范圍的情況下,還可以對本發(fā)明的具體實施方式
作各種變更和替換。這些變更和替換都落在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種配置方法,用于一軟件系統(tǒng)中,且于執(zhí)行所述軟件系統(tǒng)時參照一配置系統(tǒng),其特征在于,包括以下步驟: 分析所述軟件系統(tǒng)的演化;以及 根據(jù)分析的結(jié)果對所述配置系統(tǒng)進行層次劃分,劃分后的層次至少包括一系統(tǒng)級以及一擴充級,其中所述系統(tǒng)級對應(yīng)配置所述軟件系統(tǒng)的原生系統(tǒng),所述擴充級對應(yīng)配置所述軟件系統(tǒng)的擴充。
2.根據(jù)權(quán)利要求1所述的配置方法,其特征在于,所述系統(tǒng)級或所述擴充級可以再劃分至少一層次。
3.根據(jù)權(quán)利要求1所述的配置方法,其特征在于,所述擴充級包括一增強級,所述增強級對應(yīng)所述軟件系統(tǒng)的二次開發(fā)或行業(yè)別。
4.根據(jù)權(quán)利要求1所述的配置方法,其特征在于,所述擴充級包括一全局級,所述全局級對應(yīng)所述軟件系統(tǒng)的共通功能或共通數(shù)據(jù)。
5.根據(jù)權(quán)利要求1或4所述的配置方法,其特征在于,所述擴充包括一帳套級,所述帳套級對應(yīng)所述軟件系統(tǒng)的用戶群。
6.根據(jù)權(quán)利要求5所述的配置方法,其特征在于,所述用戶級對應(yīng)所述軟件系統(tǒng)的用戶。
7.根據(jù)權(quán)利要求1所述的配置方法,其特征在于,所述演化是所述軟件系統(tǒng)的版本變化。
8.根據(jù)權(quán)利要求1所述的配置方法,其特征在于,所述演化是所述軟件系統(tǒng)因業(yè)務(wù)功能或用戶需求改變所產(chǎn)生的變化。
9.根據(jù)權(quán)利要求1所述的配置方法,其特征在于,所述配置系統(tǒng)具有與所述系統(tǒng)級、所述擴充級分別對應(yīng)的配置資源,各所述配置資源提供給所述軟件系統(tǒng)所需配置的功能或數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的配置方法,其特征在于,各所述配置資源為文件、內(nèi)存中的對象、數(shù)據(jù)庫中的數(shù)據(jù)及動態(tài)鏈結(jié)庫其中之一或其組合。
11.根據(jù)權(quán)利要求10所述的配置方法,其特征在于,當(dāng)所述配置資源為文件時,則對其目錄結(jié)構(gòu)進行與所述配置系統(tǒng)的層次劃分相對應(yīng)的劃分。
12.一種配置系統(tǒng),用于一軟件系統(tǒng)中,且于執(zhí)行所述軟件系統(tǒng)時參照所述配置系統(tǒng),其特征在于,所述配置系統(tǒng)包括: 一系統(tǒng)級及一擴充級,其中所述系統(tǒng)級對應(yīng)配置所述軟件系統(tǒng)的原生系統(tǒng),所述擴充級對應(yīng)配置所述軟件系統(tǒng)的擴充。
13.根據(jù)權(quán)利要求12所述的配置系統(tǒng),其特征在于,所述系統(tǒng)級或所述擴充級可以再劃分至少一層次。
全文摘要
本發(fā)明提出了一種配置方法及配置系統(tǒng),用于一軟件系統(tǒng)中,且于執(zhí)行軟件系統(tǒng)時參照一配置系統(tǒng),包括以下步驟分析軟件系統(tǒng)的演化;以及根據(jù)分析的結(jié)果對配置系統(tǒng)進行層次劃分,劃分后的層次至少包括一系統(tǒng)級以及一擴充級,其中系統(tǒng)級對應(yīng)配置軟件系統(tǒng)的原生系統(tǒng),擴充級對應(yīng)配置軟件系統(tǒng)的擴充。本發(fā)明所提出的配置方法及配置系統(tǒng),將配置系統(tǒng)進行層次劃分,各層次間獨立配置其配置資源予軟件系統(tǒng),即各層次保持了其獨立性,這將便于管理和維護。
文檔編號G06F9/44GK103186378SQ20111045770
公開日2013年7月3日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者李兵 申請人:鼎捷軟件股份有限公司