一种智能运营数据管理装置、方法和计算机系统与流程

文档序号:25646304发布日期:2021-06-25 17:23阅读:99来源:国知局
一种智能运营数据管理装置、方法和计算机系统与流程

1.本发明涉及互联网管理技术领域,尤其涉及一种智能运营数据管理装置、方法和计算机系统。


背景技术:

2.运营数据管理系统是随着公司不断地发展壮大、业务量不断增加、业务种类越来越多手工操作无法完成日常运营数据管理工作应运而生的。它可以和其他系统连接在一个后台数据库、共享数据,通过调用数据库的信息达到高效运营数据管理的目的,可以提高工作效率。
3.目前应用的单体应用程序内部包含了所有需要的服务,其服务都在单个程序的内部,其服务内容较少而且服务功能模块逻辑简单,各个服务功能模块有很强的耦合性,各个服务功能模块之间密不可分,相互依赖彼此,很难拆分。由于服务之间的紧密度过高,将导致测试、升级的困难,且后续的开发难度大幅度上升。并且,当单体应用程序内有一个服务功能模块负载过高时,不能单独扩展该服务,必须扩展整个应用程序。
4.可见现有的运营数据管理技术存在单点项、高耦合、开发困难、系统扩展性差和故障难排查的问题,随着公司的发展壮大,无法满足高效运营数据管理的需求。


技术实现要素:

5.针对现有技术中的缺陷,本发明提出了一种智能运营数据管理装置、方法和计算机系统。
6.第一方面,本发明实施例提供了一种智能运营数据管理装置,包括:
7.nginx模块集群,各个nginx模块用于均衡地从多个客户端接收数据交互请求;
8.web模块集群,各个web模块用于接收相应nginx模块的数据交互请求,提供相应的微服务交互界面;
9.微服务模块集群,各个微服务模块用于根据从所述微服务交互界面获取的指令提供相应的微服务;
10.数据库模块集群,各个数据库模块用于为相应的微服务提供分类数据存储。
11.根据本发明的一种具体实施方式,各个nginx模块包括第一缓存子模块;各个web模块包括第二缓存子模块;各个微服务模块包括第三缓存子模块。
12.根据本发明的一种具体实施方式,所述nginx模块在接收到客户端的数据读取请求时,在所述第一缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至web模块;
13.所述web模块在接收到所述数据读取请求时,在所述第二缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至微服务模块;
14.所述微服务模块接收到所述数据读取请求时,在所述第三缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至数据库模块;
15.所述数据库模块接收到所述数据读取请求,在所述数据库模块中读取数据,将读取到的数据返回客户端。
16.根据本发明的一种具体实施方式,还包括:
17.消息队列模块集群,各个消息队列模块用于对web模块发送至微服务模块的消息归入相应的消息队列以使每秒对所述数据库模块的数据访问次数小于等于预定值。
18.根据本发明的一种具体实施方式,所述微服务模块集群包括:
19.用户中心模块,用于存储用户账户数据,实现用户自动登录;
20.猫池模块,用于利用所述用户账户数据中的手机号码进行模拟登录;
21.数据采集模块,用于在用户登录后爬取实时数据和呼叫数据,并将有效数据备份至相应的数据库模块;
22.数据分析模块,用于对爬取的数据进行统计和分析,并将分析结果提供给客户端进行展示。
23.根据本发明的一种具体实施方式,所述数据库模块集群的建立步骤包括:
24.将数据库根据每个微服务模块的服务功能垂直拆分成多个数据库模块,再根据预设规则将所述多个数据库模块水平拆分成更多个数据库模块,获得的每个数据库模块的职能单一;
25.采用数据库中间件统一管理所述每个数据库模块,获得所述数据库模块集群。
26.第二方面,本发明实施例提供一种智能运营数据管理方法,包括:
27.利用各个nginx模块均衡地从多个客户端接收数据交互请求;
28.利用各个web模块接收相应nginx模块的数据交互请求,提供相应的微服务交互界面;
29.利用各个微服务模块根据从所述微服务交互界面获取的指令提供相应的微服务;
30.利用各个数据库模块为相应的微服务提供分类数据存储。
31.根据本发明的一种具体实施方式,各个nginx模块包括第一缓存子模块,各个web模块包括第二缓存子模块,各个微服务模块包括第三缓存子模块;
32.在接收到客户端的数据读取请求时,在所述第一缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,在所述第二缓存子模块中读取数据;
33.在所述第二缓存子模块中若读取到数据,则将数据返回客户端,否则,在所述第三缓存子模块中读取数据;
34.在所述第三缓存子模块中若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至数据库模块,在数据库模块中读取数据,将读取到的数据返回客户端。
35.第三方面,本发明实施例提供一种计算机系统,所述计算机系统包括通过网络连接的多个计算机设备,各个计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行所述的智能运营数据管理方法。
36.第三方面,本发明实施例提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的智能运营数据管理方法。
37.本发明提供的一种智能运营数据管理装置,包括nginx模块集群、web模块集群、微服务模块集群和数据库模块集群,以集群模式构建。其中,每个集群内有多个子模块,各个nginx模块用于均衡地从多个客户端接收数据交互请求,形成分布式结构;各个web模块用
于接收相应nginx模块的数据交互请求,提供相应的微服务交互界面;各个微服务模块用于根据从所述微服务交互界面获取的指令提供相应的微服务,提供微服务结构;各个数据库模块用于为相应的微服务提供分类数据存储。集群结构使得整个装置结构的扩展更加容易,有利于业务发展,并且分布式微服务结构的构建使得系统间耦合度大大降低,可以独立开发部署,不同服务模块独立运行,出现故障易排查,开发效率大大提高,nginx模块集群实现负载均衡,各个模块协作实现高并发、高吞吐量。
附图说明
38.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
39.图1示出了本发明实施例提供的一种智能运营数据管理装置的模块框图;
40.图2示出了本发明实施例提供的一种智能运营数据管理装置的多级缓存流程图;
41.图3示出了本发明实施例提供的一种智能运营数据管理装置的微服务模块集群的模块框图;
42.图4示出了本发明实施例提供的一种智能运营数据管理方法的流程示意图。
具体实施方式
43.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
44.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
46.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
47.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
48.实施例1
49.本发明实施例提供一种智能运营数据管理装置,如图1所示,智能运营数据管理装置100包括:
50.nginx模块集群110,各个nginx模块用于均衡地从多个客户端接收数据交互请求;
51.微服务模块集群130,各个微服务模块用于根据从所述微服务交互界面获取的指令提供相应的微服务;
52.web模块集群120,各个web模块用于接收相应nginx模块的数据交互请求,提供相应的微服务交互界面;
53.数据库模块集群140,各个数据库模块用于为相应的微服务提供分类数据存储。
54.本实施例提供的nginx模块集群110中存在多个nginx模块,每个nginx模块对应一个nginx服务器,即nginx模块集群110由多个nginx服务器组成。nginx是一个具有高性能的反向代理服务器,每个nginx模块实现一个代理服务器的功能,为了避免一个服务器的压力过大,均衡地将来自客户端的数据交互请求发给不同的服务器。nginx模块占有内存少,并发能力强,nginx服务器集群,起到很好的反向代理并且均衡负载的作用,运行起来稳定性很强。
55.在一种具体实施方式中,本发明可选择lvs(linux virtual server负载均衡调度器)+keepalived(交换机制的软件)+nginx的架构实现高可用集群负载均衡。
56.本实施方式中,各个nginx模块包括第一缓存子模块。
57.nginx模块集群110具有缓存功能,其缓存功能的实现可通过每个nginx模块和lua脚本语言结合实现。
58.本实施例提供的web模块集群120由多个web模块组成,每个web模块作为web前端,接收相应nginx模块的数据交互请求,提供相应的微服务交互界面,作为前端将处理页面呈现给用户。
59.本实施方式中,各个web模块包括第二缓存子模块。
60.web模块集群120具有缓存功能,web模块平台进行java语言的运行,java虚拟机(java virtual machinejvm)是java语言的运行环境,在上述web模块进行的是java虚拟机层面的缓存。
61.本实施例提供的微服务模块集群130,由多个微服务模块组成,实现分布式微服务结构,将传统系统拆分成多个具有独立的功能的子模块,使每微服务模块只做自己相关的工作,便于管理,降低耦合度,达到高内聚。系统内的各微服务模块之间通过网络进行通信和协调,如异步消息或者rpc/http请求调用等。并且将微服务模块进行分布式部署,不仅可以提高并发访问能力、减少数据库连接和资源消耗,还能使不同应用复用共同的服务,使业务易于扩展。
62.本实施方式中,各个微服务模块包括第三缓存子模块。
63.微服务模块集群130具有缓存功能,微服务模块集群包括redis模块集群,每个微服务模块可通过redis软件实现缓存功能,redis是一个高性能的key

value数据库,每个redis模块对应一个微服务模块,为其缓存数据。同时redis软件支持主从同步,在数据库对数据进行更改的内容会进行同步,数据同步对读取操作的可扩展性和数据冗余很有帮助。
64.在本实施方式中,还可包括消息队列模块集群,各个消息队列模块用于对web模块发送至微服务模块的消息归入相应的消息队列以使每秒对所述数据库模块的数据访问次数小于等于预定值。
65.消息队列模块集群由多个消息队列模块组成,具体地,每个消息队列模块采用的
是mq消息队列,mq消息队列集群监听是否发出消息的访问请求,将要传输的数据放到队列中,通过判断每秒对所述数据库模块的数据访问次数小于等于预定值,下一级层能很快得到响应而去执行一些其他步骤,mq集群的机制又能保证最终的一致性,使用起来安全稳定。
66.在本实施方式中,数据库模块集群的建立步骤包括:
67.将数据库根据每个微服务模块的服务功能垂直拆分成多个数据库模块,再根据预设规则将所述多个数据库模块水平拆分成更多个数据库模块,获得的每个数据库模块的职能单一;采用数据库中间件统一管理所述每个数据库模块,获得所述数据库模块集群。
68.在一种具体实施方式中,高并发的项目对数据库设计要求很高,往往一个单数据库是不能支撑一个高吞吐量项目的,因此采用的是水平和垂直联合拆分的方法,首先根据每个微服务模块的服务功能垂直拆分成多个数据库模块,再根据预设规则,如业务、类型等特征将所述多个数据库模块水平拆分成更多个数据库模块,经过两次拆分后获得的多个数据库模块所执行的功能单一,便于查询与管理。然后利用mycat数据库中间件把多个数据库统一管理起来,得到数据库之间的集群,在分布式微服务结构下实现数据库的统一管理。
69.在一种具体实施方式中,本发明的智能运营数据管理装置还包括其他模块,智能运营数据管理装置的分布式微服务结构是通过springboot来完成每一个模块的搭建,spring boot提供了一套简单易懂、易部署和易维护的分布式结构开发工具包。spring cloud使每个服务模块关联起来,如注册中心、配置中心、服务网关、容错限流、调用链监控、日志监控、健康检查与警告等模块之间关联并实现协调运作。
70.所有微服务模块都注册到注册中心,注册中心用于微服务模块注册与提供微服务模块的信息,当其他模块要调用相应的微服务模块时,只需要获取注册中心相应的模块地址即可完成调用,实现各个微服务模块之间的相互调用。
71.并且,配置中心对微服务模块的功能等进行预先配置,传统的静态配置方式如果要修改某个配置,只能修改之后重新发布应用。要实现动态配置,选择数据库通过定时轮询访问数据库来感知配置的变化。轮询频率越低,感知配置变化的延时就越长,轮询频率越高,感知配置变化的延时就越短,但考虑到损耗性能,需要在实时性和性能之间做折中。配置中心专门针对这个业务场景,兼顾实时性和一致性来管理动态配置。可选择的配置中心实现方式目前有spring cloud config、apollo、nacos配置中心。本发明选择在nacos基础上完善搭建配置中心。
72.服务网关包括路由转发和过滤器,当客户端发出请求,接收一切客户端的请求后,转发至后端模块,所有请求都要经过服务网关进行过滤,进行安全验证,认证成功后调用相应的微服务模块的服务功能。
73.分布式微服务结构的限流容错机制是保证微服务架构运行的不可或缺的一个模块,如用户请求在检查与警告时会有爆发式的网络流量涌入,如果没有有效的网络流量限制,任由流量压到后台服务,很有可能造成资源耗尽,服务无法响应,甚至导致严重的应用崩溃。本发明通过hystrix来实现限流容错。
74.服务调用链路跟踪一个用户的请求过程,包括数据采集、数据传输、数据存储、数据分析和数据可视化,能够构建用户交互背后的整个调用链视图,快速定位出现问题的模块。本发明采用zipkin完成调用链监控服务。
75.目前的项目中,对于日志监控采用的是logback配置,每个微服务模块的日志,都
是通过file的方式存储在部署的机器上,但是由于日志比较分散,想要检查各个微服务是否有报错信息,需要依次排查每个服务模块,效率低。本发明采用elk来完善日志监控通过对日志进行聚合后监控,能够快速找到各个微服务的报错信息,快速排查。
76.随着运行的微服务数量的增加,主动监控微服务的实际运行状况变得更加重要。springbootadmin用于管理和监控springboot微服务,可以使用客户端注册或者eureka服务发现向服务端提供监控信息。
77.此外在具体实施中,传统运营数据管理发布往往采用人工来完成,工作量大,耗时耗力,本发明采用git+maven+jenkins+ducker来完成项目的自动化部署,一键完成构建部署,解决了传统部署的弊端。
78.在本发明的具体实施方式中,提供了一种多级缓存流程,如图2所示:
79.s201,nginx模块在接收到客户端的数据读取请求时,在所述第一缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至web模块;
80.s202,web模块在接收到所述数据读取请求时,在所述第二缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至微服务模块;
81.s203,微服务模块接收到所述数据读取请求时,在所述第三缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至数据库模块;
82.s204,数据库模块接收到所述数据读取请求,在所述数据库模块中读取数据,将读取到的数据返回客户端。
83.在具体实施中,直接从服务器内存中读取缓存,在内存中读取数据非常快,不会把所有的数据读取的压力施加到数据库上,最后导致数据库崩溃。因此,本发明从多个层面去进行缓存,客户端发出读取数据请求,在第一缓存子模块、第二缓存子模块和第三缓存子模块中层层进行数据读取,读取到则将数据返回客户端,若未获取则进入下一模块进行读取,若均未读取则在数据库中直接进行读取。
84.具体地,在数据库中读取到的数据,将会存储在缓存模块中,不同的数据根据数据重要程度和缓存模块的内存进行预设分配存储,越重要的数据存储在离客户端越近的缓存模块,即nginx模块。缓存在缓存模块的数据,在客户端下一次请求相同类型数据时,即可在缓存模块直接读取。
85.在本发明的具体实施方式中,如图3所示,所述微服务模块集群130包括:
86.用户中心模块131,用于存储用户账户数据,实现用户自动登录;
87.猫池模块132,用于利用所述用户账户数据中的手机号码进行模拟登录;
88.数据采集模块133,用于在用户登录后爬取实时数据和呼叫数据,并将有效数据备份至相应的数据库模块;
89.数据分析模块134,用于对爬取的数据进行统计和分析,并将分析结果提供给客户端进行展示。
90.在本实施例中,微服务模块集群130提供的分布式微服务跟踪一个用户请求的过程,在用户登录后,依次执行数据采集、数据传输、数据备份、数据分析,最终将可视化数据呈现给客户端。对微服务进行分布式部署,每个模块独立执行任务,同时彼此间又通过网络进行通信协调,提高并发访问能力、减少数据库连接和资源消耗,使不同应用复用共同的服务,使业务易于扩展,分布式部署还可以减轻应用服务器的负载压力,提高访问速度。
91.本实施例以集群模式构建,其中,每个集群内有多个子模块,将大的单体任务分为小的模块,解决了巨大单体的复杂性问题。集群结构使得整个装置结构的扩展更加容易,有利于业务发展,并且分布式微服务结构的构建使得系统间耦合度大大降低,可以独立开发部署,不同服务模块独立运行,出现故障易排查,开发效率大大提高,nginx模块集群实现负载均衡,各个模块协作实现高并发、高吞吐量。
92.实施例2
93.本发明实施例提供一种智能运营数据管理方法,如图4所示,智能运营数据管理方法的步骤包括:
94.s401,利用各个nginx模块均衡地从多个客户端接收数据交互请求;
95.s402,利用各个web模块接收相应nginx模块的数据交互请求,提供相应的微服务交互界面;
96.s403,利用各个微服务模块根据从所述微服务交互界面获取的指令提供相应的微服务;
97.s404,利用各个数据库模块为相应的微服务提供分类数据存储。
98.在本发明的具体实施方式中提供一种多级缓存方法,各个nginx模块包括第一缓存子模块,各个web模块包括第二缓存子模块,各个微服务模块包括第三缓存子模块;
99.在接收到客户端的数据读取请求时,在所述第一缓存子模块中读取数据,若读取到数据,则将数据返回客户端,否则,在所述第二缓存子模块中读取数据;
100.在所述第二缓存子模块中若读取到数据,则将数据返回客户端,否则,在所述第三缓存子模块中读取数据;
101.在所述第三缓存子模块中若读取到数据,则将数据返回客户端,否则,将所述数据读取请求发送至数据库模块,在数据库模块中读取数据,将读取到的数据返回客户端。
102.并且,本发明提供了一种计算机系统,所述计算机系统包括通过网络连接的多个计算机设备,各个计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行根据所述的智能运营数据管理方法。
103.本发明还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行根据所述的智能运营数据管理方法。
104.上述本申请实施例提供的一种计算机设备及计算机可读存储介质,可以提供高并发、高吞吐量、低耦合、高效率的智能运营数据管理。以集群模式构建,其中,每个集群内有多个子模块,集群结构使得整个装置结构的扩展更加容易,有利于业务发展,并且分布式微服务结构的构建使得系统间耦合度大大降低,可以独立开发部署,不同服务模块独立运行,出现故障易排查,开发效率大大提高,nginx模块集群实现负载均衡,各个模块协作实现高并发、高吞吐量。所提供的计算机设备及计算机可读存储介质的具体实施过程,可以参见上述智能运营数据管理方法的具体实施过程,在此不再一一赘述。
105.在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的
可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
106.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
107.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
108.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1