CN114710513A - 一种网络数据的处理系统及方法 - Google Patents

一种网络数据的处理系统及方法 Download PDF

Info

Publication number
CN114710513A
CN114710513A CN202210333210.7A CN202210333210A CN114710513A CN 114710513 A CN114710513 A CN 114710513A CN 202210333210 A CN202210333210 A CN 202210333210A CN 114710513 A CN114710513 A CN 114710513A
Authority
CN
China
Prior art keywords
network
cortex
module
data packet
sharing
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
Application number
CN202210333210.7A
Other languages
English (en)
Other versions
CN114710513B (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.)
Guangzhou Asensing Technology Co Ltd
Original Assignee
Guangzhou Asensing 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 Guangzhou Asensing Technology Co Ltd filed Critical Guangzhou Asensing Technology Co Ltd
Priority to CN202210333210.7A priority Critical patent/CN114710513B/zh
Publication of CN114710513A publication Critical patent/CN114710513A/zh
Application granted granted Critical
Publication of CN114710513B publication Critical patent/CN114710513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

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

本申请实施例提供一种网络数据的处理系统及方法,涉及网络通信技术领域。该网络数据的处理系统应用于异构多核处理器,所述系统包括Cortex‑A网络共享处理模块、Cortex‑M网络共享处理模块、内存共享模块和物理网卡模块;所述Cortex‑A网络共享处理模块与所述内存共享模块连接;所述Cortex‑M网络共享处理模块与所述内存共享模块连接,所述Cortex‑M网络共享处理模块通过所述内存共享模块与所述Cortex‑A网络共享处理模块进行网络数据通信;所述物理网卡模块与所述Cortex‑M网络共享处理模块连接。该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。

Description

一种网络数据的处理系统及方法
技术领域
本申请涉及网络通信技术领域,具体而言,涉及一种网络数据的处理系统及方法。
背景技术
目前,随着汽车自动驾驶的发展,对处理器的性能要求也越来越高了,传统的微控制单元(MCU,Microcontroller Unit)在计算能力上也很难满足自动驾驶应用,为了同时兼顾实时性和高算力,很多芯片厂家都推出了多核异构处理器,多核异构处理器一般都是由高性能的Cortex-A核和实时性的Cortex-M两类核构成,Cortex-A核算力比较强大,一般都是运行Linux操作系统,处理对算力要求比较高的任务,而Cortex-M核一般都是用来运行实时操作系统(RTOS,Real Time Operating System),处理实时通信、采集等任务。
在实际开发应用中,Cortex-A核和Cortex-M核不可避免的都会存在网络的使用需求,如移动终端的空中下载软件升级(FOTA,Firmware Over-The-Air)、第三方软件开发工具包(SDK,Software Development Kit)集成(依赖于外网通信)、实时以太网通信等,考虑到成本,一般会尽可能的缩减物理网卡的数量。若将这些任务全部放置到Cortex-M核去实现,除了实时以太网通信无压力,其他的几项将会面临着移植困难,消耗算力过大的问题;若全部放置到Cortex-A核中实现,实时以太网通信又满足不了。
发明内容
本申请实施例的目的在于提供一种网络数据的处理系统及方法,可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
第一方面,本申请实施例提供了一种网络数据的处理系统,应用于异构多核处理器,所述系统包括Cortex-A网络共享处理模块、Cortex-M网络共享处理模块、内存共享模块和物理网卡模块;
所述Cortex-A网络共享处理模块与所述内存共享模块连接;
所述Cortex-M网络共享处理模块与所述内存共享模块连接,所述Cortex-M网络共享处理模块通过所述内存共享模块与所述Cortex-A网络共享处理模块进行网络数据通信;
所述物理网卡模块与所述Cortex-M网络共享处理模块连接。
在上述实现过程中,该网络数据的处理系统通过设置内存共享模块,由内存共享模块实现Cortex-A网络共享处理模块和Cortex-M网络共享处理模块之间的网络共享及网络通信,物理网卡模块与Cortex-M网络共享处理模块连接,由物理网卡模块负责与局域网/互联网的网络通信;从而,异构多核处理器中的Cortex-A核可依次通过网络共享模块、Cortex-M网络共享处理模块、物理网卡模块实现网络通信;异构多核处理器中的Cortex-M核则可以通过物理网卡模块直接实现网络通信;因此,该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
进一步地,所述内存共享模块包括第一内存共享单元和所述第二内存共享单元;
所述第一内存共享单元分别连接所述Cortex-A网络共享处理模块、所述Cortex-M网络共享处理模块,所述第一内存共享单元用于处理Cortex-A到Cortex-M方向的网络数据包;
所述第二内存共享单元分别连接所述Cortex-M网络共享处理模块、所述Cortex-A网络共享处理模块,所述第二内存共享单元用于处理Cortex-M到Cortex-A方向的网络数据包。
在上述实现过程中,第一内存共享单元和第二内存共享单元分别处理不同流向的网络数据包。
进一步地,所述处理系统还包括第一网络协议栈链路层模块,所述第一网络协议栈链路层模块与所述Cortex-A网络共享处理模块连接。
在上述实现过程中,第一网络协议栈链路层模块对应链路层的虚拟网卡字符设备,Cortex-A网络共享处理模块通过第一网络协议栈链路层模块与上层的应用程序进行通信。
进一步地,所述第一网络协议栈链路层模块为Linux-Tap网络协议栈链路层模块。
进一步地,所述处理系统还包括第二网络协议栈链路层模块,所述第二网络协议栈链路层模块与所述Cortex-M网络共享处理模块连接。
在上述实现过程中,第二网络协议栈链路层模块用于将来自Cortex-M网络共享处理模块的网络数据包发送至上层的应用程序。
进一步地,所述第二网络协议栈链路层模块为LWIP网络协议栈链路层模块。
进一步地,所述第二网络协议栈链路层模块与所述物理网卡模块连接。
在上述实现过程中,来自第二网络协议栈链路层模块的数据直接通过物理网卡模块即可发出,不用通过Cortex-M网络共享处理模块,降低Cortex-M核的处理负担。
进一步地,所述Cortex-M网络共享处理模块用于接收所述物理网卡模块发送的外网络数据包,并根据所述外网络数据包的类型将所述外网络数据包发送至所述第二网络协议栈链路层模块和/或所述Cortex-A网络共享处理模块。
在上述实现过程中,外网络数据包为局域网/互联网发送给物理网卡模块的数据包;根据外网络数据包的不同类型,分别将其发送给不同的模块。
进一步地,所述外网络数据包的类型包括Cortex-A数据包、Cortex-M数据包、地址解析协议数据包。
进一步地,所述异构多核处理器包括Cortex-A核和Cortex-M核,所述Cortex-A核和所述Cortex-M核的内存共享,物理网卡设置于所述Cortex-M核。
第二方面,本申请实施例提供了一种网络数据的处理方法,应用于第一方面任一项所述的网络数据的处理系统,所述方法包括:
所述Cortex-A网络共享处理模块读取来自第一网络协议栈链路层模块的数据包,并且将所述数据包写入第一内存共享单元中;
所述Coretx-M网络共享处理模块读取来自所述第一内存共享单元的所述数据包,并且将所述数据包写入所述物理网卡模块中。
进一步地,所述方法还包括:
将来自于第二网络协议栈链路层模块的数据包通过所述物理网卡模块发出。
进一步地,所述方法还包括:
通过所述Cortex-M网络共享处理模块处理来自于所述物理网卡模块的外网络数据包的每一帧数据,对所述外网络数据包的处理包括:
若所述外网络数据包为Cortex-A数据包,将所述外网络数据包写入到第二内存共享单元中;由所述Cortex-A网络共享处理模块读取所述外网络数据包,将所述外网络数据包注入到所述第一网络协议栈链路层模块;
若所述外网络数据包为Cortex-M数据包,将所述外网络数据包写入到所述第二网络协议栈链路层模块;
若所述外网络数据包为地址解析协议数据包,将所述外网络数据包分别写入到所述第二内存共享单元、所述第二网络协议栈链路层模块;
若所述外网络数据包不属于Cortex-A数据包、Cortex-M数据包、地址解析协议数据包中的任何一种,将若所述外网络数据包写入到所述第二网络协议栈链路层模块。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种网络数据的处理系统的结构框图;
图2为本申请实施例提供的另一种网络数据的处理系统的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或点连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的联通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,术语“第一”、“第二”等主要是用于区分不同的装置、元件或组成部分(具体的种类和构造可能相同也可能不同),并非用于表明或暗示所指示装置、元件或组成部分的相对重要性和数量。除非另有说明,“多个”的含义为两个或两个以上。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例提供的一种网络数据的处理系统及方法,可以应用于异构多核处理器的网络通信中;该网络数据的处理系统通过设置内存共享模块,由内存共享模块实现Cortex-A网络共享处理模块和Cortex-M网络共享处理模块之间的网络共享及网络通信,物理网卡模块与Cortex-M网络共享处理模块连接,由物理网卡模块负责与局域网/互联网的网络通信;从而,异构多核处理器中的Cortex-A核可依次通过网络共享模块、Cortex-M网络共享处理模块、物理网卡模块实现网络通信;异构多核处理器中的Cortex-M核则可以通过物理网卡模块直接实现网络通信;因此,该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
请参见图1,图1为本申请实施例提供的一种网络数据的处理系统的结构框图,应用于异构多核处理器,该网络数据的处理系统包括Cortex-A网络共享处理模块100、Cortex-M网络共享处理模块200、内存共享模块300和物理网卡模块400。
示例性地,异构多核处理器包括Cortex-A核和Cortex-M核,Cortex-A核和Cortex-M核的内存共享,物理网卡设置于Cortex-M核;其中,Cortex-A核对应于Cortex-A网络共享处理模块100,Cortex-M核对应于Cortex-M网络共享处理模块200,物理网卡对应于物理网卡模块400。
示例性地,Cortex-A网络共享处理模块100与内存共享模块300连接。
示例性地,Cortex-A网络共享处理模块100与内存共享模块300之间可以进行双向通信。
示例性地,Cortex-M网络共享处理模块200与内存共享模块300连接,Cortex-M网络共享处理模块200通过内存共享模块300与Cortex-A网络共享处理模块100进行网络数据通信。
示例性地,Cortex-M网络共享处理模块200与内存共享模块300之间可以进行双向通信;从而,通过内存共享模块300分别连接Cortex-A网络共享处理模块100、Cortex-M网络共享处理模块200,实现Cortex-A网络共享处理模块100与Cortex-M网络共享处理模块200之间的双向通信。
示例性地,物理网卡模块400与Cortex-M网络共享处理模块200连接。
示例性地,物理网卡模块400用于与局域网/互联网进行通信连接;从而,异构多核处理器的Cortex-M核通过Cortex-M网络共享处理模块200与物理网卡模块400的线路可直接进行网络通信;而且,异构多核处理器的Cortex-A核可依次通过Cortex-A网络共享处理模块100、内存共享模块300、Cortex-M网络共享处理模块200、物理网卡模块400进行网络通信,实现一个物理网卡(物理网卡模块400)同时满足异构多核处理器中各个核心的上网需求。
示例性地,物理网卡模块400中的网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件,由于其拥有MAC地址,因此属于OSI模型的第1层和2层之间,它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE,Institute of Electrical and Electronics Engineers)负责为网络接口控制器(网卡)销售商分配唯一的MAC地址。
在一些实施方式中,该网络数据的处理系统通过设置内存共享模块300,由内存共享模块300实现Cortex-A网络共享处理模块100和Cortex-M网络共享处理模块200之间的网络共享及网络通信,物理网卡模块400与Cortex-M网络共享处理模块200连接,由物理网卡模块400负责与局域网/互联网的网络通信;从而,异构多核处理器中的Cortex-A核可依次通过内存共享模块300、Cortex-M网络共享处理模块200、物理网卡模块400实现网络通信;异构多核处理器中的Cortex-M核则可以通过物理网卡模块400直接实现网络通信;因此,该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
请参见图2,图2为本申请实施例提供的另一种网络数据的处理系统的结构框图。
示例性地,内存共享模块300包括第一内存共享单元310和第二内存共享单元320;第一内存共享单元310分别连接Cortex-A网络共享处理模块100、Cortex-M网络共享处理模块200,第一内存共享单元310用于处理Cortex-A到Cortex-M方向的网络数据包;
第二内存共享单元320分别连接Cortex-M网络共享处理模块200、Cortex-A网络共享处理模块100,第二内存共享单元320用于处理Cortex-M到Cortex-A方向的网络数据包。
示例性地,第一内存共享单元310和第二内存共享单元320分别处理不同流向的网络数据包。
示例性地,该网络数据的处理系统还包括第一网络协议栈链路层模块510,第一网络协议栈链路层模块510与Cortex-A网络共享处理模块100连接。
示例性地,第一网络协议栈链路层模块510对应链路层的虚拟网卡字符设备,Cortex-A网络共享处理模块100通过第一网络协议栈链路层模块510与上层的应用程序进行通信。
示例性地,第一网络协议栈链路层模块510为Linux-Tap网络协议栈链路层模块。
示例性地,Linux-Tap是位于链路层的虚拟网卡字符设备,该设备会将来自于linux网络协议栈上层的数据以链路层的格式输出给读取它的应用程序,同时应用程序也可以将来自其他途径的链路层的数据包包写入到该设备,从而实现了该虚拟网卡的收发工作。Linux-Tap在使用前需要配置它的IP地址、MAC地址、以及网关地址,这样才能被正常使用。
示例性地,该网络数据的处理系统还包括第二网络协议栈链路层模块520,第二网络协议栈链路层模块520与Cortex-M网络共享处理模块200连接。
示例性地,第二网络协议栈链路层模块520用于将来自Cortex-M网络共享处理模块200的网络数据包发送至上层的应用程序。
示例性地,第二网络协议栈链路层模块520为LWIP网络协议栈链路层模块。
示例性地,LWIP是一个小型开源的TCP/IP协议栈,实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用。
示例性地,第二网络协议栈链路层模块520与物理网卡模块400连接。
示例性地,来自第二网络协议栈链路层模块520的数据直接通过物理网卡模块400即可发出,不用通过Cortex-M网络共享处理模块200,降低Cortex-M核的处理负担。
示例性地,Cortex-M网络共享处理模块200用于接收物理网卡模块400发送的外网络数据包,并根据外网络数据包的类型将外网络数据包发送至第二网络协议栈链路层模块520和/或Cortex-A网络共享处理模块100。
示例性地,外网络数据包为局域网/互联网发送给物理网卡模块400的数据包;根据外网络数据包的不同类型,分别将其发送给不同的模块。
示例性地,外网络数据包的类型包括Cortex-A数据包、Cortex-M数据包、地址解析协议数据包。
示例性地,结合图1和图2,本申请实施例提供的网络数据的处理系统中,对于不同的网络数据包分别采用不同的处理方式:
一、Cortex-A网络数据包的发送路径如下:
1、Cortex-A网络共享处理模块100读取来自第一网络协议栈链路层模块510的数据包,并且将数据包写入第一内存共享单元310中;
2、Coretx-M网络共享处理模块200读取来自第一内存共享单元310的数据包,并且将其直接写入到物理网卡模块400中。
二、Cortex-M网络数据包的发送路径如下:
来自第二网络协议栈链路层模块520的数据包直接通过物理网卡模块400发出。
三、对于物理网卡模块400接收的外网络数据包的处理如下:
Cortex-M网络共享处理模块200需要处理来自于物理网卡模块400的外网络数据包的每一帧数据,对于数据的去向分类如所示:
若该外网络数据包为Cortex-A数据包,即IPV4、Cortex-A所关注的网络数据包,将该外网络数据包写入到第二内存共享单元320中;随后由Cortex-A网络共享处理模块100读取,再将其注入到所述第一网络协议栈链路层模块510;
若该外网络数据包为Cortex-M数据包,即IPV4、Cortex-M所关注的网络数据包,将该外网络数据包写入到所述第二网络协议栈链路层模块520;
若该外网络数据包为地址解析协议(ARP,Address Resolution Protocol)数据包,将该外网络数据包分别写入到第二内存共享单元320、所述第二网络协议栈链路层模块520。
在一些实施方式中,上述Cortex-M核、Cortex-A核所关注的数据包可以由使用者定义;使用者定义之后,共享处理程序根据使用者的定义对网络包进行识别。例如Cortex-A核关注的包可以是:A核需要连接网络,那么网络数据包内部属于外网IP地址的包将会全部推送给Cortex-A核;Cortex-M核需要关注的包可以是:Cortex-M核监听了某个TCP服务,那么收到的网络包只要符合该TCP的IP、端口,那么就会被推送到Cortex-M核。
对于不属于Cortex-A数据包、Cortex-M数据包、地址解析协议数据包中的任何一种的其他类型的数据包,将该外网络数据包写入到所述第二网络协议栈链路层模块520。
可选地,地址解析协议数据包和其它类型的数据包既可以是A核关注的包,也可以是M和关注的包,都是由使用者定义。
可选地,使用者只要定义A核所关注的包,不属于A核所关注的包,则全部由M和处理。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (13)

1.一种网络数据的处理系统,其特征在于,应用于异构多核处理器,所述系统包括Cortex-A网络共享处理模块、Cortex-M网络共享处理模块、内存共享模块和物理网卡模块;
所述Cortex-A网络共享处理模块与所述内存共享模块连接;
所述Cortex-M网络共享处理模块与所述内存共享模块连接,所述Cortex-M网络共享处理模块通过所述内存共享模块与所述Cortex-A网络共享处理模块进行网络数据通信;
所述物理网卡模块与所述Cortex-M网络共享处理模块连接。
2.根据权利要求1所述的网络数据的处理系统,其特征在于,所述内存共享模块包括第一内存共享单元和第二内存共享单元;
所述第一内存共享单元分别连接所述Cortex-A网络共享处理模块、所述Cortex-M网络共享处理模块,所述第一内存共享单元用于处理Cortex-A到Cortex-M方向的网络数据包;
所述第二内存共享单元分别连接所述Cortex-M网络共享处理模块、所述Cortex-A网络共享处理模块,所述第二内存共享单元用于处理Cortex-M到Cortex-A方向的网络数据包。
3.根据权利要求1所述的网络数据的处理系统,其特征在于,所述处理系统还包括第一网络协议栈链路层模块,所述第一网络协议栈链路层模块与所述Cortex-A网络共享处理模块连接。
4.根据权利要求3所述的网络数据的处理系统,其特征在于,所述第一网络协议栈链路层模块为Linux-Tap网络协议栈链路层模块。
5.根据权利要求1所述的网络数据的处理系统,其特征在于,所述处理系统还包括第二网络协议栈链路层模块,所述第二网络协议栈链路层模块与所述Cortex-M网络共享处理模块连接。
6.根据权利要求5所述的网络数据的处理系统,其特征在于,所述第二网络协议栈链路层模块为LWIP网络协议栈链路层模块。
7.根据权利要求5所述的网络数据的处理系统,其特征在于,所述第二网络协议栈链路层模块与所述物理网卡模块连接。
8.根据权利要求5所述的网络数据的处理系统,其特征在于,所述Cortex-M网络共享处理模块用于接收所述物理网卡模块发送的外网络数据包,并根据所述外网络数据包的类型将所述外网络数据包发送至所述第二网络协议栈链路层模块和/或所述Cortex-A网络共享处理模块。
9.根据权利要求8所述的网络数据的处理系统,其特征在于,所述外网络数据包的类型包括Cortex-A数据包、Cortex-M数据包、地址解析协议数据包。
10.根据权利要求1至9任一项所述的网络数据的处理系统,其特征在于,所述异构多核处理器包括Cortex-A核和Cortex-M核,所述Cortex-A核和所述Cortex-M核的内存共享,物理网卡设置于所述Cortex-M核。
11.一种网络数据的处理方法,其特征在于,应用于权利要求1至10任一项所述的网络数据的处理系统,所述方法包括:
所述Cortex-A网络共享处理模块读取来自第一网络协议栈链路层模块的数据包,并且将所述数据包写入第一内存共享单元中;
所述Coretx-M网络共享处理模块读取来自所述第一内存共享单元的所述数据包,并且将所述数据包写入所述物理网卡模块中。
12.根据权利要求11所述的网络数据的处理方法,其特征在于,所述方法还包括:
将来自于第二网络协议栈链路层模块的数据包通过所述物理网卡模块发出。
13.根据权利要求12所述的网络数据的处理方法,其特征在于,所述方法还包括:
通过所述Cortex-M网络共享处理模块处理来自于所述物理网卡模块的外网络数据包的每一帧数据,对所述外网络数据包的处理包括:
若所述外网络数据包为Cortex-A数据包,将所述外网络数据包写入到第二内存共享单元中;由所述Cortex-A网络共享处理模块读取所述外网络数据包,将所述外网络数据包注入到所述第一网络协议栈链路层模块;
若所述外网络数据包为Cortex-M数据包,将所述外网络数据包写入到所述第二网络协议栈链路层模块;
若所述外网络数据包为地址解析协议数据包,将所述外网络数据包分别写入到所述第二内存共享单元、所述第二网络协议栈链路层模块;
若所述外网络数据包不属于Cortex-A数据包、Cortex-M数据包、地址解析协议数据包中的任何一种,将若所述外网络数据包写入到所述第二网络协议栈链路层模块。
CN202210333210.7A 2022-03-30 2022-03-30 一种网络数据的处理系统及方法 Active CN114710513B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210333210.7A CN114710513B (zh) 2022-03-30 2022-03-30 一种网络数据的处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210333210.7A CN114710513B (zh) 2022-03-30 2022-03-30 一种网络数据的处理系统及方法

Publications (2)

Publication Number Publication Date
CN114710513A true CN114710513A (zh) 2022-07-05
CN114710513B CN114710513B (zh) 2024-03-08

Family

ID=82171544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210333210.7A Active CN114710513B (zh) 2022-03-30 2022-03-30 一种网络数据的处理系统及方法

Country Status (1)

Country Link
CN (1) CN114710513B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599502A (zh) * 2022-10-17 2023-01-13 麒麟软件有限公司(Cn) 基于虚拟机监控器的rtos网络共享方法
CN117472845A (zh) * 2023-12-27 2024-01-30 南京翼辉信息技术有限公司 一种多核网络共享系统及其控制方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060901A (zh) * 2016-05-17 2016-10-26 深圳芯智汇科技有限公司 嵌入式无线网络系统及其接入无线网络的方法
CN107071813A (zh) * 2017-04-21 2017-08-18 桂林电子科技大学 基于BeagleBone‑Black的Ad‑Hoc路由协议验证系统
CN107577185A (zh) * 2017-09-14 2018-01-12 浙江国自机器人技术有限公司 一种任务执行方法及基于多核处理器的控制器
CN213277033U (zh) * 2020-10-28 2021-05-25 山东万腾电子科技有限公司 一种用于教育实训的多处理器工业物联网网关
CN113239348A (zh) * 2021-04-21 2021-08-10 北京邮电大学 多核冗余系统
CN113312299A (zh) * 2021-04-12 2021-08-27 北京航空航天大学 一种多核异构域控制器核间安全通信系统
CN113364856A (zh) * 2021-06-03 2021-09-07 奥特酷智能科技(南京)有限公司 一种基于共享内存及异构处理器的车载以太网系统
CN113407247A (zh) * 2021-07-16 2021-09-17 上海金脉电子科技有限公司 基于多核处理器的双系统启动方法
CN214225918U (zh) * 2021-03-10 2021-09-17 山东行成电子科技有限公司 一种基于异构双核的电力系统高速数据采集处理平台
CN113609059A (zh) * 2021-08-12 2021-11-05 经纬恒润(天津)研究开发有限公司 一种通信系统及通信方法
CN113971148A (zh) * 2021-06-04 2022-01-25 北京中航双兴科技有限公司 基于linux实时操作系统的PCIE实时网卡数据传输方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060901A (zh) * 2016-05-17 2016-10-26 深圳芯智汇科技有限公司 嵌入式无线网络系统及其接入无线网络的方法
CN107071813A (zh) * 2017-04-21 2017-08-18 桂林电子科技大学 基于BeagleBone‑Black的Ad‑Hoc路由协议验证系统
CN107577185A (zh) * 2017-09-14 2018-01-12 浙江国自机器人技术有限公司 一种任务执行方法及基于多核处理器的控制器
CN213277033U (zh) * 2020-10-28 2021-05-25 山东万腾电子科技有限公司 一种用于教育实训的多处理器工业物联网网关
CN214225918U (zh) * 2021-03-10 2021-09-17 山东行成电子科技有限公司 一种基于异构双核的电力系统高速数据采集处理平台
CN113312299A (zh) * 2021-04-12 2021-08-27 北京航空航天大学 一种多核异构域控制器核间安全通信系统
CN113239348A (zh) * 2021-04-21 2021-08-10 北京邮电大学 多核冗余系统
CN113364856A (zh) * 2021-06-03 2021-09-07 奥特酷智能科技(南京)有限公司 一种基于共享内存及异构处理器的车载以太网系统
CN113971148A (zh) * 2021-06-04 2022-01-25 北京中航双兴科技有限公司 基于linux实时操作系统的PCIE实时网卡数据传输方法及装置
CN113407247A (zh) * 2021-07-16 2021-09-17 上海金脉电子科技有限公司 基于多核处理器的双系统启动方法
CN113609059A (zh) * 2021-08-12 2021-11-05 经纬恒润(天津)研究开发有限公司 一种通信系统及通信方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599502A (zh) * 2022-10-17 2023-01-13 麒麟软件有限公司(Cn) 基于虚拟机监控器的rtos网络共享方法
CN115599502B (zh) * 2022-10-17 2023-03-21 麒麟软件有限公司 基于虚拟机监控器的rtos网络共享方法
CN117472845A (zh) * 2023-12-27 2024-01-30 南京翼辉信息技术有限公司 一种多核网络共享系统及其控制方法
CN117472845B (zh) * 2023-12-27 2024-03-19 南京翼辉信息技术有限公司 一种多核网络共享系统及其控制方法

Also Published As

Publication number Publication date
CN114710513B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
CN114710513B (zh) 一种网络数据的处理系统及方法
US10122576B2 (en) Intelligent role selection for dual-role devices
CN110365758A (zh) 一种协议自适应的物联网网关系统
EP2339792B1 (en) Method for accessing USB device attached to home gateway, home gateway and terminal
CN108449418A (zh) 一种混合云平台管理系统及方法
CN103546467B (zh) 在TCP/IP网络上应用Modbus RTU协议的方法
US20130235774A1 (en) Energy-saving mobile node control method using wireless multi-interfaces
CN103297306B (zh) 一种农业物联网系统
CN108199942A (zh) 汽车诊断方法、装置、设备、系统和诊断连接设备
CN113179316A (zh) 一种基于容器化设计的云边端协同计算系统和方法
CN101808132A (zh) 一种can总线系统中的应用层通讯方法
CN101442548A (zh) 一种固态硬盘的操作方法和固态硬盘
US20090213824A1 (en) Wireless local area network packet transmitting and receiving system
WO2018170206A1 (en) Internet of things architecture with a cloud-based integration platform
CN113242261B (zh) 共享数据网络的方法、装置、电子设备及存储介质
US20240036631A1 (en) Protocol state aware power management
CN111585817B (zh) 一种省电模式的切换方法及装置
CN100508653C (zh) 无线终端有线接入互联网的方法及系统
CN103558995A (zh) 一种存储控制芯片及磁盘报文传输方法
US20210320875A1 (en) Switch-based adaptive transformation for edge appliances
CN102455969B (zh) 一种Linux串口通信日志记录的方法
CN102089750B (zh) 将串行scsi阵列控制器连接至存储区域网络的系统
CN111061355A (zh) 一种供电数据获取方法及设备
CN104618124A (zh) 一种利用短信控制网线通断的系统及方法
CN100561408C (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