基于无线网络的数据交换方法
【专利摘要】本发明公开了一种基于无线网络的数据交换方法,包括:验证终端开启,启动扫描线程;验证终端扫描卡信息,并向服务器发送查询与该卡信息对应的订单的请求;服务器返回查询结果,验证终端收到服务器返回的订单信息后,放行游客;同时向服务器发送核销请求并将该待核销信息存储至本地数据库;服务器进行核销处理;删除本地数据库中核销成功后的数据。使用本发明的基于无线网络的数据交换方法,既可以保证给游客检票给予最及时的响应,又确保了数据的准确性。
【专利说明】基于无线网络的数据交换方法
【技术领域】
[0001]本发明涉及计算机领域,特别涉及一种基于无线网络的数据交换方法。
【背景技术】
[0002]随着电子商务的发展,在智慧旅游方面,国内外出现了不少电商网,其通过电子商务渠道便可以实现电子票的销售,其付款模式也呈现多样化,如在线支付,现金支付(到付)等,但在门票的验证方面这些电商网却表现的参差不齐,有些甚至因为验证而成为自己的短板。由于门票验证对电商网与景区的契合度要求很高,而且需要一定的硬件投入如验证终端。目前,大部分电商网摒弃了这块的电子商务转而改成到付和人工验票方式,也就是说只是把电子售票放在网上,支付和验证都还是传统的模式,这样现金流就牢牢掌握在景区手中,对于电商网自己的盈利变得很被动。
[0003]然而,为达到纯粹和全流程的电子商务,旅游行业越来越多地使用电子凭证代替传统的纸质票,在使用无线终端对电子凭证进行检票的数据交换过程中而产生。目前采用的方法比较简单,即通过向服务器发送请求,查询相应的电子凭证是否存在于服务器中,能查询到即代表检票成功,随即改变服务器端电子票的状态,这种方法的前提是无线网络非常稳定,但事实上无线网络是不稳定的,在这种情况下,经常出现第一次验票不成功,而第二次验票显示已验过的情况,即出现查到票后数据在返回的过程中丢失的问题。解决这个问题需采用“三次握手”,即在游客检票成功之后要确保后台的标识修改同步成功,但这又增加了游客的等待时间,假设此时无线网络不稳定,那游客就要等待后台核销成功之后才能进入游览区域,浪费时间,容易造成游客堆积,有悖景区的实际情况。
【发明内容】
[0004]本发明提供一种基于无线网络的数据交换方法,以实现平衡检票的及时性和正确性。
[0005]为解决上述技术问题,本发明提供一种基于无线网络的数据交换方法,包括:验证终端开启,启动扫描线程;验证终端扫描卡信息,并向服务器发送查询与该卡信息对应的订单的请求;服务器返回查询结果,验证终端收到服务器返回的订单信息后,放行游客;同时向服务器发送核销请求并将该待核销信息存储至本地数据库;服务器进行核销处理;删除本地数据库中核销成功后的数据。
[0006]作为优选,验证终端在启动扫描线程的同时开启轮询线程,对本地数据库中的待核销数据进行循环检查。
[0007]作为优选,所述轮询线程步骤包括:验证终端检测本地数据库中存在待核销数据,对待核销数据进行逐条扫描,向服务器发送核销请求,并等待返回结果;若服务器返回的结果为核销成功,则删除该核销数据,扫描下一条待核销数据;若服务器返回的结果为核销失败,轮询线程直接扫描下一条待核销数据;若无下一条待核销数据则从头开始扫描,直至本地数据库中的待核销数据核销完毕。[0008]作为优选,所述轮询线程由验证终端采用多线程的方式在后台循环运行。
[0009]作为优选,所述验证终端与服务器之间采用https方式交互。
[0010]本发明是在多年旅游行业电子门票验证的经验基础上,平衡检票的及时性和正确性。采用本发明的基于无线网络的数据交换方法,在查询到游客已经购票时即可放行游客,此时进行一次核销操作,也即对于放行的游客向服务器发送一次请求改变其所持电子票的状态,但这次请求并不处理其后续返回,目的是为了尽快对下面的游客进行验证,并立即把该条记录写入本地数据库(也可以称为已放行待核销游客数据库),由后台线程通过对该本地数据库进行轮询,依次检验其中的每一条记录是否核销成功,如果没有的话重新核销,直至后台数据库中的所有记录都核销成功后才完成对已检票游客的所有后台同步任务,使用该方法,既保证了游客检票最及时的响应,又确保了数据的准确性,通过在实际中的应用检验,本发明是目前最为有效的无线终端数据交换方法。
【专利附图】
【附图说明】
[0011]图1为本发明一【具体实施方式】中扫描线程示意图;
[0012]图2为本发明一【具体实施方式】中基于无线网络的数据交换方法的示意图。
【具体实施方式】
[0013]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。需说明的是,本发明附图均采用简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0014]如图1和图2所示,下面将详细说明本发明基于无线网络的验证终端与服务器之间的数据交换方法。其中,验证终端和服务器的交互采用https (超文本传输安全协议,英文全称:Hyper Text Transfer Protocol Secure)方式,数据在传输的过程中经过加密,验证终端共运行两个线程:扫描线程和轮询线程,扫描线程通过循环读卡并发送查询订单请求以及核销请求,验证终端使用精简版的本地数据库存储已放行但未核销的游客记录,轮询线程对数据库中的记录执行核销检查,直至数据库中记录为空,至此完成阶段性的同步任务,并不间断检测数据库中是否有新增数据,检测到立即执行新一轮核销检查,按此无限制循环下去。
[0015]请继续参照图1?2,本发明的基于无线网络的数据交换方法,包括以下步骤:
[0016]首先,验证终端(也称客户端)开机,程序启动;
[0017]接着,启动无限制的用于循环读卡的扫描线程,启动无限制的轮询线程。
[0018]扫描线程和轮询线程操作如下:
[0019]1、卡放置到验证终端的扫描器上,验证终端扫描卡信息,并向服务器发送查询订单的请求。
[0020]2、服务器根据卡信息查询对应订单。
[0021]3、服务器返回查询结果。
[0022]4、当验证终端收到正确的查询结果即与卡对应的订单信息时,放行游客;当然,若服务器返回的结果为未查到对应订单,则不能放行游客,也就不存在后续操作。
[0023]5、放行游客的同时,验证终端再向服务器发送一次请求,请求服务器更改已放行游客的订单的验证状态,同时将待核销信息写入本地的数据库;
[0024]依次类推,检票机重复步骤I?5,循环检票并循环向服务器发送请求。
[0025]6、在扫描线程运行的同时,在验证终端后台运行的轮询线程检测到本地数据库有新增记录,启动核销检查,对本地数据库中的待核销数据进行循环检查。
[0026]具体地,验证终端检测到本地数据库中存在待核销数据,对待核销数据进行逐条扫描,并向服务器发送核销请求,等待返回结果;
[0027]若服务器返回的结果为核销成功,则删除该核销数据,扫描下一条待核销数据,扫描一遍之后对核销记录从头开始循环检查,直到全部核销完毕为止;
[0028]若服务器返回的结果为核销失败,不进行任何操作,轮询线程直接扫描下一条待核销数据;在核销过程中,若没有下一条待核销数据,则从头开始扫描,直至本地数据库中的待核销数据核销完毕。
[0029]此时验证终端的验证数据与服务器端的保持一致。
[0030]请继续参照图1?2,下面以游乐园检票为例,说明本发明的应用。
[0031]首先,将门票放置到检票机的检票口上进行扫描,获取门票信息,并通过该门票信息向服务器发送查找与该门票对应的订单信息的请求。
[0032]服务器查询对应的订单信息并返回至检票机,若服务器返回的结果为未查到对应订单,不能放行游客。当检票机收到与门票信息对应的订单信息时,显示检票成功,放行游客;与此同时,检票机再次向服务器发送请求,请求服务器更改已放行游客的订单的验证状态,将订单状态从未使用状态更改为已核销状态,同时将待核销信息写入本地的数据库中。
[0033]在扫描线程运行的同时,当验证终端检测到本地数据库中存在待核销数据时,后台运行的轮询线程开始对待核销数据进行逐条扫描,向服务器发送核销请求,等待返回结果;若服务器返回的结果为核销成功,则删除本地数据库中对应的数据,接着扫描下一条待核销数据,扫描一遍之后对核销记录从头开始循环检查,直到全部核销完毕为止;若服务器返回的结果为核销失败,不进行任何操作,轮询线程直接扫描下一条待核销数据;在核销过程中,若没有下一条待核销数据,则从头开始扫描,直至本地数据库中的待核销数据核销完毕。
[0034]由上可知,采用本发明的数据交换方法,在第一次握手成功(完成步骤I?3)即可放行游客,对于游客来说,此时已是检票成功。而后台中与已放行游客对应的订单数据并未真正核销,此时验证终端发送一个核销请求但并不接受处理结果,目的是节省时间,随即进入对下一个游客的检票,最及时地完成了验票响应,保证了游客在检票口不积压。因此,检票使用的时间仅为验证终端与服务器的一次对话完成的时间,避免了游客堆积。
[0035]在无线网络信号良好的状态下,步骤5中的核销请求即可改变放行游客的订单状态从未使用到已核销,若无线网络信号不好,造成核销失败,如果到步骤5为止的话,会造成验证终端与服务器的数据不一致。因此,步骤6的轮询线程可保证其状态的一致性,“轮询”是指验证终端使用多线程的方式在后台循环检验已入园游客的订单状态直至把其变为已验证为止,不影响主进程的执行。由于轮询是把待轮询数据存储在终端本地数据库中,所以可以保证即使网络在一个游客的首次握手后断掉,只要有恢复的时候便可保证数据是准确的,那如果网络永远断掉,此时无线检票终端也失去了本来的意义,也无须计较一条数据的准确与否。[0036]本发明在景区的无线检票终端中试用,在游客的入园响应方面表现较好,同时门票核销方面也非常准确地保证了双方数据的一致性,也即是说,在景区真正游览的游客数和机器反馈给后台的数据是一致的,说明了本发明的正确性。
[0037]显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
【权利要求】
1.一种基于无线网络的数据交换方法,其特征在于,包括: 验证终纟而开启,启动扫描线程; 验证终端扫描卡信息,并向服务器发送查询与该卡信息对应的订单的请求; 服务器返回查询结果,验证终端收到服务器返回的订单信息后,放行游客;同时向服务器发送核销请求并将该待核销信息存储至本地数据库; 服务器进行核销处理; 删除本地数据库中核销成功后的数据。
2.如权利要求1所述的基于无线网络的数据交换方法,其特征在于,验证终端在启动扫描线程的同时开启轮询线程,对本地数据库中的待核销数据进行循环检查。
3.如权利要求2所述的基于无线网络的数据交换方法,其特征在于,所述轮询线程步骤包括: 验证终端检测本地数据库中存在待核销数据,对待核销数据进行逐条扫描,向服务器发送核销请求,并等待返回结果; 若服务器返回的结果为核销成功,则删除该核销数据; 若服务器返回的结果为核销失败,轮询线程直接扫描下一条待核销数据,若无下一条待核销数据则从头开始扫描,直至本地数据库中的待核销数据核销完毕。
4.如权利要求2所述的基于无线网络的数据交换方法,其特征在于,所述轮询线程由验证终端采用多线程的方式在后台循环运行。
5.如权利要求1?4任一项所述的基于无线网络的数据交换方法,其特征在于,所述验证终端与服务器之间采用https方式交互。
【文档编号】H04L29/06GK103780606SQ201410012283
【公开日】2014年5月7日 申请日期:2014年1月10日 优先权日:2014年1月10日
【发明者】徐建军, 刘中原 申请人:苏州江河行信息技术有限公司