臻峰信息(2018-10-15 - 2024-10-14)

返回

2024年


2024年上半年
基于若依前后端分离版,搭建后台管理系统open in new window。集成第三方登录模块,实现第三方登录功能。
本项目最初的需求是搭建一个后台管理系统,用于管理前面博客中的音乐数据。一开始使用html设计了一个音乐播放器页面,并实现了音乐播放的基本功能,集成到了博客插件中。 后面又使用vue实现了音乐播放器页面。
本项目完全是学习之用,所以又将之前微服务项目中的线上接口管理功能迁移集成到后台管理系统中。并利用切面的方式,在不改动源代码的情况下,实现原项目中权限不能实时刷新的问题解决方案。

2023年


2023年8月
8月10日注册购买域名lingdu.loveopen in new window

购买阿里云服务器,正式搭建自己的个人博客网站空间。 并完成域名备案open in new window网安备案open in new window


2023年6月-7月
项目空闲期整理笔记并搭建了基于vuepress和vuepress2的博客,并部署在Gitee的Gitee Pagesopen in new windowGitHub的Github Pagesopen in new window中。其间了解了一点vue项目相关基础知识。 后续笔记持续整理中。。。


2023年初-2023年5月
参与数据中心项目的升级改造“数据共享服务平台”
基于之前的数据中心项目新增Kafka消息中间件做数据抽取中转,集成Kafka到项目中, 实现了Kafkatopic和group以及用户、权限在线管理。 多数据源在线配置新增读写分离配置和一系列处理逻辑,结合虚拟接口实现自适应读写分离逻辑【虚拟接口本身按照Restful风格设计,基于该风格可自动根据请求方式决定调用读、写数据源】。

kafka

2022年

2021年


2021年-2022年底
参与数据中心项目的二期升级开发
数据中心项目定义为学校的若干独立系统做数据库的抽取同步和数据清洗共享
基于若依微服务版open in new window框架开发
其中涉及到的后端技术有:

SpringBoot框架
SpringCloud框架
Spring Security安全控制【基于若依微服务的安全控制策略做了一些逻辑体验上的调整,比如动态更新用户权限等】
MyBatis持久层框架
Nginx 部署前端项目
Redis 内存数据存储系统
Kafka 消息中间件
Nacos注册中心、配置中心
MySQL数据库、Oracle 数据库【其中MySQL数据库是若依框架默认数据库,Oracle数据库为学校其他项目涉及到的数据库,在数据抽取过程中做镜像库使用】
Spring Boot Admin 服务监控
Sentinel 熔断和降级
SkyWalking 链路追踪
NIFI 数据同步工具
Docker 应用容器部署

主要职责:
1、项目运行环境搭建(包含基础数据库MySQL、注册及配置中心Nacos集群、缓存Redis等)。
2、一期业务单体应用逻辑移植到微服务版本中。
3、数据中心开放接口功能实现
4、第三方系统(看板、大屏等)获取数据中心接口对接
5、系统部署及维护

本项目由我本人自主设计了一套线上快速接口生成的逻辑【其中结合动态切换数据源技术,我认为变相改变了分布式事务的统一事务回滚现状,可替代现有的分布式事务处理方式(当然可能我一个人的思维使得整体逻辑暂时可能还不够完善)。 传统的分布式事务是远程调用其他独立接口通过seata的入口事务注解以及各子接口的事务注解由第三方统一管理事务,而本模块的事务则打破了分布式的壁垒,在一个方法中通过动态切换数据源以及级联调用, 把所有组合接口的事务的创建、提交及回滚,都都统一在了这个方法中】:

整个业务我称之为虚拟接口模块(网络上暂时没有Java在线接口的这个名词,但是也有相似的技术),基于若依微服务新建的一个独立的微服务模块可根据API访问需求横向扩展。
虚拟接口的整个逻辑为:

基于若依微服务的认证授权机制,在系统用户账号绑定一个密钥(出于安全考虑,密钥绑定了IP),这个密钥独立于账号登录,在项目系统模块启动后立即绑定认证信息及密钥到Redis,在本虚拟接口模块启动后立即将数据库中存有的虚拟接口相关SQL存储到Redis。 第三方系统想要调用本项目的接口会:创建账号->设置密钥->绑定IP->通知管理员授权->使用密钥+接口唯一标识访问接口。 虚拟接口的新建结合了若依微服务版中的BeanInvokeUtil工具以及Feign,使得其可灵活配置组合接口,比如在项目中有个业务是:

A服务调用本服务接口推送数据到数据库,推送成功后分发数据给B系统。这个过程中虚拟接口可以完成推送接口、分发接口的组合,并且是事务关联的,组合中的任何一个接口出错所有事务都会回滚,组合接口及事务不受单数据源的限制。

业务逻辑:
安全逻辑:
相关核心代码初版open in new window

根据系统特性设计内外网协同操作逻辑 系统表关系图


2021.3-2021.6
项目名称:调度指挥系统(新增功能)[ddzh]
开发环境:UAP Studio-3.0.1 + Oracle + Tomcat + ISC
技术架构:Spring + Spring MVC + Hibernate + Vue.js
项目描述:
调度指挥系统是学校中一个综合管理系统,集成了学生、学员、教室、餐厅等各方资源的预警和管理功能。
主要职责:
在原有的调度指挥系统基础上新增了"资源调度"功能,具体包括以下模块:
1、调度资源维护:用于管理各类资源,包括添加、修改、占用和删除资源信息。
2、资源申请管理:提供给用户申请所需资源的功能,包括填写申请表单、选择所需资源、设置时间等。
3、审批管理:管理人员可以对资源申请进行审批,包括审核通过或拒绝,并记录审批意见和结果。
4、资源占用情况查询及统计:提供查询功能,用于查看特定资源的占用情况,同时提供统计功能,以便进行资源利用率的分析和评估。
通过新增的功能,调度指挥系统可以更加高效地管理学校内部的各类资源,提升资源的利用效率和管理水平。同时,用户可以方便地申请和查询所需资源, 提升学校资源管理的便利性和透明度。技术架构采用SSH框架和Vue.js前端框架,能够实现系统的稳定性、高效性和良好的用户体验。

2020年


2020.10-2021.2
项目名称:数据中心一期Demo(数据贯通)[sjzx-demo]
开发环境:IDEA + MySQL + Oracle + Git + Maven + JDK
技术架构:Spring Boot + Spring Security + Apache MyBatis + Alibaba Druid + Redis + Vue + Element
项目描述:
数据贯通项目旨在解决学校系统中存在的数据孤岛问题,通过对独立系统如“掌上学院”系统、“宇视速通门”系统、“培训管理”系统等进行数据抽取、推送和实时同步,实现数据的贯通性。
主要职责:
1、学员、学生信息同步与推送:负责将各个系统中的学员和学生信息进行抽取并同步到数据中心,同时推送更新后的信息给其他相关系统,以保证数据的一致性和准确性。
2、学籍照片信息同步及推送:负责抽取学生学籍照片信息,并进行同步和推送,确保各个系统中的学籍照片信息是最新的。
3、学生测温信息抽取及推送:负责从各个系统中抽取学生测温信息,并进行推送,保证测温信息的实时更新和准确性。
4、系统测试部署及同步数据初始化:负责系统的测试环境部署,并进行同步数据的初始化工作,以确保系统的正常运行和数据准备工作的完成。
通过数据贯通项目的实施,学校可以实现不同系统之间数据的无缝对接和共享,提升数据管理效率和准确性。技术架构采用了 Spring Boot、Spring Security、Apache MyBatis、Alibaba Druid、Redis、Vue和Element等先进技术和框架,能够保证系统的高性能、安全性和良好的用户体验。


2020.4-2020.9
项目名称:乐厨项目[lechu]
开发环境: IDEA + MySQL + Git + Maven + JDK
技术架构:AngularJs + BootStrap + Spring + Spring MVC + MyBatis + SpringSecurity + Redis
项目描述: 乐厨 app 是一款美食菜谱, 提供各类家常菜, 早餐,榨汁,烘焙, 制作教程都能在这找到,可以查看 周围附近商品的销售点, 用户可以登录 app 中使用 app 扫描商品二维码,获取积分,兑换现金
主要职责:
1、实现首页轮播图和广告图片的上传功能。
2、完成站内商品搜索功能以及搜索面板的实现,提供快速准确的搜索结果。
3、实现购物车功能,方便用户添加、编辑和删除商品。
4、使用批量方式生成积分二维码,并提供二维码状态的记录和查询功能,便于管理和监控。

2019年


2019.11-2020.4
项目名称:阜阳警民携手问卷调查、阜阳市公安局布控项目[bk]
软件环境: Spring + Spring MVC + MyBatis + Shiro + Ehcache + POI
开发工具: Git + Maven + MySQL + Eclipse
项目描述:

  1. 阜阳警民携手问卷调查主要是对阜阳市的治安情况进行调查
  2. 阜阳市公安局布控项目主要对乘火车的人员信息进行监控
    主要职责:
  3. 调查问卷信息的新增, 以及数据库保存的数据的分析预警
  4. 布控人员信息的新增, 调用上海市公安局布控系统的接口对返回来的布控人员信息进行保存,展示

2019.6-2019.11
项目名称:阜阳市公安局点位巡查系统 APP[pointinspect]
软件环境: Spring + Spring MVC + MyBatis + Shiro + Ehcache + FastDFS
开发工具: Git + Maven + MySQL + Eclipse
项目描述:点位巡查系统主要对公共安全建设的各个流程进行监控,每个点分为建设期和运维期, 建设期主要包括 新建立杆、借杆安装,高空安装,铁塔安装,巡查人员登录 app 对该点的建设情况进行拍照上传,
系统记录该点的完成 分数,上报系统供管理人员查看
主要职责:

  1. 系统的资源权限管理
  2. 建设流程表的增删改查
  3. 点位图片的上传
  4. 点位流程的新建和修改

2018年


2018.11-2019.7
项目名称:北京出版社全媒体数据管理中心[qmt]
开发环境: Eclipse + MySQL + Git + Maven + JDK
技术架构: Spring + Spring MVC + Hibernate + JWT + Redis + Shiro + JSP + JavaScript
项目描述:
为了解决传统媒体平台在工作效率、系统可追溯性和后续扩展性等方面存在的问题,北京出版社全媒体数据管理中心致力于构建高效、稳定、可追溯性强且可扩展能力 丰富的数据化媒体平台。通过数字化平台数据处理和业务执行效率的提升,实现业务处理时间的缩短和成本的节约。
主要职责:

  1. 负责开发系统的资源权限模块,使用Shiro进行认证和授权,利用Redis存储token和用户权限信息,确保系统安全可靠。
  2. 实现用户信息管理模块,包括订购用户、渠道商、商务用户、内容用户等的增删改查功能,并支持导入导出操作,提高用户信息管理的效率。
  3. 开发个人中心模块,实现消息通知功能,让用户及时收到相关信息。
  4. 实现员工信息的增删改查功能,并支持导入导出操作,方便员工信息管理。
  5. 执行功能测试,确保系统的稳定性和功能完备性,并负责项目的部署工作,确保系统能够正常运行。