个人介绍
我是程序员客栈的阿】,一名中级java; 我毕业于南航,担任过南京旭儒的java工程师 负责过短视频舆情管控,重点人预警的开发; 熟练使用Spring Boot、 Mybatis、 Pgstgresql、 Redis、 ElasticSearch、 Neo4j 、citus、WebSocket、Jenkins; 如果我能帮上您的忙,请点击“立即预约”或“发布需求”!
工作经历
2022-02-07 -至今南京旭儒科技有限公司java开发
与当地省级公安进行合作,主要是针对当地一些涉案、涉险人员进行管控,对其重点人员的社会关 系(户籍信 息)、线上(社交媒体抖音、快手、微博、 twitter等)、线下(旅店、车辆、交通等)形成图库, 对这些人员的信息能实 时管控,例如发送不良信息、发布涉案等,都会及时预警,方便网安人员能及时查看
教育经历
2020-09-01 - 2022-09-01南京航空航天大学软件工程本科
技能
二次开发jjjshop,独自用宝塔进行服务管理,项目从0到1的创建 注重后端开发 开发的技术:Spring Boot、 Mybatis、 Pgstgresql、 Redis、 ElasticSearch、 Neo4j 、citus、WebSocket、Jenkins等
项目描述:与当地省级公安进行合作,主要是针对当地一些涉案、涉险人员进行管控,对其重点人员的社会关 系(户籍信 息)、线上(社交媒体抖音、快手、微博、 twitter等)、线下(旅店、车辆、交通等)形成图库, 对这些人员的信息能实 时管控,例如发送不良信息、发布涉案等,都会及时预警,方便网安人员能及时查看 开发的技术:Spring Boot、 Mybatis、 Pgstgresql、 Redis、 ElasticSearch、 Neo4j 、WebSocket等中间 件 项目思路:本项目java层面有俩个单体项目,一个是提供用户查询功能的后台项目,一个是用于和python互 通数据接收的 bcp单体项目,本项目通过对python抓取到的账号、作品、对抖音、快手、微博、小红书、 b站 等平台进行作品预警,匹配 该账号是否与公安提供的重点人员进行匹配,如出现一些负面信息,则对该用户进 行实时监控
本项目java层面有俩个单体项目,一个是关于本地区监控账号下所有视频搜索的后台项目,一个是 用于和 python互通数据接收的bcp单体项目,本项目通过python抓取到的账号,作品数据,对抖音、快手、 微博、小红书、 b站等平台进行作品预警及账号监测,现在同时支持用户提供主页链接及作品链接进行监测 开发的技术:Spring Boot、 Mybatis、 Pgstgresql、 Redis、 ElasticSearch、 Neo4j 、citus、WebSocket、Jenkins等 优化项目: 1. 因为涉及到很多视频平台,日数据量达到上百万级别,为防止突然数据暴增导致项目崩溃,采用了Kafka 我创建多个服务,一个服务只对一个平台数据进入入库操作,当这批数据入库完成后,因匹配流程需耗时较长时间, 为了不积压我们的数据bcp包,影响读取效率,我创建一个topic,把这批数据发送到这个topic就行了,然后创建相应平台 的消费者对其进行消费,但是这样会出现kafka积压的情况,这个时候就可以在消费者中开启多线程,进行消费 2.项目初始阶段并没有考虑到这么多数据的产生,导致我接收项目时,一个表的数据超过亿级,导致只要关联这个表的操 作,变的异常困难,这个时候如果考虑分库的时候已经不切实际,操作周期太长,操作复杂度太大,这个时候,我考虑到使 用citus来进行分区,但是这会出现一个问题,该用什么策略去进行分区,如果分区表太大,会不会影响这个表,因为当执行 语句没有携带分区唯一键,这将导致扫所有分区表,比单表的操作时间更长,这将得不偿失,我考虑到我们项目是时效性较 强的,对于一个月前的数据其实并不关注,那我就按照作品发布时间进行分区,因很多查询都是按照天级别进行查询,那我 就按照天进行分区,一天一个分区表,但是时间长是不是导致很多分区表的创建,这个时候可以写相关定时任务,去删除一 个月前的分区表,保证数据一直维护在一个月最新的数据,这样查询效率从最初20s左右变成了0.5s,查询效率大大提升, 并且因组内人员未对该插件进行使用过,在该业务完成后,我也开展了相应的技术讨论会,组内人员一起学习该插件的使用 3.当我把原来单服务拆解成一个平台一个服务时,发现当更新项目时,更新成本太大,公司还在用supervisor管理项目,要 一个服务一个服务进行更新,并且我们这些服务还在多个服务器中,更新成本太大,这个想到可以用Jenkins进行管理,用 图形画界面的形式更新,操作方便快捷,大大提高我们维护项目的成本