【技术实现步骤摘要】
一种业务数据的同步分发存储方法及系统
本专利技术涉及数据处理
,尤其涉及一种业务数据的同步分发存储方法及系统。
技术介绍
数据同步是一种业界比较常见的场景,当前主要的处理方法有:通过消息中间件同步和通过HTTP(HyperTextTransferProtocol,超文本传输协议)API(ApplicationProgrammingInterface,应用程序接口)通知+HTTPAPI/DB(Database,数据库)同步。其中,通过消息中间件同步是指,生产者通过消息中间件发送数据ID,消费者拿到数据ID后,再调用生产者的API或者访问生产者的数据库获取真实的数据。新消费者与回溯消费场景下,需要生产者提供全量方式:重新全量生产或提供离线DB给消费者。同一个主题下的消息是没有Scheme约束的,生产者可以在一个主题中发送多种数据格式的数据。通过HTTPAPI通知+HTTPAPI/DB同步是指,生产者直接通过HTTP的方式通知消费者数据ID,消费者根据数据ID,再调用生产者的API或者访问生产者的数据库获取真实的数据。新消费者与回溯消费场景下,需要生产者提供全量方式:重新全量生产或提供离线DB给消费者。生产者与消费者之间直连同步的方式,可能会带来性能问题。以上两种方式,主要会有以下问题:1、数据不一致,拿到数据ID后,由于多机房、并发、执行能力、软硬件异常等问题,都会导致数据脏读、覆盖等情况出现。2、全量、回溯历史数据进行重新消费时,需要生产者、消费者重度参与。3、工作量重复,为了解决 ...
【技术保护点】
1.一种业务数据的同步分发存储方法,其特征在于,包括:/n生产者携带验证发送数据Schema到消息中间件进行兼容性验证与连接建立;/n在所述生产者与所述消息中间件建立连接后,所述消息中间件对所述生产者发送的数据进行分布式存储,并通知生产者数据发送成功;/n消费者通过验证接收数据Schema与所述消息中间件建立连接,并设置消费游标;/n所述消息中间件根据订阅所述目标主题的消费者的消费游标,从本地队列或分布式存储中拉取数据,并将拉取的数据推送给所有订阅所述目标主题的消费者。/n
【技术特征摘要】
1.一种业务数据的同步分发存储方法,其特征在于,包括:
生产者携带验证发送数据Schema到消息中间件进行兼容性验证与连接建立;
在所述生产者与所述消息中间件建立连接后,所述消息中间件对所述生产者发送的数据进行分布式存储,并通知生产者数据发送成功;
消费者通过验证接收数据Schema与所述消息中间件建立连接,并设置消费游标;
所述消息中间件根据订阅所述目标主题的消费者的消费游标,从本地队列或分布式存储中拉取数据,并将拉取的数据推送给所有订阅所述目标主题的消费者。
2.根据权利要求1所述的方法,其特征在于,所述生产者携带验证发送数据Schema到消息中间件进行兼容性验证与连接建立,包括:
生产者从注册中心获取消息中间件地址;
基于所述注册中心返回的目标主题所在地址,携带验证发送数据Schema到消息中间件进行兼容性验证;
验证成功后,生产者与所述消息中间件建立连接。
3.根据要求2所述的方法,其特征在于,所述在所述生产者与所述消息中间件建立连接后,所述消息中间件对所述生产者发送的数据进行分布式存储,并通知生产者数据发送成功,包括:
在所述生产者与所述消息中间件建立连接后,所述消息中间件接收所述生产者发送的数据;
所述消息中间件将接收到的数据同时写入分布式文件存储系统的N个存储节点;
所述消息中间件将存储成功的数据写入所述消息中间件的本地队列;
所述消息中间件向所述生产者发送数据发送成功的通知。
4.根据权利要求3所述的方法,其特征在于,所述消费者通过验证接收数据Schema与所述消息中间件建立连接,并设置消费游标,包括:
所述消费者从所述注册中心获取消息中间件地址;
基于所述注册中心返回的目标主题所在地址,携带验证接收数据Schema到所述消息中间件进行验证;
验证成功后,设置消费游标,并建立与所述消息中间件的连接。
5.根据权利要求4所述的方法,其特征在于,所述消息中间件根据订阅所述目标主题的消费者的消费游标,从本地队列或分布式存储中拉取数据,包括:
当所述消费游标指定值在本地队列时,所述消息中间件从本地队列中拉取数据;
当所述消费游标指定值未在本地队列时,所述消息中间件从分布式存储中拉取数据。
<...
【专利技术属性】
技术研发人员:喻俊,彭一,张志广,李小红,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。