一种数据的管理方法和系统技术方案

技术编号:38468620 阅读:10 留言:0更新日期:2023-08-11 14:45
本发明专利技术公开一种数据的管理方法和系统,属于数据处理技术领域。该数据的管理方法,包括以下步骤:S1、数据库服务器获取第一分析结果,第一分析结果通过设备服务器从设备端获得mysql数据进行分析得到;S2、数据库服务器将第一分析结果解析成业务实体对象拆分送至mysql数据库和clickhouse数据库。该数据的管理系统,包括:设备端、设备服务器、mysql数据库、clickhouse数据库和数据库服务器;设备服务器分别与所述设备端和数据库服务器连接,数据库服务器分别与mysql数据库和clickhouse数据库连接。该管理方法具有更快的查询效率。该管理方法具有更快的查询效率。该管理方法具有更快的查询效率。

【技术实现步骤摘要】
一种数据的管理方法和系统


[0001]本专利技术涉及数据处理
,具体涉及一种数据的管理方法和系统。

技术介绍

[0002]随着零售行业的发展以及行业竞争愈发的激烈,设备数字化的进程是不可避免的。在全国各地广泛的铺开智能柜设备后,由设备产生的数据量也随之变的更加庞大。此时在宏观层面对各维度数据的统计,或者想要实时动态的了解数据变化和趋势,用于公司或企业化管理。在传统的存储分析和查询的方案中(即:Mysql+Redis),变得难以支撑,所以为了优化效率,对于数据而言,在分析的方式、存储的过程、查询的效率,这些优化点上成为了亟需解决的问题。
[0003]传统方案中,最核心重要的地方就是【DB层】,用于数据存储和读取的地方,也是最容易产生瓶颈的点,接下来,我们来仔细看一下mysql对于数据分析、存储结构,什么情况下开始导致效率逐渐变得低下。
[0004]首先需要了解mysql的结构:
[0005]1、首先服务端向mysql发起网络请求;
[0006]2、请求由mysql的客户端连接器接受;
[0007]3、客户端连接器向mysql server端发出请求;
[0008]4、Mysql server经过一系列的请求解析、sql拆分、优化等操作后按照对应的存储引擎规则,向存储引擎,读取或写入数据,如果是读取,即返回读取结果,如果是写入,即返回写入成功(不管是读取结果,还是通知写入成功,这都是一种返回结果);
[0009]5、最终服务端读取到结果,可以继续做后续操作或是流程流转。
[0010]我们知道,在计算机中,对于磁盘的读写操作是会消耗大量的IO资源的,每一次的读取或是写入,都是一次IO的消耗,而计算机资源是有限的,所以,我们可以简单的计算出mysql存储的数据量以及对应的IO次数。
[0011]1、InnoDB存储引擎是以数据页为单位,每个单位16K,即16x1024=16384B(字节),最终对应的是文件系统块;
[0012]2、文件系统块,每个单位4k,最终对应的是磁盘扇区;
[0013]3、磁盘扇区,每个单位512B;
[0014]根据InnoDB存储引擎描述,所有真实有效数据,存储在叶子节点,需要计算数据量,就只需要计算叶子节点所属的父节点所包含的指针数量,计算方式如下:
[0015]1.假设订单表,每一行数据大小为1K,即一个数据页可以存储16条数据。
[0016]2.主键ID为bigint类型,长度为8字节,而指针大小在InnoDB源码中设置为6字节,这样一共14字节。
[0017]3.那么一个数据页能存储的指针,16384(字节)/14(字节),约为1170(个)。
[0018]4.每一个指针指向一个数据页,1170(个)x 16(条)=18720(条)。
[0019]5.那么2阶B+树,理论上最多可以存储18720条订单数据。
[0020]6.3阶B+树,理论上最多可以存储1170(个)x 1170(个)x 16(条)=21902400(条)。
[0021]7.以上,得出结论,如果通过主键ID查询,2

3阶的B+树,往往只需要1

3次IO查询,即可得到想要的结果;
[0022]但是现实往往是不同于理论结果的,就拿订单数据而言,订单数据通过设备端产生,如果每天平均30万数据量(具体数量取决于设备数量,公司/企业运营情况等),简单计算的结果就是,1个月会产生30万x 30天即900万数据量,1年的数据量大小为900万x12个月即1亿800万,按照目前业务范围,至少需要保持2年内的数据,即2亿多(接近200G)的数据,这对于mysql的单表而言,是庞大的,难以消化的数据量,这还仅仅是众多业务表中的其中一张表,这首先对于磁盘就是一次巨大的存储挑战,对于数据读取,实际上,往往根据已知设定好的关联关系,进行多个业务表的关联查询,这就需要消耗更多的IO次数,和内存资源,如果遇到更为复杂的业务需求,消耗只会更多,这对于服务器的压力是巨大的,那么对于客户端而言,效率是难以忍受的,甚至会服务超时。
[0023]总结一下问题重点:
[0024]1、数据存储量压力大;
[0025]2、IO次数过多;
[0026]3、消耗的时间过长;
[0027]mysql虽然也有分区设计,但是需要大范围查询统计结果时,依然无法有效缓解数据量过大带来的上述总结问题。本专利技术方案,针对于这两个重点问题会展开具体实现。

技术实现思路

[0028]本专利技术的目的在于克服上述技术不足,提供一种数据的管理方法和系统,解决现有技术中如何提高数据的查询效率的技术问题。
[0029]为达到上述技术目的,本专利技术的技术方案提供一种数据的管理方法,包括以下步骤:
[0030]S 1、数据库服务器获取第

分析结果,所述第一分析结果通过设备服务器从设备端获得mysql数据进行分析得到;
[0031]S2、所述数据库服务器将所述第一分析结果解析成业务实体对象拆分送至mysql数据库和clickhouse数据库。
[0032]进一步地,在步骤S2之后还包括步骤:
[0033]S3、客户端通过客户服务器从所述mysql数据库和/或所述clickhouse数据库查询数据。
[0034]进一步地,在步骤S1中,所述my5ql数据包括新增操作、更新操作和删除操作产生的mysql数据。
[0035]进一步地,在步骤S2中,所述业务实体对象包括订单表中的字段,订单金额、时间、商品货号和货架ID中的一种或者多种。
[0036]进一步地,在步骤S2中,根据已有关联关系和业务关联关系拆分送至所述mysql数据库和所述clickhouse数据库。
[0037]进一步地,在步骤S2中,所述mysql数据库包括订单小时表,订单天表和订单月表。
[0038]进一步地,在步骤S3中,所述查询数据的方式包括时间范围查询、区域范围查询和
综合条件查询。
[0039]进一步地,在步骤S3中,所述客户端通过客户服务器还包括从redis数据库查询数据;所述redis数据库用于缓存部分查询结果。
[0040]此外,被专利技术还提出一种数据的管理系统,包括:设备端、设备服务器、mysql数据库、clickhouse数据库和数据库服务器;所述设备服务器分别与所述设备端和所述数据库服务器连接,所述数据库服务器分别与所述mysql数据库和所述clickhouse数据库连接。
[0041]进一步地,还包括客户端和客户服务器,所述客户服务器分别与所述mysql数据库和所述clickhouse数据库连接;所述客户端与所述客户服务器连接。
[0042]与现有技术相比,本专利技术的有益效果包括:数据库服务器获取第一分析结果,所述第一分析结果通过设备服务器从设备端获得mysql数据进行分析得本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的管理方法,其特征在于,包括以下步骤:S1、数据库服务器获取第一分析结果,所述第一分析结果通过设备服务器从设备端获得mysql数据进行分析得到;S2、所述数据库服务器将所述第一分析结果解析成业务实体对象拆分送至mysql数据库和clickhouse数据库。2.根据权利要求1所述的数据的管理方法,其特征在于,在步骤S2之后还包括步骤:S3、客户端通过客户服务器从所述mysql数据库和/或所述clickhouse数据库查询数据。3.根据权利要求1所述的数据的管理方法,其特征在于,在步骤S1中,所述mysql数据包括新增操作、更新操作和删除操作产生的mysql数据。4.根据权利要求1所述的数据的管理方法,其特征在于,在步骤S2中,所述业务实体对象包括订单表中的字段,订单金额、时间、商品货号和货架ID中的一种或者多种。5.根据权利要求1所述的数据的管理方法,其特征在于,在步骤S2中,根据已有关联关系和业务关联关系拆分送至所述mysql数据库和所述clickhouse数...

【专利技术属性】
技术研发人员:叶宇峰汪文星
申请(专利权)人:深圳市丰宜科技有限公司
类型:发明
国别省市:

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

1