日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種基于用戶直觀方式操作二進制數(shù)據(jù)的方法及系統(tǒng)的制作方法

文檔序號:8381014閱讀:244來源:國知局
一種基于用戶直觀方式操作二進制數(shù)據(jù)的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)修改領(lǐng)域,尤其涉及一種基于用戶直觀方式操作二進制數(shù)據(jù)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)關(guān)系數(shù)據(jù)庫是目前Web應(yīng)用中存取數(shù)據(jù)的主要形式。然而,隨著Web2.0、大數(shù)據(jù)、云應(yīng)用等技術(shù)的發(fā)展,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在I/O、可擴展性上遇到了瓶頸,在大數(shù)據(jù)存取和訪問時效率急劇下降,在高可擴展性和高可用性方面也遇到難題。為了解決此問題,許多方案相繼提出,比如分布式數(shù)據(jù)庫、主從數(shù)據(jù)庫、無模式數(shù)據(jù)庫等。無模式數(shù)據(jù)庫,是一種模式自由的數(shù)據(jù)庫,其模式主要為關(guān)系、樹、圖、文檔等多種方式。實際上,很難完全拋棄現(xiàn)有的關(guān)系數(shù)據(jù)庫而直接使用無模式數(shù)據(jù)庫。以關(guān)系數(shù)據(jù)庫為主,無模式數(shù)據(jù)庫為輔,成了工業(yè)界和產(chǎn)業(yè)界普遍接受的方案。
[0003]現(xiàn)有的技術(shù)中,存在兩類關(guān)系數(shù)據(jù)庫與無模式數(shù)據(jù)庫進行結(jié)合的方法:(1)以用戶插件的方法,將無模式數(shù)據(jù)庫集成到關(guān)系數(shù)據(jù)庫中,使得關(guān)系數(shù)據(jù)庫同時支持關(guān)系操作和無模式操作。該方法缺點是大量的打開/關(guān)閉表的操作十分耗時,降低了數(shù)據(jù)庫性能;
(2)混合使用關(guān)系數(shù)據(jù)庫,以關(guān)系數(shù)據(jù)庫為主,無模式數(shù)據(jù)庫為輔,使用關(guān)系數(shù)據(jù)庫進行大數(shù)據(jù)更新操作,采用某種機制將關(guān)系數(shù)據(jù)庫模式和數(shù)據(jù)同步到無模式數(shù)據(jù)庫。對于大數(shù)據(jù)的查詢直接使用無模式數(shù)據(jù)庫,而更新仍采用關(guān)系數(shù)據(jù)庫。該方法優(yōu)點是既解決了關(guān)系數(shù)據(jù)庫中大數(shù)據(jù)的查詢瓶頸問題,又解決了無模式數(shù)據(jù)庫更新瓶頸問題。該方法的難點是如何將關(guān)系數(shù)據(jù)庫模式和數(shù)據(jù)轉(zhuǎn)換到無模式數(shù)據(jù)庫?,F(xiàn)有技術(shù)的解決方案及實現(xiàn)主要有兩種方法:(1)通過關(guān)系數(shù)據(jù)庫觸發(fā)器,將數(shù)據(jù)的變化記錄到臨時查詢表。該查詢表通常由ID、表名、行號、時間戳和操作等模式構(gòu)成。然后將臨時查詢表的數(shù)據(jù)同步到目標無模式數(shù)據(jù)庫;(2)對方法(I)改進,取消臨時查詢表,通過增加關(guān)系數(shù)據(jù)庫自定義HTTP函數(shù),直接將關(guān)系數(shù)據(jù)庫數(shù)據(jù)變化增量通過HTTP協(xié)議發(fā)送給目標無模式數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)和模式的同止/J/ O
[0004]綜上,現(xiàn)有關(guān)系數(shù)據(jù)庫到無模式數(shù)據(jù)庫的轉(zhuǎn)換方法主要有以下問題:(1)不管是觸發(fā)器還是用戶自定義函數(shù),其嚴重影響關(guān)系數(shù)據(jù)庫性能;(2)數(shù)據(jù)傳輸過程無法保證數(shù)據(jù)操作的有序性,容易造成數(shù)據(jù)的不一致;(3)同步方式會阻塞數(shù)據(jù)庫進程,降低關(guān)系數(shù)據(jù)庫的模式和數(shù)據(jù)更新性能。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的在于提供一種基于用戶直觀方式操作二進制數(shù)據(jù)的方法,旨在解決上述的技術(shù)問題。
[0006]本發(fā)明是這樣實現(xiàn)的,一種基于用戶直觀方式操作二進制數(shù)據(jù)的方法,所述方法包括以下步驟:
A、設(shè)置對輸入的數(shù)據(jù)信息定義數(shù)據(jù)描述的格式; B、將預(yù)先設(shè)置好的數(shù)據(jù)信息輸入進行數(shù)據(jù)存儲;
C、在輸入的數(shù)據(jù)信息中查找User,如查找到,則執(zhí)行步驟D,如查找不到,則提示錯誤并結(jié)束本次操作;
D、判斷User的值是否是數(shù)據(jù)定義中定義的字符串類型,如是,則執(zhí)行步驟E,如否,則提示錯誤并結(jié)束本次操作;
E、計算數(shù)據(jù)的長度并判斷數(shù)據(jù)長度是否大于預(yù)設(shè)值,如否,則執(zhí)行步驟F,如是,則提示錯誤并結(jié)束本次操作;
F、在二進制數(shù)據(jù)流中存儲整形數(shù)字和字符串;
G、在輸入的數(shù)據(jù)信息中查找Age,如查找到,則執(zhí)行步驟H,如查找不到,則提示錯誤并結(jié)束本次操作;
H、判斷Age的值是否是數(shù)據(jù)定義中定義的整形,如是,則執(zhí)行步驟I,如否,則提示錯誤并結(jié)束本次操作;
1、在二進制數(shù)據(jù)流中存儲整形數(shù)字;
J、在存儲后根據(jù)數(shù)據(jù)定義讀取預(yù)設(shè)字節(jié)為第一列的字符串表示實際長度并判斷剩余字節(jié)長度是否不足讀取的字節(jié)長度,如是,則提示錯誤并結(jié)束本次操作,如否,則執(zhí)行步驟K;
K、讀取設(shè)定字節(jié)的實際長度并判斷剩余長度是否不足設(shè)定字節(jié),如是,則提示出錯并結(jié)束本次操作,如否,則讀取結(jié)果為預(yù)設(shè)名并執(zhí)行步驟L ;
L、根據(jù)數(shù)據(jù)定義讀取預(yù)置字節(jié)為第二列的整形并判斷其長度是否不足預(yù)置字節(jié),如是,則提示錯誤并結(jié)束本次操作,如否,則讀取結(jié)果為預(yù)設(shè)值并執(zhí)行步驟M ;
M、根據(jù)數(shù)據(jù)定義對二進制數(shù)據(jù)進行直觀的修改。
[0007]本發(fā)明的進一步技術(shù)方案是:所述數(shù)據(jù)描述格式對數(shù)據(jù)的列名、類型、最大長度進行定義。
[0008]本發(fā)明的進一步技術(shù)方案是:通過對數(shù)據(jù)定義來實現(xiàn)對二進制數(shù)據(jù)直觀操作修改。
[0009]本發(fā)明的進一步技術(shù)方案是:所述預(yù)設(shè)值為24。
[0010]本發(fā)明的進一步技術(shù)方案是:在數(shù)據(jù)定義中支持的類型包括int8、intl6、int32、int64、float、double、string、binary> struct 及 un1n。
[0011]本發(fā)明的另一目的在于提供一種基于用戶直觀方式操作二進制數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括:
數(shù)據(jù)定義模塊,用于設(shè)置對輸入的數(shù)據(jù)信息定義數(shù)據(jù)描述的格式;
數(shù)據(jù)存儲模塊,用于將預(yù)先設(shè)置好的數(shù)據(jù)信息輸入進行數(shù)據(jù)存儲;
第一查詢模塊,用于在輸入的數(shù)據(jù)信息中查找User,如查找到,則執(zhí)行字符串類型判斷模塊,如查找不到,則提示錯誤并結(jié)束本次操作;
字符串類型判斷模塊,用于判斷User的值是否是數(shù)據(jù)定義中定義的字符串類型,如是,則執(zhí)行長度判斷模塊,如否,則提示錯誤并結(jié)束本次操作;
長度判斷模塊,用于計算數(shù)據(jù)的長度并判斷數(shù)據(jù)長度是否大于預(yù)設(shè)值,如否,則執(zhí)行數(shù)據(jù)流存儲模塊,如是,則提示錯誤并結(jié)束本次操作;
數(shù)據(jù)流存儲模塊,用于在二進制數(shù)據(jù)流中存儲整形數(shù)字和字符串; 第二查找模塊,用于在輸入的數(shù)據(jù)信息中查找Age,如查找到,則執(zhí)行整形判斷模塊,如查找不到,則提示錯誤并結(jié)束本次操作;
整形判斷模塊,用于判斷Age的值是否是數(shù)據(jù)定義中定義的整形,如是,則執(zhí)行整形存儲模塊,如否,則提示錯誤并結(jié)束本次操作;
整形存儲模塊,用于在二進制數(shù)據(jù)流中存儲整形數(shù)字;
字節(jié)長度判斷模塊,用于在存儲后根據(jù)數(shù)據(jù)定義讀取預(yù)設(shè)字節(jié)為第一列的字符串表示實際長度并判斷剩余字節(jié)長度是否不足讀取的字節(jié)長度,如是,則提示錯誤并結(jié)束本次操作,如否,則執(zhí)行剩余長度判斷模塊;
剩余長度判斷模塊,用于讀取設(shè)定字節(jié)的實際長度并判斷剩余長度是否不足設(shè)定字節(jié),如是,則提示錯誤并結(jié)束本次操作,如否,則讀取結(jié)果為預(yù)設(shè)名并執(zhí)行整形長度判斷模塊;
整形長度判斷模塊,用于根據(jù)數(shù)據(jù)定義讀取預(yù)置字節(jié)為第二列的整形并判斷其長度是否不足預(yù)置字節(jié),如是,則提示錯誤并結(jié)束本次操作,如否,則讀取結(jié)果為預(yù)設(shè)值并執(zhí)行修改模塊;
修改模塊,用于根據(jù)數(shù)據(jù)定義對二進制數(shù)據(jù)進行直觀的修改。
[0012]本發(fā)明的進一步技術(shù)方案是:所述數(shù)據(jù)描述格式對數(shù)據(jù)的列名、類型、最大長度進行定義。
[0013]本發(fā)明的進一步技術(shù)方案是:通過對數(shù)據(jù)定義來實現(xiàn)對二進制數(shù)據(jù)直觀操作修改。
[0014]本發(fā)明的進一步技術(shù)方案是:所述預(yù)設(shè)值為24。
[0015]本發(fā)明的進一步技術(shù)方案是:在數(shù)據(jù)定義中支持的類型包括int8、intl6、int32、int64、float、double、string、binary> struct 及 un1n。
[0016]本發(fā)明的有益效果是:在不改變數(shù)據(jù)格式的前提下,對輸入數(shù)據(jù)進行最大限度壓縮,同時保留了循環(huán)嵌套等多種有益特性,其效率比同類型的產(chǎn)品(ProtocolBuffer)提高20倍以上,可以作為C/C++、C#、Act1nScript、Java、Python等多種實現(xiàn),易用性相當高。
【附圖說明】
[0017]圖1是本發(fā)明實施例提供的基于用戶直觀方式操作二進制數(shù)據(jù)的方法的流程圖; 圖2是本發(fā)明實施例提供的基于用戶直觀方式操作二進制數(shù)據(jù)的方法的結(jié)構(gòu)框圖。
【具體實施方式】
[0018]圖1示出了本發(fā)明提供的基于用戶直觀方式操作二進制數(shù)據(jù)的方法的流程圖,其詳述如下:
步驟SI,設(shè)置對輸入的數(shù)據(jù)信息定義數(shù)據(jù)描述的格式;1、用戶定義數(shù)據(jù)描述格式(類似 XSD (XML Schema 語言也稱作 XML Schema 定義(XML Schema Definit1n, XSD)), M如用戶定義,第一列數(shù)據(jù)為〈entry name=” User” type=” string” size=” 24” > 表示,列名為User,數(shù)據(jù)類型為字符串,最大長度為24 ;3、第二列數(shù)據(jù)為〈entry name=”Age”type=” int” >表示,列名為Age,數(shù)據(jù)類型為整形數(shù)字。
[0019]步驟S2,將預(yù)先設(shè)置好的數(shù)據(jù)信息輸入進行數(shù)據(jù)存儲;用戶輸入希望存儲的數(shù)據(jù),例如 User=JohnR, Age=24 等。
[0020]步驟S3,在輸入的數(shù)據(jù)信息中查找User,如查找到,則執(zhí)行步驟S4,如查找不到,則提示錯誤并結(jié)束本次操作。
[0021]步驟S4,判斷User的值是否是數(shù)據(jù)定義中定義的字符串類型,如是,則執(zhí)行步驟S5,如否,則提示錯誤并結(jié)束本次操作。
[0022]步驟S5,計算數(shù)據(jù)的長度并判斷數(shù)據(jù)長度是否大于預(yù)設(shè)值,如否,則執(zhí)行步驟S6,如是,則提示錯誤并結(jié)束本次操作;其中7、計算數(shù)據(jù)的長度Ien (JohnR) =5,預(yù)設(shè)值的長度為24。
[0023]步驟S6,在二進制數(shù)據(jù)流中存儲整形數(shù)字和字符串;在二進制數(shù)據(jù)流中存儲整形數(shù)字4 (長度4字節(jié)),緊跟著存儲字符串JohnR (長度5字節(jié)),總長度為4+5=9。
[0024]步驟S7,在輸入的數(shù)據(jù)信息中查找Age,如查找到,則執(zhí)行步驟S8,如查找不到,則提示錯誤并結(jié)束本次操作。
[0025]步驟S8,判斷Age的值是否是數(shù)據(jù)定義中定義的整形,如是,則執(zhí)行步驟S9,如否,則提示錯誤并結(jié)束本次操作。
[0026]步驟S9,在二進制數(shù)據(jù)
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1