本申请涉及通信领域,具体而言,涉及一种报文编辑方法、装置、存储介质、编程节点及网络芯片。
背景技术:
1、随着互联网的高速发展,对网络芯片的灵活性要求越来越高,可编程的网络芯片应运而生。网络芯片中的各个模块硬件处理逻辑被抽象成一个个可编程的编程节点,这些可编程节点接入一个共享的全局存储空间,多个编程节点以类似于流水线的方式按照预设顺序往全局存储空间中写入和/或从全局存储空间中读取数据,因此,该全局存储空间又被称为可编程总线(后续介绍中用xdata进行表示)。
2、为了便于用户能够控制写入全局存储空间中的字段,每个编程节点需要为自身自持的字段枚举出可编程接口供用户进行调用,这就导致存在接口参数数量庞大以及不易扩展等问题。
技术实现思路
1、为了克服现有技术中的至少一个不足,本申请提供报文编辑方法、装置、存储介质、编程节点及网络芯片,具体包括:
2、第一方面,本申请提供一种报文编辑方法,应用于网络芯片中的目标编程节点,所述方法包括:
3、获取用户为目标数据源编写的映射配置,其中,所述目标数据源表示目标报文编辑所需的数据,所述映射配置包括所述目标数据源的数据源标识、目标数据在所述目标编程节点的私有存储空间中的偏移位置以及数据长度;
4、根据所述数据源标识,将所述目标数据源中的数据映射到所述编程节点的私有存储空间;
5、根据所述偏移位置以及数据长度,从所述私有存储空间中获取所述目标数据。
6、结合第一方面的可先实施方式,所述目标编程节点为所述网络芯片包括的多个编程节点中的任意一个,所述网络芯片还包括所述多个编程节点共享的全局存储空间,所述映射配置还包括所述目标数据在所述全局存储空间中的存储位置,方法还包括:
7、根据所述存储位置,将所述目标数据存储到所述全局存储空间。
8、结合第一方面的可先实施方式,所述目标编程节点以外的其他编程节点够往从所述全局存储空间中读取所述目标数据。
9、结合第一方面的可先实施方式,所述多个编程节点分别参与所述目标报文的不同编辑阶段;
10、所述目标报文的不同编辑阶段所需目标数据源依次为目标报文的转发表、所述目标报文中的用户自定义字段以及报文信息、报文解析信息。
11、第二方面,本申请提供一种报文编辑装置,应用于网络芯片中的目标编程节点,所述装置包括:
12、映射配置模块,用于获取用户为目标数据源编写的映射配置,其中,所述目标数据源表示目标报文编辑所需的数据,所述映射配置包括所述目标数据源的数据源标识、目标数据在所述目标编程节点的私有存储空间中的偏移位置以及数据长度;
13、数据映射模块,用于根据所述数据源标识,将所述目标数据源中的数据映射到所述编程节点的私有存储空间;
14、所述数据映射模块,还用于根据所述偏移位置以及数据长度,从所述私有存储空间中获取所述目标数据。
15、结合第二方面的可先实施方式,所述目标编程节点为所述网络芯片包括的多个编程节点中的任意一个,所述网络芯片还包括所述多个编程节点共享的全局存储空间,所述映射配置还包括所述目标数据在所述全局存储空间中的存储位置,所述数据映射模块还用于:
16、根据所述存储位置,将所述目标数据存储到所述全局存储空间。
17、结合第二方面的可先实施方式,所述多个编程节点分别参与所述目标报文的不同编辑阶段;
18、所述目标报文的不同编辑阶段所需目标数据源依次为目标报文的转发表、所述目标报文中的用户自定义字段以及报文信息、报文解析信息。
19、第三方面,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的报文编辑方法。
20、第四方面,本申请提供一种编程节点,所述编程节点包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的报文编辑方法。
21、第五方面,本申请提供一种网络芯片,所述网络芯片包括所述的编程节点。
22、对于现有技术而言,本申请具有以下有益效果:
23、本申请提供一种报文编辑方法、装置、存储介质、编程节点及网络芯片。该方法中,网络芯片中的目标编程节点获取用户为目标数据源编写的映射配置,其中,目标数据源表示目标报文编辑所需的数据,映射配置包括目标数据源的数据源标识、目标数据在目标编程节点的私有存储空间中的偏移位置以及数据长度;根据数据源标识,将目标数据源中的数据映射到编程节点的私有存储空间;将偏移位置以及数据长度,从私有存储空间中获取目标数据。如此,对于任意字段类型的目标数据,通过统一的配置方式即可从对应的目标数据源中获得该目标数据。
1.一种报文编辑方法,其特征在于,应用于网络芯片中的目标编程节点,所述方法包括:
2.根据权利要求1所述的报文编辑方法,其特征在于,所述目标编程节点为所述网络芯片包括的多个编程节点中的任意一个,所述网络芯片还包括所述多个编程节点共享的全局存储空间,所述映射配置还包括所述目标数据在所述全局存储空间中的存储位置,方法还包括:
3.根据权利要求2所述的报文编辑方法,其特征在于,所述目标编程节点以外的其他编程节点够往从所述全局存储空间中读取所述目标数据。
4.根据权利要求2所述的报文编辑方法,其特征在于,所述多个编程节点分别参与所述目标报文的不同编辑阶段;
5.一种报文编辑装置,其特征在于,应用于网络芯片中的目标编程节点,所述装置包括:
6.根据权利要求5所述的报文编辑装置,其特征在于,所述目标编程节点为所述网络芯片包括的多个编程节点中的任意一个,所述网络芯片还包括所述多个编程节点共享的全局存储空间,所述映射配置还包括所述目标数据在所述全局存储空间中的存储位置,所述数据映射模块还用于:
7.根据权利要求6所述的报文编辑装置,其特征在于,所述多个编程节点分别参与所述目标报文的不同编辑阶段;
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-4任意一项所述的报文编辑方法。
9.一种编程节点,其特征在于,所述编程节点包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1-4任意一项所述的报文编辑方法。
10.一种网络芯片,其特征在于,所述网络芯片包括权利要求9所述的编程节点。