CN103259783B - 基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法 - Google Patents

基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法 Download PDF

Info

Publication number
CN103259783B
CN103259783B CN201310120487.2A CN201310120487A CN103259783B CN 103259783 B CN103259783 B CN 103259783B CN 201310120487 A CN201310120487 A CN 201310120487A CN 103259783 B CN103259783 B CN 103259783B
Authority
CN
China
Prior art keywords
msub
server
mrow
car
sip
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.)
Expired - Fee Related
Application number
CN201310120487.2A
Other languages
English (en)
Other versions
CN103259783A (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.)
Anhui University of Science and Technology
Original Assignee
Anhui University of Science and Technology
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 Anhui University of Science and Technology filed Critical Anhui University of Science and Technology
Priority to CN201310120487.2A priority Critical patent/CN103259783B/zh
Publication of CN103259783A publication Critical patent/CN103259783A/zh
Application granted granted Critical
Publication of CN103259783B publication Critical patent/CN103259783B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于SIP会话和LBS定位的Android移动终端实时拼车系统和拼车方法。利用本发明提供的技术方案,用户可以通过Android移动终端在线查询与自己相关联的拼车组、拼车人和司机,并通过LBS定位技术在Android移动终端上显示邻近的拼车人和关联的拼车组以及其线路信息,并可以加入或者新建拼车组;同时利用SIP通信技术发起多方会话,并且可以在中途动态加入已经拼车行驶的拼车组。使用本系统和方法可以有效改善城市出租车紧张问题以及重新优化道路使用资源,改善城市交通拥堵,方便乘客出行。

Description

基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法
技术领域
本发明属于互联网与通信应用技术领域,涉及一种利用SIP会话和LBS定位的Android移动终端实时拼车系统,同时本发明还涉及一种基于此系统的拼车方法。
背景技术
拼车,即相同路线或者具有公共路线的人乘坐一辆出租车以便到达各自的目的地。拼车是一种新生的事物,它不仅有利于改善城市出租车紧张问题以及重新优化道路使用资源,改善城市交通拥堵,还可以方面乘客出行。
LBS(基于位置的服务)已经逐步走向每个拥有智能移动终端的用户,LBS可以利用智能移动终端(如Android移动终端)的定位功能将用户信息与位置信息相结合,为用户提供与地点相关的各种服务。
SIP(Session Initiation Protocol,会话初始协议)是IETF提出的,在IP网上进行多媒体通信的应用层控制协议。随着SIP协议的成熟,使用其代替H.323协议族成为多媒体会议的底层架构已经是业界公认的发展趋势。随着移动宽带与Wi-Fi网络的普及、iPhone和Android等智能手机终端的应用,传统的基于PC端的多媒体会议系统已经无法满足实际需要。因此,在Android等智能终端上实现基于SIP的多媒体会话是一个重要的应用方面。
SIP通信和LBS两项技术目前大都是分离的在线服务,例如多媒体会议,位置查询等,但利用SIP通信和LBS两项技术来结合起来并在移动终端上的服务并不多见。基于拼车应用的实际需求,将实时的通信交流和地图位置信息查询相结合是十分自然且必要的。
发明内容
本发明的目的是提供一种基于SIP会话和LBS定位的Android移动终端实时拼车系统和方法。基于本发明,拼车用户在拼车的时候不仅能获得拼车用户和司机用户的位置信息,同时随之建立有效的拼车团体,还可以通过Android移动终端上的SIP通信方式与他们联系和协商,最后返回确认消息和集合地点到各个用户的Android移动终端上,并且支持拼车组状态查询和动态加入拼车组。本系统还能根据街道和各个用户的位置信息从而在地图上标注拼车用户和司机用户的信息,并能计算出可用范围内的拼车用户和司机用户,并自动生成最佳拼车方案。
本发明提供的技术方案如下:
一种基于SIP会话和LBS定位的Android移动终端实时拼车系统,其特征在于,所述系统包括如下组件(参图1):一台SIP服务器101、多台Android移动终端104、一台LBS服务器102、一台拼车服务器103。其中:
SIP服务器101,部署在WAN中,负责与发起用户所持Android移动终端104上的SIP信令进行多媒体通信,包括SIP的注册和SIP信令的发起、路由和结束,包括语音和文字的通信,并与拼车服务器103进行交互并传输信息;
LBS服务器102,部署在WAN中,负责接收从Android移动终端104发出的位置请求信息,计算线路信息,计算距离信息,并接收拼车服务器103返回的集合点和位置信息并下发到Android移动终端104;
拼车服务器103,部署在WAN中,负责根据街道和各个用户的位置信息从而在地图上标注拼车用户和司机用户的信息,并能计算出可用范围内的拼车用户和司机用户,并自动生成最佳拼车组;或者手动加组的方式形成拼车组。
Android移动终端104,是用户的手持或车载的移动通信设备,负责发送位置查询请求并显示地图信息,实现多媒体通信,即接收和发送基于SIP的信令消息和多媒体消息,建立、组队或取消拼车组,并与拼车中心服务器进行通信。
所述拼车系统的工作流程如下(参图2):
a)Android移动终端首先发送登录消息至拼车服务器;
b)拼车服务器接收终端登录消息,并转发SIP注册消息到SIP服务器;
c)Android移动终端接收来自SIP服务器的确认消息;
d)Android移动终端向LBS服务器发送定位消息;
e)LBS服务器进行位置查询;
f)Android移动终端接收到LBS的定位数据后,绘制在用户界面上,并保存到本地数据库中;
g)Android移动终端自动发送查询拼车消息到拼车服务器;
h)拼车服务器接收查询数据,并执行查询功能,即查询相关的拼车组、拼车者和司机信息;
i)拼车服务器返回这些数据到LBS服务器,并生成地图信息;
j)LBS服务器将地图信息发送到Android移动终端上;
k)拼车者或者司机可以加入或者新建一个拼车组,并将请求发送给拼车服务器;
l)拼车者就绪后,拼车服务器通知SIP服务器发起多方会话消息;
m)SIP服务器接收到消息后发起多方会话;
n)Android移动终端接收SIP服务器发来的邀请并参与SIP多方会话;
o)Android移动终端在SIP会话结束后,发送SIP会话结束消息到SIP服务器;
p)SIP服务器结束SIP会话,并通知拼车服务器建立拼车组;
q)拼车服务器通知LBS服务器,生成位置和路线信息;
r)LBS服务器将拼车成功的位置和路径信息发送到Android移动终端上。
图2是本发明所述系统的系统工作流程图。
下面详细介绍所述拼车系统的功能模块:
SIP服务器,主要功能是负责与用户所持Android移动终端上的SIP信令通信,包括SIP的注册和SIP信令的发起、路由和结束。包括:
●SIP注册服务器模块:用于完成对Android移动终端的SIP模块用户的登录,在SIP系统的网元中,所有SIP终端用户都要在某个登录服务器中登录,以便其他用户通过服务器能够找到它们。
●SIP代理服务器模块:具有解析名字的能力,负责代理用户之间的信令消息,能够将连接到其上的Android终端用户向下一跳服务器发出呼叫请求,服务器决定下一跳的地址。
●媒体流信息处理模块:用于传输多通道媒体流信息到SIP终端中。
●会话控制模块:包括在会话人数容量未满时随时接入新的参与者;强制性地取消某个与会者的发言权利;多方呼叫参与者;强制结束会话;对会话信息的管理。
LBS服务器,负责接收从Android移动终端104发出的位置请求信息,计算线路信息,计算距离信息,并接收拼车服务器返回的集合点和位置信息并下发到Android移动终端,包括:
●定位模块:可以实时定位拼车人和车载的终端,获取位置信息、查询车辆历史轨迹、显示定位拼车人和车辆基本信息等。
●距离计算模块:用于计算地图上坐标之间的距离。
●路线计算模块:用于计算地图上坐标之间的乘车路径。
●XML数据通信模块:用于与拼车服务器和Android移动终端之间进行数据交换。
Android移动终端,负责发送位置查询请求并显示地图信息,实现多媒体通信,即接收和发送基于SIP的信令消息和多媒体消息,建立、组队或取消拼车组,并与拼车中心服务器进行通信,包括:
●用户界面模块:显示地图并在地图上标注出信息,当点击各个标注时可以选择查看各个用户发布的信息。
●SIP信令通信模块:用于与SIP服务器进行SIP信令通信。
●媒体处理模块:用于与SIP服务器进行RTP等多媒体协议通信。
●拼车操作模块:用于与拼车服务器进行交互,执行拼车请求与响应。
拼车服务器,包括:
●SIP信令通信模块:用于与SIP服务器进行SIP信令通信。
●XML数据通信模块:用于与LBS服务器和Android移动终端进行通信交互。
●拼车管理模块:用于实现拼车服务和实现拼车状态机的维护。
●拼车查询模块:用于查询拼车者相关联的拼车路线和拼车人,并计算其线路关联度、拼车者关联度,并对查询结果按照关联度进行排序。
基于如上系统,本发明同时提供了基于SIP会话和LBS定位的Android移动终端的拼车方法,具体步骤如下(参图3):
a)Android移动终端发送建立拼车组的请求到拼车服务器;
b)拼车服务器接收Android移动终端请求并组建拼车组;
c)拼车服务器计算相关的拼车组和拼车者,并通过LBS服务器反馈到Android移动终端上;
d)Android移动终端选择新建拼车组或者加入拼车组;
e)成功建立拼车组后,即可接收拼车者和司机加入拼车组;
f)如果所有人都同意启动SIP会话协商,则进入下一步;否则就是有人主动退出或者被拼车组建立者踢出拼车组,然后进入拼车组队状态;
g)拼车服务器通知SIP服务器发起多方会话消息;
h)SIP服务器发起SIP多方会话并呼叫Android移动终端;
i)用户通过终端和SIP服务器、媒体服务器进行通信;
j)用户通过终端确认是否进行拼车;
k)如果所有用户都同意拼车方案,则进入下一步;否则就是有人主动退出或者被踢出拼车组,然后进入拼车组队状态;
l)判断拼车组人数是否满员;
m)若满员,拼车服务器修改拼车组状态为:成功拼车、行驶中并满员;
n)若不满员,拼车服务器修改拼车组状态为:成功拼车并可以加人;
o)当有人中途到达目的地,则由出租车司机通过Android移动终端向拼车服务器发送下车消息;
p)拼车服务器修改拼车组人数;
q)拼车服务器修改拼车组状态为:成功拼车并可以加人;
r)中途加入者查询行驶中拼车者人数并加入一个拼车组;
s)若人数未满,则加入成功行驶的组;否则,进入等待队列;
t)加入成功行驶的组以后,拼车服务器定时判断拼车组人数;
u)若拼车组人数为0,则表示拼车过程结束,删除拼车组。
本发明的有益效果:利用本发明提供的技术方案,用户可以通过Android移动终端在线查询与自己相关联的拼车组、拼车人和司机,并通过LBS定位技术在Android移动终端上显示邻近的拼车人和关联的拼车组以及其线路信息,并可以加入或者新建拼车组;同时利用SIP通信技术发起多方会话,并且可以在中途动态加入已经拼车行驶的拼车组。使用本系统和方法可以有效改善城市出租车紧张问题以及重新优化道路使用资源,改善城市交通拥堵,方便乘客出行。
附图说明
图1是本发明所述系统的系统部署图。其中101为SIP服务器,102为LBS服务器,103为拼车服务器,104为Android移动终端。
图2是本发明所述系统的系统工作流程图。
图3是本发明所述系统的基于SIP会话和LBS定位的Android移动终端的拼车方法流程图。
图4是本发明实施例中的系统架构图。
图5是本发明实施例中的初始界面图。
图6是本发明实施例中的执行过程界面图。
图7是本发明实施例中的查询结果返回界面图。
图8是本发实施例中的SIP消息序列图。
图9是本发明实施例中的拼车组状态图。
具体实施方式
本发明所述实施例包括以下硬件设备(各设备之间的连接关系如图1所示):
SIP服务器101,部署在WAN中,负责与发起用户所持Android移动终端104上的SIP信令通信,包括SIP的注册和SIP信令的发起、路由和结束。
LBS服务器103,部署在WAN中,负责接收从Android移动终端104发出的位置请求信息,计算线路信息,计算距离信息,并接收拼车服务器104返回的集合点和位置信息并下发到Android移动终端105;
拼车服务器104,部署在WAN中,负责根据街道和各个用户的位置信息从而在地图上标注拼车用户和司机用户的信息,并能计算出可用范围内的拼车用户和司机用户,并自动生成最佳拼车组;或者手动加组的方式形成拼车组。
Android移动终端105,是用户的手持或车载的移动通信设备,负责发送位置查询请求并显示地图信息,实现多媒体通信,即接收和发送基于SIP的信令消息和多媒体消息,建立、组队或取消拼车组,并与拼车中心服务器进行通信。
本发明的实施例由四个子系统构成,分别运行在SIP通信服务器、LBS服务器、拼车服务器以及Android移动终端。
SIP服务器,主要功能是负责与用户所持Android移动终端上的SIP信令通信,包括SIP的注册和SIP信令的发起、路由和结束。包括:
●SIP注册服务器模块:用于完成对Android移动终端SIP模块用户的登录,在SIP系统的网元中,所有SIP终端用户都要在某个登录服务器中登录,以便其他用户通过服务器能够找到它们。
●SIP代理服务器模块:它可以看作既是客户机又是服务器,具有解析名字的能力,负责代理用户之间的信令消息,能够将连接到其上的Android终端用户向下一跳服务器发出呼叫请求,服务器决定下一跳的地址。
●媒体流信息处理模块:用于传输多通道媒体流信息到SIP终端中。
●会话控制模块:包括在会话人数容量未满时随时接入新的参与者;强制性地取消某个与会者的发言权利;多方呼叫参与者;强制结束会话;对会议信息的管理。
LBS服务器,负责接收从Android移动终端104发出的位置请求信息,计算线路信息,计算距离信息,并接收拼车服务器返回的集合点和位置信息并下发到Android移动终端,包括:
●定位模块:可以实时定位拼车人和车载的终端,获取位置信息、查询车辆历史轨迹、显示定位拼车人和车辆基本信息等。
●距离计算模块:用于计算地图上坐标之间的距离。
●路线计算模块:用于计算地图上坐标之间的乘车路径。
●XML数据通信模块:用于与拼车服务器和Android移动终端之间进行数据交换。
Android移动终端,负责发送位置查询请求并显示地图信息,实现多媒体通信,即接收和发送基于SIP的信令消息和多媒体消息,建立、组队或取消拼车组,并与拼车中心服务器进行通信,包括:
●用户界面模块:显示地图并在地图上标注出信息,当点击各个标注时可以选择查看各个用户发布的信息。
●SIP信令通信模块:用于与SIP服务器进行SIP信令通信。
●媒体处理模块:用于与SIP服务器进行RTP等多媒体协议通信。
●拼车操作模块:用于与拼车服务器进行交互,执行拼车请求与响应。
拼车服务器,包括:
●SIP信令通信模块:用于与SIP服务器进行SIP信令通信。
●XML数据通信模块:用于与LBS服务器和Android移动终端进行通信交互。
●拼车管理模块:用于实现拼车服务和实现拼车状态机的维护。
●拼车查询模块:用于查询拼车者相关联的拼车路线和拼车人,并计算其线路关联度、拼车者关联度,并对查询结果按照关联度进行排序。
●距离判定模块:用于定时查询乘客和车主的位置信息,并判定乘客是否已经离开该车辆。
本发明实施例所包含的系统的具体工作流程,描述如下(如图5-图7所示,图5是本发明实施例中的初始界面图,图6是本发明实施例中的执行过程界面图,图7是本发明实施例中的查询结果返回界面图):
第1步、拼车者A(拼车角色为拼车组建者或者拼车参与者,乘车角色为乘客或者司机)首先打开Android移动终端,发送拼车登录消息至拼车服务器,成功登录后发送SIP注册消息至SIP服务器。
第2步、成功登录拼车服务器与SIP服务器后向LBS服务器发出位置查询请求。LBS服务器接收消息后执行位置信息查询操作并向Android移动终端发送查询结果消息。位置信息具体包括地址信息、经纬度信息和路线信息。
第3步、拼车者A的Android移动终端接收到位置信息后调用显示模块和标注模块在地图上进行显示。拼车者A通过Android移动终端进行查看自己所在的位置,并选择查询相关拼车组(第4步)、加入拼车组(第7步)、组建拼车组(第6步)。
第4步、若拼车者A选择查询拼车组,则可以选择路线主导模式或起终点主导模式来进行查询。
若选择路线主导模式进行查询,则拼车者A需要在Android移动终端上的地图上点击选择起点、途经的各中间地点,然后点击查询按钮,发送查询请求至拼车服务器。拼车服务器接收到查询请求后找出所有拼车者A的所有关联路线及其所在的拼车组,并按照路线相关度从大到小进行排序后,将查询到的关联拼车组结果返回到Android移动终端。
定义:关联路线
设(x,y)是拼车者A的指定路线PathA上的动态坐标,(x',y')是另一条线路PathB上的动态坐标。若PathB上的所有的点到PathA的最短距离都小于路线邻近阈值Dpath,则称PathB是PathA的关联路线。其中,Dpath即一个用户自定义的阈值。即对于任意PathB上的点(x',y'),都存在一个PathA上的动态坐标(x,y),使得点(x',y')、(x,y)的距离Dist(x',y')(x,y)小于路线邻近阈值Dpath
Dist Path A Path B = Min ( x &prime; , y &prime; ) &Element; Path B { Dist ( x &prime; , y &prime; ) ( x , y ) } = Min ( x &prime; , y &prime; ) &Element; Path B { ( x &prime; - x ) 2 + ( y &prime; - y ) 2 } < D path ,
&ForAll; ( x , y ) &Element; Path A
路线关联度Relevantpath由相互关联的两个路线的长短、起点和终点的接近程度决定。
定义:路线关联度
Relevant Path A Path B path = &lambda; P &times; Length Path A Path B + &lambda; S / Dist ( x SB , y SB ) ( x SA , y SA ) + &lambda; T / Dist ( x TB , y TB ) ( x TA , y TA )
其中,为相互关联的两个路线的路线关联度。为关联路线PathA和PathB的公共路线长度,λP是关联路线PathA和PathB的公共路线长度关联系数,λS为关联路线PathA和PathB的起点距离关联系数,为关联路线PathA的起点(xSA,ySA)与PathB的起点(xSB,ySB)之间的距离,λT是关联路线PathA和PathB的终点距离关联系数,为关联路线PathA的终点(xTA,yTA)与PathB的终点(xTB,yTB)之间的距离。由于公共路线长度关联系数具有更高的优先级别,起点距离关联系数次之,终点距离关联系数最次。所以λP通常比λS大,λS通常比λT大,通常取λS=100,λS=10,而λT=1。
若选择起终点主导模式进行查询,则拼车者A只需要在Android移动终端上的地图中选择起点和终点即可。然后点击查询按钮,发送查询请求至拼车服务器。拼车服务器接收到查询请求后查找关联拼车组结果返回到Android移动终端。起终点主导模式是根据关联拼车人的选择来决定的。而关联拼车人则是通过计算与拼车人的起点和终点的关联程度来决定的。与拼车者起点相关联的关联拼车者包括在拼车者直接邻近范围内或者间接邻近范围内的所有拼车人。
定义:直接邻近范围
拼车者A的直接邻近范围是满足下列条件的所有的位置(x,y)组成的范围,也称位置(x,y)在拼车者A在直接邻近范围内。
Dist ( x , y ) ( x A , y A ) = ( x - x A ) 2 + ( y - y A ) 2 < D carpooler
其中,(xA,yA)是拼车者A所在位置的坐标,Dcarpooler为用户自定义的一个阈值。
定义:间接邻近范围
设拼车者B是在拼车者A的直接邻近范围内,若拼车者C也在拼车者B的直接邻近范围内,则称拼车者C在拼车者A的间接邻近范围内。
关联拼车者包括起点关联拼车者、终点关联拼车者、起终点关联拼车者。
定义:起点关联拼车者
起点关联拼车者为起点在指定拼车者的起点的直接邻近范围或者间接邻近范围内。
定义:终点关联拼车者
终点关联拼车者为终点在指定拼车者的终点的直接邻近范围内。
定义:起终点关联拼车者
起终点关联拼车者为既是起点关联拼车者又是终点关联拼车者的拼车者。
拼车者关联度Relevantcarpooler是由拼车者的起点和终点的接近程度所决定的。
定义:拼车者关联度
Relevant ( x B , y B ) ( x A , y A ) carpooler = &lambda; S / Dist ( x SB , y SB ) ( x SA , y SA ) + &lambda; T / Dist ( x TB , y TB ) ( x TA , y TA )
其中,为两个拼车者A和B的拼车者关联度。λS为拼车者A和拼车者B的起点距离关联系数,为拼车者A的起点(xSA,ySA)与拼车者B的起点(xSB,ySB)之间的距离,λT是拼车者A和拼车者B的终点距离关联系数,为拼车者A的终点(xTA,yTA)与拼车者B的终点(xTB,yTB)之间的距离。
由于起点关联系数有更高的优先级别,所以λS通常比λT大,通常取λS=10,而λT=1。
拼车服务器通过查询模块找出这些拼车者后,并按照拼车者关联度进行排序,将查询到的关联拼车人结果返回到Android移动终端。
优选地,也可以先对拼车者的起点和终点进行聚类后,再在同类的范围内,按照与拼车者的距离大小来确定拼车者的关联度。
第6步、若拼车者选择组建拼车组操作,则需要发送组建拼车组请求至拼车服务器。若拼车者仅仅选择起点和终点,则拼车服务器仅仅考虑起终点查询模式;若拼车者不仅选择起点和终点,而且选择途经的中间地点,则拼车服务器同时考虑起终点模式和路线主导模式。假如拼车者A发送新建拼车组请求到拼车服务器,拼车服务器完成拼车组的建立后首先向拼车者A的关联拼车者发送消息(如图6圆形虚线范围内)。如图6所示,拼车者B在A的直接邻近范围内,可以看见拼车者A的拼车组并加入;拼车者C在B的直接邻近范围内,也是在拼车者A的间接邻近范围内,故拼车者C也可以看见拼车者A的拼车组并加入;而拼车者D虽然在拼车者A的直接范围内,但是拼车者D的终点不在拼车组线路范围内,故拼车者D不可以看见拼车者A的拼车组并且不能加入;拼车者E(司机)在A的邻近范围内,可以看见拼车者A的拼车组并加入。拼车组拼车者的人数上限是4,不能超过4;其中司机人数为1。(拼车组的信息存储着拼车目的地,拼车者总人数,拼车者以及他们各自的终点,司机和当前人数,司机的终点,拼车组的状态。)
第7步、若拼车者选择加入拼车组操作,则可以在两种情况下加入:第一种是在拼车组组建以后且未发车前,只能加入到拼车人起点邻近并且路线邻近的拼车组;另一种是在发车后未满员行驶状态下,只能加入到拼车人终点邻近并且路线邻近的拼车组。
第8步、当人数满员,或所有拼车人和司机发起同意后,拼车组状态进入协商状态。拼车服务器给SIP服务器发消息,SIP服务器对组内所有的拼车者发出SIP消息,邀请各个拼车者进行多方会话。图8是本发明实施例中的SIP消息序列图。会话结束后,如果一致同意发车,则拼车组建者发送同意发车信息到拼车服务器,该拼车组进入行驶状态。如满员则进入满员行驶状态,如不满员则进入可载行驶状态;否则,返回之前组队状态继续等待。
第9步、拼车者B在中途下车后,有两种方法更新拼车组状态:手动退出和自动退出判定。手动退出模式下,拼车者B通过Android移动终端退出拼车组,拼车服务器接收到消息后将拼车组状态信息改为可载行驶状态。自动退出判定模式下,拼车服务器的距离判定模块定时查询乘客和车主的位置信息,并判定乘客是否已经离开该车辆。具体来说,距离判定模块设定有自定义的限定值,当定时采集的乘客与车主的距离大于这个限定值时,距离判定模块则自动修改拼车服务器为非满员状态。
此后,拼车者F通过Android移动终端查询后,加入该拼车组,并刷新拼车组和司机的终点为F的终点。此后,拼车者C和拼车者A先后下车并修改了组的人数。最后拼车者F到达终点后,拼车组状态改为空车。拼车组将该拼车组的信息清空并删除。
图9是本发明实施例中的拼车组状态图。

Claims (8)

1.一种基于SIP会话和LBS定位的Android移动终端实时拼车系统,其特征是,所述系统包括:一台SIP服务器、多台Android移动终端、一台LBS服务器、一台拼车服务器,其中:
所述SIP服务器,部署在WAN中,与发起用户所持Android移动终端上的SIP信令进行多媒体通信,包括SIP的注册和SIP信令的发起、路由和结束,包括语音和文字的通信,并与拼车服务器进行交互并传输信息;
所述LBS服务器,部署在WAN中,接收从Android移动终端发出的位置请求信息,计算线路信息,计算距离信息,并接收拼车服务器返回的集合点和位置信息并下发到Android移动终端;
所述拼车服务器,部署在WAN中,根据街道和各个用户的位置信息从而在地图上标注拼车用户和司机用户的信息,并能计算出可用范围内的拼车用户和司机用户,并自动生成最佳拼车组;或者手动加组的方式形成拼车组;
Android移动终端,是用户的手持或车载的移动通信设备,负责发送位置查询请求并显示地图信息,实现多媒体通信,即接收和发送基于SIP的信令消息和多媒体消息,建立、组队或取消拼车组,并与拼车服务器进行通信;
所述SIP服务器,负责与用户所持Android移动终端上的SIP信令通信,包括SIP的注册和SIP信令的发起、路由和结束,包括:
-SIP注册服务器模块:用于完成对Android移动终端的SIP模块用户的登录,在SIP系统的网元中,所有SIP终端用户都要在某个登录服务器中登录,以便其他用户通过服务器能够找到它们;
-SIP代理服务器模块:具有解析名字的能力,负责代理用户之间的信令消息,能够将连接到其上的Android终端用户向下一跳服务器发出呼叫请求,服务器决定下一跳的地址;
-媒体流信息处理模块:用于传输多通道媒体流信息到SIP终端中;
-会话控制模块:包括在会话人数容量未满时随时接入新的参与者;强制性地取消某个与会者的发言权利;多方呼叫参与者;强制结束会话;对会话信息的管理。
2.如权利要求1所述的拼车系统,其特征是,所述LBS服务器,接收从Android移动终端发出的位置请求信息,计算线路信息,计算距离信息,并接收拼车服务器返回的集合点和位置信息并下发到Android移动终端,包括:
-定位模块:可以实时定位拼车人和车载的终端,获取位置信息、查询车辆历史轨迹、显示定位拼车人和车辆基本信息;
-距离计算模块:用于计算地图上坐标之间的距离;
-路线计算模块:用于计算地图上坐标之间的乘车路径;
-XML数据通信模块:用于与拼车服务器和Android移动终端之间进行数据交换。
3.如权利要求1所述的拼车系统,其特征是,所述Android移动终端,发送位置查询请求并显示地图信息,实现多媒体通信,即接收和发送基于SIP的信令消息和多媒体消息,建立、组队或取消拼车组,并与拼车服务器进行通信,包括:
-用户界面模块:显示地图并在地图上标注出信息,当点击各个标注时可以选择查看各个用户发布的信息;
-SIP信令通信模块:用于与SIP服务器进行SIP信令通信;
-媒体处理模块:用于与SIP服务器进行RTP多媒体协议通信;
-拼车操作模块:用于与拼车服务器进行交互,执行拼车请求与响应。
4.如权利要求1所述的拼车系统,其特征是,所述拼车服务器,包括:
-SIP信令通信模块:用于与SIP服务器进行SIP信令通信;
-XML数据通信模块:用于与LBS服务器和Android移动终端进行通信交互;
-拼车管理模块:用于实现拼车服务和实现拼车状态机的维护;
-拼车查询模块:用于查询拼车者相关联的拼车路线和拼车人,并计算其路线关联度和拼车者关联度,并对查询结果按照关联度进行排序。
5.如权利要求4所述的拼车系统,其特征是,所述路线关联度的计算方法为:
Relevant Path A Path B p a t h = &lambda; P &times; Length Path A Path B + &lambda; S / Dist ( x S B , y S B ) ( x S A , y S A ) + &lambda; T / Dist ( x T B , y T B ) ( x T A , y T A )
其中,为相互关联的两个路线的路线关联度,为关联路线PathA和PathB的公共路线长度,λP是关联路线PathA和PathB的公共路线长度关联系数,λS为关联路线PathA和PathB的起点距离关联系数,为关联路线PathA的起点(xSA,ySA)与PathB的起点(xSB,ySB)之间的距离,λT是关联路线PathA和PathB的终点距离关联系数,为关联路线PathA的终点(xTA,yTA)与PathB的终点(xTB,yTB)之间的距离。
6.如权利要求4所述的拼车系统,其特征是,所述拼车者关联度的计算方法为:
Relevant ( x B , y B ) ( x A , y A ) c a r p o o l e r = &lambda; S / Dist ( x S B , y S B ) ( x S A , y S A ) + &lambda; T / Dist ( x T B , y T B ) ( x T A , y T A )
其中,为两个拼车者A和B的拼车者关联度,λS为拼车者A和拼车者B的起点距离关联系数,为拼车者A的起点(xSA,ySA)与拼车者B的起点(xSB,ySB)之间的距离,λT是拼车者A和拼车者B的终点距离关联系数,为拼车者A的终点(xTA,yTA)与拼车者B的终点(xTB,yTB)之间的距离。
7.如权利要求1所述的拼车系统,其特征是,所述拼车系统的工作流程如下:
a)Android移动终端首先发送登录消息至拼车服务器;
b)拼车服务器接收终端登录消息,并转发SIP注册消息到SIP服务器;
c)Android移动终端接收来自SIP服务器的确认消息;
d)Android移动终端向LBS服务器发送定位消息;
e)LBS服务器进行位置查询;
f)Android移动终端接收到LBS的定位数据后,绘制在用户界面上,并保存到本地数据库中;
g)Android移动终端自动发送查询拼车消息到拼车服务器;
h)拼车服务器接收查询数据,并执行查询功能,即查询相关的拼车组、拼车者和司机信息;
i)拼车服务器返回这些数据到LBS服务器,并生成地图信息;
j)LBS服务器将地图信息发送到Android移动终端上;
k)拼车者或者司机加入或者新建一个拼车组,并将请求发送给拼车服务器;
l)拼车者就绪后,拼车服务器通知SIP服务器发起多方会话消息;
m)SIP服务器接收到消息后发起多方会话;
n)Android移动终端接收SIP服务器发来的邀请并参与SIP多方会话;
o)Android移动终端在SIP会话结束后,发送SIP会话结束消息到SIP服务器;
p)SIP服务器结束SIP会话,并通知拼车服务器建立拼车组;
q)拼车服务器通知LBS服务器,生成位置和路线信息;
r)LBS服务器将拼车成功的位置和路径信息发送到Android移动终端上。
8.一种基于SIP会话和LBS定位的Android移动终端实时拼车方法,其特征是,包括:
1)Android移动终端发送建立拼车组的请求到拼车服务器;
2)拼车服务器接收Android移动终端请求并组建拼车组;
3)拼车服务器计算相关的拼车组和拼车者,并通过LBS服务器反馈到Android移动终端上;
4)Android移动终端选择新建拼车组或者加入拼车组;
5)成功建立拼车组后,即可接收拼车者和司机加入拼车组;
6)如果所有人都同意启动SIP会话协商,则进入下一步;否则,有人主动退出或者被拼车组建立者踢出拼车组,然后进入拼车组队状态;
7)拼车服务器通知SIP服务器发起多方会话消息;
8)SIP服务器发起SIP多方会话并呼叫Android移动终端;
9)用户通过终端和SIP服务器、媒体服务器进行通信;
10)用户通过终端确认是否进行拼车;
11)如果所有用户都同意拼车方案,则进入下一步;否则,有人主动退出或者被踢出拼车组,然后进入拼车组队状态;
12)判断拼车组人数是否满员;
13)若满员,拼车服务器修改拼车组状态为:成功拼车、行驶中并满员;
14)若不满员,拼车服务器修改拼车组状态为:成功拼车并可以加人;
15)当有人中途到达目的地,则由出租车司机通过Android移动终端向拼车服务器发送下车消息;
16)拼车服务器修改拼车组人数;
17)拼车服务器修改拼车组状态为:成功拼车并可以加人;
18)中途加入者查询行驶中拼车者人数并加入一个拼车组;
19)若人数未满,则加入成功行驶的组;否则,进入等待队列;
20)加入成功行驶的组以后,拼车服务器定时判断拼车组人数;
21)若拼车组人数为0,则表示拼车过程结束,删除拼车组。
CN201310120487.2A 2013-04-09 2013-04-09 基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法 Expired - Fee Related CN103259783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310120487.2A CN103259783B (zh) 2013-04-09 2013-04-09 基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310120487.2A CN103259783B (zh) 2013-04-09 2013-04-09 基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法

Publications (2)

Publication Number Publication Date
CN103259783A CN103259783A (zh) 2013-08-21
CN103259783B true CN103259783B (zh) 2015-10-28

Family

ID=48963481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310120487.2A Expired - Fee Related CN103259783B (zh) 2013-04-09 2013-04-09 基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法

Country Status (1)

Country Link
CN (1) CN103259783B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873269A (zh) * 2012-12-11 2014-06-18 腾讯科技(深圳)有限公司 一种群组加入方法及系统
CN103685504A (zh) * 2013-12-11 2014-03-26 南京大学 基于Android平台的拼车系统及其工作方法
CN104807470B (zh) * 2014-01-27 2019-08-16 华为技术有限公司 导航方法和导航设备
CN103810843A (zh) * 2014-02-23 2014-05-21 曾昭兴 一种计程车拼车方法、系统及服务器
CN104464275B (zh) * 2014-02-23 2016-09-07 广州市沃希信息科技有限公司 一种基于多计程车的拼车方法、系统及服务器
CN104217585A (zh) * 2014-02-23 2014-12-17 广州市沃希信息科技有限公司 一种计程车拼车方法、系统及服务器
AU2015251350A1 (en) 2014-04-24 2016-11-10 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for managing supply of service
CN103985247B (zh) * 2014-04-24 2016-08-24 北京嘀嘀无限科技发展有限公司 基于城市叫车需求分布密度的出租车运力调度系统
CN104133613A (zh) * 2014-07-25 2014-11-05 大陆汽车投资(上海)有限公司 基于位置头像的快捷操作方法
CN105989526A (zh) * 2015-02-04 2016-10-05 上海斐讯数据通信技术有限公司 一种基于o2o自主拼团的方法、实现系统及移动终端
CN104900049B (zh) * 2015-04-17 2017-10-31 胥达 一种拼出租车或私家车、搭顺风车的方法
US10796248B2 (en) * 2015-04-29 2020-10-06 Ford Global Technologies, Llc Ride-sharing joint rental groups
CN106506574B (zh) * 2015-09-07 2020-08-28 腾讯科技(深圳)有限公司 实现候选用户推送的方法及系统
CN105279955B (zh) * 2015-10-14 2019-02-01 深圳市十方联智科技有限公司 一种拼车方法及设备
CN106908077B (zh) * 2015-12-23 2020-10-27 滴滴(中国)科技有限公司 基于地图的用户路线显示方法及装置
CN105956686A (zh) * 2016-04-20 2016-09-21 西安电子科技大学 车辆共享利润最大化的用户请求分配系统及其方法
US20170316533A1 (en) * 2016-04-29 2017-11-02 GM Global Technology Operations LLC Personal safety and privacy features for passengers of an autonomous vehicle based transportation system
CN106296489A (zh) * 2016-08-22 2017-01-04 成都景触科技有限公司 采用无线数据传输的游客换团管理方法
CN106844707A (zh) * 2017-02-06 2017-06-13 王然 一种电子地图浏览系统及其浏览方法
CN109635980B (zh) * 2018-12-21 2023-09-05 重庆呼我出行网络科技有限公司 约车订单分配方法及系统
CN110210749B (zh) * 2019-05-28 2022-04-29 东南大学 一种轨道站点衔接共享单车投放量和投放位置确定方法
CN110784827A (zh) * 2019-10-14 2020-02-11 程成 一种用于结伴出行及计算车费的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355714A (zh) * 2007-07-24 2009-01-28 梁宇杰 一种实时拼车系统和方法
CN102156941A (zh) * 2011-04-02 2011-08-17 厦门大学 一种城市便捷拼车系统及其方法
CN102202053A (zh) * 2011-04-26 2011-09-28 西安交通大学 一种基于lbs和sns的出租车拼车系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355714A (zh) * 2007-07-24 2009-01-28 梁宇杰 一种实时拼车系统和方法
CN102156941A (zh) * 2011-04-02 2011-08-17 厦门大学 一种城市便捷拼车系统及其方法
CN102202053A (zh) * 2011-04-26 2011-09-28 西安交通大学 一种基于lbs和sns的出租车拼车系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田智勇.实时拼车系统总体设计.《基于Android平台的实时拼车系统的设计和实现》.2007,第1-3,12-22页. *

Also Published As

Publication number Publication date
CN103259783A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
CN103259783B (zh) 基于SIP会话和LBS定位的Android移动终端实时拼车系统及方法
US10260897B2 (en) Computer-implemented system and method for dynamic travel coordination
CN105931479B (zh) 一种车辆间即时信息交互方法及其系统
Liu et al. When transportation meets communication: V2P over VANETs
CN104077912B (zh) 基于群智的出租车智能拼车方法
WO2016008391A1 (zh) 在网络租车系统中为他人订车的方法和系统
CN103426139B (zh) 共乘者媒合配对的系统及其方法
CN106469514A (zh) 一种地点提示方法和装置
CN104715296A (zh) 一种面向交通枢纽的出租车拼车机制设计及实现的方法
CN107634977B (zh) 叫车处理方法、装置、设备和系统
JP2004062490A (ja) 相乗り代理交渉システムおよび相乗り代理交渉方法
CN102752393A (zh) 出租车订车系统及订车方法
CN102196103B (zh) 基于移动通信和定位技术实现出租车业务竞标的平台
CN1710923A (zh) 用于提供基于位置的约会服务的方法
US20200124426A1 (en) Method and apparatus for routing a user and a vehicle to a destination
CN101206807A (zh) 公交车位置信息查询系统及查询方法
CN108537353A (zh) 约车方法、约车装置及约车系统
US20100144345A1 (en) Using called party mobile presence and movement in communication application
CN104330091A (zh) 基于信息共享的导航系统及导航方法
CN104464275A (zh) 一种基于多计程车的拼车方法、系统及服务器
CN110519702B (zh) 一种基于群体社交的文化旅游出行轨迹生成及服务系统及其工作方法
CN109410562A (zh) 一种社区公交的优化调度方法
CN103856566A (zh) 车友互动方法及车友互动系统
Nagare et al. Dynamic carpooling application development on android platform
CN104217386A (zh) 车队车辆管理系统、车队车辆管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151028

Termination date: 20210409