一种数据存储失败时的重建方法及装置与流程

文档序号:12122611阅读:205来源:国知局
一种数据存储失败时的重建方法及装置与流程

本发明实施例涉及计算机技术领域,一种数据存储失败时的重建方法及装置。



背景技术:

随着移动通信、计算机以及互联网技术的发展,相隔两地的用户能够通过计算机平台进行营收活动,营收活动是指一方用户用电子账户中货币,向另一方面购买网络虚拟货币或服务,或者用户直接在线消费虚拟物品,计算机记录其消费的虚拟货币的种类、数量与单价,并从其电子账户中扣除相应的虚拟货币的行为。由于营收活动涉及钱财交易,必须及时对营收活动中的信息进行存储,存储时若出现存储插入错误,需要对数据进行重新插入。

现有技术中提供的数据重新插入方法为:当数据插入失败时,存储设备会直接将直接插入错误的数据存放到内存队伍当中,然后寻找合适的时间点把数据再次进行插入。

本发明创造的发明人在研究中发现,使用现有技术的数据插入方法,对插入失败的数据进行重新插入时,再次插入的失败的几率很大,当数据量很大的时候,出现很多数据插入失败,若再把原来插入失败的数据重试插入,不仅不能保证数据安全性,而且会使数据量累积越来越多,最终将后台进程完全都塞,影响业务正常运行。



技术实现要素:

本发明实施例主要解决的技术问题是提供一种数据存储失败时的重建方法,通过将插入失败的数据寄存在缓存区域内,并在缓存区域内对数据进行聚合,压缩插入失败的数据总量,减少对存储设备信息吞吐压力,分批次的将聚合后的数据进行重新插入,能够使重新插入有次序的进行,减少了对进程的压力,在不影响向业务正常进行的情况下,实现了数据的重新插入。

为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:提供一种数据存储失败时的重建方法,包括下述步骤:

将插入失败的数据寄存在缓存区域内;

根据数据携带的业务识别信息对所述寄存在缓存区域内的数据进行聚合;

将聚合后的数据分批次的进行重新插入。

可选地,所述将聚合后的数据分批次的进行重新插入包括:

所述重新插入依次进行,当前批次的数据插入成功后,对下一批次数据进行插入。

可选地,所述将聚合后的数据分批次的进行重新插入包括:

对业务进程进行监控;

当业务进程出现空闲时,将所述聚合后的数据进行重新写入。

可选地,所述根据数据携带的业务识别信息对所述寄存在缓存区域内的数据进行聚合包括:

识别寄存在所述缓存区域内数据携带的业务识别信息;

将携带有同一业务识别信息的数据进行统计;

用统计得到的数字数据替代所述存储区域内执行相同业务功能的数据。

可选地,所述业务识别信息包括:主机地址、目标地址和业务代码。

可选地,所述将聚合后的数据分批次的进行重新插入步骤之后,包括:

记录所述重新插入时连续失败的次数;

将所述连续失败的次数与预设的扩容阈值进行比较;

当所述连续失败的次数大于所述扩容阈值时,发出预警信息。

可选地,当所述连续失败的次数大于所述扩容阈值时,发出预警信息,包括:

计算所述缓存区域的数据总量;

根据所述数据总量确定扩容建议信息;

将所述扩容建议信息写入到预警信息内。

可选地,所述方法还包括:

识别所述业务代码所代表的业务类型;

当所述业务类型为收费业务类型时,优先将执行所述收费业务类型的数据进行重新插入。

可选地,所述方法还包括:

识别所述主机地址被标记的权限级别;

当所述主机地址被标记为特权用户时,优先将所述特权用户的数据进行重新插入。

为解决上述技术问题,本本发明创造的实施例还提供一种数据存储失败时的重建装置,包括:

缓存写入模块,用于将插入失败的数据寄存在缓存区域内;

数据整合模块,用于根据数据携带的业务识别信息对所述寄存在缓存区域内的数据进行聚合;

数据插入模块,用于将聚合后的数据分批次的进行重新插入。

可选地,所述重新插入依次进行,当前批次的数据插入成功后,对下一批次数据进行插入。

可选地,所述数据存储失败时的重建装置还包括:

进程监控模块,用于对业务进程进行监控;

所述进程监控模块检测到业务进程出现空闲时,所述数据插入模块将所述聚合后的数据进行重新写入。

可选地,所述数据存储失败时的重建装置还包括:

第一识别模块,用于识别寄存在所述缓存区域内数据携带的业务识别信息;

统计模块,用于将携带有同一业务识别信息的数据进行统计;

所述数据整合模块用统计得到的数字数据替代所述存储区域内执行相同业务功能的数据。

可选地,所述业务识别信息包括:主机地址、目标地址和业务代码。

可选地,所述数据存储失败时的重建装置还包括:

记录模块,用于记录所述重新插入时连续失败的次数;

比较模块,用于将所述连续失败的次数与预设的扩容阈值进行比较;

警示模块,用于当所述连续失败的次数大于所述扩容阈值时,发出预警信息。

可选地,所述数据存储失败时的重建装置还包括:

计算模块,用于计算所述缓存区域的数据总量;

扩容信息生成模块,用于根据所述数据总量确定扩容建议信息;

扩容信息写入模块,用于将所述扩容建议信息写入到预警信息内。

可选地,所述数据存储失败时的重建装置还包括:

第二识别模块,用于识别所述业务代码所代表的业务类型;

当所述业务类型为收费业务类型时,所述数据插入模块优先将执行所述收费业务类型的数据进行重新插入。

可选地,所述数据存储失败时的重建装置还包括:

第三识别模块,用于识别所述主机地址被标记的权限级别;

当所述主机地址被标记为特权用户时,所述数据插入模块优先将所述特权用户的数据进行重新插入。

本发明实施例的有益效果是:通过将插入失败的数据寄存在缓存区域内,并在缓存区域内对数据进行聚合,压缩插入失败的数据总量,减少对存储设备信息吞吐压力,分批次的将聚合后的数据进行重新插入,能够使重新插入有次序的进行,减少了对进程的压力,在不影响向业务正常进行的情况下,实现了数据的重新插入。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例数据存储失败时的重建方法的基本流程图;

图2为本发明实施例数据聚合方法的具体流程图;

图3为本发明实施例中数据重新插入时的具体方法流程图;

图4为本发明实施例扩容提醒方法流程图;

图5为本发明实施例警示信息的生产方法流程图;

图6为本发明实施例优先存储方法的流程图;

图7为本发明实施例另一种优先存储方法的流程图;

图8为本发明实施例数据存储失败时的重建装置基本结构框图;

图9为本发明实施例具有数据聚合功能的重建装置结构框图;

图10为本发明实施例具有监控进程功能的重建装置结构框图;

图11为本发明实施例具有扩容提醒功能的重建装置结构框图;

图12为本发明实施例具有扩容信息生成功能的重建装置结构框图;

图13为本发明实施例具有优先级数据插入功能的重建装置结构框图;

图14为本发明实施例中另一种具有优先级数据插入功能的重建装置结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

请参阅图1,图1为本实施例数据存储失败时的重建方法的基本流程图。

如图1所示,一种数据存储失败时的重建方法,包括下述步骤:

S1110、将插入失败的数据寄存在缓存区域内。在进行网上营收活动时需要及时将营收活动的数据加以存储,同时根据用户的具体业务行为,扣除相应的存储在服务器内用户账户内的电子交易货币。因此需要将用户执行业务的数据加以存储,在业务繁忙访问人数较多时系统服务器由于信息处理能力有限,无法同时处理所有的存储请求,致使部分数据在存储时插入数据失败,服务器将存储失败的数据存储在服务器的缓存区域,对插入失败的数据进行临时存储,以便于在服务器数据访问量下降时,将插入失败的数据重新插入到服务器的硬盘存储区域,进行永久性的保存。

S1120、根据数据携带的业务识别信息对所述寄存在缓存区域内的数据进行聚合。用户用于执行指定业务的数据携带有业务识别信息,业务识别信息是用于服务器辨识用户身份,执行的具体业务类型,以及任务执行针对的目标等信息。业务识别信息包括:主机地址、目标地址和业务代码。主机地址是用于识别用户具体身份的信息,主机地址不仅是指用户识别用户ID的物理地址,在一些实施例中,主机地址是指用户在某一平台上注册的账号等能够识别出用户身份的信息。目标地址,主要是指用户发出的指定业务执行的目标信息,如用户向某一平台发出交易信息,则平台账号为其目标地址,若用户通过直播平台向某一主播送虚拟的礼物,则该主播在该直播平台中的账号为目标地址,因此目标地址是指执行任务时任务目标执行对象的信息。业务代码是指用户指定执行任务的类型,如在直播平台中用户向主播送上鲜花的虚拟礼物,则其执行的任务是赠送鲜花的任务,执行赠送鲜花任务在屏幕显示时,仅显示呈花装的礼物,进行数据传输时,则为业务代码。携带有业务识别信息的数据能够明确数据的来源、类型和目的,如在直播礼物平台中的数据,表明某某用户向某某主播赠送某某礼物。

数据携带的业务识别信息放置在数据的特定位置。服务器通过进程识别缓冲区域内数据携带的业务识别信息,并将具有同一业务识别信息的数据进行聚合,使存储区域内的数据总量减少。

请参阅图2,图2为本实施例数据聚合方法的具体流程图。

S1121、识别寄存在所述缓存区域内数据携带的业务识别信息。数据携带的业务识别信息存在于数据的特定位置,识别时读取该特定位置的信息,即能够抓取到数据中的业务识别信息,在抓取到业务识别信息后识别该业务识别信息中的主机地址、目标地址和业务代码。

S1122、将携带有同一业务识别信息的数据进行统计。读取到数据的业务识别信息后,将携带有相同业务识别信息的数据进行累加统计,具体实现方案为:将数据携带的业务识别信息进行比对,将数据携带的首次出现的业务识别信息定义为基础比对信息,将其与其他数据携带的业务识别信息进行比对,若比对中出现与其相同的业务识别信息,则进行数据的累加。直至将缓存区域内所有数据携带的业务识别信息统计完成后,数据统计步骤即完成。需要指出的是,存储在缓存区域内的数据是不断地流动的,是一个动态过程,故需要对缓存区域内的数据进行持续的比对统计。

S1123、用统计得到的数字数据替代所述存储区域内执行相同业务功能的数据。在存储区域存储的具有相同业务识别信息的数据,分布在存储区域不同的存储单元中,每一个执行业务的数据都占有一定的存储区域,执行相同业务功能的数据,其数据的信息完全一致,却不得不存储在不同的存储单元中,占据缓冲区域的存储空间,同时在重新插入时,增大了存储装置的信息流量的吞吐量。

将分散在缓存区域内具有相同业务识别信息的数据进行统计,并将统计得到的数据进行存储,存储成功后将存储在缓存区域内具有相同业务识别信息的数据进行删除。

对上述技术方案进行举例说明,用户张XX在某一直播平台观看主播李XX的节目时,向李XX赠送了六朵玫瑰花的虚拟礼物,系统将数据进行存储时,由于处于繁忙阶段,数据存储失败,需要对数据进行重新插入。张XX向李XX赠送礼物的任务,生成了六个执行赠送任务的数据,这六个数据之间的差距在于,赠送的时间略有不同,其他的数据信息则完全一致,存储装置在读取了这六个数据携带的业务识别信号后,比对得知这六个数据携带的业务识别信息完全一致,均为张XX向李XX赠送一朵玫瑰花。至此存储装置对六个信息进行聚合,聚合后的信息表示为:张XX向李XX赠送六朵玫瑰花。由此能够看出,聚合后数据从聚合前的六条变为聚合后的一条,且单个的数据也未发生变化,能够看出通过聚合能够大大的降低数据的重复,减少数据总量。

数据的聚合方式不局限与此,在一些选择性实施方式中,数据还能够进行更进一步的聚合,如在直播平台中,礼物是由观众送个主播的,直播平台根据主播得到礼物的数量与主播结算薪金,因此,在本应用场景中,数据还能够进一步的进行聚合,在比对时忽略主机地址,仅对目标地址和业务代码均相同的数据进行比对与聚合,因为在此应用场景中用户的主机地址变得无关紧要。聚合后的数据变为:XX主播收到虚礼礼物玫瑰花六十六个、汽车三十三辆和吊坠九个的数据,从这里能够看出,在该应用场景下,数据聚合能够将成百上千条的数据压缩为几条数据,在一些只具有单一礼物的平台中,甚至能够将数据压缩为一条,因此能够降低数据总量,减轻对于存储装置的压力。

由上述两个例子能够看出本实施例中的数据聚合,就是能够将执行相同任务的数据进行统计压缩,并用统计数据替代分散存放的执行相同任务的数据。且能够根据具体的应用场景选择具体的聚合程度。

S1130、将聚合后的数据分批次的进行重新插入。数据聚合完成后,需要将聚合后的数据进行重新插入,插入时为了数据插入的有序进行,对数据进行分割,使存储空间内的数据形成具有相同数据量的数据段,数据段中的数据量的大小能够根据具体需要进行设计。然后以数据段为单位分批次的进行数据的重新插入。

通过将插入失败的数据寄存在缓存区域内,并在缓存区域内对数据进行聚合,压缩插入失败的数据总量,减少对存储设备信息吞吐压力,分批次的将聚合后的数据进行重新插入,能够使重新插入有次序的进行,减少了对进程的压力,在不影响向业务正常进行的情况下,实现了数据的重新插入。

数据进行重新插入时,有可能插入还会继续失败,若插入时后方数据段不管当前数据段插入是否成功即在此进行插入,则系统有需要对当前重新插入失败的数据段进行重新排序,使其在此进入到重新插入的队列中,这无疑增大了系统的工作量,且插入失败时对数据进行转轮式插入是没有任何意义的。因此,在进行数据的重新插入时,插入是依次进行的,系统只有在查询到当前批次的数据段插入成功后,才对下一批次的数据进行插入,即在当前批次的数据插入不成功时,系统则连续对该数据段进行插入,直至其插入成功后,才对其后面的数据段进行插入。采用本方法能够使系统免除对插入数据段进行不断排序的过程,减少了对系统的压力。

请参阅图3,图3为本实施例中数据重新插入时的具体方法流程图。

S1131、对业务进程进行监控。系统对存储装置的进程进行监控,定时的询问进程是否处于空闲状态,若检测到系统进入到空闲状态时,则通知系统对存储在缓存区域的信息进行重新插入。

S1132、当业务进程出现空闲时,将所述聚合后的数据进行重新写入。系统在检测到存储装置的业务进程处于空闲状态时,则通知系统对存储在缓存空间内的数据进行存重新插入。通过检测业务进程的状态并在业务进程处于空闲状态的情况下,对数据进行重新插入的方法,做到了有的放矢,防止由于在业务进程处于繁忙状态时,对数据进行重新插入,使数据重新插入失败的几率增大。

请参阅图4,图4为本实施例扩容提醒方法流程图。如图4所示:

S1210、记录所述重新插入时连续失败的次数。数据进行重新插入时,不是每一次重新插入均能够成功。数据插入不成功的最大问题在于,存储装置的处理能力有限,当存储装置处于满负荷工作状态时,对数据进行重新插入是徒劳的。因此在对数据进行重新插入时,需要对数据重新插入失败的次数进行记录。记录数据进行重新插入时连续插入失败的次数,记录的方法为当第一次出现插入失败时,对该失败次数进行记录,若往后的插入均为失败,则对插入失败的次数进行累加记录,当插入成功后,则将记录的插入失败次数进行清零处理。

S1220、将所述连续失败的次数与预设的扩容阈值进行比较。为识别插入失败是由于业务短暂的增长造成的短时间存储压力增大,还是由于长时间的业务持续增长造成的存储装置存储持续增大,必须进行扩容,增大存储装置的数据吞吐能力才能根本性的解决问题。因此在系统内预设扩容阈值,扩容阈值是指设置的用来衡量插入失败是短期流量增长造成的,还是由长期持续性的增长造成。扩容阈值具体是重新插入失败次数的衡量标准,如扩容阈值为连续插入失败500次。

S1230、当所述连续失败的次数大于所述扩容阈值时,发出预警信息。插入时连续失败的次数大于扩容阈值时,则证明连续插入失败是由持续业务增长,造成的存储装置处理能力不足引起的,需要通过对存储装置进行扩容,以增加存储装置的信息吞吐能力,进行改善。当判断出存储装置需要通过扩容进行信息吞吐能力的提升时,系统向控制人员发送警示信息,提醒控制人员通过提升存储器的硬件性能,以增加该存储器的信息处理能力,避免出现连续插入失败的问题。

请参阅图5,图5为本实施例警示信息的生产方法流程图。如图5所示:

S1231、计算所述缓存区域的数据总量。系统将存储在缓存空间内的数据进行统计,并计算出缓冲区域内的数据总量,以便于系统能够推算出信息积压量,以及存储装置的应当增长的信息吞吐量。

S1232、根据所述数据总量确定扩容建议信息。系统根据计算得出的缓存区域数据总量,生成扩容建议信息,扩容建议信息是系统根据计算存储区域内的数据信息总量,以及平均每分钟内写入缓存区域内的数据流量计算得出的增加存储装置处理能力的建议,具体的计算方法为:

增加扩容的处理能力=单位时间内写入缓冲区域内的数据流量+缓存区域内的数据总量/清空时间。

其中清空时间是预设的预计在多长时间内将缓存区域内的数据存储完成的时间,能够根据具体需要进行任意规定。

S1233、将所述扩容建议信息写入到预警信息内。系统根据数据总量计算出扩容总量后,将计算得出的扩容建议信息写入到预警信息内,以使用户能够看到系统需要扩容的信息。

请参阅图6,图6为本实施例一种优先存储方法的流程图。如图6所示:

S1310、识别所述业务代码所代表的业务类型。系统在读取数据携带的业务识别信息时,读取该业务识别信息中该信息执行业务类型的信息。业务类型是指该数据所执行任务的类型,如在直播平台中,进行存储的字幕业务类型包括:聊天记录、免费的礼物和付费礼物。对于数据携带的业务类型在数据特定的位置设有相应的标识,系统读取该标识即能够获知数据的业务类型。

S1320、当所述业务类型为收费业务类型时,优先将执行所述收费业务类型的数据进行重新插入。对于不同业务类型的数据,在进行存储时需要对数据进行优先级的划分,由于收费业务的数据包含的信息对于用户以及平台系统得价值要高于普通数据,因此在进行存储使,优先对执行收费业务的数据进行存储。

请参阅图7,图7为本实施例另一种优先存储方法的流程图。如图7所示:

S1410、识别所述主机地址被标记的权限级别。系统在读取数据携带的业务识别信息时,读取该业务识别信息中该数据的主机地址的权限级别。权限级别是平台系统为识别用户在该平台的消费能力或贡献能力,对不同的用户进行不同权限级别的划分。举例说明,如用户在某一直播平台中的权限级别被划分为:游客、普通用户和VIP用户,不同级别的用户在平台中所享受的待遇也不尽相同。对于数据携带的权限级别在数据特定的位置设有相应的标识,系统读取该标识即能够获知数据的权限级别。

S1420、当所述主机地址被标记为特权用户时,优先将所述特权用户的数据进行重新插入。对于不同权限级别的数据,在进行存储时需要对数据进行优先级的划分,由于级别越高的用户数据包含的信息对于用户以及平台系统得价值要高于普通用户数据,因此在进行存储使,根据用户级别对重新插入的顺序进行排序,优先对高级别用户的数据进行重新插入。

本实施例还提供一种数据存储失败时的重建装置。

请参阅图8,图8为本实施例数据存储失败时的重建装置基本结构框图。

如图8所示,一种数据存储失败时的重建装置,包括:缓存写入模块2110、数据整合模块2120和数据插入模块2130。其中缓存写入模块2110用于将插入失败的数据寄存在缓存区域内;数据整合模块2120用于根据数据携带的业务识别信息对所述寄存在缓存区域内的数据进行聚合;数据插入模块2130用于将聚合后的数据分批次的进行重新插入。在进行网上营收活动时需要及时将营收活动的数据加以存储,同时根据用户的具体业务行为,扣除相应的存储在服务器内用户账户内的电子交易货币。因此需要将用户执行业务的数据加以存储,在业务繁忙访问人数较多时系统服务器由于信息处理能力有限,无法同时处理所有的存储请求,致使部分数据在存储时插入数据失败,缓存写入模块2110将存储失败的数据存储在服务器的缓存区域,对插入失败的数据进行临时存储,以便于在服务器数据访问量下降时,将插入失败的数据重新插入到服务器的硬盘存储区域,进行永久性的保存。

用户用于执行指定业务的数据携带有业务识别信息,业务识别信息是用于服务器辨识用户身份,执行的具体业务类型,以及任务执行针对的目标等信息。业务识别信息包括:主机地址、目标地址和业务代码。主机地址是用于识别用户具体身份的信息,主机地址不仅是指用户识别用户ID的物理地址,在一些实施例中,主机地址是指用户在某一平台上注册的账号等能够识别出用户身份的信息。目标地址,主要是指用户发出的指定业务执行的目标信息,如用户向某一平台发出交易信息,则平台账号为其目标地址,若用户通过直播平台向某一主播送虚拟的礼物,则该主播在该直播平台中的账号为目标地址,因此目标地址是指执行任务时任务目标执行对象的信息。业务代码是指用户指定执行任务的类型,如在直播平台中用户向主播送上鲜花的虚拟礼物,则其执行的任务是赠送鲜花的任务,执行赠送鲜花任务在屏幕显示时,仅显示呈花装的礼物,进行数据传输时,则为业务代码。携带有业务识别信息的数据能够明确数据的来源、类型和目的,如在直播礼物平台中的数据,表明某某用户向某某主播赠送某某礼物。

数据携带的业务识别信息放置在数据的特定位置。数据整合模块2120通过进程识别缓冲区域内数据携带的业务识别信息,并将具有同一业务识别信息的数据进行聚合,使存储区域内的数据总量减少。

数据聚合完成后,数据插入模块2130需要将聚合后的数据进行重新插入,插入时为了数据插入的有序进行,对数据进行分割,使存储空间内的数据形成具有相同数据量的数据段,数据段中的数据量的大小能够根据具体需要进行设计。然后以数据段为单位分批次的进行数据的重新插入。

请参阅图9,图9为本实施例具有数据聚合功能的重建装置结构框图。

如图9所示,数据存储失败时的重建装置还包括:第一识别模块2220与统计模块2210。其中,第一识别模块2220用于识别寄存在所述缓存区域内数据携带的业务识别信息;统计模块2210用于将携带有同一业务识别信息的数据进行统计;所述数据整合模块2120用统计得到的数字数据替代所述存储区域内执行相同业务功能的数据。

数据携带的业务识别信息存在于数据的特定位置,识别时读取该特定位置的信息,即能够抓取到数据中的业务识别信息,在抓取到业务识别信息后识别该业务识别信息中的主机地址、目标地址和业务代码。

读取到数据的业务识别信息后,统计模块2210将携带有相同业务识别信息的数据进行累加统计,具体实现方案为:将数据携带的业务识别信息进行比对,统计模块2210将数据携带的首次出现的业务识别信息定义为基础比对信息,将其与其他数据携带的业务识别信息进行比对,若比对中出现与其相同的业务识别信息,则进行数据的累加。直至将缓存区域内所有数据携带的业务识别信息统计完成后,数据统计步骤即完成。需要指出的是,存储在缓存区域内的数据是不断地流动的,是一个动态过程,故需要对缓存区域内的数据进行持续的比对统计。

在存储区域存储的具有相同业务识别信息的数据,分布在存储区域不同的存储单元中,每一个执行业务的数据都占有一定的存储区域,执行相同业务功能的数据,其数据的信息完全一致,却不得不存储在不同的存储单元中,占据缓冲区域的存储空间,同时在重新插入时,增大了存储装置的信息流量的吞吐量。

统计模块2210将分散在缓存区域内具有相同业务识别信息的数据进行统计,数据整合模块2120将统计得到的数据进行存储,存储成功后,数据整合模块2120将存储在缓存区域内具有相同业务识别信息的数据进行删除。

需要指出的,数据进行重新插入时,有可能插入还会继续失败,若插入时后方数据段不管当前数据段插入是否成功即在此进行插入,则系统有需要对当前重新插入失败的数据段进行重新排序,使其在此进入到重新插入的队列中,这无疑增大了系统的工作量,且插入失败时对数据进行转轮式插入是没有任何意义的。因此,在进行数据的重新插入时,插入是依次进行的,系统只有在查询到当前批次的数据段插入成功后,才对下一批次的数据进行插入,即在当前批次的数据插入不成功时,系统则连续对该数据段进行插入,直至其插入成功后,才对其后面的数据段进行插入。采用本方法能够使系统免除对插入数据段进行不断排序的过程,减少了对系统的压力。

请参阅图10,图10为本实施例具有监控进程功能的重建装置结构框图。

如图10所示,数据存储失败时的重建装置还包括:进程监控模块2310。其中,进程监控模块2310,用于对业务进程进行监控;所述进程监控模块2310检测到业务进程出现空闲时,所述数据插入模块2130将所述聚合后的数据进行重新写入。

进程监控模块2310在检测到存储装置的业务进程处于空闲状态时,则通知数据插入模块2130对存储在缓存空间内的数据进行存重新插入。通过检测业务进程的状态并在业务进程处于空闲状态的情况下,对数据进行重新插入的方法,做到了有的放矢,防止由于在业务进程处于繁忙状态时,对数据进行重新插入,使数据重新插入失败的几率增大。

请参阅图11,图11为本实施例具有扩容提醒功能的重建装置结构框图。

如图11所示,数据存储失败时的重建装置还包括:记录模块2410、比较模块2420和警示模块2430。其中,记录模块2410用于记录所述重新插入时连续失败的次数;比较模块2420用于将所述连续失败的次数与预设的扩容阈值进行比较;警示模块2430用于当所述连续失败的次数大于所述扩容阈值时,发出预警信息。

数据进行重新插入时,不是每一次重新插入均能够成功。数据插入不成功的最大问题在于,存储装置的处理能力有限,当存储装置处于满负荷工作状态时,对数据进行重新插入是徒劳的。因此在对数据进行重新插入时,需要对数据重新插入失败的次数进行记录。记录模块2410记录数据进行重新插入时连续插入失败的次数,记录的方法为当第一次出现插入失败时,对该失败次数进行记录,若往后的插入均为失败,则对插入失败的次数进行累加记录,当插入成功后,则将记录的插入失败次数进行清零处理。

为识别插入失败是由于业务短暂的增长造成的短时间存储压力增大,还是由于长时间的业务持续增长造成的存储装置存储持续增大,必须进行扩容,增大存储装置的数据吞吐能力才能根本性的解决问题。因此在系统内预设扩容阈值,扩容阈值是指设置的用来衡量插入失败是短期流量增长造成的,还是由长期持续性的增长造成。扩容阈值具体是重新插入失败次数的衡量标准,如扩容阈值为连续插入失败500次。比较模块2420将插入失败的次数与扩容阈值进行比较。

插入时连续失败的次数大于扩容阈值时,则证明连续插入失败是由持续业务增长,造成的存储装置处理能力不足引起的,需要通过对存储装置进行扩容,以增加存储装置的信息吞吐能力,进行改善。当比对模块判断出存储装置需要通过扩容进行信息吞吐能力的提升时,警示模块2430向控制人员发送警示信息,提醒控制人员通过提升存储器的硬件性能,以增加该存储器的信息处理能力,避免出现连续插入失败的问题。

请参阅图12,图12为本实施例具有扩容信息生成功能的重建装置结构框图。

如图12所示,数据存储失败时的重建装置还包括:计算模块2510、扩容信息生成模块2520和扩容信息写入模块2530计算模块2510用于计算所述缓存区域的数据总量;扩容信息生成模块2520用于根据所述数据总量确定扩容建议信息;扩容信息写入模块2530用于将所述扩容建议信息写入到预警信息内。

计算模块2510将存储在缓存空间内的数据进行统计,并计算出缓冲区域内的数据总量,以便于系统能够推算出信息积压量,以及存储装置的应当增长的信息吞吐量。

扩容信息生成模块2520根据计算得出的缓存区域数据总量,生成扩容建议信息,扩容建议信息是系统根据计算存储区域内的数据信息总量,以及平均每分钟内写入缓存区域内的数据流量计算得出的增加存储装置处理能力的建议,具体的计算方法为:

增加扩容的处理能力=单位时间内写入缓冲区域内的数据流量+缓存区域内的数据总量/清空时间。

其中清空时间是预设的预计在多长时间内将缓存区域内的数据存储完成的时间,能够根据具体需要进行任意规定。

扩容信息生成模块2520根据数据总量计算出扩容总量后,扩容信息写入模块2530将计算得出的扩容建议信息写入到预警信息内,以使用户能够看到系统需要扩容的信息。

请参阅图13,图13为本实施例具有优先级数据插入功能的重建装置结构框图。

如图13所示,数据存储失败时的重建装置还包括:第二识别模块2610。其中,第二识别模块2610用于识别所述业务代码所代表的业务类型;当所述业务类型为收费业务类型时,所述数据插入模块2130优先将执行所述收费业务类型的数据进行重新插入。

第二识别模块2610在读取数据携带的业务识别信息时,读取该业务识别信息中该信息执行业务类型的信息。业务类型是指该数据所执行任务的类型,如在直播平台中,进行存储的字幕业务类型包括:聊天记录、免费的礼物和付费礼物。对于数据携带的业务类型在数据特定的位置设有相应的标识,第二识别模块2610读取该标识即能够获知数据的业务类型。

对于不同业务类型的数据,在进行存储时需要对数据进行优先级的划分,由于收费业务的数据包含的信息对于用户以及平台系统得价值要高于普通数据,因此在进行存储使,数据插入模块2130优先对执行收费业务的数据进行存储。

请参阅图14,图14为本实施例中另一种具有优先级数据插入功能的重建装置结构框图。

如图14所示,数据存储失败时的重建装置还包括:第三识别模块2710。其中,第三识别模块2710用于识别所述主机地址被标记的权限级别;

当所述主机地址被标记为特权用户时,所述数据插入模块2130优先将所述特权用户的数据进行重新插入。

第三识别模块2710在读取数据携带的业务识别信息时,读取该业务识别信息中该数据的主机地址的权限级别。权限级别是平台系统为识别用户在该平台的消费能力或贡献能力,对不同的用户进行不同权限级别的划分。举例说明,如用户在某一直播平台中的权限级别被划分为:游客、普通用户和VIP用户,不同级别的用户在平台中所享受的待遇也不尽相同。对于数据携带的权限级别在数据特定的位置设有相应的标识,系统读取该标识即能够获知数据的权限级别。

对于不同权限级别的数据,在进行存储时需要对数据进行优先级的划分,由于级别越高的用户数据包含的信息对于用户以及平台系统得价值要高于普通用户数据,因此在进行存储使,根据用户级别对重新插入的顺序进行排序,数据插入模块2130优先对高级别用户的数据进行重新插入。

需要说明数据存储失败时的重建装置包括,本实施例中主体实施方式与上述一个或多个选择性实施例的任意结合,均属于本实施例的技术方案。

需要说明的是,本发明的说明书及其附图中给出了本发明的较佳的实施例,但是,本发明可以通过许多不同的形式来实现,并不限于本说明书所描述的实施例,这些实施例不作为对本发明内容的额外限制,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。并且,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;进一步地,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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