公交车自组织网络的数据传输方法与流程

文档序号:19249757发布日期:2019-11-27 20:03阅读:316来源:国知局
公交车自组织网络的数据传输方法与流程

本发明涉及车载数据传输技术领域,特别涉及一种公交车自组织网络的数据传输方法。



背景技术:

近年来,国内外对利用公交车或者公交线路进行数据传输已经进行了一些研究。其中,bler是一种基于公交车线路的路由算法,它首先构建公交车线路图,将公交车线路作为图的顶点,顶点之间的边表示两条公交线路至少相遇一次,边上的权重设置为这两条公交路线的公共路段长度。其次,每辆公交车基于上述公交线路图,计算出到目的公交线路的权重之和最大的路径,并按此路径转发数据到目的线路。最后,采用往复过程传递数据到目的公交车,即在目的路线上公交车只向其反向公交车传递数据,直到数据到达目的公交。btsc是一种以街道为中心的路由方法,建立基于公交的路由图,通过分析公交的轨迹,路由图中的每个边都被赋予一个权重,以反映街道对应的公交密度,提出街道一致性概率(psc)和路径一致性概率(ppc),前者用于描述两个相邻街道之间的公交线路的一致性,后者用作选择具有高密度公交的路由路径的度量,使用蚁群优化(faco)设计基于公交的转发策略,用于在两个中继公交之间找到最优的下一跳公交和稳定的多跳链路,旨在增加转发机会并缩短路由延迟。

目前对于公交车自组织网络数据传输的研究大多关注于最小跳数的路由选择,而未综合考虑路段的状态和车流量等问题,如何实时得到路段信息并据此选择最优路径,仍然是一个具有挑战性的问题。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的目的在于提出一种公交车自组织网络的数据传输方法,该方法考虑到公交车行驶线路的规律性以及公交车等间隔发车的特点,使用公交车能够提高传输的可靠性,减小传输开销。

为达到上述目的,本发明提出了公交车自组织网络的数据传输方法,包括以下步骤:s1,按照预设周期收集路况信息,并将所述路况信息传递到交叉路口;s2,获取源点生成的数据,并根据所述源点确定目的交叉路口,其中,所述数据由距离所述源点最近的公交车获取;s3,行驶到交叉路口的公交车接收到所述路况信息,并根据所述路况信息计算交叉路口的任意转发方向到达下一跳交叉路口的转发优先级集;s4,筛选所述转发优先级集生成最高优先级候选转发方向,并将所述最高优先级候选转发方向作为所述数据转发方向;s5,检测沿所述数据转发方向行驶的且在预设通信半径内与交叉路口最近的公交车,以将所述数据转发给公交车传递或携带至下一跳交叉路口;s6,判断下一跳交叉路口是否为所述目的节点所在的交叉路口,若不是,循环执行步骤s3-s6,若是,则结束数据传输任务。

本发明实施例的公交车自组织网络的数据传输方法,周期性收集路况,保证了信息的实时性;利用公交路线固定、运行特征可预测、线路分布稠密等特征,提高传输的可靠性,降低传输开销;交叉路口处各方向的转发优先级计算由该方向的段密度比率、段连通比率、公交车线路覆盖比率、路径长度比率四个因素决定,保证所选方向加速数据转发。

另外,根据本发明上述实施例的公交车自组织网络的数据传输方法还可以具有以下附加的技术特征:

在本发明的一个实施例中,所述按照预设周期收集实时路况信息,进一步包括:将相邻交叉路口之间的道路划分成等长的若干路段,若车载节点的通信半径为r,道路宽度为d,则分段后的每个路段长度为且将路段集记为s={s1,s2,…,sk,…,sq},k和q均为正整数,k<q。

在本发明的一个实施例中,所述按照预设周期收集实时路况信息,进一步包括:在任意路段sk中,每个源点预设周期内通告自身位置信息和速度信息,并收集路段中其他公交车的位置信息和速度信息,以找出靠近路段sk中间位置的公交车作为簇头chk,进行所述实时路况信息的传输。

在本发明的一个实施例中,所述计算所述交叉路口的任意转发方向到达下一跳交叉路口的转发优先级集,进一步包括:分别计算所述交叉路口的任意转发方向的段密度、段连接性、公交路线覆盖数数和到达下一跳交叉路口的路径长度;采用归一化方法分别计算出段密度比率、段连通比率、公交车覆盖比率和路径长度比率;将所述段密度比率、所述段连通比率、所述公交车覆盖比率和所述路径长度比率进行线性组合,计算任意转发方向的转发优先级,并整合出所述转发优先级集。

在本发明的一个实施例中,计算所述段密度比率的公式为:

其中,deni表示相邻交叉路口的段密度,min(den)表示所有侯选转发方向中段密度的最小值,max(den)表示所有侯选转发方向中段密度的最大值。

在本发明的一个实施例中,计算所述段连通比率的公式为:

其中,covi表示相邻交叉路口的段连通性,min(con)表示所有侯选转发方向中段连通性的最小值,max(con)表示所有侯选转发方向中段连通性的最大值。

在本发明的一个实施例中,计算所述公交车覆盖比率的公式为:

其中,covi表示任意转发方向行驶的公交车线路个数,min(cov)表示所有侯选转发方向中公交线路覆盖数的最小,max(cov)表示所有侯选转发方向中公交线路覆盖数的最大值。

在本发明的一个实施例中,计算所述路径长度比率的公式为:

其中,disi表示到达终点交叉路口的路径长度,min(dis)表示所有侯选转发方向中路径长度的最小值,max(dis)表示所有侯选转发方向中路径长度的最大值。

在本发明的一个实施例中,所述计算任意转发方向的转发优先级,进一步包括:

pi=(αden×den'i)+(αcon×con'i)+(αcov×cov'i)+(αdis×dis'i)

其中,den'i表示段密度比率,αden是段密度比率的权重,con'i表示段连通比率,αcon是段连通性比率的权重,cov'i表示公交车覆盖比率,αcov是公交车覆盖比率的权重,dis'i表示路径长度比率αdis是路径长度比率的权重,其中,0<αden<1,0<αcon<1,0<αcov<1,0<αdis<1,且αdenconcovdis=1。

在本发明的一个实施例中,所述步骤s5进一步包括:若未检测到沿所述数据转发方向行驶的且在预设通信半径内与交叉路口最近的公交车时,则当前公交车继续携带所述数据,并循环执行步骤s5的检测过程,直至所述数据传递至下一跳交叉路口。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的公交车自组织网络的数据传输方法流程图;

图2为本发明具体实施例中路况收集的示意图;

图3为本发明具体实施例中路口转发和路段传输的示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

首先,本发明实施例由于车载节点的通信范围有限,数据通常需要由中间车辆多跳传输到目的地,而车辆的快速移动导致通信链路不稳定,影响车辆自组织网络的传输效率。因此,考虑到公交车行驶线路的规律性以及公交车等间隔发车的特点,使用公交车能够提高传输的可靠性,减小传输开销。

下面参照附图描述根据本发明实施例提出的公交车自组织网络的数据传输方法。

图1是本发明一个实施例的公交车自组织网络的数据传输方法流程图。

如图1所示,该公交车自组织网络的数据传输方法包括以下步骤:

在步骤s1中,按照预设周期收集实时路况信息,并将路况信息传递到交叉路口。

可以理解为,对所有相邻交叉路口,按照预设周期收集路况信息,并传递到交叉路口,使得在每一个交叉路口附近的公交车收集到其方向集中所有道路上的路况信息。

在本发明的一个实施例中,按照预设周期收集实时路况信息,进一步包括:将相邻交叉路口之间的道路划分成等长的若干路段,若车载节点的通信半径为r,道路宽度为d,则分段后的每个路段长度为且将路段集记为s={s1,s2,…,sk,…,sq},k和q均为正整数,k<q。

在本发明的一个实施例中,按照预设周期收集实时路况信息,还包括:在任意路段sk中,每个源点预设周期内通告自身位置信息和速度信息,并收集路段中其他公交车的位置信息和速度信息,以找出靠近路段sk中间位置的公交车作为簇头chk,进行所述实时路况信息的传输。

也就是说,首先进行路况收集,将道路划分为等长的多个路段,每个路段有一个簇头节点,负责收集本路段的路况信息、整合该信息与上一个路段传来的路况信息、并传递到下一个路段,最终将整个道路的路况信息传输到交叉路口。

在步骤s2中,获取源点生成的数据,并根据源点确定目的节点,其中,数据由距离源点最近的公交车获取。

也就是说,距离源点最近的公交车获取源点产生的数据,通过该公交车将数据传递或携带到交叉路口。

需要说明的是,确定目的节点时,也同时确定了目的节点所在的交叉路口。

在步骤s3中,行驶到交叉路口的公交车接收到路况信息,并根据路况信息计算交叉路口的任意转发方向到达下一跳交叉路口的转发优先级集。

具体地,本发明实施例先分别计算交叉路口的任意转发方向的段密度、段连接性、公交路线覆盖数数和到达终点交叉路口的路径长度;再采用归一化方法分别计算出段密度比率、段连通比率、公交车覆盖比率和路径长度比率;将段密度比率、段连通比率、公交车覆盖比率和路径长度比率进行线性组合,计算任意转发方向的转发优先级,并整合出转发优先级集。

在步骤s4中,筛选转发优先级集生成最高优先级候选转发方向,并将最高优先级候选转发方向作为所述数据转发方向。

也就是说,选择转发优先级最高的候选转发方向做为数据的转发方向。

在步骤s5中,检测沿数据转发方向行驶的且在预设通信半径内与交叉路口最近的公交车,以将数据转发给公交车传递或携带至下一跳交叉路口。

进一步地,在本发明的一个实施例中,若未检测到沿数据转发方向行驶的且与交叉路口最近的公交车时,则当前公交车继续携带数据,并循环执行检测过程,直至数据传递至下一交叉路口。

也就是说,在未遇到交叉路口时,在路段上确认传输方向,然后查找在当前公交车的通信范围内、且距离下一个交叉路口最近的公交车,若存在就将数据转发给该公交车,反之,当前公交车继续携带数据,直至数据传递到下一个交叉路口。

在步骤s6中,判断下一跳交叉路口是否为目的节点所在的交叉路口,若不是,循环执行步骤s3-s6,若是,则结束传输数据任务。

可以理解为,本发明实施例的方法主要分为路况收集、路口转发和路段传输三部分。首先进行路况收集,将道路划分为等长的多个路段,每个路段有一个簇头节点,负责收集本路段的路况信息、整合该信息与上一个路段传来的路况信息、并传递到下一个路段,最终将整个道路的路况信息传输到交叉路口。路口转发是指当从源点发出的数据传输到交叉路口时,依据路口各候选转发方向上路段的路况信息以及公交线路覆盖情况,选择连通度高、密度大、离目的地距离近、公交覆盖率高的路段做为转发路段,提高转发效率。路段传输是指将数据在无交叉路口的路段上传输,直到下一个交叉路口或目的节点。

下面通过具体举例对本发明实施例实现的过程进行详细说明。

首先对本发明实施例中相关名词进行定义,并设定必要的规则,具体如下所示:

规则1:数据由车载节点(即源点)产生,需要传输到特定位置(即目的地)。源节点产生数据后,就近转发给周边的公交车,进而通过公交车自组织网络将数据传输到目的地。

规则2:所有道路均周期性地收集路况信息,实时传递到交叉路口。

规则3:公交车收集的路况称为信息,源点产生的要传递到目的地的内容称为数据。

规则4:交叉路口处任意方向的转发优先级由该方向上路段的段密度、段连通性、公交线路覆盖、路径长度决定,通过对各影响因子的归一化处理和线性组合,计算转发优先级。

规则5:在收集信息时,将道路划分为等长的若干路段,同一路段中的车载节点能够彼此通信,即同一路段中的任意两个车辆的距离不超过车载节点的通信半径。

规则6:相邻两个交叉路口之间道路上的多个路段的编号方式如下:由编号小的交叉路口到编号大的交叉路口,各个路段编号依次为1、2、……、q。

规则7:在收集信息时要分别收集上行道路和下行道路的信息,在传输时不再区分上行道路和下行道路的车辆。

规则8:在数据传输时,若到达交叉路口时没有公交车可以转发数据,则原公交车携带数据直到下一个交叉路口。

定义1,交叉路口的方向集记为d={d1,d2,…di};依据目的地位置,确定侯选转发方向集对任意候选转发方向di∈d',其转发优先级记为pi,pi=(αden×den'i)+(αcon×con'i)+(αcov×cov'i)+(αdis×dis'i),其中den'i是段密度比率,con'i是段连通性比率,cov'i是公交线路覆盖比率,dis'i是路径长度比率;αden是段密度比率的权重,αcon是段连通性比率的权重,αcov是公交车覆盖比率的权重,αdis是路径长度比率的权重,其中,0<αden<1,0<αcon<1,0<αcov<1,0<αdis<1,并且αdenconcovdis=1。

步骤一,路况收集(即步骤s1)

步骤1-1,将所有的交叉路口进行编号,记为c={c1,c2,…,cv,…cj…},以相邻交叉路口cv和cj(v<j)为例,介绍cv与cj之间道路的路况信息的收集方法。将交叉路口cv和cj之间的道路划分成等长的若干路段,若车载节点的通信半径为r,道路宽度为d,分段后的每个路段长度为将路段集记为s={s1,s2,…,sk,…,sq},依据规则6,由交叉路口cv到交叉路口cj路段排序为s1,s2,…,sq。

步骤1-2,簇头选择。在任意路段sk中,每个车载节点定期通告自身的位置和速度信息,并收集路段中其他公交车的位置和速度信息,进而找出靠近路段sk中间位置的公交车作为簇头chk

步骤1-3,在任意路段sk中,chk收集是从交叉路口cv到交叉路口cj通过路段sk的车辆个数,是从交叉路口cj到交叉路口cv通过路段sk的车辆个数,是在路段sk收集交叉路口cv到交叉路口cj路况的起始时间,是在路段sk收集交叉路口cj到交叉路口cv路况的起始时间。

步骤1-4,对于从交叉路口cv到交叉路口cj的路况信息收集,执行如下判断:若该道路的路段编号k=1,chk将收集到的信息传递到路段sk+1的簇成员,再由簇成员转发给路段sk+1的chk+1;若k>1,必须等待路段sk-1上的整合信息传递到路段sk的chk中,chk整合信息,即然后将整合后的信息传给路段sk+1的簇成员,再由簇成员转发给路段sk+1的chk+1

步骤1-5,对于从交叉路口cj到交叉路口cv的路况信息收集,执行如下判断:若该道路的路段编号k=q,chk将收集到的信息传递到路段sk-1的簇成员,再由簇成员转发给路段sk-1的chk-1;若k<q,必须等待路段sk+1上的整合信息传递到路段sk的chk中,chk整合信息,即,然后将整合后的信息传给路段sk-1的簇成员,再由簇成员转发给路段sk-1的chk-1

步骤1-6,对s中的所有路段,执行步骤1-2—步骤1-5,将收集到的信息向道路两端的两个交叉路口传输,最终将收集到的信息传递到离交叉路口最近的公交车。靠近交叉路口cj的公交车计算其中tv,j是从交叉路口cv到交叉路口cj收集信息花费的时间,tnow是指当前时间。靠近交叉路口cv的公交车计算其中tj,v是从交叉路口cj到交叉路口cv收集信息花费的时间。

步骤1-7,对所有相邻交叉路口,执行步骤1-2—步骤1-6,使得在每一个交叉路口附近的公交车收集到其方向集中所有道路上的路况信息。

步骤1-8,路况信息在交叉路口进行广播。

步骤1-9,周期性地执行步骤1-2—步骤1-8,实时收集信息传递到交叉路口。

例如,如图2所示,将交叉路口c2到交叉路口c3的道路划分成三个路段,即s1、s2、s3。每个车载节点定期通告车辆的位置和速度信息,找出各路段中靠近中间位置的公交车做为簇头(如图中方框所示)。对于从交叉路口c2到交叉路口c3的路况收集(如图中细箭头所示),路段s1中ch1将本路段的信息传递给路段s2的簇成员,再由簇成员转发给ch2,ch2整合s1和s2的信息。循环执行上述过程,将收集到的信息传递到交叉路口c3,并最终广播给其周边的公交车。同理也要将路况信息从交叉路口c3传递到交叉路口c2(如图中粗箭头所示)。

步骤二,路口转发(即步骤s2-s3)

步骤2-1,行驶到交叉路口cv的公交车接收到步骤1-8广播的路况信息,开启计算功能。

步骤2-2,对于交叉路口cv的方向集d,依据目的地位置,确定侯选转发方向集即去除公交车驶来的方向以及远离目的地的方向。

步骤2-3,针对任意候选转发方向di,沿该方向的相邻交叉路口为cj,计算交叉路口cv到相邻交叉路口cj的段密度其中δ和β是方向权值(δ>β,0<δ<1,0<β<1并且δ+β=1),p是路段的车道个数;计算交叉路口cv到相邻交叉路口cj的段连通性计算沿方向di行驶的公交车线路个数,称为公交线路覆盖数,记为covi;计算沿方向di去往目的地的路径长度其中是指利用迪杰斯特拉算法计算得到的相邻交叉路口cj到目的地的最短距离。

步骤2-4,对于任意候选转发方向di,采用归一化方法,计算段密度比率其中min(den)表示所有侯选转发方向中段密度的最小值,max(den)表示所有侯选转发方向中段密度的最大值;计算段连通比率其中min(con)表示所有侯选转发方向中段连通性的最小值,max(con)表示所有侯选转发方向中段连通性的最大值;计算公交车覆盖比率其中min(cov)表示所有侯选转发方向中公交线路覆盖数的最小值,max(cov)表示所有侯选转发方向中公交线路覆盖数的最大值;计算路径长度比率其中min(dis)表示所有侯选转发方向中路径长度的最小值,max(dis)表示所有侯选转发方向中路径长度的最大值。

步骤2-5,通过线性组合,计算任意候选转发方向di的转发优先级pi=(αden×den'i)+(αcon×con'i)+(αcov×cov'i)+(αdis×dis'i),其中αden是段密度比率的权重,αcon是段连通性比率的权重,αcov是公交车覆盖比率的权重,αdis是路径长度比率的权重,其中,0<αden<1,0<αcon<1,0<αcov<1,0<αdis<1,且αdenconcovdis=1。

步骤2-6,循环执行步骤2-3-步骤2-5,直到所有的候选转发方向都完成转发优先级的计算。

步骤2-7,选择转发优先级最高的候选转发方向做为数据的转发方向。

步骤2-8,若有公交车沿转发方向行驶,则将数据转发给该公交车,进而依据步骤三“路段传输”,将数据传输到下一个交叉路口;否则,继续携带数据直到下一个交叉路口。

步骤2-9,循环执行步骤2-1—步骤2-8,直到数据传递到目的地所在的交叉路口。

步骤三,路段传输(即步骤s4)

步骤3-1,在未遇到交叉路口时,在路段上确认传输方向。

步骤3-2,查找在当前公交车的通信范围内、且距离下一个交叉路口最近的公交车,若存在,则将数据转发给该公交车;否则,当前公交车继续携带数据。

步骤3-3,循环执行步骤3-2,直到数据传递到下一个交叉路口。

例如,如图3所示,数据从源点经过公交车自组织网络传输到目的地。在路段上传输时,携带数据的公交车尽可能将数据转发给在当前公交车的通信范围内、且距离下一个交叉路口最近的公交车,直到将数据传递到下一个交叉路口;公交车在交叉路口处,依据收集到的路况信息,对所有侯选转发方向计算转发优先级,选择转发优先级最高的候选转发方向做为转发方向,将数据转发给沿该方向行驶的公交车。多次执行路口转发和路段传输,直至数据到达目的地。

综上,根据本发明实施例提出的公交车自组织网络的数据传输方法,周期性收集路况,保证了信息的实时性;利用公交路线固定、运行特征可预测、线路分布稠密等特征,提高传输的可靠性,降低传输开销;交叉路口处各方向的转发优先级计算由该方向的段密度比率、段连通比率、公交车线路覆盖比率、路径长度比率四个因素决定,保证所选方向加速数据转发。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1