CN116170527B - 报文编辑方法、报文编辑装置、介质及电子设备 - Google Patents
报文编辑方法、报文编辑装置、介质及电子设备 Download PDFInfo
- Publication number
- CN116170527B CN116170527B CN202310127947.8A CN202310127947A CN116170527B CN 116170527 B CN116170527 B CN 116170527B CN 202310127947 A CN202310127947 A CN 202310127947A CN 116170527 B CN116170527 B CN 116170527B
- Authority
- CN
- China
- Prior art keywords
- information
- byte
- message
- operation instruction
- control information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000009467 reduction Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 description 17
- 230000037431 insertion Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文编辑方法、报文编辑装置、介质及电子设备。所述报文编辑方法包括:获取原始报文、改写数据包、至少一个第一操作指令;基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各第一控制信息、各第二控制信息、各第三控制信息和各第四控制信息;基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息;基于各所述第一来源信息、各所述第二来源信息、所述原始报文和所述改写数据包,获取所述目标报文。所述报文编辑方法能够提高数据处理器中报文编辑效率。
Description
技术领域
本申请属于报文处理领域,涉及一种报文编辑方法,特别是涉及一种报文编辑方法、报文编辑装置、介质及电子设备。
背景技术
随着数据中心中数据流量的不断增长,特别是5G时代到来后数据流量的激增,数据中心面临着更大的来自应用和数据的网络压力。交换机作为不可或缺的核心网络设备,其增长动能需要与数据中心保持一致。随着数据中心的加速,由于DPU(Data ProcessingUnit,数据处理器)中传统的报文编辑方法依赖于CPU(Central Processing Unit,中央处理器)的参与,导致报文编辑的效率不高,因此目前的报文编辑方法存在着编辑效率不高的问题。
发明内容
本申请的目的在于提供一种报文编辑方法、报文编辑装置、介质及电子设备,用于解决现有的报文编辑方法中存在着编辑效率不高的问题。
第一方面,本申请提供一种报文编辑方法,应用于数据处理器,所述报文编辑方法包括:获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量;基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量;基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文的字节在所述原始报文中的位置或所述目标报文的字节在所述改写数据包中的位置;基于各所述第一来源信息、各所述第二来源信息、所述原始报文和改写数据包,获取所述目标报文。
通过获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息,以及获取目标报文各字节的第一来源信息和第二来源信息。由于上述操作基本可通过DPU完成,因而能够使得在数据处理器的报文编辑过程中减少CPU的参与,从而提高数据处理器的报文编辑能力,以及提高数据处理器中报文的编辑效率。
于本申请的一实施例中,所述第一操作指令还包括第二位置信息,所述第一操作指令的指令格式为所述第一操作指令的命令信息、第一位置信息、第二位置信息、改写字节量顺序排列,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息的实现方法包括:对各所述第一操作指令进行第一转换处理,以获取各第二操作指令,所述第二操作指令的指令格式为所述第二操作指令的命令信息、第一位置信息、改写字节量顺序排列;对各所述第二操作指令进行第二转换处理,以获取各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息。
于本申请的一实施例中,获取目标报文各字节的第一来源信息的实现方法包括:基于各所述第一控制信息、各所述第二控制信息,获取所述目标报文各字节的位置信息,所述位置信息为以下信息中的任意一种:所述目标报文的字节在所述第二操作指令内部、所述目标报文的字节在所述第二操作指令之间和所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间,所述目标报文的字节在所述第二操作指令内部表示所述目标报文的字节为所述第二操作指令对应的报文改写数据中的字节,所述目标报文的字节在所述第二操作指令之间表示所述目标报文的字节为所述原始报文中的字节;基于各所述位置信息,获取各所述第一来源信息。
于本申请的一实施例中,获取所述目标报文各字节的第二来源信息的实现方法包括:基于各所述位置信息,获取各所述第二来源信息,当所述目标报文的字节在所述第二操作指令内部时,所述目标报文的字节的第二来源信息表示为:
m1=Rdc[n-1]-start[n]+B
其中m1表示所述目标报文的字节在所述改写数据包中的位置,Rdc[n-1]表示第n-1个第一操作指令对应的第三控制信息,start[n]表示第n个第一操作指令对应的第一控制信息,B表示所述目标报文的字节对应的改写字节数,当所述目标报文的字节在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m2=B-ba[n-1]
其中m2表示所述目标报文的字节在所述原始报文中的位置,ba[n-1]表示第n-1个第一操作指令对应的第四控制信息,当所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m3=B-ba[final]
其中m3表示所述目标报文的字节在所述原始报文中的位置,ba[final]表示最后一个第一操作指令对应的第四控制信息。
于本申请的一实施例中,所述第一操作指令包含字节插入指令、字节替换指令、字节删除指令、字节滑动删除指令或跳过指令,所述报文编辑方法还包括:获取至少一个字节数值增加指令,所述字节数值增加指令包含第一位置信息;基于各所述第二操作指令,对各所述字节数值增加指令的第一位置信息实时更新,以使所述字节数值增加指令的第一位置信息为实时更新后的所述字节数值增加指令的第一位置信息。
于本申请的一实施例中,获取至少一个字节数值减少指令,所述字节数值减少指令包含第一位置信息;基于各所述第二操作指令,对各所述字节数值减少指令的第一位置信息实时更新,以使所述字节数值减少指令的第一位置信息为实时更新后的所述字节数值减少指令的第一位置信息。
于本申请的一实施例中,所述报文编辑方法还包括:获取至少一个校验和指令,所述校验和指令包括校验和指令类型、第一报文头的起始信息和第二报文头的起始信息;基于各所述第二操作指令,对各所述第一报文头的起始信息和各所述第二报文头的起始信息实时更新,以使各所述第一报文头的起始信息为实时更新后的第一报文头的起始信息、各所述第二报文头的起始信息为实时更新后的第二报文头的起始信息;基于各所述校验和指令类型、各所述第一报文头的起始信息和各所述第二报文头的起始信息,获取所述目标报文中参与校验和计算的字节;基于所述目标报文中参与校验和计算的字节,获取所述目标报文的校验和值。
第二方面,本申请提供一种报文编辑装置,应用于数据处理器,所述报文编辑装置包括:第一操作指令获取模块,用于获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量;控制信息获取模块,用于基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量;来源信息获取模块,基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文的字节在所述原始报文中的位置或所述目标报文的字节在所述改写数据包中的位置;目标报文获取模块,用于基于各所述第一来源信息、各所述第二来源信息、所述原始报文和所述改写数据包,获取所述目标报文。
第三方面,本申请提供一种计算机可读存储介质,其上存储有一计算机程序,该计算机程序被处理器执行时实现本申请第一方面任一项所述报文编辑方法。
第四方面,本申请提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本申请第一方面任一项所述报文编辑方法。
如上所述,本申请所述报文编辑方法、报文编辑装置、介质及电子设备,具有以下有益效果:
本申请所述报文编辑方法通过获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息,以及获取目标报文各字节的第一来源信息和第二来源信息,由于上述操作基本可以通过DPU完成,因而能够使得在数据处理器的报文编辑过程中减少CPU的参与,从而提高数据处理器的报文编辑能力,以及提高数据处理器中报文的编辑效率。
附图说明
图1显示为本申请实施例所述数据处理器的结构示意图。
图2显示为本申请实施例所述报文编辑方法的流程图。
图3显示为本申请实施例获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息的实现方法的流程图。
图4显示为本申请实施例获取目标报文各字节的第一来源信息的实现方法的流程图。
图5显示为本申请实施例所述报文编辑方法的流程图。
图6显示为本申请实施例所述报文编辑方法的流程图。
图7显示为本申请实施例所述报文编辑方法的流程图。
图8显示为本申请实施例所述报文编辑装置的结构示意图。
元件标号说明
10 数据处理器
110 存储器
120 处理器
800 报文编辑装置
810 第一操作指令获取模块
820 控制信息获取模块
830 来源信息获取模块
840 目标报文获取模块
S11-S14 步骤
S21-S22 步骤
S31-S32 步骤
S41-S42 步骤
S51-S52 步骤
S61-S64 步骤
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
如图1所示,本申请实施例提供一种数据处理器10,所述数据处理器10包括:存储器110、处理器120,所述存储器110用于存储原始报文、第一操作指令、报文改写数据等,所述处理器120用于处理获取控制信息的过程、获取来源信息的过程、获取目标报文的过程,所述控制信息包括第一控制信息、第二控制信息、第三控制信息、第四控制信息等,所述来源信息包括第一来源信息、第二来源信息等,所述存储器110包括寄存器等,所述存储器110和所述处理器120本实施例不再赘述。
如图2所示,本实施例提供一种报文编辑方法,所述报文编辑方法可以通过计算机设备的数据处理器实现,所述报文编辑方法包括:
S11,获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量。
可选地,所述改写数据包可以为一个先进先出的队列,存储有各第一操作指令对应的改写数据。例如,三个第一操作指令对应的报文改写数据为R0、R1、R2、R3、R4、R5、R6,所述改写数据包包括R0、R1、R2、R3、R4、R5、R6,R0在所述改写数据包中的位置为0、R1在所述改写数据包中的位置为1、依次类推。
可选地,所述第一操作指令为字节插入指令、字节替换指令、字节删除指令、字节滑动删除指令或跳过指令。所述原始报文例如可以包含15个字节,分别为B1、B2、B3、B4、B5、B6、B7、B8、B9、B10、B11、B12、B13、B14和B15。当所述第一操作指令为所述字节插入指令时,所述字节插入指令的命令信息例如可以为插入,所述字节插入指令的所述第一位置信息可以为2,当所述字节插入指令对应的报文改写数据为R0、R1时,所述改写字节量的大小为2,所述字节插入指令表示在B3和B4之间插入R0和R1,当所述字节替换指令的第一位置信息为2,所述字节替换指令对应的报文改写数据为R0和R1时,所述原始报文会被替换为B1、B2、R0、R1、B5、B6、B7、B8、B9、B10、B11、B12、B13、B14和B15。当所述字节删除指令的第一位置信息为2,所述字节删除指令的改写字节量为2时,所述字节删除指令对应的报文改写数据为空,所述原始报文会被改写为B1、B2、B5、B6、B7、B8、B9、B10、B11、B12、B13、B14和B15。当所述字节滑动删除指令的第一位置信息为2,所述字节滑动删除指令的改写字节量为2时,所述原始报文会被改写为B1、B2、B5、B6、B7、B8、B9、B10、B11、B12、B13、B14和B15。当所述跳过指令的第一位置信息为2,所述跳过指令的改写字节量为2时,所述原始报文会放弃字节B3和B4的改写动作。
可选地,所述第一操作指令还包括第二位置信息,所述第一操作指令的指令格式为所述第一操作指令的命令信息、第一位置信息、第二位置信息、改写字节量顺序排列。获取各所述第一操作指令对应的报文改写数据的实现方法包括:基于所述第一操作指令的第二位置信息,从所述改写数据包中提取各所述第一操作指令对应的报文改写数据。例如,所述改写数据包存储的报文改写数据为R0、R1、R2、R3,所述字节插入指令的第二位置信息为[0-2],则表示所述字节插入指令对应的报文改写数据为R0、R1、R2。
S12,基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量。
S13,基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文字节在所述原始报文中的位置或所述目标报文字节在所述改写数据包的位置。
可选地,当所述目标报文具有十个字节时,所述目标字节的第一来源信息可以通过0和1表示,比如所述目标报文的第一个字节为0时,表示该字节来自所述原始报文,所述目标报文的第一个字节为1时,表示该字节来自所述改写数据包。各所述目标报文字节的第二来源信息可以为0,1,2,0,1,第一个0表示目标报文第一个字节在所述原始报文中的位置,为原始报文的第一个字节,第二个0表示目标报文第五个字节在所述改写数据包中的位置,为所述改写数据包中的的第一个字节。
S14,基于各所述第一来源信息、各所述第二来源信息、所述原始报文和改写数据包,获取所述目标报文。
可选地,当所述原始报文为B1、B2、B3、B4、B5时,所述第一来源信息可以为一个七个长度的一维向量{1,1,1,0,0,1,1},1表示所述目标报文的字节来自于所述原始报文,0表示所述目标报文的字节来自于所述改写数据包,所述第二来源信息可以为一个七个长度的一维向量{0,1,2,0,1,3,4},所述改写数据包的前两个字节为R1、R2,所述目标报文为B1、B2、B3、R1、R2、B4、B5。
根据以上描述可知,本实施例所述报文编辑方法包括:获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量;
基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量;基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文的字节在所述原始报文中的位置或所述目标报文的字节在所述改写数据包中的位置;基于各所述第一来源信息、各所述第二来源信息、所述原始报文和所述改写数据包,获取所述目标报文。
通过获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息,以及获取目标报文各字节的第一来源信息和第二来源信息。由于上述操作基本可通过DPU完成,因而能够使得在数据处理器的报文编辑过程中减少CPU的参与,从而提高数据处理器的报文编辑能力,以及提高数据处理器中报文的编辑效率。
如图3所示,本实施例提供一种获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息的实现方法,包括:
S21,对各所述第一操作指令进行第一转换处理,以获取各第二操作指令,所述第二操作指令的指令格式为所述第二操作指令的命令信息、第一位置信息、改写字节量顺序排列。
可选地,所述第二操作指令的命令信息、第一位置信息、改写字节量可以与所述第一操作指令的命令信息、第一位置信息、改写字节量相同。
S22,对各所述第二操作指令进行第二转换处理,以获取各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息。
可选地,各所述第一控制信息、各所述第二控制信息、各所述第三控制信息、各所述第第四控制信息可以根据下表表示:
表1.控制信息表
Command[n] | start[n] | end[n] | rdc[n] | ba[n] |
Insert | sl[n]+ba[n-1] | sl[n]+ba[n-1]+ds[n] | rdc[n-1]+ds[n] | ba[n-1]+ds[n] |
Skip | end[n-1] | end[n-1] | rdc[n-1]+ds[n] | ba[n-1] |
Delete | sl[n]+ba[n-1] | sl[n]+ba[n-1] | rdc[n-1] | ba[n-1]-ds[n] |
Replace | sl[n]+ba[n-1] | sl[n]+ba[n-1]+ds[n] | rdc[n-1]+ds[n] | ba[n-1] |
DeleteSkip | sl[n]+ba[n-1] | sl[n]+ba[n-1] | rdc[n-1]+ds[n] | ba[n-1]-ds[n] |
可选地,各所述第二操作指令均具有次序,例如第1个第二操作指令为关于插入的操作指令,第2个第二操作指令为关于删除的操作指令,Comman[n]表示第n个第二操作指令的命令信息,Insert表示插入,Skip表示跳过,Delete表示删除,Replace表示替换,DeleteSkip表示滑动删除,start[n]表示第n个第二操作指令对应的第一控制信息,end[n]表示第n个第二操作指令对应的第二控制信息,rdc[n]表示第n个第二操作指令对应的第三控制信息,ba[n]表示第n个第二操作指令对应的第四控制信息,sl[n]表示第n个第二操作指令的第一位置信息,ds[n]表示第n个第二操作指令的改写字节量。当所述第二操作指令的命令信息为插入、所述第一位置信息为2、所述改写字节量为4,所述原始报文为B1、B2、B3、B4、B5、B6、B7、B8、B9、B10、B11、B12、B13、B14和B15时,该第二操作指令对应的第一控制信息为2,该第二操作指令对应的第二控制信息为6,该第二操作指令对应的第三控制信息为4,该第二操作指令对应的第四控制信息为4。需要注意的是,由于所述第一操作指令和所述第二操作指令是一一对应的,第二操作指令只是与对应的第一操作指令的格式不同,因此第一操作指令对应的第一控制信息与第二操作指令对应的第一控制信息是一致的,两种表述均可,同理第二控制信息、第三控制信息、第四控制信息与第一控制信息类似,此处不再赘述。另外,当所述第二操作指令的命令信息为插入时,表示所述第二操作指令是由第一操作指令中的字节插入指令转换而来,当所述第二操作指令的命令信息为删除时,表示所述第二操作指令是由第一操作指令中的字节删除指令转换而来,当所述第二操作指令的命令信息为跳过时,表示所述第二操作指令是由第一操作指令中的跳过指令转换而来,当所述第二操作指令的命令信息为替换时,表示所述第二操作指令是由第一操作指令中的字节替换指令转换而来,当所述第二操作指令的命令信息为滑动删除时,表示所述第二操作指令是由第一操作指令中的字节滑动删除指令转换而来。所述字节滑动删除指令与所述字节删除指令不同的是,所述字节滑动删除指令的第一控制信息和第二控制信息相同。
可选地,所述第二操作指令的新编码可以通过以下表示:
表2.编码表
Instruction | New encoding |
DeleteBytes | 3’b001 |
Insert/Insert Trailer | 3’b010 |
Replace | 3’b011 |
Skip | 3’b100 |
DeleteSkipBytes | 3’b101 |
Others | 3’b000 |
其中,Instruction表示所述第二操作指令,DeleteBytes表示所述第二操作指令的命令信息为删除,Insert/Insert Trailer表示所述第二操作指令的命令信息为插入,Replace表示所述第二操作指令的命令信息为替换,Skip表示所述第二操作指令的命令信息为跳过,DeleteSkipBytes表示所述第二操作指令的命令信息为滑动删除,Others表示所述第二操作指令的命令信息为其它时的情况,New encoding表示所述第二操作指令的新编码。
如图4所示,本实施例提供一种获取目标报文各字节的第一来源信息的实现方法,包括:
S31,基于各所述第一控制信息、各所述第二控制信息,获取所述目标报文各字节的位置信息,所述位置信息为以下任意一种:所述目标报文的字节在所述第二操作指令内部、所述目标报文的字节在所述第二操作指令之间和所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间,所述目标报文的字节在所述第二操作指令内部表示所述目标报文的字节为所述第二操作指令对应的报文改写数据中的字节,所述目标报文的字节在所述第二操作指令之间表示所述目标报文的字节为所述原始报文中的字节。
可选地,当具有八个第一操作指令时,获取所述目标报文各字节的位置信息可以通过以下代码实现:
for(i=0;i<8;i++){
insideVector[i]=((rwebyte>=start[i])&&(rwebyte<end[i]));
inBtwVector[i]=(rwebyte<start[i]);
}
其中,rwebyte可以表示当前改写的字节,start[i]表示第i个第二操作指令对应的第一控制信息,end[i]表示第i个所述第二操作指令对应的第二控制信息,insideVector、inBtwVector为向量的形式,当insideVector[i]为1时,表示当前改写的字节在第i个第二操作指令的内部,当inBtwVector[i]为1时,表示当前改写的字节在第i-1个第二操作指令和第i个第二操作指令之间,当inBtwVector[i]不为1,并且insideVector[i]不为1时,表示当前改写的字节既不在第i个第二操作指令的内部,也不在第i-1个第二操作指令和第i个第二操作指令之间。
S32,基于各所述位置信息,获取各所述第一来源信息。
可选地,获取所述目标报文各字节的第二来源信息的实现方法包括:基于各所述位置信息,获取各所述第二来源信息,当所述目标报文的字节在所述第二操作指令内部时,所述目标报文的字节的第二来源信息表示为:
m1=Rdc[n-1]-start[n]+B
其中m1表示所述目标报文的字节在所述改写数据包的位置,Rdc[n-1]表示第n-1个第一操作指令对应的第三控制信息,start[n]表示第n个第一操作指令对应的第一控制信息,B表示所述目标报文的字节对应的改写字节数,当所述目标报文的字节在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m2=B-ba[n-1]
其中m2表示所述目标报文的字节在所述原始报文中的位置,ba[n-1]表示第n-1个第一操作指令对应的第四控制信息,当所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m3=B-ba[final]
其中m3表示所述目标报文的字节在所述原始报文中的位置,ba[final]表示最后一个第一操作指令对应的第四控制信息。
可选地,当所述原始报文为B0、B1、B2、B3、B4和B5时,所述改写数据包为R1和R2,R1和R2插入在B1和B2之间,目标报文第一个字节B0的位置信息为在所述第二操作指令之间,所述目标报文第一个字节B0的第一来源信息为B0来自所述原始报文,所述目标报文第一个字节B0的第二来源信息为m2,此时m2的值为0,表示B0在所述原始报文中的位置为0,即第一个字节。所述目标报文第三个字节为R2,R2的第一来源信息为R2来自所述改写数据包,R2的第二来源信息为m1,此时m1的值为1,表示R2在所述原始报文中的位置为1,即第二个字节。所述目标报文中各字节对应的改写字节数可以为目标报文字节在所述目标报文中的位置,例如当所述目标报文为B0、B1、B2、B3、R1、R2、B4、B5时,B0对应的改写字节数为0,B1对应的改写字节数为1、B2对应的改写字节数为2、B3对应的改写字节数为3、R1对应的改写字节数为4、R2对应的改写字节数为5、B4对应的改写字节数为6、B5对用的改写字节数为7。另外,当ba[n-1]中的n-1小于0时,此时默认ba[n-1]为0。
可选地,所述第一操作指令可以存储与一个操作指令集合中,所述操作指令集合可以具有八个所述第一操作指令,ba[final]可以表示所述操作指令集合中的最后一个第一操作指令,即第八个第一操作指令。
如图5所示,所述第一操作指令包含字节插入指令、字节替换指令、字节删除指令、字节滑动删除指令或跳过指令,本实施例提供一种报文编辑方法,包括:
S41,获取至少一个字节数值增加指令,所述字节数值增加指令包含第一位置信息。
可选地,当所述原始报文为B0、B1、B2时,所述字节数值增加指令的第一位置信息为2,所述字节数值增加指令可以对B2这个字节的数值加1,比如B2字节的数值为8,执行所述字节数值增加指令后,所述B2字节的数值为9。
S42,基于各所述第二操作指令,对各所述字节数值增加指令的第一位置信息实时更新,以使所述字节数值增加指令的第一位置信息为实时更新后的所述字节数值增加指令的第一位置信息。
可选地,当所述第二操作指令为所述字节插入指令时,比如当所述原始报文为B0、B1、B2时,所述字节插入指令表示在B0和B1之间插入R0和R1,所述字节数值增加指令未更新前的第一位置信息为2,所述字节数值增加指令的第一位置信息可以随着所述字节插入指令执行完毕后实时更新为4。
如图6所示,本实施例提供一种报文编辑方法,包括:
S51,获取至少一个字节数值减少指令,所述字节数值减少指令包含第一位置信息。
可选地,当所述原始报文为B0、B1、B2时,所述字节数值减少指令的第一位置信息为2,所述字节数值减少指令可以对B2这个字节的数值减1,比如B2字节的数值为8,执行所述字节数值减少指令后,所述B2字节的数值为7。
S52,基于各所述第二操作指令,对各所述字节数值减少指令的第一位置信息实时更新,以使所述字节数值减少指令的第一位置信息为实时更新后的所述字节数值减少指令的第一位置信息。
可选地,当所述第二操作指令为所述字节插入指令时,比如当所述原始报文为B0、B1、B2时,所述字节插入指令表示在B0和B1之间插入R0和R1,所述字节数值减少指令未更新前的第一位置信息为2,所述字节数值减少指令的第一位置信息可以随着所述字节数值减少指令执行完毕后实时更新为4。
如图7所示,本实施例提供一种报文编辑方法,包括:
S61,获取至少一个校验和指令,所述校验和指令包括校验和指令类型、第一报文头的起始信息和第二报文头的起始信息。
可选地,所述校验和指令类型可以包括IPv4校验和指令、TCP校验和指令、UDP校验和指令,所述IPv4校验和指令用于更新和计算IPv4的校验码,所述TCP校验和指令用于更新和计算TCP的校验码,所述UDP校验和指令用于更新和计算UDP的校验码。所述第一报文头的起始信息可以为以太网三层报文头的起始信息,所述第二报文头的起始信息可以为以太网四层报文头的起始信息,例如所述第一报文头的起始信息可以为3,表示从以太网报文头的第4个字节开始。
S62,基于各所述第二操作指令,对各所述第一报文头的起始信息和各所述第二报文头的起始信息实时更新,以使各所述第一报文头的起始信息为实时更新后的第一报文头的起始信息、各所述第二报文头的起始信息为实时更新后的第二报文头的起始信息。
可选地,对各所述第一报文头的起始信息和各所述第二报文头的起始信息实时更新可以通过以下代码实现:
其中chs_rp[n]表示第n个校验和指令的第一报文头的起始信息或第n个校验和指令的第二报文头的起始信息,sl[n]表示第n个第二操作指令的第一位置信息,command[n]表示第n个第二操作指令的命令信息,ds[n]表示第n个第二操作指令的改写字节量,delete表示字节删除指令的命令信息,deleteskip表示字节滑动删除的命令信息,insert表示字节插入指令的命令信息。
S63,基于各所述校验和指令类型、各所述第一报文头的起始信息和各所述第二报文头的起始信息,获取所述目标报文中参与校验和计算的字节。
可选地,获取所述目标报文中参与校验和计算的字节的实现方法包括:基于各所述校验和指令类型、各所述第一报文头的起始信息和各所述第二报文头的起始信息,获取所述目标报文的掩码信息,所述掩码信息用于掩盖所述目标报文不需要进行校验和计算的字节;基于所述掩码信息,获取所述目标报文中参与校验和计算的字节。
S64,基于所述目标报文中参与校验和计算的字节,获取所述目标报文的校验和值。
可选地,所述原始报文更新后的校验和值即为所述目标报文的校验和值,获取所述目标报文的校验和值中涉及的计算过程本实施例不再赘述。
本申请实施例所述报文编辑方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本申请的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本申请的保护范围内。
如图8所示,本实施例提供一种报文编辑装置800,应用于数据处理器,所述报文编辑装置800包括:
第一操作指令获取模块810,用于获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量;
控制信息获取模块820,用于基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量;
来源信息获取模块830,基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文字节在所述原始报文中的位置或所述目标报文字节在所述改写数据包中的位置;
目标报文获取模块840,用于基于各所述第一来源信息、各所述第二来源信息、所述原始报文和所述改写数据包,获取所述目标报文。
本实施例提供的报文编辑装置800中,所述第一操作指令获取模块810、所述控制信息获取模块820、所述来源信息获取模块830、所述目标报文获取模块840与图2所示的报文编辑方法S11-S14一一对应,此处不再赘述。
根据以上描述可知,本实施例所述报文编辑装置通过获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令的对应的第三控制信息和各所述第一操作指令对应的第四控制信息,以及获取目标报文各字节的第一来源信息和第二来源信息,能够使得在数据处理器的报文编辑过程中减少CPU的参与,从而提高数据处理器的报文编辑能力,以及提高数据处理器中报文的编辑效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例提供一种电子设备,所述电子设备包括存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行图2所示的报文编辑方法。
本申请实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (7)
1.一种报文编辑方法,其特征在于,应用于数据处理器,所述报文编辑方法包括:
获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量;
基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量,所述第一操作指令还包括第二位置信息,所述第一操作指令的指令格式为所述第一操作指令的命令信息、第一位置信息、第二位置信息、改写字节量顺序排列,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息的实现方法包括:对各所述第一操作指令进行第一转换处理,以获取各第二操作指令,所述第二操作指令的指令格式为所述第二操作指令的命令信息、第一位置信息、改写字节量顺序排列,对各所述第二操作指令进行第二转换处理,以获取各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息;基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文的字节在所述原始报文中的位置或所述目标报文的字节在所述改写数据包中的位置,获取目标报文各字节的第一来源信息的实现方法包括:基于各所述第一控制信息、各所述第二控制信息,获取所述目标报文各字节的位置信息,所述位置信息为以下信息中的任意一种:所述目标报文的字节在所述第二操作指令内部、所述目标报文的字节在所述第二操作指令之间和所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间,所述目标报文的字节在所述第二操作指令内部表示所述目标报文的字节为所述第二操作指令对应的报文改写数据中的字节,所述目标报文的字节在所述第二操作指令之间表示所述目标报文的字节为所述原始报文中的字节;基于各所述位置信息,获取各所述第一来源信息,获取所述目标报文各字节的第二来源信息的实现方法包括:基于各所述位置信息,获取各所述第二来源信息,当所述目标报文的字节在所述第二操作指令内部时,所述目标报文的字节的第二来源信息表示为:
m1=Rdc[n-1]-start[n]+B
其中m1表示所述目标报文的字节在所述改写数据包中的位置,Rdc[n-1]表示第n-1个第一操作指令对应的第三控制信息,start[n]表示第n个第一操作指令对应的第一控制信息,B表示所述目标报文的字节对应的改写字节数,当所述目标报文的字节在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m2=B-ba[n-1]
其中m2表示所述目标报文的字节在所述原始报文中的位置,ba[n-1]表示第n-1个第一操作指令对应的第四控制信息,当所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m3=B-ba[final]
其中m3表示所述目标报文的字节在所述原始报文中的位置,ba[final]表示最后一个第一操作指令对应的第四控制信息;
基于各所述第一来源信息、各所述第二来源信息、所述原始报文和所述改写数据包,获取所述目标报文。
2.根据权利要求1所述的报文编辑方法,其特征在于,所述第一操作指令包含字节插入指令、字节替换指令、字节删除指令、字节滑动删除指令或跳过指令,所述报文编辑方法还包括:
获取至少一个字节数值增加指令,所述字节数值增加指令包含第一位置信息;
基于各所述第二操作指令,对各所述字节数值增加指令的第一位置信息实时更新,以使所述字节数值增加指令的第一位置信息为实时更新后的所述字节数值增加指令的第一位置信息。
3.根据权利要求2所述的报文编辑方法,其特征在于,所述报文编辑方法还包括:
获取至少一个字节数值减少指令,所述字节数值减少指令包含第一位置信息;
基于各所述第二操作指令,对各所述字节数值减少指令的第一位置信息实时更新,以使所述字节数值减少指令的第一位置信息为实时更新后的所述字节数值减少指令的第一位置信息。
4.根据权利要求3所述的报文编辑方法,其特征在于,所述报文编辑方法还包括:
获取至少一个校验和指令,所述校验和指令包括校验和指令类型、第一报文头的起始信息和第二报文头的起始信息;
基于各所述第二操作指令,对各所述第一报文头的起始信息和各所述第二报文头的起始信息实时更新,以使各所述第一报文头的起始信息为实时更新后的第一报文头的起始信息、各所述第二报文头的起始信息为实时更新后的第二报文头的起始信息;
基于各所述校验和指令类型、各所述第一报文头的起始信息和各所述第二报文头的起始信息,获取所述目标报文中参与校验和计算的字节;
基于所述目标报文中参与校验和计算的字节,获取所述目标报文的校验和值。
5.一种报文编辑装置,其特征在于,应用于数据处理器,所述报文编辑装置包括:
第一操作指令获取模块,用于获取原始报文、改写数据包、至少一个第一操作指令,所述第一操作指令至少包括:命令信息、第一位置信息、改写字节量;
控制信息获取模块,用于基于各所述第一操作指令的命令信息、第一位置信息和改写字节量,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息,所述第一控制信息包含所述原始报文改写的起始位置信息,所述第二控制信息包含所述原始报文改写的终止位置信息,所述第三控制信息包含所述原始报文改写的字节量,所述第四控制信息包含所述原始报文新增的字节量,所述第一操作指令还包括第二位置信息,所述第一操作指令的指令格式为所述第一操作指令的命令信息、第一位置信息、第二位置信息、改写字节量顺序排列,获取各所述第一操作指令对应的第一控制信息、各所述第一操作指令对应的第二控制信息、各所述第一操作指令对应的第三控制信息和各所述第一操作指令对应的第四控制信息的实现方法包括:对各所述第一操作指令进行第一转换处理,以获取各第二操作指令,所述第二操作指令的指令格式为所述第二操作指令的命令信息、第一位置信息、改写字节量顺序排列,对各所述第二操作指令进行第二转换处理,以获取各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息;
来源信息获取模块,基于所述原始报文、各所述第一控制信息、各所述第二控制信息、各所述第三控制信息和各所述第四控制信息,获取目标报文各字节的第一来源信息和第二来源信息,所述第一来源信息为所述目标报文的字节来自所述原始报文或来自所述改写数据包,所述第二来源信息为所述目标报文的字节在所述原始报文中的位置或所述目标报文的字节在所述改写数据包中的位置,获取目标报文各字节的第一来源信息的实现方法包括:基于各所述第一控制信息、各所述第二控制信息,获取所述目标报文各字节的位置信息,所述位置信息为以下信息中的任意一种:所述目标报文的字节在所述第二操作指令内部、所述目标报文的字节在所述第二操作指令之间和所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间,所述目标报文的字节在所述
第二操作指令内部表示所述目标报文的字节为所述第二操作指令对应的报文改写数据中的字节,所述目标报文的字节在所述第二操作指令之间表示所述目标报文的字节为所述原始报文中的字节;基于各所述位置信息,获取各所述第一来源信息,获取所述目标报文各字节的第二来源信息的实现方法包括:基于各所述位置信息,获取各所述第二来源信息,当所述目标报文的字节在所述第二操作指令内部时,所述目标报文的字节的第二来源信息表示为:
m1=Rdc[n-1]-start[n]+B
其中m1表示所述目标报文的字节在所述改写数据包中的位置,Rdc[n-1]表示第n-1个第一操作指令对应的第三控制信息,start[n]表示第n个第一操作指令对应的第一控制信息,B表示所述目标报文的字节对应的改写字节数,当所述目标报文的字节在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m2=B-ba[n-1]
其中m2表示所述目标报文的字节在所述原始报文中的位置,ba[n-1]表示第n-1个第一操作指令对应的第四控制信息,当所述目标报文的字节既不在所述第二操作指令内部也不在所述第二操作指令之间时,所述目标报文的字节的第二来源信息表示为:
m3=B-ba[final]
其中m3表示所述目标报文的字节在所述原始报文中的位置,ba[final]表示最后一个第一操作指令对应的第四控制信息;
目标报文获取模块,用于基于各所述第一来源信息、各所述第二来源信息、所述原始报文和所述改写数据包,获取所述目标报文。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-4任一项所述报文编辑方法。
7.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有一计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求1-4任一项所述报文编辑方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127947.8A CN116170527B (zh) | 2023-02-16 | 2023-02-16 | 报文编辑方法、报文编辑装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127947.8A CN116170527B (zh) | 2023-02-16 | 2023-02-16 | 报文编辑方法、报文编辑装置、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116170527A CN116170527A (zh) | 2023-05-26 |
CN116170527B true CN116170527B (zh) | 2023-11-07 |
Family
ID=86412869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310127947.8A Active CN116170527B (zh) | 2023-02-16 | 2023-02-16 | 报文编辑方法、报文编辑装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116170527B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527731B (zh) * | 2024-01-08 | 2024-04-09 | 珠海星云智联科技有限公司 | 一种用于硬件卸载的包编辑方法、计算机设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0945091A (ja) * | 1995-07-25 | 1997-02-14 | Oki Micro Design Miyazaki:Kk | 不揮発性メモリのデータ書き換え方法 |
JP2005078768A (ja) * | 2003-09-03 | 2005-03-24 | Sony Corp | 情報編集装置、撮像装置および情報編集方法 |
WO2006088100A1 (ja) * | 2005-02-18 | 2006-08-24 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
CN1949736A (zh) * | 2005-10-10 | 2007-04-18 | 华为技术有限公司 | 一种报文编辑电路及方法 |
JP2019036237A (ja) * | 2017-08-21 | 2019-03-07 | 株式会社オービック | データ更新装置、データ更新方法、および、データ更新プログラム |
CN109445657A (zh) * | 2018-10-17 | 2019-03-08 | 天津字节跳动科技有限公司 | 文档编辑方法和装置 |
CN111818098A (zh) * | 2020-09-01 | 2020-10-23 | 广东省新一代通信与网络创新研究院 | 一种报文编辑方法、装置及计算机可读存储介质 |
CN113361236A (zh) * | 2020-03-06 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 一种编辑文档的方法和装置 |
CN113765857A (zh) * | 2020-06-04 | 2021-12-07 | 华为技术有限公司 | 报文转发方法、装置、设备及存储介质 |
CN114338828A (zh) * | 2020-09-30 | 2022-04-12 | 中国电子科技集团公司第五十四研究所 | 一种通信方法、通信设备和计算机存储介质 |
CN114363258A (zh) * | 2022-03-17 | 2022-04-15 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
WO2022166371A1 (zh) * | 2021-02-07 | 2022-08-11 | 华为技术有限公司 | 多景录像方法、装置及电子设备 |
WO2022206187A1 (zh) * | 2021-03-29 | 2022-10-06 | 华为技术有限公司 | 报文流量控制的方法、装置、设备及计算机可读存储介质 |
CN115630618A (zh) * | 2022-11-01 | 2023-01-20 | 四川网帮科技有限公司 | 一种pdf文档的智能场景化编辑方法、系统、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301380A1 (en) * | 2005-02-18 | 2008-12-04 | Masanori Itho | Data Processor |
-
2023
- 2023-02-16 CN CN202310127947.8A patent/CN116170527B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0945091A (ja) * | 1995-07-25 | 1997-02-14 | Oki Micro Design Miyazaki:Kk | 不揮発性メモリのデータ書き換え方法 |
JP2005078768A (ja) * | 2003-09-03 | 2005-03-24 | Sony Corp | 情報編集装置、撮像装置および情報編集方法 |
WO2006088100A1 (ja) * | 2005-02-18 | 2006-08-24 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
CN1949736A (zh) * | 2005-10-10 | 2007-04-18 | 华为技术有限公司 | 一种报文编辑电路及方法 |
JP2019036237A (ja) * | 2017-08-21 | 2019-03-07 | 株式会社オービック | データ更新装置、データ更新方法、および、データ更新プログラム |
CN109445657A (zh) * | 2018-10-17 | 2019-03-08 | 天津字节跳动科技有限公司 | 文档编辑方法和装置 |
CN113361236A (zh) * | 2020-03-06 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 一种编辑文档的方法和装置 |
CN113765857A (zh) * | 2020-06-04 | 2021-12-07 | 华为技术有限公司 | 报文转发方法、装置、设备及存储介质 |
CN111818098A (zh) * | 2020-09-01 | 2020-10-23 | 广东省新一代通信与网络创新研究院 | 一种报文编辑方法、装置及计算机可读存储介质 |
CN114338828A (zh) * | 2020-09-30 | 2022-04-12 | 中国电子科技集团公司第五十四研究所 | 一种通信方法、通信设备和计算机存储介质 |
WO2022166371A1 (zh) * | 2021-02-07 | 2022-08-11 | 华为技术有限公司 | 多景录像方法、装置及电子设备 |
WO2022206187A1 (zh) * | 2021-03-29 | 2022-10-06 | 华为技术有限公司 | 报文流量控制的方法、装置、设备及计算机可读存储介质 |
CN114363258A (zh) * | 2022-03-17 | 2022-04-15 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
CN115630618A (zh) * | 2022-11-01 | 2023-01-20 | 四川网帮科技有限公司 | 一种pdf文档的智能场景化编辑方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116170527A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116170527B (zh) | 报文编辑方法、报文编辑装置、介质及电子设备 | |
US8434079B2 (en) | Preparation for software on demand system | |
CN106570018B (zh) | 序列化与反序列化的方法、装置、系统以及电子设备 | |
JP2007521566A (ja) | 差異ファイルの生成において用いるためのソフトウェア画像の処理 | |
WO2015139381A1 (zh) | 一种终端软件升级方法及装置 | |
CN111510718B (zh) | 通过图像文件的块间差异提高压缩率的方法及系统 | |
CN108228147A (zh) | 一种性能数据日志获取方法及装置 | |
KR102114245B1 (ko) | 그래픽스 상태 관리 장치 및 방법 | |
CN108377394A (zh) | 视频编码器的图像数据读取方法、计算机装置及计算机可读存储介质 | |
WO2024131114A1 (zh) | 神经网络处理器的任务调度方法、装置及终端设备 | |
CN112686365B (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN111510716A (zh) | 通过图像文件的像素变换提高压缩率的方法和系统 | |
CN111190869A (zh) | 文件存储方法及终端 | |
US9189382B2 (en) | Noncontiguous representation of an array | |
JPH04360246A (ja) | ファイル圧縮装置 | |
CN110990640B (zh) | 一种数据判定方法、装置、设备及计算机可读存储介质 | |
CN114237903A (zh) | 内存分配优化方法、装置、电子设备、介质及程序产品 | |
US9843636B2 (en) | Computer-readable medium storing data editing program | |
CN108958926B (zh) | 一种基于达尔文流媒体服务器的虚拟内存池设计方法 | |
US9298799B1 (en) | Method and apparatus for utilizing patterns in data to reduce file size | |
CN114675866B (zh) | 一种远程升级的方法 | |
CN114118395B (zh) | 智能处理器装置与降低存储器带宽的方法 | |
CN117097346B (zh) | 一种解压器及数据解压方法、系统、设备、计算机介质 | |
US8217810B2 (en) | Memory management for prediction by partial matching context models | |
CN117008915B (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 |