一种数据处理方法、第一容器、电子设备及存储介质与流程

文档序号:31538557发布日期:2022-09-16 23:14阅读:48来源:国知局
一种数据处理方法、第一容器、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种数据处理方法、第一容器、电子设备及存储介质。


背景技术:

2.在kubernetes集群中,相关技术通过ingress、nodeport service或loadbalancer service将南北向流量引入集群,这种引流方式无法根据请求数据包的目的ip判断其所属的业务。


技术实现要素:

3.为了解决上述问题,本发明实施例提供了一种数据处理方法、第一容器、电子设备及存储介质,以至少解决相关技术无法根据请求数据包的目的ip判断其所属的业务的问题。
4.本发明的技术方案是这样实现的:
5.第一方面,本发明实施例提供了一种数据处理方法,应用于容器集群的第一容器组中的第一容器,所述第一容器组还包括第一网络接口和第二网络接口,所述方法包括:
6.基于第一网络接口接收请求数据包;
7.基于所述请求数据包匹配后端服务器;所述后端服务器表征所述容器集群中提供应用服务的节点;
8.基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址;
9.基于所述第二网络接口将修改后的所述请求数据包发送至所述后端服务器。
10.在上述方案中,所述基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址,包括:
11.将所述请求数据包中的源ip地址修改为第二网络接口的ip地址;
12.将所述请求数据包的目的ip地址修改为匹配到的后端服务器的ip地址。
13.在上述方案中,在基于所述第二网络接口将修改后的所述请求数据包发送至所述后端服务器后,所述方法还包括:
14.基于所述第二网络接口接收所述后端服务器的响应数据包;
15.对所述响应数据包进行修改,基于所述第一网络接口将修改后的所述响应数据包发出。
16.在上述方案中,所述对所述响应数据包进行修改,包括:
17.将所述响应数据包的目的ip地址修改为所述请求数据包的源ip地址;
18.将所述响应数据包的源ip地址修改为所述请求数据包的目的ip地址。
19.在上述方案中,在基于第一网络接口接收请求数据包之前,所述方法还包括:
20.接收设定广播请求;
21.基于所述设定广播请求将所述第一网络接口的网络地址发送给对端设备,以使所述对端设备基于所述网络地址发送请求数据包至所述第一网络接口;所述对端设备表征所述设定广播请求的发送者。
22.在上述方案中,所述基于所述请求数据包匹配后端服务器,包括:
23.基于所述请求数据包中的请求参数匹配虚拟服务;
24.基于匹配到的虚拟服务选择对应的后端服务器。
25.在上述方案中,所述第一网络接口和所述第二网络接口由所述第一容器接管;其中,
26.所述第一网络接口基于所述第一容器组所在的节点的网口创建;所述第二网络接口基于所述第一容器组的第三网络接口创建;所述第三网络接口表征所述容器集群的网络插件为所述第一容器组创建的网络接口;所述第二网络接口的ip地址表征为第三网络接口的ip地址。
27.第二方面,本发明实施例提供了一种第一容器,该第一容器包括:
28.接收模块,用于基于第一网络接口接收请求数据包;
29.匹配模块,用于基于所述请求数据包匹配后端服务器;所述后端服务器表征所述容器集群中提供应用服务的节点;
30.修改模块,用于基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址;
31.发送模块,用于基于所述第二网络接口将修改后的所述请求数据包发送至所述后端服务器。
32.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的数据处理方法的步骤。
33.第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的数据处理方法的步骤。
34.本发明实施例应用于容器集群的第一容器组中的第一容器,第一容器组还包括第一网络接口和第二网络接口,基于第一网络接口接收请求数据包,基于请求数据包匹配后端服务器,基于匹配到的后端服务器和第二网络接口修改请求数据包中的网络地址,通过第二网络接口将修改后的请求数据包发送至对应的后端服务器,其中,后端服务器表征容器集群中提供应用服务的节点。本发明实施例中第一容器可以通过第一网络接口接收不同目的ip的数据包,第一容器可以根据请求数据包的目的ip区分其所属的业务,再通过第二网络接口发送给业务对应的后端服务器。本发明实施例无需根据端口区分业务,更加符合http和https等常用固定端口的业务场景。
附图说明
35.图1是本发明实施例提供的一种容器集群的示意图;
36.图2是本发明实施例提供的一种数据处理方法的实现流程示意图;
37.图3是本发明实施例提供的另一种数据处理方法的实现流程示意图;
38.图4是本发明实施例提供的另一种数据处理方法的实现流程示意图;
39.图5是本发明实施例提供的另一种数据处理方法的实现流程示意图;
40.图6是本发明实施例提供的一种南北向流量的数据路径的示意图;
41.图7是本发明实施例提供的一种第一容器的示意图;
42.图8是本发明一实施例提供的电子设备的示意图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.kubernetes(k8s)是一种示例性的开源容器集群管理系统,用于自动部署、扩展和管理容器化应用程序。在kubernetes集群中,pod(容器组)是所有业务类型的基础,也是k8s管理的最小单位级,它是一个或多个容器的组合。一个或多个容器可运行在一个pod内,容器共享同一个pod的网络环境。k8s以pod为最小单位进行调度、扩展、共享资源、管理生命周期。
45.目前kubernetes将南北向流量引入集群的方案主要包括ingress、nodeport service和loadbalancer service,从客户端到服务端的流量就是南北向流量,即client-server之间的流量。其中,ingress是一种七层虚拟服务,用于根据host和path将网络流量引入kubernetes集群网络。nodeport service是一种四层虚拟服务,用于根据port将网络流量引入kubernetes集群网络。loadbalancer service是一种基于nodeport service和外部硬件负载均衡器的四层虚拟服务,用于根据一个external ip将网络流量引入kubernetes集群网络。
46.虚拟服务是一种对应用服务的抽象,通过为应用服务器集群提供统一的入口网际互连协议(ip,internet protocol)、port、host和path,并将来自客户端的请求根据负载均衡算法调度到恰当的后端服务器,实现后端服务的高可用和性能横向扩展。虚拟服务通常分为四层虚拟服务和七层虚拟服务,根据开放式系统互联(osi,open system interconnect)四层及以下的网络数据包信息进行调度的为四层虚拟服务,根据osi七层及以下的网络数据包信息进行调度的为七层虚拟服务。
47.nodeport service的缺点:需要占用宝贵的宿主机端口资源,能配置的服务数量受端口数量限制,且通常需要经过多层转发(如在nodea命中此service,被调度到node b),性能较差且排障困难(过长的流量路径不但会降低网络性能,还会增加网络复杂程度,导致排障难度上升)。其次,对于经典的http/https/ftp等服务,使用的端口通常是固定的80、443等,但是通过nodeport service发布此类业务却需要避开此类常用端口,比如nodeport service使用的端口范围为30000-50000,这对客户端也不是一个友好的行为。
48.loadbalancer service的缺点:loadbalancer service基于nodeport service实现,有同样的端口数量限制和性能问题。
49.ingress的缺点:传统的ingress基于nginx实现,nginx是一个开放源代码的反向
代理服务器,nginx以pod的形式部署在kubernetes集群中,一般是通过nodeport或loadbalancer service将流量导入nginx pod中,因此到达nginx pod的网络数据包的目的ip一定是nginx pod ip,因此nginx无法根据数据包的目的ip判断其所属业务。
50.可见,传统的ingress通过nodeport或loadbalancer service将流量引入集群,再根据host和path等应用层信息进行节点调度,这种引流方式无法根据数据包的目的ip判断其所属的业务,导致传统的不支持域名的业务难以部署进kubernetes。还会受到nodeport和loadbalancer service的端口管理难度,以及性能问题的影响。
51.针对上述相关技术的缺点,本发明实施例提供了一种数据处理方法,能够收到不同目的ip的请求数据包,根据目的ip区分其所属的业务。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
52.图1是本发明实施例容器集群的示意图,图1中node是容器集群中的节点,节点中包括容器组(pod)。在相关技术中,pod中只包含一个eth0网络接口,eth0是kubernetes cni(containernetwork interface)插件为pod创建的veth接口,veth是一种虚拟出来的网络设备。
53.如图1所示,本发明实施例在容器集群的一个节点的一个pod中创建一个数据面(dataplane)、一个eth1(第一网络接口)和一个eth2(第二网络接口)。数据面以容器形式部署在容器集群中,也就是本发明实施例中的第一容器,eth1和eth2由数据面进程接管。
54.在实际应用中,dataplane是一个支持intel dpdk技术的软件负载数据面,dpdk全称是dataplane developmentkit,是intel提供的数据平面开发工具集,dpdk应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包。
55.eth1可以是一个运行在vepa模式的macvtap接口,基于默认网络命名空间中的某个网口(nic)创建,并将eth1加入到数据面进程所在的网络命名空间。nic是kubernetes workernode的defaultnetworknamespace中的一个网口。macvtap是一种旨在简化虚拟化桥接网络的linux内核设备驱动,本质上是macvlan驱动和tap设备的组合,通常用于在虚拟化环境中替代linuxbridge+tap为虚拟机提供虚拟网络设备。
56.eth2可以是一个运行在passthru模式的macvtap接口,eth2基于eth0创建,与数据面进程位于同一网络命名空间。
57.在eth1上配置一个外部可达的ip地址:ip1,用于接收外部网络流量。将eth0上自带的pod ip地址(ip2)移动到eth2上,用于接入pod网络。若在虚拟化环境中部署,则要求底层虚拟化平台开启网络混杂模式,确保目的媒体存取控制位址(mac,mediaaccess controladdress)为eth1的数据包不会被虚拟化平台丢弃。
58.图2是本发明实施例提供的一种数据处理方法的实现流程示意图,所述数据处理方法应用于容器集群的第一容器组中的第一容器,即图1中的数据面,所述数据处理方法的物理执行主体为容器集群中的节点,第一容器组位于该节点中,节点可以是台式电脑、笔记本电脑等电子设备。参考图2,数据处理方法包括:
59.s201,基于第一网络接口接收请求数据包。
60.这里,第一容器对应图1中的数据面,第一容器组还包括第一网络接口和第二网络接口,第一网络接口对应图1中的eth1,第二网络接口对应图1中的eth2。
61.在一实施例中,所述第一网络接口和所述第二网络接口由所述第一容器接管;其
中,所述第一网络接口基于所述第一容器组所在的节点的网口创建;所述第二网络接口基于所述第一容器组的第三网络接口创建;所述第三网络接口表征所述容器集群的网络插件为所述第一容器组创建的网络接口;所述第二网络接口的ip地址表征为第三网络接口的ip地址。
62.第一容器通过第一网络接口接收外部网络请求,第一网络接口基于默认网络命名空间中的某个网口(nic)创建,并将eth1加入到数据面进程所在的网络命名空间。第一网络接口上配置有外部可达的ip地址,用于接收外部网络流量。
63.第三网络接口对应图1中的eth0,将eth0上自带的pod ip地址移动到第二网络接口上,用于接入pod网络。
64.在实际应用中,第一网络接口和第二网络接口可以是macvtap接口,macvtap是一种旨在简化虚拟化桥接网络的linux内核设备驱动,本质上是macvlan驱动和tap设备的组合,通常用于在虚拟化环境中替代linuxbridge+tap为虚拟机提供虚拟网络设备。第一容器是一个支持intel dpdk技术的软件负载数据面,通过intel dpdk技术接管两个macvtap高性能虚拟网口。通过macvtap高性能虚拟网口可以规避nodeport/loadbalancer service的性能影响与端口管理难度,缩短了南北向流量进入集群的路径,提升性能的同时,降低了排障难度。
65.在一实施例中,在基于第一网络接口接收请求数据包之前,所述方法还包括:
66.s301,接收设定广播请求。
67.这里,设定广播请求由上游网络设备的客户端发送,上游网络设备即容器集群的外部设备。设定广播请求用于获取第一网络接口的网络地址。
68.具体的,上游网络设备发送地址解析协议(arp,address resolution protocal)广播请求,用于获取第一网络接口的mac地址。arp用于实现从ip地址到mac地址的映射,即询问目标ip对应的mac地址。
69.s302,基于所述设定广播请求将所述第一网络接口的网络地址发送给对端设备,以使所述对端设备基于所述网络地址发送请求数据包至所述第一网络接口;所述对端设备表征所述设定广播请求的发送者。
70.这里,对端设备即为上游网络设备,第一容器响应设定广播请求,将第一网络接口的网络地址(eth1的mac地址)提供给上游网络设备。由此,上游网络设备可以通过二层网络将网络流量发送给第一网络接口。
71.在本发明实施例中,请求数据包可以是来自不同目的ip的数据包,可以是http/https/ftp等请求数据包。本发明实施例支持纯ip业务,纯ip业务即为传统的不支持域名的业务。
72.s202,基于所述请求数据包匹配后端服务器;所述后端服务器表征所述容器集群中提供应用服务的节点。
73.第一容器通过第一网络接口接收到请求数据包后,根据请求数据包匹配后端服务器。
74.参考图4,在一实施例中,所述基于所述请求数据包匹配后端服务器,包括:
75.s401,基于所述请求数据包中的请求参数匹配虚拟服务。
76.s402,基于匹配到的虚拟服务选择对应的后端服务器。
77.这里,虚拟服务指容器集群提供的应用服务,请求参数包括请求数据包中的目的ip、目的端口、host和path等信息,根据这些信息匹配虚拟服务,一个虚拟服务可能对应多个后端服务器,根据调度算法选择一个恰当的后端服务器。例如可以根据后端服务器的负载,选择负载较低的后端服务器。
78.s203,基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址。
79.在一实施例中,所述基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址,包括:
80.将所述请求数据包中的源ip地址修改为第二网络接口的ip地址。
81.将所述请求数据包的目的ip地址修改为匹配到的后端服务器的ip地址。
82.具体的,将请求数据包的源ip修改为eth2的ip地址,目的ip修改为相应的后端服务器ip地址后,将请求数据包通过eth2走pod网络发出。
83.s204,基于所述第二网络接口将修改后的所述请求数据包发送至所述后端服务器。
84.第二网络接口对接pod网络,因此通过第二网络接口将修改后的请求数据包发送至对应的后端服务器。
85.本发明实施例应用于容器集群的第一容器组中的第一容器,第一容器组还包括第一网络接口和第二网络接口,基于第一网络接口接收请求数据包,基于请求数据包匹配后端服务器,基于匹配到的后端服务器和第二网络接口修改请求数据包中的网络地址,通过第二网络接口将修改后的请求数据包发送至对应的后端服务器,其中,后端服务器表征容器集群中提供应用服务的节点。本发明实施例中第一容器可以通过第一网络接口接收不同目的ip的数据包,第一容器可以根据请求数据包的目的ip区分其所属的业务,再通过第二网络接口发送给业务对应的后端服务器。本发明实施例无需根据端口区分业务,更加符合http和https等常用固定端口的业务场景。
86.参考图5,在一实施例中,在基于所述第二网络接口将修改后的所述请求数据包发送至所述后端服务器后,所述方法还包括:
87.s501,基于所述第二网络接口接收所述后端服务器的响应数据包。
88.后端服务器接收到上游网络设备发送的请求数据包后,对请求数据包进行处理,处理完成后,将响应数据包通过pod网络发送到第二网络接口。
89.s502,对所述响应数据包进行修改,基于所述第一网络接口将修改后的所述响应数据包发出。
90.第一容器通过第二网络接口接收后端服务器发送的响应数据包,匹配连接跟踪信息,将响应数据包通过第一网络接口返回给上游网络设备。
91.在一实施例中,所述对所述响应数据包进行修改,包括:
92.将所述响应数据包的目的ip地址修改为所述请求数据包的源ip地址;
93.将所述响应数据包的源ip地址修改为所述请求数据包的目的ip地址。
94.匹配连接跟踪后,会将响应数据包的目的ip地址和源ip地址修改为对应请求数据包的源ip地址和目的ip地址,以确保响应数据包能正确地回到客户端。
95.参考图6,图6是本发明实施例提供的一种南北向流量的数据路径的示意图。上游
网络设备发送arp广播请求,用于解析ip1对应的mac地址。数据面进程通过eth1接收arp广播请求,响应arp请求,将eth1的mac地址提供给上游网络设备。
96.上游网络设备通过二层网络将网络请求发送给eth1,数据面进程通过eth1接收到网络请求,根据请求数据包中的目的ip、目的端口、host、path等信息匹配虚拟服务,根据调度算法选择一个恰当的后端服务器。将请求数据包的源ip修改为ip2,目的ip修改为相应的后端服务器ip后,将请求数据包通过eth2走pod网络发出。
97.后端服务器接收到请求数据包后,对请求数据包进行处理,处理完成后,将响应数据包通过pod网络发送到eth2,数据面进程通过eth2收到响应数据包后,匹配连接跟踪信息,将响应数据包通过eth1返回给上游网络设备。匹配连接跟踪后,会将响应包的目的ip和源ip修改为对应请求包的源ip和目的ip,以确保响应包能正确地回到客户端。
98.本发明实施例可以根据请求数据包的目的ip区分不同的业务流量,例如,假设存在两个虚拟服务:vs1和vs2,分别代表两个ip业务,vip分别为192.168.0.1和192.168.0.2。上游网络设备为vs1分配一个外部可达的浮动ip:eip1,为vs2分配一个外部可达的浮动ip:eip2。
99.客户端访问eip1,上游网络设备将eip1映射到192.168.0.1(通过dnat将数据包的目的ip改为192.168.0.1),并将数据包发往ip1(可以通过配置静态路由实现)。数据面进程收到请求包,根据目的ip(192.168.0.1)成功匹配到vs1,并将数据包转发给相应的后端服务器。
100.客户端访问eip2,上游网络设备将eip2映射到192.168.0.2(通过dnat将数据包的目的ip改为192.168.0.2),并将数据包发往ip1(可通过配置静态路由实现)。数据面进程收到请求包,根据目的ip(192.168.0.2)成功匹配到vs2,并将数据包转发给相应的后端服务器。
101.本发明实施例可以在kubernetes环境内发布纯ip业务,可以收到不同目的ip的数据包,根据数据包的目的ip区分其所属的业务,并且不会受到nodeport/loadbalancer service的端口管理难度和性能问题的影响,无需通过端口区分业务,更符合http/https等通常使用固定端口的业务使用场景。
102.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
103.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
104.需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
105.另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
106.参考图7,图7是本发明实施例提供的一种第一容器的示意图,如图7所示,该第一容器包括接收模块、匹配模块、修改模块和发送模块。
107.接收模块,用于基于第一网络接口接收请求数据包;
108.匹配模块,用于基于所述请求数据包匹配后端服务器;所述后端服务器表征所述容器集群中提供应用服务的节点;
109.修改模块,用于基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址;
110.发送模块,用于基于所述第二网络接口将修改后的所述请求数据包发送至所述后端服务器。
111.在一实施例中,修改模块基于匹配到的后端服务器和所述第二网络接口修改所述请求数据包中的网络地址,包括:
112.将所述请求数据包中的源ip地址修改为第二网络接口的ip地址;
113.将所述请求数据包的目的ip地址修改为匹配到的后端服务器的ip地址。
114.在一实施例中,所述装置还包括:
115.第二接收模块,用于基于所述第二网络接口接收所述后端服务器的响应数据包;
116.修改模块,还用于对所述响应数据包进行修改,基于所述第一网络接口将修改后的所述响应数据包发出。
117.在一实施例中,修改模块对所述响应数据包进行修改,包括:
118.将所述响应数据包的目的ip地址修改为所述请求数据包的源ip地址;
119.将所述响应数据包的源ip地址修改为所述请求数据包的目的ip地址。
120.在一实施例中,所述接收模块还用于:接收设定广播请求;
121.第二发送模块,用于基于所述设定广播请求将所述第一网络接口的网络地址发送给对端设备,以使所述对端设备基于所述网络地址发送请求数据包至所述第一网络接口;所述对端设备表征所述设定广播请求的发送者。
122.在一实施例中,所述匹配模块基于所述请求数据包匹配后端服务器,包括:
123.基于所述请求数据包中的请求参数匹配虚拟服务;
124.基于匹配到的虚拟服务选择对应的后端服务器。
125.在一实施例中,所述第一网络接口和所述第二网络接口由所述第一容器接管;其中,所述第一网络接口基于所述第一容器组所在的节点的网口创建;所述第二网络接口基于所述第一容器组的第三网络接口创建;所述第三网络接口表征所述容器集群的网络插件为所述第一容器组创建的网络接口;所述第二网络接口的ip地址表征为第三网络接口的ip地址。
126.实际应用时,所述接收模块、匹配模块、修改模块和发送模块可通过电子设备中的处理器,比如中央处理器(cpu,central processing unit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gatearray)等实现。
127.需要说明的是:上述实施例提供的第一容器在进行数据处理时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将第一容器的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的第一容器与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
128.基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例
还提供了一种电子设备。图8为本技术实施例电子设备的硬件组成结构示意图,如图8所示,电子设备包括:
129.通信接口,能够与其它设备比如网络设备等进行信息交互;
130.处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
131.当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统。
132.本技术实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
133.可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
134.上述本技术实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
135.可选地,所述处理器执行所述程序时实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
136.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
137.在本技术所提供的几个实施例中,应该理解到,所揭露的第一容器、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
138.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
139.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
140.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
141.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
142.需要说明的是,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
143.另外,在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
144.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1