一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

微服务架构下的交易处理方法及装置与流程

2022-11-19 11:20:22 来源:中国专利 TAG:


1.本发明涉及分布式技术领域,尤其涉及一种微服务架构下的交易处理方法及装置。


背景技术:

2.在微服务单元化场景下,业务应用数据被划分为多个单元并且每个单元会有多个备份单元,每个应用在注册中心的注册信息由约定标识拼接而成。在异地多活场景或者同城双活的情况下正常的交易请求流程会因无法获取真实的服务名而调用失败。


技术实现要素:

3.本发明实施例提出一种微服务架构下的交易处理方法,用以进行微服务架构下的交易处理,以保证交易成功,该方法包括:
4.在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;
5.根据所述关键数据,获取对应的单元信息;
6.通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;
7.将更改后的新服务名注册到consul上;
8.将http请求转发至新服务名中单元信息对应的单元上,所述单元进行http请求处理。
9.本发明实施例提出一种微服务架构下的交易处理装置,用以进行微服务架构下的交易处理,以保证交易成功,该装置包括:
10.关键数据提取模块,用于在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;
11.单元信息定位模块,用于根据所述关键数据,获取对应的单元信息;
12.服务名修改模块,用于通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;
13.新服务名注册模块,用于将更改后的新服务名注册到consul上;
14.请求转发模块,用于将http请求转发至新服务名中单元信息对应的单元上,所述单元进行http请求处理。
15.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述微服务架构下的交易处理方法。
16.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务架构下的交易处理方法。
17.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述微服务架构下的交易处理方法。
18.在本发明实施例中,在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;根据所述关键数据,获取对应的单元信息;通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;将更改后的新服务名注册到consul上;将http请求转发至新服务名中单元信息对应的单元上,所述单元进行http请求处理。在上述过程中,通过判断服务名是否包含单元信息,且在不包含时,通过获取单元信息,修改服务名,并注册到consul上,使得可以很方便地在应用无感知的情况下根据修改后的新服务名找到对应的单元,从而提高后续请求处理的成功率。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1为本发明实施例中微服务架构下的交易处理方法的流程图一;
21.图2为本发明实施例中微服务架构下的交易处理方法的流程图二;
22.图3为本发明实施例中微服务架构下的交易处理方法的流程图三;
23.图4为本发明实施例中微服务架构下的交易处理装置的示意图一;
24.图5为本发明实施例中微服务架构下的交易处理装置的示意图二;
25.图6为本发明实施例中计算机设备的示意图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
27.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
28.图1为本发明实施例中微服务架构下的交易处理方法的流程图一,如图1所示,该方法包括:
29.步骤101,在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;
30.步骤102,根据所述关键数据,获取对应的单元信息;
31.步骤103,通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;
32.步骤104,将更改后的新服务名注册到consul上;
33.步骤105,将http请求转发至新服务名中单元信息对应的单元上,所述单元进行
http请求处理。
34.其中,关键数据可以是客户号。单元信息可以是地域 机房 单元编号组合而成的单元名称。
35.图2为本发明实施例中微服务架构下的交易处理方法的流程图二,在一实施例中,所述方法还包括:
36.步骤201,在获得针对微服务的http请求,且该微服务的服务名包含单元信息时,将http请求转发至单元信息对应的单元上。
37.在一实施例中,获得针对微服务的http请求,包括:
38.通过aop技术,拦截针对微服务的http请求。
39.图3为本发明实施例中微服务架构下的交易处理方法的流程图三,在一实施例中,所述方法还包括:
40.步骤301,将关键数据和单元信息产生的映射关系存入数据库;
41.步骤102,根据所述关键数据,获取对应的单元信息,包括:
42.通过数据库提供的映射关系查询接口,查询数据库,获得所述关键数据对应的单元信息。
43.在一实施例中,将http请求转发至新服务名中单元信息对应的单元上,包括:
44.若新服务名中单元信息对应的单元不能使用,查询与所述单元相关性最大的单元;
45.将http请求转发至相关性最大的单元上。
46.例如,新服务名中单位信息为区域一的一个单元,该单元不可用,获取可选范围内的所有单元,通过相关性指标计算每个单元与该单元的相关性,相关性指标包括距离、单元空闲情况等,可通过余弦相似性计算两个单元的相关性,例如,算出来与该单元相关性最大的单元为区域二的一个单元,则可将http请求转发至区域二的单元。
47.综上所述,在本发明实施例提出的方法中,在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;根据所述关键数据,获取对应的单元信息;通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;将更改后的新服务名注册到consul上;将http请求转发至新服务名中单元信息对应的单元上,所述单元进行http请求处理。在上述过程中,通过判断服务名是否包含单元信息,且在不包含时,通过获取单元信息,修改服务名,并注册到consul上,使得可以很方便地在应用无感知的情况下根据修改后的新服务名找到对应的单元,从而提高后续请求处理的成功率。
48.本发明实施例还提出一种微服务架构下的交易处理装置,其原理与微服务架构下的交易处理方法类似,这里不再赘述。
49.图4为本发明实施例中微服务架构下的交易处理装置的示意图一,包括:
50.关键数据提取模块401,用于在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;
51.单元信息定位模块402,用于根据所述关键数据,获取对应的单元信息;
52.服务名修改模块403,用于通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;
53.新服务名注册模块404,用于将更改后的新服务名注册到consul上;
54.请求转发模块405,用于将http请求转发至新服务名中单元信息对应的单元上,所述单元进行http请求处理。
55.在一实施例中,请求转发模块还用于:
56.在获得针对微服务的http请求,且该微服务的服务名包含单元信息时,将http请求转发至单元信息对应的单元上。
57.在一实施例中,关键数据提取模块具体用于:
58.通过aop技术,拦截针对微服务的http请求。
59.图5为本发明实施例中微服务架构下的交易处理装置的示意图二,在一实施例中,所述装置还包括映射模块501,用于:
60.将关键数据和单元信息产生的映射关系存入数据库;
61.单元信息定位模块具体用于:
62.通过数据库提供的映射关系查询接口,查询数据库,获得所述关键数据对应的单元信息。
63.在一实施例中,请求转发模块具体用于:
64.若新服务名中单元信息对应的单元不能使用,查询与所述单元相关性最大的单元;
65.将http请求转发至相关性最大的单元上。
66.综上所述,在本发明实施例提出的装置中,在获得针对微服务的http请求,且该微服务的服务名不包含单元信息时,提取所述http请求中的关键数据;根据所述关键数据,获取对应的单元信息;通过交易处理,把微服务的服务名更改成包含单元信息的新服务名;将更改后的新服务名注册到consul上;将http请求转发至新服务名中单元信息对应的单元上,所述单元进行http请求处理。在上述过程中,通过判断服务名是否包含单元信息,且在不包含时,通过获取单元信息,修改服务名,并注册到consul上,使得可以很方便地在应用无感知的情况下根据修改后的新服务名找到对应的单元,从而提高后续请求处理的成功率。
67.本发明实施例还提供一种计算机设备,图6为本发明实施例中计算机设备的示意图,所述计算机设备600包括存储器610、处理器620及存储在存储器610上并可在处理器620上运行的计算机程序630,所述处理器620执行所述计算机程序630时实现上述微服务架构下的交易处理方法。
68.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务架构下的交易处理方法。
69.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述微服务架构下的交易处理方法。
70.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序业务系统。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序业务系统的形式。
71.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序业务系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
72.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
73.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献