CN114945048A - Network redundant data transmission method and device, storage medium and electronic equipment - Google Patents

Network redundant data transmission method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN114945048A
CN114945048A CN202210549222.3A CN202210549222A CN114945048A CN 114945048 A CN114945048 A CN 114945048A CN 202210549222 A CN202210549222 A CN 202210549222A CN 114945048 A CN114945048 A CN 114945048A
Authority
CN
China
Prior art keywords
data
network
link
redundant
sending
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.)
Pending
Application number
CN202210549222.3A
Other languages
Chinese (zh)
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.)
Beijing Linx Technology Co ltd
State Grid Jiangsu Electric Power Co Ltd
Original Assignee
Beijing Linx Technology Co ltd
State Grid Jiangsu Electric Power 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 Beijing Linx Technology Co ltd, State Grid Jiangsu Electric Power Co Ltd filed Critical Beijing Linx Technology Co ltd
Priority to CN202210549222.3A priority Critical patent/CN114945048A/en
Publication of CN114945048A publication Critical patent/CN114945048A/en
Pending legal-status Critical Current

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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications

Abstract

The invention discloses a network redundant data transmission method, a device, a storage medium and electronic equipment, wherein the method comprises the following steps: constructing an intermediate layer between a network programming API and a network protocol stack; and performing data caching, data sending, data retransmission, data receiving check and deduplication, data packet receiving out-of-order processing, redundant link fault detection and link selection on the intermediate layer. The invention is realized in the network 4 layer, namely the application layer, has no modification to the data packet, and is completely compatible with the existing network equipment; the method can be realized in a user mode without being realized in a kernel mode, so that good compatibility of an operating system is achieved; the method can support multiple IP redundant independent networks and can sense the condition of the link state of the end to end.

Description

Network redundant data transmission method and device, storage medium and electronic equipment
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for transmitting network redundant data, a storage medium, and an electronic device.
Background
At present, the network redundancy transmission method mainly includes the following steps: BONDING mode, thinking PRIP mode and PRP mode under Linux.
(1) BONDING mode under Linux. The BONDING mode includes different modes in 6, which are implemented in two layers, namely a network link layer. The method has the defects that three layers cannot be crossed, the method is related to switch hardware, the on-off condition of the whole communication link at two communication ends cannot be sensed, and the method is realized in a Linux kernel layer.
(2) The congesting PRIP mode is a network redundancy transmission mode developed by Beijing congesting software corporation, and the mode is realized in three layers of a network, namely an IP layer, and is realized by expanding an option area of an IP header, and the shortcoming is that the requirement on a switch is high.
(3) A PRP pattern. The mode is realized in a network two-layer mode, cannot span a three-layer network, and needs specific hardware to realize.
Therefore, the invention is especially provided.
Disclosure of Invention
The invention aims to provide a network redundant data transmission method, a network redundant data transmission device, a storage medium and electronic equipment, which are realized in a user mode, do not modify a network data packet structure, and have the advantages of good compatibility, simple processing, easy deployment and convenient maintenance.
In order to solve the foregoing problems, in a first aspect, an embodiment of the present invention provides a method for transmitting network redundancy data, including:
constructing an intermediate layer between a network programming API and a network protocol stack;
and performing data caching, data sending, data retransmission, data receiving check and deduplication, data packet receiving disorder processing, redundant link fault detection and link selection on the intermediate layer.
Further, the data caching comprises: the path of the transmit data is configured to store the data to be written into the transmit buffer.
Further, the data transmission includes: and checking whether the data to be transmitted exist in the transmission buffer, and if so, transmitting the data according to the selection of the link.
Further, the data cache further comprises: the path of the received data is configured to be stored into the receive buffer.
Further, the data transmission further includes: and checking whether the data to be returned is in the receiving cache or not, and if so, returning the data to be returned.
Further, the fault detection of the redundant link comprises: and checking the on-off condition of the redundant link, identifying the conditions of a plurality of links at two ends of communication, and updating a link state data structure.
In a second aspect, an embodiment of the present invention provides a network redundancy data transmission apparatus, including:
the middle layer constructing module is used for constructing a middle layer between the network programming API and the network protocol stack;
and the data transmission module is used for performing data caching, data sending, data retransmission, check and duplicate removal of received data, out-of-order processing of received data packets, fault detection of a redundant link and link selection of network redundant data in the middle layer.
In a third aspect, an embodiment of the present invention provides a storage medium, on which a computer program is stored, and the program, when executed by a processor, implements the method described above.
In a fourth aspect, an embodiment of the present invention provides an electronic device, where the electronic device includes:
one or more processors; and
a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the method described above.
The method is realized at a network 4 layer, namely an application layer, has no modification to a data packet, and is completely compatible with the existing network equipment; the method can be realized in a user mode without being realized in a kernel mode, so that good compatibility of an operating system is achieved; the method can support multiple IP redundant independent networks and can sense the condition of the link state of the end to end.
Drawings
Fig. 1 shows a flow chart of a method of network redundancy data transmission according to an embodiment of the invention;
FIG. 2 shows a flow diagram of a detailed process according to an embodiment of the invention;
FIG. 3 is a diagram illustrating a system architecture for implementing a method for network redundancy data transmission according to an embodiment of the present invention;
FIG. 4 shows a block diagram of an apparatus according to an embodiment of the invention;
FIG. 5 illustrates a block diagram of a computing device capable of implementing various embodiments of the invention.
Detailed Description
The principles and spirit of the present invention will be described with reference to a number of exemplary embodiments shown in the drawings. It should be understood that these embodiments are described only to enable those skilled in the art to better understand and to implement the present invention, and are not intended to limit the scope of the present invention in any way.
In describing embodiments of the present invention, the terms "include" and its derivatives should be interpreted as being open-ended, i.e., "including but not limited to. The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first," "second," and the like may refer to different or the same object. Other explicit and implicit definitions are also possible below.
Referring to fig. 1, to solve the above problem, an embodiment of the present invention provides a method 100 for transmitting network redundancy data, including:
step 101, constructing an intermediate layer between a network programming API and a network protocol stack;
and step 102, performing data caching, data sending, data retransmission, data receiving check and deduplication, data packet receiving out-of-order processing, redundant link fault detection and link selection on network redundant data in the middle layer.
The method of the embodiment of the invention firstly constructs a middle layer between a network protocol stack and a network programming API, as shown in figure 3, an original network protocol stack is arranged below the middle layer, an original implementation of the network programming API is arranged above the middle layer, and an upper layer application uses a network through a network programming API interface, wherein the upper layer application is not limited to socket, send/write, close and other log correlations. The middle layer is configured with a data caching function, and performs data sending according to the configuration, a data retransmission function, received data checking and data deduplication, received data packet out-of-order processing, a redundant link fault detection function and link selection, and because the functions are all realized in two layers or three layers of a network in other existing transmission modes, the embodiment of the invention is realized in 4 layers of the network, is compatible with equipment of a network link, achieves transparency for upper network application, has good compatibility with an upper network programming API and an underlying network protocol, supports an independent multi-IP redundant network, and can be realized before system call or after system call in a Linux operating system. Furthermore, multiple-sending multiple-receiving, multiple-sending single-receiving, single-sending multiple-receiving and single-sending single-receiving configuration modes can be configured in the middle layer, and 0 time delay of link fault processing is achieved.
The invention has the novel and innovative points that the data packets related to the whole chain from top to bottom are not required to be modified by the existing network programming API (application programming interface) to the bottom network data packet, and the modification of a link layer, an IP layer, a transmission layer and an application layer is not required, so that the network redundant data transmission is realized, and the network redundant data transmission can be configured to simultaneously support the independent IP mode dual network and the single IP mode dual network according to the actual requirement.
With reference to fig. 2, further, the data buffering and data sending in step 102 includes:
step 201, configuring the path of the sending data to store the data to be written into the sending buffer. In step 201, the configuration of the transmit data path may be implemented by an API calling the write/send function.
Step 202, checking whether the data to be sent is in the sending buffer, if so, sending the data according to the selection of the physical link.
Step 203, configure the path of the received data to be stored in the receiving buffer.
Step 204, checking whether the data to be returned is in the receiving cache, and if so, returning the data to be returned.
Specifically, the path of the received data may be changed through the API to call a read/recv function that checks whether the receive buffer has data, returns the corresponding read data if there is data, and returns the corresponding error code if there is no data.
Further, in step 102, the deduplication operation of the data is performed by comparing with offsets, for TCP data, the data received by each redundant link is ordered and reliable, each session maintains an offset as the number of currently received data packets, the data received repeatedly is discarded, and the data not repeated is placed in the receiving buffer.
Further, the detecting of the failure of the redundant link in step 102 includes: and checking the on-off condition of the redundant link, identifying the conditions of a plurality of links at two ends of communication based on an IP detection technology, and updating a link state data structure.
As shown in fig. 4, an embodiment of the present invention further provides a network redundancy data transmission apparatus 200, including:
the middle layer constructing module is used for constructing a middle layer between the network programming API and the network protocol stack;
and the data transmission module is used for performing data caching, data sending, data retransmission, check and duplicate removal of received data, out-of-order processing of received data packets, fault detection of a redundant link and link selection of network redundant data in the middle layer.
Wherein, the data transmission module includes:
a sending buffer 201, a receiving buffer 202, a first redundancy sending module 203, a second redundancy sending module 204, a data retransmission module 205, a data receiving module 206, and a link management module 207.
The sending buffer is used for storing data to be written in, and the receiving buffer is used for storing the received data.
The first redundancy sending module is used for checking whether the data to be sent is in the sending buffer, and if the data to be sent is in the sending buffer, the data is sent according to the selection of the physical link.
The second redundancy sending module is used for checking whether the data to be returned is in the receiving cache or not, and if the data to be returned is in the receiving cache, returning the data to be returned.
And the data retransmission module is used for retransmitting data.
The data receiving module is used for checking and de-duplicating received data and performing out-of-order processing on received data packets.
The link management module is used for detecting the fault of the redundant link and selecting the link according to the link state.
It should be understood that, the above program modules and the steps described in the method embodiments have a one-to-one correspondence relationship, and the technical solution described in the method embodiments may also be applied to the specific configuration of each program module, and in order to avoid repetition, the details are not described here again.
The invention also provides an electronic device, a readable storage medium and a computer program product according to the embodiments of the invention.
FIG. 5 illustrates a block diagram of a computing device 600 capable of implementing multiple embodiments of the present invention. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 5, the device 600 comprises a computing unit 601, which may perform various suitable actions and processes according to a computer program stored in a Read Only Memory (ROM)602 or loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The calculation unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
A number of components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, a mouse, or the like; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The computing unit 601 performs the various methods and processes described above, such as the method 100. For example, in some embodiments, the method 100 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the method 100 described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the method 100 in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, and the present disclosure is not limited herein.
The inventive concept is explained in detail herein using specific examples, which are given only to aid in understanding the core concepts of the invention. It should be understood that any obvious modifications, equivalents and other improvements made by those skilled in the art without departing from the spirit of the present invention are included in the scope of the present invention.

Claims (9)

1. The network redundancy data transmission method is characterized by comprising the following steps:
constructing an intermediate layer between a network programming API and a network protocol stack;
and performing data caching, data sending, data retransmission, data receiving check and deduplication, data packet receiving out-of-order processing, redundant link fault detection and link selection on the intermediate layer.
2. The method according to claim 1, wherein the data buffering comprises: the path of the transmit data is configured to store the data to be written into the transmit buffer.
3. The method according to claim 2, wherein the data transmission comprises: and checking whether the data to be transmitted exist in the transmission buffer, and if so, transmitting the data according to the selection of the link.
4. The method according to claim 3, wherein the data buffering further comprises: the path of the received data is configured to be stored into the receive buffer.
5. The method of claim 4, wherein the sending of the data further comprises: and checking whether the data to be returned exist in the receiving cache, and if so, returning the data to be returned.
6. The method of claim 1, wherein the detecting the failure of the redundant link comprises: and checking the on-off condition of the redundant link, identifying the conditions of a plurality of links at two ends of communication, and updating a link state data structure.
7. A network redundancy data transmission apparatus, comprising:
the middle layer constructing module is used for constructing a middle layer between the network programming API and the network protocol stack;
and the data transmission module is used for performing data caching, data sending, data retransmission, check and duplicate removal of received data, out-of-order processing of received data packets, fault detection of a redundant link and link selection of network redundant data in the middle layer.
8. A storage medium, characterized in that a computer program is stored thereon, which program, when being executed by a processor, carries out the method of any one of claims 1-6.
9. An electronic device, the electronic device comprising:
one or more processors; and
storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to carry out the method of any one of claims 1-6.
CN202210549222.3A 2022-05-20 2022-05-20 Network redundant data transmission method and device, storage medium and electronic equipment Pending CN114945048A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210549222.3A CN114945048A (en) 2022-05-20 2022-05-20 Network redundant data transmission method and device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210549222.3A CN114945048A (en) 2022-05-20 2022-05-20 Network redundant data transmission method and device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN114945048A true CN114945048A (en) 2022-08-26

Family

ID=82908385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210549222.3A Pending CN114945048A (en) 2022-05-20 2022-05-20 Network redundant data transmission method and device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN114945048A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150600A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Method and apparatus for collecting data for characterizing HTTP session workloads
US20080081579A1 (en) * 2006-09-29 2008-04-03 Fisher-Rosemount Systems, Inc. Apparatus and Method for Merging Wireless Data Into an Established Process Control System
US20190034449A1 (en) * 2017-06-02 2019-01-31 EMC IP Holding Company LLC Method and device for deduplication
CN114138756A (en) * 2020-09-03 2022-03-04 金篆信科有限责任公司 Data deduplication method, node and computer-readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150600A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Method and apparatus for collecting data for characterizing HTTP session workloads
US20080081579A1 (en) * 2006-09-29 2008-04-03 Fisher-Rosemount Systems, Inc. Apparatus and Method for Merging Wireless Data Into an Established Process Control System
US20190034449A1 (en) * 2017-06-02 2019-01-31 EMC IP Holding Company LLC Method and device for deduplication
CN114138756A (en) * 2020-09-03 2022-03-04 金篆信科有限责任公司 Data deduplication method, node and computer-readable storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
彭志航;梁常委;韦书智;: "基于IP协议扩展的并行冗余网络协议", no. 12 *
李培峰,朱巧明,杨季文: "基于异构数据库的档案检索系统的设计与实现", no. 01 *
陈志南;: "广播电视大学数据中心海量存储系统构建探讨", no. 09 *

Similar Documents

Publication Publication Date Title
US7957402B2 (en) UDP to TCP bridge
JP5828966B2 (en) Method, apparatus, system, and storage medium for realizing packet transmission in a PCIE switching network
US8793403B2 (en) Server system and management method thereof for transferring remote packet to host
WO2006019512B1 (en) Apparatus and method for supporting connection establishment in an offload of network protocol processing
CN107666415B (en) Optimization method and device of FC-AE-1553 protocol bridge
CN111049765B (en) Aggregation port switching method, device, chip, switch and storage medium
US20040260841A1 (en) Method, apparatus, and system for internet protocol communication over intelligent platform management bus
WO2023061327A1 (en) Core board reset method and apparatus, device, storage medium and program product
US10229084B2 (en) Synchronous input / output hardware acknowledgement of write completions
CN113825170A (en) Method and apparatus for determining network channel
CN114945048A (en) Network redundant data transmission method and device, storage medium and electronic equipment
US10133691B2 (en) Synchronous input/output (I/O) cache line padding
CN114449040B (en) Configuration issuing method and device based on cloud platform
CN114944981B (en) Communication method, device, storage medium and electronic equipment with high availability of network
CN112181930B (en) File management method and device for virtual switching matrix
CN112714420A (en) Network access method and device of wifi hotspot providing equipment and electronic equipment
CN114205414A (en) Data processing method, device, electronic equipment and medium based on service grid
WO2013162569A1 (en) Increasing a data transfer rate
CN114785631B (en) Communication protocol stack multiplexing method, communication method, computer device and medium
CN116260855B (en) Communication method, communication device, electronic equipment and storage medium
CN114938331B (en) Single-physical-port multi-network access method and device under container scene, storage medium and electronic equipment
CN216623148U (en) Embedded server, intelligent network card, SOC module and electronic equipment
US20230049252A1 (en) Method for network transmission, device, and storage medium
CN113852549B (en) Method for realizing independent data receiving and processing of main and standby systems
CN113328885B (en) Network health degree evaluation method, device, electronic equipment, medium and program product

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