分布式系统中日志报文传输及丢失检测方法与装置的制造方法

文档序号:9818426阅读:402来源:国知局
分布式系统中日志报文传输及丢失检测方法与装置的制造方法
【技术领域】
[0001]本发明涉及日志报文检测技术,尤其涉及一种分布式系统中日志报文传输方法与装置、以及日志报文丢失检测方法与装置。
【背景技术】
[0002]在分布式系统中,系统生成的各种事件,往往会通过SYSLOG协议,发送到网络远端的SYSLOG服务器保存。由于SYSLOG协议多采用用户数据报协议(UDP,User DatagramProtocol)方式,所以会存在传输不可靠的问题,当传输过程中SYSLOG报文由于各种原因被丢弃时,SYSLOG服务器可以通过SYSLOG报文中的可选流水号字段检测是否出现丢弃的情况。但是,在分布式系统中,由于设备的不同组件分布在不同的物理位置,因此SYSLOG报文从不同物理位置发送时,无法生成系统全局的流水号,导致SYSLOG服务器无法通过流水号来检测SYSLOG报文丢失的情况。
[0003]对于上述问题,目前尚未有可供参考的现有技术方案。

【发明内容】

[0004]为解决上述技术问题,本发明实施例提供一种分布式系统中日志报文传输及丢失检测方法与装置,服务器能够根据日志报文中的节点物理地址信息及报文的本地流水号确定日志报文是否有丢失。
[0005]本发明实施例的技术方案是这样实现的:
[0006]—种分布式系统中日志报文传输方法,包括:
[0007]节点生成日志报文时,为所述日志报文设置本地流水号,获取所述节点的物理位置的信息,将所述本地流水号及所述节点的物理位置的信息添加到所述日志报文中,传输所述日志报文。
[0008]优选地,所述方法还包括:
[0009]为日志报文增设节点的物理位置的字段;
[0010]所述将所述节点的物理位置的信息添加到所述日志报文中,包括:
[0011 ] 将所述节点的物理位置的信息添加到所述日志报文中的所述物理位置的字段中。
[0012]优选地,所述日志报文为SYSLOG报文;
[0013]所述物理位置的字段位于所述SYSLOG报文的STRUCTURED-DATA部分。
[0014]一种分布式系统中日志报文丢失检测方法,包括:
[0015]服务器接收到节点发送的日志报文后,解析所述日志报文而获取所述节点的物理位置的信息和所述报文的本地流水号;
[0016]根据所述节点的物理位置的信息查找所述服务器存储的所述节点之前发送的日志报文的本地流水号,判断之前发送的日志报文的本地流水号与当前接收日志报文的本地流水号是否连续,不连续时确定所述节点发送的日志报文有丢失。
[0017]优选地,所述方法还包括:
[0018]所述日志报文中增设有节点的物理位置的字段;
[0019]所述服务器解析所述日志报文,从所述物理位置的字段中获取所述节点的物理位置的信息。
[0020]优选地,所述日志报文为SYSLOG报文;
[0021 ] 所述物理位置的字段位于所述SYSLOG报文的STRUCTURED-DATA部分。
[0022]一种分布式系统中日志报文传输装置,包括:生成单元、第一设置单元、获取单元、添加单元和传输单元,其中:
[0023]生成单元,用于生成日志报文;
[0024]第一设置单元,用于为所述日志报文设置本地流水号;
[0025]获取单元,用于获取所述节点的物理位置的信息;
[0026]添加单元,用于将所述本地流水号及所述节点的物理位置的信息添加到所述日志报文中;
[0027]传输单兀,用于传输所述日志报文。
[0028]优选地,所述装置还包括:
[0029]第二设置单元,用于为日志报文增设节点的物理位置的字段;
[0030]所述添加单元,还用于将所述节点的物理位置的信息添加到所述日志报文中的所述物理位置的字段中。
[0031 ] 优选地,所述日志报文为SYSLOG报文;
[0032]所述物理位置的字段位于所述SYSLOG报文的STRUCTURED-DATA部分。
[0033]一种分布式系统中日志报文丢失检测装置,包括:接收单元、解析单元、查找单元和判断单元,其中:
[0034]接收单元,用于接收节点发送的日志报文;
[0035]解析单元,用于解析所述日志报文而获取所述节点的物理位置的信息和所述报文的本地流水号;
[0036]查找单元,用于根据所述节点的物理位置的信息查找本地存储的所述节点之前发送的日志报文的本地流水号;
[0037]判断单元,用于判断之前发送的日志报文的本地流水号与当前接收日志报文的本地流水号是否连续,不连续时确定所述节点发送的日志报文有丢失。
[0038]优选地,所述日志报文中增设有节点的物理位置的字段;
[0039]所述解析单元,还用于解析所述日志报文,从所述物理位置的字段中获取所述节点的物理位置的信息。
[0040]优选地,所述日志报文为SYSLOG报文;
[0041 ] 所述物理位置的字段位于所述SYSLOG报文的STRUCTURED-DATA部分。
[0042]本发明实施例中,分布式系统中的节点在生成日志报文时,会将节点的物理位置信息及日志报文的本地流水号一并插入到日志报文中,而服务器节接收到节点发送的日志报文后,根据日志报文中的节点的物理位置信息查找出该节点之前发送的日志报文,服务器判断根据之前接收到的日志报文的流水号与当前所接收到的日志报文的流水号是否连续,若不连续则意味着该节点所发送的日志报文有丢失。
【附图说明】
[0043]图1为本发明实施例的分布式系统中日志报文传输方法的流程图;
[0044]图2为本发明实施例的分布式系统中日志报文丢失检测方法的流程图;
[0045]图3为本发明实施例的分布式系统中服务器与节点之间报文传输的示意图;
[0046]图4为本发明实施例的分布式系统中日志报文传输装置的组成结构示意图;
[0047]图5为本发明实施例的分布式系统中日志报文丢失检测装置的组成结构示意图。
【具体实施方式】
[0048]为使本发明的目的、技术方案和有点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0049]图1为本发明实施例的分布式系统中日志报文传输方法的流程图,如图1所示,本示例的分布式系统中日志报文传输方法包括以下步骤:
[0050]步骤101,节点生成日志报文时,为所述日志报文设置本地流水号,获取所述节点的物理位置的信息,将所述本地流水号及所述节点的物理位置的信息添加到所述日志报文中。
[0051]本发明实施例中,当节点生成日志报文时,还为日志报文设置本地流水号;需要说明的是,节点为日志报文所设置的本地流水号是连续的;本发明实施例中,在日志报文中还设置有节点的物理位置的字段,该字段携带节点的物理位置信息,该物理位置信息能唯一标识该节点。也就是说,本发明实施例在封装日志报文时,需要同时封装生成该日志报文的节点的相关标识信息。
[0052]步骤102,节点传输日志报文。
[0053]完成日志报文的封装后,向目的端发送该日志报文。
[0054]本发明实施例中,日志报文为SYSLOG报文。具体可以将生成SYSLOG报文的本节点的物理位置标识添加到SYSLOG报文的STRUCTURED-DATA部分;需要说明的是,本发明实施例并不限于节点的物理位置标识添加到STRUCTURED-DATA部分,随着SYSLOG报文结构的扩展,可以将节点的物理位置标识添加到SYSLOG报文的其他字段中。
[0055]图2为本发明实施例的分布式系统中日志报文丢失检测方法的流程图,如图2所示,本示例的分布式系统中日志报文丢失检测方法包括以下步骤:
[0056]步骤201,服务器接收到节点发送的日志报文后,解析所述日志报文而获取所述节点的物理位置的信息和所述报文的本地流水号。
[0057]服务器接收到节点发送的日志报文后,对其进行解析,获取该日志报文中的节点的物理位置信息及该日志报文的节点本地流水号。
[0058]本发明实施例中,当节点生成日志报文时,还为日志报文设置本地流水号;需要说明的是,节点为日志报文所设置的本地流水号是连续的;本发明实施例中,在日志报文中还设置有节点的物理位置的字段,该字段携带节点的物理位置信息,该物理位置信息能唯一标识该节点。
[0059]步骤202,服务器根据所述节点的物理位置的信息查找所述服务器存储的所述节点之前发送的日志报文的本地流水号,判断之前发送的日志报文的本地流水号与当前接收日志报文的本地流水号是否连续,不连续时确定所述节点发送的日志报文有丢失。
[0060]服务器查找该节点之前发送的日志报文,并比较之前的日志报文的流水号与当前接收的日志报文的流水号是否连续,若不连续,则意味着服务器当前接收到的该节点发送的日志报文有丢失现象。即可通知该节点将未能发送给服务器的相关日志报文进行重发坐寸ο
[0061]本发明实施例中,在日志报文中还设置有节点的物理位置的字段,该字段携带节点的物理位置信息,该物理位置信息能唯一标识该节点。也就是说,本发明实施例在封装日志报文时,需要同时封装生成该日志报文的节点的相关标识信息。
[0062]日志报文为SYSLOG报文。具体可以将生成SYSLOG报文的本节点的物理位置标识添加到SYSLOG报文的STRUCTURED-DATA部分;需要说明的是,本发明实施例并不限于节点的物理位置标识添加到STRUCTURED-DATA部分,随着SYSLOG报文结构的扩展,可以将节点的物理位置标识添加到SYSLOG报文的其他字段中。
[0063]在分布式系统中,由分布式系统中的管理节点统一给所有分布在不同物理位置的节点分配一个全局唯一的物理位置标识,并通知对应的节点。如图3所示,当分布式系统的节点需要能够SYSLOG报文时,将本节点的物理位置标识添加到SYSLOG报文中,比如协议中定义的STRUCTURED-DATA部分,但不限于STRUCTURED-DATA部分,同时获取本节点发送SYSLOG报文的流水号,填写到SYSLOG报文中的流水号字段,完成SYSLOG报文组织后,发送给SYSLOG服务器。
[0064]本发明实施例中,可能的一种实现方式是在SYSLOG协议的STRUCTURED-DATA部分添加一个信元SD-ELEMENT如下:
[0065][exampleSDIDi32473phyAddress = "ΜΡυ-0\20\0"],
[0066]其中“exampleSDID@32473”用来标识SD-ELEMENT。“phyAddress = 〃MPU-0\20\(T”用来标识报文发出的物理位置,〃MPU-0\20\0〃是物理位置的一个样例,实际实现时不局限于该格式。对于节点的流水号,可以在phyAddress后面追加一个SD-PARAM描述
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1