一种数据传输方法、装置及系统与流程

文档序号:29421392发布日期:2022-03-26 14:18阅读:113来源:国知局
一种数据传输方法、装置及系统与流程

1.本技术涉及通信技术领域,具体涉及一种数据传输方法、装置及系统。


背景技术:

2.为了满足用户多样化的需求,终端设备在应用过程中,有时需要与其他的终端设备进行数据传输。其中,终端设备通常内置有操作系统,该操作系统包括用于驱动网口的网口驱动,在该网口驱动的作用下,该终端设备实现与其他终端设备的数据传输。
3.但是,随着科学技术的发展,目前出现多种类型的操作系统。有些场景下,需要进行数据传输的两个终端设备应用的是不同的操作系统。这种情况下,为了实现这两个终端设备之间的数据传输,往往需要为其中一个终端设备重写网口驱动,需要耗费大量人力和时间,导致数据传输的过程较为繁琐,数据传输的效率较低。


技术实现要素:

4.为了解决通过现有技术进行数据传输时,所存在的数据传输过程繁琐,数据传输效率低的问题,本技术实施例提供一种数据传输方法及装置。
5.第一方面,本技术实施例公开一种数据传输方法,包括:
6.在接收到针对目标数据的请求之后,生成报文,所述报文的报文主体包括所述目标数据;
7.确定所述报文主体的偏移地址;
8.传输所述报文主体的偏移地址和所述报文。
9.通过上述步骤,即使数据的发送方和接收方安装不同的操作系统,也可实现数据的发送方和接收方之间的数据传输,而不需要为终端设备重写网口驱动,从而提高了数据传输的效率。
10.一种可选的设计中,所述报文主体的偏移地址存放在所述报文的控制字段中。
11.这种情况下,通过读取所述报文的控制字段,即可确定所述报文主体的偏移地址。
12.一种可选的设计中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;
13.所述数据缓冲段用于存放所述目标数据;
14.所述报文主体的偏移地址包括:所述头部缓冲段的偏移地址、所述数据缓冲段的偏移地址和所述尾部缓冲段的偏移地址。
15.一种可选的设计中,所述控制字段还包括:所述头部缓冲段的长度、所述数据缓冲段的长度和所述尾部缓冲段的长度;
16.所述控制字段位于所述报文的报头和报文主体之间。
17.一种可选的设计中,所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中。
18.由于数据的发送方的协议层需要添加的信息位于报文主体的头部缓冲段中,因此,无需重复拷贝报文,以及无需重新为报文分配内存,从而减少了内存资源和时间资源的
耗费。
19.第二方面,本技术实施例公开一种数据传输方法,包括:
20.发送针对目标数据的请求;
21.接收所述请求对应的报文和所述报文的报文主体的偏移地址,所述报文的报文主体包括所述目标数据;
22.根据所述报文的报文主体的偏移地址,确定所述报文中的目标数据。
23.一种可选的设计中,所述报文主体的偏移地址存放在所述报文的控制字段中。
24.一种可选的设计中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;
25.所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中;
26.所述方法还包括:
27.通过所述报文主体的头部缓冲段,确定所述报文在发送方的协议层传递时添加的信息。
28.第三方面,本技术实施例公开一种数据传输装置,包括:
29.处理器和收发接口;
30.所述收发接口用于接收到针对目标数据的请求;
31.所述处理器用于在接收到针对目标数据的请求之后,生成报文,所述报文的报文主体包括所述目标数据,并确定所述报文主体的偏移地址
32.所述收发接口还用于,传输所述报文主体的偏移地址和所述报文。
33.一种可选的设计中,所述报文主体的偏移地址存放在所述报文的控制字段中。
34.一种可选的设计中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;
35.所述数据缓冲段用于存放所述目标数据;
36.所述报文主体的偏移地址包括:所述头部缓冲段的偏移地址、所述数据缓冲段的偏移地址和所述尾部缓冲段的偏移地址。
37.一种可选的设计中,所述控制字段还包括:所述头部缓冲段的长度、所述数据缓冲段的长度和所述尾部缓冲段的长度;
38.所述控制字段位于所述报文的报头和报文主体之间。
39.一种可选的设计中,所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中。
40.第四方面,本技术实施例公开一种数据传输装置,包括:
41.处理器和收发接口;
42.所述收发接口用于发送针对目标数据的请求,并接收所述请求对应的报文和所述报文的报文主体的偏移地址,所述报文的报文主体包括所述目标数据;
43.所述处理器用于根据所述报文的报文主体的偏移地址,确定所述报文中的目标数据。
44.一种可选的设计中,所述报文主体的偏移地址存放在所述报文的控制字段中。
45.一种可选的设计中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;
46.所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中;
47.所述处理器还用于,通过所述报文主体的头部缓冲段,确定所述报文在发送方的协议层传递时添加的信息。
48.第五方面,本技术实施例公开一种终端设备,包括:
49.至少一个处理器和存储器,
50.所述存储器,用于存储程序指令;
51.所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行第一方面所述的数据传输方法。
52.第六方面,本技术实施例公开一种终端设备,包括:
53.至少一个处理器和存储器,
54.所述存储器,用于存储程序指令;
55.所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行第二方面所述的数据传输方法。
56.第七方面,本技术实施例公开一种数据传输系统,包括:
57.如第五方面所述的终端设备,以及如第六方面所述的终端设备。
58.第七方面,本技术实施例公开一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如第一方面所述的数据传输方法。
59.第八方面,本技术实施例公开一种计算机可读存储介质,其特征在于,
60.所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如第二方面所述的数据传输方法。
61.通过本技术实施例提供的方案,数据的发送方可生成请求所对应的报文,所述报文的报文主体包括所述目标数据,确定所述报文主体的偏移地址,并且可将所述报文和所述报文主体的偏移地址发送至数据的接收方。这种情况下,所述数据的接收方可确定报文主体的偏移地址,进而确定所述报文主体中包括的目标数据,从而获取自身所需的目标数据,满足数据传输的需求。
62.这种情况下,即使数据的发送方和接收方安装不同的操作系统,通过本技术实施例提供的方案,也可实现数据的发送方和接收方之间的数据传输,而不需要为终端设备重写网口驱动,从而提高了数据传输的效率。
63.进一步的,在本技术实施例提供的方案中,所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中,即通过所述头部缓冲段,可获取所述需要添加的信息。这种情况下,不仅可以在包含目标数据的报文中添加所述需要添加的信息,并且无需对报文进行拷贝,以及无需分配新的内存,减少了内存资源和时间资源的浪费,进一步提高了数据传输的效率。
附图说明
64.图1为一种skb数据结构的示意图;
65.图2为一种协议层的结构示意图;
66.图3为一种pbuf数据结构的示意图;
67.图4为本技术实施例公开的一种数据传输方法的工作流程示意图;
68.图5为本技术实施例公开的一种数据传输方法中的数据结构的示意图;
69.图6为本技术实施例公开的又一种数据传输方法的工作流程示意图;
70.图7为本技术实施例公开的一种数据传输装置的结构示意图;
71.图8为本技术实施例公开的一种终端设备的结构示意图。
具体实施方式
72.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
73.以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
74.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
75.为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
76.在计算机中,操作系统是其重要的基础性系统软件,是一种可用于管理计算机硬件与软件资源的计算机程序。操作系统可包括多种驱动程序,其中,所述多种驱动程序中可包括用于驱动网口的网口驱动。
77.所述网口驱动是操作系统与外部通信的基础,也就是说,终端设备往往需要在网口驱动的作用下,通过自身的网口,与其他终端设备进行数据传输。其中,终端设备的网口驱动,通常是由该终端设备的操作系统,基于相应的协议栈开发生成的。
78.另外,目前存在多种类型的操作系统,例如,实时操作系统、linux操作系统和unix操作系统等。不同的终端设备内,可安装不同的操作系统。而不同操作系统的协议栈往往不同,而网口驱动由操作系统根据协议栈开发,因此,安装不同操作系统的终端设备,在进行数据传输时,所应用的网口驱动往往不同。
79.目前,大部分进行数据传输的终端设备安装的操作系统为linux操作系统,这些终端设备基于linux操作系统的协议栈开发的网口驱动,进行数据传输。但是,有些情况下,进行数据传输的两个终端设备安装的操作系统不同。如果需要进行数据传输的两个终端设备的操作系统不同,往往会出现不同终端设备的网口驱动不兼容。
80.例如,如果终端设备a应用linux操作系统,而终端设备b应用实时操作系统,则终端设备a的网口驱动基于linux操作系统的协议栈开发,而终端设备b的网口驱动基于实时操作系统的协议栈开发。终端设备a与终端设备b进行数据传输时,二者应用的网口驱动不兼容。
81.终端设备在网口驱动的驱动下进行数据传输时,需要传输的数据通常包含在报文中,如果两个终端设备的网口驱动不同,则这两个终端设备的报文的数据结构通常不同。也就是说,如果两个终端设备的操作系统不同,则这两个终端设备用于进行数据传输的数据结构往往不同。
82.例如,linux操作系统的终端设备在进行数据传输时,报文的数据结构可为套接字缓存(socket buffer,skb)数据结构。其中,skb数据结构的示意图可如图1所示。
83.参见图1,skb数据结构包括控制部分(即图1中的skb区域)和网络数据部分,网络数据部分通常占据一块连续的内存,并按逻辑功能划分为三块区域:头部保留区域(即head room区域)、数据区域(即data区域)和尾部保留区域(即tail room区域)。其中,控制部分和网络数据部分之间为预留空间,网络数据部分包括终端设备需要传输的数据。
84.在数据传输过程中,数据的发送方在确定需要传输的数据之后,可生成包含该数据的报文,该报文往往需要经过发送方的协议层,然后再传输至数据的接收方。而协议层往往为多层结构。在一个示例中,参见图2所示的示意图,协议层可包括七层结构,分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。报文在协议层的各层间传递时,往往需要在其中添加信息,例如,在传递至数据链路层时,需要在报文中添加媒体存取控制地址(media access control address,mac)。
85.另外,数据的接收方在接收到报文之后,往往会剥离所述发送方的协议层添加的信息,再由所述接收方的协议层对剥离后的报文进行处理,以获取报文中包含的数据。
86.也就是说,数据在传输过程中,往往需要数据的发送方在包含该数据的报文中添加信息,并且由数据的接收方剥离报文中的信息。这种情况下,如果终端设备应用的是skb数据结构,则协议层添加的信息可添加至报文的预留空间中,并从所述预留空间中,确定需要剥离的数据。
87.另外,实时操作系统的终端设备应用的数据结构为pbuf数据结构。其中,pbuf数据结构的示意图可如图3所示。参见图3,pbuf数据结构中包括以下字段:“下一个(即next)”字段、“负载(即payload)”字段、“数据长度(即tot_len)”字段、“长度(即len)”字段、“索引(即ref)”字段、“标志(即flags)”字段、“类型(即type)”字段和“数据(即data)”字段。
88.其中,next字段用于指向下一个pbuf;payload字段用于指向实际载荷数据的起始地址;tot_len字段表示当前pbuf数据加上next之后所有pbuf数据之和;len字段表示当前pbuf的数据长度;type字段表示pbuf的类型;ref字段表示该pbuf被引用的次数;data字段加载需要传输的数据;flags字段用于加载标志信息。
89.图1和图3相比较,可以确定,实时操作系统的终端设备与linux操作系统的终端设备用于进行数据传输的数据结构完全不同。
90.如果进行数据传输的两个终端设备所应用的数据结构不同,则这两个终端设备往往无法进行数据传输。
91.为了解决上述问题,目前通常在两个终端设备需要进行数据传输,并且两个终端设备的操作系统不同时,为其中一个终端设备重写网口驱动,以使这两个终端设备能够应用相同的数据结构进行数据传输。
92.例如,如果需要进行数据传输的两个终端设备分别应用pbuf数据结构和skb数据结构,目前通常为其中一个终端设备重写网口驱动,以使这两个终端设备均用pbuf数据结
构进行数据传输,或者均用skb数据结构进行数据传输。
93.但是,重写网口驱动需要耗费较多时间,以及耗费技术人员的人力,存在费时费力的问题,从而导致数据传输的效率较低。
94.为了明确本技术提供的方案,以下结合附图,通过各个实施例,对本技术所提供的方案进行介绍说明。
95.为了解决现有技术中,不同操作系统的终端设备在进行数据传输时,需要重写网口驱动的问题,本技术实施例提供一种数据传输方法、装置及系统。
96.本技术实施例提供一种数据传输方法,该数据传输方法可应用于数据的发送方。参见图4所示的工作流程示意图,本技术实施例提供的数据传输方法包括以下步骤:
97.步骤s11、在接收到针对目标数据的请求之后,生成报文,所述报文的报文主体包括所述目标数据。
98.数据的接收方在需要目标数据时,可向数据的发送方传输针对目标数据的请求。所述数据的发送方在接收到该请求之后,生成相应的报文。所述报文通常包括报文主体,并且所述目标数据存放在所述报文主体中,以便通过该报文,使所述数据的接收方获取所述目标数据。
99.步骤s12、确定所述报文主体的偏移地址。
100.数据的发送方在生成包含目标数据的报文之后,该报文往往会通过所述发送方的协议层,然后再传递至数据的接收方。而该报文在该发送方的协议层间传递的过程中,协议层可能会在报文中添加信息,例如,报文传递至发送方的协议层时,所述协议层中的数据链路层可能会在报文中添加mac地址信息。
101.另外,所述数据的发送方在传递该报文的过程中,还可能在报文中添加其他信息,本技术实施例对此不作限定。
102.这种情况下,在本技术实施例中,数据的发送方在生成所述报文之后,还可确定所述报文主体的偏移地址。
103.步骤s13、传输所述报文主体的偏移地址和所述报文。
104.在一种可行的设计中,所述报文和所述报文主体的偏移地址可为两个独立的数据包。或者,在另一种可行的设计中,所述报文主体的偏移地址可存放在所述报文中。
105.其中,数据的接收方可接收所述报文和所述报文主体的偏移地址。并进一步的,所述数据的接收方可根据所述报文主体的偏移地址,确定所述报文中的目标数据,从而获取所述目标数据,实现数据传输。
106.通过步骤s11至步骤s13的操作,数据的发送方可生成请求所对应的报文,所述报文的报文主体包括所述目标数据,确定所述报文主体的偏移地址,并且可将所述报文和所述报文主体的偏移地址发送至数据的接收方。这种情况下,所述数据的接收方可确定报文主体的偏移地址,进而确定所述报文主体中包括的目标数据,从而获取自身所需的目标数据,满足数据传输的需求。
107.这种情况下,即使数据的发送方和接收方安装不同的操作系统,通过本技术实施例提供的方案,也可实现数据的发送方和接收方之间的数据传输,而不需要为终端设备重写网口驱动,从而提高了数据传输的效率。
108.本技术实施例的方案可应用于多种应用场景。其中,所述数据的发送方和所述数
据的接收方可应用相同的操作系统,也可应用不同的操作系统。
109.示例性的,在其中一个应用场景中,所述数据的发送方可应用linux操作系统,所述数据的接收方应用实时操作系统;在另一个示例中,所述数据的发送方可应用实时操作系统,所述数据的接收方应用linux操作系统。
110.当然,所述数据的发送方和所述数据的接收方还可应用其他的操作系统,本技术实施例对此不做限定。
111.进一步的,在本技术实施例提供的方法中,所述报文主体的偏移地址存放在所述报文的控制字段中。
112.通常情况下,所述报文包括报头以及报文主体。在本技术实施例提供的方案中,对报文进一步进行扩展,在所述报文中扩展了控制字段,并将所述报文主体的偏移地址存放在所述报文的控制字段中。也就是说,本技术实施例中,进行数据传输的报文包括:报头、控制字段和报文主体,并且,所述报文主体中包括目标数据,所述控制字段中包括所述报文主体的偏移地址。
113.其中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段。在本技术实施例中,所述数据缓冲段用于存放所述目标数据。
114.另外,所述头部缓冲段可用于存储协议指针等信息,所述尾部缓冲段可作为保留字段。
115.进一步的,所述报文主体还可包括缓冲段的长度,所述缓冲段的长度为所述头部缓冲段、数据缓冲段和尾部缓冲段的长度之和。通常情况下,所述缓冲段的长度可位于所述头部缓冲段、数据缓冲段和尾部缓冲段的后方。
116.这种情况下,所述报文主体的偏移地址包括:所述头部缓冲段的偏移地址、所述数据缓冲段的偏移地址和所述尾部缓冲段的偏移地址。
117.也就是说,所述报文的控制字段中存放有所述头部缓冲段的偏移地址、所述数据缓冲段的偏移地址和所述尾部缓冲段的偏移地址。
118.进一步的,所述控制字段中还可包括:所述头部缓冲段的长度、所述数据缓冲段的长度和所述尾部缓冲段的长度。
119.其中,所述头部缓冲段的长度这一字段通常用于存放所述报文主体中的头部缓冲段的长度,所述数据缓冲段的长度这一字段通常用于存放所述报文主体中的数据缓冲段的长度,所述尾部缓冲段的长度这一字段通常用于存放所述报文主体中的尾部缓冲段的长度。
120.这种情况下,通过所述控制字段,可确定所述报文的报文主体中包括的所述目标数据。
121.另外,所述控制字段通常位于所述报文的报头和报文主体之间。当然,所述控制字段也可位于其他位置,本技术实施例不作限定。
122.数据的发送方在生成包含目标数据的报文之后,该报文往往会通过所述发送方的协议层,然后再传递至数据的接收方。其中,该报文在发送方的协议层间传递的过程中,协议层可能会在报文中添加信息,例如,报文传递至发送方的协议层时,所述协议层中的数据链路层可能会在报文中添加mac地址信息。
123.这种情况下,所述报文在发送方的协议层传递时,需要添加的信息位于所述报文
主体中的头部缓冲段中。其中,如果所述报文在发送方的协议层的各层传递时,各层需要添加不同的协议层信息,则各层需要添加的不同的协议层信息均可添加至所述头部缓冲段中。
124.另外,所述数据的发送方在传递该报文的过程中,还可能在报文中添加其他信息,这种情况下,需要添加的其他信息也可添加在所述头部缓冲段中。
125.参见图2所示的现有技术的pbuf数据结构,可知在现有技术的pbuf数据结构只包括报文首部和报文主体,其中报文首部为next字段,而报文主体包括payload字段、tot_len字段、len字段、ref字段、flags字段、type字段和data字段。
126.报文在数据的发送方的传递过程中,有时需要添加信息。例如,报文在数据的发送方的协议层传递时,通常需要添加信息。在现有的技术中,如果应用pbuf数据结构进行数据传输,每次需要在报文中添加信息时,通常重新分配内存,并对该报文进行拷贝,在拷贝后的报文添加协议层需要添加的信息,获取新的报文,并通过重新分配的内存存储所述新的报文,然后再向数据的接收方传输所述新的报文。
127.也就是说,现有技术通过pbuf数据结构进行数据传输时,需要重新分配内存以及对报文进行拷贝,造成内存资源和时间资源的耗费。
128.而在本技术实施例提供的方案中,将所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中,这种情况下,不仅可以在包含目标数据的报文中添加所述需要添加的信息,并且无需对报文进行拷贝,以及无需分配新的内存,减少了内存资源和时间资源的浪费,进一步提高了数据传输的效率。
129.如果所述数据的发送方还需要在报文中添加其他信息,也可将所述其他信息添加至所述报文主体中的头部缓冲段中,以便进一步减少内存资源和时间资源的浪费。
130.另外,所述报文在发送方的协议层传递时,需要添加的信息也可添加至所述报文主体中的尾部缓冲段中,或者,所述数据的发送方还需在报文中添加的其他信息,也可添加至所述报文主体中的尾部缓冲段中,本技术实施例对此不作限定。
131.通过本技术实施例提供的方案进行数据传输时,可应用本技术实施例所提供的报文。为了明确本技术实施例提供的报文的结构,提供图5。
132.参见图5,所述报文包括:报头、控制字段(即bufffield字段)和报文主体。
133.其中,如果通过链表链接多个报文,所述报头可加载双向链表信息,则该报头可称为dlist字段。
134.所述控制字段包括报文主体的偏移地址,所述报文主体的偏移地址包括:所述头部缓冲段的偏移地址(即head_offset字段)、所述数据缓冲段的偏移地址(即data_offset字段)和所述尾部缓冲段的偏移地址(即tail_offset字段)。
135.进一步的,所述控制字段还包括:所述头部缓冲段的长度(即head_offset字段后的len字段)、所述数据缓冲段的长度(即data_offset字段后的len字段)和所述头部缓冲段的长度(即tail_offset字段后的len字段)。
136.所述报文主体包括:头部缓冲段(即mem字段中的head_buffer字段)、数据缓冲段(即mem字段中的data_buffer字段)和尾部缓冲段(即mem字段中的tail_buffer字段)。
137.另外,所述报文主体还可包括缓冲段的长度(即mem字段后的len字段)。
138.与现有技术中的pbuf数据结构相比,本技术实施例提供的报文增加额外的控制字
段,该额外的控制字段用于记录头部缓冲、数据缓冲和尾部缓冲的偏移位置和长度。即使数据发送方和数据接收方应用不同的操作系统,在通过本技术实施例提供的报文进行数据传输时,二者仍可基于所述控制字段,确定所述报文中包括的目标数据,实现数据的传输。
139.进一步的,通过本技术实施例提供的方案进行数据传输,无需对报文进行拷贝,以及无需重新分配内存,可实现零拷贝的数据传输,减少了内存资源和时间资源的耗费。
140.相应的,本技术实施例提供一种数据传输方法,该方法应用于数据的接收方。参见图6所示的工作流程示意图,所述数据传输方法包括以下步骤:
141.步骤s21、发送针对目标数据的请求。
142.这种情况下,所述数据的发送方可接收所述针对目标数据的请求,并生成相应的报文,所述报文的报文主体包括所述目标数据,然后向所述数据的发送方传输所述报文和所述报文主体的偏移地址。
143.步骤s22、接收所述请求对应的报文和所述报文的报文主体的偏移地址,所述报文的报文主体包括所述目标数据。
144.步骤s23、根据所述报文的报文主体的偏移地址,确定所述报文中的目标数据。
145.本技术实施例中,所述数据的接收方与所述数据的发送方可应用相同的数据结构,实现数据传输,并且无需重写网口驱动,简化了数据传输的过程,提高了数据传输的效率。
146.在一种可行的实现方式中,所述报文主体的偏移地址存放在所述报文的控制字段中。也就是说,本技术实施例提供的方案中,在报文中扩展了一个控制字段,通过该控制字段存放报文主体的偏移地址,以便所述数据的接收方通过该偏移地址,获取所述目标数据。
147.另外,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中。
148.这种情况下,本技术实施例提供的方法还包括:通过所述报文主体的头部缓冲段,确定所述报文在发送方的协议层传递时添加的信息。
149.在本技术实施例提供的方案中,通过所述控制字段,所述数据的接收方可确定所述报文主体中的头部缓冲段,并通过读取所述头部缓冲段,确定所述报文在发送方的协议层传递时所添加的信息。
150.示例性的,如果所述报文主体中包括数据的发送方所添加的mac地址,则可通过读取所述头部缓冲段,获取所述mac地址。
151.当然,所述报文主体中的头部缓冲段中,还可添加其他信息,这种情况下,通过读取所述头部缓冲段,所述数据的接收方可获取所述其他信息。
152.另外,数据的发送方也可在所述报文主体的尾部缓冲段添加信息,这种情况下,通过所述控制字段,所述数据的接收方可确定所述报文主体中的尾部缓冲段,并通过读取所述尾部缓冲段,确定所述尾部缓冲段中添加的信息。
153.这种情况下,不仅可以在包含目标数据的报文中添加所述需要添加的信息,并且无需对报文进行拷贝,以及无需分配新的内存,减少了内存资源和时间资源的浪费,进一步提高了数据传输的效率。
154.下述为本技术的装置实施例,可以用于执行本技术的方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术的方法实施例。
155.作为对上述各实施例的实现,本技术实施例公开一种数据传输装置。参见图7所示的结构示意图,所述数据传输装置包括:处理器1110和收发接口1120。
156.其中,所述收发接口1120用于接收到针对目标数据的请求;
157.所述处理器1110用于在接收到针对目标数据的请求之后,生成报文,所述报文的报文主体包括所述目标数据,并确定所述报文主体的偏移地址
158.所述收发接口1120还用于,传输所述报文主体的偏移地址和所述报文。
159.其中,在本技术实施例提供的方案中,所述报文主体的偏移地址存放在所述报文的控制字段中。
160.另外,在本技术实施例提供的方案中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;
161.所述数据缓冲段用于存放所述目标数据;
162.所述报文主体的偏移地址包括:所述头部缓冲段的偏移地址、所述数据缓冲段的偏移地址和所述尾部缓冲段的偏移地址。
163.进一步的,在本技术实施例提供的方案中,所述控制字段还包括:所述头部缓冲段的长度、所述数据缓冲段的长度和所述尾部缓冲段的长度;
164.所述控制字段位于所述报文的报头和报文主体之间。
165.在一种可行的设计中,本技术实施例提供的方案中,所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中。
166.作为对上述各实施例的实现,本技术实施例公开一种数据传输装置。其中,所述数据传输装置包括:处理器和收发接口。
167.处理器和收发接口;
168.所述收发接口用于发送针对目标数据的请求,并接收所述请求对应的报文和所述报文的报文主体的偏移地址,所述报文的报文主体包括所述目标数据;
169.所述处理器用于根据所述报文的报文主体的偏移地址,确定所述报文中的目标数据。
170.其中,在本技术实施例提供的方案中,所述报文主体的偏移地址存放在所述报文的控制字段中。
171.在一种可行的设计中,所述报文主体包括:头部缓冲段、数据缓冲段和尾部缓冲段;
172.所述报文在发送方的协议层传递时,需要添加的信息位于所述报文主体中的头部缓冲段中。
173.这种情况下,所述处理器还用于,通过所述报文主体的头部缓冲段,确定所述报文在发送方的协议层传递时添加的信息。
174.相应的,与上述的方法相对应的,本技术实施例还公开一种终端设备。参见图8所示的结构示意图,所述终端设备包括:
175.至少一个处理器1101和存储器,
176.其中,所述存储器,用于存储程序指令;
177.所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行图4对应的实施例中的全部或部分步骤。
178.进一步的,该终端设备还可以包括:收发器1102和总线1103,所述存储器包括随机存取存储器1104和只读存储器1105。
179.其中,处理器通过总线分别耦接收发器、随机存取存储器以及只读存储器。其中,当需要运行该终端设备时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导该终端设备进入正常运行状态。在该终端设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,从而使所述终端设备执行图4对应的实施例中的全部或部分步骤。
180.本发明实施例的装置可对应于上述图4所对应的实施例中的数据传输装置,并且,该装置中的处理器等可以实现图4所对应的实施例中的数据传输装置所具有的功能或者所实施的各种步骤和方法,为了简洁,在此不再赘述。
181.相应的,与上述的方法相对应的,本技术实施例还公开一种终端设备。所述终端设备包括:
182.至少一个处理器和存储器,
183.其中,所述存储器,用于存储程序指令;
184.所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行图6对应的实施例中的全部或部分步骤。
185.进一步的,该终端设备还可以包括:收发器和总线,所述存储器包括随机存取存储器和只读存储器。
186.其中,处理器通过总线分别耦接收发器、随机存取存储器以及只读存储器。其中,当需要运行该终端设备时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导该终端设备进入正常运行状态。在该终端设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,从而使所述终端设备执行图6对应的实施例中的全部或部分步骤。
187.本发明实施例的装置可对应于上述图6所对应的实施例中的数据传输装置,并且,该装置中的处理器等可以实现图6所对应的实施例中的数据传输装置所具有的功能或者所实施的各种步骤和方法,为了简洁,在此不再赘述。
188.相应的,在本技术实施例中,提供一种数据传输系统。所述数据传输系统包括至少两个终端设备。
189.其中一个终端设备包括至少一个处理器和存储器,并且,所述处理器通过调用并执行所述存储器中存储的程序指令,以使所述终端设备执行图4对应的实施例中的全部或部分步骤。
190.另外一个终端设备包括至少一个处理器和存储器,并且,所述处理器通过调用并执行所述存储器中存储的程序指令,以使所述终端设备执行图6对应的实施例中的全部或部分步骤。
191.在本技术实施例提供的系统中,这两个终端设备在进行数据传输时,可通过本技术实施例提供的报文,实现数据的传输。这种情况下,即使这两个终端设备的操作系统不同,也无需重写网口驱动,从而能够提高数据传输的效率。
192.具体实现中,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令。其中,设置在任意设备中计算机可读介质其在计算机上运行时,可实施包括
图4对应的实施例中的全部或部分步骤。所述计算机可读介质的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
193.具体实现中,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令。其中,设置在任意设备中计算机可读介质其在计算机上运行时,可实施包括图6对应的实施例中的全部或部分步骤。所述计算机可读介质的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
194.另外,本技术另一实施例还公开一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备可实施包括图4对应的实施例中的全部或部分步骤。
195.另外,本技术另一实施例还公开一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备可实施包括图6对应的实施例中的全部或部分步骤。
196.本技术实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信息处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信息处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信息处理器核,或任何其它类似的配置来实现。
197.本技术实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于ue中。可选地,处理器和存储媒介也可以设置于ue中的不同的部件中。
198.应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
199.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或
数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
200.本说明书的各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
201.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
202.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于本技术公开的道路约束确定装置的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
203.以上所述的本发明实施方式并不构成对本发明保护范围的限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1