一种根据消息标识追踪数据包的方法和系统的制作方法_2

文档序号:8301442阅读:来源:国知局
[0024]作为所述的一种根据消息标识追踪数据包的系统的进一步改进,所述数据包的格式包括有四个属性,其具体为:消息标识、功能、操作动作和发送对象。
[0025]作为所述的一种根据消息标识追踪数据包的系统的进一步改进,所述消息标识为采用UUID生成的具有全球唯一识别码的字符串。
[0026]本发明具体实施例中的服务器采用分布式系统,本发明的数据包结构如下:
{
“header”: {
“send_to,,: “xxxxxx,,,
“module,,: “xxxx,,,
“act1n”: “set”,
“msg_id”: “ be71029dc3b9a299cd722fc9070d92ec”
h
“body”: { }
};
需要说明的是,所述数据包结构包含Header和Body两个部分,Body部分是一个Map,将属性名称作为键值对存储在通用报文中;Header部分包含msg_id,module, act1n,sencLto,按前到后排列依次为:消息标识、功能、操作动作和发送对象共四个属性。这四个属性中,msg_id是一个8字节的数据单元,用字符串表示为32个16进制字符,任意一个服务请求,都具备一个全局唯一的ID信息module是一个长度不限的字符串,根据产品功能进行区分;act1n对应HTTP增删查改四种操作;send_to表示当前这个报文发送给哪个客户端或哪个服务集群。
[0027]其中,通过筛选消息标识msg_id进行随机或全部分析数据报文,即可获得每台服务器在消息处理花费的时间,进而生成服务器健康状况、报表等等,以便帮助开发人员定位分布式系统的性能瓶颈。
[0028]当一个Tcp请求发送给Tcp服务器时,由Tcp服务器分发给Business服务器,并由Business服务器处理后返回给Tcp服务器。
[0029]使用如下Linux命令获得整个命令在系统中运行的状态: find./ |xargs grep “be71029dc3b9a299cd722fc9070d92ec”,
然后从返回的结果中获得这个消息的时间、分发到后端业务服务器的时间、后端业务服务器收到该消息的时间、后端业务服务器发出结果指令的时间、Tcp服务器收到该结果的时间和Tcp服务器发送结果的时间。根据这些时间即可很容易的获得时间差,便可计算出系统运行的瓶颈以及压力的位置,从而可以调节整个服务器集群的工作数量,优化系统性會K。
[0030]进一步,本发明中会持续的监控所有的消息日志文件,并根据当前服务器的压力对服务器的消息日志进行抽样或完整分析。当出现有处理时间超长和处理大量失败的情况时,会根据预先设定的系统管理员的联系方式调用短息、邮件接口,向系统管理员发送当前系统问题。系统管理员即可根据问题及时处理。
[0031]从上述内容可知,本发明一种根据消息标识追踪数据包的方法及系统通过在数据包中增设消息标识,并根据该消息标识对消息日志进行分析,能有效追踪到数据包在服务器中的处理情况,并且可以查看到在每个服务器处理花费的时间以及是否正确返回结果等信息,大大方便开发人员定位系统性能瓶颈以及处理主要时间消耗。而且本发明还能实时监控消息日志情况,当发现系统问题时,能及时通知管理员,有效提高维护的效率,大大减少问题处理的时间。
[0032]以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
【主权项】
1.一种根据消息标识追踪数据包的方法,其特征在于,包括以下步骤: A、当服务器收到数据包、开始处理数据包、数据包处理结束或将数据包转发到下个服务器处理的节点时,生成包含消息标识的消息日志; B、对所述消息日志进行收集并处理,进而生成描述服务器运行状况的报表。
2.根据权利要求1所述的一种根据消息标识追踪数据包的方法,其特征在于,所述步骤B中的对所述消息日志进行收集并处理,其具体包括: B1、根据消息标识,对包含该消息标识的消息日志进行查找,并返回查找结果; B2、根据查找结果,从中提取收到该数据包的时间、分发到后端业务服务器的时间、后端业务服务器收到该数据包的时间、后端业务服务器发出结果指令的时间、Tcp服务器收到该结果的时间和Tcp服务器发送结果的时间。
3.根据权利要求1所述的一种根据消息标识追踪数据包的方法,其特征在于,还包括: C、实时监控所有的消息日志,对消息日志进行抽样或完整分析,当出现处理时间超出预设时间或处理失败数量大于预设阈值的情况时,根据预先设定的系统管理员的联系方式调用短信和邮件接口,向系统管理员发送当前系统问题。
4.根据权利要求1所述的一种根据消息标识追踪数据包的方法,其特征在于,所述数据包的格式包括有四个属性,其具体为:消息标识、功能、操作动作和发送对象。
5.根据权利要求1所述的一种根据消息标识追踪数据包的方法,其特征在于,所述消息标识为采用UUID生成的具有全球唯一识别码的字符串。
6.一种根据消息标识追踪数据包的系统,其特征在于,包括: 消息日志存储模块,用于当服务器收到数据包、开始处理数据包、数据包处理结束或将数据包转发到下个服务器处理的节点时,生成包含消息标识的消息日志; 消息日志分析模块,用于对所述消息日志进行收集并处理,进而生成描述服务器运行状况的报表。
7.根据权利要求6所述的一种根据消息标识追踪数据包的系统,其特征在于,所述消息日志分析模块包括: 查找单元,用于根据消息标识,对包含该消息标识的消息日志进行查找,并返回查找结果; 提取单元,用于根据查找结果,从中提取收到该数据包的时间、分发到后端业务服务器的时间、后端业务服务器收到该数据包的时间、后端业务服务器发出结果指令的时间、Tcp服务器收到该结果的时间和Tcp服务器发送结果的时间。
8.根据权利要求6所述的一种根据消息标识追踪数据包的系统,其特征在于,还包括: 监控模块,用于实时监控所有的消息日志,对消息日志进行抽样或完整分析,当出现处理时间超出预设时间或处理失败数量大于预设阈值的情况时,根据预先设定的系统管理员的联系方式调用短信和邮件接口,向系统管理员发送当前系统问题。
9.根据权利要求6所述的一种根据消息标识追踪数据包的系统,其特征在于,所述数据包的格式包括有四个属性,其具体为:消息标识、功能、操作动作和发送对象。
10.根据权利要求6所述的一种根据消息标识追踪数据包的系统,其特征在于,所述消息标识为采用UUID生成的具有全球唯一识别码的字符串。
【专利摘要】本发明公开了一种根据消息标识追踪数据包的方法及系统通过在数据包中增设消息标识,并根据该消息标识对消息日志进行分析,能有效追踪到数据包在服务器中的处理情况,并且可以查看到在每个服务器处理花费的时间以及是否正确返回结果等信息,大大方便开发人员定位系统性能瓶颈以及处理主要时间消耗。而且本发明还能实时监控消息日志情况,当发现系统问题时,能及时通知管理员,有效提高维护的效率,大大减少问题处理的时间。本发明作为一种根据消息标识追踪数据包的方法及系统可广泛应用于分布式系统中。
【IPC分类】H04L12-24, H04L12-26
【公开号】CN104618144
【申请号】CN201410853952
【发明人】田野, 刘朝, 綦振, 周远, 姚秀萍, 马炜镔, 马天元, 文大军
【申请人】深圳市兰丁科技有限公司
【公开日】2015年5月13日
【申请日】2014年12月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1