一种基于微服务的数据分析系统及方法

未命名 08-15 阅读:112 评论:0


1.本发明涉及数据处理技术领域,特别是涉及一种基于微服务的数据分析系统及方法。


背景技术:

2.随着互联网技术的不断发展,网站在人们日常生活中的应用越来越广泛。用户对网站的大量使用带来广泛的数据,对这些数据进行统计、分析以得到相应规律、进行商业化应用或改善用户体验是十分有必要的。现有的网站用户行为数据采集和分析技术,通常采用单体式应用架构,将不同类型的用户行为、日志数据分别存储在不同的数据表中,根据业务需求直接查询表中数据进行汇总和分析。单体式应用,日志独立存放在数据库中,所有统计分析功能集成在同一个项目中,应用与数据独立部署。当出现分析瓶颈时,一般通过部署应用和数据库集群来解决。因此,现有技术存在以下缺点:1.数据表之间依赖关系复杂、耦合度高。随着业务规则的增加,需要关联的数据表规模也会随之增加,数据量显著增大,处理逻辑复杂度高,查询效率极低;2.集中化的业务逻辑,可靠性差,无法屏蔽业务变动带来的影响,数据清洗规则混乱,业务逻辑无法复用;3.数据膨胀后,导致计算资源紧张,计算速度和结果得不到保障。


技术实现要素:

3.有鉴于此,本发明提供一种基于微服务的数据分析系统及方法,以解决现有技术中单体式应用架构存在的诸多问题。
4.一种基于微服务的数据分析系统,包括信息展示层、系统服务层和数据库层;所述信息展示层用于人机交互,设置所述系统服务层的触发分析规则和业务分析规则;所述系统服务层包括服务中心和多个微服务,所述服务中心与所述信息展示层相连接,向所述微服务提供服务接口发现、注册、调度、负载均衡和监控功能中的至少一种,所述微服务用于数据分析,多个所述微服务分别具有不同的数据分析功能;所述数据库层用于存储基础数据和所述微服务的分析数据,所述基础数据与所述分析数据互相独立存储。
5.可选的,所述触发分析规则包括以下二者中的至少一种:用户行为累积数量设有阈值,达到阈值后微服务启动进行分析;用户行为累积时长设有阈值,达到阈值后微服务启动进行分析。
6.可选的,所述服务中心包括配置中心,所述配置中心与所述微服务相连接,用于启动所述微服务。
7.可选的,所述配置中心包括用户行为计数器,所述用户行为计数器用于统计用户行为数量数据和用户行为时长数据。
8.可选的,所述数据库层包括用户基础信息数据库、网站资源元数据库、用户行为数据库、分片或分层数据库和配置中心数据库。
9.可选的,所述用户基础信息数据库用于存储用户的基础信息数据,包括用户身份信息、帐号信息、ip地址信息中的至少一种;所述网站资源元数据库用于存储网站提供的资源数据,包括文本资源、音频资源、视频资源、图片资源中的至少一种;所述用户行为数据库用于存储用户使用网站资源的行为数据,包括用户浏览行为、用户下载行为、用户意见反馈行为中的至少一种,所述行为数据包括用户使用网站资源的次数、发生时间、持续时间中的至少一种;所述分片或分层数据库用于存储所述微服务按照业务分析规则完成分析后的分析数据;所述配置中心数据库用于存储触发分析规则和业务分析规则。
10.可选的,所述微服务包括用户基础信息画像微服务、用户浏览行为分析微服务、用户下载行为分析微服务、用户意见反馈分析微服务、用户偏好分析微服务、用户画像微服务和管理服务。
11.可选的,所述用户基础信息画像微服务读取用户基础信息数据库中的数据并进行分析,分析结果存储于所述分片或分层数据库;所述用户浏览行为分析微服务、所述用户下载行为分析微服务、所述用户意见反馈分析微服务读取所述网站资源元数据库和所述用户行为数据库中的数据并进行分析,分析结果存储于所述分片或分层数据库。
12.本发明还提供一种基于微服务的数据分析方法,包括以下步骤:获取并配置微服务的触发分析规则和业务分析规则,触发分析规则包括基于用户行为数量累积和用户行为时长累积中的至少一种;用户行为发生,数据产生并被存储于数据库层;通过用户行为计数器对用户行为的数量和时长进行统计,当用户行为数据达到触发分析规则设定的阈值后,微服务启动,根据业务分析规则执行用户行为数据的分析,形成分析数据;分析数据独立存储于数据库层。
13.一种基于微服务的数据分析方法,可选的还包括以下步骤,配置多组微服务的触发分析规则和业务分析规则,获得多组分析数据;多组分析数据互相独立的存储于数据库层;从数据库层调取多组分析数据,完成总量数据的分析。
14.本发明的有益效果是,借助于微服务化架构,能够清晰确定各个分析业务的边界和数据结构,自然实现数据分层。每个数据分层有自己独立的作用域,从而简化了分析的复杂度,提高了微服务的重用性和可维护性。可灵活配置分析规则,通过引入分布式的配置中心,在配置中心中可以为每个微服务配置基于数据量累积或时间段累积的触发模式,达到阈值时,自动触发相关的分析服务,从而快速形成增量分析数据并存入分片或分层数据库。渐进式的数据分片或分层逻辑,很方便地为更进一步的分析需求提供聚合后的增量业务数据,极大地简化了分析的复杂度,提升了数据分析的稳定性和效率。
附图说明
15.图1是本发明一种基于微服务的数据分析系统的系统架构示意图;图2是本发明一种基于微服务的数据分析系统的交互流程示意图。
具体实施方式
16.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
17.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
18.微服务架构(microservices architecture)是一种架构风格和设计模式,其开发方式是将应用分解为一组可独立部署、小型化、模块化的微服务,每个微服务运行于独立的进程中,微服务之间边界清晰,采用轻量级通信机制进行交互,通过版本化的api(application programming interface,应用程序编程接口)和数据存储来服务于特定的商业目标。
19.本发明提供一种基于微服务的数据分析系统及方法,引入微服务化理念和可配置的触发分析规则,把原来“单体式、集中化”的数据分析工作分解为微服务化、可配置、渐进式的服务方式。
20.由图1-图2可知,一种基于微服务的数据分析系统,总体上可分为三层:包括信息展示层、系统服务层和数据库层:信息展示层是人机交互的界面,具有展示信息、接受用户指令的功能;信息展示层的使用终端不限,可以是电脑端、移动端;信息展示层包括两个功能模块,分别是系统管理站点和用户画像站点。
21.用户在系统管理站点可以完成系统设置和数据分析规则的设置,系统设置包括网络设置、界面ui设置、显示设置、通知设置、安全设置等;数据分析规则,即用户使用本系统完成数据分析的具体规则,包括触发分析规则和业务分析规则,用户根据实际分析业务的需要,可以自主设置触发分析规则和业务分析规则,规则被设定后系统即按照用户指令完成数据分析的工作并进行存储、展示。
22.用户画像站点用于展示系统分析之后生成的分析数据信息,例如用户最喜欢的栏目、用户最关心的产品、用户产品故障预测情况等。更具体的,用户最喜欢的栏目,可以按照不同栏目的点赞量、或收藏量、或累计观看时长、或累计评论数量等参数设置分析规则,进而得到分析结果。
23.系统服务层是系统进行数据分析的场所,不同于传统的单体式分析架构,本实施例提供的数据服务层采用微服务化的架构,包括服务中心和微服务两大模块。
24.服务中心包括服务注册调度中心和配置中心,服务注册调度中心与微服务连接,
用于向微服务提供服务接口的发现、注册、调度、负载均衡和监控等功能;配置中心分别与微服务与信息展示层相连接,配置中心获取到用户设定的触发分析规则、业务分析规则和系统参数后,完成对系统的配置更改,并控制微服务的启动,完成数据分析工作。
25.微服务设置有多个,不同的微服务具有不同的数据分析功能,是根据具体的数据分析业务需求、按照业务能力分别独立设置的;不同的微服务之间通过http协议进行通信和协同,由于不同微服务之间是相互独立的,因此需要增加数据分析业务时,可以通过新增微服务的方式实现,从而简化了分析的复杂度,提高了微服务的重用性和可维护性。多个微服务通过服务中心与信息展示层相连接,使多个微服务能够有效协同。
26.不同的微服务对应着不同的数据分析业务,在本实施例中,微服务包括了用户基础信息画像微服务、用户浏览行为分析微服务、用户下载行为分析微服务、用户意见反馈分析微服务、用户偏好分析微服务、用户画像微服务和管理服务。应注意的是,微服务不应局限于本实施例提到的这些微服务内容,根据数据分析业务的需要,可以设置其他的微服务。
27.数据库层包括用户基础信息数据库、网站资源元数据库、用户行为数据库、分片或分层数据库和配置中心数据库。
28.用户基础信息数据库、网站资源元数据库、用户行为数据库存储的是本系统的基础数据,具体的,用户基础信息数据库用于存储用户的基础信息数据,包括用户身份信息、帐号信息、ip地址信息等,例如用户的姓名、身份证号、地址、性别、学历、年龄,用户在本系统中的id、密码、头像,用户的ip地址等;网站资源元数据库用于存储网站提供的全部资源数据,包括文本资源、音频资源、视频资源、图片资源等,例如网站提供的视频、音频、图像、文字等的数据包、标题、介绍等;用户行为数据库用于存储用户登录网站并进行操作、使用的行为数据,包括用户浏览行为、下载行为、意见反馈行为等,例如用户浏览、点赞、收藏、关注、下载、留言等的数据,以及这些用户行为的产生时间、持续时间、用户行为次数等数据。
29.分片或分层数据库存储的是微服务完成业务分析后的分析数据;配置中心数据库用于存储用户设定的触发分析规则和业务分析规则指令,以及存储用户设定的系统参数的指令等。
30.微服务完成数据分析工作后,得到的分析数据独立存储于分片或分层数据库,与其他数据库相互独立;因此用户需要获取分析数据时,只需要从分片或分层数据库中快速提取相应信息,避免了对原始海量数据的实时计算,分析效率很高。
31.微服务分析能力的实现,离不开分析规则,分析规则包括触发分析规则和业务分析规则,二者不分先后、同时作用于数据分析系统。具体的,触发分析规则为启动分析的先决条件,即达成该规则后,微服务启动,例如可以是用户点赞量达到500,则启动分析;业务分析规则是分析的具体要求,明确了启用哪个或者哪些微服务的问题,例如(用户点赞量达到500),启动用户浏览分析微服务,完成数据分析。
32.触发分析规则具体为增量分析规则,即对用户的行为数据设置一个阈值,用户行为数据达成该阈值后,则进行具体的微服务分析过程;每当该阈值触发一次,则启动一次分析过程并输出分析数据、存储到分片或分层数据库中。在本实施例中,提供两种触发分析规则:1)对用户行为的累积数量设置阈值,达到该阈值后,微服务启动分析;该规则以用户行为的发生数量为限定条件;
2)对用户行为的累积时长设置阈值,达到该阈值后,微服务启动分析;该规则以用户行为的时间长短为限定条件。
33.为了实现对用户行为的统计,在系统服务层的配置中心设有用户行为计数器,用于统计触发分析规则所要求的相应用户行为数量或者持续时长。
34.在本实施例中,用户基础信息画像微服务读取用户基础信息数据库中的数据,分析用户的基础信息,并形成分类统计数据等内容的分析数据,并存储到分片或分层数据库中;用户浏览行为分析微服务、用户下载行为分析微服务和用户意见反馈分析微服务分析读取网站资源元数据库和用户行为数据库中的数据并进行分析,分析用户的浏览数据、下载数据和意见反馈数据,分析结果也存储于分片或分层数据库中。
35.触发分析规则中设定阈值后,微服务启动和分析是渐进式的;举例来说,分析规则设定为“用户收藏该产品达到500次,启动对用户基础信息画像的分析”,则该产品被收藏次数达到500次后,系统中的用户基础信息画像微服务启动,分析500次收藏对应的用户的基础信息,并将分析结果存储于分片或分层数据库;当该产品被收藏次数达到1000次后,微服务再次启动,将第二个500次收藏对应的用户的基础信息进行分析并存储到分片或分层数据库中。由此可见,设定了多个分析规则之后,分片或分层数据库中存在大量的微服务分析数据,这些分析数据可以直接通过信息展示层被用户读取,也可以作为数据源,通过用户偏好微服务或者用户画像微服务等进行二次分析,再通过信息展示层提供给用户。
36.应当理解,在触发分析规则并未达成时,系统持续的收集并记录、存储着用户行为产生的数据,只是这些数据按照其分类分别存储在不同的基础数据库中。举例来说,用户使用本系统,每一次浏览、点赞、上传、下载等行为产生后,该用户的基础信息存储于用户基础信息数据库,用户的多个操作行为数据存储于用户行为数据库中,用户上传的图片存储在网站资源源数据库中,这些数据分别被妥善保存,只是由于未达成触发分析规则尚未被分析。
37.用户使用本实施例提供的数据分析系统进行数据分析的具体方法为:管理员根据数据分析业务的需要,设定微服务的触发分析规则和业务分析规则;如前所述,触发分析规则具体为增量分析规则,包括基于用户行为数量累计、用户行为持续时长累计等;应注意的是,本实施例提供的两种触发分析规则仅为示例,其他具有增量性质的分析规则,也应试做本实施例所提供的触发分析规则的保护范围,分析规则设定完毕后,被存储于配置中心数据库中,等待生效;多个用户持续使用本系统或者单个用户多次重复使用奔系统,产生大量的用户数据,用户数据根据其性质被分类存储于数据库层中的基础数据库中。用户行为计数器持续地对用户行为的数量和时长进行统计,当统计值达到触发分析规则的阈值后,根据业务分析规则启动相应的微服务并完成数据分析工作,形成的分析数据,被独立的存储于数据库层中的分片或分层数据库中。
38.当系统设定有多组分析规则后,相应的微服务启动并形成多组分析数据,多组分析数据可以统称为总量数据,不同的分析数据分别独立的存储于分片或分层数据库中。
39.当用户需要对总量数据进行分析、获得相应结论时,可以直接调取分片或分层数据库中的分析数据进行查看或处理。当用户需要对微服务提供的总量数据进行再次分析时,也可以从分片或分层数据库中调取数据,使用微服务进行再次分析。
40.本发明借助于微服务化架构,按照数据分析需求和微服务业务能力配置多个微服务,每一个服务只实现一组独立的数据分析功能,负担着不同数据分析功能的多个微服务相互独立运行,通过http协议进行通信和协同,从而实现了微服务的独立部署和平滑拓展;能够清晰地确定业务能力的边界和数据结构,自然地实现数据分层。每个数据分层有自己独立的作用域,从而简化了分析的复杂度,提高了微服务的重用性和可维护性。在配置中心可以灵活设置分析规则,配置中心采用分布式架构,可以为每个微服务配置基于用户行为数据量累积或用户行为时长累积的分析触发模式,达到触发分析规则设定的阈值时,则自动触发相关的分析服务,从而快速形成增量分析数据。采用基于数据累积的渐进式数据分片或分层逻辑,直接为上层的业务微服务提供聚合后的增量业务数据,从而极大地减少重复计算量,有效提升数据分析的稳定性和效率。
41.在本技术所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
42.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
43.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
44.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
45.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。

技术特征:
1.一种基于微服务的数据分析系统,其特征在于,包括信息展示层、系统服务层和数据库层,所述信息展示层用于人机交互,设置所述系统服务层的触发分析规则和业务分析规则;所述系统服务层包括服务中心和多个微服务,所述服务中心与所述信息展示层相连接,向所述微服务提供服务接口发现、注册、调度、负载均衡和监控功能中的至少一种,所述微服务用于数据分析,多个所述微服务分别具有不同的数据分析功能;所述数据库层用于存储基础数据和所述微服务的分析数据,所述基础数据与所述分析数据互相独立存储。2.根据权利要求1所述的一种基于微服务的数据分析系统,其特征在于,所述触发分析规则包括以下二者中的至少一种:用户行为累积数量设有阈值,达到阈值后微服务启动进行分析;用户行为累积时长设有阈值,达到阈值后微服务启动进行分析。3.根据权利要求1所述的一种基于微服务的数据分析系统,其特征在于,所述服务中心包括配置中心,所述配置中心与所述微服务相连接,用于启动所述微服务。4.根据权利要求3所述的一种基于微服务的数据分析系统,其特征在于,所述配置中心包括用户行为计数器,所述用户行为计数器用于统计用户行为数量数据和用户行为时长数据。5.根据权利要求1所述的一种基于微服务的数据分析系统,其特征在于,所述数据库层包括用户基础信息数据库、网站资源元数据库、用户行为数据库、分片或分层数据库和配置中心数据库。6.根据权利要求5所述的一种基于微服务的数据分析系统,其特征在于,所述用户基础信息数据库用于存储用户的基础信息数据,包括用户身份信息、帐号信息、ip地址信息中的至少一种;所述网站资源元数据库用于存储网站提供的资源数据,包括文本资源、音频资源、视频资源、图片资源中的至少一种;所述用户行为数据库用于存储用户使用网站资源的行为数据,包括用户浏览行为、用户下载行为、用户意见反馈行为中的至少一种,所述行为数据包括用户使用网站资源的次数、发生时间、持续时间中的至少一种;所述分片或分层数据库用于存储所述微服务按照业务分析规则完成分析后的分析数据;所述配置中心数据库用于存储触发分析规则和业务分析规则。7.根据权利要求6所述的一种基于微服务的数据分析系统,其特征在于,所述微服务包括用户基础信息画像微服务、用户浏览行为分析微服务、用户下载行为分析微服务、用户意见反馈分析微服务、用户偏好分析微服务、用户画像微服务和管理服务。8.根据权利要求7所述的一种基于微服务的数据分析系统,其特征在于,所述用户基础信息画像微服务读取用户基础信息数据库中的数据并进行分析,分析结果存储于所述分片或分层数据库;所述用户浏览行为分析微服务、所述用户下载行为分析微服务、所述用户意见反馈分
析微服务读取所述网站资源元数据库和所述用户行为数据库中的数据并进行分析,分析结果存储于所述分片或分层数据库。9.一种基于微服务的数据分析方法,基于权利要求1-8任意一项所述的一种基于微服务的数据分析系统实现,其特征在于,包括以下步骤:获取并配置微服务的触发分析规则和业务分析规则;用户行为发生,数据产生并被存储于数据库层;通过用户行为计数器对用户行为的数量和时长进行统计,当用户行为数据达到触发分析规则设定的阈值后,微服务启动,根据业务分析规则执行用户行为数据的分析,形成分析数据;分析数据独立存储于数据库层。10.根据权利要求9所述的一种基于微服务的数据分析方法,其特征在于,还包括以下步骤:配置多组微服务的触发分析规则和业务分析规则,获得多组分析数据;多组分析数据互相独立的存储于数据库层;从数据库层调取多组分析数据,完成总量数据的分析。

技术总结
本发明提供一种基于微服务的数据分析系统及方法,涉及数据处理技术领域,包括信息展示层、系统服务层和数据库层,信息展示层用于人机交互,设置触发分析规则和业务分析规则;系统服务层包括服务中心和多个微服务,多个微服务分别具有不同的业务分析功能;数据库层用于存储基础数据和微服务的分析数据,基础数据与分析数据互相独立存储。通过灵活配置触发分析规则和业务分析规则,多个微服务互相协同,能够快速形成分析数据并分片或分层存入数据库,极大的减少了重复计算量,在进一步分析时便于调取分析数据,极大地简化了分析的复杂度,提升了数据分析的稳定性和效率。提升了数据分析的稳定性和效率。提升了数据分析的稳定性和效率。


技术研发人员:何春 刘玉洁 张文惠
受保护的技术使用者:电子科技大学成都学院
技术研发日:2023.06.08
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐