CN110297708B - 一种出票处理及调度的方法、服务器及出票平台 - Google Patents
一种出票处理及调度的方法、服务器及出票平台 Download PDFInfo
- Publication number
- CN110297708B CN110297708B CN201810241643.3A CN201810241643A CN110297708B CN 110297708 B CN110297708 B CN 110297708B CN 201810241643 A CN201810241643 A CN 201810241643A CN 110297708 B CN110297708 B CN 110297708B
- Authority
- CN
- China
- Prior art keywords
- ticketed
- task
- ticketing
- provider
- ticket issuing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 title claims abstract description 47
- 230000008569 process Effects 0.000 claims description 19
- 238000009826 distribution Methods 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012384 transportation and delivery Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 5
- 238000013468 resource allocation Methods 0.000 abstract description 4
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B5/00—Details of, or auxiliary devices for, ticket-issuing machines
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种出票处理及调度的方法、服务器及出票平台,其中所述方法包括:出票节点获取多个待出票任务,其中,所述待出票任务包括供应商标识;确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理,以实现分布式调度资源分配以及资源隔离,缓解单台服务器出票任务压力,很好的解决了单机出票压力过大及某个航司出票阻塞对其他航司出票影响的问题,提升了出票流程的高可用性。
Description
技术领域
本申请涉及业务处理技术领域,特别是涉及一种出票处理的方法、一种出票调度的方法、一种出票处理的服务器、一种出票调度的服务器、一种出票平台、一种装置以及机器可读介质。
背景技术
出票流程是机票平台的核心流程,用户下单支付后拿到机票的快慢以及机票平台是否能顺利出票完全依赖于各个航司的出票能力。
在现有技术中,通常通过单台服务器扫描所有航司的待出票任务,然后遍历待出票任务,以串行的方式逐个调用航司出票接口完成出票。
现有的出票流程存在以下不足:
1)单机压力处理能力有局限性,特别是大促期间票量是平时的多倍,容易导致出票处理不及时甚至大量积压;同时存在单点故障隐患;
2)服务器每次调度扫描的出票任务包含各个航司的待出票任务,在一次调度周期内串行处理,一旦某个航司的接口能力下降或者航司发生宕机,则本次调度周期内对其他航司的出票请求也被阻塞,使得一个航司的出票能力下降影响平台的整体出票能力,造成出票阻塞积压。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种出票处理的方法、一种出票调度的方法和相应的一种出票处理的服务器、一种出票调度的服务器、一种出票平台、一种装置以及机器可读介质。
为了解决上述问题,本申请实施例公开了一种出票处理的方法,所述方法包括:
出票节点获取多个待出票任务,其中,所述待出票任务包括供应商标识;
确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;
调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
优选地,在所述调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理之前,还包括:
将所述待出票任务放置在所述供应商标识对应的线程池中。
优选地,在所述调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理之后,还包括:
检测问题供应商设备;
从配置中心中读取供应商白名单,其中,所述供应商白名单包括供应商标识;
将所述问题供应商设备对应的供应商标识从所述供应商白名单中删除。
优选地,所述方法还包括:
分别确定所述供应商设备的出票能力;
当所述出票能力低于预设阈值时,则减少所述供应商设备对应的线程池中的线程数量;
当所述出票能力高于预设阈值时,则增加所述供应商设备对应的线程池中的线程数量。
优选地,所述出票节点获取多个待出票任务的步骤包括:
出票节点接收调度引擎分发的多个待出票任务。
本申请实施例还公开了一种出票调度的方法,所述方法包括:
调度引擎从任务池中读取批量待出票任务;
将所述批量待出票任务分发至出票集群的多个出票节点中,由所述多个出票节点并行异步处理所述待出票任务。
优选地,所述将所述批量待出票任务分发至出票集群的多个出票节点中,包括:
获取所述任务池中的待出票任务的数量;
根据所述数量,将所述待出票任务分发至多个出票节点。
本申请实施例还公开了一种出票平台,所述出票平台包括:
配置中心,用于配置供应商白名单,以及,为所述供应商白名单中的供应商配置线程池;
出票节点,用于获取多个待出票任务,并分别识别接收到的待出票任务的线程池,从所述线程池中获取所述供应商标识对应的供应商设备对外提供的出票接口,以及调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
优选地,所述出票平台还包括:
调度引擎,用于从任务池中读取批量待出票任务,将所述批量待出票任务分发至出票集群的多个出票节点中;
优选地,所述出票平台还包括:
任务生成模块,用于获取订单信息,并根据所述订单信息生成待出票任务,以及,将所述待出票任务存入任务池。
本申请实施例还公开了一种出票处理服务器,所述服务器包括:
待出票任务获取模块,用于获取多个待出票任务,其中,所述待出票任务包括供应商标识;
线程池确认模块,用于确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;
出票处理模块,用于调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
优选地,所述服务器还包括:
线程池投递模块,用于将所述待出票任务放置在所述供应商标识对应的线程池中。
优选地,所述服务器还包括:
问题设备检测模块,用于检测问题供应商设备;
白名单读取模块,用于从配置中心中读取供应商白名单,其中,所述供应商白名单包括供应商标识;
删除模块,用于将所述问题供应商设备对应的供应商标识从所述供应商白名单中删除。
优选地,所述服务器还包括:
出票能力确定模块,用于分别确定所述供应商设备的出票能力;
线程调整模块,用于当所述出票能力低于预设阈值时,则减少所述供应商设备对应的线程池中的线程数量;当所述出票能力高于预设阈值时,则增加所述供应商设备对应的线程池中的线程数量。
优选地,所述待出票任务获取模块包括:
待出票任务接收子模块,用于接收调度引擎分发的多个待出票任务。
本申请实施例还公开了一种出票调度服务器,所述服务器包括:
待出票任务读取模块,用于从任务池中读取批量待出票任务;
待出票任务分发模块,用于将所述批量待出票任务分发至出票集群的多个出票节点中,由所述多个出票节点并行异步处理所述待出票任务。
优选地,所述待出票任务分发模块包括:
数量获取子模块,用于获取所述任务池中的待出票任务的数量;
分发子模块,用于根据所述数量,将所述待出票任务分发至多个出票节点。
本申请实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行上述的一种出票处理的方法,或者,一种出票调度的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行上述的一种出票处理的方法,或者,一种出票调度的方法。
本申请实施例包括以下优点:
本申请实施例提供的出票平台,通过搭建出票集群,由出票集群获取多个待出票任务后,分别将待出票任务放置在航司对应的线程池中,并通过调用航司提供的出票接口完成出票,以实现分布式调度资源分配以及资源隔离,缓解单台服务器出票任务压力,很好的解决了单机出票压力过大及某个航司出票阻塞对其他航司出票影响的问题,提升了出票流程的高可用性。
附图说明
图1是本申请的一种出票平台实施例的结构框图;
图2是本申请的一种出票平台实施例中的线程池示意图;
图3是本申请的一种出票处理的方法实施例的步骤流程图;
图4是本申请的一种出票调度的方法实施例的步骤流程图;
图5是本申请的一种出票处理服务器实施例的结构框图;
图6是本申请的一种出票调度服务器实施例的结构框图;
图7是本申请的一种装置实施例的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参考图1,示出了本申请的一种出票平台实施例的结构框图,本申请实施例中的出票平台至少可以包括:配置中心101以及出票集群,其中,该出票集群可以包括多个出票节点102。具体的,
配置中心101,用于配置供应商白名单,以及,为所述供应商白名单中的供应商配置线程池;
出票节点102,用于获取多个待出票任务,并分别识别接收到的待出票任务的线程池,从所述线程池中获取所述供应商标识对应的供应商设备对外提供的出票接口,以及调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
在本申请实施例的一种优选实施例中,该出票平台还可以包括调度引擎103,用于从任务池中读取批量待出票任务,将所述批量待出票任务分发至出票集群的多个出票节点中。在本申请实施例的一种优选实施例中,该出票平台还可以包括任务生成模块104,用于获取订单信息,并根据所述订单信息生成待出票任务,以及,将所述待出票任务存入任务池。
基于上述出票平台的架构,以下对该出票平台进行出票的出票流程进行具体说明:
需要说明的是,本申请实施例所述的供应商可以为进行出票的责任方,例如,如果出票的票据为飞机票,则供应商可以为航天公司(简称航司),如果出票的票据为汽车票,则供应商可以为汽车公司,如果出票的票据为订单发票,则供应商可以为发票的商户等,本申请实施例对此不作限制。
另外,还需要说明的是,本申请实施例中的架构除了可以应用于出票处理流程,还可以应用于其他的业务处理场景,本申请实施例对此不作限制。
以下以票据为飞机票为例进行说明:
配置中心101负责统一配置管理,可以在配置中心101中初始化航司维度的线程池配置以及进行航司维度的灰度配置,并维护该灰度配置和线程池配置。
具体的,灰度配置的过程可以为配置供应商白名单(即航司白名单)的过程,在具体实现中,可以按照航司ID进行灰度配置,比如上线初期为确保出票安全,将票量较小的航司ID加入航司白名单,在航司白名单中的航司才执行本申请实施例的出票流程。
在配置中心101进行灰度配置的维护时,可以执行新航司接口灰度接入及问题航司的下线操作。
本申请实施例通过航司ID与线程池配置进行映射,线程池配置按照航司ID维护在配置中心101中。
在一种实施方式中,线程池配置可以包括核心线程数配置、最大线程数配置、最小线程数配置、任务队列大小配置等。
负责维护隔离线程池的应用启动时读取线程池配置并生成每个航司的线程池,以完成各个航司的线程池的初始化。在应用的运行过程中支持配置调整,例如,双十一出票高峰期,初始化的线程池中线程数量不够用,可以通过线程池接口增加线程数量。
用户下单并且支付后,业务流程可以根据用户购买的机票的订单号和乘机人员相关信息生成待出票任务,并将该待出票任务存储到任务池中。在具体实现中,支付流程完成后,可以将用户购买的机票的订单号和乘机人员相关信息等订单信息发送给任务生成模块104,任务生成模块104根据订单信息生成待出票任务,并将该待出票任务存储在任务DB(database,数据库),即任务池中。
本申请实施例可以在出票平台中集成调度引擎103,该调度引擎103为分布式调度引擎,负责分布式任务调度以及资源分配。具体的,调度引擎103可以扫描任务池中所有航司的待出票任务,将批量待出票任务分发至出票集群的多个出票节点102中。
在一种实施方式中,调度引擎103可以获取任务池中的待出票任务的数量;并根据待出票任务的数量,将所有待出票任务平均分发至多个出票节点102中。例如,调度引擎103扫描到10000个待出票任务,通过程序计算按照任务ID取模(如除10的余数),并根据余数将待出票任务调度至处理该余数的出票节点102中,其中,每个出票节点102负责处理不同余数的待出票任务。
本申请实施例还可以搭建出票集群,该出票集群中部署核心出票流程应用(即出票节点),一个出票集群中可以部署多个出票节点102,例如,一个出票集群可以部署5台出票服务器。
通过出票集群可以并行异步处理待出票任务。具体的,每个出票节点102在领取到批量待出票任务后,可以首先识别每个待出票任务的线程池。在实现时,可以根据待出票任务中携带的航司ID判断当前待出票任务属于哪个航司,根据归属的航司将该待出票任务投递到相应的线程池中,通过线程池实现资源隔离,使得各个航司的待出票任务互不影响。
如图2的线程池示意图所示,每个航司对应的线程池中可以包括航司对外部平台提供的用于给用户生成机票的出票接口,则出票节点将待出票任务投递到归属的航司对应的线程池以后,可以调用该航司提供的出票接口,对当前待出票任务进行出票处理,以完成出票。
在出票过程中,出票节点102还可以检测问题航司,在一种实施方式中,出票节点102可以通过如下方式判断问题航司:在调用出票接口后,在预设时间段内没有接收到对应的航司返回的出票结果,则可以认为该出票接口对应的航司故障或宕机。
当然,除了上述方式以外,出票节点102还可以通过其他方式确定问题航司,例如,由技术人员上报问题航司,或者,由问题航司主动上报故障,本申请实施例对此不作限制。
在识别出问题航司以后,出票节点102可以将问题航司对应的航司ID从航司白名单中删除,实现将问题航司从灰度配置中下线,等航司明确告知无问题后再上线该航司,例如,可以线下联系航司技术,告知接口已经恢复,则将此航司添加到灰度配置的白名单中。
在本申请实施例的一种优选实施例中,出票节点102还可以确定航司的出票能力,当该航司的出票能力低于预设阈值时,则减少该航司对应的线程池中的线程数量;当该航司的出票能力高于预设阈值时,则增加该航司对应的线程池中的线程数量。从而实现了针对每个航司的出票请求进行差异性并发数控制(并发数是指航司对外要求的单位时间内出票请求的次数),并根据航司出票服务的即时能力进行并发请求数量的平滑动态调整。
在具体实现中,航司的出票能力可以为航司在单位时间内的出票量。例如,可以采用如下方式计算出票能力:根据航司的出票接口的RT(平均响应时间)计算单位时间内的出票能力。
需要说明的是,本申请实施例并不限于出票能力的计算方式,本领域技术人员采用其他的方式达到相似的目的均是可以的。
本申请实施例提供的出票平台,通过搭建出票集群,集成分布式调度引擎,由调度引擎将批量出票任务分发至出票集群,由出票集群将待出票任务放置在航司对应的线程池中,并通过调用航司提供的出票接口完成出票,以实现分布式调度资源分配以及资源隔离,缓解单台服务器出票任务压力,很好的解决了单机出票压力过大及某个航司出票阻塞对其他航司出票影响的问题,提升了出票流程的高可用性。通过本申请实施例的出票平台,很好的完成了大促期间机票出票工作,使得99%以上的机票都在10分钟内完成出票,未出现往年因航司出票积压、出票阻塞导致影响平台整体出票能力的问题。
参考图3,示出了本申请的一种出票处理的方法实施例的步骤流程图,本申请实施例从出票集群侧进行描述,在进行出票处理时,出票集群中的每个出票节点可以并行处理。
针对每个出票节点,本申请实施例具体可以包括如下步骤:
步骤301,出票节点获取多个待出票任务,其中,所述待出票任务包括供应商标识;
例如,针对机票而言,供应商标识可以包括航司ID。
在本申请实施例的一种优选实施例中,步骤301可以包括如下子步骤:出票节点接收调度引擎分发的多个待出票任务。
步骤302,确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;
本申请实施例可以以航司为维度建立每个航司对应的线程池。在具体实现中,可以预先设置每个航司的线程池配置,并将航司ID与线程池配置进行映射,线程池配置按照航司ID维护在配置中心中。
在一种实施方式中,线程池配置可以包括核心线程数配置、最大线程数配置、最小线程数配置、任务队列大小配置等。
负责维护隔离线程池的应用启动时读取线程池配置并生成每个航司的线程池,以完成各个航司的线程池的初始化。
在进行出票处理时,出票节点获得当前待出票任务中的航司ID时,可以根据该航司ID查找同一航司ID的线程池。
在本申请实施例的一种优选实施例中,本申请实施例还可以包括如下步骤:将所述待出票任务放置在所述供应商标识对应的线程池中。
具体的,确定当前待出票任务的线程池以后,可以将当前待出票任务投递到同一航司ID的线程池中,本申请实施例通过线程池实现各个航司的资源隔离,使得各个航司的待出票任务互不影响。
步骤303,调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
每个航司对应的线程池中可以包括航司对外部平台提供的用于给用户生成机票的出票接口,则出票节点将待出票任务投递到归属的航司对应的线程池以后,可以调用该航司提供的出票接口,对当前待出票任务进行出票处理,以完成出票。
在本申请实施例的一种优选实施例中,本申请实施例还可以包括如下步骤:
检测问题供应商设备;从配置中心中读取供应商白名单,其中,所述供应商白名单包括供应商标识;将所述问题供应商设备对应的供应商标识从所述供应商白名单中删除。
针对机票而已,问题供应商设备可以问题航司平台(又称问题航司),供应商白名单可以为航司白名单,该航司白名单中可以包括航司ID。
在一种实施方式中,出票节点可以通过如下方式检测问题航司:在调用出票接口后,在预设时间段内没有接收到对应的航司返回的出票结果,则可以认为该出票接口对应的航司故障或宕机。
当然,除了上述方式以外,出票节点还可以通过其他方式确定问题航司,例如,由技术人员上报问题航司,或者,由问题航司主动上报故障,本申请实施例对此不作限制。
在识别出问题航司以后,出票节点可以从配置中心中读取航司白名单,并将问题航司对应的航司ID从航司白名单中删除,实现将问题航司从灰度配置中下线,等航司明确告知无问题后再上线该航司,例如,可以线下联系航司技术,告知接口已经恢复,则将此航司添加到灰度配置的白名单中。
在本申请实施例的一种优选实施例中,本申请实施例还可以包括如下步骤:
分别确定所述供应商设备的出票能力;当所述出票能力低于预设阈值时,则减少所述供应商设备对应的线程池中的线程数量;当所述出票能力高于预设阈值时,则增加所述供应商设备对应的线程池中的线程数量。
在具体实现中,航司的出票能力可以为航司在单位时间内的出票量。例如,可以采用如下方式计算出票能力:根据航司的出票接口的RT(平均响应时间)计算单位时间内的出票能力。
本申请实施例可以根据每个航司的即时能力调整对应的线程池的线程数量,以实现个性化的线程池配置,提高了线程池的利用率。
在本申请实施例中,出票集群中多台出票节点可以并行工作,很好地缓解单台服务器的出票任务压力。
另外,出票节点接收到来自调度引擎的批量待出票任务后,根据待出票任务中的航司ID将待出票任务放置在航司对应的线程池中,并通过调用航司提供的出票接口完成出票,通过线程池实现分布式调度资源分配以及资源隔离,很好的解决了单机出票压力过大及某个航司出票阻塞对其他航司出票影响的问题,提升了出票流程的高可用性。
参考图4,示出了本申请的一种出票调度的方法实施例的步骤流程图,本申请实施例从调度引擎侧进行描述,具体可以包括如下步骤:
步骤401,调度引擎从任务池中读取批量待出票任务;
步骤402,将所述批量待出票任务分发至出票集群的多个出票节点中,由所述多个出票节点并行异步处理所述待出票任务。
在本申请实施例的一种优选实施例中,步骤402可以包括如下子步骤:获取所述任务池中的待出票任务的数量;根据所述数量,将所述待出票任务分发至多个出票节点。
在具体实现中,调度引擎可以获取任务池中的待出票任务的数量;并根据待出票任务的数量,将所有待出票任务平均分发至多个出票节点中。例如,调度引擎扫描到10000个待出票任务,通过程序计算按照任务ID取模(如除10的余数),并根据余数将待出票任务调度至处理该余数的出票节点中,其中,每个出票节点负责处理不同余数的待出票任务。
本申请实施例通过调度引擎完成待出票任务的调度分发,可以缓解单台服务器的处理压力,并且可以避免多个出票节点同时从任务池中读取待出票任务而造成的对任务池的读取压力。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请的一种出票处理服务器实施例的结构框图,所述服务器具体可以包括如下模块:
待出票任务获取模块501,用于获取多个待出票任务,其中,所述待出票任务包括供应商标识;
线程池确认模块502,用于确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;
出票处理模块503,用于调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
在本申请实施例的一种优选实施例中,所述服务器还包括如下模块:
线程池投递模块,用于将所述待出票任务放置在所述供应商标识对应的线程池中。
在本申请实施例的一种优选实施例中,所述服务器还包括如下模块:
问题设备检测模块,用于检测问题供应商设备;
白名单读取模块,用于从配置中心中读取供应商白名单,其中,所述供应商白名单包括供应商标识;
删除模块,用于将所述问题供应商设备对应的供应商标识从所述供应商白名单中删除。
在本申请实施例的一种优选实施例中,所述服务器还包括如下模块:
出票能力确定模块,用于分别确定所述供应商设备的出票能力;
线程调整模块,用于当所述出票能力低于预设阈值时,则减少所述供应商设备对应的线程池中的线程数量;当所述出票能力高于预设阈值时,则增加所述供应商设备对应的线程池中的线程数量。
在本申请实施例的一种优选实施例中,所述待出票任务获取模块501进一步可以包括:
待出票任务接收子模块,用于接收调度引擎分发的多个待出票任务。
参照图6,示出了本申请的一种出票调度服务器实施例的结构框图,所述服务器具体可以包括如下模块:
待出票任务读取模块601,用于从任务池中读取批量待出票任务;
待出票任务分发模块602,用于将所述批量待出票任务分发至出票集群的多个出票节点中,由所述多个出票节点并行异步处理所述待出票任务。
在本申请实施例的一种优选实施例中,所述待出票任务分发模块602进一步可以包括如下子模块:
数量获取子模块,用于获取所述任务池中的待出票任务的数量;
分发子模块,用于根据所述数量,将所述待出票任务分发至多个出票节点。
对于图5及图6的服务器实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的系统。图7示意性地示出了可被用于实现本公开中所述的各个实施例的示例性系统(或装置)700。
对于一个实施例,图7示出了示例性系统700,该系统具有一个或多个处理器702、被耦合到(一个或多个)处理器702中的至少一个的系统控制模块(芯片组)704、被耦合到系统控制模块704的系统存储器706、被耦合到系统控制模块704的非易失性存储器(NVM)/存储设备708、被耦合到系统控制模块704的一个或多个输入/输出设备710,以及被耦合到系统控制模块706的网络接口712。
处理器702可包括一个或多个单核或多核处理器,处理器702可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,系统700能够作为本申请实施例中所述的数据平台。
在一些实施例中,系统700可包括具有指令的一个或多个计算机可读介质(例如,系统存储器706或NVM/存储设备708)以及与该一个或多个计算机可读介质相合并被配置为执行指令以实现模块从而执行本公开中所述的动作的一个或多个处理器702。
对于一个实施例,系统控制模块704可包括任意适当的接口控制器,以向(一个或多个)处理器702中的至少一个和/或与系统控制模块704通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块704可包括存储器控制器模块,以向系统存储器706提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
系统存储器706可被用于例如为系统700加载和存储数据和/或指令。对于一个实施例,系统存储器706可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器706可包括双倍数据速率类型四同步动态随机存取存储器(DDR7SDRAM)。
对于一个实施例,系统控制模块704可包括一个或多个输入/输出控制器,以向NVM/存储设备708及(一个或多个)输入/输出设备710提供接口。
例如,NVM/存储设备708可被用于存储数据和/或指令。NVM/存储设备708可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备708可包括在物理上作为系统700被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备708可通过网络经由(一个或多个)输入/输出设备710进行访问。
(一个或多个)输入/输出设备710可为系统700提供接口以与任意其他适当的设备通信,输入/输出设备710可以包括通信组件、音频组件、传感器组件等。网络接口712可为系统700提供接口以通过一个或多个网络通信,系统700可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器702中的至少一个可与系统控制模块704的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器702中的至少一个可与系统控制模块704的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器702中的至少一个可与系统控制模块704的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器702中的至少一个可与系统控制模块704的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统700可以但不限于是:浏览器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统700可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统700包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中上述方法各个步骤的指令(instructions)。
在一个示例中提供了一种装置,包括:一个或多个处理器;和,其上存储的有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本申请实施例中的上述方法各个步骤的指令(instructions)。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为客户端、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的客户端、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、客户端、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、客户端、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、客户端、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种出票处理及调度的方法、服务器及出票平台进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的客户端及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (19)
1.一种出票处理的方法,其特征在于,所述方法包括:
出票节点获取多个待出票任务,其中,所述待出票任务包括供应商标识;
确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;
调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
2.根据权利要求1所述的方法,其特征在于,在所述调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理之前,还包括:
将所述待出票任务放置在所述供应商标识对应的线程池中。
3.根据权利要求1或2所述的方法,其特征在于,在所述调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理之后,还包括:
检测问题供应商设备;
从配置中心中读取供应商白名单,其中,所述供应商白名单包括供应商标识;
将所述问题供应商设备对应的供应商标识从所述供应商白名单中删除。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
分别确定所述供应商设备的出票能力;
当所述出票能力低于预设阈值时,则减少所述供应商设备对应的线程池中的线程数量;
当所述出票能力高于预设阈值时,则增加所述供应商设备对应的线程池中的线程数量。
5.根据权利要求1所述的方法,其特征在于,所述出票节点获取多个待出票任务的步骤包括:
出票节点接收调度引擎分发的多个待出票任务。
6.一种出票调度的方法,其特征在于,所述方法包括:
调度引擎从任务池中读取批量待出票任务;所述待出票任务包括供应商标识;
将所述批量待出票任务分发至出票集群的多个出票节点中,由所述多个出票节点并行异步处理所述待出票任务;
其中,所述多个出票节点用于分别识别接收到的待出票任务的线程池,从所述线程池中获取所述供应商标识对应的供应商设备对外提供的出票接口,以及调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理;与所述待出票任务对应的线程池基于该待出票任务所包括的供应商标识识别。
7.根据权利要求6所述的方法,其特征在于,所述将所述批量待出票任务分发至出票集群的多个出票节点中,包括:
获取所述任务池中的待出票任务的数量;
根据所述数量,将所述待出票任务分发至多个出票节点。
8.一种出票平台,其特征在于,所述出票平台包括:
配置中心,用于配置供应商白名单,以及,为所述供应商白名单中的供应商配置线程池;
出票节点,用于获取多个待出票任务,并分别识别接收到的待出票任务的线程池,从所述线程池中获取所述供应商标识对应的供应商设备对外提供的出票接口,以及调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理;其中,所述待出票任务包括供应商标识;与所述待出票任务对应的线程池基于该待出票任务所包括的供应商标识识别。
9.根据权利要求8所述的出票平台,其特征在于,还包括:
调度引擎,用于从任务池中读取批量待出票任务,将所述批量待出票任务分发至出票集群的多个出票节点中。
10.根据权利要求8或9所述的出票平台,其特征在于,还包括:
任务生成模块,用于获取订单信息,并根据所述订单信息生成待出票任务,以及,将所述待出票任务存入任务池。
11.一种出票处理服务器,其特征在于,所述服务器包括:
待出票任务获取模块,用于获取多个待出票任务,其中,所述待出票任务包括供应商标识;
线程池确认模块,用于确认所述供应商标识对应的线程池,其中,所述线程池包括所述供应商标识对应的供应商设备对外提供的出票接口;
出票处理模块,用于调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理。
12.根据权利要求11所述的服务器,其特征在于,还包括:
线程池投递模块,用于将所述待出票任务放置在所述供应商标识对应的线程池中。
13.根据权利要求11或12所述的服务器,其特征在于,还包括:
问题设备检测模块,用于检测问题供应商设备;
白名单读取模块,用于从配置中心中读取供应商白名单,其中,所述供应商白名单包括供应商标识;
删除模块,用于将所述问题供应商设备对应的供应商标识从所述供应商白名单中删除。
14.根据权利要求11或12所述的服务器,其特征在于,还包括:
出票能力确定模块,用于分别确定所述供应商设备的出票能力;
线程调整模块,用于当所述出票能力低于预设阈值时,则减少所述供应商设备对应的线程池中的线程数量;当所述出票能力高于预设阈值时,则增加所述供应商设备对应的线程池中的线程数量。
15.根据权利要求11所述的服务器,其特征在于,所述待出票任务获取模块包括:
待出票任务接收子模块,用于接收调度引擎分发的多个待出票任务。
16.一种出票调度服务器,其特征在于,所述服务器包括:
待出票任务读取模块,用于从任务池中读取批量待出票任务;所述待出票任务包括供应商标识;
待出票任务分发模块,用于将所述批量待出票任务分发至出票集群的多个出票节点中,由所述多个出票节点并行异步处理所述待出票任务;
其中,所述多个出票节点用于分别识别接收到的待出票任务的线程池,从所述线程池中获取所述供应商标识对应的供应商设备对外提供的出票接口,以及调用所述出票接口,对所述供应商标识对应的待出票任务进行出票处理;与所述待出票任务对应的线程池基于该待出票任务所包括的供应商标识识别。
17.根据权利要求16所述的服务器,其特征在于,所述待出票任务分发模块包括:
数量获取子模块,用于获取所述任务池中的待出票任务的数量;
分发子模块,用于根据所述数量,将所述待出票任务分发至多个出票节点。
18.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-5中任一项的一种出票处理的方法,或者,如权利要求6或7中任一项的一种出票调度的方法。
19.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-5中任一项的一种出票处理的方法,或者,如权利要求6或7中任一项的一种出票调度的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241643.3A CN110297708B (zh) | 2018-03-22 | 2018-03-22 | 一种出票处理及调度的方法、服务器及出票平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241643.3A CN110297708B (zh) | 2018-03-22 | 2018-03-22 | 一种出票处理及调度的方法、服务器及出票平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297708A CN110297708A (zh) | 2019-10-01 |
CN110297708B true CN110297708B (zh) | 2023-04-28 |
Family
ID=68025829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810241643.3A Active CN110297708B (zh) | 2018-03-22 | 2018-03-22 | 一种出票处理及调度的方法、服务器及出票平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297708B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134430A (zh) * | 2019-04-12 | 2019-08-16 | 中国平安财产保险股份有限公司 | 一种数据打包方法、装置、存储介质和服务器 |
CN111045823A (zh) * | 2019-12-11 | 2020-04-21 | 上海智臻智能网络科技股份有限公司 | 上下文数据的负载分发方法、装置、设备及存储介质 |
CN112163762A (zh) * | 2020-09-25 | 2021-01-01 | 同程网络科技股份有限公司 | 一种票台管理系统、方法和计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054204A (zh) * | 2009-11-09 | 2011-05-11 | 阿里巴巴集团控股有限公司 | 一种自动订购客票的方法、系统和装置 |
JP2012141675A (ja) * | 2010-12-28 | 2012-07-26 | Railway Information Systems Co Ltd | 発券システム |
CN105183549A (zh) * | 2015-08-27 | 2015-12-23 | 携程计算机技术(上海)有限公司 | 基于任务分配的自动出票系统 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN107451826A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 电子客票的销售控制方法和装置 |
CN107527171A (zh) * | 2016-06-22 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 实现订单管控的系统、方法及调度服务器和处理服务器 |
CN107679931A (zh) * | 2017-08-17 | 2018-02-09 | 平安科技(深圳)有限公司 | 订单异步处理的方法、装置、存储介质及终端 |
CN107679843A (zh) * | 2017-09-30 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 一种提升出票率的方法、装置、服务器与存储介质 |
-
2018
- 2018-03-22 CN CN201810241643.3A patent/CN110297708B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054204A (zh) * | 2009-11-09 | 2011-05-11 | 阿里巴巴集团控股有限公司 | 一种自动订购客票的方法、系统和装置 |
JP2012141675A (ja) * | 2010-12-28 | 2012-07-26 | Railway Information Systems Co Ltd | 発券システム |
CN105183549A (zh) * | 2015-08-27 | 2015-12-23 | 携程计算机技术(上海)有限公司 | 基于任务分配的自动出票系统 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN107527171A (zh) * | 2016-06-22 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 实现订单管控的系统、方法及调度服务器和处理服务器 |
CN107451826A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 电子客票的销售控制方法和装置 |
CN107679931A (zh) * | 2017-08-17 | 2018-02-09 | 平安科技(深圳)有限公司 | 订单异步处理的方法、装置、存储介质及终端 |
CN107679843A (zh) * | 2017-09-30 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 一种提升出票率的方法、装置、服务器与存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110297708A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297708B (zh) | 一种出票处理及调度的方法、服务器及出票平台 | |
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
US20150269169A1 (en) | Automated dynamic reprioritization of presentation materials | |
KR20170042638A (ko) | 정책 기반 자원 관리 및 할당 시스템 | |
CN110008018A (zh) | 一种批量任务处理方法、装置及设备 | |
US20150262086A1 (en) | Managing patron servicing resources within a venue | |
CN105760230B (zh) | 一种自动调整云主机运行的方法及装置 | |
US11075979B2 (en) | Optimized resource provisioning | |
US11315133B2 (en) | System and method for minimizing latency in data consumption system | |
US20150262085A1 (en) | Integrated use of information generated in association with servicing patrons within a venue | |
CA3139693A1 (en) | Dynamic allocation of computing resources | |
US10826310B2 (en) | Resource statistics collection method and apparatus and terminal | |
US9871674B2 (en) | Bridging between differing communication buses | |
CN115983564A (zh) | 一种任务执行方法、装置、设备及存储介质 | |
US9455879B1 (en) | Validating changes to attributes for computing resources | |
CN113377548B (zh) | 一种标识生成方法、装置、计算机设备、存储介质 | |
CN114461401A (zh) | 资源调度方法方法、装置、电子设备及存储介质 | |
CN114707957A (zh) | 业务流程的控制方法、装置、电子设备和存储介质 | |
CN114140041A (zh) | 物流数据处理方法、装置、电子设备和存储介质 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN106844036A (zh) | 物理设备的访问方法及装置 | |
WO2023246330A1 (zh) | 资源调整方法、装置、计算设备集群及可读存储介质 | |
US20180365736A1 (en) | Displaying an advertisement for a product of interest | |
CN113792051B (zh) | 基于多模态锁的数据处理方法、系统、设备和存储介质 | |
CN110705884B (zh) | 清单处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |