一种时间回溯的方法和装置与流程

文档序号:13643201阅读:2141来源:国知局
一种时间回溯的方法和装置与流程

本发明涉及通信技术领域,尤其涉及一种时间回溯的方法和装置。



背景技术:

在大型的网络中,如果依靠管理员手工配置来修改网络中的各设备的系统时间,不但工作量巨大,而且也不能保证时间的精确性。NTP(Network Time Protocol,网络时间协议)可以用于不同设备之间的时间同步,使得网络内的所有设备的时间能够保持一致,并提供较高的时间同步精度。

例如,设备A和设备B的时间不同,设备B作为时间服务器,需要通过NTP实现时间的自动同步,设备A和设备B的时间同步过程如下:设备A向设备B发送时间请求报文,该时间请求报文中携带了时间请求报文离开设备A时的时间戳T1。当时间请求报文到达设备B时,设备B确定时间请求报文到达设备B时的时间戳T2。设备B向设备A发送时间响应报文,该时间响应报文中携带了时间戳T1、时间戳T2和时间响应报文离开设备B时的时间戳T3。当时间响应报文到达设备A时,设备A确定时间响应报文到达设备A时的时间戳T4。至此,设备A可以根据上述时间戳,计算往返时延Delay=(T4–T1)–(T3–T2),并计算设备A相对于设备B的时间差Offset=((T2–T1)+(T3–T4))/2。基于此,设备A可以根据往返时延Delay和时间差Offset来设定设备A的时间,使之与设备B的时间同步。

如图1所示,为NTP网络的组网示意图,其通过时钟层数来定义时钟的准确度,时钟层数的取值范围为1-16,取值越小,时钟准确度越高,时钟层数为1-15的时钟处于同步状态,时钟层数为16的时钟处于未同步状态。

在实际的NTP网络中,通常将从权威时钟(如原子时钟)获得时间同步的设备的时钟层数设置为1,并将该设备作为主时间服务器(即一级时间服务器)。将从主时间服务器获得时间同步的设备的时钟层数设置为2,并将该设备作为二级时间服务器。将从二级时间服务器获得时间同步的设备的时钟层数设置为3,并将该设备作为三级时间服务器,依此类推。

目前,当本地设备的时间与主时间服务器的时间不一致时,无法获知本地设备与主时间服务器之间的哪个时钟层数的设备失步,无法快速定位失步。



技术实现要素:

本发明提供一种时间回溯的方法,所述方法包括以下步骤:

在时间同步阶段,本地设备向上级设备发送第一时间请求报文,并接收来自所述上级设备的第一时间响应报文;所述本地设备解析所述第一时间响应报文,并从所述第一时间响应报文中获取所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,其中,最高级别的设备为主时间服务器;所述本地设备在时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息;

在主时间服务器的回溯阶段,所述本地设备利用所述时钟信息表中记录的所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,进行时间回溯。

本发明提供一种时间回溯的装置,所述时间回溯的装置应用在本地设备上,且所述时间回溯的装置具体包括:

通信模块,用于在时间同步阶段,向上级设备发送第一时间请求报文,并接收来自所述上级设备的第一时间响应报文;

获取模块,用于解析所述第一时间响应报文,并从所述第一时间响应报文中获取所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,其中,最高级别的设备为主时间服务器;

记录模块,用于在时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息;

回溯模块,用于在主时间服务器的回溯阶段,利用所述时钟信息表中记录的所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,进行时间回溯。

基于上述技术方案,本发明实施例中,通过在时间响应报文中携带上级设备的时钟信息、该上级设备的所有更高级别的设备的时钟信息,使得本地设备可以在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、该上级设备的所有更高级别的设备的时钟信息,继而当需要回溯主时间服务器时(即主时间服务器的回溯阶段),本地设备可以直接利用时钟信息表中记录的本地设备的时钟信息、上级设备的时钟信息、该上级设备的所有更高级别的设备的时钟信息,进行时间回溯,时间回溯可以是定位处于失步状态的设备,因此,当本地设备的时间与主时间服务器的时间不一致时,可以获知本地设备与主时间服务器之间的哪个时钟层数的设备失步,可以快速定位失步的设备,提升回溯主时间服务器的效率,而且保证回溯结果能够真实反映网络时间的同步过程。

附图说明

图1是NTP网络的组网示意图;

图2是本发明一种实施方式中的应用场景示意图;

图3是本发明一种实施方式中的时间回溯的方法的流程图;

图4是本发明一种实施方式中的NTP版本4的时钟响应报文格式示意图;

图5是本发明一种实施方式中的扩展TLV的格式示意图;

图6是本发明一种实施方式中的时钟信息定义的扩展TLV的格式示意图;

图7是本发明一种实施方式中的在扩展TLV中添加了时钟信息的时间响应报文的格式示意图;

图8是本发明一种实施方式中的本地设备的硬件结构图;

图9是本发明一种实施方式中的时间回溯的装置的结构图。

具体实施方式

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

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

针对现有技术中存在的问题,本发明实施例中提出一种时间回溯的方法,该方法可以应用于包括多个设备(如路由器、交换机等网络设备)的NTP网络中,通过进行时间回溯,以定位处于失步状态的设备。

在NTP网络中,通常将从权威时钟(如原子时钟)获得时间同步的设备的时钟层数设置为1,并将该设备作为主时间服务器(即一级时间服务器)。将从主时间服务器获得时间同步的设备的时钟层数设置为2,并将该设备作为二级时间服务器。将从二级时间服务器获得时间同步的设备的时钟层数设置为3,并将该设备作为三级时间服务器,以此类推。其中,主时间服务器的IP地址是固定的IP地址形式127.127.t.u,t表示时间服务器类型,u表示同一类型下的不同单元,二者均为1字节的整数,例如,NTP网络中最常用的主时间服务器的IP地址(也被称做参考时钟标识)为127.127.1.0。

以图2为本发明实施例的应用场景示意图,设备1为主时间服务器(即一级时间服务器),设备2为二级时间服务器,设备3为三级时间服务器,设备4为四级时间服务器。在上述应用场景下,如图3所示,在时间同步阶段(用于同步时间),该时间回溯的方法具体可以包括以下步骤:

步骤301,本地设备向上级设备发送第一时间请求报文,并接收来自上级设备的第一时间响应报文。其中,上级设备是指本地设备的上一级设备,具体是指基于NTP协议与本地设备具有协议连接关系的上一级设备,可以是运行NTP协议的网络设备或服务器等,如本地设备为设备3时,则上级设备为设备2。

步骤302,本地设备解析第一时间响应报文,并从第一时间响应报文中获取上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息。

其中,最高级别的设备为主时间服务器,因此,本地设备从第一时间响应报文中获取上级设备的时钟信息、上级设备与主时间服务器之间的各级设备的时钟信息、以及主时间服务器的时钟信息,而上级设备与主时间服务器之间的各级设备的时钟信息以及主时间服务器的时钟信息,就是上级设备的所有更高级别的设备的时钟信息。

步骤303,本地设备在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息。

本发明实施例中,本地设备在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息之后,本地设备在接收到来自下级设备(下级设备是指本地设备的下一级设备)的第二时间请求报文时,还可以将时钟信息表中记录的本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息,添加到第二时间响应报文中,并将该第二时间响应报文发送给下级设备。

其中,上述第一时间请求报文和第二时间请求报文是两个独立过程的时间请求报文,第一时间请求报文和第二时间请求报文之间没有先后顺序关系,第一和第二的表述只是为了区分这两个时间请求报文,并不代表先后顺序关系。上述第一时间响应报文和第二时间响应报文是两个独立过程的时间响应报文,第一时间响应报文和第二时间响应报文之间没有先后顺序关系,第一和第二的表述只是为了区分这两个时间响应报文,并不代表先后顺序关系。

其中,如果本地设备在同步自身的时间之前,即在接收到第一时间响应报文之前,本地设备已经接收到来自下级设备的第二时间请求报文,则由于本地设备的时间并未同步,因此不会向下级设备发送第二时间响应报文。

以下结合图2所示的应用场景对上述过程进行详细说明。

设备1(即主时间服务器)在接收到来自设备2(即设备1的下级设备)的时间请求报文之后,判断本设备1是否支持添加时钟信息的方式。如果否,则设备1按照现有方式向设备2发送时间响应报文。如果是,则设备1将设备1的时钟信息添加到时间响应报文中,并将时间响应报文发送给设备2。其中,按照现有方式发送的时间响应报文中携带时间戳T1、时间戳T2和时间戳T3等信息(参见背景技术部分),而本实施例中发送的时间响应报文,在携带时间戳T1、时间戳T2和时间戳T3的基础上,还携带有设备1的时钟信息。

设备2(即二级时间服务器)向设备1(即设备2的上级设备)发送时间请求报文,并接收来自设备1的时间响应报文,该时间响应报文中携带了设备1的时钟信息。设备2在时钟信息表中记录设备1的时钟信息(上级设备的时钟信息)和设备2的时钟信息(本地设备的时钟信息)。设备2在接收到来自设备3(即设备2的下级设备)的时间请求报文之后,判断时钟信息表是否为空。如果是,则说明设备2不支持添加时钟信息的方式,设备2按照现有方式向设备3发送时间响应报文;或者,设备2还没有完成时间同步,此时不向设备3返回时间响应报文。如果否,则说明设备2支持添加时钟信息的方式,设备2将时钟信息表中记录的设备1的时钟信息和设备2的时钟信息添加到时间响应报文中,并将时间响应报文发送给设备3。其中,该时间响应报文与现有的时间响应报文相比,会增加设备1的时钟信息和设备2的时钟信息。

设备3(即三级时间服务器)向设备2(即设备3的上级设备)发送时间请求报文,并接收来自设备2的时间响应报文,其中,该时间响应报文中携带了设备1的时钟信息(即上级设备的所有更高级别的设备的时钟信息)和设备2的时钟信息(即上级设备的时钟信息)。设备3在时钟信息表中记录设备1的时钟信息、设备2的时钟信息和设备3的时钟信息(即本地设备的时钟信息)。设备3在接收到来自设备4(即设备3的下级设备)的时间请求报文之后,判断时钟信息表是否为空。如果是,则说明设备3不支持添加时钟信息的方式,设备3按照现有方式向设备4发送时间响应报文;或者,设备3还没有完成时间同步,此时不向设备4返回时间响应报文。如果否,则说明设备3支持添加时钟信息的方式,此时,设备3将时钟信息表中记录的设备1的时钟信息、设备2的时钟信息和设备3的时钟信息均添加到时间响应报文中,并将时间响应报文发送给设备4。其中,该时间响应报文与现有的时间响应报文相比,会增加设备1的时钟信息、设备2的时钟信息和设备3的时钟信息。

设备4(即四级时间服务器)向设备3(即设备4的上级设备)发送时间请求报文,并接收来自设备3的时间响应报文。其中,该时间响应报文中携带了设备1的时钟信息和设备2的时钟信息(即上级设备的所有更高级别的设备的时钟信息)、以及设备3的时钟信息(即上级设备的时钟信息)。设备4在时钟信息表中记录设备1的时钟信息、设备2的时钟信息、设备3的时钟信息和设备4的时钟信息(即本地设备的时钟信息)。

在本发明实施例中,时钟信息具体可以携带在时间响应报文的扩展TLV(Type Length Value类型长度值)中。如图4所示,为NTP版本4的时钟响应报文的格式示意图,NTP版本4的时钟响应报文中预留了可扩展TLV,基于此,可以将时间服务器的时钟信息添加到时间响应报文的扩展TLV中。

对于图4中的时钟响应报文的格式,扩展TLV的整个TLV字段域可以满足四字节对齐要求,且字节不够时可以使用0进行填充,如图5所示,为扩展TLV的格式示意图。其中,可以为时钟信息定义一种扩展TLV,该扩展TLV的类型REFCLOCK_TRACE_TYPE=0x2,该扩展TLV的长度为24字节或者36字节(当时间服务器的地址类型为IPv4地址时,则扩展TLV的长度为24字节,当时间服务器的地址类型为Ipv6地址时,则扩展TLV的长度为36字节),如图6所示,是为时钟信息定义的扩展TLV的格式示意图。

进一步的,每个设备在接收到时间请求报文时,均会在时间响应报文的扩展TLV中添加时钟信息表中记录的各设备的时钟信息,如图7所示,为在扩展TLV中添加了时钟信息的时间响应报文的格式示意图。

本发明实施例中,第一时间响应报文携带的上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息,在第一时间响应报文的前后顺序上,按照时钟级别从小到大(即时钟层数从小到大)的顺序进行排序。而且,第二时间响应报文携带的本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息,在第二时间响应报文的前后顺序上,按照时钟级别从小到大(即时钟层数从小到大)的顺序进行排序。

其中,对于携带多个时钟信息的时间响应报文来说,可以考虑按照时钟层数从小到大的顺序排放,即主时间服务器的时钟信息在时间响应报文的最前面,后面依次是第二级时间服务器的时钟信息,第三级时间服务器的时钟信息,以此类推。这样,可以简化时钟信息的传输过程和本地维护过程。

以本地设备为设备3为例,则设备3收到的来自设备2的时间响应报文中,设备1的时钟信息在时间响应报文的最前面,后面是设备2的时钟信息。在设备3向设备4发送的时间响应报文中,设备1的时钟信息在时间响应报文的最前面,后面依次是设备2的时钟信息、设备3的时钟信息。

本发明实施例中,时钟信息表的数据结构具体可以包括但不限于栈数据结构。基于此,时钟信息表中记录的本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息,在从栈数据结构的栈底到栈顶的顺序上,按照时钟级别(即时钟层数)从小到大的顺序进行排序。

其中,本地设备在从时间响应报文中解析出各设备的时钟信息之后,可以采用栈(stack)数据结构来存储这些设备的时钟信息。由于主时间服务器的时钟信息在时间响应报文的最前面,因此,可以将主时间服务器的时钟信息放在栈数据结构的栈底,在从栈数据结构的栈底到栈顶的顺序上,依次为主时间服务器的时钟信息、第二级时间服务器的时钟信息、第三级时间服务器的时钟信息,以此类推,栈顶为本地设备的时钟信息。这样,可以提升回溯主时间服务器的效率。如表1所示,为栈数据结构的一种存储示例。

表1

本发明实施例中,本地设备在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息之前,本地设备还可以先判断时钟信息表中当前是否已经记录了时钟信息;如果是,则本地设备先清空时钟信息表中记录的时钟信息,然后执行在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息的过程,并执行后续其它步骤;如果否,则本地设备直接执行在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息的过程,并执行后续其它步骤。

本发明实施例中,本地设备在接收到携带扩展TLV(其中携带时钟信息)的时间响应报文时,如果本地设备无法识别该扩展TLV,则跳过该扩展TLV的解析过程,如果本地设备能够识别该扩展TLV,则从该扩展TLV中解析出上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息。

本发明实施例中,当用户需要对主时间服务器进行回溯时,则本地设备可以接收到用于对主时间服务器进行回溯的命令,而在主时间服务器的回溯阶段,本发明实施例中提出的时间回溯的方法还可以包括以下步骤:

步骤304,本地设备利用时钟信息表中记录的本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息,进行时间回溯。

其中,进行时间回溯的过程可以是定位处于失步状态的设备,而该处于失步状态的设备为可能产生时钟同步故障的设备。

其中,时钟信息具体可以包括但不限于以下之一或者任意组合:时钟层数、轮询间隔、时钟精度、地址信息、时间偏差、往返延迟、时间误差。

其中,在主时间服务器的回溯阶段,本地设备先判断时钟信息表是否为空。如果是,则按照现有流程进行处理。如果否,则本地设备执行利用时钟信息表中记录的本地设备的时钟信息、上级设备的时钟信息、上级设备的所有更高级别的设备的时钟信息,进行时间回溯的过程。

其中,在主时间服务器的回溯阶段,本地设备遍历时钟信息表中的每个设备的时钟信息,如果有设备的时钟层数为16,则主时间服务器的回溯失败。

其中,本地设备可以利用时钟信息表中记录的本地设备的时钟信息(如时钟层数、地址信息、时间偏差、往返延迟、时间误差等)、上级设备的时钟信息(如时钟层数、地址信息、时间偏差、往返延迟、时间误差等)、上级设备的所有更高级别的设备的时钟信息(如时钟层数、地址信息、时间偏差、往返延迟、时间误差等),进行时间回溯。

其中,对主时间服务器进行回溯的功能,能够显示从本地设备到主时间服务器之间的各个时间服务器的时钟信息,当发现本地设备的时间与主时间服务器的时间不一致时,可以通过回溯主时间服务器来快速定位和排除故障。

本发明实施例中,基于本地设备与主时间服务器之间的各设备的时钟层数、地址信息(包括地址类型(如IPv4和IPv6等)和IP地址)、时间偏差(offset)、往返延迟(delay)、时间误差(dispersion)等时钟信息,本地设备可以进行时间回溯,定位出处于失步状态的设备,从而快速定位和排除故障。

其中,本地设备可以基于时间偏差(offset)计算出jitter(表示相对上一级时间服务器的时钟偏差offset的平方根,单位为秒),基于往返延迟(delay)和时间误差(dispersion)计算出synch distance(表示相对上一级时间服务器的同步距离,单位为秒,该值超过16秒表示处于未同步状态),并且基于该synch distance和jitter定位处于失步状态的设备,从而快速定位和排除故障。

基于上述技术方案,本发明实施例中,通过在时间响应报文中携带上级设备的时钟信息、该上级设备的所有更高级别的设备的时钟信息,使得本地设备可以在时钟信息表中记录本地设备的时钟信息、上级设备的时钟信息、该上级设备的所有更高级别的设备的时钟信息,继而当需要回溯主时间服务器时(即主时间服务器的回溯阶段),本地设备可以直接利用时钟信息表中记录的本地设备的时钟信息、上级设备的时钟信息、该上级设备的所有更高级别的设备的时钟信息,进行时间回溯,时间回溯可以是定位处于失步状态的设备,因此,当本地设备的时间与主时间服务器的时间不一致时,可以获知本地设备与主时间服务器之间的哪个时钟层数的设备失步,可以快速定位失步的设备,提升回溯主时间服务器的效率,而且保证回溯结果能够真实反映网络时间的同步过程。

基于与上述方法同样的发明构思,本发明实施例还提供一种时间回溯的装置,该时间回溯的装置应用在本地设备上。该时间回溯的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的本地设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图8所示,为时间回溯的装置所在的本地设备的一种硬件结构图,除了图8所示的处理器、非易失性存储器外,本地设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该本地设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。

如图9所示,为本发明提出的时间回溯的装置的结构图,所述时间回溯的装置应用在本地设备上,且所述时间回溯的装置具体包括:

通信模块11,用于在时间同步阶段,向上级设备发送第一时间请求报文,并接收来自所述上级设备的第一时间响应报文;

获取模块12,用于解析所述第一时间响应报文,并从所述第一时间响应报文中获取所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,其中,最高级别的设备为主时间服务器;

记录模块13,用于在时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息;

回溯模块14,用于在主时间服务器的回溯阶段,利用所述时钟信息表中记录的所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,进行时间回溯。

所述通信模块11,还用于在所述记录模块在所述时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息之后,接收来自下级设备的第二时间请求报文,并将所述时钟信息表中记录的所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,添加到第二时间响应报文中,并将所述第二时间响应报文发送给所述下级设备。

本发明实施例中,所述第一时间响应报文携带的所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,在所述第一时间响应报文的前后顺序上按照时钟级别从小到大的顺序进行排序;所述第二时间响应报文携带的所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,在所述第二时间响应报文的前后顺序上按照时钟级别从小到大的顺序进行排序;

所述时钟信息表的数据结构具体包括栈数据结构;

所述时钟信息表中记录的所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息,在从所述栈数据结构的栈底到栈顶的顺序上,按照时钟级别从小到大的顺序进行排序。

所述记录模块13,具体用于针对在时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息的过程,判断所述时钟信息表中当前是否已经记录了时钟信息;

如果是,则清空时钟信息表中记录的时钟信息,并在时钟信息表中记录的时钟信息清空之后,在所述时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息;

如果否,则在所述时钟信息表中记录所述本地设备的时钟信息、所述上级设备的时钟信息、所述上级设备的所有更高级别的设备的时钟信息。

所述时钟信息携带在时间响应报文的扩展类型长度值TLV中;

所述时钟信息具体包括以下之一或者任意组合:时钟层数、轮询间隔、时钟精度、地址信息、时间偏差、往返延迟、时间误差。

其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1