CN116909624B - 位图数据处理方法、随机存储器、电子设备和存储介质 - Google Patents

位图数据处理方法、随机存储器、电子设备和存储介质 Download PDF

Info

Publication number
CN116909624B
CN116909624B CN202311167727.4A CN202311167727A CN116909624B CN 116909624 B CN116909624 B CN 116909624B CN 202311167727 A CN202311167727 A CN 202311167727A CN 116909624 B CN116909624 B CN 116909624B
Authority
CN
China
Prior art keywords
data
sequence number
random access
access memory
data packet
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
CN202311167727.4A
Other languages
English (en)
Other versions
CN116909624A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202311167727.4A priority Critical patent/CN116909624B/zh
Publication of CN116909624A publication Critical patent/CN116909624A/zh
Application granted granted Critical
Publication of CN116909624B publication Critical patent/CN116909624B/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例提供了一种位图数据处理方法、随机存储器、电子设备和存储介质,涉及计算机***及存储技术领域,包括:响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号和所述有效位个数,更新所述位图数据。通过本发明实施例可以增加位图数据的容量,提高刷新位图数据效率,降低芯片内部寄存器资源的使用量。

Description

位图数据处理方法、随机存储器、电子设备和存储介质
技术领域
本发明涉及计算机***及存储技术领域,特别是涉及一种位图数据处理方法、一种随机存储器、一种电子设备和一种存储介质。
背景技术
目前在如FPGA(Field Programmable Gate Array,现场可编程与门阵列)等芯片中,是通过内部寄存器实现bitmap(位图),每个PSN(数据包序列号)使用1 bit(比特位)寄存器记录是否已经到来。其特点是读写寄存器都只需要1个时钟周期,写入和刷新bitmap操作逻辑简单。但占用硬件逻辑资源较大,随着传输带宽的增加bitmap的容量需求越来越大,使用FPGA内部寄存器资源难以满足需求。另外,对FPGA等芯片内部寄存器实现的bitmap进行刷新,都是1个时钟周期刷新1 bit或几个bit,如果每个时钟周期刷新太多bit,会造成时序问题从而导致时钟频率降低。因此每次刷新bitmap会占用很多时钟周期,整体刷新效率低。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种位图数据处理方法、一种随机存储器、一种电子设备和一种存储介质。
为了解决上述问题,在本发明的第一个方面,本发明实施例公开了一种位图数据处理方法,应用于随机存储器,所述方法包括:
响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;
依据所述随机存储器数据,生成位图数据;
基于所述随机存储器数据,确定有效位个数;
响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;
依据所述目标数据包序列号和所述有效位个数,更新所述位图数据。
可选地,所述方法还包括:
将所述初始数据包序列号对应的数据包存储至所述随机存储器。
可选地,所述将所述初始数据包序列号对应的数据包存储至所述随机存储器的步骤包括:
将多个初始数据包序列号对应的数据包合并写入所述随机存储器。
可选地,所述方法还包括:
基于更新后的位图数据,读取发送数据包序列号;
将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述方法还包括:
发送所述确认数据包至预设发送节点。
可选地,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包的步骤包括:
基于远程直接数据存取协议,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述将所述初始数据包序列号转换为随机存储器数据的步骤包括:
将所述初始数据包序列号转换为一位的随机存储器数据。
可选地,所述将所述初始数据包序列号转换为一位的随机存储器数据的步骤包括:
将所述初始数据包序列号的低位数据转换为预设底数的指数值;
依据所述指数值确定第一随机存储器写入数据;
将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;
将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为所述一位的随机存储器数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤包括:
将所述第一随机存储器地址值写入第一先入先出存储器,将所述第一随机存储器写入数据写入第二先入先出存储器;
将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器;
判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空。
当所述第一先入先出存储器为空,且所述第二先入先出存储器为空时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,生成所述位图数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
当所述第一先入先出存储器或第二先入先出存储器其中至少一个不为空时,将所述第一先入先出存储器的数据与所述第一寄存器的数据进行对比;
当所述第一先入先出存储器的数据与所述第一寄存器的数据不相等时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,执行所述将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器的步骤;
当所述第一先入先出存储器的数据与所述第一寄存器的数据相等时,将第二先入先出存储器的数据与所述第二寄存器的数据进行或运算,生成运算结果数据,并将所述运算结果数据存入所述第二寄存器,将所述第一先入先出存储器的数据输入至所述第一寄存器。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
重复执行所述判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空的步骤,直至所述第一先入先出存储器为空,且所述第二先入先出存储器为空。
可选地,所述基于所述随机存储器数据,确定有效位个数的步骤包括:
确定预设初始位数;
在所述第一寄存器中的数据和所述第二寄存器的数据进行合并时,递增所述预设初始位数,生成当前有效位;
将所述当前有效位确定为所述有效位个数。
可选地,所述基于重传数据包的数据包序列号,确定目标数据包序列号的步骤包括:
将所述重传数据包的数据包序列号中的第一个确定为所述目标数据包序列号。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤包括:
将所述目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值;
将所述第二随机存储器写入数据写入第三先入先出存储器;
将每个预设时钟周期中,将所述第二随机存储器地址值加一,直至所述第三先入先出存储器中的数据不为空;
基于目标数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第一偏移数据;
将所述第一偏移数据的最低位进行统计,确定第一连续位数;
将所述第一连续位数与所述目标数据包序列号相加,得到第一更新数据包序列号;
将所述第一更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
将所述有效位个数减去所述连续位数,生成剩余有效位;
判断所述剩余有效位是否为零;
当所述剩余有效位为零时,确定所述位图数据刷新完成;
当所述剩余有效位不为零时,基于所述第一更新数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第二偏移数据;
基于所述第二偏移数据的最低位进行统计,确定第二连续位数;
将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号;
基于所述第二更新数据包序列号,更新所述位图数据。
可选地,所述基于所述第二更新数据包序列号,更新所述位图数据的步骤包括:
判断所述第二更新数据包序列号的预设位数是否为零;
当所述第二更新数据包序列号的预设位数为零时,将所述第二更新数据包序列号确定为所述第一更新数据包序列号,执行所述将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号的步骤;
当所述第二更新数据包序列号的预设位数不为零时,将所述第二更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第二更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
锁存所述目标数据包序列号和所述有效位个数。
在本发明的第二个方面,本发明实施了公开了一种随机存储器,所述随机存储器包括写入模块和更新模块,
所述写入模块被配置为用于响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;
所述更新模块被配置用于响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号与有效位个数,更新所述位图数据。
在本发明的第三个方面,本发明实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的位图数据处理方法的步骤。
在本发明的第四个方面,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的位图数据处理方法的步骤。
本发明实施例包括以下优点:
本发明实施例通过响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号和所述有效位个数,更新所述位图数据;通过将随机存储器对数据包序列号进行处理存储,可以提高位图数据的存储容量;可以基于随机存储器数据生成位图数据,整体处理效率不低于使用寄存器作为位图数据的效率;并且一个随机存储器数据具有多个位,即每周期刷新位图数据中的多个位,可以大幅提高了刷新效率。
附图说明
图1是本发明的一种位图数据处理方法实施例的步骤流程图;
图2是本发明的另一种位图数据处理方法实施例的步骤流程图;
图3是本发明的另一种位图数据处理方法实施例的硬件结构图;
图4是本发明的另一种位图数据处理方法实施例的写入模块的架构图;
图5是本发明的另一种位图数据处理方法实施例的写入过程的状态示意图;
图6是本发明的另一种位图数据处理方法实施例的更新模块的架构图;
图7是本发明的另一种位图数据处理方法实施例的更新的状态示意图;
图8是本发明的一种位图数据处理方法示例的硬件结构图;
图9是本发明的一种位图数据处理方法示例的芯片架构图;
图10是本发明的一种随机存储器实施例的结构框图;
图11是本发明实施例提供的一种电子设备的结构框图;
图12是本发明实施例提供的一种存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种位图数据处理方法实施例的步骤流程图,所述位图数据处理方法应用于随机存储器(Random Access Memory,RAM),所述位图数据处理方法具体可以包括如下步骤:
步骤101,响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;
在传输数据的过程中,接收到数初始数据包序列号时,可以响应于接收到初始数据包序列号,将初始数据包序列号转换为随机存储器数据,以便于存储至随机存储器中。其中,随机存储器数据为随机存储器的若干比特位(bit)的数据。
步骤102,依据所述随机存储器数据,生成位图数据;
将随机存储器数据进行转换,生成位图数据。以将位图数据存储至随机存储器中,提高位图数据的容量。
步骤103,基于所述随机存储器数据,确定有效位个数;
还可以基于随机存储器数据,确定有效位个数。通过有效位个数,确定在数据传输过程中,是否存在有效的可存入随机存储器的数据。
步骤104,响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;
由于数据传输过程中,会存在丢包的情况。在丢包后,丢包的数据会重传,此时的数据包即为重传数据包。当接收到重传数据包时,可以接收到重传数据包;基于重传数据包的数据包序列号,确定期望的数据包序列号,即为目标数据包序列号。
步骤105,依据所述目标数据包序列号和所述有效位个数,更新所述位图数据。
依据目标数据包序列号和有效位个数的关系,对随机存储器进行更新,刷新随机存储器的位图数据,以对位图数据进行更新。
本发明实施例通过响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号和所述有效位个数,更新所述位图数据;通过将随机存储器对数据包序列号进行处理存储,可以提高位图数据的存储容量;可以基于随机存储器数据生成位图数据,整体处理效率不低于使用寄存器作为位图数据的效率;并且一个随机存储器数据具有多个位,即每周期刷新位图数据中的多个位,可以大幅提高了刷新效率。
参照图2,示出了本发明的另一种位图数据处理方法实施例的步骤流程图,所述位图数据处理方法应用于随机存储器。参照图3,示出了本发明的另一种位图数据处理方法实施例的硬件结构图。
随机存储器(即RAM)用于存储位图数据,RAM的读写端口由写入模块(write_proc模块)和更新模块(refresh_proc模块)轮流控制。Write_proc模块负责写位图数据,Refresh_proc模块负责刷新位图数据,RAM的读写端口在刷新位图时由refresh_proc模块控制,其他时间由write_proc模块控制。
所述位图数据处理方法具体可以包括如下步骤:
步骤201,响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据。
在本发明实施例中,在建立好节点之间的通信后,在接收到初始数据包序列号时,可以将初始数据包序列号转换为随机存储器数据。
在本发明的一可选实施例中,所述将所述初始数据包序列号转换为随机存储器数据的步骤包括:
子步骤S2011,将所述初始数据包序列号转换为一位的随机存储器数据。
可以将初始数据包序列号转换为一位的随机存储器数据。其中,一位是指RAM中的1bit。
具体地,所述将所述初始数据包序列号转换为一位的随机存储器数据的步骤包括:将所述初始数据包序列号的低位数据转换为预设底数的指数值;依据所述指数值确定第一随机存储器写入数据;将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为所述一位的随机存储器数据。
在实际应用中,可以用初始数据包序列号的位数据作为预设底数的指数,并将其转化为第一随机存储器写入数据,即RAM的数据。将初始数据包序列号的高位数据,转换为第一随机存储器地址值,即RAM的地址。将第一随机存储器写入数据和第一随机存储器地址值确定为一位的随机存储器数据。
举例而言,以数据位宽为16bit深度为1024的RAM为例,说明转化方式。用PSN的低4bit数据作为2的指数转化为RAM的数据,即ram_data= 2^PSN[3:0];用PSN[13:4]bit作为RAM的地址。
步骤202,依据所述随机存储器数据,生成位图数据。
在本发明实施例中,可以依据随机存储器数据中的第一随机存储器写入数据和第一随机存储器地址值进行计算,生成对应的位图数据。
在本发明的一可选实施例中,所述依据所述随机存储器数据,生成位图数据的步骤包括:
子步骤S2021,将所述第一随机存储器地址值写入第一先入先出存储器,将所述第一随机存储器写入数据写入第二先入先出存储器;
子步骤S2022,将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器;
子步骤S2023,判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空。
子步骤S2024,当所述第一先入先出存储器为空,且所述第二先入先出存储器为空时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,生成所述位图数据。
子步骤S2025,当所述第一先入先出存储器或第二先入先出存储器其中至少一个不为空时,将所述第一先入先出存储器的数据与所述第一寄存器的数据进行对比;
子步骤S2026,当所述第一先入先出存储器的数据与所述第一寄存器的数据不相等时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,执行所述将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器的步骤;
子步骤S2027,当所述第一先入先出存储器的数据与所述第一寄存器的数据相等时,将第二先入先出存储器的数据与所述第二寄存器的数据进行或运算,生成运算结果数据,并将所述运算结果数据存入所述第二寄存器,将所述第一先入先出存储器的数据输入至所述第一寄存器。
子步骤S2028,重复执行所述判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空的步骤,直至所述第一先入先出存储器为空,且所述第二先入先出存储器为空。
示例性地,步骤201和步骤202可以在写入模块中执行。写入模块的结构图可以如图4所示:
当接收到第一PSN(初始数据包序列号)后,转换模块将转换后的RAM地址(第一随机存储器地址值)写入第一先入先出存储器(ADDR_FIFO);RAM数据(第一随机存储器写入数据)写入第二先入先出存储器(DATA_FIFO)。当ADDR_FIFO和DATA_FIFO有数据后,把DATA_FIFO的数据输出到第一寄存器(DATA_REG)中,把ADDR_FIFO的数据输出到第二寄存器(ADDR_REG)中。此时,如果两个FIFO为空,即没有后续PSN输入,则将DATA_REG数据和ADDR_REG数据合并输出到合并存储器(OP_FIFO)。如果两个FIFO中有后续输入的第二PSN转化的有效ram地址和ram数据,则ADDR_FIFO的输出数据与ADDR_REG数据对比,如果不相等,则将DATA_REG数据和ADDR_REG数据合并输出到OP_FIFO,读取DATA_FIFO和ADDR_FIFO的数据输入到DATA_REG和ADDR_REG;如果相等,则将DATA_REG的数据和DATA_FIFO的数据进行“或”操作存入DATA_REG,读取ADDR_FIFO的数据输入到ADDR_REG。此时如果FIFO中仍然有后续PSN转化的有效数据,则重复以上步骤,直到FIFO为空,将DATA_REG数据和ADDR_REG数据合并输出到OP_FIFO。
基于此,为了实现在随机存储器中实现写入过程,对应的状态可以参照图5,状态机的初始状态为状态1,当ADDR_FIFO为非空且OP_FIFO为非满时,读取ADDR_FIFO数据到ADDR_REG,读取DATA_FIFO数据到DATA_REG,跳转到状态2;否则保持状态1。状态2,判断ADDR_FIFO非空且输出端口数据与ADDR_REG的数据一致时,跳转到状态3并读取DATA_FIFO数据与DATA_REG数据进行“或”操作,存到DATA_REG,读取ADDR_FIFO数据到ADDR_REG;如果不满足上一条件,且ADDR_FIFO为空或OP_FIFO为满,则跳转到状态1,不读取ADDR_FIFO和DATA_FIFO,并将ADDR_REG和DATA_REG数据写入OP_FIFO;如果以上两个条件都不满足,则保持状态2,读取ADDR_FIFO数据到ADDR_REG,读取DATA_FIFO数据到DATA_REG,并将ADDR_REG和DATA_REG数据写入OP_FIFO。状态3,判断ADDR_FIFO为空,或ADDR_FIFO输出端口数据与ADDR_REG数据不一致,跳转到状态4;如果不满足以上条件,保持状态3并读取DATA_FIFO数据与DATA_REG数据进行“或”操作,存到DATA_REG,读取ADDR_FIFO数据到ADDR_REG。状态4,将ADDR_REG和DATA_REG数据写入OP_FIFO,判断ADDR_FIFO为非空且OP_FIFO为非满时,跳转到状态2,并读取ADDR_FIFO数据到ADDR_REG,读取DATA_FIFO数据到DATA_REG;否则跳转到状态1。
步骤203,基于所述随机存储器数据,确定有效位个数。
在本发明实施例中,还可以基于随机存储器数据,计算已经写入位图数据中的有效bit个数,确定有效位个数。
具体地,所述基于所述随机存储器数据,确定有效位个数的步骤包括:确定预设初始位数;在所述第一寄存器中的数据和所述第二寄存器的数据进行合并时,递增所述预设初始位数,生成当前有效位;将所述当前有效位确定为所述有效位个数。
在实际应用中,可以首先确定一个预设初始位数,该预设初始位数可以为零。每当第一寄存器中的数据和第二寄存器的数据进行合并时,即在数据RAM时,可将预设初始位数进行累加递增,生成当前有效位,并将当前有效位确定为有效位个数。
步骤204,将所述初始数据包序列号对应的数据包存储至所述随机存储器。
在本发明实施例中,可以将初始数据包序列号对应的数据包,按照顺序存储至随机存储器。
具体地,所述将所述初始数据包序列号对应的数据包存储至所述随机存储器的步骤包括:将多个初始数据包序列号对应的数据包合并写入所述随机存储器。
在实际应用中,可将多个初始数据包序列号对应的数据包合并写入随机存储器,以使得可以多个初始数据包序列号进行一次写入操作进行数据存储,提高吸入效率。
步骤205,响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号。
在数据丢包重传后,当接收到新的重传数据包时,可以根据接收到的重传数据包中的数据包序列号,确定新的期望达到的数据包序列号,即目标数据包序列号。
具体地,所述基于重传数据包的数据包序列号,确定目标数据包序列号的步骤包括:将所述重传数据包的数据包序列号中的第一个确定为所述目标数据包序列号。
可以将接收到重传数据包的数据包序列号中的第一个确定为目标数据包序列号。在当前的数据包序列号处理完成后,继续确定下一次的第一个为目标数据包序列号,以将全部的重传数据进行存储。
步骤206,依据所述目标数据包序列号和所述有效位个数,更新所述位图数据。
可以将目标数据包序列号和有效位个数,确定对应的数据位置,更新位图数据。
在本发明的一可选实施例中,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤包括:
子步骤S2061,锁存所述目标数据包序列号和所述有效位个数。
将目标数据包序列号和有效位个数进行锁存,避免目标数据包序列号和有效位个数的错误。
子步骤S2062,将所述目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值;
可以将目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值。其转换过程与初始数据包序列号转换为随机存储器数据过程的相同,可以参照上述过程。
子步骤S2063,将所述第二随机存储器写入数据写入第三先入先出存储器;
子步骤S2064,将每个预设时钟周期中,将所述第二随机存储器地址值加一,直至所述第三先入先出存储器中的数据不为空;
将第二随机存储器写入数据写入预设的第三先入先出存储器,并在每个芯片对应的预设时钟周期中,将第二随机存储器地址值加一,以读取对应地址的数据,直至第三先入先出存储器中的数据不为空,则进入后续处理。
子步骤S2065,基于目标数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第一偏移数据;
子步骤S2066,将所述第一偏移数据的最低位进行统计,确定第一连续位数;
基于目标数据包序列号,将第三先入先出存储器中的数据右移位,生成第一偏移数据。并将第一偏移数据的最低位进行统计,将连续的1的位数进行统计,将得到的位数确定为第一连续位数。
子步骤S2067,将所述第一连续位数与所述目标数据包序列号相加,得到第一更新数据包序列号;
将第一连续位数与目标数据包序列号相加,得到第一更新数据包序列号,以第一更新数据包序列号为期望的数据包序列号。
子步骤S2068,将所述第一更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,以更新所述位图数据。
将第一更新数据包序列号预设位数的数值与第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,将第一更新随机存储器写入数据存储对应的RAM地址中,以更新位图数据。
子步骤S2069,将所述有效位个数减去所述连续位数,生成剩余有效位;
然后再将有效位个数减去连续位数,确定目前的剩余有效位。
子步骤S20610,判断所述剩余有效位是否为零;
子步骤S20611,当所述剩余有效位为零时,确定所述位图数据刷新完成;
可以判断剩余有效位为零,当剩余有效位为零,即不存在新的数据,可以确定位图数据刷新完成,可以进行后续的数据传输过程。
子步骤S20612,当所述剩余有效位不为零时,基于所述第一更新数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第二偏移数据;
当剩余有效位不为零时,即当前接收到的重传数据中还存在新的数据,可以基于第一更新数据包序列号,将第三先入先出存储器中的数据右移位,生成第二偏移数据。
子步骤S20613,基于所述第二偏移数据的最低位进行统计,确定第二连续位数;
基于所述第二偏移数据的最低位,将连续的0的位数进行统计,确定第二连续位数。
子步骤S20614,将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号;
将第二连续位数与所述第一更新数据包序列号相加,得到新的更新数据包序列号即第二更新数据包序列号。
子步骤S20615,基于所述第二更新数据包序列号,更新所述位图数据。
采用第二更新数据包序列号确定对应的在RAM中对应的位置,写入新的数据,以更新位图数据。
具体地,所述基于所述第二更新数据包序列号,更新所述位图数据的步骤包括:判断所述第二更新数据包序列号的预设位数是否为零;当所述第二更新数据包序列号的预设位数为零时,将所述第二更新数据包序列号确定为所述第一更新数据包序列号,执行所述将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号的步骤;当所述第二更新数据包序列号的预设位数不为零时,将所述第二更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第二更新随机存储器写入数据,以更新所述位图数据。
示例性地,步骤205和步骤206可以在更新模块中执行。更新模块的结构图可以如图6所示:当接收节点接收到重传的数据包后,更新开始对位图数据进行刷新操作,RAM的读写端口由更新模块(refresh_proc模块)占用。refresh_proc模块将外部输入的期望PSN(exp_PSN,即目标数据包序列)转换为RAM的1 bit,转换方法与初始数据包序列号转换为随机存储器数据过程的相同。
具体地,参照图7,执行过程如下:当刷新开始后进入状态1,将exp_PSN锁存为cur_PSN,bit_num锁存为last_bit_num,读取模块(ADDR_CTRL模块)根据exp_PSN对应的RAM地址对RAM进行读取操作,RAM的读数据写入存储器BM_FIFO。随后每个时钟周期将RAM地址加1,连续读取直到BM_FIFO为非空停止,进入状态2。
状态2,从BM_FIFO中读取一个数据,同时RAM的读地址加1,从RAM中读数据到BM_FIFO中。根据cur_PSN的低4bit对BM_FIFO的读数据进行右移位得到(第二偏移数据)SHIFT_REG数据,从SHIFT_REG的最低bit开始统计连续为1的bit个数,记作one_num。将one_num数据与cur_PSN进行相加得到新cur_PSN。根据新的cur_PSN的低4bit数值,将BM_FIFO的读数据的低几bit置0,形成RAM的写数据。例如,新的cur_PSN[3:0]为4,将BM_FIFO的读数据低4bit置0,其他bit不变,作为RAM的写数据。以新的cur_PSN[13:4]作为RAM地址,将RAM写数据写入RAM。此时将last_bit_num减去one_num值得到新的剩余有效bit个数(last_bit_num),当last_bit_num为0时说明bitmap为空。当bitmap为空时,跳转到状态4;当bitmap不为空,且cur_PSN的低4bit为0时,状态机保持状态2;当bitmap不为空且cur_PSN[3:0]不为0,跳转到状态3。
状态3,说明bitmap中还有有效bit,有效bit个数为last_bit_num,但在有效bit之前有无效bit(即无效bit对应PSN的数据包丢失)。将cur_PSN锁存到new_exp_PSN。根据cur_PSN的低4bit对BM_FIFO的读出数据进行右移,得到SHIFT_REG数据,再从SHIFT_REG数据的最低bit开始统计连续为0的bit个数,记作zero_num。将zero_num数据与cur_PSN进行相加得到新cur_PSN。如果新cur_PSN的低4bit为0,则跳转状态5;如果不为0,则跳转到状态6。
状态4,说明bitmap中没有有效bit,刷新完成,则输出刷新结束信号,并将cur_PSN输出new_exp_PSN。跳转状态7。
状态5,从BM_FIFO中读取一个数据,同时RAM的读地址加1,从RAM中读数据到BM_FIFO中。根据cur_PSN的低4bit数值对BM_FIFO的读出数据进行右移,得到SHIFT_REG数据,再从SHIFT_REG数据的最低bit开始统计连续为0的bit个数,记作zero_num。将zero_num数据与cur_PSN进行相加得到新cur_PSN。如果新cur_PSN的低4bit为0,则保持状态5;如果不为0,则跳转到状态6。
状态6,说明bitmap中最小有效bit已经找到,但刷新未完毕,输出刷新未结束信号、last_bit_num和new_exp_PSN,并将cur_PSN输出last_PSN。跳转到状态7。
状态7,读出BM_FIFO里的剩余数据,清空BM_FIFO后,结束整个流程。
步骤207,基于更新后的位图数据,读取发送数据包序列号。
在更新了位图数据后,可以确定本次接收到的数据完整,可以基于更新后的位图数据,从RAM中读取出对应的发送数据包序列号。
步骤208,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
将发送数据包序列号对应的发送数据包按照传输报文的格式进行组合,生成确认数据包,以用于将数据进行发送。
在本发明的一可选实施例中,所述将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包的步骤包括:基于远程直接数据存取协议,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
在实际应用中,可以将发送数据包序列号对应的发生数据包按照远程直接数据存取协议(Remote Direct Memory Access,RDMA)的规范进行组合,生成确认数据包,以使的确认数据包可以在RDMA协议下进行传输。
此外,在本发明的一可选实施例中,所述方法还包括:
步骤S1,发送所述确认数据包至预设发送节点。
在实际应用中,可以将组合得到的确认数据包发送到发送节点。晚会智能整个数据传输过程。
在本发明实施例中可以在不降低接收节点数据包处理速率的前提下,增加位图数据的容量,提高刷新位图数据效率,降低芯片内部寄存器资源的使用量。通过合并多个数据包序列号写一次存储器的方法,使得整体处理效率不低于使用寄存器作为位图数据的效率通过基于流水线形式的刷新位图数据方式,可以使得刷新每个随机存储器地址的数据只需要1个时钟周期,且每时钟周期刷新位图数据中的多个位,可以大幅提高了刷新效率。
为了使本领域技术人员,可以更清楚本发明实施例的实施过程,以下举出一个示例进行说明:
参照图8,示出本发明的一种位图数据处理方法示例的硬件结构图;
硬件结构包括现场可编程门阵列芯片FPGA、与FPGA连接的有两个以太网端口,以及两个的存储器SDRAM,可以通过外设部件互联扩展PCI-E连接服务器的中央处理器CPU。
参照图9,示出了本发明的一种位图数据处理方法示例的芯片架构图;基于该架构包括接收包处理模块(receive_proc)、返回包处理模块(ack_proc)和位图处理装置(bitmap_proc)。其中RAM的数据位宽为16bit,深度为1024。
当RDMA的发送节点和接收节点建立连接后,receive_proc模块的内部预期PSN计数器(exp_PSN)清零。receive_proc模块接收到RDMA数据包,分析提取数据包中携带的PSN,与预期PSN对比,如果一致说明没有丢包,将确认命令和PSN发送到ack_proc模块,ack_proc模块根据RDMA协议组成确认数据包(ACK)发送到发送节点。
当网络上有数据包丢失,receive_proc模块预期PSN为4,而接收包携带PSN为5,则receive_proc模块进入丢包状态,将重传命令和预期PSN(4)和接收PSN(5)发送给ack_proc模块。Ack_proc模块根据RDMA协议组成非确认数据包(NACK)发送到发送节点。同时,receive_proc模块将接收PSN(5)发送到bitmap_proc模块。在重传数据没有到来前,receive_proc模块连续接收到PSN为6、7、8、10、11的数据包,并将接收PSN发送到bitmap_proc模块。
bitmap_proc模块中的write_proc接收到连续输入的PSN,将其转化为RAM的1bit。根据本发明的转换算法,数值为5、6、7、8、10、11的PSN对应的bit的RAM地址都为0,RAM数据分别为0x20、0x40、0x80、0x100、0x400、0x800。将转换后的RAM地址和ram数据分别写入ADDR_FIFO和DATA_FIFO。
当ADDR_FIFO非空且OP_FIFO为非满时,write_proc模块的状态机从状态1跳转到状态2,读取ADDR_FIFO的数据(0)和DATA_FIFO的数据(0x20)写入寄存器ADDR_REG和DATA_REG。
状态2,此时ADDR_FIFO的输出端口数据为0,DATA_FIFO的输出端口数据为0x40。对比ADDR_FIFO和ADDR_REG的数值一致,将状态机跳转到状态3,读取DATA_FIFO的数据(0x40)和DATA_REG的数据(0x20)进行“或”操作,得到0x60存入DATA_REG。读取ADDR_FIFO的数据(0)写入ADDR_REG。
状态3,此时ADDR_FIFO的输出端口数据为0,DATA_FIFO的输出端口数据为0x80。对比ADDR_FIFO和ADDR_REG的数值一致,将状态机保持状态3,读取DATA_FIFO的数据(0x80)和DATA_REG的数据(0x60)进行“或”操作,得到0xE0存入DATA_REG。读取ADDR_FIFO的数据(0)写入ADDR_REG。如此循环,直到两个FIFO都读空,得到ADDR_REG的数据值为0,DATA数值为0xDE0,状态机跳转到状态4。
状态4,将ADDR_REG数据(0)和DATA_REG数据(0xDE0)写入OP_FIFO,判断ADDR_FIFO为空,跳转到状态1。
此时OP_FIFO为非空且RAM的端口由write_proc模块控制,OP_PROC模块读取OP_FIFO数据,用RAM地址(0)读取RAM,得到RAM读数据0,将0xDE0与0进行“或”操作,得到0xDE0,写入RAM的地址0。COUNTER统计RAM写数据(0xDE0)含有1的个数为6,输出bit_num为6 。
当接收节点在接收到PSN为11的数据包后,接收到PSN为4的重传数据。Receive_proc模块将exp_PSN增加为5,并向bitmap_proc发送刷新命令。Bitmap_proc模块进入刷新状态,RAM端口由refresh_proc模块占用。
refresh_proc模块的状态机进入状态1,将exp_PSN为5转换成RAM地址为0,RAM数据为0x20。用地址0读取RAM,得到数据0xDE0写入BM_FIFO。由于BM_FIFO的空信号需要在数据写入后延迟3个周期才能为0,因此又连续读取3个RAM地址的数据写入BM_FIFO。将exp_PSN锁存到cur_PSN,bit_num锁存为last_bit_num。跳转到状态2。
状态2,读取BM_FIFO数据(0xDE0)。同时RAM的读地址加1,从RAM中读数据到BM_FIFO中。根据cur_PSN的低4bit(5),将0xDE0右移5位,得到SHIFT_REG值0x6F。从SHIFT_REG的最低bit统计连续为1的bit个数one_num为4。用one_num与cur_PSN相加得到新cur_PSN为9,cur_PSN[3:0]不为0。将BM_FIFO的读数据低9位置0,得到RAM写数据为0xC00,写入RAM的0地址。Last_bit_num减one_num得到新last_bit_num为2,表示bitmap非空。跳转到状态3。
状态3,将cur_PSN锁存到new_exp_PSN,数值为9。根据cur_PSN的低4bit (9),将BM_FIFO数据(0xDE0)向右移9位,得到SHIFT_REG值0x6。从SHIFT_REG的最低bit统计连续为0的bit个数zero_num为1。将zero_num数据(1)与cur_PSN(9)进行相加得到新cur_PSN数值为10。 新cur_PSN的低4bit不为0,跳转到状态6。
状态6,输出刷新未结束信号、last_bit_num(2)和new_exp_PSN(9),并将cur_PSN输出last_PSN(10)。跳转到状态7。
状态7,读出BM_FIFO剩余数据,直到BM_FIFO为空,整体流程结束。
write_proc模块接收到last_bit_num,将内部COUNTER值更新为2。
receive_proc模块接收到bitmap_proc模块返回的刷新未结束信号以及new_exp_PSN和last_PSN数据以后,将exp_PSN更新为new_exp_PSN值,将last_PSN作为接收到PSN。并将预期PSN值(9)、接收到PSN值(10)和重传命令发送给ack_proc模块。Ack_proc模块根据RDMA协议组成非确认数据包(NACK)发送到发送节点。
当接收节点接收到PSN为9的重传数据时,Receive_proc模块将exp_PSN增加为10,并向bitmap_proc发送刷新命令。Bitmap_proc模块进入刷新状态,RAM端口由refresh_proc模块占用。
refresh_proc模块的状态机进入状态1,将exp_PSN为10转换成RAM地址为0,RAM数据为0x400。用地址0读取RAM,得到数据0xD0写入BM_FIFO。由于BM_FIFO的空信号需要在数据写入后延迟3个周期才能为0,因此又连续读取3个RAM地址的数据写入BM_FIFO。将exp_PSN锁存到cur_PSN,bit_num锁存为last_bit_num。跳转到状态2。
状态2,读取BM_FIFO数据(0xC00)。同时RAM的读地址加1,从RAM中读数据到BM_FIFO中。根据cur_PSN的低4bit(10),将0Xc00右移10位,得到SHIFT_REG值0x3。从SHIFT_REG的最低bit统计连续为1的bit个数one_num为2。用one_num与cur_PSN相加得到新cur_PSN为12,cur_PSN[3:0]不为0。将BM_FIFO的读数据低12位置0,得到RAM写数据为0x0,写入RAM的0地址。Last_bit_num减one_num得到新last_bit_num为0,表示bitmap为空。跳转到状态4。
状态4,输出刷新结束信号,并将cur_PSN输出new_exp_PSN。跳转状态7。
状态7,读出BM_FIFO剩余数据,直到BM_FIFO为空,整体流程结束。
write_proc模块接收到last_bit_num,将内部COUNTER值更新为0。
receive_proc模块接收到bitmap_proc模块返回的刷新结束信号以及new_exp_PSN以后,将exp_PSN更新为new_exp_PSN值(12)。将确认命令和PSN发送到ack_proc模块,ack_proc模块根据RDMA协议组成确认数据包(ACK)发送到发送节点。整个RDMA数据传输完毕。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图10,示出了本发明的一种随机存储器实施例的结构框图,所述随机存储器具体可以包括写入模块1001和更新模块1002,
所述写入模块1001被配置为用于响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;
所述更新模块1002被配置用于响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号与有效位个数,更新所述位图数据。
可选地,所述方法还包括:
将所述初始数据包序列号对应的数据包存储至所述随机存储器。
可选地,所述将所述初始数据包序列号对应的数据包存储至所述随机存储器的步骤包括:
将多个初始数据包序列号对应的数据包合并写入所述随机存储器。
可选地,所述方法还包括:
基于更新后的位图数据,读取发送数据包序列号;
将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述方法还包括:
发送所述确认数据包至预设发送节点。
可选地,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包的步骤包括:
基于远程直接数据存取协议,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述将所述初始数据包序列号转换为随机存储器数据的步骤包括:
将所述初始数据包序列号转换为一位的随机存储器数据。
可选地,所述将所述初始数据包序列号转换为一位的随机存储器数据的步骤包括:
将所述初始数据包序列号的低位数据转换为预设底数的指数值;
依据所述指数值确定第一随机存储器写入数据;
将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;
将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为所述一位的随机存储器数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤包括:
将所述第一随机存储器地址值写入第一先入先出存储器,将所述第一随机存储器写入数据写入第二先入先出存储器;
将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器;
判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空。
当所述第一先入先出存储器为空,且所述第二先入先出存储器为空时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,生成所述位图数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
当所述第一先入先出存储器或第二先入先出存储器其中至少一个不为空时,将所述第一先入先出存储器的数据与所述第一寄存器的数据进行对比;
当所述第一先入先出存储器的数据与所述第一寄存器的数据不相等时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,执行所述将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器的步骤;
当所述第一先入先出存储器的数据与所述第一寄存器的数据相等时,将第二先入先出存储器的数据与所述第二寄存器的数据进行或运算,生成运算结果数据,并将所述运算结果数据存入所述第二寄存器,将所述第一先入先出存储器的数据输入至所述第一寄存器。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
重复执行所述判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空的步骤,直至所述第一先入先出存储器为空,且所述第二先入先出存储器为空。
可选地,所述基于所述随机存储器数据,确定有效位个数的步骤包括:
确定预设初始位数;
在所述第一寄存器中的数据和所述第二寄存器的数据进行合并时,递增所述预设初始位数,生成当前有效位;
将所述当前有效位确定为所述有效位个数。
可选地,所述基于重传数据包的数据包序列号,确定目标数据包序列号的步骤包括:
将所述重传数据包的数据包序列号中的第一个确定为所述目标数据包序列号。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤包括:
将所述目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值;
将所述第二随机存储器写入数据写入第三先入先出存储器;
将每个预设时钟周期中,将所述第二随机存储器地址值加一,直至所述第三先入先出存储器中的数据不为空;
基于目标数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第一偏移数据;
将所述第一偏移数据的最低位进行统计,确定第一连续位数;
将所述第一连续位数与所述目标数据包序列号相加,得到第一更新数据包序列号;
将所述第一更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
将所述有效位个数减去所述连续位数,生成剩余有效位;
判断所述剩余有效位是否为零;
当所述剩余有效位为零时,确定所述位图数据刷新完成;
当所述剩余有效位不为零时,基于所述第一更新数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第二偏移数据;
基于所述第二偏移数据的最低位进行统计,确定第二连续位数;
将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号;
基于所述第二更新数据包序列号,更新所述位图数据。
可选地,所述基于所述第二更新数据包序列号,更新所述位图数据的步骤包括:
判断所述第二更新数据包序列号的预设位数是否为零;
当所述第二更新数据包序列号的预设位数为零时,将所述第二更新数据包序列号确定为所述第一更新数据包序列号,执行所述将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号的步骤;
当所述第二更新数据包序列号的预设位数不为零时,将所述第二更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第二更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
锁存所述目标数据包序列号和所述有效位个数。
在本发明的第二个方面,本发明实施了公开了一种随机存储器,所述随机存储器包括写入模块和更新模块,
所述写入模块被配置为用于响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;
所述更新模块被配置用于响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号与有效位个数,更新所述位图数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图11,本发明实施例还提供了一种电子设备,包括:
处理器1101和存储介质1102,所述存储介质1102存储有所述处理器601可执行的计算机程序,当电子设备运行时,所述处理器1101执行所述计算机程序,以执行如本发明实施例任一项所述的位图数据处理方法。所述多位图数据处理方法应用于随机存储器,所述多位图数据处理方法包括:
响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;
依据所述随机存储器数据,生成位图数据;
基于所述随机存储器数据,确定有效位个数;
响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;
依据所述目标数据包序列号和所述有效位个数,更新所述位图数据。
可选地,所述方法还包括:
将所述初始数据包序列号对应的数据包存储至所述随机存储器。
可选地,所述将所述初始数据包序列号对应的数据包存储至所述随机存储器的步骤包括:
将多个初始数据包序列号对应的数据包合并写入所述随机存储器。
可选地,所述方法还包括:
基于更新后的位图数据,读取发送数据包序列号;
将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述方法还包括:
发送所述确认数据包至预设发送节点。
可选地,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包的步骤包括:
基于远程直接数据存取协议,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述将所述初始数据包序列号转换为随机存储器数据的步骤包括:
将所述初始数据包序列号转换为一位的随机存储器数据。
可选地,所述将所述初始数据包序列号转换为一位的随机存储器数据的步骤包括:
将所述初始数据包序列号的低位数据转换为预设底数的指数值;
依据所述指数值确定第一随机存储器写入数据;
将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;
将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为所述一位的随机存储器数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤包括:
将所述第一随机存储器地址值写入第一先入先出存储器,将所述第一随机存储器写入数据写入第二先入先出存储器;
将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器;
判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空。
当所述第一先入先出存储器为空,且所述第二先入先出存储器为空时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,生成所述位图数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
当所述第一先入先出存储器或第二先入先出存储器其中至少一个不为空时,将所述第一先入先出存储器的数据与所述第一寄存器的数据进行对比;
当所述第一先入先出存储器的数据与所述第一寄存器的数据不相等时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,执行所述将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器的步骤;
当所述第一先入先出存储器的数据与所述第一寄存器的数据相等时,将第二先入先出存储器的数据与所述第二寄存器的数据进行或运算,生成运算结果数据,并将所述运算结果数据存入所述第二寄存器,将所述第一先入先出存储器的数据输入至所述第一寄存器。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
重复执行所述判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空的步骤,直至所述第一先入先出存储器为空,且所述第二先入先出存储器为空。
可选地,所述基于所述随机存储器数据,确定有效位个数的步骤包括:
确定预设初始位数;
在所述第一寄存器中的数据和所述第二寄存器的数据进行合并时,递增所述预设初始位数,生成当前有效位;
将所述当前有效位确定为所述有效位个数。
可选地,所述基于重传数据包的数据包序列号,确定目标数据包序列号的步骤包括:
将所述重传数据包的数据包序列号中的第一个确定为所述目标数据包序列号。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤包括:
将所述目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值;
将所述第二随机存储器写入数据写入第三先入先出存储器;
将每个预设时钟周期中,将所述第二随机存储器地址值加一,直至所述第三先入先出存储器中的数据不为空;
基于目标数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第一偏移数据;
将所述第一偏移数据的最低位进行统计,确定第一连续位数;
将所述第一连续位数与所述目标数据包序列号相加,得到第一更新数据包序列号;
将所述第一更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
将所述有效位个数减去所述连续位数,生成剩余有效位;
判断所述剩余有效位是否为零;
当所述剩余有效位为零时,确定所述位图数据刷新完成;
当所述剩余有效位不为零时,基于所述第一更新数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第二偏移数据;
基于所述第二偏移数据的最低位进行统计,确定第二连续位数;
将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号;
基于所述第二更新数据包序列号,更新所述位图数据。
可选地,所述基于所述第二更新数据包序列号,更新所述位图数据的步骤包括:
判断所述第二更新数据包序列号的预设位数是否为零;
当所述第二更新数据包序列号的预设位数为零时,将所述第二更新数据包序列号确定为所述第一更新数据包序列号,执行所述将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号的步骤;
当所述第二更新数据包序列号的预设位数不为零时,将所述第二更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第二更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
锁存所述目标数据包序列号和所述有效位个数。
其中,存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
参照图12,本发明实施例还提供了一种计算机可读存储介质1201,所述存储介质1201上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的多位图数据处理方法。所述多位图数据处理方法应用于随机存储器,所述多位图数据处理方法包括:
响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;
依据所述随机存储器数据,生成位图数据;
基于所述随机存储器数据,确定有效位个数;
响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;
依据所述目标数据包序列号和所述有效位个数,更新所述位图数据。
可选地,所述方法还包括:
将所述初始数据包序列号对应的数据包存储至所述随机存储器。
可选地,所述将所述初始数据包序列号对应的数据包存储至所述随机存储器的步骤包括:
将多个初始数据包序列号对应的数据包合并写入所述随机存储器。
可选地,所述方法还包括:
基于更新后的位图数据,读取发送数据包序列号;
将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述方法还包括:
发送所述确认数据包至预设发送节点。
可选地,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包的步骤包括:
基于远程直接数据存取协议,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
可选地,所述将所述初始数据包序列号转换为随机存储器数据的步骤包括:
将所述初始数据包序列号转换为一位的随机存储器数据。
可选地,所述将所述初始数据包序列号转换为一位的随机存储器数据的步骤包括:
将所述初始数据包序列号的低位数据转换为预设底数的指数值;
依据所述指数值确定第一随机存储器写入数据;
将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;
将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为所述一位的随机存储器数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤包括:
将所述第一随机存储器地址值写入第一先入先出存储器,将所述第一随机存储器写入数据写入第二先入先出存储器;
将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器;
判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空。
当所述第一先入先出存储器为空,且所述第二先入先出存储器为空时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,生成所述位图数据。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
当所述第一先入先出存储器或第二先入先出存储器其中至少一个不为空时,将所述第一先入先出存储器的数据与所述第一寄存器的数据进行对比;
当所述第一先入先出存储器的数据与所述第一寄存器的数据不相等时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,执行所述将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器的步骤;
当所述第一先入先出存储器的数据与所述第一寄存器的数据相等时,将第二先入先出存储器的数据与所述第二寄存器的数据进行或运算,生成运算结果数据,并将所述运算结果数据存入所述第二寄存器,将所述第一先入先出存储器的数据输入至所述第一寄存器。
可选地,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
重复执行所述判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空的步骤,直至所述第一先入先出存储器为空,且所述第二先入先出存储器为空。
可选地,所述基于所述随机存储器数据,确定有效位个数的步骤包括:
确定预设初始位数;
在所述第一寄存器中的数据和所述第二寄存器的数据进行合并时,递增所述预设初始位数,生成当前有效位;
将所述当前有效位确定为所述有效位个数。
可选地,所述基于重传数据包的数据包序列号,确定目标数据包序列号的步骤包括:
将所述重传数据包的数据包序列号中的第一个确定为所述目标数据包序列号。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤包括:
将所述目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值;
将所述第二随机存储器写入数据写入第三先入先出存储器;
将每个预设时钟周期中,将所述第二随机存储器地址值加一,直至所述第三先入先出存储器中的数据不为空;
基于目标数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第一偏移数据;
将所述第一偏移数据的最低位进行统计,确定第一连续位数;
将所述第一连续位数与所述目标数据包序列号相加,得到第一更新数据包序列号;
将所述第一更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
将所述有效位个数减去所述连续位数,生成剩余有效位;
判断所述剩余有效位是否为零;
当所述剩余有效位为零时,确定所述位图数据刷新完成;
当所述剩余有效位不为零时,基于所述第一更新数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第二偏移数据;
基于所述第二偏移数据的最低位进行统计,确定第二连续位数;
将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号;
基于所述第二更新数据包序列号,更新所述位图数据。
可选地,所述基于所述第二更新数据包序列号,更新所述位图数据的步骤包括:
判断所述第二更新数据包序列号的预设位数是否为零;
当所述第二更新数据包序列号的预设位数为零时,将所述第二更新数据包序列号确定为所述第一更新数据包序列号,执行所述将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号的步骤;
当所述第二更新数据包序列号的预设位数不为零时,将所述第二更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第二更新随机存储器写入数据,以更新所述位图数据。
可选地,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
锁存所述目标数据包序列号和所述有效位个数。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种位图数据处理方法、随机存储器、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (18)

1.一种位图数据处理方法,其特征在于,应用于随机存储器,所述方法包括:
响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;
依据所述随机存储器数据,生成位图数据;
基于所述随机存储器数据,确定有效位个数;
响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;
依据所述目标数据包序列号和所述有效位个数,更新所述位图数据;
其中,所述响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据的步骤包括:将所述初始数据包序列号的低位数据转换为预设底数的指数值;依据所述指数值确定第一随机存储器写入数据;将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为一位的随机存储器数据;
所述依据所述随机存储器数据,生成位图数据的步骤包括:依据随机存储器数据中的第一随机存储器写入数据和第一随机存储器地址值进行计算,生成对应的位图数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述初始数据包序列号对应的数据包存储至所述随机存储器。
3.根据权利要求2所述的方法,其特征在于,所述将所述初始数据包序列号对应的数据包存储至所述随机存储器的步骤包括:
将多个初始数据包序列号对应的数据包合并写入所述随机存储器。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于更新后的位图数据,读取发送数据包序列号;
将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
发送所述确认数据包至预设发送节点。
6.根据权利要求4所述的方法,其特征在于,所述将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包的步骤包括:
基于远程直接数据存取协议,将所述发送数据包序列号对应的发送数据包进行组合,生成确认数据包。
7.根据权利要求1所述的方法,其特征在于,所述依据所述随机存储器数据,生成位图数据的步骤包括:
将所述第一随机存储器地址值写入第一先入先出存储器,将所述第一随机存储器写入数据写入第二先入先出存储器;
将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器;
判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空;
当所述第一先入先出存储器为空,且所述第二先入先出存储器为空时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,生成所述位图数据。
8.根据权利要求7所述的方法,其特征在于,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
当所述第一先入先出存储器或第二先入先出存储器其中至少一个不为空时,将所述第一先入先出存储器的数据与所述第一寄存器的数据进行对比;
当所述第一先入先出存储器的数据与所述第一寄存器的数据不相等时,将所述第一寄存器中的数据和所述第二寄存器的数据进行合并,执行所述将所述第一先入先出存储器写入第一寄存器,将所述第二先入先出存储器写入第二寄存器的步骤;
当所述第一先入先出存储器的数据与所述第一寄存器的数据相等时,将第二先入先出存储器的数据与所述第二寄存器的数据进行或运算,生成运算结果数据,并将所述运算结果数据存入所述第二寄存器,将所述第一先入先出存储器的数据输入至所述第一寄存器。
9.根据权利要求8所述的方法,其特征在于,所述依据所述随机存储器数据,生成位图数据的步骤还包括:
重复执行所述判断所述第一先入先出存储器是否为空,且所述第二先入先出存储器是否为空的步骤,直至所述第一先入先出存储器为空,且所述第二先入先出存储器为空。
10.根据权利要求8所述的方法,其特征在于,所述基于所述随机存储器数据,确定有效位个数的步骤包括:
确定预设初始位数;
在所述第一寄存器中的数据和所述第二寄存器的数据进行合并时,递增所述预设初始位数,生成当前有效位;
将所述当前有效位确定为所述有效位个数。
11.根据权利要求8所述的方法,其特征在于,所述基于所述重传数据包的数据包序列号,确定目标数据包序列号的步骤包括:
将所述重传数据包的数据包序列号中的第一个确定为所述目标数据包序列号。
12.根据权利要求11所述的方法,其特征在于,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤包括:
将所述目标数据包序列号转换为第二随机存储器写入数据和第二随机存储器地址值;
将所述第二随机存储器写入数据写入第三先入先出存储器;
将每个预设时钟周期中,将所述第二随机存储器地址值加一,直至所述第三先入先出存储器中的数据不为空;
基于目标数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第一偏移数据;
将所述第一偏移数据的最低位进行统计,确定第一连续位数;
将所述第一连续位数与所述目标数据包序列号相加,得到第一更新数据包序列号;
将所述第一更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第一更新随机存储器写入数据,以更新所述位图数据。
13.根据权利要求12所述的方法,其特征在于,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
将所述有效位个数减去所述连续位数,生成剩余有效位;
判断所述剩余有效位是否为零;
当所述剩余有效位为零时,确定所述位图数据刷新完成;
当所述剩余有效位不为零时,基于所述第一更新数据包序列号,将所述第三先入先出存储器中的数据右移位,生成第二偏移数据;
基于所述第二偏移数据的最低位进行统计,确定第二连续位数;
将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号;
基于所述第二更新数据包序列号,更新所述位图数据。
14.根据权利要求13所述的方法,其特征在于,所述基于所述第二更新数据包序列号,更新所述位图数据的步骤包括:
判断所述第二更新数据包序列号的预设位数是否为零;
当所述第二更新数据包序列号的预设位数为零时,将所述第二更新数据包序列号确定为所述第一更新数据包序列号,执行所述将所述第二连续位数与所述第一更新数据包序列号相加,得到第二更新数据包序列号的步骤;
当所述第二更新数据包序列号的预设位数不为零时,将所述第二更新数据包序列号预设位数的数值与所述第三先入先出存储器的数据结合,生成第二更新随机存储器写入数据,以更新所述位图数据。
15.根据权利要求12所述的方法,其特征在于,所述依据所述目标数据包序列号和所述有效位个数,更新所述位图数据的步骤还包括:
锁存所述目标数据包序列号和所述有效位个数。
16.一种随机存储器,其特征在于,所述随机存储器包括写入模块和更新模块,
所述写入模块被配置为用于响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据;依据所述随机存储器数据,生成位图数据;基于所述随机存储器数据,确定有效位个数;
所述更新模块被配置用于响应接收到重传数据包,基于所述重传数据包的数据包序列号,确定目标数据包序列号;依据所述目标数据包序列号与有效位个数,更新所述位图数据;
其中,所述响应于接收到初始数据包序列号,将所述初始数据包序列号转换为随机存储器数据的步骤包括:将所述初始数据包序列号的低位数据转换为预设底数的指数值;依据所述指数值确定第一随机存储器写入数据;将所述初始数据包序列号的高位数据,转换为第一随机存储器地址值;将所述第一随机存储器写入数据和所述第一随机存储器地址值组合,确定为一位的随机存储器数据;
所述依据所述随机存储器数据,生成位图数据的步骤包括:依据随机存储器数据中的第一随机存储器写入数据和第一随机存储器地址值进行计算,生成对应的位图数据。
17.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至15中任一项所述的位图数据处理方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15中任一项所述的位图数据处理方法的步骤。
CN202311167727.4A 2023-09-12 2023-09-12 位图数据处理方法、随机存储器、电子设备和存储介质 Active CN116909624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311167727.4A CN116909624B (zh) 2023-09-12 2023-09-12 位图数据处理方法、随机存储器、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311167727.4A CN116909624B (zh) 2023-09-12 2023-09-12 位图数据处理方法、随机存储器、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN116909624A CN116909624A (zh) 2023-10-20
CN116909624B true CN116909624B (zh) 2024-01-26

Family

ID=88368069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311167727.4A Active CN116909624B (zh) 2023-09-12 2023-09-12 位图数据处理方法、随机存储器、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116909624B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070087725A (ko) * 2005-08-12 2007-08-29 삼성전자주식회사 무선 네트워크를 통하여 데이터를 효율적으로 송/수신하는방법 및 그 방법을 이용한 무선 디바이스
CN103389413A (zh) * 2013-07-09 2013-11-13 中国电子科技集团公司第四十一研究所 一种频谱直方图的实时统计方法
CN104471891A (zh) * 2012-07-16 2015-03-25 高通股份有限公司 用于块确收压缩的装置和方法
CN109981480A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 一种数据传输方法及第一设备
CN112363763A (zh) * 2020-11-13 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置及计算机可读存储介质
CN113783800A (zh) * 2021-11-10 2021-12-10 恒生电子股份有限公司 数据包处理方法、装置、计算机设备及可读存储介质
CN114827300A (zh) * 2022-03-20 2022-07-29 西安电子科技大学 硬件保障的数据可靠传输***、控制方法、设备及终端
CN116319093A (zh) * 2023-05-18 2023-06-23 湖北微源卓越科技有限公司 一种基于FPGA的IPsec抗重放方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070087725A (ko) * 2005-08-12 2007-08-29 삼성전자주식회사 무선 네트워크를 통하여 데이터를 효율적으로 송/수신하는방법 및 그 방법을 이용한 무선 디바이스
CN104471891A (zh) * 2012-07-16 2015-03-25 高通股份有限公司 用于块确收压缩的装置和方法
CN103389413A (zh) * 2013-07-09 2013-11-13 中国电子科技集团公司第四十一研究所 一种频谱直方图的实时统计方法
CN109981480A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 一种数据传输方法及第一设备
CN112363763A (zh) * 2020-11-13 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置及计算机可读存储介质
CN113783800A (zh) * 2021-11-10 2021-12-10 恒生电子股份有限公司 数据包处理方法、装置、计算机设备及可读存储介质
CN114827300A (zh) * 2022-03-20 2022-07-29 西安电子科技大学 硬件保障的数据可靠传输***、控制方法、设备及终端
CN116319093A (zh) * 2023-05-18 2023-06-23 湖北微源卓越科技有限公司 一种基于FPGA的IPsec抗重放方法

Also Published As

Publication number Publication date
CN116909624A (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
US10291482B2 (en) ECU for transmitting large data in HiL test environment, system including the same and method thereof
CN110134365B (zh) 一种多通道并行读出fifo的方法及装置
US7707335B2 (en) Device and method for managing a retransmit operation
WO2009070324A1 (en) A method for setting parameters and determining latency in a chained device system
CN114242138A (zh) 一种延时控制器、内存控制器以及时序控制方法
CN116909624B (zh) 位图数据处理方法、随机存储器、电子设备和存储介质
KR101332279B1 (ko) 데이터 패킷 전송 방법 및 디바이스
JP2007259274A (ja) 再送制御回路、送信装置、再送制御方法及び再送制御プログラム
CN115699641A (zh) 通信装置和通信***
CN115834027B (zh) 一种消息填充方法、装置、设备及计算机可读存储介质
WO2023125558A1 (zh) 数据传输的方法、模块、装置、设备及存储介质
CN104052831A (zh) 一种基于队列的数据传输方法、装置及通信***
CN112312396B (zh) 一种NoC追踪数据的生成方法及相关装置
WO2018028548A1 (zh) 传输资源的指示方法、装置及存储媒介
KR101353992B1 (ko) 데이터 패킷 조립을 위한 방법 및 디바이스
CN113810384B (zh) 实现一次特性的消息传输方法
CN111343612B (zh) 一种物联网数据方法及***
CN115800992B (zh) 一种握手信号的拆分电路、方法、装置、设备及存储介质
CN115102524B (zh) 一种滤波器
CN112699070A (zh) 基于zynq的dma数据传输方法
CN115801797A (zh) 点对点通信的数据发送、接收方法及装置、通信终端
CN117708005A (zh) 一种存储器访问方法、装置、设备及介质
JPH0361375B2 (zh)
CN117111859A (zh) 一种数据写入方法、装置及设备
CN110737615A (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