一种认证方法、设备及系统与流程

文档序号:17158789发布日期:2019-03-20 00:21阅读:233来源:国知局
一种认证方法、设备及系统与流程

本发明实施例涉及通信技术领域,尤其涉及一种认证方法、设备及系统。



背景技术:

在当前软件定义网络(softwaredefinednetwork,sdn)系统中,终端设备可以与门户(portal)服务器交互使得终端设备重定向到portal认证页面,以实现终端设备的portal认证。

现有技术中,portal服务器与终端设备交互以实现终端设备的portal认证的过程包括以下步骤:终端设备通过openflow交换机(switch)或openflow无线接入点(accesspoint,ap)等接入设备向sdn控制器发送超文本传输协议(hypertexttransferprotocol,http)流量请求;sdn控制器通过下发流表控制交换设备将该http流量请求转发至portal服务器;portal服务器根据该http流量请求向终端设备推送portal认证页面;终端设备接收用户在该portal认证页面上输入的账户和密码等认证信息,并将该认证信息上报至portal服务器;portal服务器根据该认证信息授权该终端设备,实现该终端设备的portal认证。

存在的问题是,在终端设备关闭发起流量请求的应用程序、休眠、断电关机或者断开网络连接等情况下,终端设备与portal服务器需要重复执行上述实现终端设备的portal认证的各个步骤。如此,将导致sdn网络中终端设备进行portal认证的过程较为繁琐。



技术实现要素:

本发明实施例提供一种认证方法、设备及系统,以解决sdn网络中终端设备进行portal认证的过程较为繁琐的问题。

为了解决上述技术问题,本发明实施例是这样实现的:

第一方面,本发明实施例提供一种认证方法,应用于软件定义网络sdn系统中的接入设备,sdn系统中还包括sdn控制器、portal服务器和终端设备;该方法包括:接收终端设备发送的第一数据流;在第一数据流与接入设备中的转发流表中的流表项均不匹配的情况下,存储第一数据流,并向sdn控制器发送第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;接收sdn控制器发送的第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;根据第一流表项转发第一数据流。

第二方面,本发明实施例还提供了一种认证方法,应用于sdn系统中的sdn控制器,sdn系统中还包括接入设备、portal服务器和终端设备;该方法包括:接收接入设备发送的第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;根据第一请求报文,生成第一无感知认证请求报文,第一无感知认证请求报文用于触发portal服务器对终端设备进行无感知认证;向portal服务器发送第一无感知认证请求报文;接收portal服务器发送的无感知认证成功报文,无感知认证成功报文中包括终端设备的访问策略;根据访问策略,生成第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;向接入设备发送第一转发报文。

第三方面,本发明实施例提供一种认证方法,应用于sdn系统中的portal服务器,sdn系统中还包括sdn控制器、接入设备和终端设备;该方法包括:接收sdn控制器发送的第一无感知认证请求报文,第一无感知认证请求报文用于触发portal服务器对终端设备进行无感知认证;在确定终端设备无感知认证成功的情况下,生成无感知认证成功报文,无感知认证成功报文中包括终端设备的访问策略;向sdn控制器发送无感知认证成功报文,无感知认证成功报文用于指示sdn控制器生成第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发接入设备中存储的第一数据流。

第四方面,本发明实施例提供了一种接入设备,包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面的认证方法的步骤。

第五方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面的认证方法的步骤。

第六方面,本发明实施例提供了一种sdn控制器,包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第二方面的认证方法的步骤。

第七方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第二方面的认证方法的步骤。

第八方面,本发明实施例提供了一种portal服务器,包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第三方面的认证方法的步骤。

第九方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第三方面的认证方法的步骤。

第十方面,本发明实施例提供了一种sdn系统,包括第一方面所述的接入设备、第二方面所述的sdn控制器、第三方面所述的portal服务器以及终端设备。

在本发明实施例中,终端设备向接入设备发送的第一数据流之后,在第一数据流与接入设备中的转发流表中的流表项均不匹配的情况下,接入设备可以存储第一数据流,并向sdn控制器发送第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;接入设备可以接收sdn控制器发送的第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;根据第一流表项转发第一数据流。基于本方案,终端设备在未进行portal认证的情况下发送第一数据流之后,接入设备可以向sdn控制器发送用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证的第一请求报文,便可以触发portal服务器确定终端设备的无感知认证成功,即portal认证成功,以使得接入设备可以转发第一数据流。如此,本方案中portal服务器可以在本地确定终端设备的portal认证成功,使得sdn系统中的各个设备可以在转发层实现终端设备的portal认证,即,并使得sdn控制器在转发层向接入设备下发包括第一转发流表的第一转发报文,而不需要portal服务器指示终端设备重定向至portal认证页面实现终端设备的portal认证,即不需要portal服务器与终端设备在应用层进行交互。从而,可以简化sdn网络中终端设备进行portal认证的过程。

另外,由于避免了终端设备向用户提供portal认证页面,进而避免了用户对该portal认证页面输入认证信息的步骤,因此可以简化终端设备进行portal认证过程中用户的操作,即提高了用户使用终端设备上网时的用户体验。

附图说明

图1为本发明实施例提供的认证方法所应用的一种sdn系统的网络架构示意图;

图2为本发明实施例提供的认证方法的流程示意图之一;

图3为本发明实施例提供的认证方法的流程示意图之二;

图4为本发明实施例提供的认证方法的流程示意图之三;

图5为本发明实施例提供的认证方法的流程示意图之四;

图6为本发明实施例提供的认证方法的流程示意图之五;

图7为本发明实施例提供的认证方法的流程示意图之六;

图8为本发明实施例提供的接入设备的结构示意图之一;

图9为本发明实施例提供的sdn控制器的结构示意图之一;

图10为本发明实施例提供的portal服务器的结构示意图之一;

图11为本发明实施例提供的接入设备的结构示意图之二;

图12为本发明实施例提供的sdn控制器的结构示意图之二;

图13为本发明实施例提供的portal服务器的结构示意图之二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本文中的“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。“多个”是指两个或多于两个。

需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一转发流表和第二转发流表等是用于区别不同的转发流表,而不是用于描述转发流表的特定顺序。

本发明实施例提供的认证方法及设备,可以应用于终端设备从网络侧获取网络资源的场景中,具体应用于终端设备从网络侧获取一些网络资源之前,请求portal服务器进行portal认证的过程中。其中,本发明实施例中终端设备可以在网络侧实现无感知认证,或者实现有感知认证。

可以理解的是,本发明实施例中,“无感知认证”指的是终端设备在portal认证过程中不需要向用户提供输入账户和密码等认证信息的portal认证页面,便可以实现终端设备的portal认证;此时,使用终端设备的用户不会感知到终端设备进行portal认证的过程。“有感知认证”指的是终端设备在portal认证过程中,向用户提供输入账户和密码等认证信息的portal认证页面,接收用户在该portal认证页面上输入的账户和密码等认证信息,根据该认证信息实现终端设备的portal认证。

其中,本发明实施例提供的认证方法,具体可以应用于终端设备关闭发起流量请求或数据流的应用程序、休眠、断电关机、或者断开网络连接(如离开无线ap的无线信号的覆盖范围)时,终端设备重新进行portal认证的过程中。

具体的,本发明实施例中提供的认证方法可以应用于sdn系统,该sdn系统中包括portal服务器、sdn控制器、接入设备和至少一个终端设备。其中,上述sdn控制器(controller)可以为openflow控制器;接入设备可以为openflow交换机(switch)或openflow无线接入点(accesspoint,ap)。另外,上述sdn系统中还可以包括终端设备发起的数据流所请求的网络资源对应的服务器。

可以理解的是,在接入设备为openflowswitch时,与该openflowswitch交互的终端设备可以为有线终端设备,如个人计算机(personalcomputer,pc)、笔记本电脑、掌上电脑等。在接入设备为openflowap时,与该openflowap交互的终端设备可以为无线终端设备,如手机、平板电脑、掌上电脑、车载终端、可穿戴设备、上网本或者个人数字助理(personaldigitalassistant,pda)等。

需要说明的是,本发明实施例中,sdn系统中报文转发过程可以由openflowswitch(openflow交换机)和openflow控制器来共同完成,以实现报文转发过程中的数据转发和路由控制的分离。具体的,openflow控制器可以通过事先规定好的接口操作来控制openflowswitch(在本发明实施例中统称为接入设备)中的流表,从而达到通过流表控制数据转发的目的。

参照图1,为本发明实施例中提供的认证方法所应用的一种sdn系统的网络架构示意图。图1示出的网络架构中包括portal服务器01、openflow控制器02、openflowswitch03、与openflowswitch03连接的终端设备04、openflowswitch05、与openflowap05无线连接的终端设备06,以及与openflowswitch03和openflowap05连接的数据服务器07。

示例性的,以终端设备04、openflowswitch03、portal服务器01和openflow控制器02之间的交互为例,说明图1示出的sdn系统中的各个设备之间的交互关系。其中,终端设备04,用于向openflowswitch03发送数据流或流量请求等数据,如发起用于触发进行portal认证的超文本传输协议(hypertexttransferprotocol,http)流量请求;以及接收portal服务器下发的portal认证页面等。openflowswitch03,用于接收终端设备04发送的数据流或流量请求等数据,以及根据该openflowswitch03中保存的转发流表转发该数据;以及接收openflow控制器02下发的转发流表。openflow控制器02,用于向openflowswitch03下发转发流表,以及根据portal服务器01下发的信息生成转发流表。portal服务器01,用于向终端设备04下发portal认证页面,以及向openflow控制器02下发用于指示生成转发流表的信息。

可以理解的是,openflow控制器和portal服务器之间的业务交互和保活,实现portal服务器对通过openflow控制器对底层网络资源(openflowswitch/ap的portal认证相关的基础管理)。其中,openflow控制器和portal服务器互联互通,有线终端通过openflowswitch接入认证后访问网络资源,无线终端通过openflowap接入认证以访问网络资源。当openflow控制器和portal服务器上线互通后,openflow控制器主要利用南向接口进行openflowswitch/ap等网络设备进行链路发现,拓扑管理,流表管理等,openflow控制器通过北向接口和portal服务器互联,使得portal服务器可以便利的通过openflow控制器调用底层的网络资源能力,在北向接口上采用openflow控制器向portal服务器进行注册,保活,更新的方式进行业务交互。

需要说明的是,一个openflow转发流表(也称流表)可以包括一个或多个流表项,每个流表项均由3部分组成:用于数据流(也称数据包)匹配的包头域(headerfields),用于统计匹配数据流个数的计数器(counters),用于展示匹配的数据流如何处理的动作(actions)。

包头域:openflow流表的包头域(openflowv1.1之后被称作匹配域),用于对交换机接收到的数据包的包头内容进行匹配。在openflowv1.0中,流表的包头域中包括了12个元组(tuple)。例如,下述表1示出了流表的包头域中包括的12个元组的内容。

表1

计数器:openflow流表的计数器可以针对交换机中的每张流表、每个数据流(也即数据包)、每个设备端口、每个转发队列进行维护,用于统计数据流量的相关信息。

动作:openflow流表的动作用于指示openflowswitch在收到匹配的数据包后应该如何对其进行处理。

具体的,openflowswitch的每个流表项可以对应有零至多个动作,如果没有定义转发动作,那么与流表项包头域匹配的数据包将被默认丢弃。统一流表项中的多个动作的执行可以具有优先级,但是在数据包的发送上并不保证其顺序。另外,如果流表项中出现有openflowswitch不支持的参数值,交换机将向sdn控制器返回相应的出错信息。具体的,上述动作可以分为必备动作(requiredactions)和可选动作(optionalactions)两种类型。其中,必备动作是需要由所有的openflowswitch默认支持的,而可选动作则需要由交换机告知sdn控制器它所能支持的动作种类。

示例性的,如表2所示为openflow流表动作的列表。

具体的,本发明实施例提供认证方法及设备,接入设备可以接收终端设备发送的第一数据流;在所述第一数据流与所述接入设备中的转发流表中的流表项均不匹配的情况下,接入设备存储所述第一数据流,并向sdn控制器发送第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;随后,在终端设备无感知认证成功的情况下,接入设备可以接收sdn控制器发送的第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;根据第一流表项转发第一数据流。如此,终端设备不需要向用户提供portal服务器认证页面、以接收用户输入的账户和密码等认证信息,而是通过无感知认证便可以实现终端设备的portal认证。从而,有利于简化sdn网络中终端设备进行portal认证的过程。

需要说明的是,本发明实施例中以sdn系统中,一个终端设备与portal服务器、sdn控制器、接入设备交互,实现该终端设备的portal认证为例,说明本发明实施例提供的认证方法。

下面结合图2所示的认证方法的流程图对本发明实施例提供的认证方法进行详细描述。其中,虽然在方法流程图中示出了本发明实施例提供的认证方法的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,图2中示出的认证方法可以包括s201-s216:

s201、终端设备向接入设备发送第一数据流。

可以理解的是,上述第一数据流可以为终端设备中安装的应用程序发起的。其中,上述第一数据流可以为用户通过对终端设备中的该应用程序的操作,触发发起的数据流。

需要说明的是,终端设备发起的数据流(如上述第一数据流)可以用于请求网络资源。其中,有的数据流请求的网络资源为需要portal服务器授权认证的网络资源;有的数据流请求的网络资源为非授权认证网络资源,即该网络资源不需要portal服务器授权认证。

具体的,本发明实施例中,终端设备可以在关闭发起流量请求的应用程序、休眠、断电关机、或者断开网络连接等终端设备空闲下线的情况下,向接入设备发送第一数据流。

s202、接入设备接收终端设备发送的第一数据流。

其中,接入设备中可以包括多个接收数据流的端口(即入端口),也记为in_port端口。例如,上述接入设备中接收第一数据流的端口可以记为第一端口。

s203、在第一数据流与接入设备中的转发流表中的流表项均不匹配的情况下,接入设备存储第一数据流。

其中,s203中接入设备中的转发流表可以为接入设备中保存的白名单转发流表,该转发流表可以用于接入设备转发请求非授权网络资源的数据流。

可以理解的是,接入设备在接收到终端设备发送的第一数据流之后,接入设备可以判断该第一数据流与接入设备中当前保存的上述转发流表(即白名单转发流表)中的转发表项是否匹配。具体的,第一数据流与接入设备中的转发流表中的流表项均不匹配,则说明第一数据流请求的网络资源为需要授权认证的网络资源。此时,终端设备可以进行portal认证,以获取需要授权认证的网络资源。

其中,接入设备可以在其存储区域中保存上述第一数据流,以备后续终端设备的portal认证成功时,接入设备可以转发该第一数据流。例如,接入设备可以将第一数据流缓存到其缓存区(buffer)中,且该buffer中缓存该第一数据流的缓存地址(即buffer_id)可以通过第一地址信息,如buffer_id1。

s204、接入设备向sdn控制器发送第一请求报文。

其中,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证。

具体的,接入设备可以将第一数据流封装至一个packet_in报文的data字段中。

示例性的,如表3所示,为本发明实施例提供的packet_in报文的内容的示意图。

表3

其中,上述packet_in报文可以由packet-in消息携带。packet-in消息的功能是:将到达openflowswitch的数据包发送到sdn控制器。

具体的,字段buffer_id,用于表示openflowswitch中保存的数据包(如上述第一数据流)的缓存地址,该字段的比特位数为32。字段total_len,用于表示数据包的帧的长度,该字段的比特位数为16。字段in_port,用于表示接受帧的端口,也即接收数据流的入端口,该字段的比特位数为16。字段reason,用于指示发送packet-in消息的原因(如不存在与流表项匹配一致的数据流(ofpr_no_match)),该字段的比特位数为8。字段pad,用于调整对齐的填充,该字段的比特位数为8。字段data,为包含以太网帧的数据时使用的字段,该字段的比特位数不作限制。

可以理解的是,上述packet_in报文(即第一请求报文)中字段data中可以包括发起数据流的终端设备的媒体访问控制地址(mediaaccesscontroladdress,mac)地址、该终端设备的网络之间互连的协议(internetprotocol,ip)地址;以及接入设备的mac地址和接入设备中接收该数据流的入端口信息。

示例性的,本发明实施例中,发起第一数据流的终端设备可以记为终端设备1,接收第一数据流的接入设备可以记为接入设备1,该接入设备1是通过其入端口1接收第一数据流。其中,上述端口1的信息可以为上述第一端口信息。例如,在接入设备为openflowswitch时,接入设备的mac地址即为openflowswitch的mac地址,在接入设备为openflowap时,接入设备的mac地址即为openflowap的(basicserviceset,bss)id。

另外,终端设备在空闲下线、终端设备未进行portal认证或终端设备的portal认证失败的情况下,接入设备中保存的用于转发该终端设备的数据流的转发流表一般会老化删除,使得接入设备没有与该数据流匹配的转发流表。

需要说明的是,本发明实施例中,描述的与一个数据流匹配的转发流表,指的是包括与该数据流匹配的流表项的转发流表。

s205、sdn控制器接收接入设备发送的第一请求报文。

其中,上述sdn控制器接收的第一请求报文可以为上述packet_in报文。具体的,sdn控制器成功接收到packet_in报文之后,可以解析该报文以得到该报文中的字段buffer_id中的缓存地址。并且,可以解析packet_in报文中的字段data中包括的终端设备的mac地址和终端设备的ip地址。另外,sdn控制器可以确定其接收该packet_in报文的入端口路,即in_port端口,并在本地查找该in_port端口对应的接入设备的mac地址,如openflowswitch的mac地址,openflowap的bssid。

s206、sdn控制器根据第一请求报文,生成第一无感知认证请求报文。

其中,第一无感知认证请求报文用于触发portal服务器对终端设备进行无感知认证。

具体的,sdn控制器可以将上述终端设备的mac地址、终端设备的ip地址以及接入设备的mac地址按照下述表4的格式填入到portal-fastquset报文中。

表4

具体的,sdn控制器可以将终端设备的ip地址填置到表4示出的portal-fastquset报文的字段userip中,并将终端设备的mac地址和接入设备的mac地址等其他参数添置到表4示出的portal-fastquset报文的属性字段attr中。

s207、sdn控制器向portal服务器发送第一无感知认证请求报文。

具体的,sdn控制器可以向portal服务器发送上述portal-fastquset报文。

s208、portal服务器接收sdn控制器发送的第一无感知认证请求报文。

可以理解的是,portal服务器接收到第一无感知认证请求报文之后,便可以得到该报文中的终端设备的mac地址、终端设备的ip地址以及接入设备的mac地址等信息。

s209、在确定终端设备无感知认证成功的情况下,portal服务器生成无感知认证成功报文。

其中,无感知认证成功报文中包括终端设备的访问策略。另外,无感知认证成功报文可以指示终端设备无感知认证成功,即终端设备的portal认证成功。

具体的,本发明实施例中,终端设备的访问策略中可以包括终端设备的使用时长和可访问资源以及服务质量(qualityofservice,qos)等信息。其中,终端设备的使用时长可以包括用户允许使用时长和最大空闲时长等。

可以理解的是,portal服务器在确定终端设备无感知认证成功之后,便可以在本地记录该终端设备的在线信息并对该终端设备开始计费,也即portal服务器更新了该portal服务器中保存的该终端设备的上网记录信息。

s210、portal服务器向sdn控制器发送无感知认证成功报文。

其中,无感知认证成功报文用于指示sdn控制器生成第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发接入设备中存储的第一数据流。

s211、sdn控制器接收portal服务器发送的无感知认证成功报文,无感知认证成功报文中包括终端设备的访问策略。

可以理解的是,sdn控制器接收portal服务器发送的无感知认证成功报文之后,便得到了该终端设备的访问策略。

s212、sdn控制器根据访问策略,生成第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项。

其中,第一流表项用于转发第一数据流。

示例性的,sdn控制器可以根据终端设备的访问策略中的时长策略,将用户允许使用时长设置到转发流表的字段hard_timeout中、最大空闲时长设置到对应流表的字段idle_time中,并将上述sdn控制器或得到buffer_id(也即第一数据流对应的buffer_id1)填充到ofpt_flow_mod报文中。另外,可以将该ofpt_flow_mod报文中的标志字段(如字段flags)填成1,以指示接入设备保存该报文中携带的转发流表。此时,该ofpt_flow_mod报文为上述第一转发报文,该转发报文中的转发流表可以为上述第一转发流表。需要特别注意的是,本发明实施例中对上述提到的第一转发报文以ofpt_flow_mod进行命名为例进行说明,不作为对本发明实施例的限定。

可以理解的是,本发明实施例中提供的第一转发流表中可以包括多个流表项,该多个流表项中可以包括与上述第一数据流匹配的第一流表项。

s213、sdn控制器向接入设备发送第一转发报文。

示例性的,sdn控制可以向接入设备发送上述ofpt_flow_mod报文。

s214、接入设备接收sdn控制器发送的第一转发报文。

可以理解的是,接入设备接收到第一转发报文,如上述ofpt_flow_mod报文之后,可以保存该第一转发报文中的第一转发流表。

s215、接入设备根据第一流表项转发第一数据流。

具体的,接入设备可以将第一数据流转发至该第一数据流所请求的网络资源对应的服务器,以使得终端设备可以获取该网络资源。

由于在s215中,接入设备认证通过了,所以该接入设备还可以转发来自终端设备的其他符合转发策略的数据流了,即与上述第一转发流表中的流表项匹配的数据流。

需要说明的是,本发明实施例提供的认证方法,应用于sdn系统中,该sdn系统中包括接入设备、sdn控制器、portal服务器和终端设备。具体的,终端设备向接入设备发送的第一数据流之后,在第一数据流与接入设备中的转发流表中的流表项均不匹配的情况下,接入设备可以存储第一数据流,并向sdn控制器发送第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;接入设备可以接收sdn控制器发送的第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;根据第一流表项转发第一数据流。基于本方案,终端设备在未进行portal认证的情况下发送第一数据流之后,接入设备可以向sdn控制器发送用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证的第一请求报文,便可以触发portal服务器确定终端设备的无感知认证成功,即portal认证成功,以使得接入设备可以转发第一数据流。如此,本方案中portal服务器可以在本地确定终端设备的portal认证成功,使得sdn系统中的各个设备可以在转发层实现终端设备的portal认证,即,并使得sdn控制器在转发层向接入设备下发包括第一转发流表的第一转发报文,而不需要portal服务器指示终端设备重定向至portal认证页面实现终端设备的portal认证,即不需要portal服务器与终端设备在应用层进行交互。从而,可以简化sdn网络中终端设备进行portal认证的过程。

另外,由于避免了终端设备向用户提供portal认证页面,进而避免了用户对该portal认证页面输入认证信息的步骤,因此可以简化终端设备进行portal认证过程中用户的操作,即提高了用户使用终端设备上网时的用户体验。

在一种可能的实现方式中,本发明实施例提供的认证方法,在一个终端设备进行与portal服务器交互使得该终端设备portal认证成功的情况下,portal服务器中可以保存该终端设备的mac地址、该终端设备的ip地址以及该终端设备的上网记录信息等信息。随后,在该终端设备空闲下线的情况下,该终端设备发起的数据流可以触发sdn系统终端中的各个设备交互,对该终端设备进行无感知认证。

具体的,本发明实施例提供的认证方法,在上述s208和s209之间还可以包括s216:

s216、portal服务器判断终端设备是否无感知认证成功。

其中,本发明实施例中,在满足无感知认证条件的情况下,portal服务器确定终端设备无感知认证成功;在不满足无感知认证条件的情况下,portal服务器确定终端设备无感知认证失败。

具体的,上述无感知认证条件可以包括以下条件1~4中的至少一项:

条件1、portal服务器中保存有终端设备的认证记录信息。

其中,终端设备的认证记录信息可以包括指示该终端设备portal认证成功的信息。另外,该认证记录信息中还可以包括该终端设备的mac地址、该终端设备的ip地址、该终端设备上线的时间、该终端设备在线的时长、该终端设备下线的时间等上网记录信息,以及该终端设备portal认证的账户名和密码等认证信息。

可以理解的是,portal服务器中保存有终端设备的认证记录信息,说明该终端设备在发起此次数据流(如上述第一数据流)之前曾经portal认证成功,当前处于空闲下线的状态。

条件2、终端设备的上网时长小于终端设备的最大允许使用时长。

其中,终端设备的最大允许使用时长可以为该终端设备付费购买的使用时长。如此,在终端设备的上网时长等于终端设备的最大允许使用时长时,终端设备的无感知认证失败,即portal认证失败。

条件3、portal服务器中在线终端设备的数量小于最大允许数量。

其中,在portal服务器中在线终端设备的数量小于最大允许数量的情况下,portal服务器可以对终端设备进行portal认证。如此,在portal服务器中在线终端设备的数量大于或等于最大允许数量的情况下,发起第一数据流的终端设备的无感知认证失败,即portal认证失败。

条件4、portal服务器中保存有终端设备的地址信息和接入设备的地址信息之间的关联关系。

其中,上述终端设备的地址信息和接入设备的地址信息之间的关联关系,即是该终端设备的安全绑定信息。

可以理解的是,portal服务器中保存有终端设备的地址信息和接入设备的地址信息之间的关联关系,说明该终端设备与该接入设备之间的安全绑定正确。

相反的,portal服务器中保存有终端设备的地址信息和接入设备的地址信息之间的关联关系,则说明该终端设备和该接入设备之间的连接可能不安全,即该终端设备与该接入设备之间未安全绑定。此时,该终端设备与该接入设备连接交互的数据,如该终端设备向该接入设备发送的第一数据流的安全性不高。如此,在portal服务器中未保存终端设备的地址信息和接入设备的地址信息之间的关联关系,则该终端设备向该接入设备发起的第一数据流,触发该终端设备的无感知认证失败,即portal认证失败。

可以理解的是,portal服务器可以将第一无感知认证请求报文中携带的终端设备的mac地址、终端设备的ip地址以及接入设备的mac地址等信息,与portal服务器中已经保存的终端设备的mac地址、终端设备的ip地址以及接入设备的mac地址等信息进行比对。从而确定出第一无感知认证请求报文中携带的终端设备的mac对应的终端设备,即发起第一数据流的终端设备是否无感知认证成功。

可选的,本发明实施例中,上述无感知认证条件可以包括上述条件1~4中的每一项条件。另外,无感知认证条件还可以包括其他条件,本发明实施例对此不作具体限定。

可以理解的是,在无感知认证条件可以包括上述条件1~4中的每一项条件时,portal服务器确定该终端设备的无感知认证成功的准确性较高。

示例性的,如图3所示,为本发明实施例提供的一种认证方法的流程示意图。其中,图3示出方法主要portal服务器判断终端设备1是否无感知认证成功的过程,终端设备1是向接入设备1发送第一数据流的。具体的,图3示出的方法中,包括s301-s304和s305:

s301、portal服务器判断portal服务器中是否保存有终端设备1的认证记录信息。

s302、在portal服务器中保存有终端设备1的认证记录信息的情况下,portal服务器判断终端设备1的上网时长是否小于终端设备1的最大允许使用时长,以及portal服务器中在线终端设备的数量是否小于最大允许数量。

s303、在终端设备1的上网时长小于终端设备1的最大允许使用时长,且portal服务器中在线终端设备的数量小于最大允许数量的情况下,portal服务器判断portal服务器中是否保存有终端设备1与接入设备1之间的关联关系。

s304、在portal服务器中保存有终端设备1与接入设备1之间的关联关系的情况下,portal服务器确定终端设备1无感知认证成功。

其中,在portal服务器确定终端设备1无感知认证成功的情况下,portal服务器可以记录终端设备1的在线信息、开始计费,以及通知sdn控制器向接入设备发送第一转发流表,即发送包括第一转发流表的第一转发报文。

s305、在portal服务器未保存终端设备的认证记录信息、或终端设备1的上网时长大于或等于终端设备1的最大允许使用时长、或portal服务器中在线终端设备的数量大于或等于最大允许数量、或portal服务器中未保存终端设备1与接入设备1之间的关联关系的情况下,portal服务器确定终端设备无感知认证失败。

其中,上述s302-s304与s305为并列的步骤。

需要说明的是,本发明实施例提供的认证方法,portal服务器中可以预先存储已经portal认证成功的终端设备的认证记录信息、以及该终端设备和与其连接的接入设备之间的关联关系。如此,使得portal服务器可以通过当前接收到的第一无感知认证请求报文携带的信息与该portal服务器保存的信息进行比对,确定得到当前发起第一数据流的终端设备是否无感知认证成功。其中,由于portal服务器判断该终端设备是否无感知认证成功的无感知认证条件中包括多个条件,因此有利于提高终端设备的无感知认证结果的准确性。

在一种可能的实现方式中,本发明实施例提供的认证方法中,终端设备可能无感知认证失败,此时将触发终端设备的有感知认证。具体的,如图4所示,本发明实施例中在上述s208之后还包括s401-s408:

s401、在确定终端设备无感知认证失败的情况下,portal服务器生成无感知认证失败报文。

其中,无感知认证失败报文用于指示sdn控制器生成第二转发报文,第二转发报文中包括第二转发流表和第一指示信息,第二转发流表包括第二流表项,第二流表项用于转发预设类型的流量请求,第二流表项的动作包括修改目的地址为portal服务器的地址,第一指示信息用于指示丢弃第一数据流。另外,上述无感知认证失败报文用于指示终端设备无感知认证失败。示例性的,可以通过第二流表项中的可选动作“修改域”,修改第二流表项中的目标mac地址为portal服务器的地址,以实现上述“第二流表项的动作包括修改目的地址为portal服务器的地址”。

可以理解的是,本发明实施例提供的认证方法,在图4示出的s208和s401之间还可以包括上述实施例中的s301-s303以及s305。

s402、portal服务器向sdn控制器发送无感知认证失败报文。

s403、sdn控制器接收portal服务器发送的无感知认证失败报文。

s404、sdn控制器根据无感知认证失败报文,生成第二转发报文,第二转发报文中包括第二转发流表和第一指示信息,第二转发流表包括第二流表项。

其中,第二流表项用于转发预设类型的流量请求,第二流表项的动作包括修改目的地址为portal服务器的地址,第一指示信息用于指示丢弃第一数据流。另外,第二转发报文中还包括第一指示信息。

其中,上述预设类型的流表请求可以为http流量请求。

具体的,sdn控制器根据无感知认证失败报文,生成的第二转发报文可以为普通认证流表(即上述第一转发流表)。其中,sdn控制器将其获取的buffer_id填充至ofpt_flow_mod报文中,生成第一指示信息。ofpt_flow_mod报文中可以包括上述第二转发流表。

s405、sdn控制器向接入设备发送第二转发报文。

s406、接入设备接收sdn控制器发送的第二转发报文。

s407、接入设备根据第一指示信息,丢弃第一数据流。

可以理解的是,由于第二转发报文中的第一指示信息中包括buffer_id(如第一数据流对应的buffer_id1),因此接入设备可以将其存储的buffer_id1对应的第一数据流丢弃。

s408、接入设备根据第二流表项,将预设类型的第一流量请求转发至portal服务器,第一流量请求为终端设备发送的。

可以理解的是,接入设备将预设类型的第一流量请求转发至portal服务器,可以通过该第一流量请求触发portal服务器对终端设备进行portal认证,即有感知认证。

其中,本发明实施例提供的认证方法中,上述s209-s215与s401-s408是并列关系。

需要说明的是,本发明实施例提供的认证方法,在终端设备无感知认证失败的情况下,portal服务器并非指示终端设备重定向到该portal服务器,而是通过触发sdn控制器向接入设备直接下发包括第二转发流表的第二转发报文。如此,终端设备发起的第一流量在接入设备中通过第二转发流表中的第二表项转发至portal服务器,而不需要在portal服务器和终端设备在应用层将第一流量请求的目的地址重定向至portal服务器。从而,有利于进一步简化sdn系统中终端设备portal认证的过程。另外,有利于提高终端设备portal认证过程的执行在配置不同应用层的不同sdn系统中应用的兼容性。

在一种可能的实现方式中,本发明实施例提供的认证方法,终端设备有感知认证成功之后,portal服务器可以给该终端设备推送终端设备的目标页面。其中,目标页面为第一数据流所请求的网络资源对应的页面,该目标页面也可以称为终端设备的原始访问页面。

具体的,本发明实施例提供的认证方法,结合图4,图5示出的s408之后还可以包括s501-s5014:

s501、portal服务器接收接入设备转发的预设类型的第一流量请求。

s502、portal服务器向终端设备返回portal认证页面,并获取目标服务器的地址。

可以理解的是,本发明实施例上述“获取目标服务器的地址”,具体可以通过portal服务器获取第一数据流对应的目标页面的统一资源定位符(uniformresourcelocator,url)。其中,目标页面的url可以映射到目标服务器的地址。即portal服务器可以通过获取目标页面的url,得到目标服务器的地址。

另外,portal服务器获取目标服务器的地址之后,可以在本地保存该目标服务器的地址,也即上述目标页面的url。

s503、终端设备接收并显示portal服务器返回的portal认证页面。

s504、终端设备接收用户在portal认证页面上输入的认证信息。

可以理解的是,上述认证信息可以包括用户输入的账号和密码等信息。

s505、终端设备通过portal认证页面返回认证信息。

s506、portal服务器接收终端设备通过portal认证页面返回的认证信息。

s507、portal服务器根据认证信息确定终端设备认证成功,并生成认证成功报文。

可以理解的是,portal服务器根据得到包括账户和密码等信息的认证信息之后,可以在对该认证信息进行认证鉴权,如果认证失败则直接指示终端设备在portal认证页面给出终端认证失败的原因,如密码错误等。

另外,在终端设备认证成功的情况下,portal服务器可以记录终端认证信息(即得到该终端设备的认证记录细腻),记录终端用户在线信息,以及开始计费。

其中,认证成功报文中包括终端设备的访问策略,认证成功报文用于指示sdn控制器生成第三转发报文,第三转发报文包括第三转发流表,第三转发流表用于指示终端设备的访问策略。

s508、在portal服务器指示终端设备重定向到目标页面的情况下,portal服务器生成推送报文。

其中,上述推送报文中包括目标服务器的地址,推送报文用于指示sdn控制器生成第一指示报文,第一指示报文用于指示将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址。

可以理解的是,portal服务器中可以预先保存有针对各个终端设备是否在认证成功之后,是否推送目标页面的推送策略。示例性的,在portal服务器中针对一个终端设备的推送策略指示在该终端设备认证成功之后,可以向该终端设备推送目标页面。或者,在portal服务器中针对一个终端设备的推送策略指示在该终端设备认证成功之后,不需要向该终端设备推送目标页面;也即可以使得终端设备的页面停留在portal认证页面,而不会自动调转到其他页面(如上述目标页面)。

另外,在portal服务器指示终端设备重定向到目标页面的情况下,sdn系统中的各个设备还可以在应用层中交互,以实现终端设备重定向到目标页面。

s509、portal服务器向sdn控制器发送认证成功报文和推送报文。

s510、sdn控制器接收portal服务器发送的认证成功报文和推送报文。

其中,认证成功报文中包括终端设备的访问策略,推送报文中包括目标服务器的地址,目标服务器为第一数据流所请求的网络资源对应的服务器。

s511、sdn控制器根据认证成功报文生成第三转发报文。

其中,第三转发报文中包括第三转发流表,第三转发流表用于指示终端设备的访问策略。

具体的,sdn控制器可以根据认证成功报文中包括的终端设别的访问策略中的时长策略,将用户允许使用时长设置到第三转发流表的hard_timeout字段中,将最大空闲时长设置到第三转发流表的idle_time字段。进而,将该第三转发流表填充到ofpt_packet_out报文,并将该ofpt_packet_out报文的标志字段(如字段flags)填成1。此时,该ofpt_packet_out报文即为上述第三转发报文。

s512、sdn控制器根据推送报文生成第一指示报文。

其中,第一指示报文用于指示将第二转发流表的目的地址修改为目标服务器的地址,目标服务器为第一数据流所请求的网络资源对应的服务器。

具体的,sdn控制器可以通过后将ofpt_flow_mod报文通知接入设备将第二转发流表的目的地址修改为目标服务器的地址,即使得接入设备将第一流量请求转发到目标服务器。其中,该ofpt_flow_mod报文可以为上述第一指示报文。

s513、sdn控制器向接入设备发送第三转发报文和第一指示报文。

s514、接入设备接收sdn控制器发送的第三转发报文和第一指示报文。

s515、接入设备保存第三转发流表,并根据第一指示报文,将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址。

其中,由于第二转发流表中的第二流表项的目的地址修改为目标服务器的地址,因此接入设备快速地在转发层支持终端设备的页面切换为目标页面。

可以理解的是,终端设备在显示portal认证页面并完成portal认证之后,终端设备可以将当前显示的portal认证页面直接跳转为目标页面,而不需要用户手动触发终端设备跳转到目标页面,如不需要用户手动触发终端设备开启目标页面所在的应用程序。

另外,由于接入设备中保存有上述第三转发报文中的第三转发流表,因此后续与第三转发流表对应的终端设备再次向该终端设备发起需要授权认证的数据流时,接入设备可以根据该第三转发流表中与该数据流匹配的流表项转发该数据流。如此,使得终端设备portal认证成功之后,获得了上网权限。

需要说明的是,本发明实施例提供的认证方法,由于portal服务器在对终端设备进行portal认证的过程中,可以获取得到目标页面的url,即获取得到目标服务器的地址;因此,在终端设备portal认证成功之后,portal服务器可以指示sdn控制器向接入设备发送第三转发报文和第一指示报文,使得接入设备获取得到第三转发流表,并将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址。如此,使得终端设备快速地获得上网权限的同时,可以直接将当前显示的页面跳转为目标页面。从而,有利于减少用户使用终端设备上网过程中的操作,提高用户体验。

在一种可能的实现方式中,本发明实施例提供的认证方法,终端设备的有感知认证成功之后,portal服务器可以不向终端设备其目标页面。

具体的,本发明实施例提供的认证方法,结合图5,图6示出的s506之后还可以包括s601-s606:

s601、portal服务器向sdn控制器发送认证成功报文。

其中,认证成功报文还用于指示sdn控制器生成第二指示报文,第二指示报文用于指示删除第二转发流表。

s602、sdn控制器接收portal服务器发送的认证成功报文。

其中,认证成功报文中包括终端设备的访问策略。

s603、sdn控制器根据认证成功报文生成第三转发报文和第二指示报文。

其中,第三转发报文包括第三转发流表,第三转发流表用于指示终端设备的访问策略,第二指示报文用于指示删除第二转发流表。

具体的,sdn控制器可以通过ofpt_flow_remove报文通知接入设备删除上述第二转发流表,即使得接入设备不再将预设类型的流量请求转发至、portal服务器。其中,该ofpt_flow_remove报文可以为上述第二指示报文。

s604、sdn控制器向接入设备发送第三转发报文和第二指示报文。

s605、接入设备接收sdn控制器发送的第三转发报文和第二指示报文。

s606、接入设备保存第三转发流表,并根据第二指示报文,删除第二转发流表。

其中,本发明实施例中对s606的详细描述可以参照上述实施例中对s514的相关描述,这里不再赘述。

其中,上述实施例中的s507-s514与s601-s606之间为并列关系。

本发明实施例中,由于接入设备中保存有上述第三转发报文中的第三转发流表,因此后续与第三转发流表对应的终端设备再次向该终端设备发起需要授权认证的数据流时,接入设备可以根据该第三转发流表中与该数据流匹配的流表项转发该数据流。如此,使得终端设备portal认证成功之后,获得了上网权限。

在一种可能的实现方式中,本发明实施例提供的认证方法,在接入设备判断接收得到数据流是否与接入设备中的转发流表(即白名单转发流表)中的流表项匹配之前,sdn系统中的各个设备可以进行交互,如portal服务器与sdn控制器之间可以进行交互,以将白名单转发流表下发至接入设备。

示例性的,以下sdn系统中的sdn控制器为openflow控制器、接入设备为openflowswitch/ap为例,对本发明实施例提供的认证方法进行说明。

可以理解的是,openflow控制器和portal服务器之间的业务交互和保活,实现portal服务器对通过openflow控制器对底层网络资源(openflowswitch/ap的portal认证相关的基础管理),具体过程如图7所示,步骤如下:

s701、openflow控制器向portal服务器发送注册报文。

其中,注册报文(如portal_register报文)用于将openflow控制器的信息以及其所管理的openflowswitch和openflowap的特性参数信息上报给portal服务器,以使得portal服务器对这些openflowswitch和openflowap进行注册。具体的,openflow控制器的信息可以为该控制器的用户标识符(useridentifoer,uid)。上述openflowswitch和openflowap的特性参数信息可以为openflowswitch的dpid(datapathid)、以及每个端口的openflow端口编号(如传递第一数据流等数据流的端口的openflow端口编号)和端口名称等,或者ap的bssid。

s702、portal服务器接收openflow控制器发送的注册报文。

s703、portal服务器向openflow控制器发送注册确认报文。

其中,portal服务器可以将管理员预先配置的portal认证基础白名单信息和对应的openflowswitch或openflowap的信息通过注册确认报文下发给openflow控制器,并告知openflowswitch与portal认证基础白名单信息对应的白名单转发流表不允许老化,设备删除与portal认证基础白名单信息对应的白名单转发流表需要向portal服务器回应。上述注册确认报文可以为portal-regack报文。

s704、openflow控制器接收portal服务器发送的注册确认报文。

s705、openflow控制器根据注册确认报文,生成白名单转发流表。

s706、openflow控制器向openflowswitch或openflowap下发白名单转发流表。

s707、openflowswitch或openflowap接收openflow控制器下发的白名单转发流表。

其中,并将注册确认报文转换得到白名单转发流表,并将该白名单转发流表的参数设置成hard_time=0,idle_time=0,tag=1,以及将该转发流表下发到对应的openflowswitch和openflowap中。其中,openflow控制器将可以将白名单转发流表整体下发给其所管理的所有openflowswitch和openflowap或根据特定的地址信息下发到指定的openflowswitch和openflowap(如某个openflowswitch的dpid指示的switch)中。

另外,openflow控制器和portal服务器之间可以通过保活报文(如keeplive报文)进行保活处理。例如,若保活报文中不携带openflowswitch和openflowap的特性参数信息,则portal服务器确定openflow控制器和其管理的openflowswitch/ap均是活动状态。

其中,当openflow控制器判定有openflowswitch或openflowap出现异常断电,离线等情况时,openflow控制器通过携带该openflowswitch或openflowap设备的特性参数信息,并设置该openflowswitch或openflowap的参数off_line=0通知portal服务器,portal服务器以判定该设备下的终端离线停止计费。当保活报文携带openflowswitch或openflowap的特性参数信息,并置该openflowswitch或openflowap的参数off_line=1时,表示该openflowswitch或openflowap重新上线,portal服务器重新下发portal认证基础白名单信息到openflow控制器,openflow控制器转换得到白名单转发流表并下发到该openflowswitch或openflowap。

进一步的,如果管理员手工修改了portal服务器中预先存储的portal认证基础白名单信息,如针对全部openflowswitch或openflowap的认证信息或者针对部分openflowswitch或openflowap的认证信息,如修改后的控制器uid、openflowswitch的dpid、openflowap的bssid等;则portal服务器可以通过portal-update报文携带修改后的portal认证基础白名单信息到指定的openflow控制器,进而openflow控制器根据上述信息转换修改白名单转发流表并下发至openflowswitch或openflowap。

需要说明的是,本发明实施例提供的认证方法,由于sdn系统中的portal服务器和openflow控制器之间实时地交互,以修改符合用户需求的白名单转发流表。如此,使得openflowswitch/ap等接入设备中的转发流表(及白名单转发流表)符合用户需求。进而,有利于提高接入设备对终端设备的portal的准确性,以及提高对终端设备发起的数据流转发的准确性。

需要说明的是,本发明实施例提供的认证方法,有线终端设备通过openflowswitch进行portal认证后访问网络资源,无线终端设备通过openflowap进行portal认证后访问网络资源,终端设备下线分为空闲下线,到期下线,强制下线。

具体的,终端设备空闲下线的流程如下:

首先,如果是终端设备关闭应用程序,关机,断线,休眠时,终端设备不再访问openflowswitch或openflowap中对应的转发流表的信息。在openflowswitch或openflowap上与openflowswitch或openflowap对应的转发流表将根据该转发流表中对应流表项的idle_time进行老化删除,并通过ofpt_flow_removed报文回复openflow控制器该终端设备已经离线。其中,ofpt_flow_removed报文中可以携带相应的终端设备的mac地址、openflowswitch或openflowap地址、以及openflowswitch或openflowap的接口特征信息等。

然后,openflow控制器收到上述ofpt_flow_removed报文之后,可以解析得到该报文得到对应的终端设备的mac地址、openflowswitch或openflowap地址、以及openflowswitch或openflowap的接口特征信息(如该openflowswitch或openflowap中接收数据流的入端口的信息),再通过portal_offine报文通知portal服务器该终端设备对应的用户下线,及空闲下线。portal_offine仅仅是报文的名字,不作具体限定。

其中,服务器根据portal_offine报文中携带用户终端设备的mac地址、和ip地址以及openflowswitch或openflowap的接口特征信息对比在线终端中该终端设备对应的用户的使用时长是否不一致,如果不一致则认为该终端终端设备为空闲下线,停止对该终端用户的时长计费。

具体的,终端设备到期下线的流程如下:

当openflowswitch或openflowap中与终端设备对应的转发流表没有超期,但访问时长到期的情况下,即hard_timeout到期后,openflowswitch或openflowap会强制删除该转发流表,并通过ofpt_flow_removed报文回复openflow控制器该转发流表被删除。openflow控制器收到该ofpt_flow_removed报文时,通过portal_offine报文通知portal服务器,该终端设备上网时长到期,即该终端设备到期下线。该portal_offine报文中可以携带该终端设备的mac地址和ip地址等信息。ofpt_flow_removed仅仅是报文的名字,不作具体限定。

其中,portal服务器收到portal_offine报文确定该终端设备上网时长信息与实际一致,认为终端设备时长使用到期,停止对该终端的计费。

具体的,终端设备强制下线的流程如下:

管理员在portal服务器上强制用户下线,portal服务器将需要下线的用户对应的终端设备的mac参数,ip参数填充至发送portal-offline报文,并将该portal-offline报文发送给openflow控制器。随后,openflow控制器接收该portal-offline报文后解析终端设备的mac,和ip地址,并向对应的openflowswitch或openflowap发送ofpfc_delete_strict报文,以指示openflowswitch或openflowap删除该终端设备对应的转发流表,并回应ofpt_flow_remove报文到openflow控制器。再然后,openflow控制器收到该ofpt_flow_remove报文之后,回应portal_offie信息到portal服务器,portal服务器对比本地一致,则停止对该用户的计费,下线该用户,并记录用户下线原因为强制下线。

如图8所示,为本发明实施例提供的一种接入设备的结构示意图。图8示出的接入设备80为软件定义网络sdn系统中的接入设备,sdn系统中还包括sdn控制器、门户portal服务器和终端设备;该接入设备80包括:接收模块801、存储模块802和发送模块803;接收模块801,用于接收终端设备发送的第一数据流;存储模块802,用于在接收模块801接收的第一数据流与接入设备80中的转发流表中的流表项均不匹配的情况下,存储第一数据流;发送模块803,用于向sdn控制器发送第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;接收模块801,还用于接收sdn控制器发送的第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;发送模块803,还用于根据接收模块801接收的第一流表项转发存储模块802存储的第一数据流。

可选的,接入设备80还包括:丢弃模块;接收模块801,还用于发送模块803向sdn控制器发送第一请求报文之后,接收sdn控制器发送的第二转发报文,第二转发报文中包括第二转发流表和第一指示信息,第二转发流表包括第二流表项,第二流表项用于转发预设类型的流量请求,第二流表项的动作包括修改目的地址为portal服务器的地址,第一指示信息用于指示丢弃第一数据流;丢弃模块,用于根据接收模块801得到的第一指示信息,丢弃第一数据流;发送模块803,还用于根据接收模块801得到的第二流表项,将预设类型的第一流量请求转发至portal服务器,第一流量请求为终端设备发送的。

可选的,接收模块801,还用于发送模块803将第一流量请求转发至portal服务器之后,接收sdn控制器发送的第三转发报文和第一指示报文,第三转发报文中包括第三转发流表,第三转发流表用于指示终端设备的访问策略;第一指示报文用于指示将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址,目标服务器为第一数据流所请求的网络资源对应的服务器;存储模块802,还用于保存第三转发流表,并根据第一指示报文,将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址。

可选的,接收模块801,还用于发送模块803将第一流量请求转发至portal服务器之后,接收sdn控制器发送的第三转发报文和第二指示报文,第三转发报文中包括第三转发流表,第三转发流表用于指示终端设备的访问策略,第二指示报文用于指示删除第二转发流表;存储模块802,还用于保存第三转发流表,并根据第二指示报文,删除第二转发流表。

本发明实施例提供的接入设备80能够实现上述方法实施例中接入设备实现的各个过程,为避免重复,这里不再赘述。

如图9所示,为本发明实施例提供的一种sdn控制器的结构示意图。图9示出的sdn控制器90为软件定义网络sdn系统中的sdn控制器,sdn系统中还包括接入设备、portal服务器和终端设备;sdn控制器90,包括:接收模块901、生成模块902和发送模块903;接收模块901,用于接收接入设备发送的第一请求报文,第一请求报文用于触发sdn控制器90向portal服务器请求对终端设备进行无感知认证;生成模块902,用于根据接收模块901接收的第一请求报文,生成第一无感知认证请求报文,第一无感知认证请求报文用于触发portal服务器对终端设备进行无感知认证;发送模块903,用于向portal服务器发送生成模块902生成的第一无感知认证请求报文;接收模块901,还用于接收portal服务器发送的无感知认证成功报文,无感知认证成功报文中包括终端设备的访问策略;生成模块902,还用于根据接收模块901得到的访问策略,生成第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;发送模块903,还用于向接入设备发送第一转发报文。

可选的,接收模块901,还用于发送模块903向portal服务器发送第一无感知认证请求报文之后,接收portal服务器发送的无感知认证失败报文;生成模块902,还用于根据接收模块901接收的无感知认证失败报文,生成第二转发报文,第二转发报文中包括第二转发流表和第一指示信息,第二转发流表包括第二流表项,第二流表项用于转发预设类型的流量请求,第二流表项的动作包括修改目的地址为portal服务器的地址,第一指示信息用于指示丢弃第一数据流;发送模块903,还用于向接入设备发送生成模块902生成的第二转发报文。

可选的,接收模块901,还用于发送模块903向接入设备发送生成模块902生成的第二转发报文之后,接收portal服务器发送的认证成功报文和推送报文,认证成功报文中包括终端设备的访问策略,推送报文中包括目标服务器的地址,目标服务器为第一数据流所请求的网络资源对应的服务器;生成模块902,还用于根据接收模块901接收的认证成功报文生成第三转发报文,第三转发报文中包括第三转发流表,第三转发流表用于指示终端设备的访问策略;生成模块902,还用于根据接收模块901接收的推送报文生成第一指示报文,第一指示报文用于指示将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址,目标服务器为第一数据流所请求的网络资源对应的服务器;发送模块903,还用于向接入设备发送生成模块902生成的第三转发报文和第一指示报文。

可选的,接收模块901,还用于发送模块903向接入设备发送生成模块902生成的第二转发报文之后,接收portal服务器发送的认证成功报文,认证成功报文中包括终端设备的访问策略;生成模块902,还用于根据接收模块901接收的认证成功报文生成第三转发报文和第二指示报文,第三转发报文包括第三转发流表,第三转发流表用于指示终端设备的访问策略,第二指示报文用于指示删除第二转发流表;发送模块903,还用于向接入设备发送生成模块902生成的第三转发报文和第二指示报文。

本发明实施例提供的sdn控制器90能够实现上述方法实施例中sdn控制器实现的各个过程,为避免重复,这里不再赘述。

如图10所示,为本发明实施例提供的一种portal服务器的结构示意图。图10示出的portal服务器100为软件定义网络sdn系统中的portal服务器,sdn系统中还包括sdn控制器、接入设备和终端设备;portal服务器100包括:接收模块101、生成模块102和发送模块103;接收模块101,用于接收sdn控制器发送的第一无感知认证请求报文,第一无感知认证请求报文用于触发portal服务器100对终端设备进行无感知认证;生成模块102,用于在确定终端设备无感知认证成功的情况下,生成无感知认证成功报文,无感知认证成功报文中包括终端设备的访问策略;发送模块102,用于向sdn控制器发送生成模块102生成的无感知认证成功报文,无感知认证成功报文用于指示sdn控制器生成第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发接入设备中存储的第一数据流。

可选的,生成模块102,还用于接收模块101接收sdn控制器发送的第一无感知认证请求报文之后,在确定终端设备无感知认证失败的情况下,生成无感知认证失败报文,无感知认证失败报文用于指示sdn控制器生成第二转发报文,第二转发报文中包括第二转发流表和第一指示信息,第二转发流表包括第二流表项,第二流表项用于转发预设类型的流量请求,第二流表项中的动作包括修改目的地址为portal服务器100的地址,第一指示信息用于指示丢弃第一数据流;发送模块103,还用于向sdn控制器发送生成模块102生成的无感知认证失败报文。

可选的,portal服务器100还包括:获取模块;接收模块101,还用于发送模块103向sdn控制器发送无感知认证失败报文之后,接收接入设备转发的预设类型的第一流量请求;获取模块,用于向终端设备返回portal认证页面,并获取目标服务器的地址,目标服务器为第一数据流所请求的网络资源对应的服务器,目标页面为网络资源对应的页面;接收模块101,还用于接收终端设备通过portal认证页面返回的认证信息;生成模块102,还用于根据接收模块101接收的认证信息确定终端设备认证成功,并生成认证成功报文,认证成功报文中包括终端设备的访问策略,认证成功报文用于指示sdn控制器生成第三转发报文,第三转发报文包括第三转发流表,第三转发流表用于指示终端设备的访问策略;生成模块102,还用于在portal服务器100指示终端设备重定向到目标页面的情况下,生成推送报文,推送报文中包括获取模块获取的目标服务器的地址,推送报文用于指示sdn控制器生成第一指示报文,第一指示报文用于指示将第二转发流表中的第二流表项的目的地址修改为目标服务器的地址;发送模块103,还用于向sdn控制器发送生成模块102生成的认证成功报文和推送报文。

可选的,发送模块103,还用于生成模块102根据认证信息确定终端设备认证成功,并生成认证成功报文之后,向sdn控制器发送认证成功报文,认证成功报文还用于指示sdn控制器生成第二指示报文,第二指示报文用于指示删除第二转发流表。

可选的,portal服务器100还包括:判断模块;判断模块,用于生成模块102生成无感知认证成功报文之前,判断终端设备是否无感知认证成功;其中,在满足无感知认证条件的情况下,终端设备无感知认证成功;在不满足无感知认证条件的情况下,终端设备无感知认证失败;无感知认证条件包括以下至少一项:portal服务器100中保存有终端设备的认证记录信息;终端设备的上网时长小于终端设备的最大允许使用时长;portal服务器100中在线终端设备的数量小于最大允许数量;portal服务器100中保存有终端设备的地址信息和接入设备的地址信息之间的关联关系。

本发明实施例提供的portal服务器100能够实现上述方法实施例中portal服务器实现的各个过程,为避免重复,这里不再赘述。

需要说明的是,本发明实施例应用于sdn系统中,该sdn系统中包括接入设备、sdn控制器、portal服务器和终端设备。具体的,终端设备向接入设备发送的第一数据流之后,在第一数据流与接入设备中的转发流表中的流表项均不匹配的情况下,接入设备可以存储第一数据流,并向sdn控制器发送第一请求报文,第一请求报文用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证;接入设备可以接收sdn控制器发送的第一转发报文,第一转发报文中包括第一转发流表,第一转发流表包括第一流表项,第一流表项用于转发第一数据流;根据第一流表项转发第一数据流。基于本方案,终端设备在未进行portal认证的情况下发送第一数据流之后,接入设备可以向sdn控制器发送用于触发sdn控制器向portal服务器请求对终端设备进行无感知认证的第一请求报文,便可以触发portal服务器确定终端设备的无感知认证成功,即portal认证成功,以使得接入设备可以转发第一数据流。如此,本方案中portal服务器可以在本地确定终端设备的portal认证成功,使得sdn系统中的各个设备可以在转发层实现终端设备的portal认证,即,并使得sdn控制器在转发层向接入设备下发包括第一转发流表的第一转发报文,而不需要portal服务器指示终端设备重定向至portal认证页面实现终端设备的portal认证,即不需要portal服务器与终端设备在应用层进行交互。从而,可以简化sdn网络中终端设备进行portal认证的过程。

另外,由于避免了终端设备向用户提供portal认证页面,进而避免了用户对该portal认证页面输入认证信息的步骤,因此可以简化终端设备进行portal认证过程中用户的操作,即提高了用户使用终端设备上网时的用户体验。

在采用集成的单元的情况下,上述接入设备80中的丢弃模块可以由一个处理模块实现。上述处理模块可以是处理器或控制器,例如可以是cpu,通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种举例说明逻辑方框,模块和电路。上述处理单元也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。

需要说明的是,本发明实施例提供的接入设备还可以包括其他集成单元。例如,上述接入设备80中的接收模块801和发送模块803可以集成在一个通信接口中。另外,上述存储模块802可以由有一个存储器实现。

示例性的,如图11所示,为本发明实施例提供的另一种接入设备的结构示意图。具体的,图11示出的接入设备110包括处理器1101、存储器1102、通信接口1103、通信总线1104和处理器1105。

具体的,上述处理模块可以为图11所示的处理器1101以及处理器1105等一个或多个处理器。上述存储模块可以为图11所示的存储器1102。转发模块403可以由通信接口1103实现。

其中,处理器1101是接入设备110的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1101可以是一个cpu,也可以是特定asic,或者可以是被配置成实施本发明实施例的一个或多个集成电路,如:一个或多个dsp,或,一个或者多个fpga。

其中,处理器1101可以通过运行或执行存储在存储器1102内的软件程序,以及调用存储在存储器1102内的数据,执行设备的各种功能。

在具体的实现中,作为一种实施例,处理器1101可以包括一个或多个cpu,例如图11中所示的cpu0和cpu1。

在具体实现中,作为一种实施例,报文转发设备可以包括多个处理器,例如图11中所示的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

存储器1102可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1102可以是独立存在,通过通信总线1104与处理器1101相连接。存储器1102也可以和处理器1101集成在一起。其中,上述存储器1102用于存储执行本发明实施例提供方案的软件程序,并由处理器1101来控制执行。

通信接口1103,可以包括两个通信接口,一个用于向外部设备发送数据的发送接口和一个用于接收来自外部设备的数据的接收接口,即报文转发设备可以通过两个不同的通信接口分别实现数据的接收和数据的发送。当然,该通信接口1103可以将数据接收功能和数据发送功能集成在一个通信接口上,该通信接口具备数据接收功能和数据发送功能。

上述通信总线1104具体可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。上述通信总线1104可以分为地址总线、数据总线、控制总线等,本发明实施例对此不作限定。

图11中示出的接入设备110的结构并不构成对报文转发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,本发明实施例提供的接入设备110中各个模块的详细描述以及各个模块执行上述实施例中的相关方法步骤后所带来的技术效果可以参考本发明方法实施例中的相关描述,此处不再赘述。

在采用集成的单元的情况下,上述sdn控制器90中的生成模块902可以由一个处理模块实现。上述处理模块可以是处理器或控制器,例如可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种举例说明逻辑方框,模块和电路。上述处理单元也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。

需要说明的是,本发明实施例提供的sdn控制器还可以包括其他集成单元。例如,上述sdn控制器90中的接收模块901和发送模块903可以集成在一个通信接口中。

示例性的,如图12所示,为本发明实施例提供的另一种sdn控制器的结构示意图。具体的,图12示出的sdn控制器120包括处理器1201、存储器1202、通信接口1203、通信总线1204和处理器1205。

具体的,上述处理模块可以为图12所示的处理器1201以及处理器1205等一个或多个处理器。上述存储模块可以为图12所示的存储器1202。转发模块403可以由通信接口1203实现。

其中,处理器1201是sdn控制器120的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1201可以是一个cpu,也可以是特定asic,或者可以是被配置成实施本发明实施例的一个或多个集成电路,如:一个或多个dsp,或,一个或者多个fpga。

其中,处理器1201可以通过运行或执行存储在存储器1202内的软件程序,以及调用存储在存储器1202内的数据,执行设备的各种功能。

在具体的实现中,作为一种实施例,处理器1201可以包括一个或多个cpu,例如图12中所示的cpu0和cpu1。

在具体实现中,作为一种实施例,报文转发设备可以包括多个处理器,例如图12中所示的处理器1201和处理器1205。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

存储器1202可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1202可以是独立存在,通过通信总线1204与处理器1201相连接。存储器1202也可以和处理器1201集成在一起。其中,上述存储器1202用于存储执行本发明实施例提供方案的软件程序,并由处理器1201来控制执行。

通信接口1203,可以包括两个通信接口,一个用于向外部设备发送数据的发送接口和一个用于接收来自外部设备的数据的接收接口,即报文转发设备可以通过两个不同的通信接口分别实现数据的接收和数据的发送。当然,该通信接口1203可以将数据接收功能和数据发送功能集成在一个通信接口上,该通信接口具备数据接收功能和数据发送功能。

上述通信总线1204具体可以是pci总线或eisa总线等。上述通信总线1204可以分为地址总线、数据总线、控制总线等,本发明实施例对此不作限定。

图12中示出的sdn控制器120的结构并不构成对报文转发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,本发明实施例提供的sdn控制器120中各个模块的详细描述以及各个模块执行上述实施例中的相关方法步骤后所带来的技术效果可以参考本发明方法实施例中的相关描述,此处不再赘述。

在采用集成的单元的情况下,上述portal服务器100中的生成模块102、获取模块和判断模块可以由一个处理模块实现。上述处理模块可以是处理器或控制器,例如可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种举例说明逻辑方框,模块和电路。上述处理单元也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。

需要说明的是,本发明实施例提供的portal服务器还可以包括其他集成单元。例如,上述sdn控制器90中的接收模块101和发送模块102可以集成在一个通信接口中。

示例性的,如图13所示,为本发明实施例提供的另一种portal服务器的结构示意图。具体的,图13示出的portal服务器130包括处理器1301、存储器1302、通信接口1303、通信总线1304和处理器1305。

具体的,上述处理模块可以为图13所示的处理器1301以及处理器1305等一个或多个处理器。上述存储模块可以为图13所示的存储器1302。转发模块403可以由通信接口1303实现。

其中,处理器1301是portal服务器130的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1301可以是一个cpu,也可以是特定asic,或者可以是被配置成实施本发明实施例的一个或多个集成电路,如:一个或多个dsp,或,一个或者多个fpga。

其中,处理器1301可以通过运行或执行存储在存储器1302内的软件程序,以及调用存储在存储器1302内的数据,执行设备的各种功能。

在具体的实现中,作为一种实施例,处理器1301可以包括一个或多个cpu,例如图13中所示的cpu0和cpu1。

在具体实现中,作为一种实施例,报文转发设备可以包括多个处理器,例如图13中所示的处理器1301和处理器1305。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

存储器1302可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1302可以是独立存在,通过通信总线1304与处理器1301相连接。存储器1302也可以和处理器1301集成在一起。其中,上述存储器1302用于存储执行本发明实施例提供方案的软件程序,并由处理器1301来控制执行。

通信接口1303,可以包括两个通信接口,一个用于向外部设备发送数据的发送接口和一个用于接收来自外部设备的数据的接收接口,即报文转发设备可以通过两个不同的通信接口分别实现数据的接收和数据的发送。当然,该通信接口1303可以将数据接收功能和数据发送功能集成在一个通信接口上,该通信接口具备数据接收功能和数据发送功能。

上述通信总线1304具体可以是pci总线或eisa总线等。上述通信总线1304可以分为地址总线、数据总线、控制总线等,本发明实施例对此不作限定。

图13中示出的portal服务器130的结构并不构成对报文转发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,本发明实施例提供的portal服务器130中各个模块的详细描述以及各个模块执行上述实施例中的相关方法步骤后所带来的技术效果可以参考本发明方法实施例中的相关描述,此处不再赘述。

类似的,本发明实施例中,终端设备可以包括多个功能模块,该多个功能模块可以由相应的集成模块实现。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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