用于学习压缩/解压缩上下文的方法以及对应的设备、系统和计算机程序产品与流程

文档序号:19608998发布日期:2020-01-03 13:52阅读:278来源:国知局
用于学习压缩/解压缩上下文的方法以及对应的设备、系统和计算机程序产品与流程
本发明涉及经由通信链路交换的数据(特别是但不限于报头数据)的压缩和解压缩的领域。更确切地说,本发明涉及一种允许在使所讨论链路的有用带宽减少最小化的同时学习由经由这样的链路交换压缩数据的两个设备(一个是压缩器,另一个是解压缩器)使用的压缩/解压缩上下文(包括至少一个压缩/解压缩规则)的方法。本发明具有许多应用,特别是但不排他地,在物联网(iot)领域中的应用,所述物联网是专用于通常具有窄带宽以便限制事物在移动应用中的功耗的这些事物的数据交换的网络。这些网络的示例是基于semtechlora、sigfox、nb-iot、ec-gsm、cat-m1、weightless、ingenu/rpma或wi-sun技术的网络,或具有类似特性的任何其他技术。本发明还可以应用于经由较短距离网络进行通信的事物,所述较短距离网络例如蓝牙、蓝牙le、ieee802.15.4和zigbee网络。更一般地,本发明适用于其通信带宽受限制的任何网络,或者连接事物所需的任何网络(即使该网络的带宽不受限制)。
背景技术
:被呈现为“第三次数字革命”,连接的事物正在成为日常和工作生活各个方面的标准。这些事物中的大多数旨在凭借其中包含的传感器来产生数据,以便向其所有者递送增值服务。因为目标应用,这些连接的事物大部分是移动的。特别是,它们必须能够定期或根据请求将产生的数据发送到远程用户。在工业环境中,这种连接的事物允许读取仪表值、触发致动器或用作其他数据网络的控制平面。这些事物的移动方面通常伴随着它们提供自己的功率的需要。然而,即使基于功耗最低的蜂窝移动无线电技术之一,当今连接的事物仍然具有阻止以合理的成本大规模部署的功耗。响应于这种移动应用中的无线电链路的功耗问题,专门用于iot网络的新的低功耗和窄带宽无线电技术(即,用于所谓的lpwan网络(低功率广域网)的无线电技术)正在开发中。更具体地,这些技术可以分为两组:-一方面是私有技术,例如公司的技术,或者实际上是技术,或者甚至是公司的技术。实践中,这些非标准化技术都基于“工业、科学和医学”频带(即,所谓的ism频带)的使用并且基于与其使用相关联的规则。这些技术的优势在于它们已经可用并且允许以有限的投资快速部署网络。此外,它们允许以低成本开发具有非常低功耗的连接的事物;-另一方面,标准组织颁布了几项技术。举例来说,可以提及正由3gpp(第三代合作伙伴计划)标准化的过程中的三种技术:nb-iot(窄带-物联网)、ltemtc(长期演进-机器类型通信)和ec-gprs(扩展覆盖-通用分组无线电服务)。但是,此类解决方案将基于许可频带,而且其规格尚未完全设定。然而,所有这些技术的共同点是它们具有窄带宽,以便降低使用这种类型的无线电链路来交换连接对象的数据的连接对象的功耗。为了优化这种类型的lpwan无线电链路的带宽的使用,正在开发各种数据压缩技术。举例来说,所谓的schc技术(schc代表静态上下文报头压缩)正在由ietf(ietf代表因特网工程任务组)开发。这种技术例如在以下文献中描述:l.toutainetal.“lpwanstaticcontextheadercompression(schc)andfragmentationforipv6andudp”(https://datatracker.ietf.org/doc/html/draft-ietf-lpwan-ipv6-static-context-hc-02)。具体地,大多数lpwan网络使用数据帧(有时也称为“分组”),其具有相对于对应报头的尺寸的小尺寸的有用部分。此外,大多数连接的事物执行的计算必须保持简单,以便限制它们的功耗。因此,schc技术提出经由使用包括一组压缩/解压缩规则的上下文来压缩/解压缩这种网络所使用的报头,所述压缩/解压缩规则对于发射器(或更确切地说对于压缩器设备)和接收器(或更确切地说对于解压缩器设备)二者是已知。就计算负荷而言,通过将特定值与所讨论的报头字段相关联,这些规则仍然易于应用。更具体地,发射器同时发送压缩的报头数据和用于压缩发送数据的规则的标识符。压缩/解压缩规则是接收器已知的,接收器基于由接收的标识符标识的压缩/解压缩规则来执行接收的压缩数据的解压缩。然而,这种技术要求在通信链路的两端处(即,由压缩数据的发射器和接收器二者)都知道规则。为此,在某些情况下,所讨论的规则是在使用它们的每个设备内预先定义的。在其他情况下,实现初始化阶段,其中,所讨论的规则从使用它们的设备之一发送到另一个,以确保两个设备在它们经由它们的发射和接收组件交换压缩数据期间使用相同的规则。然而,这样的初始化阶段是有问题的,因为它对应地减少了通信链路的可用带宽,特别是当在实践中通信链路是lpwan类型(即,是窄带宽)时。此外,某些应用可以使得数据流通过两个设备之间的通信链路进行交换,以具有动态的特性(例如,表征所传送的流的标签、源应用的端口号等)。因此,可以证明根据通信链路的特性重新参数化压缩/解压缩规则以便优化通过通信链路交换的数据帧的报头的压缩是有利的。然而,压缩/解压缩规则的更新再次需要交换额外的数据,从而减少了可用于有用数据的带宽。此外,因为lpwan网络的有限带宽,所以这种额外的数据交换可能花费长时间,这限制了压缩/解压缩规则对通信链路上的实际数据流的适应性。同样,用于交换额外数据所花费的时间可能会显著地影响实现所讨论规则的设备之间的有用数据的实时交换。因此,需要初始化和/或更新在经由通信链路交换压缩数据中实现的压缩/解压缩规则,同时将可用于所讨论的链路的有用数据的带宽的减少最小化。还需要这种更新反应性地发生,同时最小化对所讨论的通信链路上的数据交换的实时影响。技术实现要素:在所描述的技术的一个实施例中,提出了一种用于学习压缩/解压缩上下文的方法,所述压缩/解压缩上下文包括旨在由压缩器设备和解压缩器设备使用以分别压缩和解压缩经由至少一个第一通信链路发送的至少一个第一数据流的至少一个压缩/解压缩规则。在这种方法中,所述压缩器设备、所述解压缩器设备和第三设备当中的至少一个设备执行以下步骤:·分析经由至少一个第二通信链路(110b)在所述压缩器设备与所述解压缩器设备之间发送的至少一个第二非压缩数据流;以及·根据所述分析来学习所述至少一个压缩/解压缩规则;所述学习步骤包括修改至少一个基本压缩/解压缩规则,以便获得被包括在所述压缩/解压缩上下文中的所述至少一个压缩/解压缩规则,所述至少一个基本压缩/解压缩规则包括至少一个适配字段描述,其定义用于所述至少一个第一数据流的适配字段的压缩/解压缩行为,并且所述修改包括,对于每个选择的基本压缩/解压缩规则:·对于每个适配字段描述,根据所述至少一个第二数据流的分组中的所述适配字段的当前值,修改所述适配字段描述的至少一个属性。因此,本发明提出了一种用于学习(即,初始化和/或更新)压缩/解压缩上下文的新颖且有发明性的解决方案,其包括由压缩器设备和解压缩器设备实现的压缩/解压缩规则(压缩器和解压缩器设备中的每一个可能是设备本身或实际上被集成到另一件装备中,所述另一件装备例如连接的事物、诸如智能电话或平板电脑之类的用户终端、网络网关或核心网络、服务器或计算机等)。为此,所描述的技术提出使用第二通信链路,以便在压缩/解压缩规则用于经由第一通信链路交换第一数据流之前允许学习所讨论的压缩/解压缩规则。因此,第一通信链路的带宽保持专用于有用数据的交换。此外,学习压缩/解压缩规则而不影响第一通信链路上的传输速率的能力使得可以设想更频繁地更新所讨论的规则。因此,规则适应于第一通信链路上的数据交换的动态重新参数化变得可想象。最后,当第二通信链路具有比第一通信链路的带宽更宽的带宽时,用于学习压缩上下文所花费的时间长度减少。在能够由压缩器和解压缩器设备实现的所有基本规则当中,有选择地对特定压缩/解压缩规则(所选规则)执行学习。压缩器设备和/或解压缩器设备和/或第三设备期望学习的压缩/解压缩规则的一个或多个属性经由通过第二通信链路递送的信息灵活地更新。压缩器设备和/或解压缩器设备和/或第三设备期望学习的压缩/解压缩规则的一个或多个属性例如基于根据与所讨论的属性相关联的适配字段的当前值(在第二流中)选择性地选择的预定义属性值来更新。根据一个实施例,所述至少一个适配字段是至少一个第一数据流的分组的报头字段,该报头字段传送通信协议的动态信息。因此,学习与传送动态参数(即,通过第一通信链路建立通信之前未知的参数)的报头字段相关联的压缩/解压缩规则的属性。这种学习方法允许压缩和解压缩规则适应压缩器设备与解压缩器设备之间的通信的动态参数的变化。根据一个实施例,所述至少一个适配字段描述的所述至少一个属性属于包括以下各项的组:·所述适配字段的目标值;·比较运算符,其实现所述目标值与所述至少一个第一数据流的分组中的所述适配字段的当前值之间的比较,以便递送用于将压缩或解压缩函数应用于所述当前值的决定;以及·所述压缩或解压缩函数。因此,在操作阶段(在由本方法定义的学习阶段之后),为了递送压缩或解压缩的数据字段,将由学习阶段得到的压缩/解压缩规则应用于数据字段(例如,报头字段)的实际值取决于通过在学习阶段之后获得的压缩/解压缩规则在所讨论的实际值与所讨论的数据字段相关联的目标值之间的比较。然后,经由与所讨论的数据字段相关联的压缩或解压缩函数,由在学习阶段之后获得的压缩/解压缩规则执行这种压缩或解压缩。根据一个实施例,学习步骤包括根据至少一个第二非压缩数据流,在多个基本压缩/解压缩规则当中选择所述至少一个基本压缩/解压缩规则。因此,有选择地对在先前在实现学习方法的一个或多个设备中实现的基本规则(例如,模板)当中的特定压缩/解压缩规则执行学习。根据一个实施例,所述基本压缩/解压缩规则中的每一个包括至少一个参考字段描述,其定义压缩/解压缩行为和所述至少一个第一数据流的参考字段的目标值。所述选择包括,对于所述基本压缩/解压缩规则中的每一个:·对于定义给定参考字段的给定目标值的每个参考字段描述,将所述至少一个第二数据流的分组中的所述给定参考字段的当前值与所述给定目标值进行比较;以及·根据针对每个参考字段描述的所述比较,决定选择或不选择所述基本压缩/解压缩规则。因此,经由在目标值和数据的参考字段的当前值之间执行的比较,简单且鲁棒地识别压缩器设备和/或解压缩器设备和/或第三设备期望学习的压缩/解压缩规则,必须将规则应用于所述参考字段才能执行压缩或解压缩。根据一个实施例,所述至少一个参考字段是所述至少一个第一数据流的分组的另一报头字段,所述另一报头字段传送前述通信协议的静态信息。因此,经由识别传送静态参数的报头字段的值来识别压缩器设备和/或解压缩器设备和/或第三设备期望学习的压缩/解压缩规则,所述静态参数允许识别出经由第一通信链路在第一数据流中交换的压缩数据的最终接收者(例如,解压缩器、集成了解压缩器的设备,或者更具体地,在解压缩器的解压缩之后数据旨在用于的最终应用)。因此,所描述的方法允许专门用于与一个特定接收设备交换压缩数据的压缩/解压缩规则被学习。此外,使用预定准则(即,使用在经由第一通信链路建立通信之前已知的准则)鲁棒地识别期望学习的规则。根据一个实施例,被包括在所述压缩/解压缩上下文中的所述至少一个压缩规则采用schc格式,schc代表静态上下文报头压缩。根据另一实施例,所述至少一个第一通信链路是低功率广域网(lpwan)的链路。例如,它是以下类型的网络之一的问题:nb-iot(窄带-物联网)、ec-gprs(扩展覆盖-通用分组无线电服务)、lte(长期演进)cat-m1、wi-sun等。根据又一实施例,所述至少一个第二通信链路是蜂窝无线网络的链路。例如,它是2g/3g/4g蜂窝无线电链路等。根据一个实施例,所述解压缩器设备和所述解压缩器设备均执行所述分析步骤和所述学习步骤。因此,简化了这种学习方法的总体实施方式。根据另一实施例,所述压缩器设备和所述解压缩器设备中的一个执行所述分析步骤和所述学习步骤,并且所述压缩器设备和所述解压缩器设备中的另一个接收由所述分析步骤和所述学习步骤得到的所述压缩/解压缩上下文。根据又一实施例,所述第三设备执行所述分析步骤和所述学习步骤,并且所述压缩器设备和所述解压缩器设备均接收由所述分析步骤和所述学习步骤得到的所述压缩/解压缩上下文。本发明还涉及一种包含程序代码指令的计算机程序,所述程序代码指令用于当程序在计算机上被执行时,实现根据其各种实施例中的任何一个的用于学习压缩/解压缩上下文的方法。在本发明的另一个实施例中,提出了一种用于学习压缩/解压缩上下文的设备,所述压缩/解压缩上下文包括旨在由压缩器设备和解压缩器设备使用以分别压缩和解压缩经由至少一个第一通信链路发送的至少一个第一数据流的至少一个压缩/解压缩规则。这种设备包括能够并被配置为执行以下操作的可重新编程的计算机器或专用计算机器:·分析经由至少一个第二通信链路在所述压缩器设备和所述解压缩器设备之间发送的至少一个第二非压缩数据流;以及·根据所述分析,学习至少一个压缩/解压缩规则;所述学习包括修改至少一个基本压缩/解压缩规则,以便获得被包括在所述压缩/解压缩上下文中的所述至少一个压缩/解压缩规则,所述至少一个基本压缩/解压缩规则包括至少一个适配字段描述,其定义所述至少一个第一数据流的适配字段的压缩/解压缩行为,所述修改包括,对于每个选择的基本压缩/解压缩规则:对于每个适配字段描述,根据所述至少一个第二数据流的分组中的所述适配字段的当前值,修改所述适配字段描述的至少一个属性。特别地,这种用于学习压缩/解压缩上下文的设备能够实现用于根据所描述的技术(根据上述各种实施例中的任何一个)学习压缩/解压缩上下文的方法。因此,该设备的特征和优点与上述学习方法的特征和优点相同。因此,没有对它们进行更充分的详细说明。附图说明通过阅读本公开的特定实施例的以下描述以及附图,其他特征和优点将变得更加清楚,本公开的实施例是通过简单的说明性和非限制性示例的方式给出的,在附图中:-图1示出了根据所述技术的一个实施例的包括压缩器和解压缩器的系统;-图2示出了根据所述技术的一个实施例的用于学习压缩/解压缩上下文的方法的步骤;并且-图3示出了允许实现图2的方法的学习设备的结构的示例。具体实施方式在本文档的所有附图中,相同的元素和步骤已经用相同的附图标记引用。所描述的技术的一般原理包括用于学习压缩/解压缩上下文的方法,所述压缩/解压缩上下文包括旨在由压缩器设备和解压缩器设备使用以分别压缩和解压缩经由至少一个第一通信链路发送的第一数据流的至少一个压缩/解压缩规则。在这种方法中,压缩器设备、解压缩器设备和第三设备(不同于压缩器设备和解压缩器设备)当中的至少一个设备根据经由第二通信链路在压缩器设备和解压缩器设备之间发送的第二非压缩数据流来学习所讨论的压缩/解压缩规则。因此,第一通信链路的带宽保持专用于有用数据的交换。现在将参考图1描述根据所述技术的一个实施例的包括压缩器设备100a和解压缩器设备100b的系统。在该实施例中,压缩器设备100a和解压缩器设备100b分别压缩和解压缩经由第一通信链路110a发送的第一数据流。第一通信链路110a是lpwan(例如,根据以下标准之一的无线电链路:nb-iot、ec-gprs、ltecat-m1、wi-sun等)。压缩器设备100a集成到连接的事物130(例如,传感器/致动器)中,并且解压缩器设备100b位于lpwan网络的网络网关与核心通信网络(例如,ip网络,例如因特网140或内联网)之间的数据路径上。由解压缩器设备100b解压缩的数据因此经由因特网140路由到应用服务器150。更具体地,由解压缩器设备100b解压缩的数据被路由到一个或多个目标应用151,最初由连接的事物130以由压缩器设备100a的动作压缩的形式发送的所讨论的数据旨在去往所述目标应用151。在某些实施例(未示出)中,压缩器设备100a和解压缩器设备100b分别压缩和解压缩经由一个或多个第一通信链路110a发送的多个第一数据流。在其他实施例(未示出)中,压缩器和解压缩器设备100a、100b中的每一个本身是设备或者实际上集成到另一件装备中,所述另一件装备例如连接的事物、诸如智能电话或平板电脑之类的用户终端、网络网关或核心网络、服务器或计算机、一件云计算装备等。在又一实施例(未示出)中,所讨论的其他装备均包括压缩器设备110a和解压缩设备110b。在这些配置中,经由一个或多个第一通信链路110a发送的一个或多个第一数据流是双向的。同样,第二数据流在所讨论的每件其他装备的压缩器设备110a和解压缩器设备110b之间发送。在某些实施例中,第一通信链路110a是ieee802.15.4或zigbee类型的短程无线电链路,或甚至是蜂窝(例如,2g/3g/4g等)链路等。为了优化第一通信链路110a的带宽的使用,压缩器和解压缩器设备100a、100b使用数据压缩/解压缩规则(在该示例中数量为三个,并且标记为120a、120b和120c)。这些规则形成压缩/解压缩上下文120。例如,使用的压缩/解压缩规则采用schc格式(schc是基于上下文的压缩技术,参见上面的定义)。下面的表1给出了采用schc格式的这种压缩/解压缩规则的属性的示例(例如,引用的规则120a)。表1字段标识符目标值比较运算符压缩/解压缩函数c10x00忽略不发送c20x1230msb(12)lsb(4)c30xabc0msb(12)lsb(4)更具体地,可以看出,所讨论的压缩/解压缩规则120a包括三个字段描述的列表。每个字段描述对应于上面的表1的一行,并且定义了用于要压缩/解压缩的第一数据流的确定的字段的压缩/解压缩行为。更具体地,可以看出,对于给定的字段描述(即,对于表1的给定行),所讨论的规则120a的属性是:·要压缩/解压缩的数据当中的数据字段的标识符(即,采用schc格式的字段描述的情况下的报头字段),在适当的情况下,与所讨论的描述相关联的压缩/解压缩函数将应用于所述数据(这里取决于所讨论的字段描述,是第一列的字段c1或c2或c3);·与由第一列的字段标识符标识的字段关联的目标值;·比较运算符,所讨论的规则120a应用所述比较运算符以比较由第一列的标识符标识的数据字段的实际值(即,要压缩或解压缩的所讨论的第一数据流的字段的值)和此字段的目标值,即例如在表格第二列中列出的值;·当第二列的比较运算符递送的结果为正时,要被应用于由第一列的标识符标识的数据字段的实际值的压缩/解压缩函数。举例来说,我们将考虑规则的应用,其属性在表1中给出以用于压缩分别由三个报头字段c1、c2和c3以及它们的三个当前值0x00、0x1234和0xabcd组成的数据分组,即数据分组[0x00,0x1234,0xabcd]。可以看出:·字段c1的当前值不重要,该值被所讨论的规则120a忽略。始终应用对应的压缩函数,并且在当前情况下不发送字段c1的数据位。·字段c2的12个msb(最高有效位)的当前值(即,0x1230)对应于预期目标值。因此,应用对应的压缩函数,并且仅保留字段c2的4个lsb(最低有效位)(即,0x4)以供发送;·字段c3的12个msb(最高有效位)的当前值(即,0xabc0)对应于预期目标值。因此,应用对应的压缩函数,并且仅保留字段c3的4个lsb(最低有效位)(即,0xd)以供发送。因此,将所讨论的规则120a应用于数据分组[0x00,0x1234,0xabcd]将由连接的事物130发送的压缩分组[0x4d]经由其上找到解压缩器设备110b的第一通信链路110a递送到应用服务器150。此外,连接的事物130同时发送由压缩器设备100a用于压缩发送的数据的规则120a的标识符。因此,解压缩器设备100b将相同的规则120a应用于它接收的压缩数据,并且为了重构原始数据,执行由压缩器设备100a执行的逆操作,即:·默认情况下,将值0x00与字段c1相关联;·将经由第一通信链路110a接收的与lsb0x4连接的0x1230的12个msb放回,以形成字段c2的初始当前值,即0x1234;·将经由第一通信链路110a接收的与lsb0xd连接的0xabc0的12个msb放回,以便形成字段c3的初始当前值,即0xabcd。此外,在当前第一实施方式中,压缩器和解压缩器设备100a、100b中的每一个包括用于学习压缩/解压缩上下文的设备300。其他可能的实施方式如下。这样的学习设备300(其结构的示例在下面参考图3描述)能够获得并处理经由第二通信链路110b在压缩器设备100a与解压缩器设备100b之间发送的第二数据流的数据。例如,第二通信链路100b是ieee802.15.4或zigbee类型的短距离无线电通信链路,或甚至是蜂窝(例如,2g/3g/4g等)链路等。在某些实施例(未示出)中,学习设备300能够获得并处理经由一个或多个第二通信链路110b在压缩器设备100a与解压缩器设备100b之间发送的多个第二数据流的数据。在变型中,第二通信链路110b是lpwan链路(例如,根据以下标准之一的无线电链路:nb-iot、ec-gprs、ltecat-m1、wi-sun等)。在其他变型中,第一110a和第二110b通信链路是基于相同无线电通信协议的两种不同模式的两个无线电链路(例如,nb-iot标准的ip模式,以及相同标准的非ip模式(nb-iot标准的非ip模式也被称为表示“nas上的数据”的donas或表示“非ip数据递送”的nidd))。因此,一个或多个学习设备300能够实现用于学习下面参考图2描述的压缩/解压缩上下文120的方法。参考图2,现在将描述根据所描述技术的一个实施例的用于学习压缩/解压缩上下文120的方法的一个实施例。该方法由每个学习设备300(即,在当前第一实施方式中,由被包括在压缩器设备100a中的学习设备和被包括在解压缩器设备100b中的学习设备)执行。在分析步骤e200中,学习设备300分析经由第二通信链路110b在压缩器设备100a和解压缩器设备100b之间发送的第二非压缩数据流。这种分析允许学习设备300获得学习压缩/解压缩上下文的后续步骤e210所需的信息。该上下文本身用于随后经由第一通信链路110a发送的第一数据流的压缩和解压缩。下面参考学习步骤e210和对应的子步骤描述所讨论的信息的本质。学习步骤e210包括选择子步骤e210a和修改子步骤e210b。在选择子步骤e210a中,学习设备300根据第二非压缩数据流(并且更准确地,根据在分析步骤e200中获得的信息)在多个基本规则当中选择至少一个基本规则。在一个实施例中,这样的基本规则是例如先前在学习设备300中实现的模板。因此,选择这些模板中的一个或多个,然后使用所描述的技术进行修改,以便能够用于压缩和解压缩通过第一通信链路110a交换的第一数据流。在另一实施例中,这样的基本规则是已经用于压缩和解压缩第一数据流的当前规则,但是其期望使用所描述的方法进行更新。根据一个特定实施例,基于对给定规则120a、120b、120c定义的参考字段来选择一个或多个基本规则。更具体地,采用schc格式的规则的每个参考字段描述(具有例如以上参考表1所介绍的字段描述表示法)定义了压缩/解压缩行为和参考字段的目标值。因此,对于每个基本规则,选择子步骤e210a包括:·对于定义给定参考字段的给定目标值的每个参考字段描述,将第二数据流的分组中的给定参考字段的当前值和给定目标值进行比较e210a1;以及·根据针对每个参考字段描述的比较,决定e210a2选择或不选择该基本规则。因此,学习设备300学习的每个规则都基于基本规则之一,所述规则通过在目标值和数据的参考字段的当前值之间执行的比较简单且鲁棒地识别(即,选择),必须将该规则应用于所述字段以便执行压缩或解压缩。根据某些实施例,参考字段是第一数据流的分组的报头字段,其经由第一通信链路110a发送,并且传送静态信息。更具体地,这样的参考字段是传送静态信息的报头字段,所述静态信息例如由在第一通信链路110a上使用的通信协议定义的静态信息。例如,这是ip因特网协议(例如,ipv4或ipv6)、udp协议(udp代表用户数据报协议)或tcp协议(tcp代表发送控制协议)、coap协议(coap代表受约束的应用协议)、mqtt协议(mqtt代表mq遥测发送)或wm-bus协议(wm-bus代表无线m-bus)、zigbee协议等的问题。因此,经由识别传送静态参数的报头字段的值来识别(即,选择)基本规则当中的一个或多个规则,以允许经由第一通信链路110a在第一数据流中交换的压缩数据的最终接收者被识别(通常,任何包含允许所讨论的最终接收者被识别的元素的字段可以被认为定义参考字段)。该最终接收者例如是解压缩器100b,其是集成了解压缩器的设备,或者更具体地是在解压缩器100b的解压缩之后数据旨在用于的最终应用151。因此,所描述的方法允许学习专门用于与一个特定接收设备交换压缩数据的压缩/解压缩规则120a、120b、120c。此外,使用预定准则(即,使用在经由第一通信链路建立通信之前已知的准则)来鲁棒地识别(即,选择)基本规则当中的一个或多个。在修改子步骤e210b中修改了一个或多个所选规则(即,在基本规则当中选择的),以便获得被包括在压缩/解压缩上下文120中的一个或多个压缩/解压缩规则120a、120b、120c。根据一个实施例,基于针对给定基本规则定义的适配字段来修改在基本规则当中选择的规则。更具体地,采用schc格式的规则的每个适配字段描述(具有例如以上参考表1所引入的字段描述表示法)定义压缩/解压缩行为和适配字段的目标值。因此,对于每个所选择的基本规则并且对于每个适配字段描述,修改包括根据第二数据流来修改适配字段描述的至少一个属性。因此,期望学习的规则120a、120b、120c的一个或多个属性经由由第二通信链路110b在第二数据流中递送的信息灵活地更新。在一个实施例中,对于适配字段描述的至少一个属性(期望学习的),使用第二数据流的分组中的所讨论的适配字段的当前值来直接修改该属性。例如,该当前值被用作所讨论的适配字段的描述中的目标值(参见下面的表2的描述)。在另一实施例中,对于适配字段描述的至少一个属性(期望学习的),根据第二数据流的分组中的所讨论的适配字段的当前值来修改该属性。例如,如果当前值被用作目标值,则比较运算符和/或压缩/解压缩函数自动改变值,即切换到预定的新值(参见下面的表2的描述)。在这种情况下,预先在实现修改步骤e230b的学习设备300中定义了属性的预定新值。根据某些实施例,适配字段是第一数据流的分组的报头字段,其经由第一通信链路110a发送并且传送动态信息。更具体地,这样的适配字段是传送动态信息的报头字段,所述动态信息例如由在第一通信链路110a上使用的并且参考参考字段在上面描述的通信协议定义的。因此,学习与传送动态参数的报头字段相关联的(压缩/解压缩规则的)属性(通常,可以考虑传送这样的动态参数的任何字段以便定义适配字段),所述动态参数即在通过第一通信链路110a建立通信之前未知的参数。这种用于学习的方法允许压缩和解压缩规则120a、120b、120c适应于压缩器和解压缩器设备100a、100b之间的通信的动态参数化的变化。在一个特定实施例中,适配字段的描述的属性意指:·适配字段的目标值;·比较运算符,其将第一数据流的分组中的适配字段的当前值和目标值进行比较,以便递送用于将压缩或解压缩函数应用于当前值的决定;以及·所讨论的压缩或解压缩函数。因此,修改子步骤e210b的执行结束了用于根据所描述的技术来学习压缩/解压缩上下文的方法的学习步骤e210。可以看出,由于压缩/解压缩上下文120的规则是基于由第二非压缩数据流(经由第二通信链路110b)传送的信息来学习的,因此第一通信链路110a的带宽保持专用于交换有用的数据。此外,在不影响第一通信链路110a的可用带宽的情况下学习压缩/解压缩上下文120的规则的能力使得可以设想更频繁地更新所讨论的上下文120。因此,规则适应于通过第一通信链路的数据交换的动态重新参数化变得可想象。最后,当第二通信链路110b具有比第一通信链路110a的带宽更宽的带宽时,压缩器和解压缩器设备100a、100b学习压缩上下文所花费的时间长度减少。此外,在某些实施例中,不执行选择步骤e210a。然后,默认地针对在学习设备300中实现并且具有适配字段的目标值的所有基本规则实现修改步骤e210b,所述适配字段的当前值被接收作为经由第二通信链路100b接收的数据分组中的有用数据。例如,当在学习设备300中实现单个基本规则时,这样的实施例是有利的。当所讨论的学习设备300在由第一通信链路110a仅连接到压缩数据的单个接收者的一件装备内实现时,也可以是这种情况。因此,参考字段(标识该单个接收者)对于所有基本规则是相同的,从而在其实施例中基于参考字段的比较使得选择步骤e210a的实现变得多余。作为示例,下面的表2给出了在通过实现上述学习方法执行学习之前,采用schc格式的基本压缩/解压缩规则的具有对应属性的字段描述。假定该基本规则的参考字段是字段c2和c3(由表2中的星号标识),该信息与基本规则本身相关联,并且因此对于压缩器和解压缩器设备100a、100b已知。表2字段标识符目标值比较运算符压缩/解压缩函数c1忽略发送c2*b相等不发送c3*c相等不发送c4x相等不发送我们将考虑压缩器和解压缩器设备100a、100b经由由第二通信链路100b传送的第二非压缩数据流接收数据分组,其有用部分包括传送与字段c1至c4相关联的当前值的信息(例如,[c1=a,c2=b,c3=c,c4=d])的。字段c1至c4是第一数据流的报头字段,必须对所述报头字段应用压缩和解压缩,所述压缩和解压缩分别由压缩器设备100a和解压缩器设备100b执行。可以看出,诸如由数据分组都送的字段c2和c3的当前值(即,在当前情况下分别为“b”和“c”)对应于基本规则的参考字段的目标值,所述参考字段的属性在表2中给出。因此,在根据所描述的技术的学习方法的选择步骤e210a的实现期间,压缩器和解压缩器设备100a、100b选择表2的基本规则(然后修改所述规则以便获得上下文规则之一)。作为对比,没有选择另一个基本规则,其参考字段不具有与经由第二通信链路100b接收的数据分组中的相同字段相关联的当前值相对应的目标值(而且,两个不同的基本规则能够有不同的参考字段)。在根据所描述的技术的学习方法的修改步骤e210b的实现期间,压缩器和解压缩器设备100a、100b修改(更新)预先选择并且与适配字段相关联的基本规则的属性,所述适配字段的当前值作为经由第二通信链路100b接收的数据分组中的有用数据被接收。在当前情况下,是与表2的基本规则的适配字段(也称为学习字段)c1和c4相关联的属性的问题(学习字段与当前情况下的参考字段不同)。因此,如果采用上面作为示例给出的数据分组的有用数据的值,则将与表2的基本规则(即,所选择的规则)的字段c1和c4相关联的目标值更新为值“a”和“d”。此外,由于当前字段c1的目标值被更新为非零值,因此与字段c1相关联的比较运算符的值也用字段c1的非零值的预定义值(即,在当前情况下为“相等”)来更新。同样,压缩/解压缩函数的值用预定义值“不发送”来更新。在另一实施例中,比较运算符和压缩/解压缩函数的新值经由在第二非压缩数据流内(由第二通信链路110b)传送的数据分组的有用数据来递送。因此,在根据所描述的技术实现学习方法之后,更新表2的基本规则的属性。形成上下文120的规则之一的结果在下面的表3中给出。此外,不修改所讨论规则的标识符。表3字段标识符目标值比较运算符压缩/解压缩函数c1a相等不发送c2*b相等不发送c3*c相等不发送c4d相等不发送最后,图3示出了允许实现图2的方法的学习设备300的结构的示例。它包括随机存取存储器303和处理单元302,所述处理单元302例如装备有处理器并由存储在只读存储器301(例如,硬盘)中的计算机程序驱动。在初始化时,计算机程序的代码指令例如在由处理单元302的处理器执行之前被加载到随机存取存储器303中。在图3中,仅示出了在几种可能的方式当中的实现上面参考图2详述的算法的一种特定方式。具体地,所描述的技术可以在执行包含指令序列的程序的可重新编程计算机器(pc、dsp或微控制器)上执行,或者在专用计算机器(例如,诸如fpga或asic之类的一组逻辑门或任何其他硬件模块)上执行。在所描述的技术由可重新编程的计算机器实现的情况下,对应的程序(即,指令序列)将可选地存储在可移动存储介质(例如,软盘、cd-rom或dvd-rom)中),该存储介质由计算机或处理器部分或完全地读取。在上面参考图1至3描述的第一实施方式中,压缩器和解压缩器设备100a、100b中的每一个包括用于学习压缩/解压缩上下文的设备300(并且因此它们均执行图2的学习方法)。因此,简化了这种用于学习的方法的总体实施方式。然而,将清楚的是,在不脱离本发明的范围的情况下,可以设想本发明的其他实施例。因此,在第二实施方式中,压缩器和解压缩器设备100a、100b中的仅一个包括学习设备300(并且因此执行图2的学习方法)。在这种情况下,不学习的压缩器或解压缩器设备接收由另一个执行的学习方法得到的压缩/解压缩上下文。在第三实施方式中,它是第三设备(在图1中由虚线框表示并且标记为100c),其包括学习设备300(由图1中的虚线框表示)并且因此执行图2的学习方法。在这种情况下,压缩器设备100a和解压缩器设备100b均接收由第三设备100c执行的学习方法得到的压缩/解压缩上下文。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1