具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例中可应用于云服务场景中。在云服务的场景中,各用户的数据资源位于其专有网络中,因此本申请实施例可将外部的至少一个网关节点作为专有网络的网关,提供对专有网络的访问以及数据转发等。
以Serverless的场景为例,其所提供的计算服务包括函数计算等。其在需要计算服务时可通过冷启动的方式启动函数计算实例,而无需提前预留实例,做到按需使用。其中,在计算服务中,针对用户的专有网络中资源的情况,需要采用挂载网卡的方式来实现对用户的专有网络的访问,然而,目前冷启动过程中,配置、挂载网卡的方式往往比较影响冷启动的速度。为了提高冷启动的速度,本申请实施例使用网关节点等中间节点作为专有网络的网关,来转发访问专有网络的流量。在网关节点完成相关网关服务配置后,函数计算实例的伸缩不再受限于网卡的挂载速度,还提升了弹性能力。
在另外一些实施例中,本申请还可应用于在不同专有网络之间进行访问的场景中。通过网关服务为专有网络提供网关,从而基于网关可实现针对不同专有网络之间的访问。
如图1所述的一种数据处理***的交互示意图。该数据处理***包括:计算子***10、网关子***20和专有网络30,其中,计算子***可理解为Serverless平台,其包括一组计算节点(集群),网关子***包括多个网关节点,专有网络子***包括专有网络内的各种设备以及数据存储单元等,该专有网络通过网关子***中的至少一个网关节点作为内网网关来与外部通信,数据存储单元用于进行各种数据资源的存储,该数据存储单元可包括各种架构的数据库、存储器等。
为了实现针对用户的专有网络的访问,本申请实施例可以采用至少一个网关节点作为用户的专有网络,以提供网关服务,可在网关节点中设置网关服务实例,通过网关服务实例挂载虚拟网卡。
参照图2,示出了本申请的一种数据处理方法实施例的步骤流程图。
步骤202,接收函数调用请求。
步骤204,依据所述函数调用请求创建函数实例及其虚拟网卡,以便基于虚拟网卡与至少一个网关节点建立通信,其中,所述网关节点的网关服务实例挂载虚拟网卡。
在计算节点中,当接收到函数调用请求时,可通过冷启动的方式启动函数计算实例,或称为函数实例。然后通过该函数实例执行相应的函数计算处理。其中,为了实现函数实例和专有网络的网关之间的通信,可基于该函数调用请求来创建函数实例的虚拟网卡,并且创建相应的容器来挂载该虚拟网卡,从而通过该虚拟网卡可实现函数实例与至少一个网关节点的通信。其中,虚拟网卡是实现网络通信的组件,可以看作是一个网络接口,每一个虚拟网卡对应一个唯一的地址信息,从而在数据交互的过程中,基于地址信息路由到该虚拟网卡,实现数据交互。在函数实例挂载虚拟网卡后,即可实现在网络中的通信。
其中,所述依据所述函数调用请求创建函数实例机器虚拟网卡,包括:依据所述函数调用请求获取网络配置信息,所述网络配置信息包括:网关服务标识和网关服务地址;依据所述网络配置信息创建函数实例及虚拟网卡;创建网卡容器,采用所述网卡容器挂载所述虚拟网卡。
网络配置信息为网络相关配置的信息,如可包括虚拟网卡的地址信息,也可包括网关服务标识和网关服务地址等。网关服务标识是网关服务实例的标识,每个网关服务实例对应一个用户的专有网络,而在不同的网关节点上可存在同一个用户的网关服务实例,即本申请实施例也可配置一组网关节点来提供网关服务。网关服务地址为网关服务实例所挂载的虚拟网卡的地址。
在本申请的一些可选实施例中,函数实例支持针对专有网络以及公共网络的访问,因此,函数实例可对应两个虚拟网卡,一个虚拟网卡(如第一虚拟网卡)用于与网关服务实例的交互,另一个虚拟网卡(如第二虚拟网卡)用于与公共网络交互。相应的,依据所述网络配置信息,创建函数实例的多于一个虚拟网卡,所述虚拟网卡至少包括:面向专有网络的第一虚拟网卡和面向公共网络的第二虚拟网卡;所述创建网卡容器,采用所述网卡容器挂载所述虚拟网卡,包括:针对每个虚拟网卡分别创建网卡容器,并采用所述网卡容器挂载对应的虚拟网卡。
本申请实施例还可提供配置界面,从而灵活的进行访问配置。例如在函数调用请求发起之前,可提供函数计算对应的配置界面。该配置界面可包括各种控件,如函数选择控件、访问控制控件等。基于函数选择控件可选择所需的函数。基于访问控制控件可进行函数访问的控制,如基于访问控制控件可选择针对公共网络或专有网络的访问,如是否让函数访问公有网络的资源。又如,基于访问控制控件也可指定访问的专有网络,从而后续可以访问该专有网络的资源等。
上述仅是配置界面的一种示例,实际处理中还可应用于其他访问配置场景,如私有网络之间的访问配置等,本申请实施例对此不做限制。
为了便于区分,也可将函数实例的虚拟网卡称为第一虚拟网卡、第二虚拟网卡,将网关服务实例的虚拟网卡称为第三虚拟网卡。因此该网络配置信息可包括第三虚拟网卡的地址信息,在一些示例中,也可包括第一虚拟网卡的地址信息、第二虚拟网卡的地址信息等。其中,在采用一组网关节点的情况下,该网络配置信息可接收到一组网关节点对应网关服务实例的第三虚拟网卡的地址。
一个可选实施例中,本申请可应用于云计算服务场景中,则用户的专有网络(Virtual Private Cloud,VPC)可为云上私有专用网。所使用的虚拟网卡可为弹性网卡(Elastic Network Interface,ENI)。弹性网卡ENI是弹性云服务器(Elastic ComputeService,ECS)提供的一种网络资源对象,可以挂载(Attach)到同账号或者跨账号的ECS实例上。跨账号挂载ENI是跨账号VPC连通的一种方式,弹性网卡可为专有网络提供网络接口。在计算子***中可具有函数执行引擎(Execution Engine,EE),其可为函数计算中执行用户函数的组件,主要的功能是初始化执行环境,转发调用请求。一台虚拟机(VirtualMachine,VM)对应一个函数执行引擎EE。从而通过该函数执行引擎EE可创建函数实例并执行相应的处理。
一个示例中,该函数执行引擎EE包括函数路由组件(EE Router)和函数代理组件(EE Agent)。其中,函数路由组件(EE Router)用于进行函数计算调度,为函数调用请求创建网关,分配容器。如函数路由组件可采用多分区(partition)架构,从而保证高可用。函数代理组件(EE Agent)是计算节点侧的函数计算的代理组件,可用于函数实例的创建、销毁,将函数调用请求转发到相应函数实例中。一个实施例中,函数执行引擎EE可配置在计算节点中。
函数路由组件(EE Router)可基于网关服务标识如Network Service ID,向函数代理组件(EE Agent)发起服务创建请求,该请求中可携带网关服务标识。然后函数代理组件(EE Agent)可创建函数实例的虚拟网卡,并获取该虚拟网卡对应的网卡配置信息,如该网关服务标识对应的网关服务地址,如Network Service的地址等,实现与VPC的网络通信。然后调用相应的容器接口创建容器,基于网卡配置信息配置虚拟网卡,并将该虚拟网卡挂载到容器中,完成与网关节点对应网关服务实例的网络打通。
从而本申请实施例可通过服务化的方式,将网关服务与计算集群分离,在技术架构上具备一定的优势。并且,在网关节点就绪后,函数实例的伸缩不再受限于弹性网卡的挂载速度,提升了弹性能力以及冷启动的速度。
步骤206,将所述函数实例对应的数据包封装后,基于所述函数实例的虚拟网卡发送给所述网关节点,以便通过所述网关节点转发到专有网络。
在完成网络打通后,可以实现函数实例和用户的专有网络的交互,因此对于需要发往专有网络的数据包,可在函数实例侧进行封装,然后通过虚拟网卡发送给相应的网关节点,该网关节点的网关服务实例可对数据包进行解封装,然后转发到该专有网络。
本申请实施例中,对于函数实例、网关服务实例等均可通过相应节点上的虚拟交换机进行管理,如开放虚拟交换机(Open vSwitch,OVS)。其中,虚拟交换机可执行实例对应网卡的创建、配置等管理以及数据处理等。本申请实施例中,函数实例和网关服务实例之间的数据交互可通过网络隧道(tunnel)执行,该网络隧道tunnel可基于链路标识(tunnelID)进行数据交互,即基于链路标识tunnel ID进行数据封装以及封装数据的转发等。
一个可选实施例中,所述将所述函数实例对应的数据包封装后,基于所述函数实例的虚拟网卡发送给所述网关节点,包括:接收数据包;在所述数据包的目的地址为内网地址的情况下,确定对应网关节点的网关服务标识;依据所述网关服务标识确定链路标识,采用所述链路标识对所述数据包进行封装;通过所述函数实例的虚拟网卡将封装的数据包发送到所述网关节点。函数实例的虚拟网卡至少包括:面向专有网络的第一虚拟网卡和面向公共网络的第二虚拟网卡,从而使得函数实例的数据包可向专有网络发送,也可向公共网络发送,因此可判断该数据包的目的地址,在数据包的目的地址为内网地址的情况下,可确定所述内网地址对应网关节点的网关服务实例的网关服务标识,然后基于该网关服务标识查询链路标识,当然,在一些示例中,也可基于用户的专有网络的网络信息等确定链路标识,具体可依据需求确定。基于该链路标识可进行数据包的封装处理,如在封装的数据头等位置添加链路标识,其中,封装的目的可以理解为:原始的数据包无法正常发送到网关节点,因此通过封装形成一个隧道(或称链路)再发送。
从而本申请实施例中,网关节点中通过网关服务实例实现对专有网关的网关服务,还能够实现多用户的隔离,不同的用户VPC流量通过不同tunnel ID进行虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)封装,打通网络的基础上实现用户的隔离。
在上述实施例中,网关节点中配置有挂载了虚拟网卡的网关服务实例,从而通过网关服务实例作为用户的专有网络的网关,对外与计算节点交互,提供函数计算所需的各种资源。上述网关服务实例在初次配置的过程中,可将各种配置信息发送给计算节点,便于计算节点使用。以下提供一种网关服务实例和函数实例初次交互的示例。
参照图3,示出了本申请实施例的一种数据处理方的交互示意图。
步骤302,计算节点接收函数调用请求。
步骤304,计算节点依据所述接收函数调用请求,发送服务创建请求给网关节点。
其中,计算节点在接收到函数调用请求后,可基于该函数调用确定所需资源所对应专有网络的网络配置信息,如专有网络的标识、名称等VPC配置信息,还可确定是否存储有该专有网络对应网关服务实例的网关服务标识。如果存储有网关服务标识,可直接基于该网关服务标识执行后续的处理。如果未存储网关服务标识,可生成服务创建请求,并发送给服务创建请求给网关节点。本申请实施例中,为了保证数据交互,可通过一组网关节点提供网关服务,所述一组网关节点包括至少一个网关节点,因此该服务创建请求可发送给至少一个网关节点。从而通过一组网关节点实现网关服务的高可用性,每个专有网络VPC对应至少2个网关节点,从而在某一个网关节点出现故障或异常等情况下,其他网关节点仍可提供网关服务,保证数据交互的正常执行。基于OVS(开放虚拟机)的可编程流表,可实现基于网关节点的负载情况确定执行通信的网关节点,实现负载均衡,动态扩缩容。
其中,网络配置信息为配置与专有网络交互所需的各种信息,如专有网络的标识,虚拟交换机的标识以及其他配置信息。专有网络的标识用于确定需要访问的专有网络,虚拟交换机的标识可用于确定虚拟交换机,从而便于后续创建虚拟网卡。其他配置信息可安全信息、控制信息等,可依据配置需求确定。如在后续的数据访问过程中,可基于配置信息对访问流量即数据包进行过滤,也就是可确定数据包是否允许访问内网。又如可基于控制信息授权创建虚拟网卡等。因此也可将所需的信息添加到服务创建请求中,便于网关节点创建网关服务实例。
步骤306,网关节点依据所述服务创建请求,确定所述网关服务实例的服务配置信息。
步骤308,网关节点发送所述服务配置信息。
计算节点的服务创建请求对应访问的接口是一个异步调用接口,网关节点可创建一个网关服务对象,并确定对应的网关服务标识等服务配置信息。然后发送服务配置信息给计算节点,计算节点可缓存该服务配置信息。其中,服务创建请求向一组网关节点发送,相应也可接收到一组服务配置信息,所述一组服务配置信息包括一组网关节点对应的网关服务标识。
一个示例中,计算节点的函数路由组件(EE Router)可通过服务创建请求向网关节点请求网关服务(Network Service)的服务配置信息,相应,网关节点可创建一个Network Service对象,然后返回Network Service ID作为网关服务标识。其中,NetworkService对象可对外提供服务,对数据包进行处理和转发,因此可基于Network Service生成相应的网关服务实例。
步骤310,网关节点创建网关服务实例并挂载虚拟网卡。
网关节点可异步创建该网关服务对象的网关服务实例,并挂载虚拟网卡。其中,可创建网关服务对象的网关服务实例,然后创建该网关服务实例的虚拟网卡(第二虚拟网卡),在该网关服务实例挂载该虚拟网卡,完成服务的实例化处理。
如上例可异步创建网关服务实例如网关Pod,并挂载用户的弹性网卡ENI。
步骤312,计算节点向所述网关节点的网关服务实例发送订阅请求。
步骤314,网关节点依据所述网关服务实例的网关服务地址生成订阅信息。
步骤316,网关节点向计算节点发送订阅信息。
步骤318,计算节点创建函数实例的虚拟网卡。
步骤320,创建网卡容器,采用所述网卡容器挂载所述虚拟网卡。
计算节点可基于网络配置信息确定网关服务实例的网关服务标识,然后可依据所述网络配置信息创建函数实例,以及函数实例的虚拟网卡。其中,该虚拟网关可订阅网关服务节点的网关服务。因此可向网关节点的网关服务实例发送订阅请求,网关节点在完成网关服务实例的创建以及虚拟网卡的挂载后,可确定虚拟网卡对应的网关服务地址,基于该网关服务地址生成订阅信息,发送到计算节点。其中,计算节点可收到至少一个网关节点的网关服务地址。然后基于网关服务地址、网关服务标识等网络配置信息创建虚拟网卡,并可创建网卡容器,将虚拟网卡挂载到该网卡容器中,完成计算节点中函数实例和网关节点中网关服务实例的网络打通。
一个可选实施例中,如图4A所示的处理***架构图,计算节点可包括:函数路由组件(EE Router)、函数代理组件(EE Agent)和网络服务网格控制组件(Network ServiceManager,NSMgr)。其中,NSMgr是网络服务网格(Network Service Mesh)的控制组件,可部署在计算节点上,实现节点之间的通信控制。可实现计算节点、网关节点和专有网络的通信交互。
在一个示例中,针对函数示例的创建可执行以下过程,如图4B所示:
步骤402,函数路由组件发送容器创建请求给函数代理组件。
其中,上述向网关节点请求网关服务标识的过程由函数路由组件执行。其中,函数路由组件可根据函数的VPC配置向网关服务创建一个Network Service。获取到NetworkService的Network Service ID后,可以进行缓存,当然获取到的其他服务配置信息也可一并缓存。之后,针对相同的VPC配置,则会直接复用缓存的Network Service ID,而不需要再向网关节点请求创建。函数路由组件得到Network Service ID后,会向函数代理组件发起创建容器的请求,携带Network Service ID。
步骤404,函数代理组件向网络服务网格控制组件发送网卡创建请求。
步骤406,网络服务网格控制组件向所述网关节点的网关服务实例发送订阅请求。
函数代理组件调用网络服务网格控制组件NSMgr创建虚拟网卡,NSMgr会查询是否有订阅VPC网关服务,如果没有,则向VPC网关服务的网关服务实例订阅此Network Service的地址。如果已经订阅,则可直接获取该Network Service的地址,无需再次订阅。
步骤408,网关节点反馈网关服务地址。
其中,网关节点将网关服务实例如网关Pod创建完成,并且挂载ENI成功后,可将对应的网关Pod的地址即Network Service的地址下发到NSMgr。相应,NSMgr会缓存NetworkService的网关Pod地址信息,如果是相同的Network Service ID,则会直接复用缓存中的网关服务地址,而不需要再向网关节点请求。
步骤410,网络服务网格控制组件创建虚拟网卡并发送给函数代理组件。
NSMgr可以创建虚拟网卡并确定网卡配置信息,然后可反馈给函数代理组件。
步骤412,函数代理组件创建网卡容器,采用所述网卡容器挂载所述虚拟网卡。
函数代理组件可调用容器的接口来创建容器,然后基于网卡配置信息配置虚拟网卡,并挂载到容器中。
从而计算节点的函数实例对应的虚拟网卡能够获知用户的专有网络对应网关服务实例的网关服务地址等信息,能够支持通信交互。
结合上述过程,在首次向网关节点请求网关服务实例的相关服务配置新消息、网络配置信息之后,可以缓存相应的信息,从而无需再次请求。相应的,在后续的函数实例的冷启动过程中,也无需再次请求,而是直接复用缓存信息,从而提高效率。
上述的实现计算节点到用户VPC的网络打通。通过服务化的方式,将网关服务与计算集群分离,在技术架构上具备一定的优势。
在完成上述网络打通后,可进行数据的交互。计算节点和网关节点的虚拟网卡均可由虚拟交换机OVS接管,通过管控面配置的流表规则,将数据包进行VXLAN封装,从函数实例转发到正确的网关节点上。在网关节点上将数据包进行解封装,转发到对应的用户VPC中。管控为每个用户的VPC分配不同的tunnel ID,数据包以此tunnel ID在计算节点封装后发往网关节点,网关节点根据解封装出来的tunnel ID决定路由目标,再将数据包发往指定的用户VPC。
本申请实施例的计算节点在执行网络路由时,一个函数实例可支持同时访问用户的专有网络VPC和公网。其中,可为计算节点分配2个虚拟网卡,分别用于访问公网和VPC。在函数实例中根据数据包访问的目标地址进行路由,将内网网段的访问路由到用户VPC,其他网段路由到公网。
在上述实施例的基础上,本申请实施例还提供了一种数据处理方法,应用于网关节点,可为专有网络提供网关服务。
参照图5,示出了本申请的再一种数据处理方法实施例的步骤流程图。
步骤502,提供网关服务实例,所述网关服务实例用于作为专有网络的网关,所述网关服务实例配置有虚拟网卡,并与配置有虚拟网卡的函数实例通信。
步骤504,接收数据包。所述数据包由所述函数实例封装后发送。
步骤506,对所述数据包进行解封装,并确定对应的专有网络。
步骤508,基于所述网关服务实例的虚拟网卡将所述数据包转发到所述专有网络。
网关节点在为用户的专有网络创建网关服务实例后,可作为内网网关,为专有网络提供网关服务,如负责针对专有网络的数据转发。因此在接收到数据包之后,可基于所述网关服务实例的虚拟网卡对该数据包进行解封装,确定对应的链路标识,然后依据链路标识确定对应的专有网络,将解封的数据包发送到该专有网络,从而执行所需的操作。后续当专有网络中的数据要向外部发送,如向计算节点反馈数据资源等,可将相应的数据包发送到网关节点,网关节点的网关服务实例可对该数据包进行封装,然后发送给计算节点,计算节点解封装后可由相应的函数实例执行函数计算等处理。
其中,在创建网关服务实例的过程中,可接收服务创建请求;依据所述服务创建请求,确定所述网关服务实例的服务配置信息,所述服务配置信息包括网关服务标识;发送所述服务配置信息。创建网关服务实例;创建虚拟网卡,采用所述网关服务实例挂载所述虚拟网卡。接收订阅请求;依据所述网关服务实例的网关服务地址生成订阅信息;发送所述订阅信息。
在上述实施例的基础上,通过网关服务可为专有网络提供网关,从而基于网关节点的网关服务实例,还可实现不同专有网络之间的交互,实现跨租户VPC网络的打通。
因此每个专有网关可对应一组网关节点,该组网关节点中的每个网关,针对该专有网络可配置网关服务实例,每个网关服务实例挂载有虚拟网卡,作为网络接口实现与其他网络的交互。如图6所示,可包括如下步骤:
步骤602,第一专有网络发送数据包给第一网关服务实例。
步骤604,第一网关服务实例确定第二网关服务实例的链路标识,并对数据包进行封装。
步骤606,第一网关服务实例将封装的数据包发送给第二网关服务实例。
第一专有网络的数据包可发送到第一网关服务实例,然后第一网关服务实例确定该数据包的目的地址,基于虚拟交换机的路由表查询该目的地址对应的链路标识。其中,目的地址可为第二专有网络的地址,则该数据包是针对第二专有网络的访问,相应可查询到第二专有网络的第二网关服务实例的链路标识。然后依据该链路标识对该数据包进行封装,如在数据包的包头添加链路标识等。然后基于第二网关服务实例的地址信息发送该数据包。
步骤606,第二网关服务实例对所述数据包进行解封装。
步骤608,第二网关服务实例依据链路标识,将所述数据包发送给第二专有网络。
第二网关服务实例接收到数据包之后,可对数据包进行解封转,获取到链路标识,再将该数据包发送到第二专有网络。
从而基于网关服务也可实现不同专有网络之间的打通,在云场景下实现跨租户VPC打通,为租户提供更多便利。其中,租户可理解为租用云服务的用户。
综上,本申请实施例可实现多用户隔离,不同的用户VPC流量通过不同tunnel ID进行VXLAN封装。本申请实施例的网关具有高可用,每个专有网络VPC可对应1个或1个以上的网关节点,通过1个以上的网关节点还能够提高稳定性和容错性,且能够基于OVS(开放虚拟机)的可编程流表,实现负载均衡,动态扩缩容。
本申请实施例的网关管控,可基于NSM(网络服务网格)实现,将网关节点实现成统一调度。对于网关的管控,可将网关服务化,通过API和网关服务交互,计算节点部署通过网卡进行交互。后续数据可基于链路标识传输。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种数据处理装置,应用于计算节点的电子设备中。
参照图7,示出了本申请的一种数据处理装置实施例的结构框图,具体可以包括如下模块:
函数调用模块702,用于接收函数调用请求;
实例创建模块704,用于依据所述函数调用请求创建函数实例及其虚拟网卡,以便基于所述虚拟网卡与至少一个网关节点建立通信,其中,所述网关节点的网关服务实例挂载有虚拟网卡;
数据处理模块706,用于将所述函数实例对应的数据包封装,基于所述函数实例的虚拟网卡发送给所述网关节点,以便通过所述网关节点转发到专有网络。
其中,所述实例创建模块704,用于依据所述函数调用请求获取网络配置信息,所述网络配置信息包括:网关服务标识和网关服务地址;依据所述网络配置信息创建函数实例的虚拟网卡;创建网卡容器,采用所述网卡容器挂载所述虚拟网卡。
所述实例创建模块704,还用于依据所述接收函数调用请求,发送服务创建请求;获取服务配置信息,所述服务配置信息依据网关节点创建的网关服务实例确定,所述服务配置信息包括网关服务标识。
所述实例创建模块704,还用于向所述网关节点的网关服务实例发送订阅请求;接收返回的订阅信息,所述订阅信息包括网关服务地址。
所述数据处理模块706,用于接收数据包;在所述数据包的目的地址为内网地址的情况下,确定对应网关节点的网关服务标识;依据所述网关服务标识确定链路标识,采用所述链路标识对所述数据包进行封装;通过所述函数实例的虚拟网卡将封装的数据包发送到所述网关节点。
所述数据处理模块706,还用于判断所述数据包的目的地址;在所述数据包的目的地址为外网地址的情况下,向所述目的地址转发所述数据包。
综上,针对函数调用请求,可创建函数实例的虚拟网卡来与网关节点交互,网关节点作为专有网络的网关,其上网关服务实例挂载有虚拟网卡,可以处理专有网络的数据,从而实现将函数计算和网关分离,从而不影响函数计算的冷启动速度。
在上述实施例的基础上,本实施例还提供了一种数据处理装置,应用于网关节点的电子设备中。
参照图8,示出了本申请的另一种数据处理装置实施例的结构框图,具体可以包括如下模块:
网关服务模块802,用于提供网关服务实例,所述网关服务实例用于作为专有网络的网关,所述网关服务实例配置有虚拟网卡,并与配置有虚拟网卡的实例通信。
网关处理模块804,用于接收数据包,所述数据包由所述实例封装后发送;对所述数据包进行解封装,并确定对应的专有网络。
数据转发模块806,用于基于所述网关服务实例的虚拟网卡将所述数据包转发到所述专有网络。
所述网关服务模块802,还用于接收服务创建请求;依据所述服务创建请求,确定所述网关服务实例的服务配置信息,所述服务配置信息包括网关服务标识;发送所述服务配置信息。
所述网关服务模块802,还用于创建网关服务实例;创建虚拟网卡,采用所述网关服务实例挂载所述虚拟网卡。
所述网关服务模块802,还用于接收订阅请求;依据所述网关服务实例的网关服务地址生成订阅信息;发送所述订阅信息。
所述数据转发模块806,还用于基于所述网关服务实例的虚拟网卡接收专有网络的数据包;所述网关处理模块804,还用于对所述数据包进行封装,将封装的数据包发送给计算节点,以便调用计算节点的函数实例进行处理。
综上,本申请实施例可实现多用户隔离,不同的用户VPC流量通过不同tunnel ID进行VXLAN封装。本申请实施例的网关具有高可用,每个专有网络VPC可对应1个或1个以上的网关节点,通过1个以上的网关节点还能够提高稳定性和容错性,且能够基于OVS(开放虚拟机)的可编程流表,实现负载均衡,动态扩缩容。
本申请实施例的网关管控,可基于NSM(网络服务网格)实现,将网关节点实现成统一调度。对于网关的管控,可将网关服务化,通过API和网关服务交互,计算节点部署通过网卡进行交互。后续数据可基于链路标识传输。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
本申请实施例提供了一种软件产品,包括计算机程序/指令,其中,当所述计算机程序/指令被执行时,实现如本申请实施例中一个或多个所述的方法。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括终端设备、服务器(集群)等电子设备。图9示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置900。
对于一个实施例,图9示出了示例性装置900,该装置具有一个或多个处理器902、被耦合到(一个或多个)处理器902中的至少一个的控制模块(芯片组)904、被耦合到控制模块904的存储器906、被耦合到控制模块904的非易失性存储器(NVM)/存储设备908、被耦合到控制模块904的一个或多个输入/输出设备910,以及被耦合到控制模块904的网络接口912。
处理器902可包括一个或多个单核或多核处理器,处理器902可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置900能够作为本申请实施例中所述终端设备、服务器(集群)等设备。
在一些实施例中,装置900可包括具有指令914的一个或多个计算机可读介质(例如,存储器906或NVM/存储设备908)以及与该一个或多个计算机可读介质相合并被配置为执行指令914以实现模块从而执行本公开中所述的动作的一个或多个处理器902。
对于一个实施例,控制模块904可包括任意适当的接口控制器,以向(一个或多个)处理器902中的至少一个和/或与控制模块904通信的任意适当的设备或组件提供任意适当的接口。
控制模块904可包括存储器控制器模块,以向存储器906提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器906可被用于例如为装置900加载和存储数据和/或指令914。对于一个实施例,存储器906可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器906可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块904可包括一个或多个输入/输出控制器,以向NVM/存储设备908及(一个或多个)输入/输出设备910提供接口。
例如,NVM/存储设备908可被用于存储数据和/或指令914。NVM/存储设备908可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备908可包括在物理上作为装置900被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备908可通过网络经由(一个或多个)输入/输出设备910进行访问。
(一个或多个)输入/输出设备910可为装置900提供接口以与任意其他适当的设备通信,输入/输出设备910可以包括通信组件、音频组件、传感器组件等。网络接口912可为装置900提供接口以通过一个或多个网络通信,装置900可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,装置900可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置900可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置900包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或NVM/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数据处理方法和装置,一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。