[發明專利]一種變長數據存取方法在審
| 申請號: | 201210581148.X | 申請日: | 2012-12-27 |
| 公開(公告)號: | CN103902228A | 公開(公告)日: | 2014-07-02 |
| 發明(設計)人: | 黃和石;甘景全;李利;吳巖;灑西濤;宋穎;李少維;魏賀生;張巍;單國軍 | 申請(專利權)人: | 航天信息股份有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京科龍寰宇知識產權代理有限責任公司 11139 | 代理人: | 孫皓晨 |
| 地址: | 100097 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 變長 數據 存取 方法 | ||
技術領域
本發明涉及數據讀寫方法技術領域,特別涉及一種利用定長設備對變長數據進行讀寫操作的方法。
背景技術
隨著國稅業務的拓展,大量服務于企業端的舊款稅控設備無法滿足開具變長發票的存儲要求,若全部更換為新設備,會給企業用戶造成沉重的負擔,同時大規模升級設備也涉及人力、物力等資源的極大耗費。受限于設備硬件NandFlash存儲容量過小,以及兼容現有稅控系統發票明細定長報稅方式,因此,如何提供一種利用舊有稅控系統存取變長數據發票的方法,實為本領域技術人員亟待解決的問題。
發明內容
本發明的目的是為了兼容目前變長數據發票的發展趨勢以及稅控系統定長報稅的方式,提供一種可靠性好且不需改造舊有設備的變長數據存取方法。
為達上述目的,本發明提供一種變長數據存取方法,包括數據存儲階段和數據讀取階段兩部分,所述數據存儲階段包括以下步驟:
C1:將存儲介質劃分為多個容量相等的存儲塊;
C2:將所述變長數據按照字節數分割為多個含固定字節的數據段,對所述多個數據段進行封裝,得到多個包含固定字節的數據包;所述多個數據包根據剩余長度分為首包、中間包和尾包,其中剩余長度是指位于當前數據包之后的所有數據包的大小;
C3:計算所述存儲塊的剩余空間,根據剩余空間大小確定安放所述變長數據的存儲塊,以保證同一條變長數據存儲在同一個存儲塊內;
C4:將所述多個數據包依次存入確定好的存儲塊內;
所述數據讀取階段包括以下步驟:
D1:獲取所述變長數據的起始地址和終止地址;
D2:去除所述存儲塊塊尾的冗余數據,計算實際已用存儲空間;
D3:按照固定長度讀取所述存儲塊中的數據;
D4:讀取至終止地址,數據讀取過程結束。
本發明提出的一種變長數據存取方法,其中,步驟C2中對所述數據包的格式為:
標志位+數據總長度+剩余長度+數據段+校驗和
其中標志位用于表示一個數據包的開始,數據總長度用于表示一條變長數據的總體長度,校驗和用于進行數據校驗。
本發明提出的一種變長數據存取方法,其中,所述步驟C3中確定存儲塊的方法為,比較存儲塊的剩余空間和要存儲的變長數據的大小,若剩余空間大于所述變長數據大小,則將所述變長數據存儲在所述存儲塊內;若剩余空間不足以存儲該變長數據的,該剩余空間將被舍棄,所述變長數據從下一個存儲塊的首部開始存儲;同時記錄被舍棄的剩余空間數。
本發明提出的一種變長數據存取方法,其中,所述步驟C4中還包括:判斷當前數據包是否為首包,若是,重復步驟C3;若不是,直接存儲當前數據包。
本發明提出的一種變長數據存取方法,其中,當步驟C2中分割后的數據段長度不足預設的固定字節的,不足部分用0填補。
本發明提出的一種變長數據存取方法,其中,所述步驟D3中包括:讀取數據包中的標志位,重新組裝原變長數據。
本發明提出的一種變長數據存取方法,其中,采用順序讀取或隨機讀取的方式讀取數據。
與現有技術相比,本發明的有益效果在于:
通過本發明,使舊款稅控設備能夠支持變長發票存儲并兼容定長報稅方式,延長了已有設備的使用期限,滿足新需求的同時,也節省了硬件成本。本發明不需要存儲報稅臨時文件,節省空間,是一種高效的變長數據存取解決方案。
附圖說明
圖1為本發明的數據存儲過程流程圖;
圖2為本發明的數據讀取過程流程圖;
圖3為本發明數據存儲階段的一具體實施例的示意圖;
圖4為本發明數據讀取階段的一具體實施例的示意圖。
具體實施方式
以下結合附圖,就本發明上述的和另外的技術特征和優點做進一步地說明。
根據本發明的技術方案,開具發票時,按照一定規則將變長發票明細數據裁切成固定大小的數據段,并將數據段封裝為數據包。數據包尺寸由接口軟件與固件程序約定,可設置為任何有意義的數值。在本發明的實施例中,該固定大小選擇為512字節,即數據包的尺寸為512字節。
變長發票數據包格式如下:
發票標志+發票數據總長度+剩余長度+發票數據(一個分數據包,512字節)+校驗和
寫入時根據剩余長度不同,將分割并封裝好的數據包又分為首包、中間包和尾包。剩余長度是指包括當前數據包及其之后的所有數據包的大小。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于航天信息股份有限公司,未經航天信息股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210581148.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:四元復合紡紗方法及產品
- 下一篇:一種游戲毯
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





