一种处理微服务下的大数据业务的架构系统及方法与流程

文档序号:37541610发布日期:2024-04-08 13:41阅读:11来源:国知局
一种处理微服务下的大数据业务的架构系统及方法与流程

本技术属于计算机,尤其涉及一种处理微服务下的大数据业务的架构系统及方法。


背景技术:

1、微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。它将应用构建成一系列按业务领域划分模块的、小的自治服务。在微服务架构中,每个服务都是自我包含的,并且实现了单一的业务功能,这些服务通常拥有自己的技术栈,包括数据库和数据管理模型。

2、而在微服务中,如果软件中分成微服务a,微服务b,那业务查询结果往往是多个微服务的聚合结果,而每个微服务里面的单聚合结果通常是关系型数据库的关系聚合结果,如图1所示;

3、在现有技术中,一般采用关系型数据库(如mysql、sqlserver、oracle)作为应用软件数据存储关系型数据,而用户在使用应用软件查询数据的过程中,必然存在关系型数据的聚合查询,即假设有关系a,b两种关系,业务存在a,b关系的交集的集合,如图2所示。

4、一般情况下,关系型数据库的关系表关联查询的结果是笛卡尔积,如果为关系a查询结果条数为n,关系b查询结果为m,查询的复杂度为n*m,可见随着关系a及关系b的数据量增加,符合条件的数据也在增加,那复杂度呈线性增加。而在微服务架构下,查询往往是聚合多微服务查询结果,所以在随数据量增加后,聚合业务查询速度会更加地慢。


技术实现思路

1、本技术实施例提供了一种处理微服务下的大数据业务的架构系统及方法,可以解决目前微服务架构下的数据库查询效率不高的技术问题。

2、第一方面,本技术实施例提供了一种处理微服务下的大数据业务的架构系统,所述系统包括前端、聚合查询服务节点、搜索服务节点、数据处理服务集群、微服务节点集群以及关系型数据库,其中,所述微服务节点集群包括多个微服务节点;所述数据处理服务集群用于确定所述关系型数据库中数据库数据,所述搜索服务节点包含有不同种类的聚合业务数据关系表,所述聚合业务数据关系表中的数据与所述数据库数据相关;

3、所述前端,用于响应用户针对聚合业务输入的查询请求,所述聚合业务与不同的微服务节点相关;

4、所述聚合查询服务节点,用于根据所述查询请求从所述搜索服务节点中获取与所述聚合业务对应的目标聚合业务数据关系表,使得所述搜索服务节点向所述前端反馈查询结果,其中,所述目标聚合业务数据关系表中存储有与所述聚合业务相关的数据。

5、在一些实施例中,所述前端,用于响应用户针对聚合业务输入的操作请求;

6、所述微服务节点集群,用于对所述关系型数据库中与所述操作请求相关的目标数据进行操作,并使得经操作后的目标更新数据保存至所述关系型数据库;

7、所述数据处理服务集群,用于监听所述关系型数据库,以从所述关系型数据库中确定目标更新数据,并将所述目标更新数据传输至所述搜索服务节点;

8、所述搜索服务节点,用于确定与所述聚合业务对应的目标聚合业务数据关系表,并通过所述目标更新数据对所述目标聚合业务数据关系表中的数据进行更新。

9、在一些实施例中,所述系统还包括canal组件;

10、所述canal组件,用于监听所述关系型数据库,以从所述关系型数据库中确定目标更新数据,以使得所述数据处理服务集群获取所述目标更新数据。

11、在一些实施例中,所述系统还包括第一消息队列;

12、所述canal组件,还用于对所述关系型数据库进行监听,在监听到所述关系型数据库中的目标数据经操作后变成目标更新数据时,将所述目标更新数据发送至所述第一消息队列;

13、所述第一消息队列,用于将所述目标更新数据发送给数据处理服务集群。

14、在一些实施例中,所述数据处理服务集群包括canal数据处理服务和业务数据处理服务,所述canal数据处理服务和所述业务数据处理服务之间通过第二消息队列进行消息解耦;

15、所述canal数据处理服务,用于接收所述第一消息队列发送的目标更新数据,解析所述目标更新数据以得到待组装目标更新数据;按照组装消息体的方式对所述待组装目标更新数据进行组装,得到目标消息体,并通过所述第二消息队列将所述目标消息体发送到所述业务数据处理服务;

16、所述业务数据处理服务,用于根据所述聚合业务对所述目标消息体进行业务聚合操作;

17、所述搜索服务节点,还用于确定与所述聚合业务对应的目标聚合业务数据关系表,并通过所述业务聚合操作对所述目标聚合业务数据关系表中的数据进行更新。

18、在一些实施例中,所述数据处理服务集群还包括本地数据库;

19、所述本地数据库,用于保存所述目标更新数据和/或所述目标消息体。

20、第二方面,本技术还提出一种处理微服务下的大数据业务的方法,所述方法包括:

21、由前端响应用户针对聚合业务输入的查询请求,将所述查询请求发送至聚合查询服务节点,所述聚合业务与不同的微服务节点相关;

22、由所述聚合查询服务节点根据所述查询请求从搜索服务节点中获取与所述聚合业务对应的目标聚合业务数据关系表,以获取查询结果;

23、其中,所述搜索服务节点包含有不同种类的聚合业务数据关系表,所述聚合业务数据关系表中的数据与所述关系型数据库的数据库数据相关,所述目标聚合业务数据关系表中存储有与所述聚合业务相关的数据。

24、在一些实施例中,所述方法还包括:

25、由所述前端响应用户针对聚合业务输入的操作请求,将所述操作请求发送至微服务节点集群;

26、由所述微服务节点集群对所述关系型数据库中与所述操作请求相关的目标数据进行操作,并使得经操作后的目标更新数据保存至所述关系型数据库;

27、由数据处理服务集群监听所述关系型数据库,以从所述关系型数据库中确定目标更新数据,并将所述目标更新数据传输至所述搜索服务节点;

28、由所述搜索服务节点确定与所述聚合业务对应的目标聚合业务数据关系表,并通过所述目标更新数据对所述目标聚合业务数据关系表中的数据进行更新。

29、在一些实施例中,所述由数据处理服务集群监听所述关系型数据库,以从所述关系型数据库中确定目标更新数据,包括:

30、由所述canal组件对所述关系型数据库进行监听,在监听到所述关系型数据库中的目标数据经操作后变成目标更新数据时,将所述目标更新数据发送至所述第一消息队列,以使得所述第一消息队列将所述目标更新数据发送给数据处理服务集群。

31、在一些实施例中,所述数据处理服务集群包括canal数据处理服务和业务数据处理服务,所述canal数据处理服务和所述业务数据处理服务之间通过第二消息队列进行消息解耦;

32、相应的,所述由数据处理服务集群监听所述关系型数据库,以从所述关系型数据库中确定目标更新数据,并将所述目标更新数据传输至所述搜索服务节点,包括:

33、由所述canal数据处理服务接收所述第一消息队列发送的目标更新数据,解析所述目标更新数据以得到待组装目标更新数据;按照组装消息体的方式对所述待组装目标更新数据进行组装,得到目标消息体,并通过所述第二消息队列将所述目标消息体发送到所述业务数据处理服务;

34、由所述业务数据处理服务根据所述聚合业务对所述目标消息体进行业务聚合操作;

35、相应的,所述由所述搜索服务节点确定与所述聚合业务对应的目标聚合业务数据关系表,并通过所述目标更新数据对所述目标聚合业务数据关系表中的数据进行更新,包括:

36、由所述搜索服务节点确定与所述聚合业务对应的目标聚合业务数据关系表,并通过所述业务聚合操作对所述目标聚合业务数据关系表中的数据进行更新。

37、在一些实施例中,所述方法还包括:

38、由所述搜索服务节点通过分词控制器将所述目标更新数据对应的语句进行分词,并保存其权重和分词结果;

39、在所述前端接收用户针对聚合业务输入的查询请求时,由所述搜索服务节点根据所述权重对所述分词结果进行排序打分处理,并将处理结果反馈至所述前端。

40、本技术的有益效果在于:通过聚合业务数据关系表的方式来解决微服务查询需要跨微服务聚合请求且需要返回拼装数据的缺陷,解决关系型数据库联表查询速度慢的问题,提高了查询效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1