CN114338515B - 一种数据传输方法、装置、设备及存储介质 - Google Patents
一种数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114338515B CN114338515B CN202111496813.0A CN202111496813A CN114338515B CN 114338515 B CN114338515 B CN 114338515B CN 202111496813 A CN202111496813 A CN 202111496813A CN 114338515 B CN114338515 B CN 114338515B
- Authority
- CN
- China
- Prior art keywords
- request
- type
- data unit
- protocol data
- data
- 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 63
- 230000005540 biological transmission Effects 0.000 title claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 66
- 230000007246 mechanism Effects 0.000 claims description 18
- 238000012512 characterization method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据传输技术领域,本发明提供了一种数据传输方法、装置、设备及存储介质。该数据传输方法包括以下步骤:接收目标层发送的第一请求;该第一请求携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;该目标层包括应用层和通信硬件抽象层;若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由;该第一类型包括以太网类。采用本发明提供的数据传输方法能够降低CPU负载率,从而提高数据传输的实时性。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种数据传输方法、装置、设备及存储介质。
背景技术
随着汽车电子技术的飞速发展,汽车电子的需求也是朝着多样化、复杂化进行发展,车载微控制单元(Microcontroller Unit,MCU)软件的计算复杂性以及任务处理需求越来越多。这就对软件的实时性以及可靠性提出更高的要求,从而间接地对于车载MCU的多样性也有了更高的要求。
汽车电子面对当代全球化节能、安全和智能化的挑战,车用MCU应用领域呈现多样化的发展,每个挑战的背后都有汽车半导体的创新,各个领域对MCU的需求都不一样,相比其他领域对MCU应用的要求,汽车控制系统中对MCU的要求更加苛刻,既有速度和性能上的要求,又需要保证系统的可靠性和安全性,同时应用环境相对恶劣,应用较为复杂,为了应对各种复杂应用的场景,多核化需求变得越来越多,成为MCU未来发展的一个重要发展方向。
在AUTOSAR经典平台(CP)标准中,通信协议栈的模块比较多,包括底层的链路、协议层和应用层,以及底层各种链路的状态管理等,功能复杂以及任务比较重,对于中央处理器(central processing unit,CPU)以及内存的需求也比较大,CPU的平均负载相对于其他模块占比也比较重,对于车载应用实时性有一定的影响。因此,亟需解决的是,如何降低通信模块在单核CPU上的负载率,提升车载软件的实时性。
发明内容
本发明要解决的是现有技术中的CPU负载率高,数据传输实时性差的技术问题。
为解决上述技术问题,本申请于一方面公开了一种数据传输方法,其包括以下步骤:
接收目标层发送的第一请求;该第一请求携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;该目标层包括应用层和通信硬件抽象层;
若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由;该第一类型包括以太网类。
可选的,该接收目标层发送的第一请求;该第一请求携带有数据类型和路由信息之后,还包括:
若该数据类型为第二类型,则基于该目标对象的地址标识将该请求数据发送给目标对象;该第二类型包括总线类和串行通讯类。
可选的,该若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由,包括:
确定该请求数据的占用空间值;
若该请求数据的占用空间值大于第一预设阈值,则利用无锁队列方式将该第一请求发送给该第一协议数据单元路由;否则,利用立即转发模式将该第一请求发送给该第一协议数据单元路由。
可选的,该若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由之后,还包括:
确定该请求数据的实时性表征值;该实时性表征值用于表征该请求数据对实时性要求的程度;
若该请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收该第一协议数据单元路由发送第一处理结果;否则,利用异步机制接收该第一协议数据单元路由发送的第一处理结果。
可选的,该若该请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收该第一协议数据单元路由发送第一处理结果;否则,利用该无锁队列方式接收该第一协议数据单元路由发送的第一处理结果之后,还包括:
若接收到该第一协议数据单元路由发送的对该第一请求的第一处理结果,则验证该第一处理结果。
本申请于另一方面公开了一种数据传输方法,其包括以下步骤:
接收第二协议数据单元路由发送的第一请求;该第一请求中携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;
基于该目标对象的地址标识将该请求数据发送给该目标对象。
本申请于另一方面还公开了一种数据传输装置,其特征在于,包括:
接收模块,用于接收目标层发送的第一请求;该第一请求中携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;该目标层包括应用层和通信硬件抽象层;
发送模块,用于若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由;该第一类型包括以太网类。
本申请于另一方面还公开了一种数据传输装置,其包括:
接收模块,用于接收第二协议数据单元路由发送的第一请求;该第一请求中携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;
发送模块,用于基于该目标对象的地址标识将该请求数据发送给该目标对象。
本申请于另一方面还公开了一种计算机设备,该设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述的数据传输方法。
本申请于另一方面还公开了一种计算机存储介质,其特征在于,该计算机存储介质中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由处理器加载并执行以实现上述的数据传输方法。
采用上述技术方案,本申请提供的数据传输方法具有如下有益效果:
本申请提供的该数据传输方法,通过对接收的上下层的请求的数据类型进行划分,划分为以太网链路簇和其他通信链路簇(总线、串行通信),并通过将协议数据单元路由设置为两个处理核,即第一协议数据单元路由和第二协议数据单元路由,上述划分的链路簇分别对应一个协议数据单元,与现有技术中仅基于一个处理单元对数据进行处理相比,采用本申请的技术数据传输方法能够有效降低处理单元的负载率,达到一定的负载均衡的效果,提高车载软件的响应的实时性,也提高了用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种可选的应用场景图;
图2为本申请一种可选的数据传输方法的流程图;
图3为本申请提供的采用无锁队列方式入队的示意图;
图4为本申请另一种可选的数据传输方法的流程图;
图5为本申请一种可选的数据传输装置的结构示意图;
图6为本申请一种可选的数据传输方法的服务器的硬件结构框图。
以下对附图作补充说明:
10-终端或者服务器;20-协议数据单元路由器;201-第一协议数据单元路由;202-第二协议数据单元路由。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
如图1所示,图1为本申请一种可选的应用场景图。该场景包括终端或者服务器10,以及位于终端或者服务器10上的协议数据单元路由器(Protocol Data Unit Rutor,PDUR)20,协议数据单元路由器20包括第一协议数据单元路由201和第二协议数据单元路由202;第二协议数据单元路由202用于接收目标层发送的第一请求;该第一请求携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;该目标层包括应用层和通信硬件抽象层,若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由201;该第一类型包括以太网类。从而降低了第二协议数据单元路由的负载率,提高了车载软件的响应实时性。
可选的,终端可以是台式电脑,笔记本电脑、手机、平板电脑,数字助理、智能可穿戴设备等类型的实体设备;其中,智能可穿戴设备可以包括智能手环、智能手表、智能眼镜、智能头盔等。
该终端可以包括通过数据总线相连的显示屏、存储设备和处理器。所述显示屏用于待监控设备的虚拟图像以及待监控设备中各个子设备之间的连接关系,该显示屏可以是手机或者平板电脑的触摸屏等。存储设备用于存储拍摄装置的程序代码和数据资料等,该存储设备可以是终端的内存,也可以是智能媒体卡(smart media card)、安全数字卡(secure digital card)、快闪存储器卡(flash card)等储存设备。所述处理器可以是单核或多核处理器。
以下介绍本申请一种数据传输方法的具体实施例,图2为本申请一种可选的数据传输方法的流程图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该方法可以包括:
S201:接收目标层发送的第一请求;该第一请求携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;该目标层包括应用层和通信硬件抽象层。
可选的,协议数据单元路由器包括第一协议数据单元路由和第二协议数据单元路由,通过设置两个数据单元路由,从而降低了一个路由的负载率,提高了车载软件加载的实时性。对应的,将可以按照通信链路传输的数据类型将通信链路分为第一类型和第二类型,其中,第一类型可以是以太网类,以太网协议栈对于协议数据单元(Protocol Data Unit,PDU)的处理较为复杂,处理流程耗时,对于任务的实时性影响比较大,从而将以太网类对应的通信链路划分到第一协议数据单元路由进行处理,可以提高整体协议数据单元路由器对数据的处理效率;第二类型可以是总线类和串行通讯类,即分别对应控制器局域网络(Controller Area Network,CAN)和串行通讯网络(Local Interconnect Network,LIN)车载网络的通信簇,将第二类型对应的通信链路划分到第二协议数据单元路由进行处理,但是并没有对底层的微控制器抽象层(MCAL)进行具体的划分,MCAL的资源对于上述两个协议数据单元路由来说是公开的,所以对于同一种通信链路的访问不支持并发重入,需要加锁进行保护。
在本实施例中,将以第二协议数据单元路由为执行主语进行阐述。
可选的,上述目标层可以是协议数据单元路由器的上层或者下层,例如,上层的应用层,下层的通信硬件抽象层。
需要说明的是,本申请提供的该数据传输方法的基本架构是AUTOSAR经典平台,当然,为了实现本申请的数据传输,基于上述图1的阐述可以知道,本申请的数据传输方法是基于对通信链路以及协议数据单元路由器划分形成的多核架构来实现的。
S202:若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由;该第一类型包括以太网类。
于一种可能的实施方式中,步骤S202可以具体阐述为:确定该请求数据的占用空间值;若该请求数据的占用空间值大于第一预设阈值,则利用无锁队列方式将该第一请求发送给该第一协议数据单元路由;否则,利用立即转发模式将该第一请求发送给该第一协议数据单元路由。这里是考虑了整个处理周期,对于较长的报文,即请求数据,处理时间可能比较长,就需要评估整个处理时间,避免出现中断溢出(无响应)的问题,因此,当请求数据的占用空间值较小时,可以固定缓存的大小,可以采用ringbuff(环形队列)机制,其对于读与写是可以实现完全无锁机制,但是不支持写并发,或者读并发,需要加锁进行保护;实际上,对于占用空间值较大的请求数据并且需要缓存,如果再使用固定长度的ringbuff方式,则会造成处理时间较长,甚至出现上述中断溢出的情况,所以对于以太网帧报文长度较长的PDU,采用队列链表方式进行管理,即无锁队列的方式,利用原子操作中的比较和交换(compare and Swap,CAS)原子操作实现完全无锁的入队以及出队的操作。
参见图3所示,图3为本申请提供的采用无锁队列方式入队的示意图。当获取到第一请求后,需要先申请缓存块,再对第一请求的数据进行校验,并将该数据拷贝到缓存块中,可选的,可以采用奇偶校验或者循环冗余校验(Cyclic Redundancy Check,CRC)对第一请求的数据进行校验。
后续将进行入队操作,获取TAIL指针,比较TAIL->next是否为NULL,如果是,则将当前第一请求的数据指针赋值给TAIL->next,完成对TAIL指针的赋值,即完成入队操作。
需要说明的是,对TAIL指针的NEXT成员进行赋值,主要是使用基于原子操作atomic_compare_exchange_strong函数实现,这个原子操作函数包括两个操作,对值进行判断,外加赋值操作,整个流程都是原子的。当有两个请求分配给第一协议数据单元路由,且这两个请求的报文长度均较大,则可以采用上述无锁队列的方式对这两个请求进行处理,在申请缓存块以及数据校验拷贝的过程属于互斥操作过程。如图3中描述的一样,利用这个原理,我们可以实现入队的无锁并发的操作,出队原理也是类似的。
在上述通信链路中数据通常是以PDU为单元进行数据传输的;可选的,还可以根据请求数据是否需要缓存来划分,当请求数据不需要缓存时,则可以采用上述立即转发模式将第一请求发送给第一协议数据单元路由,否则,采用上述无锁队列方式。
可选的,第二协议数据单元路由可以接收AUTOSAR COM层发送的交互层协议数据单元(Interaction Protocol Data Unit,IPDU),对于IPDU目标链路(例如SOMEIP/TP、Socket Adapter、UDP、TCP、IPV4、ETH INTERFACE、Eth Driver)是以太网类型的,则需要将接收到的请求发送给第一协议数据单元路由,在发送前需要先将发送的第一请求进行打包,并且挂到核间通信的无锁链表的Tail指针处,待第一协议数据单元路由进行处理。
于一种可能的实施方式中,步骤S201之后,该数据传输方法还包括:若该数据类型为第二类型,则基于该目标对象的地址标识将该请求数据发送给目标对象;该第二类型包括总线类和串行通讯类。本申请通过对数据类型进行分类,对于复杂的,处理时间较长的以太网类数据,直接将其分发给第一协议数据单元路由进行处理,从而降低了第二协议数据单元路由的资源消耗和负载率,从而可以提高对数据的处理效率。
可选的,上述步骤可以具体阐述为:若该数据类型为第二类型,则基于该目标对象的地址标识从路由信息列表中获取目标对象的地址,基于该目标对象的地址将该请求数据发送给目标对象;该第二类型包括总线类和串行通讯类。
可选的,该路由信息列表可以存储于第一协议数据单元路由中,也可以存储于第二协议数据单元路由中,还可以在两个数据单元路由中均存储。
于一种可能的实施方式中,步骤S202之后,该方法还包括:确定该请求数据的实时性表征值;该实时性表征值用于表征该请求数据对实时性要求的程度;若该请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收该第一协议数据单元路由发送第一处理结果;否则,利用异步机制接收该第一协议数据单元路由发送的第一处理结果。也就是说,对于实时性要求高的数据,采用软中断的方式,上述实时性要求高的数据可以是一些比较重要的数据,例如车辆故障信号等;而对于实时性要求不高的数据,则采用异步机制接收第一协议数据单元路由发送的第一处理结果。从而可以进一步提高对数据处理的实时性。
于一种可能的实施例中,上述第一处理结果可以是当第一协议数据单元路由将对应的请求发送给的目标对象后的发送完成的结果,从而使得当第二协议数据单元路由接收到第一协议单元路由发送完成的结果后,可以将其转发给对应的上层对象,以使其生成对应的响应反馈给应用层,以使用户了解当前请求的进程;于另一种可能的实施例中,该第一处理结果也可以是下文中的第二结果,即为目标对象发送的第二处理结果,该第二处理结果可以是目标对象基于第一请求生成的响应,也可以是目标对象接收到的其他对象的响应。
可选的,该异步通知机构可以为核间EVENT任务通知机制,可以通知第二协议数据单元路由该任务可以进行调度,进入运行队列等待处理。
于一种可能的实施方式中,上述接收到第一协议数据单元路由发送的第一处理结果之后,该方法还包括:
若接收到该第一协议数据单元路由发送的对该第一请求的第一处理结果,则验证该第一处理结果。
综上所述,在一个具体的实施例中,本申请提供的数据传输方法可以包括以下步骤:
1)系统主核(即第二协议数据单元路由)启动后,验证应用程序没有任何问题后,启动副核(即第一协议数据单元路由)。
2)主核对核间通信的管道进行初始化操作,并使能副核对应的软中断,以及PDUR多核服务对应的MAINTASK。
3)主核的PDUR模块等待接收上层以及下层发送过来的IPDU转发请求。
4)如果接收到的目标请求是副核对应的通信链路类型,则向主核发送分发转发请求,这里也需要根据发送类型进行区分,对于直接发送模式,则通过核间的通信ringbuff直接将请求的目标PDUR路由ID以及发送的PDU信息发送给副核,如果对应于需要buffer的发送模式,例如FIFO模式等,则可以利用无锁队列进行核间的数据通信。
5)完成核间数据发送之后,对于实时性要求较高的IPDU可以使用软中断的方式进行处理,对于优先级较低的IPDU则可以触发副核任务的EVENT事件,从而使副核任务进入运行队列等待执行,副核会根据事件类型进行相应的IPDU转发发送。
6)副核完成对应的IPDU的转发发送之后,可以直接通过核间通信buff向主核发送通知,已经发送完毕,主核收到对应的应答,并且确认。
而现有技术中,在上层向下多播发送,多播发送场景下,PDUR的处理单元需要向每个目标分别发送PDU,如果顺序发送的话,整体效率比较低。另一种是网关(1:n)转发模式,同样是近似于多播发送的场景,特别是对于TP网关FIFO模式,涉及到边收边发的场景,如果全部在同一个核上进行处理,整体CPU的压力还是比较大的,并且发送接收的实时性不高。而采用本申请的技术方案,则可以有效提高对数据处理的实时性。
实施例2
参阅图4,图4为本申请另一种可选的数据传输方法的流程图。本申请于另一方面公开了一种数据传输方法,其包括以下步骤:
S401:接收第二协议数据单元路由发送的第一请求;该第一请求中携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据。
在本实施例中,将以第一协议数据单元路由为执行主语进行阐述。
S402:基于该目标对象的地址标识将该请求数据发送给该目标对象。
可选的,步骤S402可以具体阐述为:根据该目标对象的地址标识从路由信息列表中确定出目标对象的地址;基于该目标对象地址将请求数据发送给目标对象。
可选的,步骤S402中将请求数据发送给目标对象的过程可以具体阐述为:确定该请求数据的占用空间值;若该请求数据的占用空间值大于第一预设阈值,则利用无锁队列方式将该第一请求发送给目标对象;否则,利用立即转发模式将该第一请求发送给目标对象路由。从而可以进一步提高数据处理的实时性。
为了在提高对整体数据处理的实时性的基础上,进一步提高对重要数据的处理实时性。可选的,在步骤S402之后,还可以根据请求数据实时性的情况,对第一数据协议单元路由的接收目标对象的第二处理结果的过程进行分类,具体过程如下:确定该请求数据的实时性表征值;该实时性表征值用于表征该请求数据对实时性要求的程度;若该请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收该目标对象发送的第二处理结果;否则,利用异步机制接收该目标对象发送的第二处理结果。
可选的,该第二处理结果可以是目标对象基于第一请求生成的响应,也可以是目标对象接收到的其他对象的响应,从而后续该响应可以经第一协议数据单元路由、第二协议数据单元路由发送给应用层,使得用户了解当前请求的进程和处理结果。
于另一种可选的实时方式中,为了提高第一数据协议单元路由的数据处理效率,上述对请求数据的占用空间值以及实时性表征值的判断过程均可以由第一协议数据单元路由进行,基于第一协议数据单元路由的判断结果可以直接触发第二协议数据单元路由对应的模式。
实施例3
参阅图5,图5为本申请一种可选的数据传输装置的结构示意图。本申请于另一方面还公开了一种数据传输装置,其特征在于,包括:
接收模块501,用于接收目标层发送的第一请求;该第一请求中携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;该目标层包括应用层和通信硬件抽象层;
发送模块502,用于若该数据类型为第一类型,则将该第一请求发送给第一协议数据单元路由;该第一类型包括以太网类。
于一种可能的实施方式中,该数据传输装置包括:
发送模块,用于若该数据类型为第二类型,则基于该目标对象的地址标识将该请求数据发送给目标对象;该第二类型包括总线类和串行通讯类。
于一种可能的实施方式中,该数据传输装置还包括:
确定模块,用于确定该请求数据的占用空间值;
发送模块,用于若该请求数据的占用空间值大于第一预设阈值,则利用无锁队列方式将该第一请求发送给该第一协议数据单元路由;否则,利用立即转发模式将该第一请求发送给该第一协议数据单元路由。
于一种可能的实施方式中,该数据传输装置包括:
确定模块,用于确定该请求数据的实时性表征值;该实时性表征值用于表征该请求数据对实时性要求的程度;
发送模块,用于若该请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收该第一协议数据单元路由发送第一处理结果;否则,利用异步机制接收该第一协议数据单元路由发送的第一处理结果。
于一种可能的实施方式中,该数据传输装置还包括:
验证模块,用于若接收到该第一协议数据单元路由发送的对该第一请求的第一处理结果,则验证该第一处理结果。
实施例4
本申请于另一方面还公开了一种数据传输装置,其包括:
接收模块,用于接收第二协议数据单元路由发送的第一请求;该第一请求中携带有数据类型和路由信息;该路由信息包括目标对象的地址标识和请求数据;
发送模块,用于基于该目标对象的地址标识将该请求数据发送给该目标对象。
可选的,该数据传输装置还包括:
确定模块,用于确定该请求数据的占用空间值;
发送模块,用于若该请求数据的占用空间值大于第一预设阈值,则利用无锁队列方式将该第一请求发送给目标对象;否则,利用立即转发模式将该第一请求发送给目标对象。从而可以进一步提高数据处理的实时性。
可选的,该数据传输装置包括:
确定模块,用于确定该请求数据的实时性表征值;该实时性表征值用于表征该请求数据对实时性要求的程度;
发送模块,用于若该请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收该目标对象发送的第二处理结果;否则,利用异步机制接收该目标对象发送的第二处理结果。
实施例5
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图6是本申请一种可选的数据传输方法的服务器的硬件结构框图。如图6所示,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)610(中央处理器610可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器630,一个或一个以上存储应用程序623或数据622的存储介质620(例如一个或一个以上海量存储设备)。其中,存储器630和存储介质620可以是短暂存储或持久存储。存储在存储介质620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器610可以设置为与存储介质620通信,在服务器600上执行存储介质620中的一系列指令操作。服务器600还可以包括一个或一个以上电源660,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口640,和/或,一个或一个以上操作系统621,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器600的通信供应商提供的无线网络。在一个实例中,输入输出接口640包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口640可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
本申请的实施例还提供了一种电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集由处理器加载并执行以实现如上述的数据传输方法。
本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种数据传输方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述数据传输方法。
可选的,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.一种数据传输方法,其特征在于,应用于终端或者服务器上的协议数据单元路由器,协议数据单元路由器包括第一协议数据单元路由和第二协议数据单元路由;包括以下步骤:
所述第二协议数据单元路由接收目标层发送的第一请求;所述第一请求携带有数据类型和路由信息;所述路由信息包括目标对象的地址标识和请求数据;所述目标层包括应用层和通信硬件抽象层;
若所述数据类型为第一类型,则将所述第一请求发送给第一协议数据单元路由;所述第一类型包括以太网类;
若所述数据类型为第二类型,则基于所述目标对象的地址标识将所述请求数据发送给目标对象;所述第二类型包括总线类和串行通讯类;
所述若所述数据类型为第一类型,则将所述第一请求发送给第一协议数据单元路由之后,还包括:
确定所述请求数据的实时性表征值;所述实时性表征值用于表征所述请求数据对实时性要求的程度;
若所述请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收所述第一协议数据单元路由发送第一处理结果;否则,利用异步机制接收所述第一协议数据单元路由发送的第一处理结果;所述异步机制为核间EVENT任务通知机制。
2.根据权利要求1所述的数据传输方法,其特征在于,所述若所述数据类型为第一类型,则将所述第一请求发送给第一协议数据单元路由,包括:
确定所述请求数据的占用空间值;
若所述请求数据的占用空间值大于第一预设阈值,则利用无锁队列方式将所述第一请求发送给所述第一协议数据单元路由;否则,利用立即转发模式将所述第一请求发送给所述第一协议数据单元路由。
3.根据权利要求1所述的数据传输方法,其特征在于,所述若所述请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收所述第一协议数据单元路由发送第一处理结果;否则,利用所述异步机制方式接收所述第一协议数据单元路由发送的第一处理结果之后,还包括:
若接收到所述第一协议数据单元路由发送的对所述第一请求的第一处理结果,则验证所述第一处理结果。
4.一种数据传输装置,其特征在于,部署于终端或者服务器上的协议数据单元路由器,协议数据单元路由器包括第一协议数据单元路由和第二协议数据单元路由;所述装置包括:
接收模块,用于接收目标层发送的第一请求;所述第一请求中携带有数据类型和路由信息;所述路由信息包括目标对象的地址标识和请求数据;所述目标层包括应用层和通信硬件抽象层;所述接收模块设于所述第二协议数据单元路由中;
发送模块,用于若所述数据类型为第一类型,则将所述第一请求发送给第一协议数据单元路由;所述第一类型包括以太网类;若所述数据类型为第二类型,则基于所述目标对象的地址标识将所述请求数据发送给目标对象;所述第二类型包括总线类和串行通讯类;还用于若所述请求数据的实时性表征值大于等于第二预设阈值,则利用软中断的方式接收所述第一协议数据单元路由发送第一处理结果;否则,利用异步机制接收所述第一协议数据单元路由发送的第一处理结果;所述异步机制为核间EVENT任务通知机制;
确定模块,用于确定所述请求数据的实时性表征值;所述实时性表征值用于表征所述请求数据对实时性要求的程度。
5.一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-3任一所述的数据传输方法。
6.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-3任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111496813.0A CN114338515B (zh) | 2021-12-09 | 2021-12-09 | 一种数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111496813.0A CN114338515B (zh) | 2021-12-09 | 2021-12-09 | 一种数据传输方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338515A CN114338515A (zh) | 2022-04-12 |
CN114338515B true CN114338515B (zh) | 2023-08-22 |
Family
ID=81050288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111496813.0A Active CN114338515B (zh) | 2021-12-09 | 2021-12-09 | 一种数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338515B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102887123A (zh) * | 2012-10-11 | 2013-01-23 | 吉林大学 | 一种全线控电动汽车中央控制器及其控制方法 |
CN103377081A (zh) * | 2012-04-27 | 2013-10-30 | 沈阳高精数控技术有限公司 | 嵌入式数控系统双核芯片和外设间中断机制的实现方法 |
WO2015081541A1 (zh) * | 2013-12-05 | 2015-06-11 | 华为技术有限公司 | 一种数据传输的方法、设备和系统 |
CN106209506A (zh) * | 2016-06-30 | 2016-12-07 | 瑞斯康达科技发展股份有限公司 | 一种虚拟化深度包检测流量分析方法及系统 |
CN106775659A (zh) * | 2016-11-28 | 2017-05-31 | 四川航天系统工程研究所 | 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法 |
US10210092B1 (en) * | 2009-09-21 | 2019-02-19 | Mellanox Technologies, Ltd. | Managing cache access and streaming data |
CN111107586A (zh) * | 2019-12-24 | 2020-05-05 | 广东机电职业技术学院 | 一种bbu前传数据的处理方法及系统 |
CN111190854A (zh) * | 2019-12-31 | 2020-05-22 | 京信通信系统(中国)有限公司 | 通信数据处理方法、装置、设备、系统和存储介质 |
CN112087532A (zh) * | 2020-08-28 | 2020-12-15 | 中国移动通信集团黑龙江有限公司 | 信息获取方法、装置、设备及存储介质 |
CN112463715A (zh) * | 2020-12-09 | 2021-03-09 | 北京四方继保工程技术有限公司 | 一种基于虚拟数据总线的核间通信方法及装置 |
WO2021128089A1 (zh) * | 2019-12-25 | 2021-07-01 | 华为技术有限公司 | 转发设备、网卡及报文转发方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101610828B1 (ko) * | 2009-09-23 | 2016-04-08 | 삼성전자주식회사 | 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법 |
-
2021
- 2021-12-09 CN CN202111496813.0A patent/CN114338515B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210092B1 (en) * | 2009-09-21 | 2019-02-19 | Mellanox Technologies, Ltd. | Managing cache access and streaming data |
CN103377081A (zh) * | 2012-04-27 | 2013-10-30 | 沈阳高精数控技术有限公司 | 嵌入式数控系统双核芯片和外设间中断机制的实现方法 |
CN102887123A (zh) * | 2012-10-11 | 2013-01-23 | 吉林大学 | 一种全线控电动汽车中央控制器及其控制方法 |
WO2015081541A1 (zh) * | 2013-12-05 | 2015-06-11 | 华为技术有限公司 | 一种数据传输的方法、设备和系统 |
CN106209506A (zh) * | 2016-06-30 | 2016-12-07 | 瑞斯康达科技发展股份有限公司 | 一种虚拟化深度包检测流量分析方法及系统 |
CN106775659A (zh) * | 2016-11-28 | 2017-05-31 | 四川航天系统工程研究所 | 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法 |
CN111107586A (zh) * | 2019-12-24 | 2020-05-05 | 广东机电职业技术学院 | 一种bbu前传数据的处理方法及系统 |
WO2021128089A1 (zh) * | 2019-12-25 | 2021-07-01 | 华为技术有限公司 | 转发设备、网卡及报文转发方法 |
CN111190854A (zh) * | 2019-12-31 | 2020-05-22 | 京信通信系统(中国)有限公司 | 通信数据处理方法、装置、设备、系统和存储介质 |
CN112087532A (zh) * | 2020-08-28 | 2020-12-15 | 中国移动通信集团黑龙江有限公司 | 信息获取方法、装置、设备及存储介质 |
CN112463715A (zh) * | 2020-12-09 | 2021-03-09 | 北京四方继保工程技术有限公司 | 一种基于虚拟数据总线的核间通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114338515A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628684B (zh) | 一种基于dpdk的报文处理方法及计算机设备 | |
KR101502808B1 (ko) | 단일 모뎀 보드 상의 개선된 멀티-셀 지원을 위한 방법 및 시스템 | |
CN109491801B (zh) | 微服务访问调度方法、装置、介质及电子设备 | |
US20190208009A1 (en) | Computing resource discovery and allocation | |
CN111078436B (zh) | 数据处理的方法、装置、设备及存储介质 | |
RU2610250C2 (ru) | Узел передачи и способ отчетности о статусе буфера | |
US8539489B2 (en) | System for dedicating a number of processors to a network polling task and disabling interrupts of the dedicated processors | |
US8539089B2 (en) | System and method for vertical perimeter protection | |
CN111221638A (zh) | 并发任务的调度处理方法、装置、设备和介质 | |
CN114928579A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN115562887A (zh) | 基于数据组包的核间数据通信方法、系统、设备及介质 | |
CN113055199B (zh) | 网关访问方法、装置及网关设备 | |
CN116266141A (zh) | 用于使用负载平衡指派和检查反重放序列号的方法和装置 | |
US20240205170A1 (en) | Communication method based on user-mode protocol stack, and corresponding apparatus | |
CN106131162B (zh) | 一种基于iocp机制实现网络服务代理的方法 | |
CN112702362B (zh) | Tcp/ip协议栈的增强方法、装置、电子设备及存储介质 | |
CN114338515B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
US20060026214A1 (en) | Switching from synchronous to asynchronous processing | |
WO2018106392A1 (en) | Technologies for multi-core wireless network data transmission | |
CN114915516A (zh) | 一种通信方法及装置 | |
US7290055B2 (en) | Multi-threaded accept mechanism in a vertical perimeter communication environment | |
CN113765819A (zh) | 资源访问方法、装置、电子设备及存储介质 | |
CN113271229B (zh) | 设备控制方法及装置、存储设备、安全设备、交换机、路由器及服务器 | |
CN117278505B (zh) | 一种raid卡节点之间的消息传输方法、系统、设备以及介质 | |
CN117591295A (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 |