网络数据调试方法和装置,存储介质与流程

    专利2022-07-07  37


    本公开涉及网络技术领域,具体地,涉及一种网络数据调试方法和装置,存储介质。



    背景技术:

    网络数据调试是保证网络设备之间通信的可靠性和稳定性的重要环节,例如,在轨道交通领域,通常需要监控和调试信号子系统与监控子系统之间的网络状况,以保证轨道交通系统的稳定运行。在进行网络数据调试时,通常需要抓取网络设备接口的网络数据包,通过对抓取到的网络数据包进行分析来查找网络设备之间的通信故障。

    现有技术中,通常采用wireshark工具从网络接口抓取网络数据包。然而,wireshark工具的专业性强,使用不便捷,且使用该工具抓取到网络数据包后,在对网络数据包进行分析时,无法真实地还原网络设备之间真实的通信状况。



    技术实现要素:

    为了克服现有技术中存在的问题之一,本公开提供一种网络数据调试方法和装置,存储介质。

    为了实现上述目的,根据本公开实施例的第一方面,提供一种网络数据调试装置,包括数据库、回放单元和转发单元;

    所述数据库,用于存储至少两个子系统之间通信的网络数据包;

    所述回放单元,用于从所述数据库中加载待回放的网络数据包进行回放,以及在回放过程中,将所述待回放的网络数据包发送至所述转发单元;

    所述转发单元,用于根据预先配置的转发地址,将所述待回放的网络数据包转发至所述转发地址对应的子系统。

    可选地,所述转发地址对应的子系统为所述至少两个子系统中的任一子系统的模拟仿真系统。

    可选地,所述回放单元还用于:

    从第一回放起始时间点起,从所述数据库加载网络数据包;

    在达到第一预设时长后,将在所述第一预设时长内加载的网络数据包发送至所述转发单元,并且,

    重复执行所述从所述数据库加载网络数据包至所述将在所述第一预设时长内加载的网络数据包发送至所述转发单元的步骤,直到所述待回放的网络数据包均加载完成。

    可选地,所述装置还包括显示控件和界面数据刷新单元;

    所述回放单元从所述数据库中加载待回放的网络数据包进行回放的过程包括:

    判断第二回放起始时间点对应的网络数据包是否已加载完成;

    若所述第二回放起始时间点对应的网络数据包未加载完成,则从所述数据库中加载从所述第二回放起始时间点起的第二预设时长内的网络数据包;

    在所述第二预设时长内的网络数据包加载完成后,将所述第二预设时长内的网络数据包发送至所述界面数据刷新单元,以触发所述界面数据刷新单元将所述第二预设时长内的网络数据包发送至所述显示控件,以使所述显示控件显示所述第二预设时长内的网络数据包;

    在所述显示控件对所述第二预设时长内的网络数据包进行显示的过程中,继续从所述数据库加载网络数据包,直到从所述第二回放起始时间点起的第三预设时长内的网络数据包均加载完成,其中,所述第三预设时长大于所述第二预设时长;

    界面数据刷新单元,用于接收所述回放单元发送的网络数据包并将接收到的网络数据包发送至所述显示控件;

    显示控件,用于显示所述界面数据刷新单元发送的网络数据包。

    可选地,所述装置还包括:

    抓包处理服务单元,用于通过预置的抓包引擎,从所述至少两个子系统的网络接口抓取网络数据包,并将抓取到的网络数据包写入所述数据库中。

    可选地,所述数据库包括第一文件表和第二文件表;

    所述抓包处理服务单元,还用于将抓取到的网络数据包写入所述第一文件表中,以及在抓取网络数据包的过程中,记录起始抓取时间点和停止抓取时间点,并将起始抓取时间点和停止抓取时间点写入所述第二文件表中。

    可选地,所述抓包处理服务单元,还用于将抓取到的网络数据包发送至所述界面数据刷新单元;

    所述界面数据刷新单元,用于将所述抓包处理服务单元发送的网络数据包转发至所述显示控件;

    所述显示控件,用于显示所述抓包处理服务单元抓取到的网络数据包。

    根据本公开实施例的第二方面,提供一种网络数据调试方法,应用于终端设备,所述终端设备中预置有数据库,所述数据库中存储有至少两个子系统之间通信的网络数据包,所述方法包括:

    从所述数据库中加载待回放的网络数据包,并对所述待回放的网络数据包进行回放;

    在回放过程中,根据预先配置的转发地址,将所述待回放的网络数据包转发至所述转发地址对应的子系统。

    可选地,所述转发地址对应的子系统为所述至少两个子系统中的任一子系统的模拟仿真系统。

    可选地,所述从所述数据库中加载待回放的网络数据包包括:

    从第一回放起始时间点起,从所述数据库加载网络数据包,直到所述待回放的网络数据包均加载完成:

    所述将所述待回放的网络数据包转发至所述模拟监测子系统,包括:

    在每达到所述第一预设时长后,将在该第一预设时长内加载的网络数据包转发至所述转发地址对应的子系统。

    可选地,所述从所述数据库中加载待回放的网络数据包,并对所述待回放的网络数据包进行回放,包括:

    判断第二回放起始时间点对应的网络数据包是否已加载完成;

    若所述第二回放起始时间点对应的网络数据包未加载完成,则从所述数据库中加载从所述第二回放起始时间点起的第二预设时长内的网络数据包;

    在所述第二预设时长内的网络数据包加载完成后,显示所述第二预设时长内的网络数据包;

    在对所述第二预设时长内的网络数据包进行显示的过程中,继续从所述数据库加载网络数据包,直到从所述第二回放起始时间点起的第三预设时长内的网络数据包均加载完成,其中,所述第三预设时长大于所述第二预设时长。

    根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面所述方法的步骤。

    根据本公开实施例的第四方面,提供一种终端设备,所述电子设备中预置有数据库,所述数据库中存储至少两个子系统之间通信的网络数据包,所述终端设备包括:

    存储器,其上存储有计算机程序;

    处理器,用于执行所述存储器中的所述计算机程序,以实现第二方面所述方法的步骤。

    通过上述技术方案,至少可以达到如下技术效果:通过回访单元对数据库中存储的至少两个子系统之间通信的网络数据包进行回放并发送至转发单元,通过转发单元将网络数据包转发至转发地址对应的子系统,可以实现对真实记录的至少两个子系统之间通信的网络数据包的回放,并且在网络数据包的回放过程中将回放的网络数据包转发给转发地址对应的子系统,可以实现对真实记录的至少两个子系统之间通信的网络数据包的回放,并且在网络数据包的回放过程中将回放的网络数据包转发给预先配置的转发地址对应的子系统,可以在该子系统上实现对至少两个子系统之间通信状况的还原,方便监测人员分析和确认至少两个子系统之间的通信的故障,快速找到故障根源。

    本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

    附图说明

    附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

    图1是根据本公开一示例性实施例示出的一种网络数据调试装置的结构框图;

    图2a是根据本公开一示例性实施例示出的一种网络数据包抓取过程的流程图;

    图2b是根据本公开一示例性实施例示出的一种网络数据包回放过程的流程图;

    图3是根据本公开一示例性实施例示出的一种网络数据调试方法的流程图。

    具体实施方式

    以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

    本公开提供一种网络数据调试装置。如图1所示,图1是根据本公开一示例性实施例示出的一种网络数据调试装置的框图,该装置包括数据库、回放单元110以及转发单元120。

    该数据库用于存储至少两个子系统之间通信的网络数据包。

    其中,该网络数据调试装置中预置的数据库可以是sqlite数据库(一种轻量级的关系型数据库),而不局限于此。本实施例中,至少两个子系统之间能够相互通信,本公开的网络数据调试装置可存储至少两个子系统之间通信的网络数据包。

    在该网络数据调试装置中,回放单元110用于从该数据库中加载待回放的网络数据包并对该待回放的网络数据包进行回放,以及在回放过程中,将待回放的网络数据包发送至转发单元120。

    其中,回放单元110可根据预先设定的回放参数从数据库中加载待回放的网络数据包。回放单元110可支持播放、停止、暂停、单步、快进、快退、跳转等功能。回放参数可以例如包括但不限于以下参数中的至少一者:起始时间点、停止时间点、回放速率(如快进、快退)、回放模式(如单步回放)等等。

    示例地,若预先配置的回放参数包括回放起始时间点,回放单元110则可将所有时间戳位于该回放起始时间点之后的网络数据包作为待回放的网络数据包;若预先配置的回放参数包括回放起始时间点和回放停止时间点,回放单元110则可将所有时间戳位于该回放起始时间点和回放停止时间点之间的网络数据包作为待回放的网络数据包。

    转发单元120用于根据预先配置的转发地址,将待回放的网络数据包转发中该转发地址对应的子系统。

    进一步地,该转发地址对应的子系统可以是上述至少两个子系统中的任一子系统的模拟仿真系统。示例地,如图1所示,上述至少两个子系统包括子系统a和子系统b,则转发地址对应的子系统可以是子系统a的模拟仿真系统,也可以是子系统b的模拟仿真系统。对于前者,转发单元可用于将子系统b向子系统a发送的网络数据包转发至子系统a的模拟仿真系统(即转发地址对应的子系统),则可以还原子系统b向子系统a发送数据的过程;对于后者,转发单元可用于将子系统a向子系统b发送的网络数据包转发至子系统b的模拟仿真系统(即转发地址对应的子系统),则可以还原子系统a向子系统b发送数据的过程。

    采用上述网络数据调试装置,可以实现对真实记录的至少两个子系统之间通信的网络数据包的回放,并且在网络数据包的回放过程中将回放的网络数据包转发给预先配置的转发地址对应的子系统,可以在该子系统上实现对至少两个子系统之间通信状况的还原,方便监测人员分析和确认至少两个子系统之间的通信的故障,快速找到故障根源。

    进一步地,上述网络数据调试装置还可以包括界面数据刷新单元130和显示控件140。显示控件140可用于向用户展示网络数据包的回放界面。具体地,回放单元110还用于将从数据库加载的网络数据包发送至界面数据刷新单元130,界面数据刷新单元130用于将回放单元110发送的网络数据包转发至显示控件140,以触发显示控件140在回放界面展示来自回放单元110的网络数据包。其中,显示控件140可以例如包括但不限于以下控件中的至少一种:文本框、列表等。

    在该网络数据调试装置中,回放单元将从数据库加载的待回放的网络数据包通过界面数据刷新单元转发至显示控件进行显示,可以使用户获知待回放的网络数据包的加载进度,进而方便用户控制对网络数据包的回放过程以及进一步方便用户监测至少两个子系统之间的通信故障。

    值得说明的是,上述网络数据调试装置可应用于不同的实施场景中,例如可应用于轨道交通系统的故障监测。具体地,上述网络数据调试装置中的数据库可用于存储轨道交通系统中的监测子系统与信号子系统之间通信的网络数据包。相应地,转发地址对应的子系统可以是根据监测子系统的网络接口信息搭建的一套模拟系统,网络接口信息例如包括网络接口的ip(互联网协议地址,internetprotocoladdress)地址和端口信息,该系统可以模拟监测子系统的运行状态。

    其中,监测子系统可以包括但不限于综合监控系统,信号子系统可以包括但不限于联锁系统、列车自动防护系统、列车自动运行系统等等。轨道交通系统中的信号子系统与监测子系统之间可以通过udp(userdatagramprotocol,用户数据报协议)协议进行通信,相应地,抓取到的信号子系统向监测子系统发送的网络数据包可以为udp网络数据包,网络数据包可以例如包括但不限于:源地址、源端口、目的地址、目的端口、udp用户数据字节流字段、时间戳等等,其中,时间戳用于表征网络数据包的抓取时间信息。

    通过上述实施例所述的网络数据调试装置,可以实现对真实记录的轨道交通系统中的信号子系统向监测子系统发送的网络数据包的回放,并且在网络数据包的回放过程中将回放的网络数据包转发给模拟监测子系统,可以实现对信号子系统与监测子系统之间的通信状况的还原,方便监测人员分析和确认信号子系统与监测子系统之间存在的通信故障,快速找到故障根源。

    值得说明的是,在具体实施时,上述网络数据调试装置可应用于终端设备中,且该终端设备和该模拟监测子系统均可以部署于本地(比如研发人员、监控人员等相关人员的所在地)。上述网络数据调试装置的数据库中存储的网络数据包可以是位于现场(比如轨道交通系统的部署地点)的工作人员通过抓包工具从信号子系统的网络接口抓取到并存储至该数据库中的。

    示例地,如图2a所示,用户可通过终端设备向网络数据调试装置输入启动指令,网络数据调试装置启动,向用户展示主界面。接着,用户可从主界面展示的网络数据包列表中选取待回放的网络数据包,网络数据调试装置响应于用户输入的选择指令,跳转至回放界面。进一步地,网络数据调试装置从数据库的第二文件表中读取相应的起始时间点和停止时间点等。进一步地,用户根据需要配置模拟监测子系统的地址和端口等信息,并输入开始回放指令,此时,网络数据调试装置响应于接收到开始回放指令,启动一第一预设时长定时器,在该定时器运行期间,从数据库加载网络数据包,并在定时器超时后,对已加载的网络数据包进行回放,且将在该定时器运行期间加载的网络数据包转发给模拟监测子系统。接着,重复执行启动一第一预设时长定时器至在定时器超时后,对已加载的网络数据包进行回放,且将在该定时器运行期间加载的网络数据包转发给模拟监测子系统的步骤,直到所有待回放的网络数据包均加载完成。进一步地,用户可根据需要输入快进、快退、暂停、单步、跳转以及重播等指令,网络数据调试装置则根据相应的指令执行快进、快退、暂停、单步、跳转以及重播等操作。进一步地,用户可根据需要输入停止回放指令,网络数据调试装置则响应于接收到停止回放指令,停止当前回放。

    这样,通过在本地部署上述网络数据调试装置并搭建模拟监测子系统,利用网络数据调试装置对抓取到的网络数据包进行回放并转发至模拟监控子系统,就能在本地还原现场信号子系统与监测子系统之间的通信状况,本地工作人员无需前往现场,通过观察监测子系统的运行情况就能分析和确认存在的通信故障。

    接下来,分别对上述网络数据调试装置中的各单元进行详细说明。

    在第一种可选的实现方式中,回放单元110可用于从第一回放起始时间点起,从数据库中加载网络数据包,在达到第一预设时长后,将在第一预设时长内加载的网络数据包发送至转发单元120,并且重复执行所述从数据库加载网络数据包至将第一预设时长内加载的网络数据包发送至转发单元120的步骤,直到待回放的网络数据包均加载完成。

    具体地,回放单元110可从第一回放起始时间点起,启动一第一预设时长的定时器,在该定时器的运行期间,从数据库加载网络数据包,在定时器超时后,将在该定时器运行期间加载的数据包发送至转发单元120,并且重复执行上述启动一第一预设时长的定时器至在定时器超时后,将在该定时器运行期间加载的数据包发送至转发单元120的步骤,直到待回放的网络数据包均加载完成。相应地,转发单元120每接收到一次网络数据包,则将接收到的网络数据包转发至转发地址对应的子系统。

    值得说明的是,第一预设时长可以根据需要自定义设置,进一步地,第一预设时长可以设置为接近于0的时长,例如100ms。这样,回放单元110加载以及转发网络数据包的时间间隔很小,可以保证实时、连续地还原的至少两个子系统之间的通信状态。

    进一步地,在该实现方式中,回放单元110还可用于在每达到第一预设时长后,将该第一预设时长内的网络数据包发送至界面数据刷新单元130,以触发界面数据刷新单元130将该第一预设时长内的网络数据包发送至显示控件140,以使显示控件140显示该第一预设时长内的网络数据包。这样,回放单元在每达到第一预设时长后将该第一预设时长内的网络数据包通过界面数据刷新单元转发至显示控件进行显示,可以实现对已加载的网络数据包的实时、连续显示,使得用户实时获知网络数据包的加载和回放进度,进一步方便用户控制对网络数据包的回放过程以及监测至少两个子系统之间的通信故障。

    在第二种可选的实现方式中,为了保证网络数据包的回放与加载能够达到平衡,以提升回放时的用户体验,回放单元110还可用于对待回放的网络数据包进行动态预加载。具体地,回放单元110从数据库中加载待回放的网络数据包进行回放的过程包括:回放单元110判断第二回放起始时间点对应的网络数据包是否已加载完成,若该第二回放起始时间点对应的网络数据包已加载完成,则将已加载完成的网络数据包发送至界面数据刷新单元130,以触发界面数据刷新单元130将该网络数据包转发至显示控件140,以使显示控件140显示该网络数据包;若该第二回放起始时间点对应的网络数据包未加载完成,回放单元110则从数据库中加载从该第二回放起始时间点起的第二预设时长内的网络数据包,并在该第二预设时长内的网络数据包加载完成后,将第二预设时长内的网络数据包发送至界面数据刷新单元130,以触发界面数据刷新单元130将该第二预设时长内的网络数据包发送至显示控件140,以使显示控件140显示该第二预设时长内的网络数据包;与此同时,回放单元110在显示控件140对第二预设时长内的网络数据包进行显示的过程中,继续从数据库加载网络数据包,直到从该第二回放起始时间点起的第三预设时长内的网络数据包均加载完成。其中,第三预设时长大于第二预设时长。

    相应地,回放单元110还用于在显示控件140显示网络数据包的过程中将已加载的网络数据包同时发送至转发单元120,由转发单元120将已加载的网络数据包转发至转发地址对应的子系统。

    这样,回放单元在加载完第二预设时长的网络数据包后将该第二预设时长内的网络数据包通过界面数据刷新单元转发至显示控件进行显示,可以使用户及时获知网络数据包的加载和回放进度,进一步方便用户控制对网络数据包的回放过程以及监测至少两个子系统之间的通信故障。并且,在对显示控件对网络数据包进行显示的过程中,回放单元同时在后台继续加载网络数据包,可以保证网络数据包的显示和加载达到动态平衡,提升网络数据包显示过程中的用户体验。

    值得说明的是,第二预设时长和第三预设时长可根据需要自定义设置,例如,第二预设时长可设置为1分钟,第三预设时长可设置为5分钟。在此种情况下,回放单元110可以在从某一预先设定的回放起始时间点开始回放时或者回放过程中跳转至跳转指令指定的回放起始时间点时,从数据库中预先加载从该回放起始时间点起1分钟的网络数据包,并在该1分钟的网络数据包加载完成后,通过显示控件140开始显示该1分钟内加载的网络数据包,并在显示控件140显示该网络数据包的过程中,回放单元110在后台继续加载剩余4分钟的网络数据包,直到从该回放起始时间点起5分钟的网络数据包均加载完成。

    另外,上述第一回放起始时间点可以是预先设定的回放起始时间点,也可以是在网络数据包的回放过程中接收到的跳转指令指定的回放起始时间点。同样地,上述第二回放起始时间点可以是预先设定的回放起始时间点,也可以是在网络数据包的回放过程中接收到的跳转指令指定的回放起始时间点。

    示例地,回放单元110在接收到开始回放指令时,从预先设定的回放起始时间点起,可将该回放起始时间点作为第一回放起始时间点,按照上述第一种实现方式从数据库加载网络数据包、通过显示控件140显示加载的网络数据包以及通过转发单元120将已加载的网络数据包转发至转发地址对应的子系统;也可将该预先设定的回放起始时间点作为第二回放起始时间点,按照上述第二种实现方式从数据库加载网络数据包、通过显示控件140显示加载的网络数据包以及通过转发单元120将已加载的网络数据包转发至转发地址对应的子系统。

    回放单元110在回放网络数据包的过程中若接收到跳转指令,则跳转至该跳转指令指定的回放起始时间点,将该回放起始时间点作为第一回放起始时间点,按照上述第一种实现方式从数据库加载网络数据包、通过显示控件140显示已加载的网络数据包以及通过转发单元120将已加载的网络数据包转发至转发地址对应的子系统;也可将该跳转指令指定的回放起始时间点作为第二回放起始时间点,按照上述第二种实现方式从数据库加载网络数据包、通过显示控件140显示已加载的网络数据包以及通过转发单元120将已加载的网络数据包转发至转发地址对应的子系统。

    在本公开的另一示例性实施例中,如图1所示,上述网络数据调试装置还可以包括抓包处理服务单元150。该抓包处理服务单元150可用于通过预置的抓包引擎,从上述至少两个子系统(如上述轨道交通系统中的信号系统的网络接口)抓取网络数据包,并将抓取到的网络数据包写入数据库中。示例地,抓包引擎可以为pcap抓包引擎(即一种由捕获网络流量的应用程序编程接口组成的抓包引擎)。

    具体地,抓包处理服务单元150可从pcap抓包引擎抓取到的网络数据包中提取出时间戳、源地址、源端口、目的地址以及目的端口等信息。进一步地,抓包处理服务单元150可根据预先设置的过滤条件(比如待过滤的源地址及目的地址等),对pcap抓包引擎抓取到的网络数据包进行过滤。进一步地,抓包处理服务单元150还可对抓取到的网络数据包拆分成多个ip帧。

    进一步地,数据库包括第一文件表和第二文件表,其中,第一文件表用于存储抓取到的网络数据包,第二文件表用于存储抓取到的每一网络数据包的起始抓取时间点和停止抓取时间点等。相应地,抓包处理服务单元150还可用于将抓取到的网络数据包写入该第一文件表中,并在抓取网络数据包的过程中,记录抓取到的每一网络数据包的起始抓取时间点和停止抓取时间点,并将记录的起始抓取时间点和停止抓取时间点写入该第二文件表中。

    进一步地,抓包处理服务单元150还可用于将抓取到的网络数据包发送至界面数据刷新单元130。界面数据刷新单元130还可用于根据抓包处理服务单元150发送的网络数据包转发至显示控件140。显示控件140还用于显示抓包处理服务单元150抓取到的网络数据包。在该实施例所述的网络数据调试装置中,通过界面数据刷新单元实时将抓包处理服务单元抓取到的网络数据转发至显示控件进行显示,可以进一步方便用户分析问题。

    值得说明的是,以上述轨道交通系统的故障监测这一实施场景为例,在一种可选的实现方式中,上述网络数据调试装置还可应用于部署于现场(比如轨道交通系统的部署地)的终端设备中。示例地,如图2b所示,用户可通过终端设备向网络数据调试装置输入启动指令,网络数据调试装置启动,向用户展示主界面。接着,用户可从主界面展示的多个网络接口列表中选取信号子系统的相应网络接口,网络数据调试装置响应于用户输入的选择指令,跳转至抓包界面。进一步地,用户根据需要再抓包界面中配置源地址、源端口、目的地址、目的端口等并在配置完成后输入抓包指令,此时,网络数据调试装置启动抓包引擎开始抓取网络数据包,并将抓取到的网络数据包(比如包括时间戳、源地址、源端口、目的地址、目的端口、应用数据等)存储到数据库的第一文件表中,并在抓取过程中记录开始抓取时间点和停止抓取时间点,且将记录的各时间点存储到数据库的第二文件表中。进一步地,网络数据调试装置通过界面数据刷新单元将抓取到的数据包发送至显示控件进行显示。进一步地,用户可根据需要向终端设备输入停止抓包指令,网络数据调试装置则响应于接收到该停止抓包指令,停止抓取网络数据包。

    这样,通过上述网络数据调试装置可以从部署于现场的轨道交通系统中信号子系统的网络接口抓取网络数据包,并对抓取到的网络数据包进行展示,以便位于现场的工作人员根据需要查看网络数据包以分析信号子系统与监测子系统之间的通信信息。

    在另一种可选的实现方式中,可分别在部署于现场的终端设备和本地的终端设备中内置上述网络数据调试装置。部署于现场的终端设备通过内置的上述网络数据调试装置可对信号子系统的网络接口进行抓包,将抓取到的网络数据包发送至部署于本地的终端设备。部署于本地的终端设备则通过内置的上述网络数据调试装置接收该抓取到的网络数据包,并响应于接收到回放指令,根据回放指令对网络数据包进行回放,并在回放过程中将回放的网络数据包发送至同样部署于本地的模拟监测子系统。这样,就能在本地还原现场信号子系统与监测子系统之间的通信状况,本地工作人员无需前往现场,通过观察监测子系统的运行状态就能分析和确认存在的通信故障。

    基于同一发明构思,本公开还提供一种网络数据调试方法,其中,该网络数据调试方法应用于终端设备,该终端设备中预置有数据库,该数据库中存储有至少两个子系统之间通信的网络数据包。

    示例地,该预置的数据库可以是sqlite数据库,而不局限于此。

    如图3所示,图3是根据本公开一示例性实施例示出的一种网络数据调试方法的流程图,该网络数据调试方法包括以下步骤:

    s301、从预置的数据库中加载待回放的网络数据包。

    其中,可根据预先设置的回放参数从数据库中加载待回放的网络数据包。回放参数可以例如包括但不限于以下参数中的至少一者:起始时间点、停止时间点、回放速率(如快进、快退)、回放模式(如单步回放)等等。

    示例地,若预先配置的回放参数包括起始时间点,则可将所有时间戳位于该起始时间点之后的网络数据包作为待回放的网络数据包;若预先配置的回放参数包括起始时间点和停止时间点,则可将所有时间戳位于该起始时间点和停止时间点之间的网络数据包作为待回放的网络数据包。

    s302、对待回放的网络数据包进行回放。

    s303、在回放的网络数据包的回放过程中,根据预先配置的转发地址,将待回放的网络数据包转发至该转发地址对应的子系统。

    采用上述网络数据调试方法,可以实现对真实记录的至少两个子系统之间通信的网络数据包的回放,并且在网络数据包的回放过程中将回放的网络数据包转发给预先配置的转发地址对应的子系统,可以在该子系统上实现对至少两个子系统之间通信状况的还原,方便监测人员分析和确认至少两个子系统之间的通信的故障,快速找到故障根源。

    为了使本领域技术人员更加理解本公开提供的网络数据调试方法,下面对上述网络数据调试方法中的各步骤进行详细说明。

    在第一种可选的实现方式中,针对上述步骤s301和s302,可从第一回放起始时间点起,从数据库加载网络数据包,直到待回放的网络数据包均加载完成。在每达到第一预设时长后,对该第一预设时长内的网络数据包进行显示。相应地,针对上述步骤s303,在每达到第一预设时长后对已加载的网络数据包进行显示的过程中,将该第一预设时长内加载的网络数据包转发至转发地址对应的子系统。

    示例地,可从第一回放起始时间点起,启动一第一预设时长的定时器,在该定时器的运行期间,从数据库加载网络数据包,在定时器超时后,将在该定时器运行期间加载的数据包发送至转发地址对应的子系统,并且重复执行上述启动一第一预设时长的定时器至在定时器超时后,将在该定时器运行期间加载的数据包发送至转发地址对应的子系统的步骤,直到待回放的网络数据包均加载完成。

    值得说明的是,第一预设时长可以根据需要自定义设置,进一步地,第一预设时长可以设置为接近于0的时长,例如100ms。这样,使得加载、回放以及转发网络数据包的时间间隔很小,可以保证实时、连续地还原的至少两个子系统之间的通信状态。

    进一步地,在该实现方式中,还可以在每达到第一预设时长后,在显示界面显示该第一预设时长内的网络数据包。

    这样,在每达到第一预设时长后在显示界面显示该第一预设时长内的网络数据包,可以实现对已加载的网络数据包实时、连续地显示,使得用户实时获知网络数据包的加载和回放进度,进一步方便用户控制对网络数据包的回放过程以及监测至少两个子系统之间的通信故障。

    在第二种可能的实现方式中,为了保证网络数据包的回放与加载能够达到平衡,以提升回放时的用户体验,针对上述步骤s301和s302,可针对待回放的网络数据包进行动态预加载和回放。具体地,判断第二回放起始时间点对应的网络数据包是否已加载完成,若该第二回放起始时间点对应的网络数据包已加载完成,则在显示界面显示已加载完成的网络数据包;若该第二回放起始时间点对应的网络数据包未加载完成,则从数据库中加载从该第二回放起始时间点起的第二预设时长内的网络数据包,并在该第二预设时长内的网络数据包加载完成后,在显示界面显示该第二预设时长内的网络数据包;在显示界面显示第二预设时长内的网络数据包的过程中,继续从数据库加载网络数据包,直到从该第二回放起始时间点起的第三预设时长内的网络数据包均加载完成。其中,第三预设时长大于第二预设时长。

    相应地,针对上述步骤s303,还可在显示界面显示网络数据包的过程中将已加载的网络数据包同时发送送转发地址对应的子系统。

    这样,在加载完第二预设时长的网络数据包后在显示界面显示该第二预设时长内的网络数据包,可以使用户及时获知网络数据包的加载和回放进度,进一步方便用户控制对网络数据包的回放过程以及监测至少两个子系统之间的通信故障。并且,在对网络数据包进行显示的过程中,同时在后台继续加载网络数据包,可以保证网络数据包的显示和加载达到动态平衡,提升网络数据包显示过程中的用户体验。

    值得说明的是,第二预设时长和第三预设时长可根据需要自定义设置,例如,第二预设时长可设置为1分钟,第三预设时长可设置为5分钟。在此种情况下,可以在从某一预先设定的回放起始时间点开始回放时或者回放过程中跳转至跳转指令指定的回放起始时间点时,从数据库中预先加载从该回放起始时间点起1分钟的网络数据包,并在该1分钟的网络数据包加载完成后,在显示界面显示该1分钟内加载的网络数据包,并在显示界面显示该网络数据包的过程中,在后台继续加载剩余4分钟的网络数据包,直到从该回放起始时间点起5分钟的网络数据包均加载完成。

    另外,上述第一回放起始时间点可以是预先设定的回放起始时间点,也可以是在网络数据包的回放过程中接收到的跳转指令指定的回放起始时间点。同样地,上述第二回放起始时间点可以是预先设定的回放起始时间点,也可以是在网络数据包的回放过程中接收到的跳转指令指定的回放起始时间点。

    示例地,终端设备在接收到开始回放指令时,从预先设定的回放起始时间点起,可将该回放起始时间点作为第一回放起始时间点,按照上述第一种实现方式从数据库加载网络数据包、在显示界面显示加载的网络数据包以及将已加载的网络数据包转发至转发地址对应的子系统;也可将该预先设定的回放起始时间点作为第二回放起始时间点,按照上述第二种实现方式从数据库加载网络数据包、在显示界面显示加载的网络数据包以及将已加载的网络数据包转发至转发地址对应的子系统。

    终端设备在回放网络数据包的过程中若接收到跳转指令,则跳转至该跳转指令指定的回放起始时间点,将该回放起始时间点作为第一回放起始时间点,按照上述第一种实现方式从数据库加载网络数据包、在显示界面显示已加载的网络数据包以及将已加载的网络数据包转发至转发地址对应的子系统;也可将该跳转指令指定的回放起始时间点作为第二回放起始时间点,按照上述第二种实现方式从数据库加载网络数据包、在显示界面显示已加载的网络数据包以及将已加载的网络数据包转发至转发地址对应的子系统。

    还值得说明的是,上述网络数据调试方法可应用于不同的实施场景中,例如可应用于轨道交通系统的故障监测。具体地,上述终端设备中的数据库可用于存储轨道交通系统中的监测子系统与信号子系统之间通信的网络数据包。相应地,转发地址对应的子系统可以是根据监测子系统的网络接口信息搭建的一套模拟系统,网络接口信息例如包括网络接口的ip地址和端口信息,该系统可以模拟监测子系统的运行状态。

    其中,监测子系统可以包括但不限于综合监控系统,信号子系统可以包括但不限于联锁系统、列车自动防护系统、列车自动运行系统等等。轨道交通系统中的信号子系统与监测子系统之间可以通过udp(userdatagramprotocol,用户数据报协议)协议进行通信,相应地,抓取到的信号子系统向监测子系统发送的网络数据包可以为udp网络数据包,网络数据包可以例如包括但不限于:源地址、源端口、目的地址、目的端口、udp用户数据字节流字段、时间戳等等,其中,时间戳用于表征网络数据包的抓取时间信息。

    通过在上述轨道交通系统的故障监控场景中使用上述网络数据调试方法,可以实现对真实记录的轨道交通系统中的信号子系统向监测子系统发送的网络数据包的回放,并且在网络数据包的回放过程中将回放的网络数据包转发给模拟监测子系统,可以实现对信号子系统与监测子系统之间的通信状态的还原,方便监测人员分析和确认信号子系统与监测子系统之间存在的通信故障,快速找到故障根源。

    基于同一发明构思,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的网络数据调试方法的步骤。

    基于同一发明构思,本公开还提供一种终端设备,所述电子设备中预置有数据库,所述数据库中存储有至少两个子系统之间通信的网络数据包,所述终端设备包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一实施例所述的网络数据调试方法的步骤。

    以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

    另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

    此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。


    技术特征:

    1.一种网络数据调试装置,其特征在于,包括数据库、回放单元和转发单元;

    所述数据库,用于存储至少两个子系统之间通信的网络数据包;

    所述回放单元,用于从所述数据库中加载待回放的网络数据包进行回放,以及在回放过程中,将所述待回放的网络数据包发送至所述转发单元;

    所述转发单元,用于根据预先配置的转发地址,将所述待回放的网络数据包转发至所述转发地址对应的子系统。

    2.根据权利要求1所述的装置,其特征在于,所述转发地址对应的子系统为所述至少两个子系统中的任一子系统的模拟仿真系统。

    3.根据权利要求1所述的装置,其特征在于,所述回放单元还用于:

    从第一回放起始时间点起,从所述数据库加载网络数据包;

    在达到第一预设时长后,将在所述第一预设时长内加载的网络数据包发送至所述转发单元,并且,

    重复执行所述从所述数据库加载网络数据包至所述将在所述第一预设时长内加载的网络数据包发送至所述转发单元的步骤,直到所述待回放的网络数据包均加载完成。

    4.根据权利要求1所述的装置,其特征在于,所述装置还包括显示控件和界面数据刷新单元;

    所述回放单元从所述数据库中加载待回放的网络数据包进行回放的过程包括:

    判断第二回放起始时间点对应的网络数据包是否已加载完成;

    若所述第二回放起始时间点对应的网络数据包未加载完成,则从所述数据库中加载从所述第二回放起始时间点起的第二预设时长内的网络数据包;

    在所述第二预设时长内的网络数据包加载完成后,将所述第二预设时长内的网络数据包发送至所述界面数据刷新单元,以触发所述界面数据刷新单元将所述第二预设时长内的网络数据包发送至所述显示控件,以使所述显示控件显示所述第二预设时长内的网络数据包;

    在所述显示控件对所述第二预设时长内的网络数据包进行显示的过程中,继续从所述数据库加载网络数据包,直到从所述第二回放起始时间点起的第三预设时长内的网络数据包均加载完成,其中,所述第三预设时长大于所述第二预设时长;

    界面数据刷新单元,用于接收所述回放单元发送的网络数据包并将接收到的网络数据包发送至所述显示控件;

    显示控件,用于显示所述界面数据刷新单元发送的网络数据包。

    5.根据权利要求4所述的装置,其特征在于,所述装置还包括:

    抓包处理服务单元,用于通过预置的抓包引擎,从所述至少两个子系统的网络接口抓取网络数据包,并将抓取到的网络数据包写入所述数据库中。

    6.根据权利要求5所述的装置,其特征在于,所述数据库包括第一文件表和第二文件表;

    所述抓包处理服务单元,还用于将抓取到的网络数据包写入所述第一文件表中,以及在抓取网络数据包的过程中,记录起始抓取时间点和停止抓取时间点,并将起始抓取时间点和停止抓取时间点写入所述第二文件表中。

    7.根据权利要求5或6所述的装置,其特征在于,

    所述抓包处理服务单元,还用于将抓取到的网络数据包发送至所述界面数据刷新单元;

    所述界面数据刷新单元,用于将所述抓包处理服务单元发送的网络数据包转发至所述显示控件;

    所述显示控件,用于显示所述抓包处理服务单元抓取到的网络数据包。

    8.一种网络数据调试方法,其特征在于,应用于终端设备,所述终端设备中预置有数据库,所述数据库中存储有至少两个子系统之间通信的网络数据包,所述方法包括:

    从所述数据库中加载待回放的网络数据包,并对所述待回放的网络数据包进行回放;

    在回放过程中,根据预先配置的转发地址,将所述待回放的网络数据包转发至所述转发地址对应的子系统。

    9.根据权利要求8所述的方法,其特征在于,所述转发地址对应的子系统为所述至少两个子系统中的任一子系统的模拟仿真系统。

    10.根据权利要求8所述的方法,其特征在于,所述从所述数据库中加载待回放的网络数据包包括:

    从第一回放起始时间点起,从所述数据库加载网络数据包,直到所述待回放的网络数据包均加载完成:

    所述将所述待回放的网络数据包转发至所述模拟监测子系统,包括:

    在每达到所述第一预设时长后,将在该第一预设时长内加载的网络数据包转发至所述转发地址对应的子系统。

    11.根据权利要求8所述的方法,其特征在于,所述从所述数据库中加载待回放的网络数据包,并对所述待回放的网络数据包进行回放,包括:

    判断第二回放起始时间点对应的网络数据包是否已加载完成;

    若所述第二回放起始时间点对应的网络数据包未加载完成,则从所述数据库中加载从所述第二回放起始时间点起的第二预设时长内的网络数据包;

    在所述第二预设时长内的网络数据包加载完成后,显示所述第二预设时长内的网络数据包;

    在对所述第二预设时长内的网络数据包进行显示的过程中,继续从所述数据库加载网络数据包,直到从所述第二回放起始时间点起的第三预设时长内的网络数据包均加载完成,其中,所述第三预设时长大于所述第二预设时长。

    12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求8-11中任一项所述方法的步骤。

    技术总结
    本公开涉及一种网络数据调试方法和装置,存储介质,以实现对至少两个子系统之间的通信状况的还原。所述网络数据调试装置包括数据库、回放单元和转发单元;所述数据库,用于存储至少两个子系统之间通信的网络数据包;所述回放单元,用于从所述数据库中加载待回放的网络数据包,并对所述待回放的网络数据包进行回放,以及在回放过程中,将所述待回放的网络数据包发送至所述转发单元;所述转发单元,用于根据预先配置的转发地址,将所述待回放的网络数据包转发至所述转发地址对应的子系统。

    技术研发人员:林仁华;惠冰
    受保护的技术使用者:比亚迪股份有限公司
    技术研发日:2019.09.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8783.html

    最新回复(0)