一种数据同步的控制方法、系统及装置制造方法及图纸

技术编号:20992613 阅读:30 留言:0更新日期:2019-04-29 22:35
本发明专利技术公开了一种数据同步的控制方法、系统及装置,其中,系统包括数据业务层、卡夫卡层和数据库,所述数据业务层通过卡夫卡层与数据库连接;所述数据业务层用于获取并运算货币交易数据,并将货币交易数据传输至卡夫卡层;所述卡夫卡层用于采用消息队列方式接收并分析货币交易数据后,将分析后的货币交易数据传输至数据库;所述数据库用于将接收到的货币交易数据存储接收到相应的MongoDB模块中。本发明专利技术通过卡夫卡的消息队列方式对货币交易数据进行分析,再将分析的数据结构存储到数据库,而无需在数据库中进行数据分析,极大地减少了数据的运算压力,提高了数据库的安全稳定性,可广泛应用于数据处理领域。

A Control Method, System and Device for Data Synchronization

The invention discloses a control method, system and device for data synchronization, in which the system comprises a data service layer, a Kafka layer and a database, the data service layer is connected with a database through the Kafka layer, the data service layer is used to acquire and calculate currency transaction data and transmit currency transaction data to the Kafka layer, and the Kafka layer is used to adopt message teams. After receiving and analyzing the currency transaction data in column mode, the analyzed currency transaction data is transmitted to the database, which is used to store and receive the received currency transaction data into the corresponding MongoDB module. The present invention analyses currency transaction data by message queue method of Kafka, and stores the data structure of analysis into database without data analysis in database, which greatly reduces the pressure of data operation, improves the security and stability of database, and can be widely used in data processing field.

【技术实现步骤摘要】
一种数据同步的控制方法、系统及装置
本专利技术涉及数据处理领域,尤其涉及一种数据同步的控制方法、系统及装置。
技术介绍
随着网络技术的迅速发展,催生了许多游戏软件,许多游戏软件中需要用虚拟货币,而虚拟货币的流通,对于游戏软件来说,就如同人体的血液流通。虚拟货币每天都会产生大量的交易数据,系统需要实时获取这些交易数据进行分析,现在的技术是,通过业务层直接与数据库直接连接,大量的交易数据直接在数据库内写入和读取,由于这种频繁的并发读写操作,极大地增加了数据库的压力,会影响数据库的正常运行,产生巨大的损失。名词解释:消息队列:是在消息的传输过程中保存消息的容器。卡夫卡:即Kafak,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。MongoDB模块:分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB模块是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。
技术实现思路
为了解决上述技术问题,本专利技术的第一目的是提供一种减轻数据库运算压力的数据同步的控制系统。本专利技术的第二目的是提供一种减轻数据库运算压力的数据同步的控制方法。本专利技术的第三目的是提供一种减轻数据库运算压力的数据同步的控制装置。本专利技术所采用的第一技术方案是:一种数据同步的控制系统,包括数据业务层、卡夫卡层和数据库,所述数据业务层通过卡夫卡层与数据库连接;所述数据业务层用于获取并运算货币交易数据,并将货币交易数据传输至卡夫卡层;所述卡夫卡层用于采用消息队列方式接收并分析货币交易数据后,将分析后的货币交易数据传输至数据库;所述数据库用于将接收到的货币交易数据存储接收到相应的MongoDB模块中。进一步,所述卡夫卡层包括Java服务模块,所述Java服务模块用于在接收到货币交易数据后,根据货币交易数据的类型将货币交易数据存储在预设的数据组中,并将数据组中的货币交易数据映射存储至相应类型的MongoDB模块中。进一步,所述数据组包括同步数据组和异步数据组。进一步,所述夫卡层还包括数据分析模块,所述数据分析模块用于从异步数据组中获取各类型的货币交易数据,并对货币交易数据进行分析后,将分析结果存储至相应的MongoDB模块中。进一步,所述数据业务层包括主节点模块和备份节点模块;所述主节点模块用于对货币交易数据进行运算处理;所述备份节点模块用于实时备份主节点模块的运算节点,并在判断主节点模块出现故障时,替换主节点模块对货币交易数据进行运算处理。本专利技术所采用的第二技术方案是:一种数据同步的控制方法,包括以下步骤:S1、获取并运算货币交易数据;S2、采用卡夫卡的消息队列方式接收并分析货币交易数据后,将分析后的货币交易数据存储接收到相应的MongoDB模块中。进一步,所述步骤S2中采用消息队列方式接收货币交易数据的步骤,具体为:在接收到货币交易数据后,根据货币交易数据的类型将货币交易数据存储在预设的数据组中,并将数据组种中的货币交易数据映射存储至相应类型的MongoDB模块中。进一步,所述数据组包括同步数据组和异步数据组,所述步骤S2中采用消息队列方式分析货币交易数据的步骤,具体为:从异步数据组中获取各类型的货币交易数据,并对货币交易数据进行分析后,将分析结果存储至相应的MongoDB模块中。进一步,所述步骤S1,具体为:获取货币交易数据后,采用主节点模块对货币交易数据进行运算处理;采用备份节点模块实时备份主节点模块的运算节点,并在判断主节点模块出现故障时,采用备份节点模块替换主节点模块对货币交易数据进行运算处理。本专利技术所采用的第三技术方案是:一种数据同步的控制装置,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述的一种数据同步的控制方法。本专利技术的有益效果是:本专利技术通过在数据业务层和数据库直接增加了卡夫卡层,数据库与卡夫卡层连接,只需给卡夫卡层访问数据的权限,故只有一端在访问数据库,避免数据业务层和数据库的多线程连接,从而减轻数据库的压力。另外通过卡夫卡的消息队列方式对货币交易数据进行分析,再将分析的数据结构存储到数据库,而无需在数据库中进行数据分析,极大地减少了数据的运算压力,提高了数据库的安全稳定性。附图说明图1是本专利技术一种数据同步的控制系统的结构框图;图2是本专利技术一种数据同步的控制方法的步骤流程图。具体实施方式实施例一如图1所示,本实施例提供一种数据同步的控制系统,包括数据业务层、卡夫卡层和数据库,所述数据业务层通过卡夫卡层与数据库连接;所述数据业务层用于获取并运算货币交易数据,并将货币交易数据传输至卡夫卡层;所述卡夫卡层用于采用消息队列方式接收并分析货币交易数据后,将分析后的货币交易数据传输至数据库;所述数据库用于将接收到的货币交易数据存储接收到相应的MongoDB模块中。上述系统的工作原理为:在数据业务层和和数据库之间加了一个卡夫卡层,货币交易数据先通过卡夫卡层的消息队列写到卡夫卡层再写到数据库中,由于数据库只需与卡夫卡层连接,即只需提供一个访问权限,而如果数据业务层和和数据库直接连接,则会出现多线程多访问权限的情况,因此数据库与卡夫卡层连接,只有一端在访问数据库,直接减缓了数据的运算压力。之前的技术,直接从数据业务层拉回货币交易数据,并在数据库中分析货币交易数据,直接加大了数据库的运算压力。卡夫卡层具有实时消费的特性,即有数据就消费,无数据则不消费;在数据业务层和和数据库之间增加了卡夫卡层后,在卡夫卡层进行货币交易数据分析,再将货币交易数据传输至数据库进行存储,极大地减轻了数据库的运算压力,避免数据库数量量大而出现问题,造成了严重的损失。进一步作为优选的实施方式,所述卡夫卡层包括Java服务模块,所述Java服务模块用于在接收到货币交易数据后,根据货币交易数据的类型将货币交易数据存储在预设的数据组中,并将数据组中的货币交易数据映射存储至相应类型的MongoDB模块中。所述数据组包括同步数据组和异步数据组。现虚拟货币主要具有四种形式,如比特币、以太币、瑞波币和莱特币,故在接收到不同的虚拟货币时,需进行相应的处理。在本实施例中,卡夫卡层包括Java服务模块,在卡夫卡层接收到不同类型的货币交易数据时,Java服务模块配合卡夫卡层实时消费数据,并在消费后,将货币交易数据存储在预设的数据组中,根据不同的货币交易数据类型设置有多个数据组,并且数据组包括同步数据组和异步数据组,所述Java服务模块将同步数据组中的货币交易数据映射存储至相应类型的MongoDB模块中,异步数据组的货币交易数据用于进行数据分析。所述数据组可根据实际需要,进行延伸。进一步作为优选的实施方式,所述夫卡层还包括数据分析模块,所述数据分析模块用于从异步数据组中获取各类型的货币交易数据,并对货币交易数据进行分析后,将分析结果存储至相应的MongoDB模块中。分析模块从异步数据组中获取各类型的货币交易数据,并对货币交易数据进行分析,而不是在数据库中进行分析,并将分析获得的结果存储于数据库的MongoDB模块中。在分析模块可设置不同的分本文档来自技高网...

【技术保护点】
1.一种数据同步的控制系统,其特征在于,包括数据业务层、卡夫卡层和数据库,所述数据业务层通过卡夫卡层与数据库连接;所述数据业务层用于获取并运算货币交易数据,并将货币交易数据传输至卡夫卡层;所述卡夫卡层用于采用消息队列方式接收并分析货币交易数据后,将分析后的货币交易数据传输至数据库;所述数据库用于将接收到的货币交易数据存储接收到相应的MongoDB模块中。

【技术特征摘要】
1.一种数据同步的控制系统,其特征在于,包括数据业务层、卡夫卡层和数据库,所述数据业务层通过卡夫卡层与数据库连接;所述数据业务层用于获取并运算货币交易数据,并将货币交易数据传输至卡夫卡层;所述卡夫卡层用于采用消息队列方式接收并分析货币交易数据后,将分析后的货币交易数据传输至数据库;所述数据库用于将接收到的货币交易数据存储接收到相应的MongoDB模块中。2.根据权利要求1所述的一种数据同步的控制系统,其特征在于,所述卡夫卡层包括Java服务模块,所述Java服务模块用于在接收到货币交易数据后,根据货币交易数据的类型将货币交易数据存储在预设的数据组中,并将数据组中的货币交易数据映射存储至相应类型的MongoDB模块中。3.根据权利要求2所述的一种数据同步的控制系统,其特征在于,所述数据组包括同步数据组和异步数据组。4.根据权利要求3所述的一种数据同步的控制系统,其特征在于,所述夫卡层还包括数据分析模块,所述数据分析模块用于从异步数据组中获取各类型的货币交易数据,并对货币交易数据进行分析后,将分析结果存储至相应的MongoDB模块中。5.根据权利要求4所述的一种数据同步的控制系统,其特征在于,所述数据业务层包括主节点模块和备份节点模块;所述主节点模块用于对货币交易数据进行运算处理;所述备份节点模块用于实时备份主节点模块的运算节点,并在判断主节点模块出现故障时,替换主节点模块对货币交易数据进行运算处理。6.一种数据同...

【专利技术属性】
技术研发人员:杨井
申请(专利权)人:无锡天脉聚源传媒科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1