CN117751555A - 一种任务处理方法及装置 - Google Patents
一种任务处理方法及装置 Download PDFInfo
- Publication number
- CN117751555A CN117751555A CN202180100870.4A CN202180100870A CN117751555A CN 117751555 A CN117751555 A CN 117751555A CN 202180100870 A CN202180100870 A CN 202180100870A CN 117751555 A CN117751555 A CN 117751555A
- Authority
- CN
- China
- Prior art keywords
- task
- message
- ethernet
- network
- executed
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 117
- 230000035945 sensitivity Effects 0.000 claims description 91
- 238000012545 processing Methods 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 64
- 230000001960 triggered effect Effects 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 34
- 230000006870 function Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提出了一种任务处理方法及装置。本申请提出的技术方案中,第一设备在接收到符合第一通信协议标准的第一报文后,将用于指示第一报文转换为符合第二通信协议标准的第二报文的第一任务添加到事件触发任务调度队列中,实现了使用基于事件触发的方式减少了第一设备执行第一任务的时间,进一步地,减少了通信时的传输延。
Description
本申请涉及汽车领域,并且,更具体地,涉及一种任务处理方法及装置。
在以太网为主干并兼容控制器局域网络(controller area network,CAN)和局域互联网络(local interconnect network,LIN)的车载网络通信系统中,当位于CAN或LIN中的车载设备的数据需要传输给以太网中的车载设备时,需要网关设备执行报文转换任务,例如将符合CAN通信协议或LIN通信协议的报文转换为能够在以太网传输的报文,因此,网关设备执行报文转换任务的时长对整个车载网络通信系统的数据通信时长是非常关键的。
目前,网关设备主要是通过周期性调度的方法来执行报文转换任务以及转发转换得到的报文,该周期性调度是指通过定时器周期性的唤醒任务。但是,因为定时器的定时太长,所以会导致报文从CAN或LIN网络中的车载设备传输至以太网中的车载设备时的传输时延较大。
发明内容
本申请提供一种任务处理方法及装置,可以降低报文从CAN或LIN网络中的车载设备传输至以太网中的车载设备的传输时延。
第一方面,本申请实施例提供一种任务处理方法,应用于车载网络通信系统,该方法包括:第一设备接收第二设备发送的第一报文,第一报文为符合第一通信协议标准的报文;第一设备在第一设备的事件触发任务调度队列中添加第一任务,第一任务用于指示将第一报文转换为第二报文,第二报文为符合第二通信协议标准的报文。
本实施例提供的任务处理方法,第一设备在接收到第二设备发送的第一报文后,将用于指示第一报文转换为第二报文的第一任务添加到事件触发任务调度队列中,从而使用基于事件触发的方式减少了第一设备执行该第一任务的时间,进一步地,减少了传输时延。
可以理解的是,在现有技术中,如果第一设备想要执行第一任务,其必须等到定时器的时长到时才可以执行,如果该定时器的时长设置的太长,就会导致该第一任务一直处于等待被执行的状态,从而增加了第一设备执行第一任务的时延,进一步地,导致通信时的传输时延的增大。而在本方法中,该第一任务的执行不需要通过定时器的限制,因此减少了通信时的传输时延。
结合第一方面,在一种可能的实现方式中,第一报文中包括第一字段,第一字段用于指示第一任务的时延敏感程度;第一设备在第一设备的事件触发任务调度队列中添加第一任务,包括:第一设备根据第一任务的时延敏感程度,将第一任务添加到事件触发任务调度队列,事件触发任务调度队列中被执行顺序在前的任务的时延敏感程 度大于或等于被执行顺序在后的任务的时延敏感程度。
本实施例通过将每一个任务的时延敏感的程度与事件触发任务调度队列中的用于表示任务的处理函数的先后顺序关联的方法,能够确定不同敏感程度的任务在执行时的优先级,即可以确定每一个任务在事件触发任务调度队列中的位置,从而可以对时延敏感程度越高的任务先执行。
结合第一方面,在一种可能的实现方式中,第一报文的时延敏感程度为最高敏感时,所述方法还包括:第一设备中止正在执行的第二任务,执行第一任务。
结合第一方面,在一种可能的实现方式中,第一报文的时延敏感程度为最高敏感时,所述方法还包括:第一设备执行完当前正在执行的第二任务后,执行第一任务。
结合第一方面,在一种可能的实现方式中,第一设备将第一报文转换为第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值。
本实施例提供的任务处理方法,由于限制了第一报文转换为第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值,因此可以减少第一设备执行程序代码的时间,从而可以减少第一报文转换为第二报文的时间,进一步地,能够减少通信时的传输时延。
结合第一方面,在一种可能的实现方式中,第一设备在没有硬中断的内核上执行第一任务。
本实施例提供的任务处理方法,由于第一设备是在没有硬中断的内核上执行第一任务的,因此不会出现第一设备在内核上执行该第一任务时,由于某一个硬中断而中断对第一任务的执行的情况,可以避免硬中断导致的第一任务的处理时长变长,即第一报文的数据通信时延变长的问题。也就是说,本实施例的方法可以通过在没有硬中断的内核上执行第一任务的方式来减少第一报文通信时的传输时延。
结合第一方面,在一种可能的实现方式中,当第一任务的处理时延要求小于第一时间阈值时,所述方法还包括:第一设备限制时间触发任务调度队列中与第一任务的时延敏感程度相同的任务的个数。
示例性地,第一任务在事件触发任务调度队列中的顺序与第一任务在第一设备的传输时延最大值满足如下关系:
其中,T0为第一任务的传输时延最大值,t
00为第一任务的处理时间,t
j为事件触发任务调度队列中顺序为j的任务的处理时间,m为第一任务在事件触发任务调度队列中的顺序。
结合第一方面,在一种可能的实现方式中,任务处理方法还包括:当第一任务的执行还需要第三报文时,所述第三报文符合第一通信协议且不同于第一报文,所述方法还包括:第一设备根据第三报文的历史最新值和第一报文执行第一任务。
该方法中,第一设备通过使用第三报文的历史最新值,可以减少第一设备在执行第一任务时,由于第三报文还没到而导致的第一设备执行第一任务的时延,从而减小了通信时的传输时延。
结合第一方面,在一种可能的实现方式中,车载网络通信系统包括以下任意一种: 由控制器局域网络CAN和以太网络组成的通信系统,或由局域互联网络LIN和以太网络组成的通信系统。
结合第一方面,在一种可能的实现方式中,当车载网络通信系统由CAN和以太网络组成时,第一报文为CAN报文,第二报文为以太报文。
结合第一方面,在一种可能的实现方式中,当车载网络通信系统由LIN和以太网络组成时,第一报文为LIN报文,第二报文为以太报文。
第二方面,本申请实施例提供一种任务处理装置,该装置应用于第一设备,该装置包括:接收模块,用于接收第二设备发送的第一报文,所述第一报文为符合第一通信协议标准的报文;处理模块,用于在第一设备的事件触发任务调度队列中添加第一任务,第一任务用于指示将第一报文转换为第二报文,第二报文为符合第二通信协议标准的报文。
结合第二方面,在一种可能的实现方式中,第一报文中包括第一字段,第一字段用于指示所述第一任务的时延敏感程度;相应地,处理模块具体用于:根据第一任务的时延敏感程度,将第一任务添加到事件触发任务调度队列,事件触发任务调度队列中被执行顺序在前的任务的时延敏感程度大于或等于被执行顺序在后的任务的时延敏感程度。
结合第二方面,在一种可能的实现方式中,第一报文的时延敏感程度为最高敏感时,处理模块还用于:中止第一设备正在执行的第二任务,执行第一任务。
结合第二方面,在一种可能的实现方式中,第一报文的时延敏感程度为最高敏感时,所述处理模块还用于:第一设备执行完当前正在执行的第二任务后,执行第一任务。
结合第二方面,在一种可能的实现方式中,第一设备将第一报文转换为第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值。
结合第二方面,在一种可能的实现方式中,处理模块还用于:在没有硬中断的内核上执行第一任务。
结合第二方面,在一种可能的实现方式中,当第一任务的处理时延要求小于第一时间阈值时,所述处理模块还用于:限制时间触发任务调度队列中与第一任务的时延敏感程度相同的任务的个数。
结合第二方面,在一种可能的实现方式中,当第一任务的执行需要第三报文时,第三报文符合第一通信协议且不同于第一报文,所述处理模块还用于:根据第三报文的历史最新值和第一报文执行第一任务。
结合第二方面,在一种可能的实现方式中,车载网络通信系统包括以下任意一种:由控制器局域网络CAN和以太网络组成的通信系统,或由局域互联网络LIN和以太网络组成的通信系统。
结合第二方面,在一种可能的实现方式中,当车载网络通信系统为CAN和以太网络组成时,第一报文为CAN报文,第二报文为以太报文。
结合第二方面,在一种可能的实现方式中,当车载网络通信系统为LIN和以太网络组成时,第一报文为LIN报文,第二报文为以太报文。
第三方面,本申请提供一种任务处理装置,包括至少一个处理器和存储器,处理 器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时,使得装置执行如第一方面或其中任意一种可能的实现方式所述的方法。
第四方面,本申请提供一种任务处理装置,所述计算机可读介质存储用于计算机执行的程序指令,该程序指令包括用于执行第一方面或其中任意一种可能的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品中包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得所述计算机实现如第一方面或其中任意一种可能的实现方式所述的方法。
其中,第二方面至第五方面中任一种实现方式所带来的技术效果可参见上述第一方面的任一种可能的实现方法所带来的技术效果,不予赘述。
图1为本申请应用场景的结构示意图;
图2为本申请应用场景的一种示例性结构图;
图3为本申请一个实施例提供的任务处理方法的示意性流程图;
图4为本申请另一个实施例提供的一种第一设备的软件架构示意图;
图5为本申请一个实施例提供的任务处理装置的结构示意图;
图6为本申请另一个实施例提供的任务处理装置的结构示意图。
随着汽车领域自动驾驶、数字网联以及电动化的进程加快,汽车内部部件之间、以及汽车与外部网络之间的互联需求越来越丰富。因此,为了解决汽车中各个车载设备之间的数据交换、实现数据共享并尽量避免过多占用有限的车辆空间,在车辆系统中引入车载网络通信技术成为必然的选择。
控制器局域网络(controller area network,CAN)和局域互联网络(local interconnect network,LIN)作为现场总线技术,已被广泛应用于汽车领域来实现汽车内部控制器、执行器和各检测设备间的数据通信。但随着线控以及多媒体等技术的发展,CAN和LIN已经无法满足带宽需求,以太网凭借实时性高、可扩展性强和通信数据量大在汽车应用中得到推广。若整个车载网络替换成以太网,需要完全替换原有传感器设备。由于CAN总线和LIN总线具有价格优势和传统兼容性,因此现在的车载网络的技术主流是以以太网为主干并兼容CAN和LIN。
在以太网为主干并兼容CAN和LIN的车载网络中,当位于CAN或LIN中的车载设备的数据需要传输给以太网中的车载设备时,需要网关设备执行报文转换任务,例如将符合CAN通信协议或LIN通信协议的报文转换为能够在以太网传输的报文。
下面,结合图1说明本申请实施例的应用场景。在此首先说明的是,本申请提供的应用场景仅是以以太网为主干并兼容CAN的车载网络作为示例,但并不构成对本申请应用场景的限制,例如该应用场景也可以是以太网为主干并兼容LIN的车载网络或者以太网为主干并兼容CAN和LIN的车载网络。
如图1所示,在目前的汽车技术领域,汽车10内部会携带种类繁多的车载设备11, 并通过车载设备11实现不同的功能。例如,车载设备11可以是电子控制单元(electronic control unit,ECU)。而由于车载设备11的软件和硬件通常可以独立于汽车设置,为了方便统一对汽车10内的车载设备11进行管理,来自国际标准化组织(international organization for standardization,ISO)的国际标准ISO 11898:控制器局域网络(controller area network,CAN)协议技术得到了广泛应用。其中,CAN协议技术是目前车内通信的主要通信协议,CAN协议技术要求车载设备11均接入CAN总线中,并采用CAN协议进行通信,在如图1所示的示例中,车载设备A,车载设备B......车载设备X均支持CAN协议,并接入CAN总线中,从而构建得到包括CAN总线以及车载设备A,车载设备B......车载设备X的车载网络,通过该车载网络能够实现对汽车10内的车载设备11进行管理。可选地,在如图1所示的实施例的示例中,所述的CAN总线包括但不限于:汽车10的动力系统CAN总线、舒适系统CAN总线、车身系统CAN总线和信息娱乐系统CAN总线等。
同时,随着通信技术以及汽车技术的不断发展,越来越多能够连接互联网的车载设备11被汽车10的生产商或者汽车10的用户接入到汽车10内部的车载网络中,从而通过连接互联网的车载设备为汽车及其用户提供更多的例如导航、远程系统升级和自动驾驶等功能。而能够连接互联网的车载设备11需要支持以太网协议以接入互联网,如果支持以太网协议的车载设备11直接接入汽车内部的CAN总线中,无法与其他支持CAN协议的车载设备11进行通信。因此,汽车10内部引入了交换器12和网关13,来实现支持以太网协议的车载设备11和支持CAN协议的车载设备11之间的通信。例如,在图1所示的示例中,车载设备1,车载设备2......车载设备x支持以太网协议,车载设备A,车载设备B……车载设备X均支持CAN协议,交换器12用于对支持以太网协议的数据进行报文交换功能;使得车载设备1,车载设备2......车载设备x将以太网协议的通信数据通过交换器12发送至网关13后,网关13用于将以太网协议的通信数据转换为CAN协议的通信数据后发送给CAN总线,使得车载设备A,车载设备B......车载设备X中对应的车载设备能够通过CAN总线接收到CAN协议的通信数据;或者,车载设备A,车载设备B......车载设备X可以将CAN协议的通信数据发送至网关13,网关13用于将CAN协议的通信数据转换为以太网协议的通信数据发送至交换器12,使得交换器12将以太网协议的通信数据发送至车载设备1,车载设备2……车载设备x中对应的车载设备。
对于图1所示的汽车10,当位于CAN总线上的某个车载设备的数据需要共享给位于以太网网络中的某个车载设备时,如何减少该数据从CAN网络上的车载设备到以太网网络中的某个车载设备通信时的传输时延是一个亟待解决的技术问题。
作为一种示例,如图2所示,主干网络是整车数据中心(vehicle data center,VDC)201、移动数据中心(mobile data center,MDC)202、车辆集成控制单元(vehicle integrated unit,VIU)203之间的高速以太网络,VIU1至VIU4又会通过CAN网络以接入不支持以太通信的电机控制单元204。其中,VIU可以认为是该示例的车载网络中的网关设备,能够将符合CAN协议的报文转换成符合以太协议的报文。在该车载网络中,电机控制单元204的数据可能需要共享给远端的控制器VDC和MDC,当该数据在车载网络中传输时,如何减少该数据的传输时延成为一个关键的问题。
可以理解的是,在数据传输过程中,网关设备执行报文转换任务的时长对整个车载网络的数据通信的传输时延是非常关键的。
目前,网关设备主要是通过周期性调度的方法来执行报文转换任务以及转发转换得到的报文,该周期性调度是指通过定时器周期性的唤醒任务,即只有当定时器时间到时,网关才可以处理任务。
如果定时器定时太长,网关设备就可能需要等待,从而增加了网关设备执行报文转换任务的时长,进一步地,导致数据通信的传输时延增大。因此,如果想要减少数据通信的传输时延,只能将定时器的时长缩短,但定时器时长的缩短是以消耗中央处理器(central processing unit,CPU)的资源为代价的,因为无论该网关设备是否需要执行报文转换任务,都会在定时器的时间到时被调度一次,从而消耗中央处理器资源。
鉴于此,本申请实施例提供一种任务处理方法,该方法中,网关设备通过事件触发的方式来执行报文转换任务以及转发转换得到的报文,从而不会出现因为定时器定时太长而导致数据通信的传输时延增大,或者因为定时器定时太短而导致的消耗中央处理器资源增多的问题。
在此说明的是,本申请实施例对车载网络的具体软件架构不做限定。例如该车载网络的软件架构可以是面向服务的软件架构。
还在此说明的是,本申请实施例提供的方法除了可以应用于上述网关设备中,也可以应用于其他与网关设备具有类似作用的电子控制单元或交换器,只要该交换器或电子控制单元也是采用定时器进行任务处理的,那么也可以替换为本申请提出的任务处理方法,本申请实施例对此不做限定。
下面结合图3,对本申请提供的任务处理方法进行说明。具体地,本申请实施例提供的任务处理方法的执行主体,可以是图1所示的网关、也可以是交换器,又或者是车载网络中其他与网关具有类似作用的电子控制单元。本申请各实施例中,以执行主体为网关设备(以下实施例中称为第一设备)为例进行说明,而非对其进行限定。
图3所示为本申请一个实施例提供的任务处理方法。如图3所示,该方法包括S301、S302。
S301,第一设备接收第二设备发送的第一报文,所述第一报文为符合第一通信协议标准的报文。
本实施例中,第一设备设置在第二设备和第三设备之间,用于在第二设备与第三设备支持的通信协议不同的情况下,对第二设备通过第一设备向第三设备发送的第一报文进行协议转换。其中,第一报文满足第一通信协议,该第一报文具体可以是符合第一通信协议标准的报文,例如可以是CAN报文或者LIN报文。
本实施例中,当第二设备需要通过第一设备将第一报文传输至第三设备时,第二设备就需要向第一设备发送第一报文,则第一设备接收来自于第二设备发送的第一报文。
在此说明的是,本实施例对第一设备如何接收第一报文的形式不做限定。例如,第一设备可以通过其包括的某个芯片来接收第一报文。
示例性地,以图2所示的车载网络结构图为例,第一设备是车俩集成控制单元1,第二设备是电机控制单元,假设第三设备是VDC。那么,当电机控制单元需要通过车 俩集成控制单元1将CAN报文(相当于第一报文)传输至VDC时,电机控制单元就需要向车俩集成控制单元1发送CAN报文,则车俩集成控制单元1可以通过其包括的CAN控制器从CAN总线接收来自于电机控制单元发送的CAN报文。
S302,第一设备在第一设备的事件触发任务调度队列中添加第一任务,第一任务用于指示将第一报文转换为第二报文,第二报文为符合第二通信协议标准的报文。
本实施例中,事件触发任务调度队列中的任务都是基于事件触发的任务。其中,有关事件触发的详细描述可以参考相关技术,此处不再描述。
本实施例中,第一设备接收到第一报文时,由于第一报文是符合第一通信协议标准的报文,该第一报文是不能够在符合第二通信协议标准的网络中直接传输的,因此,第一设备为了能够将该第一报文传输到位于第二通信协议标准的某一个设备中,该第一报文就需要执行将符合第一通信协议标准的第一报文转换为符合第二通信协议标准的第二报文的任务,本实施例中也称为第一任务。
示例性地,以图2所示的车载网络结构图为例,第一设备接收到CAN报文时,需要将CAN报文转换为符合以太网协议标准的以太报文(也称为Ethe报文)。
本实施例中,在第一设备接收到该第一报文时,可以认为第一设备接收到了中断请求,此时,第一设备会将对应于转换第一报文至第二报文的第一任务添加到事件触发任务调度队列中。
可以理解的是,在第一设备将第一任务添加到事件触发任务调度队列后,第一设备就可以按照事件触发任务调度队列中的任务的排序逐个执行。此时,会有两种情况:
第一种:在第一设备将第一任务添加到事件触发任务调度队列后,事件触发任务调度队列中也没有其他任务,此时,相当于第一任务位于事件触发任务调度队列的第一位,那么此时的第一设备就可以直接执行该第一任务。
可以理解的是,这种情况下,在现有技术中,如果第一设备想要执行第一任务,其必须等到定时器的时长到时才可以执行,如果该定时器的时长设置的太长,就会导致第一设备一直等待,从而增加了第一设备执行第一任务的时延,进一步地,导致第一报文传输至符合第二通信协议标准的某个设备的传输时延的增大。而在该实施例中,该第一任务的执行不需要等待定时器就可以直接执行,因此减少了通信时的传输时延。
第二种:在第一设备接收到第一报文的同时,第一设备有可能还接收到了与该第一报文同时并发的多个报文,例如该第一设备中包括多个符合第一通信协议标准的控制器,那么第一设备就可以通过该多个控制器同时接收多个报文,此时,第一设备为了该多个报文都能够在第二通信协议标准的网络中传输,该第一设备就需要执行多个任务(包括第一任务)。此时,第一设备就会将该多个任务都加入到事件触发任务调度队列中,然后在执行任务时就会按照顺序依次执行。例如,事件触发任务队列中排列了10个任务,假设第一任务排在第五位,那么第一设备在执行完前四个任务后,就可以立马执行第一任务,然后在执行完第一任务之后,依次执行第6至10个任务。
可以理解的是,这种情况下,在现有技术中,当有多个任务时,对于每一个任务都会设置一个定时器的时长,第一设备会在某一个任务的定时器的时长到时执行该任务。举个例子,仍以上述10个任务为例,在现有技术中,假设该10个任务没有同时执行,那么会对应10个定时器的时长。此时,如果第一设备要执行第一任务,就需要 等到小于该第一任务的定时器的时长的所有任务执行完后并且该第一任务的时长到时才可以执行。还可以理解的是,这种情况下,如果每一个任务的定时器的时长设置的太长,就会导致第一设备执行第一任务时需要等待额外的时间。
例如,第一任务前面有4个任务,假设该4个任务中,第一设备会按照定时器的时长执行前4个任务。但是,如果在执行第一个任务时,第一个任务的定时器的时长也设置的比较大,那么就会出现执行第一个任务时,第一个任务的时延现象。这样,对于排在该任务后面的任务,也会因第一个任务的时延而出现时延,即增加了额外的时延。而在该实施例中,该第一任务的执行不需要等待额外的时间。因为各个任务的执行时按照顺序执行的,即前面任务执行完成后,就会立马执行下一个任务,而不需要定时器的限制。因此,在这种情况下,该实施例中的方法也可以降低通信时的传输时延的概率。
本申请实施例提供的任务处理方法,第一设备在接收到第二设备发送的第一报文后,将用于指示第一报文转换为第二报文的第一任务添加到事件触发任务调度队列中,从而使用基于事件触发的方式减少了第一设备执行该第一任务的时间,进一步地,减少了通信时的传输时延。
作为一个可选的实施例,在一种可实现方式中,第一设备在将第一任务加入到事件触发任务调度队列中时,可以根据第一任务的时延敏感的程度来确定将第一任务加入到事件触发任务调度队列中的哪一个位置,具体地,该方法包括:第一报文中包括第一字段,第一字段用于指示第一任务的时延敏感程度,示例性地,时延敏感程度包括以下任意一种:最高敏感、次高敏感、低敏感和/或不敏感;第一设备在第一设备的事件触发任务调度队列中添加第一任务,包括:第一设备根据第一任务的时延敏感程度,将第一任务添加到事件触发任务调度队列,事件触发任务调度队列中被执行顺序在前的任务的时延敏感程度大于或等于被执行顺序在后的任务的时延敏感程度。
其中,时延敏感程度可以认为是一个设备在向另一个设备进行数据通信时,对该数据传输的时延要求。例如,有些数据可能对于通信双方是非常关键的,那么就会要求该数据在传输的过程中时延尽可能的小。以包括CAN标准协议的网络和以太网标准协议的网络的智能汽车为例,例如位于以太网标准协议的网络中的某一个设备需要CAN标准协议的网络中的某一个设备的数据,且该数据对于智能汽车及时判断当前行驶环境是否安全是极其重要的,因此就需要该数据的传输时延必须非常小,从而能够及时做出判断。
本实施例中,第一任务的时延敏感程度可以反映第一报文的传输时延要求。可以理解的是,当第一任务的时延敏感程度越高时,代表该第一报文要求在传输的过程中时延尽可能小,那么该第一任务在事件触发任务调度队列中的排序越靠前。
本实施例中,为了能够确定第一任务对应的时延敏感程度,在一种实现方式中,可以在第一报文中包括第一字段,第一字段用于指示第一任务的时延敏感程度。
可以理解的是,在第一设备接收到第一报文的同时,第一设备有可能还接收到了与该第一报文同时并发的多个报文。这种情况下,第一设备为了该多个报文都能够在第二通信协议标准的网络中传输,第一设备就需要执行多个任务。此时,第一设备就可以基于每一个任务的时延敏感的程度来确定每一个任务在事件触发任务调度队列中 的位置。
作为一种示例,假设有5个任务,第1个任务的时延敏感程度最低,第3个任务的时延敏感程度最高,那么在将第1个任务和第3个任务添加到事件触发任务调度队列时,第3个任务排在第一位,第1个任务排到最后一位。这样,在第一设备执行这5个任务时,就会先执行排在第一位的第3个任务,最后执行排在最后一位的第1个任务。
本实施例通过将每一个任务的时延敏感的程度与事件触发任务调度队列中的用于表示任务的处理函数的先后顺序关联的方法,来确定不同敏感程度的任务在执行时的优先级,即确定每一个任务在事件触发任务调度队列中的位置,从而可以对时延敏感程度越高的任务先执行。
可以理解的是,当第一设备接收到第一报文,然后执行将第一报文转换为第二报文的第一任务时,此时第一设备可能存在正在执行某一个任务(本申请中称为第二任务)的情况。在这种情况下,本实施例中,一种可实施方式是:如果第一报文的时延敏感程度为最高敏感,第一设备可以中止正在执行的第二任务,执行第一任务。
该实施方式中,由于第一报文的时延敏感程度为最高敏感,也就是说,第一报文在传输过程中对时延的要求很高。此时,第一设备可以认为第一任务更需要先执行以减少第一报文的传输时延,因此,第一设备可以中止正在执行的二任务。
在另一种可实施方式中,第一设备可以在执行完当前正在执行的第二任务后,再执行第一任务。
在此说明的是,第一设备可以通过预配置的方式来确定在执行第一任务时,是使用中止正在执行的第二任务的方式还是执行完当前正在执行的第二任务后,再执行第一任务。
作为一个可选的实施例,第一设备将第一报文转换为第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值。
其中,预设的时间复杂度阈值例如可以是设定的第一设备执行程序代码的次数的最大值,又或者可以是一个具体的时间值,本申请实施例对此不做限定。
应理解,第一设备在执行第一任务时,第一任务实质上是由程序代码组成的,因此,第一设备执行第一任务的时间实质上包括第一设备执行程序代码的时间。
基于此,本实施例中,通过限制第一报文转换为第二报文的程序代码的时间复杂度小于或等于一个预设的时间复杂度阈值,可以减少第一设备执行程序代码的时间,从而可以减少第一报文转换为第二报文的时间,进一步地,能够减少第一报文的传输时延。
作为一个可选的实施例,第一设备在没有硬中断的内核上执行第一任务。
可以理解的是,第一设备中可以包括多个芯片或者其他控制器,每一个控制器都可能向第一设备发起中断请求,本实施例中,将第一设备接收到每一个控制器发起的中断请求称为硬中断。
通常,软中断可以被硬中断“中断”,但是硬中断不会被软中断“中断”。
鉴于此,本实施例中,通过将第一任务设置在没有硬中断的内核上,这样就不会出现第一设备在该内核上执行该第一任务时,突然由于某一个硬中断而中断对第一任 务的执行,因此可以避免硬中断导致的第一任务的处理时长变长的情况。
作为一个可选的实施例,第一任务在事件触发任务调度队列中的顺序与第一任务在第一设备的传输时延最大值满足如下关系:
其中,T0为第一任务的传输时延最大值,t
00为第一任务的处理时间,t
j为事件触发任务调度队列中顺序为j的任务的处理时间,m为第一任务在事件触发任务调度队列中的顺序。
在此说明的是,在车载网络里面,对于某一个任务,一般需要保证该任务能在一定的时间内完成。比如,以包括以太网和CAN网络的智能汽车为例,假设CAN网络的某个数据比较重要,该数据在传输到以太网时,需要经过网关设备将CAN报文转换为以太报文,若需要保证该数据能够在1秒内从CAN报文转换成以太报文,从而才可以保证整个智能汽车的安全运行。
而对于第一设备,如上述所述,在第一设备接收到第一报文的同时,第一设备有可能还接收到了与该第一报文同时并发的多个报文,那么第一设备为了该多个报文都能够在第二通信协议标准的网络中传输,该第一设备就需要执行多个任务(包括第一任务)。
可以理解的是,每一个任务的处理都是需要时间的。当第一任务与其他任务都被排到事件触发任务调度队列中时,有可能出现第一设备被排列到最后一个,即第一设备在执行任务时,最后执行第一任务。在这种情况下,本实施例为了能够保证第一任务的时延满足要求,通过限制第一设备的并发任务的个数。
本申请实施例提供的任务处理方法,通过限制与第一任务并发的任务的个数,从而可以满足第一任务的时延。
作为一个可选的实施例,当第一任务的执行还需要第三报文时,第三报文符合第一通信协议且不同于第一报文,此时,第一设备可以根据第三报文的历史最新值和第一报文执行第一任务。
可以理解的是,以包括CAN网络和以太网网络的自动驾驶汽车为例。在某个位于CAN网络中的设备将刹车信号传输给MDC时,第一设备就需要执行将刹车信号转换为能够在以太网传输的信号的任务,从而传输到MDC。但是有可能MDC在做出某一个决策时,光只有刹车信号还不够,例如还需要档位信息,在这种情况下,就需要将刹车信号与档位信息共同组成第一任务才是有意义的。因此,在实际场景中,有可能第一任务的执行除了需要第一报文外,还需要其他符合第一通信协议标准的报文(本实施例中称为第三报文),此时,就有可能出现第一设备在执行第一任务时,由于第三报文还没有被第一设备接收到,那么第一设备在执行第一任务时就会出现一直等待第三报文的情况。
本实施例中,第一设备通过使用第三报文的历史最新值,可以避免第一设备在执行第一任务时,由于第三报文还没到而导致的时延。
可选地,车载网络通信系统包括以下任意一种:由控制器局域网络CAN和以太网络组成的通信系统,或由局域互联网络LIN和以太网络组成的通信系统。
可选地,当车载网络通信系统由CAN和以太网络组成时,第一报文为CAN报文, 第二报文为以太报文。
可选地,当车载网络通信系统由LIN和以太网络组成时,第一报文为LIN报文,第二报文为以太报文
为便于理解,下面结合图4,以车载网络的软件架构是汽车开放系统架构(automotive open system architecture,Autosar)为例,示例性地说明本申请实施例中的上述方法。
图4为本申请实施例提供的一种第一设备的软件架构示意图。如图4所示,第一设备中包括软件组件(software component,SWC)模块401、运行时环境(run time environment,RTE)模块402、通信(也称为COM)模块403、协议数据单元路由(pdu router,PDU-R)模块404、CAN接口(也称为CANIF)模块405、CAN驱动模块406和内核操作系统(KernelOS)407、大数据通信(large data com,LDCOM)模块408、套接字适配器(socket adaptor,SocketA)模块409、传输控制/网际协议(transfer control protocol/internet protocol,TCP/IP)模块410、以太网接口(也称为EtherIF)模块411和以太网驱动(也称为EtherD)模块412。
其中,SWC模块401是Autosar中的一个重要概念。SWC模块401是封装了部分或者全部汽车电子功能的模块,包括了具体的功能实现以及与对应的描述。各个SWC模块401通过虚拟功能总线进行交互,从而形成一个Autosar应用软件。软件组件间通过端口(Port)进行交互。
RTE模块402作为应用软件层与基础软件层交互的桥梁,为软硬件分离提供了可能。RTE模块402可以实现软件组件间、基础软件间以及软件组件与基础软件之间的通信。RTE模块402封装了基础软件层的通信和服务,为应用层软件组件提供了标准化的基础软件和通信接口,使得应用层可以通过RTE接口函数调用基础软件的服务。此外,RTE模块402抽象了ECU之间的通信,即RTE模块402通过使用标准化的接口将其统一为软件组件之间的通信。由于RTE模块402的实现与具体ECU相关,所以必须为每个ECU分别实现。
COM模块403是Autosar通讯的重要组成部分,它提出了一个不同速率的总线网络之间进行数据交换的方法,为汽车控制单元应用软件提供了统一的通信环境,为内部和外部通信定义了公共的软件通信接口和行为,增强了应用软件模块的可移植性。
PDU-R模块404位于Autosar通讯架构的中间位置,其上层包括COM模块403,下层包括CanIf模块405等。
CanIf模块405提供了独特的接口来管理不同CAN硬件,如CAN控制器和CAN收发器。同时,基于物理CAN通道相关的CAN状态管理器模块可以控制多个底层内部和外部的CAN控制器或CAN收发器。CanIf模块405由与CAN硬件无关的任务组成。CanIf模块405满足PDU-R和COM栈上层通信模块的控制流和数据流要求:发送请求处理、发送确认、接收指示、错误通知和CAN控制器的启动/停止,从而唤醒或参与网络。
CAN驱动模块406可访问一个可能包含几个CAN控制器的CAN硬件单元。CAN驱动模块406是一个访问硬件资源的底层软件模块,其作用是执行硬件访问和为上层提供独立的硬件接口(这里能访问CAN模块的上层只有CanIf模块405)。
套接字适配器模块409是一个适配器层,将Autosar应用程序接口与标准套接字Autosar相匹配。该模块用于将Autosar中定义的协议数据单元通信转换成基于Socket的通信。
TCP/IP模块410是整个以太网设计和实现中比较复杂的模块,它包括了各个协议的封装和实现。
EtherIF模块411属于抽象层,它主要提供的相关的接口给TCP/IP模块410调用,同时该模块实现了对底层某些模块的控制接口的封装。
EtherD模块412是以太网的驱动程序,抽象了对以太网硬件的访问。
在图4所示的结构示意图中,第一设备可以通过CAN控制器从CAN总线接收一帧CAN报文;然后第一设备在中断响应中直接处理报文,通过CAN接口405和报文路由上报给COM模块403,然后COM模块403解析CAN报文帧为信号,COM模块403识别高时延敏感的报文,通过系统调用通知内核,内核立即将该CAN报文对应的任务排入到调度队列中,并且,如果该CAN报文的时延敏感程度为最高敏感,第一设备可以对当前正在执行的低优先级的任务立即中止执行也可以等待其执行完(由配置来决定采用哪种方式),从而达到实时启动任务的效果;最后,当SWC模块401处理完后,将SWC模块401的执行结果通过信号接口、信号封装、报文路由、SA、L3L4、ETher接口和Ether报文发送,从而可以传输到以太网中的另一个设备。
在此说明的是,当SWC模块401处理完后,将SWC模块401的执行结果通过信号接口、信号封装、报文路由、SA、L3L4、以太(ETher)接口和Ether报文发送的具体实现过程和详细描述可以参考相关技术,此处不再赘述。
在此说明的是,关于Autosar中的SWC模块401、RTE模块402、COM模块403、PDU-R模块404、CANIF模块405、CAN驱动模块406和内核407、以及信号接口、信号封装、报文路由、SA、L3L4、ETher接口和Ether报文发送的详细描述以及实现过程可以参考相关技术中的描述,此处不再赘述。
本实施例中,为了达到时延要求,可以在SWC中有如下具体实施约束:
1、根据服务对时延的敏感性区分出最高敏感、次高敏感、低敏感和不敏感四类,其中,针对不敏感报文对应的任务可以使用现有技术中的周期性任务调度的方式,本申请实施例对此不做限定。
2、在事件触发处理函数中按照对时延的敏感程度由高到低的顺序排列用于描述任务的服务函数调用。
3、为了保障时延敏感程度高的任务在调度时不被硬中断打断,将其部署在没有硬中断的核上。
4、若时延敏感程度为最高敏感的任务的处理时延的要求如果小于T0,约束其对应任务并发的事件个数要满足t00+t01(n-1)<T0,其中t00为排在最后一个的最高敏感的任务需要的处理时间,t01为排在最后一个任务之前的任意一个任务的处理时间,n为排在最后一个的最高敏感的任务的顺序。
5、若时延敏感程度为次高敏感的任务处理时延的要求如果小于T1,约束其对应任务并发的事件个数n需要满足t10+t11(n-1)<T1,其t10为排在最后一个的次高敏感的任务需要的处理时间,t11为排在最后一个任务之前的任意一个任务的处理时间,n为 排在最后一个的次高敏感的任务的顺序。
6、若时延敏感程度为低敏感的任务处理时延的要求如果小于T2,约束其对应任务并发的事件个数n需要满足t20+t21(n-1)<T2,其中t20为排在最后一个的低敏感的任务需要的处理时间,t21为排在最后一个任务之前的任意一个任务的处理时间,n为排在最后一个的低敏感的任务的顺序。
例性地,在实际应用中,若最高敏感服务处理时延要求为500微妙,那么为了保证时延敏感程度为最高敏感的任务的处理时延,第一设备可以接收的最高时延敏感的任务来自于最多2路CAN报文,当来自于1路CAN报文时对同一帧CAN报文抽象的任务个数最多2个,当来自于2路CAN报文时对同一帧CAN报文抽象的任务个数最多1个,保证并发的事件的个数最大为2。
7、高时延敏的任务的信号来自多帧报文时缓存多帧报文信号的最新值。
8、由于每个任务的处理时间与该任务的逻辑运算的复杂度有关,高时延敏感任务的运算逻辑复杂度根据时延的要求有所约束。
示例性地,表1为处理时间与逻辑运算的复杂度之间的一种示例性关系。
表1
9、将时延敏感程度稿的任务部署在单独的核上,设置最高优先级保证不被其它任务中断。
在此说明的是,上述1至9中的方法可以全部设置在SWC中,也可以部分设置在SWC中,本申请实施例对此不做限定。此外,上述1至9的方法的具体原理和描述可以参考本申请中前面的描述,此处不再赘述。
图5为本申请一个实施例提供的一种任务处理装置,应用于第一设备,所述装置500包括:接收模块501和处理模块502。
接收模块501,用于接收第二设备发送的第一报文,第一报文为符合第一通信协议标准的报文;处理模块502,用于在第一设备的事件触发任务调度队列中添加第一任务,第一任务用于指示将第一报文转换为第二报文,第二报文为符合第二通信协议标准的报文。
作为一种示例,接收模块501可以用于执行图3所述的方法中的第一设备接收第二设备发送的第一报文的步骤。例如,接收模块501用于执行S301。
作为另一种示例,处理模块502可以用于执行图3所述的方法中的第一设备在第一设备的事件触发任务调度队列中添加第一任务的步骤。例如,处理模块502用于执行S302。
在一种可能的实现方式中,第一报文中包括第一字段,第一字段用于指示第一任务的时延敏感程度;相应地,处理模块502具体用于:根据第一任务的时延敏感程度,将第一任务添加到事件触发任务调度队列,事件触发任务调度队列中被执行顺序在前的任务的时延敏感程度大于或等于被执行顺序在后的任务的时延敏感程度。
在一种可能的实现方式中,第一报文的时延敏感程度为最高敏感时,所述处理模块还用于:中止第一设备正在执行的第二任务,执行第一任务。
在一种可能的实现方式中,第一报文的时延敏感程度为最高敏感时,所述处理模块还用于:第一设备执行完当前正在执行的第二任务后,执行第一任务。
在一种可能的实现方式中,所述第一设备将所述第一报文转换为所述第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值。
在一种可能的实现方式中,处理模块502还用于:在没有硬中断的内核上执行第一任务。
在一种可能的实现方式中,当第一任务的处理时延要求小于第一时间阈值时,处理模块502还用于:限制时间触发任务调度队列中与第一任务的时延敏感程度相同的任务的个数。
在一种可能的实现方式中,当第一任务的执行需要第三报文时,第三报文符合第一通信协议且不同于第一报文,处理模块还用于:根据第三报文的历史最新值和第一报文执行第一任务。
在一种可能的实现方式中,第一报文为CAN报文,第二报文为以太报文。
在一种可能的实现方式中,第一报文为LIN报文,第二报文为以太报文。
图6为本申请另一个实施例提供的任务处理装置示意图。图6所示的装置可以用于执行前述任意一个实施例所述的方法。
如图6所示,本实施例的装置600包括:存储器601、处理器602、通信接口603以及总线604。其中,存储器601、处理器602、通信接口603通过总线604实现彼此之间的通信连接。
存储器601可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器601可以存储程序,当存储器601中存储的程序被处理器602执行时,处理器602用于执行图3或图4所示的方法的各个步骤。
处理器602可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请图3或图4所示的方法。
处理器602还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例图3或图4的方法的各个步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器602还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域 成熟的存储介质中。该存储介质位于存储器601,处理器602读取存储器601中的信息,结合其硬件完成本申请装置包括的单元所需执行的功能,例如,可以执行图3或图4所示实施例的各个步骤/功能。
通信接口603可以使用但不限于收发器一类的收发装置,来实现装置600与其他设备或通信网络之间的通信。
总线604可以包括在装置600各个部件(例如,存储器601、处理器602、通信接口603)之间传送信息的通路。
应理解,本申请实施例所示的装置600可以是电子设备,或者,也可以是配置于电子设备中的芯片。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (25)
- 一种任务处理方法,其特征在于,应用于车载网络通信系统,所述方法包括:第一设备接收第二设备发送的第一报文,所述第一报文为符合第一通信协议标准的报文;所述第一设备在所述第一设备的事件触发任务调度队列中添加第一任务,所述第一任务用于指示将所述第一报文转换为第二报文,所述第二报文为符合第二通信协议标准的报文。
- 根据权利要求1所述的方法,其特征在于,所述第一报文中包括第一字段,所述第一字段用于指示所述第一任务的时延敏感程度;所述第一设备在所述第一设备的事件触发任务调度队列中添加第一任务,包括:所述第一设备根据所述第一任务的时延敏感程度,将所述第一任务添加到所述事件触发任务调度队列,所述事件触发任务调度队列中被执行顺序在前的任务的时延敏感程度大于或等于被执行顺序在后的任务的时延敏感程度。
- 根据权利要求1或2所述的方法,其特征在于,所述第一任务的时延敏感程度为最高敏感时,所述方法还包括:所述第一设备中止正在执行的第二任务,执行所述第一任务。
- 根据权利要求1或2所述的方法,其特征在于,所述第一任务的时延敏感程度为最高敏感时,所述方法还包括:所述第一设备执行完当前正在执行的第二任务后,执行所述第一任务。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述第一设备将所述第一报文转换为所述第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值。
- 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:所述第一设备在没有硬中断的内核上执行所述第一任务。
- 根据权利要求1至6中任一项所述的方法,其特征在于,当所述第一任务的处理时延要求小于第一时间阈值时,所述方法还包括:所述第一设备限制所述时间触发任务调度队列中与所述第一任务的时延敏感程度相同的任务的个数。
- 根据权利要求1至7中任一项所述的方法,其特征在于,当所述第一任务的执行还需要第三报文时,所述第三报文符合所述第一通信协议且不同于所述第一报文,所述方法还包括:所述第一设备根据所述第三报文的历史最新值和所述第一报文执行所述第一任务。
- 根据权利要求1至8中任一项所述的方法,其特征在于,所述车载网络通信系统包括以下任意一种:由控制器局域网络CAN和以太网络组成的通信系统,或由局域互联网络LIN和以太网络组成的通信系统。
- 根据权利要求9所述的方法,其特征在于,当所述车载网络通信系统由所述CAN和以太网络组成时,所述第一报文为CAN报文,所述第二报文为以太报文。
- 根据权利要求9所述的方法,其特征在于,当所述车载网络通信系统由所述LIN和以太网络组成时,所述第一报文为LIN报文,所述第二报文为以太报文。
- 一种任务处理装置,其特征在于,应用于第一设备,包括:接收模块,用于接收第二设备发送的第一报文,所述第一报文为符合第一通信协议标准的报文;处理模块,用于在所述第一设备的事件触发任务调度队列中添加第一任务,所述第一任务用于指示将所述第一报文转换为第二报文,所述第二报文为符合第二通信协议标准的报文。
- 根据权利要求12所述的装置,其特征在于,所述第一报文中包括第一字段,所述第一字段用于指示所述第一任务的时延敏感程度;相应地,处理模块具体用于:根据所述第一任务的时延敏感程度,将所述第一任务添加到所述事件触发任务调度队列,所述事件触发任务调度队列中被执行顺序在前的任务的时延敏感程度大于或等于被执行顺序在后的任务的时延敏感程度。
- 根据权利要求12或13所述的装置,其特征在于,所述第一报文的时延敏感程度为最高敏感时,所述处理模块还用于:中止正在执行的第二任务,执行所述第一任务。
- 根据权利要求12或13所述的装置,其特征在于,所述第一报文的时延敏感程度为最高敏感时,所述处理模块还用于:在所述第一设备执行完当前正在执行的第二任务后,执行所述第一任务。
- 根据权利要求12至15中任一项所述的装置,其特征在于,所述第一设备将所述第一报文转换为所述第二报文的程序代码的时间复杂度小于或等于预设的时间复杂度阈值。
- 根据权利要求12至16中任一项所述的装置,其特征在于,所述处理模块还用于:在没有硬中断的内核上执行所述第一任务。
- 根据权利要求12至17中任一项所述的装置,其特征在于,当所述第一任务的处理时延要求小于第一时间阈值时,所述处理模块还用于:限制所述时间触发任务调度队列中与所述第一任务的时延敏感程度相同的任务的个数。
- 根据权利要求12至18中任一项所述的装置,其特征在于,当所述第一任务的执行需要第三报文时,所述第三报文符合所述第一通信协议且不同于所述第一报文,所述处理模块还用于:根据所述第三报文的历史最新值和所述第一报文执行所述第一任务。
- 根据权利要求12至19中任一项所述的装置,其特征在于,所述车载网络通信系统包括以下任意一种:由控制器局域网络CAN和以太网络组成的通信系统,或由局域互联网络LIN和以太网络组成的通信系统。
- 根据权利要求20所述的装置,其特征在于,当所述车载网络通信系统为CAN和以太网络组成时,所述第一报文为CAN报文,所述第二报文为以太报文。
- 根据权利要求20所述的装置,其特征在于,当所述车载网络通信系统为LIN和以太网络组成时,所述第一报文为LIN报文,所述第二报文为以太报文。
- 一种任务处理装置,其特征在于,包括至少一个处理器和存储器,所述处理器和所述存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时,使得所述装置执行如权利要求1至11中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于计算机执行的程序指令,该程序指令包括用于执行如权利要求1至11中任一项所述的方法。
- 一种计算机程序产品,所述计算机程序产品中包括计算机程序指令,其特征在于,当所述计算机程序指令在计算机上运行时,使得所述计算机实现如权利要求1至11中任一项所述的任务处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/109850 WO2023004801A1 (zh) | 2021-07-30 | 2021-07-30 | 一种任务处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117751555A true CN117751555A (zh) | 2024-03-22 |
Family
ID=85087381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180100870.4A Pending CN117751555A (zh) | 2021-07-30 | 2021-07-30 | 一种任务处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117751555A (zh) |
WO (1) | WO2023004801A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961437A (zh) * | 2017-03-24 | 2017-07-18 | 华东师范大学 | Can和以太网络的混合网络网关网管装置及其交换方法 |
KR102360168B1 (ko) * | 2017-11-01 | 2022-02-09 | 현대자동차주식회사 | 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템 |
CN113302885A (zh) * | 2019-01-21 | 2021-08-24 | 华为技术有限公司 | 车载网络的以太网和控制器区域网络协议转换 |
CN110460621A (zh) * | 2019-09-10 | 2019-11-15 | 上海怿星电子科技有限公司 | 一种基于some/ip协议的以太网总线与can总线数据转换方法及系统 |
CN212828223U (zh) * | 2020-07-29 | 2021-03-30 | 华人运通(上海)自动驾驶科技有限公司 | 车载网络及车辆 |
-
2021
- 2021-07-30 WO PCT/CN2021/109850 patent/WO2023004801A1/zh active Application Filing
- 2021-07-30 CN CN202180100870.4A patent/CN117751555A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023004801A1 (zh) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10284387B2 (en) | Hybrid intra-vehicle communication network | |
CA2245963C (en) | Distributed kernel operating system | |
US7907623B2 (en) | Gateway for automatically routing messages between buses | |
CN109688058B (zh) | 报文处理方法、装置及网络设备 | |
EP0498201A2 (en) | Generic high bandwidth adapter architecture | |
US10515044B2 (en) | Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus | |
JP2000156696A (ja) | デ―タ通信システム用のトランズアクションインタ―フェ―ス | |
JP5231400B2 (ja) | マルチプロセッサ・ゲートウェイ | |
EP0982662B1 (en) | Modularized communication controller and method | |
WO2018147955A1 (en) | Multi-port multi-sideband-gpio consolidation technique over a multi-drop serial bus | |
CN114095445A (zh) | 车载以太网的数据传输控制方法、装置、电子设备及存储介质 | |
WO2022251998A1 (zh) | 支持多协议栈的通信方法及系统 | |
WO2021017667A1 (zh) | 业务数据的传输方法和装置 | |
Scordino et al. | Hardware acceleration of data distribution service (dds) for automotive communication and computing | |
CN117751555A (zh) | 一种任务处理方法及装置 | |
CN116821042A (zh) | 基于多分区的fc设备dma通信方法 | |
CN108984324B (zh) | Fpga硬件抽象层 | |
Gemlau et al. | A new design for data-centric Ethernet communication with tight synchronization requirements for automated vehicles | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 | |
JP5728043B2 (ja) | ゲートウェイ装置 | |
CN113170500B (zh) | 一种信息传输方法及装置 | |
CN109525315A (zh) | 基于时间触发的光纤通道网络端系统 | |
US11579894B2 (en) | Deterministic dynamic reconfiguration of interconnects within programmable network-based devices | |
JP4361540B2 (ja) | ゲートウェイ装置、データ転送方法及びプログラム | |
WO2022004258A1 (en) | SYSTEM AND METHOD FOR EFFICIENT AND DETERMINISTIC SERVICE-ORIENTED COMMUNICATION OVER PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) BUS |
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 |