一种服务器集群数据存储方法及装置转让专利

申请号 : CN201611131331.4

文献号 : CN106598497B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 代振宇

申请人 : 郑州云海信息技术有限公司

摘要 :

本发明公开了一种服务器集群数据存储方法及装置,方法包括:在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该存储单元中的数据顺次存储到数据库中。通过本发明服务器集群数据存储方法及装置,对于先传输到的节点数据先入库,若各节点间存在网路延时问题,可避免先传输到节点数据在缓冲区中积压,从而避免在内存中积压较多数据,避免导致内存增长问题。

权利要求 :

1.一种服务器集群数据存储方法,其特征在于,包括:在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;

循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该存储单元中的数据顺次存储到数据库中。

2.根据权利要求1所述的服务器集群数据存储方法,其特征在于,在服务器缓冲区内各所述存储单元为链表形式;

与节点对应的所述存储单元包括:

用于存储数据的数据域;

用于存储下一存储单元地址的指针域。

3.根据权利要求2所述的服务器集群数据存储方法,其特征在于,与节点对应的所述存储单元还包括:用于记录计数值的计数域。

4.根据权利要求2所述的服务器集群数据存储方法,其特征在于,在所述存储单元中各次数据以链表形式存储。

5.根据权利要求1所述的服务器集群数据存储方法,其特征在于,所述当所述存储单元的计数值不为零时,将该存储单元中的数据顺次存储到数据库中包括:当所述存储单元的计数值不为零时,将该所述存储单元中最先传输到的数据存储到数据库中对应位置处,并将该所述存储单元的计数值减1。

6.一种服务器集群数据存储装置,其特征在于,包括:计数模块,用于在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;

存储控制模块,用于循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该所述存储单元中的数据顺次存储到数据库中。

7.根据权利要求6所述的服务器集群数据存储装置,其特征在于,在服务器缓冲区内各所述存储单元为链表形式;

与节点对应的所述存储单元包括:

用于存储数据的数据域;

用于存储下一存储单元地址的指针域。

8.根据权利要求7所述的服务器集群数据存储装置,其特征在于,与节点对应的所述存储单元还包括:用于记录计数值的计数域。

9.根据权利要求7所述的服务器集群数据存储装置,其特征在于,在所述存储单元中各次数据以链表形式存储。

10.根据权利要求6所述的服务器集群数据存储装置,其特征在于,所述存储控制模块具体用于当所述存储单元的计数值不为零时,将该所述存储单元中最先传输到的数据存储到数据库中对应位置处;

所述计数模块还用于当将所述存储单元中最先传输到的数据存储到数据库中对应位置处后,将该所述存储单元的计数值减1。

说明书 :

一种服务器集群数据存储方法及装置

技术领域

[0001] 本发明涉及服务器集群技术领域,特别是涉及一种服务器集群数据存储方法及装置。

背景技术

[0002] 随着使用用户的不断增多,服务器集群中设置的监控节点数量日益增多。现有技术中,由节点采集的数据发送至服务器,服务器对数据的处理机制是平行处理,即按各节点数据平行入库,此种处理机制中其实服务器默认各节点数据同时到达。但事实上由于存在网络延时问题,各节点传输数据会出现不同步,有些节点数据迟迟没有传输到,而先传输到的数据在缓冲区中积压,会导致内存增长问题。

发明内容

[0003] 鉴于此,本发明提供一种服务器集群数据存储方法及装置,可避免在服务器内存中积压较多数据,占用内存。
[0004] 为实现上述目的,本发明提供如下技术方案:
[0005] 一种服务器集群数据存储方法,包括:
[0006] 在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;
[0007] 循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该存储单元中的数据顺次存储到数据库中。
[0008] 可选地,在服务器缓冲区内各所述存储单元为链表形式;
[0009] 与节点对应的所述存储单元包括:
[0010] 用于存储数据的数据域;
[0011] 用于存储下一存储单元地址的指针域。
[0012] 可选地,与节点对应的所述存储单元还包括:用于记录计数值的计数域。
[0013] 可选地,在所述存储单元中各次数据以链表形式存储。
[0014] 可选地,所述当所述存储单元的计数值不为零时,将该存储单元中的数据顺次存储到数据库中包括:
[0015] 当所述存储单元的计数值不为零时,将该所述存储单元中最先传输到的数据存储到数据库中对应位置处,并将该所述存储单元的计数值减1。
[0016] 一种服务器集群数据存储装置,包括:
[0017] 计数模块,用于在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;
[0018] 存储控制模块,用于循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该所述存储单元中的数据顺次存储到数据库中。
[0019] 可选地,在服务器缓冲区内各所述存储单元为链表形式;
[0020] 与节点对应的所述存储单元包括:
[0021] 用于存储数据的数据域;
[0022] 用于存储下一存储单元地址的指针域。
[0023] 可选地,与节点对应的所述存储单元还包括:用于记录计数值的计数域。
[0024] 可选地,在所述存储单元中各次数据以链表形式存储。
[0025] 可选地,所述存储控制模块具体用于当所述存储单元的计数值不为零时,将该所述存储单元中最先传输到的数据存储到数据库中对应位置处;
[0026] 所述计数模块还用于当将所述存储单元中最先传输到的数据存储到数据库中对应位置处后,将该所述存储单元的计数值减1。
[0027] 由上述技术方案可知,本发明所提供的服务器集群数据存储方法及装置,在服务器缓冲区内设置分别与各节点对应的存储单元,由存储单元接收对应节点发送的数据,并计数存储单元中当前的数据数量;通过循环遍历各存储单元,当存储单元的计数值不为零时,将该所述存储单元中的数据顺次存储到数据库中。
[0028] 通过本发明服务器集群数据存储方法及装置,对于先传输到的节点数据先入库,若各节点间存在网路延时问题,可避免先传输到节点数据在缓冲区中积压,从而避免在内存中积压较多数据,避免导致内存增长问题。

附图说明

[0029] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030] 图1为本发明实施例提供的一种服务器集群数据存储方法的示意图;
[0031] 图2为本发明实施例中在服务器缓冲区中存储单元的设置示意图;
[0032] 图3为本发明实施例提供的一种服务器集群数据存储系统的示意图。

具体实施方式

[0033] 为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0034] 请参考图1,本发明实施例提供的一种服务器集群数据存储方法,包括:
[0035] S10:在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;
[0036] S11:循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该存储单元中的数据顺次存储到数据库中。
[0037] 可以看出,本实施例服务器集群数据存储方法,在服务器缓冲区内设置分别与各节点对应的存储单元,由存储单元接收对应节点发送的数据,并计数存储单元中当前的数据数量;通过循环遍历各存储单元,当存储单元的计数值不为零时,将该所述存储单元中的数据存储到数据库中。
[0038] 通过本实施例服务器集群数据存储方法,对于先传输到的节点数据先入库,若各节点间存在网路延时问题,可避免先传输到节点数据在缓冲区中积压,从而避免在内存中积压较多数据,避免导致内存增长问题。
[0039] 下面对本实施例服务器集群数据存储方法作进一步说明。本实施例服务器集群数据存储方法包括:
[0040] S10:在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量。
[0041] 可选的,在服务器缓冲区内各所述存储单元可以是以链表形式设置,可参考图2,具体的,与节点对应的所述存储单元包括:用于存储数据的数据域;用于存储下一存储单元地址的指针域。
[0042] 在服务器缓冲区中各存储单元以链表形式设置,在链表上允许插入或者删除任意位置上的单元,采用链表结构可以充分利用系统内存空间,实现灵活的内存动态管理。
[0043] 在存储单元数据域中包括多个数据单元,各数据单元用于放置节点各次发送的数据。优选的,本实施例中数据单元设置为链表形式,在所述存储单元中各次数据以链表形式存储。
[0044] 本方法中,在服务器缓冲区中设置计数功能。对各存储单元中当前的数据数量进行计数。相应的,在与节点对应的存储单元中还包括:用于记录计数值的计数域。
[0045] S11:循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该所述存储单元中的数据顺次存储到数据库中。
[0046] 循环遍历服务器缓冲区中各存储单元,在遍历过程中检测到存储单元的计数值不为零,表明该存储单元中当前存在数据,则将该所述存储单元中最先传输到的数据存储到数据库中对应位置处,并将该所述存储单元的计数值减1。然后遍历到下一存储单元,检测下一存储单元的计数值是否为零,在不为零时将其中放置的最先传输到的数据入库,存储到数据库中其对应位置处,如此循环遍历缓冲区中各存储单元。
[0047] 因此,本实施例服务器集群数据存储方法,对于先传输到的节点数据先入库,在遇到网络延时情况时,可避免在内存中积压较多数据,避免占用内存,可提高内存利用率,也可有效防止节点数据丢失。
[0048] 相应的,请参考图3,本发明实施例还提供一种服务器集群数据存储装置,包括:
[0049] 计数模块20,用于在服务器缓冲区内设置分别与各节点对应的存储单元,由所述存储单元接收对应节点发送的数据,并计数所述存储单元中当前的数据数量;
[0050] 存储控制模块21,用于循环遍历各所述存储单元,当所述存储单元的计数值不为零时,将该所述存储单元中的数据顺次存储到数据库中。
[0051] 可以看出,本实施例服务器集群数据存储装置,包括计数模块和存储控制模块,在服务器缓冲区内设置分别与各节点对应的存储单元,由存储单元接收对应节点发送的数据,并计数存储单元中当前的数据数量;通过循环遍历各存储单元,当存储单元的计数值不为零时,将该所述存储单元中的数据存储到数据库中。
[0052] 通过本实施例服务器集群数据存储装置,对于先传输到的节点数据先入库,若各节点间存在网路延时问题,可避免先传输到节点数据在缓冲区中积压,从而避免在内存中积压较多数据,避免导致内存增长问题。
[0053] 可选的,本实施例服务器集群数据存储装置,在服务器缓冲区内各所述存储单元可以链表形式设置,可参考图2,具体的,与节点对应的所述存储单元包括:用于存储数据的数据域;用于存储下一存储单元地址的指针域。
[0054] 服务器缓冲区中各存储单元以链表形式设置,在链表上允许插入或者删除任意位置上的单元,采用链表结构可以充分利用系统内存空间,实现灵活的内存动态管理。
[0055] 在存储单元数据域中包括多个数据单元,数据单元用于放置节点各次发送的数据。优选的,本实施例中各数据单元设置为链表形式,在所述存储单元中各次数据以链表形式存储。
[0056] 计数模块20对服务器缓冲区中各存储单元中当前的数据数量分别进行计数。相应的,在与节点对应的存储单元中还包括:用于记录计数值的计数域。
[0057] 本实施例服务器集群数据存储装置中,所述存储控制模块21具体用于当所述存储单元的计数值不为零时,将该所述存储单元中最先传输到的数据存储到数据库中对应位置处;所述计数模块20还用于当将所述存储单元中最先传输到的数据存储到数据库中对应位置处后,将该所述存储单元的计数值减1。
[0058] 存储控制模块21循环遍历服务器缓冲区中各存储单元,在遍历过程中检测到存储单元的计数值不为零,表明该存储单元中当前存在数据,则将该所述存储单元中最先传输到的数据存储到数据库中对应位置处,并将该所述存储单元的计数值减1。然后遍历到下一存储单元,检测下一存储单元的计数值是否为零,在不为零时将其中放置的最先传输到的数据入库,存储到数据库中其对应位置处,如此循环遍历缓冲区中各存储单元。
[0059] 因此,本实施例服务器集群数据存储装置,对于先传输到的节点数据先入库,在遇到网络延时情况时,可避免在内存中积压较多数据,避免占用内存,可提高内存利用率,也可有效防止节点数据丢失。
[0060] 以上对本发明所提供的一种服务器集群数据存储方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。