数据传输方法、装置及汽车转让专利

申请号 : CN202110800889.1

文献号 : CN115701035A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘家甫许迎春

申请人 : 北京车和家信息技术有限公司

摘要 :

本申请公开一种数据传输方法、装置及汽车,涉及汽车通信技术领域。本申请的方法包括:接收第一目标设备发送的目标数据包;对所述目标数据包进行格式转换,以获得目标VLAN数据包;将所述目标VLAN数据包发送至第二目标设备。本申请适用于汽车内的一个设备向另外一个设备发送数据包的过程中。

权利要求 :

1.一种数据传输方法,其特征在于,所述方法应用于现场可编程门阵列芯片中,包括:接收第一目标设备发送的目标数据包;

对所述目标数据包进行格式转换,以获得目标VLAN数据包;

将所述目标VLAN数据包发送至第二目标设备。

2.根据权利要求1所述的方法,其特征在于,在所述对所述目标数据包进行格式转换,以获得目标VLAN数据包之前,所述方法还包括:确定所述目标数据包对应的数据位宽;

判断所述目标数据包对应的数据位宽是否小于预设数据位宽阈值;

若是,则使用预置数据对所述目标数据包进行填充处理;

所述对所述目标数据包进行格式转换,以获得目标VLAN数据包,包括:对经过填充处理的所述目标数据包进行格式转换,以获得所述目标VLAN数据包。

3.根据权利要求2所述的方法,其特征在于,所述确定所述目标数据包对应的数据位宽,包括:计算所述目标数据包的数据量大小;

根据所述目标数据包的数据量大小确定所述目标数据包对应的数据位宽。

4.根据权利要求1所述的方法,其特征在于,所述将所述目标VLAN数据包发送至第二目标设备,包括:基于VLAN协议将所述目标VLAN数据包发送至所述第二目标设备。

5.根据权利要求1所述的方法,其特征在于,所述将所述目标VLAN数据包发送至第二目标设备,包括:设置所述目标VLAN数据包对应的传输协议为AXI‑Streaming协议;

基于所述AXI‑Streaming协议将所述目标VLAN数据包发送至所述第二目标设备。

6.根据权利要求1‑5中任一项所述的方法,其特征在于,所述目标数据包具体为:CAN数据包、I2C数据包和串口数据包中的任意一种。

7.一种现场可编程门阵列芯片,其特征在于,包括:接收单元,用于接收第一目标设备发送的目标数据包;

转换单元,用于对所述目标数据包进行格式转换,以获得目标VLAN数据包;

发送单元,用于将所述目标VLAN数据包发送至第二目标设备。

8.根据权利要求7所述的现场可编程门阵列芯片,其特征在于,所述现场可编程门阵列芯片还包括:确定单元,用于在所述转换单元对所述目标数据包进行格式转换,以获得目标VLAN数据包之前,确定所述目标数据包对应的数据位宽;

判断单元,用于判断所述目标数据包对应的数据位宽是否小于预设数据位宽阈值;

填充单元,用于当所述判断单元判定所述目标数据包对应的数据位宽小于预设数据位宽阈值时,使用预置数据对所述目标数据包进行填充处理;

所述转换单元,具体用于对经过填充处理的所述目标数据包进行格式转换,以获得所述目标VLAN数据包。

9.根据权利要求8所述的现场可编程门阵列芯片,其特征在于,所述确定单元包括:计算模块,用于计算所述目标数据包的数据量大小;

确定模块,用于根据所述目标数据包的数据量大小确定所述目标数据包对应的数据位宽。

10.根据权利要求7所述的现场可编程门阵列芯片,其特征在于,所述发送单元包括:第一发送模块,用于基于VLAN协议将所述目标VLAN数据包发送至所述第二目标设备。

11.根据权利要求7所述的现场可编程门阵列芯片,其特征在于,所述发送单元包括:设置模块,用于设置所述目标VLAN数据包对应的传输协议为AXI‑Streaming协议;

第二发送模块,用于基于所述AXI‑Streaming协议将所述目标VLAN数据包发送至所述第二目标设备。

12.根据权利要求7‑11中任一项所述的现场可编程门阵列芯片,其特征在于,所述目标数据包具体为:CAN数据包、I2C数据包和串口数据包中的任意一种。

13.一种汽车,其特征在于,所述汽车包括:如权利要求7‑12中任一项所述的现场可编程门阵列芯片。

14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任一项所述的数据传输方法。

15.一种数据传输装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至6中任一项所述的数据传输方法。

说明书 :

数据传输方法、装置及汽车

技术领域

[0001] 本发明涉及汽车通信技术领域,特别是涉及一种数据传输方法、装置及汽车。

背景技术

[0002] 近些年来,随着社会的不断发展,人们对于汽车的需求量也越来越大,汽车成为人们日常生活中不可或缺的一部分。为了保证汽车的正常行驶,汽车内的各个传感器、执行器及核心处理器之间需要进行数据交互。
[0003] 目前,当汽车内的一个设备需要向另一个设备发送数据包时,通常是这个设备先将数据包发送给MCU,MCU将接收到的数据包转换为UDP/TCP数据格式,再基于UDP/TCP协议将格式转换后的数据包发送给另一个设备。然而,由于MCU基于UDP/TCP协议将格式转换后的数据包发送给另一个设备,实质上是在传输层中将格式转换后的数据包发送给另一个设备,从而使得整个数据包传输过程时延较大、传输效率较低。

发明内容

[0004] 本申请实施例提供一种数据传输方法、装置及汽车,主要目的在于提高汽车内的一个设备向另外一个设备发送数据包的传输效率。
[0005] 为解决上述技术问题,本申请实施例提供如下技术方案:
[0006] 第一方面,本申请提供了一种数据传输方法,该方法应用于FPGA(Field Programmable Gate Array,现场可编程门阵列)芯片中,该方法包括:
[0007] 接收第一目标设备发送的目标数据包;
[0008] 对所述目标数据包进行格式转换,以获得目标VLAN数据包;
[0009] 将所述目标VLAN数据包发送至第二目标设备。
[0010] 可选的,在所述对所述目标数据包进行格式转换,以获得目标VLAN数据包之前,所述方法还包括:
[0011] 确定所述目标数据包对应的数据位宽;
[0012] 判断所述目标数据包对应的数据位宽是否小于预设数据位宽阈值;
[0013] 若是,则使用预置数据对所述目标数据包进行填充处理;
[0014] 所述对所述目标数据包进行格式转换,以获得目标VLAN数据包,包括:
[0015] 对经过填充处理的所述目标数据包进行格式转换,以获得所述目标VLAN数据包。
[0016] 可选的,所述确定所述目标数据包对应的数据位宽,包括:
[0017] 计算所述目标数据包的数据量大小;
[0018] 根据所述目标数据包的数据量大小确定所述目标数据包对应的数据位宽。
[0019] 可选的,所述将所述目标VLAN数据包发送至第二目标设备,包括:
[0020] 基于VLAN协议将所述目标VLAN数据包发送至所述第二目标设备。
[0021] 可选的,所述将所述目标VLAN数据包发送至第二目标设备,包括:
[0022] 设置所述目标VLAN数据包对应的传输协议为AXI‑Streaming协议;
[0023] 基于所述AXI‑Streaming协议将所述目标VLAN数据包发送至所述第二目标设备。
[0024] 可选的,所述目标数据包具体为:CAN数据包、I2C数据包和串口数据包中的任意一种。
[0025] 第二方面,本申请还提供一种FPGA芯片,该FPGA芯片包括:
[0026] 接收单元,用于接收第一目标设备发送的目标数据包;
[0027] 转换单元,用于对所述目标数据包进行格式转换,以获得目标VLAN数据包;
[0028] 发送单元,用于将所述目标VLAN数据包发送至第二目标设备。
[0029] 可选的,所述FPGA芯片还包括:
[0030] 确定单元,用于在所述转换单元对所述目标数据包进行格式转换,以获得目标VLAN数据包之前,确定所述目标数据包对应的数据位宽;
[0031] 判断单元,用于判断所述目标数据包对应的数据位宽是否小于预设数据位宽阈值;
[0032] 填充单元,用于当所述判断单元判定所述目标数据包对应的数据位宽小于预设数据位宽阈值时,使用预置数据对所述目标数据包进行填充处理;
[0033] 所述转换单元,具体用于对经过填充处理的所述目标数据包进行格式转换,以获得所述目标VLAN数据包。
[0034] 可选的,所述确定单元包括:
[0035] 计算模块,用于计算所述目标数据包的数据量大小;
[0036] 确定模块,用于根据所述目标数据包的数据量大小确定所述目标数据包对应的数据位宽。
[0037] 可选的,所述发送单元包括:
[0038] 第一发送模块,用于基于VLAN协议将所述目标VLAN数据包发送至所述第二目标设备。
[0039] 可选的,所述发送单元包括:
[0040] 设置模块,用于设置所述目标VLAN数据包对应的传输协议为AXI‑Streaming协议;
[0041] 第二发送模块,用于基于所述AXI‑Streaming协议将所述目标VLAN数据包发送至所述第二目标设备。
[0042] 可选的,所述目标数据包具体为:CAN数据包、I2C数据包和串口数据包中的任意一种。
[0043] 第三方面,本申请的实施例提供了一种汽车,所述汽车包括第二方面所述的FPGA芯片。
[0044] 第四方面,本申请的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的数据传输方法。
[0045] 第五方面,本申请的实施例提供了一种数据传输装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的数据传输方法。
[0046] 借由上述技术方案,本申请提供的技术方案至少具有下列优点:
[0047] 本申请提供一种数据传输方法、装置及汽车,本申请能够在FPGA芯片接收得到第一目标设备发送的目标数据包后,由FPGA芯片对目标数据包进行格式转换,即将目标数据包转换为VLAN数据格式的数据包,以获得目标VLAN数据包,并在网络层中将目标VLAN数据包发送至第二目标设备中,因此,FPGA芯片将目标VLAN数据包发送至第二目标设备所消耗的时间远小于MCU在传输层中将格式转换后的目标数据包发送至第二目标设备所消耗的时间,从而可以有效提高第一目标设备向第二目标设备发送目标数据包的传输效率。
[0048] 上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

[0049] 通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
[0050] 图1示出了本申请实施例提供的一种数据传输方法流程图;
[0051] 图2示出了本申请实施例提供的另一种数据传输方法流程图;
[0052] 图3示出了本申请实施例提供的一种FPGA芯片的组成框图;
[0053] 图4示出了本申请实施例提供的另一种FPGA芯片的组成框图。

具体实施方式

[0054] 下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[0055] 需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
[0056] 本申请实施例提供一种数据传输方法,如图1所示,该方法应用于FPGA芯片中,该方法包括:
[0057] 101、接收第一目标设备发送的目标数据包。
[0058] 在本申请实施例中,各个步骤中的执行主体为预先设置在目标汽车中的FPGA芯片。
[0059] 其中,第一目标设备具体可以为:目标汽车中的各个传感器、执行器及核心处理器等设备中的任意一个设备,本申请实施例对此不进行具体限定;第二目标设备具体可以为:目标汽车中的各个传感器、执行器及核心处理器等设备中的任意一个设备,本申请实施例对此不进行具体限定;目标数据包具体可以为:CAN数据包、I2C数据包和串口数据包等低速数据包中的任意一种。
[0060] 在本申请实施例中,当第一目标设备需要与第二目标设备进行数据交互,即第一目标设备需要将目标数据包发送至第二目标设备中时,第一目标设备首先需要将目标数据包发送至FPGA芯片中,此时,FPGA芯片便可接收得到第一目标设备发送的目标数据包。
[0061] 具体的,在本步骤中,FPGA芯片可以通过预设AXI‑Lite接口接收第一目标设备发送的目标数据包,但不限于此。
[0062] 102、对目标数据包进行格式转换,以获得目标VLAN数据包。
[0063] 在本申请实施例中,FPGA芯片在接收得到第一目标设备发送的目标数据包后,便可对目标数据包进行格式转换,即将目标数据包转换为VLAN数据格式的数据包,从而获得目标VLAN数据包。
[0064] 103、将目标VLAN数据包发送至第二目标设备。
[0065] 在本申请实施例中,FPGA芯片在将目标数据包转换为目标VLAN数据包后,便可将目标VLAN数据包发送至第二目标设备中。具体的,在本步骤中,FPGA芯片可以基于VLAN协议将目标VLAN数据包发送至第二目标设备中,但不限于此。由于,FPGA芯片具体是在网络层中将目标VLAN数据包发送至第二目标设备中,因此,FPGA芯片将目标VLAN数据包发送至第二目标设备所消耗的时间远小于MCU在传输层中将格式转换后的目标数据包发送至第二目标设备所消耗的时间,从而可以有效提高第一目标设备向第二目标设备发送目标数据包的传输效率。
[0066] 本申请实施例提供一种数据传输方法,本申请实施例能够在FPGA芯片接收得到第一目标设备发送的目标数据包后,由FPGA芯片对目标数据包进行格式转换,即将目标数据包转换为VLAN数据格式的数据包,以获得目标VLAN数据包,并在网络层中将目标VLAN数据包发送至第二目标设备中,因此,FPGA芯片将目标VLAN数据包发送至第二目标设备所消耗的时间远小于MCU在传输层中将格式转换后的目标数据包发送至第二目标设备所消耗的时间,从而可以有效提高第一目标设备向第二目标设备发送目标数据包的传输效率。
[0067] 以下为了更加详细地说明,本申请实施例提供了另一种数据传输方法,具体如图2所示,该方法应用于FPGA芯片中,该方法包括:
[0068] 201、接收第一目标设备发送的目标数据包。
[0069] 其中,关于步骤201、接收第一目标设备发送的目标数据包,可以参考图1对应部分的描述,本申请实施例此处将不再赘述。
[0070] 202、对目标数据包进行填充处理。
[0071] 其中,目标数据包对应的数据位宽可以但不限于为:4个字节、8个字节、16个字节等等;预设数据位宽阈值为4个字节的整数倍,如32个字节、36个字节、40个字节等;其中,预设数据位宽阈值大于或等于目标数据包对应的数据位宽。
[0072] 在本申请实施例中,FPGA芯片在接收得到第一目标设备发送的目标数据包后,需要判断是否需要对目标数据包进行填充处理,其中,FPGA芯片判断是否需要对目标数据包进行填充处理的具体过程为:
[0073] 首先,计算目标数据包的数据量大小,并根据目标数据包的数据量大小确定目标数据包对应的数据位宽;其次,判断目标数据包对应的数据位宽是否小于预设数据位宽阈值;当判定目标数据包对应的数据位宽小于预设数据位宽阈值时,使用预置数据对目标数据包进行填充处理,其中,预置数据为无任何实际意义的数据;当判定目标数据包对应的数据位宽等于预设数据位宽阈值时,无需对目标数据包进行填充处理。
[0074] 203、对经过填充处理的目标数据包进行格式转换,以获得目标VLAN数据包。
[0075] 在本申请实施例中,FPGA芯片对目标数据包进行填充处理后,便可对经过填充处理的目标数据包进行格式转换,即将经过填充处理的目标数据包转换为VLAN数据格式的数据包,从而获得目标VLAN数据包。
[0076] 进一步的,在本申请实施例中,FPGA芯片可以通过预置状态机程序输出显示将目标数据包转换为目标VLAN数据包的过程。
[0077] 进一步的,在本申请实施例中,当N个目标数据包对应的数据位宽之和仍小于或等于预设数据位宽阈值,可以先对N个目标数据包进行拼接处理,以获得拼接数据包,再按照上述方法对拼接数据包进行填充处理,并对经过填充处理的拼接数据包进行格式转换,从而获得目标VLAN数据包,其中,N为大于1的正整数。
[0078] 204、基于VLAN协议将目标VLAN数据包发送至第二目标设备。
[0079] 在本申请实施例中,FPGA芯片在将经过填充处理的目标数据包转换为目标VLAN数据包后,便可基于VLAN协议将目标VLAN数据包发送至第二目标设备中。由于,FPGA芯片具体是在网络层将目标VLAN数据包发送至第二目标设备中,因此,FPGA芯片将目标VLAN数据包发送至第二目标设备所消耗的时间远小于MCU在传输层中将格式转换后的目标数据包发送至第二目标设备所消耗的时间,从而可以有效提高第一目标设备向第二目标设备发送目标数据包的传输效率。
[0080] 进一步的,在本申请实施例中,FPGA芯片在将经过填充处理的目标数据包转换为目标VLAN数据包后,还可以设置目标VLAN数据包对应的传输协议为AXI‑Streaming协议,并基于AXI‑Streaming协议将目标VLAN数据包发送至第二目标设备中,即基于AXI‑Streaming协议在链路层(即MAC层)中将目标VLAN数据包发送至第二目标设备中,从而可以进一步降低将目标VLAN数据包发送至第二目标设备所消耗的时间,进而可以进一步提高第一目标设备向第二目标设备发送目标数据包的传输效率。具体的,在本步骤中,FPGA芯片可以通过TSN(Time Sensitive Network,时间敏感网络)功能模块执行基于AXI‑Streaming协议将目标VLAN数据包发送至第二目标设备中的操作,但不限于此。
[0081] 进一步的,作为对上述图1及图2所示方法的实现,本申请另一实施例还提供了一种FPGA芯片。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的FPGA芯片能够对应实现前述方法实施例中的全部内容。该FPGA芯片应用于提高汽车内的一个设备向另外一个设备发送数据包的传输效率,具体如图3所示,该FPGA芯片包括:
[0082] 接收单元31,用于接收第一目标设备发送的目标数据包;
[0083] 转换单元32,用于对所述目标数据包进行格式转换,以获得目标VLAN数据包;
[0084] 发送单元33,用于将所述目标VLAN数据包发送至第二目标设备。
[0085] 进一步的,如图4所示,该FPGA芯片还包括:
[0086] 确定单元34,用于在转换单元32对所述目标数据包进行格式转换,以获得目标VLAN数据包之前,确定所述目标数据包对应的数据位宽;
[0087] 判断单元35,用于判断所述目标数据包对应的数据位宽是否小于预设数据位宽阈值;
[0088] 填充单元36,用于当判断单元35判定所述目标数据包对应的数据位宽小于预设数据位宽阈值时,使用预置数据对所述目标数据包进行填充处理;
[0089] 转换单元32,具体用于对经过填充处理的所述目标数据包进行格式转换,以获得所述目标VLAN数据包。
[0090] 进一步的,如图4所示,确定单元34包括:
[0091] 计算模块341,用于计算所述目标数据包的数据量大小;
[0092] 确定模块342,用于根据所述目标数据包的数据量大小确定所述目标数据包对应的数据位宽。
[0093] 进一步的,如图4所示,发送单元33包括:
[0094] 第一发送模块331,用于基于VLAN协议将所述目标VLAN数据包发送至所述第二目标设备。
[0095] 进一步的,如图4所示,发送单元33包括:
[0096] 设置模块332,用于设置所述目标VLAN数据包对应的传输协议为AXI‑Streaming协议;
[0097] 第二发送模块333,用于基于所述AXI‑Streaming协议将所述目标VLAN数据包发送至所述第二目标设备。
[0098] 进一步的,如图4所示,所述目标数据包具体为:CAN数据包、I2C数据包和串口数据包中的任意一种。
[0099] 本申请实施例提供一种数据传输方法、装置及汽车,本申请实施例能够在FPGA芯片接收得到第一目标设备发送的目标数据包后,由FPGA芯片对目标数据包进行格式转换,即将目标数据包转换为VLAN数据格式的数据包,以获得目标VLAN数据包,并在网络层中将目标VLAN数据包发送至第二目标设备中,因此,FPGA芯片将目标VLAN数据包发送至第二目标设备所消耗的时间远小于MCU在传输层中将格式转换后的目标数据包发送至第二目标设备所消耗的时间,从而可以有效提高第一目标设备向第二目标设备发送目标数据包的传输效率。
[0100] 所述FPGA芯片包括处理器和存储器,上述接收单元、转换单元和发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0101] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高汽车内的一个设备向另外一个设备发送数据包的传输效率。
[0102] 本申请实施例还提供了一种汽车,所述汽车包括上述所述的FPGA芯片。
[0103] 本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据传输方法。
[0104] 本申请实施例还提供了一种数据传输装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的数据传输方法。
[0105] 本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
[0106] 接收第一目标设备发送的目标数据包;
[0107] 对所述目标数据包进行格式转换,以获得目标VLAN数据包;
[0108] 将所述目标VLAN数据包发送至第二目标设备。
[0109] 进一步的,在所述对所述目标数据包进行格式转换,以获得目标VLAN数据包之前,所述方法还包括:
[0110] 确定所述目标数据包对应的数据位宽;
[0111] 判断所述目标数据包对应的数据位宽是否小于预设数据位宽阈值;
[0112] 若是,则使用预置数据对所述目标数据包进行填充处理;
[0113] 所述对所述目标数据包进行格式转换,以获得目标VLAN数据包,包括:
[0114] 对经过填充处理的所述目标数据包进行格式转换,以获得所述目标VLAN数据包。
[0115] 进一步的,所述确定所述目标数据包对应的数据位宽,包括:
[0116] 计算所述目标数据包的数据量大小;
[0117] 根据所述目标数据包的数据量大小确定所述目标数据包对应的数据位宽。
[0118] 进一步的,所述将所述目标VLAN数据包发送至第二目标设备,包括:
[0119] 基于VLAN协议将所述目标VLAN数据包发送至所述第二目标设备。
[0120] 进一步的,所述将所述目标VLAN数据包发送至第二目标设备,包括:
[0121] 设置所述目标VLAN数据包对应的传输协议为AXI‑Streaming协议;
[0122] 基于所述AXI‑Streaming协议将所述目标VLAN数据包发送至所述第二目标设备。
[0123] 进一步的,所述目标数据包具体为:CAN数据包、I2C数据包和串口数据包中的任意一种。
[0124] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:接收第一目标设备发送的目标数据包;对所述目标数据包进行格式转换,以获得目标VLAN数据包;将所述目标VLAN数据包发送至第二目标设备。
[0125] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0126] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0127] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0128] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0129] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0130] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0131] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0132] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0133] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0134] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。