《基于分布式服务器的数据回写方法及系统.pdf》由会员分享,可在线阅读,更多相关《基于分布式服务器的数据回写方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103118123 A(43)申请公布日 2013.05.22CN103118123A*CN103118123A*(21)申请号 201310056199.5(22)申请日 2013.02.22H04L 29/08(2006.01)G06F 3/06(2006.01)(71)申请人上海上讯信息技术有限公司地址 201203 上海市浦东新区张江高科技园区达尔文路88号18幢1楼(72)发明人曾洪宁(74)专利代理机构上海百一领御专利代理事务所(普通合伙) 31243代理人马育鳞(54) 发明名称基于分布式服务器的数据回写方法及系统(57) 摘要本发明适用于计算机网络存储。
2、技术领域,提供了一种基于分布式服务器的数据回写方法及系统,所述方法包括步骤有:至少存在一个节点服务器向中控服务器发送数据回写请求;所述节点服务器定时向所述中控服务器发送数据回写参数;所述中控服务器根据节点所述数据回写参数和预定的权重策略,计算所述节点服务器对应的所述数据回写权重;根据所述节点服务器的所述数据回写权重计算结果进行排序,所述中控服务器控制处理所述节点服务器的数据回写请求。借此,本发明采用数据回写权重算法,由分布式架构的中控服务器智能分析各个节点服务器的数据回写操作,以便对数据回写操作进行及时而高效的判断和控制,进而提高了各个节点服务器的数据回写效率。(51)Int.Cl.权利要求书。
3、2页 说明书9页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书9页 附图3页(10)申请公布号 CN 103118123 ACN 103118123 A1/2页21.一种基于分布式服务器的数据回写方法,其特征在于,包括步骤有:至少存在一个节点服务器向中控服务器发送数据回写请求;所述节点服务器定时向所述中控服务器发送数据回写参数;所述中控服务器根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的所述数据回写权重;根据所述节点服务器的所述数据回写权重计算结果进行排序,所述中控服务器控制处理所述节点服务器的数据回写请求。2.根据权利要求1所述的数据。
4、回写方法,其特征在于,所述数据回写参数包括有数据回写等待时间、剩余数据回写量和/或本次数据回写量;所述权重策略包括:所述数据回写等待时间越长并且有数据等待回写,则所述数据回写权重越大;所述剩余数据回写量越多,则所述数据回写权重越大;和/或所述本次数据回写量越多,则所述数据回写权重越大。3.根据权利要求2所述的数据回写方法,其特征在于,所述数据回写参数还包括有最大容忍等待时间;所述中控服务器根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的数据回写权重的步骤之前还包括:判断所述节点服务器的所述数据回写等待时间是否超过所述最大容忍等待时间并且有数据要进行回写;若是,则第一时间处理所述节。
5、点服务器的所述数据回写请求。4.根据权利要求2所述的数据回写方法,其特征在于,所述数据回写参数还包括有最大容忍数据回写量;所述中控服务器根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的数据回写权重的步骤之前还包括:判断所述节点服务器的所述本次数据回写量是否超过所述最大容忍数据回写量;若是,则只回写所述最大容忍数据回写量的数据。5.根据权利要求14任一项所述的数据回写方法,其特征在于,所述节点服务器定时向所述中控服务器发送数据回写参数的步骤包括:所述节点服务器定时向所述中控服务器发送心跳消息,所述心跳消息中包含有所述数据回写参数。6.根据权利要求5所述的数据回写方法,其特征在于,所。
6、述数据回写参数包括有链路平均传输时间;所述权重策略包括:所述链路平均传输时间越短,则所述数据回写权重越大。7.一种基于分布式服务器的数据回写系统,包括至少存在一个节点服务器和中控服务器,其特征在于,所述节点服务器包括有:请求发送模块,用于向中控服务器发送数据回写请求;参数发送模块,用于定时向所述中控服务器发送数据回写参数;所述中控服务器包括有:权重计算模块,用于根据所述数据回写参数和预定的权重策略,计算所述节点服务器权 利 要 求 书CN 103118123 A2/2页3对应的数据回写权重;回写控制模块,用于根据所述节点服务器的所述数据回写权重计算结果进行排序,控制处理所述节点服务器的所述数据。
7、回写请求。8.根据权利要求7所述的数据回写系统,其特征在于,所述数据回写参数包括有数据回写等待时间、剩余数据回写量和/或本次数据回写量;所述权重策略包括:所述本次数据回写量越多,则所述数据回写权重越大;所述节点存在较多的且回写等待时间越长,则所述数据回写权重越大。9.根据权利要求8所述的数据回写系统,其特征在于,所述数据回写参数还包括有最大容忍等待时间;所述中控服务器还包括:第一判断模块,用于判断所述节点服务器的所述数据回写等待时间是否超过所述最大容忍等待时间;所述回写控制模块,用于若所述节点存在回写数据并且数据回写等待时间超过所述最大容忍等待时间并且有数据要进行回写时,第一时间处理所述节点服。
8、务器的所述数据回写请求。10.根据权利要求8所述的数据回写系统,其特征在于,所述数据回写参数还包括有最大容忍数据回写量;所述中控服务器还包括:第二判断模块,用于判断所述节点服务器的所述本次数据回写量是否超过所述最大容忍数据回写量;所述回写控制模块,用于若所述本次数据回写量超过所述最大容忍数据回写量时,则只回写所述最大容忍数据回写量的数据。权 利 要 求 书CN 103118123 A1/9页4基于分布式服务器的数据回写方法及系统技术领域0001 本发明涉及计算机网络存储技术领域,尤其涉及一种基于分布式服务器的数据回写方法及系统。背景技术0002 随着计算机技术、信息技术,尤其是网络技术的飞速发。
9、展,数据信息已经成为整个社会最为关键的资源。而基于分布式网络服务公司采集的数据信息越来越多、越来越大,如何能够保证各个服务器快速而又及时地进行相互之间的数据通信,将某一节点服务器(简称节点)采集的数据及时回写到中控服务器(简称中控)的数据库,以便中控进行及时、有效的信息处理,是此类公司急需解决的问题。目前,为了解决多个节点采集数据向中控的数据库进行数据回写,主要采用以下几种方式:0003 方式一:不加任何控制,节点有数据就向中控的数据库进行回写,这种方式显然很不科学。0004 方式二:节点设定一个数据回写的数据量阀值,并采用先来先服务的方式,此种方式没有考虑到优先级问题,在实际项目中是一种解决。
10、方案,但是显然不甚合理。0005 方式三:采用逐个节点轮询的方式,但这种方式难以保证及节点服务器回写的优先级,也没有考虑的某一节点如果没有数据需要回写,从而造成整个系统的数据回写吞吐率偏低。0006 在服务器性能很好的基础上,上述三种方式基本上能够解决分布式服务器之间数据传输的问题。但是,当服务器性能一般或者节点采集的数据非常巨大的时候,上述三种方式就不能解决下述几种场景所出现的问题:0007 一、当大量节点同时向中控进行数据回写,而此时中控的网络传输已经饱和,无法同时处理如此多的数据回写请求,中控如何有效处理传输过来的数据。0008 二、多个节点向中控传输数据,有些节点的链路好、传输成功率高。
11、;而有些节点的链路不好、传输成功率低;在中控可负载的情况下,如何让各个节点的数据传输效率达到最大。0009 三、各个节点采集的数据有多有少,链路情况也各不相同;在中控可负载的情况下,如何让各个节点的数据传输效率达到最大。0010 若节点分布广泛,且采集的任务信息非常多,可想象的是,当中控没有进行数据回写操作控制,大量数据回写到中控的数据库时,中控的数据库将承受非常大的压力,由此可能造成如下问题:0011 1、多节点回写数据,可能造成某些节点一直未能回写数据,始终处于饥饿状态;0012 2、某些回写数据量少的节点获得更多的回写次数,造成回写吞吐率的降低;0013 3、某些回写数据量非常多的节点,。
12、一直占据回写较长的时间,使得其他节点长期的等待,得不到回写数据的机会,从而一直处于饥饿状态;0014 4、中控的数据库一直承受巨大的数据处理压力,严重时造成中控宕机。说 明 书CN 103118123 A2/9页50015 综上可知,现有基于分布式服务器的数据回写技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。发明内容0016 针对上述的缺陷,本发明的目的在于提供一种基于分布式服务器的数据回写方法及系统,其采用数据回写权重算法,由分布式架构的中控服务器智能分析各个节点服务器的数据回写操作,以便对数据回写操作进行及时而高效的判断和控制,进而提高了各个节点服务器的数据回写效率。0017 。
13、为了实现上述目的,本发明提供一种基于分布式服务器的数据回写方法,包括步骤有:0018 至少存在一个节点服务器向中控服务器发送数据回写请求;0019 所述节点服务器定时向所述中控服务器发送数据回写参数;0020 所述中控服务器根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的所述数据回写权重;0021 根据所述节点服务器的所述数据回写权重计算结果进行排序,所述中控服务器控制处理所述节点服务器的数据回写请求。0022 根据本发明所述的数据回写方法,所述数据回写参数包括有数据回写等待时间、剩余数据回写量和/或本次数据回写量;0023 所述权重策略包括:0024 所述数据回写等待时间越长并。
14、且有数据等待回写,则所述数据回写权重越大;0025 所述剩余数据回写量越多并且有数据等待回写,则所述数据回写权重越大;和/或0026 所述本次数据回写量越多并且有数据等待回写,则所述数据回写权重越大。0027 根据本发明所述的数据回写方法,所述数据回写参数还包括有最大容忍等待时间;0028 所述中控服务器根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的数据回写权重的步骤之前还包括:0029 判断所述节点服务器的所述数据回写等待时间是否超过所述最大容忍等待时间并且有数据要进行回写;0030 若是,则第一时间处理所述节点服务器的所述数据回写请求。0031 根据本发明所述的数据回写方法。
15、,所述数据回写参数还包括有最大容忍数据回写量;0032 所述中控服务器根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的数据回写权重的步骤之前还包括:0033 判断所述节点服务器的所述本次数据回写量是否超过所述最大容忍数据回写量;0034 若是,则只回写所述最大容忍数据回写量的数据。0035 根据本发明所述的数据回写方法,所述节点服务器定时向所述中控服务器发送数据回写参数的步骤包括:说 明 书CN 103118123 A3/9页60036 所述节点服务器定时向所述中控服务器发送心跳消息,所述心跳消息中包含有所述数据回写参数。0037 根据本发明所述的数据回写方法,所述数据回写参数包。
16、括有链路平均传输时间;0038 所述权重策略包括:所述链路平均传输时间越短,则所述数据回写权重越大。0039 本发明还提供一种基于分布式服务器的数据回写系统,包括至少存在一个节点服务器和中控服务器,所述节点服务器包括有:0040 请求发送模块,用于向中控服务器发送数据回写请求;0041 参数发送模块,用于定时向所述中控服务器发送数据回写参数;0042 所述中控服务器包括有:0043 权重计算模块,用于根据所述数据回写参数和预定的权重策略,计算所述节点服务器对应的数据回写权重;0044 回写控制模块,用于根据所述节点服务器的所述数据回写权重计算结果进行排序,控制处理所述节点服务器的所述数据回写请。
17、求。0045 根据本发明所述的数据回写系统,所述数据回写参数包括有数据回写等待时间、剩余数据回写量和/或本次数据回写量;0046 所述权重策略包括:0047 所述数据回写等待时间越长并且有数据等待回写,则所述数据回写权重越大;0048 所述剩余数据回写量越多并且有数据等待回写,则所述数据回写权重越大;和/或0049 所述本次数据回写量越多并且有数据等待回写,则所述数据回写权重越大。0050 根据本发明所述的数据回写系统,所述数据回写参数还包括有最大容忍等待时间;0051 所述中控服务器还包括:0052 第一判断模块,用于判断所述节点服务器的所述数据回写等待时间是否超过所述最大容忍等待时间;00。
18、53 所述回写控制模块,用于若所述数据回写等待时间超过所述最大容忍等待时间并且有数据要进行回写时,第一时间处理所述节点服务器的所述数据回写请求。0054 根据本发明所述的数据回写系统,所述数据回写参数还包括有最大容忍数据回写量;0055 所述中控服务器还包括:0056 第二判断模块,用于判断所述节点服务器的所述本次数据回写量是否超过所述最大容忍数据回写量;0057 所述回写控制模块,用于若所述本次数据回写量超过所述最大容忍数据回写量时,则只回写所述最大容忍数据回写量的数据。0058 根据本发明所述的数据回写系统,所述请求发送模块用于定时向所述中控服务器发送心跳消息,所述心跳消息中包含有所述数据。
19、回写参数。0059 根据本发明所述的数据回写系统,所述数据回写参数包括有链路平均传输时间;0060 所述权重策略包括:所述链路平均传输时间越短,则所述数据回写权重越大。0061 本发明在节点服务器向中控服务器发送数据回写请求后,节点服务器定时向中控说 明 书CN 103118123 A4/9页7服务器发送数据回写参数,优选的是,节点服务器定时向中控服务器发送中包含有数据回写参数的心跳消息,所述数据回写参数包括数据回写等待时间、剩余数据回写量、本次数据回写量、最大容忍等待时间和/或最大容忍数据回写量、链路平均传输时间等;中控服务器根据数据回写参数和预定权重策略,计算节点服务器对应的数据回写权重;。
20、并且中控服务器根据所述数据回写权重,控制处理节点服务器的数据回写请求。借此,本发明采用数据回写权重算法,由分布式架构的中控服务器智能分析各个节点服务器的数据回写操作,以便对数据回写操作进行及时而高效的判断和控制,解决了多节点服务器向中控服务器的数据库进行数据回写时所造成的数据库压力过大的问题,从而提高了各个节点服务器的数据回写效率。附图说明0062 图1是本发明基于分布式服务器的数据回写系统的优选结构示意图;0063 图2是本发明基于分布式服务器的数据回写方法的流程图;0064 图3是本发明第一实施例中基于分布式服务器的数据回写方法的流程图;0065 图4是本发明第二实施例基于分布式服务器的数。
21、据回写系统的体系结构图;0066 图5是本发明第三实施例中控和节点的之间的信息传输原理图。具体实施方式0067 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0068 图1是本发明基于分布式服务器的数据回写系统的优选结构示意图,所述数据回写系统100包括采用分布式架构的至少存在一个节点服务器10(下文简称节点10)和中控服务器20(下文简称中控20)。中控20会向每个节点10发送数据采集任务,接收到该数据采集任务的节点服务器20根据任务要求采集数据,不论数据采集成功与否,。
22、节点服务器20都会向中控服务器10发送心跳,心跳中包含有数据回写请求等一系列参数,以便将采集到的数据回写到中控服务器10的数据库中。0069 所述节点10包括有请求发送模块11和参数发送模块12,其中:0070 所述请求发送模块11,用于向中控20发送数据回写请求。0071 所述参数发送模块12,用于在请求发送模块11发送所述数据回写请求之后,定时向中控20发送数据回写参数。0072 所述中控20包括有权重计算模块21和回写控制模块22,其中:0073 所述权重计算模块21,用于根据数据回写参数和预定的权重策略,计算节点10对应的数据回写权重。0074 所述回写控制模块22,用于根据节点10的。
23、数据回写权重计算结果进行排序,控制处理节点10的数据回写请求。所述数据回写权重越大,则节点10的数据回写请求越快被中控20处理。0075 优选的是,参数发送模块12用于定时向中控20发送心跳消息,所述心跳消息中包含有数据回写参数。所述心跳消息是节点10向中控20发送的一组参数信息,包括节点服说 明 书CN 103118123 A5/9页8务器的CPU(Central Processing Unit,中央处理器)使用率,内存使用率,采集到的数据条目,需要回写的数据条目等。本发明心跳消息涉及到的是数据回写参数,可以包括:0076 心跳发送时间(节点服务器发送心跳消息的时间)Engine Heart。
24、 Beat Send Time;0077 心跳接收时间(中控服务器收到心跳消息的时间)-Control Heart Beat Receive Time;0078 上次回写时间-Last Write Backt Time;0079 系统当前时间-System Current Time;0080 本次回写数据量 Write Back Count;0081 剩余回写数据量 Remain Write Back Count;0082 数据回写等待时间 Wait Time=系统当前时间上次回写时间;0083 当前心跳传输时间 Heart beat Transfer Time=心跳接收时间心跳发送时间;00。
25、84 链路平均传输时间 Average Transfer Time=(1-)*旧的平均传输时间+*当前平均传输时间,所述为预定的比例值;0085 最大容忍等待时间 MAX_TOLERANCE_WAITE_TIME;和/或0086 最大容忍数据回写量 MAX_TOLERANCE_REMAIN_WRITE_BACK_COUNT;0087 优选的是,所述权重策略包括:0088 所述数据回写等待时间越长并且有数据等待回写,则数据回写权重越大,从而较快的获得回写数据的机会;0089 所述剩余数据回写量越多并且有数据等待回写,则数据回写权重越大,从而较快的获得回写数据的机会;0090 所述本次数据回写量越。
26、多并且有数据等待回写,则数据回写权重越大,从而较快的获得回写数据的机会;0091 所述链路平均传输时间越短,则数据回写权重越大,从而较快的获得回写数据的机会。0092 所述中控20还包括:0093 第一判断模块23,用于判断节点10的数据回写等待时间是否超过最大容忍等待时间并且有数据要进行回写。0094 所述回写控制模块22,用于若数据回写等待时间超过最大容忍等待时间并且有数据要进行回写时,第一时间处理节点10的数据回写请求。即若数据回写等待时间超过最大容忍等待时间,该节点10必须回写数据,除非没有数据。0095 中控服务器20还包括:0096 第二判断模块24,用于判断节点服务器10的本次数。
27、据回写量是否超过最大容忍数据回写量。0097 所述回写控制模块22,用于若本次数据回写量超过最大容忍数据回写量时,则只回写所述最大容忍数据回写量的数据。0098 为了更好的解决多节点服务器向中控服务器的数据库进行数据回写时所造成的数据库压力过大的问题,本发明采用了数据回写权重算法,结合节点服务器/中控服务器说 明 书CN 103118123 A6/9页9双向心跳发送,形成一套易于管理,易于使用,智能分析的节点服务器的数据回写技术。0099 图2是本发明基于分布式服务器的数据回写方法的流程图,其可以通过如图1所示的数据回写系统100实现,包括步骤有:0100 步骤S201,至少存在一个节点10向。
28、中控20发送数据回写请求。中控20会向每个节点10发送数据采集任务,接收到该数据采集任务的节点服务器20根据任务要求采集数据,不论数据采集成功与否,节点服务器20都会向中控服务器10发送数据回写请求,以便将采集到的数据回写到中控服务器10的数据库中。0101 步骤S202,节点10定时向中控20发送数据回写参数。本步骤优选的是,节点10定时向中控20发送心跳消息,心跳消息中包含有数据回写参数。所述数据回写参数包括数据回写等待时间、剩余数据回写量和/或本次数据回写量等。0102 步骤S203,中控20根据数据回写参数和预定的权重策略,计算节点10对应的数据回写权重。0103 步骤S204,根据节。
29、点10的数据回写权重计算结果进行排序,中控20控制处理节点10的数据回写请求。所述数据回写权重越大,则节点10的数据回写请求越快被中控20处理。0104 本发明用于对分布式的节点10的数据回写操作进行及时高效的判断,从而合理的分配中控20的数据库回写压力。0105 图3是本发明优选基于分布式服务器的数据回写方法的流程图,其可以通过如图1所示的数据回写系统100实现,包括步骤有:0106 步骤S301,至少存在一个节点10向中控20发送数据回写请求。0107 步骤S302,节点10定时向中控20发送心跳消息,心跳消息中包含有数据回写参数。所述心跳消息是节点10向中控20发送的一组参数信息,本发明。
30、心跳消息涉及到的是数据回写参数,可以包括:0108 心跳发送时间(节点服务器发送心跳消息的时间)Engine Heart Beat Send Time;0109 心跳接收时间(中控服务器收到心跳消息的时间)Control Heart Beat Receive Time;0110 上次回写时间-Last Write Backt Time;0111 系统当前时间-System Current Time;0112 本次回写数据量-Write Back Count;0113 剩余回写数据量 Remain Write Back Count;0114 数据回写等待时间 Wait Time=系统当前时间上次。
31、回写时间;0115 当前心跳传输时间 Heart beat Transfer Time=心跳接收时间心跳发送时间;0116 链路平均传输时间 Average Transfer Time=(1-)*旧的平均传输时间+*当前平均传输时间,所述为预定的比例值;0117 最大容忍等待时间 MAX_TOLERANCE_WAITE_TIME;和/或0118 最大容忍数据回写量 MAX_TOLERANCE_REMAIN_WRITE_BACK_COUNT。0119 步骤S303,判断节点10的本次数据回写量是否超过最大容忍数据回写量,若是则说 明 书CN 103118123 A7/9页10执行步骤S304,否。
32、则执行步骤S305。0120 步骤S304,只回写所述最大容忍数据回写量的数据。0121 步骤S305,判断节点10的数据回写等待时间是否超过最大容忍等待时间并且有数据要进行回写,若是则执行步骤S306,否则执行步骤S307。0122 步骤S306,第一时间处理节点10的数据回写请求。即若数据回写等待时间超过最大容忍等待时间,该节点10必须回写数据,除非没有数据。0123 步骤S307,中控20根据数据回写参数和预定的权重策略,计算节点10对应的数据回写权重。0124 优选的是,所述权重策略包括:0125 所述数据回写等待时间越长并且有数据等待回写,则数据回写权重越大,从而较快的获得回写数据的。
33、机会;0126 所述剩余数据回写量越多并且有数据等待回写,则数据回写权重越大,从而较快的获得回写数据的机会;0127 所述本次数据回写量越多并且有数据等待回写,则数据回写权重越大,从而较快的获得回写数据的机会;0128 所述链路平均传输时间越短,则数据回写权重越大,从而较快的获得回写数据的机会。0129 步骤S308,根据节点10的数据回写权重计算结果进行排序,中控20控制处理节点10的数据回写请求。所述数据回写权重越大,则节点10的数据回写请求越快被中控20处理。0130 图4是本发明第二实施例基于分布式服务器的数据回写系统的体系结构图;由所述节点和所述中控组成,所述节点相当于客户端,所述中。
34、控就是所述节点采集数据的中央服务器。本实施例中包含一个中控(中控可以有多个,本文为了介绍方便,假设只有一个中控)、中控本地数据库、众多数据采集节点、各数据采集节点的本地数据库。0131 节点根据中控下发的任务(例如:对进行ping命令请求),将采集到的数据保存在本地数据库,当多节点执行任务时,中控会命令各节点按照一定的策略将本地数据库中采集到的任务信息回写到中控的数据库中。0132 中控决定节点在一定的时间间隔内通过RMI的序列化机制向其传输数据。为了解决多节点向中控回写数据的时序问题,给每个节点回写数据请求分配一个权重函数,如公式(1)所示:0133 0134 其中表示数据回写请求的相应极限时间。当数据回写请求在内未能接收到中控的允许,W(权重)置1,否则按照后文的策略进行权重的计算。0135 基于智能分析的网络节点数据采集回写技术,就是要中控在保证每个节点都能进行回写的前提下,按照一定的策略,及时响应节点发出的数据回写请求并且保证整个系统的回写数据吞吐量最大。为此,在中控的核心程序中,数据回写请求响应的排序必须满足公式(2):0136 maxTm(Wi(i) (2)说 明 书CN 103118123 A10。