• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    流式數據存儲方法及裝置制造方法及圖紙

    技術編號:15691052 閱讀:313 留言:0更新日期:2017-06-24 03:56
    本發明專利技術公開一種流式數據存儲方法及裝置,該方法包括:獲取待存儲的數據以及數據的原數據值的數據長度,確定存儲文件及管理文件;在管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,將原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的存儲文件的至少一個單位存儲空間,并獲取原數據值在存儲文件中的存儲位置;將至少一個標記為未占用狀態的單位存儲空間管理標識進行修改;得到包含存儲文件的標識、存儲位置和數據長度的新數據值,根據數據的原數據鍵和新數據值,構建數據鍵值對形式的實例數據,將實例數據寫入數據庫中。該技術方案節省了存儲空間,提高了數據處理效率。

    Streaming data storage method and device

    The invention discloses a streaming data storage method and device, the method includes: raw data acquisition data to be stored and the value of the data length of the data, determine the file storage and management of file management; look in the file data meet the requirement of continuous length of at least one labeled as a unit storage space management ID is not occupied the original data values to store at least find a marker for at least one unit of storage space for storing files not occupied state corresponding to the identity of the management unit of storage space, and access to raw data values in the storage of the storage location; at least one unit of storage space management identification marker the unoccupied state is modified; get a new data storage file contains the identification, location and data length value, according to the original data and the new data value key, Constructing instance data in the form of data key values, and writing instance data into the database. The technical scheme saves storage space and improves the efficiency of data processing.

    【技術實現步驟摘要】
    流式數據存儲方法及裝置
    本專利技術涉及互聯網
    ,具體涉及一種流式數據存儲方法及裝置。
    技術介紹
    在互聯網的很多應用場景中,例如消息推送和網絡直播等,均會使用到流式數據。流式數據的特點是每時每刻都有數據產生,而且數據到達時間也不是勻速的?,F有技術中,大多是利用消息隊列來解決對流式數據的存儲問題。在實際應用場景中,所產生的流式數據的數據量可能是海量的。然而,消息隊列在面臨高并發大量數據時,將無法快速地完成數據處理。因此,現有的流式數據存儲方案中存在著數據處理效率較低的問題。
    技術實現思路
    鑒于上述問題,提出了本專利技術以便提供一種克服上述問題或者至少部分地解決上述問題的流式數據存儲方法及裝置。根據本專利技術的一個方面,提供了一種流式數據存儲方法,該方法包括:獲取待存儲的數據以及數據的原數據值的數據長度,確定用于存儲原數據值的存儲文件以及用于管理存儲文件的管理文件;其中,管理文件存儲有多個單位存儲空間管理標識,每個單位存儲空間管理標識用于標記存儲文件的對應的單位存儲空間的已占用狀態或未占用狀態;在管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,將原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的存儲文件的至少一個單位存儲空間,并獲取原數據值在存儲文件中的存儲位置;將至少一個標記為未占用狀態的單位存儲空間管理標識進行修改,修改后的單位存儲空間管理標識被標記為已占用狀態;得到包含存儲文件的標識、存儲位置和數據長度的新數據值,根據數據的原數據鍵和新數據值,構建數據鍵值對形式的實例數據,將實例數據寫入數據庫中。根據本專利技術的另一方面,提供了一種流式數據存儲裝置,該裝置包括:數據獲取模塊,適于獲取待存儲的數據以及數據的原數據值的數據長度;確定模塊,適于確定用于存儲原數據值的存儲文件以及用于管理存儲文件的管理文件;其中,管理文件存儲有多個單位存儲空間管理標識,每個單位存儲空間管理標識用于標記存儲文件的對應的單位存儲空間的已占用狀態或未占用狀態;查找模塊,適于在管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識;存儲模塊,適于將原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的存儲文件的至少一個單位存儲空間;存儲位置獲取模塊,適于獲取原數據值在存儲文件中的存儲位置;修改模塊,適于將至少一個標記為未占用狀態的單位存儲空間管理標識進行修改,修改后的單位存儲空間管理標識被標記為已占用狀態;生成模塊,適于得到包含存儲文件的標識、存儲位置和數據長度的新數據值;寫入模塊,適于根據數據的原數據鍵和新數據值,構建數據鍵值對形式的實例數據,將實例數據寫入數據庫中。根據本專利技術提供的技術方案,獲取待存儲的數據以及數據的原數據值的數據長度,確定用于存儲原數據值的存儲文件以及用于管理存儲文件的管理文件,接著在管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,將原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的存儲文件的至少一個單位存儲空間,并獲取原數據值在存儲文件中的存儲位置,將至少一個標記為未占用狀態的單位存儲空間管理標識進行修改,然后得到包含存儲文件的標識、存儲位置和數據長度的新數據值,根據數據的原數據鍵和新數據值,構建數據鍵值對形式的實例數據,將實例數據寫入數據庫中。根據本專利技術提供的技術方案,不僅利用管理文件有效地實現了對存儲文件的空間使用情況的管理,而且能夠方便地將待存儲的數據的原數據值轉化為所占空間較小的新數據值,從而節省了存儲空間,優化了存儲方式,提高了數據處理效率,提升面臨高并發流式數據時的吞吐量。上述說明僅是本專利技術技術方案的概述,為了能夠更清楚了解本專利技術的技術手段,而可依照說明書的內容予以實施,并且為了讓本專利技術的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本專利技術的具體實施方式。附圖說明通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本專利技術的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據本專利技術一個實施例的流式數據存儲方法的流程示意圖;圖2示出了根據本專利技術另一個實施例的流式數據存儲方法的流程示意圖;圖3示出了根據本專利技術一個實施例的流式數據存儲裝置的結構框圖;圖4示出了根據本專利技術另一個實施例的流式數據存儲裝置的結構框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。鍵值存儲數據庫,這是一種NoSQL(非關系型數據庫)模型,其數據按照數據鍵值對的形式進行組織、索引和存儲。KV存儲非常適合不涉及過多數據關系業務關系的業務數據,同時能有效減少讀寫磁盤的次數,比SQL數據庫存儲擁有更好的讀寫性能。目前在生產環境,使用較多的K-V存儲有Memcached,Redis,LevelDB等。在通信方面,主要使用專有的二進制協議,這樣做的好處是協議解析的的性能比較高,不足的地方在于通用性差,需要為不同的語言實現專門的客戶端,開發成本高,同時二進制協議的可調試性差,導致定位問題困難;在架構設計方面,上述存儲的分布式基本都需要客戶端來實現,Redis從3.0之后開始支持集群,但從生產環境中的測試情況來看,單點故障導致集群不可用的情況依然存在,且Redis的定位是緩存,對于持久化的支持程度有限。針對以上傳統方法的不足,本專利技術的專利技術人提出了一種新的分布式數據存儲系統架構,并基于此系統進一步提出了一種流式數據存儲方法及裝置。該分布式數據存儲系統包括:客戶端、Linux虛擬服務器集群、分布式組件和存儲引擎,如下所介紹的流式數據存儲方法具體為存儲引擎中各個存儲節點所采用的數據存儲方案。在分布式數據存儲系統中,將分布式組件與存儲引擎分離,存儲引擎只負責數據存儲,以及對外提供http接口,以供分布式組件根據所提供的http接口向對應的存儲節點寫入數據,其中,存儲引擎包括多個存儲節點,各個存儲節點是相互獨立的,存儲節點彼此之間不會直接進行通信,從而降低了存儲引擎的復雜度。本系統中,分布式組件向存儲引擎寫入數據時,能夠根據Key來進行負載均衡,將數據寫入指定的存儲節點。分布式組件作為客戶端與存儲引擎之間的反向代理,對客戶端屏蔽負載均衡的細節,保證存儲節點的http接口的透明性。當某一個存儲節點宕機時,分布式組件會自動對數據寫請求進行負載均衡,保證整個系統依然可用,從而解決KV存儲的單點限制。另外,分布式組件中的每個節點都是獨立的,當某一節點宕機時,服務器集群會自動將數據寫請求發送至分布式組件中的其他可用的節點,從而解決了單點限制。當需要提高系統的吞吐率時,也只需要簡單地增加節點即可實現。目前業界主流的存儲對于replica的實現存在兩種模式:模式一:1Primary-1ReplicaShard模式二:1Primary-NReplicaSha本文檔來自技高網...
    流式數據存儲方法及裝置

    【技術保護點】
    一種流式數據存儲方法,包括:獲取待存儲的數據以及所述數據的原數據值的數據長度,確定用于存儲所述原數據值的存儲文件以及用于管理所述存儲文件的管理文件;其中,所述管理文件存儲有多個單位存儲空間管理標識,每個單位存儲空間管理標識用于標記所述存儲文件的對應的單位存儲空間的已占用狀態或未占用狀態;在所述管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,將所述原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的所述存儲文件的至少一個單位存儲空間,并獲取所述原數據值在所述存儲文件中的存儲位置;將所述至少一個標記為未占用狀態的單位存儲空間管理標識進行修改,修改后的單位存儲空間管理標識被標記為已占用狀態;得到包含所述存儲文件的標識、所述存儲位置和所述數據長度的新數據值,根據所述數據的原數據鍵和新數據值,構建數據鍵值對形式的實例數據,將所述實例數據寫入數據庫中。

    【技術特征摘要】
    1.一種流式數據存儲方法,包括:獲取待存儲的數據以及所述數據的原數據值的數據長度,確定用于存儲所述原數據值的存儲文件以及用于管理所述存儲文件的管理文件;其中,所述管理文件存儲有多個單位存儲空間管理標識,每個單位存儲空間管理標識用于標記所述存儲文件的對應的單位存儲空間的已占用狀態或未占用狀態;在所述管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,將所述原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的所述存儲文件的至少一個單位存儲空間,并獲取所述原數據值在所述存儲文件中的存儲位置;將所述至少一個標記為未占用狀態的單位存儲空間管理標識進行修改,修改后的單位存儲空間管理標識被標記為已占用狀態;得到包含所述存儲文件的標識、所述存儲位置和所述數據長度的新數據值,根據所述數據的原數據鍵和新數據值,構建數據鍵值對形式的實例數據,將所述實例數據寫入數據庫中。2.根據權利要求1所述的方法,所述確定用于存儲所述原數據值的存儲文件以及用于管理所述存儲文件的管理文件進一步包括:對所述數據的原數據鍵進行計算,得到原數據鍵對應的哈希值;根據計算得到的哈希值,確定用于存儲所述原數據值的存儲文件以及用于管理所述存儲文件的管理文件。3.根據權利要求1所述的方法,在所述獲取待存儲的數據以及所述數據的原數據值的數據長度之前,所述方法還包括:預先創建存儲文件和管理文件,并在系統內存中預先創建分別與存儲文件和管理文件相映射的內存塊。4.根據權利要求1所述的方法,所述存儲文件包括:第一存儲文件和與第一存儲文件對應的第二存儲文件;所述管理文件包括:第一管理文件和與第一管理文件對應的第二管理文件;其中,所述第一存儲文件和與第一存儲文件對應的所述第二存儲文件具有相同的標識;所述第一管理文件和與第一管理文件對應的所述第二管理文件具有相同的標識;所述第一管理文件用于管理所述第一存儲文件;所述第二管理文件用于管理所述第二存儲文件。5.根據權利要求4所述的方法,所述在所述管理文件中查找滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,將所述原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的所述存儲文件的至少一個單位存儲空間,并獲取所述原數據值在所述存儲文件中的存儲位置進一步包括:在所述第一管理文件中查找是否存在滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識;若在所述第一管理文件中查找到滿足數據長度要求的連續的至少一個標記為未占用狀態的單位存儲空間管理標識,則將所述原數據值存儲至所查找到的至少一個標記為未占用狀態的單位存儲空間管理標識對應的所述第一存儲文件的至少...

    【專利技術屬性】
    技術研發人員:徐銳波
    申請(專利權)人:北京奇虎科技有限公司
    類型:發明
    國別省市:北京,11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 少妇人妻无码精品视频app| 国产成人无码精品一区不卡| 精选观看中文字幕高清无码| 中文无码精品一区二区三区| 国产综合无码一区二区辣椒| 亚洲av无码久久忘忧草| 中文无码AV一区二区三区| av无码久久久久久不卡网站| 亚洲精品无码成人片在线观看 | 免费无码成人AV在线播放不卡| 亚洲中文字幕无码av永久| 最新国产AV无码专区亚洲| 在线看片无码永久免费aⅴ| 免费无码VA一区二区三区 | 免费看又黄又无码的网站| 无码国产精品一区二区高潮| 久久久无码一区二区三区 | 精品欧洲AV无码一区二区男男| 无码AV一区二区三区无码| 亚洲AV无码一区二区三区电影| 亚洲国产成人片在线观看无码| 亚洲一本大道无码av天堂| 国产午夜av无码无片久久96| 亚洲中文字幕无码av永久| 久久久久久AV无码免费网站| 成在人线av无码免费高潮喷水| 国产成人无码AV片在线观看| 人妻无码久久一区二区三区免费| 国产AV无码专区亚洲AVJULIA | 亚洲AV无码国产精品麻豆天美| mm1313亚洲精品无码又大又粗 | 精品无码中文视频在线观看| 亚洲欧洲免费无码| 少妇无码AV无码专区线| 亚洲av无码有乱码在线观看| 亚洲精品无码国产片| 久久精品无码一区二区三区不卡| 69堂人成无码免费视频果冻传媒| 精品日韩亚洲AV无码 | 亚洲中文字幕无码爆乳AV| 国产成人无码av片在线观看不卡|