本发明涉及一种支持在线和离线方式切换的信息状态验证方法及系统。
背景技术:
现存的信息状态验证系统如验票系统主要包括两种:
1)在线信息状态验证系统,如在线验票系统:每次获取票号后访问验票的服务来验证这个票号是否可入场,存在的问题是因为场地经常聚集着大量的人群,整体网络不稳定,当网络情况不好时在线验票系统便无法使用;
2)离线信息状态验证系统,如离线验票系统:将票号导入至各个验票系统中,然后每次获取票号后查询这个票号是否在本地系统中存在,存在的问题是因为在线验票系统中票号已验时,没有把票状态更新数据传入离线验票系统,在线验票系统与离线验票系统中的票状态不一致,导致用户可以多次入场且一个票可以通过离线验票系统中的多个验票机器入场。
技术实现要素:
本发明的目的在于提供一种支持在线和离线方式切换的信息状态验证方法及系统,能够解决网络状态异常时,在线信息状态验证系统无法提供信息状态验证服务,及在线信息状态验证系统与离线信息状态验证系统中的信息状态不一致的问题。
为解决上述问题,本发明提供一种在线服务端支持在线和离线方式切换的信息状态验证方法,所述方法包括当网络状态正常时,迭代更新信息状态,包括:
从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一在线消息队列;
将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端。
进一步的,在上述方法中,所述迭代更新信息状态之前,还包括:
向离线服务端发送在线服务端的线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
进一步的,在上述方法中,所述方法还包括:
当网络状态异常时,停止所述迭代信息状态更新;
当网络状态恢复正常时,恢复所述迭代更新信息状态。
进一步的,在上述方法中,恢复迭代信息状态更新之前,还包括:
当网络状态恢复正常时,从所述离线服务端接受其离线消息队列中的信息状态更新数据。
根据本申请的另一面,还提供一种离线服务端的支持在线和离线方式切换的信息状态验证方法,所述方法包括:
当网络状态正常时,停止从客户端接收信息状态验证请求,并从所述在线服务端接收其在线消息队列中的信息状态更新数据;
当网络状态异常时,从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一离线消息队列。
进一步的,在上述方法中,从所述在线服务端接收其在线消息队列中的信息状态更新数据之前,还包括:
从在线服务端接收其线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
进一步的,在上述方法中,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一离线消息队列之后,所述方法还包括:
当网络状态正常时,停止从客户端接收信息状态验证请求,并将所述离线消息队列中的所述信息状态更新数据发送至所述在线服务端。
根据本发明的另一面,提供一种在线服务端,包括迭代更新装置,用于当网络状态正常时,迭代更新信息状态,迭代更新装置包括:
第一更新模块,用于从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一在线消息队列;
第一发送模块,用于将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端。
进一步的,上述在线服务端中,所述第一更新模块,还用于向离线服务端发送在线服务端的线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
进一步的,上述在线服务端中,还包括切换装置,用于当网络状态异常时,停止迭代更新装置以停止所述迭代信息状态更新;当网络状态恢复正常时,启动所述迭代更新装置以恢复所述迭代更新信息状态。
进一步的,上述在线服务端中,所述切换装置,还用于启动所述迭代更新装置之前,从所述离线服务端接受其离线消息队列中的信息状态更新数据。
根据本申请的另一面,还提供一种离线服务端,包括:
第二接收装置,用于当网络状态正常时,停止从客户端接收信息状态验证请求,并从所述在线服务端接收其在线消息队列中的信息状态更新数据;
第二更新装置,用于当网络状态异常时,从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一离线消息队列。
进一步的,上述离线服务端中,所述第二接收装置,还用于从在线服务端接收其线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
进一步的,上述离线服务端中,所述第二接收装置,还用于当网络状态正常时,停止从客户端接收信息状态验证请求,并将所述离线消息队列中的所述信息状态更新数据发送至所述在线服务端。
根据本申请的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机可执行指令被处理器执行时使得该处理器:
当网络状态正常时,迭代更新信息状态,包括:
根据本申请的另一面,还提供一种计算器设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
与现有技术相比,本申请当网络状态正常时,可以通过在线服务端提供信息状态验证服务,并同时备份好对应于所述信息状态验证请求的信息状态更新数据至在线服务端的在线消息队列后,将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端,以在网络状态异常时,为切换到离线服务端为客户端提供服务作好准备;当网络状态异常时,离线服务端从客户端接收信息状态验证请求,即停止由在线服务端为客户端提供服务,将在离线服务端的产生新的信息状态更新数据,并记录在离线服务端的离线消息队列里,以待后续网络正常时,向在线服务端发送所述离线消息队列时的信息状态更新数据,以保持在线服务端与离线服务端的信息状态始终保持一致。本申请可以解决离线服务端中存在的重复验证问题和在线服务端中存在的网络不稳定的问题,可以在各种复杂网络的环境中保证验证系统的稳定验证。
附图说明
图1是本发明一实施例的在线服务端的支持在线和离线方式切换的信息状态验证方法的流程图;
图2是本发明一实施例的离线服务端的支持在线和离线方式切换的信息状态验证方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种在线服务端的支持在线和离线方式切换的信息状态验证方法,所述方法包括步骤s1,当网络状态正常时,迭代更新信息状态,步骤s1包括:
步骤s11,从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一在线消息队列;
在此,所述信息状态包括但不限于电影票、车票、飞机票、演唱会门票等等,本申请可应用于票务验票领域,也可应用用于其他需要在复杂网络下验证信息状态的领域;
针对从客户端接收信息状态验证请求,可以对在线服务端的数据库的全部或部分信息状态进行更新,并记录至在线消息队列,尤其在对在线服务端的数据库的部分信息状态进行更新时,在线服务端的在线消息队列中只需要记录少量的信息状态更新数据,以节省数据存储量;
例如,一在线服务端的线上信息状态数据库中已有2000张演唱会门票的信息状态,当从客户端接收信息状态验证请求是只通过其中1张的演唱会门票请求入场观看,此时只需要验证该1张的演唱会门票的信息状态,若该1张演唱会门票验证通过,则生成信息状态更新数据,是该1张演唱会门票由已售出未验证的信息状态更新为验证通过的信息状态,并存入一在线消息队列;
又如,一在线服务端的线上信息状态数据库中已有2000张演唱会门票的信息状态,当从客户端接收信息状态验证请求是其中1张的演唱会门票的购买请求,此时只需要更新该1张的演唱会门票的信息状态,将该1张演唱会门票的信息状态由未售出修改为未验证状态,则生成信息状态更新数据,是该1张演唱会门票由未售出的信息状态更新为已售出未验证的信息状态,并存入一在线消息队列;
步骤s12,将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端;
上述步骤s1和步骤s2可以在网络状态正常时不断地循环进行,即只要从客户端接收信息状态验证请求,即会生成对应于所述信息状态验证请求的信息状态更新数据,并存入一在线消息队列,然后不断地将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端。
本实施例中,当网络状态正常时,可以通过在线服务端提供信息状态验证服务,并同时备份好对应于所述信息状态验证请求的信息状态更新数据至在线服务端的在线消息队列后,将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端,以在网络状态异常时,为切换到离线服务端为客户端提供服务作好准备,可以解决离线服务端中存在的重复验证问题和在线服务端中存在的网络不稳定的问题,可以在各种复杂网络的环境中保证验证系统的稳定验证,例如,可以解决离线验票系统中存在的重复入场问题和在线验票系统中存在的网络不稳定的问题,可以在各种复杂网络的环境中保证验票系统的稳定验票,包括可连线上网络时的稳定验票和不可连上线上网络时局域网的稳定验票。
如图1所示,本申请的在线服务端的支持在线和离线方式切换的信息状态验证方法一实施例中,步骤s1,当网络状态正常时,迭代更新信息状态之前,还包括:
步骤s10,向离线服务端发送在线服务端的线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
在此,在线服务端的线上信息状态数据库中的数据包括信息状态更新前的原始数据,其中可以记录的是信息更新前的状态,例如,一在线服务端的线上信息状态数据库中已有2000张演唱会门票的信息状态,其中记录的是已售出未验证的信息状态。
如图1所示,本申请的在线服务端的支持在线和离线方式切换的信息状态验证方法一实施例中,所述方法还包括:
步骤s13,当网络状态异常时,停止所述迭代信息状态更新;
步骤s15,当网络状态恢复正常时,恢复所述迭代更新信息状态。
在此,当网络状态异常时,停止所述迭代信息状态更新,即停止由在线服务端客户端提供服务,并切换到离线服务端为客户端提供服务;当网络状态恢复正常时,恢复所述迭代更新信息状态,即停止由离线服务端为客户端提供服务,并切换到在线服务端客户端提供服务,以保证网络状态正常或异常,都可以由在线或离线服务端提供可靠服务。
如图1所示,本申请的在线服务端的支持在线和离线方式切换的信息状态验证方法一实施例中,步骤s15,当网络状态恢复正常时,恢复所述迭代更新信息状态之前,还包括:
步骤s14,当网络状态恢复正常时,从所述离线服务端接受其离线消息队列中的信息状态更新数据。
如图2所示,根据本申请的另一面,还提供一种离线服务端的支持在线和离线方式切换的信息状态验证方法,所述方法包括:
步骤s21,当网络状态正常时,停止从客户端接收信息状态验证请求,并从所述在线服务端接收其在线消息队列中的信息状态更新数据;
步骤s22,当网络状态异常时,从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一离线消息队列。
在此,当网络状态正常时,停止从客户端接收信息状态验证请求,即停止离线服务端为客户端提供服务,并切换到由在线服务端为客户端提供服务,在这期间,对应会在在线服务端的产生新的信息状态更新数据,并记录在在线服务端的在线消息队列里,所以离线服务端提供服务之前,需要从所述在线服务端接受在离线消息队列中的信息状态更新数据,以保持离线服务端与在线服务端的信息状态始终保持一致;当网络状态异常时,离线服务端从客户端接收信息状态验证请求,即停止由在线服务端为客户端提供服务,在这期间,对应会在离线服务端的产生新的信息状态更新数据,并记录在离线服务端的离线消息队列里,以待后续网络正常时,向在线服务端发送所述离线消息队列时的信息状态更新数据,以保持在线服务端与离线服务端的信息状态始终保持一致。
本实施例中,当网络状态正常时,可以通过在线服务端提供信息状态验证服务,并同时备份好对应于所述信息状态验证请求的信息状态更新数据至在线服务端的在线消息队列后,将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端,以在网络状态异常时,为切换到离线服务端为客户端提供服务作好准备;当网络状态异常时,可以通过离线服务端提供信息状态验证服务,并同时备份好对应于所述信息状态验证请求的信息状态更新数据至在线服务端的离线消息队列后,将所述离线消息队列中的所述信息状态更新数据,发送至所述离线服务端,以在网络状态正常时,为切换到在线服务端为客户端提供服务作好准备。
如图2所示,本申请的离线服务端的支持在线和离线方式切换的信息状态验证方法,步骤s21,当网络状态正常时,停止从客户端接收信息状态验证请求,并从所述在线服务端接收其在线消息队列中的信息状态更新数据之前,还包括:
步骤s20,从在线服务端接收其线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
本申请的离线服务端的支持在线和离线方式切换的信息状态验证方法一实施例中,步骤s22,当网络状态异常时,从客户端接收信息状态验证请求,生成对应于所述信息状态验证请求的信息状态更新数据,并存入一离线消息队列之后,所述方法还包括:
步骤s23,当网络状态正常时,停止从客户端接收信息状态验证请求,并将所述离线消息队列中的所述信息状态更新数据发送至所述在线服务端。
在此,只要网络一恢复状态正常,就可以停止从客户端接收信息状态验证请求,即停止离线服务端为客户端提供服务,并将所述离线消息队列中的所述信息状态更新数据发送至所述在线服务端,以保持在线服务端与离线服务端的信息状态始终保持一致的前提下,由在线服务端为客户端提供服务。
下面以验票系统为例,对本申请作详细说明,本申请一实施例的验票系统包括,验票系统线上服务端、验票系统局域网服务端、验票系统客户端和对应于所述验票系统服务端线上版的线上消息队列、对应于所述验票系统服务端局域网版的局域网消息队列,验票系统客户端可以根据实际需要支持切换配置访问线上服务端环境还是局域网服务端环境:
1.当网络状态正常时,验票系统客户端访问的是验票系统线上服务端,验票系统线上服务端每次收到一条验票请求且验票状态发生改变时都把这个数据同步更新至一个线上消息队列(例如kafka、beanstalk等)中,另外,当验票系统线上服务端每收到一条购票请求且验票状态发生改变时都把这个数据同步更新至一个线上消息队列(例如kafka、beanstalk等)中。同时验票系统线上服务端可通过一个接口可以让验票系统局域网服务端获取此线上消息队列中的数据;
3.当网络情况复杂如网络状态异常时,客户端整体的访问接口配置至验票系统局域网服务端,验票系统局域网服务端每次收到一条验票请求且验票状态发生改变时都把这个数据同步更新至一个验票系统局域网服务端的局域网消息队列(例如kafka、beanstalk等)中;
根据本申请的另一面还提供一种在线服务端,包括迭代更新装置,用于当网络状态正常时,迭代更新信息状态,迭代更新装置包括:
上述第一更新模块和第一发送模块可以在网络状态正常时不断地循环执行,即只要从客户端接收信息状态验证请求,即会生成对应于所述信息状态验证请求的信息状态更新数据,并存入一在线消息队列,然后不断地将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端。
本申请的在线服务端一实施例中,所述第一更新模块,还用于向离线服务端发送在线服务端的线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
本申请的在线服务端一实施例中,还包括切换装置,用于当网络状态异常时,停止迭代更新装置以停止所述迭代信息状态更新;当网络状态恢复正常时,启动所述迭代更新装置以恢复所述迭代更新信息状态。
本申请的在线服务端一实施例中,所述切换装置,还用于启动所述迭代更新装置之前,从所述离线服务端接受其离线消息队列中的信息状态更新数据。
本申请的离线服务端一实施例中,所述第二接收装置,还用于从在线服务端接收其线上信息状态数据库中的数据,所述线上信息状态数据库中的数据包括信息状态更新前数据。
本申请的离线服务端一实施例中,所述第二接收装置,还用于当网络状态正常时,停止从客户端接收信息状态验证请求,并将所述离线消息队列中的所述信息状态更新数据发送至所述在线服务端。
综上所述,本申请当网络状态正常时,可以通过在线服务端提供信息状态验证服务,并同时备份好对应于所述信息状态验证请求的信息状态更新数据至在线服务端的在线消息队列后,将所述在线消息队列中的所述信息状态更新数据,发送至所述离线服务端,以在网络状态异常时,为切换到离线服务端为客户端提供服务作好准备;当网络状态异常时,离线服务端从客户端接收信息状态验证请求,即停止由在线服务端为客户端提供服务,将在离线服务端的产生新的信息状态更新数据,并记录在离线服务端的离线消息队列里,以待后续网络正常时,向在线服务端发送所述离线消息队列时的信息状态更新数据,以保持在线服务端与离线服务端的信息状态始终保持一致。本申请可以解决离线服务端中存在的重复验证问题和在线服务端中存在的网络不稳定的问题,可以在各种复杂网络的环境中保证验证系统的稳定验证。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。