- 博客(326)
- 资源 (38)
- 收藏
- 关注

原创 【kubesphere】Deploy to kubernets阶段报错
一、问题背景 最近在学习使用kubesphere进行devops,在编写好流水线运行之后,报了如下错误:Starting Kubernetes deploymentLoading configuration: /home/jenkins/agent/workspace/api-appjg7tc/demo-deplpy/deploy-yaml/dev-api.yamlERROR: ERROR: java.lang.RuntimeException: io.kubernetes.clie...
2021-11-19 16:14:41
6248
1

原创 「智慧医疗」HL7消息解析实战Demo
1、什么是HL7?「智慧医疗」1分钟学会解析HL7协议数据2、 怎样解析HL7数据?2.1、交互模型2.2、数据样例解析前数据样例 +-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f |+--------+---------------------------------------------
2021-05-08 16:50:31
3637

原创 【智慧医疗】迈瑞IMEC12监护仪数据采集避坑指南
1、预备知识需要熟悉HL7标准协议:可参考https://zhangpeng.blog.youkuaiyun.com/article/details/100021186熟悉TCP交互基本知识。2、对接设备说明设备名称及型号:迈瑞IMEC12系列监护仪数据传输协议:HL73、交互过程通信过程4、数据获取及解析参考:1分钟学会解析HL7协议数据5、我遇到的问题: 在数据对接过程中,我作为客户端,需要主动连接服务端(即监护仪)4601端口,等...
2021-04-25 23:05:54
6260
15
原创 MySQL用count(*)查询总记录数真的很慢吗?
1、不同存储引擎count(*) 的实现方式在不同的 MySQL 引擎中,count(*) 有不同的实现方式。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。这里讨论的是没有过滤条件的 count(*),如果加了 where 条件的话,MyISAM 表也是不能返回得这么快的。2、InnoDB 为啥把总记录数存起来呢?2
2022-05-15 11:14:59
746
1
原创 MySQL查询之内存临时表
1、什么是临时表?MySQL用于存储一些中间结果集的表,临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。2、临时表分类?临时表分为两种,一种是内存临时表,一种是磁盘临时表。内存临时表采用的是memory存储引擎,磁盘临时表采用的是myisam存储引擎(磁盘临时表也可以使用innodb存储引擎,通过internal_tmp_disk_storage_engine参数来控制使用哪种存储引擎,从mysql5.7.6之后默认为innodb存储引擎,之前版本默认为myisa
2022-05-08 21:30:36
2753
原创 MySQL查询之join用法
1、什么是straight_join?straight_join功能同join类似,但能让左边的表来驱动右边的表,能改表优化器对于联表查询的执行顺序。straight_join 让 MySQL 使用固定的连接方式执行查询,这样优化器只会按照我们指定的方式去 join。2、join算法CREATE TABLE `n2` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PR
2022-05-02 21:15:31
736
原创 MySQL查询之文件排序
1、定义MySQL查询通过索引进行排序。当不能使用索引生成排序结果的时候,MySQL就需要自己进行排序。如果数据量小则在内存中进行,如果数据量大则需要使用磁盘,MySQL将这个过程称为文件排序(filesort)。2、排序缓冲(sort_buffer)“ 排序”这个动作,可能在内存中完成,也可能需要使用外部排序,这取决于排序所需的内存和参数 sort_buffer_size。sort_buffer_size,就是 MySQL 为排序开辟的内存(sort_buffer)的大小。如果要排序的数据
2022-05-01 19:00:05
1199
原创 MySQL索引探究(二)
1、理论基础1.1、局部性原理对于应用程序来讲,有这样一种趋势,程序总是趋向于访问最近已经使用过的指令或数据,或者附近的指令或数据。从两个纬度分析,时间局部性原理:这个指令或数据刚刚被用过,在不远的时间内可能被再次用到;空间局部性原理:刚刚访问的指令数据,其附近的指令数据在不远的时间内被访问到。1.2、磁盘预读程序运行期间所需要的数据通常比较集中。由于磁盘顺序读取的效率很高(不需要寻道时间,只需很少的旋转时间),因此对于具有局部性的程序来说,预读可以提高I/O效率。预读的长度
2022-04-18 17:21:11
563
原创 MySQL索引探究(一)
1、索引定义索引是存储引擎用于快速定位记录的⼀种数据结构。索引类似于书籍的目录,想找到一本书的某个特定的主题,需要先找到书的目录,定位对应的页码。MySQL 中存储引擎使用类似的方式进行查询,先去索引中查找对应的值,然后根据匹配的索引找到对应的数据行。2、索引类型B+树索引 全文索引 哈希索引InnoDB存储引擎支持的哈希索引是自适应的,即自适应哈希索引。其根据表的使用情况自动为表生成哈希索引,不能人为干预。3、索引结构MySQL数据库索引采用的是B+Tree结构,在B-Tre
2022-04-18 09:58:15
704
原创 MySQL优化实践指南
1、优化方法论1.1、自顶向下,分层优化整体:客户端、WEB端、数据库缓存、连接池、MySQL数据库分层:SQL层>MySQL层>InnoDB层>硬件层 层次 业务层 物理层 优化策略 第一层 查询需求 SQL层 减少查询 第二层 查询优化器 MySQL层
2022-04-15 14:58:45
649
原创 云计算概述
1、云计算的概念云计算是一种计算模式,在这种模式下,动态可扩展而且通常是虚拟化的资源通过互联网以服务的形式提供出来。2、云计算的特点大规模可扩展性,快速、集群化部署 抽象性,可提供不同的服务 经济性,降低成本 支持动态配置,按需交付云计算将一切资源作为服务,按照所用即所付的方式进行消费。3、计算模式的演进过程主机系统与集中计算主机面向的市场主要是企业用户,这些用户一般都会有多种业务系统需要使用主机资源,于是IBM 公司发明了虚拟化技术,将一台物理服务器分成许多不同的分区
2022-04-14 09:34:26
4740
原创 MySQL的“锁”事一览(二)
1、锁问题1.1、脏读事务T1修改了一行数据,事务T2在事务T1提交之前读到了该行数据。1.2、不可重复读事务T1读取了一行数据。 事务T2接着修改或者删除了改行数据,当T1再次读取同一行数据的时候,读到的数据是修改之后的或者发现已经被删除。1.3、幻读事务T1读取了满足某条件的一个数据集,事务T2插入了一行或者多行数据满足了T1的选择条件,导致事务T1再次使用同样的选择条件读取的时候,得到了比第一次读取更多的数据集。1.4、脏读和不可重复读的区别脏读是读到未提交的数据,而不
2022-04-13 17:25:53
367
原创 MySQL的“锁”事一览(一)
1、锁设计背景数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。2、锁的分类根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。2.1、全局锁2.1.1、定义全局锁就是对整个数据库实例加锁。2.1.2、实现MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于
2022-04-11 16:50:59
1068
原创 数据库表空间介绍
1、表结构组成一个 InnoDB 表包含两部分,即:表结构定义和数据。在 MySQL 8.0 版本以前,表结构是存在以.frm 为后缀的文件里。而 MySQL 8.0 版本,则已经允许把表结构定义放在系统数据表中了。因为表结构定义占用的空间很小,2、表空间文件查看表空间文件表示ibdata1文件的大小为12M,如果用完了这12M,该文件可以自动增长(autoextend)。设置innodb_data_file_path参数后,所有基于InnoDB存储引擎的表数据都会记录到该共
2022-04-10 21:05:39
1559
1
原创 MySQL事务介绍
1、什么是事务?事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL 中,事务支持是在引擎层实现的。MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。2、事务特性2.1、原子性(Atomicity)事务中的所有操作要么全部成功,要么全部失败。2.2、一致性(consistency)事务开始前和事务结束后,数据库的完整性约束没有被
2022-04-09 20:10:21
1047
原创 回滚日志(undo log)介绍
1、定义在数据修改的时候,不仅记录了redo,还记录了相对应的undo,如果因为某些原因导致事务失败或回滚了,可以借助该undo进行回滚。undo是逻辑日志,记录了与实际操作语句相反的操作,目的是将数据库逻辑地恢复到原来的样子。但是数据结构和页本身在回滚后可能与原来大不相同。2、功能提供数据回滚当事务回滚时或者数据库崩溃时,可以利用 undo log来进行数据回滚。多个行版本控制(MVCC)当用户读取一行记录时,若该行记录已经被其他事务占用,当前事务可以通过undo读取之前的行版本信
2022-04-08 14:50:20
3338
3
原创 归档日志(binlog)和重做日志(redo log)的区别?
redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。 redo log 是物理日志,记录的是“在某个数据页上做了什么修改”;binlog 是逻辑日志,记录的是这个语句的原始逻辑,比如“给 ID=2 这一行的 c 字段加 1 ”。 redo log 是循环写的,空间固定会用完;binlog 是可以追加写入的。“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。...
2022-04-07 21:19:58
546
原创 MySQL 组提交对内部XA事务的优化
1、技术背景在非只读事务,每次事务提交时需要进行一次fsync操作,然而磁盘的fsync性能有限。为了提高磁盘的fsync的效率,数据库提供了group commit的功能,即一次fsync可以刷新多个事务日志被写入文件。2、组提交(group commit)2.1、事务提交的顺序MySQL 的内部 XA 机制保证了单个事务在 binlog 和 InnoDB 之间的原子性,那么,在多个事务并发执行的情况下,怎么保证在 binlog 和 redolog 中的顺序一致?2.2、早期解决方法
2022-04-07 16:35:07
635
原创 MySQL内部不使用XA事务存在的问题
MySQL使用内部XA保障了binlog和redo log数据的一致性。如果不用两阶段提交,由于 redo log 和 binlog 是两个独立的逻辑,要么就是先写完 redo log 再写 binlog,或者采用反过来的顺序。那这两种方式会有什么问题呢?假设数据库正在执行更新操作(c的默认值为0):update T set c=c+1 where ID=2;1、binlog和redo log数据不一致问题1.1、先写 redo log 后写 binlog。...
2022-04-07 11:03:38
276
原创 MySQL如何保证 binlog 和 redo log 的一致性
1、分布式事务(XA)1.1、两阶段提交在分布式事务处理中,全局事务(global transaction)会访问和更新多个局部数据库中的数据,如果要保证全局事务的原子性,执行全局事务 T 的所有节点必须在执行的最终结果上取得一致。X/Open 组织针对分布式事务处理而提出了 XA 规范,使用两阶段提交协议(two-phase commit protocol,2PC)来保证一个全局事务 T 要么在所有节点都提交(commit),要么在所有节点都中止。1.2、提交协议考虑一个全局事务 T 的事
2022-04-06 21:51:12
862
原创 重做日志(redo log)介绍
1、重做日志(redo log)1.1、定义redo log是物理日志,记录的是页的物理修改操作。1.2、功能保证事务的原子性和持久性。redo log用来恢复提交事务修改的页操作。1.3、组成1.4、数据结构重做日志缓存(redo log buffer)由每个512字节大小的日志块(log block)组成。日志块由三部分组成,依次为日志块头(log block header)、日志内容(log body)、日志块尾(log block tail)。重做日志文件
2022-04-06 11:20:31
883
原创 归档日志(binlog)介绍
1、binlog(归档日志)1.1、日志内容记录了对MySQL数据库执行更改的所有操作。但是不包括SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。然而若操作没有导致数据库发生变化,并不意味着该操作不会写入二进制日志。1.2、binlog的作用恢复mysqlbinlog可以使用start-datetime/stop-datetime选取某个时间段内的日志,或者start-position/stop-position选取某个log_pos范围内的日志。这一点可以用
2022-04-04 18:37:09
1328
原创 InnoDB引擎架构
1、架构总览2、Buffer Pool(缓冲池)介绍缓冲池就是一块内存区域,通过内存的速度来弥补磁盘速度较慢对数据库性能的影响。在数据库中进行读取页的操作,首先将从磁盘读到的页存放在缓冲池中,这个过程称为将页“Fix”在缓冲池中。下一次再读相同的页时,首先判断该页是否在缓冲池中。若在缓冲池,则称该页在缓冲池中被命中,直接读取该页。否则,读取磁盘上的页。对于数据库中页的修改操作,则首先修改缓冲池中的页,然后再以一定的频率刷新到磁盘上。缓冲池中页默认大小为16K。页从缓冲池中刷新回磁
2022-04-03 16:15:23
1638
原创 MySQL 的基础架构
1、MySQL逻辑架构2、Server层2.1、连接器2.1.1、职责连接器负责跟客户端建立连接、获取权限、维持和管理连接。2.1.2、与客户端交互过程(1)输入连接命令mysql -h$ip -P$port -u$user -p(2)在交互对话里面输入密码(3)如果用户名或密码不对,你就会收到一个"Access denied for user"的错误,然后客户端程序结束执行。(4)如果用户名密码认证通过,连接器会到权限表里面查出你拥有的权限。之后,这个连接里面的权限判断逻辑.
2022-04-03 10:00:26
103
原创 【读书笔记】《许三观卖血记》
《许三观卖血记》是余华的小说,本书娓娓道来地讲述了一个普通工人许三观的一生。他的一生贯穿着“卖血”二字,第一次是出于好奇,为了证明自己身体结实;第二次卖血是因为大儿子打伤了他人需要赔钱;第三次卖血是为了回报初恋;第三次是因为大饥荒时代需要钱;第四次为了给儿子治病……多次卖血,让他及家人一次次度过生活中的危机,收获了幸福圆满的生活。初读本小说,我被许三观的担当精神和对美好生活的向往打动。是啊,许三观不过是个普通老百姓,他渴望家庭幸福、家人平安,这有什么错呢?...
2022-03-27 11:50:25
361
原创 【读书笔记】《牧羊少年奇幻之旅》
孩提时代,家人想让圣地亚哥当神甫,可他却想当牧羊人,云游四方,了解世界。 青年时期,圣地亚哥已经习惯了一片草原一群羊,可突然出现的老人告诉他,他的天命是去埃及金字塔寻找黄金。两个转折点,标志着他对自我的探索,也带给了圣地亚哥不同的人生经历。马斯洛的需求层次理论提出,最高一级的需求是自我实现,具体到小说里,是追逐天命,具体到现实社会,是实现人生价值。这本小说通过一个个小故事,用富有哲理的话,将自我实现过程遇到的问题一一解答,也带给我...
2022-03-27 11:40:51
575
原创 【读书笔记】分布式下服务可靠性保障
一、分布式环境下面临的挑战(1)网络故障:数据读写超时、网络链路闪断等。(2)序列化与反序列化失败(3)畸形码流(4)服务端流控和拥塞保护导致服务调用失败。(5)其它异常。。。畸形码流攻击:如果客户端按照协议规范,将消息长度值故意伪造的非常大,可能会导致接收方内存溢出。二、分布式服务框架高可靠设计2.1、服务状态检测服务提供者可能宕机,但是服务调用者可能未感知到,导致调用后消息发送失败。所以需要一种检测机制,当服务提供者不可用时,需要通知服务调用方,将其(已宕机的)
2022-03-07 22:09:05
290
原创 【开源项目】通过Nacos让Nginx拥有服务发现能力
https://github.com/YeautyYE/nacos-nginx-template
2022-02-08 15:59:59
2371
4
原创 【计算机网络】数据交换与网络体系结构
1、数据的交换形式1.1、电路交换1.1.1、是什么?在使用电路交换通话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃声并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。通话完毕挂机后,交换机释放刚才占用的通信资源归还给电信网。这种必须经过建立连接(占用通信资源),通话(一直占用通信资源),释放连接(归还通信资源)三个步骤的交换方式称为电话通信,即电路通信。...
2021-12-28 15:30:29
832
原创 【智慧医疗】DICOM学习指南
一、什么是DICOM?DICOM 是Digital Imaging and Communications in Medicine的英文缩写,即医学数字成像和通信标准。是ACR(American College of Radiology,美国放射学会)和NEMA(National Electrical Manufactorers Association,国家电子制造商协会)为主制定的用于数字化医学影像传送、显示与存储的标准。在 DICOM 标准中详细定义了影像及其相关信息的组成格式和交换方法,利用这个标准
2021-12-16 21:35:29
1026
原创 【智慧医疗】医疗信息交互,解析Soap消息代码示例
package com.nuc.zp.hl7v3;import lombok.extern.slf4j.Slf4j;import org.w3c.dom.NodeList;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import j.
2021-12-16 21:29:50
519
原创 【智慧医疗】医疗IT相关资源文章
医疗信息网站医学工程在线_医疗器械维修_医疗设备维修_医疗器械管理 医疗信息化联盟 — 最大的中文医疗信息化资料分享平台 如何理解浮现中的医院“中台”-HIT专家网 资料中心-中国医院协会信息专业委员会医疗通信协议HL7 Tools suite · 医疗IT技术之路 · 看云 HAPI – The Open Source HL7 API for Java Index - FHIR v4.6.0 fhir中文翻译文档 FHIR资源 - HL7ChinaWiki DICOM B...
2021-11-19 17:52:06
879
原创 【Redis安装】Redis安装脚本-docker
version: '3.5'networks: dev: external: trueservices: redis: image: "redis:latest" container_name: "redis" networks: dev: ipv4_address: 172.20.0.3 ports: - "6379:6379" volumes: - "/Users/mdk/zhangpeng/d.
2021-09-18 09:23:48
110
转载 【解决方案】定时任务Crontab执行总是与实际时间差8小时
一、问题描述 crontab中设置每天12:00启动任务,结果发现每天20:00才启动。二、问题分析明显是时区不一致造成的,所以需要从时区设置入手三、解决方案查看并修改 本地时区查看: more /etc/localtime备份: cp /etc/localtime /etc/localtime.bak设置本地时区: cp -pf /usr/share/zoneinfo/Asia/Shanghai /et...
2021-07-16 10:47:54
2983
原创 【职场答辩】程序员如何写职场答辩PPT?
一、PPT内容:这段时间你都参与了哪些重点项目,项目起止时间是什么,你的个人职责分工是什么,完成得怎么样(客观支撑),个人有什么反思总结,不足之处后续的行动计划是什么。按这个思路来逐个项目说明。 你的思考主要包括对产品、技术、实施等几个方向的建议,分类汇总下,作为技术人员对技术工作的后续规划最重要,要更丰富些,深度思考下自己及小组的工作怎么改进。 系统是分阶段分版本的,迭代路径和时间线可以更清楚些。 PPT内容尽量紧凑些,不在于页数多,在于每一页内容都是重点,讲起来内容也翔实,1234点可以先放.
2021-07-05 09:51:43
2362
迈瑞中央监护系统h-046-007960-00-benevision-cms-ops-manual(fda)-2-0.pdf
2021-02-26
PB840_Technical_Reference_Manual_EN_10067720D00.pdf
2019-08-23
C语言编写的各种算法程序
2017-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人