CN113409109B - 订单创建方法、装置、服务器及存储介质 - Google Patents

订单创建方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN113409109B
CN113409109B CN202110656269.5A CN202110656269A CN113409109B CN 113409109 B CN113409109 B CN 113409109B CN 202110656269 A CN202110656269 A CN 202110656269A CN 113409109 B CN113409109 B CN 113409109B
Authority
CN
China
Prior art keywords
executed
order creation
task
creation request
thread
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
Application number
CN202110656269.5A
Other languages
English (en)
Other versions
CN113409109A (zh
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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110656269.5A priority Critical patent/CN113409109B/zh
Publication of CN113409109A publication Critical patent/CN113409109A/zh
Application granted granted Critical
Publication of CN113409109B publication Critical patent/CN113409109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开关于一种订单创建方法、装置、服务器、存储介质及计算机程序产品,该方法包括:响应于账户的订单创建请求,对订单创建请求进行校验;订单创建请求包括至少一个待执行任务;将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务;若检测到同步线程中存在异常的待执行任务,则获取异步线程中异常的待执行任务的传输状态信息;异步线程用于执行异常的待执行任务;根据传输状态信息向账户返回订单创建请求对应的订单创建结果。采用本方法,减少了服务器资源的浪费。

Description

订单创建方法、装置、服务器及存储介质
技术领域
本公开涉及计算机应用领域,尤其涉及一种订单创建方法、装置、服务器、存储介质及计算机程序产品。
背景技术
随着互联网技术的快速发展,网络购物已经成为了主要的购物方式;订单创建通常是是网络购物的第一个环节。
在某些业务活动中,订单创建请求存在大流量、高并发的特点,若其中某个处理节点因为服务器繁忙、网络波动等原因发生异常,会直接返回订单创建失败的结果;用户基于此结果会重复订单创建流程,进而再次加大服务器的负载,造成服务器资源的浪费。
发明内容
本公开提供一种订单创建方法、装置、服务器、存储介质及计算机程序产品,以至少解决相关技术中服务器资源浪费的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种订单创建方法,包括:
响应于账户的订单创建请求,对所述订单创建请求进行校验;所述订单创建请求包括至少一个待执行任务;
将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;所述同步线程用于执行所述订单创建请求中的所述待执行任务;
若检测到所述同步线程中存在异常的待执行任务,则获取所述异步线程中所述异常的待执行任务的传输状态信息;所述异步线程用于执行所述异常的待执行任务;
根据所述传输状态信息向所述账户返回所述订单创建请求对应的订单创建结果。
在一示例性实施例中,所述根据所述传输状态信息向所述账户返回所述订单创建请求对应的订单创建结果,包括:
若所述传输状态信息表征所述待执行任务已传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建成功结果;所述异步线程用于在向所述账户返回所述订单创建成功结果后,执行所述异常的待执行任务直至完成;
若所述传输状态信息表征所述待执行任务未传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建失败结果。
在一示例性实施例中,所述响应于账户的订单创建请求,对所述订单创建请求进行校验,包括:
获取所述订单创建请求中的商品属性信息以及订单属性信息;所述商品属性信息包括商品标识和商品数量;所述订单属性信息包括地址信息和账户信息;
在所述地址信息及所述账户信息验证通过后,获取与所述商品标识对应的商品库存数量;
若所述商品库存数量大于所述商品数量,则确认所述订单创建请求校验通过。
在一示例性实施例中,在将校验通过的订单创建请求的待执行任务传输至异步线程之后,还包括:
识别所述异步线程中已传输的待执行任务得到识别结果,根据所述识别结果设置所述已传输的待执行任务对应的传输标识,所述传输标识作为所述待执行任务的传输状态信息。
在一示例性实施例中,在检测到所述同步线程中存在异常的待执行任务之前,还包括:
获取所述同步线程中待执行任务的执行时长;
若所述待执行任务的执行时长超过预设时长,确定所述待执行任务为所述异常的待执行任务。
在一示例性实施例中,在检测到所述同步线程中存在异常的待执行任务之前,还包括:
获取所述同步线程中待执行任务的执行次数;
若所述待执行任务的执行次数超过预设次数,确定所述待执行任务为所述异常的待执行任务。
在一示例性实施例中,在获取所述异步线程中所述异常的待执行任务的传输状态信息之后,还包括:
识别所述同步线程中已传输的待执行任务的第一执行结果,及所述异步线程中已传输的待执行任务的第二执行结果;
根据所述第一执行结果及所述第二执行结果更新所述订单创建请求的执行进度信息;所述执行进度信息用于记载所述订单创建请求中待执行任务的执行情况。
根据本公开实施例的第二方面,提供一种订单创建装置,包括:
请求校验单元,被配置为执行响应于账户的订单创建请求,对所述订单创建请求进行校验;所述订单创建请求包括至少一个待执行任务;
任务运输单元,被配置为执行将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;所述同步线程用于执行所述订单创建请求中的所述待执行任务;
异常检测单元,被配置为执行若检测到所述同步线程中存在异常的待执行任务,则获取所述异步线程中所述异常的待执行任务的传输状态信息;所述异步线程用于执行所述异常的待执行任务;
结果发送单元,被配置为执行根据所述传输状态信息向所述账户返回所述订单创建请求对应的订单创建结果。
在一示例性实施例中,所述结果发送单元,还被配置为执行若所述传输状态信息表征所述待执行任务已传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建成功结果;所述异步线程用于在向所述账户返回所述订单创建成功结果后,执行所述异常的待执行任务直至完成;若所述传输状态信息表征所述待执行任务未传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建失败结果。
在一示例性实施例中,所述请求校验单元,还被配置为执行获取所述订单创建请求中的商品属性信息以及订单属性信息;所述商品属性信息包括商品标识和商品数量;所述订单属性信息包括地址信息和账户信息;在所述地址信息及所述账户信息验证通过后,获取与所述商品标识对应的商品库存数量;若所述商品库存数量大于所述商品数量,则确认所述订单创建请求校验通过。
在一示例性实施例中,所述任务运输单元,还被配置为执行识别所述异步线程中已传输的待执行任务得到识别结果,根据所述识别结果设置所述已传输的待执行任务对应的传输标识,所述传输标识作为所述待执行任务的传输状态信息。
在一示例性实施例中,所述订单创建装置还包括异常识别单元,被配置为执行获取所述同步线程中待执行任务的执行时长;若所述待执行任务的执行时长超过预设时长,确定所述待执行任务为所述异常的待执行任务。
在一示例性实施例中,所述异常识别单元,还被配置为获取所述同步线程中待执行任务的执行次数;若所述待执行任务的执行次数超过预设次数,确定所述待执行任务为所述异常的待执行任务。
在一示例性实施例中,所述异常检测单元,还被配置为执行识别所述同步线程中已传输的待执行任务的第一执行结果,及所述异步线程中已传输的待执行任务的第二执行结果;根据所述第一执行结果及所述第二执行结果更新所述订单创建请求的执行进度信息;所述执行进度信息用于记载所述订单创建请求中待执行任务的执行情况。
根据本公开实施例的第三方面,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面的任一项实施例中所述的订单创建方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行第一方面的任一项实施例中所述的订单创建方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从所述计算机可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的订单创建方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过响应于账户的订单创建请求,对订单创建请求进行校验;订单创建请求包括至少一个待执行任务;接着将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务;然后若检测到同步线程中存在异常的待执行任务,则获取异步线程中异常的待执行任务的传输状态信息;异步线程用于执行异常的待执行任务;最后根据传输状态信息向账户返回订单创建请求对应的订单创建结果;实现了在发生异常情况时能够触发异常线程对异常的待执行任务进行重试,并预先根据异步线程的传输状态向账户返回订单创建结果的目的,有利于减少账户重复发送订单创建请求而造成的服务器资源浪费,降低服务器的负载。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种订单创建方法的应用环境图。
图2是根据一示例性实施例示出的一种订单创建方法的流程图。
图3是根据一示例性实施例示出的对订单创建请求进行校验的步骤的流程图。
图4是根据一示例性实施例示出的根据第一执行结果及第二执行结果更新订单创建请求的执行进度信息的步骤的流程图。
图5是根据一示例性实施例示出的另一种订单创建方法的流程图。
图6是根据一示例性实施例示出的一种订单创建装置的框图。
图7是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的订单创建方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互;服务器120响应于终端110上账户触发的订单创建请求,对订单创建请求进行校验;订单创建请求包括至少一个待执行任务;服务器120将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务;服务器120若检测到同步线程中存在异常的待执行任务,则获取异步线程中异常的待执行任务的传输状态信息;异步线程用于执行异常的待执行任务;服务器120根据传输状态信息向账户对应的终端110返回订单创建请求对应的订单创建结果。其中,终端110可以是但不限于各种智能手机、平板电脑、笔记本电脑或穿戴式设备等,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2是根据一示例性实施例示出的一种订单创建方法的流程图,如图2所示,订单创建方法用于如图1所示的服务器120中,包括以下步骤。
在步骤S210中,响应于账户的订单创建请求,对订单创建请求进行校验;订单创建请求包括至少一个待执行任务。
其中,订单创建请求是指账户对所要购买的商品进行确认的指示或命令,订单创建请求在生成过程中会获取有账户的标识,便于服务器识别触发该订单创建请求的对象;订单创建请求还包含有账户的待校验信息以及所购买商品的待校验信息。商品可为实体商品或虚拟商品等。虚拟商品可为用于获取实体物品(如空调、手机、音箱等)的电子凭证,或者用于提供服务(如家政服务、在线教育、视频会员等)的电子凭证,或者虚拟物品(如虚拟形象的皮肤、游戏道具等)。
其中,待执行任务是订单创建请求执行过程中的各个步骤所对应的任务,待执行任务之间具有前后顺序。
具体地,服务器接收到账户的订单创建请求,对订单创建请求进行解析,得到商品属性信息以及包含有账户信息的订单属性信息;根据预设的校验规则对商品属性信息及订单属性信息进行校验,判断是否能够支持各个待执行任务执行的信息需求;校验完成后生成订单创建请求的校验结果。
举例说明,账户A触发针对于商品B的订单创建请求,订单创建请求中包含有账户A的账户信息,例如手机号码、收货地址、实名认证信息等,还包含有商品B的商品属性信息,例如商品B的标识、购买数量等;服务器在校验过程中,可以通过判断手机号码、收货地址、实名认证信息等是否真实存在作为对订单属性信息的校验结果;通过判断标识对应的库存数量是否大于购买数量作为对商品属性信息的校验结果;根据两个校验结果确定出对订单创建请求的校验结果。
在步骤S220中,将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务。
其中,同步线程是指在获取到订单创建请求的待执行任务后,按照待执行任务的顺序依次执行各个待执行任务的处理线程;异步线程是指在同步线程启动执行待执行任务之后,能够对同步线程中无法正常被处理的待执行任务进行重试的线程;异步线程相较于同步线程在时序上具有延后性,可以通过设置异步线程的延迟时间,使得同步线程对待执行任务的优先处理。
具体地,服务器获取订单创建请求中包括的待执行任务,并分别传输至同步线程以及异步线程中;同步线程会立即启动对订单创建请求中待执行任务的执行,异步线程会在预设的延迟时间t1后启动。同步线程对待执行任务进行处理,将多次重复处理仍未完成或者超过预设执行时长的待执行任务作为异常的待执行任务。需要说明的是,本公开中通过校验的订单创建请求已经具备能够完成的条件,异常的待执行任务可能是由于服务器算力不足、网络延迟等原因导致,并非同步线程或异步线程自身原因导致的,因此异常的待执行任务在经过多次重试后通常能够正常执行完毕。
在步骤S230中,若检测到同步线程中存在异常的待执行任务,则获取异步线程中异常的待执行任务的传输状态信息;异步线程用于执行异常的待执行任务。
其中,传输状态信息是指用于判断订单创建请求的待执行任务是否成功传输至异步线程的信息。
其中,异常的待执行任务是指,同步线程中满足预设异常条件的待执行任务;例如同步线程中的待执行任务Q的执行次数超过预设异常条件中的预设次数且仍未执行完毕,或者待执行任务Q的执行时间超过预设异常条件中的预设时长。
其中,异步线程可以设置在同步线程执行订单创建请求之后的延迟时间t1再启动,通过延迟时间t1可以实现异步线程相较于同步线程的延后,即针对于同一订单创建请求,可以使得同步线程启动执行的延迟时间t1时间后异步线程才会启动,以此保证同步线程优先对订单创建请求正常执行。
具体地,在同步线程启动待执行任务执行的延迟时间t1后,异步线程启动运行;服务器在同步线程执行订单创建请求中的待执行任务的处理过程中,获取各个待执行任务的处理状态,判断是否存在异常的待执行任务;若同步线程中存在异常的待执行任务,则异步线程会在一定间隔时间后相应地执行同步线程中异常的待执行任务;服务器在监测到同步线程中存在异常的待执行任务时,会获取异常的待执行任务在异步线程中的传输状态信息,判断被识别为异常的待执行任务是否已预先传输至异步线程,以此作为异步线程能否执行异常的待执行任务的依据;异步线程在处理异常的待执行任务的过程中会不断重试,直到异常的待执行任务在异步线程中处理完成。
在步骤S240中,根据传输状态信息向账户返回订单创建请求对应的订单创建结果。
其中,订单创建结果是与订单创建请求对应的结果信息,包括订单创建成功结果及订单创建失败结果;账户可以通过订单创建结果确定订单是否创建成功。
具体地,服务器根据传输状态信息判断异常的待执行任务是否成功传输至异步线程,若成功传输至异步线程,则向账户返回订单创建成功的结订单创建结果;若未成功传输至异步线程,则向账户返回订单创建失败的结订单创建结果。
上述订单创建方法中,通过响应于账户的订单创建请求,对订单创建请求进行校验;订单创建请求包括至少一个待执行任务;接着将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务;然后若检测到同步线程中存在异常的待执行任务,则获取异步线程中异常的待执行任务的传输状态信息;异步线程用于执行异常的待执行任务;最后根据传输状态信息向账户返回订单创建请求对应的订单创建结果;实现了在发生异常情况时异步线程能够对异常的待执行任务进行重试;根据异步线程的传输状态信息向账户返回订单创建结果,有利于减少账户重复发送订单创建请求而造成的服务器资源浪费,降低服务器的负载。
在一示例性实施例中,在步骤S240中,根据传输状态信息向账户返回订单创建请求对应的订单创建结果,具体包括:若传输状态信息表征待执行任务已传输至异步线程,则向账户返回订单创建请求对应的订单创建成功结果;异步线程用于在向账户返回订单创建成功结果后,执行异常的待执行任务直至完成;若传输状态信息表征待执行任务未传输至异步线程,则向账户返回订单创建请求对应的订单创建失败结果。
具体地,订单创建成功结果是指预先向账户返回的关于订单创建成功的结果提示信息,并非订单创建的真实结果;由于同步线程存在异常,订单创建请求不能够第一时间执行完毕并返回真实结果,但异步线程能够对异常的待执行任务进行重试,直到待执行任务执行成功,因此订单创建成功结果相当于预先将结果返回至账户,然后再进行重试处理,直到订单创建请求的真实结果与向账户返回的订单创建结果保持一致。另外,若传输状态信息表征待执行任务未传输至异步线程,说明异常的待执行任务并不能第一时刻执行完毕,同时异步线程中也未成功传输该异常的待执行任务,为了避免后续的订单创建请求因为当前异常的待执行任务的重试而堵塞,因此向账户返回订单创建失败结果,提高了订单创建请求的整体处理效率。
本公开实施例提供的技术方案,避免了账户长时间收不到订单创建结果,而重新提交订单创建请求导致的服务器负载加大,服务器资源浪费的情况。
在一示例性实施例中,如图3所示,在步骤S210中,响应于账户的订单创建请求,对订单创建请求进行校验,具体可以通过以下步骤实现:
在步骤S211中,获取订单创建请求中的商品属性信息以及订单属性信息;商品属性信息包括商品标识和商品数量;订单属性信息包括地址信息和账户信息。
其中,商品标识是指能够对商品进行识别、查找、记录的标识信息,例如商品条形码、图书编码(ISBN)等;地址信息是指订单对应商品发送的对象地址,例如实物商品对应的地址是收件人能够收到商品的邮寄地址,虚拟商品对应的地址信息可以是一个账号、一个网址等形式;账户信息还可以包括用户画像信息、用户操作习惯信息、用户间关联关系等信息。
在步骤S212中,在地址信息及账户信息验证通过后,获取与商品标识对应的商品库存数量。
具体地,服务器判断地址信息是否真实存在,以及判断账户信息是否真实或者是否具备购买商品的权限等作为验证通过的条件;若验证通过,则获取商品标识对应的商品库存数量,商品库存数量是实时变化的,能够根据订单的创建数量进行相应扣减。
在步骤S213中,若商品库存数量大于商品数量,则确认订单创建请求校验通过。
其中,商品数量是指账户购买商品的数量。
具体地,服务器在确定地址信息及账户信息验证通过后,若确定商品库存数量大于商品数量,说明该商品是可购买状态,则确定订单创建请求能够通过。
本公开实施例提供的技术方案,通过对订单创建请求中的商品属性信息以及订单属性信息进行合法判断,得到订单创建请求的校验结果,后续可以作为订单创建请求对应的订单创建结果返回至账户;信息校验过程简单,提高了服务器的处理速度;同时通过信息校验预先判断了订单创建请求的订单创建结果,使得账户能够尽快收到相应的结果,提高了订单创建结果返回的效率,避免订单创建的重复提交,减小服务器资源的浪费。
在一示例性实施例中,在步骤S220中,在将校验通过的订单创建请求的待执行任务传输至异步线程之后,还包括:识别异步线程中已传输的待执行任务得到识别结果,根据识别结果设置已传输的待执行任务对应的传输标识,传输标识作为待执行任务的传输状态信息。
其中,识别结果是指服务器对异步线程中已传输的待执行任务的判断,通过识别结果能够识别出成功传输至异步线程中待执行任务,反之还能够识别出未成功传输至异步线程的待执行任务。
其中,传输标识是指对已传输至异步线程的待执行任务的已传输状态的标记;通过传输标识能够快速识别出待执行任务是否传输至相应的异步线程。
本公开实施例提供的技术方案,通过设置传输标识作为待执行任务的传输状态信息,能够使得服务器快速判断异常的待执行任务是否传输至异步线程,提高了服务器的处理效率,降低了服务器资源的利用。
在一示例性实施例中,如图4所示,在步骤S220中,在将校验通过的订单创建请求的待执行任务传输至异步线程之后,还包括:
在步骤S410中,识别同步线程中已传输的待执行任务的第一执行结果,及异步线程中已传输的待执行任务的第二执行结果。
其中,第一执行结果是指同步线程中待执行任务的执行情况;第二执行结果是指异步线程中待执行任务的执行情况。
在步骤S420中,根据第一执行结果及第二执行结果更新订单创建请求的执行进度信息;执行进度信息用于记载订单创建请求中待执行任务的执行情况。
具体地,服务器周期或实时地从同步线程及异步线程中获取各个已传输待执行任务的执行结果,并更新与订单创建请求的执行进度信息;以此判断订单创建请求的执行进度情况,并且记录已传输的待执行任务中哪些正常处理,哪些为异常的待执行任务;服务器可以根据执行进度信息避免对同一待执行任务的重复执行。
本公开实施例提供的技术方案,对各个线程中待执行任务的处理情况进行保存并更新,避免待执行任务的重复执行,减少了服务器资源的浪费。
在一示例性实施例中,在步骤S230中,在检测到同步线程中存在异常的待执行任务之前,还包括:获取同步线程中待执行任务的执行时长;若待执行任务的执行时长超过预设时长,确定待执行任务为异常的待执行任务。
具体地,执行时长是指待执行任务在同步线程中开始处理的时刻到当前时刻的时间范围,执行时长可以反映出待执行任务的处理情况;预设时长是指对时间范围上限的规定,可以根据待执行任务正常处理所需时长设定;例如待执行任务Z在同步线程中的执行时长达到了5秒,而预设时长为3秒,说明待执行任务Z在同步线程中的执行时长已经超过了正常处理所用时长,可据此判断为出现异常的情况。本公开实施例提供的技术方案,通过预设时长作为识别待执行任务为异常的条件,实现了从时间维度对待执行任务异常的判断,提高了异常的待执行任务识别的准确性。
在一示例性实施例中,在步骤S230中,在检测到同步线程中存在异常的待执行任务之前,还包括:获取同步线程中待执行任务的重试执行次数;若待执行任务的重试执行次数超过预设次数,确定待执行任务为异常的待执行任务。
具体地,预设次数可根据需要设置。同步线程在处理待执行任务时,若失败会进行一定次数的重试,该执行次数的值可以根据正常处理该待执行任务的次数设定;执行次数超过预设次数后则说明处理该待执行任务时出现异常。本公开实施例提供的技术方案,通过执行次数作为识别待执行任务为异常的条件,实现了从执行层面对待执行任务异常的判断,提高了异常的待执行任务识别的准确性。
图5是根据一示例性实施例示出的另一种订单创建方法的流程图,如图5所示,该订单创建方法用于如图1所示的服务器中,包括以下步骤:
在步骤S510中,获取订单创建请求中的商品属性信息以及订单属性信息;商品属性信息包括商品标识和商品数量;订单属性信息包括地址信息和账户信息;在地址信息及账户信息验证通过后,获取与商品标识对应的商品库存数量;若商品库存数量大于商品数量,则确认订单创建请求校验通过。
在步骤S520中,将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务。
在步骤S530中,识别异步线程中已传输的待执行任务得到识别结果,根据识别结果设置已传输的待执行任务对应的传输标识,传输标识作为待执行任务的传输状态信息;识别同步线程中已传输的待执行任务的第一执行结果,及异步线程中已传输的待执行任务的第二执行结果;根据第一执行结果及第二执行结果更新订单创建请求的执行进度信息;执行进度信息用于记载订单创建请求中待执行任务的执行情况。
在步骤S540中,获取同步线程中待执行任务的执行时长;若待执行任务的执行时长超过预设时长,确定待执行任务为异常的待执行任务。
在步骤S550中,若传输状态信息表征待执行任务已传输至异步线程,则向账户返回订单创建请求对应的订单创建成功结果;异步线程用于在向账户返回订单创建成功结果后,执行异常的待执行任务直至完成。
本公开实施例提供的技术方案,可以达到以下技术效果:(1)通过同步线程及异步线程同时对订单创建请求的待执行任务进行处理,提高了订单创建请求的处理效率;异步线程也增强了订单创建请求处理成功的几率。(2)在出现故障的情况下,本公开不会使得处理流程的复杂度增加;同时将订单创建结果预先返回给账户,提高了用户的体验,也避免了账户对订单创建请求的重复提交。有利于减少账户重复发送订单创建请求而造成的服务器资源浪费,降低服务器的负载。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图6是根据一示例性实施例示出的一种订单创建装置框图。参照图6,该装置包括请求校验单元602,任务运输单元604,异常检测单元606和结果发送单元608。
请求校验单元602被配置为请求校验单元,被配置为执行响应于账户的订单创建请求,对订单创建请求进行校验;订单创建请求包括至少一个待执行任务;
任务运输单元604,被配置为执行将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;同步线程用于执行订单创建请求中的待执行任务;
异常检测单元606,被配置为执行若检测到同步线程中存在异常的待执行任务,则获取异步线程中异常的待执行任务的传输状态信息;异步线程用于执行异常的待执行任务;
结果发送单元608,被配置为执行根据传输状态信息向账户返回订单创建请求对应的订单创建结果。
在一示例性实施例中,结果发送单元608,还被配置为执行若传输状态信息表征待执行任务已传输至异步线程,则向账户返回订单创建请求对应的订单创建成功结果;异步线程用于在向账户返回订单创建成功结果后,执行异常的待执行任务直至完成;若传输状态信息表征待执行任务未传输至异步线程,则向账户返回订单创建请求对应的订单创建失败结果。
在一示例性实施例中,请求校验单元602,还被配置为执行获取订单创建请求中的商品属性信息以及订单属性信息;商品属性信息包括商品标识和商品数量;订单属性信息包括地址信息和账户信息;在地址信息及账户信息验证通过后,获取与商品标识对应的商品库存数量;若商品库存数量大于商品数量,则确认订单创建请求校验通过。
在一示例性实施例中,任务运输单元604,还被配置为执行识别异步线程中已传输的待执行任务得到识别结果,根据识别结果设置已传输的待执行任务对应的传输标识,传输标识作为待执行任务的传输状态信息。
在一示例性实施例中,订单创建装置还包括异常识别单元,被配置为执行获取同步线程中待执行任务的执行时长;若待执行任务的执行时长超过预设时长,确定待执行任务为异常的待执行任务。
在一示例性实施例中,异常识别单元,还被配置为执行获取同步线程中待执行任务的执行次数;若待执行任务的执行次数超过预设次数,确定待执行任务为异常的待执行任务。
在一示例性实施例中,异常检测单元604,还被配置为执行识别同步线程中已传输的待执行任务的第一执行结果,及异步线程中已传输的待执行任务的第二执行结果;根据第一执行结果及第二执行结果更新订单创建请求的执行进度信息;执行进度信息用于记载订单创建请求中待执行任务的执行情况。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于执行上述的订单创建的设备700的框图。例如,设备700可以为一服务器。参照图7,设备700包括处理组件720,其进一步包括一个或多个处理器,以及由存储器722所代表的存储器资源,用于存储可由处理组件720的执行的指令,例如应用程序。存储器722中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件720被配置为执行指令,以执行上述订单创建方法。
设备700还可以包括一个电源组件724被配置为执行设备700的电源管理,一个有线或无线网络接口726被配置为将设备700连接到网络,和一个输入输出(I/O)接口728。设备700可以操作基于存储在存储器722的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器722,上述指令可由设备700的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,该程序产品包括计算机程序,该计算机程序存储在可读存储介质中,设备的至少一个处理器从该可读存储介质读取并执行该计算机程序,使得设备执行本公开的任一项实施例中的订单创建方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种订单创建方法,其特征在于,包括:
响应于账户的订单创建请求,对所述订单创建请求进行校验;所述订单创建请求包括至少一个待执行任务;
将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;所述同步线程用于执行所述订单创建请求中的所述待执行任务;
识别所述异步线程中已传输的待执行任务得到识别结果,根据所述识别结果设置所述已传输的待执行任务对应的传输标识,所述传输标识作为所述待执行任务的传输状态信息;若检测到所述同步线程中存在异常的待执行任务,则获取所述异步线程中所述异常的待执行任务的传输状态信息;所述异步线程用于执行所述异常的待执行任务;
根据所述传输状态信息向所述账户返回所述订单创建请求对应的订单创建结果,包括:若所述传输状态信息表征所述待执行任务已传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建成功结果;所述异步线程用于在向所述账户返回所述订单创建成功结果后,执行所述异常的待执行任务直至完成。
2.根据权利要求1所述的订单创建方法,其特征在于,所述根据所述传输状态信息向所述账户返回所述订单创建请求对应的订单创建结果,还包括:
若所述传输状态信息表征所述待执行任务未传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建失败结果。
3.根据权利要求1所述的订单创建方法,其特征在于,所述响应于账户的订单创建请求,对所述订单创建请求进行校验,包括:
获取所述订单创建请求中的商品属性信息以及订单属性信息;所述商品属性信息包括商品标识和商品数量;所述订单属性信息包括地址信息和账户信息;
在所述地址信息及所述账户信息验证通过后,获取与所述商品标识对应的商品库存数量;
若所述商品库存数量大于所述商品数量,则确认所述订单创建请求校验通过。
4.根据权利要求1-3中任一项所述的订单创建方法,其特征在于,在检测到所述同步线程中存在异常的待执行任务之前,还包括:
获取所述同步线程中待执行任务的执行时长;
若所述待执行任务的执行时长超过预设时长,确定所述待执行任务为所述异常的待执行任务。
5.根据权利要求1-3中任一项所述的订单创建方法,其特征在于,在检测到所述同步线程中存在异常的待执行任务之前,还包括:
获取所述同步线程中待执行任务的执行次数;
若所述待执行任务的执行次数超过预设次数,确定所述待执行任务为所述异常的待执行任务。
6.根据权利要求1-3中任一项所述的订单创建方法,其特征在于,在获取所述异步线程中所述异常的待执行任务的传输状态信息之后,还包括:
识别所述同步线程中已传输的待执行任务的第一执行结果,及所述异步线程中已传输的待执行任务的第二执行结果;
根据所述第一执行结果及所述第二执行结果更新所述订单创建请求的执行进度信息;所述执行进度信息用于记载所述订单创建请求中待执行任务的执行情况。
7.一种订单创建装置,其特征在于,包括:
请求校验单元,被配置为执行响应于账户的订单创建请求,对所述订单创建请求进行校验;所述订单创建请求包括至少一个待执行任务;
任务传输单元,被配置为执行将校验通过的订单创建请求的待执行任务传输至同步线程及异步线程;所述同步线程用于执行所述订单创建请求中的所述待执行任务;
异常检测单元,被配置为执行若检测到所述同步线程中存在异常的待执行任务,则获取所述异步线程中所述异常的待执行任务的传输状态信息;所述异步线程用于执行所述异常的待执行任务;
结果发送单元,被配置为执行根据所述传输状态信息向所述账户返回所述订单创建请求对应的订单创建结果,还被配置为:执行若所述传输状态信息表征所述待执行任务已传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建成功结果;所述异步线程用于在向所述账户返回所述订单创建成功结果后,执行所述异常的待执行任务直至完成。
8.根据权利要求7所述的订单创建装置,其特征在于,所述结果发送单元,还被配置为若所述传输状态信息表征所述待执行任务未传输至所述异步线程,则向所述账户返回所述订单创建请求对应的订单创建失败结果。
9.根据权利要求7所述的订单创建装置,其特征在于,所述请求校验单元,还被配置为执行获取所述订单创建请求中的商品属性信息以及订单属性信息;所述商品属性信息包括商品标识和商品数量;所述订单属性信息包括地址信息和账户信息;在所述地址信息及所述账户信息验证通过后,获取与所述商品标识对应的商品库存数量;若所述商品库存数量大于所述商品数量,则确认所述订单创建请求校验通过。
10.根据权利要求7-9中任一项所述的订单创建装置,其特征在于,所述订单创建装置还包括异常识别单元,被配置为执行获取所述同步线程中待执行任务的执行时长;若所述待执行任务的执行时长超过预设时长,确定所述待执行任务为所述异常的待执行任务。
11.根据权利要求7-9中任一项所述的订单创建装置,其特征在于,所述异常识别单元,还被配置为执行获取所述同步线程中待执行任务的执行次数;若所述待执行任务的执行次数超过预设次数,确定所述待执行任务为所述异常的待执行任务。
12.根据权利要求7-9中任一项所述的订单创建装置,其特征在于,所述异常检测单元,还被配置为执行识别所述同步线程中已传输的待执行任务的第一执行结果,及所述异步线程中已传输的待执行任务的第二执行结果;根据所述第一执行结果及所述第二执行结果更新所述订单创建请求的执行进度信息;所述执行进度信息用于记载所述订单创建请求中待执行任务的执行情况。
13.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的订单创建方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至6中任一项所述的订单创建方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的订单创建方法。
CN202110656269.5A 2021-06-11 2021-06-11 订单创建方法、装置、服务器及存储介质 Active CN113409109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110656269.5A CN113409109B (zh) 2021-06-11 2021-06-11 订单创建方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110656269.5A CN113409109B (zh) 2021-06-11 2021-06-11 订单创建方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN113409109A CN113409109A (zh) 2021-09-17
CN113409109B true CN113409109B (zh) 2024-04-09

Family

ID=77683694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110656269.5A Active CN113409109B (zh) 2021-06-11 2021-06-11 订单创建方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN113409109B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686247A (zh) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 基于同/异步的视频分发方法和系统
CN109189595A (zh) * 2018-09-17 2019-01-11 深圳怡化电脑股份有限公司 基于服务器的事件处理方法、装置、设备及介质
CN109933437A (zh) * 2019-03-15 2019-06-25 广州华多网络科技有限公司 一种防止线程卡死的方法、装置、设备及计算机可读介质
CN111489100A (zh) * 2020-04-27 2020-08-04 好活(昆山)网络科技有限公司 基于大数据的订单创建方法、装置、设备和介质
CN111984424A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 任务处理方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686247A (zh) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 基于同/异步的视频分发方法和系统
CN109189595A (zh) * 2018-09-17 2019-01-11 深圳怡化电脑股份有限公司 基于服务器的事件处理方法、装置、设备及介质
CN109933437A (zh) * 2019-03-15 2019-06-25 广州华多网络科技有限公司 一种防止线程卡死的方法、装置、设备及计算机可读介质
CN111489100A (zh) * 2020-04-27 2020-08-04 好活(昆山)网络科技有限公司 基于大数据的订单创建方法、装置、设备和介质
CN111984424A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 任务处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN113409109A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
US11068964B2 (en) Method and device for processing service request
KR102151326B1 (ko) 데이터 처리 방법 및 장치
CN106815031B (zh) 内核模块加载方法和装置
US10452469B2 (en) Server performance correction using remote server actions
US20190158626A1 (en) Method, apparatus and computer readable storage medium for processing service
US20210390006A1 (en) Method and electronic device for querying application programming interfaces of webpage
WO2021121407A1 (zh) 一种虚拟机的容量更改方法及装置
CN112684982B (zh) 一种数据迁移方法、系统、设备及计算机可读存储介质
CN115495142A (zh) 云资源编排方法、装置、计算机设备及存储介质
JP2018500670A (ja) 非構造化メッセージの処理
CN107038025B (zh) 基于soa架构的系统调用方法及装置
CN109492149B (zh) 爬虫任务处理方法及装置
CN109948332A (zh) 一种物理机登录密码重置方法及装置
CN113409109B (zh) 订单创建方法、装置、服务器及存储介质
CN109327468A (zh) 一种下线提示方法、装置、设备及存储介质
CN112506570A (zh) 设备指令下发方法、系统和服务器
CN107220818B (zh) 网上支付方法及装置
CN114756356A (zh) 任务处理方法、工作节点设备、主节点设备及存储介质
CN114201701A (zh) 运行环境的识别方法及装置、存储介质、服务端、客户端
US9582368B2 (en) Method and apparatus for text input protection
CN113051008A (zh) 接口请求处理方法、装置、计算机设备和存储介质
CN111611077A (zh) 任务参数处理方法、终端和存储介质
CN113672281A (zh) 代码差异查询方法、装置、设备及存储介质
JP7216767B2 (ja) アクセス方法、通信システム、及びプログラム
US20230239371A1 (en) Scalable server-based web scripting with user input

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