一种数据传输的方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:36709626 阅读:16 留言:0更新日期:2023-03-01 09:35
本申请涉及一种数据传输的方法、装置、计算机设备和存储介质。所述方法包括:获取数据传输端口的工作状态,并根据工作状态获得待传输数据;将待传输数据存储于虚拟内存中,其中,虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;从虚拟内存中获得待传输数据并发送,以使数据传输端口接收待传输数据。采用本方法能够降低资源消耗,从而提高系统性能。能。能。

【技术实现步骤摘要】
一种数据传输的方法、装置、计算机设备和存储介质


[0001]本申请涉及通信
,特别是涉及一种数据传输的方法、装置、计算机设备和存储介质。

技术介绍

[0002]Linux操作系统的运行空间可划分为内核空间和用户空间,其中,Linux操作系统的交换芯片主要在内核空间进行驱动。在用户进程接收来自于数据传输端口的待传输数据时,需要将待传输数据从内核空间复制到用户空间,再通过用户进程读取用户空间的数据。同样的,在用户进程发送来自于数据传输端口的待传输数据时,需要将待传输数据从用户空间复制到内核空间,再进行数据发送。进而,在数据传输的过程中,可能会出现用户空间与内核空间反复拷贝的情况,从而消耗较多的系统资源,例如,中央处理器(CentralProcessingUnit,CPU)或者其他器件的资源,降低系统性能。

技术实现思路

[0003]基于此,提供一种数据传输的方法、装置、计算机设备和存储介质,改善现有技术中用户空间与内核空间数据传输消耗较多系统资源的问题。
[0004]一方面,提供一种数据传输的方法,所述方法包括:
[0005]获取数据传输端口的工作状态,并根据工作状态获得待传输数据;
[0006]将待传输数据存储于虚拟内存中,其中,虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;
[0007]从虚拟内存中获得待传输数据并发送,以使数据传输端口接收待传输数据。
[0008]在其中一个实施例中,虚拟内存通过将物理内存映射至相应的用户空间获得,包括:获取物理内存的物理地址,并将物理内存的物理地址映射至相应的用户空间,获得物理内存的虚拟地址和相应的虚拟内存,以使待传输数据从用户空间中传输。
[0009]在其中一个实施例中,获取数据传输端口的工作状态,并根据工作状态获得待传输数据,包括:获取数据传输端口的工作状态,若工作状态发生改变,则从物理内存中获得待传输数据,其中,工作状态包括数据接收状态或者数据发送状态。
[0010]在其中一个实施例中,获取物理内存的物理地址,并将物理内存的物理地址映射至相应的用户空间,获得物理内存的虚拟地址和相应的虚拟内存,以使待传输数据从用户空间中传输,包括:获取物理内存的物理地址,并将物理内存的物理地址映射至相应的用户空间,获得物理内存的虚拟地址;获取数据传输端口的物理引脚,并将数据传输端口的物理引脚映射至相应的用户空间,获得数据传输端口的虚拟引脚;根据物理内存的虚拟地址和数据传输端口的虚拟引脚,将待传输数据从用户空间中进行传输。
[0011]在其中一个实施例中,获取数据传输端口的工作状态,若工作状态发生改变,则从物理内存中获得待传输数据,其中,工作状态包括数据接收状态、数据发送状态,包括:获取数据传输端口的工作状态,判断工作状态是否是数据接收状态;若是,则获取物理内存的中
断信号和查询时间阈值,并根据中断信号和查询时间阈值,获得待传输数据。
[0012]在其中一个实施例中,在获取数据传输端口的工作状态,并根据工作状态获得待传输数据之前,还包括:获取数据传输端口的物理地址,并根据数据传输端口的物理地址获得对应的网络地址;根据网络地址获得对应的编程接口,并根据编程接口建立端口物理地址与用户空间的连接关系;根据连接关系,获得数据传输端口的工作状态。
[0013]在其中一个实施例中,若是,则获取物理内存的中断信号和查询时间阈值,并根据中断信号和查询时间阈值,获得待传输数据,包括:若是,则获取物理内存的中断信号和查询时间阈值,并根据中断信号和查询时间阈值查询物理内存是否存在待传输数据;若是,则获得待传输数据。
[0014]在其中一个实施例中,在获取数据传输端口的工作状态之后,还包括:判断工作状态是否为数据发送状态,若是,将待传输数据通过数据传输端口进行发送,以使虚拟内存接收待传输数据。
[0015]另一方面,提供了一种数据存储备份的装置,所述装置包括:数据获取模块,用于获取数据传输端口的工作状态,并根据工作状态获得待传输数据;数据存储模块,用于将待传输数据存储于虚拟内存中,其中,虚拟内存通过将物理内存的地址映射至相应的用户空间获得;数据发送模块,用于从虚拟内存中获得待传输数据并发送。
[0016]再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取数据传输端口的工作状态,并根据工作状态获得待传输数据;将待传输数据存储于虚拟内存中,其中,虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;从虚拟内存中获得待传输数据并发送,以使数据传输端口接收待传输数据。
[0017]又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取数据传输端口的工作状态,并根据工作状态获得待传输数据;将待传输数据存储于虚拟内存中,其中,虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;从虚拟内存中获得待传输数据并发送,以使数据传输端口接收待传输数据。
[0018]上述数据传输的方法、装置、计算机设备和存储介质,通过获取数据传输端口的工作状态,并根据工作状态获得待传输数据;将待传输数据存储于虚拟内存中,其中,虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;从虚拟内存中获得待传输数据并发送,以使数据传输端口接收待传输数据,提高了系统性能。
附图说明
[0019]图1为一个实施例中数据传输的方法的应用环境图;
[0020]图2为一个实施例中数据传输的方法的流程示意图;
[0021]图3为一个实施例中数据传输的装置的结构框图;
[0022]图4为一个实施例中计算机设备的内部结构图。
具体实施方式
[0023]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0024]本申请提供的数据传输的方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。Linux操作系统的虚拟地址空间划分为内核空间和用户空间,其中,Linux操作系统的交换芯片主要在内核空间进行驱动,这就导致用户进程接收数据时,需要将数据从内核空间复制到用户空间,再通过用户进程读取用户空间的数据,同样的,用户进程发送数据,需要将数据从用户空间复制到内核空间,再进行数据发送。这就导致数据在传输过程中,会出现用户空间与内核空间反复拷贝的情况,从而消耗较多CPU的资源,降低系统性能,本申请提供的数据传输的方法,可以通过服务器104获取数据传输端口的工作状态,并根据工作状态获得待传输数据;将待传输数据存储于虚拟内存中,其中,虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;从虚拟内存中获得待传输数据并发送,以使数据传输端口接收待传输数据,提高了系统性能。其中,终端102可以但不限于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输的方法,应用于用户空间,其特征在于,包括:获取数据传输端口的工作状态,并根据所述工作状态获得待传输数据;将所述待传输数据存储于虚拟内存中,其中,所述虚拟内存通过内核空间的物理内存映射至相应的用户空间获得;从所述虚拟内存中获得所述待传输数据并发送,以使所述数据传输端口接收所述待传输数据。2.如权利要求1所述的数据传输的方法,其特征在于,所述虚拟内存通过将物理内存映射至相应的用户空间获得,包括:获取物理内存的物理地址,并将所述物理内存的物理地址映射至相应的用户空间,获得所述物理内存的虚拟地址和相应的所述虚拟内存,以使待传输数据从所述用户空间中传输。3.如权利要求1所述的数据传输的方法,其特征在于,获取数据传输端口的工作状态,并根据所述工作状态获得待传输数据,包括:获取数据传输端口的工作状态,若所述工作状态发生改变,则从物理内存中获得待传输数据,其中,工作状态包括数据接收状态或者数据发送状态。4.如权利要求2所述的数据传输的方法,其特征在于,获取物理内存的物理地址,并将所述物理内存的物理地址映射至相应的用户空间,获得所述物理内存的虚拟地址和相应的所述虚拟内存,以使待传输数据从所述用户空间中传输,包括:获取物理内存的物理地址,并将物理内存的物理地址映射至相应的用户空间,获得所述物理内存的虚拟地址;获取数据传输端口的物理引脚,并将所述数据传输端口的物理引脚映射至所述相应的用户空间,获得所述数据传输端口的虚拟引脚;根据所述物理内存的虚拟地址和所述数据传输端口的虚拟引脚,将所述待传输数据从所述用户空间中进行传输。5.如权利要求3所述的数据传输的方法,其特征在于,获取数据传输端口的工作状态,若所述工作状态发生改变,则从物理内存中获得待传输数据,其中,工作状态包括数据接收状态、数据发送状态,包括:获取数据传输端口的工作状态,判断所述工作状态是否是数据接收状态;若是,则...

【专利技术属性】
技术研发人员:涂少波龙政方朱乾勇韩波邓凌天陈建伟
申请(专利权)人:成都赛力斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1