[發明專利]基于約束校驗的內存格式化方法有效
| 申請號: | 201110195005.0 | 申請日: | 2011-07-12 |
| 公開(公告)號: | CN102880550A | 公開(公告)日: | 2013-01-16 |
| 發明(設計)人: | 任宇;譚輔州;鄒強;朱律瑋 | 申請(專利權)人: | 北京東方通科技股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F11/00 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩 |
| 地址: | 100080 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 約束 校驗 內存 格式化 方法 | ||
技術領域
本發明涉及計算機文件處理技術領域,特別涉及一種基于約束校驗的內存格式化方法。
背景技術
通過配置文件讀取需要經常變化的參數信息是計算機系統使用的常用方法。被廣泛的使用在各種需要人機交互的軟件系統當中。軟件的使用者將所需的參數信息,按照一定的格式編寫在文本文件中,計算機軟件在啟動或者使用這些參數之前,通過讀取文件將信息讀入內存當中,并進行相應的解析和處理。
單純的將參數信息保存進配置文件,雖然簡單直接,但是并不利于使用者記憶和識別,所以逐漸發展成名值對形式的配置文件,例如“NAME=XYZ”等等。隨著軟件系統越來越復雜,提供的功能越來越多,簡單的配置描述方法無法滿足復雜的業務需求,所以逐漸發展出具有一定格式化要求的配置文件,用以進行具有一定關聯關系的復雜參數表示方法。同時由于軟件系統的發展要求,配置的內容總是在不斷變化的,這就需要對配置文件的格式能靈活的變化;同時隨著配置信息內容越來越復雜,信息之間的關聯關系變得越來越復雜,配置內容出錯的概率變得非常高,一旦配置出錯,就影響整個軟件系統的運行。
在實現本發明的過程當中,發明人發現現在通行的INI和XML文件雖然部分解決了以上的問題,但是依然存在著自己的局限性。INI文件通過“[]”來描述配置小節,將參數信息進行簡單的分類處理,但是無法表示具有復雜依賴關系和多層次小節關系的參數。而XML文件雖然非常的靈活,可以適應各種配置需要,但是它的語法表達過于復雜,不利于使用者快速的學習記憶;并且對XML的支持主要集中在java語言,對C語言的相關支持比較少,無法適應跨平臺的需要。最重要的是以上的兩種配置方法,都沒有對配置校驗提供完整的解決方案,所有的工作都要人工編碼完成。隨著業務需求的不斷提出和不斷更新變化,產品配置文件的配置內容也隨之不斷增加,配置文件的復雜度也不斷增加。為了實現對配置文件內容的一系列合法校驗,比如對配置文件中各類名稱的唯一性校驗、配置小節和配置記錄之間層級從屬關系的約束校驗,不同配置單元上下文依賴關系的約束校驗等,均須相應增加大量的校驗流程。實現這些新增校驗流程的過程,耗費了大量的工作量,且極容易出現紕漏,增加了產品出現bug的概率,并使開發的效率大大降低。
在實現本發明的過程當中,發明人還發現對于配置文件的使用,往往是和內存資源對象的創建和賦值相關聯的。從配置中讀取的參數信息,用于創建相關的內存對象,或對特定的內存對象賦值。而這些工作目前沒有通用抽象的方法可供使用,往往需要人工編程來實現。另外隨著業務需求的不斷提出和不斷更新變化,產品核心內存結構也經常需要合理化調整,實現這個調整過程,極易出現各種遺漏,比如尺寸計算和格式序列化不一致,顯示內容和實際結構不一致,結構體個數與預期不一致等,使得內存指針位置發生錯亂,從而導致產品出現重大缺陷。
發明內容
(一)要解決的技術問題
本發明要解決的技術問題是:如何自動化地批量實現對配置文件的約束校驗及對配置文件中的結構體對應的內存結構進行格式化。
(二)技術方案
為解決上述技術問題,本發明提供了一種基于約束校驗的內存格式化方法,包括以下步驟:
S1:根據配置文件的配置小節、配置記錄和配置項各自的內存結構體名稱、數量及結構體變量名稱分配內存結構;
S2:根據配置文件對應的配置校驗腳本校驗所述配置文件;
S3:將校驗通過的配置文件中的配置項值賦值給所述內存結構。
其中,所述步驟S1具體包括:
S1.1:根據配置文件讀取所述配置文件對應的內存格式腳本,所述內存格式腳本中設置了配置文件中配置小節、配置記錄和配置項各自的內存結構體名稱、數量及結構體變量名稱;
S1.2:解析所述內存格式腳本,根據內存格式腳本的內容為所述配置文件分配內存結構。
其中,所述步驟S1.2具體包括:
根據內存格式腳本內容中的各個結構體變量和數量計算內存尺寸;
將按所述尺寸申請成功的內存空間逐項分配給格式化腳本內容中的指針變量;
逐項顯示各個已經分配好內存空間的指針變量地址。
其中,在計算內存尺寸和進行內存地址偏移時,均以8bytes為格式化最小尺寸單元,構體單個尺寸乘以結構體個數,結果若不是8的整數倍,則加上余數,使之占據的內存空間大小為8bytes的整數倍。
其中,所述步驟S2具體包括:
S2.1:讀取所述配置文件對應的配置校驗腳本,所述配置校驗腳本設置了配置文件中配置小節、配置記錄和配置項各自的約束校驗規則;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京東方通科技股份有限公司,未經北京東方通科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110195005.0/2.html,轉載請聲明來源鉆瓜專利網。





