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

一种网络测速方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:30


一种网络测速方法、装置、电子设备及存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及一种网络测速方法、装置、电子设备及存储介质。

背景技术

家庭网络由家庭网关以及路由器设备组成网络系统为用户提供边缘网络接入,路由器与家庭网关之间的网络连接质量的测试是掌握用户网络接入的服务质量的关键一环。普通的网络速率测试方法是在家庭网关与路由器之间使用用户层插件进行网络测速,由于网关与路由器的处理能力限制,测速数据包经过的协议栈路径太长,往往不能有效的检测网络连接的最大速率。

发明内容

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提出一种网络测速方法、装置、电子设备及存储介质,能够高效准确进行网络测速。

一方面,本发明实施例提供了一种网络测速方法,包括:

响应于预设动作,触发测速指令;

基于测速指令,控制网关和路由器通过测速插件互相发送预设数据包,并控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹,进而产生高速数据包浪涌流量;

根据高速数据包浪涌流量,统计得到测速结果。

可选地,响应于预设动作,触发测速指令,包括:

响应于目标对象在应用端的操作动作,触发测速指令。

可选地,控制网关和路由器通过测速插件互相发送预设数据包,包括:

控制网关的第一测速插件与路由器的第二测速插件互相发送预设数据包;

其中,第一测速插件和第二测速插件为扩展伯克利包过滤器。

可选地,方法还包括:

基于测速需求,通过预设规则设置预设数据包。

可选地,基于测速需求,通过预设规则设置预设数据包,包括:

基于数据包规格需求,调整预设数据包中各个数据包的字节规格;

根据待测速网络的网络最大速率,结合字节规格确定预设数据包的数据包数量。

可选地,方法还包括:

在控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹的过程,向反弹的预设数据包中添加测速数据包。

可选地,根据高速数据包浪涌流量,统计得到测速结果,包括:

统计高速数据包浪涌流量中的数据包数量,根据数据包数量确定测速结果。

另一方面,本发明实施例提供了一种网络测速装置,包括:

第一模块,用于响应于预设动作,触发测速指令;

第二模块,用于基于测速指令,控制网关和路由器通过测速插件互相发送预设数据包,并控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹,进而产生高速数据包浪涌流量;

第三模块,用于根据高速数据包浪涌流量,统计得到测速结果。

可选地,第一模块具体用于:

响应于目标对象在应用端的操作动作,触发测速指令。

可选地,第二模块中控制网关和路由器通过测速插件互相发送预设数据包这一步骤,包括:

控制网关的第一测速插件与路由器的第二测速插件互相发送预设数据包;

其中,第一测速插件和第二测速插件为扩展伯克利包过滤器。

可选地,装置还包括:

第四模块,用于基于测速需求,通过预设规则设置预设数据包。

可选地,第四模块具体用于:

基于数据包规格需求,调整预设数据包中各个数据包的字节规格;

根据待测速网络的网络最大速率,结合字节规格确定预设数据包的数据包数量。

可选地,装置还包括:

第五模块,用于在控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹的过程,向反弹的预设数据包中添加测速数据包。

可选地,第三模块具体用于:

统计高速数据包浪涌流量中的数据包数量,根据数据包数量确定测速结果。

另一方面,本发明实施例提供了一种电子设备,包括:处理器以及存储器;存储器用于存储程序;处理器执行程序实现上述网络测速方法。

另一方面,本发明实施例提供了一种计算机存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现上述网络测速方法。

本发明实施例通过响应于预设动作,触发测速指令;基于测速指令,控制网关和路由器通过测速插件互相发送预设数据包,并控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹,进而产生高速数据包浪涌流量;根据高速数据包浪涌流量,统计得到测速结果。本发明实施例采用测试插件反弹数据包的方式在网关和路由器两个设备之间产生高速数据包浪涌流量,由于数据包没有经过上层协议栈,可以在较低的CPU能力上产生较高的数据流量,真实的反映了当前设备连接的最大速率。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1是本发明实施例提供的进行网络测速的一种实施环境示意图;

图2是本发明实施例提供的一种网络测速方法的流程示意图;

图3为本发明实施例提供的结合设置预设数据包的网络测速方法的流程示意图;

图4为本发明实施例提供的设置预设数据包的流程示意图;

图5为本发明实施例提供的结合添加测速数据包的网络测速方法的流程示意图;

图6为本发明实施例提供的网络测速的整体流程原理示意图;

图7为本发明实施例提供的一种网络测速装置的结构示意图;

图8为本发明实施例提供的另一种网络测速装置的结构示意图;

图9为本发明实施例提供的一种电子设备的结构示意图;

图10为本发明实施例提供的适于用来实现本发明实施例的电子设备的计算机系统结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一/S100”、“第二/S200”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

可以理解的是,本发明实施例提供的网络测速方法,是能够应用于任意一种具备数据处理计算能力计算机设备,而这一计算机设备可以是各类终端或是服务器。当实施例中的计算机设备是服务器时,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑以及台式计算机等,但也并不局限于此。

如图1所示,是发明实施例提供的一种实施环境示意图。参照图1,该实施环境包括至少一个终端102和服务器101。终端102和服务器101之间可以通过无线或者有线的方式进行网络连接,完成数据传输交换。

服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

另外,服务器101还可以是区块链网络中的一个节点服务器。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。

终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端102以及服务器101可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。

示例性地基于图1所示的实施环境,本发明实施例提供了一种网络测速方法,下面以该网络测速方法应用于服务器101中为例子进行说明,可以理解的是,该网络测速方法也可以应用于终端102中。

参照图2,图2为本发明实施例提供的应用于服务器的网络测速方法的流程图,该网络测速方法的执行主体可以是前述的任意一种计算机设备(包括服务器或者终端)。参照图2,该方法包括以下步骤:

S100、响应于预设动作,触发测速指令;

需要说明的是,一些实施例中,步骤S100可以包括:响应于目标对象在应用端的操作动作,触发测速指令。

其中,需要说明的是,一些实施例中,目标对象在应用端的操作动作可以是单击、双击、长按等多种动作;在另一些实施例中,操作动作也可以替换为框选、拖动等其他能够选定目标的动作。进而基于应用端预设的操作动作识别规则,响应于识别到的操作动作,触发测速指令。

一些具体实施例中,用户可以通过点击手机APP的家庭网络测速按钮以触发测速指令,进而APP发送测速指令到相关管理平台,并通过管理平台控制家庭网关、路由器及其之中的测速插件以实现后续的测速操作流程。

S200、基于测速指令,控制网关和路由器通过测速插件互相发送预设数据包,并控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹,进而产生高速数据包浪涌流量;

需要说明的是,一些实施例中,控制网关和路由器通过测速插件互相发送预设数据包,可以包括:控制网关的第一测速插件与路由器的第二测速插件互相发送预设数据包;其中,第一测速插件和第二测速插件为扩展伯克利包过滤器。

其中,需要说明的是,本发明实施例的测速插件采用ebpf,家庭网关和路由器中都设置有ebpf内核模块。ebpf全称extended Berkeley Packet Filter,中文意思是扩展伯克利包过滤器。一般来说,要向内核添加新功能,需要修改内核源代码或者编写内核模块来实现。而ebpf允许程序在不修改内核源代码,或添加额外的内核模块情况下运行。

从ebpf的名字看,好像是专门为过滤网络包而创造的。其实,ebpf是从BPF(也称为cBPF:classic Berkeley Packet Filter)发展而来的,BPF是专门为过滤网络数据包而创造的。BPF从内核中抓取数据包的原理及其特点如下:

第一,内核中实现了一个虚拟机,用户态程序通过系统调用,把数据包过滤代码载入到个内核态虚拟机中运行,这样就实现了内核态对数据包的过滤。这一块即对应BPF的核心。

第二,BPF模块和网络协议栈代码是相互独立的,BPF只是通过简单的几个hook点,就能从协议栈中抓到数据包。内核网络协议代码变化不影响BPF的工作。

第三,内核中的BPF filter模块使用buffer与用户态程序进行通讯,把filter的结果返回给用户态程序(例如network monitor),这样就不会产生内核态与用户态的上下文切换(context switch)。

在BPF实现的基础上,Linux在2014年内核3.18的版本上实现了eBPF,全名是Extended BPF,也就是BPF的扩展。这个扩展主要做了下面这些改进。首先,对虚拟机做了增强,扩展了寄存器和指令集的定义,提高了虚拟机的性能,并且可以处理更加复杂的程序。其次,增加了eBPF maps,这是一种存储类型,可以保存状态信息,从一个BPF事件的处理函数传递给另一个,或者保存一些统计信息,从内核态传递给用户态程序。最后,eBPF可以处理更多的内核事件,不再只局限在网络事件上。你可以这样来理解,eBPF的程序可以在更多内核代码hook点上注册了,比如tracepoints、kprobes等。基于BPF发展而来的ebpf同样也能够实现BPF的数据包抓取特点。

一些实施例中,如图3所示,方法还可以包括:S400、基于测速需求,通过预设规则设置预设数据包。

其中,一些实施例中,如图4所示,基于测速需求,通过预设规则设置预设数据包,可以包括:S401、基于数据包规格需求,调整预设数据包中各个数据包的字节规格;S402、根据待测速网络的网络最大速率,结合字节规格确定预设数据包的数据包数量。

另一些实施例中,基于测速需求,通过预设规则设置预设数据包,还可以包括:调整以太网数据帧的类型字段。

一些具体实施例中,数据包可以遵循如下规则:

将以太网数据帧的类型字段设为0880,以区别IP、ARP、RARP等数据类型;

数据包大小可根据测试的目的进行设置,如对于大数据包速率测试可以设置为1000字节,小数据包速率测试可以设置为几十字节;

根据测试的目标速率设置发送的初始包数量,例如当包大小为1000字节,网络最大速率为100M时,可以将初始包数量设置为12500个。

其中,一些实施例中,如图5所示,方法还可以包括:S500、在控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹的过程,向反弹的预设数据包中添加测速数据包。其中,测速数据包通常与预设数据包规格相同。

一些具体实施例中,插件发送某个数量的初始测速数据包群到对方设备,并在测试过程中适当补充测速数据包。测速插件根据需要在测速过程中适当补充发送测速数据包,以避免网络传输过程中的数据包丢失引起的速率下降。

S300、根据高速数据包浪涌流量,统计得到测速结果。

需要说明的是,一些实施例中,步骤S300可以包括:统计高速数据包浪涌流量中的数据包数量,根据数据包数量确定测速结果。

一些具体实施例中,本发明实施例采用专用的测速数据包,ebpf内核模块在测速开始后检测该数据包,并拦截下来后将该数据包反弹回对端,从而产生测速数据包流量浪涌,通过对接收到的数据包进行统计,从而计算出设备之间的网络连接速率。

为详细解释本发明技术方案的原理,下面结合一些具体实施例对本发明的整体流程进行说明,容易理解的是,下述为对本发明技术原理的解释,不能看做对本发明的限制。

首先需要说明的是,一般的网络测速方法实现步骤如下:家庭网关中的测速过程全部采用软件处理的方式,即由运行在CPU(中央处理器,Central Processing Unit)上的TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议,又叫网络通讯协议)协议栈以及应用层处理,处理过程主要涉及协议交互、数据接收、数据处理、结果计算并上报等几个部分。此类测速的特点是家庭网关并不关注下载文件的内容,而现有技术中的TCP/IP协议栈处理方式中,对于测速的数据报文,由传输层(TCP/UDP,Transmission Control Protocol/User Datagram Protocol,传输控制协议/用户数据包协议)向应用层的递交数据需要进行拷贝,这反而在一定程度上增加了CPU的开销,对家庭网关网络侧的吞吐量有一定影响。

鉴于此,一些具体实施例中,如图6所示,本发明实施例的方法可以通过手机APP和家庭网关/路由器通过网关测速管理平台进行测速需求交互实现,本发明方法所实现的流程步骤为:

1)用户点击手机APP的家庭网络测速按钮;

2)APP发送测速指令到平台;

3-1/3-2)平台发送测速指令到网关/路由器插件;

4-1/4-2)插件发送某个数量的初始测速数据包群到对方设备,并在测试过程中适当补充测速数据包。例如,数据包可以遵循如下规则:

将以太网数据帧的类型字段设为0880,以区别IP、ARP、RARP等数据类型;

数据包大小可根据测试的目的进行设置,如对于大数据包速率测试可以设置为1000字节,小数据包速率测试可以设置为几十字节;

根据测试的目标速率设置发送的初始包数量,例如当包大小为1000字节,网络最大速率为100M时,可以将初始包数量设置为12500个。

5)家庭网关/路由器设备测速插件的ebpf内核模块检测到测速数据包后立即将数据包按原路反弹发送回去,并计算收到的数据包数量;

6)经过设定的时间之后停止反射测速数据包,参与测速的两端设备均将这段时间内接收到的数据包数量报告到平台;

7)平台根据测速时间段内接收到的数据包数量以及数据包大小计算网络测速结果并返回到APP。

一些具体实施例中,本发明实施例的整体流程逻辑为:通过手机APP和家庭网关/路由器设备之间通过网关网络测速管理平台进行交互。有测速需求时,用户点击手机APP(或者网络运营者直接操作测速管理平台)发起测速。这时,家庭网络测速管理平台将测速指令发送到家庭网关和路由器的ebpf测速插件,测速插件收到指令后会发送批量的专用测速包到对端,此后,插件的ebpf内核模块检测到测速数据包,将该包拦截,修改对调源目的地址后将数据包反弹发送回求,这样,在两台设备之间会产生一段时间的浪涌流量,插件对收到的数据包数量进行统计,到达测速预定时间后停止该过程,并将统计结果发送到平台,平台计算出速率后发送回对应的测速需求端完成测速过程。

综上所述,鉴于现有的网络测速技术的缺点,本发明实施例利用各个设备的内核ebpf模块之间进行数据包的快速反弹机制,在设备之间的数据链路上形成大量的数据包对数据网络连接的极限速度进行测试,由于省略了数据包的网络协议处理、内核与用户层之间的数据交互、用户层数据处理等过程,因此能在较低的CPU需求条件下产生较高的网络数据流量,较为真实的测试出家庭网络内部各个设备之间的最大网络连接速率。相较于现有技术,本发明至少包括如下有益效果:1.测速数据包不经过网络协议栈,在ebpf内核模块之间不断反弹从而产生大的数据流量;2.利用ebpf检测专用测速数据包,然后将测速数据包直接从原网络反弹回去,利用ebpf内核模块的特性产生网络链路上的大数据浪涌流量,从而测试网络连接的最大速率。本发明能够应用在家庭网络中进行分段网速检测,进而掌握家庭网络的各段速率,从而辅助进行用户内部家庭网络优化。

另一方面,如图7所示,本发明实施例提供了一种网络测速装置700,包括:第一模块710,用于响应于预设动作,触发测速指令;第二模块720,用于基于测速指令,控制网关和路由器通过测速插件互相发送预设数据包,并控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹,进而产生高速数据包浪涌流量;第三模块730,用于根据高速数据包浪涌流量,统计得到测速结果。

一些实施例中,第一模块具体用于:

响应于目标对象在应用端的操作动作,触发测速指令。

其中,需要说明的是,一些实施例中,目标对象在应用端的操作动作可以是单击、双击、长按等多种动作;在另一些实施例中,操作动作也可以替换为框选、拖动等其他能够选定目标的动作。进而基于应用端预设的操作动作识别规则,响应于识别到的操作动作,触发测速指令。

一些实施例中,第二模块中控制网关和路由器通过测速插件互相发送预设数据包这一步骤,可以包括:

控制网关的第一测速插件与路由器的第二测速插件互相发送预设数据包;

其中,第一测速插件和第二测速插件为扩展伯克利包过滤器。

需要说明的是,本发明实施例的测速插件采用ebpf,家庭网关和路由器中都设置有ebpf内核模块。ebpf全称extended Berkeley Packet Filter,中文意思是扩展伯克利包过滤器。一般来说,要向内核添加新功能,需要修改内核源代码或者编写内核模块来实现。而ebpf允许程序在不修改内核源代码,或添加额外的内核模块情况下运行。

从ebpf的名字看,好像是专门为过滤网络包而创造的。其实,ebpf是从BPF(也称为cBPF:classic Berkeley Packet Filter)发展而来的,BPF是专门为过滤网络数据包而创造的。BPF从内核中抓取数据包的原理及其特点如下:

第一,内核中实现了一个虚拟机,用户态程序通过系统调用,把数据包过滤代码载入到个内核态虚拟机中运行,这样就实现了内核态对数据包的过滤。这一块对应图中灰色的大方块,也就是BPF的核心。

第二,BPF模块和网络协议栈代码是相互独立的,BPF只是通过简单的几个hook点,就能从协议栈中抓到数据包。内核网络协议代码变化不影响BPF的工作,图中右边的“protocol stack”方块就是指内核网络协议栈。

第三,内核中的BPF filter模块使用buffer与用户态程序进行通讯,把filter的结果返回给用户态程序(例如图中的network monitor),这样就不会产生内核态与用户态的上下文切换(context switch)。

在BPF实现的基础上,Linux在2014年内核3.18的版本上实现了eBPF,全名是Extended BPF,也就是BPF的扩展。这个扩展主要做了下面这些改进。首先,对虚拟机做了增强,扩展了寄存器和指令集的定义,提高了虚拟机的性能,并且可以处理更加复杂的程序。其次,增加了eBPF maps,这是一种存储类型,可以保存状态信息,从一个BPF事件的处理函数传递给另一个,或者保存一些统计信息,从内核态传递给用户态程序。最后,eBPF可以处理更多的内核事件,不再只局限在网络事件上。你可以这样来理解,eBPF的程序可以在更多内核代码hook点上注册了,比如tracepoints、kprobes等。基于BPF发展而来的ebpf同样也能够实现BPF的数据包抓取特点。

一些实施例中,装置还包括:

第四模块,用于基于测速需求,通过预设规则设置预设数据包。

一些实施例中,第四模块具体用于:

基于数据包规格需求,调整预设数据包中各个数据包的字节规格;

根据待测速网络的网络最大速率,结合字节规格确定预设数据包的数据包数量。

另一些实施例中,第四模块具体还用于:调整以太网数据帧的类型字段。

一些具体实施例中,第四模块设置数据包可以遵循如下规则:

将以太网数据帧的类型字段设为0880,以区别IP、ARP、RARP等数据类型;

数据包大小可根据测试的目的进行设置,如对于大数据包速率测试可以设置为1000字节,小数据包速率测试可以设置为几十字节;

根据测试的目标速率设置发送的初始包数量,例如当包大小为1000字节,网络最大速率为100M时,可以将初始包数量设置为12500个。

一些实施例中,装置还包括:

第五模块,用于在控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹的过程,向反弹的预设数据包中添加测速数据包。

需要说明的是,插件发送某个数量的初始测速数据包群到对方设备,并在测试过程中适当补充测速数据包。测速插件根据需要在测速过程中适当补充发送测速数据包,以避免网络传输过程中的数据包丢失引起的速率下降。

一些实施例中,第三模块具体用于:

统计高速数据包浪涌流量中的数据包数量,根据数据包数量确定测速结果。

本发明实施例采用专用的测速数据包,ebpf内核模块在测速开始后检测该数据包,并拦截下来后将该数据包反弹回对端,从而产生测速数据包流量浪涌,通过对接收到的数据包进行统计,从而计算出设备之间的网络连接速率。

一些具体实施例中,基于图8所示的网络测速装置700,本发明实施例首先通过第一模块710响应于预设动作,触发测速指令;并且通过第四模块740基于测速需求,通过预设规则设置预设数据包;进而通过第二模块720基于测速指令,控制网关和路由器通过测速插件互相发送预设数据包,并控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹,进而产生高速数据包浪涌流量;在第二模块720控制网关和路由器通过测速插件将对端发送的预设数据包原路反弹的过程中,同时通过第五模块750向反弹的预设数据包中添加测速数据包;最终通过第三模块730根据高速数据包浪涌流量,统计得到测速结果。

还需要说明的是,本发明装置实施例可以应用在如图6所示的通过手机APP和家庭网关/路由器设备之间通过网关网络测速管理平台进行交互的系统架构。该系统主要包括:家庭网关和路由器ebpf插件,家庭网络测速管理平台,手机APP。

手机APP:含有家庭网络测速功触发与结果显示UI;

家庭网络测速管理平台:发出测速指令并收集测速结果;

家庭网关、路由器:包含ebpf测速插件,执行测速操作并返回测速结果;

基于上述系统架构,有测速需求时,用户点击手机APP(或者网运直接操作测速管理平台)发起测速。这时,家庭网络测速管理平台将测速指令发送到家庭网关和路由器的ebpf测速插件,测速插件收到指令后会发送批量的专用测速包到对端,此后,插件的ebpf内核模块检测到测速数据包,将该包拦截,修改对调源目的地址后将数据包反弹发送回求,这样,在两台设备之间会产生一段时间的浪涌流量,插件对收到的数据包数量进行统计,到达测速预定时间后停止该过程,并将统计结果发送到平台,平台计算出速率后发送回对应的测速需求端完成测速过程。

本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。

另一方面,如图9所示,本发明实施例还提供了一种电子设备900,该电子设备包括至少一个处理器910,还包括至少一个存储器920,用于存储至少一个程序;以一个处理器910及一个存储器920为例。

处理器910和存储器920可以通过总线或者其他方式连接。

存储器920作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器920可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器920可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

以上所描述的电子设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

具体地,图10示意性地示出了用于实现本发明实施例的电子设备的计算机系统结构框图。

需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图10所示,计算机系统1000包括中央处理器1001(Central Processing Unit,CPU),其可以根据存储在只读存储器1002(Read-Only Memory,ROM)中的程序或者从存储部分1008加载到随机访问存储器1003(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1003中,还存储有系统操作所需的各种程序和数据。中央处理器1001、在只读存储器1002以及随机访问存储器1003通过总线1004彼此相连。输入/输出接口1005(Input/Output接口,即I/O接口)也连接至总线1004。

以下部件连接至输入/输出接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

特别地,根据本发明的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理器1001执行时,执行本发明的系统中限定的各种功能。

需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。

本发明实施例的另一方面还提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现前面的方法。

本发明方法实施例的内容均适用于本计算机可读存储介质实施例,本计算机可读存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。

本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行装置、装置或设备(如基于计算机的装置、包括处理器的装置或其他可以从指令执行装置、装置或设备取指令并执行指令的装置)使用,或结合这些指令执行装置、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行装置、装置或设备或结合这些指令执行装置、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。

相关技术
  • 一种神经网络压缩方法、装置、电子设备及存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种漆面识别方法、装置、存储介质及电子设备
  • 一种植物观赏方法、装置、电子设备和存储介质
  • 一种题目搜索、批改方法、装置、电子设备和存储介质
  • 网络测速方法、装置、电子设备及存储介质
  • 网络测速方法、装置、电子设备及存储介质
技术分类

06120116503463