CN106201942B - 将计算机设备间事件相关联的方法、设备及系统 - Google Patents
将计算机设备间事件相关联的方法、设备及系统 Download PDFInfo
- Publication number
- CN106201942B CN106201942B CN201510232956.9A CN201510232956A CN106201942B CN 106201942 B CN106201942 B CN 106201942B CN 201510232956 A CN201510232956 A CN 201510232956A CN 106201942 B CN106201942 B CN 106201942B
- Authority
- CN
- China
- Prior art keywords
- event
- equipment
- data packet
- communication protocol
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种用于将计算机设备间事件相关联的方法、设备及系统。该方法及设备,在从第一设备向第二设备传输数据时,第一设备记录其中第一事件的第一标识信息,第二设备记录其中第二事件的第二标识信息,由于第一标识信息与第二标识信息为第一设备传输至第二设备的同一个数据包的特征信息,故二者相等。第三设备从第一设备获取第一事件及对应的第一标识信息,依据第一事件的第一标识信息获取与所述第一事件相关联的第二事件,便可以将位于不同设备上的第一事件与第二事件进行关联。该系统通过第三设备将第一设备、第二设备等不同设备上的事件进行关联,从而实现包括多个关联事件进行关联后的事件集合,并向用户输出事件关联后的结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于将计算机设备间事件相关联的技术。
背景技术
随着计算机技术,尤其是分布式计算的发展。第一计算机程序向第二计算机程序或数据源请求和利用资源、或者第一计算机程序发送消息给第二计算机程序都是很常见的。经常地,第二计算机程序或数据源可能在与第一计算机程序分开的计算机系统上执行,因此这两个程序之间通过计算机网络的通信可能是必要的。因而,计算机网络内对单个事务的处理可能需要分布在整个网络上的资源之间的大量通信或交互。为了管理这些计算机网络,尤其是调查问题、分析性能的需要,分布式系统或者部署在计算机集群上的服务系统,经常会对发生在多台服务器上的非独立事件进行关联。
一般来说,发生在同一台计算机上的前后两个事件比较容易关联,而通过网络传输发生在不同计算机上的前后两个事件,因为执行事件的上下文环境完全不同,所以较难关联。传统的关联方法是修改网络通讯库,让发送服务器可以在发送的网络数据包中加入全局唯一性ID并将这个ID作为事件A的字段记录到本地日志中,接收服务器收到网络数据包后提取出ID,将其作为事件B的字段记录到本地日志。当要关联事件A、B时,分析器会用全局唯一性ID作为key,从事件总集合中找到包含该key的事件A和B,完成关联。
现有的计算机间的事件关联存在如下问题:(1)需要修改网络通讯库,并在网络数据包中加入全局唯一性ID作为事件关联的key。有些网络通讯库由于种种原因,比如版权、闭源等,是不能被修改的。对于采用了这种网络通讯库的服务软件,就无法对发生在多台计算机上的通讯事件进行关联。(2)全局唯一性ID的产生增加了一定的处理器资源,全局唯一性ID的传输,增加了网络数据流量。
发明内容
本申请的一个目的是提供一种用于将计算机设备间事件相关联的方法、设备及系统。
根据本申请的一个方面,提供了一种在第一设备端将计算设备间事件相关联的方法,其中,该方法包括:
获取待通过通信协议发送至第二设备的数据包;
将所述数据包中关于所述通信协议的字段信息记为第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备;
通过所述通信协议将所述数据包发送至所述第二设备。
根据本申请的另一个方面,提供了一种在第二设备端将计算设备间事件相关联的方法,其中,该方法包括:
接收第一设备通过通信协议所发送的数据包;
将所述数据包中关于所述通信协议的字段信息记为第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包。
根据本申请的另一个方面,提供了一种在第三设备端将计算设备间事件相关联的方法,其中,该方法包括:
从第一设备获取第一事件及对应的第一标识信息;
从第二设备获取与所述第一事件相关联的第二事件,其中,所述第一事件的第一标识信息与所述第二事件的第二标识信息相等且对应相同的通信协议。
根据本申请的另一个方面,提供了一种将计算设备间事件相关联的第一设备,其中,该设备包括:
第一装置,用于获取待通过通信协议发送至第二设备的数据包;
第三装置,用于将所述数据包中关于所述通信协议的字段信息记为第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备;
第五装置,用于通过所述通信协议将所述数据包发送至所述第二设备。
根据本申请的另一个方面,提供了一种将计算设备间事件相关联的第二设备,其中,该设备包括:
第二装置,用于接收第一设备通过通信协议所发送的数据包;
第四装置,用于将所述数据包中关于所述通信协议的字段信息记为第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包。
根据本申请的另一个方面,提供了一种将计算设备间事件相关联的第三设备,其中,该设备包括:
第十装置,用于从第一设备获取第一事件及对应的第一标识信息;
第十一装置,用于从第二设备获取与所述第一事件相关联的第二事件,其中,所述第一事件的第一标识信息与所述第二事件的第二标识信息相等且对应相同的通信协议。
根据本申请的另一个方面,提供了一种将计算设备间事件相关联的系统,其中,该系统包括:所述的第一设备及所述的第二设备及所述的第三设备。
与现有技术相比,本申请所述的用于将计算机设备间事件相关联的方法及设备,在从第一设备向第二设备传输数据时,第一设备记录其中第一事件的第一标识信息,第二设备记录其中第二事件的第二标识信息,由于第一标识信息与第二标识信息为第一设备传输至第二设备的同一个数据包的特征信息,故二者相等。由于第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议,第三设备从第一设备获取第一事件及对应的第一标识信息,依据第一事件的第一标识信息获取与所述第一事件相关联的第二事件,便可以将位于不同设备上的第一事件与第二事件进行关联。本申请所述的用于将计算机设备间事件相关联的系统包括前述第一设备、第二设备及第三设备。采用本申请的将计算机设备间事件相关联的方法及设备,可以在不修改网络通讯库,不改变网络数据包内容,不使用全局唯一性ID的前提下,对发送在多台计算机上的事件进行关联。一方面,对于不能修改网络通讯库的服务软件来说,仍然可以进行事件关联。另一方面,也避免了代价较大的全局唯一性ID的产生,节省了计算资源。
附图说明
图1示出了本申请用于将计算设备间事件相关联的第一设备一实施例的原理框图;
图2示出了本申请用于将计算设备间事件相关联的第二设备一实施例的原理框图;
图3示出了本申请用于将计算设备间事件相关联的第三设备一实施例的原理框图;
图4示出了本申请用于将计算设备间事件相关联的第三设备中第十一装置一实施例的原理框图;
图5示出了本申请用于将计算设备间事件相关联的系统一实施例的原理框图;
图6示出了本申请将计算设备间事件相关联的方法一实施例的流程图;
图7示出了本申请将计算设备间事件相关联的方法又一实施例的流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本申请的技术方案,进行清楚和完整的描述。
如图1所示,展示了本申请所提供的用于将计算设备间事件相关联的系统的原理框图,该系统包括第一设备1、第二设备2及第三设备3。
在该实施例中,当第一设备1向第二设备2通过通信协议传输数据时,第一设备1记录其中第一事件的第一标识信息,第二设备2记录其中第二事件的第二标识信息,由于第一标识信息与第二标识信息为第一设备1传输至第二设备2的同一个数据包的特征信息,故二者对应相同的通信协议并且内容相等。由于第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议,第三设备3从第一设备1获取第一事件及对应的第一标识信息,依据第一事件的第一标识信息内容,在第二设备2上查询与第一标识信息的相等的第二标识信息,并对应至第二标识信息的第二事件,从而将第一事件与第二事件进行关联,也即将位于不同设备上的事件进行关联。同时在该系统的第一设备1、第二设备2内部也可进行内部事件的关联,通过第三设备3将第一设备1、第二设备2等不同设备上的事件进行关联,从而实现包括多个关联事件进行关联后的事件集合,并向用户输出事件关联后的结果,以备用户进一步性能测试、问题分析等使用。
如图2所示,展示了本申请所提供的用于将计算设备间事件相关联的第一设备1的原理框图,该设备包括第一装置11、第三装置12及第五装置13。其中,第一装置11获取待通过通信协议发送至第二设备2的数据包。第三装置12将数据包中关于通信协议的字段信息记为第一事件的第一标识信息,其中,第一事件包括通过通信协议将数据包发送至第二设备2。第五装置13通过通信协议将数据包发送至第二设备2。
在该实施例中,第一设备1通过第一装置11获取待通过通信协议发送至第二设备2的数据包,具体地,在用户的操作需要进行网络传输数据时,便产生数据传输请求,第一装置11可直接获取这些需要传输的数据,然后将这些数据根据网络传输协议的要求,进行数据包或者数据段等处理,以便进行数据传输。第一装置11也可以直接获取处理后的数据包或者数据段等。其中数据包或者数据段处理具体可以指,对待发送的数据流根据网络传输协议要求的传输单元大小、传输规则等要求进行数据分包或者分段处理,以获得适合传输的数据包。例如,TCP网络传输协议传输数据时,需要将待传输的数据流分割成适当长度的报文段,最大传输段大小通常受该计算机连接的网络的数据链路层的最大传送单元限制。然后TCP把数据包传给IP层,由IP层来通过网络将数据包传送给接收端实体的TCP层。当然,具体的处理方式不做限制,只要满足传输协议的要求即可。第三装置12将数据包中关于通信协议的字段信息记为第一事件的第一标识信息,具体地,数据包作为通过通信协议进行网络传输的传输单元,其携带有使数据接收设备识别数据包的相关信息。例如,与通信协议相关的信息,数据包本身的大小信息等能够唯一标识该数据包的信息。具体地,关于通信协议的字段信息一般包括:数据包发送设备与接收设备的地址信息、发送设备与接收设备的端口号信息、数据包的序列号等能够唯一标识该数据包的信息。以TCP传输协议为例,其中数据包中的关于通信协议的字段信息一般包括:第一个字节的序列号(SequenceNumber)、确认序列号(Acknowledgment Number)、发送设备与接收设备的地址(IP地址)、发送设备与接收设备的端口号等。将数据包中关于通信协议的字段信息进行记录。具体地,可通过函数记录,也可通过其它方式记录,通常记录在第一事件的日志中。当然,具体的记录方式以及记录位置也不做限制。其中,第一事件包括通过通信协议将数据包发送至第二设备2,此处,第一事件发生在第一设备1中,可表示第一设备1通过网络通信协议向第二设备2传输一个数据包,第一事件的完成,包括数据包从第一设备1传输至第二设备2。第五装置13通过通信协议将数据包发送至第二设备2,具体地,第五装置13可通过满足要求的通信协议将数据包发送至第二设备2,具体的通信协议不做限制,例如可以为TCP协议,也可为其它通信协议。
参考图2所示,优选地,该设备还包括:
第七装置14,用于在第一设备1的内核中插入用于记录第一事件的第一标识信息的第一模块;其中,第三装置12用于:
执行第一模块,以记录第一事件的第一标识信息,其中,第一事件包括通过通信协议将数据包发送至第二设备2。
在该实施例中,第七装置14在第一设备1的内核中插入用于记录第一事件的第一标识信息的第一模块,具体地,第一设备1具有内核与用户空间时,若要与其它设备进行数据传输,便需要将用户空间的数据包传输至内核中,通过内核将数据包传输至其它设备的内核(若有)中,来完成数据在设备间的传输。其中的第一模块用于记录第一事件的第一标识信息,第一模块可以为函数、代码等运行单元,只要能够将第一事件的第一标识信息进行记录便满足要求。第一设备1的内核设置有应用程序编程接口,用户在第一设备1应用层需要发送数据包时,需要通过执行对应接口的发包模块,才可以将数据包从第一设备1的应用层传至其内核中。具体地,第一模块可以设置在发包模块中,也可设置在内核的发包模块外,发包模块可为发包函数,也可为实现发送数据包请求的其它运行单元。第三装置12执行第一模块,以记录第一事件的第一标识信息,具体地,第一事件的第一标识信息通过第一模块的运行进行记录。其中,第一模块的运行需要发包模块的触发。第一模块可以通过预处理,预先设置其与发包模块的关系,例如,第一模块可以预先嵌入发包模块内的位置,也可设置在发包模块外面,只要运行发包模块能够触发第一模块运行即可。例如,第一模块预先嵌入发包模块运行过程中的某具体位置,在发包模块运行至此处时,便触发第一模块,运行第一模块将第一事件的第一标识信息进行记录。
参考图2所示,更优选地,第三装置12用于当接收到数据包的发送请求时,执行第一模块,以记录第一事件的第一标识信息,其中,第一事件包括通过通信协议将数据包发送至第二设备2。
在该实施例中,第三装置12用于当接收到数据包的发送请求时,执行第一模块,以记录第一事件的第一标识信息。具体地,第一设备1具有内核与用户空间时,若要与其它设备进行数据传输,便需要通过将用户空间的数据包传输至内核中,通过内核将数据包传输至其它设备的内核(若有)中,来完成数据在设备间的传输。第一设备1的内核设置有应用程序编程接口,用户在第一设备1应用层需要发送数据包时,需要通过执行对应接口的发包模块,才可以将数据包从第一设备1的应用层传至其内核中。其中数据包的发送请求可以为发包模块的运行请求,也可为发包模块运行的同时产生的请求等,只要是来自用户空间的数据发送请求,具体的请求发出方式不做限制,发送时间也不做限制,只要满足第三装置12能够执行第一模块,以记录下第一事件的第一标识信息即可。可通过如下具体方式实现对执行第一模块的触发,第一模块可以设置在发包模块中,也可设置在内核的发包模块外,发包模块可为发包函数,也可为实现发送数据包请求的其它运行单元。第三装置12执行第一模块,以记录第一事件的第一标识信息,具体地,第一事件的第一标识信息通过第一模块的运行进行记录。其中,第一模块的运行需要发包模块的触发。第一模块可以通过预处理,预先设置其与发包模块的关系,例如,第一模块可以预先嵌入发包模块内的位置,也可设置在发包模块外面,只要运行发包模块能够触发第一模块运行即可。例如,第一模块预先嵌入发包模块运行过程中的某具体位置,在发包模块运行至此处时,便触发第一模块,运行第一模块将第一事件的第一标识信息进行记录。
如图3所示,展示了本申请所提供的用于将计算设备间事件相关联的第二设备2的原理框图,该设备包括第二装置21及第四装置22。其中,第二装置21接收第一设备1通过通信协议所发送的数据包。第四装置22将数据包中关于通信协议的字段信息记为第二事件的第二标识信息,其中,第二事件包括接收第一设备1通过通信协议发送的数据包。
在该实施例中,第二设备2通过第二装置21接收第一设备1通过通信协议所发送的数据包,具体地,第二装置21根据通信协议的数据传输规则接收符合要求的数据包,例如,若通过TCP传输协议进行的数据传输,需要满足TCP协议的传输格式,传输策略等。第四装置22将数据包中关于通信协议的字段信息记为第二事件的第二标识信息,具体地,数据包作为通过通信协议进行网络传输的传输单元,其携带有使数据接收设备识别数据包的相关信息。例如,与通信协议相关的信息,数据包本身的大小信息等能够唯一标识该数据包的信息。具体地,关于通信协议的字段信息一般包括:数据包发送设备与接收设备的地址信息、发送设备与接收设备的端口号信息、数据包的序列号等能够唯一标识该数据包的信息。以TCP传输协议为例,其中数据包中的关于通信协议的字段信息一般包括:第一个字节的序列号(Sequence Number)、确认序列号(Acknowledgment Number)、发送设备与接收设备的地址(IP地址)、发送设备与接收设备的端口号等。将数据包中关于通信协议的字段信息进行记录,并作为第二事件的第二标识信息。具体地,可通过函数记录,也可通过其它方式记录,通常记录在第二事件的日志中。当然,具体的记录方式以及记录位置也不做限制。其中,第二事件包括接收第一设备1通过通信协议发送的数据包,此处,第二事件发生在第二设备2中,可表示第二设备2接收了第一设备1通过网络通信协议所传输的一个数据包,第二事件的完成,包括第二设备2接收了来自第一设备1的一个数据包。
如图3所示,展示了本申请所提供的用于将计算设备间事件相关联的第二设备2的原理框图,该设备还包括第六装置23。其中,第六装置23将数据包发送至第二设备2中的对应目标应用。
在该实施例中,由于数据包的传输需求来自于用户操作应用程序的需求,相应地,第一设备1根据用户操作应用程序时的需要,将数据包传输至第二设备2,第二设备2接收到该数据包后,需要将数据包内容发送至第二设备2中的对应目标应用。具体地,可通过第二设备2用户空间的目标应用程序从第二设备2的内核里读出数据包,完成整个数据的单向传输过程。当然,将数据包发送至第二设备2中的目标应用的具体方式不做限制,只要满足需求即可,例如若第二设备2没有内核,那么数据包发送至目标应用程序的方式便会不同。
参考图3所示,优选地,该设备还包括:
第八装置24,用于在第二设备2的内核中插入用于记录第二事件的第二标识信息的第二模块;其中,第四装置22用于:
执行第二模块,以记录第二事件的第二标识信息,其中,第二事件包括接收第一设备1通过通信协议发送的数据包。
在该实施例中,第八装置24在第二设备2的内核中插入用于记录第二事件的第二标识信息的第二模块。其中的第二模块用于记录第二事件的第二标识信息,第二模块可以为函数、代码等运行单元,只要能够将第二事件的第二标识信息进行记录便满足要求。具体地,第二设备2具有内核与用户空间时,若要与其它设备进行数据传输,第二设备2的内核接收到的来自第一设备1内核的数据包,还需要发送至用户空间,以实现数据包的互动传输。其中的第二模块用于记录第二事件的第二标识信息,第二模块可以为函数、代码等运行单元,只要能够将第二事件的第二标识信息进行记录便满足要求。
继续在该实施例中,第二设备2的内核设置有应用程序编程接口,用户在第二设备2接收到来自第一设备1的数据包时,需要通过执行对应接口的收包模块,才可以将数据包从第二设备2的内核传至其用户空间。具体地,第二模块可以设置在收包模块中,也可设置在内核的收包模块外,收包模块可为收包函数,也可为实现接收数据包请求的其它运行单元。第四装置22执行第二模块,以记录第二事件的第二标识信息,具体地,第二事件的第二标识信息通过第二模块的运行进行记录。其中,第二模块的运行需要收包模块的触发。第二模块可以通过预处理,预先设置其与收包模块的关系,例如,第二模块可以预先嵌入收包模块内的位置,也可设置在收包模块外面,只要运行收包模块能够触发第二模块运行即可。例如,第二模块预先嵌入收包模块运行过程中的某具体位置,在收包模块运行至此处时,便触发第二模块,运行第二模块将第二事件的第二标识信息进行记录。
参考图3所示,更优选地,第四装置22用于:
在接收到数据包时,执行第二模块,以记录第二事件的第二标识信息,其中,第二事件包括接收第一设备1通过通信协议发送的数据包。
在该实施例中,第四装置22用于在接收到数据包时,执行第二模块,以记录第二事件的第二标识信息。具体地,第二设备2具有内核与用户空间时,若要与其它设备进行数据传输,第二设备2的内核接收到的来自第一设备1内核的数据包,还需要发送至用户空间,以实现数据包的互动传输。第二设备2的内核设置有应用程序编程接口,用户在第二设备2内核接收到来自第一设备1内核的数据包时,需要通过执行对应接口的收包模块,才可以将数据包从第二设备2的内核传至其用户空间中。其中接收数据包的请求可以为收包模块的运行请求,也可为收包模块运行的同时产生的请求等,只要是来自第二设备2内核的数据接收请求,具体的请求发出方式不做限制,发送时间也不做限制,只要满足第四装置22能够执行第二模块,以记录下第二事件的第二标识信息即可。可通过如下具体方式实现对执行第二模块的触发,第二模块可以设置在收包模块中,也可设置在内核的收包模块外,收包模块可为收包函数,也可为实现接收数据包请求的其它运行单元。第四装置22执行第二模块,以记录第二事件的第二标识信息,具体地,第二事件的第二标识信息通过第二模块的运行进行记录。其中,第二模块的运行需要收包模块的触发。第二模块可以通过预处理,预先设置其与收包模块的关系,例如,第二模块可以预先嵌入收包模块内的位置,也可设置在收包模块外面,只要运行收包模块能够触发第二模块运行即可。例如,第二模块预先嵌入收包模块运行过程中的某具体位置,在收包模块运行至此处时,便触发第二模块,运行第二模块将第二事件的第二标识信息进行记录。
如图4所示,展示了本申请所提供的用于将计算设备间事件相关联的第三设备3的原理框图,该设备包括第十装置31及第十一装置32。其中,第十装置31从第一设备1获取第一事件及对应的第一标识信息。第十一装置32从第二设备2获取与第一事件相关联的第二事件,其中,第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议。
在该实施例中,第三设备3用于对前述第一事件及第二事件进行关联,第三双设备可设置在第一设备1中,也可设置在第二设备2中,也可单独设置。第十装置31从第一设备1获取第一事件及对应的第一标识信息,具体地,第十装置31可在第一设备1上查找到需要关联的第一事件的第一标识信息,例如,可在第一设备1上的事件日志上查找第一事件对应的第一标识信息。一般第一设备1的事件日志记录在第一设备1的存储器或者磁盘等中,直接去相应的存储位置查找读取即可。第三设备3在第一设备1上查找第一事件对应的第一标识信息的具体时间,可以为实时查找,也可以为间隔一定的预设时间进行查找,也可以根据用户的需求,在用户需要对第一设备1、第二设备2等组成的系统的性能进行分析或者测试时进行查找,具体查找时间不做限制。第十一装置32从第二设备2获取与第一事件相关联的第二事件,具体地,第十一装置32依据第一事件的第一标识信息,在第二设备2上查找到与第一标识信息相等的第二标识信息,并对应至第二事件,例如,可在第二设备2上的事件日志上查找与第一标识信息相等的第二标识信息。一般第二设备2中的事件日志记录在第二设备2的存储器或者磁盘等中,直接去相应的存储位置查找读取即可。通过查找到的第二标识信息,进一步找到其对应的第二事件,并获取第二事件,此时第一事件与第二事件相关联。第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议,具体地,由于第一事件为第一设备1向第二设备2发送一个数据包,第二事件为第二设备2接收第一设备1所发送的数据包,第一事件的第一标识信息与第二事件的第二标识信息,为同一个数据包的与通信协议相关的信息,故第一标识信息与第二标识信息相等并且对应相同的通信协议。
继续在该实施例中,第十装置31也可从第二设备2中获取第二事件及对应的第二标识信息,然后第十一装置32从第一设备1获取与第二事件相关联的第一事件,其中第二事件的第二标识信息与第一事件的第一标识信息相等且对应相同的通信协议。其具体的实现方式,与该实施例前部分的实质原理相同,在此不再赘述。
如图5所示,展示了本申请所提供的用于将计算设备间事件相关联的第三设备3中第十一装置32的原理框图,第十一装置32包括第十一一单元321及第十一二单元322。其中,第十一一单元321根据第一事件的第一标识信息,在第二设备2中查找与第一标识信息相等且对应相同的通信协议的标识信息,其中,查找到的标识信息为第二标识消息。第十一二单元322获取第二标识信息对应的第二事件。
在该实施例中,第十一一单元321根据第一事件的第一标识信息,在第二设备2中查找与第一标识信息相等且对应相同的通信协议的标识信息,其中,查找到的标识信息为第二标识消息。一般地,事件的标识信息记录在事件的日志中,第十一一单元321根据第一标识信息的具体内容,在第二设备2的事件日志中查找具有相等内容的标识信息,查找到的标识信息即为第二标识信息,本领域的技术人员应当能够理解,此处的具体查找方式不做限制。第十一二单元322获取第二标识信息对应的第二事件,具体地,第十一二单元322通过第二标识信息可获取第二事件的处理过程情况、处理时间、处理结果等与第二事件相关的信息。可通过运行相关函数进行读取的方式,也可通过比较判断的方式等等进行获取,本领域的技术人员应当能够理解,此处的具体获取第二事件的方式并不做限制。
优选地,第一标识信息与第二标识信息的记录时间满足预定的时间间隔阈值。
在该实施例中,主要针对依据第一标识信息在第二设备2中查到了与第一标识信息相等并且对应相同的通信协议的多个标识信息的情况。此时还需要从这些标识信息中找到与第一标识信息对应的第二标识信息,具体地,需要借助标识信息的记录时间实现,即在第二设备2上查到的与第一标识信息相等并且对应相同的通信协议的多个标识信息中,查找记录时间与第一标识信息的记录时间满足预设阈值间隔的标识信息,为第二标识信息。例如,预设时间间隔阈值为0-500毫秒,也即记录第一标识信息与第二标识信息的时间点间隔要在500毫秒范围内。在第二设备2上查找到3个与第一标识信息相等并且对应相同的通信协议的标识信息,其中,3个标识信息的记录时间与第一标识信息的记录时间间隔分别为1分钟、100毫秒、10分钟,很明显时间间隔为100毫秒的标识信息为第二标识信息。时间间隔阈值根据需要进行设定。
继续在该实施例中,第一标识信息与第二标识信息的记录时间满足预定的时间间隔阈值,还可以在找到的与第一标识信息相等并且对应相同的通信协议的多个标识信息中,排除明显不符合成为第二标识信息的情况,例如,仍预设时间间隔阈值为0-500毫秒,在第二设备2上查找到3个与第一标识信息相等并且对应相同的通信协议的标识信息,其中,3个标识信息的记录时间与第一标识信息的记录时间间隔分别为60毫秒、400毫秒、10分钟,此时时间间隔为10分钟的标识信息明显不符合要求,而剩下的时间间隔为60毫秒及400毫秒的标识信息可通过时间间隔最接近的方式筛选出第二标识信息,也可借助其他方式实现进一步的筛选。再例如,仍预设时间间隔阈值为0-500毫秒,在第二设备2上查找到1个与第一标识信息相等并且对应相同的通信协议的标识信息,其中,该标识信息的记录时间与第一标识信息的记录时间间隔为20分钟,该标识信息明显不符合要求,则可认为在第二设备2上未找到符合要求的第二标识信息。
另外,需要指出的是,在该实施例中的所有时间点值及时间间隔阈值等,均是在第一设备1与第二设备2所在系统的所有设备时间同步的情况下进行的记录、比较等。具体系统内部设备间的时间同步方法不做限制。
如图4所示,展示了本申请所提供的用于将计算设备间事件相关联的第三设备3的原理框图,该设备还包括:
第十二装置33,用于将第二设备2上的第三事件与第一事件相关联,其中,第三事件与第二事件相关联。
在该实施例中,主要针对事件在同一个设备内部进行关联的情况,第三事件与第二事件均发生在第二设备2上,第二事件与第三事件的关联为同一设备内部的关联,具体地,可通过线程ID等方式进行关联,本领域的技术人员应当能够理解设备内部事件关联的方式并不做具体限制。其中第一设备1上的第一事件与第二设备2上的第三事件进行关联,是通过第一事件与第二事件关联、第二事件与第三事件关联后,第一事件通过第二事件与第三事件进行关联。尤其是在分布式系统中,需要关联的事件位于很多台设备上,要将很多个相关联的事件关联起来,就即需要设备内部事件的关联,又需要设备间事件的关联,以实现最终所有相关联事件的关联。具体地,第十二装置33将第二设备2上的第三事件与第一设备1上的第一事件相关联,首先,需要通过线程ID将第二设备2上第三事件与第二事件进行关联,再通过前述第一事件与第二事件进行关联的方式,将第二事件与第一事件进行关联,最终实现第一事件、第二事件、第三事件的关联。
如图4所示,展示了本申请所提供的用于将计算设备间事件相关联的第三设备3的原理框图,该设备还包括第十三装置34。其中,第十三装置34将关联所得的事件集合输出给用户,其中,事件集合包括第一事件及与第一事件相关联的事件。
在该实施例中,第十三装置34将关联所得的事件集合输出给用户,具体地,将关联事件关联后的结果输出给用户,例如,当一个分布式系统总是运行缓慢,用户需要对该系统进行性能测试或者查找问题的原因,若该分布式系统包括三个设备A、B、C,数据需要在此三个设备上进行传输,在A设备上发生了第一事件,在B设备上发生了第二事件及第三事件,在C设备上发生了第四事件,第一事件至第四事件为关联事件,那么第十三装置34根据用户需要查找该系统运行缓慢的原因时,需要分别查找第一事件的数据包发送时空信息,例如发送时间点、发送位置,第二事件接收第一事件发送的数据包的时空信息,以此类推。若发现其中有的事件的发送\接收数据包的时空信息不符合预设的阈值,那么可以判断出,系统中执行该事件的设备出现了问题,还可以根据读取的相关具体信息,进一步分析问题的原因。
与现有技术相比,本申请的用于将计算机设备间事件相关联的设备,在从第一设备1向第二设备2传输数据时,第一设备1记录其中第一事件的第一标识信息,第二设备2记录其中第二事件的第二标识信息,由于第一标识信息与第二标识信息为第一设备1传输至第二设备2的同一个数据包的特征信息,故二者相等。由于第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议,第三设备3从第一设备1获取第一事件及对应的第一标识信息,依据第一事件的第一标识信息获取与第一事件相关联的第二事件,便可以将位于不同设备上的第一事件与第二事件进行关联。本申请的用于将计算机设备间事件相关联的系统包括前述第一设备1、第二设备2及第三设备3。采用本申请的将计算机设备间事件相关联的方法及设备,可以在不修改网络通讯库,不改变网络数据包内容,不使用全局唯一性ID的前提下,对发送在多台计算机上的事件进行关联。一方面,对于不能修改网络通讯库的服务软件来说,仍然可以进行事件关联。另一方面,也避免了代价较大的全局唯一性ID的产生,节省了计算资源。
如图6所示,展示了本申请所提供的将计算设备间事件相关联的方法,其中,在第一设备端将计算设备间事件相关联的方法包括:
S1,获取待通过通信协议发送至第二设备的数据包。
S2,将数据包中关于通信协议的字段信息记为第一事件的第一标识信息,其中,第一事件包括通过通信协议将数据包发送至第二设备。
S3,通过通信协议将数据包发送至第二设备。
在该实施例中,第一设备获取待通过通信协议发送至第二设备的数据包,具体地,在用户的操作需要进行网络传输数据时,便产生数据传输请求,可直接获取这些需要传输的数据,然后将这些数据根据网络传输协议的要求,进行数据包或者数据段等处理,以便进行数据传输。也可以直接获取处理后的数据包或者数据段等。其中数据包或者数据段处理具体可以指,对待发送的数据流根据网络传输协议要求的传输单元大小、传输规则等要求进行数据分包或者分段处理,以获得适合传输的数据包。例如,TCP网络传输协议传输数据时,需要将待传输的数据流分割成适当长度的报文段,最大传输段大小通常受该计算机连接的网络的数据链路层的最大传送单元限制。然后TCP把数据包传给IP层,由IP层来通过网络将数据包传送给接收端实体的TCP层。当然,具体的处理方式不做限制,只要满足传输协议的要求即可。将数据包中关于通信协议的字段信息记为第一事件的第一标识信息,具体地,数据包作为通过通信协议进行网络传输的传输单元,其携带有使数据接收设备识别数据包的相关信息。例如,与通信协议相关的信息,数据包本身的大小信息等能够唯一标识该数据包的信息。具体地,关于通信协议的字段信息一般包括:数据包发送设备与接收设备的地址信息、发送设备与接收设备的端口号信息、数据包的序列号等能够唯一标识该数据包的信息。以TCP传输协议为例,其中数据包中的关于通信协议的字段信息一般包括:第一个字节的序列号(Sequence Number)、确认序列号(Acknowledgment Number)、发送设备与接收设备的地址(IP地址)、发送设备与接收设备的端口号等。将数据包中关于通信协议的字段信息进行记录。具体地,可通过函数记录,也可通过其它方式记录,通常记录在第一事件的日志中。当然,具体的记录方式以及记录位置也不做限制。其中,第一事件包括通过通信协议将数据包发送至第二设备,此处,第一事件发生在第一设备中,可表示第一设备通过网络通信协议向第二设备传输一个数据包,第一事件的完成,包括数据包从第一设备传输至第二设备。通过通信协议将数据包发送至第二设备,具体地,可通过满足要求的通信协议将数据包发送至第二设备,具体的通信协议不做限制,例如可以为TCP协议,也可为其它通信协议。
参考图6所示,优选地,在第一设备端将计算设备间事件相关联的方法还包括:
在第一设备的内核中插入用于记录第一事件的第一标识信息的第一模块;
其中,将数据包中关于通信协议的字段信息记为第一事件的第一标识信息包括:
执行第一模块,以记录第一事件的第一标识信息,其中,第一事件包括通过通信协议将数据包发送至第二设备。
在该实施例中,在第一设备的内核中插入用于记录第一事件的第一标识信息的第一模块,具体地,第一设备具有内核与用户空间时,若要与其它设备进行数据传输,便需要将用户空间的数据包传输至内核中,通过内核将数据包传输至其它设备的内核(若有)中,来完成数据在设备间的传输。其中的第一模块用于记录第一事件的第一标识信息,第一模块可以为函数、代码等运行单元,只要能够将第一事件的第一标识信息进行记录便满足要求。第一设备的内核设置有应用程序编程接口,用户在第一设备应用层需要发送数据包时,需要通过执行对应接口的发包模块,才可以将数据包从第一设备的应用层传至其内核中。具体地,第一模块可以设置在发包模块中,也可设置在内核的发包模块外,发包模块可为发包函数,也可为实现发送数据包请求的其它运行单元。执行第一模块,以记录第一事件的第一标识信息,具体地,第一事件的第一标识信息通过第一模块的运行进行记录。其中,第一模块的运行需要发包模块的触发。第一模块可以通过预处理,预先设置其与发包模块的关系,例如,第一模块可以预先嵌入发包模块内的位置,也可设置在发包模块外面,只要运行发包模块能够触发第一模块运行即可。例如,第一模块预先嵌入发包模块运行过程中的某具体位置,在发包模块运行至此处时,便触发第一模块,运行第一模块将第一事件的第一标识信息进行记录。
参考图6所示,更优选地,S2中将数据包中关于通信协议的字段信息记为第一事件的第一标识信息包括:
当接收到数据包的发送请求时,执行第一模块,以记录第一事件的第一标识信息,其中,第一事件包括通过通信协议将数据包发送至第二设备。
在该实施例中,当接收到数据包的发送请求时,执行第一模块,以记录第一事件的第一标识信息。具体地,第一设备具有内核与用户空间时,若要与其它设备进行数据传输,便需要通过将用户空间的数据包传输至内核中,通过内核将数据包传输至其它设备的内核(若有)中,来完成数据在设备间的传输。第一设备的内核设置有应用程序编程接口,用户在第一设备应用层需要发送数据包时,需要通过执行对应接口的发包模块,才可以将数据包从第一设备的应用层传至其内核中。其中数据包的发送请求可以为发包模块的运行请求,也可为发包模块运行的同时产生的请求等,只要是来自用户空间的数据发送请求,具体的请求发出方式不做限制,发送时间也不做限制,只要满足能够执行第一模块,以记录下第一事件的第一标识信息即可。可通过如下具体方式实现对执行第一模块的触发,第一模块可以设置在发包模块中,也可设置在内核的发包模块外,发包模块可为发包函数,也可为实现发送数据包请求的其它运行单元。执行第一模块,以记录第一事件的第一标识信息,具体地,第一事件的第一标识信息通过第一模块的运行进行记录。其中,第一模块的运行需要发包模块的触发。第一模块可以通过预处理,预先设置其与发包模块的关系,例如,第一模块可以预先嵌入发包模块内的位置,也可设置在发包模块外面,只要运行发包模块能够触发第一模块运行即可。例如,第一模块预先嵌入发包模块运行过程中的某具体位置,在发包模块运行至此处时,便触发第一模块,运行第一模块将第一事件的第一标识信息进行记录。
参图6所示,本申请所提供的在第二设备端将计算设备间事件相关联的方法包括:
S4,接收第一设备通过通信协议所发送的数据包。
S5,将数据包中关于通信协议的字段信息记为第二事件的第二标识信息,其中,第二事件包括接收第一设备通过通信协议发送的数据包。
在该实施例中,第二设备接收第一设备通过通信协议所发送的数据包,具体地,根据通信协议的数据传输规则接收符合要求的数据包,例如,若通过TCP传输协议进行的数据传输,需要满足TCP协议的传输格式,传输策略等。将数据包中关于通信协议的字段信息记为第二事件的第二标识信息,具体地,数据包作为通过通信协议进行网络传输的传输单元,其携带有使数据接收设备识别数据包的相关信息。例如,与通信协议相关的信息,数据包本身的大小信息等能够唯一标识该数据包的信息。具体地,关于通信协议的字段信息一般包括:数据包发送设备与接收设备的地址信息、发送设备与接收设备的端口号信息、数据包的序列号等能够唯一标识该数据包的信息。以TCP传输协议为例,其中数据包中的关于通信协议的字段信息一般包括:第一个字节的序列号(Sequence Number)、确认序列号(AcknowledgmentNumber)、发送设备与接收设备的地址(IP地址)、发送设备与接收设备的端口号等。将数据包中关于通信协议的字段信息进行记录,并作为第二事件的第二标识信息。具体地,可通过函数记录,也可通过其它方式记录,通常记录在第二事件的日志中。当然,具体的记录方式以及记录位置也不做限制。其中,第二事件包括接收第一设备通过通信协议发送的数据包,此处,第二事件发生在第二设备中,可表示第二设备接收了第一设备通过网络通信协议所传输的一个数据包,第二事件的完成,包括第二设备接收了来自第一设备的一个数据包。
参图6所示,在其中一个实施例中,本申请所提供的在第二设备端将计算设备间事件相关联的方法还包括:
将数据包发送至第二设备中的对应目标应用。
在该实施例中,由于数据包的传输需求来自于用户操作应用程序的需求,相应地,第一设备根据用户操作应用程序时的需要,将数据包传输至第二设备,第二设备接收到该数据包后,需要将数据包内容发送至第二设备中的对应目标应用。具体地,可通过第二设备用户空间的目标应用程序从第二设备的内核里读出数据包,完成整个数据的单向传输过程。当然,将数据包发送至第二设备中的目标应用的具体方式不做限制,只要满足需求即可,例如若第二设备没有内核,那么数据包发送至目标应用程序的方式便会不同。
参图6所示,优选地,本申请所提供的在第二设备端将计算设备间事件相关联的方法还包括:
在第二设备的内核中插入用于记录第二事件的第二标识信息的第二模块;
其中,将数据包中关于通信协议的字段信息记为第二事件的第二标识信息包括:
执行第二模块,以记录第二事件的第二标识信息,其中,第二事件包括接收第一设备通过通信协议发送的数据包。
在该实施例中,在第二设备的内核中插入用于记录第二事件的第二标识信息的第二模块。其中的第二模块用于记录第二事件的第二标识信息,第二模块可以为函数、代码等运行单元,只要能够将第二事件的第二标识信息进行记录便满足要求。具体地,第二设备具有内核与用户空间时,若要与其它设备进行数据传输,第二设备的内核接收到的来自第一设备内核的数据包,还需要发送至用户空间,以实现数据包的互动传输。其中的第二模块用于记录第二事件的第二标识信息,第二模块可以为函数、代码等运行单元,只要能够将第二事件的第二标识信息进行记录便满足要求。
继续在该实施例中,第二设备的内核设置有应用程序编程接口,用户在第二设备接收到来自第一设备的数据包时,需要通过执行对应接口的收包模块,才可以将数据包从第二设备的内核传至其用户空间。具体地,第二模块可以设置在收包模块中,也可设置在内核的收包模块外,收包模块可为收包函数,也可为实现接收数据包请求的其它运行单元。执行第二模块,以记录第二事件的第二标识信息,具体地,第二事件的第二标识信息通过第二模块的运行进行记录。其中,第二模块的运行需要收包模块的触发。第二模块可以通过预处理,预先设置其与收包模块的关系,例如,第二模块可以预先嵌入收包模块内的位置,也可设置在收包模块外面,只要运行收包模块能够触发第二模块运行即可。例如,第二模块预先嵌入收包模块运行过程中的某具体位置,在收包模块运行至此处时,便触发第二模块,运行第二模块将第二事件的第二标识信息进行记录。
参图6所示,优选地,S5中将数据包中关于通信协议的字段信息记为第二事件的第二标识信息包括:
在接收到数据包时,执行第二模块,以记录第二事件的第二标识信息,其中,第二事件包括接收第一设备通过通信协议发送的数据包。
在该实施例中,在接收到数据包时,执行第二模块,以记录第二事件的第二标识信息。具体地,第二设备具有内核与用户空间时,若要与其它设备进行数据传输,第二设备的内核接收到的来自第一设备内核的数据包,还需要发送至用户空间,以实现数据包的互动传输。第二设备的内核设置有应用程序编程接口,用户在第二设备内核接收到来自第一设备内核的数据包时,需要通过执行对应接口的收包模块,才可以将数据包从第二设备的内核传至其用户空间中。其中接收数据包的请求可以为收包模块的运行请求,也可为收包模块运行的同时产生的请求等,只要是来自第二设备内核的数据接收请求,具体的请求发出方式不做限制,发送时间也不做限制,只要满足能够执行第二模块,以记录下第二事件的第二标识信息即可。可通过如下具体方式实现对执行第二模块的触发,第二模块可以设置在收包模块中,也可设置在内核的收包模块外,收包模块可为收包函数,也可为实现接收数据包请求的其它运行单元。执行第二模块,以记录第二事件的第二标识信息,具体地,第二事件的第二标识信息通过第二模块的运行进行记录。其中,第二模块的运行需要收包模块的触发。第二模块可以通过预处理,预先设置其与收包模块的关系,例如,第二模块可以预先嵌入收包模块内的位置,也可设置在收包模块外面,只要运行收包模块能够触发第二模块运行即可。例如,第二模块预先嵌入收包模块运行过程中的某具体位置,在收包模块运行至此处时,便触发第二模块,运行第二模块将第二事件的第二标识信息进行记录。
如图6所示,本申请所提供的在第三设备端将计算设备间事件相关联的方法包括:
S6,从第一设备获取第一事件及对应的第一标识信息。
S7,从第二设备获取与第一事件相关联的第二事件,其中,第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议。
在该实施例中,第三设备用于对前述第一事件及第二事件进行关联,第三双设备可设置在第一设备中,也可设置在第二设备中,也可单独设置。从第一设备获取第一事件及对应的第一标识信息,具体地,可在第一设备上查找到需要关联的第一事件的第一标识信息,例如,可在第一设备上的事件日志上查找第一事件对应的第一标识信息。一般第一设备的事件日志记录在第一设备的存储器或者磁盘等中,直接去相应的存储位置查找读取即可。第三设备在第一设备上查找第一事件对应的第一标识信息的具体时间,可以为实时查找,也可以为间隔一定的预设时间进行查找,也可以根据用户的需求,在用户需要对第一设备、第二设备等组成的系统的性能进行分析或者测试时进行查找,具体查找时间不做限制。从第二设备获取与第一事件相关联的第二事件,具体地,依据第一事件的第一标识信息,在第二设备上查找到与第一标识信息相等的第二标识信息,并对应至第二事件,例如,可在第二设备上的事件日志上查找与第一标识信息相等的第二标识信息。一般第二设备中的事件日志记录在第二设备的存储器或者磁盘等中,直接去相应的存储位置查找读取即可。通过查找到的第二标识信息,进一步找到其对应的第二事件,并获取第二事件,此时第一事件与第二事件相关联。第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议,具体地,由于第一事件为第一设备向第二设备发送一个数据包,第二事件为第二设备接收第一设备所发送的数据包,第一事件的第一标识信息与第二事件的第二标识信息,为同一个数据包的与通信协议相关的信息,故第一标识信息与第二标识信息相等并且对应相同的通信协议。
继续在该实施例中,也可从第二设备中获取第二事件及对应的第二标识信息,然后从第一设备获取与第二事件相关联的第一事件,其中第二事件的第二标识信息与第一事件的第一标识信息相等且对应相同的通信协议。其具体的实现方式,与该实施例前部分的实质原理相同,在此不再赘述。
参图6所示,优选地,S7中从第二设备获取与第一事件相关联的第二事件包括:
根据第一事件的第一标识信息,在第二设备中查找与第一标识信息相等且对应相同的通信协议的标识信息,其中,查找到的标识信息为第二标识消息。
获取第二标识信息对应的第二事件。
在该实施例中,根据第一事件的第一标识信息,在第二设备中查找与第一标识信息相等且对应相同的通信协议的标识信息,其中,查找到的标识信息为第二标识消息。一般地,事件的标识信息记录在事件的日志中,根据第一标识信息的具体内容,在第二设备的事件日志中查找具有相等内容的标识信息,查找到的标识信息即为第二标识信息,本领域的技术人员应当能够理解,此处的具体查找方式不做限制。获取第二标识信息对应的第二事件,具体地,通过第二标识信息可获取第二事件的处理过程情况、处理时间、处理结果等与第二事件相关的信息。可通过运行相关函数进行读取的方式,也可通过比较判断的方式等等进行获取,本领域的技术人员应当能够理解,此处的具体获取第二事件的方式并不做限制。
在其中一个实施例中,第一标识信息与第二标识信息的记录时间满足预定的时间间隔阈值。
在该实施例中,主要针对依据第一标识信息在第二设备中查到了与第一标识信息相等并且对应相同的通信协议的多个标识信息的情况。此时还需要从这些标识信息中找到与第一标识信息对应的第二标识信息,具体地,需要借助标识信息的记录时间实现,即在第二设备上查到的与第一标识信息相等并且对应相同的通信协议的多个标识信息中,查找记录时间与第一标识信息的记录时间满足预设阈值间隔的标识信息,为第二标识信息。例如,预设时间间隔阈值为0-500毫秒,也即记录第一标识信息与第二标识信息的时间点间隔要在500毫秒范围内。在第二设备上查找到3个与第一标识信息相等并且对应相同的通信协议的标识信息,其中,3个标识信息的记录时间与第一标识信息的记录时间间隔分别为1分钟、100毫秒、10分钟,很明显时间间隔为100毫秒的标识信息为第二标识信息。时间间隔阈值根据需要进行设定。
继续在该实施例中,第一标识信息与第二标识信息的记录时间满足预定的时间间隔阈值,还可以在找到的与第一标识信息相等并且对应相同的通信协议的多个标识信息中,排除明显不符合成为第二标识信息的情况,例如,仍预设时间间隔阈值为0-500毫秒,在第二设备上查找到3个与第一标识信息相等并且对应相同的通信协议的标识信息,其中,3个标识信息的记录时间与第一标识信息的记录时间间隔分别为60毫秒、400毫秒、10分钟,此时时间间隔为10分钟的标识信息明显不符合要求,而剩下的时间间隔为60毫秒及400毫秒的标识信息可通过时间间隔最接近的方式筛选出第二标识信息,也可借助其他方式实现进一步的筛选。再例如,仍预设时间间隔阈值为0-500毫秒,在第二设备上查找到个与第一标识信息相等并且对应相同的通信协议的标识信息,其中,该标识信息的记录时间与第一标识信息的记录时间间隔为20分钟,该标识信息明显不符合要求,则可认为在第二设备上未找到符合要求的第二标识信息。
另外,需要指出的是,在该实施例中的所有时间点值及时间间隔阈值等,均是在第一设备与第二设备所在系统的所有设备时间同步的情况下进行的记录、比较等。具体系统内部设备间的时间同步方法不做限制。
如图7所示,展示了本申请提供的将计算设备间事件相关联的方法的又一实施例,该方法在如图6所示的实施例基础上还包括:
S8,将第二设备上的第三事件与第一事件相关联,其中,第三事件与第二事件相关联。
S9,将关联所得的事件集合输出给用户,其中,事件集合包括第一事件及与第一事件相关联的事件。
在该实施例中,S8主要针对事件在同一个设备内部进行关联的情况,第三事件与第二事件均发生在第二设备上,第二事件与第三事件的关联为同一设备内部的关联,具体地,可通过线程ID等方式进行关联,本领域的技术人员应当能够理解设备内部事件关联的方式并不做具体限制。其中第一设备上的第一事件与第二设备上的第三事件进行关联,是通过第一事件与第二事件关联、第二事件与第三事件关联后,第一事件通过第二事件与第三事件进行关联。尤其是在分布式系统中,需要关联的事件位于很多台设备上,要将很多个相关联的事件关联起来,就即需要设备内部事件的关联,又需要设备间事件的关联,以实现最终所有相关联事件的关联。具体地,将第二设备上的第三事件与第一设备上的第一事件相关联,首先,需要通过线程ID将第二设备上第三事件与第二事件进行关联,再通过前述第一事件与第二事件进行关联的方式,将第二事件与第一事件进行关联,最终实现第一事件、第二事件、第三事件的关联。
继续在该实施例中,将关联所得的事件集合输出给用户,具体地,将关联事件关联后的结果输出给用户,例如,当一个分布式系统总是运行缓慢,用户需要对该系统进行性能测试或者查找问题的原因,若该分布式系统包括三个设备A、B、C,数据需要在此三个设备上进行传输,在A设备上发生了第一事件,在B设备上发生了第二事件及第三事件,在C设备上发生了第四事件,第一事件至第四事件为关联事件,那么根据用户需要查找该系统运行缓慢的原因时,需要分别查找第一事件的数据包发送时空信息,例如发送时间点、发送位置,第二事件接收第一事件发送的数据包的时空信息,以此类推。若发现其中有的事件的发送\接收数据包的时空信息不符合预设的阈值,那么可以判断出,系统中执行该事件的设备出现了问题,还可以根据读取的相关具体信息,进一步分析问题的原因。
另外,在如图6-7所示的两个实施例中的步骤并不要求按照上述书写顺序完成,其中有些步骤的顺便是不限制的,甚至可以同步。
与现有技术相比,本申请的用于将计算机设备间事件相关联的方法,在从第一设备向第二设备传输数据时,第一设备记录其中第一事件的第一标识信息,第二设备记录其中第二事件的第二标识信息,由于第一标识信息与第二标识信息为第一设备传输至第二设备的同一个数据包的特征信息,故二者相等。由于第一事件的第一标识信息与第二事件的第二标识信息相等且对应相同的通信协议,第三设备从第一设备获取第一事件及对应的第一标识信息,依据第一事件的第一标识信息获取与第一事件相关联的第二事件,便可以将位于不同设备上的第一事件与第二事件进行关联。本申请的用于将计算机设备间事件相关联的系统包括前述第一设备、第二设备及第三设备。采用本申请的将计算机设备间事件相关联的方法及设备,可以在不修改网络通讯库,不改变网络数据包内容,不使用全局唯一性ID的前提下,对发送在多台计算机上的事件进行关联。一方面,对于不能修改网络通讯库的服务软件来说,仍然可以进行事件关联。另一方面,也避免了代价较大的全局唯一性ID的产生,节省了计算资源。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (24)
1.一种在第一设备端将计算设备间事件相关联的方法,其中,该方法包括:
获取待通过通信协议发送至第二设备的数据包;
将所述数据包中关于所述通信协议的字段信息记为第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备;
通过所述通信协议将所述数据包发送至所述第二设备;
其中,所述数据包为通过通信协议进行网络传输的传输单元并且所述数据包携带有使数据接收设备识别数据包的信息。
2.根据权利要求1所述的方法,其中,该方法还包括:
在所述第一设备的内核中插入用于记录所述第一事件的第一标识信息的第一模块;
其中,所述将所述数据包中关于所述通信协议的字段信息记为第一事件的第一标识信息包括:
执行所述第一模块,以记录所述第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备。
3.根据权利要求2所述的方法,其中,所述将所述数据包中关于所述通信协议的字段信息记为第一事件的第一标识信息包括:
当接收到所述数据包的发送请求时,执行所述第一模块,以记录所述第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备。
4.一种在第二设备端将计算设备间事件相关联的方法,其中,该方法包括:
接收第一设备通过通信协议所发送的数据包;
将所述数据包中关于所述通信协议的字段信息记为第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包;
其中,所述数据包为通过通信协议进行网络传输的传输单元并且所述数据包携带有使数据接收设备识别数据包的信息。
5.根据权利要求4所述的方法,其中,该方法还包括:将所述数据包发送至所述第二设备中的对应目标应用。
6.根据权利要求4或5所述的方法,其中,该方法还包括:
在所述第二设备的内核中插入用于记录所述第二事件的第二标识信息的第二模块;
其中,所述将所述数据包中关于所述通信协议的字段信息记为第二事件的第二标识信息包括:
执行所述第二模块,以记录所述第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包。
7.根据权利要求6所述的方法,其中,所述将所述数据包中关于所述通信协议的字段信息记为第二事件的第二标识信息包括:
在接收到所述数据包时,执行所述第二模块,以记录所述第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包。
8.一种在第三设备端将计算设备间事件相关联的方法,其中,该方法包括:
从第一设备获取第一事件及对应的第一标识信息;
从第二设备获取与所述第一事件相关联的第二事件,其中,所述第一事件的第一标识信息与所述第二事件的第二标识信息相等且对应相同的通信协议;
其中,所述第一设备将数据包中关于通信协议的字段信息记为第一事件的第一标识信息;所述第二设备将数据包中关于通信协议的字段信息记为第二事件的第二标识信息;所述数据包为通过通信协议进行网络传输的传输单元并且所述数据包携带有使数据接收设备识别数据包的信息。
9.根据权利要求8所述的方法,其中,所述从第二设备获取与所述第一事件相关联的第二事件包括:
根据所述第一事件的第一标识信息,在所述第二设备中查找与所述第一标识信息相等且对应相同的通信协议的标识信息,其中,查找到的标识信息为第二标识消息;
获取所述第二标识信息对应的第二事件。
10.根据权利要求8所述的方法,其中,所述第一标识信息与所述第二标识信息的记录时间满足预定的时间间隔阈值。
11.根据权利要求8至10中任一项所述的方法,其中,该方法还包括:
将所述第二设备上的第三事件与所述第一事件相关联,其中,所述第三事件与所述第二事件相关联。
12.根据权利要求8至10中任一项所述的方法,其中,该方法还包括:
将关联所得的事件集合输出给用户,其中,所述事件集合包括所述第一事件及与所述第一事件相关联的事件。
13.一种用于将计算设备间事件相关联的第一设备,其中,该设备包括:
第一装置,用于获取待通过通信协议发送至第二设备的数据包;
第三装置,用于将所述数据包中关于所述通信协议的字段信息记为第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备;
第五装置,用于通过所述通信协议将所述数据包发送至所述第二设备;
其中,所述数据包为通过通信协议进行网络传输的传输单元并且所述数据包携带有使数据接收设备识别数据包的信息。
14.根据权利要求13所述的设备,其中,该设备还包括:
第七装置,用于在所述第一设备的内核中插入用于记录所述第一事件的第一标识信息的第一模块;
其中,所述第三装置用于:
执行所述第一模块,以记录所述第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备。
15.根据权利要求14所述的设备,其中,所述第三装置用于:
当接收到所述数据包的发送请求时,执行所述第一模块,以记录所述第一事件的第一标识信息,其中,所述第一事件包括通过所述通信协议将所述数据包发送至所述第二设备。
16.一种用于将计算设备间事件相关联的第二设备,其中,该设备包括:
第二装置,用于接收第一设备通过通信协议所发送的数据包;
第四装置,用于将所述数据包中关于所述通信协议的字段信息记为第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包;
其中,所述数据包为通过通信协议进行网络传输的传输单元并且所述数据包携带有使数据接收设备识别数据包的信息。
17.根据权利要求16所述的设备,其中,该设备还包括:
第六装置,用于将所述数据包发送至所述第二设备中的对应目标应用。
18.根据权利要求16或17所述的设备,其中,该设备还包括:
第八装置,用于在所述第二设备的内核中插入用于记录所述第二事件的第二标识信息的第二模块;
其中,所述第四装置用于:
执行所述第二模块,以记录所述第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包。
19.根据权利要求18所述的设备,其中,所述第四装置用于:
在接收到所述数据包时,执行所述第二模块,以记录所述第二事件的第二标识信息,其中,所述第二事件包括接收所述第一设备通过所述通信协议发送的所述数据包。
20.一种用于将计算设备间事件相关联的第三设备,其中,该设备包括:
第十装置,用于从第一设备获取第一事件及对应的第一标识信息;
第十一装置,用于从第二设备获取与所述第一事件相关联的第二事件,其中,所述第一事件的第一标识信息与所述第二事件的第二标识信息相等且对应相同的通信协议;
其中,所述第一设备将数据包中关于通信协议的字段信息记为第一事件的第一标识信息;所述第二设备将数据包中关于通信协议的字段信息记为第二事件的第二标识信息;所述数据包为通过通信协议进行网络传输的传输单元并且所述数据包携带有使数据接收设备识别数据包的信息。
21.根据权利要求20所述的设备,其中,所述第十一装置包括:
第十一一单元,用于根据所述第一事件的第一标识信息,在所述第二设备中查找与所述第一标识信息相等且对应相同的通信协议的标识信息,其中,查找到的标识信息为第二标识消息;
第十一二单元,用于获取所述第二标识信息对应的第二事件。
22.根据权利要求20所述的设备,其中,所述第一标识信息与所述第二标识信息的记录时间满足预定的时间间隔阈值。
23.根据权利要求20至22中任一项所述的设备,其中,该设备还包括:
第十二装置,用于将所述第二设备上的第三事件与所述第一事件相关联,其中,所述第三事件与所述第二事件相关联。
24.根据权利要求20至22中任一项所述的设备,其中,该设备还包括:
第十三装置,用于将关联所得的事件集合输出给用户,其中,所述事件集合包括所述第一事件及与所述第一事件相关联的事件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510232956.9A CN106201942B (zh) | 2015-05-08 | 2015-05-08 | 将计算机设备间事件相关联的方法、设备及系统 |
PCT/CN2016/079551 WO2016180167A1 (zh) | 2015-05-08 | 2016-04-18 | 将计算机设备间事件相关联的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510232956.9A CN106201942B (zh) | 2015-05-08 | 2015-05-08 | 将计算机设备间事件相关联的方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201942A CN106201942A (zh) | 2016-12-07 |
CN106201942B true CN106201942B (zh) | 2019-05-28 |
Family
ID=57247766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510232956.9A Active CN106201942B (zh) | 2015-05-08 | 2015-05-08 | 将计算机设备间事件相关联的方法、设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106201942B (zh) |
WO (1) | WO2016180167A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125476A (zh) * | 2019-12-23 | 2020-05-08 | 北京每日优鲜电子商务有限公司 | 事件数据处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529248A (zh) * | 2003-10-20 | 2004-09-15 | 北京启明星辰信息技术有限公司 | 网络入侵行为关联事件的检测方法及系统 |
US7349958B2 (en) * | 2003-06-25 | 2008-03-25 | International Business Machines Corporation | Method for improving performance in a computer storage system by regulating resource requests from clients |
CN101409886A (zh) * | 2007-10-11 | 2009-04-15 | 中兴通讯股份有限公司 | 一种关联彩信事件的方法 |
CN101473639A (zh) * | 2006-06-23 | 2009-07-01 | 索尼爱立信移动通讯股份有限公司 | 便于多媒体传送的方法和装置 |
CN102882710A (zh) * | 2011-09-12 | 2013-01-16 | 微软公司 | 跨机器的事件日志关联 |
CN103109498A (zh) * | 2010-08-27 | 2013-05-15 | 卡西迪安有限公司 | 用于对多级别层级式计算机管理系统的事件进行集中的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220827A1 (en) * | 2003-02-07 | 2004-11-04 | Ansel Duane Allen | Sponsorship exchange and auction |
-
2015
- 2015-05-08 CN CN201510232956.9A patent/CN106201942B/zh active Active
-
2016
- 2016-04-18 WO PCT/CN2016/079551 patent/WO2016180167A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349958B2 (en) * | 2003-06-25 | 2008-03-25 | International Business Machines Corporation | Method for improving performance in a computer storage system by regulating resource requests from clients |
CN1529248A (zh) * | 2003-10-20 | 2004-09-15 | 北京启明星辰信息技术有限公司 | 网络入侵行为关联事件的检测方法及系统 |
CN101473639A (zh) * | 2006-06-23 | 2009-07-01 | 索尼爱立信移动通讯股份有限公司 | 便于多媒体传送的方法和装置 |
CN101409886A (zh) * | 2007-10-11 | 2009-04-15 | 中兴通讯股份有限公司 | 一种关联彩信事件的方法 |
CN103109498A (zh) * | 2010-08-27 | 2013-05-15 | 卡西迪安有限公司 | 用于对多级别层级式计算机管理系统的事件进行集中的方法 |
CN102882710A (zh) * | 2011-09-12 | 2013-01-16 | 微软公司 | 跨机器的事件日志关联 |
Non-Patent Citations (1)
Title |
---|
"入侵检测中的事件关联分析";陈晓苏等;《华中科技大学学报》;20030430;第31卷(第4期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106201942A (zh) | 2016-12-07 |
WO2016180167A1 (zh) | 2016-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104376127B (zh) | 一种数据操作方法及装置 | |
CN103428042B (zh) | 对服务器进行压力测试的方法及系统 | |
CN104219330A (zh) | 一种基于web代理进行录屏审计的方法及系统 | |
US10027752B2 (en) | Distributed server election with imperfect clock synchronization | |
CN108563571A (zh) | 软件接口测试方法及系统、计算机可读存储介质、终端 | |
CN106603296A (zh) | 日志的处理方法及装置 | |
CN112988608B (zh) | 数据测试方法、装置、计算机设备及存储介质 | |
CN106210032A (zh) | 基于终端数据批量上报的方法及装置 | |
CN107562426B (zh) | 无埋点式云端收集分析浏览器Trace的方法及系统 | |
CN106161396B (zh) | 一种实现虚拟机网络访问控制的方法及装置 | |
WO2017107963A1 (zh) | 消息发送、接收方法及装置 | |
CN106649342A (zh) | 数据采集平台中数据处理的方法及装置 | |
CN112231209B (zh) | 参数获取方法、装置、计算机设备和存储介质 | |
US10003509B2 (en) | Packet tracing | |
CN117336035A (zh) | 一种基于物联网网关的边端设备的管理协同方法 | |
CN109657167B (zh) | 数据采集方法、装置、服务器及存储介质 | |
CN106201942B (zh) | 将计算机设备间事件相关联的方法、设备及系统 | |
CN108289080A (zh) | 一种访问文件系统的方法、装置和系统 | |
CN101184002A (zh) | 一种点对点流量深度监测方法和设备 | |
CN115348333B (zh) | 基于udp双端通信交互的数据传输方法、系统及设备 | |
CN110209888A (zh) | 接口请求的存储方法及装置 | |
CN116132625A (zh) | 交易流程的监管方法和装置 | |
CN113704659B (zh) | 一种设备终端访问标记方法和系统 | |
CN112181670B (zh) | 进程间通讯方法及装置和Linux设备 | |
CN113438503A (zh) | 视频文件还原方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |