CN111159298B - 业务请求处理方法、装置、电子设备及存储介质 - Google Patents
业务请求处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111159298B CN111159298B CN201911411876.4A CN201911411876A CN111159298B CN 111159298 B CN111159298 B CN 111159298B CN 201911411876 A CN201911411876 A CN 201911411876A CN 111159298 B CN111159298 B CN 111159298B
- Authority
- CN
- China
- Prior art keywords
- service
- subsystem
- service request
- request
- identifier
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 23
- 238000012217 deletion Methods 0.000 description 11
- 230000037430 deletion Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种业务请求处理方法、装置、电子设备及存储介质,涉及业务请求处理技术领域。业务请求处理方法包括:执行用户端发送的第一业务请求对应的业务;向第二业务子系统发送第二业务请求,以使第二业务子系统执行第二业务请求对应的业务其中,第二业务请求是基于第一业务请求生成的;如果未接收到第二业务子系统反馈的响应信息,则重新向第二业务子系统发送第二业务请求;其中,响应信息用于表征第二业务请求对应的业务被执行完成。本申请公开的业务请求处理方法、装置、电子设备及存储介质可在子系统之间相互调用时,确保子系统间的数据一致性。
Description
技术领域
本申请涉及业务请求处理技术领域,尤其涉及一种业务请求处理方法、装置、电子设备及存储介质。
背景技术
分布式系统中,通常会将一个系统拆分成多个独立的子系统,各独立的子系统负责相应的业务,各子系统之间可以相互调用及资源共享,并保持数据的一致性。
在各子系统相互调用的过程中,可能会由于网络或系统中节点故障等原因导致子系统之间数据不一致的情形,进而导致系统中的业务异常,系统无法正常运行。
因此,如何提供一种有效的方案以确保各子系统间的数据一致,是现有技术中一亟待解决的问题。
发明内容
本申请实施例提供一种业务请求处理方法、装置、电子设备及存储介质,以至少解决分布式系统中各子系统间数据不一致的问题。
第一方面,本申请实施例提供了一种业务请求处理方法,应用于分布式系统中的第一业务子系统,所述分布式系统包括所述第一业务子系统和第二业务子系统,该方法包括:
执行用户端发送的第一业务请求对应的业务;
向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务其中,所述第二业务请求是基于所述第一业务请求生成的;
如果未接收到所述第二业务子系统反馈的响应信息,则重新向所述第二业务子系统发送所述第二业务请求;
其中,所述响应信息用于表征所述第二业务请求对应的业务被执行完成。
第二方面,本申请实施例还提供了一种业务请求处理方法,应用于分布式系统中的第二业务子系统,所述分布式系统包括所述第二业务子系统和第一业务子系统,该方法包括:
接收所述第一业务子系统发送的第二业务请求;
执行所述第二业务请求对应的业务;
在所述第二业务请求对应的业务被执行完成后,向所述第一业务子系统发送响应信息;
其中,所述第二业务请求是基于所述第一业务子系统所接收到用户端发送的第一业务请求生成的。
第三方面,本申请实施例提供了一种业务请求处理装置,应用于分布式系统中的第一业务子系统,所述分布式系统包括所述第一业务子系统和第二业务子系统,所述业务请求处理装置包括:
第一执行模块,被配置为执行用户端发送的第一业务请求对应的业务;
第一发送模块,被配置为向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务其中,所述第二业务请求是基于所述第一业务请求生成的;
第一判断模块,被配置为判断是否接受到所述第二业务子系统反馈的响应信息;
第二发送模块,被配置为如果未接收到所述第二业务子系统反馈的响应信息,则重新向所述第二业务子系统发送所述第二业务请求;
其中,所述响应信息用于表征所述第二业务请求对应的业务被执行完成。
第四方面,本申请实施例还提供了一种业务请求处理装置,应用于分布式系统中的第二业务子系统,所述分布式系统包括所述第二业务子系统和第一业务子系统,所述业务请求处理装置包括:
接收模块,被配置为接收所述第一业务子系统发送的第二业务请求;
第二执行模块,被配置为执行所述第二业务请求对应的业务;
第五发送模块,被配置为在所述第二业务请求对应的业务被执行完成后,向所述第一业务子系统发送响应信息;
其中,所述第二业务请求是基于所述第一业务子系统所接收到用户端发送的第一业务请求生成的。
第五方面,本申请实施例提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述所述的业务请求处理方法。
第六方面,本申请实施例提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述所述的的业务请求处理方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的业务请求处理方法、装置、电子设备及存储介质,可在各子系统之间相互调用时,确保各子系统间的数据一致性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的业务请求处理方法、装置、电子设备及存储介质的应用环境示意图。
图2为本申请实施例提供的一种业务请求处理方法的流程图。
图3为本申请实施例提供的另一业务请求处理方法的流程图。
图4为本申请实施例提供的又一业务请求处理方法的流程图。
图5为本申请实施例提供的一种电子设备的结构示意图。
图6为本申请实施例提供的另一电子设备的结构示意图。
图7为本申请实施例提供的一种业务请求处理装置的结构示意图。
图8为本申请实施例提供的另一业务请求处理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决分布式系统中各子系统之间可能存在的数据不一致的情形,本申请实施例提供了一种业务请求处理方法、装置、电子设备及存储介质,该方法、装置、电子设备及存储介质可在各子系统相互调用的过程中,确保各子系统之间的数据一致性。
首先,为了更直观地理解本说明书实施例提供的方案,下面结合图1,对本说明书实施例提供的任务管理方案的系统架构进行说明。
如图1所示,是本申请一个或多个实施例提供的业务请求处理方法、装置、电子设备及存储介质的应用环境示意图。如图1所示,分布式系统中包括至少两个业务子系统,该两个业务子系统之间可进行相互调用,用户端300可与分布式系统中的其中一个业务子系统建立通信连接并向该业务子系统发送业务请求,接收该业务请求的业务子系统可执行该业务请求并调用另一个业务子系统。所述用户端300可以是,但不限于个人电脑、智能手机、平板电脑、膝上型便携计算机、个人数字助理等。为便于描述,本申请实施例中将接收该业务请求的业务子系统称之为第一业务子系统100,被调用的业务子系统称之为第二业务子系统200。
下面将对本申请实施例提供的业务请求处理方法进行详细说明。
本申请实施例提供的业务请求处理方法可应用于分布式系统中的业务子系统,为了便于描述,除特别说明外,本申请实施例均以分布式系统中的业务子系统为执行主体进行说明。
可以理解,所述执行主体并不构成对本说明书实施例的限定。
如图2所示,是本申请实施例提供的一种业务请求处理方法的流程图,该业务请求处理方法可以应用于分布式系统中的第一业务子系统100,可以包括如下步骤:
步骤S201,执行用户端发送的第一业务请求对应的业务。
本申请的一个或多个实施例中,第一业务请求可以是用户端300向第一业务子系统100发送的业务请求,第一业务子系统100在接收到第一业务请求后,执行第一业务请求对应的业务。
例如,第一业务请求可以是一个订单请求,此时第一业务子系统100执行该订单请求对应的业务,包括生成订单号、订单内容等。
本申请的一个或多个实施例中,第一业务子系统100在执行第一业务请求对应的业务时,还会生成一个与第一业务请求对应的业务标识并根据第一业务请求生成第二业务请求。其中,该业务标识全局唯一,用于唯一指示该第一业务请求,该业务请求可以是,但不限于数字、字母或数字与字母的组合等。
第二业务请求根据第一业务请求生成的,例如当第一业务请求为订单请求时,则第二业务请求可以是根据该订单请求生成的支付请求。
本申请的一个或多个实施例中,第一业务子系统100在生成业务标识和第二业务请求后,还可以将生成的业务标识和第二业务请求进行存储,存储时可以将业务标识和第二业务请求存储在数据库或者文件中。如此,当在后续过程中,如果向第二业务子系统发送的业务标识和第二业务请求未被发送成功,可根据存储的业务标识和第二业务请求重新向第二业务子系统进行发送。
步骤S203,向第二业务子系统发送第二业务请求。
第二业务子系统200为分布式系统中用于执行第一业务子系统100所发送的业务请求的子系统,例如当第二业务请求是根据该订单请求生成的支付请求时,第二业务子系统200可以是网银行支付系统。
在完成对业务标识和第二业务请求的存储后,第一业务子系统100可调用第二业务子系统200,即将生成的业务标识和第二业务请求一并发送给第二业务子系统200,第二业务子系统200在接收到业务标识和第二业务请求后,存储该业务标识并执行第二业务请求对应的业务。
可以理解的,为了保证数据的一致性,第一业务子系统100如果未完成对业务标识和第二业务请求的存储,则不会将生成的业务标识和第二业务请求一并发送给第二业务子系统200,此时第一业务子系统100会向用户端发送表征第二业务请求和业务标识存储失败的反馈信息。
步骤S205,判断是否接收到第二业务子系统反馈的响应信息,如果否,则返回步骤S203。
如果第二业务子系统200执行完第二业务请求对应的业务,则会向第一业务子系统100反馈一表征第二业务请求对应的业务被执行完成的响应信息,以通知第一业务子系统100完成了第二业务请求对应的业务。
第一业务子系统100在将生成的业务标识和第二业务请求发送给第二业务子系统200后还会判断是否接受收到该第二业务子系统反馈的响应信息。如果接收到第二业务子系统反馈的响应信息,则说明第二业务子系统200执行完了第二业务请求对应的业务,即第一业务子系统100与第二业务子系统200之间保持了数据的一致性。如果未接收到第二业务子系统200反馈的响应信息,则说明第二业务子系统200可能未接收到业务标识和第二业务请求,或者未执行完成第二业务请求对应的业务,此时第一业务子系统100重新向第二业务子系统200发送业务标识和第二业务请求,直到接收到第二业务子系统200反馈的响应信息,如此可保证第一业务子系统100与第二业务子系统200数据的一致性。
其中,判断是否接受收到该第二业务子系统反馈的响应信息,可以是指判断在预设的的时间间隔内是否接收到第二业务子系统反馈的响应信息。
可以理解的,如果第一业务子系统100重新向第二业务子系统200发送业务标识和第二业务请求的次数过多时,可停止向第二业务子系统200发送业务标识和第二业务请求。
请参阅图3,是本申请实施例提供的另一业务请求处理方法的流程图,该业务请求处理方法应用于第一业务子系统100,可以包括如下步骤:
步骤S301,执行用户端发送的第一业务请求对应的业务。
步骤S303,向第二业务子系统发送第二业务请求。
步骤S305,判断是否接收到第二业务子系统反馈的响应信息,如果否,则返回步骤S303;如果是,则执行步骤S307。
步骤S307,删除存储的第二业务请求和业务标识。
如果接收到第二业务子系统反馈的响应信息,则说明第二业务子系统200执行完了第二业务请求对应的业务,即第一业务子系统100与第二业务子系统200之间保持了数据的一致性。
由于第一业务子系统100已经执行完成了第一业务请求对应的业务,第二业务子系统200已经完成了第二业务请求对应的业务,为了避免第一业务子系统100中的脏数据累积,在本申请的一个或多少实施例中,还可以对第一业务子系统100中存储的第二业务请求和业务标识进行删除操作。
步骤S309,向第二业务子系统发送删除指令,以使第二业务子系统删除存储的业务标识。
与此同时,第一业务子系统100还向第二业务子系统200发送一删除指令,一指示第二业务子系统200删除掉存储的业务标识。第二业务子系统200在接收到第一业务子系统100发送的删除指令后,根据该删除指令删除存储的业务标识。
其中,若第二业务子系统200完成了对业务标识的删除操作,还可以向第一业务子系统100反馈一表征业务标识已删除的响应信息。若第二业务子系统200未完成对业务标识的删除操作,则还可以重新启动一删除任务以删除该存储的业务标识,从而避免脏数据的产生。
本申请实施例提供的业务请求处理方法,在向第二业务子系统200发送第二业务请求后,如果没有接收到第二业务子系统200反馈的响应信息,则重新向第二业务子系统200发送第二业务请求,直到接收到第二业务子系统200反馈的响应信息,如此可确保第一业务子系统100与第二业务子系统200之间的数据一致性。同时,由于第二业务子系统200记录业务标识,因此即使第一业务子系统100重复调用第二业务子系统200,也能够保证多次调用的幂等性。其次,在接收到所第二业务子系统200反馈的响应信息后还可以删除存储的第一业务请求和业务标识,并向第二业务子系统200发送删除指令,以使第二业务子系统200删除存储的业务标识,避免脏数据的产生。
请参阅图4,是本申请实施例提供的又一业务请求处理方法的流程图,该业务请求处理方法可以应用于分布式系统中的第二业务子系统200,可以包括如下步骤:
步骤S401,接收第一业务子系统发送的第二业务请求。
第二业务请求可以是基于第一业务子系统100所接收到用户端发送的第一业务请求生成的。
具体的,第一业务子系统100在接收到用户端发送的第一业务请求后,执行第一业务请求对应的业务,并根据第一业务请求生成第二业务请求。然后第一业务子系统100将生成的第二业务请求发送给第二业务子系统200。
本申请的一个或多个实施例中,第一业务子系统100在根据第一业务请求生成第二业务请求的同时,还可以生成与第一业务请求对应的业务标识并存储,在将第二业务请求发送给第二业务子系统200的同时,还可将生成的业务标识一并发送给第二业务子系统200,第二业务子系统200接收第一业务子系统100发送的第二业务请求和业务标识。
步骤S403,执行第二业务请求对应的业务。
第二业务子系统200接收到第一业务子系统100发送的第二业务请求和业务标识后,存储该业务标识并执行该第二业务请求对应的业务。
步骤S405,在第二业务请求对应的业务被执行完成后,向第一业务子系统发送响应信息。
如果第二业务请求对应的业务被执行完成,则第二业务子系统200可生成一用于表征第二业务请求对应的业务被执行完成的响应信息,并将该响应信息发送给第一业务子系统100以告知第一业务子系统100调用的业务被执行完成,以便第一业务子系统100在接收到响应信息后执行相应的后续操作,例如删除其存储的第二业务请求和业务标识,以及通知第二业务子系统200删除其存储的业务标识等。
本申请实施例提供的业务请求处理方法,在第一业务子系统100发送的第二业务请求被执行完成后,向第一业务子系统100发送响应信息以告知第一业务子系统100,从而确保了子系统之间的数据一致性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图5是本申请的一个实施例提供的一种电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry StandardArchitecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended IndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成业务请求处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
执行用户端发送的第一业务请求对应的业务;
向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务,其中,所述第二业务请求是基于所述第一业务请求生成的;
如果未接收到所述第二业务子系统反馈的响应信息,则重新向所述第二业务子系统发送所述第二业务请求;
其中,所述响应信息用于表征所述第二业务请求对应的业务被执行完成。
本申请实施例提供的电子设备,可在向第二业务子系统200发送第二业务请求后,如果没有接收到第二业务子系统200反馈的响应信息,则重新向第二业务子系统200发送第二业务请求,直到接收到第二业务子系统200反馈的响应信息,如此可确保第一业务子系统100与第二业务子系统200之间的数据一致性。同时,由于第二业务子系统200记录业务标识,因此即使第一业务子系统100重复调用第二业务子系统200,也能够保证多次调用的幂等性。其次,在接收到所第二业务子系统200反馈的响应信息后还可以删除存储的第一业务请求和业务标识,并向第二业务子系统200发送删除指令,以使第二业务子系统200删除存储的业务标识,避免脏数据的产生。
图6是本申请的一个实施例提供的另一电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry StandardArchitecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended IndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成业务请求处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收所述第一业务子系统发送的第二业务请求;
执行所述第二业务请求对应的业务;
在所述第二业务请求对应的业务被执行完成后,向所述第一业务子系统发送响应信息;
其中,所述第二业务请求是基于所述第一业务子系统所接收到用户端发送的第一业务请求生成的。
本申请实施例提供的电子设备,可在第一业务子系统100发送的第二业务请求被执行完成后,向第一业务子系统100发送响应信息以告知第一业务子系统100,从而确保了子系统之间的数据一致性。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2-4所示实施例的方法。
图7是本申请的一个实施例提供的一种业务请求处理装置的结构示意图,该业务请求处理装置应用于分布式系统中的第一业务子系统,所述分布式系统包括所述第一业务子系统和第二业务子系统。请参考图7,在一种软件实施方式中,业务请求处理装置可包括:
第一执行模块701,被配置为执行用户端发送的第一业务请求对应的业务;
第一发送模块702,被配置为向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务,其中,所述第二业务请求是基于所述第一业务请求生成的;
第一判断模块703,被配置为判断是否接受到所述第二业务子系统反馈的响应信息;
第二发送模块704,被配置为如果未接收到所述第二业务子系统反馈的响应信息,则重新向所述第二业务子系统发送所述第二业务请求;
其中,所述响应信息用于表征所述第二业务请求对应的业务被执行完成。
本申请的一个实施例中,业务请求处理装置还可以包括第一生成模块705、第二生成模块706和第一存储模块707。
其中,第一生成模块705被配置为生成与所述第一业务请求对应的业务标识。
第二生成模块706被配置为根据所述第一业务请求生成所述第二业务请求。
第一存储模块707被配置为存储所述第二业务请求和所述业务标识。
所述第一发送模块702具体被配置为向所述第二业务子系统发送所述第二业务请求和所述业务标识,以使所述第二业务子系统执行所述第二业务请求对应的业务及存储所述业务标识。
本申请的一个实施例中,业务请求处理装置还可以包括删除模块708、第三发送模块709、第二判断模块710以及第四发送模块711。
删除模块708被配置为在接收到所述第二业务子系统反馈的所述响应信息后删除存储的所述第二业务请求和所述业务标识。
第三发送模块709被配置为在接收到所述第二业务子系统反馈的所述响应信息后向所述第二业务子系统发送删除指令,以使所述第二业务子系统删除存储的所述业务标识。
第二判断模块710被配置为判断是否完成对所述第二业务请求和所述业务标识的存储。
第四发送模块711被配置为如果未完成对所述第二业务请求和所述业务标识的存储,则向所述用户端发送表征所述第二业务请求和所述业务标识存储失败的反馈信息。
所述第一发送模块702具体被配置为在完成对所述第二业务请求和所述业务标识的存储的情形下,所述向所述第二业务子系统发送第二业务请求。
本申请实施例提供的业务请求处理装置,可在向第二业务子系统200发送第二业务请求后,如果没有接收到第二业务子系统200反馈的响应信息,则重新向第二业务子系统200发送第二业务请求,直到接收到第二业务子系统200反馈的响应信息,如此可确保第一业务子系统100与第二业务子系统200之间的数据一致性。同时,由于第二业务子系统200记录业务标识,因此即使第一业务子系统100重复调用第二业务子系统200,也能够保证多次调用的幂等性。其次,在接收到所第二业务子系统200反馈的响应信息后还可以删除存储的第一业务请求和业务标识,并向第二业务子系统200发送删除指令,以使第二业务子系统200删除存储的业务标识,避免脏数据的产生。
图8是本申请的一个实施例提供的另一业务请求处理装置的结构示意图,该业务请求处理装置应用于分布式系统中的第二业务子系统,所述分布式系统包括所述第二业务子系统和第一业务子系统。请参考图8,在一种软件实施方式中,业务请求处理装置可包括:
接收模块801,被配置为接收所述第一业务子系统发送的第二业务请求;
第二执行模块802,被配置为执行所述第二业务请求对应的业务;
第五发送模块803,被配置为在所述第二业务请求对应的业务被执行完成后,向所述第一业务子系统发送响应信息;
其中,所述第二业务请求是基于所述第一业务子系统所接收到用户端发送的第一业务请求生成的。
本申请的一个实施例中,业务请求处理装置还可以包括第二存储模块804,接收模块801被配置为接收所述第一业务子系统发送的第二业务请求和业务标识。
所述第二存储模块804被配置为存储所述业务标识。
其中,所述业务标识是所述第一业务子系统生成的与所述第一业务请求对应的标识。
本申请实施例提供的业务请求处理装置,在第一业务子系统100发送的第二业务请求被执行完成后,向第一业务子系统100发送响应信息以告知第一业务子系统100,从而确保了子系统之间的数据一致性。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (8)
1.一种业务请求处理方法,应用于分布式系统中的第一业务子系统,所述分布式系统包括所述第一业务子系统和第二业务子系统,其特征在于,包括:
执行用户端发送的第一业务请求对应的业务;
向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务,其中,所述第二业务请求是基于所述第一业务请求生成的;
如果未接收到所述第二业务子系统反馈的响应信息,则重新向所述第二业务子系统发送所述第二业务请求;
其中,所述响应信息用于表征所述第二业务请求对应的业务被执行完成;所述向所述第二业务子系统发送第二业务请求之前,所述方法还包括:
生成与所述第一业务请求对应的业务标识;
根据所述第一业务请求生成所述第二业务请求;
存储所述第二业务请求和所述业务标识;
所述向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务的步骤,包括:
在完成对业务标识和第二业务请求的存储后,向所述第二业务子系统发送所述第二业务请求和所述业务标识,以使所述第二业务子系统执行所述第二业务请求对应的业务及存储所述业务标识;
如果未完成对所述第二业务请求和所述业务标识的存储,则向所述用户端发送表征所述第二业务请求和所述业务标识存储失败的反馈信息;
在接收到所述第二业务子系统反馈的所述响应信息后,所述方法还包括:
向所述第二业务子系统发送删除指令,以使所述第二业务子系统删除存储的所述业务标识。
2.根据权利要求1所述的方法,其特征在于,在接收到所述第二业务子系统反馈的所述响应信息后,所述方法还包括:
删除存储的所述第二业务请求和所述业务标识。
3.一种业务请求处理方法,应用于分布式系统中的第二业务子系统,所述分布式系统包括所述第二业务子系统和第一业务子系统,其特征在于,包括:
接收所述第一业务子系统发送的第二业务请求;
执行所述第二业务请求对应的业务;
在所述第二业务请求对应的业务被执行完成后,向所述第一业务子系统发送响应信息,以使第一业务子系统在接收到响应信息后执行删除其存储的第二业务请求和业务标识,以及通知第二业务子系统删除其存储的业务标识的操作;
其中,所述第二业务请求是基于所述第一业务子系统所接收到用户端发送的第一业务请求生成的;所述第二业务请求是在第一业务子系统生成与所述第一业务请求对应的业务标识;根据所述第一业务请求生成所述第二业务请求,并完成对第二业务请求和业务标识的存储后发送的;
所述接收所述第一业务子系统发送的第二业务请求,包括:
接收所述第一业务子系统发送的第二业务请求和业务标识;
所述接收所述第一业务子系统发送的第二业务请求和业务标识之后,所述方法还包括:
存储所述业务标识;
其中,所述业务标识是所述第一业务子系统生成的与所述第一业务请求对应的标识;
接收第一业务子系统发送的删除指令,根据所述删除指令删除存储的业务标识。
4.一种业务请求处理装置,应用于分布式系统中的第一业务子系统,所述分布式系统包括所述第一业务子系统和第二业务子系统,其特征在于,所述业务请求处理装置包括:
第一执行模块,被配置为执行用户端发送的第一业务请求对应的业务;
第一发送模块,被配置为向所述第二业务子系统发送第二业务请求,以使所述第二业务子系统执行所述第二业务请求对应的业务,其中,所述第二业务请求是基于所述第一业务请求生成的;
第一判断模块,被配置为判断是否接受到所述第二业务子系统反馈的响应信息;
第二发送模块,被配置为如果未接收到所述第二业务子系统反馈的响应信息,则重新向所述第二业务子系统发送所述第二业务请求;
其中,所述响应信息用于表征所述第二业务请求对应的业务被执行完成;
还包括:
第一生成模块,被配置为生成与所述第一业务请求对应的业务标识;
第二生成模块,被配置为根据所述第一业务请求生成所述第二业务请求;
第一存储模块,被配置为存储所述第二业务请求和所述业务标识;
所述第一发送模块被配置为在完成对业务标识和第二业务请求的存储后,向所述第二业务子系统发送所述第二业务请求和所述业务标识,以使所述第二业务子系统执行所述第二业务请求对应的业务及存储所述业务标识;
第四发送模块,被配置为如果未完成对所述第二业务请求和所述业务标识的存储,则向所述用户端发送表征所述第二业务请求和所述业务标识存储失败的反馈信息;
第三发送模块,被配置为在接收到所述第二业务子系统反馈的所述响应信息后向所述第二业务子系统发送删除指令,以使所述第二业务子系统删除存储的所述业务标识。
5.根据权利要求4所述的业务请求处理装置,其特征在于,还包括:
删除模块,被配置为在接收到所述第二业务子系统反馈的所述响应信息后删除存储的所述第二业务请求和所述业务标识。
6.一种业务请求处理装置,应用于分布式系统中的第二业务子系统,所述分布式系统包括所述第二业务子系统和第一业务子系统,其特征在于,所述业务请求处理装置包括:
接收模块,被配置为接收所述第一业务子系统发送的第二业务请求;
第二执行模块,被配置为执行所述第二业务请求对应的业务;
第五发送模块,被配置为在所述第二业务请求对应的业务被执行完成后,向所述第一业务子系统发送响应信息,以使第一业务子系统在接收到响应信息后执行删除其存储的第二业务请求和业务标识,以及通知第二业务子系统删除其存储的业务标识的操作;
其中,所述第二业务请求是基于所述第一业务子系统所接收到用户端发送的第一业务请求生成的;所述第二业务请求是在第一业务子系统生成与所述第一业务请求对应的业务标识;根据所述第一业务请求生成所述第二业务请求,并完成对第二业务请求和业务标识的存储后发送的;
还包括第二存储模块,所述接收模块被配置为接收所述第一业务子系统发送的第二业务请求和业务标识;
所述第二存储模块被配置为存储所述业务标识;
其中,所述业务标识是所述第一业务子系统生成的与所述第一业务请求对应的标识;接收第一业务子系统发送的删除指令,根据所述删除指令删除存储的业务标识。
7.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至3中任一项所述的业务请求处理方法。
8.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至3中任一项所述的业务请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911411876.4A CN111159298B (zh) | 2019-12-31 | 2019-12-31 | 业务请求处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911411876.4A CN111159298B (zh) | 2019-12-31 | 2019-12-31 | 业务请求处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159298A CN111159298A (zh) | 2020-05-15 |
CN111159298B true CN111159298B (zh) | 2024-03-29 |
Family
ID=70560317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911411876.4A Active CN111159298B (zh) | 2019-12-31 | 2019-12-31 | 业务请求处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159298B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736970A (zh) * | 2020-06-23 | 2020-10-02 | 北京同邦卓益科技有限公司 | 业务处理方法、装置、设备及计算机可读存储介质 |
CN112434050B (zh) * | 2020-10-16 | 2022-12-09 | 广东电力信息科技有限公司 | 电网业务处理系统的数据同步方法、装置和业务处理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493924A (zh) * | 2009-03-10 | 2009-07-29 | 中体彩科技发展有限公司 | 事务处理系统的事务处理方法及彩票事务处理方法 |
CN105915627A (zh) * | 2016-05-30 | 2016-08-31 | 北京小米移动软件有限公司 | 业务请求处理方法及装置 |
CN108776923A (zh) * | 2018-06-05 | 2018-11-09 | 深圳壹账通智能科技有限公司 | 订单支付方法、系统、计算机设备和存储介质 |
WO2019029457A1 (zh) * | 2017-08-07 | 2019-02-14 | 阿里巴巴集团控股有限公司 | 客户端上应用程序的更新方法、装置及电子设备 |
CN109636514A (zh) * | 2018-11-29 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、计算设备及存储介质 |
CN109815256A (zh) * | 2018-12-21 | 2019-05-28 | 聚好看科技股份有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
-
2019
- 2019-12-31 CN CN201911411876.4A patent/CN111159298B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493924A (zh) * | 2009-03-10 | 2009-07-29 | 中体彩科技发展有限公司 | 事务处理系统的事务处理方法及彩票事务处理方法 |
CN105915627A (zh) * | 2016-05-30 | 2016-08-31 | 北京小米移动软件有限公司 | 业务请求处理方法及装置 |
WO2019029457A1 (zh) * | 2017-08-07 | 2019-02-14 | 阿里巴巴集团控股有限公司 | 客户端上应用程序的更新方法、装置及电子设备 |
CN108776923A (zh) * | 2018-06-05 | 2018-11-09 | 深圳壹账通智能科技有限公司 | 订单支付方法、系统、计算机设备和存储介质 |
CN109636514A (zh) * | 2018-11-29 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、计算设备及存储介质 |
CN109815256A (zh) * | 2018-12-21 | 2019-05-28 | 聚好看科技股份有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111159298A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021180025A1 (zh) | 一种消息处理方法、装置、电子设备及介质 | |
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
CN111290866B (zh) | 业务处理方法及装置 | |
CN113840012B (zh) | 基于区块链的录屏取证方法、系统和电子设备 | |
CN111245900B (zh) | 一种分布式消息发送的处理系统及其处理方法 | |
CN112153143B (zh) | Kubernetes集群的流量调度方法、装置及电子设备 | |
WO2016191610A1 (en) | Method and apparatus for real-time data migration | |
CN111159298B (zh) | 业务请求处理方法、装置、电子设备及存储介质 | |
CN110992188B (zh) | 交易处理方法、装置及设备 | |
CN110599305A (zh) | 业务处理方法、装置及存储介质 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN110881224B (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN112131478B (zh) | 交易检测方法及装置 | |
CN110941622A (zh) | 一种数据处理方法及装置 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN114356446B (zh) | 一种进程间事件的处理方法、装置、设备以及存储介质 | |
CN116633616A (zh) | 数据访问方法、系统、设备及存储介质 | |
CN112583879A (zh) | 请求的处理方法、装置及系统、存储介质和电子设备 | |
CN112734349A (zh) | 接口生成、数据调用方法、装置和电子设备 | |
CN113535439B (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN115426375A (zh) | 一种数据处理方法和数据处理系统 | |
CN111049938B (zh) | 消息通知方法、装置、电子设备及可读存储介质 | |
CN110609707A (zh) | 在线数据处理系统生成方法、装置及设备 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 | |
CN111782533A (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 |