1.本发明涉及云计算
技术领域:
:,具体而言,涉及一种基于服务网格的数据传输方法及装置、电子设备。
背景技术:
::2.随着分布式微服务的流行,服务网格作为一种新兴分布式服务架构,在容器调度单元中通过一个代理边车/代理容器sidecar来代理业务容器网络流量,从而促使业务与基础设施解耦,加快业务迭代周期,从而被广泛认可。3.然而在相关技术中,每个容器调度单元中的代理边车都会占用一部分系统资源,在大集群规模下,累积的资源开销会很多,不容小觑。同时,sidecar代理边车通过现有的iptables规则(网络管理员预定义的条件),拦截转发进出业务容器的流量,从而使原有的业务网路调用链路也增加了一定的耗时。4.图1是现有技术中一种可选的分布式服务架构的示意图,如图1所示,注册中心与控制平台连接,通过注册中心将多个k8s群组的信息注册至控制平台,通过控制平台进行规则下发至各个k8s群组的容器调度单元pod(pod中所有容器共享网络存储资源),在容器调度单元中包括:用户consumer和代理边车sidecar,同时k8s群组还包括各个api服务模块,如图1所示,在pod中通过一个代理边车sidecar来代理业务容器网络流量,从而促使业务与基础设施解耦。5.图2是现有技术中一种可选的服务网格中代理边车sidecar的流量代理的示意图,如图2所示,采用iptables规则,代理边车sidecar对于输入信息进行网络拦截,然后将信息转发至各app,各app的信息也会被代理边车sidecar进行信息拦截,通过代理边车sidecar输出信息,图2示意的流量代理方式,sidecar代理边车通过拦截转发进出业务容器的流量,强制进出pod的流量重定向到sidecar,从而促使业务与基础设施解耦,即通过代理通信流量,实现灰度路由,监控,安全认证等能力。但是这种方式,造成网络链路变长,使原有的业务网路调用链路增加了大量的耗时,同时iptables规则不易于维护。6.针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:7.本发明实施例提供了一种基于服务网格的数据传输方法及装置、电子设备,以至少解决现有技术中服务网格中通过网络预定规则拦截转发业务容器流量,造成网络链路变长,耗时增加的技术问题。8.根据本发明实施例的一个方面,提供了一种基于服务网格的数据传输方法,包括:接收网络流量数据;将所述网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序;通过所述内核扩展程序,将所述网络流量数据发送至目标容器调度单元所管理的目标业务容器中。9.可选地,在接收网络流量数据之前,还包括:采用预设接口调度策略,与每个所述容器调度单元所管理的业务容器建立链接关系;基于所述链接关系,调度所述业务容器的容器内核的内核扩展接口;基于所述内核扩展接口,编写与所述业务容器对应的所述内核扩展程序。10.可选地,在接收网络流量数据之前,还包括:获取每个容器调度单元的命名空间;基于所述命名空间,确定与每个所述容器调度单元对应的租赁信息,其中,所述租赁信息提供所述容器调度单元的调度信息和链接信息;基于所述租赁信息,在所述内核扩展程序中分别设置与每个所述容器调度单元对应的调度租户。11.可选地,通过所述内核扩展程序,将所述网络流量数据发送至目标容器调度单元所管理的目标业务容器中的步骤,包括:提取所述网络流量数据中的业务租赁信息;基于所述业务租赁信息,确定与所述目标业务容器对应的目标调度租户;通过所述目标调度租户和所述内核扩展程序,将所述网络流量数据发送至所述目标业务容器。12.可选地,基于服务网格的数据传输方法应用于虚拟机,所述虚拟机中包含有多个容器调度单元,每个所述容器调度单元对应管理多个业务容器,所有所述业务容器共享所述代理边车。13.可选地,多个所述虚拟机上的业务容器对接有容器集群管理系统,所述容器集群管理系统管理多个业务容器。14.根据本发明实施例的另一方面,还提供了一种基于服务网格的数据传输装置,包括:接收单元,用于接收网络流量数据;推送单元,用于将所述网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序;传输单元,用于通过所述内核扩展程序,将所述网络流量数据发送至目标容器调度单元所管理的目标业务容器中。15.可选地,基于服务网格的数据传输装置还包括:建立单元,用于在接收网络流量数据之前,采用预设接口调度策略,与每个所述容器调度单元所管理的业务容器建立链接关系;调度单元,用于基于所述链接关系,调度所述业务容器的容器内核的内核扩展接口;编写单元,用于基于所述内核扩展接口,编写与所述业务容器对应的所述内核扩展程序。16.可选地,基于服务网格的数据传输装置还包括:第一获取模块,用于在接收网络流量数据之前,获取每个容器调度单元的命名空间;第一确定模块,用于基于所述命名空间,确定与每个所述容器调度单元对应的租赁信息,其中,所述租赁信息提供所述容器调度单元的调度信息和链接信息;第一设置模块,用于基于所述租赁信息,在所述内核扩展程序中分别设置与每个所述容器调度单元对应的调度租户。17.可选地,传输单元包括:第一提取模块,用于提取所述网络流量数据中的业务租赁信息;第二确定模块,用于基于所述业务租赁信息,确定与所述目标业务容器对应的目标调度租户;第一发送模块,用于通过所述目标调度租户和所述内核扩展程序,将所述网络流量数据发送至所述目标业务容器。18.可选地,基于服务网格的数据传输方法应用于虚拟机,所述虚拟机中包含有多个容器调度单元,每个所述容器调度单元对应管理多个业务容器,所有所述业务容器共享所述代理边车。19.可选地,多个所述虚拟机上的业务容器对接有容器集群管理系统,所述容器集群管理系统管理多个业务容器。20.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的基于服务网格的数据传输方法。21.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项所述的基于服务网格的数据传输方法。22.本发明中,采用接收网络流量数据,将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序,通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。在该实施例中,可以通过主机内核接口自定义扩展接口程序,将服务网格上所有pod网络流量由一个公共的代理边车sidecar代理程序代理流量,大大降低系统资源开销,同时简化了网络链路,从而解决现有技术中服务网格中通过网络预定规则拦截转发业务容器流量,造成网络链路变长,耗时增加的技术问题。附图说明23.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:24.图1是现有技术中一种可选的分布式服务架构的示意图;25.图2是现有技术中一种可选的服务网格中代理边车sidecar的流量代理的示意图;26.图3是根据本发明实施例的一种可选的基于服务网格的数据传输方法的流程图;27.图4是现有技术中一种可选的从虚拟机接收到流量后的转发流程图;28.图5是根据本发明实施例的一种可选的使用内核扩展程序的流量转发示意图;29.图6是根据本发明实施例的一种可选的基于服务网格的数据传输装置的示意图;30.图7是根据本发明实施例的一种座位分配方案的确定方法的电子设备(或移动设备)的硬件结构框图。具体实施方式31.为了使本
技术领域:
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。32.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。33.为便于本领域技术人员理解本发明,下面对各本发明各实施例涉及的部分术语或者名词做出解释:34.容器,本质上是一个进程,是一个视图被隔离,资源受限的进程。35.k8s集群,是kubernetes集群的简称,包括多种业务类型,例如,长期伺服型(long-running)、批处理型(batch)、节点后台支撑型(node-daemon)和有状态应用型(statefulapplication)。36.容器调度单元,pod,是在k8s集群中运行部署应用或服务的最小单元,针对不同业务类型需要部署不同的pod,可以支持多容器,支持多个容器在一个pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。37.代理边车/代理容器,sidecar,现有技术中会部署在每个pod里面,通过部署一个对接外部服务集群的容器,实现pod访问外部系统或者外部服务。38.服务网格,servicemesh,是一个专门处理服务通讯的基础设施层,实现应用组成服务的复杂拓扑结构下进行可靠的请求传送。内部可以包括但不限于:一组和应用服务部署在一起的轻量级的网络代理,并且对应用服务透明。其中,服务网格从总体架构上来讲比较简单,是一堆紧挨着各项服务的用户代理,外加一组任务管理组件组成,管理组件被称为控制平台或控制平面(controlplane),负责与控制平面中的代理通信,下发策略和配置。代理在服务网格中被称为数据层或数据平面(dataplane),直接处理入站和出站数据包,转发、路由、健康检查、负载均衡、认证、鉴权、产生监控数据等。39.通过上述服务网格,可以实现如下功能:第一,微服务治理与业务逻辑的解耦,服务网格把软件安装包sdk中的大部分能力从应用中剥离出来,拆解为独立进程,以sidecar的模式进行部署。服务网格通过将服务通信及相关管控功能从业务程序中分离并下沉到基础设施层,使其和业务系统完全解耦,使开发人员更加专注于业务本身。第二,异构系统的统一治理,随着新技术的发展和人员更替,在同一家公司中往往会出现不同语言、不同框架的应用和服务,为了能够统一管控这些服务,通过将主体的服务治理能力下沉到基础设施,实现多语言的支持操作。40.需要说明的是,本公开中的基于服务网格的数据传输方法及其装置可用于云计算领域在进行数据信息传输的情况下,也可用于除云计算领域之外的任意领域在进行数据信息传输的情况下,本公开中对基于服务网格的数据传输方法及其装置的应用领域不做限定。41.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。42.本发明下述各实施例可应用于分布式微服务场景,尤其是对于服务网格场景,能够实现数据的传输,在服务网格场景下实现多个业务容器表征的租户共享代理边车的功能,在一个虚拟机node上指示的所有容器调度单元pod,通过主机内核接口自定义扩展接口程序,将该node上的所有pod网络流量由一个公共的代理边车sidecar代理程序代理流量,大大降低系统资源开销,同时简化了网络链路。43.下面结合各个实施例来详细说明本发明。44.实施例一45.根据本发明实施例,提供了一种基于服务网格的数据传输方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。46.图3是根据本发明实施例的一种可选的基于服务网格的数据传输方法的流程图,如图3所示,该方法包括如下步骤:47.步骤s301,接收网络流量数据;48.步骤s302,将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序;49.步骤s303,通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。50.通过上述步骤,可以接收网络流量数据,将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序,通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。在该实施例中,可以通过主机内核接口自定义扩展接口程序,将服务网格上所有pod网络流量由一个公共的代理边车sidecar代理程序代理流量,大大降低系统资源开销,同时简化了网络链路,从而解决现有技术中服务网格中通过网络预定规则拦截转发业务容器流量,造成网络链路变长,耗时增加的技术问题。51.为便于说明本发明实施例,进行对比分析,先对现有技术中的业务流量转发流程进行说明。52.图4是现有技术中一种可选的从虚拟机接收到流量后的转发流程图,如图4所示,原服务网格的虚拟机node接收到流量后,会经过虚拟机网络规则(包括从图4左侧的以太网接口到tcp/ip地址映射,然后再次通过以太网接口和虚拟网卡接口veth传输至应用程序app的pod中),然后通过veth发送到pod中(在pod中,会经过以太网接口、tcp/ip地址映射、套接字socket,到达app,而app运行后,会再次经过套接字socket、tcp/ip地址映射、以太网接口,最后通过软件端口,再流经一遍等网络层的以太网接口、tcp/ip地址映射、套接字socket,到达代理边车sidecar)。53.由上述现有技术记载内容可知,现有的网络iptables拦截转发业务容器流量,流量拦截需要经过虚拟网卡接口veth、eth、tcp/ip等多个流程,且重定向到sidecar,再由sidecar发往app又要经过上述流量,造成了网络链路复杂和耗时增加。54.下面对本实施例的网络转发流程进行说明。55.下面结合上述各实施步骤来详细说明本发明实施例。56.可选的,基于服务网格的数据传输方法应用于虚拟机node,虚拟机中包含有多个容器调度单元pod,每个容器调度单元对应管理多个业务容器,所有业务容器共享代理边车sidecar。57.可选的,多个虚拟机上的业务容器对接有容器集群管理系统,容器集群管理系统管理多个业务容器。58.一种可选地,在接收网络流量数据之前,还包括:采用预设接口调度策略,与每个容器调度单元所管理的业务容器建立链接关系;基于链接关系,调度业务容器的容器内核的内核扩展接口;基于内核扩展接口,编写与业务容器对应的内核扩展程序。59.需要说明的是,内核扩展接口可以包括但不限于bpf(berkeleypacketfilter,简称bpf)接口,该bpf接口可以是指柏克莱封包过滤器,是类unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发。60.本实施例中,使用了内核扩展接口,编写程序扩展内核能力,在虚拟机node接收到网络流量后,流经sidecar程序后,即通过内核扩展程序直接发往了业务pod的对应容器,减少了网络步骤。61.另一种可选的,在接收网络流量数据之前,还包括:获取每个容器调度单元的命名空间;基于命名空间,确定与每个容器调度单元对应的租赁信息,其中,租赁信息提供容器调度单元的调度信息和链接信息;基于租赁信息,在内核扩展程序中分别设置与每个容器调度单元对应的调度租户。62.由于虚拟机上所有业务容器共享了一个sidecar代理程序,根据业务pod的命名空间,在代理程序分别设置各租户来对应各业务程序pod,实现共用。即可以基于租赁信息,在内核扩展程序中分别设置与每个容器调度单元对应的调度租户,然后在使用过程中,通过调度租户的租户信息,来共享使用代理边车。63.需要说明的是,租赁信息是为了便于区分各个容器调度单元pod,因为所有的pod共用一个代理边车sidecar,此时,若都通过代理边车sidecar进行流量转发,就需要对待转发的流量进行区分,本实施例中,是通过命名空间进行租户区分,使各业务pod可以共享一个sidecar程序,实现服务网格场景下多租户共享该代理边车sidecar。64.在完成内核扩展程序的编写以及租户注册后,下面对实际流量转发过程进行说明。65.步骤s301,接收网络流量数据。66.其中,该网络流量数据可以是指虚拟机接收到的外部服务应用传输的流量数据,对于流量数据的具体类型和传输数据大小,在本实施例中不做具体限定,以各分布式存储集群使用的数据使用方式进行调整。67.步骤s302,将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序。68.在本实施例中,可以理由操作系统接口,动态扩展内核能力,将虚拟机node上所有pod在l3-l7层(主要是网络层部分,包括虚拟网卡接口、以太网接口、tcp/ip地址映射、套接字socket)的流量通过内核能力直接引向虚拟机node上的共享sidecar,从而大大降低了系统资源消耗和网络链路。69.步骤s303,通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。70.可选的,通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中的步骤,包括:提取网络流量数据中的业务租赁信息;基于业务租赁信息,确定与目标业务容器对应的目标调度租户;通过目标调度租户和内核扩展程序,将网络流量数据发送至目标业务容器。71.图5是根据本发明实施例的一种可选的使用内核扩展程序的流量转发示意图,如图5所示,在虚拟机node接收到网络流量后,流经sidecar程序后,即通过内核扩展程序进行套接字socket解析后,直接发往了业务pod(图5中以apppod示意)的app容器,相对于图4示意的流量传输流程,大大减少了网络步骤,同时使该虚拟机node上的所有pod都共享使用一个sidecar程序,减少了系统资源开销。72.如图5所示,将虚拟机node上所有pod在l3-l7层的流量通过内核能力直接引向虚拟机node上的共享sidecar,从而大大降低了系统资源消耗和网络链路。73.通过上述实施例,可以实现服务网格场景下多个pod租户共享代理边车的方案,解决服务网格每个pod都需要单独起一个sidecar代理,造成系统资源浪费,同时网络链路变复杂耗时增加的问题,通过内核接口扩展,减少iptables重定向网络链路复杂度,减少网络耗时。74.下面结合另一种可选的实施例来说明本发明。75.实施例二76.本发明实施例提供了一种基于服务网格的数据传输装置,该数据传输装置中包含的各个实施单元对应于上述实施例一中的各个实施步骤。77.图6是根据本发明实施例的一种可选的基于服务网格的数据传输装置的示意图,如图6所示,该数据传输装置可以包括:接收单元61、推送单元62、传输单元63,其中,78.接收单元61,用于接收网络流量数据;79.推送单元62,用于将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序;80.传输单元63,用于通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。81.上述步骤,可以通过接收单元61接收网络流量数据,通过推送单元62将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序,通过传输单元63通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。在该实施例中,可以通过主机内核接口自定义扩展接口程序,将服务网格上所有pod网络流量由一个公共的代理边车sidecar代理程序代理流量,大大降低系统资源开销,同时简化了网络链路,从而解决现有技术中服务网格中通过网络预定规则拦截转发业务容器流量,造成网络链路变长,耗时增加的技术问题。82.可选的,基于服务网格的数据传输装置还包括:建立单元,用于在接收网络流量数据之前,采用预设接口调度策略,与每个容器调度单元所管理的业务容器建立链接关系;调度单元,用于基于链接关系,调度业务容器的容器内核的内核扩展接口;编写单元,用于基于内核扩展接口,编写与业务容器对应的内核扩展程序。83.可选的,基于服务网格的数据传输装置还包括:第一获取模块,用于在接收网络流量数据之前,获取每个容器调度单元的命名空间;第一确定模块,用于基于命名空间,确定与每个容器调度单元对应的租赁信息,其中,租赁信息提供容器调度单元的调度信息和链接信息;第一设置模块,用于基于租赁信息,在内核扩展程序中分别设置与每个容器调度单元对应的调度租户。84.可选的,传输单元包括:第一提取模块,用于提取网络流量数据中的业务租赁信息;第二确定模块,用于基于业务租赁信息,确定与目标业务容器对应的目标调度租户;第一发送模块,用于通过目标调度租户和内核扩展程序,将网络流量数据发送至目标业务容器。85.可选的,基于服务网格的数据传输方法应用于虚拟机,虚拟机中包含有多个容器调度单元,每个容器调度单元对应管理多个业务容器,所有业务容器共享代理边车。86.可选的,多个虚拟机上的业务容器对接有容器集群管理系统,容器集群管理系统管理多个业务容器。87.上述的基于服务网格的数据传输装置还可以包括处理器和存储器,上述接收单元61、推送单元62、传输单元63等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。88.上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。89.上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。90.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质用于存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于服务网格的数据传输方法。91.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项的基于服务网格的数据传输方法。92.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收网络流量数据;将网络流量数据推送至代理边车,其中,在代理边车中预先配置有内核扩展程序;通过内核扩展程序,将网络流量数据发送至目标容器调度单元所管理的目标业务容器中。93.图7是根据本发明实施例的一种座位分配方案的确定方法的电子设备(或移动设备)的硬件结构框图。如图7所示,电子设备可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。94.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。95.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。96.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。97.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。98.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。99.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。100.以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域:
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12