CN114968264A - 一种网络处理器交互系统、方法、电子设备及存储介质 - Google Patents
一种网络处理器交互系统、方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114968264A CN114968264A CN202210894446.8A CN202210894446A CN114968264A CN 114968264 A CN114968264 A CN 114968264A CN 202210894446 A CN202210894446 A CN 202210894446A CN 114968264 A CN114968264 A CN 114968264A
- Authority
- CN
- China
- Prior art keywords
- preset
- instruction
- user input
- interface
- network processor
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Abstract
本申请实施例提供的一种网络处理器交互系统、方法、电子设备及存储介质,应用于信息技术领域,客户端通信子模块,用于接收用户输入的指令,并对用户输入的指令进行预处理,得到预设格式的用户输入指令;将预设格式的用户输入指令发送给服务器通信子模块;服务器通信子模块,用于获取预设格式的用户输入指令;通过预设命令链表,查找预设格式的用户输入指令对应的预设函数;通过查找到的函数调用预设接口对网络处理器单元执行读写操作。可以通过交互模块的独立部署减少执行读写操作所需的时间,提高读写效率,还可以在编译过程中,可以对交互模块单独进行编译,从而减少交互模块编译过程的耗时。
Description
技术领域
本申请涉及信息技术领域,特别是涉及一种网络处理器交互系统、方法、电子设备及存储介质。
背景技术
目前,随着大数据,互联网技术的快速发展,网络应用场景、需求呈现出多元化,各种数据、流量爆炸式增长,对数据传输和交换也带来了严峻的挑战。其中,交互模块作为网络操作系统框架中的一部分,在网络操作系统编译时与之一起编译打包,以操作系统命令形式预留调用接口,可以实现交互功能,以及完成内核命令注册、维护等工作。
然而,由于交互模块与上层应用及操作系统为一个整体,通常作为一个整体进行编译等操作,导致执行读写操作所需的时间往往较长。
发明内容
本申请实施例的目的在于提供一种网络处理器交互系统、方法、电子设备及存储介质,用以解决交互模块执行读写操作所需的时间长的问题。具体技术方案如下:
本申请实施例的第一方面,提供了一种网络处理器交互系统,包括:主控处理器单元和网络处理器单元,所述主控处理器单元中运行有操作系统和交互模块,所述交互模块部署在虚拟容器中;
所述交互模块包括客户端通信子模块和服务器通信子模块;
所述客户端通信子模块,用于接收用户输入的指令,并对所述用户输入的指令进行预处理,得到预设格式的用户输入指令;将所述预设格式的用户输入指令发送给所述服务器通信子模块;
所述服务器通信子模块,用于获取所述预设格式的用户输入指令;通过预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;通过查找到的函数调用预设接口对所述网络处理器单元执行读写操作。
可选的,所述客户端通信子模块,具体用于接收用户输入指令,并对所述用户输入指令进行命令首尾空格的去除,得到处理后的命令;判断所述处理后的命令是否符合预设格式,若符合,则得到预设格式的用户输入指令。
可选的,所述服务器通信子模块包括接口层和解析层;
所述接口层,用于接收所述预设格式的用户输入指令;
所述解析层,用于通过预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;若查找成功,则通过查找到的函数调用预设接口对所述网络处理器单元执行读写操作,若查找不成功,则生成错误信息。
可选的,所述服务器通信子模块还包括软件开发包;
所述解析层,具体用于通过查找到的函数在所述软件开发包中调用预设接口对所述网络处理器单元执行读写操作。
可选的,所述软件开发包包括顶层接口层、中间层、底层接口层;
所述解析层,具体用于通过查找到的函数调用所述顶层接口层中对应的应用程序编程接口API;通过所述中间层将所述API的调用转化为针对底层接口层中硬件接口的调用;通过所述底层接口层的硬件接口调用硬件资源,利用所述硬件资源对所述网络处理器单元执行读写操作。
可选的,所述服务器通信子模块,还用于接收所述读写操作的执行结果,并生成结束指令,其中,所述结束指令包括结束标识、视图ID、视图提示符;将所述结束指令发送至所述客户端通信子模块。
本申请实施例的第二方面,提供了一种网络处理器交互方法,应用于网络处理器交互系统中的交互模块,所述网络处理器交互系统包括:主控处理器单元和网络处理器单元,所述主控处理器单元中运行有操作系统和交互模块,所述交互模块部署在虚拟容器中;所述交互模块包括客户端通信子模块和服务器通信子模块;
所述方法包括:
通过所述客户端通信子模块接收用户输入指令,并对所述用户输入指令进行预处理,得到预设格式的用户输入的指令;
通过所述客户端通信子模块将所述预设格式的用户输入指令发送给所述服务器通信子模块;
通过所述服务器通信子模块获取所述预设格式的用户输入的指令;
通过所述服务器通信子模块利用预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;
通过所述服务器通信子模块利用查找到的函数调用预设接口对所述网络处理器单元执行读写操作。
可选的,所述通过所述服务器通信子模块接收所述预设格式的用户输入指令,包括:
通过所述服务器通信子模块接收用户输入的指令,并对所述用户输入指令进行命令首尾空格的去除,得到处理后的命令;
通过所述服务器通信子模块判断所述处理后的命令是否符合预设格式,若符合,则得到预设格式的用户输入指令。
可选的,所述服务器通信子模块包括接口层和解析层;
所述通过所述服务器通信子模块接收所述预设格式的用户输入的指令,包括:
通过所述接口层接收所述预设格式的用户输入指令;
所述通过所述服务器通信子模块利用预设命令链表,查找所述预设格式的用户输入指令对应的预设函数,包括:
通过所述解析层利用预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;
若查找成功,则通过查找到的函数调用预设接口对所述网络处理器单元执行读写操作,若查找不成功,则生成错误信息。
可选的,所述服务器通信子模块还包括软件开发包;
所述通过查找到的函数调用预设接口对网络处理器执行读写操作,包括:
通过所述解析层利用查找到的函数在所述软件开发包中调用预设接口对所述网络处理器单元执行读写操作。
可选的,所述软件开发包包括顶层接口层、中间层、底层接口层;
所述通过所述解析层利用查找到的函数在所述软件开发包中调用预设接口对所述网络处理器单元执行读写操作,包括:
通过所述解析层利用查找到的函数调用所述顶层接口层中对应的应用程序编程接口API;通过所述中间层将所述API的调用转化为针对底层接口层中硬件接口的调用;通过所述底层接口层的硬件接口调用硬件资源,利用所述硬件资源对所述网络处理器单元执行读写操作。
本申请实施例的另一方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一网络处理器交互方法所述的方法步骤。
本申请实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一网络处理器交互方法所述的方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一网络处理器交互方法。
本申请实施例有益效果:
本申请实施例提供的一种网络处理器交互系统,包括:主控处理器单元和网络处理器单元,主控处理器单元中运行有操作系统和交互模块,交互模块部署在虚拟容器中;交互模块包括客户端通信子模块和服务器通信子模块;客户端通信子模块,用于接收用户输入的指令,并对用户输入的指令进行预处理,得到预设格式的用户输入指令;将预设格式的用户输入指令发送给服务器通信子模块;服务器通信子模块,用于获取预设格式的用户输入指令;通过预设命令链表,查找预设格式的用户输入指令对应的预设函数;通过查找到的函数调用预设接口对网络处理器单元执行读写操作。通过将交互模块部署在虚拟容器中,在客户端通信子模块接收用户输入的指令后并发送给服务器通信子模块,通过服务器通信子模块通过预设命令链表,查找预设格式的用户输入指令对应的预设函数,并通过查找到的函数调用预设接口对网络处理器单元执行读写操作,不但可以通过交互模块的独立部署减少执行读写操作所需的时间,提高读写效率,还可以在编译过程中,可以对交互模块单独进行编译,从而减少交互模块编译过程的耗时。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的网络处理器交互系统的一种结构示意图;
图2为本申请实施例提供的交互模块的一种实例示意图;
图3a为本申请实施例提供的交互模块的一种结构示意图;
图3b为本申请实施例提供的交互模块的另一种结构示意图;
图4为本申请实施例提供的软件开发包的一种结构示意图;
图5为本申请实施例提供的结束指令的一种示意图;
图6为本申请实施例提供的网络处理器交互流程示意图;
图7为本申请实施例提供的网络处理器交互方法的一种流程示意图;
图8为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的第一方面,提供了一种网络处理器交互系统,参见图1,包括:主控处理器单元101和网络处理器单元102,主控处理器单元101中运行有操作系统和交互模块1011,交互模块1011部署在虚拟容器中;
交互模块1011包括客户端通信子模块10111和服务器通信子模块10112;
客户端通信子模块10111,用于接收用户输入的指令,并对用户输入的指令进行预处理,得到预设格式的用户输入指令;将预设格式的用户输入指令发送给服务器通信子模块;
服务器通信子模块10112,用于获取预设格式的用户输入指令;通过预设命令链表,查找预设格式的用户输入指令对应的预设函数;通过查找到的函数调用预设接口对网络处理器单元执行读写操作。
其中,本申请实施例中的交互模块可以独立于网络处理器单元。其中,交互模块部署在虚拟容器中,可以部署在区别于操作系统的虚拟容器中,具体的,交互模块可以部署在多个虚拟容器部署中,且多个虚拟容器独立于系统模块,具体的,参见图2,图中虚拟容器1(container1)、虚拟容器2(container2)、虚拟容器3(container3)、虚拟容器4(container4)表示不同的虚拟容器,交互模块通过SAI(Switch Abstract Interface,交换机抽象接口)与网络操作系统通信,RedisDB为Redis数据库,网络操作系统根据安装环境进行安装,网络操作系统与驱动层通信,最终与底层硬件通信。在实际使用过程中,可以使用DOCKER(一种开源的应用容器引擎)容器虚拟化技术生成虚拟容器。交互模块作为服务程序可以运行在容器中,并且在实际使用过程中服务之间无任何调用接口,所有信息交互通过向数据库订阅和发布,从而没有性能开销。本申请实施例中,可以通过交互模块分布式部署,将解耦合的交互模块布置在不同容器中,当其中某一个容器出现异常,能够最小程度减少对模块的影响,也无需重新对正常的模块部分进行任何操作,只需要重启发生异常的模块所在容器即可。
其中,客户端通信子模块和服务器通信子模块可以为交互模块按照修改变动频率高低进行解耦合,在编译过程中,可以各自作为独立模块单独编译,无需作为整体进行编译,从而提高编译的效率和编译过程所需的资源。其中,客户端通信子模块可以除注册命令用于补齐、历史命令搜索外,不注册和回调任何命令接口,包括视图切换操作等所有命令执行均发送到服务器通信子模块完成,实现两侧功能彻底解耦合,从而提高数据的处理效率。
可见,通过本申请实施例的系统,可以通过将交互模块部署在虚拟容器中,在客户端通信子模块接收用户输入的指令后并发送给服务器通信子模块,通过服务器通信子模块通过预设命令链表,查找预设格式的用户输入指令对应的预设函数,并通过查找到的函数调用预设接口对网络处理器单元执行读写操作,不但可以通过交互模块的独立部署减少执行读写操作所需的时间,提高读写效率,还可以在编译过程中,可以对交互模块单独进行编译,从而减少交互模块编译过程的耗时。
可选的,客户端通信子模块10111,具体用于接收用户输入指令,并对用户输入指令进行命令首尾空格的去除,得到处理后的命令;判断处理后的命令是否符合预设格式,若符合,则得到预设格式的用户输入指令。
具体的,交互过程中,客户端通信子模块接收用户输入,通过预处理去除命令首尾空格,并判断是否符合预设格式,若符合则得到预设格式的用户输入指令。其中,在实际使用过程中通信方式可以为SOCKET,具体的,可以采用EPOLL(一种改进的poll模型)模型对SOCKET上的连接、读写事件进行监听处理,并且该模型还可以支持多CLIENT(客户端通信子模块)连接、命令处理及结果回传。一个例子中,本申请实施例的交互系统可以参见图3a和图3b,服务器通信子模块可以为sever,客户端通信子模块可以为client,HOST CPU为主控CPU,PCIE表示一种高速串行计算机扩展总线标准,交互模块通过PCIE与NP(NetworkProcessor ,网络处理器)通信,具体的,通过PCIE映射的内存空间访问NP的REGISTER(寄存器)和MEMORY(内存空间)。图3b中服务器通信子模块通过回调函数1(callback1)、回调函数2(callback2)……回调函数N(callbackN)与软件开发包(SDK,Software DevelopmentKit)进行通信,并通过PCIE与NP进行通信,NP中包括内核1(core1)、内核2(core2)……内核N(coreN)多个内核。
可选的,服务器通信子模块10112包括接口层和解析层;
接口层,用于接收预设格式的用户输入指令;
解析层,用于通过预设命令链表,查找预设格式的用户输入指令对应的预设函数;若查找成功,则通过查找到的函数调用预设接口对网络处理器单元执行读写操作,若查找不成功,则生成错误信息。
其中,本申请实施例中服务器通信子模块可以采用分层设计,最上层接口层,负责接收客户端通信子模块输入命令,命令在客户端通信子模块已经过预处理,服务器通信子模块不进行多余操作,同时,命令运行结果也会在通过接口层返回客户端通信子模块。解析层,负责对接口层传输的命令进行索引查找,服务器通信子模块维护树状结构的命令链表,若找不成功,则返回错误信息,查找成功,则开始调用初始化过程中注册的回调函数,这些回调函数最终会在软件开发包中调用接口通过PCIE通道进行读写操作。
可选的,服务器通信子模块10112还包括软件开发包;
解析层,具体用于通过查找到的函数在软件开发包中调用预设接口对网络处理器单元执行读写操作。
可选的,软件开发包包括顶层接口层、中间层、底层接口层;
解析层,具体用于通过查找到的函数调用顶层接口层中对应的应用程序编程接口API(Application Programming Interface,应用程序接口);通过中间层将API的调用转化为针对底层接口层中硬件接口的调用;通过底层接口层的硬件接口调用硬件资源,利用硬件资源对网络处理器单元执行读写操作。
具体的,参见图4,本申请实施例中的软件开发包采用三层架构,顶层接口层为API层,提供用户稳定的API,其中,API接口可以不随软件开发包版本变动,中间层为抽象层,可以屏蔽底层差异,抽象层与API层之间可以以互斥锁的形式对数据进行保护,具体的可以包括互斥加锁和互斥解锁,中间层管理软件开发包的数据结构及缓存数据库,底层接口层可以实现对硬件资源的读写访问,针对不同属性的硬件资源提供不同的访问接口,并采用用户不感知的形式,底层接口层为底层硬件接口,包括REG(网络注册表文件)和SRAM(静态随机存取存储器),硬件资源包括资源池、调度以及接口等。软件开发包底层以模块化方式进行管理,对硬件资源的访问可抽象为对寄存器和SRAM资源的访问,具体的,可以采用直接访问和间接访问两种方式,并且根据各类资源的属性,在抽象层可以以互斥锁的形式对资源进行隔离保护。
并且,本申请实施例中的分层架构也可以提供高效的回调函数注册、管理机制,预留了足够的空间,用户只须按照规定的格式,即可方便地注册自定义回调函数,以链表形式对回调函数实现模块化管理,注册及使用时,只需要提供对应模块的ID(Identitydocument,是身份证标识号)即可便捷地获取回调函数操作基址,扩展性和安全性得到充分保障。
可选的,服务器通信子模块10112,还用于接收读写操作的执行结果,并生成结束指令,其中,结束指令包括结束标识、视图ID、视图提示符;将结束指令发送至客户端通信子模块。具体的,可以参见图5。
在实际使用过程中,参见图6,服务器通信子模块启动时,可以首先进行初始化,具体的,可以包括设置日志等级、存储位置,预留BUFFER(缓冲器)大小等,命令树的注册与回调函数的注册相互分离,以实现客户端通信子模块复用服务器通信子模块命令注册功能代码,从而解决多客户端通信过程中数据不一致问题,并且在增加、修改或删除命令时,复用也能保证服务器通信子模块与客户端通信子模块命令树的一致性。
具体的,使用命令调试时,由于底层逻辑分散在各个不同的功能模块中,还有可能调用内核或向数据库请求数据,部分命令也可能存在延时场景,返回内容不确定,本申请实施例中,可以通过结束指令指示命令运行完成且结果回显到客户端通信子模块已完成。
使用结束标识来指示命令结果回显完成,包括:
结束标识在接收到返回结果最开始的位置,则上一包数据是命令执行结果的最后一包,直接接收结束,并提取当前视图ID和视图提示符更新客户端通信子模块视图;
结束标识不在当前数据包最开始位置,则当前包结束标识前的部分数据也是命令执行结果的最后一部分数据,也需要在客户端通信子模块回显,再提取结束标识后面的视图ID和视图提示符更新客户端通信子模块视图。
本申请实施例的第二方面,提供了一种网络处理器交互方法,应用于网络处理器交互系统中的交互模块,网络处理器交互系统包括:主控处理器单元和网络处理器单元,主控处理器单元中运行有操作系统和交互模块,交互模块部署在虚拟容器中;交互模块包括客户端通信子模块和服务器通信子模块;
参见图7,上述方法包括:
步骤S71,通过客户端通信子模块接收用户输入指令,并对用户输入指令进行预处理,得到预设格式的用户输入的指令;
步骤S72,通过客户端通信子模块将预设格式的用户输入指令发送给服务器通信子模块;
步骤S73,通过服务器通信子模块获取预设格式的用户输入的指令;
步骤S74,通过服务器通信子模块利用预设命令链表,查找预设格式的用户输入指令对应的预设函数;
步骤S75,通过服务器通信子模块利用查找到的函数调用预设接口对网络处理器单元执行读写操作。
可选的,通过服务器通信子模块接收预设格式的用户输入指令,包括:
通过服务器通信子模块接收用户输入的指令,并对用户输入指令进行命令首尾空格的去除,得到处理后的命令;
通过服务器通信子模块判断处理后的命令是否符合预设格式,若符合,则得到预设格式的用户输入指令。
可选的,服务器通信子模块包括接口层和解析层;
通过服务器通信子模块接收预设格式的用户输入的指令,包括:
通过接口层接收预设格式的用户输入指令;
通过服务器通信子模块利用预设命令链表,查找预设格式的用户输入指令对应的预设函数,包括:
通过解析层利用预设命令链表,查找预设格式的用户输入指令对应的预设函数;
若查找成功,则通过查找到的函数调用预设接口对网络处理器单元执行读写操作,若查找不成功,则生成错误信息。
可选的,服务器通信子模块还包括软件开发包;
通过查找到的函数调用预设接口对网络处理器执行读写操作,包括:
通过解析层利用查找到的函数在软件开发包中调用预设接口对网络处理器单元执行读写操作。
可选的,软件开发包包括顶层接口层、中间层、底层接口层;
通过解析层利用查找到的函数在软件开发包中调用预设接口对网络处理器单元执行读写操作,包括:
通过解析层利用查找到的函数调用顶层接口层中对应的应用程序编程接口API;通过中间层将API的调用转化为针对底层接口层中硬件接口的调用;通过底层接口层的硬件接口调用硬件资源,利用硬件资源对网络处理器单元执行读写操作。
可见,通过本申请实施例的方法,可以通过将交互模块部署在虚拟容器中,在客户端通信子模块接收用户输入的指令后并发送给服务器通信子模块,通过服务器通信子模块通过预设命令链表,查找预设格式的用户输入指令对应的预设函数,并通过查找到的函数调用预设接口对网络处理器单元执行读写操作,不但可以通过交互模块的独立部署减少执行读写操作所需的时间,提高读写效率,还可以在编译过程中,可以对交互模块单独进行编译,从而减少交互模块编译过程的耗时。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
通过客户端通信子模块接收用户输入指令,并对用户输入指令进行预处理,得到预设格式的用户输入的指令;
通过客户端通信子模块将预设格式的用户输入指令发送给服务器通信子模块;
通过服务器通信子模块获取预设格式的用户输入的指令;
通过服务器通信子模块利用预设命令链表,查找预设格式的用户输入指令对应的预设函数;
通过服务器通信子模块利用查找到的函数调用预设接口对网络处理器单元执行读写操作。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一网络处理器交互方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一网络处理器交互方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、电子设备、存储介质及计算机程序产品实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种网络处理器交互系统,其特征在于,包括:主控处理器单元和网络处理器单元,所述主控处理器单元中运行有操作系统和交互模块,所述交互模块部署在虚拟容器中;
所述交互模块包括客户端通信子模块和服务器通信子模块;
所述客户端通信子模块,用于接收用户输入的指令,并对所述用户输入的指令进行预处理,得到预设格式的用户输入指令;将所述预设格式的用户输入指令发送给所述服务器通信子模块;
所述服务器通信子模块,用于获取所述预设格式的用户输入指令;通过预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;通过查找到的函数调用预设接口对所述网络处理器单元执行读写操作。
2.根据权利要求1所述的系统,其特征在于,
所述客户端通信子模块,具体用于接收用户输入指令,并对所述用户输入指令进行命令首尾空格的去除,得到处理后的命令;判断所述处理后的命令是否符合预设格式,若符合,则得到预设格式的用户输入指令。
3.根据权利要求1所述的系统,其特征在于,
所述服务器通信子模块包括接口层和解析层;
所述接口层,用于接收所述预设格式的用户输入指令;
所述解析层,用于通过预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;若查找成功,则通过查找到的函数调用预设接口对所述网络处理器单元执行读写操作,若查找不成功,则生成错误信息。
4.根据权利要求3所述的系统,其特征在于,
所述服务器通信子模块还包括软件开发包;
所述解析层,具体用于通过查找到的函数在所述软件开发包中调用预设接口对所述网络处理器单元执行读写操作。
5.根据权利要求4所述的系统,其特征在于,
所述软件开发包包括顶层接口层、中间层、底层接口层;
所述解析层,具体用于通过查找到的函数调用所述顶层接口层中对应的应用程序编程接口API;通过所述中间层将所述API的调用转化为针对底层接口层中硬件接口的调用;通过所述底层接口层的硬件接口调用硬件资源,利用所述硬件资源对所述网络处理器单元执行读写操作。
6.根据权利要求1所述的系统,其特征在于,
所述服务器通信子模块,还用于接收所述读写操作的执行结果,并生成结束指令,其中,所述结束指令包括结束标识、视图ID、视图提示符;将所述结束指令发送至所述客户端通信子模块。
7.一种网络处理器交互方法,其特征在于,应用于网络处理器交互系统中的交互模块,所述网络处理器交互系统包括:主控处理器单元和网络处理器单元,所述主控处理器单元中运行有操作系统和交互模块,所述交互模块部署在虚拟容器中;所述交互模块包括客户端通信子模块和服务器通信子模块;
所述方法包括:
通过所述客户端通信子模块接收用户输入指令,并对所述用户输入指令进行预处理,得到预设格式的用户输入的指令;
通过所述客户端通信子模块将所述预设格式的用户输入指令发送给所述服务器通信子模块;
通过所述服务器通信子模块获取所述预设格式的用户输入的指令;
通过所述服务器通信子模块利用预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;
通过所述服务器通信子模块利用查找到的函数调用预设接口对所述网络处理器单元执行读写操作。
8.根据权利要求7所述的方法,其特征在于,所述通过所述服务器通信子模块接收所述预设格式的用户输入指令,包括:
通过所述服务器通信子模块接收用户输入的指令,并对所述用户输入指令进行命令首尾空格的去除,得到处理后的命令;
通过所述服务器通信子模块判断所述处理后的命令是否符合预设格式,若符合,则得到预设格式的用户输入指令。
9.根据权利要求7所述的方法,其特征在于,所述服务器通信子模块包括接口层和解析层;
所述通过所述服务器通信子模块接收所述预设格式的用户输入的指令,包括:
通过所述接口层接收所述预设格式的用户输入指令;
所述通过所述服务器通信子模块利用预设命令链表,查找所述预设格式的用户输入指令对应的预设函数,包括:
通过所述解析层利用预设命令链表,查找所述预设格式的用户输入指令对应的预设函数;
若查找成功,则通过查找到的函数调用预设接口对所述网络处理器单元执行读写操作,若查找不成功,则生成错误信息。
10.根据权利要求9所述的方法,其特征在于,所述服务器通信子模块还包括软件开发包;
所述通过查找到的函数调用预设接口对网络处理器执行读写操作,包括:
通过所述解析层利用查找到的函数在所述软件开发包中调用预设接口对所述网络处理器单元执行读写操作。
11.根据权利要求10所述的方法,其特征在于,所述软件开发包包括顶层接口层、中间层、底层接口层;
所述通过所述解析层利用查找到的函数在所述软件开发包中调用预设接口对所述网络处理器单元执行读写操作,包括:
通过所述解析层利用查找到的函数调用所述顶层接口层中对应的应用程序编程接口API;通过所述中间层将所述API的调用转化为针对底层接口层中硬件接口的调用;通过所述底层接口层的硬件接口调用硬件资源,利用所述硬件资源对所述网络处理器单元执行读写操作。
12.根据权利要求7所述的方法,其特征在于,所述方法还包括:
通过所述服务器通信子模块接收所述读写操作的执行结果;
生成结束指令,并将所述结束指令发送至所述客户端通信子模块,其中,所述结束指令包括结束标识、视图ID、视图提示符。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求7-12任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7-12任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894446.8A CN114968264B (zh) | 2022-07-28 | 2022-07-28 | 一种网络处理器交互系统、方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894446.8A CN114968264B (zh) | 2022-07-28 | 2022-07-28 | 一种网络处理器交互系统、方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114968264A true CN114968264A (zh) | 2022-08-30 |
CN114968264B CN114968264B (zh) | 2022-10-25 |
Family
ID=82969789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210894446.8A Active CN114968264B (zh) | 2022-07-28 | 2022-07-28 | 一种网络处理器交互系统、方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968264B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6513112B1 (en) * | 1999-07-26 | 2003-01-28 | Microsoft Corporation | System and apparatus for administration of configuration information using a catalog server object to describe and manage requested configuration information to be stored in a table object |
CN101378368A (zh) * | 2008-09-28 | 2009-03-04 | 腾讯科技(深圳)有限公司 | 一种信息交互的方法及系统 |
CN104572114A (zh) * | 2015-01-23 | 2015-04-29 | 盟游(北京)科技有限公司 | 一种绑定装置、应用更新装置及方法以及应用 |
CN105610730A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | Cpu与网络设备之间的消息交互方法及系统 |
CN108647015A (zh) * | 2018-05-08 | 2018-10-12 | 深圳市智汇牛科技有限公司 | 一种自动厨房领域的人机交互系统架构 |
US20180357051A1 (en) * | 2017-06-13 | 2018-12-13 | Microsoft Technology Licensing, Llc | Model binding for command line parsers |
CN109101350A (zh) * | 2018-08-20 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种数据处理方法及其相关设备 |
CN109783715A (zh) * | 2019-01-08 | 2019-05-21 | 鑫涌算力信息科技(上海)有限公司 | 网络爬虫系统及方法 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN112235363A (zh) * | 2020-09-28 | 2021-01-15 | 华云数据控股集团有限公司 | 数据处理方法、装置、电子设备、存储介质及系统 |
US20210149587A1 (en) * | 2020-12-23 | 2021-05-20 | Intel Corporation | Technologies to provide access to kernel and user space memory regions |
-
2022
- 2022-07-28 CN CN202210894446.8A patent/CN114968264B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6513112B1 (en) * | 1999-07-26 | 2003-01-28 | Microsoft Corporation | System and apparatus for administration of configuration information using a catalog server object to describe and manage requested configuration information to be stored in a table object |
CN101378368A (zh) * | 2008-09-28 | 2009-03-04 | 腾讯科技(深圳)有限公司 | 一种信息交互的方法及系统 |
CN105610730A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | Cpu与网络设备之间的消息交互方法及系统 |
CN104572114A (zh) * | 2015-01-23 | 2015-04-29 | 盟游(北京)科技有限公司 | 一种绑定装置、应用更新装置及方法以及应用 |
US20180357051A1 (en) * | 2017-06-13 | 2018-12-13 | Microsoft Technology Licensing, Llc | Model binding for command line parsers |
CN108647015A (zh) * | 2018-05-08 | 2018-10-12 | 深圳市智汇牛科技有限公司 | 一种自动厨房领域的人机交互系统架构 |
CN109101350A (zh) * | 2018-08-20 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种数据处理方法及其相关设备 |
CN109783715A (zh) * | 2019-01-08 | 2019-05-21 | 鑫涌算力信息科技(上海)有限公司 | 网络爬虫系统及方法 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN112235363A (zh) * | 2020-09-28 | 2021-01-15 | 华云数据控股集团有限公司 | 数据处理方法、装置、电子设备、存储介质及系统 |
US20210149587A1 (en) * | 2020-12-23 | 2021-05-20 | Intel Corporation | Technologies to provide access to kernel and user space memory regions |
Non-Patent Citations (3)
Title |
---|
XIAOXI ZHANG等: "Proactive VNF provisioning with multi-timescale cloud resources: Fusing online learning and online optimization", 《IEEE INFOCOM 2017 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS》 * |
曾力: "嵌入式平台下内网数据包捕获研究与应用", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
用户昵称100: "C/C++编程-分层模块化-数据交互", 《HTTPS://BLOG.CSDN.NET/QQ_18661919/ARTICLE/DETAILS/121933489》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114968264B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491485B (zh) | 生成执行计划的方法、计划单元装置和分布式NewSQL数据库系统 | |
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US10853160B2 (en) | Methods and systems to manage alerts in a distributed computing system | |
WO2020015190A1 (zh) | 业务规则的生成方法、电子装置及可读存储介质 | |
KR100845234B1 (ko) | 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법 | |
US9417973B2 (en) | Apparatus and method for fault recovery | |
US10872007B2 (en) | Methods and systems to compound alerts in a distributed computing system | |
US11321090B2 (en) | Serializing and/or deserializing programs with serializable state | |
CN110716845B (zh) | 一种Android系统的日志信息读取的方法 | |
US20060161896A1 (en) | Performing debug requests that are within the debug domain of a class loader | |
US8407713B2 (en) | Infrastructure of data summarization including light programs and helper steps | |
CN105094910A (zh) | 一种驱动函数用户态调试系统和方法 | |
RU2359316C2 (ru) | Способ администрирования компонентов программного обеспечения, интегрированных в мобильную систему | |
CN112328219A (zh) | 业务访问处理方法、装置、系统和计算机设备 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN113703862A (zh) | 基于配置的接口调用方法、装置、设备及存储介质 | |
US8239862B2 (en) | Apparatus, method, and computer program product for processing information | |
US20200371827A1 (en) | Method, Apparatus, Device and Medium for Processing Data | |
WO2021021365A1 (en) | Client application for web application execution | |
US7171650B2 (en) | System and method for integrating resources in a network | |
CN114489622A (zh) | 静态资源管理方法、Node.js应用、电子设备和存储介质 | |
CN113987337A (zh) | 基于组件化动态编排的搜索方法、系统、设备及存储介质 | |
US10061566B2 (en) | Methods and systems to identify log write instructions of a source code as sources of event messages | |
CN114968264B (zh) | 一种网络处理器交互系统、方法、电子设备及存储介质 | |
CN108496157B (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 |