FTPC Key原理

本文深入探讨了FTPC中Key的存储与管理机制,Key值存储于DATASWEEP_SEQUENCE表,采用特定类型如SEQ_NUM_ID和SEQUENCE_NUMBER区分初始值与下次获取值。FTPC通过存储过程获取Key的开始与结束值并缓存,缓存机制固定且不保证Key的顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FTPC Key存储

        FTPC中Key的当前值存储在DATASWEEP_SEQUENCE表中,而未使用Oracle数据库的Sequence,或SQL Server的identity,这样做到与底层数据库类型无关性。Key共分为以下几种类型

        

        SEQ_NUM_ID:通过该主键获取对应类型Key的初始值

        SEQUENCE_NUMBER:下一次获取Key时的初始值,由于Key存在缓存,无法确定当前使用到哪一个Sequence Number值

        DESCRIPTION:该Sequence Number使用对象类型的描述

FTPC Key获取

        FTPC中提供了存储过程,通过Key值的大小来获取对应类型Key的开始值,结束值。

        Oracle数据库的Procedure中,有以下存储过程来获取对应类型Key的开始值,结束值

        

        以下为DSGETMULTIPLEDEFAULTIDS源码,其他的存储过程只是其中seq_num_id的值不同。FTPC通过调用该存储过程获取开始值、结束值缓存在服务中,并更新sequence_number的初始值。

       

FTPC Key缓存

        FTPC服务器上缓存的事务Key值最少为3000个。如果有超过3000个事务请求,FTPC将自动为它们分配更多的空间。此缓存机制是不可配置的。因为缓存了一个键块,所以不能保证Key的顺序。如果想知道事务的创建顺序,建议查看trx_time值(它具有毫秒数据),而不是trx_key值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为何生存

知识共享,共同进步!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值