CN106156864A - 一种大数量订票的方法和系统 - Google Patents
一种大数量订票的方法和系统 Download PDFInfo
- Publication number
- CN106156864A CN106156864A CN201510140934.XA CN201510140934A CN106156864A CN 106156864 A CN106156864 A CN 106156864A CN 201510140934 A CN201510140934 A CN 201510140934A CN 106156864 A CN106156864 A CN 106156864A
- Authority
- CN
- China
- Prior art keywords
- key assignments
- ticket
- user
- draft bank
- ticket booking
- 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.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种大数量订票的方法和系统,该方法包括确定票的总数,给每张票生成唯一的票号;给每个用户生成唯一的用户ID;用户发送订票指令后,将生成一个键值,所述键值包括用户ID和对应的票号;后面的用户订票时,将其键值与前面已经生成的键值进行对比,如果相同,则取消后面的键值,如果不同,则保留后面的键值;直到所有票订完,流程结束。本发明技术方案由于采用了Redis缓存数据库的原子型键值来存储用户ID和票号,能够快速地进行比对,从而提高订票的速度,同时保证用户不能重复订票,也不会出现多个用户订上同一张票的情况,提高了订票的准确性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种大数量订票的方法和系统。
背景技术
随着互联网的迅速发展,人们越来越多地通过互联网来参与各种经济活动,其中就包括各种订票活动,比如火车票、飞机票、电影票、演出票,等等。通过互联网订票拥有诸多优势,例如不用排队,不会白费太多时间(比如排长队可能轮到自己时没票白排了或买票人员下班了),无论订不订得上,都不会太失望,上网方便,随时可以尝试,买票时间相对自由。
然而网络订票与传统订票一个最大的不同就是并发性,只要开始订票了,大家可以同时开始订票的操作,尤其一些大型活动的票,往往在短时间内就被订完,在这个过程中,经常会出现大数据量的并发计算,并发访问量大但既有互联网接入宽带明显不足,就造成了网络拥堵。
例如,由于网络拥塞,火车票订票系统就出现了网站未及时或完整地收到银行的成功支付信息,造成旅客成功支付但网站显示购票未成功的现象。
还有的情况就是,少数用户由于网络情况较好,而能够重复订到多数的票;或者几个用户订到同一张票的情况,这些都给出票组织和订票用户带来了很大的麻烦。
发明内容
本发明提供一种大数量订票的方法和系统,可以实现用户快速订票,并保证订票工作的准确性和效率。
本发明提供了一种大数量订票的方法,包括以下步骤:
确定票的总数,给每张票生成唯一的票号;
给每个用户生成唯一的用户ID;
用户发送订票指令后,将生成一个键值,所述键值包括用户ID和对应的票号;
后面的用户订票时,将其键值与前面已经生成的键值进行对比,如果相同,则取消后面的键值,如果不同,则保留后面的键值;
直到所有票订完,流程结束。
优选地,所述后面的用户订票时,将其键值与前面已经生成的键值进行对比,进一步包括以下步骤:
将键值中的用户ID进行对比,如果相同,则取消后面的键值;
如果不同,则将键值中的票号进行对比,如果相同,则取消后面的键值;
如果不同,则保留后面的键值。
优选地,所述键值采用Redis缓存数据库存储。
优选地,所述键值设置为原子型。
优选地,所述票号的生成采用递归算法。
优选地,用户通过微信平台发送订票指令。
本发明还提供了一种大数量订票的系统,包括生成单元、存储单元和对比单元,其中,
生成单元用于生成票号和用户ID;
存储单元用于存储包括用户ID和对应票号的键值;
对比单元用于将新生成的键值与已经生成的键值进行对比。
优选地,所述存储单元是Redis缓存数据库。
优选地,还包括微信平台,所述微信平台用于发送订票指令。
优选地,所述对比单元进一步用于将键值中的用户ID进行对比,如果相同,则取消后面的键值;如果不同,则将键值中的票号进行对比,如果相同,则取消后面的键值;如果不同,则保留后面的键值。
本发明技术方案由于采用了Redis缓存数据库的原子型键值来存储用户ID和票号,能够快速地进行比对,从而提高订票的速度,同时保证用户不能重复订票,也不会出现多个用户订上同一张票的情况,提高了订票的准确性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中大数量订票的流程图;
图2为本发明实施例一中大数量订票系统的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例一中大数量订票的流程图。如图1所示,该大数量订票的流程包括以下步骤:
步骤101、确定准备投放票的总数,采用递归算法给每张票生成唯一的票号,例如电影票可以是几排几号。
步骤102、用户获取订票的信息后,可以通过微信平台发送订票指令。
步骤103、给每个用户生成唯一的用户ID,这些用户ID可以就是用户名本身。
步骤104、用户发送订票指令后,将生成一个键值,该键值包括用户ID和对应的票号,并存储到Redis缓存数据库,键值设置为原子型。
步骤105、后面的用户订票时,将其键值与前面已经生成的键值进行对比。首先将键值中的用户ID进行对比,如果相同,则表示该用户已经成功订了票了,所以取消后面的键值。
步骤106、如果不同,则将键值中的票号进行对比,如果相同,则表示该票号对应的票已经被其他用户订走了,所以也取消后面的键值。
步骤107、如果不同,则保留后面的键值,表示后面的这个用户成功地订了这张票。
步骤108、直到所有票订完,流程结束。
为了实现上述流程,本实施例还提供了一种大数量订票系统,图2为本发明实施例一中大数量订票系统的结构图。如图2所示,该大数量订票的系统包括生成单元201、存储单元202、对比单元203和微信平台204。
其中用户通过微信平台发送订票指令。
生成单元生成票号和用户ID。
存储单元是Redis缓存数据库,用于存储包括用户ID和对应票号的键值。
对比单元将键值中的用户ID进行对比,如果相同,则取消后面的键值;如果不同,则将键值中的票号进行对比,如果相同,则取消后面的键值;如果不同,则保留后面的键值。
上述实施例由于采用了Redis缓存数据库的原子型键值来存储用户ID和票号,能够快速地进行比对,从而提高订票的速度,同时保证用户不能重复订票,也不会出现多个用户订上同一张票的情况,提高了订票的准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种大数量订票的方法,其特征在于,包括以下步骤:
确定票的总数,给每张票生成唯一的票号;
给每个用户生成唯一的用户ID;
用户发送订票指令后,将生成一个键值,所述键值包括用户ID和对应的票号;
后面的用户订票时,将其键值与前面已经生成的键值进行对比,如果相同,则取消后面的键值,如果不同,则保留后面的键值;
直到所有票订完,流程结束。
2.根据权利要求1所述的方法,其特征在于,所述后面的用户订票时,将其键值与前面已经生成的键值进行对比,进一步包括以下步骤:
将键值中的用户ID进行对比,如果相同,则取消后面的键值;
如果不同,则将键值中的票号进行对比,如果相同,则取消后面的键值;
如果不同,则保留后面的键值。
3.根据权利要求1或者2所述的方法,其特征在于,所述键值采用Redis缓存数据库存储。
4.根据权利要求3所述的方法,其特征在于,所述键值设置为原子型。
5.根据权利要求1所述的方法,其特征在于,所述票号的生成采用递归算法。
6.根据权利要求1所述的方法,其特征在于,用户通过微信平台发送订票指令。
7.一种大数量订票的系统,其特征在于,包括生成单元、存储单元和对比单元,其中,
生成单元用于生成票号和用户ID;
存储单元用于存储包括用户ID和对应票号的键值;
对比单元用于将新生成的键值与已经生成的键值进行对比。
8.根据权利要求7所述的系统,其特征在于,所述存储单元是Redis缓存数据库。
9.根据权利要求7所述的系统,其特征在于,还包括微信平台,所述微信平台用于发送订票指令。
10.根据权利要求7所述的系统,其特征在于,所述对比单元进一步用于将键值中的用户ID进行对比,如果相同,则取消后面的键值;如果不同,则将键值中的票号进行对比,如果相同,则取消后面的键值;如果不同,则保留后面的键值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510140934.XA CN106156864A (zh) | 2015-03-27 | 2015-03-27 | 一种大数量订票的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510140934.XA CN106156864A (zh) | 2015-03-27 | 2015-03-27 | 一种大数量订票的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106156864A true CN106156864A (zh) | 2016-11-23 |
Family
ID=57339193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510140934.XA Pending CN106156864A (zh) | 2015-03-27 | 2015-03-27 | 一种大数量订票的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106156864A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039803A (zh) * | 2018-07-10 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种处理回调通知消息的方法、系统及计算机设备 |
CN110796401A (zh) * | 2018-08-03 | 2020-02-14 | 京东数字科技控股有限公司 | 库存扣减方法、系统和服务器 |
CN114331576A (zh) * | 2021-12-30 | 2022-04-12 | 福建博思软件股份有限公司 | 基于高并发场景下的电子票号快速取票方法及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236843A (zh) * | 2011-07-15 | 2011-11-09 | 电信科学技术研究院 | 票务订购方法、装置和系统 |
CN103516585A (zh) * | 2012-06-29 | 2014-01-15 | 北京奇虎科技有限公司 | 一种实现消息优先级分发的方法及系统 |
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和系统 |
-
2015
- 2015-03-27 CN CN201510140934.XA patent/CN106156864A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236843A (zh) * | 2011-07-15 | 2011-11-09 | 电信科学技术研究院 | 票务订购方法、装置和系统 |
CN103516585A (zh) * | 2012-06-29 | 2014-01-15 | 北京奇虎科技有限公司 | 一种实现消息优先级分发的方法及系统 |
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039803A (zh) * | 2018-07-10 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种处理回调通知消息的方法、系统及计算机设备 |
CN110796401A (zh) * | 2018-08-03 | 2020-02-14 | 京东数字科技控股有限公司 | 库存扣减方法、系统和服务器 |
CN114331576A (zh) * | 2021-12-30 | 2022-04-12 | 福建博思软件股份有限公司 | 基于高并发场景下的电子票号快速取票方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140100898A1 (en) | Order Queue Management in Event Ticket Network Systems | |
CN109426543A (zh) | 针对混合劳动力的机器人操作控制系统 | |
CN106980636A (zh) | 保单数据处理方法和装置 | |
US10296859B1 (en) | Workflow discovery through user action monitoring | |
CN105900121A (zh) | 用于生成活动流的方法 | |
CN108228730A (zh) | 数据导入方法、装置、计算机设备及可读存储介质 | |
CN106548261A (zh) | 一种业务流程控制方法、装置及电子设备 | |
CN108089984A (zh) | 代码评审的实现方法、装置、存储介质及电子设备 | |
US20120030122A1 (en) | Agile workflow modeling and execution based on document | |
CN104423982B (zh) | 请求的处理方法和处理设备 | |
CN106156864A (zh) | 一种大数量订票的方法和系统 | |
JP2014509423A (ja) | ルール属性から運賃検出を提供するための方法、システム、およびコンピュータプログラム | |
US20160077953A1 (en) | Release template | |
CN109710252A (zh) | 页面生成方法、装置、设备及存储介质 | |
CN108898468A (zh) | 信息异步处理方法、装置、计算机设备及存储介质 | |
CN105681384B (zh) | 一种信息的过期处理方法及装置 | |
CN107209763A (zh) | 指定和应用数据的规则 | |
US20150006341A1 (en) | Billing transaction scheduling | |
CN107818475A (zh) | 优惠券发放方法 | |
CN106254092A (zh) | 一种预警方法、装置及系统 | |
JP2008226054A (ja) | 工数管理システム、サーバ端末、工数管理方法、プログラム、及びコンピュータ読み取り可能な記録媒体 | |
CN103605792B (zh) | 一种提供业务资源的方法和设备 | |
CN109344299A (zh) | 对象搜索方法、装置、电子设备及计算机可读存储介质 | |
US9652522B2 (en) | Object naming | |
CN112163840A (zh) | 工作流的定义方法、实例的跨地域管理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |