System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体而言,本申请涉及一种订单处理方法、装置、设备、可读存储介质及程序产品。
技术介绍
1、现有技术中,大流量的类订单的分布式系统(例如外卖订单系统、打车订单系统、支付订单系统等)中可以同时活跃订单量上亿。类订单的分布式系统中订单数据依赖第三方数据库进行存储,第三方数据库的成本高,而且第三方数据库的存储往往成为类订单的分布式系统的性能瓶颈;同时类订单的分布式系统还需要通过分布式锁来保障订单数据一致性,分布式锁的成本高,而且分布式锁会消耗类订单的分布式系统的性能;如此,导致保障订单数据一致性的效率低且成本高。
技术实现思路
1、本申请针对现有的方式的缺点,提出一种订单处理方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何高效低成本的保障订单数据一致性的问题。
2、第一方面,本申请提供了一种订单处理方法,由目标订单服务器执行,目标订单服务器为订单服务集群中的一个服务器,包括:
3、接收业务服务集群发送的针对目标订单的订单请求,其中,目标订单服务器与目标订单对应,目标订单的任一种订单请求均路由至目标订单服务器;
4、基于预设的订单映射表确定目标订单对应的订单请求队列及工作线程,将目标订单的订单请求写入目标订单对应的订单请求队列;其中,在订单映射表中,每一订单唯一对应一个订单请求队列,每一订单请求队列唯一对应一个工作线程;订单请求队列对应的工作线程用于监测订单请求队列;
5、当订单请求队列对应的工作线程监测到存
6、将订单请求对应的处理结果发送给业务服务集群。
7、在一个实施例中,接收业务服务集群发送的针对目标订单的订单请求,包括:
8、接收业务服务集群中任一服务器发送的针对目标订单的订单请求;订单请求包括目标订单的订单号;业务服务集群中任一服务器用于基于目标订单的订单号对应的哈希值,从业务服务集群的服务器中确定目标订单服务器,并将目标订单的订单请求发送至目标订单服务器。
9、在一个实施例中,对目标订单的订单请求进行相应处理,得到订单请求对应的处理结果,包括:
10、基于目标订单的订单请求在目标订单对应的订单请求队列中的先后次序,通过订单请求队列对应的工作线程,对订单请求进行相应处理,得到订单请求对应的处理结果;
11、其中,工作线程对应的内存中存储目标订单的相关数据。
12、在一个实施例中,在对目标订单的订单请求进行相应处理之前,还包括:
13、若目标订单的订单请求为创建订单请求,则在预设的订单映射表中创建目标订单对应的键值对,键值对中的键为目标订单对应的索引,键值对中的值包括索引对应的订单请求队列,索引对应的订单请求队列为目标订单对应的订单请求队列。
14、在一个实施例中,目标订单的订单请求为创建订单请求,基于目标订单的订单请求在目标订单对应的订单请求队列中的先后次序,通过订单请求队列对应的工作线程,对订单请求进行相应处理,得到订单请求对应的处理结果,包括:
15、若通过订单请求队列对应的工作线程监测到订单请求队列中存在创建订单请求对应的结构体,则基于创建订单请求对应的结构体在订单请求队列中的先后次序,对目标订单进行创建,得到创建订单请求对应的处理
16、结果,创建订单请求对应的处理结果包括创建订单成功、创建订单失败中5任一项。
17、在一个实施例中,目标订单的订单请求为查询订单请求,基于目标订单的订单请求在目标订单对应的订单请求队列中的先后次序,通过订单请求队列对应的工作线程,对订单请求进行相应处理,得到订单请求对应的处理结果,包括:
18、0若通过订单请求队列对应的工作线程监测到订单请求队列中存在查询订单请求对应的结构体,则基于查询订单请求对应的结构体在订单请求队列中的先后次序,通过工作线程从预设数据库中调用目标订单的相关信息,并将目标订单的相关信息作为查询订单请求对应的处理结果。
19、在一个实施例中,目标订单的订单请求为更新订单请求,基于目标订5单的订单请求在目标订单对应的订单请求队列中的先后次序,通过订单请求队列对应的工作线程,对订单请求进行相应处理,得到订单请求对应的处理结果,包括:
20、若通过订单请求队列对应的工作线程监测到订单请求队列中存在更新订单请求对应的结构体,则基于更新订单请求对应的结构体在订单请求0队列中的先后次序和获取的更新信息,对目标订单的状态进行更新,得到
21、目标订单的更新后的状态,并将目标订单的更新后的状态作为更新订单请求对应的处理结果。
22、在一个实施例中,在对目标订单的订单请求进行相应处理,得到订单请求对应的处理结果之后,还包括:5通过订单请求队列对应的工作线程,将处理结果写入订单请求对应的传输处理结果的通道,并通过通道将处理结果传输给请求处理接口;订单请求与请求处理接口相对应,订单请求对应的结构体包括订单请求的请求内容和订单请求对应的传输处理结果的通道。
23、在一个实施例中,将订单请求对应的处理结果发送给业务服务集群,包括:
24、若通过请求处理接口,基于阻塞监测方式,从通道中读出处理结果,则通过请求处理接口,将处理结果发送给业务服务集群。
25、在一个实施例中,在目标订单的所有订单请求处理完之后,将目标订单对应的键值对从预设的订单映射表中删除。
26、第二方面,本申请提供了一种订单处理方法,由业务服务集群中任一服务器执行,包括:
27、接收用户端发送针对目标订单的用户端订单请求,用户端订单请求包括所述目标订单的订单号;
28、基于订单号对应的哈希值,从订单服务集群的服务器中确定目标订单服务器;其中,目标订单服务器与目标订单对应,目标订单的任一种订单请求均路由至目标订单服务器;
29、将针对目标订单的订单请求发送给目标订单服务器。
30、在一个实施例中,基于订单号对应的哈希值,从订单服务集群的服务器中确定目标订单服务器,包括以下任意一项:
31、若查询到订单号对应的哈希值和订单服务集群中一个服务器的设备标识对应的哈希值相同,则将一个服务器确定为目标订单服务器,订单服务集群的服务器的设备标识对应的哈希值预先存储在任一服务器中;或者
32、通过一致性哈希函数对订单服务集群中服务器的设备标识进行编码处理,得到服务器的设备标识对应的哈希值;若订单号对应的哈希值和订单服务集群中一个服务器的设备标识对应的哈希值相同,则将一个服务器确定为目标订单服务器。
33、第三方面,本申请提供了一种订单处理方法,由订单处理系统执行,其特征在于,包括:
34、订单处理系统包括业务服务集群和订单服务集群;
35、通过业务服务集群中任一服务器,基于目标订单的订单号对应的哈本文档来自技高网...
【技术保护点】
1.一种订单处理方法,由目标订单服务器执行,所述目标订单服务器为订单服务集群中的一个服务器,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述接收业务服务集群发送的针对目标订单的订单请求,包括:
3.根据权利要求1或2中任一项所述的方法,其特征在于,所述对所述目标订单的订单请求进行相应处理,得到所述订单请求对应的处理结果,包括:
4.根据权利要求3所述的方法,其特征在于,在所述对所述目标订单的订单请求进行相应处理之前,还包括:
5.根据权利要求3所述的方法,其特征在于,所述目标订单的订单请求为创建订单请求,所述基于所述目标订单的订单请求在所述目标订单对应的订单请求队列中的先后次序,通过所述订单请求队列对应的工作线程,对所述订单请求进行相应处理,得到所述订单请求对应的处理结果,包括:
6.根据权利要求3所述的方法,其特征在于,所述目标订单的订单请求为查询订单请求,所述基于所述目标订单的订单请求在所述目标订单对应的订单请求队列中的先后次序,通过所述订单请求队列对应的工作线程,对所述订单请求进行相应处理,得到所
7.根据权利要求3所述的方法,其特征在于,所述目标订单的订单请求为更新订单请求,所述基于所述目标订单的订单请求在所述目标订单对应的订单请求队列中的先后次序,通过所述订单请求队列对应的工作线程,对所述订单请求进行相应处理,得到所述订单请求对应的处理结果,包括:
8.根据权利要求3所述的方法,其特征在于,在所述对所述目标订单的订单请求进行相应处理,得到所述订单请求对应的处理结果之后,还包括:
9.根据权利要求8所述的方法,其特征在于,所述将所述订单请求对应的处理结果发送给所述业务服务集群,包括:
10.根据权利要求1所述的方法,其特征在于,还包括:
11.一种订单处理方法,由业务服务集群中任一服务器执行,其特征在于,包括:
12.根据权利要求11所述的方法,其特征在于,所述基于所述订单号对应的哈希值,从订单服务集群的服务器中确定目标订单服务器,包括以下任意一项:
13.一种订单处理方法,由订单处理系统执行,其特征在于,包括:
14.一种订单处理装置,应用于目标订单服务器,所述目标订单服务器为订单服务集群中的一个服务器,其特征在于,包括:
15.一种订单处理装置,应用于业务服务集群中任一服务器,其特征在于,包括:
...【技术特征摘要】
1.一种订单处理方法,由目标订单服务器执行,所述目标订单服务器为订单服务集群中的一个服务器,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述接收业务服务集群发送的针对目标订单的订单请求,包括:
3.根据权利要求1或2中任一项所述的方法,其特征在于,所述对所述目标订单的订单请求进行相应处理,得到所述订单请求对应的处理结果,包括:
4.根据权利要求3所述的方法,其特征在于,在所述对所述目标订单的订单请求进行相应处理之前,还包括:
5.根据权利要求3所述的方法,其特征在于,所述目标订单的订单请求为创建订单请求,所述基于所述目标订单的订单请求在所述目标订单对应的订单请求队列中的先后次序,通过所述订单请求队列对应的工作线程,对所述订单请求进行相应处理,得到所述订单请求对应的处理结果,包括:
6.根据权利要求3所述的方法,其特征在于,所述目标订单的订单请求为查询订单请求,所述基于所述目标订单的订单请求在所述目标订单对应的订单请求队列中的先后次序,通过所述订单请求队列对应的工作线程,对所述订单请求进行相应处理,得到所述订单请求对应的处理结果,包括:
7.根据权利要求3所述的方法,其特征在于...
【专利技术属性】
技术研发人员:刘国锋,
申请(专利权)人:腾讯科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。