分区分片高QPS数据持久化方案的制作方法

文档序号:12364470阅读:406来源:国知局
分区分片高QPS数据持久化方案的制作方法与工艺

本发明涉及软件开发技术领域,具体涉及一种分区分片高QPS数据持久化方案。



背景技术:

随着社会科技的不断发展,数据库系统被广泛应用于各行各业。数据库系统在保存持久化数据时,随着记录数的增加数据库的保存速度(QPS)会几何级数地下降。当前解决方法是使用多个服务器做分区保存处理,包括时间分区保存方法,上述方法只能在初始阶段缓解数据库保存速度下降问题,不能彻底解决问题,随着服务器群保存的数据量的积累保存速度下降问题将暴发出来。

此外,数据积累是系统的不可避免的,只能将积累数据和当前实时新增的数据分开处理,才能解决保存速度下降的问题。系统运行中积累的数据和实时增加的数据都需要用于后续处理,当前所有的解决方案都是根据系统需求进行个性化进行分区处理。因此如何处理上述问题,是本发明要解决的问题。



技术实现要素:

本发明的目的在于针对现有技术的缺陷和不足,提供一种结构简单,设计合理、使用方便的分区分片高QPS数据持久化方案,它采用分时分片保存、转存、清理积累的方法和数据处理方法来解决上述问题,具有流程简易,能够解决除数据与时间有关外的,与系统其它需求无关,在系统长期运行中,保持高QPS持久化数据到数据库,提高其工作效率等优点。

本发明所述的分区分片高QPS数据持久化方案,它采用如下的方法步骤:

步骤一:将系统数据保存处理根据数据产生的时间进行周期性地进行分片处理,每个特定时间产生的数据只能在对应时间片数据库中进行业务逻辑处理;

步骤二:步骤一中所述的业务逻辑处理过程分为三个核心阶段:

三个核心阶段是保存阶段、转存到其它持久化系统阶段、清理当前时间片积累数据阶段;

所述保存阶段分为二个子阶段即时保存阶段和延时等待保存阶段;

针对数据的业务逻辑处理,最终系统分时分片周期为四个执行阶段:即时保存阶段、延时等待保存阶段、转存其它持久化系统阶段、清理当前时间片积累数据阶段;这四个执行阶段是周期发生的,当一个周期完成后自动进行下一个周期处理过程;

步骤三:将系统数据库分为四个区域,这四个区域有相同数据库结构,只是数据库名不同,四个区域分别运行在四个时间片状态:即时分片数据库、延时等待分片数据库、转存分片数据库、清理及待用空数据库;四个时间片状态的时间长度都是相等的,在长时间运行过程中,四个时间片分区数据库任何一个都是在这四个状态间按状态顺序周而复始地进行自动切换。

步骤四:将步骤二中的四个执行阶段:即时保存阶段、延时等待保存阶段、转存其它持久化系统阶段、清理当前时间片积累数据阶段;与步骤三中的系统数据库分为四个区域:即时分片数据库、延时等待分片数据库、转存分片数据库、清理及待用空数据库,分别进行绑定,形成四个处理单元,保证每个处理单元的封闭性,唯一性,相互不干扰。

进一步地,步骤二中所述的即时保存阶段:运行状态为当前数据库是新建的空数据库,没有任何记录。只保存数据产生时间在即时保存阶段的时间范围的数据;数据保存到即时分片数据库中。

进一步地,步骤二中的延时等待保存阶段:是即时保存阶段的延续;当系统时间超过即时保存阶段的最后时间范围后,即时分片数据库自动转换为延时等待分片数据库状态;只保存数据产生时间在延时等待保存阶段的时间范围的数据;数据保存到延时等待分片数据库中。

进一步地,步骤二中的转存其它持久化系统阶段:是延时等待保存阶段的后处理过程,系统将自动调用数据转存的个性化处理实现,将延时等待分片数据库中的数据转存到系统个性化指定的位置;个性化处理实现由实际系统单独处理,只要实现标准转存处理API定义就可。

进一步地,步骤二中的清理积累数据阶段:是转存其它持久化系统阶段的后处理过程;系统将自动调用按标准化格式定义数据库清理处理脚本,先清理全部数据库实例;再调用数据库创建处理脚本创建一个空数据库;清理积累数据阶段完成后的空数据库自动为下一个周期的即时保存阶段准备了所需的空数据库,即一个全新的、可用的即时分片数据库。

采用上述结构后,本发明有益效果为:本发明所述的分区分片高QPS数据持久化方案,它采用分时分片保存、转存、清理积累的方法和数据处理方法来解决上述问题,具有流程简易,能够解决除数据与时间有关外的,与系统其它需求无关,在系统长期运行中,保持高QPS持久化数据到数据库,提高其工作效率等优点。

【附图说明】

此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:

图1是本发明系统结构图。

图2是本发明的系统数据库分区和状态图。

【具体实施方式】

下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。

如图1-图2所示,本具体实施方式所述的分区分片高QPS数据持久化方案,它采用如下的方法步骤:

步骤一:将系统数据保存处理根据数据产生的时间进行周期性地进行分片处理,每个特定时间产生的数据只能在对应时间片数据库中进行业务逻辑处理;

步骤二:步骤一中所述的业务逻辑处理过程分为三个核心阶段:

三个核心阶段是保存阶段、转存到其它持久化系统阶段、清理当前时间片积累数据阶段;

所述保存阶段分为二个子阶段即时保存阶段和延时等待保存阶段;

针对数据的业务逻辑处理,最终系统分时分片周期为四个执行阶段:即时保存阶段、延时等待保存阶段、转存其它持久化系统阶段、清理当前时间片积累数据阶段;这四个执行阶段是周期发生的,当一个周期完成后自动进行下一个周期处理过程;

步骤三:将系统数据库分为四个区域,这四个区域有相同数据库结构,只是数据库名不同,四个区域分别运行在四个时间片状态:即时分片数据库、延时等待分片数据库、转存分片数据库、清理及待用空数据库。四个时间片状态的时间长度都是相等的,在长时间运行过程中,四个时间片分区数据库任何一个都是在这四个状态间按状态顺序周而复始地进行自动切换。

步骤四:将步骤二中的四个执行阶段:即时保存阶段、延时等待保存阶段、转存其它持久化系统阶段、清理当前时间片积累数据阶段;与步骤三中的系统数据库分为四个区域:即时分片数据库、延时等待分片数据库、转存分片数据库、清理及待用空数据库,分别进行绑定,形成四个处理单元,保证每个处理单元的封闭性,唯一性,相互不干扰。

步骤二中所述的即时保存阶段:运行状态为当前数据库是新建的空数据库,没有任何记录。只保存数据产生时间在即时保存阶段的时间范围的数据;数据保存到即时分片数据库中。

步骤二中的延时等待保存阶段:是即时保存阶段的延续;当系统时间超过即时保存阶段的最后时间范围后,即时分片数据库自动转换为延时等待分片数据库状态;只保存数据产生时间在延时等待保存阶段的时间范围的数据;数据保存到延时等待分片数据库中。

步骤二中的转存其它持久化系统阶段:是延时等待保存阶段的后处理过程,系统将自动调用数据转存的个性化处理实现,将延时等待分片数据库中的数据转存到系统个性化指定的位置;个性化处理实现由实际系统单独处理,只要实现标准转存处理API定义就可。

步骤二中的清理积累数据阶段:是转存其它持久化系统阶段的后处理过程。系统将自动调用按标准化格式定义数据库清理处理脚本,先清理全部数据库实例;再调用数据库创建处理脚本创建一个空数据库。清理积累数据阶段完成后的空数据库自动为下一个周期的即时保存阶段准备了所需的空数据库,即一个全新的、可用的即时分片数据库。

本发明中,对将系统数据保存处理,按分时分片周期来分为四个执行阶段来处理,四个执行阶段为:即时保存阶段、延时等待保存阶段、转存其它持久化系统阶段、清理当前时间片积累数据阶段。

系统数据库分为四个区域,这四个区域有相同数据库结构,只是数据库名不同。四个区域分别运行在四个时间片状态:即时分片数据库、延时等待分片数据库、转存分片数据库、清理及待用空数据库。四个时间片状态的时间长度都是相等的。

四个执行阶段对应系统数据库的四个区域,按时间片分别绑定和处理。保证了每个处理单元的封闭性,唯一性,相互不干扰。

如图1-2所示,本发明中采用具体实施例来进一步进行阐述说明:

系统开发、部署分为三大部分:数据库服务器群集及数据结构、数据库分片状态管理服务器、业务处理系统。

1)在数据库服务器群集上的创建4*T数据库实例,T为Hash等等其它分区方法的分区数。

2)在配置系统软件的配置文件中,将4*T数据库实例名平均分配到四个指定分组中。配置单个时间分片的时长,也就是配置周期的时长。

3)部署数据库分片状态管理服务器,持有每个数据库分片的实时运行状态。

4)部署依赖基础运行库开发的业务处理系统,每个业务处理系统在业务周期结束、切换时自动将状态报告给分片状态管理服务器。

5)后处理业务系统从分片状态管理服务器查询每个分片的实时状态,根据实时状态过滤后访问当前数据有效的数据库分片。

数据分区与执行状态,在时间片下状态如下表(一):

数据分区与执行状态,在时间片下状态如下表(二)

本发明所述的分区分片高QPS数据持久化方案,它采用分时分片保存、转存、清理积累的方法和数据处理方法来解决上述问题,具有流程简易,能够解决除数据与时间有关外的,与系统其它需求无关,在系统长期运行中,保持高QPS持久化数据到数据库,提高其工作效率等优点。

以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1