TW201644255A - 用於壓縮經由網路所接收之資料的方法及設備 - Google Patents

用於壓縮經由網路所接收之資料的方法及設備 Download PDF

Info

Publication number
TW201644255A
TW201644255A TW105102082A TW105102082A TW201644255A TW 201644255 A TW201644255 A TW 201644255A TW 105102082 A TW105102082 A TW 105102082A TW 105102082 A TW105102082 A TW 105102082A TW 201644255 A TW201644255 A TW 201644255A
Authority
TW
Taiwan
Prior art keywords
data
compression
values
computing system
module
Prior art date
Application number
TW105102082A
Other languages
English (en)
Other versions
TWI600305B (zh
Inventor
鐘濤
克許提杰A 杜許
鄧剛
婁珽
盧中延
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201644255A publication Critical patent/TW201644255A/zh
Application granted granted Critical
Publication of TWI600305B publication Critical patent/TWI600305B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6076Selection between compressors of the same type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • H03M7/6088Selection strategies according to the data type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本發明揭露與來自一或多個運算裝置之壓縮資料相關聯的方法、設備以及儲存媒體。在不同實施例中,一或多個物聯網(IoT)裝置可傳送資訊至一運算系統。該運算系統可基於一共享屬性將從該等一或多個IoT裝置接收之原始資料群組在一起。該運算系統可選擇一壓縮方案以表示由一群組該原始資料傳遞的知識。該運算系統可將此壓縮方案應用於該群組原始資料以產生代表該群組原始資料的資料。其他實施例可被揭露或請求。

Description

用於壓縮經由網路所接收之資料的方法及設備
本發明係有關於用於壓縮經由網路所接收之資料的方法及設備。
此處提供之背景描述係為了一般地呈現本揭露內容之脈絡的目的。除非此處另有指示,否則於此節中描述之內容材料對本案之申請專利範圍而言不為先前技術,且亦不因被包含於此節中而被承認為先前技術。
來自不同計算裝置的資料可以前所未有的速度串流。隨著數以百萬計的裝置可能多次地發送資料(例如以每秒、每分鐘數次的速度,等等),而必須被處理、編索引、及儲存之資料的容量在供給儲存容量及頻寬上引發嚴重的經濟及技術障礙。
壓縮可為管理如此大量資料的一種方法。在壓縮中,原本資料可使用一減少數量的位元被儲存。壓縮可為有損或無損的。在有損壓縮中,用來儲存原本資料所需的位元數量可藉由捨棄“不重要的”資料而減少。在無損壓縮中,原本資料可藉由消除統計上冗餘的資料而壓縮,使得資料可解壓縮至其確切的原始值。然而,壓縮仍然要求可 觀的儲存容量,也因此會探討替代之資料儲存減少的方法。
依據本發明之一實施例,係特定提出一種用於處理來自物聯網(IoT)裝置的原始資料之運算系統,該系統包含:網路介面電路,用以透過一網路從該等IoT裝置接收該原始資料;一或多個處理器;實體記憶體,其與該等一或多個處理器耦接,用以儲存因為藉由該等一或多個處理器的執行而要被載入至該實體記憶體內之一壓縮模組;以及該壓縮模組,其與該網路介面電路耦接,用以:基於與該等IoT裝置之至少一IoT裝置相關聯的至少一屬性而群組被包括於該原始資料中之數值;基於該群組之該等數值選擇至少一壓縮方案;基於被選擇之該至少一壓縮方案對該群組之該等數值的應用產生代表資料。
100‧‧‧環境
102a-b,420‧‧‧裝置
104a-b‧‧‧原始資料
110‧‧‧資料壓縮系統
140‧‧‧查詢
142‧‧‧結果
150‧‧‧外部運算系統
200‧‧‧資料壓縮系統
202‧‧‧處理器
204‧‧‧記憶體
206,400‧‧‧壓縮模組
208‧‧‧解壓縮模組
210‧‧‧查詢處理模組
230‧‧‧網路介面
234‧‧‧網路
240‧‧‧儲存體
242,300‧‧‧壓縮表
304,604‧‧‧元資料
306‧‧‧索引資料
308‧‧‧記錄資料
402‧‧‧資料群組模組
404‧‧‧聚合監視器模組
406‧‧‧記錄聚合器
412‧‧‧表元資料
414‧‧‧暫態群組資料
416‧‧‧表資料
422,502,602‧‧‧原本記錄
424‧‧‧群組屬性
426‧‧‧聚合屬性
428‧‧‧聚合策略
432‧‧‧代表資料
434‧‧‧合格群組
436‧‧‧群組記錄
504,608‧‧‧聚合計錄
506,610‧‧‧壓縮方案
702‧‧‧讀數
804‧‧‧線性趨勢線
906‧‧‧二次線
1008‧‧‧第一線性函數線
1010‧‧‧第二線性函數線
1012‧‧‧第三線性函數線
1120‧‧‧數值
1200‧‧‧方法
1205,1210,1215,1220,1225‧‧‧操作
本發明之實施例將以說明在隨附的圖式中之示例性實施例的方式描述,但不為限制,其中圖式中類似的引用表示相似之元件,且其中:圖1係說明一示例環境之一區塊圖,根據不同實施例,該示例環境包括用於壓縮接收來自多個裝置的資料之一系統。
圖2係說明一資料壓縮系統之區塊圖,根據不同實施例,該資料壓縮系統包括用於資料壓縮、資料解壓縮及查詢處理之模組。
圖3係說明一示例壓縮表之區塊圖,根據不同實施例, 該示例壓縮表用以儲存代表資料。
圖4係說明一示例操作之一區塊圖,根據不同實施例,該示例操作與來自多個裝置之資料的壓縮相關聯。
圖5係說明代表資料之產生的一示例之一區塊圖,其根據不同實施例。
圖6係說明代表資料之產生的另一示例之一區塊圖,其根據不同實施例。
圖7係說明一組讀數之圖表,根據不同實施例,該組讀數來自至少一物聯網裝置。
圖8係說明一線性函數的圖表,根據不同實施例,該線性函數擬合到來自至少一物聯網裝置之一組讀數。
圖9係說明一二次函數的圖表,根據不同實施例,該二次函數擬合到來自至少一物聯網裝置之一組讀數。
圖10係說明一分段的圖表,根據不同實施例,該分段擬合到來自至少一物聯網裝置之一組讀數。
圖11係說明數值之示例表示形式的圖表,根據不同實施例,該表示形式係基於與一主值的個別關係。
圖12係說明用於壓縮來自一或多個物聯網裝置之資料的方法之流程圖,其根據不同實施例。
說明性實施例的不同方面將會使用由此領域熟習技術者通常採用的用語來描述以傳遞其工作之實質內容給其他此領域熟習技術者。然而,對於那些此領域熟習技術者而言,替代實施例可能僅會以某些所描述的方面實 行,將是顯而易見的。為了解釋為目的,特定的數目、材料,以及設定組態會被闡述以提供對說明性實施例的全面了解。然而,替代實施例可被實行而不需具體細節對於一個此領域熟習技術者而言將是顯而易見的。在其他例子中,已知的特徵係省略或簡化為了不隱晦該等說明性實施例。
不同作業將作為多重分立作業被描述,接著,以對了解該等說明性實施例最有幫助的方式;然而,描述之順序不應被解讀為暗示此些作業是必須依賴順序的。特別是此些作業不需以所呈現的順序被執行。此外,作為分離作業的作業描述不應被解讀為要求作業必須獨立地及/或藉由分離的實體來執行。作為分離模組的實體及/或模組的描述應該同樣不能被解讀為要求該等模組是分離的及/或執行分離的作業。在不同實施例中,所說明的及/或描述的作業、實體、資料及/或模組可被合併、分成進一步的子部分及/或省略。
用詞「在一個實施例中」或「在一實施例中」係多次被使用。該用詞一般不是指相同實施例,然而,依然可能指相同實施例。用詞「包含」、「具有」及「包括」係同義詞,除非上下文另有指定。用詞「A/B」意指「A或B」。用詞「A及/或B」意指「(A)、(B)或(A及B)」。用詞「至少一A、B及C」意指「(A)、(B)、(C)、(A及B)、(A及C)、(B及C)或(A、B及C)」。
圖1說明一示例環境100,根據本揭露之教示內 容,該示例環境包括用於壓縮接收來自多個裝置102a-b的資料之一系統110。環境100可包括,但不限制於,一或多個裝置102a-b、一外部運算系統150、以及一資料壓縮系統110,其可併入本揭露之教示內容。至少如顯示,裝置102a-b及外部運算系統150可例如,透過包括網際網路之一或多有線及/或無線網路通訊地與該資料壓縮系統110耦接。
在不同實施例中,每個裝置102a-b可為一物聯網(IoT)裝置。IoT裝置的例子包括手機、智慧型手機、醫療小工具、儀表或量計(例如能量、溫度、溼度、脈搏速率、壓力、電壓、電流量計等)、器具、載具(例如車輛網路(IoV)裝置)、或本質上組配來配合操作以在一網路上(例如網際網路)發送資料之一嵌入式運算裝置的任何其他裝置。在某些實施例中,IoT裝置可包括合作式行動裝置,諸如組配來分享資料、資源及/或處理功能的裝置。
在實施例中,裝置102a-b可組配來擷取包含多個值的原始資料。裝置102a-b可缺少儲存碟並可僅包括可保留用於記憶體之相對小容量之個別的NAND或NOR快閃。因此,資料壓縮可有效地表示由裝置102a-b擷取的原始資料。由裝置102a-b擷取的原始資料104a-b可預期地展示各種可利用於有效資料表示形式之特性:(1)有界偏差、(2)臨界值靈敏度及(3)歪斜。
關於有界偏差,數值的變化包含來自裝置102a-b的原始資料104a-b係在小的時間週期內頻繁地在幅 值上受限。也就是,由該等裝置102a-b之一者讀取的相對大的數值變化可偶爾發生,但在相對小的時間週期中之相對小的數值變化是可以預期的。該等裝置102a-b可組配以在相對較短的時間週期中適應及/或補償不同的讀數。例如,甲烷(CH4)及/或二氧化碳(CO2)排放率可由該等裝置102a-b之一者所讀取以及數值的振盪可在,例如,一晝間循環中被偵測。同樣地,該等裝置102a-b之一者可被組配來偵測溫度,且該偵測之溫度可逐秒地逐漸變化。
關於臨界值靈敏度,由裝置102a-b之一者所偵測之一訊號為了傳遞資訊可超過在任一方向上相對於一中央值的一臨界數值。在實施例中,該等裝置102a-b可包括個別的靈敏度臨界值。例如,該等裝置102a-b之一者可為組配來偵測交通的一相機。該等裝置102a-b之該者擷取車牌、駕駛者臉孔等等的能力(例如解析度),對於交通分析來說可能不是適切的;反之,一交通擁塞的相對變化可能對於交通分析來說是有用的(例如原始資料104a-b可傳遞而不論在一段時間內交通已增加了一臨界值百分比)。
關於歪斜,裝置102a-b可傳遞指示大多數圍繞靠近一中央值的一或多個帶之原始資料104a-b,而其他在更加遠離該中央值的帶上之由該原始資料104a-b傳遞的數值則可能相對地罕見。例如,一普遍常見的常態分佈可在±σ帶上具有68.2%的質量及在平均值左右±2σ具有95.4%的質量。歪斜的偏差的盛行率指示小數量的量化對於擷取關鍵的資料漸層是足夠的。
有界偏差、臨界值靈敏度、及/或歪斜的概念可利用於有效資料表示形式。在實施例中,一或多個壓縮方案可基於一或多個有界偏差、臨界值靈敏度、及/或歪斜。例如,將歪斜與臨界值靈敏度組合可有利於包含足夠來偵測臨界數值交叉之一粗粒度點陣圖的一壓縮方案。
在實施例中,每個裝置102a-b可發送原始資料104a-b至資料壓縮系統110。例如該等裝置102a-b可以一相對上高的速率(例如每秒或每分鐘許多次)串流該原始資料104a-b至該資料壓縮系統110。
除了本揭露之教示內容外,資料壓縮系統110可為一邊界裝置。邊界裝置的示例包括路由器、路由交換器、整合接取裝置(IAD)、多工器等等。在另外的實施例中,該資料壓縮系統110可通訊地與一或多個邊界裝置耦接以從裝置102a-b接收原始資料104a-b。在此類實施例中,該資料壓縮系統110可被包括於一伺服器、一桌上型電腦、一筆記型電腦、或本質上適配來透過一網路發送訊號之任何其他電腦裝置中。
根據實施例,資料壓縮系統110可組配來應用至少一壓縮方案至原始資料104a-b以表示該原始資料104a-b。該原始資料104a-b的壓縮可允許一編界裝置保留更多資料而不用與一區塊裝置(例如諸如一硬式磁碟驅動器的一儲存裝置、CD-ROM驅動器、及/或驅動器)通訊。
在不同實施例中,資料壓縮系統110可包含電路及/或邏輯元件來基於與至少一裝置102a-b相關聯的至少一 屬性群組包括在原始資料104a-b中的數值。該資料壓縮系統110可基於群組的該等數值選擇至少一壓縮方案以及基於選擇之該至少一壓縮方案至群組的該等數值之應用來產生代表資料。因此,該資料壓縮系統110可選擇並應用域適合的壓縮方案。此外,該資料壓縮系統110可經由,例如,動態選擇一壓縮方案來適應於域及/或原始資料104a-b。該資料壓縮系統110可組配來將該代表資料儲存在,例如,包括在該資料壓縮系統110中或是與其通訊地耦接的一資料庫表中。
環境100可進一步包括一外部運算系統150。根據實施例,該外部運算系統150可以為一伺服器、一桌上型電腦、一筆記型電腦、或本質上適配來透過一網路發送訊號之任何其他電腦裝置中。該外部運算系統150可組配來發送一或多個查詢140至該資料壓縮系統110。在不同實施例中,該等一或多個查詢140可為,例如,資料庫查詢。
響應於該等一或多個查詢140,該資料壓縮系統110可組配來識別響應資料以作為結果142發送至該外部運算系統150。在一些實施例中,該資料壓縮系統110可從原始資料104a-b識別原始資料以作為響應資料並將其作為結果142發送至該外部運算系統150。
在一些實施例中,資料壓縮系統110可組配來基於代表資料產生響應資料。根據不同實施例,該代表資料可包括如何產生該響應資料之諸如一函數及/或一點陣圖 索引的一指示。基於此查詢,該資料壓縮系統110可識別代表資料並基於該代表資料產生響應資料以作為結果142發送至外部運算系統150。例如,該資料壓縮系統110可基於該代表資料及/或由該代表資料所指示之一函數的應用經由一隨機演算法產生用於內插之響應資料。
現在轉到圖2,一區塊圖說明一資料壓縮系統200,根據不同實施例,該資料壓縮系統200包括用於資料壓縮、資料解壓縮及查詢處理之模組206、208、210。該資料壓縮系統200可為如說明於圖1中之資料壓縮系統110的一實施例。
如同顯示,對於所說明之實施例,該資料壓縮系統200可包括至少如顯示之互相耦接的一或多個處理器202、記憶體204及一網路介面230。該處理器202可組配來執行從記憶體204載入之一壓縮模組206、一解壓縮模組208及一查詢處理模組210的指令。該壓縮模組206、解壓縮模組208及查詢處理模組210可以軟體、硬體、韌體或其組合的形式實作。
處理器202意在代表諸如具有不同執行速度及功率消耗的單一或多核心處理器之範圍廣泛的處理器。同樣地,記憶體204意在代表具有一或多個快取層級之不同架構、以及具有諸如動態隨機存取、快閃等等之不同類型的記憶體。在一些實施例中,該處理器202及該記憶體204(連同額外的元件)可整合進諸如一單晶片系統(SoC)中。
網路介面230可包含發送電路及/或接收電路。該網路介面230可組配來透過任何數目之不同的有線及/或無線網路發送及/或接收資料。因此,一或多個網路234意在代表本領域已習知的一範圍廣範的網路。網路234之示例可包括有線或無線、本地或廣域、私人或公開的網路,包括網際網路。
資料壓縮系統200可包括或可通訊地與儲存體240耦接(例如透過網路234)。該儲存體240意在代表任何合適於儲存壓縮資料的儲存媒體。儲存體240的示例包括快閃(例如NAND快閃)、電子可抹除可規劃唯讀記憶體(EEPROM)、硬式磁碟驅動器(HDD)等等。在一些實施例中,該儲存體240可包含一資料庫。該儲存體240可包括多個壓縮表242,例如,如在資料庫中的表。儲存體240可組配以儲存原始及壓縮資料兩者。
在不同實施例中,網路介面230可組配來透過網路234接收,並處理來自一或多個IoT裝置的原始資料。壓縮模組206可藉該網路介面230被提供予此原始資料。該壓縮模組206可組配來識別共通於包含該原始資料的多個數值的、以及與從該原始資料被接收的該等一或多個IoT裝置相關聯的至少一屬性。例如,該壓縮模組206可組配來偵測與一IoT裝置(例如一裝置ID)相關聯的一識別器,使得該壓縮模組206可與來自一相同IoT裝置的數值群組在一起。
根據實施例,壓縮模組206可組配來決定包含將 被群組在一起的原始資料之數值的數量。第一多個聚合的數值可在一離散範圍內,並因此可有利於使用一第一壓縮方案的壓縮,然而另外的多個數值可為相異的,並因此將更加地合適於另外的壓縮方案。
在實施例中,壓縮模組206可組配以決定要來代表第一多個數值的一壓縮方案。一壓縮方案可為任何試圖透過減少實際消息理論上的內容而不影響有意義資料的使用來減少由原始資料消耗的儲存量。
壓縮方案的示例包括函數擬合、分段擬合、與主值的關係,及點陣圖索引壓縮。在一函數擬合壓縮方案中,壓縮模組206可組配來建構一函數(例如一線性或二次函數)以聚合數值。同樣地,對於一分段壓縮方案,該壓縮模組206可組配來將一分段線性函數適於聚合數值或多組聚合數值。
關於基於與一主值之關係的壓縮方案,壓縮模組206可基於數值與一主值個別的關係代表該等數值。例如,該壓縮模組206可選擇係一組聚合數值之平均值的一主值且每個聚合數值可由其離該主值的百分比偏差來代表。在另外的實施例中,該壓縮模組206可觀察到聚合數值係於諸如一平均值μ的一主值附近叢集。基於聚合數值,該壓縮模組206可識別一標準差σ。因此,聚合數值可由離一平均值μ之一標準差σ(或其倍數)內之數值的數目來代表。
關於基於一點陣圖索引之壓縮方案,壓縮模組 206可組配來基於聚合數值填入一或多個點陣圖行或列。例如,可有八個可能帶,而與一群組相關聯的一屬性可被分佈於其上。在一實施例中,一八行點陣圖索引可基於數值填入以指示一群組的聚合數值。在另外的實施例中,例如若歪斜是高的,則一單行點陣圖索引可用來代表該等聚合數值以指示每個數值是否發生於一高密度帶中(一額外行可被填入以指示一屬性根本有無發生)。
壓縮模組206可組配來響應於接收原始資料動態地選擇一壓縮方案。在不同實施例中,壓縮模組206可組配來聚合包含該原始資料的數值以及可組配來針對數值的不同聚合選擇不同壓縮方案。例如,該壓縮模組206可組配來針對來自一IoT裝置之原始資料的一長、平靜的部分選擇一第一壓縮方案,但針對來自相同IoT裝置之原始資料的一抖動的部分切換至一第二壓縮方案,並最終針對原始資料的一第三部分返回至該第一壓縮方案。在另外的實施例中,該壓縮模組206可將一函數擬合壓縮方案應用於一群組的數值之一或多個部分,但可適應性地混入偏差編碼至在資料擬合上的模組精確度。
壓縮模組206可組配來將至少一選擇之壓縮方案應用於諸如一組聚合數值之多個數值。應用選擇之壓縮方案至多個數值可導致該壓縮模組206產生代表資料。由該壓縮模組206產生的代表資料根據選擇的該壓縮方案可為變化的。例如,該代表資料可為一函數、一點陣圖索引、一主值等等。該代表資料可進一步包括一包含由該代表資 料代表的原始資料之數值的數目之指示。在實施例中,該壓縮模組206可進一步產生該代表資料以包括諸如一最小值、最大值等等的其他數值。
壓縮模組206可組配來儲存代表資料於儲存體240中,例如,於至少一壓縮表242中。因為該壓縮模組206可組配來將變化的壓縮方案應用於一組不同的數值,該壓縮模組206可組配來儲存不同代表資料於一或多個壓縮表242的不同行中或甚至不同代表資料於該等壓縮表242之一者的一相同行中。
在一些實施例中,壓縮模組206可組配來儲存原始資料於儲存體240中。例如,若該壓縮模組206無法選擇一壓縮方案及/或決定某原始資料不適合用於壓縮,該壓縮模組206可組配來儲存該原始資料於該儲存體240中。然而,在一實施例中,該壓縮模組206可組配來丟棄原始資料,例如在代表資料被產生來指示該原始資料後。
壓縮模組206可進一步組配來將資料壓縮應用於原始資料及/或代表資料之一或兩者。例如,該壓縮模組206可組配來將點陣圖壓縮(例如字對齊混合)應用於代表資料之一點陣圖索引。
在不同實施例中,網路介面230可組配來透過網路234接收並處理來自一外部運算系統之一或多個查詢。在不同實施例中,該查詢可包含對與一或多個IoT裝置相關聯之資料的一請求。例如,一查詢可根據哪些原始資料可能已經被群組(例如與代表資料相關聯的一屬性)來指示 一屬性。在不同實施例中,該查詢可包含一資料庫查詢。
查詢處理模組210可組配來從網路介面230接收一或多個查詢。在不同實施例中,該查詢處理模組210可包含一資料庫管理系統(DBMS)。DBMS的例子包括總部設於加州聖塔克拉拉的甲骨文公司的Oracle、PostgresSQL全球開發組的Postgres,以及總部設於馬里蘭州森林山丘的阿帕契(Apache)軟體基金會的Hbase。然而,該查詢處理模組210可組配來基於對處理器202、記憶體204及/或儲存體240相對上嚴格的要求而使用,例如,其中資料壓縮系統200被包括在具有受限處理器及/或記憶體頻寬的一邊界裝置中。
在一些實施例中,查詢處理模組210可組配來基於一查詢存取儲存體240。例如,該查詢處理模組210可組配來響應具原始資料的一查詢。如此,該查詢處理模組210可組配來響應一「取回所有」查詢使得所有資料係藉由該儲存體240而回傳。
在不同實施例中,查詢處理模組210可組配來與解壓縮模組208互動,例如,用以取回資料以響應一查詢。該解壓縮模組208可組配來基於儲存於該等壓縮表242中之一者中的代表資料產生資料(如響應資料)。例如,該解壓縮模組208可組配來基於儲存於該等壓縮表242中之一者中的代表資料產生一組數值,且該代表資料可指示要產生的該數值之數目。在實施例中,該解壓縮模組208可能不會完全地複製原始資料的數值;然而該解壓縮模組208 可解壓該代表資料使得顯著資料,例如,為了分析而被產生。
在一實施例中,解壓縮模組208可組配來基於一函數產生數值。例如,代表資料可包含一函數以及對於該函數是有效的數值之數目。據此,該解壓縮模組208可組配來使用該函數產生該數值之數目並提供該等數值至查詢處理模組210以作為響應於一查詢之資料。同樣地,對於一分段壓縮方案,該解壓縮模組208可組配來使用一分段線性函數產生多個數值。
關於基於與一主值之關係的壓縮方案,解壓縮模組208可基於其與一主值個別的關係產生數值。例如,代表資料可包括一主值、由該代表資料所代表之數值的數目之一指示,以及針對來自該主值的該等數值之各者的個別偏差。因此,該解壓縮模組208可基於來自該主值的每個偏差計算該數值的數目之每個數值。
在另外的實施例中,解壓縮模組208可組配來基於代表資料內插數值。例如,該解壓縮模組208可組配來基於限制每個產生之隨機數值離主值一偏差內(或其倍數)的一隨機函數產生數值。
關於包含一點陣圖索引之代表資料,解壓縮模組208可組配來基於以聚合數值為基礎的行或列產生數值。例如,該解壓縮模組208可組配來基於指示此等數值是否發生於原始資料的一或多個帶中之一或多個點陣圖而在該等一或多個帶中產生數值。
解壓縮模組208可組配來基於代表資料(例如產生之資料)之解壓提供資料給查詢處理模組210。因此,該查詢處理模組210可組配來響應一或多個查詢連同由該解壓縮模組208提供的該資料。
現在參照至圖3,依據本揭露內容之不同實施例,一區塊圖說明用於儲存代表資料之一示例壓縮表。關聯於圖2中所述之實施例,壓縮表300可為該等壓縮表242之一者的一實施例且該壓縮模組206可組配來填入資料於該壓縮表300中。
在實施例中,壓縮表300可由多個結構所組成:元資料304、索引資料306以及記錄資料308。該元資料304可描述該壓縮表300如何被儲存及/或組織。該元資料304可包括一元資料結構(或映射),其包括描述策略、屬性及/或列表屬性之性質的資訊。
在一些實施例中,元資料304可描述一金鑰產生策略、一聚合策略、一資料排序策略、群組屬性及其性質,以及壓縮屬性及其性質。該金鑰產生策略可描述如何自動地產生用於一新紀錄之新的唯一金鑰,該新紀錄係一來自原始資料之資料的壓縮(例如代表資料)。該金鑰產生策略可指明一命名空間及在原始資料與代表資料間之金鑰的一映射。
元資料304之聚合策略可描述準則,藉由該準則原始資料被壓縮及/或作為原始資料被儲存。例如,一簡單的準則可包括一準則以針對一第一屬性壓縮十六個原始 資料的連續記錄或針對跨越一分鐘之另一屬性壓縮所有原始資料的紀錄。更複雜的準則可包括控制精確度損失的條件、從壓縮之代表偏差的幅度等等。資料排序策略可描述在一相同群組中之原始資料的紀錄在壓縮之前是如何排序的一例如,藉由時間戳記、原本金鑰值等等。
元資料304可進一步識別群組屬性及性質。一群組屬性可識別於其上執行壓縮之原始資料中的一屬性。一群組屬性的性質可包括其為何種資料類型以及其可經由壓縮轉換成一新屬性一例如,原始資料的單獨絕對幅度值可從一主值轉換成偏差。在實施例中,數值的壓縮可獨立地橫跨不同屬性且,因此,可能有多組屬性。
對於每組屬性,元資料304可識別與攜帶轉換數值之壓縮資料(例如代表資料)相關聯的一聚合屬性。聚合屬性的性質可包括壓縮之前及之後屬性的類型、一壓縮方案及一解壓方案,以及針對個別方案的參數。一壓縮方案可被明確地指出(例如「線性函數擬合」),或可藉由一組參數化規則(例如壓縮模組是如何選擇一壓縮方案的一指示,諸如一壓縮方案只有在保持該原始資料之準確度至大於或等於0.975時要被選擇的一指示)。在參數化規則的實施例中,一壓縮模組可基於原始資料決定何壓縮方案產出可接受的結果並將其用於壓縮。
在實施例中,索引資料306可維持適應於壓縮資料的不同索引系統使得合適的資料,例如,響應於一或多個查詢被解壓縮。因為壓縮在位元大小及儲存數值的數量 兩者上減少資料的容量,索引可在寬度上減少但攜帶更多深度。聚合屬性(儲存為部分記錄資料308)有效地可為一索引類型因為其透過一跨度總結資料並因此若總結顯示與一查詢之參數沒有交集時允許整個跨度被跳過。該索引資料306可包括諸如樹、試驗、雜湊、表索引,以及點陣圖索引。
記錄資料308可儲存壓縮資料(例如代表資料)。記錄資料308可進一步包括原始資料,例如,因為與存在之壓縮方案的一不合適匹配沒有被壓縮的原始資料。記錄資料308可進一步包含其他總結資料,諸如透過原始資料(例如最小值、最大值、基數、變異數等)收集之可運用於解壓縮及/或查詢處理的統計資料。例如,當範圍過濾(例如包括在一範圍上之一最小及一最大間的數值)透過一聚合屬性為可能時,統計資訊可促進過濾而不解壓縮。
轉到圖4,根據不同實施例,說明與來自多個IoT裝置420之資料的壓縮相關聯之一示例操作的一區塊圖。關聯於圖2,壓縮模組400可為壓縮模組206之一實施例且表資料416可為壓縮表242之一實施例。
在實施例中,當原始資料從該等多個IoT裝置420接收時,資料群組模組402可組配來根據如指示於表元資料412中之群組屬性424群組原始資料的紀錄(例如數值)。該資料群組模組402可針對暫態群組資料414儲存該原始資料的這些群組之原本記錄422於儲存體中。
隨後,一聚合監視器模組404可從表元資料412 接收一聚合策略428及使用該聚合策略428以選擇並從暫態群組資料414接收合格群組434。該聚合監視器模組404可接著提供該等合格群組434作為群組記錄436給一記錄聚合器406。該記錄聚合器406可應用來自該表元資料412之聚合屬性426以建立聚合記錄,諸如透過應用一壓縮方案以產生代表資料。更進一步地,該記錄聚合器406可使用來自該表元資料412之一金鑰產生策略來將聚合記錄與新金鑰相關聯。最後,該記錄聚合器406可將相關於金鑰關聯之聚合記錄儲存於表資料416中作為代表資料432。
關於圖5,根據不同實施例,說明代表資料之產生的一示例之一區塊圖。在實施例中,包含原始資料之原本記錄502可包括三欄位:一金鑰欄位(M_ID)、一群組屬性欄位(G),以及一屬性(A)。同樣地,包含代表資料之一聚合計錄504可包括三欄位:一聚合計錄之一新金鑰(A_ID)、該聚合計錄包含該群組屬性(G)以及壓縮屬性值(A’)。
在包含原始資料的原本記錄502中,具有相同群組屬性g1的所有原本記錄502係群組在一起。在說明實施例中,六十四筆包含原始資料的紀錄502包括十個唯一屬性值a1-a10。一壓縮方案506可應用於群組之原本記錄502以代表該六十四筆原本紀錄502之唯一屬性值a1-a10。該壓縮方案的應用可導致一聚合數值aggr(a1-a10)被產生。該聚合數值可儲存於包含代表資料之聚合計錄504中,以與新金鑰901210及群組屬性g1相關。
同樣地,依據不同實施例,圖6繪示說明基於原始資料的代表資料之產生的另一示例之一區塊圖。如所說明,包含來自一浮標感測器之原始資料的原本記錄602可包括三個欄位:一裝置識別欄位(Device_id)、一時間欄位(Time且其格式為yyyymmddhhmmss)、以及數值(波高Wave_height)。在所說明之實施例中,該原本記錄602可根據一單一裝置ID 1被群組,且二十五筆記錄602可透過一個一分鐘間隔被處理。
在實施例中,壓縮方案610可經應用於原本記錄602。該壓縮方案610之應用可基於能描述該壓縮方案610如何被應用及/或代表資料如何從其產生及/或儲存的元資料604。在所說明之實施例中,該元資料604可包括描述如何基於裝置ID及該原本記錄602的時間產生與代表資料相關聯之金鑰的一金鑰產生策略、描述該壓縮方案610要應用於的記錄之數目的一聚合策略、描述該等記錄要如何被排序(例如按時間依序)的一排序策略、描述透過其該等原本記錄被群組之一屬性以及該屬性是否在該壓縮方案610的應用期間受影響的一組屬性,以及描述要被應用之壓縮方案的類型(例如分段擬合)且該壓縮方案要應用於何欄位(例如波高)的其他聚合屬性。
基於壓縮方案610的應用,包含代表資料的一聚合記錄608被產生。該聚合記錄608可包括指示代表於該聚合記錄608中的浮標感測之一識別的一裝置ID欄位、指示代表於該聚合記錄608中之一時間與包含代表於該聚合記 錄608中之原始資料的原本記錄602之一數目的一時間欄位、以及針對經壓縮資料的一欄位。因為該壓縮方案係應用於該原本記錄602之該波高欄位,針對經壓縮資料的該欄位亦為波高。在此欄位中,透過該壓縮方案610之分段擬合產生了兩個函數:一個函數代表十筆該原本記錄602且另一函數代表十五筆該原本記錄602。其他統計資料可在此欄位中表示,像是一最小值、一最大值及/或可基於該代表資料被產生的數值之數目。
參照至圖7~10,依據不同實施例,多個圖形說明將不同壓縮方案應用於原本資料的結果。在圖7中,一圖形說明在垂直軸上來自一功率計之三個中第二區間上方的讀數702。來自該功率計之讀數702係以三十二點繪示出。該等讀數702指示該三個中第二區間上方一微幅上升趨勢,伴隨一些在該趨勢周圍之震盪。
在圖8中,繪示與圖7相同之資料但配合疊加之一線性趨勢線804。在該說明實施例中,該線性趨勢線804可為此函數:y=0.041x+24.97。因此,只擷取兩個參數可提供一壓縮途徑來代表三十二筆讀數702。透過以由該線性趨勢線804表示之一函數來代表該等讀數702的精確度損失可足夠以傳遞由該等讀數702指示的資訊。
同樣地,在圖9中,繪示與圖7相同之資料但配合一更加密合之二次擬合。在該說明實施例中,二次線906可為函數:y=-0.0029x2+0.136x+24.437。因此,擷取三個參數可提供一壓縮途徑來代表三十二筆讀數702。透過 以由該二次線906表示之一函數來代表該等讀數702的精確度損失可足夠以傳遞由該等讀數702指示的資訊。透過壓縮提供之儲存空間節省隨著資料之維度增加可顯著地混合。
同樣地,在圖10中,繪示與圖7相同之資料但配合分段線性擬合。在該說明實施例中,一第一線性函數線1008可為函數:y=0.0632x+24.437、一第二線性函數線1010可為函數:y=0.0803x+25.47、以及一第三線性函數線1012可為函數:y=0.0018x+25.91。因此,跨越三個線性函數擷取六個參數可提供一壓縮途徑來代表三十二筆讀數702。透過以由該分段線性函數表示之一函數來代表該等讀數702的精確度損失可足夠以傳遞由該等讀數702指示的資訊。在其他實施例中,一分段擬合在一些實例中可為負以達到與資料更接近之擬合。此外,為了達到更接近之擬合與資料縮減兩者,分段擬合的區間可為變動長度。
參照圖11,根據不同實施例,說明基於包含原始資料之數值與一主值之關聯性的壓縮方案之應用的圖形。在一些實施例中,諸如當讀數在一平均值周圍震盪時,函數可不與資料緊密地擬合。在圖11的實施例中,將數值表示為其與一主值(例如一平均數)之關係的一壓縮方案可明顯的減少儲存負擔。在此,作為離一平均值的百分比偏差之每個數值1120的代表係代表實際值所需的儲存體之一部份(例如八個位元可足夠以使用一縮放整數擷取DEV[x])。可採用其他未表示於圖7~11的圖形中之壓縮方 案,如一點陣圖索引。
現在參照到圖12,根據本揭露內容不同的實施例,說明用於壓縮從一或多個IoT裝置接收之資料的另一個方法1200之一流程圖。該方法1200可在本揭露內容所描述之諸如圖1~2之資料壓縮系統110及200的一或多個運算系統中實行。雖然該方法1200說明多個操作序列,一般技術者可認知該方法1200之一或多個操作可省略及/或轉置。
方法1200可以一操作1205開始,該操作1205用以藉一運算系統從一或多個IoT裝置透過一網路接收第一資料。在操作1210,該方法1200可包括識別對包括於該第一資料中之一第一多個數值為共通之與該等一或多個IoT裝置相關聯之一屬性。基於該等第一多個數值,操作1215可包括決定用來指示該等第一多個數值之一壓縮方案。因此,操作1220可包括將該壓縮方案應用於該等第一多個數值以建立壓縮資料。隨後,操作1225可包括儲存該壓縮資料於一資料庫之至少一表中。
在不同實施例中,示例1可為用於處理來自物聯網(IoT)裝置之原始資料的一運算系統,該系統包含:網路介面電路,以透過一網路從該等IoT裝置接收該原始資料;一或多個處理器;與該等一或多個處理器耦接之實體記憶體,用以儲存因為藉由該等一或多個處理器的執行而要被載入至該實體記憶體內之一壓縮模組;以及該壓縮模組,其與該網路介面電路耦接,用以:基於與該等IoT裝 置之至少一IoT裝置相關聯的至少一屬性而群組被包括於該原始資料中之數值;基於該群組之該等數值選擇至少一壓縮方案;基於被選擇之該至少一壓縮方案對該群組之該等數值的應用產生代表資料。示例2可為示例1之運算系統,進一步包含:一資料庫,其中該壓縮模組係用以將該代表資料儲存於該資料庫之一表中。示例3可為示例1之運算系統,其中該壓縮模組係用以捨棄該原始資料之該等數值。示例4可為示例1之運算系統,其中該等IoT裝置之至少一者係包括於一載具、一電話、一醫療裝置、或一儀表中。示例5可為示例1之運算系統,其中該運算系統係包括於一邊界裝置中或與該邊界裝置通訊地耦接。示例6可為示例1之運算系統,其中該壓縮模組係用以捨棄該群組之該等數值。示例7可為示例1~6之任一者之運算系統,其中該壓縮方案包括函數擬合,且該壓縮模組係用以將一函數擬合至該群組之該等數值。示例8可為示例1~6之任一者之運算系統,其中該壓縮方案包括來自一代表值之偏差。示例9可為示例8之運算系統,其中該壓縮模組係用以產生該代表資料以作為該群組之該等數值離該代表值之個別偏差。示例10可為示例8之運算系統,其中該壓縮模組係用以產生該代表資料以作為在一標準差內於該代表值周圍叢集的若干數值之一指示。示例11可為示例1~6之任一者之運算系統,其中該壓縮方案係基於一點陣圖索引,且該壓縮模組係用以基於該群組之該等數值填入與該點陣圖索引相關聯之至少一點陣圖。示例12可為示例1~6之任一者之 運算系統,其中該壓縮模組係用以儲存該原始資料之至少一部份。示例13可為示例1~6之任一者之運算系統,進一步包含:一查詢處理模組,其與該網路介面及該壓縮模組耦接並且由於藉由該等一或多個處理器的執行而要被載入至該實體記憶體內,用以:處理藉由該網路介面電路所接收之一查詢;基於該查詢識別響應資料,其中該響應資料係用以包括至少一原始資料或解壓縮資料;以及致使該網路介面電路用以傳送該響應資料。示例14可為示例13之運算系統,進一步包含:一解壓縮模組,其與該壓縮模組及該查詢處理模組耦接並且由於藉由該等一或多個處理器的執行而要被載入至該實體記憶體中,用以基於該代表資料產生該響應資料。示例15可為示例14之運算系統,其中該解壓縮模組係用以基於該代表資料或藉由該代表資料所指示之一函數的應用經由一隨機演算法產生用於內插之該響應資料。
在不同實施例中,示例16可為用於壓縮資料之一電腦實作方法,該方法包含:藉由一運算系統,從一或多個物聯網(IoT)裝置透過一網路接收第一資料;識別共通用以被包括於該第一資料中的一第一多個數值之與該等一或多個IoT裝置相關聯的一屬性;決定一壓縮方案,其係用以指示該等第一多個數值;將該壓縮方案應用於該等第一多個數值用以建立壓縮資料;以及將該壓縮資料儲存於一資料庫之至少一表中。示例17可為示例16之電腦實作方法,其中該壓縮方案之該應用包含:基於該屬性及該等第 一多個數值產生一點陣圖索引。示例18可為示例16之電腦實作方法,其中該壓縮方案之該應用包含:將一函數擬合至該等第一多個數值。示例19可為示例16~18任一者之電腦實作方法,進一步包含:透過該網路,接收針對與該等一或多個1oT裝置相關聯之資料的一請求;基於該請求及該壓縮資料決定響應資料;以及響應於該請求,透過該網路傳送該響應資料。示例20可為示例19之電腦實作方法,其中基於該請求決定該響應資料包含:基於該壓縮資料產生該響應資料。示例21可為示例16~18任一者之電腦實作方法,進一步包含:決定另一壓縮方案,其用以指示被包括在該第一資料中之一第二多個數值,其中該等第二多個數值具有與該等第一多個數值共通之該屬性;以及將其他壓縮方案應用於該等第二多個數值用以建立其他壓縮資料。
在不同實施例中,示例22可為包含運算裝置可執行指令之一或多個非暫態電腦系統可讀媒體,其中響應於藉由一運算系統之執行,該等指令致使該運算系統用以:處理從一或多個物聯網(IoT)裝置透過一網路接收之原始資料;基於與該等IoT裝置之至少一者相關聯之一共享屬性而群組來自該原始資料的第一資料;基於該第一資料選擇一壓縮方案;基於該壓縮方案應用於該第一資料產生第二資料;以及將該第二資料儲存於一資料庫中用以指示該第一資料。示例23可為示例22之一或多個非暫態電腦系統可讀媒體,其中該等指令進一步致使該運算系統用以: 處理從另一運算系統所接收之一請求;基於該第二資料及該請求產生與該等一或多個IoT裝置相關聯之第三資料;以及響應於該請求而傳送該第三資料至該另一運算系統。示例24可包括示例22~23任一者之一或多個非暫態電腦系統可讀媒體,其中用以產生該第二資料之該等指令包含指令用以:基於該第一資料填入至少一點陣圖,其中該點陣圖之至少一行係與該共享屬性相關聯。示例25可包括示例22~23任一者之一或多個非暫態電腦系統可讀媒體,其中用以產生該第二資料之該等指令包含指令用以:基於該第一資料選擇一平均值;以及基於與該平均值相關之該第一資料的數值產生該第二資料的數值。
在不同實施例中,示例26可為一設備,包含:藉由一運算系統,用以從一或多個物聯網(IoT)裝置透過一網路接受第一資料的構件;用以識別共通於包括於該第一資料中的一第一多個數值之與該等一或多個IoT裝置相關聯之一屬性的構件;用以決定用來指示該等第一多個數值之一壓縮方案的構件;用以將該壓縮方案應用於該等第一多個數值以建立壓縮資料的構件;以及用以將該壓縮資料儲存於一資料庫之至少一表中的構件。示例27可為示例26之設備,其中用以應用該壓縮方案之構件包含:用以基於該屬性及該等第一多個數值產生一點陣圖索引的構件。示例28可為示例26之設備,其中用以應用該壓縮方案之構件包含:用以將一函數擬合至該等第一多個數值的構件。示例29可為示例26~28之任一者之設備,進一步包含:用以 透過該網路,針對與該等一或多個IoT裝置相關聯之資料接收一請求的構件;用以基於該請求及該壓縮資料決定響應資料的構件;以及用以響應該請求,透過該網路傳送該響應資料的構件。示例30可為示例29之設備,其中基於該請求決定該響應資料的構件包含:用以基於該壓縮資料產生該響應資料的構件。示例31可為示例26~28任一者之設備,進一步包含:用以決定用來指示包括於該第一資料中的一第二多個數值之另一壓縮方案的構件,其中該等第二多個數值具有與該等第一多個數值共通之該屬性;以及用以將該另一壓縮方案應用於該等第二多個數值以建立其他壓縮資料的構件。
先前詳細描述的一些部份已依照關於一電腦記憶體內之資料位元的操作之演算法及符號表示形式展示。此等演算法及表示形式係由資料處理領域中熟習技術者所使用之方法以最有效地傳達其工作實質內容給其他此領域中熟習技術者。一演算法在此處,及通常地,被設想為導向一期望結果之自相一致的操作序列。該等操作係指彼等需要物理量的物理操控之操作。
應銘記,然而,所有所述之及相似的用語係要與合適的物理量相關聯且僅係應用於這些量的方便標號。除非明確地敘明否則如以上討論顯見般,應理解縱觀所述,使用諸如那些闡於以下申請專利範圍中之用語的討論涉及一電腦系統、或相似之電子運算裝置的動作或流程,其操作並轉換表示為電腦系統之暫存器與記憶體內的物理 (電子)量為相似地表示為該電腦系統記憶體或暫存器或其他像是資訊儲存、傳輸、或顯示裝置內之物理量的其他資料。
本發明之實施例亦相關於用以執行此處之操作的一設備。此類電腦程式係儲存於一非暫態電腦可讀媒體中。一機器可讀媒體包括用以藉一機器(例如一電腦)以一可讀取形式將資訊儲存的任何機構。舉例而言,一機器可讀取(例如電腦可讀取)媒體包括一機器(例如一電腦)可讀取儲存媒體(例如唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光儲存媒體、快閃記憶體裝置)。
先前圖式中繪示的流程或方法可藉包含硬體(例如電路、專用邏輯等)、軟體(例如實施於一非暫態電腦可讀媒體上)、或兩者之組合的處理邏輯執行。雖然流程或方法係依照一些操作序列敘述於上,應理解所述操作之一些可以不同順序執行。此外,一些操作可以平行而非序列的方式執行。
本發明之實施例非參照任何特定程式語言來敘述。應理解各種程式語言皆可用來實作如此處敘述之本發明實施例之教示。在前述的說明書中,本發明實施例已參照於其特定示範性實施例而描述。將為明顯的是可對其做出各種修改而不脫離如以下申請專利範圍所闡述之本發明更廣泛的精神及範圍。本說明書及圖式係,因此,要被視為說明性意義的而非狹義的。
200‧‧‧資料壓縮系統
202‧‧‧處理器
204‧‧‧記憶體
206‧‧‧壓縮模組
208‧‧‧解壓縮模組
210‧‧‧查詢處理模組
230‧‧‧網路介面
234‧‧‧網路
240‧‧‧儲存體
242‧‧‧壓縮表

Claims (25)

  1. 一種用於處理來自物聯網(IoT)裝置的原始資料之運算系統,該系統包含:網路介面電路,用以透過一網路從該等IoT裝置接收該原始資料;一或多個處理器;實體記憶體,其與該等一或多個處理器耦接,用以儲存因為藉由該等一或多個處理器的執行而要被載入至該實體記憶體內之一壓縮模組;以及該壓縮模組,其與該網路介面電路耦接,用以:基於與該等IoT裝置之至少一IoT裝置相關聯的至少一屬性而群組被包括於該原始資料中之數值;基於該群組之該等數值選擇至少一壓縮方案;基於被選擇之該至少一壓縮方案對該群組之該等數值的應用產生代表資料。
  2. 如請求項1之運算系統,進一步包含:一資料庫,其中該壓縮模組係用以將該代表資料儲存於該資料庫之一表中。
  3. 如請求項1之運算系統,其中該壓縮模組係用以捨棄該原始資料之該等數值。
  4. 如請求項1之運算系統,其中該等IoT裝置之至少一者係包括於一載具、一電話、一醫療裝置、或一儀表中。
  5. 如請求項1之運算系統,其中該運算系統係包括於一邊界裝置中或與該邊界裝置通訊地耦接。
  6. 如請求項1之運算系統,其中該壓縮模組係用以捨棄該群組之該等數值。
  7. 如請求項1之運算系統,其中該壓縮方案包括函數擬合,且該壓縮模組係用以將一函數擬合至該群組之該等數值。
  8. 如請求項1之運算系統,其中該壓縮方案包括來自一代表值之偏差。
  9. 如請求項8之運算系統,其中該壓縮模組係用以產生該代表資料作為該群組之該等數值離該代表值之個別偏差。
  10. 如請求項8之運算系統,其中該壓縮模組係用以產生該代表資料作為在一標準差內於該代表值周圍叢集的若干數值之一指示。
  11. 如請求項1之運算系統,其中該壓縮方案係基於一點陣圖索引,且該壓縮模組係用以基於該群組之該等數值填入與該點陣圖索引相關聯之至少一點陣圖。
  12. 如請求項1之運算系統,其中該壓縮模組係用以儲存該原始資料之至少一部份。
  13. 如請求項1之運算系統,進一步包含:一查詢處理模組,其與該網路介面及該壓縮模組耦接並且由於藉由該等一或多個處理器的執行而要被載入至該實體記憶體內,用以: 處理藉由該網路介面電路所接收之一查詢;基於該查詢識別響應資料,其中該響應資料係用以包括至少一原始資料或解壓縮資料;以及致使該網路介面電路用以傳送該響應資料。
  14. 如請求項13之運算系統,進一步包含:一解壓縮模組,其與該壓縮模組及該查詢處理模組耦接並且由於藉由該等一或多個處理器的執行而要被載入至該實體記憶體中,用以基於該代表資料產生該響應資料。
  15. 如請求項14之運算系統,其中該解壓縮模組係用以基於該代表資料或藉由該代表資料所指示之一函數的應用經由一隨機演算法產生用於內插之該響應資料。
  16. 一種用於壓縮資料之電腦實作方法,該方法包含:藉由一運算系統,從一或多個物聯網(IoT)裝置透過一網路接收第一資料;識別共通用以被包括於該第一資料中的一第一多個數值之與該等IoT裝置之一或多者相關聯的一屬性;決定一壓縮方案,其係用以指示該等第一多個數值;將該壓縮方案應用於該等第一多個數值用以建立壓縮資料;以及將該壓縮資料儲存於一資料庫之至少一表中。
  17. 如請求項16之電腦實作方法,其中該壓縮方案之該應用包含: 基於該屬性及該等第一多個數值產生一點陣圖索引。
  18. 如請求項16之電腦實作方法,其中該壓縮方案之該應用包含:將一函數擬合至該等第一多個數值。
  19. 如請求項16之電腦實作方法,進一步包含:透過該網路,接收針對與該等一或多個IoT裝置相關聯之資料的一請求;基於該請求及該壓縮資料決定響應資料;以及響應於該請求,透過該網路傳送該響應資料。
  20. 如請求項19之電腦實作方法,其中基於該請求決定該響應資料包含:基於該壓縮資料產生該響應資料。
  21. 如請求項16之電腦實作方法,進一步包含:決定另一壓縮方案,其用以指示被包括在該第一資料中之一第二多個數值,其中該等第二多個數值具有與該等第一多個數值共通之該屬性;以及將該另一壓縮方案應用於該等第二多個數值用以建立其他壓縮資料。
  22. 一種包含運算裝置可執行指令之一或多個非暫態電腦系統可讀媒體,其中響應於藉由一運算系統之執行,該等指令致使該運算系統用以:處理從一或多個物聯網(IoT)裝置透過一網路所接收之原始資料; 基於與該等IoT裝置之至少一者相關聯之一共享屬性而群組來自該原始資料的第一資料;基於該第一資料選擇一壓縮方案;基於該壓縮方案對該第一資料之應用產生第二資料;以及將該第二資料儲存於一資料庫中用以指示該第一資料。
  23. 如請求項22之一或多個非暫態電腦系統可讀媒體,其中該等指令進一步致使該運算系統用以:處理從另一運算系統所接收之一請求;基於該第二資料及該請求產生與該等一或多個IoT裝置相關聯之第三資料;以及響應於該請求而傳送該第三資料至該另一運算系統。
  24. 如請求項22之一或多個非暫態電腦系統可讀媒體,其中用以產生該第二資料之該等指令包含指令用以:基於該第一資料填入至少一點陣圖,其中該點陣圖之至少一行係與該共享屬性相關聯。
  25. 如請求項22之一或多個非暫態電腦系統可讀媒體,其中用以產生該第二資料之該等指令包含指令用以:基於該第一資料選擇一平均值;以及基於與該平均值相關之該第一資料的數值產生該第二資料的數值。
TW105102082A 2015-03-12 2016-01-22 用於壓縮經由網路所接收之資料的方法及設備 TWI600305B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/074093 WO2016141584A1 (en) 2015-03-12 2015-03-12 Method and apparatus for compaction of data received over a network

Publications (2)

Publication Number Publication Date
TW201644255A true TW201644255A (zh) 2016-12-16
TWI600305B TWI600305B (zh) 2017-09-21

Family

ID=56878704

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105102082A TWI600305B (zh) 2015-03-12 2016-01-22 用於壓縮經由網路所接收之資料的方法及設備

Country Status (5)

Country Link
US (2) US10015272B2 (zh)
EP (1) EP3269126A4 (zh)
CN (1) CN107409152B (zh)
TW (1) TWI600305B (zh)
WO (1) WO2016141584A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI770870B (zh) * 2021-03-11 2022-07-11 台灣優化水務股份有限公司 流體量時間變化模式數據編碼方法
US11886244B2 (en) 2017-05-04 2024-01-30 Modjoul, Inc. Wearable electronic belt device

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018002724A1 (en) * 2016-06-28 2018-01-04 Alcatel Lucent Method and apparatus for query selection and admission (qsa) optimization for iot and other applications
US10997504B2 (en) * 2016-11-03 2021-05-04 Business Objects Software Limited Knowledge-driven generation of semantic layer
CN108984574B (zh) 2017-06-05 2021-01-05 北京嘀嘀无限科技发展有限公司 数据处理方法及装置
CN110391873B (zh) 2018-04-20 2022-02-11 伊姆西Ip控股有限责任公司 用于确定数据传送方式的方法、装置以及计算机程序产品
WO2020030488A1 (en) * 2018-08-07 2020-02-13 Signify Holding B.V. Compressive sensing systems and methods using edge nodes of distributed computing networks
CN112534427A (zh) * 2018-08-07 2021-03-19 昕诺飞控股有限公司 在分布式计算网络的边缘节点中使用聚类和形状匹配来压缩传感器数据的系统和方法
CN109194746B (zh) * 2018-09-06 2021-03-26 贵州我联你联网络技术有限公司 基于物联网的异构信息处理方法
US11143545B2 (en) 2019-02-12 2021-10-12 Computational Systems, Inc. Thinning of scalar vibration data
US11474518B2 (en) 2019-05-13 2022-10-18 International Business Machines Corporation Event validation using multiple sources
CN112398750B (zh) * 2019-08-19 2024-02-06 无锡江南计算技术研究所 并行计算中作业启动数据压缩传递方法
US11669071B2 (en) 2020-01-08 2023-06-06 International Business Machines Corporation Organizing a temporary device group for collaborative computing
CN113452471A (zh) * 2020-03-26 2021-09-28 伊姆西Ip控股有限责任公司 用于数据处理的方法、电子设备以及计算机程序产品
CN111220876B (zh) * 2020-03-30 2022-12-06 厦门四信智慧电力科技有限公司 一种暂态录波数据压缩方法、装置、设备及存储介质
KR20220154596A (ko) * 2021-05-13 2022-11-22 현대자동차주식회사 M2m 시스템에서 대량의 데이터를 전달하기 위한 방법 및 장치
CN113973090B (zh) * 2021-10-18 2023-12-08 北谷电子股份有限公司 在通信网络中处理大数据的装置及方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001238365A1 (en) * 2000-02-15 2001-08-27 Orbcomm Global, L.P. Method for compression of small computer data files
US7796570B1 (en) * 2002-07-12 2010-09-14 Meshnetworks, Inc. Method for sparse table accounting and dissemination from a mobile subscriber device in a wireless mobile ad-hoc network
US7773632B2 (en) * 2005-12-08 2010-08-10 Intel Corporation Header compress/decompress framework
US8370586B2 (en) 2007-10-17 2013-02-05 Oracle America, Inc. Multivalue statistical compression of telemetric time series data in a bounded storage footprint
CN101854361B (zh) * 2010-05-21 2012-09-26 南京邮电大学 一种基于物联网的下一代互联网协议报头压缩方法
CN102375853A (zh) * 2010-08-24 2012-03-14 中国移动通信集团公司 分布式数据库系统、在其中建立索引的方法和查询方法
US9774668B2 (en) 2011-11-10 2017-09-26 Throughtek Co., Ltd. Communication system for establishing P2P connections and the corresponding devices using the same
TWI415034B (zh) 2011-06-22 2013-11-11 Nat Univ Chin Yi Technology Environmental monitoring methods and devices designed for the use of data fusion algorithms for cloud computing
US8892815B2 (en) * 2012-09-13 2014-11-18 Sandisk Technologies Inc. Optimized fragmented block compaction with a bitmap
TWI530105B (zh) * 2012-11-26 2016-04-11 財團法人資訊工業策進會 資料處理裝置及資料處理方法
EP2987092A1 (en) * 2013-04-17 2016-02-24 Longsand Limited Compacting data based on data content
CN103580871A (zh) * 2013-11-07 2014-02-12 江南大学 一种物联网数据传输方法及安全网关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886244B2 (en) 2017-05-04 2024-01-30 Modjoul, Inc. Wearable electronic belt device
TWI770870B (zh) * 2021-03-11 2022-07-11 台灣優化水務股份有限公司 流體量時間變化模式數據編碼方法

Also Published As

Publication number Publication date
US10701168B2 (en) 2020-06-30
CN107409152A (zh) 2017-11-28
US20190173970A1 (en) 2019-06-06
WO2016141584A1 (en) 2016-09-15
CN107409152B (zh) 2021-10-15
EP3269126A4 (en) 2018-09-05
US20170041419A1 (en) 2017-02-09
EP3269126A1 (en) 2018-01-17
TWI600305B (zh) 2017-09-21
US10015272B2 (en) 2018-07-03

Similar Documents

Publication Publication Date Title
TWI600305B (zh) 用於壓縮經由網路所接收之資料的方法及設備
US20180357111A1 (en) Data center operation
KR102520110B1 (ko) 데이터베이스 쿼리 처리를 향상시키기 위한 프루닝 인덱스
US9298774B2 (en) Changing the compression level of query plans
US11380005B2 (en) Methods, systems and apparatus to optimize pipeline execution
US10019457B1 (en) Multi-level compression for storing data in a data store
CN108932257B (zh) 多维度数据的查询方法及装置
CN111061758B (zh) 数据存储方法、装置及存储介质
US20230144100A1 (en) Method and apparatus for managing and controlling resource, device and storage medium
CN110750529B (zh) 数据处理方法、装置、设备及存储介质
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
US11996868B2 (en) Adaptive delta compression for timeseries data
CN104102646B (zh) 数据处理的方法、装置及系统
CN111078723A (zh) 一种区块链浏览器的数据处理方法及装置
CN107423425A (zh) 一种对k/v格式的数据快速存储和查询方法
CN116991800A (zh) 文件获取系统、方法、装置、计算机设备和存储介质
CN115905168A (zh) 自适应压缩方法和压缩装置、计算机设备、存储介质
Lian et al. Sql or nosql? which is the best choice for storing big spatio-temporal climate data?
CN109063201B (zh) 一种基于混合存储方案的impala在线交互式查询方法
US11971856B2 (en) Efficient database query evaluation
CN116881310B (zh) 一种大数据的集合计算方法及装置
US20240220456A1 (en) Efficient database query evaluation
WO2020078395A1 (zh) 数据存储方法、装置及存储介质
CN115269539A (zh) 数据存储方法及装置、电子设备、存储介质
CN117667825A (zh) 远程直接内存访问方法、装置、设备和存储介质

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees