发明内容
本申请实施例公开了一种消息过滤方法和装置,能够实现终端对重复接收到的来自同一设备发送的指示同一应用服务的消息的过滤,有效节省了终端的计算资源的消耗,提高了消息处理效率。
第一方面,本申请实施例提供了一种消息过滤方法,应用于第一终端,第一终端与第三终端建立了第一单播连接,第一终端基于第一单播连接存储了第一身份标识与第一应用标识的映射关系,其中,第一身份标识为第三终端的唯一标识,第一应用标识为第三终端提供的应用服务的标识,该方法包括:接收第二终端广播的第一消息,第一消息包括第二身份标识和第二应用标识,其中,第二身份标识为第二终端的唯一标识,第二应用标识为第二终端提供的应用服务的标识;在第二身份标识与第一身份标识相同,并且,第二应用标识与第一应用标识匹配的情况下,第一终端拒绝与第二终端建立第二单播连接。
上述方法中,通过在第一消息对应的第二身份标识和第二应用标识之间的映射关系与第一终端已建立的第一单播连接对应的第一身份标识和第一应用标识之间的映射关系相同时,第一终端丢弃第一消息,不与第二终端建立第二单播连接,由此实现终端对重复接收到的来自同一设备发送的指示同一应用服务的消息的过滤,有效节省了终端的计算资源的消耗,提高了消息处理效率。
在第一方面的一种可能的实现方式中,第一身份标识为第三终端的媒体访问控制MAC地址,第二身份标识为第二终端的MAC地址,第一应用标识包括第一应用的标识或第一应用的标识的映射值中的至少一个,第二应用标识包括第二应用的标识或第二应用的标识的映射值中的至少一个。
实施上述实现方式,第一身份标识唯一表示第三终端,第二身份标识唯一表示第二终端,第一应用标识唯一表示第三终端提供的第一应用,第二应用标识唯一表示第二终端提供的第二应用,因此,可以通过比较第二身份标识和第一身份标识是否相同以判断第二终端与第三终端是否为同一个终端,通过比较第二应用标识和第一应用标识是否相同以判断第二应用和第一应用是否为同一个应用,有助于实现第一终端对重复接收到的来自同一设备发送的指示同一应用服务的消息的过滤,有效节省了终端的计算资源的消耗。
在第一方面的一种可能的实现方式中,在第一应用标识为第一应用的标识且第二应用标识为第二应用的标识的情况下,第二应用标识与第一应用标识匹配是指:第二应用的标识与第一应用的标识相同。
实施上述实现方式,在第二终端与第三终端为同一个终端的前提下,若第二应用的标识与第一应用的标识相同,则说明第二终端与第三终端还提供了相同的应用服务,在此情况下,第一终端可直接过滤第一消息,有效节省了终端的计算资源的消耗,提高了消息处理效率。
在第一方面的一种可能的实现方式中,在第一应用标识为第一应用的标识的映射值且第二应用标识为第二应用的标识的映射值的情况下,第二应用标识与第一应用标识匹配是指:第二应用的标识的映射值与第一应用的标识的映射值相同。
实施上述实现方式,在第二终端与第三终端为同一个终端的前提下,若第二应用的标识的映射值与第一应用的标识的映射值相同,则说明第二终端与第三终端还提供了相同的应用服务,在此情况下,第一终端可直接过滤第一消息,有效节省了终端的计算资源的消耗,提高了消息处理效率。
在第一方面的一种可能的实现方式中,在第一应用标识包括第一应用的标识和第一应用的标识的映射值,且第二应用标识包括第二应用的标识和第二应用的标识的映射值的情况下,第二应用标识与第一应用标识匹配是指:第二应用的标识与第一应用的标识相同,且第二应用的标识的映射值与第一应用的标识的映射值相同。
实施上述实现方式,在第二终端与第三终端为同一个终端的前提下,若第二应用的标识与第一应用的标识相同,且,第二应用的标识的映射值与第一应用的标识的映射值相同,则说明第二终端与第三终端还提供了相同的应用服务,在此情况下,第一终端可直接过滤第一消息,有效节省了终端的计算资源的消耗,提高了消息处理效率。
在第一方面的一种可能的实现方式中,第一消息还包括识别区域,识别区域用于指示第二终端支持的第二应用的服务范围,该方法还包括:在第二身份标识和第一身份标识不相同,或,第二应用标识和第一应用标识不匹配的情况下,获取识别区域;在第一终端不位于识别区域内时,第一终端拒绝与第二终端建立第二单播连接。
实施上述实现方式,在第二终端与第三终端不为同一个终端,或者,第二终端提供的第二应用与第三终端提供的第一应用不同时,需对第一消息进行解析获得识别区域,若第一终端不位于识别区域内,则说明第一终端当前不在第二终端支持的第二应用的服务范围内,故第一消息与第一终端无关,第一终端可直接过滤第一消息,提高了消息处理效率。
在第一方面的一种可能的实现方式中,在第二身份标识和第一身份标识不相同,或,第二应用标识和第一应用标识不匹配的情况下,且第一终端位于识别区域内时,第一终端还可以响应于第一消息,与第二终端建立上述第二单播连接,以及存储第二身份标识与第二应用标识的映射关系。
实施上述实现方式,在第二终端与第三终端不为同一个终端,或者,第二终端提供的第二应用与第三终端提供的第一应用不同时,且第一终端位于第二终端支持的第二应用的服务范围内时,第一终端响应第一消息,与第二终端建立第二单播连接,并存储基于第二单播连接的第二身份标识与第二应用标识的映射关系,由此实现了单播连接的快速建立,提升了单播交互的效率。
在第一方面的一种可能的实现方式中,在第一终端与第二终端建立第二单播连接后,在第一终端不再位于识别区域内的情况下,第一终端删除已存储的第二身份标识与第二应用标识的映射关系。
实施上述实现方式,在第二单播连接建立完成后,若第一终端不再位于第二终端支持的第二应用的服务范围内时,第一终端需删除第二单播连接对应的第二身份标识与第二应用标识的映射关系,由此当第一终端再次重新位于第二应用的服务范围内时可以避免接收到的第一消息被错误过滤掉。
在第一方面的一种可能的实现方式中,第一身份标识与第一应用标识的映射关系存储于映射信息中。
在第一方面的一种可能的实现方式中,映射信息存储于第一终端的网络层或消息层。
实施上述实现方式,当映射信息存储于第一终端的网络层时,映射信息由网络层通过跨层原语建立及维护,基于网络层进行第一消息的过滤,有效避免了第一终端内上层资源的消耗。当映射信息存储于第一终端的消息层时,映射信息由消息层直接建立及维护,无需使用跨层原语,操作简便。
在第一方面的一种可能的实现方式中,第二身份标识为第一消息的源层二标识,第二应用的标识为第一消息的应用标识,第二应用的标识的映射值为第一消息的目标层二标识。
实施上述实现方式,第二身份标识可以为第一消息的源层二标识这个字段,第二应用的标识可以为第一消息的应用标识这个字段,第二应用的标识的映射值可以为第一消息的目标层二标识这个字段。
在第一方面的一种可能的实现方式中,第一消息为单播业务公告,第一消息由专用业务公告DSA承载。
在第一方面的一种可能的实现方式中,第二终端为路侧单元RSU或者车载单元OBU。
实施上述实现方式,可以提高第一终端与路侧单元RSU之间的单播交互效率,或者,提高第一终端与车载单元OBU之间的单播交互效率。
第二方面,本申请实施例提供了一种用于消息过滤的装置,该装置与第三终端建立了第一单播连接,该装置基于第一单播连接存储了第一身份标识与第一应用标识的映射关系,其中,第一身份标识为第三终端的唯一标识,第一应用标识为第三终端提供的应用服务的标识,该装置包括:接收单元,用于接收第二终端广播的第一消息,第一消息包括第二身份标识和第二应用标识,其中,第二身份标识为第二终端的唯一标识,第二应用标识为第二终端提供的应用服务的标识;处理单元,用于在第二身份标识与第一身份标识相同,并且,第二应用标识与第一应用标识匹配的情况下,拒绝与第二终端建立第二单播连接。
第一身份标识为第三终端的媒体访问控制MAC地址,第二身份标识为第二终端的MAC地址,第一应用标识包括第一应用的标识或第一应用的标识的映射值中的至少一个,第二应用标识包括第二应用的标识或第二应用的标识的映射值中的至少一个。
在第二方面的一种可能的实现方式中,在第一应用标识为第一应用的标识且第二应用标识为第二应用的标识的情况下,第二应用标识与第一应用标识匹配是指:第二应用的标识与第一应用的标识相同。
在第二方面的一种可能的实现方式中,在第一应用标识为第一应用的标识的映射值且第二应用标识为第二应用的标识的映射值的情况下,第二应用标识与第一应用标识匹配是指:第二应用的标识的映射值与第一应用的标识的映射值相同。
在第二方面的一种可能的实现方式中,在第一应用标识包括第一应用的标识和第一应用的标识的映射值,且第二应用标识包括第二应用的标识和第二应用的标识的映射值的情况下,第二应用标识与第一应用标识匹配是指:第二应用的标识与第一应用的标识相同,且第二应用的标识的映射值与第一应用的标识的映射值相同。
在第二方面的一种可能的实现方式中,第一消息还包括识别区域,识别区域用于指示第二终端支持的第二应用的服务范围,处理单元还用于:在第二身份标识和第一身份标识不相同,或,第二应用标识和第一应用标识不匹配的情况下,获取识别区域;在该装置不位于识别区域内时,拒绝与第二终端建立第二单播连接。
在第二方面的一种可能的实现方式中,处理单元还用于:在第二身份标识和第一身份标识不相同,或,第二应用标识和第一应用标识不匹配的情况下,且该装置位于识别区域内时,响应于第一消息,建立第二单播连接,以及存储第二身份标识与第二应用标识的映射关系。
在第二方面的一种可能的实现方式中,处理单元还用于:在建立第二单播连接后,在该装置不再位于识别区域内的情况下,删除已存储的第二身份标识与第二应用标识的映射关系。
在第二方面的一种可能的实现方式中,第一身份标识与第一应用标识的映射关系存储于映射信息中。
在第二方面的一种可能的实现方式中,映射信息存储于该装置的网络层或消息层。
在第二方面的一种可能的实现方式中,第二身份标识为第一消息的源层二标识,第二应用的标识为第一消息的应用标识,第二应用的标识的映射值为第一消息的目标层二标识。
在第二方面的一种可能的实现方式中,第一消息为单播业务公告,第一消息由专用业务公告DSA承载。
在第二方面的一种可能的实现方式中,第二终端为路侧单元RSU或者车载单元OBU。
第三方面,本申请实施例提供了一种用于消息过滤的装置,该装置包括处理器和存储器,该存储器存储计算机程序指令,该处理器运行该计算机程序指令以使该装置执行第一方面或者第一方面的任一可能的实现方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读介质存储用于装置执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
第五方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品在处理器上运行时,使得所述用于消息过滤的装置执行前述第一方面或者第一方面的任一可能的实施例中的所述方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序件产品并在装置上执行该计算机程序产品,以实现第一方面或者第一方面的任一可能的实施例中的所述方法。
具体实施方式
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。本申请实施例中的说明书和权利要求书中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
下面将结合附图,对本申请中的技术方案进行描述。
参见图1,图1是一种车联网的通信系统的架构图,其中,该通信系统至少包括多个终端,多个终端中任意两个终端之间可以通过无线的方式进行通信。本申请中的终端可以包括但不限于车载单元(On Board Unit,OBU)、RSU、手机、平板电脑或带无线收发功能的电脑、智能加油站、智能信号灯等。终端与终端之间可以通过不同类型的通信接口传输消息,例如,PC5口和/或Uu口。
多个终端不妨以终端1和终端2为例,终端1可以是OBU,终端2可以是RSU,终端1和终端2之间可以通过无线的方式进行通信。RSU周期性地广播第一消息,第一消息中携带有应用标识,OBU接收到第一消息后,若需要与RSU建立第一消息对应的单播连接,则响应于第一消息,建立自身与RSU之间的单播连接。
一具体实施中,如图1所示,多个终端还包括终端3,终端1可以是OBU1,终端3可以是OBU2,终端2可以是RSU。在此情况下,RSU周期性地广播第一消息,若OBU1和OBU2均在RSU的广播通信范围内,则OBU1和OBU2均能接收到第一消息,并可以根据自身业务需求确定是否与RSU建立第一消息对应的单播连接,若不需要与RSU建立单播连接,则过滤掉后续接收到的第一消息,其中,所谓过滤第一消息是指丢弃或忽略第一消息。换句话说,即不响应第一消息,其实质为拒绝与第一消息的发送方重复建立第一消息对应的单播连接。需要说明的是,第一消息可以是单播业务公告,第一消息可以由专用业务公告(Dedicated ServiceAdvertisement,DSA)承载。
一具体实施中,终端3也可以广播第一消息。例如,假设终端2为RSU,终端1为OBU1,终端3为OBU2。在此情况下,假设OBU2周期性地广播第一消息,OBU1和RSU均接收到第一消息,RSU根据第一消息中的字段(例如,应用标识)进行判断后过滤了第一消息,OBU1根据第一消息中的字段(例如,应用标识)进行判断后确定与OBU2建立第一消息对应的单播连接。
在一些可能的实施例中,该系统还包括无线网络设备、有线网络和服务器。终端可以通过有线网络,或者,无线网络设备与服务器进行通信,例如,终端可以接收服务器广播的第一消息,终端可以根据第一消息中的字段(例如,应用标识)判断是过滤第一消息还是响应第一消息,即与服务器建立第一消息对应的单播连接。
其中,无线网络设备可以是2G、3G、4G、5G或者未来通信系统中的网络设备,包括多个蜂窝塔(仅示出一个)以及将无线网络设备与有线网络连接所要求的任何其它的联网部件。
有线网络可以是常规的有线通信网络,它将无线网络设和终端(例如,RSU)连接到服务器。有线网络的一个或多个部分能够通过使用标准的有线网络、光纤或者其它光学网络、电缆网络、电力线及其任何组合来实施。
服务器可以是服务中心计算机、V2X应用服务器、物联网(Internet of Thing,IoT)应用服务器、公共安全业务应用服务器、无人机服务器(例如无人机监管使能服务器或者无人机应用业务服务器)或V2X应用使能(V2X Application Enabler,VAE)服务器等,本申请不做具体限定。
需要说明的是,图1所示的通信系统可以为第三代合作伙伴计划(3rd GenerationPartnership Project,3GPP)通信系统,例如,长期演进(Long Term Evolution,LTE)系统,又可以为第五代(5th Generation,5G)移动通信系统或者新空口(New Radio,NR)系统,也可以为非3GPP通信系统,本申请不做具体限定。
需要说明的是,图1仅是为示例性架构图,但不限定图1所示通信系统包括的网元的数量。虽然未示出,但除图1所示的网络功能实体外,图1所示网络还可以包括其他功能实体。另外,本申请实施例提供的方法可以应用于图1所示的通信系统,当然本申请实施例提供的方法也可以适用其他通信系统,本申请实施例对此不予限制。
具体地,终端可以建立如图2所示的协议栈,终端之间,或者终端与网络侧设备之间可以基于图2所示的协议栈进行交互。参见图2,图2提供了一种车联网的协议栈的示意图。
该协议栈包括应用层、网络层和接入层。其中,应用层主要用于处理应用服务的应用层业务逻辑,例如,生成即时消息、单播业务公告等。应用层包括用户应用和消息层,消息层位于应用层内部,消息层向下对接数据子层,向上支持具体的用户应用。消息层可支持基于LTE的车联网无线通信技术的网络层定义的各类数据的传输。消息层与网络层内部的数据子层之间的交互通过跨层原语(也可称为操作原语或服务原语)实现。
网络层包括管理子层和数据子层,其中,管理子层用于为终端提供系统配置及维护等功能,管理子层可以是专用管理实体(Dedicated Management Entity,DME),DME为所有的数据子层的实体提供管理接口。数据子层包括适配层、DSMP层等,其中,DSMP层用于与不同应用进行数据交互,适配层用于提供底层的接入层与上层协议栈之间的传输适配功能,例如,区分待发送的数据包(例如,DSMP数据包、IP数据包等)所使用的底层接口并将相应数据包传递至接入层的对应接口进行传输等,适配层的功能还包括建立应用标识与目标层二标识之间的映射,源层二标识的产生/改变/维持等。数据子层既传输应用层间的数据流,也传输不同设备管理层实体间或管理层实体与应用间的数据流。
接入层支持蜂窝通信接口(例如,Uu口)和/或直连通信接口(例如,PC5口),其中,PC5口、Uu口可以支持不同的无线接入技术(Radio Access Technology,RAT),例如,RAT可以包括LTE技术或者NR技术。
为了减少单播建立过程中OBU的计算资源的消耗,优化信息处理效率,可在OBU侧对路侧单元RSU播发的单播业务公告进行过滤。当前基于LTE V2X的网络层只支持基于应用标识(Application Identifier,AID)对单播业务公告进行过滤。具体地,OBU接收到来自RSU的单播业务公告后,由于网络层的专用短消息协议(Dedicated Short MessageProtocol,DSMP)数据包头中包含AID,并且,不同应用对应的AID不同,例如,紧急车辆的常规基本安全消息(Basic Safety Message,BSM)的AID为113,静态的路侧交通消息(RoadSide Information,RSI)的AID为3620,所以,OBU可实现根据AID对特定类型的消息进行过滤。
RSU设备一般部署在路边,OBU可能会处于提供了相同的应用服务(例如,高速公路收费)的多个RSU设备的广播范围内。例如,参加图3,图3是一种应用场景示意图,高速公路上,分别在上行道路和下行道路上在部署了一个RSU设备,即上行道路上设置了RSU1,下行道路上设置了RSU2,以实现与不同行驶方向上的OBU进行通信。RSU1、RSU2分别与OBU通过无线的方式进行通信。由图3可以看出,RSU1向外周期性地广播Msg1,RSU2向外周期性地广播Msg2,其中,Msg1和Msg2的应用标识相同,故Msg1和Msg2两者的AID相同,例如,均为1。由于OBU当前既位于RSU1的通信范围内又位于RSU2的通信范围内,因此,OBU可以接收到Msg1和Msg2。
假设OBU接收到RSU1广播的Msg1与RSU1建立了单播连接后,还接收到RSU2发送的Msg2以及RSU1再次广播发送的Msg1,若使用上述基于AID的方式进行消息的过滤,虽然可以滤掉RSU1再次发送的Msg1,但由于Msg1的AID和Msg2的AID相同,故还会直接过滤掉RSU2广播的Msg2,导致OBU无法与RSU2建立单播连接。
由此可以看出,若在OBU侧仅基于AID对消息进行过滤,可能会发生因错误过滤导致OBU无法与其他待连接的RSU建立单播连接。若在OBU端完全不对消息进行过滤,则导致OBU的应用层不断地对接收到的来自各RSU的单播业务公告进行处理,例如,消息验签、解码等,从而占用了大量的计算资源,降低了消息的处理效率。
本申请提供了一种消息过滤方法,能有效过滤与OBU已建立单播连接的终端发送的同类型应用的广播消息,节省了OBU的计算资源的消耗,提高了OBU对消息的处理效率。
基于上述存在的问题,本申请提出一种消息过滤方法,当第二终端周期性地广播第一消息时,在第一终端接收到第一消息后,根据第一消息中与应用服务相关的字段(例如,应用标识或目标层二标识中的至少一个)以及第一消息中的源层二标识进行判断分析,以在第二终端已与第一终端建立第一消息对应的单播连接的情况下实现对第二终端广播的指示提供相同应用服务的消息的过滤。参见图4,图4是本申请实施例提供的一种消息过滤方法流程图,该方法包括但不限于以下步骤:
S101、第一终端接收到第二终端广播的第一消息。
本申请实施例中,第二终端向外周期性地广播第一消息,第一消息包括源层二标识,第一消息还包括应用标识或目标层二标识中的至少一个。其中,源层二标识也可以称作身份标识,是第二终端的唯一标识,应用标识和目标层二标识均与应用服务相关,且目标层二标识与应用标识对应,因此,应用标识和目标层二标识均可用于表示第二终端提供的应用服务的标识。
一具体实施中,应用标识(Application Identifier,AID)用于区分不同的应用,换句话说,AID可用于区分不同的应用层业务。源层二标识(Source Layer 2ID)为第二终端的MAC地址,源层二标识用于表示第一消息的发送方,即第二终端。由于第二终端以广播的形式发送第一消息,故本申请中目标层二标识(Destination Layer 2ID)为应用标识的映射值,目标层二标识与应用标识一一对应。
需要说明的是,第一消息可以是单播业务公告,第一消息由DSA承载。
第一终端可以是OBU、RSU、手机、带有无线收发功能的电脑、智能加油站等中的任意一种,第二终端为可以与第一终端通信且具有消息广播能力的设备,第二终端包括但不限于OBU、RSU、手机、带有无线收发功能的电脑、智能加油站、智能信号灯、平板等。
需要说明的是,在本申请实施例中,不同的终端具有不同的源层二标识(或身份标识),也就是说,若有两个终端的身份标识相同,则说明这两个终端为同一个终端。不妨以身份标识为MAC地址为例,不同的终端的MAC地址不同,不同的终端之间不存在MAC地址冲突。若有两个终端的MAC地址相同,则说明这两个终端为同一个终端。在S101中,第一终端接收到第二终端广播的第一消息,可以理解,第一终端的身份标识与第二终端的身份标识不同。
S102、第一终端根据应用标识或目标层二标识中的至少一个和源层二标识过滤第一消息。
本申请实施例中,第一终端接收到第一消息后,可以对第一消息中的应用标识、源层二标识和目标层二标识这三个字段进行组合以判断是否过滤第一消息。具体地,第一终端可以根据组合后的字段判断第一消息对应的单播连接是否已建立,在第一消息对应的单播连接已建立的情况下,过滤第一消息。其中,组合方式主要有三种,分别为:应用标识和源层二标识、目标层二标识和源层二标识、以及应用标识、源层二标识和目标层二标识。
需要说明的是,所谓第一终端过滤第一消息是指第一终端忽略或者丢弃第一消息,无需对第一消息进行验签、解码等解析处理,且第一终端拒绝与第二终端建立第一消息对应的单播连接,因而大大减少了第一终端的计算资源的消耗,提高了消息的处理效率。
第一终端在判断是否对第一消息进行过滤时,还可以依赖映射信息,映射信息记录了第一终端当前已建立的单播连接对应的应用标识、源层二标识和目标层二标识三者之间的映射关系。一具体实施中,映射信息可以存储于第一终端的消息层,换句话说,即映射信息由第一终端的消息层建立及维护。另一具体实施中,映射信息可以存储于第一终端的网络层,换句话说,即映射信息由第一终端的网络层建立及维护。
映射信息可以是类似于表1所示的映射关系表,如表1所示,表1中记录了两条映射关系,分别为aid1-mac3-f(aid1)和aid3-mac4-f(aid3),以aid1-mac3-f(aid1)为例进行说明,其中,假设mac3为某条消息的发送方第三终端的MAC地址,aid1为第三终端的提供的第一应用的标识,f(aid1)表示该条消息中应用标识aid1对应的映射值,f()为一种映射函数。映射关系表中存在aid1-mac3-f(aid1)这条映射关系,即说明第一终端已与第三终端建立了基于第一应用的单播连接。同理,在aid3-mac4-f(aid3)中,假设mac4为第四终端的MAC地址,aid3为第三应用的标识,且aid3与aid1不相等,即第三应用与第一应用不同,mac4与mac3不相等,即第四终端与第三终端不同,f(aid3)为第三应用的标识的映射值,映射关系表中存在aid3-mac4-f(aid3)这条映射关系,即说明第一终端已与第四终端建立了基于第三应用的单播连接。
表1
下面基于映射信息依次介绍上述三种组合方式对应的判别方式:
第一种组合方式:根据应用标识和源层二标识确定是否过滤第一消息。
具体地,判断映射信息中是否存在第一消息中的应用标识与源层二标识之间的第一映射关系,若映射信息中存在第一映射关系,则确定第一终端已与第二终端建立第一消息对应的单播连接,在确定第一消息对应的单播连接已建立的情况下,过滤第一消息。若映射信息中不存在第一映射关系,则说明第一终端未与第二终端建立第一消息对应的单播连接,在确定第一消息对应的单播连接未建立的情况下,响应于第一消息,第一终端与第二终端建立第一消息对应的单播连接。
第二种组合方式:根据目标层二标识和源层二标识确定是否过滤第一消息。
具体地,判断映射信息中是否存在第一消息中的目标层二标识与源层二标识之间的第二映射关系,若映射信息中存在第二映射关系,则确定第一终端已与第二终端建立第一消息对应的单播连接,在确定第一消息对应的单播连接已建立的情况下,过滤第一消息。若映射信息中不存在第二映射关系,则说明第一终端未与第二终端建立第一消息对应的单播连接,在确定第一消息对应的单播连接未建立的情况下,响应于第一消息,第一终端可以与第二终端建立第一消息对应的单播连接。
第三种组合方式:根据应用标识、目标层二标识和源层二标识确定是否过滤第一消息。
具体地,判断映射信息中是否存在第一消息中的应用标识、目标层二标识与源层二标识三者之间的第三映射关系,若映射信息中存在第三映射关系,则确定第一终端已与第二终端建立第一消息对应的单播连接,在确定第一消息对应的单播连接已建立的情况下,过滤第一消息。若映射信息中不存在第三映射关系,则说明第一终端未与第二终端建立第一消息对应的单播连接,在确定第一消息对应的单播连接未建立的情况下,响应于第一消息,第一终端可以与第二终端建立第一消息对应的单播连接。
所谓响应于第一消息是指:第一终端向第二终端发送自身的MAC地址以使第一终端与第二终端建立第一消息对应的单播连接,并且第一终端将第一消息中应用标识、源层二标识和目标二标识三者之间的映射关系添加至映射信息中。需要说明的是,第一终端与第二终端建立第一消息对应的单播连接后,第一终端可以与第二终端基于该单播连接进行单播交互,以以进行应用标识对应的业务交易,例如,支付业务、车辆身份识别、安全提醒业务等。
不妨以上述第一种组合方式为例,结合上述表1说明第一种组合方式的判断过程:若第一消息的应用标识为aid2,aid2为第二应用的标识,第一消息的源层二标识为mac2,mac2表示第二终端,将aid2-mac2与表1中已建立的所有单播连接对应的映射关系依次进行比较,例如,先比较第一消息对应的aid2-mac2与表1中的aid1-mac3比较,若aid2与aid1不相同(说明第二应用与第一应用不同),或者,mac2与mac3不同(说明第二终端与第三终端不同),则说明aid2-mac2这条映射关系与表1中的aid1-mac3这条映射关系不同,继续比较aid2-mac2与表1中的aid3-mac4,若aid2与aid3不相同(说明第二应用与第三应用不同),或者,mac2与mac4不同(说明第二终端与第四终端不同),则说明aid2-mac2这条映射关系与表1中的aid3-mac4这条映射关系不同,因此,可以确定,表1中不存在aid2-mac2这条映射关系,即第一终端未与第二终端建立基于第二应用的单播连接,换句话说,第一终端未与第二终端建立第一消息对应的单播连接。
又例如,在比较第一消息对应的aid2-mac2与表1中已建立的所有单播连接对应的映射关系依次进行比较的过程中,对于aid2-mac2与表1中的aid3-mac4,若aid2与aid3不相同(说明第二应用与第三应用不同),或者,mac2与mac4不同(说明第二终端与第四终端不同),则说明aid2-mac2这条映射关系与表1中的aid3-mac4这条映射关系不同;但对于aid2-mac2与表1中的aid1-mac3,若aid2与aid1相同(说明第二应用与第一应用为同一应用)且mac2与mac3相同(说明第二终端与第三终端为同一终端),则说明aid2-mac2这条映射关系与表1中的aid1-mac3这条映射关系相同,因此,可以确定,表1中已存在aid2-mac2,即说明第一终端之前已与第二中终端建立第一消息对应的单播连接,在此情况下,第一终端可过滤第一消息,换句话说,第一终端拒绝再次与第二终端建立第一消息对应的单播连接。
综上,对第一终端过滤第一消息的核心思想进行总结,具体如下:第一终端在接收到第二终端广播的第一消息之前,第一终端与第三终端建立了第一单播连接,且第一终端存储了第一单播连接对应的第一身份标识和第一应用标识的映射关系,在一些可能的实施例中,第一身份标识和第一应用标识的映射关系被存储至映射信息,该映射信息位于第一终端的网络层或消息层。其中,第一身份标识为第三终端的唯一标识,例如,第三终端的MAC地址,第一应用标识为第三终端提供的应用服务的标识,第一应用标识包括第一应用的标识和第一应用的标识的映射值中的一个或多个。第一终端接收第二终端广播的第一消息,第一消息包括第二身份标识和第二应用标识,其中,第二身份标识为第二终端的唯一标识,例如,第二终端的MAC地址,第二应用标识为第二终端提供的应用服务的标识,第二应用标识包括第二应用的标识和第二应用的标识的映射值中的一个或多个。其中,第一终端的身份标识与第一身份标识(第三终端的身份标识)不同,第一终端的身份标识与第二身份标识(第二终端的身份标识)不同。在第二身份标识与第一身份标识相同且第二应用标识与第一应用标识匹配的情况下,即说明第二终端与第三终端为同一个终端(因为第二身份标识与第一身份标识相同),且第二终端提供的应用服务与第三终端提供的应用服务相同(由于第二应用标识与第一应用标识相同),也就是说,第一消息对应的单播连接第一终端当前已经建立,故第一终端可以过滤第一消息,表现为,第一终端拒绝与第二终端建立第二单播连接。
其中,所谓第二应用标识与第一应用标识匹配包含下述三种情况:
第一种,在第二应用标识为第二应用的标识且第一应用标识为第一应用的标识时,所谓第二应用标识与第一应用标识匹配是指:第二应用的标识与第一应用的标识相同。在此情况下,结合第二终端的MAC地址与第三终端的MAC地址相同(即第二身份标识与第一身份标识相同),即等同于上述第一种组合方式的相关叙述:映射信息中存在第一消息中的应用标识与源层二标识之间的第一映射关系,其中,第二身份标识即为上述中的源层二标识,第二应用的标识即为上述中的应用标识。
第二种:在第二应用标识为第二应用的标识的映射值且第一应用标识为第一应用的标识的映射值时,所谓第二应用标识与第一应用标识匹配是指:第二应用的标识的映射值与第一应用的标识的映射值相同。在此情况下,结合第二终端的MAC地址与第三终端的MAC地址相同(即第二身份标识与第一身份标识相同),即等同于上述第二种组合方式的相关叙述:映射信息中存在第一消息中的目标层二标识与源层二标识之间的第二映射关系,其中,第二身份标识即为上述中的源层二标识,第二应用的标识的映射值即为上述中的目标层二标识。
第三种:在第二应用标识包括第二应用的标识和第二应用的标识的映射值且第一应用标识包括第一应用的标识和第一应用的标识的映射值时,所谓第二应用标识与第一应用标识匹配是指:第二应用的标识与第一应用的标识相同且第二应用的标识的映射值与第一应用的标识的映射值相同。在此情况下,结合第二终端的MAC地址与第三终端的MAC地址相同(即第二身份标识与第一身份标识相同),即等同于上述第三种组合方式的相关叙述:映射信息中存在第一消息中的应用标识、目标层二标识与源层二标识三者之间的第三映射关系,其中,第二身份标识即为上述中的源层二标识,第二应用的标识即为上述中的应用标识,第二应用的标识的映射值即为上述中的目标层二标识。
需要说明的是,上述映射信息可由第一终端的网络层或消息层建立及维护,关于网络层或消息层的叙述可参考上述图2中的相关描述,在此不再赘述,因此,第一终端在映射信息中添加第一消息中的应用标识、源层二标识和目标二标识三者之间的映射关系的方式也有如下两种:
方式A:
当映射信息存储于网络层时,网络层的映射信息是第一终端的应用层通过跨层原语(或称作操作原语、服务原语等)指示网络层建立的。例如,假设第一终端第一次接收到第一消息(故第一消息不会被过滤掉),第一消息中携带有AID、Source Layer 2ID和Destination Layer2ID,第一终端确定与第二终端建立AID对应的单播连接,则第一终端的应用层可以通过跨层原语指示网络层的DME在网络层的映射信息中添加第一消息中AID、Source Layer 2ID和Destination Layer 2ID三者之间的映射关系。其一,在第一终端作为接受服务的用户方时,其跨层原语的语法格式如下:
DME-UserService.request(LocalApplicationIndex,Action,UserRequestType,Other Information)。
其中,UserService表示第一终端作为接受服务的用户方,LocalApplicationIndex表示序号i,Action表示动作,由于上述的动作为添加,故Action设置为Add。UserRequestType表示用户请求类型,设置为Address Mapping,OtherInformation设置为(AID,Source Layer 2ID,Destination Layer 2ID),故网络层在映射信息中添加第一消息中AID、Source Layer 2ID和Destination Layer 2ID三者之间的映射关系的跨层原语可以是:
DME-UserService.request(i,Add,Address Mapping,(AID,Source Layer 2ID,Destination Layer 2ID))。
在一些可能的实施例中,若需要从网络层的映射信息中删除第一消息中应用标识对应的映射关系时,其对应的跨层原语中的Action设置为Delete即可,在此情况下,跨层原语具体如下:
DME-UserService.request(i,Delete,Address Mapping,(AID,Source Layer2ID,Destination Layer 2ID))。
其二,在第一终端作为服务的提供方时,其跨层原语的语法格式如下:
DME-ProviderService.request(LocalApplicationIndex,Action,UserRequestType,Other Information)。
其中,ProviderService表示第一终端作为服务的提供方,LocalApplicationIndex、Action、UserRequestType、Other Information等参数可参考上述描述,在此不再赘述。需要说明的是,第一终端的网络层可以根据实际需求将Action设置为Add或Delete,不妨以Add的设置为例,若第一终端作为服务的提供方,当第一终端的网络层需要在映射信息中添加第一消息中AID、Source Layer 2ID和Destination Layer 2ID三者之间的映射关系时,对应的跨层原语为:
DME-ProviderService.request(i,Delete,Address Mapping,(AID,SourceLayer 2ID,Destination Layer 2ID))。
需要说明的是,若映射信息存储于网络层中,第一终端的网络层可以基于上述三种组合方式中的任意一种和映射信息过滤第一消息,有效避免了第一终端内上层资源的消耗。
参见图5A,图5A是本申请实施例提供的一种第一终端的协议栈的示意图,如图5A所示,映射信息由第一终端存储于网络层中,即上述表1位于网络层中,当第一终端需要添加某条映射关系至映射信息中或从映射信息中删除某条映射关系时,第一终端的网络层可通过上述跨层原语对网络层中维护的映射信息进行相应处理。
方式B:当映射信息存储于消息层时,映射信息由消息层建立。例如,当第一终端首次接收到第一消息时,(故第一消息不会被过滤掉),第一消息中携带有AID、Source Layer2ID和Destination Layer 2ID,第一终端决定与第二终端建立AID对应的单播连接,则第一终端可以直接将第一消息中AID、Source Layer 2ID和Destination Layer 2ID三者之间的映射关系添加至消息层中的映射信息。在一些可能的实施例中,当第一终端需要删除第一消息对应的映射关系时,第一终端的消息层可以直接对存储于消息层中的映射信息进行相应处理。
参见图5B,图5B是本申请实施例提供的一种第一终端的协议栈的示意图,如图5B所示,映射信息由第一终端存储于消息层中,即上述表1位于消息层中,当第一终端需要添加某条映射关系至映射信息中或从映射信息中删除某条映射关系时,第一终端的消息层可直接对消息层中维护的映射信息进行相关操作。
在一些可能的实施例中,通过上述三种组合方式的任意一种判断是否过滤第一消息时,可能会出现映射信息中不存在第一映射关系或者映射信息中不存在第二映射关系或者映射信息中不存在第三映射关系,即说明第一终端未与第二终端建立第一消息对应的单播连接,在此情况下,第一消息中还包括识别区域,第一终端还可以结合识别区域进一步判断是否过滤第一消息。具体地,当第一终端位于识别区域外时,即说明第一消息与第一终端无关,第一终端过滤第一消息;当第一终端位于识别区域内时,由于第一消息对应的单播连接未建立,响应于第一消息,第一终端与第二终端建立第一消息对应的单播连接,并将第一消息对应的映射关系添加至应用层或网络层的映射信息中。
具体地,在确定第一终端未与第二终端建立第一消息对应的单播连接的情况下,第一终端解析第一消息获得第一消息中的识别区域,识别区域用于指示第二终端支持的第一消息中应用标识对应的应用的服务范围,也就是说,该应用标识对应的应用仅在该识别区域内有效,识别区域可以是识别半径、区域范围坐标等。
一具体实施中,识别区域为区域范围坐标时,第一终端获取自身的位置信息,并判断自身的位置信息是否属于区域范围坐标,若第一终端的位置信息不属于区域范围坐标,则说明第一终端位于识别区域外,故第一终端直接过滤第一消息;若第一终端的位置信息属于区域范围坐标,则说明第一终端位于识别区域内,响应于第一消息,第一终端与第二终端建立第一消息对应的单播连接。
另一具体实施中,识别区域为识别半径时,第一终端除了需要获取自身的位置信息外,还需获取第二终端的位置信息,其中,第二终端的位置信息可以包含于第一消息中,也可以包含于第二终端广播的其他消息中,第二终端的位置信息还可以是已知第二终端的位置信息的其他终端发送的,本申请不做具体限定。根据第一终端的位置信息和第二终端的位置信息计算第一终端与第二终端之间的距离,在该距离大于等于识别半径时,则说明第一终端位于识别区域外,故第一终端直接过滤第一消息;当该距离小于识别半径时,则说明第一终端位于识别区域内,故响应于第一消息,第一终端与第二终端建立第一消息对应的单播连接。
需要说明的是,第一终端在对第一消息进行解析获取识别区域后,还可以将第一消息中应用标识、源层二标识和识别区域三者之间的映射关系添加至交互区域信息,交互区域信息存储于消息层(参见图5A或图5B),交互区域信息用于记录第一终端已建立的单播连接对应的应用标识、源层二标识和识别区域三者之间的映射关系。
交互区域信息可以是类似于表2所示的映射关系表,如表2所示,表2中记录了两条映射关系,分别为aid1-mac3-area1和aid3-mac4-area2,以aid1-mac3-area1为例进行说明,该条映射关系说明第一终端已与源层二标识为mac3的终端建立了基于应用标识为aid1的单播连接,且应用标识aid1对应的识别区域为area1。例如,参见图5A或图5B,表2所示的交互区域信息位于消息层中。
表2
在一些可能的实施例中,在建立第一消息对应的单播连接后,若第一终端的当前位置不再位于第一消息的识别区域内时,则第一终端需从映射信息中删除第一消息对应的映射关系,如此,当第一终端再次位于该应用标识对应的识别区域内时若接收到第一消息,由于映射信息中不存在第一消息对应的映射关系,因此,第一终端可以与第二终端建立第一消息对应的单播连接执行相关的业务(例如,高速路段支付费用),由此可以看出,在基于第一消息的单播交互完成后若第一终端不再位于识别区域内时,从映射信息中删除第一消息对应的映射关系这个操作,能有效防止第一终端再次位于识别区域内时接收到的第一消息被错误过滤。
在一些可能的实施例中,在建立第一消息对应的单播连接后,当第一终端的位置不再位于第一消息的识别区域内时,除了可以从映射信息中删除第一消息对应的映射关系外,应用层还可以从交互区域信息中删除第一消息对应的映射关系,本申请不做具体限定。例如,对于表1中aid1-mac3-f(aid1),即假设第一终端与第三终端建立了基于第一应用(aid1)的单播连接,由表2的aid1-mac3-area1可以看出,第三终端支持的第一应用的服务范围为area1,当第一终端不再位于area1内时,第一终端将从映射信息(例如,上述表1)中删除aid1-mac3-f(aid1)这条映射关系,以及第一终端将从交互区域信息(例如,上述表2)中删除aid1-mac3-area1这条映射关系。
例如,第一终端与第二终端建立了基于高速近场支付应用的单播连接,假设第一终端为OBU,OBU基于该单播连接完成了其所在高速路段的支付业务,若OBU仍位于该高速近场支付应用的识别区域内,当OBU再次接收到第二终端广播的同一高速近场支付应用的消息时,由于OBU已在该高速路段完成一次支付业务,OBU可根据映射信息直接过滤该消息;当OBU驶出该高速近场支付应用的识别区域时,OBU需从映射信息中删除该单播连接对应的映射关系,从而使得当OBU重新进入该高速近场支付应用的识别区域内,接收到第二终端广播的该高速近场支付应用对应的消息时,OBU不会错误过滤该消息。
需要说明的是,映射信息可以位于消息层或者网络层,交互区域信息位于消息层。在一些可能的实施例中,当映射信息和交互区域信息均由消息层维护时,映射信息和交互区域信息也可以融合为一张表,该张表用于表示第一终端已建立的单播连接对应的应用标识、源层二标识、目标层二标识和识别区域四者之间的映射关系。
可以看出,实施本申请实施例,在第一终端接收到第二终端周期性广播的第一消息时,根据第一消息中与应用相关的字段(例如,应用标识和目标层二标识中的至少一种)以及第一消息中发送方的标识(即源层二标识)进行判断分析,在第一终端已与第二终端建立第一消息对应的单播连接的情况下,过滤第二终端广播的指示相同应用的第一消息,提高了消息过滤的准确率,减少了第一终端因解析消息导致的计算资源的消耗,提高了消息的处理效率。
参见图6,下面描述本申请实施例提供的一种消息过滤方法,其中,第一终端不妨以OBU为例、第二终端不妨以RSU为例进行方案的示例性阐述,但本申请并不限定第一终端仅为OBU,第二终端仅为RSU。另外,图6实施例可以独立于图4实施例,也可以是对图4实施例的补充。该方法包括但不限于以下步骤:
S201、OBU接收RSU广播的第一消息。
其中,OBU称作车载单元,是采用LTE-V2X或NR-V2X技术与RSU进行通讯的车载装置,OBU通常安装在车辆上,例如,挡风玻璃上。RSU主要应用于车路通信中,是实现智慧道路、车路系统的关键设备。RSU由天线(RSU天线)和射频控制器(RSU控制器)等组成。RSU通常被设置在路侧,其还可以连接路面感应监测设备(例如:信号灯、摄像头、微波雷达等)采集道路信息以及路面交通信息等,与附近过往车辆进行双向通信、交互数据。
第一消息包括应用标识、源层二标识和目标层二标识,其中,应用标识用于区分不同的应用,源层二标识为RSU的MAC地址,目标层二标识为应用标识对应的映射值。
S202、OBU的应用层或网络层根据应用标识或目标层二标识中的至少一个和源层二标识判断第一消息对应的单播连接是否已建立。
其中,第一消息对应的单播连接指的是OBU与RSU之间基于应用标识的通信连接。OBU的应用层或网络层判断第一消息对应的单播连接是否已建立的方法三种,分别为上述S102中所述的第一种组合方式:判断映射信息中是否存在应用标识与源层二标识之间的第一映射关系;第二种组合方式:判断映射信息中是否存在目标层二标识与源层二标识之间的第二映射关系;第三种组合方式:判断映射信息中是否存在应用标识、源层二标识和目标层二标识三者之间的第三映射关系。可基于上述三种方式中的任意一种进行判断,当映射信息中存在第一映射关系或者映射信息中存在第二映射关系或者映射信息中存在第三映射关系时,确定第一消息对应的单播连接已建立,执行S203;当映射信息中不存在第一映射关系或者映射信息中不存在第二映射关系或者映射信息中不存在第三映射关系时,确定第一消息对应的单播连接未建立,执行S204。需要说明的是,映射信息可由应用层或网络层建立及维护。
不妨以映射信息位于OBU的网络层为例,一具体实施中,由OBU基于上述三种组合方式中的任意一种判断映射信息中是否存在第一消息对应的映射关系。例如,若第一消息包括的三个字段为(aid1,mac3,f(aid1)),可以判断出映射信息(可参见上述表1)中存在aid1-mac3-f(aid1)这条映射关系,则说明第一消息对应的单播连接已建立,执行S203;若第一消息对应的三个字段为(aid2,mac3,f(aid2)),可以判断出映射信息中不存在aid2-mac3-f(aid2)这条映射关系,当然,映射信息中也不存在aid2-mac3这条映射关系或者映射信息中也不存在mac3-f(aid2)这条映射关系,则说明第一消息对应的单播连接未建立,执行S204。其中,网络层的映射信息可通过跨层原语DME-UserService.request()或DME-ProviderService.request()建立,具体过程可参考上述S102的相关叙述,在此不再赘述。
S203、OBU过滤第一消息。
具体地,在第一消息对应的单播连接已建立的情况下,OBU过滤第一消息,换句话说,OBU拒绝与RSU建立第一消息对应的单播连接。
S204、OBU解析第一消息获得识别区域。
具体地,当确定第一消息对应的单播连接未建立时,OBU进一步地对第一消息进行解析以获得识别区域,识别区域为RSU支持的第一消息中应用标识对应的服务范围。例如,在高速公路收费应用场景中,RSU广播的第一消息中的应用标识用于指示应用类型为高速路费支付,第一消息中还包括识别区域,在此情况下,识别区域表示当前的收费路段。
S205、OBU判断自身是否在识别区域内。
具体地,OBU可以根据自身的位置信息判断自身是否在识别区域内,当判断自身位于识别区域内时,执行S206;当判断自身不位于识别区域内时,执行S203。OBU判断自身是否位于识别区域内的方法可参考S102中的相关叙述,在此不再赘述。
例如,在高速公路收费应用场景中,OBU根据第一消息中的源层二标识和应用标识这两个字段以及映射信息进行判断,得出自身未与RSU建立第一消息对应的单播连接,在此情况下,OBU对第一消息进行解析获得当前的收费路段,并判断当前自身的位置是否在收费路段内,若位于该收费路段内,则执行S206;若不位于该收费路段内,则执行S203。
S206、响应于第一消息,OBU与RSU建立第一消息对应的单播连接,以及添加第一消息对应的映射关系添加至映射信息。
具体地,响应于第一消息,OBU将自身的MAC地址发送给RSU以与RSU建立第一消息对应的单播连接,并且OBU将第一消息中应用标识、源层二标识和目标层二标识三者之间的映射关系添加至映射信息,同时,OBU还可以将第一消息中应用标识、源层二标识和识别区域三者之间的映射信息添加至交互区域信息中。
需要说明的是,映射信息可存储于网络层或消息层,交互区域信息存储于应用层,交互区域信息中存储了OBU已建立的单播连接对应的应用标识、源层二标识和识别区域三者之间的映射关系。
例如,若第一消息中包括(aid1,mac2,f(aid1),area1),其中,aid1为第一应用的标识,mac2为RSU的源层二标识,f(aid1)为RSU的目标层二标识,area1为识别区域,且area1是通过对第一消息进行解析获得的。假设OBU基于映射信息判断得出自身未与RSU建立基于应用标识aid1的单播连接,且自身位置位于area1内,则OBU向RSU发送自身的MAC地址以建立第一消息对应的单播连接,并将aid1-mac2-f(aid1)添加至映射信息中,以及将aid1-mac2-area1添加至交互区域信息中。
S207、当OBU不再位于识别区域内时,OBU从应用层或网络层的映射信息中删除第一消息对应的映射关系。
一具体实施中,在OBU与RSU完成基于第一消息对应的单播连接的交互后,OBU所在的车辆继续行驶,车辆的位置会发生变化,OBU的位置与OBU所在的车辆的位置相同,当OBU不再位于识别区域内时(即OBU所在的车辆驶离识别区域),OBU从应用层或网络层的映射信息中删除该单播连接对应的映射关系。
需要说明的是,在OBU建立第一消息对应的单播连接后,OBU可以实时判断自身是否在第一消息中的识别区域内,OBU也可以每隔一段时间判断自身是否在第一消息中的识别区域内,当确定OBU不再位于识别区域内时,OBU将该单播连接对应的映射关系从映射信息中删除。
需要说明的是,S206中映射信息的存储位置与S207中映射信息的存储位置一致,即若S206中映射信息位于网络层,则S207中由OBU的网络层从映射信息中删除第一消息对应的映射信息;若S206中映射信息位于消息层,则S207中由OBU的消息层从映射信息中删除第一消息对应的映射信息。
例如,参见图7,图7是一种高速收费场景示意图,假设OBU在图7中的位置1上首次接收到RSU广播的第一消息后,第一消息中包括(aid1,mac2,f(aid1),area1),OBU与RSU建立第一消息对应的单播连接,并将第一消息对应的aid1-mac2-f(aid1)这条映射关系添加至映射信息中,以及将第一消息对应的aid1-mac2-area1添加至交互区域信息中,OBU在位置1处完成与RSU的单播交互(完成一次费用支付)。假设OBU在位置2处再次接收到RSU广播的第一消息,OBU基于映射信息判断出自身已与RSU建立第一消息对应的单播连接,故OBU会直接过滤在位置2处接收到的第一消息,这意味着OBU在识别区域area1内的位置1处已完成一次业务支付,故当OBU还在识别区域area1内时OBU无需响应于RSU再次广播的第一消息进行再次支付。但OBU随着车辆移动,当OBU判断自位置不再位于识别区域area1内时,OBU将第一消息对应的aid1-mac3-f(aid1)这条映射关系从映射信息中删除,使得当OBU再次进入area1内时,OBU接收到的RSU广播的第一消息不会被错误过滤掉。
将本申请实施例提供的消息过滤方法应用于图3所示的场景中,如图3所示,OBU既位于RSU1的通信范围内又位于RSU2的通信范围内,OBU可以接收到RSU1广播的Msg1和RSU1广播的Msg2,其中,Msg1中包括(aid1,mac1,f(aid1),area1),Msg2中包括(aid1,mac2,f(aid1),area2),若OBU均是首次接收到Msg1和Msg2,OBU经判断得出映射信息中不存在Msg1对应的映射关系,且映射信息中也不存在Msg2对应的映射关系,故OBU未与RSU1建立Msg1对应的单播连接,也未与RSU2建立Msg2对应的单播连接,OBU进一步判断出自身当前位于Msg1对应的识别区域area1内且也位于Msg2对应的识别区域area2内,可以理解,area1位于RSU1的通信范围内,area1位于RSU2的通信范围内,虽然Msg1和Msg2的应用标识相同(均为aid1,假设aid1表示车辆近场支付服务),但应用本申请提供的消息过滤方法,在上述情况下,Msg1和Msg2不会被过滤,相应地,响应于Msg1,OBU与RSU1建立Msg1对应的单播连接,并将aid1-mac1-f(aid1)这条映射关系添加至映射信息中,响应于Msg2,OBU与RSU2建立Msg2对应的单播连接,并将aid1-mac2-f(aid1)这条映射关系添加至映射信息中。在一些可能的实施例中,OBU还可以将aid1-mac1-area1以及aid1-mac2-area2这两条映射关系添加至交互区域信息中。若OBU在area1区域内再次接收到RSU1广播的Msg1,OBU经判断得出映射信息中已经存在Msg1对应的aid1-mac1-f(aid1)这条映射关系,OBU直接过滤该次接收到的Msg1。若OBU在area2区域内接收到RSU2广播的Msg2’,Msg2’中包括(aid2,mac2,f(aid2),area2),假设aid2表示车辆身份识别服务,OBU经判断得出映射信息中不存在aid2-mac2-f(aid2)、aid2-mac2、mac2-f(aid2)这些映射关系中的任意一种,故OBU响应于Msg2’,OBU与RSU2建立Msg2’对应的单播连接。
需要说明的是,以上仅是以高速上车辆近场支付业务为例进行说明,本申请实施例提供的方案不仅可以应用于车辆近场支付服务中,还可以应用于其他业务中,例如,车辆身份识别服务、路况安全服务等,本申请不做具体限定。
可以看到,实施本申请实施例,OBU在接收到RSU周期性广播的第一消息后,基于应用层或网络层的映射信息判断第一消息对应的单播连接是否已建立,在单播连接已建立的情况下OBU过滤第一消息,从而实现对同一RSU广播的指示相同应用的广播消息的过滤,大大减少了OBU的计算资源的消耗。另外,OBU还可以结合映射信息以及第一消息经解析后获得的识别区域确定是否拒绝与RSU建立第一消息对应的单播连接,提高了消息过滤的准确率以及消息处理的效率。
在另一具体实施中,本申请提供的消息过滤还可以用于OBU与OBU之间广播消息的过滤,例如,第一终端可以是OBU1,第二终端可以是OBU2。参见图8,图8示例性地提供了一种消息过滤方法的流程图,图8实施例可以独立于图4、图6实施例,也可以是对图4和图6实施例的补充,该方法包括但不限于以下步骤:
S301、OBU1接收OBU2广播的第一消息。
其中,OBU2广播的第一消息包括应用标识、源层二标识和目标层二标识,其中,应用标识用于表示应用的类型,不同的应用具有不同的应用标识,源层二标识为OBU2的MAC地址,由于第一消息是以广播的形式发送的,因此,目标层二标识为应用标识的映射值,目标层二标识与应用表示对应。
S302、OBU1的应用层或网络层根据应用标识或目标层二标识中的至少一个和源层二标识判断第一消息对应的单播连接是否已建立。
具体地,映射信息中记录了OBU1已建立的单播连接对应的应用标识、源层二标识和目标层二标识三者之间的映射关系。映射信息可由应用层建立,也可由网络层建立,但映射信息由网络层建立时,应用层使用跨层原语指示网络层建立。
OBU根据映射信息判断第一消息对应的单播连接是否已建立是指:判断映射信息中是否存在第一消息对应的映射关系,即应用标识与源层二标识之间的第一映射关系,或者,目标层二标识与源层二标识之间的第二映射关系,或者,应用标识、源层二标识和目标层二标识三者之间的第三映射关系,在映射信息中存在第一消息对应的映射关系时,则确定第一消息对应的单播连接已建立,执行S303;在映射信息中不存在第一消息对应的映射关系时,则确定第一消息对应的单播连接未建立,执行S304。具体的判断方法可参考S102中的相关叙述,在此不再赘述。
S303、OBU1过滤第一消息。
S304、OBU1解析第一消息获得识别区域。
需要说明的是,识别区域为OBU2支持的第一消息中的应用标识对应的服务范围。例如,第一消息为提示车辆变道的应用消息时,识别区域即为OBU2对应的相邻车道的区域。
S305、OBU1判断自身是否在识别区域内。
具体地,OBU1结合自身的位置信息判断自身是否在识别区域内,当OBU1位于识别区域内时,则说明第一消息与OBU1有关,执行S306;当OBU1不位于区域内时,则说明第一消息与OBU1无关,执行S303。
S306、响应于第一消息,OBU1与OBU2建立第一消息对应的单播连接,以及添加第一消息对应的映射关系至映射信息。
具体地,当映射信息中不存在第一消息对应的映射关系且OBU1位于识别区域内时,响应于第一消息,OBU1与OBU2建立第一消息对应的单播连接,以及添加第一消息对应的映射关系至映射信息。
需要说明的是,在第一消息对应的单播连接建立完成后,OBU1和OBU2可以基于该单播连接进行单播交互,即基于该单播连接执行对应地业务,例如,若单播连接对应的应用类型为车辆身份识别时,则对应的业务为获取车辆的身份;若单播连接对应的应用标识指示变道,则对应的业务为获取相应车辆的变道信息。
S307、当OBU1不再位于识别区域内时,OBU1从应用层或网络层的映射信息中删除第一消息对应的映射关系。
具体地,当OBU1与OBU2的单播交互完成后,若OBU1驶出识别区域,即OBU1不再位于识别区域内时,OBU1从应用层或网络层的映射信息中删除第一消息对应的映射关系。
参见图9,图9是一种应用场景示意图,假设OBU1、OBU2、OBU3在公路上同向行驶,且OBU3、OBU1、OBU2三者从左至右依次各占一条车道,其中,OBU1所在的车道为中间车道,OBU3所在的车道、OBU2所在的车道分别与OBU1所在的车道相邻。假设OBU2欲向左变道进入OBU1所在的车道,则OBU2向外广播第一消息,以通知周围车辆自身即将变道,假设第一消息中包括(aid2,mac2,f(aid2)),其中,aid2为变道对应的应用标识,mac2为OBU2的MAC地址,f(aid2)为应用标识的映射值,由于OBU1和OBU3均在OBU2的通信范围内,故OBU1和OBU3均能接收到OBU2广播的第一消息。
对于OBU3,假设在OBU3接收到第一消息后,OBU3经判断得出映射信息中不存在f(aid2)-mac2(上述S102中的第二种组合方式)这条映射关系,故OBU3确定未与OBU2建立第一消息对应的单播连接,进一步地,OBU3对第一消息进行解析获得第一消息中的识别区域area2(如图9所示的椭圆形区域),OBU3经判断得出自身当前不位于area2内,即说明OBU3接收的第一消息与OBU3无关,则OBU3可以直接过滤第一消息。
对于OBU1,假设在OBU1接收到第一消息后,OBU1判断胡映射信息中不存在aid2-mac2(上述S102中的第一种方式)这条映射关系,故OBU1确定未与OBU2建立第一消息对应的单播连接,进一步地,OBU1对第一消息进行解析获得第一消息中的识别区域area2(如图9所示的椭圆形区域),OBU1经判断得出自身当前位于area2内,即说明OBU1接收的第一消息与OBU1有关,OBU1将响应于第一消息,即将自身的MAC地址发送给OBU2以与OBU2建立第一消息对应的单播连接,并将aid2-mac2-f(aid2)这条映射关系添加至映射信息中。当单播连接建立完成后,OBU1可与OBU2基于已建立的单播连接进行单播交互,例如,OBU1可从OBU2获取OBU2该次变道发生的时刻、速度等信息。OBU1继续行驶,当OBU1仍位于area2内时,OBU1若再次接收到OBU2广播的第一消息,OBU1经上述方式判断可直接过滤本次接收到的第一消息。当OBU1不再位于area2内时,OBU1可以从映射信息中删除aid2-mac2-f(aid2)这条映射关系。
可以看出,实施本申请实施例,在OBU与OBU的交互中,使得OBU在与目标OBU已建立某广播消息对应的单播连接的情况下,能准确过滤目标OBU重复发送的指示同一应用服务的广播消息,大大减少了OBU因消息解析消耗的计算资源,提高了消息的处理效率。
参见图10,图10是本申请实施例提供的一种计算装置的结构示意图,计算装置30至少包括处理器110、存储器111和接收器112。在一些可能的实施例中,计算装置30还包括发送器113。其中,该接收器112和发送器113也可以替换为通信接口,用于为处理器110提供信息输入和/或输出。可选的,存储器111、接收器112、发送器113可分别与处理器110通过总线连接或耦合。计算装置30可为图4实施例中的第一终端,或者图6实施例中的OBU、图8实施例中的OBU1。
接收器112用于接收来自车载单元/路侧单元等广播的第一消息。在计算装置30确定与车载单元/路侧单元等建立第一消息对应的单播连接时,发送器113用于向车载单元/路侧单元等发送计算装置30的MAC地址。接收器112和发送器113可包括用于直接或通过空中接口与车内的设备、传感器或RSU或其它实体设备通信的天线和芯片集。发送器113和收发器112组成通信模块,通信模块可被配置为根据一个或多个其它类型的无线通信(例如,协议)来接收和发送消息,所述无线通信诸如蓝牙、IEEE 802.11通信协议、蜂窝技术、全球微波互联接入(Worldwide Interoperability for Microwave Access,WiMAX)或LTE(LongTerm Evolution,长期演进)、ZigBee协议、专用短程通信(Dedicated Short RangeCommunications,DSRC)以及RFID(Radio Frequency Identification,射频识别)通信,等等。
处理器110执行各操作的具体实现可参考上述方法实施例中判断第一消息对应的单播连接是否已建立、过滤第一消息等具体操作。处理器110可以由一个或者多个通用处理器构成,例如中央处理器(Central Processing Unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
存储器111可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器111也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器111还可以包括上述种类的组合。存储器111可以存储程序以及数据,其中,存储的程序包括:更新映射信息程序、更新交互区域信息程序等,存储的数据包括:映射信息(即应用标识-源层二标识-目标层二标识三者之间的映射关系)、交互区域信息(即应用标识-源层二标识-识别区域三者之间的映射关系)等。存储器111可以单独存在,也可以集成于处理器110内部。
此外,图10仅仅是一个计算装置30的例子,计算装置30可能包含相比于图10展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图10中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。
本申请实施例中,计算装置30用于实现上述图4所描述的方法、图6实施例中所描述的OBU侧的方法以及图8实施例所描述的OBU1侧的方法。
参见图11,图11是本申请实施例提供的一种计算装置的功能结构示意图,计算装置41包括接收单元410和处理单元411。可选地,在一些可能的实施例中,计算装置41还包括发送单元412。该计算装置41可以通过硬件、软件或者软硬件结合的方式来实现。
其中,计算装置41与第三终端建立了第一单播连接,计算装置41基于第一单播连接存储了第一身份标识与第一应用标识的映射关系,且第一身份标识为第三终端的唯一标识,第一应用标识为第三终端提供的应用服务的标识。接收单元410用于接收第二终端广播的第一消息,第一消息包括第二身份标识和第二应用标识,且第二身份标识第二终端的唯一标识,第二应用标识为第二终端提供的应用服务的标识;处理单元411用于在第二身份标识与第一身份标识相同,并且,第二应用标识与第一应用标识匹配的情况下,拒绝与第二终端建立第二单播连接。在一些可能的实施例中,发送单元412用于在响应于第一消息时,向第二终端发送计算装置41的身份标识以建立上述第二单播连接。
该计算装置41的各功能模块可用于实现图4实施例所描述的方法。在图4实施例中,接收单元410可用于执行S101,处理单元411可用于执行S102。该计算装置41的各功能模块还可用于实现图6实施例所描述的OBU侧的方法和图8实施例所描述的OBU1侧的方法,为了说明书的简洁,在此不再赘述。
在本文上述的实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
需要说明的是,本领域普通技术人员可以看到上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random AccessMemory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是个人计算机,服务器,或者网络设备、机器人、单片机、芯片、机器人等)执行本申请各个实施例所述方法的全部或部分步骤。