查了好几天的问题终于画上了句号

问题背景:

产品接到前方实施反馈9月02日有些订单查不到签名值,对于医院验签查不到签名值,就无法完成验签数据归档。

问题追踪过程:

1 首先查数据库,发现订单id确实查不到对应的detail数据; 第一直觉是否是阿里云dts数据迁移出了问题?因为超过12天数据,由rds数据库迁移到polardb中。

2 和运维确认了dts 14号 任务迁移是成功的。  14号迁移创建时间在9月02日的数据;既然成功的,就断了念想,继续从日志,从代码看能不能找到问题

3 看日志有签名成功的日志,理论上detail会插入数据的。  那是否9月02日有发版?查看spug发布记录,还确实有发版,但发版时间18:00左右,反馈的订单哪个时间段的都有,应该不是发版导致的。

4 这个问题其实中秋节前就反馈的,当时由于其他事情忙着先搁置的,也是由于百思不得其解不想继续死胡同里绕。有时可能洗个澡或者做点儿别的事情放松一下,反而回来才有新的发现。

5 节后又因为孩子打疫苗,周五下大雨又请了2天假,这个问题一直搁置,同事也没有查出个所以然

6 9月23日 周一产品又在催促,其实没人催促,这个问题也是我自己的心结,莫名奇妙数据就没了么?

7 然后昨天也不知道就查了20240902的归档表的 订单表和详情表的总数,总数是一致的,说明detail数据并没有少啊,然后从反馈问题的时间段查询这个时间段的数据,把id都站出来,然后vim看了下,居然傻眼了。这前面都多了个特殊字符 <feff>

8、网上搜了下这个特殊字符,说是utf-16编码的标识。随即就到迁移的目标库看果然是utf-16编码,那这个特殊字符就是因为改了utf-16导致的呗,在从9月02日往前确认,8月29日就改了这个编码。(这个运维之前反馈阿里云dts数据迁移失败,说是字符集不一致导致的失败,但当时没仔细确认,谁知道运维自己改了目标表的字符集utf16,但2个原表其实是utf8编码和utf8mb4),迁移没报错了,但数据错了。

9、数据错了,首先想着怎么程序兼容能查到这个数据-----在这个上面也花费了好长时间。分别尝试了以下几种都查不到数据,那这个特殊字符在java程序里到底如何表达呢?还向阿里云工程师提了工单,对方也没有很好的兼容方式。

最后一位老大说用mysql的convert函数试试       

where columnname = convert(str using utf16)         好像起作用了!

然后改代码兼容,但测试的时候发现如果不是utf16的字段会报错,8月29日之前的就会查询报错吧,还需要分时间段去兼容下!问题怎么越改越多!

不知不觉又到了晚上快9点,实在皮了眼睛也花了,大boss还人文关怀了下,说***下班吧。先下班吧,修正一下,大不了明早早到公司早早改好。

//                String cmd = "SELECT * FROM  tms_history.`doctor_sign_detail_20240902` where sign_id = 'Y17252583253809c8518bface5e07b3'";//不行
//                String cmd = "SELECT * FROM  tms_history.`doctor_sign_detail_20240902` where sign_id = '\uFEFFY17252583253809c8518bface5e07b3'";//不行
//                String cmd = "SELECT * FROM  tms_history.`doctor_sign_detail_20240902` where sign_id='Y17252583253809c8518bface5e07b3'";不行//                String cmd = "SELECT * FROM  tms_history.`doctor_sign_detail_20240902` where sign_id='<feff>Y17252583253809c8518bface5e07b3'";//不行

10、今天早上到公司才发现,昨天的convert也不起作用,可能昨天拷贝来拷贝去,有的带了特殊字符的(肉眼不可见)就能查到。那如何兼容啊,老天,结果早上让同事也查一下,同事说你给我的id是31位的,为什么呢?原来字段长度设置的是32,前面多了个不可见的特殊字符,最后一位就被截取了;

11 对于特殊时间段(用了utf16编码的)改like查询。

String cmd = "SELECT * FROM  tms_history.`doctor_sign_detail_20240902` where sign_id like '\uFEFFY17252583253809c8518bface5e07b3%'"; //生效了!!

至此困扰多日的问题终于解决了,晚上可以睡个安稳觉了。

再将运维的迁移脚本创建表确认下,居然目标表创建了很多索引,按说迁移到历史polardb后数据就不会频繁根据条件查询,顶多根据主键查询,所以dts迁移数据任务也一并优化了下,建表去除不必要的索引,detail表的编码由utf16改为utf8mb4 (经过测试可兼容utf8mb4和utf8的迁移,且数据没有增加意外的字符)!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544565.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用ssm实现基于Java web的高校学生课堂考勤系统的设计与实现+vue

TOC ssm686基于Java web的高校学生课堂考勤系统的设计与实现vue 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#x…

SpringBoot集成微信小程序Demo

一、前言 小程序是一种全新的连接用户与服务的方式&#xff0c;它可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。 微信小程序官方文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/ 二、技术栈 SpringBoot 2.0MyBatis-P…

不同类型的企业该如何挑选适合的供应商管理系统?

供应商管理对企业降低成本、维持稳定的货品来源起着重要的作用&#xff0c;在选择供应商管理系统时&#xff0c;需要考虑多重因素&#xff0c;正所谓没有最好只有最合适&#xff0c;需要结合企业自身需求进行多方面考量才能做出明智的决策。 本文将对国内外制造业都在使用的供…

找最小数 - 华为OD统一考试(E卷)

2024华为OD机试&#xff08;E卷D卷C卷&#xff09;最新题库【超值优惠】Java/Python/C合集 题目描述 给一个正整数NUM1&#xff0c;计算出新正整数NUM2&#xff0c;NUM2为NUM1中移除N位数字后的结果需要使得NUM2的值最小。 输入描述 输入的第一行为一个字符串&#xff0c;字…

一款前后端分离设计的企业级快速开发平台,支持单体服务与微服务之间灵活切换(附源码)

前言 当前软件开发面临诸多挑战&#xff0c;诸如开发效率低下、重复工作多、维护成-本高等问题&#xff0c;这些问题在一定程度上阻碍了项目的进展。针对这些痛点&#xff0c;我们迫切需要一款既能提升开发效率又能降低维护成-本的处理方案。由此&#xff0c;一款基于前后端分…

【Day20240924】联邦学习中的方法 改进

文章目录 前言一、FedAvg二、FedProx三、MOON四、FedDyn五、FedAsync六、PORT七、ASO-Fed八、FedBuff九、FedSA 前言 几种异步的方法&#xff1a; FedAsync PORT ASO-Fed FedBuff FedSA 几种同步的方法&#xff1a; FedAvg FedProx MOON FedDyn 一、FedAvg FedAvg基本步骤&a…

大模型开发应用实战:真实项目实战对标各类大厂大模型算法岗技术

一、引言 在人工智能领域&#xff0c;大模型已经成为推动技术进步和应用创新的重要力量。随着技术的不断发展&#xff0c;各大厂商纷纷投入大量资源研发大模型&#xff0c;并尝试将其应用于各种实际场景中。为了培养具备大模型开发与应用能力的高级技术人才&#xff0c;我们组织…

cuda算子优化-transpose

transpose 参考链接 方法一&#xff1a;每个线程负责一个元素的转置 cuda代码实现 ncu分析&#xff08;矩阵维度采用m1024&#xff0c;n512&#xff1b;grid和block维度见下图最上方&#xff09; 这种方法对读global mem比较友好&#xff0c;可以做到合并访存&#xff0c;但…

知识产权 ABS 企业融资新渠道

在当今知识经济时代&#xff0c;知识产权作为企业的核心资产&#xff0c;其价值日益凸显。知识产权资产证券化&#xff08;Intellectual Property Asset-Backed Securitization&#xff0c;简称知识产权ABS&#xff09;作为一种创新的金融工具&#xff0c;为企业盘活知识产权资…

Cpp类和对象(下)(6)

文章目录 前言一、初始化列表概念使用注意实际运用explicit关键字初始化列表的总结 二、static成员static成员的概念static成员的特性static的一个实用场景 三、友元友元函数友元类 四、内部类概念特性 五、匿名对象六、再次理解封装和面向对象总结 前言 Hello&#xff0c;本篇…

【Oauth2整合gateway网关实现微服务单点登录】

文章目录 一.什么是单点登录&#xff1f;二.Oauth2整合网关实现微服务单点登录三.时序图四.代码实现思路1.基于OAuth2独立一个认证中心服务出来2.网关微服务3产品微服务4.订单微服务5.开始测试单点登录 一.什么是单点登录&#xff1f; 单点登录&#xff08;Single Sign On&…

权威期刊Cell Discovery新成果!上海交大洪亮团队提出CPDiffusion模型,超低成本、全自动设计功能型蛋白质

蛋白质是生命活动的主要执行者&#xff0c;其结构与功能之间的关系一直是生命科学领域研究的核心议题。近年来&#xff0c;随着深度学习的兴起&#xff0c;借助其强大的数据处理能力&#xff0c;让模型学习蛋白质序列、结构及其功能之间的映射关系&#xff0c;设计出具备更高稳…

prithvi WxC气象模型

NASA发布了prithvi WxC气象模型发布 Prithvi是NASA开源的模型&#xff0c;被誉为全球最大的开源地理空间大模型。昨天晚上逛X平台&#xff0c;我看到Prithvi模型又来了新成员&#xff1a;prithvi WxC。 NASA和IBM创建了一个基于MERRA-2数据的天气和气候AI基础模型—Prithvi Wx…

数据库事务索引视图、存储过程

目录 文章目录 一、数据库事务 事务概述&#xff1a; 事务特征&#xff1a; 提交回滚 隔离级别 二、索引 索引创建原则&#xff1a; 存储引擎 单列索引 组合索引 全文索引 空间索引 三、视图 四、函数和存储过程 1.函数的创建 2.存储过程 3.调用格式 4.两者…

初识爬虫8

1.selenium的作用和工作原理 2. 使用selenium&#xff0c;完成web浏览器调用 # -*- coding: utf-8 -*- # 自动化测试工具&#xff0c;降低难度&#xff0c;性能也降低 from selenium import webdriverdriver webdriver.Edge()driver.get("https://www.itcast.cn/")…

高德2024全民出行节启动,联合生态伙伴发放百亿补贴

临近十一黄金周&#xff0c;高德地图宣布启动“2024全民出行节” &#xff0c;致力于打造出门好生活体验&#xff0c;让用户十一出行“和囧途说ByeBye”。今年十一黄金周期间&#xff0c;高德地图联合生态伙伴在百大行业推出百亿补贴&#xff0c;涵盖吃、住、行、游、购、娱。同…

netty编程之那么多的网络框架为啥非选你?

写在前面 java nio框架不止一种&#xff0c;为啥非选netty&#xff1f;本文来看下。 1&#xff1a;正文 网络io框架&#xff0c;除了netty外&#xff0c;还有mina&#xff0c;sun grizzly&#xff0c;cindy等&#xff0c;为啥独选netty。 mina netty和mina作者同属一人&…

CAN协议一致性测试——深入浅出理解CAN协议(四)

本系列是在同公司硬件设计、验证的同事1、在完成了CANFD硬件接口IP开发 2、熟悉ISO-11898系列、ISO16845、CAN2.0协议、CANFD协议等以及大量学习资料 3、深入研究其他家CANFD IP&#xff08;NXP、BOSCH&#xff09;4、独立开发了对应底层驱动 5、通过CANoe和周立功CAN分析仪完成…

类的难疑点

一、知识点 1、类的属性和对象属性&#xff08;实例属性&#xff09; shuxing"123" self.shuxing"123" 2、类的对象 self.loginMyclass() loginMyclass() 3、访问类属性和方法的操作 通过“类名.属性”访问&#xff1a;Myclass.shuxing 通…

筋膜炎能自愈吗

筋膜炎能否自愈&#xff0c;主要取决于病情的严重程度以及患者的自我管理和治疗情况。 一、轻微筋膜炎的自愈可能性 对于轻微筋膜炎患者&#xff0c;通过合理的日常护理和适当的运动锻炼&#xff0c;有很高的自愈可能性。这包括&#xff1a; 1、充分休息&#xff1a;避免过度…