数据处理方法及装置与流程

文档序号:29308665发布日期:2022-03-19 19:24阅读:99来源:国知局
数据处理方法及装置与流程

1.本技术实施例涉及计算机技术领域,尤其涉及一种数据处理方法及装置。


背景技术:

2.计算机的应用之间常常涉及信息的交互。应用通常运行在终端或服务器等设备的操作系统中,例如,运行在操作系统的用户态。因此,需要应用陷入内核态,从内核态对应的内核空间读取数据或者将待发送的数据拷贝至内核空间。。
3.应用可以采用户端/服务器端(client/server,c/s)这种软件系统体系结构架构进行描述。其中,客户端和服务器端在这种架构上指的就是应用,具体的,作为客户端(client)的应用请求服务,作为服务器端(server)的应用为作为客户端(client)的应用提供服务。一些场景下,客户端和服务端运行在不同的设备上。例如,应用运行在终端,则该应用为客户端,应用运行在服务器,则该应用为服务端。客户端和服务端之间通过建立连接进行数据交互,其中一条连接可以包括多条路径,这种连接称多路径连接,相应的技术称多路径传输技术,或者一条连接对应一条路径,例如常见的传输控制协议(transmission control protocol、tcp)连接,用户数据报协议(user datagram protocol,udp)连接,快速udp网络连线(quick udp internet connections,quic)连接等等。该些路径可以基于wi-fi网络、蜂窝网络或蓝牙等传输数据。以客户端和服务端采用多路径传输技术为例,客户端和服务端之间建立多条子流(subflow),每条子流对应一条路径(path),或者说每条子流对应一个连接,每条路径(或者说连接)对应一对套接字描述符,其中一个套接字描述符位于客户端所在的设备,另一个套接字描述符位于服务端所在的设备。
4.不论是接收数据还是发送数据,应用都需要执行系统调用对数据进行处理,如应用所在的设备的操作系统通过该应用对应的一条路径接收到一个数据包后,该应用需要执行一次系统调用,通过该路径对应的套接字描述符读取数据;对应地,该应用每通过一条路径发送一次数据时,也需要执行一次系统调用,以通过该路径对应的套接字描述符将待发送数据指示给应用层以下的协议栈。然而,一次系统调用会产生很大的开销,而一个应用频繁地收发数据,一个应用使用多条路径收发数据,以及一个设备上运行多个应用都是实际应用场景中非常常见的,因此,一个设备在与其他设备交互数据的过程中,往往被频繁的系统调用占用了很多资源,导致设备的cpu利用率高、功耗增加。


技术实现要素:

5.本技术实施例提供一种数据处理方法及装置,通过降低系统调用次数,实现降低设备的cpu利用率和功耗的目的。
6.第一方面,本技术实施例提供一种数据处理方法,该方法用于处理多条路径的数据,所述多条路径为第一设备与第二设备之间的路径,所述多条路径对应一个或多个应用,所述第一设备的操作系统中运行有所述一个或多个应用,该方法包括:所述第一设备的操作系统接收所述多条路径的数据包,所述数据包来自所述第二设备;在所述第一设备的操
作系统接收所述多条路径的数据包后,所述一个或多个应用仅通过一次系统调用,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据。采用这种方案,运行第一设备的操作系统中的应用仅通过一次系统调用就可以获取到多条路径上的数据,以及,对该多条路径,还可以通过该次系统调用,从至少一条路径上获取多个数据包的中的数据(取决于系统调用执行时该多条路径在内核中接收到多少数据)系统调用次数少,开销小,因此,可以降低第一设备的cpu利用率和功耗。另外,由于仅通过一次系统调用可同时读取多个套接字描述符指示的缓存空间中的数据,因此可以提高数据的读取效率。
7.一种可行的设计中,所述一个或多个应用仅通过一次系统调用,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据,包括:所述一个或多个应用通过仅调用一次接收函数,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据,其中,所述接收函数为系统调用接口,所述接收函数用于通过轮询两条及以上路径对应的套接字描述符,获取所述两条及以上路径对应的套接字描述符指示的数据。采用这种方法,运行在第一设备的操作系统中的一个或多个应用通过对各套接字进行管理,以便接收函数轮询各套接字描述符,从而到各套接字描述符指示的缓存空间读取数据包中的数据。
8.一种可行的设计中,所述接收函数的输入包括所述多条路径各自对应的套接字描述符。采用这种方案,运行在第一设备的操作系统中的一个或多个应用将多条路径各自对应的套接字描述符输入至接收函数,以便接收函数轮询各套接字描述符,从而到各套接字描述符指示的缓存空间读取数据包中的数据。
9.一种可行的设计中,上述的一个或多个应用执行一次系统调用,轮询多条路径各自对应的套接字描述符,第一设备的操作系统向一个或多个应用发送第一确认信息,该第一确认信息表示操作系统确认该一个或多个应用各自对应的数据已被所述一个或多个应用获取。示例性的,运行在第一设备的操作系统中的一个或多个应用执行系统调用,从各路径的套接字描述符对应的缓存空间读取数据,第一设备的操作系统检测各套接字描述符指示的缓存空间中数据是否被成功读取,并针对每个套接字描述符生成确认信息,各套接字描述符的确认信息形成第一确认信息。每个套接字的确认信息用于指示该套接字描述符指示的缓存空间中数据是否已被成功读取。
10.一种可行的设计中,上述的多条路径中的至少两条路径属于一个多路径连接。采用这种方案,由于多条路径中的至少两条路径属于一个mp连接,实现mp连接场景中,应用仅通过一次系统调用即可从mp连接包含的多条路径的套接字描述符指示的缓存空间中读取数据的目的。
11.一种可行的设计中,所述第一设备的操作系统接收的所述多条路径的数据包中,包括至少两个来自同一路径的数据包。采用这种方案,来自同一路径的数据包可以为多个,实现应用通过一次系统调用从多个路径的套接字描述符指示的缓存空间读取数据时,从同一个套接字描述符指示的缓存空间读取至少两个数据包中的数据的目的。
12.一种可行的设计中,一个或多个应用可以将多条路径的套接字描述符绑定在一起,将其作为一个数组传递给接收函数,使得接收函数轮询数组中的各套接字描述符,从而到各套接字描述符指示的缓存空间读取数据包中的数据。当然,除了数组之外,也可以使用其他数据结构使接收函数获知这些套接字描述符。再如,预先对多条路径的套接字描述符进行排序,接收函数按照排序,依次到各套接字描述符指示的缓存空间读取数据。
13.一种可行的设计中,所述多条路径各自对应不同的套接字描述符。
14.第二方面,本技术实施例提供一种数据处理方法,该方法用于处理多条路径的数据,所述多条路径为第一设备与第二设备之间的路径,所述多条路径对应一个或多个应用,所述第一设备的操作系统中运行有所述一个或多个应用,该方法包括:所述一个或多个应用仅通过一次系统调用,将所述一个或多个应用的数据对应地分发给所述多条路径;所述第一设备的操作系统通过所述多条路径,向所述第二设备发送所述数据。采用该种方案,运行在第一设备的操作系统中的一个或多个应用仅通过一次系统调用就可以将该一个或多个应用的数据分发到对应的路径,系统调用次数少,开销小,因此,可以降低第一设备的cpu利用率和功耗。另外,由于仅通过一次系统调用可同时多个套接字描述符指示的缓存空间写入数据,因此可以提高数据的写入效率。
15.一种可行的设计中,所述一个或多个应用仅通过一次系统调用,将所述一个或多个应用各自的数据对应地分发给所述多条路径,包括:所述一个或多个应用通过仅调用一次发送函数,将所述一个或多个应用各自的数据对应地分发给所述多条路径,其中,所述发送函数为系统调用接口,所述发送函数用于通过轮询两条及以上路径对应的套接字描述符,将数据分发给所述两条及以上路径对应的套接字描述符指示的缓存空间。采用这种方案,运行在第一设备的操作系统中的一个或多个应用通过对各套接字进行管理,以便发送函数轮询各套接字描述符,从而将一个或多个应用的数据写入各套接字描述符指示的缓存空间。
16.一种可行的设计中,所述发送函数的输入包括所述多条路径各自对应的套接字描述符。采用这种方案,运行在第一设备的操作系统中的一个或多个应用将多条路径各自对应的套接字描述符输入至发送函数,以便发送函数轮询各套接字描述符,从而将一个或多个应用的数据写入各套接字描述符指示的缓存空间
17.一种可行的设计中,所述第一设备的操作系统向所述一个或多个应用发送第二确认信息,所述第二确认信息表示所述操作系统确认所述一个或多个应用各自对应的数据已写入所述多条路径各自对应的套接字描述符指示的缓存空间。采用这种方案,第一设备的操作系统向一个或多个应用发送第二确认信息,该第二确认信息表示操作系统确认该一个或多个应用各自对应的数据是否已被分发至各路径,实现第一设备的操作系统对各应用进行管理的目的。
18.一种可行的设计中,所述多条路径中的至少两条路径属于一个多路径连接。采用这种方案,由于多条路径中的至少两条路径属于一个mp连接,实现mp连接场景中,应用仅通过一次系统调用即可向mp连接包含的多条路径的套接字描述符指示的缓存空间中写入数据的目的。
19.第三方面,本技术实施例提供一种数据处理装置,所述装置用于处理多条路径的数据,所述多条路径为第一设备与第二设备之间的路径,所述多条路径对应一个或多个应用,所述第一设备的操作系统中运行有所述一个或多个应用,所述装置包括:
20.操作系统,用于接收所述多条路径的数据包,所述数据包来自所述第二设备;
21.应用,用于在所述操作系统接收所述多条路径的数据包后,仅通过一次系统调用,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据。
22.一种可行的设计中,所述应用,用于仅调用一次接收函数,获取所述数据包携带的
数据中,所述一个或多个应用各自对应的数据,其中,所述接收函数为系统调用接口,所述接收函数用于通过轮询两条及以上路径对应的套接字描述符,获取所述两条及以上路径对应的套接字描述符指示的数据。
23.一种可行的设计中,所述接收函数的输入包括所述多条路径各自对应的套接字描述符。
24.一种可行的设计中,所述操作系统,还用于向所述一个或多个应用发送第一确认信息,所述第一确认信息表示所述操作系统确认所述一个或多个应用各自对应的数据已被所述一个或多个应用获取。
25.一种可行的设计中,所述多条路径中的至少两条路径属于一个多路径连接。
26.一种可行的设计中,所述第一设备的操作系统接收的所述多条路径的数据包中,包括至少两个来自同一路径的数据包。
27.第四方面,本发明实施例提供一种数据处理装置,所述装置用于处理多条路径的数据,所述多条路径为第一设备与第二设备之间的路径,所述多条路径对应一个或多个应用,所述第一设备的操作系统中运行有所述一个或多个应用,所述装置包括:
28.应用,用于通过一次系统调用,将所述一个或多个应用的数据对应地分发给所述多条路径;
29.操作系统,用于通过所述多条路径,向所述第二设备发送所述数据。
30.一种可行的设计中,所述应用,用于仅调用一次发送函数,将所述一个或多个应用各自的数据对应地分发给所述多条路径,其中,所述发送函数为系统调用接口,所述发送函数用于通过轮询两条及以上路径对应的套接字描述符,将数据分发给所述两条及以上路径对应的套接字描述符指示的缓存空间。
31.一种可行的设计中,所述发送函数的输入包括所述多条路径各自对应的套接字描述符。
32.一种可行的设计中,所述操作系统,还用于向所述一个或多个应用发送第二确认信息,所述第二确认信息表示所述操作系统确认所述一个或多个应用各自对应的数据已写入所述多条路径各自对应的套接字描述符指示的缓存空间。
33.一种可行的设计中,所述多条路径中的至少两条路径属于一个多路径连接。
34.第五方面,本技术实施例提供一种包含指令的计算机程序产品,当其在处理器上运行时,使得处理器执行上述第一方面或第一方面的各种可能的实现方式中的方法。
35.第六方面,本技术实施例提供一种包含指令的计算机程序产品,当其在处理器上运行时,使得处理器机执行上述第二方面或第二方面的各种可能的实现方式中的方法。
36.第七方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在处理器上运行时,使得处理器执行上述第一方面或第一方面的各种可能的实现方式中的方法。
37.第八方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在处理器上运行时,使得处理器执行上述第二方面或第二方面的各种可能的实现方式中的方法。
38.本技术实施例提供的数据处理方法及装置,第一设备的操作系统上运行一个或多个应用,第一设备与第二设备之间有多条路径,该多条路径对应运行在第一设备的操作系
统中的一个或多个应用,接收数据过程中,运行第一设备的操作系统中的应用仅通过一次系统调用就可以获取到多条路径上的数据,以及,对该多条路径,还可以通过该次系统调用,从至少一条路径上获取多个数据包的中的数据;发送数据过程中,运行在第一设备的操作系统中的一个或多个应用仅通过一次系统调用就可以将该一个或多个应用的数据分发到对应的路径。由此可知:接收数据或发送数据的过程中,本方案的系统调用次数少,开销小,因此,可以降低第一设备的cpu利用率和功耗。另外,由于仅通过一次系统调用可同时读取多个套接字描述符指示的缓存空间中的数据,因此可以提高数据的读取效率。
附图说明
39.图1a是应用接收数据的一种过程示意图;
40.图1b是应用端接收数据的另一种过程示意图;
41.图2是本技术实施例所适用的网络架构示意图;
42.图3是本技术实施例提供的一种数据处理方法的流程图;
43.图4是本技术实施例提供的数据处理方法中接收函数轮询各路径的套接字描述符的流程图;
44.图5是本技术实施例提供的一种数据处理方法中应用接收数据的示意图;
45.图6是本技术实施例提供的另一种数据处理方法的流程图;
46.图7为本技术实施例提供的一种数据处理装置的结构示意图;
47.图8为本技术实施例提供的一种数据处理装置的结构示意图。
具体实施方式
48.通常情况下,两个设备上的应用可以通过建立一条或者多条路径交互数据。
49.以终端和服务器为例,运行在终端上的应用称之为客户端,运行在服务端的应用称之为服务端。客户端和服务端通过建立多条路径交互数据。数据交互过程中,以应用为终端上的客户端为例,接收数据过程中,数据到达终端后,例如到达终端的操作系统的内核态,需要客户端执行系统调用才能从内核态,如内核态中的缓存空间读取到数据,当客户端对应的路径比较多时,需要客户端针对每条路径执行系统调用,或者,即使客户端对应的路径比较少,但是同一条路径上的数据量比较大时,同样需要客户端执行多次系统调用;同理,发送数据过程中,客户端需要执行系统调用将数据写入到终端的操作系统的内核态,然后才能将数据发送给服务端,系统调用的次数与客户端对应的路径的数量以及每条路径上的数据量有关。然而,执行一次系统调用的开销比较大,多次系统调用势必导致巨大开销。下面,对执行一次系统调用为何会带来开销进行说明。
50.示例性的,客户端与服务端使用通用的互联网网络协议进行通信,该些协议不是由应用实现的,而是操作系统实现的。以终端为例,终端上的客户端通过终端的操作系统定义好的应用接口调用协议进行通信,比如伯克利软件套件(berkeley software distribution,bsd)套接字应用程序编程接口(application programming interface,api)。通常情况下,操作系统具有单独的进程上下文,操作系统通常具有两个状态,即用户态和内核态。操作系统提供的核心服务,如设备驱动、资源管理、网络协议都运行在内核态,而应用运行在用户态。操作系统管理的虚拟地址也区分为内核态空间和用户态空间,这种
equipment,ue)、手持终端、笔记本电脑、用户单元(subscriber unit)、蜂窝电话(cellular phone)、智能电话(smart phone)、无线数据卡、个人数字助理(personal digital assistant,pda)电脑、平板型电脑、无线调制解调器(modem)、手持设备(handheld)、膝上型电脑(laptop computer)、无绳电话(cordless phone)或者无线本地环路(wireless local loop,wll)台、机器类型通信(machine type communication,mtc)终端或是其他可以接入网络的设备。第一设备与接入节点之间采用某种空口技术相互通信。该第一设备上运行一个或多个应用。
57.第二设备例如可以是服务器,如业务服务器、代理服务器等,其可以为运行在第一设备上的一个或多个应用提供服务。第一设备上的一个或多个应用可以称之为客户端,第二设备提供的服务可以称之为服务端。
58.接入节点专指无线网络的接入节点,具体的,可以是无线wi-fi网络的接入点(access point,ap)、路由器、或者winmax网络的接入点或者无线蜂窝移动网络的基站等等,本发明不限定无线网络的种类以及无线网络的接入节点具体的形式。并且,同一类型的无线网络是指同属于无线wi-fi网络的接入节点,或者同属于winmax网络,或者同属于无线蜂窝网络的接入节点如2g网络、3g网络或者4g网络或者5g网络等等。
59.请参照图2,本技术实施例中,该第一设备与第二设备均支持wi-fi和蜂窝网络。第一设备的操作系统上运行一个或多个应用,第二设备用于为第一设备上运行的一个或多个应用提供服务。第一设备与第二设备可采用多路径传输技术和/或单路径传输技术交互数据。
60.当第一设备的一个或多个应用与第二设备采用多路径传输技术交互数据时,两个设备之间建立的一条连接中可以包括多条路径。基于wi-fi网络和蜂窝网络,建立一个多路径(multipath,mp)连接,该mp连接包含四条路径,如图2中虚线所示,mp连接包括路径1、路径2、路径3和路径4,其中,路径1和路径2基于蜂窝网络传输数据,路径3和路径4基于wi-fi网络传输数据。
61.当第一设备的一个或多个应用与第二设备采用单路径传输技术交互数据时,两个设备之间建立的一条连接中只包括一条路径,该路径例如为图中实线所示的路径5或路径6,路径5基于蜂窝网络传输数据,路径6基于wi-fi网络传输数据。单路径传输技术可以使用多种传输协议,例如tcp协议,udp协议,quic协议等等。
62.请参照图2,本技术实施例中,第一设备可通过上述的路径(包括mp连接的路径和单路径传输技术的路径中的至少一种)接收来自第二设备的数据包,该数据包中的数据是运行在第一设备上的一个或多个应用对应的数据;或者,第一设备可以将一个或多个应用对应的数据打包成数据包,通过上述的路径发送给第二设备。
63.需要说明的是,虽然上述是以第一设备上运行的应用为客户端、第二设备上提供的服务为服务端对本技术实施例的网络架构进行详细说明,然而,本技术实施例并不限制,例如,在其他可行的实现方式中,第一设备也可以为服务器,第二设备可以为终端。
64.下面,对本技术实施例中的一些名称进行解释说明。
65.a和/或b:表示a和b,或者a或b。
66.数据处理:可以是数据接收过程中的数据处理,也可以是数据发送过程中的数据处理。对于接收数据过程而言,数据处理包括第一设备的操作系统接收都到多条路径的数
据包后,运行在第一设备上的各应用仅通过一次系统调用,获取数据包携带的数据中,一个或多个应用各自对应的数据。对于发送数据过程而言,数据处理包括运行在第一设备上的各应用仅通过一次系统调用,将一个或多个应用的数据分发给各条路径。
67.连接:可以是mp连接和单路径传输技术的连接中的至少一种。
68.mp连接:包含多条路径的连接。例如本技术中,该多连接的一个端节点是第一设备,另一个端节点是第二设备。第一设备中运行有一个或多个应用,该mp连接和应用的套接字描述符(socket)之间存在一一映射关系。
69.单路径传输技术的连接:相较于mp连接,单路径传输技术的连接只包含一条路径。
70.路径(path):路径是发端(sender)与收端(reciever)之间的链路(link)。路径可以用四元组或者五元组来标识。例如,五元组包括源ip地址,源端口号,目的ip地址,目的端口号以及传输层协议名称。一对收端和发端之间的多条路径可以共享一个或者多个路由器(router)。本技术实施例中的路径包括多mp连接中的路径和/或单路径传输技术的连接的路径。路径上传输的流可采用传输控制协议(transmission control protocol、tcp)、用户数据报协议(user datagram protocol,udp)、流控制传输协议(stream control transmission protocol,sctp)或者快速udp网络连线(quick udp internet connections,quic)等。
71.应用,运行在第一设备上,数量可以为一个或多个,该一个或多个应用可仅通过一次系统调用,进行数据处理。应用例如为桌面(launcher)、媒体播放器(media player)、浏览器(browser)等。
72.系统调用,指应用执行一次上下文切换,或者也可以理解为应用进行一次陷入和陷出。例如,操作系统通常具有两个状态:用户态和内核态。以第一设备为例,第一设备接收数据包的后,该数据包并不是直接到达用户态对应的用户空间,而是被存储在内核态对应的内核空间,需要应用陷入操作系统的内核态,将数据包从内核空间读取到用户空间,之后,应用陷出,进入操作系统的用户态;数据包发送过程中,也需要应用从用户态陷入内核态,将待发送的数据包从用户空间拷贝到内核空间,之后,应用陷出,进入操作系统的用户态。再如,当第一设备的操作系统不区分上下文空间时,第一设备同样需要执行系统调用以处理数据。
73.套接字(socket)描述符:是一个指针,是套接字文件描述符的简称。本技术实施例中,一条路径对应一对套接字描述符,分别位于路径的两端,一个套接字描述符指示一段缓存空间。例如,对应终端而言,一个套接字指示符指示终端的操作系统的内核空间内的一段缓存空间。
74.下面,在上述图2所示架构的基础上,对本技术实施例所述的数据处理方法进行详细说明。
75.图3是本技术实施例提供的一种数据处理方法的流程图。本实施例是从数据接收过程中,第二设备通过多条路径发送的数据包到达第一设备后,运行在第一设备上的应用如何处理该些数据包进行详细说明。本实施例包括如下步骤:
76.101、第一设备的操作系统接收所述多条路径的数据包,所述数据包来自所述第二设备。
77.示例性的,第一设备的操作系统中运行一个或多个应用,该第一设备与第二设备
之间建立多条路径,该多条路径包括mp连接的路径和/或单路径传输技术连接的路径,该多条路径对应运行在第一设备的操作系统中的一个或多个应用。例如,再请参照图2,多条路径包括路径1~路径6,其中,路径1~路径4是一个mp连接包含的路径,路径5是一个单路径传输技术连接的路径,路径6是另一个单路径传输技术连接的路径。第一设备的操作系统中运行应用1,该6条路径均对应应用1。应理解,第一设备中可能有其他应用,第一设备可能也是其他路径的一个端节点,但其他路径并未示意出,即该多条路径可以不是该第一设备维护的全部路径。再如,第一设备的操作系统中运行应用1、应用2和应用3,路径1和路径2对应应用1,路径3和路径5对应应用2,路径4和路径6对应应用3。当然,也可以是多条路径全都是普通的单路径连接的路径,即路径1~6各对应一个应用。
78.第二设备向第一设备发送数据包时,通过上述的多条路径向第一设备发送数据包;相应的,第一设备的操作系统接收该些数据包。继续沿用上述的例子,第二设备通过路径1向第一设备发送数据包1,通过路径2向第一设备发送数据包2和数据包3,通过路径3向第一设备发送数据包4、数据包5和数据包6,通过路径4向第一设备发送数据包7,通过路径5向第一设备发送数据包8,通过路径6向第一设备发送数据包9。相应的,第一设备的操作系统接收通过该些路径的数据包。
79.102、在所述第一设备的操作系统接收所述多条路径的数据包后,所述一个或多个应用仅通过一次系统调用,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据。
80.示例性的,每条路径在第二设备上对应一个套接字描述符,该套接字描述符实质上是个指针,可以每个套接字描述符指示一个缓存空间。第二设备的操作系统接收到数据包后,将数据包存储到各路径的套接字描述符指示的缓存空间中。例如,将数据包1存储在路径1的套接字描述符指示的存储空间中,将数据包2和数据包3存储在路径2的套接字描述符指示的存储空间中,将数据包4、数据包5和数据包6存储在路径4的套接字描述符对应的存储空间
……

81.之后,一个或多个应用仅通过一次系统调用,即应用陷入内核态,获取数据包携带的数据中,一个或多个应用各自对应的数据。例如,6条路径均对应运行在第一设备的操作系统中的应用1,则执行一次系统调用,应用1从数据包1~数据包9中获取数据;再如,第一设备的操作系统中运行应用1、应用2和应用3,路径1和路径2对应应用1,路径3和路径5对应应用2,路径4和路径6对应应用3,则应用1、应用2和应用3仅通过一次系统调用,应用1从数据包1~数据包3中获取数据,应用2从数据包4、数据包5、数据包6和数据包8中获取数据,应用3从数据包7和数据包9中获取数据。
82.本技术实施例提供的数据处理方法,第一设备的操作系统上运行一个或多个应用,第一设备与第二设备之间有多条路径,该多条路径对应运行在第一设备的操作系统中的一个或多个应用,第一设备的操作系统接收到第二设备通过多条路径发送的数据包后,运行在第一设备的操作系统中的一个或多个应用仅通过一次系统调用,获取数据包携带的数据中,一个或多个应用各自对应的数据包。该过程中,运行第一设备的操作系统中的应用仅通过一次系统调用就可以获取到多条路径上的数据,以及,对该多条路径,还可以通过该次系统调用,从至少一条路径上获取多个数据包的中的数据(取决于系统调用执行时该多条路径在内核中接收到多少数据)系统调用次数少,开销小,因此,可以降低第一设备的cpu
利用率和功耗。另外,由于仅通过一次系统调用可同时读取多个套接字描述符指示的缓存空间中的数据,因此可以提高数据的读取效率。
83.上述实施例中,为了使得系统调用时,各应用确定出从哪些数据包中读取数据,来自第二设备的各数据包携带应用标识,如此一来,各应用在执行系统调用时,可以确定出哪个应用应该从哪个数据包中读取数据。或者,第一设备的操作系统预先定义好路径与应用的对应关系,并保持该对应关系,如此一来,各应用在执行系统调用时,可以根据对应关系确定出哪个应用应该从哪个数据包中读取数据。
84.一种可行的设计中,上述的一个或多个应用仅通过一次系统调用,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据时,该一个或多个应用通过仅调用一次接收函数,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据,其中,接收函数为系统调用接口,该接收函数用于通过轮询两条及以上路径对应的套接字描述符,从而获取两条及以上路径对应的套接字描述符指示的数据。
85.例如,该一个或多个应用可以将多条路径的套接字描述符绑定在一起,将其作为一个数组传递给接收函数,使得接收函数轮询数组中的各套接字描述符,从而到各套接字描述符指示的缓存空间读取数据包中的数据。当然,除了数组之外,也可以使用其他数据结构使接收函数获知这些套接字描述符。再如,预先对多条路径的套接字描述符进行排序,接收函数按照排序,依次到各套接字描述符指示的缓存空间读取数据。
86.示例性的,可参见图4是本技术实施例提供的数据处理方法中接收函数轮询各路径的套接字描述符的流程图。本实施例中,令接收函数为recvmmmsg(),将套接字描述符的总数记为epcnt,当前套接字描述符为第r个套接字描述符,执行系统调用过程中,应用读取到的数据存储在应用层的缓存空间中,该缓存空间的最大长度为vlen,则本实施例包括如下步骤:
87.201、将各路径的套接字描述符、套接字描述符的总数、应用层的缓存空间的最大长度等参数输入接收函数。
88.202、初始化r和l,其中,r指当前正在遍历的套接字描述符的编号、l指当前已读取的数据的长度。
89.203、读取第r个套接字描述符指示的缓存空间中数据。
90.204、判断r是否小于套接字描述符的总数epcnt,若r小于套接字描述符的总数epcnt,则执行步骤205;若r等于套接字描述符的总数epcnt,则执行步骤208
91.205、判断l是否小于缓存空间的最大长度vlen,若l小于缓存空间的最大长度vlen,则执行步骤206;若l大于或等于缓存空间的最大长度vlen,则执行步骤208
92.206、将l更新为l+a,之后执行步骤207;
93.其中,a为步骤203中读取到的数据的长度。
94.207、将r更新为r+1,之后执行步骤203。
95.208、接收函数返回r。
96.本实施例中,运行在第一设备的操作系统中的一个或多个应用通过对各套接字进行管理,以便接收函数轮询各套接字描述符,从而到各套接字描述符指示的缓存空间读取数据包中的数据。
97.一种可行的设计中,上述的接收函数的输入包括所述多条路径各自对应的套接字
描述符。
98.示例性的,上述的一个或多个应用执行一次系统调用时,该一个或多个应用将多条路径各自对应的套接字描述符输入至接收函数。例如,将多条路径各自对应的套接字描述符绑定为一个数组输入至接收函数;再如,该一个或多个应用将多条路径各自对应的套接字描述符直接输入至接收函数。
99.本实施中,运行在第一设备的操作系统中的一个或多个应用将多条路径各自对应的套接字描述符输入至接收函数,以便接收函数轮询各套接字描述符,从而到各套接字描述符指示的缓存空间读取数据包中的数据。
100.一种可行的设计中,上述的一个或多个应用执行一次系统调用,轮询多条路径各自对应的套接字描述符,第一设备的操作系统向一个或多个应用发送第一确认信息,该第一确认信息表示操作系统确认该一个或多个应用各自对应的数据已被所述一个或多个应用获取。示例性的,运行在第一设备的操作系统中的一个或多个应用执行系统调用,从各路径的套接字描述符对应的缓存空间读取数据,第一设备的操作系统检测各套接字描述符指示的缓存空间中数据是否被成功读取,并针对每个套接字描述符生成确认信息,各套接字描述符的确认信息形成第一确认信息。每个套接字的确认信息用于指示该套接字描述符指示的缓存空间中数据是否已被成功读取。
101.本实施例中,第一设备的操作系统向一个或多个应用发送第一确认信息,该第一确认信息表示操作系统确认该一个或多个应用各自对应的数据是否已被所述一个或多个应用获取,实现第一设备的操作系统对各应用管理的目的。
102.一种可行的设计中,上述的多条路径中的至少两条路径属于一个多路径连接。
103.示例性的,请继续参照图2,路径1~路径6中,路径1~路径4属于同一个多路径连接。
104.本实施例中,由于多条路径中的至少两条路径属于一个mp连接,实现mp连接场景中,应用仅通过一次系统调用即可从mp连接包含的多条路径的套接字描述符指示的缓存空间中读取数据的目的。
105.一种可行的设计中,第一设备的操作系统接收的所述多条路径的数据包中,包括至少两个来自同一路径的数据包。
106.示例性的,请继续参照图2,第二设备通过路径1向第一设备发送数据包1,通过路径2向第一设备发送数据包2和数据包3,通过路径3向第一设备发送数据包4、数据包5和数据包6,通过路径4向第一设备发送数据包7,通过路径5向第一设备发送数据包8,通过路径6向第一设备发送数据包9。相应的,第一设备的操作系统接收通过该些路径的数据包。其中,数据包2和数据包3来自同一路径,即路径2,数据包4、数据包5和数据包6来自同一路径,即路径3。
107.本实施例中,来自同一路径的数据包可以为多个,实现应用通过一次系统调用从多个路径的套接字描述符指示的缓存空间读取数据时,从同一个套接字描述符指示的缓存空间读取至少两个数据包中的数据的目的。
108.图5是本技术实施例提供的一种数据处理方法中应用接收数据的示意图。请参照图5,本实施例中,第一设备为第一设备、第二设备为第二设备,图中虚线框所示为第一设备的操作系统,应用1、应用2和应用3运行在第一设备的操作系统中,分别对应3条路径,该3条
路径中的每条路径在第一设备上分别对应一个套接字描述符,分别为套接字描述符1(s1)、套接字描述符2(s2)、套接字描述符3(s3)。服务端通过路径1发送的数据包(packet)1到达第一设备后,被第一设备的操作系统接收,并不是直接到达应用层的应用,而是被第一设备的操作系统存储在应用层以下s1指示的缓存空间,同理,服务端通过路径2发送的packet2和packet3到达第一设备,被第一设备的操作系统存储在s2指示的缓存空间,服务端通过路径3发送的packet4和packet5到达第一设备,被第一设备的操作系统存储在s3指示的缓存空间。
109.之后,运行在第一设备的操作系统中的应用执行一次系统调用,从路径1、路径2和路径3各自套接字描述符指示的缓存空间读取数据包1~数据包5,从而获得到应用的数据。
110.图6是本技术实施例提供的另一种数据处理方法的流程图。本实施例是从数据发送过程中,运行在第一设备上的应用如何将待发送给第二设备的数据分发到多条路径进行详细说明。本实施例包括如下步骤:
111.301、所述一个或多个应用仅通过一次系统调用,将所述一个或多个应用的数据对应地分发给所述多条路径。
112.示例性的,第一设备的操作系统中运行一个或多个应用,该第一设备与第二设备之间建立多条路径,该多条路径包括mp连接的路径和/或单路径传输技术连接的路径,该多条路径对应运行在第一设备的操作系统中的一个或多个应用。例如,再请参照图2,多条路径包括路径1~路径6,其中,路径1~路径4是一个mp连接包含的路径,路径5是一个单路径传输技术连接的路径,路径6是另一个单路径传输技术连接的路径。第一设备的操作系统中运行应用1,该6条路径均对应应用1。再如,第一设备的操作系统中运行应用1、应用2和应用3,路径1和路径2对应应用1,路径3和路径5对应应用2,路径4和路径6对应应用3。
113.运行在第一设备的操作系统中的一个或多个应用向第二设备发送数据时,先确定待发送的数据各自对应的路径。然后,一个或多个应用仅通过一次条用,将该些数据写入各路径的套接字描述符指示的存储空间,该过程也称之为将数据对应的分发给各条路径。
114.302、所述第一设备的操作系统通过多条路径,向所述第二设备发送所述数据。
115.示例性的,该些路径可以基于wi-fi网络、蜂窝网络或蓝牙等传输数据,因此,第一设备的操作系统可以通过多条路径,向第二设备发送数据。
116.例如,请参照图2,第一设备的操作系统中运行应用1,该6条路径均对应应用1,应用1确定通过路径1向第二设备发送数据包a,通过路径2向第二设备发送数据包b和数据包c,通过路径3向第二设备发送数据包d、数据包e和数据包f,通过路径4向第二设备发送数据包g,通过路径5向第二设备发送数据包h,通过路径6向第二设备发送数据包i。则应用1仅通过一次系统调用,将数据包a写入路径1的套接字描述符指示的缓存空间,将数据包b、数据包c写入路径2的套接字描述符指示的缓存空间,将数据包d、数据包e和数据包f写入路径3的套接字描述符指示的缓存空间,将数据包g写入路径4的套接字描述符指示的缓存空间,将数据包h写入路径5的套接字描述符指示的缓存空间,将数据包i写入路径6的套接字描述符指示的缓存空间。之后,第一设备的操作系统通过路径1~路径6,向第二设备发送数据包a~数据包i。
117.再如,第一设备的操作系统中运行应用1、应用2和应用3,路径1和路径2对应应用1,路径3和路径5对应应用2,路径4和路径6对应应用3,应用1确定通过路径1向第二设备发
送数据包a,通过路径2向第二设备发送数据包b和数据包c,应用2确定通过路径3向第二设备发送数据包d、数据包e和数据包f,通过路径5向第二设备发送数据包h;应用3确定通过路径4向第二设备发送数据包g,通过路径6向第二设备发送数据包i。则应用1、应用2和应用3仅通过一次系统调用,将数据包a写入路径1的套接字描述符指示的缓存空间,将数据包b、数据包c写入路径2的套接字描述符指示的缓存空间,将数据包d、数据包e和数据包f写入路径3的套接字描述符指示的缓存空间,将数据包g写入路径4的套接字描述符指示的缓存空间,将数据包h写入路径5的套接字描述符指示的缓存空间,将数据包i写入路径6的套接字描述符指示的缓存空间。之后,第一设备的操作系统通过路径1~路径6,向第二设备发送数据包a~数据包i。
118.本技术实施例提供的数据处理方法,第一设备的操作系统上运行一个或多个应用,第一设备与第二设备之间有多条路径,该多条路径对应运行在第一设备的操作系统中的一个或多个应用,运行在第一设备的操作系统中的一个或多个应用仅通过一次系统调用,将该一个或多个应用的数据对应地分发给多条路径,之后,第一设备的操作系统通过多条路径,向第二设备发送该些数据。该过程中,运行在第一设备的操作系统中的一个或多个应用仅通过一次系统调用就可以将该一个或多个应用的数据分发到对应的路径,系统调用次数少,开销小,因此,可以降低第一设备的cpu利用率和功耗。另外,由于仅通过一次系统调用可同时多个套接字描述符指示的缓存空间写入数据,因此可以提高数据的写入效率。
119.上述实施例中,发送数据的过程中,可以在不同的路径上发送相同的数据。例如,第一设备的操作系统中运行应用1,该应用1准备将数据1、数据2和数据3发送给第二设备,该应用对应路径1、路径2和路径3,则应用1仅通过一次系统调用,将数据1和数据2分发给路径1,将数据3分发给路径2,将数据1、数据2和数据3分发给路径3,从而实现在不同的路径上发送相同的数据的目的。
120.一种可行的设计中,上述的一个或多个应用仅通过一次系统调用,将所述一个或多个应用各自的数据对应地分发给所述多条路径,包括:所述一个或多个应用通过仅调用一次发送函数,将所述一个或多个应用各自的数据对应地分发给所述多条路径,其中,所述发送函数为系统调用接口,所述发送函数用于通过轮询两条及以上路径对应的套接字描述符,将数据分发给所述两条及以上路径对应的套接字描述符指示的缓存空间。
121.例如,该一个或多个应用可以将多条路径的套接字描述符绑定在一起,将其作为一个数组传递给发送函数,使得发送函数轮询数组中的各套接字描述符,从而将数据写入各套接字描述符指示的缓存空间中。再如,预先对多条路径的套接字描述符进行排序,发送函数按照排序,依次将一个或多个应用的数据写入各套接字描述符指示的缓存空间。
122.本实施例中,运行在第一设备的操作系统中的一个或多个应用通过对各套接字进行管理,以便发送函数轮询各套接字描述符,从而将一个或多个应用的数据写入各套接字描述符指示的缓存空间。
123.一种可行的设计中,所述发送函数的输入包括所述多条路径各自对应的套接字描述符。
124.示例性的,上述的一个或多个应用执行一次系统调用时,该一个或多个应用将多条路径各自对应的套接字描述符输入至发送函数。例如,将多条路径各自对应的套接字描述符绑定为一个数组输入至发送函数;再如,该一个或多个应用将多条路径各自对应的套
接字描述符直接输入至发送函数。
125.本实施中,运行在第一设备的操作系统中的一个或多个应用将多条路径各自对应的套接字描述符输入至发送函数,以便发送函数轮询各套接字描述符,从而将一个或多个应用的数据写入各套接字描述符指示的缓存空间。
126.一种可行的设计中,上述的一个或多个应用执行一次系统调用,轮询多条路径各自对应的套接字描述符,以将数据写入各套接字描述符指示的缓存空间,第一设备的操作系统向所述一个或多个应用发送第二确认信息,所述第二确认信息表示所述操作系统确认所述一个或多个应用各自对应的数据已写入所述多条路径各自对应的套接字描述符指示的缓存空间。示例性的,运行在第一设备的操作系统中的一个或多个应用执行系统调用,将一个或多个应用的数据写入各路径的套接字描述符对应的缓存空间,第一设备的操作系统检测检测各套接字描述符指示的缓存空间中否已被写入数据,并针对每个套接字描述符生成确认信息,各套接字描述符的确认信息形成第二确认信息。每个套接字的确认信息用于指示该套接字描述符指示的缓存空间中是否已被写入数据。
127.本实施例中,第一设备的操作系统向一个或多个应用发送第二确认信息,该第二确认信息表示操作系统确认该一个或多个应用各自对应的数据是否已被分发至各路径,实现第一设备的操作系统对各应用进行管理的目的。
128.一种可行的设计中,上述的多条路径中的至少两条路径属于一个多路径连接。
129.示例性的,请继续参照图2,路径1~路径6中,路径1~路径4属于同一个多路径连接。
130.本实施例中,由于多条路径中的至少两条路径属于一个mp连接,实现mp连接场景中,应用仅通过一次系统调用即可向mp连接包含的多条路径的套接字描述符指示的缓存空间中写入数据的目的。
131.图7为本技术实施例提供的一种数据处理装置的结构示意图。该装置用于处理多条路径的数据,所述多条路径为第一设备与第二设备之间的路径,所述多条路径对应一个或多个应用,所述第一设备的操作系统中运行有所述一个或多个应用,所述装置100包括:操作系统11和应用12,当该数据处理装置100用于数据接收过程中的数据处理时,操作系统11和应用12的功能如下:
132.操作系统11,用于接收所述多条路径的数据包,所述数据包来自所述第二设备;
133.应用12,用于在所述操作系统11接收所述多条路径的数据包后,仅通过一次系统调用,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据。
134.一种可行的设计中,所述应用12,用于仅调用一次接收函数,获取所述数据包携带的数据中,所述一个或多个应用各自对应的数据,其中,所述接收函数为系统调用接口,所述接收函数用于通过轮询两条及以上路径对应的套接字描述符,获取所述两条及以上路径对应的套接字描述符指示的数据。
135.一种可行的设计中,所述接收函数的输入包括所述多条路径各自对应的套接字描述符。
136.一种可行的设计中,所述操作系统11,还用于向所述一个或多个应用发送第一确认信息,所述第一确认信息表示所述操作系统确认所述一个或多个应用各自对应的数据已被所述一个或多个应用获取。
137.一种可行的设计中,所述多条路径中的至少两条路径属于一个多路径连接。
138.一种可行的设计中,所述第一设备的操作系统接收的所述多条路径的数据包中,包括至少两个来自同一路径的数据包。
139.当该数据处理装置100用于数据接收过程中的数据处理时,操作系统11和应用12的功能如下:
140.应用12,用于通过一次系统调用,将所述一个或多个应用的数据对应地分发给所述多条路径;
141.操作系统11,用于通过所述多条路径,向所述第二设备发送所述数据。
142.一种可行的设计中,所述应用12,用于仅调用一次发送函数,将所述一个或多个应用各自的数据对应地分发给所述多条路径,其中,所述发送函数为系统调用接口,所述发送函数用于通过轮询两条及以上路径对应的套接字描述符,将数据分发给所述两条及以上路径对应的套接字描述符指示的缓存空间。
143.一种可行的设计中,所述发送函数的输入包括所述多条路径各自对应的套接字描述符。
144.一种可行的设计中,所述操作系统11,还用于向所述一个或多个应用发送第二确认信息,所述第二确认信息表示所述操作系统确认所述一个或多个应用各自对应的数据已写入所述多条路径各自对应的套接字描述符指示的缓存空间。
145.一种可行的设计中,所述多条路径中的至少两条路径属于一个多路径连接。
146.图8为本技术实施例提供的一种数据处理装置的结构示意图。如图8所示,该数据处理装置200可以包括:处理器21(例如cpu)、存储器22;存储器22可能包含高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器,存储器24中可以存储各种指令,以用于完成各种处理功能以及实现本技术的方法步骤。
147.可选的,本技术涉及的数据处理装置还可以包括:通信总线23以及通信接口24,通信总线23用于实现元件之间的通信连接,通信接口24用于实现数据处理装置与其他外设之间进行连接通信。
148.在本技术实施例中,各应用被下载到第一设备后,应用的安装包存储在存储器22中,应用被安装时,处理器21对存储在存储器22中的安装包中进行处理,从而将应用运行在第一设备的操作系统中;或者,应用是操作系统自带的应用,无需下载安装即可运行在操作系统中,第一设备的操作系统存储在存储器22中,操作系统通过硬件的指令集来驱动硬件。上述存储器22还用于存储计算机可执行程序代码,程序代码包括指令;当处理器21执行指令时,指令使数据处理装置的处理器21执行上述实施例或可选实施例中第一设备的处理动作,其实现原理和技术效果类似,在此不再赘述。
149.本技术实施例还提供一种存储介质,所述存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的数据处理方法。
150.本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在第一设备上运行时,使得第一设备执行如上述的数据处理方法。
151.本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬
件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
152.本技术实施例可以根据上述方法示例对第一设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
153.本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
154.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
155.可以理解的是,在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
156.可以理解的是,在本技术的实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
157.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
158.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
159.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
160.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
161.本技术实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、第一设备、终端或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,ssd)等。
162.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1