CN116567079A - 数据压缩方法及装置 - Google Patents
数据压缩方法及装置 Download PDFInfo
- Publication number
- CN116567079A CN116567079A CN202210113903.5A CN202210113903A CN116567079A CN 116567079 A CN116567079 A CN 116567079A CN 202210113903 A CN202210113903 A CN 202210113903A CN 116567079 A CN116567079 A CN 116567079A
- Authority
- CN
- China
- Prior art keywords
- compression
- data items
- policy
- data
- network device
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
公开了一种数据压缩方法和装置。该方法包括:管理设备接收来自第一网络设备的消息,消息包括多个第一数据项,多个第一数据项与多条记录的对应关系为一一对应,多个第一数据项分别来自于对应的记录;管理设备基于多个第一数据项确定第一压缩策略;以及管理设备向第一网络设备发送第一压缩策略。以此方式,本申请的实施例中的管理设备能够针对多条记录对应的数据项来确定压缩策略,更能够考虑对应的多个数据项之间的冗余,从而使得压缩率更高,这样能够使得压缩后的数据占用较小的带宽,节省成本。
Description
技术领域
本申请涉及计算机网络领域,更具体地,涉及一种数据压缩方法及装置。
背景技术
在通信网络中,诸如分布式探针之类的网络设备需要向诸如云安全中心之类的管理设备上传数据。这些数据涉及网络场景中的各个方面,数据量较大。因此,需要将这些数据进行压缩处理,并传输压缩之后的数据,以降低交互数据对带宽的占用。
发明内容
本申请提供了一种数据压缩的方案,针对多条记录对应的多个数据项使用相同的压缩策略,能够提升压缩率,进而减小带宽占用。
在本申请的第一方面,提供了一种数据压缩方法。该方法可以由管理设备执行。管理设备接收来自第一网络设备的消息。消息包括多个第一数据项。多个第一数据项与多条记录的对应关系为一一对应,多个第一数据项分别来自于对应的记录。管理设备基于多个第一数据项确定第一压缩策略,并向第一网络设备发送第一压缩策略。
以此方式,管理设备能够针对多条记录对应的数据项来确定压缩策略,更能够对应的数据项之间的冗余,从而使得压缩率更高,这样能够使得压缩后的数据占用较小的带宽,节省成本。
在第一方面的一种实施方式中,多个第一数据项是基于第二压缩策略被压缩的,管理设备使用第二压缩策略对多个第一数据项进行解压。
以此方式,管理设备可以基于压缩策略对数据项进行解压,从而能够得到正确的数据项。
在第一方面的一种实施方式中,管理设备确定第二压缩策略,并向网络设备发送第二压缩策略。
在第一方面的一种实施方式中,管理设备接收来自网络设备的第二压缩策略,该第二压缩策略由网络设备确定。
在第一方面的一种实施方式中,管理设备基于多个第一数据项确定第一压缩策略包括:当满足条件时,管理设备基于经解压的多个第一数据项确定第一压缩策略。
在第一方面的一种实施方式中,条件包括:管理设备在确定第二压缩策略后所经过的时长达到或超过预设时长。以此方式,管理设备能够周期性地确定压缩策略,以实现对压缩策略的更新。
在第一方面的一种实施方式中,条件包括:用于确定第二压缩策略的多个数据项的数据类型与所述多个第一数据项的数据类型不同,或者,用于确定第二压缩策略的多个数据项的分布特征和多个第一数据项的分布特征不同。以此方式,管理设备能够在数据项的类型或分布特征发生变化时更新压缩策略,从而使得所使用的压缩策略能够适应于数据项的类型或分布特征,实现更大的压缩率。
在第一方面的一种实施方式中,管理设备向第一网络设备发送第一压缩策略包括:当第一压缩策略与第二压缩策略不同时,管理设备向第一网络设备发送第一压缩策略。以此方式,在确定压缩策略发生变化时,再将重新确定的压缩策略发送到网络设备,这样能够节省信令开销,减小带宽的占用,降低成本。
在第一方面的一种实施方式中,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。
在第一方面的一种实施方式中,第一压缩算法或第二压缩算法包括以下至少一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
以此方式,压缩算法不仅包括单个压缩方式,还可以包括至少两个不同压缩方式的结合,这样能够实现更大的压缩率。
在第一方面的一种实施方式中,管理设备向第二网络设备发送第一压缩策略,以使得第二网络设备基于第一压缩策略压缩多个第二数据项。多个第二数据项的数据类型与多个第一数据项的数据类型相同。
以此方式,基于一个网络设备所确定的压缩策略还能够被用于其他的网络设备,避免针对每个网络设备分别确定压缩策略导致的资源占用,这样能够实现管理设备处的资源有效利用。以此方式,当管理设备处还未收集到第二网络设备的数据或未收集到足够的第二网络设备的数据时,管理设备可以基于与第二网络设备具有相同数据类型的其他网络设备的数据确定第二网络设备使用的压缩策略,以使得第二网络设备可以立即基于该压缩策略压缩数据,节省带宽。
在本申请的第二方面,提供了一种数据压缩方法。该方法可以由网络设备执行。网络设备向管理设备发送消息,并接收来自管理设备的第一压缩策略。消息包括多个数据项,多个数据项与多条记录的对应关系为一一对应,多个数据项分别来自于对应的记录。第一压缩策略是基于多个数据项被确定的。
在第二方面的一种实施方式中,网络设备使用第二压缩策略压缩数据项,其中消息包括经压缩的数据项。
在第二方面的一种实施方式中,网络设备接收来自管理设备的第二压缩策略。
在第二方面的一种实施方式中,网络设备确定第二压缩策略,并向管理设备发送第二压缩策略。
在第二方面的一种实施方式中,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。
在第二方面的一种实施方式中,第一压缩算法或第二压缩算法包括以下至少一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
在本申请的第三方面,提供了一种数据压缩装置。该装置包括:接收模块、确定模块和发送模块。该接收模块被配置为接收来自第一网络设备的消息。消息包括多个第一数据项,多个第一数据项与多条记录的对应关系为一一对应,多个第一数据项分别来自于对应的记录。该确定模块被配置为基于多个第一数据项确定第一压缩策略。该发送模块被配置为向第一网络设备发送第一压缩策略。
在第三方面的一种实施方式中,多个第一数据项是基于第二压缩策略被压缩的,装置还包括解压模块,被配置为使用第二压缩策略对多个第一数据项进行解压。
在第三方面的一种实施方式中,确定模块被配置为:当满足条件时,基于经解压的多个第一数据项确定第一压缩策略。
在第三方面的一种实施方式中,条件包括:在确定第二压缩策略后所经过的时长达到或超过预设时长。
在第三方面的一种实施方式中,条件包括:用于确定第二压缩策略的多个数据项的数据类型与所述多个第一数据项的数据类型不同。
在第三方面的一种实施方式中,条件包括:用于确定第二压缩策略的多个数据项的分布特征和多个第一数据项的分布特征不同。
在第三方面的一种实施方式中,发送模块被配置为:当第一压缩策略与第二压缩策略不同时,向第一网络设备发送第一压缩策略。
在第三方面的一种实施方式中,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。
在第三方面的一种实施方式中,第一压缩算法或第二压缩算法包括以下至少一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
在第三方面的一种实施方式中,发送模块还被配置为向第二网络设备发送第一压缩策略,以使得第二网络设备基于第一压缩策略压缩多个第二数据项,多个第二数据项的数据类型与多个第一数据项的数据类型相同。
在本申请的第四方面,提供了一种数据压缩装置。该装置包括:发送模块和接收模块。该发送模块被配置为向管理设备发送消息。消息包括与多个数据项,多个数据项与多条记录的对应关系为一一对应,多个数据项分别来自于对应的记录。该接收模块被配置为接收来自管理设备的第一压缩策略。第一压缩策略是基于多个数据项被确定的。
在第四方面的一种实施方式中,该装置还包括压缩模块。该压缩模块被配置为使用第二压缩策略压缩数据项,其中消息包括经压缩的数据项。
在第四方面的一种实施方式中,接收模块还被配置为接收来自管理设备的第二压缩策略。
在第四方面的一种实施方式中,该装置还包括确定模块。该确定模块被配置为确定第二压缩策略。该发送模块还被配置为向管理设备发送第二压缩策略。
在第四方面的一种实施方式中,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。
在第四方面的一种实施方式中,第一压缩算法或第二压缩算法包括以下至少一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
在本申请的第五方面,提供了一种电子设备。该电子设备包括处理器以及存储器。存储器上存储有由处理器执行的指令。当指令被处理器执行时使得该电子设备实现根据上述第一方面或其任一实施方式中的方法的操作,或者实现根据上述第二方面或其任一实施方式中的方法的操作。
在本申请的第六方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机可执行指令。该计算机可执行指令被处理器执行时实现根据上述第一方面或其任一实施方式中的方法的操作,,或者实现根据上述第二方面或其任一实施方式中的方法的操作。
在本申请的第七方面,提供了一种芯片或芯片系统。该芯片或芯片系统包括处理电路,被配置为执行根据上述第一方面或其任一实施方式中的方法的操作,或者实现根据上述第二方面或其任一实施方式中的方法的操作。
在本申请的第八方面,提供了一种计算机程序或计算机程序产品。该计算机程序或计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时实现根据上述第一方面或其任一实施方式中的方法的操作,或者实现根据上述第二方面或其任一实施方式中的方法的操作。
附图说明
图1示出了本申请实施例提供的一种应用场景的示意图;
图2示出了本申请实施例提供的网络设备的多条记录的示意图;
图3示出了本申请实施例提供的数据压缩过程的信令交互图;
图4示出了本申请实施例提供的数据压缩过程的信令交互图;
图5示出了本申请实施例提供的数据分组的示意图;
图6示出了本申请实施例提供的数据压缩过程的信令交互图;
图7示出了本申请实施例提供的数据压缩装置的示意框图;
图8示出了本申请实施例提供的数据压缩装置的示意框图;以及
图9示出了可以用来实施本申请实施例的示例设备的示意框图。
具体实施方式
在通信网络中,诸如分布式探针之类的网络设备需要向诸如云安全中心之类的管理设备上报各种数据,例如,性能测量数据,运行日志,安全事件信息等。网络设备进行测量并上报的数据量很大,因此对于带宽的需求很高。这样一方面导致网络设备和管理设备之间的交互成本较高,另一方面网络设备和管理设备之间交互的大量数据占用了较多的网络资源,有可能影响其他业务。因此,需要一种有效地方案来压缩设备间的交互数据。
为了解决上述问题以及潜在的其他问题,本申请的实施例提供了一种数据压缩的方案,针对多条记录中的对应的多个数据项使用相同的压缩策略,能够充分考虑对应的数据项的共性,提升压缩率,进而能够减小所需的带宽,降低成本。
图1示出了本申请实施例提供的一种应用场景100的示意图。该应用场景100包括管理设备110、网络设备121、网络设备122和网络设备123。为了简化描述,可以将网络设备121、网络设备122和网络设备123统称为网络设备120。
本申请的实施例中的“网络设备”可以表示对计算机网络中网络安全、网络流量等数据进行采集或测量的设备。网络设备可以被实现为各种形式,或者网络设备也可以具有其他的称呼,包括但不限于,网关设备、路由器、网络边缘设备、防火墙设备、网络安全探针设备、网络探针、网络测量设备、探测设备等。
在一些场景中,多个网络设备可以属于同一个局域网,例如园区网络。举例而言,可以假设网络设备121和网络设备122属于同一个园区网络,并且可以假设网络设备123属于另一个园区网络。
本申请的实施例中的“管理设备”可以表示对计算机网络中的网络安全、网络流量等数据进行管理、汇总分析的设备。管理设备可以被实现为各种形式,或者管理设备也可以具有其他的称呼,包括但不限于,服务器、网络安全服务器、安全云平台、流量控制设备、控制中心、集中数据中心、管理节点等。
网络设备120可以向管理设备110发送数据,例如数据可以包括安全日志、取证文件、流量日志、运行日志、告警日志等。可选地,各种日志可以是采取特定格式的记录文本。各种日志中可以包括多条记录。每条记录可以对应不同的时刻。或者,每条记录可以对应不同的来源。例如,第一条记录为来源于网络接口一的告警记录,第二条记录为来源于网络接口二的告警记录。
示例性地,网络设备120可以通过测量得到多条记录。举例而言,网络设备120可以周期性地测量,例如每秒测量得到150条记录。举例而言,网络设备120可以周期性地将所测量的多条记录发送到管理设备110,例如每秒发送一次。举例而言,网络设备120可以基于记录的数量达到阈值而进行发送,例如每测得到200条记录发送一次。可理解,网络设备120也可以基于其他的准则进行测量和发送,本申请中不再罗列。
示例性地,网络设备还可以通过其他方式得到多条记录。例如,网络设备121还连接有网络设备131和网络设备132(图中均未示出),网络设备121可以接收网络设备131和网络设备132发送的数据,并基于接收到的数据生成多条记录。例如,每条记录可以对应于不同的网络设备。例如,第一条记录为来源于网络设备131的安全事件记录,第二条记录未来源于网络设备132的安全事件记录。
图2示出了本申请实施例提供的网络设备120的多条记录200的一个示意图。作为示意,图2中列出了5条记录,例如一行属于一条记录。
如图2所示,每条记录可以包括多个数据项,同一记录中的不同数据项可以表示不同的含义,例如图2中的同一记录中多个数据项所表示的含义从左到右依次为:元数据版本、元数据标识(identifier,ID)、源互联网协议(Internet Protocol,IP)地址、目的IP地址、源传输端口、目的传输端口、协议ID、字节增加计数、分组增加计数等。可理解,同一记录中至少两个数据项属于不同的数据类型,例如结合图2,元数据版本与元数据ID属于不同的数据类型,其中,元数据版本的数据类型为整数型,元数据ID的数据类型为字符型。
可选地,同一记录中的各个数据项都属于不同的数据类型,或者可选地,同一记录中的部分数据项(如图2中的源IP地址和目的IP地址)属于相同的数据类型。
如图2所示,不同记录可以包括相同含义的数据项,例如图2中的一列表示相同的含义。可理解,同一列的数据项可以对应于相同的字段,可以具有相同的数据类型。
可理解,图2中示出的行和列的形式仅是示意,在实际场景中,可以通过将多条记录顺次连接形成多条记录,例如不同的记录通过特定的符号(例如&&等)进行分离等,例如不同的记录被置于不同的符号(例如{})内部等,同一个记录中的不同数据项可以通过不同的字段区分。本申请对此不限定。
应注意,本申请实施例对网络设备121与管理设备110之间的传输协议不做限定,例如可以是网络配置协议(Network Configuration Protocol,NETCONF)、简单网络管理协议(Simple Network Management Protocol,SNMP)、或网络设备121与管理设备110通过协商确定的传输方式等。
应注意,尽管在图1中示出了三个网络设备,但是本申请的实施例不限于此,在实际场景中,可以包括更多或更少数量的网络设备。作为示意,下面的实施例主要以网络设备121为例来阐述数据压缩的过程,可理解,本申请的实施例对于其余的网络设备也是适用的,本文中不再赘述。
图3示出了本申请的实施例提供的数据压缩过程300的信令交互图。过程300涉及管理设备110和网络设备121。
网络设备121向管理设备110发送310消息,该消息包括多个第一数据项。
示例性地,网络设备121可以通过测量得到多条记录,每条记录包括多个数据项,例如,第一数据项和第二数据项。多个第一数据项与多条记录的对应关系为一一对应。即,消息中的多个第一数据项分别来自于对应的记录。在一些示例中,多个第一数据项可以被理解为是如图2所示的一列。在另一些示例中,多个第一数据项可以被理解为不同记录中的同一字段。
可选地,在一些实施例中,消息中可以包括未经压缩的多个第一数据项。
可选地,在一些实施例中,网络设备121可以确定第二压缩策略,并且可以使用第二压缩策略压缩多个第一数据项。示例性地,消息包括经压缩的多个第一数据项。
举例而言,第二压缩策略可以是网络设备121基于多个第一数据项确定的。可选地,网络设备121还可以将所确定的第二压缩策略发送到管理设备110。
举例而言,第二压缩策略可以是预先定义的,例如称为默认压缩策略或预置压缩策略等。
可选地,如图3所示,管理设备110可以确定302第二压缩策略,并且向网络设备121发送304第二压缩策略。相应地,网络设备121可以使用第二压缩策略压缩306多个第一数据项。可理解,消息中包括经压缩的多个第一数据项。示例性地,管理设备110可以基于先前的多个数据项来确定第二压缩策略,确定的方式与下面的确定第一压缩策略的方式类似,这里不再重复。
示例性地,如果消息包括经压缩的多个第一数据项,那么管理设备110可以使用第二压缩策略通过解压得到312多个第一数据项。
管理设备110基于多个第一数据项确定320第一压缩策略。示例性地,管理设备110可以基于经解压的多个第一数据项来确定第一压缩策略。
本申请的实施例中,压缩策略(如第一压缩策略或第二压缩策略)可以包括压缩算法和压缩参数。压缩算法可以包括以下中的任一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。压缩参数与压缩算法对应,不同的压缩算法所使用的压缩参数一般不同。
在一些实施例中,管理设备110可以确定是否满足预设条件,并且可以在确定满足预设条件时,确定第一压缩策略。
可选地,预设条件可以包括在确定第二压缩策略之后所经过的时长达到或超过预设时长。预设时长可以被称为更新周期,以此方式,管理设备110能够周期性地对压缩策略进行更新。作为一例,预设时长可以为1秒或其他值。作为一例,管理设备110可以基于在该更新周期内收到的全部或部分消息中的多个第一数据项来确定第一压缩策略,如此能够所确定的第一压缩策略更准确。
可选地,预设条件可以包括用于确定第二压缩策略的多个数据项的数据类型不同于多个第一数据项的数据类型。例如,用于确定第二压缩策略的多个数据项的数据类型为整数型(int),而多个第一数据项的数据类型为浮点型(float)。以此方式,管理设备110能够在数据类型发生变化时更新压缩策略,从而能够使得被使用的压缩策略更能与被压缩的数据的类型关联,提升压缩率。
可选地,预设条件可以包括用于确定第二压缩策略的多个数据项的分布特征不同于多个第一数据项的分布特征。例如,用于确定第二压缩策略的多个数据项的分布特征为稀疏,即这里的多个数据项中为空的数据项的数量较多,而多个第一数据项的分布特征为密集,即多个第一数据项中为空的数据项的数量较少,其中,数量较多可以是大于第一比例阈值(如60%),数量较少可以是小于第二比例阈值(如20%),第二比例阈值小于或等于第一比例阈值。以此方式,管理设备110能够在数据的分布特征发生变化时更新压缩策略,从而能够使得被使用的压缩策略更能和被压缩的数据的分布特征关联,提升压缩率。
本申请的实施例中,管理设备110可以基于多个第一数据项的数据类型、分布特征等来确定第一压缩策略。举例而言,多个第一数据项为字符串型,且分布密集,可选地可以确定第一压缩策略包括字典编码压缩方式。可选地,管理设备110可以构建神经网络模型来确定该第一压缩策略的压缩参数,如字典等。
管理设备110向网络设备121发送330第一压缩策略。可选地,当第一压缩策略不同于第二压缩策略时,管理设备110发送该第一压缩策略。如此,能够避免对相同压缩策略的重复发送,造成对于传输资源的浪费。
示例性地,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。第一压缩策略与第二压缩策略不同可以包括第一压缩算法不同于第二压缩算法,或者可以包括第一压缩算法与第二压缩算法相同,但第一压缩参数不同于第二压缩参数,或者可以包括第一压缩算法不同于第二压缩算法且第一压缩参数不同于第二压缩参数。
可理解,在此之后,网络设备121能够使用第一压缩策略对后续的数据项进行压缩,这样能够在无损压缩的情况下基于数据项的特征实现更大的压缩率。
以此方式,能够由管理设备110来确定第一压缩策略,从而网络设备121能够使用由管理设备110所确定第一压缩策略来压缩数据项。该方案能够充分利用管理设备110的强大处理能力,并且针对相同数据类型的多个数据项或者相同分布特征的多个数据项使用相同的压缩策略,能够提升压缩率,进而减小带宽占用。
下面将结合图4至图6描述本申请中更为详细的一些实施例。
图4示出了本申请的实施例提供的数据压缩过程400的信令交互图。过程400涉及管理设备110和网络设备121。
网络设备121通过测量得到410多条记录。作为示例,假设多条记录为N1条记录,N1为正整数。例如N1为25或200或其他值,本申请对此不限定。
每条记录可以包括多个数据项,分别表示不同的含义。可选地,作为示意,可以将多条记录表示为列表的形式,如图2所示包括行和列,一行表示一条记录,且同一列表示相同的含义。
在一些实施例中,多条记录可以是在网络设备121上一次发送消息之后通过测量得到的。在一些实施例中,多条记录可以是网络设备121在启动之后且在发送消息之前通过测量得到的。
网络设备121向管理设备110发送420第一消息,该第一消息包括多条记录。相应地,管理设备110可以接收来自网络设备121的第一消息。
本申请实施例对网络设备121向管理设备110发送的消息的具体格式不做限定,例如可以是日志(log)文件,例如可以是csv格式等。
举例而言可以假设网络设备121在t0时刻向管理设备110发送第一消息。
在一些实施例中,网络设备121可以将未经压缩的多条记录通过第一消息发送到管理设备110。例如,网络设备121在刚启动时的首次发送时,可以发送未经压缩的第一消息。例如可以基于多条记录形成序列化数据流,并发送到管理设备110。
在一些实施例中,网络设备121可以使用预配置的压缩策略,通过将多条记录进行压缩,以形成第一消息。例如,网络设备121在刚启动时的首次发送时,使用预配置的压缩策略。该预配置的压缩策略可以是网络设备121与管理设备110预先协商确定的,或者可以是管理设备110配置给网络设备121的,或者可以是基于网络设备121与管理设备110之间的通信协议预先定义的。预配置的压缩策略包括的压缩算法例如可以为静态字典编码等。相应地,预配置的压缩策略包括的压缩参数例如为字典。可选地,也可以将预配置的压缩策略称为通用压缩策略或其他名称,本申请对此不限定。
在一些实施例中,网络设备121可以使用第一压缩策略,通过将多条记录进行压缩,以形成第一消息。示例性地,第一压缩策略可以是网络设备121在发送第一消息之前最新从管理设备110接收到的。例如,网络设备121在刚启动时的首次发送前,接收来自管理设备110的第一压缩策略。例如,网络设备121在上一次发送消息之后,接收来自管理设备110的第一压缩策略。例如,网络设备121在上一次发送消息时所使用的是第一压缩策略。可选地,第一消息还可以包括第一压缩策略的标识,例如版本号、时间戳等。
作为一个简化示例,可以假设第一消息是网络设备121在启动之后向管理设备110发送的关于测量的数据的第一个消息,那么第一消息包括未经压缩的多条记录,或者第一消息包括使用预配置的压缩策略被压缩的多条记录,或者第一消息包括使用在启动后接收到的第一压缩策略被压缩的多条记录。
示例性地,网络设备121可以周期性地向管理设备110发送消息,假设发送周期为dt,那么可理解,网络设备121可以在t0+dt、t0+2*dt、…向管理设备110发送消息,例如dt等于1秒或其他值。
管理设备110至少基于第一消息确定430第二压缩策略,第二压缩策略包括至少一个压缩算法。
可选地,在一些实施例中,考虑到多条记录未经压缩,或者考虑到第一消息所使用的压缩策略不是基于网络设备121的数据所确定的,那么管理设备110可以在收到来自网络设备121开机后的第一消息后,基于第一消息确定第二压缩策略。
可选地,在一些实施例中,考虑到多条记录可能的临时性/不准确性,也为了提高所确定的第二压缩策略的准确性,可以周期性地确定压缩策略。例如,可以基于时刻t0至时刻t0+T之间收到的消息(包括第一消息)来确定第二压缩策略。换句话说,管理设备110可以基于周期T来确定压缩策略。
示例性地,管理设备110可以基于第一消息确定多条记录,并至少基于多条记录来确定第二压缩策略。
在一些实施例中,第一消息包括未经压缩的多条记录,那么管理设备110可以读取该第一消息中的多条记录。在一些实施例中,第一消息包括经压缩的多条记录,例如使用预配置的压缩策略或第一压缩策略。那么管理设备110可以使用对应的压缩策略进行解压,以得到多条记录。
示例性地,多条记录中每条记录都包括多个数据项,同一条记录中的不同数据项可以表示不同的含义。可以假设第一消息包括N1条记录,并且例如每条记录包括M1个数据项。
可选地,如果管理设备110基于周期T确定压缩策略,那么管理设备110可以基于在周期T内接收到的多个消息(包括第一消息)来确定第二压缩策略。例如,假设多个消息的数量为K1,那么可选地基于多个消息可以确定K1*N1条记录。
本申请实施例中,管理设备110可以基于N条记录来确定第二压缩策略。例如N条记录为第一消息中的N1条记录,或者N条记录可以为多个消息中的多条记录的集合。
为了简化描述,可以假设N条记录表示为如图2所示的形式,也就是说,可以将一条记录表示为一行,不同的行属于不同的记录,可以将不同记录中相同含义的数据项置于同一列中,不同的列表示不同的含义。下面结合如图2所示的多条记录来描述确定第二压缩策略的实施例,但是应理解,本申请的实施例也可以被应用于其他形式的记录,这里不再一一罗列。
示例性地,管理设备110可以基于各列中的数据项的属性将N条记录的列数据分为多组。数据项的属性可以包括但不限于:数据类型、数据分布的稀疏程度、数值的范围等。数据类型可以包括整数型(int)、浮点型(float)、字符串(string)等。数据分布的稀疏程度可以基于列中是否存在为空(NULL)的对应记录、或连续为空的记录的数量等来确定。数据项为数值时,数值的范围可以是列中数值的最大值与最小值之差,数值的绝对值的最大值与最小值之差等。
举例而言,图5示出了多条记录500的简化示意,在图5中一行表示一条记录,每条记录包括多列:列A、列B、列C、……。假设列A、列B和列E中的数据项的数据类型为字符串,则可以将列A、列B和列E划分为同一组,如组510。假设列C、列G和列H中的数据项的数据类型为整数型,且数值的分布密集,则可以将列C、列G和列H划分为同一组,如组520。假设列D和列F中的数据项的数据类型为整数型,且数值的分布稀疏,则可以将列D和列F划分为同一组,如组530。
可选地,管理设备110可以通过对各列中的数据项进行聚类分析,统计学习各列之间的关联性,并基于关联性将多列分为多组。示例性地,聚类分析可以采用基于无监督的学习方法,也可以采用基于有监督的分类方法,也可以采用预先定义的分类方法等,本申请对此不限定。可理解,某个组中可以仅包括一列,或者某个组中可以包括多列。
示例性地,管理设备110针对各个组,分别确定对应的压缩算法。相应地,可以确定压缩算法所使用的压缩参数。
本申请的实施例中,压缩算法可以包括但不限于:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
举例而言,针对数值类的,如果数值变化频率较快,可以使用行程编码压缩方式;如果数值变化频率较慢,可以使用差值编码压缩方式。举例而言,针对字符串类的,可以使用字典编码压缩方式。应理解,该举例仅是示意,不构成对本申请的实施例的限制。
作为示例,结合图5,可以假设针对组510确定第一压缩算法,针对组520确定第二压缩算法,针对组530确定第三压缩算法,其中,第一压缩算法、第二压缩算法、第三压缩算法中任两个可以相同或不同。举例而言,假设第一压缩算法为字典编码与熵编码结合的压缩方式,假设第二压缩算法为差值编码与熵编码结合的压缩方式,假设第三压缩算法为行程编码压缩方式。
可选地,管理设备110还可以确定各个压缩算法所使用的压缩参数。例如可以确定熵编码压缩方式所使用的熵编码表,例如可以确定字典编码压缩方式所使用的字典,例如可以确定差值编码压缩方式所使用的差值上限阈值,等等。
举例而言,结合图5,可以基于组510中各列(即列A、列B和列E)中各个字符串出现的概率等,来确定与组510对应的熵编码表。可以基于组520各列(即列C、列G和列H)中各个数字的分布概率等,来确定与组520对应的熵编码表。可以基于组510中各列(即列A、列B和列E)中各个字符串的出现频率等,确定与组510对应的字典,例如可以通过神经网络模型(例如有状态深度网络模型)来提取各列中数据项的高频的字符串(也称为字典中的单词),从而为各列分别创建不同的字典。可选地,用于提取高频单词的神经网络模型可以是由多个网络设备120通过联邦学习等方式得到的。如此,能够充分利用管理设备110的计算能力强的特点,由管理设备110来确定字典,避免网络设备121进行匹配算法搜索所造成的时间和存储空间的资源浪费。
在一些实施例中,管理设备110针对各个组,可以分别构建神经网络模型,并基于所构建的神经网络模型来确定压缩算法。示例性地,本申请的实施例中神经网络模型可以是由管理设备110指令多个网络设备120通过联邦学习、增量学习、迁移学习等方式得到的,这样能够综合考虑更多的测量数据,提高模型构建的速度,并且通过充分考虑各个网络设备120的测量数据的不同,能够使得得到的神经网络模型更加准确。
以此方式,管理设备110能够以列为粒度确定压缩策略,例如,针对稀疏分布的列可以采用行程编码压缩方式,针对数值变化频繁的列可以采用差值编码与熵编码结合的压缩方式,针对字符串类型的列可以采用字典编码(如静态字典编码与滑窗字典编码)与熵编码结合的压缩方式,等等。相比于以记录(行)为粒度而言,能够针对相同类型的数据确定对应的压缩策略,从而压缩列方向上的冗余度,提升压缩率。
示例性地,静态字典编码可以通过改变静态字典的大小、字典中高频词排列顺序等来调整压缩效果。示例性地,滑窗字典编码可以通过改变滑动窗口大小来调整压缩效果。应注意,尽管上面列出了一些可能的压缩算法,但是本申请对此不限定,例如压缩算法还可以包括哈夫曼编码方式、算术编码方式、区间编码方式等。示例性地,哈夫曼编码可以根据符号出现的频率来构建哈夫曼树,并通过重建哈夫曼树来调整压缩效果。其中算术编码可以根据符号出现的概率计算符号串的概率,得到一个大于0且小于1的参数,并根据符号出现的概率重新计算符号串概率来调整压缩效果。区间编码可以根据符号出现的概率把符号串映射到大区间数值中的一段小区间,并根据符号出现的概率重新计算符号串概率来调整压缩效果。关于各种压缩算法可以参照已有技术,本申请中不再一一罗列。
管理设备110向网络设备121发送440第二压缩策略。可选地,管理设备110还可以向网络设备121发送该第二压缩策略的标识,例如第二压缩策略的版本号、时间戳、或将时间戳通过预先定义的哈希序列加扰后的序列等。可选地,在第二压缩策略不同于第一压缩策略时,发送该第二压缩策略。
本申请的实施例中,考虑到管理设备110处的强大处理能力,可以忽略管理设备110确定第二压缩策略的耗时,可以假设管理设备110确定和发送第二压缩策略是几乎同时进行的,例如假设为时刻t1。
作为示例,可以假设该第二压缩策略的版本号为V1,时间戳为t1。
第二压缩策略可以包括至少一个压缩算法,参考图5,第二压缩策略可以包括分组方式以及各组对应的压缩算法,如下表1所示。
表1:第二压缩策略
相应地,可理解,网络设备121可以在时刻t1接收来自管理设备110的第二压缩策略。
示例性地,网络设备121在接收到第二压缩策略之后,可以使用第二压缩策略压缩450数据,并向管理设备110发送460第二消息。相应地,管理设备110接收来自网络设备121的第二消息。
具体而言,网络设备121可以将多列数据项按照第二压缩策略分为多个组,并且针对每个组使用对应的压缩算法进行压缩。
可选地,第二消息还可以进一步包括第二压缩策略的标识(如版本号V1),以便管理设备110确定如何解压。以此方式,能够避免网络设备121和管理设备110处的最新版本的压缩策略不一致而导致的数据解压错误。
可理解,如果网络设备121未能成功接收到由管理设备110在时刻t1发送的第二压缩策略,那么网络设备121在时刻t1之后向管理设备110发送的消息与前述过程420发送的第一消息类似,为避免重复,这里不再赘述。对于管理设备110而言,其在发送第二压缩策略之后,如果发现网络设备121未使用第二压缩策略进行压缩,那么可以在重发时长之后向网络设备121重发第二压缩策略。例如假设重发时长为T0,那么可以在时刻t1+T0重发第二压缩策略。可选地,可以预先设定最大重发次数,如nr,则在t1+nr*T0之后,即使网络设备121依然没有收到第二压缩策略,管理设备110也不会再重发该第二压缩策略。
管理设备110可以基于第二压缩策略对第二消息进行解压470。
管理设备110确定480第三压缩策略。示例性地,管理设备110可以确定是否满足预设条件,并且可以在确定满足预设条件时,确定第三压缩策略。以此方式,能够实现对于压缩策略的更新,具体地将第二压缩策略更新为第三压缩策略,从而更能够适应网络设备121所测量的数据的变化。
在一些实施例中,预设条件可以包括:在确定第二压缩策略之后所经过的时长达到或超多预设时长。举例而言,假设预设时长为T,那么如果当前时刻>=t1+T,则可以确定第三压缩策略。可选地,可以将预设时长(即T)称为策略更新周期。以此方式,能够周期性地更新压缩策略,如此能够确保所使用的压缩策略与网络设备121策略的数据相对应,进而能够实现对于数据的无损压缩。
在一些实施例中,预设条件可以包括:来自网络设备121的消息中各列数据项的数据类型和/或分布特征发生了变化。例如,在图5的示例中,列D中的数据项为分布稀疏的整数型,如果在时刻t0之后,列D中的数据项变得分布密集、数值变化更频繁。那么可以基于此重新确定第三压缩策略。例如,如果其余列中的数据项的数据类型、分布特征等基本不变,可以确定重新分组,将列A、列B和列E划分为一组,将列C、列D、列G和列H划分为一组,将列F划分为一组;并且随后可以针对各个组分别确定压缩算法。以此方式,能够基于数据项的变化来更新压缩策略,从而使得网络设备121对于测量的数据的在线序列化压缩能够保证性能,实现无损压缩。
可选地,管理设备110确定第三压缩策略的方式可以参照上述过程430中确定第二压缩策略的实施例,为了简洁,这里不再赘述。
管理设备110向网络设备121发送490第三压缩策略。可选地,管理设备110还可以向网络设备121发送该第三压缩策略的标识,例如第三压缩策略的版本号、时间戳等。作为示例,可以假设该第三压缩策略的版本号为V2,时间戳为t2。
示例性地,在过程490之后的进一步过程与上述过程440之后的过程类似,本申请中不再重复。
应注意的是,为了简化描述,在上述实施例中未考虑网络设备121与管理设备110之间的传输时延,但在实际场景中,两者之间存在传输时延,例如为△t。例如,网络设备121在时刻t0发送第一消息,相应地管理设备110在时刻t0+△t接收到第一消息。在网络设备121与管理设备110之间的其余信息的传输时延是类似的,这里不再详细阐述。
可理解,尽管结合图4的过程400仅描述了针对网络设备121的数据压缩过程,但是该过程也同样地适用于其余的网络设备。例如,针对每个网络设备120,管理设备110都可以分别确定各个网络设备的压缩策略。以此方式,管理设备110能够确定针对各个网络设备120的压缩策略。相应地,管理设备110能够得到局部(如以园区局域网为粒度)或全局(如与管理设备110交互的所有网络设备120)的压缩策略的统计信息,例如,各个版本的压缩策略、确定压缩策略所使用的神经网络模型、压缩策略被使用的历史时长等。
可选地,在一些实施例中,针对重启或上电启动的另一网络设备,以网络设备122为例,管理设备110在接收到来自网络设备122的消息之前,可以向网络设备122发送压缩策略。举例而言,如果网络设备122在时刻t1至t2之间启动,并且网络设备122与网络设备121属于同一局域网,管理设备110可以将针对网络设备121的最新压缩策略(如上所述的时刻t1所确定的第二压缩策略)发送到网络设备122。例如,管理设备110可以确定网络设备122与网络设备121之间的相关性,并在相关性大于相关系数阈值(如80%或其他值)时,将针对网络设备121所确定的第二压缩策略发送到网络设备122,其中可以基于设备属性来确定相关性,设备属性可以包括但不限于设备的IP地址、设备的物理地址、设备的历史数据、设备的类型等。
举例而言,管理设备110可以基于统计信息,将历史使用时长最长的压缩策略发送到网络设备122。举例而言,管理设备110可以将压缩率最高的压缩策略发送到网络设备122。以此方式,新启动的网络设备(如网络设备122)能够基于管理设备110的指示进行数据压缩,避免未压缩数据造成的大带宽占用。
以此方式,本申请的实施例中的管理设备基于多条记录对应的多个数据项确定压缩策略,对应的多个数据项具有相同的数据类型或者相同的分布特征,因此,管理设备更能够考虑相同数据类型的数据项或者相同分布特征的数据项之间的冗余,从而使得压缩率更高,这样能够使得压缩后的数据占用较小的带宽,节省成本。并且,管理设备能够基于更新周期或基于数据项的变化来更新压缩策略,从而确保所使用的压缩策略与数据项对应,保证了对于数据的无损压缩。
图6示出了根据本申请的一些实施例的数据压缩过程600的信令交互图。过程600涉及管理设备110和网络设备121。
网络设备121通过测量得到610多条记录。作为示例,假设多条记录为N1条记录。关于多条记录可以参照前述结合图4的过程410以及结合图2的相关描述,例如多条记录可以被表示为多列,每一列中的多个数据项可以具有相同的数据类型,为了简洁,这里不再赘述。
网络设备121基于多条记录确定620第一压缩策略。第一压缩策略可以包括第一压缩算法和第一压缩参数。
示例性地,网络设备121可以将多条记录以列为粒度划分为多组,每组中可以包括一列或多列。针对多组中的每个组,网络设备121可以分别确定压缩算法,例如不同的组可以使用不同的压缩算法和/或压缩参数。
具体而言,网络设备121确定第一压缩策略的过程与上述结合图4所描述的由管理设备110确定第二压缩策略的过程430是类似的,因此可以参考前述实施例中的相关描述,这里不再重复。
网络设备121使用第一压缩策略压缩多条记录,以生成630第一消息。第一消息可以包括经压缩的多条记录,并且多条记录是以列的粒度被压缩的,即多条记录中同一列使用相同的压缩算法和压缩参数被压缩。
网络设备121向管理设备110发送642第一消息。网络设备121向管理设备110发送644第一压缩策略。
可选地,第一消息和第一压缩策略可以被承载于同一信令中被发送,或者可以被分别发送,本申请对此不限定。可选地,在发送的第一压缩策略还可以包括该第一压缩策略的标识,例如版本号、时间戳等。
管理设备110使用第一压缩策略对第一消息进行解压650,以得到多条记录。
可理解,网络设备121可以继续进行数据测量,使用第一压缩策略进行压缩,并进一步向管理设备110发送经压缩的记录。示例性地,网络设备121可以按照上报周期来执行发送。可选地,在每次发送时,可以携带所使用的第一压缩策略的标识,以便管理设备110成功且正确地解压。
可选地,如图6所示,网络设备121可以确定660第二压缩策略。在本申请的一些实施例中,网络设备121可以在确定满足预设条件时,确定第二压缩策略。
作为一例,预设条件可以是达到或超过了更新时长,例如从确定第一压缩策略之后经过的时长达到或超过了更新时长。也就是说,网络设备121可以按照更新时长为周期,来周期性地更新压缩策略。
作为另一例,预设条件可以是记录中的数据项的数据类型或分布特征发生了变化。例如,在连续多个上报周期中,一列或多列数据项的数据类型改变或者分布特征改变。也就是说,网络设备121可以基于数据项的特征变化来更新压缩策略。
在一些实施例中,网络设备121可以基于多个上报周期中的多条记录中的各列数据项来确定第二压缩策略。例如,可以基于在确定第一压缩策略之后的更新时长内的全部或部分记录中的各列数据项来确定第二压缩策略。可理解,确定第二压缩策略的过程类似于前述确定第一压缩策略的过程,这里不再详述。
示例性地,网络设备121可以使用第二压缩策略对后续测量得到的记录进行压缩,并发送到管理设备110。网络设备121还可以将第二压缩策略发送到管理设备110,以便管理设备110进行成功解压。
以此方式,本申请的实施例中能够由网络设备121来基于相同类型的数据项来确定压缩策略,这样能够得到更准确的压缩策略,使得压缩率更大,这样能够减少带宽占用。
应注意的是,尽管上面分别结合图4和图6,描述了由管理设备110确定压缩策略和由网络设备121确定压缩策略的实施例,但是上面的实施例并不是彼此独立的,它们也可以结合以得到其他的实施例。例如在图6的过程600中,管理设备110也可以将来自网络设备121的第一压缩策略或第二压缩策略发送到另一网络设备122等。本申请的实施例不再对各种结合进行罗列。
应理解,在本申请的实施例中,“第一”,“第二”,“第三”等表述只是为了表示多个对象可能是不同的,但是同时不排除两个对象之间是相同的。“第一”,“第二”,“第三”等表述不应当解释为对本申请实施例的任何限制。
还应理解,本申请的实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在符合逻辑的情况下,可以相互结合。
还应理解,上述内容只是为了帮助本领域技术人员更好地理解本申请的实施例,而不是要限制本申请的实施例的范围。本领域技术人员根据上述内容,可以进行各种修改或变化或组合等。这样的修改、变化或组合后的方案也在本申请的实施例的范围内。
还应理解,上述内容的描述着重于强调各个实施例之前的不同之处,相同或相似之处可以互相参考或借鉴,为了简洁,这里不再赘述。
图7示出了本申请的实施例提供的装置700的示意框图。装置700可以通过软件、硬件或者两者结合的方式实现。在一些实施例中,装置700可以被实现为如图1所示的管理设备110或者被实现为管理设备110中的芯片。
如图7所示,装置700包括接收模块710、确定模块720和发送模块730。可选地,装置700还可以包括解压模块740。
接收模块710被配置为接收来自第一网络设备的消息,消息包括多个第一数据项,多个第一数据项与多条记录的对应关系为一一对应,多个第一数据项分别来自于对应的记录。确定模块720被配置为基于多个第一数据项确定第一压缩策略。发送模块730被配置为向第一网络设备发送第一压缩策略。
在一些实施例中,多个第一数据项是基于第二压缩策略被压缩的。解压模块740可以被配置为使用第二压缩策略对多个第一数据项进行解压。
示例性地,确定模块720可以被配置为当满足条件时,基于经解压的多个第一数据项确定第一压缩策略。可选地,条件包括在确定第二压缩策略后所经过的时长达到或超过预设时长。可选地,条件包括用于确定第二压缩策略的多个数据项的数据类型与所述多个第一数据项的数据类型不同。可选地,条件包括用于确定第二压缩策略的多个数据项的分布特征和多个第一数据项的分布特征不同。
具体而言,发送模块730可以被配置为当第一压缩策略与第二压缩策略不同时,向第一网络设备发送第一压缩策略。
在一些实施例中,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。第一压缩算法或第二压缩算法包括以下至少一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
可选地,发送模块730还可以被配置为向第二网络设备发送第一压缩策略,以使得第二网络设备基于第一压缩策略压缩多个第二数据项。多个第二数据项的数据类型与多个第一数据项的数据类型相同。
图7的装置700能够用于实现上述结合图3至图6中由管理设备110所述的各个过程,为了简洁,这里不再赘述。
图8示出了根据本申请的一些实施例的装置800的示意框图。装置800可以通过软件、硬件或者两者结合的方式实现。在一些实施例中,装置800可以被实现为如图1所示的网络设备120或者被实现为网络设备120中的芯片。
如图8所示,装置800包括发送模块810和接收模块820。可选地,装置800还可以包括压缩模块830和/或确定模块840。
发送模块810被配置为向管理设备发送消息,消息包括与多个数据项,多个数据项与多条记录的对应关系为一一对应,多个数据项分别来自于对应的记录。接收模块820被配置为接收来自管理设备的第一压缩策略,第一压缩策略是基于多个数据项被确定的。
在一些实施例中,装置800还包括压缩模块830。压缩模块830被配置为使用第二压缩策略压缩数据项,其中消息包括经压缩的数据项。
可选地,接收模块820还被配置为接收来自管理设备的第二压缩策略。或者可选地,确定模块840可以被配置为确定第二压缩策略,发送模块810还被配置为向管理设备发送第二压缩策略。
示例性地,第一压缩策略包括第一压缩算法和第一压缩参数,第二压缩策略包括第二压缩算法和第二压缩参数。第一压缩算法或第二压缩算法包括以下至少一项:字典编码压缩方式,差值编码压缩方式,行程编码压缩方式,熵编码压缩方式,字典编码与熵编码结合的压缩方式,或差值编码与熵编码结合的压缩方式。
图8的装置800能够用于实现上述结合图3至图6中由网络设备120(包括网络设备121)所述的各个过程,为了简洁,这里不再赘述。
本申请的实施例中对模块或单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在公开的实施例中的各功能单元可以集成在一个单元中,也可以是单独物理存在,也可以两个或两个以上单元集成为一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图9示出了可以用来实施本申请的实施例的示例设备900的示意性框图。设备900可以被实现为或者被包括在图1所示的管理设备110或网络设备120中。
如图所示,设备900包括中央处理单元(Central Processing Unit,CPU)901、只读存储器(Read-Only Memory,ROM)902以及随机存取存储器(Random Access Memory,RAM)903。CPU 901可以根据存储在ROM 902和/或RAM 903中的计算机程序指令或者从存储单元908加载到ROM 902和/或RAM 903中的计算机程序指令,来执行各种适当的动作和处理。在ROM 902和/或RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901和ROM902和/或RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
CPU 901可以是各种具有处理和计算能力的通用和/或专用处理组件。可以被实现为的一些示例包括但不限于图形处理单元(Graphics Processing Unit,GPU)、各种专用的人工智能(Artificial Intelligence,AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Processor,DSP)、以及任何适当的处理器、控制器、微控制器等,相应地可以被称为计算单元。CPU 901执行上文所描述的各个方法和处理。例如,在一些实施例中,上文所描述的过程可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或RAM 903和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ROM 902和/或RAM 903并由CPU 901执行时,可以执行上文描述的过程的一个或多个步骤。备选地,在其他实施例中,CPU 901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上文所描述的过程。
示例性地,图9中的设备900可以被实现为计算设备,或者可以被实现为计算设备中的芯片或芯片系统,本申请的实施例对此不限定。
本申请的实施例还提供了一种芯片,该芯片可以包括输入接口、输出接口和处理电路。在本申请的实施例中,可以由输入接口和输出接口完成信令或数据的交互,由处理电路完成信令或数据信息的生成以及处理。
本申请的实施例还提供了一种芯片系统,包括处理器,用于支持计算设备以实现上述任一实施例中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,用于存储必要的程序指令和数据,当处理器运行该程序指令时,使得安装该芯片系统的设备实现上述任一实施例中所涉及的方法。示例性地,该芯片系统可以由一个或多个芯片构成,也可以包含芯片和其他分立器件。
本申请的实施例还提供了一种处理器,用于与存储器耦合,存储器存储有指令,当处理器运行所述指令时,使得处理器执行上述任一实施例中涉及的方法和功能。
本申请的实施例还提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机执行上述各实施例中任一实施例中涉及的方法和功能。
本申请的实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,当处理器运行所述指令时,使得处理器执行上述任一实施例中涉及的方法和功能。
通常,本申请的各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。一些方面可以用硬件实现,而其他方面可以用固件或软件实现,其可以由控制器,微处理器或其他计算设备执行。虽然本申请的实施例的各个方面被示出并描述为框图,流程图或使用一些其他图示表示,但是应当理解,本文描述的框,装置、系统、技术或方法可以实现为,如非限制性示例,硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某种组合。
本申请还提供有形地存储在非暂时性计算机可读存储介质上的至少一个计算机程序产品。该计算机程序产品包括计算机可执行指令,例如包括在程序模块中的指令,其在目标的真实或虚拟处理器上的设备中执行,以执行如上参考附图的过程/方法。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种实施例中,可以根据需要在程序模块之间组合或分割程序模块的功能。用于程序模块的机器可执行指令可以在本地或分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质中。
用于实现本申请的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质、等等。信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
计算机可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。计算机可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)或闪存、光存储设备、磁存储设备,或其任意合适的组合。
此外,尽管在附图中以特定顺序描述了本申请的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本申请的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上已经描述了本申请的各实现,上述说明是示例性的,并非穷尽的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在很好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
Claims (30)
1.一种数据压缩方法,其特征在于,包括:
管理设备接收来自第一网络设备的消息,所述消息包括多个第一数据项,所述多个第一数据项与多条记录的对应关系为一一对应,所述多个第一数据项分别来自于对应的记录;
所述管理设备基于所述多个第一数据项确定第一压缩策略;以及
所述管理设备向所述第一网络设备发送所述第一压缩策略。
2.根据权利要求1所述的方法,其特征在于,所述多个第一数据项是基于第二压缩策略被压缩的,所述方法还包括:
所述管理设备使用所述第二压缩策略对所述多个第一数据项进行解压。
3.根据权利要求2所述的方法,其特征在于,所述管理设备基于所述多个第一数据项确定第一压缩策略包括:
当满足条件时,所述管理设备基于经解压的所述多个第一数据项确定所述第一压缩策略。
4.根据权利要求3所述的方法,其特征在于,所述条件包括:
所述管理设备在确定所述第二压缩策略后所经过的时长达到或超过预设时长。
5.根据权利要求3所述的方法,其特征在于,所述条件包括:
用于确定所述第二压缩策略的多个数据项的数据类型与所述多个第一数据项的数据类型不同,或者,用于确定所述第二压缩策略的多个数据项的分布特征和所述多个第一数据项的分布特征不同。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述管理设备向所述第一网络设备发送所述第一压缩策略包括:
当所述第一压缩策略与所述第二压缩策略不同时,所述管理设备向所述第一网络设备发送所述第一压缩策略。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述第一压缩策略包括第一压缩算法和第一压缩参数,所述第二压缩策略包括第二压缩算法和第二压缩参数。
8.根据权利要求7所述的方法,其特征在于,所述第一压缩算法或所述第二压缩算法包括以下至少一项:
字典编码压缩方式,
差值编码压缩方式,
行程编码压缩方式,
熵编码压缩方式,
字典编码与熵编码结合的压缩方式,或
差值编码与熵编码结合的压缩方式。
9.根据权利要求1至8中任一项所述的方法,其特征在于,还包括:
所述管理设备向第二网络设备发送所述第一压缩策略,以使得所述第二网络设备基于所述第一压缩策略压缩多个第二数据项,所述多个第二数据项的数据类型与所述多个第一数据项的数据类型相同。
10.一种数据压缩方法,其特征在于,包括:
网络设备向管理设备发送消息,所述消息包括多个数据项,所述多个数据项与多条记录的对应关系为一一对应,所述多个数据项分别来自于对应的记录;以及
所述网络设备接收来自所述管理设备的第一压缩策略,所述第一压缩策略是基于所述多个数据项被确定的。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述网络设备使用第二压缩策略压缩所述数据项,其中所述消息包括经压缩的所述数据项。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述网络设备接收来自所述管理设备的所述第二压缩策略。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述网络设备确定所述第二压缩策略;以及
所述网络设备向所述管理设备发送所述第二压缩策略。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述第一压缩策略包括第一压缩算法和第一压缩参数,所述第二压缩策略包括第二压缩算法和第二压缩参数。
15.一种数据压缩装置,其特征在于,包括:
接收模块,被配置为接收来自第一网络设备的消息,所述消息包括多个第一数据项,所述多个第一数据项与多条记录的对应关系为一一对应,所述多个第一数据项分别来自于对应的记录;
确定模块,被配置为基于所述多个第一数据项确定第一压缩策略;以及
发送模块,被配置为向所述第一网络设备发送所述第一压缩策略。
16.根据权利要求15所述的装置,其特征在于,所述多个第一数据项是基于第二压缩策略被压缩的,所述装置还包括解压模块,被配置为使用所述第二压缩策略对所述多个第一数据项进行解压。
17.根据权利要求16所述的装置,其特征在于,所述确定模块被配置为:
当满足条件时,基于经解压的所述多个第一数据项确定所述第一压缩策略。
18.根据权利要求17所述的装置,其特征在于,所述条件包括:
在确定所述第二压缩策略后所经过的时长达到或超过预设时长。
19.根据权利要求17所述的装置,其特征在于,所述条件包括:
用于确定所述第二压缩策略的多个数据项的数据类型与所述多个第一数据项的数据类型不同,或者,用于确定所述第二压缩策略的多个数据项的分布特征和所述多个第一数据项的分布特征不同。
20.根据权利要求16至19中任一项所述的装置,其特征在于,所述发送模块被配置为:
当所述第一压缩策略与所述第二压缩策略不同时,向所述第一网络设备发送所述第一压缩策略。
21.根据权利要求16至20中任一项所述的装置,其特征在于,所述第一压缩策略包括第一压缩算法和第一压缩参数,所述第二压缩策略包括第二压缩算法和第二压缩参数。
22.根据权利要求15至21中任一项所述的装置,其特征在于,所述发送模块还被配置为向第二网络设备发送所述第一压缩策略,以使得所述第二网络设备基于所述第一压缩策略压缩多个第二数据项,所述多个第二数据项的数据类型与所述多个第一数据项的数据类型相同。
23.一种数据压缩装置,其特征在于,包括:
发送模块,被配置为向管理设备发送消息,所述消息包括多个数据项,所述多个数据项与多条记录的对应关系为一一对应,所述多个数据项分别来自于对应的记录;以及
接收模块,被配置为接收来自所述管理设备的第一压缩策略,所述第一压缩策略是基于所述多个数据项被确定的。
24.根据权利要求23所述的装置,其特征在于,还包括:
压缩模块,被配置为使用第二压缩策略压缩所述数据项,其中所述消息包括经压缩的所述数据项。
25.根据权利要求24所述的装置,其特征在于,所述接收模块还被配置为接收来自所述管理设备的所述第二压缩策略。
26.根据权利要求24所述的方法,其特征在于,还包括确定模块,被配置为确定所述第二压缩策略;以及
所述发送模块还被配置为向所述管理设备发送所述第二压缩策略。
27.根据权利要求24至26中任一项所述的装置,其特征在于,所述第一压缩策略包括第一压缩算法和第一压缩参数,所述第二压缩策略包括第二压缩算法和第二压缩参数。
28.一种电子设备,包括处理器和存储器,所述存储器上存储有计算机指令,当所述指令由所述处理器运行时使得所述电子设备执行根据权利要求1至14中任一项所述的方法。
29.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1至14中任一项所述的方法。
30.一种计算机程序产品,所述计算机程序产品上包含计算机可执行指令,所述计算机可执行指令在被执行时实现根据权利要求1至14中任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210113903.5A CN116567079A (zh) | 2022-01-30 | 2022-01-30 | 数据压缩方法及装置 |
| PCT/CN2023/072668 WO2023143264A1 (zh) | 2022-01-30 | 2023-01-17 | 数据压缩方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210113903.5A CN116567079A (zh) | 2022-01-30 | 2022-01-30 | 数据压缩方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116567079A true CN116567079A (zh) | 2023-08-08 |
Family
ID=87470660
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210113903.5A Pending CN116567079A (zh) | 2022-01-30 | 2022-01-30 | 数据压缩方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN116567079A (zh) |
| WO (1) | WO2023143264A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116932464A (zh) * | 2023-09-14 | 2023-10-24 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| CN117093557A (zh) * | 2023-09-04 | 2023-11-21 | 展讯通信(上海)有限公司 | 日志数据处理方法及装置、计算机可读存储介质 |
| CN119402559A (zh) * | 2024-10-18 | 2025-02-07 | 深圳前海微众银行股份有限公司 | 一种多模态数据压缩方法及装置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116702708B (zh) * | 2023-08-04 | 2023-11-03 | 陕西交通电子工程科技有限公司 | 一种道路路面施工数据管理系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107645538A (zh) * | 2017-08-14 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 提供动态压缩字典的方法及装置和电子设备 |
| CN113207133B (zh) * | 2019-03-29 | 2023-04-07 | Oppo广东移动通信有限公司 | 无线通信的方法和设备 |
| US11442627B2 (en) * | 2019-06-13 | 2022-09-13 | International Business Machines Corporation | Data compression utilizing low-ratio compression and delayed high-ratio compression |
| CN113422838B (zh) * | 2021-07-12 | 2022-10-21 | 天翼云科技有限公司 | 数据同步的实现方法、装置、电子设备及存储介质 |
-
2022
- 2022-01-30 CN CN202210113903.5A patent/CN116567079A/zh active Pending
-
2023
- 2023-01-17 WO PCT/CN2023/072668 patent/WO2023143264A1/zh not_active Ceased
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117093557A (zh) * | 2023-09-04 | 2023-11-21 | 展讯通信(上海)有限公司 | 日志数据处理方法及装置、计算机可读存储介质 |
| CN116932464A (zh) * | 2023-09-14 | 2023-10-24 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| CN116932464B (zh) * | 2023-09-14 | 2023-11-28 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| CN119402559A (zh) * | 2024-10-18 | 2025-02-07 | 深圳前海微众银行股份有限公司 | 一种多模态数据压缩方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023143264A1 (zh) | 2023-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2023143264A1 (zh) | 数据压缩方法及装置 | |
| US12003256B2 (en) | System and method for data compression with intrusion detection | |
| US11928335B2 (en) | System and method for data compaction utilizing mismatch probability estimation | |
| US12061794B2 (en) | System and method for multiple pass data compaction utilizing delta encoding | |
| US11700013B2 (en) | System and method for data compaction and security with extended functionality | |
| US12237848B2 (en) | System and method for encrypted data compression | |
| US20230106736A1 (en) | System and method for low-distortion compaction of floating-point numbers | |
| US20240372563A1 (en) | Event-driven data transmission using codebooks with protocol adaption | |
| US20250055476A1 (en) | Deep learning-based data compression with protocol adaptation | |
| US9922264B2 (en) | Path compression of a network graph | |
| US20240214003A1 (en) | Data compression with signature-based intrusion detection | |
| US12236089B2 (en) | System and method for data compaction utilizing distributed codebook encoding | |
| CN114614829A (zh) | 卫星数据帧的处理方法、装置、电子设备和可读存储介质 | |
| US12395185B2 (en) | Adaptive data processing system with dynamic technique selection and feedback- driven optimization | |
| CN115914380A (zh) | 基于Zlib压缩算法的云计算资源管理器通信延迟优化方法 | |
| US20240377949A1 (en) | System and method for codebook management based on data source grouping | |
| US12260086B2 (en) | System and method for data compaction utilizing mismatch probability estimation | |
| US12483269B2 (en) | System and method for encrypted data compression with a hardware management layer | |
| US8065374B2 (en) | Application-level lossless compression | |
| US12443343B2 (en) | Data compaction utilizing delta encoding | |
| US20250279791A1 (en) | Adaptive Data Processing with Distribution Transformation, Dual Stream Generation and Performance Monitoring | |
| US12487743B2 (en) | Medical imaging data compression utilizing codebooks | |
| WO2025097079A1 (en) | System and method for data compaction utilizing mismatch probability estimation | |
| WO2025207146A2 (en) | System and method for filesystem data compression using codebooks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |