CN112165430A - Data routing method, device, equipment and storage medium - Google Patents

Data routing method, device, equipment and storage medium Download PDF

Info

Publication number
CN112165430A
CN112165430A CN202011016405.6A CN202011016405A CN112165430A CN 112165430 A CN112165430 A CN 112165430A CN 202011016405 A CN202011016405 A CN 202011016405A CN 112165430 A CN112165430 A CN 112165430A
Authority
CN
China
Prior art keywords
data
module
routing
service module
service
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
CN202011016405.6A
Other languages
Chinese (zh)
Other versions
CN112165430B (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.)
Apollo Zhilian Beijing Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011016405.6A priority Critical patent/CN112165430B/en
Publication of CN112165430A publication Critical patent/CN112165430A/en
Application granted granted Critical
Publication of CN112165430B publication Critical patent/CN112165430B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • 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
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a data routing method, a data routing device, data routing equipment and a storage medium, and relates to the technical field of computers, in particular to the fields of cross-process communication, data routing and the like. The specific implementation scheme is as follows: receiving first data from a first service module; analyzing the first data according to a preset routing protocol to obtain target module information; and forwarding the first data to a second service module corresponding to the target module information. According to the embodiment of the application, the data of the service module is forwarded based on the routing protocol, so that the resource occupation of the system can be reduced, the access cost is reduced, and the joint debugging difficulty is reduced.

Description

Data routing method, device, equipment and storage medium
Technical Field
The application relates to the technical field of computers, in particular to the fields of cross-process communication, data routing and the like.
Background
The cross-process communication mainly comprises the following steps: information is propagated or exchanged between processes of different modules in the same system. In a multi-module system, the traditional implementation is the CS architecture. The Server side (Server) directly establishes communication with the Client side (Client) in general. However, in a multi-module system, there are more complex scenarios, for example, one module communicates with N modules, there is a relationship of 1 to N, or one module is both a server and a client. The N-to-N communication mode using the traditional mode in the scene has the problems of high access cost, high joint debugging difficulty and the like.
Disclosure of Invention
The application provides a data routing method, a device, equipment and a storage medium.
According to an aspect of the present application, there is provided a data routing method, including:
receiving first data from a first service module;
analyzing the first data according to a preset routing protocol to obtain target module information;
and forwarding the first data to a second service module corresponding to the target module information.
According to another aspect of the present application, there is provided a data routing apparatus comprising:
a receiving unit, configured to receive first data from a first service module;
the analysis unit is used for analyzing the first data according to a preset routing protocol to obtain target module information;
and the sending unit is used for forwarding the first data to a second service module corresponding to the target module information.
According to the embodiment of the application, the data of the service module is forwarded based on the routing protocol, so that the resource occupation of the system can be reduced, the access cost is reduced, and the joint debugging difficulty is reduced.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present application, nor do they limit the scope of the present application. Other features of the present application will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not intended to limit the present application. Wherein:
fig. 1 is a flow chart illustrating a data routing method according to an embodiment of the present application.
Fig. 2 is a flow chart illustrating a data routing method according to another embodiment of the present application.
Fig. 3 is a flow chart illustrating a data routing method according to another embodiment of the present application.
Fig. 4 is an architecture diagram of an application scenario.
Fig. 5 is a logic flow diagram of a routing node.
Fig. 6 is a schematic diagram of N modules in direct communication with N modules.
Fig. 7 is a schematic diagram of 2N modules communicating with a routing module.
Fig. 8 is a block diagram of a data routing device according to an embodiment of the present application.
FIG. 9 is a block diagram of a data path apparatus according to another embodiment of the present application.
Fig. 10 is a block diagram of an electronic device for implementing a data routing method according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a flow chart illustrating a data routing method according to an embodiment of the present application. The method can comprise the following steps:
and S11, receiving the first data from the first service module.
And S12, analyzing the first data according to a preset routing protocol to obtain target module information.
And S13, forwarding the first data to a second service module corresponding to the target module information.
Illustratively, multiple business modules may be run in the same system, e.g., an operating system of a device. There may be data interaction between the business modules. In the system, a routing module may be provided, and data of one service module is forwarded to another service module by establishing respective data channels between the routing module and each service module. The routing module may analyze the data received from the first service module by using a preset routing protocol, obtain information such as an address or an identifier of a target module to be forwarded, and forward the data to the target module, for example, a second service module. The first service module that needs to forward data may be referred to as a client or a sending end, and the second service module that needs to receive data may be referred to as a server or a receiving end. Some service modules may be full duplex, and in some cases may send data, and in some cases may receive data, and this type of service module may act as both a client and a server. Such a service module may also become a C/S service module, a C/S service node, a C/S logical node, etc.
For example, multiple APPs (applications) installed in the same terminal device, such as a mobile phone, are C/S service modules. There may be data exchange between the two APPs. Suppose that data D1 needs to be passed from APP1 to APP 2. The routing module may receive data D1 from APP1, and obtain information of APP2 after analyzing D1 based on the routing protocol. The routing module sends data D1 to APP2 based on the information of APP 2. After receiving D1, APP2 may perform some processing using D1 to obtain some new data D2.
According to the embodiment of the application, the data of the service module is forwarded based on the routing protocol, so that the resource occupation of the system can be reduced, the access cost is reduced, and the joint debugging difficulty is reduced.
Fig. 2 is a flow chart illustrating a data routing method according to another embodiment of the present application. The data routing method of this embodiment may include the steps of the above-described embodiments. In this embodiment, the receiving, at S11, the first data of the first service module may include:
s21, receiving the first data from the process of the first service module through a data channel between the routing module and the first service module.
Illustratively, in the same system, data channels are established between the routing module and the service modules. The routing module may receive first data of a process of the first traffic module through the data channel. In this way, in cross-process communication, data forwarding can be realized through the routing module. Therefore, the number of data channels and the number of joint debugging can be reduced, the resource occupation of the system is reduced, the access cost is reduced, and the difficulty of joint debugging is reduced.
For example, the first service module and the second service module may implement transceiving of data through a process. The process of the first service module sends the data to the process of the routing module, and the process of the routing module forwards the data to the process of the second service module.
In this embodiment, the forwarding the first data to the second service module corresponding to the target module information by S13 may include:
s23, forwarding the first data to the process of the second service module corresponding to the target module information through the data channel between the routing module and the second service module.
For example, the process of the routing module may forward the first data to the process of the second service module through a data channel between the routing module and the second service module.
According to the embodiment of the application, the data of the service module is forwarded based on the routing protocol through the data channel between the routing module and the service module, so that the resource occupation of the system can be reduced. For example, a data channel does not need to be established between every two service modules, and data can be established between the service modules and the routing module, so that the data channel can be reduced, the multiplexing rate of the data channel is improved, and the access cost is low. For another example, joint debugging is not required to be performed on every two service modules, and the service modules and the routing module can be jointly debugged, so that the number of joint debugging can be reduced, the joint debugging difficulty can be reduced, the joint debugging cost can be reduced, the research and development efficiency can be improved, and the development difficulty and the maintenance cost can be reduced.
Fig. 3 is a flow chart illustrating a data routing method according to another embodiment of the present application. The data routing method of this embodiment may include the steps of the method embodiments described above. In this embodiment, the method may further include:
s31, searching the second service module corresponding to the target module information in the plurality of service modules connected to the routing module.
For example, after the process of the routing module receives the first data of the process of the first service module, the first data may be analyzed to obtain the target module information. And then, searching and determining a second service module corresponding to the target module information in a plurality of service modules connected with the routing module. And then the first data is forwarded to the process of the second service module through a data channel between the routing module and the second service module. Therefore, the receiving end can be accurately found, and data forwarding is realized.
In this embodiment, the method may further include:
s41, receiving second data processed by the process of the second service module on the first data;
and S42, returning the second data to the process of the first business module.
For example, the process of the second service module performs required processing on the first data received from the process of the routing module to obtain second data. The process of the second service module may return the second data to the process of the routing module, and then return to the process of the first service module via the process of the routing module.
The data processed by the receiving end can be returned to the sending end through the routing module, and the complete data processing process is quickly realized.
In this embodiment, the method may further include:
s51, performing integrity check and/or security check on the first data, and performing a route forwarding step on the first data passing the check, for example, performing the route forwarding step of S13. For another example, the route forwarding step of S23 is performed.
For example, the routing module may perform integrity check and/or security check on the received first data, and forward the first data to the corresponding second service module if the received first data passes the check. If the check is not passed, the first data can be discarded, and information that the data check is not passed can be returned to the first service module. In this way, the first service module may resend the first data to the routing module, or send other data that needs to be forwarded.
For example, the mapping rule is used for checking, where the mapping rule may include a correspondence between a sending end and a receiving end, the first data of the sending end is analyzed to obtain information of a target module, and whether the information of the target module is consistent with the receiving end corresponding to the sending end in the mapping rule is checked.
For another example, it is checked whether the first data in the data packet is complete, damaged, or missing.
For another example, the data is signed by using a signature algorithm of the APK to obtain the packet name of the data packet, and whether the packet name of the data packet conforms to the preset packet name is checked. Therefore, the access of the disguised service module can be prevented, and the safety is improved.
According to the embodiment of the application, the data is verified through the routing module, so that the controllability and the safety can be improved.
In an application scenario, in the data communication of multiple modules in the same system, if an N-to-N scheme is adopted. The N modules are used as a server side, the N modules are used as a client side, and part of the modules exist as the server side and the client side at the same time. In the communication process, a communication channel is directly established between the client and the server side, and data transmission and exchange are carried out. Using the N-to-N approach, N modules need to be docked for a single module. In the development stage, the development difficulty is high, and the access cost is high. In the data circulation process, if an interception mechanism and a verification mechanism are not available, the problems of low controllability and weak safety exist. In the debugging stage, the related modules are too many, so that the joint debugging difficulty is high, and the maintenance cost is high.
The data routing method of the embodiment of the application can complete data transmission and exchange among multiple modules in a new mode, and has the characteristics of high expandability, low access cost, strong controllability, high safety and the like.
The data routing method of the embodiment of the application is a multi-module data routing scheme. The scheme can be designed and realized on the basis of cross-process communication, and the reuse of the communication link can greatly reduce the consumption of system resources. In this embodiment, it is assumed that a service module in one system is a C/S node, a routing module is a routing node, and the routing node passing through the core undertakes a data forwarding task in the whole operation process. Therefore, the stability of the routing node is important. As shown in fig. 4, in the present embodiment, the following parts may be mainly included:
(1) C/S node: in the embodiment of the present application, since the service node may simultaneously assume the roles of a Server and a Client, the two roles may be integrated into one service node role, and the routing node is matched to forward data to other service nodes, thereby implementing data transmission and exchange. The C/S nodes may also be referred to as C/S service nodes, C/S logical nodes, and the like.
(2) The routing node: the routing node may be responsible for the forwarding of data. The routing node may maintain and record a predetermined protocol, such as a routing protocol, and may be capable of parsing packets according to the protocol. The routing node analyzes the data packet to obtain the target node identification, finds the target node in the C/S node data accessed to the routing node, and forwards the data to complete the routing of the data.
Based on the division of labor of the nodes, complete data transmission is completed once, a routing protocol is required to be preset, and the protocol is mainly a distribution protocol and is used for informing the routing node that the routing node needs to forward the data to the target C/S service node. After the target C/S node completes the logic processing, the processed data is fed back to the requesting C/S service node through the routing node, and therefore the preset data requesting task is completed.
The above-mentioned protocol may be formulated based on a general business logic, for example, a basic protocol is formulated according to a basic business logic. The business logic may include that the upper layer business module requires at least one base capability in operation. For example, business logic may include, but is not limited to, account, activation, voice, location, etc. capabilities. The routing protocol may include format information for data that the traffic module needs to forward. For example: when the hotel module acquires the account information from the account, the data packet sent by the hotel module to the routing module has a certain format. A Data packet for transmission may be defined by the protocol to contain the following fields Domian, Intent, Data, etc., as examples:
account, used for distinguishing the basic capability types.
And the Intent is getAccountInfo for distinguishing the interface method provided by the basic capability.
Data for providing additional parameters provided when Data is acquired to the basic capability.
In addition, in order to ensure the expandability of the scheme, an interface of a custom protocol can be reserved, and an access party such as a C/S service node of an access routing node is allowed to self-define a related protocol injection system through a preset interface. For example, custom protocols need to conform to the definition of the underlying protocol, including fields for Domain, Intent, Data, etc. Custom protocols that conform to this definition may be added to the routing system.
Due to the fact that the routing nodes are added in the data transmission process, operability is greatly improved. In order to ensure data security, the routing node can not only perform data distribution, but also perform permission verification. For example, an authority check node is added in the routing node, and only the C/S nodes meeting the conditions are allowed to access the system, so that the access controllability of the system is ensured. Some examples of compliance are as follows. For example, the packet name of a node joining the routing system can be checked, and the node can be determined to be eligible. For another example, the signature information of the packet of the node joining the routing system may be verified, and it may be determined that the node meets the condition.
In addition, the routing node can perform data integrity check and security check on the received data of the C/S node, and only the data meeting the protocol condition can pass through, so that the integrity and the security of the data are ensured.
For example, as shown in FIG. 5, an exemplary logic flow for data routing may include: after receiving the data to be forwarded by the service node (sending end), the routing node performs data analysis (S501). And performing authority verification on the analyzed data (S502), and determining the integrity and the safety of the data. If the check is passed, the information of the target node to which the data needs to be forwarded can be analyzed and obtained. Then, it is searched for whether or not the information of the destination node exists from the information of the plurality of service nodes connected to the routing node (S503). If so, the routing node forwards the data to the destination node (receiver). In the embodiment of the application, the sending end and the receiving end can belong to different processes, and cross-process communication is realized through the routing node.
The embodiment of the application can effectively reduce the resource occupation of the system, reduce the number of data channels and improve the multiplexing rate of the data channels. For example, in a scenario of cross-process communication between N modules, in a case of direct communication between the modules, each module needs to establish data passing with other service modules, and the other service modules need to provide SDK (Software Development Kit). Therefore, N × N data channels are required, as shown in fig. 6. However, in the case of forwarding through the routing module, at most 2N data channels are required (a data channel is established between each traffic module and the routing module), as shown in fig. 7. Therefore, the more the number of modules is, the more the number of data channels is reduced, and the higher the multiplexing rate of the data channels is.
Furthermore, the embodiment of the application can reduce the dependence data packets such as Jar packets which need to be output by the service module, and reduce the development cost.
Furthermore, the embodiment of the application can also increase and improve controllability and safety in the data transfer process by performing permission verification through the routing module.
Furthermore, the number of joint debugging is reduced by each service module, the joint debugging cost is reduced, and the research and development efficiency is greatly improved. For example, in a scenario where cross-process communication is performed between N modules, each two modules need to be jointly tuned, N × N times of joint tuning is required in the case of direct communication between the modules, and 2N times of joint tuning is required in the case where a routing module is provided, where each module is jointly tuned with the routing module. Therefore, the larger the number of modules, the more the number of joint tunes is reduced.
Fig. 8 is a block diagram of a data routing device according to an embodiment of the present application. The apparatus may include:
a receiving unit 61, configured to receive first data from a first service module;
the analyzing unit 62 is configured to analyze the first data according to a preset routing protocol to obtain target module information;
a sending unit 63, configured to forward the first data to the second service module corresponding to the target module information.
FIG. 9 is a block diagram of a data path apparatus according to another embodiment of the present application. The apparatus may include. The data routing device of this embodiment may include the various components of the device embodiments described above. In this embodiment, in a possible implementation manner, the receiving unit 61 is specifically configured to receive the first data from the process of the first service module through a data channel between the routing module and the first service module.
In a possible implementation manner, the sending unit 63 is specifically configured to forward the first data to the process of the second service module corresponding to the target module information through a data channel between the routing module and the second service module.
In one possible implementation, the apparatus further includes:
a searching unit 71, configured to search, in the plurality of service modules connected to the routing module, the second service module corresponding to the target module information.
In a possible implementation manner, the receiving unit 61 is further configured to receive second data obtained after the process of the second service module processes the first data;
the sending unit 63 is further configured to return the second data to the process of the first service module.
In one possible implementation, the apparatus further includes:
a checking unit 72, configured to perform integrity check and/or security check on the first data, and perform a route forwarding step on the first data that passes the check.
The functions of each unit in each data routing device in the embodiments of the present application may refer to the corresponding description in the data routing method, and are not described herein again.
According to an embodiment of the present application, an electronic device and a readable storage medium are also provided.
Fig. 10 is a block diagram of an electronic device according to the data routing method of the embodiment of the present application. 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 examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 10, the electronic apparatus includes: one or more processors 901, memory 902, and interfaces for connecting the various components, including a high-speed interface and a low-speed interface. The various components are interconnected using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions for execution within the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input/output apparatus (such as a display device coupled to the interface). In other embodiments, multiple processors and/or multiple buses may be used, along with multiple memories and multiple memories, as desired. Also, multiple electronic devices may be connected, with each device providing portions of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system). Fig. 10 illustrates an example of a processor 901.
Memory 902 is a non-transitory computer readable storage medium as provided herein. The memory stores instructions executable by the at least one processor to cause the at least one processor to perform the data routing method provided herein. The non-transitory computer readable storage medium of the present application stores computer instructions for causing a computer to perform the data routing method provided herein.
The memory 902, which is a non-transitory computer readable storage medium, may be used to store non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules/units (e.g., the receiving unit 61, the parsing unit 62, and the sending unit 63 shown in fig. 8) corresponding to the data routing method in the embodiments of the present application. The processor 901 executes various functional applications of the server and data processing, i.e., implements the data routing method in the above-described method embodiments, by running non-transitory software programs, instructions, and modules stored in the memory 902.
The memory 902 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function; the storage data area may store data created according to use of the electronic device of the data routing method, and the like. Further, the memory 902 may include high speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory 902 may optionally include memory located remotely from the processor 901, which may be connected to the electronic device of the data routing method via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The electronic device of the data routing method may further include: an input device 903 and an output device 904. The processor 901, the memory 902, the input device 903, and the output device 904 may be connected by a bus or other means, and fig. 10 illustrates an example of a connection by a bus.
The input device 903 may receive input numeric or character information and generate key signal inputs related to user settings and function control of the electronic device of the data routing method, such as an input device of a touch screen, a keypad, a mouse, a track pad, a touch pad, a pointer, one or more mouse buttons, a track ball, a joystick, or the like. The output devices 904 may include a display device, auxiliary lighting devices (e.g., LEDs), tactile feedback devices (e.g., vibrating motors), and the like. The display device may include, but is not limited to, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and a plasma display. In some implementations, the display device can be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASICs (application specific integrated circuits), 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.
These computer programs (also known as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented using high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
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. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service expansibility in the traditional physical host and Virtual Private Server (VPS) service.
According to the embodiment of the application, the resource occupation of the system can be effectively reduced, the number of data channels can be reduced, and the reuse rate of the data channels is improved. Furthermore, the embodiment of the application can reduce the dependence data packets required to be output by the service module, and reduce the development cost. Furthermore, the embodiment of the application can also increase and improve controllability and safety in the data transfer process by performing permission verification through the routing module. Furthermore, the number of joint debugging is reduced by each service module, the joint debugging cost is reduced, and the research and development efficiency is greatly improved.
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 application may be executed in parallel, sequentially, or in different orders, and the present invention is not limited thereto as long as the desired results of the technical solutions disclosed in the present application can be achieved.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (14)

1. A data routing method, comprising:
receiving first data from a first service module;
analyzing the first data according to a preset routing protocol to obtain target module information;
and forwarding the first data to a second service module corresponding to the target module information.
2. The method of claim 1, wherein receiving first data for a first traffic module comprises:
receiving the first data from the process of the first service module through a data channel between a routing module and the first service module.
3. The method of claim 1, wherein forwarding the first data to a second service module corresponding to the target module information comprises:
and forwarding the first data to the process of the second service module corresponding to the target module information through a data channel between a routing module and the second service module.
4. The method of claim 3, further comprising:
and searching the second service module corresponding to the target module information in a plurality of service modules connected with the routing module.
5. The method of claim 3, further comprising:
receiving second data after the process of the second service module processes the first data;
and returning the second data to the process of the first business module.
6. The method according to any one of claims 1 to 5, further comprising:
and carrying out integrity check and/or security check on the first data, and executing a route forwarding step on the first data passing the check.
7. A data routing device, comprising:
a receiving unit, configured to receive first data from a first service module;
the analysis unit is used for analyzing the first data according to a preset routing protocol to obtain target module information;
and the sending unit is used for forwarding the first data to a second service module corresponding to the target module information.
8. The apparatus according to claim 7, wherein the receiving unit is specifically configured to receive the first data from the process of the first service module through a data channel between a routing module and the first service module.
9. The apparatus according to claim 7, wherein the sending unit is specifically configured to forward the first data to the process of the second service module corresponding to the target module information through a data channel between a routing module and the second service module.
10. The apparatus of claim 9, further comprising:
and the searching unit is used for searching the second service module corresponding to the target module information in a plurality of service modules connected with the routing module.
11. The apparatus of claim 9,
the receiving unit is further configured to receive second data obtained after the process of the second service module processes the first data;
the sending unit is further configured to return the second data to the process of the first service module.
12. The apparatus of any one of claims 7 to 11, further comprising:
and the checking unit is used for carrying out integrity check and/or security check on the first data and executing a route forwarding step on the first data passing the check.
13. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 6.
14. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1 to 6.
CN202011016405.6A 2020-09-24 2020-09-24 Data routing method, device, equipment and storage medium Active CN112165430B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011016405.6A CN112165430B (en) 2020-09-24 2020-09-24 Data routing method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011016405.6A CN112165430B (en) 2020-09-24 2020-09-24 Data routing method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112165430A true CN112165430A (en) 2021-01-01
CN112165430B CN112165430B (en) 2024-02-13

Family

ID=73863828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011016405.6A Active CN112165430B (en) 2020-09-24 2020-09-24 Data routing method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112165430B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157598A (en) * 2021-12-13 2022-03-08 百果园技术(新加坡)有限公司 Message forwarding method, system, electronic equipment and storage medium

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252527A (en) * 2008-04-09 2008-08-27 腾讯科技(深圳)有限公司 Method for transferring network, network transfer server and inner core managing module
US20090059918A1 (en) * 2007-08-31 2009-03-05 Voex, Inc. Intelligent call routing
EP2074772A2 (en) * 2006-10-06 2009-07-01 Genesys Telecommunications Laboratories, Inc. Integrating sip control messaging into existing communication center routing infrastructure
CN101626343A (en) * 2009-08-05 2010-01-13 华为技术有限公司 Method and apparatus for exchanging data packet and communication device
US20100217990A1 (en) * 2007-08-09 2010-08-26 Nippon Telegraph And Telephone Corp. Communication method, relay server device, program, and recording medium
CN102457537A (en) * 2010-10-19 2012-05-16 阿里巴巴集团控股有限公司 Communication method of transmission control protocol (TCP) and server
US20130100957A1 (en) * 2010-06-23 2013-04-25 National Institute Of Information And Communications Technology Information processing system, relay device, and information processing method
CN104065731A (en) * 2014-06-30 2014-09-24 江苏华大天益电力科技有限公司 FTP file transfer system and transfer method
CN104868592A (en) * 2015-03-13 2015-08-26 国家电网公司 Inter-network information system application state supervision system
WO2018232701A1 (en) * 2017-06-22 2018-12-27 北京小米移动软件有限公司 Data transmission method, device, user equipment and base station
CN110309006A (en) * 2019-06-28 2019-10-08 百度在线网络技术(北京)有限公司 A kind of funcall method, apparatus, terminal device and storage medium
US20190310866A1 (en) * 2018-04-10 2019-10-10 Microsoft Technology Licensing, Llc Cross-process interface for non-compatible frameworks
CN110377438A (en) * 2019-07-22 2019-10-25 广州小鹏汽车科技有限公司 The method for routing of striding course communication interface, device and system
CN110719432A (en) * 2019-09-11 2020-01-21 视联动力信息技术股份有限公司 Data transmission method and device, electronic equipment and storage medium
CN110765024A (en) * 2019-10-29 2020-02-07 百度在线网络技术(北京)有限公司 Simulation test method, simulation test device, electronic equipment and computer-readable storage medium
CN111080243A (en) * 2019-12-05 2020-04-28 北京百度网讯科技有限公司 Service processing method, device, system, electronic equipment and storage medium
CN111131074A (en) * 2018-10-31 2020-05-08 中移(杭州)信息技术有限公司 Data processing method, device, system, server and readable storage medium
CN111193768A (en) * 2019-11-25 2020-05-22 腾讯科技(深圳)有限公司 Network data processing method and device, computer equipment and storage medium
CN111327545A (en) * 2018-12-14 2020-06-23 北京金山云网络技术有限公司 Data sending method and device, network system and switch
CN111694889A (en) * 2020-06-12 2020-09-22 百度在线网络技术(北京)有限公司 Data processing method and device, electronic equipment and readable storage medium

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2074772A2 (en) * 2006-10-06 2009-07-01 Genesys Telecommunications Laboratories, Inc. Integrating sip control messaging into existing communication center routing infrastructure
US20100217990A1 (en) * 2007-08-09 2010-08-26 Nippon Telegraph And Telephone Corp. Communication method, relay server device, program, and recording medium
US20090059918A1 (en) * 2007-08-31 2009-03-05 Voex, Inc. Intelligent call routing
CN101252527A (en) * 2008-04-09 2008-08-27 腾讯科技(深圳)有限公司 Method for transferring network, network transfer server and inner core managing module
CN101626343A (en) * 2009-08-05 2010-01-13 华为技术有限公司 Method and apparatus for exchanging data packet and communication device
US20130100957A1 (en) * 2010-06-23 2013-04-25 National Institute Of Information And Communications Technology Information processing system, relay device, and information processing method
CN102457537A (en) * 2010-10-19 2012-05-16 阿里巴巴集团控股有限公司 Communication method of transmission control protocol (TCP) and server
CN104065731A (en) * 2014-06-30 2014-09-24 江苏华大天益电力科技有限公司 FTP file transfer system and transfer method
CN104868592A (en) * 2015-03-13 2015-08-26 国家电网公司 Inter-network information system application state supervision system
WO2018232701A1 (en) * 2017-06-22 2018-12-27 北京小米移动软件有限公司 Data transmission method, device, user equipment and base station
US20190310866A1 (en) * 2018-04-10 2019-10-10 Microsoft Technology Licensing, Llc Cross-process interface for non-compatible frameworks
CN111131074A (en) * 2018-10-31 2020-05-08 中移(杭州)信息技术有限公司 Data processing method, device, system, server and readable storage medium
CN111327545A (en) * 2018-12-14 2020-06-23 北京金山云网络技术有限公司 Data sending method and device, network system and switch
CN110309006A (en) * 2019-06-28 2019-10-08 百度在线网络技术(北京)有限公司 A kind of funcall method, apparatus, terminal device and storage medium
CN110377438A (en) * 2019-07-22 2019-10-25 广州小鹏汽车科技有限公司 The method for routing of striding course communication interface, device and system
CN110719432A (en) * 2019-09-11 2020-01-21 视联动力信息技术股份有限公司 Data transmission method and device, electronic equipment and storage medium
CN110765024A (en) * 2019-10-29 2020-02-07 百度在线网络技术(北京)有限公司 Simulation test method, simulation test device, electronic equipment and computer-readable storage medium
CN111193768A (en) * 2019-11-25 2020-05-22 腾讯科技(深圳)有限公司 Network data processing method and device, computer equipment and storage medium
CN111080243A (en) * 2019-12-05 2020-04-28 北京百度网讯科技有限公司 Service processing method, device, system, electronic equipment and storage medium
CN111694889A (en) * 2020-06-12 2020-09-22 百度在线网络技术(北京)有限公司 Data processing method and device, electronic equipment and readable storage medium

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
DONG DU等: "XPC: Architectural Support for Secure and Efficient Cross Process Call", 《2019 ACM/IEEE 46TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA)》 *
廖小飞;公维涛;周凡;李德敏;: "基于模糊逻辑的VANET路由协议算法研究", 计算机仿真, no. 11 *
张岩;兰巨龙;胡宇翔;王鹏;段通;: "支持业务需求灵活定制的多态路由***", 电子学报, no. 04 *
陈建华等: "一种安全隧道网关的设计与实现", 《微电子学与计算机》 *
陈建华等: "一种安全隧道网关的设计与实现", 《微电子学与计算机》, no. 04, 5 April 2011 (2011-04-05) *
陈江: "一种基于COM/COM+的跨进程消息共享池接口组件", 福建电脑, no. 10 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157598A (en) * 2021-12-13 2022-03-08 百果园技术(新加坡)有限公司 Message forwarding method, system, electronic equipment and storage medium
CN114157598B (en) * 2021-12-13 2023-04-07 百果园技术(新加坡)有限公司 Message forwarding method, system, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN112165430B (en) 2024-02-13

Similar Documents

Publication Publication Date Title
US10812378B2 (en) System and method for improved service chaining
US10356007B2 (en) Dynamic service orchestration within PAAS platforms
CN113141386B (en) Kubernetes cluster access method, device, equipment and medium in private network
CN110506411B (en) Method and system for providing packet enforcement using logical ports in a virtualized computing environment
CN110865855B (en) Applet processing method and related equipment
CA2968964C (en) Source ip address transparency systems and methods
CN104394080A (en) Method and device for achieving function of security group
US9009782B2 (en) Steering traffic among multiple network services using a centralized dispatcher
CN115486046A (en) Data packet processing method and device based on open virtual soft switch OVS
CN111782254A (en) Method, device, equipment and storage medium for upgrading object
CN109669787B (en) Data transmission method and device, storage medium and electronic equipment
CN111866092B (en) Message transmission method and device, electronic equipment and readable storage medium
CN111552934A (en) Database access method and device
CN112787913A (en) Intelligent network card assembly, physical machine, cloud service system and message sending method
CN112333030A (en) Method, device, electronic equipment and storage medium for communication between private networks
CN112165430B (en) Data routing method, device, equipment and storage medium
CN112532528B (en) Message routing method and device for rule engine
CN112565225B (en) Method and device for data transmission, electronic equipment and readable storage medium
CN115277641B (en) Address sharing method and device, electronic equipment and storage medium
US20160094443A1 (en) Protocol independent multicast (pim) multicast route entry synchronization
CN111639116B (en) Data access connection session protection method and device
CN111092876B (en) Multi-host system, electronic device, storage medium, information processing method and apparatus for multi-host system
CN110830477B (en) Service identification method, device, gateway, system and storage medium
CN111614753B (en) Method, system and device for sending log
CN113079188B (en) Client identification processing method, device, terminal, server, system and medium

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
TA01 Transfer of patent application right

Effective date of registration: 20211018

Address after: 100176 Room 101, 1st floor, building 1, yard 7, Ruihe West 2nd Road, economic and Technological Development Zone, Daxing District, Beijing

Applicant after: Apollo Zhilian (Beijing) Technology Co.,Ltd.

Address before: 2 / F, *** building, 10 Shangdi 10th Street, Haidian District, Beijing 100085

Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant