CN115827265A - 事务处理方法、装置、设备和存储介质 - Google Patents

事务处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN115827265A
CN115827265A CN202211379827.9A CN202211379827A CN115827265A CN 115827265 A CN115827265 A CN 115827265A CN 202211379827 A CN202211379827 A CN 202211379827A CN 115827265 A CN115827265 A CN 115827265A
Authority
CN
China
Prior art keywords
transaction
state
processed
phase
mode
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
Application number
CN202211379827.9A
Other languages
English (en)
Inventor
王玉林
冯智
刘梦博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211379827.9A priority Critical patent/CN115827265A/zh
Publication of CN115827265A publication Critical patent/CN115827265A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本公开提供了一种事务处理方法、装置、设备和存储介质,涉及互联网技术领域,尤其涉及云计算技术。具体实现方案为:从事务队列中获取待处理事务,并确定待处理事务的事务状态;根据事务状态,确定待处理执行器,并调用待处理执行器处理待处理事务;根据待处理事务所处的事务处理阶段,更新事务状态;若事务状态属于非完成状态,则将待处理事务添加至事务队列。根据本公开的技术,提高了事务处理过程的稳定性、可扩展性和可维护性。

Description

事务处理方法、装置、设备和存储介质
技术领域
本公开涉及互联网技术领域,尤其涉及云计算技术,具体涉及一种事务处理方法、装置、设备和存储介质。
背景技术
云服务是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云服务是通过网络以按需、以扩展的方式提供所需的服务,从而降低了服务需求方的运维成本。
发明内容
本公开提供了一种事务处理方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种事务处理方法,包括:
从事务队列中获取待处理事务,并确定待处理事务的事务状态;
根据事务状态,确定待处理执行器,并调用待处理执行器处理待处理事务;
根据待处理事务所处的事务处理阶段,更新事务状态;
若事务状态属于非完成状态,则将待处理事务添加至事务队列。
根据本公开的另一方面,还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例提供的任意一种事务处理方法。
根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开实施例提供的任意一种事务处理方法。
根据本公开的技术,提高了事务处理过程的稳定性、可扩展性和可维护性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的一种事务处理方法的流程图;
图2是本公开实施例提供的另一种事务处理方法的流程图;
图3是本公开实施例提供的另一种事务处理方法的流程图;
图4A是本公开实施例提供的另一种事务处理方法的流程图;
图4B是本公开实施例提供的事务处理阶段、事务状态和候选执行器之间的对应关系示意图;
图5是本公开实施例提供的一种事务处理装置的结构图;
图6是用来实现本公开实施例的事务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开实施例提供的事务处理方法和事务处理装置,适用于依托云服务,对大量包括不同事务处理阶段的事务进行事务处理的场景中。本公开实施例所提供的各事务处理方法,可以由事务处理装置执行,该装置可以采用软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是提供云服务的分布式设备,本公开对此不作任何限定。
为了便于理解,首先对事务处理方法进行详细说明。
参见图1所示的一种事务处理方法,包括:
S101、从事务队列中获取待处理事务,并确定待处理事务的事务状态。
其中,事务队列为专用于存储待处理事务的队列。各待处理事务均对应有事务状态,用于表征待处理事务所处的事务处理阶段。不同事务处理阶段对应的事务状态不同,不同事务处理阶段对应的事务处理逻辑不同,因此,可以通过事务状态指示后续待处理事务即将进入的事务处理阶段,以及对待处理事务所需进行的事务处理逻辑。需要说明的是,本公开对不同事务处理阶段对应的事务处理逻辑不作任何限定,可以由技术人员根据需要或经验进行设置或调整。
可以理解的是,同一事务队列中,不同待处理事务的事务状态可以相同或不同。需要说明的是,待处理事务的事务状态可以在事务队列中加以维护,或在事务队列以外的其他存储装置中加以维护,本公开对此不作任何限定。
示例性的,事务处理阶段可以包括事务校验阶段、服务查询阶段、资源转移阶段、服务创建阶段和记录生成阶段等中的至少一种,且上述各事务处理顺序组成了待处理事务的整个事务生命周期。
具体的,在事务校验阶段,需要对待处理事务进行事务合法性校验;在服务查询阶段,需要对待处理事务中所需服务进行属性信息(例如服务价格、服务类型和服务时长等中的至少一种)查询;在资源转移阶段,需要对所需服务进行资源置换;在服务创建阶段,需要对所需服务进行准备;在记录生成阶段,需要对所需服务和资源置换情况等进行记录。
相应的,事务状态可以包括初始状态、待查询状态、待转移状态、待创建状态、待记录状态和完成状态中的至少一种。其中,初始状态用于指示待处理事务后续将进入事务检验阶段;待查询状态用于指示待处理事务后续将进入服务查询阶段;待转移状态用于指示待处理事务后续将进入资源转移阶段;待创建状态用于指示待处理事务后续将进入服务创建阶段带记录状态用于指示待处理事务后续将进入记录生成阶段;完成状态用于指示待处理事务记录生成阶段处理完成,待处理事务的事务生命周期完成结束对待处理事务的处理。
可以理解的是,通过将事务处理阶段和事务状态对应细化,进一步完善了事务处理阶段在服务置换场景下的使用。
在一个具体示例中,服务置换场景可以是云服务购买场景;事务校验阶段可以对待处理事务的事务请求的参数合法性、签名合法性以及请求幂等性等中的一种进行校验;服务查询阶段可以对所需求服务进行询价;资源转移阶段可以对所需求服务进行支付;服务创建阶段可以等待所需求服务创建,以提供相应服务;记录生成阶段可以对云服务购买场景中的相关信息进行记录。
为了避免不同待处理事务的事务状态出现混淆,还可以为不同待处理事务分配唯一的事务标识,并建立事务标识与相应事务状态的对应关系。相应的,通过上述对应关系,基于待处理事务的事务标识,进行事务状态的查找确定。
在一个可选实施例中,在接收到待处理事务对应的事务请求时,可以基于待处理事务的事务请求生成时间、事务标识代理服务的设备标识、事务请求存储表对应的表标识以及随机数等中的至少一种,生成事务标识。其中,事务请求接收设备可以为至少一个,事务标识代理服务的设备标识,用于区分不同的事务请求接收设备,例如可以是MAC地址(Media Access Control Address,媒体存取控制位址)。其中,事务请求存储表可以为至少一个,用于存储事务请求;事务请求存储表的表标识用于区分不同的事务请存储表。需要说明的是,设备标识和表标识的命名方式可以由技术人员根据需要或经验值进行设置或调整,本公开对此不作任何限定。
S102、根据事务状态,确定待处理执行器,并调用待处理执行器处理待处理事务。
其中,待处理执行器用于对不同事务状态的待处理事务进行处理,且不同待处理执行器对应的事务状态。由于事务状态与事务处理阶段一一对应,因此,不同待处理执行器对应的事务处理阶段也不同。
示例性的,可以预先设置不同事务状态与候选执行器的对应关系;相应的,根据该对应关系,将事务状态对应的候选执行器作为待处理执行器;调用该待处理执行器处理该待处理事务。
S103、根据待处理事务所处的事务处理阶段,更新事务状态。
在调用待处理执行器对待处理事务进行处理后,待处理事务将会进入下一事务处理阶段,因此需要将该待处理事务的事务状态切换至与下一事务处理阶段相匹配的事务状态,便于推进待处理事务在下一事务处理阶段的正常处理。
S104、若事务状态属于非完成状态,则将待处理事务添加至事务队列。
若事务状态属于非完成状态,则表明该待处理事务还需要进行后续的事务处理阶段进行相应处理,因此,需要将待处理事务重新添加至事务队列中,以供后续的获取和事务状态确定,进而进行对该待处理事务的在后事务处理阶段的处理。
进一步的,若事务状态属于完成状态,则表明该待处理事务已完成事务生命周期中所有事务处理阶段的处理,因此,禁止将该待处理事务添加至事务队列中,也即不再对该待处理事务进行后续的事务处理,保证了对待处理事务的事务处理过程的完整性和有效性,避免了对待处理事务的过渡处理造成的计算资源的浪费。
本公开通过引入待处理事务的事务状态,进行待处理执行器的确定,并调用待处理执行器处理该待处理事务,保证了待处理事务的处理过程的有序性和原子性,提高了事务处理过程的可维护性。由于事务状态根据待处理事务所处的事务处理阶段进行更新,因此,本公开将现有技术中待处理事务在不同事务处理阶段的同步处理过程,转化为基于事务状态的异步处理过程,无需等待前一事务处理阶段的结果生成,从而提高了事务处理过程的稳定性。当待处理事务引入新的事务处理阶段时,即可增加专用于该事务处理阶段的待处理执行器,并为该事务处理阶段分配新的事务状态即可,提高了事务处理的可扩展性。
在上述各技术方案的基础上,本公开还提供了一个可选实施例,在该实施例,对事务状态更新操作进行了进一步优化改进。需要说明的是,在本公开实施例未详述部分,可参见前述实施例的相关表述。
参见图2所示的事务处理方法,包括:
S201、从事务队列中获取待处理事务,并确定待处理事务的事务状态。
S202、根据事务状态,确定待处理执行器,并调用待处理执行器处理待处理事务。
S203A、若待处理事务所处的事务处理阶段为事务校验阶段,则将事务状态由初始状态切换为待查询状态。继续执行S204。
其中,初始状态在接收到待处理事务对应事务请求时进行设置。当待处理事务处于初始状态,则触发进入事务校验阶段,用于对待处理事务进行事务合法性校验,并在校验通过后,将事务状态切换为待查询状态,触发进入服务查询阶段,用于指示对待处理事务进行所需服务的属性信息查询。
S203B、若待处理事务所处的事务处理阶段为服务查询阶段,则将事务状态由待查询状态切换为待转移状态。继续执行S204。
若待处理事务所处事务处理阶段为服务查询阶段,当服务查询完毕后,将事务状态由待查询状态切换为待转移状态,触发进入资源转移阶段,用于指示对所需服务进行资源置换。
S203C、若待处理事务所处的事务处理阶段为资源转移阶段,则将事务状态由待转移状态切换至待创建状态。继续执行S204。
若待处理事务所处事务处理阶段为资源转移阶段,当资源转移完毕后,将事务状态由待转移状态切换为待创建状态,触发进入服务创建阶段,用于指示对所需服务进行准备。
S203D、若待处理事务所处的事务处理阶段为服务创建阶段,则将事务状态由待创建状态切换为待记录状态。继续执行S204。
若待处理事务所处事务处理阶段为服务创建阶段,当服务创建完毕后,将事务状态由待创建状态切换为待记录状态,触发进入记录生成阶段,用于指示对所需服务的服务实例和事务标识进行记录。
示例性的,在待处理事务中所需服务启动准备的情况下,将待处理事务由待创建状态切换至待记录状态。由于服务创建过程可能会由于各种原因出现创建失败的情况,特别是准备时间较长的服务,为了避免服务创建失败贸然将事务状态切换至触发进入记录生成阶段的待记录状态,给服务供需双方带来的不便,在一个可选实施例中,可以根据服务创建完成情况,控制将事务状态由待创建状态切换为待记录状态。
具体的,可以仅在服务创建完成的情况下,将事务状态切换为待记录状态;在服务创建未完成的情况下,禁止将事务状态切换为待记录状态,从而保证了事务状态切换的合理性,有助于待处理事务在事务生成周期的有效执行。
在一个可选实施例中,还可以在待创建状态和待记录状态之间,引入一个中间状态,用于指示服务已创建但尚未创建完成。
示例性的,若已创建服务且服务未创建完成,则将事务状态由待创建状态切换为创建中状态;若服务创建完成,则将事务状态由创建中状态切换为待记录状态。
需要说明的是,由于待创建状态和创建中状态均指示待处理事务处于服务创建阶段,因此,两者对应的待处理执行器可以相同或不同。为了减少计算资源的浪费,可以两个状态共用一个待处理执行器。
在一个具体示例中,在待创建状态下,调用待处理执行器向服务提供方发送所需服务的准备指示信息,告知服务提高方启动相应服务的准备工作;在服务提供方在相应服务启动准备时,响应于该准备指示信息,回调待处理执行器,并在将待处理事务设置为创建中状态,便于服务需求方获知服务准备情况。为了进一步丰富服务准备情况的信息量,还可以在创建中状态,根据服务准备情况,向服务需求方实时或定时更新服务准备进度。
可以理解的是,通过引入创建中状态,能够在待处理事务中所需服务存在准备时间较长的情况,便于服务需求方有效把控服务的启动准备情况,提高了服务需求方的使用体验。
S203E、若待处理事务所处的事务处理阶段为记录生成阶段,则将事务状态由待记录状态切换为完成状态。
若待处理事务所处事务处理阶段为记录生成阶段,当记录生成完毕后,将事务状态由待记录状态切换为完成状态,表征对处理事务整个事务声明周期处理完毕,后续无其他事务处理阶段,也即无需再进行后续处理。
S204、若事务状态属于非完成状态,则将待处理事务添加至事务队列。返回执行S201。
本公开实施例的上述技术方案,通过将事务状态的更新操作进一步细化为事务校验阶段下的初始状态向待查询状态的切换,服务查询阶段的待查询状态向待转移状态的切换,资源转移阶段的待转移状态向待创建状态的切换,服务创建阶段的待创建状态向待记录状态的切换,以及记录生成阶段的待记录状态向完成状态的切换,从而完善了待处理事务的整个生命周期中不同事务处理阶段的状态切换情况,便于待处理事务在整个生命周期中有序且原子性的顺利执行,提高了待处理事务最终处理结果的准确度,且便于进行待处理事务在不同事务处理阶段的管理和维护。
在上述各技术方案的基础上,本公开还提供了一个可选实施例,在该可选实施例中,对待处理事务处理过程中出现的突发情况,提供了有效应对措施。需要说明的是,在本公开实施例未详述部分,可参见其他实施例的相关表述。
参见图3所示的一种事务处理方法,包括:
S301、从事务队列中获取待处理事务,并确定待处理事务的事务状态。
S302、根据事务状态,确定待处理执行器,并调用待处理执行器处理待处理事务。
S303、若调用待处理执行器处理待处理事务失败,则根据失败原因,确定目标补救方式;其中,目标补救方式为降级方式或重试方式。
S304、根据目标补救方式,重新执行待处理事务。
其中,失败原因可以为网络异常或系统异常,可以通过待处理事务执行失败后的反馈信息加以确定。在一个可选实施例中,可以解析反馈信息中的预设标识,根据预设标识与失败原因之间的映射关系,确定本次调用待处理执行器的失败原因。其中,不同失败原因对应预设标识不同;各失败原因对应的预设标识可以由技术人员根据需要或经验进行设定,本公开对预设标识的具体呈现方式不作任何限定。
其中,补救方式用于表征对待处理事务执行失败后的后处理执行逻辑;不同补救方式对应后处理执行逻辑不同,具体后处理执行逻辑可以由技术人员根据需要或经验值进行设定或调整,本公开对此不作任何限定。其中,目标补救方式特指本次调用待处理执行器失败的情况下,所确定的补救方式。
其中,重试方式为重新调用待处理执行器中的执行逻辑。
其中,降级方式中包括与待处理执行器中的执行逻辑的执行结果功能相同,但执行方式准确度或时效性相对较差的等效执行逻辑。举例说明,在服务询价过程中,在最新价格未知的情况下,可以根据相邻历史时间段的历史价格,确定最新价格。
在一个可选实施例中,由于降级方式中的等效执行逻辑与待处理执行器的执行逻辑的执行结果,可能存在一定偏差,因此,在降级方式中还可以设置冲正逻辑,用于在后续系统异常恢复后,消除采用等效执行逻辑执行后所带来的数据差异。延续前例,在服务询价过程中,若采用等效执行逻辑的价格偏高,可以进行差价回退,向服务需求方退还差额部分;若采用等效执行逻辑的价格偏低,可以进行差价补充,向服务需求方索取差额部分。
可选的,若失败原因为网络异常,则表明待处理执行器本身能够正常提供服务,但与待处理执行器进行数据传输的通信链路网络不佳,此时可以将重试方式作为目标补救方式,通过重新调用待处理执行器,能够确保待处理事务在当前所处事务处理阶段的事务处理结果的准确度。
当出现网络抖动的情况下,通过重试方式,能够在牺牲微小的执行效率的基础上,确保事务处理结果的准确度。然而,网络异常还存在长时间网络无法恢复的情况,因此,贸然长时间采用重试方式执行待处理事务,将会严重拉低事务处理效率,且无法获取到事务处理结果。为了避免上述情况的发生,可以设定重试方式的预设执行周期,当超出该执行周期后,不再采用重试方式执行待处理事务。例如,可以采用降级方式,或直接标注待处理事务异常,在网络恢复后重新执行该待处理事务。其中,执行周期可以是预设调用次数阈值或预设执行时长阈值,可以由技术人员根据需要或经验进行设定或调整。
为了降低通信带宽的占用率,在一个可选实施例中,可以在重试方式的预设执行周期内,按照预设时间间隔,重新调用待处理执行器处理待处理事务;其中,预设时间间隔随着调用次数的增加而增大。这样做的好处在于,能够减少与待处理执行器之间的通信带宽,降低通信压力。
可选的,若失败原因为系统异常,则表明待处理执行器对应系统自身已无法再提供服务,此时,采用重试方式也无法得到待处理事务的执行结果,因此,可以采用降级方式,根据待处理事务关联的历史处理数据,重新执行待处理事务。
可以理解的是,根据待处理事务关联的历史处理数据,作为待处理事务的处理参照,能够一定程度上保证待处理事务的准确性,避免长时间等待给服务需求方带来的影响,提高了待处理事务的执行效率。
通过上述技术方案可知,在网络异常的情况下,采用重试方式作为目标补救方式;在系统异常的情况下,采用降级方式作为目标补救方式,能够有效平衡待处理事务的执行结果准确度和执行效率。
S305、根据待处理事务所处的事务处理阶段,更新事务状态。
S306、若事务状态属于非完成状态,则将待处理事务添加至事务队列。
本公开实施例通过在处理待处理事务过程中,根据失败原因确定目标补救方式,从而采用相应的目标补救方式重新执行待处理事务,避免了待处理事务失败,对后续事务处理阶段的影响,从而保证了待处理事务在当前所处的事务处理阶段的在后处理阶段的顺利和有效执行,进而提高了待处理事务在事务处理的全生命周期的执行效率。
在上述各技术方案的基础上,本公开还提供了一个实现事务处理方法的优选实施例。参见图4A所示的事务处理方法,包括事务标识生成阶段和事务处理阶段。
1)事务标识生成阶段
接收服务需求方发送的事务请求,并响应于事务请求,为该事务请求分配唯一的事务标识;将事务标识持久化到事务状态数据库中,并设置该事务标识的事务状态为初始状态;基于事务请求创建待处理事务,并将待处理事务添加至事务队列中。
示例性的,可以调用事务标识代理服务(work-proxy server),根据事务标识代理服务的设备标识、事务请求的生成时间戳、事务请求存储表对应的表标识以及随机数,生成事务标识。
2)事务处理阶段
从事务队列中的读取待处理事务,并确定该待处理事务在事务状态数据库中的事务状态;选取事务状态对应的候选执行器作为待处理执行器,并调用待处理执行器处理该待处理事务;在执行完毕之后,按照预设的事务处理阶段与事务状态之间的对应关系,更新事务状态数据库中该待处理事务的事务标识对应的事务状态。
参见图4B所示的事务处理阶段、事务状态和候选执行器之间的对应关系示意图。
其中,事务处理阶段包括事务校验阶段、服务查询阶段、资源转移阶段、服务创建阶段和记录生成阶段;事务状态包括初始状态、待查询状态、待转移状态、待创建状态、待记录状态和完成状态;候选执行器包括事务校验执行器、服务查询执行器、资源转移执行器、服务创建执行器和记录生成执行器。
具体的,若事务状态为初始状态,则进入事务校验阶段,调用事务校验执行器对待处理事务进行事务合法性校验;校验通过后,事务状态切换至待查询状态,进入服务查询阶段,调用服务查询执行器对待处理事务进行所需服务的属性信息查询;在查询完毕后,事务状态切换至待转移状态,进入资源转移阶段,调用资源转移执行器对所需服务进行资源置换;在资源置换完毕后,事务状态切换至待创建状态,进入服务创建阶段,调用服务创建执行器告知服务提供方进行服务准备;在服务已创建但未创建完成时(可以由服务提供方在启动服务准备时切换状态,或者响应于服务需求方的查询操作,二次调用服务创建执行器查询服务准备情况时设置),将事务状态切换至创建中状态,并在服务创建完成后,由服务提供方回调服务创建执行器将事务状态切换至待记录状态;在服务创建完成后,调用记录生成执行器对所需服务的服务实例和事务标识等进行记录;在记录完成后,事务状态切换至完成状态,结束待处理事务的整个生命周期。
进一步的,当任一事务处理阶段对待处理事务执行失败的情况下,可以将事务状态设置为失败状态,用于指示技术人员进行人为干预或回滚。
通过上述技术方案,能够将待处理事务的整个生命周期的事务处理过程轻量化,保证事务处理过程的稳定性。同时,通过流失处理的方式,基于事务状态驱动不同执行器的有序执行,保证了事务处理过程的原子性和可维护性,同时,当需要引入新的事务处理阶段时,可以通过设置设定业务功能的执行器进行事务处理,并新增事务状态即可,可扩展性好。
作为上述各事务处理方法的实现,本公开还提供了一种实施上述各事务方法的执行装置的可选实施例。参见图5所示的事务处理装置500,包括:事务状态确定模块501、执行器确定模块502、事务状态更新模块503和事务添加模块504。其中,
事务状态确定模块501,用于从事务队列中获取待处理事务,并确定所述待处理事务的事务状态;
执行器确定模块502,用于根据所述事务状态,确定待处理执行器,并调用所述待处理执行器处理所述待处理事务;
事务状态更新模块503,用于根据所述待处理事务所处的事务处理阶段,更新所述事务状态;
事务添加模块504,用于若所述事务状态属于非完成状态,则将所述待处理事务添加至所述事务队列。
本公开通过引入待处理事务的事务状态,进行待处理执行器的确定,并调用待处理执行器处理该待处理事务,保证了待处理事务的处理过程的有序性和原子性,提高了事务处理过程的可维护性。由于事务状态根据待处理事务所处的事务处理阶段进行更新,因此,本公开将现有技术中待处理事务在不同事务处理阶段的同步处理过程,转化为基于事务状态的异步处理过程,无需等待前一事务处理阶段的结果生成,从而提高了事务处理过程的稳定性。当待处理事务引入新的事务处理阶段时,即可增加专用于该事务处理阶段的待处理执行器,并为该事务处理阶段分配新的事务状态即可,提高了事务处理的可扩展性。
在一个可选实施例中,所述事务处理阶段包括事务校验阶段、服务查询阶段、资源转移阶段、服务创建阶段和记录生成阶段;
所述事务状态包括初始状态、待查询状态、待转移状态、待创建状态、待记录状态和完成状态。
在一个可选实施例中,所述事务状态更新模块503,包括:
校验阶段切换单元,用于若所述待处理事务所处的事务处理阶段为事务校验阶段,则将所述事务状态由初始状态切换为待查询状态;
查询阶段切换单元,用于若所述待处理事务所处的事务处理阶段为服务查询阶段,则将所述事务状态由待查询状态切换为待转移状态;
转移阶段切换单元,用于若所述待处理事务所处的事务处理阶段为资源转移阶段,则将所述事务状态由待转移状态切换至待创建状态;
创建阶段切换单元,用于若所述待处理事务所处的事务处理阶段为服务创建阶段,则将所述事务状态由待创建状态切换为待记录状态;
记录阶段切换单元,用于若所述待处理事务所处的事务处理阶段为记录生成阶段,则将所述事务状态由待记录状态切换为完成状态;
其中,所述初始状态在接收到待处理事务对应事务请求时进行设置。
在一个可选实施例中,所述创建阶段切换单元,具体用于:
若所述待处理事务所处的事务处理阶段为服务创建阶段,则根据服务创建完成情况,控制将所述事务状态由待创建状态切换为待记录状态。
在一个可选实施例中,所述创建阶段切换单元,包括:
创建中切换子单元,用于若已创建服务且服务创建未完成,则将所述事务状态由待创建状态切换为创建中状态;
创建后切换子单元,用于若服务创建完成,则将所述事务状态由创建中状态切换为待记录状态。
在一个可选实施例中,该装置500还包括:
禁止添加模块,用于若所述事务状态属于完成状态,则禁止将所述待处理事务添加至所述事务队列。
在一个可选实施例中,该装置500,还包括:
补救方式确定模块,用于在处理所述待处理事务过程中,若调用所述待处理执行器处理所述待处理事务失败,则根据失败原因,确定目标补救方式;其中,所述目标补救方式为降级方式或重试方式;
重新执行模块,用于根据所述目标补救方式,重新执行所述待处理事务。
在一个可选实施例中,所述补救方式确定模块,包括:
重试方式确定单元,用于若失败原因为网络异常,则将重试方式作为所述目标补救方式;
降级方式确定单元,用于若失败原因为系统异常,则将降级方式作为所述目标补救方式。
在一个可选实施例中,所述重新执行模块,包括:
重试方式响应单元,用于若所述目标补救方式为重试方式,则重新调用所述待处理执行器处理所述待处理事务;
降级方式响应单元,用于若所述目标补救方式为降级方式,则根据所述待处理事务关联的历史处理数据,重新执行所述待处理事务。
在一个可选实施例中,所述重试方式响应单元,具体用于:
在所述重试方式的预设执行周期内,按照预设时间间隔,重新调用所述待处理执行器处理所述待处理事务;
其中,预设时间间隔随着调用次数的增加而增大。
上述事务处理装置可执行本公开任意实施例所提供的事务处理方法,具备执行各事务处理方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的事务请求、待处理事务和待处理事务的事务状态的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如事务处理方法。例如,在一些实施例中,事务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的事务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行事务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (23)

1.一种事务处理方法,包括:
从事务队列中获取待处理事务,并确定所述待处理事务的事务状态;
根据所述事务状态,确定待处理执行器,并调用所述待处理执行器处理所述待处理事务;
根据所述待处理事务所处的事务处理阶段,更新所述事务状态;
若所述事务状态属于非完成状态,则将所述待处理事务添加至所述事务队列。
2.根据权利要求1所述的方法,其中,所述事务处理阶段包括事务校验阶段、服务查询阶段、资源转移阶段、服务创建阶段和记录生成阶段;
所述事务状态包括初始状态、待查询状态、待转移状态、待创建状态、待记录状态和完成状态。
3.根据权利要求2所述的方法,其中,所述根据所述待处理事务所处的事务处理阶段,更新所述事务状态,包括:
若所述待处理事务所处的事务处理阶段为事务校验阶段,则将所述事务状态由初始状态切换为待查询状态;
若所述待处理事务所处的事务处理阶段为服务查询阶段,则将所述事务状态由待查询状态切换为待转移状态;
若所述待处理事务所处的事务处理阶段为资源转移阶段,则将所述事务状态由待转移状态切换至待创建状态;
若所述待处理事务所处的事务处理阶段为服务创建阶段,则将所述事务状态由待创建状态切换为待记录状态;
若所述待处理事务所处的事务处理阶段为记录生成阶段,则将所述事务状态由待记录状态切换为完成状态;
其中,所述初始状态在接收到待处理事务对应事务请求时进行设置。
4.根据权利要求3所述的方法,其中,所述若所述待处理事务所处的事务处理阶段为服务创建阶段,则将所述事务状态由待创建状态切换为待记录状态,包括:
若所述待处理事务所处的事务处理阶段为服务创建阶段,则根据服务创建完成情况,控制将所述事务状态由待创建状态切换为待记录状态。
5.根据权利要求4所述的方法,其中,所述根据服务创建完成情况,控制将所述事务状态由待创建状态切换为待记录状态,包括:
若已创建服务且服务创建未完成,则将所述事务状态由待创建状态切换为创建中状态;
若服务创建完成,则将所述事务状态由创建中状态切换为待记录状态。
6.根据权利要求1-5任一项所述的方法,其中,所述方法还包括:
若所述事务状态属于完成状态,则禁止将所述待处理事务添加至所述事务队列。
7.根据权利要求1-6任一项所述的方法,其中,在处理所述待处理事务过程中,所述方法还包括:
若调用所述待处理执行器处理所述待处理事务失败,则根据失败原因,确定目标补救方式;其中,所述目标补救方式为降级方式或重试方式;
根据所述目标补救方式,重新执行所述待处理事务。
8.根据权利要求7所述的方法,其中,所述根据失败原因,确定目标补救方式,包括:
若失败原因为网络异常,则将重试方式作为所述目标补救方式;
若失败原因为系统异常,则将降级方式作为所述目标补救方式。
9.根据权利要求7所述的方法,其中,所述根据所述目标补救方式,重新执行所述待处理事务,包括:
若所述目标补救方式为重试方式,则重新调用所述待处理执行器处理所述待处理事务;
若所述目标补救方式为降级方式,则根据所述待处理事务关联的历史处理数据,重新执行所述待处理事务。
10.根据权利要求9所述的方法,其中,所述重新调用所述待处理执行器处理所述待处理事务,包括:
在所述重试方式的预设执行周期内,按照预设时间间隔,重新调用所述待处理执行器处理所述待处理事务;
其中,预设时间间隔随着调用次数的增加而增大。
11.一种事务处理装置,包括:
事务状态确定模块,用于从事务队列中获取待处理事务,并确定所述待处理事务的事务状态;
执行器确定模块,用于根据所述事务状态,确定待处理执行器,并调用所述待处理执行器处理所述待处理事务;
事务状态更新模块,用于根据所述待处理事务所处的事务处理阶段,更新所述事务状态;
事务添加模块,用于若所述事务状态属于非完成状态,则将所述待处理事务添加至所述事务队列。
12.根据权利要求11所述的装置,其中,所述事务处理阶段包括事务校验阶段、服务查询阶段、资源转移阶段、服务创建阶段和记录生成阶段;
所述事务状态包括初始状态、待查询状态、待转移状态、待创建状态、待记录状态和完成状态。
13.根据权利要求12所述的装置,其中,所述事务状态更新模块,包括:
校验阶段切换单元,用于若所述待处理事务所处的事务处理阶段为事务校验阶段,则将所述事务状态由初始状态切换为待查询状态;
查询阶段切换单元,用于若所述待处理事务所处的事务处理阶段为服务查询阶段,则将所述事务状态由待查询状态切换为待转移状态;
转移阶段切换单元,用于若所述待处理事务所处的事务处理阶段为资源转移阶段,则将所述事务状态由待转移状态切换至待创建状态;
创建阶段切换单元,用于若所述待处理事务所处的事务处理阶段为服务创建阶段,则将所述事务状态由待创建状态切换为待记录状态;
记录阶段切换单元,用于若所述待处理事务所处的事务处理阶段为记录生成阶段,则将所述事务状态由待记录状态切换为完成状态;
其中,所述初始状态在接收到待处理事务对应事务请求时进行设置。
14.根据权利要求13所述的装置,其中,所述创建阶段切换单元,具体用于:
若所述待处理事务所处的事务处理阶段为服务创建阶段,则根据服务创建完成情况,控制将所述事务状态由待创建状态切换为待记录状态。
15.根据权利要求14所述的装置,其中,所述创建阶段切换单元,包括:
创建中切换子单元,用于若已创建服务且服务创建未完成,则将所述事务状态由待创建状态切换为创建中状态;
创建后切换子单元,用于若服务创建完成,则将所述事务状态由创建中状态切换为待记录状态。
16.根据权利要求11-15任一项所述的装置,其中,所述装置还包括:
禁止添加模块,用于若所述事务状态属于完成状态,则禁止将所述待处理事务添加至所述事务队列。
17.根据权利要求11-16任一项所述的装置,还包括:
补救方式确定模块,用于在处理所述待处理事务过程中,若调用所述待处理执行器处理所述待处理事务失败,则根据失败原因,确定目标补救方式;其中,所述目标补救方式为降级方式或重试方式;
重新执行模块,用于根据所述目标补救方式,重新执行所述待处理事务。
18.根据权利要求17所述的装置,其中,所述补救方式确定模块,包括:
重试方式确定单元,用于若失败原因为网络异常,则将重试方式作为所述目标补救方式;
降级方式确定单元,用于若失败原因为系统异常,则将降级方式作为所述目标补救方式。
19.根据权利要求17所述的装置,其中,所述重新执行模块,包括:
重试方式响应单元,用于若所述目标补救方式为重试方式,则重新调用所述待处理执行器处理所述待处理事务;
降级方式响应单元,用于若所述目标补救方式为降级方式,则根据所述待处理事务关联的历史处理数据,重新执行所述待处理事务。
20.根据权利要求19所述的装置,其中,所述重试方式响应单元,具体用于:
在所述重试方式的预设执行周期内,按照预设时间间隔,重新调用所述待处理执行器处理所述待处理事务;
其中,预设时间间隔随着调用次数的增加而增大。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的事务处理方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-10中任一项所述的事务处理方法。
23.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-10中任一项所述的事务处理方法的步骤。
CN202211379827.9A 2022-11-04 2022-11-04 事务处理方法、装置、设备和存储介质 Pending CN115827265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211379827.9A CN115827265A (zh) 2022-11-04 2022-11-04 事务处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211379827.9A CN115827265A (zh) 2022-11-04 2022-11-04 事务处理方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN115827265A true CN115827265A (zh) 2023-03-21

Family

ID=85526747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211379827.9A Pending CN115827265A (zh) 2022-11-04 2022-11-04 事务处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN115827265A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680277A (zh) * 2023-07-28 2023-09-01 腾讯科技(深圳)有限公司 信息核验方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680277A (zh) * 2023-07-28 2023-09-01 腾讯科技(深圳)有限公司 信息核验方法、装置、设备及存储介质
CN116680277B (zh) * 2023-07-28 2024-02-02 腾讯科技(深圳)有限公司 信息核验方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN113656175B (zh) 基于分布式系统训练模型的方法及设备
CN110210845B (zh) 用于区块链数据迁移的方法、装置、介质和计算设备
CN115827265A (zh) 事务处理方法、装置、设备和存储介质
CN114417780B (zh) 状态同步方法、装置、电子设备及存储介质
CN115631273A (zh) 一种大数据的去重方法、装置、设备及介质
CN113658351B (zh) 一种产品生产的方法、装置、电子设备及存储介质
CN112925811B (zh) 数据处理的方法、装置、设备、存储介质及程序产品
CN113593555A (zh) 通过语音方式控制程序的方法、设备及程序产品
CN115017236B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN113935069B (zh) 一种基于区块链的数据验证方法、装置、设备及存储介质
CN115390992A (zh) 一种虚拟机创建方法、装置、设备和存储介质
CN113360689B (zh) 图像检索系统、方法、相关装置及计算机程序产品
CN114553859A (zh) 一种bmc配置管理方法、装置、电子设备及存储介质
CN112965836A (zh) 服务控制方法、装置、电子设备及可读存储介质
CN113448767A (zh) 分布式事务数据库恢复方法、装置、设备及存储介质
CN116521199B (zh) 一种部件升级方法、装置、设备及存储介质
CN114610575B (zh) 应用于计算分支的更新峰值的方法、装置、设备和介质
CN115484149B (zh) 网络切换方法、网络切换装置、电子设备及存储介质
CN113934581A (zh) 存储系统磁盘故障信息获取方法、装置、电子设备和介质
CN117573311A (zh) 有状态服务处理方法、装置、设备、可读存储介质及产品
CN115456627A (zh) 一种安全算法切换方法、装置、设备及存储介质
CN118036079A (zh) 一种数据库访问授权的方法、装置、电子设备、存储介质和计算机程序产品
CN118113288A (zh) 插件编译方法、装置、电子设备以及存储介质
CN113360330A (zh) 并发锁测试方法、相关装置及计算机程序产品
CN114461656A (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