
业务设计思路
文章平均质量分 81
肥仔哥哥1930
专业、专注、专家
展开
-
达梦数据库Flink CDC方案改进
之前分享了springboot集成flink实现DM数据库同步到ES,当时是一个面试上机题,时间有限,资源有限,我自己之前也没有用过国产达梦数据库,实现的比较粗糙。今天有空,就优化下分享。这个方案就比触发器的省数据库的资源增加的资源就是kafka或redis另外就是触发器方式有记录,当然不用触发器方式也可有记录最近也在分享高软比较,才分享到基于构件的软件工程,这一系列何尝不是构件组合,反正吧关键还是要有思路,有架构思维。希望能帮到大家,有兴趣的可以关注我的个微:码技加油站。原创 2025-03-23 21:45:36 · 1063 阅读 · 0 评论 -
springboot集成flink实现DM数据库同步到ES
今天分享的其实是一个面试上机方案,就是监测DM数据库数据,同步到ES,使用flink实现。基本套路,其实也没啥好说的,非要说也就是,国家队还是很多不跟你玩啊,虽然flink有阿里在背后,但是确实也没有带DM玩。也许是DM不配合,万一真有互联网公司带着玩,政府部门估计不敢用了,哈哈。我这里是使用的DBeaver连接DM数据库的,自己建的驱动,以前有分享怎么建,这里就不细说。看效果检查数据也是使用DBeaver连接的ES,ES要证书什么的,这里也是使用建驱动连接,跟DM一样的。自建驱动连接DM、ESES免原创 2025-03-15 19:31:28 · 952 阅读 · 0 评论 -
导入导出带下拉框模版(EasyExcel)
EasyExcel阿里系的还是挺强,目前我们的微服务也是阿里系的(其实我个人不太喜欢阿里系的微服务)导出可以使用模版,这里横向、纵向都是动态,感觉太麻烦,还不如编码其实主要一点还是要自己有大致的思路,自己要敢想还是那句话,思路很重要,就分享到这里,希望能帮到大家!uping!原创 2024-06-12 10:20:07 · 2234 阅读 · 2 评论 -
基于redisson实现发布订阅(多服务间用避坑)
介绍的文字我都懒得写,其实要我写详细,我也是google,下面直接贴图吧介绍的挺详细的吧,下面还有代码示例哦,不得不说这个GPT插件挺好用的。其实简单理解就一句话:它就是redis的java客户端,做了一层封装。基于redisson实现信息发布订阅就是这么简单几下一定注意publish、addListener不要直接用业务对象(尤其是不在一个服务里,毕竟谁也不能保证对象名一样,也不能保证包路径一样),回归信息的本质用字符串靠谱如果是复杂的信息传递机制,还是用专业的信息中间件。原创 2023-12-08 16:43:58 · 4249 阅读 · 0 评论 -
多叉树+图实现简单业务流程
使用思路也特别简单,实际就是将配置任务时只选择了节点上级任务的所有任务构成一个多叉树,然后跟这个树每个节点设置唯一编号,然后转化为图,计算最长路径作为事件的预计完成时间,最后就是各个任务节点的流转了.这次遇到一个需求,大致就是任务组织成方案,方案组织成预案,预案可裁剪调整.预案关联事件等级配置,告警触发预案产生事件.然后任务执行是有先后的,也就是有流程概念.方案管理、预案管理构成任务流程的基础条件,告警信息关联预案配置构成事件,也就是流程启动的入口信息.原创 2023-09-28 14:01:33 · 675 阅读 · 0 评论 -
数据变化监听实现
现在是纯分享,感觉比传统监听简单觉得可以搞事情,不过暂时还没有遇到这样的业务,先记录下,留个思路印象希望可以帮到大家,uping!原创 2023-08-31 14:22:44 · 402 阅读 · 0 评论 -
导出文件下载进度条简单实现
简单的实现进度条,用在数据需要长时间一条条生成时,看进度条特别明显轮询其实也可以用websocket替代(这样可以离开页面做其他操作,当然这样也是可以的,就是轮询要做到全局请求了,业务模块多的下载的时候前后端都压力变大)这里其实还用到了easypoi的模板导出,大家可以自己看看api就写到这里,希望能帮到大家,uping!原创 2023-07-31 10:33:24 · 1369 阅读 · 0 评论 -
记录业务操作日志实现
自定义操作业务日志就这么简单业务操作记录到变更字段避免不了跟业务耦合其实还有一种方法是跟每张表建一张影子表,带版本号,通过版本找历史好,就写到这里,希望可以帮到大家,uping!原创 2023-06-02 12:04:40 · 704 阅读 · 0 评论 -
字典翻译EasyTrans简单使用分享
所谓的字典翻译其实简单理解就是一些不常更新的有键值对属性的数据转换。片面点理解就是一些下拉框、枚举值等等。字典翻译简单实用场景支持多,扩展强希望能帮到大家,uping。原创 2023-05-15 10:17:13 · 2480 阅读 · 0 评论 -
基于缓存的统一请求日志实现
- preHandle、postHandle处理 - pre里处理将请求日志(校验不通过也记录),统一请求标识作为key放redis缓存 - 统一请求标识想办法塞入请求参数 - 具体执行Controller分方法,从请求参数拿到日志,补充业务日志 - postHandle做出参记录处理(需要重写Response,懒得写,我这里就直接用的spring提供的ResponseBodyAdvice处理的,自定义一个实现它就行) - 开启线程异步去记录日志原创 2023-03-25 10:50:09 · 862 阅读 · 0 评论 -
一个基于缓存的业务链路日志记录设计方案
一个简单的全接口日志设计文档,先分享设计文档,后面分享核心设计代码。原创 2023-03-24 11:37:26 · 926 阅读 · 0 评论 -
物联网平台+业务平台基本架构设计与优化想法
为客户提供可视化的平台(数据价值依托我们的业务平台展现),客户根据自身品牌定位、业务领域,通过我们的物联平台选择物联设备整合数据,依托我们的物联平台在业务平台端打通上下行,通过规则引擎、计量计费等等将业务信息化、差异化、细分,让数据起飞,帮助客户实现信息化价值。原创 2023-02-02 17:38:15 · 1725 阅读 · 0 评论 -
组合OSS服务实现打包业务文件zip下载
实现文件打包成zip下载,支持zip包含目录、文件。废话不多说,直接上码。oss实现这里就不多说了,这里实际上还是涉及到一些契约编程。impl实现方法exportEventImgs方法实际上就是根据选中的id,查询文件的事件、相册名称,事件名称作为目录、相册下的照片作为文件名称。FileExt扩展对象ExportUtil工具类ZipFileUtil工具类原创 2022-12-26 11:27:33 · 1146 阅读 · 0 评论 -
实现常规厂家&品牌&型号业务对接物联网平台(snack3加json赋能)
设计思路还是很重要的,我这个支持多型号,实际在上次就计划了,早就留好了扩展的口子snack3确实挺好用常规的设备厂家、品牌、型号 + snack3跟物模型json赋能,真的是对接物模型平台so easy。要支持多版本,相信大家也知道怎么处理了。好,就写到这里,UPing!原创 2022-11-14 14:53:35 · 1041 阅读 · 0 评论 -
300万数据导入导出优化方案,从80s优化到8s(实测)
附上GitHub地址:https://github.com/alibaba/easyexcelGitHub地址上教程和说明很详细,并且附带有读和写的demo代码,这里对它的介绍我就不再详细说了。至于EasyExcel底层怎么实现的这个还有待研究。转载 2022-10-28 10:09:34 · 1772 阅读 · 1 评论 -
契约编程与反射组合
妖不妖术的不知道,反正这样处理确实比正常思路省资源不得不说再绝妙的思路都得基础支持,要是这里没有反射支持,那得多费劲最近又有段时间没有写了,确实是停下来的时间少了,不能静静的思考。就写到这里,希望能启发到大家,uping。原创 2022-09-25 10:17:08 · 375 阅读 · 0 评论 -
抓包工具哪家强(暴力窃取前戏)
抓包工具哪家强?还得Burp,干坏事的前戏。。。。。。原创 2022-07-13 20:39:03 · 1467 阅读 · 0 评论 -
谁再用Redis过期监听实现关闭订单,立马滚蛋!
前言 在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作,细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内;那他们是怎么实现的呢?一般实现的方法有几种:有一些方案虽然广为流传但存在着致命缺陷,不要用来实现延时任务 在 Redis 官方手册的keyspace-notifications: timing-of-expired-events中明确指出: redis 自动过期的实现方式是:定时任务离线扫描转载 2022-06-27 14:05:01 · 520 阅读 · 0 评论 -
分布式场景业务操作日志实现(基于redis轻量)
序今天没有空详细写,就说说现在的需求场景,就是希望插入业务操作日志,springCloud环境。然后,基于我实现的结果,还是说一句,设计没有公式,就是基础、特性的串联。一、设计思路经过分析,以及找其他组同事取经,大致的设计思路就分未3类,如下:1、基于切面AOP2、基于事件,EventBus或SpringBus3、基于消息中间件二、取舍历程1.基于切面(舍)因为是springCloud分布式场景,如果用切面,那么就有2个方案:A、每个服务自己切面处理这样处理我想大家都不愿意,这就意味原创 2022-04-20 10:28:30 · 921 阅读 · 0 评论 -
欠的债总要有人替你还
日复一日、年复一年。铁打的营盘流水的兵,团队欠的债,最终总会有人需要还。。。。。。原创 2022-03-29 19:58:30 · 1508 阅读 · 1 评论 -
化被动为主动,周期任我控
自动任务+多线程,我为什么放弃了你。。。。。。原创 2022-03-25 21:14:26 · 1400 阅读 · 0 评论 -
多线程Future模式使用
序上次分享了多线程与自动任务的风花雪月悲惨结局,今天借此继续分享下多线程带返回结果的基本讨论与实现。一、使用场景一个业务方法可能执行时间很长,而我们也不急着摇返回结果,那么就可以用多线程去开启一个子线程执行这个业务方法,同时,子线程可以返回这个业务方法的返回结果,那这是什么模式呢?二、关于Future1.什么是Future模式Future模式是多线程开发中非常常见的一种设计模式。它的核心思想是异步调用。当我们需要调用一个函数方法时。如果这个函数执行很慢,那么我们就要进行等待。但有时候,我们可原创 2022-03-21 17:11:30 · 4485 阅读 · 0 评论 -
人脸实名认证实现方案(微信H5百度云篇)
学习目标:配置实名认证服务、实现实名认证学习内容:百度智能云实名认证对接平台化提供可配置、解耦百度实名认证服务封装统一业务服务接口序首先这里的接入方案是标准H5方案,目前看来,微信还没有对百度智能云的这个实名认证服务做技术壁垒,但是不排除LM的小马哥做这种骚操作。如果微信浏览器里要跳到外置浏览器做这个实名认证过程,那就体验不爽了。一、流程说明官方的接入步骤与文档地址自行百度。官方时序图:我这边进行的封装与解耦时序图。各个公司可以有自己的配置,我们的平台仅仅是做服务抽象与解原创 2022-03-04 19:21:07 · 4587 阅读 · 4 评论 -
技术人的眼睛只看可行性,剩下的看写PPT的人
昨天分享了刷赞的基本思路,今天顺便把评论、收藏的思路一并分享下,顺便提供实现下代码。代码基本体现了整合核心逻辑(一击三连),剩下的就是获取别人的登录凭证。甚至可以做一个PR提升App客户端、web项目、小程序了。这个App、客户端的功能就是负责收集、保活用户的登录凭证,当然没有免费的午餐,这个里面就可以加入分红、运营、接入支持其他网站的PR提升、个人的投票等等了。前言找接口的方法这里不想再提了,见上一篇博文。这个就是锻炼大家的眼睛了,哈哈。实践还是以我最爱的优快云为例。下面就分享下接口分析结原创 2022-01-20 17:42:12 · 812 阅读 · 0 评论 -
ES复杂分组同时多聚合统计实现(java)
前言本来计划上一篇是最近的最后一篇,然后,这周手上还分的一点活,按照计划处理完成了,这会顺便跟大家分享下。内容是java端操作ES做分组、聚合统计。一、需求场景其实需求也不复杂,就是一个红外感应的物联网设备进出都有统计上报流水,然后客户提出需要对这些数据进行统计,计算客流数量,进行展示。二、需求分析经过沟通确认,这个需求可以沉淀升级为一个通用的流水分组聚合统计接口。拆解结果,接口具体要求:1、区分项目2、租户下设备 (分组)3、设备属性(分组)4、统计类型 (平均值、求数目、求和)原创 2022-01-07 18:37:12 · 12749 阅读 · 4 评论 -
一次多线程耗尽优化与处理
序 一次自动任务开启线程执行导致的线程耗尽问题。一、现象 出现Running pool size = xxx报错。二、多线程集成 这个参考我之前的博文,我是采用统一的线程池配置,基于springBoot的注解@EnableAsync、@Async。这里不重复说明了。三、多线程配置#多线原创 2021-12-10 12:44:14 · 1685 阅读 · 0 评论 -
定位设备上报数据解析地图打点业务设计分享
序 最近接触了NBIOT,运营商的物联网平台,总体感觉不错,运营商平台分的很细,设备平台、业务平台、运维平台业务界限很明确,值得我们借鉴。今天主要是跟大家分享下物联网设备的表设计、推送数据解析设计等等。一、设备物模型 这里是朋友的NBIOT平台,我就不截图了。看下这款设备的物模型吧:{ "productInfo": { "pr原创 2021-11-27 16:52:27 · 1446 阅读 · 1 评论 -
GPS转换百度地图坐标&websocket(stomp)实现动态打点
序 这会已经下班乐,本来觉得这个好像没有什么新东西。最后决定还是趁现在下班写写是因为要让大家看看单技术组合使用的意义。这里就是在上次springBoot+thymeleaf+layui后端极速做前后端开发的基础上增加内容:1、接入百度地图2、接入以前分享过的websocket + stomp3、实现一个动态地图打点(这里用于做定位设备的实时位置打点)一、百度地图接入  原创 2021-11-16 19:21:22 · 5838 阅读 · 1 评论 -
大量数据导出Excel方案
序最近可能会遇到大量数据导出Excel的场景,今天趁现在需求告一段落来做下技术预研,然后这里就顺便分享给大家。一、数据量预判因为我们是做物联网的,这里要导出的数据就是设备的上报数据。客户说要这些数据导出成excel进行分析,又或是其他什么原因,咱不管。咱就分析下数据量,目前设备数量1500,2小时上报一次数据(最小可设置为半小时),要求可以导出3年的数据。数据量初步估算:1500 * 12 * 30 * 12 * 3 = 19,440,000 ,设备而且据说还要上,所以估计数据量就是千万级吧。现在原创 2021-09-14 18:31:30 · 8275 阅读 · 0 评论 -
没有打不了的补丁切不了的面
序有没有时候,有些差异化的补丁实在是打不上?用AOP、全局事件又觉得太重。实在是有些面你真是切不动,切的多了业务也容易紊乱。这里今天就来个差异化执行的方案,希望可以帮助到大家,开拓思路。一、项目情况我这里是遇到一个完整的闭环业务,需要给第三方也推送一份数据,就是数据要做下差异化操作,实际跟我们的业务没有半点关系。我这里已经定位到业务流程的切入点(代码位置),但是呢,只有这个公司、这个项目是这样差异处理。前面的业务是一样的,不想跟这个单独开一个方法。因为我这里也是收到上级系统的推送数据,然后再推送给这原创 2021-08-26 11:58:23 · 551 阅读 · 0 评论 -
主从数据一对多业务整体增改设计举例分享
序最近一个需求有点大,涉及面挺广。后期也不想跟测试扯棉花,所以很大地方扣的比较细,从业务到流程,从流程到交互,从交互到体验,从体验到组件…讲真,个人觉得这些流程交互体验前端应该配合产品完善,后端辅助支持。其实怎么说呢,自己也是从老一代的前后端都做过来的,业务、流程、体验这些要做好确实会麻烦点,但是现在都是到了这个层级的了,难道不应该有空的时候提级下吗?大家总说人人都是产品经理,这句话没错。任何一个岗位的后期都可以往产品路线走,但是反之则不一定行。个人理解的修炼之道:产品:业务->流程->交原创 2021-08-17 09:22:07 · 163 阅读 · 0 评论 -
聚合支付微服务版(微信篇)
序之前分享过微信支付的实现,当时想的是做公司级的聚合支付。那时候还没有微服务,我是单独做的一套springBoot的支付,实现了扫码支付、微信内支付。业务与支付的基本流程可以串起来了,但是当时我是负责项目管控与攻坚的,平台这一块是另外一个比我资历更老一点的同事负责(其实我觉得并不比我强,是不是有点太嚣张了,抱歉)。一直被按在项目上摩擦,做好的支付平台也交出去给另外一个同事实现了,其实后面在使用的过程中,呵呵。一、升级说明1、本次我是有将上次的支付做了小改动放到现有的微服里面,作为一个第三方服务模块,负原创 2021-06-11 20:07:27 · 1390 阅读 · 1 评论 -
树形数据主从表扩展字段设计实现
序今天跟大家主要是分享一个设计思路:树形数据,扩展属性存储、展示设计。一、树形、扩展属性关系说明我这里是将空间、楼栋、单元、楼层、房5类数据抽取相同属性、可一致的字段到一张表,设计为树形。以属性字段data_type区分数据类型。表结构:CREATE TABLE `space_reach_house_info` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `data_type` int DEFAULT NULL COMMENT '数原创 2021-04-12 19:49:54 · 1174 阅读 · 0 评论