一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种选座方法、售票方法及装置和系统与流程

2022-02-20 05:31:04 来源:中国专利 TAG:


1.本发明涉及电子商务技术领域,特别涉及一种选座方法、售票方法及装置和系统。


背景技术:

2.在线售票过程中的自动选座是一个非常重要的功能。但是场馆座位的分布复杂度较高,不同的场馆有不同的票档分布,即使是同一个场馆往往也存在多种票档,同一场馆内同一票档的座位的观看视角也不同,一个订单的用户希望同票档的多个座位挨着并且能提供较好的座位观看视角,故自动选座需要实现的功能至少有下述公平有效的功能:
3.(1)越早下单用户获得的观看视角越好。
4.(2)同一订单的座位在物理场景中连续或者尽量连续。
5.(3)避免多个用户进行资源竞争出现用户占座失败而导致先下单用户缺座或无座的情况。
6.现有技术中有的采用单线程 队列的方式来解决在线售票自动选座的公平性和有效性问题,但单线程的选票效率成为最大的问题;为了解决效率问题,现有技术中也有采用多线程同时去争抢资源,而这又容易造成争抢失败,导致先下单的用户因为连续的占座失败而好的座位没有了,或者热门场次的座位被抢光的局面,参照图1所示,用户1和用户2同时进来,用户3后进来,结果用户1和用户2在同时抢夺同一座位资源,用户2抢票失败。
7.故在自动选座过程中如何保证效率的同时又能实现有效性与公平性,是迫切需要解决的技术问题。


技术实现要素:

8.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种选座方法、售票方法及装置和系统。
9.第一方面,本发明实施例提供一种选座方法,包括:
10.响应于分配到的购票请求,根据所述购票请求中的观看区域将所述购票请求加入到购票请求队列;
11.针对当前处理的购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位;
12.若所述座位资源中的匹配座位的数量小于该购票请求中的座位数量,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
13.在一些可选的实施例中,所述向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,具体包括:
14.根据当前处理的购票请求中的观看区域的标识,通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点;
15.根据所述虚拟节点对应的票源管理服务器的地址,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
16.在一些可选的实施例中,所述通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点,具体包括:
17.通过一致性哈希算法确定所述标识在哈希结构上的哈希点,所述哈希结构是根据票源管理服务器的地址列表,通过所述一致性哈希算法预先建立的环状结构,所述地址列表中的一个地址对应所述哈希结构中的多个虚拟节点;
18.在所述哈希结构中沿预设方向,确定与所述哈希点最靠近的虚拟节点,作为所述标识对应的虚拟节点。
19.在一些可选的实施例中,建立所述哈希结构后,还包括:
20.若确定所述地址列表中增加了新的票源管理服务器的地址,根据当前的地址列表,通过所述一致性哈希算法建立新的哈希结构;
21.若确定所述地址列表中减少了票源管理服务器的地址,在当前的哈希结构中删除减少的地址对应的虚拟节点。
22.在一些可选的实施例中,所述向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,具体包括:
23.根据当前处理的购票请求中的观看区域的标识,和观看区域标识与票源管理服务器地址的映射关系,确定票源管理服务器的地址,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
24.在一些可选的实施例中,所述映射关系中没有当前处理的购票请求中的观看区域的标识时,还包括:
25.根据当前处理的购票请求中的观看区域的标识,通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点;
26.根据所述虚拟节点对应的票源管理服务器的地址,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位;
27.将所述标识和确定的地址填入所述映射关系。
28.在一些可选的实施例中,所述通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点,具体包括:
29.通过一致性哈希算法确定所述标识在哈希结构上的哈希点,所述哈希结构是根据票源管理服务器的地址列表,通过所述一致性哈希算法预先建立的环状结构,所述地址列表中的一个地址对应所述哈希结构中的多个虚拟节点;
30.在所述哈希结构中沿预设方向,确定与所述哈希点最靠近的虚拟节点,作为所述标识对应的虚拟节点。
31.在一些可选的实施例中,建立所述哈希结构后,还包括:
32.若确定所述地址列表中增加了新的票源管理服务器的地址,根据当前的地址列表,通过所述一致性哈希算法建立新的哈希结构,清空当前的所述映射关系;
33.若确定所述地址列表中减少了票源管理服务器的地址,在当前的哈希结构中删除减少的地址对应的虚拟节点,确定当前的映射关系中有减少了的票源管理服务器的地址时,删除该地址及对应的观看区域的标识。
34.在一些可选的实施例中,所述向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,具体包括:
35.根据预设倍数和当前处理的购票请求队列中的购票请求个数,确定待请求座位的数量,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的所述数量的座位。
36.在一些可选的实施例中,上述方法还包括:
37.针对预先分配到的座位资源中的与每个观看区域匹配的座位资源,按照预设时间间隔更新与该观看区域匹配的座位资源。
38.在一些可选的实施例中,所述按照预设时间间隔更新与该观看区域匹配的座位资源,具体包括:
39.按照预设时间间隔确定当前是否存在未处理完的与该观看区域匹配的购票请求队列;
40.若是,向管理与该观看区域匹配的座位资源的票源管理服务器请求与该观看区域匹配的座位,根据请求结果替换当前的座位资源;
41.若否,从当前的座位资源中删除与该观看区域匹配的座位。
42.在一些可选的实施例中,所述根据所述购票请求中的观看区域将所述购票请求加入到购票请求队列,具体包括:
43.判断是否存在与所述购票请求中的观看区域匹配的购票请求队列;
44.若是,将所述购票请求加入在观看区域匹配的购票请求队列的末尾;
45.若否,创建观看区域匹配的购票请求队列,将所述购票请求加入创建的购票请求队列。
46.在一些可选的实施例中,所述从预先分配到的座位资源中为当前处理的购票请求分配座位,具体包括:
47.根据当前处理的购票请求的座位数量和观看区域,从预先分配到的座位资源中获取与该观看区域匹配的优先级最高的座位,分配给当前处理的购票请求。
48.第二方面,本发明实施例提供一种选座方法,包括:
49.响应于接收到的座位请求,根据所述座位请求中的观看区域将所述座位请求加入到座位请求队列;
50.针对当前处理的座位请求队列中的座位请求,从预先分配到的座位资源中为当前处理的座位请求分配座位,使得发送所述座位请求的选票服务器将分配到的座位分配给所述座位请求对应的购票请求。
51.在一些可选的实施例中,所述从预先分配到的座位资源中为当前处理的座位请求分配座位,具体包括:
52.根据预设倍数和当前处理的座位请求中的购票请求个数,确定待分配座位数量;
53.根据当前处理的座位请求中的观看区域和所述待分配座位数量,从预先分配到的座位资源中为当前处理的座位请求分配观看区域匹配的座位。
54.在一些可选的实施例中,所述从预先分配到的座位资源中为当前处理的座位请求分配观看区域匹配的座位,具体包括:
55.从预先分配到的座位资源中,为当前处理的座位请求分配优先级最高的观看区域匹配的座位。
56.在一些可选的实施例中,所述从预先分配到的座位资源中为当前处理的座位请求
分配座位,还包括:
57.若预先分配到的座位资源中不存在与当前处理的座位请求的观看区域匹配的座位,从数据库获取与该观看区域匹配的座位。
58.在一些可选的实施例中,还包括:
59.根据预先分配到的座位资源中座位的观看区域,按照预设时间间隔从数据库获取观看区域匹配的座位;
60.利用获取结果更新所述预先分配到的座位资源。
61.在一些可选的实施例中,根据所述座位请求中的观看区域将所述座位请求加入到座位请求队列,具体包括:
62.判断是否存在与所述座位请求中的观看区域匹配的座位请求队列;
63.若是,将所述座位请求加入在观看区域匹配的座位请求队列的末尾;
64.若否,创建观看区域匹配的座位请求队列,将所述座位请求加入创建的座位请求队列。
65.第三方面,本发明实施例提供一种售票方法,包括:
66.分销服务器将接收到的购票请求分配给选票服务器,得到选票服务器利用上述第一方面所述的方法为所述购票请求分配的座位;
67.从数据库中扣减所述座位成功时,生成并向发送所述购票请求的终端发送订单,所述订单包括所述购票请求和所述座位。
68.在一些可选的实施例中,还包括:
69.从数据库中扣减所述座位失败时,向发送所述购票请求的终端发送购票失败的消息。
70.在一些可选的实施例中,分销服务器将接收到的购票请求分配给选票服务器前,还包括:
71.分销服务器响应于接收到的购票请求,向发送购票请求的终端发送是否更改观看区域的信息;
72.若接收到更改观看区域的选择信息,根据所述选择信息向用户推送至少一个新的观看区域,根据用户选择的新的观看区域更新所述购票请求中的观看区域,向所述终端发送的是否更改观看区域的信息包括下述至少一项:
73.是否选择更便宜的观看区域,是否选择更优的观看区域,是否选择当前排队更少的观看区域。
74.在一些可选的实施例中,所述生成并向发送所述购票请求的终端发送订单后,还包括:
75.支付服务器在预设时间内接收到所述终端发送的所述订单的确认信息后,生成所述订单的支付信息,在确认所述终端根据所述支付信息支付成功后,通知数据库将所述座位标记为已出售;
76.支付服务器在预设时间内没有接收到所述终端发送的所述订单的确认信息,或在确认所述终端根据所述支付信息支付失败后,通知数据库将所述座位标记为未分配。
77.第四方面,本发明实施例提供一种货物分配方法,包括:
78.响应于分配到的购买请求,根据所述购买请求中的货物属性将所述购买请求加入
到购买请求队列;
79.针对当前处理的购买请求队列中的购买请求,从预先分配到的货物资源中为当前处理的购买请求分配货物;
80.若所述货物资源中的匹配货物的数量小于该购买请求中的购买数量,向货物管理服务器请求与当前处理的购买请求中的货物属性匹配的货物。
81.第五方面,本发明实施例提供一种货物分配方法,包括:
82.响应于接收到的货物请求,根据所述货物请求中的货物属性将所述货物请求加入到货物请求队列;
83.针对当前处理的货物请求队列中的货物请求,从预先分配到的货物资源中为当前处理的货物请求分配货物,使得发送所述货物请求的选货服务器将分配到的货物分配给所述货物请求对应的购买请求。
84.第六方面,本发明实施例提供一种红包分配方法,包括:
85.响应于分配到的红包请求,根据所述红包请求中的适用范围将所述红包请求加入到红包请求队列;
86.针对当前处理的红包请求队列中的红包请求,从预先分配到的红包资源中为当前处理的红包请求分配红包;
87.若所述红包资源中的匹配红包的数量小于该红包请求中的请求数量,向红包管理服务器请求与当前处理的红包请求中的适用范围匹配的红包。
88.第七方面,本发明实施例提供一种红包分配方法,包括:
89.响应于接收到的红包资源请求,根据所述红包资源请求中的适用范围将所述红包资源请求加入到红包资源请求队列;
90.针对当前处理的红包资源请求队列中的红包资源请求,从预先分配到的资源中为当前处理的红包资源请求分配红包,使得发送所述红包资源请求的红包分配服务器将分配到的红包分配给所述红包资源请求对应的红包请求。
91.第八方面,本发明实施例提供一种游戏排队方法,包括:
92.响应于分配到的游戏请求,根据所述游戏请求中的类型将所述游戏请求加入到游戏请求队列;
93.针对当前处理的游戏请求队列中的游戏请求,从预先分配到的名额资源中为当前处理的游戏请求分配名额;
94.若所述名额资源中没有匹配名额,向名额管理服务器请求与当前处理的游戏请求中的类型匹配的游戏名额。
95.第九方面,本发明实施例提供一种游戏排队方法,包括:
96.响应于接收到的名额请求,根据所述名额请求中的类型将所述名额请求加入到名额请求队列;
97.针对当前处理的名额请求队列中的名额请求,从预先分配到的名额资源中为当前处理的名额请求分配名额,使得发送所述名额请求的游戏名额分配服务器将分配到的名额分配给所述名额请求对应的游戏请求。
98.第十方面,本发明实施例提供一种选座装置,包括:
99.队列管理模块,用于响应于分配到的购票请求,根据所述购票请求中的观看区域
将所述购票请求加入到购票请求队列;
100.选座模块,用于针对当前处理的购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位;
101.座位请求模块,若所述选座模块确定所述座位资源中的匹配座位的数量小于该购票请求中的座位数量,用于向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
102.第十一方面,本发明实施例提供一种选座装置,包括:
103.队列管理模块,用于响应于接收到的座位请求,根据所述座位请求中的观看区域将所述座位请求加入到座位请求队列;
104.座位分配模块,用于针对当前处理的座位请求队列中的座位请求,从预先分配到的座位资源中为当前处理的座位请求分配座位,使得发送所述座位请求的选票服务器将分配到的座位分配给所述座位请求对应的购票请求。
105.第十二方面,本发明实施例提供一种选座系统,包括:
106.多个选票服务器、多个票源管理服务器和负载调度器,所述选票服务器设置有上述第八方面所述的选座装置,所述票源管理服务器设置有上述第九方面所述的选座装置;
107.所述负载调度器,用于按照负载均衡的原则,将接收到的购票请求发送到一个所述选票服务器。
108.第十三方面,本发明实施例提供一种售票系统,包括:
109.至少一个分销服务器、多个选票服务器和多个票源管理服务器,所述票源管理服务器设置有上述第九方面所述的选座装置;
110.所述分销服务器设置有负载调度器,所述负载调度器,用于按照负载均衡的原则,将接收到的购票请求发送到一个所述选票服务器;
111.所述选票服务器,用于利用上述第一方面所述的选座方法为所述购票请求分配座位,将所述购票请求和座位发送给所述分销服务器;
112.所述分销服务器,用于从数据库中扣减所述座位成功时,生成并向发送所述购票请求的终端发送包括所述购票请求和所述座位的订单。
113.第十四方面,本发明实施例提供一种售票系统,包括:
114.至少一个分销服务器、多个选票服务器、多个票源管理服务器和支付服务器,所述票源管理服务器设置有上述第九方面所述的选座装置;
115.所述分销服务器设置有负载调度器,所述负载调度器,用于按照负载均衡的原则,将接收到的购票请求发送到一个所述选票服务器;
116.所述选票服务器,用于利用上述第一方面所述的选座方法为所述购票请求分配座位,将所述购票请求和座位发送给所述分销服务器;
117.所述分销服务器,用于从数据库中扣减所述座位成功时,生成并向发送所述购票请求的终端发送包括所述购票请求和所述座位的订单;
118.所述支付服务器,用于在预设时间内接收到所述终端发送的所述订单的确认信息后,生成所述订单的支付信息,在确认所述终端根据所述支付信息支付成功后,通知数据库将所述座位标记为已出售;支付服务器在预设时间内没有接收到所述终端发送的所述订单的确认信息,或在确认所述终端根据所述支付信息支付失败后,通知数据库将所述座位标
记为未分配。
119.第十五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述选座方法,或上述售票方法。
120.本发明实施例提供的选座方法,选票服务器响应于分配到的购票请求,根据购票请求中的观看区域将购票请求加入到购票请求队列;针对当前处理的购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位;若座位资源中的匹配座位的数量小于该购票请求中的座位数量,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。通过多个选票服务器来分担购票请求,每个票源管理服务器分别管理一个或多个观看区域的座位,选票服务器为购票请求分配座位,票源管理服务器为购票请求队列分配座位,保证选座有效实现的同时兼顾了高效性;以队列的形式分配座位,实现了选票的公平性。故本发明实施例提供的选座方法,同时实现了选座的高效性、有效性和公平性。
121.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
122.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
123.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
124.图1为本发明实施例的适用场景图;
125.图2为本发明实施例一中选座方法的流程图;
126.图3为本发明实施例一中向票源管理服务器请求座位的实现流程图;
127.图4为本发明实施例一中哈希结构示例图;
128.图5为本发明实施例一中另一向票源管理服务器请求座位的实现流程图;
129.图6为本发明实施二中选座方法的流程图;
130.图7为本发明实施中选座方法的具体实现流程图;
131.图8为本发明实施例中选座装置的结构示意图;
132.图9为本发明实施例中另一选座装置的结构示意图;
133.图10为本发明实施例中选座系统的结构示意图
134.图11为本发明实施例中售票系统的结构示意图;
135.图12为本发明实施例中再一售票系统的结构示意图。
具体实施方式
136.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
137.为了解决现有技术中存在的自动选座过程中无法效率、有效性与公平性兼顾的问
题,本发明实施例提供一种选座方法、售票方法及装置和系统,能够高效、合理的实现在线自动选座。
138.参照图1所示,本发明实施例适用的场景可以是:
139.1、用户通过终端1发送购票请求。
140.具体的,发送的购票请求包括请求座位的观看区域和座位数量,终端1可以是移动终端或pc终端。
141.2、分销服务器2接收到用户发送的购票请求后,通过负载调度器按照负载均衡的原则,将购票请求发送到选票服务器群中的一个选票服务器3。
142.具体的,分销服务器2可以是单个的服务器,也可以是一个服务器群。
143.3、选票服务器3将分配到的购票请求按照观看区域将其加入到匹配的购票请求队列,为每个购票请求队列中的各购票请求按照顺序分配座位。
144.具体的,选票服务器3为购票请求分配的座位,是向票源管理服务器群中的对应票源管理服务器4请求后存储在本地的,本地的座位不够时实时向对应票源管理服务器4请求。
145.4、票源管理服务器4将接收到的座位请求按照观看区域将其加入到匹配的座位请求队列,为每个座位请求队列中的各座位请求按照顺序分配座位。
146.具体的,不同的选票服务器4固定管理着至少一个观看区域的座位,票源管理服务器4给选票服务器3分配的座位是预先从数据库5获取的,针对一个观看区域,一次获取数据库中可分配的该观看区域的所有座位,按照预设间隔将获取到的该观看区域的所有座位释放后再重新向数据库获取,就按照预设间隔更新座位资源。
147.5、选票服务器3将为购票请求分配的座位发送给分销服务器2,分销服务器2从数据库5扣减对应的座位成功后,生成并向对应的终端1发送包括购票请求和座位的订单。
148.6、终端1接收到订单并确认后,支付服务器6生成支付信息并通过分销服务器2发送给终端1。
149.7、支付服务器6确定终端1支付成功后,通知数据库5修改对应座位的状态。
150.实施例一
151.本发明实施例一提供一种选座方法,主要由选票服务器执行,其流程如图2所示,包括如下步骤:
152.步骤s21:响应于分配到的购票请求,根据购票请求中的观看区域将购票请求加入到购票请求队列。
153.在一个实施例中,可以包括,判断是否存在与购票请求中的观看区域匹配的购票请求队列;若是,将购票请求加入在观看区域匹配的购票请求队列的末尾;若否,创建观看区域匹配的购票请求队列,将购票请求加入创建的购票请求队列。
154.即将观看区域一致的购票请求排在一个购票请求队列中,且请求时间早的排在前面、请求时间晚的排在后面。将观看区域一致的购票请求按请求时间进行排列,保证了选票的公平性,先到先得。
155.选票服务器每接收到分配的购票请求时,都执行上述步骤s21。
156.针对每个购票请求队列,选票服务器依次按照下述步骤s22和步骤s23处理购票请求队列中的购票请求。
157.具体的,可以是并行处理购票请求队列;也可以是,先处理vip用户的购票请求对应的队列,再处理非vip用户的购票请求对应的队列。即根据购票请求中的观看区域将购票请求加入到匹配的购票请求队列,同时考虑购票请求是否是vip用户发送的购票请求,将是否是vip用户一致的且观看区域一致的购票请求排在一个队列里;可选的,也可以是按照其他的顺序规则处理每个购票请求队列。
158.具体的,上述观看区域可以是同一场馆的价位一样的座位的统称;也可以是同一场馆、价位一样的基础上继续按照其他标准来划分,例如进一步划分为儿童票、成人票或适用于残疾人的无障碍票等。具体观看区域的划分可以视场馆内的座位的具体情况来定。
159.步骤s22:针对当前处理的购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位。
160.具体的,可以是,根据当前处理的购票请求的座位数量和观看区域,将预先分配到的座位资源中的与该观看区域匹配的优先级最高的座位分配给当前处理的购票请求。
161.当购票请求中的座位数量大于1时,还可以是将与购票请求中的观看区域匹配的优先级最高的,且相邻的座位分配给当前处理的购票请求;可选的,也可以是按照其他的规则为当前处理的购票请求分配座位,只要分配的座位是相应观看区域的、且数量为购票请求中的座位数量即可。
162.将观看区域匹配的优先级最高的座位分配给当前处理的购票请求,进一步保证了选座的公平性,先到先得,且先到的分配到的座位优先级越高。
163.具体的,上述优先级可以是按照座位的视角不同预先评定的;可选的,也可以是按照其他的因素评定的。
164.确定座位资源中的匹配座位的数量小于该购票请求中的座位数量时,执行步骤s23。
165.步骤s23:向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
166.在一个实施例中,可以包括,根据预设倍数和当前处理的购票请求队列中的购票请求个数,确定待请求座位的数量,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的该数量的座位。
167.具体的,上述预设倍数可以是预先统计的在设定时间内获取到的购票请求中的座位数量的平均值。
168.选票服务器管理每个购票请求队列,在有新的购票请求加入或者是为其中的购票请求分配完座位时,更新队列的长度,即当前未处理的购票请求的个数,确定本地票源不足时向票源管理服务器请求相应观看区域的座位,请求的座位的数量并不是当前处理的购票请求的座位数量,而是根据当前购票请求的个数和预设倍数确定的待请求座位的数量,减少了向票源管理服务器请求座位的次数,使得座位分配速度得以提升;同时请求的座位数量不是根据队列中每个购票请求的座位数量来精确确定,这样较少了每次请求座位前的计算量,提高了请求速度,使得座位分配速度得以提升。
169.可选的,向票源管理服务器请求的与当前处理的购票请求中的观看区域匹配的座位数量,也可以是预设的固定数量,这样进一步减少了维护购票请求队列长度的计算量,但不是按需估计请求数量,如果请求的座位数量过多,浪费存储资源,同时可能对别的选票服
务器在对应时间段内的相同观看区域的座位请求产生影响;如果请求的座位数量过少,又可能很快就分配完了,需要重新请求,增多了请求次数,从而影响了座位分配效率。故,上述固定数量设置的合理性将会影响到座位分配效率的快慢。
170.可选的,每次向票源管理服务器请求的座位数量也可以是其他的确定方法,可以具体视实际需求来定。
171.具体的,如何确定向哪个票源管理服务器请求座位,后续详细介绍。
172.选票服务器得到票源管理服务器针对其发送的购票请求为其分配的观看区域匹配的座位后,首先根据请求结果更新本地的座位资源,从更新后的座位资源中为当前处理的购票请求分配座位。
173.在一个实施例中,针对预先分配到的座位资源中的与每个观看区域匹配的座位资源,按照预设时间间隔更新与该观看区域匹配的座位资源。
174.选票服务器得到票源管理服务器针对其发送的购票请求为其分配的相应观看区域的座位后,按预设时间间隔确定当前是否存在未处理完的与该观看区域匹配的购票请求队列;若存在,向管理与该观看区域匹配座位资源的票源管理服务器请求与该观看区域匹配的座位,并利用请求结果替换当前的座位资源;若不存,从当前的座位资源中删除与该观看区域匹配的座位。
175.选票服务器针对本地的每个观看区域的座位,按照预设间隔进行更新,保证了多申请的座位资源及时得到释放;同时保证了本地存储的座位资源的有效性。选票服务器将预先分配到的座位资源存储在本地,故上述本地的座位资源即预先分配到的座位资源,二者完全一样,都是随着其中座位的分配和新请求的座位而不断更新。
176.本发明实施例一提供的选座方法,选票服务器响应于分配到的购票请求,根据购票请求中的观看区域将购票请求加入到购票请求队列;针对当前处理的购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位;若座位资源中的匹配座位的数量小于该购票请求中的座位数量,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。通过多个选票服务器来分担购票请求,每个票源管理服务器分别管理一个或多个观看区域的座位,选票服务器为购票请求分配座位,票源管理服务器为购票请求队列分配座位,保证选座有效实现的同时兼顾了高效性;以队列的形式分配座位,实现了选票的公平性。故本发明实施例提供的选座方法,同时实现了选座的高效性、有效性和公平性。
177.上述步骤s23中,具体向哪个票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,可以按照下述两种方式来确定。
178.方式一:利用哈希结构和当前处理的购票请求中的观看区域,确定票源管理服务器。
179.参照图3所示,具体包括的步骤如下:
180.步骤s31:根据当前处理的购票请求中的观看区域的标识,通过一致性哈希算法确定该标识在预先建立的哈希结构上的哈希点。
181.具体的,上述哈希结构是根据票源管理服务器的地址列表,通过一致性哈希算法建立的包含多个虚拟节点的环状结构,地址列表中的一个地址对应环状结构上的多个虚拟节点。
182.具体虚拟节点的数量没有限定,只要能够使得虚拟节点在哈希结构上的位置分布均匀程度达到预设的均匀程度即可。
183.在一个实施例中,若确定地址列表中增加了新的票源管理服务器的地址,根据当前的地址列表,通过一致性哈希算法建立新的包含多个虚拟节点的环状哈希结构;若确定地址列表中减少了票源管理服务器的地址,在当前的哈希结构中删除减少的地址对应的虚拟节点。
184.参照图4所示,将票源管理服务器记录为worker,建立的哈希结构为包含4个worker对应的虚拟节点。
185.步骤s32:确定哈希结构上的沿预设方向与哈希点最靠近的虚拟节点,作为该标识对应的虚拟节点。
186.上述预设方向可以是图4中的顺时针方向,可选的,也可以是逆时针方向。
187.步骤s33:根据虚拟节点对应的票源管理服务器的地址,确定管理当前处理的购票请求中的观看区域匹配的座位的票源管理服务器。
188.参照图4所示,根据当前处理的购票请求中的观看区域的标识,通过一致性哈希算法确定标识在预先建立的哈希结构上的哈希点为哈希点1,哈希点1在顺时针方向的最近的虚拟节点为worker1对应的虚拟节点,根据worker1对应的虚拟节点的地址确定票源管理服务器的地址。
189.当发现worker3宕机时,将worker3对应的虚拟节点删除掉即可,这样,按照上述方法确定的标识对应的虚拟节点为原来worker3对应的一个虚拟节点沿顺时针方向的下一虚拟节点,即确定的标识对应的worker不再是worker3了。
190.方式二:利用观看区域与票源管理服务器地址的映射关系,确定票源管理服务器。
191.参照图5所示,具体包括的步骤如下:
192.步骤s51:确定预先建立的观看区域标识与票源管理服务器地址的映射关系中是否有当前处理的购票请求中的观看区域的标识。
193.若是,执行步骤s52;若否,执行步骤s53。
194.步骤s52:根据当前处理的购票请求中的观看区域的标识,和观看区域标识与票源管理服务器地址的映射关系,确定票源管理服务器的地址。
195.步骤s53:根据该观看区域的标识,通过一致性哈希算法确定标识在预先建立的哈希结构上的哈希点。
196.上述哈希结构是根据票源管理服务器的地址列表,通过一致性哈希算法建立的包含多个虚拟节点的环状结构,列表中的一个地址对应多个虚拟节点。
197.在一个实施例中,若确定地址列表中增加了新的票源管理服务器的地址,根据当前的地址列表,通过一致性哈希算法建立新的包含多个虚拟节点的环状哈希结构,清空当前的映射关系;若确定地址列表中减少了票源管理服务器的地址,在当前的哈希结构中删除减少的地址对应的虚拟节点,确定当前的映射关系中有减少了的票源管理服务器的地址时,删除地址及对应的观看区域的标识。
198.步骤s54:确定哈希结构上的沿预设方向与哈希点最靠近的虚拟节点,作为标识对应的虚拟节点。
199.步骤s55:根据虚拟节点对应的地址确定票源管理服务器的地址。
200.步骤s56:将该观看区域的标识和虚拟节点对应的地址填入映射关系。
201.步骤s55和步骤s56没有先后顺序,可以先执行其中的任一一步,也可以同时执行。
202.上述两种方式都是根据票源管理服务器的地址列表,利用哈希一致性算法建立哈希结构,使得每个地址在哈希结构上对应多个虚拟节点,且虚拟节点分布均匀程度达到预设要求;同时监控地址列表,当地址列表变化时,对应性的更新哈希结构。不同的是,方式1每次观看区域的标识在哈希结构上对应的虚拟节点的确定,都是利用哈希一致性算法计算的;方式二维护观看区域标识与票源管理服务器地址的映射关系,每次在映射关系中不包括观看区域的标识时,才利用哈希一致性算法计算哈希值,确定在哈希结构上的哈希点,进而确定对应的虚拟节点,同时将新确定的观看区域标识与票源管理服务器地址加入映射关系。方式一每次都要计算哈希值,确定哈希点,进而确定对应的虚拟节点;方式二需要维护映射关系,所以二者各有优势,具体选用哪种方式可以视具体情况来定。
203.利用哈希一致性算法实时的维护观看区域的标识和与票源管理服务器的对应关系,使得对票源管理服务器的管理实现了自动化的更新,无论有票源管理服务器宕机或者是增加了新的管理服务器时,都无需人工来调整票源管理服务器与管理的观看区域座位的对应关系,实现了票源管理服务器对各观看区域座位管理的灵活性,节省了人力成本。
204.实施例二
205.本发明实施例二提供一种选座方法,主要由票源管理服务器执行,其流程如图6所示,包括如下步骤:
206.步骤s61:响应于接收到的座位请求,根据座位请求中的观看区域将座位请求加入到座位请求队列。
207.在一个实施例中,可以包括,判断本地是否存在与座位请求中的观看区域匹配的座位请求队列;若是,将座位请求加入在观看区域匹配的座位请求队列的末尾;若否,创建观看区域匹配的座位请求队列,将座位请求加入创建的座位请求队列。
208.即将观看区域一致的座位请求排在一个座位请求队列中,且请求时间早的排在前面、请求时间晚的排在后面。将观看区域一致的座位请求按请求时间进行排列,保证了座位分配的公平性,为先请求的先分配座位,使得对应的选票服务器可以先为对应的购票请求分配座位,最终实现了选座的公平。
209.票源管理服务器每接收到座位请求时,都执行上述步骤s61。
210.针对每个座位请求队列,票源管理服务器依次按照下述步骤s62处理座位请求队列中的座位请求。
211.具体的,可以是并行处理座位请求队列;也可以是,先处理vip用户对应的座位请求队列,再处理非vip用户对应的座位请求队列;可选的,也可以是按照其他的顺序规则处理每个座位请求队列。
212.步骤s62:针对当前处理的座位请求队列中的座位请求,从预先分配到的座位资源中为当前处理的座位请求分配座位,使得发送座位请求的选票服务器将分配到的座位分配给座位请求对应的购票请求。
213.在一个实施例中,为当前处理的座位请求分配座位,具体可以包括:根据预设倍数和当前处理的座位请求中的购票请求个数,确定待分配座位的数量;根据当前处理的座位请求中的观看区域和待分配座位数量,从预先分配到的座位资源中为当前处理的座位请求
分配观看区域匹配的座位。
214.具体的,上述预设倍数可以是预先统计的选票服务器在设定时间内获取到的购票请求中的购票张数的平均值。
215.票源管理服务器根据预设倍数和座位请求中的购票请求数量,确定待分配座位的数量,减少了为选票服务器分配座位的次数,进而减少了选票服务器向票源管理服务器请求座位的次数,使得座位分配速度得以提升。
216.可选的,上述待分配座位的数量,也可以是预设的固定数量,这样进一步减少了计算量,但不是按需确定待分配座位的数量,如果为座位请求分配的座位数量过多,浪费选票服务器的存储资源,同时可能对别的选票服务器在对应时间段内的相同选票区域座位的请求产生影响;如果为座位请求分配的座位数量过少,又可能使得选票服务器很快就将分配到的座位分配完了,需要重新向票源管理服务器请求,增多了选票服务器的请求次数,从而影响了座位分配效率。
217.可选的,待分配座位的数量也可以是其他的确定方法来确定,可以具体视实际需求来定。
218.在一个实施例中,为座位请求分配座位,可以包括,从预先分配到的座位资源中,为当前处理的座位请求分配优先级最高的观看区域匹配的座位;也可以包括,从预先分配到的座位资源中,为当前处理的座位请求分配优先级最高的观看区域匹配的且相邻的座位。
219.将座位资源中的观看区域匹配的优先级最高的座位分配给当前处理的座位请求,进一步保证了选座的公平性,先到先得,且先到的分配到的座位优先级越高。
220.本发明实施例二提供的选座方法:票源管理服务器接收到选票服务器发送的座位请求时,根据座位请求中的观看区域将座位请求加入到匹配的座位请求队列;针对每个座位请求队列,依次处理述座位请求队列中的座位请求,从预先分配到的座位资源中为座位请求分配座位,使得选票服务器将分配到的座位分配给座位请求对应的购票请求。通过选票服务器来分担购票请求,选票服务器为购票请求分配座位,票源管理服务器为购票请求队列分配座位,保证选座有效实现的同时兼顾了高效性;以队列的形式分配座位,实现了选票的公平性。故本发明实施例二提供的选座方法,同时实现了选座的高效性、有效性和公平性。
221.在一个实施例中,若预先分配到的座位资源中不存在与当前处理的座位请求的观看区域匹配的座位,从数据库获取与该观看区域匹配的座位,并根据获取结果更新本地的座位资源,为当前处理的座位请求分配座位。
222.具体的,从数据库获取与该观看区域匹配的座位,可以是从数据库获取与该观看区域匹配的所有可分配的座位。例如,将选票服务器为购票请求分配的座位在扣减成功时,数据库将对应座位标记为已扣减;当购票请求支付成功时,数据库将对应座位标记为已出售,除了已出售和已扣减的座位,其他的座位都是可分配的座位。
223.票源管理服务器得到数据库为其分配的座位后,根据获取结果更新本地的座位资源,从座位资源中为当前处理的座位请求分配座位。
224.在一个实施例中,根据预先分配到的座位资源中座位的观看区域,按照预设时间间隔从数据库获取观看区域匹配的座位;利用获取结果更新预先分配到的座位资源。
225.票源管理服务器针对本地的座位资源中的每个观看区域的座位,按照预设间隔进行更新,保证了本地存储的座位资源的有效性。
226.实施例三
227.本发明实施例三提供一种选座方法的具体实现,参照图7所示:首先将用户的购票请求通过负载均衡器按照流量均衡的原则分配给一个票源管理服务器agent server。每个agent server执行的工作包括:每接收到分配到的购票请求,根据购票请求中的观看区域将购票请求加入到匹配的购票请求队列;维护每个购票请求队列的长度(购票请求个数);根据获取到的票源管理服务器worker的地址列表provider list,利用一致性哈希算法consistent hash确定包含多个虚拟节点的环状哈希结构,地址列表中的一个worker地址对应哈希结构上的多个虚拟节点;监控到地址列表变化时,更新哈希结构;并行处理每个购票请求队列,针对购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位;当座位资源中观看区域匹配的座位不足时,根据购票请求中的观看区域的标识利用哈希一致性算法确定在哈希结构上的对应点,获取沿顺时针最靠近对应点的虚拟节点对应的worker的地址,按照获取的地址向对应的worker发送座位请求,座位请求包括观看区域和队列长度(对应的购票请求队列中购票请求个数),获取到worker分配的座位后,更新本地座位资源,为购票请求分配座位。
228.agent server根据观看区域的标识确定向哪个worker请求座位,故观看区域一致的座位请求被发送到同一台worker。对应的,每个worker执行下述工作:
229.接收到选票服务器发送的座位请求时,根据座位请求中的观看区域将座位请求加入到匹配的座位请求队列;并行处理每个座位请求队列,针对座位请求队列中的座位请求,从预先分配到的座位资源中为当前处理的座位请求分配座位,使得选票服务器将分配到的座位分配给座位请求对应的购票请求;若预先分配到的座位资源中不存在与当前处理的座位请求的观看区域匹配的座位,从数据库获取与该观看区域匹配的座位,根据获取结果更新本地的座位资源,为座位请求分配座位。同时,票源管理服务器得到数据库为其分配的相应观看区域的座位后,按预设时间间隔从数据库重新获取相应观看区域的座位,并根据获取结果更新座位资源。
230.基于本发明的发明构思,本发明实施例还提供一种售票方法,包括,分销服务器将接收到的购票请求分配给选票服务器,得到选票服务器利用上述选座方法为购票请求分配的座位;从数据库中扣减座位成功时,生成并向发送购票请求的终端发送包括购票请求和座位的订单。
231.选票服务器为购票请求分配的座位可能存在重复分配的情况,即相同的座位被同一选票服务器或不同的选票服务器分配给了不同的购票请求,所以分销服务器接收到选票服务器为购票请求分配的座位后,需要从数据库中扣减座位,而同一座位只能扣减成功一次,所以避免了一票多卖的情况。
232.在一个实施例中,分销服务器响应于接收到的购票请求,向发送购票请求的终端发送是否更改购票请求中的观看区域的信息;若接收到更改观看区域的选择信息,根据选择信息向用户推送至少一个新的观看区域,根据用户选择的新的观看区域更新购票请求中的观看区域,向终端发送的是否更改购票请求中的观看区域的信息包括下述至少一项:
233.是否选择更便宜的观看区域,是否选择更优的观看区域,是否选择当前排队更少
的观看区域。
234.这样加强了座位分配过程中的人机交互,最终使得用户被分配到更为满意的座位。
235.在一个实施例中,分销服务器从数据库中扣减座位失败时,向发送购票请求的终端发送购票失败的消息。此时分销服务器可以向终端生成并展示是否需要重新购票的对话框,若接收到是的消息后,将原先的用户发送的购票请求相关信息展示给用户,接收到用户的确认信息或者是修改后的信息后,生成新的购票请求,重新为新的购票请求分配座位和扣减座位。
236.在一个实施例中,生成并向发送购票请求的终端发送包括购票请求和对应座位的订单后,还包括:
237.支付服务器在预设时间内接收到终端发送的订单的确认信息后,生成订单的支付信息,在确认终端根据支付信息支付成功后,通知数据库将对应座位标记为已出售;支付服务器在预设时间内没有接收到终端发送的订单的确认信息,或在确认终端根据支付信息支付失败后,通知数据库将相应座位标记为未分配。
238.终端支付成功后,通知数据库将对应座位标记为已出售,使得对应座位变为不可分配,避免了一票多卖;终端为预设时间段内未支付,或支付失败后,通知数据库将相应座位标记为未分配,可以及时的释放相应的座位资源,使得相应座位可以重新被分配、扣减。
239.具体的,上述选座方法和售票方法不单单适用于上述场景,基于上述发明构思,还可以适用于其他的多种场景,只要是一类服务器用于对接用户的请求,为用户分配资源,且分配的资源是预先从另一类管理服务器获取并存储的;管理服务器用于管理某种或某些种类的资源,响应于一类服务器的资源请求为其分配对应的资源,且分配的资源是预先从数据库获取的。例如可以是下述场景:
240.一、货物分配。
241.选货服务器响应于分配到的购买请求,根据购买请求中的货物属性将购买请求加入到购买请求队列;针对当前处理的购买请求队列中的购买请求,从预先分配到的货物资源中为当前处理的购买请求分配货物;若货物资源中的匹配货物的数量小于该购买请求中的购买数量,向货物管理服务器请求与当前处理的购买请求中的货物属性匹配的货物。
242.货物管理服务器响应于接收到的货物请求,根据货物请求中的货物属性将货物请求加入到货物请求队列;针对当前处理的货物请求队列中的货物请求,从预先分配到的货物资源中为当前处理的货物请求分配货物,使得发送货物请求的选货服务器将分配到的货物分配给货物请求对应的购买请求。
243.具体的,上述选货可以是网络购物过程中为用户选货,可以是直播选货。
244.货物属性可以是货物的种类、尺寸、颜色和款式中的一种或多种。
245.二、红包分配。
246.红包分配服务器响应于分配到的红包请求,根据红包请求中的适用范围将红包请求加入到红包请求队列;针对当前处理的红包请求队列中的红包请求,从预先分配到的红包资源中为当前处理的红包请求分配红包;若红包资源中的匹配红包的数量小于该红包请求中的请求数量,向红包管理服务器请求与当前处理的红包请求中的适用范围匹配的红包。
247.红包管理服务器响应于接收到的红包资源请求,根据红包资源请求中的适用范围将红包资源请求加入到红包资源请求队列;针对当前处理的红包资源请求队列中的红包资源请求,从预先分配到的资源中为当前处理的红包资源请求分配红包,使得发送红包资源请求的红包分配服务器将分配到的红包分配给红包资源请求对应的红包请求。
248.具体的,上述红包可以是适用于某种或某些商品的代金券,或是适用于某种或某些商品的折扣券等。
249.三、游戏排队。
250.名额分配服务器响应于分配到的游戏请求,根据游戏请求中的类型将游戏请求加入到游戏请求队列;针对当前处理的游戏请求队列中的游戏请求,从预先分配到的名额资源中为当前处理的游戏请求分配名额;若名额资源中没有匹配名额,向名额管理服务器请求与当前处理的游戏请求中的类型匹配的游戏名额。
251.名额管理服务器响应于接收到的名额请求,根据名额请求中的类型将名额请求加入到名额请求队列;针对当前处理的名额请求队列中的名额请求,从预先分配到的名额资源中为当前处理的名额请求分配名额,使得发送名额请求的游戏名额分配服务器将分配到的名额分配给名额请求对应的游戏请求。
252.基于本发明的发明构思,本发明实施例还提供一种选座装置,其结构如图8所示,包括:
253.队列管理模块81,用于响应于分配到的购票请求,根据所述购票请求中的观看区域将所述购票请求加入到购票请求队列;
254.选座模块82,用于针对当前处理的购票请求队列中的购票请求,从预先分配到的座位资源中为当前处理的购票请求分配座位;
255.座位请求模块83,若选座模块82确定所述座位资源中的匹配座位的数量小于该购票请求中的座位数量,座位请求模块83用于向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
256.在一个实施例中,座位请求模块83向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,具体用于:
257.根据当前处理的购票请求中的观看区域的标识,通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点;根据所述虚拟节点对应的票源管理服务器的地址,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
258.在一个实施例中,座位请求模块83通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点,具体用于:
259.通过一致性哈希算法确定所述标识在哈希结构上的哈希点,所述哈希结构是根据票源管理服务器的地址列表,通过所述一致性哈希算法预先建立的环状结构,所述地址列表中的一个地址对应所述哈希结构中的多个虚拟节点;在所述哈希结构中沿预设方向,确定与所述哈希点最靠近的虚拟节点,作为所述标识对应的虚拟节点。
260.在一个实施例中,座位请求模块83建立所述哈希结构后,还用于:
261.若确定所述地址列表中增加了新的票源管理服务器的地址,根据当前的地址列表,通过所述一致性哈希算法建立新的哈希结构;若确定所述地址列表中减少了票源管理服务器的地址,在当前的哈希结构中删除减少的地址对应的虚拟节点。
262.在一个实施例中,座位请求模块83向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,具体用于:
263.根据当前处理的购票请求中的观看区域的标识,和观看区域标识与票源管理服务器地址的映射关系,确定票源管理服务器的地址,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位。
264.在一个实施例中,映射关系中没有当前处理的购票请求中的观看区域的标识时,座位请求模块83还用于:
265.根据当前处理的购票请求中的观看区域的标识,通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点;根据所述虚拟节点对应的票源管理服务器的地址,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位;将所述标识和确定的地址填入所述映射关系。
266.在一个实施例中,座位请求模块83,通过一致性哈希算法确定所述标识在预先建立的哈希结构上对应的虚拟节点,具体用于:
267.通过一致性哈希算法确定所述标识在哈希结构上的哈希点,所述哈希结构是根据票源管理服务器的地址列表,通过所述一致性哈希算法预先建立的环状结构,所述地址列表中的一个地址对应所述哈希结构中的多个虚拟节点;在所述哈希结构中沿预设方向,确定与所述哈希点最靠近的虚拟节点,作为所述标识对应的虚拟节点。
268.在一个实施例中,座位请求模块83,建立所述哈希结构后,还用于:
269.若确定所述地址列表中增加了新的票源管理服务器的地址,根据当前的地址列表,通过所述一致性哈希算法建立新的哈希结构,清空当前的所述映射关系;若确定所述地址列表中减少了票源管理服务器的地址,在当前的哈希结构中删除减少的地址对应的虚拟节点,确定当前的映射关系中有减少了的票源管理服务器的地址时,删除该地址及对应的观看区域的标识。
270.在一个实施例中,座位请求模块83,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的座位,具体用于:
271.根据预设倍数和当前处理的购票请求队列中的购票请求个数,确定待请求座位的数量,向票源管理服务器请求与当前处理的购票请求中的观看区域匹配的所述数量的座位。
272.在一个实施例中,座位请求模块83,还用于:
273.针对预先分配到的座位资源中的与每个观看区域匹配的座位资源,按照预设时间间隔更新与该观看区域匹配的座位资源。
274.在一个实施例中,座位请求模块83,所述按照预设时间间隔更新与该观看区域匹配的座位资源,具体用于:
275.按照预设时间间隔确定当前是否存在未处理完的与该观看区域匹配的购票请求队列;
276.若是,向管理与该观看区域匹配的座位资源的票源管理服务器请求与该观看区域匹配的座位,根据请求结果替换当前的座位资源;若否,从当前的座位资源中删除与该观看区域匹配的座位。
277.在一个实施例中,队列管理模块81,根据所述购票请求中的观看区域将所述购票
请求加入到购票请求队列,具体用于;
278.判断是否存在与所述购票请求中的观看区域匹配的购票请求队列;若是,将所述购票请求加入在观看区域匹配的购票请求队列的末尾;若否,创建观看区域匹配的购票请求队列,将所述购票请求加入创建的购票请求队列。
279.在一个实施例中,选座模块82,从预先分配到的座位资源中为当前处理的购票请求分配座位,具体用于:
280.根据当前处理的购票请求的座位数量和观看区域,从预先分配到的座位资源中获取与该观看区域匹配的优先级最高的座位,分配给当前处理的购票请求。
281.基于本发明的发明构思,本发明实施例还提供另一种选座装置,其结构如图9所示,包括:
282.队列管理模块91,用于响应于接收到的座位请求,根据所述座位请求中的观看区域将所述座位请求加入到座位请求队列;
283.座位分配模块92,用于针对当前处理的座位请求队列中的座位请求,从预先分配到的座位资源中为当前处理的座位请求分配座位,使得发送所述座位请求的选票服务器将分配到的座位分配给所述座位请求对应的购票请求。
284.在一个实施例中,座位分配模块92从预先分配到的座位资源中为当前处理的座位请求分配座位,具体用于:
285.根据预设倍数和当前处理的座位请求中的购票请求个数,确定待分配座位数量;根据当前处理的座位请求中的观看区域和所述待分配座位数量,从预先分配到的座位资源中为当前处理的座位请求分配观看区域匹配的座位。
286.在一个实施例中,座位分配模块92从预先分配到的座位资源中为当前处理的座位请求分配观看区域匹配的座位,具体用于:
287.从预先分配到的座位资源中,为当前处理的座位请求分配优先级最高的观看区域匹配的座位
288.在一个实施例中,座位分配模块92从预先分配到的座位资源中为当前处理的座位请求分配座位,还用于:
289.若预先分配到的座位资源中不存在与当前处理的座位请求的观看区域匹配的座位,从数据库获取与该观看区域匹配的座位。
290.在一个实施例中,座位分配模块92,还用于:
291.根据预先分配到的座位资源中座位的观看区域,按照预设时间间隔从数据库获取观看区域匹配的座位;利用获取结果更新所述预先分配到的座位资源。
292.在一个实施例中,队列管理模块91根据所述座位请求中的观看区域将所述座位请求加入到座位请求队列,具体用于:
293.判断是否存在与所述座位请求中的观看区域匹配的座位请求队列;若是,将所述座位请求加入在观看区域匹配的座位请求队列的末尾;若否,创建观看区域匹配的座位请求队列,将所述座位请求加入创建的座位请求队列。
294.基于本发明的发明构思,本发明实施例还提供一种选座系统,其结构如图10所示,包括多个选票服务器101、多个票源管理服务器102和负载调度器103,选票服务器101设置有图8中所示的智能选座装置,所述票源管理服务器102设置有图9所示的智能选座装置;
295.负载调度器103,用于按照负载均衡的原则,将接收到的购票请求发送到一个选票服务器101。
296.基于本发明的发明构思,本发明实施例还提供一种售票系统,其结构如图11所示,包括至少一个分销服务器111、多个选票服务器112和多个票源管理服务器113,票源管理服务器113设置有图9中所示的的智能选座装置;
297.分销服务器111设置有负载调度器,所述负载调度器,用于按照负载均衡的原则,将接收到的购票请求发送到一个选票服务器112;
298.选票服务器112,用于利用上述实施例一中的智能选座方法为所述购票请求分配座位,将所述购票请求和座位发送给所述分销服务器111;
299.分销服务器111,用于从数据库中扣减所述座位成功时,生成并向发送所述购票请求的终端发送包括所述购票请求和所述座位的订单。
300.基于本发明的发明构思,本发明实施例还提供再一种售票系统,其结构如图12所示,包括至少一个分销服务器121、多个选票服务器122、多个票源管理服务器123和支付服务器124,票源管理服务器123设置有图9中所示的智能选座装置;
301.分销服务器121设置有负载调度器,所述负载调度器,用于按照负载均衡的原则,将接收到的购票请求发送到一个选票服务器122;
302.选票服务器122,用于利用上述实施例一中的智能选座方法为所述购票请求分配座位,将所述购票请求和座位发送给分销服务器121;
303.分销服务器122,用于从数据库中扣减所述座位成功时,生成并向发送所述购票请求的终端发送包括所述购票请求和所述座位的订单;
304.支付服务器124,用于在预设时间内接收到所述终端发送的所述订单的确认信息后,生成所述订单的支付信息,在确认所述终端根据所述支付信息支付成功后,通知数据库将所述座位标记为已出售;支付服务器124在预设时间内没有接收到所述终端发送的所述订单的确认信息,或在确认所述终端根据所述支付信息支付失败后,通知数据库将所述座位标记为未分配。
305.关于上述实施例中的装置和系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
306.基于本发明的发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述选座方法或上述售票方法。
307.除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
308.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不
是要限于所述的特定顺序或层次。
309.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
310.本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
311.结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动磁盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。该asic可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
312.对于软件实现,本技术中描述的技术可用执行本技术所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
313.上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献