An information calling method, device and equipment, storage medium and program product

By generating call request data packets under multiple protocols, the problem of limited protocol types in existing technologies is solved, enabling arbitrary inter-call between the server and the client, and expanding the applicable scenarios for information retrieval.

CN116208654BActive Publication Date: 2026-04-21TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2021-12-01
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing RPC frameworks are mainly based on the HTTP protocol, which results in a limited number of supported protocols for information retrieval. This makes it impossible to support situations where the server calls the client or other servers. Furthermore, the underlying transmission does not support other transmission methods besides TCP/IP, which limits the applicable scenarios for information retrieval.

Method used

By generating call request data packets under the target protocol, supporting multiple protocols including custom protocols, and using network transmission services to transmit and decapsulate the data packets, the target request identifier is parsed out to realize information retrieval.

Benefits of technology

The range of protocols supported for information retrieval has been expanded, enabling arbitrary inter-client communication and enhancing the applicable scenarios for information retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116208654B_ABST
    Figure CN116208654B_ABST
Patent Text Reader

Abstract

This application provides an information retrieval method, apparatus, device, storage medium, and program product. Embodiments of this application can be applied to various scenarios such as cloud technology, artificial intelligence, smart transportation, and vehicle-mounted systems, and relate to cloud technology. The method includes: determining target retrieval information by requesting a retrieval request from a requesting client via a requesting service side; generating a retrieval request data packet under a target protocol based on the target retrieval information and the corresponding request object; transmitting the retrieval request data packet to the responding service side; decapsulating the retrieval request data packet on the responding service side to obtain the target retrieval information and the request object, and determining the corresponding target retrieval service based on the target retrieval information; parsing the target request identifier from the target retrieval information through the target retrieval service, and transmitting the target request identifier and the request object to the responding client. This application expands the types of protocols supported by information retrieval.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to cloud technology, and more particularly to an information retrieval method, apparatus, device, storage medium, and program product. Background Technology

[0002] Currently, various mobile applications, such as games and live streaming applications, have been developed based on cloud technology. These applications typically utilize Remote Procedure Calls (RPCs) for implementation; for example, a game client calls a game server to implement game functions. However, because the RPC frameworks in these technologies are based on the HTTP protocol, the number of protocols supported for information retrieval is limited. Summary of the Invention

[0003] This application provides an information retrieval method, apparatus, device, computer-readable storage medium, and program product, which can expand the types of protocols supported by information retrieval.

[0004] The technical solution of this application embodiment is implemented as follows:

[0005] This application provides an information retrieval method, including:

[0006] By requesting the server-side response to the requesting client's call request, the target call information is determined, and based on the target call information and the request object corresponding to the call request, a call request data packet under the target protocol is generated; the target protocol is any one of multiple protocols, including custom protocols;

[0007] The call request data packet is transmitted to the response service side via network transmission service;

[0008] The response service side decapsulates the call request data packet to obtain the target call information and the request object, and determines the corresponding target call service based on the target call information.

[0009] The target request identifier is parsed from the target call information by the target call service, and the target request identifier and the request object are transmitted to the response end so that the response end generates a corresponding response object to realize information retrieval.

[0010] This application provides an information retrieval device, including:

[0011] The data generation module is used to determine the target call information by requesting the call request from the requesting client through the requesting server's response, and to generate a call request data packet under the target protocol based on the target call information and the request object corresponding to the call request; the target protocol is any one of a variety of protocols, including custom protocols;

[0012] The data transmission module is used to transmit the call request data packet to the response service side via network transmission service;

[0013] The data decapsulation module is used to decapsulate the call request data packet through the response service side to obtain the target call information and the request object, and determine the corresponding target call service based on the target call information; and parse the target request identifier from the target call information through the target call service.

[0014] The data transmission module is further configured to transmit the target request identifier and the request object to the response end, so that the response end generates a corresponding response object and realizes information retrieval.

[0015] In some embodiments of this application, the target protocol includes: a preset protocol; the data generation module is further configured to fill the request object into the protocol body of the preset protocol; serialize the target call information to obtain serialized data, and fill the serialized data into the protocol header of the preset protocol; and generate the call request data packet under the preset protocol using the protocol header and the protocol body.

[0016] In some embodiments of this application, the data transmission module is used to identify a communication identifier field from the call request data packet through the network transmission service, and determine the target communication method based on the communication identifier field; and transmit the call request data packet to the response service side according to the target communication method.

[0017] In some embodiments of this application, the requesting end includes a server, the responding end includes a client, the response service side includes the transport layer of the client, and the target call information includes the session identifier of the client; the data generation module is further configured to generate the call request data packet under the target protocol based on the session identifier and the request object; wherein, the session identifier is obtained by the server from the session service;

[0018] The data transmission module is further configured to send the call request data packet to the network access service through the network transmission service; and to forward the call request data packet to the transport layer of the client through the network access service.

[0019] In some embodiments of this application, the data transmission module is further configured to perform protocol mapping on the call request data packet to obtain a mapped data packet; wherein the mapped data packet is a data packet under the transport protocol used by the client; and send the mapped data packet to the transport layer of the client.

[0020] In some embodiments of this application, the requesting end includes a client, the responding end includes a server, and the response service side includes the transport layer of the server; the data transmission module is further configured to perform protocol conversion on the call request data packet through a network access service to obtain a converted data packet; the converted data packet is a data packet under the transport protocol used by the server; and receive the converted data packet sent by the network access service through the network transmission service, and transmit the converted data packet to the transport layer of the server.

[0021] In some embodiments of this application, the data generation module is further configured to determine the target response information through the response service side, and generate a call response data packet under the target protocol based on the target response information and the response object generated by the response end;

[0022] The data transmission module is also used to transmit the call response data packet to the request service side through the network transmission service;

[0023] The data decryption module is also used to parse the call response data packet through the request service side to obtain the target response information and response object;

[0024] The data transmission module is also used to return the response object to the requesting end.

[0025] This application provides an information retrieval device, including:

[0026] Memory, used to store executable instructions;

[0027] The processor, when executing executable instructions stored in the memory, implements the information retrieval method provided in the embodiments of this application.

[0028] This application provides a computer-readable storage medium storing executable instructions for inducing a processor to execute and implement the information retrieval method provided in this application.

[0029] This application provides a computer program product, including a computer program or instructions, which, when executed by a processor, implement the information retrieval method provided in this application.

[0030] The embodiments of this application have the following beneficial effects: the information retrieval device can generate a retrieval request data packet based on any one of the multiple protocols including a custom protocol, and transmit the retrieval request data packet to the response service side. In this way, the information retrieval device can support multiple protocols, and even custom protocols, to realize information retrieval, thus expanding the types of protocols supported by information retrieval. Attached Figure Description

[0031] Figure 1 This is a schematic diagram of the architecture of the information retrieval system provided in the embodiments of this application;

[0032] Figure 2 This application provides an embodiment of the method. Figure 1 A schematic diagram of the server structure in the diagram;

[0033] Figure 3 This is a flowchart illustrating the information retrieval method provided in the embodiments of this application. Figure 1 ;

[0034] Figure 4 This is a flowchart illustrating the information retrieval method provided in the embodiments of this application. Figure 2 ;

[0035] Figure 5 This is a schematic diagram of the protocol header format of the preset protocol provided in the embodiments of this application;

[0036] Figure 6 This is a schematic diagram of a cross-platform RPC framework that does not include a network layer, provided in an embodiment of this application.

[0037] Figure 7 This is a schematic diagram of the request flow provided in an embodiment of this application;

[0038] Figure 8 This is a schematic diagram of the response flow provided in the embodiments of this application;

[0039] Figure 9 This is a schematic diagram illustrating the processing procedure of the encoding / decoding base class provided in the embodiments of this application;

[0040] Figure 10 This is a schematic diagram illustrating the client sending a request to the server according to an embodiment of this application;

[0041] Figure 11 This is a schematic diagram illustrating the server sending a request to the client according to an embodiment of this application;

[0042] Figure 12 This is a schematic diagram of various network communication methods provided in the embodiments of this application. Detailed Implementation

[0043] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0044] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0045] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0046] In the implementation of this application, the collection and processing of relevant data should be strictly in accordance with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0047] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0048] 1) Cloud technology refers to a managed technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to realize the computing, storage, processing, and sharing of data.

[0049] Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own unique identifier in the future, requiring data to be transmitted to backend systems for logical processing. Data of different levels and categories will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0050] 2) Remote Procedure Call (RPC) can be simply understood as the process by which one node requests another node to provide a service.

[0051] 3) The network layer is the third layer in the Open System Interconnection Reference Model (OSI). It provides routing and addressing functions, enabling two terminal systems to interconnect and determine the best path. It also has certain congestion control and flow control capabilities.

[0052] 4) Cross-platform means that software applications do not depend on the operating system or the hardware environment. Applications developed under one operating system can also run under another operating system.

[0053] 5) Data collection refers to adding statistical logic to normal logical functions to collect data, i.e., to see which step the program has reached in execution.

[0054] Currently, various mobile applications, such as games and live streaming applications, have been developed based on cloud technology. These applications typically utilize Remote Procedure Call (RPC) for implementation; for example, a game client calls a game server to implement game functions. Most RPC frameworks in related technologies are designed for the Hypertext Transfer Protocol (HTTP). However, in practical use, besides client-server calls, there are also situations where the server calls the client, or even the server calls other servers. These interactions are not necessarily based on the HTTP protocol, but on other protocols, or even custom protocols. These interactions cannot be achieved using the existing RPC frameworks, resulting in a limited range of supported protocols for information retrieval.

[0055] Furthermore, in game applications, there is a process of the backend calling the frontend. However, the RPC frameworks in related technologies only support client-side calls to the server and do not support arbitrary inter-server calls, thus limiting the applicable scenarios for information retrieval. Moreover, the RPC frameworks in related technologies all use Transmission Control Protocol (TCP) / Internet Protocol (IP) for transmission at the underlying level, meaning that other transmission methods are not supported at the underlying level for information retrieval.

[0056] This application provides an information retrieval method, apparatus, device, computer-readable storage medium, and program product, which can expand the types of protocols supported by information retrieval. The following describes exemplary applications of the information retrieval device provided in this application. The information retrieval device provided in this application can be implemented as various types of user terminals such as laptops, tablets, desktop computers, set-top boxes, and mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable gaming devices), or as a server. The following describes exemplary applications when the information retrieval device is implemented as a server.

[0057] See Figure 1 , Figure 1 This is a schematic diagram of the architecture of the information retrieval system provided in the embodiment of this application. In order to support an information retrieval application, in the information retrieval system 100, the client 400 connects to the server 200 through the network 300, and the server 200 is connected to the server 500. The network 300 can be a wide area network or a local area network, or a combination of the two.

[0058] The client 400 (requesting end) is used to respond to the user's operation on the graphical interface 410, generate a call request, and send the call request to the server 200.

[0059] Server 200, upon receiving a call request from client 400 via a request service, determines the target call information and generates a call request data packet under the target protocol based on the target call information and the corresponding request object. The target protocol can be any one of multiple protocols, including custom protocols. The call request data packet is transmitted to the response service via a network transmission service. The response service decapsulates the call request data packet to obtain the target call information and the request object, and determines the corresponding target call service based on the target call information. The target call service parses the target request identifier from the target call information and transmits the target request identifier and the request object to server 500 (response end) so that server 500 can generate a response object.

[0060] In some embodiments, server 200 may be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Client 400 may be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, smart home appliance, in-vehicle terminal, etc., but is not limited thereto. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment of the invention.

[0061] See Figure 2 , Figure 2 This application provides an embodiment of the method. Figure 1 A schematic diagram of the server structure in the diagram. Figure 2 The server 200 shown includes at least one processor 210, memory 250, at least one network interface 220, and a user interface 230. The various components in server 200 are coupled together via a bus system 240. It is understood that the bus system 240 is used to implement communication between these components. In addition to a data bus, the bus system 240 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 240.

[0062] Processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0063] User interface 230 includes one or more output devices 231 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. User interface 230 also includes one or more input devices 232, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0064] The memory 250 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 250 may optionally include one or more storage devices physically located away from the processor 210.

[0065] The memory 250 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 250 described in this application embodiment is intended to include any suitable type of memory.

[0066] In some embodiments, memory 250 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

[0067] Operating system 251 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;

[0068] The network communication module 252 is used to reach other computing devices via one or more (wired or wireless) network interfaces 220, such as Bluetooth, Wi-Fi, and Universal Serial Bus (USB).

[0069] Presentation module 253 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 231 associated with user interface 230 (e.g., a display screen, a speaker, etc.).

[0070] The input processing module 254 is used to detect and translate one or more user inputs or interactions from one or more input devices 232.

[0071] In some embodiments, the information retrieval device provided in this application can be implemented in software. Figure 2 An information retrieval device 255 stored in memory 250 is shown. This device can be software in the form of programs and plug-ins, and includes the following software modules: a data generation module 2551, a data transmission module 2552, and a data decryption module 2553. These modules are logically linked and can therefore be arbitrarily combined or further separated according to their implemented functions. The functions of each module will be described below.

[0072] In other embodiments, the information retrieval device provided in this application can be implemented in hardware. As an example, the information retrieval device provided in this application can be a processor in the form of a hardware decoding processor, which is programmed to execute the information retrieval method provided in this application. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0073] In some embodiments, the terminal or server can implement the permission granting method provided in this application by running a computer program. For example, the computer program can be a native program or software module in an operating system; it can be a native application (APP), i.e., a program that needs to be installed in the operating system to run, such as an information retrieval APP; it can also be a mini-program, i.e., a program that only needs to be downloaded to a browser environment to run; or it can be a mini-program that can be embedded in any APP. In short, the above-mentioned computer program can be any form of application, module, or plugin.

[0074] The embodiments of this application can be applied to various scenarios such as cloud technology, artificial intelligence, smart transportation, and vehicle-mounted systems. Below, we will describe the information retrieval method provided by the embodiments of this application, using exemplary applications and implementations of the information retrieval device as shown in the embodiments.

[0075] See Figure 3 , Figure 3 This is a flowchart illustrating the information retrieval method provided in the embodiments of this application. Figure 1 , will combine Figure 3 The steps shown are explained.

[0076] S101. By requesting the server-side response to the requesting end's call request, determine the target call information, and generate a call request data packet under the target protocol based on the target call information and the request object corresponding to the call request.

[0077] This application embodiment is implemented in a scenario where the requesting end calls the responding end to implement the service required by the requesting end. For example, a game client calls the game backend to log in, or the game backend calls the game client to update the game data of other game clients. The information invocation device first receives the invocation request sent by the requesting end through the requesting service side, responds to the invocation request, determines the target invocation information of the requesting end, and then packages the target invocation information and the request object corresponding to the invocation request according to the target protocol to obtain the invocation request data packet.

[0078] It should be noted that the target protocol is any one of multiple protocols, including custom protocols. In other words, in this embodiment, the information retrieval device supports multiple protocols, allowing users to choose any one as the communication protocol, not just HTTP. Furthermore, the multiple protocols may include custom protocols, thus also supporting the use of custom protocols to implement the information retrieval process.

[0079] In this embodiment, the information retrieval device encapsulates the protocol class, turning it into an abstract base class. Users can implement this base class when defining the format to achieve a custom protocol.

[0080] It is understood that the target call information is parsed from the call request of the requesting end, or it can be generated by the information call device based on the fields in the call request. This application does not limit this.

[0081] The request object encapsulates all the request data sent by the requesting party. The target invocation information is generated based on the service or function that the requesting party wants to call, and belongs to the context information of the invocation request.

[0082] The request service side is a collective term for all services in the information retrieval device that are responsible for processing the data from the requesting end. The request service side may include client classes generated by RPC (which can be implemented by the user), client template classes based on RPC, RPC client layer, client transport layer, etc.

[0083] In this embodiment of the application, the requesting end can be either a client or a server.

[0084] S102. Transmit the call request data packet to the response service side via network transmission service.

[0085] The information retrieval device sends the generated retrieval request data packet to the network transmission service through the request service side, and then the network transmission service forwards the retrieval request data packet to the response service side for processing.

[0086] It is understandable that the response service side is a collective term for all services in the information retrieval device that are responsible for processing the data on the response end. The response service side may include server-side classes generated through RPC (which can be implemented by the user), server-side template classes based on RPC, RPC server-side layer, server-side transport layer, etc.

[0087] S103. The response service decapsulates the call request data packet to obtain the target call information and the request object, and determines the corresponding target call service based on the target call information.

[0088] The information retrieval device unpacks the retrieval request data packet through the response service side to extract the target retrieval information and the request object, and determines the target retrieval service that the requesting end wants to call based on the target retrieval information.

[0089] Understandably, the information retrieval device can parse the target service, i.e. the context information, from the retrieval request data packet through the response service side. Then, based on the name of the service to be called recorded in the context information, it can determine the target service. Alternatively, it can determine the target service based on the name of the function to be called by the requesting party in the context information, and then based on the service name encompassed by that function name, or by searching for services that have that function.

[0090] S104. Parse the target request identifier from the target call information through the target call service, and transmit the target request identifier and the request object to the response end so that the response end can generate the corresponding response object and realize the information call.

[0091] After identifying the target service, the information transmission device will use the target service to further unpack the target call information to obtain the target request identifier corresponding to the requesting end's call request, thus clarifying the purpose of the request. Then, the target request identifier and the request object will be sent to the response end so that the response end can perform the processing corresponding to the target request identifier on the request object and obtain the response object.

[0092] It should be noted that the target request identifier can be the name of the function that the requesting party wants to call, or it can be the identification information of the requesting party (for example, a specific requesting party will call a specific function).

[0093] In this embodiment of the application, the responding end can be either a client or a server.

[0094] It is understandable that, compared to the process of information retrieval based on the HTTP protocol in related technologies, the information retrieval device in this application embodiment can generate a retrieval request data packet based on any one of the multiple protocols including custom protocols, and transmit the retrieval request data packet to the response service side. In this way, the information retrieval device can support multiple protocols, and even custom protocols, to realize information retrieval, thus expanding the types of protocols supported by information retrieval.

[0095] based on Figure 3 See Figure 4 , Figure 4 This is a flowchart illustrating the information retrieval method provided in the embodiments of this application. Figure 2 In some embodiments of this application, the target protocol includes: a preset protocol, which generates a call request data packet under the target protocol based on the target call information and the request object. The specific implementation process of S101 may include: S1011-S1013, as follows:

[0096] S1011. Fill the request object into the protocol body of the preset protocol.

[0097] The information retrieval device can directly fill the request object into the protocol body of the preset protocol by requesting the service side, or it can package the request object into cached data and then fill the cached data into the protocol body of the preset protocol. The cached data can be in JSON format or in PB format. This application does not limit this.

[0098] S1012. Serialize the target call information to obtain serialized data, and fill the serialized data into the protocol header of the preset protocol.

[0099] The information retrieval device serializes the target retrieval information and fills the obtained serialized data into the request body data field of the protocol header of the preset protocol, thereby obtaining a protocol header filled with data.

[0100] Understandably, in addition to the request body data field, the header of the default protocol also includes a frame header (filled with necessary information of the default protocol, such as the physical address of the responding end and other network information), a magic number (indicating whether this is a request or a response), a stream identifier, reserved fields, etc.

[0101] For example, Figure 5This is a schematic diagram of the protocol header format of the preset protocol provided in this application embodiment. The protocol header of the preset protocol consists of a 16-byte frame header 5-1, a 2-byte magic number 5-2, a 2-byte size of the request or response header 5-3, 2 bytes of binary data of the request or response body 5-4, a 2-byte stream ID 5-5, and 2 bytes of reserved fields 5-6. Among them, the binary data 5-4 of the request or response body is composed of a fixed header 5-41, a request or response header 5-42, and serialization data 5-43.

[0102] In some embodiments, the preset protocol may be a custom protocol or a default protocol in the information retrieval device, such as a protocol specifically set for RPC, etc., which are not limited herein.

[0103] S1013. Using the protocol header and protocol body, generate a call request data packet under the preset protocol.

[0104] After obtaining the protocol header and protocol body, the information retrieval device can directly package the protocol header and protocol body to obtain a retrieval data packet under the preset protocol.

[0105] In this embodiment of the application, when the target protocol includes a preset protocol, the information calling device can fill the request object into the protocol body and fill the serialized data of the target calling information into the protocol header to obtain the calling data packet under the preset protocol, so as to facilitate the subsequent transmission of the calling data packet.

[0106] In some embodiments of this application, the call request data packet is transmitted to the response service side via a network transmission service. Specifically, the implementation process of S102 may include S1021-S1022, as follows:

[0107] S1021. Through network transmission service, identify the communication identifier field from the call request data packet, and determine the target communication method based on the communication identifier field.

[0108] After the information retrieval device sends the retrieval request data packet from the requesting service side to the network transmission service, the network transmission service will identify the communication identification field in the retrieval request data packet and then determine how the retrieval request data packet needs to be transmitted to the response service side based on the identified communication identification field.

[0109] Understandably, when generating a call request data packet, the requesting service can inform the network transmission service which communication method it needs to use by writing a communication identifier field into the call request data packet, so that the network transmission service can select a route when transmitting the call request data packet.

[0110] In other words, in this embodiment of the application, the network transmission service does not rely on a specific network layer to transmit the call request data packet, thereby realizing the pluggability of the network layer and implementing multiple communication methods for the call request data packet.

[0111] S1022. Transmit the call request data packet to the response service side according to the target communication method.

[0112] After the information retrieval device determines the target communication method through the network transmission service, it will send the retrieval request data packet to the response service side according to the target communication method.

[0113] It is understood that the target communication method can be the communication method preset by the information calling device, or it can be TCP / IP communication, or it can be G6Connector, LuaNet, etc. This application does not limit it.

[0114] In this embodiment, the information retrieval device can also identify the communication identification field through the network transmission service, then determine the target communication method for the retrieval request data packet based on the communication identification field, and transmit the retrieval request data packet to the response service side using the target communication method. Thus, the transmission of the retrieval request data packet does not depend on a specific network layer, achieving pluggable network layer and transmission routing, thereby enabling data transmission through multiple communication methods.

[0115] In some embodiments of this application, the requesting end includes a server, the responding end includes a client, the responding service side includes the client's transport layer, and the target call information includes the client's session identifier. In this case, based on the target call information and the request object, a call request data packet under the target protocol is generated. The specific implementation process of S101 may include: S1014, as follows:

[0116] S1014. Generate a call request data packet under the target protocol based on the session identifier and the request object.

[0117] It is understood that a session identifier is assigned by the server to the client when the client first logs in, and it is an identifier that can represent the client's identity. In this embodiment of the application, the server will query the session identifier of the client to be called from the session service that stores different sessions. That is, the session identifier is obtained by the server from the session service. Then, the session identifier and the request object are packaged according to the target protocol to obtain a call request data packet, so that the server can call the client through the call request data packet.

[0118] At this point, the call request data packet is transmitted to the response service side via network transmission service. Specifically, the implementation process of S102 can include S201-S202, as follows:

[0119] S201. Send the call request data packet to the network access service through the network transmission service.

[0120] It should be noted that the network access service is a unified network access provided to the server to realize various functional features. For example, when the server is a game backend service, it will realize game login, reconnection, logout, encryption / decryption, decompression, heartbeat and other functional features through the network access terminal.

[0121] The session service provides global connection session management capabilities, and all communication sessions between the client and the server are stored in the session service.

[0122] S202. The transport layer forwards the call request data packet to the client through the network access service.

[0123] The information retrieval device accesses the service via the network and forwards the retrieval request data packet to the transport layer of the client in the response service. The client's transport layer then performs operations such as unpacking the retrieval request data packet and transmits the final request object to the client, thus realizing the retrieval of the client.

[0124] In this embodiment, the information retrieval device can use a session identifier to enable the server to call the client, thereby enabling arbitrary mutual calls between the client and the server, thus expanding the applicable scenarios for information retrieval.

[0125] In some embodiments of this application, the specific implementation process of forwarding the call request data packet to the transport layer of the client, i.e., S202, may include: S2021-S2022, as follows:

[0126] S2021. Perform protocol mapping on the call request data packet to obtain the mapped data packet.

[0127] The mapped data packet is the data packet under the transport protocol used by the client.

[0128] S2022, Send the mapped data packet to the transport layer of the client.

[0129] In this embodiment, the client uses a limited number of transport protocols during communication, and can only communicate through one or more specific transport protocols, while the server uses a variety of transport protocols. In order to successfully send the call request data packet to the client's transport layer, the information retrieval device performs protocol mapping on the call request data packet through a network access service, converting the call request data packet into a data packet under the transport protocol used by the client, i.e., obtaining a mapped data packet, and then sends the mapped data packet to the client's transport layer.

[0130] For example, when the client can only communicate via the TCP / IP protocol, the information retrieval device converts the retrieval request data packet into a mapped data packet under the TCP / IP protocol through the network access service, and then sends it to the client's transport layer.

[0131] In this embodiment of the application, the information retrieval device can perform protocol mapping on the retrieval request data packet through the network access service to obtain a mapped data packet that can be transmitted to the client, thereby ensuring that the retrieval request data packet can be successfully sent to the client's transport layer.

[0132] In some embodiments of this application, the requesting end includes a client, the responding end includes a server, and the response service side includes the server's transport layer. In this case, the call request data packet is transmitted to the response service side through a network transmission service. That is, the specific implementation process of S102 may include S203-S204, as follows:

[0133] S203. Through network access service, the call request data packet is converted into a protocol to obtain a converted data packet.

[0134] This involves converting data packets to the data packets used by the server according to the transmission protocol.

[0135] S204. Receive the conversion data packet sent by the network access service through the network transmission service, and transmit the conversion data packet to the transport layer of the server.

[0136] In this embodiment of the application, when the requesting end includes a client and the responding end includes a server, when the information calling device sends the call request data packet to the transport layer of the server through the network transmission service, it also needs to use the network access service to convert the call request data packet to the transport protocol used by the server to obtain the converted data packet, and then continue to send the converted data packet to the transport layer of the server through the network transmission service.

[0137] In this embodiment of the application, the information retrieval device can first receive the retrieval request data packet through the network access service, and then map the retrieval request data packet so that the transport layer of the server can obtain the converted data packet corresponding to the transport protocol it uses.

[0138] In some embodiments of this application, after transmitting the target request identifier and the request object to the response end, i.e. after S104, the method may further include: S105-S107, as follows:

[0139] S105. Through the response service side, determine the target response information, and based on the target response information and the response object generated by the response end, generate a call response data packet under the target protocol.

[0140] The information retrieval device first generates target response information for the retrieval request data packet through the response service side, and combines the target response information with the response object generated by the response end for the request object to generate a retrieval response data packet under the target protocol.

[0141] S106. Transmit the call response data packet to the requesting service side via network transmission service.

[0142] The information retrieval device transmits the service over the network and returns the call response data packet to the requesting service side via the same route.

[0143] S107. The requesting service parses the call response data packet to obtain the target response information and response object, and returns the response object to the requesting end.

[0144] Finally, the information retrieval device unpacks the call response data packet through the request service side to obtain the request identifier, then restores the activation context based on the request identifier, parses the target response information from the response data packet according to the reply request context, parses the response object according to the template, and returns the response object to the requesting end.

[0145] Understandably, the response object contains various data generated by the responding end in response to the request object.

[0146] In this embodiment of the application, the information retrieval device can also return the response object generated by the response end to the requesting end, so that the requesting end can obtain the response object.

[0147] In some embodiments of this application, before communication between the requesting end and the server is realized through the information retrieval device, it is necessary to first define the number of exchanges between the requesting end and the server, that is, to define the serialized data format. Simultaneously, it is also necessary to define the service instance format, define the data access class, and so on.

[0148] The following will describe an exemplary application of the embodiments of this application in a real-world application scenario.

[0149] The embodiments of this application are based on the process of information retrieval in a cross-platform RPC framework that does not include a network layer. The server can be used in a microservice framework or a game framework, and the client can be used in a game front-end framework.

[0150] First, the calling procedure needs to be defined:

[0151] 1. How the client and server communicate is defined in the .proto file. The `message` parameter defines the data format for communication, i.e., the data format to be serialized, with the extension .proto. The protocol buffer is formatted as messages, each message being a small piece of logical information. The code is as follows:

[0152]

[0153] 2. Define the service instance format `server.service`, for example, `helloworld.Greeter`, and define data access classes. These classes provide simple accessors for each field, so `Greeter` is the class that provides data access. Users inherit from this class and implement the called function `SayHello`. The code is as follows:

[0154]

[0155] 3. The client sends an RPC request, creates a ClientContext, fills in the necessary Context information, then fills in the custom protocol, and finally calls the send interface to complete the sending.

[0156] 4. In the constructor of the data access class Greeter, which is the RCPService stub (the server class generated by RPC, which the user implements, and the called function), the called function SayHello is added to RPCService. This way, when the client's request is transmitted to the server's transport layer, the called function can be found. All the functions that want to be called will be loaded into RPCService.

[0157] Figure 6 This is a schematic diagram of a cross-platform RPC framework without a network layer provided in an embodiment of this application. See also... Figure 6 The cross-platform RPC framework 6-1, which does not include the network layer, includes the following components: RPC interface 6-11, RPCClient stub (a Client class generated by RPC, which users implement, i.e., write their own implementation) 6-12, User Filter 6-13 (a user-defined filter that allows users to report and print data anywhere), RCPService stub 6-14, Lightweight RPC (RPC Lite) 6-15, Lua Library (Lua Lib) 6-16, RPCCllient 6-17, Filter 6-18, RPCService 6-19, Protocol 6-110, Client Transport 6-111, Server Transport 6-112, Net Transport 6-113, and NetAdaptor 6-114.

[0158] Figure 7This is a schematic diagram of the request flow provided in an embodiment of this application. (In conjunction with...) Figure 7 The request process is explained below:

[0159] In S71-S73, the RPCClient stub calls the template method from RPCClientImpl, fills in the necessary context information (target call information), such as the target service name, packs the client's request object into a buffer and fills it into the protocol body, and then calls RPCClient.

[0160] The S74 and RPCClient layers serialize the context information into the protocol header. During this process, filters are invoked based on the filter's embedded points, such as before or after sending a request.

[0161] The S75 RPCClient layer calls the client transport layer's synchronous or asynchronous interface to send requests.

[0162] S76. After the client transport layer assigns an ID to the request, it calls the protocol to package and generate a data packet (call request data packet), and sends it through the network transport layer.

[0163] S77. The network transport layer selects a route based on the route selector and sends data packets. After receiving the request, the server side (response server side) delivers the data packets to the server transport layer.

[0164] S78. After unpacking the data at the server transport layer, the name of the function called by the client is obtained. The corresponding RPCService (target call service) is selected and called based on the RPCService name in the function name.

[0165] S79-S711, RCPService unpacks the context information in the protocol and calls the corresponding stub function in RCPService according to the function name. During this process, the filter is called according to the filter's embedding point. The generated stub code includes the protocol body in the protocol unpacked into a request object.

[0166] S712. If no processing method is found in RPCServiceImpl, the process is redirected to the base class. Ultimately, the request object will be transmitted to the server via the RPCService stub.

[0167] Figure 8 This is a schematic diagram of the response flow provided in an embodiment of this application. Combined with... Figure 8 The response process is explained below:

[0168] S81-S84, the RPCService stub packages the response object into the protocol body and the context (target response information) into the protocol header based on the template parameters of RPCServiceImpl.

[0169] S85. Call the packet sending interface of the server transport layer in the RPCService layer.

[0170] S86. After the server transport layer packages and generates data packets according to the protocol, it sends them through the network transport layer.

[0171] S87. The network transport layer returns the data packet along the original path based on the request source information. After receiving the data packet (call response data packet), the client side (requesting service side) delivers the data packet to the client transport layer.

[0172] S88-S810: After unpacking the client transport layer, the request ID is obtained. Based on the request ID, the context information of the request is found and the context is activated (protocol Resume, asynchronous Promise setting result).

[0173] S811-S812, RPCClient extracts context information from the data packet based on the requested response text, extracts the response object from the protocol body based on the template method, and returns it from the interface.

[0174] The features of the cross-platform RPC framework without a network layer provided in the embodiments of this application will be described below.

[0175] 1. Supports multiple protocols:

[0176] Most RPC frameworks in related technologies use the HTTP protocol. The HTTP protocol has many specifications, and there are redundant protocol headers when the server calls the server. Therefore, to address this issue, a plug-in approach is adopted to encapsulate the protocol class, that is, to transform the protocol class into an abstract base class. Users can design custom protocols by implementing the base class themselves.

[0177] Custom protocols can contain only required fields, such as the calling service name, the called service name, and the service interface to be called. Custom protocols can be implemented during the definition format.

[0178] The encoding and decoding methods are completely different for different protocols. Similar to the idea of ​​custom protocols, this application embodiment abstracts an encoding and decoding base class. The encoding and decoding of different protocols can be implemented through this base class.

[0179] For example, Figure 9This is a schematic diagram of the processing procedure of the encoding / decoding base class provided in the embodiments of this application. The encoding / decoding base class resolves protocol 9-1 to find the called function 9-2 for the server, then the server executes the logic of the called function 9-3 to obtain the return object 9-4, and then generates the return object based on the encoding protocol 9-5.

[0180] During this process, serialization packages the request object into a buffer and fills it into the protocol body, typically in PB or JSON format. Encoding and decoding then encode the context and place it in the protocol header. The PRC request header includes the `mseeage_type` field to set the serialization type.

[0181] 2. Two-way interconnection:

[0182] In this embodiment, a Session Server and a Gate Server (network access service) are introduced to achieve bidirectional communication. The Session Server provides global session management functions, including storing all client-server communication sessions on the Session Server. The Gate Server provides unified network access for the server, and the Gate includes features such as game login, reconnection, logout, business uplink and downlink packets, encryption / decryption, decompression, and heartbeat.

[0183] Both sending messages from the client to the server and sending messages from the server to the client require the access service. This is because clients can only communicate with servers via the TCP protocol, while servers can use custom protocols for communication. The access service can convert these protocols to provide a unified network access for the server.

[0184] Furthermore, in this embodiment of the application, bidirectional communication is achieved by querying the session ID (session identifier) ​​from the session service.

[0185] For example, Figure 10This is a schematic diagram illustrating how a client sends a request to a server according to an embodiment of this application. First, when client 10-1 sends an RPC request, it is first sent to access service 10-2. This RPC request is implemented using the TCP / IP protocol at its underlying level. Access service 10-2 identifies the service from the transmitted data packets and then forwards the request to the responding server 10-3. This RPC request is implemented using another protocol (transmitting the converted data packets to the server's transport layer). Server 10-3 queries session service 10-4 for the session ID. Session service 10-4 returns the query result to server 10-3. If the session ID does not exist, and client 10-1 is performing a login operation, server 10-4 will generate a new session ID and store it in the session service. In response to client 10-1's first login operation, server 10-4 will also send the session ID to client 10-1. Thus, the next time client 10-1 sends a request, it will carry the session ID.

[0186] For example, Figure 11 This is a schematic diagram illustrating the server sending a request to the client according to an embodiment of this application. First, when server 11-1 sends an RPC request, it queries session ID from session service 11-2. This session ID is passed to the client, and session service 11-2 returns the query result. If server 11-1 finds the session result from session service 11-2, it sends an RPC request (essentially a request data packet) to access service 11-3. This RPC request is implemented using other protocols. Since client 11-4 can only communicate via the TCP / IP protocol, while server 11-1 can communicate via multiple protocols, access service 11-3 performs a mapping process, mapping the RPC request from other protocols to a TCP / IP RPC request (mapping data packet), and then sends the RPC request to client 11-4, i.e., it is sent to client 11-4 via TCP / IP.

[0187] 3. Supports multiple network communication methods:

[0188] The cross-platform RPC framework in this application, which does not include a network layer, does not rely on a specific network layer implementation. Instead, it extracts asynchronous send / receive interfaces from the network layer, such as the base class network transport layer (NetTransport). NetTransport provides sending capabilities by connecting to the network layer. Users only need to implement the `sendMessage` function in the NetTransport base class and then call their own network communication interface to send data. In other words, the transport layer of this application's RPC framework is divided into a client transport layer and a server transport layer, but ultimately, data transmission is achieved by calling the `sendMessage` function in the NetTransport base class. Simultaneously, the data packets transmitted over the network contain a `flag` field (communication identifier field) to determine the routing method. When routing is supported, the user can fill in the `flag` field to specify the path, and NetTransport parses the `flag` field to select the appropriate method (target communication method) for transmission.

[0189] For example, Figure 12 This is a schematic diagram of various network communication methods provided in the embodiments of this application. Both the client transport layer 12-1 and the server transport layer 12-2 need to send data through the network transport layer 12-3. The network transport layer 12-3 can determine the appropriate method for data transmission from the default method 12-41, the G6 connection for the front end 12-42, the TCP transport 12-43, and the LuaNet 12-44 based on the parsed flag field.

[0190] Through the above implementation, the embodiments of this application can support multiple protocols, especially custom protocols to implement information retrieval, which increases the number of supported protocol types. Furthermore, the server can call the client at any time, such as when the rules change, to notify other players, thus expanding the scenarios for information retrieval. At the same time, the network communication method is pluggable to support other transmission forms and can be used in different game client engines, servers, and script frameworks.

[0191] The following description continues to illustrate the exemplary structure of the information retrieval device 255 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 2 As shown, the software module stored in the information retrieval device 255 of the memory 250 may include:

[0192] The data generation module 2551 is used to determine the target call information by requesting the call request from the requesting client through the requesting server's response, and to generate a call request data packet under the target protocol based on the target call information and the request object corresponding to the call request; the target protocol is any one of a variety of protocols, including a custom protocol;

[0193] The data transmission module 2552 is used to transmit the call request data packet to the response service side via network transmission service;

[0194] The data decapsulation module 2553 is used to decapsulate the call request data packet through the response service side to obtain the target call information and the request object, and to determine the corresponding target call service based on the target call information; and to parse the target request identifier from the target call information through the target call service.

[0195] The data transmission module 2552 is further configured to transmit the target request identifier and the request object to the response end, so that the response end generates a corresponding response object and realizes information retrieval.

[0196] In some embodiments of this application, the target protocol includes: a preset protocol; the data generation module 2551 is further configured to fill the request object into the protocol body of the preset protocol; serialize the target call information to obtain serialized data, and fill the serialized data into the protocol header of the preset protocol; and generate the call request data packet under the preset protocol using the protocol header and the protocol body.

[0197] In some embodiments of this application, the data transmission module 2552 is used to identify a communication identifier field from the call request data packet through the network transmission service, and determine the target communication method based on the communication identifier field; and transmit the call request data packet to the response service side according to the target communication method.

[0198] In some embodiments of this application, the requesting end includes a server, the responding end includes a client, the response service side includes the transport layer of the client, and the target call information includes the session identifier of the client; the data generation module 2551 is further configured to generate the call request data packet under the target protocol based on the session identifier and the request object; wherein, the session identifier is obtained by the server from the session service;

[0199] The data transmission module 2552 is further configured to send the call request data packet to the network access service through the network transmission service; and forward the call request data packet to the transport layer of the client through the network access service.

[0200] In some embodiments of this application, the data transmission module 2552 is further configured to perform protocol mapping on the call request data packet to obtain a mapped data packet; wherein the mapped data packet is a data packet under the transport protocol used by the client; and send the mapped data packet to the transport layer of the client.

[0201] In some embodiments of this application, the requesting end includes a client, the responding end includes a server, and the response service side includes the transport layer of the server; the data transmission module 2552 is further configured to perform protocol conversion on the call request data packet through a network access service to obtain a converted data packet; the converted data packet is a data packet under the transport protocol used by the server; and receive the converted data packet sent by the network access service through the network transmission service, and transmit the converted data packet to the transport layer of the server.

[0202] In some embodiments of this application, the data generation module 2551 is further configured to determine the target response information through the response service side, and generate a call response data packet under the target protocol based on the target response information and the response object generated by the response end;

[0203] The data transmission module 2552 is also used to transmit the call response data packet to the request service side through the network transmission service;

[0204] The data decapsulation module 2553 is also used to parse the call response data packet through the request service side to obtain the target response information and response object;

[0205] The data transmission module 2552 is also used to return the response object to the requesting end.

[0206] This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the information retrieval method described in this application.

[0207] This application provides a computer-readable storage medium storing executable instructions. When these executable instructions are executed by a processor, they cause the processor to execute the information retrieval method provided in this application, for example... Figure 3 The information call method is shown.

[0208] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0209] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0210] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).

[0211] As an example, executable instructions can be deployed to execute on a single computing device (the aforementioned information retrieval device), or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.

[0212] In summary, through the embodiments of this application, a call request data packet can be generated based on any one of a variety of protocols, including custom protocols, and then transmitted to the response service side. In this way, the information retrieval device can support multiple protocols, and even custom protocols, to realize information retrieval, thereby increasing the variety of protocols supported by information retrieval. It can realize the server's call to the client by means of session identifier, thereby enabling arbitrary inter-call between the client and the server, expanding the applicable scenarios of information retrieval. The transmission of the call request data packet does not depend on a specific network layer, realizing pluggable network layer and transmission routing.

[0213] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. An information retrieval method, characterized in that, The information retrieval method includes: By requesting the server to respond to the requesting client's call request, the target call information is determined. The requesting client can be either the server or the client. The target call information includes the session identifier of the responding client, which can be either the server or the client. The session identifier is obtained by the requesting server through a session service query. The session service is used to store the session information between the requesting client and the responding client and to provide the session identifier. The session identifier is used to enable bidirectional calls between the requesting client and the responding client. Based on the target call information and the request object corresponding to the call request, a call request data packet under the target protocol is generated; the target protocol is any one of multiple protocols, including custom protocols; wherein, when the requesting end is the server and the responding end is the client, generating the call request data packet under the target protocol based on the target call information and the request object corresponding to the call request includes: generating the call request data packet under the target protocol based on the session identifier and the request object, and realizing the server's call to the client through the call request data packet; The call request data packet is transmitted to the response service side via network transmission service; The response service side decapsulates the call request data packet to obtain the target call information and the request object, and determines the corresponding target call service based on the target call information. The target request identifier is parsed from the target call information by the target call service, and the target request identifier and the request object are transmitted to the response end so that the response end generates a corresponding response object to realize information retrieval.

2. The method according to claim 1, characterized in that, The target protocol includes: a preset protocol; the step of generating a call request data packet under the target protocol based on the target call information and the request object corresponding to the call request includes: The request object is populated into the protocol body of the preset protocol; The target call information is serialized to obtain serialized data, and the serialized data is filled into the protocol header of the preset protocol; The call request data packet under the preset protocol is generated using the protocol header and the protocol body.

3. The method according to claim 1, characterized in that, The step of transmitting the call request data packet to the response service via network transmission service includes: Through the network transmission service, the communication identification field is identified from the call request data packet, and the target communication method is determined based on the communication identification field; According to the target communication method, the call request data packet is transmitted to the response service side.

4. The method according to claim 1, characterized in that, The requesting end includes a server, the responding end includes a client, the responding service side includes the transport layer of the client, and the target call information includes the session identifier of the client. The step of transmitting the call request data packet to the response service via network transmission service includes: The call request data packet is sent to the network access service through the network transmission service; The network access service forwards the call request data packet to the transport layer of the client.

5. The method according to claim 4, characterized in that, The transport layer that forwards the call request data packet to the client includes: The call request data packet is protocol mapped to obtain a mapped data packet; wherein, the mapped data packet is a data packet under the transport protocol used by the client; The mapped data packet is sent to the transport layer of the client.

6. The method according to claim 1, characterized in that, The requesting end includes a client, the response end includes a server, and the response service side includes the server's transport layer. The step of transmitting the call request data packet to the response service via network transmission service includes: The call request data packet is converted using a network access service to obtain a converted data packet; the converted data packet is a data packet under the transport protocol used by the server. The network transmission service receives the converted data packets sent by the network access service and transmits the converted data packets to the transport layer of the server.

7. The method according to claim 1, characterized in that, After transmitting the target request identifier and the request object to the response end, the method further includes: By responding to the service side, the target response information is determined, and based on the target response information and the response object generated by the response end, a call response data packet under the target protocol is generated; The call response data packet is transmitted to the requesting service side via the network transmission service. The request service parses the call response data packet to obtain the target response information and response object, and then returns the response object to the requesting end.

8. An information retrieval device, characterized in that, The information retrieval device includes: The data generation module is used to determine the target call information by requesting the call request from the requesting client and the server side. The requesting client is either the server or the client. The target call information includes the session identifier of the responding client, which is either the server or the client. The session identifier is obtained by the requesting server through a session service query. The session service stores the session information between the requesting client and the responding client and provides the session identifier. The session identifier is used to enable bidirectional calls between the requesting client and the responding client. Based on the target invocation information and the request object corresponding to the invocation request, a invocation request data packet under the target protocol is generated; the target protocol is any one of a variety of protocols, including custom protocols. When the requesting end is the server and the responding end is the client, generating a call request data packet under the target protocol based on the target call information and the request object corresponding to the call request includes: generating a call request data packet under the target protocol based on the session identifier and the request object, and realizing the server's call to the client through the call request data packet; The data transmission module is used to transmit the call request data packet to the response service side via network transmission service; The data decapsulation module is used to decapsulate the call request data packet through the response service side to obtain the target call information and the request object, and determine the corresponding target call service based on the target call information; and parse the target request identifier from the target call information through the target call service. The data transmission module is further configured to transmit the target request identifier and the request object to the response end, so that the response end generates a corresponding response object and realizes information retrieval.

9. The apparatus as claimed in claim 8, characterized in that, The target protocol includes: a preset protocol; the data generation module is further used for: The request object is populated into the protocol body of the preset protocol; The target call information is serialized to obtain serialized data, and the serialized data is filled into the protocol header of the preset protocol; The call request data packet under the preset protocol is generated using the protocol header and the protocol body.

10. An information retrieval device, characterized in that, The information retrieval device includes: Memory, used to store executable instructions; A processor, when executing executable instructions stored in the memory, implements the information retrieval method according to any one of claims 1 to 7.

11. A computer-readable storage medium storing executable instructions, characterized in that, When the executable instructions are executed by the processor, they implement the information retrieval method according to any one of claims 1 to 7.

12. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the processor, they implement the information retrieval method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Message processing method and device, remote radio unit and medium

    CN112688952A

  • Distributed service gateway implementation method and device, computer equipment and storage medium

    CN113709166A