业务分流方法、装置及系统以及电子设备和存储介质
本申请要求于2019年11月8日提交国家知识产权局、申请号为201911089188.0,申请名称为“业务分流方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及业务分流方法、装置及系统以及电子设备和存储介质。
背景技术
目前,在3GPP的5G标准化方案中,提出了针对本地网络(Local Network)的分流的方案,来实现将特定的业务流路由到本地网络。主要的分流方案包括上行分类器(Uplink Classifier,简称UL CL)方案和互联网协议第6版(IPv6 Internet Protocol Version 6,简称IPv6)多归属方案。
发明内容
根据本申请实施例的一方面,提供了一种业务分流方法,所述方法包括:
根据预设规则对接收到的业务流数据进行检测,得到检测结果;
若所述检测结果满足所述预设规则,则将所述业务流数据中的网络地址作为分流地址,生成分流策略;
根据所述分流策略将终端设备的上行业务流数据包分流至边缘网络,所述上行业务流数据包的目的地址为所述分流地址。
根据本申请实施例的一方面,提供了一种业务分流装置,包括:
检测模块,用于根据预设规则对接收到的业务流数据进行检测,得到检测结果;
生成模块,用于若所述检测结果满足所述预设规则,则将所述业务流数据中的网络地址作为分流地址,生成分流策略;
分流模块,用于根据所述分流策略将终端设备的上行业务流数据包分流至边缘网络,所述上行业务流数据包的目的地址为所述分流地址。
根据本申请实施例的一方面,提供了一种业务分流系统,所述系统包括终端设备、用户面功能实体、会话管理功能实体和边缘网络,其中:
所述终端设备,用于将上行业务流数据包发送至所述用户面功能实体,接收所述用户面功能实体发送的下行业务流数据包;
所述用户面功能实体,用于根据预设规则,对接收到的业务流数据进行检测,得到检测结果,若所述检测结果满足所述预设规则,则将所述业务流数据中的网络地址作为分流地址,生成分流策略,根据所述分流策略将终端设备的上行业务流数据包分流至边缘网络,所述上行业务流数据包的目的地址为所述分流地址;
所述会话管理功能实体,用于接收所述用户面功能实体发送的分流策略,并向所述用户面功能实体返回同意或拒绝所述分流策略的响应消息;
所述边缘网络,用于接收所述用户面功能实体分流的上行业务流数据包,并将下行业务流数据包发送给用户面功能实体。
根据本申请实施例的一方面,提供了一种电子设备,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器用于执行所述计算机程序以使所述电子设备实现本申请任一实施例所述的方法。
根据本申请实施例的一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时使包括所述处理器的电子设备实现本申请任一实施例所述的方法。
本申请的其它特性和优点将通过下面的详细描述变得显然,或部分 地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。在附图中:
图1示出了根据本申请示例性实施例示出的业务分流方法应用的系统构架图。
图2示出了根据本申请示例性实施例示出的业务分流方法应用的系统构架图。
图3示出了根据本申请一个实施例示出的业务分流方法的流程图。
图4示出了根据本申请一个实施例示出的业务分流方法的流程图。
图5示出了根据本申请一个实施例示出的业务分流方法的流程图。
图6示出了根据本申请一个实施例示出的业务分流方法的流程图。
图7示出了根据本申请一个实施例示出的业务分流方法的流程图。
图8示出了根据本申请一个实施例的业务分流系统的交互过程示意图。
图9示出了根据本申请一个实施例的业务分流装置的框图。
图10示出了根据本申请一个实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实 施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
目前,在3GPP的5G标准化方案中,提出了针对本地网络(local network)(即边缘网络)的分流的方案,来实现将特定的业务流路由到本地网络。主要的分流方案包括上行分类器方案和互联网协议第6版多归属方案。然而,这两种方案的分流规则的配置均需要在业务流发起前配置在SMF(Session Management Function,会话管理功能,简称SMF)上,属于相对静态的配置方式,无法满足特定业务调度需求。
上行分类器方案的实现方式如下:
在基于上行分类器的分流方案中,会话管理功能实体可以决定在分组数据单元(Packet Data Unit,简称PDU)会话的数据路径上插入一个上行分类器。上行分类器是用户面功能(User Plane Function,简称UPF)实体支持的一种功能,用于根据会话管理功能实体下发的数据过滤器来将部分数据分流到本地网络中。插入或者删除一个上行分类器是由会话管理功能实体决定的并由会话管理功能实体通过N4接口对用户面功能实体进行控制。会话管理功能实体可以在分组数据单元会话连接建立时, 或者在分组数据单元会话建立完成后,决定在分组数据单元会话的数据路径上插入一个支持上行分类器的用户面功能实体。会话管理功能实体可以在分组数据单元会话建立完成后,决定在分组数据单元会话的数据路径上删除一个支持上行分类器的用户面功能实体,或者删除支持上行分类器的用户面功能实体上的上行分类器功能。会话管理功能实体可以在分组数据单元会话的数据路径上包含一个或者多个用户面功能实体。
用户设备(User Equipment,简称UE)不感知数据被上行分类器分流,也不会涉及到插入或者删除上行分类器的流程中。上行分类器提供上行数据转发到本地网络或者是核心的用户面功能实体上,并且对发送到用户设备的数据进行聚合,即对来自于本地网络和核心用户面功能实体的发送到用户设备的数据进行聚合。这种操作基于数据检测和会话管理功能实体提供的数据分流规则。上行分类器应用过滤规则(例如检测用户设备发送的上行分类器数据包的网际互联协议(Internet Protocol,简称IP)地址/前缀)并且决定这些数据包如何被路由。
在该方案中,分流规则的配置是通过会话管理功能实体下发给用户面功能实体来实现,或者通过应用功能(Application function,简称AF)将分流规则发送给会话管理功能实体,再由会话管理功能实体下发给用户面功能实体。这种分流规则的配置方法通常属于静态配置的方式。
然而,在实际应用部署中,基于特定的业务场景,对分流规则的设置要求是动态的,需要由用户面功能实体在业务流中检测来对具体的分流规则进行配置。基于静态配置分流规则无法满足特定业务调度需求,为此,本申请特提出了一种业务分流方法。
图1示出了可以应用本发明实施例的技术方案的一个示例性系统架构的示意图。
如图1所示,系统架构可以包括终端设备101、第一用户面功能实体102、第二用户面功能实体103、服务器104、边缘网络105和会话管理功能实体106。其中,终端设备101可以是图1中所示的手机,还可以是平板电脑、便携式计算机、台式计算机、物联网设备、智能手表等等可以 接入移动通信网络的设备;第一用户面功能实体102连接至边缘网络105中的边缘计算设备,用于转发终端设备101与边缘网络105之间的通信数据;第二用户面功能实体103连接于服务器104,用于转发终端设备101与服务器104之间的通信数据。
应该理解,图1中的终端设备、第一用户面功能实体、第二用户面功能实体、服务器、边缘计算设备、会话管理功能实体的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、第一用户面功能实体、第二用户面功能实体、服务器、边缘网络、会话管理功能实体等。该领域研究人员可以理解的是,图1中没有包含基站等接入设备,由于该方案对接入网络的接入设备没有影响,所以没有在方案中提及,但是本领域人员应该可以理解的是该方案中的会话连接是包含基站或非3GPP接入(如,WiFi)等接入设备的,即终端设备是先连接到基站等接入设备,然后再由接入设备连接到用户面功能实体的。
在本发明的一个实施例中,第一用户面功能实体102预设业务流检测规则,当终端设备101或者服务器104发送业务流数据至第一用户面功能实体102后,第一用户面功能实体102根据预设规则对业务流数据进行检测,若检测结果满足预设规则,则第一用户面功能实体102提取业务流数据中的网络地址作为分流地址,生成分流策略。第一用户面功能实体102根据分流策略将终端设备101发送的目的地址为分流地址的上行业务流数据包分流至边缘网络105。
在本发明的一个实施例中,第一用户面功能实体102生成分流策略之后,将该分流策略上报至会话管理功能实体106,由会话管理功能实体106对该分流策略进行决策,若会话管理功能实体106同意分流策略,则返回同意分流策略的响应消息至第一用户面功能实体102,第一用户面功能实体102在接收到同意的响应消息后,确定配置分流策略;若会话管理功能实体106不同意分流策略,则向第一用户面功能实体102返回拒绝分流策略的响应消息,第一用户面功能实体102在接收到拒绝的响应消息后,确定不配置分流策略。
图2示出了根据本申请示例性实施例示出的业务分流方法应用的系统构架图。其中,图2所示的系统架构与图1所述的系统架构的区别在于图2所示的系统架构是应用第一用户面功能实体检测的业务流数据为DNS响应消息的场景下,在图2所示的系统架构下,增加了业务调度器107,服务器104为DNS服务器。
基于图2所示的系统架构,在本发明的一个实施例中,终端设备101生成DNS请求后将其发送至第一用户面功能实体102,第一用户面功能实体102将该DNS请求转发至第二用户面功能实体103,进而由第二用户面功能实体103发送至DNS服务器104,DNS服务器104根据该DNS请求生成DNS响应消息,然后通过第二用户面功能实体103和第一用户面功能实体102转发至终端设备101。其中DNS服务器可以是GSLB(Global Server Load Balance,全局负载均衡)。
在本发明的一个实施例中,第一用户面功能实体102接收到第二用户面功能实体103转发来的DNS响应消息之后,根据预设规则对该DNS响应消息进行检测,若检测结果满足预设规则,则将DNS响应消息中包含的网络地址作为分流地址,生成分流策略,同时,将该DNS响应消息发送至终端设备101。
在本发明的一个实施例中,在第一用户面功能实体102生成分流策略之后,如果接收到终端设备101发送的业务流数据包的目的地址与分流策略的分流地址相匹配,则第一用户面功能实体102将该业务流数据包分流至边缘网络105,当边缘网络105接收到该业务流数据包之后,边缘网络105中的边缘计算设备可以将该业务流数据包的源地址替换为边缘计算设备的网络地址并将修改后的业务流数据包发送至业务调度器107。
在本发明的一个实施例中,业务调度器107在接收到修改后的业务流数据包之后,可以根据其中的源地址(即边缘计算设备的网络地址)识别并根据业务部署情况判断该边缘计算设备所在的边缘网络105是否能够处理终端设备的业务访问请求。如果业务调度器107识别出边缘计 算设备所在的边缘网络105能够处理终端设备101的业务访问请求,则生成的响应消息中携带该边缘网络105中部署的业务服务器的网络地址;如果业务调度器107识别出边缘计算设备所在的边缘网络105不能处理终端设备的业务访问请求,则生成的响应消息中携带核心数据中心部署的业务服务器的网络地址。
在本发明的一个实施例中,业务调度器107在生成携带该边缘网络105中部署的业务服务器的网络地址的响应消息之后,可以将该响应消息发送给边缘网络105中的边缘计算设备,进而边缘计算设备将该响应消息中的目的地址替换为终端设备的目的地址并将该响应消息发送给第一用户面功能实体102。
在本发明的一个实施例中,终端设备101在接收到第一用户面功能实体发送的响应消息之后,通过解析该响应消息可以获取到边缘网络105中的业务服务器的网络地址,之后可以基于边缘网络105中的业务服务器的网络地址向边缘网络105发起业务访问请求。
需要说明的是,本发明实施例中的边缘网络位于边缘计算中心,边缘计算中心是与核心数据中心相对而言的,核心数据中心是位于后端的集中式数据中心,用户可以通过网络访问核心数据中心以获取所需要的数据,但是用户与核心数据中心之间的距离可能较远,进而可能会增加业务访问时延;而边缘数据中心是处于最接近用户的地方,并且可以通过广域网与核心数据中心保持实时的数据更新,以直接为用户提供良好的服务。
图3示出了根据本申请一个实施例示出的业务分流方法的流程图。该业务分流方法可以由用户面功能实体执行,比如可以由图1或图2中所示的第一用户面功能实体102来执行。参见图3所示,所述方法包括以下步骤:
步骤S310、根据预设规则对接收到的业务流数据进行检测,得到检测结果;
步骤S320、若所述检测结果满足所述预设规则,则将所述业务流数 据中的网络地址作为分流地址,生成分流策略;
步骤S330、根据所述分流策略将终端设备的上行业务流数据包分流至边缘网络,所述上行业务流数据包的目的地址为所述分流地址。
下面对这些步骤进行详细描述。
在步骤S310中,根据预设规则对接收到的业务流数据进行检测,得到检测结果。第一用户面功能实体配置有业务流数据的检测规则,当第一用户面功能实体接收到业务流数据后,根据预设规则对业务流数据进行检测,得到检测结果。
步骤S320、若所述检测结果满足所述预设规则,则将所述业务流数据中的网络地址作为分流地址,生成分流策略。
在本发明的一个实施例中,当第一用户面功能实体将所述业务流数据中的网络地址作为分流地址生成分流策略之后,有以下两种后续处理方式:
第一种方式,当第一用户面功能实体生成分流策略之后,会将该分流策略上报给会话管理功能实体,以通知会话管理功能实体在第一用户面功能实体侧已经配置了分流策略。
第二种方式,当第一用户面功能实体生成分流策略之后,将该分流策略上报给会话管理功能实体,由会话管理功能实体对该分流策略的请求进行决策。在该实施例中,参见图4,在第一用户面功能实体将业务流数据中的网络地址作为分流地址,生成分流策略之后,所述方法还包括以下步骤:
步骤S410、发送所述分流策略至会话管理功能实体;
步骤S420、若接收到所述会话管理功能实体返回的同意所述分流策略的响应消息,则确定配置所述分流策略;
步骤S430、若接收到所述会话管理功能实体返回的拒绝所述分流策略的响应消息,则确定不配置所述分流策略。
在步骤S420中,会话管理功能实体接收到第一用户面功能实体发送的分流策略上报消息后,根据运营商配置的策略对所述分流策略进 行决策,如果会话管理功能实体同意第一用户面功能实体的分流策略的请求,则发送同意请求的响应消息至第一用户面功能实体,第一用户面功能实体接收到会话管理功能实体返回的同意分流策略的响应消息后,则确定配置分流策略。
在步骤S430中,如果会话管理功能实体拒绝第一用户面功能实体的分流策略的请求,则发送拒绝请求的响应消息至第一用户面功能实体,第一用户面功能实体接收到会话管理功能实体返回的拒绝分流策略的响应消息后,则确定不配置分流策略。
继续参见图3,在步骤S330中,根据所述分流策略将终端设备的上行业务流数据包分流至边缘网络,所述上行业务流数据包的目的地址为所述分流地址。
上行业务流数据是终端设备发送的业务访问请求。由于第一用户面功能实体配置了分流策略,所以在上行业务流数据包的目的地址与分流策略中的分流地址一致时,第一用户面功能实体则会根据分流策略将该上行业务流数据包分流至边缘网络。
本发明实施例的技术方案通过用户面功能实体对业务流的检测来实时生成分流策略,实现灵活、实时的分流策略的配置,满足特定的对在边缘网络部署的业务的调度需求。
在本发明的一个实施例中,当第一用户面功能实体检测的业务流数据为DNS响应消息时,参见图5,步骤S320具体包括以下步骤:
步骤S510、接收终端设备发送的DNS请求并发送所述DNS请求至DNS服务器;
步骤S520、对接收到的所述DNS服务器返回的DNS响应消息进行检测,得到检测结果;
步骤S530、若所述检测结果满足预设规则,则将所述DNS响应消息中包含的网络地址作为分流地址,生成分流策略。
在步骤S510中,接收终端设备发送的DNS请求并发送所述DNS请求至DNS服务器。
终端设备在生成DNS请求之后,会将该DNS请求发送至用户面功能实体,进而由用户面功能实体将该DNS请求发送至DNS服务器,并由DNS服务器响应该DNS请求生成DNS响应消息。DNS服务器在生成DNS响应消息之后,将该DNS响应消息发送给用户面功能实体,当用户面功能实体接收到该DNS响应消息之后,发送该DNS响应消息至终端设备。
在本发明的一个实施例中,终端设备发送的DNS请求可以是通过基站设备发送至第一用户面功能实体,第一用户面功能实体在接收到该DNS请求之后,通过第二用户面功能实体将该DNS请求转发至DNS服务器。在该实施例中,第一用户面功能实体可以是I-UPF,第二用户面功能实体可以是PSA-UPF。
继续参见图5,在步骤S520中,对接收到的所述DNS服务器返回的DNS响应消息进行检测,得到检测结果。
当第一用户面功能实体接收到DNS响应消息后,根据预设规则对该DNS响应消息进行检测,得到检测结果。
在本发明的一个实施例中,DNS响应消息通常封装有端口信息,比如封装了53端口(53端口是由DNS服务器开放的、主要用于域名解析的端口),因此第一用户面功能实体可以根据接收到的数据包中封装的端口信息来确定是否接收到DNS响应消息。
在步骤S530中,若所述检测结果满足预设规则,则将所述DNS响应消息中包含的网络地址作为分流地址,生成分流策略。
在本发明的一个实施例中,根据DNS响应消息包含的网络地址生成分流策略可以是将DNS响应消息中包含的网络地址作为分流地址来生成分流策略,以便第一用户面功能实体能够将目的地址为分流地址的业务流数据包分流到边缘网络。
在本发明的一个实施例中,为了使第一用户面功能实体将目的地址为分流地址的业务流数据包分流给边缘网络,可以由第一用户面功能实体生成相应的分流策略,具体可以如图6所示,步骤S530具体包 括步骤S5301至步骤S5302,详细说明如下。
步骤S5301、若所述DNS响应消息中的域名信息满足预设条件,则将所述DNS响应消息中包含的网络地址作为分流地址。
在本发明的一个实施例中,DNS响应消息中的域名信息满足预设条件可以是域名信息满足目标域名的条件,而目标域名可以由运营商根据业务方的请求预先在第一用户面功能实体中配置并存储。通过判断DNS响应消息中的域名信息是否为目标域名,进而确定是否将DNS响应消息中携带的网络地址作为分流地址。若DNS响应消息中的域名信息为预先存储的目标域名时,则提取DNS响应消息中的网络地址,将该网络地址作为分流地址。若DNS响应消息中的域名信息不是预先存储的目标域名,则不提取DNS响应消息中的网络地址作为分流地址。
继续参见图6,在步骤S5302中,根据所述分流地址生成分流策略,所述分流策略用于将终端设备发送的目的地址为所述分流地址的业务流数据包分流至边缘网络。
在本发明的一个实施例中,当第一用户面功能实体根据DNS响应消息中包含的网络地址生成分流策略之后,包括以下两种后续处理方式:
第一种方式,当第一用户面功能实体生成分流策略之后,会将该分流策略上报给会话管理功能实体,以通知会话管理功能实体在第一用户面功能实体侧已经配置了分流策略,同时第一用户面功能实体将DNS响应消息发送给终端设备,以使终端设备根据该DNS响应消息发送业务流数据包。
第二种方式,当第一用户面功能实体生成分流策略之后,将该分流策略上报给会话管理功能实体,由会话管理功能实体对该分流策略的请求进行决策。在收到会话管理功能实体对分流策略的响应后,再发送DNS响应消息给终端设备。在该实施例中,在第一用户面功能实体生成分流策略之后,所述方法还包括:
发送所述分流策略至会话管理功能实体;
若接收到所述会话管理功能实体返回的同意所述分流策略的响应消息,则确定配置所述分流策略,并将所述DNS响应消息发送至所述终端设备,以使所述终端设备根据所述DNS响应消息发送业务流数据包。
在该实施例中,会话管理功能实体接收到第一用户面功能实体发送的分流策略上报消息后,根据运营商配置的策略对所述分流策略进行决策,如果会话管理功能实体同意第一用户面功能实体的分流策略的请求,则发送同意请求的响应消息至第一用户面功能实体,第一用户面功能实体接收到会话管理功能实体返回的同意分流策略的响应消息后,则配置所述的分流策略,并将该DNS响应消息发送至终端设备,以使终端设备根据该DNS响应消息发送业务流数据包。比如,终端设备可以向DNS响应消息中包含的网络地址(该网络地址是由DNS服务器向终端设备分配的业务调度器的网络地址)发送业务流数据包。
如果会话管理功能实体拒绝第一用户面功能实体的分流策略的请求,则发送拒绝请求的响应消息至第一用户面功能实体,第一用户面功能实体接收到会话管理功能实体返回的拒绝分流策略的响应消息后,仍然会将该DNS响应消息发送至终端设备,以使终端设备根据该DNS响应消息发送业务流数据包。但与会话管理功能实体同意第一用户面功能实体的分流策略的请求不同的是,在会话管理功能实体拒绝第一用户面功能实体的分流策略的情况下,第一用户面功能实体不会配置分流策略,所以在接收到终端设备发送的业务流数据包后,由于没有配置针对该业务流数据包的网络地址的分流策略,所以不会将该业务流数据包分流至边缘网络。而在会话管理功能实体同意第一用户面功能实体的分流策略的情况下,第一用户面功能实体会配置分流策略,所以在接收到终端设备发送的业务流数据包后,由于配置了针对该业务流数据包的网络地址的分流策略,则会根据该分流策略将该业务流数据包分流至边缘网络,然后由边缘计算设备发送至业务调度器,以便边缘计算设备通过修改业务流数据包的源地址来确保业务调度器识 别出该业务流数据包可以被边缘网络中的业务服务器服务,从而在返回的响应消息中分配该边缘网络中的业务服务器的网络地址。
在本发明的一个实施例中,第一用户面功能实体将DNS响应消息中包含的网络地址作为分流地址,生成分流策略之后,参见图7,所述方法还包括以下步骤:
步骤S710、根据所述分流策略将终端设备发送的目的地址为所述分流地址的业务流数据包分流至边缘网络,进而由所述边缘网络将所述业务流数据包发送至业务调度器,所述业务调度器的网络地址为所述业务流数据包的目的地址;
步骤S720、接收由所述边缘网络发送的业务调度器返回的响应消息,并将所述响应消息发送至所述终端设备,以使所述终端设备根据所述响应消息中包含的网络地址发起业务访问请求。
在步骤S710中,终端设备发送的业务流数据包携带有业务流数据包的目的地址,也即业务调度器的网络地址,当第一用户面功能实体接收到终端设备发送的业务流数据包后,第一用户面功能实体根据配置的分流策略,判断业务流数据包的目的地址是否为分流策略中的分流地址,若业务流数据包的目的地址不是分流策略中的分流地址,则该业务流数据包不会被分流至边缘网络,该业务流数据包会直接被发送至第二用户面功能实体,然后由第二用户面功能实体发送给业务调度器,业务调度器在未识别到边缘网络的情况下,会向终端设备分配位于核心数据中心的业务服务器的网络地址,以便终端设备向核心数据中心的业务服务器发起业务访问请求。若业务流数据包的目的地址是分流策略中的分流地址,则该业务流数据包会被分流至边缘网络,以便边缘网络通过修改业务流数据包中的源地址来确保业务调度器识别出有边缘网络能够处理终端设备的业务访问请求。
在本发明的一个实施例中,当第一用户面功能实体将业务流数据包分流至边缘网络之后,边缘网络中的边缘计算设备可以将该业务流数据包的源地址替换为边缘计算设备的网络地址并将修改后的业务流 数据包发送至业务调度器,进而业务调度器在接收到修改后的业务流数据包之后,可以根据其中的源地址(即边缘计算设备的网络地址)识别并根据业务部署情况判断该边缘计算设备所在的边缘网络是否能够处理终端设备的业务访问请求,如果业务调度器识别出边缘计算设备所在的边缘网络能够处理终端设备的业务访问请求,则生成的响应消息中携带该边缘网络中部署的业务服务器的网络地址;如果业务调度器识别出边缘计算设备所在的边缘网络不能处理终端设备的业务访问请求,则生成的响应消息中携带核心数据中心部署的业务服务器的网络地址。
继续参见图7,在步骤S720中,如果业务调度器识别出边缘网络中的业务服务器能够处理终端设备的业务访问请求,则生成包含边缘网络中的业务服务器的网络地址的响应消息,业务调度器在生成响应消息之后,可以将该响应消息发送给边缘网络中的边缘计算设备,进而边缘计算设备将该响应消息中的目的地址替换为终端设备的目的地址并发送给第一用户面功能实体。
在本发明的一个实施例中,如果业务调度器识别出边缘网络不能处理终端设备的业务访问请求,则生成包含核心数据中心的业务服务器的网络地址的响应消息,业务调度器在生成响应消息之后,可以将该响应消息发送给边缘网络中的边缘计算设备,并由边缘计算设备将该响应消息的目的地址替换为所述终端设备的网络地址后,发送给第一用户面功能实体,然后由该第一用户面功能实体发送该响应消息至终端设备,以便终端设备向核心数据中心的业务服务器发起业务访问请求。
上述实施例通过根据DNS服务器返回的DNS响应消息中的业务调度器的网络地址,生成分流策略,当终端设备向业务调度器发送业务流数据包时,根据分流策略将该业务流数据包转发至边缘网络,从而使得业务调度器根据获取到的边缘计算设备的网络地址所在的边缘网络判断该边缘网络是否可以服务该业务访问请求,并向终端设备返 回响应消息,终端设备能够根据响应消息中的网络地址发起业务访问请求。
本申请通过实时生成分流策略,进而实现通过边缘网络中的业务服务器向终端设备交付业务,满足了特定业务调度需求。同时,通过边缘网络中的业务服务器向终端设备交付业务不仅降低了终端设备访问业务的时延,而且减少了核心数据中心的带宽消耗。
在本发明的一个实施例中,第一用户面功能实体在将响应消息发送给终端设备之后,还可以包括如下步骤:
接收所述终端设备发送的上行业务流数据包;
若所述上行业务流数据包的目的地址和分流地址一致时,则将所述上行业务流数据包发送至所述边缘网络;
若接收到所述边缘网络返回的针对所述终端设备的下行业务流数据包,则将所述下行业务流数据包返回给所述终端设备。
在本发明的一个实施例中,第一用户面功能实体在将业务调度器返回的响应消息发送至终端设备之后,终端设备可以根据该响应消息中包含的网络地址发起业务访问请求,包含该业务访问请求的上行业务流数据包先被发送至第一用户面功能实体,当上行业务流数据包的目的地址与分流地址一致时,第一用户面功能实体会将该上行业务流数据包分流至边缘网络中的业务服务器。
在本发明的一个实施例中,第一用户面功能实体在接收到边缘网络返回的针对终端设备的下行业务流数据包后,则将下行业务流数据包返回给终端设备。分流设备(即第一用户面功能实体)接收到边缘网络返回的下行业务流数据包后,可以通过基站或非3GPP接入将该业务响应结果返回给终端设备。
图8示出了根据本申请一个实施例的业务分流系统的交互过程示意图,包括如下步骤:
步骤S810、终端设备101向DNS服务器104发送DNS请求,该DNS请求用于向DNS服务器104请求分配业务调度器的网络地址。终 端设备101通过基站或非3GPP接入发送DNS请求至第一用户面功能实体102,第一用户面功能实体102转发该DNS请求至第二用户面功能实体103,进而由第二用户面功能实体103发送该DNS请求至DNS服务器104。
步骤S820、DNS服务器104根据DNS请求选择相应的业务调度器107,将业务调度器的网络地址写入DNS响应消息,并将DNS响应消息通过互联网发送至第二用户面功能实体103,然后由第二用户面功能实体103发送该DNS响应消息至第一用户面功能实体102。
步骤S830a、第一用户面功能实体102接收到该DNS响应消息后,根据预设规则对该DNS响应消息进行检测,若检测结果满足预设规则,则提取出DNS响应消息内包含的域名与对应的网络地址,如果域名信息满足第一用户面功能实体102预先设置规则,则提取DNS响应消息中的网络地址作为分流地址,生成分流策略,分流策略用于将目的地址与所述分流地址相匹配的业务流数据包转发至边缘网络。
步骤S830b、第一用户面功能实体102在生成分流策略之后,将生成的分流策略上报给会话管理功能实体106。在一种实施方式中,第一用户面功能实体102通知会话管理功能实体106已经配置分流策略;在另一种实施方式中,第一用户面功能实体102将分流策略发送至会话管理功能实体106,由会话管理功能实体106对该分流策略进行决策,如果同意该分流策略的请求,则发送同意请求的响应消息给第一用户面功能实体102,第一用户面功能实体102则确定配置分流策略;如果不同意该分流策略的请求,则发送拒绝请求的响应消息给第一用户面功能实体102,第一用户面功能实体102则确定不配置分流策略。
步骤S840、终端设备101接收第一用户面功能实体102返回的DNS响应消息。
步骤S850、终端设备101在接收到DNS响应消息后,根据DNS响应消息中包含的业务调度器107的网络地址发送业务流数据包。该业务流数据包首先由终端设备101发送至第一用户面功能实体102,第一用 户面功能实体102接收到该业务流数据包后,根据分流策略将该业务流数据包转发至边缘网络105,边缘网络105中的边缘计算设备将业务流数据包的源地址替换为边缘计算设备的网络地址并发送至业务调度器107,进而业务调度器107在接收到修改后的业务流数据包之后,可以根据其中的源地址(即边缘计算设备的网络地址)识别边缘计算设备所在的边缘网络105是否能够处理终端设备的业务访问请求。
步骤S860、业务调度器107根据业务流数据包生成响应消息,并通过边缘网络105返回响应消息至第一用户面功能实体102,进而由第一用户面功能实体102将响应消息返回至终端设备101。
在本发明的一个实施例中,如果业务调度器107识别出边缘计算设备所在的边缘网络105能够处理终端设备的业务访问请求,则生成包含该边缘网络105中的业务服务器的网络地址的响应消息,将该响应消息发送给边缘网络105,进而边缘网络105中的边缘计算设备将该响应消息中的目的地址替换为终端设备的目的地址并发送给第一用户面功能实体102。
在本发明的一个实施例中,如果业务调度器107识别出边缘计算设备所在的边缘网络105不能处理终端设备的业务访问请求,则生成的响应消息中携带核心数据中心部署的业务服务器的网络地址。
步骤S870、在将响应消息发送至终端设备101之后,终端设备101可以根据响应消息中包含的业务服务器的网络地址发起业务访问请求,包含该业务访问请求的上行业务流数据包先被发送至第一用户面功能实体102,由于该上行业务流数据包的目的地址和预先配置的分流地址一致,所以第一用户面功能实体102会将该上行业务流数据包分流至边缘网络105。
步骤S880、第一用户面功能实体102接收边缘网络105返回的针对所述终端设备101的下行业务流数据包,并将该下行业务流数据包返回给终端设备101。
如图9所示,根据本申请的一个实施例,提供了一种业务分流装置 900,其特征在于,所述装置900包括:
检测模块910,用于根据预设规则对接收到的业务流数据进行检测,得到检测结果;
生成模块920,用于若所述检测结果满足所述预设规则,则将所述业务流数据中的网络地址作为分流地址,生成分流策略;
分流模块930,用于根据所述分流策略将终端设备的上行业务流数据包分流至边缘网络,所述上行业务流数据包的目的地址为所述分流地址。
在本发明的一个实施例中,在所述生成模块920用于若所述检测结果满足所述预设规则,则将所述业务流数据中的网络地址作为分流地址,生成分流策略之后,所述装置还包括:
发送模块,用于将所述分流策略发送至会话管理功能实体;
确定配置模块,用于若接收到所述会话管理功能实体返回的同意所述分流策略的响应消息,则确定配置所述分流策略;
确定不配置模块,用于若接收到所述会话管理功能实体返回的拒绝所述分流策略的响应消息,则确定不配置所述分流策略。
在本发明的一个实施例中,在所述业务流数据为DNS响应消息时,其中,所述生成模块920包括:
接收单元,用于接收终端设备发送的DNS请求并将所述DNS请求发送至DNS服务器;
检测单元,用于对接收到的所述DNS服务器返回的DNS响应消息进行检测,得到检测结果;
生成单元,用于若所述检测结果满足预设规则,则将所述DNS响应消息中包含的网络地址作为分流地址,生成分流策略。
在本发明的一个实施例中,所述生成单元进一步用于:
若所述DNS响应消息中的域名信息满足预设条件,则将所述DNS响应消息中包含的网络地址作为分流地址;
根据所述分流地址生成分流策略,所述分流策略用于将终端设备发 送的目的地址为所述分流地址的业务流数据包分流至边缘网络。
在本发明的一个实施例中,在所述生成单元用于将所述DNS响应消息中包含的网络地址作为分流地址,生成分流策略之后,所述装置进一步用于:
将所述分流策略发送至会话管理功能实体;
若接收到所述会话管理功能实体返回的同意所述分流策略的响应消息,则确定配置所述分流策略,并将所述DNS响应消息发送至所述终端设备,以使所述终端设备根据所述DNS响应消息发送业务流数据包。
在本发明的一个实施例中,在所述生成单元用于将所述DNS响应消息中包含的网络地址作为分流地址,生成分流策略之后,所述装置进一步用于:
根据所述分流策略将终端设备发送的目的地址为所述分流地址的业务流数据包分流至边缘网络,进而由所述边缘网络将所述业务流数据包发送至业务调度器,所述业务调度器的网络地址为所述业务流数据包的目的地址;
接收由所述边缘网络发送的业务调度器返回的响应消息,并将所述响应消息发送至所述终端设备,以使所述终端设备根据所述响应消息中包含的网络地址发起业务访问请求。
在本发明的一个实施例中,将所述响应消息发送至所述终端设备之后,所述装置还用于:
接收所述终端设备发送的上行业务流数据包;
若所述上行业务流数据包的目的地址和分流地址一致时,则将所述上行业务流数据包发送至所述边缘网络;
若接收到所述边缘网络返回的针对所述终端设备的下行业务流数据包,则将所述下行业务流数据包返回给所述终端设备。
图10示出了适于用来实现本公开的任一实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括处理器或中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)(也称为存储部分)1008中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理,例如执行本公开的任一实施例所述的方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1008以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器或中央处理单元(CPU)1001执行时,执行本申请的方法和装置中限定的各种功能。在一些实施例中,计算机系统1000还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、 或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
本申请的实施例提供的技术方案可以包括以下有益效果:用户面功能实体根据预设规则对接收到的业务流数据进行检测,若检测结果满足预设规则,则将业务流数据中的网络地址作为分流地址,生成分流策略,根据分流策略将终端设备的上行业务流数据包分流至边缘网络。可见,本发明实施例的技术方案通过用户面功能实体对业务流的检测来实时生成分流策略,实现灵活、实时的分流策略的配置,满足特定的业务需求。比如,在本申请实施例提供的业务调度的技术方案中,可以通过用户面功能实体检测DNS响应消息,当满足预设规则时,则把DNS响应消息中相应的地址配置为分流地址,从而把上行业务流数据分流至边缘计算设备进行特定处理,满足特定的对在边缘网络部署的业务的调度需求。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上, 流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3至图7所示的各个步骤等。