一种协议感知的数据直写方法、系统及存储介质与流程
本发明涉及分布式数据存储与协议网关,具体涉及一种协议感知的数据直写系统及其数据写入方法,所述系统作为网关层原生兼容多种协议数据库,将协议数据接收与数据存储统一于同一节点,使应用无需感知底层数据库差异,并涵盖协议感知直写、虚拟线程共识复制、温度分级存储、多方言批量写入、联邦查询规划、多租户至少两层隔离等创新特征。本发明可应用于物联网、工业互联网、边缘计算、车联网、智慧城市、多租户saas等异构多协议数据接入与存储场景。
背景技术:
1、现有技术现状
2、在分布式数据存储与协议网关领域,现有技术普遍采用"网关+独立数据库"的分代架构。具体表现为:(1)网关层与数据库层物理分离,网关仅承担协议解析与转发的职责,数据库独立部署,客户端写入请求需经过"客户端到网关到微服务到orm到数据库"的多跳转发路径,写入延时与系统复杂度随跳数线性增加;(2)节点角色单一化,网关节点仅转发不存储,数据库节点仅存储不感知协议,协议语义在网关层被解析后需重新编码为数据库可理解的格式,存在协议语义损失与编解码开销;(3)故障切换基于ip漂移或db主备,传统架构通过vip漂移或数据库主备切换实现高可用,两者均存在切换延时高、协调复杂的问题;(4)schema强类型约束,现有技术要求预先定义强类型schema,字段类型细分为多种子类型,这种强类型约束虽然保证了数据规范性,但增加了用户配置负担,限制了协议扩展灵活性;(5)含义解释在存储侧执行,数据库通常存储已经过语义规范化的值,导致数据库与具体业务语义强耦合,难以跨业务复用;(6)平台线程模型,共识复制场景中现有技术普遍基于操作系统平台线程,单节点复制并发度受限于操作系统线程数,当节点数较多或写入负载较高时,平台线程成为瓶颈;(7)单层租户隔离,多租户saas场景中现有技术普遍采用单层隔离方式,隔离粒度粗、安全边界薄,一旦该层失效即造成跨租户数据泄露。
3、现有技术的技术问题
4、综合上述现状,现有技术存在以下技术问题:问题1,写入跳数过多,延时高、系统复杂度高;问题2,协议语义在网关解析后需重新编码,存在语义损失与编解码开销;问题3,故障切换迁移对象为ip或db主角色,切换延时高、协调复杂;问题4,强类型schema约束增加用户配置负担,限制协议扩展;问题5,存储侧语义规范化导致数据库与业务强耦合,难以跨业务复用;问题6,平台线程模型限制共识复制并发度;问题7,单层租户隔离安全边界薄;问题8,温度分级存储普遍依赖手工etl或单一ttl过期机制,自动化程度低;问题9,多数据库方言批量写入需各方言独立开发,缺乏统一抽象;问题10,跨库跨租户跨温度的联邦查询缺乏统一规划机制。
5、本发明要解决的技术问题
6、本发明要解决的技术问题包括:(1)如何提供一种协议感知的数据直写架构,使存储节点同时作为协议数据接收端与数据存储端,将写入跳数从5跳压缩至1跳;(2)如何使存储节点基于协议规范自动建表并直接写入,减少用户配置负担与中间编解码开销;(3)如何在节点故障时通过绑定关系迁移而非ip迁移实现故障切换,将切换延时从30秒级压缩至毫秒级;(4)如何通过简化的协议字段类型系统(仅两种原子类型)加含义映射读取侧执行,平衡规范性与灵活性;(5)如何通过虚拟线程承载共识复制,将单节点复制并发度从数百提升至数万;(6)如何通过路由、存储、可见性至少两层纵深防御实现多租户隔离,使任一层失效时其余层仍提供隔离保障;(7)如何通过应用透明的业务标签驱动温度评估与幂等迁移事务语义,实现协议数据记录自动分级存储;(8)如何通过统一接口屏蔽多数据库方言差异,并支持方言专有高速路径;(9)如何通过至少两维联邦策略与sql下推实现跨域查询。
技术实现思路
1、发明目的
2、本发明的目的在于提供一种协议感知的数据直写系统及其数据写入方法,通过协议数据接收与数据存储统一于同一节点且原生兼容多种关系型数据库引擎的架构跃迁、协议感知直写的抽象升维、虚拟线程共识复制的范式转换、绑定关系迁移的耦合重构、温度分级存储的能力下沉、多租户至少两层隔离的纵深防御等多项创新,解决现有技术写入跳数多、故障切换慢、协议扩展受限、隔离边界薄等技术问题。
3、技术方案
4、 为解决上述技术问题,本发明提供以下技术方案:
5、协议感知的数据直写方法
6、本发明所述"直写"是指:存储节点接收协议数据后直接写入节点内部存储,存储节点同时承担协议感知功能与数据存储功能,数据从接收入库无需经过独立于存储节点之外的转发环节。所述"协议感知"是指:存储节点通过绑定关系识别所接收数据的协议类型,并基于协议规范执行字段校验与写入。
7、一种协议感知的数据直写方法,包括以下步骤:
8、节点绑定步骤:为分布式系统中的每个存储节点建立与至少一种协议数据类型之间的绑定关系,使所述存储节点同时作为所述协议数据类型的数据接收端与数据存储端。
9、协议感知直写步骤:存储节点接收符合其绑定协议数据类型的数据记录,将所述数据记录直接写入所述存储节点的内部存储,无需中间转发。所述协议规范包括标准协议与用户自定义协议,用户通过协议规范配置接口声明协议的字段定义。
10、故障切换步骤:响应于源存储节点发生故障,将所述源存储节点所绑定的协议数据类型迁移至至少一个目标存活存储节点,所述目标存活存储节点通过动态扩展其接受的协议数据类型实现接管。
11、 通过上述步骤,存储节点既是协议数据接收单元又是数据存储单元,存储节点接收的协议数据直接落入节点内部存储。所述存储节点是网关层中的执行单元,所述网关层提供统一的协议感知与数据路由能力,存储节点在承担网关协议感知功能的同时承担数据存储功能,与传统"独立网关+独立数据库"架构形成区别。
12、协议规范两类型与含义映射读取侧
13、所述协议规范的字段类型仅包括字符串类型与二进制类型两种原子类型,不区分数值子类型。系统接收用户为字段定义的含义映射,所述含义映射将字段的原始值映射为用户自定义的语义含义。数据表仅存储字段的原始值,含义映射在读取时执行语义解释,存储节点不参与语义规范化。
14、虚拟线程共识复制
15、存储节点作为主节点,将所写入的数据记录通过虚拟线程执行器分配独立虚拟线程,并行复制至至少一个从存储节点,虚拟线程在阻塞期间让出载体线程。当主节点本地写入成功且从节点复制成功的总数达到预设的多数派阈值时,判定共识达成。
16、 进一步地,为每条数据写入请求分配独立虚拟线程,n 个虚拟线程复用 m 个物理数据库连接(n 大于 m),响应于物理连接池满,虚拟线程在获取连接时阻塞并让出载体线程,不占用操作系统线程资源。
17、应用层智能写入5步编排
18、协议感知直写步骤具体包括:协议识别子步骤、路由决策子步骤、条件过滤子步骤、字段映射子步骤、异步写入子步骤。协议识别采用至少两种策略,所述至少两种策略选自以下策略组:端口提示优先策略、字段名特征策略、字段值特征策略;当所采用的策略均不能确定协议类型时,标记为未知协议类型并拒绝写入。
19、协议感知温度分级存储与幂等迁移事务
20、提供至少两层存储后端,所述至少两层包括热层以及温层或冷层中的至少一层,每层实现统一的写入、读取、删除与枚举接口,所述存储后端存储的数据记录为由协议感知直写步骤产生的协议数据记录。在协议感知直写步骤执行前或执行中,根据所接收协议数据记录对应的数据源标识的业务标签评估初始温度,所述业务标签由数据路由映射表配置且与协议数据类型绑定关系关联。周期性扫描各温度层存储的协议数据记录,对满足降级条件的协议数据记录,以幂等迁移事务将其从源温度层迁移至目标温度层,迁移操作的对象为协议数据记录而非存储块区段。采用原子引用状态位维护单次迁移扫描的执行状态,对已迁移的协议数据记录标识进行去重标记。
21、多方言批量写入与自适应聚合
22、通过统一接口适配多种数据库方言(包括批量语句构造、批量执行、批量异常诊断与标识符引用)。批量执行异常时回滚当前事务并对每条记录执行单条插入,重复键返回假值保持幂等。自适应批量大小通过滑动窗口统计写入提交速率,按低/中/高三档自动调整批量大小,同秒桶累加采用乐观读无锁操作。
23、多租户至少两层隔离
24、路由隔离:为每个租户维护独立的数据路由映射表,目标数据库标识被替换为带租户标识前缀的形式;存储隔离:在共享的多数据库存储实例中,以租户标识与数据库标识的组合作为键空间前缀,使不同租户的数据库键空间物理分离;可见性隔离:响应于数据读取请求,强制校验所请求的数据库标识的前缀是否归属于当前租户上下文。
25、 上述路由隔离、存储隔离与可见性隔离中的至少两层构成隔离架构,任一层隔离失效时其余层仍提供隔离保障。租户上下文标识为不可变对象,通过方法参数显式传递,并在构造时校验租户标识字符串不含分隔符字符与通配符字符。
26、协议感知联邦查询与节点内部存储sql下推
27、根据查询请求的标志位在以下联邦策略中选择至少两种,且所述至少两种联邦策略中必须包含跨温度层联邦与跨租户联邦中的至少一种:跨温度层联邦、跨租户联邦、跨数据库实例联邦、跨表连接联邦。所述联邦查询的对象限定为由协议感知直写步骤产生并存储于节点内部存储的协议数据记录。按所选联邦策略生成查询分片列表,每个分片对应一个存储后端中协议数据记录的查询任务,所述存储后端为节点内部存储的温度层存储后端或带租户标识前缀的键空间。将查询分片组装为查询执行计划,主表分片与连接右表分片的查询对象均为协议感知直写产生的协议数据记录。节点内部存储sql下推将查询条件树递归转换为where子句并下推至节点内部存储的温度层存储后端执行,所有值通过参数占位符绑定,对表名与字段名进行正则白名单校验,所述sql下推的目标为节点内部存储而非外部独立数据库实例。
28、动态字段映射推断
29、对每个源字段采用多种策略加权评分,所述多种策略包括以下至少两种:精确匹配、别名匹配、模糊相似度匹配、值类型兼容匹配、字段名包含匹配。当任一策略评分达到强匹配阈值时直接采纳;否则按综合得分降序采用贪心二分图匹配,每个源字段与每个目标字段至多匹配一次。输出每条映射的主导策略标识,使映射关系可审计可追溯。
30、接管溯源与回退
31、接管溯源与回退为权利要求1中故障切换步骤的具体实施。目标存活存储节点记录每个接管的数据类型与原属节点的对应关系。响应于原属节点恢复,将接管的数据类型回退至原属节点,目标存活存储节点释放对应数据类型的绑定。
32、协议感知的数据直写系统
33、协议感知的数据直写系统包括节点绑定模块、协议感知直写模块、故障切换模块、配置驱动路由模块。
34、计算机可读存储介质
35、计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。所述计算机可读存储介质包括磁性存储介质、光学存储介质、半导体存储介质、网络传输介质或分布式存储介质。
36、自动建表
37、响应于所述数据记录对应的目标数据表在所述存储节点的内部存储中尚未建立,基于所述协议规范自动派生表结构定义并执行建表操作,所述表结构定义包括所述协议规范中声明的字段以及由系统自动附加的记录唯一标识列与数据时间戳列。
38、有益效果
39、 与现有技术相比,本发明具有以下有益效果:(1)写入跳数从5跳压缩至1跳;(2)故障切换延时从30秒级压缩至毫秒级;(3)协议规范两种原子类型加自动建表降低用户配置负担;(4)含义映射读取侧执行实现数据库与业务解耦;(5)虚拟线程承载共识复制将单节点并发度从数百提升至数万;(6)n-m多路复用写入不浪费操作系统线程资源;(7)路由、存储、可见性至少两层隔离提升安全边界;(8)业务标签驱动温度分级存储降低存储成本;(9)统一方言适配接口提升开发效率;(10)联邦查询规划扩展查询能力;(11)五策略加权评分实现字段映射自动推断;(12)接管溯源记录支持绑定关系回退。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com