[发明专利]一种数据处理的方法及系统有效
申请号: | 201510254277.1 | 申请日: | 2015-05-19 |
公开(公告)号: | CN104834558B | 公开(公告)日: | 2018-06-01 |
发明(设计)人: | 魏仁言;孙海滨;吕科 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;H04L29/08 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 姜劲;金洁 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 客户端装置 读取 存储 服务端装置 分组 处理数据 手动控制 数据丢失 数据分片 数据接收 单线程 多线程 客户端 实时性 更新 重启 分发 积压 失败 保证 | ||
本发明提供了一种数据处理的方法及系统,能够高效、快速地处理数据。该方法包括:服务端装置将分组后的数据向多组客户端装置分发;客户端装置接收所述分组后的数据,并将该数据进行存储;客户端装置读取存储的所述数据,然后对读取的数据分片,再对每片数据分别作单线程处理。采用本发明的技术方案,解决了单个kafka客户端宕机时的数据接收与处理、以及多线程同时更新导致更新丢失的问题,且可以实现手动控制数据处理任务的暂停和重启,同时避免了数据积压或处理失败造成的数据丢失,提高了数据处理可靠性,保证了数据的准确性和实时性。
技术领域
本发明涉及计算机网络技术领域,特别地涉及一种数据处理的方法及系统。
背景技术
随着计算机网络的广泛应用以及电子商务行业的快速发展,越来越多的人关注数据的重要性,尤其对于数据化运营来说,对数据的处理及分析,在降低运营成本的同时,还能大大提高运营方向的准确性,其中实时数据更是关注的焦点。但是对于海量实时数据的处理,一直是一个难点。
在现有的技术中,对于海量实时数据的处理一般选用分布式消息队列,如kafka来进行消息的收发和管理。kafka分布式消息队列以关键字(topic)来进行消息管理,每个topic又分为多个分组(partition),以partition作为数据转移、存储及读取的最小单位。
kafka分布式消息队列服务器端接收到数据后将每个topic的消息均匀的分布到多个partition上。Kafka消息队列客户端client根据指定的topic和partition num进行数据接收,因此每组Kafka消息队列客户端只能对应接收一个topic下不同partition的数据,且每个partition只会被一个Kafka消息队列客户端接收。Kafka消息队列客户端从数据队列接收到数据后,将数据持久化存储到数据库中,之后数据库按照相应的业务逻辑通过多线程并行处理的方式来处理数据,如果处理成功,更新数据标志位,标识已完成数据处理;如果数据处理失败,则从数据库读出未处理数据,重新进行处理。
本发明人经过在本行业多年的实践经验,发现现有技术存在以下缺点:
1、在使用过程中,如果应用kafka客户端意外宕机,就会导致该客户端对应接收的数据积压,无法处理,影响数据的实时性;
2、现有方案中,数据处理任务只能由线程自己调度,无法实现数据处理的暂停和重启;
3、由于现有方案是多线程同时处理数据,因此多条线程可能会同时处理一个数据,就会出现系统资源浪费及更新丢失的情况,无法实现高并发、高性能的处理消息;
4、现有方案中,当数据处理失败时,需要从数据库中读取未处理的消息重新进行处理,如果积压了过多的数据未处理,数据库的I/O性能将会大大下降,从而导致处理效率降低。
发明内容
有鉴于此,本发明提供一种数据处理的方法及系统,解决了kafka客户端意外宕机时的数据接收及处理、多线程同时更新导致更新丢失的问题,且可以实现手动控制数据处理任务的暂停和重启,以及减少直接与数据库的数据信息交互,从而提高了可靠性,功能稳定且处理性能高。
为实现上述目的,根据本发明的一个方面,提供了一种数据处理的方法。
本发明的一种数据处理的方法包括:服务端装置将分组后的数据向多组客户端装置分发;客户端装置接收所述分组后的数据,并将该数据进行存储;客户端装置读取存储的所述数据,然后对读取的数据分片,再对每片数据分别作单线程处理。
可选地,所述服务端装置包括kafka消息队列服务器端装置及任务协调装置,且所述客户端装置设置有kafka消息队列客户端装置。
可选地,将该数据进行存储的步骤包括:持久化存储所述数据,以及缓存该数据;并且客户端装置读取存储的所述数据的步骤包括:客户端装置读取缓存的所述数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510254277.1/2.html,转载请声明来源钻瓜专利网。