CN118963927B 融合消息队列的数据库与融合事务的实现方法 (灵岫科技(深圳)有限公司)_第1页
CN118963927B 融合消息队列的数据库与融合事务的实现方法 (灵岫科技(深圳)有限公司)_第2页
CN118963927B 融合消息队列的数据库与融合事务的实现方法 (灵岫科技(深圳)有限公司)_第3页
CN118963927B 融合消息队列的数据库与融合事务的实现方法 (灵岫科技(深圳)有限公司)_第4页
CN118963927B 融合消息队列的数据库与融合事务的实现方法 (灵岫科技(深圳)有限公司)_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

道荔林社区东滨路4351号荔源商务大融合消息队列的数据库与融合事务的实现在该数据库内核中开发了消息处理中心以及该方面,对于应用程序开发人员来讲只需将应用依赖单点分布式事务中间件带来的容易发生阻2库还包括为所述消息生产者和消息消费者分配的消息队所述消息处理中心,用于响应于接收到所述消息,基于所述数据库内2.根据权利要求1所述的一种融合消息队列的数据库,其特征在于,所述消息处理中所述发送端缓存为所述消息设置消息序号和所述消息队列的队列ID,以所述消息处理中心在接收到所述接收端缓存反馈的接所述接收端缓存,响应于接收到所述目标消息,在所述目标消息3所述第一数据库响应于所述融合事务,将执行第一操作与所述通知操作预执行所述第一操作,以及利用所述第一数据库融合的消息队列机制预响应于预执行所述第一操作成功以及预执行响应于接收到所述消费端应用程序返回的消对应于接收端缓存;所述将所述通知消息传输至所述第二数据库对应的消费端应用程序,将所述通知消息传输至所述消费端应用程序对应的接收端缓存,以由所述4响应于将所述通知消息推送至所述消费端应响应于所述消费端应用程序对应的接收端缓5库101中的库表(可以是缓存表),然后通过触发器或定时任务从该库表中提取要发送的消果最终消息发送失败没法做到事务回滚。在一些方案中使用如图2所示利用分布式中间件67向所述第一数据库发送的所述融合事务的处理请求;所述第一数据库响应于所述融合事第一操作与所述通知操作;响应于预执行所述第一操作失败或者预执行所述通知操作失滚指令关联的消息队列,以将所述回滚指令传输至所述消费端应用程序对应的接收端缓8[0021]应当理解的是,以上所述的一般描述和后文的细节描述图仅仅是本申请一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,[0036]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申9[0052]如此的方式存在以下缺陷:需要在数据库中实现配合消[0053]在一些相关技术中,会采用如图2所示的方式来确保数据库操作和消息通知的原[0068]请参见图3,图3为本申请示出的一种融合消息队列的数据库的结构图。如图3所[0069]该数据库与相关技术中常规数据库的核心区别在于,数据库核心服务层322中增[0072]通过消息处理中心3221与消息队列对象3241的相互配合,在数据库320中实现了消息队列机制,还可以利用数据库原有的事务处理层323监控到消息队列机制中的消息发[0073]所述消息处理中心3221与消息生产者和消息消费者通过所述数据库的通信机制[0075]数据库服务选定协议端口(如MySQL默认端口为3306,PostgreSQL默认端口为[0081]所述数据库320还包括为所述消息生产者和消息消费者分配的消息队列。该消息[0096]所述消息发送确认序号用于消息处理中心完成对发送消息的相关处理并回复发[0098]所述消息接收确认序号用于接收端在接收消息后,回复[0104]本申请中,可以采用主动推送或者被动获取的方式完成消息队列到消费者的过[0109]在数据库异常重启之后,可能有些消息会发送失败,因此可以在重启后将redolog中的目标消息读出来并根据消息携带的队列ID重新写入对应消息队列,使得消费者可[0121]发送端缓存预先设置了一段业务代码,可以将消息封装为前面示出的消息格在消息内容的基础上增加所述消息队列的队列ID,以将所述消息与所述消息队列关联起11。等到接收端缓存成功接收消息并推送到消息消费者之后返回所述消息处理中心回复接收确认成功,并在接收端缓存记录所述消息序号为消息接收序[0133]接收端缓存的消息接收序号的作用在于消息去重。如果接收端缓存接收到消息将读取的目标消息的序号与消息处理中心记载的发送确认消息序号比较,如果二者一致,不依赖分布式事务中间件,即可监控到数据库操作和通知操作是否成功实现事务原子性,[0159]在应用程序中预先部署了一些融合事务操作逻辑,在接[0160]例如应用程序中发生第一数据库中的账户A_20,第二数据库中的账户B+20的交[0186]S702_S706记载的方案参照了相关技术中保证事务原子性的逻辑,在数据库中也示出的基于消息处理中心完成通知操作的流程示意图。图8示意的步骤为对第一阶段S702述通知消息传输至所述第二数据库对应的消费端应用[0192]第二数据库对应的消费端应用程序接收到通知消息或会向消息处理中心返回接[0193]通过S802_S806记载的方案可以基于消息处理中心完成消息异步转发,并可以监[0205]以下结合图9进行基于消息处理中心完成通知操作的两阶段详细流程说明。请参[0208]S902,所述发送端缓存为所述通知消息设置消息序号和所[0212]本步骤与S505的区别在于,接收端缓存成功接收消息后[0228]响应于预执行所述第一操作成功以及预执行所述通知操[0229]响应于预执行所述第一操作失败或者预执行所述通知操[0231]响应于接收到通知第二数据库执行第二操作的通知消息,利用所述消息处理中将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,算机程序可以用于使处理器执行前述任一实施例示出的中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、[0254]以上对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围[0256]本申请中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成[0258]适合于存储计算机程序指令和数据的计算机可读介质可以包括所有形式的非易

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论