掌桥专利:专业的专利平台
掌桥专利
首页

一种报文传输时延检测方法、存储介质及设备

文献发布时间:2023-06-19 16:04:54



技术领域

本说明书涉及计算机技术领域,尤其涉及一种报文传输时延检测方法、存储介质及设备。

背景技术

虚拟化场景下,一个报文需要经过前端宿主机的传递才能送到后端的虚拟机,在前后端数据传递过程中有时候存在时延问题,造成网络抖动。相关技术中,一般是同时在宿主机和虚拟机中部署tcpdump(一种网络数据采集分析工具),利用tcpdump同时抓包,再根据报文的时间戳信息判断前后端数据传递过程中是否有时延。然而,这一方案操作繁杂,部署成本高,而且分析数据耗时。

发明内容

根据本说明书实施例的第一方面,提供一种报文传输时延检测方法,应用于虚拟机,所述虚拟机和宿主机通过Vring进行通信,所述方法包括:检测所述Vring中的已用描述符区域的头指针和尾指针;所述已用描述符区域的头指针指示所述宿主机接收到的报文数量,尾指针指示所述虚拟机处理完成的报文数量;基于所述头指针和尾指针以及可用描述符区域的控制信息确定报文处理状态;基于预设时间段内的报文处理状态和所述预设时间段内已用描述符区域的尾指针的更新信息,确定是否出现报文传输时延。

在一些实施例中,上述基于所述头指针和尾指针以及可用描述符区域的控制信息确定报文处理状态包括:若头指针和尾指针不相同,且所述Vring中的可用描述符区域的控制信息未指示停止发送中断,确定报文处理状态异常。

在一些实施例中,上述基于预设时间段内的报文处理状态和所述时间段内已用描述符区域的尾指针的更新信息,确定是否出现报文传输时延包括:若预设时间段内的报文处理状态均为异常,且在所述预设时间段内已用描述符区域的尾指针没有更新过,则确定出现报文传输时延。

在一些实施例中,上述检测所述Vring中的已用描述符区域的头指针和尾指针包括:以一定的时间周期轮询所述Vring中的已用描述符区域的头指针和尾指针;所述预设时间段对应的时长基于N次轮询的时间周期对应的总时长设置,其中,N是大于或等于1的整数。

在一些实施例中,上述方法还包括:在确定报文处理状态异常时,将本次轮询的时间周期累加到报文传输时延的延迟时长;若所述延迟时长大于或等于所述预设时间段对应的时长,确定预设时间段内的报文处理状态均为异常。

在一些实施例中,上述方法还包括:上述任一次轮询中,在确定报文处理状态正常时,将所述延迟时长清零。

在一些实施例中,在确定报文处理状态之后,所述方法还包括:若确定报文处理状态正常,利用当前时间更新预设的标记时间,所述标记时间用于记录确定报文处理状态正常的最新时间;若确定报文处理状态异常,判断当前时间与所述预设的标记时间之间的时差是否大于或等于所述预设时间段对应的时长,是则确定预设时间段内的报文处理状态均为异常。

在一些实施例中,上述方法还包括:若确定出现报文传输时延,将所述Vring中存储的信息以及所述虚拟机的系统时间信息记录到指定存储位置。

根据本说明书实施例的第二方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现说明书实施例中任一项方法。

根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现说明书实施例中任一项方法。

本说明书的实施例提供的技术方案可以包括以下有益效果:

本说明书实施例中,公开了一种报文传输时延检测方法、存储介质及设备,该方法中,在虚拟机中检测Vring,基于已用描述符区域的头指针和尾指针确定是否有新的报文到达宿主机,结合可用描述符区域的控制信息确定虚拟机是否有开始处理收包,以此确定报文处理状态,进而基于预设时间段内的报文处理状态和该预设时间段内已用描述符的尾指针的更新信息,确定是否出现报文传输时延。通过这一方案,可以便捷地检测出报文传输时延,无需在宿主机中部署工具,减少了工具部署成本以及对宿主机的资源消耗,更加安全高效。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本说明书根据一示例性实施例示出的一种报文传输时延检测方法的流程图;

图2是本说明书根据一示例性实施例示出的一种前后端通信交互场景的示意图;

图3是本说明书根据一示例性实施例示出的虚拟机检测报文传输时延的流程的示意图;

图4是本说明书根据一示例性实施例示出的一种报文传输时延检测装置的框图;

图5是本说明书根据一示例性实施例示出的一种更为具体的计算设备硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

虚拟化技术,也称虚拟技术,是一种将主机的各种实体资源,如CPU(CentralProcessing Unit,中央处理器)、内存、磁盘空间、网络适配器等进行抽象化展示的资源管理技术。借助虚拟化技术,一台物理机上可以部署多个虚拟机(Virtual Machine,VM),各个虚拟机之间相互隔离,并能同时运行且相互独立。安装有虚拟机的物理机也称为宿主机,相应地,虚拟机也可称为客户机。

在虚拟化场景中,报文数据通常需要经过宿主机的传递才能送到虚拟机进行处理,这一传递过程中有时候存在时延问题,造成网络抖动。相关技术中,一般是同时在宿主机和虚拟机中部署tcpdump(一种网络数据采集分析工具),利用tcpdump同时抓包,再根据报文的时间戳信息判断报文在这一传递过程中是否有时延。然而,这一方案操作繁杂,部署成本高,而且分析数据耗时。

基于此,本说明书实施例提供一种报文传输时延检测方案,以解决上述问题。接下来对本说明书实施例进行详细说明。

如图1所示,图1是本说明书根据一示例性实施例示出的一种报文传输时延检测方法的流程图,所述方法应用于虚拟机,所述虚拟机和宿主机通过Vring进行通信。

虚拟机是通过软件模拟的具有一定的硬件系统功能的、运行在一个相对隔离环境中的完整计算机系统。在创建虚拟机时,将宿主机的硬件资源作为虚拟机的虚拟资源,这里的虚拟资源可以包括计算资源、存储资源等。本实施例中,虚拟机所在的宿主机是有实体的硬件系统,该硬件系统可以是个人计算机、服务器、智能平板等等。也就是说,本实施例的方案可以应用于各种计算机设备上。

Virtio是一种通用的I/O虚拟化框架,其核心机制是通过共享内存,在前端宿主机和后端虚拟机之间进行数据传输,Vring就是该共享内存。Vring引入ring buffers(环形缓冲区),用于保存前端和后端执行的信息。Vring主要包括三个部分,分别是描述符表(Descriptor Table)、已用描述符区域(Used Ring)和可用描述符区域(Available Ring)。其中,该描述符表用于存储关联的描述符,每个描述符是一个对buffer的描述,主要包括address(buffer的物理地址)和length(buffer的长度)等信息;该已用描述符区域用于通知虚拟机已用的描述符;该可用描述符区域用于通知宿主机有新的可用的描述符。这三个部分的本质都是数组。

正常运行时,前后端数据交互的机制可以包括:当有报文数据到达宿主机时,宿主机将报文数据存到Vring中,并对used_idx(已用描述符区域的头指针)加1更新,同时发送一个中断给虚拟机,以通知虚拟机开始收包;虚拟机收到中断,开始处理收包时通过avail_flags_shadow(可用描述符区域的控制信息)通知宿主机停止发送中断,当报文处理后对last_used_idx(已用描述符区域的尾指针)加1更新,直到used_idx等于last_used_idx,结束本次收包流程,最后将avail_flags_shadow复原。

本说明书实施例就是结合上述的交互机制,提供一种检测报文传输时延的方案,该方案适用于借助Vring进行前后端通信的场景,包括采用Virtio_net这一技术部署虚拟机的场景、采用Virtio_blk这一技术部署虚拟机的场景等等。

所述方法包括:

步骤101、检测所述Vring中的已用描述符区域的头指针和尾指针;所述已用描述符区域的头指针指示所述宿主机接收到的报文数量,尾指针指示所述虚拟机处理完成的报文数量;

Vring前后端通信过程中,宿主机将一个报文存入Vring时,对已用描述符区域的头指针进行加1更新的处理,因此,可利用已用描述符区域的头指针来确定宿主机接收到的报文数量;相应地,虚拟机处理完一个报文时,对已用描述符区域的尾指针进行加1更新的处理,因此,可利用已用描述符区域的尾指针来确定虚拟机处理完成的报文数量。而本步骤中,通过检测头指针和尾指针,可以确定是否存在有新的报文到达宿主机,且该新的报文还未被虚拟机处理完成的情况。例如,在一次检测中,若已用描述符区域的头指针指示的报文数量为5,尾指针指示的报文数量也为5,由于宿主机接收到的报文数量和虚拟机处理完成的报文数量一致,说明宿主机接收到的报文数据已全部被虚拟机处理完成了;而在下一次检测中,若已用描述符区域的头指针指示的报文数量为7,尾指针指示的报文数量为6,由于宿主机接收到的报文数量和虚拟机处理完成的报文数量不一致,说明在两次检测过程中,宿主机接收到了两个新的报文,但其中一个还未被虚拟机处理完成。

在一些例子中,本步骤中的检测可以是以一定的时间周期进行的检测,即轮询。具体地,可以在虚拟机中建立一个定时器,由该定时器按照预设的时间周期来触发对Vring的检测。该预设的时间周期可以设为2秒,即虚拟机每隔2秒就执行一次对Vring的检测。当然,在实际应用中,2秒只是一个举例,该预设的时间周期可以根据实际的经验总结和业务上不同的需要做调整。

步骤102、基于所述头指针和尾指针以及可用描述符区域的控制信息确定报文处理状态;

本步骤中提到的报文处理状态可以是指报文从宿主机到虚拟机的传递过程状态。在一些例子中,本步骤可以包括:若头指针和尾指针不相同,且所述Vring中的可用描述符区域的控制信息未指示停止发送中断,确定报文处理状态异常。可用描述符区域的控制信息指示停止发送中断,可以是指将Vring中的avail_flags_shadow设置为VRING_AVAIL_F_NO_INTERRUPT,该控制信息可以认为是一个开关,当该控制信息未指示停止发送中断时,宿主机每将一个报文存入Vring,会向虚拟机发送一个中断,以通知虚拟机去收包,而当该控制信息指示停止发送中断时,表示虚拟机不想接收通知,在此期间,宿主机往Vring中存入报文时不会再向虚拟机发送中断。当报文处理状态正常时,若Vring中存在还未被虚拟机处理完成的报文,虚拟机应处于正在处理报文的过程,则可用描述符区域的控制信息应指示停止发送中断,因此,当头指针和尾指针不相同,且所述Vring中的可用描述符区域的控制信息未指示停止发送中断的时候,说明有报文到了宿主机,但是虚拟机没有收到宿主机的中断通知去收包,这种情况下可以确定报文从宿主机到虚拟机的传递过程中出现了异常,即报文处理状态异常。

另外,相应地,若头指针和尾指针不相同,且所述Vring中的可用描述符区域的控制信息指示停止发送中断,说明有报文到达了宿主机,而虚拟机已经根据宿主机所发送的中断开始收包处理了,这种情况下可以确定报文处理状态正常;以及,若已用描述符区域的头指针和尾指针相同,说明宿主机接收到的报文数据已全部被虚拟机处理完成了,这种情况下也可以确定报文处理状态正常。需要说明的是,虚拟机检测Vring中的可用描述符区域的控制信息是否指示停止发送中断的时机,可以是在每次轮询过程中在检测已用描述符区域的头指针和尾指针的同时进行的,也可以是在检测到已用描述符区域的头指针和尾指针不相同的情况下再进行的,本实施例对此不作限制。

步骤103、基于预设时间段内的报文处理状态和所述预设时间段内已用描述符区域的尾指针的更新信息,确定是否出现报文传输时延。

本实施例中所涉及的报文传输时延的概念可以是指虚拟机对宿主机接收到的报文的开始处理出现了延迟,其可以表现为各报文从宿主机传递到虚拟机这一过程的时间均超过容忍时长,以容忍时长为3秒为例,在某一时刻有两个报文到达了宿主机,这两个报文分别为报文A和报文B,假设虚拟机在该时刻的2秒后开始对存于Vring中的报文A进行处理,在该时刻的4秒后后开始对报文B进行处理,则由于报文A从宿主机传递到虚拟机的过程的时间为2秒,小于3秒的容忍时长,因此可以认为并未出现报文传输时延;反之,假设虚拟机在该时刻的3秒后仍未开始对这两个报文中的任意一个进行处理,可以认为出现报文传输时延。本步骤中提到的预设时间段可以根据该容忍时长来设置,虚拟机在预设时间段内至少进行了一次对Vring的检测。

当预设时间段内的报文处理状态均为异常状态时,可能是虚拟机在预设时间段内一直没有收到宿主机的中断通知去收包,但也有可能是虚拟机在预设时间段内已经处理了报文而宿主机在虚拟机处理完成报文后又接收到了新的报文。这两个可能情况中,前者可以确定出现报文传输时延,而后者可以确定未出现报文传输时延。因此,本实施例方案还结合预设时间段内已用描述符区域的尾指针的更新信息,确定虚拟机在预设时间段内是否有处理完成报文,从而确定是否出现报文传输时延。

具体地,在一些例子中,本步骤可以包括:若预设时间段内的报文处理状态均为异常,且在所述预设时间段内已用描述符区域的尾指针没有更新过,则确定出现报文传输时延。例如,虚拟机在预设时间段内执行了两次检测,第一次检测时,已用描述符的头指针指示的报文数量是6,已用描述符的尾指针指示的报文数量是4,可用描述符的控制信息未指示停止发送中断,因此确定报文处理状态异常;第二次检测时,已用描述符的头指针指示的报文数量是7,已用描述符的尾指针指示的报文数量是4,可用描述符的控制信息未指示停止发送中断,因此确定报文处理状态异常。这两次检测中,由于已用描述符的尾指针没有更新过,说明虚拟机在预设时间段内一直没有开始收包处理,这种情况下可以判断得到,第一次检测时出现的两个新报文从宿主机传递到虚拟机这一过程的时间均超过了预设时间段对应的时长,因此可以确定出现报文传输时延。反之,若预设时间段内的报文处理状态均为异常,但在该预设时间段内已用描述符区域的尾指针更新过,说明虚拟机在预设时间段内有进行收包处理,这种情况下可以判断得到,第一次检测时出现的两个新报文从宿主机传递到虚拟机这一过程的时间并未均超过了预设时间段对应的时长,因此可以确定并未出现报文传输时延。

本实施例的方案,在虚拟机中检测Vring,基于已用描述符区域的头指针和尾指针确定是否有新的报文到达宿主机,结合可用描述符区域的控制信息确定虚拟机是否有开始处理收包,以此确定报文处理状态,进而基于预设时间段内的报文处理状态和该预设时间段内已用描述符的尾指针的更新信息,确定是否出现报文传输时延。通过这一方案,可以便捷地检测出报文传输时延,无需在宿主机中部署工具,减少了工具部署成本以及对宿主机的资源消耗,更加安全高效。

在一个可选的实施例中,当虚拟机是以一定的时间周期轮询Vring时,前面提到的预设时间段对应的时长可以基于N次轮询的时间周期对应的总时长设置,其中,N是大于或等于1的整数。N的值可以为1,也就是说,虚拟机在执行一次轮询后,可以根据本次轮询的结果,以及已用描述符区域的尾指针相较于上次轮询的更新信息,直接确定是否出现报文传输时延;N的值也可以是大于1的整数,例如,定时器所设置的时间周期是1秒,若N为3,则预设时间段对应的时长可以为3秒,即虚拟机在预设时间段内可以对Vring进行3次轮询,若这3次轮询中,报文处理状态均为异常,已用描述符区域的尾指针也一直没有更新过,则可以确定出现报文传输时延。另外,N的值可以根据具体场景的需求进行设置,本说明书对此不作限制。

进一步地,针对预设时间段内的报文处理状态的统计,本说明书还提供以下两种方案:

第一种方案是在确定报文处理状态异常时,将本次轮询的时间周期累加到报文传输时延的延迟时长;若所述延迟时长大于或等于所述预设时间段对应的时长,确定预设时间段内的报文处理状态均为异常。也就是说,可以在虚拟机中设置一个模块用于统计报文传输时延的延迟时长,该延迟时长的初始值为0,在确定报文处理状态异常时,将一次轮询的时间周期累加到该延迟时长,假设预设时间段对应的时长为3秒,是2次轮询的时间周期的总时长,若虚拟机在第一次轮询时确定报文处理状态正常,则延迟时长仍为0,在第二次轮询时确定报文处理状态异常,该模块将一次轮询的时间周期,即1.5秒累加到该延迟时长,则延迟时长为1.5秒,在第三次轮询时确定报文处理状态异常,该模块再次将一次轮询的时间周期累加到该延迟时长,则延迟时长为3秒,此时延迟时长等于该预设时间段对应的时长,因此可以确定预设时间段内的报文处理状态均为异常。另外需要说明的是,在任一次轮询中,在确定报文处理状态正常时,虚拟机可以将该延迟时长清零,这样可以避免对不连续的轮询结果进行合并,从而减少判断失误。

第二种方案是在确定报文处理状态之后,若确定报文处理状态正常,利用当前时间更新预设的标记时间;若确定报文处理状态异常,判断当前时间与所述预设的标记时间之间的时差是否大于或等于所述预设时间段对应的时长,是则确定预设时间段内的报文处理状态均为异常。相应地,这一方案是指可以在虚拟机中设置一个模块用于记录确定报文处理状态正常的最新时间,这样,当首次确定报文处理状态异常时,当前时间与该模块中记录的最新时间之间的时差为一次轮询的时间周期,当首次确定报文处理状态异常后的下一次轮询中确定报文处理状态正常时,该模块中记录的最新时间更新为当前时间,也就是说,当前时间与该模块中记录的最新时间之间的时差为0,如此,若当前时间与该模块中记录的最新时间之间的时差大于或等于预设时间段对应的时长,可以确定预设时间段内的报文处理状态均为异常。

当然,在其他实施例中,预设时间段内的报文处理状态也可以采用其他方式进行统计,本说明书对此不作限制。

还有,为了提高运维人员对报文传输时延的根因进行排查,在一些例子中,在确定出现报文传输时延时,虚拟机可以将Vring中存储的信息以及虚拟机的系统时间信息记录到指定存储位置。也就是说,虚拟机在确定出现报文传输时延时,可以打印Vring以及虚拟机的操作系统的时间信息,并存放到指定存储位置,以便于运维人员从该指定存储位置获取这些信息并根据这些信息分析导致出现报文传输时延的根因。

为了对本说明书的报文传输时延方案做更为详细的说明,接下来介绍一具体实施例:

如图2所示,图2是本实施例示出的一种前后端通信交互场景的示意图。本实施例的场景中,guest端的虚拟机21安装于host端的宿主机22上,宿主机22与虚拟机21之间通过Vring23进行数据传输,宿主机22负责收发报文,并将收到的报文存入Vring23中,虚拟机21从Vring23中获取报文进行对报文进行处理,另外,Vring23中的used_idx指示宿主机22接收到的报文数量,由宿主机22进行更新;Vring23中的last_used_idx指示虚拟机21处理完成的报文数量,由虚拟机21进行更新。

本实施例中,通过在虚拟机21中建立一个timer24来触发定时轮询Vring23,并执行如图3所示的流程,以实现对是否存在报文传输时延进行检测。其中,图3是本实施例示出的虚拟机检测报文传输时延的流程的示意图,该流程包括:

S301、在设定timer的周期及延迟时间阈值后,开始轮询检测;

S302、等待timer触发,timer每隔设定的周期会触发一次轮询检测;

S303、timer触发轮询检测,判断used_idx和last_used_idx是否不相同,且avail_flags_shadow是否不为VRING_AVAIL_F_NO_INTERRUPT,是则执行S304,否则执行S305;

S304、判断last_used_idx是否更新过,是则执行S305,否则执行S306;

S305、更新t1为当前时间,并返回到S302,等待timer触发下一次检测轮询;

S306、计算目标时长delta,delta的值为当前时间减去t1的差值;

S307、判断delta是否超过设定的延迟时间阈值,是则执行S308,否则返回到S302,等待timer触发下一次检测轮询;

S308、打印Vring信息及系统时间信息。

上述流程中,虚拟机定时轮询Vring中的used_idx和last_used_idx是否不相同,并且avail_flags_shadow是否不为VRING_AVAIL_F_NO_INTERRUPT,若轮询结果为是,说明有数据包到了宿主机,但是虚拟机没有收到宿主机的中断通知去收包,当轮询经过若干个周期后,如果上述条件还是满足并且guest端的last_used_idx也一直没有更新,那么可以将这段时间跟设定的延迟时间阈值进行比较,超过设定的延迟时间阈值就确定出现了报文传输时延,此时打印Vring信息及系统时间信息,以方便后续的运维处理。

通过本实施例的方案,至少可以获得以下效果:直接在虚拟机中检测出报文的前后端时延信息,无需在宿主机部署检测工具,减少了工具部署成本,而且对宿主机没有任何资源消耗,安全高效;同时,时延信息更加直观,无需再去解析报文的时间戳。

与前述方法的实施例相对应,本说明书还提供了报文传输时延检测装置及其所应用的终端的实施例。

如图4所示,图4是本说明书根据一示例性实施例示出的一种报文传输时延检测装置的框图,所述装置应用于虚拟机,所述虚拟机和宿主机通过Vring进行通信,所述装置包括:

报文检测模块41,用于检测所述Vring中的已用描述符区域的头指针和尾指针;所述已用描述符区域的头指针指示所述宿主机接收到的报文数量,尾指针指示所述虚拟机处理完成的报文数量;

状态确定模块42,用于基于所述头指针和尾指针以及可用描述符区域的控制信息确定报文处理状态;

时延确定模块43,用于基于预设时间段内的报文处理状态和所述预设时间段内已用描述符区域的尾指针的更新信息,确定是否出现报文传输时延。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。

图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器501、存储器502、输入/输出接口503、通信接口504和总线505。其中处理器501、存储器502、输入/输出接口503和通信接口504通过总线505实现彼此之间在设备内部的通信连接。

处理器501可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器501还可以包括显卡,所述显卡可以是Nvidia titan X显卡或者1080Ti显卡等。

存储器502可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器502可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器502中,并由处理器501来调用执行。

输入/输出接口503用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口504用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线505包括一通路,在设备的各个组件(例如处理器501、存储器502、输入/输出接口503和通信接口504)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器501、存储器502、输入/输出接口503、通信接口504以及总线505,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类别的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 一种报文传输时延检测方法、存储介质及设备
  • 一种信息传输时延上界计算方法、系统、设备和存储介质
技术分类

06120114691251