一种面向分布式海量数据加载系统的可靠数据发送方法技术方案

技术编号:13992392 阅读:89 留言:0更新日期:2016-11-14 00:12
本发明专利技术公开了一种面向分布式海量数据加载系统的可靠数据发送方法,消息结构包括消息头和消息体两部分构成;消息头包括:消息ID,消息类型和自定义消息。该消息可以通过http,https,TCP/IP或者其他类型的网络传输协议进行网络传输。接收终端可以根据消息头部的消息ID进行去重,验证等操作并且返回处理结果。按照本发明专利技术提供的方法,用户可以准确,有效的向分布式系统中发送数据。

【技术实现步骤摘要】

本专利技术涉及一种面向分布式海量数据加载系统的可靠数据发送方法,特别涉及一种与消息内容无关的面向分布式海量数据加载系统的可靠数据发送方法,属于信息安全领域。
技术介绍
现随着互联网数据规模的指数级增长,大数据已经引起了越来越多的人的关注和重视。为了应对大数据的挑战,涌现出了各种分布式存储和计算系统。随着节点数量的快速增加,连接这些组件的互连网络规模也在相应扩大,互连网络中出现故障结点的可能性急剧增大,确保网络传输的可靠性已经变得尤为重要。随着信息化水平的不断提高,信息数据的重要性越来越大,因信息数据丢失所造成的损失也越来越大,但是随着节点数量的快速增加,连接这些组件的互连网络规模的扩大,互连网络中出现故障从而导致分布式系统中数据不准确的比例也越来越大。为了减少网络传输故障带来的影响,就需要一种有效的面向分布式海量数据加载系统的可靠数据发送方法来提高数据网络传输的容灾性,但又不能以牺牲网络传输效率为代价。因此,提高网络传输数据的准确性但又不影响数据网络传输的效率成为众多分布式系统需要解决的关键问题。
技术实现思路
本专利技术的目的是为了解决上述问题,提出一种面向分布式海量数据加载系统的可靠数据发送方法,减少由于节点之间的网络故障造成的数据重复加载,丢失等现象出现的频率,并且不会明显降低信息数据在网络节点之间的传输效率,有效降低由于网络传输故障对信息数据准确性的影响,使信息的网络传输可靠性进一步改善。本专利技术的一种面向分布式海量数据加载系统的可靠数据发送方法,具体为:第一个方面:首先给出了在节点之间传输信息数据的消息组织结构,该消息结构由消息头和消息体构成。消息头由消息ID,消息类型和自定义消息三部分组成,消息ID是消息的包好递增编号的唯一标识;消息类型是标明该消息的类别,是接收端接收消息后执行后续操作的判断依据;自定义消息是用户根据自身的业务需求自定义的消息属性。该组织结构可以通过大多数网络传输协议在不同节点之间传输,可使用于大多数分布式系统。第二方面:本专利技术采用本地消息与消息节点之间一一对应的方式来完成本地消息的缓存。这样做的最大的优点在于,当某一个发送端与接收端之间的网络出现故障时,不会大大影响分布式集群中的网络传输效率。第三方面:本专利技术规定了一些数据消息返回类型包括:OK(成功)、FALSE(失败)、BUSY(忙碌)、UNKNOW(未知消息处理结果)和自定义返回消息。(1)OK:为成功,表示接收端成功接收并处理消息。(2)FALSE:为失败,表示接收端正确接收消息但是消息处理过程中出现错误;(3)BUSY:为忙碌,表示接收端正常接收消息但是接收端的消息处理能力已经达到极限,不能继续处理该消息即接收端忙碌未处理该消息。(4)UNKNOW:为未知,表示接收端成功接收消息,但是未获取消息处理结果。(5)自定义返回消息:为用户根据业务需求自定义的返回消息。第四方面:本专利技术中的接收端要求分别存储不同节点上次发送消息中的消息ID,然后根据本次消息结构中的消息类型判断是否需要进行消息去重处理,若需要则对缓存中的上次该发送端的消息ID与本次发送的消息ID比较进行去重处理,否则直接执行其他消息处理操作。第五方面:本专利技术中提供了丰富的异常处理操作,针对不用种类的异常及返回类型做出不同的处理。获取连接异常:当获取连接时出现异常,发送端会在连接池中创建一个新连接并尝试继获取直到到达指定次数,若成功获取连接则将消息发往接收端,若没有成功获取连接则添加到其他节点的消息池中。消息发送超时或UNKNOW异常:当出现发送超时或UNKNOW异常时,发送端会关闭该连接在连接池中创建一个新的连接并尝试继续发送数据消息直到发送成功或者到达指定次数,若发送成功则继续执行,否则将消息添加到其他消息池中;其他异常:当消息发送过程中出现其他异常消息发送端会关闭连接并且尝试获取一个新的连接然后再次尝试发送,直至消息发送成功或出现已知异常;OK消息返回结果处理:返回OK表示接收端消息接收处理正常,执行正常操作处理流程;FALSE消息返回结果处理:返回FALSE表示接收端消息接收成功但是后续处理出现异常,客户端将该消息发送的消息记录,并执后续操作。本专利技术的优点在于:本专利技术提供的方法,用户可以准确,有效的向分布式系统中发送数据。消息可以通过http,https,TCP/IP或者其他类型的网络传输协议进行网络传输。附图说明图1为面向分布式海量数据加载系统的可靠数据消息结构示意图;图2为面向分布式海量数据加载系统的可靠数据消息发送的操作流程图;图3面向分布式海量数据加载系统的可靠数据消服务端处理操作流程图;图4为面向分布式海量数据加载系统的可靠数据消息异常处理的操作流程图。具体实施方式下面将结合附图和实施例对本专利技术作进一步的详细说明。图1给出了一种面向分布式海量数据加载系统的可靠数据消息结构示意图。从图中可以看出,完整的数据消息结构包括消息头和消息体两部分。消息头:包括一定数量的自定义消息、消息ID和消息类型,其中自定义消息是用户根据自身需求定制的私有消息,如加载数据的表名称,表所在的数据库名称,本次发送数据的记录数等;消息ID为消息的唯一标识由于服务端消除重复发送的数据,如由消息发可以有送主机的IP,程序所在进程ID,程序的线程ID和自增编号组成;自定义消息类型用于规定消息的类型,以便服务端根据消息类型进行逻辑处理。如load(加载消息),commit(提交消息)等。消息体:消息体主要用于存储处理后的加载数据,如序列化后的byte数组等。图2示出了面向分布式海量数据加载系统的可靠数据消息发送的操作流程,具体步骤如下:步骤201:在消息池中获取消息;步骤202:根据消息池中消息的参数判断消息类型,若为load(加载类型消息)则执行步骤206,否则为commit(提交类型消息)执行步骤203;步骤203:创建commit消息,用户可以根据需求自定义消息参数,消息ID,消息类型标识等;步骤204:在连接池中获取发往特定节点的连接;步骤205:将commit消息发往服务端,由于commit消息不包含发送数据,为非必需消息索引不需要进行异常处理;步骤206:创建load类型消息用户可以根据需求自定义消息参数,消息ID,消息类型标识,并将处理后的消息数据放入消息体这中;步骤207:在连接池中获取发往特定节点的连接;步骤208:将加载数据消息发往特定服务端等待返回结构;步骤209:判断是否正常接收返回结果,若正常接收返回结果则执行步骤212,否则执行步骤210;步骤210:为判断是否需要重新发送,若需要则返回执行步骤207,否则执行步骤211;步骤211:将数据消息及小关参数添加到其他节点消息池中等待发送;步骤212:为判断是否需要重新发送,若需要则返回执行步骤207,否则执行步骤213;步骤213:为判断是否需要添加到其他节点,若是则执行步骤217,否则执行步骤214;步骤214:为判断发送消息是否合法,若是则执行步骤218,否则执行步骤215;步骤215:判断返回结果是否为正常,若是执行步骤216,否则执行步骤219;步骤216:消息发送成功根据消息用户可以根据业务需求进行效应操作。步骤217:将消息参数及消息数据添加到其他节点的消息池中;步骤218:根据业务需本文档来自技高网...

【技术保护点】
一种面向分布式海量数据加载系统的可靠数据发送方法,其特征在于,设定消息组织结构、本地消息缓存方式、数据消息返回类型,具体为:设定在节点之间传输信息数据的消息组织结构,该消息结构包括消息头和消息体,消息头包括消息ID,消息类型和自定义消息,消息ID是消息的包好递增编号的唯一标识,消息类型是标明该消息的类别,是接收端接收消息后执行后续操作的判断依据,自定义消息是用户根据自身的业务需求自定义的消息属性;设定本地消息缓存方式:采用本地消息与消息节点之间一一对应的方式来完成本地消息的缓存;设定数据消息返回类型包括:成功OK、失败FALSE、忙碌BUSY、未知消息处理结果UNKNOW和自定义返回消息,其中:(1)OK:为成功,表示接收端成功接收并处理消息;(2)FALSE:为失败,表示接收端正确接收消息但是消息处理过程中出现错误;(3)BUSY:为忙碌,表示接收端正常接收消息但是接收端的消息处理能力已经达到极限,不能继续处理该消息即接收端忙碌未处理该消息;(4)UNKNOW:为未知,表示接收端成功接收消息,但是未获取消息处理结果;(5)自定义返回消息:为用户根据业务需求自定义的返回消息;方法包括以下几个部分:第一部分:面向分布式海量数据加载系统的客户端可靠数据消息发送处理;第二部分:面向分布式海量数据加载系统的服务端可靠数据消息接收处理;第三部分:面向分布式海量数据加载系统的可靠数据消息异常处理。...

【技术特征摘要】
1.一种面向分布式海量数据加载系统的可靠数据发送方法,其特征在于,设定消息组织结构、本地消息缓存方式、数据消息返回类型,具体为:设定在节点之间传输信息数据的消息组织结构,该消息结构包括消息头和消息体,消息头包括消息ID,消息类型和自定义消息,消息ID是消息的包好递增编号的唯一标识,消息类型是标明该消息的类别,是接收端接收消息后执行后续操作的判断依据,自定义消息是用户根据自身的业务需求自定义的消息属性;设定本地消息缓存方式:采用本地消息与消息节点之间一一对应的方式来完成本地消息的缓存;设定数据消息返回类型包括:成功OK、失败FALSE、忙碌BUSY、未知消息处理结果UNKNOW和自定义返回消息,其中:(1)OK:为成功,表示接收端成功接收并处理消息;(2)FALSE:为失败,表示接收端正确接收消息但是消息处理过程中出现错误;(3)BUSY:为忙碌,表示接收端正常接收消息但是接收端的消息处理能力已经达到极限,不能继续处理该消息即接收端忙碌未处理该消息;(4)UNKNOW:为未知,表示接收端成功接收消息,但是未获取消息处理结果;(5)自定义返回消息:为用户根据业务需求自定义的返回消息;方法包括以下几个部分:第一部分:面向分布式海量数据加载系统的客户端可靠数据消息发送处理;第二部分:面向分布式海量数据加载系统的服务端可靠数据消息接收处理;第三部分:面向分布式海量数据加载系统的可靠数据消息异常处理。2.根据权利要求1所述的一种面向分布式海量数据加载系统的可靠数据发送方法,其特征在于,所述的第一部分具体包括:步骤201:在消息池中获取消息;步骤202:根据消息池中消息的参数判断消息类型,若为加载类型消息load,则执行步骤206,否则为提交类型消息commit,执行步骤203;步骤203:创建commit消息,用户根据需求自定义消息参数,消息ID,消息类型标识;步骤204:在连接池中获取发往特定节点的连接;步骤205:将commit消息发往服务端;步骤206:创建load类型消息,用户根据需求自定义消息参数,消息ID,消息类型标识,并将处理后的消息数据放入消息体中;步骤207:在连接池中获取发往特定节点的连接;步骤208:将加载数据消息发往特定服务端等待返回结构;步骤209:判断是否正常接收返回结果,若正常接收返回结果则执行步骤212,否则执行步骤210;步骤210:为判断是否需要重新发送,若需要则返回执行步骤207,否则执行步骤211;步骤211:将数据消息及小关参数添加到其他节点消息池中等待发送;步骤212:为判断是否需要重新发送,若需要则返回执行步骤207,否则执行步骤213;步骤213:为判断是否需要添加到其他节点,若是则执行步骤217,否则执行步骤214;步骤214:为判断发送消息是否合法,若是则执行步骤218,否则执行步骤215;步骤215:判断返回结果是否为正常,若是执行步骤216,否则执行步骤219;步骤216:消息发送成功根据消息用户可以根据业务需求进行效应操作;步骤217:将消息参数及消息数据添加到其他节点的消息池中;步骤218:根据业务需求对异常消息进行处理;步骤219:根据业务需求对异常消息进行处理;步骤220:执行结束。3.根据权利要求1所述的一种面向分布式海量数据加载系统的可靠数据发送方法,其特征在于,所述的第二部分具体包括:步骤...

【专利技术属性】
技术研发人员:李斌斌王振宇郑彩娟刘利宏
申请(专利权)人:北京赛思信安技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1