CN116431367B - 一种修改票证信息的方法、系统及计算机可读存储介质 - Google Patents
一种修改票证信息的方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116431367B CN116431367B CN202310692187.5A CN202310692187A CN116431367B CN 116431367 B CN116431367 B CN 116431367B CN 202310692187 A CN202310692187 A CN 202310692187A CN 116431367 B CN116431367 B CN 116431367B
- Authority
- CN
- China
- Prior art keywords
- module
- calling
- downstream sub
- link
- downstream
- 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 40
- 238000012986 modification Methods 0.000 claims abstract description 135
- 230000004048 modification Effects 0.000 claims abstract description 135
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 78
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 13
- 230000000903 blocking effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种修改票证信息的方法、系统及计算机可读存储介质,用于对上游模块和下游模块之间的调用关系进行解耦,提高票据数据变更的处理效率,该方法包括:接收上游模块发送的票证信息的修改请求,根据修改请求查询上游模块之前是否存在与修改请求对应的未成功调用的链路,若不存在,则根据修改请求创建调用链路,调用链路包括上游模块对票证信息进行修改时调用的下游模块,接收上游模块生成的与修改请求对应的修改信息,根据与修改信息对应的预设调用链路规则,以及调用链路,调用下游模块。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种修改票证信息的方法、系统及计算机可读存储介质。
背景技术
目前客运结算系统为分布式系统,每个业务处理模块对应一个独立的子系统,当用户进行购票、改签或退票等业务操作时,上游模块需要对票据数据进行变更,并将变更后的数据同步至其他业务处理模块,在将变更后的数据同步至其他业务处理模块的过程中,上游模块需要等待所有下游模块均完成同步后,才能进行下一步操作,处理效率较低。因此,如何提高对票据数据进行变更的处理效率,成为当前所需解决的技术问题。
发明内容
鉴于上述问题,本发明的目的在于提供一种修改票证信息的方法、系统及计算机可读存储介质,以便对上游模块和下游模块之间的调用关系进行解耦,提高票据数据变更的处理效率,具体方案如下:
第一方面,本申请实施例提供了一种修改票证信息的方法,该方法包括:
接收上游模块发送的票证信息的修改请求;
根据所述修改请求查询所述上游模块之前是否存在与所述修改请求对应的未成功调用的链路;若不存在,则根据所述修改请求创建调用链路;所述调用链路包括所述上游模块对所述票证信息进行修改时调用的下游模块;
接收所述上游模块生成的与所述修改请求对应的修改信息;
根据与所述修改信息对应的预设调用链路规则,以及所述调用链路,调用所述下游模块。
可选的,所述下游模块包括多个下游子模块;所述根据与所述修改信息对应的预设调用链路规则,以及所述调用链路,调用所述下游模块,包括:
根据所述调用链路确定需要调用的下游子模块集;所述下游子模块集包括至少两个下游子模块;
根据所述预设调用链路规则,确定所述下游子模块集中的下游子模块的调用顺序;根据所述调用顺序依次对所述下游子模块集中的下游子模块进行调用。
可选的,所述根据所述调用顺序依次对所述下游子模块集中的下游子模块进行调用,包括:
当所述下游子模块集中存在调用失败的下游子模块时,则根据所述预设调用链路规则确定所述调用失败的下游子模块的调用规则信息;
若所述调用规则信息为关键调用,则停止调用处于所述调用失败的下游子模块的下游位置的后续下游子模块;
若所述调用规则信息为非关键调用,则根据所述调用顺序调用所述后续下游子模块;若不存在所述后续下游子模块,则结束调用所述下游子模块集。
可选的,所述修改请求包括请求修改的票据信息;所述根据所述修改请求创建调用链路,包括:
根据所述票据信息和预设调用链路规则创建所述调用链路,所述预设调用链路规则包括:所述调用链路的发起模块、所述调用链路的业务场景、所述调用链路所需调用的下游子模块,以及与所述所需调用的下游子模块对应的调用规则信息。
可选的,所述方法还包括:
若所述上游模块之前存在与所述修改请求对应的未成功调用的链路,则向所述上游模块发送修改失败的提示信息。
可选的,在所述停止调用处于所述调用失败的下游子模块的下游位置的后续下游子模块之后,所述方法还包括:
确定所述调用失败的下游子模块的调用失败原因;
根据所述调用失败原因,查询预设的调用失败原因修复表,确定与所述调用失败原因对应的修复方式;
根据所述修复方式对所述调用失败的下游子模块进行修复,得到完成修复后的下游子模块;
根据所述调用顺序依次调用所述完成修复后的下游子模块及处于所述完成修复后的下游子模块的下游位置的后续下游子模块。
第二方面,本申请实施例提供了一种修改票证信息的系统,该系统包括:
接收模块,用于接收上游模块发送的票证信息的修改请求;
查询模块,用于根据所述修改请求查询所述上游模块之前是否存在与所述修改请求对应的未成功调用的链路;
创建模块,用于在所述上游模块之前不存在与所述修改请求对应的未成功调用的链路时,根据所述修改请求创建调用链路;所述调用链路包括所述上游模块对所述票证信息进行修改时调用的下游模块;
所述接收模块,还用于接收所述上游模块生成的与所述修改请求对应的修改信息;
调用模块,用于根据与所述修改信息对应的预设调用链路规则,以及所述调用链路,调用所述下游模块。
可选的,所述下游模块包括多个下游子模块;所述调用模块包括:
确定单元,用于根据所述调用链路确定需要调用的下游子模块集;所述下游子模块集包括至少两个下游子模块;根据所述预设调用链路规则,确定所述下游子模块集中的下游子模块的调用顺序;调用单元,用于根据所述调用顺序依次对所述下游子模块集中的下游子模块进行调用。
可选的,所述系统还包括提示模块;
所述提示模块,用于若所述上游模块之前存在与所述修改请求对应的未成功调用的链路,则向所述上游模块发送修改失败的提示信息。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一种修改票证信息的方法。
相对于现有技术,本申请具有以下有益效果:
通过接收上游模块发送的票证信息的修改请求,根据修改请求查询上游模块之前是否存在与修改请求对应的未成功调用的链路,在不存在时,根据修改请求创建调用链路,接收上游模块发送的与修改请求对应的修改信息,根据与修改信息对应的预设调用链路规则,对下游模块进行调用,从而对上游模块和下游模块之间的调用关系进行解耦,上游模块无需等待下游模块完成调用便可进行其他操作,提高票据数据变更的处理效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种修改票证信息方法的流程示意图;
图2为本申请实施例提供的预设调用链路规则配置界面的示意图;
图3为本申请实施例提供的系统与上游模块、下游模块和预设调用链路规则之间调用关系的示意图;
图4为本申请实施例提供的另一种修改票证信息方法的流程示意图;
图5为本申请实施例提供的一种修改票证信息系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面结合附图对本申请的实施例进行详细说明:
如图1所示,本申请实施例提供了一种修改票证信息的方法,该方法包括:
S101:接收上游模块发送的票证信息的修改请求。
首先基于一系列框架的有序集合(SpringCloud)微服务框架,使用斯普瑞布特(SpringBoot)技术快速搭建修改票证信息的系统,使系统所对应程序的微服务环境遵循SpringCloud微服务框架所要求的的规则和约束,该系统整体向外提供可供调用的超文本传输协议(Hyper Text Transfer Protocol,HTTP) 应用程序编程接口(ApplicationProgramming Interface,API)以供其他模块调用,可针对接口进行负载均衡设置。此外,其他业务模块例如销售、交付等也均在此大环境下开发搭建完成,从而实现业务模块间的互相调用请求。
在完成系统的搭建之后,在接收到用户发送的修改请求时,上游模块中的销售模块进行数据准备,将修改请求通过第一接口发送至系统,使得系统接收到上游模块所发送的票证信息的修改请求。
需要说明的是第一接口为系统整体向外提供可供调用的Http Api接口。
由于上游模块接口调用频率比较高,所以为增强系统的高并发处理能力,本申请实施例还包括:搭建kafka集群,并创建供系统程序使用的内部消息队列,从而将接收到的上游模块发送的票证信息的修改请求添加至消息队列中,根据预设优先级对消息队列中的修改请求进行处理,从而保证系统的稳定性。
S102:根据修改请求查询上游模块之前是否存在与修改请求对应的未成功调用的链路;若不存在,则根据修改请求创建调用链路;调用链路包括上游模块对票证信息进行修改时调用的下游模块。
修改请求包括:调整参数、发起模块、调整原因、待修改的票号以及出票日期。系统内部根据修改请求中的票号和出票日期,查询在接收到该修改请求之前是否已经存在与修改请求对应的未成功调用的链路,当查询结果为不存在时,创建与该修改请求对应的调用链路,调用链路为上游模块发起修改请求至下游模块完成调用的过程,若查询结果为存在时,则拒绝创建与该修改请求对应的调用链路。从而避免针对同一修改请求创建多条调用链路,节省硬件资源。
在创建与修改请求对应的调用链路之后,系统通过第一接口向销售模块返回成功创建链路的结果,使销售模块内部进行修改票面的操作。
具体地,在一种可选的实施例中,修改请求包括请求修改的票据信息;根据修改请求创建调用链路,包括:
根据票据信息和预设调用链路规则创建调用链路,预设调用链路规则包括:调用链路的发起模块、调用链路的业务场景、调用链路所需调用的下游子模块,以及与所需调用的下游子模块对应的调用规则信息。
创建Oracle数据库,并建立创建调用链路所需的预设调用链路规则、调用过程参数存储表和调用链路信息表。调用过程参数存储表用于存储在对下游子模块进行调用时,调用过程中所生成的数据。调用链路信息表用于记录调用链路的信息,如调用链路的序号、调用结果等信息。
为便于理解下面对预设调用链路规则进行举例说明:
如表1所示,预设调用链路规则包括多条调用链路规则,S表示对应下游子模块的调用规则信息为关键调用,C表示对应下游子模块的调用规则信息为非关键调用,空白部分表示在该业务场景下无需调用相应的下游子模块,将各个模块的调用规则信息在表中的排列顺序作为各个模块的调用顺序。从而使预设调用链路规则能够用于描述对上游模块的业务场景的修改,与该次修改所对应的需要调用的下游子模块集,以及下游子模块集中各个下游子模块的调用顺序。需要说明的是,上述表1中所包含的调用链路规则为示例说明,并非本申请实施例中所包含的所有调用链路规则,本领域技术人员可结合实际需求对预设调用链路规则进行增加、删除或修改。
如图2所示,为便于对预设调用链路规则进行配置,本申请实施例还可通过在计算机上填写相关数据的方式,实现对预设调用链路规则的配置。所需填写的内容包括发起模块及业务场景描述信息,以及需要做调用检查的模块。
S103:接收上游模块生成的与修改请求对应的修改信息。
在销售模块完成修改票面的操作之后,销售模块向系统的第二接口发送与修改请求对应的修改信息,修改信息包括调整编号和具体修改后的详细票证信息,详细票证信息包括后续调用下游模块的接口时,所需调用接口的接口参数。第二接口与第一接口为异步接口,从而避免对销售模块的后续业务操作造成影响。
需要说明的是,本申请实施例中的系统为分布式系统,可针对不同的票证信息的修改请求进行灵活配置,由于采用了同于的接口进行调用,所以便于根据链路进行追踪,若后续调用过程出现问题,可结合链路追踪情况进行问题查询和修复。
S104:根据与修改信息对应的预设调用链路规则,以及调用链路,调用下游模块。
读取数据库中与修改信息对应的预设调用链路规则,根据调用链路和预设调用链路规则依次对下游模块的接口进行调用。下游模块,包括:交付模块、销售审核模块、配比模块和账务模块等。从而实现上游模块和下游模块之间的调用关系的解耦,使上游模块无需等待下游模块完成调用便可进行其他操作,提高票据数据变更的处理效率。
需要说明的是,本领域技术人员可结合实际需求对下游模块所包含的模块类型进行选择,也可根据实际需求选择将数据库设置在系统内部或外部。
为便于理解,下面对上游模块、下游模块、系统与预设调用链路规则之间的关系进行举例说明:
如图3所示,当上游模块为销售模块,下游模块包括交付模块、销售审核模块和账务模块时,销售模块在需要进行票证信息修改时,对系统进行调用,系统向销售模块返回调用链路的创建结果,当成功创建调用链路时,系统读取预设调用链路规则,并根据调用链路规则对交付模块、销售审核模块和账务模块进行调用。
具体地,在一种可选的实施例中,下游模块包括多个下游子模块;根据与修改信息对应的预设调用链路规则,以及调用链路,调用下游模块,包括:
根据所述调用链路确定需要调用的下游子模块集;所述下游子模块集包括至少两个下游子模块;
根据所述预设调用链路规则,确定所述下游子模块集中的下游子模块的调用顺序;
根据调用顺序依次对下游子模块集中的下游子模块进行调用。
从系统内部的数据库中调取预设的调用链路规则配置表,从预设的调用链路规则配置表中确定出与修改信息匹配的预设调用链路规则,根据调用链路确定所需调用的下游子模块集,根据调用链路规则确定下游子模块集中各个下游子模块的调用顺序,根据下游子模块集中各个下游子模块的调用顺序,依次对下游子模块集中的下游子模块进行调用,下游子模块集为调用链路所需调用的下游子模块的集合。
由于系统需要调用多个下游子模块并收集每个下游子模块反馈的参数,且需要及时保存每个下游子模块的调用参数,所以,为了减轻持续访问数据库所造成的性能瓶颈,本申请实施例还包括:搭建搭建Redis(Remote Dictionary Server ,远程字典服务)集群,使调用过程中所获取到的参数缓存至Redis内存数据库中。
具体地,在一种可选的实施例中,根据调用顺序依次对下游子模块集中的下游子模块进行调用,包括:
当下游子模块集中存在调用失败的下游子模块时,则根据预设调用链路规则确定调用失败的下游子模块的调用规则信息;
若调用规则信息为关键调用,则停止调用处于调用失败的下游子模块的下游位置的后续下游子模块;
若调用规则信息为非关键调用,则根据调用顺序调用后续下游子模块;若不存在后续下游子模块,则结束调用下游子模块集。
当在根据调用顺序依次调用下游子模块集中的下游子模块时,若出现调用失败的下游子模块,则根据调用规则信息确定该下游子模块是否为关键调用,若为非关键调用,则跳过该下游子模块,根据调用顺序继续调用后续下游子模块,后续下游子模块为调用顺序在调用失败的下游子模块之后的下游子模块。若为关键调用,则停止对与调用链路对应的下游子模块进行调用。
若下游子模块集中非关键调用的下游子模块,均完成调用,则表示调用链路成功完成调用,系统将该调用链路设置为通过状态,使得上游模块在后续再次发出具有相同票号和出票日期的修改请求时,系统能够正常创建调用链路。
若下游子模块集中存在调用失败且调用规则信息为关键调用的下游子模块,则调用链路调用失败,系统将该调用链路设置为阻塞状态,从而在上游模块再次发出具有相同票号和出票日期的修改请求时,拒绝生成相应的调用链路,保证数据在多个模块之间流转的正确性和完整性。
为便于理解,下面进行举例说明:
当发起模块为:SAL;业务场景为:SAL_UPDATE_TKT_INFO;下游子模块集及下游子模块集中各个下游子模块的调用规则信息为:交付模块(S)、销售审核模块(C)、账务模块(S),S为关键调用下游子模块,C为非关键调用下游子模块时。若预设调用规则的调用顺序依次为交付模块、销售审核模块、账务模块,则根据调用顺序依次对下游子模块集中的下游子模块进行调用,包括:首先对交付模块进行调用,若调用失败,由于交付模块的调用规则信息为关键调用,所以当交付模块调用失败时,停止后续对销售审核模块以及账务模块的调用。若调用成功,则根据调用顺序继续对销售审核模块进行调用,由于销售审核模块的调用规则信息为非关键调用,所以在销售审核模块调用成功和调用失败时,均根据调用顺序对账务模块进行调用,若成功调用账务模块,则系统将该调用链路设置为通过状态,若未成功调用账务模块,由于账务模块的调用规则信息为关键调用,所以,系统将该调用链路设置为阻塞状态。
具体地,在一种可选的实施例中,在停止调用处于调用失败的下游子模块的下游位置的后续下游子模块之后,方法还包括:
确定调用失败的下游子模块的调用失败原因;
根据调用失败原因,查询预设的调用失败原因修复表,确定与调用失败原因对应的修复方式;
根据修复方式对调用失败的下游子模块进行修复,得到完成修复后的下游子模块;
根据调用顺序依次调用完成修复后的下游子模块及处于完成修复后的下游子模块的下游位置的后续下游子模块。
在将调用链路设置为阻塞状态之后,确定调用失败的下游子模块的调用失败原因,查找数据库中预设的调用失败原因修复表,根据调用失败原因确定修复方式,通过对应的修复方式对调用失败的下游子模块进行修复,得到完成修复后的下游子模块,系统重新对完成修复后的下游子模块进行调用,直至完成调用链路中各个下游子模块的调用。
需要说明的是,本申请实施例还可通过人工修复的方式对调用失败的下游子模块进行修复,并在完成修复后手动触发调用链路的继续调用。
为使上游模块在系统拒绝生成调用链路时能够接收到相应的反馈信息,所以,本申请实施例所提供的方法还包括:
若上游模块之前存在与修改请求对应的未成功调用的链路,则向上游模块发送修改失败的提示信息。
提示信息为用于向上游模块反馈票据修改失败的提示信息,本领域技术人员也可结合实际需求将票据修改失败的原因添加至提示信息中,如,该修改请求已存在、当前修改请求为阻塞状态等。
为便于理解本方法,对本申请的完整实施例进行举例说明:
如图4所示,以上游模块为销售模块,下游模块包括交付模块、销售审核模块和账务模块进行举例说明:
以销售模块需要对票据进行修改作为起始,销售模块在内部进行数据准备,在完成准备后将修改请求通过系统的第一接口发送至系统内部,判断系统中是否已经存在与该修改请求对应的未完成处理的调用链路,从而确定出是否能够基于修改请求对数据进行调整操作。若系统中并不存在与该修改请求对应的未完成处理的调用链路,则对调用链路进行创建,并向销售模块反馈成功创建调用链路的信息,使销售模块内部进行调整操作。销售模块在完成调整操作之后向系统的第二接口发送与修改请求对应的修改信息,系统读取与修改信息对应的调用链路规则,根据调用链路规则判断是否需要调用交付模块、销售审核模块和账务模块,以及各个下游子模块之间的调用顺序。若需要对相应的下游子模块进行调用,则使相应的下游子模块内部进行调整操作,在模块返回的调用结果为失败时则进一步判断与该调用结果对应的模块的调用规则信息是否为关键调用,若是则通知运维人员,并停止调用后续下游子模块。若调用规则信息为非关键调用,或模块返回的调用结果为成功,则根据调用顺序对其他下游子模块进行调用,直至完成对调用链路对应的各个下游子模块的调用。
通过接收上游模块发送的票证信息的修改请求,根据修改请求查询上游模块之前是否存在与修改请求对应的未成功调用的链路,在不存在时,根据修改请求创建调用链路,接收上游模块发送的与修改请求对应的修改信息,根据与修改信息对应的预设调用链路规则,对下游模块进行调用,从而对上游模块和下游模块之间的调用关系进行解耦,上游模块无需等待下游模块完成调用便可进行其他操作,提高票据数据变更的处理效率。
如图5所示,本申请实施例还提供了一种修改票证信息的系统,该系统包括:
接收模块501,用于接收上游模块发送的票证信息的修改请求;
查询模块502,用于根据修改请求查询上游模块之前是否存在与修改请求对应的未成功调用的链路;
创建模块503,用于在上游模块之前不存在与修改请求对应的未成功调用的链路时,根据修改请求创建调用链路;调用链路包括上游模块对票证信息进行修改时调用的下游模块;
所述接收模块501,还用于接收上游模块生成的与修改请求对应的修改信息;
调用模块504,用于根据与修改信息对应的预设调用链路规则,以及调用链路,调用下游模块。
在一种可选的实施例中,下游模块包括多个下游子模块;调用模块504包括:
确定单元,用于根据所述调用链路确定需要调用的下游子模块集;所述下游子模块集包括至少两个下游子模块;根据所述预设调用链路规则,确定所述下游子模块集中的下游子模块的调用顺序;调用单元,用于根据调用顺序依次对下游子模块集中的下游子模块进行调用。
在一种可选的实施例中,系统还包括提示模块;
提示模块,用于若上游模块之前存在与修改请求对应的未成功调用的链路,则向上游模块发送修改失败的提示信息。
通过接收上游模块发送的票证信息的修改请求,根据修改请求查询上游模块之前是否存在与修改请求对应的未成功调用的链路,在不存在时,根据修改请求创建调用链路,接收上游模块发送的与修改请求对应的修改信息,根据与修改信息对应的预设调用链路规则,对下游模块进行调用,从而对上游模块和下游模块之间的调用关系进行解耦,上游模块无需等待下游模块完成调用便可进行其他操作,提高票据数据变更的处理效率。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述任意一种修改票证信息的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种修改票证信息的方法,其特征在于,所述方法包括:
接收上游模块发送的票证信息的修改请求;
根据所述修改请求查询所述上游模块之前是否存在与所述修改请求对应的未成功调用的链路;若不存在,则根据所述修改请求创建调用链路;所述调用链路包括所述上游模块对所述票证信息进行修改时调用的下游模块;所述下游模块包括多个下游子模块;
接收所述上游模块生成的与所述修改请求对应的修改信息;
根据所述调用链路确定需要调用的下游子模块集;所述下游子模块集包括至少两个下游子模块;
根据与所述修改信息对应的预设调用链路规则,确定所述下游子模块集中的下游子模块的调用顺序;
当所述下游子模块集中存在调用失败的下游子模块时,则根据所述预设调用链路规则确定所述调用失败的下游子模块的调用规则信息;
若所述调用规则信息为关键调用,则停止调用处于所述调用失败的下游子模块的下游位置的后续下游子模块;确定所述调用失败的下游子模块的调用失败原因;根据所述调用失败原因,查询预设的调用失败原因修复表,确定与所述调用失败原因对应的修复方式;根据所述修复方式对所述调用失败的下游子模块进行修复,得到完成修复后的下游子模块;根据所述调用顺序依次调用所述完成修复后的下游子模块及处于所述完成修复后的下游子模块的下游位置的后续下游子模块;
若所述调用规则信息为非关键调用,则根据所述调用顺序调用所述后续下游子模块;若不存在所述后续下游子模块,则结束调用所述下游子模块集。
2.根据权利要求1所述的方法,其特征在于,所述修改请求包括请求修改的票据信息;所述根据所述修改请求创建调用链路,包括:
根据所述票据信息和预设调用链路规则创建所述调用链路,所述预设调用链路规则包括:所述调用链路的发起模块、所述调用链路的业务场景、所述调用链路所需调用的下游子模块,以及与所述所需调用的下游子模块对应的调用规则信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述上游模块之前存在与所述修改请求对应的未成功调用的链路,则向所述上游模块发送修改失败的提示信息。
4.一种修改票证信息的系统,其特征在于,所述系统包括:
接收模块,用于接收上游模块发送的票证信息的修改请求;
查询模块,用于根据所述修改请求查询所述上游模块之前是否存在与所述修改请求对应的未成功调用的链路;
创建模块,用于在所述上游模块之前不存在与所述修改请求对应的未成功调用的链路时,根据所述修改请求创建调用链路;所述调用链路包括所述上游模块对所述票证信息进行修改时调用的下游模块;所述下游模块包括多个下游子模块;
所述接收模块,还用于接收所述上游模块生成的与所述修改请求对应的修改信息;
调用模块包括确定单元和调用单元;
所述确定单元,用于根据所述调用链路确定需要调用的下游子模块集;所述下游子模块集包括至少两个下游子模块;根据预设调用链路规则,确定所述下游子模块集中的下游子模块的调用顺序;
所述调用单元,用于当所述下游子模块集中存在调用失败的下游子模块时,则根据所述预设调用链路规则确定所述调用失败的下游子模块的调用规则信息;若所述调用规则信息为关键调用,则停止调用处于所述调用失败的下游子模块的下游位置的后续下游子模块;确定所述调用失败的下游子模块的调用失败原因;根据所述调用失败原因,查询预设的调用失败原因修复表,确定与所述调用失败原因对应的修复方式;根据所述修复方式对所述调用失败的下游子模块进行修复,得到完成修复后的下游子模块;根据所述调用顺序依次调用所述完成修复后的下游子模块及处于所述完成修复后的下游子模块的下游位置的后续下游子模块;若所述调用规则信息为非关键调用,则根据所述调用顺序调用所述后续下游子模块;若不存在所述后续下游子模块,则结束调用所述下游子模块集。
5.根据权利要求4所述的系统,其特征在于,所述系统还包括提示模块;
所述提示模块,用于若所述上游模块之前存在与所述修改请求对应的未成功调用的链路,则向所述上游模块发送修改失败的提示信息。
6.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至3中任意一种所述修改票证信息的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310692187.5A CN116431367B (zh) | 2023-06-12 | 2023-06-12 | 一种修改票证信息的方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310692187.5A CN116431367B (zh) | 2023-06-12 | 2023-06-12 | 一种修改票证信息的方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116431367A CN116431367A (zh) | 2023-07-14 |
CN116431367B true CN116431367B (zh) | 2023-09-08 |
Family
ID=87081854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310692187.5A Active CN116431367B (zh) | 2023-06-12 | 2023-06-12 | 一种修改票证信息的方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431367B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011151000A1 (en) * | 2010-04-30 | 2011-12-08 | Pact Xpp Technologies Ag | Method and device for data processing |
CN112363855A (zh) * | 2020-11-13 | 2021-02-12 | 北京基调网络股份有限公司 | 调用链数据生成方法、拓扑生成方法及系统和计算机设备 |
CN112486786A (zh) * | 2020-11-12 | 2021-03-12 | 贝壳技术有限公司 | 一种调用链路追踪方法及装置 |
CN114356596A (zh) * | 2021-12-15 | 2022-04-15 | 苏州臻璇数据信息技术有限公司 | 分布式系统的消息处理方法和装置 |
CN115374175A (zh) * | 2021-05-18 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 基于微服务架构的任务执行进度的跟踪方法及装置 |
CN115456227A (zh) * | 2022-09-22 | 2022-12-09 | 中航信移动科技有限公司 | 一种用于民航事件的数字货币系统 |
-
2023
- 2023-06-12 CN CN202310692187.5A patent/CN116431367B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011151000A1 (en) * | 2010-04-30 | 2011-12-08 | Pact Xpp Technologies Ag | Method and device for data processing |
CN112486786A (zh) * | 2020-11-12 | 2021-03-12 | 贝壳技术有限公司 | 一种调用链路追踪方法及装置 |
CN112363855A (zh) * | 2020-11-13 | 2021-02-12 | 北京基调网络股份有限公司 | 调用链数据生成方法、拓扑生成方法及系统和计算机设备 |
CN115374175A (zh) * | 2021-05-18 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 基于微服务架构的任务执行进度的跟踪方法及装置 |
CN114356596A (zh) * | 2021-12-15 | 2022-04-15 | 苏州臻璇数据信息技术有限公司 | 分布式系统的消息处理方法和装置 |
CN115456227A (zh) * | 2022-09-22 | 2022-12-09 | 中航信移动科技有限公司 | 一种用于民航事件的数字货币系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116431367A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825420B (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
KR101959153B1 (ko) | 데이터베이스에서의 계좌와 관련된 거래 요청의 효율적인 처리를 위한 시스템 | |
CN109213770B (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN107464151B (zh) | 高并发业务的订单数据处理方法及装置 | |
CN111225012A (zh) | 事务处理方法、装置和设备 | |
CN112817995B (zh) | 数据处理方法和装置、电子设备及存储介质 | |
WO2023045617A1 (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
CN110968603A (zh) | 一种数据访问方法及装置 | |
CN107612950A (zh) | 一种提供服务的方法、装置、系统、电子设备 | |
CN109933486B (zh) | 一种物流数据的监控处理方法,装置及系统 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
CN112866421A (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN112995262B (zh) | 分布式事务提交方法、系统及计算设备 | |
CN114827280A (zh) | 请求处理方法、装置、设备、介质 | |
CN105095310B (zh) | 数据处理方法、第一服务器、第二服务器和数据处理系统 | |
CN116431367B (zh) | 一种修改票证信息的方法、系统及计算机可读存储介质 | |
CN110413427B (zh) | 订阅数据拉取方法、装置、设备及存储介质 | |
CN116414628A (zh) | 一种新旧系统切换过程中交易请求的处理方法和装置 | |
CN114968982A (zh) | 分库分表场景业务处理方法及装置 | |
CN115187337A (zh) | 订单补偿方法、装置和设备及存储介质 | |
CN113626157A (zh) | 一种交易事务控制方法、装置和系统 | |
CN113762677B (zh) | 一种业务处理方法和装置 | |
CN117478504B (zh) | 信息传输方法、装置、终端设备以及存储介质 | |
CN114679495B (zh) | 一种资源服务操作请求的调度编排方法和调度执行方法 | |
CN111967960B (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 |