日期分区表批量扩展方法、装置、计算机设备及存储介质与流程

文档序号:22313642发布日期:2020-09-23 01:34阅读:109来源:国知局
本发明涉及人工智能的数据存储
技术领域
:,尤其涉及一种日期分区表批量扩展方法、装置、计算机设备及存储介质。
背景技术
::目前,通过数据库存储用户数据(例如办理某项通讯功能业务,或是随着国民经济发展越来频繁的网上购物交易等不同场景的用户业务数据)是大多服务器的常用方式。对用户数据进行存储常用的方式是使用普通表,也即每上传至数据库中存储的用户数据是按照时间先后顺序依次存储在普通表中。例如,当对数据库中的数据有删除需求时,是对整个数据表的所有数据进行查询后得到需删除的数据之后进行删除,这就导致维护效率低下。若某一时段有大量数据需快速写入普通表时,由于普通表已存储了大量数据,这也会导致数据写入速率降低。可见,使用普通表存储用户数据,不仅不便于数据的维护,而且数据库性能也会很快到达瓶颈。技术实现要素:本发明实施例提供了一种日期分区表批量扩展方法、装置、计算机设备及存储介质,旨在解决现有技术中数据库采用普通表存储数据时不仅不便于数据的增删改等数据维护操作,而且数据库性能也会很快到达瓶颈的问题。第一方面,本发明实施例提供了一种日期分区表批量扩展方法,其包括:判断当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期;若当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,获取当前系统时间对应的当前日期和预设的新建日期分区期望个数,调用预设的模拟用户数据生成策略,生成与所述新建日期分区期望个数有相同个数的模拟用户数据;其中,所述模拟用户数据生成策略包括模拟用户数据模板,及用于根据当前日期和所述新建日期分区期望个数对应调整各生成用户模拟数据的模拟日期的日期递加指令;将各用户模拟数据发送至历史日期分区表,以新建对应日期分区并将各用户模拟数据删除,得到当前日期分区表;判断所述当前日期分区表中新建分区对应的当前个数是否等于1;若所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期,根据目标日期及预设的日期前向递减个数,获取与目标日期对应的已筛选日期集;获取所述已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前输入向量,将当前输入向量输入至预先训练的反向传播神经网络模型进行运算,得到与所述目标日期对应的分区存储空间预估值;以及将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。第二方面,本发明实施例提供了一种日期分区表批量扩展装置,其包括:系统时间判断单元,用于判断当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期;模拟用户数据生成单元,用于若当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,获取当前系统时间对应的当前日期和预设的新建日期分区期望个数,调用预设的模拟用户数据生成策略,生成与所述新建日期分区期望个数有相同个数的模拟用户数据;其中,所述模拟用户数据生成策略包括模拟用户数据模板,及用于根据当前日期和所述新建日期分区期望个数对应调整各生成用户模拟数据的模拟日期的日期递加指令;当前日期分区表生成单元,用于将各用户模拟数据发送至历史日期分区表,以新建对应日期分区并将各用户模拟数据删除,得到当前日期分区表;当前日期分区表判断单元,用于判断所述当前日期分区表中新建分区对应的当前个数是否等于1;已筛选日期集获取单元,用于若所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期,根据目标日期及预设的日期前向递减个数,获取与目标日期对应的已筛选日期集;第一预估值获取单元,用于获取所述已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前输入向量,将当前输入向量输入至预先训练的反向传播神经网络模型进行运算,得到与所述目标日期对应的分区存储空间预估值;以及第一分区扩展单元,用于将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的日期分区表批量扩展方法。第四方面,本发明实施例还提供了一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有计算机程序,其中,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的日期分区表批量扩展方法。本发明实施例提供了一种日期分区表批量扩展方法、装置、计算机设备及存储介质,包括判断当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期;若当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,获取当前系统时间对应的当前日期和预设的新建日期分区期望个数,调用预设的模拟用户数据生成策略,生成与所述新建日期分区期望个数有相同个数的模拟用户数据;将各用户模拟数据发送至历史日期分区表,以新建对应日期分区并将各用户模拟数据删除,得到当前日期分区表;判断所述当前日期分区表中新建分区对应的当前个数是否等于1;若所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期,根据目标日期及预设的日期前向递减个数,获取与目标日期对应的已筛选日期集;获取所述已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前输入向量,将当前输入向量输入至预先训练的反向传播神经网络模型进行运算,得到与所述目标日期对应的分区存储空间预估值;以及将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。该方法实现了通过日期分区表存储每日用户数据,而且表中的各日期分区均是在实际日期未到时预先创建,不仅便于数据的维护,而且数据库性能也得到提升。附图说明为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的日期分区表批量扩展方法的应用场景示意图;图2为本发明实施例提供的日期分区表批量扩展方法的流程示意图;图3为本发明实施例提供的日期分区表批量扩展装置的示意性框图;图4为本发明实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1和图2,图1为本发明实施例提供的日期分区表批量扩展方法的应用场景示意图;图2为本发明实施例提供的日期分区表批量扩展方法的流程示意图,该日期分区表批量扩展方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。如图2所示,该方法包括步骤s101~s107。s101、判断当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期。在本实施例中,在服务器中的数据库中存储有日期分区表,该日期分区表用于按照日期存储其他终端(如用户端)上传的用户数据(例如办理某项通讯功能业务,或是网上购物交易等不同场景的用户业务数据)。为了提高新增日期分区的首条数据的存储效率,此时可以检测服务器的当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期。例如当前的日期分区表中有10个分区,分别对应200x年11月1日-200x年11月10日,此时的当前系统时间为200x年11月10日23:00,若预设的系统周期为24小时且上一表格扩展时间为200x年11月09日23:00,则可判定当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期。s102、若当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,获取当前系统时间对应的当前日期和预设的新建日期分区期望个数,调用预设的模拟用户数据生成策略,生成与所述新建日期分区期望个数有相同个数的模拟用户数据;其中,所述模拟用户数据生成策略包括模拟用户数据模板,及用于根据当前日期和所述新建日期分区期望个数对应调整各生成用户模拟数据的模拟日期的日期递加指令。在本实施例中,在服务器中若判定当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,此时获取当前系统时间如200x年11月10日23:00,其对应的当前日期为200x年11月10日,此时还要同时获取预设的新建日期分区期望个数(最佳的,将新建日期分区期望个数设置为1,当然将新建日期分区期望个数设置取值在(1,10]的任意自然数均可)。例如,当预设的新建日期分区期望个数为1个,则调用预设的模拟用户数据生成策略,生成200x年11月11日的模拟用户数据;例如,当预设的新建日期分区期望个数为2个,则调用预设的模拟用户数据生成策略,生成200x年11月11日的第一模拟用户数据、及200x年11月12日的第二模拟用户数据。若当前系统时间与上一表格扩展时间的时间间隔不等于所述系统周期,表示此时还未到日期分区扩展的时刻,此时在等待预设的延迟时间后(如10min)后,再次返回执行步骤s101即可。在一实施例中,步骤s102包括:获取所述模拟用户数据模板;其中,所述模拟用户数据模板包括用户数据日期字段;获取当前系统时间对应的当前日期,调用日期递加指令,生成与所述新建日期分区期望个数相应的目标日期集;生成与所述新建日期分区期望个数有相同数据条数的模拟用户数据集;其中,所述模拟用户数据集中的每一模拟用户数据中分别填充所述目标日期集中的一个目标日期。在本实施例中,实际的用户数据中是包括m个数据字段(m为大于1的自然数),例如包括用户数据日期字段、用户id字段、用户账号字段、用户性别字段、用户年龄字段等,且用户数据中每一数据字段都是有具体的字段取值。该模拟用户数据模板在预先设置时,其设置方式可以是随机获取一条历史用户数据,将该历史用户数据中的用户数据日期字段的具体字段取值替换为空值。例如模拟用户数据模板包括的具体信息如下表1所示:用户id用户数据日期用户账号用户性别用户年龄1234567null1234567男25表1其中,用户数据日期这一字段的取值为null(也即空值)。由于此时获知了当前日期如200x年11月10日,而日期递加指令的作用是以当前日期为初始值递增1日n次,n的取值与所述新建日期分区期望个数相同。例如当预设的新建日期分区期望个数为2个,则目标日期集为{200x年11月11日,200x年11月12日},该目标日期集包括的用户数据日期有2个。由于获取了模拟用户数据模板,此时也根据所述新建日期分区期望个数获知了需生成多少条模拟用户数据,此时将该模拟用户数据模板复制n次,得到n条模拟用户数据模板,之后再将生成多个目标日期逐一填入每一条模拟用户数据模板,从而得到模拟用户数据集。例如目标日期集为{200x年11月11日,200x年11月12日},则模拟用户数据集中包括的2条模拟用户数据分别如下表2和表3,例如表2表示的是第一模拟用户数据,表3表示的是第二模拟用户数据:用户id用户数据日期用户账号用户性别用户年龄1234567200x年11月11日1234567男25表2用户id用户数据日期用户账号用户性别用户年龄1234567200x年11月12日1234567男25表3通过上述方式即完成了模拟用户数据的自动快速生成。s103、将各用户模拟数据发送至历史日期分区表,以新建对应日期分区并将各用户模拟数据删除,得到当前日期分区表。在本实施例中,当完成了用户模拟数据的生成后,向服务器中已存储的历史日期分区表中插入和保存各模拟用户数据时,触发历史日期分区表根据各模拟用户数据对应生成日期分区,例如,根据如表2所示的第一模拟用户数据在历史日期分区表中新增日期属性为200x年11月11日的第一新增日期分区,根据如表3所示的第二模拟用户数据在历史日期分区表中新增日期属性为200x年11月12日的第二新增日期分区。在一实施例中,步骤s103包括:将各模拟用户数据发送至历史日期分区表,对应在所述历史日期分区表中新建与各模拟用户数据对应的日期分区,以得到当前初始日期分区表;将当前初始日期分区表中根据各模拟用户数据对应的日期分区中的各模拟用户数据进行删除,得到当前日期分区表。在本实施例中,根据如表2所示的第一模拟用户数据在历史日期分区表中新增日期属性为200x年11月11日的第一新增日期分区,根据如表3所示的第二模拟用户数据在历史日期分区表中新增日期属性为200x年11月12日的第二新增日期分区后,得到了当前初始日期分区表。由于当前初始日期分区表中各新增分区中存储的模拟用户数据是根据模拟用户数据生成策略而生成的,不是实际的用户数据,故在触发了在历史日期分区表中新建与各模拟用户数据对应的日期分区后,再将各模拟用户数据对应的日期分区中的各模拟用户数据进行删除,得到当前日期分区表。此时当前日期分区表新建的初始为空的日期分区即可用于存储对应日期实际的用户数据。在一实施例中,所述将各模拟用户数据发送至历史日期分区表,对应在所述历史日期分区表中新建与各模拟用户数据对应的日期分区,以得到当前初始日期分区表,包括:获取所述历史日期分区表的分区表初始空间值;根据所述分区表初始空间值在所述历史日期分区表中创建与各模拟用户数据对应的日期分区;将各模拟用户数据保存至对应新建的日期分区,得到当前初始日期分区表。在本实施例中,分区表初始空间值是在初始建立历史日期分区表时就设置的初始属性,在历史日期分区表中每新增一个分区时,该分区的初始存储空间大小即与分区表初始空间值相等。当完成了新建分区后,将上述两条模拟用户数据存储至已对应新增分区的历史日期分区表的过程之后,得到了当前初始日期分区表。s104、判断所述当前日期分区表中新建分区对应的当前个数是否等于1。在本实施例中,判断所述当前日期分区表中新建分区对应的当前个数是否等于1,是为了判断目前还剩余多少个新建分区的存储空间大小值需要根据预先训练的反向传播神经网络模型进行预测而进行空间扩展。当所述当前日期分区表中新建分区对应的当前个数等于1,表示还剩1个新建分区的存储空间大小值需要根据预先训练的反向传播神经网络模型进行预测而进行空间扩展。s105、若所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期,根据目标日期及预设的日期前向递减个数,获取与目标日期对应的已筛选日期集。在本实施例中,当所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期(例如200x年11月11日),此时还根据目标日期及预设的日期前向递减个数(如10个),此时得到的与200x年11月11日对应的已筛选日期集包括的筛选日期为200x年11月1日-200x年11月10日这10个筛选日期。s106、获取所述已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前输入向量,将当前输入向量输入至预先训练的反向传播神经网络模型进行运算,得到与所述目标日期对应的分区存储空间预估值。在本实施例中,由于已筛选日期集中各日期对应日期分区是已进行存储空间大小扩展处理的,故以已筛选日期集中各日期对应的分区存储空间大小值按时间顺序升序排列组成当前输入向量,输入至预先训练的反向传播神经网络模型进行运算,得到与目标日期对应的分区存储空间预估值。通过反向传播神经网络模型,实现了对所述目标日期对应的分区存储空间预估值的预测。在一实施例中,步骤s106之前还包括:获取训练集;其中,所述训练集中每一训练样本中的输入向量与所述当前输入向量均为1*n的一维行向量,n的取值与日期前向递减个数相等;将所述训练集中每一训练样本中的输入向量作为待训练反向传播神经网络的输入,将训练集中每一训练样本中的输出值作为待训练反向传播神经网络的输出,对待训练反向传播神经网络进行训练,得到反向传播神经网络模型。在本实施例中,反向传播神经网络简记为bp网络(back-propagationnetwork),通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的神经网络模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。bp网络由输入层、隐含层和输出层组成,隐含层可以有一层或多层,例如一个m×k×n的三层bp网络模型,网络选用s型传递函数通过反传误差函数(ti为期望输出、oi为网络的计算输出),不断调节网络权值和阈值使误差函数e达到极小。在选取隐含层k的个数时,参照经验公式其中n为输入层神经元个数,m为输出层神经元个数,a为[1,10]之间的常数。在本申请中,n=10,m=1,选择a=2,k取6即可。在设计训练样本中的输入向量时,例如可以选择200y年11月1日-200y年11月10日这10个日期每一历史日期分区对应的分区存储空间大小值,按时间顺序升序排列组成该训练样本的输入向量,例如[1321.1133212],将200y年11月11日对应的分区存储空间大小值18作为该训练样本的输出值,通过多条类似上述训练样本的训练后,即可得到用于预测目标日期对应的分区存储空间预估值的反向传播神经网络模型。s107、将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。在本实施例中,当完成了对目标分区的分区存储空间预估值的预测后,此时可以将该目标分区的存储空间大小扩展为所述分区存储空间预估值,以实现对所述当前日期分区表中新建分区对应的存储空间大小值进行预先扩展,以提高数据表的存储性能。在一实施例中,步骤s107包括:调用预先存储的分区空间扩展指令,将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。在本实施例中,具体的分区空间扩展指令为altertable表名modifypartition分区名allocateextent(size分区存储空间预估值)。由于采用日期分区表存储各对应日期的用户数据,而且每一日期分区是在系统时间还未到达当日时预先就根据模拟用户数据触发建立,且该分区基于初始的分区存储空间大小对应一次性扩展为分区存储空间预估值,能有效提升数据存储的效率,而且便于数据的维护(例如按日期分区进行删除)。在一实施例中,如图2所示,步骤s104之后还包括:s108、若所述当前日期分区表中新建分区对应的当前个数大于1,获取新建分区对应的当前个数,获取当前的多个新建分区中分区日期排在首位的日期分区以作为当前目标日期,根据当前目标日期及预设的日期前向递减个数,获取与当前目标日期对应的当前已筛选日期集;s109、获取当前已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前筛选日期输入向量,将当前筛选日期输入向量输入至所述反向传播神经网络模型进行运算,得到与当前目标日期的当前分区存储空间预估值;s110、将所述当前日期分区表中当前目标日期对应分区的存储空间大小值扩展为所述当前分区存储空间预估值;s111、将新建分区对应的当前个数减1以更新当前个数,将当前的多个新建分区中分区日期排在首位的日期加1,返回执行步骤s104。在本实施例中,上述步骤与步骤s105-s107的不同之处在于,此时还剩余超过1个的新建分区需进行分区存储空间预估值的预测,此时按照新建分区对应的日期的先后顺序依次来进行预测。也即先预测分区日期排在首位的日期分区,完成该日期分区的分区存储空间预估值的预测后,将该分日期从首位移出,之后在对新的排在首位的日期分区进行分区存储空间预估值的预测,直至所有的新建分区完成分区存储空间预估值的预测。通过上述方式,实现了对当前日期分区表的所有新建分区的扩展。该方法实现了通过日期分区表存储每日用户数据,而且表中的各日期分区均是在实际日期未到时预先创建,不仅便于数据的维护,而且数据库性能也得到提升。本发明实施例还提供一种日期分区表批量扩展装置,该日期分区表批量扩展装置用于执行前述日期分区表批量扩展方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的日期分区表批量扩展装置的示意性框图。该日期分区表批量扩展装置100可以配置于服务器中。如图3所示,日期分区表批量扩展装置100包括:系统时间判断单元101、模拟用户数据生成单元102、当前日期分区表生成单元103、当前日期分区表判断单元104、已筛选日期集获取单元105、第一预估值获取单元106、第一分区扩展单元107。系统时间判断单元101,用于判断当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期。在本实施例中,在服务器中的数据库中存储有日期分区表,该日期分区表用于按照日期存储其他终端(如用户端)上传的用户数据(例如办理某项通讯功能业务,或是网上购物交易等不同场景的用户业务数据)。为了提高新增日期分区的首条数据的存储效率,此时可以检测服务器的当前系统时间与上一表格扩展时间的时间间隔是否等于预设的系统周期。例如当前的日期分区表中有10个分区,分别对应200x年11月1日-200x年11月10日,此时的当前系统时间为200x年11月10日23:00,若预设的系统周期为24小时且上一表格扩展时间为200x年11月09日23:00,则可判定当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期。模拟用户数据生成单元102,用于若当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,获取当前系统时间对应的当前日期和预设的新建日期分区期望个数,调用预设的模拟用户数据生成策略,生成与所述新建日期分区期望个数有相同个数的模拟用户数据;其中,所述模拟用户数据生成策略包括模拟用户数据模板,及用于根据当前日期和所述新建日期分区期望个数对应调整各生成用户模拟数据的模拟日期的日期递加指令。在本实施例中,在服务器中若判定当前系统时间与上一表格扩展时间的时间间隔等于所述系统周期,此时获取当前系统时间如200x年11月10日23:00,其对应的当前日期为200x年11月10日,此时还要同时获取预设的新建日期分区期望个数(最佳的,将新建日期分区期望个数设置为1,当然将新建日期分区期望个数设置取值在(1,10]的任意自然数均可)。例如,当预设的新建日期分区期望个数为1个,则调用预设的模拟用户数据生成策略,生成200x年11月11日的模拟用户数据;例如,当预设的新建日期分区期望个数为2个,则调用预设的模拟用户数据生成策略,生成200x年11月11日的第一模拟用户数据、及200x年11月12日的第二模拟用户数据。在一实施例中,模拟用户数据生成单元102包括:数据模板获取单元,用于获取所述模拟用户数据模板;其中,所述模拟用户数据模板包括用户数据日期字段;目标日期集获取单元,用于获取当前系统时间对应的当前日期,调用日期递加指令,生成与所述新建日期分区期望个数相应的目标日期集;模拟用户数据集生成单元,用于生成与所述新建日期分区期望个数有相同数据条数的模拟用户数据集;其中,所述模拟用户数据集中的每一模拟用户数据中分别填充所述目标日期集中的一个目标日期。在本实施例中,实际的用户数据中是包括m个数据字段(m为大于1的自然数),例如包括用户数据日期字段、用户id字段、用户账号字段、用户性别字段、用户年龄字段等,且用户数据中每一数据字段都是有具体的字段取值。该模拟用户数据模板在预先设置时,其设置方式可以是随机获取一条历史用户数据,将该历史用户数据中的用户数据日期字段的具体字段取值替换为空值。例如模拟用户数据模板包括的具体信息如上表1所示,其中用户数据日期这一字段的取值为null(也即空值)。由于此时获知了当前日期如200x年11月10日,而日期递加指令的作用是以当前日期为初始值递增1日n次,n的取值与所述新建日期分区期望个数相同。例如当预设的新建日期分区期望个数为2个,则目标日期集为{200x年11月11日,200x年11月12日},该目标日期集包括的用户数据日期有2个。由于获取了模拟用户数据模板,此时也根据所述新建日期分区期望个数获知了需生成多少条模拟用户数据,此时将该模拟用户数据模板复制n次,得到n条模拟用户数据模板,之后再将生成多个目标日期逐一填入每一条模拟用户数据模板,从而得到模拟用户数据集。例如目标日期集为{200x年11月11日,200x年11月12日},则模拟用户数据集中包括的2条模拟用户数据分别如上表2和表3,例如表2表示的是第一模拟用户数据,表3表示的是第二模拟用户数据。通过上述方式即完成了模拟用户数据的自动快速生成。当前日期分区表生成单元103,用于将各用户模拟数据发送至历史日期分区表,以新建对应日期分区并将各用户模拟数据删除,得到当前日期分区表。在本实施例中,当完成了用户模拟数据的生成后,向服务器中已存储的历史日期分区表中插入和保存各模拟用户数据时,触发历史日期分区表根据各模拟用户数据对应生成日期分区,例如,根据如表2所示的第一模拟用户数据在历史日期分区表中新增日期属性为200x年11月11日的第一新增日期分区,根据如表3所示的第二模拟用户数据在历史日期分区表中新增日期属性为200x年11月12日的第二新增日期分区。在一实施例中,当前日期分区表生成单元103包括:当前初始日期分区表获取单元,用于将各模拟用户数据发送至历史日期分区表,对应在所述历史日期分区表中新建与各模拟用户数据对应的日期分区,以得到当前初始日期分区表;当前日期分区表获取单元,用于将当前初始日期分区表中根据各模拟用户数据对应的日期分区中的各模拟用户数据进行删除,得到当前日期分区表。在本实施例中,根据如表2所示的第一模拟用户数据在历史日期分区表中新增日期属性为200x年11月11日的第一新增日期分区,根据如表3所示的第二模拟用户数据在历史日期分区表中新增日期属性为200x年11月12日的第二新增日期分区后,得到了当前初始日期分区表。由于当前初始日期分区表中各新增分区中存储的模拟用户数据是根据模拟用户数据生成策略而生成的,不是实际的用户数据,故在触发了在历史日期分区表中新建与各模拟用户数据对应的日期分区后,再将各模拟用户数据对应的日期分区中的各模拟用户数据进行删除,得到当前日期分区表。此时当前日期分区表新建的初始为空的日期分区即可用于存储对应日期实际的用户数据。在一实施例中,所述当前初始日期分区表获取单元,包括:表初始空间值获取单元,用于获取所述历史日期分区表的分区表初始空间值;新日期分区创建单元,用于根据所述分区表初始空间值在所述历史日期分区表中创建与各模拟用户数据对应的日期分区;模拟用户数据保存单元,用于将各模拟用户数据保存至对应新建的日期分区,得到当前初始日期分区表。在本实施例中,分区表初始空间值是在初始建立历史日期分区表时就设置的初始属性,在历史日期分区表中每新增一个分区时,该分区的初始存储空间大小即与分区表初始空间值相等。当完成了新建分区后,将上述两条模拟用户数据存储至已对应新增分区的历史日期分区表的过程之后,得到了当前初始日期分区表。当前日期分区表判断单元104,用于判断所述当前日期分区表中新建分区对应的当前个数是否等于1。在本实施例中,判断所述当前日期分区表中新建分区对应的当前个数是否等于1,是为了判断目前还剩余多少个新建分区的存储空间大小值需要根据预先训练的反向传播神经网络模型进行预测而进行空间扩展。当所述当前日期分区表中新建分区对应的当前个数等于1,表示还剩1个新建分区的存储空间大小值需要根据预先训练的反向传播神经网络模型进行预测而进行空间扩展。已筛选日期集获取单元105,用于若所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期,根据目标日期及预设的日期前向递减个数,获取与目标日期对应的已筛选日期集。在本实施例中,当所述当前日期分区表中新建分区对应的当前个数等于1,获取所述当前日期分区表中新建分区对应的目标日期(例如200x年11月11日),此时还根据目标日期及预设的日期前向递减个数(如10个),此时得到的与200x年11月11日对应的已筛选日期集包括的筛选日期为200x年11月1日-200x年11月10日这10个筛选日期。第一预估值获取单元106,用于获取所述已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前输入向量,将当前输入向量输入至预先训练的反向传播神经网络模型进行运算,得到与所述目标日期对应的分区存储空间预估值。在本实施例中,由于已筛选日期集中各日期对应日期分区是已进行存储空间大小扩展处理的,故以已筛选日期集中各日期对应的分区存储空间大小值按时间顺序升序排列组成当前输入向量,输入至预先训练的反向传播神经网络模型进行运算,得到与目标日期对应的分区存储空间预估值。通过反向传播神经网络模型,实现了对所述目标日期对应的分区存储空间预估值的预测。在一实施例中,日期分区表批量扩展装置100还包括:训练集获取单元,用于获取训练集;其中,所述训练集中每一训练样本中的输入向量与所述当前输入向量均为1*n的一维行向量,n的取值与日期前向递减个数相等;模型训练单元,用于将所述训练集中每一训练样本中的输入向量作为待训练反向传播神经网络的输入,将训练集中每一训练样本中的输出值作为待训练反向传播神经网络的输出,对待训练反向传播神经网络进行训练,得到反向传播神经网络模型。在本实施例中,反向传播神经网络简记为bp网络(back-propagationnetwork),通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的神经网络模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。bp网络由输入层、隐含层和输出层组成,隐含层可以有一层或多层,例如一个m×k×n的三层bp网络模型,网络选用s型传递函数通过反传误差函数(ti为期望输出、oi为网络的计算输出),不断调节网络权值和阈值使误差函数e达到极小。在选取隐含层k的个数时,参照经验公式其中n为输入层神经元个数,m为输出层神经元个数,a为[1,10]之间的常数。在本申请中,n=10,m=1,选择a=2,k取6即可。在设计训练样本中的输入向量时,例如可以选择200y年11月1日-200y年11月10日这10个日期每一历史日期分区对应的分区存储空间大小值,按时间顺序升序排列组成该训练样本的输入向量,例如[1321.1133212],将200y年11月11日对应的分区存储空间大小值18作为该训练样本的输出值,通过多条类似上述训练样本的训练后,即可得到用于预测目标日期对应的分区存储空间预估值的反向传播神经网络模型。第一分区扩展单元107,用于将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。在本实施例中,当完成了对目标分区的分区存储空间预估值的预测后,此时可以将该目标分区的存储空间大小扩展为所述分区存储空间预估值,以实现对所述当前日期分区表中新建分区对应的存储空间大小值进行预先扩展,以提高数据表的存储性能。在一实施例中,第一分区扩展单元107还用于:调用预先存储的分区空间扩展指令,将所述当前日期分区表中新建分区对应的存储空间大小值扩展为所述分区存储空间预估值。在本实施例中,具体的分区空间扩展指令为altertable表名modifypartition分区名allocateextent(size分区存储空间预估值)。由于采用日期分区表存储各对应日期的用户数据,而且每一日期分区是在系统时间还未到达当日时预先就根据模拟用户数据触发建立,且该分区基于初始的分区存储空间大小对应一次性扩展为分区存储空间预估值,能有效提升数据存储的效率,而且便于数据的维护(例如按日期分区进行删除)。在一实施例中,如图3所示,日期分区表批量扩展装置100还包括:当前已筛选日期集获取单元108,用于若所述当前日期分区表中新建分区对应的当前个数大于1,获取新建分区对应的当前个数,获取当前的多个新建分区中分区日期排在首位的日期分区以作为当前目标日期,根据当前目标日期及预设的日期前向递减个数,获取与当前目标日期对应的当前已筛选日期集;第二预估值获取单元109,用于获取当前已筛选日期集中各日期对应的分区存储空间大小值,以按时间顺序升序排列组成当前筛选日期输入向量,将当前筛选日期输入向量输入至所述反向传播神经网络模型进行运算,得到与当前目标日期的当前分区存储空间预估值;第二分区扩展单元110,用于将所述当前日期分区表中当前目标日期对应分区的存储空间大小值扩展为所述当前分区存储空间预估值;当前个数更新单元111,用于将新建分区对应的当前个数减1以更新当前个数,将当前的多个新建分区中分区日期排在首位的日期加1,返回执行判断所述当前日期分区表中新建分区对应的当前个数是否等于1的步骤。在本实施例中,上述处理过程与已筛选日期集获取单元105、第一预估值获取单元106、及第一分区扩展单元107中的不同之处在于,此时还剩余超过1个的新建分区需进行分区存储空间预估值的预测,此时按照新建分区对应的日期的先后顺序依次来进行预测。也即先预测分区日期排在首位的日期分区,完成该日期分区的分区存储空间预估值的预测后,将该分日期从首位移出,之后在对新的排在首位的日期分区进行分区存储空间预估值的预测,直至所有的新建分区完成分区存储空间预估值的预测。通过上述方式,实现了对当前日期分区表的所有新建分区的扩展。该装置实现了通过日期分区表存储每日用户数据,而且表中的各日期分区均是在实际日期未到时预先创建,不仅便于数据的维护,而且数据库性能也得到提升。上述日期分区表批量扩展装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行日期分区表批量扩展方法。该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行日期分区表批量扩展方法。该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的日期分区表批量扩展方法。本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。应当理解,在本发明实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的日期分区表批量扩展方法。进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1