CN114244917A - Data transmission method, device and system - Google Patents

Data transmission method, device and system Download PDF

Info

Publication number
CN114244917A
CN114244917A CN202111434173.0A CN202111434173A CN114244917A CN 114244917 A CN114244917 A CN 114244917A CN 202111434173 A CN202111434173 A CN 202111434173A CN 114244917 A CN114244917 A CN 114244917A
Authority
CN
China
Prior art keywords
message
data
offset address
data transmission
sender
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111434173.0A
Other languages
Chinese (zh)
Other versions
CN114244917B (en
Inventor
刘军朋
陈风
李�杰
冯永辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111434173.0A priority Critical patent/CN114244917B/en
Publication of CN114244917A publication Critical patent/CN114244917A/en
Application granted granted Critical
Publication of CN114244917B publication Critical patent/CN114244917B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The embodiment of the application provides a data transmission method, a data transmission device and a data transmission system. In the method, a sender of data generates a message after receiving a request aiming at target data, wherein a message main body of the message comprises the target data, then determines an offset address of the message main body, and transmits the offset address of the message main body and the message. And after receiving the offset address of the message body and the message, the data receiver can determine the target data included in the message. Even if different operating systems are installed on a data sender and a data receiver, the scheme provided by the embodiment of the application can realize data transmission between the data sender and the data receiver without rewriting a gateway driver for the terminal equipment, thereby improving the efficiency of data transmission.

Description

Data transmission method, device and system
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data transmission method, apparatus, and system.
Background
In order to meet the diversified requirements of users, the terminal device sometimes needs to perform data transmission with other terminal devices in the application process. The terminal device is usually provided with an operating system, the operating system includes a network interface driver for driving a network interface, and under the action of the network interface driver, the terminal device realizes data transmission with other terminal devices.
However, with the development of scientific technology, many types of operating systems are currently emerging. In some scenarios, two terminal devices that need to perform data transmission use different operating systems. In this case, in order to implement data transmission between the two terminal devices, it is often necessary to rewrite the portal driver for one of the terminal devices, which requires a lot of manpower and time, resulting in a complicated data transmission process and low data transmission efficiency.
Disclosure of Invention
In order to solve the problems that the data transmission process is complicated and the data transmission efficiency is low when data transmission is performed through the prior art, the embodiment of the application provides a data transmission method and a data transmission device.
In a first aspect, an embodiment of the present application discloses a data transmission method, including:
after receiving a request aiming at target data, generating a message, wherein a message body of the message comprises the target data;
determining an offset address of the message body;
and transmitting the offset address of the message body and the message.
Through the steps, even if different operating systems are installed on the data sender and the data receiver, data transmission between the data sender and the data receiver can be realized without rewriting the internet access driver for the terminal equipment, so that the data transmission efficiency is improved.
In an alternative design, the offset address of the message body is stored in a control field of the message.
In this case, the offset address of the packet body can be determined by reading the control field of the packet.
In an optional design, the message body includes: a head buffer section, a data buffer section and a tail buffer section;
the data buffer segment is used for storing the target data;
the offset address of the message body includes: an offset address of the head buffer segment, an offset address of the data buffer segment, and an offset address of the tail buffer segment.
In an alternative design, the control field further includes: the length of the head buffer segment, the length of the data buffer segment, and the length of the tail buffer segment;
the control field is located between a header and a body of the message.
In an alternative design, when the message is delivered at the protocol layer of the sender, the information to be added is located in a header buffer segment in the message body.
Because the information which needs to be added by the protocol layer of the data sender is positioned in the head buffer segment of the message main body, the message does not need to be repeatedly copied and the memory does not need to be allocated for the message again, thereby reducing the consumption of memory resources and time resources.
In a second aspect, an embodiment of the present application discloses a data transmission method, including:
sending a request for target data;
receiving a message corresponding to the request and an offset address of a message main body of the message, wherein the message main body of the message comprises the target data;
and determining target data in the message according to the offset address of the message body of the message.
In an alternative design, the offset address of the message body is stored in a control field of the message.
In an optional design, the message body includes: a head buffer section, a data buffer section and a tail buffer section;
when the message is transmitted in a protocol layer of a sender, the information to be added is positioned in a head buffer section in the message main body;
the method further comprises the following steps:
and determining the information added when the message is transmitted in the protocol layer of the sender through the head buffer segment of the message body.
In a third aspect, an embodiment of the present application discloses a data transmission apparatus, including:
a processor and a transceiver interface;
the receiving and sending interface is used for receiving a request aiming at target data;
the processor is used for generating a message after receiving a request aiming at target data, wherein the message body of the message comprises the target data, and determining the offset address of the message body
The receiving and sending interface is further configured to transmit the offset address of the message body and the message.
In an alternative design, the offset address of the message body is stored in a control field of the message.
In an optional design, the message body includes: a head buffer section, a data buffer section and a tail buffer section;
the data buffer segment is used for storing the target data;
the offset address of the message body includes: an offset address of the head buffer segment, an offset address of the data buffer segment, and an offset address of the tail buffer segment.
In an alternative design, the control field further includes: the length of the head buffer segment, the length of the data buffer segment, and the length of the tail buffer segment;
the control field is located between a header and a body of the message.
In an alternative design, when the message is delivered at the protocol layer of the sender, the information to be added is located in a header buffer segment in the message body.
In a fourth aspect, an embodiment of the present application discloses a data transmission apparatus, including:
a processor and a transceiver interface;
the receiving and sending interface is used for sending a request aiming at target data and receiving a message corresponding to the request and an offset address of a message main body of the message, wherein the message main body of the message comprises the target data;
the processor is used for determining target data in the message according to the offset address of the message body of the message.
In an alternative design, the offset address of the message body is stored in a control field of the message.
In an optional design, the message body includes: a head buffer section, a data buffer section and a tail buffer section;
when the message is transmitted in a protocol layer of a sender, the information to be added is positioned in a head buffer section in the message main body;
the processor is further configured to determine, through the header buffer segment of the packet body, information added when the packet is transferred at a protocol layer of a sender.
In a fifth aspect, an embodiment of the present application discloses a terminal device, including:
at least one processor and a memory, wherein the memory,
the memory to store program instructions;
the processor is configured to call and execute the program instructions stored in the memory, so that the terminal device executes the data transmission method according to the first aspect.
In a sixth aspect, an embodiment of the present application discloses a terminal device, including:
at least one processor and a memory, wherein the memory,
the memory to store program instructions;
the processor is configured to call and execute the program instructions stored in the memory, so as to enable the terminal device to execute the data transmission method according to the second aspect.
In a seventh aspect, an embodiment of the present application discloses a data transmission system, including:
a terminal device as claimed in the fifth aspect and a terminal device as claimed in the sixth aspect.
In a seventh aspect, an embodiment of the present application discloses a computer-readable storage medium, which stores instructions that, when executed on a computer, cause the computer to execute the data transmission method according to the first aspect.
In an eighth aspect, an embodiment of the present application discloses a computer-readable storage medium, wherein,
the computer-readable storage medium has stored therein instructions which, when run on a computer, cause the computer to perform the data transmission method according to the second aspect.
According to the scheme provided by the embodiment of the application, a sender of data can generate a message corresponding to a request, a message body of the message comprises the target data, the offset address of the message body is determined, and the message and the offset address of the message body can be sent to a receiver of the data. In this case, the data receiving party can determine the offset address of the message body, and further determine the target data included in the message body, thereby obtaining the target data required by itself and meeting the data transmission requirement.
In this case, even if the sending side and the receiving side of the data are provided with different operating systems, the scheme provided by the embodiment of the application can realize the data transmission between the sending side and the receiving side of the data without rewriting the gateway driver for the terminal equipment, thereby improving the efficiency of the data transmission.
Further, in the solution provided in this embodiment of the present application, when the packet is transmitted in a protocol layer of a sender, information to be added is located in a header buffer segment in the packet body, that is, the information to be added can be obtained through the header buffer segment. In this case, the information to be added may be added to the message including the target data, and the message does not need to be copied and a new memory does not need to be allocated, thereby reducing the waste of memory resources and time resources and further improving the efficiency of data transmission.
Drawings
FIG. 1 is a schematic diagram of a skb data structure;
FIG. 2 is a diagram illustrating the structure of a protocol layer;
FIG. 3 is a schematic diagram of a pbuf data structure;
fig. 4 is a schematic workflow diagram of a data transmission method disclosed in an embodiment of the present application;
fig. 5 is a schematic diagram of a data structure in a data transmission method disclosed in an embodiment of the present application;
fig. 6 is a schematic workflow diagram of another data transmission method disclosed in the embodiment of the present application;
fig. 7 is a schematic structural diagram of a data transmission device disclosed in an embodiment of the present application;
fig. 8 is a schematic structural diagram of a terminal device disclosed in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
The terminology used in the following examples is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the specification of this application and the appended claims, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, such as "one or more", unless the context clearly indicates otherwise. It should also be understood that in the following embodiments of the present application, "at least one", "one or more" means one, two or more. The term "and/or" is used to describe an association relationship that associates objects, meaning that three relationships may exist; for example, a and/or B, may represent: a alone, both A and B, and B alone, where A, B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
For clarity and conciseness of the following descriptions of the various embodiments, a brief introduction to the related art is first given:
in a computer, an operating system is important basic system software, and is a computer program that can be used to manage computer hardware and software resources. The operating system may include a plurality of drivers, wherein the plurality of drivers may include a socket driver for driving a socket.
The network port driver is the basis for communication between the operating system and the outside, that is, the terminal device often needs to perform data transmission with other terminal devices through its network port under the action of the network port driver. The network port driver of the terminal device is usually generated by an operating system of the terminal device based on corresponding protocol stack development.
In addition, there are currently many types of operating systems, such as a real-time operating system, a Linux operating system, and a UNIX operating system. Different operating systems can be installed in different terminal devices. The protocol stacks of different operating systems are often different, and the network port drivers are developed by the operating systems according to the protocol stacks, so that the network port drivers applied to terminal devices with different operating systems are often different when data transmission is performed.
At present, most of operating systems installed in terminal devices for data transmission are Linux operating systems, and these terminal devices perform data transmission based on a portal driver developed by a protocol stack of the Linux operating system. However, in some cases, the operating systems installed in the two terminal apparatuses that perform data transmission are different. If the operating systems of two terminal devices that need to perform data transmission are different, the network port drivers of different terminal devices are often incompatible.
For example, if terminal device a applies the Linux operating system and terminal device B applies the real-time operating system, the portal driver of terminal device a drives the Linux operating system-based protocol stack development and the portal driver of terminal device B drives the real-time operating system-based protocol stack development. When the terminal device A and the terminal device B carry out data transmission, the network port drivers applied by the terminal device A and the terminal device B are incompatible.
When terminal equipment transmits data under the drive of a network port driver, the data to be transmitted is usually contained in a message, and if the network port drivers of the two terminal equipment are different, the data structures of the messages of the two terminal equipment are usually different. That is, if the operating systems of two terminal devices are different, the data structures used by the two terminal devices for data transmission are often different.
For example, when the terminal device of the Linux operating system performs data transmission, the data structure of the packet may be a socket buffer (skb) data structure. The schematic diagram of the skb data structure can be shown in fig. 1.
Referring to fig. 1, the skb data structure includes a control portion (i.e., skb area in fig. 1) and a network data portion, which normally occupies a continuous piece of memory and is logically divided into three areas: a head reserved region (i.e., head room region), a data region (i.e., data region), and a tail reserved region (i.e., tail room region). The control part and the network data part are reserved with space, and the network data part comprises data to be transmitted by the terminal equipment.
In the data transmission process, after determining data to be transmitted, a sender of the data may generate a message containing the data, where the message often needs to pass through a protocol layer of the sender and then is transmitted to a receiver of the data. While protocol layers tend to be multi-layered structures. In one example, referring to the schematic diagram shown in fig. 2, the protocol layers may include seven layers of structures, respectively, a physical layer, a data link layer, a network layer, a transport layer, a session layer, a presentation layer, and an application layer. When a message is transferred between layers of a protocol layer, information often needs to be added to the message, for example, when the message is transferred to a data link layer, a media access control address (MAC) needs to be added to the message.
In addition, after receiving a message, a data receiving party often peels off information added by a protocol layer of the sending party, and then the protocol layer of the receiving party processes the peeled message to obtain data contained in the message.
That is, in the transmission process of data, it is often necessary for the sender of the data to add information to a message containing the data, and for the receiver of the data to strip the information in the message. In this case, if the skb data structure is applied by the terminal device, the information added by the protocol layer may be added to the reserved space of the packet, and the data to be stripped is determined from the reserved space.
In addition, the data structure of the terminal device application of the real-time operating system is a pbuf data structure. A schematic diagram of the pbuf data structure can be shown in fig. 3. Referring to FIG. 3, the pbuf data structure includes the following fields: a "next (i.e., next)" field, a "load (i.e., payload)" field, a "data length (i.e., tot _ len)" field, a "length (i.e., len)" field, an "index (i.e., ref)" field, a "flags (i.e., flags)" field, a "type (i.e., type)" field, and a "data (i.e., data)" field.
Wherein the next field is used to point to the next pbuf; the payload field is used to point to the start address of the actual payload data; the tot _ len field represents the sum of the current pbuf data plus all pbuf data after next; the len field indicates the data length of the current pbuf; the type field indicates the type of pbuf; the ref field indicates the number of times the pbuf was referenced; loading data needing to be transmitted in a data field; the flags field is used to load flag information.
Compared with fig. 1 and fig. 3, it can be determined that the data structure for data transmission is completely different between the terminal device of the real-time operating system and the terminal device of the Linux operating system.
If the data structures applied to the two terminal devices performing data transmission are different, the two terminal devices often cannot perform data transmission.
In order to solve the above problem, at present, usually when two terminal devices need to perform data transmission and operating systems of the two terminal devices are different, a portal driver is rewritten for one of the terminal devices so that the two terminal devices can perform data transmission by applying the same data structure.
For example, if two terminal devices that need to perform data transmission respectively apply a pbuf data structure and a skb data structure, currently, a portal driver is usually rewritten for one of the terminal devices, so that both the two terminal devices perform data transmission using the pbuf data structure or both the two terminal devices perform data transmission using the skb data structure.
However, rewriting the portal driver requires much time and labor, and is time-consuming and labor-consuming, thereby resulting in low efficiency of data transmission.
In order to clarify the aspects provided by the present application, the following description is made of various embodiments with reference to the accompanying drawings.
In order to solve the problem that in the prior art, when terminal devices of different operating systems perform data transmission, a portal driver needs to be rewritten, embodiments of the present application provide a data transmission method, apparatus, and system.
The embodiment of the application provides a data transmission method which can be applied to a data sender. Referring to a work flow diagram shown in fig. 4, a data transmission method provided in the embodiment of the present application includes the following steps:
step S11, after receiving the request for the target data, generating a message, where a message body of the message includes the target data.
When a receiver of data needs target data, a request for the target data may be transmitted to a sender of the data. And after receiving the request, the data sender generates a corresponding message. The message usually includes a message body, and the target data is stored in the message body, so that a receiver of the data can obtain the target data through the message.
And step S12, determining the offset address of the message body.
After a sender of data generates a message containing target data, the message often passes through a protocol layer of the sender and then is transmitted to a receiver of the data. In the process of transferring the message between the protocol layers of the sender, the protocol layers may add information to the message, for example, when the message is transferred to the protocol layer of the sender, the data link layer in the protocol layers may add MAC address information to the message.
In addition, during the process of transmitting the message, the sender of the data may add other information to the message, which is not limited in this embodiment.
In this case, in this embodiment of the present application, after the sender of data generates the message, the offset address of the message body may also be determined.
And step S13, transmitting the offset address of the message body and the message.
In one possible design, the offset addresses of the packet and the packet body may be two separate packets. Alternatively, in another possible design, the offset address of the message body may be stored in the message.
Wherein, the receiver of the data can receive the message and the offset address of the message body. Furthermore, the data receiver can determine the target data in the message according to the offset address of the message body, so as to obtain the target data and realize data transmission.
Through the operations of steps S11 to S13, a sender of data may generate a message corresponding to a request, a message body of the message includes the target data, determine an offset address of the message body, and may send the message and the offset address of the message body to a receiver of data. In this case, the data receiving party can determine the offset address of the message body, and further determine the target data included in the message body, thereby obtaining the target data required by itself and meeting the data transmission requirement.
In this case, even if the sending side and the receiving side of the data are provided with different operating systems, the scheme provided by the embodiment of the application can realize the data transmission between the sending side and the receiving side of the data without rewriting the gateway driver for the terminal equipment, thereby improving the efficiency of the data transmission.
The scheme of the embodiment of the application can be applied to various application scenes. The sender of the data and the receiver of the data can use the same operating system or different operating systems.
For example, in one application scenario, a Linux operating system may be applied to the sender of the data, and a real-time operating system is applied to the receiver of the data; in another example, the sender of the data may apply a real-time operating system and the recipient of the data applies a Linux operating system.
Of course, the data sender and the data receiver may also apply other operating systems, which is not limited in this embodiment of the present application.
Further, in the method provided in this embodiment of the present application, the offset address of the packet body is stored in the control field of the packet.
Typically, the message includes a header and a message body. In the solution provided in the embodiment of the present application, a packet is further extended, a control field is extended in the packet, and an offset address of the packet body is stored in the control field of the packet. That is to say, in the embodiment of the present application, the packet for performing data transmission includes: the message comprises a header, a control field and a message body, wherein the message body comprises target data, and the control field comprises an offset address of the message body.
Wherein, the message body includes: a head buffer section, a data buffer section, and a tail buffer section. In the embodiment of the present application, the data buffer segment is used for storing the target data.
In addition, the head buffer segment can be used for storing information such as a protocol pointer, and the tail buffer segment can be used as a reserved field.
Further, the packet body may further include a length of a buffer segment, and the length of the buffer segment is a sum of the lengths of the head buffer segment, the data buffer segment, and the tail buffer segment. Typically, the length of the buffer segment may be located behind the head, data and tail buffer segments.
In this case, the offset address of the packet body includes: an offset address of the head buffer segment, an offset address of the data buffer segment, and an offset address of the tail buffer segment.
That is, the offset address of the head buffer segment, the offset address of the data buffer segment, and the offset address of the tail buffer segment are stored in the control field of the packet.
Further, the control field may further include: a length of the head buffer segment, a length of the data buffer segment, and a length of the tail buffer segment.
The length of the head buffer is generally used for storing the length of the head buffer in the packet body, the length of the data buffer is generally used for storing the length of the data buffer in the packet body, and the length of the tail buffer is generally used for storing the length of the tail buffer in the packet body.
In this case, the target data included in the packet body of the packet may be determined through the control field.
In addition, the control field is typically located between the header and the body of the message. Of course, the control field may be located in other positions, and the embodiment of the present application is not limited.
After a sender of data generates a message containing target data, the message often passes through a protocol layer of the sender and then is transmitted to a receiver of the data. In the process of transferring the message between protocol layers of the sender, the protocol layers may add information to the message, for example, when the message is transferred to the protocol layers of the sender, a data link layer in the protocol layers may add MAC address information to the message.
In this case, when the message is delivered at the protocol layer of the sender, the information to be added is located in the header buffer segment in the message body. If different protocol layer information needs to be added to each layer when the message is transmitted in each layer of the protocol layer of the sender, the different protocol layer information that needs to be added to each layer can be added to the header buffer section.
In addition, the sender of the data may add other information to the message in the process of transferring the message, in this case, other information to be added may also be added to the header buffer segment.
Referring to the pbuf data structure of the prior art shown in fig. 2, it can be seen that the pbuf data structure of the prior art includes only a packet header and a packet body, where the packet header is a next field, and the packet body includes a payload field, a tot _ len field, a ref field, a flags field, a type field, and a data field.
In the process of transmitting the message at the data sender, information is sometimes required to be added. For example, messages are typically required to be added when they are passed at the protocol layer of the sender of the data. In the prior art, if a pbuf data structure is used for data transmission, when information needs to be added to a message each time, a memory is generally reallocated and the message is copied, information that needs to be added to a protocol layer is added to the copied message, a new message is obtained, the new message is stored in the reallocated memory, and then the new message is transmitted to a data receiving party.
That is, in the prior art, when data transmission is performed through the pbuf data structure, memory needs to be reallocated and messages need to be copied, which results in consumption of memory resources and time resources.
In the solution provided in this embodiment of the present application, when the packet is transmitted in the protocol layer of the sender, the information to be added is located in the header buffer section in the packet body, and in this case, the information to be added may be added to the packet including the target data, and the packet does not need to be copied and a new memory does not need to be allocated, so that waste of memory resources and time resources is reduced, and the efficiency of data transmission is further improved.
If the sender of the data needs to add other information in the message, the other information can also be added to the head buffer segment in the message body, so as to further reduce the waste of memory resources and time resources.
In addition, when the packet is transmitted in the protocol layer of the sender, the information that needs to be added may also be added to the tail buffer segment in the packet body, or the sender of the data also needs to add other information to the packet, and may also be added to the tail buffer segment in the packet body, which is not limited in this embodiment of the present application.
When the scheme provided by the embodiment of the application is used for data transmission, the message provided by the embodiment of the application can be applied. Fig. 5 is provided to clarify the structure of the packet provided in the embodiment of the present application.
Referring to fig. 5, the message includes: a header, a control field (i.e., a BuffField field), and a message body.
If a plurality of messages are linked through a linked list, and the header can load doubly linked list information, the header can be called a Dlist field.
The control field includes an offset address of the packet body, and the offset address of the packet body includes: the offset address of the head buffer segment (i.e., the head _ offset field), the offset address of the data buffer segment (i.e., the data _ offset field), and the offset address of the tail buffer segment (i.e., the tail _ offset field).
Further, the control field further includes: the length of the header buffer segment (i.e., the len field after the head _ offset field), the length of the data buffer segment (i.e., the len field after the data _ offset field), and the length of the header buffer segment (i.e., the len field after the tail _ offset field).
The message body comprises: a header buffer segment (i.e., the head _ buffer field in the MEM field), a data buffer segment (i.e., the data _ buffer field in the MEM field), and a tail buffer segment (i.e., the tail _ buffer field in the MEM field).
In addition, the message body may further include the length of the buffer (i.e., len field after MEM field).
Compared with the pbuf data structure in the prior art, the packet provided by the embodiment of the present application adds an additional control field for recording offset positions and lengths of a header buffer, a data buffer, and a trailer buffer. Even if different operating systems are applied to the data sending party and the data receiving party, when the data is transmitted through the message provided by the embodiment of the application, the data sending party and the data receiving party can still determine the target data included in the message based on the control field, so that the data transmission is realized.
Furthermore, by the scheme provided by the embodiment of the application, data transmission is carried out without copying the message and reallocating the memory, zero-copy data transmission can be realized, and the consumption of memory resources and time resources is reduced.
Correspondingly, the embodiment of the application provides a data transmission method, which is applied to a data receiver. Referring to the workflow diagram shown in fig. 6, the data transmission method includes the following steps:
step S21, a request for target data is sent.
In this case, the sender of the data may receive the request for the target data, generate a corresponding packet whose packet body includes the target data, and transmit the packet and the offset address of the packet body to the sender of the data.
Step S22, receiving the message corresponding to the request and the offset address of the message body of the message, where the message body of the message includes the target data.
Step S23, determining the target data in the message according to the offset address of the message body of the message.
In the embodiment of the application, the same data structure can be applied to the data receiving party and the data sending party to realize data transmission, and the network port drive does not need to be rewritten, so that the data transmission process is simplified, and the data transmission efficiency is improved.
In a possible implementation manner, the offset address of the message body is stored in the control field of the message. That is to say, in the scheme provided in the embodiment of the present application, a control field is extended in a packet, and an offset address of a packet body is stored through the control field, so that a receiver of the data obtains the target data through the offset address.
In addition, the message body includes: a head buffer section, a data buffer section and a tail buffer section; when the message is transmitted in the protocol layer of the sender, the information to be added is located in the header buffer section in the message body.
In this case, the method provided in the embodiment of the present application further includes: and determining the information added when the message is transmitted in the protocol layer of the sender through the head buffer segment of the message body.
In the solution provided in the embodiment of the present application, through the control field, the receiver of the data may determine a header buffer segment in the packet body, and determine information added when the packet is transmitted in a protocol layer of a sender by reading the header buffer segment.
Illustratively, if the message body includes a MAC address added by a sender of data, the MAC address may be obtained by reading the header buffer segment.
Of course, other information may also be added to the header buffer segment in the packet body, and in this case, by reading the header buffer segment, the receiver of the data may obtain the other information.
In addition, the sender of the data may also add information to the tail buffer segment of the packet body, in which case, through the control field, the receiver of the data may determine the tail buffer segment in the packet body, and determine the information added in the tail buffer segment by reading the tail buffer segment.
In this case, the information to be added may be added to the message including the target data, and the message does not need to be copied and a new memory does not need to be allocated, thereby reducing the waste of memory resources and time resources and further improving the efficiency of data transmission.
The following are embodiments of an apparatus of the present application that may be used to perform embodiments of the methods of the present application. For details which are not disclosed in the device embodiments of the present application, reference is made to the method embodiments of the present application.
As an implementation of the foregoing embodiments, an embodiment of the present application discloses a data transmission device. Referring to the schematic structural diagram shown in fig. 7, the data transmission apparatus includes: a processor 1110 and a transceiver interface 1120.
Wherein, the transceiving interface 1120 is configured to receive a request for target data;
the processor 1110 is configured to generate a packet after receiving a request for target data, where a packet body of the packet includes the target data, and determine an offset address of the packet body
The transceiving interface 1120 is further configured to transmit the offset address of the packet body and the packet.
In the solution provided in the embodiment of the present application, the offset address of the packet body is stored in the control field of the packet.
In addition, in the solution provided in the embodiment of the present application, the message body includes: a head buffer section, a data buffer section and a tail buffer section;
the data buffer segment is used for storing the target data;
the offset address of the message body includes: an offset address of the head buffer segment, an offset address of the data buffer segment, and an offset address of the tail buffer segment.
Further, in the solution provided in the embodiment of the present application, the control field further includes: the length of the head buffer segment, the length of the data buffer segment, and the length of the tail buffer segment;
the control field is located between a header and a body of the message.
In a feasible design, in the solution provided by the embodiment of the present application, when the message is delivered at a protocol layer of a sender, information to be added is located in a header buffer segment in the message body.
As an implementation of the foregoing embodiments, an embodiment of the present application discloses a data transmission device. Wherein the data transmission device comprises: a processor and a transceiving interface.
A processor and a transceiver interface;
the receiving and sending interface is used for sending a request aiming at target data and receiving a message corresponding to the request and an offset address of a message main body of the message, wherein the message main body of the message comprises the target data;
the processor is used for determining target data in the message according to the offset address of the message body of the message.
In the solution provided in the embodiment of the present application, the offset address of the packet body is stored in the control field of the packet.
In one possible design, the message body includes: a head buffer section, a data buffer section and a tail buffer section;
when the message is transmitted in the protocol layer of the sender, the information to be added is located in the header buffer section in the message body.
In this case, the processor is further configured to determine, through the header buffer segment of the message body, information to be added when the message is delivered at a protocol layer of a sender.
Correspondingly, corresponding to the method, the embodiment of the application also discloses the terminal equipment. Referring to the schematic structural diagram shown in fig. 8, the terminal device includes:
at least one processor 1101 and a memory,
wherein the memory is to store program instructions;
the processor is configured to call and execute the program instructions stored in the memory, so that the terminal device executes all or part of the steps in the embodiment corresponding to fig. 4.
Further, the terminal device may further include: a transceiver 1102 and a bus 1103 that includes a random access memory 1104 and a read only memory 1105.
The processor is coupled to the transceiver, the random access memory and the read only memory through the bus respectively. When the terminal equipment needs to be operated, the terminal equipment is guided to enter a normal operation state by starting a basic input and output system solidified in a read only memory or a bootloader guiding system in an embedded system. After the terminal device enters a normal operation state, an application program and an operating system are operated in the random access memory, so that the terminal device executes all or part of the steps in the embodiment corresponding to fig. 4.
The apparatus in the embodiment of the present invention may correspond to the data transmission apparatus in the embodiment corresponding to fig. 4, and a processor in the apparatus may implement the functions of the data transmission apparatus in the embodiment corresponding to fig. 4 or various steps and methods implemented, which are not described herein again for brevity.
Correspondingly, corresponding to the method, the embodiment of the application also discloses the terminal equipment. The terminal device includes:
at least one processor and a memory, wherein the memory,
wherein the memory is to store program instructions;
the processor is configured to call and execute the program instructions stored in the memory, so that the terminal device executes all or part of the steps in the embodiment corresponding to fig. 6.
Further, the terminal device may further include: a transceiver and a bus, the memory including random access memory and read only memory.
The processor is coupled to the transceiver, the random access memory and the read only memory through the bus respectively. When the terminal equipment needs to be operated, the terminal equipment is guided to enter a normal operation state by starting a basic input and output system solidified in a read only memory or a bootloader guiding system in an embedded system. After the terminal device enters a normal operation state, an application program and an operating system are operated in the random access memory, so that the terminal device executes all or part of the steps in the embodiment corresponding to fig. 6.
The apparatus in the embodiment of the present invention may correspond to the data transmission apparatus in the embodiment corresponding to fig. 6, and a processor in the apparatus may implement the functions of the data transmission apparatus in the embodiment corresponding to fig. 6 or various steps and methods implemented, which are not described herein again for brevity.
Correspondingly, in the embodiment of the application, a data transmission system is provided. The data transmission system comprises at least two terminal devices.
One of the terminal devices includes at least one processor and a memory, and the processor calls and executes program instructions stored in the memory to make the terminal device execute all or part of the steps in the embodiment corresponding to fig. 4.
Another terminal device includes at least one processor and a memory, and the processor calls and executes program instructions stored in the memory to make the terminal device execute all or part of the steps in the embodiment corresponding to fig. 6.
In the system provided by the embodiment of the present application, when the two terminal devices perform data transmission, data transmission can be achieved through the message provided by the embodiment of the present application. In this case, even if the operating systems of the two terminal devices are different, it is not necessary to rewrite the portal driver, and the efficiency of data transmission can be improved.
In particular implementations, embodiments of the present application also provide a computer-readable storage medium, which includes instructions. Wherein a computer readable medium disposed in any apparatus, which when executed on a computer, may perform all or a portion of the steps of the embodiment corresponding to fig. 4. The storage medium of the computer readable medium may be a magnetic disk, an optical disk, a read-only memory (ROM) or a Random Access Memory (RAM).
In particular implementations, embodiments of the present application also provide a computer-readable storage medium, which includes instructions. Wherein a computer readable medium disposed in any apparatus, which when executed on a computer, may perform all or a portion of the steps of the corresponding embodiment of fig. 6. The storage medium of the computer readable medium may be a magnetic disk, an optical disk, a read-only memory (ROM) or a Random Access Memory (RAM).
In addition, another embodiment of the present application also discloses a computer program product containing instructions, which when run on an electronic device, enables the electronic device to implement all or part of the steps in the embodiment corresponding to fig. 4.
In addition, another embodiment of the present application also discloses a computer program product containing instructions, which when run on an electronic device, enables the electronic device to implement all or part of the steps in the corresponding embodiment of fig. 6.
The various illustrative logical units and circuits described in this application may be implemented or operated upon by design of a general purpose processor, a digital information processor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a digital information processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital information processor core, or any other similar configuration.
The steps of a method or algorithm described in the embodiments herein may be embodied directly in hardware, in a software element executed by a processor, or in a combination of the two. The software cells may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. For example, a storage medium may be coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC, which may be located in a UE. In the alternative, the processor and the storage medium may reside in different components in the UE.
It should be understood that, in the various embodiments of the present application, the size of the serial number of each process does not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
The same and similar parts among the various embodiments of the present specification may be referred to, and each embodiment is described with emphasis on differences from the other embodiments. In particular, as to the apparatus and system embodiments, since they are substantially similar to the method embodiments, the description is relatively simple and reference may be made to the description of the method embodiments in relevant places.
Those skilled in the art will readily appreciate that the techniques of the embodiments of the present invention may be implemented as software plus a required general purpose hardware platform. Based on such understanding, the technical solutions in the embodiments of the present invention may be essentially or partially implemented in the form of a software product, which may be stored in a storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments or some parts of the embodiments.
The same and similar parts in the various embodiments in this specification may be referred to each other. In particular, for the embodiments of the road constraint determining apparatus disclosed in the present application, since they are substantially similar to the method embodiments, the description is simple, and the relevant points can be referred to the description in the method embodiments.
The above-described embodiments of the present invention should not be construed as limiting the scope of the present invention.

Claims (17)

1. A method of data transmission, comprising:
after receiving a request aiming at target data, generating a message, wherein a message body of the message comprises the target data;
determining an offset address of the message body, wherein the offset address of the message body is stored in a control field of the message;
and transmitting the offset address of the message body and the message.
2. The method of claim 1,
the message body comprises: a head buffer section, a data buffer section and a tail buffer section;
the data buffer segment is used for storing the target data;
the offset address of the message body includes: an offset address of the head buffer segment, an offset address of the data buffer segment, and an offset address of the tail buffer segment.
3. The method of claim 2,
the control field further includes: the length of the head buffer segment, the length of the data buffer segment, and the length of the tail buffer segment;
the control field is located between a header and a body of the message.
4. The method according to claim 2 or 3,
when the message is transmitted in the protocol layer of the sender, the information to be added is located in the header buffer section in the message body.
5. A method of data transmission, comprising:
sending a request for target data;
receiving a message corresponding to the request and an offset address of a message main body of the message, wherein the message main body of the message comprises the target data, and the offset address of the message main body is stored in a control field of the message;
and determining target data in the message according to the offset address of the message body of the message.
6. The method of claim 5,
the message body comprises: a head buffer section, a data buffer section and a tail buffer section;
when the message is transmitted in a protocol layer of a sender, the information to be added is positioned in a head buffer section in the message main body;
the method further comprises the following steps:
and determining the information added when the message is transmitted in the protocol layer of the sender through the head buffer segment of the message body.
7. A data transmission apparatus, comprising:
a processor and a transceiver interface;
the receiving and sending interface is used for receiving a request aiming at target data;
the processor is used for generating a message after receiving a request aiming at target data, wherein a message body of the message comprises the target data, and determining an offset address of the message body, and the offset address of the message body is stored in a control field of the message;
the receiving and sending interface is further configured to transmit the offset address of the message body and the message.
8. The apparatus of claim 7,
the message body comprises: a head buffer section, a data buffer section and a tail buffer section;
the data buffer segment is used for storing the target data;
the offset address of the message body includes: an offset address of the head buffer segment, an offset address of the data buffer segment, and an offset address of the tail buffer segment.
9. The apparatus of claim 8,
the control field further includes: the length of the head buffer segment, the length of the data buffer segment, and the length of the tail buffer segment;
the control field is located between a header and a body of the message.
10. The apparatus according to claim 8 or 9,
when the message is transmitted in the protocol layer of the sender, the information to be added is located in the header buffer section in the message body.
11. A data transmission apparatus, comprising:
a processor and a transceiver interface;
the receiving and sending interface is used for sending a request aiming at target data and receiving a message corresponding to the request and an offset address of a message main body of the message, wherein the message main body of the message comprises the target data, and the offset address of the message main body is stored in a control field of the message;
the processor is used for determining target data in the message according to the offset address of the message body of the message.
12. The apparatus of claim 11,
the message body comprises: a head buffer section, a data buffer section and a tail buffer section;
when the message is transmitted in a protocol layer of a sender, the information to be added is positioned in a head buffer section in the message main body;
the processor is further configured to determine, through the header buffer segment of the packet body, information added when the packet is transferred at a protocol layer of a sender.
13. A terminal device, comprising:
at least one processor and a memory, wherein the memory,
the memory to store program instructions;
the processor is configured to call and execute the program instructions stored in the memory, so as to cause the terminal device to execute the data transmission method according to any one of claims 1 to 4.
14. A terminal device, comprising:
at least one processor and a memory, wherein the memory,
the memory to store program instructions;
the processor is configured to call and execute the program instructions stored in the memory to cause the terminal device to execute the data transmission method according to any one of claims 5 to 6.
15. A data transmission system, comprising:
a terminal device according to claim 13, and a terminal device according to claim 14.
16. A computer-readable storage medium, characterized in that,
the computer-readable storage medium has stored therein instructions which, when run on a computer, cause the computer to execute the data transmission method according to any one of claims 1-4.
17. A computer-readable storage medium, characterized in that,
the computer-readable storage medium has stored therein instructions which, when run on a computer, cause the computer to execute the data transmission method according to any one of claims 5-6.
CN202111434173.0A 2020-08-31 2021-04-30 Data transmission method, device and system Active CN114244917B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111434173.0A CN114244917B (en) 2020-08-31 2021-04-30 Data transmission method, device and system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010894036 2020-08-31
CN2020108940364 2020-08-31
CN202110481372.0A CN114189569B (en) 2020-08-31 2021-04-30 Data transmission method, device and system
CN202111434173.0A CN114244917B (en) 2020-08-31 2021-04-30 Data transmission method, device and system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202110481372.0A Division CN114189569B (en) 2020-08-31 2021-04-30 Data transmission method, device and system

Publications (2)

Publication Number Publication Date
CN114244917A true CN114244917A (en) 2022-03-25
CN114244917B CN114244917B (en) 2023-06-02

Family

ID=80539276

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111434173.0A Active CN114244917B (en) 2020-08-31 2021-04-30 Data transmission method, device and system
CN202110481372.0A Active CN114189569B (en) 2020-08-31 2021-04-30 Data transmission method, device and system

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110481372.0A Active CN114189569B (en) 2020-08-31 2021-04-30 Data transmission method, device and system

Country Status (1)

Country Link
CN (2) CN114244917B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189569A (en) * 2020-08-31 2022-03-15 华为技术有限公司 Data transmission method, device and system
CN115988108A (en) * 2023-03-20 2023-04-18 浪潮电子信息产业股份有限公司 Data packet processing method, system, storage medium and electronic device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101135980A (en) * 2006-08-29 2008-03-05 飞塔信息科技(北京)有限公司 Device and method for realizing zero copy based on Linux operating system
CN104184645A (en) * 2013-05-27 2014-12-03 华为技术有限公司 Method, equipment and system for generating operation request
CN105656805A (en) * 2016-01-20 2016-06-08 中国人民解放军国防科学技术大学 Packet receiving method and device based on control block predistribution
CN106330741A (en) * 2015-06-15 2017-01-11 深圳市中兴微电子技术有限公司 Message transmission method and device
CN107302499A (en) * 2017-06-26 2017-10-27 北京赛特斯信息科技股份有限公司 The NFV protocol massages receiving/transmission methods of packet buffer need not be copied
CN108055266A (en) * 2017-12-15 2018-05-18 南京邮电大学盐城大数据研究院有限公司 A kind of method and system of 8583 data message of parsing based on position offset
CN108243118A (en) * 2016-12-27 2018-07-03 华为技术有限公司 The method and physical host to E-Packet
CN109257300A (en) * 2018-09-10 2019-01-22 湖北微源卓越科技有限公司 A kind of storage method and device of network packet
CN110597557A (en) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 System information acquisition method, terminal and medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402487B (en) * 2011-11-15 2014-10-22 北京天融信科技股份有限公司 Zero copy message reception method and system
CN106302238A (en) * 2015-05-13 2017-01-04 深圳市中兴微电子技术有限公司 A kind of queue management method and device
CN106385379A (en) * 2016-09-14 2017-02-08 杭州迪普科技有限公司 Message caching method and device
CN110912859B (en) * 2018-09-17 2021-12-14 华为技术有限公司 Method for sending message, method for receiving message and network equipment
CN110381054B (en) * 2019-07-16 2022-02-22 广东省新一代通信与网络创新研究院 Message analysis method, device, equipment and computer readable storage medium
CN114244917B (en) * 2020-08-31 2023-06-02 华为技术有限公司 Data transmission method, device and system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101135980A (en) * 2006-08-29 2008-03-05 飞塔信息科技(北京)有限公司 Device and method for realizing zero copy based on Linux operating system
CN104184645A (en) * 2013-05-27 2014-12-03 华为技术有限公司 Method, equipment and system for generating operation request
CN106330741A (en) * 2015-06-15 2017-01-11 深圳市中兴微电子技术有限公司 Message transmission method and device
CN105656805A (en) * 2016-01-20 2016-06-08 中国人民解放军国防科学技术大学 Packet receiving method and device based on control block predistribution
CN108243118A (en) * 2016-12-27 2018-07-03 华为技术有限公司 The method and physical host to E-Packet
CN107302499A (en) * 2017-06-26 2017-10-27 北京赛特斯信息科技股份有限公司 The NFV protocol massages receiving/transmission methods of packet buffer need not be copied
CN108055266A (en) * 2017-12-15 2018-05-18 南京邮电大学盐城大数据研究院有限公司 A kind of method and system of 8583 data message of parsing based on position offset
CN109257300A (en) * 2018-09-10 2019-01-22 湖北微源卓越科技有限公司 A kind of storage method and device of network packet
CN110597557A (en) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 System information acquisition method, terminal and medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许大琴等: "无线自组网路由协议仿真", 《微计算机信息》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189569A (en) * 2020-08-31 2022-03-15 华为技术有限公司 Data transmission method, device and system
CN115988108A (en) * 2023-03-20 2023-04-18 浪潮电子信息产业股份有限公司 Data packet processing method, system, storage medium and electronic device

Also Published As

Publication number Publication date
CN114189569A (en) 2022-03-15
CN114244917B (en) 2023-06-02
CN114189569B (en) 2024-03-26

Similar Documents

Publication Publication Date Title
CN114244917A (en) Data transmission method, device and system
EP2266265B1 (en) System and method for memory allocation in embedded or wireless communication systems
CN110730478B (en) Slice association method, device, end-to-end slice organizer and storage medium
CN112035216B (en) Communication method for Kubernetes cluster network and OpenStack network
CN113542386B (en) Service processing method and related equipment
CN113132202B (en) Message transmission method and related equipment
WO2023124945A1 (en) Multi-party data processing method and system, electronic apparatus and storage medium
CN114465956B (en) Method and device for limiting flow rate of virtual machine, electronic equipment and storage medium
CN116049085A (en) Data processing system and method
US7698439B2 (en) Application programming interface for efficient multicasting of communications
CN112787828B (en) Application flow statistical method and device and mobile electronic device
WO2021120754A1 (en) Instruction writing method and apparatus, and network device
CN115955437B (en) Data transmission method, device, equipment and medium
CN115176453A (en) Message caching method, memory distributor and message forwarding system
CN109547318B (en) VPN data message processing method and device and electronic equipment
CN113630341B (en) Data information processing method and server
CN111988154B (en) Method and device for accelerating network transmission and computer readable storage medium
WO2020220987A1 (en) Data packet transmission method and apparatus, data packet transmission management method and apparatus, data forwarding device, and storage medium
CN115904488A (en) Data transmission method, system, device and equipment
CN113590184A (en) Configuration processing method, network equipment and storage medium
CN115022167B (en) Method and system for service flow control of home gateway
US11909624B2 (en) Communication method, apparatus, device, system, and computer-readable storage medium
CN113886294A (en) RDMA (remote direct memory Access) -based low-delay data transmission method and related device
CN113965627A (en) Data sending method, low-delay data receiving method and related device
CN116204278A (en) Transaction processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant