Giter Club home page Giter Club logo

sessionanalytics's Introduction

SessionAnalytics-用户路径数据分析挖掘框架

导语

SessionAnalytics是一个基于互联网用户Session会话的用户路径分析和挖掘框架,综合利用OLAP、数据挖掘、数据可视化等前沿技术,在互联网业务的用户流量和路径分析中,为产品、运营、商业化等企业数据用户提供强大和友好的数据洞察功能。在数据治理、数据分析、数据挖掘等场景,大幅提升数据科学家和工程师的工作效率。

image

感谢项目核心成员Eric、小白、大林子、赐彬在需求分析、产品设计、挖掘算法、系统开发等关键环节的深度技术探索和优化。

感谢数据科学家yanhuiru33、BigPlato、jihl97提供宝贵的算法和模型优化建议。

项目特点一:覆盖挖掘、治理、洞察的全链路

智能数据挖掘:

支持Kmeans、DTW、中心性分析等多种机器学习算法,为用户提供一站式建模及可视化体验,适用于多种业务场景,助力用户挖掘数据价值;

标准数据治理:

实现了数据治理方法论和产品功能的结合,自动进行数据质量校验,解决原始数据脏、乱、差的问题,助力用户沉淀高质量的数据资产;

丰富的可视化:

深度定制和优化桑基图、漏斗图、和弦图、树状图等多种可视化图表,灵活应对各种分析场景;

项目特点二:灵活高效的交互和操作

一站式数据操作:

打通了数据上传、数据处理、数据建模、数据分析全链路,提供全能型数据分析解决方案,轻松应对复杂的用户路径全链路分析需求;

多样化数据交互:

支持路径层级、路径节点、Session数量等多种维度,用户可自主筛选,探索式分析数据;

多种数据源连接:

支持MySQL、Clickhouse等多种数据源,打通数据孤岛,保障数据查询效率,让更多数据应用于数据分析和数据管控;

项目特点三:优化的计算和查询性能

查询高性能:

数据库设计采用了读写分离、分库分表和冷热分离的方式,并引入了多级缓存架构;同时支持多种数据引擎,实现亿级数据毫秒级响应;

系统高可用:

基础设施层采用了多IDC+异地多活部署方式;同时针对服务治理,设计了超时、熔断、降级、限流等措施,能在最大程度上保障系统可用性;

支持高并发:

采用分布式架构设计,并在应用层引入多线程和异步操作方式,保证系统高并发调用;

框架整体架构:

db29ac61-55f4-4f03-968a-b8e021662fbd

用户路径分析框架模块功能:

e2e96b06-1399-4481-bd2d-960348dc4e45

用户行为分析:Event(事件) vs Session(会话)

image

接口设计:

image

环境

1.环境配置

安装相关的所需环境

node 14+
java 8
mysql5.7 

2.获取源码

使用git工具获取源代码。

git clone https://github.com/Tencent/SessionAnalytics.git

3.编译及运行

#react
npm i 
npm run dev
npm run build

#java
#后端数据库建表:
sql:script/session.sql 
#数据库信息添加:
application.yml #本地开发环境   
application_prod.yml #正式环境   
application_test.yml #测试环境

4.上传文件模板

存放位置:
/SessionAnalytics/UserPathFront/public/

5.补充

1.[中文demo文件](https://github.com/Tencent/SessionAnalytics/blob/main/UserPathFront/public/%E4%BF%A1%E6%81%AF%E6%B5%81.csv)存放于 /SessionAnalytics/UserPathFront/public/信息流.csv,按相关模板上传csv文件,可尝试通过上传信息流demo文件熟悉相关流程
2.上传流程
  (1) 数据上传页面点击上传csv跳转上传页面进行文件上传
  (2) 在数据清洗页面对上传的原始数据集清洗修改,如不需该步骤可忽略
  (3) 在数据切分页面对数据集进行切分,观察数据切分状态,如切分完成,页面可见数据集对应的相关视图
3. 路由权限相关
  (1) 前端路由对应文件路径为 /SessionAnalytics/blob/main/UserPathFront/src/routes/index.jsx,包含所有路由
  (2) 默认显示路由对应[navList](https://github.com/Tencent/SessionAnalytics/blob/main/UserPathFront/src/store/user.js)字段,字段数组对应路由的key值,可进行配置
  (3) 路由权限也提供[role/getRoleInfo](https://github.com/Tencent/SessionAnalytics/blob/main/UserPathFront/src/server/trend.js)接口进行配置,如需可修改相关逻辑,如不需该步骤可忽略

未来规划:

算法提升:

结合chatGPT等LLM大语言模型的推理能力,基于数据治理模块生成的高质量真实数据,应用业界领先的机器学习算法,不断提升系统的智能化程度;

性能优化:

支持多种高性能数据引擎,不断提升数据计算和查询效率;

功能迭代:

引入更多数据挖掘模型和功能模块,不断提升数据科学家、数据工程师等数据用户的工作效率;

sessionanalytics's People

Contributors

ericliuyuan avatar nimuyuhan avatar sessionpath avatar zcb1008 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sessionanalytics's Issues

接口异常

接口:/getSessionCategoryEntity
报405 发送的事get请求,但是接受是JSON。

运行过程中缺少的表补充

Caused by: java.sql.SQLSyntaxErrorException: Table 'session_analytics.intot_session_event_distinct_sankey' doesn't exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.