一种检测网络是否可用的方法及装置的制作方法

文档序号:7806885阅读:110来源:国知局
专利名称:一种检测网络是否可用的方法及装置的制作方法
技术领域
本发明属于计算机应用领域,尤其涉及一种检测网络是否可用的方法及装置。
背景技术
随着互联网时代的到来,网络被广泛运用在各个领域,几乎所有电子设备终端都需要通过网络实现功能的扩充,因此,带有网络的终端在出厂前必须检测其网络连接状况, 只有能够正常连接网络的电子设备终端才是合格的产品。在现有的技术中,通常通过以下技术手段来检测电子设备终端的网络连接状况。 对于现有的Windows、Linux和Android等系统,在电子设备终端上电后,首先启动系统内核和驱动,然后加载系统的常规应用程序,最后在系统完全启动完后,执行动态主机设置协议服务(DHCP、Dynamic Host Configuratiorfrotocol),通过判断电子设备终端是否能够自动获得有效IP地址来判断该电子设备终端的网络连接状况。若能够自动获得有效的IP地址,则该电子设备终端的网络连接正常;若不能自动获得有效的IP地址,则该电子设备终端的网络连接异常。以Linux系统为例,其系统启动的过程一般如下(1)系统上电之后首先执行BIOS POST ;(2)引导启动程序(Boot Loader),初始化硬件设备,内存分配,检测硬件10 口等;(3)加载内核及驱动,读取并使用内存信息,加载网络及各外设驱动等。(4)加载常规应用,加载UI界面信息,执行DHCP等;(5)运行其他应用程序。上述从系统上电到完全启动并根据DHCP是否能够获取到IP从而确定电子设备终端的网络连接功能是否正常需要耗费较长的时间,尤其是加载常规应用,以及执行DHCP所耗费的时间,从而导致对电子设备进行网络检测的时间过长,对于大批量量产的电子设备 (如互联网电视等),采用这种方式进行检测,显然检测效率过低。

发明内容
本发明实施例的目的在于提供一种检测网络是否可用的方法及装置,旨在解决现有的检测网络是否可用的方法耗费时间长因而造成检测效率低的问题。本发明实施例是这样实现的,一种检测网络是否可用的方法,所述方法包括在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包;本机设备将成功发送及接收到的字节数分别存储至两个系统文件中;通过读取所述系统文件中的字节数检测本机设备的网络是否可用。本发明实施例的另一目的在于提供一种检测网络是否可用的装置,所述装置包括广播数据包单元,用于在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包;
字节数存储单元,用于本机设备将成功发送及接收到的字节数分别存储至两个系统文件中;网络检测单元,用于通过读取所述系统文件中的字节数检测本机设备的网络是否可用。在本发明实施例中,由于在本机设备系统内核及驱动加载后,便通过广播数据包, 存储广播数据包后成功发送和接收到的字节数,并根据读取到的发送成功和接收到的字节数来检测网络是否可用的方法进行本机设备的网络检测,避开了本机设备启动时耗时最长的应用程序加载步骤,因而在生产检测电子设备的网络时,大大减少了设备从开机到完成网络检测的时间,提高了检测效率,而且本发明可以自行判断,自动反馈,简单方便,不需要多余的操作。


图1是本发明实施例提供的检测网络是否可用的方法流程图;图2是本发明实施例提供的检测网络是否可用的装置结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供一种检测网络是否可用的方法,通过在系统内核及驱动加载完成后便进行设备的网络监测,其检测方法为启动网络检测服务并发送广播数据包,并根据发送成功或接收到的字节数来判断网络是否可用,若发送成功或接收到的字节数大于零则说明网络可用;若发送成功或接收到的字节数等于零则说明网络不可用。本发明提供了一种检测网络是否可用的方法和装置所述方法包括在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包;本机设备将成功发送及接收到的字节数分别存储至两个系统文件中;通过读取所述系统文件中的字节数检测本机设备的网络是否可用。所述装置包括广播数据包单元,用于在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包;字节数存储单元,用于本机设备将成功发送及接收到的字节数分别存储至两个系统文件中;网络检测单元,用于通过读取所述系统文件中的字节数检测本机设备的网络是否可用。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一如图1所示为本发明提供的检测网络是否可用的方法的流程图,为了便于说明, 仅示出了与本发明实施例相关的部分。
在步骤SlOl中,在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包。在本发明实施例中,在本机设备系统上电后,加载本机设备系统内核及驱动。在系统内核及驱动加载完成后,启动网络检测服务并广播数据包。上述网络检测服务是为了检测电子设备终端的网络连接状况而增设的,即增加一段用于网络检测服务的代码。在加载完系统内核及驱动之后,马上执行网络检测服务,完成网络检测服务之后才继续后续的加载常规应用、加载UI界面信息、执行DHCP和运行其他应用程序等。在本发明实施例中,网络检测服务相当于DHCP服务的第一个阶段,即发送广播数据包及接收广播数据包做出响应的阶段。一般而言,设备在启动DHCP服务后,DHCP服务一共有以下几个阶段一、发现阶段发送广播包,接收广播包,做出响应;二、提供阶段提供IP地址;三、选择阶段接收请求信息,选择IP分配;四、确认阶段确认接收的IP ;五、重新登陆使用IP地址。本发明检测网络是否可用的方法在加载完系统内核及驱动之后、加载其他应用之前,增加了一个网络检测服务阶段,在网络检测服务阶段,待检测的电子设备终端(例如网络电视)将向外发送广播数据包及接收广播数据包,对象是与该待检测的电子设备终端相连的网络设备,例如路由器或者其他提供DHCP服务的设备等。在网络检测服务阶段中,若待检测的电子设备终端能够发送并接收到广播数据包,便表明待检测的电子设备终端与上述网络设备的网络连接正常,待检测的电子设备终端的网络连接功能正常,产品合格等。在本实施例中,上述网络检测服务阶段耗时在1秒钟左右,而以系统能否获得IP地址的方式来判读,则时间远远大于此种方法。具体为,设备在启动网络检测服务后,向网络中广播数据包,而所有提供DHCP服务的设备在接收到广播的数据包后,通过回复相应的数据包给发广播的设备。在步骤S102中,本机设备将成功发送及接收到的字节数分别存储至两个系统文件中。在本发明实施例中,由于在本机设备发送广播后,当提供DHCP服务的设备接收到广播包时,会回复数据包。本机设备便将成功发送及接收到的字节数分别累计存储至两个系统文件中,一个系统文件用于存储发送成功的字节数,另一个系统文件用于存储接收到的字节数。其中,所述系统文件为网卡驱动所创建,就Linux系统而言,这两个系统文件的位置一般是〃 /sys/class/net/ethO/statistics/tx_bytes “禾口〃 /sys/class/net/ ethO/statistics/rx_bytes〃 。在本发明实施例中,可通过多种方法读取和调用记录在两个系统文件中的成功发送及接收到的字节数数据,如创建宏等,在此不做限制。下面举一个实例来说明读取和调用记录在两个系统文件中的发送及接收到的字节数数据的具体方法若本机设备采用的是Linux系统,则可通过在代码中定义下述两个宏,通过TX_ BYTES和RX_BYTES调用系统文件中网卡成功发送及接收到的字节数
#define TX_BYTES" /sys/class/net/ethO/statistics/tx_bytes“#define RX_BYTES" /sys/class/net/ethO/statistics/rx_bytes“。在步骤S103中,通过读取所述系统文件中的字节数检测本机设备的网络是否可用。在本发明实施例中,可通过两个方式读取所述系统文件中的字节数后检测本机设备的网络是否可用。下面将详细进行描述其一,本机设备根据读取到的系统文件中的字节数来设置标志位,外部测试设备通过串口读取该标志位,并根据该标志位判断本机设备的网络是否可用。首先,本机设备通过读取系统文件中的字节数来检测本机设备的网络是否可用, 即通过判断TX_BYTES和RX_BYTES是否都大于零,若TX_BYTES和RX_BYTES都大于零,表明本机设备能够成功发送及接收数据,即本机设备的网络可用。然后,通过设置标志位的方法由外部测试设备通过串口读取本机设备上的该标志位,并根据该标志位判断本机设备的网络是否可用,即在本机设备的内存中设置一个标志位,将其用于表示网络是否可用,外部测试设备通过串口读取到该标志位的信息便可知本机设备网络是否可用。例如本机设备判断TX_BYTES和RX_BYTES都大于零时,表明网络可用时,设置标志位为1 ;本机设备网络不可用时,设置标志位为0。因此,若外部测试设备读取到的标志位为1,则判定本机设备网络可用,本机设备的网络功能正常;若外部设备读取到的标志位为0,则判定本机设备网络不可用,本机设备的网络功能存在问题。在其他实施例中,本机设备也可以主动将上述标志位数据发送给外部测试设备,由外部测试设备根据接收到的标志位数据进行判断。其二,外部测试设备通过串口读取系统文件中的字节数来检测本机设备的网络是否可用。在本发明实施例中,读取系统文件中的字节数来检测本机设备的网络是否可用的方法具体为外部测试设备连接本机设备并读取TX_BYTES和RX_BYTES,判断TX_BYTES和RX_ BYTES是否都大于零,上述读取TX_BYTES和RX_BYTES相当于读取系统文件"/sys/class/ net/ethO/statistics/tx_bytes“禾口〃 /sys/class/net/ethO/statistics/rx_bytes〃 中的字节数数据,当两个系统文件中的字节数都大于零时,则判定本机设备网络可用;当两个系统文件中的字节数不都大于零时(即至少有一个系统文件中的字节数等于零时),则定期多次读取系统文件中的字节数,当读取到两个系统文件中的字节数都大于零时,则判定本机设备网络可用,且不再继续读取系统文件中的字节数;若在定期多次读取系统文件中的字节数后,两个系统文件中仍然至少有一个系统文件中的字节数等于零,则判定本机设备网络不可用。其中,所述读取次数由用户预先设定(如3次,4次等),所述定期读取字节数的间隔时间也由用户预先设定(如0. 25秒,0. 5秒等)。 在本发明实施例中,由于在本机设备系统内核及驱动加载后,便通过广播数据包, 存储广播数据包后成功发送和接收到的字节数,并根据读取到的发送成功和接收到的字节数来检测网络是否可用的方法进行本机设备的网络检测,避开了本机设备启动时耗时最长的应用程序加载步骤,因而在生产检测电子设备的网络功能是否正常时,大大减少了设备从开机到完成网络检测的时间,提高了检测效率,而且本发明的方法可以自行判断,自动反馈,简单方便,不需要多余的操作。
7
实施例二 图2为本发明实施例提供的检测网络是否可用的装置结构示意图,为了便于说明,仅示出了与本发明实施例相关的部份。其中广播数据包单元21,用于在本机设备系统内核及驱动加载后,启动网络测试服务并广播数据包。字节数存储单元22,用于本机设备将成功发送及接收到的字节数分别存储至两个系统文件中。在本发明实施例中,本机设备便将成功发送及接收到的字节数分别累计存储至两个系统文件中,一个系统文件用于存储发送成功的字节数,另一个系统文件用于存储接收到的字节数。其中,所述系统文件为网卡驱动所创建,就Linux系统而言,这两个系统文件的位置一般是〃 /sys/class/net/ethO/statistics/tx_bytes “禾口〃 /sys/class/net/ ethO/statistics/rx_bytes〃 。网络检测单元23,用于通过读取所述系统文件中的字节数检测本机设备的网络是否可用。在本发明实施例中,所述网络检测单元23包括两个子模块,分别为本机读取模块231及外设读取模块232。其中本机读取模块231,用于本机设备通过读取系统文件中的字节数,当两个系统文件中的字节数都大于零时,设置网络可用标志位,外部测试设备通过串口读取该标志位得知本机设备网络正常;当两个系统文件中至少有一个系统文件中的字节数等于零时,则定期多次读取系统文件中的字节数,当读取到两个系统文件中的字节数都大于零时,设置网络可用标志位,外部测试设备通过串口读取该标志位得知本机设备网络正常,且不再继续读取系统文件中的字节数;若在定期多次读取系统文件中的字节数后,两个系统文件中仍然至少有一个系统文件中的字节数等于零,则设置网络不可用标志位,外部测试设备通过串口读取该标志位得知本机设备网络不可用,所述读取次数由用户预先设定。外设读取模块232,用于外部测试设备通过串口读取系统文件中的字节数,当两个系统文件中的字节数都大于零时,则判定本机设备网络可用;当两个系统文件中至少有一个系统文件中的字节数等于零时,则定期多次读取系统文件中的字节数,当读取到两个系统文件中的字节数都大于零时,则判定本机设备网络可用,且不再继续读取系统文件中的字节数;若在定期多次读取系统文件中的字节数后,两个系统文件中仍然至少有一个系统文件中的字节数等于零,则判定本机设备网络不可用,所述读取次数由用户预先设定。
在本发明实施例中,由于在本机设备系统内核及驱动加载后,便通过广播数据包, 存储广播数据包后成功发送和接收到的字节数,并根据读取到的发送成功和接收到的字节数来检测网络是否可用的方法进行本机设备的网络检测,避开了本机设备启动时耗时最长的应用程序加载步骤,因而在生产检测电子设备的网络时,大大减少了设备从开机到完成网络检测的时间,提高了检测效率,而且本发明可以自行判断,自动反馈,简单方便,不需要多余的操作。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种检测网络是否可用的方法,其特征在于,所述方法包括下述步骤 在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包; 本机设备将成功发送及接收到的字节数分别存储至两个系统文件中; 通过读取所述系统文件中的字节数检测本机设备的网络是否可用。
2.如权利要求1所述的方法,其特征在于,所述系统文件为网卡驱动所创建。
3.如权利要求1所述的方法,其特征在于,所述通过读取所述系统文件中的字节数检测本机设备的网络是否可用包括本机设备根据读取到的系统文件中的字节数来设置标志位,外部测试设备通过串口读取该标志位,并根据该标志位判断本机设备的网络是否可用。
4.如权利要求1所述的方法,其特征在于,所述通过读取所述系统文件中的字节数检测本机设备的网络是否可用包括外部测试设备通过串口读取所述系统文件中的字节数来检测本机设备的网络是否可用。
5.如权利要求1或3或4所述的方法,其特征在于,所述读取所述系统文件中的字节数来检测本机设备的网络是否可用包括读取系统文件中的字节数;当所述两个系统文件中的字节数都大于零时,则判定本机设备网络可用; 当所述两个系统文件中至少有一个系统文件中的字节数等于零时,则定期多次读取所述系统文件中的字节数,当读取到两个系统文件中的字节数都大于零时,则判定本机设备网络可用;若多次读取系统文件中的字节数后,所述两个系统文件中至少有一个系统文件中的字节数等于零,则判定本机设备网络不可用,所述读取次数由用户预先设定。
6.一种检测网络是否可用的装置,其特征在于,所述装置包括广播数据包单元,用于在本机设备系统内核及驱动加载后,启动网络检测服务并广播数据包;字节数存储单元,用于本机设备将成功发送及接收到的字节数分别存储至两个系统文件中;网络检测单元,用于通过读取所述系统文件中的字节数检测本机设备的网络是否可用。
7.如权利要求6所述的装置,其特征在于,所述系统文件为网卡驱动所创建。
8.如权利要求6所述的装置,其特征在于,所述网络检测单元包括本机读取模块,用于本机设备通过读取系统文件中的字节数,当所述两个系统文件中的字节数都大于零时,设置网络可用标志位,外部测试设备通过串口读取该标志位得知本机设备网络正常;当所述两个系统文件中至少有一个系统文件中的字节数等于零时,则定期多次读取所述系统文件中的字节数,当读取到两个系统文件中的字节数都大于零时,设置网络可用标志位,外部测试设备通过串口读取该标志位得知本机设备网络正常;若多次读取系统文件中的字节数后,所述两个系统文件中至少有一个系统文件中的字节数等于零,则设置网络不可用标志位,外部测试设备通过串口读取该标志位得知本机设备网络不可用,所述读取次数由用户预先设定。
9.如权利要求6所述的装置,其特征在于,所述网络检测单元还包括外设读取模块,用于外部测试设备通过串口读取系统文件中的字节数,当所述两个系统文件中的字节数都大于零时,则判定本机设备网络可用;当所述两个系统文件中至少有一个系统文件中的字节数等于零时,则定期多次读取所述系统文件中的字节数,当读取到两个系统文件中的字节数都大于零时,则判定本机设备网络可用;若多次读取系统文件中的字节数后,所述两个系统文件中至少有一个系统文件中的字节数等于零,则判定本机设备网络不可用,所述读取次数由用户预先设定。
全文摘要
本发明适用于计算机应用领域,提供了一种检测网络是否可用的方法及装置,所述方法包括在本机设备系统内核及驱动加载后,启动网络测试服务并广播数据包;本机设备将成功发送及接收到的字节数分别存储至两个系统文件中;通过读取所述系统文件中的字节数检测本机设备的网络是否可用。在本发明实施例中,由于在本机设备系统内核及驱动加载后,便进行本机设备的网络检测,而避开了本机设备启动时耗时最长的应用程序加载步骤,因而在生产检测电子设备的网络时,不仅大大减少了设备从开机到完成网络检测的时间,且由于设备开机后不再需要加载应用程序而减少了测试工位,提高了检测效率。
文档编号H04L12/26GK102571491SQ20111045121
公开日2012年7月11日 申请日期2011年12月28日 优先权日2011年12月28日
发明者廖锦舜, 费华靓 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1