一种基于iPhone手机平台的移动航班动态通知系统及其方法
技术领域
本发明涉及一种基于iPhone手机平台的移动航班动态通知系统及方法,通过该系统或方法,iPhone手机用户能够利用客户端应用及时自动获取航班动态信息。
背景技术
随着信息技术的进步,国内航空旅游业得到了迅猛的发展,乘坐飞机出行的旅客也相应大幅度增加。随之而来的问题就是相关配套设施及服务是否能让旅客满意,以便能更大程度的为旅客提供便利。
为了更好的服务于民航旅客,航班动态查询功能出现了。原先的航班动态查询一般都是旅客自行通过网站或电话进行操作,如果旅客所在航班在某一时刻状态发生了变更,旅客不可能随时随地的去查询航班动态,而航空公司或机场的又不能做到及时通知每一位该航班旅客,到最后旅客很可能到了机场才知道航班取消等情况。这不仅使航空公司形象在旅客心中大打折扣,而且使旅客对该航空公司的服务产生了怀疑,可能导致旅客选择其他航空公司。国内因天气、机械故障原因发生航班推迟的情况时有发生,甚至因此而造成旅客与航空公司人员冲突,都是因为旅客在事先没有得到通知。如果旅客在航班取消或延误等变更时等都会及时收到动态消息通知,随时掌握所乘坐航班的信息,他的下一步安排也有了充足的保障。
由于以上原因,一种基于iPhone手机的移动航班动态通知系统及方法应运而生。它能够在任何时间主动将航班动态通知到旅客,为旅客出行计划提供支持,极大方便了旅客的行程安排。
本发明的基于iPhone手机的移动航班动态通知系统及方法解决了上述问题,主动将航班动态通知到旅客,实现了航班动态的自动下发。
发明内容
本发明提供一种基于iPhone手机平台的移动航班动态通知系统,由iPhone客户端系统与服务端系统组成。客户端系统包括iPhone客户端应用模块;服务端系统包括:行程提取模块,消息订阅模块,消息解析模块,消息推送模块。
客户端应用模块负责用户注册、登陆并简单校验注册信息,提交服务端需要的参数数据,最后接收航班动态消息通知。
服务端行程提取模块每天定时启动,根据客户端提交的身份证信息提取用户当天航班行程,然后将其存储进行程库中。
服务端消息订阅模块首先获取行程库中当天旅客行程信息,然后在旅客行程航班中,判断该航班是否已经订阅过动态通知服务,如果是则结束;如果否,则订阅动态通知服务。接着,根据返回信息判断是否订阅成功,如果是则结束;如果否,则判断是否需要重新订阅,如果需要则重新订阅刚才的服务;如果不需要,则结束。
服务端消息解析模块定期轮循指定消息库,判断是否有订阅到的消息通知存在,如果有则解析该消息。然后根据解析后内容航班数据查询行程数据库是否存在用户订阅该航班,如果无用户订阅则结束;如果存在用户订阅,则查询用户配置信息判断该用户动态消息通知开关是否启用,如果未启用,则结束;如果启用,则根据用户行程表和用户设备信息库生成相应用户ID的动态消息并存储。
服务端消息推送模块定期轮循消息库,判断是否存在未发送iPhone手机用户的动态消息通知,如果有则将其关联用户设备信息库生成最终动态消息,然后将其推送到苹果APNS服务器,最后由苹果服务器下推动态通知。
本发明还提供一种基于iPhone手机平台的移动航班动态通知方法,包括如下步骤:
步骤1,iPhone客户端应用模块首先校验旅客注册数据,然后提交给服务端;
步骤2,服务端行程提取模块存储客户端注册数据,根据旅客信息获取旅客行程并存储到行程库;
步骤3,服务端消息订阅模块每天定期从旅客行程库中提取当天行程所在航班并订阅该航班动态通知服务;
步骤4,服务端消息解析模块会异步收到订阅的信息通知并存入异步订阅库,并定期轮循异步订阅消息库,解析消息并存储;
步骤5,服务端消息解析模块根据解析后消息内容关联用户行程库与客户端配置决定是否生成动态消息通知;
步骤6,服务端消息推送模块将动态消息通知推送给苹果APNS服务器,最后下推到客户端手机。
在步骤1中,首先客户端应用校验旅客注册数据是否有效,如果无效,则返回错误提示,注册通过后,旅客信息提交到服务端。
当旅客信息提交到服务端后,首先进入的是服务端行程提取模块,在步骤2中,该模块根据旅客身份证信息获取旅客行程信息并存储进旅客行程信息库;所述步骤2包括如子步骤:
步骤2.1服务端行程提取模块获取用户登录提交的身份信息;
步骤2.2根据用户信息提取用户行程信息;
步骤2.3把提取的用行程信息存储进行程信息库。
然后在步骤3中,进行消息订阅,判断旅客行程中当天航班是否已经订阅过动态通知服务,如果未订阅则订阅动态通知服务;所述步骤3还包括如下步骤:
步骤3.1,服务端消息订阅模块程序从旅客行程库中获取当天旅客行程;
步骤3.2,根据旅客行程所在航班判断它是否已经订阅过动态通知服务,如果未订阅则订阅动态通知服务;
步骤3.3,根据订阅返回信息判断是否订阅成功,如果未成功则判断是否需要重新订阅。
在步骤4中,订阅动态通知服务后服务端消息解析模块会异步收到动态消息,服务端消息解析模块程序会定期查询异步消息存取库,如果存在动态消息则进行解析;包括如下步骤:
步骤4.1,服务端消息解析模块程序定期查询异步动态消息库是否存在消息,如果存在继续下一步;如果否,则返回重新查询;
步骤4.2,解析异步动态消息;
步骤4.3,根据动态消息所在航班判断旅客行程库是否存在用户订阅过,如果存在,继续下一步;如果否,则结束;
步骤4.4,判断用户的动态通知开关是否打开,如果否,则结束;如果打开则联合行程库用户信息生成关联用户ID的动态消息并存储,然后结束。
在步骤5中,服务端消息解析模块对解析后内容联合旅客行程库查询,判断该消息航班是否存在旅客订阅,如果存在进一步判断该旅客个人设置的动态通知开关是否打开,如果已经打开则生成动态消息存储。
在步骤6中,服务端消息推送模块将动态消息推送到苹果服务器,由其下推到客户端手机,包括如下步骤:
步骤6.1,服务端消息推送模块程序定期查询消息库是否存在未发送iPhone手机用户消息,如果存在继续下一步;如果否,则返回重新查询;
步骤6.2,联合用户设备信息库与消息库生成最终格式消息;
步骤6.3,发送消息到苹果服务器,
步骤6.4,推送到iPhone手机上。
本发明重在客户端应用与服务端程序非实时性连接情况下,服务端将航班动态消息主动下推到客户端,由消息提示直接进入应用查看详细内容。
附图说明
图1为本发明基于iPhone手机平台的移动航班动态通知系统方框图;
图2为本发明基于iPhone手机平台的移动航班动态通知系统总体流程图;
图3为本发明基于iPhone手机平台的移动航班动态通知系统服务端旅客行程提取流程图;
图4为本发明基于iPhone手机平台的移动航班动态通知系统服务端消息订阅流程图;
图5为本发明基于iPhone手机平台的移动航班动态通知系统服务端消息解析流程图;
图6为本发明基于iPhone手机平台的移动航班动态通知系统服务端消息推送流程图;
图7为本发明基于iPhone手机平台的移动航班动态通知系统客户端注册信息提交图;
图8为本发明基于iPhone手机平台的移动航班动态通知系统客户端动态通知开关图;
图9为本发明基于iPhone手机平台的移动航班动态通知系统客户端动态通知消息显示图;
具体实施方式
本发明中使用到的部分术语:
APNS(Apple Push Notification Service):在苹果的操作系统3.0以上,苹果的推送信息的服务。
如图1所示,本发明的基于iPhone手机平台的移动航班动态通知系统由客户端应用和服务端系统构成,客户端即iPhone客户端应用模块;服务端系统包括:行程提取模块,消息订阅模块,消息解析模块,消息推送模块。服务端由两台IBM小型机组成应用服务器集群,两台小型机构成HTTP接入服务器,一台小型机构成数据库系统。HTTP接入服务器负责接收所有请求,然后根据负载均衡将请求分配到到应用服务器集群其中一台。应用服务器处理成功后会将数据记录写入数据库服务器。
旅客在iPhone客户端应用界面注册时,首先会简单判断注册信息是否有效,然后将其提交到后服务端,同时客户端应用必须打开动态消息通知开关。
服务端行程提取模块根据客户端提交的旅客身份证信息获取旅客行程并将其保存到旅客行程数据库。
服务端消息订阅模块从旅客行程数据库中提取当天旅客行程,然后根据行程所在航班判断该航班之前是否已经订阅过动态通知服务,如果未订阅会订阅动态通知服务。接着根据订阅返回信息判断此次航班动态订阅是否成功,成功即结束;如果未成功,判断是否需要重新订阅,最后结束。
服务端消息解析模块负责对异步获取的动态消息进行解析,它会定期轮循异步动态消息库,查询是否有航班动态消息存在,如果存在则解析消息内容并根据解析结果查询旅客行程数据库,判断是否有旅客所在航班订阅过,如果有订阅,接着判断该旅客动态通知开关是否打开,在开关打开的情况下,最后生成定制格式的动态通知消息并存储。
服务端消息推送模块定期查询定制格式的动态消息库是否存在未发送iPhone手机旅客动态通知消息,如果存在则联合旅客手机设备信息库将动态消息与手机设备信息发送到苹果APNS服务器,最终由苹果服务器将航班动态消息推送到iPhone客户端。
如图2所示,本发明的基于iPhone手机平台的移动航班动态通知系统,其动态通知方法包括如下步骤:
步骤1,iPhone客户端应用首先校验旅客注册数据,然后提交给服务端;
步骤2,服务端行程提取模块存储客户端注册数据并根据旅客信息获取旅客行程存储;
步骤3,服务端消息订阅模块每天定期从旅客行程库中提取当天行程所在航班并订阅该航班动态通知服务;
步骤4,服务端消息解析模块会异步收到订阅的信息通知并存入异步订阅库,程序定期轮循异步订阅消息库,解析消息并存储;
步骤5,服务端消息解析模块根据解析后消息内容关联用户行程库与客户端配置决定是否生成动态消息通知;
步骤6,服务端消息推送模块将动态消息通知推送给苹果APNS服务器,最后下推到客户端手机;
如图3所示为本发明的服务端旅客行程提取模块所进行操作流程图,服务端根据客户端数据提取旅客当天行程并存储进旅客行程库;包括如下步骤:
2.1获取用户登录提交的身份信息;
2.2根据用户信息提取用户行程信息;
2.3把提取的用行程信息存储进行程信息库。
如图4所示,本发明的服务端消息订阅模块所进行操作流程图,包括如下步骤:
步骤3.1,服务端消息订阅模块程序从旅客行程库中获取当天旅客行程;
步骤3.2,根据旅客行程所在航班判断它是否已经订阅过动态通知服务,如果未订阅则订阅动态通知服务;
步骤3.3,根据订阅返回信息判断是否订阅成功,如果未成功则判断是否需要重新订阅;
如图5所示,本发明的服务端消息解析模块所进行操作流程图,包括如下步骤:
步骤4.1,服务端消息解析模块程序定期查询异步动态消息库是否存在消息,如果存在继续下一步;如果否,则返回重新查询;
步骤4.2,解析异步动态消息;
步骤4.3,根据动态消息所在航班判断旅客行程库是否存在用户订阅过,如果存在,继续下一步;如果否,则结束;
步骤4.4,判断用户的动态通知开关是否打开,如果否,则结束;如果打开则联合行程库用户信息生成关联用户ID的动态消息并存储,然后结束;
如图6所示,本发明的服务端消息推送模块所进行操作流程图,包括如下步骤:
步骤6.1,服务端消息推送模块程序定期查询消息库是否存在未发送iPhone手机用户消息,如果存在继续下一步;如果否,则返回重新查询;
步骤6.2,联合用户设备信息库与消息库生成最终格式消息;
步骤6.3,发送消息到苹果服务器,
步骤6.4,推送到iPhone手机上。
图7为本发明iPhone客户端注册信息提交图;
图8为本发明iPhone客户端动态通知开关图;
图9为iPhone客户端动态通知消息显示图;
现举例说明如下,iPhone手机客户端打开“航旅纵横”产品,旅客首先进入注册界面提交注册信息,并在成功注册后打开客户端“航班动态提醒”开关。见图7、图8。
服务端根据客户端旅客信息提取出旅客当天行程,然后判断行程所在航班是否已订阅过航班动态通知服务,没有就订阅该航班动态通知服务。由于订阅服务后不一定马上就有航班动态消息,所以航班动态消息是异步到达的。此时,消息解析模块程序会定期查询是否有动态消息到达,当查询到有消息时解析并做相关处理后生成定制格式的动态消息存储。消息发送模块同样需要定期查询定制格式动态消息库,将定制格式动态消息与对应用户iPhone手机设备信息发送到苹果APNS服务器,最后推送到iPhone手机客户端。
iPhone手机客户端在无需打开客户端应用的情况自动接收到航班动态消息后,会弹出消息框提示,旅客只要点击该提示框即可打开“航旅纵横”客户端进行详细查看,同时该动态消息也会保存在客户端。见图9。