CN113691486B - 报文修改的方法、装置、设备及存储介质 - Google Patents
报文修改的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113691486B CN113691486B CN202010427235.4A CN202010427235A CN113691486B CN 113691486 B CN113691486 B CN 113691486B CN 202010427235 A CN202010427235 A CN 202010427235A CN 113691486 B CN113691486 B CN 113691486B
- Authority
- CN
- China
- Prior art keywords
- message
- action
- modification
- rule
- 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
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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- 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/03—Protocol definition or specification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种报文修改的方法、装置、设备及存储介质。该方法包括:获取报文,报文包括协议信息;获取报文的关键字段,并通过查询关键字段匹配规则表获得关键字段匹配信息,关键字段匹配信息包括报文修改动作信息;从预设的修改规则中获取与协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息;根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文。本发明实施例的报文修改的方法、装置、设备及存储介质,可以提升数据包转发处理的灵活性。
Description
技术领域
本发明涉及数据传输领域,尤其涉及一种报文修改的方法、装置、设备及存储介质。
背景技术
现代社会已经成为基于因特网的网络社会,而传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)协议栈是因特网的基础技术,从而导致该技术被广泛的实现在众多连接入因特网的设备中。TCP/IP协议栈中,数据包的转发是十分关键的一项功能,因为技术的快速发展,需求不断变更,对数据包的转发处理算法需要满足灵活性的要求。
数据包转发处理算法的灵活性要求在网络出现新增协议或新的需求时,能够尽量不改变软硬件的代码,而只通过数据配置实现数据包的转发。从而规避软硬件升级带来的业务中断及巨大的维护工作量。而数据包转发处理算法的灵活性必须依靠对数据包报文进行修改。
因为其他系统与Linux基本上大同小异,所以以Linux操作系统为例,在Linux操作系统对数据报文转发处理中实现报文修改是固化在代码逻辑中实现的,因此每新增一个协议,都需要新增代码来实现协议相关报文转发处理的报文修改内容,所以必须新开发软件及升级软件,用户将为之付出开发成本,升级成本,并冒着业务中断带来的客户流失风险。此外,Linux的这种报文转发处理中报文修改的实现方式必然带来协议处理的流水线化,上层协议需要等待下层协议处理完毕后才能进行处理,不能充分利用中央处理器(centralprocessing unit,CPU)多核多线程带来的多协议并发处理的能力。
因此,现有的数据报文转发处理过程中对报文进行修改存在与协议处理代码强耦合的问题。
发明内容
本发明实施例提供一种报文修改的方法、装置、设备及存储介质,解决了现有的数据报文转发处理过程中对报文进行修改存在的与协议处理代码强耦合的问题,使得数据包转发处理中报文修改实现与协议处理代码相对独立,提升数据包转发处理的灵活性。
为了解决上述技术问题,本发明是这样实现的:
第一方面,提供了一种报文修改的方法,该方法包括:
获取报文,报文包括协议信息;
获取报文的关键字段,并通过查询关键字段匹配规则表获得关键字段匹配信息,关键字段匹配信息包括报文修改动作信息;
从预设的修改规则中获取与协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息;
根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文。
在第一方面的一些实现方式中,方法还包括:
从预设的修改规则中获取与第一协议和第一关键字端匹配信息相符合的第二修改规则;
根据第二修改规则和与第二修改规则对应的报文修改动作参数对第一报文中的报文进行修改,得到修改后的第二报文。
在第一方面的一些实现方式中,方法还包括:
根据替换动作信息从预设动作类型规则参数库中获取替换动作参数;
根据替换动作参数对报文进行修改,得到修改后的第一报文,其中,替换动作参数包括替换起始位置,替换字段长度,替换目的字段长度。
在第一方面的一些实现方式中,方法还包括:
根据增加动作信息从预设动作类型规则参数库中获取增加动作参数;
根据增加动作参数对报文进行修改,得到修改后的第一报文,其中,增加动作参数包括增加起始位置,增加字段长度。
在第一方面的一些实现方式中,方法还包括:
根据删除动作信息从预设动作类型规则参数库中获取删除动作参数;
根据删除动作参数对报文进行修改,得到修改后的第一报文,其中,删除动作参数包括删除起始位置,删除字段长度。
在第一方面的一些实现方式中,方法还包括:
根据校验动作信息从预设动作类型规则参数库中获取校验动作参数;
根据校验动作参数对报文进行修改,得到修改后的第一报文,其中,校验动作参数包括校验起始位置,校验字段长度,校验结果字段替换位置,校验结果字段替换长度。
在第一方面的一些实现方式中,方法还包括:
根据补齐动作信息从预设动作类型规则参数库中获取补齐动作参数;
根据补齐动作参数对报文进行修改,得到修改后的第一报文,其中,补齐动作参数包括补齐字段长度,补齐字段内容。
在第一方面的一些实现方式中,方法还包括:
根据加密动作信息从预设动作类型规则参数库中获取加密动作参数;
根据加密动作参数对报文进行修改,得到修改后的第一报文,其中,加密动作参数包括加密字段起始位置,加密字段长度,加密替换字段位置,加密替换字段长度,加密替换目的字段长度。
在第一方面的一些实现方式中,方法还包括:
根据摘要动作信息从预设动作类型规则参数库中获取摘要动作参数;
根据摘要动作参数对报文进行修改,得到修改后的第一报文,其中,摘要动作参数包括摘要字段起始位置,摘要字段长度,摘要增加字段插入位置,摘要增加字段长度。
第二方面,提供了一种报文修改的装置,该装置包括:
获取模块,用于获取报文,报文包括协议信息;
获取模块,还用于获取报文的关键字段,并通过查询关键字段匹配规则表获得匹配信息,关键字段匹配信息包括报文修改动作信息;
获取模块,还用于从预设的修改规则中获取与协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息;
处理模块,用于根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文。
在第二方面的一些实现方式中,
获取模块,还用于从预设的修改规则中获取与第一协议和第一关键字端匹配信息相符合的第二修改规则;
处理模块,还用于根据第二修改规则和与第二修改规则对应的报文修改动作参数对第一报文中的报文进行修改,得到修改后的第二报文。
在第二方面的一些实现方式中,
获取模块,还用于根据替换动作信息从预设动作类型规则参数库中获取替换动作参数;
处理模块,还用于根据替换动作参数对报文进行修改,得到修改后的第一报文,其中,替换动作参数包括替换起始位置,替换字段长度,替换目的字段长度。
在第二方面的一些实现方式中,
获取模块,还用于根据增加动作信息从预设动作类型规则参数库中获取增加动作参数;
处理模块,还用于根据增加动作参数对报文进行修改,得到修改后的第一报文,其中,增加动作参数包括增加起始位置,增加字段长度。
在第二方面的一些实现方式中,
获取模块,还用于根据删除动作信息从预设动作类型规则参数库中获取删除动作参数;
处理模块,还用于根据删除动作参数对报文进行修改,得到修改后的第一报文,其中,删除动作参数包括删除起始位置,删除字段长度。
在第二方面的一些实现方式中,
获取模块,还用于根据校验动作信息从预设动作类型规则参数库中获取校验动作参数;
处理模块,还用于根据校验动作参数对报文进行修改,得到修改后的第一报文,其中,校验动作参数包括校验起始位置,校验字段长度,校验结果字段替换位置,校验结果字段替换长度。
在第二方面的一些实现方式中,
获取模块,还用于根据补齐动作信息从预设动作类型规则参数库中获取补齐动作参数;
处理模块,还用于根据补齐动作参数对报文进行修改,得到修改后的第一报文,其中,补齐动作参数包括补齐字段长度,补齐字段内容。
在第二方面的一些实现方式中,
获取模块,还用于根据加密动作信息从预设动作类型规则参数库中获取加密动作参数;
处理模块,还用于根据加密动作参数对报文进行修改,得到修改后的第一报文,其中,加密动作参数包括加密字段起始位置,加密字段长度,加密替换字段位置,加密替换字段长度,加密替换目的字段长度。
在第二方面的一些实现方式中,
获取模块,还用于根据摘要动作信息从预设动作类型规则参数库中获取摘要动作参数;
处理模块,还用于根据摘要动作参数对报文进行修改,得到修改后的第一报文,其中,摘要动作参数包括摘要字段起始位置,摘要字段长度,摘要增加字段插入位置,摘要增加字段长度。
第三方面,提供了一种报文修改的设备,该设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现第一方面,以及第一方面的一些实现方式中报文修改的方法。
第四方面,提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面,以及第一方面的一些实现方式中报文修改的方法。
本发明实施例提供一种报文修改的方法、装置、设备及存储介质,通过通过获取报文中包括的关键字段和协议信息,查询关键字段匹配规则表获得匹配信息,所述关键字段匹配信息包括报文修改动作信息。从预设的修改规则中获取与所述协议信息中的第一协议,以及所述关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,所述第一修改规则包括所述报文修改动作信息;根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,该修改过程与任意一种协议独立,通过仅仅增加数据库表项配置即能够支持新增协议,不再需要新增软硬件代码逻辑,因此解决了上述数据报文转发处理过程中对报文进行修改存在的与协议处理代码强耦合的问题,使得数据包转发处理中报文修改实现与协议处理代码相对独立,提升数据包转发处理的灵活性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种TCP/IP协议栈结构示意图;
图2是本发明实施例提供的一种报文修改的方法的流程示意图;
图3是本发明实施例提供的一种报文修改的装置的结构示意图;
图4是本发明实施例提供的一种计算设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
现代社会已经成为基于因特网的网络社会,而传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)协议栈是因特网的基础技术,从而导致该技术被广泛的实现在众多连接入因特网的设备中。在TCP/IP协议栈中,数据包的转发是十分关键的一项功能,因为技术的快速发展,需求不断变更,对数据包的转发处理算法需要满足灵活性的要求。
数据包转发处理算法的灵活性要求在网络出现新增协议或新的需求时,能够尽量不改变软硬件的代码,而只通过数据配置实现数据包的转发。从而规避软硬件升级带来的业务中断及巨大的维护工作量。而数据包转发处理算法的灵活性必须依靠对数据包报文进行修改。
图1是本发明实施例提供的一种TCP/IP协议栈结构示意图。
如图1所示,TCP/IP协议栈结构通常最底层为链路层协议以太网协议报文,向上依次是IP协议报文,TCP协议报文,应用层协议报文,用户数据。用户数据从上到下通常依次添加应用层协议报文头(Appi),TCP协议报文头(TCP首部),IP协议报文头(IP首部),以太网协议报文头(以太网首部)及报文尾(以太网尾部)。
此外,数据包的修改可以包括增加,剥离报文头,在报文中插入部分内容,剥离部分内容,修改部分内容。
对于数据包报文转发处理中报文修改的实现,Linux的实现方式是一个代表,其他系统与Linux基本上大同小异,因此,以Linux操作系统数据报文转发处理中报文的修改为示例。
在Linux操作系统数据报文转发处理中报文修改实现是固化在代码逻辑中实现的。协议栈针对每个协议都有一段固化的代码,其中包含了在数据报文转发处理时报文修改实现。例如,在二层桥转发时在以太网协议头部增加VLAN字段;在路由转发时,修改以太网协议头部源,目的MAC地址字段等。每一个协议都存在一个代码模块,在代码模块中包括了该层协议报文转发处理的报文修改实现。
在上述的以Linux操作系统为示例的数据报文转发处理过程中报文修改的方法,每新增一个协议,都需要新增代码来实现协议相关报文转发处理的报文修改内容,必须新开发软件及升级软件,用户必须为之付出开发成本,升级成本,并冒着业务中断带来的客户流失风险。
此外,这种报文转发处理中报文修改的实现方式必然带来协议处理的流水线化,上层协议必须等待下层协议处理完毕后才能进行处理,不能充分利用中央处理器(CPU)多核多线程带来的多协议并发处理的能力。导致数据包处理时延加大,无法满足一些对时延要求苛刻的业务需求。
综上,上述数据报文转发处理过程中对报文进行修改的方法,存在与协议处理代码强耦合的问题。
为解决上述技术方案中,存在的与协议处理代码强耦合的问题,因此,本发明实施例提供了一种报文修改的方法、装置、设备及存储介质,在分析报文转发处理中报文修改的通用特点的基础上,通过获取报文中包括的关键字段和协议信息,通过查询关键字段匹配规则表获得匹配信息,所述关键字段匹配信息包括报文修改动作信息。从预设的修改规则中获取与所述协议信息中的第一协议,以及所述关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,所述第一修改规则包括所述报文修改动作信息;根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,该修改过程与任意一种协议独立,通过仅仅增加数据库表项配置即能够支持新增协议,不再需要新增软硬件代码逻辑,因此解决了上述数据报文转发处理过程中对报文进行修改存在的与协议处理代码强耦合的问题,使得数据包转发处理中报文修改实现与协议处理代码相对独立,提升数据包转发处理的灵活性。
在对本发明实施例所提供的报文修改的方法、装置、设备及存储介质进行描述之前,发明人对TCP/IP协议栈各协议转发处理中报文修改做分析,得出报文修改的方法中的共性,并列举如下特点:
1、报文修改有增加字段,删除字段,修改字段,加密字段四种修改。
2、每种修改基于报文协议头的一个偏移量开始,并需要指定修改字段的长度。
3、有些修改需要基于报文协议头部的尾部,或基于协议层的尾部开始。
4、字段修改后的内容一般与报文协议头部的某个关键字段相关,需要通过关键字段匹配获得修改后的内容。
5、修改字段的内容有些需要根据计算获得,计算主要有checksum计算及摘要计算两种。计算根据数据报文的某些字段进行。Checksum计算及摘要计算的算法是有限的。
6、加密字段,需要使用加密算法,加密算法是有限的,加密算法根据数据报文的某些字段进行。
发明人基于分析的上述特点,提出了一种报文修改的方法、装置、设备及存储介质。
下面结合附图对本发明实施例提供的技术方案进行描述。
图2是本发明实施例提供的一种报文修改的方法的流程示意图。如图2所示,该方法的执行主体可以是终端设备,报文修改的方法可以包括:
S201:获取报文。
S202:获取报文的关键字段,并通过查询关键字段匹配规则表获得关键字段匹配信息。
其中,关键字段匹配信息包括报文修改动作信息。
S203:从预设的修改规则中获取协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息。
S204:根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文。
上述各步骤的具体实现方式将在下文中进行详细描述。
图2中所示的报文修改的方法,在分析报文转发处理中报文修改的通用特点的基础上,与任意一种协议独立,通过仅仅增加数据库表项配置即能够支持新增协议,不再需要新增软硬件代码逻辑,因此解决了数据报文转发处理过程中存在的与协议处理代码强耦合的问题,使得数据包转发处理中报文修改实现与协议处理代码相对独立,提升数据包转发处理的灵活性。
为了对获取到的报文进行修改动作参数的匹配,因此,在S201,获取报文之前,先预定义了统一的协议编码规则数据库,关键字段配置数据库,修改规则表,替换修改规则参数库,删除修改规则参数库,校验修改规则参数库,补齐修改规则参数库,加密修改规则参数库和摘要修改规则参数库。
其中,协议编码规则数据库的表项各元素统一用网络字节序存储,包括:协议编码规则库索引(从0开始),协议头部长度字段获取位图,协议头部长度(字节长度)协议类型名称。其中,协议编码规则库索引为主键。该数据库由配置生成。
关键字段配置数据库,数据库表项各元素统一用网络字节序存储,包括:关键字段规则库索引(从0开始),关键字段协议编码规则库索引,关键字段获取位图。
修改规则表,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,修改动作(替换(0),增加(1),删除(2),校验(4),补齐(5),加密(6),摘要(7))。
替换修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,替换字段偏移量(相对于协议头部),替换字段协议头部尾部偏移量(相对于协议头部尾部),替换字段协议尾部偏移量(相对于整个协议报文的尾部),替换字段长度(数据报文中的字段),替换目的字段长度,关键字段匹配项动作参数序号。
增加修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,增加字段偏移量(相对于协议头部),增加字段协议头部尾部偏移量(相对于协议头部尾部),增加字段协议尾部偏移量(相对于整个协议报文的尾部),增加字段长度,关键字段匹配项动作参数序号。
删除修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,删除字段偏移量(相对于协议头部),删除字段协议头部尾部偏移量(相对于协议头部尾部),删除字段协议尾部偏移量(相对于整个协议报文的尾部),删除字段长度。
校验修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,校验字段偏移量(相对于协议头部),校验字段协议头部尾部偏移量(相对于协议头部尾部),校验字段协议尾部偏移量(相对于整个协议报文的尾部),校验字段长度(数据报文中的字段),校验替换字段偏移量(相对于协议头部),校验替换字段协议头部尾部偏移量(相对于协议头部尾部),校验替换字段协议尾部偏移量(相对于整个协议报文的尾部),校验替换字段长度(数据报文中的字段),校验替换目的字段长度。
补齐修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,补齐字段对齐块长度,补齐字节内容。
加密修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改规则表序号,加密字段偏移量(相对于协议头部),加密字段协议头部尾部偏移量(相对于协议头部尾部),加密字段协议尾部偏移量(相对于整个协议报文的尾部),加密字段长度(数据报文中的字段),加密替换字段偏移量(相对于协议头部),加密替换字段协议头部尾部偏移量(相对于协议头部尾部),加密替换字段协议尾部偏移量(相对于整个协议报文的尾部),加密替换字段长度(数据报文中的字段),加密替换目的字段长度,关键字段匹配项动作序号1,关键字段匹配项动作参数序号2,关键字段匹配项动作参数序号3。
摘要修改规则参数库,包括:协议编码规则库索引,关键字段规则库索引,修改动作顺序号,摘要字段偏移量(相对于协议头部),摘要字段协议头部尾部偏移量(相对于协议头部尾部),摘要字段协议尾部偏移量(相对于整个协议报文的尾部),摘要字段长度(数据报文中的字段),摘要增加字段偏移量(相对于协议头部),摘要增加字段协议头部尾部偏移量(相对于协议头部尾部),摘要增加字段协议尾部偏移量(相对于整个协议报文的尾部),摘要增加字段长度(数据报文中的字段),关键字段匹配项动作序号1,关键字段匹配项动作参数序号2,关键字段匹配项动作参数序号3。
下面介绍上述各个步骤的具体实现方式。
S201:获取报文。
其中,报文包括协议信息,报文又可以称为数据报文。
具体的,可以是获取数据报文所有的协议信息,设为数据报文当前协议信息表。
S202:获取报文的关键字段,并通过查询关键字段匹配规则表获得关键字段匹配信息。
其中,关键字段匹配信息包括报文修改动作信息,关键字段匹配规则表可以包括预先定义的关键字段配置数据库。
具体的,可以从数据报文中获取相关的关键字段,查找系统的预先定义的关键字段配置数据库,获得所有关键字段匹配信息,设为当前关键字段匹配信息表,匹配信息表中包含了报文修改动作信息,该报文修改动作信息可以为预先定义的修改规则表中的修改动作(替换(0),增加(1),删除(2),校验(4),补齐(5),加密(6),摘要(7))。
S203:从预设的修改规则中获取与协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息。
具体的,可以获取数据报文当前协议信息表中的第一个协议,设为当前协议;获取当前关键字段匹配信息表中的第一个关键字段匹配信息,设为当前关键字段匹配信息。
之后,从预设的修改规则中获取与当前协议及当前关键字段匹配信息对应的第一个修改规则,并设为当前修改规则,其中,预设的修改规则可以包括预先定义的修改规则表,当前修改规则包括报文修改动作信息,预设的修改规则可以是预设的修改规则表。
在根据报文获取到报文修改动作信息后,可以根据获取到的报文修改动作信息,确定修改参数以对报文进行修改,即进入S104。
S204:根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文。
具体的,此处的第一修改规则称为当前修改规则,当前修改规则包括报文修改动作信息,因此可以先判断当前修改规则是否存在,若存在,则从与当前修改规则对应的修改规则参数库中,获取与报文修改动作信息对应的修改动作参数对报文进行修改,得到修改后的第一报文。
此外,在对报文进行修改,得到修改后的第一报文之后,为了根据报文中包括的报文修改动作信息对报文进行更全面的修改,可选的,在一个实施例中,还可以再从预先定义的修改规则表中获取与当前协议及当前关键字段匹配信息相符合的下一个修改规则,设为新的当前修改规则,其中,预设的修改规则可以包括预先定义的修改规则表,当前修改规则包括报文修改动作信息。
之后,可以再判断新的当前修改规则是否存在,若存在,则从与新的当前修改规则对应的修改规则参数库中,获取对应的修改动作参数对报文进行修改,得到修改后的第二报文。
可选的,在一个实施例中,可以进行循环更新当前修改规则,直到更新当前修改规则不存在,停止循环,生成最终修改后报文。
此外,修改动作信息可以包括替换动作信息,增加动作信息,删除动作信息,校验动作信息,补齐动作信息,加密动作信息,摘要动作信息。
可选的,在一个实施例中,可以根据替换动作信息从预设动作类型规则参数库中获取替换动作参数。
根据替换动作参数对报文进行修改,得到修改后的第一报文,其中,替换动作参数可以包括替换字段偏移量(相对于协议头部),替换字段协议头部尾部偏移量(相对于协议头部尾部),替换字段协议尾部偏移量(相对于整个协议报文的尾部),替换字段长度(数据报文中的字段),替换目的字段长度。
可选的,在一个实施例中,可以根据增加动作信息从预设动作类型规则参数库中获取增加动作参数。
根据增加动作参数对报文进行修改,得到修改后的第一报文,其中,增加动作参数包括增加字段偏移量(相对于协议头部),增加字段协议头部尾部偏移量(相对于协议头部尾部),增加字段协议尾部偏移量(相对于整个协议报文的尾部),增加字段长度。
可选的,在一个实施例中,可以根据删除动作信息从预设动作类型规则参数库中获取删除动作参数。
根据删除动作参数对报文进行修改,得到修改后的第一报文,其中,删除动作参数包括删除字段偏移量(相对于协议头部),删除字段协议头部尾部偏移量(相对于协议头部尾部),删除字段协议尾部偏移量(相对于整个协议报文的尾部),删除字段长度。
可选的,在一个实施例中,可以根据校验动作信息从预设动作类型规则参数库中获取校验动作参数。
根据校验动作参数对报文进行修改,得到修改后的第一报文,其中,校验动作参数包括校验字段偏移量(相对于协议头部),校验字段协议头部尾部偏移量(相对于协议头部尾部),校验字段协议尾部偏移量(相对于整个协议报文的尾部),校验字段长度(数据报文中的字段);还可以包括校验替换字段偏移量(相对于协议头部),校验替换字段协议头部尾部偏移量(相对于协议头部尾部),校验替换字段协议尾部偏移量(相对于整个协议报文的尾部),校验替换字段长度(数据报文中的字段),校验替换目的字段长度。
可选的,在一个实施例中,可以根据补齐动作信息从预设动作类型规则参数库中获取补齐动作参数。
根据补齐动作参数对报文进行修改,得到修改后的第一报文,其中,补齐动作参数包括补齐字段对齐块长度,补齐字节内容。
可选的,在一个实施例中,可以根据加密动作信息从预设动作类型规则参数库中获取加密动作参数。
根据加密动作参数对报文进行修改,得到修改后的第一报文,其中,加密动作参数包括加密字段偏移量(相对于协议头部),加密字段协议头部尾部偏移量(相对于协议头部尾部),加密字段协议尾部偏移量(相对于整个协议报文的尾部),加密字段长度(数据报文中的字段),加密替换字段偏移量(相对于协议头部),加密替换字段协议头部尾部偏移量(相对于协议头部尾部),加密替换字段协议尾部偏移量(相对于整个协议报文的尾部),加密替换字段长度(数据报文中的字段),加密替换目的字段长度。
可选的,在一个实施例中,可以根据摘要动作信息从预设动作类型规则参数库中获取摘要动作参数。
根据摘要动作参数对报文进行修改,得到修改后的第一报文,其中,摘要动作参数包括摘要字段偏移量(相对于协议头部),摘要字段协议头部尾部偏移量(相对于协议头部尾部),摘要字段协议尾部偏移量(相对于整个协议报文的尾部),摘要字段长度(数据报文中的字段),摘要增加字段偏移量(相对于协议头部),摘要增加字段协议头部尾部偏移量(相对于协议头部尾部),摘要增加字段协议尾部偏移量(相对于整个协议报文的尾部),摘要增加字段长度(数据报文中的字段)。
本发明实施例提供的报文修改的方法,对于不同协议的不同数据报文修改的需求,例如对报文任意位置增加及删除字段,替换字段,补齐,计算校验,压缩,加密,摘要及这些修改的组合,可以使用同样的软件处理及流程。不会因协议不同,修改位置不同,修改的组合不同而导致需要新开发软件或升级软件的过程。
本发明实施例提供的报文修改的方法,在分析报文转发处理中报文修改的通用特点的基础上,通过获取报文中包括的关键字段和协议信息,通过查询关键字段匹配规则表获得匹配信息,关键字段匹配信息包括报文修改动作信息。从预设的修改规则中获取与协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息;根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文,该修改过程与任意一种协议独立,通过仅仅增加数据库表项配置即能够支持新增协议,不再需要新增软硬件代码逻辑,因此解决了数据报文转发处理过程中对报文进行修改存在的与协议处理代码强耦合的问题,使得数据包转发处理中报文修改实现与协议处理代码相对独立,提升数据包转发处理的灵活性。
与报文修改的方法的实施例相对应,本发明实施例还提供了一种报文修改的装置。
图3是本发明实施例提供的一种报文修改的装置的结构示意图。
如图3所示,报文修改的装置可以包括:获取模块301,处理模块302。
其中,获取模块301,可以用于获取报文,报文包括协议信息。
获取模块301,还可以用于获取报文的关键字段,并通过查询关键字段匹配规则表获得匹配信息,关键字段匹配信息包括报文修改动作信息。
获取模块301,还可以用于从预设的修改规则中获取与协议信息中的第一协议,以及关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,第一修改规则包括报文修改动作信息。
处理模块302,还可以用于根据第一修改规则和与第一修改规则对应的修改动作参数对报文进行修改,得到修改后的第一报文。
获取模块301,还可以用于从预设的修改规则中获取与第一协议和第一关键字端匹配信息相符合的第二修改规则。
处理模块302,还可以用于根据第二修改规则和与第二修改规则对应的报文修改动作参数对第一报文中的报文进行修改,得到修改后的第二报文。
获取模块301,还可以用于根据替换动作信息从预设动作类型规则参数库中获取替换动作参数。
处理模块302,还可以用于根据替换动作参数对报文进行修改,得到修改后的第一报文,其中,替换动作参数包括替换起始位置,替换字段长度,替换目的字段长度。
获取模块301,还可以用于根据增加动作信息从预设动作类型规则参数库中获取增加动作参数。
处理模块302,还可以用于根据增加动作参数对报文进行修改,得到修改后的第一报文,其中,增加动作参数包括增加起始位置,增加字段长度。
获取模块301,还可以用于根据删除动作信息从预设动作类型规则参数库中获取删除动作参数。
处理模块302,还可以用于根据删除动作参数对报文进行修改,得到修改后的第一报文,其中,删除动作参数包括删除起始位置,删除字段长度。
获取模块301,还可以用于根据校验动作信息从预设动作类型规则参数库中获取校验动作参数。
处理模块302,还可以用于根据校验动作参数对报文进行修改,得到修改后的第一报文,其中,校验动作参数包括校验起始位置,校验字段长度,校验结果字段替换位置,校验结果字段替换长度。
获取模块301,还可以用于根据补齐动作信息从预设动作类型规则参数库中获取补齐动作参数。
处理模块302,还可以用于根据补齐动作参数对报文进行修改,得到修改后的第一报文,其中,补齐动作参数包括补齐字段长度,补齐字段内容。
获取模块301,还可以用于根据加密动作信息从预设动作类型规则参数库中获取加密动作参数。
处理模块302,还可以用于根据加密动作参数对报文进行修改,得到修改后的第一报文,其中,加密动作参数包括加密字段起始位置,加密字段长度,加密替换字段位置,加密替换字段长度,加密替换目的字段长度。
获取模块301,还可以用于根据摘要动作信息从预设动作类型规则参数库中获取摘要动作参数。
处理模块302,还可以用于根据摘要动作参数对报文进行修改,得到修改后的第一报文,其中,摘要动作参数包括摘要字段起始位置,摘要字段长度,摘要增加字段插入位置,摘要增加字段长度。
本发明实施例提供的报文修改的装置,在分析报文转发处理中报文修改的通用特点的基础上,通过获取报文中包括的关键字段和协议信息,通过查询关键字段匹配规则表获得匹配信息,所述关键字段匹配信息包括报文修改动作信息。从预设的修改规则中获取与所述协议信息中的第一协议,以及所述关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,所述第一修改规则包括所述报文修改动作信息;根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,该修改过程与任意一种协议独立,通过仅仅增加数据库表项配置即能够支持新增协议,不再需要新增软硬件代码逻辑,因此解决了数据报文转发处理过程中对报文进行修改存在的与协议处理代码强耦合的问题,使得数据包转发处理中报文修改实现与协议处理代码相对独立,提升数据包转发处理的灵活性。
图4示出了能够实现根据本发明实施例报文修改的方法的计算设备的示例性硬件架构的结构图。如图4所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备400的其他组件连接。
具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。
也就是说,图4所示的计算设备也可以被实现为报文修改的设备,该报文修改的设备可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现本发明实施例提供的报文修改的方法。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的报文修改的方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种报文修改的方法,其特征在于,所述方法包括:
获取报文,所述报文包括协议信息;
获取所述报文的关键字段,并通过查询关键字段匹配规则表获得关键字段匹配信息,所述关键字段匹配信息包括报文修改动作信息;
从预设的修改规则中获取与所述协议信息中的第一协议,以及所述关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,所述第一修改规则包括所述报文修改动作信息;
根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述预设的修改规则中获取与所述第一协议和所述第一关键字段匹配信息相符合的第二修改规则;
根据所述第二修改规则和与所述第二修改规则对应的报文修改动作参数对所述第一报文中的所述报文进行修改,得到修改后的第二报文。
3.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括替换动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述替换动作信息从预设动作类型规则参数库中获取替换动作参数;
根据所述替换动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述替换动作参数包括替换起始位置,替换字段长度,替换目的字段长度。
4.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括增加动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述增加动作信息从预设动作类型规则参数库中获取增加动作参数;
根据所述增加动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述增加动作参数包括增加起始位置,增加字段长度。
5.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括删除动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述删除动作信息从预设动作类型规则参数库中获取删除动作参数;
根据所述删除动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述删除动作参数包括删除起始位置,删除字段长度。
6.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括校验动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述校验动作信息从预设动作类型规则参数库中获取校验动作参数;
根据所述校验动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述校验动作参数包括校验起始位置,校验字段长度,校验结果字段替换位置,校验结果字段替换长度。
7.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括补齐动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述补齐动作信息从预设动作类型规则参数库中获取补齐动作参数;
根据所述补齐动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述补齐动作参数包括补齐字段长度,补齐字段内容。
8.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括加密动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述加密动作信息从预设动作类型规则参数库中获取加密动作参数;
根据所述加密动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述加密动作参数包括加密字段起始位置,加密字段长度,加密替换字段位置,加密替换字段长度,加密替换目的字段长度。
9.根据权利要求1或2所述的方法,其特征在于,所述报文修改动作信息包括摘要动作信息;所述根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文,包括:
根据所述摘要动作信息从预设动作类型规则参数库中获取摘要动作参数;
根据所述摘要动作参数对所述报文进行修改,得到修改后的第一报文,其中,所述摘要动作参数包括摘要字段起始位置,摘要字段长度,摘要增加字段插入位置,摘要增加字段长度。
10.一种报文修改的装置,其特征在于,所述装置包括:
获取模块,用于获取报文,所述报文包括协议信息;
所述获取模块,还用于获取所述报文的关键字段,并通过查询关键字段匹配规则表获得匹配信息,所述关键字段匹配信息包括报文修改动作信息;
所述获取模块,还用于从预设的修改规则中获取与所述协议信息中的第一协议,以及所述关键字段匹配信息中的第一关键字段匹配信息相符合的第一修改规则,所述第一修改规则包括所述报文修改动作信息;
处理模块,用于根据所述第一修改规则和与所述第一修改规则对应的修改动作参数对所述报文进行修改,得到修改后的第一报文。
11.一种报文修改的设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-9任意一项所述的报文修改的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-9任意一项所述的报文修改的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427235.4A CN113691486B (zh) | 2020-05-19 | 2020-05-19 | 报文修改的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427235.4A CN113691486B (zh) | 2020-05-19 | 2020-05-19 | 报文修改的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691486A CN113691486A (zh) | 2021-11-23 |
CN113691486B true CN113691486B (zh) | 2023-09-19 |
Family
ID=78575987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010427235.4A Active CN113691486B (zh) | 2020-05-19 | 2020-05-19 | 报文修改的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113691486B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338167B (zh) * | 2021-12-29 | 2024-04-30 | 无锡沐创集成电路设计有限公司 | 通信加密系统、方法、存储介质及电子设备 |
CN114553757A (zh) * | 2022-01-29 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 基于可编程交换机的协议报文处理方法、装置和设备 |
CN114553559B (zh) * | 2022-02-25 | 2023-05-23 | 北京华云安信息技术有限公司 | 一种路由器中协议数据的修改方法、装置及可读存储介质 |
CN115086442B (zh) * | 2022-08-15 | 2022-12-27 | 恒生电子股份有限公司 | 数据处理方法及装置 |
CN116016713A (zh) * | 2022-12-13 | 2023-04-25 | 苏州盛科通信股份有限公司 | 报文传输方法、装置、网络设备及可读存储介质 |
CN115883681B (zh) * | 2023-02-08 | 2023-06-23 | 天翼云科技有限公司 | 报文解析方法、装置、电子设备及存储介质 |
CN116600031B (zh) * | 2023-07-18 | 2023-10-31 | 无锡沐创集成电路设计有限公司 | 报文处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916967A (zh) * | 2012-10-29 | 2013-02-06 | 华为技术有限公司 | 协议解析的方法和装置 |
CN103780481A (zh) * | 2012-10-18 | 2014-05-07 | 中兴通讯股份有限公司 | 一种数据通信网络中报文修改与转发的方法及装置 |
CN105991564A (zh) * | 2015-02-05 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 报文处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020157041A1 (en) * | 2001-04-23 | 2002-10-24 | Bennett David Charles | Protocol parser-code generator |
-
2020
- 2020-05-19 CN CN202010427235.4A patent/CN113691486B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780481A (zh) * | 2012-10-18 | 2014-05-07 | 中兴通讯股份有限公司 | 一种数据通信网络中报文修改与转发的方法及装置 |
CN102916967A (zh) * | 2012-10-29 | 2013-02-06 | 华为技术有限公司 | 协议解析的方法和装置 |
CN105991564A (zh) * | 2015-02-05 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 报文处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113691486A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113691486B (zh) | 报文修改的方法、装置、设备及存储介质 | |
US7665081B1 (en) | System and method for difference-based software updating | |
CN112866111A (zh) | 流表管理的方法和装置 | |
CN104699511A (zh) | 插件升级方法及装置 | |
CN108491715B (zh) | 终端指纹库的生成方法、装置和服务器 | |
CN111683066A (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN105282217A (zh) | 基于差异的内容联网 | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN114461247A (zh) | 热更新方法、装置、电子设备和计算机可读介质 | |
US9292266B2 (en) | Preprocessor for file updating | |
CN111417927A (zh) | 资源权限处理方法、装置、存储介质及芯片 | |
CN113688289B (zh) | 数据包关键字段匹配方法、装置、设备及存储介质 | |
CN115686665B (zh) | 一种插件快速接入方法、设备及存储介质 | |
CN111045988A (zh) | 文件查找方法、设备和计算机程序产品 | |
CN112003736B (zh) | 一种多节点配置信息确定方法、装置及存储介质 | |
CN114489737A (zh) | 多固件ota升级方法及装置、服务端及存储介质 | |
CN109960751B (zh) | 计算流图构建方法、装置和存储介质 | |
CN113132309B (zh) | 数据包头部信息的获取方法、装置、设备和介质 | |
CN111984616A (zh) | 一种更新共享文件的方法、装置和系统 | |
US20050216896A1 (en) | Data communication via tanslation map exchange | |
CN112559546A (zh) | 数据库同步方法、装置、计算机设备及可读存储介质 | |
CN110929500B (zh) | 文件比较方法及相关装置 | |
CN112783544B (zh) | 一种子代码库的本地跟踪代码分支建立方法和终端 | |
JP2006209417A (ja) | 更新用データ送信システム及び送信側装置及び受信側装置及び更新用データ送信方法 | |
CN114201116B (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 |