專利名稱::一種數(shù)據(jù)配置系統(tǒng)及實(shí)現(xiàn)數(shù)據(jù)配置的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種數(shù)據(jù)配置系統(tǒng)及配置方法,尤其涉及一種無需修改代碼即可實(shí)現(xiàn)對任意數(shù)據(jù)庫進(jìn)行配置的系統(tǒng)及方法。
背景技術(shù):
:仿真工具是為智能業(yè)務(wù)提供業(yè)務(wù)測試的一樣測試工具,在仿真工具中,不僅要模擬單個的SSP(ServiceSwitchingPoint業(yè)務(wù)交換點(diǎn))主機(jī),還要模擬實(shí)際網(wǎng)絡(luò)的組網(wǎng)情況,因此一套仿真工具上要模擬多種主機(jī),同時(shí)也就要模擬多種主機(jī)的數(shù)據(jù)配置。SSP主機(jī)的數(shù)據(jù)庫數(shù)據(jù)和實(shí)際加載使用的數(shù)據(jù)文件是不一樣的,中間需要進(jìn)行轉(zhuǎn)化。實(shí)際加載使用的數(shù)據(jù)文件要簡單簡捷,數(shù)據(jù)需要盡可能壓縮,而為了提高數(shù)據(jù)的可視性和易用性,數(shù)據(jù)庫中的數(shù)據(jù)又要盡量意思清晰,必然導(dǎo)致數(shù)據(jù)文件中的數(shù)據(jù)和數(shù)據(jù)庫的數(shù)據(jù)存在較大的差別,過去仿真工具為了滿足這些差異性,總要耗費(fèi)許多的人力,修改代碼來完成數(shù)據(jù)的顯示和數(shù)據(jù)轉(zhuǎn)化。
發(fā)明內(nèi)容本發(fā)明的目的就是提供一種數(shù)據(jù)配置系統(tǒng)及配置方法,在不修改代碼的情況下,將數(shù)據(jù)從代碼邏輯中分離出來,僅僅靠數(shù)據(jù)配置來完成數(shù)據(jù)從數(shù)據(jù)庫到界面的顯示,從數(shù)據(jù)庫到數(shù)據(jù)文件的轉(zhuǎn)化。為實(shí)現(xiàn)本發(fā)明提供如下技術(shù)方案本發(fā)明提供一種數(shù)據(jù)配置系統(tǒng),包括,數(shù)據(jù)庫和數(shù)據(jù)變換部分;數(shù)據(jù)庫,用于保存不同版本的實(shí)體數(shù)據(jù);數(shù)據(jù)變換部分,用于數(shù)據(jù)庫中不同版本的實(shí)體數(shù)據(jù)和用戶配置界面之間的數(shù)據(jù)轉(zhuǎn)換并顯示用戶配置界面,建立數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面的相互讀寫轉(zhuǎn)換,以及用于實(shí)現(xiàn)數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和相應(yīng)的用戶數(shù)據(jù)文件之間的轉(zhuǎn)換。所述不同版本的實(shí)體數(shù)據(jù)為業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù)。上述系統(tǒng)還包括用戶數(shù)據(jù)文件存儲單元,存儲由數(shù)據(jù)變換部分轉(zhuǎn)換的用戶數(shù)據(jù)文件,該用戶數(shù)據(jù)是用業(yè)務(wù)交換點(diǎn)主機(jī)數(shù)據(jù)格式保存的各個業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù),是用于向業(yè)務(wù)交換點(diǎn)提供加載的數(shù)據(jù)。所述數(shù)據(jù)變換部分包括數(shù)據(jù)庫描述DBS模塊、數(shù)據(jù)庫轉(zhuǎn)換DBC模塊和數(shù)據(jù)庫管理DBM模塊,其中,DBS模塊,用于實(shí)現(xiàn)數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶配置界面用數(shù)據(jù)之間的轉(zhuǎn)換;DBC模塊,用于實(shí)現(xiàn)數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶數(shù)據(jù)文件之間的轉(zhuǎn)換;DBM模塊,用于對所述DBS模塊和DBC模塊進(jìn)行管理。所述DBS模塊包括,存儲的DBS文件,記錄了數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶配置界面顯示信息之間的對應(yīng)關(guān)系,以及描述了各個數(shù)據(jù)庫表在界面上的顯示屬性;DBS解析單元,用于解析DBS文件,并提供供數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用的DBS解析接口,用于實(shí)現(xiàn)數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換;數(shù)據(jù)顯示轉(zhuǎn)換單元,能調(diào)用DBS解析接口,將通過數(shù)據(jù)庫訪問接口讀出數(shù)據(jù)庫的數(shù)據(jù),轉(zhuǎn)換生成供用戶配置界面顯示的信息,以及將數(shù)據(jù)顯示和配置單元發(fā)送來的數(shù)據(jù),轉(zhuǎn)換生成數(shù)據(jù)庫數(shù)據(jù);數(shù)據(jù)顯示和配置單元,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元中的轉(zhuǎn)換函數(shù),實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換。所述DBC模塊包括,存儲的DBC文件,記錄數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù)和所述業(yè)務(wù)交換點(diǎn)主機(jī)數(shù)據(jù)格式之間的對應(yīng)關(guān)系;DBC解析單元,解析DBC文件,生成與主機(jī)格式對應(yīng)的表信息鏈表動態(tài)結(jié)構(gòu),該結(jié)構(gòu)對應(yīng)了實(shí)體主機(jī)的數(shù)據(jù)格式;用于數(shù)據(jù)庫數(shù)據(jù)和各個SSP/MSC實(shí)體主機(jī)格式數(shù)據(jù)之間轉(zhuǎn)換,并提供供數(shù)據(jù)文件生成單元調(diào)用的DBC解析接口;數(shù)據(jù)文件生成單元,用于調(diào)用數(shù)據(jù)庫數(shù)據(jù)訪問操作單元的數(shù)據(jù)訪問接口,從數(shù)據(jù)庫中讀取數(shù)據(jù),并根據(jù)數(shù)據(jù)庫的數(shù)據(jù),調(diào)用DBC解析接口,按照解析結(jié)果生成實(shí)體主機(jī)格式數(shù)據(jù)文件;數(shù)據(jù)庫數(shù)據(jù)訪問操作單元,用于訪問讀出數(shù)據(jù)庫的數(shù)據(jù),提供統(tǒng)一的SQLServer數(shù)據(jù)庫訪問的接口,該部分對外提供供其它單元調(diào)用的數(shù)據(jù)訪問接口。所述DBC解析單元將解析后的結(jié)果持久化到永久介質(zhì)中。所述DBM模塊包括,DBM文件,用于描述系統(tǒng)支持的所有業(yè)務(wù)交換點(diǎn)和主機(jī)實(shí)體版本、版本號、軟件的DBS文件名、語言種類、實(shí)體版本所包含的數(shù)據(jù)表和界面顯示分組方式中的一個或多個;DBM模塊提供調(diào)用接口,根據(jù)版本號即可獲得對應(yīng)的DBC、DBS文件名,從而實(shí)現(xiàn)不同版本實(shí)體數(shù)據(jù)的正確轉(zhuǎn)換和實(shí)現(xiàn)。本發(fā)明還提供一種實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,該方法如下1)利用DBS文件記錄數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和用戶配置界面顯示信息之間的對應(yīng)關(guān)系;2)提供DBS解析接口,該解析接口用于實(shí)現(xiàn)數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換;3)提供數(shù)據(jù)顯示轉(zhuǎn)換單元,該數(shù)據(jù)顯示轉(zhuǎn)換單元能調(diào)用DBS解析接口,生成供用戶配置界面顯示的信息,以及將數(shù)據(jù)顯示和配置單元發(fā)送來的數(shù)據(jù),轉(zhuǎn)換生成數(shù)據(jù)庫數(shù)據(jù);4)提供數(shù)據(jù)顯示和配置單元,該數(shù)據(jù)顯示和配置單元能夠調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元,實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換。所述不同版本的實(shí)體數(shù)據(jù)為業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù)。所述DBS文件通過關(guān)鍵字語法實(shí)現(xiàn)數(shù)據(jù)庫到數(shù)據(jù)配置界面的顯示描述轉(zhuǎn)換。由以下步驟實(shí)現(xiàn)數(shù)據(jù)的顯示1)當(dāng)用戶在軟件界面上打開一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的操作消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元中的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元首先打開數(shù)據(jù)庫中UserData表,獲取表的字段數(shù);然后調(diào)用DBS解析單元的解析函數(shù);3)DBS解析單元根據(jù)DBS文件的ORDERBY關(guān)鍵字獲取表的排序字段和排序?qū)傩?,根?jù)TABLEATTRIBUTE關(guān)鍵字獲取表的編輯屬性;并從DBS文件獲取顯示屬性和其它字段屬性;4)數(shù)據(jù)顯示轉(zhuǎn)換單元判斷是否存在顯示屬性要求顯示的字段,如果存在,數(shù)據(jù)顯示和配置單元根據(jù)返回的判斷結(jié)果操作界面控件創(chuàng)建并插入表頭列;數(shù)據(jù)顯示轉(zhuǎn)換單元判斷如果存在自動索引字段列,則數(shù)據(jù)顯示和配置單元根據(jù)返回的判斷結(jié)果操作界面控件插入創(chuàng)建自動索引列的表頭;5)數(shù)據(jù)顯示轉(zhuǎn)換單元從數(shù)據(jù)庫中UserData表逐條讀取表記錄,并通過DBS解析單元根據(jù)DBS文件的定義,由數(shù)據(jù)顯示和配置單元操作界面控件設(shè)置顯示行和字段列。由以下步驟實(shí)現(xiàn)數(shù)據(jù)的編輯1)當(dāng)用戶在軟件界面上編輯一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元的接口,根據(jù)DBS文件中UserData表的描述信息,初始化表編輯對話框控件的顯示規(guī)則數(shù)據(jù);3)DBS解析單元從數(shù)據(jù)庫獲取UserData表字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;4)數(shù)據(jù)顯示轉(zhuǎn)換單元以表、字段為索引將數(shù)據(jù)庫讀入的字段值從字符串轉(zhuǎn)化為相應(yīng)的界面顯示值;5)數(shù)據(jù)顯示和配置單元將獲取的字段的基本默認(rèn)數(shù)據(jù)和提示內(nèi)容拷貝給字段顯示控件;字段顯示控件可以完成字段的的顯示;6)用戶在用戶配置界面編輯完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù),通過數(shù)據(jù)顯示轉(zhuǎn)換單元轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。由以下步驟實(shí)現(xiàn)數(shù)據(jù)的添加1)當(dāng)用戶在軟件界面上一個UserData表添加數(shù)據(jù)時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元獲取DBS文件中UserData表的描述信息,根據(jù)該UserData表的描述信息初始化表編輯對話框的顯示規(guī)則數(shù)據(jù);3)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元從DBS文件中UserData表獲取字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;數(shù)據(jù)顯示和配置單元將從DBS文件中獲取的字段的基本數(shù)據(jù)和提示內(nèi)容(如ToolTip提示內(nèi)容)拷貝給字段顯示/輸入控件;4)用戶在用戶配置界面添加完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。本發(fā)明的技術(shù)方案可以適用于任何一種需要進(jìn)行數(shù)據(jù)壓縮、數(shù)據(jù)轉(zhuǎn)化和數(shù)據(jù)配置,且數(shù)據(jù)又多變的數(shù)據(jù)支撐體系,是將數(shù)據(jù)和邏輯分離的一種有效方法。本發(fā)明的技術(shù)方案還具有如下優(yōu)點(diǎn)數(shù)據(jù)配置的簡易性,在同一界面上實(shí)現(xiàn)對多種數(shù)據(jù)實(shí)體的數(shù)據(jù)配置;數(shù)據(jù)配置的友好性,實(shí)現(xiàn)多種數(shù)據(jù)配置方式,如編輯框、下拉選項(xiàng)、數(shù)字范圍等,對于下拉選項(xiàng)提供直觀易懂的配置項(xiàng),如用戶類型提供選項(xiàng)為“普通用戶”、“智能用戶”等;數(shù)據(jù)保存的簡捷性,在界面上顯示友好的配置選項(xiàng),但在數(shù)據(jù)庫中僅保存對應(yīng)的數(shù)字,例如選項(xiàng)“普通用戶”在數(shù)據(jù)庫中對應(yīng)的“UserType”字段是一個字節(jié)的數(shù)據(jù),對應(yīng)值為0;數(shù)據(jù)轉(zhuǎn)換的準(zhǔn)確性,對于各個仿真SSP/MSC組件,可以根據(jù)數(shù)據(jù)庫中的數(shù)據(jù)準(zhǔn)確地進(jìn)行數(shù)據(jù)轉(zhuǎn)換,得到符合仿真SSP/MSC運(yùn)行需要的數(shù)據(jù)文件;實(shí)現(xiàn)數(shù)據(jù)動態(tài)加載,在仿真SSP/MSC運(yùn)行過程中,如數(shù)據(jù)有改變,可以讓界面修改的數(shù)據(jù)通過數(shù)據(jù)庫更新、數(shù)據(jù)轉(zhuǎn)換即時(shí)生效。通過以下結(jié)合附圖對本發(fā)明優(yōu)選實(shí)施方式的描述,本發(fā)明的其他特點(diǎn)、目的和效果將變得更加清楚和易于理解。下面將參考附圖來描述本發(fā)明的優(yōu)選實(shí)施方式,其中圖1為本發(fā)明中數(shù)據(jù)配置系統(tǒng)的結(jié)構(gòu)圖;圖2為本發(fā)明中DBS模塊的工作原理圖;圖3為本發(fā)明中DBC模塊的工作原理圖;圖4為本發(fā)明中DB物理結(jié)構(gòu)圖;圖5為本發(fā)明中DBC解析和DB生成原理圖;圖6為本發(fā)明中DBC初始化流程;圖7為本發(fā)明中讀取表描述信息處理過程;圖8為本發(fā)明中讀取字段信息處理過程;圖9為本發(fā)明中裝載有相應(yīng)表名的樹型圖;在所有的上述附圖中,相同的標(biāo)號表示具有相同、相似或相應(yīng)的特征或功能。具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明做進(jìn)一步的說明。如圖1所示,數(shù)據(jù)配置系統(tǒng)由以下幾個部分組成(1)SQLServer等SQL規(guī)范的數(shù)據(jù)庫用于保存各個SSP/MSC實(shí)體數(shù)據(jù);使用穩(wěn)定SQLServer等SQL規(guī)范的數(shù)據(jù)庫,安全,數(shù)據(jù)類型靈活,易于建立各種數(shù)據(jù)表之間的關(guān)聯(lián),并能提供強(qiáng)大、易于擴(kuò)充和修改的查詢功能。(2)數(shù)據(jù)變換部分包括DBM模塊、DBS(DATABASESCRIPT)模塊和DBC模塊;其中,DBS模塊通過DBS配置文件實(shí)現(xiàn)SQLServer數(shù)據(jù)庫各個SSP/MSC(移動交換中心)實(shí)體數(shù)據(jù)和用戶配置界面之間的轉(zhuǎn)換;DBC模塊通過DBC配置文件實(shí)現(xiàn)SQLServer數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和用戶數(shù)據(jù)文件存儲單元之間的轉(zhuǎn)換。DBM模塊用于實(shí)現(xiàn)對不同版本實(shí)體的DBS模塊和DBC模塊的管理。(3)用戶配置模塊提供界面控件,包括顯示控件、輸入控件和顯示/輸入控件,能夠顯示用戶配置界面,用于顯示經(jīng)過轉(zhuǎn)換各個SSP/MSC實(shí)體數(shù)據(jù)后得到的用戶配置界面數(shù)據(jù),并輸出用戶配置界面數(shù)據(jù)到所述數(shù)據(jù)變換部分;用戶配置模塊中的各種控件如顯示控件、輸入控件和顯示/輸入控件在現(xiàn)有的絕大多數(shù)軟件中均有應(yīng)用,如在WINDOWS操作系統(tǒng)和word軟件中等,在實(shí)際操作中可以直接應(yīng)用微軟提供的各種控件。(4)用戶數(shù)據(jù)文件存儲單元用主機(jī)數(shù)據(jù)格式保存各個SSP/MSC實(shí)體數(shù)據(jù),用于向SSP/MSC實(shí)體提供加載的數(shù)據(jù)。系統(tǒng)的核心就是數(shù)據(jù)變換部分,該部分通過DBM、DBS、DBC三個配置文件實(shí)現(xiàn)了不同實(shí)體版本完成數(shù)據(jù)從數(shù)據(jù)庫到用戶配置界面的顯示,從數(shù)據(jù)庫到數(shù)據(jù)文件的轉(zhuǎn)化。實(shí)現(xiàn)了主機(jī)控制邏輯和實(shí)現(xiàn)主機(jī)控制邏輯所需的數(shù)據(jù)在代碼上的分離(即主機(jī)控制邏輯由一個軟件子系統(tǒng)修改和實(shí)現(xiàn),實(shí)現(xiàn)主機(jī)控制邏輯所需的數(shù)據(jù)由另一個軟件子系統(tǒng)輸入、修改、存儲和實(shí)現(xiàn))。下面對各個功能模塊的工作原理進(jìn)行詳細(xì)的說明。首先說明數(shù)據(jù)庫到數(shù)據(jù)配置界面的顯示轉(zhuǎn)換,介紹DBS模塊的結(jié)構(gòu)原理DBS是DATABASESCRIPT(數(shù)據(jù)庫描述)的簡稱,DBS模塊用來描述如何在用戶界面清晰、直觀、簡潔的顯示和配置數(shù)據(jù)庫數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和用戶配置界面之間轉(zhuǎn)換。DBS模塊的內(nèi)部結(jié)構(gòu)如圖2,包括如下組成部分DBS文件,DBS文件是一個ASCII可編輯的文本文件,DBS文件記錄了數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和用戶配置界面顯示數(shù)據(jù)之間的對應(yīng)關(guān)系,描述了各個SQL-SERVER表在界面上的顯示屬性;一個DBS文件對應(yīng)一個版本的SSP/MSC實(shí)體數(shù)據(jù);DBS解析單元,負(fù)責(zé)解析DBS文件,并提供供數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用的DBS解析接口,該解析接口也可以看作是解析函數(shù),用于實(shí)現(xiàn)數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的相互轉(zhuǎn)換;數(shù)據(jù)顯示轉(zhuǎn)換單元,能夠提供一組轉(zhuǎn)換函數(shù),該轉(zhuǎn)換函數(shù)可以調(diào)用一系列的解析函數(shù);并能夠根據(jù)數(shù)據(jù)庫訪問接口讀出數(shù)據(jù)庫的數(shù)據(jù),能調(diào)用DBS解析接口,生成供用戶配置界面顯示的信息,以及將數(shù)據(jù)顯示和配置單元發(fā)送來的數(shù)據(jù),轉(zhuǎn)換生成數(shù)據(jù)庫數(shù)據(jù);該數(shù)據(jù)顯示轉(zhuǎn)換單元通常需要調(diào)用一系列解析函數(shù)才能完成數(shù)據(jù)的轉(zhuǎn)換;數(shù)據(jù)顯示和配置單元,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元中的轉(zhuǎn)換函數(shù),實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換。數(shù)據(jù)顯示和配置單元與用戶配置界面模塊之間的通信可以采用消息的形式或者直接調(diào)用,兩個模塊之間的這種手段是成熟的現(xiàn)有技術(shù),這里不再詳述。下面介紹DBS文件描述格式DBS文件通過關(guān)鍵字語法實(shí)現(xiàn)數(shù)據(jù)庫到數(shù)據(jù)配置界面的顯示描述轉(zhuǎn)換,用DATABASESCRIPT關(guān)鍵字標(biāo)識是DBS。具體每個表和字段的顯示描述用下面幾個部分關(guān)鍵字引導(dǎo)完成(1)TABLE和ENDTABLE關(guān)鍵字引導(dǎo)描述表信息對庫中的每個表,用關(guān)鍵字TABLE和ENDTABLE關(guān)鍵字引導(dǎo)描述一組表信息包括表名、編輯屬性、排序方式、TIPS提示。舉例格式如下TABLEscp_addr//數(shù)據(jù)庫中的表名TABLEATTRIBUTE(″SCPPhysicalAddressDescriptionTable″,ENABLED)//SCP物理地址表屬性,描述界面顯示的表名,以及表是否顯示//ORDERBY(″SCP號″,AUTOIDX)//以哪個字段進(jìn)行排序(字段名,排序方式)ASCEND/DESCEND/AUTOIDX(AUTOINX表示自動索引,此時(shí)字段名即為顯示名)TIPS(″SCPphysicaladdressdescriptiontable.ConfigSCPDPCandGTwhichyouwanttoaccess.″)//該表的提示描述信息(2)FIELD和ENDFIELD關(guān)鍵字引導(dǎo)描述字段屬性對庫中每個表的每個字段,都用FIELD和ENDFIELD關(guān)鍵字引導(dǎo)描述字段屬性。舉例格式如下字段名(PrimaryKey,F(xiàn)oreignKey,Show,Title,Enable,Default,EditType,F(xiàn)ieldType,F(xiàn)ieldLen,RangeIdx,F(xiàn)ieldCtrl,ToolTip)其中各屬性含義和取值分別為//PrimaryKey,主鍵,取值為(TRUE/FALSE),如多個字段為TRUE表示聯(lián)合主鍵//ForeignKey,外鍵,取值為(關(guān)聯(lián)的表名),如沒有則為NULL//Show,是否顯示,取值為(TRUE/FALSE)//Title,顯示標(biāo)題,字符串,(如show屬性為FALSE則為NULL)//Enable,是否可編輯,取值(TRUE/FALSE)//不能和show字段同時(shí)為FALSE//Default,缺省值,字符串,如沒有則為NULL//EditType,編輯方式,取值(NONE/TEXT/LIST/BOOL)//FieldType,字段類型,取值(BIT/DEC/HEX/STRING/BOOL)//FieldLen,字段長度,(如果是DEC/HEX則為字節(jié)數(shù),如果是BIT則為位數(shù),如果是STRING則為字符串長度,如果是BOOL,則固定為1)//RangeIdx,取值范圍,(如沒有限制則為NULL,否則為一個取值范圍的索引名)//FieldCtrl,字段控制關(guān)系(如該字段對其他字段有限制,則填寫字段限制的索引名,否則為NULL,可以為多個,以|符號連接)//ToolTip,提示信息內(nèi)容,字符串,如沒有則為NULL(3)FIELDCTRL和ENDFIELDCTRL關(guān)鍵字描述每個字段的控制信息用FIELDCTRL和ENDFIELDCTRL關(guān)鍵字描述每個字段的控制信息,包含字段的顯示,與其他字段的數(shù)值控制關(guān)系(實(shí)現(xiàn)不用字段的約束和關(guān)聯(lián))(4)VALRANGE和ENDVALRANGE關(guān)鍵字控制具體每個字段取值范圍用VALRANGE和ENDVALRANGE關(guān)鍵字控制具體每個字段取值范圍。例如用戶數(shù)據(jù)表的顯示,僅顯示用戶需要查看的“話機(jī)類型”,“電話號碼”,“號首集”,“設(shè)備號”,“呼叫源碼”等字段,那么僅這些字段的Show域被描述成“TRUE”其中“設(shè)備號”在DBS文件中被PrimaryKey域描述成“TRUE”,界面上用藍(lán)色字體顯示。另,該表除了“呼叫源碼”外,其他字段都是不能修改的(在號段表中配置),故僅僅該字段在DBS文件中的Enable域被描述成“TRUE”,其余都是“FALSE”,既只能查看,不能編輯。數(shù)據(jù)的配置通常需要實(shí)現(xiàn)三種功能,即顯示數(shù)據(jù)、編輯數(shù)據(jù)和添加數(shù)據(jù),下面結(jié)合數(shù)據(jù)顯示轉(zhuǎn)換單元、DBS解析單元、數(shù)據(jù)顯示和配置單元首先描述顯示數(shù)據(jù)時(shí)系統(tǒng)執(zhí)行的過程DBS解析實(shí)際是一個關(guān)鍵字分析、文本解析的過程。該部分通過類封裝了若干解析接口,供數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用。數(shù)據(jù)顯示轉(zhuǎn)換單元可以很容易的調(diào)用不同的接口,獲取各表和字段的顯示信息,實(shí)現(xiàn)數(shù)據(jù)顯示的格式化。結(jié)合一個版本的DBS文件中的UserData表,描述當(dāng)顯示數(shù)據(jù)時(shí)DBS模塊執(zhí)行的流程1)當(dāng)用戶在軟件界面上打開一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的操作消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元中的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元首先打開數(shù)據(jù)庫中UserData表,獲取表的字段數(shù);然后調(diào)用DBS解析單元的解析函數(shù);3)DBS解析單元根據(jù)DBS文件的ORDERBY關(guān)鍵字獲取表的排序字段和排序?qū)傩?,根?jù)TABLEATTRIBUTE關(guān)鍵字獲取表的編輯屬性;(參見前面DBS文件描述格式舉例)并從DBS文件獲取顯示屬性和其它字段屬性;4)數(shù)據(jù)顯示轉(zhuǎn)換單元判斷是否存在顯示屬性要求顯示(Show為TRUE)的字段,如果存在,數(shù)據(jù)顯示和配置單元根據(jù)返回的判斷結(jié)果操作界面控件創(chuàng)建并插入表頭列;數(shù)據(jù)顯示轉(zhuǎn)換單元判斷如果存在自動索引字段列,則數(shù)據(jù)顯示和配置單元根據(jù)返回的判斷結(jié)果操作界面控件插入創(chuàng)建自動索引列的表頭(多數(shù)表一般不存在自動索引字段);5)數(shù)據(jù)顯示轉(zhuǎn)換單元從數(shù)據(jù)庫中UserData表逐條讀取表記錄,并通過DBS解析單元根據(jù)DBS文件的定義,由數(shù)據(jù)顯示和配置單元操作界面控件設(shè)置顯示行和字段列;對于需要顯示(DBS文件中UserData表的Show字段為TRUE)的字段,根據(jù)數(shù)據(jù)庫中UserData表索引字段值,先在列表視圖中創(chuàng)建添加一顯示行,然后根據(jù)數(shù)據(jù)庫中UserData表其它字段值逐個設(shè)置新添加行的各字段值。如果數(shù)據(jù)庫中UserData表各字段值為空,根據(jù)DBS文件中UserData表的Default字段初始值,設(shè)置新添加行的各字段值。結(jié)合一個版本的DBS文件中的UserData表,描述當(dāng)編輯數(shù)據(jù)時(shí)DBS模塊執(zhí)行的流程1)當(dāng)用戶在軟件界面上編輯一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元的接口,根據(jù)DBS文件中UserData表的描述信息,初始化表編輯對話框控件的顯示規(guī)則數(shù)據(jù);3)DBS解析單元從數(shù)據(jù)庫獲取UserData表字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;4)數(shù)據(jù)顯示轉(zhuǎn)換單元以表、字段為索引將數(shù)據(jù)庫讀入的字段值從字符串轉(zhuǎn)化為相應(yīng)的界面顯示值;5)數(shù)據(jù)顯示和配置單元將獲取的字段的基本默認(rèn)數(shù)據(jù)和提示內(nèi)容(如ToolTip提示內(nèi)容)拷貝給字段顯示控件;字段顯示控件可以完成字段的的顯示;6)用戶在用戶配置界面編輯完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù),通過數(shù)據(jù)顯示轉(zhuǎn)換單元轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中;結(jié)合一個版本的DBS文件中的UserData表,描述當(dāng)添加數(shù)據(jù)時(shí)DBS模塊執(zhí)行的流程1)當(dāng)用戶在軟件界面上一個UserData表添加數(shù)據(jù)時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元獲取DBS文件中UserData表的描述信息,根據(jù)該UserData表的描述信息初始化表編輯對話框的顯示規(guī)則數(shù)據(jù);3)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元從DBS文件中UserData表獲取字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;數(shù)據(jù)顯示和配置單元將從DBS文件中獲取的字段的基本數(shù)據(jù)和提示內(nèi)容(如ToolTip提示內(nèi)容)拷貝給字段顯示/輸入控件;4)用戶在用戶配置界面添加完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。上面描述了DBS模塊的工作原理,下面描述DBC模塊的工作原理。下面描述DBC模塊的工作原理DBC是DBConvert(數(shù)據(jù)庫轉(zhuǎn)換)的簡稱,DBC模塊用于實(shí)現(xiàn)SQLServer數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和SSP/MSC主機(jī)數(shù)據(jù)格式文件之間轉(zhuǎn)換。DBC模塊包括如下幾個部分(參見圖3)1)DBC文件,DBC文件記錄了數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和SSP/MSC主機(jī)數(shù)據(jù)格式之間的對應(yīng)關(guān)系;2)DBC解析單元,負(fù)責(zé)解析DBC文件,生成與主機(jī)格式對應(yīng)的表信息鏈表動態(tài)結(jié)構(gòu),該結(jié)構(gòu)對應(yīng)了實(shí)體主機(jī)的數(shù)據(jù)格式,用于數(shù)據(jù)庫數(shù)據(jù)和各個SSP/MSC實(shí)體主機(jī)格式數(shù)據(jù)之間轉(zhuǎn)換,并提供供數(shù)據(jù)文件生成單元調(diào)用的解析接口。3)數(shù)據(jù)文件生成單元,用于調(diào)用數(shù)據(jù)庫數(shù)據(jù)訪問操作單元的數(shù)據(jù)訪問接口,從數(shù)據(jù)庫中讀取數(shù)據(jù),并根據(jù)數(shù)據(jù)庫的數(shù)據(jù),調(diào)用DBC解析接口,按照解析結(jié)果生成實(shí)體主機(jī)格式數(shù)據(jù)文件,該實(shí)體主機(jī)格式數(shù)據(jù)文件可以存儲在用戶數(shù)據(jù)文件存儲單元中。4)數(shù)據(jù)庫數(shù)據(jù)訪問操作單元,負(fù)責(zé)訪問讀出數(shù)據(jù)庫的數(shù)據(jù)。該部分在ADO接口基礎(chǔ)上,進(jìn)行簡單的封裝,提供統(tǒng)一的SQLServer數(shù)據(jù)庫訪問的接口,該部分對外提供供其他單元調(diào)用的數(shù)據(jù)訪問接口。由于仿真Monitor部分(仿真的界面管理部分)本身是面向?qū)ο蟮某绦?,綜合考慮,使用ADO接口。并在微軟提供的ADO基礎(chǔ)上封裝了該接口,ADO接口在C\ProgramFiles\CommonFiles\System\ado\msado15.dll(WINDOW操作系統(tǒng)的2003年6月版本)目錄下,該程序已經(jīng)提供在安裝包中。下面描述DBC文件描述格式DBC文件分二部分表名的映射關(guān)系部分、表和字段信息描述部分1)表名的映射關(guān)系部分這部分描述的是主機(jī)結(jié)構(gòu)中定義的表名和SQLServer數(shù)據(jù)庫中表名的映射關(guān)系,由[TableMap]關(guān)鍵字引導(dǎo)(RelDescTbl和FieldDescTbl例外)。舉例如下示[TableMap]RelDescTbl=RelDescTblFieldDescTbl=FieldDescTblsoft_para_OVSV610R106B09D022=SOFT_PARAMETERlang_kind=DBLANGKindTblnumber_seg_OVSV610R106B09D022=DBDialNoSegTbl//數(shù)據(jù)庫表名、主機(jī)表名在DBC轉(zhuǎn)換時(shí),就是根據(jù)表名的映射關(guān)系,從數(shù)據(jù)庫表名找到對應(yīng)的主機(jī)表名。比如根據(jù)number_seg_OVSV610R106B09D022的數(shù)據(jù)庫表名,就可以找到對應(yīng)得主機(jī)表名DBDialNoSegTbl。2)表和字段信息描述部分這一部分是表頭信息描述(由[表名]關(guān)鍵字引導(dǎo)),這部分描述了每個表的表頭、字段名、索引、記錄數(shù)等信息。這部分實(shí)際上是描述了主機(jī)的表和字段結(jié)構(gòu),其中表信息描述和主機(jī)部分是一致的。數(shù)據(jù)生成部分就是根據(jù)這部分實(shí)現(xiàn)數(shù)據(jù)庫結(jié)構(gòu)到主機(jī)結(jié)構(gòu)轉(zhuǎn)換的。舉例如下示[表名]//號段表描述信息FieldName=DNSetID,minDialNo,maxDialNo,userIndex//表字段名fieldnum=4//字段數(shù)Rid=20//ridtblType=GENERAL_TBL//表類型indexType=ORDERINDEX//索引類型onlineModAllow=2//是否允許在線修改indexField=DNSetID,minDialNo,maxDialNomaxTupleNum=16//最大元組數(shù)actTupleNum1=0//實(shí)際元組數(shù),保留actTupleNum2=0indexedFieldNum=0//索引字段數(shù)defaultTuple=0//缺省元組lockFlag=NONELOCK//鎖標(biāo)志versionNo1=0versionNo2=0checkSum1=0checkSum2=0Type=struct對每個表的每個字段,都有一段字段信息描述,由[表名.字段名]引導(dǎo)。字段描述信息描述數(shù)據(jù)庫和主機(jī)字段數(shù)據(jù)類型之間的對應(yīng)映射關(guān)系。舉例如下示[表名.字段名]Type=UC//主機(jī)字段數(shù)據(jù)類型DataType=DB_UNSIGNED_BYTE//主機(jī)數(shù)據(jù)類型indexInd=0x0//排序優(yōu)先順序,0x0表示最優(yōu)先排序wildcard=0//通配符value=DNSetID|8|0|tinyint//數(shù)據(jù)庫中字段名、位數(shù)、數(shù)據(jù)庫中對應(yīng)的字段類型array=1//是否數(shù)組……上述格式就可以完成主機(jī)數(shù)據(jù)類型UC和數(shù)據(jù)庫字段類型tinyint之間的轉(zhuǎn)換,并且指明了在數(shù)據(jù)庫中該字段是8bit位(即一個字節(jié))。根據(jù)上面對某版本的DBC描述,在界面上根據(jù)Section字段的描述來分組,程序裝載相應(yīng)的表名到樹型圖上顯示。如“Section2=SCCPConfigTables;TableCounts2=4”,即表示第二組顯示為SCCPConfigTables,其中含“4”個需要配置的表,這4個表的名稱為”Tablestotal=…”字段中第4個到第7個表名字符串。顯示為下面的樹型圖,供用戶編輯時(shí)使用。下面描述DBC描述原理DBC文件實(shí)際上在數(shù)據(jù)庫各個SSP/MSC實(shí)體數(shù)據(jù)和用SSP/MSC主機(jī)數(shù)據(jù)格式之間的進(jìn)行了映射。DBC文件中實(shí)際上描述的是主機(jī)內(nèi)存數(shù)據(jù)結(jié)構(gòu)。主機(jī)實(shí)體數(shù)據(jù)在實(shí)體數(shù)據(jù)的內(nèi)存映射文件中分為三個部分,表頭描述信息、字段頭描述信息、表數(shù)據(jù)。其中前兩部分是數(shù)據(jù)字典,包含表關(guān)系描述表(0號表)和字段域描述表(1號表)。主機(jī)DB在內(nèi)存中存在的實(shí)際物理結(jié)構(gòu)如圖4所示,對于任何主機(jī)數(shù)據(jù)庫數(shù)據(jù),在DBC文件中都有兩個特殊的描述表RelDescTb表關(guān)系表、FieldDescTbl字段描述表。RelDescTb表關(guān)系表(在上圖中就是“表1描述”區(qū)域的記錄)在表定義區(qū)描述了所有表描述記錄的格式信息和表頭信息,F(xiàn)ieldDescTbl字段描述表(在上圖中就是“字段1描述”區(qū)域的記錄)在字段定義區(qū)描述了所有字段描述記錄的格式信息和表頭信息。這兩個表指導(dǎo)后面其他具體主機(jī)表(即圖中的表2~N)及其字段描述的訪問和格式。其他具體主機(jī)表就是具體用戶配置存儲數(shù)據(jù)的數(shù)據(jù)表(即圖中的表2~N),而RelDescTb表關(guān)系表、FieldDescTbl字段描述表是對其它數(shù)據(jù)表的組織索引。下面描述DBC解析原理DBC解析和DB生成原理如圖5,在DBM模塊的控制下,DBC解析單元讀取*.DBC文件解析后的結(jié)果是一個內(nèi)存鏈表結(jié)構(gòu),這種結(jié)構(gòu)構(gòu)成DBC解析接口,將解析后的結(jié)果按DBC文件前綴名加.dat組成整個文件名將其持久化到永久介質(zhì)(磁盤)中。以后打開工程時(shí)只需從永久介質(zhì)(磁盤)中將解析后的結(jié)果讀入內(nèi)存。當(dāng)需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),利用上面獲得的DBC解析接口,將由數(shù)據(jù)庫數(shù)據(jù)訪問操作單元獲取的數(shù)據(jù)庫數(shù)據(jù)文件轉(zhuǎn)換成主機(jī)數(shù)據(jù)格式文件。將*.DBC文件解析成內(nèi)存鏈表樹結(jié)構(gòu),是為了能夠更快的動態(tài)轉(zhuǎn)換數(shù)據(jù)庫數(shù)據(jù),因?yàn)殒湵順涞牟樵兯俣冗h(yuǎn)比文本解析要快,而且持久化保存到永久介質(zhì)(磁盤)中,還可以重復(fù)利用解析結(jié)果,不用每次都重新分析DBC文件,提高了DBC解析效率。下面描述DBC初始化解析流程在打開一個工程庫時(shí),DBC模塊會從相應(yīng)版本的DBC文件或者*.dat文件中讀取數(shù)據(jù)轉(zhuǎn)換規(guī)則,進(jìn)行轉(zhuǎn)換邏輯初始化工作。其初始化流程如下(參考圖6)1)讀取軟件config目錄;2)保存DBC文件路徑;3)存儲SQL表名字符串;4)首先判斷該版本的DBC是否持久化,即實(shí)體對應(yīng)版本的*.dat文件是否存在,如果*.dat文件不存在,則進(jìn)入步驟6);如果*.dat文件存在,打開磁盤上的解析結(jié)果*.dat文件;5)如果正確打開文件并能獲取文件長度,則將*.dat文件的內(nèi)容讀入到內(nèi)存鏈表中,流程結(jié)束;否則進(jìn)入步驟6);6)打開DBC文件進(jìn)行解析;7)將解析結(jié)果持久化到磁盤,即生成一個*.dat文件,保存到磁盤;8)關(guān)閉DBC文件,結(jié)束。下面描述DBC表描述信息和字段描述信息解析流程DBC的解析實(shí)際上就是根據(jù)DBC文件的描述進(jìn)行關(guān)鍵字分析、文本解析,提供上述主機(jī)格式訪問和計(jì)算的接口方法。DBC解析實(shí)際是一個關(guān)鍵字分析、文本解析的過程。由于DBC文件主要描述的是表信息和字段信息,DBC解析實(shí)際上主要就是解析表描述信息和字段描述信息。其表描述信息和字段描述信息解析流程分別參考圖7和圖8參考圖7,首先描述讀取表描述信息處理過程1)判斷表名是否為空;如果表名為空,結(jié)束流程;如果不為空,進(jìn)入步驟2);2)讀取*.DBC文件中的表描述信息節(jié)內(nèi)容;3)判斷表描述信息格式是否錯誤;如果錯誤,報(bào)告錯誤,結(jié)束流程;如果正確,填入表描述信息鏈表結(jié)點(diǎn)中,結(jié)束流程。參考圖8,下面描述讀取字段信息處理過程1)判斷是否讀完*.DBC文件中全部字段信息;如果是已讀完全部字段信息,結(jié)束流程;如果未讀完全部字段信息,進(jìn)一步判斷字段名是否為空;如果字段名為空,結(jié)束流程;如果字段名不為空,進(jìn)入步驟2);2)讀取*.DBC文件中一個字段信息;3)判斷字段信息格式是否正確;如果不正確,結(jié)束;如果正確,進(jìn)入步驟4);4)判斷字段信息格式是否為簡單類型,如果是,讀入到DBC解析接口(內(nèi)存鏈表樹結(jié)構(gòu))的葉子節(jié)點(diǎn)中,進(jìn)入步驟7);否則,進(jìn)入步驟5);5)判斷字段信息格式是否為Struct類型,如果是,讀入到DBC解析接口(內(nèi)存鏈表樹結(jié)構(gòu))的非葉子節(jié)點(diǎn)中,進(jìn)入步驟7);否則,進(jìn)入步驟6);6)判斷字段信息格式是否為Union類型,如果是,讀入到DBC解析接口(內(nèi)存鏈表樹結(jié)構(gòu))的非葉子節(jié)點(diǎn)中,進(jìn)入步驟7);否則,必定為可分解字段類型,讀入到DBC解析接口(內(nèi)存鏈表樹結(jié)構(gòu))的葉子節(jié)點(diǎn)中,進(jìn)入步驟7);7)填入字段信息結(jié)構(gòu);并返回步驟1)繼續(xù)讀取下一個字段信息。DBC解析對數(shù)據(jù)庫字段和主機(jī)結(jié)構(gòu)中位域之間的轉(zhuǎn)換由于主機(jī)的結(jié)構(gòu)中會有很多位域的字段表示,比如_USLI7;_USISUP_Spare1;而位域是不能直接在數(shù)據(jù)庫中表示的,對每個位域字段,我們在數(shù)據(jù)庫中都使用一個字節(jié)的字段表示。在DBC解析時(shí),會根據(jù)主機(jī)的數(shù)據(jù)結(jié)構(gòu)中位域情況,將數(shù)據(jù)庫中的對應(yīng)字段進(jìn)行組合,再以主機(jī)數(shù)據(jù)結(jié)構(gòu)位域所對應(yīng)的數(shù)據(jù)類型(比如,上面就是_US)按字節(jié)整數(shù)倍讀寫主機(jī)DB。DBC模塊根據(jù)DBC文件生成DB數(shù)據(jù)主機(jī)訪問格式的DB文件遵循下面的流程如果在DB中有一個表A,表ID為ID_A,該表有兩個字段a和b,有1條記錄。要讀出這條記錄的流程是1)根據(jù)ID_A從0號表中得到表A的描述ReldescTbl[ID_A],從ReldescTal[ID_A]得到該表的如下信息該表有兩個字段,字段描述fieldescTbl在1號表中起始位置、表A的數(shù)據(jù)實(shí)際存放地址;2)從1號表中讀出字段a和字段b的信息;3)根據(jù)字段的個數(shù)和各個字段的數(shù)據(jù)類型可以得出表A的一條記錄的長度,然后從表A的地址讀出記錄;數(shù)據(jù)文件生成單元必須嚴(yán)格按照這個形式填充數(shù)據(jù)內(nèi)存文件。數(shù)據(jù)文件生成單元根據(jù)數(shù)據(jù)庫數(shù)據(jù),調(diào)用DBC的解析接口,從內(nèi)存鏈表結(jié)構(gòu)獲取對應(yīng)的表和字段地址、字段格式,按解析指定的格式和地址寫到內(nèi)存中,填充生成主機(jī)數(shù)據(jù)記錄。1)首先,初始化通配符表;通配符是指滿足任何查詢條件的字段值。2)再寫表關(guān)系表;寫表關(guān)系表時(shí)從CDBConvert(DBC模塊的解析部分)中獲取表和字段轉(zhuǎn)換描述鏈表指針;3)鏈表中保存著DBC文件中的“表頭信息描述(RelDescTbl)”。循環(huán)填充即可。4)然后填寫所有的表字段。5)最后填充數(shù)據(jù)庫內(nèi)容。管理DBC和DBS的DBM部分DBM是DBManager(數(shù)據(jù)庫管理)的簡稱。由于Emulnet框架的仿真系統(tǒng)可以組合模擬多種不同的主機(jī)實(shí)體SSP/MSC,需要針對不同的主機(jī)實(shí)體,用不同的DBS、DBC文件描述其嫻熟和數(shù)據(jù)轉(zhuǎn)換規(guī)則。因此就需要一個實(shí)現(xiàn)對不同版本實(shí)體的DBS、DBC的管理部分--DBM部分。DBM文件描述格式DBM文件有兩部分內(nèi)容,1)系統(tǒng)支持的實(shí)體版本、語言信息這部分是描述仿真系統(tǒng)支持著幾種SSP(SERVICESWITCHINGPOINT業(yè)務(wù)交換點(diǎn))和SAU實(shí)體版本、版本號、SoftPhone的DBS文件名、語言種類,這里SAU為一主機(jī)名,SoftPhone為主機(jī)SAU中的一個軟件。//SSP(SERVICESWITCHINGPOINT業(yè)務(wù)交換點(diǎn))實(shí)體的版本VersionCounts=2SSPVersion1=SSPV610R105M8008SSPVersion2=OVSV610R106B09D022[SAU_VERSION]//SAU實(shí)體的版本VersionCounts=1SAUVersion1=SAUV200R002.1D431[SOFT_PHONE]//softphone相關(guān)數(shù)據(jù)的顯示描述文件DBSFile=softPhone.DBS[Language]//語言種類LanguageCounts=2Language1=ChineseLanguage2=English2)具體每個實(shí)體版本的描述信息這部分是細(xì)化某種實(shí)體版本所包含的數(shù)據(jù)表,和界面顯示分組方式,每種實(shí)體有下面所示的描述,如版本號為SSPV610R105M8008的實(shí)體描述[SSPV610R105M8008]DBSFileChn=SSPV610R105M8008.DBS//對應(yīng)的DBS文件名DBCFile=SSPV610R105M8008.DBC//對應(yīng)的DBC文件名SectionCounts=9//所有表的顯示在視圖列表窗口中分9組TableCounts=34//所有表數(shù)目Section1=SCPConfigTables//Section字段描述顯示分組第一組Table_Counts1=3Section2=SCCPConfigTablesTable_Counts2=4Section3=OfficeTablesTable_Counts3=2Section4=TrunkTablesTable_Counts4=2Section5=MTPTablesTable_Counts5=1Section6=UserInfoTablesTable_Counts6=1Section7=CallNumberAnalysisTablesTable_Counts7=9Section8=INServiceTablesTable_Counts8=4Section9=ChargeTablesTable_Counts9=8//所有的表名Tables_total=scp_cfg,scp_addr,ssp_addr,sccp_ssn,gt_table,newgt_able,sccp_dpc,local_office,number_seg,route_analysis,trunk_group,mtp_dsp,user_data,call_source,callee_Analysis,callee_dn_Special,caller_Analysis,dn_change,national_code,area_code,toll_code,call_forward,in_servicekey,tdp_config,in_conf,1ang_kind,credit_table,free_charge_service,chargeclass_to_rate,holiday_discount,week_discount,normalday_discount,duration_discount,soft_paraDBM的管理實(shí)現(xiàn)DBM主要實(shí)現(xiàn)不同版本的文件的轉(zhuǎn)換和顯示管理。管理并初始化DBC和DBS。1)DBM對不同版本的DBC、DBS描述文件的管理DBM提供調(diào)用接口,根據(jù)版本號,即可獲得對應(yīng)的DBC、DBS描述文件名,從而實(shí)現(xiàn)不同版本實(shí)體數(shù)據(jù)的正確轉(zhuǎn)換和顯示。DBSFileChn=SSPV610R105M8008.DBS//對應(yīng)的DBS文件名DBCFile=SSPV610R105M8008.DBC//對應(yīng)的DBC文件名2)DBM對顯示的管理根據(jù)上面對SSPV610R105M8008版本的描述,在界面上根據(jù)Section字段的描述來分組,程序裝載相應(yīng)的表名到樹型圖上顯示。如“Section2=SCCPConfigTables;TableCounts2=4”,即表示第二組顯示為SCCPConfigTables,其中含“4”個需要配置的表,這4個表的名稱為”Tablestotal=…”字段中第4個到第7個表名字符串。顯示為圖9所示的樹型圖,供用戶編輯時(shí)使用。上述的處理,通過鏈表保存管理各表的所有信息,包括表的總數(shù)、可編輯表的分組類型數(shù)、單個表的數(shù)據(jù)庫表名、顯示表名、Tips等索引信息。樹型視圖直接訪問時(shí),通過鏈表訪問函數(shù)接口,根據(jù)實(shí)體版本號,即可獲取所有界面需要的信息。本發(fā)明的方法并不限制于仿真系統(tǒng),可以應(yīng)用于任何需要進(jìn)行不同數(shù)據(jù)轉(zhuǎn)換的數(shù)據(jù)配置系統(tǒng)。在本發(fā)明中,通過在仿真系統(tǒng)中增加DBC、DBS、DBM等格式文本文件,對任意數(shù)據(jù)庫數(shù)據(jù)實(shí)現(xiàn)顯示和轉(zhuǎn)換的格式化,帶來的如下的有益效果有效和靈活的分解和隔離了數(shù)據(jù)的存儲、顯示、訪問和使用,滿足了數(shù)據(jù)存儲、顯示和使用的不同的特點(diǎn)要求??梢园l(fā)揮關(guān)系數(shù)據(jù)庫存儲數(shù)據(jù)的效率、數(shù)據(jù)的強(qiáng)大約束功能、數(shù)據(jù)關(guān)聯(lián)的靈活性。實(shí)現(xiàn)數(shù)據(jù)之間的關(guān)聯(lián)、數(shù)據(jù)效驗(yàn)檢查、數(shù)據(jù)保存的簡潔。例如選項(xiàng)“普通用戶”在數(shù)據(jù)庫中對應(yīng)的“UserType”字段是一個字節(jié)的數(shù)據(jù),對應(yīng)值為0,這樣就節(jié)省了存儲空間??梢员A糁鳈C(jī)內(nèi)存格式DB的訪問效率、接口、效驗(yàn)、數(shù)據(jù)動態(tài)加載等特點(diǎn)。便于將來跟隨真實(shí)主機(jī)升級。在仿真SSP/MSC運(yùn)行過程中,如數(shù)據(jù)有改變,可以讓界面修改的數(shù)據(jù)通過數(shù)據(jù)庫更新、數(shù)據(jù)轉(zhuǎn)換即時(shí)生效??梢院喕瘮?shù)據(jù)的顯示和配置界面。在同一界面上更直觀、簡潔、清晰、友好和實(shí)現(xiàn)對多種數(shù)據(jù)實(shí)體的數(shù)據(jù)配置,并實(shí)現(xiàn)多種數(shù)據(jù)配置方式,如編輯框、下拉選項(xiàng)、數(shù)字范圍等。對于下拉選項(xiàng)提供直觀易懂的配置項(xiàng),如用戶類型提供選項(xiàng)為“普通用戶”、“智能用戶”等。對用戶不需要的數(shù)據(jù)則予以屏蔽。將數(shù)據(jù)的存儲、顯示、訪問之間的關(guān)系用DBC、DBS、DBM等格式文本文件用直觀簡潔的規(guī)則描述,能夠很方便的直接用文本編輯工具修改以滿足數(shù)據(jù)存儲、顯示和訪問的變化需求,而不需要再次修改代碼、發(fā)布程序。DBC、DBS、DBM等格式文本文件的描述思想具有很大的靈活性和伸縮性。能夠很方便的擴(kuò)充表達(dá)任意的數(shù)據(jù)的存儲、顯示和訪問之間的關(guān)系,實(shí)現(xiàn)任意數(shù)據(jù)的存儲、顯示、訪問之間的關(guān)系描述。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。權(quán)利要求1.一種數(shù)據(jù)配置系統(tǒng),包括,數(shù)據(jù)庫和數(shù)據(jù)變換部分;數(shù)據(jù)庫,用于保存不同版本的實(shí)體數(shù)據(jù);數(shù)據(jù)變換部分,用于數(shù)據(jù)庫中不同版本的實(shí)體數(shù)據(jù)和用戶配置界面之間的數(shù)據(jù)轉(zhuǎn)換,建立數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面的相互讀寫轉(zhuǎn)換,以及用于實(shí)現(xiàn)數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和相應(yīng)的用戶數(shù)據(jù)文件之間的轉(zhuǎn)換。2.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述不同版本的實(shí)體數(shù)據(jù)為業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù)。3.根據(jù)權(quán)利要求2所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,還包括,用戶數(shù)據(jù)文件存儲單元,存儲由數(shù)據(jù)變換部分轉(zhuǎn)換的用戶數(shù)據(jù)文件,該用戶數(shù)據(jù)是用業(yè)務(wù)交換點(diǎn)主機(jī)數(shù)據(jù)格式保存的各個業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù),是用于向業(yè)務(wù)交換點(diǎn)提供加載的數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述數(shù)據(jù)變換部分包括數(shù)據(jù)庫描述DBS模塊、數(shù)據(jù)庫轉(zhuǎn)換DBC模塊和數(shù)據(jù)庫管理DBM模塊,其中,DBS模塊,用于實(shí)現(xiàn)數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶配置界面用數(shù)據(jù)之間的轉(zhuǎn)換;DBC模塊,用于實(shí)現(xiàn)數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶數(shù)據(jù)文件之間的轉(zhuǎn)換;DBM模塊,用于對所述DBS模塊和DBC模塊進(jìn)行管理。5.根據(jù)權(quán)利要求4所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述DBS模塊包括,存儲的DBS文件,記錄了數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶配置界面顯示信息之間的對應(yīng)關(guān)系,以及描述了各個數(shù)據(jù)庫表在界面上的顯示屬性;DBS解析單元,用于解析DBS文件,并提供供數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用的DBS解析接口,用于實(shí)現(xiàn)數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)實(shí)體數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換;數(shù)據(jù)顯示轉(zhuǎn)換單元,能調(diào)用DBS解析接口,將通過數(shù)據(jù)庫訪問接口讀出數(shù)據(jù)庫的數(shù)據(jù),轉(zhuǎn)換生成供用戶配置界面顯示的信息,以及將數(shù)據(jù)顯示和配置單元發(fā)送來的數(shù)據(jù),轉(zhuǎn)換生成數(shù)據(jù)庫數(shù)據(jù);數(shù)據(jù)顯示和配置單元,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元中的轉(zhuǎn)換函數(shù),實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換。6.根據(jù)權(quán)利要求4或5所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述DBC模塊包括,存儲的DBC文件,記錄數(shù)據(jù)庫各個業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù)和所述業(yè)務(wù)交換點(diǎn)主機(jī)數(shù)據(jù)格式之間的對應(yīng)關(guān)系;DBC解析單元,解析DBC文件,生成與主機(jī)格式對應(yīng)的表信息鏈表動態(tài)結(jié)構(gòu),該結(jié)構(gòu)對應(yīng)了實(shí)體主機(jī)的數(shù)據(jù)格式;用于數(shù)據(jù)庫數(shù)據(jù)和各個SSP/MSC實(shí)體主機(jī)格式數(shù)據(jù)之間轉(zhuǎn)換,并提供供數(shù)據(jù)文件生成單元調(diào)用的DBC解析接口;數(shù)據(jù)文件生成單元,用于調(diào)用數(shù)據(jù)庫數(shù)據(jù)訪問操作單元的數(shù)據(jù)訪問接口,從數(shù)據(jù)庫中讀取數(shù)據(jù),并根據(jù)數(shù)據(jù)庫的數(shù)據(jù),調(diào)用DBC解析接口,按照解析結(jié)果生成實(shí)體主機(jī)格式數(shù)據(jù)文件;數(shù)據(jù)庫數(shù)據(jù)訪問操作單元,用于訪問讀出數(shù)據(jù)庫的數(shù)據(jù),提供統(tǒng)一的SQLServer數(shù)據(jù)庫訪問的接口,該部分對外提供供其它單元調(diào)用的數(shù)據(jù)訪問接口。7.根據(jù)權(quán)利要求6所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述DBC解析單元將解析后的結(jié)果持久化到永久介質(zhì)中。8.根據(jù)權(quán)利要求4或5所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述DBM模塊包括,DBM文件,用于描述系統(tǒng)支持的所有業(yè)務(wù)交換點(diǎn)和主機(jī)實(shí)體版本、版本號、軟件的DBS文件名、語言種類、實(shí)體版本所包含的數(shù)據(jù)表和界面顯示分組方式中的一個或多個;DBM模塊提供調(diào)用接口,根據(jù)版本號即可獲得對應(yīng)的DBC、DBS文件名,從而實(shí)現(xiàn)不同版本實(shí)體數(shù)據(jù)的正確轉(zhuǎn)換和實(shí)現(xiàn)。9.根據(jù)權(quán)利要求6所述的一種數(shù)據(jù)配置系統(tǒng),其特征在于,所述DBM模塊包括,DBM文件,用于描述系統(tǒng)支持的所有業(yè)務(wù)交換點(diǎn)和主機(jī)實(shí)體版本、版本號、軟件的DBS文件名、語言種類、實(shí)體版本所包含的數(shù)據(jù)表和界面顯示分組方式中的一個或多個;DBM模塊提供調(diào)用接口,根據(jù)版本號即可獲得對應(yīng)的DBC、DBS文件名,從而實(shí)現(xiàn)不同版本實(shí)體數(shù)據(jù)的正確轉(zhuǎn)換和現(xiàn)實(shí)。10.一種實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,該方法如下1)利用DBS文件記錄數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和用戶配置界面顯示信息之間的對應(yīng)關(guān)系;2)提供DBS解析接口,該解析接口用于實(shí)現(xiàn)數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換;3)提供數(shù)據(jù)顯示轉(zhuǎn)換單元,該數(shù)據(jù)顯示轉(zhuǎn)換單元能調(diào)用DBS解析接口,生成供用戶配置界面顯示的信息,以及將數(shù)據(jù)顯示和配置單元發(fā)送來的數(shù)據(jù),轉(zhuǎn)換生成數(shù)據(jù)庫數(shù)據(jù);4)提供數(shù)據(jù)顯示和配置單元,該數(shù)據(jù)顯示和配置單元能夠調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元,實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面數(shù)據(jù)之間的轉(zhuǎn)換。11.根據(jù)權(quán)利要求10所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,所述不同版本的實(shí)體數(shù)據(jù)為業(yè)務(wù)交換點(diǎn)的實(shí)體數(shù)據(jù)。12.根據(jù)權(quán)利要求11所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,所述DBS文件通過關(guān)鍵字語法實(shí)現(xiàn)數(shù)據(jù)庫到數(shù)據(jù)配置界面的顯示描述轉(zhuǎn)換。13.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,由以下步驟實(shí)現(xiàn)數(shù)據(jù)的顯示1)當(dāng)用戶在軟件界面上打開一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的操作消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元中的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元首先打開數(shù)據(jù)庫中UserData表,獲取表的字段數(shù);然后調(diào)用DBS解析單元的解析函數(shù);3)DBS解析單元根據(jù)DBS文件的ORDERBY關(guān)鍵字獲取表的排序字段和排序?qū)傩?,根?jù)TABLEATTRIBUTE關(guān)鍵字獲取表的編輯屬性;并從DBS文件獲取顯示屬性和其它字段屬性;4)數(shù)據(jù)顯示轉(zhuǎn)換單元判斷是否存在顯示屬性要求顯示的字段,如果存在,數(shù)據(jù)顯示和配置單元根據(jù)返回的判斷結(jié)果操作界面控件創(chuàng)建并插入表頭列;數(shù)據(jù)顯示轉(zhuǎn)換單元判斷如果存在自動索引字段列,則數(shù)據(jù)顯示和配置單元根據(jù)返回的判斷結(jié)果操作界面控件插入創(chuàng)建自動索引列的表頭;5)數(shù)據(jù)顯示轉(zhuǎn)換單元從數(shù)據(jù)庫中UserData表逐條讀取表記錄,并通過DBS解析單元根據(jù)DBS文件的定義,由數(shù)據(jù)顯示和配置單元操作界面控件設(shè)置顯示行和字段列。14.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,由以下步驟實(shí)現(xiàn)數(shù)據(jù)的編輯1)當(dāng)用戶在軟件界面上編輯一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元的接口,根據(jù)DBS文件中UserData表的描述信息,初始化表編輯對話框控件的顯示規(guī)則數(shù)據(jù);3)DBS解析單元從數(shù)據(jù)庫獲取UserData表字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;4)數(shù)據(jù)顯示轉(zhuǎn)換單元以表、字段為索引將數(shù)據(jù)庫讀入的字段值從字符串轉(zhuǎn)化為相應(yīng)的界面顯示值;5)數(shù)據(jù)顯示和配置單元將獲取的字段的基本默認(rèn)數(shù)據(jù)和提示內(nèi)容拷貝給字段顯示控件;字段顯示控件可以完成字段的的顯示;6)用戶在用戶配置界面編輯完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù),通過數(shù)據(jù)顯示轉(zhuǎn)換單元轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。15.根據(jù)權(quán)利要求13所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,由以下步驟實(shí)現(xiàn)數(shù)據(jù)的編輯1)當(dāng)用戶在軟件界面上編輯一個UserData表時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元的接口,根據(jù)DBS文件中UserData表的描述信息,初始化表編輯對話框控件的顯示規(guī)則數(shù)據(jù);3)DBS解析單元從數(shù)據(jù)庫獲取UserData表字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;4)數(shù)據(jù)顯示轉(zhuǎn)換單元以表、字段為索引將數(shù)據(jù)庫讀入的字段值從字符串轉(zhuǎn)化為相應(yīng)的界面顯示值;5)數(shù)據(jù)顯示和配置單元將獲取的字段的基本默認(rèn)數(shù)據(jù)和提示內(nèi)容拷貝給字段顯示控件;字段顯示控件可以完成字段的的顯示;6)用戶在用戶配置界面編輯完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù),通過數(shù)據(jù)顯示轉(zhuǎn)換單元轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。16.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,由以下步驟實(shí)現(xiàn)數(shù)據(jù)的添加1)當(dāng)用戶在軟件界面上一個UserData表添加數(shù)據(jù)時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元獲取DBS文件中UserData表的描述信息,根據(jù)該UserData表的描述信息初始化表編輯對話框的顯示規(guī)則數(shù)據(jù);3)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元從DBS文件中UserData表獲取字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;數(shù)據(jù)顯示和配置單元將從DBS文件中獲取的字段的基本數(shù)據(jù)和提示內(nèi)容(如ToolTip提示內(nèi)容)拷貝給字段顯示/輸入控件;4)用戶在用戶配置界面添加完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。17.根據(jù)權(quán)利要求13所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,由以下步驟實(shí)現(xiàn)數(shù)據(jù)的添加1)當(dāng)用戶在軟件界面上一個UserData表添加數(shù)據(jù)時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元獲取DBS文件中UserData表的描述信息,根據(jù)該UserData表的描述信息初始化表編輯對話框的顯示規(guī)則數(shù)據(jù);3)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元從DBS文件中UserData表獲取字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;數(shù)據(jù)顯示和配置單元將從DBS文件中獲取的字段的基本數(shù)據(jù)和提示內(nèi)容(如ToolTip提示內(nèi)容)拷貝給字段顯示/輸入控件;4)用戶在用戶配置界面添加完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。18.根據(jù)權(quán)利要求14所述的實(shí)現(xiàn)對具有至少兩個不同版本實(shí)體數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)配置的方法,其特征在于,由以下步驟實(shí)現(xiàn)數(shù)據(jù)的添加1)當(dāng)用戶在軟件界面上一個UserData表添加數(shù)據(jù)時(shí),數(shù)據(jù)顯示和配置單元根據(jù)界面控件傳遞過來的字段修改消息,調(diào)用數(shù)據(jù)顯示轉(zhuǎn)換單元的轉(zhuǎn)換函數(shù);2)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元獲取DBS文件中UserData表的描述信息,根據(jù)該UserData表的描述信息初始化表編輯對話框的顯示規(guī)則數(shù)據(jù);3)數(shù)據(jù)顯示轉(zhuǎn)換單元調(diào)用DBS解析單元從DBS文件中UserData表獲取字段的基本默認(rèn)數(shù)據(jù),包括字段名、字段類型、字段值等;數(shù)據(jù)顯示和配置單元將從DBS文件中獲取的字段的基本數(shù)據(jù)和提示內(nèi)容(如ToolTip提示內(nèi)容)拷貝給字段顯示/輸入控件;4)用戶在用戶配置界面添加完數(shù)據(jù)并保存提交時(shí),數(shù)據(jù)顯示和配置單元將界面顯示/輸入控件輸入的數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫字段格式保存到數(shù)據(jù)庫中。全文摘要本發(fā)明涉及一種數(shù)據(jù)配置系統(tǒng)及配置方法,該系統(tǒng)包括,數(shù)據(jù)庫和數(shù)據(jù)變換部分;數(shù)據(jù)庫,用于保存不同版本的實(shí)體數(shù)據(jù);數(shù)據(jù)變換部分,用于數(shù)據(jù)庫中不同版本的實(shí)體數(shù)據(jù)和用戶配置界面之間的數(shù)據(jù)轉(zhuǎn)換,建立數(shù)據(jù)庫數(shù)據(jù)和用戶配置界面的相互讀寫轉(zhuǎn)換,以及用于實(shí)現(xiàn)數(shù)據(jù)庫各個不同版本的實(shí)體數(shù)據(jù)和相應(yīng)的用戶數(shù)據(jù)文件之間的轉(zhuǎn)換。利用本發(fā)明的系統(tǒng)和方法,有效和靈活的分解和隔離了數(shù)據(jù)的存儲、顯示、訪問和使用,滿足了數(shù)據(jù)存儲、顯示和使用的不同的特點(diǎn)要求。可以發(fā)揮關(guān)系數(shù)據(jù)庫存儲數(shù)據(jù)的效率、數(shù)據(jù)的強(qiáng)大約束功能和數(shù)據(jù)關(guān)聯(lián)的靈活性。實(shí)現(xiàn)數(shù)據(jù)之間的關(guān)聯(lián)、數(shù)據(jù)效驗(yàn)檢查和數(shù)據(jù)保存的簡潔。文檔編號G06F17/30GK1862538SQ20061005779公開日2006年11月15日申請日期2006年2月27日優(yōu)先權(quán)日2006年2月27日發(fā)明者陳丹博,宋濤,張宏申請人:華為技術(shù)有限公司