一种传输异常事件的处理方法和装置制造方法

文档序号:8000154阅读:137来源:国知局
一种传输异常事件的处理方法和装置制造方法
【专利摘要】本发明公开了一种传输异常事件的处理方法和装置,检测异常事件队列的长度,当异常事件队列的长度小于L时,检测存储介质上是否存在存储传输异常事件的临时文件;当存在临时文件时,将临时文件中存储的传输异常事件按接收的时间顺序加入异常事件队列中;如果异常事件队列的长度达到L时临时文件中仍有数据,则将获取的传输异常事件写入临时文件中;按先进先出的顺序处理异常事件队列中的传输异常事件。本发明的传输异常事件的处理方法和装置,基于时序逻辑对传输异常进行处理,利用内存和文件双重结合的方式对通讯中异常的数据进行恢复,提高了事件传输过程的效率,保证事件传输过程的可靠性,保证事件传输过程的完整性。
【专利说明】一种传输异常事件的处理方法和装置

【技术领域】
[0001] 本发明涉及网络通信【技术领域】,尤其涉及一种传输异常事件的处理方法和装置。

【背景技术】
[0002] 目前,B/S架构可以适应最普遍的网络架构,例如,SOC (Security Operations Center)作为安全运营平台,组件间通信基于HTTP方式,需要实时采集大量日志数据进行 分析。通信中的接收方为上级,发送方为下级。下级向上级通信称为上送,上送采用HTTP 请求(GET或者POST)报文,通过请求包的头部、正文传输上送内容。上级向下级通信称为 下发,下发采用HTTP响应报文,通过响应头部的状态码通知上送内容是否成功;并且,通过 响应报文的其他头部、正文传输下发内容。上级向下级下发内容,通过HTTP响应报文的方 式传递,为异步方式,有一定延时。
[0003] 在S0C平台中,无论是上送的事件,下传的配置,都必需保证准确的到达相关的组 件,并且需要保证事件之间的时序逻辑,如果出现丢失的情况,将导致整个S0C平台无法正 常运行。例如,在HTTP的通讯中,HTTP为了应对大量连接请求的情况规定客户端与服务端 只保持短暂的连接,客户端的每次请求都需要与服务端建立一个TCP连接,服务端完成请 求处理后立即断开TCP连接,服务端不跟踪每个客户端也不记录过去的请求。这样的情况 下,会出现大量的数据的不确定性,需要使用额外添加的异常处理和恢复的机制,事件和配 置的异常处理比较困难,而内存中的异常处理也无法达到海量事件的存储和配置信息的更 新。


【发明内容】

[0004] 有鉴于此,本发明要解决的一个技术问题是提供一种传输异常事件的处理方法, 利用内存和文件结合的方式对异常的数据进行恢复。
[0005] -种传输异常事件的处理方法,包括:在传输数据出现异常时,获取未成功传输的 数据,其中,所述未成功传输的数据作为传输异常事件;检测异常事件队列的长度;当所述 异常事件队列的长度小于L时,检测存储介质上是否存在存储传输异常事件的临时文件; 其中,当存在所述临时文件时,将所述临时文件中存储的传输异常事件按接收的时间顺序 加入所述异常事件队列中;如果所述异常事件队列的长度达到L时所述临时文件中仍有数 据,则将获取的传输异常事件写入所述临时文件中;如果所述异常事件队列的长度未达到 L时所述临时文件已清空,则将获取的传输异常事件写入所述异常事件队列;如果不存在 所述临时文件时,将则将获取的传输异常事件写入所述异常事件队列;当所述异常事件队 列的长度大于L时,则将获取的传输异常事件写入所述临时文件中;按先进先出的顺序处 理所述异常事件队列中的传输异常事件;其中,L为设定的所述异常事件队列的最大长度, 所述传输异常原因包括:TCP连接异常、数据库连接失败。
[0006] 根据本发明的方法的一个实施例,进一步的,当所述异常事件队列的长度小于N 时,将所述临时文件中存储的传输异常事件按接收的时间顺序加入所述异常事件队列中, 其中,L>N。
[0007] 根据本发明的方法的一个实施例,进一步的,接收客户设备发送的消息,并将所述 消息发送到上级或下级服务器;所述消息被正常发送完成后,将链接状态参数的值设置为 正常空闲状态;当与上级或下级服务器之间的TCP连接出现异常时,将所述链接状态参数 的值设置为通信故障状态,并将客户设备发送的消息作为传输异常事件,存储在所述异常 事件队列或临时文件中;所述客户设备发送的消息包括:日志消息、告警消息。
[0008] 根据本发明的方法的一个实施例,进一步的,接收到客户设备发送的消息,获取所 述链接状态参数的值;当所述链接状态参数的值为正常空闲状态时,将所述消息发送到上 级或下级服务器;当所述链接状态参数的值为通信故障状态时,将所述消息作为传输异常 事件,检测所述异常事件队列的长度,当所述异常事件队列的长度小于L、并存在所述临时 文件时,将所述临时文件中存储的传输异常事件按接收的时间顺序加入所述异常事件队列 中;如果所述异常事件队列的长度达到L时所述临时文件中仍有数据,则将所述消息写入 所述临时文件中;如果所述异常事件队列的长度未达到L时所述临时文件已清空,则将所 述消息写入所述异常事件队列;当不存在所述临时文件时,将则将所述消息写入所述异常 事件队列;当所述异常事件队列的长度大于L时,则将所述消息写入所述临时文件中;其 中,当所述异常事件队列和所述临时文件中都没有传输异常事件,并且,与上级或下级服务 器之间的TCP连接恢复正常时,将所述链接状态参数的值设置为正常空闲状态。
[0009] 根据本发明的方法的一个实施例,进一步的,启动心跳线程,用于检测与上级或下 级服务器之间的TCP连接状态;启动事件处理线程,用于处理所述异常事件队列中的传输 异常事件;当所述临时文件的大小超过阈值,使用GZIP方式对所述临时文件进行压缩。 [0010] 本发明要解决的一个技术问题是提供一种传输异常事件的处理装置,利用内存和 文件结合的方式对异常的数据进行恢复。
[0011] 一种传输异常事件的处理装置,包括:异常事件获取单元,用于在传输数据出现异 常时,获取未成功传输的数据,其中,所述未成功传输的数据作为传输异常事件;异常事件 存储单元,用于检测异常事件队列的长度;当所述异常事件队列的长度小于L时,检测存储 介质上是否存在存放传输异常事件的临时文件;当存在所述临时文件时,将所述临时文件 中存储的传输异常事件按接收的时间顺序加入所述异常事件队列中;如果所述异常事件队 列的长度达到L时所述临时文件中仍有数据,则将获取的传输异常事件写入所述临时文件 中;如果所述异常事件队列的长度未达到L时所述临时文件已清空,则将获取的传输异常 事件写入所述异常事件队列;如果不存在所述临时文件,将则将获取的传输异常事件写入 所述异常事件队列;当所述异常事件队列的长度大于L时,则将获取的传输异常事件写入 所述临时文件中;异常事件处理单元,用于按先进先出的顺序处理所述异常事件队列中的 传输异常事件;其中,所述传输异常原因包括:TCP连接异常、数据库连接失败。
[0012] 根据本发明的装置的一个实施例,进一步的,当所述异常事件队列的长度小于N 时,所述异常事件处理单元将所述临时文件中存储的传输异常事件按接收的时间顺序加入 所述异常事件队列中。
[0013] 根据本发明的装置的一个实施例,进一步的,消息收发单元,用于接收客户设备发 送的消息,并将所述消息发送到上级或下级服务器;所述消息被正常发送完成后,将链接状 态参数的值设置为正常空闲状态;当与上级或下级服务器之间的TCP连接出现异常时,所 述消息收发单元将所述链接状态参数的值设置为通信故障状态,并将客户设备发送的消息 作为传输异常事件,存储在所述异常事件队列或临时文件中;所述客户设备发送的消息包 括:日志消息、告警消息。
[0014] 根据本发明的装置的一个实施例,进一步的,所述消息收发单元接收到客户设备 发送的消息,并获取所述链接状态参数的值;当所述链接状态参数的值为正常空闲状态时, 所述消息收发单元将所述消息发送到上级或下级服务器;当所述链接状态参数的值为通信 故障状态时,所述消息收发单元将客户设备发送的消息作为传输异常事件,并发送到所述 异常事件获取单元;所述异常事件存储单元检测所述异常事件队列的长度,当所述异常事 件队列的长度小于L、并存在所述临时文件时,将所述临时文件中存储的传输异常事件按接 收的时间顺序加入所述异常事件队列中;如果所述异常事件队列的长度达到L时所述临时 文件中仍有数据,所述异常事件存储单元则将所述消息写入所述临时文件中;如果所述异 常事件队列的长度未达到L时所述临时文件已清空,则所述异常事件存储单元将所述消息 写入所述异常事件队列;当不存在所述临时文件时,则所述异常事件存储单元将所述消息 写入所述异常事件队列;当所述异常事件队列的长度大于L时,则将所述消息写入所述临 时文件中;其中,当所述异常事件队列和临时文件中都没有传输异常事件,并且,与上级或 下级服务器之间的TCP连接回复正常时,所述异常事件处理单元将链接状态参数的值设置 为正常空闲状态。
[0015] 根据本发明的装置的一个实施例,进一步的,心跳单元启动心跳线程,用于检测与 上级或下级服务器之间的TCP连接状态;所述消息收发单元启动事件处理线程,用于处理 所述异常事件队列中的传输异常事件;当所述临时文件的大小超过阈值,使用GZIP方式对 所述临时文件进行压缩。
[0016] 本发明的传输异常事件的处理方法和装置,基于时序逻辑对传输异常进行处理, 利用内存和文件双重结合的方式对通讯中异常的数据进行恢复,加入了缓存机制保证传输 的可靠性,可以处理更长的通讯中断带来的功能和性能影响。提高了事件传输过程的效率, 保证事件传输过程的可靠性,保证事件传输过程的完整性。

【专利附图】

【附图说明】
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还 可以根据这些附图获得其他的附图。
[0018] 图1为根据本发明的传输异常事件的处理方法的一个实施例的流程图;
[0019] 图2为根据本发明的传输异常事件的处理装置的一个实施例的示意图。

【具体实施方式】
[0020] 下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下 面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显 然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实 施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属 于本发明保护的范围。
[0021] 图1为根据本发明的传输异常事件的处理方法的一个实施例的流程图。如图1所 示:
[0022] 步骤101,在传输数据出现异常时,获取未成功传输的数据,其中,将未成功传输 的数据作为传输异常事件。传输异常原因包括:TCP连接异常、数据库连接失败等等,在数 据传输中出现的故障。
[0023] 步骤102,判断异常事件队列的长度是否小于L,L为设定的异常事件队列的最大 长度。
[0024] 步骤104,当异常事件队列的长度等于L时,则将接收的传输异常事件写入临时文 件中。如果没有临时文件,可以新建立临时文件。
[0025] 步骤103,当异常事件队列的长度小于L时,检测存储介质上是否存在存储传输异 常事件的临时文件。
[0026] 步骤105,如果不存在临时文件时,将则将接收的传输异常事件写入异常事件队 列。
[0027] 步骤106,当存在临时文件时,将临时文件中存储的传输异常事件按接收的时间顺 序加入异常事件队列中。
[0028] 步骤107,判断异常事件队列的长度达到L时临时文件中是否仍有数据。
[0029] 步骤108,是,则将接收的传输异常事件写入临时文件中。
[0030] 步骤109,如果异常事件队列的长度未达到L时临时文件已清空,则将接收的传输 异常事件写入异常事件队列。
[0031] 按先进先出的顺序处理异常事件队列中的传输异常事件,可以实现基于时序逻辑 对传输异常进行处理。每一个传输异常事件都是个历史状态,对于后端的分析都是有价值 的,所以在传输异常的情况下,尽量保证保留每一个到来的和原有的事件们,在事件量暴增 的情况下,内存将有溢出的风险。
[0032] 本发明的传输异常事件的处理方法,通过设定临时文件,利用内存和文件双重结 合的方式对传输通讯中异常的数据进行恢复,加入了缓存机制保证传输的可靠性,可以处 理更长的通讯中断带来的功能和性能影响。能够提高了事件传输过程的效率,并且保证事 件传输过程的可靠性,保证事件传输过程的时序及完整性。
[0033] 根据本发明的一个实施例,当异常事件队列的长度小于N时,将临时文件中存储 的传输异常事件按接收的时间顺序加入异常事件队列中,其中,L>N。按先进先出的顺序处 理异常事件队列中的传输异常事件,直至异常事件队列和临时文件都为空。
[0034] 根据本发明的一个实施例,可以启动线程按先进先出的顺序处理异常事件队列中 的传输异常事件。
[0035] 根据本发明的一个实施例,可以启动线程,接收客户设备发送的消息,并将消息发 送到上级或下级服务器。
[0036] 消息被正常发送完成后,将链接状态参数的值设置为正常空闲状态。当与上级或 下级服务器之间的TCP连接出现异常时,将链接状态参数的值设置为通信故障状态,并将 客户设备发送的消息作为传输异常事件,存储在异常事件队列或临时文件中。客户设备发 送的消息包括:日志消息、告警消息。
[0037] 根据本发明的一个实施例,对于每个TCP连接将产生一个Trans类对象,构造函数 至少包含上级服务器地址,使用网际协议类型;初始化包编号为0。链接状态参数可以是一 个全局的变量,具有赋值:〇_正常空闲状态;2 -初始化状态;3 -正常占用状态;4 一通信 故障状态;5-非注册状态等等。
[0038] 在Trans对象生成时通过传入的网际协议类型指定接收、发送:函数,比如TCP指 定的是read和write或者是recv和send函数。trans对象进入到正常状态后,便可调用 trans对象的网络接口函数进行收发。
[0039] 根据本发明的一个实施例,接收到客户设备发送的消息,获取链接状态参数的值。
[0040] 当链接状态参数的值为正常空闲状态时,将消息发送到上级或下级服务器。
[0041] 当链接状态参数的值为通信故障状态时,将消息作为传输异常事件,检测异常事 件队列的长度,具体将消息加入的队列为:
[0042] 当异常事件队列的长度小于L、并存在临时文件时,将临时文件中存储的传输异常 事件按接收的时间顺序加入异常事件队列中。
[0043] 如果异常事件队列的长度达到L时临时文件中仍有数据,则将消息写入临时文件 中。
[0044] 如果异常事件队列的长度未达到L时临时文件已清空,则将消息写入异常事件队 列。
[0045] 当不存在临时文件时,将则将消息写入异常事件队列。当异常事件队列的长度大 于L时,则将消息写入临时文件中。
[0046] 当异常事件队列和临时文件中都没有传输异常事件,并且,与上级或下级服务器 之间的TCP连接恢复正常时,将链接状态参数的值设置为正常空闲状态。
[0047] 这样,当出现传输异常时,将客户设备发送的消息也加入队列或临时文件,并且在 将队列或临时文件中的事件(消息)都处理完后,才进行正常的收发,可以保证客户发送消 息的时序和完整。
[0048] 根据本发明的一个实施例,在处理队列或临时文件中的事件时,先判断上级或下 级服务器之间的TCP连接状态是否恢复,如果恢复,按先进先出的顺序处理异常事件队列 中的传输异常事件,并采用加锁和解锁的方式。如果未恢复,则继续进行TCP协商。
[0049] 根据本发明的一个实施例,启动心跳线程,检测与上级或下级服务器之间的TCP 连接状态。在心跳线程保证了 TCP链接的正常状态后,便可开始正常的处理。
[0050] 启动事件处理线程,用于处理异常事件队列中的传输异常事件。当临时文件的大 小超过阈值,使用GZIP方式对临时文件进行压缩。
[0051] 图2为根据本发明的传输异常事件的处理装置的一个实施例的示意图。如图所 示,传输异常事件的处理装置21包括:异常事件获取单元211、异常事件存储单元212、传输 异常事件213。
[0052] 异常事件获取单元211在传输数据出现异常时,获取未成功传输的数据,其中,所 述未成功传输的数据作为传输异常事件。异常事件存储单元212检测异常事件队列的长 度,当异常事件队列的长度小于L时,检测存储介质上是否存在存放传输异常事件的临时 文件。
[0053] 当存在临时文件时,异常事件存储单元212将临时文件中存储的传输异常事件按 接收的时间顺序加入异常事件队列中。
[0054] 如果异常事件队列的长度达到L时临时文件中仍有数据,则异常事件存储单元 212将获取的传输异常事件写入临时文件中。
[0055] 如果异常事件队列的长度未达到L时临时文件已清空,则异常事件存储单元212 将获取的传输异常事件写入异常事件队列。
[0056] 如果不存在临时文件,异常事件存储单元212则将获取的传输异常事件写入异常 事件队列。
[0057] 当异常事件队列的长度大于L时,则异常事件存储单元212将获取的传输异常事 件写入临时文件中。
[0058] 异常事件处理单元213按先进先出的顺序处理异常事件队列中的传输异常事件。
[0059] 根据本发明的一个实施例,当异常事件队列的长度小于N时,异常事件处理单元 213将临时文件中存储的传输异常事件按接收的时间顺序加入异常事件队列中。
[0060] 根据本发明的一个实施例,消息收发单元214接收客户设备发送的消息,并将消 息发送到上级或下级服务器。
[0061] 消息被正常发送完成后,消息收发单元214将链接状态参数的值设置为正常空闲 状态。
[0062] 当与上级或下级服务器之间的TCP连接出现异常时,消息收发单元214将链接状 态参数的值设置为通信故障状态,并将客户设备发送的消息作为传输异常事件,存储在异 常事件队列或临时文件中。
[0063] 根据本发明的一个实施例,消息收发单元214接收到客户设备发送的消息,并获 取链接状态参数的值。
[0064] 当链接状态参数的值为正常空闲状态时,消息收发单元214将消息发送到上级或 下级服务器。
[0065] 当链接状态参数的值为通信故障状态时,消息收发单元214将客户设备发送的消 息作为传输异常事件,并发送到异常事件获取单元211。
[0066] 根据本发明的一个实施例,消息收发单元214可以与异常事件获取单元211共同 监控一个消息队列。
[0067] 当链接状态参数的值为通信故障状态时,消息收发单元214将客户设备发送的消 息作为传输异常事件消息,发送到消息队列中,收发单元214将从此消息队列中获取此消 肩、。
[0068] 异常事件存储单元212检测异常事件队列的长度,当异常事件队列的长度小于L、 并存在临时文件时,将临时文件中存储的传输异常事件按接收的时间顺序加入异常事件队 列中。
[0069] 如果异常事件队列的长度达到L时临时文件中仍有数据,异常事件存储单元212 则将消息写入临时文件中。
[0070] 如果异常事件队列的长度未达到L时临时文件已清空,则异常事件存储单元212 将消息写入异常事件队列。当不存在临时文件时,则异常事件存储单元212将消息写入异 常事件队列。当异常事件队列的长度大于L时,则将消息写入临时文件中。
[0071] 当异常事件队列和临时文件中都没有传输异常事件,并且,与上级或下级服务器 之间的TCP连接回复正常时,异常事件处理单元213将链接状态参数的值设置为正常空闲 状态。
[0072] 根据本发明的一个实施例,启动心跳线程检测与上级或下级服务器之间的TCP连 接状态。消息收发单元214启动事件处理线程处理异常事件队列中的传输异常事件;当临 时文件的大小超过阈值,使用GZIP方式对所述临时文件进行压缩。
[0073] 本发明的传输异常事件的处理方法和装置,基于时序逻辑对传输异常进行处理, 利用内存和文件双重结合的方式对通讯中异常的数据进行恢复,加入了缓存机制保证传输 的可靠性,可以处理更长的通讯中断带来的功能和性能影响。提高了事件传输过程的效率, 保证事件传输过程的可靠性,保证事件传输过程的完整性。
[0074] 可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者 软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是 为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说 明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括 用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发 明的方法的程序的记录介质。
[0075] 本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。
【权利要求】
1. 一种传输异常事件的处理方法,其特征在于,包括: 在传输数据出现异常时,获取未成功传输的数据,其中,所述未成功传输的数据作为 传输异常事件; 检测异常事件队列的长度,当所述异常事件队列的长度小于L时,检测存储介质上是 否存在存储传输异常事件的临时文件; 其中,当存在所述临时文件时,将所述临时文件中存储的传输异常事件按接收的时间 顺序加入所述异常事件队列中;如果所述异常事件队列的长度达到L时所述临时文件中仍 有数据,则将获取的传输异常事件写入所述临时文件中;如果所述异常事件队列的长度未 达到L时所述临时文件已清空,则将获取的传输异常事件写入所述异常事件队列;如果不 存在所述临时文件时,将则将获取的传输异常事件写入所述异常事件队列; 当所述异常事件队列的长度大于或等于L时,则将获取的传输异常事件写入所述临时 文件中; 按先进先出的顺序处理所述异常事件队列中的传输异常事件; 其中,L为设定的所述异常事件队列的最大长度,传输异常原因包括:TCP连接异常、数 据库连接失败。
2. 如权利要求1所述的方法,其特征在于: 当所述异常事件队列的长度小于N时,将所述临时文件中存储的传输异常事件按接收 的时间顺序加入所述异常事件队列中,其中,L>N。
3. 如权利要求1所述的方法,其特征在于: 接收客户设备发送的消息,并将所述消息发送到上级或下级服务器; 所述消息被正常发送完成后,将链接状态参数的值设置为正常空闲状态; 当与上级或下级服务器之间的TCP连接出现异常时,将所述链接状态参数的值设置为 通信故障状态,并将客户设备发送的消息作为传输异常事件,存储在所述异常事件队列或 临时文件中; 所述客户设备发送的消息包括:日志消息、告警消息。
4. 如权利要求3所述的方法,其特征在于: 接收到客户设备发送的消息,获取所述链接状态参数的值; 当所述链接状态参数的值为正常空闲状态时,将所述消息发送到上级或下级服务器; 当所述链接状态参数的值为通信故障状态时,将所述消息作为传输异常事件,检测所 述异常事件队列的长度,当所述异常事件队列的长度小于L、并存在所述临时文件时,将所 述临时文件中存储的传输异常事件按接收的时间顺序加入所述异常事件队列中;如果所述 异常事件队列的长度达到L时所述临时文件中仍有数据,则将所述消息写入所述临时文件 中;如果所述异常事件队列的长度未达到L时所述临时文件已清空,则将所述消息写入所 述异常事件队列;当不存在所述临时文件时,将则将所述消息写入所述异常事件队列; 当所述异常事件队列的长度大于L时,则将所述消息写入所述临时文件中; 其中,当所述异常事件队列和所述临时文件中都没有传输异常事件,并且,与上级或下 级服务器之间的TCP连接恢复正常时,将所述链接状态参数的值设置为正常空闲状态。
5. 如权利要求4所述的方法,其特征在于: 启动心跳线程,用于检测与上级或下级服务器之间的TCP连接状态; 启动事件处理线程,用于处理所述异常事件队列中的传输异常事件; 当所述临时文件的大小超过阈值,使用GZIP方式对所述临时文件进行压缩。
6. -种传输异常事件的处理装置,其特征在于,包括: 异常事件获取单元,用于在传输数据出现异常时,获取未成功传输的数据,其中,所述 未成功传输的数据作为传输异常事件; 异常事件存储单元,用于检测异常事件队列的长度;当所述异常事件队列的长度小于 L时,检测存储介质上是否存在存放传输异常事件的临时文件;当存在所述临时文件时,将 所述临时文件中存储的传输异常事件按接收的时间顺序加入所述异常事件队列中;如果所 述异常事件队列的长度达到L时所述临时文件中仍有数据,则将获取的传输异常事件写入 所述临时文件中;如果所述异常事件队列的长度未达到L时所述临时文件已清空,则将获 取的传输异常事件写入所述异常事件队列;如果不存在所述临时文件,将则将获取的传输 异常事件写入所述异常事件队列;当所述异常事件队列的长度大于L时,则将获取的传输 异常事件写入所述临时文件中; 异常事件处理单元,用于按先进先出的顺序处理所述异常事件队列中的传输异常事 件; 其中,L为设定的所述异常事件队列的最大长度,传输异常原因包括:TCP连接异常、数 据库连接失败。
7. 如权利要求6所述的装置,其特征在于: 当所述异常事件队列的长度小于N时,所述异常事件处理单元将所述临时文件中存储 的传输异常事件按接收的时间顺序加入所述异常事件队列中。
8. 如权利要求7所述的装置,其特征在于: 消息收发单元,用于接收客户设备发送的消息,并将所述消息发送到上级或下级服务 器;所述消息被正常发送完成后,将链接状态参数的值设置为正常空闲状态; 当与上级或下级服务器之间的TCP连接出现异常时,所述消息收发单元将所述链接状 态参数的值设置为通信故障状态,并将客户设备发送的消息作为传输异常事件,存储在所 述异常事件队列或临时文件中; 所述客户设备发送的消息包括:日志消息、告警消息。
9. 如权利要求8所述的装置,其特征在于: 所述消息收发单元接收到客户设备发送的消息,并获取所述链接状态参数的值; 当所述链接状态参数的值为正常空闲状态时,所述消息收发单元将所述消息发送到上 级或下级服务器; 当所述链接状态参数的值为通信故障状态时,所述消息收发单元将客户设备发送的消 息作为传输异常事件,并发送到所述异常事件获取单元; 所述异常事件存储单元检测所述异常事件队列的长度,当所述异常事件队列的长度小 于L、并存在所述临时文件时,将所述临时文件中存储的传输异常事件按接收的时间顺序 加入所述异常事件队列中;如果所述异常事件队列的长度达到L时所述临时文件中仍有数 据,所述异常事件存储单元则将所述消息写入所述临时文件中;如果所述异常事件队列的 长度未达到L时所述临时文件已清空,则所述异常事件存储单元将所述消息写入所述异常 事件队列;当不存在所述临时文件时,则所述异常事件存储单元将所述消息写入所述异常 事件队列; 当所述异常事件队列的长度大于L时,则将所述消息写入所述临时文件中; 其中,当所述异常事件队列和临时文件中都没有传输异常事件,并且,与上级或下级服 务器之间的TCP连接回复正常时,所述异常事件处理单元将链接状态参数的值设置为正常 空闲状态。
10.如权利要求9所述的装置,其特征在于: 心跳单元启动心跳线程,用于检测与上级或下级服务器之间的TCP连接状态; 所述消息收发单元启动事件处理线程,用于处理所述异常事件队列中的传输异常事 件; 当所述临时文件的大小超过阈值,使用GZIP方式对所述临时文件进行压缩。
【文档编号】H04L29/08GK104219259SQ201310208044
【公开日】2014年12月17日 申请日期:2013年5月30日 优先权日:2013年5月30日
【发明者】唐维, 章军, 李文宇, 冯晓东, 贾海燕, 田朝文, 张鉴, 常力元, 赵洪波, 赵敬谦, 俞韶桢 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1