CN115087958B - 数据更新方法、装置和设备 - Google Patents

数据更新方法、装置和设备 Download PDF

Info

Publication number
CN115087958B
CN115087958B CN202080095654.0A CN202080095654A CN115087958B CN 115087958 B CN115087958 B CN 115087958B CN 202080095654 A CN202080095654 A CN 202080095654A CN 115087958 B CN115087958 B CN 115087958B
Authority
CN
China
Prior art keywords
data
update
information
updating
mode
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.)
Active
Application number
CN202080095654.0A
Other languages
English (en)
Other versions
CN115087958A (zh
Inventor
郭磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN115087958A publication Critical patent/CN115087958A/zh
Application granted granted Critical
Publication of CN115087958B publication Critical patent/CN115087958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

一种数据更新方法、装置和设备,其中,数据更新方法包括:接收更新信息,更新信息包括模式指示信息,模式指示信息指示更新信息的更新模式以及更新信息包括的数据类型;根据更新信息的更新模式,获得存储区域中的目标存储空间;其中,存储区域存储有路由信息;根据更新信息包括的数据类型,从更新信息中提取待更新的路由信息;根据待更新的路由信息,更新目标存储空间中的路由信息。提升了数据配置效率,缩短了处理时延。

Description

数据更新方法、装置和设备
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种数据更新方法、装置和设备。
背景技术
直接内存访问(direct memory access,DMA)是一种高速数据传输模式,数据可以从一个通道,在不经过中央处理器(central processing unit,CPU)干预的情况下直接在外部设备与存储器之间传输。目前,很多设备都采用DMA实现不同场景下的数据传输,例如,路由器可以通过DMA对多播表(multicast identification,MID)刷表配置,更新路由器的内存中存储的MID。
通常,MID地址与路由器中内存的物理地址是一一对应的,通过DMA刷表配置时要求MID地址是连续的。如果对一部分MID地址进行数据更新,需要将内存中全部的MID读出来存储到外部存储空间,在外部存储空间中对一部分MID地址的数据进行修改后,再将全部的MID配置回内存中。
通过上述方式更新MID,数据更新效率低,对外部存储资源要求较高,时延较大。
发明内容
本申请实施例提供一种数据更新方法、装置和设备,提升了数据配置效率,缩短了处理时延。
第一方面,本申请实施例提供一种数据更新方法,包括:接收更新信息,更新信息包括模式指示信息,模式指示信息指示更新信息的更新模式以及更新信息包括的数据类型;根据更新信息的更新模式,获得存储区域中的目标存储空间;其中,存储区域存储有路由信息;根据更新信息包括的数据类型,从更新信息中提取待更新的路由信息;根据待更新的路由信息,更新目标存储空间中的路由信息。
通过第一方面提供的数据更新方法,接收更新信息,可以从更新信息中获取更新信息的更新模式和更新信息包括的数据类型,根据更新信息的更新模式获得存储区域中的目标存储空间,根据更新信息包括的数据类型从更新信息中提取待更新的路由信息,根据待更新的路由信息更新目标存储空间中的路由信息。由于不需要将存储区域中的信息读到外部存储空间,在外部存储空间中修改数据并写回至存储区域中,降低了对外部存储资源的要求,缩短了时延,提升了数据配置效率。
可选的,在第一方面的一种可能的实施方式中,接收更新信息,包括:接收第一数据;若根据第一数据的指示域的值确定第一数据关联有第二数据,则获取第二数据;其中,更新信息包括第一数据和第二数据。
可选的,在第一方面的一种可能的实施方式中,确定第一数据关联有第二数据,包括:根据第一数据的指示域的值,确定第一数据的更新模式;若第一数据的更新模式与至少两种数据类型相关联,则确定第一数据关联有第二数据。
可选的,在第一方面的一种可能的实施方式中,还包括:若根据第一数据的指示域的值确定第一数据未关联有第二数据,则将第一数据确定为更新信息。
可选的,在第一方面的一种可能的实施方式中,根据更新信息的更新模式,获得存储区域中的目标存储空间,包括:若更新信息的更新模式为第一更新模式,则将存储区域确定为目标存储空间;若更新信息的更新模式为第二更新模式或第三更新模式或第四更新模式,则根据第二数据类型对应的数据确定目标存储空间。
可选的,在第一方面的一种可能的实施方式中,指示域包括第一子指示域和第二子指示域,第一子指示域的值与预设多种更新模式相关,第二子指示域的值与预设多种数据类型相关。
可选的,在第一方面的一种可能的实施方式中,指示域位于数据中所有比特位的前端。
第二方面,本申请实施例提供一种数据更新装置,包括:接收模块,用于接收更新信息,更新信息包括模式指示信息,模式指示信息指示更新信息的更新模式以及更新信息包括的数据类型;第一获取模块,用于根据更新信息的更新模式,获得存储区域中的目标存储空间;其中,存储区域存储有路由信息;第二获取模块,用于根据更新信息包括的数据类型,从更新信息中提取待更新的路由信息;处理模块,用于根据待更新的路由信息,更新目标存储空间中的路由信息。
可选的,在第二方面的一种可能的实施方式中,接收模块具体用于:接收第一数据;若根据第一数据的指示域的值确定第一数据关联有第二数据,则获取第二数据;其中,更新信息包括第一数据和第二数据。
可选的,在第二方面的一种可能的实施方式中,接收模块具体用于:根据第一数据的指示域的值,确定第一数据的更新模式;若第一数据的更新模式与至少两种数据类型相关联,则确定第一数据关联有第二数据。
可选的,在第二方面的一种可能的实施方式中,接收模块还用于:若根据第一数据的指示域的值确定第一数据未关联有第二数据,则将第一数据确定为更新信息。
可选的,在第二方面的一种可能的实施方式中,第一获取模块具体用于:若更新信息的更新模式为第一更新模式,则将存储区域确定为目标存储空间;若更新信息的更新模式为第二更新模式或第三更新模式或第四更新模式,则根据第二数据类型对应的数据确定目标存储空间。
可选的,在第二方面的一种可能的实施方式中,指示域包括第一子指示域和第二子指示域,第一子指示域的值与预设多种更新模式相关,第二子指示域的值与预设多种数据类型相关。
可选的,在第二方面的一种可能的实施方式中,指示域位于数据中所有比特位的前端。
第三方面,本申请实施例提供一种数据更新设备,包括处理器、存储器和接口电路,接口电路用于与其它设备通信,处理器用于调用存储器中存储的程序,以执行以上第一方面提供的数据更新方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机或处理器上运行时,实现如以上第一方面提供的方法。
第五方面,本申请实施例提供一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得该设备实施以上第一方面提供的方法。
在以上各个方面中,可选的,在一种可能的实施方式中,更新信息包括至少一个预设比特长度的数据,数据包括指示域;其中,指示域的值与预设多种更新模式和预设多种数据类型相关,每种更新模式与预设多种数据类型中的至少一种数据类型相关联。
可选的,在一种可能的实施方式中,预设多种数据类型包括:第一数据类型,用于指示待更新的路由信息;第二数据类型,用于指示待更新的路由信息对应的地址信息;第三数据类型,用于指示待更新的路由信息中需要更新的比特位。
可选的,在一种可能的实施方式中,预设多种更新模式包括:第一更新模式,第一更新模式仅与第一数据类型相关联;第二更新模式,第二更新模式与第一数据类型、第二数据类型和第三数据类型相关联;第三更新模式,第三更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为一个;第四更新模式,第四更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为至少两个。
附图说明
图1为存储区域的物理地址与MID表的MID地址之间对应关系的示意图;
图2为现有的更新MID表的一种示意图;
图3为本申请实施例适用的更新MID表的一种示意图;
图4为本申请实施例提供的数据更新方法的一种流程图;
图5为本申请实施例提供的更新信息的一种示意图;
图6为图5中预设比特长度的数据的一种示意图;
图7为本申请实施例提供的第一更新模式的原理示意图;
图8为本申请实施例提供的第二更新模式的原理示意图;
图9为本申请实施例提供的第三更新模式的原理示意图;
图10为本申请实施例提供的第四更新模式的原理示意图;
图11为本申请实施例提供的数据更新方法的另一种流程图;
图12为本申请实施例提供的数据更新装置的一种结构示意图;
图13为本申请实施例提供的数据更新设备的一种结构示意图。
具体实施方式
下面结合附图描述本申请实施例。
在现有技术中,路由器可以通过DMA对MID表刷表配置。通常,路由器中存储MID表的存储区域的物理地址与MID表的MID地址是一一对应的。示例性的,图1为存储区域的物理地址与MID表的MID地址之间对应关系的示意图。如图1所示,路由器中存储区域(例如,内存)的物理地址为P0~Pn,MID表的MID地址为MID 0~MID n,物理地址P0~Pn与MID地址MID0~MID n一一对应,比如,物理地址P0与MID地址MID 0对应,物理地址P1与MID地址MID 1对应。在图1中,路由器当前存储有数据D0~Dn,也称为MID表项。其中,数据D0存储在物理地址P0中,数据D1存储在物理地址P1中,以此类推。路由器通过DMA刷表配置时,通常要求MID地址是连续的。例如,在图1中,MID地址MID 0~MID n对应的待更新信息包括数据D0’~Dn’,路由器可以进行连续地址更新,将物理地址P0~Pn中存储的数据D0~Dn分别更新为数据D0’~Dn’,比如,物理地址P0中存储的数据由D0更新为D0’,物理地址P1中存储的数据由D1更新为D1’。
MID表更新还存在如下场景:仅对一部分MID地址进行数据更新。示例性的,图2为现有的更新MID表的一种示意图。在图2中,例如,仅需要对MID地址MID 1进行数据更新。现有的更新过程包括:通过CPU先将内存中的数据D0~Dn读出来存储到外部存储区域,在外部存储区域中对MID地址MID 1对应的数据由D1更新为D1’,再将外部存储区域中已经更新的数据D0、D1’、D2~Dn通过CPU全部写入内存中,完成数据更新,存储区域中的数据由D0~Dn更新为D0、D1’、D2~Dn。
可见,针对地址不连续的刷表配置的应用场景,需要在内存外部有大量的存储资源对MID表项进行缓存,对外部存储资源要求较高。而且,只能单个表项访问,无法使用DMA,由于需要将全部MID表项存储到外部存储空间,流程复杂,导致配置时间长、时延大,数据更新效率低。
基于该技术问题,本申请实施例提供一种数据更新方法。示例性的,结合图3进行说明。图3为本申请实施例适用的更新MID表的一种示意图。如图3所示,接收更新信息,从更新信息中可以提取该更新信息的更新模式和该更新信息包括的数据类型。通过更新信息的更新模式,可以确定存储区域中需要更新数据的目标存储空间,例如,在图3中,目标存储空间可以为MID地址MID 1对应的物理地址P1指示的存储单元。通过更新信息包括的数据类型可以获得待更新的路由信息。这样,根据待更新的路由信息可以更新目标存储空间中的路由信息。相比于现有技术中的数据更新方法,本申请实施例提供的数据更新方法,不需要将存储区域中的信息读到外部存储空间,在外部存储空间中修改数据并写回至存储区域中,可以直接更新存储区域中的数据,降低了对外部存储资源的要求,甚至对外部存储资源没有需求,缩短了时延,提升了数据配置效率。
本申请实施例提供的数据更新方法,适用于采用DMA更新数据的设备,本申请实施例对设备的类型不做限定。例如,该设备可以包括但不限于路由器、交换机,等。
下面结合附图进行描述。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图4为本申请实施例提供的数据更新方法的一种流程图。本实施例提供的数据更新方法,执行主体可以为数据更新装置或数据更新设备。如图4所示,本实施例提供的数据更新方法,可以包括:
S401、接收更新信息。
其中,更新信息包括模式指示信息,模式指示信息指示更新信息的更新模式以及更新信息包括的数据类型。
具体的,在本实施例中,可以预先设置多种更新模式和多种数据类型。不同的更新模式可以适用于不同的数据更新场景,数据更新场景可以包括但不限于图1所示的连续地址更新场景、以及图2或图3所示的不连续地址更新场景。不同的数据类型用于指示数据的含义或者用途不同。其中,更新信息的更新模式可以为预设多种更新模式中的一种,更新信息包括的数据类型可以为预设多种数据类型中的至少一种。
可选的,预设多种数据类型可以包括但不限于:
第一数据类型,用于指示待更新的路由信息。
第二数据类型,用于指示待更新的路由信息对应的地址信息。
第三数据类型,用于指示待更新的路由信息中需要更新的比特位。
可选的,预设多种更新模式可以包括但不限于:
第一更新模式,第一更新模式仅与第一数据类型相关联。
第二更新模式,第二更新模式与第一数据类型、第二数据类型和第三数据类型相关联。
第三更新模式,第三更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为一个。
第四更新模式,第四更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为至少两个。
后续会通过表1~表6以及图7~图10,对预设多种数据类型和预设多种更新模式进行示例性说明。
S402、根据更新信息的更新模式,获得存储区域中的目标存储空间。
其中,存储区域存储有路由信息。
示例性的,在图1所示的应用场景中,存储区域为路由器的内存,物理地址为P0~Pn,目标存储空间为该存储区域,物理地址为P0~Pn。在图2或图3所示的应用场景中,存储区域的物理地址为P0~Pn,目标存储空间为物理地址P1指示的存储单元。
S403、根据更新信息包括的数据类型,从更新信息中提取待更新的路由信息。
由于不同的数据类型用于指示数据的含义或者用途不同,根据更新信息包括的数据类型,可以从更新信息中提取待更新的路由信息。示例性的,在图1所示的应用场景中,待更新的路由信息包括D0’~Dn’。在图2或图3所示的应用场景中,待更新的路由信息包括D1’。
S404、根据待更新的路由信息,更新目标存储空间中的路由信息。
具体的,根据更新信息获取存储区域中的目标存储空间以及待更新的路由信息后,可以更新目标存储空间中的路由信息。例如,可以通过DMA更新目标存储空间中的路由信息。其中,本实施例对其他的更新方式不做限定。
可见,本实施例提供的数据更新方法,通过接收更新信息,可以从更新信息中获取更新信息的更新模式和更新信息包括的数据类型,根据更新信息的更新模式获得存储区域中的目标存储空间,根据更新信息包括的数据类型从更新信息中提取待更新的路由信息,根据待更新的路由信息更新目标存储空间中的路由信息。本实施例提供的数据更新方法,不需要将存储区域中的信息读到外部存储空间,在外部存储空间中修改数据并写回至存储区域中,降低了对外部存储资源的要求,缩短了时延,提升了数据配置效率。
可选的,参见图5,更新信息可以包括至少一个预设比特长度的数据,预设比特长度的数据可以包括指示域。其中,指示域的值与预设多种更新模式和预设多种数据类型相关,每种更新模式与预设多种数据类型中的至少一种数据类型相关联。
需要说明的是,本实施例对预设比特长度的具体取值不做限定,例如,预设比特长度为32bit。本实施例对更新信息包括的预设比特长度的数据的数量不做限定,与更新信息的更新模式和更新信息包括的数据类型相关。本实施例对指示域在预设比特长度中的占用位置以及指示域的比特长度不做限定,可选的,指示域可以位于预设比特长度的数据中所有比特位的前端,可以占用预设比特长度的数据中的预留比特位。
可选的,参见图6,指示域可以包括第一子指示域和第二子指示域,第一子指示域的值与预设多种更新模式相关,第二子指示域的值与预设多种数据类型相关。
需要说明的是,本实施例对第一子指示域和第二子指示域的前后位置不做限定。例如,在图6中,第一子指示域位于第二子指示域的前面。可选的,在另一种实现方式中,第二子指示域可以位于第一子指示域的前面。本实施例对第一子指示域和第二子指示域的比特长度不做限定。第一子指示域的比特长度可以与预设多种更新模式的数量相关。例如,预设多种更新模式包括4种更新模式时,第一子指示域的比特长度可以为2bit,预设多种更新模式包括5种更新模式时,第一子指示域的比特长度可以为3bit。本实施例对第一子指示域的取值与预设多种更新模式之间的对应关系不做限定。例如,预设多种更新模式包括2种更新模式时,在一种实现方式中,第一子指示域的取值为0时指示第一种更新模式,第一子指示域的取值为1时指示第二种更新模式;在另一种实现方式中,第一子指示域的取值为1时指示第一种更新模式,第一子指示域的取值为0时指示第二种更新模式。相似的,第二子指示域的比特长度可以与预设多种数据类型的数量相关,本实施例对第二子指示域的取值与预设多种数据类型之间的对应关系不做限定。
下面,结合表1~表6以及图7~图10,通过示例对更新信息、预设比特长度的数据、指示域、第一子指示域、第二子指示域、预设多种更新模式和预设多种数据类型进行说明。
假设,预设比特长度为32bit。其中,bit0~bit27携带有效负荷或有效信息,bit28~bit31为指示域,第一子指示域为bit30~bit31,第二子指示域为bit28~bit29。
如表1所示,预设多种数据类型包括第一数据类型~第三数据类型。bit29、bit28的取值为二进制0、1时,指示第一数据类型;bit29、bit28的取值为二进制0、0时,指示第二数据类型;bit29、bit28的取值为二进制1、0时,指示第三数据类型。其中,第一数据类型可以表示为位表(bitmap,bmp),bmp中的bit0~bit27用于指示待更新的路由信息。第二数据类型可以表示为MID,MID中的bit0~bit27用于指示待更新的路由信息对应的地址信息。例如,在图2或图3所示的应用场景中,MID中的bit0~bit27用于指示MID 1。第三数据类型可以表示为msk(掩码),msk中的bit0~bit27用于指示待更新的路由信息中需要更新的比特位。例如,若待更新的路由信息(28bit)中需要更新的比特位为bit5~bit0,可选的,在一种实现方式中,msk中bit5~bit0的取值可以均为二进制0,bit6~bit27的取值可以均为二进制1;或者,在另一种实现方式中,msk中bit5~bit0的取值可以均为二进制1,bit6~bit27的取值可以均为二进制0。
表1
数据类型 bit31 bit30 bit29 bit28 bit27…bit0
第一数据类型(bmp) 0 1
第二数据类型(MID) 0 0
第三数据类型(msk) 1 0
如表2所示,预设多种更新模式包括第一更新模式~第四更新模式。bit31、bit30的取值为二进制0、0时,指示第一更新模式;bit31、bit30的取值为二进制0、1时,指示第二更新模式;bit31、bit30的取值为二进制1、0时,指示第三更新模式;bit31、bit30的取值为二进制1、1时,指示第四更新模式。
表2
更新模式 bit31 bit30 bit29 bit28 bit27…bit0
第一更新模式 0 0
第二更新模式 0 1
第三更新模式 1 0
第四更新模式 1 1
示例性的,表3示出了第一更新模式下的更新信息,图7为本申请实施例提供的第一更新模式的原理示意图。第一更新模式仅与第一数据类型相关联。第一更新模式可以适用于连续地址更新场景。
如表3和图7所示,更新信息可以包括n+1个32bit长度的数据,该n+1个数据均为第一数据类型,并且,该n+1个数据分别对应MID地址MID 0~MID n。在每个数据中,bit31、bit30的取值为二进制0、0,指示第一更新模式;bit29、bit28的取值为二进制0、1,指示第一数据类型bmp;bit0~bit27用于指示待更新的路由信息。需要说明的是,表3和图7仅是示例,本实施例对更新信息包括的第一数据类型的数量不做限定。
示例性的,在第一更新模式下,在采用DMA更新数据的一个实际应用中,直接写的DMA地址和数据与MID表项的地址和数据都一一对应,经过查找表(Look-Up Table,LUT)内部先入先出(First In First Out,FIFO)缓存后分发到上行多播表(Ingress MID,iMID)或下行多播表(egress MID,eMID)。第一更新模式可以作为MID表的默认配置方式,当软件全量刷表时可以通过DMA方式下发。
表3 更新信息(第一更新模式)
数据类型 bit31 bit30 bit29 bit28 bit27…bit0
第一数据类型(bmp) 0 0 0 1
第一数据类型(bmp) 0 0 0 1
... ... ... ... ...
第一数据类型(bmp) 0 0 0 1
示例性的,表4示出了第二更新模式下的更新信息,图8为本申请实施例提供的第二更新模式的原理示意图。第二更新模式与第一数据类型、第二数据类型和第三数据类型相关联。第二更新模式可以适用于不连续地址更新场景,尤其适用于携带第三数据类型(msk)的更新场景。
如表4和图8所示,更新信息可以包括3个32bit长度的数据,分别为第一数据类型(bmp)、第二数据类型(MID)和第三数据类型(msk)。在每个数据中,bit31、bit30的取值为二进制0、1,指示第二更新模式。在图8所示示例中,第二数据类型(MID)中的bit0~bit27用于指示MID地址MID 1,第一数据类型(bmp)中的bit0~bit27用于指示MID 1对应的待更新的路由信息,第三数据类型(msk)中的bit0~bit27用于指示MID 1对应的待更新的路由信息中需要更新的比特位。
示例性的,在第二更新模式下,在采用DMA更新数据的一个实际应用中,表4所示的三个32bit数据对应一个MID地址的entry刷新,可以预存到LUT内部FIFO,对所有数据进行解析后完成对每个MID表项的更新。第二更新模式可以用于软件增量带msk刷新部分的MID表项更新场景,可以通过DMA方式下发。
表4 更新信息(第二更新模式)
数据类型 bit31 bit30 bit29 bit28 bit27…bit0
第二数据类型(MID) 0 1 0 0
第一数据类型(bmp) 0 1 0 1
第三数据类型(msk) 0 1 1 0
示例性的,表5示出了第三更新模式下的更新信息,图9为本申请实施例提供的第三更新模式的原理示意图。第三更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为一个。第三更新模式可以适用于不连续地址更新场景。
如表5和图9所示,更新信息可以包括2个32bit长度的数据,分别为第一数据类型(bmp)和第二数据类型(MID)。在每个数据中,bit31、bit30的取值为二进制1、0,指示第三更新模式。在图9所示示例中,第二数据类型(MID)中的bit0~bit27用于指示MID地址MID 1,第一数据类型(bmp)中的bit0~bit27用于指示MID 1对应的待更新的路由信息。
示例性的,在第三更新模式下,在采用DMA更新数据的一个实际应用中,表5所示的两个32bit数据对应一个MID地址的entry刷新,可以预存到LUT内部FIFO,对所有数据进行解析后完成对每个MID表项的更新。第三更新模式可以用于软件增量不带msk刷新部分的MID表项更新场景,可以通过DMA方式下发。
表5 更新信息(第三更新模式)
数据类型 bit31 bit30 bit29 bit28 bit27…bit0
第一数据类型(bmp) 1 0 0 1
第二数据类型(MID) 1 0 0 0
示例性的,表6示出了第四更新模式下的更新信息,图10为本申请实施例提供的第四更新模式的原理示意图。第四更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为至少两个。第四更新模式可以适用于不连续地址更新场景,尤其适用于多个存储区域中的不连续地址更新场景。
如表6和图10所示,更新信息可以包括9个32bit长度的数据,9个数据包括1个第二数据类型(MID)和8个第一数据类型(bmp)。在每个数据中,bit31、bit30的取值为二进制1、1,指示第四更新模式。在图10所示示例中,第二数据类型(MID)中的bit0~bit27用于指示MID地址MID 0,8个第一数据类型(bmp)中的bit0~bit27分别对应8个存储区域(LUT0~LUT7)中的MID 0。需要说明的是,表6和图10仅是示例,本实施例对更新信息包括的第一数据类型的数量不做限定。
示例性的,在第四更新模式下,在采用DMA更新数据的一个实际应用中,eMID可以支持第四更新模式。MIDn带有8个bmp,分别对应8个LUT的MIDn,通过私有全局广播写每个LUT都收到相同的MID加8个bmp数据,每个LUT会伸出去一个3bit的pin脚信号连接一个固定值,在项层连接时接0-7让LUT识别自己的编号,然后用对应的bmp数据刷新MID表。第四更新模式可以用于采用DMA方式广播且增量配置EMID表的应用场景。
表6 更新信息(第四更新模式)
数据类型 bit31 bit30 bit29 bit28 bit27…bit0
第二数据类型(MID) 1 1 0 0
第一数据类型(bmp) 1 1 0 1
第一数据类型(bmp) 1 1 0 1
第一数据类型(bmp) 1 1 0 1
... ... ... ... ...
第一数据类型(bmp) 1 1 0 1
可选的,S402中,根据更新信息的更新模式,获得存储区域中的目标存储空间,可以包括:
若更新信息的更新模式为第一更新模式,则将存储区域确定为目标存储空间。
若更新信息的更新模式为第二更新模式或第三更新模式或第四更新模式,则根据第二数据类型对应的数据确定目标存储空间。
具体的,第一更新模式可以适用于连续地址更新场景,可以将存储区域确定为目标存储空间。第二更新模式或第三更新模式或第四更新模式可以适用于不连续地址更新场景,第二更新模式或第三更新模式或第四更新模式均关联有第二数据类型,第二数据类型用于指示待更新的路由信息对应的地址信息,因此,根据第二数据类型对应的数据确定目标存储空间。
需要说明的是,本实施例对第二数据类型指示的地址信息的实现方式不做限定。例如,第二数据类型指示的地址信息可以为相对于存储区域的基地址的偏移地址,或者为与存储区域的物理地址对应的虚拟地址。
图11为本申请实施例提供的数据更新方法的另一种流程图。本实施例在图4~图10所示实施例的基础上,提供了数据更新方法的另一种实现方式,主要提供了S401中接收更新信息的实现方式。如图11所示,接收更新信息,可以包括:
S1101、接收第一数据。
其中,第一数据为上述的预设比特长度的数据。
S1102、若根据第一数据的指示域的值确定第一数据关联有第二数据,则获取第二数据。其中,更新信息包括第一数据和第二数据。
该种实现方式可以适用于上述第二更新模式、第三更新模式和第四更新模式。在第二更新模式、第三更新模式或者第四更新模式中,均关联有至少两种数据类型,因此,需要将所有与第一数据相关联的第二数据类型收集齐,一起作为更新信息。
S1103、若根据第一数据的指示域的值确定第一数据未关联有第二数据,则将第一数据确定为更新信息。
该种实现方式可以适用于上述第一更新模式。第一更新模式仅与第一数据类型相关联,因此,将接收到的第一数据确定为更新信息。
需要说明的是,本实施例对第一数据的个数不做限定。例如,在图3所示示例中,第一数据的个数为n+1个。
可选的,S1102中,确定第一数据关联有第二数据,可以包括:
根据第一数据的指示域的值,确定第一数据的更新模式。
若第一数据的更新模式与至少两种数据类型相关联,则确定第一数据关联有第二数据。
下面通过示例进行说明。
可选的,在一个示例中,参见表4。假设,第一数据为第一数据类型(bmp)。根据第一数据类型(bmp)中的bit31、bit30的取值,确定为第二更新模式。由于第二更新模式与第一数据类型、第二数据类型和第三数据类型相关联,因此可以确定第一数据关联有第二数据,且第二数据为第二数据类型(MID)和第三数据类型(msk)。
可选的,在另一个示例中,参见表4。假设,第一数据为第二数据类型(MID)。根据第二数据类型(MID)中的bit31、bit30的取值,确定为第二更新模式。由于第二更新模式与第一数据类型、第二数据类型和第三数据类型相关联,因此可以确定第一数据关联有第二数据,且第二数据为第一数据类型(bmp)和第三数据类型(msk)。
可选的,在又一个示例中,参见表6。假设,第一数据为第二数据类型(MID)。根据第二数据类型(MID)中的bit31、bit30的取值,确定为第四更新模式。由于第四更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为至少两个,因此可以确定第一数据关联有第二数据,且第二数据为8个第一数据类型(bmp)。
可选的,在又一个示例中,参见表6。假设,第一数据为第一数据类型(bmp)。根据第一数据类型(bmp)中的bit31、bit30的取值,确定为第四更新模式。由于第四更新模式与第一数据类型和第二数据类型相关联,且第一数据类型对应的数据为至少两个,因此可以确定第一数据关联有第二数据,且第二数据为1个第二数据类型(MID)和7个第一数据类型(bmp)。
可选的,在又一个示例中,参见表3。假设,第一数据为第一数据类型(bmp)。根据第一数据类型(bmp)中的bit31、bit30的取值,确定为第一更新模式。由于第一更新模式仅与第一数据类型相关联,因此可以确定第一数据不关联有第二数据,将接收到的n+1个第一数据类型(bmp)作为更新信息。
图12为本申请实施例提供的数据更新装置的一种结构示意图。如图12所示,本实施例提供的数据更新装置,可以包括:
接收模块1201,用于接收更新信息,所述更新信息包括模式指示信息,所述模式指示信息指示所述更新信息的更新模式以及所述更新信息包括的数据类型;
第一获取模块1202,用于根据所述更新信息的更新模式,获得存储区域中的目标存储空间;其中,所述存储区域存储有路由信息;
第二获取模块1203,用于根据所述更新信息包括的数据类型,从所述更新信息中提取待更新的路由信息;
处理模块1204,用于根据所述待更新的路由信息,更新所述目标存储空间中的路由信息。
可选的,所述更新信息包括至少一个预设比特长度的数据,所述数据包括指示域;其中,所述指示域的值与预设多种更新模式和预设多种数据类型相关,每种更新模式与预设多种数据类型中的至少一种数据类型相关联。
可选的,所述接收模块1201具体用于:
接收第一数据;
若根据所述第一数据的指示域的值确定所述第一数据关联有第二数据,则获取所述第二数据;其中,所述更新信息包括所述第一数据和所述第二数据。
可选的,所述接收模块1201具体用于:
根据所述第一数据的指示域的值,确定所述第一数据的更新模式;
若所述第一数据的更新模式与至少两种数据类型相关联,则确定所述第一数据关联有所述第二数据。
可选的,所述接收模块1201还用于:
若根据所述第一数据的指示域的值确定所述第一数据未关联有第二数据,则将所述第一数据确定为所述更新信息。
可选的,所述预设多种数据类型包括:
第一数据类型,用于指示所述待更新的路由信息;
第二数据类型,用于指示所述待更新的路由信息对应的地址信息;
第三数据类型,用于指示所述待更新的路由信息中需要更新的比特位。
可选的,所述预设多种更新模式包括:
第一更新模式,所述第一更新模式仅与所述第一数据类型相关联;
第二更新模式,所述第二更新模式与所述第一数据类型、所述第二数据类型和所述第三数据类型相关联;
第三更新模式,所述第三更新模式与所述第一数据类型和所述第二数据类型相关联,且所述第一数据类型对应的数据为一个;
第四更新模式,所述第四更新模式与所述第一数据类型和所述第二数据类型相关联,且所述第一数据类型对应的数据为至少两个。
可选的,所述第一获取模块1202具体用于:
若所述更新信息的更新模式为所述第一更新模式,则将所述存储区域确定为所述目标存储空间;
若所述更新信息的更新模式为所述第二更新模式或所述第三更新模式或所述第四更新模式,则根据所述第二数据类型对应的数据确定所述目标存储空间。
可选的,所述指示域包括第一子指示域和第二子指示域,所述第一子指示域的值与所述预设多种更新模式相关,所述第二子指示域的值与所述预设多种数据类型相关。
可选的,所述指示域位于所述数据中所有比特位的前端。
本实施例提供的数据更新装置,用于执行本申请方法实施例提供的数据更新方法,技术原理和技术效果相似,此处不再赘述。
应理解,以上装置中模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块以硬件的形式实现。例如,各个模块可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该模块的功能。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一装置中的模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific IntegratedCircuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的模块可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
图13为本申请实施例提供的数据更新设备的一种结构示意图。如图13所示,本实施例提供一种数据更新设备,包括处理器1301、存储器1302和接口电路1303,所述接口电路1303用于与其它设备通信,所述处理器1301用于调用所述存储器1302中存储的程序,用于执行本申请方法实施例提供的数据更新方法,技术原理和技术效果相似,此处不再赘述。
需要说明的是,本实施例对数据更新设备的类型不做限定。例如,该设备可以包括但不限于路由器、交换机,等。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请提供的数据更新方法中的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选的,存储器可以是一个存储器,也可以是多个存储元件的统称。

Claims (18)

1.一种数据更新方法,其特征在于,包括:
接收更新信息,所述更新信息包括模式指示信息,所述模式指示信息指示所述更新信息的更新模式以及所述更新信息包括的数据类型;
根据所述更新信息的更新模式,获得存储区域中的目标存储空间;其中,所述存储区域存储有路由信息;
根据所述更新信息包括的数据类型,从所述更新信息中提取待更新的路由信息;
根据所述待更新的路由信息,通过直接内存访问DMA更新所述目标存储空间中的路由信息;
所述更新信息包括至少一个预设比特长度的数据,所述数据包括指示域;其中,所述指示域的值与预设多种更新模式和预设多种数据类型相关,每种更新模式与预设多种数据类型中的至少一种数据类型相关联;
所述预设多种数据类型包括:
第一数据类型,用于指示所述待更新的路由信息;
第二数据类型,用于指示所述待更新的路由信息对应的地址信息;
第三数据类型,用于指示所述待更新的路由信息中需要更新的比特位。
2.根据权利要求1所述的方法,其特征在于,所述接收更新信息,包括:
接收第一数据;
若根据所述第一数据的指示域的值确定所述第一数据关联有第二数据,则获取所述第二数据;其中,所述更新信息包括所述第一数据和所述第二数据。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一数据关联有第二数据,包括:
根据所述第一数据的指示域的值,确定所述第一数据的更新模式;
若所述第一数据的更新模式与至少两种数据类型相关联,则确定所述第一数据关联有所述第二数据。
4.根据权利要求2所述的方法,其特征在于,还包括:
若根据所述第一数据的指示域的值确定所述第一数据未关联有第二数据,则将所述第一数据确定为所述更新信息。
5.根据权利要求1所述的方法,其特征在于,所述预设多种更新模式包括:
第一更新模式,所述第一更新模式仅与所述第一数据类型相关联;
第二更新模式,所述第二更新模式与所述第一数据类型、所述第二数据类型和所述第三数据类型相关联;
第三更新模式,所述第三更新模式与所述第一数据类型和所述第二数据类型相关联,且所述第一数据类型对应的数据为一个;
第四更新模式,所述第四更新模式与所述第一数据类型和所述第二数据类型相关联,且所述第一数据类型对应的数据为至少两个。
6.根据权利要求5所述的方法,其特征在于,所述根据所述更新信息的更新模式,获得存储区域中的目标存储空间,包括:
若所述更新信息的更新模式为所述第一更新模式,则将所述存储区域确定为所述目标存储空间;
若所述更新信息的更新模式为所述第二更新模式或所述第三更新模式或所述第四更新模式,则根据所述第二数据类型对应的数据确定所述目标存储空间。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述指示域包括第一子指示域和第二子指示域,所述第一子指示域的值与所述预设多种更新模式相关,所述第二子指示域的值与所述预设多种数据类型相关。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述指示域位于所述数据中所有比特位的前端。
9.一种数据更新装置,其特征在于,包括:
接收模块,用于接收更新信息,所述更新信息包括模式指示信息,所述模式指示信息指示所述更新信息的更新模式以及所述更新信息包括的数据类型;
第一获取模块,用于根据所述更新信息的更新模式,获得存储区域中的目标存储空间;其中,所述存储区域存储有路由信息;
第二获取模块,用于根据所述更新信息包括的数据类型,从所述更新信息中提取待更新的路由信息;
处理模块,用于根据所述待更新的路由信息,通过直接内存访问DMA更新所述目标存储空间中的路由信息;
所述更新信息包括至少一个预设比特长度的数据,所述数据包括指示域;其中,所述指示域的值与预设多种更新模式和预设多种数据类型相关,每种更新模式与预设多种数据类型中的至少一种数据类型相关联;
所述预设多种数据类型包括:
第一数据类型,用于指示所述待更新的路由信息;
第二数据类型,用于指示所述待更新的路由信息对应的地址信息;
第三数据类型,用于指示所述待更新的路由信息中需要更新的比特位。
10.根据权利要求9所述的装置,其特征在于,所述接收模块具体用于:
接收第一数据;
若根据所述第一数据的指示域的值确定所述第一数据关联有第二数据,则获取所述第二数据;其中,所述更新信息包括所述第一数据和所述第二数据。
11.根据权利要求10所述的装置,其特征在于,所述接收模块具体用于:
根据所述第一数据的指示域的值,确定所述第一数据的更新模式;
若所述第一数据的更新模式与至少两种数据类型相关联,则确定所述第一数据关联有所述第二数据。
12.根据权利要求10所述的装置,其特征在于,所述接收模块还用于:
若根据所述第一数据的指示域的值确定所述第一数据未关联有第二数据,则将所述第一数据确定为所述更新信息。
13.根据权利要求9所述的装置,其特征在于,所述预设多种更新模式包括:
第一更新模式,所述第一更新模式仅与所述第一数据类型相关联;
第二更新模式,所述第二更新模式与所述第一数据类型、所述第二数据类型和所述第三数据类型相关联;
第三更新模式,所述第三更新模式与所述第一数据类型和所述第二数据类型相关联,且所述第一数据类型对应的数据为一个;
第四更新模式,所述第四更新模式与所述第一数据类型和所述第二数据类型相关联,且所述第一数据类型对应的数据为至少两个。
14.根据权利要求13所述的装置,其特征在于,所述第一获取模块具体用于:
若所述更新信息的更新模式为所述第一更新模式,则将所述存储区域确定为所述目标存储空间;
若所述更新信息的更新模式为所述第二更新模式或所述第三更新模式或所述第四更新模式,则根据所述第二数据类型对应的数据确定所述目标存储空间。
15.根据权利要求9-12任一项所述的装置,其特征在于,所述指示域包括第一子指示域和第二子指示域,所述第一子指示域的值与所述预设多种更新模式相关,所述第二子指示域的值与所述预设多种数据类型相关。
16.根据权利要求9-12任一项所述的装置,其特征在于,所述指示域位于所述数据中所有比特位的前端。
17.一种数据更新设备,其特征在于,包括处理器、存储器和接口电路,所述接口电路用于与其它设备通信,所述处理器用于调用所述存储器中存储的程序,以执行如权利要求1至8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,实现如权利要求1至8任一项所述的方法。
CN202080095654.0A 2020-03-12 2020-03-12 数据更新方法、装置和设备 Active CN115087958B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/079011 WO2021179254A1 (zh) 2020-03-12 2020-03-12 数据更新方法、装置和设备

Publications (2)

Publication Number Publication Date
CN115087958A CN115087958A (zh) 2022-09-20
CN115087958B true CN115087958B (zh) 2024-01-16

Family

ID=77671150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080095654.0A Active CN115087958B (zh) 2020-03-12 2020-03-12 数据更新方法、装置和设备

Country Status (2)

Country Link
CN (1) CN115087958B (zh)
WO (1) WO2021179254A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665196A (zh) * 2012-04-28 2012-09-12 清华大学 一种无线传感器网络的在线渐进式程序更新方法
CN106802932A (zh) * 2016-12-28 2017-06-06 华为技术有限公司 一种数据库的路由方法、装置及数据库系统
CN106982236A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种信息处理方法、装置和系统
CN107547364A (zh) * 2017-08-15 2018-01-05 新华三技术有限公司 路由下发方法、装置和网络设备
CN109617820A (zh) * 2019-02-15 2019-04-12 中国联合网络通信集团有限公司 一种sdn系统和路由更新方法
CN110166523A (zh) * 2019-04-09 2019-08-23 腾讯科技(深圳)有限公司 内容更新方法、装置、设备和计算机可读存储介质
CN110875882A (zh) * 2018-08-30 2020-03-10 华为技术有限公司 通信方法和通信设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3985737B2 (ja) * 2003-06-20 2007-10-03 ソニー株式会社 ソフトウェア更新システムと電子機器およびソフトウェア更新方法
JP2005079691A (ja) * 2003-08-28 2005-03-24 Nippon Telegraph & Telephone East Corp ルータの自動識別設定装置および方法ならびにプログラム
JP6020159B2 (ja) * 2012-12-27 2016-11-02 株式会社リコー 情報処理装置、及び情報処理方法
US9986434B2 (en) * 2014-04-30 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. System for accelerated network route update through exclusive access to routing tables
CN106610859A (zh) * 2016-12-30 2017-05-03 珠海艾派克微电子有限公司 一种程序更新方法、装置、系统和成像盒
CN108322341A (zh) * 2018-01-30 2018-07-24 上海康斐信息技术有限公司 一种更新路由器配置数据库的方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665196A (zh) * 2012-04-28 2012-09-12 清华大学 一种无线传感器网络的在线渐进式程序更新方法
CN106982236A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种信息处理方法、装置和系统
CN106802932A (zh) * 2016-12-28 2017-06-06 华为技术有限公司 一种数据库的路由方法、装置及数据库系统
CN107547364A (zh) * 2017-08-15 2018-01-05 新华三技术有限公司 路由下发方法、装置和网络设备
CN110875882A (zh) * 2018-08-30 2020-03-10 华为技术有限公司 通信方法和通信设备
CN109617820A (zh) * 2019-02-15 2019-04-12 中国联合网络通信集团有限公司 一种sdn系统和路由更新方法
CN110166523A (zh) * 2019-04-09 2019-08-23 腾讯科技(深圳)有限公司 内容更新方法、装置、设备和计算机可读存储介质

Also Published As

Publication number Publication date
WO2021179254A1 (zh) 2021-09-16
CN115087958A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
EP2894568B1 (en) Information processing device, parallel computer system and information processing device control method
US9111151B2 (en) Network on chip processor with multiple cores and routing method thereof
US20160364835A1 (en) Image processor and methods for processing an image
US8175095B2 (en) Systems and methods for sending data packets between multiple FPGA devices
US20130311492A1 (en) Hash collision reduction system
KR20120014554A (ko) 버퍼 디스크립션 테이블을 이용하는 can 모듈을 구비한 마이크로컨트롤러
US9977750B2 (en) Coherent memory interleaving with uniform latency
CN107925855A (zh) D2d的资源分配方法、设备及系统
WO2019192379A1 (zh) Mac pdu传输方法及装置
CN105549899B (zh) 用于维持嵌入式存储器块中的存储器访问相干性的系统和方法
CN116601601A (zh) 在多过程系统内执行可编程原子单元资源的方法
CN115087958B (zh) 数据更新方法、装置和设备
CN110661728B (zh) 多虚通道传输时共享与私有相结合的缓冲设计方法与装置
CN110109848B (zh) Dsp硬件抽象层以及dsp处理器
CN104394099A (zh) 一种报文传输方法及装置
KR20040035852A (ko) 동적 필터 할당을 가지는 직렬 통신 장치
EP3605967B1 (en) Method and device for transmitting data
CN105786733B (zh) 一种写入tcam条目的方法及装置
US20220358071A1 (en) On-chip integrated circuit, data processing device, and data processing method
US6826180B1 (en) Communication packet processor with a look-up engine and content-addressable memory for storing summation blocks of context information for a core processor
CN115314438A (zh) 芯片的地址重构方法、装置以及电子设备、存储介质
US20130326107A1 (en) Hardware Apparatus for a System, System and Memory Access Method
US20120047220A1 (en) Data transfer device and data transfer system
CN111163100B (zh) 数据结构、通信方法、装置、存储介质及设备
CN114666259A (zh) 报文传输的方法、装置、设备、存储介质及系统

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
GR01 Patent grant
GR01 Patent grant