CN112165430A - Data routing method, device, equipment and storage medium - Google Patents
Data routing method, device, equipment and storage medium Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000008569 process Effects 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims 1
- 230000006854 communication Effects 0.000 abstract description 21
- 238000004891 communication Methods 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 3
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 101150053844 APP1 gene Proteins 0.000 description 2
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- YZMCKZRAOLZXAZ-UHFFFAOYSA-N sulfisomidine Chemical compound CC1=NC(C)=CC(NS(=O)(=O)C=2C=CC(N)=CC=2)=N1 YZMCKZRAOLZXAZ-UHFFFAOYSA-N 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
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.
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.
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)
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)
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 |
-
2020
- 2020-09-24 CN CN202011016405.6A patent/CN112165430B/en active Active
Patent Citations (20)
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)
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)
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 |